From dea17a55d0d1cbfe47b38c42239d6ebc3fa6ef3b Mon Sep 17 00:00:00 2001 From: ovo-tim Date: Fri, 28 Jul 2023 14:03:08 +0800 Subject: [PATCH] first --- .gitattributes | 15 + .gitignore | 159 + .travis.yml | 14 + .vscode/settings.json | 16 + CMakeLists.txt | 28 + LICENSES/BSD-3-Clause.txt | 9 + LICENSES/GFDL-1.3-no-invariants-only.txt | 451 + LICENSES/GPL-2.0-only.txt | 339 + LICENSES/GPL-3.0-only.txt | 674 + LICENSES/LGPL-3.0-only.txt | 165 + LICENSES/LicenseRef-Qt-Commercial.txt | 8 + LICENSES/Qt-GPL-exception-1.0.txt | 22 + README.md | 228 + README.pyside6.md | 94 + README.pyside6_addons.md | 65 + README.pyside6_essentials.md | 56 + README.shiboken6-generator.md | 36 + README.shiboken6.md | 13 + build_history/blacklist.txt | 72 + build_scripts/__init__.py | 39 + build_scripts/build_info_collector.py | 311 + build_scripts/build_scripts.pyproject | 11 + build_scripts/config.py | 399 + build_scripts/log.py | 15 + build_scripts/main.py | 1314 + build_scripts/options.py | 594 + build_scripts/platforms/__init__.py | 2 + build_scripts/platforms/linux.py | 143 + build_scripts/platforms/macos.py | 188 + build_scripts/platforms/unix.py | 246 + build_scripts/platforms/windows_desktop.py | 448 + build_scripts/qp5_tool.py | 416 + build_scripts/qtinfo.py | 261 + build_scripts/setup_runner.py | 280 + build_scripts/utils.py | 1171 + build_scripts/wheel_files.py | 977 + build_scripts/wheel_override.py | 263 + build_scripts/wheel_utils.py | 124 + coin/dependencies.yaml | 39 + coin/instructions/common_environment.yaml | 251 + .../execute_build_instructions.yaml | 115 + coin/instructions/execute_license_check.yaml | 31 + .../execute_test_instructions.yaml | 66 + .../find_path_to_msvc_compiler.yaml | 28 + coin/instructions/relocate_pyside.yaml | 57 + coin/module_config.yaml | 100 + coin_build_instructions.py | 167 + coin_test_instructions.py | 115 + create_wheels.py | 407 + doc/changelogs/changes-1.2.3 | 405 + doc/changelogs/changes-5.12.1 | 45 + doc/changelogs/changes-5.12.2 | 49 + doc/changelogs/changes-5.12.3 | 35 + doc/changelogs/changes-5.12.4 | 43 + doc/changelogs/changes-5.12.5 | 40 + doc/changelogs/changes-5.12.6 | 29 + doc/changelogs/changes-5.13.0 | 33 + doc/changelogs/changes-5.13.1 | 47 + doc/changelogs/changes-5.13.2 | 37 + doc/changelogs/changes-5.14.0 | 69 + doc/changelogs/changes-5.14.1 | 35 + doc/changelogs/changes-5.14.2 | 66 + doc/changelogs/changes-5.14.2.2 | 38 + doc/changelogs/changes-5.14.2.3 | 35 + doc/changelogs/changes-5.15.0 | 49 + doc/changelogs/changes-5.15.1 | 67 + doc/changelogs/changes-5.15.2 | 70 + doc/changelogs/changes-5.15.3 | 46 + doc/changelogs/changes-6.0.0 | 17 + doc/changelogs/changes-6.0.1 | 48 + doc/changelogs/changes-6.0.2 | 30 + doc/changelogs/changes-6.0.3 | 31 + doc/changelogs/changes-6.0.4 | 31 + doc/changelogs/changes-6.1.0 | 50 + doc/changelogs/changes-6.1.1 | 36 + doc/changelogs/changes-6.1.2 | 37 + doc/changelogs/changes-6.1.3 | 49 + doc/changelogs/changes-6.2.0 | 222 + doc/changelogs/changes-6.2.1 | 45 + doc/changelogs/changes-6.2.2 | 76 + doc/changelogs/changes-6.2.3 | 56 + doc/changelogs/changes-6.2.4 | 42 + doc/changelogs/changes-6.3.0 | 214 + doc/changelogs/changes-6.3.1 | 67 + doc/changelogs/changes-6.3.2 | 72 + doc/changelogs/changes-6.4.0 | 187 + doc/changelogs/changes-6.4.0.1 | 35 + doc/changelogs/changes-6.4.1 | 78 + doc/changelogs/changes-6.4.2 | 47 + doc/changelogs/changes-6.4.3 | 53 + doc/changelogs/changes-6.5.0 | 111 + doc/changelogs/changes-6.5.1 | 63 + doc/changelogs/changes-6.5.2 | 48 + examples/3d/simple3d/doc/simple3d.png | Bin 0 -> 5750 bytes examples/3d/simple3d/doc/simple3d.rst | 8 + examples/3d/simple3d/simple3d.py | 127 + examples/3d/simple3d/simple3d.pyproject | 3 + .../async/eratosthenes/doc/eratosthenes.rst | 53 + .../async/eratosthenes/doc/eratosthenes.svg | 1 + .../async/eratosthenes/eratosthenes.pyproject | 3 + .../eratosthenes/eratosthenes_asyncio.py | 220 + .../async/eratosthenes/eratosthenes_trio.py | 197 + .../async/eratosthenes/requirements_trio.txt | 2 + examples/async/minimal/doc/minimal.png | Bin 0 -> 8135 bytes examples/async/minimal/doc/minimal.rst | 52 + examples/async/minimal/minimal.pyproject | 3 + examples/async/minimal/minimal_asyncio.py | 123 + examples/async/minimal/minimal_trio.py | 107 + examples/async/minimal/requirements_trio.txt | 1 + examples/axcontainer/axviewer/axviewer.py | 47 + .../axcontainer/axviewer/axviewer.pyproject | 3 + .../axcontainer/axviewer/doc/axviewer.png | Bin 0 -> 16158 bytes .../axcontainer/axviewer/doc/axviewer.rst | 9 + .../bluetooth/btscanner/btscanner.pyproject | 3 + examples/bluetooth/btscanner/device.py | 129 + examples/bluetooth/btscanner/device.ui | 111 + .../bluetooth/btscanner/doc/btscanner.rst | 4 + examples/bluetooth/btscanner/main.py | 17 + examples/bluetooth/btscanner/service.py | 48 + examples/bluetooth/btscanner/service.ui | 71 + examples/bluetooth/btscanner/ui_device.py | 90 + examples/bluetooth/btscanner/ui_service.py | 57 + .../heartrate_game/HeartRateGame/App.qml | 99 + .../HeartRateGame/BluetoothAlarmDialog.qml | 79 + .../HeartRateGame/BottomLine.qml | 12 + .../heartrate_game/HeartRateGame/Connect.qml | 159 + .../HeartRateGame/GameButton.qml | 39 + .../heartrate_game/HeartRateGame/GamePage.qml | 36 + .../HeartRateGame/GameSettings.qml | 51 + .../heartrate_game/HeartRateGame/Main.qml | 71 + .../heartrate_game/HeartRateGame/Measure.qml | 212 + .../HeartRateGame/SplashScreen.qml | 30 + .../heartrate_game/HeartRateGame/Stats.qml | 55 + .../HeartRateGame/StatsLabel.qml | 34 + .../heartrate_game/HeartRateGame/TitleBar.qml | 54 + .../HeartRateGame/images/bt_off_to_on.png | Bin 0 -> 6143 bytes .../HeartRateGame/images/heart.png | Bin 0 -> 2664 bytes .../HeartRateGame/images/logo.png | Bin 0 -> 31915 bytes .../heartrate_game/HeartRateGame/qmldir | 14 + .../heartrate_game/bluetoothbaseclass.py | 40 + .../heartrate_game/connectionhandler.py | 55 + .../bluetooth/heartrate_game/devicefinder.py | 122 + .../bluetooth/heartrate_game/devicehandler.py | 306 + .../bluetooth/heartrate_game/deviceinfo.py | 38 + .../heartrate_game/doc/heartrate_game.rst | 9 + .../heartrate_game/heartrate_game.pyproject | 23 + .../heartrate_game/heartrate_global.py | 17 + examples/bluetooth/heartrate_game/main.py | 53 + .../heartrate_server/doc/heartrate_server.rst | 8 + .../heartrate_server/heartrate_server.py | 94 + .../heartrate_server.pyproject | 3 + .../Scanner/Characteristics.qml | 121 + .../lowenergyscanner/Scanner/Devices.qml | 121 + .../lowenergyscanner/Scanner/Dialog.qml | 48 + .../lowenergyscanner/Scanner/Header.qml | 25 + .../lowenergyscanner/Scanner/Label.qml | 16 + .../lowenergyscanner/Scanner/Main.qml | 31 + .../lowenergyscanner/Scanner/Menu.qml | 55 + .../lowenergyscanner/Scanner/Services.qml | 115 + .../Scanner/assets/busy_dark.png | Bin 0 -> 1130 bytes .../bluetooth/lowenergyscanner/Scanner/qmldir | 10 + .../lowenergyscanner/characteristicinfo.py | 88 + examples/bluetooth/lowenergyscanner/device.py | 279 + .../bluetooth/lowenergyscanner/deviceinfo.py | 35 + .../lowenergyscanner/doc/lowenergyscanner.png | Bin 0 -> 72365 bytes .../lowenergyscanner/doc/lowenergyscanner.rst | 9 + .../lowenergyscanner.pyproject | 7 + examples/bluetooth/lowenergyscanner/main.py | 27 + .../bluetooth/lowenergyscanner/serviceinfo.py | 66 + examples/charts/areachart/areachart.py | 67 + examples/charts/areachart/areachart.pyproject | 3 + examples/charts/areachart/doc/areachart.png | Bin 0 -> 15491 bytes examples/charts/areachart/doc/areachart.rst | 8 + examples/charts/audio/audio.py | 90 + examples/charts/audio/audio.pyproject | 3 + examples/charts/audio/doc/audio.png | Bin 0 -> 24659 bytes examples/charts/audio/doc/audio.rst | 8 + examples/charts/barchart/barchart.py | 69 + examples/charts/barchart/barchart.pyproject | 3 + examples/charts/barchart/doc/barchart.png | Bin 0 -> 15717 bytes examples/charts/barchart/doc/barchart.rst | 8 + examples/charts/callout/callout.py | 220 + examples/charts/callout/callout.pyproject | 3 + examples/charts/callout/doc/callout.png | Bin 0 -> 30597 bytes examples/charts/callout/doc/callout.rst | 8 + examples/charts/chartthemes/README.md | 9 + .../charts/chartthemes/chartthemes.pyproject | 3 + .../charts/chartthemes/doc/chartthemes.png | Bin 0 -> 47895 bytes .../charts/chartthemes/doc/chartthemes.rst | 11 + examples/charts/chartthemes/main.py | 369 + examples/charts/chartthemes/themewidget.ui | 103 + examples/charts/chartthemes/ui_themewidget.py | 91 + .../donutbreakdown/doc/donutbreakdown.png | Bin 0 -> 50391 bytes .../donutbreakdown/doc/donutbreakdown.rst | 8 + .../charts/donutbreakdown/donutbreakdown.py | 148 + .../donutbreakdown/donutbreakdown.pyproject | 3 + examples/charts/dynamicspline/chart.py | 52 + .../dynamicspline/doc/dynamicspline.rst | 15 + .../dynamicspline/doc/dynamicspline1.png | Bin 0 -> 34292 bytes .../dynamicspline/doc/dynamicspline2.png | Bin 0 -> 40347 bytes .../dynamicspline/dynamicspline.pyproject | 3 + examples/charts/dynamicspline/main.py | 27 + examples/charts/legend/doc/legend.png | Bin 0 -> 22719 bytes examples/charts/legend/doc/legend.rst | 20 + examples/charts/legend/legend.py | 225 + examples/charts/legend/legend.pyproject | 3 + examples/charts/lineandbar/doc/lineandbar.png | Bin 0 -> 14482 bytes examples/charts/lineandbar/doc/lineandbar.rst | 11 + examples/charts/lineandbar/lineandbar.py | 81 + .../charts/lineandbar/lineandbar.pyproject | 3 + examples/charts/linechart/doc/linechart.png | Bin 0 -> 13485 bytes examples/charts/linechart/doc/linechart.rst | 8 + examples/charts/linechart/linechart.py | 47 + examples/charts/linechart/linechart.pyproject | 3 + .../charts/logvalueaxis/doc/logvalueaxis.png | Bin 0 -> 25462 bytes .../charts/logvalueaxis/doc/logvalueaxis.rst | 8 + examples/charts/logvalueaxis/logvalueaxis.py | 57 + .../logvalueaxis/logvalueaxis.pyproject | 3 + .../charts/memoryusage/doc/memoryusage.png | Bin 0 -> 6633 bytes .../charts/memoryusage/doc/memoryusage.rst | 9 + examples/charts/memoryusage/memoryusage.py | 92 + .../charts/memoryusage/memoryusage.pyproject | 3 + examples/charts/modeldata/doc/modeldata.png | Bin 0 -> 70926 bytes examples/charts/modeldata/doc/modeldata.rst | 9 + examples/charts/modeldata/modeldata.py | 144 + examples/charts/modeldata/modeldata.pyproject | 3 + .../charts/nesteddonuts/doc/nesteddonuts.png | Bin 0 -> 63338 bytes .../charts/nesteddonuts/doc/nesteddonuts.rst | 7 + examples/charts/nesteddonuts/nesteddonuts.py | 100 + .../nesteddonuts/nesteddonuts.pyproject | 3 + .../percentbarchart/doc/percentbarchart.png | Bin 0 -> 10274 bytes .../percentbarchart/doc/percentbarchart.rst | 17 + .../charts/percentbarchart/percentbarchart.py | 63 + .../percentbarchart/percentbarchart.pyproject | 3 + examples/charts/piechart/doc/piechart.png | Bin 0 -> 9644 bytes examples/charts/piechart/doc/piechart.rst | 8 + examples/charts/piechart/piechart.py | 50 + examples/charts/piechart/piechart.pyproject | 3 + .../charts/pointconfiguration/chartwindow.py | 156 + .../doc/pointconfiguration.png | Bin 0 -> 34991 bytes .../doc/pointconfiguration.rst | 144 + .../pointconfiguration/pointconfiguration.py | 17 + .../pointconfiguration.pyproject | 3 + .../doc/pointselectionandmarkers.png | Bin 0 -> 47669 bytes .../doc/pointselectionandmarkers.rst | 72 + .../images/blue_triangle.png | Bin 0 -> 2220 bytes .../images/green_triangle.png | Bin 0 -> 1389 bytes .../pointselectionandmarkers/markers.qrc | 6 + .../pointselectionandmarkers.py | 127 + .../pointselectionandmarkers.pyproject | 3 + .../pointselectionandmarkers/rc_markers.py | 275 + .../pointselectionandmarkers/utilities.py | 67 + examples/charts/qmlpolarchart/View1.qml | 52 + examples/charts/qmlpolarchart/View2.qml | 73 + examples/charts/qmlpolarchart/View3.qml | 60 + .../qmlpolarchart/doc/qmlpolarchart.png | Bin 0 -> 45305 bytes .../qmlpolarchart/doc/qmlpolarchart.rst | 8 + examples/charts/qmlpolarchart/main.qml | 63 + .../charts/qmlpolarchart/qmlpolarchart.py | 28 + .../qmlpolarchart/qmlpolarchart.pyproject | 3 + .../doc/temperaturerecords.png | Bin 0 -> 13035 bytes .../doc/temperaturerecords.rst | 10 + .../temperaturerecords/temperaturerecords.py | 60 + .../temperaturerecords.pyproject | 3 + examples/corelib/ipc/sharedmemory/dialog.py | 93 + examples/corelib/ipc/sharedmemory/dialog.ui | 47 + examples/corelib/ipc/sharedmemory/image.png | Bin 0 -> 10199 bytes examples/corelib/ipc/sharedmemory/main.py | 15 + examples/corelib/ipc/sharedmemory/qt.png | Bin 0 -> 2991 bytes .../ipc/sharedmemory/sharedmemory.pyproject | 3 + .../corelib/ipc/sharedmemory/ui_dialog.py | 57 + .../mimetypesbrowser/doc/mimetypesbrowser.png | Bin 0 -> 22569 bytes .../mimetypesbrowser/doc/mimetypesbrowser.rst | 10 + .../corelib/mimetypesbrowser/mainwindow.py | 161 + .../corelib/mimetypesbrowser/mimetypemodel.py | 136 + .../mimetypesbrowser/mimetypesbrowser.py | 24 + .../mimetypesbrowser.pyproject | 3 + .../settingseditor/doc/settingseditor.png | Bin 0 -> 10234 bytes .../settingseditor/doc/settingseditor.rst | 10 + .../corelib/settingseditor/settingseditor.py | 757 + .../settingseditor/settingseditor.pyproject | 3 + examples/corelib/threads/doc/threads.png | Bin 0 -> 61689 bytes examples/corelib/threads/doc/threads.rst | 10 + examples/corelib/threads/mandelbrot.py | 352 + examples/corelib/threads/threads.pyproject | 3 + examples/datavisualization/bars3d/bars3d.py | 80 + .../datavisualization/bars3d/bars3d.pyproject | 3 + .../datavisualization/bars3d/doc/bars3d.png | Bin 0 -> 31558 bytes .../datavisualization/bars3d/doc/bars3d.rst | 8 + .../graphgallery/axesinputhandler.py | 101 + .../graphgallery/bargraph.py | 281 + .../graphgallery/custominputhandler.py | 177 + .../graphgallery/data/layer_1.png | Bin 0 -> 34540 bytes .../graphgallery/data/layer_2.png | Bin 0 -> 10553 bytes .../graphgallery/data/layer_3.png | Bin 0 -> 7119 bytes .../graphgallery/data/license.txt | 77 + .../graphgallery/data/maptexture.jpg | Bin 0 -> 352922 bytes .../graphgallery/data/raindata.txt | 158 + .../graphgallery/data/topography.png | Bin 0 -> 395504 bytes .../graphgallery/doc/graph_gallery.webp | Bin 0 -> 95552 bytes .../graphgallery/doc/graphgallery.rst | 11 + .../graphgallery/graphgallery.pyproject | 18 + .../graphgallery/graphgallery.qrc | 13 + .../graphgallery/graphmodifier.py | 395 + .../graphgallery/highlightseries.py | 94 + .../datavisualization/graphgallery/main.py | 50 + .../graphgallery/rainfalldata.py | 125 + .../graphgallery/scatterdatamodifier.py | 151 + .../graphgallery/scattergraph.py | 128 + .../graphgallery/surfacegraph.py | 265 + .../graphgallery/surfacegraphmodifier.py | 643 + .../graphgallery/topographicseries.py | 57 + .../graphgallery/variantbardatamapping.py | 67 + .../graphgallery/variantbardataproxy.py | 100 + .../graphgallery/variantdataset.py | 39 + .../minimalsurface/doc/minimalsurface.rst | 4 + .../datavisualization/minimalsurface/main.py | 54 + .../qmlsurfacegallery/datasource.py | 99 + .../doc/qmlsurfacegallery.rst | 9 + .../doc/qmlsurfacegallery.webp | Bin 0 -> 100206 bytes .../qmlsurfacegallery/main.py | 39 + .../qml/qmlsurfacegallery/SpectrogramData.qml | 1545 + .../qmlsurfacegallery/SurfaceHeightMap.qml | 227 + .../qmlsurfacegallery/SurfaceOscilloscope.qml | 430 + .../qmlsurfacegallery/SurfaceSpectrogram.qml | 272 + .../qml/qmlsurfacegallery/heightmap.png | Bin 0 -> 638731 bytes .../qml/qmlsurfacegallery/main.qml | 57 + .../qmlsurfacegallery.pyproject | 10 + .../qmlsurfacegallery/qmlsurfacegallery.qrc | 5 + .../qmlsurfacegallery/rc_qmlsurfacegallery.py | 39967 ++++++++++++++++ .../datavisualization/surface/doc/surface.rst | 23 + .../surface/doc/surface_mountain.png | Bin 0 -> 152571 bytes examples/datavisualization/surface/main.py | 189 + .../datavisualization/surface/mountain.png | Bin 0 -> 34540 bytes .../surface/surface.pyproject | 4 + .../datavisualization/surface/surfacegraph.py | 253 + .../doc/surface_model_numpy.rst | 24 + .../surface_model_numpy/main.py | 189 + .../surface_model_numpy.pyproject | 4 + .../surface_model_numpy/surfacegraph.py | 295 + .../surface_numpy/doc/surface_numpy.rst | 24 + .../datavisualization/surface_numpy/main.py | 189 + .../surface_numpy/surface_numpy.pyproject | 4 + .../surface_numpy/surfacegraph.py | 253 + examples/dbus/listnames/listnames.py | 53 + examples/dbus/listnames/listnames.pyproject | 3 + examples/dbus/pingpong/ping.py | 39 + examples/dbus/pingpong/pingpong.pyproject | 3 + examples/dbus/pingpong/pong.py | 44 + .../doc/taskmenuextension.png | Bin 0 -> 142848 bytes .../doc/taskmenuextension.rst | 15 + examples/designer/taskmenuextension/main.py | 16 + .../taskmenuextension/registertictactoe.py | 13 + .../taskmenuextension.pyproject | 4 + .../designer/taskmenuextension/tictactoe.py | 133 + .../taskmenuextension/tictactoeplugin.py | 70 + .../taskmenuextension/tictactoetaskmenu.py | 68 + examples/examples.pyproject | 162 + .../matplotlib/widget3d/doc/widget3d.png | Bin 0 -> 135383 bytes .../matplotlib/widget3d/doc/widget3d.rst | 9 + .../matplotlib/widget3d/requirements.txt | 2 + .../external/matplotlib/widget3d/widget3d.py | 207 + .../matplotlib/widget3d/widget3d.pyproject | 3 + .../widget_gaussian/doc/widget_gaussian.png | Bin 0 -> 16198 bytes .../widget_gaussian/doc/widget_gaussian.rst | 9 + .../widget_gaussian/requirements.txt | 3 + .../widget_gaussian/widget_gaussian.py | 74 + .../widget_gaussian/widget_gaussian.pyproject | 3 + examples/external/networkx/doc/networkx.png | Bin 0 -> 28017 bytes examples/external/networkx/doc/networkx.rst | 8 + examples/external/networkx/main.py | 346 + examples/external/networkx/networkx.pyproject | 3 + examples/external/networkx/requirements.txt | 3 + examples/external/opencv/doc/opencv.png | Bin 0 -> 132069 bytes examples/external/opencv/doc/opencv.rst | 9 + examples/external/opencv/opencv.pyproject | 3 + examples/external/opencv/requirements.txt | 1 + .../opencv/webcam_pattern_detection.py | 170 + examples/external/pandas/dataframe_model.py | 82 + examples/external/pandas/doc/pandas.rst | 9 + .../external/pandas/doc/pandas_simple.png | Bin 0 -> 37161 bytes examples/external/pandas/iris.csv | 151 + examples/external/pandas/pandas.pyproject | 3 + examples/external/pandas/requirements.txt | 1 + examples/external/scikit/doc/scikit.png | Bin 0 -> 390406 bytes examples/external/scikit/doc/scikit.rst | 9 + examples/external/scikit/requirements.txt | 1 + examples/external/scikit/scikit.pyproject | 3 + .../scikit/staining_colors_separation.py | 147 + .../gui/analogclock/analogclock.pyproject | 3 + examples/gui/analogclock/doc/analogclock.rst | 8 + examples/gui/analogclock/main.py | 77 + .../afterrequest/doc/afterrequest.rst | 5 + examples/httpserver/afterrequest/main.py | 36 + examples/installer_test/hello.py | 71 + .../location/mapviewer/MapViewer/Main.qml | 460 + .../mapviewer/MapViewer/forms/Geocode.qml | 42 + .../MapViewer/forms/GeocodeForm.ui.qml | 136 + .../mapviewer/MapViewer/forms/Locale.qml | 45 + .../MapViewer/forms/LocaleForm.ui.qml | 116 + .../mapviewer/MapViewer/forms/Message.qml | 21 + .../MapViewer/forms/MessageForm.ui.qml | 69 + .../MapViewer/forms/ReverseGeocode.qml | 38 + .../MapViewer/forms/ReverseGeocodeForm.ui.qml | 103 + .../MapViewer/forms/RouteAddress.qml | 105 + .../MapViewer/forms/RouteAddressForm.ui.qml | 160 + .../MapViewer/forms/RouteCoordinate.qml | 41 + .../forms/RouteCoordinateForm.ui.qml | 136 + .../mapviewer/MapViewer/forms/RouteList.qml | 50 + .../MapViewer/forms/RouteListDelegate.qml | 42 + .../MapViewer/forms/RouteListHeader.qml | 47 + .../location/mapviewer/MapViewer/helper.js | 44 + .../mapviewer/MapViewer/map/MapComponent.qml | 497 + .../mapviewer/MapViewer/map/MapSliders.qml | 282 + .../mapviewer/MapViewer/map/Marker.qml | 64 + .../mapviewer/MapViewer/map/MiniMap.qml | 78 + .../MapViewer/menus/ItemPopupMenu.qml | 19 + .../mapviewer/MapViewer/menus/MainMenu.qml | 122 + .../MapViewer/menus/MapPopupMenu.qml | 30 + .../MapViewer/menus/MarkerPopupMenu.qml | 38 + examples/location/mapviewer/MapViewer/qmldir | 27 + .../mapviewer/MapViewer/resources/marker.png | Bin 0 -> 752 bytes .../MapViewer/resources/marker_blue.png | Bin 0 -> 3523 bytes .../mapviewer/MapViewer/resources/scale.png | Bin 0 -> 98 bytes .../MapViewer/resources/scale_end.png | Bin 0 -> 93 bytes examples/location/mapviewer/doc/mapviewer.rst | 12 + .../location/mapviewer/doc/mapviewer.webp | Bin 0 -> 79588 bytes examples/location/mapviewer/main.py | 75 + .../location/mapviewer/mapviewer.pyproject | 33 + .../multimedia/audiooutput/audiooutput.py | 272 + .../audiooutput/audiooutput.pyproject | 3 + .../audiooutput/doc/audiooutput.png | Bin 0 -> 5082 bytes .../audiooutput/doc/audiooutput.rst | 12 + .../multimedia/audiosource/audiosource.py | 204 + .../audiosource/audiosource.pyproject | 3 + .../audiosource/doc/audiosource.png | Bin 0 -> 11897 bytes .../audiosource/doc/audiosource.rst | 11 + examples/multimedia/camera/camera.py | 322 + examples/multimedia/camera/camera.pyproject | 10 + examples/multimedia/camera/camera.ui | 497 + examples/multimedia/camera/doc/camera.rst | 12 + examples/multimedia/camera/doc/camera.webp | Bin 0 -> 11666 bytes examples/multimedia/camera/imagesettings.py | 56 + examples/multimedia/camera/imagesettings.ui | 123 + examples/multimedia/camera/main.py | 17 + examples/multimedia/camera/metadatadialog.py | 86 + examples/multimedia/camera/shutter.svg | 21 + examples/multimedia/camera/ui_camera.py | 232 + .../multimedia/camera/ui_imagesettings.py | 94 + .../multimedia/camera/ui_videosettings.py | 178 + examples/multimedia/camera/videosettings.py | 161 + examples/multimedia/camera/videosettings.ui | 213 + examples/multimedia/player/doc/player.png | Bin 0 -> 2804 bytes examples/multimedia/player/doc/player.rst | 9 + examples/multimedia/player/player.py | 194 + examples/multimedia/player/player.pyproject | 3 + .../screencapture/doc/screencapture.rst | 35 + .../screencapture/doc/screencapture.webp | Bin 0 -> 20604 bytes examples/multimedia/screencapture/main.py | 17 + .../screencapture/screencapture.pyproject | 3 + .../screencapture/screencapturepreview.py | 73 + .../screencapture/screenlistmodel.py | 38 + .../blockingfortuneclient.py | 186 + .../blockingfortuneclient.pyproject | 3 + .../network/downloader/doc/downloader.png | Bin 0 -> 6215 bytes .../network/downloader/doc/downloader.rst | 9 + examples/network/downloader/downloader.py | 178 + .../network/downloader/downloader.pyproject | 3 + .../network/fortuneclient/fortuneclient.py | 125 + .../fortuneclient/fortuneclient.pyproject | 3 + .../network/fortuneserver/fortuneserver.py | 82 + .../fortuneserver/fortuneserver.pyproject | 3 + .../googlesuggest/doc/googlesuggest.png | Bin 0 -> 2467 bytes .../googlesuggest/doc/googlesuggest.rst | 11 + .../network/googlesuggest/googlesuggest.py | 137 + .../googlesuggest/googlesuggest.pyproject | 3 + examples/network/googlesuggest/main.py | 14 + examples/network/googlesuggest/searchbox.py | 27 + examples/network/loopback/dialog.py | 151 + examples/network/loopback/doc/loopback.png | Bin 0 -> 6195 bytes examples/network/loopback/doc/loopback.rst | 10 + examples/network/loopback/loopback.pyproject | 3 + examples/network/loopback/main.py | 15 + .../threadedfortuneserver.py | 116 + .../threadedfortuneserver.pyproject | 3 + .../redditclient/doc/redditclient.png | Bin 0 -> 40526 bytes .../redditclient/doc/redditclient.rst | 21 + examples/networkauth/redditclient/main.py | 28 + .../redditclient/redditclient.pyproject | 3 + .../networkauth/redditclient/redditmodel.py | 70 + .../networkauth/redditclient/redditwrapper.py | 91 + examples/opengl/contextinfo/contextinfo.py | 262 + .../opengl/contextinfo/contextinfo.pyproject | 3 + .../opengl/contextinfo/doc/contextinfo.png | Bin 0 -> 35022 bytes .../opengl/contextinfo/doc/contextinfo.rst | 10 + examples/opengl/hellogl2/doc/hellogl2.png | Bin 0 -> 4143 bytes examples/opengl/hellogl2/doc/hellogl2.rst | 9 + examples/opengl/hellogl2/hellogl2.py | 439 + examples/opengl/hellogl2/hellogl2.pyproject | 3 + examples/opengl/textures/doc/textures.png | Bin 0 -> 38108 bytes examples/opengl/textures/doc/textures.rst | 9 + examples/opengl/textures/images/side1.png | Bin 0 -> 1044 bytes examples/opengl/textures/images/side2.png | Bin 0 -> 1768 bytes examples/opengl/textures/images/side3.png | Bin 0 -> 2323 bytes examples/opengl/textures/images/side4.png | Bin 0 -> 1342 bytes examples/opengl/textures/images/side5.png | Bin 0 -> 1959 bytes examples/opengl/textures/images/side6.png | Bin 0 -> 2446 bytes examples/opengl/textures/textures.py | 211 + examples/opengl/textures/textures.pyproject | 3 + examples/opengl/textures/textures.qrc | 10 + examples/opengl/textures/textures_rc.py | 762 + .../doc/threadedqopenglwidget.png | Bin 0 -> 10616 bytes .../doc/threadedqopenglwidget.rst | 9 + .../opengl/threadedqopenglwidget/glwidget.py | 79 + examples/opengl/threadedqopenglwidget/main.py | 93 + .../threadedqopenglwidget/mainwindow.py | 24 + .../opengl/threadedqopenglwidget/renderer.py | 326 + .../threadedqopenglwidget.pyproject | 3 + .../pdf/quickpdfviewer/doc/quickpdfviewer.rst | 4 + examples/pdf/quickpdfviewer/main.py | 49 + .../quickpdfviewer/quickpdfviewer.pyproject | 3 + examples/pdf/quickpdfviewer/rc_viewer.py | 5505 +++ .../resources/document-open.svg | 13 + .../quickpdfviewer/resources/edit-clear.svg | 15 + .../quickpdfviewer/resources/edit-copy.svg | 15 + .../resources/edit-select-all.svg | 13 + .../resources/go-down-search.svg | 13 + .../resources/go-next-view-page.svg | 13 + .../resources/go-previous-view-page.svg | 13 + .../quickpdfviewer/resources/go-up-search.svg | 8 + .../quickpdfviewer/resources/rotate-left.svg | 6 + .../quickpdfviewer/resources/rotate-right.svg | 6 + .../pdf/quickpdfviewer/resources/test.pdf | Bin 0 -> 76633 bytes .../resources/zoom-fit-best.svg | 13 + .../resources/zoom-fit-width.svg | 13 + .../pdf/quickpdfviewer/resources/zoom-in.svg | 13 + .../resources/zoom-original.svg | 13 + .../pdf/quickpdfviewer/resources/zoom-out.svg | 13 + examples/pdf/quickpdfviewer/viewer.qml | 307 + examples/pdf/quickpdfviewer/viewer.qrc | 20 + .../pdfwidgets/pdfviewer/doc/pdfviewer.rst | 5 + .../pdfviewer/images/document-open.svgz | Bin 0 -> 4276 bytes .../pdfviewer/images/go-next-view-page.svgz | Bin 0 -> 12615 bytes .../pdfviewer/images/go-next-view.svgz | Bin 0 -> 6360 bytes .../images/go-previous-view-page.svgz | Bin 0 -> 12602 bytes .../pdfviewer/images/go-previous-view.svgz | Bin 0 -> 6545 bytes .../pdfviewer/images/zoom-fit-best.svgz | Bin 0 -> 6121 bytes .../pdfviewer/images/zoom-fit-width.svgz | Bin 0 -> 6109 bytes .../pdfwidgets/pdfviewer/images/zoom-in.svgz | Bin 0 -> 6033 bytes .../pdfviewer/images/zoom-original.svgz | Bin 0 -> 5541 bytes .../pdfwidgets/pdfviewer/images/zoom-out.svgz | Bin 0 -> 5420 bytes .../pdfviewer/images/zoom-previous.svgz | Bin 0 -> 5665 bytes examples/pdfwidgets/pdfviewer/main.py | 27 + examples/pdfwidgets/pdfviewer/mainwindow.py | 141 + examples/pdfwidgets/pdfviewer/mainwindow.ui | 327 + .../pdfwidgets/pdfviewer/pdfviewer.pyproject | 4 + examples/pdfwidgets/pdfviewer/resources.qrc | 11 + examples/pdfwidgets/pdfviewer/resources_rc.py | 3468 ++ .../pdfwidgets/pdfviewer/ui_mainwindow.py | 259 + examples/pdfwidgets/pdfviewer/zoomselector.py | 59 + examples/qml/editingmodel/MovingRectangle.qml | 78 + .../qml/editingmodel/doc/editingmodel.rst | 14 + .../doc/qabstractlistmodelqml.png | Bin 0 -> 45810 bytes examples/qml/editingmodel/main.py | 21 + examples/qml/editingmodel/main.pyproject | 3 + examples/qml/editingmodel/main.qml | 106 + examples/qml/editingmodel/model.py | 157 + examples/qml/signals/pytoqml1/main.py | 31 + .../qml/signals/pytoqml1/pytoqml1.pyproject | 3 + examples/qml/signals/pytoqml1/view.qml | 36 + examples/qml/signals/pytoqml2/main.py | 54 + .../qml/signals/pytoqml2/pytoqml2.pyproject | 3 + examples/qml/signals/pytoqml2/view.qml | 30 + examples/qml/signals/qmltopy1/main.py | 50 + .../qml/signals/qmltopy1/qmltopy1.pyproject | 3 + examples/qml/signals/qmltopy1/view.qml | 54 + examples/qml/signals/qmltopy2/main.py | 45 + .../qml/signals/qmltopy2/qmltopy2.pyproject | 3 + examples/qml/signals/qmltopy2/view.qml | 49 + examples/qml/signals/qmltopy3/main.py | 33 + .../qml/signals/qmltopy3/qmltopy3.pyproject | 3 + examples/qml/signals/qmltopy3/view.qml | 66 + examples/qml/signals/qmltopy4/main.py | 33 + .../qml/signals/qmltopy4/qmltopy4.pyproject | 3 + examples/qml/signals/qmltopy4/view.qml | 31 + .../qml/textproperties/doc/textproperties.png | Bin 0 -> 14082 bytes .../qml/textproperties/doc/textproperties.rst | 9 + examples/qml/textproperties/main.py | 76 + .../textproperties/textproperties.pyproject | 3 + examples/qml/textproperties/view.qml | 160 + .../adding/People/Main.qml | 9 + .../adding/People/qmldir | 3 + .../adding/adding.pyproject | 4 + .../adding/doc/adding.rst | 67 + .../extending-qml-advanced/adding/main.py | 30 + .../extending-qml-advanced/adding/person.py | 35 + .../advanced1-Base-project/People/Main.qml | 16 + .../advanced1-Base-project/People/qmldir | 3 + .../advanced1-Base-project.pyproject | 4 + .../advanced1-Base-project/birthdayparty.py | 46 + .../doc/advanced1-Base-project.rst | 57 + .../advanced1-Base-project/main.py | 32 + .../advanced1-Base-project/person.py | 41 + .../People/Main.qml | 16 + .../People/qmldir | 3 + ...vanced2-Inheritance-and-coercion.pyproject | 4 + .../birthdayparty.py | 46 + .../advanced2-Inheritance-and-coercion.rst | 62 + .../main.py | 37 + .../person.py | 52 + .../People/Main.qml | 15 + .../People/qmldir | 3 + .../advanced3-Default-properties.pyproject | 4 + .../birthdayparty.py | 47 + .../doc/advanced3-Default-properties.rst | 40 + .../advanced3-Default-properties/main.py | 36 + .../advanced3-Default-properties/person.py | 51 + .../People/Main.qml | 33 + .../People/qmldir | 3 + .../advanced4-Grouped-properties.pyproject | 4 + .../birthdayparty.py | 47 + .../doc/advanced4-Grouped-properties.rst | 39 + .../advanced4-Grouped-properties/main.py | 44 + .../advanced4-Grouped-properties/person.py | 102 + .../People/Main.qml | 22 + .../People/qmldir | 3 + .../advanced5-Attached-properties.pyproject | 4 + .../birthdayparty.py | 71 + .../doc/advanced5-Attached-properties.rst | 51 + .../advanced5-Attached-properties/main.py | 46 + .../advanced5-Attached-properties/person.py | 51 + .../People/Main.qml | 27 + .../People/qmldir | 3 + .../advanced6-Property-value-source.pyproject | 4 + .../birthdayparty.py | 89 + .../doc/advanced6-Property-value-source.rst | 43 + .../happybirthdaysong.py | 49 + .../advanced6-Property-value-source/main.py | 51 + .../advanced6-Property-value-source/person.py | 51 + .../binding/People/Main.qml | 29 + .../binding/People/qmldir | 3 + .../binding/binding.pyproject | 4 + .../binding/birthdayparty.py | 83 + .../binding/doc/binding.rst | 17 + .../binding/happybirthdaysong.py | 47 + .../extending-qml-advanced/binding/main.py | 52 + .../extending-qml-advanced/binding/person.py | 53 + .../extended/doc/extended.rst | 41 + .../extended/example.qml | 8 + .../extended/extended.pyproject | 3 + .../extending-qml-advanced/extended/main.py | 95 + .../methods/People/Main.qml | 19 + .../methods/People/qmldir | 3 + .../methods/birthdayparty.py | 47 + .../methods/doc/methods.rst | 15 + .../extending-qml-advanced/methods/main.py | 32 + .../methods/methods.pyproject | 4 + .../extending-qml-advanced/methods/person.py | 34 + .../properties/People/Main.qml | 16 + .../properties/People/qmldir | 3 + .../properties/birthdayparty.py | 41 + .../properties/doc/properties.rst | 89 + .../extending-qml-advanced/properties/main.py | 34 + .../properties/person.py | 35 + .../properties/properties.pyproject | 4 + .../extending-qml/chapter1-basics/app.qml | 26 + .../extending-qml/chapter1-basics/basics.py | 68 + .../chapter1-basics/chapter1-basics.pyproject | 3 + .../chapter1-basics/doc/chapter1-basics.rst | 107 + .../extending-qml/chapter2-methods/app.qml | 32 + .../chapter2-methods.pyproject | 3 + .../chapter2-methods/doc/chapter2-methods.rst | 36 + .../extending-qml/chapter2-methods/methods.py | 75 + .../extending-qml/chapter3-bindings/app.qml | 40 + .../chapter3-bindings/bindings.py | 79 + .../chapter3-bindings.pyproject | 3 + .../doc/chapter3-bindings.rst | 54 + .../chapter4-customPropertyTypes/app.qml | 22 + .../chapter4-customPropertyTypes.pyproject | 3 + .../customPropertyTypes.py | 82 + .../doc/chapter4-customPropertyTypes.rst | 73 + .../chapter5-listproperties/app.qml | 32 + .../chapter5-listproperties.pyproject | 3 + .../doc/chapter5-listproperties.rst | 46 + .../chapter5-listproperties/listproperties.py | 96 + .../chapter6-plugins/Charts/piechart.py | 40 + .../chapter6-plugins/Charts/pieslice.py | 52 + .../chapter6-plugins/Charts/plugins.png | Bin 0 -> 5014 bytes .../extending-qml/chapter6-plugins/app.qml | 32 + .../chapter6-plugins.pyproject | 3 + .../chapter6-plugins/doc/chapter6-plugins.rst | 26 + .../chapter6-plugins/doc/plugins.png | Bin 0 -> 5014 bytes examples/qml/usingmodel/doc/usingmodel.png | Bin 0 -> 2791 bytes examples/qml/usingmodel/doc/usingmodel.rst | 9 + examples/qml/usingmodel/usingmodel.py | 70 + examples/qml/usingmodel/usingmodel.pyproject | 3 + examples/qml/usingmodel/view.qml | 29 + .../objectlistmodel/doc/objectlistmodel.png | Bin 0 -> 1327 bytes .../objectlistmodel/doc/objectlistmodel.rst | 12 + .../models/objectlistmodel/objectlistmodel.py | 61 + .../objectlistmodel/objectlistmodel.pyproject | 3 + .../quick/models/objectlistmodel/view.qml | 15 + .../stringlistmodel/doc/stringlistmodel.png | Bin 0 -> 1978 bytes .../stringlistmodel/doc/stringlistmodel.rst | 9 + .../models/stringlistmodel/stringlistmodel.py | 26 + .../stringlistmodel/stringlistmodel.pyproject | 3 + .../quick/models/stringlistmodel/view.qml | 17 + .../quick/painteditem/doc/painteditem.png | Bin 0 -> 3768 bytes .../quick/painteditem/doc/painteditem.rst | 11 + examples/quick/painteditem/main.qml | 77 + examples/quick/painteditem/painteditem.py | 75 + .../quick/painteditem/painteditem.pyproject | 3 + .../rendercontrol_opengl/cuberenderer.py | 185 + .../rendercontrol_opengl/demo.qml | 161 + .../doc/rendercontrol_opengl.rst | 5 + .../rendercontrol_opengl/main.py | 20 + .../rendercontrol_opengl.pyproject | 6 + .../window_singlethreaded.py | 272 + .../openglunderqml/doc/openglunderqml.rst | 21 + .../openglunderqml/doc/squircle.png | Bin 0 -> 37963 bytes .../quick/scenegraph/openglunderqml/main.py | 27 + .../quick/scenegraph/openglunderqml/main.qml | 39 + .../openglunderqml/openglunderqml.pyproject | 3 + .../scenegraph/openglunderqml/squircle.py | 79 + .../openglunderqml/squirclerenderer.py | 98 + .../doc/scenegraph_customgeometry.rst | 7 + .../scenegraph_customgeometry/main.py | 152 + .../scenegraph_customgeometry/main.qml | 34 + .../scenegraph_customgeometry.pyproject | 3 + examples/quick/shared/Button.qml | 50 + examples/quick/shared/CheckBox.qml | 59 + examples/quick/shared/FlickrRssModel.qml | 45 + examples/quick/shared/Images.qml | 14 + examples/quick/shared/Label.qml | 9 + examples/quick/shared/LauncherList.qml | 205 + examples/quick/shared/README | 11 + .../quick/shared/SimpleLauncherDelegate.qml | 96 + examples/quick/shared/Slider.qml | 82 + examples/quick/shared/TabSet.qml | 69 + examples/quick/shared/TextField.qml | 43 + examples/quick/shared/images/back.png | Bin 0 -> 1590 bytes examples/quick/shared/images/checkmark.png | Bin 0 -> 809 bytes examples/quick/shared/images/next.png | Bin 0 -> 1371 bytes examples/quick/shared/images/qt-logo.png | Bin 0 -> 13596 bytes .../quick/shared/images/slider_handle.png | Bin 0 -> 887 bytes examples/quick/shared/images/tab.png | Bin 0 -> 309 bytes examples/quick/shared/qmldir | 11 + examples/quick/shared/quick_shared.qrc | 15 + examples/quick/shared/shared.qrc | 21 + examples/quick/shared/shared_rc.py | 2253 + examples/quick/window/AllScreens.qml | 42 + examples/quick/window/CurrentScreen.qml | 83 + examples/quick/window/Splash.qml | 42 + examples/quick/window/doc/window.png | Bin 0 -> 9863 bytes examples/quick/window/doc/window.rst | 35 + examples/quick/window/main.py | 40 + examples/quick/window/rc_window.py | 335 + examples/quick/window/resources/icon.icns | Bin 0 -> 59662 bytes examples/quick/window/resources/icon.ico | Bin 0 -> 11825 bytes examples/quick/window/resources/icon.svg | 208 + examples/quick/window/resources/icon64.png | Bin 0 -> 3004 bytes examples/quick/window/window.pyproject | 3 + examples/quick/window/window.qml | 151 + examples/quick/window/window.qrc | 8 + .../customgeometry/customgeometry.pyproject | 3 + .../doc/customgeometry-example.jpg | Bin 0 -> 51016 bytes .../customgeometry/doc/customgeometry.rst | 17 + .../quick3d/customgeometry/examplepoint.py | 51 + .../quick3d/customgeometry/exampletriangle.py | 188 + examples/quick3d/customgeometry/main.py | 29 + examples/quick3d/customgeometry/main.qml | 240 + .../quick3d/customgeometry/qt_logo_rect.png | Bin 0 -> 6319 bytes examples/quick3d/customgeometry/resources.qrc | 6 + .../quick3d/customgeometry/resources_rc.py | 585 + examples/quick3d/intro/doc/intro.png | Bin 0 -> 13781 bytes examples/quick3d/intro/doc/intro.rst | 9 + examples/quick3d/intro/intro.pyproject | 3 + examples/quick3d/intro/main.py | 24 + examples/quick3d/intro/main.qml | 80 + .../FileSystemModule/Main.qml | 188 + .../FileSystemModule/app.qrc | 15 + .../FileSystemModule/icons.qrc | 13 + .../FileSystemModule/icons/folder_closed.svg | 38 + .../FileSystemModule/icons/folder_open.svg | 38 + .../FileSystemModule/icons/generic_file.svg | 38 + .../FileSystemModule/icons/globe.svg | 38 + .../FileSystemModule/icons/info_sign.svg | 38 + .../FileSystemModule/icons/light_bulb.svg | 43 + .../FileSystemModule/icons/qt_logo.svg | 26 + .../FileSystemModule/icons/read.svg | 38 + .../FileSystemModule/icons/resize.svg | 6 + .../FileSystemModule/qml/About.qml | 59 + .../FileSystemModule/qml/Colors.qml | 22 + .../FileSystemModule/qml/FileSystemView.qml | 99 + .../FileSystemModule/qml/Icon.qml | 44 + .../FileSystemModule/qml/MyMenu.qml | 42 + .../FileSystemModule/qml/MyMenuBar.qml | 135 + .../FileSystemModule/qml/ResizeButton.qml | 23 + .../FileSystemModule/qml/Sidebar.qml | 117 + .../qml/WindowDragHandler.qml | 16 + .../FileSystemModule/qmldir | 11 + .../doc/filesystemexplorer.rst | 39 + .../doc/filesystemexplorer.webp | Bin 0 -> 83086 bytes .../filesystemexplorer/filesystemexplorer.py | 69 + .../filesystemexplorer.pyproject | 27 + .../gallery/+Material/ToolBar.qml | 8 + examples/quickcontrols/gallery/ToolBar.qml | 6 + .../quickcontrols/gallery/doc/gallery.png | Bin 0 -> 23828 bytes .../quickcontrols/gallery/doc/gallery.rst | 7 + .../qtquickcontrols2-gallery-drawer.png | Bin 0 -> 15428 bytes .../images/qtquickcontrols2-gallery-menu.png | Bin 0 -> 15953 bytes .../qtquickcontrols2-gallery-welcome.png | Bin 0 -> 18513 bytes examples/quickcontrols/gallery/gallery.py | 52 + .../quickcontrols/gallery/gallery.pyproject | 36 + examples/quickcontrols/gallery/gallery.qml | 318 + examples/quickcontrols/gallery/gallery.qrc | 61 + .../gallery/icons/gallery/20x20/back.png | Bin 0 -> 146 bytes .../gallery/icons/gallery/20x20/drawer.png | Bin 0 -> 123 bytes .../gallery/icons/gallery/20x20/menu.png | Bin 0 -> 123 bytes .../gallery/icons/gallery/20x20@2/back.png | Bin 0 -> 184 bytes .../gallery/icons/gallery/20x20@2/drawer.png | Bin 0 -> 126 bytes .../gallery/icons/gallery/20x20@2/menu.png | Bin 0 -> 158 bytes .../gallery/icons/gallery/20x20@3/back.png | Bin 0 -> 227 bytes .../gallery/icons/gallery/20x20@3/drawer.png | Bin 0 -> 130 bytes .../gallery/icons/gallery/20x20@3/menu.png | Bin 0 -> 193 bytes .../gallery/icons/gallery/20x20@4/back.png | Bin 0 -> 246 bytes .../gallery/icons/gallery/20x20@4/drawer.png | Bin 0 -> 131 bytes .../gallery/icons/gallery/20x20@4/menu.png | Bin 0 -> 223 bytes .../gallery/icons/gallery/index.theme | 24 + .../quickcontrols/gallery/images/arrow.png | Bin 0 -> 319 bytes .../quickcontrols/gallery/images/arrow@2x.png | Bin 0 -> 476 bytes .../quickcontrols/gallery/images/arrow@3x.png | Bin 0 -> 611 bytes .../quickcontrols/gallery/images/arrow@4x.png | Bin 0 -> 758 bytes .../quickcontrols/gallery/images/arrows.png | Bin 0 -> 458 bytes .../gallery/images/arrows@2x.png | Bin 0 -> 699 bytes .../gallery/images/arrows@3x.png | Bin 0 -> 942 bytes .../gallery/images/arrows@4x.png | Bin 0 -> 1211 bytes .../quickcontrols/gallery/images/qt-logo.png | Bin 0 -> 2849 bytes .../gallery/images/qt-logo@2x.png | Bin 0 -> 4936 bytes .../gallery/images/qt-logo@3x.png | Bin 0 -> 7254 bytes .../gallery/images/qt-logo@4x.png | Bin 0 -> 9505 bytes .../gallery/pages/BusyIndicatorPage.qml | 28 + .../gallery/pages/ButtonPage.qml | 44 + .../gallery/pages/CheckBoxPage.qml | 40 + .../gallery/pages/ComboBoxPage.qml | 51 + .../gallery/pages/DelayButtonPage.qml | 27 + .../gallery/pages/DelegatePage.qml | 201 + .../quickcontrols/gallery/pages/DialPage.qml | 27 + .../gallery/pages/DialogPage.qml | 179 + .../quickcontrols/gallery/pages/FramePage.qml | 47 + .../gallery/pages/GroupBoxPage.qml | 48 + .../gallery/pages/PageIndicatorPage.qml | 27 + .../gallery/pages/ProgressBarPage.qml | 33 + .../gallery/pages/RadioButtonPage.qml | 39 + .../gallery/pages/RangeSliderPage.qml | 35 + .../gallery/pages/ScrollBarPage.qml | 40 + .../gallery/pages/ScrollIndicatorPage.qml | 40 + .../gallery/pages/ScrollablePage.qml | 24 + .../gallery/pages/SliderPage.qml | 33 + .../gallery/pages/SpinBoxPage.qml | 29 + .../gallery/pages/StackViewPage.qml | 58 + .../gallery/pages/SwipeViewPage.qml | 49 + .../gallery/pages/SwitchPage.qml | 39 + .../gallery/pages/TabBarPage.qml | 57 + .../gallery/pages/TextAreaPage.qml | 29 + .../gallery/pages/TextFieldPage.qml | 27 + .../gallery/pages/ToolTipPage.qml | 30 + .../gallery/pages/TumblerPage.qml | 26 + examples/quickcontrols/gallery/qmldir | 1 + .../gallery/qtquickcontrols2.conf | 8 + examples/quickcontrols/gallery/rc_gallery.py | 4410 ++ .../modelview/modelview.pyproject | 3 + .../modelview/modelviewclient.py | 24 + .../modelview/modelviewserver.py | 103 + examples/samplebinding/CMakeLists.txt | 252 + examples/samplebinding/bindings.h | 10 + examples/samplebinding/bindings.xml | 31 + examples/samplebinding/doc/bindings.h.rstinc | 2 + .../samplebinding/doc/bindings.xml.rstinc | 31 + .../samplebinding/doc/samplebinding.pyproject | 11 + examples/samplebinding/doc/samplebinding.rst | 288 + examples/samplebinding/icecream.cpp | 26 + examples/samplebinding/icecream.h | 26 + examples/samplebinding/macros.h | 21 + examples/samplebinding/main.py | 64 + examples/samplebinding/truck.cpp | 93 + examples/samplebinding/truck.h | 46 + examples/scriptableapplication/CMakeLists.txt | 228 + .../doc/scriptableapplication.pyproject | 9 + .../doc/scriptableapplication.rst | 195 + examples/scriptableapplication/main.cpp | 17 + examples/scriptableapplication/mainwindow.cpp | 107 + examples/scriptableapplication/mainwindow.h | 29 + examples/scriptableapplication/pyside.pri | 52 + .../scriptableapplication/pythonutils.cpp | 134 + examples/scriptableapplication/pythonutils.h | 34 + .../scriptableapplication.pro | 85 + .../scriptableapplication.xml | 9 + .../scriptableapplication/wrappedclasses.h | 9 + examples/serialbus/can/bitratebox.py | 55 + examples/serialbus/can/can.pyproject | 10 + examples/serialbus/can/can.qrc | 8 + examples/serialbus/can/canbusdeviceinfobox.py | 49 + examples/serialbus/can/canbusdeviceinfobox.ui | 86 + .../serialbus/can/canbusdeviceinfodialog.py | 16 + .../serialbus/can/canbusdeviceinfodialog.ui | 66 + examples/serialbus/can/connectdialog.py | 235 + examples/serialbus/can/connectdialog.ui | 278 + examples/serialbus/can/doc/can.rst | 6 + .../serialbus/can/images/application-exit.png | Bin 0 -> 11200 bytes examples/serialbus/can/images/clear.png | Bin 0 -> 12543 bytes examples/serialbus/can/images/connect.png | Bin 0 -> 15374 bytes examples/serialbus/can/images/disconnect.png | Bin 0 -> 15092 bytes examples/serialbus/can/main.py | 19 + examples/serialbus/can/mainwindow.py | 232 + examples/serialbus/can/mainwindow.ui | 207 + examples/serialbus/can/rc_can.py | 3453 ++ examples/serialbus/can/receivedframesmodel.py | 142 + examples/serialbus/can/receivedframesview.py | 54 + examples/serialbus/can/sendframebox.py | 195 + examples/serialbus/can/sendframebox.ui | 211 + .../serialbus/can/ui_canbusdeviceinfobox.py | 88 + .../can/ui_canbusdeviceinfodialog.py | 64 + examples/serialbus/can/ui_connectdialog.py | 252 + examples/serialbus/can/ui_mainwindow.py | 172 + examples/serialbus/can/ui_sendframebox.py | 188 + .../modbus/modbusclient/doc/modbusclient.rst | 9 + .../modbusclient/images/application-exit.png | Bin 0 -> 11200 bytes .../modbus/modbusclient/images/connect.png | Bin 0 -> 15374 bytes .../modbus/modbusclient/images/disconnect.png | Bin 0 -> 15092 bytes .../modbus/modbusclient/images/settings.png | Bin 0 -> 16039 bytes .../serialbus/modbus/modbusclient/main.py | 26 + .../modbus/modbusclient/mainwindow.py | 331 + .../modbus/modbusclient/mainwindow.ui | 520 + .../modbusclient/modbusclient.pyproject | 5 + .../modbus/modbusclient/modbusclient.qrc | 8 + .../modbus/modbusclient/rc_modbusclient.py | 3672 ++ .../modbus/modbusclient/settingsdialog.py | 52 + .../modbus/modbusclient/settingsdialog.ui | 237 + .../modbus/modbusclient/ui_mainwindow.py | 377 + .../modbus/modbusclient/ui_settingsdialog.py | 173 + .../modbus/modbusclient/writeregistermodel.py | 118 + examples/serialport/terminal/console.py | 49 + examples/serialport/terminal/doc/terminal.rst | 9 + .../terminal/images/application-exit.png | Bin 0 -> 11200 bytes examples/serialport/terminal/images/clear.png | Bin 0 -> 12543 bytes .../serialport/terminal/images/connect.png | Bin 0 -> 15374 bytes .../serialport/terminal/images/disconnect.png | Bin 0 -> 15092 bytes .../serialport/terminal/images/settings.png | Bin 0 -> 16039 bytes examples/serialport/terminal/main.py | 17 + examples/serialport/terminal/mainwindow.py | 108 + examples/serialport/terminal/mainwindow.ui | 162 + examples/serialport/terminal/rc_terminal.py | 4464 ++ .../serialport/terminal/settingsdialog.py | 179 + .../serialport/terminal/settingsdialog.ui | 177 + .../serialport/terminal/terminal.pyproject | 4 + examples/serialport/terminal/terminal.qrc | 9 + examples/serialport/terminal/ui_mainwindow.py | 149 + .../serialport/terminal/ui_settingsdialog.py | 181 + .../audiopanning/audiopanning.pyproject | 3 + .../audiopanning/doc/audiopanning.rst | 15 + examples/spatialaudio/audiopanning/main.py | 193 + .../speech/hello_speak/doc/hello_speak.rst | 16 + .../speech/hello_speak/doc/hello_speak.webp | Bin 0 -> 25432 bytes .../speech/hello_speak/hello_speak.pyproject | 5 + examples/speech/hello_speak/main.py | 20 + examples/speech/hello_speak/mainwindow.py | 134 + examples/speech/hello_speak/mainwindow.ui | 267 + examples/speech/hello_speak/ui_mainwindow.py | 211 + examples/sql/books/bookdelegate.py | 94 + examples/sql/books/books.pyproject | 5 + examples/sql/books/books.qrc | 5 + examples/sql/books/bookwindow.py | 98 + examples/sql/books/bookwindow.ui | 164 + examples/sql/books/createdb.py | 96 + examples/sql/books/doc/books.png | Bin 0 -> 59045 bytes examples/sql/books/doc/books.rst | 11 + examples/sql/books/images/star.png | Bin 0 -> 782 bytes examples/sql/books/main.py | 16 + examples/sql/books/rc_books.py | 88 + examples/sql/books/ui_bookwindow.py | 135 + .../sql/relationaltablemodel/connection.py | 18 + .../relationaltablemodel.py | 77 + .../moveblocks/doc/moveblocks.png | Bin 0 -> 4532 bytes .../moveblocks/doc/moveblocks.rst | 10 + .../statemachine/moveblocks/moveblocks.py | 222 + .../moveblocks/moveblocks.pyproject | 3 + examples/statemachine/ping_pong/ping_pong.py | 70 + .../ping_pong/ping_pong.pyproject | 3 + examples/statemachine/rogue/rogue.py | 179 + examples/statemachine/rogue/rogue.pyproject | 3 + .../trafficlight/doc/trafficlight.png | Bin 0 -> 4786 bytes .../trafficlight/doc/trafficlight.rst | 10 + .../statemachine/trafficlight/trafficlight.py | 117 + .../trafficlight/trafficlight.pyproject | 3 + examples/uitools/uiloader/uiloader.py | 35 + examples/uitools/uiloader/uiloader.pyproject | 3 + examples/utils/pyside_config.py | 338 + examples/webchannel/standalone/core.py | 25 + examples/webchannel/standalone/dialog.py | 32 + examples/webchannel/standalone/dialog.ui | 48 + .../webchannel/standalone/doc/standalone.png | Bin 0 -> 47586 bytes .../webchannel/standalone/doc/standalone.rst | 8 + examples/webchannel/standalone/index.html | 79 + examples/webchannel/standalone/main.py | 62 + .../standalone/standalone.pyproject | 4 + examples/webchannel/standalone/ui_dialog.py | 57 + .../standalone/websocketclientwrapper.py | 35 + .../standalone/websockettransport.py | 51 + .../nanobrowser/ApplicationRoot.qml | 40 + .../nanobrowser/BrowserDialog.qml | 27 + .../nanobrowser/BrowserWindow.qml | 817 + .../nanobrowser/DownloadView.qml | 127 + .../webenginequick/nanobrowser/FindBar.qml | 95 + .../nanobrowser/FullScreenNotification.qml | 62 + .../nanobrowser/doc/nanobrowser.png | Bin 0 -> 56339 bytes .../nanobrowser/doc/nanobrowser.rst | 8 + .../nanobrowser/icons/3rdparty/COPYING | 1 + .../nanobrowser/icons/3rdparty/go-next.png | Bin 0 -> 930 bytes .../icons/3rdparty/go-previous.png | Bin 0 -> 955 bytes .../icons/3rdparty/process-stop.png | Bin 0 -> 1272 bytes .../icons/3rdparty/view-refresh.png | Bin 0 -> 1364 bytes .../nanobrowser/nanobrowser.pyproject | 6 + .../nanobrowser/quicknanobrowser.py | 65 + .../nanobrowser/rc_resources.py | 348 + .../webenginequick/nanobrowser/resources.qrc | 8 + .../markdowneditor/document.py | 24 + .../webenginewidgets/markdowneditor/main.py | 20 + .../markdowneditor/mainwindow.py | 137 + .../markdowneditor/mainwindow.ui | 107 + .../markdowneditor/markdowneditor.pyproject | 8 + .../markdowneditor/previewpage.py | 18 + .../markdowneditor/rc_markdowneditor.py | 852 + .../resources/3rdparty/MARKDOWN-LICENSE.txt | 16 + .../resources/3rdparty/MARKED-LICENSE.txt | 19 + .../resources/3rdparty/markdown.css | 260 + .../resources/3rdparty/marked.js | 1514 + .../resources/3rdparty/qt_attribution.json | 35 + .../markdowneditor/resources/default.md | 12 + .../markdowneditor/resources/index.html | 32 + .../resources/markdowneditor.qrc | 8 + .../markdowneditor/ui_mainwindow.py | 115 + .../notifications/doc/notifications.png | Bin 0 -> 21374 bytes .../notifications/doc/notifications.rst | 8 + .../webenginewidgets/notifications/main.py | 57 + .../notifications/notificationpopup.py | 68 + .../notifications/notifications.pyproject | 3 + .../notifications/resources/icon.png | Bin 0 -> 2252 bytes .../notifications/resources/index.html | 91 + .../doc/widgetsnanobrowser.png | Bin 0 -> 51615 bytes .../doc/widgetsnanobrowser.rst | 8 + .../widgetsnanobrowser/widgetsnanobrowser.py | 70 + .../widgetsnanobrowser.pyproject | 3 + examples/widgetbinding/CMakeLists.txt | 294 + examples/widgetbinding/README.md | 76 + examples/widgetbinding/bindings.h | 7 + examples/widgetbinding/bindings.xml | 9 + examples/widgetbinding/dialog.py | 33 + examples/widgetbinding/macros.h | 16 + examples/widgetbinding/main.py | 14 + .../widgetbinding/registerwigglywidget.py | 31 + examples/widgetbinding/wigglywidget.cpp | 92 + examples/widgetbinding/wigglywidget.h | 40 + examples/widgetbinding/wigglywidget.py | 69 + .../animation/animatedtiles/animatedtiles.py | 230 + .../animatedtiles/animatedtiles.pyproject | 3 + .../animation/animatedtiles/animatedtiles.qrc | 11 + .../animatedtiles/animatedtiles_rc.py | 6108 +++ .../animatedtiles/doc/animatedtiles.png | Bin 0 -> 299266 bytes .../animatedtiles/doc/animatedtiles.rst | 8 + .../animatedtiles/images/Time-For-Lunch-2.jpg | Bin 0 -> 32471 bytes .../animatedtiles/images/centered.png | Bin 0 -> 892 bytes .../animatedtiles/images/ellipse.png | Bin 0 -> 10767 bytes .../animatedtiles/images/figure8.png | Bin 0 -> 14050 bytes .../animatedtiles/images/kinetic.png | Bin 0 -> 6776 bytes .../animation/animatedtiles/images/random.png | Bin 0 -> 14969 bytes .../animation/animatedtiles/images/tile.png | Bin 0 -> 16337 bytes .../appchooser/accessories-dictionary.png | Bin 0 -> 5396 bytes .../animation/appchooser/akregator.png | Bin 0 -> 4873 bytes .../animation/appchooser/appchooser.py | 99 + .../animation/appchooser/appchooser.pyproject | 3 + .../animation/appchooser/appchooser.qrc | 8 + .../animation/appchooser/appchooser_rc.py | 1424 + .../widgets/animation/appchooser/digikam.png | Bin 0 -> 3334 bytes .../animation/appchooser/doc/appchooser.png | Bin 0 -> 22259 bytes .../animation/appchooser/doc/appchooser.rst | 9 + examples/widgets/animation/appchooser/k3b.png | Bin 0 -> 8220 bytes .../widgets/animation/easing/doc/easing.png | Bin 0 -> 24136 bytes .../widgets/animation/easing/doc/easing.rst | 9 + examples/widgets/animation/easing/easing.py | 221 + .../widgets/animation/easing/easing.pyproject | 3 + examples/widgets/animation/easing/form.ui | 270 + examples/widgets/animation/easing/ui_form.py | 178 + .../widgets/animation/states/doc/states.png | Bin 0 -> 21700 bytes .../widgets/animation/states/doc/states.rst | 8 + examples/widgets/animation/states/states.py | 235 + .../widgets/animation/states/states.pyproject | 3 + .../widgets/animation/states/states_rc.py | 2182 + .../desktop/screenshot/doc/screenshot.png | Bin 0 -> 13890 bytes .../desktop/screenshot/doc/screenshot.rst | 8 + .../widgets/desktop/screenshot/screenshot.py | 156 + .../desktop/screenshot/screenshot.pyproject | 3 + .../widgets/desktop/systray/images/bad.png | Bin 0 -> 2496 bytes .../widgets/desktop/systray/images/heart.png | Bin 0 -> 25780 bytes .../widgets/desktop/systray/images/trash.png | Bin 0 -> 12128 bytes examples/widgets/desktop/systray/main.py | 21 + .../widgets/desktop/systray/rc_systray.py | 2581 + .../widgets/desktop/systray/systray.pyproject | 3 + examples/widgets/desktop/systray/systray.qrc | 7 + examples/widgets/desktop/systray/window.py | 236 + .../dialogs/classwizard/classwizard.py | 380 + .../dialogs/classwizard/classwizard.pyproject | 3 + .../dialogs/classwizard/classwizard.qrc | 7 + .../dialogs/classwizard/classwizard_rc.py | 2316 + .../dialogs/classwizard/doc/classwizard.png | Bin 0 -> 32720 bytes .../dialogs/classwizard/doc/classwizard.rst | 11 + .../dialogs/classwizard/images/background.png | Bin 0 -> 20018 bytes .../dialogs/classwizard/images/banner.png | Bin 0 -> 3947 bytes .../dialogs/classwizard/images/watermark1.png | Bin 0 -> 12190 bytes .../dialogs/classwizard/listchooser.py | 173 + .../widgets/dialogs/extension/extension.py | 77 + .../dialogs/extension/extension.pyproject | 3 + .../licensewizard/doc/licensewizard.png | Bin 0 -> 47064 bytes .../licensewizard/doc/licensewizard.rst | 9 + .../dialogs/licensewizard/images/logo.png | Bin 0 -> 1810 bytes .../licensewizard/images/watermark.png | Bin 0 -> 34998 bytes .../dialogs/licensewizard/licensewizard.py | 298 + .../licensewizard/licensewizard.pyproject | 3 + .../widgets/dialogs/licensewizard/main.py | 15 + .../standarddialogs/standarddialogs.py | 442 + .../standarddialogs/standarddialogs.pyproject | 3 + .../dialogs/tabdialog/doc/tabdialog.png | Bin 0 -> 13222 bytes .../dialogs/tabdialog/doc/tabdialog.rst | 13 + .../widgets/dialogs/tabdialog/tabdialog.py | 178 + .../dialogs/tabdialog/tabdialog.pyproject | 3 + .../dialogs/trivialwizard/trivialwizard.py | 63 + .../trivialwizard/trivialwizard.pyproject | 3 + .../draggableicons/doc/draggableicons.png | Bin 0 -> 21766 bytes .../draggableicons/doc/draggableicons.rst | 9 + .../draggableicons/draggableicons.py | 128 + .../draggableicons/draggableicons.qrc | 7 + .../draggableicons/images/boat.png | Bin 0 -> 2772 bytes .../draganddrop/draggableicons/images/car.png | Bin 0 -> 2963 bytes .../draggableicons/images/house.png | Bin 0 -> 3292 bytes .../draggabletext/draggabletext.py | 118 + .../draggabletext/draggabletext.pyproject | 3 + .../draggabletext/draggabletext.qrc | 5 + .../draggabletext/draggabletext_rc.py | 55 + .../draganddrop/draggabletext/words.txt | 41 + .../draganddrop/dropsite/doc/dropsite.rst | 8 + .../widgets/draganddrop/dropsite/droparea.py | 67 + .../draganddrop/dropsite/dropsite.pyproject | 3 + .../draganddrop/dropsite/dropsitewindow.py | 115 + examples/widgets/draganddrop/dropsite/main.py | 15 + .../widgets/effects/blurpicker/blureffect.py | 33 + .../widgets/effects/blurpicker/blurpicker.py | 105 + .../effects/blurpicker/blurpicker.pyproject | 17 + .../effects/blurpicker/doc/blurpicker.png | Bin 0 -> 48358 bytes .../effects/blurpicker/doc/blurpicker.rst | 9 + .../effects/blurpicker/images/README.txt | 5 + .../images/accessories-calculator.png | Bin 0 -> 3760 bytes .../images/accessories-text-editor.png | Bin 0 -> 4746 bytes .../effects/blurpicker/images/background.jpg | Bin 0 -> 16259 bytes .../blurpicker/images/help-browser.png | Bin 0 -> 5392 bytes .../blurpicker/images/internet-group-chat.png | Bin 0 -> 2809 bytes .../blurpicker/images/internet-mail.png | Bin 0 -> 3899 bytes .../images/internet-web-browser.png | Bin 0 -> 6376 bytes .../blurpicker/images/office-calendar.png | Bin 0 -> 4010 bytes .../blurpicker/images/system-users.png | Bin 0 -> 5353 bytes examples/widgets/effects/blurpicker/main.py | 20 + examples/widgets/effects/lighting/lighting.py | 108 + .../effects/lighting/lighting.pyproject | 3 + examples/widgets/gettext/gettext.pyproject | 4 + examples/widgets/gettext/main.py | 60 + .../graphicsview/anchorlayout/anchorlayout.py | 90 + .../anchorlayout/anchorlayout.pyproject | 3 + .../collidingmice/collidingmice.py | 180 + .../collidingmice/collidingmice.pyproject | 3 + .../graphicsview/collidingmice/mice_rc.py | 232 + .../graphicsview/diagramscene/diagramscene.py | 816 + .../diagramscene/diagramscene.pyproject | 3 + .../diagramscene/diagramscene.qrc | 19 + .../diagramscene/diagramscene_rc.py | 417 + .../diagramscene/images/background1.png | Bin 0 -> 112 bytes .../diagramscene/images/background2.png | Bin 0 -> 114 bytes .../diagramscene/images/background3.png | Bin 0 -> 116 bytes .../diagramscene/images/background4.png | Bin 0 -> 96 bytes .../graphicsview/diagramscene/images/bold.png | Bin 0 -> 274 bytes .../diagramscene/images/bringtofront.png | Bin 0 -> 293 bytes .../diagramscene/images/delete.png | Bin 0 -> 831 bytes .../diagramscene/images/floodfill.png | Bin 0 -> 282 bytes .../diagramscene/images/italic.png | Bin 0 -> 247 bytes .../diagramscene/images/linecolor.png | Bin 0 -> 145 bytes .../diagramscene/images/linepointer.png | Bin 0 -> 141 bytes .../diagramscene/images/pointer.png | Bin 0 -> 173 bytes .../diagramscene/images/sendtoback.png | Bin 0 -> 318 bytes .../diagramscene/images/textpointer.png | Bin 0 -> 753 bytes .../diagramscene/images/underline.png | Bin 0 -> 250 bytes .../dragdroprobot/dragdroprobot.py | 254 + .../dragdroprobot/dragdroprobot.pyproject | 3 + .../dragdroprobot/dragdroprobot.qrc | 5 + .../dragdroprobot/dragdroprobot_rc.py | 975 + .../dragdroprobot/images/head.png | Bin 0 -> 14972 bytes .../graphicsview/elasticnodes/elasticnodes.py | 393 + .../elasticnodes/elasticnodes.pyproject | 3 + examples/widgets/imageviewer/imageviewer.py | 277 + .../widgets/imageviewer/imageviewer.pyproject | 3 + examples/widgets/imageviewer/main.py | 27 + .../itemviews/address_book/adddialogwidget.py | 65 + .../itemviews/address_book/address_book.py | 96 + .../address_book/address_book.pyproject | 4 + .../itemviews/address_book/addresswidget.py | 214 + .../address_book/doc/address_book.png | Bin 0 -> 4922 bytes .../address_book/doc/address_book.rst | 9 + .../itemviews/address_book/newaddresstab.py | 56 + .../itemviews/address_book/tablemodel.py | 109 + .../basicfiltermodel/basicsortfiltermodel.py | 178 + .../basicsortfiltermodel.pyproject | 3 + examples/widgets/itemviews/dirview/dirview.py | 60 + .../itemviews/dirview/dirview.pyproject | 3 + .../widgets/itemviews/dirview/doc/dirview.rst | 5 + .../itemviews/editabletreemodel/default.txt | 40 + .../doc/editabletreemodel.png | Bin 0 -> 111556 bytes .../doc/editabletreemodel.rst | 10 + .../editabletreemodel.pyproject | 7 + .../itemviews/editabletreemodel/main.py | 14 + .../itemviews/editabletreemodel/mainwindow.py | 163 + .../itemviews/editabletreemodel/treeitem.py | 94 + .../itemviews/editabletreemodel/treemodel.py | 199 + .../widgets/itemviews/fetchmore/fetchmore.py | 137 + .../itemviews/fetchmore/fetchmore.pyproject | 3 + .../itemviews/jsonmodel/doc/jsonmodel.png | Bin 0 -> 14837 bytes .../itemviews/jsonmodel/doc/jsonmodel.rst | 8 + .../widgets/itemviews/jsonmodel/example.json | 26 + .../widgets/itemviews/jsonmodel/jsonmodel.py | 320 + .../itemviews/jsonmodel/jsonmodel.pyproject | 3 + .../spinboxdelegate/doc/spinboxdelegate.rst | 5 + .../spinboxdelegate/spinboxdelegate.py | 78 + .../spinboxdelegate/spinboxdelegate.pyproject | 3 + .../itemviews/spreadsheet/doc/spreadsheet.png | Bin 0 -> 40187 bytes .../itemviews/spreadsheet/doc/spreadsheet.rst | 10 + .../widgets/itemviews/spreadsheet/main.py | 19 + .../itemviews/spreadsheet/spreadsheet.py | 544 + .../spreadsheet/spreadsheetdelegate.py | 67 + .../itemviews/spreadsheet/spreadsheetitem.py | 122 + .../stardelegate/doc/stardelegate.png | Bin 0 -> 22482 bytes .../stardelegate/doc/stardelegate.rst | 10 + .../itemviews/stardelegate/stardelegate.py | 136 + .../stardelegate/stardelegate.pyproject | 3 + .../itemviews/stardelegate/stareditor.py | 63 + .../itemviews/stardelegate/starrating.py | 62 + .../layouts/basiclayouts/basiclayouts.py | 99 + .../basiclayouts/basiclayouts.pyproject | 3 + .../layouts/basiclayouts/doc/basiclayouts.png | Bin 0 -> 20931 bytes .../layouts/basiclayouts/doc/basiclayouts.rst | 9 + .../layouts/borderlayout/borderlayout.py | 248 + .../borderlayout/borderlayout.pyproject | 3 + .../layouts/borderlayout/doc/borderlayout.png | Bin 0 -> 5450 bytes .../layouts/borderlayout/doc/borderlayout.rst | 10 + .../dynamiclayouts/doc/dynamiclayouts.png | Bin 0 -> 14088 bytes .../dynamiclayouts/doc/dynamiclayouts.rst | 10 + .../layouts/dynamiclayouts/dynamiclayouts.py | 132 + .../dynamiclayouts/dynamiclayouts.pyproject | 3 + .../layouts/flowlayout/doc/flowlayout.png | Bin 0 -> 29229 bytes .../layouts/flowlayout/doc/flowlayout.rst | 11 + .../widgets/layouts/flowlayout/flowlayout.py | 120 + .../layouts/flowlayout/flowlayout.pyproject | 3 + examples/widgets/linguist/example_de.ts | 40 + examples/widgets/linguist/linguist.pyproject | 3 + examples/widgets/linguist/linguist.qrc | 5 + examples/widgets/linguist/linguist_rc.py | 68 + examples/widgets/linguist/main.py | 55 + .../mainwindows/application/application.py | 259 + .../application/application.pyproject | 3 + .../mainwindows/application/application.qrc | 10 + .../mainwindows/application/application_rc.py | 608 + .../mainwindows/application/images/copy.png | Bin 0 -> 1338 bytes .../mainwindows/application/images/cut.png | Bin 0 -> 1323 bytes .../mainwindows/application/images/new.png | Bin 0 -> 852 bytes .../mainwindows/application/images/open.png | Bin 0 -> 2073 bytes .../mainwindows/application/images/paste.png | Bin 0 -> 1645 bytes .../mainwindows/application/images/save.png | Bin 0 -> 1187 bytes .../dockwidgets/doc/dockwidgets.png | Bin 0 -> 41007 bytes .../dockwidgets/doc/dockwidgets.rst | 9 + .../mainwindows/dockwidgets/dockwidgets.py | 271 + .../dockwidgets/dockwidgets.pyproject | 3 + .../mainwindows/dockwidgets/dockwidgets.qrc | 8 + .../mainwindows/dockwidgets/dockwidgets_rc.py | 464 + .../mainwindows/dockwidgets/images/new.png | Bin 0 -> 977 bytes .../mainwindows/dockwidgets/images/print.png | Bin 0 -> 1732 bytes .../mainwindows/dockwidgets/images/save.png | Bin 0 -> 1894 bytes .../mainwindows/dockwidgets/images/undo.png | Bin 0 -> 1768 bytes .../widgets/mainwindows/mdi/images/copy.png | Bin 0 -> 1338 bytes .../widgets/mainwindows/mdi/images/cut.png | Bin 0 -> 1323 bytes .../widgets/mainwindows/mdi/images/new.png | Bin 0 -> 852 bytes .../widgets/mainwindows/mdi/images/open.png | Bin 0 -> 2073 bytes .../widgets/mainwindows/mdi/images/paste.png | Bin 0 -> 1645 bytes .../widgets/mainwindows/mdi/images/save.png | Bin 0 -> 1187 bytes examples/widgets/mainwindows/mdi/mdi.py | 439 + .../widgets/mainwindows/mdi/mdi.pyproject | 3 + examples/widgets/mainwindows/mdi/mdi.qrc | 10 + examples/widgets/mainwindows/mdi/mdi_rc.py | 608 + .../painting/basicdrawing/basicdrawing.py | 313 + .../basicdrawing/basicdrawing.pyproject | 3 + .../painting/basicdrawing/basicdrawing.qrc | 6 + .../painting/basicdrawing/basicdrawing_rc.py | 135 + .../basicdrawing/doc/basicdrawing.png | Bin 0 -> 18655 bytes .../basicdrawing/doc/basicdrawing.rst | 15 + .../painting/basicdrawing/images/brick.png | Bin 0 -> 856 bytes .../painting/basicdrawing/images/qt-logo.png | Bin 0 -> 533 bytes .../concentriccircles/concentriccircles.py | 108 + .../concentriccircles.pyproject | 3 + .../doc/concentriccircles.png | Bin 0 -> 51606 bytes .../doc/concentriccircles.rst | 12 + .../widgets/painting/painter/doc/painter.png | Bin 0 -> 11442 bytes .../widgets/painting/painter/doc/painter.rst | 8 + examples/widgets/painting/painter/painter.py | 202 + .../painting/painter/painter.pyproject | 3 + examples/widgets/painting/plot/doc/plot.png | Bin 0 -> 13030 bytes examples/widgets/painting/plot/doc/plot.rst | 36 + examples/widgets/painting/plot/plot.py | 66 + examples/widgets/painting/plot/plot.pyproject | 3 + .../widgets/richtext/orderform/orderform.py | 267 + .../richtext/orderform/orderform.pyproject | 3 + .../doc/syntaxhighlighter.png | Bin 0 -> 43420 bytes .../doc/syntaxhighlighter.rst | 8 + .../syntaxhighlighter/examples/example | 79 + .../syntaxhighlighter/syntaxhighlighter.py | 109 + .../syntaxhighlighter.pyproject | 3 + .../richtext/textedit/doc/textedit.png | Bin 0 -> 120703 bytes .../richtext/textedit/doc/textedit.rst | 8 + .../widgets/richtext/textedit/example.html | 79 + .../richtext/textedit/images/logo32.png | Bin 0 -> 1410 bytes .../textedit/images/mac/checkbox-checked.png | Bin 0 -> 1167 bytes .../richtext/textedit/images/mac/checkbox.png | Bin 0 -> 779 bytes .../richtext/textedit/images/mac/editcopy.png | Bin 0 -> 1468 bytes .../richtext/textedit/images/mac/editcut.png | Bin 0 -> 1512 bytes .../textedit/images/mac/editpaste.png | Bin 0 -> 1906 bytes .../richtext/textedit/images/mac/editredo.png | Bin 0 -> 1752 bytes .../richtext/textedit/images/mac/editundo.png | Bin 0 -> 1746 bytes .../textedit/images/mac/exportpdf.png | Bin 0 -> 12637 bytes .../richtext/textedit/images/mac/filenew.png | Bin 0 -> 1172 bytes .../richtext/textedit/images/mac/fileopen.png | Bin 0 -> 2168 bytes .../textedit/images/mac/fileprint.png | Bin 0 -> 2087 bytes .../richtext/textedit/images/mac/filesave.png | Bin 0 -> 2699 bytes .../images/mac/format-indent-less.png | Bin 0 -> 1201 bytes .../images/mac/format-indent-more.png | Bin 0 -> 993 bytes .../richtext/textedit/images/mac/textbold.png | Bin 0 -> 1611 bytes .../textedit/images/mac/textcenter.png | Bin 0 -> 1404 bytes .../textedit/images/mac/textitalic.png | Bin 0 -> 1164 bytes .../textedit/images/mac/textjustify.png | Bin 0 -> 1257 bytes .../richtext/textedit/images/mac/textleft.png | Bin 0 -> 1235 bytes .../textedit/images/mac/textright.png | Bin 0 -> 1406 bytes .../textedit/images/mac/textunder.png | Bin 0 -> 1183 bytes .../textedit/images/mac/textundercolor.png | Bin 0 -> 6916 bytes .../richtext/textedit/images/mac/zoomin.png | Bin 0 -> 1696 bytes .../richtext/textedit/images/mac/zoomout.png | Bin 0 -> 1662 bytes .../textedit/images/win/checkbox-checked.png | Bin 0 -> 1167 bytes .../richtext/textedit/images/win/checkbox.png | Bin 0 -> 779 bytes .../richtext/textedit/images/win/editcopy.png | Bin 0 -> 1325 bytes .../richtext/textedit/images/win/editcut.png | Bin 0 -> 1896 bytes .../textedit/images/win/editpaste.png | Bin 0 -> 1482 bytes .../richtext/textedit/images/win/editredo.png | Bin 0 -> 1787 bytes .../richtext/textedit/images/win/editundo.png | Bin 0 -> 1768 bytes .../textedit/images/win/exportpdf.png | Bin 0 -> 1215 bytes .../richtext/textedit/images/win/filenew.png | Bin 0 -> 768 bytes .../richtext/textedit/images/win/fileopen.png | Bin 0 -> 1662 bytes .../textedit/images/win/fileprint.png | Bin 0 -> 1456 bytes .../richtext/textedit/images/win/filesave.png | Bin 0 -> 1205 bytes .../images/win/format-indent-less.png | Bin 0 -> 1201 bytes .../images/win/format-indent-more.png | Bin 0 -> 993 bytes .../richtext/textedit/images/win/textbold.png | Bin 0 -> 1134 bytes .../textedit/images/win/textcenter.png | Bin 0 -> 627 bytes .../textedit/images/win/textitalic.png | Bin 0 -> 829 bytes .../textedit/images/win/textjustify.png | Bin 0 -> 695 bytes .../richtext/textedit/images/win/textleft.png | Bin 0 -> 673 bytes .../textedit/images/win/textright.png | Bin 0 -> 677 bytes .../textedit/images/win/textunder.png | Bin 0 -> 971 bytes .../textedit/images/win/textundercolor.png | Bin 0 -> 6916 bytes .../richtext/textedit/images/win/zoomin.png | Bin 0 -> 1208 bytes .../richtext/textedit/images/win/zoomout.png | Bin 0 -> 1226 bytes examples/widgets/richtext/textedit/main.py | 42 + .../widgets/richtext/textedit/textedit.py | 716 + .../richtext/textedit/textedit.pyproject | 3 + .../widgets/richtext/textedit/textedit.qrc | 54 + .../widgets/richtext/textedit/textedit_rc.py | 6029 +++ .../richtext/textobject/doc/textobject.png | Bin 0 -> 5844 bytes .../richtext/textobject/doc/textobject.rst | 31 + .../richtext/textobject/files/heart.svg | 55 + .../widgets/richtext/textobject/textobject.py | 104 + .../richtext/textobject/textobject.pyproject | 3 + .../widgets/thread_signals/thread_signals.py | 62 + .../thread_signals/thread_signals.pyproject | 3 + .../doc/regularexpression.png | Bin 0 -> 33814 bytes .../doc/regularexpression.rst | 10 + .../regularexpression/regularexpression.py | 21 + .../regularexpression.pyproject | 3 + .../regularexpressiondialog.py | 457 + .../addressbook/addressbook.pyproject | 4 + .../tutorials/addressbook/doc/addressbook.png | Bin 0 -> 4989 bytes .../tutorials/addressbook/doc/addressbook.rst | 9 + .../widgets/tutorials/addressbook/part1.py | 38 + .../widgets/tutorials/addressbook/part2.py | 146 + .../widgets/tutorials/addressbook/part3.py | 215 + .../widgets/tutorials/addressbook/part4.py | 272 + .../widgets/tutorials/addressbook/part5.py | 332 + .../widgets/tutorials/addressbook/part6.py | 396 + .../widgets/tutorials/addressbook/part7.py | 448 + .../widgets/tutorials/cannon/cannon.pyproject | 5 + .../widgets/tutorials/cannon/doc/cannon.png | Bin 0 -> 2845 bytes .../widgets/tutorials/cannon/doc/cannon.rst | 8 + examples/widgets/tutorials/cannon/t1.py | 20 + examples/widgets/tutorials/cannon/t10.py | 152 + examples/widgets/tutorials/cannon/t11.py | 224 + examples/widgets/tutorials/cannon/t12.py | 275 + examples/widgets/tutorials/cannon/t13.py | 356 + examples/widgets/tutorials/cannon/t14.py | 409 + examples/widgets/tutorials/cannon/t2.py | 23 + examples/widgets/tutorials/cannon/t3.py | 25 + examples/widgets/tutorials/cannon/t4.py | 30 + examples/widgets/tutorials/cannon/t5.py | 41 + examples/widgets/tutorials/cannon/t6.py | 51 + examples/widgets/tutorials/cannon/t7.py | 73 + examples/widgets/tutorials/cannon/t8.py | 116 + examples/widgets/tutorials/cannon/t9.py | 122 + .../widgets/tutorials/modelview/1_readonly.py | 38 + .../tutorials/modelview/2_formatting.py | 65 + .../tutorials/modelview/3_changingmodel.py | 52 + .../widgets/tutorials/modelview/4_headers.py | 43 + .../widgets/tutorials/modelview/5_edit.py | 73 + .../widgets/tutorials/modelview/6_treeview.py | 41 + .../tutorials/modelview/7_selections.py | 70 + .../tutorials/modelview/doc/modelview.rst | 4 + .../tutorials/modelview/modelview.pyproject | 9 + .../charactermap/charactermap.pyproject | 4 + .../widgets/charactermap/characterwidget.py | 133 + .../widgets/charactermap/doc/charactermap.rst | 8 + .../widgets/charactermap/fontinfodialog.py | 47 + examples/widgets/widgets/charactermap/main.py | 17 + .../widgets/charactermap/mainwindow.py | 167 + .../widgets/digitalclock/digitalclock.py | 41 + .../digitalclock/digitalclock.pyproject | 3 + .../doc/digitalclock-screenshot.png | Bin 0 -> 726 bytes .../widgets/digitalclock/doc/digitalclock.rst | 12 + .../widgets/tetrix/doc/tetrix-screenshot.png | Bin 0 -> 5396 bytes .../widgets/widgets/tetrix/doc/tetrix.rst | 38 + examples/widgets/widgets/tetrix/tetrix.py | 471 + .../widgets/widgets/tetrix/tetrix.pyproject | 3 + .../widgetsgallery/doc/widgetsgallery.png | Bin 0 -> 49870 bytes .../widgetsgallery/doc/widgetsgallery.rst | 16 + examples/widgets/widgetsgallery/main.py | 16 + .../widgets/widgetsgallery/widgetgallery.py | 410 + .../widgetsgallery/widgetsgallery.pyproject | 3 + .../xml/dombookmarks/doc/dombookmarks.png | Bin 0 -> 35779 bytes .../xml/dombookmarks/doc/dombookmarks.rst | 12 + examples/xml/dombookmarks/dombookmarks.py | 230 + .../xml/dombookmarks/dombookmarks.pyproject | 3 + examples/xml/dombookmarks/jennifer.xbel | 69 + keyword-errors.lst | 43 + requirements-doc.txt | 6 + requirements.txt | 17 + setup.py | 42 + sources/pyside-tools/CMakeLists.txt | 83 + sources/pyside-tools/__init__.py | 0 sources/pyside-tools/android_deploy.py | 226 + sources/pyside-tools/android_deploy.pyproject | 9 + .../pyside-tools/cmake/PySideAndroid.cmake | 55 + .../cmake/PySideToolsHelpers.cmake | 37 + .../pyside-tools/cmake/PySideToolsSetup.cmake | 16 + sources/pyside-tools/deploy.py | 147 + sources/pyside-tools/deploy.pyproject | 6 + sources/pyside-tools/deploy_lib/__init__.py | 13 + .../deploy_lib/android/__init__.py | 10 + .../deploy_lib/android/android_helper.py | 61 + .../deploy_lib/android/buildozer.py | 84 + .../android/recipes/PySide6/__init__.tmpl.py | 43 + .../recipes/shiboken6/__init__.tmpl.py | 24 + sources/pyside-tools/deploy_lib/commands.py | 64 + sources/pyside-tools/deploy_lib/config.py | 448 + .../pyside-tools/deploy_lib/deploy_util.py | 122 + .../pyside-tools/deploy_lib/nuitka_helper.py | 59 + .../pyside-tools/deploy_lib/pyside_icon.jpg | Bin 0 -> 8157 bytes .../pyside-tools/deploy_lib/python_helper.py | 88 + sources/pyside-tools/metaobjectdump.py | 443 + sources/pyside-tools/project.py | 253 + sources/pyside-tools/project.pyproject | 4 + sources/pyside-tools/project/__init__.py | 25 + sources/pyside-tools/project/newproject.py | 165 + sources/pyside-tools/project/project_data.py | 215 + sources/pyside-tools/project/utils.py | 105 + sources/pyside-tools/pyside_tool.py | 206 + sources/pyside-tools/qml.py | 246 + sources/pyside-tools/qtpy2cpp.py | 62 + sources/pyside-tools/qtpy2cpp.pyproject | 7 + sources/pyside-tools/qtpy2cpp_lib/astdump.py | 111 + .../pyside-tools/qtpy2cpp_lib/formatter.py | 265 + sources/pyside-tools/qtpy2cpp_lib/nodedump.py | 50 + sources/pyside-tools/qtpy2cpp_lib/qt.py | 56 + .../tests/baseline/basic_test.cpp | 62 + .../qtpy2cpp_lib/tests/baseline/basic_test.py | 44 + .../qtpy2cpp_lib/tests/test_qtpy2cpp.py | 54 + .../pyside-tools/qtpy2cpp_lib/tokenizer.py | 55 + sources/pyside-tools/qtpy2cpp_lib/visitor.py | 443 + sources/pyside6/.cmake.conf | 5 + sources/pyside6/.gitattributes | 2 + sources/pyside6/.gitignore | 6 + sources/pyside6/CMakeLists.txt | 35 + sources/pyside6/COPYING | 501 + sources/pyside6/PySide6/CMakeLists.txt | 111 + .../PySide6/Qt3DAnimation/CMakeLists.txt | 66 + .../Qt3DAnimation/typesystem_3danimation.xml | 58 + .../pyside6/PySide6/Qt3DCore/CMakeLists.txt | 61 + .../PySide6/Qt3DCore/typesystem_3dcore.xml | 83 + .../pyside6/PySide6/Qt3DExtras/CMakeLists.txt | 83 + .../Qt3DExtras/typesystem_3dextras.xml | 57 + .../pyside6/PySide6/Qt3DInput/CMakeLists.txt | 54 + .../PySide6/Qt3DInput/typesystem_3dinput.xml | 57 + .../pyside6/PySide6/Qt3DLogic/CMakeLists.txt | 35 + .../PySide6/Qt3DLogic/typesystem_3dlogic.xml | 13 + .../pyside6/PySide6/Qt3DRender/CMakeLists.txt | 151 + .../Qt3DRender/typesystem_3drender.xml | 238 + .../PySide6/QtAxContainer/CMakeLists.txt | 47 + .../QtAxContainer_global.post.h.in | 1 + .../QtAxContainer/typesystem_axcontainer.xml | 39 + .../PySide6/QtBluetooth/CMakeLists.txt | 56 + .../QtBluetooth/typesystem_bluetooth.xml | 119 + .../pyside6/PySide6/QtCharts/CMakeLists.txt | 87 + .../PySide6/QtCharts/typesystem_charts.xml | 254 + .../PySide6/QtConcurrent/CMakeLists.txt | 34 + .../PySide6/QtConcurrent/curr_errors.txt | 21 + .../QtConcurrent/typesystem_concurrent.xml | 35 + sources/pyside6/PySide6/QtCore/CMakeLists.txt | 250 + .../PySide6/QtCore/QtCore_global.post.h.in | 1 + .../PySide6/QtCore/glue/core_snippets.cpp | 263 + .../PySide6/QtCore/glue/core_snippets_p.h | 55 + .../PySide6/QtCore/glue/qeasingcurve_glue.cpp | 123 + .../PySide6/QtCore/glue/qeasingcurve_glue.h | 30 + .../PySide6/QtCore/glue/qtcorehelper.cpp | 104 + .../PySide6/QtCore/typesystem_core.xml | 11 + .../PySide6/QtCore/typesystem_core_common.xml | 3382 ++ .../PySide6/QtCore/typesystem_core_win.xml | 32 + sources/pyside6/PySide6/QtDBus/CMakeLists.txt | 54 + .../PySide6/QtDBus/QtDBus_global.post.h.in | 1 + .../PySide6/QtDBus/typesystem_dbus.xml | 107 + .../QtDataVisualization/CMakeLists.txt | 73 + .../qtdatavisualization_helper.cpp | 97 + .../typesystem_datavisualization.xml | 475 + .../pyside6/PySide6/QtDesigner/CMakeLists.txt | 73 + .../QtDesigner/QtDesigner_global.post.h.in | 1 + .../QtDesigner/QtDesigner_global.pre.h.in | 3 + .../qpydesignercustomwidgetcollection.cpp | 219 + .../QtDesigner/typesystem_designer.xml | 102 + sources/pyside6/PySide6/QtGui/CMakeLists.txt | 243 + .../PySide6/QtGui/QtGui_global.post.h.in | 3 + .../pyside6/PySide6/QtGui/typesystem_gui.xml | 18 + .../PySide6/QtGui/typesystem_gui_common.xml | 3115 ++ .../PySide6/QtGui/typesystem_gui_mac.xml | 6 + .../PySide6/QtGui/typesystem_gui_win.xml | 34 + .../PySide6/QtGui/typesystem_gui_x11.xml | 6 + sources/pyside6/PySide6/QtHelp/CMakeLists.txt | 55 + .../PySide6/QtHelp/QtHelp_global.pre.h.in | 3 + .../PySide6/QtHelp/typesystem_help.xml | 35 + .../PySide6/QtHttpServer/CMakeLists.txt | 44 + .../QtHttpServer/typesystem_httpserver.xml | 37 + .../pyside6/PySide6/QtLocation/CMakeLists.txt | 70 + .../QtLocation/typesystem_location.xml | 81 + .../PySide6/QtMultimedia/CMakeLists.txt | 63 + .../QtMultimedia/typesystem_multimedia.xml | 155 + .../QtMultimediaWidgets/CMakeLists.txt | 43 + .../typesystem_multimediawidgets.xml | 14 + .../pyside6/PySide6/QtNetwork/CMakeLists.txt | 115 + .../PySide6/QtNetwork/typesystem_network.xml | 326 + .../PySide6/QtNetworkAuth/CMakeLists.txt | 40 + .../QtNetworkAuth/typesystem_networkauth.xml | 107 + sources/pyside6/PySide6/QtNfc/CMakeLists.txt | 37 + .../pyside6/PySide6/QtNfc/typesystem_nfc.xml | 33 + .../pyside6/PySide6/QtOpenGL/CMakeLists.txt | 102 + .../QtOpenGL/QtOpenGL_global.post.h.in | 35 + .../pyside6/PySide6/QtOpenGL/glue/utils.cpp | 40 + .../QtOpenGL/typesystem_glgeti_v_includes.xml | 1 + .../typesystem_glgeti_v_modifications.xml | 18 + .../QtOpenGL/typesystem_glgetv_includes.xml | 5 + .../typesystem_glgetv_modifications.xml | 36 + .../PySide6/QtOpenGL/typesystem_opengl.xml | 721 + .../typesystem_opengl_modifications1_0.xml | 15 + ...esystem_opengl_modifications1_0_compat.xml | 67 + .../typesystem_opengl_modifications1_1.xml | 8 + ...esystem_opengl_modifications1_1_compat.xml | 11 + ...esystem_opengl_modifications1_2_compat.xml | 10 + ...esystem_opengl_modifications1_3_compat.xml | 10 + .../typesystem_opengl_modifications1_4.xml | 11 + ...esystem_opengl_modifications1_4_compat.xml | 13 + .../typesystem_opengl_modifications2_0.xml | 13 + ...esystem_opengl_modifications2_0_compat.xml | 1 + .../typesystem_opengl_modifications2_1.xml | 7 + .../typesystem_opengl_modifications3_0.xml | 10 + .../typesystem_opengl_modifications3_3.xml | 10 + .../typesystem_opengl_modifications3_3a.xml | 21 + .../typesystem_opengl_modifications4_0.xml | 10 + .../typesystem_opengl_modifications4_1.xml | 40 + .../typesystem_opengl_modifications4_3.xml | 7 + .../typesystem_opengl_modifications4_4.xml | 20 + ...ypesystem_opengl_modifications4_4_core.xml | 7 + .../typesystem_opengl_modifications4_5.xml | 21 + ...ypesystem_opengl_modifications4_5_core.xml | 5 + .../typesystem_opengl_modifications_va.xml | 7 + .../PySide6/QtOpenGLWidgets/CMakeLists.txt | 37 + .../typesystem_openglwidgets.xml | 15 + sources/pyside6/PySide6/QtPdf/CMakeLists.txt | 44 + .../pyside6/PySide6/QtPdf/typesystem_pdf.xml | 31 + .../PySide6/QtPdfWidgets/CMakeLists.txt | 43 + .../QtPdfWidgets/typesystem_pdfwidgets.xml | 15 + .../PySide6/QtPositioning/CMakeLists.txt | 48 + .../QtPositioning/typesystem_positioning.xml | 44 + .../PySide6/QtPrintSupport/CMakeLists.txt | 43 + .../typesystem_printsupport.xml | 9 + .../typesystem_printsupport_common.xml | 71 + sources/pyside6/PySide6/QtQml/CMakeLists.txt | 78 + .../PySide6/QtQml/QtQml_global.post.h.in | 2 + .../PySide6/QtQml/pysideqmlvolatilebool.cpp | 154 + .../PySide6/QtQml/pysideqmlvolatilebool.h | 15 + .../pyside6/PySide6/QtQml/typesystem_qml.xml | 294 + .../pyside6/PySide6/QtQuick/CMakeLists.txt | 97 + .../QtQuick/pysidequickregistertype.cpp | 69 + .../PySide6/QtQuick/pysidequickregistertype.h | 14 + .../PySide6/QtQuick/typesystem_quick.xml | 219 + .../pyside6/PySide6/QtQuick3D/CMakeLists.txt | 54 + .../PySide6/QtQuick3D/typesystem_quick3d.xml | 27 + .../PySide6/QtQuickControls2/CMakeLists.txt | 47 + .../typesystem_quickcontrols2.xml | 11 + .../PySide6/QtQuickWidgets/CMakeLists.txt | 49 + .../typesystem_quickwidgets.xml | 18 + .../PySide6/QtRemoteObjects/CMakeLists.txt | 48 + .../typesystem_remoteobjects.xml | 49 + .../pyside6/PySide6/QtScxml/CMakeLists.txt | 52 + .../PySide6/QtScxml/typesystem_scxml.xml | 51 + .../pyside6/PySide6/QtSensors/CMakeLists.txt | 94 + .../PySide6/QtSensors/typesystem_sensors.xml | 86 + .../PySide6/QtSerialBus/CMakeLists.txt | 56 + .../QtSerialBus/typesystem_serialbus.xml | 96 + .../PySide6/QtSerialPort/CMakeLists.txt | 34 + .../QtSerialPort/typesystem_serialport.xml | 19 + .../PySide6/QtSpatialAudio/CMakeLists.txt | 44 + .../typesystem_spatialaudio.xml | 31 + sources/pyside6/PySide6/QtSql/CMakeLists.txt | 52 + .../PySide6/QtSql/QtSql_global.pre.h.in | 5 + .../pyside6/PySide6/QtSql/typesystem_sql.xml | 177 + .../PySide6/QtStateMachine/CMakeLists.txt | 44 + .../typesystem_statemachine.xml | 189 + sources/pyside6/PySide6/QtSvg/CMakeLists.txt | 34 + .../pyside6/PySide6/QtSvg/typesystem_svg.xml | 26 + .../PySide6/QtSvgWidgets/CMakeLists.txt | 42 + .../QtSvgWidgets/typesystem_svgwidgets.xml | 24 + sources/pyside6/PySide6/QtTest/CMakeLists.txt | 45 + .../PySide6/QtTest/QtTest_global.post.h.in | 1 + .../PySide6/QtTest/QtTest_global.pre.h.in | 5 + .../PySide6/QtTest/typesystem_test.xml | 153 + .../PySide6/QtTextToSpeech/CMakeLists.txt | 33 + .../typesystem_texttospeech.xml | 19 + .../pyside6/PySide6/QtUiTools/CMakeLists.txt | 48 + .../QtUiTools/QtUiTools_global.pre.h.in | 7 + .../pyside6/PySide6/QtUiTools/glue/plugins.h | 31 + .../PySide6/QtUiTools/typesystem_uitools.xml | 113 + .../PySide6/QtWebChannel/CMakeLists.txt | 31 + .../QtWebChannel/typesystem_webchannel.xml | 22 + .../PySide6/QtWebEngineCore/CMakeLists.txt | 73 + .../typesystem_webenginecore.xml | 153 + .../PySide6/QtWebEngineQuick/CMakeLists.txt | 39 + .../typesystem_webenginequick.xml | 16 + .../PySide6/QtWebEngineWidgets/CMakeLists.txt | 52 + .../typesystem_webenginewidgets.xml | 20 + .../PySide6/QtWebSockets/CMakeLists.txt | 40 + .../QtWebSockets/typesystem_websockets.xml | 33 + .../pyside6/PySide6/QtWidgets/CMakeLists.txt | 227 + .../PySide6/QtWidgets/typesystem_widgets.xml | 9 + .../QtWidgets/typesystem_widgets_common.xml | 3384 ++ sources/pyside6/PySide6/QtXml/CMakeLists.txt | 44 + .../pyside6/PySide6/QtXml/typesystem_xml.xml | 172 + sources/pyside6/PySide6/__feature__.pyi.in | 10 + sources/pyside6/PySide6/__init__.py.in | 124 + sources/pyside6/PySide6/_config.py.in | 16 + sources/pyside6/PySide6/global.h.in | 20 + sources/pyside6/PySide6/glue/qhttpserver.cpp | 50 + sources/pyside6/PySide6/glue/qtcharts.cpp | 16 + sources/pyside6/PySide6/glue/qtcore.cpp | 1851 + .../PySide6/glue/qtdatavisualization.cpp | 90 + sources/pyside6/PySide6/glue/qtdesigner.cpp | 7 + sources/pyside6/PySide6/glue/qtgui.cpp | 878 + sources/pyside6/PySide6/glue/qtmultimedia.cpp | 22 + sources/pyside6/PySide6/glue/qtnetwork.cpp | 60 + .../pyside6/PySide6/glue/qtnetworkauth.cpp | 35 + sources/pyside6/PySide6/glue/qtopengl.cpp | 89 + .../pyside6/PySide6/glue/qtprintsupport.cpp | 20 + sources/pyside6/PySide6/glue/qtqml.cpp | 64 + sources/pyside6/PySide6/glue/qtquick.cpp | 27 + sources/pyside6/PySide6/glue/qtserialbus.cpp | 30 + sources/pyside6/PySide6/glue/qtsql.cpp | 60 + .../pyside6/PySide6/glue/qtstatemachine.cpp | 67 + sources/pyside6/PySide6/glue/qttest.cpp | 24 + sources/pyside6/PySide6/glue/qtuitools.cpp | 204 + .../pyside6/PySide6/glue/qtwebenginecore.cpp | 36 + .../PySide6/glue/qtwebenginewidgets.cpp | 121 + sources/pyside6/PySide6/glue/qtwidgets.cpp | 761 + sources/pyside6/PySide6/glue/qtxml.cpp | 17 + sources/pyside6/PySide6/licensecomment.txt | 2 + sources/pyside6/PySide6/py.typed.in | 1 + sources/pyside6/PySide6/pysideqtesttouch.h | 179 + sources/pyside6/PySide6/pysidewtypes.h | 30 + .../pyside6/PySide6/qpydesignerextensions.h | 80 + sources/pyside6/PySide6/qpyqmlparserstatus.h | 24 + .../PySide6/qpyqmlpropertyvaluesource.h | 23 + sources/pyside6/PySide6/qpytextobject.cpp | 14 + sources/pyside6/PySide6/qpytextobject.h | 25 + sources/pyside6/PySide6/qt.conf.in | 2 + sources/pyside6/PySide6/qtcorehelper.h | 118 + .../PySide6/qtdatavisualization_helper.h | 19 + sources/pyside6/PySide6/qtdbushelper.h | 59 + sources/pyside6/PySide6/qtguihelper.h | 33 + sources/pyside6/PySide6/support/__init__.py | 6 + sources/pyside6/PySide6/support/deprecated.py | 71 + .../pyside6/PySide6/support/generate_pyi.py | 92 + sources/pyside6/PySide6/templates/common.xml | 27 + .../pyside6/PySide6/templates/core_common.xml | 287 + .../templates/datavisualization_common.xml | 40 + .../pyside6/PySide6/templates/gui_common.xml | 266 + .../PySide6/templates/opengl_common.xml | 30 + .../PySide6/templates/widgets_common.xml | 55 + .../pyside6/cmake/Macros/PySideModules.cmake | 305 + sources/pyside6/cmake/Macros/icecc.cmake | 14 + sources/pyside6/cmake/PySideHelpers.cmake | 272 + sources/pyside6/cmake/PySideSetup.cmake | 234 + sources/pyside6/cmake_uninstall.cmake | 24 + sources/pyside6/doc/CMakeLists.txt | 283 + sources/pyside6/doc/README.md | 47 + sources/pyside6/doc/_static/css/qt_font.css | 15 + sources/pyside6/doc/_static/css/qt_style.css | 84 + sources/pyside6/doc/_static/qtforpython.png | Bin 0 -> 4043 bytes sources/pyside6/doc/_templates/layout.html | 53 + .../pysidedocs_qthelp/domainindex.html | 57 + .../pysidedocs_qthelp/static/fakebar.png | Bin 0 -> 101 bytes .../pysidedocs_qthelp/static/logo_python.jpg | Bin 0 -> 2660 bytes .../pysidedocs_qthelp/static/logo_qt.png | Bin 0 -> 1936 bytes .../pysidedocs_qthelp/static/minus.png | Bin 0 -> 199 bytes .../_themes/pysidedocs_qthelp/static/plus.png | Bin 0 -> 199 bytes .../pysidedocs_qthelp/static/pyside.css | 1943 + .../pysidedocs_qthelp/static/pysidelogo.png | Bin 0 -> 4936 bytes .../pysidedocs_qthelp/static/relbar_bg.png | Bin 0 -> 130 bytes .../doc/_themes/pysidedocs_qthelp/theme.conf | 7 + sources/pyside6/doc/additionaldocs.lst | 777 + sources/pyside6/doc/api.rst | 59 + sources/pyside6/doc/commercial/index.rst | 159 + sources/pyside6/doc/commercial/products.png | Bin 0 -> 23289 bytes .../doc/commercial/qtcreator_python.png | Bin 0 -> 40845 bytes .../doc/commercial/versions_commercial.png | Bin 0 -> 34660 bytes .../pyside6/doc/commercial/versions_lts.png | Bin 0 -> 34293 bytes sources/pyside6/doc/conf.py.in | 231 + sources/pyside6/doc/considerations.rst | 383 + sources/pyside6/doc/contents.rst | 27 + .../doc/deployment/deployment-briefcase.rst | 211 + .../doc/deployment/deployment-cxfreeze.rst | 131 + .../pyside6/doc/deployment/deployment-fbs.rst | 97 + .../doc/deployment/deployment-nuitka.rst | 132 + .../doc/deployment/deployment-py2exe.rst | 16 + .../doc/deployment/deployment-pyinstaller.rst | 164 + .../deployment/deployment-pyside6-deploy.rst | 151 + sources/pyside6/doc/deployment/index.rst | 153 + sources/pyside6/doc/developer/add_module.rst | 52 + .../doc/developer/add_port_example.rst | 64 + sources/pyside6/doc/developer/add_tool.rst | 49 + .../doc/developer/enumfeatures_doc.rst | 158 + sources/pyside6/doc/developer/extras.rst | 42 + .../doc/developer/feature-motivation.rst | 303 + sources/pyside6/doc/developer/index.rst | 33 + sources/pyside6/doc/developer/limited_api.rst | 703 + .../pyside6/doc/developer/signature_doc.rst | 361 + sources/pyside6/doc/example_no_image.png | Bin 0 -> 65484 bytes sources/pyside6/doc/extras/QtBluetooth.rst | 102 + sources/pyside6/doc/extras/QtCharts.rst | 21 + sources/pyside6/doc/extras/QtConcurrent.rst | 37 + .../pyside6/doc/extras/QtCore.ClassInfo.rst | 36 + .../pyside6/doc/extras/QtCore.Property.rst | 132 + sources/pyside6/doc/extras/QtCore.QEnum.rst | 91 + sources/pyside6/doc/extras/QtCore.Signal.rst | 61 + sources/pyside6/doc/extras/QtCore.Slot.rst | 53 + sources/pyside6/doc/extras/QtCore.rst | 61 + sources/pyside6/doc/extras/QtDBus.rst | 193 + .../doc/extras/QtDataVisualization.rst | 30 + ...Designer.QPyDesignerContainerExtension.rst | 10 + ...gner.QPyDesignerCustomWidgetCollection.rst | 52 + ...signer.QPyDesignerMemberSheetExtension.rst | 10 + ...tDesigner.QPyDesignerTaskMenuExtension.rst | 10 + sources/pyside6/doc/extras/QtDesigner.rst | 17 + sources/pyside6/doc/extras/QtGui.rst | 142 + sources/pyside6/doc/extras/QtHelp.rst | 19 + sources/pyside6/doc/extras/QtMultimedia.rst | 105 + .../doc/extras/QtMultimediaWidgets.rst | 15 + sources/pyside6/doc/extras/QtNetwork.rst | 30 + sources/pyside6/doc/extras/QtNetworkAuth.rst | 37 + sources/pyside6/doc/extras/QtNfc.rst | 31 + sources/pyside6/doc/extras/QtOpenGL.rst | 26 + .../pyside6/doc/extras/QtOpenGLWidgets.rst | 8 + sources/pyside6/doc/extras/QtPositioning.rst | 40 + sources/pyside6/doc/extras/QtPrintSupport.rst | 15 + .../doc/extras/QtQml.QPyQmlParserStatus.rst | 10 + .../QtQml.QPyQmlPropertyValueSource.rst | 10 + .../pyside6/doc/extras/QtQml.QmlAnonymous.rst | 22 + .../pyside6/doc/extras/QtQml.QmlAttached.rst | 40 + .../pyside6/doc/extras/QtQml.QmlElement.rst | 30 + .../pyside6/doc/extras/QtQml.QmlExtended.rst | 37 + .../pyside6/doc/extras/QtQml.QmlForeign.rst | 33 + .../doc/extras/QtQml.QmlNamedElement.rst | 31 + .../pyside6/doc/extras/QtQml.QmlSingleton.rst | 25 + .../doc/extras/QtQml.QmlUncreatable.rst | 31 + .../QtQml.qmlRegisterSingletonInstance.rst | 25 + .../extras/QtQml.qmlRegisterSingletonType.rst | 46 + .../doc/extras/QtQml.qmlRegisterType.rst | 41 + .../QtQml.qmlRegisterUncreatableType.rst | 38 + sources/pyside6/doc/extras/QtQml.rst | 75 + .../pyside6/doc/extras/QtQuickControls2.rst | 45 + .../pyside6/doc/extras/QtRemoteObjects.rst | 101 + sources/pyside6/doc/extras/QtScxml.rst | 25 + sources/pyside6/doc/extras/QtSensors.rst | 19 + sources/pyside6/doc/extras/QtSerialBus.rst | 46 + sources/pyside6/doc/extras/QtSerialPort.rst | 18 + sources/pyside6/doc/extras/QtSql.rst | 21 + sources/pyside6/doc/extras/QtSvg.rst | 21 + sources/pyside6/doc/extras/QtTest.rst | 7 + .../doc/extras/QtUiTools.loadUiType.rst | 36 + sources/pyside6/doc/extras/QtUiTools.rst | 17 + sources/pyside6/doc/extras/QtWebChannel.rst | 30 + .../pyside6/doc/extras/QtWebEngineCore.rst | 19 + .../pyside6/doc/extras/QtWebEngineWidgets.rst | 18 + sources/pyside6/doc/extras/QtWebSockets.rst | 29 + sources/pyside6/doc/extras/QtWidgets.rst | 86 + sources/pyside6/doc/extras/QtXml.rst | 13 + sources/pyside6/doc/faq.rst | 38 + sources/pyside6/doc/faq/distribution.rst | 69 + sources/pyside6/doc/faq/hello_linux.png | Bin 0 -> 5960 bytes sources/pyside6/doc/faq/hello_macOS.png | Bin 0 -> 38777 bytes sources/pyside6/doc/faq/hello_win10.jpg | Bin 0 -> 5314 bytes sources/pyside6/doc/faq/tiobe.png | Bin 0 -> 49961 bytes sources/pyside6/doc/faq/typesoffiles.rst | 152 + sources/pyside6/doc/faq/whatisqt.rst | 112 + sources/pyside6/doc/faq/whatisshiboken.rst | 42 + sources/pyside6/doc/faq/whichide.rst | 54 + sources/pyside6/doc/faq/whyqtforpython.rst | 203 + sources/pyside6/doc/gettingstarted/index.rst | 570 + sources/pyside6/doc/gettingstarted/linux.rst | 115 + sources/pyside6/doc/gettingstarted/macOS.rst | 85 + .../doc/gettingstarted/package_details.rst | 144 + .../pyside6/doc/gettingstarted/packages.png | Bin 0 -> 12157 bytes .../doc/gettingstarted/porting_from2.rst | 94 + .../pyside6/doc/gettingstarted/windows.rst | 108 + sources/pyside6/doc/images/Commercial.svg | 49 + sources/pyside6/doc/images/Deployment.svg | 26 + sources/pyside6/doc/images/Desktop.svg | 26 + sources/pyside6/doc/images/Dev.svg | 24 + sources/pyside6/doc/images/Development.svg | 27 + sources/pyside6/doc/images/Examples.svg | 24 + sources/pyside6/doc/images/Support.svg | 24 + sources/pyside6/doc/images/Training.svg | 24 + sources/pyside6/doc/images/Tutorials.svg | 24 + sources/pyside6/doc/images/cpp_python.svg | 142 + sources/pyside6/doc/images/linux.svg | 37 + sources/pyside6/doc/images/macos.svg | 38 + .../pyside6/doc/images/screenshot_hello.png | Bin 0 -> 21193 bytes sources/pyside6/doc/images/stopwatch.svg | 24 + sources/pyside6/doc/images/windows.svg | 38 + sources/pyside6/doc/import_inheritance.py | 152 + sources/pyside6/doc/index.rst | 209 + sources/pyside6/doc/inheritance_diagram.py | 190 + .../pyside6/doc/inheritance_diagram.pyproject | 6 + sources/pyside6/doc/inheritance_graph.py | 126 + sources/pyside6/doc/json_inheritance.py | 74 + sources/pyside6/doc/modules.rst | 226 + sources/pyside6/doc/pysideinclude.py | 149 + .../pyside6/doc/qtattributionsscannertorst.py | 124 + sources/pyside6/doc/quickstart.rst | 282 + .../dialogs/standarddialogs/dialog_0.cpp.py | 4 + .../dialogs/standarddialogs/dialog_1.cpp.py | 5 + .../dialogs/standarddialogs/dialog_2.cpp.py | 5 + .../dialogs/standarddialogs/dialog_3.cpp.py | 5 + .../dialogs/standarddialogs/dialog_4.cpp.py | 4 + .../itemviews/spinboxdelegate/delegate_0.h.py | 18 + .../mymodel_Quoting_ModelView_Tutorial.h.py | 15 + .../mymodel_Quoting_ModelView_Tutorial.h.py | 27 + .../doc/snippets/stringlistmodel/model_0.h.py | 24 + sources/pyside6/doc/src/README.md | 1 + .../basictutorial/clickablebutton.png | Bin 0 -> 7059 bytes .../basictutorial/clickablebutton.rst | 95 + .../doc/tutorials/basictutorial/dialog.png | Bin 0 -> 21263 bytes .../doc/tutorials/basictutorial/dialog.rst | 148 + .../basictutorial/greenapplication.png | Bin 0 -> 2089 bytes .../doc/tutorials/basictutorial/icons.png | Bin 0 -> 1599 bytes .../doc/tutorials/basictutorial/icons.zip | Bin 0 -> 6156 bytes .../tutorials/basictutorial/icons/forward.png | Bin 0 -> 1113 bytes .../tutorials/basictutorial/icons/pause.png | Bin 0 -> 1001 bytes .../tutorials/basictutorial/icons/play.png | Bin 0 -> 970 bytes .../basictutorial/icons/previous.png | Bin 0 -> 1050 bytes .../tutorials/basictutorial/icons/stop.png | Bin 0 -> 1064 bytes .../tutorials/basictutorial/player-new.png | Bin 0 -> 3369 bytes .../doc/tutorials/basictutorial/player.png | Bin 0 -> 2631 bytes .../doc/tutorials/basictutorial/qml.rst | 79 + .../doc/tutorials/basictutorial/qrcfiles.rst | 174 + .../basictutorial/signals_and_slots.rst | 233 + .../tutorials/basictutorial/signals_slots.png | Bin 0 -> 14787 bytes .../doc/tutorials/basictutorial/style.qss | 23 + .../tutorials/basictutorial/tablewidget.png | Bin 0 -> 14509 bytes .../tutorials/basictutorial/tablewidget.rst | 97 + .../tutorials/basictutorial/translations.png | Bin 0 -> 25318 bytes .../tutorials/basictutorial/translations.rst | 214 + .../tutorials/basictutorial/treewidget.png | Bin 0 -> 3709 bytes .../tutorials/basictutorial/treewidget.rst | 79 + .../doc/tutorials/basictutorial/uifiles.png | Bin 0 -> 86503 bytes .../doc/tutorials/basictutorial/uifiles.rst | 300 + .../doc/tutorials/basictutorial/widgets.png | Bin 0 -> 23233 bytes .../doc/tutorials/basictutorial/widgets.rst | 52 + .../basictutorial/widgetstyling-no.png | Bin 0 -> 11004 bytes .../basictutorial/widgetstyling-simple-no.png | Bin 0 -> 1206 bytes .../widgetstyling-simple-yes.png | Bin 0 -> 1596 bytes .../basictutorial/widgetstyling-yes.png | Bin 0 -> 24791 bytes .../tutorials/basictutorial/widgetstyling.py | 58 + .../tutorials/basictutorial/widgetstyling.rst | 171 + .../doc/tutorials/datavisualize/add_chart.rst | 20 + .../datavisualize/add_mainwindow.rst | 32 + .../tutorials/datavisualize/add_tableview.rst | 70 + .../doc/tutorials/datavisualize/all_hour.csv | 8 + .../datavisualize/datavisualize1/main.py | 18 + .../datavisualize/datavisualize2/main.py | 41 + .../datavisualize/datavisualize3/main.py | 51 + .../datavisualize3/main_window.py | 31 + .../datavisualize/datavisualize4/main.py | 53 + .../datavisualize4/main_widget.py | 43 + .../datavisualize4/main_window.py | 32 + .../datavisualize4/table_model.py | 51 + .../datavisualize/datavisualize5/main.py | 53 + .../datavisualize5/main_widget.py | 54 + .../datavisualize5/main_window.py | 32 + .../datavisualize5/table_model.py | 51 + .../datavisualize/datavisualize6/main.py | 55 + .../datavisualize6/main_widget.py | 95 + .../datavisualize6/main_window.py | 32 + .../datavisualize6/table_model.py | 51 + .../tutorials/datavisualize/filter_data.rst | 29 + .../images/QMainWindow-layout.png | Bin 0 -> 17272 bytes .../images/datavisualization_app.png | Bin 0 -> 49419 bytes .../doc/tutorials/datavisualize/index.rst | 31 + .../datavisualize/plot_datapoints.rst | 27 + .../doc/tutorials/datavisualize/read_data.rst | 41 + .../tutorials/debugging/mixed_debugging.rst | 126 + .../debugging/qtcreator/breakpoint_cpp.png | Bin 0 -> 42765 bytes .../qtcreator/custom_executable_create.png | Bin 0 -> 40278 bytes .../custom_executable_run_config.png | Bin 0 -> 43483 bytes .../debugging/qtcreator/qtcreator.rst | 39 + .../start_debugging_without_deployment.png | Bin 0 -> 49267 bytes .../debugging/vscode/audioformat_cpp.png | Bin 0 -> 43650 bytes .../debugging/vscode/audioformat_wrapper.png | Bin 0 -> 40677 bytes .../debugging/vscode/breakpoint_gdb.png | Bin 0 -> 33684 bytes .../debugging/vscode/find_process_gdb.png | Bin 0 -> 42303 bytes .../vscode/python_set_interpreter.png | Bin 0 -> 4664 bytes .../doc/tutorials/debugging/vscode/vscode.rst | 192 + .../doc/tutorials/expenses/expenses.rst | 285 + .../doc/tutorials/expenses/expenses_tool.png | Bin 0 -> 47826 bytes .../pyside6/doc/tutorials/expenses/main.py | 153 + .../doc/tutorials/expenses/main_snake_prop.py | 177 + .../tutorials/expenses/steps/01-expenses.py | 22 + .../tutorials/expenses/steps/02-expenses.py | 31 + .../tutorials/expenses/steps/03-expenses.py | 31 + .../tutorials/expenses/steps/04-expenses.py | 45 + .../tutorials/expenses/steps/05-expenses.py | 69 + .../tutorials/expenses/steps/06-expenses.py | 89 + .../tutorials/expenses/steps/07-expenses.py | 112 + .../tutorials/expenses/steps/08-expenses.py | 123 + .../tutorials/expenses/steps/09-expenses.py | 131 + .../tutorials/expenses/steps/10-expenses.py | 153 + .../FileSystemModule/Main.qml | 203 + .../extendedexplorer/FileSystemModule/app.qrc | 15 + .../FileSystemModule/icons.qrc | 14 + .../FileSystemModule/icons/folder_closed.svg | 38 + .../FileSystemModule/icons/folder_open.svg | 38 + .../FileSystemModule/icons/generic_file.svg | 38 + .../FileSystemModule/icons/globe.svg | 38 + .../FileSystemModule/icons/info_sign.svg | 38 + .../FileSystemModule/icons/leaf.svg | 7 + .../FileSystemModule/icons/light_bulb.svg | 43 + .../FileSystemModule/icons/qt_logo.svg | 26 + .../FileSystemModule/icons/read.svg | 38 + .../FileSystemModule/icons/resize.svg | 6 + .../FileSystemModule/qml/About.qml | 59 + .../FileSystemModule/qml/ColorScheme.qml | 118 + .../FileSystemModule/qml/FileSystemView.qml | 99 + .../FileSystemModule/qml/Icon.qml | 44 + .../FileSystemModule/qml/MyMenu.qml | 42 + .../FileSystemModule/qml/MyMenuBar.qml | 135 + .../FileSystemModule/qml/ResizeButton.qml | 23 + .../FileSystemModule/qml/Sidebar.qml | 124 + .../qml/WindowDragHandler.qml | 16 + .../extendedexplorer/FileSystemModule/qmldir | 11 + .../extendedexplorer/extendedexplorer.md | 210 + .../extendedexplorer/extendedexplorer.py | 70 + .../extendedexplorer.pyproject | 29 + .../extendedexplorer/resources/Colors.qml | 22 + .../resources/colorscheme.png | Bin 0 -> 27675 bytes .../resources/extendedexplorer.gif | Bin 0 -> 2082470 bytes .../resources/extendedexplorer.webp | Bin 0 -> 42602 bytes .../extendedexplorer/scheme_manager.py | 97 + .../tutorials/extendedexplorer/schemes.json | 82 + sources/pyside6/doc/tutorials/index.rst | 205 + .../modelviewprogramming/qlistview-dnd.py | 137 + .../modelviewprogramming/simplemodel-use.py | 44 + .../modelviewprogramming/stringlistmodel.py | 124 + .../portingguide/chapter1/chapter1.rst | 89 + .../portingguide/chapter1/createdb.py | 94 + .../chapter1/images/chapter1_books.png | Bin 0 -> 25391 bytes .../tutorials/portingguide/chapter1/initdb.h | 113 + .../tutorials/portingguide/chapter1/main.py | 22 + .../portingguide/chapter2/bookdelegate.cpp | 96 + .../portingguide/chapter2/bookdelegate.h | 36 + .../portingguide/chapter2/bookdelegate.py | 101 + .../portingguide/chapter2/chapter2.rst | 93 + .../portingguide/chapter2/createdb.py | 94 + .../chapter2/images/chapter2_books.png | Bin 0 -> 34658 bytes .../images/chapter2_books_with_relation.png | Bin 0 -> 44122 bytes .../portingguide/chapter2/images/star.png | Bin 0 -> 782 bytes .../tutorials/portingguide/chapter2/main.py | 26 + .../portingguide/chapter3/bookdelegate-old.py | 101 + .../portingguide/chapter3/bookdelegate.py | 96 + .../tutorials/portingguide/chapter3/books.qrc | 5 + .../portingguide/chapter3/bookwindow.cpp | 124 + .../portingguide/chapter3/bookwindow.py | 99 + .../portingguide/chapter3/bookwindow.ui | 149 + .../portingguide/chapter3/chapter3.rst | 121 + .../portingguide/chapter3/createdb.py | 94 + .../chapter3/images/chapter3-books.png | Bin 0 -> 34624 bytes .../portingguide/chapter3/images/star.png | Bin 0 -> 782 bytes .../portingguide/chapter3/main-old.py | 15 + .../tutorials/portingguide/chapter3/main.py | 16 + .../tutorials/portingguide/hello_world_ex.py | 39 + .../doc/tutorials/portingguide/index.rst | 194 + sources/pyside6/doc/tutorials/qmlapp/logo.png | Bin 0 -> 6208 bytes sources/pyside6/doc/tutorials/qmlapp/main.py | 46 + .../doc/tutorials/qmlapp/newpyproject.png | Bin 0 -> 16091 bytes .../doc/tutorials/qmlapp/projectsmode.png | Bin 0 -> 8848 bytes .../doc/tutorials/qmlapp/pyprojname.png | Bin 0 -> 8068 bytes .../doc/tutorials/qmlapp/pyprojxplor.png | Bin 0 -> 10062 bytes .../doc/tutorials/qmlapp/qmlapplication.png | Bin 0 -> 10950 bytes .../doc/tutorials/qmlapp/qmlapplication.rst | 132 + sources/pyside6/doc/tutorials/qmlapp/view.qml | 56 + .../doc/tutorials/qmlintegration/main.py | 77 + .../qmlintegration/qmlintegration.rst | 128 + .../qmlintegration/qtquickcontrols2.conf | 10 + .../doc/tutorials/qmlintegration/style.qrc | 5 + .../qmlintegration/textproperties_default.png | Bin 0 -> 19347 bytes .../textproperties_material.png | Bin 0 -> 21170 bytes .../doc/tutorials/qmlintegration/view.qml | 160 + .../doc/tutorials/qmlsqlintegration/chat.qml | 98 + .../qmlsqlintegration/example_list_view.png | Bin 0 -> 6954 bytes .../doc/tutorials/qmlsqlintegration/main.py | 52 + .../qmlsqlintegration/qmlsqlintegration.rst | 233 + .../tutorials/qmlsqlintegration/sqlDialog.py | 116 + sources/pyside6/doc/typesystem_doc.xml.in | 17 + sources/pyside6/doc/videos.rst | 149 + sources/pyside6/libpyside/CMakeLists.txt | 192 + .../libpyside/PySide6Config-spec.cmake.in | 16 + .../pyside6/libpyside/PySide6Config.cmake.in | 5 + .../libpyside/PySide6ConfigVersion.cmake.in | 10 + sources/pyside6/libpyside/class_property.cpp | 139 + sources/pyside6/libpyside/class_property.h | 38 + .../pyside6/libpyside/dynamicqmetaobject.cpp | 678 + .../pyside6/libpyside/dynamicqmetaobject.h | 52 + sources/pyside6/libpyside/feature_select.cpp | 782 + sources/pyside6/libpyside/feature_select.h | 21 + .../pyside6/libpyside/globalreceiverv2.cpp | 331 + sources/pyside6/libpyside/globalreceiverv2.h | 112 + sources/pyside6/libpyside/libpyside.qrc | 5 + sources/pyside6/libpyside/pyside.cpp | 981 + sources/pyside6/libpyside/pyside.h | 16 + sources/pyside6/libpyside/pyside6.pc.in | 15 + sources/pyside6/libpyside/pyside_numpy.cpp | 98 + sources/pyside6/libpyside/pyside_numpy.h | 37 + sources/pyside6/libpyside/pyside_p.h | 32 + .../libpyside/pysideclassdecorator.cpp | 102 + .../libpyside/pysideclassdecorator_p.h | 158 + sources/pyside6/libpyside/pysideclassinfo.cpp | 145 + sources/pyside6/libpyside/pysideclassinfo.h | 22 + sources/pyside6/libpyside/pysideclassinfo_p.h | 45 + sources/pyside6/libpyside/pysidecleanup.h | 20 + sources/pyside6/libpyside/pysideinit.h | 27 + sources/pyside6/libpyside/pysidelogging_p.h | 11 + sources/pyside6/libpyside/pysidemacros.h | 18 + .../pyside6/libpyside/pysidemetafunction.cpp | 192 + .../pyside6/libpyside/pysidemetafunction.h | 39 + .../pyside6/libpyside/pysidemetafunction_p.h | 26 + sources/pyside6/libpyside/pysidemetatype.h | 26 + sources/pyside6/libpyside/pysideproperty.cpp | 599 + sources/pyside6/libpyside/pysideproperty.h | 74 + sources/pyside6/libpyside/pysideproperty_p.h | 165 + sources/pyside6/libpyside/pysideqapp.h | 19 + sources/pyside6/libpyside/pysideqenum.cpp | 198 + sources/pyside6/libpyside/pysideqenum.h | 21 + sources/pyside6/libpyside/pysideqflags.cpp | 203 + sources/pyside6/libpyside/pysideqflags.h | 43 + sources/pyside6/libpyside/pysideqhash.h | 24 + sources/pyside6/libpyside/pysideqmetatype.h | 35 + sources/pyside6/libpyside/pysideqobject.h | 68 + sources/pyside6/libpyside/pysidesignal.cpp | 1314 + sources/pyside6/libpyside/pysidesignal.h | 143 + sources/pyside6/libpyside/pysidesignal_p.h | 58 + sources/pyside6/libpyside/pysideslot.cpp | 161 + sources/pyside6/libpyside/pysideslot_p.h | 13 + .../pyside6/libpyside/pysidestaticstrings.cpp | 38 + .../pyside6/libpyside/pysidestaticstrings.h | 36 + sources/pyside6/libpyside/pysideutils.h | 41 + sources/pyside6/libpyside/pysideweakref.cpp | 78 + sources/pyside6/libpyside/pysideweakref.h | 20 + sources/pyside6/libpyside/qobjectconnect.cpp | 256 + sources/pyside6/libpyside/qobjectconnect.h | 42 + sources/pyside6/libpyside/signalmanager.cpp | 736 + sources/pyside6/libpyside/signalmanager.h | 98 + sources/pyside6/libpysideqml/CMakeLists.txt | 115 + .../PySide6QmlConfig-spec.cmake.in | 7 + .../libpysideqml/PySide6QmlConfig.cmake.in | 5 + .../PySide6QmlConfigVersion.cmake.in | 10 + sources/pyside6/libpysideqml/pysideqml.cpp | 33 + sources/pyside6/libpysideqml/pysideqml.h | 18 + .../libpysideqml/pysideqmlattached.cpp | 217 + .../pyside6/libpysideqml/pysideqmlattached.h | 28 + .../libpysideqml/pysideqmlattached_p.h | 21 + .../libpysideqml/pysideqmlextended.cpp | 146 + .../libpysideqml/pysideqmlextended_p.h | 21 + .../pyside6/libpysideqml/pysideqmlforeign.cpp | 93 + .../pyside6/libpysideqml/pysideqmlforeign_p.h | 17 + .../libpysideqml/pysideqmllistproperty.cpp | 299 + .../libpysideqml/pysideqmllistproperty_p.h | 13 + .../pyside6/libpysideqml/pysideqmlmacros.h | 18 + .../libpysideqml/pysideqmlmetacallerror.cpp | 67 + .../libpysideqml/pysideqmlmetacallerror_p.h | 21 + .../libpysideqml/pysideqmlnamedelement.cpp | 77 + .../libpysideqml/pysideqmlnamedelement_p.h | 11 + .../libpysideqml/pysideqmlregistertype.cpp | 486 + .../libpysideqml/pysideqmlregistertype.h | 90 + .../libpysideqml/pysideqmlregistertype_p.h | 18 + .../libpysideqml/pysideqmltypeinfo.cpp | 72 + .../libpysideqml/pysideqmltypeinfo_p.h | 61 + .../libpysideqml/pysideqmluncreatable.cpp | 107 + .../libpysideqml/pysideqmluncreatable.h | 19 + .../pyside6/plugins/designer/CMakeLists.txt | 56 + .../designer/designercustomwidgets.cpp | 251 + .../plugins/designer/designercustomwidgets.h | 26 + .../pyside6/plugins/uitools/CMakeLists.txt | 35 + .../pyside6/plugins/uitools/customwidget.cpp | 104 + .../pyside6/plugins/uitools/customwidget.h | 39 + .../pyside6/plugins/uitools/customwidgets.cpp | 25 + .../pyside6/plugins/uitools/customwidgets.h | 33 + sources/pyside6/pyside_version.py | 19 + sources/pyside6/tests/CMakeLists.txt | 69 + .../tests/Qt3DAnimation/CMakeLists.txt | 1 + sources/pyside6/tests/Qt3DCore/CMakeLists.txt | 1 + .../pyside6/tests/Qt3DExtras/CMakeLists.txt | 1 + .../tests/Qt3DExtras/Qt3DExtras.pyproject | 3 + .../tests/Qt3DExtras/qt3dextras_test.py | 140 + .../pyside6/tests/Qt3DInput/CMakeLists.txt | 1 + .../pyside6/tests/Qt3DLogic/CMakeLists.txt | 1 + .../pyside6/tests/Qt3DQuick/CMakeLists.txt | 1 + .../pyside6/tests/Qt3DRender/CMakeLists.txt | 1 + .../tests/QtAxContainer/CMakeLists.txt | 1 + .../pyside6/tests/QtBluetooth/CMakeLists.txt | 2 + .../tests/QtBluetooth/QtBluetooth.pyproject | 4 + .../pyside6/tests/QtBluetooth/localdevice.py | 23 + .../QtBluetooth/lowenergy_characteristics.py | 51 + sources/pyside6/tests/QtCharts/CMakeLists.txt | 2 + .../pyside6/tests/QtCharts/QtCharts.pyproject | 3 + .../tests/QtCharts/qcharts_numpy_test.py | 49 + .../pyside6/tests/QtCharts/qcharts_test.py | 46 + .../pyside6/tests/QtConcurrent/CMakeLists.txt | 1 + sources/pyside6/tests/QtCore/CMakeLists.txt | 147 + sources/pyside6/tests/QtCore/QtCore.pyproject | 148 + .../pyside6/tests/QtCore/attr_cache_py3k.py | 36 + .../tests/QtCore/blocking_signals_test.py | 148 + sources/pyside6/tests/QtCore/bug_1019.py | 47 + sources/pyside6/tests/QtCore/bug_1063.py | 41 + sources/pyside6/tests/QtCore/bug_1069.py | 35 + sources/pyside6/tests/QtCore/bug_1313.py | 58 + sources/pyside6/tests/QtCore/bug_278_test.py | 34 + sources/pyside6/tests/QtCore/bug_300_test.py | 29 + sources/pyside6/tests/QtCore/bug_324.py | 43 + sources/pyside6/tests/QtCore/bug_332.py | 30 + sources/pyside6/tests/QtCore/bug_408.py | 41 + sources/pyside6/tests/QtCore/bug_428.py | 31 + sources/pyside6/tests/QtCore/bug_462.py | 59 + sources/pyside6/tests/QtCore/bug_505.py | 38 + sources/pyside6/tests/QtCore/bug_515.py | 35 + sources/pyside6/tests/QtCore/bug_606.py | 46 + sources/pyside6/tests/QtCore/bug_656.py | 23 + sources/pyside6/tests/QtCore/bug_686.py | 118 + sources/pyside6/tests/QtCore/bug_699.py | 30 + sources/pyside6/tests/QtCore/bug_706.py | 40 + sources/pyside6/tests/QtCore/bug_820.py | 82 + sources/pyside6/tests/QtCore/bug_826.py | 43 + sources/pyside6/tests/QtCore/bug_829.py | 54 + sources/pyside6/tests/QtCore/bug_835.py | 80 + sources/pyside6/tests/QtCore/bug_920.py | 36 + sources/pyside6/tests/QtCore/bug_927.py | 50 + sources/pyside6/tests/QtCore/bug_931.py | 35 + sources/pyside6/tests/QtCore/bug_938.py | 27 + sources/pyside6/tests/QtCore/bug_953.py | 35 + sources/pyside6/tests/QtCore/bug_987.py | 26 + sources/pyside6/tests/QtCore/bug_994.py | 38 + .../pyside6/tests/QtCore/bug_PYSIDE-164.py | 52 + sources/pyside6/tests/QtCore/bug_PYSIDE-41.py | 49 + sources/pyside6/tests/QtCore/bug_PYSIDE-42.py | 29 + .../pyside6/tests/QtCore/child_event_test.py | 64 + .../pyside6/tests/QtCore/classinfo_test.py | 113 + sources/pyside6/tests/QtCore/deepcopy_test.py | 102 + .../pyside6/tests/QtCore/deletelater_test.py | 36 + .../tests/QtCore/destroysignal_test.py | 78 + .../tests/QtCore/duck_punching_test.py | 89 + .../pyside6/tests/QtCore/emoji_string_test.py | 51 + .../errormessages_with_features_test.py | 103 + .../tests/QtCore/feature_with_uic/window.py | 53 + .../tests/QtCore/feature_with_uic/window.ui | 62 + .../tests/QtCore/feature_with_uic_test.py | 59 + sources/pyside6/tests/QtCore/hash_test.py | 70 + sources/pyside6/tests/QtCore/inherits_test.py | 29 + .../QtCore/loggingcategorymacros_test.py | 84 + sources/pyside6/tests/QtCore/max_signals.py | 48 + .../tests/QtCore/missing_symbols_test.py | 28 + .../pyside6/tests/QtCore/mockclass_test.py | 40 + .../tests/QtCore/multiple_feature_test.py | 115 + .../pyside6/tests/QtCore/python_conversion.py | 77 + sources/pyside6/tests/QtCore/qabs_test.py | 31 + .../tests/QtCore/qabstractitemmodel_test.py | 52 + .../tests/QtCore/qanimationgroup_test.py | 37 + .../pyside6/tests/QtCore/qbitarray_test.py | 134 + .../qbytearray_concatenation_operator_test.py | 40 + .../QtCore/qbytearray_operator_iadd_test.py | 70 + .../tests/QtCore/qbytearray_operator_test.py | 92 + .../pyside6/tests/QtCore/qbytearray_test.py | 260 + .../pyside6/tests/QtCore/qcalendar_test.py | 29 + sources/pyside6/tests/QtCore/qcbor_test.py | 67 + .../pyside6/tests/QtCore/qcollator_test.py | 43 + .../tests/QtCore/qcommandlineparser_test.py | 38 + .../QtCore/qcoreapplication_argv_test.py | 25 + .../QtCore/qcoreapplication_instance_test.py | 31 + .../tests/QtCore/qcoreapplication_test.py | 23 + .../pyside6/tests/QtCore/qdatastream_test.py | 316 + sources/pyside6/tests/QtCore/qdate_test.py | 45 + .../pyside6/tests/QtCore/qdatetime_test.py | 35 + sources/pyside6/tests/QtCore/qdir_test.py | 39 + .../pyside6/tests/QtCore/qeasingcurve_test.py | 42 + sources/pyside6/tests/QtCore/qenum_test.py | 236 + sources/pyside6/tests/QtCore/qevent_test.py | 36 + sources/pyside6/tests/QtCore/qfile_test.py | 85 + .../pyside6/tests/QtCore/qfileinfo_test.py | 33 + .../pyside6/tests/QtCore/qfileread_test.py | 66 + sources/pyside6/tests/QtCore/qflags_test.py | 147 + sources/pyside6/tests/QtCore/qhandle_test.py | 28 + .../tests/QtCore/qinstallmsghandler_test.py | 76 + .../tests/QtCore/qjsondocument_test.py | 32 + sources/pyside6/tests/QtCore/qlinef_test.py | 31 + sources/pyside6/tests/QtCore/qlocale_test.py | 68 + .../pyside6/tests/QtCore/qlockfile_test.py | 39 + .../QtCore/qmessageauthenticationcode_test.py | 28 + .../pyside6/tests/QtCore/qmetaobject_test.py | 201 + .../pyside6/tests/QtCore/qmetatype_test.py | 43 + .../tests/QtCore/qmimedatabase_test.py | 61 + .../qmodelindex_internalpointer_test.py | 63 + .../QtCore/qobject_children_segfault_test.py | 42 + .../QtCore/qobject_connect_notify_test.py | 89 + .../tests/QtCore/qobject_destructor.py | 33 + .../tests/QtCore/qobject_event_filter_test.py | 134 + .../tests/QtCore/qobject_inherits_test.py | 115 + .../QtCore/qobject_objectproperty_test.py | 42 + .../tests/QtCore/qobject_parent_test.py | 336 + .../tests/QtCore/qobject_property_test.py | 53 + .../QtCore/qobject_protected_methods_test.py | 50 + sources/pyside6/tests/QtCore/qobject_test.py | 96 + .../tests/QtCore/qobject_timer_event_test.py | 57 + .../QtCore/qobject_tr_as_instance_test.py | 54 + .../QtCore/qoperatingsystemversion_test.py | 24 + sources/pyside6/tests/QtCore/qpoint_test.py | 32 + sources/pyside6/tests/QtCore/qprocess_test.py | 40 + .../tests/QtCore/qproperty_decorator.py | 54 + .../tests/QtCore/qrandomgenerator_test.py | 33 + sources/pyside6/tests/QtCore/qrect_test.py | 123 + .../tests/QtCore/qregularexpression_test.py | 41 + .../pyside6/tests/QtCore/qresource_test.py | 56 + .../pyside6/tests/QtCore/qrunnable_test.py | 45 + .../pyside6/tests/QtCore/qsettings_test.ini | 4 + .../pyside6/tests/QtCore/qsettings_test.py | 130 + .../tests/QtCore/qsharedmemory_client.py | 36 + .../tests/QtCore/qsharedmemory_test.py | 73 + sources/pyside6/tests/QtCore/qsize_test.py | 37 + .../pyside6/tests/QtCore/qslot_object_test.py | 55 + .../tests/QtCore/qsocketnotifier_test.py | 38 + sources/pyside6/tests/QtCore/qsrand_test.py | 33 + .../tests/QtCore/qstandardpaths_test.py | 32 + .../pyside6/tests/QtCore/qstorageinfo_test.py | 26 + sources/pyside6/tests/QtCore/qstring_test.py | 37 + sources/pyside6/tests/QtCore/qsysinfo_test.py | 29 + .../pyside6/tests/QtCore/qtextstream_test.py | 92 + .../tests/QtCore/qthread_prod_cons_test.py | 116 + .../tests/QtCore/qthread_signal_test.py | 71 + sources/pyside6/tests/QtCore/qthread_test.py | 84 + .../tests/QtCore/qtimer_singleshot_test.py | 96 + .../tests/QtCore/qtimer_timeout_test.py | 73 + .../pyside6/tests/QtCore/qtimezone_test.py | 27 + .../pyside6/tests/QtCore/qtnamespace_test.py | 30 + sources/pyside6/tests/QtCore/quoteEnUS.txt | 1 + sources/pyside6/tests/QtCore/qurl_test.py | 149 + .../pyside6/tests/QtCore/qurlquery_test.py | 39 + sources/pyside6/tests/QtCore/quuid_test.py | 29 + .../tests/QtCore/qversionnumber_test.py | 31 + sources/pyside6/tests/QtCore/repr_test.py | 97 + sources/pyside6/tests/QtCore/resources.qrc | 7 + sources/pyside6/tests/QtCore/resources_mc.py | 3547 ++ sources/pyside6/tests/QtCore/sample.png | Bin 0 -> 55944 bytes .../tests/QtCore/setprop_on_ctor_test.py | 24 + sources/pyside6/tests/QtCore/signal_sender.py | 91 + .../tests/QtCore/snake_prop_feature_test.py | 143 + .../tests/QtCore/staticMetaObject_test.py | 36 + .../tests/QtCore/static_method_test.py | 65 + .../tests/QtCore/thread_signals_test.py | 45 + sources/pyside6/tests/QtCore/tr_noop_test.py | 66 + .../pyside6/tests/QtCore/translation_test.py | 102 + .../tests/QtCore/translations/trans_latin.qm | Bin 0 -> 125 bytes .../tests/QtCore/translations/trans_latin.ts | 11 + .../QtCore/translations/trans_russian.qm | Bin 0 -> 114 bytes .../QtCore/translations/trans_russian.ts | 11 + .../tests/QtCore/unaryoperator_test.py | 53 + sources/pyside6/tests/QtCore/unicode_test.py | 44 + .../pyside6/tests/QtCore/versioninfo_test.py | 32 + sources/pyside6/tests/QtDBus/CMakeLists.txt | 6 + sources/pyside6/tests/QtDBus/QtDBus.pyproject | 3 + sources/pyside6/tests/QtDBus/test_dbus.py | 44 + .../tests/QtDataVisualization/CMakeLists.txt | 1 + .../QtDataVisualization.pyproject | 3 + .../datavisualization_test.py | 104 + .../pyside6/tests/QtDesigner/CMakeLists.txt | 1 + sources/pyside6/tests/QtGui/CMakeLists.txt | 60 + sources/pyside6/tests/QtGui/QtGui.pyproject | 56 + sources/pyside6/tests/QtGui/bug_1091.py | 25 + sources/pyside6/tests/QtGui/bug_367.py | 35 + sources/pyside6/tests/QtGui/bug_493.py | 32 + sources/pyside6/tests/QtGui/bug_606.py | 45 + sources/pyside6/tests/QtGui/bug_617.py | 35 + sources/pyside6/tests/QtGui/bug_652.py | 47 + sources/pyside6/tests/QtGui/bug_660.py | 40 + sources/pyside6/tests/QtGui/bug_716.py | 20 + sources/pyside6/tests/QtGui/bug_740.py | 25 + sources/pyside6/tests/QtGui/bug_743.py | 27 + sources/pyside6/tests/QtGui/bug_785.py | 41 + sources/pyside6/tests/QtGui/bug_991.py | 28 + sources/pyside6/tests/QtGui/bug_PYSIDE-344.py | 49 + sources/pyside6/tests/QtGui/deepcopy_test.py | 140 + .../pyside6/tests/QtGui/event_filter_test.py | 51 + .../float_to_int_implicit_conversion_test.py | 45 + .../pyside6/tests/QtGui/pyside_reload_test.py | 63 + sources/pyside6/tests/QtGui/qbrush_test.py | 35 + .../pyside6/tests/QtGui/qcolor_reduce_test.py | 44 + sources/pyside6/tests/QtGui/qcolor_test.py | 111 + sources/pyside6/tests/QtGui/qcursor_test.py | 29 + .../QtGui/qdatastream_gui_operators_test.py | 45 + .../tests/QtGui/qdesktopservices_test.py | 27 + sources/pyside6/tests/QtGui/qfont_test.py | 35 + .../pyside6/tests/QtGui/qfontmetrics_test.py | 215 + .../tests/QtGui/qguiapplication_test.py | 23 + sources/pyside6/tests/QtGui/qicon_test.py | 47 + sources/pyside6/tests/QtGui/qimage_test.py | 56 + .../pyside6/tests/QtGui/qimage_win_test.py | 41 + .../tests/QtGui/qitemselection_test.py | 31 + .../pyside6/tests/QtGui/qkeysequence_test.py | 43 + sources/pyside6/tests/QtGui/qpainter_test.py | 115 + .../pyside6/tests/QtGui/qpdfwriter_test.py | 32 + sources/pyside6/tests/QtGui/qpen_test.py | 57 + .../pyside6/tests/QtGui/qpixelformat_test.py | 40 + .../tests/QtGui/qpixmap_constructor.py | 260 + sources/pyside6/tests/QtGui/qpixmap_test.py | 67 + .../pyside6/tests/QtGui/qpixmapcache_test.py | 56 + sources/pyside6/tests/QtGui/qpolygonf_test.py | 42 + .../tests/QtGui/qradialgradient_test.py | 41 + .../pyside6/tests/QtGui/qrasterwindow_test.py | 77 + sources/pyside6/tests/QtGui/qregion_test.py | 40 + sources/pyside6/tests/QtGui/qshortcut_test.py | 60 + .../tests/QtGui/qstandarditemmodel_test.py | 85 + .../tests/QtGui/qstring_qkeysequence_test.py | 42 + .../pyside6/tests/QtGui/qstylehints_test.py | 26 + .../tests/QtGui/qtextdocument_functions.py | 37 + .../QtGui/qtextdocument_undoredo_test.py | 42 + .../tests/QtGui/qtextdocumentwriter_test.py | 31 + sources/pyside6/tests/QtGui/qtextline_test.py | 39 + .../pyside6/tests/QtGui/qtransform_test.py | 84 + sources/pyside6/tests/QtGui/repr_test.py | 96 + sources/pyside6/tests/QtGui/sample.png | Bin 0 -> 55944 bytes .../QtGui/timed_app_and_patching_test.py | 44 + sources/pyside6/tests/QtGui/xpm_data.py | 237 + sources/pyside6/tests/QtHelp/CMakeLists.txt | 2 + sources/pyside6/tests/QtHelp/QtHelp.pyproject | 4 + sources/pyside6/tests/QtHelp/help_test.py | 25 + .../tests/QtHelp/helpsearchengine_test.py | 28 + .../pyside6/tests/QtHttpServer/CMakeLists.txt | 1 + .../pyside6/tests/QtLocation/CMakeLists.txt | 1 + .../tests/QtLocation/QtLocation.pyproject | 3 + sources/pyside6/tests/QtLocation/location.py | 26 + .../pyside6/tests/QtMultimedia/CMakeLists.txt | 1 + .../tests/QtMultimedia/QtMultimedia.pyproject | 3 + .../pyside6/tests/QtMultimedia/audio_test.py | 58 + .../tests/QtMultimediaWidgets/CMakeLists.txt | 1 + .../QtMultimediaWidgets.pyproject | 3 + .../QtMultimediaWidgets/qmultimediawidgets.py | 44 + .../pyside6/tests/QtNetwork/CMakeLists.txt | 13 + .../tests/QtNetwork/QtNetwork.pyproject | 11 + .../tests/QtNetwork/accessManager_test.py | 55 + sources/pyside6/tests/QtNetwork/bug_1084.py | 28 + sources/pyside6/tests/QtNetwork/bug_446.py | 58 + .../pyside6/tests/QtNetwork/dnslookup_test.py | 46 + .../pyside6/tests/QtNetwork/qhostinfo_test.py | 76 + .../tests/QtNetwork/qipv6address_test.py | 34 + .../tests/QtNetwork/qpassworddigestor_test.py | 28 + .../pyside6/tests/QtNetwork/tcpserver_test.py | 39 + .../pyside6/tests/QtNetwork/udpsocket_test.py | 65 + .../tests/QtNetworkAuth/CMakeLists.txt | 1 + sources/pyside6/tests/QtNfc/CMakeLists.txt | 1 + sources/pyside6/tests/QtNfc/QtNfc.pyproject | 3 + sources/pyside6/tests/QtNfc/test_nfc.py | 29 + sources/pyside6/tests/QtOpenGL/CMakeLists.txt | 2 + .../pyside6/tests/QtOpenGL/QtOpenGL.pyproject | 4 + .../tests/QtOpenGL/qopenglbuffer_test.py | 77 + .../tests/QtOpenGL/qopenglwindow_test.py | 96 + .../tests/QtOpenGLWidgets/CMakeLists.txt | 1 + sources/pyside6/tests/QtPdf/CMakeLists.txt | 1 + .../pyside6/tests/QtPdfWidgets/CMakeLists.txt | 1 + .../tests/QtPositioning/CMakeLists.txt | 1 + .../QtPositioning/QtPositioning.pyproject | 3 + .../tests/QtPositioning/positioning.py | 28 + .../tests/QtPrintSupport/CMakeLists.txt | 2 + .../QtPrintSupport/QtPrintSupport.pyproject | 4 + .../pyside6/tests/QtPrintSupport/bug_500.py | 25 + .../returnquadruplesofnumbers_test.py | 65 + sources/pyside6/tests/QtQml/CMakeLists.txt | 34 + sources/pyside6/tests/QtQml/ModuleType.qml | 8 + sources/pyside6/tests/QtQml/QtQml.pyproject | 65 + sources/pyside6/tests/QtQml/bug_1029.py | 43 + sources/pyside6/tests/QtQml/bug_1029.qml | 18 + sources/pyside6/tests/QtQml/bug_451.py | 92 + sources/pyside6/tests/QtQml/bug_451.qml | 31 + sources/pyside6/tests/QtQml/bug_456.py | 62 + sources/pyside6/tests/QtQml/bug_456.qml | 36 + sources/pyside6/tests/QtQml/bug_557.py | 28 + sources/pyside6/tests/QtQml/bug_726.py | 61 + sources/pyside6/tests/QtQml/bug_726.qml | 36 + sources/pyside6/tests/QtQml/bug_814.py | 64 + sources/pyside6/tests/QtQml/bug_814.qml | 13 + sources/pyside6/tests/QtQml/bug_825.py | 75 + sources/pyside6/tests/QtQml/bug_825.qml | 13 + sources/pyside6/tests/QtQml/bug_847.py | 70 + sources/pyside6/tests/QtQml/bug_847.qml | 37 + sources/pyside6/tests/QtQml/bug_915.py | 40 + sources/pyside6/tests/QtQml/bug_926.py | 57 + sources/pyside6/tests/QtQml/bug_926.qml | 20 + sources/pyside6/tests/QtQml/bug_951.py | 51 + sources/pyside6/tests/QtQml/bug_951.qml | 10 + sources/pyside6/tests/QtQml/bug_995.py | 31 + sources/pyside6/tests/QtQml/bug_995.qml | 15 + sources/pyside6/tests/QtQml/bug_997.py | 51 + sources/pyside6/tests/QtQml/bug_997.qml | 13 + .../pyside6/tests/QtQml/connect_python_qml.py | 54 + .../tests/QtQml/connect_python_qml.qml | 23 + .../pyside6/tests/QtQml/groupedproperty.py | 112 + .../pyside6/tests/QtQml/groupedproperty.qml | 9 + sources/pyside6/tests/QtQml/hw.qml | 23 + .../tests/QtQml/javascript_exceptions.py | 91 + .../tests/QtQml/javascript_exceptions.qml | 28 + sources/pyside6/tests/QtQml/listproperty.py | 67 + .../tests/QtQml/qqmlapplicationengine.qml | 23 + .../tests/QtQml/qqmlapplicationengine_test.py | 38 + .../QtQml/qqmlincubator_incubateWhile.py | 84 + .../QtQml/qqmlincubator_incubateWhile.qml | 42 + .../qqmlincubator_incubateWhile_component.qml | 10 + .../pyside6/tests/QtQml/qqmlnetwork_test.py | 76 + .../tests/QtQml/qquickitem_grabToImage.py | 69 + .../tests/QtQml/qquickitem_grabToImage.qml | 44 + .../pyside6/tests/QtQml/qquickview_test.py | 86 + .../pyside6/tests/QtQml/registerattached.py | 101 + .../pyside6/tests/QtQml/registerattached.qml | 20 + .../pyside6/tests/QtQml/registerextended.py | 74 + .../pyside6/tests/QtQml/registerextended.qml | 9 + .../pyside6/tests/QtQml/registerforeign.py | 52 + .../pyside6/tests/QtQml/registerforeign.qml | 8 + .../tests/QtQml/registerparserstatus.py | 60 + .../tests/QtQml/registerparserstatus.qml | 8 + .../pyside6/tests/QtQml/registerqmlfile.py | 30 + .../tests/QtQml/registersingletontype.py | 101 + .../tests/QtQml/registersingletontype.qml | 14 + sources/pyside6/tests/QtQml/registertype.py | 116 + sources/pyside6/tests/QtQml/registertype.qml | 32 + .../tests/QtQml/registeruncreatable.qml | 13 + .../tests/QtQml/registeruncreatabletype.py | 62 + .../pyside6/tests/QtQml/signal_arguments.py | 60 + .../pyside6/tests/QtQml/signal_arguments.qml | 36 + sources/pyside6/tests/QtQml/signal_types.py | 124 + sources/pyside6/tests/QtQml/signal_types.qml | 26 + sources/pyside6/tests/QtQml/view.qml | 19 + sources/pyside6/tests/QtQml/viewmodel.qml | 16 + sources/pyside6/tests/QtQuick/CMakeLists.txt | 1 + .../pyside6/tests/QtQuick3D/CMakeLists.txt | 1 + .../tests/QtQuickControls2/CMakeLists.txt | 1 + .../tests/QtQuickWidgets/CMakeLists.txt | 1 + .../tests/QtRemoteObjects/CMakeLists.txt | 1 + sources/pyside6/tests/QtScxml/CMakeLists.txt | 1 + .../pyside6/tests/QtScxml/QtScxml.pyproject | 3 + sources/pyside6/tests/QtScxml/test_dynamic.py | 53 + .../pyside6/tests/QtScxml/trafficlight.scxml | 64 + .../pyside6/tests/QtSensors/CMakeLists.txt | 1 + .../tests/QtSensors/QtSensors.pyproject | 3 + sources/pyside6/tests/QtSensors/sensors.py | 46 + .../pyside6/tests/QtSerialBus/CMakeLists.txt | 1 + .../pyside6/tests/QtSerialPort/CMakeLists.txt | 1 + .../tests/QtSerialPort/QtSerialPort.pyproject | 3 + sources/pyside6/tests/QtSerialPort/serial.py | 72 + .../tests/QtSpatialAudio/CMakeLists.txt | 1 + sources/pyside6/tests/QtSql/CMakeLists.txt | 6 + sources/pyside6/tests/QtSql/QtSql.pyproject | 5 + sources/pyside6/tests/QtSql/bug_1013.py | 43 + .../QtSql/qsqldatabaseandqueries_test.py | 86 + .../pyside6/tests/QtSql/qvarianttype_test.py | 40 + .../tests/QtStateMachine/CMakeLists.txt | 8 + .../QtStateMachine/QtStateMachine.pyproject | 7 + .../pyside6/tests/QtStateMachine/bug_1031.py | 18 + .../qabstracttransition_test.py | 175 + .../tests/QtStateMachine/qstate_test.py | 49 + .../QtStateMachine/qstatemachine_test.py | 68 + .../QtStateMachine/setprop_on_ctor_test.py | 24 + sources/pyside6/tests/QtSvg/CMakeLists.txt | 2 + sources/pyside6/tests/QtSvg/QtSvg.pyproject | 4 + .../pyside6/tests/QtSvg/qsvggenerator_test.py | 47 + .../pyside6/tests/QtSvg/qsvgrenderer_test.py | 37 + sources/pyside6/tests/QtSvg/tiger.svg | 730 + .../pyside6/tests/QtSvgWidgets/CMakeLists.txt | 1 + .../tests/QtSvgWidgets/QtSvgWidgets.pyproject | 3 + .../tests/QtSvgWidgets/qsvgwidget_test.py | 41 + sources/pyside6/tests/QtTest/CMakeLists.txt | 9 + sources/pyside6/tests/QtTest/QtTest.pyproject | 7 + sources/pyside6/tests/QtTest/click_test.py | 38 + .../pyside6/tests/QtTest/eventfilter_test.py | 57 + .../pyside6/tests/QtTest/qsignalspy_test.py | 42 + .../pyside6/tests/QtTest/qvalidator_test.py | 122 + .../pyside6/tests/QtTest/touchevent_test.py | 63 + .../tests/QtTextToSpeech/CMakeLists.txt | 1 + .../QtTextToSpeech/QtTextToSpeech.pyproject | 3 + .../QtTextToSpeech/qtexttospeech_test.py | 49 + .../pyside6/tests/QtUiTools/CMakeLists.txt | 16 + .../tests/QtUiTools/QtUiTools.pyproject | 28 + sources/pyside6/tests/QtUiTools/action.ui | 16 + sources/pyside6/tests/QtUiTools/bug_1060.py | 32 + sources/pyside6/tests/QtUiTools/bug_1060.ui | 19 + sources/pyside6/tests/QtUiTools/bug_360.py | 48 + sources/pyside6/tests/QtUiTools/bug_376.py | 31 + sources/pyside6/tests/QtUiTools/bug_392.py | 63 + sources/pyside6/tests/QtUiTools/bug_426.py | 32 + sources/pyside6/tests/QtUiTools/bug_426.ui | 19 + sources/pyside6/tests/QtUiTools/bug_552.py | 37 + sources/pyside6/tests/QtUiTools/bug_552.ui | 42 + sources/pyside6/tests/QtUiTools/bug_797.py | 25 + sources/pyside6/tests/QtUiTools/bug_909.py | 37 + sources/pyside6/tests/QtUiTools/bug_909.ui | 31 + sources/pyside6/tests/QtUiTools/bug_913.py | 32 + sources/pyside6/tests/QtUiTools/bug_913.ui | 57 + sources/pyside6/tests/QtUiTools/bug_958.py | 40 + sources/pyside6/tests/QtUiTools/bug_958.ui | 48 + sources/pyside6/tests/QtUiTools/bug_965.py | 35 + sources/pyside6/tests/QtUiTools/bug_965.ui | 27 + .../tests/QtUiTools/loadUiType_test.py | 52 + sources/pyside6/tests/QtUiTools/minimal.ui | 6 + .../pyside6/tests/QtUiTools/pycustomwidget.ui | 36 + .../tests/QtUiTools/pycustomwidget2.ui | 48 + sources/pyside6/tests/QtUiTools/test.ui | 48 + sources/pyside6/tests/QtUiTools/ui_test.py | 25 + .../pyside6/tests/QtUiTools/uiloader_test.py | 54 + .../pyside6/tests/QtWebChannel/CMakeLists.txt | 1 + .../tests/QtWebEngineCore/CMakeLists.txt | 5 + .../QtWebEngineCore/QtWebEngineCore.pyproject | 4 + .../qwebenginecookiestore_test.py | 46 + .../QtWebEngineCore/resources/index.html | 12 + .../web_engine_custom_scheme.py | 70 + .../tests/QtWebEngineQuick/CMakeLists.txt | 1 + .../tests/QtWebEngineWidgets/CMakeLists.txt | 4 + .../QtWebEngineWidgets.pyproject | 3 + .../pyside6/tests/QtWebEngineWidgets/fox.html | 7 + .../pyside-474-qtwebengineview.py | 59 + .../pyside6/tests/QtWebSockets/CMakeLists.txt | 1 + .../pyside6/tests/QtWidgets/CMakeLists.txt | 133 + .../tests/QtWidgets/QtWidgets.pyproject | 130 + .../pyside6/tests/QtWidgets/action_clear.py | 68 + .../tests/QtWidgets/add_action_test.py | 60 + sources/pyside6/tests/QtWidgets/api2_test.py | 73 + .../tests/QtWidgets/application_test.py | 42 + sources/pyside6/tests/QtWidgets/bug_1002.py | 35 + sources/pyside6/tests/QtWidgets/bug_1006.py | 99 + sources/pyside6/tests/QtWidgets/bug_1048.py | 21 + sources/pyside6/tests/QtWidgets/bug_1077.py | 32 + sources/pyside6/tests/QtWidgets/bug_172.py | 26 + sources/pyside6/tests/QtWidgets/bug_243.py | 28 + sources/pyside6/tests/QtWidgets/bug_307.py | 37 + sources/pyside6/tests/QtWidgets/bug_338.py | 38 + sources/pyside6/tests/QtWidgets/bug_389.py | 28 + sources/pyside6/tests/QtWidgets/bug_400.py | 38 + sources/pyside6/tests/QtWidgets/bug_429.py | 22 + sources/pyside6/tests/QtWidgets/bug_430.py | 29 + sources/pyside6/tests/QtWidgets/bug_433.py | 28 + sources/pyside6/tests/QtWidgets/bug_467.py | 32 + sources/pyside6/tests/QtWidgets/bug_480.py | 39 + sources/pyside6/tests/QtWidgets/bug_512.py | 34 + sources/pyside6/tests/QtWidgets/bug_525.py | 35 + sources/pyside6/tests/QtWidgets/bug_546.py | 27 + sources/pyside6/tests/QtWidgets/bug_547.py | 73 + sources/pyside6/tests/QtWidgets/bug_549.py | 28 + sources/pyside6/tests/QtWidgets/bug_569.py | 30 + sources/pyside6/tests/QtWidgets/bug_575.py | 33 + sources/pyside6/tests/QtWidgets/bug_576.py | 49 + sources/pyside6/tests/QtWidgets/bug_585.py | 38 + sources/pyside6/tests/QtWidgets/bug_589.py | 32 + sources/pyside6/tests/QtWidgets/bug_635.py | 41 + sources/pyside6/tests/QtWidgets/bug_640.py | 23 + sources/pyside6/tests/QtWidgets/bug_653.py | 29 + sources/pyside6/tests/QtWidgets/bug_662.py | 41 + sources/pyside6/tests/QtWidgets/bug_667.py | 37 + sources/pyside6/tests/QtWidgets/bug_668.py | 34 + sources/pyside6/tests/QtWidgets/bug_674.py | 35 + sources/pyside6/tests/QtWidgets/bug_675.py | 28 + sources/pyside6/tests/QtWidgets/bug_688.py | 98 + sources/pyside6/tests/QtWidgets/bug_693.py | 42 + sources/pyside6/tests/QtWidgets/bug_696.py | 38 + sources/pyside6/tests/QtWidgets/bug_711.py | 34 + sources/pyside6/tests/QtWidgets/bug_722.py | 36 + sources/pyside6/tests/QtWidgets/bug_728.py | 39 + sources/pyside6/tests/QtWidgets/bug_736.py | 30 + sources/pyside6/tests/QtWidgets/bug_750.py | 38 + sources/pyside6/tests/QtWidgets/bug_778.py | 34 + sources/pyside6/tests/QtWidgets/bug_793.py | 45 + sources/pyside6/tests/QtWidgets/bug_811.py | 46 + sources/pyside6/tests/QtWidgets/bug_834.py | 33 + sources/pyside6/tests/QtWidgets/bug_836.py | 46 + sources/pyside6/tests/QtWidgets/bug_844.py | 31 + sources/pyside6/tests/QtWidgets/bug_854.py | 54 + sources/pyside6/tests/QtWidgets/bug_860.py | 46 + sources/pyside6/tests/QtWidgets/bug_862.py | 78 + sources/pyside6/tests/QtWidgets/bug_871.py | 53 + sources/pyside6/tests/QtWidgets/bug_879.py | 43 + sources/pyside6/tests/QtWidgets/bug_919.py | 51 + sources/pyside6/tests/QtWidgets/bug_921.py | 67 + sources/pyside6/tests/QtWidgets/bug_941.py | 31 + sources/pyside6/tests/QtWidgets/bug_964.py | 31 + sources/pyside6/tests/QtWidgets/bug_967.py | 31 + sources/pyside6/tests/QtWidgets/bug_972.py | 52 + sources/pyside6/tests/QtWidgets/bug_979.py | 21 + sources/pyside6/tests/QtWidgets/bug_988.py | 31 + sources/pyside6/tests/QtWidgets/bug_998.py | 23 + .../tests/QtWidgets/customproxywidget_test.py | 47 + .../QtWidgets/grandparent_method_test.py | 35 + .../tests/QtWidgets/hashabletype_test.py | 30 + .../pyside6/tests/QtWidgets/import_test.py | 2 + .../tests/QtWidgets/keep_reference_test.py | 91 + .../tests/QtWidgets/missing_symbols_test.py | 43 + .../tests/QtWidgets/paint_event_test.py | 68 + .../tests/QtWidgets/parent_method_test.py | 38 + .../tests/QtWidgets/private_mangle_test.py | 94 + .../tests/QtWidgets/python_properties_test.py | 31 + .../qabstracttextdocumentlayout_test.py | 59 + .../tests/QtWidgets/qaccessible_test.py | 138 + .../pyside6/tests/QtWidgets/qaction_test.py | 65 + .../pyside6/tests/QtWidgets/qapp_issue_585.py | 53 + sources/pyside6/tests/QtWidgets/qapp_test.py | 31 + .../qapplication_exit_segfault_test.py | 30 + .../tests/QtWidgets/qapplication_test.py | 23 + .../pyside6/tests/QtWidgets/qcolormap_test.py | 25 + .../tests/QtWidgets/qdynamic_signal.py | 41 + .../tests/QtWidgets/qfontdialog_test.py | 31 + .../tests/QtWidgets/qformlayout_test.py | 99 + .../QtWidgets/qgraphicsitem_isblocked_test.py | 41 + .../tests/QtWidgets/qgraphicsitem_test.py | 50 + .../QtWidgets/qgraphicsobjectreimpl_test.py | 62 + .../QtWidgets/qgraphicsproxywidget_test.py | 42 + .../tests/QtWidgets/qgraphicsscene_test.py | 213 + .../tests/QtWidgets/qinputdialog_get_test.py | 47 + .../tests/QtWidgets/qkeysequenceedit_test.py | 31 + .../pyside6/tests/QtWidgets/qlabel_test.py | 77 + .../tests/QtWidgets/qlayout_ref_test.py | 171 + .../pyside6/tests/QtWidgets/qlayout_test.py | 139 + .../tests/QtWidgets/qlcdnumber_test.py | 33 + .../tests/QtWidgets/qlistwidget_test.py | 77 + .../tests/QtWidgets/qlistwidgetitem_test.py | 42 + .../tests/QtWidgets/qmainwindow_test.py | 97 + sources/pyside6/tests/QtWidgets/qmenu_test.py | 76 + .../pyside6/tests/QtWidgets/qmenuadd_test.py | 33 + .../tests/QtWidgets/qobject_mi_test.py | 51 + .../pyside6/tests/QtWidgets/qpicture_test.py | 48 + .../tests/QtWidgets/qpushbutton_test.py | 54 + .../pyside6/tests/QtWidgets/qsplitter_test.py | 29 + .../pyside6/tests/QtWidgets/qstyle_test.py | 76 + .../tests/QtWidgets/qstyleoption_test.py | 43 + .../tests/QtWidgets/qtableview_test.py | 28 + .../tests/QtWidgets/qtabwidget_test.py | 43 + .../tests/QtWidgets/qtabwidgetclear_test.py | 48 + .../tests/QtWidgets/qtextedit_signal_test.py | 50 + .../pyside6/tests/QtWidgets/qtextedit_test.py | 45 + .../pyside6/tests/QtWidgets/qtoolbar_test.py | 50 + .../pyside6/tests/QtWidgets/qtoolbox_test.py | 45 + .../pyside6/tests/QtWidgets/qtreeview_test.py | 84 + .../tests/QtWidgets/qtreewidget_test.py | 48 + .../tests/QtWidgets/qtreewidgetitem_test.py | 47 + .../pyside6/tests/QtWidgets/qvariant_test.py | 142 + .../tests/QtWidgets/qwidget_setlayout_test.py | 44 + .../pyside6/tests/QtWidgets/qwidget_test.py | 61 + .../tests/QtWidgets/reference_count_test.py | 84 + sources/pyside6/tests/QtWidgets/sample.png | Bin 0 -> 55944 bytes .../pyside6/tests/QtWidgets/signature_test.py | 59 + .../tests/QtWidgets/standardpixmap_test.py | 27 + .../tests/QtWidgets/test_module_template.py | 27 + .../virtual_protected_inheritance_test.py | 84 + .../QtWidgets/virtual_pure_override_test.py | 61 + .../tests/QtWidgets/wrong_return_test.py | 39 + sources/pyside6/tests/QtXml/CMakeLists.txt | 1 + sources/pyside6/tests/QtXml/QtXml.pyproject | 3 + .../pyside6/tests/QtXml/qdomdocument_test.py | 83 + sources/pyside6/tests/init_paths.py | 78 + sources/pyside6/tests/mac/CMakeLists.txt | 1 + sources/pyside6/tests/mac/qmacstyle_test.py | 32 + sources/pyside6/tests/manually/README.txt | 5 + sources/pyside6/tests/manually/bug_841.py | 57 + .../pyside6/tests/pysidetest/CMakeLists.txt | 170 + .../tests/pysidetest/all_modules_load_test.py | 29 + sources/pyside6/tests/pysidetest/bug_1016.py | 26 + .../pysidetest/constructor_properties_test.py | 127 + .../tests/pysidetest/container_test.py | 63 + .../tests/pysidetest/containertest.cpp | 59 + .../pyside6/tests/pysidetest/containertest.h | 34 + .../pyside6/tests/pysidetest/curr_errors.txt | 12 + .../tests/pysidetest/decoratedslot_test.py | 50 + .../pysidetest/delegatecreateseditor_test.py | 81 + sources/pyside6/tests/pysidetest/enum_test.py | 167 + .../pyside6/tests/pysidetest/flagstest.cpp | 11 + sources/pyside6/tests/pysidetest/flagstest.h | 30 + .../pyside6/tests/pysidetest/hiddenobject.cpp | 19 + .../pyside6/tests/pysidetest/hiddenobject.h | 27 + .../homonymoussignalandmethod_test.py | 109 + .../pyside6/tests/pysidetest/iterable_test.py | 68 + .../tests/pysidetest/list_signal_test.py | 34 + .../pysidetest/mixin_signal_slots_test.py | 205 + .../tests/pysidetest/mock_as_slot_test.py | 33 + .../tests/pysidetest/modelview_test.py | 85 + .../pysidetest/multiple_inheritance_test.py | 147 + .../new_inherited_functions_test.py | 159 + sources/pyside6/tests/pysidetest/notify_id.py | 65 + .../tests/pysidetest/properties_test.py | 108 + .../tests/pysidetest/property_python_test.py | 222 + .../pysidetest/pyenum_relax_options_test.py | 130 + .../tests/pysidetest/pysidetest.pyproject | 33 + .../tests/pysidetest/pysidetest_global.h | 16 + .../tests/pysidetest/pysidetest_macros.h | 18 + .../pysidetest/qapp_like_a_macro_test.py | 68 + .../pyside6/tests/pysidetest/qvariant_test.py | 71 + sources/pyside6/tests/pysidetest/repr_test.py | 55 + .../tests/pysidetest/shared_pointer_test.py | 54 + .../pysidetest/sharedpointertestbench.cpp | 46 + .../tests/pysidetest/sharedpointertestbench.h | 29 + .../tests/pysidetest/signal_slot_warning.py | 50 + .../pysidetest/signal_tp_descr_get_test.py | 60 + .../pysidetest/signalandnamespace_test.py | 103 + .../signalemissionfrompython_test.py | 96 + .../signalinstance_equality_test.py | 83 + .../pysidetest/signalwithdefaultvalue_test.py | 86 + .../tests/pysidetest/snake_case_sub.py | 22 + .../tests/pysidetest/snake_case_test.py | 34 + .../pyside6/tests/pysidetest/symbols.filter | 7 + .../pyside6/tests/pysidetest/testobject.cpp | 53 + sources/pyside6/tests/pysidetest/testobject.h | 128 + .../tests/pysidetest/testqvariantenum.cpp | 29 + .../tests/pysidetest/testqvariantenum.h | 25 + sources/pyside6/tests/pysidetest/testview.cpp | 27 + sources/pyside6/tests/pysidetest/testview.h | 34 + .../tests/pysidetest/true_property_test.py | 54 + .../tests/pysidetest/typedef_signal_test.py | 39 + .../pysidetest/typesystem_pysidetest.xml | 86 + .../pyside6/tests/pysidetest/version_test.py | 31 + sources/pyside6/tests/registry/CMakeLists.txt | 4 + .../pyside6/tests/registry/existence_test.py | 229 + .../tests/registry/exists_darwin_5_14_2_ci.py | 37697 +++++++++++++++ ...terprise_linux_workstation7_6_5_14_2_ci.py | 37719 +++++++++++++++ .../tests/registry/exists_win32_5_14_2_ci.py | 37927 +++++++++++++++ .../exists_x86_64_suse_linux_5_14_2_ci.py | 37712 +++++++++++++++ .../pyside6/tests/registry/init_platform.py | 210 + .../tests/registry/scrape_testresults.py | 338 + sources/pyside6/tests/registry/util.py | 157 + sources/pyside6/tests/run_test.sh | 15 + sources/pyside6/tests/signals/CMakeLists.txt | 46 + .../tests/signals/anonymous_slot_leak_test.py | 55 + .../tests/signals/args_dont_match_test.py | 32 + sources/pyside6/tests/signals/bug_189.py | 38 + sources/pyside6/tests/signals/bug_311.py | 55 + sources/pyside6/tests/signals/bug_312.py | 62 + sources/pyside6/tests/signals/bug_319.py | 48 + sources/pyside6/tests/signals/bug_79.py | 54 + .../pyside6/tests/signals/decorators_test.py | 90 + .../pyside6/tests/signals/disconnect_test.py | 70 + .../tests/signals/invalid_callback_test.py | 43 + .../pyside6/tests/signals/lambda_gui_test.py | 54 + sources/pyside6/tests/signals/lambda_test.py | 73 + .../tests/signals/leaking_signal_test.py | 28 + .../signals/multiple_connections_gui_test.py | 72 + .../signals/multiple_connections_test.py | 87 + .../pyside6/tests/signals/pysignal_test.py | 205 + .../tests/signals/qobject_destroyed_test.py | 39 + .../tests/signals/qobject_receivers_test.py | 65 + .../tests/signals/qobject_sender_test.py | 108 + sources/pyside6/tests/signals/ref01_test.py | 41 + sources/pyside6/tests/signals/ref02_test.py | 61 + sources/pyside6/tests/signals/ref03_test.py | 43 + sources/pyside6/tests/signals/ref04_test.py | 69 + sources/pyside6/tests/signals/ref05_test.py | 59 + sources/pyside6/tests/signals/ref06_test.py | 62 + .../signals/segfault_proxyparent_test.py | 76 + .../tests/signals/self_connect_test.py | 45 + .../tests/signals/short_circuit_test.py | 79 + .../signals/signal2signal_connect_test.py | 120 + .../tests/signals/signal_across_threads.py | 82 + .../tests/signals/signal_autoconnect_test.py | 41 + .../signal_connectiontype_support_test.py | 39 + .../tests/signals/signal_emission_gui_test.py | 126 + .../tests/signals/signal_emission_test.py | 143 + .../pyside6/tests/signals/signal_enum_test.py | 57 + .../pyside6/tests/signals/signal_func_test.py | 31 + .../signals/signal_manager_refcount_test.py | 36 + .../tests/signals/signal_newenum_test.py | 50 + .../tests/signals/signal_number_limit_test.py | 74 + .../tests/signals/signal_object_test.py | 98 + .../tests/signals/signal_signature_test.py | 102 + .../signal_with_primitive_type_test.py | 40 + .../signals/slot_reference_count_test.py | 68 + .../tests/signals/static_metaobject_test.py | 73 + sources/pyside6/tests/support/CMakeLists.txt | 1 + sources/pyside6/tests/support/voidptr_test.py | 49 + sources/pyside6/tests/tools/__init__.py | 1 + .../tests/tools/list-class-hierarchy.py | 89 + .../tests/tools/metaobjectdump/CMakeLists.txt | 1 + .../baseline_default_birthdayparty.json | 1 + .../baseline_default_person.json | 1 + .../baseline_inheritance_birthdayparty.json | 1 + .../baseline_inheritance_person.json | 1 + .../baseline_property_happybirthdaysong.json | 1 + .../metaobjectdump/test_metaobjectdump.py | 73 + .../pyside6-android-deploy/CMakeLists.txt | 3 + .../test_pyside6_android_deploy.py | 177 + .../tests/tools/pyside6-deploy/CMakeLists.txt | 1 + .../pyside6-deploy/test_pyside6_deploy.py | 254 + .../tests/tools/pyside6-qml/CMakeLists.txt | 1 + .../tools/pyside6-qml/test_pyside6_qml.py | 75 + sources/pyside6/tests/util/color.py | 14 + sources/pyside6/tests/util/helper/__init__.py | 1 + .../tests/util/helper/basicpyslotcase.py | 33 + .../pyside6/tests/util/helper/docmodifier.py | 91 + sources/pyside6/tests/util/helper/helper.py | 37 + .../tests/util/helper/helper.pyproject | 5 + .../tests/util/helper/timedqapplication.py | 27 + .../tests/util/helper/timedqguiapplication.py | 27 + .../tests/util/helper/usesqapplication.py | 42 + sources/pyside6/tests/util/httpd.py | 153 + sources/pyside6/tests/util/processtimer.py | 54 + sources/pyside6/tests/util/rename_imports.sh | 16 + .../pyside6/tests/util/test_processtimer.py | 73 + .../pyside6/tests/util/valgrind-python.supp | 349 + sources/shiboken6/.cmake.conf | 5 + sources/shiboken6/.gitattributes | 2 + sources/shiboken6/.gitignore | 8 + sources/shiboken6/AUTHORS | 12 + sources/shiboken6/ApiExtractor/AUTHORS | 8 + sources/shiboken6/ApiExtractor/CMakeLists.txt | 136 + sources/shiboken6/ApiExtractor/COPYING | 342 + .../ApiExtractor/abstractmetaargument.cpp | 201 + .../ApiExtractor/abstractmetaargument.h | 67 + .../ApiExtractor/abstractmetabuilder.cpp | 3717 ++ .../ApiExtractor/abstractmetabuilder.h | 150 + .../abstractmetabuilder_helpers.cpp | 202 + .../ApiExtractor/abstractmetabuilder_p.h | 249 + .../ApiExtractor/abstractmetaenum.cpp | 350 + .../shiboken6/ApiExtractor/abstractmetaenum.h | 116 + .../ApiExtractor/abstractmetafield.cpp | 254 + .../ApiExtractor/abstractmetafield.h | 88 + .../ApiExtractor/abstractmetafunction.cpp | 1650 + .../ApiExtractor/abstractmetafunction.h | 503 + .../ApiExtractor/abstractmetalang.cpp | 2015 + .../shiboken6/ApiExtractor/abstractmetalang.h | 394 + .../ApiExtractor/abstractmetalang_enums.h | 53 + .../ApiExtractor/abstractmetalang_helpers.h | 35 + .../ApiExtractor/abstractmetalang_typedefs.h | 36 + .../ApiExtractor/abstractmetatype.cpp | 1103 + .../shiboken6/ApiExtractor/abstractmetatype.h | 276 + .../shiboken6/ApiExtractor/addedfunction.cpp | 221 + .../shiboken6/ApiExtractor/addedfunction.h | 105 + .../shiboken6/ApiExtractor/addedfunction_p.h | 42 + .../shiboken6/ApiExtractor/apiextractor.cpp | 740 + sources/shiboken6/ApiExtractor/apiextractor.h | 96 + .../ApiExtractor/apiextractorflags.h | 26 + .../ApiExtractor/apiextractorresult.cpp | 86 + .../ApiExtractor/apiextractorresult.h | 74 + .../shiboken6/ApiExtractor/arraytypeentry.h | 28 + .../ApiExtractor/clangparser/clangbuilder.cpp | 1250 + .../ApiExtractor/clangparser/clangbuilder.h | 37 + .../clangparser/clangdebugutils.cpp | 175 + .../clangparser/clangdebugutils.h | 26 + .../ApiExtractor/clangparser/clangparser.cpp | 320 + .../ApiExtractor/clangparser/clangparser.h | 86 + .../ApiExtractor/clangparser/clangutils.cpp | 327 + .../ApiExtractor/clangparser/clangutils.h | 106 + .../clangparser/compilersupport.cpp | 408 + .../clangparser/compilersupport.h | 54 + .../ApiExtractor/classdocumentation.cpp | 378 + .../ApiExtractor/classdocumentation.h | 76 + .../ApiExtractor/cmake_uninstall.cmake | 24 + sources/shiboken6/ApiExtractor/codesnip.cpp | 78 + sources/shiboken6/ApiExtractor/codesnip.h | 107 + .../ApiExtractor/codesniphelpers.cpp | 77 + .../shiboken6/ApiExtractor/codesniphelpers.h | 17 + .../shiboken6/ApiExtractor/complextypeentry.h | 177 + .../ApiExtractor/conditionalstreamreader.cpp | 211 + .../ApiExtractor/conditionalstreamreader.h | 88 + .../ApiExtractor/configurabletypeentry.h | 28 + .../ApiExtractor/constantvaluetypeentry.h | 23 + .../ApiExtractor/containertypeentry.h | 63 + .../ApiExtractor/customconversion.cpp | 197 + .../shiboken6/ApiExtractor/customconversion.h | 81 + .../ApiExtractor/customconversion_typedefs.h | 14 + .../shiboken6/ApiExtractor/customtypenentry.h | 30 + .../shiboken6/ApiExtractor/debughelpers_p.h | 56 + sources/shiboken6/ApiExtractor/dependency.h | 22 + sources/shiboken6/ApiExtractor/docparser.cpp | 181 + sources/shiboken6/ApiExtractor/docparser.h | 119 + .../shiboken6/ApiExtractor/documentation.cpp | 71 + .../shiboken6/ApiExtractor/documentation.h | 61 + sources/shiboken6/ApiExtractor/dotview.cpp | 58 + sources/shiboken6/ApiExtractor/dotview.h | 14 + .../shiboken6/ApiExtractor/doxygenparser.cpp | 225 + .../shiboken6/ApiExtractor/doxygenparser.h | 18 + .../ApiExtractor/enclosingclassmixin.cpp | 14 + .../ApiExtractor/enclosingclassmixin.h | 24 + .../shiboken6/ApiExtractor/enumtypeentry.h | 48 + .../ApiExtractor/enumvaluetypeentry.h | 31 + sources/shiboken6/ApiExtractor/exception.h | 27 + sources/shiboken6/ApiExtractor/fileout.cpp | 198 + sources/shiboken6/ApiExtractor/fileout.h | 43 + .../shiboken6/ApiExtractor/flagstypeentry.h | 36 + .../ApiExtractor/functiontypeentry.h | 36 + sources/shiboken6/ApiExtractor/graph.h | 321 + sources/shiboken6/ApiExtractor/header_paths.h | 46 + sources/shiboken6/ApiExtractor/icecc.cmake | 14 + sources/shiboken6/ApiExtractor/include.cpp | 82 + sources/shiboken6/ApiExtractor/include.h | 114 + sources/shiboken6/ApiExtractor/merge.xsl | 82 + sources/shiboken6/ApiExtractor/messages.cpp | 941 + sources/shiboken6/ApiExtractor/messages.h | 253 + .../shiboken6/ApiExtractor/modifications.cpp | 700 + .../shiboken6/ApiExtractor/modifications.h | 349 + .../ApiExtractor/modifications_typedefs.h | 25 + .../ApiExtractor/namespacetypeentry.h | 51 + .../shiboken6/ApiExtractor/objecttypeentry.h | 21 + .../ApiExtractor/parser/codemodel.cpp | 1641 + .../shiboken6/ApiExtractor/parser/codemodel.h | 707 + .../ApiExtractor/parser/codemodel_enums.h | 46 + .../ApiExtractor/parser/codemodel_fwd.h | 61 + .../ApiExtractor/parser/enumvalue.cpp | 63 + .../shiboken6/ApiExtractor/parser/enumvalue.h | 55 + .../ApiExtractor/parser/typeinfo.cpp | 621 + .../shiboken6/ApiExtractor/parser/typeinfo.h | 126 + .../ApiExtractor/predefined_templates.cpp | 276 + .../ApiExtractor/predefined_templates.h | 27 + .../ApiExtractor/primitivetypeentry.h | 72 + .../shiboken6/ApiExtractor/propertyspec.cpp | 342 + sources/shiboken6/ApiExtractor/propertyspec.h | 104 + .../ApiExtractor/pymethoddefentry.cpp | 48 + .../shiboken6/ApiExtractor/pymethoddefentry.h | 29 + .../shiboken6/ApiExtractor/pythontypeentry.h | 29 + sources/shiboken6/ApiExtractor/qtcompat.h | 37 + .../shiboken6/ApiExtractor/qtdocparser.cpp | 363 + sources/shiboken6/ApiExtractor/qtdocparser.h | 34 + .../shiboken6/ApiExtractor/reporthandler.cpp | 177 + .../shiboken6/ApiExtractor/reporthandler.h | 46 + .../ApiExtractor/smartpointertypeentry.h | 57 + .../shiboken6/ApiExtractor/sourcelocation.cpp | 75 + .../shiboken6/ApiExtractor/sourcelocation.h | 42 + sources/shiboken6/ApiExtractor/symbols.filter | 7 + .../ApiExtractor/templateargumententry.h | 26 + .../ApiExtractor/tests/CMakeLists.txt | 66 + sources/shiboken6/ApiExtractor/tests/a.xml | 14 + .../ApiExtractor/tests/injectedcode.txt | 5 + .../tests/testabstractmetaclass.cpp | 778 + .../tests/testabstractmetaclass.h | 38 + .../tests/testabstractmetatype.cpp | 229 + .../ApiExtractor/tests/testabstractmetatype.h | 24 + .../ApiExtractor/tests/testaddfunction.cpp | 525 + .../ApiExtractor/tests/testaddfunction.h | 31 + .../ApiExtractor/tests/testarrayargument.cpp | 155 + .../ApiExtractor/tests/testarrayargument.h | 18 + .../ApiExtractor/tests/testcodeinjection.cpp | 164 + .../ApiExtractor/tests/testcodeinjection.h | 23 + .../ApiExtractor/tests/testcodeinjection.qrc | 6 + .../ApiExtractor/tests/testcontainer.cpp | 84 + .../ApiExtractor/tests/testcontainer.h | 16 + .../tests/testconversionoperator.cpp | 178 + .../tests/testconversionoperator.h | 19 + .../tests/testconversionruletag.cpp | 240 + .../tests/testconversionruletag.h | 19 + .../tests/testctorinformation.cpp | 57 + .../ApiExtractor/tests/testctorinformation.h | 19 + .../tests/testdroptypeentries.cpp | 228 + .../ApiExtractor/tests/testdroptypeentries.h | 22 + .../tests/testdtorinformation.cpp | 158 + .../ApiExtractor/tests/testdtorinformation.h | 22 + .../shiboken6/ApiExtractor/tests/testenum.cpp | 577 + .../shiboken6/ApiExtractor/tests/testenum.h | 25 + .../ApiExtractor/tests/testextrainclude.cpp | 62 + .../ApiExtractor/tests/testextrainclude.h | 17 + .../ApiExtractor/tests/testfunctiontag.cpp | 79 + .../ApiExtractor/tests/testfunctiontag.h | 18 + .../tests/testimplicitconversions.cpp | 142 + .../tests/testimplicitconversions.h | 21 + .../ApiExtractor/tests/testinserttemplate.cpp | 63 + .../ApiExtractor/tests/testinserttemplate.h | 17 + .../tests/testmodifydocumentation.cpp | 117 + .../tests/testmodifydocumentation.h | 17 + .../tests/testmodifydocumentation.qrc | 5 + .../ApiExtractor/tests/testmodifyfunction.cpp | 480 + .../ApiExtractor/tests/testmodifyfunction.h | 26 + .../tests/testmultipleinheritance.cpp | 50 + .../tests/testmultipleinheritance.h | 18 + .../ApiExtractor/tests/testnamespace.cpp | 77 + .../ApiExtractor/tests/testnamespace.h | 19 + .../ApiExtractor/tests/testnestedtypes.cpp | 115 + .../ApiExtractor/tests/testnestedtypes.h | 17 + .../tests/testnumericaltypedef.cpp | 90 + .../ApiExtractor/tests/testnumericaltypedef.h | 17 + .../tests/testprimitivetypetag.cpp | 40 + .../ApiExtractor/tests/testprimitivetypetag.h | 16 + .../ApiExtractor/tests/testrefcounttag.cpp | 84 + .../ApiExtractor/tests/testrefcounttag.h | 17 + .../tests/testreferencetopointer.cpp | 37 + .../tests/testreferencetopointer.h | 16 + .../ApiExtractor/tests/testremovefield.cpp | 37 + .../ApiExtractor/tests/testremovefield.h | 16 + .../ApiExtractor/tests/testremoveimplconv.cpp | 48 + .../ApiExtractor/tests/testremoveimplconv.h | 16 + .../tests/testremoveoperatormethod.cpp | 98 + .../tests/testremoveoperatormethod.h | 16 + .../ApiExtractor/tests/testresolvetype.cpp | 281 + .../ApiExtractor/tests/testresolvetype.h | 21 + .../tests/testreverseoperators.cpp | 129 + .../ApiExtractor/tests/testreverseoperators.h | 17 + .../ApiExtractor/tests/testtemplates.cpp | 628 + .../ApiExtractor/tests/testtemplates.h | 30 + .../ApiExtractor/tests/testtoposort.cpp | 61 + .../ApiExtractor/tests/testtoposort.h | 17 + .../ApiExtractor/tests/testtyperevision.cpp | 92 + .../ApiExtractor/tests/testtyperevision.h | 19 + .../shiboken6/ApiExtractor/tests/testutil.h | 65 + .../tests/testvaluetypedefaultctortag.cpp | 39 + .../tests/testvaluetypedefaultctortag.h | 16 + .../ApiExtractor/tests/testvoidarg.cpp | 67 + .../ApiExtractor/tests/testvoidarg.h | 17 + .../shiboken6/ApiExtractor/tests/utf8code.txt | 1 + sources/shiboken6/ApiExtractor/textstream.cpp | 263 + sources/shiboken6/ApiExtractor/textstream.h | 195 + .../shiboken6/ApiExtractor/typedatabase.cpp | 1523 + sources/shiboken6/ApiExtractor/typedatabase.h | 203 + .../shiboken6/ApiExtractor/typedatabase_p.h | 25 + .../ApiExtractor/typedatabase_typedefs.h | 33 + sources/shiboken6/ApiExtractor/typedefentry.h | 37 + sources/shiboken6/ApiExtractor/typeparser.cpp | 292 + sources/shiboken6/ApiExtractor/typeparser.h | 17 + sources/shiboken6/ApiExtractor/typesystem.cpp | 2592 + sources/shiboken6/ApiExtractor/typesystem.h | 215 + .../shiboken6/ApiExtractor/typesystem_enums.h | 112 + .../ApiExtractor/typesystem_typedefs.h | 78 + .../ApiExtractor/typesystemparser.cpp | 3575 ++ .../ApiExtractor/typesystemparser_p.h | 284 + .../ApiExtractor/typesystemtypeentry.h | 30 + sources/shiboken6/ApiExtractor/usingmember.h | 21 + .../shiboken6/ApiExtractor/valuetypeentry.h | 40 + .../shiboken6/ApiExtractor/varargstypeentry.h | 20 + .../shiboken6/ApiExtractor/voidtypeentry.h | 20 + sources/shiboken6/ApiExtractor/xmlutils.cpp | 42 + sources/shiboken6/ApiExtractor/xmlutils.h | 29 + .../ApiExtractor/xmlutils_libxslt.cpp | 205 + .../shiboken6/ApiExtractor/xmlutils_libxslt.h | 16 + sources/shiboken6/ApiExtractor/xmlutils_qt.h | 16 + sources/shiboken6/CMakeLists.txt | 33 + sources/shiboken6/COPYING | 342 + sources/shiboken6/COPYING.libsample | 501 + sources/shiboken6/COPYING.libshiboken | 501 + sources/shiboken6/Doxyfile | 311 + sources/shiboken6/cmake/FindDocTools.cmake | 39 + sources/shiboken6/cmake/ShibokenHelpers.cmake | 749 + sources/shiboken6/cmake/ShibokenSetup.cmake | 194 + sources/shiboken6/cmake_uninstall.cmake | 24 + .../target_python_info/CMakeLists.txt | 47 + .../target_qt_info/CMakeLists.txt | 39 + .../target_qt_mkspec/CMakeLists.txt | 25 + sources/shiboken6/data/CMakeLists.txt | 60 + .../data/GeneratorRunnerConfig.cmake.in | 17 + .../GeneratorRunnerConfigVersion.cmake.in | 10 + .../data/Shiboken6Config-spec.cmake.in | 41 + .../shiboken6/data/Shiboken6Config.cmake.in | 5 + .../data/Shiboken6ConfigVersion.cmake.in | 10 + .../data/Shiboken6ToolsConfig.cmake.in | 7 + sources/shiboken6/data/docgenerator.1 | 1 + sources/shiboken6/data/generatorrunner.1 | 76 + sources/shiboken6/data/generatorrunner.pc.in | 13 + sources/shiboken6/data/shiboken6.pc.in | 12 + sources/shiboken6/doc/CMakeLists.txt | 73 + sources/shiboken6/doc/README.md | 12 + sources/shiboken6/doc/_static/css/qt_font.css | 15 + .../shiboken6/doc/_static/css/qt_style.css | 42 + sources/shiboken6/doc/_static/qtforpython.png | Bin 0 -> 4936 bytes sources/shiboken6/doc/_static/shiboken.png | Bin 0 -> 17343 bytes sources/shiboken6/doc/_static/shiboken.svg | 129 + sources/shiboken6/doc/_templates/index.html | 35 + sources/shiboken6/doc/_templates/layout.html | 53 + .../pysidedocs_qthelp/domainindex.html | 57 + .../pysidedocs_qthelp/static/fakebar.png | Bin 0 -> 101 bytes .../pysidedocs_qthelp/static/logo_python.jpg | Bin 0 -> 2660 bytes .../pysidedocs_qthelp/static/logo_qt.png | Bin 0 -> 1936 bytes .../pysidedocs_qthelp/static/minus.png | Bin 0 -> 199 bytes .../_themes/pysidedocs_qthelp/static/plus.png | Bin 0 -> 199 bytes .../pysidedocs_qthelp/static/pyside.css | 1943 + .../pysidedocs_qthelp/static/pysidelogo.png | Bin 0 -> 4936 bytes .../pysidedocs_qthelp/static/relbar_bg.png | Bin 0 -> 130 bytes .../doc/_themes/pysidedocs_qthelp/theme.conf | 7 + sources/shiboken6/doc/conf.py.in | 211 + sources/shiboken6/doc/considerations.rst | 184 + sources/shiboken6/doc/dependency-pyside.svg | 527 + sources/shiboken6/doc/examples/index.rst | 14 + sources/shiboken6/doc/gettingstarted.rst | 74 + sources/shiboken6/doc/images/.directory | 3 + .../doc/images/bindinggen-development.png | Bin 0 -> 32698 bytes .../doc/images/bindinggen-development.svg | 542 + sources/shiboken6/doc/images/converter.png | Bin 0 -> 34204 bytes sources/shiboken6/doc/images/converter.svg | 2227 + sources/shiboken6/doc/images/icecream.png | Bin 0 -> 4272 bytes .../doc/images/qtforpython-underthehood.png | Bin 0 -> 62001 bytes .../doc/images/qtforpython-underthehood.svg | 1502 + .../shiboken6/doc/images/shibokenqtarch.png | Bin 0 -> 28655 bytes .../shiboken6/doc/images/shibokenqtarch.svg | 191 + sources/shiboken6/doc/index.rst | 112 + sources/shiboken6/doc/scripts/patch_qhp.py | 62 + sources/shiboken6/doc/shibokengenerator.rst | 376 + sources/shiboken6/doc/shibokenmodule.rst | 112 + sources/shiboken6/doc/typesystem.rst | 67 + .../shiboken6/doc/typesystem_arguments.rst | 229 + .../doc/typesystem_builtin_types.rst | 58 + .../doc/typesystem_codegeneration.rst | 37 + .../doc/typesystem_codeinjection.rst | 394 + .../shiboken6/doc/typesystem_containers.rst | 284 + .../doc/typesystem_conversionrule.rst | 133 + .../shiboken6/doc/typesystem_converters.rst | 293 + .../doc/typesystem_documentation.rst | 51 + .../doc/typesystem_manipulating_objects.rst | 488 + .../doc/typesystem_modify_function.rst | 44 + .../shiboken6/doc/typesystem_ownership.rst | 291 + .../doc/typesystem_solving_compilation.rst | 80 + .../doc/typesystem_specialfunctions.rst | 54 + .../doc/typesystem_specifying_types.rst | 847 + .../shiboken6/doc/typesystem_templates.rst | 133 + .../shiboken6/doc/typesystem_variables.rst | 339 + sources/shiboken6/generator/CMakeLists.txt | 110 + sources/shiboken6/generator/__init__.py.in | 2 + sources/shiboken6/generator/_config.py.in | 9 + sources/shiboken6/generator/defaultvalue.cpp | 120 + sources/shiboken6/generator/defaultvalue.h | 46 + sources/shiboken6/generator/generator.cpp | 657 + sources/shiboken6/generator/generator.h | 226 + .../shiboken6/generator/generatorcontext.cpp | 38 + .../shiboken6/generator/generatorcontext.h | 56 + sources/shiboken6/generator/main.cpp | 792 + .../generator/qtdoc/qtdocgenerator.cpp | 1347 + .../generator/qtdoc/qtdocgenerator.h | 122 + .../generator/qtdoc/qtxmltosphinx.cpp | 1667 + .../shiboken6/generator/qtdoc/qtxmltosphinx.h | 216 + .../generator/qtdoc/qtxmltosphinxinterface.h | 59 + sources/shiboken6/generator/qtdoc/rstformat.h | 121 + .../generator/shiboken/configurablescope.h | 33 + .../generator/shiboken/cppgenerator.cpp | 7336 +++ .../generator/shiboken/cppgenerator.h | 552 + .../shiboken/cppgenerator_container.cpp | 274 + .../shiboken6/generator/shiboken/ctypenames.h | 31 + .../generator/shiboken/generatorargument.cpp | 110 + .../generator/shiboken/generatorargument.h | 60 + .../generator/shiboken/headergenerator.cpp | 884 + .../generator/shiboken/headergenerator.h | 65 + .../generator/shiboken/overloaddata.cpp | 1013 + .../generator/shiboken/overloaddata.h | 183 + .../generator/shiboken/pytypenames.h | 29 + .../generator/shiboken/shibokengenerator.cpp | 2364 + .../generator/shiboken/shibokengenerator.h | 484 + .../shiboken6/generator/shibokenconfig.h.in | 6 + sources/shiboken6/generatorrunnerconfig.h.in | 13 + sources/shiboken6/generatorrunnermacros.h | 23 + .../generators/shiboken/shiboken.cpp | 7 + sources/shiboken6/icecc.cmake | 14 + sources/shiboken6/libshiboken/CMakeLists.txt | 191 + sources/shiboken6/libshiboken/autodecref.h | 88 + sources/shiboken6/libshiboken/basewrapper.cpp | 1781 + sources/shiboken6/libshiboken/basewrapper.h | 471 + sources/shiboken6/libshiboken/basewrapper_p.h | 262 + .../shiboken6/libshiboken/bindingmanager.cpp | 441 + .../shiboken6/libshiboken/bindingmanager.h | 76 + .../libshiboken/bufferprocs_py37.cpp | 360 + .../shiboken6/libshiboken/bufferprocs_py37.h | 109 + .../shiboken6/libshiboken/debugfreehook.cpp | 158 + sources/shiboken6/libshiboken/debugfreehook.h | 25 + .../libshiboken/embed/embedding_generator.py | 220 + .../libshiboken/embed/module_collector.py | 71 + .../libshiboken/embed/qt_python_license.txt | 48 + .../libshiboken/embed/signature_bootstrap.py | 204 + sources/shiboken6/libshiboken/gilstate.cpp | 38 + sources/shiboken6/libshiboken/gilstate.h | 33 + sources/shiboken6/libshiboken/helper.cpp | 491 + sources/shiboken6/libshiboken/helper.h | 119 + .../libshiboken/pep384_issue33738.cpp | 116 + sources/shiboken6/libshiboken/pep384impl.cpp | 1090 + sources/shiboken6/libshiboken/pep384impl.h | 556 + .../shiboken6/libshiboken/qt_attribution.json | 12 + .../libshiboken/sbkarrayconverter.cpp | 248 + .../shiboken6/libshiboken/sbkarrayconverter.h | 138 + .../libshiboken/sbkarrayconverter_p.h | 26 + .../shiboken6/libshiboken/sbkcontainer.cpp | 16 + sources/shiboken6/libshiboken/sbkcontainer.h | 278 + .../shiboken6/libshiboken/sbkconverter.cpp | 751 + sources/shiboken6/libshiboken/sbkconverter.h | 418 + .../shiboken6/libshiboken/sbkconverter_p.h | 536 + .../shiboken6/libshiboken/sbkcppstring.cpp | 49 + sources/shiboken6/libshiboken/sbkcppstring.h | 20 + .../shiboken6/libshiboken/sbkcpptonumpy.cpp | 67 + sources/shiboken6/libshiboken/sbkcpptonumpy.h | 41 + sources/shiboken6/libshiboken/sbkenum.cpp | 1185 + sources/shiboken6/libshiboken/sbkenum.h | 95 + sources/shiboken6/libshiboken/sbkenum_p.h | 52 + sources/shiboken6/libshiboken/sbkerrors.cpp | 170 + sources/shiboken6/libshiboken/sbkerrors.h | 73 + .../shiboken6/libshiboken/sbkfeature_base.cpp | 379 + .../shiboken6/libshiboken/sbkfeature_base.h | 18 + sources/shiboken6/libshiboken/sbkmodule.cpp | 71 + sources/shiboken6/libshiboken/sbkmodule.h | 63 + sources/shiboken6/libshiboken/sbknumpy.cpp | 39 + .../libshiboken/sbknumpyarrayconverter.cpp | 277 + sources/shiboken6/libshiboken/sbknumpycheck.h | 30 + .../shiboken6/libshiboken/sbknumpyview.cpp | 265 + sources/shiboken6/libshiboken/sbknumpyview.h | 47 + sources/shiboken6/libshiboken/sbkpython.h | 75 + .../libshiboken/sbkstaticstrings.cpp | 87 + .../shiboken6/libshiboken/sbkstaticstrings.h | 60 + .../libshiboken/sbkstaticstrings_p.h | 37 + sources/shiboken6/libshiboken/sbkstring.cpp | 236 + sources/shiboken6/libshiboken/sbkstring.h | 39 + .../shiboken6/libshiboken/sbktypefactory.cpp | 381 + .../shiboken6/libshiboken/sbktypefactory.h | 26 + sources/shiboken6/libshiboken/sbkversion.h.in | 17 + sources/shiboken6/libshiboken/sbkwindows.h | 17 + sources/shiboken6/libshiboken/shiboken.h | 27 + .../shiboken6/libshiboken/shibokenbuffer.cpp | 70 + .../shiboken6/libshiboken/shibokenbuffer.h | 57 + .../shiboken6/libshiboken/shibokenmacros.h | 26 + sources/shiboken6/libshiboken/signature.h | 21 + .../libshiboken/signature/signature.cpp | 635 + .../signature/signature_extend.cpp | 228 + .../signature/signature_globals.cpp | 264 + .../signature/signature_helper.cpp | 400 + sources/shiboken6/libshiboken/signature_p.h | 77 + .../libshiboken/threadstatesaver.cpp | 31 + .../shiboken6/libshiboken/threadstatesaver.h | 32 + sources/shiboken6/libshiboken/voidptr.cpp | 431 + sources/shiboken6/libshiboken/voidptr.h | 33 + sources/shiboken6/shiboken_tool.py | 29 + sources/shiboken6/shiboken_version.py | 19 + .../shiboken6/shibokenmodule/CMakeLists.txt | 81 + sources/shiboken6/shibokenmodule/Shiboken.pyi | 36 + .../shiboken6/shibokenmodule/__init__.py.in | 27 + .../shiboken6/shibokenmodule/_config.py.in | 11 + .../files.dir/shibokensupport/__init__.py | 4 + .../files.dir/shibokensupport/feature.py | 235 + .../shibokensupport/fix-complaints.py | 57 + .../shibokensupport/shibokensupport.pyproject | 16 + .../shibokensupport/signature/PSF-3.7.0.txt | 43 + .../shibokensupport/signature/__init__.py | 4 + .../shibokensupport/signature/errorhandler.py | 142 + .../signature/importhandler.py | 65 + .../shibokensupport/signature/layout.py | 245 + .../shibokensupport/signature/lib/__init__.py | 4 + .../shibokensupport/signature/lib/enum_sig.py | 287 + .../signature/lib/pyi_generator.py | 320 + .../shibokensupport/signature/lib/tool.py | 110 + .../shibokensupport/signature/loader.py | 148 + .../shibokensupport/signature/mapping.py | 682 + .../shibokensupport/signature/parser.py | 549 + .../signature/qt_attribution.json | 13 + sources/shiboken6/shibokenmodule/nothing.h | 3 + sources/shiboken6/shibokenmodule/py.typed.in | 1 + .../shibokenmodule/shibokenmodule.txt.in | 16 + .../shibokenmodule/typesystem_shiboken.xml | 141 + sources/shiboken6/tests/CMakeLists.txt | 84 + .../tests/dumpcodemodel/CMakeLists.txt | 16 + .../shiboken6/tests/dumpcodemodel/main.cpp | 260 + .../shiboken6/tests/libminimal/CMakeLists.txt | 21 + .../tests/libminimal/containeruser.cpp | 55 + .../tests/libminimal/containeruser.h | 36 + .../tests/libminimal/libminimalmacros.h | 25 + .../shiboken6/tests/libminimal/listuser.cpp | 124 + sources/shiboken6/tests/libminimal/listuser.h | 65 + sources/shiboken6/tests/libminimal/minbool.h | 45 + sources/shiboken6/tests/libminimal/obj.cpp | 16 + sources/shiboken6/tests/libminimal/obj.h | 34 + .../shiboken6/tests/libminimal/spanuser.cpp | 58 + sources/shiboken6/tests/libminimal/spanuser.h | 35 + .../shiboken6/tests/libminimal/typedef.cpp | 50 + sources/shiboken6/tests/libminimal/typedef.h | 29 + sources/shiboken6/tests/libminimal/val.h | 34 + .../shiboken6/tests/libother/CMakeLists.txt | 23 + .../libother/extendsnoimplicitconversion.h | 21 + .../shiboken6/tests/libother/libothermacros.h | 18 + sources/shiboken6/tests/libother/number.cpp | 28 + sources/shiboken6/tests/libother/number.h | 32 + .../shiboken6/tests/libother/otherderived.cpp | 33 + .../shiboken6/tests/libother/otherderived.h | 43 + .../tests/libother/othermultiplederived.cpp | 24 + .../tests/libother/othermultiplederived.h | 21 + .../tests/libother/otherobjecttype.cpp | 20 + .../tests/libother/otherobjecttype.h | 22 + .../tests/libother/othertypesystypedef.cpp | 19 + .../tests/libother/othertypesystypedef.h | 21 + .../tests/libother/smartptrtester.cpp | 30 + .../shiboken6/tests/libother/smartptrtester.h | 24 + .../shiboken6/tests/libsample/CMakeLists.txt | 85 + .../shiboken6/tests/libsample/abstract.cpp | 59 + sources/shiboken6/tests/libsample/abstract.h | 86 + .../shiboken6/tests/libsample/blackbox.cpp | 81 + sources/shiboken6/tests/libsample/blackbox.h | 43 + sources/shiboken6/tests/libsample/bucket.cpp | 59 + sources/shiboken6/tests/libsample/bucket.h | 34 + .../shiboken6/tests/libsample/bytearray.cpp | 166 + sources/shiboken6/tests/libsample/bytearray.h | 64 + .../shiboken6/tests/libsample/collector.cpp | 37 + sources/shiboken6/tests/libsample/collector.h | 38 + sources/shiboken6/tests/libsample/complex.cpp | 24 + sources/shiboken6/tests/libsample/complex.h | 30 + .../shiboken6/tests/libsample/ctorconvrule.h | 20 + sources/shiboken6/tests/libsample/ctparam.cpp | 20 + sources/shiboken6/tests/libsample/ctparam.h | 26 + sources/shiboken6/tests/libsample/cvlist.h | 28 + sources/shiboken6/tests/libsample/derived.cpp | 88 + sources/shiboken6/tests/libsample/derived.h | 70 + .../tests/libsample/derivedusingct.cpp | 9 + .../tests/libsample/derivedusingct.h | 17 + sources/shiboken6/tests/libsample/echo.cpp | 4 + sources/shiboken6/tests/libsample/echo.h | 58 + .../tests/libsample/exceptiontest.cpp | 46 + .../shiboken6/tests/libsample/exceptiontest.h | 25 + .../shiboken6/tests/libsample/expression.cpp | 112 + .../shiboken6/tests/libsample/expression.h | 39 + sources/shiboken6/tests/libsample/filter.cpp | 38 + sources/shiboken6/tests/libsample/filter.h | 70 + .../shiboken6/tests/libsample/functions.cpp | 221 + sources/shiboken6/tests/libsample/functions.h | 86 + sources/shiboken6/tests/libsample/handle.cpp | 19 + sources/shiboken6/tests/libsample/handle.h | 53 + .../tests/libsample/implicitconv.cpp | 39 + .../shiboken6/tests/libsample/implicitconv.h | 58 + .../shiboken6/tests/libsample/injectcode.cpp | 78 + .../shiboken6/tests/libsample/injectcode.h | 42 + .../shiboken6/tests/libsample/intwrapper.cpp | 36 + .../shiboken6/tests/libsample/intwrapper.h | 62 + .../tests/libsample/libsamplemacros.h | 18 + sources/shiboken6/tests/libsample/list.h | 96 + .../shiboken6/tests/libsample/listuser.cpp | 63 + sources/shiboken6/tests/libsample/listuser.h | 53 + sources/shiboken6/tests/libsample/main.cpp | 209 + sources/shiboken6/tests/libsample/mapuser.cpp | 48 + sources/shiboken6/tests/libsample/mapuser.h | 43 + .../shiboken6/tests/libsample/modelindex.h | 50 + .../tests/libsample/modifications.cpp | 207 + .../shiboken6/tests/libsample/modifications.h | 141 + .../tests/libsample/modified_constructor.cpp | 16 + .../tests/libsample/modified_constructor.h | 21 + .../tests/libsample/multiple_derived.cpp | 24 + .../tests/libsample/multiple_derived.h | 178 + .../tests/libsample/noimplicitconversion.h | 27 + .../tests/libsample/nondefaultctor.h | 52 + .../tests/libsample/nontypetemplate.h | 27 + sources/shiboken6/tests/libsample/null.h | 19 + .../shiboken6/tests/libsample/objectmodel.cpp | 24 + .../shiboken6/tests/libsample/objectmodel.h | 31 + .../shiboken6/tests/libsample/objecttype.cpp | 268 + .../shiboken6/tests/libsample/objecttype.h | 162 + .../tests/libsample/objecttypebyvalue.h | 31 + .../tests/libsample/objecttypeholder.cpp | 31 + .../tests/libsample/objecttypeholder.h | 27 + .../tests/libsample/objecttypelayout.cpp | 40 + .../tests/libsample/objecttypelayout.h | 32 + .../tests/libsample/objecttypeoperators.cpp | 38 + .../tests/libsample/objecttypeoperators.h | 36 + .../shiboken6/tests/libsample/objectview.cpp | 24 + .../shiboken6/tests/libsample/objectview.h | 31 + sources/shiboken6/tests/libsample/oddbool.cpp | 27 + sources/shiboken6/tests/libsample/oddbool.h | 104 + .../shiboken6/tests/libsample/onlycopy.cpp | 53 + sources/shiboken6/tests/libsample/onlycopy.h | 40 + .../shiboken6/tests/libsample/overload.cpp | 203 + sources/shiboken6/tests/libsample/overload.h | 119 + .../tests/libsample/overloadsort.cpp | 49 + .../shiboken6/tests/libsample/overloadsort.h | 54 + .../shiboken6/tests/libsample/pairuser.cpp | 24 + sources/shiboken6/tests/libsample/pairuser.h | 30 + sources/shiboken6/tests/libsample/pen.cpp | 83 + sources/shiboken6/tests/libsample/pen.h | 71 + sources/shiboken6/tests/libsample/photon.cpp | 31 + sources/shiboken6/tests/libsample/photon.h | 120 + sources/shiboken6/tests/libsample/point.cpp | 111 + sources/shiboken6/tests/libsample/point.h | 74 + .../shiboken6/tests/libsample/pointerholder.h | 21 + sources/shiboken6/tests/libsample/pointf.cpp | 86 + sources/shiboken6/tests/libsample/pointf.h | 63 + sources/shiboken6/tests/libsample/polygon.cpp | 42 + sources/shiboken6/tests/libsample/polygon.h | 40 + .../shiboken6/tests/libsample/privatector.h | 42 + .../shiboken6/tests/libsample/privatedtor.h | 35 + .../shiboken6/tests/libsample/protected.cpp | 16 + sources/shiboken6/tests/libsample/protected.h | 131 + sources/shiboken6/tests/libsample/rect.h | 54 + .../shiboken6/tests/libsample/reference.cpp | 53 + sources/shiboken6/tests/libsample/reference.h | 57 + .../tests/libsample/removednamespaces.h | 48 + .../shiboken6/tests/libsample/renaming.cpp | 21 + sources/shiboken6/tests/libsample/renaming.h | 25 + sources/shiboken6/tests/libsample/sample.cpp | 22 + sources/shiboken6/tests/libsample/sample.h | 28 + .../tests/libsample/samplenamespace.cpp | 102 + .../tests/libsample/samplenamespace.h | 161 + sources/shiboken6/tests/libsample/sbkdate.cpp | 23 + sources/shiboken6/tests/libsample/sbkdate.h | 24 + .../shiboken6/tests/libsample/simplefile.cpp | 79 + .../shiboken6/tests/libsample/simplefile.h | 29 + sources/shiboken6/tests/libsample/size.cpp | 11 + sources/shiboken6/tests/libsample/size.h | 183 + .../tests/libsample/snakecasetest.cpp | 44 + .../shiboken6/tests/libsample/snakecasetest.h | 40 + .../shiboken6/tests/libsample/sometime.cpp | 67 + sources/shiboken6/tests/libsample/sometime.h | 64 + sources/shiboken6/tests/libsample/str.cpp | 137 + sources/shiboken6/tests/libsample/str.h | 52 + sources/shiboken6/tests/libsample/strlist.cpp | 25 + sources/shiboken6/tests/libsample/strlist.h | 48 + .../shiboken6/tests/libsample/templateptr.cpp | 8 + .../shiboken6/tests/libsample/templateptr.h | 19 + .../shiboken6/tests/libsample/transform.cpp | 28 + sources/shiboken6/tests/libsample/transform.h | 18 + .../tests/libsample/typesystypedef.cpp | 12 + .../tests/libsample/typesystypedef.h | 32 + .../tests/libsample/valueandvirtual.h | 21 + .../tests/libsample/virtualmethods.cpp | 66 + .../tests/libsample/virtualmethods.h | 141 + .../shiboken6/tests/libsample/voidholder.h | 28 + .../shiboken6/tests/libsmart/CMakeLists.txt | 23 + .../shiboken6/tests/libsmart/libsmartmacros.h | 18 + sources/shiboken6/tests/libsmart/smart.cpp | 272 + sources/shiboken6/tests/libsmart/smart.h | 16 + .../shiboken6/tests/libsmart/smart_integer.h | 64 + sources/shiboken6/tests/libsmart/smart_obj.h | 41 + .../shiboken6/tests/libsmart/smart_registry.h | 43 + .../tests/libsmart/smart_sharedptr.h | 91 + sources/shiboken6/tests/libsmart/smart_test.h | 13 + .../tests/libsmart/stdoptionaltestbench.cpp | 58 + .../tests/libsmart/stdoptionaltestbench.h | 30 + .../tests/libsmart/stdsharedptrtestbench.cpp | 66 + .../tests/libsmart/stdsharedptrtestbench.h | 40 + .../tests/libsmart/stduniqueptrtestbench.cpp | 133 + .../tests/libsmart/stduniqueptrtestbench.h | 50 + .../tests/minimalbinding/CMakeLists.txt | 47 + .../minimalbinding/brace_pattern_test.py | 87 + .../minimalbinding/containeruser_test.py | 44 + .../shiboken6/tests/minimalbinding/global.h | 10 + .../tests/minimalbinding/listuser_test.py | 368 + .../tests/minimalbinding/minbool_test.py | 44 + .../minimalbinding/minimal-binding.txt.in | 16 + .../minimalbinding/minimalbinding.pyproject | 10 + .../tests/minimalbinding/obj_test.py | 94 + .../tests/minimalbinding/spanuser_test.py | 42 + .../tests/minimalbinding/typedef_test.py | 91 + .../minimalbinding/typesystem_minimal.xml | 86 + .../tests/minimalbinding/val_test.py | 95 + .../tests/otherbinding/CMakeLists.txt | 58 + .../collector_external_operator_test.py | 38 + ...class_without_implicit_conversions_test.py | 53 + .../extended_multiply_operator_test.py | 44 + sources/shiboken6/tests/otherbinding/global.h | 11 + .../tests/otherbinding/module_reload_test.py | 36 + .../otherbinding/new_ctor_operator_test.py | 36 + .../tests/otherbinding/objtypehashes_test.py | 35 + .../tests/otherbinding/other-binding.txt.in | 20 + .../tests/otherbinding/otherbinding.pyproject | 17 + .../tests/otherbinding/otherderived_test.py | 102 + .../otherbinding/othertypesystypedef_test.py | 36 + .../tests/otherbinding/signature_test.py | 36 + .../tests/otherbinding/smartptr_test.py | 35 + .../otherbinding/test_module_template.py | 15 + .../tests/otherbinding/typediscovery_test.py | 46 + .../tests/otherbinding/typesystem_other.xml | 24 + .../usersprimitivefromothermodule_test.py | 32 + .../tests/otherbinding/wrongctor_test.py | 33 + .../tests/qtxmltosphinx/CMakeLists.txt | 32 + .../shiboken6/tests/qtxmltosphinx/main.cpp | 107 + .../tests/qtxmltosphinxtest/CMakeLists.txt | 38 + .../qtxmltosphinxtest/qtxmltosphinxtest.cpp | 511 + .../qtxmltosphinxtest/qtxmltosphinxtest.h | 39 + .../tests/samplebinding/CMakeLists.txt | 175 + .../tests/samplebinding/__del___test.py | 34 + .../tests/samplebinding/abstract_test.py | 90 + .../tests/samplebinding/addedfunction_test.py | 42 + .../addedfunction_with_container_args_test.py | 31 + .../argumentmodifications_test.py | 93 + .../tests/samplebinding/array_numpy_test.py | 45 + .../samplebinding/array_sequence_test.py | 34 + .../tests/samplebinding/bug_554_test.py | 25 + .../tests/samplebinding/bug_704_test.py | 37 + .../tests/samplebinding/bytearray_test.py | 129 + .../tests/samplebinding/child_return_test.py | 42 + .../tests/samplebinding/class_fields_test.py | 172 + .../tests/samplebinding/collector_test.py | 60 + .../tests/samplebinding/complex_test.py | 63 + .../samplebinding/conversion_operator_test.py | 35 + .../tests/samplebinding/copy_test.py | 66 + .../tests/samplebinding/ctorconvrule_test.py | 29 + .../tests/samplebinding/cyclic_test.py | 90 + .../tests/samplebinding/date_test.py | 37 + .../tests/samplebinding/decisor_test.py | 47 + .../tests/samplebinding/delete_test.py | 28 + .../tests/samplebinding/deprecated_test.py | 24 + .../tests/samplebinding/derived_test.py | 140 + .../tests/samplebinding/duck_punching_test.py | 153 + .../tests/samplebinding/echo_test.py | 32 + .../tests/samplebinding/enum_test.py | 180 + .../enumfromremovednamespace_test.py | 63 + .../event_loop_call_virtual_test.py | 51 + .../samplebinding/event_loop_thread_test.py | 77 + .../tests/samplebinding/exception_test.py | 70 + .../tests/samplebinding/filter_test.py | 27 + .../shiboken6/tests/samplebinding/global.h | 72 + .../tests/samplebinding/handleholder_test.py | 37 + .../tests/samplebinding/hashabletype_test.py | 34 + .../tests/samplebinding/ignorederefop_test.py | 20 + .../implicitconv_numerical_test.py | 135 + .../tests/samplebinding/implicitconv_test.py | 46 + .../samplebinding/inheritanceandscope_test.py | 28 + .../tests/samplebinding/injectcode_test.py | 114 + .../tests/samplebinding/innerclass_test.py | 22 + .../tests/samplebinding/intlist_test.py | 78 + .../tests/samplebinding/intwrapper_test.py | 39 + .../invalid_virtual_return_test.py | 45 + .../samplebinding/keep_reference_test.py | 62 + .../tests/samplebinding/list_test.py | 101 + .../tests/samplebinding/lock_test.py | 76 + .../shiboken6/tests/samplebinding/map_test.py | 60 + .../tests/samplebinding/metaclass_test.py | 44 + .../samplebinding/mi_virtual_methods_test.py | 68 + .../tests/samplebinding/mixed_mi_test.py | 56 + .../tests/samplebinding/modelindex_test.py | 33 + .../tests/samplebinding/modelview_test.py | 58 + .../tests/samplebinding/modifications_test.py | 226 + .../modified_constructor_test.py | 29 + .../modifiedvirtualmethods_test.py | 231 + .../multi_cpp_inheritance_test.py | 89 + .../samplebinding/multiple_derived_test.py | 208 + .../tests/samplebinding/namespace_test.py | 74 + .../tests/samplebinding/newdivision_test.py | 25 + .../samplebinding/nondefaultctor_test.py | 50 + .../samplebinding/nontypetemplate_test.py | 40 + .../tests/samplebinding/nonzero_test.py | 33 + .../samplebinding/numericaltypedef_test.py | 36 + .../tests/samplebinding/numpy_test.py | 40 + .../tests/samplebinding/objecttype_test.py | 109 + .../objecttype_with_named_args_test.py | 52 + .../samplebinding/objecttypebyvalue_test.py | 26 + .../samplebinding/objecttypelayout_test.py | 299 + .../samplebinding/objecttypeoperators_test.py | 40 + ...pereferenceasvirtualmethodargument_test.py | 29 + .../tests/samplebinding/oddbool_test.py | 77 + .../tests/samplebinding/onlycopyclass_test.py | 38 + .../tests/samplebinding/overflow_test.py | 71 + .../samplebinding/overload_sorting_test.py | 81 + .../tests/samplebinding/overload_test.py | 189 + .../samplebinding/overloadwithdefault_test.py | 44 + .../ownership_argument_invalidation_test.py | 41 + .../ownership_delete_child_in_cpp_test.py | 34 + .../ownership_delete_child_in_python_test.py | 39 + .../ownership_delete_parent_test.py | 71 + .../ownership_invalidate_after_use_test.py | 89 + .../ownership_invalidate_child_test.py | 54 + ...wnership_invalidate_nonpolymorphic_test.py | 32 + .../ownership_invalidate_parent_test.py | 48 + .../ownership_reparenting_test.py | 111 + .../ownership_transference_test.py | 69 + .../tests/samplebinding/pair_test.py | 84 + .../shiboken6/tests/samplebinding/pen_test.py | 57 + .../tests/samplebinding/point_test.py | 96 + .../tests/samplebinding/pointerholder_test.py | 39 + .../pointerprimitivetype_test.py | 57 + .../tests/samplebinding/pointf_test.py | 49 + .../primitivereferenceargument_test.py | 33 + .../tests/samplebinding/privatector_test.py | 69 + .../tests/samplebinding/privatedtor_test.py | 85 + .../tests/samplebinding/protected_test.py | 366 + .../tests/samplebinding/pstrlist_test.py | 30 + .../tests/samplebinding/pystr_test.py | 28 + .../tests/samplebinding/python_thread_test.py | 98 + .../receive_null_cstring_test.py | 34 + .../tests/samplebinding/reference_test.py | 101 + .../samplebinding/referencetopointer_test.py | 77 + .../tests/samplebinding/renaming_test.py | 42 + .../tests/samplebinding/return_null_test.py | 38 + .../tests/samplebinding/richcompare_test.py | 26 + .../tests/samplebinding/sample-binding.txt.in | 16 + .../tests/samplebinding/sample_test.py | 82 + .../samplebinding/samplebinding.pyproject | 131 + .../tests/samplebinding/samplesnippets.cpp | 20 + .../tests/samplebinding/simplefile_glue.cpp | 9 + .../tests/samplebinding/simplefile_test.py | 59 + .../tests/samplebinding/size_test.py | 99 + .../tests/samplebinding/snakecase_test.py | 60 + .../static_nonstatic_methods_test.py | 87 + .../shiboken6/tests/samplebinding/str_test.py | 95 + .../tests/samplebinding/strlist_test.py | 92 + .../templateinheritingclass_test.py | 61 + .../tests/samplebinding/time_test.py | 120 + .../tests/samplebinding/transform_test.py | 36 + .../samplebinding/typeconverters_test.py | 170 + .../tests/samplebinding/typedealloc_test.py | 57 + .../samplebinding/typedtordoublefree_test.py | 34 + .../tests/samplebinding/typesystem_sample.xml | 2436 + .../samplebinding/typesystypedef_test.py | 30 + .../tests/samplebinding/unsafe_parent_test.py | 33 + .../tests/samplebinding/useraddedctor_test.py | 25 + .../tests/samplebinding/virtualdtor_test.py | 62 + .../samplebinding/virtualmethods_test.py | 125 + .../samplebinding/visibilitychange_test.py | 27 + .../tests/samplebinding/voidholder_test.py | 49 + .../tests/samplebinding/weakref_test.py | 50 + .../samplebinding/writableclassdict_test.py | 33 + sources/shiboken6/tests/shiboken_paths.py | 109 + .../shiboken6/tests/shiboken_test_helper.py | 13 + .../tests/shibokenmodule/module_test.py | 100 + .../tests/smartbinding/CMakeLists.txt | 63 + sources/shiboken6/tests/smartbinding/global.h | 4 + .../tests/smartbinding/smart-binding.txt.in | 16 + .../tests/smartbinding/smart_pointer_test.py | 302 + .../tests/smartbinding/smartbinding.pyproject | 7 + .../tests/smartbinding/std_optional_test.py | 70 + .../tests/smartbinding/std_shared_ptr_test.py | 68 + .../tests/smartbinding/std_unique_ptr_test.py | 95 + .../tests/smartbinding/typesystem_smart.xml | 81 + .../tests/test_generator/CMakeLists.txt | 65 + .../tests/test_generator/dummygenerator.cpp | 45 + .../tests/test_generator/dummygenerator.h | 24 + .../dummygentest-project.txt.in | 20 + .../tests/test_generator/dummygentest.cpp | 114 + .../tests/test_generator/dummygentest.h | 31 + .../test_generator/dummygentestconfig.h.in | 15 + .../shiboken6/tests/test_generator/main.cpp | 14 + .../tests/test_generator/run_test.cmake | 14 + .../tests/test_generator/test_global.h | 1 + .../tests/test_generator/test_typesystem.xml | 3 + testing/__init__.py | 34 + testing/blacklist.py | 95 + testing/buildlog.py | 153 + testing/command.py | 363 + testing/helper.py | 24 + testing/parser.py | 152 + testing/runner.py | 203 + testing/testing.pyproject | 4 + testing/wheel_tester.py | 402 + testrunner.py | 14 + tools/checklibs.py | 355 + tools/create_changelog.py | 301 + tools/cross_compile_android/main.py | 246 + tools/cross_compile_android/requirements.txt | 3 + .../templates/cross_compile.tmpl.sh | 22 + .../templates/toolchain_default.tmpl.cmake | 57 + .../build_dir/cpython" | 1 + tools/debug_renamer.py | 113 + tools/debug_windows.py | 329 + tools/doc_modules.py | 206 + tools/dump_metaobject.py | 129 + tools/example_gallery/main.py | 491 + tools/leak_finder.py | 170 + tools/license_check.py | 33 + tools/metaobject_dump.py | 30 + tools/metaobject_dump.pyproject | 3 + tools/missing_bindings/config.py | 144 + tools/missing_bindings/main.py | 349 + tools/missing_bindings/requirements.txt | 14 + tools/qtcpp2py.py | 63 + tools/regenerate_example_resources.py | 60 + tools/regenerate_example_ui.py | 36 + tools/snippets_translate/README.md | 183 + tools/snippets_translate/converter.py | 379 + tools/snippets_translate/handlers.py | 596 + tools/snippets_translate/main.py | 522 + tools/snippets_translate/module_classes.py | 1483 + tools/snippets_translate/override.py | 112 + tools/snippets_translate/parse_utils.py | 109 + tools/snippets_translate/requirements.txt | 2 + .../snippets_translate.pyproject | 4 + .../tests/test_converter.py | 481 + .../snippets_translate/tests/test_snippets.py | 134 + tools/uic_test.py | 86 + wheel_artifacts/pyproject.toml | 3 + wheel_artifacts/setup.cfg.base | 55 + wheel_artifacts/setup.py.base | 28 + 3722 files changed, 574254 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 .vscode/settings.json create mode 100644 CMakeLists.txt create mode 100644 LICENSES/BSD-3-Clause.txt create mode 100644 LICENSES/GFDL-1.3-no-invariants-only.txt create mode 100644 LICENSES/GPL-2.0-only.txt create mode 100644 LICENSES/GPL-3.0-only.txt create mode 100644 LICENSES/LGPL-3.0-only.txt create mode 100644 LICENSES/LicenseRef-Qt-Commercial.txt create mode 100644 LICENSES/Qt-GPL-exception-1.0.txt create mode 100644 README.md create mode 100644 README.pyside6.md create mode 100644 README.pyside6_addons.md create mode 100644 README.pyside6_essentials.md create mode 100644 README.shiboken6-generator.md create mode 100644 README.shiboken6.md create mode 100644 build_history/blacklist.txt create mode 100644 build_scripts/__init__.py create mode 100644 build_scripts/build_info_collector.py create mode 100644 build_scripts/build_scripts.pyproject create mode 100644 build_scripts/config.py create mode 100644 build_scripts/log.py create mode 100644 build_scripts/main.py create mode 100644 build_scripts/options.py create mode 100644 build_scripts/platforms/__init__.py create mode 100644 build_scripts/platforms/linux.py create mode 100644 build_scripts/platforms/macos.py create mode 100644 build_scripts/platforms/unix.py create mode 100644 build_scripts/platforms/windows_desktop.py create mode 100644 build_scripts/qp5_tool.py create mode 100644 build_scripts/qtinfo.py create mode 100644 build_scripts/setup_runner.py create mode 100644 build_scripts/utils.py create mode 100644 build_scripts/wheel_files.py create mode 100644 build_scripts/wheel_override.py create mode 100644 build_scripts/wheel_utils.py create mode 100644 coin/dependencies.yaml create mode 100644 coin/instructions/common_environment.yaml create mode 100644 coin/instructions/execute_build_instructions.yaml create mode 100644 coin/instructions/execute_license_check.yaml create mode 100644 coin/instructions/execute_test_instructions.yaml create mode 100644 coin/instructions/find_path_to_msvc_compiler.yaml create mode 100644 coin/instructions/relocate_pyside.yaml create mode 100644 coin/module_config.yaml create mode 100644 coin_build_instructions.py create mode 100644 coin_test_instructions.py create mode 100644 create_wheels.py create mode 100644 doc/changelogs/changes-1.2.3 create mode 100644 doc/changelogs/changes-5.12.1 create mode 100644 doc/changelogs/changes-5.12.2 create mode 100644 doc/changelogs/changes-5.12.3 create mode 100644 doc/changelogs/changes-5.12.4 create mode 100644 doc/changelogs/changes-5.12.5 create mode 100644 doc/changelogs/changes-5.12.6 create mode 100644 doc/changelogs/changes-5.13.0 create mode 100644 doc/changelogs/changes-5.13.1 create mode 100644 doc/changelogs/changes-5.13.2 create mode 100644 doc/changelogs/changes-5.14.0 create mode 100644 doc/changelogs/changes-5.14.1 create mode 100644 doc/changelogs/changes-5.14.2 create mode 100644 doc/changelogs/changes-5.14.2.2 create mode 100644 doc/changelogs/changes-5.14.2.3 create mode 100644 doc/changelogs/changes-5.15.0 create mode 100644 doc/changelogs/changes-5.15.1 create mode 100644 doc/changelogs/changes-5.15.2 create mode 100644 doc/changelogs/changes-5.15.3 create mode 100644 doc/changelogs/changes-6.0.0 create mode 100644 doc/changelogs/changes-6.0.1 create mode 100644 doc/changelogs/changes-6.0.2 create mode 100644 doc/changelogs/changes-6.0.3 create mode 100644 doc/changelogs/changes-6.0.4 create mode 100644 doc/changelogs/changes-6.1.0 create mode 100644 doc/changelogs/changes-6.1.1 create mode 100644 doc/changelogs/changes-6.1.2 create mode 100644 doc/changelogs/changes-6.1.3 create mode 100644 doc/changelogs/changes-6.2.0 create mode 100644 doc/changelogs/changes-6.2.1 create mode 100644 doc/changelogs/changes-6.2.2 create mode 100644 doc/changelogs/changes-6.2.3 create mode 100644 doc/changelogs/changes-6.2.4 create mode 100644 doc/changelogs/changes-6.3.0 create mode 100644 doc/changelogs/changes-6.3.1 create mode 100644 doc/changelogs/changes-6.3.2 create mode 100644 doc/changelogs/changes-6.4.0 create mode 100644 doc/changelogs/changes-6.4.0.1 create mode 100644 doc/changelogs/changes-6.4.1 create mode 100644 doc/changelogs/changes-6.4.2 create mode 100644 doc/changelogs/changes-6.4.3 create mode 100644 doc/changelogs/changes-6.5.0 create mode 100644 doc/changelogs/changes-6.5.1 create mode 100644 doc/changelogs/changes-6.5.2 create mode 100644 examples/3d/simple3d/doc/simple3d.png create mode 100644 examples/3d/simple3d/doc/simple3d.rst create mode 100644 examples/3d/simple3d/simple3d.py create mode 100644 examples/3d/simple3d/simple3d.pyproject create mode 100644 examples/async/eratosthenes/doc/eratosthenes.rst create mode 100644 examples/async/eratosthenes/doc/eratosthenes.svg create mode 100644 examples/async/eratosthenes/eratosthenes.pyproject create mode 100644 examples/async/eratosthenes/eratosthenes_asyncio.py create mode 100644 examples/async/eratosthenes/eratosthenes_trio.py create mode 100644 examples/async/eratosthenes/requirements_trio.txt create mode 100644 examples/async/minimal/doc/minimal.png create mode 100644 examples/async/minimal/doc/minimal.rst create mode 100644 examples/async/minimal/minimal.pyproject create mode 100644 examples/async/minimal/minimal_asyncio.py create mode 100644 examples/async/minimal/minimal_trio.py create mode 100644 examples/async/minimal/requirements_trio.txt create mode 100644 examples/axcontainer/axviewer/axviewer.py create mode 100644 examples/axcontainer/axviewer/axviewer.pyproject create mode 100644 examples/axcontainer/axviewer/doc/axviewer.png create mode 100644 examples/axcontainer/axviewer/doc/axviewer.rst create mode 100644 examples/bluetooth/btscanner/btscanner.pyproject create mode 100644 examples/bluetooth/btscanner/device.py create mode 100644 examples/bluetooth/btscanner/device.ui create mode 100644 examples/bluetooth/btscanner/doc/btscanner.rst create mode 100644 examples/bluetooth/btscanner/main.py create mode 100644 examples/bluetooth/btscanner/service.py create mode 100644 examples/bluetooth/btscanner/service.ui create mode 100644 examples/bluetooth/btscanner/ui_device.py create mode 100644 examples/bluetooth/btscanner/ui_service.py create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/App.qml create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/BluetoothAlarmDialog.qml create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/BottomLine.qml create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/Connect.qml create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/GameButton.qml create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/GamePage.qml create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/GameSettings.qml create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/Main.qml create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/Measure.qml create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/SplashScreen.qml create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/Stats.qml create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/StatsLabel.qml create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/TitleBar.qml create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/images/bt_off_to_on.png create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/images/heart.png create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/images/logo.png create mode 100644 examples/bluetooth/heartrate_game/HeartRateGame/qmldir create mode 100644 examples/bluetooth/heartrate_game/bluetoothbaseclass.py create mode 100644 examples/bluetooth/heartrate_game/connectionhandler.py create mode 100644 examples/bluetooth/heartrate_game/devicefinder.py create mode 100644 examples/bluetooth/heartrate_game/devicehandler.py create mode 100644 examples/bluetooth/heartrate_game/deviceinfo.py create mode 100644 examples/bluetooth/heartrate_game/doc/heartrate_game.rst create mode 100644 examples/bluetooth/heartrate_game/heartrate_game.pyproject create mode 100644 examples/bluetooth/heartrate_game/heartrate_global.py create mode 100644 examples/bluetooth/heartrate_game/main.py create mode 100644 examples/bluetooth/heartrate_server/doc/heartrate_server.rst create mode 100644 examples/bluetooth/heartrate_server/heartrate_server.py create mode 100644 examples/bluetooth/heartrate_server/heartrate_server.pyproject create mode 100644 examples/bluetooth/lowenergyscanner/Scanner/Characteristics.qml create mode 100644 examples/bluetooth/lowenergyscanner/Scanner/Devices.qml create mode 100644 examples/bluetooth/lowenergyscanner/Scanner/Dialog.qml create mode 100644 examples/bluetooth/lowenergyscanner/Scanner/Header.qml create mode 100644 examples/bluetooth/lowenergyscanner/Scanner/Label.qml create mode 100644 examples/bluetooth/lowenergyscanner/Scanner/Main.qml create mode 100644 examples/bluetooth/lowenergyscanner/Scanner/Menu.qml create mode 100644 examples/bluetooth/lowenergyscanner/Scanner/Services.qml create mode 100644 examples/bluetooth/lowenergyscanner/Scanner/assets/busy_dark.png create mode 100644 examples/bluetooth/lowenergyscanner/Scanner/qmldir create mode 100644 examples/bluetooth/lowenergyscanner/characteristicinfo.py create mode 100644 examples/bluetooth/lowenergyscanner/device.py create mode 100644 examples/bluetooth/lowenergyscanner/deviceinfo.py create mode 100644 examples/bluetooth/lowenergyscanner/doc/lowenergyscanner.png create mode 100644 examples/bluetooth/lowenergyscanner/doc/lowenergyscanner.rst create mode 100644 examples/bluetooth/lowenergyscanner/lowenergyscanner.pyproject create mode 100644 examples/bluetooth/lowenergyscanner/main.py create mode 100644 examples/bluetooth/lowenergyscanner/serviceinfo.py create mode 100644 examples/charts/areachart/areachart.py create mode 100644 examples/charts/areachart/areachart.pyproject create mode 100644 examples/charts/areachart/doc/areachart.png create mode 100644 examples/charts/areachart/doc/areachart.rst create mode 100644 examples/charts/audio/audio.py create mode 100644 examples/charts/audio/audio.pyproject create mode 100644 examples/charts/audio/doc/audio.png create mode 100644 examples/charts/audio/doc/audio.rst create mode 100644 examples/charts/barchart/barchart.py create mode 100644 examples/charts/barchart/barchart.pyproject create mode 100644 examples/charts/barchart/doc/barchart.png create mode 100644 examples/charts/barchart/doc/barchart.rst create mode 100644 examples/charts/callout/callout.py create mode 100644 examples/charts/callout/callout.pyproject create mode 100644 examples/charts/callout/doc/callout.png create mode 100644 examples/charts/callout/doc/callout.rst create mode 100644 examples/charts/chartthemes/README.md create mode 100644 examples/charts/chartthemes/chartthemes.pyproject create mode 100644 examples/charts/chartthemes/doc/chartthemes.png create mode 100644 examples/charts/chartthemes/doc/chartthemes.rst create mode 100644 examples/charts/chartthemes/main.py create mode 100644 examples/charts/chartthemes/themewidget.ui create mode 100644 examples/charts/chartthemes/ui_themewidget.py create mode 100644 examples/charts/donutbreakdown/doc/donutbreakdown.png create mode 100644 examples/charts/donutbreakdown/doc/donutbreakdown.rst create mode 100644 examples/charts/donutbreakdown/donutbreakdown.py create mode 100644 examples/charts/donutbreakdown/donutbreakdown.pyproject create mode 100644 examples/charts/dynamicspline/chart.py create mode 100644 examples/charts/dynamicspline/doc/dynamicspline.rst create mode 100644 examples/charts/dynamicspline/doc/dynamicspline1.png create mode 100644 examples/charts/dynamicspline/doc/dynamicspline2.png create mode 100644 examples/charts/dynamicspline/dynamicspline.pyproject create mode 100644 examples/charts/dynamicspline/main.py create mode 100644 examples/charts/legend/doc/legend.png create mode 100644 examples/charts/legend/doc/legend.rst create mode 100644 examples/charts/legend/legend.py create mode 100644 examples/charts/legend/legend.pyproject create mode 100644 examples/charts/lineandbar/doc/lineandbar.png create mode 100644 examples/charts/lineandbar/doc/lineandbar.rst create mode 100644 examples/charts/lineandbar/lineandbar.py create mode 100644 examples/charts/lineandbar/lineandbar.pyproject create mode 100644 examples/charts/linechart/doc/linechart.png create mode 100644 examples/charts/linechart/doc/linechart.rst create mode 100644 examples/charts/linechart/linechart.py create mode 100644 examples/charts/linechart/linechart.pyproject create mode 100644 examples/charts/logvalueaxis/doc/logvalueaxis.png create mode 100644 examples/charts/logvalueaxis/doc/logvalueaxis.rst create mode 100644 examples/charts/logvalueaxis/logvalueaxis.py create mode 100644 examples/charts/logvalueaxis/logvalueaxis.pyproject create mode 100644 examples/charts/memoryusage/doc/memoryusage.png create mode 100644 examples/charts/memoryusage/doc/memoryusage.rst create mode 100644 examples/charts/memoryusage/memoryusage.py create mode 100644 examples/charts/memoryusage/memoryusage.pyproject create mode 100644 examples/charts/modeldata/doc/modeldata.png create mode 100644 examples/charts/modeldata/doc/modeldata.rst create mode 100644 examples/charts/modeldata/modeldata.py create mode 100644 examples/charts/modeldata/modeldata.pyproject create mode 100644 examples/charts/nesteddonuts/doc/nesteddonuts.png create mode 100644 examples/charts/nesteddonuts/doc/nesteddonuts.rst create mode 100644 examples/charts/nesteddonuts/nesteddonuts.py create mode 100644 examples/charts/nesteddonuts/nesteddonuts.pyproject create mode 100644 examples/charts/percentbarchart/doc/percentbarchart.png create mode 100644 examples/charts/percentbarchart/doc/percentbarchart.rst create mode 100644 examples/charts/percentbarchart/percentbarchart.py create mode 100644 examples/charts/percentbarchart/percentbarchart.pyproject create mode 100644 examples/charts/piechart/doc/piechart.png create mode 100644 examples/charts/piechart/doc/piechart.rst create mode 100644 examples/charts/piechart/piechart.py create mode 100644 examples/charts/piechart/piechart.pyproject create mode 100644 examples/charts/pointconfiguration/chartwindow.py create mode 100644 examples/charts/pointconfiguration/doc/pointconfiguration.png create mode 100644 examples/charts/pointconfiguration/doc/pointconfiguration.rst create mode 100644 examples/charts/pointconfiguration/pointconfiguration.py create mode 100644 examples/charts/pointconfiguration/pointconfiguration.pyproject create mode 100644 examples/charts/pointselectionandmarkers/doc/pointselectionandmarkers.png create mode 100644 examples/charts/pointselectionandmarkers/doc/pointselectionandmarkers.rst create mode 100644 examples/charts/pointselectionandmarkers/images/blue_triangle.png create mode 100644 examples/charts/pointselectionandmarkers/images/green_triangle.png create mode 100644 examples/charts/pointselectionandmarkers/markers.qrc create mode 100644 examples/charts/pointselectionandmarkers/pointselectionandmarkers.py create mode 100644 examples/charts/pointselectionandmarkers/pointselectionandmarkers.pyproject create mode 100644 examples/charts/pointselectionandmarkers/rc_markers.py create mode 100644 examples/charts/pointselectionandmarkers/utilities.py create mode 100644 examples/charts/qmlpolarchart/View1.qml create mode 100644 examples/charts/qmlpolarchart/View2.qml create mode 100644 examples/charts/qmlpolarchart/View3.qml create mode 100644 examples/charts/qmlpolarchart/doc/qmlpolarchart.png create mode 100644 examples/charts/qmlpolarchart/doc/qmlpolarchart.rst create mode 100644 examples/charts/qmlpolarchart/main.qml create mode 100644 examples/charts/qmlpolarchart/qmlpolarchart.py create mode 100644 examples/charts/qmlpolarchart/qmlpolarchart.pyproject create mode 100644 examples/charts/temperaturerecords/doc/temperaturerecords.png create mode 100644 examples/charts/temperaturerecords/doc/temperaturerecords.rst create mode 100644 examples/charts/temperaturerecords/temperaturerecords.py create mode 100644 examples/charts/temperaturerecords/temperaturerecords.pyproject create mode 100644 examples/corelib/ipc/sharedmemory/dialog.py create mode 100644 examples/corelib/ipc/sharedmemory/dialog.ui create mode 100644 examples/corelib/ipc/sharedmemory/image.png create mode 100644 examples/corelib/ipc/sharedmemory/main.py create mode 100644 examples/corelib/ipc/sharedmemory/qt.png create mode 100644 examples/corelib/ipc/sharedmemory/sharedmemory.pyproject create mode 100644 examples/corelib/ipc/sharedmemory/ui_dialog.py create mode 100644 examples/corelib/mimetypesbrowser/doc/mimetypesbrowser.png create mode 100644 examples/corelib/mimetypesbrowser/doc/mimetypesbrowser.rst create mode 100644 examples/corelib/mimetypesbrowser/mainwindow.py create mode 100644 examples/corelib/mimetypesbrowser/mimetypemodel.py create mode 100644 examples/corelib/mimetypesbrowser/mimetypesbrowser.py create mode 100644 examples/corelib/mimetypesbrowser/mimetypesbrowser.pyproject create mode 100644 examples/corelib/settingseditor/doc/settingseditor.png create mode 100644 examples/corelib/settingseditor/doc/settingseditor.rst create mode 100644 examples/corelib/settingseditor/settingseditor.py create mode 100644 examples/corelib/settingseditor/settingseditor.pyproject create mode 100644 examples/corelib/threads/doc/threads.png create mode 100644 examples/corelib/threads/doc/threads.rst create mode 100644 examples/corelib/threads/mandelbrot.py create mode 100644 examples/corelib/threads/threads.pyproject create mode 100644 examples/datavisualization/bars3d/bars3d.py create mode 100644 examples/datavisualization/bars3d/bars3d.pyproject create mode 100644 examples/datavisualization/bars3d/doc/bars3d.png create mode 100644 examples/datavisualization/bars3d/doc/bars3d.rst create mode 100644 examples/datavisualization/graphgallery/axesinputhandler.py create mode 100644 examples/datavisualization/graphgallery/bargraph.py create mode 100644 examples/datavisualization/graphgallery/custominputhandler.py create mode 100644 examples/datavisualization/graphgallery/data/layer_1.png create mode 100644 examples/datavisualization/graphgallery/data/layer_2.png create mode 100644 examples/datavisualization/graphgallery/data/layer_3.png create mode 100644 examples/datavisualization/graphgallery/data/license.txt create mode 100644 examples/datavisualization/graphgallery/data/maptexture.jpg create mode 100644 examples/datavisualization/graphgallery/data/raindata.txt create mode 100644 examples/datavisualization/graphgallery/data/topography.png create mode 100644 examples/datavisualization/graphgallery/doc/graph_gallery.webp create mode 100644 examples/datavisualization/graphgallery/doc/graphgallery.rst create mode 100644 examples/datavisualization/graphgallery/graphgallery.pyproject create mode 100644 examples/datavisualization/graphgallery/graphgallery.qrc create mode 100644 examples/datavisualization/graphgallery/graphmodifier.py create mode 100644 examples/datavisualization/graphgallery/highlightseries.py create mode 100644 examples/datavisualization/graphgallery/main.py create mode 100644 examples/datavisualization/graphgallery/rainfalldata.py create mode 100644 examples/datavisualization/graphgallery/scatterdatamodifier.py create mode 100644 examples/datavisualization/graphgallery/scattergraph.py create mode 100644 examples/datavisualization/graphgallery/surfacegraph.py create mode 100644 examples/datavisualization/graphgallery/surfacegraphmodifier.py create mode 100644 examples/datavisualization/graphgallery/topographicseries.py create mode 100644 examples/datavisualization/graphgallery/variantbardatamapping.py create mode 100644 examples/datavisualization/graphgallery/variantbardataproxy.py create mode 100644 examples/datavisualization/graphgallery/variantdataset.py create mode 100644 examples/datavisualization/minimalsurface/doc/minimalsurface.rst create mode 100644 examples/datavisualization/minimalsurface/main.py create mode 100644 examples/datavisualization/qmlsurfacegallery/datasource.py create mode 100644 examples/datavisualization/qmlsurfacegallery/doc/qmlsurfacegallery.rst create mode 100644 examples/datavisualization/qmlsurfacegallery/doc/qmlsurfacegallery.webp create mode 100644 examples/datavisualization/qmlsurfacegallery/main.py create mode 100644 examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SpectrogramData.qml create mode 100644 examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SurfaceHeightMap.qml create mode 100644 examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SurfaceOscilloscope.qml create mode 100644 examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SurfaceSpectrogram.qml create mode 100644 examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/heightmap.png create mode 100644 examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/main.qml create mode 100644 examples/datavisualization/qmlsurfacegallery/qmlsurfacegallery.pyproject create mode 100644 examples/datavisualization/qmlsurfacegallery/qmlsurfacegallery.qrc create mode 100644 examples/datavisualization/qmlsurfacegallery/rc_qmlsurfacegallery.py create mode 100644 examples/datavisualization/surface/doc/surface.rst create mode 100644 examples/datavisualization/surface/doc/surface_mountain.png create mode 100644 examples/datavisualization/surface/main.py create mode 100644 examples/datavisualization/surface/mountain.png create mode 100644 examples/datavisualization/surface/surface.pyproject create mode 100644 examples/datavisualization/surface/surfacegraph.py create mode 100644 examples/datavisualization/surface_model_numpy/doc/surface_model_numpy.rst create mode 100644 examples/datavisualization/surface_model_numpy/main.py create mode 100644 examples/datavisualization/surface_model_numpy/surface_model_numpy.pyproject create mode 100644 examples/datavisualization/surface_model_numpy/surfacegraph.py create mode 100644 examples/datavisualization/surface_numpy/doc/surface_numpy.rst create mode 100644 examples/datavisualization/surface_numpy/main.py create mode 100644 examples/datavisualization/surface_numpy/surface_numpy.pyproject create mode 100644 examples/datavisualization/surface_numpy/surfacegraph.py create mode 100644 examples/dbus/listnames/listnames.py create mode 100644 examples/dbus/listnames/listnames.pyproject create mode 100644 examples/dbus/pingpong/ping.py create mode 100644 examples/dbus/pingpong/pingpong.pyproject create mode 100644 examples/dbus/pingpong/pong.py create mode 100644 examples/designer/taskmenuextension/doc/taskmenuextension.png create mode 100644 examples/designer/taskmenuextension/doc/taskmenuextension.rst create mode 100644 examples/designer/taskmenuextension/main.py create mode 100644 examples/designer/taskmenuextension/registertictactoe.py create mode 100644 examples/designer/taskmenuextension/taskmenuextension.pyproject create mode 100644 examples/designer/taskmenuextension/tictactoe.py create mode 100644 examples/designer/taskmenuextension/tictactoeplugin.py create mode 100644 examples/designer/taskmenuextension/tictactoetaskmenu.py create mode 100644 examples/examples.pyproject create mode 100644 examples/external/matplotlib/widget3d/doc/widget3d.png create mode 100644 examples/external/matplotlib/widget3d/doc/widget3d.rst create mode 100644 examples/external/matplotlib/widget3d/requirements.txt create mode 100644 examples/external/matplotlib/widget3d/widget3d.py create mode 100644 examples/external/matplotlib/widget3d/widget3d.pyproject create mode 100644 examples/external/matplotlib/widget_gaussian/doc/widget_gaussian.png create mode 100644 examples/external/matplotlib/widget_gaussian/doc/widget_gaussian.rst create mode 100644 examples/external/matplotlib/widget_gaussian/requirements.txt create mode 100644 examples/external/matplotlib/widget_gaussian/widget_gaussian.py create mode 100644 examples/external/matplotlib/widget_gaussian/widget_gaussian.pyproject create mode 100644 examples/external/networkx/doc/networkx.png create mode 100644 examples/external/networkx/doc/networkx.rst create mode 100644 examples/external/networkx/main.py create mode 100644 examples/external/networkx/networkx.pyproject create mode 100644 examples/external/networkx/requirements.txt create mode 100644 examples/external/opencv/doc/opencv.png create mode 100644 examples/external/opencv/doc/opencv.rst create mode 100644 examples/external/opencv/opencv.pyproject create mode 100644 examples/external/opencv/requirements.txt create mode 100644 examples/external/opencv/webcam_pattern_detection.py create mode 100644 examples/external/pandas/dataframe_model.py create mode 100644 examples/external/pandas/doc/pandas.rst create mode 100644 examples/external/pandas/doc/pandas_simple.png create mode 100644 examples/external/pandas/iris.csv create mode 100644 examples/external/pandas/pandas.pyproject create mode 100644 examples/external/pandas/requirements.txt create mode 100644 examples/external/scikit/doc/scikit.png create mode 100644 examples/external/scikit/doc/scikit.rst create mode 100644 examples/external/scikit/requirements.txt create mode 100644 examples/external/scikit/scikit.pyproject create mode 100644 examples/external/scikit/staining_colors_separation.py create mode 100644 examples/gui/analogclock/analogclock.pyproject create mode 100644 examples/gui/analogclock/doc/analogclock.rst create mode 100644 examples/gui/analogclock/main.py create mode 100644 examples/httpserver/afterrequest/doc/afterrequest.rst create mode 100644 examples/httpserver/afterrequest/main.py create mode 100644 examples/installer_test/hello.py create mode 100644 examples/location/mapviewer/MapViewer/Main.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/Geocode.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/GeocodeForm.ui.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/Locale.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/LocaleForm.ui.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/Message.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/MessageForm.ui.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/ReverseGeocode.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/ReverseGeocodeForm.ui.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/RouteAddress.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/RouteAddressForm.ui.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/RouteCoordinate.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/RouteCoordinateForm.ui.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/RouteList.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/RouteListDelegate.qml create mode 100644 examples/location/mapviewer/MapViewer/forms/RouteListHeader.qml create mode 100644 examples/location/mapviewer/MapViewer/helper.js create mode 100644 examples/location/mapviewer/MapViewer/map/MapComponent.qml create mode 100644 examples/location/mapviewer/MapViewer/map/MapSliders.qml create mode 100644 examples/location/mapviewer/MapViewer/map/Marker.qml create mode 100644 examples/location/mapviewer/MapViewer/map/MiniMap.qml create mode 100644 examples/location/mapviewer/MapViewer/menus/ItemPopupMenu.qml create mode 100644 examples/location/mapviewer/MapViewer/menus/MainMenu.qml create mode 100644 examples/location/mapviewer/MapViewer/menus/MapPopupMenu.qml create mode 100644 examples/location/mapviewer/MapViewer/menus/MarkerPopupMenu.qml create mode 100644 examples/location/mapviewer/MapViewer/qmldir create mode 100644 examples/location/mapviewer/MapViewer/resources/marker.png create mode 100644 examples/location/mapviewer/MapViewer/resources/marker_blue.png create mode 100644 examples/location/mapviewer/MapViewer/resources/scale.png create mode 100644 examples/location/mapviewer/MapViewer/resources/scale_end.png create mode 100644 examples/location/mapviewer/doc/mapviewer.rst create mode 100644 examples/location/mapviewer/doc/mapviewer.webp create mode 100644 examples/location/mapviewer/main.py create mode 100644 examples/location/mapviewer/mapviewer.pyproject create mode 100644 examples/multimedia/audiooutput/audiooutput.py create mode 100644 examples/multimedia/audiooutput/audiooutput.pyproject create mode 100644 examples/multimedia/audiooutput/doc/audiooutput.png create mode 100644 examples/multimedia/audiooutput/doc/audiooutput.rst create mode 100644 examples/multimedia/audiosource/audiosource.py create mode 100644 examples/multimedia/audiosource/audiosource.pyproject create mode 100644 examples/multimedia/audiosource/doc/audiosource.png create mode 100644 examples/multimedia/audiosource/doc/audiosource.rst create mode 100644 examples/multimedia/camera/camera.py create mode 100644 examples/multimedia/camera/camera.pyproject create mode 100644 examples/multimedia/camera/camera.ui create mode 100644 examples/multimedia/camera/doc/camera.rst create mode 100644 examples/multimedia/camera/doc/camera.webp create mode 100644 examples/multimedia/camera/imagesettings.py create mode 100644 examples/multimedia/camera/imagesettings.ui create mode 100644 examples/multimedia/camera/main.py create mode 100644 examples/multimedia/camera/metadatadialog.py create mode 100644 examples/multimedia/camera/shutter.svg create mode 100644 examples/multimedia/camera/ui_camera.py create mode 100644 examples/multimedia/camera/ui_imagesettings.py create mode 100644 examples/multimedia/camera/ui_videosettings.py create mode 100644 examples/multimedia/camera/videosettings.py create mode 100644 examples/multimedia/camera/videosettings.ui create mode 100644 examples/multimedia/player/doc/player.png create mode 100644 examples/multimedia/player/doc/player.rst create mode 100644 examples/multimedia/player/player.py create mode 100644 examples/multimedia/player/player.pyproject create mode 100644 examples/multimedia/screencapture/doc/screencapture.rst create mode 100644 examples/multimedia/screencapture/doc/screencapture.webp create mode 100644 examples/multimedia/screencapture/main.py create mode 100644 examples/multimedia/screencapture/screencapture.pyproject create mode 100644 examples/multimedia/screencapture/screencapturepreview.py create mode 100644 examples/multimedia/screencapture/screenlistmodel.py create mode 100644 examples/network/blockingfortuneclient/blockingfortuneclient.py create mode 100644 examples/network/blockingfortuneclient/blockingfortuneclient.pyproject create mode 100644 examples/network/downloader/doc/downloader.png create mode 100644 examples/network/downloader/doc/downloader.rst create mode 100644 examples/network/downloader/downloader.py create mode 100644 examples/network/downloader/downloader.pyproject create mode 100644 examples/network/fortuneclient/fortuneclient.py create mode 100644 examples/network/fortuneclient/fortuneclient.pyproject create mode 100644 examples/network/fortuneserver/fortuneserver.py create mode 100644 examples/network/fortuneserver/fortuneserver.pyproject create mode 100644 examples/network/googlesuggest/doc/googlesuggest.png create mode 100644 examples/network/googlesuggest/doc/googlesuggest.rst create mode 100644 examples/network/googlesuggest/googlesuggest.py create mode 100644 examples/network/googlesuggest/googlesuggest.pyproject create mode 100644 examples/network/googlesuggest/main.py create mode 100644 examples/network/googlesuggest/searchbox.py create mode 100644 examples/network/loopback/dialog.py create mode 100644 examples/network/loopback/doc/loopback.png create mode 100644 examples/network/loopback/doc/loopback.rst create mode 100644 examples/network/loopback/loopback.pyproject create mode 100644 examples/network/loopback/main.py create mode 100644 examples/network/threadedfortuneserver/threadedfortuneserver.py create mode 100644 examples/network/threadedfortuneserver/threadedfortuneserver.pyproject create mode 100644 examples/networkauth/redditclient/doc/redditclient.png create mode 100644 examples/networkauth/redditclient/doc/redditclient.rst create mode 100644 examples/networkauth/redditclient/main.py create mode 100644 examples/networkauth/redditclient/redditclient.pyproject create mode 100644 examples/networkauth/redditclient/redditmodel.py create mode 100644 examples/networkauth/redditclient/redditwrapper.py create mode 100644 examples/opengl/contextinfo/contextinfo.py create mode 100644 examples/opengl/contextinfo/contextinfo.pyproject create mode 100644 examples/opengl/contextinfo/doc/contextinfo.png create mode 100644 examples/opengl/contextinfo/doc/contextinfo.rst create mode 100644 examples/opengl/hellogl2/doc/hellogl2.png create mode 100644 examples/opengl/hellogl2/doc/hellogl2.rst create mode 100644 examples/opengl/hellogl2/hellogl2.py create mode 100644 examples/opengl/hellogl2/hellogl2.pyproject create mode 100644 examples/opengl/textures/doc/textures.png create mode 100644 examples/opengl/textures/doc/textures.rst create mode 100644 examples/opengl/textures/images/side1.png create mode 100644 examples/opengl/textures/images/side2.png create mode 100644 examples/opengl/textures/images/side3.png create mode 100644 examples/opengl/textures/images/side4.png create mode 100644 examples/opengl/textures/images/side5.png create mode 100644 examples/opengl/textures/images/side6.png create mode 100644 examples/opengl/textures/textures.py create mode 100644 examples/opengl/textures/textures.pyproject create mode 100644 examples/opengl/textures/textures.qrc create mode 100644 examples/opengl/textures/textures_rc.py create mode 100644 examples/opengl/threadedqopenglwidget/doc/threadedqopenglwidget.png create mode 100644 examples/opengl/threadedqopenglwidget/doc/threadedqopenglwidget.rst create mode 100644 examples/opengl/threadedqopenglwidget/glwidget.py create mode 100644 examples/opengl/threadedqopenglwidget/main.py create mode 100644 examples/opengl/threadedqopenglwidget/mainwindow.py create mode 100644 examples/opengl/threadedqopenglwidget/renderer.py create mode 100644 examples/opengl/threadedqopenglwidget/threadedqopenglwidget.pyproject create mode 100644 examples/pdf/quickpdfviewer/doc/quickpdfviewer.rst create mode 100644 examples/pdf/quickpdfviewer/main.py create mode 100644 examples/pdf/quickpdfviewer/quickpdfviewer.pyproject create mode 100644 examples/pdf/quickpdfviewer/rc_viewer.py create mode 100644 examples/pdf/quickpdfviewer/resources/document-open.svg create mode 100644 examples/pdf/quickpdfviewer/resources/edit-clear.svg create mode 100644 examples/pdf/quickpdfviewer/resources/edit-copy.svg create mode 100644 examples/pdf/quickpdfviewer/resources/edit-select-all.svg create mode 100644 examples/pdf/quickpdfviewer/resources/go-down-search.svg create mode 100644 examples/pdf/quickpdfviewer/resources/go-next-view-page.svg create mode 100644 examples/pdf/quickpdfviewer/resources/go-previous-view-page.svg create mode 100644 examples/pdf/quickpdfviewer/resources/go-up-search.svg create mode 100644 examples/pdf/quickpdfviewer/resources/rotate-left.svg create mode 100644 examples/pdf/quickpdfviewer/resources/rotate-right.svg create mode 100644 examples/pdf/quickpdfviewer/resources/test.pdf create mode 100644 examples/pdf/quickpdfviewer/resources/zoom-fit-best.svg create mode 100644 examples/pdf/quickpdfviewer/resources/zoom-fit-width.svg create mode 100644 examples/pdf/quickpdfviewer/resources/zoom-in.svg create mode 100644 examples/pdf/quickpdfviewer/resources/zoom-original.svg create mode 100644 examples/pdf/quickpdfviewer/resources/zoom-out.svg create mode 100644 examples/pdf/quickpdfviewer/viewer.qml create mode 100644 examples/pdf/quickpdfviewer/viewer.qrc create mode 100644 examples/pdfwidgets/pdfviewer/doc/pdfviewer.rst create mode 100644 examples/pdfwidgets/pdfviewer/images/document-open.svgz create mode 100644 examples/pdfwidgets/pdfviewer/images/go-next-view-page.svgz create mode 100644 examples/pdfwidgets/pdfviewer/images/go-next-view.svgz create mode 100644 examples/pdfwidgets/pdfviewer/images/go-previous-view-page.svgz create mode 100644 examples/pdfwidgets/pdfviewer/images/go-previous-view.svgz create mode 100644 examples/pdfwidgets/pdfviewer/images/zoom-fit-best.svgz create mode 100644 examples/pdfwidgets/pdfviewer/images/zoom-fit-width.svgz create mode 100644 examples/pdfwidgets/pdfviewer/images/zoom-in.svgz create mode 100644 examples/pdfwidgets/pdfviewer/images/zoom-original.svgz create mode 100644 examples/pdfwidgets/pdfviewer/images/zoom-out.svgz create mode 100644 examples/pdfwidgets/pdfviewer/images/zoom-previous.svgz create mode 100644 examples/pdfwidgets/pdfviewer/main.py create mode 100644 examples/pdfwidgets/pdfviewer/mainwindow.py create mode 100644 examples/pdfwidgets/pdfviewer/mainwindow.ui create mode 100644 examples/pdfwidgets/pdfviewer/pdfviewer.pyproject create mode 100644 examples/pdfwidgets/pdfviewer/resources.qrc create mode 100644 examples/pdfwidgets/pdfviewer/resources_rc.py create mode 100644 examples/pdfwidgets/pdfviewer/ui_mainwindow.py create mode 100644 examples/pdfwidgets/pdfviewer/zoomselector.py create mode 100644 examples/qml/editingmodel/MovingRectangle.qml create mode 100644 examples/qml/editingmodel/doc/editingmodel.rst create mode 100644 examples/qml/editingmodel/doc/qabstractlistmodelqml.png create mode 100644 examples/qml/editingmodel/main.py create mode 100644 examples/qml/editingmodel/main.pyproject create mode 100644 examples/qml/editingmodel/main.qml create mode 100644 examples/qml/editingmodel/model.py create mode 100644 examples/qml/signals/pytoqml1/main.py create mode 100644 examples/qml/signals/pytoqml1/pytoqml1.pyproject create mode 100644 examples/qml/signals/pytoqml1/view.qml create mode 100644 examples/qml/signals/pytoqml2/main.py create mode 100644 examples/qml/signals/pytoqml2/pytoqml2.pyproject create mode 100644 examples/qml/signals/pytoqml2/view.qml create mode 100644 examples/qml/signals/qmltopy1/main.py create mode 100644 examples/qml/signals/qmltopy1/qmltopy1.pyproject create mode 100644 examples/qml/signals/qmltopy1/view.qml create mode 100644 examples/qml/signals/qmltopy2/main.py create mode 100644 examples/qml/signals/qmltopy2/qmltopy2.pyproject create mode 100644 examples/qml/signals/qmltopy2/view.qml create mode 100644 examples/qml/signals/qmltopy3/main.py create mode 100644 examples/qml/signals/qmltopy3/qmltopy3.pyproject create mode 100644 examples/qml/signals/qmltopy3/view.qml create mode 100644 examples/qml/signals/qmltopy4/main.py create mode 100644 examples/qml/signals/qmltopy4/qmltopy4.pyproject create mode 100644 examples/qml/signals/qmltopy4/view.qml create mode 100644 examples/qml/textproperties/doc/textproperties.png create mode 100644 examples/qml/textproperties/doc/textproperties.rst create mode 100644 examples/qml/textproperties/main.py create mode 100644 examples/qml/textproperties/textproperties.pyproject create mode 100644 examples/qml/textproperties/view.qml create mode 100644 examples/qml/tutorials/extending-qml-advanced/adding/People/Main.qml create mode 100644 examples/qml/tutorials/extending-qml-advanced/adding/People/qmldir create mode 100644 examples/qml/tutorials/extending-qml-advanced/adding/adding.pyproject create mode 100644 examples/qml/tutorials/extending-qml-advanced/adding/doc/adding.rst create mode 100644 examples/qml/tutorials/extending-qml-advanced/adding/main.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/adding/person.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced1-Base-project/People/Main.qml create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced1-Base-project/People/qmldir create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced1-Base-project/advanced1-Base-project.pyproject create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced1-Base-project/birthdayparty.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced1-Base-project/doc/advanced1-Base-project.rst create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced1-Base-project/main.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced1-Base-project/person.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced2-Inheritance-and-coercion/People/Main.qml create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced2-Inheritance-and-coercion/People/qmldir create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced2-Inheritance-and-coercion/advanced2-Inheritance-and-coercion.pyproject create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced2-Inheritance-and-coercion/birthdayparty.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced2-Inheritance-and-coercion/doc/advanced2-Inheritance-and-coercion.rst create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced2-Inheritance-and-coercion/main.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced2-Inheritance-and-coercion/person.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced3-Default-properties/People/Main.qml create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced3-Default-properties/People/qmldir create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced3-Default-properties/advanced3-Default-properties.pyproject create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced3-Default-properties/birthdayparty.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced3-Default-properties/doc/advanced3-Default-properties.rst create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced3-Default-properties/main.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced3-Default-properties/person.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced4-Grouped-properties/People/Main.qml create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced4-Grouped-properties/People/qmldir create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced4-Grouped-properties/advanced4-Grouped-properties.pyproject create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced4-Grouped-properties/birthdayparty.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced4-Grouped-properties/doc/advanced4-Grouped-properties.rst create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced4-Grouped-properties/main.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced4-Grouped-properties/person.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced5-Attached-properties/People/Main.qml create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced5-Attached-properties/People/qmldir create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced5-Attached-properties/advanced5-Attached-properties.pyproject create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced5-Attached-properties/birthdayparty.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced5-Attached-properties/doc/advanced5-Attached-properties.rst create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced5-Attached-properties/main.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced5-Attached-properties/person.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/People/Main.qml create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/People/qmldir create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/advanced6-Property-value-source.pyproject create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/birthdayparty.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/doc/advanced6-Property-value-source.rst create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/happybirthdaysong.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/main.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/person.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/binding/People/Main.qml create mode 100644 examples/qml/tutorials/extending-qml-advanced/binding/People/qmldir create mode 100644 examples/qml/tutorials/extending-qml-advanced/binding/binding.pyproject create mode 100644 examples/qml/tutorials/extending-qml-advanced/binding/birthdayparty.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/binding/doc/binding.rst create mode 100644 examples/qml/tutorials/extending-qml-advanced/binding/happybirthdaysong.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/binding/main.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/binding/person.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/extended/doc/extended.rst create mode 100644 examples/qml/tutorials/extending-qml-advanced/extended/example.qml create mode 100644 examples/qml/tutorials/extending-qml-advanced/extended/extended.pyproject create mode 100644 examples/qml/tutorials/extending-qml-advanced/extended/main.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/methods/People/Main.qml create mode 100644 examples/qml/tutorials/extending-qml-advanced/methods/People/qmldir create mode 100644 examples/qml/tutorials/extending-qml-advanced/methods/birthdayparty.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/methods/doc/methods.rst create mode 100644 examples/qml/tutorials/extending-qml-advanced/methods/main.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/methods/methods.pyproject create mode 100644 examples/qml/tutorials/extending-qml-advanced/methods/person.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/properties/People/Main.qml create mode 100644 examples/qml/tutorials/extending-qml-advanced/properties/People/qmldir create mode 100644 examples/qml/tutorials/extending-qml-advanced/properties/birthdayparty.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/properties/doc/properties.rst create mode 100644 examples/qml/tutorials/extending-qml-advanced/properties/main.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/properties/person.py create mode 100644 examples/qml/tutorials/extending-qml-advanced/properties/properties.pyproject create mode 100644 examples/qml/tutorials/extending-qml/chapter1-basics/app.qml create mode 100644 examples/qml/tutorials/extending-qml/chapter1-basics/basics.py create mode 100644 examples/qml/tutorials/extending-qml/chapter1-basics/chapter1-basics.pyproject create mode 100644 examples/qml/tutorials/extending-qml/chapter1-basics/doc/chapter1-basics.rst create mode 100644 examples/qml/tutorials/extending-qml/chapter2-methods/app.qml create mode 100644 examples/qml/tutorials/extending-qml/chapter2-methods/chapter2-methods.pyproject create mode 100644 examples/qml/tutorials/extending-qml/chapter2-methods/doc/chapter2-methods.rst create mode 100644 examples/qml/tutorials/extending-qml/chapter2-methods/methods.py create mode 100644 examples/qml/tutorials/extending-qml/chapter3-bindings/app.qml create mode 100644 examples/qml/tutorials/extending-qml/chapter3-bindings/bindings.py create mode 100644 examples/qml/tutorials/extending-qml/chapter3-bindings/chapter3-bindings.pyproject create mode 100644 examples/qml/tutorials/extending-qml/chapter3-bindings/doc/chapter3-bindings.rst create mode 100644 examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/app.qml create mode 100644 examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/chapter4-customPropertyTypes.pyproject create mode 100644 examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/customPropertyTypes.py create mode 100644 examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/doc/chapter4-customPropertyTypes.rst create mode 100644 examples/qml/tutorials/extending-qml/chapter5-listproperties/app.qml create mode 100644 examples/qml/tutorials/extending-qml/chapter5-listproperties/chapter5-listproperties.pyproject create mode 100644 examples/qml/tutorials/extending-qml/chapter5-listproperties/doc/chapter5-listproperties.rst create mode 100644 examples/qml/tutorials/extending-qml/chapter5-listproperties/listproperties.py create mode 100644 examples/qml/tutorials/extending-qml/chapter6-plugins/Charts/piechart.py create mode 100644 examples/qml/tutorials/extending-qml/chapter6-plugins/Charts/pieslice.py create mode 100644 examples/qml/tutorials/extending-qml/chapter6-plugins/Charts/plugins.png create mode 100644 examples/qml/tutorials/extending-qml/chapter6-plugins/app.qml create mode 100644 examples/qml/tutorials/extending-qml/chapter6-plugins/chapter6-plugins.pyproject create mode 100644 examples/qml/tutorials/extending-qml/chapter6-plugins/doc/chapter6-plugins.rst create mode 100644 examples/qml/tutorials/extending-qml/chapter6-plugins/doc/plugins.png create mode 100644 examples/qml/usingmodel/doc/usingmodel.png create mode 100644 examples/qml/usingmodel/doc/usingmodel.rst create mode 100644 examples/qml/usingmodel/usingmodel.py create mode 100644 examples/qml/usingmodel/usingmodel.pyproject create mode 100644 examples/qml/usingmodel/view.qml create mode 100644 examples/quick/models/objectlistmodel/doc/objectlistmodel.png create mode 100644 examples/quick/models/objectlistmodel/doc/objectlistmodel.rst create mode 100644 examples/quick/models/objectlistmodel/objectlistmodel.py create mode 100644 examples/quick/models/objectlistmodel/objectlistmodel.pyproject create mode 100644 examples/quick/models/objectlistmodel/view.qml create mode 100644 examples/quick/models/stringlistmodel/doc/stringlistmodel.png create mode 100644 examples/quick/models/stringlistmodel/doc/stringlistmodel.rst create mode 100644 examples/quick/models/stringlistmodel/stringlistmodel.py create mode 100644 examples/quick/models/stringlistmodel/stringlistmodel.pyproject create mode 100644 examples/quick/models/stringlistmodel/view.qml create mode 100644 examples/quick/painteditem/doc/painteditem.png create mode 100644 examples/quick/painteditem/doc/painteditem.rst create mode 100644 examples/quick/painteditem/main.qml create mode 100644 examples/quick/painteditem/painteditem.py create mode 100644 examples/quick/painteditem/painteditem.pyproject create mode 100644 examples/quick/rendercontrol/rendercontrol_opengl/cuberenderer.py create mode 100644 examples/quick/rendercontrol/rendercontrol_opengl/demo.qml create mode 100644 examples/quick/rendercontrol/rendercontrol_opengl/doc/rendercontrol_opengl.rst create mode 100644 examples/quick/rendercontrol/rendercontrol_opengl/main.py create mode 100644 examples/quick/rendercontrol/rendercontrol_opengl/rendercontrol_opengl.pyproject create mode 100644 examples/quick/rendercontrol/rendercontrol_opengl/window_singlethreaded.py create mode 100644 examples/quick/scenegraph/openglunderqml/doc/openglunderqml.rst create mode 100644 examples/quick/scenegraph/openglunderqml/doc/squircle.png create mode 100644 examples/quick/scenegraph/openglunderqml/main.py create mode 100644 examples/quick/scenegraph/openglunderqml/main.qml create mode 100644 examples/quick/scenegraph/openglunderqml/openglunderqml.pyproject create mode 100644 examples/quick/scenegraph/openglunderqml/squircle.py create mode 100644 examples/quick/scenegraph/openglunderqml/squirclerenderer.py create mode 100644 examples/quick/scenegraph/scenegraph_customgeometry/doc/scenegraph_customgeometry.rst create mode 100644 examples/quick/scenegraph/scenegraph_customgeometry/main.py create mode 100644 examples/quick/scenegraph/scenegraph_customgeometry/main.qml create mode 100644 examples/quick/scenegraph/scenegraph_customgeometry/scenegraph_customgeometry.pyproject create mode 100644 examples/quick/shared/Button.qml create mode 100644 examples/quick/shared/CheckBox.qml create mode 100644 examples/quick/shared/FlickrRssModel.qml create mode 100644 examples/quick/shared/Images.qml create mode 100644 examples/quick/shared/Label.qml create mode 100644 examples/quick/shared/LauncherList.qml create mode 100644 examples/quick/shared/README create mode 100644 examples/quick/shared/SimpleLauncherDelegate.qml create mode 100644 examples/quick/shared/Slider.qml create mode 100644 examples/quick/shared/TabSet.qml create mode 100644 examples/quick/shared/TextField.qml create mode 100644 examples/quick/shared/images/back.png create mode 100644 examples/quick/shared/images/checkmark.png create mode 100644 examples/quick/shared/images/next.png create mode 100644 examples/quick/shared/images/qt-logo.png create mode 100644 examples/quick/shared/images/slider_handle.png create mode 100644 examples/quick/shared/images/tab.png create mode 100644 examples/quick/shared/qmldir create mode 100644 examples/quick/shared/quick_shared.qrc create mode 100644 examples/quick/shared/shared.qrc create mode 100644 examples/quick/shared/shared_rc.py create mode 100644 examples/quick/window/AllScreens.qml create mode 100644 examples/quick/window/CurrentScreen.qml create mode 100644 examples/quick/window/Splash.qml create mode 100644 examples/quick/window/doc/window.png create mode 100644 examples/quick/window/doc/window.rst create mode 100644 examples/quick/window/main.py create mode 100644 examples/quick/window/rc_window.py create mode 100644 examples/quick/window/resources/icon.icns create mode 100644 examples/quick/window/resources/icon.ico create mode 100644 examples/quick/window/resources/icon.svg create mode 100644 examples/quick/window/resources/icon64.png create mode 100644 examples/quick/window/window.pyproject create mode 100644 examples/quick/window/window.qml create mode 100644 examples/quick/window/window.qrc create mode 100644 examples/quick3d/customgeometry/customgeometry.pyproject create mode 100644 examples/quick3d/customgeometry/doc/customgeometry-example.jpg create mode 100644 examples/quick3d/customgeometry/doc/customgeometry.rst create mode 100644 examples/quick3d/customgeometry/examplepoint.py create mode 100644 examples/quick3d/customgeometry/exampletriangle.py create mode 100644 examples/quick3d/customgeometry/main.py create mode 100644 examples/quick3d/customgeometry/main.qml create mode 100644 examples/quick3d/customgeometry/qt_logo_rect.png create mode 100644 examples/quick3d/customgeometry/resources.qrc create mode 100644 examples/quick3d/customgeometry/resources_rc.py create mode 100644 examples/quick3d/intro/doc/intro.png create mode 100644 examples/quick3d/intro/doc/intro.rst create mode 100644 examples/quick3d/intro/intro.pyproject create mode 100644 examples/quick3d/intro/main.py create mode 100644 examples/quick3d/intro/main.qml create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/Main.qml create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/app.qrc create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/icons.qrc create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/folder_closed.svg create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/folder_open.svg create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/generic_file.svg create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/globe.svg create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/info_sign.svg create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/light_bulb.svg create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/qt_logo.svg create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/read.svg create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/resize.svg create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/About.qml create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/Colors.qml create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/FileSystemView.qml create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/Icon.qml create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/MyMenu.qml create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/MyMenuBar.qml create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/ResizeButton.qml create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/Sidebar.qml create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/WindowDragHandler.qml create mode 100644 examples/quickcontrols/filesystemexplorer/FileSystemModule/qmldir create mode 100644 examples/quickcontrols/filesystemexplorer/doc/filesystemexplorer.rst create mode 100644 examples/quickcontrols/filesystemexplorer/doc/filesystemexplorer.webp create mode 100644 examples/quickcontrols/filesystemexplorer/filesystemexplorer.py create mode 100644 examples/quickcontrols/filesystemexplorer/filesystemexplorer.pyproject create mode 100644 examples/quickcontrols/gallery/+Material/ToolBar.qml create mode 100644 examples/quickcontrols/gallery/ToolBar.qml create mode 100644 examples/quickcontrols/gallery/doc/gallery.png create mode 100644 examples/quickcontrols/gallery/doc/gallery.rst create mode 100644 examples/quickcontrols/gallery/doc/images/qtquickcontrols2-gallery-drawer.png create mode 100644 examples/quickcontrols/gallery/doc/images/qtquickcontrols2-gallery-menu.png create mode 100644 examples/quickcontrols/gallery/doc/images/qtquickcontrols2-gallery-welcome.png create mode 100644 examples/quickcontrols/gallery/gallery.py create mode 100644 examples/quickcontrols/gallery/gallery.pyproject create mode 100644 examples/quickcontrols/gallery/gallery.qml create mode 100644 examples/quickcontrols/gallery/gallery.qrc create mode 100644 examples/quickcontrols/gallery/icons/gallery/20x20/back.png create mode 100644 examples/quickcontrols/gallery/icons/gallery/20x20/drawer.png create mode 100644 examples/quickcontrols/gallery/icons/gallery/20x20/menu.png create mode 100644 examples/quickcontrols/gallery/icons/gallery/20x20@2/back.png create mode 100644 examples/quickcontrols/gallery/icons/gallery/20x20@2/drawer.png create mode 100644 examples/quickcontrols/gallery/icons/gallery/20x20@2/menu.png create mode 100644 examples/quickcontrols/gallery/icons/gallery/20x20@3/back.png create mode 100644 examples/quickcontrols/gallery/icons/gallery/20x20@3/drawer.png create mode 100644 examples/quickcontrols/gallery/icons/gallery/20x20@3/menu.png create mode 100644 examples/quickcontrols/gallery/icons/gallery/20x20@4/back.png create mode 100644 examples/quickcontrols/gallery/icons/gallery/20x20@4/drawer.png create mode 100644 examples/quickcontrols/gallery/icons/gallery/20x20@4/menu.png create mode 100644 examples/quickcontrols/gallery/icons/gallery/index.theme create mode 100644 examples/quickcontrols/gallery/images/arrow.png create mode 100644 examples/quickcontrols/gallery/images/arrow@2x.png create mode 100644 examples/quickcontrols/gallery/images/arrow@3x.png create mode 100644 examples/quickcontrols/gallery/images/arrow@4x.png create mode 100644 examples/quickcontrols/gallery/images/arrows.png create mode 100644 examples/quickcontrols/gallery/images/arrows@2x.png create mode 100644 examples/quickcontrols/gallery/images/arrows@3x.png create mode 100644 examples/quickcontrols/gallery/images/arrows@4x.png create mode 100644 examples/quickcontrols/gallery/images/qt-logo.png create mode 100644 examples/quickcontrols/gallery/images/qt-logo@2x.png create mode 100644 examples/quickcontrols/gallery/images/qt-logo@3x.png create mode 100644 examples/quickcontrols/gallery/images/qt-logo@4x.png create mode 100644 examples/quickcontrols/gallery/pages/BusyIndicatorPage.qml create mode 100644 examples/quickcontrols/gallery/pages/ButtonPage.qml create mode 100644 examples/quickcontrols/gallery/pages/CheckBoxPage.qml create mode 100644 examples/quickcontrols/gallery/pages/ComboBoxPage.qml create mode 100644 examples/quickcontrols/gallery/pages/DelayButtonPage.qml create mode 100644 examples/quickcontrols/gallery/pages/DelegatePage.qml create mode 100644 examples/quickcontrols/gallery/pages/DialPage.qml create mode 100644 examples/quickcontrols/gallery/pages/DialogPage.qml create mode 100644 examples/quickcontrols/gallery/pages/FramePage.qml create mode 100644 examples/quickcontrols/gallery/pages/GroupBoxPage.qml create mode 100644 examples/quickcontrols/gallery/pages/PageIndicatorPage.qml create mode 100644 examples/quickcontrols/gallery/pages/ProgressBarPage.qml create mode 100644 examples/quickcontrols/gallery/pages/RadioButtonPage.qml create mode 100644 examples/quickcontrols/gallery/pages/RangeSliderPage.qml create mode 100644 examples/quickcontrols/gallery/pages/ScrollBarPage.qml create mode 100644 examples/quickcontrols/gallery/pages/ScrollIndicatorPage.qml create mode 100644 examples/quickcontrols/gallery/pages/ScrollablePage.qml create mode 100644 examples/quickcontrols/gallery/pages/SliderPage.qml create mode 100644 examples/quickcontrols/gallery/pages/SpinBoxPage.qml create mode 100644 examples/quickcontrols/gallery/pages/StackViewPage.qml create mode 100644 examples/quickcontrols/gallery/pages/SwipeViewPage.qml create mode 100644 examples/quickcontrols/gallery/pages/SwitchPage.qml create mode 100644 examples/quickcontrols/gallery/pages/TabBarPage.qml create mode 100644 examples/quickcontrols/gallery/pages/TextAreaPage.qml create mode 100644 examples/quickcontrols/gallery/pages/TextFieldPage.qml create mode 100644 examples/quickcontrols/gallery/pages/ToolTipPage.qml create mode 100644 examples/quickcontrols/gallery/pages/TumblerPage.qml create mode 100644 examples/quickcontrols/gallery/qmldir create mode 100644 examples/quickcontrols/gallery/qtquickcontrols2.conf create mode 100644 examples/quickcontrols/gallery/rc_gallery.py create mode 100644 examples/remoteobjects/modelview/modelview.pyproject create mode 100644 examples/remoteobjects/modelview/modelviewclient.py create mode 100644 examples/remoteobjects/modelview/modelviewserver.py create mode 100644 examples/samplebinding/CMakeLists.txt create mode 100644 examples/samplebinding/bindings.h create mode 100644 examples/samplebinding/bindings.xml create mode 100644 examples/samplebinding/doc/bindings.h.rstinc create mode 100644 examples/samplebinding/doc/bindings.xml.rstinc create mode 100644 examples/samplebinding/doc/samplebinding.pyproject create mode 100644 examples/samplebinding/doc/samplebinding.rst create mode 100644 examples/samplebinding/icecream.cpp create mode 100644 examples/samplebinding/icecream.h create mode 100644 examples/samplebinding/macros.h create mode 100644 examples/samplebinding/main.py create mode 100644 examples/samplebinding/truck.cpp create mode 100644 examples/samplebinding/truck.h create mode 100644 examples/scriptableapplication/CMakeLists.txt create mode 100644 examples/scriptableapplication/doc/scriptableapplication.pyproject create mode 100644 examples/scriptableapplication/doc/scriptableapplication.rst create mode 100644 examples/scriptableapplication/main.cpp create mode 100644 examples/scriptableapplication/mainwindow.cpp create mode 100644 examples/scriptableapplication/mainwindow.h create mode 100644 examples/scriptableapplication/pyside.pri create mode 100644 examples/scriptableapplication/pythonutils.cpp create mode 100644 examples/scriptableapplication/pythonutils.h create mode 100644 examples/scriptableapplication/scriptableapplication.pro create mode 100644 examples/scriptableapplication/scriptableapplication.xml create mode 100644 examples/scriptableapplication/wrappedclasses.h create mode 100644 examples/serialbus/can/bitratebox.py create mode 100644 examples/serialbus/can/can.pyproject create mode 100644 examples/serialbus/can/can.qrc create mode 100644 examples/serialbus/can/canbusdeviceinfobox.py create mode 100644 examples/serialbus/can/canbusdeviceinfobox.ui create mode 100644 examples/serialbus/can/canbusdeviceinfodialog.py create mode 100644 examples/serialbus/can/canbusdeviceinfodialog.ui create mode 100644 examples/serialbus/can/connectdialog.py create mode 100644 examples/serialbus/can/connectdialog.ui create mode 100644 examples/serialbus/can/doc/can.rst create mode 100644 examples/serialbus/can/images/application-exit.png create mode 100644 examples/serialbus/can/images/clear.png create mode 100644 examples/serialbus/can/images/connect.png create mode 100644 examples/serialbus/can/images/disconnect.png create mode 100644 examples/serialbus/can/main.py create mode 100644 examples/serialbus/can/mainwindow.py create mode 100644 examples/serialbus/can/mainwindow.ui create mode 100644 examples/serialbus/can/rc_can.py create mode 100644 examples/serialbus/can/receivedframesmodel.py create mode 100644 examples/serialbus/can/receivedframesview.py create mode 100644 examples/serialbus/can/sendframebox.py create mode 100644 examples/serialbus/can/sendframebox.ui create mode 100644 examples/serialbus/can/ui_canbusdeviceinfobox.py create mode 100644 examples/serialbus/can/ui_canbusdeviceinfodialog.py create mode 100644 examples/serialbus/can/ui_connectdialog.py create mode 100644 examples/serialbus/can/ui_mainwindow.py create mode 100644 examples/serialbus/can/ui_sendframebox.py create mode 100644 examples/serialbus/modbus/modbusclient/doc/modbusclient.rst create mode 100644 examples/serialbus/modbus/modbusclient/images/application-exit.png create mode 100644 examples/serialbus/modbus/modbusclient/images/connect.png create mode 100644 examples/serialbus/modbus/modbusclient/images/disconnect.png create mode 100644 examples/serialbus/modbus/modbusclient/images/settings.png create mode 100644 examples/serialbus/modbus/modbusclient/main.py create mode 100644 examples/serialbus/modbus/modbusclient/mainwindow.py create mode 100644 examples/serialbus/modbus/modbusclient/mainwindow.ui create mode 100644 examples/serialbus/modbus/modbusclient/modbusclient.pyproject create mode 100644 examples/serialbus/modbus/modbusclient/modbusclient.qrc create mode 100644 examples/serialbus/modbus/modbusclient/rc_modbusclient.py create mode 100644 examples/serialbus/modbus/modbusclient/settingsdialog.py create mode 100644 examples/serialbus/modbus/modbusclient/settingsdialog.ui create mode 100644 examples/serialbus/modbus/modbusclient/ui_mainwindow.py create mode 100644 examples/serialbus/modbus/modbusclient/ui_settingsdialog.py create mode 100644 examples/serialbus/modbus/modbusclient/writeregistermodel.py create mode 100644 examples/serialport/terminal/console.py create mode 100644 examples/serialport/terminal/doc/terminal.rst create mode 100644 examples/serialport/terminal/images/application-exit.png create mode 100644 examples/serialport/terminal/images/clear.png create mode 100644 examples/serialport/terminal/images/connect.png create mode 100644 examples/serialport/terminal/images/disconnect.png create mode 100644 examples/serialport/terminal/images/settings.png create mode 100644 examples/serialport/terminal/main.py create mode 100644 examples/serialport/terminal/mainwindow.py create mode 100644 examples/serialport/terminal/mainwindow.ui create mode 100644 examples/serialport/terminal/rc_terminal.py create mode 100644 examples/serialport/terminal/settingsdialog.py create mode 100644 examples/serialport/terminal/settingsdialog.ui create mode 100644 examples/serialport/terminal/terminal.pyproject create mode 100644 examples/serialport/terminal/terminal.qrc create mode 100644 examples/serialport/terminal/ui_mainwindow.py create mode 100644 examples/serialport/terminal/ui_settingsdialog.py create mode 100644 examples/spatialaudio/audiopanning/audiopanning.pyproject create mode 100644 examples/spatialaudio/audiopanning/doc/audiopanning.rst create mode 100644 examples/spatialaudio/audiopanning/main.py create mode 100644 examples/speech/hello_speak/doc/hello_speak.rst create mode 100644 examples/speech/hello_speak/doc/hello_speak.webp create mode 100644 examples/speech/hello_speak/hello_speak.pyproject create mode 100644 examples/speech/hello_speak/main.py create mode 100644 examples/speech/hello_speak/mainwindow.py create mode 100644 examples/speech/hello_speak/mainwindow.ui create mode 100644 examples/speech/hello_speak/ui_mainwindow.py create mode 100644 examples/sql/books/bookdelegate.py create mode 100644 examples/sql/books/books.pyproject create mode 100644 examples/sql/books/books.qrc create mode 100644 examples/sql/books/bookwindow.py create mode 100644 examples/sql/books/bookwindow.ui create mode 100644 examples/sql/books/createdb.py create mode 100644 examples/sql/books/doc/books.png create mode 100644 examples/sql/books/doc/books.rst create mode 100644 examples/sql/books/images/star.png create mode 100644 examples/sql/books/main.py create mode 100644 examples/sql/books/rc_books.py create mode 100644 examples/sql/books/ui_bookwindow.py create mode 100644 examples/sql/relationaltablemodel/connection.py create mode 100644 examples/sql/relationaltablemodel/relationaltablemodel.py create mode 100644 examples/statemachine/moveblocks/doc/moveblocks.png create mode 100644 examples/statemachine/moveblocks/doc/moveblocks.rst create mode 100644 examples/statemachine/moveblocks/moveblocks.py create mode 100644 examples/statemachine/moveblocks/moveblocks.pyproject create mode 100644 examples/statemachine/ping_pong/ping_pong.py create mode 100644 examples/statemachine/ping_pong/ping_pong.pyproject create mode 100644 examples/statemachine/rogue/rogue.py create mode 100644 examples/statemachine/rogue/rogue.pyproject create mode 100644 examples/statemachine/trafficlight/doc/trafficlight.png create mode 100644 examples/statemachine/trafficlight/doc/trafficlight.rst create mode 100644 examples/statemachine/trafficlight/trafficlight.py create mode 100644 examples/statemachine/trafficlight/trafficlight.pyproject create mode 100644 examples/uitools/uiloader/uiloader.py create mode 100644 examples/uitools/uiloader/uiloader.pyproject create mode 100644 examples/utils/pyside_config.py create mode 100644 examples/webchannel/standalone/core.py create mode 100644 examples/webchannel/standalone/dialog.py create mode 100644 examples/webchannel/standalone/dialog.ui create mode 100644 examples/webchannel/standalone/doc/standalone.png create mode 100644 examples/webchannel/standalone/doc/standalone.rst create mode 100644 examples/webchannel/standalone/index.html create mode 100644 examples/webchannel/standalone/main.py create mode 100644 examples/webchannel/standalone/standalone.pyproject create mode 100644 examples/webchannel/standalone/ui_dialog.py create mode 100644 examples/webchannel/standalone/websocketclientwrapper.py create mode 100644 examples/webchannel/standalone/websockettransport.py create mode 100644 examples/webenginequick/nanobrowser/ApplicationRoot.qml create mode 100644 examples/webenginequick/nanobrowser/BrowserDialog.qml create mode 100644 examples/webenginequick/nanobrowser/BrowserWindow.qml create mode 100644 examples/webenginequick/nanobrowser/DownloadView.qml create mode 100644 examples/webenginequick/nanobrowser/FindBar.qml create mode 100644 examples/webenginequick/nanobrowser/FullScreenNotification.qml create mode 100644 examples/webenginequick/nanobrowser/doc/nanobrowser.png create mode 100644 examples/webenginequick/nanobrowser/doc/nanobrowser.rst create mode 100644 examples/webenginequick/nanobrowser/icons/3rdparty/COPYING create mode 100644 examples/webenginequick/nanobrowser/icons/3rdparty/go-next.png create mode 100644 examples/webenginequick/nanobrowser/icons/3rdparty/go-previous.png create mode 100644 examples/webenginequick/nanobrowser/icons/3rdparty/process-stop.png create mode 100644 examples/webenginequick/nanobrowser/icons/3rdparty/view-refresh.png create mode 100644 examples/webenginequick/nanobrowser/nanobrowser.pyproject create mode 100644 examples/webenginequick/nanobrowser/quicknanobrowser.py create mode 100644 examples/webenginequick/nanobrowser/rc_resources.py create mode 100644 examples/webenginequick/nanobrowser/resources.qrc create mode 100644 examples/webenginewidgets/markdowneditor/document.py create mode 100644 examples/webenginewidgets/markdowneditor/main.py create mode 100644 examples/webenginewidgets/markdowneditor/mainwindow.py create mode 100644 examples/webenginewidgets/markdowneditor/mainwindow.ui create mode 100644 examples/webenginewidgets/markdowneditor/markdowneditor.pyproject create mode 100644 examples/webenginewidgets/markdowneditor/previewpage.py create mode 100644 examples/webenginewidgets/markdowneditor/rc_markdowneditor.py create mode 100644 examples/webenginewidgets/markdowneditor/resources/3rdparty/MARKDOWN-LICENSE.txt create mode 100644 examples/webenginewidgets/markdowneditor/resources/3rdparty/MARKED-LICENSE.txt create mode 100644 examples/webenginewidgets/markdowneditor/resources/3rdparty/markdown.css create mode 100644 examples/webenginewidgets/markdowneditor/resources/3rdparty/marked.js create mode 100644 examples/webenginewidgets/markdowneditor/resources/3rdparty/qt_attribution.json create mode 100644 examples/webenginewidgets/markdowneditor/resources/default.md create mode 100644 examples/webenginewidgets/markdowneditor/resources/index.html create mode 100644 examples/webenginewidgets/markdowneditor/resources/markdowneditor.qrc create mode 100644 examples/webenginewidgets/markdowneditor/ui_mainwindow.py create mode 100644 examples/webenginewidgets/notifications/doc/notifications.png create mode 100644 examples/webenginewidgets/notifications/doc/notifications.rst create mode 100644 examples/webenginewidgets/notifications/main.py create mode 100644 examples/webenginewidgets/notifications/notificationpopup.py create mode 100644 examples/webenginewidgets/notifications/notifications.pyproject create mode 100644 examples/webenginewidgets/notifications/resources/icon.png create mode 100644 examples/webenginewidgets/notifications/resources/index.html create mode 100644 examples/webenginewidgets/widgetsnanobrowser/doc/widgetsnanobrowser.png create mode 100644 examples/webenginewidgets/widgetsnanobrowser/doc/widgetsnanobrowser.rst create mode 100644 examples/webenginewidgets/widgetsnanobrowser/widgetsnanobrowser.py create mode 100644 examples/webenginewidgets/widgetsnanobrowser/widgetsnanobrowser.pyproject create mode 100644 examples/widgetbinding/CMakeLists.txt create mode 100644 examples/widgetbinding/README.md create mode 100644 examples/widgetbinding/bindings.h create mode 100644 examples/widgetbinding/bindings.xml create mode 100644 examples/widgetbinding/dialog.py create mode 100644 examples/widgetbinding/macros.h create mode 100644 examples/widgetbinding/main.py create mode 100644 examples/widgetbinding/registerwigglywidget.py create mode 100644 examples/widgetbinding/wigglywidget.cpp create mode 100644 examples/widgetbinding/wigglywidget.h create mode 100644 examples/widgetbinding/wigglywidget.py create mode 100644 examples/widgets/animation/animatedtiles/animatedtiles.py create mode 100644 examples/widgets/animation/animatedtiles/animatedtiles.pyproject create mode 100644 examples/widgets/animation/animatedtiles/animatedtiles.qrc create mode 100644 examples/widgets/animation/animatedtiles/animatedtiles_rc.py create mode 100644 examples/widgets/animation/animatedtiles/doc/animatedtiles.png create mode 100644 examples/widgets/animation/animatedtiles/doc/animatedtiles.rst create mode 100644 examples/widgets/animation/animatedtiles/images/Time-For-Lunch-2.jpg create mode 100644 examples/widgets/animation/animatedtiles/images/centered.png create mode 100644 examples/widgets/animation/animatedtiles/images/ellipse.png create mode 100644 examples/widgets/animation/animatedtiles/images/figure8.png create mode 100644 examples/widgets/animation/animatedtiles/images/kinetic.png create mode 100644 examples/widgets/animation/animatedtiles/images/random.png create mode 100644 examples/widgets/animation/animatedtiles/images/tile.png create mode 100644 examples/widgets/animation/appchooser/accessories-dictionary.png create mode 100644 examples/widgets/animation/appchooser/akregator.png create mode 100644 examples/widgets/animation/appchooser/appchooser.py create mode 100644 examples/widgets/animation/appchooser/appchooser.pyproject create mode 100644 examples/widgets/animation/appchooser/appchooser.qrc create mode 100644 examples/widgets/animation/appchooser/appchooser_rc.py create mode 100644 examples/widgets/animation/appchooser/digikam.png create mode 100644 examples/widgets/animation/appchooser/doc/appchooser.png create mode 100644 examples/widgets/animation/appchooser/doc/appchooser.rst create mode 100644 examples/widgets/animation/appchooser/k3b.png create mode 100644 examples/widgets/animation/easing/doc/easing.png create mode 100644 examples/widgets/animation/easing/doc/easing.rst create mode 100644 examples/widgets/animation/easing/easing.py create mode 100644 examples/widgets/animation/easing/easing.pyproject create mode 100644 examples/widgets/animation/easing/form.ui create mode 100644 examples/widgets/animation/easing/ui_form.py create mode 100644 examples/widgets/animation/states/doc/states.png create mode 100644 examples/widgets/animation/states/doc/states.rst create mode 100644 examples/widgets/animation/states/states.py create mode 100644 examples/widgets/animation/states/states.pyproject create mode 100644 examples/widgets/animation/states/states_rc.py create mode 100644 examples/widgets/desktop/screenshot/doc/screenshot.png create mode 100644 examples/widgets/desktop/screenshot/doc/screenshot.rst create mode 100644 examples/widgets/desktop/screenshot/screenshot.py create mode 100644 examples/widgets/desktop/screenshot/screenshot.pyproject create mode 100644 examples/widgets/desktop/systray/images/bad.png create mode 100644 examples/widgets/desktop/systray/images/heart.png create mode 100644 examples/widgets/desktop/systray/images/trash.png create mode 100644 examples/widgets/desktop/systray/main.py create mode 100644 examples/widgets/desktop/systray/rc_systray.py create mode 100644 examples/widgets/desktop/systray/systray.pyproject create mode 100644 examples/widgets/desktop/systray/systray.qrc create mode 100644 examples/widgets/desktop/systray/window.py create mode 100644 examples/widgets/dialogs/classwizard/classwizard.py create mode 100644 examples/widgets/dialogs/classwizard/classwizard.pyproject create mode 100644 examples/widgets/dialogs/classwizard/classwizard.qrc create mode 100644 examples/widgets/dialogs/classwizard/classwizard_rc.py create mode 100644 examples/widgets/dialogs/classwizard/doc/classwizard.png create mode 100644 examples/widgets/dialogs/classwizard/doc/classwizard.rst create mode 100644 examples/widgets/dialogs/classwizard/images/background.png create mode 100644 examples/widgets/dialogs/classwizard/images/banner.png create mode 100644 examples/widgets/dialogs/classwizard/images/watermark1.png create mode 100644 examples/widgets/dialogs/classwizard/listchooser.py create mode 100644 examples/widgets/dialogs/extension/extension.py create mode 100644 examples/widgets/dialogs/extension/extension.pyproject create mode 100644 examples/widgets/dialogs/licensewizard/doc/licensewizard.png create mode 100644 examples/widgets/dialogs/licensewizard/doc/licensewizard.rst create mode 100644 examples/widgets/dialogs/licensewizard/images/logo.png create mode 100644 examples/widgets/dialogs/licensewizard/images/watermark.png create mode 100644 examples/widgets/dialogs/licensewizard/licensewizard.py create mode 100644 examples/widgets/dialogs/licensewizard/licensewizard.pyproject create mode 100644 examples/widgets/dialogs/licensewizard/main.py create mode 100644 examples/widgets/dialogs/standarddialogs/standarddialogs.py create mode 100644 examples/widgets/dialogs/standarddialogs/standarddialogs.pyproject create mode 100644 examples/widgets/dialogs/tabdialog/doc/tabdialog.png create mode 100644 examples/widgets/dialogs/tabdialog/doc/tabdialog.rst create mode 100644 examples/widgets/dialogs/tabdialog/tabdialog.py create mode 100644 examples/widgets/dialogs/tabdialog/tabdialog.pyproject create mode 100644 examples/widgets/dialogs/trivialwizard/trivialwizard.py create mode 100644 examples/widgets/dialogs/trivialwizard/trivialwizard.pyproject create mode 100644 examples/widgets/draganddrop/draggableicons/doc/draggableicons.png create mode 100644 examples/widgets/draganddrop/draggableicons/doc/draggableicons.rst create mode 100644 examples/widgets/draganddrop/draggableicons/draggableicons.py create mode 100644 examples/widgets/draganddrop/draggableicons/draggableicons.qrc create mode 100644 examples/widgets/draganddrop/draggableicons/images/boat.png create mode 100644 examples/widgets/draganddrop/draggableicons/images/car.png create mode 100644 examples/widgets/draganddrop/draggableicons/images/house.png create mode 100644 examples/widgets/draganddrop/draggabletext/draggabletext.py create mode 100644 examples/widgets/draganddrop/draggabletext/draggabletext.pyproject create mode 100644 examples/widgets/draganddrop/draggabletext/draggabletext.qrc create mode 100644 examples/widgets/draganddrop/draggabletext/draggabletext_rc.py create mode 100644 examples/widgets/draganddrop/draggabletext/words.txt create mode 100644 examples/widgets/draganddrop/dropsite/doc/dropsite.rst create mode 100644 examples/widgets/draganddrop/dropsite/droparea.py create mode 100644 examples/widgets/draganddrop/dropsite/dropsite.pyproject create mode 100644 examples/widgets/draganddrop/dropsite/dropsitewindow.py create mode 100644 examples/widgets/draganddrop/dropsite/main.py create mode 100644 examples/widgets/effects/blurpicker/blureffect.py create mode 100644 examples/widgets/effects/blurpicker/blurpicker.py create mode 100644 examples/widgets/effects/blurpicker/blurpicker.pyproject create mode 100644 examples/widgets/effects/blurpicker/doc/blurpicker.png create mode 100644 examples/widgets/effects/blurpicker/doc/blurpicker.rst create mode 100644 examples/widgets/effects/blurpicker/images/README.txt create mode 100644 examples/widgets/effects/blurpicker/images/accessories-calculator.png create mode 100644 examples/widgets/effects/blurpicker/images/accessories-text-editor.png create mode 100644 examples/widgets/effects/blurpicker/images/background.jpg create mode 100644 examples/widgets/effects/blurpicker/images/help-browser.png create mode 100644 examples/widgets/effects/blurpicker/images/internet-group-chat.png create mode 100644 examples/widgets/effects/blurpicker/images/internet-mail.png create mode 100644 examples/widgets/effects/blurpicker/images/internet-web-browser.png create mode 100644 examples/widgets/effects/blurpicker/images/office-calendar.png create mode 100644 examples/widgets/effects/blurpicker/images/system-users.png create mode 100644 examples/widgets/effects/blurpicker/main.py create mode 100644 examples/widgets/effects/lighting/lighting.py create mode 100644 examples/widgets/effects/lighting/lighting.pyproject create mode 100644 examples/widgets/gettext/gettext.pyproject create mode 100644 examples/widgets/gettext/main.py create mode 100644 examples/widgets/graphicsview/anchorlayout/anchorlayout.py create mode 100644 examples/widgets/graphicsview/anchorlayout/anchorlayout.pyproject create mode 100644 examples/widgets/graphicsview/collidingmice/collidingmice.py create mode 100644 examples/widgets/graphicsview/collidingmice/collidingmice.pyproject create mode 100644 examples/widgets/graphicsview/collidingmice/mice_rc.py create mode 100644 examples/widgets/graphicsview/diagramscene/diagramscene.py create mode 100644 examples/widgets/graphicsview/diagramscene/diagramscene.pyproject create mode 100644 examples/widgets/graphicsview/diagramscene/diagramscene.qrc create mode 100644 examples/widgets/graphicsview/diagramscene/diagramscene_rc.py create mode 100644 examples/widgets/graphicsview/diagramscene/images/background1.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/background2.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/background3.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/background4.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/bold.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/bringtofront.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/delete.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/floodfill.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/italic.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/linecolor.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/linepointer.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/pointer.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/sendtoback.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/textpointer.png create mode 100644 examples/widgets/graphicsview/diagramscene/images/underline.png create mode 100644 examples/widgets/graphicsview/dragdroprobot/dragdroprobot.py create mode 100644 examples/widgets/graphicsview/dragdroprobot/dragdroprobot.pyproject create mode 100644 examples/widgets/graphicsview/dragdroprobot/dragdroprobot.qrc create mode 100644 examples/widgets/graphicsview/dragdroprobot/dragdroprobot_rc.py create mode 100644 examples/widgets/graphicsview/dragdroprobot/images/head.png create mode 100644 examples/widgets/graphicsview/elasticnodes/elasticnodes.py create mode 100644 examples/widgets/graphicsview/elasticnodes/elasticnodes.pyproject create mode 100644 examples/widgets/imageviewer/imageviewer.py create mode 100644 examples/widgets/imageviewer/imageviewer.pyproject create mode 100644 examples/widgets/imageviewer/main.py create mode 100644 examples/widgets/itemviews/address_book/adddialogwidget.py create mode 100644 examples/widgets/itemviews/address_book/address_book.py create mode 100644 examples/widgets/itemviews/address_book/address_book.pyproject create mode 100644 examples/widgets/itemviews/address_book/addresswidget.py create mode 100644 examples/widgets/itemviews/address_book/doc/address_book.png create mode 100644 examples/widgets/itemviews/address_book/doc/address_book.rst create mode 100644 examples/widgets/itemviews/address_book/newaddresstab.py create mode 100644 examples/widgets/itemviews/address_book/tablemodel.py create mode 100644 examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py create mode 100644 examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.pyproject create mode 100644 examples/widgets/itemviews/dirview/dirview.py create mode 100644 examples/widgets/itemviews/dirview/dirview.pyproject create mode 100644 examples/widgets/itemviews/dirview/doc/dirview.rst create mode 100644 examples/widgets/itemviews/editabletreemodel/default.txt create mode 100644 examples/widgets/itemviews/editabletreemodel/doc/editabletreemodel.png create mode 100644 examples/widgets/itemviews/editabletreemodel/doc/editabletreemodel.rst create mode 100644 examples/widgets/itemviews/editabletreemodel/editabletreemodel.pyproject create mode 100644 examples/widgets/itemviews/editabletreemodel/main.py create mode 100644 examples/widgets/itemviews/editabletreemodel/mainwindow.py create mode 100644 examples/widgets/itemviews/editabletreemodel/treeitem.py create mode 100644 examples/widgets/itemviews/editabletreemodel/treemodel.py create mode 100644 examples/widgets/itemviews/fetchmore/fetchmore.py create mode 100644 examples/widgets/itemviews/fetchmore/fetchmore.pyproject create mode 100644 examples/widgets/itemviews/jsonmodel/doc/jsonmodel.png create mode 100644 examples/widgets/itemviews/jsonmodel/doc/jsonmodel.rst create mode 100644 examples/widgets/itemviews/jsonmodel/example.json create mode 100644 examples/widgets/itemviews/jsonmodel/jsonmodel.py create mode 100644 examples/widgets/itemviews/jsonmodel/jsonmodel.pyproject create mode 100644 examples/widgets/itemviews/spinboxdelegate/doc/spinboxdelegate.rst create mode 100644 examples/widgets/itemviews/spinboxdelegate/spinboxdelegate.py create mode 100644 examples/widgets/itemviews/spinboxdelegate/spinboxdelegate.pyproject create mode 100644 examples/widgets/itemviews/spreadsheet/doc/spreadsheet.png create mode 100644 examples/widgets/itemviews/spreadsheet/doc/spreadsheet.rst create mode 100644 examples/widgets/itemviews/spreadsheet/main.py create mode 100644 examples/widgets/itemviews/spreadsheet/spreadsheet.py create mode 100644 examples/widgets/itemviews/spreadsheet/spreadsheetdelegate.py create mode 100644 examples/widgets/itemviews/spreadsheet/spreadsheetitem.py create mode 100644 examples/widgets/itemviews/stardelegate/doc/stardelegate.png create mode 100644 examples/widgets/itemviews/stardelegate/doc/stardelegate.rst create mode 100644 examples/widgets/itemviews/stardelegate/stardelegate.py create mode 100644 examples/widgets/itemviews/stardelegate/stardelegate.pyproject create mode 100644 examples/widgets/itemviews/stardelegate/stareditor.py create mode 100644 examples/widgets/itemviews/stardelegate/starrating.py create mode 100644 examples/widgets/layouts/basiclayouts/basiclayouts.py create mode 100644 examples/widgets/layouts/basiclayouts/basiclayouts.pyproject create mode 100644 examples/widgets/layouts/basiclayouts/doc/basiclayouts.png create mode 100644 examples/widgets/layouts/basiclayouts/doc/basiclayouts.rst create mode 100644 examples/widgets/layouts/borderlayout/borderlayout.py create mode 100644 examples/widgets/layouts/borderlayout/borderlayout.pyproject create mode 100644 examples/widgets/layouts/borderlayout/doc/borderlayout.png create mode 100644 examples/widgets/layouts/borderlayout/doc/borderlayout.rst create mode 100644 examples/widgets/layouts/dynamiclayouts/doc/dynamiclayouts.png create mode 100644 examples/widgets/layouts/dynamiclayouts/doc/dynamiclayouts.rst create mode 100644 examples/widgets/layouts/dynamiclayouts/dynamiclayouts.py create mode 100644 examples/widgets/layouts/dynamiclayouts/dynamiclayouts.pyproject create mode 100644 examples/widgets/layouts/flowlayout/doc/flowlayout.png create mode 100644 examples/widgets/layouts/flowlayout/doc/flowlayout.rst create mode 100644 examples/widgets/layouts/flowlayout/flowlayout.py create mode 100644 examples/widgets/layouts/flowlayout/flowlayout.pyproject create mode 100644 examples/widgets/linguist/example_de.ts create mode 100644 examples/widgets/linguist/linguist.pyproject create mode 100644 examples/widgets/linguist/linguist.qrc create mode 100644 examples/widgets/linguist/linguist_rc.py create mode 100644 examples/widgets/linguist/main.py create mode 100644 examples/widgets/mainwindows/application/application.py create mode 100644 examples/widgets/mainwindows/application/application.pyproject create mode 100644 examples/widgets/mainwindows/application/application.qrc create mode 100644 examples/widgets/mainwindows/application/application_rc.py create mode 100644 examples/widgets/mainwindows/application/images/copy.png create mode 100644 examples/widgets/mainwindows/application/images/cut.png create mode 100644 examples/widgets/mainwindows/application/images/new.png create mode 100644 examples/widgets/mainwindows/application/images/open.png create mode 100644 examples/widgets/mainwindows/application/images/paste.png create mode 100644 examples/widgets/mainwindows/application/images/save.png create mode 100644 examples/widgets/mainwindows/dockwidgets/doc/dockwidgets.png create mode 100644 examples/widgets/mainwindows/dockwidgets/doc/dockwidgets.rst create mode 100644 examples/widgets/mainwindows/dockwidgets/dockwidgets.py create mode 100644 examples/widgets/mainwindows/dockwidgets/dockwidgets.pyproject create mode 100644 examples/widgets/mainwindows/dockwidgets/dockwidgets.qrc create mode 100644 examples/widgets/mainwindows/dockwidgets/dockwidgets_rc.py create mode 100644 examples/widgets/mainwindows/dockwidgets/images/new.png create mode 100644 examples/widgets/mainwindows/dockwidgets/images/print.png create mode 100644 examples/widgets/mainwindows/dockwidgets/images/save.png create mode 100644 examples/widgets/mainwindows/dockwidgets/images/undo.png create mode 100644 examples/widgets/mainwindows/mdi/images/copy.png create mode 100644 examples/widgets/mainwindows/mdi/images/cut.png create mode 100644 examples/widgets/mainwindows/mdi/images/new.png create mode 100644 examples/widgets/mainwindows/mdi/images/open.png create mode 100644 examples/widgets/mainwindows/mdi/images/paste.png create mode 100644 examples/widgets/mainwindows/mdi/images/save.png create mode 100644 examples/widgets/mainwindows/mdi/mdi.py create mode 100644 examples/widgets/mainwindows/mdi/mdi.pyproject create mode 100644 examples/widgets/mainwindows/mdi/mdi.qrc create mode 100644 examples/widgets/mainwindows/mdi/mdi_rc.py create mode 100644 examples/widgets/painting/basicdrawing/basicdrawing.py create mode 100644 examples/widgets/painting/basicdrawing/basicdrawing.pyproject create mode 100644 examples/widgets/painting/basicdrawing/basicdrawing.qrc create mode 100644 examples/widgets/painting/basicdrawing/basicdrawing_rc.py create mode 100644 examples/widgets/painting/basicdrawing/doc/basicdrawing.png create mode 100644 examples/widgets/painting/basicdrawing/doc/basicdrawing.rst create mode 100644 examples/widgets/painting/basicdrawing/images/brick.png create mode 100644 examples/widgets/painting/basicdrawing/images/qt-logo.png create mode 100644 examples/widgets/painting/concentriccircles/concentriccircles.py create mode 100644 examples/widgets/painting/concentriccircles/concentriccircles.pyproject create mode 100644 examples/widgets/painting/concentriccircles/doc/concentriccircles.png create mode 100644 examples/widgets/painting/concentriccircles/doc/concentriccircles.rst create mode 100644 examples/widgets/painting/painter/doc/painter.png create mode 100644 examples/widgets/painting/painter/doc/painter.rst create mode 100644 examples/widgets/painting/painter/painter.py create mode 100644 examples/widgets/painting/painter/painter.pyproject create mode 100644 examples/widgets/painting/plot/doc/plot.png create mode 100644 examples/widgets/painting/plot/doc/plot.rst create mode 100644 examples/widgets/painting/plot/plot.py create mode 100644 examples/widgets/painting/plot/plot.pyproject create mode 100644 examples/widgets/richtext/orderform/orderform.py create mode 100644 examples/widgets/richtext/orderform/orderform.pyproject create mode 100644 examples/widgets/richtext/syntaxhighlighter/doc/syntaxhighlighter.png create mode 100644 examples/widgets/richtext/syntaxhighlighter/doc/syntaxhighlighter.rst create mode 100644 examples/widgets/richtext/syntaxhighlighter/examples/example create mode 100644 examples/widgets/richtext/syntaxhighlighter/syntaxhighlighter.py create mode 100644 examples/widgets/richtext/syntaxhighlighter/syntaxhighlighter.pyproject create mode 100644 examples/widgets/richtext/textedit/doc/textedit.png create mode 100644 examples/widgets/richtext/textedit/doc/textedit.rst create mode 100644 examples/widgets/richtext/textedit/example.html create mode 100644 examples/widgets/richtext/textedit/images/logo32.png create mode 100644 examples/widgets/richtext/textedit/images/mac/checkbox-checked.png create mode 100644 examples/widgets/richtext/textedit/images/mac/checkbox.png create mode 100644 examples/widgets/richtext/textedit/images/mac/editcopy.png create mode 100644 examples/widgets/richtext/textedit/images/mac/editcut.png create mode 100644 examples/widgets/richtext/textedit/images/mac/editpaste.png create mode 100644 examples/widgets/richtext/textedit/images/mac/editredo.png create mode 100644 examples/widgets/richtext/textedit/images/mac/editundo.png create mode 100644 examples/widgets/richtext/textedit/images/mac/exportpdf.png create mode 100644 examples/widgets/richtext/textedit/images/mac/filenew.png create mode 100644 examples/widgets/richtext/textedit/images/mac/fileopen.png create mode 100644 examples/widgets/richtext/textedit/images/mac/fileprint.png create mode 100644 examples/widgets/richtext/textedit/images/mac/filesave.png create mode 100644 examples/widgets/richtext/textedit/images/mac/format-indent-less.png create mode 100644 examples/widgets/richtext/textedit/images/mac/format-indent-more.png create mode 100644 examples/widgets/richtext/textedit/images/mac/textbold.png create mode 100644 examples/widgets/richtext/textedit/images/mac/textcenter.png create mode 100644 examples/widgets/richtext/textedit/images/mac/textitalic.png create mode 100644 examples/widgets/richtext/textedit/images/mac/textjustify.png create mode 100644 examples/widgets/richtext/textedit/images/mac/textleft.png create mode 100644 examples/widgets/richtext/textedit/images/mac/textright.png create mode 100644 examples/widgets/richtext/textedit/images/mac/textunder.png create mode 100644 examples/widgets/richtext/textedit/images/mac/textundercolor.png create mode 100644 examples/widgets/richtext/textedit/images/mac/zoomin.png create mode 100644 examples/widgets/richtext/textedit/images/mac/zoomout.png create mode 100644 examples/widgets/richtext/textedit/images/win/checkbox-checked.png create mode 100644 examples/widgets/richtext/textedit/images/win/checkbox.png create mode 100644 examples/widgets/richtext/textedit/images/win/editcopy.png create mode 100644 examples/widgets/richtext/textedit/images/win/editcut.png create mode 100644 examples/widgets/richtext/textedit/images/win/editpaste.png create mode 100644 examples/widgets/richtext/textedit/images/win/editredo.png create mode 100644 examples/widgets/richtext/textedit/images/win/editundo.png create mode 100644 examples/widgets/richtext/textedit/images/win/exportpdf.png create mode 100644 examples/widgets/richtext/textedit/images/win/filenew.png create mode 100644 examples/widgets/richtext/textedit/images/win/fileopen.png create mode 100644 examples/widgets/richtext/textedit/images/win/fileprint.png create mode 100644 examples/widgets/richtext/textedit/images/win/filesave.png create mode 100644 examples/widgets/richtext/textedit/images/win/format-indent-less.png create mode 100644 examples/widgets/richtext/textedit/images/win/format-indent-more.png create mode 100644 examples/widgets/richtext/textedit/images/win/textbold.png create mode 100644 examples/widgets/richtext/textedit/images/win/textcenter.png create mode 100644 examples/widgets/richtext/textedit/images/win/textitalic.png create mode 100644 examples/widgets/richtext/textedit/images/win/textjustify.png create mode 100644 examples/widgets/richtext/textedit/images/win/textleft.png create mode 100644 examples/widgets/richtext/textedit/images/win/textright.png create mode 100644 examples/widgets/richtext/textedit/images/win/textunder.png create mode 100644 examples/widgets/richtext/textedit/images/win/textundercolor.png create mode 100644 examples/widgets/richtext/textedit/images/win/zoomin.png create mode 100644 examples/widgets/richtext/textedit/images/win/zoomout.png create mode 100644 examples/widgets/richtext/textedit/main.py create mode 100644 examples/widgets/richtext/textedit/textedit.py create mode 100644 examples/widgets/richtext/textedit/textedit.pyproject create mode 100644 examples/widgets/richtext/textedit/textedit.qrc create mode 100644 examples/widgets/richtext/textedit/textedit_rc.py create mode 100644 examples/widgets/richtext/textobject/doc/textobject.png create mode 100644 examples/widgets/richtext/textobject/doc/textobject.rst create mode 100644 examples/widgets/richtext/textobject/files/heart.svg create mode 100644 examples/widgets/richtext/textobject/textobject.py create mode 100644 examples/widgets/richtext/textobject/textobject.pyproject create mode 100644 examples/widgets/thread_signals/thread_signals.py create mode 100644 examples/widgets/thread_signals/thread_signals.pyproject create mode 100644 examples/widgets/tools/regularexpression/doc/regularexpression.png create mode 100644 examples/widgets/tools/regularexpression/doc/regularexpression.rst create mode 100644 examples/widgets/tools/regularexpression/regularexpression.py create mode 100644 examples/widgets/tools/regularexpression/regularexpression.pyproject create mode 100644 examples/widgets/tools/regularexpression/regularexpressiondialog.py create mode 100644 examples/widgets/tutorials/addressbook/addressbook.pyproject create mode 100644 examples/widgets/tutorials/addressbook/doc/addressbook.png create mode 100644 examples/widgets/tutorials/addressbook/doc/addressbook.rst create mode 100644 examples/widgets/tutorials/addressbook/part1.py create mode 100644 examples/widgets/tutorials/addressbook/part2.py create mode 100644 examples/widgets/tutorials/addressbook/part3.py create mode 100644 examples/widgets/tutorials/addressbook/part4.py create mode 100644 examples/widgets/tutorials/addressbook/part5.py create mode 100644 examples/widgets/tutorials/addressbook/part6.py create mode 100644 examples/widgets/tutorials/addressbook/part7.py create mode 100644 examples/widgets/tutorials/cannon/cannon.pyproject create mode 100644 examples/widgets/tutorials/cannon/doc/cannon.png create mode 100644 examples/widgets/tutorials/cannon/doc/cannon.rst create mode 100644 examples/widgets/tutorials/cannon/t1.py create mode 100644 examples/widgets/tutorials/cannon/t10.py create mode 100644 examples/widgets/tutorials/cannon/t11.py create mode 100644 examples/widgets/tutorials/cannon/t12.py create mode 100644 examples/widgets/tutorials/cannon/t13.py create mode 100644 examples/widgets/tutorials/cannon/t14.py create mode 100644 examples/widgets/tutorials/cannon/t2.py create mode 100644 examples/widgets/tutorials/cannon/t3.py create mode 100644 examples/widgets/tutorials/cannon/t4.py create mode 100644 examples/widgets/tutorials/cannon/t5.py create mode 100644 examples/widgets/tutorials/cannon/t6.py create mode 100644 examples/widgets/tutorials/cannon/t7.py create mode 100644 examples/widgets/tutorials/cannon/t8.py create mode 100644 examples/widgets/tutorials/cannon/t9.py create mode 100644 examples/widgets/tutorials/modelview/1_readonly.py create mode 100644 examples/widgets/tutorials/modelview/2_formatting.py create mode 100644 examples/widgets/tutorials/modelview/3_changingmodel.py create mode 100644 examples/widgets/tutorials/modelview/4_headers.py create mode 100644 examples/widgets/tutorials/modelview/5_edit.py create mode 100644 examples/widgets/tutorials/modelview/6_treeview.py create mode 100644 examples/widgets/tutorials/modelview/7_selections.py create mode 100644 examples/widgets/tutorials/modelview/doc/modelview.rst create mode 100644 examples/widgets/tutorials/modelview/modelview.pyproject create mode 100644 examples/widgets/widgets/charactermap/charactermap.pyproject create mode 100644 examples/widgets/widgets/charactermap/characterwidget.py create mode 100644 examples/widgets/widgets/charactermap/doc/charactermap.rst create mode 100644 examples/widgets/widgets/charactermap/fontinfodialog.py create mode 100644 examples/widgets/widgets/charactermap/main.py create mode 100644 examples/widgets/widgets/charactermap/mainwindow.py create mode 100644 examples/widgets/widgets/digitalclock/digitalclock.py create mode 100644 examples/widgets/widgets/digitalclock/digitalclock.pyproject create mode 100644 examples/widgets/widgets/digitalclock/doc/digitalclock-screenshot.png create mode 100644 examples/widgets/widgets/digitalclock/doc/digitalclock.rst create mode 100644 examples/widgets/widgets/tetrix/doc/tetrix-screenshot.png create mode 100644 examples/widgets/widgets/tetrix/doc/tetrix.rst create mode 100644 examples/widgets/widgets/tetrix/tetrix.py create mode 100644 examples/widgets/widgets/tetrix/tetrix.pyproject create mode 100644 examples/widgets/widgetsgallery/doc/widgetsgallery.png create mode 100644 examples/widgets/widgetsgallery/doc/widgetsgallery.rst create mode 100644 examples/widgets/widgetsgallery/main.py create mode 100644 examples/widgets/widgetsgallery/widgetgallery.py create mode 100644 examples/widgets/widgetsgallery/widgetsgallery.pyproject create mode 100644 examples/xml/dombookmarks/doc/dombookmarks.png create mode 100644 examples/xml/dombookmarks/doc/dombookmarks.rst create mode 100644 examples/xml/dombookmarks/dombookmarks.py create mode 100644 examples/xml/dombookmarks/dombookmarks.pyproject create mode 100644 examples/xml/dombookmarks/jennifer.xbel create mode 100644 keyword-errors.lst create mode 100644 requirements-doc.txt create mode 100644 requirements.txt create mode 100644 setup.py create mode 100644 sources/pyside-tools/CMakeLists.txt create mode 100644 sources/pyside-tools/__init__.py create mode 100644 sources/pyside-tools/android_deploy.py create mode 100644 sources/pyside-tools/android_deploy.pyproject create mode 100644 sources/pyside-tools/cmake/PySideAndroid.cmake create mode 100644 sources/pyside-tools/cmake/PySideToolsHelpers.cmake create mode 100644 sources/pyside-tools/cmake/PySideToolsSetup.cmake create mode 100644 sources/pyside-tools/deploy.py create mode 100644 sources/pyside-tools/deploy.pyproject create mode 100644 sources/pyside-tools/deploy_lib/__init__.py create mode 100644 sources/pyside-tools/deploy_lib/android/__init__.py create mode 100644 sources/pyside-tools/deploy_lib/android/android_helper.py create mode 100644 sources/pyside-tools/deploy_lib/android/buildozer.py create mode 100644 sources/pyside-tools/deploy_lib/android/recipes/PySide6/__init__.tmpl.py create mode 100644 sources/pyside-tools/deploy_lib/android/recipes/shiboken6/__init__.tmpl.py create mode 100644 sources/pyside-tools/deploy_lib/commands.py create mode 100644 sources/pyside-tools/deploy_lib/config.py create mode 100644 sources/pyside-tools/deploy_lib/deploy_util.py create mode 100644 sources/pyside-tools/deploy_lib/nuitka_helper.py create mode 100644 sources/pyside-tools/deploy_lib/pyside_icon.jpg create mode 100644 sources/pyside-tools/deploy_lib/python_helper.py create mode 100644 sources/pyside-tools/metaobjectdump.py create mode 100644 sources/pyside-tools/project.py create mode 100644 sources/pyside-tools/project.pyproject create mode 100644 sources/pyside-tools/project/__init__.py create mode 100644 sources/pyside-tools/project/newproject.py create mode 100644 sources/pyside-tools/project/project_data.py create mode 100644 sources/pyside-tools/project/utils.py create mode 100644 sources/pyside-tools/pyside_tool.py create mode 100644 sources/pyside-tools/qml.py create mode 100644 sources/pyside-tools/qtpy2cpp.py create mode 100644 sources/pyside-tools/qtpy2cpp.pyproject create mode 100644 sources/pyside-tools/qtpy2cpp_lib/astdump.py create mode 100644 sources/pyside-tools/qtpy2cpp_lib/formatter.py create mode 100644 sources/pyside-tools/qtpy2cpp_lib/nodedump.py create mode 100644 sources/pyside-tools/qtpy2cpp_lib/qt.py create mode 100644 sources/pyside-tools/qtpy2cpp_lib/tests/baseline/basic_test.cpp create mode 100644 sources/pyside-tools/qtpy2cpp_lib/tests/baseline/basic_test.py create mode 100644 sources/pyside-tools/qtpy2cpp_lib/tests/test_qtpy2cpp.py create mode 100644 sources/pyside-tools/qtpy2cpp_lib/tokenizer.py create mode 100644 sources/pyside-tools/qtpy2cpp_lib/visitor.py create mode 100644 sources/pyside6/.cmake.conf create mode 100644 sources/pyside6/.gitattributes create mode 100644 sources/pyside6/.gitignore create mode 100644 sources/pyside6/CMakeLists.txt create mode 100644 sources/pyside6/COPYING create mode 100644 sources/pyside6/PySide6/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/Qt3DAnimation/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/Qt3DAnimation/typesystem_3danimation.xml create mode 100644 sources/pyside6/PySide6/Qt3DCore/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/Qt3DCore/typesystem_3dcore.xml create mode 100644 sources/pyside6/PySide6/Qt3DExtras/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/Qt3DExtras/typesystem_3dextras.xml create mode 100644 sources/pyside6/PySide6/Qt3DInput/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/Qt3DInput/typesystem_3dinput.xml create mode 100644 sources/pyside6/PySide6/Qt3DLogic/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/Qt3DLogic/typesystem_3dlogic.xml create mode 100644 sources/pyside6/PySide6/Qt3DRender/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/Qt3DRender/typesystem_3drender.xml create mode 100644 sources/pyside6/PySide6/QtAxContainer/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtAxContainer/QtAxContainer_global.post.h.in create mode 100644 sources/pyside6/PySide6/QtAxContainer/typesystem_axcontainer.xml create mode 100644 sources/pyside6/PySide6/QtBluetooth/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtBluetooth/typesystem_bluetooth.xml create mode 100644 sources/pyside6/PySide6/QtCharts/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtCharts/typesystem_charts.xml create mode 100644 sources/pyside6/PySide6/QtConcurrent/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtConcurrent/curr_errors.txt create mode 100644 sources/pyside6/PySide6/QtConcurrent/typesystem_concurrent.xml create mode 100644 sources/pyside6/PySide6/QtCore/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtCore/QtCore_global.post.h.in create mode 100644 sources/pyside6/PySide6/QtCore/glue/core_snippets.cpp create mode 100644 sources/pyside6/PySide6/QtCore/glue/core_snippets_p.h create mode 100644 sources/pyside6/PySide6/QtCore/glue/qeasingcurve_glue.cpp create mode 100644 sources/pyside6/PySide6/QtCore/glue/qeasingcurve_glue.h create mode 100644 sources/pyside6/PySide6/QtCore/glue/qtcorehelper.cpp create mode 100644 sources/pyside6/PySide6/QtCore/typesystem_core.xml create mode 100644 sources/pyside6/PySide6/QtCore/typesystem_core_common.xml create mode 100644 sources/pyside6/PySide6/QtCore/typesystem_core_win.xml create mode 100644 sources/pyside6/PySide6/QtDBus/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtDBus/QtDBus_global.post.h.in create mode 100644 sources/pyside6/PySide6/QtDBus/typesystem_dbus.xml create mode 100644 sources/pyside6/PySide6/QtDataVisualization/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtDataVisualization/qtdatavisualization_helper.cpp create mode 100644 sources/pyside6/PySide6/QtDataVisualization/typesystem_datavisualization.xml create mode 100644 sources/pyside6/PySide6/QtDesigner/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtDesigner/QtDesigner_global.post.h.in create mode 100644 sources/pyside6/PySide6/QtDesigner/QtDesigner_global.pre.h.in create mode 100644 sources/pyside6/PySide6/QtDesigner/qpydesignercustomwidgetcollection.cpp create mode 100644 sources/pyside6/PySide6/QtDesigner/typesystem_designer.xml create mode 100644 sources/pyside6/PySide6/QtGui/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtGui/QtGui_global.post.h.in create mode 100644 sources/pyside6/PySide6/QtGui/typesystem_gui.xml create mode 100644 sources/pyside6/PySide6/QtGui/typesystem_gui_common.xml create mode 100644 sources/pyside6/PySide6/QtGui/typesystem_gui_mac.xml create mode 100644 sources/pyside6/PySide6/QtGui/typesystem_gui_win.xml create mode 100644 sources/pyside6/PySide6/QtGui/typesystem_gui_x11.xml create mode 100644 sources/pyside6/PySide6/QtHelp/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtHelp/QtHelp_global.pre.h.in create mode 100644 sources/pyside6/PySide6/QtHelp/typesystem_help.xml create mode 100644 sources/pyside6/PySide6/QtHttpServer/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtHttpServer/typesystem_httpserver.xml create mode 100644 sources/pyside6/PySide6/QtLocation/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtLocation/typesystem_location.xml create mode 100644 sources/pyside6/PySide6/QtMultimedia/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtMultimedia/typesystem_multimedia.xml create mode 100644 sources/pyside6/PySide6/QtMultimediaWidgets/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtMultimediaWidgets/typesystem_multimediawidgets.xml create mode 100644 sources/pyside6/PySide6/QtNetwork/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtNetwork/typesystem_network.xml create mode 100644 sources/pyside6/PySide6/QtNetworkAuth/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtNetworkAuth/typesystem_networkauth.xml create mode 100644 sources/pyside6/PySide6/QtNfc/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtNfc/typesystem_nfc.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtOpenGL/QtOpenGL_global.post.h.in create mode 100644 sources/pyside6/PySide6/QtOpenGL/glue/utils.cpp create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_glgeti_v_includes.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_glgeti_v_modifications.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_glgetv_includes.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_glgetv_modifications.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_0.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_0_compat.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_1.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_1_compat.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_2_compat.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_3_compat.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_4.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications1_4_compat.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_0.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_0_compat.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications2_1.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_0.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_3.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications3_3a.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_0.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_1.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_3.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_4.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_4_core.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_5.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications4_5_core.xml create mode 100644 sources/pyside6/PySide6/QtOpenGL/typesystem_opengl_modifications_va.xml create mode 100644 sources/pyside6/PySide6/QtOpenGLWidgets/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtOpenGLWidgets/typesystem_openglwidgets.xml create mode 100644 sources/pyside6/PySide6/QtPdf/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtPdf/typesystem_pdf.xml create mode 100644 sources/pyside6/PySide6/QtPdfWidgets/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtPdfWidgets/typesystem_pdfwidgets.xml create mode 100644 sources/pyside6/PySide6/QtPositioning/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtPositioning/typesystem_positioning.xml create mode 100644 sources/pyside6/PySide6/QtPrintSupport/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtPrintSupport/typesystem_printsupport.xml create mode 100644 sources/pyside6/PySide6/QtPrintSupport/typesystem_printsupport_common.xml create mode 100644 sources/pyside6/PySide6/QtQml/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtQml/QtQml_global.post.h.in create mode 100644 sources/pyside6/PySide6/QtQml/pysideqmlvolatilebool.cpp create mode 100644 sources/pyside6/PySide6/QtQml/pysideqmlvolatilebool.h create mode 100644 sources/pyside6/PySide6/QtQml/typesystem_qml.xml create mode 100644 sources/pyside6/PySide6/QtQuick/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtQuick/pysidequickregistertype.cpp create mode 100644 sources/pyside6/PySide6/QtQuick/pysidequickregistertype.h create mode 100644 sources/pyside6/PySide6/QtQuick/typesystem_quick.xml create mode 100644 sources/pyside6/PySide6/QtQuick3D/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtQuick3D/typesystem_quick3d.xml create mode 100644 sources/pyside6/PySide6/QtQuickControls2/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtQuickControls2/typesystem_quickcontrols2.xml create mode 100644 sources/pyside6/PySide6/QtQuickWidgets/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtQuickWidgets/typesystem_quickwidgets.xml create mode 100644 sources/pyside6/PySide6/QtRemoteObjects/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtRemoteObjects/typesystem_remoteobjects.xml create mode 100644 sources/pyside6/PySide6/QtScxml/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtScxml/typesystem_scxml.xml create mode 100644 sources/pyside6/PySide6/QtSensors/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtSensors/typesystem_sensors.xml create mode 100644 sources/pyside6/PySide6/QtSerialBus/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtSerialBus/typesystem_serialbus.xml create mode 100644 sources/pyside6/PySide6/QtSerialPort/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtSerialPort/typesystem_serialport.xml create mode 100644 sources/pyside6/PySide6/QtSpatialAudio/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtSpatialAudio/typesystem_spatialaudio.xml create mode 100644 sources/pyside6/PySide6/QtSql/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtSql/QtSql_global.pre.h.in create mode 100644 sources/pyside6/PySide6/QtSql/typesystem_sql.xml create mode 100644 sources/pyside6/PySide6/QtStateMachine/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtStateMachine/typesystem_statemachine.xml create mode 100644 sources/pyside6/PySide6/QtSvg/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtSvg/typesystem_svg.xml create mode 100644 sources/pyside6/PySide6/QtSvgWidgets/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtSvgWidgets/typesystem_svgwidgets.xml create mode 100644 sources/pyside6/PySide6/QtTest/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtTest/QtTest_global.post.h.in create mode 100644 sources/pyside6/PySide6/QtTest/QtTest_global.pre.h.in create mode 100644 sources/pyside6/PySide6/QtTest/typesystem_test.xml create mode 100644 sources/pyside6/PySide6/QtTextToSpeech/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtTextToSpeech/typesystem_texttospeech.xml create mode 100644 sources/pyside6/PySide6/QtUiTools/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtUiTools/QtUiTools_global.pre.h.in create mode 100644 sources/pyside6/PySide6/QtUiTools/glue/plugins.h create mode 100644 sources/pyside6/PySide6/QtUiTools/typesystem_uitools.xml create mode 100644 sources/pyside6/PySide6/QtWebChannel/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtWebChannel/typesystem_webchannel.xml create mode 100644 sources/pyside6/PySide6/QtWebEngineCore/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtWebEngineCore/typesystem_webenginecore.xml create mode 100644 sources/pyside6/PySide6/QtWebEngineQuick/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtWebEngineQuick/typesystem_webenginequick.xml create mode 100644 sources/pyside6/PySide6/QtWebEngineWidgets/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtWebEngineWidgets/typesystem_webenginewidgets.xml create mode 100644 sources/pyside6/PySide6/QtWebSockets/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtWebSockets/typesystem_websockets.xml create mode 100644 sources/pyside6/PySide6/QtWidgets/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtWidgets/typesystem_widgets.xml create mode 100644 sources/pyside6/PySide6/QtWidgets/typesystem_widgets_common.xml create mode 100644 sources/pyside6/PySide6/QtXml/CMakeLists.txt create mode 100644 sources/pyside6/PySide6/QtXml/typesystem_xml.xml create mode 100644 sources/pyside6/PySide6/__feature__.pyi.in create mode 100644 sources/pyside6/PySide6/__init__.py.in create mode 100644 sources/pyside6/PySide6/_config.py.in create mode 100644 sources/pyside6/PySide6/global.h.in create mode 100644 sources/pyside6/PySide6/glue/qhttpserver.cpp create mode 100644 sources/pyside6/PySide6/glue/qtcharts.cpp create mode 100644 sources/pyside6/PySide6/glue/qtcore.cpp create mode 100644 sources/pyside6/PySide6/glue/qtdatavisualization.cpp create mode 100644 sources/pyside6/PySide6/glue/qtdesigner.cpp create mode 100644 sources/pyside6/PySide6/glue/qtgui.cpp create mode 100644 sources/pyside6/PySide6/glue/qtmultimedia.cpp create mode 100644 sources/pyside6/PySide6/glue/qtnetwork.cpp create mode 100644 sources/pyside6/PySide6/glue/qtnetworkauth.cpp create mode 100644 sources/pyside6/PySide6/glue/qtopengl.cpp create mode 100644 sources/pyside6/PySide6/glue/qtprintsupport.cpp create mode 100644 sources/pyside6/PySide6/glue/qtqml.cpp create mode 100644 sources/pyside6/PySide6/glue/qtquick.cpp create mode 100644 sources/pyside6/PySide6/glue/qtserialbus.cpp create mode 100644 sources/pyside6/PySide6/glue/qtsql.cpp create mode 100644 sources/pyside6/PySide6/glue/qtstatemachine.cpp create mode 100644 sources/pyside6/PySide6/glue/qttest.cpp create mode 100644 sources/pyside6/PySide6/glue/qtuitools.cpp create mode 100644 sources/pyside6/PySide6/glue/qtwebenginecore.cpp create mode 100644 sources/pyside6/PySide6/glue/qtwebenginewidgets.cpp create mode 100644 sources/pyside6/PySide6/glue/qtwidgets.cpp create mode 100644 sources/pyside6/PySide6/glue/qtxml.cpp create mode 100644 sources/pyside6/PySide6/licensecomment.txt create mode 100644 sources/pyside6/PySide6/py.typed.in create mode 100644 sources/pyside6/PySide6/pysideqtesttouch.h create mode 100644 sources/pyside6/PySide6/pysidewtypes.h create mode 100644 sources/pyside6/PySide6/qpydesignerextensions.h create mode 100644 sources/pyside6/PySide6/qpyqmlparserstatus.h create mode 100644 sources/pyside6/PySide6/qpyqmlpropertyvaluesource.h create mode 100644 sources/pyside6/PySide6/qpytextobject.cpp create mode 100644 sources/pyside6/PySide6/qpytextobject.h create mode 100644 sources/pyside6/PySide6/qt.conf.in create mode 100644 sources/pyside6/PySide6/qtcorehelper.h create mode 100644 sources/pyside6/PySide6/qtdatavisualization_helper.h create mode 100644 sources/pyside6/PySide6/qtdbushelper.h create mode 100644 sources/pyside6/PySide6/qtguihelper.h create mode 100644 sources/pyside6/PySide6/support/__init__.py create mode 100644 sources/pyside6/PySide6/support/deprecated.py create mode 100644 sources/pyside6/PySide6/support/generate_pyi.py create mode 100644 sources/pyside6/PySide6/templates/common.xml create mode 100644 sources/pyside6/PySide6/templates/core_common.xml create mode 100644 sources/pyside6/PySide6/templates/datavisualization_common.xml create mode 100644 sources/pyside6/PySide6/templates/gui_common.xml create mode 100644 sources/pyside6/PySide6/templates/opengl_common.xml create mode 100644 sources/pyside6/PySide6/templates/widgets_common.xml create mode 100644 sources/pyside6/cmake/Macros/PySideModules.cmake create mode 100644 sources/pyside6/cmake/Macros/icecc.cmake create mode 100644 sources/pyside6/cmake/PySideHelpers.cmake create mode 100644 sources/pyside6/cmake/PySideSetup.cmake create mode 100644 sources/pyside6/cmake_uninstall.cmake create mode 100644 sources/pyside6/doc/CMakeLists.txt create mode 100644 sources/pyside6/doc/README.md create mode 100644 sources/pyside6/doc/_static/css/qt_font.css create mode 100644 sources/pyside6/doc/_static/css/qt_style.css create mode 100644 sources/pyside6/doc/_static/qtforpython.png create mode 100644 sources/pyside6/doc/_templates/layout.html create mode 100644 sources/pyside6/doc/_themes/pysidedocs_qthelp/domainindex.html create mode 100644 sources/pyside6/doc/_themes/pysidedocs_qthelp/static/fakebar.png create mode 100644 sources/pyside6/doc/_themes/pysidedocs_qthelp/static/logo_python.jpg create mode 100644 sources/pyside6/doc/_themes/pysidedocs_qthelp/static/logo_qt.png create mode 100644 sources/pyside6/doc/_themes/pysidedocs_qthelp/static/minus.png create mode 100644 sources/pyside6/doc/_themes/pysidedocs_qthelp/static/plus.png create mode 100644 sources/pyside6/doc/_themes/pysidedocs_qthelp/static/pyside.css create mode 100644 sources/pyside6/doc/_themes/pysidedocs_qthelp/static/pysidelogo.png create mode 100644 sources/pyside6/doc/_themes/pysidedocs_qthelp/static/relbar_bg.png create mode 100644 sources/pyside6/doc/_themes/pysidedocs_qthelp/theme.conf create mode 100644 sources/pyside6/doc/additionaldocs.lst create mode 100644 sources/pyside6/doc/api.rst create mode 100644 sources/pyside6/doc/commercial/index.rst create mode 100644 sources/pyside6/doc/commercial/products.png create mode 100644 sources/pyside6/doc/commercial/qtcreator_python.png create mode 100644 sources/pyside6/doc/commercial/versions_commercial.png create mode 100644 sources/pyside6/doc/commercial/versions_lts.png create mode 100644 sources/pyside6/doc/conf.py.in create mode 100644 sources/pyside6/doc/considerations.rst create mode 100644 sources/pyside6/doc/contents.rst create mode 100644 sources/pyside6/doc/deployment/deployment-briefcase.rst create mode 100644 sources/pyside6/doc/deployment/deployment-cxfreeze.rst create mode 100644 sources/pyside6/doc/deployment/deployment-fbs.rst create mode 100644 sources/pyside6/doc/deployment/deployment-nuitka.rst create mode 100644 sources/pyside6/doc/deployment/deployment-py2exe.rst create mode 100644 sources/pyside6/doc/deployment/deployment-pyinstaller.rst create mode 100644 sources/pyside6/doc/deployment/deployment-pyside6-deploy.rst create mode 100644 sources/pyside6/doc/deployment/index.rst create mode 100644 sources/pyside6/doc/developer/add_module.rst create mode 100644 sources/pyside6/doc/developer/add_port_example.rst create mode 100644 sources/pyside6/doc/developer/add_tool.rst create mode 100644 sources/pyside6/doc/developer/enumfeatures_doc.rst create mode 100644 sources/pyside6/doc/developer/extras.rst create mode 100644 sources/pyside6/doc/developer/feature-motivation.rst create mode 100644 sources/pyside6/doc/developer/index.rst create mode 100644 sources/pyside6/doc/developer/limited_api.rst create mode 100644 sources/pyside6/doc/developer/signature_doc.rst create mode 100644 sources/pyside6/doc/example_no_image.png create mode 100644 sources/pyside6/doc/extras/QtBluetooth.rst create mode 100644 sources/pyside6/doc/extras/QtCharts.rst create mode 100644 sources/pyside6/doc/extras/QtConcurrent.rst create mode 100644 sources/pyside6/doc/extras/QtCore.ClassInfo.rst create mode 100644 sources/pyside6/doc/extras/QtCore.Property.rst create mode 100644 sources/pyside6/doc/extras/QtCore.QEnum.rst create mode 100644 sources/pyside6/doc/extras/QtCore.Signal.rst create mode 100644 sources/pyside6/doc/extras/QtCore.Slot.rst create mode 100644 sources/pyside6/doc/extras/QtCore.rst create mode 100644 sources/pyside6/doc/extras/QtDBus.rst create mode 100644 sources/pyside6/doc/extras/QtDataVisualization.rst create mode 100644 sources/pyside6/doc/extras/QtDesigner.QPyDesignerContainerExtension.rst create mode 100644 sources/pyside6/doc/extras/QtDesigner.QPyDesignerCustomWidgetCollection.rst create mode 100644 sources/pyside6/doc/extras/QtDesigner.QPyDesignerMemberSheetExtension.rst create mode 100644 sources/pyside6/doc/extras/QtDesigner.QPyDesignerTaskMenuExtension.rst create mode 100644 sources/pyside6/doc/extras/QtDesigner.rst create mode 100644 sources/pyside6/doc/extras/QtGui.rst create mode 100644 sources/pyside6/doc/extras/QtHelp.rst create mode 100644 sources/pyside6/doc/extras/QtMultimedia.rst create mode 100644 sources/pyside6/doc/extras/QtMultimediaWidgets.rst create mode 100644 sources/pyside6/doc/extras/QtNetwork.rst create mode 100644 sources/pyside6/doc/extras/QtNetworkAuth.rst create mode 100644 sources/pyside6/doc/extras/QtNfc.rst create mode 100644 sources/pyside6/doc/extras/QtOpenGL.rst create mode 100644 sources/pyside6/doc/extras/QtOpenGLWidgets.rst create mode 100644 sources/pyside6/doc/extras/QtPositioning.rst create mode 100644 sources/pyside6/doc/extras/QtPrintSupport.rst create mode 100644 sources/pyside6/doc/extras/QtQml.QPyQmlParserStatus.rst create mode 100644 sources/pyside6/doc/extras/QtQml.QPyQmlPropertyValueSource.rst create mode 100644 sources/pyside6/doc/extras/QtQml.QmlAnonymous.rst create mode 100644 sources/pyside6/doc/extras/QtQml.QmlAttached.rst create mode 100644 sources/pyside6/doc/extras/QtQml.QmlElement.rst create mode 100644 sources/pyside6/doc/extras/QtQml.QmlExtended.rst create mode 100644 sources/pyside6/doc/extras/QtQml.QmlForeign.rst create mode 100644 sources/pyside6/doc/extras/QtQml.QmlNamedElement.rst create mode 100644 sources/pyside6/doc/extras/QtQml.QmlSingleton.rst create mode 100644 sources/pyside6/doc/extras/QtQml.QmlUncreatable.rst create mode 100644 sources/pyside6/doc/extras/QtQml.qmlRegisterSingletonInstance.rst create mode 100644 sources/pyside6/doc/extras/QtQml.qmlRegisterSingletonType.rst create mode 100644 sources/pyside6/doc/extras/QtQml.qmlRegisterType.rst create mode 100644 sources/pyside6/doc/extras/QtQml.qmlRegisterUncreatableType.rst create mode 100644 sources/pyside6/doc/extras/QtQml.rst create mode 100644 sources/pyside6/doc/extras/QtQuickControls2.rst create mode 100644 sources/pyside6/doc/extras/QtRemoteObjects.rst create mode 100644 sources/pyside6/doc/extras/QtScxml.rst create mode 100644 sources/pyside6/doc/extras/QtSensors.rst create mode 100644 sources/pyside6/doc/extras/QtSerialBus.rst create mode 100644 sources/pyside6/doc/extras/QtSerialPort.rst create mode 100644 sources/pyside6/doc/extras/QtSql.rst create mode 100644 sources/pyside6/doc/extras/QtSvg.rst create mode 100644 sources/pyside6/doc/extras/QtTest.rst create mode 100644 sources/pyside6/doc/extras/QtUiTools.loadUiType.rst create mode 100644 sources/pyside6/doc/extras/QtUiTools.rst create mode 100644 sources/pyside6/doc/extras/QtWebChannel.rst create mode 100644 sources/pyside6/doc/extras/QtWebEngineCore.rst create mode 100644 sources/pyside6/doc/extras/QtWebEngineWidgets.rst create mode 100644 sources/pyside6/doc/extras/QtWebSockets.rst create mode 100644 sources/pyside6/doc/extras/QtWidgets.rst create mode 100644 sources/pyside6/doc/extras/QtXml.rst create mode 100644 sources/pyside6/doc/faq.rst create mode 100644 sources/pyside6/doc/faq/distribution.rst create mode 100644 sources/pyside6/doc/faq/hello_linux.png create mode 100644 sources/pyside6/doc/faq/hello_macOS.png create mode 100644 sources/pyside6/doc/faq/hello_win10.jpg create mode 100644 sources/pyside6/doc/faq/tiobe.png create mode 100644 sources/pyside6/doc/faq/typesoffiles.rst create mode 100644 sources/pyside6/doc/faq/whatisqt.rst create mode 100644 sources/pyside6/doc/faq/whatisshiboken.rst create mode 100644 sources/pyside6/doc/faq/whichide.rst create mode 100644 sources/pyside6/doc/faq/whyqtforpython.rst create mode 100644 sources/pyside6/doc/gettingstarted/index.rst create mode 100644 sources/pyside6/doc/gettingstarted/linux.rst create mode 100644 sources/pyside6/doc/gettingstarted/macOS.rst create mode 100644 sources/pyside6/doc/gettingstarted/package_details.rst create mode 100644 sources/pyside6/doc/gettingstarted/packages.png create mode 100644 sources/pyside6/doc/gettingstarted/porting_from2.rst create mode 100644 sources/pyside6/doc/gettingstarted/windows.rst create mode 100644 sources/pyside6/doc/images/Commercial.svg create mode 100644 sources/pyside6/doc/images/Deployment.svg create mode 100644 sources/pyside6/doc/images/Desktop.svg create mode 100644 sources/pyside6/doc/images/Dev.svg create mode 100644 sources/pyside6/doc/images/Development.svg create mode 100644 sources/pyside6/doc/images/Examples.svg create mode 100644 sources/pyside6/doc/images/Support.svg create mode 100644 sources/pyside6/doc/images/Training.svg create mode 100644 sources/pyside6/doc/images/Tutorials.svg create mode 100644 sources/pyside6/doc/images/cpp_python.svg create mode 100644 sources/pyside6/doc/images/linux.svg create mode 100644 sources/pyside6/doc/images/macos.svg create mode 100644 sources/pyside6/doc/images/screenshot_hello.png create mode 100644 sources/pyside6/doc/images/stopwatch.svg create mode 100644 sources/pyside6/doc/images/windows.svg create mode 100644 sources/pyside6/doc/import_inheritance.py create mode 100644 sources/pyside6/doc/index.rst create mode 100644 sources/pyside6/doc/inheritance_diagram.py create mode 100644 sources/pyside6/doc/inheritance_diagram.pyproject create mode 100644 sources/pyside6/doc/inheritance_graph.py create mode 100644 sources/pyside6/doc/json_inheritance.py create mode 100644 sources/pyside6/doc/modules.rst create mode 100644 sources/pyside6/doc/pysideinclude.py create mode 100644 sources/pyside6/doc/qtattributionsscannertorst.py create mode 100644 sources/pyside6/doc/quickstart.rst create mode 100644 sources/pyside6/doc/snippets/qtbase/examples/widgets/dialogs/standarddialogs/dialog_0.cpp.py create mode 100644 sources/pyside6/doc/snippets/qtbase/examples/widgets/dialogs/standarddialogs/dialog_1.cpp.py create mode 100644 sources/pyside6/doc/snippets/qtbase/examples/widgets/dialogs/standarddialogs/dialog_2.cpp.py create mode 100644 sources/pyside6/doc/snippets/qtbase/examples/widgets/dialogs/standarddialogs/dialog_3.cpp.py create mode 100644 sources/pyside6/doc/snippets/qtbase/examples/widgets/dialogs/standarddialogs/dialog_4.cpp.py create mode 100644 sources/pyside6/doc/snippets/qtbase/examples/widgets/itemviews/spinboxdelegate/delegate_0.h.py create mode 100644 sources/pyside6/doc/snippets/qtbase/examples/widgets/tutorials/modelview/1_readonly/mymodel_Quoting_ModelView_Tutorial.h.py create mode 100644 sources/pyside6/doc/snippets/qtbase/examples/widgets/tutorials/modelview/5_edit/mymodel_Quoting_ModelView_Tutorial.h.py create mode 100644 sources/pyside6/doc/snippets/qtbase/src/widgets/doc/snippets/stringlistmodel/model_0.h.py create mode 100644 sources/pyside6/doc/src/README.md create mode 100644 sources/pyside6/doc/tutorials/basictutorial/clickablebutton.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/clickablebutton.rst create mode 100644 sources/pyside6/doc/tutorials/basictutorial/dialog.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/dialog.rst create mode 100644 sources/pyside6/doc/tutorials/basictutorial/greenapplication.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/icons.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/icons.zip create mode 100644 sources/pyside6/doc/tutorials/basictutorial/icons/forward.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/icons/pause.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/icons/play.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/icons/previous.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/icons/stop.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/player-new.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/player.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/qml.rst create mode 100644 sources/pyside6/doc/tutorials/basictutorial/qrcfiles.rst create mode 100644 sources/pyside6/doc/tutorials/basictutorial/signals_and_slots.rst create mode 100644 sources/pyside6/doc/tutorials/basictutorial/signals_slots.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/style.qss create mode 100644 sources/pyside6/doc/tutorials/basictutorial/tablewidget.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/tablewidget.rst create mode 100644 sources/pyside6/doc/tutorials/basictutorial/translations.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/translations.rst create mode 100644 sources/pyside6/doc/tutorials/basictutorial/treewidget.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/treewidget.rst create mode 100644 sources/pyside6/doc/tutorials/basictutorial/uifiles.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/uifiles.rst create mode 100644 sources/pyside6/doc/tutorials/basictutorial/widgets.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/widgets.rst create mode 100644 sources/pyside6/doc/tutorials/basictutorial/widgetstyling-no.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/widgetstyling-simple-no.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/widgetstyling-simple-yes.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/widgetstyling-yes.png create mode 100644 sources/pyside6/doc/tutorials/basictutorial/widgetstyling.py create mode 100644 sources/pyside6/doc/tutorials/basictutorial/widgetstyling.rst create mode 100644 sources/pyside6/doc/tutorials/datavisualize/add_chart.rst create mode 100644 sources/pyside6/doc/tutorials/datavisualize/add_mainwindow.rst create mode 100644 sources/pyside6/doc/tutorials/datavisualize/add_tableview.rst create mode 100644 sources/pyside6/doc/tutorials/datavisualize/all_hour.csv create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize1/main.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize2/main.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize3/main.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize3/main_window.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main_widget.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize4/main_window.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize4/table_model.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main_widget.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize5/main_window.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize5/table_model.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main_widget.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize6/main_window.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/datavisualize6/table_model.py create mode 100644 sources/pyside6/doc/tutorials/datavisualize/filter_data.rst create mode 100644 sources/pyside6/doc/tutorials/datavisualize/images/QMainWindow-layout.png create mode 100644 sources/pyside6/doc/tutorials/datavisualize/images/datavisualization_app.png create mode 100644 sources/pyside6/doc/tutorials/datavisualize/index.rst create mode 100644 sources/pyside6/doc/tutorials/datavisualize/plot_datapoints.rst create mode 100644 sources/pyside6/doc/tutorials/datavisualize/read_data.rst create mode 100644 sources/pyside6/doc/tutorials/debugging/mixed_debugging.rst create mode 100644 sources/pyside6/doc/tutorials/debugging/qtcreator/breakpoint_cpp.png create mode 100644 sources/pyside6/doc/tutorials/debugging/qtcreator/custom_executable_create.png create mode 100644 sources/pyside6/doc/tutorials/debugging/qtcreator/custom_executable_run_config.png create mode 100644 sources/pyside6/doc/tutorials/debugging/qtcreator/qtcreator.rst create mode 100644 sources/pyside6/doc/tutorials/debugging/qtcreator/start_debugging_without_deployment.png create mode 100644 sources/pyside6/doc/tutorials/debugging/vscode/audioformat_cpp.png create mode 100644 sources/pyside6/doc/tutorials/debugging/vscode/audioformat_wrapper.png create mode 100644 sources/pyside6/doc/tutorials/debugging/vscode/breakpoint_gdb.png create mode 100644 sources/pyside6/doc/tutorials/debugging/vscode/find_process_gdb.png create mode 100644 sources/pyside6/doc/tutorials/debugging/vscode/python_set_interpreter.png create mode 100644 sources/pyside6/doc/tutorials/debugging/vscode/vscode.rst create mode 100644 sources/pyside6/doc/tutorials/expenses/expenses.rst create mode 100644 sources/pyside6/doc/tutorials/expenses/expenses_tool.png create mode 100644 sources/pyside6/doc/tutorials/expenses/main.py create mode 100644 sources/pyside6/doc/tutorials/expenses/main_snake_prop.py create mode 100644 sources/pyside6/doc/tutorials/expenses/steps/01-expenses.py create mode 100644 sources/pyside6/doc/tutorials/expenses/steps/02-expenses.py create mode 100644 sources/pyside6/doc/tutorials/expenses/steps/03-expenses.py create mode 100644 sources/pyside6/doc/tutorials/expenses/steps/04-expenses.py create mode 100644 sources/pyside6/doc/tutorials/expenses/steps/05-expenses.py create mode 100644 sources/pyside6/doc/tutorials/expenses/steps/06-expenses.py create mode 100644 sources/pyside6/doc/tutorials/expenses/steps/07-expenses.py create mode 100644 sources/pyside6/doc/tutorials/expenses/steps/08-expenses.py create mode 100644 sources/pyside6/doc/tutorials/expenses/steps/09-expenses.py create mode 100644 sources/pyside6/doc/tutorials/expenses/steps/10-expenses.py create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/Main.qml create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/app.qrc create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/icons.qrc create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/icons/folder_closed.svg create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/icons/folder_open.svg create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/icons/generic_file.svg create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/icons/globe.svg create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/icons/info_sign.svg create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/icons/leaf.svg create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/icons/light_bulb.svg create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/icons/qt_logo.svg create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/icons/read.svg create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/icons/resize.svg create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/qml/About.qml create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/qml/ColorScheme.qml create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/qml/FileSystemView.qml create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/qml/Icon.qml create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/qml/MyMenu.qml create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/qml/MyMenuBar.qml create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/qml/ResizeButton.qml create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/qml/Sidebar.qml create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/qml/WindowDragHandler.qml create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/FileSystemModule/qmldir create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/extendedexplorer.md create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/extendedexplorer.py create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/extendedexplorer.pyproject create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/resources/Colors.qml create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/resources/colorscheme.png create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/resources/extendedexplorer.gif create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/resources/extendedexplorer.webp create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/scheme_manager.py create mode 100644 sources/pyside6/doc/tutorials/extendedexplorer/schemes.json create mode 100644 sources/pyside6/doc/tutorials/index.rst create mode 100644 sources/pyside6/doc/tutorials/modelviewprogramming/qlistview-dnd.py create mode 100644 sources/pyside6/doc/tutorials/modelviewprogramming/simplemodel-use.py create mode 100644 sources/pyside6/doc/tutorials/modelviewprogramming/stringlistmodel.py create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter1/chapter1.rst create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter1/createdb.py create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter1/images/chapter1_books.png create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter1/initdb.h create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter1/main.py create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter2/bookdelegate.cpp create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter2/bookdelegate.h create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter2/bookdelegate.py create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter2/chapter2.rst create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter2/createdb.py create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter2/images/chapter2_books.png create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter2/images/chapter2_books_with_relation.png create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter2/images/star.png create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter2/main.py create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter3/bookdelegate-old.py create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter3/bookdelegate.py create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter3/books.qrc create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter3/bookwindow.cpp create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter3/bookwindow.py create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter3/bookwindow.ui create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter3/chapter3.rst create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter3/createdb.py create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter3/images/chapter3-books.png create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter3/images/star.png create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter3/main-old.py create mode 100644 sources/pyside6/doc/tutorials/portingguide/chapter3/main.py create mode 100644 sources/pyside6/doc/tutorials/portingguide/hello_world_ex.py create mode 100644 sources/pyside6/doc/tutorials/portingguide/index.rst create mode 100644 sources/pyside6/doc/tutorials/qmlapp/logo.png create mode 100644 sources/pyside6/doc/tutorials/qmlapp/main.py create mode 100644 sources/pyside6/doc/tutorials/qmlapp/newpyproject.png create mode 100644 sources/pyside6/doc/tutorials/qmlapp/projectsmode.png create mode 100644 sources/pyside6/doc/tutorials/qmlapp/pyprojname.png create mode 100644 sources/pyside6/doc/tutorials/qmlapp/pyprojxplor.png create mode 100644 sources/pyside6/doc/tutorials/qmlapp/qmlapplication.png create mode 100644 sources/pyside6/doc/tutorials/qmlapp/qmlapplication.rst create mode 100644 sources/pyside6/doc/tutorials/qmlapp/view.qml create mode 100644 sources/pyside6/doc/tutorials/qmlintegration/main.py create mode 100644 sources/pyside6/doc/tutorials/qmlintegration/qmlintegration.rst create mode 100644 sources/pyside6/doc/tutorials/qmlintegration/qtquickcontrols2.conf create mode 100644 sources/pyside6/doc/tutorials/qmlintegration/style.qrc create mode 100644 sources/pyside6/doc/tutorials/qmlintegration/textproperties_default.png create mode 100644 sources/pyside6/doc/tutorials/qmlintegration/textproperties_material.png create mode 100644 sources/pyside6/doc/tutorials/qmlintegration/view.qml create mode 100644 sources/pyside6/doc/tutorials/qmlsqlintegration/chat.qml create mode 100644 sources/pyside6/doc/tutorials/qmlsqlintegration/example_list_view.png create mode 100644 sources/pyside6/doc/tutorials/qmlsqlintegration/main.py create mode 100644 sources/pyside6/doc/tutorials/qmlsqlintegration/qmlsqlintegration.rst create mode 100644 sources/pyside6/doc/tutorials/qmlsqlintegration/sqlDialog.py create mode 100644 sources/pyside6/doc/typesystem_doc.xml.in create mode 100644 sources/pyside6/doc/videos.rst create mode 100644 sources/pyside6/libpyside/CMakeLists.txt create mode 100644 sources/pyside6/libpyside/PySide6Config-spec.cmake.in create mode 100644 sources/pyside6/libpyside/PySide6Config.cmake.in create mode 100644 sources/pyside6/libpyside/PySide6ConfigVersion.cmake.in create mode 100644 sources/pyside6/libpyside/class_property.cpp create mode 100644 sources/pyside6/libpyside/class_property.h create mode 100644 sources/pyside6/libpyside/dynamicqmetaobject.cpp create mode 100644 sources/pyside6/libpyside/dynamicqmetaobject.h create mode 100644 sources/pyside6/libpyside/feature_select.cpp create mode 100644 sources/pyside6/libpyside/feature_select.h create mode 100644 sources/pyside6/libpyside/globalreceiverv2.cpp create mode 100644 sources/pyside6/libpyside/globalreceiverv2.h create mode 100644 sources/pyside6/libpyside/libpyside.qrc create mode 100644 sources/pyside6/libpyside/pyside.cpp create mode 100644 sources/pyside6/libpyside/pyside.h create mode 100644 sources/pyside6/libpyside/pyside6.pc.in create mode 100644 sources/pyside6/libpyside/pyside_numpy.cpp create mode 100644 sources/pyside6/libpyside/pyside_numpy.h create mode 100644 sources/pyside6/libpyside/pyside_p.h create mode 100644 sources/pyside6/libpyside/pysideclassdecorator.cpp create mode 100644 sources/pyside6/libpyside/pysideclassdecorator_p.h create mode 100644 sources/pyside6/libpyside/pysideclassinfo.cpp create mode 100644 sources/pyside6/libpyside/pysideclassinfo.h create mode 100644 sources/pyside6/libpyside/pysideclassinfo_p.h create mode 100644 sources/pyside6/libpyside/pysidecleanup.h create mode 100644 sources/pyside6/libpyside/pysideinit.h create mode 100644 sources/pyside6/libpyside/pysidelogging_p.h create mode 100644 sources/pyside6/libpyside/pysidemacros.h create mode 100644 sources/pyside6/libpyside/pysidemetafunction.cpp create mode 100644 sources/pyside6/libpyside/pysidemetafunction.h create mode 100644 sources/pyside6/libpyside/pysidemetafunction_p.h create mode 100644 sources/pyside6/libpyside/pysidemetatype.h create mode 100644 sources/pyside6/libpyside/pysideproperty.cpp create mode 100644 sources/pyside6/libpyside/pysideproperty.h create mode 100644 sources/pyside6/libpyside/pysideproperty_p.h create mode 100644 sources/pyside6/libpyside/pysideqapp.h create mode 100644 sources/pyside6/libpyside/pysideqenum.cpp create mode 100644 sources/pyside6/libpyside/pysideqenum.h create mode 100644 sources/pyside6/libpyside/pysideqflags.cpp create mode 100644 sources/pyside6/libpyside/pysideqflags.h create mode 100644 sources/pyside6/libpyside/pysideqhash.h create mode 100644 sources/pyside6/libpyside/pysideqmetatype.h create mode 100644 sources/pyside6/libpyside/pysideqobject.h create mode 100644 sources/pyside6/libpyside/pysidesignal.cpp create mode 100644 sources/pyside6/libpyside/pysidesignal.h create mode 100644 sources/pyside6/libpyside/pysidesignal_p.h create mode 100644 sources/pyside6/libpyside/pysideslot.cpp create mode 100644 sources/pyside6/libpyside/pysideslot_p.h create mode 100644 sources/pyside6/libpyside/pysidestaticstrings.cpp create mode 100644 sources/pyside6/libpyside/pysidestaticstrings.h create mode 100644 sources/pyside6/libpyside/pysideutils.h create mode 100644 sources/pyside6/libpyside/pysideweakref.cpp create mode 100644 sources/pyside6/libpyside/pysideweakref.h create mode 100644 sources/pyside6/libpyside/qobjectconnect.cpp create mode 100644 sources/pyside6/libpyside/qobjectconnect.h create mode 100644 sources/pyside6/libpyside/signalmanager.cpp create mode 100644 sources/pyside6/libpyside/signalmanager.h create mode 100644 sources/pyside6/libpysideqml/CMakeLists.txt create mode 100644 sources/pyside6/libpysideqml/PySide6QmlConfig-spec.cmake.in create mode 100644 sources/pyside6/libpysideqml/PySide6QmlConfig.cmake.in create mode 100644 sources/pyside6/libpysideqml/PySide6QmlConfigVersion.cmake.in create mode 100644 sources/pyside6/libpysideqml/pysideqml.cpp create mode 100644 sources/pyside6/libpysideqml/pysideqml.h create mode 100644 sources/pyside6/libpysideqml/pysideqmlattached.cpp create mode 100644 sources/pyside6/libpysideqml/pysideqmlattached.h create mode 100644 sources/pyside6/libpysideqml/pysideqmlattached_p.h create mode 100644 sources/pyside6/libpysideqml/pysideqmlextended.cpp create mode 100644 sources/pyside6/libpysideqml/pysideqmlextended_p.h create mode 100644 sources/pyside6/libpysideqml/pysideqmlforeign.cpp create mode 100644 sources/pyside6/libpysideqml/pysideqmlforeign_p.h create mode 100644 sources/pyside6/libpysideqml/pysideqmllistproperty.cpp create mode 100644 sources/pyside6/libpysideqml/pysideqmllistproperty_p.h create mode 100644 sources/pyside6/libpysideqml/pysideqmlmacros.h create mode 100644 sources/pyside6/libpysideqml/pysideqmlmetacallerror.cpp create mode 100644 sources/pyside6/libpysideqml/pysideqmlmetacallerror_p.h create mode 100644 sources/pyside6/libpysideqml/pysideqmlnamedelement.cpp create mode 100644 sources/pyside6/libpysideqml/pysideqmlnamedelement_p.h create mode 100644 sources/pyside6/libpysideqml/pysideqmlregistertype.cpp create mode 100644 sources/pyside6/libpysideqml/pysideqmlregistertype.h create mode 100644 sources/pyside6/libpysideqml/pysideqmlregistertype_p.h create mode 100644 sources/pyside6/libpysideqml/pysideqmltypeinfo.cpp create mode 100644 sources/pyside6/libpysideqml/pysideqmltypeinfo_p.h create mode 100644 sources/pyside6/libpysideqml/pysideqmluncreatable.cpp create mode 100644 sources/pyside6/libpysideqml/pysideqmluncreatable.h create mode 100644 sources/pyside6/plugins/designer/CMakeLists.txt create mode 100644 sources/pyside6/plugins/designer/designercustomwidgets.cpp create mode 100644 sources/pyside6/plugins/designer/designercustomwidgets.h create mode 100644 sources/pyside6/plugins/uitools/CMakeLists.txt create mode 100644 sources/pyside6/plugins/uitools/customwidget.cpp create mode 100644 sources/pyside6/plugins/uitools/customwidget.h create mode 100644 sources/pyside6/plugins/uitools/customwidgets.cpp create mode 100644 sources/pyside6/plugins/uitools/customwidgets.h create mode 100644 sources/pyside6/pyside_version.py create mode 100644 sources/pyside6/tests/CMakeLists.txt create mode 100644 sources/pyside6/tests/Qt3DAnimation/CMakeLists.txt create mode 100644 sources/pyside6/tests/Qt3DCore/CMakeLists.txt create mode 100644 sources/pyside6/tests/Qt3DExtras/CMakeLists.txt create mode 100644 sources/pyside6/tests/Qt3DExtras/Qt3DExtras.pyproject create mode 100644 sources/pyside6/tests/Qt3DExtras/qt3dextras_test.py create mode 100644 sources/pyside6/tests/Qt3DInput/CMakeLists.txt create mode 100644 sources/pyside6/tests/Qt3DLogic/CMakeLists.txt create mode 100644 sources/pyside6/tests/Qt3DQuick/CMakeLists.txt create mode 100644 sources/pyside6/tests/Qt3DRender/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtAxContainer/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtBluetooth/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtBluetooth/QtBluetooth.pyproject create mode 100644 sources/pyside6/tests/QtBluetooth/localdevice.py create mode 100644 sources/pyside6/tests/QtBluetooth/lowenergy_characteristics.py create mode 100644 sources/pyside6/tests/QtCharts/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtCharts/QtCharts.pyproject create mode 100644 sources/pyside6/tests/QtCharts/qcharts_numpy_test.py create mode 100644 sources/pyside6/tests/QtCharts/qcharts_test.py create mode 100644 sources/pyside6/tests/QtConcurrent/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtCore/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtCore/QtCore.pyproject create mode 100644 sources/pyside6/tests/QtCore/attr_cache_py3k.py create mode 100644 sources/pyside6/tests/QtCore/blocking_signals_test.py create mode 100644 sources/pyside6/tests/QtCore/bug_1019.py create mode 100644 sources/pyside6/tests/QtCore/bug_1063.py create mode 100644 sources/pyside6/tests/QtCore/bug_1069.py create mode 100644 sources/pyside6/tests/QtCore/bug_1313.py create mode 100644 sources/pyside6/tests/QtCore/bug_278_test.py create mode 100644 sources/pyside6/tests/QtCore/bug_300_test.py create mode 100644 sources/pyside6/tests/QtCore/bug_324.py create mode 100644 sources/pyside6/tests/QtCore/bug_332.py create mode 100644 sources/pyside6/tests/QtCore/bug_408.py create mode 100644 sources/pyside6/tests/QtCore/bug_428.py create mode 100644 sources/pyside6/tests/QtCore/bug_462.py create mode 100644 sources/pyside6/tests/QtCore/bug_505.py create mode 100644 sources/pyside6/tests/QtCore/bug_515.py create mode 100644 sources/pyside6/tests/QtCore/bug_606.py create mode 100644 sources/pyside6/tests/QtCore/bug_656.py create mode 100644 sources/pyside6/tests/QtCore/bug_686.py create mode 100644 sources/pyside6/tests/QtCore/bug_699.py create mode 100644 sources/pyside6/tests/QtCore/bug_706.py create mode 100644 sources/pyside6/tests/QtCore/bug_820.py create mode 100644 sources/pyside6/tests/QtCore/bug_826.py create mode 100644 sources/pyside6/tests/QtCore/bug_829.py create mode 100644 sources/pyside6/tests/QtCore/bug_835.py create mode 100644 sources/pyside6/tests/QtCore/bug_920.py create mode 100644 sources/pyside6/tests/QtCore/bug_927.py create mode 100644 sources/pyside6/tests/QtCore/bug_931.py create mode 100644 sources/pyside6/tests/QtCore/bug_938.py create mode 100644 sources/pyside6/tests/QtCore/bug_953.py create mode 100644 sources/pyside6/tests/QtCore/bug_987.py create mode 100644 sources/pyside6/tests/QtCore/bug_994.py create mode 100644 sources/pyside6/tests/QtCore/bug_PYSIDE-164.py create mode 100644 sources/pyside6/tests/QtCore/bug_PYSIDE-41.py create mode 100644 sources/pyside6/tests/QtCore/bug_PYSIDE-42.py create mode 100644 sources/pyside6/tests/QtCore/child_event_test.py create mode 100644 sources/pyside6/tests/QtCore/classinfo_test.py create mode 100644 sources/pyside6/tests/QtCore/deepcopy_test.py create mode 100644 sources/pyside6/tests/QtCore/deletelater_test.py create mode 100644 sources/pyside6/tests/QtCore/destroysignal_test.py create mode 100644 sources/pyside6/tests/QtCore/duck_punching_test.py create mode 100644 sources/pyside6/tests/QtCore/emoji_string_test.py create mode 100644 sources/pyside6/tests/QtCore/errormessages_with_features_test.py create mode 100644 sources/pyside6/tests/QtCore/feature_with_uic/window.py create mode 100644 sources/pyside6/tests/QtCore/feature_with_uic/window.ui create mode 100644 sources/pyside6/tests/QtCore/feature_with_uic_test.py create mode 100644 sources/pyside6/tests/QtCore/hash_test.py create mode 100644 sources/pyside6/tests/QtCore/inherits_test.py create mode 100644 sources/pyside6/tests/QtCore/loggingcategorymacros_test.py create mode 100644 sources/pyside6/tests/QtCore/max_signals.py create mode 100644 sources/pyside6/tests/QtCore/missing_symbols_test.py create mode 100644 sources/pyside6/tests/QtCore/mockclass_test.py create mode 100644 sources/pyside6/tests/QtCore/multiple_feature_test.py create mode 100644 sources/pyside6/tests/QtCore/python_conversion.py create mode 100644 sources/pyside6/tests/QtCore/qabs_test.py create mode 100644 sources/pyside6/tests/QtCore/qabstractitemmodel_test.py create mode 100644 sources/pyside6/tests/QtCore/qanimationgroup_test.py create mode 100644 sources/pyside6/tests/QtCore/qbitarray_test.py create mode 100644 sources/pyside6/tests/QtCore/qbytearray_concatenation_operator_test.py create mode 100644 sources/pyside6/tests/QtCore/qbytearray_operator_iadd_test.py create mode 100644 sources/pyside6/tests/QtCore/qbytearray_operator_test.py create mode 100644 sources/pyside6/tests/QtCore/qbytearray_test.py create mode 100644 sources/pyside6/tests/QtCore/qcalendar_test.py create mode 100644 sources/pyside6/tests/QtCore/qcbor_test.py create mode 100644 sources/pyside6/tests/QtCore/qcollator_test.py create mode 100644 sources/pyside6/tests/QtCore/qcommandlineparser_test.py create mode 100644 sources/pyside6/tests/QtCore/qcoreapplication_argv_test.py create mode 100644 sources/pyside6/tests/QtCore/qcoreapplication_instance_test.py create mode 100644 sources/pyside6/tests/QtCore/qcoreapplication_test.py create mode 100644 sources/pyside6/tests/QtCore/qdatastream_test.py create mode 100644 sources/pyside6/tests/QtCore/qdate_test.py create mode 100644 sources/pyside6/tests/QtCore/qdatetime_test.py create mode 100644 sources/pyside6/tests/QtCore/qdir_test.py create mode 100644 sources/pyside6/tests/QtCore/qeasingcurve_test.py create mode 100644 sources/pyside6/tests/QtCore/qenum_test.py create mode 100644 sources/pyside6/tests/QtCore/qevent_test.py create mode 100644 sources/pyside6/tests/QtCore/qfile_test.py create mode 100644 sources/pyside6/tests/QtCore/qfileinfo_test.py create mode 100644 sources/pyside6/tests/QtCore/qfileread_test.py create mode 100644 sources/pyside6/tests/QtCore/qflags_test.py create mode 100644 sources/pyside6/tests/QtCore/qhandle_test.py create mode 100644 sources/pyside6/tests/QtCore/qinstallmsghandler_test.py create mode 100644 sources/pyside6/tests/QtCore/qjsondocument_test.py create mode 100644 sources/pyside6/tests/QtCore/qlinef_test.py create mode 100644 sources/pyside6/tests/QtCore/qlocale_test.py create mode 100644 sources/pyside6/tests/QtCore/qlockfile_test.py create mode 100644 sources/pyside6/tests/QtCore/qmessageauthenticationcode_test.py create mode 100644 sources/pyside6/tests/QtCore/qmetaobject_test.py create mode 100644 sources/pyside6/tests/QtCore/qmetatype_test.py create mode 100644 sources/pyside6/tests/QtCore/qmimedatabase_test.py create mode 100644 sources/pyside6/tests/QtCore/qmodelindex_internalpointer_test.py create mode 100644 sources/pyside6/tests/QtCore/qobject_children_segfault_test.py create mode 100644 sources/pyside6/tests/QtCore/qobject_connect_notify_test.py create mode 100644 sources/pyside6/tests/QtCore/qobject_destructor.py create mode 100644 sources/pyside6/tests/QtCore/qobject_event_filter_test.py create mode 100644 sources/pyside6/tests/QtCore/qobject_inherits_test.py create mode 100644 sources/pyside6/tests/QtCore/qobject_objectproperty_test.py create mode 100644 sources/pyside6/tests/QtCore/qobject_parent_test.py create mode 100644 sources/pyside6/tests/QtCore/qobject_property_test.py create mode 100644 sources/pyside6/tests/QtCore/qobject_protected_methods_test.py create mode 100644 sources/pyside6/tests/QtCore/qobject_test.py create mode 100644 sources/pyside6/tests/QtCore/qobject_timer_event_test.py create mode 100644 sources/pyside6/tests/QtCore/qobject_tr_as_instance_test.py create mode 100644 sources/pyside6/tests/QtCore/qoperatingsystemversion_test.py create mode 100644 sources/pyside6/tests/QtCore/qpoint_test.py create mode 100644 sources/pyside6/tests/QtCore/qprocess_test.py create mode 100644 sources/pyside6/tests/QtCore/qproperty_decorator.py create mode 100644 sources/pyside6/tests/QtCore/qrandomgenerator_test.py create mode 100644 sources/pyside6/tests/QtCore/qrect_test.py create mode 100644 sources/pyside6/tests/QtCore/qregularexpression_test.py create mode 100644 sources/pyside6/tests/QtCore/qresource_test.py create mode 100644 sources/pyside6/tests/QtCore/qrunnable_test.py create mode 100644 sources/pyside6/tests/QtCore/qsettings_test.ini create mode 100644 sources/pyside6/tests/QtCore/qsettings_test.py create mode 100644 sources/pyside6/tests/QtCore/qsharedmemory_client.py create mode 100644 sources/pyside6/tests/QtCore/qsharedmemory_test.py create mode 100644 sources/pyside6/tests/QtCore/qsize_test.py create mode 100644 sources/pyside6/tests/QtCore/qslot_object_test.py create mode 100644 sources/pyside6/tests/QtCore/qsocketnotifier_test.py create mode 100644 sources/pyside6/tests/QtCore/qsrand_test.py create mode 100644 sources/pyside6/tests/QtCore/qstandardpaths_test.py create mode 100644 sources/pyside6/tests/QtCore/qstorageinfo_test.py create mode 100644 sources/pyside6/tests/QtCore/qstring_test.py create mode 100644 sources/pyside6/tests/QtCore/qsysinfo_test.py create mode 100644 sources/pyside6/tests/QtCore/qtextstream_test.py create mode 100644 sources/pyside6/tests/QtCore/qthread_prod_cons_test.py create mode 100644 sources/pyside6/tests/QtCore/qthread_signal_test.py create mode 100644 sources/pyside6/tests/QtCore/qthread_test.py create mode 100644 sources/pyside6/tests/QtCore/qtimer_singleshot_test.py create mode 100644 sources/pyside6/tests/QtCore/qtimer_timeout_test.py create mode 100644 sources/pyside6/tests/QtCore/qtimezone_test.py create mode 100644 sources/pyside6/tests/QtCore/qtnamespace_test.py create mode 100644 sources/pyside6/tests/QtCore/quoteEnUS.txt create mode 100644 sources/pyside6/tests/QtCore/qurl_test.py create mode 100644 sources/pyside6/tests/QtCore/qurlquery_test.py create mode 100644 sources/pyside6/tests/QtCore/quuid_test.py create mode 100644 sources/pyside6/tests/QtCore/qversionnumber_test.py create mode 100644 sources/pyside6/tests/QtCore/repr_test.py create mode 100644 sources/pyside6/tests/QtCore/resources.qrc create mode 100644 sources/pyside6/tests/QtCore/resources_mc.py create mode 100644 sources/pyside6/tests/QtCore/sample.png create mode 100644 sources/pyside6/tests/QtCore/setprop_on_ctor_test.py create mode 100644 sources/pyside6/tests/QtCore/signal_sender.py create mode 100644 sources/pyside6/tests/QtCore/snake_prop_feature_test.py create mode 100644 sources/pyside6/tests/QtCore/staticMetaObject_test.py create mode 100644 sources/pyside6/tests/QtCore/static_method_test.py create mode 100644 sources/pyside6/tests/QtCore/thread_signals_test.py create mode 100644 sources/pyside6/tests/QtCore/tr_noop_test.py create mode 100644 sources/pyside6/tests/QtCore/translation_test.py create mode 100644 sources/pyside6/tests/QtCore/translations/trans_latin.qm create mode 100644 sources/pyside6/tests/QtCore/translations/trans_latin.ts create mode 100644 sources/pyside6/tests/QtCore/translations/trans_russian.qm create mode 100644 sources/pyside6/tests/QtCore/translations/trans_russian.ts create mode 100644 sources/pyside6/tests/QtCore/unaryoperator_test.py create mode 100644 sources/pyside6/tests/QtCore/unicode_test.py create mode 100644 sources/pyside6/tests/QtCore/versioninfo_test.py create mode 100644 sources/pyside6/tests/QtDBus/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtDBus/QtDBus.pyproject create mode 100644 sources/pyside6/tests/QtDBus/test_dbus.py create mode 100644 sources/pyside6/tests/QtDataVisualization/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtDataVisualization/QtDataVisualization.pyproject create mode 100644 sources/pyside6/tests/QtDataVisualization/datavisualization_test.py create mode 100644 sources/pyside6/tests/QtDesigner/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtGui/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtGui/QtGui.pyproject create mode 100644 sources/pyside6/tests/QtGui/bug_1091.py create mode 100644 sources/pyside6/tests/QtGui/bug_367.py create mode 100644 sources/pyside6/tests/QtGui/bug_493.py create mode 100644 sources/pyside6/tests/QtGui/bug_606.py create mode 100644 sources/pyside6/tests/QtGui/bug_617.py create mode 100644 sources/pyside6/tests/QtGui/bug_652.py create mode 100644 sources/pyside6/tests/QtGui/bug_660.py create mode 100644 sources/pyside6/tests/QtGui/bug_716.py create mode 100644 sources/pyside6/tests/QtGui/bug_740.py create mode 100644 sources/pyside6/tests/QtGui/bug_743.py create mode 100644 sources/pyside6/tests/QtGui/bug_785.py create mode 100644 sources/pyside6/tests/QtGui/bug_991.py create mode 100644 sources/pyside6/tests/QtGui/bug_PYSIDE-344.py create mode 100644 sources/pyside6/tests/QtGui/deepcopy_test.py create mode 100644 sources/pyside6/tests/QtGui/event_filter_test.py create mode 100644 sources/pyside6/tests/QtGui/float_to_int_implicit_conversion_test.py create mode 100644 sources/pyside6/tests/QtGui/pyside_reload_test.py create mode 100644 sources/pyside6/tests/QtGui/qbrush_test.py create mode 100644 sources/pyside6/tests/QtGui/qcolor_reduce_test.py create mode 100644 sources/pyside6/tests/QtGui/qcolor_test.py create mode 100644 sources/pyside6/tests/QtGui/qcursor_test.py create mode 100644 sources/pyside6/tests/QtGui/qdatastream_gui_operators_test.py create mode 100644 sources/pyside6/tests/QtGui/qdesktopservices_test.py create mode 100644 sources/pyside6/tests/QtGui/qfont_test.py create mode 100644 sources/pyside6/tests/QtGui/qfontmetrics_test.py create mode 100644 sources/pyside6/tests/QtGui/qguiapplication_test.py create mode 100644 sources/pyside6/tests/QtGui/qicon_test.py create mode 100644 sources/pyside6/tests/QtGui/qimage_test.py create mode 100644 sources/pyside6/tests/QtGui/qimage_win_test.py create mode 100644 sources/pyside6/tests/QtGui/qitemselection_test.py create mode 100644 sources/pyside6/tests/QtGui/qkeysequence_test.py create mode 100644 sources/pyside6/tests/QtGui/qpainter_test.py create mode 100644 sources/pyside6/tests/QtGui/qpdfwriter_test.py create mode 100644 sources/pyside6/tests/QtGui/qpen_test.py create mode 100644 sources/pyside6/tests/QtGui/qpixelformat_test.py create mode 100644 sources/pyside6/tests/QtGui/qpixmap_constructor.py create mode 100644 sources/pyside6/tests/QtGui/qpixmap_test.py create mode 100644 sources/pyside6/tests/QtGui/qpixmapcache_test.py create mode 100644 sources/pyside6/tests/QtGui/qpolygonf_test.py create mode 100644 sources/pyside6/tests/QtGui/qradialgradient_test.py create mode 100644 sources/pyside6/tests/QtGui/qrasterwindow_test.py create mode 100644 sources/pyside6/tests/QtGui/qregion_test.py create mode 100644 sources/pyside6/tests/QtGui/qshortcut_test.py create mode 100644 sources/pyside6/tests/QtGui/qstandarditemmodel_test.py create mode 100644 sources/pyside6/tests/QtGui/qstring_qkeysequence_test.py create mode 100644 sources/pyside6/tests/QtGui/qstylehints_test.py create mode 100644 sources/pyside6/tests/QtGui/qtextdocument_functions.py create mode 100644 sources/pyside6/tests/QtGui/qtextdocument_undoredo_test.py create mode 100644 sources/pyside6/tests/QtGui/qtextdocumentwriter_test.py create mode 100644 sources/pyside6/tests/QtGui/qtextline_test.py create mode 100644 sources/pyside6/tests/QtGui/qtransform_test.py create mode 100644 sources/pyside6/tests/QtGui/repr_test.py create mode 100644 sources/pyside6/tests/QtGui/sample.png create mode 100644 sources/pyside6/tests/QtGui/timed_app_and_patching_test.py create mode 100644 sources/pyside6/tests/QtGui/xpm_data.py create mode 100644 sources/pyside6/tests/QtHelp/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtHelp/QtHelp.pyproject create mode 100644 sources/pyside6/tests/QtHelp/help_test.py create mode 100644 sources/pyside6/tests/QtHelp/helpsearchengine_test.py create mode 100644 sources/pyside6/tests/QtHttpServer/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtLocation/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtLocation/QtLocation.pyproject create mode 100644 sources/pyside6/tests/QtLocation/location.py create mode 100644 sources/pyside6/tests/QtMultimedia/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtMultimedia/QtMultimedia.pyproject create mode 100644 sources/pyside6/tests/QtMultimedia/audio_test.py create mode 100644 sources/pyside6/tests/QtMultimediaWidgets/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtMultimediaWidgets/QtMultimediaWidgets.pyproject create mode 100644 sources/pyside6/tests/QtMultimediaWidgets/qmultimediawidgets.py create mode 100644 sources/pyside6/tests/QtNetwork/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtNetwork/QtNetwork.pyproject create mode 100644 sources/pyside6/tests/QtNetwork/accessManager_test.py create mode 100644 sources/pyside6/tests/QtNetwork/bug_1084.py create mode 100644 sources/pyside6/tests/QtNetwork/bug_446.py create mode 100644 sources/pyside6/tests/QtNetwork/dnslookup_test.py create mode 100644 sources/pyside6/tests/QtNetwork/qhostinfo_test.py create mode 100644 sources/pyside6/tests/QtNetwork/qipv6address_test.py create mode 100644 sources/pyside6/tests/QtNetwork/qpassworddigestor_test.py create mode 100644 sources/pyside6/tests/QtNetwork/tcpserver_test.py create mode 100644 sources/pyside6/tests/QtNetwork/udpsocket_test.py create mode 100644 sources/pyside6/tests/QtNetworkAuth/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtNfc/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtNfc/QtNfc.pyproject create mode 100644 sources/pyside6/tests/QtNfc/test_nfc.py create mode 100644 sources/pyside6/tests/QtOpenGL/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtOpenGL/QtOpenGL.pyproject create mode 100644 sources/pyside6/tests/QtOpenGL/qopenglbuffer_test.py create mode 100644 sources/pyside6/tests/QtOpenGL/qopenglwindow_test.py create mode 100644 sources/pyside6/tests/QtOpenGLWidgets/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtPdf/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtPdfWidgets/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtPositioning/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtPositioning/QtPositioning.pyproject create mode 100644 sources/pyside6/tests/QtPositioning/positioning.py create mode 100644 sources/pyside6/tests/QtPrintSupport/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtPrintSupport/QtPrintSupport.pyproject create mode 100644 sources/pyside6/tests/QtPrintSupport/bug_500.py create mode 100644 sources/pyside6/tests/QtPrintSupport/returnquadruplesofnumbers_test.py create mode 100644 sources/pyside6/tests/QtQml/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtQml/ModuleType.qml create mode 100644 sources/pyside6/tests/QtQml/QtQml.pyproject create mode 100644 sources/pyside6/tests/QtQml/bug_1029.py create mode 100644 sources/pyside6/tests/QtQml/bug_1029.qml create mode 100644 sources/pyside6/tests/QtQml/bug_451.py create mode 100644 sources/pyside6/tests/QtQml/bug_451.qml create mode 100644 sources/pyside6/tests/QtQml/bug_456.py create mode 100644 sources/pyside6/tests/QtQml/bug_456.qml create mode 100644 sources/pyside6/tests/QtQml/bug_557.py create mode 100644 sources/pyside6/tests/QtQml/bug_726.py create mode 100644 sources/pyside6/tests/QtQml/bug_726.qml create mode 100644 sources/pyside6/tests/QtQml/bug_814.py create mode 100644 sources/pyside6/tests/QtQml/bug_814.qml create mode 100644 sources/pyside6/tests/QtQml/bug_825.py create mode 100644 sources/pyside6/tests/QtQml/bug_825.qml create mode 100644 sources/pyside6/tests/QtQml/bug_847.py create mode 100644 sources/pyside6/tests/QtQml/bug_847.qml create mode 100644 sources/pyside6/tests/QtQml/bug_915.py create mode 100644 sources/pyside6/tests/QtQml/bug_926.py create mode 100644 sources/pyside6/tests/QtQml/bug_926.qml create mode 100644 sources/pyside6/tests/QtQml/bug_951.py create mode 100644 sources/pyside6/tests/QtQml/bug_951.qml create mode 100644 sources/pyside6/tests/QtQml/bug_995.py create mode 100644 sources/pyside6/tests/QtQml/bug_995.qml create mode 100644 sources/pyside6/tests/QtQml/bug_997.py create mode 100644 sources/pyside6/tests/QtQml/bug_997.qml create mode 100644 sources/pyside6/tests/QtQml/connect_python_qml.py create mode 100644 sources/pyside6/tests/QtQml/connect_python_qml.qml create mode 100644 sources/pyside6/tests/QtQml/groupedproperty.py create mode 100644 sources/pyside6/tests/QtQml/groupedproperty.qml create mode 100644 sources/pyside6/tests/QtQml/hw.qml create mode 100644 sources/pyside6/tests/QtQml/javascript_exceptions.py create mode 100644 sources/pyside6/tests/QtQml/javascript_exceptions.qml create mode 100644 sources/pyside6/tests/QtQml/listproperty.py create mode 100644 sources/pyside6/tests/QtQml/qqmlapplicationengine.qml create mode 100644 sources/pyside6/tests/QtQml/qqmlapplicationengine_test.py create mode 100644 sources/pyside6/tests/QtQml/qqmlincubator_incubateWhile.py create mode 100644 sources/pyside6/tests/QtQml/qqmlincubator_incubateWhile.qml create mode 100644 sources/pyside6/tests/QtQml/qqmlincubator_incubateWhile_component.qml create mode 100644 sources/pyside6/tests/QtQml/qqmlnetwork_test.py create mode 100644 sources/pyside6/tests/QtQml/qquickitem_grabToImage.py create mode 100644 sources/pyside6/tests/QtQml/qquickitem_grabToImage.qml create mode 100644 sources/pyside6/tests/QtQml/qquickview_test.py create mode 100644 sources/pyside6/tests/QtQml/registerattached.py create mode 100644 sources/pyside6/tests/QtQml/registerattached.qml create mode 100644 sources/pyside6/tests/QtQml/registerextended.py create mode 100644 sources/pyside6/tests/QtQml/registerextended.qml create mode 100644 sources/pyside6/tests/QtQml/registerforeign.py create mode 100644 sources/pyside6/tests/QtQml/registerforeign.qml create mode 100644 sources/pyside6/tests/QtQml/registerparserstatus.py create mode 100644 sources/pyside6/tests/QtQml/registerparserstatus.qml create mode 100644 sources/pyside6/tests/QtQml/registerqmlfile.py create mode 100644 sources/pyside6/tests/QtQml/registersingletontype.py create mode 100644 sources/pyside6/tests/QtQml/registersingletontype.qml create mode 100644 sources/pyside6/tests/QtQml/registertype.py create mode 100644 sources/pyside6/tests/QtQml/registertype.qml create mode 100644 sources/pyside6/tests/QtQml/registeruncreatable.qml create mode 100644 sources/pyside6/tests/QtQml/registeruncreatabletype.py create mode 100644 sources/pyside6/tests/QtQml/signal_arguments.py create mode 100644 sources/pyside6/tests/QtQml/signal_arguments.qml create mode 100644 sources/pyside6/tests/QtQml/signal_types.py create mode 100644 sources/pyside6/tests/QtQml/signal_types.qml create mode 100644 sources/pyside6/tests/QtQml/view.qml create mode 100644 sources/pyside6/tests/QtQml/viewmodel.qml create mode 100644 sources/pyside6/tests/QtQuick/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtQuick3D/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtQuickControls2/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtQuickWidgets/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtRemoteObjects/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtScxml/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtScxml/QtScxml.pyproject create mode 100644 sources/pyside6/tests/QtScxml/test_dynamic.py create mode 100644 sources/pyside6/tests/QtScxml/trafficlight.scxml create mode 100644 sources/pyside6/tests/QtSensors/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtSensors/QtSensors.pyproject create mode 100644 sources/pyside6/tests/QtSensors/sensors.py create mode 100644 sources/pyside6/tests/QtSerialBus/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtSerialPort/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtSerialPort/QtSerialPort.pyproject create mode 100644 sources/pyside6/tests/QtSerialPort/serial.py create mode 100644 sources/pyside6/tests/QtSpatialAudio/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtSql/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtSql/QtSql.pyproject create mode 100644 sources/pyside6/tests/QtSql/bug_1013.py create mode 100644 sources/pyside6/tests/QtSql/qsqldatabaseandqueries_test.py create mode 100644 sources/pyside6/tests/QtSql/qvarianttype_test.py create mode 100644 sources/pyside6/tests/QtStateMachine/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtStateMachine/QtStateMachine.pyproject create mode 100644 sources/pyside6/tests/QtStateMachine/bug_1031.py create mode 100644 sources/pyside6/tests/QtStateMachine/qabstracttransition_test.py create mode 100644 sources/pyside6/tests/QtStateMachine/qstate_test.py create mode 100644 sources/pyside6/tests/QtStateMachine/qstatemachine_test.py create mode 100644 sources/pyside6/tests/QtStateMachine/setprop_on_ctor_test.py create mode 100644 sources/pyside6/tests/QtSvg/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtSvg/QtSvg.pyproject create mode 100644 sources/pyside6/tests/QtSvg/qsvggenerator_test.py create mode 100644 sources/pyside6/tests/QtSvg/qsvgrenderer_test.py create mode 100644 sources/pyside6/tests/QtSvg/tiger.svg create mode 100644 sources/pyside6/tests/QtSvgWidgets/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtSvgWidgets/QtSvgWidgets.pyproject create mode 100644 sources/pyside6/tests/QtSvgWidgets/qsvgwidget_test.py create mode 100644 sources/pyside6/tests/QtTest/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtTest/QtTest.pyproject create mode 100644 sources/pyside6/tests/QtTest/click_test.py create mode 100644 sources/pyside6/tests/QtTest/eventfilter_test.py create mode 100644 sources/pyside6/tests/QtTest/qsignalspy_test.py create mode 100644 sources/pyside6/tests/QtTest/qvalidator_test.py create mode 100644 sources/pyside6/tests/QtTest/touchevent_test.py create mode 100644 sources/pyside6/tests/QtTextToSpeech/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtTextToSpeech/QtTextToSpeech.pyproject create mode 100644 sources/pyside6/tests/QtTextToSpeech/qtexttospeech_test.py create mode 100644 sources/pyside6/tests/QtUiTools/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtUiTools/QtUiTools.pyproject create mode 100644 sources/pyside6/tests/QtUiTools/action.ui create mode 100644 sources/pyside6/tests/QtUiTools/bug_1060.py create mode 100644 sources/pyside6/tests/QtUiTools/bug_1060.ui create mode 100644 sources/pyside6/tests/QtUiTools/bug_360.py create mode 100644 sources/pyside6/tests/QtUiTools/bug_376.py create mode 100644 sources/pyside6/tests/QtUiTools/bug_392.py create mode 100644 sources/pyside6/tests/QtUiTools/bug_426.py create mode 100644 sources/pyside6/tests/QtUiTools/bug_426.ui create mode 100644 sources/pyside6/tests/QtUiTools/bug_552.py create mode 100644 sources/pyside6/tests/QtUiTools/bug_552.ui create mode 100644 sources/pyside6/tests/QtUiTools/bug_797.py create mode 100644 sources/pyside6/tests/QtUiTools/bug_909.py create mode 100644 sources/pyside6/tests/QtUiTools/bug_909.ui create mode 100644 sources/pyside6/tests/QtUiTools/bug_913.py create mode 100644 sources/pyside6/tests/QtUiTools/bug_913.ui create mode 100644 sources/pyside6/tests/QtUiTools/bug_958.py create mode 100644 sources/pyside6/tests/QtUiTools/bug_958.ui create mode 100644 sources/pyside6/tests/QtUiTools/bug_965.py create mode 100644 sources/pyside6/tests/QtUiTools/bug_965.ui create mode 100644 sources/pyside6/tests/QtUiTools/loadUiType_test.py create mode 100644 sources/pyside6/tests/QtUiTools/minimal.ui create mode 100644 sources/pyside6/tests/QtUiTools/pycustomwidget.ui create mode 100644 sources/pyside6/tests/QtUiTools/pycustomwidget2.ui create mode 100644 sources/pyside6/tests/QtUiTools/test.ui create mode 100644 sources/pyside6/tests/QtUiTools/ui_test.py create mode 100644 sources/pyside6/tests/QtUiTools/uiloader_test.py create mode 100644 sources/pyside6/tests/QtWebChannel/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtWebEngineCore/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtWebEngineCore/QtWebEngineCore.pyproject create mode 100644 sources/pyside6/tests/QtWebEngineCore/qwebenginecookiestore_test.py create mode 100644 sources/pyside6/tests/QtWebEngineCore/resources/index.html create mode 100644 sources/pyside6/tests/QtWebEngineCore/web_engine_custom_scheme.py create mode 100644 sources/pyside6/tests/QtWebEngineQuick/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtWebEngineWidgets/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtWebEngineWidgets/QtWebEngineWidgets.pyproject create mode 100644 sources/pyside6/tests/QtWebEngineWidgets/fox.html create mode 100644 sources/pyside6/tests/QtWebEngineWidgets/pyside-474-qtwebengineview.py create mode 100644 sources/pyside6/tests/QtWebSockets/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtWidgets/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtWidgets/QtWidgets.pyproject create mode 100644 sources/pyside6/tests/QtWidgets/action_clear.py create mode 100644 sources/pyside6/tests/QtWidgets/add_action_test.py create mode 100644 sources/pyside6/tests/QtWidgets/api2_test.py create mode 100644 sources/pyside6/tests/QtWidgets/application_test.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_1002.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_1006.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_1048.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_1077.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_172.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_243.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_307.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_338.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_389.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_400.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_429.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_430.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_433.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_467.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_480.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_512.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_525.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_546.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_547.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_549.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_569.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_575.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_576.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_585.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_589.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_635.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_640.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_653.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_662.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_667.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_668.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_674.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_675.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_688.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_693.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_696.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_711.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_722.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_728.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_736.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_750.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_778.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_793.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_811.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_834.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_836.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_844.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_854.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_860.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_862.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_871.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_879.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_919.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_921.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_941.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_964.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_967.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_972.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_979.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_988.py create mode 100644 sources/pyside6/tests/QtWidgets/bug_998.py create mode 100644 sources/pyside6/tests/QtWidgets/customproxywidget_test.py create mode 100644 sources/pyside6/tests/QtWidgets/grandparent_method_test.py create mode 100644 sources/pyside6/tests/QtWidgets/hashabletype_test.py create mode 100644 sources/pyside6/tests/QtWidgets/import_test.py create mode 100644 sources/pyside6/tests/QtWidgets/keep_reference_test.py create mode 100644 sources/pyside6/tests/QtWidgets/missing_symbols_test.py create mode 100644 sources/pyside6/tests/QtWidgets/paint_event_test.py create mode 100644 sources/pyside6/tests/QtWidgets/parent_method_test.py create mode 100644 sources/pyside6/tests/QtWidgets/private_mangle_test.py create mode 100644 sources/pyside6/tests/QtWidgets/python_properties_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qabstracttextdocumentlayout_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qaccessible_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qaction_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qapp_issue_585.py create mode 100644 sources/pyside6/tests/QtWidgets/qapp_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qapplication_exit_segfault_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qapplication_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qcolormap_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qdynamic_signal.py create mode 100644 sources/pyside6/tests/QtWidgets/qfontdialog_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qformlayout_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qgraphicsitem_isblocked_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qgraphicsitem_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qgraphicsobjectreimpl_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qgraphicsproxywidget_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qgraphicsscene_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qinputdialog_get_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qkeysequenceedit_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qlabel_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qlayout_ref_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qlayout_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qlcdnumber_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qlistwidget_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qlistwidgetitem_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qmainwindow_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qmenu_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qmenuadd_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qobject_mi_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qpicture_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qpushbutton_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qsplitter_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qstyle_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qstyleoption_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qtableview_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qtabwidget_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qtabwidgetclear_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qtextedit_signal_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qtextedit_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qtoolbar_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qtoolbox_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qtreeview_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qtreewidget_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qtreewidgetitem_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qvariant_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qwidget_setlayout_test.py create mode 100644 sources/pyside6/tests/QtWidgets/qwidget_test.py create mode 100644 sources/pyside6/tests/QtWidgets/reference_count_test.py create mode 100644 sources/pyside6/tests/QtWidgets/sample.png create mode 100644 sources/pyside6/tests/QtWidgets/signature_test.py create mode 100644 sources/pyside6/tests/QtWidgets/standardpixmap_test.py create mode 100644 sources/pyside6/tests/QtWidgets/test_module_template.py create mode 100644 sources/pyside6/tests/QtWidgets/virtual_protected_inheritance_test.py create mode 100644 sources/pyside6/tests/QtWidgets/virtual_pure_override_test.py create mode 100644 sources/pyside6/tests/QtWidgets/wrong_return_test.py create mode 100644 sources/pyside6/tests/QtXml/CMakeLists.txt create mode 100644 sources/pyside6/tests/QtXml/QtXml.pyproject create mode 100644 sources/pyside6/tests/QtXml/qdomdocument_test.py create mode 100644 sources/pyside6/tests/init_paths.py create mode 100644 sources/pyside6/tests/mac/CMakeLists.txt create mode 100644 sources/pyside6/tests/mac/qmacstyle_test.py create mode 100644 sources/pyside6/tests/manually/README.txt create mode 100644 sources/pyside6/tests/manually/bug_841.py create mode 100644 sources/pyside6/tests/pysidetest/CMakeLists.txt create mode 100644 sources/pyside6/tests/pysidetest/all_modules_load_test.py create mode 100644 sources/pyside6/tests/pysidetest/bug_1016.py create mode 100644 sources/pyside6/tests/pysidetest/constructor_properties_test.py create mode 100644 sources/pyside6/tests/pysidetest/container_test.py create mode 100644 sources/pyside6/tests/pysidetest/containertest.cpp create mode 100644 sources/pyside6/tests/pysidetest/containertest.h create mode 100644 sources/pyside6/tests/pysidetest/curr_errors.txt create mode 100644 sources/pyside6/tests/pysidetest/decoratedslot_test.py create mode 100644 sources/pyside6/tests/pysidetest/delegatecreateseditor_test.py create mode 100644 sources/pyside6/tests/pysidetest/enum_test.py create mode 100644 sources/pyside6/tests/pysidetest/flagstest.cpp create mode 100644 sources/pyside6/tests/pysidetest/flagstest.h create mode 100644 sources/pyside6/tests/pysidetest/hiddenobject.cpp create mode 100644 sources/pyside6/tests/pysidetest/hiddenobject.h create mode 100644 sources/pyside6/tests/pysidetest/homonymoussignalandmethod_test.py create mode 100644 sources/pyside6/tests/pysidetest/iterable_test.py create mode 100644 sources/pyside6/tests/pysidetest/list_signal_test.py create mode 100644 sources/pyside6/tests/pysidetest/mixin_signal_slots_test.py create mode 100644 sources/pyside6/tests/pysidetest/mock_as_slot_test.py create mode 100644 sources/pyside6/tests/pysidetest/modelview_test.py create mode 100644 sources/pyside6/tests/pysidetest/multiple_inheritance_test.py create mode 100644 sources/pyside6/tests/pysidetest/new_inherited_functions_test.py create mode 100644 sources/pyside6/tests/pysidetest/notify_id.py create mode 100644 sources/pyside6/tests/pysidetest/properties_test.py create mode 100644 sources/pyside6/tests/pysidetest/property_python_test.py create mode 100644 sources/pyside6/tests/pysidetest/pyenum_relax_options_test.py create mode 100644 sources/pyside6/tests/pysidetest/pysidetest.pyproject create mode 100644 sources/pyside6/tests/pysidetest/pysidetest_global.h create mode 100644 sources/pyside6/tests/pysidetest/pysidetest_macros.h create mode 100644 sources/pyside6/tests/pysidetest/qapp_like_a_macro_test.py create mode 100644 sources/pyside6/tests/pysidetest/qvariant_test.py create mode 100644 sources/pyside6/tests/pysidetest/repr_test.py create mode 100644 sources/pyside6/tests/pysidetest/shared_pointer_test.py create mode 100644 sources/pyside6/tests/pysidetest/sharedpointertestbench.cpp create mode 100644 sources/pyside6/tests/pysidetest/sharedpointertestbench.h create mode 100644 sources/pyside6/tests/pysidetest/signal_slot_warning.py create mode 100644 sources/pyside6/tests/pysidetest/signal_tp_descr_get_test.py create mode 100644 sources/pyside6/tests/pysidetest/signalandnamespace_test.py create mode 100644 sources/pyside6/tests/pysidetest/signalemissionfrompython_test.py create mode 100644 sources/pyside6/tests/pysidetest/signalinstance_equality_test.py create mode 100644 sources/pyside6/tests/pysidetest/signalwithdefaultvalue_test.py create mode 100644 sources/pyside6/tests/pysidetest/snake_case_sub.py create mode 100644 sources/pyside6/tests/pysidetest/snake_case_test.py create mode 100644 sources/pyside6/tests/pysidetest/symbols.filter create mode 100644 sources/pyside6/tests/pysidetest/testobject.cpp create mode 100644 sources/pyside6/tests/pysidetest/testobject.h create mode 100644 sources/pyside6/tests/pysidetest/testqvariantenum.cpp create mode 100644 sources/pyside6/tests/pysidetest/testqvariantenum.h create mode 100644 sources/pyside6/tests/pysidetest/testview.cpp create mode 100644 sources/pyside6/tests/pysidetest/testview.h create mode 100644 sources/pyside6/tests/pysidetest/true_property_test.py create mode 100644 sources/pyside6/tests/pysidetest/typedef_signal_test.py create mode 100644 sources/pyside6/tests/pysidetest/typesystem_pysidetest.xml create mode 100644 sources/pyside6/tests/pysidetest/version_test.py create mode 100644 sources/pyside6/tests/registry/CMakeLists.txt create mode 100644 sources/pyside6/tests/registry/existence_test.py create mode 100644 sources/pyside6/tests/registry/exists_darwin_5_14_2_ci.py create mode 100644 sources/pyside6/tests/registry/exists_red_hat_enterprise_linux_workstation7_6_5_14_2_ci.py create mode 100644 sources/pyside6/tests/registry/exists_win32_5_14_2_ci.py create mode 100644 sources/pyside6/tests/registry/exists_x86_64_suse_linux_5_14_2_ci.py create mode 100644 sources/pyside6/tests/registry/init_platform.py create mode 100644 sources/pyside6/tests/registry/scrape_testresults.py create mode 100644 sources/pyside6/tests/registry/util.py create mode 100755 sources/pyside6/tests/run_test.sh create mode 100644 sources/pyside6/tests/signals/CMakeLists.txt create mode 100644 sources/pyside6/tests/signals/anonymous_slot_leak_test.py create mode 100644 sources/pyside6/tests/signals/args_dont_match_test.py create mode 100644 sources/pyside6/tests/signals/bug_189.py create mode 100644 sources/pyside6/tests/signals/bug_311.py create mode 100644 sources/pyside6/tests/signals/bug_312.py create mode 100644 sources/pyside6/tests/signals/bug_319.py create mode 100644 sources/pyside6/tests/signals/bug_79.py create mode 100644 sources/pyside6/tests/signals/decorators_test.py create mode 100644 sources/pyside6/tests/signals/disconnect_test.py create mode 100644 sources/pyside6/tests/signals/invalid_callback_test.py create mode 100644 sources/pyside6/tests/signals/lambda_gui_test.py create mode 100644 sources/pyside6/tests/signals/lambda_test.py create mode 100644 sources/pyside6/tests/signals/leaking_signal_test.py create mode 100644 sources/pyside6/tests/signals/multiple_connections_gui_test.py create mode 100644 sources/pyside6/tests/signals/multiple_connections_test.py create mode 100644 sources/pyside6/tests/signals/pysignal_test.py create mode 100644 sources/pyside6/tests/signals/qobject_destroyed_test.py create mode 100644 sources/pyside6/tests/signals/qobject_receivers_test.py create mode 100644 sources/pyside6/tests/signals/qobject_sender_test.py create mode 100644 sources/pyside6/tests/signals/ref01_test.py create mode 100644 sources/pyside6/tests/signals/ref02_test.py create mode 100644 sources/pyside6/tests/signals/ref03_test.py create mode 100644 sources/pyside6/tests/signals/ref04_test.py create mode 100644 sources/pyside6/tests/signals/ref05_test.py create mode 100644 sources/pyside6/tests/signals/ref06_test.py create mode 100644 sources/pyside6/tests/signals/segfault_proxyparent_test.py create mode 100644 sources/pyside6/tests/signals/self_connect_test.py create mode 100644 sources/pyside6/tests/signals/short_circuit_test.py create mode 100644 sources/pyside6/tests/signals/signal2signal_connect_test.py create mode 100644 sources/pyside6/tests/signals/signal_across_threads.py create mode 100644 sources/pyside6/tests/signals/signal_autoconnect_test.py create mode 100644 sources/pyside6/tests/signals/signal_connectiontype_support_test.py create mode 100644 sources/pyside6/tests/signals/signal_emission_gui_test.py create mode 100644 sources/pyside6/tests/signals/signal_emission_test.py create mode 100644 sources/pyside6/tests/signals/signal_enum_test.py create mode 100644 sources/pyside6/tests/signals/signal_func_test.py create mode 100644 sources/pyside6/tests/signals/signal_manager_refcount_test.py create mode 100644 sources/pyside6/tests/signals/signal_newenum_test.py create mode 100644 sources/pyside6/tests/signals/signal_number_limit_test.py create mode 100644 sources/pyside6/tests/signals/signal_object_test.py create mode 100644 sources/pyside6/tests/signals/signal_signature_test.py create mode 100644 sources/pyside6/tests/signals/signal_with_primitive_type_test.py create mode 100644 sources/pyside6/tests/signals/slot_reference_count_test.py create mode 100644 sources/pyside6/tests/signals/static_metaobject_test.py create mode 100644 sources/pyside6/tests/support/CMakeLists.txt create mode 100644 sources/pyside6/tests/support/voidptr_test.py create mode 100644 sources/pyside6/tests/tools/__init__.py create mode 100644 sources/pyside6/tests/tools/list-class-hierarchy.py create mode 100644 sources/pyside6/tests/tools/metaobjectdump/CMakeLists.txt create mode 100644 sources/pyside6/tests/tools/metaobjectdump/baseline_default_birthdayparty.json create mode 100644 sources/pyside6/tests/tools/metaobjectdump/baseline_default_person.json create mode 100644 sources/pyside6/tests/tools/metaobjectdump/baseline_inheritance_birthdayparty.json create mode 100644 sources/pyside6/tests/tools/metaobjectdump/baseline_inheritance_person.json create mode 100644 sources/pyside6/tests/tools/metaobjectdump/baseline_property_happybirthdaysong.json create mode 100644 sources/pyside6/tests/tools/metaobjectdump/test_metaobjectdump.py create mode 100644 sources/pyside6/tests/tools/pyside6-android-deploy/CMakeLists.txt create mode 100644 sources/pyside6/tests/tools/pyside6-android-deploy/test_pyside6_android_deploy.py create mode 100644 sources/pyside6/tests/tools/pyside6-deploy/CMakeLists.txt create mode 100644 sources/pyside6/tests/tools/pyside6-deploy/test_pyside6_deploy.py create mode 100644 sources/pyside6/tests/tools/pyside6-qml/CMakeLists.txt create mode 100644 sources/pyside6/tests/tools/pyside6-qml/test_pyside6_qml.py create mode 100644 sources/pyside6/tests/util/color.py create mode 100644 sources/pyside6/tests/util/helper/__init__.py create mode 100644 sources/pyside6/tests/util/helper/basicpyslotcase.py create mode 100644 sources/pyside6/tests/util/helper/docmodifier.py create mode 100644 sources/pyside6/tests/util/helper/helper.py create mode 100644 sources/pyside6/tests/util/helper/helper.pyproject create mode 100644 sources/pyside6/tests/util/helper/timedqapplication.py create mode 100644 sources/pyside6/tests/util/helper/timedqguiapplication.py create mode 100644 sources/pyside6/tests/util/helper/usesqapplication.py create mode 100644 sources/pyside6/tests/util/httpd.py create mode 100644 sources/pyside6/tests/util/processtimer.py create mode 100755 sources/pyside6/tests/util/rename_imports.sh create mode 100644 sources/pyside6/tests/util/test_processtimer.py create mode 100644 sources/pyside6/tests/util/valgrind-python.supp create mode 100644 sources/shiboken6/.cmake.conf create mode 100644 sources/shiboken6/.gitattributes create mode 100644 sources/shiboken6/.gitignore create mode 100644 sources/shiboken6/AUTHORS create mode 100644 sources/shiboken6/ApiExtractor/AUTHORS create mode 100644 sources/shiboken6/ApiExtractor/CMakeLists.txt create mode 100644 sources/shiboken6/ApiExtractor/COPYING create mode 100644 sources/shiboken6/ApiExtractor/abstractmetaargument.cpp create mode 100644 sources/shiboken6/ApiExtractor/abstractmetaargument.h create mode 100644 sources/shiboken6/ApiExtractor/abstractmetabuilder.cpp create mode 100644 sources/shiboken6/ApiExtractor/abstractmetabuilder.h create mode 100644 sources/shiboken6/ApiExtractor/abstractmetabuilder_helpers.cpp create mode 100644 sources/shiboken6/ApiExtractor/abstractmetabuilder_p.h create mode 100644 sources/shiboken6/ApiExtractor/abstractmetaenum.cpp create mode 100644 sources/shiboken6/ApiExtractor/abstractmetaenum.h create mode 100644 sources/shiboken6/ApiExtractor/abstractmetafield.cpp create mode 100644 sources/shiboken6/ApiExtractor/abstractmetafield.h create mode 100644 sources/shiboken6/ApiExtractor/abstractmetafunction.cpp create mode 100644 sources/shiboken6/ApiExtractor/abstractmetafunction.h create mode 100644 sources/shiboken6/ApiExtractor/abstractmetalang.cpp create mode 100644 sources/shiboken6/ApiExtractor/abstractmetalang.h create mode 100644 sources/shiboken6/ApiExtractor/abstractmetalang_enums.h create mode 100644 sources/shiboken6/ApiExtractor/abstractmetalang_helpers.h create mode 100644 sources/shiboken6/ApiExtractor/abstractmetalang_typedefs.h create mode 100644 sources/shiboken6/ApiExtractor/abstractmetatype.cpp create mode 100644 sources/shiboken6/ApiExtractor/abstractmetatype.h create mode 100644 sources/shiboken6/ApiExtractor/addedfunction.cpp create mode 100644 sources/shiboken6/ApiExtractor/addedfunction.h create mode 100644 sources/shiboken6/ApiExtractor/addedfunction_p.h create mode 100644 sources/shiboken6/ApiExtractor/apiextractor.cpp create mode 100644 sources/shiboken6/ApiExtractor/apiextractor.h create mode 100644 sources/shiboken6/ApiExtractor/apiextractorflags.h create mode 100644 sources/shiboken6/ApiExtractor/apiextractorresult.cpp create mode 100644 sources/shiboken6/ApiExtractor/apiextractorresult.h create mode 100644 sources/shiboken6/ApiExtractor/arraytypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/clangparser/clangbuilder.cpp create mode 100644 sources/shiboken6/ApiExtractor/clangparser/clangbuilder.h create mode 100644 sources/shiboken6/ApiExtractor/clangparser/clangdebugutils.cpp create mode 100644 sources/shiboken6/ApiExtractor/clangparser/clangdebugutils.h create mode 100644 sources/shiboken6/ApiExtractor/clangparser/clangparser.cpp create mode 100644 sources/shiboken6/ApiExtractor/clangparser/clangparser.h create mode 100644 sources/shiboken6/ApiExtractor/clangparser/clangutils.cpp create mode 100644 sources/shiboken6/ApiExtractor/clangparser/clangutils.h create mode 100644 sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp create mode 100644 sources/shiboken6/ApiExtractor/clangparser/compilersupport.h create mode 100644 sources/shiboken6/ApiExtractor/classdocumentation.cpp create mode 100644 sources/shiboken6/ApiExtractor/classdocumentation.h create mode 100644 sources/shiboken6/ApiExtractor/cmake_uninstall.cmake create mode 100644 sources/shiboken6/ApiExtractor/codesnip.cpp create mode 100644 sources/shiboken6/ApiExtractor/codesnip.h create mode 100644 sources/shiboken6/ApiExtractor/codesniphelpers.cpp create mode 100644 sources/shiboken6/ApiExtractor/codesniphelpers.h create mode 100644 sources/shiboken6/ApiExtractor/complextypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/conditionalstreamreader.cpp create mode 100644 sources/shiboken6/ApiExtractor/conditionalstreamreader.h create mode 100644 sources/shiboken6/ApiExtractor/configurabletypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/constantvaluetypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/containertypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/customconversion.cpp create mode 100644 sources/shiboken6/ApiExtractor/customconversion.h create mode 100644 sources/shiboken6/ApiExtractor/customconversion_typedefs.h create mode 100644 sources/shiboken6/ApiExtractor/customtypenentry.h create mode 100644 sources/shiboken6/ApiExtractor/debughelpers_p.h create mode 100644 sources/shiboken6/ApiExtractor/dependency.h create mode 100644 sources/shiboken6/ApiExtractor/docparser.cpp create mode 100644 sources/shiboken6/ApiExtractor/docparser.h create mode 100644 sources/shiboken6/ApiExtractor/documentation.cpp create mode 100644 sources/shiboken6/ApiExtractor/documentation.h create mode 100644 sources/shiboken6/ApiExtractor/dotview.cpp create mode 100644 sources/shiboken6/ApiExtractor/dotview.h create mode 100644 sources/shiboken6/ApiExtractor/doxygenparser.cpp create mode 100644 sources/shiboken6/ApiExtractor/doxygenparser.h create mode 100644 sources/shiboken6/ApiExtractor/enclosingclassmixin.cpp create mode 100644 sources/shiboken6/ApiExtractor/enclosingclassmixin.h create mode 100644 sources/shiboken6/ApiExtractor/enumtypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/enumvaluetypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/exception.h create mode 100644 sources/shiboken6/ApiExtractor/fileout.cpp create mode 100644 sources/shiboken6/ApiExtractor/fileout.h create mode 100644 sources/shiboken6/ApiExtractor/flagstypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/functiontypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/graph.h create mode 100644 sources/shiboken6/ApiExtractor/header_paths.h create mode 100644 sources/shiboken6/ApiExtractor/icecc.cmake create mode 100644 sources/shiboken6/ApiExtractor/include.cpp create mode 100644 sources/shiboken6/ApiExtractor/include.h create mode 100644 sources/shiboken6/ApiExtractor/merge.xsl create mode 100644 sources/shiboken6/ApiExtractor/messages.cpp create mode 100644 sources/shiboken6/ApiExtractor/messages.h create mode 100644 sources/shiboken6/ApiExtractor/modifications.cpp create mode 100644 sources/shiboken6/ApiExtractor/modifications.h create mode 100644 sources/shiboken6/ApiExtractor/modifications_typedefs.h create mode 100644 sources/shiboken6/ApiExtractor/namespacetypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/objecttypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/parser/codemodel.cpp create mode 100644 sources/shiboken6/ApiExtractor/parser/codemodel.h create mode 100644 sources/shiboken6/ApiExtractor/parser/codemodel_enums.h create mode 100644 sources/shiboken6/ApiExtractor/parser/codemodel_fwd.h create mode 100644 sources/shiboken6/ApiExtractor/parser/enumvalue.cpp create mode 100644 sources/shiboken6/ApiExtractor/parser/enumvalue.h create mode 100644 sources/shiboken6/ApiExtractor/parser/typeinfo.cpp create mode 100644 sources/shiboken6/ApiExtractor/parser/typeinfo.h create mode 100644 sources/shiboken6/ApiExtractor/predefined_templates.cpp create mode 100644 sources/shiboken6/ApiExtractor/predefined_templates.h create mode 100644 sources/shiboken6/ApiExtractor/primitivetypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/propertyspec.cpp create mode 100644 sources/shiboken6/ApiExtractor/propertyspec.h create mode 100644 sources/shiboken6/ApiExtractor/pymethoddefentry.cpp create mode 100644 sources/shiboken6/ApiExtractor/pymethoddefentry.h create mode 100644 sources/shiboken6/ApiExtractor/pythontypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/qtcompat.h create mode 100644 sources/shiboken6/ApiExtractor/qtdocparser.cpp create mode 100644 sources/shiboken6/ApiExtractor/qtdocparser.h create mode 100644 sources/shiboken6/ApiExtractor/reporthandler.cpp create mode 100644 sources/shiboken6/ApiExtractor/reporthandler.h create mode 100644 sources/shiboken6/ApiExtractor/smartpointertypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/sourcelocation.cpp create mode 100644 sources/shiboken6/ApiExtractor/sourcelocation.h create mode 100644 sources/shiboken6/ApiExtractor/symbols.filter create mode 100644 sources/shiboken6/ApiExtractor/templateargumententry.h create mode 100644 sources/shiboken6/ApiExtractor/tests/CMakeLists.txt create mode 100644 sources/shiboken6/ApiExtractor/tests/a.xml create mode 100644 sources/shiboken6/ApiExtractor/tests/injectedcode.txt create mode 100644 sources/shiboken6/ApiExtractor/tests/testabstractmetaclass.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testabstractmetaclass.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testabstractmetatype.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testabstractmetatype.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testaddfunction.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testaddfunction.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testarrayargument.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testarrayargument.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testcodeinjection.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testcodeinjection.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testcodeinjection.qrc create mode 100644 sources/shiboken6/ApiExtractor/tests/testcontainer.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testcontainer.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testconversionoperator.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testconversionoperator.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testconversionruletag.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testconversionruletag.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testctorinformation.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testctorinformation.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testdroptypeentries.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testdroptypeentries.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testdtorinformation.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testdtorinformation.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testenum.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testenum.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testextrainclude.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testextrainclude.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testfunctiontag.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testfunctiontag.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testimplicitconversions.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testimplicitconversions.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testinserttemplate.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testinserttemplate.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testmodifydocumentation.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testmodifydocumentation.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testmodifydocumentation.qrc create mode 100644 sources/shiboken6/ApiExtractor/tests/testmodifyfunction.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testmodifyfunction.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testmultipleinheritance.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testmultipleinheritance.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testnamespace.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testnamespace.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testnestedtypes.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testnestedtypes.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testnumericaltypedef.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testnumericaltypedef.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testprimitivetypetag.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testprimitivetypetag.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testrefcounttag.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testrefcounttag.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testreferencetopointer.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testreferencetopointer.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testremovefield.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testremovefield.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testremoveimplconv.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testremoveimplconv.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testremoveoperatormethod.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testremoveoperatormethod.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testresolvetype.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testresolvetype.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testreverseoperators.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testreverseoperators.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testtemplates.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testtemplates.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testtoposort.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testtoposort.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testtyperevision.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testtyperevision.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testutil.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testvaluetypedefaultctortag.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testvaluetypedefaultctortag.h create mode 100644 sources/shiboken6/ApiExtractor/tests/testvoidarg.cpp create mode 100644 sources/shiboken6/ApiExtractor/tests/testvoidarg.h create mode 100644 sources/shiboken6/ApiExtractor/tests/utf8code.txt create mode 100644 sources/shiboken6/ApiExtractor/textstream.cpp create mode 100644 sources/shiboken6/ApiExtractor/textstream.h create mode 100644 sources/shiboken6/ApiExtractor/typedatabase.cpp create mode 100644 sources/shiboken6/ApiExtractor/typedatabase.h create mode 100644 sources/shiboken6/ApiExtractor/typedatabase_p.h create mode 100644 sources/shiboken6/ApiExtractor/typedatabase_typedefs.h create mode 100644 sources/shiboken6/ApiExtractor/typedefentry.h create mode 100644 sources/shiboken6/ApiExtractor/typeparser.cpp create mode 100644 sources/shiboken6/ApiExtractor/typeparser.h create mode 100644 sources/shiboken6/ApiExtractor/typesystem.cpp create mode 100644 sources/shiboken6/ApiExtractor/typesystem.h create mode 100644 sources/shiboken6/ApiExtractor/typesystem_enums.h create mode 100644 sources/shiboken6/ApiExtractor/typesystem_typedefs.h create mode 100644 sources/shiboken6/ApiExtractor/typesystemparser.cpp create mode 100644 sources/shiboken6/ApiExtractor/typesystemparser_p.h create mode 100644 sources/shiboken6/ApiExtractor/typesystemtypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/usingmember.h create mode 100644 sources/shiboken6/ApiExtractor/valuetypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/varargstypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/voidtypeentry.h create mode 100644 sources/shiboken6/ApiExtractor/xmlutils.cpp create mode 100644 sources/shiboken6/ApiExtractor/xmlutils.h create mode 100644 sources/shiboken6/ApiExtractor/xmlutils_libxslt.cpp create mode 100644 sources/shiboken6/ApiExtractor/xmlutils_libxslt.h create mode 100644 sources/shiboken6/ApiExtractor/xmlutils_qt.h create mode 100644 sources/shiboken6/CMakeLists.txt create mode 100644 sources/shiboken6/COPYING create mode 100644 sources/shiboken6/COPYING.libsample create mode 100644 sources/shiboken6/COPYING.libshiboken create mode 100644 sources/shiboken6/Doxyfile create mode 100644 sources/shiboken6/cmake/FindDocTools.cmake create mode 100644 sources/shiboken6/cmake/ShibokenHelpers.cmake create mode 100644 sources/shiboken6/cmake/ShibokenSetup.cmake create mode 100644 sources/shiboken6/cmake_uninstall.cmake create mode 100644 sources/shiboken6/config.tests/target_python_info/CMakeLists.txt create mode 100644 sources/shiboken6/config.tests/target_qt_info/CMakeLists.txt create mode 100644 sources/shiboken6/config.tests/target_qt_mkspec/CMakeLists.txt create mode 100644 sources/shiboken6/data/CMakeLists.txt create mode 100644 sources/shiboken6/data/GeneratorRunnerConfig.cmake.in create mode 100644 sources/shiboken6/data/GeneratorRunnerConfigVersion.cmake.in create mode 100644 sources/shiboken6/data/Shiboken6Config-spec.cmake.in create mode 100644 sources/shiboken6/data/Shiboken6Config.cmake.in create mode 100644 sources/shiboken6/data/Shiboken6ConfigVersion.cmake.in create mode 100644 sources/shiboken6/data/Shiboken6ToolsConfig.cmake.in create mode 120000 sources/shiboken6/data/docgenerator.1 create mode 100644 sources/shiboken6/data/generatorrunner.1 create mode 100644 sources/shiboken6/data/generatorrunner.pc.in create mode 100644 sources/shiboken6/data/shiboken6.pc.in create mode 100644 sources/shiboken6/doc/CMakeLists.txt create mode 100644 sources/shiboken6/doc/README.md create mode 100644 sources/shiboken6/doc/_static/css/qt_font.css create mode 100644 sources/shiboken6/doc/_static/css/qt_style.css create mode 100644 sources/shiboken6/doc/_static/qtforpython.png create mode 100644 sources/shiboken6/doc/_static/shiboken.png create mode 100644 sources/shiboken6/doc/_static/shiboken.svg create mode 100644 sources/shiboken6/doc/_templates/index.html create mode 100644 sources/shiboken6/doc/_templates/layout.html create mode 100644 sources/shiboken6/doc/_themes/pysidedocs_qthelp/domainindex.html create mode 100644 sources/shiboken6/doc/_themes/pysidedocs_qthelp/static/fakebar.png create mode 100644 sources/shiboken6/doc/_themes/pysidedocs_qthelp/static/logo_python.jpg create mode 100644 sources/shiboken6/doc/_themes/pysidedocs_qthelp/static/logo_qt.png create mode 100644 sources/shiboken6/doc/_themes/pysidedocs_qthelp/static/minus.png create mode 100644 sources/shiboken6/doc/_themes/pysidedocs_qthelp/static/plus.png create mode 100644 sources/shiboken6/doc/_themes/pysidedocs_qthelp/static/pyside.css create mode 100644 sources/shiboken6/doc/_themes/pysidedocs_qthelp/static/pysidelogo.png create mode 100644 sources/shiboken6/doc/_themes/pysidedocs_qthelp/static/relbar_bg.png create mode 100644 sources/shiboken6/doc/_themes/pysidedocs_qthelp/theme.conf create mode 100644 sources/shiboken6/doc/conf.py.in create mode 100644 sources/shiboken6/doc/considerations.rst create mode 100644 sources/shiboken6/doc/dependency-pyside.svg create mode 100644 sources/shiboken6/doc/examples/index.rst create mode 100644 sources/shiboken6/doc/gettingstarted.rst create mode 100644 sources/shiboken6/doc/images/.directory create mode 100644 sources/shiboken6/doc/images/bindinggen-development.png create mode 100644 sources/shiboken6/doc/images/bindinggen-development.svg create mode 100644 sources/shiboken6/doc/images/converter.png create mode 100644 sources/shiboken6/doc/images/converter.svg create mode 100644 sources/shiboken6/doc/images/icecream.png create mode 100644 sources/shiboken6/doc/images/qtforpython-underthehood.png create mode 100644 sources/shiboken6/doc/images/qtforpython-underthehood.svg create mode 100644 sources/shiboken6/doc/images/shibokenqtarch.png create mode 100644 sources/shiboken6/doc/images/shibokenqtarch.svg create mode 100644 sources/shiboken6/doc/index.rst create mode 100644 sources/shiboken6/doc/scripts/patch_qhp.py create mode 100644 sources/shiboken6/doc/shibokengenerator.rst create mode 100644 sources/shiboken6/doc/shibokenmodule.rst create mode 100644 sources/shiboken6/doc/typesystem.rst create mode 100644 sources/shiboken6/doc/typesystem_arguments.rst create mode 100644 sources/shiboken6/doc/typesystem_builtin_types.rst create mode 100644 sources/shiboken6/doc/typesystem_codegeneration.rst create mode 100644 sources/shiboken6/doc/typesystem_codeinjection.rst create mode 100644 sources/shiboken6/doc/typesystem_containers.rst create mode 100644 sources/shiboken6/doc/typesystem_conversionrule.rst create mode 100644 sources/shiboken6/doc/typesystem_converters.rst create mode 100644 sources/shiboken6/doc/typesystem_documentation.rst create mode 100644 sources/shiboken6/doc/typesystem_manipulating_objects.rst create mode 100644 sources/shiboken6/doc/typesystem_modify_function.rst create mode 100644 sources/shiboken6/doc/typesystem_ownership.rst create mode 100644 sources/shiboken6/doc/typesystem_solving_compilation.rst create mode 100644 sources/shiboken6/doc/typesystem_specialfunctions.rst create mode 100644 sources/shiboken6/doc/typesystem_specifying_types.rst create mode 100644 sources/shiboken6/doc/typesystem_templates.rst create mode 100644 sources/shiboken6/doc/typesystem_variables.rst create mode 100644 sources/shiboken6/generator/CMakeLists.txt create mode 100644 sources/shiboken6/generator/__init__.py.in create mode 100644 sources/shiboken6/generator/_config.py.in create mode 100644 sources/shiboken6/generator/defaultvalue.cpp create mode 100644 sources/shiboken6/generator/defaultvalue.h create mode 100644 sources/shiboken6/generator/generator.cpp create mode 100644 sources/shiboken6/generator/generator.h create mode 100644 sources/shiboken6/generator/generatorcontext.cpp create mode 100644 sources/shiboken6/generator/generatorcontext.h create mode 100644 sources/shiboken6/generator/main.cpp create mode 100644 sources/shiboken6/generator/qtdoc/qtdocgenerator.cpp create mode 100644 sources/shiboken6/generator/qtdoc/qtdocgenerator.h create mode 100644 sources/shiboken6/generator/qtdoc/qtxmltosphinx.cpp create mode 100644 sources/shiboken6/generator/qtdoc/qtxmltosphinx.h create mode 100644 sources/shiboken6/generator/qtdoc/qtxmltosphinxinterface.h create mode 100644 sources/shiboken6/generator/qtdoc/rstformat.h create mode 100644 sources/shiboken6/generator/shiboken/configurablescope.h create mode 100644 sources/shiboken6/generator/shiboken/cppgenerator.cpp create mode 100644 sources/shiboken6/generator/shiboken/cppgenerator.h create mode 100644 sources/shiboken6/generator/shiboken/cppgenerator_container.cpp create mode 100644 sources/shiboken6/generator/shiboken/ctypenames.h create mode 100644 sources/shiboken6/generator/shiboken/generatorargument.cpp create mode 100644 sources/shiboken6/generator/shiboken/generatorargument.h create mode 100644 sources/shiboken6/generator/shiboken/headergenerator.cpp create mode 100644 sources/shiboken6/generator/shiboken/headergenerator.h create mode 100644 sources/shiboken6/generator/shiboken/overloaddata.cpp create mode 100644 sources/shiboken6/generator/shiboken/overloaddata.h create mode 100644 sources/shiboken6/generator/shiboken/pytypenames.h create mode 100644 sources/shiboken6/generator/shiboken/shibokengenerator.cpp create mode 100644 sources/shiboken6/generator/shiboken/shibokengenerator.h create mode 100644 sources/shiboken6/generator/shibokenconfig.h.in create mode 100644 sources/shiboken6/generatorrunnerconfig.h.in create mode 100644 sources/shiboken6/generatorrunnermacros.h create mode 100644 sources/shiboken6/generators/shiboken/shiboken.cpp create mode 100644 sources/shiboken6/icecc.cmake create mode 100644 sources/shiboken6/libshiboken/CMakeLists.txt create mode 100644 sources/shiboken6/libshiboken/autodecref.h create mode 100644 sources/shiboken6/libshiboken/basewrapper.cpp create mode 100644 sources/shiboken6/libshiboken/basewrapper.h create mode 100644 sources/shiboken6/libshiboken/basewrapper_p.h create mode 100644 sources/shiboken6/libshiboken/bindingmanager.cpp create mode 100644 sources/shiboken6/libshiboken/bindingmanager.h create mode 100644 sources/shiboken6/libshiboken/bufferprocs_py37.cpp create mode 100644 sources/shiboken6/libshiboken/bufferprocs_py37.h create mode 100644 sources/shiboken6/libshiboken/debugfreehook.cpp create mode 100644 sources/shiboken6/libshiboken/debugfreehook.h create mode 100644 sources/shiboken6/libshiboken/embed/embedding_generator.py create mode 100644 sources/shiboken6/libshiboken/embed/module_collector.py create mode 100644 sources/shiboken6/libshiboken/embed/qt_python_license.txt create mode 100644 sources/shiboken6/libshiboken/embed/signature_bootstrap.py create mode 100644 sources/shiboken6/libshiboken/gilstate.cpp create mode 100644 sources/shiboken6/libshiboken/gilstate.h create mode 100644 sources/shiboken6/libshiboken/helper.cpp create mode 100644 sources/shiboken6/libshiboken/helper.h create mode 100644 sources/shiboken6/libshiboken/pep384_issue33738.cpp create mode 100644 sources/shiboken6/libshiboken/pep384impl.cpp create mode 100644 sources/shiboken6/libshiboken/pep384impl.h create mode 100644 sources/shiboken6/libshiboken/qt_attribution.json create mode 100644 sources/shiboken6/libshiboken/sbkarrayconverter.cpp create mode 100644 sources/shiboken6/libshiboken/sbkarrayconverter.h create mode 100644 sources/shiboken6/libshiboken/sbkarrayconverter_p.h create mode 100644 sources/shiboken6/libshiboken/sbkcontainer.cpp create mode 100644 sources/shiboken6/libshiboken/sbkcontainer.h create mode 100644 sources/shiboken6/libshiboken/sbkconverter.cpp create mode 100644 sources/shiboken6/libshiboken/sbkconverter.h create mode 100644 sources/shiboken6/libshiboken/sbkconverter_p.h create mode 100644 sources/shiboken6/libshiboken/sbkcppstring.cpp create mode 100644 sources/shiboken6/libshiboken/sbkcppstring.h create mode 100644 sources/shiboken6/libshiboken/sbkcpptonumpy.cpp create mode 100644 sources/shiboken6/libshiboken/sbkcpptonumpy.h create mode 100644 sources/shiboken6/libshiboken/sbkenum.cpp create mode 100644 sources/shiboken6/libshiboken/sbkenum.h create mode 100644 sources/shiboken6/libshiboken/sbkenum_p.h create mode 100644 sources/shiboken6/libshiboken/sbkerrors.cpp create mode 100644 sources/shiboken6/libshiboken/sbkerrors.h create mode 100644 sources/shiboken6/libshiboken/sbkfeature_base.cpp create mode 100644 sources/shiboken6/libshiboken/sbkfeature_base.h create mode 100644 sources/shiboken6/libshiboken/sbkmodule.cpp create mode 100644 sources/shiboken6/libshiboken/sbkmodule.h create mode 100644 sources/shiboken6/libshiboken/sbknumpy.cpp create mode 100644 sources/shiboken6/libshiboken/sbknumpyarrayconverter.cpp create mode 100644 sources/shiboken6/libshiboken/sbknumpycheck.h create mode 100644 sources/shiboken6/libshiboken/sbknumpyview.cpp create mode 100644 sources/shiboken6/libshiboken/sbknumpyview.h create mode 100644 sources/shiboken6/libshiboken/sbkpython.h create mode 100644 sources/shiboken6/libshiboken/sbkstaticstrings.cpp create mode 100644 sources/shiboken6/libshiboken/sbkstaticstrings.h create mode 100644 sources/shiboken6/libshiboken/sbkstaticstrings_p.h create mode 100644 sources/shiboken6/libshiboken/sbkstring.cpp create mode 100644 sources/shiboken6/libshiboken/sbkstring.h create mode 100644 sources/shiboken6/libshiboken/sbktypefactory.cpp create mode 100644 sources/shiboken6/libshiboken/sbktypefactory.h create mode 100644 sources/shiboken6/libshiboken/sbkversion.h.in create mode 100644 sources/shiboken6/libshiboken/sbkwindows.h create mode 100644 sources/shiboken6/libshiboken/shiboken.h create mode 100644 sources/shiboken6/libshiboken/shibokenbuffer.cpp create mode 100644 sources/shiboken6/libshiboken/shibokenbuffer.h create mode 100644 sources/shiboken6/libshiboken/shibokenmacros.h create mode 100644 sources/shiboken6/libshiboken/signature.h create mode 100644 sources/shiboken6/libshiboken/signature/signature.cpp create mode 100644 sources/shiboken6/libshiboken/signature/signature_extend.cpp create mode 100644 sources/shiboken6/libshiboken/signature/signature_globals.cpp create mode 100644 sources/shiboken6/libshiboken/signature/signature_helper.cpp create mode 100644 sources/shiboken6/libshiboken/signature_p.h create mode 100644 sources/shiboken6/libshiboken/threadstatesaver.cpp create mode 100644 sources/shiboken6/libshiboken/threadstatesaver.h create mode 100644 sources/shiboken6/libshiboken/voidptr.cpp create mode 100644 sources/shiboken6/libshiboken/voidptr.h create mode 100755 sources/shiboken6/shiboken_tool.py create mode 100644 sources/shiboken6/shiboken_version.py create mode 100644 sources/shiboken6/shibokenmodule/CMakeLists.txt create mode 100644 sources/shiboken6/shibokenmodule/Shiboken.pyi create mode 100644 sources/shiboken6/shibokenmodule/__init__.py.in create mode 100644 sources/shiboken6/shibokenmodule/_config.py.in create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/__init__.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/feature.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/fix-complaints.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/shibokensupport.pyproject create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/PSF-3.7.0.txt create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/__init__.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/errorhandler.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/importhandler.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/layout.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/__init__.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/pyi_generator.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/lib/tool.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/loader.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/mapping.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/parser.py create mode 100644 sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/qt_attribution.json create mode 100644 sources/shiboken6/shibokenmodule/nothing.h create mode 100644 sources/shiboken6/shibokenmodule/py.typed.in create mode 100644 sources/shiboken6/shibokenmodule/shibokenmodule.txt.in create mode 100644 sources/shiboken6/shibokenmodule/typesystem_shiboken.xml create mode 100644 sources/shiboken6/tests/CMakeLists.txt create mode 100644 sources/shiboken6/tests/dumpcodemodel/CMakeLists.txt create mode 100644 sources/shiboken6/tests/dumpcodemodel/main.cpp create mode 100644 sources/shiboken6/tests/libminimal/CMakeLists.txt create mode 100644 sources/shiboken6/tests/libminimal/containeruser.cpp create mode 100644 sources/shiboken6/tests/libminimal/containeruser.h create mode 100644 sources/shiboken6/tests/libminimal/libminimalmacros.h create mode 100644 sources/shiboken6/tests/libminimal/listuser.cpp create mode 100644 sources/shiboken6/tests/libminimal/listuser.h create mode 100644 sources/shiboken6/tests/libminimal/minbool.h create mode 100644 sources/shiboken6/tests/libminimal/obj.cpp create mode 100644 sources/shiboken6/tests/libminimal/obj.h create mode 100644 sources/shiboken6/tests/libminimal/spanuser.cpp create mode 100644 sources/shiboken6/tests/libminimal/spanuser.h create mode 100644 sources/shiboken6/tests/libminimal/typedef.cpp create mode 100644 sources/shiboken6/tests/libminimal/typedef.h create mode 100644 sources/shiboken6/tests/libminimal/val.h create mode 100644 sources/shiboken6/tests/libother/CMakeLists.txt create mode 100644 sources/shiboken6/tests/libother/extendsnoimplicitconversion.h create mode 100644 sources/shiboken6/tests/libother/libothermacros.h create mode 100644 sources/shiboken6/tests/libother/number.cpp create mode 100644 sources/shiboken6/tests/libother/number.h create mode 100644 sources/shiboken6/tests/libother/otherderived.cpp create mode 100644 sources/shiboken6/tests/libother/otherderived.h create mode 100644 sources/shiboken6/tests/libother/othermultiplederived.cpp create mode 100644 sources/shiboken6/tests/libother/othermultiplederived.h create mode 100644 sources/shiboken6/tests/libother/otherobjecttype.cpp create mode 100644 sources/shiboken6/tests/libother/otherobjecttype.h create mode 100644 sources/shiboken6/tests/libother/othertypesystypedef.cpp create mode 100644 sources/shiboken6/tests/libother/othertypesystypedef.h create mode 100644 sources/shiboken6/tests/libother/smartptrtester.cpp create mode 100644 sources/shiboken6/tests/libother/smartptrtester.h create mode 100644 sources/shiboken6/tests/libsample/CMakeLists.txt create mode 100644 sources/shiboken6/tests/libsample/abstract.cpp create mode 100644 sources/shiboken6/tests/libsample/abstract.h create mode 100644 sources/shiboken6/tests/libsample/blackbox.cpp create mode 100644 sources/shiboken6/tests/libsample/blackbox.h create mode 100644 sources/shiboken6/tests/libsample/bucket.cpp create mode 100644 sources/shiboken6/tests/libsample/bucket.h create mode 100644 sources/shiboken6/tests/libsample/bytearray.cpp create mode 100644 sources/shiboken6/tests/libsample/bytearray.h create mode 100644 sources/shiboken6/tests/libsample/collector.cpp create mode 100644 sources/shiboken6/tests/libsample/collector.h create mode 100644 sources/shiboken6/tests/libsample/complex.cpp create mode 100644 sources/shiboken6/tests/libsample/complex.h create mode 100644 sources/shiboken6/tests/libsample/ctorconvrule.h create mode 100644 sources/shiboken6/tests/libsample/ctparam.cpp create mode 100644 sources/shiboken6/tests/libsample/ctparam.h create mode 100644 sources/shiboken6/tests/libsample/cvlist.h create mode 100644 sources/shiboken6/tests/libsample/derived.cpp create mode 100644 sources/shiboken6/tests/libsample/derived.h create mode 100644 sources/shiboken6/tests/libsample/derivedusingct.cpp create mode 100644 sources/shiboken6/tests/libsample/derivedusingct.h create mode 100644 sources/shiboken6/tests/libsample/echo.cpp create mode 100644 sources/shiboken6/tests/libsample/echo.h create mode 100644 sources/shiboken6/tests/libsample/exceptiontest.cpp create mode 100644 sources/shiboken6/tests/libsample/exceptiontest.h create mode 100644 sources/shiboken6/tests/libsample/expression.cpp create mode 100644 sources/shiboken6/tests/libsample/expression.h create mode 100644 sources/shiboken6/tests/libsample/filter.cpp create mode 100644 sources/shiboken6/tests/libsample/filter.h create mode 100644 sources/shiboken6/tests/libsample/functions.cpp create mode 100644 sources/shiboken6/tests/libsample/functions.h create mode 100644 sources/shiboken6/tests/libsample/handle.cpp create mode 100644 sources/shiboken6/tests/libsample/handle.h create mode 100644 sources/shiboken6/tests/libsample/implicitconv.cpp create mode 100644 sources/shiboken6/tests/libsample/implicitconv.h create mode 100644 sources/shiboken6/tests/libsample/injectcode.cpp create mode 100644 sources/shiboken6/tests/libsample/injectcode.h create mode 100644 sources/shiboken6/tests/libsample/intwrapper.cpp create mode 100644 sources/shiboken6/tests/libsample/intwrapper.h create mode 100644 sources/shiboken6/tests/libsample/libsamplemacros.h create mode 100644 sources/shiboken6/tests/libsample/list.h create mode 100644 sources/shiboken6/tests/libsample/listuser.cpp create mode 100644 sources/shiboken6/tests/libsample/listuser.h create mode 100644 sources/shiboken6/tests/libsample/main.cpp create mode 100644 sources/shiboken6/tests/libsample/mapuser.cpp create mode 100644 sources/shiboken6/tests/libsample/mapuser.h create mode 100644 sources/shiboken6/tests/libsample/modelindex.h create mode 100644 sources/shiboken6/tests/libsample/modifications.cpp create mode 100644 sources/shiboken6/tests/libsample/modifications.h create mode 100644 sources/shiboken6/tests/libsample/modified_constructor.cpp create mode 100644 sources/shiboken6/tests/libsample/modified_constructor.h create mode 100644 sources/shiboken6/tests/libsample/multiple_derived.cpp create mode 100644 sources/shiboken6/tests/libsample/multiple_derived.h create mode 100644 sources/shiboken6/tests/libsample/noimplicitconversion.h create mode 100644 sources/shiboken6/tests/libsample/nondefaultctor.h create mode 100644 sources/shiboken6/tests/libsample/nontypetemplate.h create mode 100644 sources/shiboken6/tests/libsample/null.h create mode 100644 sources/shiboken6/tests/libsample/objectmodel.cpp create mode 100644 sources/shiboken6/tests/libsample/objectmodel.h create mode 100644 sources/shiboken6/tests/libsample/objecttype.cpp create mode 100644 sources/shiboken6/tests/libsample/objecttype.h create mode 100644 sources/shiboken6/tests/libsample/objecttypebyvalue.h create mode 100644 sources/shiboken6/tests/libsample/objecttypeholder.cpp create mode 100644 sources/shiboken6/tests/libsample/objecttypeholder.h create mode 100644 sources/shiboken6/tests/libsample/objecttypelayout.cpp create mode 100644 sources/shiboken6/tests/libsample/objecttypelayout.h create mode 100644 sources/shiboken6/tests/libsample/objecttypeoperators.cpp create mode 100644 sources/shiboken6/tests/libsample/objecttypeoperators.h create mode 100644 sources/shiboken6/tests/libsample/objectview.cpp create mode 100644 sources/shiboken6/tests/libsample/objectview.h create mode 100644 sources/shiboken6/tests/libsample/oddbool.cpp create mode 100644 sources/shiboken6/tests/libsample/oddbool.h create mode 100644 sources/shiboken6/tests/libsample/onlycopy.cpp create mode 100644 sources/shiboken6/tests/libsample/onlycopy.h create mode 100644 sources/shiboken6/tests/libsample/overload.cpp create mode 100644 sources/shiboken6/tests/libsample/overload.h create mode 100644 sources/shiboken6/tests/libsample/overloadsort.cpp create mode 100644 sources/shiboken6/tests/libsample/overloadsort.h create mode 100644 sources/shiboken6/tests/libsample/pairuser.cpp create mode 100644 sources/shiboken6/tests/libsample/pairuser.h create mode 100644 sources/shiboken6/tests/libsample/pen.cpp create mode 100644 sources/shiboken6/tests/libsample/pen.h create mode 100644 sources/shiboken6/tests/libsample/photon.cpp create mode 100644 sources/shiboken6/tests/libsample/photon.h create mode 100644 sources/shiboken6/tests/libsample/point.cpp create mode 100644 sources/shiboken6/tests/libsample/point.h create mode 100644 sources/shiboken6/tests/libsample/pointerholder.h create mode 100644 sources/shiboken6/tests/libsample/pointf.cpp create mode 100644 sources/shiboken6/tests/libsample/pointf.h create mode 100644 sources/shiboken6/tests/libsample/polygon.cpp create mode 100644 sources/shiboken6/tests/libsample/polygon.h create mode 100644 sources/shiboken6/tests/libsample/privatector.h create mode 100644 sources/shiboken6/tests/libsample/privatedtor.h create mode 100644 sources/shiboken6/tests/libsample/protected.cpp create mode 100644 sources/shiboken6/tests/libsample/protected.h create mode 100644 sources/shiboken6/tests/libsample/rect.h create mode 100644 sources/shiboken6/tests/libsample/reference.cpp create mode 100644 sources/shiboken6/tests/libsample/reference.h create mode 100644 sources/shiboken6/tests/libsample/removednamespaces.h create mode 100644 sources/shiboken6/tests/libsample/renaming.cpp create mode 100644 sources/shiboken6/tests/libsample/renaming.h create mode 100644 sources/shiboken6/tests/libsample/sample.cpp create mode 100644 sources/shiboken6/tests/libsample/sample.h create mode 100644 sources/shiboken6/tests/libsample/samplenamespace.cpp create mode 100644 sources/shiboken6/tests/libsample/samplenamespace.h create mode 100644 sources/shiboken6/tests/libsample/sbkdate.cpp create mode 100644 sources/shiboken6/tests/libsample/sbkdate.h create mode 100644 sources/shiboken6/tests/libsample/simplefile.cpp create mode 100644 sources/shiboken6/tests/libsample/simplefile.h create mode 100644 sources/shiboken6/tests/libsample/size.cpp create mode 100644 sources/shiboken6/tests/libsample/size.h create mode 100644 sources/shiboken6/tests/libsample/snakecasetest.cpp create mode 100644 sources/shiboken6/tests/libsample/snakecasetest.h create mode 100644 sources/shiboken6/tests/libsample/sometime.cpp create mode 100644 sources/shiboken6/tests/libsample/sometime.h create mode 100644 sources/shiboken6/tests/libsample/str.cpp create mode 100644 sources/shiboken6/tests/libsample/str.h create mode 100644 sources/shiboken6/tests/libsample/strlist.cpp create mode 100644 sources/shiboken6/tests/libsample/strlist.h create mode 100644 sources/shiboken6/tests/libsample/templateptr.cpp create mode 100644 sources/shiboken6/tests/libsample/templateptr.h create mode 100644 sources/shiboken6/tests/libsample/transform.cpp create mode 100644 sources/shiboken6/tests/libsample/transform.h create mode 100644 sources/shiboken6/tests/libsample/typesystypedef.cpp create mode 100644 sources/shiboken6/tests/libsample/typesystypedef.h create mode 100644 sources/shiboken6/tests/libsample/valueandvirtual.h create mode 100644 sources/shiboken6/tests/libsample/virtualmethods.cpp create mode 100644 sources/shiboken6/tests/libsample/virtualmethods.h create mode 100644 sources/shiboken6/tests/libsample/voidholder.h create mode 100644 sources/shiboken6/tests/libsmart/CMakeLists.txt create mode 100644 sources/shiboken6/tests/libsmart/libsmartmacros.h create mode 100644 sources/shiboken6/tests/libsmart/smart.cpp create mode 100644 sources/shiboken6/tests/libsmart/smart.h create mode 100644 sources/shiboken6/tests/libsmart/smart_integer.h create mode 100644 sources/shiboken6/tests/libsmart/smart_obj.h create mode 100644 sources/shiboken6/tests/libsmart/smart_registry.h create mode 100644 sources/shiboken6/tests/libsmart/smart_sharedptr.h create mode 100644 sources/shiboken6/tests/libsmart/smart_test.h create mode 100644 sources/shiboken6/tests/libsmart/stdoptionaltestbench.cpp create mode 100644 sources/shiboken6/tests/libsmart/stdoptionaltestbench.h create mode 100644 sources/shiboken6/tests/libsmart/stdsharedptrtestbench.cpp create mode 100644 sources/shiboken6/tests/libsmart/stdsharedptrtestbench.h create mode 100644 sources/shiboken6/tests/libsmart/stduniqueptrtestbench.cpp create mode 100644 sources/shiboken6/tests/libsmart/stduniqueptrtestbench.h create mode 100644 sources/shiboken6/tests/minimalbinding/CMakeLists.txt create mode 100644 sources/shiboken6/tests/minimalbinding/brace_pattern_test.py create mode 100644 sources/shiboken6/tests/minimalbinding/containeruser_test.py create mode 100644 sources/shiboken6/tests/minimalbinding/global.h create mode 100644 sources/shiboken6/tests/minimalbinding/listuser_test.py create mode 100644 sources/shiboken6/tests/minimalbinding/minbool_test.py create mode 100644 sources/shiboken6/tests/minimalbinding/minimal-binding.txt.in create mode 100644 sources/shiboken6/tests/minimalbinding/minimalbinding.pyproject create mode 100644 sources/shiboken6/tests/minimalbinding/obj_test.py create mode 100644 sources/shiboken6/tests/minimalbinding/spanuser_test.py create mode 100644 sources/shiboken6/tests/minimalbinding/typedef_test.py create mode 100644 sources/shiboken6/tests/minimalbinding/typesystem_minimal.xml create mode 100644 sources/shiboken6/tests/minimalbinding/val_test.py create mode 100644 sources/shiboken6/tests/otherbinding/CMakeLists.txt create mode 100644 sources/shiboken6/tests/otherbinding/collector_external_operator_test.py create mode 100644 sources/shiboken6/tests/otherbinding/conversion_operator_for_class_without_implicit_conversions_test.py create mode 100644 sources/shiboken6/tests/otherbinding/extended_multiply_operator_test.py create mode 100644 sources/shiboken6/tests/otherbinding/global.h create mode 100644 sources/shiboken6/tests/otherbinding/module_reload_test.py create mode 100644 sources/shiboken6/tests/otherbinding/new_ctor_operator_test.py create mode 100644 sources/shiboken6/tests/otherbinding/objtypehashes_test.py create mode 100644 sources/shiboken6/tests/otherbinding/other-binding.txt.in create mode 100644 sources/shiboken6/tests/otherbinding/otherbinding.pyproject create mode 100644 sources/shiboken6/tests/otherbinding/otherderived_test.py create mode 100644 sources/shiboken6/tests/otherbinding/othertypesystypedef_test.py create mode 100644 sources/shiboken6/tests/otherbinding/signature_test.py create mode 100644 sources/shiboken6/tests/otherbinding/smartptr_test.py create mode 100644 sources/shiboken6/tests/otherbinding/test_module_template.py create mode 100644 sources/shiboken6/tests/otherbinding/typediscovery_test.py create mode 100644 sources/shiboken6/tests/otherbinding/typesystem_other.xml create mode 100644 sources/shiboken6/tests/otherbinding/usersprimitivefromothermodule_test.py create mode 100644 sources/shiboken6/tests/otherbinding/wrongctor_test.py create mode 100644 sources/shiboken6/tests/qtxmltosphinx/CMakeLists.txt create mode 100644 sources/shiboken6/tests/qtxmltosphinx/main.cpp create mode 100644 sources/shiboken6/tests/qtxmltosphinxtest/CMakeLists.txt create mode 100644 sources/shiboken6/tests/qtxmltosphinxtest/qtxmltosphinxtest.cpp create mode 100644 sources/shiboken6/tests/qtxmltosphinxtest/qtxmltosphinxtest.h create mode 100644 sources/shiboken6/tests/samplebinding/CMakeLists.txt create mode 100644 sources/shiboken6/tests/samplebinding/__del___test.py create mode 100644 sources/shiboken6/tests/samplebinding/abstract_test.py create mode 100644 sources/shiboken6/tests/samplebinding/addedfunction_test.py create mode 100644 sources/shiboken6/tests/samplebinding/addedfunction_with_container_args_test.py create mode 100644 sources/shiboken6/tests/samplebinding/argumentmodifications_test.py create mode 100644 sources/shiboken6/tests/samplebinding/array_numpy_test.py create mode 100644 sources/shiboken6/tests/samplebinding/array_sequence_test.py create mode 100644 sources/shiboken6/tests/samplebinding/bug_554_test.py create mode 100644 sources/shiboken6/tests/samplebinding/bug_704_test.py create mode 100644 sources/shiboken6/tests/samplebinding/bytearray_test.py create mode 100644 sources/shiboken6/tests/samplebinding/child_return_test.py create mode 100644 sources/shiboken6/tests/samplebinding/class_fields_test.py create mode 100644 sources/shiboken6/tests/samplebinding/collector_test.py create mode 100644 sources/shiboken6/tests/samplebinding/complex_test.py create mode 100644 sources/shiboken6/tests/samplebinding/conversion_operator_test.py create mode 100644 sources/shiboken6/tests/samplebinding/copy_test.py create mode 100644 sources/shiboken6/tests/samplebinding/ctorconvrule_test.py create mode 100644 sources/shiboken6/tests/samplebinding/cyclic_test.py create mode 100644 sources/shiboken6/tests/samplebinding/date_test.py create mode 100644 sources/shiboken6/tests/samplebinding/decisor_test.py create mode 100644 sources/shiboken6/tests/samplebinding/delete_test.py create mode 100644 sources/shiboken6/tests/samplebinding/deprecated_test.py create mode 100644 sources/shiboken6/tests/samplebinding/derived_test.py create mode 100644 sources/shiboken6/tests/samplebinding/duck_punching_test.py create mode 100644 sources/shiboken6/tests/samplebinding/echo_test.py create mode 100644 sources/shiboken6/tests/samplebinding/enum_test.py create mode 100644 sources/shiboken6/tests/samplebinding/enumfromremovednamespace_test.py create mode 100644 sources/shiboken6/tests/samplebinding/event_loop_call_virtual_test.py create mode 100644 sources/shiboken6/tests/samplebinding/event_loop_thread_test.py create mode 100644 sources/shiboken6/tests/samplebinding/exception_test.py create mode 100644 sources/shiboken6/tests/samplebinding/filter_test.py create mode 100644 sources/shiboken6/tests/samplebinding/global.h create mode 100644 sources/shiboken6/tests/samplebinding/handleholder_test.py create mode 100644 sources/shiboken6/tests/samplebinding/hashabletype_test.py create mode 100644 sources/shiboken6/tests/samplebinding/ignorederefop_test.py create mode 100644 sources/shiboken6/tests/samplebinding/implicitconv_numerical_test.py create mode 100644 sources/shiboken6/tests/samplebinding/implicitconv_test.py create mode 100644 sources/shiboken6/tests/samplebinding/inheritanceandscope_test.py create mode 100644 sources/shiboken6/tests/samplebinding/injectcode_test.py create mode 100644 sources/shiboken6/tests/samplebinding/innerclass_test.py create mode 100644 sources/shiboken6/tests/samplebinding/intlist_test.py create mode 100644 sources/shiboken6/tests/samplebinding/intwrapper_test.py create mode 100644 sources/shiboken6/tests/samplebinding/invalid_virtual_return_test.py create mode 100644 sources/shiboken6/tests/samplebinding/keep_reference_test.py create mode 100644 sources/shiboken6/tests/samplebinding/list_test.py create mode 100644 sources/shiboken6/tests/samplebinding/lock_test.py create mode 100644 sources/shiboken6/tests/samplebinding/map_test.py create mode 100644 sources/shiboken6/tests/samplebinding/metaclass_test.py create mode 100644 sources/shiboken6/tests/samplebinding/mi_virtual_methods_test.py create mode 100644 sources/shiboken6/tests/samplebinding/mixed_mi_test.py create mode 100644 sources/shiboken6/tests/samplebinding/modelindex_test.py create mode 100644 sources/shiboken6/tests/samplebinding/modelview_test.py create mode 100644 sources/shiboken6/tests/samplebinding/modifications_test.py create mode 100644 sources/shiboken6/tests/samplebinding/modified_constructor_test.py create mode 100644 sources/shiboken6/tests/samplebinding/modifiedvirtualmethods_test.py create mode 100644 sources/shiboken6/tests/samplebinding/multi_cpp_inheritance_test.py create mode 100644 sources/shiboken6/tests/samplebinding/multiple_derived_test.py create mode 100644 sources/shiboken6/tests/samplebinding/namespace_test.py create mode 100644 sources/shiboken6/tests/samplebinding/newdivision_test.py create mode 100644 sources/shiboken6/tests/samplebinding/nondefaultctor_test.py create mode 100644 sources/shiboken6/tests/samplebinding/nontypetemplate_test.py create mode 100644 sources/shiboken6/tests/samplebinding/nonzero_test.py create mode 100644 sources/shiboken6/tests/samplebinding/numericaltypedef_test.py create mode 100644 sources/shiboken6/tests/samplebinding/numpy_test.py create mode 100644 sources/shiboken6/tests/samplebinding/objecttype_test.py create mode 100644 sources/shiboken6/tests/samplebinding/objecttype_with_named_args_test.py create mode 100644 sources/shiboken6/tests/samplebinding/objecttypebyvalue_test.py create mode 100644 sources/shiboken6/tests/samplebinding/objecttypelayout_test.py create mode 100644 sources/shiboken6/tests/samplebinding/objecttypeoperators_test.py create mode 100644 sources/shiboken6/tests/samplebinding/objecttypereferenceasvirtualmethodargument_test.py create mode 100644 sources/shiboken6/tests/samplebinding/oddbool_test.py create mode 100644 sources/shiboken6/tests/samplebinding/onlycopyclass_test.py create mode 100644 sources/shiboken6/tests/samplebinding/overflow_test.py create mode 100644 sources/shiboken6/tests/samplebinding/overload_sorting_test.py create mode 100644 sources/shiboken6/tests/samplebinding/overload_test.py create mode 100644 sources/shiboken6/tests/samplebinding/overloadwithdefault_test.py create mode 100644 sources/shiboken6/tests/samplebinding/ownership_argument_invalidation_test.py create mode 100644 sources/shiboken6/tests/samplebinding/ownership_delete_child_in_cpp_test.py create mode 100644 sources/shiboken6/tests/samplebinding/ownership_delete_child_in_python_test.py create mode 100644 sources/shiboken6/tests/samplebinding/ownership_delete_parent_test.py create mode 100644 sources/shiboken6/tests/samplebinding/ownership_invalidate_after_use_test.py create mode 100644 sources/shiboken6/tests/samplebinding/ownership_invalidate_child_test.py create mode 100644 sources/shiboken6/tests/samplebinding/ownership_invalidate_nonpolymorphic_test.py create mode 100644 sources/shiboken6/tests/samplebinding/ownership_invalidate_parent_test.py create mode 100644 sources/shiboken6/tests/samplebinding/ownership_reparenting_test.py create mode 100644 sources/shiboken6/tests/samplebinding/ownership_transference_test.py create mode 100644 sources/shiboken6/tests/samplebinding/pair_test.py create mode 100644 sources/shiboken6/tests/samplebinding/pen_test.py create mode 100644 sources/shiboken6/tests/samplebinding/point_test.py create mode 100644 sources/shiboken6/tests/samplebinding/pointerholder_test.py create mode 100644 sources/shiboken6/tests/samplebinding/pointerprimitivetype_test.py create mode 100644 sources/shiboken6/tests/samplebinding/pointf_test.py create mode 100644 sources/shiboken6/tests/samplebinding/primitivereferenceargument_test.py create mode 100644 sources/shiboken6/tests/samplebinding/privatector_test.py create mode 100644 sources/shiboken6/tests/samplebinding/privatedtor_test.py create mode 100644 sources/shiboken6/tests/samplebinding/protected_test.py create mode 100644 sources/shiboken6/tests/samplebinding/pstrlist_test.py create mode 100644 sources/shiboken6/tests/samplebinding/pystr_test.py create mode 100644 sources/shiboken6/tests/samplebinding/python_thread_test.py create mode 100644 sources/shiboken6/tests/samplebinding/receive_null_cstring_test.py create mode 100644 sources/shiboken6/tests/samplebinding/reference_test.py create mode 100644 sources/shiboken6/tests/samplebinding/referencetopointer_test.py create mode 100644 sources/shiboken6/tests/samplebinding/renaming_test.py create mode 100644 sources/shiboken6/tests/samplebinding/return_null_test.py create mode 100644 sources/shiboken6/tests/samplebinding/richcompare_test.py create mode 100644 sources/shiboken6/tests/samplebinding/sample-binding.txt.in create mode 100644 sources/shiboken6/tests/samplebinding/sample_test.py create mode 100644 sources/shiboken6/tests/samplebinding/samplebinding.pyproject create mode 100644 sources/shiboken6/tests/samplebinding/samplesnippets.cpp create mode 100644 sources/shiboken6/tests/samplebinding/simplefile_glue.cpp create mode 100644 sources/shiboken6/tests/samplebinding/simplefile_test.py create mode 100644 sources/shiboken6/tests/samplebinding/size_test.py create mode 100644 sources/shiboken6/tests/samplebinding/snakecase_test.py create mode 100644 sources/shiboken6/tests/samplebinding/static_nonstatic_methods_test.py create mode 100644 sources/shiboken6/tests/samplebinding/str_test.py create mode 100644 sources/shiboken6/tests/samplebinding/strlist_test.py create mode 100644 sources/shiboken6/tests/samplebinding/templateinheritingclass_test.py create mode 100644 sources/shiboken6/tests/samplebinding/time_test.py create mode 100644 sources/shiboken6/tests/samplebinding/transform_test.py create mode 100644 sources/shiboken6/tests/samplebinding/typeconverters_test.py create mode 100644 sources/shiboken6/tests/samplebinding/typedealloc_test.py create mode 100644 sources/shiboken6/tests/samplebinding/typedtordoublefree_test.py create mode 100644 sources/shiboken6/tests/samplebinding/typesystem_sample.xml create mode 100644 sources/shiboken6/tests/samplebinding/typesystypedef_test.py create mode 100644 sources/shiboken6/tests/samplebinding/unsafe_parent_test.py create mode 100644 sources/shiboken6/tests/samplebinding/useraddedctor_test.py create mode 100644 sources/shiboken6/tests/samplebinding/virtualdtor_test.py create mode 100644 sources/shiboken6/tests/samplebinding/virtualmethods_test.py create mode 100644 sources/shiboken6/tests/samplebinding/visibilitychange_test.py create mode 100644 sources/shiboken6/tests/samplebinding/voidholder_test.py create mode 100644 sources/shiboken6/tests/samplebinding/weakref_test.py create mode 100644 sources/shiboken6/tests/samplebinding/writableclassdict_test.py create mode 100644 sources/shiboken6/tests/shiboken_paths.py create mode 100644 sources/shiboken6/tests/shiboken_test_helper.py create mode 100644 sources/shiboken6/tests/shibokenmodule/module_test.py create mode 100644 sources/shiboken6/tests/smartbinding/CMakeLists.txt create mode 100644 sources/shiboken6/tests/smartbinding/global.h create mode 100644 sources/shiboken6/tests/smartbinding/smart-binding.txt.in create mode 100644 sources/shiboken6/tests/smartbinding/smart_pointer_test.py create mode 100644 sources/shiboken6/tests/smartbinding/smartbinding.pyproject create mode 100644 sources/shiboken6/tests/smartbinding/std_optional_test.py create mode 100644 sources/shiboken6/tests/smartbinding/std_shared_ptr_test.py create mode 100644 sources/shiboken6/tests/smartbinding/std_unique_ptr_test.py create mode 100644 sources/shiboken6/tests/smartbinding/typesystem_smart.xml create mode 100644 sources/shiboken6/tests/test_generator/CMakeLists.txt create mode 100644 sources/shiboken6/tests/test_generator/dummygenerator.cpp create mode 100644 sources/shiboken6/tests/test_generator/dummygenerator.h create mode 100644 sources/shiboken6/tests/test_generator/dummygentest-project.txt.in create mode 100644 sources/shiboken6/tests/test_generator/dummygentest.cpp create mode 100644 sources/shiboken6/tests/test_generator/dummygentest.h create mode 100644 sources/shiboken6/tests/test_generator/dummygentestconfig.h.in create mode 100644 sources/shiboken6/tests/test_generator/main.cpp create mode 100644 sources/shiboken6/tests/test_generator/run_test.cmake create mode 100644 sources/shiboken6/tests/test_generator/test_global.h create mode 100644 sources/shiboken6/tests/test_generator/test_typesystem.xml create mode 100644 testing/__init__.py create mode 100644 testing/blacklist.py create mode 100644 testing/buildlog.py create mode 100644 testing/command.py create mode 100644 testing/helper.py create mode 100644 testing/parser.py create mode 100644 testing/runner.py create mode 100644 testing/testing.pyproject create mode 100644 testing/wheel_tester.py create mode 100644 testrunner.py create mode 100644 tools/checklibs.py create mode 100644 tools/create_changelog.py create mode 100644 tools/cross_compile_android/main.py create mode 100644 tools/cross_compile_android/requirements.txt create mode 100644 tools/cross_compile_android/templates/cross_compile.tmpl.sh create mode 100644 tools/cross_compile_android/templates/toolchain_default.tmpl.cmake create mode 160000 "tools/cross_compile_android/tmp/\344\270\213\350\275\275/build_dir/cpython" create mode 100644 tools/debug_renamer.py create mode 100644 tools/debug_windows.py create mode 100644 tools/doc_modules.py create mode 100644 tools/dump_metaobject.py create mode 100644 tools/example_gallery/main.py create mode 100644 tools/leak_finder.py create mode 100644 tools/license_check.py create mode 100644 tools/metaobject_dump.py create mode 100644 tools/metaobject_dump.pyproject create mode 100644 tools/missing_bindings/config.py create mode 100644 tools/missing_bindings/main.py create mode 100644 tools/missing_bindings/requirements.txt create mode 100644 tools/qtcpp2py.py create mode 100644 tools/regenerate_example_resources.py create mode 100644 tools/regenerate_example_ui.py create mode 100644 tools/snippets_translate/README.md create mode 100644 tools/snippets_translate/converter.py create mode 100644 tools/snippets_translate/handlers.py create mode 100644 tools/snippets_translate/main.py create mode 100644 tools/snippets_translate/module_classes.py create mode 100644 tools/snippets_translate/override.py create mode 100644 tools/snippets_translate/parse_utils.py create mode 100644 tools/snippets_translate/requirements.txt create mode 100644 tools/snippets_translate/snippets_translate.pyproject create mode 100644 tools/snippets_translate/tests/test_converter.py create mode 100644 tools/snippets_translate/tests/test_snippets.py create mode 100644 tools/uic_test.py create mode 100644 wheel_artifacts/pyproject.toml create mode 100644 wheel_artifacts/setup.cfg.base create mode 100644 wheel_artifacts/setup.py.base diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..0848fed --- /dev/null +++ b/.gitattributes @@ -0,0 +1,15 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# Explicitly declare text files you want to always be normalized and converted +# to native line endings on checkout. +*.c text +*.h text +*.py text + +# Declare files that will always have CRLF line endings on checkout. +*.sln text eol=crlf + +# Denote all files that are truly binary and should not be modified. +*.png binary +*.jpg binary \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..27fd3ef --- /dev/null +++ b/.gitignore @@ -0,0 +1,159 @@ +## PySide6 +/pyside*_build +/pyside*_install +/PySide +/PySide-*.*.* +/SciTE.* +/pysideuic + +# Auto-generated snippets +sources/pyside6/doc/codesnippets/* + +# Auto-generated examples +sources/pyside6/doc/examples/* + +distribute-*.egg +distribute-*.tar.gz +explore2 +build_history/2* + +*.qdocconf +*.qdocconf.in + +*.egg-info +*.pyc + +## C++ + +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +## Python +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +/lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Translations +*.mo +*.pot + +# Sphinx documentation +docs/_build/ +html/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don’t work, or not +# install all needed dependencies. +#Pipfile.lock + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +## CMake +CMakeLists.txt.user +CMakeCache.txt +CMakeFiles +CMakeScripts +#Testing Conflicts with the testing directory +Makefile +cmake_install.cmake +install_manifest.txt +compile_commands.json +CTestTestfile.cmake +_deps diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..8429d3a --- /dev/null +++ b/.travis.yml @@ -0,0 +1,14 @@ +language: python +dist: trusty +python: + - "2.7" + - "3.5" +before_install: + - sudo add-apt-repository ppa:beineri/opt-qt551-trusty -y + - sudo apt-get update +install: + - sudo apt-get install qt55-meta-full -y +script: + - source /opt/qt55/bin/qt55-env.sh + - python setup.py install --jobs=2 --build-tests # --openssl=/path/to/openssl/bin + # how do we separate the build step and the tests, to see both as a result? diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..57f2286 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,16 @@ +{ + "editor.rulers": [ + 72, // comments and docstrings + 79, // desirable code length + 100 // maximum code length + ], + "python.testing.unittestArgs": [ + "-v", + "-s", + "./sources/pyside6/tests", + "-p", + "*_test.py" + ], + "python.testing.pytestEnabled": false, + "python.testing.unittestEnabled": true +} diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..f61a4f2 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,28 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.18) +cmake_policy(VERSION 3.18) + +set(CMAKE_BUILD_TYPE Release CACHE STRING "Build Type") + +project(pyside6_super_project) + +if (CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR) + message(FATAL_ERROR "In-source builds are not allowed.") +endif() + +# Used to prevent overriding message function in both shiboken6 and pyside6. +set(is_pyside6_superproject_build 1) + +add_subdirectory(sources/shiboken6) + +# Ensure Shiboken6 and Shiboken6Tools packags are found during super-build +list(APPEND CMAKE_PREFIX_PATH "${CMAKE_CURRENT_BINARY_DIR}/sources/shiboken6/data") +list(APPEND CMAKE_PREFIX_PATH "${CMAKE_CURRENT_BINARY_DIR}/sources/shiboken6/generator") +add_subdirectory(sources/pyside6) + +add_subdirectory(sources/pyside-tools) + +# Ensure PySide package is found during super-build +list(APPEND CMAKE_PREFIX_PATH "${CMAKE_CURRENT_BINARY_DIR}/sources/pyside6/libpyside") diff --git a/LICENSES/BSD-3-Clause.txt b/LICENSES/BSD-3-Clause.txt new file mode 100644 index 0000000..b91bbd8 --- /dev/null +++ b/LICENSES/BSD-3-Clause.txt @@ -0,0 +1,9 @@ +Copyright (c) . + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSES/GFDL-1.3-no-invariants-only.txt b/LICENSES/GFDL-1.3-no-invariants-only.txt new file mode 100644 index 0000000..857214d --- /dev/null +++ b/LICENSES/GFDL-1.3-no-invariants-only.txt @@ -0,0 +1,451 @@ + + GNU Free Documentation License + Version 1.3, 3 November 2008 + + + Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document "free" in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The "Document", below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as "you". You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall +subject (or to related matters) and contains nothing that could fall +directly within that overall subject. (Thus, if the Document is in +part a textbook of mathematics, a Secondary Section may not explain +any mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML, PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +The "publisher" means any person or entity that distributes copies of +the Document to the public. + +A section "Entitled XYZ" means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as "Acknowledgements", +"Dedications", "Endorsements", or "History".) To "Preserve the Title" +of such a section when you modify the Document means that it remains a +section "Entitled XYZ" according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no +other conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +3. COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to +give them a chance to provide you with an updated version of the +Document. + + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +A. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. +B. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. +C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. +D. Preserve all the copyright notices of the Document. +E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. +F. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. +G. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. +H. Include an unaltered copy of this License. +I. Preserve the section Entitled "History", Preserve its Title, and add + to it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section Entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. +J. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. +K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements + and/or dedications given therein. +L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. +M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. +N. Do not retitle any existing section to be Entitled "Endorsements" + or to conflict in title with any Invariant Section. +O. Preserve any Warranty Disclaimers. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled "History" +in the various original documents, forming one section Entitled +"History"; likewise combine any sections Entitled "Acknowledgements", +and any sections Entitled "Dedications". You must delete all sections +Entitled "Endorsements". + + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other +documents released under this License, and replace the individual +copies of this License in the various documents with a single copy +that is included in the collection, provided that you follow the rules +of this License for verbatim copying of each of the documents in all +other respects. + +You may extract a single document from such a collection, and +distribute it individually under this License, provided you insert a +copy of this License into the extracted document, and follow this +License in all other respects regarding verbatim copying of that +document. + + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an "aggregate" if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + + +8. TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, and +will automatically terminate your rights under this License. + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, receipt of a copy of some or all of the same material does +not give you any rights to use it. + + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions of the +GNU Free Documentation License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in +detail to address new problems or concerns. See +https://www.gnu.org/licenses/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. If the Document +specifies that a proxy can decide which future versions of this +License can be used, that proxy's public statement of acceptance of a +version permanently authorizes you to choose that version for the +Document. + +11. RELICENSING + +"Massive Multiauthor Collaboration Site" (or "MMC Site") means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. A +public wiki that anybody can edit is an example of such a server. A +"Massive Multiauthor Collaboration" (or "MMC") contained in the site +means any set of copyrightable works thus published on the MMC site. + +"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, a not-for-profit +corporation with a principal place of business in San Francisco, +California, as well as future copyleft versions of that license +published by that same organization. + +"Incorporate" means to publish or republish a Document, in whole or in +part, as part of another Document. + +An MMC is "eligible for relicensing" if it is licensed under this +License, and if all works that were first published under this License +somewhere other than this MMC, and subsequently incorporated in whole or +in part into the MMC, (1) had no cover texts or invariant sections, and +(2) were thus incorporated prior to November 1, 2008. + +The operator of an MMC Site may republish an MMC contained in the site +under CC-BY-SA on the same site at any time before August 1, 2009, +provided the MMC is eligible for relicensing. + + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. diff --git a/LICENSES/GPL-2.0-only.txt b/LICENSES/GPL-2.0-only.txt new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/LICENSES/GPL-2.0-only.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/LICENSES/GPL-3.0-only.txt b/LICENSES/GPL-3.0-only.txt new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/LICENSES/GPL-3.0-only.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/LICENSES/LGPL-3.0-only.txt b/LICENSES/LGPL-3.0-only.txt new file mode 100644 index 0000000..65c5ca8 --- /dev/null +++ b/LICENSES/LGPL-3.0-only.txt @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/LICENSES/LicenseRef-Qt-Commercial.txt b/LICENSES/LicenseRef-Qt-Commercial.txt new file mode 100644 index 0000000..825b1f3 --- /dev/null +++ b/LICENSES/LicenseRef-Qt-Commercial.txt @@ -0,0 +1,8 @@ +Licensees holding valid commercial Qt licenses may use this software in +accordance with the the terms contained in a written agreement between +you and The Qt Company. Alternatively, the terms and conditions that were +accepted by the licensee when buying and/or downloading the +software do apply. + +For the latest licensing terms and conditions, see https://www.qt.io/terms-conditions. +For further information use the contact form at https://www.qt.io/contact-us. diff --git a/LICENSES/Qt-GPL-exception-1.0.txt b/LICENSES/Qt-GPL-exception-1.0.txt new file mode 100644 index 0000000..d0322bf --- /dev/null +++ b/LICENSES/Qt-GPL-exception-1.0.txt @@ -0,0 +1,22 @@ +The Qt Company GPL Exception 1.0 + +Exception 1: + +As a special exception you may create a larger work which contains the +output of this application and distribute that work under terms of your +choice, so long as the work is not otherwise derived from or based on +this application and so long as the work does not in itself generate +output that contains the output from this application in its original +or modified form. + +Exception 2: + +As a special exception, you have permission to combine this application +with Plugins licensed under the terms of your choice, to produce an +executable, and to copy and distribute the resulting executable under +the terms of your choice. However, the executable must be accompanied +by a prominent notice offering all users of the executable the entire +source code to this application, excluding the source code of the +independent modules, but including any changes you have made to this +application, under the terms of this license. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..8b7de90 --- /dev/null +++ b/README.md @@ -0,0 +1,228 @@ +# Qt For Python + +Qt For Python is the [Python Qt bindings project](https://wiki.qt.io/PySide6), +providing access to the complete Qt framework as well as to generator tools for +rapidly generating bindings for any C++ libraries. + +Shiboken is the generator used to build the bindings. + +See README.pyside6.md and README.shiboken6.md for details. + +## Building + +To build both Shiboken and PySide simply execute: + + * `python setup.py build`, or + * `python setup.py install` + +to build and install into your current Python installation. + +The same setup.py script is used to build all the components of the project: + + * shiboken6 (the supporting Python module) + * shiboken6-generator (the bindings generation executable) + * PySide6 + +Preferably, a Qt (build) environment should be used to automatically pick up +the associated `qtpaths6`, but optionally one can specify the location of `qtpaths6` +and `cmake` if it is not in the current PATH with: + + * `--qtpaths=/path/to/qt/bin/qtpaths6`, and + * `--cmake=/path/to/bin/cmake` + +respectively. + +By default, all of the above is built when no special options are passed to the +script. You can use the `--build-type` parameter to specify which things should +be built: + + * `--build-type=shiboken6`, build/package only the python module + * `--build-type=shiboken6-generator`, build/package the generator executable + * `--build-type=pyside6`, build/package the PySide6 bindings. + * `--build-type=all`, the implicit default to build all of the above + +When building PySide6, optionally, one can specify the location of the +shiboken6 cmake config path if it is not on the current PATH with: + + * `--shiboken-config-dir=/path/to/shiboken/cmake/config/dir` + +This is useful if you did a cmake installation of shiboken6 into a custom +location. + +For Windows, if OpenSSL support is required, it's necessary to specify the +directory path that contains the OpenSSL shared libraries `libeay32.dll` and +`ssleay32.dll`, for example: + +* `--openssl=C:\OpenSSL-Win64\bin` + +This will make sure that the libraries are copied into the PySide6 package and +are found by the QtNetwork module. + +## Building Additional Options + +On Linux and macOS you can use the option `--standalone` to embed Qt libraries +into the PySide6 package. The option does not affect Windows, because it is +used implicitly, i.e. all relevant DLLs have to be copied into the PySide6 +package anyway, because there is no proper rpath support on the platform. + +You can use the option `--rpath=/path/to/lib/path` to specify which rpath +values should be embedded into the PySide6 modules and shared libraries. This +overrides the automatically generated values when the option is not specified. + +You can use the option `--qt-conf-prefix` to pass a path relative to the +PySide6 installed package, which will be embedded into an auto-generated +`qt.conf` registered in the Qt resource system. This path will serve as the +PrefixPath for QLibraryInfo, thus allowing to choose where Qt plugins should be +loaded from. This option overrides the usual prefix chosen by `--standalone` +option, or when building on Windows. + +To temporarily disable registration of the internal `qt.conf` file, a new +environment variable called PYSIDE_DISABLE_INTERNAL_QT_CONF is introduced. + +You should assign the integer "1" to disable the internal `qt.conf`, or "0" (or +leave empty) to keep using the internal `qt.conf` file. + +## Development Options + +For development purposes the following options might be of use, when +using `setup.py build`: + + * `--ignore-git`, will skip the fetching and checkout steps for supermodule + and all submodules. + * `--limited-api=yes|no`, default yes if applicable. Set or clear the limited + API flag. Ignored for Python 2. + * `--module-subset`, allows for specifying the Qt modules to be built. + A minimal set is: `--module-subset=Core,Gui,Test,Widgets`. + * `--package-timestamp`, allows specifying the timestamp that will be used as + part of the version number for a snapshot package. + For example given `--package-timestamp=1529646276` the package version will + be `5.x.y.dev1529646276`. + * `--reuse-build`, option allows recompiling only the modified sources and not + the whole world, shortening development iteration time. + * `--sanitize-address`, will build the project with address sanitizer. + * `--skip-cmake`, will reuse the already generated Makefiles (or equivalents), + instead of invoking, CMake to update the Makefiles (note, CMake should be + ran at least once to generate the files). + * `--skip-docs`, skip the documentation generation. + * `--skip-make-install`, will not run make install (or equivalent) for each + module built. + * `--skip-modules`, allows for specifying the Qt modules that will be skipped + during the build process. + For example: `--skip-modules=WebEngineCore,WebEngineWidgets` + * `--skip-packaging`, will skip creation of the python package, enabled (Linux + or macOS only). + * `--verbose-build`, will output the compiler invocation with command line + arguments, etc. + +## Requirements + + * Python 3.7+ is supported, + * CMake: Specify the path to cmake with `--cmake` option or add cmake to the + system path. + * Qt 6.2+ is supported. Specify the path to qtpaths with `--qtpaths` option or + add `qtpaths6` to the system path. + +### Optional + +#### OpenSSL: + +Specifying the `--openssl` option only affects Windows. It is a no-op for other +platforms. + +Please note that official Windows packages do not ship the OpenSSL libraries +due to import/export restrictions as described in +https://doc.qt.io/qt-6/ssl.html#import-and-export-restrictions + +You can specify the location of the OpenSSL DLLs with the following option: +`--openssl=`. + +You can download +[OpenSSL for Windows here](http://slproweb.com/products/Win32OpenSSL.html) + +Official Qt packages do not link to the SSL library directly, but rather try to +find the library at runtime. + +On Windows, official Qt builds will try to pick up OpenSSL libraries at +application path, system registry, or in the PATH environment variable. + +On macOS, official Qt builds use SecureTransport (provided by OS) instead of +OpenSSL. + +On Linux, official Qt builds will try to pick up the system OpenSSL library. + +> **Note**: this means that Qt packages that directly link to the OpenSSL +> shared libraries, are not currently compatible with standalone PySide6 +> packages. + +#### macOS SDK: + +You can specify which macOS SDK should be used for compilation with the option +`--macos-sysroot=`, for example: +``` +--macos-sysroot=/Applications/Xcode.app/.../Developer/SDKs/MacOSX10.12.sdk/ +``` + +#### macOS minimum deployment target: + +You can specify a custom macOS minimum deployment target with the option +`--macos-deployment-target=`, for example: +``` +--macos-deployment-target=10.10 +``` + +If the option is not set, the minimum deployment target of the used Qt library +will be used instead. Thus it is not necessary to use the option without a good +reason. + +If a new value is specified, it has to be higher or equal to both Python's and +Qt's minimum deployment targets. + +Description: macOS allows specifying a minimum OS version on which a binary +will be able to run. This implies that an application can be built on a machine +with the latest macOS version installed, with latest Xcode version and SDK +version and the built application can still run on an older OS version. + + +## CMake super project + +For development convenience, a CMake super project is included in the root of +the repository. + +The super project can be built using standalone CMake, or using an IDE's CMake +integration (Qt Creator for example). + +Nevertheless the default build process is done via setup.py, in which case each +of the sub-projects are built and installed separately, as mentioned, the super +project is just for development convenience. + +## IDE (Qt Creator) case + +When using an IDE, just open the root CMakeLists.txt file as a new project, and +make sure to specify the following things: + + * `LLVM_INSTALL_DIR`, the environment variable should point to your libclang + library location + * `Qt`, either select a Qt Kit when configuring the project, or make sure that + the `qtpaths6` binary is present in the PATH environment variable. + * `Python`, the PATH environment variable should also point to the Python + interpreter which you wish to use for building the projects (can either be + a system interpreter, or a virtualenv one for example) + +Once that is done, just re-run CMake, so that it picks up the new environment +values. If needed, all other cache variables defined by the project files can +be re-adjusted (for example FORCE_LIMITED_API). + +## Command line CMake case + +When building using the command line CMake binary, make sure to invoke it in +a separate build directory, and not in the root source directory. + +Make sure you have the correct environment variables set up, as described in +the previous section. + +The invocation would then look like: +```bash +mkdir build && cd build +cmake -DCMAKE_BUILD_TYPE=Release .. +# make or nmake or msbuild or jom +``` diff --git a/README.pyside6.md b/README.pyside6.md new file mode 100644 index 0000000..53dbe79 --- /dev/null +++ b/README.pyside6.md @@ -0,0 +1,94 @@ +# PySide6 + +### Introduction + +**Important:** for Qt5 compatibility, check [PySide2](https://pypi.org/project/PySide2) + +PySide6 is the official Python module from the +[Qt for Python project](https://wiki.qt.io/Qt_for_Python), +which provides access to the complete Qt 6.0+ framework. + +The Qt for Python project is developed in the open, with all facilities you'd expect +from any modern OSS project such as all code in a git repository and an open +design process. We welcome any contribution conforming to the +[Qt Contribution Agreement](https://www.qt.io/contributionagreement/). + +### Installation + +Since the release of the [Technical Preview](https://blog.qt.io/blog/2018/06/13/qt-python-5-11-released/) +it is possible to install via `pip`, both from Qt's servers +and [PyPi](https://pypi.org/project/PySide6/): + +``` +pip install PySide6 +``` + +> Please note: this wheel is an alias to other two wheels +> [PySide6_Essentials](https://pypi.org/project/PySide6_Essentials) and +> [PySide6_Addons](https://pypi.org/project/PySide6_Addons), which contains +> a predefined list of Qt Modules. + +#### Dependencies + +PySide6 versions following 6.0 use a C++ parser based on +[Clang](http://clang.org/). The Clang library (C-bindings), version 13.0 or +higher is required for building. Prebuilt versions of it can be downloaded from +[download.qt.io](https://download.qt.io/development_releases/prebuilt/libclang/). + +After unpacking the archive, set the environment variable *LLVM_INSTALL_DIR* to +point to the folder containing the *include* and *lib* directories of Clang: + +``` +7z x .../libclang-release_100-linux-Rhel7.2-gcc5.3-x86_64-clazy.7z +export LLVM_INSTALL_DIR=$PWD/libclang +``` + +On Windows: + +``` +7z x .../libclang-release_100-windows-vs2015_64-clazy.7z +SET LLVM_INSTALL_DIR=%CD%\libclang +``` + +### Building from source + +For building PySide6 from scratch, please read about +[getting started](https://doc.qt.io/qtforpython/gettingstarted.html). +This process will include getting the code: + +``` +git clone https://code.qt.io/pyside/pyside-setup +cd pyside-setup +git checkout 6.x # if a specific version is needed +``` + +then install the dependencies, and following the instructions per platform. +A common build command will look like: + +``` +python setup.py install --qtpaths=/path/to/bin/qtpaths6 --parallel=8 --build-tests +``` + +You can obtain more information about the options to build PySide and Shiboken +in [our wiki](https://wiki.qt.io/Qt_for_Python/). + +### Documentation and Bugs + +You can find more information about the PySide6 module API in the +[official Qt for Python documentation](https://doc.qt.io/qtforpython/). + +If you come across any issue, please file a bug report at our +[JIRA tracker](https://bugreports.qt.io/projects/PYSIDE) following +our [guidelines](https://wiki.qt.io/Qt_for_Python/Reporting_Bugs). + +### Community + +Check our channels on IRC (Libera), Telegram, Gitter, Matrix, and mailing list, +and [join our community](https://wiki.qt.io/Qt_for_Python#Community)! + +### Licensing + +PySide6 is available under both Open Source (LGPLv3/GPLv2) and commercial +license. Using PyPi is the recommended installation source, because the +content of the wheels is valid for both cases. For more information, refer to +the [Qt Licensing page](https://www.qt.io/licensing/). diff --git a/README.pyside6_addons.md b/README.pyside6_addons.md new file mode 100644 index 0000000..9fa5db9 --- /dev/null +++ b/README.pyside6_addons.md @@ -0,0 +1,65 @@ +# PySide6 Addons + +PySide6 is the official Python module from the +[Qt for Python project](https://wiki.qt.io/Qt_for_Python), +which provides access to the complete Qt 6.0+ framework. + +The Qt for Python project is developed in the open, with all facilities you'd expect +from any modern OSS project such as all code in a git repository and an open +design process. We welcome any contribution conforming to the +[Qt Contribution Agreement](https://www.qt.io/contributionagreement/). + +This is a complementary wheel for [PySide6](https://pypi.org/project/PySide6), +it includes the following Qt modules: + +* Qt3DAnimation +* Qt3DCore +* Qt3DExtras +* Qt3DInput +* Qt3DLogic +* Qt3DRender +* QtAxContainer +* QtBluetooth +* QtCharts +* QtDataVisualization +* QtMultimedia +* QtMultimediaWidgets +* QtNetworkAuth +* QtNfc +* QtPositioning +* QtQuick3D +* QtRemoteObjects +* QtScxml +* QtSensors +* QtSerialPort +* QtStateMachine +* QtVirtualKeyboard +* QtWebChannel +* QtWebEngineCore +* QtWebEngineQuick +* QtWebEngineWidgets +* QtWebSockets +* QtPdf +* QtPdfWidgets +* QtHttpServer + +### Documentation and Bugs + +You can find more information about the PySide6 module API in the +[official Qt for Python documentation](https://doc.qt.io/qtforpython/). + +If you come across any issue, please file a bug report at our +[JIRA tracker](https://bugreports.qt.io/projects/PYSIDE) following +our [guidelines](https://wiki.qt.io/Qt_for_Python/Reporting_Bugs). + +### Community + +Check our channels on IRC (Libera), Telegram, Gitter, Matrix, and mailing list, +and [join our community](https://wiki.qt.io/Qt_for_Python#Community)! + +### Licensing + +PySide6 is available under both Open Source (LGPLv3/GPLv2) and commercial +license. Using PyPi is the recommended installation source, because the +content of the wheels is valid for both cases. For more information, refer to +the [Qt Licensing page](https://www.qt.io/licensing/). diff --git a/README.pyside6_essentials.md b/README.pyside6_essentials.md new file mode 100644 index 0000000..6e74bdc --- /dev/null +++ b/README.pyside6_essentials.md @@ -0,0 +1,56 @@ +# PySide6 Essentials + +PySide6 is the official Python module from the +[Qt for Python project](https://wiki.qt.io/Qt_for_Python), +which provides access to the complete Qt 6.0+ framework. + +The Qt for Python project is developed in the open, with all facilities you'd expect +from any modern OSS project such as all code in a git repository and an open +design process. We welcome any contribution conforming to the +[Qt Contribution Agreement](https://www.qt.io/contributionagreement/). + +This is a minimal wheel for [PySide6](https://pypi.org/project/PySide6), +it includes only the essentials Qt modules: + +* QtCore +* QtGui +* QtWidgets +* QtHelp +* QtNetwork +* QtConcurrent +* QtDBus +* QtDesigner +* QtOpenGL +* QtOpenGLWidgets +* QtPrintSupport +* QtQml +* QtQuick +* QtQuickControls2 +* QtQuickWidgets +* QtXml +* QtTest +* QtSql +* QtSvg +* QtSvgWidgets +* QtUiTools + +### Documentation and Bugs + +You can find more information about the PySide6 module API in the +[official Qt for Python documentation](https://doc.qt.io/qtforpython/). + +If you come across any issue, please file a bug report at our +[JIRA tracker](https://bugreports.qt.io/projects/PYSIDE) following +our [guidelines](https://wiki.qt.io/Qt_for_Python/Reporting_Bugs). + +### Community + +Check our channels on IRC (Libera), Telegram, Gitter, Matrix, and mailing list, +and [join our community](https://wiki.qt.io/Qt_for_Python#Community)! + +### Licensing + +PySide6 is available under both Open Source (LGPLv3/GPLv2) and commercial +license. Using PyPi is the recommended installation source, because the +content of the wheels is valid for both cases. For more information, refer to +the [Qt Licensing page](https://www.qt.io/licensing/). diff --git a/README.shiboken6-generator.md b/README.shiboken6-generator.md new file mode 100644 index 0000000..c57af2d --- /dev/null +++ b/README.shiboken6-generator.md @@ -0,0 +1,36 @@ +# Shiboken6-generator + +Shiboken is the generator used by the Qt for Python project. It outputs C++ +code for CPython extensions, which can be compiled and transformed into +a Python module. + +C++ projects based on Qt can be wrapped, but also projects which are not +related to Qt. + +## How does it work? + +Shiboken uses an API Extractor that does most of the job, but it requires +a typesystem (XML file) to customize how the C++ classes/methods will be +exposed to Python. + +The typesystem allows you to remove arguments from signatures, modify return +types, inject code and add conversion rules from the C++ data types to Python +data types, manipulate the ownership of the objects, etc. + +# Examples + +An example related to wrap a C++ library not depending on Qt can be found in +our [repository](https://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples/samplebinding). + +Additionally, you can find a couple of tests inside the +[git repository](https://code.qt.io/cgit/pyside/pyside-setup.git/tree/sources/shiboken6/tests). + +For a more advanced case regarding extending a Qt/C++ application with Python +bindings based on the idea of the PySide module, you can check the +[scriptableapplication](https://code.qt.io/cgit/pyside/pyside-setup.git/tree/examples/scriptableapplication) +example in our repository. + +# Documentation + +You can find more information about Shiboken in our +[official documentation page](https://doc.qt.io/qtforpython/shiboken6/). diff --git a/README.shiboken6.md b/README.shiboken6.md new file mode 100644 index 0000000..74e0bcd --- /dev/null +++ b/README.shiboken6.md @@ -0,0 +1,13 @@ +# Shiboken6 module + +The purpose of the **shiboken6 Python module** +is to access information related to the binding generation that could be used to integrate +C++ programs to Python, or even to get useful information to debug +an application. + +Mostly the idea is to interact with Shiboken objects, +where one can check if it is valid, or if the generated Python wrapper +is invalid after the underlying C++ object has been destroyed. + +More information on the available functions can be found +in our [official documentation](https://doc.qt.io/qtforpython/shiboken6/shibokenmodule.html) diff --git a/build_history/blacklist.txt b/build_history/blacklist.txt new file mode 100644 index 0000000..475e5d4 --- /dev/null +++ b/build_history/blacklist.txt @@ -0,0 +1,72 @@ +[smart::smart_pointer] + darwin ci +[testmodifydocumentation] + darwin arm +[signals::signal_signature_test] + linux + darwin + win32 +[Qt3DExtras::qt3dextras_test] + win32 ci + linux + darwin +[QtMultimedia::audio_test] + linux + darwin + win32 +# Cannot create metal surface +[QtMultimediaWidgets::qmultimediawidgets] + darwin ci +# PYSIDE-474 +[QtWebEngineWidgets::pyside-474-qtwebengineview] + py2 + py3 +[QtCore::qthread_test] +# PYSIDE-754 +[QtWebEngineCore::web_engine_custom_scheme] + win32 + linux + darwin +# In addition to a pre-existing windows failure, +# qtlocation/ac899dcc40bb3ad09307583fb7e6befd45a77b33 / QTBUG-66304 introduced +# a failure in 5.14 +[QtPositioning::positioning] + win32 + linux + darwin +# Open GL functions failures on macOS (2/2020) +[QtQml::qqmlnetwork_test] + linux ci # extended, see PyPy section below +[QtWidgets::bug_750] + darwin ci +[QtWidgets::qpicture_test] + darwin ci + +# PYSIDE-535: These errors are still present. Please try to remove one :) +[sample::mixed_mi] + pypy +[sample::sample] + pypy +[sample::str] + pypy +[sample::typedealloc] + pypy +[pysidetest::homonymoussignalandmethod_test] + pypy +[pysidetest::mixin_signal_slots_test] + pypy +[signals::qobject_sender_test] + pypy +[QtCore::classinfo_test] + pypy +[QtCore::qbytearray_test] + pypy +[QtWidgets::bug_836] + pypy +[QtQml::bug_825] + pypy +[QtQml::javascript_exceptions] + pypy +[QtQml::qqmlincubator_incubateWhile] + pypy # gives timeout on macOS if I run video converter while testing +# 2022-03-04 PyPy: Currently 28 of 657 tests fail diff --git a/build_scripts/__init__.py b/build_scripts/__init__.py new file mode 100644 index 0000000..c99affd --- /dev/null +++ b/build_scripts/__init__.py @@ -0,0 +1,39 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +PYSIDE = 'pyside6' +PYSIDE_MODULE = 'PySide6' +SHIBOKEN = 'shiboken6' + +PYSIDE_PYTHON_TOOLS = ["metaobjectdump", + "deploy", + "android_deploy", + "project", + "qml", + "qtpy2cpp", + "genpyi"] + +PYSIDE_UNIX_BIN_TOOLS = ["lupdate", + "lrelease", + "qmllint", + "qmlformat", + "qmlls"] + +# tools that are bundled as .app in macOS, but are normal executables in Linux and Windows +PYSIDE_UNIX_BUNDLED_TOOLS = ["assistant", + "designer", + "linguist"] + +PYSIDE_LINUX_BIN_TOOLS = PYSIDE_UNIX_BIN_TOOLS + PYSIDE_UNIX_BUNDLED_TOOLS + +PYSIDE_UNIX_LIBEXEC_TOOLS = ["uic", + "rcc", + "qmltyperegistrar", + "qmlimportscanner", + "qmlcachegen"] + +# all Qt tools are in 'bin' folder in Windows +PYSIDE_WINDOWS_BIN_TOOLS = PYSIDE_UNIX_LIBEXEC_TOOLS + PYSIDE_LINUX_BIN_TOOLS + +ANDROID_ESSENTIALS = ["Core", "Gui", "Widgets", "Network", "OpenGL", "Qml", "Quick", + "QuickControls2"] diff --git a/build_scripts/build_info_collector.py b/build_scripts/build_info_collector.py new file mode 100644 index 0000000..62b56b5 --- /dev/null +++ b/build_scripts/build_info_collector.py @@ -0,0 +1,311 @@ +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +import os +import platform +import sys +import sysconfig +from pathlib import Path +from sysconfig import get_config_var + +from setuptools.errors import SetupError + +from .log import log +from .options import OPTION +from .qtinfo import QtInfo +from .utils import configure_cmake_project, parse_cmake_project_message_info +from .wheel_utils import get_qt_version + + +# Return a prefix suitable for the _install/_build directory +def prefix(): + virtual_env_name = os.environ.get('VIRTUAL_ENV', None) + has_virtual_env = False + if virtual_env_name is not None: + name = Path(virtual_env_name).name + has_virtual_env = True + else: + name = "qfp" + if OPTION["DEBUG"]: + name += "d" + if is_debug_python(): + name += "p" + if OPTION["LIMITED_API"] == "yes": + name += "a" + return Path(name), has_virtual_env + + +def is_debug_python(): + return getattr(sys, "gettotalrefcount", None) is not None + + +def _get_py_library_win(build_type, py_version, py_prefix, py_libdir, + py_include_dir): + """Helper for finding the Python library on Windows""" + if py_include_dir is None or not Path(py_include_dir).exists(): + py_include_dir = Path(py_prefix) / "include" + if py_libdir is None or not Path(py_libdir).exists(): + # For virtual environments on Windows, the py_prefix will contain a + # path pointing to it, instead of the system Python installation path. + # Since INCLUDEPY contains a path to the system location, we use the + # same base directory to define the py_libdir variable. + py_libdir = Path(py_include_dir).parent / "libs" + if not py_libdir.is_dir(): + raise SetupError("Failed to locate the 'libs' directory") + dbg_postfix = "_d" if build_type == "Debug" else "" + if OPTION["MAKESPEC"] == "mingw": + static_lib_name = f"libpython{py_version.replace('.', '')}{dbg_postfix}.a" + return Path(py_libdir) / static_lib_name + v = py_version.replace(".", "") + python_lib_name = f"python{v}{dbg_postfix}.lib" + return Path(py_libdir) / python_lib_name + + +def _get_py_library_unix(build_type, py_version, py_prefix, py_libdir, + py_include_dir): + """Helper for finding the Python library on UNIX""" + if py_libdir is None or not Path(py_libdir).exists(): + py_libdir = Path(py_prefix) / "lib" + if py_include_dir is None or not Path(py_include_dir).exists(): + directory = f"include/python{py_version}" + py_include_dir = Path(py_prefix) / directory + lib_exts = ['.so'] + if sys.platform == 'darwin': + lib_exts.append('.dylib') + lib_suff = getattr(sys, 'abiflags', None) + lib_exts.append('.so.1') + # Suffix for OpenSuSE 13.01 + lib_exts.append('.so.1.0') + # static library as last gasp + lib_exts.append('.a') + + libs_tried = [] + for lib_ext in lib_exts: + lib_name = f"libpython{py_version}{lib_suff}{lib_ext}" + py_library = Path(py_libdir) / lib_name + if py_library.exists(): + return py_library + libs_tried.append(py_library) + + # Try to find shared libraries which have a multi arch + # suffix. + py_multiarch = get_config_var("MULTIARCH") + if py_multiarch: + try_py_libdir = Path(py_libdir) / py_multiarch + libs_tried = [] + for lib_ext in lib_exts: + lib_name = f"libpython{py_version}{lib_suff}{lib_ext}" + py_library = try_py_libdir / lib_name + if py_library.exists(): + return py_library + libs_tried.append(py_library) + + # PYSIDE-535: See if this is PyPy. + if hasattr(sys, "pypy_version_info"): + vi = sys.version_info[:2] + version_quirk = ".".join(map(str, vi)) if vi >= (3, 9) else "3" + pypy_libdir = Path(py_libdir).parent / "bin" + for lib_ext in lib_exts: + lib_name = f"libpypy{version_quirk}-c{lib_ext}" + pypy_library = pypy_libdir / lib_name + if pypy_library.exists(): + return pypy_library + libs_tried.append(pypy_library) + _libs_tried = ', '.join(str(lib) for lib in libs_tried) + raise SetupError(f"Failed to locate the Python library with {_libs_tried}") + + +def get_py_library(build_type, py_version, py_prefix, py_libdir, py_include_dir): + """Find the Python library""" + if sys.platform == "win32": + py_library = _get_py_library_win(build_type, py_version, py_prefix, + py_libdir, py_include_dir) + else: + py_library = _get_py_library_unix(build_type, py_version, py_prefix, + py_libdir, py_include_dir) + if str(py_library).endswith('.a'): + # Python was compiled as a static library + log.error(f"Failed to locate a dynamic Python library, using {py_library}") + return py_library + + +class BuildInfoCollectorMixin(object): + build_base: str + build_lib: str + cmake: str + cmake_toolchain_file: str + internal_cmake_install_dir_query_file_path: str + is_cross_compile: bool + plat_name: str + python_target_path: str + + def __init__(self): + pass + + def collect_and_assign(self): + script_dir = Path.cwd() + + # build_base is not set during install command, so we default to + # the 'build command's build_base value ourselves. + build_base = self.build_base + if not build_base: + self.build_base = "build" + build_base = self.build_base + + sources_dir = script_dir / "sources" + + if self.is_cross_compile: + config_tests_dir = script_dir / build_base / "config.tests" + python_target_info_dir = (sources_dir / "shiboken6" / "config.tests" + / "target_python_info") + cmake_cache_args = [] + + if self.python_target_path: + cmake_cache_args.append(("Python_ROOT_DIR", self.python_target_path)) + + if self.cmake_toolchain_file: + cmake_cache_args.append(("CMAKE_TOOLCHAIN_FILE", self.cmake_toolchain_file)) + python_target_info_output = configure_cmake_project( + python_target_info_dir, + self.cmake, + temp_prefix_build_path=config_tests_dir, + cmake_cache_args=cmake_cache_args) + python_target_info = parse_cmake_project_message_info(python_target_info_output) + self.python_target_info = python_target_info + + build_type = "Debug" if OPTION["DEBUG"] else "Release" + if OPTION["RELWITHDEBINFO"]: + build_type = 'RelWithDebInfo' + + # Prepare parameters + if not self.is_cross_compile: + platform_arch = platform.architecture()[0] + self.py_arch = platform_arch[:-3] + + py_executable = sys.executable + _major, _minor, *_ = sys.version_info + py_version = f"{_major}.{_minor}" + py_include_dir = get_config_var("INCLUDEPY") + py_libdir = get_config_var("LIBDIR") + # distutils.sysconfig.get_config_var('prefix') returned the + # virtual environment base directory, but + # sysconfig.get_config_var returns the system's prefix. + # We use 'base' instead (although, platbase points to the + # same location) + py_prefix = get_config_var("base") + if not py_prefix or not Path(py_prefix).exists(): + py_prefix = sys.prefix + self.py_prefix = py_prefix + py_prefix = Path(py_prefix) + if sys.platform == "win32": + py_scripts_dir = py_prefix / "Scripts" + else: + py_scripts_dir = py_prefix / "bin" + self.py_scripts_dir = py_scripts_dir + else: + # We don't look for an interpreter when cross-compiling. + py_executable = None + + python_info = self.python_target_info['python_info'] + py_version = python_info['version'].split('.') + py_version = f"{py_version[0]}.{py_version[1]}" + py_include_dir = python_info['include_dirs'] + py_libdir = python_info['library_dirs'] + py_library = python_info['libraries'] + self.py_library = py_library + + # Prefix might not be set because the project that extracts + # the info is using internal API to get it. It shouldn't be + # critical though, because we don't really use neither + # py_prefix nor py_scripts_dir in important places + # when cross-compiling. + if 'prefix' in python_info: + py_prefix = python_info['prefix'] + self.py_prefix = Path(py_prefix).resolve() + + py_scripts_dir = self.py_prefix / 'bin' + if py_scripts_dir.exists(): + self.py_scripts_dir = py_scripts_dir + else: + self.py_scripts_dir = None + else: + py_prefix = None + self.py_prefix = py_prefix + self.py_scripts_dir = None + + self.qtinfo = QtInfo() + qt_version = get_qt_version() + + # Used for test blacklists and registry test. + if self.is_cross_compile: + # Querying the host platform architecture makes no sense when cross-compiling. + build_classifiers = f"py{py_version}-qt{qt_version}-{self.plat_name}-" + else: + build_classifiers = f"py{py_version}-qt{qt_version}-{platform.architecture()[0]}-" + if hasattr(sys, "pypy_version_info"): + pypy_version = ".".join(map(str, sys.pypy_version_info[:3])) + build_classifiers += f"pypy.{pypy_version}-" + build_classifiers += f"{build_type.lower()}" + self.build_classifiers = build_classifiers + + venv_prefix, has_virtual_env = prefix() + + # The virtualenv name serves as the base of the build dir + # and we consider it is distinct enough that we don't have to + # append the build classifiers, thus keeping dir names shorter. + build_name = f"{venv_prefix}" + if self.is_cross_compile and has_virtual_env: + build_name += f"-{self.plat_name}" + + # If short paths are requested and no virtual env is found, at + # least append the python version for more uniqueness. + if OPTION["SHORTER_PATHS"] and not has_virtual_env: + build_name += f"-p{py_version}" + # If no virtual env is found, use build classifiers for + # uniqueness. + elif not has_virtual_env: + build_name += f"-{self.build_classifiers}" + + common_prefix_dir = script_dir / build_base + build_dir = common_prefix_dir / build_name / "build" + install_dir = common_prefix_dir / build_name / "install" + + # Change the setuptools build_lib dir to be under the same + # directory where the cmake build and install dirs are so + # there's a common subdirectory for all build-related dirs. + # Example: + # Replaces + # build/lib.macosx-10.14-x86_64-3.7' with + # build/{venv_prefix}/package' + setup_tools_build_lib_dir = common_prefix_dir / build_name / "package" + self.build_lib = setup_tools_build_lib_dir + + self.script_dir = Path(script_dir) + self.sources_dir = Path(sources_dir) + self.build_dir = Path(build_dir) + self.install_dir = Path(install_dir) + self.py_executable = Path(py_executable) if py_executable else None + self.py_include_dir = Path(py_include_dir) + + if not self.is_cross_compile: + self.py_library = get_py_library(build_type, py_version, py_prefix, + py_libdir, py_include_dir) + self.py_version = py_version + self.build_type = build_type + + if self.is_cross_compile: + site_packages_no_prefix = self.python_target_info['python_info']['site_packages_dir'] + self.site_packages_dir = install_dir / site_packages_no_prefix + else: + # Setuptools doesn't have an equivalent of a get_python_lib with a + # prefix, so we build the path manually: + # self.site_packages_dir = sconfig.get_python_lib(1, 0, prefix=install_dir) + _base = sysconfig.get_paths()["data"] + _purelib = sysconfig.get_paths()["purelib"] + assert _base in _purelib + self.site_packages_dir = f"{install_dir}{_purelib.replace(_base, '')}" + + def post_collect_and_assign(self): + # self.build_lib is only available after the base class + # finalize_options is called. + self.st_build_dir = self.script_dir / self.build_lib diff --git a/build_scripts/build_scripts.pyproject b/build_scripts/build_scripts.pyproject new file mode 100644 index 0000000..77f1d04 --- /dev/null +++ b/build_scripts/build_scripts.pyproject @@ -0,0 +1,11 @@ +{ + "files": ["main.py", "__init__.py", "build_info_collector.py", + "config.py", "options.py", "qtinfo.py", + "setup_runner.py", "utils.py", + "wheel_files.py", "wheel_override.py", "wheel_utils.py", + "platforms/__init__.py", "platforms/linux.py", + "platforms/macos.py", "platforms/unix.py", + "platforms/windows_desktop.py", + "../setup.py", + "../coin_build_instructions.py", "../coin_test_instructions.py"] +} diff --git a/build_scripts/config.py b/build_scripts/config.py new file mode 100644 index 0000000..1f2f0b2 --- /dev/null +++ b/build_scripts/config.py @@ -0,0 +1,399 @@ +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +import sys +from .log import log, LogLevel +from pathlib import Path + +from . import PYSIDE, PYSIDE_MODULE, SHIBOKEN +from .utils import available_pyside_tools + + +class Config(object): + def __init__(self): + # Constants + self._build_type_all = "all" + self._invocation_type_top_level = "top-level" + self._invocation_type_internal = "internal" + + # The keyword arguments which will be given to setuptools.setup + self.setup_kwargs = {} + + # The setup.py invocation type. + # top-level + # internal + self.invocation_type = None + + # The type of the top-level build. + # all - build shiboken6 module, shiboken6-generator and PySide6 + # modules + # shiboken6 - build only shiboken6 module + # shiboken6-generator - build only the shiboken6-generator + # pyside6 - build only PySide6 modules + self.build_type = None + + # The internal build type, used for internal invocations of + # setup.py to build a specific module only. + self.internal_build_type = None + + # Options that can be given to --build-type and + # --internal-build-type + self.shiboken_module_option_name = SHIBOKEN + self.shiboken_generator_option_name = f"{SHIBOKEN}-generator" + self.pyside_option_name = PYSIDE + + # Names to be passed to setuptools.setup() name key, + # so not package name, but rather project name as it appears + # in the wheel name and on PyPi. + self.shiboken_module_st_name = SHIBOKEN + self.shiboken_generator_st_name = f"{SHIBOKEN}-generator" + self.pyside_st_name = PYSIDE_MODULE + + # Path to CMake toolchain file when intending to cross compile + # the project. + self.cmake_toolchain_file = None + + # Store where host shiboken is built during a cross-build. + self.shiboken_host_query_path = None + + # Used by check_allowed_python_version to validate the + # interpreter version. + self.python_version_classifiers = [ + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', + ] + + self.setup_script_dir = None + + def init_config(self, + build_type=None, + internal_build_type=None, + cmd_class_dict=None, + package_version=None, + ext_modules=None, + setup_script_dir=None, + cmake_toolchain_file=None, + log_level=LogLevel.INFO, + qt_install_path: Path = None): + """ + Sets up the global singleton config which is used in many parts + of the setup process. + """ + + # if --internal-build-type was passed, it means that this is a + # sub-invocation to build a specific package. + if internal_build_type: + self.set_is_internal_invocation() + self.set_internal_build_type(internal_build_type) + else: + self.set_is_top_level_invocation() + + # --build-type was specified explicitly, so set it. Otherwise + # default to all. + if build_type: + self.build_type = build_type + else: + self.build_type = self._build_type_all + + self.setup_script_dir = Path(setup_script_dir) + + self.cmake_toolchain_file = cmake_toolchain_file + + setup_kwargs = {} + setup_kwargs['long_description'] = self.get_long_description() + setup_kwargs['long_description_content_type'] = 'text/markdown' + setup_kwargs['keywords'] = 'Qt' + setup_kwargs['author'] = 'Qt for Python Team' + setup_kwargs['author_email'] = 'pyside@qt-project.org' + setup_kwargs['url'] = 'https://www.pyside.org' + setup_kwargs['download_url'] = 'https://download.qt.io/official_releases/QtForPython' + setup_kwargs['license'] = 'LGPL' + setup_kwargs['zip_safe'] = False + setup_kwargs['cmdclass'] = cmd_class_dict + setup_kwargs['version'] = package_version + setup_kwargs['python_requires'] = ">=3.7, <3.12" + + if log_level == LogLevel.QUIET: + # Tells distutils / setuptools to be quiet, and only print warnings or errors. + # Makes way less noise in the terminal when building. + setup_kwargs['verbose'] = 0 + + # Setting these two keys is still a bit of a discussion point. + # In general not setting them will allow using "build" and + # "bdist_wheel" just fine. What they do, is they specify to the + # setuptools.command.build_py command that certain pure python + # modules (.py files) exist in the specified package location, + # and that they should be copied over to the setuptools build + # dir. + # But it doesn't really make sense for us, because we copy all + # the necessary files to the build dir via prepare_packages() + # function anyway. + # If we don't set them, the build_py sub-command will be + # skipped, but the build command will still be executed, which + # is where we run cmake / make. + # The only plausible usage of it, is if we will implement a + # correctly functioning setup.py develop command (or bdist_egg). + # But currently that doesn't seem to work. + setup_kwargs['packages'] = self.get_setup_tools_packages_for_current_build() + setup_kwargs['package_dir'] = self.get_package_name_to_dir_path_mapping() + + # Add a bogus extension module (will never be built here since + # we are overriding the build command to do it using cmake) so + # things like bdist_egg will know that there are extension + # modules and will name the dist with the full platform info. + setup_kwargs['ext_modules'] = ext_modules + + common_classifiers = [ + 'Development Status :: 5 - Production/Stable', + 'Environment :: Console', + 'Environment :: MacOS X', + 'Environment :: X11 Applications :: Qt', + 'Environment :: Win32 (MS Windows)', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)', + 'License :: Other/Proprietary License', + 'Operating System :: MacOS :: MacOS X', + 'Operating System :: POSIX', + 'Operating System :: POSIX :: Linux', + 'Operating System :: Microsoft', + 'Operating System :: Microsoft :: Windows', + 'Programming Language :: C++'] + common_classifiers.extend(self.python_version_classifiers) + common_classifiers.extend([ + 'Topic :: Database', + 'Topic :: Software Development', + 'Topic :: Software Development :: Code Generators', + 'Topic :: Software Development :: Libraries :: Application Frameworks', + 'Topic :: Software Development :: User Interfaces', + 'Topic :: Software Development :: Widget Sets']) + setup_kwargs['classifiers'] = common_classifiers + + package_name = self.package_name() + + if self.internal_build_type == self.shiboken_module_option_name: + setup_kwargs['name'] = self.shiboken_module_st_name + setup_kwargs['description'] = "Python / C++ bindings helper module" + setup_kwargs['entry_points'] = {} + + elif self.internal_build_type == self.shiboken_generator_option_name: + setup_kwargs['name'] = self.shiboken_generator_st_name + setup_kwargs['description'] = "Python / C++ bindings generator" + setup_kwargs['install_requires'] = [ + f"{self.shiboken_module_st_name}=={package_version}" + ] + setup_kwargs['entry_points'] = { + 'console_scripts': [ + f'{SHIBOKEN} = {package_name}.scripts.shiboken_tool:main', + f'{SHIBOKEN}-genpyi = {package_name}.scripts.shiboken_tool:genpyi', + ] + } + + elif self.internal_build_type == self.pyside_option_name: + setup_kwargs['name'] = self.pyside_st_name + setup_kwargs['description'] = ("Python bindings for the Qt cross-platform application " + "and UI framework") + setup_kwargs['install_requires'] = [ + f"{self.shiboken_module_st_name}=={package_version}" + ] + if qt_install_path: + _pyside_tools = available_pyside_tools(qt_tools_path=qt_install_path) + + # replacing pyside6-android_deploy by pyside6-android-deploy for consistency + # Also, the tool should not exist in any other platform than Linux + _console_scripts = [] + if ("android_deploy" in _pyside_tools) and sys.platform.startswith("linux"): + _console_scripts = [(f"{PYSIDE}-android-deploy =" + " PySide6.scripts.pyside_tool:android_deploy")] + _pyside_tools.remove("android_deploy") + + _console_scripts.extend([f'{PYSIDE}-{tool} = {package_name}.scripts.pyside_tool:' + f'{tool}' for tool in _pyside_tools]) + + setup_kwargs['entry_points'] = {'console_scripts': _console_scripts} + + self.setup_kwargs = setup_kwargs + + def get_long_description(self): + readme_filename = 'README.md' + changes_filename = 'CHANGES.rst' + + if self.is_internal_shiboken_module_build(): + readme_filename = f'README.{SHIBOKEN}.md' + elif self.is_internal_shiboken_generator_build(): + readme_filename = f'README.{SHIBOKEN}-generator.md' + elif self.is_internal_pyside_build(): + readme_filename = f'README.{PYSIDE}.md' + + content = '' + changes = '' + try: + with open(self.setup_script_dir / readme_filename) as f: + readme = f.read() + except Exception as e: + log.error(f"Couldn't read contents of {readme_filename}. {e}") + raise + + # Don't include CHANGES.rst for now, because we have not decided + # how to handle change files yet. + include_changes = False + if include_changes: + try: + with open(self.setup_script_dir / changes_filename) as f: + changes = f.read() + except Exception as e: + log.error(f"Couldn't read contents of {changes_filename}. {e}") + raise + content += readme + + if changes: + content += f"\n\n{changes}" + + return content + + def package_name(self): + """ + Returns package name as it appears in Python's site-packages + directory. + + Package names can only be delimited by underscores, and not by + dashes. + """ + if self.is_internal_shiboken_module_build(): + return SHIBOKEN + elif self.is_internal_shiboken_generator_build(): + return f"{SHIBOKEN}_generator" + elif self.is_internal_pyside_build(): + return PYSIDE_MODULE + else: + return None + + def get_setup_tools_packages_for_current_build(self): + """ + Returns a list of packages for setup tools to consider in the + build_py command, so that it can copy the pure python files. + Not really necessary because it's done in prepare_packages() + anyway. + + This is really just to satisfy some checks in setuptools + build_py command, and if we ever properly implement the develop + command. + """ + if self.internal_build_type == self.pyside_option_name: + return [ + config.package_name(), + ] + elif self.internal_build_type == self.shiboken_module_option_name: + return [self.package_name()] + else: + return [] + + def get_package_name_to_dir_path_mapping(self): + """ + Used in setuptools.setup 'package_dir' argument to specify where + the actual module packages are located. + + For example when building the shiboken module, setuptools will + expect to find the "shiboken6" module sources under + "sources/{SHIBOKEN}/shibokenmodule". + + This is really just to satisfy some checks in setuptools + build_py command, and if we ever properly implement the develop + command. + """ + if self.is_internal_shiboken_module_build(): + return { + self.package_name(): f"sources/{SHIBOKEN}/shibokenmodule" + } + elif self.is_internal_shiboken_generator_build(): + # This is left empty on purpose, because the shiboken + # generator doesn't have a python module for now. + return {} + elif self.is_internal_pyside_build(): + return { + self.package_name(): f"sources/{PYSIDE}/{PYSIDE_MODULE}", + } + else: + return {} + + def get_buildable_extensions(self): + """ + Used by PysideBuild.run to build the CMake projects. + :return: A list of directory names under the sources directory. + """ + if self.is_internal_shiboken_module_build() or self.is_internal_shiboken_generator_build(): + return [SHIBOKEN] + elif self.is_internal_pyside_build(): + return [PYSIDE, 'pyside-tools'] + return None + + def set_is_top_level_invocation(self): + self.invocation_type = self._invocation_type_top_level + + def set_is_internal_invocation(self): + self.invocation_type = self._invocation_type_internal + + def is_top_level_invocation(self): + return self.invocation_type == self._invocation_type_top_level + + def is_internal_invocation(self): + return self.invocation_type == self._invocation_type_internal + + def is_top_level_build_all(self): + return self.build_type == self._build_type_all + + def is_top_level_build_shiboken_module(self): + return self.build_type == self.shiboken_module_option_name + + def is_top_level_build_shiboken_generator(self): + return self.build_type == self.shiboken_generator_option_name + + def is_top_level_build_pyside(self): + return self.build_type == self.pyside_option_name + + def is_cross_compile(self): + if not self.cmake_toolchain_file: + return False + return True + + def set_internal_build_type(self, internal_build_type): + self.internal_build_type = internal_build_type + + def is_internal_shiboken_module_build(self): + return self.internal_build_type == self.shiboken_module_option_name + + def is_internal_shiboken_generator_build(self): + return self.internal_build_type == self.shiboken_generator_option_name + + def is_internal_pyside_build(self): + return self.internal_build_type == self.pyside_option_name + + def is_internal_shiboken_generator_build_and_part_of_top_level_all(self): + """ + Used to skip certain build rules and output, when we know that + the CMake build of shiboken was already done as part of the + top-level "all" build when shiboken6-module was built. + """ + return self.is_internal_shiboken_generator_build() and self.is_top_level_build_all() + + def get_allowed_top_level_build_values(self): + return [ + self._build_type_all, + self.shiboken_module_option_name, + self.shiboken_generator_option_name, + self.pyside_option_name + ] + + def get_allowed_internal_build_values(self): + return [ + self.shiboken_module_option_name, + self.shiboken_generator_option_name, + self.pyside_option_name + ] + + +config = Config() diff --git a/build_scripts/log.py b/build_scripts/log.py new file mode 100644 index 0000000..16e4cca --- /dev/null +++ b/build_scripts/log.py @@ -0,0 +1,15 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +import logging + +from enum import Enum + +logging.basicConfig(format="[%(levelname)s]: %(message)s", level=logging.INFO) +log = logging.getLogger("qtforpython") + +class LogLevel(Enum): + QUIET = 1 + INFO = 2 + VERBOSE = 3 + diff --git a/build_scripts/main.py b/build_scripts/main.py new file mode 100644 index 0000000..2b26357 --- /dev/null +++ b/build_scripts/main.py @@ -0,0 +1,1314 @@ +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +import importlib +import os +import platform +import re +import sys +import sysconfig +import time +from packaging.version import parse as parse_version +from pathlib import Path +from shutil import copytree +from textwrap import dedent + +# PYSIDE-1760: Pre-load setuptools modules early to avoid racing conditions. +# Please be careful: All setuptools modules must be loaded before _distutils +# may be touched (should be avoided anyway, btw.) +# Note: This bug is only visible when tools like pyenv are not used. They have some +# pre-loading effect so that setuptools is already in the cache, hiding the problem. +from setuptools import Command, Extension +from setuptools.command.bdist_egg import bdist_egg as _bdist_egg +from setuptools.command.build_ext import build_ext as _build_ext +from setuptools.command.build_py import build_py as _build_py +from setuptools.command.build import build as _build +from setuptools.command.develop import develop as _develop +from setuptools.command.install import install as _install +from setuptools.command.install_lib import install_lib as _install_lib +from setuptools.command.install_scripts import install_scripts # noqa: preload only + +from .log import log, LogLevel +from setuptools.errors import SetupError + +from .build_info_collector import BuildInfoCollectorMixin +from .config import config +from .options import OPTION, CommandMixin +from .platforms.unix import prepare_packages_posix +from .platforms.windows_desktop import prepare_packages_win32 +from .qtinfo import QtInfo +from .utils import (copydir, copyfile, detect_clang, + get_numpy_location, get_python_dict, + linux_fix_rpaths_for_library, macos_fix_rpaths_for_library, + platform_cmake_options, remove_tree, run_process, + run_process_output, update_env_path, which) +from . import PYSIDE, PYSIDE_MODULE, SHIBOKEN, ANDROID_ESSENTIALS +from .wheel_override import get_bdist_wheel_override, wheel_module_exists +from .wheel_utils import (get_package_timestamp, get_package_version, + macos_plat_name, macos_pyside_min_deployment_target) + +setup_script_dir = Path.cwd() +build_scripts_dir = setup_script_dir / 'build_scripts' +setup_py_path = setup_script_dir / "setup.py" + +start_time = time.time() + + +def elapsed(): + return int(time.time() - start_time) + + +def get_setuptools_extension_modules(): + # Setting py_limited_api on the extension is the "correct" thing + # to do, but it doesn't actually do anything, because we + # override build_ext. So this is just foolproofing for the + # future. + extension_args = ('QtCore', []) + extension_kwargs = {} + if OPTION["LIMITED_API"] == 'yes': + extension_kwargs['py_limited_api'] = True + extension_modules = [Extension(*extension_args, **extension_kwargs)] + return extension_modules + + +def _get_make(platform_arch, build_type): + """Helper for retrieving the make command and CMake generator name""" + makespec = OPTION["MAKESPEC"] + if makespec == "make": + return ("make", "Unix Makefiles") + if makespec == "msvc": + if not OPTION["NO_JOM"]: + jom_path = Path(which("jom")) + if jom_path: + log.info(f"jom was found in {jom_path}") + return (jom_path, "NMake Makefiles JOM") + nmake_path = Path(which("nmake")) + if nmake_path is None or not nmake_path.exists(): + raise SetupError("nmake not found") + log.info(f"nmake was found in {nmake_path}") + if OPTION["JOBS"]: + msg = "Option --jobs can only be used with 'jom' on Windows." + raise SetupError(msg) + return (nmake_path, "NMake Makefiles") + if makespec == "mingw": + return (Path("mingw32-make"), "mingw32-make") + if makespec == "ninja": + return (Path("ninja"), "Ninja") + raise SetupError(f'Invalid option --make-spec "{makespec}".') + + +def get_make(platform_arch, build_type): + """Retrieve the make command and CMake generator name""" + (make_path, make_generator) = _get_make(platform_arch, build_type) + if not make_path.is_absolute(): + found_path = Path(which(make_path)) + if not found_path or not found_path.exists(): + m = (f"You need the program '{make_path}' on your system path to " + f"compile {PYSIDE_MODULE}.") + raise SetupError(m) + make_path = found_path + return (make_path, make_generator) + + +_allowed_versions_cache = None + + +def get_allowed_python_versions(): + global _allowed_versions_cache + if _allowed_versions_cache is not None: + return _allowed_versions_cache + pattern = r'Programming Language :: Python :: (\d+)\.(\d+)' + supported = [] + + for line in config.python_version_classifiers: + found = re.search(pattern, line) + if found: + major = int(found.group(1)) + minor = int(found.group(2)) + supported.append((major, minor)) + + _allowed_versions_cache = sorted(supported) + return _allowed_versions_cache + + +def check_allowed_python_version(): + """ + Make sure that setup.py is run with an allowed python version. + """ + + supported = get_allowed_python_versions() + this_py = sys.version_info[:2] + if this_py not in supported: + log.error(f"Unsupported python version detected. Supported versions: {supported}") + sys.exit(1) + + +qt_src_dir = '' + + +def prepare_build(): + # locate Qt sources for the documentation + if OPTION["QT_SRC"] is None: + install_prefix = QtInfo().prefix_dir + if install_prefix: + global qt_src_dir + # In-source, developer build + if install_prefix.endswith("qtbase"): + qt_src_dir = install_prefix + else: # SDK: Use 'Src' directory + maybe_qt_src_dir = Path(install_prefix).parent / 'Src' / 'qtbase' + if maybe_qt_src_dir.exists(): + qt_src_dir = maybe_qt_src_dir + + +class PysideInstall(_install, CommandMixin): + + user_options = _install.user_options + CommandMixin.mixin_user_options + + def __init__(self, *args, **kwargs): + self.command_name = "install" + _install.__init__(self, *args, **kwargs) + CommandMixin.__init__(self) + + def initialize_options(self): + _install.initialize_options(self) + + def finalize_options(self): + CommandMixin.mixin_finalize_options(self) + _install.finalize_options(self) + + if sys.platform == 'darwin' or self.is_cross_compile: + # Because we change the plat_name to include a correct + # deployment target on macOS distutils thinks we are + # cross-compiling, and throws an exception when trying to + # execute setup.py install. The check looks like this + # if self.warn_dir and build_plat != get_platform(): + # raise DistutilsPlatformError("Can't install when " + # "cross-compiling") + # Obviously get_platform will return the old deployment + # target. The fix is to disable the warn_dir flag, which + # was created for bdist_* derived classes to override, for + # similar cases. + # We also do it when cross-compiling. While calling install + # command directly is dubious, bdist_wheel calls install + # internally before creating a wheel. + self.warn_dir = False + + def run(self): + _install.run(self) + log.info(f"--- Install completed ({elapsed()}s)") + + +class PysideDevelop(_develop): + + def __init__(self, *args, **kwargs): + _develop.__init__(self, *args, **kwargs) + + def run(self): + self.run_command("build") + _develop.run(self) + + +class PysideBdistEgg(_bdist_egg): + + def __init__(self, *args, **kwargs): + _bdist_egg.__init__(self, *args, **kwargs) + + def run(self): + self.run_command("build") + _bdist_egg.run(self) + + +class PysideBuildExt(_build_ext): + + def __init__(self, *args, **kwargs): + _build_ext.__init__(self, *args, **kwargs) + + def run(self): + pass + + +class PysideBuildPy(_build_py): + + def __init__(self, *args, **kwargs): + self.command_name = "build_py" + _build_py.__init__(self, *args, **kwargs) + + +# _install_lib is reimplemented to preserve +# symlinks when distutils / setuptools copy files to various +# directories from the setup tools build dir to the install dir. +class PysideInstallLib(_install_lib): + + def __init__(self, *args, **kwargs): + _install_lib.__init__(self, *args, **kwargs) + + def install(self): + """ + Installs files from self.build_dir directory into final + site-packages/PySide6 directory when the command is 'install' + or into build/wheel when command is 'bdist_wheel'. + """ + + if self.build_dir.is_dir(): + # Using our own copydir makes sure to preserve symlinks. + outfiles = copydir(Path(self.build_dir).resolve(), Path(self.install_dir).resolve()) + else: + self.warn(f"'{self.build_dir}' does not exist -- no Python modules to install") + return + return outfiles + + +class PysideBuild(_build, CommandMixin, BuildInfoCollectorMixin): + + user_options = _build.user_options + CommandMixin.mixin_user_options + + def __init__(self, *args, **kwargs): + self.command_name = "build" + _build.__init__(self, *args, **kwargs) + CommandMixin.__init__(self) + BuildInfoCollectorMixin.__init__(self) + + def finalize_options(self): + os_name_backup = os.name + CommandMixin.mixin_finalize_options(self) + BuildInfoCollectorMixin.collect_and_assign(self) + + use_os_name_hack = False + if self.is_cross_compile: + use_os_name_hack = True + elif sys.platform == 'darwin': + self.plat_name = macos_plat_name() + use_os_name_hack = True + + if use_os_name_hack: + # This is a hack to circumvent the dubious check in + # distutils.commands.build -> finalize_options, which only + # allows setting the plat_name for windows NT. + # That is not the case for the wheel module though (which + # does allow setting plat_name), so we circumvent by faking + # the os name when finalizing the options, and then + # restoring the original os name. + os.name = "nt" + + _build.finalize_options(self) + + # Must come after _build.finalize_options + BuildInfoCollectorMixin.post_collect_and_assign(self) + + if use_os_name_hack: + os.name = os_name_backup + + def initialize_options(self): + _build.initialize_options(self) + self.make_path = None + self.make_generator = None + self.script_dir = None + self.sources_dir = None + self.build_dir = None + self.install_dir = None + self.py_executable = None + self.py_include_dir = None + self.py_library = None + self.py_version = None + self.py_arch = None + self.build_type = "Release" + self.qtinfo = None + self.build_tests = False + self.python_target_info = {} + + def run(self): + prepare_build() + + # Check env + make_path = None + make_generator = None + if not OPTION["ONLYPACKAGE"]: + platform_arch = platform.architecture()[0] + (make_path, make_generator) = get_make(platform_arch, self.build_type) + + self.qtinfo = QtInfo() + # Update the PATH environment variable + # Don't add Qt to PATH env var, we don't want it to interfere + # with CMake's find_package calls which will use + # CMAKE_PREFIX_PATH. + # Don't add the Python scripts dir to PATH env when + # cross-compiling, it could be in the device sysroot (/usr) + # which can cause CMake device QtFooToolsConfig packages to be + # picked up instead of host QtFooToolsConfig packages. + additional_paths = [] + if self.py_scripts_dir and not self.is_cross_compile: + additional_paths.append(self.py_scripts_dir) + + # Add Clang to path for Windows. + # Revisit once Clang is bundled with Qt. + if (sys.platform == "win32" + and parse_version(self.qtinfo.version) >= parse_version("5.7.0")): + clang_dir, clang_source = detect_clang() + if clang_dir: + clangBinDir = clang_dir / 'bin' + if str(clangBinDir) not in os.environ.get('PATH'): + log.info(f"Adding {clangBinDir} as detected by {clang_source} to PATH") + additional_paths.append(clangBinDir) + else: + raise SetupError("Failed to detect Clang when checking " + "LLVM_INSTALL_DIR, CLANG_INSTALL_DIR, llvm-config") + + update_env_path(additional_paths) + + self.make_path = make_path + self.make_generator = make_generator + + self.build_tests = OPTION["BUILDTESTS"] + + # Save the shiboken build dir path for clang deployment + # purposes. + self.shiboken_build_dir = self.build_dir / SHIBOKEN + + self.log_pre_build_info() + + # Prepare folders + if not self.sources_dir.exists(): + log.info(f"Creating sources folder {self.sources_dir}...") + os.makedirs(self.sources_dir) + if not self.build_dir.exists(): + log.info(f"Creating build folder {self.build_dir}...") + os.makedirs(self.build_dir) + if not self.install_dir.exists(): + log.info(f"Creating install folder {self.install_dir}...") + os.makedirs(self.install_dir) + + # Write the CMake install path into a file. Is used by + # SetupRunner to provide a nicer UX when cross-compiling (no + # need to specify a host shiboken path explicitly) + if self.internal_cmake_install_dir_query_file_path: + with open(self.internal_cmake_install_dir_query_file_path, 'w') as f: + f.write(os.fspath(self.install_dir)) + + if (not OPTION["ONLYPACKAGE"] + and not config.is_internal_shiboken_generator_build_and_part_of_top_level_all()): + # Build extensions + for ext in config.get_buildable_extensions(): + self.build_extension(ext) + + if OPTION["BUILDTESTS"]: + # we record the latest successful build and note the + # build directory for supporting the tests. + timestamp = time.strftime('%Y-%m-%d_%H%M%S') + build_history = setup_script_dir / 'build_history' + unique_dir = build_history / timestamp + unique_dir.mkdir(parents=True) + fpath = unique_dir / 'build_dir.txt' + with open(fpath, 'w') as f: + print(self.build_dir, file=f) + print(self.build_classifiers, file=f) + log.info(f"Created {build_history}") + + if not OPTION["SKIP_PACKAGING"]: + # Build patchelf if needed + self.build_patchelf() + + # Prepare packages + self.prepare_packages() + + # Build packages + _build.run(self) + + # Keep packaged directories for wheel construction + # This is to take advantage of the packaging step + # to keep the data in the proper structure to create + # a wheel. + _path = Path(self.st_build_dir) + _wheel_path = _path.parent / "package_for_wheels" + + _project = None + + if config.is_internal_shiboken_module_build(): + _project = "shiboken6" + elif config.is_internal_shiboken_generator_build(): + _project = "shiboken6_generator" + elif config.is_internal_pyside_build(): + _project = "PySide6" + + if _project is not None: + if not _wheel_path.exists(): + _wheel_path.mkdir(parents=True) + _src = Path(_path / _project) + _dst = Path(_wheel_path / _project) + # Remove the directory in case it exists. + # This applies to 'shiboken6', 'shiboken6_generator', + # and 'pyside6' inside the 'package_for_wheels' directory. + if _dst.exists(): + log.warning(f'Found directory "{_dst}", removing it first.') + remove_tree(_dst) + + try: + # This should be copied because the package directory + # is used when using the 'install' setup.py instruction. + copytree(_src, _dst) + except Exception as e: + log.warning(f'problem renaming "{self.st_build_dir}"') + log.warning(f'ignored error: {type(e).__name__}: {e}') + else: + log.info("Skipped preparing and building packages.") + log.info(f"--- Build completed ({elapsed()}s)") + + def log_pre_build_info(self): + if config.is_internal_shiboken_generator_build_and_part_of_top_level_all(): + return + + setuptools_install_prefix = sysconfig.get_paths()["purelib"] + if OPTION["FINAL_INSTALL_PREFIX"]: + setuptools_install_prefix = OPTION["FINAL_INSTALL_PREFIX"] + log.info("=" * 30) + log.info(f"Package version: {get_package_version()}") + log.info(f"Build type: {self.build_type}") + log.info(f"Build tests: {self.build_tests}") + log.info("-" * 3) + log.info(f"Make path: {self.make_path}") + log.info(f"Make generator: {self.make_generator}") + log.info(f"Make jobs: {OPTION['JOBS']}") + log.info("-" * 3) + log.info(f"setup.py directory: {self.script_dir}") + log.info(f"Build scripts directory: {build_scripts_dir}") + log.info(f"Sources directory: {self.sources_dir}") + log.info(dedent(f""" + Building {config.package_name()} will create and touch directories + in the following order: + make build directory -> + make install directory -> + setuptools build directory -> + setuptools install directory + (usually path-installed-python/lib/python*/site-packages/*) + """)) + log.info(f"make build directory: {self.build_dir}") + log.info(f"make install directory: {self.install_dir}") + log.info(f"setuptools build directory: {self.st_build_dir}") + log.info(f"setuptools install directory: {setuptools_install_prefix}") + log.info(dedent(f""" + make-installed site-packages directory: {self.site_packages_dir} + (only relevant for copying files from 'make install directory' + to 'setuptools build directory' + """)) + log.info("-" * 3) + log.info(f"Python executable: {self.py_executable}") + log.info(f"Python includes: {self.py_include_dir}") + log.info(f"Python library: {self.py_library}") + log.info(f"Python prefix: {self.py_prefix}") + log.info(f"Python scripts: {self.py_scripts_dir}") + log.info(f"Python arch: {self.py_arch}") + + log.info("-" * 3) + log.info(f"Qt prefix: {self.qtinfo.prefix_dir}") + log.info(f"Qt qmake: {self.qtinfo.qmake_command}") + log.info(f"Qt qtpaths: {self.qtinfo.qtpaths_command}") + log.info(f"Qt version: {self.qtinfo.version}") + log.info(f"Qt bins: {self.qtinfo.bins_dir}") + log.info(f"Qt docs: {self.qtinfo.docs_dir}") + log.info(f"Qt plugins: {self.qtinfo.plugins_dir}") + log.info("-" * 3) + if sys.platform == 'win32': + log.info(f"OpenSSL dll directory: {OPTION['OPENSSL']}") + if sys.platform == 'darwin': + pyside_macos_deployment_target = (macos_pyside_min_deployment_target()) + log.info(f"MACOSX_DEPLOYMENT_TARGET set to: {pyside_macos_deployment_target}") + log.info("=" * 30) + + def build_patchelf(self): + if not sys.platform.startswith('linux'): + return + self._patchelf_path = which('patchelf') + if self._patchelf_path: + self._patchelf_path = Path(self._patchelf_path) + if not self._patchelf_path.is_absolute(): + self._patchelf_path = Path.cwd() / self._patchelf_path + log.info(f"Using {self._patchelf_path} ...") + return + else: + raise SetupError("patchelf not found") + + def _enable_numpy(self): + if OPTION["ENABLE_NUMPY_SUPPORT"] or OPTION["PYSIDE_NUMPY_SUPPORT"]: + return True + if OPTION["DISABLE_NUMPY_SUPPORT"]: + return False + if self.is_cross_compile: # Do not search header in host Python + return False + # Debug builds require numpy to be built in debug mode on Windows + # https://numpy.org/devdocs/user/troubleshooting-importerror.html + return sys.platform != 'win32' or self.build_type.lower() != 'debug' + + def build_extension(self, extension): + # calculate the subrepos folder name + + log.info(f"Building module {extension}...") + + # Prepare folders + os.chdir(self.build_dir) + module_build_dir = self.build_dir / extension + skipflag_file = Path(f"{module_build_dir}-skip") + if skipflag_file.exists(): + log.info(f"Skipping {extension} because {skipflag_file} exists") + return + + module_build_exists = module_build_dir.exists() + if module_build_exists: + if not OPTION["REUSE_BUILD"]: + log.info(f"Deleting module build folder {module_build_dir}...") + try: + remove_tree(module_build_dir) + except Exception as e: + log.error(f'***** problem removing "{module_build_dir}"') + log.error(f'ignored error: {e}') + else: + log.info(f"Reusing module build folder {module_build_dir}...") + if not module_build_dir.exists(): + log.info(f"Creating module build folder {module_build_dir}...") + os.makedirs(module_build_dir) + os.chdir(module_build_dir) + + module_src_dir = self.sources_dir / extension + + # Build module + cmake_cmd = [str(OPTION["CMAKE"])] + cmake_quiet_build = 1 + cmake_rule_messages = 0 + if OPTION["LOG_LEVEL"] == LogLevel.VERBOSE: + # Pass a special custom option, to allow printing a lot less information when doing + # a quiet build. + cmake_quiet_build = 0 + if self.make_generator == "Unix Makefiles": + # Hide progress messages for each built source file. + # Doesn't seem to work if set within the cmake files themselves. + cmake_rule_messages = 1 + + if OPTION["UNITY"]: + cmake_cmd.append("-DCMAKE_UNITY_BUILD=ON") + batch_size = OPTION["UNITY_BUILD_BATCH_SIZE"] + cmake_cmd.append(f"-DCMAKE_UNITY_BUILD_BATCH_SIZE={batch_size}") + log.info("Using UNITY build") + + cmake_cmd += [ + "-G", self.make_generator, + f"-DBUILD_TESTS={self.build_tests}", + f"-DQt5Help_DIR={self.qtinfo.docs_dir}", + f"-DCMAKE_BUILD_TYPE={self.build_type}", + f"-DCMAKE_INSTALL_PREFIX={self.install_dir}", + # Record the minimum/maximum Python version for later use in Shiboken.__init__ + f"-DMINIMUM_PYTHON_VERSION={get_allowed_python_versions()[0]}", + f"-DMAXIMUM_PYTHON_VERSION={get_allowed_python_versions()[-1]}", + f"-DQUIET_BUILD={cmake_quiet_build}", + f"-DCMAKE_RULE_MESSAGES={cmake_rule_messages}", + str(module_src_dir) + ] + + # When cross-compiling we set Python_ROOT_DIR to tell + # FindPython.cmake where to pick up the device python libs. + if self.is_cross_compile: + if self.python_target_path: + cmake_cmd.append(f"-DPython_ROOT_DIR={self.python_target_path}") + + # Host python is needed when cross compiling to run + # embedding_generator.py. Pass it as a separate option. + cmake_cmd.append(f"-DQFP_PYTHON_HOST_PATH={sys.executable}") + else: + cmake_cmd.append(f"-DPYTHON_EXECUTABLE={self.py_executable}") + cmake_cmd.append(f"-DPYTHON_INCLUDE_DIR={self.py_include_dir}") + cmake_cmd.append(f"-DPYTHON_LIBRARY={self.py_library}") + + # If a custom shiboken cmake config directory path was provided, pass it to CMake. + if OPTION["SHIBOKEN_CONFIG_DIR"] and config.is_internal_pyside_build(): + config_dir = OPTION["SHIBOKEN_CONFIG_DIR"] + if config_dir.exists(): + log.info(f"Using custom provided {SHIBOKEN} installation: {config_dir}") + cmake_cmd.append(f"-DShiboken6_DIR={config_dir}") + else: + + log.info(f"Custom provided {SHIBOKEN} installation not found. " + f"Path given: {config_dir}") + + if OPTION["MODULE_SUBSET"]: + module_sub_set = '' + for m in OPTION["MODULE_SUBSET"].split(','): + if m.startswith('Qt'): + m = m[2:] + if module_sub_set: + module_sub_set += ';' + module_sub_set += m + cmake_cmd.append(f"-DMODULES={module_sub_set}") + elif str(OPTION['PLAT_NAME']).startswith("android"): + modules = ';'.join(ANDROID_ESSENTIALS) + cmake_cmd.append(f"-DMODULES={modules}") + + if OPTION["SKIP_MODULES"]: + skip_modules = '' + for m in OPTION["SKIP_MODULES"].split(','): + if m.startswith('Qt'): + m = m[2:] + if skip_modules: + skip_modules += ';' + skip_modules += m + cmake_cmd.append(f"-DSKIP_MODULES={skip_modules}") + # Add source location for generating documentation + cmake_src_dir = OPTION["QT_SRC"] if OPTION["QT_SRC"] else qt_src_dir + if cmake_src_dir: + cmake_cmd.append(f"-DQT_SRC_DIR={cmake_src_dir}") + if OPTION['NO_QT_TOOLS']: + cmake_cmd.append("-DNO_QT_TOOLS=yes") + if OPTION['SKIP_DOCS']: + log.info("Warning: '--skip-docs' is deprecated and will be removed. " + "The documentation is not built by default") + if OPTION['BUILD_DOCS']: + cmake_cmd.append("-DBUILD_DOCS=yes") + log.info(f"Qt Source dir: {cmake_src_dir}") + + # Use Legacy OpenGL to avoid issues on systems like Ubuntu 20.04 + # which require to manually install the libraries which + # were previously linked to the QtGui module in 6.1 + # https://bugreports.qt.io/browse/QTBUG-89754 + cmake_cmd.append("-DOpenGL_GL_PREFERENCE=LEGACY") + + if OPTION['AVOID_PROTECTED_HACK']: + cmake_cmd.append("-DAVOID_PROTECTED_HACK=1") + + if self._enable_numpy(): + numpy = get_numpy_location() + if numpy: + cmake_cmd.append(f"-DNUMPY_INCLUDE_DIR={numpy}") + else: + log.warning('numpy include directory was not found.') + + if self.build_type.lower() == 'debug': + if not self.is_cross_compile: + cmake_cmd.append(f"-DPYTHON_DEBUG_LIBRARY={self.py_library}") + else: + if OPTION['NO_STRIP']: + cmake_cmd.append("-DQFP_NO_STRIP=1") + if OPTION['NO_OVERRIDE_OPTIMIZATION_FLAGS']: + cmake_cmd.append("-DQFP_NO_OVERRIDE_OPTIMIZATION_FLAGS=1") + + if OPTION["LIMITED_API"] == "yes": + cmake_cmd.append("-DFORCE_LIMITED_API=yes") + elif OPTION["LIMITED_API"] == "no": + cmake_cmd.append("-DFORCE_LIMITED_API=no") + elif not OPTION["LIMITED_API"]: + if sys.platform == 'win32' and self.debug: + cmake_cmd.append("-DFORCE_LIMITED_API=no") + else: + raise SetupError("option limited-api must be 'yes' or 'no' " + "(default yes if applicable, i.e. Python " + "version >= 3.7 and release build if on Windows)") + + if OPTION["LOG_LEVEL"] == LogLevel.VERBOSE: + cmake_cmd.append("-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON") + else: + cmake_cmd.append("-DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF") + + + if OPTION['COMPILER_LAUNCHER']: + compiler_launcher = OPTION['COMPILER_LAUNCHER'] + cmake_cmd.append(f"-DCMAKE_C_COMPILER_LAUNCHER={compiler_launcher}") + cmake_cmd.append(f"-DCMAKE_CXX_COMPILER_LAUNCHER={compiler_launcher}") + + if OPTION["SANITIZE_ADDRESS"]: + # Some simple sanity checking. Only use at your own risk. + if (sys.platform.startswith('linux') + or sys.platform.startswith('darwin')): + cmake_cmd.append("-DSANITIZE_ADDRESS=ON") + else: + raise SetupError("Address sanitizer can only be used on Linux and macOS.") + + if extension.lower() == PYSIDE: + pyside_qt_conf_prefix = '' + if OPTION["QT_CONF_PREFIX"]: + pyside_qt_conf_prefix = OPTION["QT_CONF_PREFIX"] + else: + if OPTION["STANDALONE"]: + pyside_qt_conf_prefix = '"Qt"' + if sys.platform == 'win32': + pyside_qt_conf_prefix = '"."' + cmake_cmd.append(f"-DPYSIDE_QT_CONF_PREFIX={pyside_qt_conf_prefix}") + + # Pass package version to CMake, so this string can be + # embedded into _config.py file. + package_version = get_package_version() + cmake_cmd.append(f"-DPACKAGE_SETUP_PY_PACKAGE_VERSION={package_version}") + + # In case if this is a snapshot build, also pass the + # timestamp as a separate value, because it is the only + # version component that is actually generated by setup.py. + timestamp = '' + if OPTION["SNAPSHOT_BUILD"]: + timestamp = get_package_timestamp() + cmake_cmd.append(f"-DPACKAGE_SETUP_PY_PACKAGE_TIMESTAMP={timestamp}") + + if extension.lower() in [SHIBOKEN]: + cmake_cmd.append("-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=yes") + cmake_cmd.append("-DUSE_PYTHON_VERSION=3.7") + + cmake_cmd += platform_cmake_options() + + if sys.platform == 'darwin': + if OPTION["MACOS_ARCH"]: + # also tell cmake which architecture to use + cmake_cmd.append(f"-DCMAKE_OSX_ARCHITECTURES:STRING={OPTION['MACOS_ARCH']}") + + if OPTION["MACOS_USE_LIBCPP"]: + # Explicitly link the libc++ standard library (useful + # for macOS deployment targets lower than 10.9). + # This is not on by default, because most libraries and + # executables on macOS <= 10.8 are linked to libstdc++, + # and mixing standard libraries can lead to crashes. + # On macOS >= 10.9 with a similar minimum deployment + # target, libc++ is linked in implicitly, thus the + # option is a no-op in those cases. + cmake_cmd.append("-DOSX_USE_LIBCPP=ON") + + if OPTION["MACOS_SYSROOT"]: + cmake_cmd.append(f"-DCMAKE_OSX_SYSROOT={OPTION['MACOS_SYSROOT']}") + else: + latest_sdk_path = run_process_output(['xcrun', '--sdk', 'macosx', + '--show-sdk-path']) + if latest_sdk_path: + latest_sdk_path = latest_sdk_path[0] + cmake_cmd.append(f"-DCMAKE_OSX_SYSROOT={latest_sdk_path}") + + # Set macOS minimum deployment target (version). + # This is required so that calling + # run_process -> distutils.spawn() + # does not set its own minimum deployment target + # environment variable which is based on the python + # interpreter sysconfig value. + # Doing so could break the detected clang include paths + # for example. + deployment_target = macos_pyside_min_deployment_target() + cmake_cmd.append(f"-DCMAKE_OSX_DEPLOYMENT_TARGET={deployment_target}") + os.environ['MACOSX_DEPLOYMENT_TARGET'] = deployment_target + + if OPTION["BUILD_DOCS"]: + # Build the whole documentation (rst + API) by default + cmake_cmd.append("-DFULLDOCSBUILD=1") + + if OPTION["DOC_BUILD_ONLINE"]: + log.info("Output format will be HTML") + cmake_cmd.append("-DDOC_OUTPUT_FORMAT=html") + else: + log.info("Output format will be qthelp") + cmake_cmd.append("-DDOC_OUTPUT_FORMAT=qthelp") + else: + cmake_cmd.append("-DBUILD_DOCS=no") + if OPTION["DOC_BUILD_ONLINE"]: + log.info("Warning: Documentation build is disabled, " + "however --doc-build-online was passed. " + "Use '--build-docs' to enable the documentation build") + + if OPTION["PYSIDE_NUMPY_SUPPORT"]: + log.info("Warning: '--pyside-numpy-support' is deprecated and will be removed. " + "Use --enable-numpy-support/--disable-numpy-support.") + + target_qt_prefix_path = self.qtinfo.prefix_dir + cmake_cmd.append(f"-DQFP_QT_TARGET_PATH={target_qt_prefix_path}") + if self.qt_host_path: + cmake_cmd.append(f"-DQFP_QT_HOST_PATH={self.qt_host_path}") + + if self.is_cross_compile and (not OPTION["SHIBOKEN_HOST_PATH"] + or not Path(OPTION["SHIBOKEN_HOST_PATH"]).exists()): + raise SetupError("Please specify the location of host shiboken tools via " + "--shiboken-host-path=") + + if self.shiboken_host_path: + cmake_cmd.append(f"-DQFP_SHIBOKEN_HOST_PATH={self.shiboken_host_path}") + + if self.shiboken_target_path: + cmake_cmd.append(f"-DQFP_SHIBOKEN_TARGET_PATH={self.shiboken_target_path}") + elif self.cmake_toolchain_file and not extension.lower() == SHIBOKEN: + # Need to tell where to find target shiboken when + # cross-compiling pyside. + cmake_cmd.append(f"-DQFP_SHIBOKEN_TARGET_PATH={self.install_dir}") + + if self.cmake_toolchain_file: + cmake_cmd.append(f"-DCMAKE_TOOLCHAIN_FILE={self.cmake_toolchain_file}") + + if not OPTION["SKIP_CMAKE"]: + log.info(f"Configuring module {extension} ({module_src_dir})...") + if run_process(cmake_cmd) != 0: + raise SetupError(f"Error configuring {extension}") + else: + log.info(f"Reusing old configuration for module {extension} ({module_src_dir})...") + + log.info(f"-- Compiling module {extension}...") + cmd_make = [str(self.make_path)] + if OPTION["JOBS"]: + cmd_make.append(OPTION["JOBS"]) + if OPTION["LOG_LEVEL"] == LogLevel.VERBOSE and self.make_generator == "Ninja": + cmd_make.append("-v") + if run_process(cmd_make) != 0: + raise SetupError(f"Error compiling {extension}") + + if sys.version_info == (3, 6) and sys.platform == "darwin": + # Python 3.6 has a Sphinx problem because of docutils 0.17 . + # Instead of pinning v0.16, setting the default encoding fixes that. + # Since other platforms are not affected, we restrict this to macOS. + if "UTF-8" not in os.environ.get("LC_ALL", ""): + os.environ["LC_ALL"] = "en_US.UTF-8" + + if OPTION["BUILD_DOCS"]: + if extension.lower() == SHIBOKEN: + found = importlib.util.find_spec("sphinx") + if found: + log.info("Generating Shiboken documentation") + make_doc_cmd = [str(self.make_path), "doc"] + if OPTION["LOG_LEVEL"] == LogLevel.VERBOSE and self.make_generator == "Ninja": + make_doc_cmd.append("-v") + if run_process(make_doc_cmd) != 0: + raise SetupError("Error generating documentation " + f"for {extension}") + else: + log.info("Sphinx not found, skipping documentation build") + else: + log.info("-- Skipped documentation generation. Enable with '--build-docs'") + cmake_cmd.append("-DBUILD_DOCS=no") + + if not OPTION["SKIP_MAKE_INSTALL"]: + log.info(f"Installing module {extension}...") + # Need to wait a second, so installed file timestamps are + # older than build file timestamps. + # See https://gitlab.kitware.com/cmake/cmake/issues/16155 + # for issue details. + if sys.platform == 'darwin': + log.info("Waiting 1 second, to ensure installation is successful...") + time.sleep(1) + # ninja: error: unknown target 'install/fast' + target = 'install/fast' if self.make_generator != 'Ninja' else 'install' + if run_process([str(self.make_path), target]) != 0: + raise SetupError(f"Error pseudo installing {extension}") + else: + log.info(f"Skipped installing module {extension}") + + os.chdir(self.script_dir) + + def prepare_packages(self): + """ + This will copy all relevant files from the various locations in the "cmake install dir", + to the setup tools build dir (which is read from self.build_lib provided by distutils). + + After that setuptools.command.build_py is smart enough to copy everything + from the build dir to the install dir (the virtualenv site-packages for example). + """ + try: + log.info("Preparing setup tools build directory.") + _vars = { + "site_packages_dir": self.site_packages_dir, + "sources_dir": self.sources_dir, + "install_dir": self.install_dir, + "build_dir": self.build_dir, + "script_dir": self.script_dir, + "st_build_dir": self.st_build_dir, + "cmake_package_name": config.package_name(), + "st_package_name": config.package_name(), + "ssl_libs_dir": OPTION["OPENSSL"], + "py_version": self.py_version, + "qt_version": self.qtinfo.version, + "qt_bin_dir": self.qtinfo.bins_dir, + "qt_data_dir": self.qtinfo.data_dir, + "qt_doc_dir": self.qtinfo.docs_dir, + "qt_lib_dir": self.qtinfo.libs_dir, + "qt_module_json_files_dir": self.qtinfo.module_json_files_dir, + "qt_metatypes_dir": self.qtinfo.metatypes_dir, + "qt_lib_execs_dir": self.qtinfo.lib_execs_dir, + "qt_plugins_dir": self.qtinfo.plugins_dir, + "qt_prefix_dir": self.qtinfo.prefix_dir, + "qt_translations_dir": self.qtinfo.translations_dir, + "qt_qml_dir": self.qtinfo.qml_dir, + + # TODO: This is currently None when cross-compiling + # There doesn't seem to be any place where we can query + # it. Fortunately it's currently only used when + # packaging Windows vcredist. + "target_arch": self.py_arch, + } + + # Needed for correct file installation in generator build + # case. + if config.is_internal_shiboken_generator_build(): + _vars['cmake_package_name'] = config.shiboken_module_option_name + + os.chdir(self.script_dir) + + # Clean up the previous st_build_dir before files are copied + # into it again. That's the because the same dir is used + # when copying the files for each of the sub-projects and + # we don't want to accidentally install shiboken files + # as part of pyside-tools package. + if self.st_build_dir.is_dir(): + log.info(f"Removing {self.st_build_dir}") + try: + remove_tree(self.st_build_dir) + except Exception as e: + log.warning(f'problem removing "{self.st_build_dir}"') + log.warning(f'ignored error: {e}') + + if sys.platform == "win32": + _vars['dbg_postfix'] = OPTION["DEBUG"] and "_d" or "" + return prepare_packages_win32(self, _vars) + else: + return prepare_packages_posix(self, _vars, self.is_cross_compile) + except IOError as e: + print('setup.py/prepare_packages: ', e) + raise + + def qt_is_framework_build(self): + return Path(f"{self.qtinfo.headers_dir}/../lib/QtCore.framework").is_dir() + + def get_built_pyside_config(self, _vars): + # Get config that contains list of built modules, and + # SOVERSIONs of the built libraries. + st_build_dir = Path(_vars['st_build_dir']) + config_path = st_build_dir / config.package_name() / "_config.py" + temp_config = get_python_dict(config_path) + if 'built_modules' not in temp_config: + temp_config['built_modules'] = [] + return temp_config + + def is_webengine_built(self, built_modules): + return ('WebEngineWidgets' in built_modules + or 'WebEngineCore' in built_modules + or 'WebEngine' in built_modules) + + def prepare_standalone_clang(self, is_win=False): + """ + Copies the libclang library to the shiboken6-generator + package so that the shiboken executable works. + """ + log.info('Finding path to the libclang shared library.') + cmake_cmd = [ + str(OPTION["CMAKE"]), + "-L", # Lists variables + "-N", # Just inspects the cache (faster) + "-B", # Specifies the build dir + str(self.shiboken_build_dir) + ] + out = run_process_output(cmake_cmd) + lines = [s.strip() for s in out] + pattern = re.compile(r"CLANG_LIBRARY:FILEPATH=(.+)$") + + clang_lib_path = None + for line in lines: + match = pattern.search(line) + if match: + clang_lib_path = match.group(1) + break + + if not clang_lib_path: + raise RuntimeError("Could not find the location of the libclang " + "library inside the CMake cache file.") + + if is_win: + # clang_lib_path points to the static import library + # (lib/libclang.lib), whereas we want to copy the shared + # library (bin/libclang.dll). + clang_lib_path = Path(re.sub(r'lib/libclang.lib$', + 'bin/libclang.dll', + clang_lib_path)) + else: + clang_lib_path = Path(clang_lib_path) + # shiboken6 links against libclang.so.6 or a similarly + # named library. + # If the linked against library is a symlink, resolve + # the symlink once (but not all the way to the real + # file) on Linux and macOS, + # so that we get the path to the "SO version" symlink + # (the one used as the install name in the shared library + # dependency section). + # E.g. On Linux libclang.so -> libclang.so.6 -> + # libclang.so.6.0. + # "libclang.so.6" is the name we want for the copied file. + if clang_lib_path.is_symlink(): + link_target = Path(os.readlink(clang_lib_path)) + if link_target.is_absolute(): + clang_lib_path = link_target + else: + # link_target is relative, transform to absolute. + clang_lib_path = clang_lib_path.parent / link_target + clang_lib_path = clang_lib_path.resolve() + + # The destination will be the shiboken package folder. + _vars = {} + _vars['st_build_dir'] = self.st_build_dir + _vars['st_package_name'] = config.package_name() + destination_dir = Path("{st_build_dir}/{st_package_name}".format(**_vars)) + + if clang_lib_path.exists(): + basename = clang_lib_path.name + log.info(f"Copying libclang shared library {clang_lib_path} to the package " + f"folder as {basename}.") + destination_path = destination_dir / basename + + # Need to modify permissions in case file is not writable + # (a reinstall would cause a permission denied error). + copyfile(clang_lib_path, + destination_path, + force_copy_symlink=True, + make_writable_by_owner=True) + else: + raise RuntimeError("Error copying libclang library " + f"from {clang_lib_path} to {destination_dir}. ") + + def get_shared_library_filters(self): + unix_filters = ["*.so", "*.so.*"] + darwin_filters = ["*.so", "*.dylib"] + filters = [] + if self.is_cross_compile: + if 'darwin' in self.plat_name or 'macos' in self.plat_name: + filters = darwin_filters + elif 'linux' in self.plat_name or 'android' in self.plat_name: + filters = unix_filters + else: + log.warning(f"No shared library filters found for platform {self.plat_name}. " + f"The package might miss Qt libraries and plugins.") + else: + if sys.platform == 'darwin': + filters = darwin_filters + else: + filters = unix_filters + return filters + + def _find_shared_libraries(self, path, recursive=False): + """Helper to find shared libraries in a path.""" + result = set() + for filter in self.get_shared_library_filters(): + glob_pattern = f"**/{filter}" if recursive else filter + for library in path.glob(glob_pattern): + result.add(library) + return list(result) + + def package_libraries(self, package_path): + """Returns the libraries of the Python module""" + return self._find_shared_libraries(package_path) + + def get_shared_libraries_in_path_recursively(self, initial_path): + """Returns shared library plugins in given path (collected + recursively)""" + return self._find_shared_libraries(initial_path, recursive=True) + + def update_rpath(self, executables, libexec=False, message=None): + ROOT = '@loader_path' if sys.platform == 'darwin' else '$ORIGIN' + QT_PATH = '/../lib' if libexec else '/Qt/lib' + + message = "Patched rpath to '$ORIGIN/' in" + if sys.platform.startswith('linux'): + def rpath_cmd(srcpath): + final_rpath = '' + # Command line rpath option takes precedence over + # automatically added one. + if OPTION["RPATH_VALUES"]: + final_rpath = OPTION["RPATH_VALUES"] + else: + # Add rpath values pointing to $ORIGIN and the + # installed qt lib directory. + final_rpath = self.qtinfo.libs_dir + if OPTION["STANDALONE"]: + final_rpath = f'{ROOT}{QT_PATH}' + override = OPTION["STANDALONE"] + linux_fix_rpaths_for_library(self._patchelf_path, srcpath, final_rpath, + override=override) + + elif sys.platform == 'darwin': + message = "Updated rpath in" + def rpath_cmd(srcpath): + final_rpath = '' + # Command line rpath option takes precedence over + # automatically added one. + if OPTION["RPATH_VALUES"]: + final_rpath = OPTION["RPATH_VALUES"] + else: + if OPTION["STANDALONE"]: + final_rpath = f'{ROOT}{QT_PATH}' + else: + final_rpath = self.qtinfo.libs_dir + macos_fix_rpaths_for_library(srcpath, final_rpath) + + else: + raise RuntimeError(f"Not configured for platform {sys.platform}") + + # Update rpath + for executable in executables: + if executable.is_dir() or executable.is_symlink(): + continue + if not executable.exists(): + continue + rpath_cmd(executable) + log.debug(f"{message} {executable}.") + + def update_rpath_for_linux_plugins( + self, + plugin_paths, + qt_lib_dir=None, + is_qml_plugin=False): + + # If the linux sysroot (where the plugins are copied from) + # is from a mainline distribution, it might have a different + # directory layout than then one we expect to have in the + # wheel. + # We have to ensure that any plugins copied have rpath + # values that can find Qt libs in the newly assembled wheel + # dir layout. + if not (self.is_cross_compile and sys.platform.startswith('linux') and self.standalone): + return + + log.info("Patching rpath for Qt and QML plugins.") + for plugin in plugin_paths: + if plugin.is_dir() or plugin.is_symlink(): + continue + if not plugin.exists(): + continue + + if is_qml_plugin: + plugin_dir = plugin.parent + # FIXME: there is no os.path.relpath equivalent on pathlib. + # The Path.relative_to is not equivalent and raises ValueError when the paths + # are not subpaths, so it doesn't generate "../../something". + rel_path_from_qml_plugin_qt_lib_dir = os.path.relpath(qt_lib_dir, plugin_dir) + rpath_value = Path("$ORIGIN") / rel_path_from_qml_plugin_qt_lib_dir + else: + rpath_value = "$ORIGIN/../../lib" + + linux_fix_rpaths_for_library(self._patchelf_path, plugin, rpath_value, + override=True) + log.debug(f"Patched rpath to '{rpath_value}' in {plugin}.") + + def update_rpath_for_linux_qt_libraries(self, qt_lib_dir): + # Ensure that Qt libs and ICU libs have $ORIGIN in their rpath. + # Especially important for ICU lib, so that they don't + # accidentally load dependencies from the system. + if not (self.is_cross_compile and sys.platform.startswith('linux') and self.standalone): + return + + qt_lib_dir = Path(qt_lib_dir) + rpath_value = "$ORIGIN" + log.info(f"Patching rpath for Qt and ICU libraries in {qt_lib_dir}.") + for library in self.package_libraries(qt_lib_dir): + if library.is_dir() or library.is_symlink(): + continue + if not library.exists(): + continue + + linux_fix_rpaths_for_library(self._patchelf_path, library, rpath_value, override=True) + log.debug(f"Patched rpath to '{rpath_value}' in {library}.") + + +class PysideRstDocs(Command, CommandMixin): + description = "Build .rst documentation only" + user_options = CommandMixin.mixin_user_options + + def __init__(self, *args, **kwargs): + self.command_name = "build_rst_docs" + Command.__init__(self, *args, **kwargs) + CommandMixin.__init__(self) + + def initialize_options(self): + log.info("-- This build process will not include the API documentation." + "API documentation requires a full build of pyside/shiboken.") + self.skip = False + if config.is_internal_shiboken_generator_build(): + self.skip = True + if not self.skip: + self.name = config.package_name().lower() + self.doc_dir = config.setup_script_dir / "sources" / self.name / "doc" + # Check if sphinx is installed to proceed. + found = importlib.util.find_spec("sphinx") + if found: + if self.name == SHIBOKEN: + log.info("-- Generating Shiboken documentation") + log.info(f"-- Documentation directory: 'html/{PYSIDE}/{SHIBOKEN}/'") + elif self.name == PYSIDE: + log.info("-- Generating PySide documentation") + log.info(f"-- Documentation directory: 'html/{PYSIDE}/'") + else: + raise SetupError("Sphinx not found - aborting") + self.html_dir = Path("html") + + # creating directories html/pyside6/shiboken6 + try: + if not self.html_dir.is_dir(): + self.html_dir.mkdir(parents=True) + if self.name == SHIBOKEN: + out_pyside = self.html_dir / PYSIDE + if not out_pyside.is_dir(): + out_pyside.mkdir(parents=True) + out_shiboken = out_pyside / SHIBOKEN + if not out_shiboken.is_dir(): + out_shiboken.mkdir(parents=True) + self.out_dir = out_shiboken + # We know that on the shiboken step, we already created the + # 'pyside6' directory + elif self.name == PYSIDE: + self.out_dir = self.html_dir / PYSIDE + except (PermissionError, FileExistsError): + raise SetupError(f"Error while creating directories for {self.doc_dir}") + + def run(self): + if not self.skip: + cmake_cmd = [ + str(OPTION["CMAKE"]), + "-S", str(self.doc_dir), + "-B", str(self.out_dir), + "-DDOC_OUTPUT_FORMAT=html", + "-DFULLDOCSBUILD=0", + ] + + cmake_quiet_build = 1 + cmake_message_log_level = "STATUS" + + # Define log level + if OPTION["LOG_LEVEL"] == LogLevel.VERBOSE: + cmake_quiet_build = 0 + cmake_message_log_level = "VERBOSE" + elif OPTION["LOG_LEVEL"] == LogLevel.QUIET: + cmake_message_log_level = "ERROR" + + cmake_cmd.append(f"-DQUIET_BUILD={cmake_quiet_build}") + cmake_cmd.append(f"-DCMAKE_MESSAGE_LOG_LEVEL={cmake_message_log_level}") + + if run_process(cmake_cmd) != 0: + raise SetupError(f"Error running CMake for {self.doc_dir}") + + if self.name == PYSIDE: + self.sphinx_src = self.out_dir / "rst" + example_gallery = config.setup_script_dir / "tools" / "example_gallery" / "main.py" + assert(example_gallery.is_file()) + example_gallery_cmd = [sys.executable, os.fspath(example_gallery)] + if OPTION["LOG_LEVEL"] == LogLevel.QUIET: + example_gallery_cmd.append("--quiet") + if run_process(example_gallery_cmd) != 0: + raise SetupError(f"Error running example gallery for {self.doc_dir}") + elif self.name == SHIBOKEN: + self.sphinx_src = self.out_dir + + sphinx_cmd = ["sphinx-build", "-b", "html", "-j", "auto", "-c", + str(self.sphinx_src), str(self.doc_dir), + str(self.out_dir)] + if run_process(sphinx_cmd) != 0: + raise SetupError(f"Error running CMake for {self.doc_dir}") + # Last message + if not self.skip and self.name == PYSIDE: + log.info(f"-- The documentation was built. Check html/{PYSIDE}/index.html") + + def finalize_options(self): + CommandMixin.mixin_finalize_options(self) + + +cmd_class_dict = { + 'build': PysideBuild, + 'build_py': PysideBuildPy, + 'build_ext': PysideBuildExt, + 'bdist_egg': PysideBdistEgg, + 'develop': PysideDevelop, + 'install': PysideInstall, + 'install_lib': PysideInstallLib, + 'build_rst_docs': PysideRstDocs, +} +if wheel_module_exists: + pyside_bdist_wheel = get_bdist_wheel_override() + if pyside_bdist_wheel: + cmd_class_dict['bdist_wheel'] = pyside_bdist_wheel diff --git a/build_scripts/options.py b/build_scripts/options.py new file mode 100644 index 0000000..5d4c442 --- /dev/null +++ b/build_scripts/options.py @@ -0,0 +1,594 @@ +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +try: + from setuptools import Command +except ModuleNotFoundError: + # This is motivated by our CI using an old version of setuptools + # so then the coin_build_instructions.py script is executed, and + # import from this file, it was failing. + from distutils.cmd import Command # TODO: remove + +import sys +import logging +from pathlib import Path + +from .log import log, LogLevel +from .qtinfo import QtInfo +from .utils import memoize, which + +_AVAILABLE_MKSPECS = ["ninja", "msvc", "mingw"] if sys.platform == "win32" else ["ninja", "make"] + + +# Global options not which are not part of the commands +ADDITIONAL_OPTIONS = """ +Additional options: + --limited-api Use Limited API [yes/no] + ---macos-use-libc++ Use libc++ on macOS + --snapshot-build Snapshot build + --package-timestamp Package Timestamp + --cmake-toolchain-file Path to CMake toolchain to enable cross-compiling + --shiboken-host-path Path to host shiboken package when cross-compiling + --qt-host-path Path to host Qt installation when cross-compiling +""" + + +def _warn_multiple_option(option): + log.warning(f'Option "{option}" occurs multiple times on the command line.') + + +def _warn_deprecated_option(option, replacement=None): + w = f'Option "{option}" is deprecated and may be removed in a future release.' + if replacement: + w = f'{w}\nUse "{replacement}" instead.' + log.warning(w) + + +class Options(object): + def __init__(self): + + # Dictionary containing values of all the possible options. + self.dict = {} + + def has_option(self, name, remove=True): + """ Returns True if argument '--name' was passed on the command + line. """ + option = f"--{name}" + count = sys.argv.count(option) + remove_count = count + if not remove and count > 0: + remove_count -= 1 + for _ in range(remove_count): + sys.argv.remove(option) + if count > 1: + _warn_multiple_option(option) + return count > 0 + + def option_value(self, name, short_option_name=None, remove=True): + """ + Returns the value of a command line option. + + :param name: The name of the command line option. + + :param remove: Whether the option and its value should be + removed from sys.argv. Useful when there's a need to query for + the value and also pass it along to setuptools for example. + + :return: Either the option value or None. + """ + + option = f"--{name}" + short_option = f"-{short_option_name}" if short_option_name else None + single_option_prefix = f"{option}=" + value = None + for index in reversed(range(len(sys.argv))): + arg = sys.argv[index] + if arg == option or short_option and arg == short_option: + if value: + _warn_multiple_option(option) + else: + if index + 1 >= len(sys.argv): + raise RuntimeError(f"The option {option} requires a value") + value = sys.argv[index + 1] + + if remove: + sys.argv[index:index + 2] = [] + + elif arg.startswith(single_option_prefix): + if value: + _warn_multiple_option(option) + else: + value = arg[len(single_option_prefix):] + + if remove: + sys.argv[index:index + 1] = [] + + self.dict[name] = value + return value + + +options = Options() + + +def has_option(*args, **kwargs): + return options.has_option(*args, **kwargs) + + +def option_value(*args, **kwargs): + return options.option_value(*args, **kwargs) + + +def _jobs_option_value(): + """Option value for parallel builds.""" + value = option_value('parallel', short_option_name='j') + if value: + return f"-j{value}" if not value.startswith('-j') else value + return '' + + +def find_qtpaths(): + # for these command --qtpaths should not be required + no_qtpaths_commands = ["--help", "--help-commands", "--qt-target-path", "build_rst_docs"] + + for no_qtpaths_command in no_qtpaths_commands: + if any(no_qtpaths_command in argument for argument in sys.argv): + return None + + qtpaths = option_value("qtpaths") + if qtpaths: + return qtpaths + + # if qtpaths is not given as cli option, try to find it in PATH + qtpaths = which("qtpaths6") + if qtpaths: + return str(qtpaths.resolve()) + + qtpaths = which("qtpaths") + if qtpaths: + return str(qtpaths.resolve()) + + return qtpaths + + +# Declare options which need to be known when instantiating the setuptools +# commands or even earlier during SetupRunner.run(). +OPTION = { + "BUILD_TYPE": option_value("build-type"), + "INTERNAL_BUILD_TYPE": option_value("internal-build-type"), + # number of parallel build jobs + "JOBS": _jobs_option_value(), + # Legacy, not used any more. + "JOM": has_option('jom'), + "MACOS_USE_LIBCPP": has_option("macos-use-libc++"), + "LOG_LEVEL": option_value("log-level", remove=False), + "QUIET": has_option('quiet'), + "VERBOSE_BUILD": has_option('verbose-build'), + "SNAPSHOT_BUILD": has_option("snapshot-build"), + "LIMITED_API": option_value("limited-api"), + "PACKAGE_TIMESTAMP": option_value("package-timestamp"), + # This is used automatically by distutils.command.install object, to + # specify the final installation location. + "FINAL_INSTALL_PREFIX": option_value("prefix", remove=False), + "CMAKE_TOOLCHAIN_FILE": option_value("cmake-toolchain-file"), + "SHIBOKEN_HOST_PATH": option_value("shiboken-host-path"), + "SHIBOKEN_HOST_PATH_QUERY_FILE": option_value("internal-shiboken-host-path-query-file"), + "QT_HOST_PATH": option_value("qt-host-path"), + # This is used to identify the template for doc builds + "QTPATHS": find_qtpaths() + # This is an optional command line option. If --qtpaths is not provided via command-line, + # then qtpaths is checked inside PATH variable +} + +_deprecated_option_jobs = option_value('jobs') +if _deprecated_option_jobs: + _warn_deprecated_option('jobs', 'parallel') + OPTION["JOBS"] = _deprecated_option_jobs + + +class CommandMixin(object): + """Mixin for the setuptools build/install commands handling the options.""" + + _static_class_finalized_once = False + + mixin_user_options = [ + ('avoid-protected-hack', None, 'Force --avoid-protected-hack'), + ('debug', None, 'Build with debug information'), + ('relwithdebinfo', None, 'Build in release mode with debug information'), + ('only-package', None, 'Package only'), + ('no-strip', None, 'Do not strip package libraries (release mode)'), + ('standalone', None, 'Standalone build'), + ('ignore-git', None, 'Do update subrepositories'), + ('skip-docs', None, 'Skip documentation build (deprecated)'), + ('build-docs', None, 'Build the API documentation'), + ('no-jom', None, 'Do not use jom (MSVC)'), + ('build-tests', None, 'Build tests'), + ('use-xvfb', None, 'Use Xvfb for testing'), + ('reuse-build', None, 'Reuse existing build'), + ('compiler-launcher=', None, 'Use a compiler launcher like ccache or sccache for builds'), + ('skip-cmake', None, 'Skip CMake step'), + ('skip-make-install', None, 'Skip install step'), + ('skip-packaging', None, 'Skip packaging step'), + ('log-level=', None, 'Log level of the build.'), + ('verbose-build', None, 'Verbose build'), + ('quiet', None, 'Quiet build'), + ('sanitize-address', None, 'Build with address sanitizer'), + ('shorter-paths', None, 'Use shorter paths'), + ('doc-build-online', None, 'Build online documentation'), + ('qtpaths=', None, 'Path to qtpaths'), + ('qmake=', None, 'Path to qmake (deprecated, use qtpaths)'), + ('qt=', None, 'Qt version'), + ('qt-target-path=', None, + 'Path to device Qt installation (use Qt libs when cross-compiling)'), + ('cmake=', None, 'Path to CMake'), + ('openssl=', None, 'Path to OpenSSL libraries'), + + # FIXME: Deprecated in favor of shiboken-target-path + ('shiboken-config-dir=', None, 'shiboken configuration directory'), + + ('shiboken-target-path=', None, 'Path to target shiboken package'), + ('python-target-path=', None, 'Path to target Python installation / prefix'), + ('make-spec=', None, 'Qt make-spec'), + ('macos-arch=', None, 'macOS architecture'), + ('macos-sysroot=', None, 'macOS sysroot'), + ('macos-deployment-target=', None, 'macOS deployment target'), + ('skip-modules=', None, 'Qt modules to be skipped'), + ('module-subset=', None, 'Qt modules to be built'), + ('rpath=', None, 'RPATH'), + ('qt-conf-prefix=', None, 'Qt configuration prefix'), + ('qt-src-dir=', None, 'Qt source directory'), + ('no-qt-tools', None, 'Do not copy the Qt tools'), + ('no-size-optimization', None, 'Turn off size optimization for PySide6 binaries'), + # Default is auto-detected by PysideBuild._enable_numpy() + ('pyside-numpy-support', None, 'libpyside: Add numpy support (deprecated)'), + ('enable-numpy-support', None, 'Enable numpy support'), + ('disable-numpy-support', None, 'Disable numpy support'), + ('internal-cmake-install-dir-query-file-path=', None, + 'Path to file where the CMake install path of the project will be saved'), + + # We redeclare plat-name as an option so it's recognized by the + # install command and doesn't throw an error. + ('plat-name=', None, 'The platform name for which we are cross-compiling'), + ('unity', None, 'Use CMake UNITY_BUILD_MODE'), + ('unity-build-batch-size=', None, 'Value of CMAKE_UNITY_BUILD_BATCH_SIZE') + ] + + def __init__(self): + self.avoid_protected_hack = False + self.debug = False + self.relwithdebinfo = False + self.no_strip = False + self.only_package = False + self.standalone = False + self.ignore_git = False + self.skip_docs = False + self.build_docs = False + self.no_jom = False + self.build_tests = False + self.use_xvfb = False + self.reuse_build = False + self.compiler_launcher = None + self.skip_cmake = False + self.skip_make_install = False + self.skip_packaging = False + self.log_level = "info" + self.verbose_build = False + self.sanitize_address = False + self.snapshot_build = False + self.shorter_paths = False + self.doc_build_online = False + self.qtpaths = None + self.qmake = None + self.has_qmake_option = False + self.qt = '5' + self.qt_host_path = None + self.qt_target_path = None + self.cmake = None + self.openssl = None + self.shiboken_config_dir = None + self.shiboken_host_path = None + self.shiboken_host_path_query_file = None + self.shiboken_target_path = None + self.python_target_path = None + self.is_cross_compile = False + self.cmake_toolchain_file = None + self.make_spec = None + self.macos_arch = None + self.macos_sysroot = None + self.macos_deployment_target = None + self.skip_modules = None + self.module_subset = None + self.rpath = None + self.qt_conf_prefix = None + self.qt_src_dir = None + self.no_qt_tools = False + self.no_size_optimization = False + self.pyside_numpy_support = False + self.enable_numpy_support = False + self.disable_numpy_support = False + self.plat_name = None + self.internal_cmake_install_dir_query_file_path = None + self._per_command_mixin_options_finalized = False + self.unity = False + self.unity_build_batch_size = "16" + + # When initializing a command other than the main one (so the + # first one), we need to copy the user options from the main + # command to the new command options dict. Then + # Distribution.get_command_obj will pick up the copied options + # ensuring that all commands that inherit from + # the mixin, get our custom properties set by the time + # finalize_options is called. + if CommandMixin._static_class_finalized_once: + current_command: Command = self + dist = current_command.distribution + main_command_name = dist.commands[0] + main_command_opts = dist.get_option_dict(main_command_name) + current_command_name = current_command.get_command_name() + current_command_opts = dist.get_option_dict(current_command_name) + mixin_options_set = self.get_mixin_options_set() + for key, value in main_command_opts.items(): + if key not in current_command_opts and key in mixin_options_set: + current_command_opts[key] = value + + # qtpaths is already known before running SetupRunner + self.qtpaths = OPTION["QTPATHS"] + + @staticmethod + @memoize + def get_mixin_options_set(): + keys = set() + for (name, _, _) in CommandMixin.mixin_user_options: + keys.add(name.rstrip("=").replace("-", "_")) + return keys + + def mixin_finalize_options(self): + # The very first we finalize options, record that. + if not CommandMixin._static_class_finalized_once: + CommandMixin._static_class_finalized_once = True + + # Ensure we finalize once per command object, rather than per + # setup.py invocation. We want to have the option values + # available in all commands that derive from the mixin. + if not self._per_command_mixin_options_finalized: + self._per_command_mixin_options_finalized = True + self._do_finalize() + + def _do_finalize(self): + # is_cross_compile must be set before checking for qtpaths/qmake + # because we DON'T want those to be found when cross compiling. + # Currently when cross compiling, qt-target-path MUST be used. + using_cmake_toolchain_file = False + cmake_toolchain_file = None + if OPTION["CMAKE_TOOLCHAIN_FILE"]: + self.is_cross_compile = True + using_cmake_toolchain_file = True + cmake_toolchain_file = OPTION["CMAKE_TOOLCHAIN_FILE"] + self.cmake_toolchain_file = cmake_toolchain_file + + if not self._determine_defaults_and_check(): + sys.exit(-1) + OPTION['AVOID_PROTECTED_HACK'] = self.avoid_protected_hack + OPTION['DEBUG'] = self.debug + OPTION['RELWITHDEBINFO'] = self.relwithdebinfo + OPTION['NO_STRIP'] = self.no_strip + OPTION['ONLYPACKAGE'] = self.only_package + OPTION['STANDALONE'] = self.standalone + OPTION['IGNOREGIT'] = self.ignore_git + OPTION['SKIP_DOCS'] = self.skip_docs + OPTION['BUILD_DOCS'] = self.build_docs + OPTION['BUILDTESTS'] = self.build_tests + + OPTION['NO_JOM'] = self.no_jom + OPTION['XVFB'] = self.use_xvfb + OPTION['REUSE_BUILD'] = self.reuse_build + OPTION['COMPILER_LAUNCHER'] = self.compiler_launcher + OPTION['SKIP_CMAKE'] = self.skip_cmake + OPTION['SKIP_MAKE_INSTALL'] = self.skip_make_install + OPTION['SKIP_PACKAGING'] = self.skip_packaging + # Logging options: + # 'quiet' and 'verbose-build' are deprecated, + # log-level has higher priority when used. + OPTION['LOG_LEVEL'] = self.log_level + OPTION['VERBOSE_BUILD'] = self.verbose_build + # The OPTION["QUIET"] doesn't need to be initialized with a value + # because is an argument that it will not be removed due to being + # a setuptools argument as well. + + # By default they are False, so we check if they changed with xor + if bool(OPTION["QUIET"]) != bool(OPTION["VERBOSE_BUILD"]): + log.warn("Using --quiet and --verbose-build is deprecated. " + "Please use --log-level=quiet or --log-level=verbose instead.") + # We assign a string value instead of the enum + # because is what we get from the command line. + # Later we assign the enum + if OPTION["QUIET"]: + OPTION["LOG_LEVEL"] = "quiet" + elif OPTION["VERBOSE_BUILD"]: + OPTION["LOG_LEVEL"] = "verbose" + + if OPTION["LOG_LEVEL"] not in ("quiet", "info", "verbose"): + log.error(f"Invalid value for log level: '--log-level={OPTION['LOG_LEVEL']}'. " + "Use 'quiet', 'info', or 'verbose'.") + sys.exit(-1) + else: + if OPTION["LOG_LEVEL"] == "quiet": + OPTION["LOG_LEVEL"] = LogLevel.QUIET + log.setLevel(logging.ERROR) + elif OPTION["LOG_LEVEL"] == "info": + OPTION["LOG_LEVEL"] = LogLevel.INFO + log.setLevel(logging.INFO) + elif OPTION["LOG_LEVEL"] == "verbose": + OPTION["LOG_LEVEL"] = LogLevel.VERBOSE + log.setLevel(logging.DEBUG) + + OPTION['SANITIZE_ADDRESS'] = self.sanitize_address + OPTION['SHORTER_PATHS'] = self.shorter_paths + OPTION['DOC_BUILD_ONLINE'] = self.doc_build_online + OPTION['UNITY'] = self.unity + OPTION['UNITY_BUILD_BATCH_SIZE'] = self.unity_build_batch_size + + qtpaths_abs_path = None + if self.qtpaths and Path(self.qtpaths).exists(): + qtpaths_abs_path = Path(self.qtpaths).resolve() + + # FIXME PYSIDE7: Remove qmake handling + # make qtinfo.py independent of relative paths. + qmake_abs_path = None + if self.qmake: + qmake_abs_path = Path(self.qmake).resolve() + OPTION['QMAKE'] = qmake_abs_path + OPTION['HAS_QMAKE_OPTION'] = self.has_qmake_option + OPTION['QT_VERSION'] = self.qt + self.qt_host_path = OPTION['QT_HOST_PATH'] + OPTION['QT_TARGET_PATH'] = self.qt_target_path + + qt_target_path = self.qt_target_path + + # We use the CMake project to find host Qt if neither qmake or + # qtpaths is available. This happens when building the host + # tools in the overall cross-building process. + use_cmake = False + if (using_cmake_toolchain_file or + (not self.qmake and not self.qtpaths and self.qt_target_path)): + use_cmake = True + + QtInfo().setup(qtpaths_abs_path, self.cmake, qmake_abs_path, + self.has_qmake_option, + use_cmake=use_cmake, + qt_target_path=qt_target_path, + cmake_toolchain_file=cmake_toolchain_file) + + if 'build_rst_docs' not in sys.argv: + try: + QtInfo().prefix_dir + except Exception as e: + if not self.qt_target_path: + log.error( + "\nCould not find Qt. You can pass the --qt-target-path= option " + "as a hint where to find Qt. Error was:\n\n\n") + else: + log.error( + f"\nCould not find Qt via provided option --qt-target-path={qt_target_path}" + "Error was:\n\n\n") + raise e + + OPTION['CMAKE'] = self.cmake.resolve() + OPTION['OPENSSL'] = self.openssl + OPTION['SHIBOKEN_CONFIG_DIR'] = self.shiboken_config_dir + if self.shiboken_config_dir: + _warn_deprecated_option('shiboken-config-dir', 'shiboken-target-path') + + self.shiboken_host_path = OPTION['SHIBOKEN_HOST_PATH'] + self.shiboken_host_path_query_file = OPTION['SHIBOKEN_HOST_PATH_QUERY_FILE'] + + if not self.shiboken_host_path and self.shiboken_host_path_query_file: + try: + queried_shiboken_host_path = Path(self.shiboken_host_path_query_file).read_text() + self.shiboken_host_path = queried_shiboken_host_path + OPTION['SHIBOKEN_HOST_PATH'] = queried_shiboken_host_path + except Exception as e: + log.error( + f"\n Could not find shiboken host tools via the query file: " + f"{self.shiboken_host_path_query_file:} Error was:\n\n\n") + raise e + + OPTION['SHIBOKEN_TARGET_PATH'] = self.shiboken_target_path + OPTION['PYTHON_TARGET_PATH'] = self.python_target_path + OPTION['MAKESPEC'] = self.make_spec + OPTION['MACOS_ARCH'] = self.macos_arch + OPTION['MACOS_SYSROOT'] = self.macos_sysroot + OPTION['MACOS_DEPLOYMENT_TARGET'] = self.macos_deployment_target + OPTION['SKIP_MODULES'] = self.skip_modules + OPTION['MODULE_SUBSET'] = self.module_subset + OPTION['RPATH_VALUES'] = self.rpath + OPTION['QT_CONF_PREFIX'] = self.qt_conf_prefix + OPTION['QT_SRC'] = self.qt_src_dir + OPTION['NO_QT_TOOLS'] = self.no_qt_tools + OPTION['NO_OVERRIDE_OPTIMIZATION_FLAGS'] = self.no_size_optimization + OPTION['DISABLE_NUMPY_SUPPORT'] = self.disable_numpy_support + OPTION['ENABLE_NUMPY_SUPPORT'] = self.enable_numpy_support + OPTION['PYSIDE_NUMPY_SUPPORT'] = self.pyside_numpy_support + + if not self._extra_checks(): + sys.exit(-1) + + OPTION['PLAT_NAME'] = self.plat_name + + def _extra_checks(self): + if self.is_cross_compile and not self.plat_name: + log.error("No value provided to --plat-name while cross-compiling.") + return False + return True + + def _determine_defaults_and_check(self): + if not self.cmake: + self.cmake = Path(which("cmake")) + elif isinstance(self.cmake, str): # command line option + self.cmake = Path(self.cmake) + if not self.cmake: + log.error("cmake could not be found.") + return False + if not self.cmake.exists(): + log.error(f"'{self.cmake}' does not exist.") + return False + + # Setting up the Paths when passing via command line + if isinstance(self.qtpaths, str): + self.qtpaths = Path(self.qtpaths) + if isinstance(self.qmake, str): + self.qmake = Path(self.qmake) + if self.qt_target_path and isinstance(self.qt_target_path, str): + self.qt_target_path = Path(self.qt_target_path) + + # When cross-compiling, we only accept the qt-target-path + # option and don't rely on auto-searching in PATH or the other + # qtpaths / qmake options. + # We also don't do auto-searching if qt-target-path is passed + # explicitly. This is to help with the building of host tools + # while cross-compiling. + # Skip this process for the 'build_rst_docs' command + if not self.is_cross_compile and not self.qt_target_path and 'build_rst_docs' not in sys.argv: + # Enforce usage of qmake in QtInfo if it was given explicitly. + if self.qmake: + self.has_qmake_option = True + _warn_deprecated_option('qmake', 'qtpaths') + + # If no tool was specified and qtpaths was not found in PATH, + # ask to provide a path to qtpaths. + if not self.qtpaths and not self.qmake and not self.qt_target_path: + log.error("No value provided to --qtpaths option. Please provide one to find Qt.") + return False + + # Validate that the given tool path exists. + if self.qtpaths and not self.qtpaths.exists(): + log.error(f"The specified qtpaths path '{self.qtpaths}' does not exist.") + return False + + if self.qmake and not self.qmake.exists(): + log.error(f"The specified qmake path '{self.qmake}' does not exist.") + return False + else: + # Check for existence, but don't require if it's not set. A + # check later will be done to see if it's needed. + if self.qt_target_path and not self.qt_target_path.exists(): + log.error(f"Provided --qt-target-path='{self.qt_target_path}' " + "path does not exist.") + return False + + if not self.make_spec: + self.make_spec = _AVAILABLE_MKSPECS[0] + if self.make_spec not in _AVAILABLE_MKSPECS: + log.error(f'Invalid option --make-spec "{self.make_spec}". ' + f'Available values are {_AVAILABLE_MKSPECS}') + return False + + if OPTION["JOBS"] and sys.platform == 'win32' and self.no_jom: + log.error("Option --jobs can only be used with jom on Windows.") + return False + + if sys.platform == 'win32' and OPTION["LIMITED_API"] == "yes" and self.debug: + log.error("It is not possible to make a debug build of PySide6 with limited API. " + "Please select a release build or disable limited API.") + return False + + return True diff --git a/build_scripts/platforms/__init__.py b/build_scripts/platforms/__init__.py new file mode 100644 index 0000000..853aaad --- /dev/null +++ b/build_scripts/platforms/__init__.py @@ -0,0 +1,2 @@ +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only diff --git a/build_scripts/platforms/linux.py b/build_scripts/platforms/linux.py new file mode 100644 index 0000000..7bb3bde --- /dev/null +++ b/build_scripts/platforms/linux.py @@ -0,0 +1,143 @@ +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +from pathlib import Path + +from ..log import log +from ..config import config +from ..options import OPTION +from ..utils import (copy_icu_libs, copydir, copyfile, find_files_using_glob, + linux_patch_executable) +from .. import PYSIDE, PYSIDE_UNIX_BUNDLED_TOOLS + + +def prepare_standalone_package_linux(pyside_build, _vars, cross_build=False, is_android=False): + built_modules = _vars['built_modules'] + + constrain_modules = None + copy_plugins = True + copy_qml = True + copy_translations = True + copy_qt_conf = True + should_copy_icu_libs = True + + log.info("Copying files...") + + if config.is_internal_shiboken_generator_build(): + constrain_modules = ["Core", "Network", "Xml", "XmlPatterns"] + copy_plugins = False + copy_qml = False + copy_translations = False + copy_qt_conf = False + should_copy_icu_libs = False + + # /lib/* -> /{st_package_name}/Qt/lib + destination_dir = Path("{st_build_dir}/{st_package_name}".format(**_vars)) + destination_qt_dir = destination_dir / "Qt" + destination_qt_lib_dir = destination_qt_dir / "lib" + + # android libs does not have the Qt major version + if is_android: + lib_regex = 'libQt6*.so*' + else: + lib_regex = 'libQt6*.so.?' + + accepted_modules = [lib_regex] + if constrain_modules: + accepted_modules = [f"libQt6{module}*.so.?" if not is_android else f"libQt6{module}*.so*" + for module in constrain_modules] + accepted_modules.append("libicu*.so.??") + + if is_android: + accepted_modules.append("*-android-dependencies.xml") + + copydir("{qt_lib_dir}", destination_qt_lib_dir, + _filter=accepted_modules, + recursive=False, _vars=_vars, force_copy_symlinks=True) + + if should_copy_icu_libs and not cross_build and not is_android: + # Check if ICU libraries were copied over to the destination + # Qt libdir. + maybe_icu_libs = find_files_using_glob(destination_qt_lib_dir, "libicu*") + + # If no ICU libraries are present in the Qt libdir (like when + # Qt is built against system ICU, or in the Coin CI where ICU + # libs are in a different directory) try to find out / resolve + # which ICU libs are used by QtCore (if used at all) using a + # custom written ldd (non-cross build only), and copy the ICU + # libs to the Pyside Qt dir if necessary. + # We choose the QtCore lib to inspect, by + # checking which QtCore library the shiboken6 executable uses. + if not maybe_icu_libs: + copy_icu_libs(pyside_build._patchelf_path, destination_qt_lib_dir) + + # Set RPATH for Qt libs. + pyside_build.update_rpath_for_linux_qt_libraries(destination_qt_lib_dir) + + # Patching designer to use the Qt libraries provided in the wheel + if config.is_internal_pyside_build() and not OPTION['NO_QT_TOOLS']: + + for tool in PYSIDE_UNIX_BUNDLED_TOOLS: + tool_path = destination_dir / tool + linux_patch_executable(pyside_build._patchelf_path, tool_path) + + if pyside_build.is_webengine_built(built_modules): + copydir("{qt_data_dir}/resources", + destination_qt_dir / "resources", + _filter=None, + recursive=False, + _vars=_vars) + + if copy_plugins: + is_pypy = "pypy" in pyside_build.build_classifiers + # /plugins/* -> /{st_package_name}/Qt/plugins + plugins_target = destination_qt_dir / "plugins" + copydir("{qt_plugins_dir}", plugins_target, + _filter=["*.so"], + recursive=True, + _vars=_vars) + if not is_pypy: + copydir("{install_dir}/plugins/designer", + plugins_target / "designer", + _filter=["*.so"], + recursive=False, + _vars=_vars) + + copied_plugins = pyside_build.get_shared_libraries_in_path_recursively( + plugins_target) + if not is_android: + pyside_build.update_rpath_for_linux_plugins(copied_plugins) + + if copy_qml: + # /qml/* -> /{st_package_name}/Qt/qml + qml_plugins_target = destination_qt_dir / "qml" + copydir("{qt_qml_dir}", + qml_plugins_target, + _filter=None, + force=False, + recursive=True, + ignore=["*.debug"], + _vars=_vars) + copied_plugins = pyside_build.get_shared_libraries_in_path_recursively( + qml_plugins_target) + pyside_build.update_rpath_for_linux_plugins( + copied_plugins, + qt_lib_dir=destination_qt_lib_dir, + is_qml_plugin=True) + + if copy_translations: + # /translations/* -> + # /{st_package_name}/Qt/translations + copydir("{qt_translations_dir}", + destination_qt_dir / "translations", + _filter=["*.qm", "*.pak"], + force=False, + _vars=_vars) + + if copy_qt_conf: + # Copy the qt.conf file to libexec. + qt_libexec_path = destination_qt_dir / "libexec" + if not qt_libexec_path.is_dir(): + qt_libexec_path.mkdir(parents=True) + copyfile(f"{{build_dir}}/{PYSIDE}/{{st_package_name}}/qt.conf", + qt_libexec_path, _vars=_vars) diff --git a/build_scripts/platforms/macos.py b/build_scripts/platforms/macos.py new file mode 100644 index 0000000..dbe60d3 --- /dev/null +++ b/build_scripts/platforms/macos.py @@ -0,0 +1,188 @@ +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +import fnmatch +from pathlib import Path + +from ..log import log +from ..config import config +from ..options import OPTION +from ..utils import (copydir, copyfile, macos_add_rpath, + macos_fix_rpaths_for_library) +from .. import PYSIDE, PYSIDE_UNIX_BUNDLED_TOOLS + + +def _macos_patch_executable(name, _vars=None): + """ Patch an executable to run with the Qt libraries. """ + upper_name = name.capitalize() + bundle = f"{{st_build_dir}}/{{st_package_name}}/{upper_name}.app".format(**_vars) + binary = f"{bundle}/Contents/MacOS/{upper_name}" + rpath = "@loader_path/../../../Qt/lib" + macos_add_rpath(rpath, binary) + + +def prepare_standalone_package_macos(pyside_build, _vars): + built_modules = _vars['built_modules'] + + constrain_modules = None + copy_plugins = True + copy_qml = True + copy_translations = True + copy_qt_conf = True + + destination_dir = Path("{st_build_dir}/{st_package_name}".format(**_vars)) + destination_qt_dir = destination_dir / "Qt" + destination_qt_lib_dir = destination_qt_dir / "lib" + log.info("Copying files...") + + if config.is_internal_shiboken_generator_build(): + constrain_modules = ["Core", "Network", "Xml", "XmlPatterns"] + constrain_frameworks = [f"Qt{name}.framework" for name in constrain_modules] + copy_plugins = False + copy_qml = False + copy_translations = False + copy_qt_conf = False + + # Directory filter for skipping unnecessary files. + def general_dir_filter(dir_name, parent_full_path, dir_full_path): + if fnmatch.fnmatch(dir_name, "*.dSYM"): + return False + return True + + # Filter out debug plugins and qml plugins in the + # debug_and_release config. + no_copy_debug = True + + def file_variant_filter(file_name, file_full_path): + if pyside_build.qtinfo.build_type != 'debug_and_release': + return True + if file_name.endswith('_debug.dylib') and no_copy_debug: + return False + return True + + # Patching designer to use the Qt libraries provided in the wheel + if config.is_internal_pyside_build() and not OPTION['NO_QT_TOOLS']: + for tool in PYSIDE_UNIX_BUNDLED_TOOLS: + _macos_patch_executable(tool, _vars) + + # /lib/* -> /{st_package_name}/Qt/lib + if pyside_build.qt_is_framework_build(): + def framework_dir_filter(dir_name, parent_full_path, dir_full_path): + if '.framework' in dir_name: + if (dir_name.startswith('QtWebEngine') + and not pyside_build.is_webengine_built(built_modules)): + return False + if constrain_modules and dir_name not in constrain_frameworks: + return False + + if dir_name in ['Headers', 'fonts']: + return False + if str(dir_full_path).endswith('Versions/Current'): + return False + if str(dir_full_path).endswith('Versions/5/Resources'): + return False + if str(dir_full_path).endswith('Versions/5/Helpers'): + return False + return general_dir_filter(dir_name, parent_full_path, dir_full_path) + + # Filter out debug frameworks in the + # debug_and_release config. + no_copy_debug = True + + def framework_variant_filter(file_name, file_full_path): + if pyside_build.qtinfo.build_type != 'debug_and_release': + return True + dir_path = Path(file_full_path).parent + in_framework = dir_path.endswith("Versions/5") + if file_name.endswith('_debug') and in_framework and no_copy_debug: + return False + return True + + copydir("{qt_lib_dir}", destination_qt_lib_dir, + recursive=True, _vars=_vars, + ignore=["*.la", "*.a", "*.cmake", "*.pc", "*.prl"], + dir_filter_function=framework_dir_filter, + file_filter_function=framework_variant_filter) + + # Fix rpath for WebEngine process executable. The already + # present rpath does not work because it assumes a symlink + # from Versions/5/Helpers, thus adding two more levels of + # directory hierarchy. + if pyside_build.is_webengine_built(built_modules): + bundle = Path("QtWebEngineCore.framework/Helpers/") / "QtWebEngineProcess.app" + binary = "Contents/MacOS/QtWebEngineProcess" + webengine_process_path = bundle / binary + final_path = destination_qt_lib_dir / webengine_process_path + rpath = "@loader_path/../../../../../" + macos_fix_rpaths_for_library(final_path, rpath) + else: + ignored_modules = [] + if not pyside_build.is_webengine_built(built_modules): + ignored_modules.extend(['libQt6WebEngine*.dylib']) + accepted_modules = ['libQt6*.6.dylib'] + if constrain_modules: + accepted_modules = [f"libQt6{module}*.6.dylib" for module in constrain_modules] + + copydir("{qt_lib_dir}", destination_qt_lib_dir, + _filter=accepted_modules, + ignore=ignored_modules, + file_filter_function=file_variant_filter, + recursive=True, _vars=_vars, force_copy_symlinks=True) + + if pyside_build.is_webengine_built(built_modules): + copydir("{qt_data_dir}/resources", + destination_qt_dir / "resources", + _filter=None, + recursive=False, + _vars=_vars) + + # Fix rpath for WebEngine process executable. + qt_libexec_path = Path(destination_qt_dir) / "libexec" + binary = "QtWebEngineProcess" + final_path = qt_libexec_path / binary + rpath = "@loader_path/../lib" + macos_fix_rpaths_for_library(final_path, rpath) + + if copy_qt_conf: + # Copy the qt.conf file to libexec. + if not qt_libexec_path.is_dir(): + qt_libexec_path.mkdir(parents=True) + copyfile( + f"{{build_dir}}/{PYSIDE}/{{st_package_name}}/qt.conf", + qt_libexec_path, _vars=_vars) + + if copy_plugins: + is_pypy = "pypy" in pyside_build.build_classifiers + # /plugins/* -> /{st_package_name}/Qt/plugins + plugins_target = destination_qt_dir / "plugins" + filters = ["*.dylib"] + copydir("{qt_plugins_dir}", plugins_target, + _filter=filters, + recursive=True, + dir_filter_function=general_dir_filter, + file_filter_function=file_variant_filter, + _vars=_vars) + if not is_pypy: + copydir("{install_dir}/plugins/designer", + plugins_target / "designer", + _filter=filters, + recursive=False, + _vars=_vars) + + if copy_qml: + # /qml/* -> /{st_package_name}/Qt/qml + copydir("{qt_qml_dir}", destination_qt_dir / "qml", + _filter=None, + recursive=True, + force=False, + dir_filter_function=general_dir_filter, + file_filter_function=file_variant_filter, + _vars=_vars) + + if copy_translations: + # /translations/* -> + # /{st_package_name}/Qt/translations + copydir("{qt_translations_dir}", destination_qt_dir / "translations", + _filter=["*.qm", "*.pak"], + force=False, + _vars=_vars) diff --git a/build_scripts/platforms/unix.py b/build_scripts/platforms/unix.py new file mode 100644 index 0000000..8665fb2 --- /dev/null +++ b/build_scripts/platforms/unix.py @@ -0,0 +1,246 @@ +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +import sys +from pathlib import Path + +from ..log import log +from ..config import config +from ..options import OPTION +from ..utils import copydir, copyfile, copy_qt_metatypes, makefile +from .. import PYSIDE, SHIBOKEN +from .linux import prepare_standalone_package_linux +from .macos import prepare_standalone_package_macos +from .. import PYSIDE_UNIX_BIN_TOOLS, PYSIDE_UNIX_LIBEXEC_TOOLS, PYSIDE_UNIX_BUNDLED_TOOLS + + +def _macos_copy_gui_executable(name, _vars=None): + """macOS helper: Copy a GUI executable from the .app folder and return the + files""" + app_name = f"{name.capitalize()}.app" + return copydir(f"{{install_dir}}/bin/{app_name}", + f"{{st_build_dir}}/{{st_package_name}}/{app_name}", + _filter=None, recursive=True, + force=False, _vars=_vars) + + +def _unix_copy_gui_executable(name, _vars=None): + """UNIX helper: Copy a GUI executable and return the files""" + return copydir("{install_dir}/bin/", + "{st_build_dir}/{st_package_name}/", + _filter=[name], + force=False, _vars=_vars) + + +def _copy_gui_executable(name, _vars=None): + """Copy a GUI executable and return the files""" + if sys.platform == 'darwin': + return _macos_copy_gui_executable(name, _vars) + return _unix_copy_gui_executable(name, _vars) + + +def prepare_packages_posix(pyside_build, _vars, cross_build=False): + is_android = False + if str(OPTION['PLAT_NAME']).startswith('android'): + is_android = True + + executables = [] + libexec_executables = [] + log.info("Copying files...") + + destination_dir = Path("{st_build_dir}/{st_package_name}".format(**_vars)) + destination_qt_dir = destination_dir / "Qt" + + # /lib/site-packages/{st_package_name}/* -> + # /{st_package_name} + # This copies the module .so/.dylib files and various .py files + # (__init__, config, git version, etc.) + copydir( + "{site_packages_dir}/{st_package_name}", destination_dir, + _vars=_vars) + + generated_config = pyside_build.get_built_pyside_config(_vars) + + def adjusted_lib_name(name, version): + postfix = '' + if config.is_cross_compile() and is_android: + postfix = ".so" + elif sys.platform.startswith('linux'): + postfix = f".so.{version}" + elif sys.platform == 'darwin': + postfix = f".{version}.dylib" + return name + postfix + + if config.is_internal_shiboken_module_build(): + # /shiboken6/doc/html/* -> + # /{st_package_name}/docs/shiboken6 + copydir( + f"{{build_dir}}/{SHIBOKEN}/doc/html", + f"{{st_build_dir}}/{{st_package_name}}/docs/{SHIBOKEN}", + force=False, _vars=_vars) + + # /lib/lib* -> {st_package_name}/ + copydir( + "{install_dir}/lib/", destination_dir, + _filter=[ + adjusted_lib_name("libshiboken*", + generated_config['shiboken_library_soversion']), + ], + recursive=False, _vars=_vars, force_copy_symlinks=True) + + if config.is_internal_shiboken_generator_build(): + # /bin/* -> {st_package_name}/ + executables.extend(copydir( + "{install_dir}/bin/", destination_dir, + _filter=[SHIBOKEN], + recursive=False, _vars=_vars)) + + # Used to create scripts directory. + makefile( + "{st_build_dir}/{st_package_name}/scripts/shiboken_tool.py", + _vars=_vars) + + # For setting up setuptools entry points. + copyfile( + "{install_dir}/bin/shiboken_tool.py", + "{st_build_dir}/{st_package_name}/scripts/shiboken_tool.py", + force=False, _vars=_vars) + + if config.is_internal_shiboken_generator_build() or config.is_internal_pyside_build(): + # /include/* -> /{st_package_name}/include + copydir( + "{install_dir}/include/{cmake_package_name}", + "{st_build_dir}/{st_package_name}/include", + _vars=_vars) + + if config.is_internal_pyside_build(): + if not is_android: + makefile( + "{st_build_dir}/{st_package_name}/scripts/__init__.py", + _vars=_vars) + + scripts = ["pyside_tool.py", "metaobjectdump.py", "project.py", "qml.py", + "qtpy2cpp.py", "deploy.py"] + + script_dirs = ["qtpy2cpp_lib", "deploy_lib", "project"] + + if sys.platform.startswith("linux"): + scripts.append("android_deploy.py") + script_dirs.extend(["deploy_lib/android", + "deploy_lib/android/recipes/PySide6", + "deploy_lib/android/recipes/shiboken6",]) + + # For setting up setuptools entry points + for script in scripts: + src = f"{{install_dir}}/bin/{script}" + target = f"{{st_build_dir}}/{{st_package_name}}/scripts/{script}" + copyfile(src, target, force=False, _vars=_vars) + + for script_dir in script_dirs: + src = f"{{install_dir}}/bin/{script_dir}" + target = f"{{st_build_dir}}/{{st_package_name}}/scripts/{script_dir}" + # Exclude subdirectory tests + copydir(src, target, _filter=["*.py", "*.spec", "*.jpg"], recursive=False, _vars=_vars) + + # /bin/* -> {st_package_name}/ + executables.extend(copydir( + "{install_dir}/bin/", destination_dir, + _filter=[f"{PYSIDE}-lupdate"], + recursive=False, _vars=_vars)) + + lib_exec_filters = [] + if not OPTION['NO_QT_TOOLS']: + lib_exec_filters.extend(PYSIDE_UNIX_LIBEXEC_TOOLS) + executables.extend(copydir( + "{install_dir}/bin/", destination_dir, + _filter=PYSIDE_UNIX_BIN_TOOLS, + recursive=False, _vars=_vars)) + + # Copying assistant/designer/linguist + for tool in PYSIDE_UNIX_BUNDLED_TOOLS: + executables.extend(_copy_gui_executable(tool, _vars=_vars)) + + copy_qt_metatypes(destination_qt_dir, _vars) + + # Copy libexec + built_modules = pyside_build.get_built_pyside_config(_vars)['built_modules'] + if pyside_build.is_webengine_built(built_modules): + lib_exec_filters.append('QtWebEngineProcess') + if lib_exec_filters: + libexec_executables.extend(copydir("{qt_lib_execs_dir}", + destination_qt_dir / "libexec", + _filter=lib_exec_filters, + recursive=False, + _vars=_vars)) + + # /lib/lib* -> {st_package_name}/ + copydir( + "{install_dir}/lib", destination_dir, + _filter=[ + adjusted_lib_name("libpyside*", + generated_config['pyside_library_soversion']), + ], + recursive=False, _vars=_vars, force_copy_symlinks=True) + + copydir("{qt_module_json_files_dir}", + destination_qt_dir / "modules", + _filter=["*.json"], _vars=_vars) + + if not config.is_cross_compile(): + # /share/{st_package_name}/typesystems/* -> + # /{st_package_name}/typesystems + copydir( + "{install_dir}/share/{st_package_name}/typesystems", + "{st_build_dir}/{st_package_name}/typesystems", + _vars=_vars) + + # /share/{st_package_name}/glue/* -> + # /{st_package_name}/glue + copydir( + "{install_dir}/share/{st_package_name}/glue", + "{st_build_dir}/{st_package_name}/glue", + _vars=_vars) + + if not is_android: + # /pyside6/{st_package_name}/support/* -> + # /{st_package_name}/support/* + copydir( + f"{{build_dir}}/{PYSIDE}/{{st_package_name}}/support", + "{st_build_dir}/{st_package_name}/support", + _vars=_vars) + + # /pyside6/{st_package_name}/*.pyi -> + # /{st_package_name}/*.pyi + copydir( + f"{{build_dir}}/{PYSIDE}/{{st_package_name}}", destination_dir, + _filter=["*.pyi", "py.typed"], + _vars=_vars) + + # copy the jar files + if is_android: + copydir( + "{install_dir}/lib/jar", + "{st_build_dir}/{st_package_name}/jar", + _vars=_vars) + + # Copy Qt libs to package + if OPTION["STANDALONE"]: + if config.is_internal_pyside_build() or config.is_internal_shiboken_generator_build(): + _vars['built_modules'] = generated_config['built_modules'] + if sys.platform == 'darwin': + prepare_standalone_package_macos(pyside_build, _vars) + else: + prepare_standalone_package_linux(pyside_build, _vars, cross_build, + is_android=is_android) + + if config.is_internal_shiboken_generator_build(): + # Copy over clang before rpath patching. + pyside_build.prepare_standalone_clang(is_win=False) + + # Update rpath to $ORIGIN + if sys.platform.startswith('linux') or sys.platform.startswith('darwin'): + rpath_path = destination_dir + pyside_build.update_rpath(executables) + pyside_build.update_rpath(pyside_build.package_libraries(rpath_path)) + if libexec_executables: + pyside_build.update_rpath(libexec_executables, libexec=True) diff --git a/build_scripts/platforms/windows_desktop.py b/build_scripts/platforms/windows_desktop.py new file mode 100644 index 0000000..ee293ac --- /dev/null +++ b/build_scripts/platforms/windows_desktop.py @@ -0,0 +1,448 @@ +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +import functools +import os +import tempfile + +from pathlib import Path + +from ..log import log +from ..config import config +from ..options import OPTION +from ..utils import (copydir, copyfile, copy_qt_metatypes, + download_and_extract_7z, filter_match, makefile) +from .. import PYSIDE, SHIBOKEN, PYSIDE_WINDOWS_BIN_TOOLS + + +def prepare_packages_win32(pyside_build, _vars): + # For now, debug symbols will not be shipped into the package. + copy_pdbs = False + pdbs = [] + if (pyside_build.debug or pyside_build.build_type == 'RelWithDebInfo') and copy_pdbs: + pdbs = ['*.pdb'] + + destination_dir = Path("{st_build_dir}/{st_package_name}".format(**_vars)) + destination_qt_dir = destination_dir + log.info("Copying files...") + + # /lib/site-packages/{st_package_name}/* -> + # /{st_package_name} + # This copies the module .pyd files and various .py files + # (__init__, config, git version, etc.) + copydir( + "{site_packages_dir}/{st_package_name}", destination_dir, + _vars=_vars) + + if config.is_internal_shiboken_module_build(): + # /shiboken6/doc/html/* -> + # /{st_package_name}/docs/shiboken6 + copydir( + f"{{build_dir}}/{SHIBOKEN}/doc/html", + f"{{st_build_dir}}/{{st_package_name}}/docs/{SHIBOKEN}", + force=False, _vars=_vars) + + # /bin/*.dll -> {st_package_name}/ + copydir( + "{install_dir}/bin/", destination_qt_dir, + _filter=["shiboken*.dll"], + recursive=False, _vars=_vars) + + # /lib/*.lib -> {st_package_name}/ + copydir( + "{install_dir}/lib/", destination_qt_dir, + _filter=["shiboken*.lib"], + recursive=False, _vars=_vars) + + # @TODO: Fix this .pdb file not to overwrite release + # {shibokengenerator}.pdb file. + # Task-number: PYSIDE-615 + copydir( + f"{{build_dir}}/{SHIBOKEN}/shibokenmodule", destination_dir, + _filter=pdbs, + recursive=False, _vars=_vars) + + # pdb files for libshiboken and libpyside + copydir( + f"{{build_dir}}/{SHIBOKEN}/libshiboken", destination_dir, + _filter=pdbs, + recursive=False, _vars=_vars) + + if config.is_internal_shiboken_generator_build(): + # /bin/*.dll -> {st_package_name}/ + copydir( + "{install_dir}/bin/", destination_dir, + _filter=["shiboken*.exe"], + recursive=False, _vars=_vars) + + # Used to create scripts directory. + makefile(f"{destination_dir}/scripts/shiboken_tool.py", _vars=_vars) + + # For setting up setuptools entry points. + copyfile( + "{install_dir}/bin/shiboken_tool.py", + f"{destination_dir}/scripts/shiboken_tool.py", + force=False, _vars=_vars) + + # @TODO: Fix this .pdb file not to overwrite release + # {shibokenmodule}.pdb file. + # Task-number: PYSIDE-615 + copydir( + f"{{build_dir}}/{SHIBOKEN}/generator", destination_dir, + _filter=pdbs, + recursive=False, _vars=_vars) + + if config.is_internal_shiboken_generator_build() or config.is_internal_pyside_build(): + # /include/* -> /{st_package_name}/include + copydir( + "{install_dir}/include/{cmake_package_name}", + destination_dir / "include", + _vars=_vars) + + if config.is_internal_pyside_build(): + # /pyside6/{st_package_name}/*.pdb -> + # /{st_package_name} + copydir( + f"{{build_dir}}/{PYSIDE}/{{st_package_name}}", destination_dir, + _filter=pdbs, + recursive=False, _vars=_vars) + + makefile(f"{destination_dir}/scripts/__init__.py", _vars=_vars) + + # For setting up setuptools entry points + for script in ("pyside_tool.py", "metaobjectdump.py", "project.py", "qml.py", + "qtpy2cpp.py", "deploy.py"): + src = f"{{install_dir}}/bin/{script}" + target = f"{{st_build_dir}}/{{st_package_name}}/scripts/{script}" + copyfile(src, target, force=False, _vars=_vars) + + for script_dir in ("qtpy2cpp_lib", "deploy_lib", "project"): + src = f"{{install_dir}}/bin/{script_dir}" + target = f"{{st_build_dir}}/{{st_package_name}}/scripts/{script_dir}" + # Exclude subdirectory tests + copydir(src, target, _filter=["*.py", "*.spec"], recursive=False, _vars=_vars) + + # /bin/*.exe,*.dll -> {st_package_name}/ + filters = ["pyside*.exe", "pyside*.dll"] + if not OPTION['NO_QT_TOOLS']: + filters.extend([f"{tool}.exe" for tool in PYSIDE_WINDOWS_BIN_TOOLS]) + copydir("{install_dir}/bin/", destination_qt_dir, + _filter=filters, + recursive=False, _vars=_vars) + + copy_qt_metatypes(destination_qt_dir, _vars) + + # /lib/*.lib -> {st_package_name}/ + copydir( + "{install_dir}/lib/", destination_dir, + _filter=["pyside*.lib"], + recursive=False, _vars=_vars) + + copydir("{qt_module_json_files_dir}", + destination_qt_dir / "modules", + _filter=["*.json"], _vars=_vars) + + # /share/{st_package_name}/typesystems/* -> + # /{st_package_name}/typesystems + copydir( + "{install_dir}/share/{st_package_name}/typesystems", + destination_dir / "typesystems", + _vars=_vars) + + # /share/{st_package_name}/glue/* -> + # /{st_package_name}/glue + copydir( + "{install_dir}/share/{st_package_name}/glue", + destination_dir / "glue", + _vars=_vars) + + # /pyside6/{st_package_name}/support/* -> + # /{st_package_name}/support/* + copydir( + f"{{build_dir}}/{PYSIDE}/{{st_package_name}}/support", + destination_dir / "support", + _vars=_vars) + + # /pyside6/{st_package_name}/*.pyi -> + # /{st_package_name}/*.pyi + copydir( + f"{{build_dir}}/{PYSIDE}/{{st_package_name}}", destination_dir, + _filter=["*.pyi", "py.typed"], + _vars=_vars) + + copydir( + f"{{build_dir}}/{PYSIDE}/libpyside", destination_dir, + _filter=pdbs, + recursive=False, _vars=_vars) + + if _vars['ssl_libs_dir']: + # /* -> /{st_package_name}/openssl + copydir("{ssl_libs_dir}", destination_dir / "openssl", + _filter=[ + "libeay32.dll", + "ssleay32.dll"], + force=False, _vars=_vars) + + if config.is_internal_shiboken_module_build(): + # The C++ std library dlls need to be packaged with the + # shiboken module, because libshiboken uses C++ code. + copy_msvc_redist_files(destination_dir) + + if config.is_internal_pyside_build() or config.is_internal_shiboken_generator_build(): + copy_qt_artifacts(pyside_build, destination_qt_dir, copy_pdbs, _vars) + copy_msvc_redist_files(destination_dir) + + +# MSVC redistributable file list. +msvc_redist = [ + "concrt140.dll", + "msvcp140.dll", + "vcamp140.dll", + "vccorlib140.dll", + "vcomp140.dll", + "vcruntime140.dll", + "vcruntime140_1.dll", + "msvcp140_1.dll", + "msvcp140_2.dll", + "msvcp140_codecvt_ids.dll" +] + + +def copy_msvc_redist_files(destination_dir): + in_coin = os.environ.get('COIN_LAUNCH_PARAMETERS', None) + if in_coin is None: + log.info("Qt dependency DLLs (MSVC redist) will not be copied.") + return + + # Make a directory where the files should be extracted. + if not destination_dir.exists(): + destination_dir.mkdir(parents=True) + + # Copy Qt dependency DLLs (MSVC) from PATH when building on Qt CI. + paths = os.environ["PATH"].split(os.pathsep) + for path in paths: + try: + for f in Path(path).glob("*140*.dll"): + if f.name in msvc_redist: + copyfile(f, Path(destination_dir) / f.name) + msvc_redist.remove(f.name) + if not msvc_redist: + break + except WindowsError: + continue + + if msvc_redist: + msg = "The following Qt dependency DLLs (MSVC redist) were not found: {msvc_redist}" + raise FileNotFoundError(msg) + + +def copy_qt_dependency_dlls(_vars, destination_qt_dir, artifacts): + # Extract Qt dependency dlls when building on Qt CI. + in_coin = os.environ.get('COIN_LAUNCH_PARAMETERS', None) + if in_coin is None: + log.info("Qt dependency DLLs will not be downloaded and extracted.") + return + + with tempfile.TemporaryDirectory() as temp_path: + redist_url = "https://download.qt.io/development_releases/prebuilt/vcredist/" + zip_file = "pyside_qt_deps_64_2019.7z" + if "{target_arch}".format(**_vars) == "32": + zip_file = "pyside_qt_deps_32_2019.7z" + try: + download_and_extract_7z(redist_url + zip_file, temp_path) + except Exception as e: + log.warning(f"Download failed: {type(e).__name__}: {e}") + log.warning("download.qt.io is down, try with mirror") + redist_url = "https://master.qt.io/development_releases/prebuilt/vcredist/" + download_and_extract_7z(redist_url + zip_file, temp_path) + copydir(temp_path, destination_qt_dir, _filter=artifacts, recursive=False, _vars=_vars) + + +def copy_qt_artifacts(pyside_build, destination_qt_dir, copy_pdbs, _vars): + built_modules = pyside_build.get_built_pyside_config(_vars)['built_modules'] + + constrain_modules = None + copy_plugins = True + copy_qml = True + copy_translations = True + copy_qt_conf = True + copy_qt_permanent_artifacts = True + copy_clang = False + + if config.is_internal_shiboken_generator_build(): + constrain_modules = ["Core", "Network", "Xml", "XmlPatterns"] + copy_plugins = False + copy_qml = False + copy_translations = False + copy_qt_conf = False + copy_qt_permanent_artifacts = False + copy_clang = True + + # /bin/*.dll and Qt *.exe -> /{st_package_name} + qt_artifacts_permanent = [ + "opengl*.dll", + "designer.exe", + "linguist.exe", + "lrelease.exe", + "lupdate.exe", + "lconvert.exe", + "qtdiag.exe" + ] + + # Choose which EGL library variants to copy. + qt_artifacts_egl = [ + "libEGL{}.dll", + "libGLESv2{}.dll" + ] + if pyside_build.qtinfo.build_type != 'debug_and_release': + egl_suffix = '*' + elif pyside_build.debug: + egl_suffix = 'd' + else: + egl_suffix = '' + qt_artifacts_egl = [a.format(egl_suffix) for a in qt_artifacts_egl] + + if copy_qt_permanent_artifacts: + artifacts = qt_artifacts_permanent + qt_artifacts_egl + copy_qt_dependency_dlls(_vars, destination_qt_dir, artifacts) + + # /bin/*.dll and Qt *.pdbs -> /{st_package_name} part two + # File filter to copy only debug or only release files. + if constrain_modules: + qt_dll_patterns = [f"Qt6{x}{{}}.dll" for x in constrain_modules] + if copy_pdbs: + qt_dll_patterns += [f"Qt6{x}{{}}.pdb" for x in constrain_modules] + else: + qt_dll_patterns = ["Qt6*{}.dll", "lib*{}.dll"] + if copy_pdbs: + qt_dll_patterns += ["Qt6*{}.pdb", "lib*{}.pdb"] + + def qt_build_config_filter(patterns, file_name, file_full_path): + release = [a.format('') for a in patterns] + debug = [a.format('d') for a in patterns] + + # If qt is not a debug_and_release build, that means there + # is only one set of shared libraries, so we can just copy + # them. + if pyside_build.qtinfo.build_type != 'debug_and_release': + if filter_match(file_name, release): + return True + return False + + # Setup Paths + file_name = Path(file_name) + file_full_path = Path(file_full_path) + + # In debug_and_release case, choosing which files to copy + # is more difficult. We want to copy only the files that + # match the PySide6 build type. So if PySide6 is built in + # debug mode, we want to copy only Qt debug libraries + # (ending with "d.dll"). Or vice versa. The problem is that + # some libraries have "d" as the last character of the + # actual library name (for example Qt6Gamepad.dll and + # Qt6Gamepadd.dll). So we can't just match a pattern ending + # in "d". Instead we check if there exists a file with the + # same name plus an additional "d" at the end, and using + # that information we can judge if the currently processed + # file is a debug or release file. + + # e.g. ["Qt6Cored", ".dll"] + file_base_name = file_name.stem + file_ext = file_name.suffix + # e.g. "/home/work/qt/qtbase/bin" + file_path_dir_name = file_full_path.parent + # e.g. "Qt6Coredd" + maybe_debug_name = f"{file_base_name}d" + if pyside_build.debug: + _filter = debug + + def predicate(path): + return not path.exists() + else: + _filter = release + + def predicate(path): + return path.exists() + # e.g. "/home/work/qt/qtbase/bin/Qt6Coredd.dll" + other_config_path = file_path_dir_name / (maybe_debug_name + file_ext) + + if (filter_match(file_name, _filter) and predicate(other_config_path)): + return True + return False + + qt_dll_filter = functools.partial(qt_build_config_filter, + qt_dll_patterns) + copydir("{qt_bin_dir}", destination_qt_dir, + file_filter_function=qt_dll_filter, + recursive=False, _vars=_vars) + + if copy_plugins: + is_pypy = "pypy" in pyside_build.build_classifiers + # /plugins/* -> /{st_package_name}/plugins + plugins_target = f"{destination_qt_dir}/plugins" + plugin_dll_patterns = ["*{}.dll"] + pdb_pattern = "*{}.pdb" + if copy_pdbs: + plugin_dll_patterns += [pdb_pattern] + plugin_dll_filter = functools.partial(qt_build_config_filter, plugin_dll_patterns) + copydir("{qt_plugins_dir}", plugins_target, + file_filter_function=plugin_dll_filter, + _vars=_vars) + if not is_pypy: + copydir("{install_dir}/plugins/designer", + f"{plugins_target}/designer", + _filter=["*.dll"], + recursive=False, + _vars=_vars) + + if copy_translations: + # /translations/* -> /{st_package_name}/translations + copydir("{qt_translations_dir}", f"{destination_qt_dir}/translations", + _filter=["*.qm", "*.pak"], + force=False, + _vars=_vars) + + if copy_qml: + # /qml/* -> /{st_package_name}/qml + qml_dll_patterns = ["*{}.dll"] + qml_ignore_patterns = qml_dll_patterns + [pdb_pattern] + qml_ignore = [a.format('') for a in qml_ignore_patterns] + + # Copy all files that are not dlls and pdbs (.qml, qmldir). + copydir("{qt_qml_dir}", f"{destination_qt_dir}/qml", + ignore=qml_ignore, + force=False, + recursive=True, + _vars=_vars) + + if copy_pdbs: + qml_dll_patterns += [pdb_pattern] + qml_dll_filter = functools.partial(qt_build_config_filter, qml_dll_patterns) + + # Copy all dlls (and possibly pdbs). + copydir("{qt_qml_dir}", f"{destination_qt_dir}/qml", + file_filter_function=qml_dll_filter, + force=False, + recursive=True, + _vars=_vars) + + if pyside_build.is_webengine_built(built_modules): + copydir("{qt_data_dir}/resources", f"{destination_qt_dir}/resources", + _filter=None, + recursive=False, + _vars=_vars) + + _ext = "d" if pyside_build.debug else "" + _filter = [f"QtWebEngineProcess{_ext}.exe"] + copydir("{qt_bin_dir}", destination_qt_dir, + _filter=_filter, + recursive=False, _vars=_vars) + + if copy_qt_conf: + # Copy the qt.conf file to prefix dir. + copyfile(f"{{build_dir}}/{PYSIDE}/{{st_package_name}}/qt.conf", + destination_qt_dir, + _vars=_vars) + + if copy_clang: + pyside_build.prepare_standalone_clang(is_win=True) diff --git a/build_scripts/qp5_tool.py b/build_scripts/qp5_tool.py new file mode 100644 index 0000000..4ec0d63 --- /dev/null +++ b/build_scripts/qp5_tool.py @@ -0,0 +1,416 @@ +# Copyright (C) 2019 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +import datetime +import os +import re +import subprocess +import sys +import time +import warnings +from argparse import ArgumentParser, RawTextHelpFormatter +from enum import Enum +from pathlib import Path +from typing import List + +DESC = """ +Utility script for working with Qt for Python. + +Feel free to extend! + +Typical Usage: +Update and build a repository: python qp5_tool -p -b + +qp5_tool.py uses a configuration file "%CONFIGFILE%" +in the format key=value. + +It is possible to use repository-specific values by adding a key postfixed by +a dash and the repository folder base name, eg: +Modules-pyside-setup512=Core,Gui,Widgets,Network,Test + +Configuration keys: +Acceleration Incredibuild or unset +BuildArguments Arguments to setup.py +Generator Generator to be used for CMake. Currently, only Ninja is + supported. +Jobs Number of jobs to be run simultaneously +Modules Comma separated list of modules to be built + (for --module-subset=) +Python Python executable (Use python_d for debug builds on Windows) + +Arbitrary keys can be defined and referenced by $(name): + +MinimalModules=Core,Gui,Widgets,Network,Test +Modules=$(MinimalModules),Multimedia +Modules-pyside-setup-minimal=$(MinimalModules) +""" + + +class Acceleration(Enum): + NONE = 0 + INCREDIBUILD = 1 + + +class BuildMode(Enum): + NONE = 0 + BUILD = 1 + RECONFIGURE = 2 + MAKE = 3 + + +DEFAULT_BUILD_ARGS = ['--build-tests', '--skip-docs', '--quiet'] +IS_WINDOWS = sys.platform == 'win32' +INCREDIBUILD_CONSOLE = 'BuildConsole' if IS_WINDOWS else '/opt/incredibuild/bin/ib_console' +# Config file keys +ACCELERATION_KEY = 'Acceleration' +BUILDARGUMENTS_KEY = 'BuildArguments' +GENERATOR_KEY = 'Generator' +JOBS_KEY = 'Jobs' +MODULES_KEY = 'Modules' +PYTHON_KEY = 'Python' + +DEFAULT_MODULES = "Core,Gui,Widgets,Network,Test,Qml,Quick,Multimedia,MultimediaWidgets" +DEFAULT_CONFIG_FILE = f"Modules={DEFAULT_MODULES}\n" + +build_mode = BuildMode.NONE +opt_dry_run = False +opt_verbose = False + + +def which(needle: str): + """Perform a path search""" + needles = [needle] + if IS_WINDOWS: + for ext in ("exe", "bat", "cmd"): + needles.append(f"{needle}.{ext}") + + for path in os.environ.get("PATH", "").split(os.pathsep): + for n in needles: + binary = Path(path) / n + if binary.is_file(): + return binary + return None + + +def command_log_string(args: List[str], directory: Path): + result = f'[{directory.name}]' + for arg in args: + result += f' "{arg}"' if ' ' in arg else f' {arg}' + return result + + +def execute(args: List[str]): + """Execute a command and print to log""" + log_string = command_log_string(args, Path.cwd()) + print(log_string) + if opt_dry_run: + return + exit_code = subprocess.call(args) + if exit_code != 0: + raise RuntimeError(f'FAIL({exit_code}): {log_string}') + + +def run_process_output(args): + """Run a process and return its output. Also run in dry_run mode""" + std_out = subprocess.Popen(args, universal_newlines=1, + stdout=subprocess.PIPE).stdout + result = [line.rstrip() for line in std_out.readlines()] + std_out.close() + return result + + +def run_git(args): + """Run git in the current directory and its submodules""" + args.insert(0, git) # run in repo + execute(args) # run for submodules + + +def expand_reference(cache_dict, value): + """Expand references to other keys in config files $(name) by value.""" + pattern = re.compile(r"\$\([^)]+\)") + while True: + match = pattern.match(value) + if not match: + break + key = match.group(0)[2:-1] + value = value[:match.start(0)] + cache_dict[key] + value[match.end(0):] + return value + + +def editor(): + editor = os.getenv('EDITOR') + if not editor: + return 'notepad' if IS_WINDOWS else 'vi' + editor = editor.strip() + if IS_WINDOWS: + # Windows: git requires quotes in the variable + if editor.startswith('"') and editor.endswith('"'): + editor = editor[1:-1] + editor = editor.replace('/', '\\') + return editor + + +def edit_config_file(): + exit_code = -1 + try: + exit_code = subprocess.call([editor(), config_file]) + except Exception as e: + reason = str(e) + print(f'Unable to launch: {editor()}: {reason}') + return exit_code + + +""" +Config file handling, cache and read function +""" +config_dict = {} + + +def read_config_file(file_name): + """Read the config file into config_dict, expanding continuation lines""" + global config_dict + keyPattern = re.compile(r'^\s*([A-Za-z0-9\_\-]+)\s*=\s*(.*)$') + with open(file_name) as f: + while True: + line = f.readline() + if not line: + break + line = line.rstrip() + match = keyPattern.match(line) + if match: + key = match.group(1) + value = match.group(2) + while value.endswith('\\'): + value = value.rstrip('\\') + value += f.readline().rstrip() + config_dict[key] = expand_reference(config_dict, value) + + +def read_config(key): + """ + Read a value from the '$HOME/.qp5_tool' configuration file. When given + a key 'key' for the repository directory '/foo/qt-5', check for the + repo-specific value 'key-qt5' and then for the general 'key'. + """ + if not config_dict: + read_config_file(config_file) + repo_value = config_dict.get(f"{key}-{base_dir}") + return repo_value if repo_value else config_dict.get(key) + + +def read_bool_config(key): + value = read_config(key) + return value and value in ['1', 'true', 'True'] + + +def read_int_config(key, default=-1): + value = read_config(key) + return int(value) if value else default + + +def read_acceleration_config(): + value = read_config(ACCELERATION_KEY) + if value: + value = value.lower() + if value == 'incredibuild': + return Acceleration.INCREDIBUILD + return Acceleration.NONE + + +def read_config_build_arguments(): + value = read_config(BUILDARGUMENTS_KEY) + if value: + return re.split(r'\s+', value) + return DEFAULT_BUILD_ARGS + + +def read_config_modules_argument(): + value = read_config(MODULES_KEY) + if value and value != '' and value != 'all': + return f"--module-subset={value}" + return None + + +def read_config_python_binary() -> str: + binary = read_config(PYTHON_KEY) + virtual_env = os.environ.get('VIRTUAL_ENV') + if not binary: + # Use 'python3' unless virtualenv is set + use_py3 = not virtual_env and which('python3') + binary = 'python3' if use_py3 else 'python' + binary = Path(binary) + if not binary.is_absolute(): + abs_path = which(str(binary)) + if abs_path: + binary = abs_path + else: + warnings.warn(f'Unable to find "{binary}"', RuntimeWarning) + if virtual_env: + if not str(binary).startswith(virtual_env): + w = f'Python "{binary}" is not under VIRTUAL_ENV "{virtual_env}"' + warnings.warn(w, RuntimeWarning) + return str(binary) + + +def get_config_file(base_name) -> Path: + global user + home = os.getenv('HOME') + if IS_WINDOWS: + # Set a HOME variable on Windows such that scp. etc. + # feel at home (locating .ssh). + if not home: + home = os.getenv('HOMEDRIVE') + os.getenv('HOMEPATH') + os.environ['HOME'] = home + user = os.getenv('USERNAME') + config_file = Path(os.getenv('APPDATA')) / base_name + else: + user = os.getenv('USER') + config_dir = Path(home) / '.config' + if config_dir.exists(): + config_file = config_dir / base_name + else: + config_file = Path(home) / f".{base_name}" + return config_file + + +def build(target: str): + """Run configure and build steps""" + start_time = time.time() + + arguments = [] + acceleration = read_acceleration_config() + if not IS_WINDOWS and acceleration == Acceleration.INCREDIBUILD: + arguments.append(INCREDIBUILD_CONSOLE) + arguments.appendh('--avoid') # caching, v0.96.74 + arguments.extend([read_config_python_binary(), 'setup.py', target]) + build_arguments = read_config_build_arguments() + if opt_verbose and '--quiet' in build_arguments: + build_arguments.remove('--quiet') + arguments.extend(build_arguments) + generator = read_config(GENERATOR_KEY) + if generator != 'Ninja': + arguments.extend(['--make-spec', 'ninja']) + jobs = read_int_config(JOBS_KEY) + if jobs > 1: + arguments.extend(['-j', str(jobs)]) + if build_mode != BuildMode.BUILD: + arguments.extend(['--reuse-build', '--ignore-git']) + if build_mode != BuildMode.RECONFIGURE: + arguments.append('--skip-cmake') + modules = read_config_modules_argument() + if modules: + arguments.append(modules) + if IS_WINDOWS and acceleration == Acceleration.INCREDIBUILD: + arg_string = ' '.join(arguments) + arguments = [INCREDIBUILD_CONSOLE, f'/command={arg_string}'] + + execute(arguments) + + elapsed_time = int(time.time() - start_time) + print(f'--- Done({elapsed_time}s) ---') + + +def run_tests(): + """Run tests redirected into a log file with a time stamp""" + logfile_name = datetime.datetime.today().strftime("test_%Y%m%d_%H%M.txt") + binary = sys.executable + command = f'"{binary}" testrunner.py test > {logfile_name}' + print(command_log_string([command], Path.cwd())) + start_time = time.time() + result = 0 if opt_dry_run else os.system(command) + elapsed_time = int(time.time() - start_time) + print(f'--- Done({elapsed_time}s) ---') + return result + + +def create_argument_parser(desc): + parser = ArgumentParser(description=desc, formatter_class=RawTextHelpFormatter) + parser.add_argument('--dry-run', '-d', action='store_true', + help='Dry run, print commands') + parser.add_argument('--edit', '-e', action='store_true', + help='Edit config file') + parser.add_argument('--reset', '-r', action='store_true', + help='Git reset hard to upstream state') + parser.add_argument('--clean', '-c', action='store_true', + help='Git clean') + parser.add_argument('--pull', '-p', action='store_true', + help='Git pull') + parser.add_argument('--build', '-b', action='store_true', + help='Build (configure + build)') + parser.add_argument('--make', '-m', action='store_true', help='Make') + parser.add_argument('--no-install', '-n', action='store_true', + help='Run --build only, do not install') + parser.add_argument('--Make', '-M', action='store_true', + help='cmake + Make (continue broken build)') + parser.add_argument('--test', '-t', action='store_true', + help='Run tests') + parser.add_argument('--version', '-v', action='version', version='%(prog)s 1.0') + parser.add_argument('--verbose', '-V', action='store_true', + help='Turn off --quiet specified in build arguments') + return parser + + +if __name__ == '__main__': + git = None + base_dir = None + config_file = None + user = None + + config_file = get_config_file('qp5_tool.conf') + argument_parser = create_argument_parser(DESC.replace('%CONFIGFILE%', str(config_file))) + options = argument_parser.parse_args() + opt_dry_run = options.dry_run + opt_verbose = options.verbose + + if options.edit: + sys.exit(edit_config_file()) + + if options.build: + build_mode = BuildMode.BUILD + elif options.make: + build_mode = BuildMode.MAKE + elif options.Make: + build_mode = BuildMode.RECONFIGURE + + if build_mode == BuildMode.NONE and not (options.clean or options.reset + or options.pull or options.test): + argument_parser.print_help() + sys.exit(0) + + git = 'git' + if which(git) is None: + warnings.warn('Unable to find git', RuntimeWarning) + sys.exit(-1) + + if not config_file.exists(): + print('Create initial config file ', config_file, " ..") + with open(config_file, 'w') as f: + f.write(DEFAULT_CONFIG_FILE.format(' '.join(DEFAULT_BUILD_ARGS))) + + while not Path(".git").exists(): + cwd = Path.cwd() + cwd_s = os.fspath(cwd) + if cwd_s == '/' or (IS_WINDOWS and len(cwd_s) < 4): + warnings.warn('Unable to find git root', RuntimeWarning) + sys.exit(-1) + os.chdir(cwd.parent) + + base_dir = Path.cwd().name + + if options.clean: + run_git(['clean', '-dxf']) + + if options.reset: + run_git(['reset', '--hard', '@{upstream}']) + + if options.pull: + run_git(['pull', '--rebase']) + + if build_mode != BuildMode.NONE: + target = 'build' if options.no_install else 'install' + build(target) + + if options.test: + sys.exit(run_tests()) + + sys.exit(0) diff --git a/build_scripts/qtinfo.py b/build_scripts/qtinfo.py new file mode 100644 index 0000000..46ee27a --- /dev/null +++ b/build_scripts/qtinfo.py @@ -0,0 +1,261 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +import os +import subprocess +from pathlib import Path + +from .utils import (configure_cmake_project, parse_cmake_project_message_info, + platform_cmake_options) + + +class QtInfo(object): + _instance = None # singleton helpers + + def __new__(cls): # __new__ always a classmethod + if not QtInfo._instance: + QtInfo._instance = QtInfo.__QtInfo() + return QtInfo._instance + + def __getattr__(self, name): + return getattr(self._instance, name) + + def __setattr__(self, name): + return setattr(self._instance, name) + + class __QtInfo: # Python singleton + def __init__(self): + self._qtpaths_command = None + self._cmake_command = None + self._qmake_command = None + self._force_qmake = False + self._use_cmake = False + self._qt_target_path = None + self._cmake_toolchain_file = None + # Dict to cache qmake values. + self._query_dict = {} + + def setup(self, qtpaths, cmake, qmake, force_qmake, use_cmake, qt_target_path, + cmake_toolchain_file): + self._qtpaths_command = qtpaths + self._cmake_command = cmake + self._qmake_command = qmake + self._force_qmake = force_qmake + self._use_cmake = use_cmake + self._qt_target_path = qt_target_path + self._cmake_toolchain_file = cmake_toolchain_file + + @property + def qmake_command(self): + return self._qmake_command + + @property + def qtpaths_command(self): + return self._qtpaths_command + + @property + def version(self): + return self.get_property("QT_VERSION") + + @property + def version_tuple(self): + return tuple(map(int, self.version.split("."))) + + @property + def bins_dir(self): + return self.get_property("QT_INSTALL_BINS") + + @property + def data_dir(self): + return self.get_property("QT_INSTALL_DATA") + + @property + def libs_dir(self): + return self.get_property("QT_INSTALL_LIBS") + + @property + def module_json_files_dir(self): + install_libs = self.get_property("QT_INSTALL_LIBS") + result = Path(install_libs).parent / "modules" + return os.fspath(result) + + @property + def metatypes_dir(self): + parent = self.arch_data if self.version_tuple >= (6, 5, 0) else self.libs_dir + return os.fspath(Path(parent) / "metatypes") + + @property + def lib_execs_dir(self): + return self.get_property("QT_INSTALL_LIBEXECS") + + @property + def plugins_dir(self): + return self.get_property("QT_INSTALL_PLUGINS") + + @property + def prefix_dir(self): + return self.get_property("QT_INSTALL_PREFIX") + + @property + def arch_data(self): + return self.get_property("QT_INSTALL_ARCHDATA") + + @property + def imports_dir(self): + return self.get_property("QT_INSTALL_IMPORTS") + + @property + def translations_dir(self): + return self.get_property("QT_INSTALL_TRANSLATIONS") + + @property + def headers_dir(self): + return self.get_property("QT_INSTALL_HEADERS") + + @property + def docs_dir(self): + return self.get_property("QT_INSTALL_DOCS") + + @property + def qml_dir(self): + return self.get_property("QT_INSTALL_QML") + + @property + def macos_min_deployment_target(self): + """ Return value is a macOS version or None. """ + return self.get_property("QMAKE_MACOSX_DEPLOYMENT_TARGET") + + @property + def build_type(self): + """ + Return value is either debug, release, debug_release, or None. + """ + return self.get_property("BUILD_TYPE") + + @property + def src_dir(self): + """ Return path to Qt src dir or None.. """ + return self.get_property("QT_INSTALL_PREFIX/src") + + def get_property(self, prop_name): + if not self._query_dict: + self._get_query_properties() + self._get_other_properties() + if prop_name not in self._query_dict: + return None + return self._query_dict[prop_name] + + def _get_qtpaths_output(self, args_list=None, cwd=None): + if args_list is None: + args_list = [] + assert self._qtpaths_command + cmd = [str(self._qtpaths_command)] + cmd.extend(args_list) + proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=False, + cwd=cwd, universal_newlines=True) + output, error = proc.communicate() + proc.wait() + if proc.returncode != 0: + raise RuntimeError(f"Could not run {self._qtpaths_command}: {error}") + return output + + # FIXME PYSIDE7: Remove qmake handling + def _get_qmake_output(self, args_list=None, cwd=None): + if args_list is None: + args_list = [] + assert self._qmake_command + cmd = [self._qmake_command] + cmd.extend(args_list) + proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=False, + cwd=cwd) + output = proc.communicate()[0] + proc.wait() + if proc.returncode != 0: + return "" + output = str(output, "ascii").strip() + return output + + def _parse_query_properties(self, process_output): + props = {} + if not process_output: + return props + lines = [s.strip() for s in process_output.splitlines()] + for line in lines: + if line and (":" in line): + key, value = line.split(":", 1) + props[key] = value + return props + + def _get_query_properties(self): + if self._use_cmake: + setup_script_dir = Path.cwd() + sources_dir = setup_script_dir / "sources" + qt_target_info_dir = sources_dir / "shiboken6" / "config.tests" / "target_qt_info" + qt_target_info_dir = os.fspath(qt_target_info_dir) + config_tests_dir = setup_script_dir / "build" / "config.tests" + config_tests_dir = os.fspath(config_tests_dir) + + cmake_cache_args = [] + if self._cmake_toolchain_file: + cmake_cache_args.append(("CMAKE_TOOLCHAIN_FILE", self._cmake_toolchain_file)) + + if self._qt_target_path: + cmake_cache_args.append(("QFP_QT_TARGET_PATH", self._qt_target_path)) + qt_target_info_output = configure_cmake_project( + qt_target_info_dir, + self._cmake_command, + temp_prefix_build_path=config_tests_dir, + cmake_cache_args=cmake_cache_args) + qt_target_info = parse_cmake_project_message_info(qt_target_info_output) + self._query_dict = qt_target_info['qt_info'] + else: + if self._force_qmake: + output = self._get_qmake_output(["-query"]) + else: + output = self._get_qtpaths_output(["--qt-query"]) + self._query_dict = self._parse_query_properties(output) + + def _get_other_properties(self): + # Get the src property separately, because it is not returned by + # qmake unless explicitly specified. + key = "QT_INSTALL_PREFIX/src" + if not self._use_cmake: + if self._force_qmake: + result = self._get_qmake_output(["-query", key]) + else: + result = self._get_qtpaths_output(["--qt-query", key]) + self._query_dict[key] = result + + # Get mkspecs variables and cache them. + # FIXME Python 3.9 self._query_dict |= other_dict + for key, value in self._get_cmake_mkspecs_variables().items(): + self._query_dict[key] = value + + def _get_cmake_mkspecs_variables(self): + setup_script_dir = Path.cwd() + sources_dir = setup_script_dir / "sources" + qt_target_mkspec_dir = sources_dir / "shiboken6" / "config.tests" / "target_qt_mkspec" + qt_target_mkspec_dir = qt_target_mkspec_dir.as_posix() + config_tests_dir = setup_script_dir / "build" / "config.tests" + config_tests_dir = config_tests_dir.as_posix() + + cmake_cache_args = [] + if self._cmake_toolchain_file: + cmake_cache_args.append(("CMAKE_TOOLCHAIN_FILE", self._cmake_toolchain_file)) + if self._qt_target_path: + cmake_cache_args.append(("QFP_QT_TARGET_PATH", self._qt_target_path)) + else: + qt_prefix = Path(self.prefix_dir).as_posix() + cmake_cache_args.append(("CMAKE_PREFIX_PATH", qt_prefix)) + + cmake_cache_args.extend(platform_cmake_options(as_tuple_list=True)) + qt_target_mkspec_output = configure_cmake_project( + qt_target_mkspec_dir, + self._cmake_command, + temp_prefix_build_path=config_tests_dir, + cmake_cache_args=cmake_cache_args) + + qt_target_mkspec_info = parse_cmake_project_message_info(qt_target_mkspec_output) + qt_target_mkspec_info = qt_target_mkspec_info['qt_info'] + + return qt_target_mkspec_info diff --git a/build_scripts/setup_runner.py b/build_scripts/setup_runner.py new file mode 100644 index 0000000..6a7de04 --- /dev/null +++ b/build_scripts/setup_runner.py @@ -0,0 +1,280 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +import os +import sys +import tempfile +import textwrap +import logging + +from pathlib import Path +from setuptools import setup + +from build_scripts.config import config +from build_scripts.main import (cmd_class_dict, get_package_version, + get_setuptools_extension_modules) +from build_scripts.options import ADDITIONAL_OPTIONS, OPTION +from build_scripts.utils import run_process +from build_scripts.log import log, LogLevel + + +class SetupRunner(object): + def __init__(self, orig_argv): + self.invocations_list = [] + + # Keep the original args around in case we ever need to pass + # modified arguments to the sub invocations. + self.orig_argv = orig_argv + self.sub_argv = list(orig_argv) + + self.setup_script_dir = Path.cwd() + + @staticmethod + def cmd_line_argument_is_in_args(argument, args): + """ Check if command line argument was passed in args. """ + return any(arg for arg in list(args) if f"--{argument}" in arg) + + @staticmethod + def get_cmd_line_argument_in_args(argument, args): + """ Gets the value of a cmd line argument passed in args. """ + for arg in list(args): + if f"--{argument}" in arg: + prefix = f"--{argument}" + prefix_len = len(prefix) + 1 + return arg[prefix_len:] + return None + + @staticmethod + def remove_cmd_line_argument_in_args(argument, args): + """ Remove command line argument from args. """ + return [arg for arg in list(args) if f"--{argument}" not in arg] + + @staticmethod + def construct_cmd_line_argument(name, value=None): + """ Constructs a command line argument given name and value. """ + if not value: + return f"--{name}" + return f"--{name}={value}" + + @staticmethod + def construct_internal_build_type_cmd_line_argument(internal_build_type): + return SetupRunner.construct_cmd_line_argument("internal-build-type", internal_build_type) + + def enqueue_setup_internal_invocation(self, setup_cmd): + self.invocations_list.append(setup_cmd) + + def add_setup_internal_invocation(self, build_type, reuse_build=False, extra_args=None): + setup_cmd = self.new_setup_internal_invocation(build_type, reuse_build, extra_args) + self.enqueue_setup_internal_invocation(setup_cmd) + + def new_setup_internal_invocation(self, build_type, + reuse_build=False, + extra_args=None, + replace_command_with=None): + """ Creates a script sub-invocation to be executed later. """ + internal_build_type_arg = self.construct_internal_build_type_cmd_line_argument(build_type) + + command_index = 0 + command = self.sub_argv[command_index] + if command == 'setup.py' and len(self.sub_argv) > 1: + command_index = 1 + command = self.sub_argv[command_index] + + # Make a copy + modified_argv = list(self.sub_argv) + + if replace_command_with: + modified_argv[command_index] = replace_command_with + + setup_cmd = [sys.executable] + modified_argv + [internal_build_type_arg] + + if extra_args: + for (name, value) in extra_args: + setup_cmd.append(self.construct_cmd_line_argument(name, value)) + + # Add --reuse-build option if requested and not already present. + if (reuse_build and command in ('bdist_wheel', 'build', 'build_rst_docs', 'install') + and not self.cmd_line_argument_is_in_args("reuse-build", modified_argv)): + setup_cmd.append(self.construct_cmd_line_argument("reuse-build")) + return setup_cmd + + def add_host_tools_setup_internal_invocation(self, initialized_config): + extra_args = [] + extra_host_args = [] + + # When cross-compiling, build the host shiboken generator tool + # only if a path to an existing one was not provided. + if not self.cmd_line_argument_is_in_args("shiboken-host-path", self.sub_argv): + handle, initialized_config.shiboken_host_query_path = tempfile.mkstemp() + os.close(handle) + + # Tell the setup process to create a file with the location + # of the installed host shiboken as its contents. + extra_host_args.append( + ("internal-cmake-install-dir-query-file-path", + initialized_config.shiboken_host_query_path)) + + # Tell the other setup invocations to read that file and use + # the read path as the location of the host shiboken. + extra_args.append( + ("internal-shiboken-host-path-query-file", + initialized_config.shiboken_host_query_path) + ) + + # This is specifying shiboken_module_option_name + # instead of shiboken_generator_option_name, but it will + # actually build the generator. + host_cmd = self.new_setup_internal_invocation( + initialized_config.shiboken_module_option_name, + extra_args=extra_host_args, + replace_command_with="build") + + # To build the host tools, we reuse the initial target + # command line arguments, but we remove some options that + # don't make sense for the host build. + + # Drop the toolchain arg. + host_cmd = self.remove_cmd_line_argument_in_args("cmake-toolchain-file", + host_cmd) + + # Drop the target plat-name arg if there is one. + if self.cmd_line_argument_is_in_args("plat-name", host_cmd): + host_cmd = self.remove_cmd_line_argument_in_args("plat-name", host_cmd) + + # Drop the python-target-path arg if there is one. + if self.cmd_line_argument_is_in_args("python-target-path", host_cmd): + host_cmd = self.remove_cmd_line_argument_in_args("python-target-path", host_cmd) + + # Drop the target build-tests arg if there is one. + if self.cmd_line_argument_is_in_args("build-tests", host_cmd): + host_cmd = self.remove_cmd_line_argument_in_args("build-tests", host_cmd) + + # Make sure to pass the qt host path as the target path + # when doing the host build. And make sure to remove any + # existing qt target path. + if self.cmd_line_argument_is_in_args("qt-host-path", host_cmd): + qt_host_path = self.get_cmd_line_argument_in_args("qt-host-path", host_cmd) + host_cmd = self.remove_cmd_line_argument_in_args("qt-host-path", host_cmd) + host_cmd = self.remove_cmd_line_argument_in_args("qt-target-path", host_cmd) + host_cmd.append(self.construct_cmd_line_argument("qt-target-path", + qt_host_path)) + + self.enqueue_setup_internal_invocation(host_cmd) + return extra_args + + def run_setup(self): + """ + Decide what kind of build is requested and then execute it. + In the top-level invocation case, the script + will spawn setup.py again (possibly multiple times). + In the internal invocation case, the script + will run setuptools.setup(). + """ + + # PYSIDE-1746: We prevent the generation of .pyc/.pyo files during installation. + # These files are generated anyway on their import. + sys.dont_write_bytecode = True + qt_install_path = OPTION["QTPATHS"] + if qt_install_path: + qt_install_path = Path(qt_install_path).parents[1] + + # Prepare initial config. + config.init_config(build_type=OPTION["BUILD_TYPE"], + internal_build_type=OPTION["INTERNAL_BUILD_TYPE"], + cmd_class_dict=cmd_class_dict, + package_version=get_package_version(), + ext_modules=get_setuptools_extension_modules(), + setup_script_dir=self.setup_script_dir, + cmake_toolchain_file=OPTION["CMAKE_TOOLCHAIN_FILE"], + log_level=OPTION["LOG_LEVEL"], + qt_install_path=qt_install_path) + + # Enable logging for both the top-level invocation of setup.py + # as well as for child invocations. We we now use + if OPTION["LOG_LEVEL"] == LogLevel.VERBOSE: + log.setLevel(logging.DEBUG) + elif OPTION["LOG_LEVEL"] == LogLevel.QUIET: + log.setLevel(logging.ERROR) + elif OPTION["LOG_LEVEL"] == LogLevel.INFO: + log.setLevel(logging.INFO) + + # This is an internal invocation of setup.py, so start actual + # build. + if config.is_internal_invocation(): + if config.internal_build_type not in config.get_allowed_internal_build_values(): + raise RuntimeError(f"Invalid '{config.internal_build_type}' option given to " + "--internal-build-type. ") + self.run_setuptools_setup() + return + + # This is a top-level invocation of setup.py, so figure out what + # modules we will build and depending on that, call setup.py + # multiple times with different arguments. + if config.build_type not in config.get_allowed_top_level_build_values(): + raise RuntimeError(f"Invalid '{config.build_type}' option given to --build-type. ") + + # Build everything: shiboken6, shiboken6-generator and PySide6. + help_requested = '--help' in self.sub_argv or '-h' in self.sub_argv + + if help_requested: + self.add_setup_internal_invocation(config.pyside_option_name) + + elif config.is_top_level_build_all(): + extra_args = [] + + # extra_args might contain the location of the built host + # shiboken, which needs to be passed to the other + # target invocations. + if config.is_cross_compile(): + extra_args = self.add_host_tools_setup_internal_invocation(config) + + self.add_setup_internal_invocation( + config.shiboken_module_option_name, + extra_args=extra_args) + + # Reuse the shiboken build for the generator package instead + # of rebuilding it again. + # Don't build it in a cross-build though. + if not config.is_cross_compile(): + self.add_setup_internal_invocation( + config.shiboken_generator_option_name, + reuse_build=True) + + self.add_setup_internal_invocation(config.pyside_option_name, + extra_args=extra_args) + + elif config.is_top_level_build_shiboken_module(): + self.add_setup_internal_invocation(config.shiboken_module_option_name) + + elif config.is_top_level_build_shiboken_generator(): + self.add_setup_internal_invocation(config.shiboken_generator_option_name) + + elif config.is_top_level_build_pyside(): + self.add_setup_internal_invocation(config.pyside_option_name) + + for cmd in self.invocations_list: + cmd_as_string = " ".join(cmd) + exit_code = run_process(cmd) + if exit_code != 0: + msg = textwrap.dedent(f""" + setup.py invocation failed with exit code: {exit_code}.\n\n + setup.py invocation was: {cmd_as_string} + """) + raise RuntimeError(msg) + + if help_requested: + print(ADDITIONAL_OPTIONS) + + # Cleanup temp query file. + if config.shiboken_host_query_path: + os.remove(config.shiboken_host_query_path) + + @staticmethod + def run_setuptools_setup(): + """ + Runs setuptools.setup() once in a single setup.py + sub-invocation. + """ + + kwargs = config.setup_kwargs + setup(**kwargs) diff --git a/build_scripts/utils.py b/build_scripts/utils.py new file mode 100644 index 0000000..ef23b0f --- /dev/null +++ b/build_scripts/utils.py @@ -0,0 +1,1171 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +import errno +import fnmatch +import glob +import os +import re +import shutil +import stat +import subprocess +import sys +import tempfile +import urllib.request as urllib +from collections import defaultdict +from pathlib import Path +from textwrap import dedent, indent + +from .log import log +from . import (PYSIDE_PYTHON_TOOLS, PYSIDE_LINUX_BIN_TOOLS, PYSIDE_UNIX_LIBEXEC_TOOLS, + PYSIDE_WINDOWS_BIN_TOOLS, PYSIDE_UNIX_BIN_TOOLS, PYSIDE_UNIX_BUNDLED_TOOLS) + +try: + # Using the distutils implementation within setuptools + from setuptools.errors import SetupError +except ModuleNotFoundError: + # This is motivated by our CI using an old version of setuptools + # so then the coin_build_instructions.py script is executed, and + # import from this file, it was failing. + from distutils.errors import DistutilsSetupError as SetupError + +try: + WindowsError +except NameError: + WindowsError = None + + +def which(name): + """ + Like shutil.which, but accepts a string or a PathLike and returns a Path + """ + path = None + try: + if isinstance(name, Path): + name = str(name) + path = shutil.which(name) + if path is None: + raise TypeError("None was returned") + path = Path(path) + except TypeError as e: + log.error(f"{name} was not found in PATH: {e}") + return path + + +def is_64bit(): + return sys.maxsize > 2147483647 + + +def filter_match(name, patterns): + for pattern in patterns: + if pattern is None: + continue + if fnmatch.fnmatch(name, pattern): + return True + return False + + +def update_env_path(newpaths): + paths = os.environ['PATH'].lower().split(os.pathsep) + for path in newpaths: + if str(path).lower() not in paths: + log.info(f"Inserting path '{path}' to environment") + paths.insert(0, path) + os.environ['PATH'] = f"{path}{os.pathsep}{os.environ['PATH']}" + + +def get_numpy_location(): + for p in sys.path: + if 'site-' in p: + numpy = Path(p).resolve() / 'numpy' + if numpy.is_dir(): + return os.fspath(numpy / 'core' / 'include') + return None + + +def platform_cmake_options(as_tuple_list=False): + result = [] + if sys.platform == 'win32': + # Prevent cmake from auto-detecting clang if it is in path. + if as_tuple_list: + result.append(("CMAKE_C_COMPILER", "cl.exe")) + result.append(("CMAKE_CXX_COMPILER", "cl.exe")) + else: + result.append("-DCMAKE_C_COMPILER=cl.exe") + result.append("-DCMAKE_CXX_COMPILER=cl.exe") + return result + + +def copyfile(src, dst, force=True, _vars=None, force_copy_symlink=False, + make_writable_by_owner=False): + if isinstance(src, str): + src = Path(src.format(**_vars)) if _vars else Path(src) + if isinstance(dst, str): + dst = Path(dst.format(**_vars)) if _vars else Path(dst) + assert(isinstance(src, Path)) + assert(isinstance(dst, Path)) + + if not src.exists() and not force: + log.info(f"**Skipping copy file\n {src} to\n {dst}\n Source does not exist") + return + + if not src.is_symlink() or force_copy_symlink: + if dst.is_file(): + src_stat = os.stat(src) + dst_stat = os.stat(dst) + if (src_stat.st_size == dst_stat.st_size + and src_stat.st_mtime <= dst_stat.st_mtime): + log.info(f"{dst} is up to date.") + return dst + + log.debug(f"Copying file\n {src} to\n {dst}.") + shutil.copy2(src, dst) + if make_writable_by_owner: + make_file_writable_by_owner(dst) + + return dst + + # We use 'strict=False' to mimic os.path.realpath in case + # the directory doesn't exist. + link_target_path = src.resolve(strict=False) + if link_target_path.parent == src.parent: + link_target = Path(link_target_path.name) + link_name = Path(src.name) + current_directory = Path.cwd() + try: + target_dir = dst if dst.is_dir() else dst.parent + os.chdir(target_dir) + if link_name.exists(): + if (link_name.is_symlink() + and os.readlink(link_name) == link_target): + log.info(f"Symlink already exists\n {link_name} ->\n {link_target}") + return dst + os.remove(link_name) + log.info(f"Symlinking\n {link_name} ->\n {link_target} in\n {target_dir}") + os.symlink(link_target, link_name) + except OSError: + log.error(f"Error creating symlink\n {link_name} ->\n {link_target}") + finally: + os.chdir(current_directory) + else: + log.error(f"{src} -> {link_target_path}: Can only create symlinks within the same " + "directory") + + return dst + + +def makefile(dst, content=None, _vars=None): + if _vars is not None: + if content is not None: + content = content.format(**_vars) + dst = Path(dst.format(**_vars)) + + log.info(f"Making file {dst}.") + + dstdir = dst.parent + if not dstdir.exists(): + dstdir.mkdir(parents=True) + + with open(dst, "wt") as f: + if content is not None: + f.write(content) + + +def copydir(src, dst, _filter=None, ignore=None, force=True, recursive=True, _vars=None, + dir_filter_function=None, file_filter_function=None, force_copy_symlinks=False): + + if isinstance(src, str): + src = Path(src.format(**_vars)) if _vars else Path(src) + if isinstance(dst, str): + dst = Path(dst.format(**_vars)) if _vars else Path(dst) + assert(isinstance(src, Path)) + assert(isinstance(dst, Path)) + + if _vars is not None: + if _filter is not None: + _filter = [i.format(**_vars) for i in _filter] + if ignore is not None: + ignore = [i.format(**_vars) for i in ignore] + + if not src.exists() and not force: + log.info(f"**Skipping copy tree\n {src} to\n {dst}\n Source does not exist. " + f"filter={_filter}. ignore={ignore}.") + return [] + + log.debug(f"Copying tree\n {src} to\n {dst}. filter={_filter}. ignore={ignore}.") + + names = os.listdir(src) + + results = [] + copy_errors = [] + for name in names: + srcname = src / name + dstname = dst / name + try: + if srcname.is_dir(): + if (dir_filter_function and not dir_filter_function(name, src, srcname)): + continue + if recursive: + results.extend(copydir(srcname, dstname, _filter, ignore, force, recursive, + _vars, dir_filter_function, file_filter_function, + force_copy_symlinks)) + else: + if ((file_filter_function is not None and not file_filter_function(name, srcname)) + or (_filter is not None and not filter_match(name, _filter)) + or (ignore is not None and filter_match(name, ignore))): + continue + if not dst.is_dir(): + dst.mkdir(parents=True) + results.append(copyfile(srcname, dstname, True, _vars, force_copy_symlinks)) + # catch the Error from the recursive copytree so that we can + # continue with other files + except shutil.Error as err: + copy_errors.extend(err.args[0]) + except EnvironmentError as why: + copy_errors.append((srcname, dstname, str(why))) + try: + if dst.exists(): + shutil.copystat(str(src), str(dst)) + except OSError as why: + if WindowsError is not None and isinstance(why, WindowsError): + # Copying file access times may fail on Windows + pass + else: + copy_errors.extend((src, dst, str(why))) + if copy_errors: + raise EnvironmentError(copy_errors) + return results + + +def make_file_writable_by_owner(path): + current_permissions = stat.S_IMODE(os.lstat(path).st_mode) + os.chmod(path, current_permissions | stat.S_IWUSR) + + +def remove_tree(dirname, ignore=False): + def handle_remove_readonly(func, path, exc): + # exc returns like 'sys.exc_info()': type, value, traceback + _, excvalue, _ = exc + if func in (os.rmdir, os.remove) and excvalue.errno == errno.EACCES: + os.chmod(path, stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO) # 0777 + func(path) + else: + raise IOError + shutil.rmtree(dirname, ignore_errors=ignore, onerror=handle_remove_readonly) + + +def run_process_output(args, initial_env=None): + if initial_env is None: + initial_env = os.environ + result = [] + with subprocess.Popen(args, env=initial_env, universal_newlines=1, + stdout=subprocess.PIPE) as p: + for raw_line in p.stdout.readlines(): + result.append(raw_line.rstrip()) + p.stdout.close() + return result + + +def run_process(args, initial_env=None): + """ + Run process until completion and return the process exit code. + No output is captured. + """ + command = " ".join([(" " in x and f'"{x}"' or x) for x in args]) + log.debug(f"In directory {Path.cwd()}:\n\tRunning command: {command}") + + if initial_env is None: + initial_env = os.environ + + kwargs = {} + kwargs['env'] = initial_env + + exit_code = subprocess.call(args, **kwargs) + return exit_code + + +def back_tick(cmd, ret_err=False): + """ + Run command `cmd`, return stdout, or (stdout, stderr, + return_code) if `ret_err` is True. + + Parameters + ---------- + cmd : str + command to execute + ret_err : bool, optional + If True, return stderr and return_code in addition to stdout. + If False, just return stdout + + Returns + ------- + out : str or tuple + If `ret_err` is False, return stripped string containing stdout from + `cmd`. + If `ret_err` is True, return tuple of (stdout, stderr, return_code) + where ``stdout`` is the stripped stdout, and ``stderr`` is the stripped + stderr, and ``return_code`` is the process exit code. + + Raises + ------ + Raises RuntimeError if command returns non-zero exit code when ret_err + isn't set. + """ + with subprocess.Popen(cmd, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, shell=True) as proc: + out_bytes, err_bytes = proc.communicate() + out = out_bytes.decode().strip() + err = err_bytes.decode().strip() + retcode = proc.returncode + if retcode is None and not ret_err: + proc.terminate() + raise RuntimeError(f"{cmd} process did not terminate") + if retcode != 0 and not ret_err: + raise RuntimeError(f"{cmd} process returned code {retcode}\n*** {err}") + if not ret_err: + return out + return out, err, retcode + + +MACOS_OUTNAME_RE = re.compile(r'\(compatibility version [\d.]+, current version [\d.]+\)') + + +def macos_get_install_names(libpath): + """ + Get macOS library install names from library `libpath` using ``otool`` + + Parameters + ---------- + libpath : str + path to library + + Returns + ------- + install_names : list of str + install names in library `libpath` + """ + out = back_tick(f"otool -L {libpath}") + libs = [line for line in out.split('\n')][1:] + return [MACOS_OUTNAME_RE.sub('', lib).strip() for lib in libs] + + +MACOS_RPATH_RE = re.compile(r"path (.+) \(offset \d+\)") + + +def macos_get_rpaths(libpath): + """ Get rpath load commands from library `libpath` using ``otool`` + + Parameters + ---------- + libpath : str + path to library + + Returns + ------- + rpaths : list of str + rpath values stored in ``libpath`` + + Notes + ----- + See ``man dyld`` for more information on rpaths in libraries + """ + lines = back_tick(f"otool -l {libpath}").split('\n') + ctr = 0 + rpaths = [] + while ctr < len(lines): + line = lines[ctr].strip() + if line != 'cmd LC_RPATH': + ctr += 1 + continue + assert lines[ctr + 1].strip().startswith('cmdsize') + rpath_line = lines[ctr + 2].strip() + match = MACOS_RPATH_RE.match(rpath_line) + if match is None: + raise RuntimeError(f"Unexpected path line: {rpath_line}") + rpaths.append(match.groups()[0]) + ctr += 3 + return rpaths + + +def macos_add_rpath(rpath, library_path): + try: + back_tick(f"install_name_tool -add_rpath {rpath} {library_path}") + except RuntimeError as e: + print(f"Exception {type(e).__name__}: {e}") + + +def macos_fix_rpaths_for_library(library_path, qt_lib_dir): + """ Adds required rpath load commands to given library. + + This is a necessary post-installation step, to allow loading PySide + modules without setting DYLD_LIBRARY_PATH or DYLD_FRAMEWORK_PATH. + The CMake rpath commands which are added at build time are used only + for testing (make check), and they are stripped once the equivalent + of make install is executed (except for shiboken, which currently + uses CMAKE_INSTALL_RPATH_USE_LINK_PATH, which might be necessary to + remove in the future). + + Parameters + ---------- + library_path : str + path to library for which to set rpaths. + qt_lib_dir : str + rpath to installed Qt lib directory. + """ + + install_names = macos_get_install_names(library_path) + existing_rpath_commands = macos_get_rpaths(library_path) + + needs_loader_path = False + for install_name in install_names: + # Absolute path, skip it. + if install_name[0] == '/': + continue + + # If there are dynamic library install names that contain + # @rpath tokens, we will provide an rpath load command with the + # value of "@loader_path". This will allow loading dependent + # libraries from within the same directory as 'library_path'. + if install_name[0] == '@': + needs_loader_path = True + break + + if needs_loader_path and "@loader_path" not in existing_rpath_commands: + macos_add_rpath("@loader_path", library_path) + + # If the library depends on a Qt library, add an rpath load comment + # pointing to the Qt lib directory. + macos_add_qt_rpath(library_path, qt_lib_dir, existing_rpath_commands, install_names) + + +def macos_add_qt_rpath(library_path, qt_lib_dir, existing_rpath_commands=None, + library_dependencies=None): + """ + Adds an rpath load command to the Qt lib directory if necessary + + Checks if library pointed to by 'library_path' has Qt dependencies, + and adds an rpath load command that points to the Qt lib directory + (qt_lib_dir). + """ + if existing_rpath_commands is None: + existing_rpath_commands = [] + + if library_dependencies is None: + library_dependencies = [] + + if not existing_rpath_commands: + existing_rpath_commands = macos_get_rpaths(library_path) + + # Return early if qt rpath is already present. + if qt_lib_dir in existing_rpath_commands: + return + + # Check if any library dependencies are Qt libraries (hacky). + if not library_dependencies: + library_dependencies = macos_get_install_names(library_path) + + needs_qt_rpath = False + for library in library_dependencies: + if 'Qt' in library: + needs_qt_rpath = True + break + + if needs_qt_rpath: + macos_add_rpath(qt_lib_dir, library_path) + + +# Find an executable specified by a glob pattern ('foo*') in the OS path +def find_glob_in_path(pattern): + result = [] + if sys.platform == 'win32': + pattern += '.exe' + + for path in os.environ.get('PATH', '').split(os.pathsep): + for match in glob.glob(str(Path(path) / pattern)): + result.append(match) + return result + + +# Expand the __ARCH_ place holder in the CLANG environment variables +def expand_clang_variables(target_arch): + for var in 'LLVM_INSTALL_DIR', 'CLANG_INSTALL_DIR': + value = os.environ.get(var) + if value and '_ARCH_' in value: + value = value.replace('_ARCH_', target_arch) + os.environ[var] = value + print(f"{var} = {value}") + + +# Add Clang to path for Windows for the shiboken ApiExtractor tests. +# Revisit once Clang is bundled with Qt. +def detect_clang(): + source = 'LLVM_INSTALL_DIR' + clang_dir = os.environ.get(source, None) + if not clang_dir: + source = 'CLANG_INSTALL_DIR' + clang_dir = os.environ.get(source, None) + if not clang_dir: + raise OSError("clang not found") + return (Path(clang_dir), source) + + +_7z_binary = None + + +def download_and_extract_7z(fileurl, target): + """ Downloads 7z file from fileurl and extract to target """ + info = "" + localfile = None + for i in range(1, 10): + try: + log.info(f"Downloading fileUrl {fileurl}, attempt #{i}") + localfile, info = urllib.urlretrieve(fileurl) + break + except urllib.URLError: + pass + if not localfile: + log.error(f"Error downloading {fileurl} : {info}") + raise RuntimeError(f" Error downloading {fileurl}") + + try: + global _7z_binary + outputDir = f"-o{target}" + if not _7z_binary: + if sys.platform == "win32": + candidate = Path("c:\\Program Files\\7-Zip\\7z.exe") + if candidate.exists(): + _7z_binary = candidate + if not _7z_binary: + _7z_binary = '7z' + log.info(f"calling {_7z_binary} x {localfile} {outputDir}") + subprocess.call([_7z_binary, "x", "-y", localfile, outputDir]) + except (subprocess.CalledProcessError, OSError): + raise RuntimeError(f"Error extracting {localfile}") + + +def split_and_strip(sinput): + lines = [s.strip() for s in sinput.splitlines()] + return lines + + +def ldd_get_dependencies(executable_path): + """ + Returns a dictionary of dependencies that `executable_path` + depends on. + + The keys are library names and the values are the library paths. + + """ + output = ldd(executable_path) + lines = split_and_strip(output) + pattern = re.compile(r"\s*(.*?)\s+=>\s+(.*?)\s+\(.*\)") + dependencies = {} + for line in lines: + match = pattern.search(line) + if match: + dependencies[match.group(1)] = match.group(2) + return dependencies + + +def ldd_get_paths_for_dependencies(dependencies_regex, executable_path=None, dependencies=None): + """ + Returns file paths to shared library dependencies that match given + `dependencies_regex` against given `executable_path`. + + The function retrieves the list of shared library dependencies using + ld.so for the given `executable_path` in order to search for + libraries that match the `dependencies_regex`, and then returns a + list of absolute paths of the matching libraries. + + If no matching library is found in the list of dependencies, + an empty list is returned. + """ + + if not dependencies and not executable_path: + return None + + if not dependencies: + dependencies = ldd_get_dependencies(executable_path) + + pattern = re.compile(dependencies_regex) + + paths = [] + for key in dependencies: + match = pattern.search(key) + if match: + paths.append(dependencies[key]) + + return paths + + +def _ldd_ldd(executable_path): + """Helper for ldd(): + Returns ldd output of shared library dependencies for given + `executable_path`. + + Parameters + ---------- + executable_path : str + path to executable or shared library. + + Returns + ------- + output : str + the raw output retrieved from the dynamic linker. + """ + + output = '' + error = '' + try: + output_lines = run_process_output(['ldd', executable_path]) + output = '\n'.join(output_lines) + except Exception as e: + error = str(e) + if not output: + message = (f"ldd failed to query for dependent shared libraries of {executable_path}: " + f"{error}") + raise RuntimeError(message) + return output + + +def _ldd_ldso(executable_path): + """ + Helper for ldd(): + Returns ld.so output of shared library dependencies for given + `executable_path`. + + This is a partial port of /usr/bin/ldd from bash to Python for + systems that do not have ldd. + The dependency list is retrieved by setting the + LD_TRACE_LOADED_OBJECTS=1 environment variable, and executing the + given path via the dynamic loader ld.so. + + Only works on Linux. + This is because ldd (on Ubuntu) is shipped in the libc-bin package + that, which might have a + minuscule percentage of not being installed. + + Parameters + ---------- + executable_path : str + path to executable or shared library. + + Returns + ------- + output : str + the raw output retrieved from the dynamic linker. + """ + + chosen_rtld = None + # List of ld's considered by ldd on Ubuntu (here's hoping it's the + # same on all distros). + rtld_list = ["/lib/ld-linux.so.2", "/lib64/ld-linux-x86-64.so.2", "/libx32/ld-linux-x32.so.2"] + + # Choose appropriate runtime dynamic linker. + for rtld in rtld_list: + rtld = Path(rtld) + if rtld.is_file() and os.access(rtld, os.X_OK): + (_, _, code) = back_tick(rtld, True) + # Code 127 is returned by ld.so when called without any + # arguments (some kind of sanity check I guess). + if code == 127: + (_, _, code) = back_tick(f"{rtld} --verify {executable_path}", True) + # Codes 0 and 2 mean given executable_path can be + # understood by ld.so. + if code in [0, 2]: + chosen_rtld = rtld + break + + if not chosen_rtld: + raise RuntimeError("Could not find appropriate ld.so to query for dependencies.") + + # Query for shared library dependencies. + rtld_env = "LD_TRACE_LOADED_OBJECTS=1" + rtld_cmd = f"{rtld_env} {chosen_rtld} {executable_path}" + (out, _, return_code) = back_tick(rtld_cmd, True) + if return_code == 0: + return out + else: + raise RuntimeError("ld.so failed to query for dependent shared " + f"libraries of {executable_path}") + + +def ldd(executable_path): + """ + Returns ldd output of shared library dependencies for given `executable_path`, + using either ldd or ld.so depending on availability. + + Parameters + ---------- + executable_path : str + path to executable or shared library. + + Returns + ------- + output : str + the raw output retrieved from the dynamic linker. + """ + result = '' + try: + result = _ldd_ldd(executable_path) + except RuntimeError as e: + message = f"ldd: Falling back to ld.so ({str(e)})" + log.warning(message) + if not result: + result = _ldd_ldso(executable_path) + return result + + +def find_files_using_glob(path, pattern): + """ Returns list of files that matched glob `pattern` in `path`. """ + final_pattern = Path(path) / pattern + maybe_files = glob.glob(str(final_pattern)) + return maybe_files + + +def find_qt_core_library_glob(lib_dir): + """ Returns path to the QtCore library found in `lib_dir`. """ + maybe_file = find_files_using_glob(lib_dir, "libQt6Core.so.?") + if len(maybe_file) == 1: + return maybe_file[0] + return None + + +# @TODO: Possibly fix ICU library copying on macOS and Windows. +# This would require to implement the equivalent of the custom written +# ldd for the specified platforms. +# This has less priority because ICU libs are not used in the default +# Qt configuration build. +# Note: Uses ldd to query shared library dependencies and thus does not +# work for cross builds. +def copy_icu_libs(patchelf, destination_lib_dir): + """ + Copy ICU libraries that QtCore depends on, + to given `destination_lib_dir`. + """ + qt_core_library_path = Path(find_qt_core_library_glob(destination_lib_dir)) + + if not qt_core_library_path or not qt_core_library_path.exists(): + raise RuntimeError(f"QtCore library does not exist at path: {qt_core_library_path}. " + "Failed to copy ICU libraries.") + + dependencies = ldd_get_dependencies(qt_core_library_path) + + icu_regex = r"^libicu.+" + icu_compiled_pattern = re.compile(icu_regex) + icu_required = False + for dependency in dependencies: + match = icu_compiled_pattern.search(dependency) + if match: + icu_required = True + break + + if icu_required: + paths = ldd_get_paths_for_dependencies(icu_regex, dependencies=dependencies) + if not paths: + raise RuntimeError("Failed to find the necessary ICU libraries required by QtCore.") + log.debug('Copying the detected ICU libraries required by QtCore.') + + destination_lib_dir = Path(destination_lib_dir) + if not destination_lib_dir.exists(): + destination_lib_dir.mkdir(parents=True) + + for path in paths: + basename = Path(path).name + destination = destination_lib_dir / basename + copyfile(path, destination, force_copy_symlink=True) + # Patch the ICU libraries to contain the $ORIGIN rpath + # value, so that only the local package libraries are used. + linux_set_rpaths(patchelf, destination, '$ORIGIN') + + # Patch the QtCore library to find the copied over ICU libraries + # (if necessary). + log.info("Checking if QtCore library needs a new rpath to make it work with ICU libs.") + linux_prepend_rpath(patchelf, qt_core_library_path, '$ORIGIN') + + +def linux_run_read_elf(executable_path): + cmd = f"readelf -d {executable_path}" + (out, err, code) = back_tick(cmd, True) + if code != 0: + raise RuntimeError(f"Running `readelf -d {executable_path}` failed with error " + f"output:\n {err}. ") + lines = split_and_strip(out) + return lines + + +def linux_set_rpaths(patchelf, executable_path, rpath_string): + """ Patches the `executable_path` with a new rpath string. """ + + cmd = [str(patchelf), '--set-rpath', str(rpath_string), str(executable_path)] + + if run_process(cmd) != 0: + raise RuntimeError(f"Error patching rpath in {executable_path}") + + +def linux_prepend_rpath(patchelf, executable_path, new_path): + """ Prepends a path to the rpaths of the executable unless it has ORIGIN. """ + rpaths = linux_get_rpaths(executable_path) + if not rpaths or not rpaths_has_origin(rpaths): + rpaths.insert(0, new_path) + new_rpaths_string = ":".join(rpaths) + linux_set_rpaths(patchelf, executable_path, new_rpaths_string) + + +def linux_patch_executable(patchelf, executable_path): + """ Patch an executable to run with the Qt libraries. """ + linux_prepend_rpath(patchelf, executable_path, '$ORIGIN/../lib') + + +def linux_get_dependent_libraries(executable_path): + """ + Returns a list of libraries that executable_path depends on. + """ + + lines = linux_run_read_elf(executable_path) + pattern = re.compile(r"^.+?\(NEEDED\).+?\[(.+?)\]$") + + library_lines = [] + for line in lines: + match = pattern.search(line) + if match: + library_line = match.group(1) + library_lines.append(library_line) + + return library_lines + + +def linux_get_rpaths(executable_path): + """ + Returns a list of run path values embedded in the executable or just + an empty list. + """ + + lines = linux_run_read_elf(executable_path) + pattern = re.compile(r"^.+?\(RUNPATH\).+?\[(.+?)\]$") + + rpath_line = None + for line in lines: + match = pattern.search(line) + if match: + rpath_line = match.group(1) + break + + rpaths = [] + + if rpath_line: + rpaths = rpath_line.split(':') + + return rpaths + + +def rpaths_has_origin(rpaths): + """ + Return True if the specified list of rpaths has an "$ORIGIN" value + (aka current dir). + """ + if not rpaths: + return False + + pattern = re.compile(r"^\$ORIGIN(/)?$") + for rpath in rpaths: + match = pattern.search(rpath) + if match: + return True + return False + + +def linux_needs_qt_rpath(executable_path): + """ + Returns true if library_path depends on Qt libraries. + """ + + dependencies = linux_get_dependent_libraries(executable_path) + + # Check if any library dependencies are Qt libraries (hacky). + needs_qt_rpath = False + for dep in dependencies: + if 'Qt' in dep: + needs_qt_rpath = True + break + return needs_qt_rpath + + +def linux_fix_rpaths_for_library(patchelf, executable_path, qt_rpath, override=False): + """ + Adds or overrides required rpaths in given executable / library. + """ + rpaths = ['$ORIGIN/'] + existing_rpaths = [] + if not override: + existing_rpaths = linux_get_rpaths(executable_path) + rpaths.extend(existing_rpaths) + + qt_rpath = str(qt_rpath) + if linux_needs_qt_rpath(executable_path) and qt_rpath not in existing_rpaths: + rpaths.append(qt_rpath) + + rpaths_string = ':'.join(rpaths) + linux_set_rpaths(patchelf, executable_path, rpaths_string) + + +def memoize(function): + """ + Decorator to wrap a function with a memoizing callable. + It returns cached values when the wrapped function is called with + the same arguments. + """ + memo = {} + + def wrapper(*args): + if args in memo: + return memo[args] + else: + rv = function(*args) + memo[args] = rv + return rv + return wrapper + + +def get_python_dict(python_script_path): + try: + with open(python_script_path) as f: + python_dict = {} + code = compile(f.read(), python_script_path, 'exec') + exec(code, {}, python_dict) + return python_dict + except IOError as e: + print(f"get_python_dict: Couldn't get dict from python " + f"file: {python_script_path}. {e}") + raise + + +def get_qtci_virtualEnv(python_ver, host, hostArch, targetArch): + _pExe = "python" + _env = f"{os.environ.get('PYSIDE_VIRTUALENV') or 'env'+python_ver}" + env_python = f"{_env}/bin/python" + env_pip = f"{_env}/bin/pip" + + if host == "Windows": + log.info("New virtualenv to build {targetArch} in {hostArch} host") + _pExe = "python.exe" + # With windows we are creating building 32-bit target in 64-bit host + if hostArch == "X86_64" and targetArch == "X86": + if python_ver.startswith("3"): + var = f"PYTHON{python_ver}-32_PATH" + log.info(f"Try to find python from {var} env variable") + _path = Path(os.getenv(var, "")) + _pExe = _path / "python.exe" + if not _pExe.is_file(): + log.warn(f"Can't find python.exe from {_pExe}, using default python3") + _pExe = Path(os.getenv("PYTHON3_32_PATH")) / "python.exe" + else: + _pExe = Path(os.getenv("PYTHON2_32_PATH")) / "python.exe" + else: + if python_ver.startswith("3"): + var = f"PYTHON{python_ver}-64_PATH" + log.info(f"Try to find python from {var} env variable") + _path = Path(os.getenv(var, "")) + _pExe = _path / "python.exe" + if not _pExe.is_file(): + log.warn(f"Can't find python.exe from {_pExe}, using default python3") + _pExe = Path(os.getenv("PYTHON3_PATH")) / "python.exe" + env_python = f"{_env}\\Scripts\\python.exe" + env_pip = f"{_env}\\Scripts\\pip.exe" + else: + _pExe = f"python{python_ver}" + try: + run_instruction([_pExe, "--version"], f"Failed to guess python version {_pExe}") + except Exception as e: + print(f"Exception {type(e).__name__}: {e}") + _pExe = "python3" + return(_pExe, _env, env_pip, env_python) + + +def run_instruction(instruction, error, initial_env=None): + if initial_env is None: + initial_env = os.environ + log.info(f"Running Coin instruction: {' '.join(str(e) for e in instruction)}") + result = subprocess.call(instruction, env=initial_env) + if result != 0: + log.error(f"ERROR : {error}") + exit(result) + + +def get_ci_qtpaths_path(ci_install_dir, ci_host_os): + qtpaths_path = f"--qtpaths={ci_install_dir}" + if ci_host_os == "MacOS": + return f"{qtpaths_path}/bin/qtpaths" + elif ci_host_os == "Windows": + return f"{qtpaths_path}\\bin\\qtpaths.exe" + else: + return f"{qtpaths_path}/bin/qtpaths" + + +def get_ci_qmake_path(ci_install_dir, ci_host_os): + qmake_path = f"--qmake={ci_install_dir}" + if ci_host_os == "MacOS": + return f"{qmake_path}/bin/qmake" + elif ci_host_os == "Windows": + return f"{qmake_path}\\bin\\qmake.exe" + else: + return f"{qmake_path}/bin/qmake" + + +def parse_cmake_conf_assignments_by_key(source_dir): + """ + Parses a .cmake.conf file that contains set(foo "bar") assignments + and returns a dict with those assignments transformed to keys and + values. + """ + + contents = (Path(source_dir) / ".cmake.conf").read_text() + matches = re.findall(r'set\((.+?) "(.*?)"\)', contents) + d = {key: value for key, value in matches} + return d + + +def _configure_failure_message(project_path, cmd, return_code, output, error, env): + """Format a verbose message about configure_cmake_project() failures.""" + cmd_string = ' '.join(cmd) + error_text = indent(error.strip(), " ") + output_text = indent(output.strip(), " ") + result = dedent(f""" + Failed to configure CMake project: '{project_path}' + Configure args were: + {cmd_string} + Return code: {return_code} + """) + + first = True + for k, v in env.items(): + if k.startswith("CMAKE"): + if first: + result += "Environment:\n" + first = False + result += f" {k}={v}\n" + + result += f"\nwith error:\n{error_text}\n" + + CMAKE_CMAKEOUTPUT_LOG_PATTERN = r'See also "([^"]+CMakeOutput\.log)"\.' + cmakeoutput_log_match = re.search(CMAKE_CMAKEOUTPUT_LOG_PATTERN, output) + if cmakeoutput_log_match: + cmakeoutput_log = Path(cmakeoutput_log_match.group(1)) + if cmakeoutput_log.is_file(): + log = indent(cmakeoutput_log.read_text().strip(), " ") + result += f"CMakeOutput.log:\n{log}\n" + + result += f"Output:\n{output_text}\n" + return result + + +def configure_cmake_project(project_path, + cmake_path, + build_path=None, + temp_prefix_build_path=None, + cmake_args=None, + cmake_cache_args=None, + ): + clean_temp_dir = False + if not build_path: + # Ensure parent dir exists. + if temp_prefix_build_path: + os.makedirs(temp_prefix_build_path, exist_ok=True) + + project_name = Path(project_path).name + build_path = tempfile.mkdtemp(prefix=f"{project_name}_", dir=temp_prefix_build_path) + + if 'QFP_SETUP_KEEP_TEMP_FILES' not in os.environ: + clean_temp_dir = True + + cmd = [cmake_path, '-G', 'Ninja', '-S', project_path, '-B', build_path] + + if cmake_args: + cmd.extend(cmake_args) + + for arg, value in cmake_cache_args: + cmd.extend([f'-D{arg}={value}']) + + cmd = [str(i) for i in cmd] + + proc = subprocess.run(cmd, shell=False, cwd=build_path, + capture_output=True, universal_newlines=True) + return_code = proc.returncode + output = proc.stdout + error = proc.stderr + + if return_code != 0: + m = _configure_failure_message(project_path, cmd, return_code, + output, error, os.environ) + raise RuntimeError(m) + + if clean_temp_dir: + remove_tree(build_path) + + return output + + +def parse_cmake_project_message_info(output): + # Parse the output for anything prefixed + # '-- qfp::: ' as created by the message() + # calls in a given CMake project and store it in a python dict. + result = defaultdict(lambda: defaultdict(str)) + pattern = re.compile(r"^-- qfp:(.+?):(.+?):(.*)$") + for line in output.splitlines(): + found = pattern.search(line) + if found: + category = found.group(1).strip() + key = found.group(2).strip() + value = found.group(3).strip() + result[category][key] = str(value) + return result + + +def available_pyside_tools(qt_tools_path: Path, package_for_wheels: bool = False): + pyside_tools = PYSIDE_PYTHON_TOOLS.copy() + + if package_for_wheels: + # Qt wrappers in build/{python_env_name}/package_for_wheels/PySide6 + bin_path = qt_tools_path + else: + bin_path = qt_tools_path / "bin" + + def tool_exist(tool_path: Path): + if tool_path.exists(): + return True + else: + log.warning(f"{tool_path} not found. pyside-{tool_path.name} not included.") + return False + + if sys.platform == 'win32': + pyside_tools.extend([tool for tool in PYSIDE_WINDOWS_BIN_TOOLS + if tool_exist(bin_path / f"{tool}.exe")]) + else: + lib_exec_path = qt_tools_path / "Qt" / "libexec" if package_for_wheels \ + else qt_tools_path / "libexec" + pyside_tools.extend([tool for tool in PYSIDE_UNIX_LIBEXEC_TOOLS + if tool_exist(lib_exec_path / tool)]) + if sys.platform == 'darwin': + def name_to_path(name): + return f"{name.capitalize()}.app/Contents/MacOS/{name.capitalize()}" + + pyside_tools.extend([tool for tool in PYSIDE_UNIX_BIN_TOOLS + if tool_exist(bin_path / tool)]) + pyside_tools.extend([tool for tool in PYSIDE_UNIX_BUNDLED_TOOLS + if tool_exist(bin_path / name_to_path(tool))]) + else: + pyside_tools.extend([tool for tool in PYSIDE_LINUX_BIN_TOOLS + if tool_exist(bin_path / tool)]) + + return pyside_tools + + +def copy_qt_metatypes(destination_qt_dir, _vars): + """Copy the Qt metatypes files which changed location in 6.5""" + # /[lib]?/metatypes/* -> /{st_package_name}/Qt/[lib]?/metatypes + qt_meta_types_dir = "{qt_metatypes_dir}".format(**_vars) + qt_prefix_dir = "{qt_prefix_dir}".format(**_vars) + rel_meta_data_dir = os.fspath(Path(qt_meta_types_dir).relative_to(qt_prefix_dir)) + copydir(qt_meta_types_dir, destination_qt_dir / rel_meta_data_dir, + _filter=["*.json"], + recursive=False, _vars=_vars, force_copy_symlinks=True) diff --git a/build_scripts/wheel_files.py b/build_scripts/wheel_files.py new file mode 100644 index 0000000..d984bf7 --- /dev/null +++ b/build_scripts/wheel_files.py @@ -0,0 +1,977 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + + +import json +import sys +from dataclasses import Field, dataclass, field +from typing import Dict, List + + +_pyside_package_path = None +_module_json_file_path = None + + +def set_pyside_package_path(p): + global _pyside_package_path, _module_json_file_path + _pyside_package_path = p + qt_path = p + if sys.platform != "win32": + qt_path /= "Qt" + _module_json_file_path = qt_path / "modules" + + +def get_module_json_data(module): + """Read the JSON module data.""" + json_path = _module_json_file_path / f"{module}.json" + json_data = None + if not json_path.is_file(): # Wayland is Linux only + print(f"Skipping {json_path}", file=sys.stderr) + return None + with json_path.open(encoding="utf-8") as json_file: + json_data = json.load(json_file) + return json_data + + +def get_module_plugins(json_data): + """Return the plugins from the JSON module data.""" + if json_data: + plugins = json_data.get("plugin_types") + if plugins: + return plugins + return [] + + +# This dataclass is in charge of holding the file information +# that each Qt module needs to have to be packaged in a wheel +@dataclass +class ModuleData: + name: str + ext: str = "" + # Libraries not related to Qt modules + lib: List[str] = field(default_factory=list) + # Libraries related to Qt modules + qtlib: List[str] = field(default_factory=list) + # Files from the Qt/qml directory + qml: List[str] = field(default_factory=list) + pyi: List[str] = field(default_factory=list) + translations: List[str] = field(default_factory=list) + typesystems: List[str] = field(default_factory=list) + include: List[str] = field(default_factory=list) + glue: List[str] = field(default_factory=list) + metatypes: List[str] = field(default_factory=list) + plugins: List[str] = field(default_factory=list) + + # For special cases when a file/directory doesn't fall into + # the previous categories. + extra_dirs: List[str] = field(default_factory=list) + extra_files: List[str] = field(default_factory=list) + + # Once the object is created, this method will be executed + # and automatically will initialize some of the files that are + # common for each module. + # Note: The goal of this list is to be used for a MANIFEST.in + # meaning that in case a file gets added and it doesn't + # exist, the wheel creation process will only throw a + # warning, but it will not interrupt the packaging process. + def __post_init__(self) -> None: + if not self.ext: + self.ext = self.get_extension_from_platform(sys.platform) + _lo = self.name.lower() + + self.lib.append(f"Qt{self.name}") + self.qtlib.append(f"libQt6{self.name}") + if not len(self.qml): + self.qml.append(f"Qt{self.name}") + self.pyi.append(f"Qt{self.name}.pyi") + self.typesystems.append(f"typesystem_{_lo}.xml") + self.include.append(f"Qt{self.name}/*.h") + self.glue.append(f"qt{_lo}.cpp") + if not len(self.metatypes): + self.metatypes.append(f"qt6{_lo}_relwithdebinfo_metatypes.json") + + # The PySide6 directory that gets packaged by the build_scripts + # 'prepare_packages()' has a certain structure that depends on + # the platform. Because that directory is the base for the wheel + # packaging to work, we use the relative paths that are included + # on each file. + # Note: The MANIFEST.in file doesn't need to have '\' or other + # separator, and respect the '/' even on Windows. + def adjusts_paths_and_extensions(self) -> None: + if sys.platform == "win32": + self.lib = [f"{i}.*{self.ext}".replace("lib", "") for i in self.lib] + self.qtlib = [f"{i}.*dll".replace("lib", "") for i in self.qtlib] + self.qml = [f"qml/{i}" for i in self.qml] + self.translations = [f"translations/{i}" for i in self.translations] + self.metatypes = [ + f"metatypes/{i}".replace("_relwithdebinfo", "") for i in self.metatypes + ] + self.plugins = [f"plugins/{i}" for i in self.plugins] + else: + if sys.platform == "darwin": + self.qtlib = [f"Qt/lib/{i.replace('libQt6', 'Qt')}.framework" for i in self.qtlib] + self.lib = [self.macos_pyside_wrappers_lib(i) for i in self.lib] + else: + self.lib = [f"{i}.*{self.ext}*" for i in self.lib] + self.qtlib = [f"Qt/lib/{i}.*{self.ext}*" for i in self.qtlib] + self.qml = [f"Qt/qml/{i}" for i in self.qml] + self.translations = [f"Qt/translations/{i}" for i in self.translations] + self.metatypes = [f"Qt/metatypes/{i}" for i in self.metatypes] + self.plugins = [f"Qt/plugins/{i}" for i in self.plugins] + + self.typesystems = [f"typesystems/{i}" for i in self.typesystems] + self.include = [f"include/{i}" for i in self.include] + self.glue = [f"glue/{i}" for i in self.glue] + + def macos_pyside_wrappers_lib(self, s): + if s.startswith("Qt"): + return f"{s}.*so*" + else: + return f"{s}.*{self.ext}*" + + @classmethod + def get_fields(cls) -> Dict[str, Field]: + return cls.__dataclass_fields__ + + @staticmethod + def get_extension_from_platform(platform: str) -> str: + if platform == "linux": + return "so" + elif platform == "darwin": + return "dylib" + elif platform == "win32": + return "pyd" + else: + print(f"Platform '{platform}' not supported. Exiting") + sys.exit(-1) + + +# Wheels auxiliary functions to return the ModuleData objects +# for each module that will be included in the wheel. + +# PySide wheel +def wheel_files_pyside_essentials() -> List[ModuleData]: + files = [ + module_QtCore(), + module_QtGui(), + module_QtWidgets(), + module_QtHelp(), + module_QtNetwork(), + module_QtConcurent(), + module_QtDBus(), + module_QtDesigner(), + module_QtOpenGL(), + module_QtOpenGLWidgets(), + module_QtPrintSupport(), + module_QtQml(), + module_QtQuick(), + module_QtQuickControls2(), + module_QtQuickWidgets(), + module_QtXml(), + module_QtTest(), + module_QtSql(), + module_QtSvg(), + module_QtSvgWidgets(), + module_QtUiTools(), + # Only for plugins + module_QtWayland(), + # there are no bindings for these modules, but their binaries are + # required for qmlls + module_QtLanguageServer(), + module_QtJsonRpc(), + ] + return files + + +# PySide Addons wheel +def wheel_files_pyside_addons() -> List[ModuleData]: + files = [ + module_Qt3DAnimation(), + module_Qt3DCore(), + module_Qt3DExtras(), + module_Qt3DInput(), + module_Qt3DLogic(), + module_Qt3DRender(), + module_QtAxContainer(), + module_QtBluetooth(), + module_QtCharts(), + module_QtDataVisualization(), + module_QtMultimedia(), + module_QtMultimediaWidgets(), + module_QtNetworkAuth(), + module_QtNfc(), + module_QtPdf(), + module_QtPdfWidgets(), + module_QtPositioning(), + module_QtQuick3D(), + module_QtRemoteObjects(), + module_QtScxml(), + module_QtSensors(), + module_QtSerialPort(), + module_QtSerialBus(), + module_QtSpatialAudio(), + module_QtStateMachine(), + module_QtTextToSpeech(), + module_QtVirtualKeyboard(), + module_QtWebChannel(), + module_QtWebEngineCore(), + module_QtWebEngineQuick(), + module_QtWebEngineWidgets(), + module_QtWebSockets(), + module_QtHttpServer(), + module_QtLocation(), + ] + return files + + +# Functions that hold the information of all the files that needs +# to be included for the module to work, including Qt libraries, +# typesystems, glue, etc. +def module_QtCore() -> ModuleData: + # QtCore + data = ModuleData("Core") + + _typesystems = [ + "common.xml", + "core_common.xml", + "typesystem_core_common.xml", + "typesystem_core_win.xml" + ] + + data.typesystems.extend(_typesystems) + data.include.append("*.h") + if sys.platform == "win32": + data.qtlib.append("pyside6.*") + data.extra_files.append("qt.conf") + data.extra_files.append("rcc.exe") + data.extra_files.append("qtdiag.exe") + data.extra_files.append("pyside6.*.lib") + data.extra_files.append("resources/icudtl.dat") + from build_scripts.platforms.windows_desktop import msvc_redist + data.extra_files.extend(msvc_redist) + else: + data.lib.append("libpyside6.*") + data.extra_files.append("Qt/libexec/rcc") + data.extra_files.append("Qt/libexec/qt.conf") + + # *.py + data.extra_dirs.append("support") + + # pyside-tools with python backend + # Including the 'scripts' folder would include all the tools into the + # PySide6_Essentials wheel. The moment when we add a tool that has a + # dependency on a module in PySide6_AddOns, then we should split out + # the following line into individual subfolder and files, to better + # control which tool goes into which wheel + data.extra_dirs.append("scripts") + + data.extra_dirs.append("typesystems/glue") + + data.extra_files.append("__feature__.pyi") + data.extra_files.append("__init__.py") + data.extra_files.append("_git_pyside_version.py") + data.extra_files.append("_config.py") + data.extra_files.append("py.typed") + + # Assistant + if sys.platform == "darwin": + data.extra_dirs.append("Assistant.app") + else: + data.extra_files.append("assistant*") + data.translations.append("assistant_*") + + # Linguist + if sys.platform == "darwin": + data.extra_dirs.append("Linguist.app") + else: + data.extra_files.append("linguist*") + data.extra_files.append("lconvert*") + data.translations.append("linguist_*") + + data.extra_files.append("lrelease*") + data.extra_files.append("lupdate*") + + # General translations + data.translations.append("qtbase_*") + data.translations.append("qt_help_*") + data.translations.append("qt_*") + + # Extra libraries + data.qtlib.append("libicudata*") + data.qtlib.append("libicui18n*") + data.qtlib.append("libicule*") + data.qtlib.append("libiculx*") + data.qtlib.append("libicutest*") + data.qtlib.append("libicutu*") + data.qtlib.append("libicuuc*") + data.qtlib.append("libicuio*") + + return data + + +def module_QtGui() -> ModuleData: + data = ModuleData("Gui") + _typesystems = [ + "gui_common.xml", + "typesystem_gui_common.xml", + "typesystem_gui_mac.xml", + "typesystem_gui_win.xml", + "typesystem_gui_x11.xml", + ] + + _metatypes = [ + "qt6eglfsdeviceintegrationprivate_relwithdebinfo_metatypes.json", + "qt6eglfskmssupportprivate_relwithdebinfo_metatypes.json", + "qt6kmssupportprivate_relwithdebinfo_metatypes.json", + "qt6xcbqpaprivate_relwithdebinfo_metatypes.json", + ] + + _qtlib = [ + "libQt6EglFSDeviceIntegration", + "libQt6EglFsKmsSupport", + "libQt6XcbQpa", + ] + + data.typesystems.extend(_typesystems) + data.metatypes.extend(_metatypes) + data.qtlib.extend(_qtlib) + + json_data = get_module_json_data("Gui") + data.plugins = get_module_plugins(json_data) + data.extra_files.append("Qt/plugins/platforms/libqeglfs*") + + return data + + +def module_QtWidgets() -> ModuleData: + data = ModuleData("Widgets") + data.typesystems.append("widgets_common.xml") + data.typesystems.append("typesystem_widgets_common.xml") + + if sys.platform == "win32": + data.extra_files.append("uic.exe") + else: + data.extra_files.append("Qt/libexec/uic") + json_data = get_module_json_data("Widgets") + data.plugins = get_module_plugins(json_data) + + return data + + +def module_QtHelp() -> ModuleData: + data = ModuleData("Help") + + return data + + +def module_QtNetwork() -> ModuleData: + data = ModuleData("Network") + json_data = get_module_json_data("Network") + data.plugins = get_module_plugins(json_data) + + return data + + +def module_QtBluetooth() -> ModuleData: + data = ModuleData("Bluetooth") + data.translations.append("qtconnectivity_*") + + return data + + +def module_QtConcurent() -> ModuleData: + data = ModuleData("Concurrent") + + return data + + +def module_QtDBus() -> ModuleData: + data = ModuleData("DBus") + + return data + + +def module_QtDesigner() -> ModuleData: + data = ModuleData("Designer") + data.qtlib.append("libQt6DesignerComponents") + data.metatypes.append("qt6designercomponentsprivate_relwithdebinfo_metatypes.json") + json_data = get_module_json_data("Designer") + data.plugins = get_module_plugins(json_data) + data.extra_files.append("Qt/plugins/assetimporters/libuip*") + + # Designer + if sys.platform == "darwin": + data.extra_dirs.append("Designer.app") + else: + data.extra_files.append("designer*") + data.translations.append("designer_*") + + return data + + +def module_QtNfc() -> ModuleData: + data = ModuleData("Nfc") + + return data + + +def module_QtPdf() -> ModuleData: + data = ModuleData("Pdf") + data.qtlib.append("libQt6PdfQuick") + + return data + + +def module_QtPdfWidgets() -> ModuleData: + data = ModuleData("PdfWidgets") + + return data + + +def module_QtPrintSupport() -> ModuleData: + data = ModuleData("PrintSupport") + data.typesystems.append("typesystem_printsupport_common.xml") + json_data = get_module_json_data("PrintSupport") + data.plugins = get_module_plugins(json_data) + + return data + + +def module_QtQml() -> ModuleData: + data = ModuleData("Qml") + json_data = get_module_json_data("Qml") + data.plugins = get_module_plugins(json_data) + json_data = get_module_json_data("QmlCompilerPrivate") + data.plugins += get_module_plugins(json_data) + + _qtlib = [ + "libQt6LabsAnimation", + "libQt6LabsFolderListModel", + "libQt6LabsQmlModels*", + "libQt6LabsSettings", + "libQt6LabsSharedImage", + "libQt6LabsWavefrontMesh", + "libQt6QmlCore", + "libQt6QmlLocalStorage", + "libQt6QmlModels", + "libQt6QmlWorkerScript", + "libQt6QmlXmlListModel", + "libQt6QmlCompiler" + ] + + _include = [ + "pysideqml.h", + "pysideqmlmacros.h", + "pysideqmlregistertype.h", + ] + + _metatypes = [ + "qt6labsanimation_relwithdebinfo_metatypes.json", + "qt6labsfolderlistmodel_relwithdebinfo_metatypes.json", + "qt6labsqmlmodels_relwithdebinfo_metatypes.json", + "qt6labssettings_relwithdebinfo_metatypes.json", + "qt6labssharedimage_relwithdebinfo_metatypes.json", + "qt6labswavefrontmesh_relwithdebinfo_metatypes.json", + "qt6packetprotocolprivate_relwithdebinfo_metatypes.json", + "qt6qmlcompilerprivate_relwithdebinfo_metatypes.json", + "qt6qmlcompilerplusprivate_relwithdebinfo_metatypes.json", + "qt6qmlcore_relwithdebinfo_metatypes.json", + "qt6qmldebugprivate_relwithdebinfo_metatypes.json", + "qt6qmldomprivate_relwithdebinfo_metatypes.json", + "qt6qmllintprivate_relwithdebinfo_metatypes.json", + "qt6qmllocalstorage_relwithdebinfo_metatypes.json", + "qt6qmlmodels_relwithdebinfo_metatypes.json", + "qt6qmlworkerscript_relwithdebinfo_metatypes.json", + "qt6qmlxmllistmodel_relwithdebinfo_metatypes.json", + ] + + _qml = [ + "Qt/labs/animation", + "Qt/labs/folderlistmodel", + "Qt/labs/sharedimage", + "Qt/labs/wavefrontmesh", + "Qt/labs/qmlmodels", + "Qt/labs/platform", + "Qt/labs/settings", + ] + + data.lib.append("libpyside6qml") + json_data = get_module_json_data("Qml") + data.plugins = get_module_plugins(json_data) + data.translations.append("qtdeclarative_*") + if sys.platform == "win32": + data.extra_files.append("pyside6qml.*.lib") + data.extra_files.append("pyside6qml.*.dll") + data.extra_files.append("qml/builtins.qmltypes") + data.extra_files.append("qml/jsroot.qmltypes") + data.extra_files.append("qmlimportscanner.exe") + data.extra_files.append("qmltyperegistrar.exe") + data.extra_files.append("qmlcachegen.exe") + else: + data.extra_files.append("Qt/qml/builtins.qmltypes") + data.extra_files.append("Qt/qml/jsroot.qmltypes") + data.extra_files.append("Qt/libexec/qmlimportscanner") + data.extra_files.append("Qt/libexec/qmltyperegistrar") + data.extra_files.append("Qt/libexec/qmlcachegen") + + data.qtlib.extend(_qtlib) + data.include.extend(_include) + data.metatypes.extend(_metatypes) + data.qml.extend(_qml) + + data.extra_files.append("qmllint*") + data.extra_files.append("qmlformat*") + data.extra_files.append("qmlls*") + + return data + + +def module_QtQuick() -> ModuleData: + data = ModuleData("Quick") + _metatypes = [ + "qt6quickcontrolstestutilsprivate_relwithdebinfo_metatypes.json", + "qt6quickdialogs2_relwithdebinfo_metatypes.json", + "qt6quickdialogs2quickimpl_relwithdebinfo_metatypes.json", + "qt6quickdialogs2utils_relwithdebinfo_metatypes.json", + "qt6quickeffectsprivate_relwithdebinfo_metatypes.json", + "qt6quicketest_relwithdebinfo_metatypes.json", + "qt6quicketestutilsprivate_relwithdebinfo_metatypes.json", + "qt6quicklayouts_relwithdebinfo_metatypes.json", + "qt6quickparticlesprivate_relwithdebinfo_metatypes.json", + "qt6quickshapesprivate_relwithdebinfo_metatypes.json", + "qt6quicktemplates2_relwithdebinfo_metatypes.json", + "qt6quicktest_relwithdebinfo_metatypes.json", + "qt6quicktestutilsprivate_relwithdebinfo_metatypes.json", + "qt6quicktimeline_relwithdebinfo_metatypes.json", + ] + _qtlib = [ + "libQt6QuickEffects", + "libQt6QuickDialogs2", + "libQt6QuickDialogs2QuickImpl", + "libQt6QuickDialogs2Utils", + "libQt6QuickLayouts", + "libQt6QuickParticles", + "libQt6QuickShapes", + "libQt6QuickTemplates2", + "libQt6QuickTest", + "libQt6QuickTimeline", + ] + + # Adding GraphicalEffects files + data.qml.append("Qt5Compat/GraphicalEffects") + + data.qtlib.extend(_qtlib) + data.metatypes.extend(_metatypes) + json_data = get_module_json_data("Quick") + data.plugins = get_module_plugins(json_data) + + return data + + +def module_QtQuickControls2() -> ModuleData: + data = ModuleData("QuickControls2") + data.qtlib.append("libQt6QuickControls2Impl") + data.metatypes.append("qt6quickcontrols2impl_relwithdebinfo_metatypes.json") + + return data + + +def module_QtQuickWidgets() -> ModuleData: + data = ModuleData("QuickWidgets") + return data + + +def module_QtXml() -> ModuleData: + data = ModuleData("Xml") + return data + + +def module_QtTest() -> ModuleData: + data = ModuleData("Test") + return data + + +def module_QtSql() -> ModuleData: + data = ModuleData("Sql") + json_data = get_module_json_data("Sql") + data.plugins = get_module_plugins(json_data) + + return data + + +def module_QtSvg() -> ModuleData: + data = ModuleData("Svg") + + return data + + +def module_QtSvgWidgets() -> ModuleData: + data = ModuleData("SvgWidgets") + + return data + + +def module_QtTextToSpeech() -> ModuleData: + data = ModuleData("TextToSpeech") + json_data = get_module_json_data("TextToSpeech") + data.plugins = get_module_plugins(json_data) + + return data + + +def module_QtUiTools() -> ModuleData: + data = ModuleData("UiTools") + + return data + + +def module_QtWayland() -> ModuleData: + data = ModuleData("Wayland") + + _qtlib = [ + "libQt6WaylandClient", + "libQt6WaylandCompositor", + "libQt6WaylandEglClientHwIntegration", + "libQt6WaylandEglCompositorHwIntegration", + "libQt6WlShellIntegration", + ] + + _metatypes = [ + "qt6waylandclient_relwithdebinfo_metatypes.json", + "qt6waylandeglclienthwintegrationprivate_relwithdebinfo_metatypes.json", + "qt6wlshellintegrationprivate_relwithdebinfo_metatypes.json", + ] + + data.qtlib.extend(_qtlib) + data.metatypes.extend(_metatypes) + json_data = get_module_json_data("WaylandClient") + data.plugins = get_module_plugins(json_data) + json_data = get_module_json_data("WaylandCompositor") + data.plugins += get_module_plugins(json_data) + return data + + +def module_Qt3DCore() -> ModuleData: + data = ModuleData("3DCore", qml=["Qt3D/Core"]) + + return data + + +def module_Qt3DAnimation() -> ModuleData: + data = ModuleData("3DAnimation", qml=["Qt3D/Animation"]) + + return data + + +def module_Qt3DExtras() -> ModuleData: + data = ModuleData("3DExtras", qml=["Qt3D/Extras"]) + + return data + + +def module_Qt3DInput() -> ModuleData: + data = ModuleData("3DInput", qml=["Qt3D/Input"]) + json_data = get_module_json_data("3DInput") + data.plugins = get_module_plugins(json_data) + + return data + + +def module_Qt3DLogic() -> ModuleData: + data = ModuleData("3DLogic", qml=["Qt3D/Logic"]) + + return data + + +def module_Qt3DRender() -> ModuleData: + data = ModuleData("3DRender", qml=["Qt3D/Render"]) + json_data = get_module_json_data("3DRender") + data.plugins = get_module_plugins(json_data) + + return data + + +def module_QtQuick3D() -> ModuleData: + data = ModuleData("Quick3D") + + _qtlib = [ + "libQt6Quick3DAssetImport", + "libQt6Quick3DAssetUtils", + "libQt6Quick3DEffects", + "libQt6Quick3DGlslParser", + "libQt6Quick3DHelpers", + "libQt6Quick3DIblBaker", + "libQt6Quick3DParticleEffects", + "libQt6Quick3DParticles", + "libQt6Quick3DRuntimeRender", + "libQt6Quick3DUtils", + "libQt6ShaderTools", + "libQt63DQuick", + "libQt63DQuickAnimation", + "libQt63DQuickExtras", + "libQt63DQuickExtras", + "libQt63DQuickInput", + "libQt63DQuickRender", + "libQt63DQuickScene2D", + ] + + _metatypes = [ + "qt63dquick_relwithdebinfo_metatypes.json", + "qt63dquickanimation_relwithdebinfo_metatypes.json", + "qt63dquickextras_relwithdebinfo_metatypes.json", + "qt63dquickinput_relwithdebinfo_metatypes.json", + "qt63dquickrender_relwithdebinfo_metatypes.json", + "qt63dquickscene2d_relwithdebinfo_metatypes.json", + "qt6quick3dassetimport_relwithdebinfo_metatypes.json", + "qt6quick3dassetutils_relwithdebinfo_metatypes.json", + "qt6quick3deffects_relwithdebinfo_metatypes.json", + "qt6quick3dglslparserprivate_relwithdebinfo_metatypes.json", + "qt6quick3dhelpers_relwithdebinfo_metatypes.json", + "qt6quick3diblbaker_relwithdebinfo_metatypes.json", + "qt6quick3dparticleeffects_relwithdebinfo_metatypes.json", + "qt6quick3dparticles_relwithdebinfo_metatypes.json", + "qt6quick3druntimerender_relwithdebinfo_metatypes.json", + "qt6quick3dutils_relwithdebinfo_metatypes.json", + "qt6shadertools_relwithdebinfo_metatypes.json", + ] + + json_data = get_module_json_data("Quick3DAssetImport") + data.plugins = get_module_plugins(json_data) + data.qtlib.extend(_qtlib) + data.metatypes.extend(_metatypes) + data.extra_files.append("Qt/plugins/assetimporters/libassimp*") + + return data + + +def module_QtAxContainer() -> ModuleData: + data = ModuleData("AxContainer") + if sys.platform == "win32": + data.metatypes.append("qt6axbaseprivate_metatypes.json") + data.metatypes.append("qt6axserver_metatypes.json") + + return data + + +def module_QtWebEngineCore() -> ModuleData: + data = ModuleData("WebEngineCore", qml=["QtWebEngine"]) + data.translations.append("qtwebengine_locales/*") + data.translations.append("qtwebengine_*") + data.extra_dirs.append("Qt/resources") + if sys.platform == "win32": + data.extra_files.append("resources/qtwebengine*.pak") + data.extra_files.append("QtWebEngineProcess.exe") + else: + data.extra_files.append("Qt/libexec/QtWebEngineProcess") + + return data + + +def module_QtWebEngineWidgets() -> ModuleData: + data = ModuleData("WebEngineWidgets") + + return data + + +def module_QtWebEngineQuick() -> ModuleData: + data = ModuleData("WebEngineQuick") + data.qtlib.append("libQt6WebEngineQuickDelegatesQml") + data.metatypes.append("qt6webenginequickdelegatesqml_relwithdebinfo_metatypes.json") + + return data + + +def module_QtCharts() -> ModuleData: + data = ModuleData("Charts") + data.qtlib.append("libQt6ChartsQml") + data.metatypes.append("qt6chartsqml_relwithdebinfo_metatypes.json") + + return data + + +def module_QtDataVisualization() -> ModuleData: + data = ModuleData("DataVisualization") + data.qtlib.append("libQt6DataVisualizationQml") + data.metatypes.append("qt6datavisualizationqml_relwithdebinfo_metatypes.json") + data.typesystems.append("datavisualization_common.xml") + + return data + + +def module_QtMultimedia() -> ModuleData: + data = ModuleData("Multimedia") + data.qtlib.append("libQt6MultimediaQuick") + data.metatypes.append("qt6multimediaquickprivate_relwithdebinfo_metatypes.json") + + json_data = get_module_json_data("Multimedia") + data.translations.append("qtmultimedia_*") + data.plugins = get_module_plugins(json_data) + + return data + + +def module_QtMultimediaWidgets() -> ModuleData: + data = ModuleData("MultimediaWidgets") + + return data + + +def module_QtNetworkAuth() -> ModuleData: + data = ModuleData("NetworkAuth") + + return data + + +def module_QtPositioning() -> ModuleData: + data = ModuleData("Positioning") + data.qtlib.append("libQt6PositioningQuick") + data.metatypes.append("qt6positioningquick_relwithdebinfo_metatypes.json") + json_data = get_module_json_data("Positioning") + data.plugins = get_module_plugins(json_data) + + return data + + +def module_QtRemoteObjects() -> ModuleData: + data = ModuleData("RemoteObjects") + data.qtlib.append("libQt6RemoteObjectsQml") + data.metatypes.append("qt6remoteobjectsqml_relwithdebinfo_metatypes.json") + + return data + + +def module_QtSensors() -> ModuleData: + data = ModuleData("Sensors") + data.qtlib.append("libQt6SensorsQuick") + data.metatypes.append("qt6sensorsquick_relwithdebinfo_metatypes.json") + json_data = get_module_json_data("Sensors") + data.plugins = get_module_plugins(json_data) + + return data + + +def module_QtSerialPort() -> ModuleData: + data = ModuleData("SerialPort") + data.translations.append("qtserialport_*") + + return data + + +def module_QtSpatialAudio() -> ModuleData: + data = ModuleData("SpatialAudio") + data.metatypes.append("qt6spatialaudio_debug_metatypes.json") + + return data + + +def module_QtStateMachine() -> ModuleData: + data = ModuleData("StateMachine") + data.qtlib.append("libQt6StateMachineQml") + data.metatypes.append("qt6statemachineqml_relwithdebinfo_metatypes.json") + + return data + + +def module_QtScxml() -> ModuleData: + data = ModuleData("Scxml") + data.qtlib.append("libQt6ScxmlQml") + data.metatypes.append("qt6scxmlqml_relwithdebinfo_metatypes.json") + json_data = get_module_json_data("Scxml") + data.plugins = get_module_plugins(json_data) + + return data + + +def module_QtWebChannel() -> ModuleData: + data = ModuleData("WebChannel") + + return data + + +def module_QtWebSockets() -> ModuleData: + data = ModuleData("WebSockets") + data.translations.append("qtwebsockets_*") + + return data + + +def module_QtOpenGL() -> ModuleData: + data = ModuleData("OpenGL") + _typesystems = [ + "opengl_common.xml", + "typesystem_glgeti_v_includes.xml", + "typesystem_glgeti_v_modifications.xml", + "typesystem_glgetv_includes.xml", + "typesystem_glgetv_modifications.xml", + "typesystem_opengl_modifications1_0.xml", + "typesystem_opengl_modifications1_0_compat.xml", + "typesystem_opengl_modifications1_1.xml", + "typesystem_opengl_modifications1_1_compat.xml", + "typesystem_opengl_modifications1_2_compat.xml", + "typesystem_opengl_modifications1_3_compat.xml", + "typesystem_opengl_modifications1_4.xml", + "typesystem_opengl_modifications1_4_compat.xml", + "typesystem_opengl_modifications2_0.xml", + "typesystem_opengl_modifications2_0_compat.xml", + "typesystem_opengl_modifications2_1.xml", + "typesystem_opengl_modifications3_0.xml", + "typesystem_opengl_modifications3_3.xml", + "typesystem_opengl_modifications3_3a.xml", + "typesystem_opengl_modifications4_0.xml", + "typesystem_opengl_modifications4_1.xml", + "typesystem_opengl_modifications4_3.xml", + "typesystem_opengl_modifications4_4.xml", + "typesystem_opengl_modifications4_4_core.xml", + "typesystem_opengl_modifications4_5.xml", + "typesystem_opengl_modifications4_5_core.xml", + "typesystem_opengl_modifications_va.xml", + ] + + data.typesystems.extend(_typesystems) + if sys.platform == "win32": + data.extra_files.append("opengl32*.dll") + + return data + + +def module_QtOpenGLWidgets() -> ModuleData: + data = ModuleData("OpenGLWidgets") + return data + + +def module_QtSerialBus() -> ModuleData: + data = ModuleData("SerialBus") + json_data = get_module_json_data("SerialBus") + data.plugins = get_module_plugins(json_data) + return data + + +def module_QtVirtualKeyboard() -> ModuleData: + data = ModuleData("VirtualKeyboard") + data.plugins.append("virtualkeyboard") + return data + + +def module_QtHttpServer() -> ModuleData: + data = ModuleData("HttpServer") + return data + + +def module_QtLanguageServer() -> ModuleData: + data = ModuleData("LanguageServer") + data.metatypes.append("qt6languageserverprivate_relwithdebinfo_metatypes.json") + return data + + +def module_QtJsonRpc() -> ModuleData: + data = ModuleData("JsonRpc") + data.metatypes.append("qt6jsonrpcprivate_relwithdebinfo_metatypes.json") + return data + + +def module_QtLocation() -> ModuleData: + data = ModuleData("Location") + json_data = get_module_json_data("Location") + data.plugins = get_module_plugins(json_data) + data.translations.append("qtlocation_*") + return data diff --git a/build_scripts/wheel_override.py b/build_scripts/wheel_override.py new file mode 100644 index 0000000..f3f9f17 --- /dev/null +++ b/build_scripts/wheel_override.py @@ -0,0 +1,263 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + + +import platform +import sys +from pathlib import Path +from email.generator import Generator + +from .log import log +from .options import OPTION, CommandMixin +from .utils import is_64bit +from .wheel_utils import get_package_version, get_qt_version, macos_plat_name + +wheel_module_exists = False + + +try: + + from packaging import tags + from wheel import __version__ as wheel_version + from wheel.bdist_wheel import bdist_wheel as _bdist_wheel + from wheel.bdist_wheel import get_abi_tag, get_platform + from wheel.bdist_wheel import safer_name as _safer_name + + wheel_module_exists = True +except Exception as e: + _bdist_wheel, wheel_version = type, "" # dummy to make class statement happy + log.warning(f"***** Exception while trying to prepare bdist_wheel override class: {e}. " + "Skipping wheel overriding.") + + +def get_bdist_wheel_override(): + return PysideBuildWheel if wheel_module_exists else None + + +class PysideBuildWheel(_bdist_wheel, CommandMixin): + + user_options = (_bdist_wheel.user_options + CommandMixin.mixin_user_options + if wheel_module_exists else None) + + def __init__(self, *args, **kwargs): + self.command_name = "bdist_wheel" + self._package_version = None + _bdist_wheel.__init__(self, *args, **kwargs) + CommandMixin.__init__(self) + + def finalize_options(self): + CommandMixin.mixin_finalize_options(self) + if sys.platform == 'darwin': + # Override the platform name to contain the correct + # minimum deployment target. + # This is used in the final wheel name. + self.plat_name = macos_plat_name() + + # When limited API is requested, notify bdist_wheel to + # create a properly named package, which will contain + # the initial cpython version we support. + limited_api_enabled = OPTION["LIMITED_API"] == 'yes' + if limited_api_enabled: + self.py_limited_api = "cp37" + + self._package_version = get_package_version() + + _bdist_wheel.finalize_options(self) + + @property + def wheel_dist_name(self): + # Slightly modified version of wheel's wheel_dist_name + # method, to add the Qt version as well. + # Example: + # PySide6-6.3-6.3.2-cp36-abi3-macosx_10_10_intel.whl + # The PySide6 version is "6.3". + # The Qt version built against is "6.3.2". + wheel_version = f"{self._package_version}-{get_qt_version()}" + components = (_safer_name(self.distribution.get_name()), wheel_version) + if self.build_number: + components += (self.build_number,) + return '-'.join(components) + + # Modify the returned wheel tag tuple to use correct python version + # info when cross-compiling. We use the python info extracted from + # the shiboken python config test. + # setuptools / wheel don't support cross compiling out of the box + # at the moment. Relevant discussion at + # https://discuss.python.org/t/towards-standardizing-cross-compiling/10357 + def get_cross_compiling_tag_tuple(self, tag_tuple): + (old_impl, old_abi_tag, plat_name) = tag_tuple + + # Compute tag from the python version that the build command + # queried. + build_command = self.get_finalized_command('build') + python_target_info = build_command.python_target_info['python_info'] + + impl = 'no-py-ver-impl-available' + abi = 'no-abi-tag-info-available' + py_version = python_target_info['version'].split('.') + py_version_major, py_version_minor, _ = py_version + + so_abi = python_target_info['so_abi'] + if so_abi and so_abi.startswith('cpython-'): + interpreter_name, cp_version = so_abi.split('-')[:2] + impl_name = tags.INTERPRETER_SHORT_NAMES.get(interpreter_name) or interpreter_name + impl_ver = f"{py_version_major}{py_version_minor}" + impl = impl_name + impl_ver + abi = f'cp{cp_version}' + tag_tuple = (impl, abi, plat_name) + return tag_tuple + + # Adjust wheel tag for limited api and cross compilation. + @staticmethod + def adjust_cross_compiled_many_linux_tag(old_tag): + (old_impl, old_abi_tag, old_plat_name) = old_tag + + new_plat_name = old_plat_name + + # TODO: Detect glibc version instead. We're abusing the + # manylinux2014 tag here, just like we did with manylinux1 + # for x86_64 builds. + many_linux_prefix = 'manylinux2014' + linux_prefix = "linux_" + if old_plat_name.startswith(linux_prefix): + # Extract the arch suffix like -armv7l or -aarch64 + _index = old_plat_name.index(linux_prefix) + len(linux_prefix) + plat_name_arch_suffix = old_plat_name[_index:] + + new_plat_name = f"{many_linux_prefix}_{plat_name_arch_suffix}" + + tag = (old_impl, old_abi_tag, new_plat_name) + return tag + + # Adjust wheel tag for limited api and cross compilation. + def adjust_tag_and_supported_tags(self, old_tag, supported_tags): + tag = old_tag + (old_impl, old_abi_tag, old_plat_name) = old_tag + + # Get new tag for cross builds. + if self.is_cross_compile: + tag = self.get_cross_compiling_tag_tuple(old_tag) + + # Use PEP600 for manylinux wheel name + # For Qt6 we know RHEL 8.4 is the base linux platform, + # and has GLIBC 2.28. + # This will generate a name that contains: + # manylinux_2_28 + # TODO: Add actual distro detection, instead of + # relying on limited_api option. + if (old_plat_name in ('linux-x86_64', 'linux_x86_64') + and is_64bit() + and self.py_limited_api): + _, _version = platform.libc_ver() + glibc = _version.replace(".", "_") + tag = (old_impl, old_abi_tag, f"manylinux_{glibc}_x86_64") + + # Set manylinux tag for cross-compiled builds when targeting + # limited api. + if self.is_cross_compile and self.py_limited_api: + tag = self.adjust_cross_compiled_many_linux_tag(tag) + + # Reset the abi name and python versions supported by this wheel + # when targeting limited API. This is the same code that's + # in get_tag(), but done later after our own customizations. + if self.py_limited_api and old_impl.startswith('cp3'): + (_, _, adjusted_plat_name) = tag + impl = self.py_limited_api + abi_tag = 'abi3' + tag = (impl, abi_tag, adjusted_plat_name) + + # If building for limited API or we created a new tag, add it + # to the list of supported tags. + if tag != old_tag or self.py_limited_api: + supported_tags.append(tag) + return tag + + # A slightly modified copy of get_tag from bdist_wheel.py, to allow + # adjusting the returned tag without triggering an assert. Otherwise + # we would have to rename wheels manually. + # Copy is up-to-date since commit + # 0acd203cd896afec7f715aa2ff5980a403459a3b in the wheel repo. + def get_tag(self): + # bdist sets self.plat_name if unset, we should only use it for purepy + # wheels if the user supplied it. + if self.plat_name_supplied: + plat_name = self.plat_name + elif self.root_is_pure: + plat_name = 'any' + else: + # macosx contains system version in platform name so need special handle + if self.plat_name and not self.plat_name.startswith("macosx"): + plat_name = self.plat_name + else: + # on macOS always limit the platform name to comply with any + # c-extension modules in bdist_dir, since the user can specify + # a higher MACOSX_DEPLOYMENT_TARGET via tools like CMake + + # on other platforms, and on macOS if there are no c-extension + # modules, use the default platform name. + plat_name = get_platform(self.bdist_dir) + + if plat_name in ('linux-x86_64', 'linux_x86_64') and not is_64bit(): + plat_name = 'linux_i686' + + plat_name = plat_name.lower().replace('-', '_').replace('.', '_') + + if self.root_is_pure: + if self.universal: + impl = 'py3' + else: + impl = self.python_tag + tag = (impl, 'none', plat_name) + else: + impl_name = tags.interpreter_name() + impl_ver = tags.interpreter_version() + impl = impl_name + impl_ver + # We don't work on CPython 3.1, 3.0. + if self.py_limited_api and (impl_name + impl_ver).startswith('cp3'): + impl = self.py_limited_api + abi_tag = 'abi3' + else: + abi_tag = str(get_abi_tag()).lower() + tag = (impl, abi_tag, plat_name) + # issue gh-374: allow overriding plat_name + supported_tags = [(t.interpreter, t.abi, plat_name) + for t in tags.sys_tags()] + # PySide's custom override. + tag = self.adjust_tag_and_supported_tags(tag, supported_tags) + assert tag in supported_tags, (f"would build wheel with unsupported tag {tag}") + return tag + + # Copy of get_tag from bdist_wheel.py, to write a triplet Tag + # only once for the limited_api case. + def write_wheelfile(self, wheelfile_base, generator=f'bdist_wheel ({wheel_version})'): + from email.message import Message + msg = Message() + msg['Wheel-Version'] = '1.0' # of the spec + msg['Generator'] = generator + msg['Root-Is-Purelib'] = str(self.root_is_pure).lower() + if self.build_number is not None: + msg['Build'] = self.build_number + + # Doesn't work for bdist_wininst + impl_tag, abi_tag, plat_tag = self.get_tag() + # To enable pypi upload we are adjusting the wheel name + pypi_ready = True if OPTION["LIMITED_API"] else False + + def writeTag(impl): + for abi in abi_tag.split('.'): + for plat in plat_tag.split('.'): + msg['Tag'] = '-'.join((impl, abi, plat)) + if pypi_ready: + writeTag(impl_tag) + else: + for impl in impl_tag.split('.'): + writeTag(impl) + + wheelfile_path = Path(wheelfile_base) / 'WHEEL' + log.info(f'creating {wheelfile_path}') + with open(wheelfile_path, 'w') as f: + Generator(f, maxheaderlen=0).flatten(msg) + + +if not wheel_module_exists: + del PysideBuildWheel diff --git a/build_scripts/wheel_utils.py b/build_scripts/wheel_utils.py new file mode 100644 index 0000000..5ec26c7 --- /dev/null +++ b/build_scripts/wheel_utils.py @@ -0,0 +1,124 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +import time +from pathlib import Path +from sysconfig import get_config_var, get_platform + +from packaging.version import parse as parse_version +from setuptools.errors import SetupError + +from .options import OPTION +from .qtinfo import QtInfo +from .utils import memoize, parse_cmake_conf_assignments_by_key +from . import PYSIDE + + +@memoize +def get_package_timestamp(): + """ In a Coin CI build the returned timestamp will be the + Coin integration id timestamp. For regular builds it's + just the current timestamp or a user provided one.""" + option_value = OPTION["PACKAGE_TIMESTAMP"] + return option_value if option_value else int(time.time()) + + +def get_qt_version(): + qtinfo = QtInfo() + qt_version = qtinfo.version + + if not qt_version: + raise SetupError("Failed to query the Qt version with qmake {qtinfo.qmake_command}") + + if parse_version(qtinfo.version) < parse_version("5.7"): + raise SetupError(f"Incompatible Qt version detected: {qt_version}. " + "A Qt version >= 5.7 is required.") + + return qt_version + + +@memoize +def get_package_version(): + """ Returns the version string for the PySide6 package. """ + setup_script_dir = Path.cwd() + pyside_project_dir = setup_script_dir / "sources" / PYSIDE + d = parse_cmake_conf_assignments_by_key(pyside_project_dir) + major_version = d['pyside_MAJOR_VERSION'] + minor_version = d['pyside_MINOR_VERSION'] + patch_version = d['pyside_MICRO_VERSION'] + + final_version = f"{major_version}.{minor_version}.{patch_version}" + release_version_type = d.get('pyside_PRE_RELEASE_VERSION_TYPE') + pre_release_version = d.get('pyside_PRE_RELEASE_VERSION') + + if release_version_type and not release_version_type.startswith("comm") and pre_release_version: + final_version = f"{final_version}{release_version_type}{pre_release_version}" + if release_version_type and release_version_type.startswith("comm"): + final_version = f"{final_version}+{release_version_type}" + + # Add the current timestamp to the version number, to suggest it + # is a development snapshot build. + if OPTION["SNAPSHOT_BUILD"]: + final_version = f"{final_version}.dev{get_package_timestamp()}" + return final_version + + +def macos_qt_min_deployment_target(): + target = QtInfo().macos_min_deployment_target + + if not target: + raise SetupError("Failed to query for Qt's QMAKE_MACOSX_DEPLOYMENT_TARGET.") + return target + + +@memoize +def macos_pyside_min_deployment_target(): + """ + Compute and validate PySide6 MACOSX_DEPLOYMENT_TARGET value. + Candidate sources that are considered: + - setup.py provided value + - maximum value between minimum deployment target of the + Python interpreter and the minimum deployment target of + the Qt libraries. + If setup.py value is provided, that takes precedence. + Otherwise use the maximum of the above mentioned two values. + """ + python_target = get_config_var('MACOSX_DEPLOYMENT_TARGET') or None + qt_target = macos_qt_min_deployment_target() + setup_target = OPTION["MACOS_DEPLOYMENT_TARGET"] + + qt_target_split = [int(x) for x in qt_target.split('.')] + if python_target: + # macOS Big Sur returns a number not a string + python_target_split = [int(x) for x in str(python_target).split('.')] + if setup_target: + setup_target_split = [int(x) for x in setup_target.split('.')] + + message = ("Can't set MACOSX_DEPLOYMENT_TARGET value to {} because " + "{} was built with minimum deployment target set to {}.") + # setup.py provided OPTION["MACOS_DEPLOYMENT_TARGET"] value takes + # precedence. + if setup_target: + if python_target and setup_target_split < python_target_split: + raise SetupError(message.format(setup_target, "Python", python_target)) + if setup_target_split < qt_target_split: + raise SetupError(message.format(setup_target, "Qt", qt_target)) + # All checks clear, use setup.py provided value. + return setup_target + + # Setup.py value not provided, + # use same value as provided by Qt. + if python_target: + maximum_target = '.'.join([str(e) for e in max(python_target_split, qt_target_split)]) + else: + maximum_target = qt_target + return maximum_target + + +@memoize +def macos_plat_name(): + deployment_target = macos_pyside_min_deployment_target() + # Example triple "macosx-10.12-x86_64". + plat = get_platform().split("-") + plat_name = f"{plat[0]}-{deployment_target}-{plat[2]}" + return plat_name diff --git a/coin/dependencies.yaml b/coin/dependencies.yaml new file mode 100644 index 0000000..ea939b0 --- /dev/null +++ b/coin/dependencies.yaml @@ -0,0 +1,39 @@ +product_dependency: + ../../qt/qt5: + ref: "808f63250c784d2c02fa1349c2c494b5cdb93607" +dependency_source: supermodule +dependencies: [ + "../../qt/qt3d", + "../../qt/qt5compat", + "../../qt/qtactiveqt", + "../../qt/qtbase", + "../../qt/qtcharts", + "../../qt/qtconnectivity", + "../../qt/qtdatavis3d", + "../../qt/qtdeclarative", + "../../qt/qtdoc", + "../../qt/qthttpserver", + "../../qt/qtimageformats", + "../../qt/qtlocation", + "../../qt/qtpositioning", + "../../qt/qtmultimedia", + "../../qt/qtnetworkauth", + "../../qt/qtqa", + "../../qt/qtquick3d", + "../../qt/qtquicktimeline", + "../../qt/qtremoteobjects", + "../../qt/qtscxml", + "../../qt/qtsensors", + "../../qt/qtserialbus", + "../../qt/qtserialport", + "../../qt/qtshadertools", + "../../qt/qtspeech", + "../../qt/qtsvg", + "../../qt/qttools", + "../../qt/qttranslations", + "../../qt/qtvirtualkeyboard", + "../../qt/qtwayland", + "../../qt/qtwebchannel", + "../../qt/qtwebengine", + "../../qt/qtwebsockets" + ] diff --git a/coin/instructions/common_environment.yaml b/coin/instructions/common_environment.yaml new file mode 100644 index 0000000..cd5146e --- /dev/null +++ b/coin/instructions/common_environment.yaml @@ -0,0 +1,251 @@ +type: Group +instructions: + - type: EnvironmentVariable + variableName: QTEST_ENVIRONMENT + variableValue: "ci" + - type: EnvironmentVariable + variableName: PYSIDE_VIRTUALENV + variableValue: "{{.AgentWorkingDir}}\\pyside\\pyside-setup\\env" + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: EnvironmentVariable + variableName: PYSIDE_VIRTUALENV + variableValue: "{{.AgentWorkingDir}}/pyside/pyside-setup/env" + enable_if: + condition: or + conditions: + - condition: property + property: host.os + equals_value: MacOS + - condition: property + property: host.os + equals_value: Linux + - type: EnvironmentVariable + variableName: TARGET_ARCHITECTURE + variableValue: amd64 + enable_if: + condition: and + conditions: + - condition: property + property: target.arch + equals_value: X86_64 + - condition: property + property: host.os + equals_value: Windows + - type: EnvironmentVariable + variableName: TARGET_ARCHITECTURE + variableValue: amd64_x86 + enable_if: + condition: and + conditions: + - condition: property + property: target.arch + equals_value: X86 + - condition: property + property: host.os + equals_value: Windows + - type: EnvironmentVariable + variableName: CI_TARGET_ARCHITECTURE + variableValue: X86_64 + enable_if: + condition: property + property: target.arch + equals_value: X86_64 + - type: EnvironmentVariable + variableName: CI_TARGET_ARCHITECTURE + variableValue: X86 + enable_if: + condition: property + property: target.arch + equals_value: X86 + - type: EnvironmentVariable + variableName: CI_PACKAGING_FEATURE + variableValue: "--packaging" + enable_if: + condition: property + property: features + contains_value: Packaging + - type: EnvironmentVariable + variableName: CI_USE_SCCACHE + variableValue: "--compiler-launcher=sccache" + enable_if: + condition: property + property: features + contains_value: Sccache + - type: EnvironmentVariable + variableName: CI_OS + variableValue: "MacOS" + enable_if: + condition: property + property: host.os + equals_value: MacOS + - type: EnvironmentVariable + variableName: CI_OS + variableValue: "Linux" + enable_if: + condition: property + property: host.os + equals_value: Linux + - type: EnvironmentVariable + variableName: CI_OS + variableValue: "Windows" + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: EnvironmentVariable + variableName: MAKEFLAGS + variableValue: "" + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: AppendToEnvironmentVariable + variableName: PATH + variableValue: ;%CI_JOM_PATH% + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: PrependToEnvironmentVariable + variableName: PATH + variableValue: "{{.Env.PYTHON3_PATH}}/bin:" + enable_if: + condition: property + property: host.os + equals_value: MacOS + - type: PrependToEnvironmentVariable + variableName: PATH + variableValue: "{{.Env.PYTHON3_PATH}};" + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: PrependToEnvironmentVariable + variableName: PATH + variableValue: "/Users/qt/.local/bin/:" + enable_if: + condition: property + property: host.osVersion + equals_value: MacOS_11_00 + - type: PrependToEnvironmentVariable + variableName: PATH + variableValue: "/Users/qt/work/install/bin:" + enable_if: + condition: property + property: host.os + equals_value: MacOS + - type: PrependToEnvironmentVariable + variableName: PATH + variableValue: "/home/qt/work/install/bin:" + enable_if: + condition: property + property: host.os + equals_value: Linux + - type: PrependToEnvironmentVariable + variableName: PATH + variableValue: "\\Users\\qt\\work\\install\\bin;" + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: EnvironmentVariable + variableName: ICC64_18_LDLP + variableValue: /opt/intel/lib/intel64 + enable_if: + condition: property + property: target.compiler + equals_value: ICC_18 + - type: EnvironmentVariable + variableName: ICC64_18_PATH # Seems a bit hard to maintain + variableValue: /opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64:/opt/intel/bin + enable_if: + condition: property + property: target.compiler + equals_value: ICC_18 + - type: AppendToEnvironmentVariable + variableName: LD_LIBRARY_PATH + variableValue: :/opt/intel/lib/intel64 + enable_if: + condition: property + property: target.compiler + equals_value: ICC_18 + - type: AppendToEnvironmentVariable + variableName: PATH + variableValue: ":{{.Env.ICC64_18_PATH}}" + enable_if: + condition: property + property: target.compiler + equals_value: ICC_18 + - type: EnvironmentVariable + variableName: LLVM_INSTALL_DIR + variableValue: "{{.Env.LLVM_DYNAMIC_LIBS_100}}" + disable_if: + condition: and + conditions: + - condition: property + property: target.arch + equals_value: X86_64-ARM64 # When target arch is universal binary, we can use the default libclang + - condition: property + property: host.os + equals_value: MacOS + - type: ExecuteCommand + command: "keyring --disable" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 1200 + enable_if: + condition: and + conditions: + - condition: property + property: host.os + equals_value: Linux + - condition: property + property: host.arch + equals_value: AARCH64 + userMessageOnFailure: > + Failed to disable keyring + - type: ExecuteCommand + command: "sudo apt-get install python3-pip libclang-11-dev clang -y" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 1200 + enable_if: + condition: and + conditions: + - condition: property + property: host.os + equals_value: Linux + - condition: property + property: host.arch + equals_value: AARCH64 + userMessageOnFailure: > + Failed to install dependencies + - type: ExecuteCommand + command: "python3 -m pip install -U setuptools==67.7.2" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 1200 + enable_if: + condition: and + conditions: + - condition: property + property: host.os + equals_value: Linux + - condition: property + property: host.arch + equals_value: AARCH64 + userMessageOnFailure: > + Failed to install setuptools + - type: EnvironmentVariable + variableName: LLVM_INSTALL_DIR + variableValue: "/usr/lib/llvm-11/lib" + enable_if: + condition: and + conditions: + - condition: property + property: target.arch + equals_value: AARCH64 + - condition: property + property: host.os + equals_value: Linux + diff --git a/coin/instructions/execute_build_instructions.yaml b/coin/instructions/execute_build_instructions.yaml new file mode 100644 index 0000000..36b432d --- /dev/null +++ b/coin/instructions/execute_build_instructions.yaml @@ -0,0 +1,115 @@ +type: Group +instructions: + - type: ExecuteCommand + command: "python3 -m pip install -U setuptools==67.7.2" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 1200 + enable_if: + condition: property + property: host.os + equals_value: MacOS + userMessageOnFailure: > + Failed to install setuptools on macOS + - type: ExecuteCommand + command: "python3 -u coin_build_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} {{.Env.CI_USE_SCCACHE}} --instdir=/Users/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}} --phase=ALL" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 1200 + enable_if: + condition: and + conditions: + - condition: property + property: target.arch + equals_value: X86_64 + - condition: property + property: host.os + equals_value: MacOS + userMessageOnFailure: > + Failed to execute build instructions on macOS + - type: ExecuteCommand + command: "python3 -u coin_build_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} {{.Env.CI_USE_SCCACHE}} --instdir=/Users/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch=X86_64-ARM64 --phase=ALL" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 1200 + enable_if: + condition: and + conditions: + - condition: property + property: target.arch + equals_value: X86_64-ARM64 + - condition: property + property: host.os + equals_value: MacOS + userMessageOnFailure: > + Failed to execute build instructions on macOS + - type: EnvironmentVariable + variableName: PYSIDE_SIGNING_DIR + variableValue: "{{.AgentWorkingDir}}\\pyside\\{{.Env.TESTED_MODULE_COIN}}\\build\\qfpa-p3.7\\package_for_wheels" + enable_if: + condition: property + property: host.osVersion + contains_value: "Windows_11" + - type: EnvironmentVariable + variableName: PYSIDE_SIGNING_DIR + variableValue: "{{.AgentWorkingDir}}\\pyside\\{{.Env.TESTED_MODULE_COIN}}\\build\\qfpa-p3.10\\package_for_wheels" + enable_if: + condition: property + property: host.osVersion + contains_value: "Windows_10" + - type: ExecuteCommand + command: "python3 -u coin_build_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} {{.Env.CI_USE_SCCACHE}} --instdir=/home/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch={{.Env.HOST_ARCH_COIN}} --targetArch={{.Env.TARGET_ARCH_COIN}}--phase=ALL" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 600 + enable_if: + condition: property + property: host.os + equals_value: Linux + userMessageOnFailure: > + Failed to execute build instructions on Linux + - type: ExecuteCommand + command: "c:\\users\\qt\\MSVC.bat {{.Env.PYTHON3_PATH}}\\python.exe -u coin_build_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} {{.Env.CI_USE_SCCACHE}} --instdir=\\Users\\qt\\work\\install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}} --phase=BUILD" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 600 + enable_if: + condition: property + property: host.os + equals_value: Windows + userMessageOnFailure: > + Failed to execute build instructions on Windows + - type: SignPackage + directory: "{{.Env.PYSIDE_SIGNING_DIR}}" + maxTimeInSeconds: 1200 + maxTimeBetweenOutput: 1200 + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: ChangeDirectory + directory: "{{.AgentWorkingDir}}\\pyside\\pyside-setup" + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: ExecuteCommand + command: "c:\\users\\qt\\MSVC.bat {{.Env.PYSIDE_VIRTUALENV}}\\Scripts\\python.exe create_wheels.py" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 300 + enable_if: + condition: property + property: host.os + equals_value: Windows + userMessageOnFailure: > + Failed to create wheels for Windows + - type: ExecuteCommand + command: "{{.Env.PYSIDE_VIRTUALENV}}/bin/python create_wheels.py" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 300 + enable_if: + condition: or + conditions: + - condition: property + property: host.os + equals_value: MacOS + - condition: property + property: host.os + equals_value: Linux + userMessageOnFailure: > + Failed to create wheels diff --git a/coin/instructions/execute_license_check.yaml b/coin/instructions/execute_license_check.yaml new file mode 100644 index 0000000..0bf4d3c --- /dev/null +++ b/coin/instructions/execute_license_check.yaml @@ -0,0 +1,31 @@ +type: Group +instructions: + - type: ChangeDirectory + directory: "{{.AgentWorkingDir}}" + - type: InstallSourceArchive + maxTimeInSeconds: 600 + maxTimeBetweenOutput: 600 + project: qt/qtbase + ref: "CURRENT_BRANCH" + directory: qt/qtbase + userMessageOnFailure: > + Could not install source archive. Please investigate why. + - type: InstallSourceArchive + maxTimeInSeconds: 600 + maxTimeBetweenOutput: 600 + project: qt/qtqa + ref: master + directory: qt/qtqa-latest + userMessageOnFailure: > + Could not install source archive. Please investigate why. + - type: EnvironmentVariable + variableName: QT_MODULE_TO_TEST + variableValue: pyside/pyside-setup + userMessageOnFailure: > + Failed to set environment variable. This should not happen. + - type: ExecuteCommand + command: perl qt/qtqa-latest/tests/prebuild/license/tst_licenses.pl + maxTimeInSeconds: 7200 + maxTimeBetweenOutput: 120 + userMessageOnFailure: > + Failed to run license check script. diff --git a/coin/instructions/execute_test_instructions.yaml b/coin/instructions/execute_test_instructions.yaml new file mode 100644 index 0000000..2a483eb --- /dev/null +++ b/coin/instructions/execute_test_instructions.yaml @@ -0,0 +1,66 @@ +type: Group +enable_if: + condition: property + property: features + not_contains_value: LicenseCheck +instructions: + - type: ExecuteCommand + command: "python3 -m pip install -U setuptools==67.7.2" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 1200 + enable_if: + condition: property + property: host.os + equals_value: MacOS + userMessageOnFailure: > + Failed to install setuptools on macOS + - type: ExecuteCommand + command: "python3 -u coin_test_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=/Users/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=ARM64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}}" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 1200 + enable_if: + condition: and + conditions: + - condition: property + property: host.osVersion + equals_value: MacOS_11_00 + - condition: property + property: host.arch + equals_value: ARM64 + userMessageOnFailure: > + Failed to execute test instructions on arm mac + - type: ExecuteCommand + command: "python3 -u coin_test_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=/Users/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}}" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 1200 + enable_if: + condition: and + conditions: + - condition: property + property: host.os + equals_value: MacOS + - condition: property + property: host.arch + equals_value: X86_64 + userMessageOnFailure: > + Failed to execute test instructions on macOS + - type: ExecuteCommand + command: "python3 -u coin_test_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=/home/qt/work/install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}}" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 600 + enable_if: + condition: property + property: host.os + equals_value: Linux + userMessageOnFailure: > + Failed to execute test instructions on Linux + - type: ExecuteCommand + command: "c:\\users\\qt\\MSVC.bat {{.Env.PYTHON3_PATH}}\\python.exe -u coin_test_instructions.py --os={{.Env.CI_OS}} {{.Env.CI_PACKAGING_FEATURE}} --instdir=c:\\Users\\qt\\work\\install --targetOs={{.Env.CI_OS}} --hostArch=X86_64 --targetArch={{.Env.CI_TARGET_ARCHITECTURE}}" + maxTimeInSeconds: 14400 + maxTimeBetweenOutput: 600 + enable_if: + condition: property + property: host.os + equals_value: Windows + userMessageOnFailure: > + Failed to execute test instructions on 64 bit Windows diff --git a/coin/instructions/find_path_to_msvc_compiler.yaml b/coin/instructions/find_path_to_msvc_compiler.yaml new file mode 100644 index 0000000..8f9bed8 --- /dev/null +++ b/coin/instructions/find_path_to_msvc_compiler.yaml @@ -0,0 +1,28 @@ +type: Group +enable_if: + condition: property + property: host.os + equals_value: Windows +instructions: + - type: EnvironmentVariable + variableName: VC_SCRIPT + variableValue: "%ProgramFiles(x86)%\\Microsoft Visual Studio\\2017\\Professional\\VC\\Auxiliary\\Build\\vcvarsall.bat" + enable_if: + condition: property + property: host.compiler + equals_value: MSVC2017 + - type: EnvironmentVariable + variableName: VC_SCRIPT + variableValue: "%ProgramFiles(x86)%\\Microsoft Visual Studio\\2019\\Professional\\VC\\Auxiliary\\Build\\vcvarsall.bat" + enable_if: + condition: property + property: host.compiler + equals_value: MSVC2019 + - type: WriteFile + fileContents: "call \"{{.Env.VC_SCRIPT}}\" {{.Env.TARGET_ARCHITECTURE}} \r\ncmd /c %*" + filename: "c:\\users\\qt\\MSVC.bat" + fileMode: 420 + enable_if: + condition: property + property: host.os + equals_value: Windows diff --git a/coin/instructions/relocate_pyside.yaml b/coin/instructions/relocate_pyside.yaml new file mode 100644 index 0000000..afab83c --- /dev/null +++ b/coin/instructions/relocate_pyside.yaml @@ -0,0 +1,57 @@ +type: Group +enable_if: + condition: property + property: features + not_contains_value: LicenseCheck +instructions: + - type: ChangeDirectory + directory: "{{.AgentWorkingDir}}/pyside" + maxTimeInSeconds: 300 + maxTimeBetweenOutput: 120 + userMessageOnFailure: > + Failed to change to pyside dir + - type: ExecuteCommand + command: c:\\users\\qt\\MSVC.bat rd /s /q pyside-setup + maxTimeInSeconds: 300 + maxTimeBetweenOutput: 120 + enable_if: + condition: property + property: host.os + equals_value: Windows + userMessageOnFailure: > + Failed to remove pyside-setup dir + - type: ExecuteCommand + command: /bin/rm -rf pyside-setup + maxTimeInSeconds: 300 + maxTimeBetweenOutput: 120 + enable_if: + condition: property + property: host.os + not_equals_value: Windows + userMessageOnFailure: > + Failed to remove pyside-setup dir + - type: InstallBinaryArchive + relativeStoragePath: "{{.Env.MODULE_ARTIFACTS_RELATIVE_STORAGE_PATH}}/artifacts.tar.gz" + directory: "pyside" + maxTimeInSeconds: 1200 + maxTimeBetweenOutput: 1200 + - type: ChangeDirectory + directory: "{{.AgentWorkingDir}}\\pyside\\pyside-setup" + maxTimeInSeconds: 7200 + maxTimeBetweenOutput: 120 + enable_if: + condition: property + property: host.os + equals_value: Windows + userMessageOnFailure: > + Failed to install binary artifacts + - type: ChangeDirectory + directory: "{{.AgentWorkingDir}}/pyside/pyside-setup" + maxTimeInSeconds: 7200 + maxTimeBetweenOutput: 120 + enable_if: + condition: property + property: host.os + not_equals_value: Windows + userMessageOnFailure: > + Failed to change to pyside-setup dir diff --git a/coin/module_config.yaml b/coin/module_config.yaml new file mode 100644 index 0000000..3da0ae8 --- /dev/null +++ b/coin/module_config.yaml @@ -0,0 +1,100 @@ +version: 2 +accept_configuration: + condition: or + conditions: + - condition: property + property: features + contains_value: LicenseCheck + - condition: and + conditions: + - condition: property # No cross compilation + property: host.os + equals_property: target.os + - condition: property + property: features + contains_value: Packaging + - condition: property + property: features + not_contains_value: UseLegacyInstructions + - condition: property # MinGW and msvc2015 are not supported + property: target.compiler + not_in_values: [Mingw, MSVC2015] + - condition: property # Webassembly + property: target.osVersion + not_equals_value: WebAssembly + - condition: property # Windows on Arm + property: target.arch + not_equals_value: ARM64 + - condition: and + conditions: + - condition: property # No cross compilation + property: host.osVersion + equals_value: MacOS_10_15 + - condition: property + property: features + contains_value: TestOnly + - condition: property + property: features + contains_value: Packaging + - condition: and + conditions: + - condition: property + property: host.osVersion + equals_value: MacOS_11_00 + - condition: property + property: features + contains_value: Packaging + - condition: and + conditions: + - condition: property + property: host.osVersion + equals_value: MacOS_11_00 + - condition: property + property: host.arch + equals_value: ARM64 + - condition: property + property: features + contains_value: TestOnly + - condition: property + property: features + contains_value: Packaging + +machine_type: + Build: + cores: 8 + +upload_pyside: &upload_pyside + type: Group + instructions: + - type: UploadArtifact + archiveDirectory: "{{.AgentWorkingDir}}\\pyside" + transferType: UploadModuleBuildArtifact + maxTimeInSeconds: 1200 + maxTimeBetweenOutput: 1200 + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: UploadArtifact + archiveDirectory: "{{.AgentWorkingDir}}/pyside" + transferType: UploadModuleBuildArtifact + maxTimeInSeconds: 1200 + maxTimeBetweenOutput: 1200 + enable_if: + condition: property + property: host.os + not_equals_value: Windows + +instructions: + LicenseCheck: + - !include "{{pyside/pyside-setup}}/execute_license_check.yaml" + Build: + - !include "{{pyside/pyside-setup}}/common_environment.yaml" + - !include "{{pyside/pyside-setup}}/find_path_to_msvc_compiler.yaml" + - !include "{{pyside/pyside-setup}}/execute_build_instructions.yaml" + - *upload_pyside + Test: + - !include "{{pyside/pyside-setup}}/common_environment.yaml" + - !include "{{pyside/pyside-setup}}/find_path_to_msvc_compiler.yaml" + - !include "{{pyside/pyside-setup}}/relocate_pyside.yaml" + - !include "{{pyside/pyside-setup}}/execute_test_instructions.yaml" diff --git a/coin_build_instructions.py b/coin_build_instructions.py new file mode 100644 index 0000000..d6535e7 --- /dev/null +++ b/coin_build_instructions.py @@ -0,0 +1,167 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +import calendar +import datetime +import logging +import os +import os.path +import site +import sys + +from build_scripts.log import log +from build_scripts.options import has_option, option_value +from build_scripts.utils import (expand_clang_variables, get_ci_qtpaths_path, + get_qtci_virtualEnv, + parse_cmake_conf_assignments_by_key, remove_tree, + run_instruction) + +log.setLevel(logging.INFO) + +# Values must match COIN thrift +CI_HOST_OS = option_value("os") +CI_TARGET_OS = option_value("targetOs") +CI_HOST_ARCH = option_value("hostArch") +CI_TARGET_ARCH = option_value("targetArch") +CI_HOST_OS_VER = option_value("osVer") +CI_ENV_INSTALL_DIR = option_value("instdir") +CI_ENV_AGENT_DIR = option_value("agentdir") +CI_COMPILER = option_value("compiler") +CI_USE_SCCACHE = option_value("compiler-launcher") +CI_INTEGRATION_ID = option_value("coinIntegrationId") or str(calendar.timegm(datetime.datetime.now().timetuple())) +CI_FEATURES = [] +_ci_features = option_value("features") +if _ci_features is not None: + for f in _ci_features.split(', '): + CI_FEATURES.append(f) +CI_RELEASE_CONF = has_option("packaging") +CI_TEST_PHASE = option_value("phase") +if CI_TEST_PHASE not in ["ALL", "BUILD", "WHEEL"]: + CI_TEST_PHASE = "ALL" + + +def get_current_script_path(): + """ Returns the absolute path containing this script. """ + try: + this_file = __file__ + except NameError: + this_file = sys.argv[0] + this_file = os.path.abspath(this_file) + return os.path.dirname(this_file) + + +def is_snapshot_build(): + """ + Returns True if project needs to be built with --snapshot-build + + This is true if the version found in .cmake.conf is not a + pre-release version (no alphas, betas). + + This eliminates the need to remove the --snapshot-build option + on a per-release branch basis (less things to remember to do + for a release). + """ + setup_script_dir = get_current_script_path() + pyside_project_dir = os.path.join(setup_script_dir, "sources", "pyside6") + + d = parse_cmake_conf_assignments_by_key(pyside_project_dir) + release_version_type = d.get('pyside_PRE_RELEASE_VERSION_TYPE') + pre_release_version = d.get('pyside_PRE_RELEASE_VERSION') + if pre_release_version and release_version_type: + return True + return False + + +def call_setup(python_ver, phase): + print("call_setup") + print("python_ver", python_ver) + print("phase", phase) + _pExe, _env, env_pip, env_python = get_qtci_virtualEnv(python_ver, CI_HOST_OS, CI_HOST_ARCH, CI_TARGET_ARCH) + + if phase in ["BUILD"]: + remove_tree(_env, True) + # Pinning the virtualenv before creating one + # Use pip3 if possible while pip seems to install the virtualenv to wrong dir in some OS + python3 = "python3" + if sys.platform == "win32": + python3 = os.path.join(os.getenv("PYTHON3_PATH"), "python.exe") + run_instruction([python3, "-m", "pip", "install", "--user", "virtualenv==20.7.2"], "Failed to pin virtualenv") + # installing to user base might not be in PATH by default. + env_path = os.path.join(site.USER_BASE, "bin") + v_env = os.path.join(env_path, "virtualenv") + if sys.platform == "win32": + env_path = os.path.join(site.USER_BASE, "Scripts") + v_env = os.path.join(env_path, "virtualenv.exe") + try: + run_instruction([str(v_env), "--version"], "Using default virtualenv") + except Exception as e: + log.info("Failed to use the default virtualenv") + log.info(f"{type(e).__name__}: {e}") + v_env = "virtualenv" + run_instruction([str(v_env), "-p", str(_pExe), str(_env)], "Failed to create virtualenv") + # When the 'python_ver' variable is empty, we are using Python 2 + # Pip is always upgraded when CI template is provisioned, upgrading it in later phase may cause perm issue + run_instruction([str(env_pip), "install", "-r", "requirements.txt"], "Failed to install dependencies") + + cmd = [env_python, "-u", "setup.py"] + if phase in ["BUILD"]: + cmd += ["build", "--standalone", "--unity"] + elif phase in ["WHEEL"] or CI_RELEASE_CONF: + cmd += ["bdist_wheel", "--reuse-build", "--standalone", "--skip-cmake", "--skip-make-install", "--only-package"] + + cmd += ["--build-tests", + "--verbose-build"] + + if CI_TARGET_ARCH == "X86_64-ARM64": + cmd += ["--macos-arch='x86_64;arm64'"] + + if CI_USE_SCCACHE: + cmd += [f"--compiler-launcher={CI_USE_SCCACHE}"] + + cmd += ["--limited-api=yes"] + + if is_snapshot_build(): + cmd += ["--snapshot-build"] + + qtpaths_path = get_ci_qtpaths_path(CI_ENV_INSTALL_DIR, CI_HOST_OS) + cmd.append(qtpaths_path) + + # Due to certain older CMake versions generating very long paths + # (at least with CMake 3.6.2) when using the export() function, + # pass the shorter paths option on Windows so we don't hit + # the path character length limit (260). + if CI_HOST_OS == "Windows": + cmd += ["--shorter-paths"] + + cmd += ["--package-timestamp=" + CI_INTEGRATION_ID] + + env = os.environ + run_instruction(cmd, "Failed to run setup.py for build", initial_env=env) + +if __name__ == "__main__": + + # Remove some environment variables that impact cmake + arch = '32' if CI_TARGET_ARCH == 'X86' else '64' + expand_clang_variables(arch) + for env_var in ['CC', 'CXX']: + if os.environ.get(env_var): + del os.environ[env_var] + python_ver = "3" + if CI_TARGET_OS in ["Linux"] and CI_HOST_ARCH !="aarch64": + python_ver = "3.8" + wheel_package_dir = "qfpa-p3.6" + if CI_TARGET_OS in ["Windows"]: + if (os.environ.get('HOST_OSVERSION_COIN')).startswith('windows_10'): + python_ver = "3.10.0" + else: + python_ver = "3.7.9" + if CI_TEST_PHASE in ["ALL", "BUILD"]: + call_setup(python_ver, "BUILD") + # Until CI has a feature to set more dynamic signing dir, make sure it actually exist + if os.environ.get("QTEST_ENVIRONMENT") == "ci" and sys.platform == "win32": + signing_dir = str(os.environ.get("PYSIDE_SIGNING_DIR")) + print("Check for signing dir " + signing_dir) + assert(os.path.isdir(signing_dir)) + if CI_TEST_PHASE in ["ALL", "WHEEL"] and sys.platform != "win32": + # "Old" Windows wheels won't be signed anyway so there is no need to + # create those, so that we don't accidentally release those. + call_setup(python_ver, "WHEEL") diff --git a/coin_test_instructions.py b/coin_test_instructions.py new file mode 100644 index 0000000..dcc0509 --- /dev/null +++ b/coin_test_instructions.py @@ -0,0 +1,115 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +import os +import logging +import site +import sys + +from build_scripts.log import log +from build_scripts.options import has_option, log, option_value +from build_scripts.utils import (expand_clang_variables, get_ci_qmake_path, + get_qtci_virtualEnv, remove_tree, run_instruction) + +log.setLevel(logging.INFO) + +# Values must match COIN thrift +CI_HOST_OS = option_value("os") +CI_TARGET_OS = option_value("targetOs") +CI_HOST_ARCH = option_value("hostArch") +CI_TARGET_ARCH = option_value("targetArch") +CI_HOST_OS_VER = option_value("osVer") +CI_ENV_INSTALL_DIR = option_value("instdir") +CI_ENV_AGENT_DIR = option_value("agentdir") or "." +CI_COMPILER = option_value("compiler") +CI_FEATURES = [] +_ci_features = option_value("features") +if _ci_features is not None: + for f in _ci_features.split(', '): + CI_FEATURES.append(f) +CI_RELEASE_CONF = has_option("packaging") + + +def call_testrunner(python_ver, buildnro): + _pExe, _env, env_pip, env_python = get_qtci_virtualEnv(python_ver, CI_HOST_OS, CI_HOST_ARCH, CI_TARGET_ARCH) + remove_tree(_env, True) + # Pinning the virtualenv before creating one + # Use pip3 if possible while pip seems to install the virtualenv to wrong dir in some OS + python3 = "python3" + if sys.platform == "win32": + python3 = os.path.join(os.getenv("PYTHON3_PATH"), "python.exe") + + # we shouldn't install anything outside of virtualenv, while m1 is not virtualized yet + if CI_HOST_OS == "MacOS" and CI_HOST_ARCH == "ARM64": + v_env = "virtualenv" + run_instruction([str(v_env), "-p", str(_pExe), str(_env)], "Failed to create virtualenv") + run_instruction([env_pip, "install", "-r", "requirements.txt"], "Failed to install dependencies") + else: + run_instruction([python3, "-m", "pip", "install", "--user", "virtualenv==20.7.2"], "Failed to pin virtualenv") + # installing to user base might not be in PATH by default. + env_path = os.path.join(site.USER_BASE, "bin") + v_env = os.path.join(env_path, "virtualenv") + if sys.platform == "win32": + env_path = os.path.join(site.USER_BASE, "Scripts") + v_env = os.path.join(env_path, "virtualenv.exe") + try: + run_instruction([str(v_env), "--version"], "Using default virtualenv") + except Exception as e: + log.info("Failed to use the default virtualenv") + log.info(f"{type(e).__name__}: {e}") + v_env = "virtualenv" + run_instruction([str(v_env), "-p", str(_pExe), str(_env)], "Failed to create virtualenv") + # When the 'python_ver' variable is empty, we are using Python 2 + # Pip is always upgraded when CI template is provisioned, upgrading it in later phase may cause perm issue + run_instruction([env_pip, "install", "-r", "requirements.txt"], "Failed to install dependencies") + # Install distro to replace missing platform.linux_distribution() in python3.8 + run_instruction([env_pip, "install", "distro"], "Failed to install distro") + + cmd = [env_python, "testrunner.py", "test", "--blacklist", "build_history/blacklist.txt", + f"--buildno={buildnro}"] + run_instruction(cmd, "Failed to run testrunner.py") + + qmake_path = get_ci_qmake_path(CI_ENV_INSTALL_DIR, CI_HOST_OS) + + # Try to install built wheels, and build some buildable examples. + if CI_RELEASE_CONF: + wheel_tester_path = os.path.join("testing", "wheel_tester.py") + # We create wheels differently in Qt CI with Windows and there are no "old" wheels + if CI_HOST_OS != "Windows": + # Run the test for the old set of wheels + cmd = [env_python, wheel_tester_path, qmake_path] + run_instruction(cmd, "Error while running wheel_tester.py on old wheels") + + # Uninstalling the other wheels + run_instruction([env_pip, "uninstall", "shiboken6", "shiboken6_generator", "pyside6", "-y"], + "Failed to uninstall old wheels") + + # Run the test for the new set of wheels + cmd = [env_python, wheel_tester_path, qmake_path, "--wheels-dir=dist_new", "--new"] + run_instruction(cmd, "Error while running wheel_tester.py on new wheels") + + +def run_test_instructions(): + # Remove some environment variables that impact cmake + arch = '32' if CI_TARGET_ARCH == 'X86' else '64' + expand_clang_variables(arch) + for env_var in ['CC', 'CXX']: + if os.environ.get(env_var): + del os.environ[env_var] + + os.chdir(CI_ENV_AGENT_DIR) + testRun = 0 + + # In win machines, there are additional python versions to test with + if CI_HOST_OS == "Windows": + if (os.environ.get('HOST_OSVERSION_COIN')).startswith('windows_10'): + call_testrunner("3.10.0", str(testRun)) + else: + call_testrunner("3.7.9", str(testRun)) + elif CI_HOST_OS == "Linux": + call_testrunner("3.8", str(testRun)) + else: + call_testrunner("3", str(testRun)) + + +if __name__ == "__main__": + run_test_instructions() diff --git a/create_wheels.py b/create_wheels.py new file mode 100644 index 0000000..ad52aa9 --- /dev/null +++ b/create_wheels.py @@ -0,0 +1,407 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +import os +import platform +import sys +from argparse import ArgumentParser, Namespace +from dataclasses import dataclass +from pathlib import Path +from shutil import copy, rmtree +from sysconfig import get_config_var +from typing import List, Optional, Tuple + +import build # type: ignore +from build_scripts.wheel_files import (ModuleData, # type: ignore + set_pyside_package_path, + wheel_files_pyside_addons, + wheel_files_pyside_essentials) +from build_scripts.utils import available_pyside_tools + + +PACKAGE_FOR_WHEELS = "package_for_wheels" + + +@dataclass +class SetupData: + name: str + version: str + description: str + long_description: str + console_scripts: List[str] + + +def get_version_from_package(name: str) -> str: + # Get version from the already configured '__init__.py' file + version = "" + with open(package_path / name / "__init__.py") as f: + for line in f: + if line.strip().startswith("__version__"): + version = line.split("=")[1].strip().replace('"', "") + break + return version + + +def get_manifest(wheel_name: str, data: List[ModuleData]) -> str: + lines = [] + + for module in data: + # It's crucial to have this adjust method here + # because it include all the necessary modifications to make + # our soltuion work on the three main platforms. + module.adjusts_paths_and_extensions() + + for field in module.get_fields(): + if field == "name": + lines.append(f"# {getattr(module, field)}") + continue + if field == "ext": + continue + for line in getattr(module, field): + if field in ("extra_dirs", "qml", "plugins"): + lines.append(f"graft PySide6/{line}") + elif field == "qtlib" and sys.platform == "darwin": + lines.append(f"graft PySide6/{line}") + else: + lines.append(f"include PySide6/{line}") + lines.append("recursive-exclude PySide6 *qt.conf*") + lines.append("") + + # Skip certain files if needed + lines.append("recursive-exclude PySide6/Qt/qml *.debug") + lines.append("prune PySide6/Qt/qml/QtQuick3D/MaterialEditor") + + return "\n".join(lines) + + +def generate_setup_cfg(artifacts: Path, setup: SetupData) -> str: + content = None + _os = sys.platform + arch = platform.machine() + + # as Qt6 we know it's GLIBC 2.28 on RHEL 8.4 + _tag = "" + if _os == "linux": + glibc = platform.libc_ver()[1].replace(".", "_") + # Will generate manylinux_2_28_x86_64 + _tag = f"manylinux_{glibc}_{arch}" + elif _os == "darwin": + target = get_config_var("MACOSX_DEPLOYMENT_TARGET") + if not target: + print("Error: couldn't get the value from MACOSX_DEPLOYMENT_TARGET. " + "Falling back to local platform version.") + mac_ver, _, _ = platform.mac_ver() + # We get 10.14.2 for example, and transform into 10_14 + target = "_".join(mac_ver.split(".")[:2]) + else: + version = target.split(".") + if len(version) > 1: + target = "_".join(version) + else: + target = f"{version[0]}_0" + # TODO: Make it general + # To check if is compatible with 64bit on multi-arch systems + # is_64bits = sys.maxsize > 2**32 + # + # We know the CI builds universal2 wheels + _tag = f"macosx_{target}_universal2" + elif _os == "win32": + win_arch = platform.architecture()[0] + msvc_arch = "x86" if win_arch.startswith("32") else "amd64" + _tag = f"win_{msvc_arch}" + + with open(artifacts / "setup.cfg.base") as f: + content = f.read().format( + name=setup.name, + version=setup.version, + description=setup.description, + long_description=setup.long_description, + tag=_tag, + ) + + return content + + +def generate_setup_py(artifacts: Path, setup: SetupData): + content = None + _name = setup.name + + # To get the 'abi3' tag on the wheel name, we need to use + # a fake extension to activate the limited-api option. + # Because of the order of copying, we will use a name of a real + # module for each package, so it gets overwrited. + if _name == "PySide6": + fext = "PySide6/QtCore" + elif _name == "PySide6_Addons": + fext = "PySide6/Qt3DCore" + else: + fext = "Shiboken" + + # Installing dependencies + install_requires = [] + if name == "PySide6": + install_requires.append(f"shiboken6=={setup.version}") + install_requires.append(f"PySide6_Essentials=={setup.version}") + install_requires.append(f"PySide6_Addons=={setup.version}") + elif _name == "PySide6_Essentials": + install_requires.append(f"shiboken6=={setup.version}") + elif _name == "PySide6_Addons": + install_requires.append(f"shiboken6=={setup.version}") + install_requires.append(f"PySide6_Essentials=={setup.version}") + + # For special wheels based on 'PySide6' + # we force the name to be PySide6 for the package_name, + # so we can take the files from that packaged-directory + if setup.name in ("PySide6_Essentials", "PySide6_Addons"): + _name = "PySide6" + + with open(artifacts / "setup.py.base") as f: + content = f.read().format( + name=_name, + fake_ext=fext, + install=install_requires, + console_scripts={"console_scripts": setup.console_scripts}, + ) + + return content + + +def wheel_shiboken_generator() -> Tuple[SetupData, None]: + setup = SetupData( + name="shiboken6_generator", + version=get_version_from_package("shiboken6_generator"), + description="Python/C++ bindings generator", + long_description="README.shiboken6-generator.md", + console_scripts=[ + "shiboken6 = shiboken6_generator.scripts.shiboken_tool:main", + "shiboken6-genpyi = shiboken6_generator.scripts.shiboken_tool:genpyi", + ], + ) + + return setup, None + + +def wheel_shiboken_module() -> Tuple[SetupData, None]: + setup = SetupData( + name="shiboken6", + version=get_version_from_package("shiboken6"), + description="Python/C++ bindings helper module", + long_description="README.shiboken6.md", + console_scripts=[], + ) + + return setup, None + + +def wheel_pyside6_essentials(packaged_qt_tools_path: Path) -> Tuple[SetupData, List[ModuleData]]: + set_pyside_package_path(packaged_qt_tools_path) + _pyside_tools = available_pyside_tools(packaged_qt_tools_path, package_for_wheels=True) + + # replacing pyside6-android_deploy by pyside6-android-deploy for consistency + # Also, the tool should not exist in any other platform than Linux + _console_scripts = [] + if ("android_deploy" in _pyside_tools) and sys.platform.startswith("linux"): + _console_scripts = ["pyside6-android-deploy = PySide6.scripts.pyside_tool:android_deploy"] + _pyside_tools.remove("android_deploy") + + _console_scripts.extend([f"pyside6-{tool} = PySide6.scripts.pyside_tool:{tool}" + for tool in _pyside_tools]) + + setup = SetupData( + name="PySide6_Essentials", + version=get_version_from_package("PySide6"), # we use 'PySide6' here + description="Python bindings for the Qt cross-platform application and UI framework (Essentials)", + long_description="README.pyside6_essentials.md", + console_scripts=_console_scripts + ) + + data = wheel_files_pyside_essentials() + + return setup, data + + +def wheel_pyside6_addons() -> Tuple[SetupData, List[ModuleData]]: + setup = SetupData( + name="PySide6_Addons", + version=get_version_from_package("PySide6"), # we use 'PySide6' here + description="Python bindings for the Qt cross-platform application and UI framework (Addons)", + long_description="README.pyside6_addons.md", + console_scripts=[], + ) + + data = wheel_files_pyside_addons() + + return setup, data + + +def wheel_pyside6() -> Tuple[SetupData, Optional[List[ModuleData]]]: + setup = SetupData( + name="PySide6", + version=get_version_from_package("PySide6"), + description="Python bindings for the Qt cross-platform application and UI framework", + long_description="README.pyside6.md", + console_scripts=[], + ) + + return setup, None + + +def venv_name(): + v = os.environ.get("VIRTUAL_ENV") + return Path(v).name if v else None + + +def get_build_directory(options: Namespace): + build_dir = Path("build") + # Search for a "--env" option first", try postfix "a" for limited API or "d", debug + venv = options.env if options.env else venv_name() + if venv: + for postfix in ("a", "d", ""): + result = build_dir / f"{venv}{postfix}" + if result.is_dir(): + return result + if options.env: + raise Exception(f'Invalid environment "{options.env}" passed') + # Try explicit build-dir + if options.build_dir and (Path(options.build_dir) / PACKAGE_FOR_WHEELS).is_dir(): + return Path(options.build_dir) + # Fallback to existing dirs (skip "config.tests") + for d in build_dir.glob("*"): + if (d / PACKAGE_FOR_WHEELS).is_dir(): + print( + "No valid environment or build directory was specified, so create_wheels is using " + "the first valid directory it could find on its own. If this is not the one you " + "want, use the --env or --build-dir options to provide it explicitly." + ) + return d + raise Exception("Unable to determine build directory, no matching virtual environment found") + + +if __name__ == "__main__": + + parser = ArgumentParser() + # Command line option to find the build/a/package_for_wheels + parser.add_argument( + "--env", type=str, default=None, + help="The env's name from which PySide was built such that the " + "build directory is 'build/' (must contain a " + "'package_for_wheels' folder" + ) + # Alternatively, (must contain "package_for_wheels") + parser.add_argument( + "--build-dir", type=str, default=None, + help="The directory where PySide was build (must contain a " + "'package_for_wheels' folder" + ) + options = parser.parse_args() + + build_directory = get_build_directory(options) + + verbose = False + # Setup paths + current_path = Path(__file__).resolve().parent + artifacts_path = Path("wheel_artifacts/") + # the extra 'a' is for compatibility with the build_scripts + # notation that adds an 'a' when using limited-api + package_path = build_directory / PACKAGE_FOR_WHEELS + print(f'Using build dir "{build_directory.name}"') + + # Check for 'package_for_wheels' directory + if not package_path.is_dir(): + print(f"Couldn't find the directory: {package_path}") + print("Maybe your build used '--skip-packaging'?. Exiting") + sys.exit(-1) + + setup_cfg_path = package_path / "setup.cfg" + setup_py_path = package_path / "setup.py" + + base_files = [ + artifacts_path / "pyproject.toml", + current_path / "LICENSES/GFDL-1.3-no-invariants-only.txt", + current_path / "LICENSES/LicenseRef-Qt-Commercial.txt", + current_path / "LICENSES/GPL-2.0-only.txt", + current_path / "LICENSES/GPL-3.0-only.txt", + current_path / "LICENSES/Qt-GPL-exception-1.0.txt", + current_path / "LICENSES/LGPL-3.0-only.txt", + ] + + # Main generation + wheels = { + "shiboken6": wheel_shiboken_module, + "shiboken6_generator": wheel_shiboken_generator, + "PySide6_Essentials": wheel_pyside6_essentials, + "PySide6_Addons": wheel_pyside6_addons, + "PySide6": wheel_pyside6, + } + + for name, wheel_info in wheels.items(): + + print(f"Starting process for: {name}") + setup, data = wheel_info() if not name=="PySide6_Essentials" else \ + wheel_pyside6_essentials(package_path / "PySide6") + + # 1. Generate 'setup.cfg' + print("-- Generating setup.cfg") + setup_cfg_content = generate_setup_cfg(artifacts_path, setup) + with open(setup_cfg_path, "w") as f: + f.write(setup_cfg_content) + + # 2. Generate 'setup.py' + print("-- Generating setup.py") + setup_py_content = generate_setup_py(artifacts_path, setup) + with open(setup_py_path, "w") as f: + f.write(setup_py_content) + + # 3. Create the 'MANIFEST.in' + # Special case for shiboken and shiboken_generator + # so we copy the whole directory, only PySide and derivatives + # will need to have specific information + print("-- Creating MANIFEST.in") + if not data: + if name == "PySide6": + with open(package_path / "MANIFEST.in", "w") as f: + f.write(f"purge {name}\n") + else: + with open(package_path / "MANIFEST.in", "w") as f: + f.write(f"graft {name}\n") + else: + manifest_content = get_manifest(name, data) + with open(package_path / "MANIFEST.in", "w") as f: + f.write(manifest_content) + + # 4. copy configuration files to create the wheel + print("-- Copy configuration files to create the wheel") + _files: List[Path] = base_files + [Path(setup.long_description)] + for fname in _files: + copy(fname, package_path) + + # 5. call the build module to create the wheel + # print("-- Creating wheel") + # os.chdir(package_path) + if not verbose: + _runner = build.pep517.wrappers.quiet_subprocess_runner + else: + _runner = build.pep517.wrappers.default_subprocess_runner + builder = build.ProjectBuilder(package_path, runner=_runner) + builder.build("wheel", "dist_new") + # os.chdir(current_path) + + # 6. Copy wheels back + print("-- Copying wheels to dist_new/") + dist_path = Path("dist_new") + if not dist_path.is_dir(): + dist_path.mkdir() + for wheel in Path(package_path / "dist_new").glob("*.whl"): + copy(wheel, dist_path / wheel.name) + + # 7. Remove leftover files + print("-- Removing leftover files") + all_files = set(package_path.glob("*")) + files_to_remove = all_files - { + package_path / i for i in ("PySide6", "shiboken6", "shiboken6_generator") + } + for _f in files_to_remove: + if _f.is_dir(): + rmtree(_f) + elif _f.is_file(): + _f.unlink() diff --git a/doc/changelogs/changes-1.2.3 b/doc/changelogs/changes-1.2.3 new file mode 100644 index 0000000..7deaa8b --- /dev/null +++ b/doc/changelogs/changes-1.2.3 @@ -0,0 +1,405 @@ +Changes +======= + +1.2.3 (2014-??-??) +------------------ + +Major changes +~~~~~~~~~~~~~ + +PySide-setup +************ + +- On Linux systems there is no more need to call the post-install script + +1.2.2 (2014-04-24) +------------------ + +Complete list of changes and bug fixes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +PySide +****** + +- Fix PYSIDE-190: QCoreApplication would deadlock on exit if the global + QThreadPool.globalInstance() is running a QRunnable with python code +- Change GlobalReceiver to explicitly 'use' [dis]connectNotify of the base + class in order to avoid hiding these with its own overloads. +- Add explicit casts when initializing an int[] using {}'s, as required + by C++11 to be "well formed" +- Fix PYSIDE-172: multiple rules for file +- Use file system encoding instead of assumed 'ascii' when registering + qt.conf in Qt resource system + +Shiboken +******** + +- Remove rejection lines that cause the sample_list test to fail +- Remove protected from samblebinding test +- Add parsing of 'noexcept' keyword +- Fix function rejections (i.e. support overloads) +- Fix building with python 3.3 and 3.4 +- Doc: Stop requiring sphinx.ext.refcounting with Sphinx 1.2+ +- Fix for containers with 'const' values +- Fix compilation issue on OS X 10.9 +- Only use fields in PyTypeObject when defining types +- Fix buffer overrun processing macro definitions +- Fix 'special' include handling +- Fix finding container base classes +- Refactor and improve added function resolving +- Work around MSVC's deficient in libsample/transform.cpp +- Fix description of sample/transform unit test +- Change wrapping and indent of some code in Handler::startElement to + improve consistency +- Fix '%#' substitution for # > 9 +- Improve dependencies for tests + +1.2.1 (2013-08-16) +------------------ + +Major changes +~~~~~~~~~~~~~ + +PySide +****** + +- In memory qt.conf generation and registration + +Shiboken +******** + +- Better support for more than 9 arguments to methods +- Avoiding a segfault when getting the .name attribute on an enum value with no name + +PySide-setup +************ + +- Switched to the new setuptools (v0.9.8) which has been merged with Distribute again and works for Python 2 and 3 with one codebase +- Support for building windows binaries with only Windows SDK installed (Visual Studio is no more required) +- Removed --msvc-version option. Required msvc compiler version is now resolved from python interpreter version + +1.2.0 (2013-07-02) +------------------ + +Major changes +~~~~~~~~~~~~~ + +PySide +****** + +- Fix multiple segfaults and better track the life time of Qt objects +- Fix multiple memory leaks + +Shiboken +******** + +- Install the shiboken module to site-packages +- Fix multiple segfaults + +PySide-setup +************ + +- On Windows system, when installing PySide binary distribution via easy_install, + there is no more need to call the post-install script +- Support for building windows binaries outside of Visual Studio command prompt +- Build and package the shiboken docs when sphinx is installed + +Complete list of changes and bug fixes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +PySide +****** + +- Set up PYTHONPATH for tests correctly +- Fix potential segfault at shutdown +- Fix PYSIDE-61 +- Tell Qt to look for qml imports in the PySide package +- fix build in C++11 mode +- Fix QByteArray memory leak +- Ignore QtCore import errors when initializing plugins folder +- Preload OpenSSL DLLs on Windows. +- Look first in the PySide package for Qt's plugins folder, instead of just in Qt's install or build folder +- Add explicit type conversion to fix mingw compile error +- Use QObject property to invalidate wrapper before deletion +- Invalidate metaObject wrapper before deletion +- Fix reference leak on convertion from a C++ map type to Python dict +- Change the order of pysitetest and signals directories because signals/disconnect_test.py depends on pysidetest module + +Shiboken +******** + +- Removed old logos from html docs +- Add missing return on module init error +- Don't break -Werror=non-virtual-dtor +- Fixing shiboken test for minimal binding test +- Decref reference to type object +- Fix segfault when using shiboken.delete +- Use non-static method def for instance methods +- Fix bug introduced when recursive_invalidate was added +- fix build in C++11 mode +- Prevent infinite recursion in invalidate +- Fix possible conflict with garbage collector +- Fix possible crash at exit +- Fix handling of unsigned long long and provide unittests +- Add test to illustrate issue on typedef enum +- Use getWrapperForQObject to convert if generating for PySide +- Allow compilation without a python shared library +- Use parent class's metaObject if wrapper is NULL +- Optionally assert on free'd pointer with a valid wrapper +- Find python3 libraries when built with pydebug enabled +- Fix PYSIDE-108 bug and add example +- PYSIDE-83 Fix segfault calling shiboken.dump +- Fix and test case for bug PYSIDE-72 +- Override all functions with the same name, not just one +- Update vector conversion +- Add typedef examples to minimal +- Add test files back to cmake +- Don't use it->second after erasing it +- Find function modifications defined in the 2nd+ base class. Fixes bug PYSIDE-54. +- Set a default hash function for all ObjectTypes. Fix bug PYSIDE-42. +- Fix compilation when there is no libxslt installed on the system. +- Fixed resolving of SOABI. SOABI is implemented on Linux, but not on Windows +- Don't use inline methods in dllexported classes to keep VC++ happy +- Use SpooledTemporaryFile in 2.6+ os.tmpfile() fails on win32 if process doesn't have admin permissions + +PySide-setup +************ + +- Support for building windows binaries outside of Visual Studio command prompt +- Build and package the shiboken docs when sphinx is installed +- Support Ubuntu 13.04 and Fedora 18 +- Fixed "develop" setuptools command +- Documentation updates +- Add --build-tests option to enable building the tests +- Add --jom and --jobs options +- Add --no-examples option to exclude the examples +- Add --relwithdebinfo option to enable a release-with-debug-info build mode +- Add --ignore-git option +- Add --make-spec option to specify make generator + +1.1.2 (2012-08-28) +------------------ + +Bug fixes +~~~~~~~~~ + +- During signal emission don't get return type after callback +- Invalidate QStandardModel::invisibleRootItem in clear() method +- QAbstractItemModel has wrong ownership policy for selectionModel() +- Improved QVector to python conversion +- Disable docstring generation if tools aren't found. +- Fixed some issues compiling PySide using VC++ +- Install the shiboken module to site-packages +- Fix compilation when there is no libxslt installed on the system. +- Set a default hash function for all ObjectTypes. +- Fix segfault calling shiboken.dump + +1.1.1 (2012-04-19) +------------------ + +Major changes +~~~~~~~~~~~~~ + +- Unified toolchain! No more GeneratorRunner and ApiExtractor, now you just need Shiboken to compile PySide. + +Bug fixes +~~~~~~~~~ + +- 1105 Spyder fails with HEAD +- 1126 Segfault when exception is raised in signalInstanceDisconnect +- 1135 SIGSEGV when loading custom widget using QUiLoader when overriding createWidget() +- 1041 QAbstractItemModel has wrong ownership policy for selectionModel() +- 1086 generatorrunner segfault processing #include +- 1110 Concurrency error causes GC heap corruption +- 1113 Instantiating QObject in user-defined QML element's constructor crashes if instantiated from QML +- 1129 Segmentation fault on close by QStandardItem/QStandardItemModel +- 1104 QSettings has problems with long integers +- 1108 tests/QtGui/pyside_reload_test.py fails when bytecode writing is disabled +- 1138 Subclassing of QUiLoader leads to "Internal C++ object already deleted" exception (again) +- 1124 QPainter.drawPixmapFragments should take a list as first argument +- 1065 Invalid example in QFileDialog documentation +- 1092 shiboken names itself a 'generator' +- 1094 shiboken doesn't complain about invalid options +- 1044 Incorrect call to parent constructor in example +- 1139 Crash at exit due to thread state (tstate) being NULL +- PYSIDE-41 QModelIndex unhashable + +1.1.0 (2012-01-02) +------------------ + +Major changes +~~~~~~~~~~~~~ + +- New type converter scheme + +Bug fixes +~~~~~~~~~ + +- 1010 Shiboken Cygwin patch +- 1034 Error compiling PySide with Python 3.2.2 32bit on Windows +- 1040 pyside-uic overwriting attributes before they are being used +- 1053 pyside-lupdate used with .pro files can't handle Windows paths that contain spaces +- 1060 Subclassing of QUiLoader leads to "Internal C++ object already deleted" exception +- 1063 Bug writing to files using "QTextStream + QFile + QTextEdit" on Linux +- 1069 QtCore.QDataStream silently fails on writing Python string +- 1077 Application exit crash when call QSyntaxHighlighter.document() +- 1082 OSX binary links are broken +- 1083 winId returns a PyCObject making it impossible to compare two winIds +- 1084 Crash (segfault) when writing unicode string on socket +- 1091 PixmapFragment and drawPixmapFragments are not bound +- 1095 No examples for shiboken tutorial +- 1097 QtGui.QShortcut.setKey requires QKeySequence +- 1101 Report invalid function signatures in typesystem +- 902 Expose Shiboken functionality through a Python module +- 969 viewOptions of QAbstractItemView error + +1.0.9 (2011-11-29) +------------------ + +Bug fixes +~~~~~~~~~ + +- 1058 Strange code in PySide/QtUiTools/glue/plugins.h +- 1057 valgrind detected "Conditional jump or move depends on uninitialised value" +- 1052 PySideConfig.cmake contains an infinite loop due to missing default for SHIBOKEN_PYTHON_SUFFIX +- 1048 QGridLayout.itemAtPosition() crashes when it should return None +- 1037 shiboken fails to build against python 3.2 (both normal and -dbg) on i386 (and others) +- 1036 Qt.KeyboardModifiers always evaluates to zero +- 1033 QDialog.DialogCode instances and return value from \QDialog.exec_ hash to different values +- 1031 QState.parentState() or QState.machine() causes python crash at exit +- 1029 qmlRegisterType Fails to Increase the Ref Count +- 1028 QWidget winId missing +- 1016 Calling of Q_INVOKABLE method returning not QVariant is impossible... +- 1013 connect to QSqlTableModel.primeInsert() causes crash +- 1012 FTBFS with hardening flags enabled +- 1011 PySide Cygwin patch +- 1010 Shiboken Cygwin patch +- 1009 GeneratorRunner Cygwin patch +- 1008 ApiExtractor Cygwin patch +- 891 ApiExtractor doesn't support doxygen as backend to doc generation. + +1.0.8 (2011-10-21) +------------------ + +Major changes +~~~~~~~~~~~~~ + +- Experimental Python3.2 support +- Qt4.8 beta support + +Bug fixes +~~~~~~~~~ + +- 1022 RuntimeError: maximum recursion depth exceeded while getting the str of an object +- 1019 Overriding QWidget.show or QWidget.hide do not work +- 944 Segfault on QIcon(None).pixmap() + +1.0.7 (2011-09-21) +------------------ + +Bug fixes +~~~~~~~~~ + +- 996 Missing dependencies for QtWebKit in buildscripts for Fedora +- 986 Documentation links +- 985 Provide versioned pyside-docs zip file to help packagers +- 981 QSettings docs should empathize the behavior changes of value() on different platforms +- 902 Expose Shiboken functionality through a Python module +- 997 QDeclarativePropertyMap doesn't work. +- 994 QIODevice.readData must use qmemcpy instead of qstrncpy +- 989 Pickling QColor fails +- 987 Disconnecting a signal that has not been connected +- 973 shouldInterruptJavaScript slot override is never called +- 966 QX11Info.display() missing +- 959 can't pass QVariant to the QtWebkit bridge +- 1006 Segfault in QLabel init +- 1002 Segmentation fault on PySide/Spyder exit +- 998 Segfault with Spyder after switching to another app +- 995 QDeclarativeView.itemAt returns faulty reference. (leading to SEGFAULT) +- 990 Segfault when trying to disconnect a signal that is not connected +- 975 Possible memory leak +- 991 The __repr__ of various types is broken +- 988 The type supplied with currentChanged signal in QTabWidget has changed in 1.0.6 + +1.0.6 (2011-08-22) +------------------ + +Major changes +~~~~~~~~~~~~~ + +- New documentation layout; +- Fixed some regressions from the last release (1.0.5); +- Optimizations during anonymous connection; + +Bug fixes +~~~~~~~~~ + +- 972 anchorlayout.py of graphicsview example raised a unwriteable memory exception when exits +- 953 Segfault when QObject is garbage collected after QTimer.singeShot +- 951 ComponentComplete not called on QDeclarativeItem subclass +- 965 Segfault in QtUiTools.QUiLoader.load +- 958 Segmentation fault with resource files +- 944 Segfault on QIcon(None).pixmap() +- 941 Signals with QtCore.Qt types as arguments has invalid signatures +- 964 QAbstractItemView.moveCursor() method is missing +- 963 What's This not displaying QTableWidget column header information as in Qt Designer +- 961 QColor.__repr__/__str__ should be more pythonic +- 960 QColor.__reduce__ is incorrect for HSL colors +- 950 implement Q_INVOKABLE +- 940 setAttributeArray/setUniformValueArray do not take arrays +- 931 isinstance() fails with Signal instances +- 928 100's of QGraphicItems with signal connections causes slowdown +- 930 Documentation mixes signals and functions. +- 923 Make QScriptValue (or QScriptValueIterator) implement the Python iterator protocol +- 922 QScriptValue's repr() should give some information about its data +- 900 QtCore.Property as decorator +- 895 jQuery version is outdated, distribution code de-duplication breaks documentation search +- 731 Can't specify more than a single 'since' argument +- 983 copy.deepcopy raises SystemError with QColor +- 947 NETWORK_ERR during interaction QtWebKit window with server +- 873 Deprecated methods could emit DeprecationWarning +- 831 PySide docs would have a "Inherited by" list for each class + +1.0.5 (2011-07-22) +------------------ + +Major changes +~~~~~~~~~~~~~ + +- Widgets present on "ui" files are exported in the root widget, check PySide ML thread for more information[1]; +- pyside-uic generate menubars without parent on MacOS plataform; +- Signal connection optimizations; + +Bug fixes +~~~~~~~~~ + +- 892 Segfault when destructing QWidget and QApplication has event filter installed +- 407 Crash while multiple inheriting with QObject and native python class +- 939 Shiboken::importModule must verify if PyImport_ImportModule succeeds +- 937 missing pid method in QProcess +- 927 Segfault on QThread code. +- 925 Segfault when passing a QScriptValue as QObject or when using .toVariant() on a QScriptValue +- 905 QtGui.QHBoxLayout.setMargin function call is created by pyside-uic, but this is not available in the pyside bindings +- 904 Repeatedly opening a QDialog with Qt.WA_DeleteOnClose set crashes PySide +- 899 Segfault with 'QVariantList' Property. +- 893 Shiboken leak reference in the parent control +- 878 Shiboken may generate incompatible modules if a new class is added. +- 938 QTemporaryFile JPEG problem +- 934 A __getitem__ of QByteArray behaves strange +- 929 pkg-config files do not know about Python version tags +- 926 qmlRegisterType does not work with QObject +- 924 Allow QScriptValue to be accessed via [] +- 921 Signals not automatically disconnected on object destruction +- 920 Cannot use same slot for two signals +- 919 Default arguments on QStyle methods not working +- 915 QDeclarativeView.scene().addItem(x) make the x object invalid +- 913 Widgets inside QTabWidget are not exported as members of the containing widget +- 910 installEventFilter() increments reference count on target object +- 907 pyside-uic adds MainWindow.setMenuBar(self.menubar) to the generated code under OS X +- 903 eventFilter in ItemDelegate +- 897 QObject.property() and QObject.setProperty() methods fails for user-defined properties +- 896 QObject.staticMetaObject() is missing +- 916 Missing info about when is possible to use keyword arguments in docs [was: QListWidgetItem's constructor ignores text parameter] +- 890 Add signal connection example for valueChanged(int) on QSpinBox to the docs +- 821 Mapping interface for QPixmapCache +- 909 Deletion of QMainWindow/QApplication leads to segmentation fault diff --git a/doc/changelogs/changes-5.12.1 b/doc/changelogs/changes-5.12.1 new file mode 100644 index 0000000..e0eeeff --- /dev/null +++ b/doc/changelogs/changes-5.12.1 @@ -0,0 +1,45 @@ +Qt for Python 5.12.1 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [PYSIDE-878] Added binding for QWebEngineUrlScheme which was missing + - Completed the signature introspection + - Activated existence_test.py for 5.12 + - [PYSIDE-868] Fixed a crash related to multiple inheritance + - [PYSIDE-886] Fixed crash when mixing static overloads with instance methods in derived classes + - [PYSIDE-892] Added free functions from namespace QtQml + - Fixed a rare type hint racing condition + - Used helper function for accessing the meta object in quick type registration for libpyside + - [PYSIDE-883] Fixed regression related to removing createIndex method that uses PyObject* + - [PYSIDE-882] Avoided the creation of empty build directories in the install tree + - Produced TypeError messages using the signature module + - Replaced nullptr by None in signatures in the documentation + - Updated and fixed the Slot documentation + - Added \nullptr macro definition in the documentation + - [PYSIDE-874] Fixed wrong METADATA for generated wheels + - [PYSIDE-898] Improved check when a QFlag is found + - [PYSIDE-790] Fixed a crash when overriding QAbstractNativeEventFilter.QAbstractNativeEventFilter() + - Added support for the help() function using the signature module + - [PYSIDE-880] Fixed an issue on the setup.py when running under non-UTF8 locale + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - Make signatures in overload decisor code more verbose in shiboken + - [PYSIDE-914] Included MSVC dlls in the shiboken module package diff --git a/doc/changelogs/changes-5.12.2 b/doc/changelogs/changes-5.12.2 new file mode 100644 index 0000000..b45d38c --- /dev/null +++ b/doc/changelogs/changes-5.12.2 @@ -0,0 +1,49 @@ +Qt for Python 5.12.2 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [PYSIDE-934] Added a method to VoidPtr called toBytes() to get the bytes representation. + - [PYSIDE-95] Added ownership transfer for QGraphicsItemGroup.addToGroup + - [PYSIDE-928][PYSIDE-937][PYSIDE-943] Fixing a refcounting bug shown by __doc__ handling + - [PYSIDE-931] Added the attribute 'allow-thread' to the type system and class entries. + - [PYSIDE-947] Fixed conversions of list of smart pointers to python + - [PYSIDE-953] Preventing Python 3.5 from crashing the build + - [PYSIDE-940] Added setPageSize new signature to QPageSize + - [PYSIDE-950] Allowed subclassing PyCFunction in extension modules + - [PYSIDE-938] Set the proper parent when overloading QUiLoader.addAction() + - Added common QPrintSupport typesystem for QWebEngine + - [PYSIDE-942] Fixed an error when importing signatures in frozen executables + - [PYSIDE-948] Fixed problem when using smart pointers with namespaces + - [PYSIDE-45] Added support for using PyObject wrapper when an invalid QVariant is used + - [PYSIDE-922] Added pyObj check for the setSequenceOwnership + - [PYSIDE-919] Modernized the cmake build process + - [PYSIDE-924] Propagated Property attributes to the MetaObject + - Improved the type hints for containers + - [PYSIDE-906] Added missing classes QWebEngineHistory and WebEngineHistoryItem + - Added QtRemoteObject classes + - Added a script to generate a debug log in windows called debug_windows.py + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - Fixed many build warnings on shiboken and pyside + - Extended the exception handling test in shiboken + - [PYSIDE-929] Added dependency version for shiboken2 + - [PYSIDE-914] Including MSVC dlls in the shiboken module package + - [PYSIDE-932] Implement Embedding To Make Signatures Always Available diff --git a/doc/changelogs/changes-5.12.3 b/doc/changelogs/changes-5.12.3 new file mode 100644 index 0000000..fda65b4 --- /dev/null +++ b/doc/changelogs/changes-5.12.3 @@ -0,0 +1,35 @@ +Qt for Python 5.12.3 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [PYSIDE-993] Use correct environment variable to detect when running in Coin + - Many updated to the documentation + - Add array modification for QGLShaderProgram::setAttributeArray(int,const float *v,int,int) + - Signatures: Add support for PySide2.QtCore.short/ushort/signed char + - Add explicit methods for QOpenGLShaderProgramm.setUniformValue (i/f) + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-977] Shiboken: Add "noexcept" to wrapper when wrapped function is noexcept + - [PYSIDE-975] shiboken: Allow for include paths with relative directories + - [PYSIDE-995] shiboken: Enable adding call operators + - shiboken: Move the Api extractor documentation into shiboken + - shiboken: Fix code injection not working for operator functions + - shiboken: Enable including typesystem XML snippets via entities diff --git a/doc/changelogs/changes-5.12.4 b/doc/changelogs/changes-5.12.4 new file mode 100644 index 0000000..d6d1679 --- /dev/null +++ b/doc/changelogs/changes-5.12.4 @@ -0,0 +1,43 @@ +Qt for Python 5.12.4 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [PYSIDE-571] correct bool(qApp) on Python 2 + - [PYSIDE-735] generate_pyi: Simplify, Enhance and Get Rid Of Any Import Problems + - [PYSIDE-865] opengl/contextinfo.py: Fix exception on exit + - [PYSIDE-865] opengl/contextinfo.py: Polish the example a bit + - [PYSIDE-908] Complete the help() support for Types + - [PYSIDE-955] Add PySide2: Add OpenGL version functions as separate module + - [PYSIDE-980] CMake: Change the default behavior CMAKE_BUILD_TYPE + - [PYSIDE-996] Fix PyInstaller after removal of COIN glitches + - [PYSIDE-1003] Fix Shiboken.ObjectType.__new__ for Python 2.7 V2 + - [PYSIDE-1004] Make the __signature__ attribute writable by default + - [PYSIDE-1008] Fix propagation of existing LD env vars when calling generate_pyi + - [PYSIDE-1009] Signature: Try to recognize unknown modules in errorhandler.py + - [PYSIDE-1012] Fix build on centOS/conda forge + - [PYSIDE-1019] PySide: Allow any existing attribute in the constructor + - [PYSIDE-1022] TabbedBrowser Example: Fix "Open in new tab" + - [PYSIDE-1027] Fix negative refcount on QSocketNotifier + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-955] shiboken/Generators: Cache class information lists per class + - [PYSIDE-1016] shiboken: Fix handling shared pointers passed by const-ref, take 2 + - [PYSIDE-1017] shiboken: Enable specifying names for a parameters of added functions diff --git a/doc/changelogs/changes-5.12.5 b/doc/changelogs/changes-5.12.5 new file mode 100644 index 0000000..d463b83 --- /dev/null +++ b/doc/changelogs/changes-5.12.5 @@ -0,0 +1,40 @@ + +Qt for Python 5.12.5 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [PYSIDE-571] Support the qApp macro in "scriptable application" + - [PYSIDE-634] Add support for parameterNames in Signals + - [PYSIDE-951] Correct QtPrintSupport dependency + - [PYSIDE-1010] Add optional support for types in QSettings::value + - [PYSIDE-1020] Fix pyside2-uic to generate correct code for QWebview and QQuickWidget + - [PYSIDE-1028] Leave QVariantMap as a name, not a type + - [PYSIDE-1029] Fix type name for lookup of QFlags<> converters + - [PYSIDE-1032] Use default compiler on macOS + - [PYSIDE-1035] Fix pyside2-uic to generate correct code for QTableWidget + - [PYSIDE-1066] Fix Xcode sdk value embedded into PySide2 binaries + + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-1024] shiboken: Generate code for smart pointers only within declaring package + - [PYSIDE-1037] shiboken: Allow for "auto" as target of type for CONVERTTOCPP in injected code + + diff --git a/doc/changelogs/changes-5.12.6 b/doc/changelogs/changes-5.12.6 new file mode 100644 index 0000000..d1eba40 --- /dev/null +++ b/doc/changelogs/changes-5.12.6 @@ -0,0 +1,29 @@ +Qt for Python 5.12.6 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [Fixes: PYSIDE-1007] Remove extra ref on QDataStream::setDevice + - [Fixes: PYSIDE-1051] Fix heaptype conflict with QtCore.QObject.__new__in Python 2.7 + + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - No changes + diff --git a/doc/changelogs/changes-5.13.0 b/doc/changelogs/changes-5.13.0 new file mode 100644 index 0000000..4b7a2b7 --- /dev/null +++ b/doc/changelogs/changes-5.13.0 @@ -0,0 +1,33 @@ +Qt for Python 5.13.0 is a minor release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [PYSIDE-487] Add bindings for 5.13 + - [PYSIDE-571] Support the qApp macro in "scriptable application" + - [PYSIDE-841] Doc: Add QML Integration tutorial + - [PYSIDE-841] Docs: Add Expenses tool tutorial + - [PYSIDE-855] Regenerate all example forms using the python-extended rcc of 5.14 + - [PYSIDE-1029] Fix type name for lookup of QFlags<> converters + - [PYSIDE-1032] Use default compiler on macOS + + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-1024] shiboken: Generate code for smart pointers only within declaring package diff --git a/doc/changelogs/changes-5.13.1 b/doc/changelogs/changes-5.13.1 new file mode 100644 index 0000000..9b99390 --- /dev/null +++ b/doc/changelogs/changes-5.13.1 @@ -0,0 +1,47 @@ + +Qt for Python 5.13.1 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [Fixes https://github.com/spyder-ide/qtpy/issues/195] Fix RuntimeError: dictionary changed size during iteration + - [PYSIDE-634] Add support for parameterNames in Signals + - [PYSIDE-951] Cleanup signature module before substantial change + - [PYSIDE-951] correct QtPrintSupport dependency + - [PYSIDE-1010] Add optional support for types in QSettings::value + - [PYSIDE-1020] Fix pyside2-uic to generate correct code for QWebview and QQuickWidget + - [PYSIDE-1028] Leave QVariantMap as a name, not a type + - [PYSIDE-1033] CMake modularization: macros creation + - [PYSIDE-1035] Fix pyside2-uic to generate correct code for QTableWidget + - [PYSIDE-1051] Fix heaptype conflict with QtCore.QObject.__new__in Python 2.7 + - [PYSIDE-1052] Add QtCore.Slot.__signature__ and much more manually + - [PYSIDE-1059] Documentation: update QInputDialog snippets + - [PYSIDE-1066] Fix Xcode sdk value embedded into PySide2 binaries + - [PYSIDE-1067] Update docs style + - [PYSIDE-1073] Fix a typing bug in Python 2.7 and update + - [PYSIDE-1077] Fix wrong Python init return codes + - [PYSIDE-1079] signature: Support typing.Optional[T] and refine a bit + + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-1024] shiboken: Generate code for smart pointers only within declaring package + - [PYSIDE-1037] shiboken: Allow for "auto" as target of type for CONVERTTOCPP in injected code + + diff --git a/doc/changelogs/changes-5.13.2 b/doc/changelogs/changes-5.13.2 new file mode 100644 index 0000000..52edd7a --- /dev/null +++ b/doc/changelogs/changes-5.13.2 @@ -0,0 +1,37 @@ +Qt for Python 5.13.2 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [PYSIDE-785] Release ownership in QAbstractVideoFilterWrapper::createFilterRunnable + - [PYSIDE-820] Fix booleans and empty list cases in QSettings + - [PYSIDE-849] Add inject-code for QVideoFrame::bits() + - [PYSIDE-1007] Remove extra ref on QDataStream::setDevice + - [PYSIDE-1019] libpyside: Fix compiler warning + - [PYSIDE-1049] Split build instructions to build and packaging + - [PYSIDE-1051] Fix heaptype conflict with QtCore.QObject.__new__in Python 2.7 + - [PYSIDE-1089] Fix formatting of the deployment documentation + - [PYSIDE-1093] Fix bad shutdown effect on QApplication.instance() + + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-1095] shiboken: Fix handling of modified default expressions + + diff --git a/doc/changelogs/changes-5.14.0 b/doc/changelogs/changes-5.14.0 new file mode 100644 index 0000000..46b4a6b --- /dev/null +++ b/doc/changelogs/changes-5.14.0 @@ -0,0 +1,69 @@ +Qt for Python 5.14.0 is a minor release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* Important Source Incompatible/Behavior Changes * +**************************************************************************** + +- [PYSIDE-990] It is no longer possible to nest types in typesystem files by + by qualifying the namespace components with "::". The elements + need to be properly nested. + + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [PYSIDE-487] Add bindings for Qt 5.14 + - [PYSIDE-785] Release ownership in QAbstractVideoFilterWrapper::createFilterRunnable + - [PYSIDE-795] Create a framework for deprecated functions + - [PYSIDE-795] Make the function registry more usable in Python modules + - [PYSIDE-795] Improve the NumPy Support by iterables + - [PYSIDE-820] Fix booleans and empty list cases in QSettings + - [PYSIDE-849] Add inject-code for QVideoFrame::bits() + - [PYSIDE-939] Add support for Python 3.8 + - [PYSIDE-939] Fix refcount issues with QSettings glue code + - [PYSIDE-939] Finalize the Python 3.8 refcount fix + - [PYSIDE-951] Support Pointer Primitive Types by Arrays or Result Tuples + - [PYSIDE-1007] Remove extra ref on QDataStream::setDevice + - [PYSIDE-1033] CMake modularization: macros creation + - [PYSIDE-1041] Enable multimedia classes after API fixup + - [PYSIDE-1047] QtWinExtras: Add QtWin namespace + - [PYSIDE-1051] Fix heaptype conflict with QtCore.QObject.__new__in Python 2.7 + - [PYSIDE-1052] Add QtCore.Slot.__signature__ and much more manually + - [PYSIDE-1059] Documentation: update QInputDialog snippets + - [PYSIDE-1066] Fix Xcode sdk value embedded into PySide2 binaries + - [PYSIDE-1067] Update docs style + - [PYSIDE-1067] New documentation structure + - [PYSIDE-1068] Add designer to the pyside tools + - [PYSIDE-1073] Fix a typing bug in Python 2.7 and update + - [PYSIDE-1077] Fix wrong Python init return codes + - [PYSIDE-1079] signature: Support typing.Optional[T] and refine a bit + - [PYSIDE-1089] Fix formatting of the deployment documentation + - [PYSIDE-1093] Fix bad shutdown effect on QApplication.instance() + - [PYSIDE-1098] Replace pyside2-uic/pyside2-rcc by + uic/rcc which now have an option to generate Python + - [PYSIDE-1101] Remove QGraphicsItem::scroll from QtChart + - [PYSIDE-1140] Add python_requires to the python setup + - [QTBUG-66304] Blacklist failing QtPositioning test + + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-454] Fix crash when smartptr template class cannot be found + - [PYSIDE-1037] Allow for "auto" as target of type for CONVERTTOCPP in injected code + - [PYSIDE-1095] Fix handling of modified default expressions diff --git a/doc/changelogs/changes-5.14.1 b/doc/changelogs/changes-5.14.1 new file mode 100644 index 0000000..b7441f3 --- /dev/null +++ b/doc/changelogs/changes-5.14.1 @@ -0,0 +1,35 @@ +Qt for Python 5.14.1 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [PYSIDE-841] Add example for Threads and Signals + - [PYSIDE-1135] qApp: Ensure QtCore import when embedded QApplication subclass is used + - [PYSIDE-1158] Let qApp be noApp instead of pretending to be None + - [PYSIDE-1164] qApp: make sure to create the right instance when embedding + - [PYSIDE-1165] designer: patch rpath for unix + - [PYSIDE-1192] libpyside: Set default signal name only if previously assigned + - [PYSIDE-1201] docs: Fix pre overlap and improve reading + - [PYSIDE-1205] libpyside: avoid freeing char* + - [PYSIDE-1207] Fix ownership of QTextDocument::createObject + + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-1191] shiboken: Introduce "until" version attribute as opposite of "since" diff --git a/doc/changelogs/changes-5.14.2 b/doc/changelogs/changes-5.14.2 new file mode 100644 index 0000000..3473d41 --- /dev/null +++ b/doc/changelogs/changes-5.14.2 @@ -0,0 +1,66 @@ +Qt for Python 5.14.2 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [PYSIDE-135] Add doc getter for Property + - [PYSIDE-239] Python enum types can now be used as a valid signal type. + - [PYSIDE-939] Fix Python 3.8 warnings about deprecated int conversions of + enums/flags + - [PYSIDE-571] qApp has been turned into a normal Python variable. This + implies that QtWidgets.qApp no longer works; + it should be replaced by qApp. + - [PYSIDE-803] GUI slowdowns caused by background threads have been fixed by + reducing GIL allocation and usage of + Py_(BEGIN|END)_ALLOW_THREADS. + - [PYSIDE-858] Windows binaries are now signed. + - [PYSIDE-939] Fix testrunner for Python 3.8/Linux + - [PYSIDE-946] Add functions with callback of QWebEnginePage + - [PYSIDE-1231] Further issues introduced by Python 3.8 have been addressed: + - Warnings about deprecated int conversions of enumerations + and flags have been fixed. + - Packages can now be built with Python 3.8.1. + - Tests run with Python 3.8.1. + - [PYSIDE-1189] A crash caused by wrong ownership of the return value of + QList/QTable/QTreeWidget.mimeData() has been fixed. + - [PYSIDE-1199] The webchannel standalone example has been added. + - [PYSIDE-1204] QByteArray now properly supports the PyBuffer interface. + - [PYSIDE-1214] For accessors returning non-exposed classes inheriting + QObject, the most-derived wrapper is now created. + - [PYSIDE-1229] testrunner: Fix disrupted lines in the error log + - [PYSIDE-1236] Fix running scriptableapplication in a virtualenv on Windows + with Python 3.8 + - [PYSIDE-1247] Avoid a signature warning in Python 3.6 + - [PYSIDE-1250] PySide2: Use int for QVariant conversion when possible + - [PYSIDE-1251] Invert QTreeWidgetItem clear function loop + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-803] The default of the "allow-thread" attribute has been changed + to false as it was observed to cause performance issues when + using threads. + - [PYSIDE-1112] The shiboken documentation has been re-structured. + - [PYSIDE-1228] Typedef'ed anonymous enums are now supported. + - [PYSIDE-1240] The manual test dumpcodemodel has been modified to output + typesystem XML, enabling convenient generation of typesystem + file skeletons for new bindings. + - [PYSIDE-1241] Improve error messages about invalid types of added functions + - [PYSIDE-1241] Enable flags types in added functions + - [PYSIDE-1246] Fix classes with virtual destructors not being considered + polymorphic diff --git a/doc/changelogs/changes-5.14.2.2 b/doc/changelogs/changes-5.14.2.2 new file mode 100644 index 0000000..63a7a91 --- /dev/null +++ b/doc/changelogs/changes-5.14.2.2 @@ -0,0 +1,38 @@ +Qt for Python 5.14.2.2 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [PYSIDE-1100] Support type checking with the mypy module + - [PYSIDE-1236] samplebinding: Fix running with Python 3.8.2 on Windows + - [PYSIDE-1255] Fix memory corruption for QML registered types + - [PYSIDE-1271] QMutexLocker: allow-thread in constructor + - [PYSIDE-1272] signature: Add comparison for existing_doc type + - [PYSIDE-1285] qareaseries: keep references of lower/upper series + - [PYSIDE-1293] Windows: Fix encoding in custom message handler + - [PYSIDE-15] Support pickling of Qt Enum objects + - [PYSIDE-1223] Add QtUiTools.loadUiType + - [PYSIDE-1286] Implement __qualname__ and correct __module__ for classes + - [PYSIDE-1303] PySide2: Fix conversion of quintptr + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-1286] shiboken: Prepare for introduction of __qualname__ + - [PYSIDE-1298] libshiboken: Support musl libc + - [PYSIDE-1299] shiboken: Fix cross builds diff --git a/doc/changelogs/changes-5.14.2.3 b/doc/changelogs/changes-5.14.2.3 new file mode 100644 index 0000000..6f17bc4 --- /dev/null +++ b/doc/changelogs/changes-5.14.2.3 @@ -0,0 +1,35 @@ +Qt for Python 5.14.2.3 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [PYSIDE-1223] pyside2-uic instead of uic is not used for loadUiType() + - [PYSIDE-1257] Deployment with cx_freeze using zip_include_packages has + been fixed + - [PYSIDE-1282] A crash using QThread.terminate() on pthreads has + been fixed + - [PYSIDE-1311] The downloads functionality of the Tabbedbrowser example + has been fixed + - [PYSIDE-1321] A leaking reference in the PySide2 property getter has + been fixed + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-1325] Wrong generated code for default-initialized function + arguments ({}) has been fixed diff --git a/doc/changelogs/changes-5.15.0 b/doc/changelogs/changes-5.15.0 new file mode 100644 index 0000000..77c8e7d --- /dev/null +++ b/doc/changelogs/changes-5.15.0 @@ -0,0 +1,49 @@ +Qt for Python 5.15.0 is a minor release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + + - [PYSIDE-487] Add API of Qt 5.15 + - [PYSIDE-487] Add support for QSerialPort + - [PYSIDE-487] Add QtQuickControls2 + - [PYSIDE-841] example: add systray example + - [PYSIDE-841] doc: add more videos from Qt events + - [PYSIDE-841] doc: add tutorial for using qrc files + - [PYSIDE-904] libpyside: Remove deprecated API + - [PYSIDE-904] Add support for template type aliases + - [PYSIDE-957] Add a tool to dump meta objects of QObject-derived classes + - [PYSIDE-1280] Enable injecting raw code for setattro/getattro + - [PYSIDE-1309] Rename and update some snippets + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-454] shiboken: Add a way of specifying system includes to be parsed + - [PYSIDE-454] shiboken: Handle smart pointers with const pointees + - [PYSIDE-904] libshiboken: Remove deprecated API + - [PYSIDE-957] shiboken: Fix refcounts of sbkenum + - [PYSIDE-990] shiboken: Handle inline namespaces + - [PYSIDE-1024] shiboken: Make it possible to specify smartpointer instantiations + - [PYSIDE-1074] shiboken: Fix classes in hidden namespaces + - [PYSIDE-1188] shiboken: Fix shared pointer return value in virtual function + - [PYSIDE-1265] shiboken: Introduce a separate logging category for documentation generation + - [PYSIDE-1265] shiboken: Change debug messages to use qCInfo and remove some messages + - [PYSIDE-1267] shiboken: Allow for parsing headers under system include paths + - [PYSIDE-1296] shiboken: Support non-type template parameters in functions + diff --git a/doc/changelogs/changes-5.15.1 b/doc/changelogs/changes-5.15.1 new file mode 100644 index 0000000..8627d3e --- /dev/null +++ b/doc/changelogs/changes-5.15.1 @@ -0,0 +1,67 @@ +Qt for Python 5.15.1 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + + - [PYSIDE-74] Implement default __ne__ and __eq__ for all PySide types + - [PYSIDE-198] Add compatibility with Nuitka + - [PYSIDE-829] signature: Avoid non-existent attributes in compiled code (Nuitka) + - [PYSIDE-841] doc: Add widget styling tutorial + - [PYSIDE-841] add quick painteditem example + - [PYSIDE-904] Add QObject.findChildren(QRegularExpression) + - [PYSIDE-904] qp5_tool.py: Add an configuration key for the CMake generator + - [PYSIDE-904] Port some examples from QRegExp to QRegularExpression + - [PYSIDE-904] Fix libsample/photon test for Qt 6 / Windows + - [PYSIDE-904] Enable adding operators ==, != as functions without code injection + - [PYSIDE-957] Implement the QEnum/QFlag decorator, V2 + - [PYSIDE-981] Return QVariantList when using list as Signal argument + - [PYSIDE-1019] feature-select: Implement a selectable feature framework + - [PYSIDE-1019] feature-select: allow snake_case instead of camelCase for methods + - [PYSIDE-1019] feature-select: delay the feature switching + - [PYSIDE-1223] Use pyside2-uic instead of uic for the loadUiType + - [PYSIDE-1257] Potential fix for deploying with cx_freeze using zip_include_packages + - [PYSIDE-1282] pthreads: Try to abandon the GIL in case a thread was terminated + - [PYSIDE-1292] Doc: Enable doc builds using the offline template + - [PYSIDE-1313] basewrapper.cpp: add PyErr_Fetch/Restore in SbkDeallocWrapperCommon() + - [PYSIDE-1317] Add QSocketDescriptor class + - [PYSIDE-1321] Fix leaking reference in PySide2 property getter + - [PYSIDE-1321] Fix some leaks in enumeration creation + - [PYSIDE-1323] Add missing Win runtime dll into win wheels + - [PYSIDE-1323] Update vcredist binaries for MSVC 2019 + - [PYSIDE-1332] Fix crashes in QThread::wait(), QWaitCondition::wait() + - [PYSIDE-1349] QQmlComponent: allow thread in constructors + - [PYSIDE-1353] doc: fix Property indentation + - [PYSIDE-1355] Add Qt3DExtras.QNormalDiffuseMapAlphaMaterial + - [PYSIDE-1368] __feature__: ignore if `__name__` does not exist in a module + - [PYSIDE-1372] QDomElement: remove unnecesary setAttribute overloads + - [PYSIDE-1374] Add the QWidget *-based overloads of the QtWinExtras functions + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + * shiboken now accepts multiple headers on the command line. + * A number of error and warning messages have been prefixed by file name + and line for better tooling. + - [PYSIDE-841] Add custom widget shiboken example + - [PYSIDE-904] shiboken2: Handle virtual methods returning a reference + - [PYSIDE-1019] shiboken2: Re-add support for parsing Q_PROPERTY + - [PYSIDE-1177] shiboken: Fix __doc__ setter for derived types + - [PYSIDE-1325] shiboken: Fix default-initialized function arguments + - [PYSIDE-1327] shiboken: Resolve typedef'ed base classes + diff --git a/doc/changelogs/changes-5.15.2 b/doc/changelogs/changes-5.15.2 new file mode 100644 index 0000000..0baf774 --- /dev/null +++ b/doc/changelogs/changes-5.15.2 @@ -0,0 +1,70 @@ +Qt for Python 5.15.2 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + + +**************************************************************************** +* Important Source Incompatible/Behavior Changes * +**************************************************************************** + +- Projects generating bindings for Qt-based code no longer need to include + pyside2_global.h for the property and signal/slot annotations to work. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + + - [PYSIDE-487] Some missing enumerations and classes were added. + - [PYSIDE-644] QNetworkCookie was added to WebEngineCore. + - [PYSIDE-665] A crash when reimplementing QLayout.takeAt() was fixed. + - [PYSIDE-807] setup.py was rewritten to properly show options the in command + help. + - [PYSIDE-972] Launching PySide2 from paths with non-ASCII Latin1 characters + was fixed. + - [PYSIDE-1019] feature_select: Qt Properties are now represented as Python + properties. + - [PYSIDE-1070] A crash when overriding QUiLoader::createWidget() in QUiLoader + was fixed. + - [PYSIDE-1082] A crash when creating QMimeData from + Q(Plain)TextEdit::createMimeDataFromSelection() was fixed. + - [PYSIDE-1202] More classes from QtConcurrent were added. + - [PYSIDE-1224] The namespace QColorConstants was added. + - [PYSIDE-1326] Operators for QFlags on hidden top level namespace are now + generated. + - [PYSIDE-1354] Slots being invoked from the wrong thread were fixed. + - [PYSIDE-1381] The dependency of the QtQml module header on internal header + pysideqmlregistertype.h was removed. + - [PYSIDE-1385] Deprecated wheel.pep425tags imports were removed. + - [PYSIDE-1390] setup.py: The build_rst_docs command was added to build + rst documentation only + - [PYSIDE-1397] Functions taking a smart pointer now accept smart pointers to + base classes. + - [PYSIDE-1410] QAxBase::dynamicCall() was fixed. + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-841] The documentation on modifications was restructured. + - [PYSIDE-904] An attribute for generating "using namespace" was added. + - [PYSIDE-1019] A way of specifying properties for non-Qt classes in + typesystem XML was added. + - [PYSIDE-1075] Functions from invisible namespaces are now generated into + their parent namespaces. + - [PYSIDE-1224] Variables in namespaces are now generated. + - [PYSIDE-1366] The order of overloads may now be specified to work around + problems with the order generated by the overload decisor. + - [PYSIDE-1388] Final classes with protected methods when disabling the + protected hack are now correctly generated. diff --git a/doc/changelogs/changes-5.15.3 b/doc/changelogs/changes-5.15.3 new file mode 100644 index 0000000..fe79598 --- /dev/null +++ b/doc/changelogs/changes-5.15.3 @@ -0,0 +1,46 @@ +Qt for Python 5.15.3 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide2 * +**************************************************************************** + + - [PYSIDE-454] namespace std is no longer rejected in the Qt typesystem + files. + - [PYSIDE-807] setup.py's 'clean' command has been fixed. + - [PYSIDE-1305] The error handling of constructor keyword arguments has been + fixed. + - [PYSIDE-1422] A crash related to Signal and __eq__ has been fixed. + - [PYSIDE-1432] An ownership issue in QLayout::replaceWidget() has been fixed. + - [PYSIDE-1442] QFlags operations have been fixed. + - [PYSIDE-1447] A crash related to qApp and Python 3.9 has been fixed. + - [PYSIDE-1449] QTestlib's QAbstractItemModelTester has been added. + - [PYSIDE-1460] An infinite loop changing up directories in the signature + bootstrap code has been fixed. + - [PYSIDE-1466] The newly introduced overload QSetting.value() taking a type + has been documentated. + - [PYSIDE-1478] A bug related to using QQmlContext.setContextProperty() + with the snake case feature has been fixed. + +**************************************************************************** +* Shiboken2 * +**************************************************************************** + + - [PYSIDE-1347] Inheritance for enum types has been fixed. + - [PYSIDE-1448] Code injected at target/end being invoked for multiple + overload ids has been fixed. + - [PYSIDE-1470] shiboken.delete() can now be used to delete Q*Application. + - [PYSIDE-1501] The clang parser has been fixed to be able to handle some + Boost headers. diff --git a/doc/changelogs/changes-6.0.0 b/doc/changelogs/changes-6.0.0 new file mode 100644 index 0000000..f3d3fff --- /dev/null +++ b/doc/changelogs/changes-6.0.0 @@ -0,0 +1,17 @@ +Qt for Python 6.0.0 is a new major version release. It is not compatible with +earlier Qt for Python releases. + +The goal has been to retain as much source compatibility with +Qt for Python Qt 5.15 as possible, but some changes were inevitable. + +To make it easier to port to Qt for Python 6.0.0, we have created a porting +guide to summarize those changes and provide guidance to handle them. In +the guide, you can find links to articles about changes that may affect +your application and help you transition from Qt for Python 5.15 to +Qt for Python 6.0.0: + +https://doc.qt.io/qtforpython-6/porting_from2.html + +For more details refer to the online documentation of Qt for Python 6.0.0: + +https://doc.qt.io/qtforpython/ diff --git a/doc/changelogs/changes-6.0.1 b/doc/changelogs/changes-6.0.1 new file mode 100644 index 0000000..47e37ba --- /dev/null +++ b/doc/changelogs/changes-6.0.1 @@ -0,0 +1,48 @@ +Qt for Python 6.0.1 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - [PYSIDE-454] Remove rejection of namespace std in Qt bindings + - [PYSIDE-510] signature: Fix the parser regex for Qt6 + - [PYSIDE-841] scriptable application/Unix: Remove setting of PYTHONHOME + for virtualenv + - [PYSIDE-841] scriptable application: Actually expose the generated + module + - [PYSIDE-1019] feature: delete setter after creating property only for + standard naming + - [PYSIDE-1019] feature: Fix a flag error when no snake_case is selected + - [PYSIDE-1447] qApp: fix flag handling in Python 3.8+ and a Python 3.9 + issue + - [PYSIDE-1449] PySide6: Add QTestlib's QAbstractItemModelTester + - [PYSIDE-1456] designer: add rpath for linux + - [PYSIDE-1460] signature: Fix infinite loop changing up directories on + Windows shares + - [PYSIDE-1463] feature: Disable selection while creating a type + - [PYSIDE-1466] QSetting.value add overload documentation + - [PYSIDE-1469] build_scripts: fix get_config_var for Big Sur + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-487] Guard against repeated invocation of the module + init function + - [PYSIDE-1448] Fix code injected at target/end being invoked for + several overload ids + - [PYSIDE-1470] Allow to use shiboken.delete() to delete Q*Application + diff --git a/doc/changelogs/changes-6.0.2 b/doc/changelogs/changes-6.0.2 new file mode 100644 index 0000000..1b4feb5 --- /dev/null +++ b/doc/changelogs/changes-6.0.2 @@ -0,0 +1,30 @@ +Qt for Python 6.0.2 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - [PYSIDE-1478] A bug related to using QQmlContext.setContextProperty() + with the snake case feature has been fixed. + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-841] A number of bugs in the documentation generation code have + been fixed. + - [PYSIDE-1501] The clang parser has been fixed to be able to handle some + Boost headers. diff --git a/doc/changelogs/changes-6.0.3 b/doc/changelogs/changes-6.0.3 new file mode 100644 index 0000000..3098e4d --- /dev/null +++ b/doc/changelogs/changes-6.0.3 @@ -0,0 +1,31 @@ +Qt for Python 6.0.3 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - [PYSIDE-955] QOpenGLVersionFunctionsFactory has been added. + - [PYSIDE-1112] The documentation has been overhauled, particularly the + examples, deployment and porting sections. + - [PYSIDE-1511] QOpenGLFunctions.glShaderSource()/glGetShaderSource() have + been added. + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-1515] libclang's build type is now correctly determined. + diff --git a/doc/changelogs/changes-6.0.4 b/doc/changelogs/changes-6.0.4 new file mode 100644 index 0000000..7666a00 --- /dev/null +++ b/doc/changelogs/changes-6.0.4 @@ -0,0 +1,31 @@ +Qt for Python 6.0.4 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - [PYSIDE-841] Further examples have been added (editable Json Model, + Paintbrush like example, matplotlib and downloader). + - [PYSIDE-1540] The performance of QPainter::drawPoints(QPolygon) has been + improved. + - [PYSIDE-1544] std::pair has been adedd as a container. + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-1529] A potential crash when registering static fields has been + fixed. diff --git a/doc/changelogs/changes-6.1.0 b/doc/changelogs/changes-6.1.0 new file mode 100644 index 0000000..bf74218 --- /dev/null +++ b/doc/changelogs/changes-6.1.0 @@ -0,0 +1,50 @@ +Qt for Python 6.1.0 is a minor release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + * QtOpenGLFunctions have been moved into QtOpenGL. + * Examples habe been improve: brush up, use snake_case, add new ones, etc + - [PYSIDE-535] PyPy-compatibility was improved by: Avoid the + __builtins__ quirk and import builtins, instead + - [PYSIDE-1019] Confusing import error messages causes by feature-import + have been fixed. + - [PYSIDE-1425] The broken encoding of QCoreApplication.arguments() on + Windows has been fixed. + - [PYSIDE-1455] Bindings for the Qt Designer libraries have been added + - [PYSIDE-1455] A Qt Designer plugin has been added, allowing for creating + custom widgets in Python. (Experimental Support) + - [PYSIDE-1482] Active Qt, QtCharts, QtDataVisualization and QStateMachine + have been re-added. The namespaces from QtCharts and + QtDataVisualization have been removed. + - [PYSIDE-1503] Overloads using numpy-arrays of x,y data have + been added to functions taking lists of QPointF. + (Experimental support depending on option + --pyside-numpy-support to setup.py) + - [PYSIDE-1520] Implicit C++ conversions generated by shiboken are now + reflected as typing.Union[]. + - [PYSIDE-1523] Nuitka: Allow for compiled functions and methods, too. + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-504] --avoid-protected-hack can now be used with gcc, clang + as well. + - [PYSIDE-1338] Add option to use global headers + - [PYSIDE-1477] clang options can now be specified using command line + options or project files, allowing for cross-compiling. diff --git a/doc/changelogs/changes-6.1.1 b/doc/changelogs/changes-6.1.1 new file mode 100644 index 0000000..f673e8b --- /dev/null +++ b/doc/changelogs/changes-6.1.1 @@ -0,0 +1,36 @@ +Qt for Python 6.1.1 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - A crash in QCustom3DVolume::setTextureData() has been fixed. + - Crashes in QClipboard.mimeData(), QTextCursor.currentList() and + QTextCursor.currentTable() have been fixed. + - The internal mechanism to create .pyi files was generalized into a + general usage tool. + - The Qt Designer plugin which was not working on macOS is now fixed. + - General improvement to examples and documentation. + - [PYSIDE-1019] __feature__: Support generation of modified .pyi files and fixed + other issues. + - [PYSIDE-1570] PySide6: Adapt QtMultimedia to current state + - [PYSIDE-1563] Fixed crashes when using the QImage(uchar *) data constructors + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-1338] An option to use global headers was included. diff --git a/doc/changelogs/changes-6.1.2 b/doc/changelogs/changes-6.1.2 new file mode 100644 index 0000000..997a5d3 --- /dev/null +++ b/doc/changelogs/changes-6.1.2 @@ -0,0 +1,37 @@ +Qt for Python 6.1.2 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - [PYSIDE-1482] A number of missing classes, enumerations and functions have + been added. + - [PYSIDE-1160] QHostInfo.lookupHost() was added. + - [PYSIDE-1563] A previous fix the bug has been amended, fixing errors + about not holding the GIL when releasing QImage memory. + - [PYSIDE-1589] Slot access for compiled functions for Nuitka has been fixed. + - [PYSIDE-1593] The decorator of PyClassProperty has been corrected + and the class has been published. + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - It is now possible to specify a check function for custom types in the + typesystem. + - [PYSIDE-1588] The generated signatures now contain types replaced by + modifications. + diff --git a/doc/changelogs/changes-6.1.3 b/doc/changelogs/changes-6.1.3 new file mode 100644 index 0000000..858a203 --- /dev/null +++ b/doc/changelogs/changes-6.1.3 @@ -0,0 +1,49 @@ +Qt for Python 6.1.3 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - The Python Unicode API was updated to the newest + version when not in limited API mode, too. + - [PYSIDE-131] The `tr` function now works also for + PySide derived Python class instances with the right context, and + fix translation for derived types. + - [PYSIDE-1252] The tr() translation method of QObject + has been changed to be a class method. This makes it + possible to use tr() on a class without instantiation. + - [PYSIDE-1482] Add classes QChannel, QChannelComponent, QSharedMemory. + - [PYSIDE-1609] PySide6: Fix crashes in QObject.findChild() + - [PYSIDE-1614] Fix logging level being set when importing PySide6 + - [PYSIDE-1617] Fix leak in QML ListProperty type + - [PYSIDE-1621] signature: make zip file access totally virtual, + and make embedding aware. + - [PYSIDE-1626] feature: fix the UIC switching problem + - [PYSIDE-1629] PySide6: Fix crash with qmlRegisterSingletonType() when invoked from JavaScript + - [PYSIDE-1636] Fix GLES builds + - [PYSIDE-1646] Fix the signature mapping after enabling macOS primitive types + - [PYSIDE-1647] Fix crash when constructing a QApplication in an embedded application + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-1621] Embedding of supporting Python files + is now completely virtual. No FS files are involved any longer. + - [PYSIDE-1626] Coexistence of different feature + selections works now, especially for UIC files and inheritance. + - [PYSIDE-1112] shiboken6/Documentation: Add a link from code injection to type system variables + - [PYSIDE-1252] ApiExtractor: add classmethod attribute to add-function for tr() diff --git a/doc/changelogs/changes-6.2.0 b/doc/changelogs/changes-6.2.0 new file mode 100644 index 0000000..a31c117 --- /dev/null +++ b/doc/changelogs/changes-6.2.0 @@ -0,0 +1,222 @@ +Qt for Python 6.2.0 is a minor release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - Crashes in QClipboard.mimeData(), QTextCursor.currentList() and + QTextCursor.currentTable() have been fixed. + - The Python Unicode API was updated to the newest version when not in limited + API mode, too. + - The function QUrl.fromFilePath supports now the os.PathLike structure in + addition to string arguments. + - QMultiMap and QMultiHash are now converted to a dict of key/list of values + (corresponding to defaultdict). + - QThreadPool().start(std::function) and tryStart(std::function) have been + added. + + - [PYSIDE-131] The `tr` function now works also for PySide derived Python + class instances with the right context. + - [PYSIDE-487] Implement qmlRegisterSingletonInstance + - [PYSIDE-535] Tests which use reference counting need to be skipped in + upcoming PyPy builds. + - [PYSIDE-535] During replacement of type extender macros by functions, + a hidden enum/flags alias error was detected and fixed. + - [PYSIDE-1252] pyside6-lupdate and the related tools from Qt Linguist have + been re-added, enabling using the Qt translation system. + - [PYSIDE-1252] The tr() translation method of QObject has been changed to be + a class method. This makes it possible to use tr() on a class without + instantiation. + - [PYSIDE-1334] QObject.connect() now returns an instance of + QMetaObject.Connection which can be used to disconnect instead of a bool. + - [PYSIDE-1362] A crash in QCustom3DVolume::setTextureData() has been fixed. + - [PYSIDE-1378] Assistant is now shipped along with PySide. + - [PYSIDE-1436] Support Python 3.10 + - [PYSIDE-1436] Feature switching needs to reset the internal type cache. This + was an omittion that becomes relevant in Python 3.10 . + - [PYSIDE-1482] A number of missing classes from the qtbase, qt3d, + qtdeclarative. repository have been added. + - [PYSIDE-1482] A number of free functions from QtQml have been added. + - [PYSIDE-1482] QSharedMemory was added. + - [PYSIDE-1499] pathlib.Path gets additionally accepted for all function + arguments which have a std::filesystem::path type. + - [PYSIDE-1570] The QtDBus module has been added. + - [PYSIDE-1570] The QtNetworkAuth module has been added. + + - [PYSIDE-841] examples: clean and update code, add more screenshots, remove + version numbers from qml imports and new examples: dynamic spline, string + and object list models, markdowneditor, data surface, abstract list model + qml, opengl under qml, richtext/textedit, linguist, qsharedmemory. + - [PYSIDE-841] tutorials: update datavisualization and expenses + - [PYSIDE-862] Allow spaces in ClassInfo keys + - [PYSIDE-905] PySide6: Add Qt::FindChildOptions to QObject::findChild(ren) + - [PYSIDE-907] PySide6: Add QKey support for the setShortcut method + - [PYSIDE-1019] __feature__: Support generation of modified .pyi files and fix + default instances. + - [PYSIDE-1019] pyi_generator: Optimize imports + - [PYSIDE-1019] feature: move getFeatureSelectId to Shiboken and refactor + - [PYSIDE-1019] Shiboken: Remove cheating macros + - [PYSIDE-1033] cmake: Fix option --sanitize-address + - [PYSIDE-1112] sample binding: Document how to force MSVC in case CMake + detects clang + - [PYSIDE-1112] PySide6: Update documentation on Qt Designer and resource + files + - [PYSIDE-1160] PySide6: Expose QHostInfo.lookupHost() + - [PYSIDE-1252] PySide6: Add entry points for the Qt Linguist tools + - [PYSIDE-1252] ApiExtractor: add classmethod attribute to add-function for + tr() + - [PYSIDE-1252] ApiExtractor: add classmethod attribute to add-function, fix + - [PYSIDE-1329] PySide6: Fix signature of QObject.tr() + - [PYSIDE-1334] Return QMetaObject.Connection from QObject.connect() + - [PYSIDE-1362] Fix crash in QCustom3DVolume::setTextureData() + - [PYSIDE-1370] PySide6: Add QSharedMemory + - [PYSIDE-1378] PySide6: Add assistant executable + - [PYSIDE-1378] build scripts: Extract helper functions to patch executables + - [PYSIDE-1378] Build scripts/UNIX: Extract helper function to copy GUI + executables + - [PYSIDE-1378] PySide6: Add some information on the tools + - [PYSIDE-1415] Turn generate_pyi into a general pyi_generator tool + - [PYSIDE-1415] Remove SimpleNamespace Python Implementation + - [PYSIDE-1437] Revert "Allow calling CI's build scripts with python2" + - [PYSIDE-1438] Fix QSurfaceDataProxy::resetArray() crash + - [PYSIDE-1455] Turn off numpy support in libpyside by default + - [PYSIDE-1455] Fix Designer plugin to load on Linux/macOS, add hints for trouble-shooting. + - [PYSIDE-1467] PySide6: Fix signature of CoreApplication.instance() + - [PYSIDE-1482] Re-add QtMultimedia/Widgets, fix examples, and missing + classes. + - [PYSIDE-1482] PySide6/signature: Add PySideSignalInstance + - [PYSIDE-1482] libpyside: Add type check for PySideSignalInstanceType + - [PYSIDE-1482] Add classes QChannel, QChannelComponent, QSignalSpy and more + non-template QML functions + - [PYSIDE-1482] PySide6/QSignalSpy: Add constructor taking a signal + - [PYSIDE-1482] Add further global functions + - [PYSIDE-1482] VoidPtr: Add setters and getters for the size, and isWritable + - [PYSIDE-1499] cppgenerator: remove a left-over "this" to get rid of + a warning + - [PYSIDE-1499] build support for pathlib.Path, migrating examples, and qml load functions + - [PYSIDE-1523] Document the usage of Nuitka + - [PYSIDE-1556] Fix cmake argument for standalone macOS + - [PYSIDE-1563] Fix crashes when using the QImage(uchar *) data constructors + - [PYSIDE-1563] Revert "Fix crashes when using the QImage(uchar *) data + constructors" + - [PYSIDE-1563] Fix error about not holding the GIL when releasing QImage + memory + - [PYSIDE-1566] Fix Designer plugin to load on macOS + - [PYSIDE-1568] CMake: Rename the ENABLE_ platform variables + - [PYSIDE-1568] Remove QtX11Extras, QtMacExtras and per-platform typesystem + files + - [PYSIDE-1568] Introduce conditional processing instructions to typesystem + XML + - [PYSIDE-1570] Add QtDBus module, QtNetworkAuth QtWebEngineQuick and initial + Support for QtBluetooth + - [PYSIDE-1570] Re-add QtWebEngine + - [PYSIDE-1570] Fix assert when retrieving wrapper from different thread + - [PYSIDE-1571] PySide6: Add BluetoothServiceInfo::Alternative, Sequence + - [PYSIDE-1583] PySide6: Extend the porting guide + - [PYSIDE-1584] mdi/application examples: Fix startup without settings file + - [PYSIDE-1585] PySide6: Refactor qvariant conversion code + - [PYSIDE-1588] Use replaced types in functions signatures + - [PYSIDE-1589] nuitka: Fix slot access for compiled functions + - [PYSIDE-1593] PyClassProperty: Correct the decorator and publish the class + - [PYSIDE-1599] testing: enforce that .pyi files are always tested + - [PYSIDE-1609] PySide6: Fix crashes in QObject.findChild() + - [PYSIDE-1609] PySide6: Add a test for QObject.findChildren() by type + - [PYSIDE-1611] PySide6: Add missing API of QQuickFramebufferObject.Renderer + - [PYSIDE-1614] Fix logging level being set when importing PySide6 + - [PYSIDE-1617] Fix leak in QML ListProperty type + - [PYSIDE-1619] Add fallback case for QSettings.value + - [PYSIDE-1621] signature: make zip file access totally virtual + - [PYSIDE-1621] signature: update and make embedding aware + - [PYSIDE-1621] Remove signature loader completely from physical FS + - [PYSIDE-1623] PySide6: Add Qt Quick Controls 2 to the documentation + - [PYSIDE-1625] PySide6: Fix QMenu.exec_() + - [PYSIDE-1626] feature: fix the UIC switching problem + - [PYSIDE-1626] PySide6: Work around uic feature test failure + - [PYSIDE-1629] PySide6: Fix crash with qmlRegisterSingletonType() when + invoked from JavaScript + - [PYSIDE-1636] Fix GLES builds + - [PYSIDE-1639] Allow threads for QInputDialog templates, and QAbstractSocket methods. + - [PYSIDE-1646] Fix for OpenGL types on macOS + - [PYSIDE-1647] Fix crash when constructing a QApplication in an embedded + application + - [PYSIDE-1650] PySide6: Add QAccessible::installFactory() + - [PYSIDE-1650] PySide6: Add QAccessibleActionInterface + - [PYSIDE-1659] PySide6: Document QUiLoader restriction wrt signal/slot + connections + - [PYSIDE-1662] Fix Qt Quick painteditem example to work, and run from + a different directory + - [PYSIDE-1663] Add QWebEnginePage::setWebChannel(QWebChannel*,quint32) + + - [QTBUG-75870] qtpaths is now used to query Qt properties. + - [QTBUG-75870] build scripts: Remove qtchooser handling, replace qmake mkspec + parsing by cmake, and introduce qtpaths as qmake replacement + - [QTBUG-95649] Disable gestures from QtSensors + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-535] Accept empty dicts as alternative to setting unused + keyword dicts to nullptr. + - [PYSIDE-535] The type extension macros are replaced by normal function + calls. This is not only a pre-requisite for PyPy support but also an + improvement of type safety. + - [PYSIDE-535] Type creation was completely encapsulated. The + implementation can now be rewritten for PyPy. + - [PYSIDE-535] Define SbkObjectType to be a PyTypeObject, and remove + SbkObjectType from the API + - [PYSIDE-535] SbkObjectType is now a typedef for PyTypeObject and + SbkType_FromSpec() has been changed to return a PyType_Object *. + - [PYSIDE-535] It is now possible to derive classes from enum types like + `QtCore.Key` in earlier Python versions. + - [PYSIDE-1334] operator bool can now be used for bool conversions + (nb_bool) besides Qt-style isNull() methods. + - [PYSIDE-1436] The Zip importer was rewritten for the Python 3.4 API + which avoids warnings in Python 3.10 . + - [PYSIDE-1436] The parser for .pyi files needed an update because of + undocumented changes in typing.py for Python 3.10 . + - [PYSIDE-1436] Binary flags operators did check cppArg only, but not + cppSelf. This is necessary when arguments are swapped. Recognized in + Python 3.10 due to improved error checks in debug mode. + - [PYSIDE-1436] A very old refcounting bug from 2012 in the sample XML + led to a crash in Python 3.10 . This bug was found because the refcounting + of Python is more exact, now. + - [PYSIDE-1588] It is now possible to specify a function argument type + to appear in the .pyi files. + - [PYSIDE-1605] Support for opaque C++ sequence scontainers has been added, + allowing to pass a wrapped C++ container directly instead of converting + it back and forth from Python sequences. + - [PYSIDE-1626] Coexistence of different feature selections works now, + especially for UIC files and inheritance. + - [PYSIDE-1621] Python support files are now always embedded. There is + no longer a physical copy installed in the file system. + - [PYSIDE-1637] The temporary alias shiboken6.shiboken6 for + the Shiboken module was removed. Now there is an unambiguous + shiboken6.Shiboken, only. + - [PYSIDE-1653] The handling of hidden base class member functions and + using declarations has been fixed. + - [PYSIDE-1655] stack-use-after-scope ASAN issues in the type system parser + have been fixed. + - [PYSIDE-1660] CPython types like PyObject, PySequence are now built into + shiboken6 and no longer need to be specified in the typesystem files. + - [PYSIDE-1568] Construction of abstract classes whose C++ wrapper is disabled + has been disabled. + - It is now possible to specify a check function for custom types in the + typesystem. + - A new, simpler normalization function has been introduced for signatures + of added functions (which means for example that const-ref is preserved). + - The replacement of %PYARG_0 in C++ wrapper classes (native) has been + improved and no longer requires adding casts to PyObject *. diff --git a/doc/changelogs/changes-6.2.1 b/doc/changelogs/changes-6.2.1 new file mode 100644 index 0000000..227ac81 --- /dev/null +++ b/doc/changelogs/changes-6.2.1 @@ -0,0 +1,45 @@ +Qt for Python 6.2.1 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - [PYSIDE-610] Enable the SSL methods of QWebSockets + - [PYSIDE-841] Add a signals and slots tutorial + - [PYSIDE-841] Add examples: barchart, areachart, tab dialog, screenshot + relational table model, btscanner, rendercontrol_opengl, + and the 'adding' from the QML reference. + - [PYSIDE-1631] Add qmlRegister functions taking a library URL + - [PYSIDE-1673] Fix QObject.property() for QFlag types + - [PYSIDE-1674] Expose QVideoFrame::bits(int) + - [PYSIDE-1681] Fix hang in QQmlApplicationEngine functions with message + handler + - [PYSIDE-1685] Fix constructing a QFont from a family string + - [PYSIDE-1691] Add QCborTag + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-656] Overridden virtual methods are now always correctly + finalized, regardless of errors. + - [PYSIDE-1669] An option to disable implicit conversions has been added. + - [PYSIDE-1605] Getters returning containers by reference can now be modified + to return an opaque container by modifying the return type + accordingly. + - [PYSIDE-1660] Document builtin custom types + - [PYSIDE-1686] Adapt to LLVM 12.01 + - [PYSIDE-1691] Handle enums without values diff --git a/doc/changelogs/changes-6.2.2 b/doc/changelogs/changes-6.2.2 new file mode 100644 index 0000000..58d13d5 --- /dev/null +++ b/doc/changelogs/changes-6.2.2 @@ -0,0 +1,76 @@ +Qt for Python 6.2.2 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - pyside.h no longer includes QML headers. + - [PYSIDE-1666] sets are now supported for functions taking a QSet. + - [PYSIDE-1670] When a property would override an existing function with + multiple arity or parameters, append an underscore to the property name. + - [PYSIDE-1675] Error message are more correct now when indexed generic + types are involved like Union, Sequence and Iterable. + - [PYSIDE-535] PyPySide: fix tests and improvements. + - [PYSIDE-802] coin: Don't prepend /bin: to PATH on Linux hosts + - [PYSIDE-803] Allow threads in QtGui.QTextDocument.print_ + - [PYSIDE-841] Add new QML examples: 'properties', 'coercion', 'methods', 'default' + - [PYSIDE-841] Add new widgets examples: 'blurpicker', and 'dragable icons' + - [PYSIDE-1033] setup.py: Don't add the Qt prefix dir to PATH env var before + building + - [PYSIDE-1431] Fix equality test for inherited signals + - [PYSIDE-1520] mypy-support: Improve handling of slots, enum and PathLike + - [PYSIDE-1547] Use legacy OpenGL option to build on linux + - [PYSIDE-1669] Fix QIcon.addPixmap() to accept a PyPathLike argument + - [PYSIDE-1670] __feature__: handle properties with function overloads + - [PYSIDE-1675] Signature: re-implement error messages for generic types + - [PYSIDE-1675] signature: avoid false positives in .pyi import + - [PYSIDE-1696] Fix QFlags comparison to self + - [PYSIDE-1701] Fix invalid drawing of horizontal lines in the Qt Designer + taskmenu example + - [PYSIDE-1703] Fix build with MSVC 19.29.30136 + - [PYSIDE-1708] Add QtQuick3D module + - [PYSIDE-1709] Add a QmlUncreatable and QmlSingleton decorators + - [PYSIDE-1710] signature: improve error handling for embedded applications + - [PYSIDE-1714] Add a sequence protocol for QRegion + - [PYSIDE-1715] Fix crash when connecting slot after disconnecting non- + existent connection to same slot + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-454] Add further methods to smart pointers: reset() and null-check, + tests for operator nb_bool, and handling None parameter. + - [PYSIDE-535] Remove type patching of PyType_Type and fix the meta type of + enum. + - [PYSIDE-1499] The implicit conversion of icon.addPixmap(str) was replaced + by an explicit version which takes PyPathLike. + - [PYSIDE-1675] The .pyi file generation was improved to have correct + slot(), PathLike and better enum handling. + - [PYSIDE-1691] When qualifying function argument default values for the + generated code, shiboken no longer considers each identifier it cannot + otherwise find as an enum value and no longer adds the class scope to it. + This may require manually adding some replace-default-expression + modifications. + - [PYSIDE-1710] Error handling was improved for embedded applications and + builtin modules are trusted as valid modules. + - [PYSIDE-1666] Handle PySets as function parameters + - [PYSIDE-1684] Do not crash when class cannot be found in the overload + sorter + - [PYSIDE-1691] Added CborTag: improvements were included in shiboken + to support this class. + - [PYSIDE-1697] Fix a leak in keyword arguments handling + - [PYSIDE-1703] Fix some integer types in test type systems diff --git a/doc/changelogs/changes-6.2.3 b/doc/changelogs/changes-6.2.3 new file mode 100644 index 0000000..d54c964 --- /dev/null +++ b/doc/changelogs/changes-6.2.3 @@ -0,0 +1,56 @@ +Qt for Python 6.2.3 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - __repr__ functions for QEvent-derived classes were added. + - audio source, mimetype browser, borderlayout, threadedqopenglwidget and + regular expression examples were added. + - A debugging tutorial was added. + - [PYSIDE-1318] The MyPy display of `Signal` was corrected so that the + relationship of `Signal` and `SignalInstance` is reflected. + - [PYSIDE-1431] Signal instances allow pass-through of methods with the same + name, explicitly and with multiple inheritance. + - [PYSIDE-1675] A crash when inserting a signal into a non-QObject was fixed. + - [PYSIDE-1675] A bug fix in Slot.__call__ was fixed. + - [PYSIDE-1675] A segfault when a signal is applied to a non-QObject was + fixed. + - [PYSIDE-1725] Documentation: classes in inheritance diagrams are now + clickable (within one module). + - [PYSIDE-1726] The build for the case when no Vulkan is installed was fixed. + - [PYSIDE-1727] The signature and __doc__ attribute of classes issue was + fixed. + - [PYSIDE-1730] A pass-through for signals in case of multiple inheritance + was added. + - [PYSIDE-1736 QQmlApplicationEngine.load(str) was fixed. + - [PYSIDE-1755] __code__ inspection on slot connections was fixed. + - [PYSIDE-1757] The error handling of true_property was improved. + - [PYSIDE-1769] A crash in WebEngine signal emissions was fixed. + - [PYSIDE-1770] Enum QXYSeries.PointConfiguration was added. + - [PYSIDE-1792] allow threads was added to QFileDialog's static functions + (getSaveFileName(), etc.). + - [QTBUG-95010] New Multimedia functions were added + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-1605] Bindings for reserve()/capacity() were added to contiguous + opaque containers. + - [PYSIDE-1766] The documentation on the conversion-rule tag was updated + and native-to-target/target-to-native can now be used in argument + conversion rules. diff --git a/doc/changelogs/changes-6.2.4 b/doc/changelogs/changes-6.2.4 new file mode 100644 index 0000000..dff01c3 --- /dev/null +++ b/doc/changelogs/changes-6.2.4 @@ -0,0 +1,42 @@ +Qt for Python 6.2.4 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - [PYSIDE-1702] snake_case handling now does explicitly not touch user + defined classes. + - [PYSIDE-1705] Properties are now usable in constructors of classes in any + combination of snake_case and true_property. + - [PYSIDE-1765] The snake_case feature is now more complete since it renames + hidden methods, too. Overriding was enabled. + - [PYSIDE-1252] The entry points for UI tools on macOS have been fixed. + - [PYSIDE-1798] QVariant can now be converted to Enum types. + - [PYSIDE-1804] A bug in QByteArray::__msetitem__() on big + endian architectures has been fixed. + - [PYSIDE-1815] QAbstractOAuth.setModifyParametersFunction() has been added + - [PYSIDE-1824] QLowEnergyServiceData.characteristics() has been fixed. + - [PYSIDE-1826] A life cycle issue with + QQuickAsyncImageProvider.requestImageResponse() + has been fixed. + - [PYSIDE-1827] Signals/slots with non-QObject object types have been + fixed. + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-1806] A configure check for the clang version has been added. diff --git a/doc/changelogs/changes-6.3.0 b/doc/changelogs/changes-6.3.0 new file mode 100644 index 0000000..8114ce9 --- /dev/null +++ b/doc/changelogs/changes-6.3.0 @@ -0,0 +1,214 @@ +Qt for Python 6.3 is a minor release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - The PySide wheels have been split. There is now a PySide6-Essentials + and a PySide6-Addons wheel. The PySide6 wheel has been kept as a convenience + to install all modules. + - The QtNfc module has been added. + - New QML tools have been added: pyside6-metaobjectdump, pyside6-qmltyperegistrar + and pyside6-qmllint. + - Several class decorators have been added for QML: QmlAttached, + QmlExtended, QmlForeign, QmlNamedElement, QmlSingleton and QmlUncreatable. + - class QPyQmlPropertyValueSource for implementing QML value + property sources has been added. + - QML code has been split out from libpyside into a new library libpysideqml. + libpyside thus no longer depends on QtQml and pyside.h no longer includes QML + headers. pyside.h has been split into smaller headers. + - The setup.py --qmake option is deprecated starting with Qt 6.3. Use the + --qtpaths option instead. + - Build directories are now created inside the root ./build directory, + rather than directly under the root of the project. + - A context manager for override cursors has been added. It is now possible + to write code like: with QApplication.setOverrideCursor(Qt.WaitCursor):... + - A completely new development was done to support the fast PyPy implementation. + A listing of all the necessary steps can be found in the extra documentation + for PyPy with PySide in ./doc/pypyside.rst . + + - [PYSIDE-535] Support for PyPy was added. Examples were fixed and adapted to + use context managers, for example for QPainter, to ensure + proper deletion. + - [PYSIDE-535] QPainter has become a context manager. Using a with statement + saves the need to call painter.end() . + - [PYSIDE-610] The SSL methods of QWebSockets were enabled. + - [PYSIDE-802] Support for cross-building was added. + - [PYSIDE-841] New tutorials were added: Debugging Tutorial and Signals + and slots. + - [PYSIDE-841] New examples were added: areachart, audiosource, barchart, + blurpicker, borderlayout, btscanner, dragable icons, + mimetypebrowser, relational table model, rendercontrol_opengl, + screenshot, tab dialog and threadedqopenglwidget. + - [PYSIDE-841] Further QML reference examples were added: binding, coercion, + default, extended, grouped, methods, properties and + valuesource. + - [PYSIDE-1318] The MyPy display of `Signal` was corrected so that the + relationship of `Signal` and `SignalInstance` is reflected. + - [PYSIDE-1431] Signal instances allow pass-through of methods with the same + name, explicitly and with multiple inheritance. + - [PYSIDE-1431] Signal initialization now respects the order of subclasses + in the mro(). + - [PYSIDE-1670] When a property overrides an existing function with + multiple arity or parameters, an underscore is appended to + the property name. + - [PYSIDE-1675] Error message are more correct now when indexed generic + types are involved like Union, Sequence and Iterable. + - [PYSIDE-1675] A crash when inserting a signal into a non-QObject was + fixed. + - [PYSIDE-1702] snake_case handling now does explicitly not touch user + defined classes. + - [PYSIDE-1705] Properties are now usable in constructors of classes in any + combination of snake_case and true_property. + - [PYSIDE-1746] The byte-compiling of example files is now suppressed to + reduce wheel size. + - [PYSIDE-1758] A left-over replacement of the interactive underscore + variable when QApplication is created was removed. + - [PYSIDE-1760] A race condition caused by the move from distutils to + setuptools with certain Python builds was fixed. + - [PYSIDE-1765] true_property overriding was enabled. + - [PYSIDE-1765] The snake_case feature is now more complete since it renames + hidden methods, too. + - [PYSIDE-1788] __repr__ functions for some QEvent-derived classes were + added. + - [PYSIDE-1252] Entry points for UI tools on macOS were fixed. + - [PYSIDE-1318] mypy-support: The handling of `Signal` was improved. + - [PYSIDE-1431] The equality test for inherited signals was fixed. + - [PYSIDE-1499] The implicit conversion of icon.addPixmap(str) was replaced + by an explicit version which takes PyPathLike. + - [PYSIDE-1520] mypy-support: The handling of slots, enum and PathLike + was improved. + - [PYSIDE-1547] The legacy OpenGL option is now used to build on linux, + removing a dependency to vendor-specific OpenGL libraries. + - [PYSIDE-1605] An opaque container are now used for OpenGL in the + hellogl2 example. + - [PYSIDE-1631] The qmlRegisterType() overload taking a library URL was + added. + - [PYSIDE-1673] QObject.property() was fixed for QFlag types. + - [PYSIDE-1674] QVideoFrame::bits(int) was added. + - [PYSIDE-1675] MyPy support has been improved. + - [PYSIDE-1675] A bug in Slot.__call__ was fixed. + - [PYSIDE-1675] A segfault when signal was applied to non-QObject was fixed. + - [PYSIDE-1681] A hang in QQmlApplicationEngine functions with message + handlers was fixed. + - [PYSIDE-1685] Constructing a QFont from a family string was fixed. + - [PYSIDE-1691] Class QCborTag was added. + - [PYSIDE-1696] QFlags comparison to self was fixed. + - [PYSIDE-1701] A bug in the TicTacToe Qt Designer taskmenu example was fixed. + - [PYSIDE-1702] __feature__: snake_case handling on user defined classes was + fixed. + - [PYSIDE-1703] The build with MSVC 19.29.30136 was fixed. + - [PYSIDE-1708] The QtQuick3D module was added. + - [PYSIDE-1709] A __repr__ function for QMetaObject was added. + - [PYSIDE-1709] The QML metatype json files of Qt are now shipped for usage + by pyside6-qmllint. + - [PYSIDE-1714] The sequence protocol has been implemented for QRegion. + - [PYSIDE-1715] A crash when connecting a slot after disconnecting non- + existent connection to same slot was fixed. + - [PYSIDE-1721] The documentation generation process has been + streamlined and the snippets conversion tool has been improved. + - [PYSIDE-1725] URLs in class inheritance diagrams have been made clickable + (within same module). + - [PYSIDE-1726] The build in case Vulkan is not installed was fixed. + - [PYSIDE-1727] Signature: The __doc__ attribute of classes was fixed. + - [PYSIDE-1730] Name clashes of signals and inherited methods were fixed. + - [PYSIDE-1736] QQmlApplicationEngine.load(str) was fixed. + - [PYSIDE-1755] Nuitka compiled methods are now safely distinguished. + - [PYSIDE-1757] __feature__: A bug in true_property was fixed. + - [PYSIDE-1758] QApplication no longer touches the underscore variable. + - [PYSIDE-1769] Crashes in WebEngine signal emissions were fixed. + - [PYSIDE-1770] Enum QXYSeries.PointConfiguration enum was added. + - [PYSIDE-1798] QVariant can now be converted to enum types. + - [PYSIDE-1804] QByteArray::__msetitem__() was fixed for big endian + architectures. + - [PYSIDE-1815] QAbstractOAuth.setModifyParametersFunction was added. + - [PYSIDE-1824] QLowEnergyServiceData.characteristics() was fixed. + - [PYSIDE-1826] A crash when implementing + QQuickAsyncImageProvider.requestImageResponse() was fixed. + - [PYSIDE-1827] Signals/slots with non-QObject object type parameters were + fixed. + - [PYSIDE-1840] The qFuzzyCompare() overloads for the classes in QtGui were + added. + - [PYSIDE-1845] Properties of type QQmlPropertyMap * were fixed. + - [PYSIDE-1876] Class QPyQmlParserStatus for handling QML parser status + changes has been added. + - [QTBUG-95010] The new Multimedia-API was adopted. + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - A fast path for converting Python strings to UTF-8 has been added to the + limited API. + - [PYSIDE-454] Attributes for reset() and null-check of smart pointers have + been added. + - [PYSIDE-454] None is now accepted as a shared pointer parameter + and nb_bool was added to shared pointers. + - [PYSIDE-454] Using std::shared_ptr has been simplified; it no longer + requires specifying all implementation headers for the class + declaration to be fully visible. + - [PYSIDE-535] The generated code can now be used with PyPy. + - [PYSIDE-656] The error state is now correctly handled in overridden virtual + methods. + - [PYSIDE-1605] Getters returning containers by reference can now be + modified to return an opaque container by modifying the + return type accordingly. + - [PYSIDE-1605] Bindings for reserve()/capacity() were added to contiguous + opaque containers. + - [PYSIDE-1605] Code generation for functions taking a pointer to a container + has been fixed. + - [PYSIDE-1660] Primitive types are now built-in + unless they are present in type system file. + - [PYSIDE-1660] The macro PyObject_Check() has been removed from libshiboken. + - [PYSIDE-1666] Support for std::wstring has been added. + - [PYSIDE-1666] Pre-defined XML templates for standard container type + conversion have been added. + - [PYSIDE-1666] Common standard containers (std::list, std::vector, + std::pair, std::map, std::unordered_map) are now built-in + unless they were present in type system file. + - [PYSIDE-1666] Predefined templates for standard container types have been + added. + - [PYSIDE-1666] sets are now supported for functions taking C++ sets. + On return, C++ set instances will be converted to PySets + instead of PyLists. + - [PYSIDE-1669] An option to disable implicit conversions has been added. + - [PYSIDE-1675] The .pyi file generation was improved to have correct + slot(), PathLike and better enum handling. + - [PYSIDE-1691] When qualifying function argument default values for the + generated code, shiboken no longer considers each identifier + it cannot otherwise find as an enum value and no longer adds + the class scope to it. This may require manually adding some + replace-default-expression modifications. + - [PYSIDE-1691] Determining the scoped of enum default values of function + arguments has been improved. nullptr is now handled correctly. + - [PYSIDE-1684] A crash when a class cannot be found in the overload + sorter has been fixed. + - [PYSIDE-1697] A memory leak in generated code for keyword arguments was fixed. + supported in argument conversion rules. + - [PYSIDE-1710] Error handling was improved for embedded applications and + builtin modules are trusted as valid modules. + - [PYSIDE-1711] Comparison operators for pointees of smart pointers are now + generated. + - [PYSIDE-1766] XML elements native-to-target and target-to-native are now + - [PYSIDE-1790] Classes marked as final in C++ are now created as final + Python classes. + - [PYSIDE-1790] Bindings for data()/constData() were added to contiguous + opaque containers. + - [PYSIDE-1790] Opaque containers are now always generated for + the specified types regardless of whether instantiations + exist. + - [PYSIDE-1802] The code model parser was adapted to consider .h files as C++. + - [PYSIDE-1806] A configure check for the clang version was added. diff --git a/doc/changelogs/changes-6.3.1 b/doc/changelogs/changes-6.3.1 new file mode 100644 index 0000000..fec3bf9 --- /dev/null +++ b/doc/changelogs/changes-6.3.1 @@ -0,0 +1,67 @@ +Qt for Python 6.3.1 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - [PYSIDE-1019] Feature switching was improved by avoiding cross-talk + to enable for example tests using PyTest. + - [PYSIDE-353] PySide now builds with PyPy 3.9. + - [PYSIDE-1735] New Pythons Enums were added as an optional feature, which + can be activated bv setting the environment variable + PYSIDE63_OPTION_PYTHON_ENUM. + - [PYSIDE-1797] An issue preventing using PySide with Python 3.6 or 3.7 + related to symbol PyIndex_Check was fixed. + - [PYSIDE-1859] Windows handle types HBITMAP, HICON, HRGN are now supported + (as int types). + - [PYSIDE-1880] The QtDataVisualization surface examples have been extended and + improved. + - [PYSIDE-1883] QTest.qWait() and QTest.qSleep() have been added. + - [PYSIDE-1887] Overriding QGraphicsItem::itemChange() has been fixed. + - [PYSIDE-1893] A crash with error "Internal C++ object already deleted." when + using QWidget.nativeParentWidget() has been fixed. + - [PYSIDE-1895] Embedded 0 characters in UNICODE strings are now handled + correctly. + - [PYSIDE-1899] QLoggingCategory, qCDebug, qCInfo, qCWarning and qCCritical + have been added. + - [PYSIDE-1901] String conversion for non-compact strings when + using Limited API has been fixed. + - [PYSIDE-1905] Overloads with more parameters have been added to + QDBusAbstractInterface.call() + - [PYSIDE-1909] qstyleoption_cast<> has been implemented in order + to be able to handle QStyleOption-derived classes. + - [PYSIDE-1911] PySideSignalInstance has now a __repr__. + - [PYSIDE-1912] QWebEngineCookieStore.setCookieFilter and + QtWebEngineProfile.setNotificationPresenter have been added. + - [PYSIDE-1919] A GIL state crash when collecting QObjects with signals + in Python 3.10 has been fixed. + - [PYSIDE-1921] QQmlContext::setContextProperties() has been added. + - [PYSIDE-1939] A crash in QTextBlock.layout() has been fixed. + - [PYSIDE-1947] QAudioBuffer.data()/constData() have been added. + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-1932] The Q_ENUM helper functions qt_getEnumMetaObject() and + qt_getEnumName() are now automatically rejected when PySide + extensions are enabled. + - [PYSIDE-1909] It is now possible to inject a function that retrieves the + type name of a polymorphic class. + - [PYSIDE-1909] Type discovery code is now generated for all classes that + have an id expression set. + - [PYSIDE-1933] Converters for all smart pointee base classes are now + generated. diff --git a/doc/changelogs/changes-6.3.2 b/doc/changelogs/changes-6.3.2 new file mode 100644 index 0000000..c2a40a8 --- /dev/null +++ b/doc/changelogs/changes-6.3.2 @@ -0,0 +1,72 @@ +Qt for Python 6.3.2 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - [PYSIDE-841] New examples have been added (SpinBoxDelegate, + Bluetooth heart rate). + - [PYSIDE-1312] QFormLayout::takeRow() has been added. + - [PYSIDE-1735] The duplication of enum values into the enclosing scope, + allowing to write Qt.AlignLeft instead of Qt.Alignment.AlignLeft, + is now implemented differently and no longer advertized in PYI + files or line completion. + - [PYSIDE-1735] The new Python enums are made as compatible to the old ones + as possible. It is again allowed to use Qt.Alignment() + instead of Qt.AlignmentFlag(0), and a default of 0 is + always allowed but also not advertized. + Qt.Modifiers/Qt.KeyboardModifierflags can also still be used + interchangeably. + - [PYSIDE-1735] Most former IntEnum/IntFlag are replaced by pure Enum/Flag + classes in a generally compatible way to other implementations. + - [PYSIDE-1735] PyEnum handles QKeyCombination correctly with "|" or (deprecated) + "+" operators, without falling back to using IntEnum. + - [PYSIDE-1735] Python Enums use the newest implementation for Python (3.10) + for compatibility and speed. + - [PYSIDE-1735] A weird build problem on macOS and other platforms was fixed. + - [PYSide-1735] The cleanup calls by were sped up by using PyName for + staticMetaObject. + - [PYSIDE-1984] The code snippets in the modelview tutorial have been + improved. + - [PYSIDE-1930] Returning enums from QAbstractItemModel.flags() and + QAbstractItemModel.data() has been fixed. + - [PYSIDE-1934] The type hinting for the return value of + QListWidget.selected_indexes() has been fixed. + - [PYSIDE-1960] Initial support for Python 3.11 has been added. + - [PYSIDE-1968] The signature of QPixmap.save() has been fixed. + - [PYSIDE-1978] The signal + QAbstractItemModel.layoutAboutToBeChanged(QList) + has been fixed. + Also, the error message about using the wrong signal overload + has been improved. + - [PYSIDE-2030] The converter tools for Python code snippets for the + documentation has been improved. + - [PYSIDE-2019] Crashes related to QtDataVisualization'QValue3DAxisFormatter + have been fixed. + - [PYSIDE-2034] The static functions of QMessageBox have been fixed to not + block threads. + - [PYSIDE-2039] A regression affecting setting override cursors without + context manager has been fixed. + + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-1964] The error message about mistakenly using keyword arguments + has been improved. + - [PYSIDE-1988] Fixed a mistaken PySequence_Check() type check to be + PyTuple_Check(), which only showed in Python 3.11. diff --git a/doc/changelogs/changes-6.4.0 b/doc/changelogs/changes-6.4.0 new file mode 100644 index 0000000..e2f7df1 --- /dev/null +++ b/doc/changelogs/changes-6.4.0 @@ -0,0 +1,187 @@ +Qt for Python 6.4.0 is a minor release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - Modules QtPdf, QtPdfWidgets and QtSpatialAudio have been added. + - [PYSIDE-353] PySide builds with PyPy 3.9. + - [PYSIDE-769] Examples that demonstrate usage of Trio async package with Qt + have been added. + - [PYSIDE-841] Examples surface_numpy, minimal surface (QtDataVisualization), + dropsite, dirview, Google suggest license wizard, QtBluetooth + heart rate server and client, QML window, QML Plugins, + analog clock (QtGui), digital clock (QtWidgets), spreadsheet, + terminal (QtSerialPort) and character map, have been added. + - [PYSIDE-962] Errors message about test-configuring projects + with cmake have been improved. + - [PYSIDE-1019] The feature module has been improved by a reset function. + - [PYSIDE-1106] The documentation build process has been improved; it no + longer requires a complete PySide6 build. + - [PYSIDE-1312] Support for QFormLayout::TakeRowResult has been added. + - [PYSIDE-1612] A tool for deployment, pyside6-deploy, has been added. + - [PYSIDE-1721] The C++ to Python code snippet translation has been + much improved. + - [PYSIDE-1731] PyEnum: Fix the old Enums to produce correct .pyi files, + again. + - [PYSIDE-1735] The new forgiveness mode of Python enums allows to use old + enum code, most of the time. + - [PYSIDE-1735] PyEnum: Most IntEnum/IntFlag classes were modified to Enum/Flag + - [PYSIDE-1735] PyEnum: QKeyCombination was improved to also work after the change + from IntEnum to Enum. + - [PYSIDE-1735] PyEnum can now be fully configured by flags at startup for internal + use. The default is unchanged and enables everything as before. + - [PYSIDE-1797] Link errors about PyIndex_Check() when using Limited_API have + been fixed. + - [PYSIDE-1860] Modules are now optimized for size. + - [PYSIDE-1878] The tool pyside6-qml has been added. + - [PYSIDE-1880] A numpy overload for QSurfaceDataProxy.resetArray() has + been added. + - [PYSIDE-1883] Test::qWait()/qSleep() have been added. + - [PYSIDE-1887] Overriding QGraphicsItem::itemChange() has been fixed. + - [PYSIDE-1887] Specify meta type registration for some class hierarchies + - [PYSIDE-1893] Error "Internal C++ object already deleted." when using + QWidget.nativeParentWidget() has been fixed. + - [PYSIDE-1895] '\0' can now be embedded in 1 byte strings. + - [PYSIDE-1898] Q_ARG/Q_RETURN_ARG have been implemented for + QMetaObject.invokeMethod() with arguments. + - [PYSIDE-1898] qMetaTypeFromPyType() has been fixed for for wrapped types. + - [PYSIDE-1898] QMetaType: a constructor taking a PyTypeObject has been added. + - [PYSIDE-1899] Class QLoggingCategory and functions qCDebug(), qCInfo(), + qCWarning() and qCCritical() has been added. + - [PYSIDE-1859] The Microsoft Windows handle types HBITMAP, HICON and HRGN + have been added. + - [PYSIDE-1906] All qHash() functions are now exposed to Python. + - [PYSIDE-1913] The bool cast for QByteArray has been changed to return + False for empty byte arrays to match the expected behavior. + - [PYSIDE-1924] Numpy support is now enabled by default. + - [PYSIDE-1945] pyside6-qtpy2cpp.py, a Qt-specific, simple tool for + converting Python code to C++ has been added. + - [PYSIDE-1957] The Qt5Compat QML imports have been added + (QtGraphicalEffects). + - [PYSIDE-1901] The broken string conversion for non-compact + strings when using Limited API has been fixed. + - [PYSIDE-1905] Overloads with more parameters have been added to + QDBusAbstractInterface::call(). + - [PYSIDE-1906] qHash() functions are now automatically exposed as tp_hash. + - [PYSIDE-1909] Type discovery for QStyleOption-derived classes + has been fixed. + - [PYSIDE-1911] A __repr__ function for PySideSignalInstance has been added. + - [PYSIDE-1912] QWebEngineCookieStore.setCookieFilter() and + QtWebEngineProfile.setNotificationPresenter() have been added. + - [PYSIDE-1919] A GIL state crash when collecting QObjects + with signals occurring in Python 3.10 has been fixed. + - [PYSIDE-1921] QQmlContext.setContextProperties() has been added. + - [PYSIDE-1930] Returning enums from QAbstractListModel.data() has been fixed. + - [PYSIDE-1934] Type hinting for QListWidget.selected_indexes() has been + fixed. + - [PYSIDE-1939] A crash in QTextBlock.layout() has been fixed. + - [PYSIDE-1947] QAudioBuffer.data()/constData() has been added. + - [PYSIDE-1957] Add Qt5Compat.GraphicalEffects + - [PYSIDE-1960] Support for Python 3.11 has been added. + - [PYSIDE-1968] Type hinting for QPixmap.save() has been fixed. + - [PYSIDE-1974] Returning flags from QAbstractTableModel and other + models has been fixed. + - [PYSIDE-1978] Signal + QAbstractItemModel::layoutAboutToBeChanged(QList) + has been fixed. + - [PYSIDE-1984] The snippets of the model view tutorials have been fixed. + - [PYSIDE-1986] Setting properties by named arguments for Q[VH]BoxLayout + has been fixed. + - [PYSIDE-2000] The VS Code debugging tutorial for Windows has been updated. + - [PYSIDE-2004] The tools qmlformat and qmlls have been added. + - [PYSIDE-2005] A documentation section for cmake-only build has been added. + - [PYSIDE-2017] The functions glGet(Boolean|Double|Float|Integer)v() + and glGet(Boolean|Double|Float|Integer)i_v() have been added. + - [PYSIDE-2019] Issues with QtDataVisualization's QValue3DAxisFormatter + have been fixed. + - [PYSIDE-2021] The index operator of QKeySequence now returns QKeyCombination + when the new PyEnums are used. + - [PYSIDE-2025] Setters for the the lists in + QtDataVisualization's QValue3DAxisFormatter + have been fixed added. + - [PYSIDE-2033] A logging category "qt.pyside.libpyside" with useful warnings + has been added to libpyside. + - [PYSIDE-2034] Blocking threads in static functions of QMessageBox + have been fixed. + - [PYSIDE-2038] Documentation: Improve module pages title + - [PYSIDE-2039] A regression bug when setting override cursors without context + manager has been fixed. + - [PYSIDE-2048] A TypeError when comparing Qt.Flags and objects has been + fixed. + - [PYSIDE-2059] Function qt_set_sequence_auto_mnemonic() has been added to + QtGui. + - [PYSIDE-2060] Cross-compilation to Raspberry Pi 4 has been fixed. + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - When using C++ 20, the spaceship comparison operator is + now recognized. + - The signatures for function modifications now also allow for + specifying unresolved types. + - [PYSIDE-454] Support for std::unique_ptr pointer has been added. + - [PYSIDE-1735] Python Enums use the newest implementation for Python (3.10) + for compatibility and speed. + - [PYSIDE-1735] The initialization of the signature module was moved into + Shiboken and rearranged. This was necessary for the new + backward-compatible PyEnum module. + - [PYSIDE-1735] The new Python enums are made as compatible to the old ones + as possible. It is again allowed to use Qt.Alignment() instead + of Qt.AlignmentFlag(0), and a default of 0 is always allowed. + - [PYSIDE-1735] Most former IntEnum/IntFlag are replaced by pure Enum/Flag + classes in a generally compatible way to other implementations. + - [PYSIDE-1735] Shiboken now generates warnings about using deprecated + enumerations and deprecated enumeration values. + - [PYSIDE-1764] It is now possible to specify a list of functions to be + generated instead of removing undesired functions. + - [PYSIDE-1932] The Q_ENUM helper functions qt_getEnumMetaObject() and + qt_getEnumName() are now automatically rejected when + PySide extensions are enabled. + - [PYSIDE-1939] An type system attribute for restricting the parent + ownership heuristics to relevant classes has been introduced. + - [PYSIDE-454] The types "handle" and "value-handle" have been added + to the smart pointers typesystem element. + - [PYSIDE-661] Generated error messages habe been moved into the library, + significantly reducing the module size. + - [PYSIDE-1735] Propagate C++ enum deprecation + - [PYSIDE-1735] shiboken 6: Generate warnings about deprecated enum/values + - [PYSIDE-1812] Command line options for compiler, path and platform + have been added. + - [PYSIDE-1887] Meta type registration is now configureable in the type + system. + - [PYSIDE-1905] A way to specify free functions with complete custom + implementations has been added (bypassing the generated + argument conversion and overload decisor code). + - [PYSIDE-1909] A function to get the type name of a polymorphic class + can now be specified. + - [PYSIDE-1909] Type discovery for classes that with an id expression + has been fixed. + - [PYSIDE-1933] Converters for all smart pointee base classes are now + generated. + - [PYSIDE-1939] Heuristics for for parent ownership can now be specified + by an attribute. + - [PYSIDE-1995] Exceptions are now propagated through return value ownership + modifications. + - [PYSIDE-2017] The modified pyi return types of functions are now used + for signatures. Signatures also no longer contain + removed arguments. + - [PYSIDE-2025] Documentation injection for added functions with + parameter names has been fixed. + - [PYSIDE-2040] The full path of libdir is now used in the pkg-config file. + - [PYSIDE-2046] A crash caused by invalid return types of added + functions has been fixed. diff --git a/doc/changelogs/changes-6.4.0.1 b/doc/changelogs/changes-6.4.0.1 new file mode 100644 index 0000000..890c174 --- /dev/null +++ b/doc/changelogs/changes-6.4.0.1 @@ -0,0 +1,35 @@ +Qt for Python 6.4.0.1 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - [PYSIDE-1106] Fix modules being omitted from the documentation + - [PYSIDE-1612] wheels: Add pyside6-qtpy2cpp entry point + - [PYSIDE-1912] Deploy Tool : refactoring + - [PYSIDE-1957] Include Qt5Compat.GraphicalEffects QML files + - [PYSIDE-2063] PyEnum: Drop the Embedding of the Enum Module + - [PYSIDE-2081] Fix type annotations for static functions of QInputDialog + - [PYSIDE-2084] Fix build with OpenGLES + - [PYSIDE-2085] Remove mentions to Python 3.6 + - [PYSIDE-2086] Make wheels compatible with Python 3.11 + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-2088] Add a way of specifying types for casting enum values + - [PYSIDE-2088] libshiboken: Fix enum value overflow diff --git a/doc/changelogs/changes-6.4.1 b/doc/changelogs/changes-6.4.1 new file mode 100644 index 0000000..35cb83a --- /dev/null +++ b/doc/changelogs/changes-6.4.1 @@ -0,0 +1,78 @@ +Qt for Python 6.4.1 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - A context manager for QOpenGLVertexArrayObject.Binder has been added. + + - [PYSIDE-1970] The long missing support for __slots__ was finally added. + - [PYSIDE-841] networkx graph viewer, charts lightMarker and selection + examples have been added. + - [PYSIDE-1106] Documentation builds have been fixed to work with + system-installed versions of Qt 6. + - [PYSIDE-1603] A bug when passing wrong keyword args to signals has been + fixed. + - [PYSIDE-1612] The missing entry point for pyside6-qtpy2cpp has been + added. + - [PYSIDE-1713] A `signatures` attribute has been added to the Signal type in + order to increase compatibility with other implementations. + - [PYSIDE-1735] Developer documentation about enum features has been added. + - [PYSIDE-1735] Some enums have been changed to be IntEnum-based. + - [PYSIDE-1844] Build system: It is no longer required to have Qt in PATH + (tough recommended). + - [PYSIDE-1957] The missing Qt5Compat.GraphicalEffects has been added + to the wheel. + - [PYSIDE-2074] Build system: Overriding of PYTHON_SITE_PACKAGES + has been enabled. + - [PYSIDE-2081] Type annotations for the static functions of QInputDialog + have been fixed. + - [PYSIDE-2084] The build with OpenGLES has been fixed. + - [PYSIDE-2087] It is now possible to build QtUiTools without Qt Designer. + - [PYSIDE-2089] Crashes when not implementing abstract methods have been + fixed. + - [PYSIDE-2091] Build system: The check for FORCE_LIMITED_API has been fixed. + - [PYSIDE-2091] Build system: The minimum required CMake version has + been bumped to CMake 3.18+ (matching Qt). + - [PYSIDE-2095] A bug when using signals with new enums on Python 3.11 + has been fixed. + - [PYSIDE-2101] Python 3.10 and higher are not compatible to the __signature__ + attribute. This has been fixed by a temporary patch + until the final removal of that attribute. + - [PYSIDE-2106] A bug resulting in duplication of values in QML properties + of type QVariantList has been fixed. + - [PYSIDE-2121] A deadlock when using + QMetaObject.invokeMethod(BlockingQueuedConnection) + has been fixed. + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-2099] The option --lean-header to generate forward declarations + instead of includes into the module header has been added. + This considerably reduces the dependencies but may require + additional includes to be specified for injected code. + - [PYSIDE-1106] The documentation of signals (including private signals) + has been fixed. + - [PYSIDE-1106] Documentation now uses py:method directives with markup + for abstract methods. + - [PYSIDE-1844] Build system: On Windows, shiboken is now executed by a + wrapper providing the appropriate PATH containing Qt and + libclang, removing the need to set the PATH. + - [PYSIDE-2088] A way of specifying types for casting enum values has been + added, fixing an overflow occurring for + TextOption.IncludeTrailingSpaces. diff --git a/doc/changelogs/changes-6.4.2 b/doc/changelogs/changes-6.4.2 new file mode 100644 index 0000000..475e128 --- /dev/null +++ b/doc/changelogs/changes-6.4.2 @@ -0,0 +1,47 @@ +Qt for Python 6.4.2 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - [PYSIDE-769] asyncio versions of the async examples have been added. + - [PYSIDE-1019] A callback error when using true_property has been fixed. + - [PYSIDE-1106] Documentation: The automatic code snippet conversion + has been improved. + - [PYSIDE-1889] __feature__: A weird case of false metafunction lookup + has been fixed. + - [PYSIDE-2029] __feature__ switching now works even with recursive + imports like in the qasync module. It also has been + optimized and simplified in preparation for eventual + PyPy support. + - [PYSIDE-2042] true_property was fixed to work with inherited properties + as well. + - [PYSIDE-2128] An issue affecting CMake-only builds has been fixed. + - [PYSIDE-2133] The float type overload of QLocale.toCurrencyString() + has been fixed. + - [PYSIDE-2136] Errors when calling deprecated functions with + warning-as-error set have been fixed. + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-74] A warning about nonreachable code in generated rich + comparison code has been fixed. + - [PYSIDE-1012] Missing g++ includes for g++ 11.3 have been added. + - [PYSIDE-1019] Parse the notify specification from Q_PROPERTY + - [PYSIDE-1019] Documentation: QObject properties are now documented + similar to the C++ documentation. diff --git a/doc/changelogs/changes-6.4.3 b/doc/changelogs/changes-6.4.3 new file mode 100644 index 0000000..426325b --- /dev/null +++ b/doc/changelogs/changes-6.4.3 @@ -0,0 +1,53 @@ +Qt for Python 6.4.3 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - A requirements file for documentation builds (requirements-doc.txt) has + been added. + - A workaround has been implemented for Qt version conflicts when installing + PySide6 in an Anaconda environment. + - [PYSIDE-0079] signals: An old refcounting error has been fixed which was + introduced by the PYSIDE-68 fix. + - [PYSIDE-1014] Sorting overriding QStandardItem::operator<() has been + enabled. + - [PYSIDE-1402] QtCore.Property: An old refcounting error has been fixed. + - [PYSIDE-1931] A hang in QSqlQueryModel.setQuery() (PostGres with SSH + tunnel) has been fixed. + - [PYSIDE-2168] QLocale.toString() has been fixed to handle negative values + correctly. + - [PYSIDE-2169] Fixed a leak in the Python enum "forgiveness mode". + - [PYSIDE-2189] feature switching: _mod_uses_pyside has been made safe + against binary modules. + - [PYSIDE-2197] Signals are now generated into pyi files as attributes. + - [PYSIDE-2199] The --binary option of pyside6-rcc has been fixed. + - [PYSIDE-2201] Crashes caused by temporary instances of signals have been + fixed by introducing a weak reference. + - [PYSIDE-2202] pyside6-metaobjectdump: Parse failures caused by call + operators in base class specifications have been fixed. + - [PYSIDE-2203] pyside6-metaobjectdump: Parse failures caused by + complex function decorators have been fixed. + - [PYSIDE-2204] The encoding of hte prefix path in the embedded + :/qt/etc/qt.conf resource has been fixed to be UTF-8. + - [PYSIDE-2222] An exit crash when loading Python custom widget + plugins by QUiLoader has been fixed. + - [PYSIDE-2229] Fixed an error when building commercial wheels from source. + - [PYSIDE-2237] Fields named "from" are now exposed as "from_" to avoid + using the reserved word (occurs in + "QtGui.QPageRanges.Range.from"). + - [PYSIDE-2239] Opaque containers now have correct __module__ names. + diff --git a/doc/changelogs/changes-6.5.0 b/doc/changelogs/changes-6.5.0 new file mode 100644 index 0000000..b92f1f2 --- /dev/null +++ b/doc/changelogs/changes-6.5.0 @@ -0,0 +1,111 @@ +Qt for Python 6.5.0 is a minor release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - pyside6-project can now generate simple project templates. + - QtSerialBus has been added. + - Class QHashSeed has been added. + - [PYSIDE-510] The non-standard __signature__ attribute of functions and + classes has been removed in favor of get_signature(). + - [PYSIDE-1019] A callback error when using true_property has been fixed. + - [PYSIDE-1713] A `signatures` attribute has been added to the Signal type + in order to increase compatibility with other + implementations. + - [PYSIDE-2029] __feature__ switching now works even with recursive imports + like in the qasync module. In addition, a new efficient + optimization has been implemented for __feature__ switching. + Initial work towards PyPy support for __feature__ switching + has been done. + - [PYSIDE-2101] Python 3.10 and up have an incompatibility to the + __signature__ attribute. This is fixed by a temporary patch + until the final removal of that attribute. + - [PYSIDE-753] The shared pointer types of Qt 3D have been added. + - [PYSIDE-769] asyncio versions of the async examples + have been added. + - [PYSIDE-841] Examples networkx graph viewer, can bus, modbus client, + charts lightMarker and selection, charts selected point + configuration, graphgallery, qmlsurfacegallery, + map view (QtLocation) and and Qt Quick custom geometry + have been added. + - [PYSIDE-971] QOpenGLContext.getProcAddress() has been added. + - [PYSIDE-1019] libpyside: The function `getMetaDataFromQObject` + has been removed. + - [PYSIDE-1106] The documentation code snippet conversion has been + improved. + - [PYSIDE-1295] QObject::sender() has been implemented for non-C++ slots. + - [PYSIDE-1345] QSGGeometry.vertexDataAsPoint2D()/setVertexDataAsPoint2D() + has been added. + - [PYSIDE-1564] Cooperative multiple inheritance is now implemented for all + __init__ methods. + - [PYSIDE-1603] Signals are now listed in the typing hints. + - [PYSIDE-1612] Initial support for Android Deployment has been added. + - [PYSIDE-1713] Compatibility of Qt signals has been improved + by providing a signatures attribute. + - [PYSIDE-1735] Documentation: enum types are now indicated. + - [PYSIDE-2079] setuptools are now used instead of distutils. + - [PYSIDE-2098] dicts can now be passed as QVariantMap to QML. + - [PYSIDE-2136] An error calling deprecated functions with + warning-as-error set has been fixed. + - [PYSIDE-2141] A crash when deleting QObject instances with connections + in threads has been fixed. + - [PYSIDE-2155] CMake UNITY_BUILD (jumbo) builds are now supported, speeding + up building. Pass --unity to setup.py. + - [PYSIDE-2160] The formatting of delayed errors in Python 3.11 + has been improved. + - [PYSIDE-2221] First changes for NoGIL support have been added. + - [PYSIDE-2206] Some examples have been updated. + - [PYSIDE-2230] First changes for Python 3.12 have been added. + - [PYSIDE-2234] QRunnable.create() has been added. + - [PYSIDE-2236] QMetaMethod.fromSignal() has been added. + - [PYSIDE-2247] Examples are not included in the wheels any more and the + setup.py option --no-example was removed. Examples can now + be downloaded as .zip files from the documentation. + - [PYSIDE-2251] Qt Designer Python plugins now work with non- + activated virtual environments. + - [PYSIDE-2259] QtTextToSpeech has been added. + - [PYSIDE-2252] QAbstractTextDocumentLayout::PaintContext has been added. + - [PYSIDE-2169] A leak in Enum forgiveness mode has been fixed. + - [PYSIDE-2260] A QML deployment issue with Nuitka has been fixed. + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - shiboken6 now generates new calls to the new functions PyObject_Vectorcall() + or PyObject_CallNoArgs() for overridden virtual methods for newer Python + versions (not for Limited API). + - shiboken6 can now generate exclusions for classes based on preprocessor + conditions, for example by the Qt configure system. + - [PYSIDE-454] It is now possible to specify names and namespaces for smart + pointer instantiations. + - [PYSIDE-1019] Documentation for Qt properties is now generated. + - [PYSIDE-1106] Documentation for Qt signals is now generated. + - [PYSIDE-1106] shiboken6/Documentation: Use the py:method directives + - [PYSIDE-2088] An overflow of 64bit enumerations has been fixed. + - [PYSIDE-2099] An option --lean-header to generate forward declarations + instead of includes into the module header has been added. + This considerably reduces the dependencies but may require + additional includes to be specified for injected code. + - [PYSIDE-2133] The sorting of overloads for integer/float types has been + improved to avoid overflows. + - [PYSIDE-2256] The code generator no longer generates goto's. + - [PYSIDE-2174] A typesystem XML element for opaque containers has been + added, removing the need repeat the container element. + - [PYSIDE-2174] Support for std::array (C++ 11) and std::span has been added. + - [PYSIDE-2255] Overriding abstract private virtual methods is now possible. + - [PYSIDE-2264] A PyPy problem with version 7.3.10 and up was fixed. diff --git a/doc/changelogs/changes-6.5.1 b/doc/changelogs/changes-6.5.1 new file mode 100644 index 0000000..cffe65d --- /dev/null +++ b/doc/changelogs/changes-6.5.1 @@ -0,0 +1,63 @@ +Qt for Python 6.5.1 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - pyside6-qmlcachegen has been added. + - The qmllint target of pyside6-project has been fixed to work on Windows. + - [PYSIDE-1106] The example documentation has been improved. + - [PYSIDE-2206] Many examples and tutorials have been revamped. + - [PYSIDE-2278] Type hints: Checks for None with pyright have been fixed. + - [PYSIDE-2283] Qt platform dependencies have been linked to the + documentation. + - [PYSIDE-2284] Type hints: The missing NoneType import has been added. + - [PYSIDE-2285] Type hints for return values modified to Tuple[] have + been added. + - [PYSIDE-2289] opengl32sw.dll is now again shipped. + - [PYSIDE-2293] The deployment tool has been fixed to keep structure of QML + files. + - [PYSIDE-2294] A regression bug in handling multiple inheritance has been + fixed. + - [PYSIDE-2298] QTimeZone::Initialization has been added. + - [PYSIDE-2299] A leak connecting signals to anonymous functions has been + fixed. + - [PYSIDE-2300] QSqlQueryModel::query() has been re-added. + - [PYSIDE-2302] A bug blocking the UI when loading images from a thread has + been fixed. + - [PYSIDE-2310] The delayed reporting of exceptions in reimplemented + - [PYSIDE-2321] virtual functions introduced in 6.4.3 has been reverted + to the original state. + - [PYSIDE-2318] Type hints: Signatures for QDBusAbstractInterfaceBase + functions have been fixed. + - [PYSIDE-2325] Missing OpenGL type system files have been added. + - [PYSIDE-2328] A crash when connecting to temporary signal sources + has been fixed. + - [PYSIDE-2329] Signals with parameters can now be connected by passing + keyword arguments to constructor. + - [PYSIDE-2334] Some missing libraries (QtPdfQuick/QtQuickEffects) + have been added. + - [QTBUG-112708] Building with QT_FEATURE_opengles2 has been fixed. + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-2313] numpy support has been extended to handle short/long long + integer types. + - [PYSIDE-1106] The sample binding example documentation has been improved. + - [PYSIDE-2288] Clang 16 is now supported. + - [PYSIDE-2316] Smart pointer signatures are now correctly registered. diff --git a/doc/changelogs/changes-6.5.2 b/doc/changelogs/changes-6.5.2 new file mode 100644 index 0000000..2da1560 --- /dev/null +++ b/doc/changelogs/changes-6.5.2 @@ -0,0 +1,48 @@ +Qt for Python 6.5.2 is a bug-fix release. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + +https://doc.qt.io/qtforpython/ + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + +https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* PySide6 * +**************************************************************************** + + - [PYSIDE-2184] .pyi files are now installed by CMake. + - [PYSIDE-2206] The QtStateMachine moveblocks example has been added. + - [PYSIDE-2206] The QtLocation mapviewer example has been revamped. + - [PYSIDE-2331] Type hints of several functions taking a str have been fixed. + - [PYSIDE-2339] Enumeration types are now kept when passed through the + QVariant APIs of QAbstractItemModel, and a conversion + to int takes place when required (Qt.CheckState and similar). + - [PYSIDE-2340] A crash when using QScxmlStateMachine::connectToEvent() + has been fixed. + - [PYSIDE-2347] Output of QObject slots has been added to the + metaobjectdump.py tool as an input of qmllint. + - [PYSIDE-2364] The type hint for QQmlExpression.evaluate() has been fixed. + - [PYSIDE-2299] A memory leak connecting free methods/lambdas has been + - [PYSIDE-2371] Fixed regression related to memory leak when connecting + signal to local function. + - [PYSIDE-2381] Fixed issue qith QSetting list of strings and value() + - [PYSIDE-2384] Fixed QWizardPage.registerField signature + +**************************************************************************** +* Shiboken6 * +**************************************************************************** + + - [PYSIDE-1735] The detection of signedness for enums with typedefs + as underlying types has been fixed. + - [PYSIDE-2335] The raising of unraisable exceptions from virtual methods + overwritten in Python has been implemented. + They are now handled by a handler on the stack if possible + or otherwise printed. + - [PYSIDE-1669] Fixed option --no-implicit-conversions diff --git a/examples/3d/simple3d/doc/simple3d.png b/examples/3d/simple3d/doc/simple3d.png new file mode 100644 index 0000000000000000000000000000000000000000..0eaa51041c514ac51d3608cb0d27fe325235ba17 GIT binary patch literal 5750 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 literal 0 HcmV?d00001 diff --git a/examples/3d/simple3d/doc/simple3d.rst b/examples/3d/simple3d/doc/simple3d.rst new file mode 100644 index 0000000..e042c69 --- /dev/null +++ b/examples/3d/simple3d/doc/simple3d.rst @@ -0,0 +1,8 @@ +Simple Qt 3D Example +==================== + +A Python application that demonstrates how to render a scene in Qt 3D. + +.. image:: simple3d.png + :width: 400 + :alt: Simple 3D Screenshot diff --git a/examples/3d/simple3d/simple3d.py b/examples/3d/simple3d/simple3d.py new file mode 100644 index 0000000..eef0dca --- /dev/null +++ b/examples/3d/simple3d/simple3d.py @@ -0,0 +1,127 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the qt3d/simple-cpp example from Qt v5.x""" + +import sys +from PySide6.QtCore import (Property, QObject, QPropertyAnimation, Signal) +from PySide6.QtGui import (QGuiApplication, QMatrix4x4, QQuaternion, QVector3D) +from PySide6.Qt3DCore import (Qt3DCore) +from PySide6.Qt3DExtras import (Qt3DExtras) + + +class OrbitTransformController(QObject): + def __init__(self, parent): + super().__init__(parent) + self._target = None + self._matrix = QMatrix4x4() + self._radius = 1 + self._angle = 0 + + def setTarget(self, t): + self._target = t + + def getTarget(self): + return self._target + + def setRadius(self, radius): + if self._radius != radius: + self._radius = radius + self.updateMatrix() + self.radiusChanged.emit() + + def getRadius(self): + return self._radius + + def setAngle(self, angle): + if self._angle != angle: + self._angle = angle + self.updateMatrix() + self.angleChanged.emit() + + def getAngle(self): + return self._angle + + def updateMatrix(self): + self._matrix.setToIdentity() + self._matrix.rotate(self._angle, QVector3D(0, 1, 0)) + self._matrix.translate(self._radius, 0, 0) + if self._target is not None: + self._target.setMatrix(self._matrix) + + angleChanged = Signal() + radiusChanged = Signal() + angle = Property(float, getAngle, setAngle, notify=angleChanged) + radius = Property(float, getRadius, setRadius, notify=radiusChanged) + + +class Window(Qt3DExtras.Qt3DWindow): + def __init__(self): + super().__init__() + + # Camera + self.camera().lens().setPerspectiveProjection(45, 16 / 9, 0.1, 1000) + self.camera().setPosition(QVector3D(0, 0, 40)) + self.camera().setViewCenter(QVector3D(0, 0, 0)) + + # For camera controls + self.createScene() + self.camController = Qt3DExtras.QOrbitCameraController(self.rootEntity) + self.camController.setLinearSpeed(50) + self.camController.setLookSpeed(180) + self.camController.setCamera(self.camera()) + + self.setRootEntity(self.rootEntity) + + def createScene(self): + # Root entity + self.rootEntity = Qt3DCore.QEntity() + + # Material + self.material = Qt3DExtras.QPhongMaterial(self.rootEntity) + + # Torus + self.torusEntity = Qt3DCore.QEntity(self.rootEntity) + self.torusMesh = Qt3DExtras.QTorusMesh() + self.torusMesh.setRadius(5) + self.torusMesh.setMinorRadius(1) + self.torusMesh.setRings(100) + self.torusMesh.setSlices(20) + + self.torusTransform = Qt3DCore.QTransform() + self.torusTransform.setScale3D(QVector3D(1.5, 1, 0.5)) + self.torusTransform.setRotation(QQuaternion.fromAxisAndAngle(QVector3D(1, 0, 0), 45)) + + self.torusEntity.addComponent(self.torusMesh) + self.torusEntity.addComponent(self.torusTransform) + self.torusEntity.addComponent(self.material) + + # Sphere + self.sphereEntity = Qt3DCore.QEntity(self.rootEntity) + self.sphereMesh = Qt3DExtras.QSphereMesh() + self.sphereMesh.setRadius(3) + + self.sphereTransform = Qt3DCore.QTransform() + self.controller = OrbitTransformController(self.sphereTransform) + self.controller.setTarget(self.sphereTransform) + self.controller.setRadius(20) + + self.sphereRotateTransformAnimation = QPropertyAnimation(self.sphereTransform) + self.sphereRotateTransformAnimation.setTargetObject(self.controller) + self.sphereRotateTransformAnimation.setPropertyName(b"angle") + self.sphereRotateTransformAnimation.setStartValue(0) + self.sphereRotateTransformAnimation.setEndValue(360) + self.sphereRotateTransformAnimation.setDuration(10000) + self.sphereRotateTransformAnimation.setLoopCount(-1) + self.sphereRotateTransformAnimation.start() + + self.sphereEntity.addComponent(self.sphereMesh) + self.sphereEntity.addComponent(self.sphereTransform) + self.sphereEntity.addComponent(self.material) + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + view = Window() + view.show() + sys.exit(app.exec()) diff --git a/examples/3d/simple3d/simple3d.pyproject b/examples/3d/simple3d/simple3d.pyproject new file mode 100644 index 0000000..4c85ba5 --- /dev/null +++ b/examples/3d/simple3d/simple3d.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["simple3d.py"] +} diff --git a/examples/async/eratosthenes/doc/eratosthenes.rst b/examples/async/eratosthenes/doc/eratosthenes.rst new file mode 100644 index 0000000..494a94d --- /dev/null +++ b/examples/async/eratosthenes/doc/eratosthenes.rst @@ -0,0 +1,53 @@ +Async examples +============== + +The Python language provides keywords for asynchronous operations, i.e., +"async" to define coroutines or "await" to schedule asynchronous calls in the +event loop (see `PEP 492 `_). It is up to +packages to implement an event loop, support for these keywords, and more. + +The best-known package for this is `asyncio`. Since both an async package and +Qt itself work with event loops, special care must be taken to ensure that both +event loops work with each other. asyncio offers a function `stop` that allows +stopping an event loop without closing it. If it is called while a loop is +running through `run_forever`, the loop will run the current batch of callbacks +and then exit. New callbacks wil be scheduled the next time `run_forever` is +called. + +This approach is highly experimental and does not represent the state of the +art of integrating Qt with asyncio. Instead it should rather be regarded more +as a proof of concept to contrast asyncio with other async packages such as +`trio`, which offers a dedicated `low-level API +`_ for more +complicated use cases such as this. Specifically, there exists a function +`start_guest_run` that enables running the Trio event loop as a "guest" inside +another event loop - Qt's in our case. + +Based on this functionality, two examples for async usage with Qt have been +implemented: `eratosthenes` and `minimal`: + +.. image:: eratosthenes.svg + :alt: Async example: Eratosthenes + :width: 400 + +* `eratosthenes` is a more extensive example that visualizes the Sieve of + Eratosthenes algorithm. This algorithm per se is not one that is particularly + suitable for asynchronous operations as it's not I/O-heavy, but synchronizing + coroutines to a configurable tick allows for a good visualization. +* `minimal` is a minimal example featuring a button that triggers an + asynchronous coroutine with a sleep. It is designed to highlight which + boilerplate code is essential for an async program with Qt and offers a + starting point for more complex programs. + +Both examples feature: + +1. A window class. +2. An `AsyncHelper` class containing `start_guest_run` plus helpers and + callbacks necessary for its invocation. The entry point for the Trio/asyncio + guest run is provided as an argument from outside, which can be any async + function. + +While `eratosthenes` offloads the asynchronous logic that will run in +trio's/asyncio's event loop into a separate class, `minimal` demonstrates that +async functions can be integrated into any class, including subclasses of Qt +classes. diff --git a/examples/async/eratosthenes/doc/eratosthenes.svg b/examples/async/eratosthenes/doc/eratosthenes.svg new file mode 100644 index 0000000..eaf53da --- /dev/null +++ b/examples/async/eratosthenes/doc/eratosthenes.svg @@ -0,0 +1 @@ +🥳 Congratulations! You found all the prime numbers and solved mathematics. 🥳123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625 diff --git a/examples/async/eratosthenes/eratosthenes.pyproject b/examples/async/eratosthenes/eratosthenes.pyproject new file mode 100644 index 0000000..f0de627 --- /dev/null +++ b/examples/async/eratosthenes/eratosthenes.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["eratosthenes_trio.py", "eratosthenes_asyncio.py"] +} diff --git a/examples/async/eratosthenes/eratosthenes_asyncio.py b/examples/async/eratosthenes/eratosthenes_asyncio.py new file mode 100644 index 0000000..a5177a9 --- /dev/null +++ b/examples/async/eratosthenes/eratosthenes_asyncio.py @@ -0,0 +1,220 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import (Qt, QEvent, QObject, QTimer, Signal, Slot) +from PySide6.QtGui import (QColor, QFont, QPalette) +from PySide6.QtWidgets import (QApplication, QGridLayout, QLabel, QMainWindow, QVBoxLayout, QWidget) + +import asyncio +import signal +import sys +from random import randint + + +class MainWindow(QMainWindow): + + set_num = Signal(int, QColor) + + def __init__(self, rows, cols): + super().__init__() + + self.rows = rows + self.cols = cols + + widget_central = QWidget() + self.setCentralWidget(widget_central) + + layout_outer = QVBoxLayout(widget_central) + + self.widget_outer_text = QLabel() + font = QFont() + font.setPointSize(14) + self.widget_outer_text.setFont(font) + layout_outer.addWidget(self.widget_outer_text, alignment=Qt.AlignmentFlag.AlignCenter) + + widget_inner_grid = QWidget() + layout_outer.addWidget(widget_inner_grid, alignment=Qt.AlignmentFlag.AlignCenter) + + self.layout_inner_grid = QGridLayout(widget_inner_grid) + k = 1 + for i in range(self.rows): + for j in range(self.cols): + box = QLabel(f"{k}") + self.layout_inner_grid.addWidget(box, i, j, Qt.AlignmentFlag.AlignCenter) + k += 1 + + self.set_num.connect(self.set_num_handler) + + @Slot(int, QColor) + def set_num_handler(self, i, color): + row = int((i - 1) / self.cols) + col = (i - 1) - (row * self.cols) + widget = self.layout_inner_grid.itemAtPosition(row, col).widget() + + font = QFont() + font.setWeight(QFont.Bold) + palette = QPalette() + palette.setColor(QPalette.WindowText, color) + widget.setFont(font) + widget.setPalette(palette) + + +class Eratosthenes(QObject): + + done_signal = Signal() + + """ This Sieve of Eratosthenes runs on a configurable tick (default + 0.1 seconds). At each tick, a new subroutine will be created + that will check multiples of the next prime number. Each of + these subroutines also operates on the same tick. """ + + def __init__(self, num, window, tick=0.1): + super().__init__() + self.num = num + self.sieve = [True] * self.num + self.base = 0 + self.window = window + self.tick = tick + self.coroutines = [] + self.done = False + self.loop = None + + def get_tick(self): + return self.loop.time() + self.tick + + async def start(self): + self.loop = asyncio.get_event_loop() + asyncio.create_task(self.update_text()) + while self.base <= self.num / 2: + await asyncio.sleep(self.tick) + for i in range(self.base + 1, self.num): + if self.sieve[i]: + self.base = i + break + asyncio.create_task(self.mark_number(self.base + 1)) + while sum(self.coroutines) > 0: + await asyncio.sleep(self.tick) + self.done = True + + async def mark_number(self, base): + id = len(self.coroutines) + self.coroutines.append(1) + color = QColor(randint(64, 192), randint(64, 192), randint(64, 192)) + for i in range(2 * base, self.num + 1, base): + if self.sieve[i - 1]: + self.sieve[i - 1] = False + self.window.set_num.emit(i, color) + await asyncio.sleep(self.tick) + self.coroutines[id] = 0 + + async def update_text(self): + while not self.done: + await asyncio.sleep(self.tick) + if int(self.loop.time() + self.tick) % 2: + text = "⚙️ ...Calculating prime numbers... ⚙️" + else: + text = "👩‍💻 ...Hacking the universe... 👩‍💻" + self.window.widget_outer_text.setText(text) + + self.window.widget_outer_text.setText( + "🥳 Congratulations! You found all the prime numbers and solved mathematics. 🥳" + ) + + # This signals to the guest run when there are no more asyncio tasks + # left so its event loop can finish. + self.done_signal.emit() + + +class AsyncHelper(QObject): + + class ReenterQtObject(QObject): + """ This is a QObject to which an event will be posted, allowing + asyncio to resume when the event is handled. event.fn() is + the next entry point of the asyncio event loop. """ + def event(self, event): + if event.type() == QEvent.Type.User + 1: + event.fn() + return True + return False + + class ReenterQtEvent(QEvent): + """ This is the QEvent that will be handled by the ReenterQtObject. + self.fn is the next entry point of the asyncio event loop. """ + def __init__(self, fn): + super().__init__(QEvent.Type(QEvent.Type.User + 1)) + self.fn = fn + + def __init__(self, worker, entry): + super().__init__() + self.reenter_qt = self.ReenterQtObject() + self.entry = entry + self.loop = asyncio.new_event_loop() + self.done = False + + self.worker = worker + if hasattr(self.worker, "start_signal") and isinstance(self.worker.start_signal, Signal): + self.worker.start_signal.connect(self.on_worker_started) + if hasattr(self.worker, "done_signal") and isinstance(self.worker.done_signal, Signal): + self.worker.done_signal.connect(self.on_worker_done) + + @Slot() + def on_worker_started(self): + """ To use asyncio and Qt together, one must run the asyncio + event loop as a "guest" inside the Qt "host" event loop. """ + if not self.entry: + raise Exception("No entry point for the asyncio event loop was set.") + asyncio.set_event_loop(self.loop) + self.loop.create_task(self.entry()) + self.loop.call_soon(self.next_guest_run_schedule) + self.done = False # Set this explicitly as we might want to restart the guest run. + self.loop.run_forever() + + @Slot() + def on_worker_done(self): + """ When all our current asyncio tasks are finished, we must end + the "guest run" lest we enter a quasi idle loop of switching + back and forth between the asyncio and Qt loops. We can + launch a new guest run by calling launch_guest_run() again. """ + self.done = True + + def continue_loop(self): + """ This function is called by an event posted to the Qt event + loop to continue the asyncio event loop. """ + if not self.done: + self.loop.call_soon(self.next_guest_run_schedule) + self.loop.run_forever() + + def next_guest_run_schedule(self): + """ This function serves to pause and re-schedule the guest + (asyncio) event loop inside the host (Qt) event loop. It is + registered in asyncio as a callback to be called at the next + iteration of the event loop. When this function runs, it + first stops the asyncio event loop, then by posting an event + on the Qt event loop, it both relinquishes to Qt's event + loop and also schedules the asyncio event loop to run again. + Upon handling this event, a function will be called that + resumes the asyncio event loop. """ + self.loop.stop() + QApplication.postEvent(self.reenter_qt, self.ReenterQtEvent(self.continue_loop)) + + +if __name__ == "__main__": + rows = 40 + cols = 40 + num = rows * cols + + app = QApplication(sys.argv) + main_window = MainWindow(rows, cols) + eratosthenes = Eratosthenes(num, main_window) + async_helper = AsyncHelper(eratosthenes, eratosthenes.start) + + # This establishes the entry point for the asyncio guest run. It + # varies depending on how and when its event loop is to be + # triggered, e.g., from the beginning (as here) or rather at a + # specific moment like a button press. + QTimer.singleShot(0, async_helper.on_worker_started) + + main_window.show() + + signal.signal(signal.SIGINT, signal.SIG_DFL) + app.exec() diff --git a/examples/async/eratosthenes/eratosthenes_trio.py b/examples/async/eratosthenes/eratosthenes_trio.py new file mode 100644 index 0000000..89d3d1c --- /dev/null +++ b/examples/async/eratosthenes/eratosthenes_trio.py @@ -0,0 +1,197 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import (Qt, QEvent, QObject, QTimer, Signal, Slot) +from PySide6.QtGui import (QColor, QFont, QPalette) +from PySide6.QtWidgets import (QApplication, QGridLayout, QLabel, QMainWindow, QVBoxLayout, QWidget) + +import outcome +import signal +import sys +import traceback +import trio +from random import randint + + +class MainWindow(QMainWindow): + + set_num = Signal(int, QColor) + + def __init__(self, rows, cols): + super().__init__() + + self.rows = rows + self.cols = cols + + widget_central = QWidget() + self.setCentralWidget(widget_central) + + layout_outer = QVBoxLayout(widget_central) + + self.widget_outer_text = QLabel() + font = QFont() + font.setPointSize(14) + self.widget_outer_text.setFont(font) + layout_outer.addWidget(self.widget_outer_text, alignment=Qt.AlignmentFlag.AlignCenter) + + widget_inner_grid = QWidget() + layout_outer.addWidget(widget_inner_grid, alignment=Qt.AlignmentFlag.AlignCenter) + + self.layout_inner_grid = QGridLayout(widget_inner_grid) + k = 1 + for i in range(self.rows): + for j in range(self.cols): + box = QLabel(f"{k}") + self.layout_inner_grid.addWidget(box, i, j, Qt.AlignmentFlag.AlignCenter) + k += 1 + + self.set_num.connect(self.set_num_handler) + + @Slot(int, QColor) + def set_num_handler(self, i, color): + row = int((i - 1) / self.cols) + col = (i - 1) - (row * self.cols) + widget = self.layout_inner_grid.itemAtPosition(row, col).widget() + + font = QFont() + font.setWeight(QFont.Bold) + palette = QPalette() + palette.setColor(QPalette.WindowText, color) + widget.setFont(font) + widget.setPalette(palette) + + +class Eratosthenes(QObject): + + """ This Sieve of Eratosthenes runs on a configurable tick (default + 0.1 seconds). At each tick, a new subroutine will be created + that will check multiples of the next prime number. Each of + these subroutines also operates on the same tick. """ + + def __init__(self, num, window, tick=0.1): + super().__init__() + self.num = num + self.sieve = [True] * self.num + self.base = 0 + self.window = window + self.tick = tick + self.coroutines = [] + self.done = False + self.nursery = None + + async def start(self): + async with trio.open_nursery() as self.nursery: + self.nursery.start_soon(self.update_text) + while self.base <= self.num / 2: + await trio.sleep(self.tick) + for i in range(self.base + 1, self.num): + if self.sieve[i]: + self.base = i + break + self.nursery.start_soon(self.mark_number, self.base + 1) + while sum(self.coroutines) > 0: + await trio.sleep(self.tick) + self.done = True + + async def mark_number(self, base): + id = len(self.coroutines) + self.coroutines.append(1) + color = QColor(randint(64, 192), randint(64, 192), randint(64, 192)) + for i in range(2 * base, self.num + 1, base): + if self.sieve[i - 1]: + self.sieve[i - 1] = False + self.window.set_num.emit(i, color) + await trio.sleep(self.tick) + self.coroutines[id] = 0 + + async def update_text(self): + while not self.done: + await trio.sleep(self.tick) + if int(trio.lowlevel.current_clock().current_time() + self.tick) % 2: + text = "⚙️ ...Calculating prime numbers... ⚙️" + else: + text = "👩‍💻 ...Hacking the universe... 👩‍💻" + self.window.widget_outer_text.setText(text) + + self.window.widget_outer_text.setText( + "🥳 Congratulations! You found all the prime numbers and solved mathematics. 🥳" + ) + + +class AsyncHelper(QObject): + + class ReenterQtObject(QObject): + """ This is a QObject to which an event will be posted, allowing + Trio to resume when the event is handled. event.fn() is the + next entry point of the Trio event loop. """ + def event(self, event): + if event.type() == QEvent.Type.User + 1: + event.fn() + return True + return False + + class ReenterQtEvent(QEvent): + """ This is the QEvent that will be handled by the ReenterQtObject. + self.fn is the next entry point of the Trio event loop. """ + def __init__(self, fn): + super().__init__(QEvent.Type(QEvent.Type.User + 1)) + self.fn = fn + + def __init__(self, worker, entry): + super().__init__() + self.reenter_qt = self.ReenterQtObject() + self.entry = entry + + self.worker = worker + if hasattr(self.worker, "start_signal") and isinstance(self.worker.start_signal, Signal): + self.worker.start_signal.connect(self.launch_guest_run) + + @Slot() + def launch_guest_run(self): + """ To use Trio and Qt together, one must run the Trio event + loop as a "guest" inside the Qt "host" event loop. """ + if not self.entry: + raise Exception("No entry point for the Trio guest run was set.") + trio.lowlevel.start_guest_run( + self.entry, + run_sync_soon_threadsafe=self.next_guest_run_schedule, + done_callback=self.trio_done_callback, + ) + + def next_guest_run_schedule(self, fn): + """ This function serves to re-schedule the guest (Trio) event + loop inside the host (Qt) event loop. It is called by Trio + at the end of an event loop run in order to relinquish back + to Qt's event loop. By posting an event on the Qt event loop + that contains Trio's next entry point, it ensures that Trio's + event loop will be scheduled again by Qt. """ + QApplication.postEvent(self.reenter_qt, self.ReenterQtEvent(fn)) + + def trio_done_callback(self, outcome_): + """ This function is called by Trio when its event loop has + finished. """ + if isinstance(outcome_, outcome.Error): + error = outcome_.error + traceback.print_exception(type(error), error, error.__traceback__) + + +if __name__ == "__main__": + rows = 40 + cols = 40 + num = rows * cols + + app = QApplication(sys.argv) + main_window = MainWindow(rows, cols) + eratosthenes = Eratosthenes(num, main_window) + async_helper = AsyncHelper(eratosthenes, eratosthenes.start) + + # This establishes the entry point for the Trio guest run. It varies + # depending on how and when its event loop is to be triggered, e.g., + # from the beginning (as here) or rather at a specific moment like + # a button press. + QTimer.singleShot(0, async_helper.launch_guest_run) + + main_window.show() + + signal.signal(signal.SIGINT, signal.SIG_DFL) + app.exec() diff --git a/examples/async/eratosthenes/requirements_trio.txt b/examples/async/eratosthenes/requirements_trio.txt new file mode 100644 index 0000000..e2cc102 --- /dev/null +++ b/examples/async/eratosthenes/requirements_trio.txt @@ -0,0 +1,2 @@ +trio +outcome diff --git a/examples/async/minimal/doc/minimal.png b/examples/async/minimal/doc/minimal.png new file mode 100644 index 0000000000000000000000000000000000000000..b8a18963f93fcec4a514975d2093a0d07dbfe18f GIT binary patch literal 8135 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 I`_). It is up to +packages to implement an event loop, support for these keywords, and more. + +The best-known package for this is `asyncio`. Since both an async package and +Qt itself work with event loops, special care must be taken to ensure that both +event loops work with each other. asyncio offers a function `stop` that allows +stopping an event loop without closing it. If it is called while a loop is +running through `run_forever`, the loop will run the current batch of callbacks +and then exit. New callbacks wil be scheduled the next time `run_forever` is +called. + +This approach is highly experimental and does not represent the state of the +art of integrating Qt with asyncio. Instead it should rather be regarded more +as a proof of concept to contrast asyncio with other async packages such as +`trio`, which offers a dedicated `low-level API +`_ for more +complicated use cases such as this. Specifically, there exists a function +`start_guest_run` that enables running the Trio event loop as a "guest" inside +another event loop - Qt's in our case. + +Based on this functionality, two examples for async usage with Qt have been +implemented: `eratosthenes` and `minimal`: + +.. image:: minimal.png + :alt: Async example: Minimal + +* `eratosthenes` is a more extensive example that visualizes the Sieve of + Eratosthenes algorithm. This algorithm per se is not one that is particularly + suitable for asynchronous operations as it's not I/O-heavy, but synchronizing + coroutines to a configurable tick allows for a good visualization. +* `minimal` is a minimal example featuring a button that triggers an + asynchronous coroutine with a sleep. It is designed to highlight which + boilerplate code is essential for an async program with Qt and offers a + starting point for more complex programs. + +Both examples feature: + +1. A window class. +2. An `AsyncHelper` class containing `start_guest_run` plus helpers and + callbacks necessary for its invocation. The entry point for the Trio/asyncio + guest run is provided as an argument from outside, which can be any async + function. + +While `eratosthenes` offloads the asynchronous logic that will run in +trio's/asyncio's event loop into a separate class, `minimal` demonstrates that +async functions can be integrated into any class, including subclasses of Qt +classes. diff --git a/examples/async/minimal/minimal.pyproject b/examples/async/minimal/minimal.pyproject new file mode 100644 index 0000000..b4b1a3f --- /dev/null +++ b/examples/async/minimal/minimal.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["minimal_trio.py", "minimal_asyncio.py"] +} diff --git a/examples/async/minimal/minimal_asyncio.py b/examples/async/minimal/minimal_asyncio.py new file mode 100644 index 0000000..80c81da --- /dev/null +++ b/examples/async/minimal/minimal_asyncio.py @@ -0,0 +1,123 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import (Qt, QEvent, QObject, Signal, Slot) +from PySide6.QtWidgets import (QApplication, QLabel, QMainWindow, QPushButton, QVBoxLayout, QWidget) + +import asyncio +import signal +import sys + + +class MainWindow(QMainWindow): + + start_signal = Signal() + done_signal = Signal() + + def __init__(self): + super().__init__() + + widget = QWidget() + self.setCentralWidget(widget) + + layout = QVBoxLayout(widget) + + self.text = QLabel("The answer is 42.") + layout.addWidget(self.text, alignment=Qt.AlignmentFlag.AlignCenter) + + async_trigger = QPushButton(text="What is the question?") + async_trigger.clicked.connect(self.async_start) + layout.addWidget(async_trigger, alignment=Qt.AlignmentFlag.AlignCenter) + + @Slot() + def async_start(self): + self.start_signal.emit() + + async def set_text(self): + await asyncio.sleep(1) + self.text.setText("What do you get if you multiply six by nine?") + self.done_signal.emit() + + +class AsyncHelper(QObject): + + class ReenterQtObject(QObject): + """ This is a QObject to which an event will be posted, allowing + asyncio to resume when the event is handled. event.fn() is + the next entry point of the asyncio event loop. """ + def event(self, event): + if event.type() == QEvent.Type.User + 1: + event.fn() + return True + return False + + class ReenterQtEvent(QEvent): + """ This is the QEvent that will be handled by the ReenterQtObject. + self.fn is the next entry point of the asyncio event loop. """ + def __init__(self, fn): + super().__init__(QEvent.Type(QEvent.Type.User + 1)) + self.fn = fn + + def __init__(self, worker, entry): + super().__init__() + self.reenter_qt = self.ReenterQtObject() + self.entry = entry + self.loop = asyncio.new_event_loop() + self.done = False + + self.worker = worker + if hasattr(self.worker, "start_signal") and isinstance(self.worker.start_signal, Signal): + self.worker.start_signal.connect(self.on_worker_started) + if hasattr(self.worker, "done_signal") and isinstance(self.worker.done_signal, Signal): + self.worker.done_signal.connect(self.on_worker_done) + + @Slot() + def on_worker_started(self): + """ To use asyncio and Qt together, one must run the asyncio + event loop as a "guest" inside the Qt "host" event loop. """ + if not self.entry: + raise Exception("No entry point for the asyncio event loop was set.") + asyncio.set_event_loop(self.loop) + self.loop.create_task(self.entry()) + self.loop.call_soon(self.next_guest_run_schedule) + self.done = False # Set this explicitly as we might want to restart the guest run. + self.loop.run_forever() + + @Slot() + def on_worker_done(self): + """ When all our current asyncio tasks are finished, we must end + the "guest run" lest we enter a quasi idle loop of switching + back and forth between the asyncio and Qt loops. We can + launch a new guest run by calling launch_guest_run() again. """ + self.done = True + + def continue_loop(self): + """ This function is called by an event posted to the Qt event + loop to continue the asyncio event loop. """ + if not self.done: + self.loop.call_soon(self.next_guest_run_schedule) + self.loop.run_forever() + + def next_guest_run_schedule(self): + """ This function serves to pause and re-schedule the guest + (asyncio) event loop inside the host (Qt) event loop. It is + registered in asyncio as a callback to be called at the next + iteration of the event loop. When this function runs, it + first stops the asyncio event loop, then by posting an event + on the Qt event loop, it both relinquishes to Qt's event + loop and also schedules the asyncio event loop to run again. + Upon handling this event, a function will be called that + resumes the asyncio event loop. """ + self.loop.stop() + QApplication.postEvent(self.reenter_qt, self.ReenterQtEvent(self.continue_loop)) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + main_window = MainWindow() + async_helper = AsyncHelper(main_window, main_window.set_text) + + main_window.show() + + signal.signal(signal.SIGINT, signal.SIG_DFL) + app.exec() diff --git a/examples/async/minimal/minimal_trio.py b/examples/async/minimal/minimal_trio.py new file mode 100644 index 0000000..5ae19fa --- /dev/null +++ b/examples/async/minimal/minimal_trio.py @@ -0,0 +1,107 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import (Qt, QEvent, QObject, Signal, Slot) +from PySide6.QtWidgets import (QApplication, QLabel, QMainWindow, QPushButton, QVBoxLayout, QWidget) + +import outcome +import signal +import sys +import traceback +import trio + + +class MainWindow(QMainWindow): + + start_signal = Signal() + + def __init__(self): + super().__init__() + + widget = QWidget() + self.setCentralWidget(widget) + + layout = QVBoxLayout(widget) + + self.text = QLabel("The answer is 42.") + layout.addWidget(self.text, alignment=Qt.AlignmentFlag.AlignCenter) + + async_trigger = QPushButton(text="What is the question?") + async_trigger.clicked.connect(self.async_start) + layout.addWidget(async_trigger, alignment=Qt.AlignmentFlag.AlignCenter) + + @Slot() + def async_start(self): + self.start_signal.emit() + + async def set_text(self): + await trio.sleep(1) + self.text.setText("What do you get if you multiply six by nine?") + + +class AsyncHelper(QObject): + + class ReenterQtObject(QObject): + """ This is a QObject to which an event will be posted, allowing + Trio to resume when the event is handled. event.fn() is the + next entry point of the Trio event loop. """ + def event(self, event): + if event.type() == QEvent.Type.User + 1: + event.fn() + return True + return False + + class ReenterQtEvent(QEvent): + """ This is the QEvent that will be handled by the ReenterQtObject. + self.fn is the next entry point of the Trio event loop. """ + def __init__(self, fn): + super().__init__(QEvent.Type(QEvent.Type.User + 1)) + self.fn = fn + + def __init__(self, worker, entry): + super().__init__() + self.reenter_qt = self.ReenterQtObject() + self.entry = entry + + self.worker = worker + if hasattr(self.worker, "start_signal") and isinstance(self.worker.start_signal, Signal): + self.worker.start_signal.connect(self.launch_guest_run) + + @Slot() + def launch_guest_run(self): + """ To use Trio and Qt together, one must run the Trio event + loop as a "guest" inside the Qt "host" event loop. """ + if not self.entry: + raise Exception("No entry point for the Trio guest run was set.") + trio.lowlevel.start_guest_run( + self.entry, + run_sync_soon_threadsafe=self.next_guest_run_schedule, + done_callback=self.trio_done_callback, + ) + + def next_guest_run_schedule(self, fn): + """ This function serves to re-schedule the guest (Trio) event + loop inside the host (Qt) event loop. It is called by Trio + at the end of an event loop run in order to relinquish back + to Qt's event loop. By posting an event on the Qt event loop + that contains Trio's next entry point, it ensures that Trio's + event loop will be scheduled again by Qt. """ + QApplication.postEvent(self.reenter_qt, self.ReenterQtEvent(fn)) + + def trio_done_callback(self, outcome_): + """ This function is called by Trio when its event loop has + finished. """ + if isinstance(outcome_, outcome.Error): + error = outcome_.error + traceback.print_exception(type(error), error, error.__traceback__) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + main_window = MainWindow() + async_helper = AsyncHelper(main_window, main_window.set_text) + + main_window.show() + + signal.signal(signal.SIGINT, signal.SIG_DFL) + app.exec() diff --git a/examples/async/minimal/requirements_trio.txt b/examples/async/minimal/requirements_trio.txt new file mode 100644 index 0000000..ae0d704 --- /dev/null +++ b/examples/async/minimal/requirements_trio.txt @@ -0,0 +1 @@ +trio diff --git a/examples/axcontainer/axviewer/axviewer.py b/examples/axcontainer/axviewer/axviewer.py new file mode 100644 index 0000000..abc0599 --- /dev/null +++ b/examples/axcontainer/axviewer/axviewer.py @@ -0,0 +1,47 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 Active Qt Viewer example""" + +import sys +from PySide6.QtAxContainer import QAxSelect, QAxWidget +from PySide6.QtGui import QAction +from PySide6.QtWidgets import (QApplication, QDialog, + QMainWindow, QMessageBox, QToolBar) + + +class MainWindow(QMainWindow): + + def __init__(self): + super().__init__() + + toolBar = QToolBar() + self.addToolBar(toolBar) + fileMenu = self.menuBar().addMenu("&File") + loadAction = QAction("Load...", self, shortcut="Ctrl+L", triggered=self.load) + fileMenu.addAction(loadAction) + toolBar.addAction(loadAction) + exitAction = QAction("E&xit", self, shortcut="Ctrl+Q", triggered=self.close) + fileMenu.addAction(exitAction) + + aboutMenu = self.menuBar().addMenu("&About") + aboutQtAct = QAction("About &Qt", self, triggered=qApp.aboutQt) + aboutMenu.addAction(aboutQtAct) + self.axWidget = QAxWidget() + self.setCentralWidget(self.axWidget) + + def load(self): + axSelect = QAxSelect(self) + if axSelect.exec() == QDialog.Accepted: + clsid = axSelect.clsid() + if not self.axWidget.setControl(clsid): + QMessageBox.warning(self, "AxViewer", f"Unable to load {clsid}.") + + +if __name__ == '__main__': + app = QApplication(sys.argv) + mainWin = MainWindow() + availableGeometry = mainWin.screen().availableGeometry() + mainWin.resize(availableGeometry.width() / 3, availableGeometry.height() / 2) + mainWin.show() + sys.exit(app.exec()) diff --git a/examples/axcontainer/axviewer/axviewer.pyproject b/examples/axcontainer/axviewer/axviewer.pyproject new file mode 100644 index 0000000..b054d6f --- /dev/null +++ b/examples/axcontainer/axviewer/axviewer.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["axviewer.py"] +} diff --git a/examples/axcontainer/axviewer/doc/axviewer.png b/examples/axcontainer/axviewer/doc/axviewer.png new file mode 100644 index 0000000000000000000000000000000000000000..7ce6ad8a47f7b98266f28ff1b1b17dab5cb7a6b7 GIT binary patch literal 16158 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 + + DeviceDiscovery + + + + 0 + 0 + 400 + 411 + + + + Bluetooth Scanner + + + + + + + + + Local Device + + + + + + Bluetooth Powered On + + + true + + + + + + + Discoverable + + + true + + + + + + + + + + + + Scan + + + + + + + Clear + + + + + + + Quit + + + + + + + + + + + quit + clicked() + DeviceDiscovery + accept() + + + 323 + 275 + + + 396 + 268 + + + + + clear + clicked() + list + clear() + + + 188 + 276 + + + 209 + 172 + + + + + diff --git a/examples/bluetooth/btscanner/doc/btscanner.rst b/examples/bluetooth/btscanner/doc/btscanner.rst new file mode 100644 index 0000000..d99af3b --- /dev/null +++ b/examples/bluetooth/btscanner/doc/btscanner.rst @@ -0,0 +1,4 @@ +Bluetooth Scanner Example +========================= + +An example showing how to locate Bluetooth devices. diff --git a/examples/bluetooth/btscanner/main.py b/examples/bluetooth/btscanner/main.py new file mode 100644 index 0000000..a54a862 --- /dev/null +++ b/examples/bluetooth/btscanner/main.py @@ -0,0 +1,17 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the bluetooth/btscanner example from Qt v6.x""" + +import sys + +from PySide6.QtWidgets import QApplication + +from device import DeviceDiscoveryDialog + + +if __name__ == '__main__': + app = QApplication(sys.argv) + d = DeviceDiscoveryDialog() + d.exec() + sys.exit(0) diff --git a/examples/bluetooth/btscanner/service.py b/examples/bluetooth/btscanner/service.py new file mode 100644 index 0000000..31df8a9 --- /dev/null +++ b/examples/bluetooth/btscanner/service.py @@ -0,0 +1,48 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Slot +from PySide6.QtWidgets import QDialog +from PySide6.QtBluetooth import (QBluetoothAddress, QBluetoothServiceInfo, + QBluetoothServiceDiscoveryAgent, QBluetoothLocalDevice) + +from ui_service import Ui_ServiceDiscovery + + +class ServiceDiscoveryDialog(QDialog): + def __init__(self, name, address, parent=None): + super().__init__(parent) + self._ui = Ui_ServiceDiscovery() + self._ui.setupUi(self) + + # Using default Bluetooth adapter + local_device = QBluetoothLocalDevice() + adapter_address = QBluetoothAddress(local_device.address()) + + # In case of multiple Bluetooth adapters it is possible to + # set which adapter will be used by providing MAC Address. + # Example code: + # + # adapterAddress = QBluetoothAddress("XX:XX:XX:XX:XX:XX") + # discoveryAgent = QBluetoothServiceDiscoveryAgent(adapterAddress) + + self._discovery_agent = QBluetoothServiceDiscoveryAgent(adapter_address) + self._discovery_agent.setRemoteAddress(address) + + self.setWindowTitle(name) + + self._discovery_agent.serviceDiscovered.connect(self.add_service) + self._discovery_agent.finished.connect(self._ui.status.hide) + self._discovery_agent.start() + + @Slot(QBluetoothServiceInfo) + def add_service(self, info): + line = info.serviceName() + if not line: + return + + if info.serviceDescription(): + line += "\n\t" + info.serviceDescription() + if info.serviceProvider(): + line += "\n\t" + info.serviceProvider() + self._ui.list.addItem(line) diff --git a/examples/bluetooth/btscanner/service.ui b/examples/bluetooth/btscanner/service.ui new file mode 100644 index 0000000..4ca12ee --- /dev/null +++ b/examples/bluetooth/btscanner/service.ui @@ -0,0 +1,71 @@ + + + ServiceDiscovery + + + + 0 + 0 + 539 + 486 + + + + Available Services + + + + + + + + + Querying... + + + + + + + QDialogButtonBox::Close + + + + + + + + + buttonBox + accepted() + ServiceDiscovery + accept() + + + 396 + 457 + + + 535 + 443 + + + + + buttonBox + rejected() + ServiceDiscovery + reject() + + + 339 + 464 + + + 535 + 368 + + + + + diff --git a/examples/bluetooth/btscanner/ui_device.py b/examples/bluetooth/btscanner/ui_device.py new file mode 100644 index 0000000..0740afa --- /dev/null +++ b/examples/bluetooth/btscanner/ui_device.py @@ -0,0 +1,90 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'device.ui' +## +## Created by: Qt User Interface Compiler version 6.2.3 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QApplication, QCheckBox, QDialog, QGroupBox, + QHBoxLayout, QListWidget, QListWidgetItem, QPushButton, + QSizePolicy, QVBoxLayout, QWidget) + +class Ui_DeviceDiscovery(object): + def setupUi(self, DeviceDiscovery): + if not DeviceDiscovery.objectName(): + DeviceDiscovery.setObjectName(u"DeviceDiscovery") + DeviceDiscovery.resize(400, 411) + self.verticalLayout = QVBoxLayout(DeviceDiscovery) + self.verticalLayout.setObjectName(u"verticalLayout") + self.list = QListWidget(DeviceDiscovery) + self.list.setObjectName(u"list") + + self.verticalLayout.addWidget(self.list) + + self.groupBox = QGroupBox(DeviceDiscovery) + self.groupBox.setObjectName(u"groupBox") + self.horizontalLayout_2 = QHBoxLayout(self.groupBox) + self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.power = QCheckBox(self.groupBox) + self.power.setObjectName(u"power") + self.power.setChecked(True) + + self.horizontalLayout_2.addWidget(self.power) + + self.discoverable = QCheckBox(self.groupBox) + self.discoverable.setObjectName(u"discoverable") + self.discoverable.setChecked(True) + + self.horizontalLayout_2.addWidget(self.discoverable) + + + self.verticalLayout.addWidget(self.groupBox) + + self.horizontalLayout = QHBoxLayout() + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.scan = QPushButton(DeviceDiscovery) + self.scan.setObjectName(u"scan") + + self.horizontalLayout.addWidget(self.scan) + + self.clear = QPushButton(DeviceDiscovery) + self.clear.setObjectName(u"clear") + + self.horizontalLayout.addWidget(self.clear) + + self.quit = QPushButton(DeviceDiscovery) + self.quit.setObjectName(u"quit") + + self.horizontalLayout.addWidget(self.quit) + + + self.verticalLayout.addLayout(self.horizontalLayout) + + + self.retranslateUi(DeviceDiscovery) + self.quit.clicked.connect(DeviceDiscovery.accept) + self.clear.clicked.connect(self.list.clear) + + QMetaObject.connectSlotsByName(DeviceDiscovery) + # setupUi + + def retranslateUi(self, DeviceDiscovery): + DeviceDiscovery.setWindowTitle(QCoreApplication.translate("DeviceDiscovery", u"Bluetooth Scanner", None)) + self.groupBox.setTitle(QCoreApplication.translate("DeviceDiscovery", u"Local Device", None)) + self.power.setText(QCoreApplication.translate("DeviceDiscovery", u"Bluetooth Powered On", None)) + self.discoverable.setText(QCoreApplication.translate("DeviceDiscovery", u"Discoverable", None)) + self.scan.setText(QCoreApplication.translate("DeviceDiscovery", u"Scan", None)) + self.clear.setText(QCoreApplication.translate("DeviceDiscovery", u"Clear", None)) + self.quit.setText(QCoreApplication.translate("DeviceDiscovery", u"Quit", None)) + # retranslateUi + diff --git a/examples/bluetooth/btscanner/ui_service.py b/examples/bluetooth/btscanner/ui_service.py new file mode 100644 index 0000000..fc1f45f --- /dev/null +++ b/examples/bluetooth/btscanner/ui_service.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'service.ui' +## +## Created by: Qt User Interface Compiler version 6.2.3 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QAbstractButton, QApplication, QDialog, QDialogButtonBox, + QLabel, QListWidget, QListWidgetItem, QSizePolicy, + QVBoxLayout, QWidget) + +class Ui_ServiceDiscovery(object): + def setupUi(self, ServiceDiscovery): + if not ServiceDiscovery.objectName(): + ServiceDiscovery.setObjectName(u"ServiceDiscovery") + ServiceDiscovery.resize(539, 486) + self.verticalLayout = QVBoxLayout(ServiceDiscovery) + self.verticalLayout.setObjectName(u"verticalLayout") + self.list = QListWidget(ServiceDiscovery) + self.list.setObjectName(u"list") + + self.verticalLayout.addWidget(self.list) + + self.status = QLabel(ServiceDiscovery) + self.status.setObjectName(u"status") + + self.verticalLayout.addWidget(self.status) + + self.buttonBox = QDialogButtonBox(ServiceDiscovery) + self.buttonBox.setObjectName(u"buttonBox") + self.buttonBox.setStandardButtons(QDialogButtonBox.Close) + + self.verticalLayout.addWidget(self.buttonBox) + + + self.retranslateUi(ServiceDiscovery) + self.buttonBox.accepted.connect(ServiceDiscovery.accept) + self.buttonBox.rejected.connect(ServiceDiscovery.reject) + + QMetaObject.connectSlotsByName(ServiceDiscovery) + # setupUi + + def retranslateUi(self, ServiceDiscovery): + ServiceDiscovery.setWindowTitle(QCoreApplication.translate("ServiceDiscovery", u"Available Services", None)) + self.status.setText(QCoreApplication.translate("ServiceDiscovery", u"Querying...", None)) + # retranslateUi + diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/App.qml b/examples/bluetooth/heartrate_game/HeartRateGame/App.qml new file mode 100644 index 0000000..db6aa71 --- /dev/null +++ b/examples/bluetooth/heartrate_game/HeartRateGame/App.qml @@ -0,0 +1,99 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Layouts +import HeartRateGame + +Item { + id: app + + required property ConnectionHandler connectionHandler + required property DeviceFinder deviceFinder + required property DeviceHandler deviceHandler + + anchors.fill: parent + opacity: 0.0 + + Behavior on opacity { + NumberAnimation { + duration: 500 + } + } + + property int __currentIndex: 0 + + TitleBar { + id: titleBar + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + currentIndex: app.__currentIndex + + onTitleClicked: (index) => { + if (index < app.__currentIndex) + app.__currentIndex = index + } + } + + StackLayout { + id: pageStack + anchors.left: parent.left + anchors.right: parent.right + anchors.top: titleBar.bottom + anchors.bottom: parent.bottom + currentIndex: app.__currentIndex + + Connect { + connectionHandler: app.connectionHandler + deviceFinder: app.deviceFinder + deviceHandler: app.deviceHandler + + onShowMeasurePage: app.__currentIndex = 1 + } + Measure { + id: measurePage + deviceHandler: app.deviceHandler + + onShowStatsPage: app.__currentIndex = 2 + } + Stats { + deviceHandler: app.deviceHandler + } + + onCurrentIndexChanged: { + if (currentIndex === 0) + measurePage.close() + } + } + + BluetoothAlarmDialog { + id: btAlarmDialog + anchors.fill: parent + visible: !app.connectionHandler.alive || permissionError + permissionError: !app.connectionHandler.hasPermission + } + + Keys.onReleased: (event) => { + switch (event.key) { + case Qt.Key_Escape: + case Qt.Key_Back: + { + if (app.__currentIndex > 0) { + app.__currentIndex = app.__currentIndex - 1 + event.accepted = true + } else { + Qt.quit() + } + break + } + default: + break + } + } + + Component.onCompleted: { + forceActiveFocus() + app.opacity = 1.0 + } +} diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/BluetoothAlarmDialog.qml b/examples/bluetooth/heartrate_game/HeartRateGame/BluetoothAlarmDialog.qml new file mode 100644 index 0000000..3687b13 --- /dev/null +++ b/examples/bluetooth/heartrate_game/HeartRateGame/BluetoothAlarmDialog.qml @@ -0,0 +1,79 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Item { + id: root + + property bool permissionError: false + + anchors.fill: parent + + Rectangle { + anchors.fill: parent + color: "black" + opacity: 0.9 + } + + MouseArea { + id: eventEater + } + + Rectangle { + id: dialogFrame + + anchors.centerIn: parent + width: parent.width * 0.8 + height: parent.height * 0.6 + border.color: "#454545" + color: GameSettings.backgroundColor + radius: width * 0.05 + + Item { + id: dialogContainer + anchors.fill: parent + anchors.margins: parent.width*0.05 + + Image { + id: offOnImage + anchors.left: quitButton.left + anchors.right: quitButton.right + anchors.top: parent.top + height: GameSettings.heightForWidth(width, sourceSize) + source: "images/bt_off_to_on.png" + } + + Text { + anchors.left: parent.left + anchors.right: parent.right + anchors.top: offOnImage.bottom + anchors.bottom: quitButton.top + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + wrapMode: Text.WordWrap + font.pixelSize: GameSettings.mediumFontSize + color: GameSettings.textColor + text: root.permissionError + ? qsTr("Bluetooth permissions are not granted. Please grant the permissions in the system settings.") + : qsTr("This application cannot be used without Bluetooth. Please switch Bluetooth ON to continue.") + } + + GameButton { + id: quitButton + anchors.bottom: parent.bottom + anchors.horizontalCenter: parent.horizontalCenter + width: dialogContainer.width * 0.6 + height: GameSettings.buttonHeight + onClicked: Qt.quit() + + Text { + anchors.centerIn: parent + color: GameSettings.textColor + font.pixelSize: GameSettings.bigFontSize + text: qsTr("Quit") + } + } + } + } +} diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/BottomLine.qml b/examples/bluetooth/heartrate_game/HeartRateGame/BottomLine.qml new file mode 100644 index 0000000..caebc30 --- /dev/null +++ b/examples/bluetooth/heartrate_game/HeartRateGame/BottomLine.qml @@ -0,0 +1,12 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Rectangle { + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: parent.bottom + width: parent.width * 0.85 + height: parent.height * 0.05 + radius: height*0.5 +} diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/Connect.qml b/examples/bluetooth/heartrate_game/HeartRateGame/Connect.qml new file mode 100644 index 0000000..ca8ef29 --- /dev/null +++ b/examples/bluetooth/heartrate_game/HeartRateGame/Connect.qml @@ -0,0 +1,159 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +pragma ComponentBehavior: Bound +import QtQuick +import HeartRateGame + +GamePage { + id: connectPage + + required property ConnectionHandler connectionHandler + required property DeviceFinder deviceFinder + required property DeviceHandler deviceHandler + + signal showMeasurePage + + errorMessage: deviceFinder.error + infoMessage: deviceFinder.info + + Rectangle { + id: viewContainer + anchors.top: parent.top + // only BlueZ platform has address type selection + anchors.bottom: connectPage.connectionHandler.requiresAddressType ? addressTypeButton.top + : searchButton.top + anchors.topMargin: GameSettings.fieldMargin + connectPage.messageHeight + anchors.bottomMargin: GameSettings.fieldMargin + anchors.horizontalCenter: parent.horizontalCenter + width: parent.width - GameSettings.fieldMargin * 2 + color: GameSettings.viewColor + radius: GameSettings.buttonRadius + + Text { + id: title + width: parent.width + height: GameSettings.fieldHeight + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + color: GameSettings.textColor + font.pixelSize: GameSettings.mediumFontSize + text: qsTr("FOUND DEVICES") + + BottomLine { + height: 1 + width: parent.width + color: "#898989" + } + } + + ListView { + id: devices + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + anchors.top: title.bottom + model: connectPage.deviceFinder.devices + clip: true + + delegate: Rectangle { + id: box + + required property int index + required property var modelData + + height: GameSettings.fieldHeight * 1.2 + width: devices.width + color: index % 2 === 0 ? GameSettings.delegate1Color : GameSettings.delegate2Color + + MouseArea { + anchors.fill: parent + onClicked: { + connectPage.deviceFinder.connectToService(box.modelData.deviceAddress) + connectPage.showMeasurePage() + } + } + + Text { + id: device + font.pixelSize: GameSettings.smallFontSize + text: box.modelData.deviceName + anchors.top: parent.top + anchors.topMargin: parent.height * 0.1 + anchors.leftMargin: parent.height * 0.1 + anchors.left: parent.left + color: GameSettings.textColor + } + + Text { + id: deviceAddress + font.pixelSize: GameSettings.smallFontSize + text: box.modelData.deviceAddress + anchors.bottom: parent.bottom + anchors.bottomMargin: parent.height * 0.1 + anchors.rightMargin: parent.height * 0.1 + anchors.right: parent.right + color: Qt.darker(GameSettings.textColor) + } + } + } + } + + GameButton { + id: addressTypeButton + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: searchButton.top + anchors.bottomMargin: GameSettings.fieldMargin * 0.5 + width: viewContainer.width + height: GameSettings.fieldHeight + visible: connectPage.connectionHandler.requiresAddressType // only required on BlueZ + state: "public" + onClicked: state === "public" ? state = "random" : state = "public" + + states: [ + State { + name: "public" + PropertyChanges { + addressTypeText.text: qsTr("Public Address") + } + PropertyChanges { + connectPage.deviceHandler.addressType: DeviceHandler.PUBLIC_ADDRESS + } + }, + State { + name: "random" + PropertyChanges { + addressTypeText.text: qsTr("Random Address") + } + PropertyChanges { + connectPage.deviceHandler.addressType: DeviceHandler.RANDOM_ADDRESS + } + } + ] + + Text { + id: addressTypeText + anchors.centerIn: parent + font.pixelSize: GameSettings.tinyFontSize + color: GameSettings.textColor + } + } + + GameButton { + id: searchButton + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: parent.bottom + anchors.bottomMargin: GameSettings.fieldMargin + width: viewContainer.width + height: GameSettings.fieldHeight + enabled: !connectPage.deviceFinder.scanning + onClicked: connectPage.deviceFinder.startSearch() + + Text { + anchors.centerIn: parent + font.pixelSize: GameSettings.tinyFontSize + text: qsTr("START SEARCH") + color: searchButton.enabled ? GameSettings.textColor : GameSettings.disabledTextColor + } + } +} diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/GameButton.qml b/examples/bluetooth/heartrate_game/HeartRateGame/GameButton.qml new file mode 100644 index 0000000..8e87601 --- /dev/null +++ b/examples/bluetooth/heartrate_game/HeartRateGame/GameButton.qml @@ -0,0 +1,39 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Rectangle { + id: button + color: baseColor + onEnabledChanged: checkColor() + radius: GameSettings.buttonRadius + + property color baseColor: GameSettings.buttonColor + property color pressedColor: GameSettings.buttonPressedColor + property color disabledColor: GameSettings.disabledButtonColor + + signal clicked + + function checkColor() { + if (!button.enabled) { + button.color = disabledColor + } else { + if (mouseArea.containsPress) + button.color = pressedColor + else + button.color = baseColor + } + } + + MouseArea { + id: mouseArea + anchors.fill: parent + onPressed: button.checkColor() + onReleased: button.checkColor() + onClicked: { + button.checkColor() + button.clicked() + } + } +} diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/GamePage.qml b/examples/bluetooth/heartrate_game/HeartRateGame/GamePage.qml new file mode 100644 index 0000000..249f941 --- /dev/null +++ b/examples/bluetooth/heartrate_game/HeartRateGame/GamePage.qml @@ -0,0 +1,36 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Item { + id: page + + property string errorMessage: "" + property string infoMessage: "" + property real messageHeight: msg.height + property bool hasError: errorMessage != "" + property bool hasInfo: infoMessage != "" + + Rectangle { + id: msg + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + height: GameSettings.fieldHeight + color: page.hasError ? GameSettings.errorColor : GameSettings.infoColor + visible: page.hasError || page.hasInfo + + Text { + id: error + anchors.fill: parent + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + minimumPixelSize: 5 + font.pixelSize: GameSettings.smallFontSize + fontSizeMode: Text.Fit + color: GameSettings.textColor + text: page.hasError ? page.errorMessage : page.infoMessage + } + } +} diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/GameSettings.qml b/examples/bluetooth/heartrate_game/HeartRateGame/GameSettings.qml new file mode 100644 index 0000000..0fe8546 --- /dev/null +++ b/examples/bluetooth/heartrate_game/HeartRateGame/GameSettings.qml @@ -0,0 +1,51 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +pragma Singleton +import QtQuick + +Item { + property int wHeight + property int wWidth + + // Colors + readonly property color backgroundColor: "#2d3037" + readonly property color buttonColor: "#202227" + readonly property color buttonPressedColor: "#6ccaf2" + readonly property color disabledButtonColor: "#555555" + readonly property color viewColor: "#202227" + readonly property color delegate1Color: Qt.darker(viewColor, 1.2) + readonly property color delegate2Color: Qt.lighter(viewColor, 1.2) + readonly property color textColor: "#ffffff" + readonly property color textDarkColor: "#232323" + readonly property color disabledTextColor: "#777777" + readonly property color sliderColor: "#6ccaf2" + readonly property color errorColor: "#ba3f62" + readonly property color infoColor: "#3fba62" + + // Font sizes + property real microFontSize: hugeFontSize * 0.2 + property real tinyFontSize: hugeFontSize * 0.4 + property real smallTinyFontSize: hugeFontSize * 0.5 + property real smallFontSize: hugeFontSize * 0.6 + property real mediumFontSize: hugeFontSize * 0.7 + property real bigFontSize: hugeFontSize * 0.8 + property real largeFontSize: hugeFontSize * 0.9 + property real hugeFontSize: (wWidth + wHeight) * 0.03 + property real giganticFontSize: (wWidth + wHeight) * 0.04 + + // Some other values + property real fieldHeight: wHeight * 0.08 + property real fieldMargin: fieldHeight * 0.5 + property real buttonHeight: wHeight * 0.08 + property real buttonRadius: buttonHeight * 0.1 + + // Some help functions + function widthForHeight(h, ss) { + return h / ss.height * ss.width + } + + function heightForWidth(w, ss) { + return w / ss.width * ss.height + } +} diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/Main.qml b/examples/bluetooth/heartrate_game/HeartRateGame/Main.qml new file mode 100644 index 0000000..e26f9b0 --- /dev/null +++ b/examples/bluetooth/heartrate_game/HeartRateGame/Main.qml @@ -0,0 +1,71 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +pragma ComponentBehavior: Bound +import QtQuick +import QtQuick.Window +import HeartRateGame + +Window { + id: wroot + visible: true + width: 720 * .7 + height: 1240 * .7 + title: qsTr("HeartRateGame") + color: GameSettings.backgroundColor + + required property ConnectionHandler connectionHandler + required property DeviceFinder deviceFinder + required property DeviceHandler deviceHandler + + Component.onCompleted: { + GameSettings.wWidth = Qt.binding(function () { + return width + }) + GameSettings.wHeight = Qt.binding(function () { + return height + }) + } + + Loader { + id: splashLoader + anchors.fill: parent + asynchronous: false + visible: true + + sourceComponent: SplashScreen { + appIsReady: appLoader.status === Loader.Ready + onReadyChanged: { + if (ready) { + appLoader.visible = true + splashLoader.visible = false + splashLoader.active = false + } + } + } + + onStatusChanged: { + if (status === Loader.Ready) + appLoader.active = true + } + } + + Loader { + id: appLoader + anchors.fill: parent + active: false + asynchronous: true + visible: false + + sourceComponent: App { + connectionHandler: wroot.connectionHandler + deviceFinder: wroot.deviceFinder + deviceHandler: wroot.deviceHandler + } + + onStatusChanged: { + if (status === Loader.Error) + Qt.quit() + } + } +} diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/Measure.qml b/examples/bluetooth/heartrate_game/HeartRateGame/Measure.qml new file mode 100644 index 0000000..48e84e7 --- /dev/null +++ b/examples/bluetooth/heartrate_game/HeartRateGame/Measure.qml @@ -0,0 +1,212 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import HeartRateGame + +GamePage { + id: measurePage + + required property DeviceHandler deviceHandler + + errorMessage: deviceHandler.error + infoMessage: deviceHandler.info + + property real __timeCounter: 0 + property real __maxTimeCount: 60 + property string relaxText: qsTr("Relax!\nWhen you are ready, press Start. You have %1s time to increase heartrate so much as possible.\nGood luck!").arg(__maxTimeCount) + + signal showStatsPage + + function close() { + deviceHandler.stopMeasurement() + deviceHandler.disconnectService() + } + + function start() { + if (!deviceHandler.measuring) { + __timeCounter = 0 + deviceHandler.startMeasurement() + } + } + + function stop() { + if (deviceHandler.measuring) + deviceHandler.stopMeasurement() + + measurePage.showStatsPage() + } + + Timer { + id: measureTimer + interval: 1000 + running: measurePage.deviceHandler.measuring + repeat: true + onTriggered: { + measurePage.__timeCounter++ + if (measurePage.__timeCounter >= measurePage.__maxTimeCount) + measurePage.stop() + } + } + + Column { + anchors.centerIn: parent + spacing: GameSettings.fieldHeight * 0.5 + + Rectangle { + id: circle + anchors.horizontalCenter: parent.horizontalCenter + width: Math.min(measurePage.width, measurePage.height - GameSettings.fieldHeight * 4) + - 2 * GameSettings.fieldMargin + height: width + radius: width * 0.5 + color: GameSettings.viewColor + + Text { + id: hintText + anchors.centerIn: parent + anchors.verticalCenterOffset: -parent.height * 0.1 + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + width: parent.width * 0.8 + height: parent.height * 0.6 + wrapMode: Text.WordWrap + text: measurePage.relaxText + visible: !measurePage.deviceHandler.measuring + color: GameSettings.textColor + fontSizeMode: Text.Fit + minimumPixelSize: 10 + font.pixelSize: GameSettings.mediumFontSize + } + + Text { + id: text + anchors.centerIn: parent + anchors.verticalCenterOffset: -parent.height * 0.15 + font.pixelSize: parent.width * 0.45 + text: measurePage.deviceHandler.hr + visible: measurePage.deviceHandler.measuring + color: GameSettings.textColor + } + + Item { + id: minMaxContainer + anchors.horizontalCenter: parent.horizontalCenter + width: parent.width * 0.7 + height: parent.height * 0.15 + anchors.bottom: parent.bottom + anchors.bottomMargin: parent.height * 0.16 + visible: measurePage.deviceHandler.measuring + + Text { + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + text: measurePage.deviceHandler.minHR + color: GameSettings.textColor + font.pixelSize: GameSettings.hugeFontSize + + Text { + anchors.left: parent.left + anchors.bottom: parent.top + font.pixelSize: parent.font.pixelSize * 0.8 + color: parent.color + text: "MIN" + } + } + + Text { + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + text: measurePage.deviceHandler.maxHR + color: GameSettings.textColor + font.pixelSize: GameSettings.hugeFontSize + + Text { + anchors.right: parent.right + anchors.bottom: parent.top + font.pixelSize: parent.font.pixelSize * 0.8 + color: parent.color + text: "MAX" + } + } + } + + Image { + id: heart + anchors.horizontalCenter: minMaxContainer.horizontalCenter + anchors.verticalCenter: minMaxContainer.bottom + width: parent.width * 0.2 + height: width + source: "images/heart.png" + smooth: true + antialiasing: true + + SequentialAnimation { + id: heartAnim + running: measurePage.deviceHandler.alive + loops: Animation.Infinite + alwaysRunToEnd: true + PropertyAnimation { + target: heart + property: "scale" + to: 1.2 + duration: 500 + easing.type: Easing.InQuad + } + PropertyAnimation { + target: heart + property: "scale" + to: 1.0 + duration: 500 + easing.type: Easing.OutQuad + } + } + } + } + + Rectangle { + id: timeSlider + color: GameSettings.viewColor + anchors.horizontalCenter: parent.horizontalCenter + width: circle.width + height: GameSettings.fieldHeight + radius: GameSettings.buttonRadius + + Rectangle { + height: parent.height + radius: parent.radius + color: GameSettings.sliderColor + width: Math.min( + 1.0, + measurePage.__timeCounter / measurePage.__maxTimeCount) * parent.width + } + + Text { + anchors.centerIn: parent + color: "gray" + text: (measurePage.__maxTimeCount - measurePage.__timeCounter).toFixed(0) + " s" + font.pixelSize: GameSettings.bigFontSize + } + } + } + + GameButton { + id: startButton + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: parent.bottom + anchors.bottomMargin: GameSettings.fieldMargin + width: circle.width + height: GameSettings.fieldHeight + enabled: !measurePage.deviceHandler.measuring + radius: GameSettings.buttonRadius + + onClicked: measurePage.start() + + Text { + anchors.centerIn: parent + font.pixelSize: GameSettings.tinyFontSize + text: qsTr("START") + color: startButton.enabled ? GameSettings.textColor : GameSettings.disabledTextColor + } + } +} diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/SplashScreen.qml b/examples/bluetooth/heartrate_game/HeartRateGame/SplashScreen.qml new file mode 100644 index 0000000..2f9ac1b --- /dev/null +++ b/examples/bluetooth/heartrate_game/HeartRateGame/SplashScreen.qml @@ -0,0 +1,30 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import HeartRateGame + +Item { + id: root + + property bool appIsReady: false + property bool splashIsReady: false + property bool ready: appIsReady && splashIsReady + + anchors.fill: parent + + Image { + anchors.centerIn: parent + width: Math.min(parent.height, parent.width) * 0.6 + height: GameSettings.heightForWidth(width, sourceSize) + source: "images/logo.png" + } + + Timer { + id: splashTimer + interval: 1000 + onTriggered: splashIsReady = true + } + + Component.onCompleted: splashTimer.start() +} diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/Stats.qml b/examples/bluetooth/heartrate_game/HeartRateGame/Stats.qml new file mode 100644 index 0000000..22cdd53 --- /dev/null +++ b/examples/bluetooth/heartrate_game/HeartRateGame/Stats.qml @@ -0,0 +1,55 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import HeartRateGame + +GamePage { + id: statsPage + + required property DeviceHandler deviceHandler + + Column { + anchors.centerIn: parent + width: parent.width + + Text { + anchors.horizontalCenter: parent.horizontalCenter + font.pixelSize: GameSettings.hugeFontSize + color: GameSettings.textColor + text: qsTr("RESULT") + } + + Text { + anchors.horizontalCenter: parent.horizontalCenter + font.pixelSize: GameSettings.giganticFontSize * 3 + color: GameSettings.textColor + text: (statsPage.deviceHandler.maxHR - statsPage.deviceHandler.minHR).toFixed(0) + } + + Item { + height: GameSettings.fieldHeight + width: 1 + } + + StatsLabel { + title: qsTr("MIN") + value: statsPage.deviceHandler.minHR.toFixed(0) + } + + StatsLabel { + title: qsTr("MAX") + value: statsPage.deviceHandler.maxHR.toFixed(0) + } + + StatsLabel { + title: qsTr("AVG") + value: statsPage.deviceHandler.average.toFixed(1) + } + + StatsLabel { + title: qsTr("CALORIES") + value: statsPage.deviceHandler.calories.toFixed(3) + } + } +} diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/StatsLabel.qml b/examples/bluetooth/heartrate_game/HeartRateGame/StatsLabel.qml new file mode 100644 index 0000000..0ea4249 --- /dev/null +++ b/examples/bluetooth/heartrate_game/HeartRateGame/StatsLabel.qml @@ -0,0 +1,34 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Item { + height: GameSettings.fieldHeight + width: parent.width + + property alias title: leftText.text + property alias value: rightText.text + + Text { + id: leftText + anchors.left: parent.left + height: parent.height + width: parent.width * 0.45 + horizontalAlignment: Text.AlignRight + verticalAlignment: Text.AlignVCenter + font.pixelSize: GameSettings.mediumFontSize + color: GameSettings.textColor + } + + Text { + id: rightText + anchors.right: parent.right + height: parent.height + width: parent.width * 0.45 + horizontalAlignment: Text.AlignLeft + verticalAlignment: Text.AlignVCenter + font.pixelSize: GameSettings.mediumFontSize + color: GameSettings.textColor + } +} diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/TitleBar.qml b/examples/bluetooth/heartrate_game/HeartRateGame/TitleBar.qml new file mode 100644 index 0000000..016a443 --- /dev/null +++ b/examples/bluetooth/heartrate_game/HeartRateGame/TitleBar.qml @@ -0,0 +1,54 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +pragma ComponentBehavior: Bound +import QtQuick + +Rectangle { + id: titleBar + + property var __titles: ["CONNECT", "MEASURE", "STATS"] + property int currentIndex: 0 + + signal titleClicked(int index) + + height: GameSettings.fieldHeight + color: GameSettings.viewColor + + Repeater { + model: 3 + Text { + id: caption + required property int index + width: titleBar.width / 3 + height: titleBar.height + x: index * width + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + text: titleBar.__titles[index] + font.pixelSize: GameSettings.tinyFontSize + color: titleBar.currentIndex === index ? GameSettings.textColor + : GameSettings.disabledTextColor + + MouseArea { + anchors.fill: parent + onClicked: titleBar.titleClicked(caption.index) + } + } + } + + Item { + anchors.bottom: parent.bottom + width: parent.width / 3 + height: parent.height + x: titleBar.currentIndex * width + + BottomLine {} + + Behavior on x { + NumberAnimation { + duration: 200 + } + } + } +} diff --git a/examples/bluetooth/heartrate_game/HeartRateGame/images/bt_off_to_on.png b/examples/bluetooth/heartrate_game/HeartRateGame/images/bt_off_to_on.png new file mode 100644 index 0000000000000000000000000000000000000000..5ea1f3f0677076249d546962e1d46725a753e965 GIT binary patch literal 6143 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 30 and value < 250: + self.m_stop = QDateTime.currentDateTime() + self.m_measurements.append(value) + + self.m_min = value if self.m_min == 0 else min(value, self.m_min) + self.m_max = max(value, self.m_max) + self.m_sum += value + self.m_avg = float(self.m_sum) / len(self.m_measurements) + self.m_calories = ((-55.0969 + (0.6309 * self.m_avg) + (0.1988 * 94) + + (0.2017 * 24)) / 4.184) * 60 * self.time / 3600 + + self.statsChanged.emit() diff --git a/examples/bluetooth/heartrate_game/deviceinfo.py b/examples/bluetooth/heartrate_game/deviceinfo.py new file mode 100644 index 0000000..5fd5c32 --- /dev/null +++ b/examples/bluetooth/heartrate_game/deviceinfo.py @@ -0,0 +1,38 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtCore import QObject, Property, Signal + +from heartrate_global import simulator + + +class DeviceInfo(QObject): + + deviceChanged = Signal() + + def __init__(self, device): + super().__init__() + self.m_device = device + + def device(self): + return self.m_device + + def setDevice(self, device): + self.m_device = device + self.deviceChanged.emit() + + @Property(str, notify=deviceChanged) + def deviceName(self): + if simulator(): + return "Demo device" + return self.m_device.name() + + @Property(str, notify=deviceChanged) + def deviceAddress(self): + if simulator(): + return "00:11:22:33:44:55" + if sys.platform == "Darwin": # workaround for Core Bluetooth: + return self.m_device.deviceUuid().toString() + return self.m_device.address().toString() diff --git a/examples/bluetooth/heartrate_game/doc/heartrate_game.rst b/examples/bluetooth/heartrate_game/doc/heartrate_game.rst new file mode 100644 index 0000000..0a0938c --- /dev/null +++ b/examples/bluetooth/heartrate_game/doc/heartrate_game.rst @@ -0,0 +1,9 @@ +Bluetooth Low Energy Heart Rate Game +==================================== + +The Bluetooth Low Energy Heart Rate Game shows how to develop a +Bluetooth Low Energy application using the Qt Bluetooth API. The +application covers the scanning for Bluetooth Low Energy devices, +connecting to a Heart Rate service on the device, writing +characteristics and descriptors, and receiving updates from the device +once the heart rate has changed. diff --git a/examples/bluetooth/heartrate_game/heartrate_game.pyproject b/examples/bluetooth/heartrate_game/heartrate_game.pyproject new file mode 100644 index 0000000..94b7e39 --- /dev/null +++ b/examples/bluetooth/heartrate_game/heartrate_game.pyproject @@ -0,0 +1,23 @@ +{ + "files": ["main.py", + "bluetoothbaseclass.py", + "connectionhandler.py", + "devicefinder.py", + "devicehandler.py", + "deviceinfo.py", + "heartrate_global.py", + "HeartRateGame/qmldir", + "HeartRateGame/Main.qml", + "HeartRateGame/App.qml", + "HeartRateGame/BluetoothAlarmDialog.qml", + "HeartRateGame/BottomLine.qml", + "HeartRateGame/Connect.qml", + "HeartRateGame/GameButton.qml", + "HeartRateGame/GamePage.qml", + "HeartRateGame/GameSettings.qml", + "HeartRateGame/Measure.qml", + "HeartRateGame/SplashScreen.qml", + "HeartRateGame/Stats.qml", + "HeartRateGame/StatsLabel.qml", + "HeartRateGame/TitleBar.qml"] +} diff --git a/examples/bluetooth/heartrate_game/heartrate_global.py b/examples/bluetooth/heartrate_game/heartrate_global.py new file mode 100644 index 0000000..b4c29bf --- /dev/null +++ b/examples/bluetooth/heartrate_game/heartrate_global.py @@ -0,0 +1,17 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + + +_simulator = False + + +def simulator(): + global _simulator + return _simulator + + +def set_simulator(s): + global _simulator + _simulator = s diff --git a/examples/bluetooth/heartrate_game/main.py b/examples/bluetooth/heartrate_game/main.py new file mode 100644 index 0000000..3cb4f06 --- /dev/null +++ b/examples/bluetooth/heartrate_game/main.py @@ -0,0 +1,53 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the bluetooth/heartrate-game example from Qt v6.x""" + +from pathlib import Path +import sys +from argparse import ArgumentParser, RawDescriptionHelpFormatter + +from PySide6.QtQml import QQmlApplicationEngine +from PySide6.QtGui import QGuiApplication +from PySide6.QtCore import QCoreApplication, QLoggingCategory + +from connectionhandler import ConnectionHandler +from devicefinder import DeviceFinder +from devicehandler import DeviceHandler +from heartrate_global import set_simulator + + +if __name__ == '__main__': + parser = ArgumentParser(prog="heartrate-game", + formatter_class=RawDescriptionHelpFormatter) + + parser.add_argument("-v", "--verbose", action="store_true", + help="Generate more output") + parser.add_argument("-s", "--simulator", action="store_true", + help="Use Simulator") + options = parser.parse_args() + set_simulator(options.simulator) + if options.verbose: + QLoggingCategory.setFilterRules("qt.bluetooth* = true") + + app = QGuiApplication(sys.argv) + + connectionHandler = ConnectionHandler() + deviceHandler = DeviceHandler() + deviceFinder = DeviceFinder(deviceHandler) + + engine = QQmlApplicationEngine() + engine.setInitialProperties({ + "connectionHandler": connectionHandler, + "deviceFinder": deviceFinder, + "deviceHandler": deviceHandler}) + + engine.addImportPath(Path(__file__).parent) + engine.loadFromModule("HeartRateGame", "Main") + + if not engine.rootObjects(): + sys.exit(-1) + + ex = QCoreApplication.exec() + del engine + sys.exit(ex) diff --git a/examples/bluetooth/heartrate_server/doc/heartrate_server.rst b/examples/bluetooth/heartrate_server/doc/heartrate_server.rst new file mode 100644 index 0000000..aaa1a09 --- /dev/null +++ b/examples/bluetooth/heartrate_server/doc/heartrate_server.rst @@ -0,0 +1,8 @@ +Bluetooth Low Energy Heart Rate Server +====================================== + +The Bluetooth Low Energy Heart Rate Server is a command-line +application that shows how to develop a Bluetooth GATT server using +the Qt Bluetooth API. The application covers setting up a GATT +service, advertising it and notifying clients about changes to +characteristic values. diff --git a/examples/bluetooth/heartrate_server/heartrate_server.py b/examples/bluetooth/heartrate_server/heartrate_server.py new file mode 100644 index 0000000..f98cc6f --- /dev/null +++ b/examples/bluetooth/heartrate_server/heartrate_server.py @@ -0,0 +1,94 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the bluetooth/heartrate-server example from Qt v6.x""" + +import sys +from enum import Enum + +from PySide6.QtBluetooth import (QBluetoothUuid, QLowEnergyAdvertisingData, + QLowEnergyAdvertisingParameters, + QLowEnergyCharacteristic, + QLowEnergyCharacteristicData, + QLowEnergyController, + QLowEnergyDescriptorData, + QLowEnergyServiceData) +from PySide6.QtGui import QGuiApplication +from PySide6.QtCore import QByteArray, QTimer, QLoggingCategory + + +class ValueChange(Enum): + VALUE_UP = 1 + VALUE_DOWN = 2 + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + QLoggingCategory.setFilterRules("qt.bluetooth* = true") + +#! [Advertising Data] + advertising_data = QLowEnergyAdvertisingData() + advertising_data.setDiscoverability(QLowEnergyAdvertisingData.DiscoverabilityGeneral) + advertising_data.setIncludePowerLevel(True) + advertising_data.setLocalName("HeartRateServer") + advertising_data.setServices([QBluetoothUuid.ServiceClassUuid.HeartRate]) +#! [Advertising Data] + +#! [Service Data] + char_data = QLowEnergyCharacteristicData() + char_data.setUuid(QBluetoothUuid.CharacteristicType.HeartRateMeasurement) + char_data.setValue(QByteArray(2, 0)) + char_data.setProperties(QLowEnergyCharacteristic.Notify) + client_config = QLowEnergyDescriptorData(QBluetoothUuid.DescriptorType.ClientCharacteristicConfiguration, + QByteArray(2, 0)) + char_data.addDescriptor(client_config) + + service_data = QLowEnergyServiceData() + service_data.setType(QLowEnergyServiceData.ServiceTypePrimary) + service_data.setUuid(QBluetoothUuid.ServiceClassUuid.HeartRate) + service_data.addCharacteristic(char_data) +#! [Service Data] + +#! [Start Advertising] + le_controller = QLowEnergyController.createPeripheral() + service = le_controller.addService(service_data) + le_controller.startAdvertising(QLowEnergyAdvertisingParameters(), + advertising_data, advertising_data) +#! [Start Advertising] + +#! [Provide Heartbeat] + value_change = ValueChange.VALUE_UP + heartbeat_timer = QTimer() + current_heart_rate = 60 + + def heartbeat_provider(): + global current_heart_rate, value_change, current_heart_rate + value = QByteArray() + value.append(chr(0)) # Flags that specify the format of the value. + value.append(chr(current_heart_rate)) # Actual value. + characteristic = service.characteristic(QBluetoothUuid.CharacteristicType.HeartRateMeasurement) + assert(characteristic.isValid()) + # Potentially causes notification. + service.writeCharacteristic(characteristic, value) + if current_heart_rate == 60: + value_change = ValueChange.VALUE_UP + elif current_heart_rate == 100: + value_change = ValueChange.VALUE_DOWN + if value_change == ValueChange.VALUE_UP: + current_heart_rate += 1 + else: + current_heart_rate -= 1 + + heartbeat_timer.timeout.connect(heartbeat_provider) + heartbeat_timer.start(1000) +#! [Provide Heartbeat] + + def reconnect(): + service = le_controller.addService(service_data) + if not service.isNull(): + le_controller.startAdvertising(QLowEnergyAdvertisingParameters(), + advertising_data, advertising_data) + + le_controller.disconnected.connect(reconnect) + + sys.exit(app.exec()) diff --git a/examples/bluetooth/heartrate_server/heartrate_server.pyproject b/examples/bluetooth/heartrate_server/heartrate_server.pyproject new file mode 100644 index 0000000..de1fd14 --- /dev/null +++ b/examples/bluetooth/heartrate_server/heartrate_server.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["heartrate_server.py"] +} diff --git a/examples/bluetooth/lowenergyscanner/Scanner/Characteristics.qml b/examples/bluetooth/lowenergyscanner/Scanner/Characteristics.qml new file mode 100644 index 0000000..bd3ccbf --- /dev/null +++ b/examples/bluetooth/lowenergyscanner/Scanner/Characteristics.qml @@ -0,0 +1,121 @@ +// Copyright (C) 2013 BlackBerry Limited. All rights reserved. +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +pragma ComponentBehavior: Bound +import QtQuick + +Rectangle { + id: characteristicsPage + + signal showServices + signal showDevices + + width: 300 + height: 600 + + Header { + id: header + anchors.top: parent.top + headerText: "Characteristics list" + } + + Dialog { + id: info + anchors.centerIn: parent + visible: true + dialogText: "Scanning for characteristics..." + } + + Connections { + target: Device + function oncharacteristics_pdated() { + menu.menuText = "Back" + if (characteristicview.count === 0) { + info.dialogText = "No characteristic found" + info.busyImage = false + } else { + info.visible = false + info.busyImage = true + } + } + + function onDisconnected() { + characteristicsPage.showDevices() + } + } + + ListView { + id: characteristicview + width: parent.width + clip: true + + anchors.top: header.bottom + anchors.bottom: menu.top + model: Device.characteristicList + + delegate: Rectangle { + required property var modelData + id: box + height: 300 + width: characteristicview.width + color: "lightsteelblue" + border.width: 2 + border.color: "black" + radius: 5 + + Label { + id: characteristicName + textContent: box.modelData.characteristic_name + anchors.top: parent.top + anchors.topMargin: 5 + } + + Label { + id: characteristicUuid + font.pointSize: characteristicName.font.pointSize * 0.7 + textContent: box.modelData.characteristic_uuid + anchors.top: characteristicName.bottom + anchors.topMargin: 5 + } + + Label { + id: characteristicValue + font.pointSize: characteristicName.font.pointSize * 0.7 + textContent: ("Value: " + box.modelData.characteristic_value) + anchors.bottom: characteristicHandle.top + horizontalAlignment: Text.AlignHCenter + anchors.topMargin: 5 + } + + Label { + id: characteristicHandle + font.pointSize: characteristicName.font.pointSize * 0.7 + textContent: ("Handlers: " + box.modelData.characteristic_handle) + anchors.bottom: characteristicPermission.top + anchors.topMargin: 5 + } + + Label { + id: characteristicPermission + font.pointSize: characteristicName.font.pointSize * 0.7 + textContent: box.modelData.characteristic_permission + anchors.bottom: parent.bottom + anchors.topMargin: 5 + anchors.bottomMargin: 5 + } + } + } + + Menu { + id: menu + anchors.bottom: parent.bottom + menuWidth: parent.width + menuText: Device.update + menuHeight: (parent.height / 6) + onButtonClick: { + characteristicsPage.showServices() + Device.update = "Back" + } + } +} diff --git a/examples/bluetooth/lowenergyscanner/Scanner/Devices.qml b/examples/bluetooth/lowenergyscanner/Scanner/Devices.qml new file mode 100644 index 0000000..6e5e85a --- /dev/null +++ b/examples/bluetooth/lowenergyscanner/Scanner/Devices.qml @@ -0,0 +1,121 @@ +// Copyright (C) 2013 BlackBerry Limited. All rights reserved. +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +pragma ComponentBehavior: Bound +import QtQuick + +Rectangle { + id: devicesPage + + property bool deviceState: Device.state + signal showServices + + width: 300 + height: 600 + + onDeviceStateChanged: { + if (!Device.state) + info.visible = false + } + + Header { + id: header + anchors.top: parent.top + headerText: { + if (Device.state) + return "Discovering" + + if (Device.devices_list.length > 0) + return "Select a device" + + return "Start Discovery" + } + } + + Dialog { + id: info + anchors.centerIn: parent + visible: false + } + + ListView { + id: theListView + width: parent.width + clip: true + + anchors.top: header.bottom + anchors.bottom: connectToggle.top + model: Device.devices_list + + delegate: Rectangle { + required property var modelData + id: box + height: 100 + width: theListView.width + color: "lightsteelblue" + border.width: 2 + border.color: "black" + radius: 5 + + MouseArea { + anchors.fill: parent + onClicked: { + Device.scan_services(box.modelData.device_address) + showServices() + } + } + + Label { + id: deviceName + textContent: box.modelData.device_name + anchors.top: parent.top + anchors.topMargin: 5 + } + + Label { + id: deviceAddress + textContent: box.modelData.device_address + font.pointSize: deviceName.font.pointSize * 0.7 + anchors.bottom: box.bottom + anchors.bottomMargin: 5 + } + } + } + + Menu { + id: connectToggle + + menuWidth: parent.width + anchors.bottom: menu.top + menuText: { + visible = Device.devices_list.length > 0 + if (Device.use_random_address) + return "Address type: Random" + else + return "Address type: Public" + } + + onButtonClick: Device.use_random_address = !Device.use_random_address + } + + Menu { + id: menu + anchors.bottom: parent.bottom + menuWidth: parent.width + menuHeight: (parent.height / 6) + menuText: Device.update + onButtonClick: { + if (!Device.state) { + Device.start_device_discovery() + // if start_device_discovery() failed Device.state is not set + if (Device.state) { + info.dialogText = "Searching..." + info.visible = true + } + } else { + Device.stop_device_discovery() + } + } + } +} diff --git a/examples/bluetooth/lowenergyscanner/Scanner/Dialog.qml b/examples/bluetooth/lowenergyscanner/Scanner/Dialog.qml new file mode 100644 index 0000000..75e8264 --- /dev/null +++ b/examples/bluetooth/lowenergyscanner/Scanner/Dialog.qml @@ -0,0 +1,48 @@ +// Copyright (C) 2013 BlackBerry Limited. All rights reserved. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Rectangle { + id: dialog + width: parent.width / 3 * 2 + height: dialogTextId.height + background.height + 20 + z: 50 + property string dialogText: "" + property bool busyImage: true + border.width: 1 + border.color: "#363636" + radius: 10 + + Text { + id: dialogTextId + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: parent.top + anchors.topMargin: 10 + + elide: Text.ElideMiddle + text: dialog.dialogText + color: "#363636" + wrapMode: Text.Wrap + } + + Image { + id: background + + width: 20 + height: 20 + anchors.top: dialogTextId.bottom + anchors.horizontalCenter: dialogTextId.horizontalCenter + visible: parent.busyImage + source: "assets/busy_dark.png" + fillMode: Image.PreserveAspectFit + NumberAnimation on rotation { + duration: 3000 + from: 0 + to: 360 + loops: Animation.Infinite + } + } +} diff --git a/examples/bluetooth/lowenergyscanner/Scanner/Header.qml b/examples/bluetooth/lowenergyscanner/Scanner/Header.qml new file mode 100644 index 0000000..c95385d --- /dev/null +++ b/examples/bluetooth/lowenergyscanner/Scanner/Header.qml @@ -0,0 +1,25 @@ +// Copyright (C) 2013 BlackBerry Limited. All rights reserved. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Rectangle { + id: header + width: parent.width + height: 70 + border.width: 1 + border.color: "#363636" + radius: 5 + property string headerText: "" + + Text { + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + anchors.fill: parent + text: header.headerText + font.bold: true + font.pointSize: 20 + elide: Text.ElideMiddle + color: "#363636" + } +} diff --git a/examples/bluetooth/lowenergyscanner/Scanner/Label.qml b/examples/bluetooth/lowenergyscanner/Scanner/Label.qml new file mode 100644 index 0000000..e311567 --- /dev/null +++ b/examples/bluetooth/lowenergyscanner/Scanner/Label.qml @@ -0,0 +1,16 @@ +// Copyright (C) 2013 BlackBerry Limited. All rights reserved. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Text { + property string textContent: "" + font.pointSize: 20 + anchors.horizontalCenter: parent.horizontalCenter + color: "#363636" + horizontalAlignment: Text.AlignHCenter + elide: Text.ElideMiddle + width: parent.width + wrapMode: Text.Wrap + text: textContent +} diff --git a/examples/bluetooth/lowenergyscanner/Scanner/Main.qml b/examples/bluetooth/lowenergyscanner/Scanner/Main.qml new file mode 100644 index 0000000..88600ba --- /dev/null +++ b/examples/bluetooth/lowenergyscanner/Scanner/Main.qml @@ -0,0 +1,31 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Layouts + +Window { + id: main + + width: 300 + height: 600 + visible: true + + StackLayout { + id: pagesLayout + anchors.fill: parent + currentIndex: 0 + + Devices { + onShowServices: pagesLayout.currentIndex = 1 + } + Services { + onShowDevices: pagesLayout.currentIndex = 0 + onShowCharacteristics: pagesLayout.currentIndex = 2 + } + Characteristics { + onShowDevices: pagesLayout.currentIndex = 0 + onShowServices: pagesLayout.currentIndex = 1 + } + } +} diff --git a/examples/bluetooth/lowenergyscanner/Scanner/Menu.qml b/examples/bluetooth/lowenergyscanner/Scanner/Menu.qml new file mode 100644 index 0000000..ef69c89 --- /dev/null +++ b/examples/bluetooth/lowenergyscanner/Scanner/Menu.qml @@ -0,0 +1,55 @@ +// Copyright (C) 2013 BlackBerry Limited. All rights reserved. +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Rectangle { + id: menu + + property real menuWidth: 100 + property real menuHeight: 50 + property string menuText: "Search" + signal buttonClick + + height: menuHeight + width: menuWidth + + Rectangle { + id: search + width: parent.width + height: parent.height + anchors.centerIn: parent + color: "#363636" + border.width: 1 + border.color: "#E3E3E3" + radius: 5 + Text { + id: searchText + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + anchors.fill: parent + text: menu.menuText + elide: Text.ElideMiddle + color: "#E3E3E3" + wrapMode: Text.WordWrap + } + + MouseArea { + anchors.fill: parent + onPressed: { + search.width = search.width - 7 + search.height = search.height - 5 + } + + onReleased: { + search.width = search.width + 7 + search.height = search.height + 5 + } + + onClicked: { + menu.buttonClick() + } + } + } +} diff --git a/examples/bluetooth/lowenergyscanner/Scanner/Services.qml b/examples/bluetooth/lowenergyscanner/Scanner/Services.qml new file mode 100644 index 0000000..7032624 --- /dev/null +++ b/examples/bluetooth/lowenergyscanner/Scanner/Services.qml @@ -0,0 +1,115 @@ +// Copyright (C) 2013 BlackBerry Limited. All rights reserved. +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +pragma ComponentBehavior: Bound +import QtQuick + +Rectangle { + id: servicesPage + + signal showCharacteristics + signal showDevices + + width: 300 + height: 600 + + Component.onCompleted: { + // Loading this page may take longer than QLEController + // stopping with an error, go back and readjust this view + // based on controller errors + if (Device.controller_error) { + info.visible = false + menu.menuText = Device.update + } + } + + Header { + id: header + anchors.top: parent.top + headerText: "Services list" + } + + Dialog { + id: info + anchors.centerIn: parent + visible: true + dialogText: "Scanning for services..." + } + + Connections { + target: Device + function onservices_updated() { + if (servicesview.count === 0) + info.dialogText = "No services found" + else + info.visible = false + } + + function ondisconnected() { + servicesPage.showDevices() + } + } + + ListView { + id: servicesview + width: parent.width + anchors.top: header.bottom + anchors.bottom: menu.top + model: Device.servicesList + clip: true + + delegate: Rectangle { + required property var modelData + id: box + height: 100 + color: "lightsteelblue" + border.width: 2 + border.color: "black" + radius: 5 + width: servicesview.width + + MouseArea { + anchors.fill: parent + onClicked: { + Device.connectToService(box.modelData.service_uuid) + servicesPage.showCharacteristics() + } + } + + Label { + id: serviceName + textContent: box.modelData.service_name + anchors.top: parent.top + anchors.topMargin: 5 + } + + Label { + textContent: box.modelData.service_type + font.pointSize: serviceName.font.pointSize * 0.5 + anchors.top: serviceName.bottom + } + + Label { + id: serviceUuid + font.pointSize: serviceName.font.pointSize * 0.5 + textContent: box.modelData.service_uuid + anchors.bottom: box.bottom + anchors.bottomMargin: 5 + } + } + } + + Menu { + id: menu + anchors.bottom: parent.bottom + menuWidth: parent.width + menuText: Device.update + menuHeight: (parent.height / 6) + onButtonClick: { + Device.disconnect_from_device() + servicesPage.showDevices() + Device.update = "Search" + } + } +} diff --git a/examples/bluetooth/lowenergyscanner/Scanner/assets/busy_dark.png b/examples/bluetooth/lowenergyscanner/Scanner/assets/busy_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..3a10595319aba0414122ed8ab301501142e138ab GIT binary patch literal 1130 zcmV-w1eN=VP)z6=49p1B)=wZfbV+D8;1r{e~XUawbDxnk+`RRoaa3cUHSdEGXQHv>xF z*~B_rTU)yjwiV0mSP8L+{+cMt`%hv z9GlP$2cS}^&3BJVT<5Mq7x zf^o#sPEI$Q_P_geuLv8U99b`bK#)$Wvl9rz&a)P5pG+}&1cihUVbTgGGC=??gnwhe z6Gx%@!a%H^{F=dpk((Mo)xn(Z$E_o22hM9wp>4ej1eR~ zbsB|@LZNWp1v-owLe7BBXoLZ9Pe&;Hk)dO>Gt zWf(?zZ*T8L68GQU-oE4xqseTF02rF)bCZx4TrtBev|6p3TpGJ~tkX3X%ZA2hA^;bh ziR*jdgb2cgDIAa!-?&sNU8IzDQ~d@?Am;sZFhfv|C%2R z1mM8>K^n<*APeX9llw>>`wGPR`D&C&TB~TQkocrg7pMY{h9;wxwdD{n>hOdxO}1XTGB!0c7eok1-1T>NcdyV+X9vP( zejF}{AW&me19If6)#_C*7{7PALlFSoiV$+! None: + super().__init__() + self._characteristic = characteristic + + @Property(str, notify=characteristic_changed) + def characteristic_name(self): + if not self.characteristic: + raise Exception("characteristic unset") + name = self.characteristic.name() + if name: + return name + + for descriptor in self.characteristic.descriptors(): + if descriptor.type() == QBluetoothUuid.DescriptorType.CharacteristicUserDescription: + name = descriptor.value() + break + + if not name: + name = "Unknown" + + return name + + @Property(str, notify=characteristic_changed) + def characteristic_uuid(self): + uuid = self.characteristic.uuid() + result16, success16 = uuid.toUInt16() + if success16: + return f"0x{result16:x}" + + result32, sucess32 = uuid.toUInt32() + if sucess32: + return f"0x{result32:x}" + + return uuid.toString().replace('{', '').replace('}', '') + + @Property(str, notify=characteristic_changed) + def characteristic_value(self): + # Show raw string first and hex value below + a = self.characteristic.value() + if not a: + return "" + + result = f"{str(a)}\n{str(a.toHex())}" + return result + + @Property(str, notify=characteristic_changed) + def characteristic_permission(self): + properties = "( " + permission = self.characteristic.properties() + if (permission & QLowEnergyCharacteristic.Read): + properties += " Read" + if (permission & QLowEnergyCharacteristic.Write): + properties += " Write" + if (permission & QLowEnergyCharacteristic.Notify): + properties += " Notify" + if (permission & QLowEnergyCharacteristic.Indicate): + properties += " Indicate" + if (permission & QLowEnergyCharacteristic.ExtendedProperty): + properties += " ExtendedProperty" + if (permission & QLowEnergyCharacteristic.Broadcasting): + properties += " Broadcast" + if (permission & QLowEnergyCharacteristic.WriteNoResponse): + properties += " WriteNoResp" + if (permission & QLowEnergyCharacteristic.WriteSigned): + properties += " WriteSigned" + properties += " )" + return properties + + @property + def characteristic(self): + return self._characteristic + + @characteristic.setter + def characteristic(self, characteristic): + self._characteristic = characteristic + self.characteristic_changed.emit() + diff --git a/examples/bluetooth/lowenergyscanner/device.py b/examples/bluetooth/lowenergyscanner/device.py new file mode 100644 index 0000000..e69a845 --- /dev/null +++ b/examples/bluetooth/lowenergyscanner/device.py @@ -0,0 +1,279 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +import warnings +from PySide6.QtBluetooth import (QBluetoothDeviceDiscoveryAgent, QLowEnergyController, + QBluetoothDeviceInfo, QBluetoothUuid, QLowEnergyService) +from PySide6.QtCore import QObject, Property, Signal, Slot, QTimer, QMetaObject, Qt +from PySide6.QtQml import QmlElement, QmlSingleton + +from deviceinfo import DeviceInfo +from serviceinfo import ServiceInfo +from characteristicinfo import CharacteristicInfo + +QML_IMPORT_NAME = "Scanner" +QML_IMPORT_MAJOR_VERSION = 1 + +@QmlElement +@QmlSingleton +class Device(QObject): + + devices_updated = Signal() + services_updated = Signal() + characteristic_updated = Signal() + update_changed = Signal() + state_changed = Signal() + disconnected = Signal() + random_address_changed = Signal() + + def __init__(self, parent=None) -> None: + super().__init__(parent) + self.devices = [] + self._services = [] + self._characteristics = [] + self._previousAddress = "" + self._message = "" + self.currentDevice = DeviceInfo() + self.connected = False + self.controller: QLowEnergyController = None + self._deviceScanState = False + self.random_address = False + self.discovery_agent = QBluetoothDeviceDiscoveryAgent() + self.discovery_agent.setLowEnergyDiscoveryTimeout(25000) + self.discovery_agent.deviceDiscovered.connect(self.add_device) + self.discovery_agent.errorOccurred.connect(self.device_scan_error) + self.discovery_agent.finished.connect(self.device_scan_finished) + self.update = "Search" + + @Property("QVariant", notify=devices_updated) + def devices_list(self): + return self.devices + + @Property("QVariant", notify=services_updated) + def services_list(self): + return self._services + + @Property("QVariant", notify=characteristic_updated) + def characteristic_list(self): + return self._characteristics + + @Property(str, notify=update_changed) + def update(self): + return self._message + + @update.setter + def update(self, message): + self._message = message + self.update_changed.emit() + + @Property(bool, notify=random_address_changed) + def use_random_address(self): + return self.random_address + + @use_random_address.setter + def use_random_address(self, newValue): + self.random_address = newValue + self.random_address_changed.emit() + + @Property(bool, notify=state_changed) + def state(self): + return self._deviceScanState + + @Property(bool) + def controller_error(self): + return self.controller and (self.controller.error() != QLowEnergyController.NoError) + + @Slot() + def start_device_discovery(self): + self.devices.clear() + self.devices_updated.emit() + self.update = "Scanning for devices ..." + self.discovery_agent.start(QBluetoothDeviceDiscoveryAgent.LowEnergyMethod) + + if self.discovery_agent.isActive(): + self._deviceScanState = True + self.state_changed.emit() + + @Slot(str) + def scan_services(self, address): + # We need the current device for service discovery. + for device in self.devices: + if device.device_address == address: + self.currentDevice.set_device(device.get_device()) + break + + if not self.currentDevice.get_device().isValid(): + warnings.warn("Not a valid device") + return + + self._characteristics.clear() + self.characteristic_updated.emit() + self._services.clear() + self.services_updated.emit() + + self.update = "Back\n(Connecting to device...)" + + if self.controller and (self._previousAddress != self.currentDevice.device_address): + self.controller.disconnectFromDevice() + del self.controller + self.controller = None + + if not self.controller: + self.controller = QLowEnergyController.createCentral(self.currentDevice.get_device()) + self.controller.connected.connect(self.device_connected) + self.controller.errorOccurred.connect(self.error_received) + self.controller.disconnected.connect(self.device_disconnected) + self.controller.serviceDiscovered.connect(self.add_low_energy_service) + self.controller.discoveryFinished.connect(self.services_scan_done) + + if self.random_address: + self.controller.setRemoteAddressType(QLowEnergyController.RandomAddress) + else: + self.controller.setRemoteAddressType(QLowEnergyController.PublicAddress) + self.controller.connectToDevice() + + self._previousAddress = self.currentDevice.device_address + + @Slot(str) + def connect_to_service(self, uuid): + service: QLowEnergyService = None + for serviceInfo in self._services: + if not serviceInfo: + continue + + if serviceInfo.service_uuid == uuid: + service = serviceInfo.service + break + + if not service: + return + + self._characteristics.clear() + self.characteristic_updated.emit() + + if service.state() == QLowEnergyService.RemoteService: + service.state_changed.connect(self.service_details_discovered) + service.discoverDetails() + self.update = "Back\n(Discovering details...)" + return + + # discovery already done + chars = service.characteristics() + for ch in chars: + cInfo = CharacteristicInfo(ch) + self._characteristics.append(cInfo) + + QTimer.singleShot(0, self.characteristic_updated) + + @Slot() + def disconnect_from_device(self): + # UI always expects disconnect() signal when calling this signal + # TODO what is really needed is to extend state() to a multi value + # and thus allowing UI to keep track of controller progress in addition to + # device scan progress + + if self.controller.state() != QLowEnergyController.UnconnectedState: + self.controller.disconnectFromDevice() + else: + self.device_disconnected() + + @Slot(QBluetoothDeviceInfo) + def add_device(self, info): + if info.coreConfigurations() & QBluetoothDeviceInfo.LowEnergyCoreConfiguration: + self.update = "Last device added: " + info.name() + + @Slot() + def device_scan_finished(self): + foundDevices = self.discovery_agent.discoveredDevices() + for nextDevice in foundDevices: + if nextDevice.coreConfigurations() & QBluetoothDeviceInfo.LowEnergyCoreConfiguration: + device = DeviceInfo(nextDevice) + self.devices.append(device) + + self.devices_updated.emit() + self._deviceScanState = False + self.state_changed.emit() + if not self.devices: + self.update = "No Low Energy devices found..." + else: + self.update = "Done! Scan Again!" + + @Slot("QBluetoothDeviceDiscovertAgent::Error") + def device_scan_error(self, error): + if error == QBluetoothDeviceDiscoveryAgent.PoweredOffError: + self.update = ( + "The Bluetooth adaptor is powered off, power it on before doing discovery." + ) + elif error == QBluetoothDeviceDiscoveryAgent.InputOutputError: + self.update = "Writing or reading from the device resulted in an error." + else: + qme = self.discovery_agent.metaObject().enumerator( + self.discovery_agent.metaObject().indexOfEnumerator("Error") + ) + self.update = f"Error: {qme.valueToKey(error)}" + + self._deviceScanState = False + self.devices_updated.emit() + self.state_changed.emit() + + @Slot(QBluetoothUuid) + def add_low_energy_service(self, service_uuid): + service = self.controller.createServiceObject(service_uuid) + if not service: + warnings.warn("Cannot create service from uuid") + return + + serv = ServiceInfo(service) + self._services.append(serv) + self.services_updated.emit() + + @Slot() + def device_connected(self): + self.update = "Back\n(Discovering services...)" + self.connected = True + self.controller.discoverServices() + + @Slot("QLowEnergyController::Error") + def error_received(self, error): + warnings.warn(f"Error: {self.controller.errorString()}") + self.update = f"Back\n({self.controller.errorString()})" + + @Slot() + def services_scan_done(self): + self.update = "Back\n(Service scan done!)" + # force UI in case we didn't find anything + if not self._services: + self.services_updated.emit() + + @Slot() + def device_disconnected(self): + warnings.warn("Disconnect from Device") + self.disconnected.emit() + + @Slot("QLowEnergyService::ServiceState") + def service_details_discovered(self, newState): + if newState != QLowEnergyService.RemoteServiceDiscovered: + # do not hang in "Scanning for characteristics" mode forever + # in case the service discovery failed + # We have to queue the signal up to give UI time to even enter + # the above mode + if newState != QLowEnergyService.RemoteServiceDiscovering: + QMetaObject.invokeMethod(self.characteristic_updated, Qt.QueuedConnection) + return + + service = self.sender() + if not service: + return + + chars = service.characteristics() + for ch in chars: + cInfo = CharacteristicInfo(ch) + self._characteristics.append(cInfo) + + self.characteristic_updated.emit() + + @Slot() + def stop_device_discovery(self): + if self.discovery_agent.isActive(): + self.discovery_agent.stop() + + diff --git a/examples/bluetooth/lowenergyscanner/deviceinfo.py b/examples/bluetooth/lowenergyscanner/deviceinfo.py new file mode 100644 index 0000000..edcbef8 --- /dev/null +++ b/examples/bluetooth/lowenergyscanner/deviceinfo.py @@ -0,0 +1,35 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtCore import QObject, Property, Signal +from PySide6.QtBluetooth import QBluetoothDeviceInfo + + +class DeviceInfo(QObject): + + device_changed = Signal() + + def __init__(self, d: QBluetoothDeviceInfo = None) -> None: + super().__init__() + self._device = d + + @Property(str, notify=device_changed) + def device_name(self): + return self._device.name() + + @Property(str, notify=device_changed) + def device_address(self): + if sys.platform == "darwin": + return self._device.deviceUuid().toString() + + return self._device.address().toString() + + def get_device(self): + return self._device + + def set_device(self, device): + self._device = device + self.device_changed.emit() + diff --git a/examples/bluetooth/lowenergyscanner/doc/lowenergyscanner.png b/examples/bluetooth/lowenergyscanner/doc/lowenergyscanner.png new file mode 100644 index 0000000000000000000000000000000000000000..29f41deb4fafcfb433c13a333b7934eabffa9f90 GIT binary patch literal 72365 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 + +.. image:: lowenergyscanner.png + :width: 400 + :alt: lowenergyscanner screenshot diff --git a/examples/bluetooth/lowenergyscanner/lowenergyscanner.pyproject b/examples/bluetooth/lowenergyscanner/lowenergyscanner.pyproject new file mode 100644 index 0000000..7e0cfa3 --- /dev/null +++ b/examples/bluetooth/lowenergyscanner/lowenergyscanner.pyproject @@ -0,0 +1,7 @@ +{ + "files": ["main.py", "device.py", "deviceinfo.py", "serviceinfo.py", "characteristicinfo.py", + "Scanner/Main.qml", "Scanner/Menu.qml","Scanner/Header.qml", + "Scanner/Characteristics.qml", "Scanner/Dialog.qml", "Scanner/Services.qml", + "Scanner/Label.qml", "Scanner/Devices.qml", "Scanner/assets/busy_dark.png", + "Scanner/qmldir"] +} diff --git a/examples/bluetooth/lowenergyscanner/main.py b/examples/bluetooth/lowenergyscanner/main.py new file mode 100644 index 0000000..dfbff97 --- /dev/null +++ b/examples/bluetooth/lowenergyscanner/main.py @@ -0,0 +1,27 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the bluetooth/lowenergyscanner example from Qt v6.x""" + + +import sys + +from PySide6.QtCore import QCoreApplication +from PySide6.QtGui import QGuiApplication +from PySide6.QtQml import QQmlApplicationEngine + +from device import Device +from pathlib import Path + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + engine = QQmlApplicationEngine() + engine.addImportPath(Path(__file__).parent) + engine.loadFromModule("Scanner", "Main") + + if not engine.rootObjects(): + sys.exit(-1) + + ex = QCoreApplication.exec() + del engine + sys.exit(ex) diff --git a/examples/bluetooth/lowenergyscanner/serviceinfo.py b/examples/bluetooth/lowenergyscanner/serviceinfo.py new file mode 100644 index 0000000..092e989 --- /dev/null +++ b/examples/bluetooth/lowenergyscanner/serviceinfo.py @@ -0,0 +1,66 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QObject, Property, Signal +from PySide6.QtBluetooth import QLowEnergyService + + +class ServiceInfo(QObject): + + service_changed = Signal() + + def __init__(self, service: QLowEnergyService) -> None: + super().__init__() + self._service = service + self.service.setParent(self) + + @Property(str, notify=service_changed) + def service_name(self): + if not self.service: + return "" + + return self.service.service_name() + + @Property(str, notify=service_changed) + def service_type(self): + if not self.service: + return "" + + result = "" + if (self.service.type() & QLowEnergyService.PrimaryService): + result += "primary" + else: + result += "secondary" + + if (self.service.type() & QLowEnergyService.IncludedService): + result += " included" + + result = '<' + result + '>' + + return result + + @Property(str, notify=service_changed) + def service_uuid(self): + if not self.service: + return "" + + uuid = self.service.service_uuid() + result16, success16 = uuid.toUInt16() + if success16: + return f"0x{result16:x}" + + result32, sucesss32 = uuid.toUInt32() + if sucesss32: + return f"0x{result32:x}" + + return uuid.toString().replace('{', '').replace('}', '') + + @property + def service(self): + return self._service + + @service.setter + def service(self, service): + self._service = service + + diff --git a/examples/charts/areachart/areachart.py b/examples/charts/areachart/areachart.py new file mode 100644 index 0000000..164264f --- /dev/null +++ b/examples/charts/areachart/areachart.py @@ -0,0 +1,67 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the areachart example from Qt v6.x""" + +import sys +from PySide6.QtCore import QPointF, Qt +from PySide6.QtWidgets import QMainWindow, QApplication +from PySide6.QtCharts import QChart, QChartView, QLineSeries, QAreaSeries +from PySide6.QtGui import QGradient, QPen, QLinearGradient, QPainter + + +class TestChart(QMainWindow): + def __init__(self): + super().__init__() + + self.series_0 = QLineSeries() + self.series_1 = QLineSeries() + + self.series_0.append(QPointF(1, 5)) + self.series_0.append(QPointF(3, 7)) + self.series_0.append(QPointF(7, 6)) + self.series_0.append(QPointF(9, 7)) + self.series_0.append(QPointF(12, 6)) + self.series_0.append(QPointF(16, 7)) + self.series_0.append(QPointF(18, 5)) + + self.series_1.append(QPointF(1, 3)) + self.series_1.append(QPointF(3, 4)) + self.series_1.append(QPointF(7, 3)) + self.series_1.append(QPointF(8, 2)) + self.series_1.append(QPointF(12, 3)) + self.series_1.append(QPointF(16, 4)) + self.series_1.append(QPointF(18, 3)) + + self.series = QAreaSeries(self.series_0, self.series_1) + self.series.setName("Batman") + self.pen = QPen(0x059605) + self.pen.setWidth(3) + self.series.setPen(self.pen) + + self.gradient = QLinearGradient(QPointF(0, 0), QPointF(0, 1)) + self.gradient.setColorAt(0.0, 0x3cc63c) + self.gradient.setColorAt(1.0, 0x26f626) + self.gradient.setCoordinateMode(QGradient.ObjectBoundingMode) + self.series.setBrush(self.gradient) + + self.chart = QChart() + self.chart.addSeries(self.series) + self.chart.setTitle("Simple areachart example") + self.chart.createDefaultAxes() + self.chart.axes(Qt.Horizontal)[0].setRange(0, 20) + self.chart.axes(Qt.Vertical)[0].setRange(0, 10) + + self._chart_view = QChartView(self.chart) + self._chart_view.setRenderHint(QPainter.Antialiasing) + + self.setCentralWidget(self._chart_view) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + + window = TestChart() + window.show() + window.resize(400, 300) + sys.exit(app.exec()) diff --git a/examples/charts/areachart/areachart.pyproject b/examples/charts/areachart/areachart.pyproject new file mode 100644 index 0000000..b4a6f9d --- /dev/null +++ b/examples/charts/areachart/areachart.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["areachart.py"] +} diff --git a/examples/charts/areachart/doc/areachart.png b/examples/charts/areachart/doc/areachart.png new file mode 100644 index 0000000000000000000000000000000000000000..d03838443ac373ff8cf55f69652702825b1b8573 GIT binary patch literal 15491 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 literal 0 HcmV?d00001 diff --git a/examples/charts/areachart/doc/areachart.rst b/examples/charts/areachart/doc/areachart.rst new file mode 100644 index 0000000..c6cd718 --- /dev/null +++ b/examples/charts/areachart/doc/areachart.rst @@ -0,0 +1,8 @@ +Area Chart Example +================== + +The example shows how to create an area Chart + +.. image:: areachart.png + :width: 400 + :alt: Area Chart Screenshot diff --git a/examples/charts/audio/audio.py b/examples/charts/audio/audio.py new file mode 100644 index 0000000..8ba0b20 --- /dev/null +++ b/examples/charts/audio/audio.py @@ -0,0 +1,90 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the charts/audio example from Qt v5.x""" + +import sys +from PySide6.QtCharts import QChart, QChartView, QLineSeries, QValueAxis +from PySide6.QtCore import QPointF, Slot +from PySide6.QtMultimedia import QAudioFormat, QAudioSource, QMediaDevices +from PySide6.QtWidgets import QApplication, QMainWindow, QMessageBox + + +SAMPLE_COUNT = 2000 + + +RESOLUTION = 4 + + +class MainWindow(QMainWindow): + def __init__(self, device): + super().__init__() + + self._series = QLineSeries() + self._chart = QChart() + self._chart.addSeries(self._series) + self._axis_x = QValueAxis() + self._axis_x.setRange(0, SAMPLE_COUNT) + self._axis_x.setLabelFormat("%g") + self._axis_x.setTitleText("Samples") + self._axis_y = QValueAxis() + self._axis_y.setRange(-1, 1) + self._axis_y.setTitleText("Audio level") + self._chart.setAxisX(self._axis_x, self._series) + self._chart.setAxisY(self._axis_y, self._series) + self._chart.legend().hide() + name = device.description() + self._chart.setTitle(f"Data from the microphone ({name})") + + format_audio = QAudioFormat() + format_audio.setSampleRate(8000) + format_audio.setChannelCount(1) + format_audio.setSampleFormat(QAudioFormat.UInt8) + + self._audio_input = QAudioSource(device, format_audio, self) + self._io_device = self._audio_input.start() + self._io_device.readyRead.connect(self._readyRead) + + self._chart_view = QChartView(self._chart) + self.setCentralWidget(self._chart_view) + + self._buffer = [QPointF(x, 0) for x in range(SAMPLE_COUNT)] + self._series.append(self._buffer) + + def closeEvent(self, event): + if self._audio_input is not None: + self._audio_input.stop() + event.accept() + + @Slot() + def _readyRead(self): + data = self._io_device.readAll() + available_samples = data.size() // RESOLUTION + start = 0 + if (available_samples < SAMPLE_COUNT): + start = SAMPLE_COUNT - available_samples + for s in range(start): + self._buffer[s].setY(self._buffer[s + available_samples].y()) + + data_index = 0 + for s in range(start, SAMPLE_COUNT): + value = (ord(data[data_index]) - 128) / 128 + self._buffer[s].setY(value) + data_index = data_index + RESOLUTION + self._series.replace(self._buffer) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + + input_devices = QMediaDevices.audioInputs() + if not input_devices: + QMessageBox.warning(None, "audio", "There is no audio input device available.") + sys.exit(-1) + main_win = MainWindow(input_devices[0]) + main_win.setWindowTitle("audio") + available_geometry = main_win.screen().availableGeometry() + size = available_geometry.height() * 3 / 4 + main_win.resize(size, size) + main_win.show() + sys.exit(app.exec()) diff --git a/examples/charts/audio/audio.pyproject b/examples/charts/audio/audio.pyproject new file mode 100644 index 0000000..00d15e1 --- /dev/null +++ b/examples/charts/audio/audio.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["audio.py"] +} diff --git a/examples/charts/audio/doc/audio.png b/examples/charts/audio/doc/audio.png new file mode 100644 index 0000000000000000000000000000000000000000..15ee1f6808c8c529ffc0999e6ee782532555617a GIT binary patch literal 24659 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 BHd6oq literal 0 HcmV?d00001 diff --git a/examples/charts/audio/doc/audio.rst b/examples/charts/audio/doc/audio.rst new file mode 100644 index 0000000..3839445 --- /dev/null +++ b/examples/charts/audio/doc/audio.rst @@ -0,0 +1,8 @@ +Audio Example +============= + +This example shows the drawing of dynamic data (microphone input). + +.. image:: audio.png + :width: 400 + :alt: Audio Screenshot diff --git a/examples/charts/barchart/barchart.py b/examples/charts/barchart/barchart.py new file mode 100644 index 0000000..66126ad --- /dev/null +++ b/examples/charts/barchart/barchart.py @@ -0,0 +1,69 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the linechart example from Qt v6.x""" + +import sys + +from PySide6.QtCharts import (QBarCategoryAxis, QBarSeries, QBarSet, QChart, + QChartView, QValueAxis) +from PySide6.QtCore import Qt +from PySide6.QtGui import QPainter +from PySide6.QtWidgets import QApplication, QMainWindow + + +class TestChart(QMainWindow): + def __init__(self): + super().__init__() + + self.set_0 = QBarSet("Jane") + self.set_1 = QBarSet("John") + self.set_2 = QBarSet("Axel") + self.set_3 = QBarSet("Mary") + self.set_4 = QBarSet("Samantha") + + self.set_0.append([1, 2, 3, 4, 5, 6]) + self.set_1.append([5, 0, 0, 4, 0, 7]) + self.set_2.append([3, 5, 8, 13, 8, 5]) + self.set_3.append([5, 6, 7, 3, 4, 5]) + self.set_4.append([9, 7, 5, 3, 1, 2]) + + self.series = QBarSeries() + self.series.append(self.set_0) + self.series.append(self.set_1) + self.series.append(self.set_2) + self.series.append(self.set_3) + self.series.append(self.set_4) + + self.chart = QChart() + self.chart.addSeries(self.series) + self.chart.setTitle("Simple barchart example") + self.chart.setAnimationOptions(QChart.SeriesAnimations) + + self.categories = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"] + self.axis_x = QBarCategoryAxis() + self.axis_x.append(self.categories) + self.chart.addAxis(self.axis_x, Qt.AlignBottom) + self.series.attachAxis(self.axis_x) + + self.axis_y = QValueAxis() + self.axis_y.setRange(0, 15) + self.chart.addAxis(self.axis_y, Qt.AlignLeft) + self.series.attachAxis(self.axis_y) + + self.chart.legend().setVisible(True) + self.chart.legend().setAlignment(Qt.AlignBottom) + + self._chart_view = QChartView(self.chart) + self._chart_view.setRenderHint(QPainter.Antialiasing) + + self.setCentralWidget(self._chart_view) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + + window = TestChart() + window.show() + window.resize(420, 300) + sys.exit(app.exec()) diff --git a/examples/charts/barchart/barchart.pyproject b/examples/charts/barchart/barchart.pyproject new file mode 100644 index 0000000..4ca8194 --- /dev/null +++ b/examples/charts/barchart/barchart.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["barchart.py"] +} diff --git a/examples/charts/barchart/doc/barchart.png b/examples/charts/barchart/doc/barchart.png new file mode 100644 index 0000000000000000000000000000000000000000..da08217fc3f74de19ec15c4c8a47cb9bdcf11e4b GIT binary patch literal 15717 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 z%0D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 self._rect.top() and + anchor.y() <= self._rect.center().y()) + below_center = (anchor.y() > self._rect.center().y() and + anchor.y() <= self._rect.bottom()) + below = anchor.y() > self._rect.bottom() + + on_left = anchor.x() <= self._rect.left() + left_of_center = (anchor.x() > self._rect.left() and + anchor.x() <= self._rect.center().x()) + right_of_center = (anchor.x() > self._rect.center().x() and + anchor.x() <= self._rect.right()) + on_right = anchor.x() > self._rect.right() + + # get the nearest _rect corner. + x = (on_right + right_of_center) * self._rect.width() + y = (below + below_center) * self._rect.height() + corner_case = ((above and on_left) or (above and on_right) or + (below and on_left) or (below and on_right)) + vertical = abs(anchor.x() - x) > abs(anchor.y() - y) + + x1 = (x + left_of_center * 10 - right_of_center * 20 + corner_case * + int(not vertical) * (on_left * 10 - on_right * 20)) + y1 = (y + above_center * 10 - below_center * 20 + corner_case * + vertical * (above * 10 - below * 20)) + point1.setX(x1) + point1.setY(y1) + + x2 = (x + left_of_center * 20 - right_of_center * 10 + corner_case * + int(not vertical) * (on_left * 20 - on_right * 10)) + y2 = (y + above_center * 20 - below_center * 10 + corner_case * + vertical * (above * 20 - below * 10)) + point2.setX(x2) + point2.setY(y2) + + path.moveTo(point1) + path.lineTo(anchor) + path.lineTo(point2) + path = path.simplified() + + painter.setBrush(QColor(255, 255, 255)) + painter.drawPath(path) + painter.drawText(self._textRect, self._text) + + def mousePressEvent(self, event): + event.setAccepted(True) + + def mouseMoveEvent(self, event): + if event.buttons() & Qt.LeftButton: + self.setPos(mapToParent( + event.pos() - event.buttonDownPos(Qt.LeftButton))) + event.setAccepted(True) + else: + event.setAccepted(False) + + def set_text(self, text): + self._text = text + metrics = QFontMetrics(self._font) + self._textRect = QRectF(metrics.boundingRect( + QRect(0.0, 0.0, 150.0, 150.0), Qt.AlignLeft, self._text)) + self._textRect.translate(5, 5) + self.prepareGeometryChange() + self._rect = self._textRect.adjusted(-5, -5, 5, 5) + + def set_anchor(self, point): + self._anchor = QPointF(point) + + def update_geometry(self): + self.prepareGeometryChange() + self.setPos(self._chart.mapToPosition( + self._anchor) + QPointF(10, -50)) + + +class View(QGraphicsView): + def __init__(self, parent=None): + super().__init__(parent) + self.setScene(QGraphicsScene(self)) + + self.setDragMode(QGraphicsView.NoDrag) + self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + + # Chart + self._chart = QChart() + self._chart.setMinimumSize(640, 480) + self._chart.setTitle("Hover the line to show callout. Click the line " + "to make it stay") + self._chart.legend().hide() + self.series = QLineSeries() + self.series.append(1, 3) + self.series.append(4, 5) + self.series.append(5, 4.5) + self.series.append(7, 1) + self.series.append(11, 2) + self._chart.addSeries(self.series) + + self.series2 = QSplineSeries() + self.series2.append(1.6, 1.4) + self.series2.append(2.4, 3.5) + self.series2.append(3.7, 2.5) + self.series2.append(7, 4) + self.series2.append(10, 2) + self._chart.addSeries(self.series2) + + self._chart.createDefaultAxes() + self._chart.setAcceptHoverEvents(True) + + self.setRenderHint(QPainter.Antialiasing) + self.scene().addItem(self._chart) + + self._coordX = QGraphicsSimpleTextItem(self._chart) + self._coordX.setPos( + self._chart.size().width() / 2 - 50, self._chart.size().height()) + self._coordX.setText("X: ") + self._coordY = QGraphicsSimpleTextItem(self._chart) + self._coordY.setPos( + self._chart.size().width() / 2 + 50, self._chart.size().height()) + self._coordY.setText("Y: ") + + self._callouts = [] + self._tooltip = Callout(self._chart) + + self.series.clicked.connect(self.keep_callout) + self.series.hovered.connect(self.tooltip) + + self.series2.clicked.connect(self.keep_callout) + self.series2.hovered.connect(self.tooltip) + + self.setMouseTracking(True) + + def resizeEvent(self, event): + if self.scene(): + self.scene().setSceneRect(QRectF(QPointF(0, 0), event.size())) + self._chart.resize(event.size()) + self._coordX.setPos( + self._chart.size().width() / 2 - 50, + self._chart.size().height() - 20) + self._coordY.setPos( + self._chart.size().width() / 2 + 50, + self._chart.size().height() - 20) + for callout in self._callouts: + callout.updateGeometry() + QGraphicsView.resizeEvent(self, event) + + def mouseMoveEvent(self, event): + pos = self._chart.mapToValue(event.position().toPoint()) + x = pos.x() + y = pos.y() + self._coordX.setText(f"X: {x:.2f}") + self._coordY.setText(f"Y: {y:.2f}") + QGraphicsView.mouseMoveEvent(self, event) + + def keep_callout(self): + self._callouts.append(self._tooltip) + self._tooltip = Callout(self._chart) + + def tooltip(self, point, state): + if self._tooltip == 0: + self._tooltip = Callout(self._chart) + + if state: + x = point.x() + y = point.y() + self._tooltip.set_text(f"X: {x:.2f} \nY: {y:.2f} ") + self._tooltip.set_anchor(point) + self._tooltip.setZValue(11) + self._tooltip.update_geometry() + self._tooltip.show() + else: + self._tooltip.hide() + + +if __name__ == "__main__": + app = QApplication(sys.argv) + v = View() + v.show() + sys.exit(app.exec()) diff --git a/examples/charts/callout/callout.pyproject b/examples/charts/callout/callout.pyproject new file mode 100644 index 0000000..1360c97 --- /dev/null +++ b/examples/charts/callout/callout.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["callout.py"] +} diff --git a/examples/charts/callout/doc/callout.png b/examples/charts/callout/doc/callout.png new file mode 100644 index 0000000000000000000000000000000000000000..19e4c9d69730b918dd042ae6863ca3437e66cdbb GIT binary patch literal 30597 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

JB_2?3yDL>q190>hm*V01J%?)({2HWmLR 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 |g$ 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 Uym4oYYv7NR*vl7%&-8r$5AdNfCjbBd literal 0 HcmV?d00001 diff --git a/examples/charts/modeldata/doc/modeldata.rst b/examples/charts/modeldata/doc/modeldata.rst new file mode 100644 index 0000000..5d5d59e --- /dev/null +++ b/examples/charts/modeldata/doc/modeldata.rst @@ -0,0 +1,9 @@ +Model Data Example +===================== + +This example shows how to use the QAbstractTableModel derived model as the data +for the series. + +.. image:: modeldata.png + :width: 400 + :alt: Model Data Screenshot diff --git a/examples/charts/modeldata/modeldata.py b/examples/charts/modeldata/modeldata.py new file mode 100644 index 0000000..6460210 --- /dev/null +++ b/examples/charts/modeldata/modeldata.py @@ -0,0 +1,144 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Model Data example from Qt v5.x""" + +import sys +from random import randrange + +from PySide6.QtCore import QAbstractTableModel, QModelIndex, QRect, Qt +from PySide6.QtGui import QColor, QPainter +from PySide6.QtWidgets import (QApplication, QGridLayout, QHeaderView, + QTableView, QWidget) +from PySide6.QtCharts import QChart, QChartView, QLineSeries, QVXYModelMapper + + +class CustomTableModel(QAbstractTableModel): + def __init__(self): + super().__init__() + self.input_data = [] + self.mapping = {} + self.column_count = 4 + self.row_count = 15 + + for i in range(self.row_count): + data_vec = [0] * self.column_count + for k in range(len(data_vec)): + if k % 2 == 0: + data_vec[k] = i * 50 + randrange(30) + else: + data_vec[k] = randrange(100) + self.input_data.append(data_vec) + + def rowCount(self, parent=QModelIndex()): + return len(self.input_data) + + def columnCount(self, parent=QModelIndex()): + return self.column_count + + def headerData(self, section, orientation, role): + if role != Qt.DisplayRole: + return None + + if orientation == Qt.Horizontal: + if section % 2 == 0: + return "x" + else: + return "y" + else: + return str(section + 1) + + def data(self, index, role=Qt.DisplayRole): + if role == Qt.DisplayRole: + return self.input_data[index.row()][index.column()] + elif role == Qt.EditRole: + return self.input_data[index.row()][index.column()] + elif role == Qt.BackgroundRole: + for color, rect in self.mapping.items(): + if rect.contains(index.column(), index.row()): + return QColor(color) + # cell not mapped return white color + return QColor(Qt.white) + return None + + def setData(self, index, value, role=Qt.EditRole): + if index.isValid() and role == Qt.EditRole: + self.input_data[index.row()][index.column()] = float(value) + self.dataChanged.emit(index, index) + return True + return False + + def flags(self, index): + return Qt.ItemIsEnabled | Qt.ItemIsEditable | Qt.ItemIsSelectable + + def add_mapping(self, color, area): + self.mapping[color] = area + + def clear_mapping(self): + self.mapping = {} + + +class TableWidget(QWidget): + def __init__(self): + super().__init__() + + self.model = CustomTableModel() + + self.table_view = QTableView() + self.table_view.setModel(self.model) + self.table_view.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) + self.table_view.verticalHeader().setSectionResizeMode(QHeaderView.Stretch) + + self.chart = QChart() + self.chart.setAnimationOptions(QChart.AllAnimations) + + self.series = QLineSeries() + self.series.setName("Line 1") + self.mapper = QVXYModelMapper(self) + self.mapper.setXColumn(0) + self.mapper.setYColumn(1) + self.mapper.setSeries(self.series) + self.mapper.setModel(self.model) + self.chart.addSeries(self.series) + + # for storing color hex from the series + seriesColorHex = "#000000" + + # get the color of the series and use it for showing the mapped area + self.model.add_mapping(self.series.pen().color().name(), + QRect(0, 0, 2, self.model.rowCount())) + + # series 2 + self.series = QLineSeries() + self.series.setName("Line 2") + + self.mapper = QVXYModelMapper(self) + self.mapper.setXColumn(2) + self.mapper.setYColumn(3) + self.mapper.setSeries(self.series) + self.mapper.setModel(self.model) + self.chart.addSeries(self.series) + + # get the color of the series and use it for showing the mapped area + self.model.add_mapping(self.series.pen().color().name(), + QRect(2, 0, 2, self.model.rowCount())) + + self.chart.createDefaultAxes() + self.chart_view = QChartView(self.chart) + self.chart_view.setRenderHint(QPainter.Antialiasing) + self.chart_view.setMinimumSize(640, 480) + + # create main layout + self.main_layout = QGridLayout() + self.main_layout.addWidget(self.table_view, 1, 0) + self.main_layout.addWidget(self.chart_view, 1, 1) + self.main_layout.setColumnStretch(1, 1) + self.main_layout.setColumnStretch(0, 0) + self.setLayout(self.main_layout) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + w = TableWidget() + w.show() + sys.exit(app.exec()) diff --git a/examples/charts/modeldata/modeldata.pyproject b/examples/charts/modeldata/modeldata.pyproject new file mode 100644 index 0000000..e10d49e --- /dev/null +++ b/examples/charts/modeldata/modeldata.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["modeldata.py"] +} diff --git a/examples/charts/nesteddonuts/doc/nesteddonuts.png b/examples/charts/nesteddonuts/doc/nesteddonuts.png new file mode 100644 index 0000000000000000000000000000000000000000..e1885081b976050924a714985ba1c5866902b3fd GIT binary patch literal 63338 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 MN+~`oeroLZAG|1Sf&c&j literal 0 HcmV?d00001 diff --git a/examples/charts/percentbarchart/doc/percentbarchart.rst b/examples/charts/percentbarchart/doc/percentbarchart.rst new file mode 100644 index 0000000..abf631f --- /dev/null +++ b/examples/charts/percentbarchart/doc/percentbarchart.rst @@ -0,0 +1,17 @@ +Percent Bar Chart Example +========================= + +The example shows how to create a simple percent bar chart. + +A percent bar chart shows the data in sets as a percentage of all sets per +category. + +Creating percent bar charts is just like creating a regular bar chart, except +that for a percent bar charts, we use the QPercentBarSeries API instead of +QBarSeries. Also, in the bar chart, we used the nice numbers algorithm to make +the y-axis numbering look better. With the percent bar chart there is no need +for that, because the maximum y-axis value is always 100. + +.. image:: percentbarchart.png + :width: 400 + :alt: Percent Bar Chart Screenshot diff --git a/examples/charts/percentbarchart/percentbarchart.py b/examples/charts/percentbarchart/percentbarchart.py new file mode 100644 index 0000000..cfb1180 --- /dev/null +++ b/examples/charts/percentbarchart/percentbarchart.py @@ -0,0 +1,63 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Percent Bar Chart example from Qt v5.x""" + +import sys +from PySide6.QtCore import Qt +from PySide6.QtGui import QPainter +from PySide6.QtWidgets import (QMainWindow, QApplication) +from PySide6.QtCharts import (QBarCategoryAxis, QBarSet, QChart, QChartView, + QPercentBarSeries) + + +class MainWindow(QMainWindow): + def __init__(self): + super().__init__() + + set0 = QBarSet("Jane") + set1 = QBarSet("John") + set2 = QBarSet("Axel") + set3 = QBarSet("Mary") + set4 = QBarSet("Samantha") + + set0.append([1, 2, 3, 4, 5, 6]) + set1.append([5, 0, 0, 4, 0, 7]) + set2.append([3, 5, 8, 13, 8, 5]) + set3.append([5, 6, 7, 3, 4, 5]) + set4.append([9, 7, 5, 3, 1, 2]) + + series = QPercentBarSeries() + series.append(set0) + series.append(set1) + series.append(set2) + series.append(set3) + series.append(set4) + + chart = QChart() + chart.addSeries(series) + chart.setTitle("Simple percentbarchart example") + chart.setAnimationOptions(QChart.SeriesAnimations) + + categories = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"] + axis = QBarCategoryAxis() + axis.append(categories) + chart.createDefaultAxes() + chart.addAxis(axis, Qt.AlignBottom) + series.attachAxis(axis) + + chart.legend().setVisible(True) + chart.legend().setAlignment(Qt.AlignBottom) + + chart_view = QChartView(chart) + chart_view.setRenderHint(QPainter.Antialiasing) + + self.setCentralWidget(chart_view) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + w = MainWindow() + w.resize(420, 300) + w.show() + sys.exit(app.exec()) diff --git a/examples/charts/percentbarchart/percentbarchart.pyproject b/examples/charts/percentbarchart/percentbarchart.pyproject new file mode 100644 index 0000000..0cf3778 --- /dev/null +++ b/examples/charts/percentbarchart/percentbarchart.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["percentbarchart.py"] +} diff --git a/examples/charts/piechart/doc/piechart.png b/examples/charts/piechart/doc/piechart.png new file mode 100644 index 0000000000000000000000000000000000000000..3f3942c0fdf64c959622194ae659083ad4b66d9c GIT binary patch literal 9644 zcmcI~XH-*Pv$qNgqJRQ|G(l?U8akm#C$!M3AQF0$E;T43y@deMdvDS^h}6)fcN7AM z^iHJR!?W)FulHTg^R9KjydU!6Ep^j(W_^{v zqxU7lfY|lYIu>L0E``$AxJ`U_;ILI%@sSjMV#IeAN&M%MA&;c|NuGbY#Vmz?8~W+d z9Tfg^T+m}Fd>F&0M;SEqfl`@c8&5xPNZ~)H2>mMej%zS;AzxjQ1+_4ml*Y?aMP`}x{I%O6>46kG-dFxWIjUuP$E zTG}Bx=QxaKGPdo)H~pR`YHu$%S4raV$mkKZw^Q^fJxNHd!*QCZ=ig8FH7_nb4%I9U z*BtNQoW=+r%r~TUv$_EL@{|W+!m2C=UoJ{C?0+US!T$XlvkPKa7V;#b^Leq89kmv{ zn>EEt7S?50=fG;{f8pTj`Vb3MQtJP7KbC`o1DpTq%FfuhH4$&NdcziReJd+1C`eaD z#a?;f?m>0FN^)Y7S5O<_jKBBkGrbnC?eBp~lVuC^WCY%?3a2*F0_nmo0-jX2Z-1bQ zxCeQWAtR8au9_|$cJZVIA)&;rd-PxxvfE5YLL%pon3N>v!}L&*X>@W@=PfzHNSW*@ zzm2P@>0>N^Vl)Z3_hK9+?7WUq?~Op0MEIC*jIMI_pB#&T5BS=G2EV*aZWBB_l{Bb? z&n&i_qdPWSMHXca;EUe7(sx8m1J6`TFmwzY9Lb^tSVnVmbF&`Rl7a$0ahI!!dk2O% zgCMjcmq{yFNC;*3>Ez_3!A0ViNkYAka9V-s?S%!tn0&Z}0m9IKE9c;$Co@O-DKa~XV zv3O`QDEI>x2gf=>Wi1Ep5Y|EgV=$DDq(ct`hqneTcF!p%g0pLDhu#+`af>3pza zk8jgVB)8TZ!@f6;hOn`*ZQo_y|9;kniHe1IV#IRtmo71}fomq&OiXU>?(S}F zma>sEmO~d`9vN^ zql06wQ7M+4JxtlA%Cd!P#fXAWDnAQWj>fJ_TGU{AX(3!0GVZ|xxcRE7!nh!GN#FZq z>>qp7JJ;mwf9d+SUIJ6+v&Gq5W0QqO$L*Eji3Y5e$d6$RZ|qr z{ax>sV%_rN2h5)I2N9=U4gNA~MOBu=b2YZZ)z)UD|%ko&eAp4wXCxvJRrJF zD32FX@goi1r^BVteK4Bu4mpdFARSfyjBJ z@{Wy-&6)0Hug5qK%42ttarv

4{f_^GxNF%*>!(oEV&US=##g`gH-fZ``>JA0Hos zc=-hnjI#<@D}EoGacib3>Vng&MNW}u0PSN!|7dUQdSKvu`onGJN?CAX_?x32@-8<{ z15TK)Fk`*$@Vb!R<-!b;Fp7#%?CnOlie01~4<@4z*LfHO=}Ebr`&(g1`R90Pm@D-2 z6F}wnJc*?;qiGe-AFcSNz@@wP^m9>zTv`jrt z7DTkD*un6({B*zgxVY5#c!v}P5=n`x=>TOWyhBNg3??#elh#n5D8Rv1OgMLr%RJt{ z#}(dV6{II_Z^K63Vs?)Fi~uY1K<0T@Bt!vNlDrSP%?zM`KMCv(6nOX_too100YDor zu>3z^+du377r=9ag}DD0GXC@RKR6YwJzKZ?t?ae;SK1q-1DN|1&75K9;DB8YJ6`Eg zJK5WVDmHW>)XS&nL|lQ0F%!$G_5dG$+=_473gFXFmz|TARM_I}cxQ91C`1bVB0PWn zVs8(h!R*zmUteC5vU3#oPIY`IDmQM?;Upj9yF8wnlal(r$B2W%pJ}wV%vU#L^HYvW zGv)-fG2#`ke^irT5_f1L)3on0X3!lZ@hGHr!IE!J0xz2$a zD%20dHFC*aLv51{2>OagT?j}ucnSK7#=Y{i3n>Z+NeHt?UQ*!{Tk6#oE9F{NKP=|| zx^QiYw&~*=}Wzv%&P9 zt_>Zh2o8sZ0}(h;)KlbySu(^Zw2Mfc6)Wq~M9<7-Cb&x@?1AN3O54NqGoBNr z|1_hu>DVCfTym<_NE^v$oRUj$wF$|w5nInKOCB;6AJ(4Iae{VhXi>4kr*)rF-r>jR&3l_GvKJzBakSU7|%?pWQ2s!e3+xM~Dz4`3dmY<4`5$HU!fWXtI z<-k3xQ8jOcHBI`3rj%0J>^>QuxuGEHB3ga?N$Bj56IME%Zbx;={tcmkKhpFmF>!ft zFsWBdYeB*Lt?7`sxH!xv;HOgnKt96nEth3bw^;MtvhXJnHo*urYSSb8;`Z4#l-f?N zJ63)Q!9m^;{WX0hM2)Y_-%N8mM-LJ0;HT2}vU$$SD6T}is_{0N)cYKcB+JsuP6jxi z?%?fu3G(xo8n?tNKS!&(YiNM4WtT19zwg|dak-x=Gy41Y(=BI!*jRgwawdvH`&Ir> zo5&9{Dt2owiD>}C~WoE97cjVuZ>73v(OW1&H=qy)H>kx>!QhS4d$>ro9 zQ&T*gTQA&MfrH`7O=7ujK_bQd_Gf>cTRDLu7<2U(ikR?LUtfNt)F$gMIczmKL8A21GplzVqe(iTr*yUR-fa=aP^U7!*dl#fRnx5qv5P*CrCd;fo zE)dzjpWmazKl;mV^yA0xBO}t5Lo&pk3QQVXiGaRjluy~ysW(oSQUsQ~WM*&mRqNES zp)`k-e`P2?t44PJkW_CH<}f)s33OJ+j?~&XJNNa)6<2rw{zFjJyXM~Bl{22uJy;9&cJ+g-ubaB3v7yJPPGvFgfx(@Kv!p*x}FyLVPF7{2=p z$&eICgpPbSD|NHIVopt_o#sZwQpOkZ>*>=T8We4ZKa$Rat{E=OVG-ZG_dD$Gd++l! zF>j)CfaH*G372lsceAqTG=*X*O5L#*ncqzpV;92AY7Y$+{j@a4RfqcS=d*sPbDk*T z@8-t<@it#MQ^S%R)hs?UW(+kT?qjzeZW0oaJKYp(Tgxb^e1wAI(>1s7ULBo%C`o}# z@k+GaYN7oYX=dudqsIr%h0PtGiwm~(Xk`5@G^_eTQwY1 zuYN3twtir4q-4%<2H$IlXYmzzKBjEvw4|xTYIR!E4DWD}=nks)2WcoXL@EjriJbHY zU;dI^Bh6-UhUMwWD`v-eKWnZtn+U4{?m;DKa>bW(Te(EJIs6%@WKMATBW+PVcv&?I z3hpZYMYpW2;+Z!UAQ)wT<-O08zo}Nra91Pb;wIrD4V-?If~n0`=FHe12S33Z`2=dF z2>^p=2ANQEXFR4+Dp+lySELVQB313LDEbxK*ZU|qMxtKQ%iUJMT@*M_mQq#SvFWX^ zPy_P5uo_}6@RE}yUOqQC8zYx2N1A^<$~4Cd};;?GyLaM&JBL)4d#lSV%Fb}JTeEFI2%WPpRE z`ltphuWmFC7AYZ?7H|-MiNf?a4MEF=c(&qiR^9uIO_*A85d@)qM(gkP$*!g#7s+xf z1yM*myq_TxA=A9KnVnHdv$$;t%Op}Z>&KwjXU6c>qdpCyKBW^KBpoFUYIw_6E>ru> zH6Y4uzdzuv3m)H8CB-nw8HdVVqXLpyub2jGyT-WsP~Q_>-8U3K9yj!Z%Km5~Sv4QC zm)WdU%;)Pi$~qCG2_Aik;xn!tO+NpUTHVdJRRCo8T=8ysbq!n(%p&xh> z1LrRDtukQ8=Y>WU?_$$q*@cxs4*+4VpuHS4D9=bdW=ee;RC!=)_t%H+29hCmNpktb z5YqK#C=n@iOqVs*CRT_U2h{g78ius2iK+tU@!dNIQey!X#}`61$c_&O4s+6B13hU} z{jU=LL_-f469NvRULiWQM}P$IH8{{YhL_Hjm=qd_W;oO^Wy{Zr!r=r9B1|)JQsQC) zW2U`t@IQTs_(Y}YGg3OBQfIQNH)V3HZTj*7QJ)Cw2aT~ygFiY&IvQbOlrRR4 z)}TZ5J;%Dh8>aS}->ITutm;U*3L2ClvhI!LJyfrO@PRx#5Wl5<06H)s@Cym3{8pGz zvYtWnSm@3sP+X{lLit75_=ZOn>-rTV|7f-w|JZa|^p+^81v zM8vxT9HKtRP##?O^!r)qc=&J1>0CfN?`#YXC(>XZpGRF|Jk{kN=jS+{=06jmMRCyp zflym&YZ?#NQj_lrz?Q%^r%WF zA)xuxOtLSWU`O5B>u=|HLlwO#;X^x9ctpo%XF0>M02DPCxIKXgWXQxT7mr<@oAfkt zp%ONq8Njbp`UF#i)FZdEGtOh_rM-N7Y4c4_Oz zUZYaoYoDoMVXr^5qdfwljo6=BvVIrvbv4nqV%+g2Imdh_a3B!I85Jhgc!kYLdDdzS zC6$0BQe3{^fCk!q?D7gW$!gkqdJuERjt_XanswY%Y)9VG0m{GEv*4AWE`WapN!u8f)>P_Bc-u?Swzz0=CG1J;{G!IeGSlP8e+CXCR#If4Thh5I0 zjgsnqV&ce->p^t#;oRZiS-~Wwl^7#z`7RWYpQhslM2caa9O@9$fOZ|_7z%UwQ>5ZE zuC8@oHZ{9|R!qE=>Y(V>6P2@9a`5BBTE75aUY7sxK11yGgtq z>3qF+TUrQ5@9|2|H^`}_y)|gTR4L`Q5!c%v{ScBn%YP$&9~9%pQC8w+$~-8of4awT zn2x;;XDn&Y5@%;)PtH<>jo0Fd`#H{?%E^WkG}4V1S<&v9@GQ#LZd$0UBkSKvnVQh4 z$UB5R^af|hOhO%BY>B##ie-u#7QRSSaSt>Pa*C#{jE-^+?aL`J6BEDcI6<7fIOymQ z4!XSrII%1U!6K`Pt@lTS=2ha1SJTSmR{#X}o;7D*>pR-$|md}3Z+TIwhx4#C}Q z4clODn{yC50$)6dXlnrQ;9}dt(|OXq@F0rBHt&nqMD<5KM-|!U%VO<-RAZ5dzh@Uc z>q^7Lu06_2klIbP3wXb{Y?vm`(?{=yN?7nF-supS!_ucyZzr*+3g$ z3}2k}-A{A$_PLl!z5c5>&ziu&ZTm3kwh7VBiF(c`E!u$!!O){2P9?AG1X(->JnNv) zdJwwX;(%{{&=EEOTx*1P%f$XHlc_9F?9NQBtPFcx`s}ZEP1%-hez|QzH%_V7Ah(n^ zf@{g=_l~oFS)8ip^CyBhqVxuQP)rvh)Vb@+-QtBu&`baVbYwSy+&|sh(LmHc>UiPv z&c^<}uD9Ru%*3$6#1i<>^s50*_6Su{&e7u0Uv>E%!(sWAr=&3v=Ielp#N(3uP8K$H z?ybfFT5@b`2wB;+OAk98cQt9Y^oWWAFxf(7IjKp-W6-EMXp$G2nyFKAqE>oosP~!B zhcD6+$H7bvFv!)hKd#*6a1+qxs#w^7w#bCqC8AGw`fQ=go88-_c^!*0?5I5ZWg*G_ zYMBhKg&((wo03DS4~T<$AfCn5%S?wPwz0C7K{>Z35BG^i*%Ye>R%KTYE9 z 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%0Da%|3U}% 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 k6d>QB1TQ)AMUj-0=1P0@rqzH2?qr literal 0 HcmV?d00001 diff --git a/examples/charts/pointconfiguration/doc/pointconfiguration.rst b/examples/charts/pointconfiguration/doc/pointconfiguration.rst new file mode 100644 index 0000000..ffe865d --- /dev/null +++ b/examples/charts/pointconfiguration/doc/pointconfiguration.rst @@ -0,0 +1,144 @@ +.. role:: py(code) + :language: python + +Selected Point Configuration Example +==================================== + +This example shows how to configure individual points of a :py:`QLineSeries`. + +.. image:: pointconfiguration.png + :width: 90% + :align: center + :alt: Line chart with controls for configuring selected points + +Features demonstrated +~~~~~~~~~~~~~~~~~~~~~ + +In this application you will learn how to: + +* Select a series of points on click +* Override the configuration for the following properties of specific points: + + * Color + * Size + * Label visibility + * Text format of the label + +Subclass QMainWindow +~~~~~~~~~~~~~~~~~~~~ + +Create a subclass of :py:`QMainWindow` to contain the chart and controls. + +.. literalinclude:: chartwindow.py + :linenos: + :lineno-start: 16 + :lines: 16-18 + +Create a line series +~~~~~~~~~~~~~~~~~~~~ + +Create a :py:`QLineSeries` containing the points to plot. Give it a name and make the points +visible. + +.. literalinclude:: chartwindow.py + :linenos: + :lineno-start: 20 + :lines: 20-28 + +Create the point configuration controls +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Now, create controls to configure the color, size, and label visibility attributes of a point. + +#. Create an associated label for each control, so the user knows what the control does. +#. For the color and size, use a :py:`QComboBox`, populating it with a variety of colors and size + choices. +#. Create the final two controls. Create a :py:`QCheckbox` to control the visibility of the selected + point, and a :py:`QLineEdit` to allow the user to provide a custom label for it. + +.. note:: + Do not set initial values for any of the controls, as a point will always be selected showing + its current settings. + +.. literalinclude:: chartwindow.py + :linenos: + :lineno-start: 31 + :lines: 31-52 + +Populate the controls upon selecting a point +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Add the logic to set the current control values depending on the chosen point. Note that the whole +series value is used if there is no customization for a selected point. In this case, if the series +is set to show blue points, a blue color value will be shown in the color combobox. + +Perform some actions upon clicking on the lineseries. Look up the point clicked on and remove the +prior point selection. Finally, select the point that was clicked on. This makes the point larger to +indicate its selection. The current selected point's index and :py:`PointConfigurations` are saved +to a member variable for later use. + +Query the :py:`PointConfigurations`, and use those to find the matching indices in the combo boxes. +Set the current indices of the comboboxes to the corresponding values you looked up. Similarly, +look up the values in :py:`PointConfigurations`, and update the checkbox and line edit controls. + +.. literalinclude:: chartwindow.py + :linenos: + :lineno-start: 54 + :lines: 54 +.. literalinclude:: chartwindow.py + :linenos: + :lineno-start: 97 + :lines: 97-132 + +Provide the logic to configure the selected point +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Now that the controls are populated with some values, add logic to do something when the value +changes. Connect the control signals and the logic, to configure the selected point based on the +chosen values in the controls. You can do this by setting the :py:`QXYSeries::PointConfiguration` +value that is associated with the control, to the :py:`m_selectedPointConfig` and +:py:`PointConfigurations` member variables, and call :py:`QXYSeries::setPointConfiguration`. + +.. literalinclude:: chartwindow.py + :linenos: + :lineno-start: 55 + :lines: 55-60 +.. literalinclude:: chartwindow.py + :linenos: + :lineno-start: 140 + :lines: 140-156 + +Create the chart and lay out the controls +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Finally, create the chart and its view, add the series to the chart, create the layout of the +window, and select an initial point. + +.. literalinclude:: chartwindow.py + :linenos: + :lineno-start: 62 + :lines: 62-95 + +In our entrypoint file `pointconfiguration.py`, instantiate the :py:`ChartWindow`, resize it, show +it, and start the event loop. + +.. literalinclude:: pointconfiguration.py + :linenos: + :lineno-start: 11 + :lines: 11-17 + +You now have a fully functioning application that demonstrates how to customize individual chart +points. + +Usage +----- +To use this example, click any point you'd like to customize, change any of the comboboxes and +checkboxes controlling the individual point color, size, label visibility. You can customize the +label text in the line edit at the bottom. + +There are three special formatting strings for the label that you can use: ``@pointX``, ``@pointY``, +and ``@index``. These are replaced with the x value, y value, and index of the point, respectively. +More information about that can be found in the documentation for +`QtCharts.QXYSeries.pointLabelsFormat`_. + +.. _`QtCharts.QXYSeries.pointLabelsFormat`: https://doc.qt.io/qtforpython/PySide6/QtCharts/QXYSeries.html#PySide6.QtCharts.PySide6.QtCharts.QXYSeries.pointLabelsFormat diff --git a/examples/charts/pointconfiguration/pointconfiguration.py b/examples/charts/pointconfiguration/pointconfiguration.py new file mode 100644 index 0000000..d8c90d2 --- /dev/null +++ b/examples/charts/pointconfiguration/pointconfiguration.py @@ -0,0 +1,17 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Light Markers Points Selection example from Qt v6.2""" +import sys +from PySide6.QtWidgets import QApplication + +from chartwindow import ChartWindow + + +if __name__ == "__main__": + + a = QApplication(sys.argv) + main_window = ChartWindow() + main_window.resize(640, 480) + main_window.show() + sys.exit(a.exec()) diff --git a/examples/charts/pointconfiguration/pointconfiguration.pyproject b/examples/charts/pointconfiguration/pointconfiguration.pyproject new file mode 100644 index 0000000..c53d798 --- /dev/null +++ b/examples/charts/pointconfiguration/pointconfiguration.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["pointconfiguration.py", "chartwindow.py"] +} diff --git a/examples/charts/pointselectionandmarkers/doc/pointselectionandmarkers.png b/examples/charts/pointselectionandmarkers/doc/pointselectionandmarkers.png new file mode 100644 index 0000000000000000000000000000000000000000..209bc3b0d432d3669c44561083dc4be8ef792954 GIT binary patch literal 47669 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 Ao&W#< literal 0 HcmV?d00001 diff --git a/examples/charts/pointselectionandmarkers/doc/pointselectionandmarkers.rst b/examples/charts/pointselectionandmarkers/doc/pointselectionandmarkers.rst new file mode 100644 index 0000000..e8776da --- /dev/null +++ b/examples/charts/pointselectionandmarkers/doc/pointselectionandmarkers.rst @@ -0,0 +1,72 @@ +.. role:: py(code) + :language: python + +Light Markers and Points Selection Example +========================================== + +The Light Markers and Points Selection example shows how to use light markers +and point selections in a series. + +.. image:: pointselectionandmarkers.png + :width: 90% + :align: center + :alt: QChart with Light Markers shown + +Creating the chart and its elements +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +We start by creating a series, filling it with the data, and enabling the light marker and point selection features. +It is important not to set points visibility to :py:`True`, because light markers functionality is an independent feature and setting both would result in undesired behavior. + +.. literalinclude:: pointselectionandmarkers.py + :linenos: + :lineno-start: 20 + :lines: 20-42 + :emphasize-lines: 2-12 + +Then we create the :py:`QChart`, the :py:`QChartview` and the control widget with its layout to arrange customization elements. + +.. literalinclude:: pointselectionandmarkers.py + :lineno-start: 44 + :lines: 44-53 + :emphasize-lines: 1,6,9 + +Creating UI for configuring the chart +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The next step is where we create user interface elements that allow customizing the chart, including setting light marker and selection marker images. + +.. literalinclude:: pointselectionandmarkers.py + :linenos: + :lineno-start: 54 + :lines: 54-57 + +We create the label for the marker selection combobox and fill the combobox with the items. We then provide functionality to the combobox, allowing the user's selection to set the desired light marker image. As light markers are enabled and disabled by setting a valid QImage or setting an empty :py:`QImage()`, we need to make sure that if the user does not wish unselected points to be displayed, we do not actually set the light marker image. +If checking isn't performed, a new :py:`QImage` will be set as the light marker and unselected points will be visible even though it has been switched off. + +.. literalinclude:: pointselectionandmarkers.py + :linenos: + :lineno-start: 59 + :lines: 59-67 + :emphasize-lines: 1-3 + +Almost the same procedure applies to the selected point light marker and line color. The only difference is that there is no need to check the visibility of unselected points as it doesn't affect the functionality. + +.. literalinclude:: pointselectionandmarkers.py + :linenos: + :lineno-start: 70 + :lines: 70-85 + +A small difference comes with changing visibility of unselected points. As it was mentioned before, making light markers invisible is achieved by setting the light marker to an empty :py:`QImage()`. That is why, depending on checkbox state, selected point light marker is set to an empty :py:`QImage` or to the light marker extracted from the current index of the corresponding combobox. + +.. literalinclude:: pointselectionandmarkers.py + :linenos: + :lineno-start: 88 + :lines: 88-97 + :emphasize-lines: 5-6 + +The final part is to lay out the widgets within the main widget and set the main window size. + +Usage +----- +To use this example, change any of the comboboxes and checkboxes controlling the markers, line color, and unselected point visibility on the right. Then try clicking on points in the chart to select or deselect them. diff --git a/examples/charts/pointselectionandmarkers/images/blue_triangle.png b/examples/charts/pointselectionandmarkers/images/blue_triangle.png new file mode 100644 index 0000000000000000000000000000000000000000..7790453c8d07f8d2f730123f0d9dde2b22f09e66 GIT binary patch literal 2220 zcmd6o{X10o8^@1h);VT5X0TSAbc}>enng8ZcQnIPqm<`OQB9@t)S5xxG)cygr-=y_ zMW!fW!;%!6&eRmOR9dmDr=3A6UyYhtE3G}%58r>`dtK+cKM&_V@AJN2pZmH#nZBFW z8Imo?000vNjjh~c=eci=io4%*vv=gUvC5Ga0D$CP zTuxv@|L7pJtBOrY-uWLYB_b<@^{(ddyqfje8^!H+iT8}J2I(!O1zZQ0AO83;$|<1z z-t7-V4WVh#(XX`YW=~Doj?CV9*llG=etLULzR#uBOOK@y?}I`z6pn%6m)@GiIdP9P z_J-Ghr-lbBJv7f%+&CCK>^tucwAA>-!qVyDZ2QJRrXKl5;mc)PRiQ_Q0i zJ`0Cw`*g~>7G1mRvoXY|a+_|=>Jq_pz~O{w-xkvCKK56)g!vZGBRDlM673fKQ=Gj) z%P>Djh1Z~yeikV%;PMk{`M2j{Pw@6P<*?Ft9fLV;Dq|J`f+h#d%ud(<@Z6%0tNC@g z5`7Xm7WKB4SwW4Mm@Ps{r0o~;MlekC%}Ef_5%*SZ(4yWpnlqB!1KId0@a$)un6Uoc z-Kdlj9xKeWg7V?TZ3{)sYkpx<`}(t zHn5GMt4B;q)Yfxb4B(FFCvRDa5L=hDH|SOTfyCO}y%_y%L0Fi>b&%xVJ({s!4-gyO z?Nw8HV=idw`ZLkSS@oF|2lj|(<#_zKL&mOTyiK+D>#hcW_K3Rjj;CQK6(Eg=)4w~< z1gT)f{u2%NMO1ztOe3wlah;nhp@KKs&-M>tfAYyw3mvzL4qB$hY1a{pXmg^_eT%z!D zCBv|^vZ76sGvi^lU8mjo9Vq@F<(E9ZASqINFxVlS($j<@Xe>V5X36 zBCd_2%S6%+7;d;+B5mfeHdjGRMhiwpCJ&5G_!62 zq$P~s^Rpz$cuM4kdz`4NTdHVFm4rJp(^3Ol6^7Ma4=iE?n}WZgKi#hoX?$Yz+VbJ@7$i z-D?_U0c1nEwtfLH!oRT&vq!}d$keZcWXqR!?#Dfq3TH~;_z2^fft-ygL$Y7*#SQ1C z{0l-|mP10!7eU;QvmH_GQtZQcC95BDykW-@qV@I^CMTlG zRGb0bvQlHtq*D(#s~82jxIe*vpdbhT1?8sW&diA`i!GAp(fE2s2335Bkzw*V_*U?c zoL=3`Yso6+<@*x$<)qV+1nLYO>Y~*pAU)bLZ#Yp#>;!)g>E58sP#`}W`hCt=t;~jg zR`NSFcrjEYg&p%G{TFP;5MK&ZWX8+HZ!;!Dc{Gg`K|Xm5-)cEn2a8^L>h z(m%DYkUS2*STehh(Ju10(da?XF-;6&>@iZoY#)%vWJQwDL>KUn3$zchGIMbCuL|EJ zlE+*JCla1p3~jNcz-IoPL9Yhk0!>7)8Kh4mJf*LZs*fXDwlXiqRwnb>V-{_aB9bLJ1he?{j8P+OXKK* zzNIkwS9JzXf|~SLgl2GA`u`GAyCamuUlTKlKG=4#DR~EylTtyoe;J}+GB3M)vO@!{ zO&EnHV)G?fRclX^6N}XPK*3K71Ckg#ir5QrCO#)Rl8qi7$wyrU*rzh2ae^xiD6ExX zn!GdFlBplsQt)De8zS7u4!l_%V<>`CXU2udyRdoZ7e#?_6VZ#-%JI{)6N8*%21L!q zTo@)PxXS`RD| z7eZ{f(Y@~Gdl)4TJiTS1$06P8cl`c1!Bl)Drf(VPMK~31OmAbgNZ85{oY{(68Kl6{ z6#|c}kLbHRM-~!&x>36nFOqBlz;^PE$gigI b+32WV+g4zqI9#P9Zh63K%_eS*2S4Rs{r}Hn literal 0 HcmV?d00001 diff --git a/examples/charts/pointselectionandmarkers/images/green_triangle.png b/examples/charts/pointselectionandmarkers/images/green_triangle.png new file mode 100644 index 0000000000000000000000000000000000000000..29ae043f23ff04a086d5835fd4488085e18b7856 GIT binary patch literal 1389 zcmd6n?N3u@9EP8#r?2$%v>RH5LTLa)(Sr2_V_SssDu}BGWU~sogDzV&Y}O%8q`G65 zTG=ExEOR=I?LdVQ$=M`Y0r6mm8dOpSaY)z(DvTP%&Nr~)w$ndg-eB53JDJZ0ElvPG7A7;F<H0) z(cb)QYBCVG+&1#f-A9<`79p*&`PY4wR^+ zRFfwH9qca=aUc089&%ylT$EetQ?EpJ?KIXyo%T^5DT?IQLz(v0DET7tj+qW%mCK0= zdzYDhij^f3<@O{w)#j0ljl(5sIpy}u0ODi&3rG)PuMzTeBsU7E9;;KK@ovdp7WI?o zZ#Ge4?}`IL-K`pMr`)(532(q216W|+N3w%E?+@;r_Rxz-6y+1VoZ!y0f;<0bP1!Dj zRjnQ|o}+sMs#|Yj5>xwQQ04ZB@PoSFK(+fODrs!L4XQdkLi~pAGN|sj86ufzKL-Q> zEKa|_vtQtKK3U9Suh}JowJUWN&|QBrg&glolg?K70kJElN31S>mGrKjricS-nP+O8c9fJe6gE4_a&Db;SKGy_njfx&ejn=Y2|! zl=X-Pr%#k2=qceg`s!3|xI&q849Yl~B{Ysp5b69?n@MNv7^l?npaW#&rU{LW@mrzw zd&g`l-*KLWW^v*P*AKBAeoujc&R*XuP&;NjNLyR&+Y06CFetNWVrbkbVM*ubrIXI3 zV@RoE+yXMTrtyr82|i%G=MYi(C(c8(n-fO3+F}uY&)P&fyP}t)cFZXxZGqYlg(>G4 zkcl**v=^5^sdiN~>6|wPOIsf#gN(d1#5fVZ6kGJV4*!2nbhmEaVRrV03m- zFI2bAo<-U^Ygr1@>M$Uy)*!UkC;?J!9*cA)ofHq6ZvTm(=el>(>Dx7Og~@OhS$6!H z4`h@rilDq3F&=-Y|1Mem(z1;9ZaTzOJwI9xtwP@i^fjAhF>Q9uMUC!!jLUCnD1)+f zPcH#a-DVXrYS2g(Zij(WTHJG%g&zIVMcRtSaB^gWHk8_ta7v&qUXaa_PS(Xh>sP)^ z`dYUonl}G9mv3~h$JqRqGyia>M{Q5wJ^$4yP_cWo5=;bjCa60YC6hb+E5P%h?hER2 zM)mSd({ivUSWXRU1fvS^LW>xzV3dqvbmZ3+k)aTH)M&$p2jSQAve%=>_r!6p%v`ml z&|S6^Ju)W%f(RLS45H!*1Z7Y$L@+EhyTob+iowj_o!K}z4o?lel01#LPBEtv + + images/blue_triangle.png + images/green_triangle.png + + diff --git a/examples/charts/pointselectionandmarkers/pointselectionandmarkers.py b/examples/charts/pointselectionandmarkers/pointselectionandmarkers.py new file mode 100644 index 0000000..4f9540d --- /dev/null +++ b/examples/charts/pointselectionandmarkers/pointselectionandmarkers.py @@ -0,0 +1,127 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Light Markers Points Selection example from Qt v6.2""" +import sys + +from PySide6.QtCore import Slot, QPointF, Qt +from PySide6.QtCharts import QChart, QChartView, QSplineSeries +from PySide6.QtGui import QPainter, QImage +from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QGridLayout, QComboBox, QCheckBox, QLabel, QHBoxLayout + +import utilities as Utilities + +if __name__ == "__main__": + + a = QApplication(sys.argv) + window = QMainWindow() + window.setWindowTitle("Light Markers and Points Selection") + + marker_size = 20. + series = QSplineSeries() + series.append([QPointF(0, 0), + QPointF(0.5, 2.27), + QPointF(1.5, 2.2), + QPointF(3.3, 1.7), + QPointF(4.23, 3.1), + QPointF(5.3, 2.3), + QPointF(6.47, 4.1)]) + series.setMarkerSize(marker_size) + series.setLightMarker(Utilities.default_light_marker(marker_size)) + series.setSelectedLightMarker(Utilities.default_selected_light_marker(marker_size)) + + @Slot(QPointF) + def toggle_selection(point): + try: + index = series.points().index(point) + if index != -1: + series.toggleSelection([index]) + except ValueError: + pass + + series.clicked.connect(toggle_selection) + + chart = QChart() + chart.addSeries(series) + chart.createDefaultAxes() + chart.legend().setVisible(False) + + chart_view = QChartView(chart) + chart_view.setRenderHint(QPainter.Antialiasing) + + control_widget = QWidget(window) + control_layout = QGridLayout(control_widget) + char_point_combobox = QComboBox() + char_point_selected_combobox = QComboBox() + line_color_combobox = QComboBox() + show_unselected_points_checkbox = QCheckBox() + + @Slot(int) + def set_light_marker(index): + if show_unselected_points_checkbox.isChecked(): + series.setLightMarker(Utilities.get_point_representation( + Utilities.point_type(index), marker_size)) + + char_point = QLabel("Char point: ") + char_point_combobox.addItems(["Red rectangle", "Green triangle", "Orange circle"]) + char_point_combobox.currentIndexChanged.connect(set_light_marker) + + + @Slot(int) + def set_selected_light_marker(index): + series.setSelectedLightMarker(Utilities.get_selected_point_representation(Utilities.selected_point_type(index), marker_size)) + + char_point_selected = QLabel("Char point selected: ") + char_point_selected_combobox.addItems(["Blue triangle", "Yellow rectangle", "Lavender circle"]) + char_point_selected_combobox.currentIndexChanged.connect(set_selected_light_marker) + + + @Slot(int) + def set_line_color(index): + series.setColor(Utilities.make_line_color(Utilities.line_color(index))) + + line_color_label = QLabel("Line color: ") + line_color_combobox.addItems(["Blue", "Black", "Mint"]) + line_color_combobox.currentIndexChanged.connect(set_line_color) + + + @Slot(int) + def display_unselected_points(checkbox_state): + if checkbox_state: + series.setLightMarker(Utilities.get_point_representation(Utilities.point_type(char_point_combobox.currentIndex()), marker_size)) + else: + series.setLightMarker(QImage()) + + show_unselected_points_label = QLabel("Display unselected points: ") + show_unselected_points_checkbox.setChecked(True) + show_unselected_points_checkbox.stateChanged.connect(display_unselected_points) + + + control_label = QLabel("Marker and Selection Controls") + control_label.setAlignment(Qt.AlignHCenter) + control_label_font = control_label.font() + control_label_font.setBold(True) + control_label.setFont(control_label_font) + control_layout.addWidget(control_label, 0, 0, 1, 2) + control_layout.addWidget(char_point, 1, 0) + control_layout.addWidget(char_point_combobox, 1, 1) + + control_layout.addWidget(char_point_selected, 2, 0) + control_layout.addWidget(char_point_selected_combobox, 2, 1) + + control_layout.addWidget(line_color_label, 3, 0) + control_layout.addWidget(line_color_combobox, 3, 1) + + control_layout.addWidget(show_unselected_points_label, 4, 0) + control_layout.addWidget(show_unselected_points_checkbox, 4, 1, 1, 2) + control_layout.setRowStretch(5, 1) + + main_widget = QWidget(window) + main_layout = QHBoxLayout(main_widget) + main_layout.addWidget(chart_view) + main_layout.addWidget(control_widget) + + window.setCentralWidget(main_widget) + window.resize(1080, 720) + window.show() + sys.exit(a.exec()) diff --git a/examples/charts/pointselectionandmarkers/pointselectionandmarkers.pyproject b/examples/charts/pointselectionandmarkers/pointselectionandmarkers.pyproject new file mode 100644 index 0000000..8c39445 --- /dev/null +++ b/examples/charts/pointselectionandmarkers/pointselectionandmarkers.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["pointselectionandmarkers.py", "utilities.py", "markers.qrc"] +} diff --git a/examples/charts/pointselectionandmarkers/rc_markers.py b/examples/charts/pointselectionandmarkers/rc_markers.py new file mode 100644 index 0000000..f5a9cd4 --- /dev/null +++ b/examples/charts/pointselectionandmarkers/rc_markers.py @@ -0,0 +1,275 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.3.1 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00\x05m\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x02\x00\x00\x00\x01\xf6\x02\x03\x00\x00\x00{5\xdc\xf0\ +\x00\x00\x00\x09PLTE\x00\x00\x00\x98\xbag\x98\xba\ +g\xb0,\xf9`\x00\x00\x00\x02tRNS\x00\x93\x1f\ +\x95\x0f\xc6\x00\x00\x05\x11IDATx\xda\xdc\xd31\ +\x95\xc4@\x0c\x04\xd1U\x22\x10Bc\x80\xe6\xd1.\x1b@\xf0l\xb7\x0d\ + y\xb8\xc3\x05P<\xdc\xe9\x02h\x1e\xee2\x01\x04\ +Ow\x9b\x00\x92\xc7;<\x00\xc5\xe3\x9d\x1e\x80\xe6\xf1\ +.\x0b@\xf0|\xb7\x05\xe0\x8f{:(\x82(\x06\x81\ + Z\xb9 \x22j\xd0\x83\x1aDpaT\xae\x86\xd4\ +\x87,\x93V\xf0.-\xf8\x90\xbe\x00\xd8\xf8\x90\xbf\x00\ +0|(\x1e\x00,|)\x1f\x00\x08>\xa5\xfc\x80\x8d\ +O9?\xc0\xf0\xa9\xa0\x07,|+\xe9\x01\x82\x8f)\ +;`\xe3c\xce\x0e0|,\xc8\x01\x0b_Kr\x80\ +\xe0s\xca\x0d\xd8\xf8\x9cs\x03\x0c\x9f\x0bj\xc0\xc2\xf7\ +\x92\x1a (H\x99\x01\x1b\x0593\xc0PP\x10\x03\ +\x16*Jb\x80\xa0$\xe5\x05l\x94\xe4\xbc\x00CI\ +A\x0bX\xa8)i\x01\x82\xa2\x94\x15\xb0Q\x94\xb3\x02\ +\x0cE\x05)`\xa1\xaa$\x05\x08\xcaRN\xc0FY\ +\xce\x090\x94\x15\x94\x80\x85\xba\x92\x12 (L\x19\x01\ +\x1b\x859#\xc0PX\x10\x02\x16*KB\x80\xa04\ +\xe5\x03l\x94\xe6|\x00CiA\x07X\xa8-\xe9\x00\ +\x82\xe2\x94\x0d\xb0Q\x9c\xb3\x01\x0c\xc5\x05\x19`\xa1\xba\ +$\x03\x08\xcaS.\xc0Fy\xce\x050\x94\x17T\x80\ +\x85\xfa\x92\x0a hH\x99\x00\x1b\x0d9\x13\xc0\xd0P\ +\x10\x01\x16:J\x22\x80\xa0%\xe5\x01l\xb4\xe4<\x00\ +CKA\x03X\xe8)i\x00\x82\xa6\x94\x05\xb0\xd1\x94\ +\xb3\x00\x0cM\x05\x09`\xa1\xab$\x01\x08\xdaR\x0e\xc0\ +F[\xce\x010\xb4\x15\x14\x80\x85\xbe\x92\x02 hL\ +\x19\x00\x1b\x8d9\x03\xc0\xd0X\x10\x00\x16:K\x02\x80\ +\xa05\x9d\x0f\xd8h\xcd\xe7\x03\x0c\xad\xc5x\xc0Bo\ +9\x1e hN\xa7\x036\x9a\xf3\xe9\x00Cs1\x1c\ +\xb0\xd0]\x0e\x07\x08\xda\xd3\xd9\x80\x8d\xf6|6\xc0\xd0\ +^\x8c\x06,\xf4\x97\xa3\x01\x82\x0b\xe9d\xc0\xc6\x85|\ +2\xc0p\xa1\x18\x0cX\xb8Q\x0e\x06\x08\xae\xa4s\x01\ +\x1bW\xf2\xb9\x00\xc3\x95b,`\xe1N9\x16 \xb8\ +\x94N\x05l\x5c\xca\xa7\x02\x0c\x97\x8a\xa1\x80\x85[\xe5\ +P\x80\xe0Z:\x13\xb0q-\x9f\x090\x5c+F\x02\ +\x16\xee\x95#\x01\x82\x8b\xe9D\xc0\xc6\xc5|\x22\xc0p\ +\xb1\x18\x08X\xb8Y\x0e\x04\x08\xae\xa6\xff\x06\xf8\xe1\x85\ +\xef\x01\xe2\xf0\xc2\xf7\x00yx\xe1{\x00\xe8\xe1\x85\xef\ +\x01\xfc\xf0\xc2\xf7\x00qx\xe1{\x80<\xbc\xf0=\x00\ +\xf4\xf0\xc2\xf7\x00~x\xe1{\x808\xbc\xf0=@\x1e\ +^\xf8\x1e\x00zx\xe1{\x00?\xbc\xf0=@\x1c^\ +\xf8\x1e \x0f/|\x0f\x00=\xbc\xf0=\x80\x1f^\xf8\ +\x1e\xe0\xd7=\x1d\x13\x01\x00\xc30\x0c\xa4f\x88\x01\x91\ +%FY\x0c\x9az'\x06\xbf\xfc\xc2\x85>\xc0\xc1\x85\ +>@\x03\x17\xfa\x00\x03\x17\xfa\x00\x0b\x17\xfa\x00\x07\x17\ +\xfa\x00\x0d\x5c\xe8\x03\x0c\x5c\xe8\x03,\x5c\xe8\x03\x1c\x5c\ +\xe8\x034p\xa1\x0f0p\xa1\x0f\xb0p\xa1\x0fpp\ +\xa1\x0f\xd0\xfc]\xd8\xe6\x01\x9f\xda\xf9\x10\xf2\x1c\xc7\xb0\ +\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x08\xac\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x01\x00\x00\x00\x00\xfb\x08\x03\x00\x00\x00\xb2\x8e\xba:\ +\x00\x00\x00\x8dPLTE\x00\x00\x00i\xba\xf0i\xba\ +\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0\ +i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\ +\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\xba\ +\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0\ +i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\ +\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\xba\ +\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0\ +i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\xba\xf0i\ +\xba\xf0i\xba\xf0\x9c\xb2p\x14\x00\x00\x00.tRN\ +S\x00\x05\xf7\xfb\x19\x13U\x09\xf3\xe2H\x1d\x94z\x0f\ +0\xdf\xc9e\xec\xcd3\x22\xa37\x86\xda\xc0tO\xac\ +\xe5\xb8\x80\xb3k\xe9\x9a\xa7\xc5*\xd4@_\x8e:=\ +\xa4\x0e\xbb\x00\x00\x07\xa0IDATx\xda\xe4\xdd\x07\ +b\xaa@\x10\x80av\x11\x10i\x8a\x82=\xf6\xae{\ +\xff\xe3=\xf2L\x1c\xc0(b\x81e\xe6?\x020\xbb\ +\x9f\x94D)3V\xdbnk.S\xc8\xc6\xc2\xfd\xde\ +\xb3\x5c\x85ll\xef\xf4G\xfa\x96\xee%\xe0\xfa\xc3\xce\ +\xd4\x1e\x1b\x0a\xd5\xc2Y\x93O\xa6\xbe\xa6\xd0\x8ci\xfb\ +U[\x88\xc1,Th\xa6\xf5\x16s.D}\xb5\xd7\ +h\xae\x02\x96\xdf\xdd\xa9B\xf0\xe9\xe2Ds\x08\x02{\ +P\xff>\x00\xbb\xaeOr\x08\x8c\xf1\x9c\x8b(\xb5\xdd\ +9\x06\x0a\xb9\x98\xeb-Z\xe2\x5c}\xde\xa0\xb7\x08\xb0\ +\xadn\x0f\xc4O\x1d\xdf\x22g\x01\xa3\xd1\x1f\xb6\xc5O\ +M[\x0f\xa9]\x03\xae?\x9dp\xf1S{xlP\ +\xbb\x04\xc2\xd9@\x15\xbfq\x93\x1a\x07\xcf\x08\x84Tj\ +\x1c\xd4z\xfe\x9c\x8bK\xf48\x18\x9e\x11\x08E\x1c\xec\ +Q\x1a\x823\x02/\x91\xe3\xa01\x9er\x91Hm\xb7\ +\x8e=\x85H\xcc\xdd\x8e:\xe2\x12=\x0e\x02\x02\x13u\ +\x16\x16\x91#\x00\x08\xfc\x1f=\x0e\x02\x02\xffG\x8f\x83\ +\x09\x04\x0ar\x1cL!\x90\x1e\x07\xb5 \x81@z\x1c\ +\x04\x04^\xa5\x92\xe0 \xf0*\x95\x02\x07\x01\x81\xd7\ +\xa9K\xf4\x1cL#\xf0\x9a\x83c\xdc\x8b\xc07\x02\x9b\ +\xe2\x12=\x0e\x02\x02od\xdac\xd4\x1c\x8c\x10hr\ +q\x89\x1e\x07\x93\x08$\xc7\xc1\x14\x02\xe9q0\x85\xc0\ +[\x1c<\xa1}k(\xf4Wq\x04\xd2\xe3`\xcf\xde\ +\xd5\x05D\x8e\x83I\x04\xde\xe3\xe0IA\x18 0\xab\ +\xfaT\xc78\x03\x06 0\xab\x9d\xe3!\xfcY\x0c\x08\ +\xccl\xd2\xf5=|\x07@\x03\x04fU\xeftu|\ +\xaf\x8ff 0\xf5\x94dd)\xb8\x02\x04>\xd4\xe4\ +\x88m\x06\x00\x81\x0f\xc5\xd7\xe3\x10\xd7o\xa2\xf0\xb0\xda\ +\x89\x1c\xb5\xfa\xe3\x9a\x82)@\xe0C\xa9\xe6t\xe6)\ +\x88b\x80\xc0\xc7\xe2f\x17\xd1\xb3R@\xe0\xe3\xa9\xc3\ +C\x0d\xcd\x11\x00\x04\xe6h0;\xa19\x02\x11\x02\xa7\ +m\x91\xb3\xc9z\x11`\xd9\x08\x22\x046\xb9\xb8D\x8f\ +\x83\x11\x02\xb9\xc8\x9b\xda\xde \xe1`\x0a\x81\xf48\xa8\ +y\x80\xc0\x5c\xf1\xaf1\x8aw\xa8\x01\x81yk\xcd\x1a\ +\x188\x98D`>\x0e:\x088\xc8t@`\xcex\ +\xb3\xfa\x1cL!\x90\x1e\x07S\x08\xa4\xc7A@\xe0S\ +-+\xcfA\xcd\x9f\xc7\x11\x98\x9f\x83\xab\x8as\xf0\x1b\ +\x81\xaax:^q\x0e\xa6\x10H\x8f\x83\xdf\x08\x8c\x9d\ +\x7fz\x1cL\x22\x90 \x07\x01\x81\xcfW\xe5\xbb\x83I\ +\x04\x92\xe3 \xf0\xb5\xd4ME9\x98B =\x0e\ +\xa6\x10\xf8\x0a\x07\xfdJr0\x85@z\x1c\xdc\xf6\x01\ +\x81/\xc5\x97U\xe4\xa0a5\xba\xb1\x01\xa0\xc7\xc1\xda\ +~4\x8c\x9d\x7fz\x1c\xdc\x8e\xbeb[\x00A\x0e\xee\ +\xd7\xf1O\xe3\xe8q\xd0=\xb4\xc4\x1b\xe3\xe6\xbaR\x1c\ +d\xb5S\x7f \xde\x99\xba\xf1\xab\x84!\xa3\xb7XO\ +\xc4%z\x1c\xd4\xf4U\xa7..\xd1\xe3\xa05j\xb5\ +Uq\x89\x1c\x07\x99g'\x06\x80\x1a\x07\x8dP\xff\xe2\ +\xe2\xedM\xec\xaap\xd0j\xcc6\xaax{je8\ +\xe89\xf3\x18\x02\x09r\xb0\x01\x08|kUyX\xec\ +\x1e:\xe2#\xf1f\x158\x08\x08|\x7f\xbc\x0a\x1c\x04\ +\x04~\xa0A_~\x0eF\x08l%\x11H\x8c\x83W\ +\x08\xa4\xc6\xc14\x02\x89q0\x13\x81\xafs0\x90z\ +\x11\xf8\x0b\x81\xa48\xe8\xfd}'\x90\x0e\x07\x1bk\x93\ +\x8b\xab\xe8p\xf0\x16\x02\x89p\xf0c\x08LsP\xd6\ +\x19\xb8\x87@\x12\x1c\xd4t\xfb&\x02Ip\x10\x10\xf8\ +\xd1\xea\xad\x95\xa4\x9f\xd7\xdfF \x09\x0e\x02\x02?\x9e\ +)%\x07\xef#\x90\x00\x07\x01\x81\x9f\xaf\xe5H\xc8\xc1\ +L\x04\x22\xe7\xa0\xebg \x107\x07\x99\xd6\xebg\x0d\ +\x00j\x0e\xba=\xbf\x00\x04&8\xd8\x93\x8a\x83\x80\xc0\ +\x82jK\xc6Ak\xb4Y\xaa\x22+\xc4\x1c\x04\x04\x16\ +\x14\x9f\x0c%\xe2 \xb0\xb8T\x998X\x14\x02\xd3\ +\x1c\xac\xc9\xb2\x0a\xe4A J\x0e\x02\x02\x8b\xcc\x9c;\ +\x92\xfc\x8f\xb6\x5c\x08\xc4\xc7\xc1\x9c\x08\xc4\xc7\xc1o\x04\ +.E\xb1\x01\x07%\xf8\xbb\x83\x80\xc0\xc2kw\x0f^\ +\xf9\x1b\x81\xe5\x14\x88\xc04\x07m\x098\xe8\xd9%\x0c\ +\x00p0T\xca\xcd\xb0\xf2\x22\x10\x19\x07#\x04\xb6J\ +\x19\x00\xe0`\xb9G (\x1c\x81i\x0e\xee\xcb\xdd\x0a\ +\x1b\xeb'>\x8dC\xc4\xc12\x10\x98\xe6\xe08\xe7\x0c\ +\xa0@ \xc4[\x8b\xf2f\xc0\x0d\xfc\xeeR\x94\x5c3\ +/\x07q P\x0e\x0e>\x8d@,\x1c\xf4\xec\xd2\x07\ +\xa0\x14\x0e\x02\x02\xe7\x5c\x94_\xc4\xc1\x1eS\x0a\x0d\x10\ +(dH\x9d?\xceAL\x08,\x9d\x83\x11\x02e\x98\ +\x80|\x1c\xc4\x84\xc08\x07\xbf\x1e\xe3 2\x04\x96\xca\ +A78\x94\x8f\xc0R8\x08\x08\xdc\x94\x8e\xc0\xbc\x1c\ +D\x87\xc029\xe8\xad$\x1a\x80\xff\x1ct\xb28\x88\ +\x11\x81y8\x88\x13\x81y8\x88\x13\x81P\xa7H\x0e\ +\x8e\xd7\x03\x89\xb6\x80\xe29\xa8\xc9\x83@\xa8~\x97\x83\ +x\x11\xf80\x07\xd1\x22\xb0x\x0e\xd6\xf4\xa3L\x08|\ +\x90\x83x\x11X<\x07\x03\xb9\x10\xf8\x10\x07Q#0\ +\xc9A\xe5\xaf\x90#0\x9b\x83\xd8\x11X$\x07\x99\x8c\ +\x08,\x92\x83\xda\xa2#\xe5\x0eP\x10\x07\x99\x16H\x89\ +\xc0\xc28\xe8z\x92\x22\xf0\x1e\x07I \xb0(\x0eZ\ +\xcep\x22\xf3\x12\xf0'\x07I \xf0\xd3\x1c\x04\x04J\ +~\xfe\xaf\xef\x0e\x92A`\x9c\x83\xfag8\xc8zR\ +#\xf0\x06\x07\xe9 \xf0o\x0e\x12B\xe0\xa79\xc8\xdc\ +\xa0o\x8aj\x04\x1c|3\x02\xdb\xa2\x22\xfdr\x90\x18\ +\x02?\xcb\xc1P~\x04B\xfc\xccAj\x08\xfc$\x07\ +Y%\x10\x08\x16R\xcdU\xef\xdd\x08\x94\xf0iX\x16\ +\x07\x09\x220\xc9A\x82\x08Lr\x90 \x02\xa1\xfa \ +\xe2 A\x04&9H\x11\x81)\x0e\xd2C`\x8a\x83\ +\xf4\x10\x08\xf1\xd6Q\xd7\xe8!\xf0\xfd\x1cd5}Z\ +\xc1\xf3\x1f\xc5\xcd\xd5\x89\x11D`\x8a\x83\x04\x11\xf8^\ +\x0e\xb2q\xb7j\x08\x84\xcc/' \x88\xc0\x14\x07\x09\ +\x220\xc9A\x8a\x08\x8cs0p\xd9+\x08\x1c\xf7\xab\ +\x88\xc0\x04\x07\xb7\x06=\x04&9X\xa3\x87\xc0\x14\x07\ +\x09\x220\xc9A\x8a\x08\x84\xd4i\xc4A\x82\x08|\x89\ +\x83\x80\xc0]\xa5\xb7\x80_\x0e\x8e\x82\xa7\x11(\xeb[\ +\xc199\xa83\x82\x08Lr\x90\x22\x02!\x138\x98\ +\x13\x81\x18& \xaa\xbe\xd6\xb7.=\x04\xbe\xca\xc1`\ +\x85d\x00~8H\x10\x81I\x0e2\x82\x08|\x8a\x83\ +\x80@\x1c{\xe0\x93\x1c4p 0\xc9A\x82\x08\x8c\ +sp\xad\xb3\x1c\x08\xf4\x90 \xf0\x92\x9a\x8b\x83\xeeV\ +\xc7\x82\xc0\x9c\x1c\x04\x04\x0eqM@T\xbd\xabo\x0d\ +z\x08\x84\xf8\xe6q\x0e\xf6d\xff2\xea\x99Ts\xe8\ +l\x1fF\xa0\xc0\x97\xfa\xe8\xddA\x86\x0c\x81)\x0e\x12\ +D \xb4\x8b8\xc8\xe8!\x10\x9a\xcc\x9d\x13\xa3\x87@\ +\x88O\xa6\x07#k\x00\x0ct\x08\x8c\xa5\xee\x9c\x90\x22\ +\x02\xa1\xa5\xbd\xaf\x19\xf4\x10\x08\xf1\xf9\xe2\xa4\xd1C`\ +|\x06\xd6\xbeu\x1f\x81\x98\x07@\x08\xb5>\xb0\xbd\xfb\ +\x08\x1c\x0a\xdc\xd5\xbf\x1a\x06A\x04\xc6\xda,<\x8d \ +\x02\xa1\x81\xado\xd9-\x04\xeah\x11\x08\xb5\x87\xc7=\ +\xbb\x83@\xc4[\xc09\xbe\x1c\x1e\x0c\x82\x08\x8c5p\ +B\x8a\x08Lr\x90\xd1C\xe0\x1d\x0e\x02\x02M\xf4+\ +\xc0\x99\x83]\xdf\xa2\x87\xc0,\x0e2\x0d=\x02!>\ +o\x18\x7f p'\xc8\xf4\xcdA\x82\x08\xfcW\x9e\x1d\ +\xa3\x00\x08\x03A\x14]\x95\x10Q\x12Q,D,\x84\ +46z\xff\xe3i\xaau\xd6\xca63\x97\xf8\x0f\xc6\ +p\x90\x0f\x81\xc0\xc1\xae\xb2\x08l)\x12\xa0\x1c\x8c\xf2\ +\x1a\x0b\x02\x81\x83\x8c\x084\x1c\xe4C pp\xd1\x10\ +\x1ca\xe7@\xa0\xe1`\xd9w\xf0\x0f\x0e2!\x109\ +\xc8\x88@\xdd\x98\x86(\xcf\xfcI\x85\xc0/\x07\x1d\x17\ +\x02\x91\x83>7p\xa3B pp\xca%\xec\xc3z\ +Q\xae\xa9\xe7\xe4\xe4\x06\xc7Z\x00\x1d\x81h\xe2\xc4\x00\ +\x00\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x12\ +\x0c\xf7v\xe7\ +\x00g\ +\x00r\x00e\x00e\x00n\x00_\x00t\x00r\x00i\x00a\x00n\x00g\x00l\x00e\x00.\x00p\x00n\ +\x00g\ +\x00\x11\ +\x02\xf5Q\x07\ +\x00b\ +\x00l\x00u\x00e\x00_\x00t\x00r\x00i\x00a\x00n\x00g\x00l\x00e\x00.\x00p\x00n\x00g\ +\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00<\x00\x00\x00\x00\x00\x01\x00\x00\x05q\ +\x00\x00\x01\x82`\x07\x0a\xa2\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x82`\x07!\xf4\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/charts/pointselectionandmarkers/utilities.py b/examples/charts/pointselectionandmarkers/utilities.py new file mode 100644 index 0000000..6b96d6e --- /dev/null +++ b/examples/charts/pointselectionandmarkers/utilities.py @@ -0,0 +1,67 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtGui import QImage, QPainter, QColor +from PySide6.QtCore import Qt + +import rc_markers + +def rectangle(point_type, image_size): + image = QImage(image_size, image_size, QImage.Format_RGB32) + painter = QPainter() + painter.begin(image) + painter.setRenderHint(QPainter.Antialiasing) + painter.fillRect(0, 0, image_size, image_size, point_type[2]) + painter.end() + return image + +def triangle(point_type, image_size): + return QImage(point_type[3]).scaled(image_size, image_size) + +def circle(point_type, image_size): + image = QImage(image_size, image_size, QImage.Format_ARGB32) + image.fill(QColor(0, 0, 0, 0)) + painter = QPainter() + painter.begin(image) + painter.setRenderHint(QPainter.Antialiasing) + painter.setBrush(point_type[2]) + pen = painter.pen() + pen.setWidth(0) + painter.setPen(pen) + painter.drawEllipse(0, 0, image_size * 0.9, image_size * 0.9) + painter.end() + return image + +_point_types = [("RedRectangle", rectangle, Qt.red), + ("GreenTriangle", triangle, Qt.green, ":/images/green_triangle.png"), + ("OrangeCircle", circle, QColor(255, 127, 80))] +_selected_point_types = [("BlueTriangle", triangle, Qt.blue, ":/images/blue_triangle.png"), + ("YellowRectangle", rectangle, Qt.yellow), + ("LavenderCircle", circle, QColor(147, 112, 219))] +_line_colors = [("Blue", QColor(65, 105, 225)), ("Black", Qt.black), ("Mint", QColor(70, 203, 155))] + +def point_type(index): + return _point_types[index] + +def selected_point_type(index): + return _selected_point_types[index] + +def line_color(index): + return _line_colors[index] + + +def default_light_marker(image_size): + return rectangle(_point_types[0], image_size) + +def default_selected_light_marker(image_size): + return triangle(_selected_point_types[0], image_size) + + +def get_point_representation(point_type, image_size): + return point_type[1](point_type, image_size) + +def get_selected_point_representation(point_type, image_size): + return point_type[1](point_type, image_size) + +def make_line_color(line_color): + return line_color[1] diff --git a/examples/charts/qmlpolarchart/View1.qml b/examples/charts/qmlpolarchart/View1.qml new file mode 100644 index 0000000..d05f7e2 --- /dev/null +++ b/examples/charts/qmlpolarchart/View1.qml @@ -0,0 +1,52 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +import QtQuick +import QtCharts + +Item { + anchors.fill: parent + //![1] + PolarChartView { + title: "Two Series, Common Axes" + anchors.fill: parent + legend.visible: false + antialiasing: true + + ValueAxis { + id: axisAngular + min: 0 + max: 20 + tickCount: 9 + } + + ValueAxis { + id: axisRadial + min: -0.5 + max: 1.5 + } + + SplineSeries { + id: series1 + axisAngular: axisAngular + axisRadial: axisRadial + pointsVisible: true + } + + ScatterSeries { + id: series2 + axisAngular: axisAngular + axisRadial: axisRadial + markerSize: 10 + } + } + + // Add data dynamically to the series + Component.onCompleted: { + for (var i = 0; i <= 20; i++) { + series1.append(i, Math.random()); + series2.append(i, Math.random()); + } + } + //![1] +} diff --git a/examples/charts/qmlpolarchart/View2.qml b/examples/charts/qmlpolarchart/View2.qml new file mode 100644 index 0000000..1db7603 --- /dev/null +++ b/examples/charts/qmlpolarchart/View2.qml @@ -0,0 +1,73 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +import QtQuick +import QtCharts + +Item { + anchors.fill: parent + + //![1] + PolarChartView { + title: "Historical Area Series" + anchors.fill: parent + legend.visible: false + antialiasing: true + + DateTimeAxis { + id: axis1 + format: "yyyy MMM" + tickCount: 13 + } + ValueAxis { + id: axis2 + } + LineSeries { + id: lowerLine + axisAngular: axis1 + axisRadial: axis2 + + // Please note that month in JavaScript months are zero based, so 2 means March + XYPoint { x: toMsecsSinceEpoch(new Date(1950, 0, 1)); y: 15 } + XYPoint { x: toMsecsSinceEpoch(new Date(1962, 4, 1)); y: 35 } + XYPoint { x: toMsecsSinceEpoch(new Date(1970, 0, 1)); y: 50 } + XYPoint { x: toMsecsSinceEpoch(new Date(1978, 2, 1)); y: 75 } + XYPoint { x: toMsecsSinceEpoch(new Date(1987, 11, 1)); y: 102 } + XYPoint { x: toMsecsSinceEpoch(new Date(1992, 1, 1)); y: 132 } + XYPoint { x: toMsecsSinceEpoch(new Date(1998, 7, 1)); y: 100 } + XYPoint { x: toMsecsSinceEpoch(new Date(2002, 4, 1)); y: 120 } + XYPoint { x: toMsecsSinceEpoch(new Date(2012, 8, 1)); y: 140 } + XYPoint { x: toMsecsSinceEpoch(new Date(2013, 5, 1)); y: 150 } + } + LineSeries { + id: upperLine + axisAngular: axis1 + axisRadial: axis2 + + // Please note that month in JavaScript months are zero based, so 2 means March + XYPoint { x: toMsecsSinceEpoch(new Date(1950, 0, 1)); y: 30 } + XYPoint { x: toMsecsSinceEpoch(new Date(1962, 4, 1)); y: 55 } + XYPoint { x: toMsecsSinceEpoch(new Date(1970, 0, 1)); y: 80 } + XYPoint { x: toMsecsSinceEpoch(new Date(1978, 2, 1)); y: 105 } + XYPoint { x: toMsecsSinceEpoch(new Date(1987, 11, 1)); y: 125 } + XYPoint { x: toMsecsSinceEpoch(new Date(1992, 1, 1)); y: 160 } + XYPoint { x: toMsecsSinceEpoch(new Date(1998, 7, 1)); y: 140 } + XYPoint { x: toMsecsSinceEpoch(new Date(2002, 4, 1)); y: 140 } + XYPoint { x: toMsecsSinceEpoch(new Date(2012, 8, 1)); y: 170 } + XYPoint { x: toMsecsSinceEpoch(new Date(2013, 5, 1)); y: 200 } + } + AreaSeries { + axisAngular: axis1 + axisRadial: axis2 + lowerSeries: lowerLine + upperSeries: upperLine + } + } + // DateTimeAxis is based on QDateTimes so we must convert our JavaScript dates to + // milliseconds since epoch to make them match the DateTimeAxis values + function toMsecsSinceEpoch(date) { + var msecs = date.getTime(); + return msecs; + } + //![1] +} diff --git a/examples/charts/qmlpolarchart/View3.qml b/examples/charts/qmlpolarchart/View3.qml new file mode 100644 index 0000000..f684d55 --- /dev/null +++ b/examples/charts/qmlpolarchart/View3.qml @@ -0,0 +1,60 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +import QtQuick +import QtCharts + +Item { + anchors.fill: parent + + //![1] + PolarChartView { + title: "Numerical Data for Dummies" + anchors.fill: parent + legend.visible: false + antialiasing: true + + LineSeries { + axisRadial: CategoryAxis { + min: 0 + max: 30 + CategoryRange { + label: "critical" + endValue: 2 + } + CategoryRange { + label: "low" + endValue: 7 + } + CategoryRange { + label: "normal" + endValue: 12 + } + CategoryRange { + label: "high" + endValue: 18 + } + CategoryRange { + label: "extremely high" + endValue: 30 + } + } + + axisAngular: ValueAxis { + tickCount: 13 + } + + XYPoint { x: 0; y: 4.3 } + XYPoint { x: 1; y: 4.1 } + XYPoint { x: 2; y: 4.7 } + XYPoint { x: 3; y: 3.9 } + XYPoint { x: 4; y: 5.2 } + XYPoint { x: 5; y: 5.3 } + XYPoint { x: 6; y: 6.1 } + XYPoint { x: 7; y: 7.7 } + XYPoint { x: 8; y: 12.9 } + XYPoint { x: 9; y: 19.2 } + } + } + //![1] +} diff --git a/examples/charts/qmlpolarchart/doc/qmlpolarchart.png b/examples/charts/qmlpolarchart/doc/qmlpolarchart.png new file mode 100644 index 0000000000000000000000000000000000000000..7fbb63d8229f7dc0f1b4aee9823096ef50a2adca GIT binary patch literal 45305 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̖rI)~wz^D%X>38IRP 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 0.0) { + if (sourceLoaded) + infoText.opacity = 0.0; + else if (currentIndex != 0) + currentIndex = 0; + } + } + + model: ListModel { + ListElement {component: "View1.qml"} + ListElement {component: "View2.qml"} + ListElement {component: "View3.qml"} + } + + delegate: Loader { + width: root.width + height: root.height + + source: component + asynchronous: true + + onLoaded: sourceLoaded = true + } + } + + Rectangle { + id: infoText + anchors.centerIn: parent + width: parent.width + height: 40 + color: "black" + Text { + color: "white" + anchors.centerIn: parent + text: "You can navigate between views using swipe or arrow keys" + } + + Behavior on opacity { + NumberAnimation { duration: 400 } + } + } +} diff --git a/examples/charts/qmlpolarchart/qmlpolarchart.py b/examples/charts/qmlpolarchart/qmlpolarchart.py new file mode 100644 index 0000000..6391fc3 --- /dev/null +++ b/examples/charts/qmlpolarchart/qmlpolarchart.py @@ -0,0 +1,28 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the QML Polar Chart Example from Qt v5.x""" + +import os +from pathlib import Path +import sys + +from PySide6.QtQuick import QQuickView +from PySide6.QtCore import QUrl +from PySide6.QtWidgets import QApplication + + +if __name__ == '__main__': + app = QApplication(sys.argv) + viewer = QQuickView() + + src_dir = Path(__file__).resolve().parent + viewer.engine().addImportPath(os.fspath(src_dir)) + viewer.engine().quit.connect(viewer.close) + + viewer.setTitle = "QML Polar Chart" + viewer.setSource(QUrl.fromLocalFile(src_dir / 'main.qml')) + viewer.setResizeMode(QQuickView.SizeRootObjectToView) + viewer.show() + + sys.exit(app.exec()) diff --git a/examples/charts/qmlpolarchart/qmlpolarchart.pyproject b/examples/charts/qmlpolarchart/qmlpolarchart.pyproject new file mode 100644 index 0000000..6c18b1f --- /dev/null +++ b/examples/charts/qmlpolarchart/qmlpolarchart.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["View1.qml", "View1.qml", "View2.qml", "View3.qml", "main.qml", "qmlpolarchart.py"] +} diff --git a/examples/charts/temperaturerecords/doc/temperaturerecords.png b/examples/charts/temperaturerecords/doc/temperaturerecords.png new file mode 100644 index 0000000000000000000000000000000000000000..8d486c552b3798760bd66155bf7f86b52b9a2f59 GIT binary patch literal 13035 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 literal 0 HcmV?d00001 diff --git a/examples/charts/temperaturerecords/doc/temperaturerecords.rst b/examples/charts/temperaturerecords/doc/temperaturerecords.rst new file mode 100644 index 0000000..3b13817 --- /dev/null +++ b/examples/charts/temperaturerecords/doc/temperaturerecords.rst @@ -0,0 +1,10 @@ +Temperature Records Example +=========================== + +The example shows how to create a bar chart with negative bars. + +For our example we use temperature data. + +.. image:: temperaturerecords.png + :width: 400 + :alt: Temperature Records Screenshot diff --git a/examples/charts/temperaturerecords/temperaturerecords.py b/examples/charts/temperaturerecords/temperaturerecords.py new file mode 100644 index 0000000..358f381 --- /dev/null +++ b/examples/charts/temperaturerecords/temperaturerecords.py @@ -0,0 +1,60 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Temperature Records example from Qt v5.x""" + +import sys +from PySide6.QtCore import Qt +from PySide6.QtGui import QPainter +from PySide6.QtWidgets import QMainWindow, QApplication +from PySide6.QtCharts import (QBarCategoryAxis, QBarSet, QChart, QChartView, + QStackedBarSeries, QValueAxis) + + +class MainWindow(QMainWindow): + def __init__(self): + super().__init__() + low = QBarSet("Min") + high = QBarSet("Max") + low.append([-52, -50, -45.3, -37.0, -25.6, -8.0, + -6.0, -11.8, -19.7, -32.8, -43.0, -48.0]) + high.append([11.9, 12.8, 18.5, 26.5, 32.0, 34.8, + 38.2, 34.8, 29.8, 20.4, 15.1, 11.8]) + + series = QStackedBarSeries() + series.append(low) + series.append(high) + + chart = QChart() + chart.addSeries(series) + chart.setTitle("Temperature records in celcius") + chart.setAnimationOptions(QChart.SeriesAnimations) + + categories = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", + "Aug", "Sep", "Oct", "Nov", "Dec"] + axis_x = QBarCategoryAxis() + axis_x.append(categories) + axis_x.setTitleText("Month") + chart.addAxis(axis_x, Qt.AlignBottom) + axis_y = QValueAxis() + axis_y.setRange(-52, 52) + axis_y.setTitleText("Temperature [°C]") + chart.addAxis(axis_y, Qt.AlignLeft) + series.attachAxis(axis_x) + series.attachAxis(axis_y) + + chart.legend().setVisible(True) + chart.legend().setAlignment(Qt.AlignBottom) + + chart_view = QChartView(chart) + chart_view.setRenderHint(QPainter.Antialiasing) + + self.setCentralWidget(chart_view) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + w = MainWindow() + w.resize(600, 300) + w.show() + sys.exit(app.exec()) diff --git a/examples/charts/temperaturerecords/temperaturerecords.pyproject b/examples/charts/temperaturerecords/temperaturerecords.pyproject new file mode 100644 index 0000000..8db39e3 --- /dev/null +++ b/examples/charts/temperaturerecords/temperaturerecords.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["temperaturerecords.py"] +} diff --git a/examples/corelib/ipc/sharedmemory/dialog.py b/examples/corelib/ipc/sharedmemory/dialog.py new file mode 100644 index 0000000..c374f01 --- /dev/null +++ b/examples/corelib/ipc/sharedmemory/dialog.py @@ -0,0 +1,93 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +from pathlib import Path + +from PySide6.QtWidgets import QFileDialog, QDialog +from PySide6.QtCore import QBuffer, QIODeviceBase, Slot, QSharedMemory, QDataStream, qVersion +from PySide6.QtGui import QImage, QPixmap +from ui_dialog import Ui_Dialog + + +class Dialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + + v = qVersion() + name = f"QSharedMemoryExample_v{v}" + self._shared_memory = QSharedMemory(name) + + self.ui = Ui_Dialog() + self.ui.setupUi(self) + self.ui.loadFromFileButton.clicked.connect(self.load_from_file) + self.ui.loadFromSharedMemoryButton.clicked.connect(self.load_from_memory) + self.setWindowTitle("SharedMemory Example") + + def ensure_detached(self): + if self._shared_memory.isAttached(): + self.detach() + + def closeEvent(self, e): + self.ensure_detached() + e.accept() + + @Slot() + def load_from_file(self): + self.ensure_detached() + + self.ui.label.setText("Select an image file") + dir = Path(__file__).resolve().parent + fileName, _ = QFileDialog.getOpenFileName(self, "Choose Image", + os.fspath(dir), + "Images (*.png *.jpg)") + if not fileName: + return + image = QImage() + if not image.load(fileName): + self.ui.label.setText("Selected file is not an image, please select another.") + return + self.ui.label.setPixmap(QPixmap.fromImage(image)) + + # load into shared memory + buffer = QBuffer() + buffer.open(QIODeviceBase.WriteOnly) + out = QDataStream(buffer) + out << image + buffer.close() + size = buffer.size() + + if not self._shared_memory.create(size): + self.ui.label.setText("Unable to create shared memory segment.") + return + + self._shared_memory.lock() + _to = memoryview(self._shared_memory.data()) + _from = buffer.data().data() + _to[0:size] = _from[0:size] + self._shared_memory.unlock() + + @Slot() + def load_from_memory(self): + if not self._shared_memory.isAttached() and not self._shared_memory.attach(): + self.ui.label.setText("Unable to attach to shared memory segment.\n" + "Load an image first.") + return + + self._shared_memory.lock() + mv = memoryview(self._shared_memory.constData()) + buffer = QBuffer() + buffer.setData(mv.tobytes()) + buffer.open(QBuffer.ReadOnly) + _in = QDataStream(buffer) + image = QImage() + _in >> image + buffer.close() + self._shared_memory.unlock() + self._shared_memory.detach() + + self.ui.label.setPixmap(QPixmap.fromImage(image)) + + def detach(self): + if not self._shared_memory.detach(): + self.ui.label.setText(tr("Unable to detach from shared memory.")) diff --git a/examples/corelib/ipc/sharedmemory/dialog.ui b/examples/corelib/ipc/sharedmemory/dialog.ui new file mode 100644 index 0000000..e99d6fb --- /dev/null +++ b/examples/corelib/ipc/sharedmemory/dialog.ui @@ -0,0 +1,47 @@ + + Dialog + + + + 0 + 0 + 451 + 322 + + + + Dialog + + + + + + Load Image From File... + + + + + + + Launch two of these dialogs. In the first, press the top button and load an image from a file. In the second, press the bottom button and display the loaded image from shared memory. + + + Qt::AlignCenter + + + true + + + + + + + Display Image From Shared Memory + + + + + + + + diff --git a/examples/corelib/ipc/sharedmemory/image.png b/examples/corelib/ipc/sharedmemory/image.png new file mode 100644 index 0000000000000000000000000000000000000000..dd934530636b24eabf42b5d7fc6e0e022ecb3830 GIT binary patch literal 10199 zcmWk!Wmp_L6kRBVMY}i@U7X_XwzzwN;suJkySux)ySuiy6pA|(m*VcceLrS0`EuvR zCg+}q(mlY5edPlHW8-pe=jw+H6K+PoK5j2BnC#B^G z03c)jf58AUvhe;lbdr`AM_59{L#0JIr#H6)07wDSVj^m8E2p}iUTTBg@4qLO*H3<6 zk_H8Z^1~(n>c$a6X9f{VhXKiwBQz`itQ0tOH#3+uSI^(A;9RO}M@BUJeM+jNVG{X{ zf%r)}4>xIstYE8{Y*!>fo^x5ibl>$o&GCn+YhoRYm|o~>(7NOP1dnOYwdec3EAW62 z00aa4!mc8pYVOK%ugtvIynA2DR}M2R@Hd5fJ2o^o@g0RO@9}3b&}ob96l_Dh9K5k^ zdVjw~A;@jIBXP}Fzfr<}X{PoO$|A|MXWgL-0zpQYkS0?`$a3n`b{1&mfFiWTNj^l4 zyE=YKB)Hi*-_2xS)$r^l5y2sbhiQY?qj+)KBrhrgFOJ#}jaQebbB~c1`Np$`9U;gSZ-~<8O+a)2oh*mA34N@kP6UvJWPO$9`0+ zFaXe_?9WQ&#`U>#=WflL(Hesxp%$ydmFi3giylU9>oE#CguSweeY_S3PBFm`x!l9e z)n_ptsJjVSG(A8Bvols4PL@Cr_(Snd$GI;g82>7PNksst#4<;7)ElcR>0O0ZMvFGM zqXc1Fqt#&>jycAw62U1Z?K(9~f(Y6UWJ65E+X>DC7h7Duk?*#K7K~`Q=#poxLo>Ph2Oj}ggEalZlm1m z=~=eR9@l|_;fF@MasJ-yW)y5Hc{CK+asS7>{+2q5MRrmEh?#(i)GLbc35}4IpHJXr zESqPZBYFf;JOT$KA_4-zaeqYXqqT#@34fvk+LcD<^eZ4R470e*nh4=6%GX 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 z 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 literal 0 HcmV?d00001 diff --git a/examples/corelib/ipc/sharedmemory/sharedmemory.pyproject b/examples/corelib/ipc/sharedmemory/sharedmemory.pyproject new file mode 100644 index 0000000..14fe88f --- /dev/null +++ b/examples/corelib/ipc/sharedmemory/sharedmemory.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["dialog.py", "dialog.ui", "image.png", "main.py", "qt.png"] +} diff --git a/examples/corelib/ipc/sharedmemory/ui_dialog.py b/examples/corelib/ipc/sharedmemory/ui_dialog.py new file mode 100644 index 0000000..035b60d --- /dev/null +++ b/examples/corelib/ipc/sharedmemory/ui_dialog.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'dialog.ui' +## +## Created by: Qt User Interface Compiler version 6.2.3 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QApplication, QDialog, QGridLayout, QLabel, + QPushButton, QSizePolicy, QWidget) + +class Ui_Dialog(object): + def setupUi(self, Dialog): + if not Dialog.objectName(): + Dialog.setObjectName(u"Dialog") + Dialog.resize(451, 322) + self.gridLayout = QGridLayout(Dialog) + self.gridLayout.setObjectName(u"gridLayout") + self.loadFromFileButton = QPushButton(Dialog) + self.loadFromFileButton.setObjectName(u"loadFromFileButton") + + self.gridLayout.addWidget(self.loadFromFileButton, 0, 0, 1, 1) + + self.label = QLabel(Dialog) + self.label.setObjectName(u"label") + self.label.setAlignment(Qt.AlignCenter) + self.label.setWordWrap(True) + + self.gridLayout.addWidget(self.label, 1, 0, 1, 1) + + self.loadFromSharedMemoryButton = QPushButton(Dialog) + self.loadFromSharedMemoryButton.setObjectName(u"loadFromSharedMemoryButton") + + self.gridLayout.addWidget(self.loadFromSharedMemoryButton, 2, 0, 1, 1) + + + self.retranslateUi(Dialog) + + QMetaObject.connectSlotsByName(Dialog) + # setupUi + + def retranslateUi(self, Dialog): + Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None)) + self.loadFromFileButton.setText(QCoreApplication.translate("Dialog", u"Load Image From File...", None)) + self.label.setText(QCoreApplication.translate("Dialog", u"Launch two of these dialogs. In the first, press the top button and load an image from a file. In the second, press the bottom button and display the loaded image from shared memory.", None)) + self.loadFromSharedMemoryButton.setText(QCoreApplication.translate("Dialog", u"Display Image From Shared Memory", None)) + # retranslateUi + diff --git a/examples/corelib/mimetypesbrowser/doc/mimetypesbrowser.png b/examples/corelib/mimetypesbrowser/doc/mimetypesbrowser.png new file mode 100644 index 0000000000000000000000000000000000000000..3c4a476b3944d1c3e2c18232423bb1dc6e216ce1 GIT binary patch literal 22569 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 qr{$%EU8|J6-e~4+o8H%%9_%F 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 + +.. image:: mimetypesbrowser.png + :width: 400 + :alt: mimetypebrowser screenshot + diff --git a/examples/corelib/mimetypesbrowser/mainwindow.py b/examples/corelib/mimetypesbrowser/mainwindow.py new file mode 100644 index 0000000..76404ee --- /dev/null +++ b/examples/corelib/mimetypesbrowser/mainwindow.py @@ -0,0 +1,161 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from mimetypemodel import MimeTypeModel +from PySide6.QtCore import (QDir, QFileInfo, QMimeDatabase, QModelIndex, Qt, + Slot) +from PySide6.QtGui import QAction, QKeySequence +from PySide6.QtWidgets import (QAbstractItemView, QApplication, QDialog, + QFileDialog, QInputDialog, QMainWindow, + QMessageBox, QSplitter, QTextEdit, QTreeView, + QWidget) + + +class MainWindow(QMainWindow): + def __init__(self, parent: QWidget = None) -> None: + super().__init__(parent=parent) + self.m_find_index: int = 0 + self.m_model = MimeTypeModel(self) + self.m_tree_view = QTreeView(self) + self.m_details_text = QTextEdit(self) + self.m_find_matches = [] + + self.setWindowTitle("Qt Mime Database Browser") + + # create actions + self.detect_file_action = QAction( + "&Detect File Type...", self, shortcut="Ctrl+O", triggered=self.detect_file + ) + self.exit_action = QAction("E&xit", self, shortcut="Ctrl+Q", triggered=self.close) + self.m_find_action = QAction("&Find...", self, shortcut="Ctrl+F", triggered=self.find) + self.m_find_next_action = QAction( + "Find &Next", self, shortcut="Ctrl+G", triggered=self.find_next + ) + self.m_find_previous_action = QAction( + "Find &Previous", + self, + shortcut="Ctrl+Shift+G", + triggered=self.find_previous, + ) + self.about_action = QAction( + "About Qt", + self, + shortcut=QKeySequence(QKeySequence.HelpContents), + triggered=QApplication.aboutQt, + ) + + # add action to menu + self.file_menu = self.menuBar().addMenu("&File") + self.file_menu.addAction(self.detect_file_action) + self.file_menu.addAction(self.exit_action) + self.find_menu = self.menuBar().addMenu("&Edit") + self.find_menu.addAction(self.m_find_action) + self.find_menu.addAction(self.m_find_next_action) + self.find_menu.addAction(self.m_find_previous_action) + self.about_menu = self.menuBar().addMenu("&About") + self.about_menu.addAction(self.about_action) + + self.central_splitter = QSplitter(self) + self.setCentralWidget(self.central_splitter) + + self.m_tree_view.setUniformRowHeights(True) + self.m_tree_view.setModel(self.m_model) + + self.items = self.m_model.findItems( + "application/octet-stream", + Qt.MatchContains | Qt.MatchFixedString | Qt.MatchRecursive, + ) + + if self.items: + self.m_tree_view.expand(self.m_model.indexFromItem(self.items[0])) + + self.m_tree_view.selectionModel().currentChanged.connect(self.current_changed) + self.central_splitter.addWidget(self.m_tree_view) + self.m_details_text.setReadOnly(True) + self.central_splitter.addWidget(self.m_details_text) + + self.update_find_actions() + + @Slot() + def detect_file(self): + file_name = QFileDialog.getOpenFileName(self, "Choose File") + if not file_name: + return + + mime_database = QMimeDatabase() + fi = QFileInfo(file_name[0]) + mime_type = mime_database.mimeTypeForFile(fi) + index = ( + self.m_model.indexForMimeType(mime_type.name()) + if mime_type.isValid() + else QModelIndex() + ) + + if index.isValid(): + self.statusBar().showMessage(f'{fi.fileName()}" is of type "{mime_type.name()}"') + self._select_and_goto(index) + else: + QMessageBox.information( + self, + "Unknown File Type", + f"The type of {QDir.toNativeSeparators(file_name)} could not be determined.", + ) + + @Slot() + def find(self): + input_dialog = QInputDialog(self) + input_dialog.setWindowTitle("Find") + input_dialog.setLabelText("Text") + if input_dialog.exec() != QDialog.Accepted: + return + + value = input_dialog.textValue().strip() + if not value: + return + + self.m_find_matches.clear() + self.m_find_index = 0 + items = self.m_model.findItems( + value, Qt.MatchContains | Qt.MatchFixedString | Qt.MatchRecursive + ) + + for item in items: + self.m_find_matches.append(self.m_model.indexFromItem(item)) + + self.statusBar().showMessage(f'{len(self.m_find_matches)} mime types match "{value}".') + self.update_find_actions() + + if self.m_find_matches: + self._select_and_goto(self.m_find_matches[0]) + + @Slot() + def find_next(self): + self.m_find_index = self.m_find_index + 1 + if self.m_find_index >= len(self.m_find_matches): + self.m_find_index = 0 + if self.m_find_index < len(self.m_find_matches): + self._select_and_goto(self.m_find_matches[self.m_find_index]) + + @Slot() + def find_previous(self): + self.m_find_index = self.m_find_index - 1 + if self.m_find_index < 0: + self.m_find_index = len(self.m_find_matches) - 1 + if self.m_find_index >= 0: + self._select_and_goto(self.m_find_matches[self.m_find_index]) + + @Slot(QModelIndex) + def current_changed(self, index: QModelIndex): + if index.isValid(): + self.m_details_text.setText( + MimeTypeModel.formatMimeTypeInfo(self.m_model.mimeType(index)) + ) + + def update_find_actions(self): + self.find_next_previous_enabled = len(self.m_find_matches) > 1 + self.m_find_next_action.setEnabled(self.find_next_previous_enabled) + self.m_find_previous_action.setEnabled(self.find_next_previous_enabled) + + def _select_and_goto(self, index: QModelIndex): + self.m_tree_view.scrollTo(index, QAbstractItemView.PositionAtCenter) + self.m_tree_view.setCurrentIndex(index) diff --git a/examples/corelib/mimetypesbrowser/mimetypemodel.py b/examples/corelib/mimetypesbrowser/mimetypemodel.py new file mode 100644 index 0000000..5243f11 --- /dev/null +++ b/examples/corelib/mimetypesbrowser/mimetypemodel.py @@ -0,0 +1,136 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from typing import List + +from PySide6.QtCore import QMimeDatabase, QMimeType, QModelIndex, QObject, Qt, qWarning +from PySide6.QtGui import QStandardItem, QStandardItemModel + +mimeTypeRole = Qt.UserRole + 1 +iconQueriedRole = Qt.UserRole + 2 + + +def createRow(t: QMimeType): + name_item = QStandardItem(t.name()) + flags = Qt.ItemIsSelectable | Qt.ItemIsEnabled + name_item.setData(t, mimeTypeRole) + name_item.setData(False, iconQueriedRole) + name_item.setFlags(flags) + name_item.setToolTip(t.comment()) + return [name_item] + + +class MimeTypeModel(QStandardItemModel): + def __init__(self, parent: QObject = None): + super().__init__(0, 1, parent) + self.setHorizontalHeaderLabels(["Name"]) + self.m_name_index_hash = {} + self.populate() + + def populate(self): + mime_database = QMimeDatabase() + all_types: List[QMimeType] = mime_database.allMimeTypes() + + # Move top level types to rear end of list, sort this partition, + # create top level items and truncate the list. + with_parent_mimetypes, without_parent_mimetypes = [], [] + + for mime_type in all_types: + if mime_type.parentMimeTypes(): + with_parent_mimetypes.append(mime_type) + else: + without_parent_mimetypes.append(mime_type) + + without_parent_mimetypes.sort(key=lambda x: x.name()) + + for top_level_type in without_parent_mimetypes: + row = createRow(top_level_type) + self.appendRow(row) + self.m_name_index_hash[top_level_type.name()] = self.indexFromItem(row[0]) + + all_types = with_parent_mimetypes + + while all_types: + # Find a type inheriting one that is already in the model. + name_index_value: QModelIndex = None + name_index_key = "" + for mime_type in all_types: + name_index_value = self.m_name_index_hash.get( + mime_type.parentMimeTypes()[0] + ) + if name_index_value: + name_index_key = mime_type.parentMimeTypes()[0] + break + + if not name_index_value: + orphaned_mime_types = ", ".join( + [mime_type.name() for mime_type in all_types] + ) + qWarning(f"Orphaned mime types: {orphaned_mime_types}") + break + + # Move types inheriting the parent type to rear end of list, sort this partition, + # append the items to parent and truncate the list. + parent_name = name_index_key + with_parent_name, without_parent_name = [], [] + + for mime_type in all_types: + if parent_name in mime_type.parentMimeTypes(): + with_parent_name.append(mime_type) + else: + without_parent_name.append(mime_type) + + without_parent_name.sort(key=lambda x: x.name()) + parent_item = self.itemFromIndex(name_index_value) + + for mime_type in with_parent_name: + row = createRow(mime_type) + parent_item.appendRow(row) + self.m_name_index_hash[mime_type.name()] = self.indexFromItem(row[0]) + + all_types = without_parent_name + + def mimeType(self, index: QModelIndex): + return index.data(mimeTypeRole) + + def indexForMimeType(self, name): + return self.m_name_index_hash[name] + + @staticmethod + def formatMimeTypeInfo(t: QMimeType): + out = f"

{t.name()}


" + aliases_str = ", ".join(t.aliases()) + if aliases_str: + out += f"" + f"" + ) + + filter_str = t.filterString() + if filter_str: + out += f"" + + patterns_str = ", ".join(t.globPatterns()) + if patterns_str: + out += f"" + + parentMimeTypes_str = ", ".join(t.parentMimeTypes()) + if parentMimeTypes_str: + out += f"" + + suffixes = t.suffixes() + if suffixes: + out += "" + + out += "
Aliases: ({aliases_str})" + + out += ( + f"
Comment:{t.comment()}" + f"
Icon name:{t.iconName()}
Generic icon name{t.genericIconName()}
Filter:{filter_str}
Glob patterns:{patterns_str}
Parent types:{parentMimeTypes_str}
Suffixes:" + preferredSuffix = t.preferredSuffix() + if preferredSuffix: + suffixes.remove(preferredSuffix) + out += f"{preferredSuffix} " + suffixes_str = ", ".join(suffixes) + out += f"{suffixes_str}
" + + return out diff --git a/examples/corelib/mimetypesbrowser/mimetypesbrowser.py b/examples/corelib/mimetypesbrowser/mimetypesbrowser.py new file mode 100644 index 0000000..4742a31 --- /dev/null +++ b/examples/corelib/mimetypesbrowser/mimetypesbrowser.py @@ -0,0 +1,24 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the corelib/mimetypes/mimetypebrowser example from from Qt""" + +import argparse +import sys + +from mainwindow import MainWindow +from PySide6.QtWidgets import QApplication + +if __name__ == "__main__": + app = QApplication(sys.argv) + + parser = argparse.ArgumentParser(description="MimeTypesBrowser Example") + parser.add_argument("-v", "--version", action="version", version="%(prog)s 1.0") + args = parser.parse_args() + + mainWindow = MainWindow() + availableGeometry = mainWindow.screen().availableGeometry() + mainWindow.resize(availableGeometry.width() / 3, availableGeometry.height() / 2) + mainWindow.show() + + sys.exit(app.exec()) diff --git a/examples/corelib/mimetypesbrowser/mimetypesbrowser.pyproject b/examples/corelib/mimetypesbrowser/mimetypesbrowser.pyproject new file mode 100644 index 0000000..ada4252 --- /dev/null +++ b/examples/corelib/mimetypesbrowser/mimetypesbrowser.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["mimetypesbrowser.py"] +} diff --git a/examples/corelib/settingseditor/doc/settingseditor.png b/examples/corelib/settingseditor/doc/settingseditor.png new file mode 100644 index 0000000000000000000000000000000000000000..d281125d3200202d35ca09eb25110f91f30b95ed GIT binary patch literal 10234 zcmc(Fc{G%7|G)A{#9*v7_MIrv*ed%h_B|AZgt25NOF|?|V;2Tt?4cB)knAGMNMzsl zC2MxR*VO0pJkR<5p7Zdh+>u8OHM4(O;p=jVWxROR;YB00kq6??DLc(8Y_f@~@BtR%vIFa0*Jw>kn6l2TEEkS0B5g0@d;;-Yi0k-UrPf&f z0(}h)jh09@O-;>%Un>z}H~oYkKYpBr!p83G9vnoS7dws3LPy;;HvWo}Xb1nAnr7m( z<)G`7qan%37sPX;qiMYtgOipLjPBZgf0cm6c09ju_1w90+1ToxQQtdNo*vH5#_#Tj zc_sY#VJsjZpi-=vBB`sZdz+zSd#OKD-NeL1Shz4FBV%~jl#gI+V$zj%y#g%LZq8lb z6^Z9_;k*pkYlOy@7WwU7{ZKW>;mW|5dFhXD3;oiiG3_q8Ra$IP(RRJR*u=)xR){q) zi#bx^p#CXkH~QYadwZcMI!L4)W@+(zp-pFMomjQk`aN47N+uBn7HHhtw=TDD!$x^w zzQ2|g=MsdCE^79@;)NN{?#-p6uL}s+{3x+-sy*`bCTuPB{|q^u9X>HJVHz{N&Zrr| zbV-E4%h%V47grZ_wkuuU%zbkHDd#JOUWId$r=zRgz=C375_FLYq|XZHTTb1usQ*g> zUpF*V>t8z`%qJ@=+l0bNJ_uL7y|uGEK!3NvL_$g`Dl+nu=gRH(`T~MIlUzS=yfB1` zk_D%P1f$cNYRsp-Sr$S_!35&9%EoT^Y*v(tb?pGM@e|&FJ&^YpOv9TMMO+k9@>PCTQ;OFPCXv}iI=;bgWs+u>3+CD_s0s_^)} zg9Fudax~m=SXx?ocYk|HdXtB5@A%*+LEfq@zW=UoaW%$ydgtdDhZ8ARNJ@$c0)ar{ zzjSs+VzG>gw$MrnK3jG8w_MH5?d>LC1(sT9Y}N*TVYKD|^b*wHW2p~Pd)2_IuH71(u+O=!Al$5h)&dkisxgld)4B#IFVtKa6LUUp1Zcw}vUQ7`Epe8DuU`5FH zA7X%TJ;$6U&?Ns zNGcQfzJru7?5pDH`YtL;yZyx_01h=ZHU5X|ExwGFmX>ii+{M8{!{U1CIQGH!_WdzD z=+zilz{qC1Xl;hBY28kgl*5nDxAbtr-EYilOG>WnWet@-C@nAl92YZD>~>4gAIzzklOl^OWB@2*Yg=V{&CYm~6>a~|nC6%|TWb#6|z zXnbR;uh?X6aWVYL+*9Vet)Q&BvQ^`#AdsOlTT3UWTIUHRR+5esDRdPW%8Q{uAA$G_ z)}AQJamD=ekGGa1BO`Cm1gqQ&^7i%?t=XcJoS&Ewa~iE?m-TVB$(Qlsz0w6>7W4=} z!0!N$5OYRme&0X1*@z8Er$@2M^nCk9fBoLh>d3v%-wTaMPoFL-Dk=$*+n?t-dRbUs zuS8EzZ<{kSJ1c45N4374X!cl0jZ#4wth+v)rk<9|d6)m%_sGuz?-tvcJ0()}zkk-0Nx9xY&4eZJInMs4}Zg3wemwm}6hceM45 zUlX@HR?D&SruO)w@-ylll2jWap32TGFH;fXW6{t>qeTY1Vnb8Y8Lqr}RxsvdQ$&-4 zlwB|RV?`D;H5rd|QzyVuX03%EwfD+vkA9he2N)k8&&c2;ggml>b2g)oRbHL-n#C|84Lo6gs@0zETYRjjt{+czex!T ztGhQhH&3n!az#D)N`BdJk)a>ct>ExPgd|YF+IX2CREa}2;1QZ;F(zi_XTyqvek!aX zR2T3&Zr?%20Gd46Xcq;AUgJD*+NT5qZfl=MqAz9NC*uD4_ItG=6V@|HtP2aR^G!F5 z%63%~@^#?m0PsL1qLdj(FUx=K>ocT-aKk!~L1bF>(%-_hf{z$9Zz4&@nNy=(no)$UE#L&^vAy}S4W=$I<@MlZ07nD~9?Fr(-Sv!fu>8S6Bfa)GtF&FOpo-#+ zGRKi?-eTs2u%p0}dlG0gTKNKyMAp{U)YQ~oDqz~Jtt$6F^yHOFQ$@#T#v~_)eP-`! zy2b3dG*a~t>dlaPwq!No+EWaI<#8Q*;JX|&c)_HWXD5O!smSj z$LFDC(KpVW*2VFFYSxfINB;8(Z%^Zn|)a2C)g@ z3hsr`AoNk>T<=3(AmfZSs)l^?sQB5LEaW-OKS&-+KGQMw-D` z_i6d_A$2!Lj)4TbU53fr^AZ(()7XeuwN%*VCW{6h>b z=``wKZXW&eW#q3pz>q!aqAs^+_0V`#6&3P}XRq1cgad7ro0|*h5$))B8DVZ|$#bpa z>(}lAUR*#xz!>A!@&J(;5py%`iP-1Qf31#C{`{IE)z#gt6KdU)t$KWX+|<-`>((t$ z*5Q$nsJY$ssl>~7F0wyOF)Y5#cP$H#uM{CKs0u}WkyyM$I(Wwa8<(I~0|%Ai2k2jH zEm0g%5fKgRQ2~5BJfs$#-I>bm>^0}92mtEM%H}%Lu3I)!!2#K1O*A}<&>|=Aq{G*h zmS_^9cF)96!})OOly)#{)Hh`c?%kHa{dETCP-yuhx%N_R z(F6@y;czR^7EsJ*=)k}LpjXzb*3W~28oK09io!6o1faMK2jkzre~$|#@vL)!62Fc z4aa~B9<#F$tLA@&DoExaSO(?{oi3H>;r z-BLGlrr=`G+y;QGjiea?zToF^&7`uU5;;;|p8)W7wATLwNJBI^Y3bol|C5GVP(|pj zmo>hm4OSlHSY*!va&6E|5E0q*>rS4fEBWK`%<&BLEBd2#Z`yQHsG zRaNV1=QRf7vS*o2bs+U^ZBxP#n*ja$rz)NSyp0%pd{B%>i{7m^&Z#%w*K~I;%geKg z0{I{whloz(>}xOG!u^4UHYYNKY5t?|Lb_w6Zc%bn7Y& zO%#yfVWqFo_z!M*)tJXXj{;9!e7nZy=V*=HuZmfG0mBFb)<+N~v%bDQRN=%S<(O&; zPZTwC9If7y8hfN~YWn=y;o%|TWNYDDO?CBn8XnKRZ05p4+4nLcLLGyd2O^O8aSMw; zG66$vgd5=6DzJD5V<(2LkU{Aca}v`m6g*Vl^v)ek4UK7}-91aok>TO5U%vupBH*YK zou_5&cIwnAuQK(-%fKcAwUo$Keley@?ddLD?>brDr~NJxlu5+TZx#q|U5r8Q`{ zE5UqZsvmKX_HZ;AZcE1l(?kU6ARqh7Yq8v0KUr&_k&~1A@ZkeDKKc4X$K=W5yL$_N zMcnU9l}Xi;g+lP(h90ht!?|mDMHX`P2js?uEPzmR43C$Ut|E$s#^J zQy_igB2d>-xOB$=UuuO}k5+r*>AiC*InwY225dTVCH98qbday+pc_N z7T_iDzETzs65``k!fI}K#Fjtj<-2@YD-W?bV3QsOkc;8)E`z2fH_Vt!ARCxe^Oc&t z*_6pa2oKDUNz+0XN_}8b;WQ?6>8U-!lxKmA^w-Le5g%ckw;U+&oERJeei2Eu+i8rN z*4F$;{RIiw!f9tu&vJJxSspj^?P(FRRNs(BOg}iMazn5x6)a%oN0Jvhc6ckAMNa}}r zdU}NPbKMtvDbhkSu6r(@XJ?P>OiDTr5LRe|4{{gY?|-loXs@Q`IQrzlG1UXLpQDV; zbtDA_B_a4z&IrIaSS)sBdAT`?;|(tkn492^N&P(U%~{!#!%aH`=?vFbNhv9`&l`LE zDGLh=LqkJAoxmmgeKnH&%YxJL*YW`VB>m*j26SG+Cv;q5qLk~j%DODf%xvsio_56X z)|Pv!7f=ARK&*P_ih_0e;JxSEfqim%TIbxrXG#CX*{-$OPPT1)feZ-XHtuBv)B4e4 zE6;Ep^s|1E@DGvf#&UlQbZP9*DZ7lLWWF3KJwN=x4QRVbOLC=9xrki7*tod&2Om{X zsi~>7S9!z~>-jzvE0Ytn3HPn7>m^j}>PXhV-z8!xn{iYKZFsJnzCd3V&>)0djGbOo z?v0J8z@_I{7OB3T#C`Ay9k@i!>^8XIgg5Z|4qR-kbdH?*(9eS%lQ^ zMFJQo_xGpF{I(N!h1g`XfEZ(EC383NyI;}v3Uqu zznTvi&xN>cJRWb|ftv{PQU@*5*VlJGgqbcmjTg4}&{GkV)We^n#R?jb3oYF$&H!zNoyI_=<@P%uleJn0}vH5d6=vTR+qZXX;uGq+JWk`Fc8l5 z*S#`93Hti_vaqCxHwmnQYuvX|q+KS1Dd-#Rn;IKK2UUJ#)Ykd~iEL=d6zT0y+=*!L zfipmm`hEn1Dt5?Z1kgegDkwOwc3ORXeYV-n-UoZTQ&G>T*)C%1pu(%eNCVfy-Sx^! zY1Rr^pDm)vPvXG_OVIX)o|CBY-H8kjS0X(t`I4K=VYK>|L#^Y#$M4N%?*Q-(fS#I- z^D1*Dwk?GQdRik{9O=VEM~e`|jNby46eplP`p&8yM2_7T7#Paj7xX^FW^e_|0AtqC z)g>w!*-dXu?4D}zqU)z#JE zv1^TEV`d9C_qP@-0s7s%6BKo2bZ`*%3uM#ug}08^CF@yjZ02mz{X7TDY}2kkWWom~ zaI!7@6w7xoQifXd1yY4S8ks~uA;gI?U_F1&%ayPNSjYVyN#`MXS}+DgCcWhkO!nBcT?zS*m?AfU z*&sw!3|6{WlE02b{;Rbx73^43I1lQ1GztcT&CbkF5HtAp_HTk=sF_mdR5S{ub_BY$ z+mtQhPyOZY;|Y$kMCz~p($N9App$^$`A|?&(*5}}$t?}!cN>8GW>Um=5*~sF8RcLx zIx7qVXvNjdEiElA=bjHPw7ISAoOPYO1>3>?{)?NYeq=uppZY3*mh)ILB#gewcvR&> z96$z?8zG;bxHcF;oH!DD9&8}!-Z7;o1c!tG8^vP1zPZ`n)<#EaV3_`;wRIkVUQZ#& z-rj5I3RC`6`xu=4?v5-W{w+I}sxOO}@a8J^W)&pL2dDxZJpAZ(Ko#Vx zkehIDO91RkCF~F&p#5^Se*d1ONho2*!v0`6l6jFZo&zz+YWo`dR=X8;-L~d+31QOYcKLq>DUsrW zxmceD)@gNhHI*rRR+KQWBn#sskT5edS39CmWEe8DH;3Tb*1#tG5U(I4FA)C%N?AuJbUwI?Sc6l0Fx+S%XFw~7w;K|ZEZK%1PBoLm<*PXmFh zjMdgwD#gde#U&*f+x)J+E0mrHU0q^kKs&vmFAzQpCC(nVfjpu+eIkej(+PNL2&duu>FAb&N4 z4diKa=!)k4B5DIWbMWA~bOg*>c1=}P3PTe`#Xv7OAK#g<1RsJ5-}OB0^y5Agr!P`> zb&Het!-+2i`dh9LF|{p}jG*T1Tryt`vISGPUZ!gT6x(+DDv&GUaCl?e3$rZS-u#$K ze;=^R*jkG?0c&SRL?5176cL=ko+lUv@}fUOG06P&^0EUE^nlF6l3KrfQ8jJzJ6Nf> z8O|>y#T)}2=B-8PgDHT_3o+}p4Qww!Ny{n!lY_A)<)5`D$4O$AZ4BwT+l$}T={i87 zpX1aha=T2$s_NDM0$ENk)Y=o)mcBko5fP33Vc0r#Yz7FRLD2q+0V3_SHh#71Mv#OZ z$hSU)>gpC>Xq_K0lctQ4A_5&l`|+W zyoeL;%ZjP{^KkPHfQdncqY{_Eb{5F_67+UJ-E!^o067e#bb-g88vhSz4e$-}M}PFt zE)jV7`C<7=j|#K_RAXlWw)y(_NZR%wK8}E(LYx54_knx)?l5r9J~3-dVKx&f^8L?L zfE5Xdg;q1D5Y3~au1-HBC&aQE|7n7Fuc+SK7$M@!7TrHYZcCthLdu-yy_YZQ&LuLGC%YL zof1ONC6})`sG^_{fMZE(151O?#FX*j$c%`{7TtQDg@xy=DL5VgP8Bqg%pR) zQ&~3_D%`zHqu9z*&!PEmx%=mSq~nP{e*74%@ts2Q5r|s147y-`g^r_I&D=a=R=<%* zh{!B90v!A_gDkabXR2nMgt@eQ&?; zj;LjgV?OI}V6}?SS(-p=etUIOIOkRlKtj+>!O<>Xh91Z12b>ropU>;FyvvjzrH`~W}!?}Co#Ni6;h+z&A0 z;ad5R2zX@Ac&Sa7kFPJ-migMykVU;1rvvv8#C@T9X%Z$G25PO5a(va;BetJQQrkGU0mpt`1@{uBJK0ZDJk|& zPEP+M+CpJuETBlI0EiI4jx7f*qY(pPy!Rov1|T_#UG_G^BZ3gXT}=rDJuNLKGZxrQ zy@2NueL3pPx^oUIgYQQ^dc?8A#O^hw%D74A_;BOw`m>;Q?dwx5Quc zvF|enf!)(5Ka4---vFo|j^HU)`5INZVvTwjeF%Zmd=I2r08z&PJOk<7Sh`WAohWi^a&htEBmxEZxs1d0 zX4SPR98OM5#H6Lw07D>V*$fUUg!1UK6F3E8U(%gFFNnx8_?p8-^luj#v8iBhle3($ zj`Fk6xdDupRwSHw#A8zk0urHF3D^--^ZgPbU~{gk!eM}}9hq(ZC#dG8jy20#=+11Y z7<(M?3uuAo&z}cl;=@0{5k#INW&_~VO(b{)rlyb9#ucTcqzY!a`04XFia6HMB8_VF ziJSEe4eILZP&N}|<8g-8up5^%a z^1q+w|Gpgmp2mN>A6ScjF8?zyad!V@8vo^f|G8}cKOWo81eAkb;i3F%v)g;yZtpt5 QnLZL#q!!|}lKGSW0XDK@>Hq)$ literal 0 HcmV?d00001 diff --git a/examples/corelib/settingseditor/doc/settingseditor.rst b/examples/corelib/settingseditor/doc/settingseditor.rst new file mode 100644 index 0000000..4c60dbe --- /dev/null +++ b/examples/corelib/settingseditor/doc/settingseditor.rst @@ -0,0 +1,10 @@ +Settings Editor Example +======================= + +The Settings Editor example shows how Qt's standard settings support is used in +an application by providing an editor that enables the user to view the +settings for installed applications, and modify those that can be edited. + +.. image:: settingseditor.png + :width: 400 + :alt: Settings Editor Screenshot diff --git a/examples/corelib/settingseditor/settingseditor.py b/examples/corelib/settingseditor/settingseditor.py new file mode 100644 index 0000000..a77349e --- /dev/null +++ b/examples/corelib/settingseditor/settingseditor.py @@ -0,0 +1,757 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the widgets/tools/settingseditor example from Qt v5.x""" + +import sys + +from PySide6.QtCore import (QByteArray, QDate, QDateTime, QDir, QEvent, QPoint, + QRect, QRegularExpression, QSettings, QSize, QTime, QTimer, Qt, Slot) +from PySide6.QtGui import (QAction, QColor, QIcon, QIntValidator, + QDoubleValidator, QRegularExpressionValidator, QValidator) +from PySide6.QtWidgets import (QAbstractItemView, QApplication, + QCheckBox, QComboBox, QFileDialog, QDialog, QDialogButtonBox, QGridLayout, + QGroupBox, QHeaderView, QInputDialog, QItemDelegate, QLabel, QLineEdit, + QMainWindow, QMessageBox, QStyle, QSpinBox, QStyleOptionViewItem, + QTableWidget, QTableWidgetItem, QTreeWidget, QTreeWidgetItem, QVBoxLayout) + + +class TypeChecker: + def __init__(self, parent=None): + self.bool_exp = QRegularExpression('^(true)|(false)$') + assert self.bool_exp.isValid() + self.bool_exp.setPatternOptions(QRegularExpression.CaseInsensitiveOption) + + self.byteArray_exp = QRegularExpression(r'^[\x00-\xff]*$') + assert self.byteArray_exp.isValid() + + self.char_exp = QRegularExpression('^.$') + assert self.char_exp.isValid() + + pattern = r'^[+-]?\d+$' + self.int_exp = QRegularExpression(pattern) + assert self.int_exp.isValid() + + pattern = r'^\(([0-9]*),([0-9]*),([0-9]*),([0-9]*)\)$' + self.color_exp = QRegularExpression(pattern) + assert self.color_exp.isValid() + + pattern = r'^\((-?[0-9]*),(-?[0-9]*)\)$' + self.point_exp = QRegularExpression(pattern) + assert self.point_exp.isValid() + + pattern = r'^\((-?[0-9]*),(-?[0-9]*),(-?[0-9]*),(-?[0-9]*)\)$' + self.rect_exp = QRegularExpression(pattern) + assert self.rect_exp.isValid() + + self.size_exp = QRegularExpression(self.point_exp) + + date_pattern = '([0-9]{,4})-([0-9]{,2})-([0-9]{,2})' + self.date_exp = QRegularExpression(f'^{date_pattern}$') + assert self.date_exp.isValid() + + time_pattern = '([0-9]{,2}):([0-9]{,2}):([0-9]{,2})' + self.time_exp = QRegularExpression(f'^{time_pattern}$') + assert self.time_exp.isValid() + + pattern = f'^{date_pattern}T{time_pattern}$' + self.dateTime_exp = QRegularExpression(pattern) + assert self.dateTime_exp.isValid() + + def type_from_text(self, text): + if self.bool_exp.match(text).hasMatch(): + return bool + if self.int_exp.match(text).hasMatch(): + return int + return None + + def create_validator(self, value, parent): + if isinstance(value, bool): + return QRegularExpressionValidator(self.bool_exp, parent) + if isinstance(value, float): + return QDoubleValidator(parent) + if isinstance(value, int): + return QIntValidator(parent) + if isinstance(value, QByteArray): + return QRegularExpressionValidator(self.byteArray_exp, parent) + if isinstance(value, QColor): + return QRegularExpressionValidator(self.color_exp, parent) + if isinstance(value, QDate): + return QRegularExpressionValidator(self.date_exp, parent) + if isinstance(value, QDateTime): + return QRegularExpressionValidator(self.dateTime_exp, parent) + if isinstance(value, QTime): + return QRegularExpressionValidator(self.time_exp, parent) + if isinstance(value, QPoint): + return QRegularExpressionValidator(self.point_exp, parent) + if isinstance(value, QRect): + return QRegularExpressionValidator(self.rect_exp, parent) + if isinstance(value, QSize): + return QRegularExpressionValidator(self.size_exp, parent) + return None + + def from_string(self, text, original_value): + if isinstance(original_value, QColor): + match = self.color_exp.match(text) + return QColor(min(int(match.captured(1)), 255), + min(int(match.captured(2)), 255), + min(int(match.captured(3)), 255), + min(int(match.captured(4)), 255)) + if isinstance(original_value, QDate): + value = QDate.fromString(text, Qt.ISODate) + return value if value.isValid() else None + if isinstance(original_value, QDateTime): + value = QDateTime.fromString(text, Qt.ISODate) + return value if value.isValid() else None + if isinstance(original_value, QTime): + value = QTime.fromString(text, Qt.ISODate) + return value if value.isValid() else None + if isinstance(original_value, QPoint): + match = self.point_exp.match(text) + return QPoint(int(match.captured(1)), + int(match.captured(2))) + if isinstance(original_value, QRect): + match = self.rect_exp.match(text) + return QRect(int(match.captured(1)), + int(match.captured(2)), + int(match.captured(3)), + int(match.captured(4))) + if isinstance(original_value, QSize): + match = self.size_exp.match(text) + return QSize(int(match.captured(1)), + int(match.captured(2))) + if isinstance(original_value, list): + return text.split(',') + return type(original_value)(text) + + +class MainWindow(QMainWindow): + def __init__(self, parent=None): + super().__init__(parent) + + self.settings_tree = SettingsTree() + self.setCentralWidget(self.settings_tree) + + self.location_dialog = None + + self.create_actions() + self.create_menus() + + self.auto_refresh_action.setChecked(True) + self.fallbacks_action.setChecked(True) + + self.setWindowTitle("Settings Editor") + self.resize(500, 600) + + @Slot() + def open_settings(self): + if self.location_dialog is None: + self.location_dialog = LocationDialog(self) + + if self.location_dialog.exec(): + settings = QSettings(self.location_dialog.format(), + self.location_dialog.scope(), + self.location_dialog.organization(), + self.location_dialog.application()) + self.set_settings_object(settings) + self.fallbacks_action.setEnabled(True) + + @Slot() + def open_inifile(self): + file_name, _ = QFileDialog.getOpenFileName(self, "Open INI File", + '', "INI Files (*.ini *.conf)") + + if file_name: + self.load_ini_file(file_name) + + def load_ini_file(self, file_name): + settings = QSettings(file_name, QSettings.IniFormat) + if settings.status() != QSettings.NoError: + return + self.set_settings_object(settings) + self.fallbacks_action.setEnabled(False) + + @Slot() + def open_property_list(self): + file_name, _ = QFileDialog.getOpenFileName(self, + "Open Property List", '', "Property List Files (*.plist)") + + if file_name: + settings = QSettings(file_name, QSettings.NativeFormat) + self.set_settings_object(settings) + self.fallbacks_action.setEnabled(False) + + @Slot() + def open_registry_path(self): + path, ok = QInputDialog.getText(self, "Open Registry Path", + "Enter the path in the Windows registry:", + QLineEdit.Normal, 'HKEY_CURRENT_USER\\') + + if ok and path != '': + settings = QSettings(path, QSettings.NativeFormat) + self.set_settings_object(settings) + self.fallbacks_action.setEnabled(False) + + @Slot() + def about(self): + QMessageBox.about(self, "About Settings Editor", + "The Settings Editor example shows how to access " + "application settings using Qt.") + + def create_actions(self): + self._open_settings_act = QAction("&Open Application Settings...", + self, shortcut="Ctrl+O", triggered=self.openSettings) + + self._open_ini_file_act = QAction("Open I&NI File...", self, + shortcut="Ctrl+N", triggered=self.openIniFile) + + self._open_property_list_act = QAction("Open macOS &Property List...", + self, shortcut="Ctrl+P", triggered=self.openPropertyList) + + def create_actions(self): + self.open_settings_action = QAction("&Open Application Settings...", + self, shortcut="Ctrl+O", triggered=self.open_settings) + + self.open_ini_file_action = QAction("Open I&NI File...", self, + shortcut="Ctrl+N", triggered=self.open_inifile) + + self.open_property_list_action = QAction("Open macOS &Property List...", + self, shortcut="Ctrl+P", triggered=self.open_property_list) + if sys.platform != 'darwin': + self.open_property_list_action.setEnabled(False) + + self.open_registry_path_action = QAction( + "Open Windows &Registry Path...", self, shortcut="Ctrl+G", + triggered=self.open_registry_path) + if sys.platform != 'win32': + self.open_registry_path_action.setEnabled(False) + + self.refresh_action = QAction("&Refresh", self, shortcut="Ctrl+R", + enabled=False, triggered=self.settings_tree.refresh) + + self.exit_action = QAction("E&xit", self, shortcut="Ctrl+Q", + triggered=self.close) + + self.auto_refresh_action = QAction("&Auto-Refresh", self, + shortcut="Ctrl+A", checkable=True, enabled=False) + self.auto_refresh_action.triggered[bool].connect(self.settings_tree.set_auto_refresh) + self.auto_refresh_action.triggered[bool].connect(self.refresh_action.setDisabled) + + self.fallbacks_action = QAction("&Fallbacks", self, + shortcut="Ctrl+F", checkable=True, enabled=False) + self.fallbacks_action.triggered[bool].connect(self.settings_tree.set_fallbacks_enabled) + + self.about_action = QAction("&About", self, triggered=self.about) + + self.about_Qt_action = QAction("About &Qt", self, + triggered=qApp.aboutQt) + + def create_menus(self): + self.file_menu = self.menuBar().addMenu("&File") + self.file_menu.addAction(self.open_settings_action) + self.file_menu.addAction(self.open_ini_file_action) + self.file_menu.addAction(self.open_property_list_action) + self.file_menu.addAction(self.open_registry_path_action) + self.file_menu.addSeparator() + self.file_menu.addAction(self.refresh_action) + self.file_menu.addSeparator() + self.file_menu.addAction(self.exit_action) + + self.options_menu = self.menuBar().addMenu("&Options") + self.options_menu.addAction(self.auto_refresh_action) + self.options_menu.addAction(self.fallbacks_action) + + self.menuBar().addSeparator() + + self.help_menu = self.menuBar().addMenu("&Help") + self.help_menu.addAction(self.about_action) + self.help_menu.addAction(self.about_Qt_action) + + def set_settings_object(self, settings): + settings.setFallbacksEnabled(self.fallbacks_action.isChecked()) + self.settings_tree.set_settings_object(settings) + + self.refresh_action.setEnabled(True) + self.auto_refresh_action.setEnabled(True) + + nice_name = QDir.fromNativeSeparators(settings.fileName()) + nice_name = nice_name.split('/')[-1] + + if not settings.isWritable(): + nice_name += " (read only)" + + self.setWindowTitle(f"{nice_name} - Settings Editor") + + +class LocationDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + + self.format_combo = QComboBox() + self.format_combo.addItem("Native") + self.format_combo.addItem("INI") + + self.scope_cCombo = QComboBox() + self.scope_cCombo.addItem("User") + self.scope_cCombo.addItem("System") + + self.organization_combo = QComboBox() + self.organization_combo.addItem("Trolltech") + self.organization_combo.setEditable(True) + + self.application_combo = QComboBox() + self.application_combo.addItem("Any") + self.application_combo.addItem("Application Example") + self.application_combo.addItem("Assistant") + self.application_combo.addItem("Designer") + self.application_combo.addItem("Linguist") + self.application_combo.setEditable(True) + self.application_combo.setCurrentIndex(3) + + format_label = QLabel("&Format:") + format_label.setBuddy(self.format_combo) + + scope_label = QLabel("&Scope:") + scope_label.setBuddy(self.scope_cCombo) + + organization_label = QLabel("&Organization:") + organization_label.setBuddy(self.organization_combo) + + application_label = QLabel("&Application:") + application_label.setBuddy(self.application_combo) + + self.locations_groupbox = QGroupBox("Setting Locations") + + self.locations_table = QTableWidget() + self.locations_table.setSelectionMode(QAbstractItemView.SingleSelection) + self.locations_table.setSelectionBehavior(QAbstractItemView.SelectRows) + self.locations_table.setEditTriggers(QAbstractItemView.NoEditTriggers) + self.locations_table.setColumnCount(2) + self.locations_table.setHorizontalHeaderLabels(("Location", "Access")) + self.locations_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.Stretch) + self.locations_table.horizontalHeader().resizeSection(1, 180) + + self.button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + + self.format_combo.activated.connect(self.update_locations) + self.scope_cCombo.activated.connect(self.update_locations) + self.organization_combo.lineEdit().editingFinished.connect(self.update_locations) + self.application_combo.lineEdit().editingFinished.connect(self.update_locations) + self.button_box.accepted.connect(self.accept) + self.button_box.rejected.connect(self.reject) + + locations_layout = QVBoxLayout(self.locations_groupbox) + locations_layout.addWidget(self.locations_table) + + main_layout = QGridLayout(self) + main_layout.addWidget(format_label, 0, 0) + main_layout.addWidget(self.format_combo, 0, 1) + main_layout.addWidget(scope_label, 1, 0) + main_layout.addWidget(self.scope_cCombo, 1, 1) + main_layout.addWidget(organization_label, 2, 0) + main_layout.addWidget(self.organization_combo, 2, 1) + main_layout.addWidget(application_label, 3, 0) + main_layout.addWidget(self.application_combo, 3, 1) + main_layout.addWidget(self.locations_groupbox, 4, 0, 1, 2) + main_layout.addWidget(self.button_box, 5, 0, 1, 2) + + self.update_locations() + + self.setWindowTitle("Open Application Settings") + self.resize(650, 400) + + def format(self): + if self.format_combo.currentIndex() == 0: + return QSettings.NativeFormat + else: + return QSettings.IniFormat + + def scope(self): + if self.scope_cCombo.currentIndex() == 0: + return QSettings.UserScope + else: + return QSettings.SystemScope + + def organization(self): + return self.organization_combo.currentText() + + def application(self): + if self.application_combo.currentText() == "Any": + return '' + + return self.application_combo.currentText() + + def update_locations(self): + self.locations_table.setUpdatesEnabled(False) + self.locations_table.setRowCount(0) + + for i in range(2): + if i == 0: + if self.scope() == QSettings.SystemScope: + continue + + actual_scope = QSettings.UserScope + else: + actual_scope = QSettings.SystemScope + + for j in range(2): + if j == 0: + if not self.application(): + continue + + actual_application = self.application() + else: + actual_application = '' + + settings = QSettings(self.format(), actual_scope, + self.organization(), actual_application) + + row = self.locations_table.rowCount() + self.locations_table.setRowCount(row + 1) + + item0 = QTableWidgetItem() + item0.setText(settings.fileName()) + + item1 = QTableWidgetItem() + disable = not (settings.childKeys() or settings.childGroups()) + + if row == 0: + if settings.isWritable(): + item1.setText("Read-write") + disable = False + else: + item1.setText("Read-only") + self.button_box.button(QDialogButtonBox.Ok).setDisabled(disable) + else: + item1.setText("Read-only fallback") + + if disable: + item0.setFlags(item0.flags() & ~Qt.ItemIsEnabled) + item1.setFlags(item1.flags() & ~Qt.ItemIsEnabled) + + self.locations_table.setItem(row, 0, item0) + self.locations_table.setItem(row, 1, item1) + + self.locations_table.setUpdatesEnabled(True) + + +class SettingsTree(QTreeWidget): + def __init__(self, parent=None): + super().__init__(parent) + + self._type_checker = TypeChecker() + self.setItemDelegate(VariantDelegate(self._type_checker, self)) + + self.setHeaderLabels(("Setting", "Type", "Value")) + self.header().setSectionResizeMode(0, QHeaderView.Stretch) + self.header().setSectionResizeMode(2, QHeaderView.Stretch) + + self.settings = None + self.refresh_timer = QTimer() + self.refresh_timer.setInterval(2000) + self.auto_refresh = False + + self.group_icon = QIcon() + style = self.style() + self.group_icon.addPixmap(style.standardPixmap(QStyle.SP_DirClosedIcon), + QIcon.Normal, QIcon.Off) + self.group_icon.addPixmap(style.standardPixmap(QStyle.SP_DirOpenIcon), + QIcon.Normal, QIcon.On) + self.key_icon = QIcon() + self.key_icon.addPixmap(style.standardPixmap(QStyle.SP_FileIcon)) + + self.refresh_timer.timeout.connect(self.maybe_refresh) + + def set_settings_object(self, settings): + self.settings = settings + self.clear() + + if self.settings is not None: + self.settings.setParent(self) + self.refresh() + if self.auto_refresh: + self.refresh_timer.start() + else: + self.refresh_timer.stop() + + def sizeHint(self): + return QSize(800, 600) + + @Slot(bool) + def set_auto_refresh(self, autoRefresh): + self.auto_refresh = autoRefresh + + if self.settings is not None: + if self.auto_refresh: + self.maybe_refresh() + self.refresh_timer.start() + else: + self.refresh_timer.stop() + + @Slot(bool) + def set_fallbacks_enabled(self, enabled): + if self.settings is not None: + self.settings.setFallbacksEnabled(enabled) + self.refresh() + + @Slot() + def maybe_refresh(self): + if self.state() != QAbstractItemView.EditingState: + self.refresh() + + @Slot() + def refresh(self): + if self.settings is None: + return + + # The signal might not be connected. + try: + self.itemChanged.disconnect(self.update_setting) + except: + pass + + self.settings.sync() + self.update_child_items(None) + + self.itemChanged.connect(self.update_setting) + + def event(self, event): + if event.type() == QEvent.WindowActivate: + if self.isActiveWindow() and self.auto_refresh: + self.maybe_refresh() + + return super(SettingsTree, self).event(event) + + def update_setting(self, item): + key = item.text(0) + ancestor = item.parent() + + while ancestor: + key = ancestor.text(0) + '/' + key + ancestor = ancestor.parent() + + d = item.data(2, Qt.UserRole) + self.settings.setValue(key, item.data(2, Qt.UserRole)) + + if self.auto_refresh: + self.refresh() + + def update_child_items(self, parent): + divider_index = 0 + + for group in self.settings.childGroups(): + child_index = self.find_child(parent, group, divider_index) + if child_index != -1: + child = self.child_at(parent, child_index) + child.setText(1, '') + child.setText(2, '') + child.setData(2, Qt.UserRole, None) + self.move_item_forward(parent, child_index, divider_index) + else: + child = self.create_item(group, parent, divider_index) + + child.setIcon(0, self.group_icon) + divider_index += 1 + + self.settings.beginGroup(group) + self.update_child_items(child) + self.settings.endGroup() + + for key in self.settings.childKeys(): + child_index = self.find_child(parent, key, 0) + if child_index == -1 or child_index >= divider_index: + if child_index != -1: + child = self.child_at(parent, child_index) + for i in range(child.childCount()): + self.delete_item(child, i) + self.move_item_forward(parent, child_index, divider_index) + else: + child = self.create_item(key, parent, divider_index) + child.setIcon(0, self.key_icon) + divider_index += 1 + else: + child = self.child_at(parent, child_index) + + value = self.settings.value(key) + if value is None: + child.setText(1, 'Invalid') + else: + # Try to convert to type unless a QByteArray is received + if isinstance(value, str): + value_type = self._type_checker.type_from_text(value) + if value_type: + value = self.settings.value(key, type=value_type) + child.setText(1, value.__class__.__name__) + child.setText(2, VariantDelegate.display_text(value)) + child.setData(2, Qt.UserRole, value) + + while divider_index < self.child_count(parent): + self.delete_item(parent, divider_index) + + def create_item(self, text, parent, index): + after = None + + if index != 0: + after = self.child_at(parent, index - 1) + + if parent is not None: + item = QTreeWidgetItem(parent, after) + else: + item = QTreeWidgetItem(self, after) + + item.setText(0, text) + item.setFlags(item.flags() | Qt.ItemIsEditable) + return item + + def delete_item(self, parent, index): + if parent is not None: + item = parent.takeChild(index) + else: + item = self.takeTopLevelItem(index) + del item + + def child_at(self, parent, index): + if parent is not None: + return parent.child(index) + else: + return self.topLevelItem(index) + + def child_count(self, parent): + if parent is not None: + return parent.childCount() + else: + return self.topLevelItemCount() + + def find_child(self, parent, text, startIndex): + for i in range(self.child_count(parent)): + if self.child_at(parent, i).text(0) == text: + return i + return -1 + + def move_item_forward(self, parent, oldIndex, newIndex): + for int in range(oldIndex - newIndex): + self.delete_item(parent, newIndex) + + +class VariantDelegate(QItemDelegate): + def __init__(self, type_checker, parent=None): + super().__init__(parent) + self._type_checker = type_checker + + def paint(self, painter, option, index): + if index.column() == 2: + value = index.model().data(index, Qt.UserRole) + if not self.is_supported_type(value): + my_option = QStyleOptionViewItem(option) + my_option.state &= ~QStyle.State_Enabled + super(VariantDelegate, self).paint(painter, my_option, index) + return + + super(VariantDelegate, self).paint(painter, option, index) + + def createEditor(self, parent, option, index): + if index.column() != 2: + return None + + original_value = index.model().data(index, Qt.UserRole) + if not self.is_supported_type(original_value): + return None + + editor = None + if isinstance(original_value, bool): + editor = QCheckBox(parent) + if isinstance(original_value, int): + editor = QSpinBox(parent) + editor.setRange(-32767, 32767) + else: + editor = QLineEdit(parent) + editor.setFrame(False) + validator = self._type_checker.create_validator(original_value, editor) + if validator: + editor.setValidator(validator) + return editor + + def setEditorData(self, editor, index): + if not editor: + return + value = index.model().data(index, Qt.UserRole) + if isinstance(editor, QCheckBox): + editor.setCheckState(Qt.Checked if value else Qt.Unchecked) + elif isinstance(editor, QSpinBox): + editor.setValue(value) + else: + editor.setText(self.display_text(value)) + + def value_from_lineedit(self, lineedit, model, index): + if not lineedit.isModified(): + return None + text = lineedit.text() + validator = lineedit.validator() + if validator is not None: + state, text, _ = validator.validate(text, 0) + if state != QValidator.Acceptable: + return None + original_value = index.model().data(index, Qt.UserRole) + return self._type_checker.from_string(text, original_value) + + def setModelData(self, editor, model, index): + value = None + if isinstance(editor, QCheckBox): + value = editor.checkState() == Qt.Checked + elif isinstance(editor, QSpinBox): + value = editor.value() + else: + value = self.value_from_lineedit(editor, model, index) + if not value is None: + model.setData(index, value, Qt.UserRole) + model.setData(index, self.display_text(value), Qt.DisplayRole) + + @staticmethod + def is_supported_type(value): + return isinstance(value, (bool, float, int, QByteArray, str, QColor, + QDate, QDateTime, QTime, QPoint, QRect, + QSize, list)) + + @staticmethod + def display_text(value): + if isinstance(value, str): + return value + if isinstance(value, bool): + return '✓' if value else '☐' + if isinstance(value, (int, float, QByteArray)): + return str(value) + if isinstance(value, QColor): + (r, g, b, a) = (value.red(), value.green(), value.blue(), value.alpha()) + return f'({r},{g},{b},{a})' + if isinstance(value, (QDate, QDateTime, QTime)): + return value.toString(Qt.ISODate) + if isinstance(value, QPoint): + x = value.x() + y = value.y() + return f'({x},{y})' + if isinstance(value, QRect): + x = value.x() + y = value.y() + w = value.width() + h = value.height() + return f'({x},{y},{w},{h})' + if isinstance(value, QSize): + w = value.width() + h = value.height() + return f'({w},{h})' + if isinstance(value, list): + return ','.join(map(repr, value)) + if value is None: + return '' + + return f'<{value}>' + + +if __name__ == '__main__': + app = QApplication(sys.argv) + main_win = MainWindow() + if len(sys.argv) > 1: + main_win.load_ini_file(sys.argv[1]) + main_win.show() + sys.exit(app.exec()) diff --git a/examples/corelib/settingseditor/settingseditor.pyproject b/examples/corelib/settingseditor/settingseditor.pyproject new file mode 100644 index 0000000..9eb637a --- /dev/null +++ b/examples/corelib/settingseditor/settingseditor.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["settingseditor.py"] +} diff --git a/examples/corelib/threads/doc/threads.png b/examples/corelib/threads/doc/threads.png new file mode 100644 index 0000000000000000000000000000000000000000..d022f4aff1c3968ee7619960f62864590f440ec8 GIT binary patch literal 61689 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
dglna20sdM!tj{f6H?}82QhmN7w^4?rCSLYc4v; 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 LIMIT: + break + num_iterations += 1 + c = c * c + c0 + if abs(c) >= LIMIT: + break + num_iterations += 1 + c = c * c + c0 + if abs(c) >= LIMIT: + break + num_iterations += 1 + c = c * c + c0 + if abs(c) >= LIMIT: + break + + if num_iterations < max_iterations: + image.setPixel(x + half_width, y + half_height, + self.colormap[num_iterations % RenderThread.colormap_size]) + all_black = False + else: + image.setPixel(x + half_width, y + half_height, qRgb(0, 0, 0)) + + if all_black and curpass == 0: + curpass = 4 + else: + if not self.restart: + elapsed = timer.elapsed() + unit = 'ms' + if elapsed > 2000: + elapsed /= 1000 + unit = 's' + text = (f"Pass {curpass + 1}/{NUM_PASSES}, " + f"max iterations: {max_iterations}, time: {elapsed}{unit}") + image.setText(INFO_KEY, text) + self.rendered_image.emit(image, scale_factor) + curpass += 1 + + self.mutex.lock() + if not self.restart: + self.condition.wait(self.mutex) + self.restart = False + self.mutex.unlock() + + def rgb_from_wave_length(self, wave): + r = 0.0 + g = 0.0 + b = 0.0 + + if wave >= 380.0 and wave <= 440.0: + r = -1.0 * (wave - 440.0) / (440.0 - 380.0) + b = 1.0 + elif wave >= 440.0 and wave <= 490.0: + g = (wave - 440.0) / (490.0 - 440.0) + b = 1.0 + elif wave >= 490.0 and wave <= 510.0: + g = 1.0 + b = -1.0 * (wave - 510.0) / (510.0 - 490.0) + elif wave >= 510.0 and wave <= 580.0: + r = (wave - 510.0) / (580.0 - 510.0) + g = 1.0 + elif wave >= 580.0 and wave <= 645.0: + r = 1.0 + g = -1.0 * (wave - 645.0) / (645.0 - 580.0) + elif wave >= 645.0 and wave <= 780.0: + r = 1.0 + + s = 1.0 + if wave > 700.0: + s = 0.3 + 0.7 * (780.0 - wave) / (780.0 - 700.0) + elif wave < 420.0: + s = 0.3 + 0.7 * (wave - 380.0) / (420.0 - 380.0) + + r = pow(r * s, 0.8) + g = pow(g * s, 0.8) + b = pow(b * s, 0.8) + + return qRgb(r * 255, g * 255, b * 255) + + +class MandelbrotWidget(QWidget): + def __init__(self, parent=None): + super().__init__(parent) + + self.thread = RenderThread() + self.pixmap = QPixmap() + self._pixmap_offset = QPointF() + self._last_drag_pos = QPointF() + + self._center_x = DEFAULT_CENTER_X + self._center_y = DEFAULT_CENTER_Y + self._pixmap_scale = DEFAULT_SCALE + self._cur_scale = DEFAULT_SCALE + + self.thread.rendered_image.connect(self.update_pixmap) + + self.setWindowTitle("Mandelbrot") + self.setCursor(Qt.CrossCursor) + self._info = '' + + def paintEvent(self, event): + with QPainter(self) as painter: + painter.fillRect(self.rect(), Qt.black) + + if self.pixmap.isNull(): + painter.setPen(Qt.white) + painter.drawText(self.rect(), Qt.AlignCenter, + "Rendering initial image, please wait...") + return + + if self._cur_scale == self._pixmap_scale: + painter.drawPixmap(self._pixmap_offset, self.pixmap) + else: + scale_factor = self._pixmap_scale / self._cur_scale + new_width = int(self.pixmap.width() * scale_factor) + new_height = int(self.pixmap.height() * scale_factor) + new_x = self._pixmap_offset.x() + (self.pixmap.width() - new_width) / 2 + new_y = self._pixmap_offset.y() + (self.pixmap.height() - new_height) / 2 + + painter.save() + painter.translate(new_x, new_y) + painter.scale(scale_factor, scale_factor) + exposed, _ = painter.transform().inverted() + exposed = exposed.mapRect(self.rect()).adjusted(-1, -1, 1, 1) + painter.drawPixmap(exposed, self.pixmap, exposed) + painter.restore() + + text = HELP + if self._info: + text += ' ' + self._info + metrics = painter.fontMetrics() + text_width = metrics.horizontalAdvance(text) + + painter.setPen(Qt.NoPen) + painter.setBrush(QColor(0, 0, 0, 127)) + painter.drawRect((self.width() - text_width) / 2 - 5, 0, text_width + 10, + metrics.lineSpacing() + 5) + painter.setPen(Qt.white) + painter.drawText((self.width() - text_width) / 2, + metrics.leading() + metrics.ascent(), text) + + def resizeEvent(self, event): + self.thread.render(self._center_x, self._center_y, self._cur_scale, self.size()) + + def keyPressEvent(self, event): + if event.key() == Qt.Key_Plus: + self.zoom(ZOOM_IN_FACTOR) + elif event.key() == Qt.Key_Minus: + self.zoom(ZOOM_OUT_FACTOR) + elif event.key() == Qt.Key_Left: + self.scroll(-SCROLL_STEP, 0) + elif event.key() == Qt.Key_Right: + self.scroll(+SCROLL_STEP, 0) + elif event.key() == Qt.Key_Down: + self.scroll(0, -SCROLL_STEP) + elif event.key() == Qt.Key_Up: + self.scroll(0, +SCROLL_STEP) + elif event.key() == Qt.Key_Q: + self.close() + else: + super(MandelbrotWidget, self).keyPressEvent(event) + + def wheelEvent(self, event): + num_degrees = event.angleDelta().y() / 8 + num_steps = num_degrees / 15.0 + self.zoom(pow(ZOOM_IN_FACTOR, num_steps)) + + def mousePressEvent(self, event): + if event.buttons() == Qt.LeftButton: + self._last_drag_pos = event.position() + + def mouseMoveEvent(self, event): + if event.buttons() & Qt.LeftButton: + pos = event.position() + self._pixmap_offset += pos - self._last_drag_pos + self._last_drag_pos = pos + self.update() + + def mouseReleaseEvent(self, event): + if event.button() == Qt.LeftButton: + pos = event.position() + self._pixmap_offset += pos - self._last_drag_pos + self._last_drag_pos = QPointF() + + delta_x = (self.width() - self.pixmap.width()) / 2 - self._pixmap_offset.x() + delta_y = (self.height() - self.pixmap.height()) / 2 - self._pixmap_offset.y() + self.scroll(delta_x, delta_y) + + @Slot(QImage,float) + def update_pixmap(self, image, scale_factor): + if not self._last_drag_pos.isNull(): + return + + self._info = image.text(INFO_KEY) + self.pixmap = QPixmap.fromImage(image) + self._pixmap_offset = QPointF() + self._last_drag_position = QPointF() + self._pixmap_scale = scale_factor + self.update() + + def zoom(self, zoomFactor): + self._cur_scale *= zoomFactor + self.update() + self.thread.render(self._center_x, self._center_y, self._cur_scale, + self.size()) + + def scroll(self, deltaX, deltaY): + self._center_x += deltaX * self._cur_scale + self._center_y += deltaY * self._cur_scale + self.update() + self.thread.render(self._center_x, self._center_y, self._cur_scale, + self.size()) + + +if __name__ == '__main__': + parser = ArgumentParser(description='Qt Mandelbrot Example', + formatter_class=RawTextHelpFormatter) + parser.add_argument('--passes', '-p', type=int, help='Number of passes (1-8)') + options = parser.parse_args() + if options.passes: + NUM_PASSES = int(options.passes) + if NUM_PASSES < 1 or NUM_PASSES > 8: + print(f'Invalid value: {options.passes}') + sys.exit(-1) + + app = QApplication(sys.argv) + widget = MandelbrotWidget() + geometry = widget.screen().availableGeometry() + widget.resize((2 * geometry.size()) / 3) + pos = (geometry.size() - widget.size()) / 2 + widget.move(geometry.topLeft() + QPoint(pos.width(), pos.height())) + + widget.show() + r = app.exec() + widget.thread.stop() + sys.exit(r) diff --git a/examples/corelib/threads/threads.pyproject b/examples/corelib/threads/threads.pyproject new file mode 100644 index 0000000..254aabe --- /dev/null +++ b/examples/corelib/threads/threads.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["mandelbrot.py"] +} diff --git a/examples/datavisualization/bars3d/bars3d.py b/examples/datavisualization/bars3d/bars3d.py new file mode 100644 index 0000000..f1283fc --- /dev/null +++ b/examples/datavisualization/bars3d/bars3d.py @@ -0,0 +1,80 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 QtDataVisualization example""" + +import sys +from PySide6.QtCore import Qt +from PySide6.QtGui import QGuiApplication +from PySide6.QtWidgets import QApplication, QSizePolicy, QMainWindow, QWidget +from PySide6.QtDataVisualization import (Q3DBars, QBar3DSeries, QBarDataItem, + QCategory3DAxis, QValue3DAxis) + + +def data_to_bar_data_row(data): + return list(QBarDataItem(d) for d in data) + + +def data_to_bar_data_array(data): + return list(data_to_bar_data_row(row) for row in data) + + +class MainWindow(QMainWindow): + + def __init__(self): + super().__init__() + + self.setWindowTitle('Qt DataVisualization 3D Bars') + + self.bars = Q3DBars() + + self._column_axis = QCategory3DAxis() + self._column_axis.setTitle('Columns') + self._column_axis.setTitleVisible(True) + self._column_axis.setLabels(['Column1', 'Column2']) + self._column_axis.setLabelAutoRotation(30) + + self._row_axis = QCategory3DAxis() + self._row_axis.setTitle('Rows') + self._row_axis.setTitleVisible(True) + self._row_axis.setLabels(['Row1', 'Row2']) + self._row_axis.setLabelAutoRotation(30) + + self._value_axis = QValue3DAxis() + self._value_axis.setTitle('Values') + self._value_axis.setTitleVisible(True) + self._value_axis.setRange(0, 5) + + self.bars.setRowAxis(self._row_axis) + self.bars.setColumnAxis(self._column_axis) + self.bars.setValueAxis(self._value_axis) + + self.series = QBar3DSeries() + self._array_data = [[1, 2], [3, 4]] + self.series.dataProxy().addRows(data_to_bar_data_array(self._array_data)) + + self.bars.setPrimarySeries(self.series) + + self.container = QWidget.createWindowContainer(self.bars) + + if not self.bars.hasContext(): + print("Couldn't initialize the OpenGL context.") + sys.exit(-1) + + camera = self.bars.scene().activeCamera() + camera.setYRotation(22.5) + + geometry = QGuiApplication.primaryScreen().geometry() + size = geometry.height() * 3 / 4 + self.container.setMinimumSize(size, size) + + self.container.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) + self.container.setFocusPolicy(Qt.StrongFocus) + self.setCentralWidget(self.container) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + main_win = MainWindow() + main_win.show() + sys.exit(app.exec()) diff --git a/examples/datavisualization/bars3d/bars3d.pyproject b/examples/datavisualization/bars3d/bars3d.pyproject new file mode 100644 index 0000000..415133f --- /dev/null +++ b/examples/datavisualization/bars3d/bars3d.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["bars3d.py"] +} diff --git a/examples/datavisualization/bars3d/doc/bars3d.png b/examples/datavisualization/bars3d/doc/bars3d.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5cdc16833812d60347cfbd94f5571f68a0b616 GIT binary patch literal 31558 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
@BDA4qFC>PzccSXb3r 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 apL!9=?e3(?Y4r3JYMeZ self._areaMaxValue: + dist = self._axisXMaxValue - self._axisXMinValue + self._axisXMaxValue = self._areaMaxValue + self._axisXMinValue = self._axisXMaxValue - dist + + self._axisX.setRange(self._axisXMinValue, self._axisXMaxValue) + elif self._state == InputState.StateDraggingZ: + distance = (move.x() * zMulX + move.y() * zMulY) * self._speedModifier + self._axisZMinValue += distance + self._axisZMaxValue += distance + if self._axisZMinValue < self._areaMinValue: + dist = self._axisZMaxValue - self._axisZMinValue + self._axisZMinValue = self._areaMinValue + self._axisZMaxValue = self._axisZMinValue + dist + + if self._axisZMaxValue > self._areaMaxValue: + dist = self._axisZMaxValue - self._axisZMinValue + self._axisZMaxValue = self._areaMaxValue + self._axisZMinValue = self._axisZMaxValue - dist + + self._axisZ.setRange(self._axisZMinValue, self._axisZMaxValue) + + def checkConstraints(self): + if self._axisXMinValue < self._areaMinValue: + self._axisXMinValue = self._areaMinValue + if self._axisXMaxValue > self._areaMaxValue: + self._axisXMaxValue = self._areaMaxValue + # Don't allow too much zoom in + range = self._axisXMaxValue - self._axisXMinValue + if range < self._axisXMinRange: + adjust = (self._axisXMinRange - range) / 2.0 + self._axisXMinValue -= adjust + self._axisXMaxValue += adjust + + if self._axisZMinValue < self._areaMinValue: + self._axisZMinValue = self._areaMinValue + if self._axisZMaxValue > self._areaMaxValue: + self._axisZMaxValue = self._areaMaxValue + # Don't allow too much zoom in + range = self._axisZMaxValue - self._axisZMinValue + if range < self._axisZMinRange: + adjust = (self._axisZMinRange - range) / 2.0 + self._axisZMinValue -= adjust + self._axisZMaxValue += adjust diff --git a/examples/datavisualization/graphgallery/data/layer_1.png b/examples/datavisualization/graphgallery/data/layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..9138c710aab6361ef0e029c7a9252d74864da46d GIT binary patch literal 34540 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%0AsK#pe10?%<{700IGGCOgX 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 Hu0mjfuzw9_ literal 0 HcmV?d00001 diff --git a/examples/datavisualization/graphgallery/data/layer_3.png b/examples/datavisualization/graphgallery/data/layer_3.png new file mode 100644 index 0000000000000000000000000000000000000000..066ffbe754d8f6aaa46620a400129fcda674f8e9 GIT binary patch literal 7119 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⪚tmqPH5LnF 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

9AH5ts!VP(cBJUN>936Gg{W`oQyW62QP8f+V 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�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 E@))4!!;mn`h%)wT}G|6`)tmd@hR<|L{~5 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

QLbV5E%#pvt1(M&lZ{9aWO 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%0DqqV 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 z�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 z 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 V7QB2K^5*~m002ovPDHLkV1j=7kpln# literal 0 HcmV?d00001 diff --git a/examples/datavisualization/graphgallery/doc/graph_gallery.webp b/examples/datavisualization/graphgallery/doc/graph_gallery.webp new file mode 100644 index 0000000000000000000000000000000000000000..694b4f2944cb030c920bdbfff7f6a537b01bf7fa GIT binary patch literal 95552 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 S8xH}D9O~!(eF;j)+ + + data/raindata.txt + data/layer_1.png + data/layer_2.png + data/layer_3.png + data/refinery.obj + data/oilrig.obj + data/pipe.obj + data/maptexture.jpg + data/topography.png + + diff --git a/examples/datavisualization/graphgallery/graphmodifier.py b/examples/datavisualization/graphgallery/graphmodifier.py new file mode 100644 index 0000000..e8d94ee --- /dev/null +++ b/examples/datavisualization/graphgallery/graphmodifier.py @@ -0,0 +1,395 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +from math import atan, degrees +import numpy as np + +from PySide6.QtCore import QObject, QPropertyAnimation, Signal, Slot +from PySide6.QtGui import QFont, QVector3D +from PySide6.QtDataVisualization import (QAbstract3DGraph, QAbstract3DSeries, + QBarDataItem, QBar3DSeries, + QCategory3DAxis, QValue3DAxis, + Q3DCamera, Q3DTheme) + +from rainfalldata import RainfallData + +# Set up data +TEMP_OULU = np.array([ + [-7.4, -2.4, 0.0, 3.0, 8.2, 11.6, 14.7, 15.4, 11.4, 4.2, 2.1, -2.3], # 2015 + [-13.4, -3.9, -1.8, 3.1, 10.6, 13.7, 17.8, 13.6, 10.7, 3.5, -3.1, -4.2], # 2016 + [-5.7, -6.7, -3.0, -0.1, 4.7, 12.4, 16.1, 14.1, 9.4, 3.0, -0.3, -3.2], # 2017 + [-6.4, -11.9, -7.4, 1.9, 11.4, 12.4, 21.5, 16.1, 11.0, 4.4, 2.1, -4.1], # 2018 + [-11.7, -6.1, -2.4, 3.9, 7.2, 14.5, 15.6, 14.4, 8.5, 2.0, -3.0, -1.5], # 2019 + [-2.1, -3.4, -1.8, 0.6, 7.0, 17.1, 15.6, 15.4, 11.1, 5.6, 1.9, -1.7], # 2020 + [-9.6, -11.6, -3.2, 2.4, 7.8, 17.3, 19.4, 14.2, 8.0, 5.2, -2.2, -8.6], # 2021 + [-7.3, -6.4, -1.8, 1.3, 8.1, 15.5, 17.6, 17.6, 9.1, 5.4, -1.5, -4.4]], # 2022 + np.float64) + + +TEMP_HELSINKI = np.array([ + [-2.0, -0.1, 1.8, 5.1, 9.7, 13.7, 16.3, 17.3, 12.7, 5.4, 4.6, 2.1], # 2015 + [-10.3, -0.6, 0.0, 4.9, 14.3, 15.7, 17.7, 16.0, 12.7, 4.6, -1.0, -0.9], # 2016 + [-2.9, -3.3, 0.7, 2.3, 9.9, 13.8, 16.1, 15.9, 11.4, 5.0, 2.7, 0.7], # 2017 + [-2.2, -8.4, -4.7, 5.0, 15.3, 15.8, 21.2, 18.2, 13.3, 6.7, 2.8, -2.0], # 2018 + [-6.2, -0.5, -0.3, 6.8, 10.6, 17.9, 17.5, 16.8, 11.3, 5.2, 1.8, 1.4], # 2019 + [1.9, 0.5, 1.7, 4.5, 9.5, 18.4, 16.5, 16.8, 13.0, 8.2, 4.4, 0.9], # 2020 + [-4.7, -8.1, -0.9, 4.5, 10.4, 19.2, 20.9, 15.4, 9.5, 8.0, 1.5, -6.7], # 2021 + [-3.3, -2.2, -0.2, 3.3, 9.6, 16.9, 18.1, 18.9, 9.2, 7.6, 2.3, -3.4]], # 2022 + np.float64) + + +class GraphModifier(QObject): + + shadowQualityChanged = Signal(int) + backgroundEnabledChanged = Signal(bool) + gridEnabledChanged = Signal(bool) + fontChanged = Signal(QFont) + fontSizeChanged = Signal(int) + + def __init__(self, bargraph, parent): + super().__init__(parent) + self._graph = bargraph + self._temperatureAxis = QValue3DAxis() + self._yearAxis = QCategory3DAxis() + self._monthAxis = QCategory3DAxis() + self._primarySeries = QBar3DSeries() + self._secondarySeries = QBar3DSeries() + self._celsiusString = "°C" + + self._xRotation = float(0) + self._yRotation = float(0) + self._fontSize = 30 + self._segments = 4 + self._subSegments = 3 + self._minval = float(-20) + self._maxval = float(20) + self._barMesh = QAbstract3DSeries.MeshBevelBar + self._smooth = False + self._animationCameraX = QPropertyAnimation() + self._animationCameraY = QPropertyAnimation() + self._animationCameraZoom = QPropertyAnimation() + self._animationCameraTarget = QPropertyAnimation() + self._defaultAngleX = float(0) + self._defaultAngleY = float(0) + self._defaultZoom = float(0) + self._defaultTarget = [] + self._customData = None + + self._graph.setShadowQuality(QAbstract3DGraph.ShadowQualitySoftMedium) + theme = self._graph.activeTheme() + theme.setBackgroundEnabled(False) + theme.setFont(QFont("Times New Roman", self._fontSize)) + theme.setLabelBackgroundEnabled(True) + self._graph.setMultiSeriesUniform(True) + + self._months = ["January", "February", "March", "April", "May", "June", + "July", "August", "September", "October", "November", + "December"] + self._years = ["2015", "2016", "2017", "2018", "2019", "2020", + "2021", "2022"] + + self._temperatureAxis.setTitle("Average temperature") + self._temperatureAxis.setSegmentCount(self._segments) + self._temperatureAxis.setSubSegmentCount(self._subSegments) + self._temperatureAxis.setRange(self._minval, self._maxval) + self._temperatureAxis.setLabelFormat("%.1f " + self._celsiusString) + self._temperatureAxis.setLabelAutoRotation(30.0) + self._temperatureAxis.setTitleVisible(True) + + self._yearAxis.setTitle("Year") + self._yearAxis.setLabelAutoRotation(30.0) + self._yearAxis.setTitleVisible(True) + self._monthAxis.setTitle("Month") + self._monthAxis.setLabelAutoRotation(30.0) + self._monthAxis.setTitleVisible(True) + + self._graph.setValueAxis(self._temperatureAxis) + self._graph.setRowAxis(self._yearAxis) + self._graph.setColumnAxis(self._monthAxis) + + format = "Oulu - @colLabel @rowLabel: @valueLabel" + self._primarySeries.setItemLabelFormat(format) + self._primarySeries.setMesh(QAbstract3DSeries.MeshBevelBar) + self._primarySeries.setMeshSmooth(False) + + format = "Helsinki - @colLabel @rowLabel: @valueLabel" + self._secondarySeries.setItemLabelFormat(format) + self._secondarySeries.setMesh(QAbstract3DSeries.MeshBevelBar) + self._secondarySeries.setMeshSmooth(False) + self._secondarySeries.setVisible(False) + + self._graph.addSeries(self._primarySeries) + self._graph.addSeries(self._secondarySeries) + + self.changePresetCamera() + + self.resetTemperatureData() + + # Set up property animations for zooming to the selected bar + camera = self._graph.scene().activeCamera() + self._defaultAngleX = camera.xRotation() + self._defaultAngleY = camera.yRotation() + self._defaultZoom = camera.zoomLevel() + self._defaultTarget = camera.target() + + self._animationCameraX.setTargetObject(camera) + self._animationCameraY.setTargetObject(camera) + self._animationCameraZoom.setTargetObject(camera) + self._animationCameraTarget.setTargetObject(camera) + + self._animationCameraX.setPropertyName(b"xRotation") + self._animationCameraY.setPropertyName(b"yRotation") + self._animationCameraZoom.setPropertyName(b"zoomLevel") + self._animationCameraTarget.setPropertyName(b"target") + + duration = 1700 + self._animationCameraX.setDuration(duration) + self._animationCameraY.setDuration(duration) + self._animationCameraZoom.setDuration(duration) + self._animationCameraTarget.setDuration(duration) + + # The zoom always first zooms out above the graph and then zooms in + zoomOutFraction = 0.3 + self._animationCameraX.setKeyValueAt(zoomOutFraction, 0.0) + self._animationCameraY.setKeyValueAt(zoomOutFraction, 90.0) + self._animationCameraZoom.setKeyValueAt(zoomOutFraction, 50.0) + self._animationCameraTarget.setKeyValueAt(zoomOutFraction, + QVector3D(0, 0, 0)) + self._customData = RainfallData() + + def resetTemperatureData(self): + # Create data arrays + dataSet = [] + dataSet2 = [] + + for year in range(0, len(self._years)): + # Create a data row + dataRow = [] + dataRow2 = [] + for month in range(0, len(self._months)): + # Add data to the row + item = QBarDataItem() + item.setValue(TEMP_OULU[year][month]) + dataRow.append(item) + item = QBarDataItem() + item.setValue(TEMP_HELSINKI[year][month]) + dataRow2.append(item) + + # Add the row to the set + dataSet.append(dataRow) + dataSet2.append(dataRow2) + + # Add data to the data proxy (the data proxy assumes ownership of it) + self._primarySeries.dataProxy().resetArray(dataSet, self._years, self._months) + self._secondarySeries.dataProxy().resetArray(dataSet2, self._years, self._months) + + @Slot(int) + def changeRange(self, range): + if range >= len(self._years): + self._yearAxis.setRange(0, len(self._years) - 1) + else: + self._yearAxis.setRange(range, range) + + @Slot(int) + def changeStyle(self, style): + comboBox = self.sender() + if comboBox: + self._barMesh = comboBox.itemData(style) + self._primarySeries.setMesh(self._barMesh) + self._secondarySeries.setMesh(self._barMesh) + self._customData.customSeries().setMesh(self._barMesh) + + def changePresetCamera(self): + self._animationCameraX.stop() + self._animationCameraY.stop() + self._animationCameraZoom.stop() + self._animationCameraTarget.stop() + + # Restore camera target in case animation has changed it + self._graph.scene().activeCamera().setTarget(QVector3D(0.0, 0.0, 0.0)) + + self._preset = Q3DCamera.CameraPresetFront.value + + camera = self._graph.scene().activeCamera() + camera.setCameraPreset(Q3DCamera.CameraPreset(self._preset)) + + self._preset += 1 + if self._preset > Q3DCamera.CameraPresetDirectlyBelow.value: + self._preset = Q3DCamera.CameraPresetFrontLow.value + + @Slot(int) + def changeTheme(self, theme): + currentTheme = self._graph.activeTheme() + currentTheme.setType(Q3DTheme.Theme(theme)) + self.backgroundEnabledChanged.emit(currentTheme.isBackgroundEnabled()) + self.gridEnabledChanged.emit(currentTheme.isGridEnabled()) + self.fontChanged.emit(currentTheme.font()) + self.fontSizeChanged.emit(currentTheme.font().pointSize()) + + def changeLabelBackground(self): + theme = self._graph.activeTheme() + theme.setLabelBackgroundEnabled(not theme.isLabelBackgroundEnabled()) + + @Slot(int) + def changeSelectionMode(self, selectionMode): + comboBox = self.sender() + if comboBox: + flags = comboBox.itemData(selectionMode) + self._graph.setSelectionMode(QAbstract3DGraph.SelectionFlags(flags)) + + def changeFont(self, font): + newFont = font + self._graph.activeTheme().setFont(newFont) + + def changeFontSize(self, fontsize): + self._fontSize = fontsize + font = self._graph.activeTheme().font() + font.setPointSize(self._fontSize) + self._graph.activeTheme().setFont(font) + + @Slot(QAbstract3DGraph.ShadowQuality) + def shadowQualityUpdatedByVisual(self, sq): + # Updates the UI component to show correct shadow quality + self.shadowQualityChanged.emit(sq.value) + + @Slot(int) + def changeLabelRotation(self, rotation): + self._temperatureAxis.setLabelAutoRotation(float(rotation)) + self._monthAxis.setLabelAutoRotation(float(rotation)) + self._yearAxis.setLabelAutoRotation(float(rotation)) + + @Slot(bool) + def setAxisTitleVisibility(self, enabled): + self._temperatureAxis.setTitleVisible(enabled) + self._monthAxis.setTitleVisible(enabled) + self._yearAxis.setTitleVisible(enabled) + + @Slot(bool) + def setAxisTitleFixed(self, enabled): + self._temperatureAxis.setTitleFixed(enabled) + self._monthAxis.setTitleFixed(enabled) + self._yearAxis.setTitleFixed(enabled) + + @Slot() + def zoomToSelectedBar(self): + self._animationCameraX.stop() + self._animationCameraY.stop() + self._animationCameraZoom.stop() + self._animationCameraTarget.stop() + + camera = self._graph.scene().activeCamera() + currentX = camera.xRotation() + currentY = camera.yRotation() + currentZoom = camera.zoomLevel() + currentTarget = camera.target() + + self._animationCameraX.setStartValue(currentX) + self._animationCameraY.setStartValue(currentY) + self._animationCameraZoom.setStartValue(currentZoom) + self._animationCameraTarget.setStartValue(currentTarget) + + selectedBar = (self._graph.selectedSeries().selectedBar() + if self._graph.selectedSeries() + else QBar3DSeries.invalidSelectionPosition()) + + if selectedBar != QBar3DSeries.invalidSelectionPosition(): + # Normalize selected bar position within axis range to determine + # target coordinates + endTarget = QVector3D() + xMin = self._graph.columnAxis().min() + xRange = self._graph.columnAxis().max() - xMin + zMin = self._graph.rowAxis().min() + zRange = self._graph.rowAxis().max() - zMin + endTarget.setX((selectedBar.y() - xMin) / xRange * 2.0 - 1.0) + endTarget.setZ((selectedBar.x() - zMin) / zRange * 2.0 - 1.0) + + # Rotate the camera so that it always points approximately to the + # graph center + endAngleX = 90.0 - degrees(atan(float(endTarget.z() / endTarget.x()))) + if endTarget.x() > 0.0: + endAngleX -= 180.0 + proxy = self._graph.selectedSeries().dataProxy() + barValue = proxy.itemAt(selectedBar.x(), selectedBar.y()).value() + endAngleY = 30.0 if barValue >= 0.0 else -30.0 + if self._graph.valueAxis().reversed(): + endAngleY *= -1.0 + + self._animationCameraX.setEndValue(float(endAngleX)) + self._animationCameraY.setEndValue(endAngleY) + self._animationCameraZoom.setEndValue(250) + self._animationCameraTarget.setEndValue(endTarget) + else: + # No selected bar, so return to the default view + self._animationCameraX.setEndValue(self._defaultAngleX) + self._animationCameraY.setEndValue(self._defaultAngleY) + self._animationCameraZoom.setEndValue(self._defaultZoom) + self._animationCameraTarget.setEndValue(self._defaultTarget) + + self._animationCameraX.start() + self._animationCameraY.start() + self._animationCameraZoom.start() + self._animationCameraTarget.start() + + @Slot(bool) + def setDataModeToWeather(self, enabled): + if enabled: + self.changeDataMode(False) + + @Slot(bool) + def setDataModeToCustom(self, enabled): + if enabled: + self.changeDataMode(True) + + def changeShadowQuality(self, quality): + sq = QAbstract3DGraph.ShadowQuality(quality) + self._graph.setShadowQuality(sq) + self.shadowQualityChanged.emit(quality) + + def rotateX(self, rotation): + self._xRotation = rotation + camera = self._graph.scene().activeCamera() + camera.setCameraPosition(self._xRotation, self._yRotation) + + def rotateY(self, rotation): + self._yRotation = rotation + camera = self._graph.scene().activeCamera() + camera.setCameraPosition(self._xRotation, self._yRotation) + + def setBackgroundEnabled(self, enabled): + self._graph.activeTheme().setBackgroundEnabled(bool(enabled)) + + def setGridEnabled(self, enabled): + self._graph.activeTheme().setGridEnabled(bool(enabled)) + + def setSmoothBars(self, smooth): + self._smooth = bool(smooth) + self._primarySeries.setMeshSmooth(self._smooth) + self._secondarySeries.setMeshSmooth(self._smooth) + self._customData.customSeries().setMeshSmooth(self._smooth) + + def setSeriesVisibility(self, enabled): + self._secondarySeries.setVisible(bool(enabled)) + + def setReverseValueAxis(self, enabled): + self._graph.valueAxis().setReversed(enabled) + + def setReflection(self, enabled): + self._graph.setReflection(enabled) + + def changeDataMode(self, customData): + # Change between weather data and data from custom proxy + if customData: + self._graph.removeSeries(self._primarySeries) + self._graph.removeSeries(self._secondarySeries) + self._graph.addSeries(self._customData.customSeries()) + self._graph.setValueAxis(self._customData.valueAxis()) + self._graph.setRowAxis(self._customData.rowAxis()) + self._graph.setColumnAxis(self._customData.colAxis()) + else: + self._graph.removeSeries(self._customData.customSeries()) + self._graph.addSeries(self._primarySeries) + self._graph.addSeries(self._secondarySeries) + self._graph.setValueAxis(self._temperatureAxis) + self._graph.setRowAxis(self._yearAxis) + self._graph.setColumnAxis(self._monthAxis) diff --git a/examples/datavisualization/graphgallery/highlightseries.py b/examples/datavisualization/graphgallery/highlightseries.py new file mode 100644 index 0000000..b5495b4 --- /dev/null +++ b/examples/datavisualization/graphgallery/highlightseries.py @@ -0,0 +1,94 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QPoint, Qt, Slot +from PySide6.QtGui import QLinearGradient, QVector3D +from PySide6.QtDataVisualization import (QSurface3DSeries, QSurfaceDataItem, Q3DTheme) + + +DARK_RED_POS = 1.0 +RED_POS = 0.8 +YELLOW_POS = 0.6 +GREEN_POS = 0.4 +DARK_GREEN_POS = 0.2 + + +class HighlightSeries(QSurface3DSeries): + + def __init__(self): + super().__init__() + self._width = 100 + self._height = 100 + self._srcWidth = 0 + self._srcHeight = 0 + self._position = {} + self._topographicSeries = None + self._minHeight = 0.0 + self.setDrawMode(QSurface3DSeries.DrawSurface) + self.setFlatShadingEnabled(True) + self.setVisible(False) + + def setTopographicSeries(self, series): + self._topographicSeries = series + array = self._topographicSeries.dataProxy().array() + self._srcWidth = len(array[0]) + self._srcHeight = len(array) + self._topographicSeries.selectedPointChanged.connect(self.handlePositionChange) + + def setMinHeight(self, height): + self. m_minHeight = height + + @Slot(QPoint) + def handlePositionChange(self, position): + self._position = position + + if position == self.invalidSelectionPosition(): + self.setVisible(False) + return + + halfWidth = self._width / 2 + halfHeight = self._height / 2 + + startX = position.y() - halfWidth + if startX < 0: + startX = 0 + endX = position.y() + halfWidth + if endX > (self._srcWidth - 1): + endX = self._srcWidth - 1 + startZ = position.x() - halfHeight + if startZ < 0: + startZ = 0 + endZ = position.x() + halfHeight + if endZ > (self._srcHeight - 1): + endZ = self._srcHeight - 1 + + srcProxy = self._topographicSeries.dataProxy() + srcArray = srcProxy.array() + + dataArray = [] + for i in range(int(startZ), int(endZ)): + newRow = [] + srcRow = srcArray[i] + for j in range(startX, endX): + pos = srcRow.at(j).position() + pos.setY(pos.y() + 0.1) + item = QSurfaceDataItem(QVector3D(pos)) + newRow.append(item) + dataArray.append(newRow) + self.dataProxy().resetArray(dataArray) + self.setVisible(True) + + @Slot(float) + def handleGradientChange(self, value): + ratio = self._minHeight / value + + gr = QLinearGradient() + gr.setColorAt(0.0, Qt.black) + gr.setColorAt(DARK_GREEN_POS * ratio, Qt.darkGreen) + gr.setColorAt(GREEN_POS * ratio, Qt.green) + gr.setColorAt(YELLOW_POS * ratio, Qt.yellow) + gr.setColorAt(RED_POS * ratio, Qt.red) + gr.setColorAt(DARK_RED_POS * ratio, Qt.darkRed) + + self.setBaseGradient(gr) + self.setColorStyle(Q3DTheme.ColorStyleRangeGradient) diff --git a/examples/datavisualization/graphgallery/main.py b/examples/datavisualization/graphgallery/main.py new file mode 100644 index 0000000..6681172 --- /dev/null +++ b/examples/datavisualization/graphgallery/main.py @@ -0,0 +1,50 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Qt DataVisualization graphgallery example from Qt v6.x""" + +import os +import sys + +from PySide6.QtCore import QSize +from PySide6.QtWidgets import QApplication, QMessageBox, QTabWidget + +from bargraph import BarGraph +from scattergraph import ScatterGraph +from surfacegraph import SurfaceGraph + + +if __name__ == "__main__": + os.environ["QSG_RHI_BACKEND"] = "opengl" + + app = QApplication(sys.argv) + + # Create a tab widget for creating own tabs for Q3DBars, Q3DScatter, and Q3DSurface + tabWidget = QTabWidget() + tabWidget.setWindowTitle("Graph Gallery") + + screen_size = tabWidget.screen().size() + minimum_graph_size = QSize(screen_size.width() / 2, screen_size.height() / 1.75) + + # Create bar graph + bars = BarGraph() + # Create scatter graph + scatter = ScatterGraph() + # Create surface graph + surface = SurfaceGraph() + + if (not bars.initialize(minimum_graph_size, screen_size) + or not scatter.initialize(minimum_graph_size, screen_size) + or not surface.initialize(minimum_graph_size, screen_size)): + QMessageBox.warning(None, "Graph Gallery", "Couldn't initialize the OpenGL context.") + sys.exit(-1) + + # Add bars widget + tabWidget.addTab(bars.barsWidget(), "Bar Graph") + # Add scatter widget + tabWidget.addTab(scatter.scatterWidget(), "Scatter Graph") + # Add surface widget + tabWidget.addTab(surface.surfaceWidget(), "Surface Graph") + + tabWidget.show() + sys.exit(app.exec()) diff --git a/examples/datavisualization/graphgallery/rainfalldata.py b/examples/datavisualization/graphgallery/rainfalldata.py new file mode 100644 index 0000000..18d6de8 --- /dev/null +++ b/examples/datavisualization/graphgallery/rainfalldata.py @@ -0,0 +1,125 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from pathlib import Path + +from PySide6.QtCore import QFile, QIODevice, QObject +from PySide6.QtDataVisualization import (QBar3DSeries, QCategory3DAxis, QValue3DAxis) + +from variantbardataproxy import VariantBarDataProxy +from variantbardatamapping import VariantBarDataMapping +from variantdataset import VariantDataSet + + +MONTHS = ["January", "February", "March", "April", + "May", "June", "July", "August", "September", "October", + "November", "December"] + + +class RainfallData(QObject): + + def __init__(self): + super().__init__() + self._columnCount = 0 + self._rowCount = 0 + self._years = [] + self._numericMonths = [] + self._proxy = VariantBarDataProxy() + self._mapping = None + self._dataSet = None + self._series = QBar3DSeries() + self._valueAxis = QValue3DAxis() + self._rowAxis = QCategory3DAxis() + self._colAxis = QCategory3DAxis() + + # In data file the months are in numeric format, so create custom list + for i in range(1, 13): + self._numericMonths.append(str(i)) + + self._columnCount = len(self._numericMonths) + + self.updateYearsList(2010, 2022) + + # Create proxy and series + self._proxy = VariantBarDataProxy() + self._series = QBar3DSeries(self._proxy) + + self._series.setItemLabelFormat("%.1f mm") + + # Create the axes + self._rowAxis = QCategory3DAxis(self) + self._colAxis = QCategory3DAxis(self) + self._valueAxis = QValue3DAxis(self) + self._rowAxis.setAutoAdjustRange(True) + self._colAxis.setAutoAdjustRange(True) + self._valueAxis.setAutoAdjustRange(True) + + # Set axis labels and titles + self._rowAxis.setTitle("Year") + self._colAxis.setTitle("Month") + self._valueAxis.setTitle("rainfall (mm)") + self._valueAxis.setSegmentCount(5) + self._rowAxis.setLabels(self._years) + self._colAxis.setLabels(MONTHS) + self._rowAxis.setTitleVisible(True) + self._colAxis.setTitleVisible(True) + self._valueAxis.setTitleVisible(True) + + self.addDataSet() + + def customSeries(self): + return self._series + + def valueAxis(self): + return self._valueAxis + + def rowAxis(self): + return self._rowAxis + + def colAxis(self): + return self._colAxis + + def updateYearsList(self, start, end): + self._years.clear() + for i in range(start, end + 1): + self._years.append(str(i)) + self._rowCount = len(self._years) + + def addDataSet(self): + # Create a new variant data set and data item list + self._dataSet = VariantDataSet() + itemList = [] + + # Read data from a data file into the data item list + file_path = Path(__file__).resolve().parent / "data" / "raindata.txt" + dataFile = QFile(file_path) + if dataFile.open(QIODevice.ReadOnly | QIODevice.Text): + data = dataFile.readAll().data().decode("utf8") + for line in data.split("\n"): + if line and not line.startswith("#"): # Ignore comments + tokens = line.split(",") + # Each line has three data items: Year, month, and + # rainfall value + if len(tokens) >= 3: + # Store year and month as strings, and rainfall value + # as double into a variant data item and add the item to + # the item list. + newItem = [] + newItem.append(tokens[0].strip()) + newItem.append(tokens[1].strip()) + newItem.append(float(tokens[2].strip())) + itemList.append(newItem) + else: + print("Unable to open data file:", dataFile.fileName(), + file=sys.stderr) + + # Add items to the data set and set it to the proxy + self._dataSet.addItems(itemList) + self._proxy.setDataSet(self._dataSet) + + # Create new mapping for the data and set it to the proxy + self._mapping = VariantBarDataMapping(0, 1, 2, + self._years, self._numericMonths) + self._proxy.setMapping(self._mapping) diff --git a/examples/datavisualization/graphgallery/scatterdatamodifier.py b/examples/datavisualization/graphgallery/scatterdatamodifier.py new file mode 100644 index 0000000..7c16ef7 --- /dev/null +++ b/examples/datavisualization/graphgallery/scatterdatamodifier.py @@ -0,0 +1,151 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from math import cos, degrees, sqrt + +from PySide6.QtCore import QObject, Signal, Slot, Qt +from PySide6.QtGui import QVector3D +from PySide6.QtDataVisualization import (QAbstract3DGraph, QAbstract3DSeries, + QScatterDataItem, QScatterDataProxy, + QScatter3DSeries, Q3DCamera, + Q3DTheme) + +from axesinputhandler import AxesInputHandler + + +NUMBER_OF_ITEMS = 10000 +CURVE_DIVIDER = 7.5 +LOWER_NUMBER_OF_ITEMS = 900 +LOWER_CURVE_DIVIDER = 0.75 + + +class ScatterDataModifier(QObject): + + backgroundEnabledChanged = Signal(bool) + gridEnabledChanged = Signal(bool) + shadowQualityChanged = Signal(int) + + def __init__(self, scatter, parent): + super().__init__(parent) + + self._graph = scatter + + self._style = QAbstract3DSeries.MeshSphere + self._smooth = True + self._inputHandler = AxesInputHandler(scatter) + self._autoAdjust = True + self._itemCount = LOWER_NUMBER_OF_ITEMS + self._CURVE_DIVIDER = LOWER_CURVE_DIVIDER + self._inputHandler = AxesInputHandler(scatter) + + self._graph.activeTheme().setType(Q3DTheme.ThemeStoneMoss) + self._graph.setShadowQuality(QAbstract3DGraph.ShadowQualitySoftHigh) + self._graph.scene().activeCamera().setCameraPreset(Q3DCamera.CameraPresetFront) + self._graph.scene().activeCamera().setZoomLevel(80.0) + + self._proxy = QScatterDataProxy() + self._series = QScatter3DSeries(self._proxy) + self._series.setItemLabelFormat("@xTitle: @xLabel @yTitle: @yLabel @zTitle: @zLabel") + self._series.setMeshSmooth(self._smooth) + self._graph.addSeries(self._series) + + # Give ownership of the handler to the graph and make it the active + # handler + self._graph.setActiveInputHandler(self._inputHandler) + + # Give our axes to the input handler + self._inputHandler.setAxes(self._graph.axisX(), self._graph.axisZ(), + self._graph.axisY()) + + self.addData() + + def addData(self): + # Configure the axes according to the data + self._graph.axisX().setTitle("X") + self._graph.axisY().setTitle("Y") + self._graph.axisZ().setTitle("Z") + + dataArray = [] + limit = int(sqrt(self._itemCount) / 2.0) + for i in range(-limit, limit): + for j in range(-limit, limit): + x = float(i) + 0.5 + y = cos(degrees(float(i * j) / self._CURVE_DIVIDER)) + z = float(j) + 0.5 + dataArray.append(QScatterDataItem(QVector3D(x, y, z))) + + self._graph.seriesList()[0].dataProxy().resetArray(dataArray) + + @Slot(int) + def changeStyle(self, style): + comboBox = self.sender() + if comboBox: + self._style = comboBox.itemData(style) + if self._graph.seriesList(): + self._graph.seriesList()[0].setMesh(self._style) + + @Slot(int) + def setSmoothDots(self, smooth): + self._smooth = smooth == Qt.Checked.value + series = self._graph.seriesList()[0] + series.setMeshSmooth(self._smooth) + + @Slot(int) + def changeTheme(self, theme): + currentTheme = self._graph.activeTheme() + currentTheme.setType(Q3DTheme.Theme(theme)) + self.backgroundEnabledChanged.emit(currentTheme.isBackgroundEnabled()) + self.gridEnabledChanged.emit(currentTheme.isGridEnabled()) + + @Slot() + def changePresetCamera(self): + preset = Q3DCamera.CameraPresetFrontLow.value + + camera = self._graph.scene().activeCamera() + camera.setCameraPreset(Q3DCamera.CameraPreset(preset)) + + preset += 1 + if preset > Q3DCamera.CameraPresetDirectlyBelow.value: + preset = Q3DCamera.CameraPresetFrontLow.value + + @Slot(QAbstract3DGraph.ShadowQuality) + def shadowQualityUpdatedByVisual(self, sq): + self.shadowQualityChanged.emit(sq.value) + + @Slot(int) + def changeShadowQuality(self, quality): + sq = QAbstract3DGraph.ShadowQuality(quality) + self._graph.setShadowQuality(sq) + + @Slot(int) + def setBackgroundEnabled(self, enabled): + self._graph.activeTheme().setBackgroundEnabled(enabled == Qt.Checked.value) + + @Slot(int) + def setGridEnabled(self, enabled): + self._graph.activeTheme().setGridEnabled(enabled == Qt.Checked.value) + + @Slot() + def toggleItemCount(self): + if self._itemCount == NUMBER_OF_ITEMS: + self._itemCount = LOWER_NUMBER_OF_ITEMS + self._CURVE_DIVIDER = LOWER_CURVE_DIVIDER + else: + self._itemCount = NUMBER_OF_ITEMS + self._CURVE_DIVIDER = CURVE_DIVIDER + + self._graph.seriesList()[0].dataProxy().resetArray([]) + self.addData() + + @Slot() + def toggleRanges(self): + if not self._autoAdjust: + self._graph.axisX().setAutoAdjustRange(True) + self._graph.axisZ().setAutoAdjustRange(True) + self._inputHandler.setDragSpeedModifier(1.5) + self._autoAdjust = True + else: + self._graph.axisX().setRange(-10.0, 10.0) + self._graph.axisZ().setRange(-10.0, 10.0) + self._inputHandler.setDragSpeedModifier(15.0) + self._autoAdjust = False diff --git a/examples/datavisualization/graphgallery/scattergraph.py b/examples/datavisualization/graphgallery/scattergraph.py new file mode 100644 index 0000000..ffcd428 --- /dev/null +++ b/examples/datavisualization/graphgallery/scattergraph.py @@ -0,0 +1,128 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QObject, QSize, Qt +from PySide6.QtWidgets import (QCheckBox, QComboBox, QCommandLinkButton, + QLabel, QHBoxLayout, QSizePolicy, + QVBoxLayout, QWidget, ) +from PySide6.QtDataVisualization import (QAbstract3DSeries, Q3DScatter) + +from scatterdatamodifier import ScatterDataModifier + + +class ScatterGraph(QObject): + + def __init__(self): + super().__init__() + self._scatterGraph = Q3DScatter() + self._container = None + self._scatterWidget = None + + def initialize(self, minimum_graph_size, maximum_graph_size): + if not self._scatterGraph.hasContext(): + return -1 + + self._scatterWidget = QWidget() + hLayout = QHBoxLayout(self._scatterWidget) + self._container = QWidget.createWindowContainer(self._scatterGraph, self._scatterWidget) + self._container.setMinimumSize(minimum_graph_size) + self._container.setMaximumSize(maximum_graph_size) + self._container.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) + self._container.setFocusPolicy(Qt.StrongFocus) + hLayout.addWidget(self._container, 1) + + vLayout = QVBoxLayout() + hLayout.addLayout(vLayout) + + cameraButton = QCommandLinkButton(self._scatterWidget) + cameraButton.setText("Change camera preset") + cameraButton.setDescription("Switch between a number of preset camera positions") + cameraButton.setIconSize(QSize(0, 0)) + + itemCountButton = QCommandLinkButton(self._scatterWidget) + itemCountButton.setText("Toggle item count") + itemCountButton.setDescription("Switch between 900 and 10000 data points") + itemCountButton.setIconSize(QSize(0, 0)) + + rangeButton = QCommandLinkButton(self._scatterWidget) + rangeButton.setText("Toggle axis ranges") + rangeButton.setDescription("Switch between automatic axis ranges and preset ranges") + rangeButton.setIconSize(QSize(0, 0)) + + backgroundCheckBox = QCheckBox(self._scatterWidget) + backgroundCheckBox.setText("Show background") + backgroundCheckBox.setChecked(True) + + gridCheckBox = QCheckBox(self._scatterWidget) + gridCheckBox.setText("Show grid") + gridCheckBox.setChecked(True) + + smoothCheckBox = QCheckBox(self._scatterWidget) + smoothCheckBox.setText("Smooth dots") + smoothCheckBox.setChecked(True) + + itemStyleList = QComboBox(self._scatterWidget) + itemStyleList.addItem("Sphere", QAbstract3DSeries.MeshSphere) + itemStyleList.addItem("Cube", QAbstract3DSeries.MeshCube) + itemStyleList.addItem("Minimal", QAbstract3DSeries.MeshMinimal) + itemStyleList.addItem("Point", QAbstract3DSeries.MeshPoint) + itemStyleList.setCurrentIndex(0) + + themeList = QComboBox(self._scatterWidget) + themeList.addItem("Qt") + themeList.addItem("Primary Colors") + themeList.addItem("Digia") + themeList.addItem("Stone Moss") + themeList.addItem("Army Blue") + themeList.addItem("Retro") + themeList.addItem("Ebony") + themeList.addItem("Isabelle") + themeList.setCurrentIndex(3) + + shadowQuality = QComboBox(self._scatterWidget) + shadowQuality.addItem("None") + shadowQuality.addItem("Low") + shadowQuality.addItem("Medium") + shadowQuality.addItem("High") + shadowQuality.addItem("Low Soft") + shadowQuality.addItem("Medium Soft") + shadowQuality.addItem("High Soft") + shadowQuality.setCurrentIndex(6) + + vLayout.addWidget(cameraButton) + vLayout.addWidget(itemCountButton) + vLayout.addWidget(rangeButton) + vLayout.addWidget(backgroundCheckBox) + vLayout.addWidget(gridCheckBox) + vLayout.addWidget(smoothCheckBox) + vLayout.addWidget(QLabel("Change dot style")) + vLayout.addWidget(itemStyleList) + vLayout.addWidget(QLabel("Change theme")) + vLayout.addWidget(themeList) + vLayout.addWidget(QLabel("Adjust shadow quality")) + vLayout.addWidget(shadowQuality, 1, Qt.AlignTop) + + self._modifier = ScatterDataModifier(self._scatterGraph, self) + + cameraButton.clicked.connect(self._modifier.changePresetCamera) + itemCountButton.clicked.connect(self._modifier.toggleItemCount) + rangeButton.clicked.connect(self._modifier.toggleRanges) + + backgroundCheckBox.stateChanged.connect(self._modifier.setBackgroundEnabled) + gridCheckBox.stateChanged.connect(self._modifier.setGridEnabled) + smoothCheckBox.stateChanged.connect(self._modifier.setSmoothDots) + + self._modifier.backgroundEnabledChanged.connect(backgroundCheckBox.setChecked) + self._modifier.gridEnabledChanged.connect(gridCheckBox.setChecked) + itemStyleList.currentIndexChanged.connect(self._modifier.changeStyle) + + themeList.currentIndexChanged.connect(self._modifier.changeTheme) + + shadowQuality.currentIndexChanged.connect(self._modifier.changeShadowQuality) + + self._modifier.shadowQualityChanged.connect(shadowQuality.setCurrentIndex) + self._scatterGraph.shadowQualityChanged.connect(self._modifier.shadowQualityUpdatedByVisual) + return True + + def scatterWidget(self): + return self._scatterWidget diff --git a/examples/datavisualization/graphgallery/surfacegraph.py b/examples/datavisualization/graphgallery/surfacegraph.py new file mode 100644 index 0000000..d42f496 --- /dev/null +++ b/examples/datavisualization/graphgallery/surfacegraph.py @@ -0,0 +1,265 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from surfacegraphmodifier import SurfaceGraphModifier + +from PySide6.QtCore import QObject, Qt +from PySide6.QtGui import QBrush, QIcon, QLinearGradient, QPainter, QPixmap +from PySide6.QtWidgets import (QGroupBox, QCheckBox, QLabel, QHBoxLayout, + QPushButton, QRadioButton, QSizePolicy, QSlider, + QVBoxLayout, QWidget) + +from PySide6.QtDataVisualization import (Q3DSurface) + + +def gradientBtoYPB_Pixmap(): + grBtoY = QLinearGradient(0, 0, 1, 100) + grBtoY.setColorAt(1.0, Qt.black) + grBtoY.setColorAt(0.67, Qt.blue) + grBtoY.setColorAt(0.33, Qt.red) + grBtoY.setColorAt(0.0, Qt.yellow) + pm = QPixmap(24, 100) + with QPainter(pm) as pmp: + pmp.setBrush(QBrush(grBtoY)) + pmp.setPen(Qt.NoPen) + pmp.drawRect(0, 0, 24, 100) + return pm + + +def gradientGtoRPB_Pixmap(): + grGtoR = QLinearGradient(0, 0, 1, 100) + grGtoR.setColorAt(1.0, Qt.darkGreen) + grGtoR.setColorAt(0.5, Qt.yellow) + grGtoR.setColorAt(0.2, Qt.red) + grGtoR.setColorAt(0.0, Qt.darkRed) + pm = QPixmap(24, 100) + with QPainter(pm) as pmp: + pmp.setBrush(QBrush(grGtoR)) + pmp.setPen(Qt.NoPen) + pmp.drawRect(0, 0, 24, 100) + return pm + + +def highlightPixmap(): + HEIGHT = 400 + WIDTH = 110 + BORDER = 10 + gr = QLinearGradient(0, 0, 1, HEIGHT - 2 * BORDER) + gr.setColorAt(1.0, Qt.black) + gr.setColorAt(0.8, Qt.darkGreen) + gr.setColorAt(0.6, Qt.green) + gr.setColorAt(0.4, Qt.yellow) + gr.setColorAt(0.2, Qt.red) + gr.setColorAt(0.0, Qt.darkRed) + pmHighlight = QPixmap(WIDTH, HEIGHT) + pmHighlight.fill(Qt.transparent) + with QPainter(pmHighlight) as pmpHighlight: + pmpHighlight.setBrush(QBrush(gr)) + pmpHighlight.setPen(Qt.NoPen) + pmpHighlight.drawRect(BORDER, BORDER, 35, HEIGHT - 2 * BORDER) + pmpHighlight.setPen(Qt.black) + step = (HEIGHT - 2 * BORDER) / 5 + for i in range(0, 6): + yPos = i * step + BORDER + pmpHighlight.drawLine(BORDER, yPos, 55, yPos) + HEIGHT = 550 - (i * 110) + pmpHighlight.drawText(60, yPos + 2, f"{HEIGHT} m") + return pmHighlight + + +class SurfaceGraph(QObject): + + def __init__(self): + super().__init__() + self._surfaceGraph = Q3DSurface() + self._container = None + self._surfaceWidget = None + + def initialize(self, minimum_graph_size, maximum_graph_size): + if not self._surfaceGraph.hasContext(): + return False + + self._surfaceWidget = QWidget() + hLayout = QHBoxLayout(self._surfaceWidget) + self._container = QWidget.createWindowContainer(self._surfaceGraph, + self._surfaceWidget) + self._container.setMinimumSize(minimum_graph_size) + self._container.setMaximumSize(maximum_graph_size) + self._container.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) + self._container.setFocusPolicy(Qt.StrongFocus) + hLayout.addWidget(self._container, 1) + vLayout = QVBoxLayout() + hLayout.addLayout(vLayout) + vLayout.setAlignment(Qt.AlignTop) + # Create control widgets + modelGroupBox = QGroupBox("Model") + sqrtSinModelRB = QRadioButton(self._surfaceWidget) + sqrtSinModelRB.setText("Sqrt and Sin") + sqrtSinModelRB.setChecked(False) + heightMapModelRB = QRadioButton(self._surfaceWidget) + heightMapModelRB.setText("Multiseries\nHeight Map") + heightMapModelRB.setChecked(False) + texturedModelRB = QRadioButton(self._surfaceWidget) + texturedModelRB.setText("Textured\nTopography") + texturedModelRB.setChecked(False) + modelVBox = QVBoxLayout() + modelVBox.addWidget(sqrtSinModelRB) + modelVBox.addWidget(heightMapModelRB) + modelVBox.addWidget(texturedModelRB) + modelGroupBox.setLayout(modelVBox) + selectionGroupBox = QGroupBox("Graph Selection Mode") + modeNoneRB = QRadioButton(self._surfaceWidget) + modeNoneRB.setText("No selection") + modeNoneRB.setChecked(False) + modeItemRB = QRadioButton(self._surfaceWidget) + modeItemRB.setText("Item") + modeItemRB.setChecked(False) + modeSliceRowRB = QRadioButton(self._surfaceWidget) + modeSliceRowRB.setText("Row Slice") + modeSliceRowRB.setChecked(False) + modeSliceColumnRB = QRadioButton(self._surfaceWidget) + modeSliceColumnRB.setText("Column Slice") + modeSliceColumnRB.setChecked(False) + selectionVBox = QVBoxLayout() + selectionVBox.addWidget(modeNoneRB) + selectionVBox.addWidget(modeItemRB) + selectionVBox.addWidget(modeSliceRowRB) + selectionVBox.addWidget(modeSliceColumnRB) + selectionGroupBox.setLayout(selectionVBox) + axisGroupBox = QGroupBox("Axis ranges") + axisMinSliderX = QSlider(Qt.Horizontal) + axisMinSliderX.setMinimum(0) + axisMinSliderX.setTickInterval(1) + axisMinSliderX.setEnabled(True) + axisMaxSliderX = QSlider(Qt.Horizontal) + axisMaxSliderX.setMinimum(1) + axisMaxSliderX.setTickInterval(1) + axisMaxSliderX.setEnabled(True) + axisMinSliderZ = QSlider(Qt.Horizontal) + axisMinSliderZ.setMinimum(0) + axisMinSliderZ.setTickInterval(1) + axisMinSliderZ.setEnabled(True) + axisMaxSliderZ = QSlider(Qt.Horizontal) + axisMaxSliderZ.setMinimum(1) + axisMaxSliderZ.setTickInterval(1) + axisMaxSliderZ.setEnabled(True) + axisVBox = QVBoxLayout(axisGroupBox) + axisVBox.addWidget(QLabel("Column range")) + axisVBox.addWidget(axisMinSliderX) + axisVBox.addWidget(axisMaxSliderX) + axisVBox.addWidget(QLabel("Row range")) + axisVBox.addWidget(axisMinSliderZ) + axisVBox.addWidget(axisMaxSliderZ) + # Mode-dependent controls + # sqrt-sin + colorGroupBox = QGroupBox("Custom gradient") + + pixmap = gradientBtoYPB_Pixmap() + gradientBtoYPB = QPushButton(self._surfaceWidget) + gradientBtoYPB.setIcon(QIcon(pixmap)) + gradientBtoYPB.setIconSize(pixmap.size()) + + pixmap = gradientGtoRPB_Pixmap() + gradientGtoRPB = QPushButton(self._surfaceWidget) + gradientGtoRPB.setIcon(QIcon(pixmap)) + gradientGtoRPB.setIconSize(pixmap.size()) + + colorHBox = QHBoxLayout(colorGroupBox) + colorHBox.addWidget(gradientBtoYPB) + colorHBox.addWidget(gradientGtoRPB) + # Multiseries heightmap + showGroupBox = QGroupBox("Show Object") + showGroupBox.setVisible(False) + checkboxShowOilRigOne = QCheckBox("Oil Rig 1") + checkboxShowOilRigOne.setChecked(True) + checkboxShowOilRigTwo = QCheckBox("Oil Rig 2") + checkboxShowOilRigTwo.setChecked(True) + checkboxShowRefinery = QCheckBox("Refinery") + showVBox = QVBoxLayout() + showVBox.addWidget(checkboxShowOilRigOne) + showVBox.addWidget(checkboxShowOilRigTwo) + showVBox.addWidget(checkboxShowRefinery) + showGroupBox.setLayout(showVBox) + visualsGroupBox = QGroupBox("Visuals") + visualsGroupBox.setVisible(False) + checkboxVisualsSeeThrough = QCheckBox("See-Through") + checkboxHighlightOil = QCheckBox("Highlight Oil") + checkboxShowShadows = QCheckBox("Shadows") + checkboxShowShadows.setChecked(True) + visualVBox = QVBoxLayout(visualsGroupBox) + visualVBox.addWidget(checkboxVisualsSeeThrough) + visualVBox.addWidget(checkboxHighlightOil) + visualVBox.addWidget(checkboxShowShadows) + labelSelection = QLabel("Selection:") + labelSelection.setVisible(False) + labelSelectedItem = QLabel("Nothing") + labelSelectedItem.setVisible(False) + # Textured topography heightmap + enableTexture = QCheckBox("Surface texture") + enableTexture.setVisible(False) + + label = QLabel(self._surfaceWidget) + label.setPixmap(highlightPixmap()) + heightMapGroupBox = QGroupBox("Highlight color map") + colorMapVBox = QVBoxLayout() + colorMapVBox.addWidget(label) + heightMapGroupBox.setLayout(colorMapVBox) + heightMapGroupBox.setVisible(False) + # Populate vertical layout + # Common + vLayout.addWidget(modelGroupBox) + vLayout.addWidget(selectionGroupBox) + vLayout.addWidget(axisGroupBox) + # Sqrt Sin + vLayout.addWidget(colorGroupBox) + # Multiseries heightmap + vLayout.addWidget(showGroupBox) + vLayout.addWidget(visualsGroupBox) + vLayout.addWidget(labelSelection) + vLayout.addWidget(labelSelectedItem) + # Textured topography + vLayout.addWidget(heightMapGroupBox) + vLayout.addWidget(enableTexture) + # Create the controller + modifier = SurfaceGraphModifier(self._surfaceGraph, labelSelectedItem, self) + # Connect widget controls to controller + heightMapModelRB.toggled.connect(modifier.enableHeightMapModel) + sqrtSinModelRB.toggled.connect(modifier.enableSqrtSinModel) + texturedModelRB.toggled.connect(modifier.enableTopographyModel) + modeNoneRB.toggled.connect(modifier.toggleModeNone) + modeItemRB.toggled.connect(modifier.toggleModeItem) + modeSliceRowRB.toggled.connect(modifier.toggleModeSliceRow) + modeSliceColumnRB.toggled.connect(modifier.toggleModeSliceColumn) + axisMinSliderX.valueChanged.connect(modifier.adjustXMin) + axisMaxSliderX.valueChanged.connect(modifier.adjustXMax) + axisMinSliderZ.valueChanged.connect(modifier.adjustZMin) + axisMaxSliderZ.valueChanged.connect(modifier.adjustZMax) + # Mode dependent connections + gradientBtoYPB.pressed.connect(modifier.setBlackToYellowGradient) + gradientGtoRPB.pressed.connect(modifier.setGreenToRedGradient) + checkboxShowOilRigOne.stateChanged.connect(modifier.toggleItemOne) + checkboxShowOilRigTwo.stateChanged.connect(modifier.toggleItemTwo) + checkboxShowRefinery.stateChanged.connect(modifier.toggleItemThree) + checkboxVisualsSeeThrough.stateChanged.connect(modifier.toggleSeeThrough) + checkboxHighlightOil.stateChanged.connect(modifier.toggleOilHighlight) + checkboxShowShadows.stateChanged.connect(modifier.toggleShadows) + enableTexture.stateChanged.connect(modifier.toggleSurfaceTexture) + # Connections to disable features depending on mode + sqrtSinModelRB.toggled.connect(colorGroupBox.setVisible) + heightMapModelRB.toggled.connect(showGroupBox.setVisible) + heightMapModelRB.toggled.connect(visualsGroupBox.setVisible) + heightMapModelRB.toggled.connect(labelSelection.setVisible) + heightMapModelRB.toggled.connect(labelSelectedItem.setVisible) + texturedModelRB.toggled.connect(enableTexture.setVisible) + texturedModelRB.toggled.connect(heightMapGroupBox.setVisible) + modifier.setAxisMinSliderX(axisMinSliderX) + modifier.setAxisMaxSliderX(axisMaxSliderX) + modifier.setAxisMinSliderZ(axisMinSliderZ) + modifier.setAxisMaxSliderZ(axisMaxSliderZ) + sqrtSinModelRB.setChecked(True) + modeItemRB.setChecked(True) + enableTexture.setChecked(True) + return True + + def surfaceWidget(self): + return self._surfaceWidget diff --git a/examples/datavisualization/graphgallery/surfacegraphmodifier.py b/examples/datavisualization/graphgallery/surfacegraphmodifier.py new file mode 100644 index 0000000..68499fa --- /dev/null +++ b/examples/datavisualization/graphgallery/surfacegraphmodifier.py @@ -0,0 +1,643 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +from math import sqrt, sin +from pathlib import Path + +from PySide6.QtCore import QObject, QPropertyAnimation, Qt, Slot +from PySide6.QtGui import (QColor, QFont, QImage, QLinearGradient, + QQuaternion, QVector3D) +from PySide6.QtDataVisualization import (QAbstract3DGraph, QCustom3DItem, + QCustom3DLabel, + QHeightMapSurfaceDataProxy, + QValue3DAxis, QSurfaceDataItem, + QSurfaceDataProxy, QSurface3DSeries, + Q3DInputHandler, Q3DCamera, Q3DTheme) + + +from highlightseries import HighlightSeries +from topographicseries import TopographicSeries +from custominputhandler import CustomInputHandler + + +SAMPLE_COUNT_X = 150 +SAMPLE_COUNT_Z = 150 +HEIGHTMAP_GRID_STEP_X = 6 +HEIGHTMAP_GRID_STEP_Z = 6 +SAMPLE_MIN = -8.0 +SAMPLE_MAX = 8.0 + +AREA_WIDTH = 8000.0 +AREA_HEIGHT = 8000.0 +ASPECT_RATIO = 0.1389 +MIN_RANGE = AREA_WIDTH * 0.49 + + +class SurfaceGraphModifier(QObject): + + def __init__(self, surface, label, parent): + super().__init__(parent) + self._data_path = Path(__file__).resolve().parent / "data" + self._graph = surface + self._textField = label + self._sqrtSinProxy = None + self._sqrtSinSeries = None + self._heightMapProxyOne = None + self._heightMapProxyTwo = None + self._heightMapProxyThree = None + self._heightMapSeriesOne = None + self._heightMapSeriesTwo = None + self._heightMapSeriesThree = None + + self._axisMinSliderX = None + self._axisMaxSliderX = None + self._axisMinSliderZ = None + self._axisMaxSliderZ = None + self._rangeMinX = 0.0 + self._rangeMinZ = 0.0 + self._stepX = 0.0 + self._stepZ = 0.0 + self._heightMapWidth = 0 + self._heightMapHeight = 0 + + self._selectionAnimation = None + self._titleLabel = None + self._previouslyAnimatedItem = None + self._previousScaling = {} + + self._topography = None + self._highlight = None + self._highlightWidth = 0 + self._highlightHeight = 0 + + self._customInputHandler = None + self._defaultInputHandler = Q3DInputHandler() + + ac = self._graph.scene().activeCamera() + ac.setZoomLevel(85.0) + ac.setCameraPreset(Q3DCamera.CameraPresetIsometricRight) + self._graph.activeTheme().setType(Q3DTheme.ThemeRetro) + + self._x_axis = QValue3DAxis() + self._y_axis = QValue3DAxis() + self._z_axis = QValue3DAxis() + self._graph.setAxisX(self._x_axis) + self._graph.setAxisY(self._y_axis) + self._graph.setAxisZ(self._z_axis) + + # + # Sqrt Sin + # + self._sqrtSinProxy = QSurfaceDataProxy() + self._sqrtSinSeries = QSurface3DSeries(self._sqrtSinProxy) + self.fillSqrtSinProxy() + + # + # Multisurface heightmap + # + # Create the first surface layer + heightMapImageOne = QImage(self._data_path / "layer_1.png") + self._heightMapProxyOne = QHeightMapSurfaceDataProxy(heightMapImageOne) + self._heightMapSeriesOne = QSurface3DSeries(self._heightMapProxyOne) + self._heightMapSeriesOne.setItemLabelFormat("(@xLabel, @zLabel): @yLabel") + self._heightMapProxyOne.setValueRanges(34.0, 40.0, 18.0, 24.0) + + # Create the other 2 surface layers + heightMapImageTwo = QImage(self._data_path / "layer_2.png") + self._heightMapProxyTwo = QHeightMapSurfaceDataProxy(heightMapImageTwo) + self._heightMapSeriesTwo = QSurface3DSeries(self._heightMapProxyTwo) + self._heightMapSeriesTwo.setItemLabelFormat("(@xLabel, @zLabel): @yLabel") + self._heightMapProxyTwo.setValueRanges(34.0, 40.0, 18.0, 24.0) + + heightMapImageThree = QImage(self._data_path / "layer_3.png") + self._heightMapProxyThree = QHeightMapSurfaceDataProxy(heightMapImageThree) + self._heightMapSeriesThree = QSurface3DSeries(self._heightMapProxyThree) + self._heightMapSeriesThree.setItemLabelFormat("(@xLabel, @zLabel): @yLabel") + self._heightMapProxyThree.setValueRanges(34.0, 40.0, 18.0, 24.0) + + # The images are the same size, so it's enough to get the dimensions + # from one + self._heightMapWidth = heightMapImageOne.width() + self._heightMapHeight = heightMapImageOne.height() + + # Set the gradients for multi-surface layers + grOne = QLinearGradient() + grOne.setColorAt(0.0, Qt.black) + grOne.setColorAt(0.38, Qt.darkYellow) + grOne.setColorAt(0.39, Qt.darkGreen) + grOne.setColorAt(0.5, Qt.darkGray) + grOne.setColorAt(1.0, Qt.gray) + self._heightMapSeriesOne.setBaseGradient(grOne) + self._heightMapSeriesOne.setColorStyle(Q3DTheme.ColorStyleRangeGradient) + + grTwo = QLinearGradient() + grTwo.setColorAt(0.39, Qt.blue) + grTwo.setColorAt(0.4, Qt.white) + self._heightMapSeriesTwo.setBaseGradient(grTwo) + self._heightMapSeriesTwo.setColorStyle(Q3DTheme.ColorStyleRangeGradient) + + grThree = QLinearGradient() + grThree.setColorAt(0.0, Qt.white) + grThree.setColorAt(0.05, Qt.black) + self._heightMapSeriesThree.setBaseGradient(grThree) + self._heightMapSeriesThree.setColorStyle(Q3DTheme.ColorStyleRangeGradient) + + # Custom items and label + self._graph.selectedElementChanged.connect(self.handleElementSelected) + + self._selectionAnimation = QPropertyAnimation(self) + self._selectionAnimation.setPropertyName(b"scaling") + self._selectionAnimation.setDuration(500) + self._selectionAnimation.setLoopCount(-1) + + titleFont = QFont("Century Gothic", 30) + titleFont.setBold(True) + self._titleLabel = QCustom3DLabel("Oil Rigs on Imaginary Sea", titleFont, + QVector3D(0.0, 1.2, 0.0), + QVector3D(1.0, 1.0, 0.0), + QQuaternion()) + self._titleLabel.setPositionAbsolute(True) + self._titleLabel.setFacingCamera(True) + self._titleLabel.setBackgroundColor(QColor(0x66cdaa)) + self._graph.addCustomItem(self._titleLabel) + self._titleLabel.setVisible(False) + + # Make two of the custom object visible + self.toggleItemOne(True) + self.toggleItemTwo(True) + + # + # Topographic map + # + self._topography = TopographicSeries() + file_name = os.fspath(self._data_path / "topography.png") + self._topography.setTopographyFile(file_name, AREA_WIDTH, AREA_HEIGHT) + self._topography.setItemLabelFormat("@yLabel m") + + self._highlight = HighlightSeries() + self._highlight.setTopographicSeries(self._topography) + self._highlight.setMinHeight(MIN_RANGE * ASPECT_RATIO) + self._highlight.handleGradientChange(AREA_WIDTH * ASPECT_RATIO) + self._graph.axisY().maxChanged.connect(self._highlight.handleGradientChange) + + self._customInputHandler = CustomInputHandler(self._graph) + self._customInputHandler.setHighlightSeries(self._highlight) + self._customInputHandler.setAxes(self._x_axis, self._y_axis, self._z_axis) + self._customInputHandler.setLimits(0.0, AREA_WIDTH, MIN_RANGE) + self._customInputHandler.setAspectRatio(ASPECT_RATIO) + + def fillSqrtSinProxy(self): + stepX = (SAMPLE_MAX - SAMPLE_MIN) / float(SAMPLE_COUNT_X - 1) + stepZ = (SAMPLE_MAX - SAMPLE_MIN) / float(SAMPLE_COUNT_Z - 1) + + dataArray = [] + for i in range(0, SAMPLE_COUNT_Z): + newRow = [] + # Keep values within range bounds, since just adding step can + # cause minor drift due to the rounding errors. + z = min(SAMPLE_MAX, (i * stepZ + SAMPLE_MIN)) + for j in range(0, SAMPLE_COUNT_X): + x = min(SAMPLE_MAX, (j * stepX + SAMPLE_MIN)) + R = sqrt(z * z + x * x) + 0.01 + y = (sin(R) / R + 0.24) * 1.61 + item = QSurfaceDataItem(QVector3D(x, y, z)) + newRow.append(item) + dataArray.append(newRow) + self._sqrtSinProxy.resetArray(dataArray) + + @Slot(bool) + def enableSqrtSinModel(self, enable): + if enable: + self._sqrtSinSeries.setDrawMode(QSurface3DSeries.DrawSurfaceAndWireframe) + self._sqrtSinSeries.setFlatShadingEnabled(True) + + self._graph.axisX().setLabelFormat("%.2f") + self._graph.axisZ().setLabelFormat("%.2f") + self._graph.axisX().setRange(SAMPLE_MIN, SAMPLE_MAX) + self._graph.axisY().setRange(0.0, 2.0) + self._graph.axisZ().setRange(SAMPLE_MIN, SAMPLE_MAX) + self._graph.axisX().setLabelAutoRotation(30.0) + self._graph.axisY().setLabelAutoRotation(90.0) + self._graph.axisZ().setLabelAutoRotation(30.0) + + self._graph.removeSeries(self._heightMapSeriesOne) + self._graph.removeSeries(self._heightMapSeriesTwo) + self._graph.removeSeries(self._heightMapSeriesThree) + self._graph.removeSeries(self._topography) + self._graph.removeSeries(self._highlight) + + self._graph.addSeries(self._sqrtSinSeries) + + self._titleLabel.setVisible(False) + self._graph.axisX().setTitleVisible(False) + self._graph.axisY().setTitleVisible(False) + self._graph.axisZ().setTitleVisible(False) + + self._graph.axisX().setTitle("") + self._graph.axisY().setTitle("") + self._graph.axisZ().setTitle("") + + self._graph.setActiveInputHandler(self._defaultInputHandler) + + # Reset range sliders for Sqrt & Sin + self._rangeMinX = SAMPLE_MIN + self._rangeMinZ = SAMPLE_MIN + self._stepX = (SAMPLE_MAX - SAMPLE_MIN) / float(SAMPLE_COUNT_X - 1) + self._stepZ = (SAMPLE_MAX - SAMPLE_MIN) / float(SAMPLE_COUNT_Z - 1) + self._axisMinSliderX.setMinimum(0) + self._axisMinSliderX.setMaximum(SAMPLE_COUNT_X - 2) + self._axisMinSliderX.setValue(0) + self._axisMaxSliderX.setMinimum(1) + self._axisMaxSliderX.setMaximum(SAMPLE_COUNT_X - 1) + self._axisMaxSliderX.setValue(SAMPLE_COUNT_X - 1) + self._axisMinSliderZ.setMinimum(0) + self._axisMinSliderZ.setMaximum(SAMPLE_COUNT_Z - 2) + self._axisMinSliderZ.setValue(0) + self._axisMaxSliderZ.setMinimum(1) + self._axisMaxSliderZ.setMaximum(SAMPLE_COUNT_Z - 1) + self._axisMaxSliderZ.setValue(SAMPLE_COUNT_Z - 1) + + @Slot(bool) + def enableHeightMapModel(self, enable): + if enable: + self._heightMapSeriesOne.setDrawMode(QSurface3DSeries.DrawSurface) + self._heightMapSeriesOne.setFlatShadingEnabled(False) + self._heightMapSeriesTwo.setDrawMode(QSurface3DSeries.DrawSurface) + self._heightMapSeriesTwo.setFlatShadingEnabled(False) + self._heightMapSeriesThree.setDrawMode(QSurface3DSeries.DrawSurface) + self._heightMapSeriesThree.setFlatShadingEnabled(False) + + self._graph.axisX().setLabelFormat("%.1f N") + self._graph.axisZ().setLabelFormat("%.1f E") + self._graph.axisX().setRange(34.0, 40.0) + self._graph.axisY().setAutoAdjustRange(True) + self._graph.axisZ().setRange(18.0, 24.0) + + self._graph.axisX().setTitle("Latitude") + self._graph.axisY().setTitle("Height") + self._graph.axisZ().setTitle("Longitude") + + self._graph.removeSeries(self._sqrtSinSeries) + self._graph.removeSeries(self._topography) + self._graph.removeSeries(self._highlight) + self._graph.addSeries(self._heightMapSeriesOne) + self._graph.addSeries(self._heightMapSeriesTwo) + self._graph.addSeries(self._heightMapSeriesThree) + + self._graph.setActiveInputHandler(self._defaultInputHandler) + + self._titleLabel.setVisible(True) + self._graph.axisX().setTitleVisible(True) + self._graph.axisY().setTitleVisible(True) + self._graph.axisZ().setTitleVisible(True) + + # Reset range sliders for height map + mapGridCountX = self._heightMapWidth / HEIGHTMAP_GRID_STEP_X + mapGridCountZ = self._heightMapHeight / HEIGHTMAP_GRID_STEP_Z + self._rangeMinX = 34.0 + self._rangeMinZ = 18.0 + self._stepX = 6.0 / float(mapGridCountX - 1) + self._stepZ = 6.0 / float(mapGridCountZ - 1) + self._axisMinSliderX.setMinimum(0) + self._axisMinSliderX.setMaximum(mapGridCountX - 2) + self._axisMinSliderX.setValue(0) + self._axisMaxSliderX.setMinimum(1) + self._axisMaxSliderX.setMaximum(mapGridCountX - 1) + self._axisMaxSliderX.setValue(mapGridCountX - 1) + self._axisMinSliderZ.setMinimum(0) + self._axisMinSliderZ.setMaximum(mapGridCountZ - 2) + self._axisMinSliderZ.setValue(0) + self._axisMaxSliderZ.setMinimum(1) + self._axisMaxSliderZ.setMaximum(mapGridCountZ - 1) + self._axisMaxSliderZ.setValue(mapGridCountZ - 1) + + @Slot(bool) + def enableTopographyModel(self, enable): + if enable: + self._graph.axisX().setLabelFormat("%i") + self._graph.axisZ().setLabelFormat("%i") + self._graph.axisX().setRange(0.0, AREA_WIDTH) + self._graph.axisY().setRange(100.0, AREA_WIDTH * ASPECT_RATIO) + self._graph.axisZ().setRange(0.0, AREA_HEIGHT) + self._graph.axisX().setLabelAutoRotation(30.0) + self._graph.axisY().setLabelAutoRotation(90.0) + self._graph.axisZ().setLabelAutoRotation(30.0) + + self._graph.removeSeries(self._heightMapSeriesOne) + self._graph.removeSeries(self._heightMapSeriesTwo) + self._graph.removeSeries(self._heightMapSeriesThree) + self._graph.addSeries(self._topography) + self._graph.addSeries(self._highlight) + + self._titleLabel.setVisible(False) + self._graph.axisX().setTitleVisible(False) + self._graph.axisY().setTitleVisible(False) + self._graph.axisZ().setTitleVisible(False) + + self._graph.axisX().setTitle("") + self._graph.axisY().setTitle("") + self._graph.axisZ().setTitle("") + + self._graph.setActiveInputHandler(self._customInputHandler) + + # Reset range sliders for topography map + self._rangeMinX = 0.0 + self._rangeMinZ = 0.0 + self._stepX = 1.0 + self._stepZ = 1.0 + self._axisMinSliderX.setMinimum(0) + self._axisMinSliderX.setMaximum(AREA_WIDTH - 200) + self._axisMinSliderX.setValue(0) + self._axisMaxSliderX.setMinimum(200) + self._axisMaxSliderX.setMaximum(AREA_WIDTH) + self._axisMaxSliderX.setValue(AREA_WIDTH) + self._axisMinSliderZ.setMinimum(0) + self._axisMinSliderZ.setMaximum(AREA_HEIGHT - 200) + self._axisMinSliderZ.setValue(0) + self._axisMaxSliderZ.setMinimum(200) + self._axisMaxSliderZ.setMaximum(AREA_HEIGHT) + self._axisMaxSliderZ.setValue(AREA_HEIGHT) + + def adjustXMin(self, min): + minX = self._stepX * float(min) + self._rangeMinX + + max = self._axisMaxSliderX.value() + if min >= max: + max = min + 1 + self._axisMaxSliderX.setValue(max) + + maxX = self._stepX * max + self._rangeMinX + + self.setAxisXRange(minX, maxX) + + def adjustXMax(self, max): + maxX = self._stepX * float(max) + self._rangeMinX + + min = self._axisMinSliderX.value() + if max <= min: + min = max - 1 + self._axisMinSliderX.setValue(min) + + minX = self._stepX * min + self._rangeMinX + + self.setAxisXRange(minX, maxX) + + def adjustZMin(self, min): + minZ = self._stepZ * float(min) + self._rangeMinZ + + max = self._axisMaxSliderZ.value() + if min >= max: + max = min + 1 + self._axisMaxSliderZ.setValue(max) + + maxZ = self._stepZ * max + self._rangeMinZ + + self.setAxisZRange(minZ, maxZ) + + def adjustZMax(self, max): + maxX = self._stepZ * float(max) + self._rangeMinZ + + min = self._axisMinSliderZ.value() + if max <= min: + min = max - 1 + self._axisMinSliderZ.setValue(min) + + minX = self._stepZ * min + self._rangeMinZ + + self.setAxisZRange(minX, maxX) + + def setAxisXRange(self, min, max): + self._graph.axisX().setRange(min, max) + + def setAxisZRange(self, min, max): + self._graph.axisZ().setRange(min, max) + + def setBlackToYellowGradient(self): + gr = QLinearGradient() + gr.setColorAt(0.0, Qt.black) + gr.setColorAt(0.33, Qt.blue) + gr.setColorAt(0.67, Qt.red) + gr.setColorAt(1.0, Qt.yellow) + + self._sqrtSinSeries.setBaseGradient(gr) + self._sqrtSinSeries.setColorStyle(Q3DTheme.ColorStyleRangeGradient) + + def setGreenToRedGradient(self): + gr = QLinearGradient() + gr.setColorAt(0.0, Qt.darkGreen) + gr.setColorAt(0.5, Qt.yellow) + gr.setColorAt(0.8, Qt.red) + gr.setColorAt(1.0, Qt.darkRed) + + self._sqrtSinSeries.setBaseGradient(gr) + self._sqrtSinSeries.setColorStyle(Q3DTheme.ColorStyleRangeGradient) + + @Slot(bool) + def toggleItemOne(self, show): + positionOne = QVector3D(39.0, 77.0, 19.2) + positionOnePipe = QVector3D(39.0, 45.0, 19.2) + positionOneLabel = QVector3D(39.0, 107.0, 19.2) + if show: + color = QImage(2, 2, QImage.Format_RGB32) + color.fill(Qt.red) + file_name = os.fspath(self._data_path / "oilrig.obj") + item = QCustom3DItem(file_name, positionOne, + QVector3D(0.025, 0.025, 0.025), + QQuaternion.fromAxisAndAngle(0.0, 1.0, 0.0, 45.0), + color) + self._graph.addCustomItem(item) + file_name = os.fspath(self._data_path / "pipe.obj") + item = QCustom3DItem(file_name, positionOnePipe, + QVector3D(0.005, 0.5, 0.005), QQuaternion(), + color) + item.setShadowCasting(False) + self._graph.addCustomItem(item) + + label = QCustom3DLabel() + label.setText("Oil Rig One") + label.setPosition(positionOneLabel) + label.setScaling(QVector3D(1.0, 1.0, 1.0)) + self._graph.addCustomItem(label) + else: + self.resetSelection() + self._graph.removeCustomItemAt(positionOne) + self._graph.removeCustomItemAt(positionOnePipe) + self._graph.removeCustomItemAt(positionOneLabel) + + @Slot(bool) + def toggleItemTwo(self, show): + positionTwo = QVector3D(34.5, 77.0, 23.4) + positionTwoPipe = QVector3D(34.5, 45.0, 23.4) + positionTwoLabel = QVector3D(34.5, 107.0, 23.4) + if show: + color = QImage(2, 2, QImage.Format_RGB32) + color.fill(Qt.red) + item = QCustom3DItem() + file_name = os.fspath(self._data_path / "oilrig.obj") + item.setMeshFile(file_name) + item.setPosition(positionTwo) + item.setScaling(QVector3D(0.025, 0.025, 0.025)) + item.setRotation(QQuaternion.fromAxisAndAngle(0.0, 1.0, 0.0, 25.0)) + item.setTextureImage(color) + self._graph.addCustomItem(item) + file_name = os.fspath(self._data_path / "pipe.obj") + item = QCustom3DItem(file_name, positionTwoPipe, + QVector3D(0.005, 0.5, 0.005), QQuaternion(), + color) + item.setShadowCasting(False) + self._graph.addCustomItem(item) + + label = QCustom3DLabel() + label.setText("Oil Rig Two") + label.setPosition(positionTwoLabel) + label.setScaling(QVector3D(1.0, 1.0, 1.0)) + self._graph.addCustomItem(label) + else: + self.resetSelection() + self._graph.removeCustomItemAt(positionTwo) + self._graph.removeCustomItemAt(positionTwoPipe) + self._graph.removeCustomItemAt(positionTwoLabel) + + @Slot(bool) + def toggleItemThree(self, show): + positionThree = QVector3D(34.5, 86.0, 19.1) + positionThreeLabel = QVector3D(34.5, 116.0, 19.1) + if show: + color = QImage(2, 2, QImage.Format_RGB32) + color.fill(Qt.darkMagenta) + item = QCustom3DItem() + file_name = os.fspath(self._data_path / "refinery.obj") + item.setMeshFile(file_name) + item.setPosition(positionThree) + item.setScaling(QVector3D(0.04, 0.04, 0.04)) + item.setRotation(QQuaternion.fromAxisAndAngle(0.0, 1.0, 0.0, 75.0)) + item.setTextureImage(color) + self._graph.addCustomItem(item) + + label = QCustom3DLabel() + label.setText("Refinery") + label.setPosition(positionThreeLabel) + label.setScaling(QVector3D(1.0, 1.0, 1.0)) + self._graph.addCustomItem(label) + else: + self.resetSelection() + self._graph.removeCustomItemAt(positionThree) + self._graph.removeCustomItemAt(positionThreeLabel) + + @Slot(bool) + def toggleSeeThrough(self, seethrough): + s0 = self._graph.seriesList()[0] + s1 = self._graph.seriesList()[1] + if seethrough: + s0.setDrawMode(QSurface3DSeries.DrawWireframe) + s1.setDrawMode(QSurface3DSeries.DrawWireframe) + else: + s0.setDrawMode(QSurface3DSeries.DrawSurface) + s1.setDrawMode(QSurface3DSeries.DrawSurface) + + @Slot(bool) + def toggleOilHighlight(self, highlight): + s2 = self._graph.seriesList()[2] + if highlight: + grThree = QLinearGradient() + grThree.setColorAt(0.0, Qt.black) + grThree.setColorAt(0.05, Qt.red) + s2.setBaseGradient(grThree) + else: + grThree = QLinearGradient() + grThree.setColorAt(0.0, Qt.white) + grThree.setColorAt(0.05, Qt.black) + s2.setBaseGradient(grThree) + + @Slot(bool) + def toggleShadows(self, shadows): + sq = (QAbstract3DGraph.ShadowQualityMedium + if shadows else QAbstract3DGraph.ShadowQualityNone) + self._graph.setShadowQuality(sq) + + @Slot(bool) + def toggleSurfaceTexture(self, enable): + if enable: + file_name = os.fspath(self._data_path / "maptexture.jpg") + self._topography.setTextureFile(file_name) + else: + self._topography.setTextureFile("") + + def handleElementSelected(self, type): + self.resetSelection() + if type == QAbstract3DGraph.ElementCustomItem: + item = self._graph.selectedCustomItem() + text = "" + if isinstance(item, QCustom3DItem): + text += "Custom label: " + else: + file = item.meshFile().split("/")[-1] + text += f"{file}: " + + text += str(self._graph.selectedCustomItemIndex()) + self._textField.setText(text) + self._previouslyAnimatedItem = item + self._previousScaling = item.scaling() + self._selectionAnimation.setTargetObject(item) + self._selectionAnimation.setStartValue(item.scaling()) + self._selectionAnimation.setEndValue(item.scaling() * 1.5) + self._selectionAnimation.start() + elif type == QAbstract3DGraph.ElementSeries: + text = "Surface (" + series = self._graph.selectedSeries() + if series: + point = series.selectedPoint() + text += f"{point.x()}, {point.y()}" + text += ")" + self._textField.setText(text) + elif (type.value > QAbstract3DGraph.ElementSeries.value + and type < QAbstract3DGraph.ElementCustomItem.value): + index = self._graph.selectedLabelIndex() + text = "" + if type == QAbstract3DGraph.ElementAxisXLabel: + text += "Axis X label: " + elif type == QAbstract3DGraph.ElementAxisYLabel: + text += "Axis Y label: " + else: + text += "Axis Z label: " + text += str(index) + self._textField.setText(text) + else: + self._textField.setText("Nothing") + + def resetSelection(self): + self._selectionAnimation.stop() + if self._previouslyAnimatedItem: + self._previouslyAnimatedItem.setScaling(self._previousScaling) + self._previouslyAnimatedItem = None + + def toggleModeNone(self): + self._graph.setSelectionMode(QAbstract3DGraph.SelectionNone) + + def toggleModeItem(self): + self._graph.setSelectionMode(QAbstract3DGraph.SelectionItem) + + def toggleModeSliceRow(self): + sm = (QAbstract3DGraph.SelectionItemAndRow + | QAbstract3DGraph.SelectionSlice + | QAbstract3DGraph.SelectionMultiSeries) + self._graph.setSelectionMode(sm) + + def toggleModeSliceColumn(self): + sm = (QAbstract3DGraph.SelectionItemAndColumn + | QAbstract3DGraph.SelectionSlice + | QAbstract3DGraph.SelectionMultiSeries) + self._graph.setSelectionMode(sm) + + def setAxisMinSliderX(self, slider): + self._axisMinSliderX = slider + + def setAxisMaxSliderX(self, slider): + self._axisMaxSliderX = slider + + def setAxisMinSliderZ(self, slider): + self._axisMinSliderZ = slider + + def setAxisMaxSliderZ(self, slider): + self._axisMaxSliderZ = slider diff --git a/examples/datavisualization/graphgallery/topographicseries.py b/examples/datavisualization/graphgallery/topographicseries.py new file mode 100644 index 0000000..350edcb --- /dev/null +++ b/examples/datavisualization/graphgallery/topographicseries.py @@ -0,0 +1,57 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Qt +from PySide6.QtGui import QImage, QVector3D +from PySide6.QtDataVisualization import (QSurface3DSeries, QSurfaceDataItem) + + +# Value used to encode height data as RGB value on PNG file +PACKING_FACTOR = 11983.0 + + +class TopographicSeries(QSurface3DSeries): + + def __init__(self): + super().__init__() + self._sampleCountX = 0.0 + self._sampleCountZ = 0.0 + self.setDrawMode(QSurface3DSeries.DrawSurface) + self.setFlatShadingEnabled(True) + self.setBaseColor(Qt.white) + + def sampleCountX(self): + return self._sampleCountX + + def sampleCountZ(self): + return self._sampleCountZ + + def setTopographyFile(self, file, width, height): + heightMapImage = QImage(file) + bits = heightMapImage.bits() + imageHeight = heightMapImage.height() + imageWidth = heightMapImage.width() + widthBits = imageWidth * 4 + stepX = width / float(imageWidth) + stepZ = height / float(imageHeight) + + dataArray = [] + for i in range(0, imageHeight): + p = i * widthBits + z = height - float(i) * stepZ + newRow = [] + for j in range(0, imageWidth): + aa = bits[p + 0] + rr = bits[p + 1] + gg = bits[p + 2] + color = (gg << 16) + (rr << 8) + aa + y = float(color) / PACKING_FACTOR + item = QSurfaceDataItem(QVector3D(float(j) * stepX, y, z)) + newRow.append(item) + p += 4 + dataArray.append(newRow) + + self.dataProxy().resetArray(dataArray) + + self._sampleCountX = float(imageWidth) + self._sampleCountZ = float(imageHeight) diff --git a/examples/datavisualization/graphgallery/variantbardatamapping.py b/examples/datavisualization/graphgallery/variantbardatamapping.py new file mode 100644 index 0000000..50bdefa --- /dev/null +++ b/examples/datavisualization/graphgallery/variantbardatamapping.py @@ -0,0 +1,67 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QObject, Signal + + +class VariantBarDataMapping(QObject): + + rowIndexChanged = Signal() + columnIndexChanged = Signal() + valueIndexChanged = Signal() + rowCategoriesChanged = Signal() + columnCategoriesChanged = Signal() + mappingChanged = Signal() + + def __init__(self, rowIndex, columnIndex, valueIndex, + rowCategories=[], columnCategories=[]): + super().__init__(None) + self._rowIndex = rowIndex + self._columnIndex = columnIndex + self._valueIndex = valueIndex + self._rowCategories = rowCategories + self._columnCategories = columnCategories + + def setRowIndex(self, index): + self._rowIndex = index + self.mappingChanged.emit() + + def rowIndex(self): + return self._rowIndex + + def setColumnIndex(self, index): + self._columnIndex = index + self.mappingChanged.emit() + + def columnIndex(self): + return self._columnIndex + + def setValueIndex(self, index): + self._valueIndex = index + self.mappingChanged.emit() + + def valueIndex(self): + return self._valueIndex + + def setRowCategories(self, categories): + self._rowCategories = categories + self.mappingChanged.emit() + + def rowCategories(self): + return self._rowCategories + + def setColumnCategories(self, categories): + self._columnCategories = categories + self.mappingChanged.emit() + + def columnCategories(self): + return self._columnCategories + + def remap(self, rowIndex, columnIndex, valueIndex, + rowCategories=[], columnCategories=[]): + self._rowIndex = rowIndex + self._columnIndex = columnIndex + self._valueIndex = valueIndex + self._rowCategories = rowCategories + self._columnCategories = columnCategories + self.mappingChanged.emit() diff --git a/examples/datavisualization/graphgallery/variantbardataproxy.py b/examples/datavisualization/graphgallery/variantbardataproxy.py new file mode 100644 index 0000000..2b6f5d8 --- /dev/null +++ b/examples/datavisualization/graphgallery/variantbardataproxy.py @@ -0,0 +1,100 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Slot +from PySide6.QtDataVisualization import QBarDataProxy, QBarDataItem + + +class VariantBarDataProxy(QBarDataProxy): + + def __init__(self): + super().__init__() + self._dataSet = None + self._mapping = None + + def setDataSet(self, newSet): + if self._dataSet: + self._dataSet.itemsAdded.disconnect(self.handleItemsAdded) + self._dataSet.dataCleared.disconnect(self.handleDataCleared) + + self._dataSet = newSet + + if self._dataSet: + self._dataSet.itemsAdded.connect(self.handleItemsAdded) + self._dataSet.dataCleared.connect(self.handleDataCleared) + self.resolveDataSet() + + def dataSet(self): + return self._dataSet.data() + + # Map key (row, column, value) to value index in data item (VariantItem). + # Doesn't gain ownership of mapping, but does connect to it to listen for + # mapping changes. Modifying mapping that is set to proxy will trigger + # dataset re-resolving. + def setMapping(self, mapping): + if self._mapping: + self._mapping.mappingChanged.disconnect(self.handleMappingChanged) + + self._mapping = mapping + + if self._mapping: + self._mapping.mappingChanged.connect(self.handleMappingChanged) + + self.resolveDataSet() + + def mapping(self): + return self._mapping.data() + + @Slot(int, int) + def handleItemsAdded(self, index, count): + # Resolve new items + self.resolveDataSet() + + @Slot() + def handleDataCleared(self): + # Data cleared, reset array + self.resetArray(None) + + @Slot() + def handleMappingChanged(self): + self.resolveDataSet() + + # Resolve entire dataset into QBarDataArray. + def resolveDataSet(self): + # If we have no data or mapping, or the categories are not defined, + # simply clear the array + if (not self._dataSet or not self._mapping + or not self._mapping.rowCategories() + or not self._mapping.columnCategories()): + self.resetArray() + return + + itemList = self._dataSet.itemList() + + rowIndex = self._mapping.rowIndex() + columnIndex = self._mapping.columnIndex() + valueIndex = self._mapping.valueIndex() + rowList = self._mapping.rowCategories() + columnList = self._mapping.columnCategories() + + # Sort values into rows and columns + itemValueMap = {} + for item in itemList: + key = str(item[rowIndex]) + v = itemValueMap.get(key) + if not v: + v = {} + itemValueMap[key] = v + v[str(item[columnIndex])] = float(item[valueIndex]) + + # Create a new data array in format the parent class understands + newProxyArray = [] + for rowKey in rowList: + newProxyRow = [] + for i in range(0, len(columnList)): + item = QBarDataItem(itemValueMap[rowKey][columnList[i]]) + newProxyRow.append(item) + newProxyArray.append(newProxyRow) + + # Finally, reset the data array in the parent class + self.resetArray(newProxyArray) diff --git a/examples/datavisualization/graphgallery/variantdataset.py b/examples/datavisualization/graphgallery/variantdataset.py new file mode 100644 index 0000000..752bc38 --- /dev/null +++ b/examples/datavisualization/graphgallery/variantdataset.py @@ -0,0 +1,39 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QObject, Signal + + +class VariantDataSet(QObject): + + itemsAdded = Signal(int, int) + dataCleared = Signal() + + def __init__(self): + super().__init__() + self._variantData = [] + + def clear(self): + for item in self._variantData: + item.clear() + del item + + self._variantData.clear() + self.dataCleared.emit() + + def addItem(self, item): + self._variantData.append(item) + addIndex = len(self._variantData) + + self.itemsAdded.emit(addIndex, 1) + return addIndex + + def addItems(self, itemList): + newCount = len(itemList) + addIndex = len(self._variantData) + self._variantData.extend(itemList) + self.itemsAdded.emit(addIndex, newCount) + return addIndex + + def itemList(self): + return self._variantData diff --git a/examples/datavisualization/minimalsurface/doc/minimalsurface.rst b/examples/datavisualization/minimalsurface/doc/minimalsurface.rst new file mode 100644 index 0000000..bfc7a04 --- /dev/null +++ b/examples/datavisualization/minimalsurface/doc/minimalsurface.rst @@ -0,0 +1,4 @@ +Minimal Surface Example +======================= + +The example shows the minimal code to create a surface. diff --git a/examples/datavisualization/minimalsurface/main.py b/examples/datavisualization/minimalsurface/main.py new file mode 100644 index 0000000..db720dc --- /dev/null +++ b/examples/datavisualization/minimalsurface/main.py @@ -0,0 +1,54 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +import sys + +from PySide6.QtCore import QSize, Qt +from PySide6.QtGui import QGuiApplication, QVector3D +from PySide6.QtDataVisualization import (Q3DSurface, QSurfaceDataItem, + QSurface3DSeries) + + +DESCRIPTION = """Minimal Qt DataVisualization Surface Example + +Use the mouse wheel to zoom. Rotate using the right mouse button. +""" + + +if __name__ == '__main__': + os.environ["QSG_RHI_BACKEND"] = "opengl" + app = QGuiApplication(sys.argv) + + print(DESCRIPTION) + + surface = Q3DSurface() + surface.setFlags(surface.flags() ^ Qt.FramelessWindowHint) + axis = surface.axisX() + axis.setTitle("X") + axis.setTitleVisible(True) + axis = surface.axisY() + axis.setTitle("Y") + axis.setTitleVisible(True) + axis = surface.axisZ() + axis.setTitle("Z") + axis.setTitleVisible(True) + + data = [] + data_row1 = [QSurfaceDataItem(QVector3D(0, 0.1, 0.5)), + QSurfaceDataItem(QVector3D(1, 0.5, 0.5))] + data.append(data_row1) + data_row2 = [QSurfaceDataItem(QVector3D(0, 1.8, 1)), + QSurfaceDataItem(QVector3D(1, 1.2, 1))] + data.append(data_row2) + + series = QSurface3DSeries() + series.dataProxy().resetArray(data) + surface.addSeries(series) + + available_height = app.primaryScreen().availableGeometry().height() + width = available_height * 4 / 5 + surface.resize(QSize(width, width)) + surface.show() + + sys.exit(app.exec()) diff --git a/examples/datavisualization/qmlsurfacegallery/datasource.py b/examples/datavisualization/qmlsurfacegallery/datasource.py new file mode 100644 index 0000000..aca2a6a --- /dev/null +++ b/examples/datavisualization/qmlsurfacegallery/datasource.py @@ -0,0 +1,99 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from math import sin, pi + +from PySide6.QtCore import QObject, QRandomGenerator, Slot +from PySide6.QtQml import QmlElement +from PySide6.QtGui import QVector3D +from PySide6.QtDataVisualization import QSurfaceDataItem, QSurface3DSeries + + +QML_IMPORT_NAME = "SurfaceGallery" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class DataSource(QObject): + + def __init__(self, parent=None): + super().__init__(parent) + self.m_index = -1 + self.m_resetArray = None + self.m_data = [] + + @Slot(int, int, int, float, float, float, float, float, float) + def generateData(self, cacheCount, rowCount, columnCount, + xMin, xMax, yMin, yMax, zMin, zMax): + if not cacheCount or not rowCount or not columnCount: + return + + self.clearData() + + xRange = xMax - xMin + yRange = yMax - yMin + zRange = zMax - zMin + cacheIndexStep = columnCount / cacheCount + cacheStep = float(cacheIndexStep) * xRange / float(columnCount) + + # Populate caches + self.m_data = [] + rand_gen = QRandomGenerator.global_() + for i in range(0, cacheCount): + cache = [] + cacheXAdjustment = cacheStep * i + cacheIndexAdjustment = cacheIndexStep * i + for j in range(0, rowCount): + row = [] + rowMod = (float(j)) / float(rowCount) + yRangeMod = yRange * rowMod + zRangeMod = zRange * rowMod + z = zRangeMod + zMin + rowColWaveAngleMul = pi * pi * rowMod + rowColWaveMul = yRangeMod * 0.2 + for k in range(0, columnCount): + colMod = (float(k)) / float(columnCount) + xRangeMod = xRange * colMod + x = xRangeMod + xMin + cacheXAdjustment + colWave = sin((2.0 * pi * colMod) - (1.0 / 2.0 * pi)) + 1.0 + rand_nr = rand_gen.generateDouble() * 0.15 + y = ((colWave * ((sin(rowColWaveAngleMul * colMod) + 1.0))) + * rowColWaveMul + rand_nr * yRangeMod) + + index = k + cacheIndexAdjustment + if index >= columnCount: + # Wrap over + index -= columnCount + x -= xRange + + row.append(QSurfaceDataItem(QVector3D(x, y, z))) + cache.append(row) + self.m_data.append(cache) + + @Slot(QSurface3DSeries) + def update(self, series): + if series and self.m_data: + # Each iteration uses data from a different cached array + self.m_index += 1 + if self.m_index > len(self.m_data) - 1: + self.m_index = 0 + + array = self.m_data[self.m_index] + newRowCount = len(array) + newColumnCount = len(array[0]) + + # Copy items from our cache to the reset array + self.m_resetArray = [] + for i in range(0, newRowCount): + sourceRow = array[i] + row = [] + for j in range(0, newColumnCount): + row.append(QSurfaceDataItem(sourceRow[j].position())) + self.m_resetArray.append(row) + + # Notify the proxy that data has changed + series.dataProxy().resetArray(self.m_resetArray) + + @Slot() + def clearData(self): + self.m_data = [] diff --git a/examples/datavisualization/qmlsurfacegallery/doc/qmlsurfacegallery.rst b/examples/datavisualization/qmlsurfacegallery/doc/qmlsurfacegallery.rst new file mode 100644 index 0000000..4be2d73 --- /dev/null +++ b/examples/datavisualization/qmlsurfacegallery/doc/qmlsurfacegallery.rst @@ -0,0 +1,9 @@ +Surface Graph Gallery +===================== + +Surface Graph Gallery demonstrates three different custom features with +Surface3D graphs. The features have their own tabs in the application. + +.. image:: qmlsurfacegallery.webp + :width: 600 + :alt: Surface Graph Gallery Screenshot diff --git a/examples/datavisualization/qmlsurfacegallery/doc/qmlsurfacegallery.webp b/examples/datavisualization/qmlsurfacegallery/doc/qmlsurfacegallery.webp new file mode 100644 index 0000000000000000000000000000000000000000..82a43a84ea1b509507fe14258ebb7980ac757a82 GIT binary patch literal 100206 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�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

VrnFveg|?HB`F&+~MKM*X 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 Bpe_Ia literal 0 HcmV?d00001 diff --git a/examples/datavisualization/qmlsurfacegallery/main.py b/examples/datavisualization/qmlsurfacegallery/main.py new file mode 100644 index 0000000..a02e060 --- /dev/null +++ b/examples/datavisualization/qmlsurfacegallery/main.py @@ -0,0 +1,39 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Qt DataVisualization qmlsurfacegallery example from Qt v6.x""" + +import os +import sys +from pathlib import Path + +from PySide6.QtCore import QCoreApplication, QUrl +from PySide6.QtGui import QGuiApplication +from PySide6.QtQuick import QQuickView +from PySide6.QtDataVisualization import qDefaultSurfaceFormat + +from datasource import DataSource +import rc_qmlsurfacegallery + + +if __name__ == "__main__": + os.environ["QSG_RHI_BACKEND"] = "opengl" + app = QGuiApplication(sys.argv) + + viewer = QQuickView() + + # Enable antialiasing in direct rendering mode + viewer.setFormat(qDefaultSurfaceFormat(True)) + + viewer.engine().quit.connect(QCoreApplication.quit) + + viewer.setTitle("Surface Graph Gallery") + + qml_file = Path(__file__).resolve().parent / "qml" / "qmlsurfacegallery" / "main.qml" + viewer.setSource(QUrl.fromLocalFile(qml_file)) + viewer.setResizeMode(QQuickView.SizeRootObjectToView) + viewer.show() + + ex = app.exec() + del viewer + sys.exit(ex) diff --git a/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SpectrogramData.qml b/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SpectrogramData.qml new file mode 100644 index 0000000..6e1b572 --- /dev/null +++ b/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SpectrogramData.qml @@ -0,0 +1,1545 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Item { + property alias model: dataModel + + ListModel { + id: dataModel + ListElement{ radius: "0"; angle: "0"; value: "50"; } + ListElement{ radius: "0"; angle: "5"; value: "54.3578"; } + ListElement{ radius: "0"; angle: "10"; value: "58.6824"; } + ListElement{ radius: "0"; angle: "15"; value: "62.941"; } + ListElement{ radius: "0"; angle: "20"; value: "67.101"; } + ListElement{ radius: "0"; angle: "25"; value: "71.1309"; } + ListElement{ radius: "0"; angle: "30"; value: "75"; } + ListElement{ radius: "0"; angle: "35"; value: "78.6788"; } + ListElement{ radius: "0"; angle: "40"; value: "82.1394"; } + ListElement{ radius: "0"; angle: "45"; value: "85.3553"; } + ListElement{ radius: "0"; angle: "50"; value: "88.3022"; } + ListElement{ radius: "0"; angle: "55"; value: "90.9576"; } + ListElement{ radius: "0"; angle: "60"; value: "93.3013"; } + ListElement{ radius: "0"; angle: "65"; value: "95.3154"; } + ListElement{ radius: "0"; angle: "70"; value: "96.9846"; } + ListElement{ radius: "0"; angle: "75"; value: "98.2963"; } + ListElement{ radius: "0"; angle: "80"; value: "99.2404"; } + ListElement{ radius: "0"; angle: "85"; value: "99.8097"; } + ListElement{ radius: "0"; angle: "90"; value: "100"; } + ListElement{ radius: "0"; angle: "95"; value: "99.8097"; } + ListElement{ radius: "0"; angle: "100"; value: "99.2404"; } + ListElement{ radius: "0"; angle: "105"; value: "98.2963"; } + ListElement{ radius: "0"; angle: "110"; value: "96.9846"; } + ListElement{ radius: "0"; angle: "115"; value: "95.3154"; } + ListElement{ radius: "0"; angle: "120"; value: "93.3013"; } + ListElement{ radius: "0"; angle: "125"; value: "90.9576"; } + ListElement{ radius: "0"; angle: "130"; value: "88.3022"; } + ListElement{ radius: "0"; angle: "135"; value: "85.3553"; } + ListElement{ radius: "0"; angle: "140"; value: "82.1394"; } + ListElement{ radius: "0"; angle: "145"; value: "78.6788"; } + ListElement{ radius: "0"; angle: "150"; value: "75"; } + ListElement{ radius: "0"; angle: "155"; value: "71.1309"; } + ListElement{ radius: "0"; angle: "160"; value: "67.101"; } + ListElement{ radius: "0"; angle: "165"; value: "62.941"; } + ListElement{ radius: "0"; angle: "170"; value: "58.6824"; } + ListElement{ radius: "0"; angle: "175"; value: "54.3578"; } + ListElement{ radius: "0"; angle: "180"; value: "50"; } + ListElement{ radius: "0"; angle: "185"; value: "45.6422"; } + ListElement{ radius: "0"; angle: "190"; value: "41.3176"; } + ListElement{ radius: "0"; angle: "195"; value: "37.059"; } + ListElement{ radius: "0"; angle: "200"; value: "32.899"; } + ListElement{ radius: "0"; angle: "205"; value: "28.8691"; } + ListElement{ radius: "0"; angle: "210"; value: "25"; } + ListElement{ radius: "0"; angle: "215"; value: "21.3212"; } + ListElement{ radius: "0"; angle: "220"; value: "17.8606"; } + ListElement{ radius: "0"; angle: "225"; value: "14.6447"; } + ListElement{ radius: "0"; angle: "230"; value: "11.6978"; } + ListElement{ radius: "0"; angle: "235"; value: "9.0424"; } + ListElement{ radius: "0"; angle: "240"; value: "6.69873"; } + ListElement{ radius: "0"; angle: "245"; value: "4.68461"; } + ListElement{ radius: "0"; angle: "250"; value: "3.01537"; } + ListElement{ radius: "0"; angle: "255"; value: "1.70371"; } + ListElement{ radius: "0"; angle: "260"; value: "0.759612"; } + ListElement{ radius: "0"; angle: "265"; value: "0.190265"; } + ListElement{ radius: "0"; angle: "270"; value: "0"; } + ListElement{ radius: "0"; angle: "275"; value: "0.190265"; } + ListElement{ radius: "0"; angle: "280"; value: "0.759612"; } + ListElement{ radius: "0"; angle: "285"; value: "1.70371"; } + ListElement{ radius: "0"; angle: "290"; value: "3.01537"; } + ListElement{ radius: "0"; angle: "295"; value: "4.68461"; } + ListElement{ radius: "0"; angle: "300"; value: "6.69873"; } + ListElement{ radius: "0"; angle: "305"; value: "9.0424"; } + ListElement{ radius: "0"; angle: "310"; value: "11.6978"; } + ListElement{ radius: "0"; angle: "315"; value: "14.6447"; } + ListElement{ radius: "0"; angle: "320"; value: "17.8606"; } + ListElement{ radius: "0"; angle: "325"; value: "21.3212"; } + ListElement{ radius: "0"; angle: "330"; value: "25"; } + ListElement{ radius: "0"; angle: "335"; value: "28.8691"; } + ListElement{ radius: "0"; angle: "340"; value: "32.899"; } + ListElement{ radius: "0"; angle: "345"; value: "37.059"; } + ListElement{ radius: "0"; angle: "350"; value: "41.3176"; } + ListElement{ radius: "0"; angle: "355"; value: "45.6422"; } + ListElement{ radius: "0"; angle: "360"; value: "50"; } + ListElement{ radius: "5"; angle: "0"; value: "49.3844"; } + ListElement{ radius: "5"; angle: "5"; value: "53.7422"; } + ListElement{ radius: "5"; angle: "10"; value: "58.0668"; } + ListElement{ radius: "5"; angle: "15"; value: "62.3254"; } + ListElement{ radius: "5"; angle: "20"; value: "66.4854"; } + ListElement{ radius: "5"; angle: "25"; value: "70.5153"; } + ListElement{ radius: "5"; angle: "30"; value: "74.3844"; } + ListElement{ radius: "5"; angle: "35"; value: "78.0632"; } + ListElement{ radius: "5"; angle: "40"; value: "81.5238"; } + ListElement{ radius: "5"; angle: "45"; value: "84.7398"; } + ListElement{ radius: "5"; angle: "50"; value: "87.6866"; } + ListElement{ radius: "5"; angle: "55"; value: "90.342"; } + ListElement{ radius: "5"; angle: "60"; value: "92.6857"; } + ListElement{ radius: "5"; angle: "65"; value: "94.6998"; } + ListElement{ radius: "5"; angle: "70"; value: "96.369"; } + ListElement{ radius: "5"; angle: "75"; value: "97.6807"; } + ListElement{ radius: "5"; angle: "80"; value: "98.6248"; } + ListElement{ radius: "5"; angle: "85"; value: "99.1942"; } + ListElement{ radius: "5"; angle: "90"; value: "99.3844"; } + ListElement{ radius: "5"; angle: "95"; value: "99.1942"; } + ListElement{ radius: "5"; angle: "100"; value: "98.6248"; } + ListElement{ radius: "5"; angle: "105"; value: "97.6807"; } + ListElement{ radius: "5"; angle: "110"; value: "96.369"; } + ListElement{ radius: "5"; angle: "115"; value: "94.6998"; } + ListElement{ radius: "5"; angle: "120"; value: "92.6857"; } + ListElement{ radius: "5"; angle: "125"; value: "90.342"; } + ListElement{ radius: "5"; angle: "130"; value: "87.6866"; } + ListElement{ radius: "5"; angle: "135"; value: "84.7398"; } + ListElement{ radius: "5"; angle: "140"; value: "81.5238"; } + ListElement{ radius: "5"; angle: "145"; value: "78.0632"; } + ListElement{ radius: "5"; angle: "150"; value: "74.3844"; } + ListElement{ radius: "5"; angle: "155"; value: "70.5153"; } + ListElement{ radius: "5"; angle: "160"; value: "66.4854"; } + ListElement{ radius: "5"; angle: "165"; value: "62.3254"; } + ListElement{ radius: "5"; angle: "170"; value: "58.0668"; } + ListElement{ radius: "5"; angle: "175"; value: "53.7422"; } + ListElement{ radius: "5"; angle: "180"; value: "49.3844"; } + ListElement{ radius: "5"; angle: "185"; value: "45.0266"; } + ListElement{ radius: "5"; angle: "190"; value: "40.702"; } + ListElement{ radius: "5"; angle: "195"; value: "36.4435"; } + ListElement{ radius: "5"; angle: "200"; value: "32.2834"; } + ListElement{ radius: "5"; angle: "205"; value: "28.2535"; } + ListElement{ radius: "5"; angle: "210"; value: "24.3844"; } + ListElement{ radius: "5"; angle: "215"; value: "20.7056"; } + ListElement{ radius: "5"; angle: "220"; value: "17.245"; } + ListElement{ radius: "5"; angle: "225"; value: "14.0291"; } + ListElement{ radius: "5"; angle: "230"; value: "11.0822"; } + ListElement{ radius: "5"; angle: "235"; value: "8.42681"; } + ListElement{ radius: "5"; angle: "240"; value: "6.08315"; } + ListElement{ radius: "5"; angle: "245"; value: "4.06903"; } + ListElement{ radius: "5"; angle: "250"; value: "2.39979"; } + ListElement{ radius: "5"; angle: "255"; value: "1.08813"; } + ListElement{ radius: "5"; angle: "260"; value: "0.144029"; } + ListElement{ radius: "5"; angle: "265"; value: "-0.425318"; } + ListElement{ radius: "5"; angle: "270"; value: "-0.615583"; } + ListElement{ radius: "5"; angle: "275"; value: "-0.425318"; } + ListElement{ radius: "5"; angle: "280"; value: "0.144029"; } + ListElement{ radius: "5"; angle: "285"; value: "1.08813"; } + ListElement{ radius: "5"; angle: "290"; value: "2.39979"; } + ListElement{ radius: "5"; angle: "295"; value: "4.06903"; } + ListElement{ radius: "5"; angle: "300"; value: "6.08315"; } + ListElement{ radius: "5"; angle: "305"; value: "8.42681"; } + ListElement{ radius: "5"; angle: "310"; value: "11.0822"; } + ListElement{ radius: "5"; angle: "315"; value: "14.0291"; } + ListElement{ radius: "5"; angle: "320"; value: "17.245"; } + ListElement{ radius: "5"; angle: "325"; value: "20.7056"; } + ListElement{ radius: "5"; angle: "330"; value: "24.3844"; } + ListElement{ radius: "5"; angle: "335"; value: "28.2535"; } + ListElement{ radius: "5"; angle: "340"; value: "32.2834"; } + ListElement{ radius: "5"; angle: "345"; value: "36.4435"; } + ListElement{ radius: "5"; angle: "350"; value: "40.702"; } + ListElement{ radius: "5"; angle: "355"; value: "45.0266"; } + ListElement{ radius: "5"; angle: "360"; value: "49.3844"; } + ListElement{ radius: "10"; angle: "0"; value: "47.5528"; } + ListElement{ radius: "10"; angle: "5"; value: "51.9106"; } + ListElement{ radius: "10"; angle: "10"; value: "56.2352"; } + ListElement{ radius: "10"; angle: "15"; value: "60.4938"; } + ListElement{ radius: "10"; angle: "20"; value: "64.6538"; } + ListElement{ radius: "10"; angle: "25"; value: "68.6837"; } + ListElement{ radius: "10"; angle: "30"; value: "72.5528"; } + ListElement{ radius: "10"; angle: "35"; value: "76.2316"; } + ListElement{ radius: "10"; angle: "40"; value: "79.6922"; } + ListElement{ radius: "10"; angle: "45"; value: "82.9082"; } + ListElement{ radius: "10"; angle: "50"; value: "85.855"; } + ListElement{ radius: "10"; angle: "55"; value: "88.5104"; } + ListElement{ radius: "10"; angle: "60"; value: "90.8541"; } + ListElement{ radius: "10"; angle: "65"; value: "92.8682"; } + ListElement{ radius: "10"; angle: "70"; value: "94.5375"; } + ListElement{ radius: "10"; angle: "75"; value: "95.8491"; } + ListElement{ radius: "10"; angle: "80"; value: "96.7932"; } + ListElement{ radius: "10"; angle: "85"; value: "97.3626"; } + ListElement{ radius: "10"; angle: "90"; value: "97.5528"; } + ListElement{ radius: "10"; angle: "95"; value: "97.3626"; } + ListElement{ radius: "10"; angle: "100"; value: "96.7932"; } + ListElement{ radius: "10"; angle: "105"; value: "95.8491"; } + ListElement{ radius: "10"; angle: "110"; value: "94.5375"; } + ListElement{ radius: "10"; angle: "115"; value: "92.8682"; } + ListElement{ radius: "10"; angle: "120"; value: "90.8541"; } + ListElement{ radius: "10"; angle: "125"; value: "88.5104"; } + ListElement{ radius: "10"; angle: "130"; value: "85.855"; } + ListElement{ radius: "10"; angle: "135"; value: "82.9082"; } + ListElement{ radius: "10"; angle: "140"; value: "79.6922"; } + ListElement{ radius: "10"; angle: "145"; value: "76.2316"; } + ListElement{ radius: "10"; angle: "150"; value: "72.5528"; } + ListElement{ radius: "10"; angle: "155"; value: "68.6837"; } + ListElement{ radius: "10"; angle: "160"; value: "64.6538"; } + ListElement{ radius: "10"; angle: "165"; value: "60.4938"; } + ListElement{ radius: "10"; angle: "170"; value: "56.2352"; } + ListElement{ radius: "10"; angle: "175"; value: "51.9106"; } + ListElement{ radius: "10"; angle: "180"; value: "47.5528"; } + ListElement{ radius: "10"; angle: "185"; value: "43.195"; } + ListElement{ radius: "10"; angle: "190"; value: "38.8704"; } + ListElement{ radius: "10"; angle: "195"; value: "34.6119"; } + ListElement{ radius: "10"; angle: "200"; value: "30.4518"; } + ListElement{ radius: "10"; angle: "205"; value: "26.4219"; } + ListElement{ radius: "10"; angle: "210"; value: "22.5528"; } + ListElement{ radius: "10"; angle: "215"; value: "18.874"; } + ListElement{ radius: "10"; angle: "220"; value: "15.4134"; } + ListElement{ radius: "10"; angle: "225"; value: "12.1975"; } + ListElement{ radius: "10"; angle: "230"; value: "9.2506"; } + ListElement{ radius: "10"; angle: "235"; value: "6.59522"; } + ListElement{ radius: "10"; angle: "240"; value: "4.25156"; } + ListElement{ radius: "10"; angle: "245"; value: "2.23744"; } + ListElement{ radius: "10"; angle: "250"; value: "0.568195"; } + ListElement{ radius: "10"; angle: "255"; value: "-0.743465"; } + ListElement{ radius: "10"; angle: "260"; value: "-1.68756"; } + ListElement{ radius: "10"; angle: "265"; value: "-2.25691"; } + ListElement{ radius: "10"; angle: "270"; value: "-2.44717"; } + ListElement{ radius: "10"; angle: "275"; value: "-2.25691"; } + ListElement{ radius: "10"; angle: "280"; value: "-1.68756"; } + ListElement{ radius: "10"; angle: "285"; value: "-0.743465"; } + ListElement{ radius: "10"; angle: "290"; value: "0.568195"; } + ListElement{ radius: "10"; angle: "295"; value: "2.23744"; } + ListElement{ radius: "10"; angle: "300"; value: "4.25156"; } + ListElement{ radius: "10"; angle: "305"; value: "6.59522"; } + ListElement{ radius: "10"; angle: "310"; value: "9.2506"; } + ListElement{ radius: "10"; angle: "315"; value: "12.1975"; } + ListElement{ radius: "10"; angle: "320"; value: "15.4134"; } + ListElement{ radius: "10"; angle: "325"; value: "18.874"; } + ListElement{ radius: "10"; angle: "330"; value: "22.5528"; } + ListElement{ radius: "10"; angle: "335"; value: "26.4219"; } + ListElement{ radius: "10"; angle: "340"; value: "30.4518"; } + ListElement{ radius: "10"; angle: "345"; value: "34.6119"; } + ListElement{ radius: "10"; angle: "350"; value: "38.8704"; } + ListElement{ radius: "10"; angle: "355"; value: "43.195"; } + ListElement{ radius: "10"; angle: "360"; value: "47.5528"; } + ListElement{ radius: "15"; angle: "0"; value: "44.5503"; } + ListElement{ radius: "15"; angle: "5"; value: "48.9081"; } + ListElement{ radius: "15"; angle: "10"; value: "53.2327"; } + ListElement{ radius: "15"; angle: "15"; value: "57.4913"; } + ListElement{ radius: "15"; angle: "20"; value: "61.6513"; } + ListElement{ radius: "15"; angle: "25"; value: "65.6812"; } + ListElement{ radius: "15"; angle: "30"; value: "69.5503"; } + ListElement{ radius: "15"; angle: "35"; value: "73.2291"; } + ListElement{ radius: "15"; angle: "40"; value: "76.6897"; } + ListElement{ radius: "15"; angle: "45"; value: "79.9057"; } + ListElement{ radius: "15"; angle: "50"; value: "82.8525"; } + ListElement{ radius: "15"; angle: "55"; value: "85.5079"; } + ListElement{ radius: "15"; angle: "60"; value: "87.8516"; } + ListElement{ radius: "15"; angle: "65"; value: "89.8657"; } + ListElement{ radius: "15"; angle: "70"; value: "91.535"; } + ListElement{ radius: "15"; angle: "75"; value: "92.8466"; } + ListElement{ radius: "15"; angle: "80"; value: "93.7907"; } + ListElement{ radius: "15"; angle: "85"; value: "94.3601"; } + ListElement{ radius: "15"; angle: "90"; value: "94.5503"; } + ListElement{ radius: "15"; angle: "95"; value: "94.3601"; } + ListElement{ radius: "15"; angle: "100"; value: "93.7907"; } + ListElement{ radius: "15"; angle: "105"; value: "92.8466"; } + ListElement{ radius: "15"; angle: "110"; value: "91.535"; } + ListElement{ radius: "15"; angle: "115"; value: "89.8657"; } + ListElement{ radius: "15"; angle: "120"; value: "87.8516"; } + ListElement{ radius: "15"; angle: "125"; value: "85.5079"; } + ListElement{ radius: "15"; angle: "130"; value: "82.8525"; } + ListElement{ radius: "15"; angle: "135"; value: "79.9057"; } + ListElement{ radius: "15"; angle: "140"; value: "76.6897"; } + ListElement{ radius: "15"; angle: "145"; value: "73.2291"; } + ListElement{ radius: "15"; angle: "150"; value: "69.5503"; } + ListElement{ radius: "15"; angle: "155"; value: "65.6812"; } + ListElement{ radius: "15"; angle: "160"; value: "61.6513"; } + ListElement{ radius: "15"; angle: "165"; value: "57.4913"; } + ListElement{ radius: "15"; angle: "170"; value: "53.2327"; } + ListElement{ radius: "15"; angle: "175"; value: "48.9081"; } + ListElement{ radius: "15"; angle: "180"; value: "44.5503"; } + ListElement{ radius: "15"; angle: "185"; value: "40.1925"; } + ListElement{ radius: "15"; angle: "190"; value: "35.8679"; } + ListElement{ radius: "15"; angle: "195"; value: "31.6094"; } + ListElement{ radius: "15"; angle: "200"; value: "27.4493"; } + ListElement{ radius: "15"; angle: "205"; value: "23.4194"; } + ListElement{ radius: "15"; angle: "210"; value: "19.5503"; } + ListElement{ radius: "15"; angle: "215"; value: "15.8715"; } + ListElement{ radius: "15"; angle: "220"; value: "12.4109"; } + ListElement{ radius: "15"; angle: "225"; value: "9.19499"; } + ListElement{ radius: "15"; angle: "230"; value: "6.2481"; } + ListElement{ radius: "15"; angle: "235"; value: "3.59272"; } + ListElement{ radius: "15"; angle: "240"; value: "1.24906"; } + ListElement{ radius: "15"; angle: "245"; value: "-0.765063"; } + ListElement{ radius: "15"; angle: "250"; value: "-2.4343"; } + ListElement{ radius: "15"; angle: "255"; value: "-3.74597"; } + ListElement{ radius: "15"; angle: "260"; value: "-4.69006"; } + ListElement{ radius: "15"; angle: "265"; value: "-5.25941"; } + ListElement{ radius: "15"; angle: "270"; value: "-5.44967"; } + ListElement{ radius: "15"; angle: "275"; value: "-5.25941"; } + ListElement{ radius: "15"; angle: "280"; value: "-4.69006"; } + ListElement{ radius: "15"; angle: "285"; value: "-3.74597"; } + ListElement{ radius: "15"; angle: "290"; value: "-2.4343"; } + ListElement{ radius: "15"; angle: "295"; value: "-0.765063"; } + ListElement{ radius: "15"; angle: "300"; value: "1.24906"; } + ListElement{ radius: "15"; angle: "305"; value: "3.59272"; } + ListElement{ radius: "15"; angle: "310"; value: "6.2481"; } + ListElement{ radius: "15"; angle: "315"; value: "9.19499"; } + ListElement{ radius: "15"; angle: "320"; value: "12.4109"; } + ListElement{ radius: "15"; angle: "325"; value: "15.8715"; } + ListElement{ radius: "15"; angle: "330"; value: "19.5503"; } + ListElement{ radius: "15"; angle: "335"; value: "23.4194"; } + ListElement{ radius: "15"; angle: "340"; value: "27.4493"; } + ListElement{ radius: "15"; angle: "345"; value: "31.6094"; } + ListElement{ radius: "15"; angle: "350"; value: "35.8679"; } + ListElement{ radius: "15"; angle: "355"; value: "40.1925"; } + ListElement{ radius: "15"; angle: "360"; value: "44.5503"; } + ListElement{ radius: "20"; angle: "0"; value: "40.4508"; } + ListElement{ radius: "20"; angle: "5"; value: "44.8086"; } + ListElement{ radius: "20"; angle: "10"; value: "49.1333"; } + ListElement{ radius: "20"; angle: "15"; value: "53.3918"; } + ListElement{ radius: "20"; angle: "20"; value: "57.5519"; } + ListElement{ radius: "20"; angle: "25"; value: "61.5818"; } + ListElement{ radius: "20"; angle: "30"; value: "65.4508"; } + ListElement{ radius: "20"; angle: "35"; value: "69.1297"; } + ListElement{ radius: "20"; angle: "40"; value: "72.5902"; } + ListElement{ radius: "20"; angle: "45"; value: "75.8062"; } + ListElement{ radius: "20"; angle: "50"; value: "78.7531"; } + ListElement{ radius: "20"; angle: "55"; value: "81.4085"; } + ListElement{ radius: "20"; angle: "60"; value: "83.7521"; } + ListElement{ radius: "20"; angle: "65"; value: "85.7662"; } + ListElement{ radius: "20"; angle: "70"; value: "87.4355"; } + ListElement{ radius: "20"; angle: "75"; value: "88.7471"; } + ListElement{ radius: "20"; angle: "80"; value: "89.6912"; } + ListElement{ radius: "20"; angle: "85"; value: "90.2606"; } + ListElement{ radius: "20"; angle: "90"; value: "90.4508"; } + ListElement{ radius: "20"; angle: "95"; value: "90.2606"; } + ListElement{ radius: "20"; angle: "100"; value: "89.6912"; } + ListElement{ radius: "20"; angle: "105"; value: "88.7471"; } + ListElement{ radius: "20"; angle: "110"; value: "87.4355"; } + ListElement{ radius: "20"; angle: "115"; value: "85.7662"; } + ListElement{ radius: "20"; angle: "120"; value: "83.7521"; } + ListElement{ radius: "20"; angle: "125"; value: "81.4085"; } + ListElement{ radius: "20"; angle: "130"; value: "78.7531"; } + ListElement{ radius: "20"; angle: "135"; value: "75.8062"; } + ListElement{ radius: "20"; angle: "140"; value: "72.5902"; } + ListElement{ radius: "20"; angle: "145"; value: "69.1297"; } + ListElement{ radius: "20"; angle: "150"; value: "65.4508"; } + ListElement{ radius: "20"; angle: "155"; value: "61.5818"; } + ListElement{ radius: "20"; angle: "160"; value: "57.5519"; } + ListElement{ radius: "20"; angle: "165"; value: "53.3918"; } + ListElement{ radius: "20"; angle: "170"; value: "49.1333"; } + ListElement{ radius: "20"; angle: "175"; value: "44.8086"; } + ListElement{ radius: "20"; angle: "180"; value: "40.4508"; } + ListElement{ radius: "20"; angle: "185"; value: "36.0931"; } + ListElement{ radius: "20"; angle: "190"; value: "31.7684"; } + ListElement{ radius: "20"; angle: "195"; value: "27.5099"; } + ListElement{ radius: "20"; angle: "200"; value: "23.3498"; } + ListElement{ radius: "20"; angle: "205"; value: "19.3199"; } + ListElement{ radius: "20"; angle: "210"; value: "15.4508"; } + ListElement{ radius: "20"; angle: "215"; value: "11.772"; } + ListElement{ radius: "20"; angle: "220"; value: "8.31147"; } + ListElement{ radius: "20"; angle: "225"; value: "5.09551"; } + ListElement{ radius: "20"; angle: "230"; value: "2.14863"; } + ListElement{ radius: "20"; angle: "235"; value: "-0.506752"; } + ListElement{ radius: "20"; angle: "240"; value: "-2.85042"; } + ListElement{ radius: "20"; angle: "245"; value: "-4.86454"; } + ListElement{ radius: "20"; angle: "250"; value: "-6.53378"; } + ListElement{ radius: "20"; angle: "255"; value: "-7.84544"; } + ListElement{ radius: "20"; angle: "260"; value: "-8.78954"; } + ListElement{ radius: "20"; angle: "265"; value: "-9.35889"; } + ListElement{ radius: "20"; angle: "270"; value: "-9.54915"; } + ListElement{ radius: "20"; angle: "275"; value: "-9.35889"; } + ListElement{ radius: "20"; angle: "280"; value: "-8.78954"; } + ListElement{ radius: "20"; angle: "285"; value: "-7.84544"; } + ListElement{ radius: "20"; angle: "290"; value: "-6.53378"; } + ListElement{ radius: "20"; angle: "295"; value: "-4.86454"; } + ListElement{ radius: "20"; angle: "300"; value: "-2.85042"; } + ListElement{ radius: "20"; angle: "305"; value: "-0.506752"; } + ListElement{ radius: "20"; angle: "310"; value: "2.14863"; } + ListElement{ radius: "20"; angle: "315"; value: "5.09551"; } + ListElement{ radius: "20"; angle: "320"; value: "8.31147"; } + ListElement{ radius: "20"; angle: "325"; value: "11.772"; } + ListElement{ radius: "20"; angle: "330"; value: "15.4508"; } + ListElement{ radius: "20"; angle: "335"; value: "19.3199"; } + ListElement{ radius: "20"; angle: "340"; value: "23.3498"; } + ListElement{ radius: "20"; angle: "345"; value: "27.5099"; } + ListElement{ radius: "20"; angle: "350"; value: "31.7684"; } + ListElement{ radius: "20"; angle: "355"; value: "36.0931"; } + ListElement{ radius: "20"; angle: "360"; value: "40.4508"; } + ListElement{ radius: "25"; angle: "0"; value: "35.3553"; } + ListElement{ radius: "25"; angle: "5"; value: "39.7131"; } + ListElement{ radius: "25"; angle: "10"; value: "44.0377"; } + ListElement{ radius: "25"; angle: "15"; value: "48.2963"; } + ListElement{ radius: "25"; angle: "20"; value: "52.4563"; } + ListElement{ radius: "25"; angle: "25"; value: "56.4863"; } + ListElement{ radius: "25"; angle: "30"; value: "60.3553"; } + ListElement{ radius: "25"; angle: "35"; value: "64.0342"; } + ListElement{ radius: "25"; angle: "40"; value: "67.4947"; } + ListElement{ radius: "25"; angle: "45"; value: "70.7107"; } + ListElement{ radius: "25"; angle: "50"; value: "73.6576"; } + ListElement{ radius: "25"; angle: "55"; value: "76.3129"; } + ListElement{ radius: "25"; angle: "60"; value: "78.6566"; } + ListElement{ radius: "25"; angle: "65"; value: "80.6707"; } + ListElement{ radius: "25"; angle: "70"; value: "82.34"; } + ListElement{ radius: "25"; angle: "75"; value: "83.6516"; } + ListElement{ radius: "25"; angle: "80"; value: "84.5957"; } + ListElement{ radius: "25"; angle: "85"; value: "85.1651"; } + ListElement{ radius: "25"; angle: "90"; value: "85.3553"; } + ListElement{ radius: "25"; angle: "95"; value: "85.1651"; } + ListElement{ radius: "25"; angle: "100"; value: "84.5957"; } + ListElement{ radius: "25"; angle: "105"; value: "83.6516"; } + ListElement{ radius: "25"; angle: "110"; value: "82.34"; } + ListElement{ radius: "25"; angle: "115"; value: "80.6707"; } + ListElement{ radius: "25"; angle: "120"; value: "78.6566"; } + ListElement{ radius: "25"; angle: "125"; value: "76.3129"; } + ListElement{ radius: "25"; angle: "130"; value: "73.6576"; } + ListElement{ radius: "25"; angle: "135"; value: "70.7107"; } + ListElement{ radius: "25"; angle: "140"; value: "67.4947"; } + ListElement{ radius: "25"; angle: "145"; value: "64.0342"; } + ListElement{ radius: "25"; angle: "150"; value: "60.3553"; } + ListElement{ radius: "25"; angle: "155"; value: "56.4863"; } + ListElement{ radius: "25"; angle: "160"; value: "52.4563"; } + ListElement{ radius: "25"; angle: "165"; value: "48.2963"; } + ListElement{ radius: "25"; angle: "170"; value: "44.0377"; } + ListElement{ radius: "25"; angle: "175"; value: "39.7131"; } + ListElement{ radius: "25"; angle: "180"; value: "35.3553"; } + ListElement{ radius: "25"; angle: "185"; value: "30.9976"; } + ListElement{ radius: "25"; angle: "190"; value: "26.6729"; } + ListElement{ radius: "25"; angle: "195"; value: "22.4144"; } + ListElement{ radius: "25"; angle: "200"; value: "18.2543"; } + ListElement{ radius: "25"; angle: "205"; value: "14.2244"; } + ListElement{ radius: "25"; angle: "210"; value: "10.3553"; } + ListElement{ radius: "25"; angle: "215"; value: "6.67652"; } + ListElement{ radius: "25"; angle: "220"; value: "3.21596"; } + ListElement{ radius: "25"; angle: "225"; value: "5.55112e-15"; } + ListElement{ radius: "25"; angle: "230"; value: "-2.94688"; } + ListElement{ radius: "25"; angle: "235"; value: "-5.60226"; } + ListElement{ radius: "25"; angle: "240"; value: "-7.94593"; } + ListElement{ radius: "25"; angle: "245"; value: "-9.96005"; } + ListElement{ radius: "25"; angle: "250"; value: "-11.6293"; } + ListElement{ radius: "25"; angle: "255"; value: "-12.941"; } + ListElement{ radius: "25"; angle: "260"; value: "-13.885"; } + ListElement{ radius: "25"; angle: "265"; value: "-14.4544"; } + ListElement{ radius: "25"; angle: "270"; value: "-14.6447"; } + ListElement{ radius: "25"; angle: "275"; value: "-14.4544"; } + ListElement{ radius: "25"; angle: "280"; value: "-13.885"; } + ListElement{ radius: "25"; angle: "285"; value: "-12.941"; } + ListElement{ radius: "25"; angle: "290"; value: "-11.6293"; } + ListElement{ radius: "25"; angle: "295"; value: "-9.96005"; } + ListElement{ radius: "25"; angle: "300"; value: "-7.94593"; } + ListElement{ radius: "25"; angle: "305"; value: "-5.60226"; } + ListElement{ radius: "25"; angle: "310"; value: "-2.94688"; } + ListElement{ radius: "25"; angle: "315"; value: "-5.55112e-15"; } + ListElement{ radius: "25"; angle: "320"; value: "3.21596"; } + ListElement{ radius: "25"; angle: "325"; value: "6.67652"; } + ListElement{ radius: "25"; angle: "330"; value: "10.3553"; } + ListElement{ radius: "25"; angle: "335"; value: "14.2244"; } + ListElement{ radius: "25"; angle: "340"; value: "18.2543"; } + ListElement{ radius: "25"; angle: "345"; value: "22.4144"; } + ListElement{ radius: "25"; angle: "350"; value: "26.6729"; } + ListElement{ radius: "25"; angle: "355"; value: "30.9976"; } + ListElement{ radius: "25"; angle: "360"; value: "35.3553"; } + ListElement{ radius: "30"; angle: "0"; value: "29.3893"; } + ListElement{ radius: "30"; angle: "5"; value: "33.747"; } + ListElement{ radius: "30"; angle: "10"; value: "38.0717"; } + ListElement{ radius: "30"; angle: "15"; value: "42.3302"; } + ListElement{ radius: "30"; angle: "20"; value: "46.4903"; } + ListElement{ radius: "30"; angle: "25"; value: "50.5202"; } + ListElement{ radius: "30"; angle: "30"; value: "54.3893"; } + ListElement{ radius: "30"; angle: "35"; value: "58.0681"; } + ListElement{ radius: "30"; angle: "40"; value: "61.5286"; } + ListElement{ radius: "30"; angle: "45"; value: "64.7446"; } + ListElement{ radius: "30"; angle: "50"; value: "67.6915"; } + ListElement{ radius: "30"; angle: "55"; value: "70.3469"; } + ListElement{ radius: "30"; angle: "60"; value: "72.6905"; } + ListElement{ radius: "30"; angle: "65"; value: "74.7047"; } + ListElement{ radius: "30"; angle: "70"; value: "76.3739"; } + ListElement{ radius: "30"; angle: "75"; value: "77.6856"; } + ListElement{ radius: "30"; angle: "80"; value: "78.6297"; } + ListElement{ radius: "30"; angle: "85"; value: "79.199"; } + ListElement{ radius: "30"; angle: "90"; value: "79.3893"; } + ListElement{ radius: "30"; angle: "95"; value: "79.199"; } + ListElement{ radius: "30"; angle: "100"; value: "78.6297"; } + ListElement{ radius: "30"; angle: "105"; value: "77.6856"; } + ListElement{ radius: "30"; angle: "110"; value: "76.3739"; } + ListElement{ radius: "30"; angle: "115"; value: "74.7047"; } + ListElement{ radius: "30"; angle: "120"; value: "72.6905"; } + ListElement{ radius: "30"; angle: "125"; value: "70.3469"; } + ListElement{ radius: "30"; angle: "130"; value: "67.6915"; } + ListElement{ radius: "30"; angle: "135"; value: "64.7446"; } + ListElement{ radius: "30"; angle: "140"; value: "61.5286"; } + ListElement{ radius: "30"; angle: "145"; value: "58.0681"; } + ListElement{ radius: "30"; angle: "150"; value: "54.3893"; } + ListElement{ radius: "30"; angle: "155"; value: "50.5202"; } + ListElement{ radius: "30"; angle: "160"; value: "46.4903"; } + ListElement{ radius: "30"; angle: "165"; value: "42.3302"; } + ListElement{ radius: "30"; angle: "170"; value: "38.0717"; } + ListElement{ radius: "30"; angle: "175"; value: "33.747"; } + ListElement{ radius: "30"; angle: "180"; value: "29.3893"; } + ListElement{ radius: "30"; angle: "185"; value: "25.0315"; } + ListElement{ radius: "30"; angle: "190"; value: "20.7069"; } + ListElement{ radius: "30"; angle: "195"; value: "16.4483"; } + ListElement{ radius: "30"; angle: "200"; value: "12.2883"; } + ListElement{ radius: "30"; angle: "205"; value: "8.25835"; } + ListElement{ radius: "30"; angle: "210"; value: "4.38926"; } + ListElement{ radius: "30"; angle: "215"; value: "0.710441"; } + ListElement{ radius: "30"; angle: "220"; value: "-2.75012"; } + ListElement{ radius: "30"; angle: "225"; value: "-5.96608"; } + ListElement{ radius: "30"; angle: "230"; value: "-8.91296"; } + ListElement{ radius: "30"; angle: "235"; value: "-11.5683"; } + ListElement{ radius: "30"; angle: "240"; value: "-13.912"; } + ListElement{ radius: "30"; angle: "245"; value: "-15.9261"; } + ListElement{ radius: "30"; angle: "250"; value: "-17.5954"; } + ListElement{ radius: "30"; angle: "255"; value: "-18.907"; } + ListElement{ radius: "30"; angle: "260"; value: "-19.8511"; } + ListElement{ radius: "30"; angle: "265"; value: "-20.4205"; } + ListElement{ radius: "30"; angle: "270"; value: "-20.6107"; } + ListElement{ radius: "30"; angle: "275"; value: "-20.4205"; } + ListElement{ radius: "30"; angle: "280"; value: "-19.8511"; } + ListElement{ radius: "30"; angle: "285"; value: "-18.907"; } + ListElement{ radius: "30"; angle: "290"; value: "-17.5954"; } + ListElement{ radius: "30"; angle: "295"; value: "-15.9261"; } + ListElement{ radius: "30"; angle: "300"; value: "-13.912"; } + ListElement{ radius: "30"; angle: "305"; value: "-11.5683"; } + ListElement{ radius: "30"; angle: "310"; value: "-8.91296"; } + ListElement{ radius: "30"; angle: "315"; value: "-5.96608"; } + ListElement{ radius: "30"; angle: "320"; value: "-2.75012"; } + ListElement{ radius: "30"; angle: "325"; value: "0.710441"; } + ListElement{ radius: "30"; angle: "330"; value: "4.38926"; } + ListElement{ radius: "30"; angle: "335"; value: "8.25835"; } + ListElement{ radius: "30"; angle: "340"; value: "12.2883"; } + ListElement{ radius: "30"; angle: "345"; value: "16.4483"; } + ListElement{ radius: "30"; angle: "350"; value: "20.7069"; } + ListElement{ radius: "30"; angle: "355"; value: "25.0315"; } + ListElement{ radius: "30"; angle: "360"; value: "29.3893"; } + ListElement{ radius: "35"; angle: "0"; value: "22.6995"; } + ListElement{ radius: "35"; angle: "5"; value: "27.0573"; } + ListElement{ radius: "35"; angle: "10"; value: "31.3819"; } + ListElement{ radius: "35"; angle: "15"; value: "35.6405"; } + ListElement{ radius: "35"; angle: "20"; value: "39.8005"; } + ListElement{ radius: "35"; angle: "25"; value: "43.8304"; } + ListElement{ radius: "35"; angle: "30"; value: "47.6995"; } + ListElement{ radius: "35"; angle: "35"; value: "51.3783"; } + ListElement{ radius: "35"; angle: "40"; value: "54.8389"; } + ListElement{ radius: "35"; angle: "45"; value: "58.0549"; } + ListElement{ radius: "35"; angle: "50"; value: "61.0017"; } + ListElement{ radius: "35"; angle: "55"; value: "63.6571"; } + ListElement{ radius: "35"; angle: "60"; value: "66.0008"; } + ListElement{ radius: "35"; angle: "65"; value: "68.0149"; } + ListElement{ radius: "35"; angle: "70"; value: "69.6842"; } + ListElement{ radius: "35"; angle: "75"; value: "70.9958"; } + ListElement{ radius: "35"; angle: "80"; value: "71.9399"; } + ListElement{ radius: "35"; angle: "85"; value: "72.5093"; } + ListElement{ radius: "35"; angle: "90"; value: "72.6995"; } + ListElement{ radius: "35"; angle: "95"; value: "72.5093"; } + ListElement{ radius: "35"; angle: "100"; value: "71.9399"; } + ListElement{ radius: "35"; angle: "105"; value: "70.9958"; } + ListElement{ radius: "35"; angle: "110"; value: "69.6842"; } + ListElement{ radius: "35"; angle: "115"; value: "68.0149"; } + ListElement{ radius: "35"; angle: "120"; value: "66.0008"; } + ListElement{ radius: "35"; angle: "125"; value: "63.6571"; } + ListElement{ radius: "35"; angle: "130"; value: "61.0017"; } + ListElement{ radius: "35"; angle: "135"; value: "58.0549"; } + ListElement{ radius: "35"; angle: "140"; value: "54.8389"; } + ListElement{ radius: "35"; angle: "145"; value: "51.3783"; } + ListElement{ radius: "35"; angle: "150"; value: "47.6995"; } + ListElement{ radius: "35"; angle: "155"; value: "43.8304"; } + ListElement{ radius: "35"; angle: "160"; value: "39.8005"; } + ListElement{ radius: "35"; angle: "165"; value: "35.6405"; } + ListElement{ radius: "35"; angle: "170"; value: "31.3819"; } + ListElement{ radius: "35"; angle: "175"; value: "27.0573"; } + ListElement{ radius: "35"; angle: "180"; value: "22.6995"; } + ListElement{ radius: "35"; angle: "185"; value: "18.3417"; } + ListElement{ radius: "35"; angle: "190"; value: "14.0171"; } + ListElement{ radius: "35"; angle: "195"; value: "9.75857"; } + ListElement{ radius: "35"; angle: "200"; value: "5.59852"; } + ListElement{ radius: "35"; angle: "205"; value: "1.56861"; } + ListElement{ radius: "35"; angle: "210"; value: "-2.30048"; } + ListElement{ radius: "35"; angle: "215"; value: "-5.9793"; } + ListElement{ radius: "35"; angle: "220"; value: "-9.43986"; } + ListElement{ radius: "35"; angle: "225"; value: "-12.6558"; } + ListElement{ radius: "35"; angle: "230"; value: "-15.6027"; } + ListElement{ radius: "35"; angle: "235"; value: "-18.2581"; } + ListElement{ radius: "35"; angle: "240"; value: "-20.6017"; } + ListElement{ radius: "35"; angle: "245"; value: "-22.6159"; } + ListElement{ radius: "35"; angle: "250"; value: "-24.2851"; } + ListElement{ radius: "35"; angle: "255"; value: "-25.5968"; } + ListElement{ radius: "35"; angle: "260"; value: "-26.5409"; } + ListElement{ radius: "35"; angle: "265"; value: "-27.1102"; } + ListElement{ radius: "35"; angle: "270"; value: "-27.3005"; } + ListElement{ radius: "35"; angle: "275"; value: "-27.1102"; } + ListElement{ radius: "35"; angle: "280"; value: "-26.5409"; } + ListElement{ radius: "35"; angle: "285"; value: "-25.5968"; } + ListElement{ radius: "35"; angle: "290"; value: "-24.2851"; } + ListElement{ radius: "35"; angle: "295"; value: "-22.6159"; } + ListElement{ radius: "35"; angle: "300"; value: "-20.6017"; } + ListElement{ radius: "35"; angle: "305"; value: "-18.2581"; } + ListElement{ radius: "35"; angle: "310"; value: "-15.6027"; } + ListElement{ radius: "35"; angle: "315"; value: "-12.6558"; } + ListElement{ radius: "35"; angle: "320"; value: "-9.43986"; } + ListElement{ radius: "35"; angle: "325"; value: "-5.9793"; } + ListElement{ radius: "35"; angle: "330"; value: "-2.30048"; } + ListElement{ radius: "35"; angle: "335"; value: "1.56861"; } + ListElement{ radius: "35"; angle: "340"; value: "5.59852"; } + ListElement{ radius: "35"; angle: "345"; value: "9.75857"; } + ListElement{ radius: "35"; angle: "350"; value: "14.0171"; } + ListElement{ radius: "35"; angle: "355"; value: "18.3417"; } + ListElement{ radius: "35"; angle: "360"; value: "22.6995"; } + ListElement{ radius: "40"; angle: "0"; value: "15.4508"; } + ListElement{ radius: "40"; angle: "5"; value: "19.8086"; } + ListElement{ radius: "40"; angle: "10"; value: "24.1333"; } + ListElement{ radius: "40"; angle: "15"; value: "28.3918"; } + ListElement{ radius: "40"; angle: "20"; value: "32.5519"; } + ListElement{ radius: "40"; angle: "25"; value: "36.5818"; } + ListElement{ radius: "40"; angle: "30"; value: "40.4508"; } + ListElement{ radius: "40"; angle: "35"; value: "44.1297"; } + ListElement{ radius: "40"; angle: "40"; value: "47.5902"; } + ListElement{ radius: "40"; angle: "45"; value: "50.8062"; } + ListElement{ radius: "40"; angle: "50"; value: "53.7531"; } + ListElement{ radius: "40"; angle: "55"; value: "56.4085"; } + ListElement{ radius: "40"; angle: "60"; value: "58.7521"; } + ListElement{ radius: "40"; angle: "65"; value: "60.7662"; } + ListElement{ radius: "40"; angle: "70"; value: "62.4355"; } + ListElement{ radius: "40"; angle: "75"; value: "63.7471"; } + ListElement{ radius: "40"; angle: "80"; value: "64.6912"; } + ListElement{ radius: "40"; angle: "85"; value: "65.2606"; } + ListElement{ radius: "40"; angle: "90"; value: "65.4508"; } + ListElement{ radius: "40"; angle: "95"; value: "65.2606"; } + ListElement{ radius: "40"; angle: "100"; value: "64.6912"; } + ListElement{ radius: "40"; angle: "105"; value: "63.7471"; } + ListElement{ radius: "40"; angle: "110"; value: "62.4355"; } + ListElement{ radius: "40"; angle: "115"; value: "60.7662"; } + ListElement{ radius: "40"; angle: "120"; value: "58.7521"; } + ListElement{ radius: "40"; angle: "125"; value: "56.4085"; } + ListElement{ radius: "40"; angle: "130"; value: "53.7531"; } + ListElement{ radius: "40"; angle: "135"; value: "50.8062"; } + ListElement{ radius: "40"; angle: "140"; value: "47.5902"; } + ListElement{ radius: "40"; angle: "145"; value: "44.1297"; } + ListElement{ radius: "40"; angle: "150"; value: "40.4508"; } + ListElement{ radius: "40"; angle: "155"; value: "36.5818"; } + ListElement{ radius: "40"; angle: "160"; value: "32.5519"; } + ListElement{ radius: "40"; angle: "165"; value: "28.3918"; } + ListElement{ radius: "40"; angle: "170"; value: "24.1333"; } + ListElement{ radius: "40"; angle: "175"; value: "19.8086"; } + ListElement{ radius: "40"; angle: "180"; value: "15.4508"; } + ListElement{ radius: "40"; angle: "185"; value: "11.0931"; } + ListElement{ radius: "40"; angle: "190"; value: "6.76844"; } + ListElement{ radius: "40"; angle: "195"; value: "2.5099"; } + ListElement{ radius: "40"; angle: "200"; value: "-1.65016"; } + ListElement{ radius: "40"; angle: "205"; value: "-5.68006"; } + ListElement{ radius: "40"; angle: "210"; value: "-9.54915"; } + ListElement{ radius: "40"; angle: "215"; value: "-13.228"; } + ListElement{ radius: "40"; angle: "220"; value: "-16.6885"; } + ListElement{ radius: "40"; angle: "225"; value: "-19.9045"; } + ListElement{ radius: "40"; angle: "230"; value: "-22.8514"; } + ListElement{ radius: "40"; angle: "235"; value: "-25.5068"; } + ListElement{ radius: "40"; angle: "240"; value: "-27.8504"; } + ListElement{ radius: "40"; angle: "245"; value: "-29.8645"; } + ListElement{ radius: "40"; angle: "250"; value: "-31.5338"; } + ListElement{ radius: "40"; angle: "255"; value: "-32.8454"; } + ListElement{ radius: "40"; angle: "260"; value: "-33.7895"; } + ListElement{ radius: "40"; angle: "265"; value: "-34.3589"; } + ListElement{ radius: "40"; angle: "270"; value: "-34.5492"; } + ListElement{ radius: "40"; angle: "275"; value: "-34.3589"; } + ListElement{ radius: "40"; angle: "280"; value: "-33.7895"; } + ListElement{ radius: "40"; angle: "285"; value: "-32.8454"; } + ListElement{ radius: "40"; angle: "290"; value: "-31.5338"; } + ListElement{ radius: "40"; angle: "295"; value: "-29.8645"; } + ListElement{ radius: "40"; angle: "300"; value: "-27.8504"; } + ListElement{ radius: "40"; angle: "305"; value: "-25.5068"; } + ListElement{ radius: "40"; angle: "310"; value: "-22.8514"; } + ListElement{ radius: "40"; angle: "315"; value: "-19.9045"; } + ListElement{ radius: "40"; angle: "320"; value: "-16.6885"; } + ListElement{ radius: "40"; angle: "325"; value: "-13.228"; } + ListElement{ radius: "40"; angle: "330"; value: "-9.54915"; } + ListElement{ radius: "40"; angle: "335"; value: "-5.68006"; } + ListElement{ radius: "40"; angle: "340"; value: "-1.65016"; } + ListElement{ radius: "40"; angle: "345"; value: "2.5099"; } + ListElement{ radius: "40"; angle: "350"; value: "6.76844"; } + ListElement{ radius: "40"; angle: "355"; value: "11.0931"; } + ListElement{ radius: "40"; angle: "360"; value: "15.4508"; } + ListElement{ radius: "45"; angle: "0"; value: "7.82172"; } + ListElement{ radius: "45"; angle: "5"; value: "12.1795"; } + ListElement{ radius: "45"; angle: "10"; value: "16.5041"; } + ListElement{ radius: "45"; angle: "15"; value: "20.7627"; } + ListElement{ radius: "45"; angle: "20"; value: "24.9227"; } + ListElement{ radius: "45"; angle: "25"; value: "28.9526"; } + ListElement{ radius: "45"; angle: "30"; value: "32.8217"; } + ListElement{ radius: "45"; angle: "35"; value: "36.5005"; } + ListElement{ radius: "45"; angle: "40"; value: "39.9611"; } + ListElement{ radius: "45"; angle: "45"; value: "43.1771"; } + ListElement{ radius: "45"; angle: "50"; value: "46.1239"; } + ListElement{ radius: "45"; angle: "55"; value: "48.7793"; } + ListElement{ radius: "45"; angle: "60"; value: "51.123"; } + ListElement{ radius: "45"; angle: "65"; value: "53.1371"; } + ListElement{ radius: "45"; angle: "70"; value: "54.8064"; } + ListElement{ radius: "45"; angle: "75"; value: "56.118"; } + ListElement{ radius: "45"; angle: "80"; value: "57.0621"; } + ListElement{ radius: "45"; angle: "85"; value: "57.6315"; } + ListElement{ radius: "45"; angle: "90"; value: "57.8217"; } + ListElement{ radius: "45"; angle: "95"; value: "57.6315"; } + ListElement{ radius: "45"; angle: "100"; value: "57.0621"; } + ListElement{ radius: "45"; angle: "105"; value: "56.118"; } + ListElement{ radius: "45"; angle: "110"; value: "54.8064"; } + ListElement{ radius: "45"; angle: "115"; value: "53.1371"; } + ListElement{ radius: "45"; angle: "120"; value: "51.123"; } + ListElement{ radius: "45"; angle: "125"; value: "48.7793"; } + ListElement{ radius: "45"; angle: "130"; value: "46.1239"; } + ListElement{ radius: "45"; angle: "135"; value: "43.1771"; } + ListElement{ radius: "45"; angle: "140"; value: "39.9611"; } + ListElement{ radius: "45"; angle: "145"; value: "36.5005"; } + ListElement{ radius: "45"; angle: "150"; value: "32.8217"; } + ListElement{ radius: "45"; angle: "155"; value: "28.9526"; } + ListElement{ radius: "45"; angle: "160"; value: "24.9227"; } + ListElement{ radius: "45"; angle: "165"; value: "20.7627"; } + ListElement{ radius: "45"; angle: "170"; value: "16.5041"; } + ListElement{ radius: "45"; angle: "175"; value: "12.1795"; } + ListElement{ radius: "45"; angle: "180"; value: "7.82172"; } + ListElement{ radius: "45"; angle: "185"; value: "3.46394"; } + ListElement{ radius: "45"; angle: "190"; value: "-0.860686"; } + ListElement{ radius: "45"; angle: "195"; value: "-5.11923"; } + ListElement{ radius: "45"; angle: "200"; value: "-9.27928"; } + ListElement{ radius: "45"; angle: "205"; value: "-13.3092"; } + ListElement{ radius: "45"; angle: "210"; value: "-17.1783"; } + ListElement{ radius: "45"; angle: "215"; value: "-20.8571"; } + ListElement{ radius: "45"; angle: "220"; value: "-24.3177"; } + ListElement{ radius: "45"; angle: "225"; value: "-27.5336"; } + ListElement{ radius: "45"; angle: "230"; value: "-30.4805"; } + ListElement{ radius: "45"; angle: "235"; value: "-33.1359"; } + ListElement{ radius: "45"; angle: "240"; value: "-35.4795"; } + ListElement{ radius: "45"; angle: "245"; value: "-37.4937"; } + ListElement{ radius: "45"; angle: "250"; value: "-39.1629"; } + ListElement{ radius: "45"; angle: "255"; value: "-40.4746"; } + ListElement{ radius: "45"; angle: "260"; value: "-41.4187"; } + ListElement{ radius: "45"; angle: "265"; value: "-41.988"; } + ListElement{ radius: "45"; angle: "270"; value: "-42.1783"; } + ListElement{ radius: "45"; angle: "275"; value: "-41.988"; } + ListElement{ radius: "45"; angle: "280"; value: "-41.4187"; } + ListElement{ radius: "45"; angle: "285"; value: "-40.4746"; } + ListElement{ radius: "45"; angle: "290"; value: "-39.1629"; } + ListElement{ radius: "45"; angle: "295"; value: "-37.4937"; } + ListElement{ radius: "45"; angle: "300"; value: "-35.4795"; } + ListElement{ radius: "45"; angle: "305"; value: "-33.1359"; } + ListElement{ radius: "45"; angle: "310"; value: "-30.4805"; } + ListElement{ radius: "45"; angle: "315"; value: "-27.5336"; } + ListElement{ radius: "45"; angle: "320"; value: "-24.3177"; } + ListElement{ radius: "45"; angle: "325"; value: "-20.8571"; } + ListElement{ radius: "45"; angle: "330"; value: "-17.1783"; } + ListElement{ radius: "45"; angle: "335"; value: "-13.3092"; } + ListElement{ radius: "45"; angle: "340"; value: "-9.27928"; } + ListElement{ radius: "45"; angle: "345"; value: "-5.11923"; } + ListElement{ radius: "45"; angle: "350"; value: "-0.860686"; } + ListElement{ radius: "45"; angle: "355"; value: "3.46394"; } + ListElement{ radius: "45"; angle: "360"; value: "7.82172"; } + ListElement{ radius: "50"; angle: "0"; value: "3.06162e-15"; } + ListElement{ radius: "50"; angle: "5"; value: "4.35779"; } + ListElement{ radius: "50"; angle: "10"; value: "8.68241"; } + ListElement{ radius: "50"; angle: "15"; value: "12.941"; } + ListElement{ radius: "50"; angle: "20"; value: "17.101"; } + ListElement{ radius: "50"; angle: "25"; value: "21.1309"; } + ListElement{ radius: "50"; angle: "30"; value: "25"; } + ListElement{ radius: "50"; angle: "35"; value: "28.6788"; } + ListElement{ radius: "50"; angle: "40"; value: "32.1394"; } + ListElement{ radius: "50"; angle: "45"; value: "35.3553"; } + ListElement{ radius: "50"; angle: "50"; value: "38.3022"; } + ListElement{ radius: "50"; angle: "55"; value: "40.9576"; } + ListElement{ radius: "50"; angle: "60"; value: "43.3013"; } + ListElement{ radius: "50"; angle: "65"; value: "45.3154"; } + ListElement{ radius: "50"; angle: "70"; value: "46.9846"; } + ListElement{ radius: "50"; angle: "75"; value: "48.2963"; } + ListElement{ radius: "50"; angle: "80"; value: "49.2404"; } + ListElement{ radius: "50"; angle: "85"; value: "49.8097"; } + ListElement{ radius: "50"; angle: "90"; value: "50"; } + ListElement{ radius: "50"; angle: "95"; value: "49.8097"; } + ListElement{ radius: "50"; angle: "100"; value: "49.2404"; } + ListElement{ radius: "50"; angle: "105"; value: "48.2963"; } + ListElement{ radius: "50"; angle: "110"; value: "46.9846"; } + ListElement{ radius: "50"; angle: "115"; value: "45.3154"; } + ListElement{ radius: "50"; angle: "120"; value: "43.3013"; } + ListElement{ radius: "50"; angle: "125"; value: "40.9576"; } + ListElement{ radius: "50"; angle: "130"; value: "38.3022"; } + ListElement{ radius: "50"; angle: "135"; value: "35.3553"; } + ListElement{ radius: "50"; angle: "140"; value: "32.1394"; } + ListElement{ radius: "50"; angle: "145"; value: "28.6788"; } + ListElement{ radius: "50"; angle: "150"; value: "25"; } + ListElement{ radius: "50"; angle: "155"; value: "21.1309"; } + ListElement{ radius: "50"; angle: "160"; value: "17.101"; } + ListElement{ radius: "50"; angle: "165"; value: "12.941"; } + ListElement{ radius: "50"; angle: "170"; value: "8.68241"; } + ListElement{ radius: "50"; angle: "175"; value: "4.35779"; } + ListElement{ radius: "50"; angle: "180"; value: "9.18485e-15"; } + ListElement{ radius: "50"; angle: "185"; value: "-4.35779"; } + ListElement{ radius: "50"; angle: "190"; value: "-8.68241"; } + ListElement{ radius: "50"; angle: "195"; value: "-12.941"; } + ListElement{ radius: "50"; angle: "200"; value: "-17.101"; } + ListElement{ radius: "50"; angle: "205"; value: "-21.1309"; } + ListElement{ radius: "50"; angle: "210"; value: "-25"; } + ListElement{ radius: "50"; angle: "215"; value: "-28.6788"; } + ListElement{ radius: "50"; angle: "220"; value: "-32.1394"; } + ListElement{ radius: "50"; angle: "225"; value: "-35.3553"; } + ListElement{ radius: "50"; angle: "230"; value: "-38.3022"; } + ListElement{ radius: "50"; angle: "235"; value: "-40.9576"; } + ListElement{ radius: "50"; angle: "240"; value: "-43.3013"; } + ListElement{ radius: "50"; angle: "245"; value: "-45.3154"; } + ListElement{ radius: "50"; angle: "250"; value: "-46.9846"; } + ListElement{ radius: "50"; angle: "255"; value: "-48.2963"; } + ListElement{ radius: "50"; angle: "260"; value: "-49.2404"; } + ListElement{ radius: "50"; angle: "265"; value: "-49.8097"; } + ListElement{ radius: "50"; angle: "270"; value: "-50"; } + ListElement{ radius: "50"; angle: "275"; value: "-49.8097"; } + ListElement{ radius: "50"; angle: "280"; value: "-49.2404"; } + ListElement{ radius: "50"; angle: "285"; value: "-48.2963"; } + ListElement{ radius: "50"; angle: "290"; value: "-46.9846"; } + ListElement{ radius: "50"; angle: "295"; value: "-45.3154"; } + ListElement{ radius: "50"; angle: "300"; value: "-43.3013"; } + ListElement{ radius: "50"; angle: "305"; value: "-40.9576"; } + ListElement{ radius: "50"; angle: "310"; value: "-38.3022"; } + ListElement{ radius: "50"; angle: "315"; value: "-35.3553"; } + ListElement{ radius: "50"; angle: "320"; value: "-32.1394"; } + ListElement{ radius: "50"; angle: "325"; value: "-28.6788"; } + ListElement{ radius: "50"; angle: "330"; value: "-25"; } + ListElement{ radius: "50"; angle: "335"; value: "-21.1309"; } + ListElement{ radius: "50"; angle: "340"; value: "-17.101"; } + ListElement{ radius: "50"; angle: "345"; value: "-12.941"; } + ListElement{ radius: "50"; angle: "350"; value: "-8.68241"; } + ListElement{ radius: "50"; angle: "355"; value: "-4.35779"; } + ListElement{ radius: "50"; angle: "360"; value: "-9.18485e-15"; } + ListElement{ radius: "55"; angle: "0"; value: "-7.82172"; } + ListElement{ radius: "55"; angle: "5"; value: "-3.46394"; } + ListElement{ radius: "55"; angle: "10"; value: "0.860686"; } + ListElement{ radius: "55"; angle: "15"; value: "5.11923"; } + ListElement{ radius: "55"; angle: "20"; value: "9.27928"; } + ListElement{ radius: "55"; angle: "25"; value: "13.3092"; } + ListElement{ radius: "55"; angle: "30"; value: "17.1783"; } + ListElement{ radius: "55"; angle: "35"; value: "20.8571"; } + ListElement{ radius: "55"; angle: "40"; value: "24.3177"; } + ListElement{ radius: "55"; angle: "45"; value: "27.5336"; } + ListElement{ radius: "55"; angle: "50"; value: "30.4805"; } + ListElement{ radius: "55"; angle: "55"; value: "33.1359"; } + ListElement{ radius: "55"; angle: "60"; value: "35.4795"; } + ListElement{ radius: "55"; angle: "65"; value: "37.4937"; } + ListElement{ radius: "55"; angle: "70"; value: "39.1629"; } + ListElement{ radius: "55"; angle: "75"; value: "40.4746"; } + ListElement{ radius: "55"; angle: "80"; value: "41.4187"; } + ListElement{ radius: "55"; angle: "85"; value: "41.988"; } + ListElement{ radius: "55"; angle: "90"; value: "42.1783"; } + ListElement{ radius: "55"; angle: "95"; value: "41.988"; } + ListElement{ radius: "55"; angle: "100"; value: "41.4187"; } + ListElement{ radius: "55"; angle: "105"; value: "40.4746"; } + ListElement{ radius: "55"; angle: "110"; value: "39.1629"; } + ListElement{ radius: "55"; angle: "115"; value: "37.4937"; } + ListElement{ radius: "55"; angle: "120"; value: "35.4795"; } + ListElement{ radius: "55"; angle: "125"; value: "33.1359"; } + ListElement{ radius: "55"; angle: "130"; value: "30.4805"; } + ListElement{ radius: "55"; angle: "135"; value: "27.5336"; } + ListElement{ radius: "55"; angle: "140"; value: "24.3177"; } + ListElement{ radius: "55"; angle: "145"; value: "20.8571"; } + ListElement{ radius: "55"; angle: "150"; value: "17.1783"; } + ListElement{ radius: "55"; angle: "155"; value: "13.3092"; } + ListElement{ radius: "55"; angle: "160"; value: "9.27928"; } + ListElement{ radius: "55"; angle: "165"; value: "5.11923"; } + ListElement{ radius: "55"; angle: "170"; value: "0.860686"; } + ListElement{ radius: "55"; angle: "175"; value: "-3.46394"; } + ListElement{ radius: "55"; angle: "180"; value: "-7.82172"; } + ListElement{ radius: "55"; angle: "185"; value: "-12.1795"; } + ListElement{ radius: "55"; angle: "190"; value: "-16.5041"; } + ListElement{ radius: "55"; angle: "195"; value: "-20.7627"; } + ListElement{ radius: "55"; angle: "200"; value: "-24.9227"; } + ListElement{ radius: "55"; angle: "205"; value: "-28.9526"; } + ListElement{ radius: "55"; angle: "210"; value: "-32.8217"; } + ListElement{ radius: "55"; angle: "215"; value: "-36.5005"; } + ListElement{ radius: "55"; angle: "220"; value: "-39.9611"; } + ListElement{ radius: "55"; angle: "225"; value: "-43.1771"; } + ListElement{ radius: "55"; angle: "230"; value: "-46.1239"; } + ListElement{ radius: "55"; angle: "235"; value: "-48.7793"; } + ListElement{ radius: "55"; angle: "240"; value: "-51.123"; } + ListElement{ radius: "55"; angle: "245"; value: "-53.1371"; } + ListElement{ radius: "55"; angle: "250"; value: "-54.8064"; } + ListElement{ radius: "55"; angle: "255"; value: "-56.118"; } + ListElement{ radius: "55"; angle: "260"; value: "-57.0621"; } + ListElement{ radius: "55"; angle: "265"; value: "-57.6315"; } + ListElement{ radius: "55"; angle: "270"; value: "-57.8217"; } + ListElement{ radius: "55"; angle: "275"; value: "-57.6315"; } + ListElement{ radius: "55"; angle: "280"; value: "-57.0621"; } + ListElement{ radius: "55"; angle: "285"; value: "-56.118"; } + ListElement{ radius: "55"; angle: "290"; value: "-54.8064"; } + ListElement{ radius: "55"; angle: "295"; value: "-53.1371"; } + ListElement{ radius: "55"; angle: "300"; value: "-51.123"; } + ListElement{ radius: "55"; angle: "305"; value: "-48.7793"; } + ListElement{ radius: "55"; angle: "310"; value: "-46.1239"; } + ListElement{ radius: "55"; angle: "315"; value: "-43.1771"; } + ListElement{ radius: "55"; angle: "320"; value: "-39.9611"; } + ListElement{ radius: "55"; angle: "325"; value: "-36.5005"; } + ListElement{ radius: "55"; angle: "330"; value: "-32.8217"; } + ListElement{ radius: "55"; angle: "335"; value: "-28.9526"; } + ListElement{ radius: "55"; angle: "340"; value: "-24.9227"; } + ListElement{ radius: "55"; angle: "345"; value: "-20.7627"; } + ListElement{ radius: "55"; angle: "350"; value: "-16.5041"; } + ListElement{ radius: "55"; angle: "355"; value: "-12.1795"; } + ListElement{ radius: "55"; angle: "360"; value: "-7.82172"; } + ListElement{ radius: "60"; angle: "0"; value: "-15.4508"; } + ListElement{ radius: "60"; angle: "5"; value: "-11.0931"; } + ListElement{ radius: "60"; angle: "10"; value: "-6.76844"; } + ListElement{ radius: "60"; angle: "15"; value: "-2.5099"; } + ListElement{ radius: "60"; angle: "20"; value: "1.65016"; } + ListElement{ radius: "60"; angle: "25"; value: "5.68006"; } + ListElement{ radius: "60"; angle: "30"; value: "9.54915"; } + ListElement{ radius: "60"; angle: "35"; value: "13.228"; } + ListElement{ radius: "60"; angle: "40"; value: "16.6885"; } + ListElement{ radius: "60"; angle: "45"; value: "19.9045"; } + ListElement{ radius: "60"; angle: "50"; value: "22.8514"; } + ListElement{ radius: "60"; angle: "55"; value: "25.5068"; } + ListElement{ radius: "60"; angle: "60"; value: "27.8504"; } + ListElement{ radius: "60"; angle: "65"; value: "29.8645"; } + ListElement{ radius: "60"; angle: "70"; value: "31.5338"; } + ListElement{ radius: "60"; angle: "75"; value: "32.8454"; } + ListElement{ radius: "60"; angle: "80"; value: "33.7895"; } + ListElement{ radius: "60"; angle: "85"; value: "34.3589"; } + ListElement{ radius: "60"; angle: "90"; value: "34.5492"; } + ListElement{ radius: "60"; angle: "95"; value: "34.3589"; } + ListElement{ radius: "60"; angle: "100"; value: "33.7895"; } + ListElement{ radius: "60"; angle: "105"; value: "32.8454"; } + ListElement{ radius: "60"; angle: "110"; value: "31.5338"; } + ListElement{ radius: "60"; angle: "115"; value: "29.8645"; } + ListElement{ radius: "60"; angle: "120"; value: "27.8504"; } + ListElement{ radius: "60"; angle: "125"; value: "25.5068"; } + ListElement{ radius: "60"; angle: "130"; value: "22.8514"; } + ListElement{ radius: "60"; angle: "135"; value: "19.9045"; } + ListElement{ radius: "60"; angle: "140"; value: "16.6885"; } + ListElement{ radius: "60"; angle: "145"; value: "13.228"; } + ListElement{ radius: "60"; angle: "150"; value: "9.54915"; } + ListElement{ radius: "60"; angle: "155"; value: "5.68006"; } + ListElement{ radius: "60"; angle: "160"; value: "1.65016"; } + ListElement{ radius: "60"; angle: "165"; value: "-2.5099"; } + ListElement{ radius: "60"; angle: "170"; value: "-6.76844"; } + ListElement{ radius: "60"; angle: "175"; value: "-11.0931"; } + ListElement{ radius: "60"; angle: "180"; value: "-15.4508"; } + ListElement{ radius: "60"; angle: "185"; value: "-19.8086"; } + ListElement{ radius: "60"; angle: "190"; value: "-24.1333"; } + ListElement{ radius: "60"; angle: "195"; value: "-28.3918"; } + ListElement{ radius: "60"; angle: "200"; value: "-32.5519"; } + ListElement{ radius: "60"; angle: "205"; value: "-36.5818"; } + ListElement{ radius: "60"; angle: "210"; value: "-40.4508"; } + ListElement{ radius: "60"; angle: "215"; value: "-44.1297"; } + ListElement{ radius: "60"; angle: "220"; value: "-47.5902"; } + ListElement{ radius: "60"; angle: "225"; value: "-50.8062"; } + ListElement{ radius: "60"; angle: "230"; value: "-53.7531"; } + ListElement{ radius: "60"; angle: "235"; value: "-56.4085"; } + ListElement{ radius: "60"; angle: "240"; value: "-58.7521"; } + ListElement{ radius: "60"; angle: "245"; value: "-60.7662"; } + ListElement{ radius: "60"; angle: "250"; value: "-62.4355"; } + ListElement{ radius: "60"; angle: "255"; value: "-63.7471"; } + ListElement{ radius: "60"; angle: "260"; value: "-64.6912"; } + ListElement{ radius: "60"; angle: "265"; value: "-65.2606"; } + ListElement{ radius: "60"; angle: "270"; value: "-65.4508"; } + ListElement{ radius: "60"; angle: "275"; value: "-65.2606"; } + ListElement{ radius: "60"; angle: "280"; value: "-64.6912"; } + ListElement{ radius: "60"; angle: "285"; value: "-63.7471"; } + ListElement{ radius: "60"; angle: "290"; value: "-62.4355"; } + ListElement{ radius: "60"; angle: "295"; value: "-60.7662"; } + ListElement{ radius: "60"; angle: "300"; value: "-58.7521"; } + ListElement{ radius: "60"; angle: "305"; value: "-56.4085"; } + ListElement{ radius: "60"; angle: "310"; value: "-53.7531"; } + ListElement{ radius: "60"; angle: "315"; value: "-50.8062"; } + ListElement{ radius: "60"; angle: "320"; value: "-47.5902"; } + ListElement{ radius: "60"; angle: "325"; value: "-44.1297"; } + ListElement{ radius: "60"; angle: "330"; value: "-40.4508"; } + ListElement{ radius: "60"; angle: "335"; value: "-36.5818"; } + ListElement{ radius: "60"; angle: "340"; value: "-32.5519"; } + ListElement{ radius: "60"; angle: "345"; value: "-28.3918"; } + ListElement{ radius: "60"; angle: "350"; value: "-24.1333"; } + ListElement{ radius: "60"; angle: "355"; value: "-19.8086"; } + ListElement{ radius: "60"; angle: "360"; value: "-15.4508"; } + ListElement{ radius: "65"; angle: "0"; value: "-22.6995"; } + ListElement{ radius: "65"; angle: "5"; value: "-18.3417"; } + ListElement{ radius: "65"; angle: "10"; value: "-14.0171"; } + ListElement{ radius: "65"; angle: "15"; value: "-9.75857"; } + ListElement{ radius: "65"; angle: "20"; value: "-5.59852"; } + ListElement{ radius: "65"; angle: "25"; value: "-1.56861"; } + ListElement{ radius: "65"; angle: "30"; value: "2.30048"; } + ListElement{ radius: "65"; angle: "35"; value: "5.9793"; } + ListElement{ radius: "65"; angle: "40"; value: "9.43986"; } + ListElement{ radius: "65"; angle: "45"; value: "12.6558"; } + ListElement{ radius: "65"; angle: "50"; value: "15.6027"; } + ListElement{ radius: "65"; angle: "55"; value: "18.2581"; } + ListElement{ radius: "65"; angle: "60"; value: "20.6017"; } + ListElement{ radius: "65"; angle: "65"; value: "22.6159"; } + ListElement{ radius: "65"; angle: "70"; value: "24.2851"; } + ListElement{ radius: "65"; angle: "75"; value: "25.5968"; } + ListElement{ radius: "65"; angle: "80"; value: "26.5409"; } + ListElement{ radius: "65"; angle: "85"; value: "27.1102"; } + ListElement{ radius: "65"; angle: "90"; value: "27.3005"; } + ListElement{ radius: "65"; angle: "95"; value: "27.1102"; } + ListElement{ radius: "65"; angle: "100"; value: "26.5409"; } + ListElement{ radius: "65"; angle: "105"; value: "25.5968"; } + ListElement{ radius: "65"; angle: "110"; value: "24.2851"; } + ListElement{ radius: "65"; angle: "115"; value: "22.6159"; } + ListElement{ radius: "65"; angle: "120"; value: "20.6017"; } + ListElement{ radius: "65"; angle: "125"; value: "18.2581"; } + ListElement{ radius: "65"; angle: "130"; value: "15.6027"; } + ListElement{ radius: "65"; angle: "135"; value: "12.6558"; } + ListElement{ radius: "65"; angle: "140"; value: "9.43986"; } + ListElement{ radius: "65"; angle: "145"; value: "5.9793"; } + ListElement{ radius: "65"; angle: "150"; value: "2.30048"; } + ListElement{ radius: "65"; angle: "155"; value: "-1.56861"; } + ListElement{ radius: "65"; angle: "160"; value: "-5.59852"; } + ListElement{ radius: "65"; angle: "165"; value: "-9.75857"; } + ListElement{ radius: "65"; angle: "170"; value: "-14.0171"; } + ListElement{ radius: "65"; angle: "175"; value: "-18.3417"; } + ListElement{ radius: "65"; angle: "180"; value: "-22.6995"; } + ListElement{ radius: "65"; angle: "185"; value: "-27.0573"; } + ListElement{ radius: "65"; angle: "190"; value: "-31.3819"; } + ListElement{ radius: "65"; angle: "195"; value: "-35.6405"; } + ListElement{ radius: "65"; angle: "200"; value: "-39.8005"; } + ListElement{ radius: "65"; angle: "205"; value: "-43.8304"; } + ListElement{ radius: "65"; angle: "210"; value: "-47.6995"; } + ListElement{ radius: "65"; angle: "215"; value: "-51.3783"; } + ListElement{ radius: "65"; angle: "220"; value: "-54.8389"; } + ListElement{ radius: "65"; angle: "225"; value: "-58.0549"; } + ListElement{ radius: "65"; angle: "230"; value: "-61.0017"; } + ListElement{ radius: "65"; angle: "235"; value: "-63.6571"; } + ListElement{ radius: "65"; angle: "240"; value: "-66.0008"; } + ListElement{ radius: "65"; angle: "245"; value: "-68.0149"; } + ListElement{ radius: "65"; angle: "250"; value: "-69.6842"; } + ListElement{ radius: "65"; angle: "255"; value: "-70.9958"; } + ListElement{ radius: "65"; angle: "260"; value: "-71.9399"; } + ListElement{ radius: "65"; angle: "265"; value: "-72.5093"; } + ListElement{ radius: "65"; angle: "270"; value: "-72.6995"; } + ListElement{ radius: "65"; angle: "275"; value: "-72.5093"; } + ListElement{ radius: "65"; angle: "280"; value: "-71.9399"; } + ListElement{ radius: "65"; angle: "285"; value: "-70.9958"; } + ListElement{ radius: "65"; angle: "290"; value: "-69.6842"; } + ListElement{ radius: "65"; angle: "295"; value: "-68.0149"; } + ListElement{ radius: "65"; angle: "300"; value: "-66.0008"; } + ListElement{ radius: "65"; angle: "305"; value: "-63.6571"; } + ListElement{ radius: "65"; angle: "310"; value: "-61.0017"; } + ListElement{ radius: "65"; angle: "315"; value: "-58.0549"; } + ListElement{ radius: "65"; angle: "320"; value: "-54.8389"; } + ListElement{ radius: "65"; angle: "325"; value: "-51.3783"; } + ListElement{ radius: "65"; angle: "330"; value: "-47.6995"; } + ListElement{ radius: "65"; angle: "335"; value: "-43.8304"; } + ListElement{ radius: "65"; angle: "340"; value: "-39.8005"; } + ListElement{ radius: "65"; angle: "345"; value: "-35.6405"; } + ListElement{ radius: "65"; angle: "350"; value: "-31.3819"; } + ListElement{ radius: "65"; angle: "355"; value: "-27.0573"; } + ListElement{ radius: "65"; angle: "360"; value: "-22.6995"; } + ListElement{ radius: "70"; angle: "0"; value: "-29.3893"; } + ListElement{ radius: "70"; angle: "5"; value: "-25.0315"; } + ListElement{ radius: "70"; angle: "10"; value: "-20.7069"; } + ListElement{ radius: "70"; angle: "15"; value: "-16.4483"; } + ListElement{ radius: "70"; angle: "20"; value: "-12.2883"; } + ListElement{ radius: "70"; angle: "25"; value: "-8.25835"; } + ListElement{ radius: "70"; angle: "30"; value: "-4.38926"; } + ListElement{ radius: "70"; angle: "35"; value: "-0.710441"; } + ListElement{ radius: "70"; angle: "40"; value: "2.75012"; } + ListElement{ radius: "70"; angle: "45"; value: "5.96608"; } + ListElement{ radius: "70"; angle: "50"; value: "8.91296"; } + ListElement{ radius: "70"; angle: "55"; value: "11.5683"; } + ListElement{ radius: "70"; angle: "60"; value: "13.912"; } + ListElement{ radius: "70"; angle: "65"; value: "15.9261"; } + ListElement{ radius: "70"; angle: "70"; value: "17.5954"; } + ListElement{ radius: "70"; angle: "75"; value: "18.907"; } + ListElement{ radius: "70"; angle: "80"; value: "19.8511"; } + ListElement{ radius: "70"; angle: "85"; value: "20.4205"; } + ListElement{ radius: "70"; angle: "90"; value: "20.6107"; } + ListElement{ radius: "70"; angle: "95"; value: "20.4205"; } + ListElement{ radius: "70"; angle: "100"; value: "19.8511"; } + ListElement{ radius: "70"; angle: "105"; value: "18.907"; } + ListElement{ radius: "70"; angle: "110"; value: "17.5954"; } + ListElement{ radius: "70"; angle: "115"; value: "15.9261"; } + ListElement{ radius: "70"; angle: "120"; value: "13.912"; } + ListElement{ radius: "70"; angle: "125"; value: "11.5683"; } + ListElement{ radius: "70"; angle: "130"; value: "8.91296"; } + ListElement{ radius: "70"; angle: "135"; value: "5.96608"; } + ListElement{ radius: "70"; angle: "140"; value: "2.75012"; } + ListElement{ radius: "70"; angle: "145"; value: "-0.710441"; } + ListElement{ radius: "70"; angle: "150"; value: "-4.38926"; } + ListElement{ radius: "70"; angle: "155"; value: "-8.25835"; } + ListElement{ radius: "70"; angle: "160"; value: "-12.2883"; } + ListElement{ radius: "70"; angle: "165"; value: "-16.4483"; } + ListElement{ radius: "70"; angle: "170"; value: "-20.7069"; } + ListElement{ radius: "70"; angle: "175"; value: "-25.0315"; } + ListElement{ radius: "70"; angle: "180"; value: "-29.3893"; } + ListElement{ radius: "70"; angle: "185"; value: "-33.747"; } + ListElement{ radius: "70"; angle: "190"; value: "-38.0717"; } + ListElement{ radius: "70"; angle: "195"; value: "-42.3302"; } + ListElement{ radius: "70"; angle: "200"; value: "-46.4903"; } + ListElement{ radius: "70"; angle: "205"; value: "-50.5202"; } + ListElement{ radius: "70"; angle: "210"; value: "-54.3893"; } + ListElement{ radius: "70"; angle: "215"; value: "-58.0681"; } + ListElement{ radius: "70"; angle: "220"; value: "-61.5286"; } + ListElement{ radius: "70"; angle: "225"; value: "-64.7446"; } + ListElement{ radius: "70"; angle: "230"; value: "-67.6915"; } + ListElement{ radius: "70"; angle: "235"; value: "-70.3469"; } + ListElement{ radius: "70"; angle: "240"; value: "-72.6905"; } + ListElement{ radius: "70"; angle: "245"; value: "-74.7047"; } + ListElement{ radius: "70"; angle: "250"; value: "-76.3739"; } + ListElement{ radius: "70"; angle: "255"; value: "-77.6856"; } + ListElement{ radius: "70"; angle: "260"; value: "-78.6297"; } + ListElement{ radius: "70"; angle: "265"; value: "-79.199"; } + ListElement{ radius: "70"; angle: "270"; value: "-79.3893"; } + ListElement{ radius: "70"; angle: "275"; value: "-79.199"; } + ListElement{ radius: "70"; angle: "280"; value: "-78.6297"; } + ListElement{ radius: "70"; angle: "285"; value: "-77.6856"; } + ListElement{ radius: "70"; angle: "290"; value: "-76.3739"; } + ListElement{ radius: "70"; angle: "295"; value: "-74.7047"; } + ListElement{ radius: "70"; angle: "300"; value: "-72.6905"; } + ListElement{ radius: "70"; angle: "305"; value: "-70.3469"; } + ListElement{ radius: "70"; angle: "310"; value: "-67.6915"; } + ListElement{ radius: "70"; angle: "315"; value: "-64.7446"; } + ListElement{ radius: "70"; angle: "320"; value: "-61.5286"; } + ListElement{ radius: "70"; angle: "325"; value: "-58.0681"; } + ListElement{ radius: "70"; angle: "330"; value: "-54.3893"; } + ListElement{ radius: "70"; angle: "335"; value: "-50.5202"; } + ListElement{ radius: "70"; angle: "340"; value: "-46.4903"; } + ListElement{ radius: "70"; angle: "345"; value: "-42.3302"; } + ListElement{ radius: "70"; angle: "350"; value: "-38.0717"; } + ListElement{ radius: "70"; angle: "355"; value: "-33.747"; } + ListElement{ radius: "70"; angle: "360"; value: "-29.3893"; } + ListElement{ radius: "75"; angle: "0"; value: "-35.3553"; } + ListElement{ radius: "75"; angle: "5"; value: "-30.9976"; } + ListElement{ radius: "75"; angle: "10"; value: "-26.6729"; } + ListElement{ radius: "75"; angle: "15"; value: "-22.4144"; } + ListElement{ radius: "75"; angle: "20"; value: "-18.2543"; } + ListElement{ radius: "75"; angle: "25"; value: "-14.2244"; } + ListElement{ radius: "75"; angle: "30"; value: "-10.3553"; } + ListElement{ radius: "75"; angle: "35"; value: "-6.67652"; } + ListElement{ radius: "75"; angle: "40"; value: "-3.21596"; } + ListElement{ radius: "75"; angle: "45"; value: "5.55112e-15"; } + ListElement{ radius: "75"; angle: "50"; value: "2.94688"; } + ListElement{ radius: "75"; angle: "55"; value: "5.60226"; } + ListElement{ radius: "75"; angle: "60"; value: "7.94593"; } + ListElement{ radius: "75"; angle: "65"; value: "9.96005"; } + ListElement{ radius: "75"; angle: "70"; value: "11.6293"; } + ListElement{ radius: "75"; angle: "75"; value: "12.941"; } + ListElement{ radius: "75"; angle: "80"; value: "13.885"; } + ListElement{ radius: "75"; angle: "85"; value: "14.4544"; } + ListElement{ radius: "75"; angle: "90"; value: "14.6447"; } + ListElement{ radius: "75"; angle: "95"; value: "14.4544"; } + ListElement{ radius: "75"; angle: "100"; value: "13.885"; } + ListElement{ radius: "75"; angle: "105"; value: "12.941"; } + ListElement{ radius: "75"; angle: "110"; value: "11.6293"; } + ListElement{ radius: "75"; angle: "115"; value: "9.96005"; } + ListElement{ radius: "75"; angle: "120"; value: "7.94593"; } + ListElement{ radius: "75"; angle: "125"; value: "5.60226"; } + ListElement{ radius: "75"; angle: "130"; value: "2.94688"; } + ListElement{ radius: "75"; angle: "135"; value: "5.55112e-15"; } + ListElement{ radius: "75"; angle: "140"; value: "-3.21596"; } + ListElement{ radius: "75"; angle: "145"; value: "-6.67652"; } + ListElement{ radius: "75"; angle: "150"; value: "-10.3553"; } + ListElement{ radius: "75"; angle: "155"; value: "-14.2244"; } + ListElement{ radius: "75"; angle: "160"; value: "-18.2543"; } + ListElement{ radius: "75"; angle: "165"; value: "-22.4144"; } + ListElement{ radius: "75"; angle: "170"; value: "-26.6729"; } + ListElement{ radius: "75"; angle: "175"; value: "-30.9976"; } + ListElement{ radius: "75"; angle: "180"; value: "-35.3553"; } + ListElement{ radius: "75"; angle: "185"; value: "-39.7131"; } + ListElement{ radius: "75"; angle: "190"; value: "-44.0377"; } + ListElement{ radius: "75"; angle: "195"; value: "-48.2963"; } + ListElement{ radius: "75"; angle: "200"; value: "-52.4563"; } + ListElement{ radius: "75"; angle: "205"; value: "-56.4863"; } + ListElement{ radius: "75"; angle: "210"; value: "-60.3553"; } + ListElement{ radius: "75"; angle: "215"; value: "-64.0342"; } + ListElement{ radius: "75"; angle: "220"; value: "-67.4947"; } + ListElement{ radius: "75"; angle: "225"; value: "-70.7107"; } + ListElement{ radius: "75"; angle: "230"; value: "-73.6576"; } + ListElement{ radius: "75"; angle: "235"; value: "-76.3129"; } + ListElement{ radius: "75"; angle: "240"; value: "-78.6566"; } + ListElement{ radius: "75"; angle: "245"; value: "-80.6707"; } + ListElement{ radius: "75"; angle: "250"; value: "-82.34"; } + ListElement{ radius: "75"; angle: "255"; value: "-83.6516"; } + ListElement{ radius: "75"; angle: "260"; value: "-84.5957"; } + ListElement{ radius: "75"; angle: "265"; value: "-85.1651"; } + ListElement{ radius: "75"; angle: "270"; value: "-85.3553"; } + ListElement{ radius: "75"; angle: "275"; value: "-85.1651"; } + ListElement{ radius: "75"; angle: "280"; value: "-84.5957"; } + ListElement{ radius: "75"; angle: "285"; value: "-83.6516"; } + ListElement{ radius: "75"; angle: "290"; value: "-82.34"; } + ListElement{ radius: "75"; angle: "295"; value: "-80.6707"; } + ListElement{ radius: "75"; angle: "300"; value: "-78.6566"; } + ListElement{ radius: "75"; angle: "305"; value: "-76.3129"; } + ListElement{ radius: "75"; angle: "310"; value: "-73.6576"; } + ListElement{ radius: "75"; angle: "315"; value: "-70.7107"; } + ListElement{ radius: "75"; angle: "320"; value: "-67.4947"; } + ListElement{ radius: "75"; angle: "325"; value: "-64.0342"; } + ListElement{ radius: "75"; angle: "330"; value: "-60.3553"; } + ListElement{ radius: "75"; angle: "335"; value: "-56.4863"; } + ListElement{ radius: "75"; angle: "340"; value: "-52.4563"; } + ListElement{ radius: "75"; angle: "345"; value: "-48.2963"; } + ListElement{ radius: "75"; angle: "350"; value: "-44.0377"; } + ListElement{ radius: "75"; angle: "355"; value: "-39.7131"; } + ListElement{ radius: "75"; angle: "360"; value: "-35.3553"; } + ListElement{ radius: "80"; angle: "0"; value: "-40.4508"; } + ListElement{ radius: "80"; angle: "5"; value: "-36.0931"; } + ListElement{ radius: "80"; angle: "10"; value: "-31.7684"; } + ListElement{ radius: "80"; angle: "15"; value: "-27.5099"; } + ListElement{ radius: "80"; angle: "20"; value: "-23.3498"; } + ListElement{ radius: "80"; angle: "25"; value: "-19.3199"; } + ListElement{ radius: "80"; angle: "30"; value: "-15.4508"; } + ListElement{ radius: "80"; angle: "35"; value: "-11.772"; } + ListElement{ radius: "80"; angle: "40"; value: "-8.31147"; } + ListElement{ radius: "80"; angle: "45"; value: "-5.09551"; } + ListElement{ radius: "80"; angle: "50"; value: "-2.14863"; } + ListElement{ radius: "80"; angle: "55"; value: "0.506752"; } + ListElement{ radius: "80"; angle: "60"; value: "2.85042"; } + ListElement{ radius: "80"; angle: "65"; value: "4.86454"; } + ListElement{ radius: "80"; angle: "70"; value: "6.53378"; } + ListElement{ radius: "80"; angle: "75"; value: "7.84544"; } + ListElement{ radius: "80"; angle: "80"; value: "8.78954"; } + ListElement{ radius: "80"; angle: "85"; value: "9.35889"; } + ListElement{ radius: "80"; angle: "90"; value: "9.54915"; } + ListElement{ radius: "80"; angle: "95"; value: "9.35889"; } + ListElement{ radius: "80"; angle: "100"; value: "8.78954"; } + ListElement{ radius: "80"; angle: "105"; value: "7.84544"; } + ListElement{ radius: "80"; angle: "110"; value: "6.53378"; } + ListElement{ radius: "80"; angle: "115"; value: "4.86454"; } + ListElement{ radius: "80"; angle: "120"; value: "2.85042"; } + ListElement{ radius: "80"; angle: "125"; value: "0.506752"; } + ListElement{ radius: "80"; angle: "130"; value: "-2.14863"; } + ListElement{ radius: "80"; angle: "135"; value: "-5.09551"; } + ListElement{ radius: "80"; angle: "140"; value: "-8.31147"; } + ListElement{ radius: "80"; angle: "145"; value: "-11.772"; } + ListElement{ radius: "80"; angle: "150"; value: "-15.4508"; } + ListElement{ radius: "80"; angle: "155"; value: "-19.3199"; } + ListElement{ radius: "80"; angle: "160"; value: "-23.3498"; } + ListElement{ radius: "80"; angle: "165"; value: "-27.5099"; } + ListElement{ radius: "80"; angle: "170"; value: "-31.7684"; } + ListElement{ radius: "80"; angle: "175"; value: "-36.0931"; } + ListElement{ radius: "80"; angle: "180"; value: "-40.4508"; } + ListElement{ radius: "80"; angle: "185"; value: "-44.8086"; } + ListElement{ radius: "80"; angle: "190"; value: "-49.1333"; } + ListElement{ radius: "80"; angle: "195"; value: "-53.3918"; } + ListElement{ radius: "80"; angle: "200"; value: "-57.5519"; } + ListElement{ radius: "80"; angle: "205"; value: "-61.5818"; } + ListElement{ radius: "80"; angle: "210"; value: "-65.4508"; } + ListElement{ radius: "80"; angle: "215"; value: "-69.1297"; } + ListElement{ radius: "80"; angle: "220"; value: "-72.5902"; } + ListElement{ radius: "80"; angle: "225"; value: "-75.8062"; } + ListElement{ radius: "80"; angle: "230"; value: "-78.7531"; } + ListElement{ radius: "80"; angle: "235"; value: "-81.4085"; } + ListElement{ radius: "80"; angle: "240"; value: "-83.7521"; } + ListElement{ radius: "80"; angle: "245"; value: "-85.7662"; } + ListElement{ radius: "80"; angle: "250"; value: "-87.4355"; } + ListElement{ radius: "80"; angle: "255"; value: "-88.7471"; } + ListElement{ radius: "80"; angle: "260"; value: "-89.6912"; } + ListElement{ radius: "80"; angle: "265"; value: "-90.2606"; } + ListElement{ radius: "80"; angle: "270"; value: "-90.4508"; } + ListElement{ radius: "80"; angle: "275"; value: "-90.2606"; } + ListElement{ radius: "80"; angle: "280"; value: "-89.6912"; } + ListElement{ radius: "80"; angle: "285"; value: "-88.7471"; } + ListElement{ radius: "80"; angle: "290"; value: "-87.4355"; } + ListElement{ radius: "80"; angle: "295"; value: "-85.7662"; } + ListElement{ radius: "80"; angle: "300"; value: "-83.7521"; } + ListElement{ radius: "80"; angle: "305"; value: "-81.4085"; } + ListElement{ radius: "80"; angle: "310"; value: "-78.7531"; } + ListElement{ radius: "80"; angle: "315"; value: "-75.8062"; } + ListElement{ radius: "80"; angle: "320"; value: "-72.5902"; } + ListElement{ radius: "80"; angle: "325"; value: "-69.1297"; } + ListElement{ radius: "80"; angle: "330"; value: "-65.4508"; } + ListElement{ radius: "80"; angle: "335"; value: "-61.5818"; } + ListElement{ radius: "80"; angle: "340"; value: "-57.5519"; } + ListElement{ radius: "80"; angle: "345"; value: "-53.3918"; } + ListElement{ radius: "80"; angle: "350"; value: "-49.1333"; } + ListElement{ radius: "80"; angle: "355"; value: "-44.8086"; } + ListElement{ radius: "80"; angle: "360"; value: "-40.4508"; } + ListElement{ radius: "85"; angle: "0"; value: "-44.5503"; } + ListElement{ radius: "85"; angle: "5"; value: "-40.1925"; } + ListElement{ radius: "85"; angle: "10"; value: "-35.8679"; } + ListElement{ radius: "85"; angle: "15"; value: "-31.6094"; } + ListElement{ radius: "85"; angle: "20"; value: "-27.4493"; } + ListElement{ radius: "85"; angle: "25"; value: "-23.4194"; } + ListElement{ radius: "85"; angle: "30"; value: "-19.5503"; } + ListElement{ radius: "85"; angle: "35"; value: "-15.8715"; } + ListElement{ radius: "85"; angle: "40"; value: "-12.4109"; } + ListElement{ radius: "85"; angle: "45"; value: "-9.19499"; } + ListElement{ radius: "85"; angle: "50"; value: "-6.2481"; } + ListElement{ radius: "85"; angle: "55"; value: "-3.59272"; } + ListElement{ radius: "85"; angle: "60"; value: "-1.24906"; } + ListElement{ radius: "85"; angle: "65"; value: "0.765063"; } + ListElement{ radius: "85"; angle: "70"; value: "2.4343"; } + ListElement{ radius: "85"; angle: "75"; value: "3.74597"; } + ListElement{ radius: "85"; angle: "80"; value: "4.69006"; } + ListElement{ radius: "85"; angle: "85"; value: "5.25941"; } + ListElement{ radius: "85"; angle: "90"; value: "5.44967"; } + ListElement{ radius: "85"; angle: "95"; value: "5.25941"; } + ListElement{ radius: "85"; angle: "100"; value: "4.69006"; } + ListElement{ radius: "85"; angle: "105"; value: "3.74597"; } + ListElement{ radius: "85"; angle: "110"; value: "2.4343"; } + ListElement{ radius: "85"; angle: "115"; value: "0.765063"; } + ListElement{ radius: "85"; angle: "120"; value: "-1.24906"; } + ListElement{ radius: "85"; angle: "125"; value: "-3.59272"; } + ListElement{ radius: "85"; angle: "130"; value: "-6.2481"; } + ListElement{ radius: "85"; angle: "135"; value: "-9.19499"; } + ListElement{ radius: "85"; angle: "140"; value: "-12.4109"; } + ListElement{ radius: "85"; angle: "145"; value: "-15.8715"; } + ListElement{ radius: "85"; angle: "150"; value: "-19.5503"; } + ListElement{ radius: "85"; angle: "155"; value: "-23.4194"; } + ListElement{ radius: "85"; angle: "160"; value: "-27.4493"; } + ListElement{ radius: "85"; angle: "165"; value: "-31.6094"; } + ListElement{ radius: "85"; angle: "170"; value: "-35.8679"; } + ListElement{ radius: "85"; angle: "175"; value: "-40.1925"; } + ListElement{ radius: "85"; angle: "180"; value: "-44.5503"; } + ListElement{ radius: "85"; angle: "185"; value: "-48.9081"; } + ListElement{ radius: "85"; angle: "190"; value: "-53.2327"; } + ListElement{ radius: "85"; angle: "195"; value: "-57.4913"; } + ListElement{ radius: "85"; angle: "200"; value: "-61.6513"; } + ListElement{ radius: "85"; angle: "205"; value: "-65.6812"; } + ListElement{ radius: "85"; angle: "210"; value: "-69.5503"; } + ListElement{ radius: "85"; angle: "215"; value: "-73.2291"; } + ListElement{ radius: "85"; angle: "220"; value: "-76.6897"; } + ListElement{ radius: "85"; angle: "225"; value: "-79.9057"; } + ListElement{ radius: "85"; angle: "230"; value: "-82.8525"; } + ListElement{ radius: "85"; angle: "235"; value: "-85.5079"; } + ListElement{ radius: "85"; angle: "240"; value: "-87.8516"; } + ListElement{ radius: "85"; angle: "245"; value: "-89.8657"; } + ListElement{ radius: "85"; angle: "250"; value: "-91.535"; } + ListElement{ radius: "85"; angle: "255"; value: "-92.8466"; } + ListElement{ radius: "85"; angle: "260"; value: "-93.7907"; } + ListElement{ radius: "85"; angle: "265"; value: "-94.3601"; } + ListElement{ radius: "85"; angle: "270"; value: "-94.5503"; } + ListElement{ radius: "85"; angle: "275"; value: "-94.3601"; } + ListElement{ radius: "85"; angle: "280"; value: "-93.7907"; } + ListElement{ radius: "85"; angle: "285"; value: "-92.8466"; } + ListElement{ radius: "85"; angle: "290"; value: "-91.535"; } + ListElement{ radius: "85"; angle: "295"; value: "-89.8657"; } + ListElement{ radius: "85"; angle: "300"; value: "-87.8516"; } + ListElement{ radius: "85"; angle: "305"; value: "-85.5079"; } + ListElement{ radius: "85"; angle: "310"; value: "-82.8525"; } + ListElement{ radius: "85"; angle: "315"; value: "-79.9057"; } + ListElement{ radius: "85"; angle: "320"; value: "-76.6897"; } + ListElement{ radius: "85"; angle: "325"; value: "-73.2291"; } + ListElement{ radius: "85"; angle: "330"; value: "-69.5503"; } + ListElement{ radius: "85"; angle: "335"; value: "-65.6812"; } + ListElement{ radius: "85"; angle: "340"; value: "-61.6513"; } + ListElement{ radius: "85"; angle: "345"; value: "-57.4913"; } + ListElement{ radius: "85"; angle: "350"; value: "-53.2327"; } + ListElement{ radius: "85"; angle: "355"; value: "-48.9081"; } + ListElement{ radius: "85"; angle: "360"; value: "-44.5503"; } + ListElement{ radius: "90"; angle: "0"; value: "-47.5528"; } + ListElement{ radius: "90"; angle: "5"; value: "-43.195"; } + ListElement{ radius: "90"; angle: "10"; value: "-38.8704"; } + ListElement{ radius: "90"; angle: "15"; value: "-34.6119"; } + ListElement{ radius: "90"; angle: "20"; value: "-30.4518"; } + ListElement{ radius: "90"; angle: "25"; value: "-26.4219"; } + ListElement{ radius: "90"; angle: "30"; value: "-22.5528"; } + ListElement{ radius: "90"; angle: "35"; value: "-18.874"; } + ListElement{ radius: "90"; angle: "40"; value: "-15.4134"; } + ListElement{ radius: "90"; angle: "45"; value: "-12.1975"; } + ListElement{ radius: "90"; angle: "50"; value: "-9.2506"; } + ListElement{ radius: "90"; angle: "55"; value: "-6.59522"; } + ListElement{ radius: "90"; angle: "60"; value: "-4.25156"; } + ListElement{ radius: "90"; angle: "65"; value: "-2.23744"; } + ListElement{ radius: "90"; angle: "70"; value: "-0.568195"; } + ListElement{ radius: "90"; angle: "75"; value: "0.743465"; } + ListElement{ radius: "90"; angle: "80"; value: "1.68756"; } + ListElement{ radius: "90"; angle: "85"; value: "2.25691"; } + ListElement{ radius: "90"; angle: "90"; value: "2.44717"; } + ListElement{ radius: "90"; angle: "95"; value: "2.25691"; } + ListElement{ radius: "90"; angle: "100"; value: "1.68756"; } + ListElement{ radius: "90"; angle: "105"; value: "0.743465"; } + ListElement{ radius: "90"; angle: "110"; value: "-0.568195"; } + ListElement{ radius: "90"; angle: "115"; value: "-2.23744"; } + ListElement{ radius: "90"; angle: "120"; value: "-4.25156"; } + ListElement{ radius: "90"; angle: "125"; value: "-6.59522"; } + ListElement{ radius: "90"; angle: "130"; value: "-9.2506"; } + ListElement{ radius: "90"; angle: "135"; value: "-12.1975"; } + ListElement{ radius: "90"; angle: "140"; value: "-15.4134"; } + ListElement{ radius: "90"; angle: "145"; value: "-18.874"; } + ListElement{ radius: "90"; angle: "150"; value: "-22.5528"; } + ListElement{ radius: "90"; angle: "155"; value: "-26.4219"; } + ListElement{ radius: "90"; angle: "160"; value: "-30.4518"; } + ListElement{ radius: "90"; angle: "165"; value: "-34.6119"; } + ListElement{ radius: "90"; angle: "170"; value: "-38.8704"; } + ListElement{ radius: "90"; angle: "175"; value: "-43.195"; } + ListElement{ radius: "90"; angle: "180"; value: "-47.5528"; } + ListElement{ radius: "90"; angle: "185"; value: "-51.9106"; } + ListElement{ radius: "90"; angle: "190"; value: "-56.2352"; } + ListElement{ radius: "90"; angle: "195"; value: "-60.4938"; } + ListElement{ radius: "90"; angle: "200"; value: "-64.6538"; } + ListElement{ radius: "90"; angle: "205"; value: "-68.6837"; } + ListElement{ radius: "90"; angle: "210"; value: "-72.5528"; } + ListElement{ radius: "90"; angle: "215"; value: "-76.2316"; } + ListElement{ radius: "90"; angle: "220"; value: "-79.6922"; } + ListElement{ radius: "90"; angle: "225"; value: "-82.9082"; } + ListElement{ radius: "90"; angle: "230"; value: "-85.855"; } + ListElement{ radius: "90"; angle: "235"; value: "-88.5104"; } + ListElement{ radius: "90"; angle: "240"; value: "-90.8541"; } + ListElement{ radius: "90"; angle: "245"; value: "-92.8682"; } + ListElement{ radius: "90"; angle: "250"; value: "-94.5375"; } + ListElement{ radius: "90"; angle: "255"; value: "-95.8491"; } + ListElement{ radius: "90"; angle: "260"; value: "-96.7932"; } + ListElement{ radius: "90"; angle: "265"; value: "-97.3626"; } + ListElement{ radius: "90"; angle: "270"; value: "-97.5528"; } + ListElement{ radius: "90"; angle: "275"; value: "-97.3626"; } + ListElement{ radius: "90"; angle: "280"; value: "-96.7932"; } + ListElement{ radius: "90"; angle: "285"; value: "-95.8491"; } + ListElement{ radius: "90"; angle: "290"; value: "-94.5375"; } + ListElement{ radius: "90"; angle: "295"; value: "-92.8682"; } + ListElement{ radius: "90"; angle: "300"; value: "-90.8541"; } + ListElement{ radius: "90"; angle: "305"; value: "-88.5104"; } + ListElement{ radius: "90"; angle: "310"; value: "-85.855"; } + ListElement{ radius: "90"; angle: "315"; value: "-82.9082"; } + ListElement{ radius: "90"; angle: "320"; value: "-79.6922"; } + ListElement{ radius: "90"; angle: "325"; value: "-76.2316"; } + ListElement{ radius: "90"; angle: "330"; value: "-72.5528"; } + ListElement{ radius: "90"; angle: "335"; value: "-68.6837"; } + ListElement{ radius: "90"; angle: "340"; value: "-64.6538"; } + ListElement{ radius: "90"; angle: "345"; value: "-60.4938"; } + ListElement{ radius: "90"; angle: "350"; value: "-56.2352"; } + ListElement{ radius: "90"; angle: "355"; value: "-51.9106"; } + ListElement{ radius: "90"; angle: "360"; value: "-47.5528"; } + ListElement{ radius: "95"; angle: "0"; value: "-49.3844"; } + ListElement{ radius: "95"; angle: "5"; value: "-45.0266"; } + ListElement{ radius: "95"; angle: "10"; value: "-40.702"; } + ListElement{ radius: "95"; angle: "15"; value: "-36.4435"; } + ListElement{ radius: "95"; angle: "20"; value: "-32.2834"; } + ListElement{ radius: "95"; angle: "25"; value: "-28.2535"; } + ListElement{ radius: "95"; angle: "30"; value: "-24.3844"; } + ListElement{ radius: "95"; angle: "35"; value: "-20.7056"; } + ListElement{ radius: "95"; angle: "40"; value: "-17.245"; } + ListElement{ radius: "95"; angle: "45"; value: "-14.0291"; } + ListElement{ radius: "95"; angle: "50"; value: "-11.0822"; } + ListElement{ radius: "95"; angle: "55"; value: "-8.42681"; } + ListElement{ radius: "95"; angle: "60"; value: "-6.08315"; } + ListElement{ radius: "95"; angle: "65"; value: "-4.06903"; } + ListElement{ radius: "95"; angle: "70"; value: "-2.39979"; } + ListElement{ radius: "95"; angle: "75"; value: "-1.08813"; } + ListElement{ radius: "95"; angle: "80"; value: "-0.144029"; } + ListElement{ radius: "95"; angle: "85"; value: "0.425318"; } + ListElement{ radius: "95"; angle: "90"; value: "0.615583"; } + ListElement{ radius: "95"; angle: "95"; value: "0.425318"; } + ListElement{ radius: "95"; angle: "100"; value: "-0.144029"; } + ListElement{ radius: "95"; angle: "105"; value: "-1.08813"; } + ListElement{ radius: "95"; angle: "110"; value: "-2.39979"; } + ListElement{ radius: "95"; angle: "115"; value: "-4.06903"; } + ListElement{ radius: "95"; angle: "120"; value: "-6.08315"; } + ListElement{ radius: "95"; angle: "125"; value: "-8.42681"; } + ListElement{ radius: "95"; angle: "130"; value: "-11.0822"; } + ListElement{ radius: "95"; angle: "135"; value: "-14.0291"; } + ListElement{ radius: "95"; angle: "140"; value: "-17.245"; } + ListElement{ radius: "95"; angle: "145"; value: "-20.7056"; } + ListElement{ radius: "95"; angle: "150"; value: "-24.3844"; } + ListElement{ radius: "95"; angle: "155"; value: "-28.2535"; } + ListElement{ radius: "95"; angle: "160"; value: "-32.2834"; } + ListElement{ radius: "95"; angle: "165"; value: "-36.4435"; } + ListElement{ radius: "95"; angle: "170"; value: "-40.702"; } + ListElement{ radius: "95"; angle: "175"; value: "-45.0266"; } + ListElement{ radius: "95"; angle: "180"; value: "-49.3844"; } + ListElement{ radius: "95"; angle: "185"; value: "-53.7422"; } + ListElement{ radius: "95"; angle: "190"; value: "-58.0668"; } + ListElement{ radius: "95"; angle: "195"; value: "-62.3254"; } + ListElement{ radius: "95"; angle: "200"; value: "-66.4854"; } + ListElement{ radius: "95"; angle: "205"; value: "-70.5153"; } + ListElement{ radius: "95"; angle: "210"; value: "-74.3844"; } + ListElement{ radius: "95"; angle: "215"; value: "-78.0632"; } + ListElement{ radius: "95"; angle: "220"; value: "-81.5238"; } + ListElement{ radius: "95"; angle: "225"; value: "-84.7398"; } + ListElement{ radius: "95"; angle: "230"; value: "-87.6866"; } + ListElement{ radius: "95"; angle: "235"; value: "-90.342"; } + ListElement{ radius: "95"; angle: "240"; value: "-92.6857"; } + ListElement{ radius: "95"; angle: "245"; value: "-94.6998"; } + ListElement{ radius: "95"; angle: "250"; value: "-96.369"; } + ListElement{ radius: "95"; angle: "255"; value: "-97.6807"; } + ListElement{ radius: "95"; angle: "260"; value: "-98.6248"; } + ListElement{ radius: "95"; angle: "265"; value: "-99.1942"; } + ListElement{ radius: "95"; angle: "270"; value: "-99.3844"; } + ListElement{ radius: "95"; angle: "275"; value: "-99.1942"; } + ListElement{ radius: "95"; angle: "280"; value: "-98.6248"; } + ListElement{ radius: "95"; angle: "285"; value: "-97.6807"; } + ListElement{ radius: "95"; angle: "290"; value: "-96.369"; } + ListElement{ radius: "95"; angle: "295"; value: "-94.6998"; } + ListElement{ radius: "95"; angle: "300"; value: "-92.6857"; } + ListElement{ radius: "95"; angle: "305"; value: "-90.342"; } + ListElement{ radius: "95"; angle: "310"; value: "-87.6866"; } + ListElement{ radius: "95"; angle: "315"; value: "-84.7398"; } + ListElement{ radius: "95"; angle: "320"; value: "-81.5238"; } + ListElement{ radius: "95"; angle: "325"; value: "-78.0632"; } + ListElement{ radius: "95"; angle: "330"; value: "-74.3844"; } + ListElement{ radius: "95"; angle: "335"; value: "-70.5153"; } + ListElement{ radius: "95"; angle: "340"; value: "-66.4854"; } + ListElement{ radius: "95"; angle: "345"; value: "-62.3254"; } + ListElement{ radius: "95"; angle: "350"; value: "-58.0668"; } + ListElement{ radius: "95"; angle: "355"; value: "-53.7422"; } + ListElement{ radius: "95"; angle: "360"; value: "-49.3844"; } + ListElement{ radius: "100"; angle: "0"; value: "-50"; } + ListElement{ radius: "100"; angle: "5"; value: "-45.6422"; } + ListElement{ radius: "100"; angle: "10"; value: "-41.3176"; } + ListElement{ radius: "100"; angle: "15"; value: "-37.059"; } + ListElement{ radius: "100"; angle: "20"; value: "-32.899"; } + ListElement{ radius: "100"; angle: "25"; value: "-28.8691"; } + ListElement{ radius: "100"; angle: "30"; value: "-25"; } + ListElement{ radius: "100"; angle: "35"; value: "-21.3212"; } + ListElement{ radius: "100"; angle: "40"; value: "-17.8606"; } + ListElement{ radius: "100"; angle: "45"; value: "-14.6447"; } + ListElement{ radius: "100"; angle: "50"; value: "-11.6978"; } + ListElement{ radius: "100"; angle: "55"; value: "-9.0424"; } + ListElement{ radius: "100"; angle: "60"; value: "-6.69873"; } + ListElement{ radius: "100"; angle: "65"; value: "-4.68461"; } + ListElement{ radius: "100"; angle: "70"; value: "-3.01537"; } + ListElement{ radius: "100"; angle: "75"; value: "-1.70371"; } + ListElement{ radius: "100"; angle: "80"; value: "-0.759612"; } + ListElement{ radius: "100"; angle: "85"; value: "-0.190265"; } + ListElement{ radius: "100"; angle: "90"; value: "0"; } + ListElement{ radius: "100"; angle: "95"; value: "-0.190265"; } + ListElement{ radius: "100"; angle: "100"; value: "-0.759612"; } + ListElement{ radius: "100"; angle: "105"; value: "-1.70371"; } + ListElement{ radius: "100"; angle: "110"; value: "-3.01537"; } + ListElement{ radius: "100"; angle: "115"; value: "-4.68461"; } + ListElement{ radius: "100"; angle: "120"; value: "-6.69873"; } + ListElement{ radius: "100"; angle: "125"; value: "-9.0424"; } + ListElement{ radius: "100"; angle: "130"; value: "-11.6978"; } + ListElement{ radius: "100"; angle: "135"; value: "-14.6447"; } + ListElement{ radius: "100"; angle: "140"; value: "-17.8606"; } + ListElement{ radius: "100"; angle: "145"; value: "-21.3212"; } + ListElement{ radius: "100"; angle: "150"; value: "-25"; } + ListElement{ radius: "100"; angle: "155"; value: "-28.8691"; } + ListElement{ radius: "100"; angle: "160"; value: "-32.899"; } + ListElement{ radius: "100"; angle: "165"; value: "-37.059"; } + ListElement{ radius: "100"; angle: "170"; value: "-41.3176"; } + ListElement{ radius: "100"; angle: "175"; value: "-45.6422"; } + ListElement{ radius: "100"; angle: "180"; value: "-50"; } + ListElement{ radius: "100"; angle: "185"; value: "-54.3578"; } + ListElement{ radius: "100"; angle: "190"; value: "-58.6824"; } + ListElement{ radius: "100"; angle: "195"; value: "-62.941"; } + ListElement{ radius: "100"; angle: "200"; value: "-67.101"; } + ListElement{ radius: "100"; angle: "205"; value: "-71.1309"; } + ListElement{ radius: "100"; angle: "210"; value: "-75"; } + ListElement{ radius: "100"; angle: "215"; value: "-78.6788"; } + ListElement{ radius: "100"; angle: "220"; value: "-82.1394"; } + ListElement{ radius: "100"; angle: "225"; value: "-85.3553"; } + ListElement{ radius: "100"; angle: "230"; value: "-88.3022"; } + ListElement{ radius: "100"; angle: "235"; value: "-90.9576"; } + ListElement{ radius: "100"; angle: "240"; value: "-93.3013"; } + ListElement{ radius: "100"; angle: "245"; value: "-95.3154"; } + ListElement{ radius: "100"; angle: "250"; value: "-96.9846"; } + ListElement{ radius: "100"; angle: "255"; value: "-98.2963"; } + ListElement{ radius: "100"; angle: "260"; value: "-99.2404"; } + ListElement{ radius: "100"; angle: "265"; value: "-99.8097"; } + ListElement{ radius: "100"; angle: "270"; value: "-100"; } + ListElement{ radius: "100"; angle: "275"; value: "-99.8097"; } + ListElement{ radius: "100"; angle: "280"; value: "-99.2404"; } + ListElement{ radius: "100"; angle: "285"; value: "-98.2963"; } + ListElement{ radius: "100"; angle: "290"; value: "-96.9846"; } + ListElement{ radius: "100"; angle: "295"; value: "-95.3154"; } + ListElement{ radius: "100"; angle: "300"; value: "-93.3013"; } + ListElement{ radius: "100"; angle: "305"; value: "-90.9576"; } + ListElement{ radius: "100"; angle: "310"; value: "-88.3022"; } + ListElement{ radius: "100"; angle: "315"; value: "-85.3553"; } + ListElement{ radius: "100"; angle: "320"; value: "-82.1394"; } + ListElement{ radius: "100"; angle: "325"; value: "-78.6788"; } + ListElement{ radius: "100"; angle: "330"; value: "-75"; } + ListElement{ radius: "100"; angle: "335"; value: "-71.1309"; } + ListElement{ radius: "100"; angle: "340"; value: "-67.101"; } + ListElement{ radius: "100"; angle: "345"; value: "-62.941"; } + ListElement{ radius: "100"; angle: "350"; value: "-58.6824"; } + ListElement{ radius: "100"; angle: "355"; value: "-54.3578"; } + ListElement{ radius: "100"; angle: "360"; value: "-50"; } + } +} diff --git a/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SurfaceHeightMap.qml b/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SurfaceHeightMap.qml new file mode 100644 index 0000000..8213c57 --- /dev/null +++ b/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SurfaceHeightMap.qml @@ -0,0 +1,227 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtDataVisualization + +Rectangle { + id: heightMapView + color: surfacePlot.theme.windowColor + + required property bool portraitMode + + property real buttonWidth: heightMapView.portraitMode ? (heightMapView.width - 35) / 2 + : (heightMapView.width - 40) / 3 + + Item { + id: surfaceView + anchors.top: buttons.bottom + anchors.bottom: heightMapView.bottom + anchors.left: heightMapView.left + anchors.right: heightMapView.right + + //! [1] + ColorGradient { + id: surfaceGradient + ColorGradientStop { position: 0.0; color: "darkgreen"} + ColorGradientStop { position: 0.15; color: "darkslategray" } + ColorGradientStop { position: 0.7; color: "peru" } + ColorGradientStop { position: 1.0; color: "white" } + } + //! [1] + + Surface3D { + id: surfacePlot + width: surfaceView.width + height: surfaceView.height + aspectRatio: 3.0 + //! [2] + theme: Theme3D { + type: Theme3D.ThemeStoneMoss + font.family: "STCaiyun" + font.pointSize: 35 + colorStyle: Theme3D.ColorStyleRangeGradient + baseGradients: [surfaceGradient] // Use the custom gradient + } + //! [2] + shadowQuality: AbstractGraph3D.ShadowQualityMedium + selectionMode: AbstractGraph3D.SelectionSlice | AbstractGraph3D.SelectionItemAndRow + scene.activeCamera.cameraPreset: Camera3D.CameraPresetIsometricLeft + axisX.segmentCount: 3 + axisX.subSegmentCount: 3 + axisX.labelFormat: "%i" + axisZ.segmentCount: 3 + axisZ.subSegmentCount: 3 + axisZ.labelFormat: "%i" + axisY.segmentCount: 2 + axisY.subSegmentCount: 2 + axisY.labelFormat: "%i" + axisY.title: "Height (m)" + axisX.title: "Longitude 175.x\"E" + axisZ.title: "Latitude -39.x\"N" + axisY.titleVisible: true + axisX.titleVisible: true + axisZ.titleVisible: true + + //! [0] + Surface3DSeries { + id: heightSeries + flatShadingEnabled: false + drawMode: Surface3DSeries.DrawSurface + + HeightMapSurfaceDataProxy { + heightMapFile: ":/qml/qmlsurfacegallery/heightmap.png" + // We don't want the default data values set by heightmap proxy, but use + // actual coordinate and height values instead + autoScaleY: true + minYValue: 740 + maxYValue: 2787 + minZValue: -374 // ~ -39.374411"N + maxZValue: -116 // ~ -39.115971"N + minXValue: 472 // ~ 175.471767"E + maxXValue: 781 // ~ 175.780758"E + } + + onDrawModeChanged: heightMapView.checkState() + } + //! [0] + } + } + + Item { + id: buttons + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.margins: 10 + height: heightMapView.portraitMode ? surfaceGridToggle.implicitHeight * 3 + 20 + : surfaceGridToggle.implicitHeight * 2 + 15 + opacity: 0.5 + + Button { + id: surfaceGridToggle + anchors.margins: 5 + anchors.left: parent.left + anchors.top: parent.top + width: heightMapView.buttonWidth // Calculated elsewhere based on screen orientation + text: "Show Surface\nGrid" + //! [3] + onClicked: { + if (heightSeries.drawMode & Surface3DSeries.DrawWireframe) + heightSeries.drawMode &= ~Surface3DSeries.DrawWireframe; + else + heightSeries.drawMode |= Surface3DSeries.DrawWireframe; + } + //! [3] + } + + Button { + id: surfaceGridColor + anchors.margins: 5 + anchors.left: surfaceGridToggle.right + anchors.top: parent.top + width: heightMapView.buttonWidth + text: "Red surface\ngrid color" + //! [4] + onClicked: { + if (Qt.colorEqual(heightSeries.wireframeColor, "#000000")) { + heightSeries.wireframeColor = "red"; + text = "Black surface\ngrid color"; + } else { + heightSeries.wireframeColor = "black"; + text = "Red surface\ngrid color"; + } + } + //! [4] + } + + Button { + id: surfaceToggle + anchors.margins: 5 + anchors.left: heightMapView.portraitMode ? parent.left : surfaceGridColor.right + anchors.top: heightMapView.portraitMode ? surfaceGridColor.bottom : parent.top + width: heightMapView.buttonWidth + text: "Hide\nSurface" + //! [5] + onClicked: { + if (heightSeries.drawMode & Surface3DSeries.DrawSurface) + heightSeries.drawMode &= ~Surface3DSeries.DrawSurface; + else + heightSeries.drawMode |= Surface3DSeries.DrawSurface; + } + //! [5] + } + + Button { + id: flatShadingToggle + anchors.margins: 5 + anchors.left: heightMapView.portraitMode ? surfaceToggle.right : parent.left + anchors.top: heightMapView.portraitMode ? surfaceGridColor.bottom : surfaceToggle.bottom + width: heightMapView.buttonWidth + text: heightSeries.flatShadingSupported ? "Show\nFlat" : "Flat not\nsupported" + enabled: heightSeries.flatShadingSupported + //! [6] + onClicked: { + if (heightSeries.flatShadingEnabled) { + heightSeries.flatShadingEnabled = false; + text = "Show\nFlat" + } else { + heightSeries.flatShadingEnabled = true; + text = "Show\nSmooth" + } + } + //! [6] + } + + Button { + id: backgroundToggle + anchors.margins: 5 + anchors.left: heightMapView.portraitMode ? parent.left : flatShadingToggle.right + anchors.top: heightMapView.portraitMode ? flatShadingToggle.bottom + : surfaceToggle.bottom + width: heightMapView.buttonWidth + text: "Hide\nBackground" + onClicked: { + if (surfacePlot.theme.backgroundEnabled) { + surfacePlot.theme.backgroundEnabled = false; + text = "Show\nBackground"; + } else { + surfacePlot.theme.backgroundEnabled = true; + text = "Hide\nBackground"; + } + } + } + + Button { + id: gridToggle + anchors.margins: 5 + anchors.left: backgroundToggle.right + anchors.top: heightMapView.portraitMode ? flatShadingToggle.bottom + : surfaceToggle.bottom + width: heightMapView.buttonWidth + text: "Hide\nGrid" + onClicked: { + if (surfacePlot.theme.gridEnabled) { + surfacePlot.theme.gridEnabled = false; + text = "Show\nGrid"; + } else { + surfacePlot.theme.gridEnabled = true; + text = "Hide\nGrid"; + } + } + } + } + + function checkState() { + if (heightSeries.drawMode & Surface3DSeries.DrawSurface) + surfaceToggle.text = "Hide\nSurface"; + else + surfaceToggle.text = "Show\nSurface"; + + if (heightSeries.drawMode & Surface3DSeries.DrawWireframe) + surfaceGridToggle.text = "Hide Surface\nGrid"; + else + surfaceGridToggle.text = "Show Surface\nGrid"; + } +} diff --git a/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SurfaceOscilloscope.qml b/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SurfaceOscilloscope.qml new file mode 100644 index 0000000..a5ff8ac --- /dev/null +++ b/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SurfaceOscilloscope.qml @@ -0,0 +1,430 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtDataVisualization +//! [0] +import SurfaceGallery +//! [0] + +Item { + id: oscilloscopeView + + property int sampleColumns: sampleSlider.value + property int sampleRows: sampleColumns / 2 + property int sampleCache: 24 + + required property bool portraitMode + + property real controlWidth: oscilloscopeView.portraitMode ? oscilloscopeView.width - 10 + : oscilloscopeView.width / 4 - 6.66 + + property real buttonWidth: oscilloscopeView.portraitMode ? oscilloscopeView.width - 10 + : oscilloscopeView.width / 3 - 7.5 + + onSampleRowsChanged: { + surfaceSeries.selectedPoint = surfaceSeries.invalidSelectionPosition + generateData() + } + + //![1] + DataSource { + id: dataSource + } + //![1] + + Item { + id: dataView + anchors.bottom: parent.bottom + width: parent.width + height: parent.height - controlArea.height + + //! [2] + Surface3D { + id: surfaceGraph + anchors.fill: parent + + Surface3DSeries { + id: surfaceSeries + drawMode: Surface3DSeries.DrawSurfaceAndWireframe + itemLabelFormat: "@xLabel, @zLabel: @yLabel" + //! [2] + //! [3] + itemLabelVisible: false + //! [3] + + //! [4] + onItemLabelChanged: { + if (surfaceSeries.selectedPoint == surfaceSeries.invalidSelectionPosition) + selectionText.text = "No selection"; + else + selectionText.text = surfaceSeries.itemLabel; + } + //! [4] + } + + shadowQuality: AbstractGraph3D.ShadowQualityNone + selectionMode: AbstractGraph3D.SelectionSlice | AbstractGraph3D.SelectionItemAndColumn + theme: Theme3D { + type: Theme3D.ThemeIsabelle + backgroundEnabled: false + } + scene.activeCamera.cameraPreset: Camera3D.CameraPresetFrontHigh + + axisX.labelFormat: "%d ms" + axisY.labelFormat: "%d W" + axisZ.labelFormat: "%d mV" + axisX.min: 0 + axisY.min: 0 + axisZ.min: 0 + axisX.max: 1000 + axisY.max: 100 + axisZ.max: 800 + axisX.segmentCount: 4 + axisY.segmentCount: 4 + axisZ.segmentCount: 4 + measureFps: true + renderingMode: AbstractGraph3D.RenderDirectToBackground + + onCurrentFpsChanged: (fps)=> { + if (fps > 10) + fpsText.text = "FPS: " + Math.round(surfaceGraph.currentFps); + else + fpsText.text = "FPS: " + Math.round(surfaceGraph.currentFps * 10.0) / 10.0; + } + + //! [5] + Component.onCompleted: oscilloscopeView.generateData(); + //! [5] + } + } + + //! [7] + Timer { + id: refreshTimer + interval: 1000 / frequencySlider.value + running: true + repeat: true + onTriggered: dataSource.update(surfaceSeries); + } + //! [7] + + Rectangle { + id: controlArea + height: oscilloscopeView.portraitMode ? flatShadingToggle.implicitHeight * 7 + : flatShadingToggle.implicitHeight * 2 + anchors.left: parent.left + anchors.top: parent.top + anchors.right: parent.right + color: surfaceGraph.theme.backgroundColor + + // Samples + Rectangle { + id: samples + width: oscilloscopeView.controlWidth + height: flatShadingToggle.implicitHeight + anchors.left: parent.left + anchors.top: parent.top + anchors.margins: 5 + + color: surfaceGraph.theme.windowColor + border.color: surfaceGraph.theme.gridLineColor + border.width: 1 + radius: 4 + + Row { + anchors.centerIn: parent + spacing: 10 + padding: 5 + + Slider { + id: sampleSlider + from: oscilloscopeView.sampleCache * 2 + to: from * 10 + stepSize: oscilloscopeView.sampleCache + + background: Rectangle { + x: sampleSlider.leftPadding + y: sampleSlider.topPadding + sampleSlider.availableHeight / 2 + - height / 2 + implicitWidth: 200 + implicitHeight: 4 + width: sampleSlider.availableWidth + height: implicitHeight + radius: 2 + color: surfaceGraph.theme.gridLineColor + + Rectangle { + width: sampleSlider.visualPosition * parent.width + height: parent.height + color: surfaceGraph.theme.labelTextColor + radius: 2 + } + } + + handle: Rectangle { + x: sampleSlider.leftPadding + sampleSlider.visualPosition + * (sampleSlider.availableWidth - width) + y: sampleSlider.topPadding + sampleSlider.availableHeight / 2 + - height / 2 + implicitWidth: 20 + implicitHeight: 20 + radius: 10 + color: sampleSlider.pressed ? surfaceGraph.theme.gridLineColor + : surfaceGraph.theme.windowColor + border.color: sampleSlider.pressed ? surfaceGraph.theme.labelTextColor + : surfaceGraph.theme.gridLineColor + } + + Component.onCompleted: value = from; + } + + Text { + id: samplesText + text: "Samples: " + (oscilloscopeView.sampleRows * oscilloscopeView.sampleColumns) + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + color: surfaceGraph.theme.labelTextColor + } + } + } + + // Frequency + Rectangle { + id: frequency + width: oscilloscopeView.controlWidth + height: flatShadingToggle.implicitHeight + anchors.left: oscilloscopeView.portraitMode ? parent.left : samples.right + anchors.top: oscilloscopeView.portraitMode ? samples.bottom : parent.top + anchors.margins: 5 + + color: surfaceGraph.theme.windowColor + border.color: surfaceGraph.theme.gridLineColor + border.width: 1 + radius: 4 + + Row { + anchors.centerIn: parent + spacing: 10 + padding: 5 + + Slider { + id: frequencySlider + from: 2 + to: 60 + stepSize: 2 + value: 30 + + background: Rectangle { + x: frequencySlider.leftPadding + y: frequencySlider.topPadding + frequencySlider.availableHeight / 2 + - height / 2 + implicitWidth: 200 + implicitHeight: 4 + width: frequencySlider.availableWidth + height: implicitHeight + radius: 2 + color: surfaceGraph.theme.gridLineColor + + Rectangle { + width: frequencySlider.visualPosition * parent.width + height: parent.height + color: surfaceGraph.theme.labelTextColor + radius: 2 + } + } + + handle: Rectangle { + x: frequencySlider.leftPadding + frequencySlider.visualPosition + * (frequencySlider.availableWidth - width) + y: frequencySlider.topPadding + frequencySlider.availableHeight / 2 + - height / 2 + implicitWidth: 20 + implicitHeight: 20 + radius: 10 + color: frequencySlider.pressed ? surfaceGraph.theme.gridLineColor + : surfaceGraph.theme.windowColor + border.color: frequencySlider.pressed ? surfaceGraph.theme.labelTextColor + : surfaceGraph.theme.gridLineColor + } + } + + Text { + id: frequencyText + text: "Freq: " + frequencySlider.value + " Hz" + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + color: surfaceGraph.theme.labelTextColor + } + } + } + + // FPS + Rectangle { + id: fpsindicator + width: oscilloscopeView.controlWidth + height: flatShadingToggle.implicitHeight + anchors.left: oscilloscopeView.portraitMode ? parent.left : frequency.right + anchors.top: oscilloscopeView.portraitMode ? frequency.bottom : parent.top + anchors.margins: 5 + + color: surfaceGraph.theme.windowColor + border.color: surfaceGraph.theme.gridLineColor + border.width: 1 + radius: 4 + + Text { + id: fpsText + anchors.fill: parent + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + color: surfaceGraph.theme.labelTextColor + } + } + + // Selection + Rectangle { + id: selection + width: oscilloscopeView.controlWidth + height: flatShadingToggle.implicitHeight + anchors.left: oscilloscopeView.portraitMode ? parent.left : fpsindicator.right + anchors.top: oscilloscopeView.portraitMode ? fpsindicator.bottom : parent.top + anchors.margins: 5 + + color: surfaceGraph.theme.windowColor + border.color: surfaceGraph.theme.gridLineColor + border.width: 1 + radius: 4 + + Text { + id: selectionText + anchors.fill: parent + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + text: "No selection" + color: surfaceGraph.theme.labelTextColor + } + } + + // Flat shading + Button { + id: flatShadingToggle + width: oscilloscopeView.buttonWidth + anchors.left: parent.left + anchors.top: selection.bottom + anchors.margins: 5 + + text: surfaceSeries.flatShadingSupported ? "Show\nSmooth" : "Flat\nnot supported" + enabled: surfaceSeries.flatShadingSupported + + onClicked: { + if (surfaceSeries.flatShadingEnabled) { + surfaceSeries.flatShadingEnabled = false; + text = "Show\nFlat" + } else { + surfaceSeries.flatShadingEnabled = true; + text = "Show\nSmooth" + } + } + + contentItem: Text { + text: flatShadingToggle.text + opacity: flatShadingToggle.enabled ? 1.0 : 0.3 + color: surfaceGraph.theme.labelTextColor + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + elide: Text.ElideRight + } + + background: Rectangle { + opacity: flatShadingToggle.enabled ? 1 : 0.3 + color: flatShadingToggle.down ? surfaceGraph.theme.gridLineColor + : surfaceGraph.theme.windowColor + border.color: flatShadingToggle.down ? surfaceGraph.theme.labelTextColor + : surfaceGraph.theme.gridLineColor + border.width: 1 + radius: 2 + } + } + + // Surface grid + Button { + id: surfaceGridToggle + width: oscilloscopeView.buttonWidth + anchors.left: oscilloscopeView.portraitMode ? parent.left : flatShadingToggle.right + anchors.top: oscilloscopeView.portraitMode ? flatShadingToggle.bottom : selection.bottom + anchors.margins: 5 + + text: "Hide\nSurface Grid" + + onClicked: { + if (surfaceSeries.drawMode & Surface3DSeries.DrawWireframe) { + surfaceSeries.drawMode &= ~Surface3DSeries.DrawWireframe; + text = "Show\nSurface Grid"; + } else { + surfaceSeries.drawMode |= Surface3DSeries.DrawWireframe; + text = "Hid\nSurface Grid"; + } + } + + contentItem: Text { + text: surfaceGridToggle.text + color: surfaceGraph.theme.labelTextColor + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + elide: Text.ElideRight + } + + background: Rectangle { + color: surfaceGridToggle.down ? surfaceGraph.theme.gridLineColor + : surfaceGraph.theme.windowColor + border.color: surfaceGridToggle.down ? surfaceGraph.theme.labelTextColor + : surfaceGraph.theme.gridLineColor + border.width: 1 + radius: 2 + } + } + + // Exit + Button { + id: exitButton + width: oscilloscopeView.buttonWidth + height: surfaceGridToggle.height + anchors.left: oscilloscopeView.portraitMode ? parent.left : surfaceGridToggle.right + anchors.top: oscilloscopeView.portraitMode ? surfaceGridToggle.bottom : selection.bottom + anchors.margins: 5 + + text: "Quit" + + onClicked: Qt.quit(); + + contentItem: Text { + text: exitButton.text + color: surfaceGraph.theme.labelTextColor + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + elide: Text.ElideRight + } + + background: Rectangle { + color: exitButton.down ? surfaceGraph.theme.gridLineColor + : surfaceGraph.theme.windowColor + border.color: exitButton.down ? surfaceGraph.theme.labelTextColor + : surfaceGraph.theme.gridLineColor + border.width: 1 + radius: 2 + } + } + } + + //! [6] + function generateData() { + dataSource.generateData(oscilloscopeView.sampleCache, oscilloscopeView.sampleRows, + oscilloscopeView.sampleColumns, + surfaceGraph.axisX.min, surfaceGraph.axisX.max, + surfaceGraph.axisY.min, surfaceGraph.axisY.max, + surfaceGraph.axisZ.min, surfaceGraph.axisZ.max); + } + //! [6] +} diff --git a/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SurfaceSpectrogram.qml b/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SurfaceSpectrogram.qml new file mode 100644 index 0000000..cedb985 --- /dev/null +++ b/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/SurfaceSpectrogram.qml @@ -0,0 +1,272 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtDataVisualization + +Rectangle { + id: spectrogramView + color: surfaceGraph.theme.windowColor + + required property bool portraitMode + + property real buttonWidth: spectrogramView.portraitMode ? (spectrogramView.width - 35) / 2 + : (spectrogramView.width - 50) / 5 + + SpectrogramData { + id: surfaceData + } + + Item { + id: surfaceView + anchors.top: buttons.bottom + anchors.left: parent.left + anchors.right: legend.left + anchors.bottom: parent.bottom + + ColorGradient { + id: surfaceGradient + ColorGradientStop { position: 0.0; color: "black" } + ColorGradientStop { position: 0.2; color: "red" } + ColorGradientStop { position: 0.5; color: "blue" } + ColorGradientStop { position: 0.8; color: "yellow" } + ColorGradientStop { position: 1.0; color: "white" } + } + + ValueAxis3D { + id: xAxis + segmentCount: 8 + labelFormat: "%i\u00B0" + title: "Angle" + titleVisible: true + titleFixed: false + } + + ValueAxis3D { + id: yAxis + segmentCount: 8 + labelFormat: "%i \%" + title: "Value" + titleVisible: true + labelAutoRotation: 0 + titleFixed: false + } + + ValueAxis3D { + id: zAxis + segmentCount: 5 + labelFormat: "%i nm" + title: "Radius" + titleVisible: true + titleFixed: false + } + + Theme3D { + id: customTheme + type: Theme3D.ThemeQt + // Don't show specular spotlight as we don't want it to distort the colors + lightStrength: 0.0 + ambientLightStrength: 1.0 + backgroundEnabled: false + gridLineColor: "#AAAAAA" + windowColor: "#EEEEEE" + } + + //! [0] + Surface3D { + id: surfaceGraph + anchors.fill: parent + + Surface3DSeries { + id: surfaceSeries + flatShadingEnabled: false + drawMode: Surface3DSeries.DrawSurface + baseGradient: surfaceGradient + colorStyle: Theme3D.ColorStyleRangeGradient + itemLabelFormat: "(@xLabel, @zLabel): @yLabel" + + ItemModelSurfaceDataProxy { + itemModel: surfaceData.model + rowRole: "radius" + columnRole: "angle" + yPosRole: "value" + } + } + //! [0] + + //! [1] + // Remove the perspective and view the graph from top down to achieve 2D effect + orthoProjection: true + scene.activeCamera.cameraPreset: Camera3D.CameraPresetDirectlyAbove + //! [1] + + //! [2] + flipHorizontalGrid: true + //! [2] + + //! [4] + radialLabelOffset: 0.01 + //! [4] + + //! [5] + inputHandler: TouchInputHandler3D { + rotationEnabled: !surfaceGraph.orthoProjection + } + //! [5] + + theme: customTheme + shadowQuality: AbstractGraph3D.ShadowQualityNone + selectionMode: AbstractGraph3D.SelectionSlice | AbstractGraph3D.SelectionItemAndColumn + axisX: xAxis + axisY: yAxis + axisZ: zAxis + + aspectRatio: 1.0 + horizontalAspectRatio: 1.0 + scene.activeCamera.zoomLevel: 140 + } + } + + Item { + id: buttons + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + height: spectrogramView.portraitMode ? (polarToggle.height + 10) * 3 + : polarToggle.height + 30 + anchors.margins: 10 + + //! [3] + Button { + id: polarToggle + anchors.margins: 5 + anchors.left: parent.left + anchors.top: parent.top + width: spectrogramView.buttonWidth // Calculated elsewhere based on screen orientation + text: "Switch to\n" + (surfaceGraph.polar ? "cartesian" : "polar") + onClicked: surfaceGraph.polar = !surfaceGraph.polar; + } + //! [3] + + Button { + id: orthoToggle + anchors.margins: 5 + anchors.left: polarToggle.right + anchors.top: parent.top + width: spectrogramView.buttonWidth + text: "Switch to\n" + (surfaceGraph.orthoProjection ? "perspective" : "orthographic") + onClicked: { + if (surfaceGraph.orthoProjection) { + surfaceGraph.orthoProjection = false; + xAxis.labelAutoRotation = 30; + yAxis.labelAutoRotation = 30; + zAxis.labelAutoRotation = 30; + } else { + surfaceGraph.orthoProjection = true; + surfaceGraph.scene.activeCamera.cameraPreset + = Camera3D.CameraPresetDirectlyAbove; + surfaceSeries.drawMode &= ~Surface3DSeries.DrawWireframe; + xAxis.labelAutoRotation = 0; + yAxis.labelAutoRotation = 0; + zAxis.labelAutoRotation = 0; + } + } + } + + Button { + id: flipGridToggle + anchors.margins: 5 + anchors.left: spectrogramView.portraitMode ? parent.left : orthoToggle.right + anchors.top: spectrogramView.portraitMode ? orthoToggle.bottom : parent.top + width: spectrogramView.buttonWidth + text: "Toggle axis\ngrid on top" + onClicked: surfaceGraph.flipHorizontalGrid = !surfaceGraph.flipHorizontalGrid; + } + + Button { + id: labelOffsetToggle + anchors.margins: 5 + anchors.left: flipGridToggle.right + anchors.top: spectrogramView.portraitMode ? orthoToggle.bottom : parent.top + width: spectrogramView.buttonWidth + text: "Toggle radial\nlabel position" + visible: surfaceGraph.polar + onClicked: { + if (surfaceGraph.radialLabelOffset >= 1.0) + surfaceGraph.radialLabelOffset = 0.01; + else + surfaceGraph.radialLabelOffset = 1.0; + } + } + + Button { + id: surfaceGridToggle + anchors.margins: 5 + anchors.left: spectrogramView.portraitMode ? (labelOffsetToggle.visible ? parent.left + : flipGridToggle.right) + : (labelOffsetToggle.visible ? labelOffsetToggle.right + : flipGridToggle.right) + anchors.top: spectrogramView.portraitMode ? (labelOffsetToggle.visible ? labelOffsetToggle.bottom + : orthoToggle.bottom) + : parent.top + width: spectrogramView.buttonWidth + text: "Toggle\nsurface grid" + visible: !surfaceGraph.orthoProjection + onClicked: { + if (surfaceSeries.drawMode & Surface3DSeries.DrawWireframe) + surfaceSeries.drawMode &= ~Surface3DSeries.DrawWireframe; + else + surfaceSeries.drawMode |= Surface3DSeries.DrawWireframe; + } + } + } + + Item { + id: legend + anchors.bottom: parent.bottom + anchors.top: buttons.bottom + anchors.right: parent.right + width: spectrogramView.portraitMode ? 100 : 125 + + Rectangle { + id: gradient + anchors.margins: 20 + anchors.bottom: legend.bottom + anchors.top: legend.top + anchors.right: legend.right + border.color: "black" + border.width: 1 + width: spectrogramView.portraitMode ? 25 : 50 + rotation: 180 + gradient: Gradient { + GradientStop { position: 0.0; color: "black" } + GradientStop { position: 0.2; color: "red" } + GradientStop { position: 0.5; color: "blue" } + GradientStop { position: 0.8; color: "yellow" } + GradientStop { position: 1.0; color: "white" } + } + } + + Text { + anchors.verticalCenter: gradient.bottom + anchors.right: gradient.left + anchors.margins: 2 + text: surfaceGraph.axisY.min + "%" + } + + Text { + anchors.verticalCenter: gradient.verticalCenter + anchors.right: gradient.left + anchors.margins: 2 + text: (surfaceGraph.axisY.max + surfaceGraph.axisY.min) / 2 + "%" + } + + Text { + anchors.verticalCenter: gradient.top + anchors.right: gradient.left + anchors.margins: 2 + text: surfaceGraph.axisY.max + "%" + } + } +} diff --git a/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/heightmap.png b/examples/datavisualization/qmlsurfacegallery/qml/qmlsurfacegallery/heightmap.png new file mode 100644 index 0000000000000000000000000000000000000000..02f41230a13eb8c6d24635f743682d753f35c465 GIT binary patch literal 638731 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 D#)Up~ut#?JI$;>fy{WOXc^n@>PL^fL8!T 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 +>x`E|Hz&fQQ*(SHByv!O?WcdJb(YY& zNjF;r#t%|0yH^oScVWUlQP;Jv&Egt0Fz!f*^&F(HS%eWjxeBDsE%Ki?lU9HVkl}3> ztz*=^Y>{7Yun4N#00I{aQY!f<2cNqJxqjkN~B%od_pPi>=L4gg$IDgC33 zEE+)I1&;jV-G1}q7GZ=6AVLKdiM$u$uyMFSWBT1(cmXx$GAK!q5oX5;<-(P$9!jrTv^H^-+M^UTHgWFyJ> zI{eJ=;Nih-2D|%6w^Nt*ozeEA9Y)*d*JM$EfOmCuM!f(lg;{b!14PJ+a9^T9ZI0As69AT#@}kHnlK+-R()&AIdhsnu`tc zzWW8S_6P5s=LVm!2+xrKVi>u77lSgYu~}(M6sDxtOW4hl zFZMOh$d|FjG||#86b*+{O(Tcr9|k2NjW%FbM$7;X1mq$%=x!3!qc8#Z{4_k(xI`lg zEvCMQmFQ9`=h*vbg?CM zu5(&YM46^pH&BJSe!mt4YTlaY_>BHK5=&HPJg=5Y#YQx*=hx}8Ug|{R*UmaZU7W-p zaXu0_RFgT-p>{e#O2Wd-7VDmkiJ2ts6SGNB@G0z}UI`I*5lU@92AdV&46!w?C)7~@ z5oQ}L!PvI}AlQ((IzE(HMA(@5MjVmEpsoM9(L)K=%&Cjl^k%!f^Gm@A6QDl|1wspO zs12XO#3`4uU3BU=g%E{Gk79`ig^MhaU@&rmILy%&;o#BwcB-usAz#O63h3vIcUDJK z2QDhy6uQ3Om~uicT!xztHyN7f*$&-@yBz{kW~T8h<|CfVh#N~Gar(q*Hqyg^gx@)K zex*bET2n=L;EMxS35)xsZ#Vc*@qtHVl69&A7GTRMblBzHymy> z+^BWF2D4feK)2cw0>qwN3vdchfWx#*S~@LV)YdC=WR0p44+9L~)v3Wstkb3zVT3`< z1%GZ>_Wv1`#}?&L0{m;fT`h-|g4!*G75L&FPkOOVI$? zDs5GM{_1J3WOC*npXq%d&fo+ zo@UQC+Rq~Y`R5i*gD5>{5k@dz@G!fKnmma;on`=f09-LRT8Gk z^-%$0Sw_h-$miJS7!hE$-pa}!1_q{OQ9lW;IoL`9v`ajcktuKdpt-~hIr;Z*Dy84^ zT}I|C+k7;*g&|(8bI-*$4=DzfRV&G~D~{`q?~c#c|0#?7=g)PAbon{&RiKU8M%WQgKaDwSLK&9jGW;N(1=|h`?3n{!Lt@^2A{@W`iVstIi`UK z;}Vfb6Tkd*V7_V}7_Vf}01X!%MjR5+K>>i>nHH^6pMEWXQH+4@qZWaI1W>Pn6B}r6 zOdtkLLC@$NfPh8;yu%NJTIVa8Aa3gjZ~!3Bb4USCp)6*l0|VHR)A?s~0j2|DjR535 zTSXTQR6ga}QZQ81fXF#eWpv)7#vu6?d7>J#oI3zFK1z0mMm02o383or96%p+8+8!% z8TlS=5-^n2;Gv`MqJG-1akuh@6UH^i^#d^zDc+Lv2u4|Q7=Cc zDE;_gLS=yhO5ww-zY5!uelrXIpKt>a7evetA7ctj3PZ#QDRg;#rIg;S(4zoWMRNcEppV?J0NLP$pqUg? z5o6jyfDDwD6-D9Tx9Wij}Y~4I~8y+9CY6Y6O}oU(}0Q?|4br@6o66zb|jWg8Lz1O%NN;> zWjmPtfMd3a4x?Nu-1nT>bUJnq0_hf_3-!?bSh00MLZ{u z_m+e7FNMMI`|+LQ-@jf3ySRbqz;`h~t_Q9oqI_c8myWi`uV+~V+dQp{(WMqa8^aRQ zlY(Z20IjsRMR0qd!-HS6Iz~BR=wi_^vv`>97hIqzx>@sQE)k$PvHNNME;dExg>7L2fHfNmYW0 z3kCOW_%@56o-XxjI;eDf-Q|YadW{ZsZ?(uj@AMqsROf&8!i>q$Moh2+9Iu^Yo%Vc= zX0?#b<`yCEqR~RaZKvCtS^`}Fg?xT>yIHgXV0ffO(YnYH@~YnXNIqCbnXU@|&J4AD z>HU3CI5QfEh_3Rx@xc|y@|kSiFQ;D17P$MdMbJz_n+Giin38hya%#C;jQr2|vm>5N z;{ee&@UgDgf zf#IUR*lG)yEcTISzJYBY^#sf@?h7jV5-)V1i~L3%dLLn;z*qj3wzmlT*SMAwjI8-g zJNCwim}-CQYkpz3=~_#OTuWPu5gQsE!{sajaKMlIsYL)-HR9-^gZeq1hcFU_ogn!a zjR^h&=%F*OU+8rKV#oj}G#GH*ILjhDA2ePhI_P4A>QsAU1twPC4w~6_#1h3YfSJiU za{z({z}*&wAy_pE=!_#qjQt@DNiN)Bhn5Ak2Ig=6Q zGX+2S7yqFp1tWqw0+%n1=6E9ymjmi4>=`*nxsGbUPJ*2J!hl-D#{Y;#NI;=1u)#iC zrZSuFrBPe%3L^ygtt+wdHv+Q&yCe!w{T}?yeUyL)8o+@I|5Ek+on|Ja4;1kCB;LIC zRU~InM@=1%ylKDQACe9q9e`Z1VHcraNqk6kTwjH7AxXnBzPctj9@GzrUfG%x-V`w#|FiE1-Q9ae#MLq zpjJGiMH3^0g4RuMkze1XSwIdpbuj#X&!yQ@I(~GdpoB>*Ek9L%9se~@eeRM!Cya~9 z9#aF67*WFVPp=y!;w}Tw8mHIpI*Z^_&w;BB2!&IBcGo+y zFa${0*+A)-(7{KQUp9XfW^_!L&GilhzUg$jnf2#+vWe`w!^|R-b0}m0iD-O~*l>c9 z=wV~X@8`N>Kd8<$ng#y;nDxX)3GDz7={YUJtQxb*XgM@Mtj?YzYA2s~e~#$X&S}vY zCpqmaVp#sZ)cHb;(L0?0Gw13cB(Y-OV07h!6WbPmN!Q&08O@-lcUpvf3jb(+zL4>v zV*gSQx6 z_G@M_Nn|JgV9`2nFhJ5zE!sLCO|b}m^Dr7zxVpIFpKC(rVr7~Ecc4ZhUFl(qH=v9| zWo4!vmj^2Z&uJaxQb3*7X5tI={}NH|Z*JF*`!jsN4DEuN_^aw%3ov#q4k)RNLIC(3 zQTMfUqeanxsfEARYkrqSrQhxNrnhKXG5&L)9Ba1Gfh|Ul&;Zf>@{aR47WqEUXpvtx zu?Qlx5|{On7PMIYV-egZ^nTO)7OeyA`y)U-nkgo_v|CH;hmYj=OK`D3O&ifom_&3aoO1R^{V<#*ZHNteUxkNigfF+|J!>?Ji4w5JS0^YhkEW(K7 zy>&)?c;WCO1L!7}nOMqz>d{^n!H)3-i~M!vzXsSj5DODh8VKZjJWr!vTIAn+C;LF3vn*qExv;u?Yp_DlvbgApsFyXxZiba?`#+UU$h2o0T{mY^N2<85cKPQ!cG@;1TnT3W5jmwep8~}YEnWJ8S z@kjnao=n3IA9sL5*2CQvO+zMq)}k<*mQBl+^Y2~hU4dbX%KdvZGO~rjFC3dO6Mh~p0DYfd>Q)q&2%X>}h^$9O!b9T<@5LVdom z*&Q)!)vc+H(~_d9Zy<3*#1KWzcM&ecm*fwR$Pf>zivoRLGiIn~uaK5c%a;wV+Ur0u z+)afkss6^Q5YJo0?8 z!J@9q`veJwVhlweu`on?WHaN)u7Dn>;(bPdBfF^J({W)Rrhr^YE-g>1z__8#ihCi2 z^oO4NG_ytM*zQ+5H{1vJd&f>s_q`~=;Me@l)+x_YctTHg0d%oFnz=#Xly8fPfuIq*Ox4U>jKony~?oC#CV?^mLM*f zV~J)X%IrVD5P(Jcn}ysMjw@nqOPW}lk3f{++om<()b)WnTVJS@=h=?2 zjeK=K>#pps%<0`h7Ws9l9C>|?HndO!VB0ps?{>5ITIApVev80VrEt>kaX=a-0OtXT zxB!-Pr$tlkXW#Yw4s8btIT}9XeTbD}@5{bVN0q#Zf`t4GwR+rqU>F`@5ejog2g$3@ z9AW((W6{LR$V1#tn32j2EkdL1evM8_l#>w)Ki72*x!5mxI2tk(u!uRUQ$6~?XzS4j zg7$)q>Kq)jCgdj3oo!Jl;Q`}hgdM928?LH9OUb_vk3Vl^^Dey z@58d=OP{c4`B2(3?UnW_S_V0St=^=?w0S7A^j-)9I3o@xd)L7qEkeG;C?O3}03*&Z z@+a2Ohbn->2pxdZ#7-sJ`GANlfW2%j*-w2WMfr|vlqs+C!jq1)G)o)^BCmq6A_j*8 zM!a9Nt8l%5nZ|XXA;HK1bq|dlT#(S{LYsuV3@t7ism$8z``ykF*B|l(09!S_#(z_T zPIZl||MOfh%J5{);-4&kuJ4;hjTjS%l)HE@jS4i-U?K?c^Uu%oC9Memx!fPl4;qiG zb7^mReU0cY008x|e*R=R_!d$jv3^*Hb{XFi5jq9%0Iqej32fihxc=3Jq$;P+GTN5o|u3Vsj~Ht;@R@jKb!P!RKec@QX!?~%GG z|MkQc3^pkX1BxmD1-}P?fetu!h#)(BP705{=0Tr=2I51Zi)|xRFbZR4Zn>Z9)xwPj zcJK}r`g01Slhyb%VleOc3xQ*Kd?Nr5Ty1Bb~ zx_R2?ag7Jf%##pPsL`Q@vOc=pqHMS&!5rKrik}W1r-sg;P8pqXkoV~^+5lly|t0IHxS0fNfzojzuuP{~I{8nHLNPNNvpxJvLm0>JS+P&mRs!H-sA zI)1RokJ}MiB{)#Y{GdntkVK5rjgqb0=XRbemhf@XdA7_+C{?9JXNW!N?E|<-9FmDF!1~7 z+@h*(MD$Vs{%mk%p={&EATiqR?H2j@ImSYX%xVQ-sk712+`% z`{&qCE(*6QVYxm4(Hf}(C~>hWGzI2NbEUk$Pi||G|Gada&1aoEz^Ch#X0pid?<3|H zPzv4JVfja$g>(QDKv>UD{;uk_fV&FMFNqcF;ae5~Kv=*cXh4t%iSmd_y)#)pYmxtc zjr8`Epa0SRqXS0y{-g^m!gDQV4GaQQ(#v(8Y$HKw@w8Z4tk|JecLp)uoU$)QM|yLP zd_RYKS*T#ng=_k&g+?^aX}}E3iqUfxvI*QG?1yM0K@Goc;&v2H2XK_A8o$FB9&Yo7otQdc%VXqC~bBb)iYHODP&#GqR;hf&18o#V{rR#QfVt_Vz2tv?6I1T?x0 z9-UFm5IZ0V^8yiL{+*ff(+#o-olgoqM*UQ{baz;^^M+Y}cViKdgGxU8$9M&c;J#qz z!?op{EuW`!{^w`~wZS9?l(=fR3VBx{R{;uu>77*pnd8-Syse2FmVtqt_4C#W00pDE zob%-A*M;<#4OvR)MJjGYBoK`=k-_ zQRNqUb-*703g!Yf$+A&)dv4BqI^EPE4~X%rybdu{+^B5z*!p3_sk_%A0H?U{+YRFOL!k@vP>fS&I%C5JBL)#liJp2Rs{fzz6la9cIANcm zF$mKa>OG?r(qQoQ%ZR8NiR1Gv!uPQbKPFcQ>M$6m07tk4Jf!Ca#wV2ipIWrM+wD4O z#L?)XA)%i)zRe;4gJ`z!?=UP7vj*VAZ2^&L{+;@d`kH!O`{!gi?q&+qdc-`e+@8J7 zfR?YL@Saf#{mdb;r_i(ie@%(WFckh!(0D_3+g4M;yxg=vfOp<`<0SeZp#6f}%IPr6 z0maZedmusr2K)w*u+y0a5u(7Lv)rHIr{GZMx?G)Ef(Tw;Hoos0NE#;y?q1KZP;C0*RYu3jOy046tGL3vfE_i|g;XJ^&z4 zmi{&IqBI?f~R#1OAzUBO@=p zNTVMJy58<@x`)NIc6oG^eI}BQs?=~DAfe+2qkxVF2@Oo5-t}-KmFH84v?I<(N!@!r zi8V57dq{~kioiaBYVXMwVP>A0OC@wrLtPZg63x?_=0KX)qEYs_K2U~T!$BGcu0~AZ ziR~Dp8UK*@-M>Vw{*Oh_X84_EznKAqaiE{a$btXIEE>QSltKVVfLDoCx#$eq929^; z{0F}s+*W+t4Ytb9flZ#<>^WKm?BmSN0iZ&y zw1Y$;Jh~zDoF^{QB-_5p&s*fjVsVSs(QzuSMB)ZlS~M{(YzFDXrUNa4SQV}nDs;jw=P3D+Rv#OWr`Q0XH3T&hOQ=(Mv5}=uU|2m0W`AE=SS_jyV0U%wJ zuir&QWboZ4j^`B7@5`PKia(-Rh)N2eL`=@L1^D}KSrl!A6N|e4E+vKb4psWEMRS!H zoFYGKF?b3SYyCiRw^{MEoBILU4*l8W!X!CO6wq~L+w@#GHxLChO6_m7Z_gX-4K=z! z;x*jRq5ujfSmNeXY-YackRjftM7C&3oUHqQdSj%doh8P8wWz`8$gij5Fs*}+S*TO^JprhBpB#SELY?SkC2D(N zaNB@^CaSkH>#Xd0xQQ9U%yV%^Q_H_p!1E8=buAs-Eo29{LKrdVtK0+NN~NBH&h2$o zn2*o12%0AVzSweUeRNk_gxPJ0iaMp-Nz!|&(Dv(FtYt{Z;Psl5Rcqdqd!WoSQ)ZB4Bz@AtPCU0QSaTgQJ3&u0VeBeCCMMa`| z#*-;b89oPf0yFb87O79@{L-O^VGA&zjxw4Ae(p$ImweId2Wi82LCXC`y`FkTqLw}) zOJj_Dji1N+z{U}c2t)|qUh4q2r$j4>(K-RG{(an6|h=7M#w$M8W*QSY8PY8_9C|zP^h6vU;Cr9{^PFdtpd`%(9XFQyb?!qQtZC0fu;R zS@0C9E0>;QqwHg2#(L?^_It;K@9(=XET%vA-nUb(nAOB4M83_r3@aV!d@ZVmz{M5O zMEs~wXpap{4myi45}0j&R{#F>`k=afjb@fSfns)#!s$=yXyC7UZk>r@CeHm)nNden zhK;IccR7u1B+oM&K@{Db{SE9y=m0|nLj(qOb9F9Az;PXLDmYYq)-Mz;3Up@ORgn4n z$9@R)S(pU6?uf&XC;%)u)f%c42LNiV>R=7d$_3R~focc^4m&U07nsdfhivdCivVD# z&>d`U(Pjr-tz7nXo_K160^o&$&zS?Fvf~Gf8nPeEBx(X|TntRMGtP8ircomT(~M@l zTA$y+8MzQYL#pV1SLfx9He-yvBhQuFA2AZfKE>!pRF{4_Bqq$N(rJ65sDOAPRczvx z4$K`iE96??wnf)giZss|S{=o0;Kt^n;Tq{GFi@R>$c zT8U2D+9F@pTP*U|ztf_O66FY^E22Pl=U6lbfKz@sFQgISe$oQOxIe?iELum?T`z2O zZ`I&GZj^JQbl+!@Ur)BbX$hRKCpuzi-LS3!y6>+0k-I^_ykS4TAQwzOZu^xpJ?J8aW59b{si?+V36TY`acwdO|X>j1I1k9++zN{$X^^ zMAfF~=N{fD&R!65PQzd{9>{*`%=|L=hpWTKdZkbuFK!WLX4UcYS$K)EIU`DH=iTNx z-rs-)_BX^O*)I#zV9BNd!Ket@9Ob&&Z1tK|ycRJ`#Kl~to^v1ZU}-*e>vrpP>$Lc+zKlTUqXGHPnNK1{}?N+s)rjJ@QV6(UltQKs68ATJY z4kfsx)n@Xhxzb4B>)Z{1e>azgw`hNQYsjM+HDCnG-p{={ z&;K2OAY(q!GGo%9`2z51 zfXk-kTrBU?&k@~6_7``3(MUu08H=K#e{*+pD{!1a2%|%Vvll#2@5%r5c^J)`rjUe5 zqC6Y`XZ+Oo$?=l~c&R|Vm||Wh&yhdJVuCuegFK(S8_{b3RoU`+{)hN74e0eP!uw&wfDsTFvl^`e zsPj6KQ3CR1m(_Y0TlQY8WbM(_xyP#At`f&LY{&{j00xe z{NSL#7_CL#b!s^nK0w+~Pa8p~*Bh#$ z3go;xYUh^+=U+eiJ5q8CRZt#cIzBS zCAUxsmn?1-Ia){8fsef{0&u~;YwQ1kFxo;wg^d>@Ay9H*dWf;$Ocz9#R*?@h35Eff z%Ld?0zo)y~qRkK^Qpx%se$t{nN9ocWmo&h^${{O=NEC+Ov1qE%6u6$S0c2|CF+FF| z5`N$Bp;l@=0!S1l$UO2{A2pk`^k|O9f>sNFpsp(_;LNC|2hu_5p!|OSXwk%u{8cUs z>1`IF;FjNUE}zQi!C+OLN18o!W|sD8*Bp?xfNPED{2`%t(Lv68fWqc)UTyO3w`hr` zy9H=AIDN=M`|s^4NUv=6aNW5%&e5pWBJK0|tmGXQjVhUrvk;)0-$(a&jwgc1s%aEl z5%yzCuP$rAYFfskiNKlpq1hi6;OS|dgAWEu^jmYhEie*au*hHku^hVvzzn-C6-H3U z>3I6OF!9J+^f~8LA-=Adj(Okc=Cla=Asr(MbZJ|-{g|G!w6;Y#U+ca>gGGQY6xO0m zu}{dWbnbSKSjhhEyFrZXXO$TP!=V84#*EtBLY><^^?uiEg}o=}h>NNa^jUbVoAMmo z6$)P~s5cL`o)TB1c2LIZ=mOZygi12&|-UsF(VPQg@Cp5XgF zE>CB@d;~X0m8@jV>BxCgE(fp&lF1xkszvGHB{;EY|0C<6-kw+gDLn8y13T#Gcbl}#4 zn}+~Dx0gg*Q^1+qpJhD;5FJ;orBEy&w%Ob<#bLeWK=(gI&esqpqN%%;+N>M(gZmeNH+2O}EnFe`%n|A)n7_M7i$G%SuFZnR683#)7oZKr z=cl0Oa|4j5vEz+9Mg@3(AFwE5=sAMh3V;`%3-=2Hwl51mM_)JTg()I@|0<d5IYUOw1KT7o(;FoqY;4C~un~@*eOUrpy)*Q zRWcC|?1po;OVj8U5*L1!9t(ht|2qo}t!=}&S2jLW5A0gvB zNN)c}0yNin&Z5>Um47=H?O=4(bnL#M*hAs@RsR26=yX4_Xq3jmm*g}4QHfC z;r6cwIN8N#uAJFFKFdqxLP zA=kk___akisJTC=9#0*gU$h!FGx@bPqwKSjbS#+Zr{h6KegWAR@|>PF@r}Y<&_3Zl z=6hI#btr0X_g9Ms2&CgJRIop*PSSCWdfrW1w9Z~y%_7WFYGffTY$4Z-{5*EISmd|$ ztsG|r)piw%%tEFcEJRt)_aR+o5p2;&*kwMLst6vk1P{h)Rk{ z!!eI27-C3>;iZQxLLv)=UY$HfuzVehN#PxS0mI(eMQvaAnUNS6L@+hdMmaWaGpxf+ zEc85XD$R+THCnT6V^*N$QVQyiHBqlJYI9}i1PNG11-_idZx5o63s?j#1Avb+iX(Id zinnhgckU|iON*8;GlGSvoBw_QCesMmGJn3#qS(&nPyze*Izm%K$8tGhc7OoSX~P^F zHDClyknv0wL5hiU5Wt%J1#vN+7irBH{A2)B{)}ZLg^`Mh3k9HET=(aE%2c3D&(C-f zi~PEtMbIqKhy(!8@Y&&W!{=IKq0D4|BLIuoz}cUd4kBN6%A6k(X8v2ga2%UGE!X>p zaw%eg8+>_LILGg@2m!oX6Z>6};XdrC`+Po&(`9RRn-hP`Nm%Mi5-|?YEWM z@6RO+1C5-FACYFvNDmx^GJpgl0Eo!aD5DWX1Cj!bdWC!u+fwphMnu)|Wki9zw%gbu zj3l5kPh*b`GXq?}ShWDiNk<$kJzP8fU@9p>1gdK|iYP#SQ=)BSy5CzkJJ~xOz_kO?6)&fAV;8@5k;J@jCe@TTi2etk) zv&CZX2eJue8^n&^kGKXKB$^0gZB%riLHMRuC!LK9M4STrMp48b7L{~ajYcpV&UIvC zW@F*~04()qYv@FSh%>7KMH=7*W`hu5D8`P6vV$|)zX|SAuO8g(;M8iLi`kum~F`v+pEIm!yl+#X)2Z z0PRpA1%=o>+k>oAOJ~3K~xsSCpt&)Kc(}aj;X7>3z=nB z*Aq<&J7$)#4OGX|-3K^8H4E-84s66w>zS<*^~>Eb&@515$84Dwh+H@9*r0&pVgPki zGx2m{ybvm!?eJW}c%o2Lq3WGaMivk)WTU2#W>$;u<9(3$sB`D4^VkE5+U5xpzXxAh zM6@JYL*hnZ+28onr)%fe5&7%&+-m>z4iqeBxmiHfMN1&G(N|mS7bTs3)cFzOWAbCj}f%ZHyW0sF*b$ zo@S9>rsbh1V35Olj5*C&7dyK=l!0L3Sys-D-~@CXZypv=%lJJR7f4r@T3ixDo6 zW5L$>L$y8~pT3;F+zR>O>J}x@EQzw)l^!e?ig}dytg7=#lw17n*$3&o`REUY8{5<%;DEX@)9>NP?e!U=e0?Id}NH z0=!Gd`p&jrI0Y4vQakT%tYUj+gGdJq(aQ4MpVWT4Uif^tVz5se5PDqD4AM+0nhohn zi(uy`1|s%)hHfv5d_QKkkj>vYL3D13`n~}C(MaLEP1{wb zPTDGMnYJtCOYT-Y=N&v&BE7Pe+D(+k;@I_SC3p>>}KFWc11S3~8?1uWi z(g;H9hx-5^=}bInx;Ud1HF+2oV>*_ZJ2zpBwROX{PyT1^Ev^rkH20w%>0+GD4unnCD6S zUJ7V_t^f(|=(GRv^QeD7T&b7j#^Ci2ZUACX;Y$Tor7LFiAK-uCVXR{89@hA>m-?Z(Ja&-R&0PexS&zfiKqGZgV;0E1Og4f1HeTmTI<{k zdOjZ=YJM-83}{aPNU$yeEVxf}^r4>d+ydYLmX3Zp( zA+r<*l_(9yL>Z#NP)M0Fr-(u!35U0My_tt(I{VrGb*<<6-fMaM-~ZqJdE4*roZtEV z_I{rAtaableO=d$xfCXGbdGK2mra;{Td3rjqW;}#UDL6+ZR#%q*y7x>HajTAxSvx% zF_vyW#njZacPVT_bVJ%6j!mJlWIs@p!i48I7jkD=nvxRy_BchAc!S{M>aRrjiA=#y zkpaE)v!uX)#LT4?6|qb1?q{dh%TlDmceJmfGO4q~Bufp_Iv;**c*O9CV%n$lS_yVA zpPn-EZ}U+)bAuPV!o2yNqPX!hUpt;Z&M&+((Dc7wQFXYQZhY$Cdy0xNa8w68#PiMm zM1kuLYc??xAaI+aO5jW-AMUNNG-JQY^pYthM|4an+~~tx)Fy6Gm>8fy8q}Pf;%7xN z6jLo=n!t2``ipiGw{@n#Anp2bX9C+ips4oA6Fi6hPlkEF%7g!d)jwXRFVgP z6vlDk0m1t;lPOF7uF9SFyw3&@jrWH0fEe$_{B_P%%+}76O=kgK+5_4zwg=dy{%^%p zE=vKX<@M1?QU+s?Gqc+K=0U3>V*Kv5#(3l&=!pCHQ3#9UQo+`oOjq87BuL@#1^EE@DzQ8W% zql3x~1}NyeC>%}Mq!SnkG}IA*kKT1gBNv*oT|CZdr*3RTm|>uS!i}Bz z@D>y)h6Rq|)ioB3JS5?fvFv)T! z7Rq@PICRpH5U`-}M8GB7CQoQbq1e%(Z5CBjCNH>{qs2!fxX@(5$%6TPcW(WxYYGk! zTMiyJFveh=s3-|)P~vb0$3wu{>d>$=Z`tNck#KC^z5k%Pvrf5R6pj?`92_t&SRa^v zK+VRro#%t=%Jc|a)6Fo5P9B<3#*WZI;$Y?ZV;|so1Nj7TW}Wl*9Aw;g05yOFzdy98 zG3EqM1J*6T9j2X(+p#1eyg@t`2<a?ZYlsU02#j7Q|>FzyV71P7rH ztQapRh1@T^o*t+Qasw^xXB5?R2^Ug~(c{kp2zb4sjEM}2Dha1Gdzj~8N)-ShQ%nH% zJYF(1X7UnvM=>9Z{av5_lb*A@bp^<};~NQsDV!8QLCH7L9do!bcT}19^)e+POm0lM z48$AY1;pHiTL4OU3>eUe^}zT3G>mk-q+wqUxyI%xt)N*TH8jV6&25rj9!ng98=Cd+&vTpI1;}=o!RypMPWKc#})vc z^~?T;wim6e3!U~rMJdR0CwdnHndett6Tj#fX6f8qIWy|q=%Jtq6GMB0gp2>eii%PU z1@=x)vEY0lpY;2Wjv)XG`=Oa>?U{i3 zOCX;v9m+VrJ>Q;bFq7>S6~l)Px&YbR%$Rzh%(agxGUOw4?vTLob6tpqDW2C|00`Ff zPww!Tz`H!{hYlnRIIqtz=`-Vi`kV83aIZL0l@!eqoY?O$#WYZv%E7Fy4&cI`F6rKN zlCLAX{d=;mqG~WXZ(;vvKG&IZHn(*9`0($;yNBub4CfslG@LJ+d)}PQJps6^=?>2a zG3YkV1$s9g?hlHpF*2hYdmD`)H&Vi5io%~c?l3uE&XNytj=P~1Oi~wIaX#22Hu6i% zr9I7NvbtP6GT^p)_VU1+2WmZe2xGUI)<9#_zb`%iU7lzl6<`3MZ1A9>Fi4|eWF|>W zuewN4jb*%Ak^X)IMFrd(ZAl;iKfnphTk;>Iu$Tgq$Kle?!h?}PJqAOXJdcJW`78Ap zbs%{t^%o6VUb&7it0}zcxC4|?=%ekYzH`2eWH-zP`x0op2pDTc*7*`OVGKFczwa7CO?81js%9f(x0b^ z8%77dud(NqgdMXrv{C%Wg?cs*dMgNq6a1ilLJ5a*&a3|PiE6{=KMI{`*@ouTUIZlm z6v`CnbbOi9>CRe=`QSn2!cpM!IY8W5a3DEXScAkkmylh>CgYINUuw45^m9qgh>erzLDkjuZr~VZ&Fkn zz$}U~pOp=fhJJg9BK^BxD^h;8?#y*&ro?dO0gCkcm6?anObOM?`_4>}zJ74#KWCK#l+)Z?ToCt*(lMC_~E9QcladmV&1L4P<&Mwg)(6KQyJ_v273*E`Q zP87Uxps7T=KYmJ)e%~sJ$~=bW6Uw3AXKbV-&bV=pyRn0V+Z9!ZoaYBuRghNz8N3-l zJegjAMv8yO^9>aVz>E!+=MUh9LJCS7+AyeW24q4*i>8$g7byt;G1iO%#dCi9^WlTJ z149Sq0a6_bB*t~R@Q*P;*8WB(5(*t1O8>hUSE+6PnCjpI2*JD(6Cfw5kvKBu)Bwcr zZ;G_-{Zx^@{-vUH^cdI0SR=-80WipFQf8By@~%1Wv5);!Q4*MVE|_EeUz302g!tud zJX89qdAw9gYv<01trE$_^ZfY7CXW_v++==5RZzIVpl}K5^*V~Gac!t`K+-((Cbx^m?Qsy}nnGUY}Q_-*=57 zeZ83?ef?HN`8kY%BvBpio+1^#qaUP5>w0*8iVOT)tY#PcblwavOp*S4_(MhddD|(9 z`+xI6MdcQ6v(e_aib_Ibrb-6(-d<5?0fz5Wq~G%fMFv(y?$De{(M_SE|~5a-c#1m z=-$zNqxAkp(-rCUmeH-Fls}AC7_B%;=h^6FMS5LbkzVgqqb6CGMC(3 zk-qO=iuAhOaQoqQxll`yUcanJ-}hQY#iSx}#EcWFvH>Fi5lj+c(oNp2sK(k^Di!;X z=iB2l-+sS6sXZz0M``D%q)v}1qbiICI)d%uZT3dNM2Ti^- z`BJ8EcP6eLPur|)Ky#^SZ6m-%or?5& zydtgF8H$uQAFL?SjPWIk^nK4O3Zn)Ou+YqJYDNy{n*j#u!0-?-FpZZ4Qy;?Qmb#4k zk%kz|BF@o%r@!`&Td)E|U*Y zepb^=Nu2q;01XuK+-N%K*3v>vWP^wW3BuxkH~C># zfa2ab{*vkJ-?d=Dw9JBpaYGtS*tntLPw=Z|F&DO-}V8E)_;=@$&OC# zDqiSNm;P?V3DY$eB<63kx#LSgWn{Shd3#=aUgdJmSUdwL%+a3Ot9uYrn%H$lc2H!k zbvBWT|0vM7&VE3pY?ZbZO-gJGxIUvf2Z4Qb@W|ki%#`Rl9@bcfyZaqor(-a`wWvmt zL)!%+{}v;Nzv?=Kj6VXgj)P#M?qKHM4Zc4(S#!710OxU0bCz{6*-uevD-DdTEVDr~rGSot zwbMa?`$pPdzL7f$om=~9$ z7$zKK8!AdcACe;W|LKE6HE%xVRhz=geTf6kg-;}0NK@Ql$vmU?S5#mZ5_k;+pi4)~ zjDr9?B|Z3PHoeLnq~^1V!svkVHaI|0O=FW!`*f zL%rTo0lkR|=(yjQ?pPB{$C!N(lfGEj>W3`t#Q*a2J`PQBSk>XhUEaV@Xx`mXOLw<( zzh6aB%=Vh?6{RyiTuG4=wWG541dN}rW)-UdwhkaAQJ}+UMpAUZ8K>riDa;2g3BuGg zpGK>c{apR9+z~?}WKDCkw@ASiV}bMFQSJDpBh47SI3GZ)F;g{=gLg|Lj{f}7$%mOh z{(_mLrD4q<6zRCzNRg#pokReN@WloqSMJW+X2(uil2&DA+6>Oi~%UOQv^Mg~G96zfbkN?b8rYBSks89Ch zu6y4{QrYgLNa@$_6)9a`Gevs;<1G~F-_1yIUp|M=);ZkXp(v(>oSQLqAUb zIERnTArFNVRRhS4^vPjf@0bdHRZ%+fF55@ z;h?2}g5%dnC_z|_#Ki)(X-nQNXRA73P|b(g7r%5Q0SrK%SU}tu5JeJC#sV?s3kuQL z8x|C$6%=Vhy;xx?+Cwf7-ds_!J3Z%m+BH`Z?-jeaZ#o-r36_MP&{Ja_;>cGeUWo%f)>3up+&lqR53@3g;t( zGX4lJn{4LyQ?J{_ONTi+6BJ%}gg{kQhxMO@0?mHkEUc)WKPUKM>i086W%h+8+?~gu zn6INK0MFnKYf~|);(Rleb9jg%BmNx#y@!EC@2|PMS*rp}yl=9;nmrYjt3T2uYg+T? zPS5$^A1VG>nf>WqJW)NDf}eJ==fjiM_OD=u!~+F*2=9PDDyq5ZP(NQ`m^C~Onk5xQ;|lOF zntwFkXufi;;QB7BHEE~EM~;sg>))@aNXuhoMO7GjpG{9kp1Kj92LP9JybLTODa7NY z*+WsJT#Szl;Li8GJy}sPvp%h;I?(PoH5)0?`@U9DByqt^Td}(?lT#ws z12LT*^Lciz8KKu2$Ue{G&rYw*5AA(|*H8PnBE8P7NUvX36d*EO-WlTsQ!et>Oc@zpr%2!TjrN=EH!|Sb zb+q!`mZt;mwl z7)OSOhymufev-6ZpBb>rw98aXTNsiCSi(aGDIz9k04hjSF@eP-8PhbLAI#dA^1xIG zyh{wI#r}GDj*>rkzeVc7m{}wfv40ql3NuSLLSe+k7&oRxxPSvdBCm)>A5sX$cGAeh zgx6B!828F_CB{ZuN))Eiu8Z2AC@K$>e<;dSl_*TPeo)RSh>?Vn*C7oUgzHB4AJT6c z4*)rs1iIrNg*=5j&kw)>_Y)w5Iu@YddPP-lAaSNqgeKnJ578)v!OAPs7LX#6cNy4; zeHdv900VU?buo1<5(P6;1ITt`F~-zF;V17z@`9v->)-d_L+VU^gY*eANSim0B7qX2 zXm8(;Wqt5pTIPI5flES4Lc=faXG=ON=(Rfo6vcjz8nC&hFg5r;h4O@B$HZCnJ5j+;K|xy)!Mu%ngl{4;l*Z zpg7^?>Vl$KM*iR>AqtmyGfQGaH)T?aLTL)4fMy*+nL^`><`>3^nFLU2<9_pV=)^_aesae zY+U)nlfwlTl=F}naF7|HAIznw5Oww?#shLdz$ChJ>aR65G$^$&Uk>e_kC;Yb6Ex-@ zhdCh!&Ks=BW3Igm_!#5%=?-`rT1VifU)q<#3ZmLZgCg37he}&xO&C zE3LD3t9>f!o&lz2GevrTTPpJXTr2~PNL%)|Cj{%-33NPnWACGMh7CkUfoO_ivvspo zvsLN5O?FXKohM7H0GI$snuisYc9^;1tRJPJUn>9^o(0)NaBTx}OH>qFoyW764n75C zbEu+79YVTd=0H$uo#+kj>$JekUk0$Cvp-qObJ5+vm^`GYDA;ajG($ytonKK&v^bxf z=!Yq)nGgYtYI?wBC1GQ{CsGAEF~fZo1)y%vQRG4{ONZJ^73uqq8y-76HfyePVn&{T zYCgIF*7iG!>U?DSlsk@LmbQjn+dpZE)viv6{aiq?&Od*Z%Dr3V z(9zX%X)m69n(XD@|7|nT&aOK1a$NaY)!^`bZnsesz=H8_k#BMiQ$XUn?Q;T#T}(46 z-bNkc${lHd%s3C6cfky$15V?HF?qqXkOq9#irL_XUi(=4c>7rKoYB*#d^iJ#cjW!z zq`Y5XmTdFSC>Y51Xsn<`cY`ZDjL1)6n&G7&xc<&+N(53zq?I-$Wn5)?TA$MMIzBo@ zIzQX(6h$Hu8hfVDVB<)B2!nxh5@3afAB`%s;!GI;nEpV=n2i0Cf)=wsI>Ywp31$fA z0nTy+~AdCFM#$Vib|RRV1gu$POuB<*q7|B)qF@%Boi=r zXw*f)iV3iR1Ei(xTNTykazmgGgvb5i`q04X73Qy+&c^ct5C8*!!k5M}0D>DuFn;1( zra;D13$GAN#HkNyBmrRXduRk9A?NRr)Y4eu`)md~wONiLNueQ5LyPMG6M@2==iJP5 zo{umugjoq-0DwhaPhJWjfOiwj7kiih+y~%c4<_=OCKtS``+_}e#O=SUaW%T(3swsl z7j<9Ym~+aF@mK~DvOv7ppk$&ldzovU7xq>aB~-uVghEwA3lr2EBZ2J(ib8$hfomH@ z+DPtGq_3A%_}?#;55^Rg27b;I>HW;SMUh@VrAUAN#S{k?Do!>Vk_Pezige*VkYbB6 zw;AN0LasSkk-q;Tg|&8RV;r8WNbBsu(L*C?E?-onukRlHeUujB=*7`XqjbQI<{8ba z4#Mc&9Yt~4(bK*)EhW^WUyRNlou9tGf7%1n(#Age_UJpKbg+&#Oy8LjoYCfr^tzU! zdTmC-QA&7*?^YCzBZ*#0-?Qd)@V;)&Efo8~-A?>ZQWUE9;MBosgVU;c&rYDwa^dRS zJfSFB)SzJgR8eWKW>MtAGaum1V~R|*&Kp@!^xRnpO%@E2-y6Z>fdC)@vHP--HaeXY zsyvvBn1KRy|D*1-(NVPvd=!39cZJ5(siux&0_4IpI>tuEW84Rt9klq2S>Yf>5c)x6rXy~EX)5*r2 z6lQ}H@F-}I2C+dxO@gZA4Q}wfqD*6mP6QGPex8xd<{m}m;%@VyW~?YK_``203WYID z#=fQ~W8H$v=yii8In2knA5i+82*tr5$;O{6Qy~K@yf2=YpwOd@w3k4*@%s7VxgcSP z=ZNpW!ihBZbsqy}FLo}<&6$cy3;e?HdF?;LITY#j%HdVRl(-J3i=>|aKJQP%ITd9d z{BUta-Vaa7`{7jfFzPhNe=OgZx8t@X=Aq%9(M=`DF{hk-Pf)k;Ns*q%=0=5|lckG^5vG)w>!Bqd?WIUx ze?P@ZRe}qJ-1|^-jv{^En-%#v&FiJvx|0|*Z)_HC(mHFtuc+prTY?bh3myLTn+=)` zDl@(v6zTPHMS7h>QJrJ#FYY)u=PJ_c5{lvhFl|1?)YL4?&9dw)DW8~j>$F>@rF>y@ zlp?*JGdg>e3d?5pZVVvfWCsT+($6_lk-l#mMf&=iiuCo&(aWQhPmSKFNI&;uiuCo3 zqZ>vyq_2N5?dQ|db3g4@iv0aKKbZDuMS9(M+D6k-elYyAy$0~0IHZ~0OwUs#F4t6v z?5%KN`t$u$98hUeHC5to?m#Y6Tm*1jNko?fql&4#)|a% zEt|Qi?QvsOAiA?RoGb0uy6y`N7aXSNWweDNds93*O8d>|Gm7-Oog%Nd6jgpGuamW_ zybOvz`4s!FrMb~bRXKL9C3xTM##Uxe9?V<4u2_HhITTZN^G;howSL!N0N4pLUYH;h z_}dzQTF-_0t_EbBH>ES88^1;&Pu|BAF*C3NxH_Xby*a&_n&d(dlg5w;0=VPyZvX+{ z9|=X6F4GXBVd_Q!3?jzGVy+tbCk!!rj=)gjoM1nu@z;D>k$&E96=i>EmQtjzk5QC! zm+`N`WP{+njFjQz9(GVm5Cf}p61uzK1nS7TzgF>H%7L78@ zx+(Z+AinV;j67`m9 zL0sKYkAf2DjzzOziUq9w+P9+eOY^lyaeEE7R1h!B`m`K=?}A~)iXv@F4`Ws0!r8Su zCn~?G%w^C@V8)>S@RQawPA`;(__(5^*9iqBBO~#W6gtsHV7A1 zcVNTy5;t}_r@!wukjd_*KvC$ku0SB^=)(knGRlMbf)P9(95#Tz`#P}R=y+S}7G`i1 zz;u!~vsSN1AxjTw*CEH1m#Gk#_R#s~e#4ZY!$JbWI5s->Y#@9tC~$PPOnnY>CaC4i z9Y5D&e4tE`(3!Ckk^%}WsB=)FKybN#d=8LYklNmO6gnXBob&JaygYiQ#L-EMP6LSt z2fyzx9Z$yK1x21QHUKwvG0)>i-%x3t4bV`SMuOlCdGbC*HQtS>6)ucI(!=LtZZBJk zsL}t(ROy>CMSQivsu`ehVambHK^g!lo(r!tFmQLL0S>A;?&Eev7XK(SkaipFKG?l- zXTLxF{ryEc6Q-3X4o=9P8m4wL-?!PV`Fyimehvp25ZgJW0Xye}_v*~_LF;#!83n%` zTsJ^dd6k(+mlcY?_%oS7!x%Oa27nP<`bACLv_iy9am74pbXW=j5m%?UregL0DER;; z@oL_wNZ)@|2V^v_PqC2K)jeJ>2RrfJuXKn*Vx(2Hk^zW6SBwQZ?UN=nl zz`;yYLcVv!*rAi-1Pim?_8~=jUw=)J_VwY-DgIbV7#REa*A#cUki4tv@PAQJjimz! zG|)xoKRiChHdno7u+LzhQou)};UafJAGYf}z%zg>onL#Eq^BYO-0`*JYsS|U24i!d z$6>y!11yj@DgDm{06?P|U&9lfpdZ#1)Xk-e!Z4iN&}mUa0>fB7caEB!6vZnbBnbeS zE^K1XxlK@mndyBp5_FrA4NmLUE90%&cPi5F`;8*~z9$uBib0;KFsBpaL(J^FE?=i^ z-=HI}^!rvP%zI@?TZ(F2C;RA4iu8J`y@1?Nf?)wAA1Zu&pO``4tP=P0C)ve63j2vY zZ*Yl!o1)Tgx0GXc9Z~YPd3_zPGlQ7|XiGCs_cpNZ zMn~iYm-zirk03!}47Q}ZXI6EICCTBUPsf}5$I{2hOUQ2kivFi#_QaSrq?|AXy+0%6 zWZ#Uu%jb7I$Lv4k=XgB1Q$AVL42%zTzb6`~UT**~F(#UPn!?fhR_tRQf6n@g^U~KR zI^x_HJ{MGVDC{utV2mIMq65$Mhtb7YQX0^lW7JJBRVkopxS9DJQakcE0}3%l53f1$ zUa0(BM>9qP7=nQ?w?8L&&P%E4cquo|$5~qTSQg~%sz3WjggZ`6Zs&;clnX5N(I52a(r7#2-eS0{%9dU%SWX!Qa)_iHY^538t#(x#kK zQN7V3qviL;8`1-nw_mg-+O1;7OpAUdfOm=yF= z=4@Wo9fVo=c1N`l(D7!DGa4JXo{PG`0pWX(P2JvUs`=Xfy&!EIU}$PEJ;P+qUJ2>F zcRv>m8wD$xYybnO`0E&X_n12#_@KNn*By-&_Zzp;`J8w&uNNu|KZgyEjR@ceGn&gy zA>Yyn{L3!fF;kLf!;GrX=U}ElWP{;A!OUb4n^_{kpipMxg948hke|cP=X&#d_;c3U~63suEI6Tj?+`mJ0wC zKor0aiX&8S!DL%ig%wO4B~rUp2`WIE3$xIQlW0+xGrrT~3z4=_U`EIMx6Sp<^_e-O zD1Z(OtNXjpM~53=E;?~|KyaUY@MEsm+-n95jEFlG)fiqh#-3Ud?%Q71c!vbg?lF#8 zh$HRw!3r~zzFwG_p;0%`-Q1*bCsk8xZd6o^my5atrnyd$UXgTMVI~@#KRPpL7_jI^-!PXg@=GVqlNXKAkb90RS8|KUd^==D7n3BV~AlqEKonw5J})QP!gq#n8;U zfNzdgRAx`6-iP$jrgtQ??XMJ-Lcv-w*bMFbSprWm=0F8rfz2j>^P%{oI2tz{(MdirFe@=NGEyqL=T4792?! zlx6^Ot}hyI%*e;>C*@covSP%!fTn7Ts&gyh81COX^A+Y}j?I&SK?3TXJM*FVxMkLP2&TTF4_ zxj)+P-vB~L_%J86Sv3+;0G04!LwbR9;gIe*ZMJN-5aT$2FPJiT&YW!XYP>m^hQ#y) zj|*-$?#6kyTPrH>5XSrBfka+U-2lMHKF9AdV=Tr zz)l{|bSO8tqTxehiAG=F44Qh21{&`Z2?sz84N>xKsQxe#D9Dla&=_M~+59?{@tt`( zg*@-a^-=7jNFE=~koHs_KKeg-|LVK}xDM0_i{ zV-{#vROkp$+pknawLw)8!pfKdmx$$dtCKdxaMlZP_S;|`IpLA0U*k}V;hQb1s z8bE=AXh|11rc6f%nhrJvyF1VW9vEv-qti@*%Y(`TM#0NQ?2d2RhPyEyjc= z)#9K8(Wk@D`^Q`opuh)U05l}xBnA|6+$RnMI_bUX5K#!#Q!k#c?h{Og`)m%fqBn}Z zIbGlNls^Y3!32cQ!|#D<(I3ajfx!9zAOW!9^B94SsR#f;{D=Ft3&n7^Wh@P*cenww z0db%C{j4h}RJi|Bc){qvM9kxZVx4n9QwT$ugUY;<3*#g01#nz5 zI6MuZlbbu!F7h$nrVv4 zmHyv~$^{xP0<@Z#diuQMJcltdd9xy2&v_M|rl3Ok3yO*=3Uw9ACX$?6Ed@KEIj}h} z1NL3v!Z~26N&o>K-xyO_Oc@O`F$49nPq?EN=NBeXzFy%KWA7Cb{g8^7B0fAqktGN- zo0(-@4WCk^*IgCq@BgBxI(l@-oqzD$g{Ix_2kmSy_%K&>f;zcCk*@PJMfu!89rrrG zq;Gt%B7Ohs73uXIimaKwq}4dE4=Jin6@a40&1LE0HKh}uuYdX+;~i6c!~ouAb}L^$ z{k+{3g&Ep>RZ#&&PHb`4Z?|u^Ytwq1dC1J^GbOdmH!Qv0r6`@P$=elG!DUaWkfx$3 zhp9UQ6+noYZj%oys^8;0WjIq&QG|6`JXx8 zLDJaQDT>4iz#0X)SL0hw2P2vl7}#b#)V&6y$k2{dt&>& z_Iug;q?1HYAVIO_Yv)nX=wi$`-U<|MFta!(X#`O~dK_LVo3a^kG{opc+bj<=>2xY* z=I>*HaBHzR7k$b>&ah{;^I+7-io;>j7BpjLUM-J4AMk1Oo9;y z1)j!$uUmL-um!*b!5onMlWBG|1j*~kUojD6ec)xnf8_h*znUs>R5_qB)qhV@jQ&(<_n}BYZD8&;3HVNm4q(U&|C*_5G9?vC ztvY@$Rmd0=G*OSvs?6I!KybTP-|y54aa4z7-^!$fu^i0p29e|fnJN>VL&j(sk&TUk z0|Jv8#&TJk8c0{qbR=H+4`6@-kIpY09d{rH6u{G6$b)=alM@LX=4otjKH!7u0d<|J z32ZQQir0=gnjQ6=0)IXKUdH6ndFFu!X{TVO5M9lQ*xW(I>aH^f2pSmv9S;uIh2O(< zqp+o8Y)b6}>I@Gk5(&n;Krv?n0GPq8noci(1BfEm2`wZPdrXBuIN3lrfFA4Ss1H7D zK!$|CW|BemV?#yrR3m{8SI8mjh|f*u5h^VJ1M8TvnshWl^tldf&@TML%n)iLW;cve z!p)fH4FCu#I)x&P8+YoW6v|LT88_p^5o%^6 z000b5T!I2=ro-f`Hpj$#6YU}6+k8N!XZJn%`33ofBIkph4nez@B3+NKC@R3tRD1x4 z!NrR7ecw)TbfM_uo*NzrKDfdxh{7LJMc>C}OGWy3`*tRzXv2r6Dk_TP`xMo>!0d@m z9{VBQG)~O38Cu#uW*(?W%jm2WGR6D7!if1^)jDL%p*pMYtt1^Bn3(V!r$~SQRZl~3 z0fM$a7xJr?bBPXp%+)@sqaL;wC@Re_z%mqhsPu;`@>GJ%Xi2AVS116mf6s{;35yfT z!G9F#-#@D;(uJVN^ZFJ`|1kTq=Li5on4ba&S<)5bS-l@LyC{ler&&mm3+WpMH>CUe zu%hZ9L3Pg$e&rqG@p;i{Mhgre39#t#oH13xj36Y00eoDjr~m*{_=o2x@>GdV60m7E z=5hEoMf&={4zPeZHC#|p3ixaSe3${O`70n}x}^fldv=GIjxhxxz&Fza+CM1@lcu>$ zQ872%860n~CixLgLs2|S z@^#(P%#>9N1Bm>D#sJfuePKh@;@Y_ z01Cb@A;EA*c5sfL8^$jixD69WGp+&EkdV?CCBGyeCBLU(M}E$Iq)|izg*=@67seyf3Cv(`R#fJ8 zuHz&O%hE8+yZO1)C)8K0AM$-ZH`k9&eP3HoAx^zQ9Y!8YUPZod)6HNMpz%lQ02AQR zZodx3#|-a>-cQ3*gDF1-q~bc#80ETqorXy)jYH>$0a(EJbz^cg?IuN`)S(T_{p7R} zw@WC}>(vTxFu$)B3UfV8#c$?Sq}P8aidhzj(O`dt6UKjeA@5Xm?76^3?lWF^Rn@Wc z__vGzU0zI3qJyRb^oh#+fsQntaS%8<#4HdB2XEMz)TDGfca$`&FL!zX6u41#GYw_| z+HDpb1v=E49@RU>9x~3PUno6)p(l7)3phd@Wbw#zY@;MprWmoi|aP91$yNj&%pC$q}8y6WIEJ%zcrcPT0_7^vNzRuNiOwBKlwp@Ksd_WB+#t|<3C zYuQsGq2X`C%7f>p-PpV4MMe7i%f^?EFU<*dN3G>~##@1o zybE&7XJcv%(igPo0K1r~F+D@)^l4=}LUeBI0fYuLOerzbJigP`Hd`wSFgpC5A~Oi{ zK99{Kqsb527Uq<1vrM$KnLkLMFIMnSrzH^mgY~*p9(NBTvkzB z`(x~+$24Ldn9YAbQ0_wjPzIKp3l&vCVkt~e!vQ=!b}gorSSr!{LQ$=M1D);16_vX_ z-Xs+Ip3>1=t?+oe>xvYh{jegv-l|Bi|J`{!gc&9K0n;6NRNL6cyw2J=6lonUr$}Fa zqWxr>&aZY)Md>s~$DTZf@v~^p0VKshTe&jXoHw@)g0VB1Q(?`uI{YW3IKI5EFu|iU zZlEGGy#UpC&N$D_41w9qT-&yi{$K)2M-S$S&9%bJ(gk=>xEZtMLJL49rndm_lYf$r znJF3!Cn(pNGIVwUj^epsPQ3T?`23>E%kyXd6bF>?h55AIppu$!4jRymvB?y^P_DHe zzEZ|m0*qz}?R*s#ozKO%KbZg?Q-F0mMcNe=>Gd=1u5G%`?Qx3C80g+7(lO`xk-zp` z{V9BC9N}4nw~?7MF?Ja57BgidpWy!9)k*y#Ph?yk(->e}(b%vFHu+wdS}tlJmrg9_ zK3+wPVI_Z~5opFpFa?l!xL%=w5}I%`DPkP4J(T#pOiyVKRa8?^=2KMCHS#eUcxd0L zZ_KO<#tl*jq$8O0Qc%;-Bj2MyW}F`N7!pz>Q55prR{%7RUyXc(LYjs%(>L(op>QVe z^w`+={@?Y?!o7aN%Yo}c#~em9fB^rF_1^2$$9g4C#XOYjiFaL}If5h{i6spIycZaY z2xEu$!O!9Mb05hU8G~p5F{b*tK{(0>^6yPa`AFpkEG=3(n1;VdkuKoyhYDZtKN{iq zTQzsmV*{b^;WkSLBuoi75Okc+TiuYkvQ5pDhEQn?RU}}{Q{;oWGaDvWeji~52$Bav z;ss5|AjWTCO67Tpfvf-=kWj7W&OZzS%ut|qv#@aog^EZ)3BpBUPNB>1qi~{7qx1ce z=Mgj3f^jamutPbgkfzfN!+`~hhU$vRm6I#0gk^>cCCu@>5v4S}Ga*~s6e~7d608Nf z4Kfm|ExPe3k)Tod@$Ud$_`Gz$`FsB3{qg`&(6J$b`Y; z`(RbSI(Mw`N}#~T?8u33boe;XxsQDY2a+1D8|wt%2qcts34?*chK@7ZSPtqva!gI$ zqNoZ%=7QrcYzakKu_9HwO*C6RyJ)-ipC z_W10)pLP;D7uuu!NBfQTo0^jMyWHQQfa3|13fmNwgw5U{Xycpbnt$hM0P|UTarV^D zvUi2Y!-aXBsPb!CIUUIBpjozArdg(V#sDM?=O4~D zoUfe6?OUu7XTLx?Xo*l1L|41>dxX7stZ|;2wc8iyB+AlKrj|$CbKFE5DU+vayLV>5F*KX@EcQ-21>zN97iq0>IX8UtRF$-&7P^8x%Dyp%l zmL@TUCA=h@PXhoYq?R_VAhR=1v{0Fa(j~YOIrlMM#k=5R^!uWM7{KJ#aaO0tIp0;YpHi;q6FuS3_0)f;W0zONS=t)l0w#nX-J2>4nw+zc`?8X z8g&>96t+kr+zFm+s;E2z>~RqJDfJo+0Nx+@7AAD$B{1s9&uB!E$B|FbK!yT`aCSx^*APQ)e` zDxBD#R}~K2_*HT#R1lV0YrayI*iz`vnvdvGP*Fg$K#ct4#N~FI)ErukOW}cr8bil| z3+5XY9a0uPoo5g>3V%EZ*a$#mdEdA`-)_VYmtQ(|bQ*92Ho_Lj7dMo`2WmD2KU5@c zaEwzkBVZmEY+NroahOC<7_h*3@cNo|7OJNJfCxhYjgFZSp~1Qa5V)>Tt{78h4Ru^! z3SPdJ#pCQ%N16hSjhh6%$8d=C$7_GX;DO=3gQOPf`+|c7GjP)Z0kfEC;Ehaux_n&$ zcDUXY9whou^|>$ab%*!0zK;HP0puW&;OFw3P?&JN_!S zDaItiAc0y3RUT#w&p#%I0010hJhycGIq12*jOB5{9h6$es%h-$!xhuS?)m|^Fr5HR zFO=)YeBc25@q0Ni?as@_j7AYx>Nwb4ct)qfW45B;=egoQg~0-F$Kxe03BozmJY=QIAFam4uB7nqpQSK9 zVm|wxifWy$op+dyfp%%p8ID!*2W`=lNtyyNUa`i-LZy&Q-qM zP*DoB3?!xfyM4bRy{?{OwTfbo1QHWr#yIY%sLZj<0L=60XQ>Lw8(k=TwxhhKPv6ZW zf3VAIFk=f3sp%amMB9r5%aVj(KH;skv86vxD5`vobHl&|W~_Kq;4KsR2@DxC zb)&GbD}8ii(QZ?SIFI1>hg1Qn#mb7pXq$XjQB4InUQzbfEH!z=rj6-&ZdX!NQxO1) z9!&91dxy+Zc_>)=1`~`tCFYp>ybsMYomlpH>INDnbYL-mCGWt581EYc&2hfL0N_0F z-=}iDlQc7i@)%zasQ3nM*&l*==5-U^5i2Sx3D9X>GscM4L@0T{F7$>ie( zsABBhM{V}^jmc4xYzKe>;6bCt`E4+XSkJHVG`BMp6;+&u-4i{gF#8*?|)E0gpKm{g*G^k-Xux@*GV%%o{L;x4^z?%$^+}>T6kVpVXa-VoU*rzD`dlKVO zcDvu-HyUlryp_u;ojgn&=-3O#_>r~n-!Ja|k;s#%E}3oTie?|+0ICk=dnE9DaLnl# zyTbfY5-AE?I(twnDM;z)Qs_}IP}uSFdC<6U6!x#TsULq%hnhkGGbMk{puG1f*xcBD zr=M34P73dJoY-$-le-Q4?^g6d@D^)s>V$OdDj_1V#2u7^7H$60{=IY}arvinhUSM3 zCY^r@c@{n!EE@m|i}hkR4~Q_Gw0RvACRy6Z)F!SYo%4Rd&nwrR_tzgw$bWvH6llyNr$ZG8IscAC2Sxzb z$%Q-zO-wPc+kOCDn2MUhiAI<)WE?^O(`ZGj@m0T;HsP#DV>UzlUkWd~4kD zVFFO_qe%yNbmxG?JQ7!X7X+gN^FB-fVeUY&W`8h{feUq*(6OO&pz<7Hg2R7)jwT09 zzBoCkVr*enh6e=ZrzDu0XVFV}o~&t`e0%bpZ2E=!uNee*pu~7WwAls(ntc?Nsh%~Z z(Ya*I7v~P2!^{lECPpXyEJbC$h)Euai{Px+WGedcnHeDF$3B%ix;t6zpHuv$n4S%8 zOmRa2yxKn~JXUNO1JGYAbFy=JO$XvJGiA0eCV4See$<)sVUiWpZ93?Fe(**JKpdBK zug~%C6a}al&QN$<-(M@h7p*+!Ci}0~N!Hrm=%2H6ITvFpfI9r@*zcKQkK%Crdc#5hoxCp^!% zJ-b5#!)Nkd&lNXw0D!BxUr`Fa;b#?PY~Ju!ib8G1GoU#@kzQX=q}S~fg$f=38r~lO zqfo!SuQ8_{rV~=C=3k0JA)ongMS4F=D$@1YRFS@K4Mlo=SdsqzBt?;?L_uIl5{$6` z`bj(in9-h{&~&Iic&Ce|L8!EKcuKks9tm<28oF~`!GmizWQ4|B>|xF%8sEJ zOdKcTNLRv)?^B9&J$|pS`P^N_Tr`-Y-alepVEPQTnu5#wMBZg~_w)1Gk`Fg)D$>t+ z!BQO(eKRj6uTvE1Qu~ymn7lP7D60IKf`~%E1y#7jBVD0D_wNhI1i%2#v-Dg`I{4(*+FRMgEO94uxOOEIUl#FvW8|H2Jln%8Ti|`@9T~F@C?V=VU9JE3Rgf zKk_nrO9g|{8vOA5I?ZO)g3xWJUqUK%lFi+qs#!26-$10#ZU-7oz6jXqv! z+*!gEKoE@^?~74@ldmGprLhHb(u~;vfau8c?~s0zKigX<3S`#_>@VT5!+qiBP|s0U z@XCGby+(l!Ku2B0dLfVF-}Qk2>RYDt$P?$s6##?;-(Gg)iNOf42UJ{NJc$g*jUvIL z6UPmvkOkSHLr6m3Cew~z;q04G7ANbCz@)IL~a}pNdLhgLF2&zVFLi6 zFkQzTTNnHxVc#2a{T~=0FHQntgF7OE@n0xbq5_9$)Hqm9WjHWkac1h8yTiZxZOkf z^ZP{$936Z*nwZ2{%#g1 z*x_J;S`PyPMgblgHc<<0*ijvFFD0+EyivHh(}S66X!*Zygul2mzw-I!c|;p#*ZRrZ zq`EGqT`~Ot0L<$kcN{mg>whY!+6_`{=)``uiV6pCfJ;8(>elqw#*Mr6nhVK23sB2C zZZ=a?3@&$6V(cpk5*`(dXSL@>Xx(j+l<)i4CXTmM(-i2ixnoHI*>0ssuaBhoR{>(^ zWas1ax>6_&77^LmjG>Jxvn=LWi_x=O*>5I8MebN;b1<}^v5q;9*!P`)@jg>>nN9uL z^}0FlgIzn5)An9P`o7O73SdTIjfOd-K+NT4T&fd_+}Yo#Bs#&o5Jmp*LhWr%RaD*| z_ONJfZ|-OW0L-o^zzK-)D9S6(4eK4#JhY}Ub!0(B`gd0JSWLanAcIr(^+@NyuC$HyiKBG z%rqr4pC;QWDyA3!0Q-TbO_3M32Px9)2NVV(m#z~21r!zILIqP=$L-fr98vP%_MQ}f zFL_Fsxp5uI8+?v(o<{?0HaGYTT!c4}&Ex`rFd!d=Bd-I^}d|@w`Ao%@hUd13Kp9Wf!{ROM%Siq;Yew zrwL(F>hX?IFCo3f`+{?ox`BM!br1zR)P2Su2lK>C!vLo24HOJ9>LN_QSMSzYm}UZO z;Wa?R28IuS2-JM)CmJZ!3pC7Jhj8wP1|FaZ2_}qa@)iJsbv-tm&(Bl<@-E&-&wM=^ zalS9XD4_Af`vwSQUt?cz{u%clNkZT3p8SOWc%G=oXc*J@!7LEwsdl9q`S(ANe}CPn zf2L}@z-VABBFqTtQ_P+LEL@X*||favs5SkYnY znFpoAkq56kSh&!bZctG19{>u4EDr$hheCk@k>A4t$7E~`Q|$WGpT4Gk4nJrU|9&=- ze|Q1k?1Uen0#gj$$0Bx>f2{$OHyU{G_22;;yu;Ux4F~`Omv0WPxBB0003TcqQU1L^{7#0+Cqn{bN%`qQhA%-cgU z*{A`?c;$X^zZuVG(~~HqImjre`>v$`UbyZ9gfW)VV^#tPfLQ?2jI;sQdL%4Ruj!;Q z4iiZNF0*vHN!XyG+9f~6Dj_*A^_c`CwEY~MFo@7jaUHqte(rNeXLFknNvrE=C7HS1 zRvmsLtl^FefP};cW`z-dT=m0i!E=Z?7}0RYzQX=PXUdfJ!Eu9Q)mcuT`izXMn(~jS zQX~k>17?1^&9!*nbfURm%{q#d@7$pY)mgjTb%X)77(0l07(j=AE|l~@@OdsdSk_9P za;>sYwb!J$x=@?j_bDt{TF~oq;bKzR9Iq&vSQ7qN&+JD&m@#?G3HCB&tRL$d<_hL& zalRlG;+$Z;Kz#);F{K@fYj`KPqm+N&iKe#y&;`)H3?%HIe%-ApBx#tD;=VjyHAU$} zXC}_N6)@yPJ+%KCpZHA0M6ee|E~FN$OdU<_Mk*2JmPku*v&JOXjFx6Ux#<+MzUVLm z1OYSw=wVj5;b4Od;J9P2K6>t?1MJP4cd`x$P)FkE6yGeJ@7!r$vUF|-2P;a!q`qtJ zSURy|3IGKYRM}=%MSA_DqG<17EVSDzs&k)?Il#Xq6O7qw&Qw&>H5jY5x}uUUE#Hmp ziVi&;d)(76Q=~s%U16rk@s*aF^Mnqeft;YAdwK!q)A+ZFiZO73BE7ytQBhQV-@=T~ zfC5qlrYg<6O_Bb72Suf!cjq1EPE0fLJ|5%8%t&OMB---k^@~AzAIKSY)MV0&WjZTUbQY;#KTt_E3JO+kk8!2{p#s8ZPSKKXh4JvW^1 zy06omMFBYW1G%+L-k{=Ren-MiVZj5;0r<2Nu%~+kKAk!~-zq(m zwqoYjz4A2+xM;b$LY&{n!Uqt5;)bckGaZr{oox_T9xxts4tVYZzqkKB_`GZY6i6hV z&xUD6cb(Y?0S5T_{2V?PKOew>ulWx^g6E_Uupq4fzyL_#bFl#e6acINM6llaf4|f# zB?}?>;J{+t@$dMWjT@iU=3w-(ya zRXXY@oxQl8e16>QK}K!%64Y4C2ayhVd|dzu6q>9rI&L7bXj;`5zP3;yv+MHy74?dQ zR)yD@=d=aO*{~ibR;R>50eZ8XKBJo)- z+kbWi;;2f1kZNEOhD7ZIYjoLX7Bk}l6GH(A(>2{b30>4NlzdE891 zFvEiLyjf9U)5A}vuk(ND?{`nJTjgTydEVIs@NL!ox8{AYV+T0m)*nEW6Jj*&!?hIY z>kXRq8)@s;R8;1GUQYmn0W9sTsLW02ki#?q82PiJqMqBlk%TZ9GtM`fa}*Vz;lFS0 zRh03v(E+3&U|%Qkqw|Zllf=&Vx!p-oya?Lm73p;`MWvYN; zPB7YcwC&_IlQ$}=x#PZWF)oin2I;}J9W{Dz(cqVZUsfiD@`AX$NSb1d7-oJj&wT#j z{lK}531|RyE&wo<4Pe&ib`+QZ<#cA<$)BvLNT2@*^|bTP>pGL}&x%s zJXp^8J&XX(H9E{l0Lgz~Ake5hts93q*tnCv#dFO%_461E1ekDsF2X#{*AqY{sNTNs zabD1Pfojfmn!U^CH2XwMyfAU&9CaSU{>O72(l$4Y0Ez%~g7S}d7Zi9JOWaoqU+M_} zzC9;j(3r|RUU<%`<4u0$`X(eKm{@Wh`w|H9Sn5QW&*Zt>Cm3+#EtnD8G!~DGct7O7 zJlEuvX4(V=p5KEM4rU8dBkB#92<$(7CIc?~uB*a300s~B3)5*BPiV8vs4D=pV7z)t zONKQr@y~hw74=tFclD(g05H^zm>?oG=5upD*ssY;X?PpZ8clXl6wOQ4`s`kHGE7Mg zq-^m_aw!SuoSBSWF6c|S_gfYKH;e*?R~81HeF_pI`tk4iKz&m`77$sE!*F*#dNQKu>Jc>sCvW{=K&_rUPJ-ekan z>)G!JJ3)-XjE+58eh@SYe2{q_a3i2Gehlpv0LS761nlk~1u6Flsy*)?4IgHLnBh_I z(kbWPgV0f+u^wJ;#BK?H9=?x4r9YPw0D?b%(iga>R!1!Z9{{wC8rGhH^QE3rD#9c7OfzP-nOm=+GHa}35 zP9s|W$vYJG5O}bXa&dkzW#+F_9kuY1sXQeC*Z44zQ-Zs5r43b@wTY?Nhg2Odq%Ba9 zIY;f1o*4tr7E?MpVlkhcaYU>7ezR_tGjNBt+6)||4R}sKB@eTzLsFqDz-5>s?a#v- z6&}yGRRw(5Qv<3$CV5b214y{7E4-t#yo#dI=0o}4-3$smA>5g6c2|^j#`whH`xVt( z^s5z>8R#Dr)&9UbrsHkkC%g;{s9<);`wa6wDE=f+cyDmtbN*5|KOc;+SDNgyj+nLs zb)ACB&--LEMU`iH9M||9MWKeb_bV#*eNE921w11|>GhqR6a*lw{hgxH_SzgaT+A_5 zglPy9Yd4#tt>foep5d2Popn4+1PmQffI65M0T>xTZH`ftf~s9#qM`KXZ&y?uW(uDN z6&17Sazz;<82KC2=|v_BPc$BL#}qr1^+6{rI`X*QdrHmZ07X@ZyYP*vIdtH(+snJ< z*c8W@X_EGt_9u$;eIHd+j1;u-oHtN?JryRrTg+sLj-Q!J(Gj+`9_HBi>G4zJr;0Qw z=ElRQav>5OR$Tn`KBkvWbgX|fP_hJNjf!dG!eBgiiq{lRm&rR7m2`~!pm-~Fc^-Kz z5?c!Ln*}LW`2%?flz8$Kq;*Jm?1~=+AZFj>(J+OPx=~Q^O5O)U)Mn6w?{<=aU}%}) zGdV(0q%%@-Jg9Gl?LA(SQ;1r`oXL0cGhnrq{$4Q-s)BIfa5?98^WE2rUmRQuDaxdabQDHLFNt*fKmyj4+| z0-mNQe?I!~Xsc05u!aXKib-p8vLXX7o#`L<1K?)1uE3w##6Sw;otP`m^GOE|H+TR6 zKZl{|zc2mV8C61RNevWPI)cqnioz&>LLP4T|7;#?(sgZqtVo~hzZL2ACyMmvH!HG4 zFBc|g&!MUhZdFv%d@My6&Za1C{4r(^ro+LCN>YLJ!c!(FJev&_>E|q`NZ0>$igc`9 zs7PNwr%10mDT)U{^La(N{!tK+p!U6d7~4i62Jj9Lk5r5O%j>s2O;Lb&#^|-PDbhOK zU6H)jOT>xUHS^%zC^^R36*jJGM$h@gm)K>ob* zKnbq}DTz<53J1B?|kMS7icIM;Bl;?)ox-YzF7fS{#DjKj_4#|5P`8WNYQ6_rMvdF^B=MJXWLC%b)Xe7GW;7IuXN3?(z#@X%;ptEiZv zHoa|TQCMP;*2(B^DP(f_^%SYl9sV&zdOnATD9ZTB=I(SZ2q0U(W9s1f@d{6{nfd;8 z9t9r194`0*OpdMQ$$!}<-Dr{BDQ#9$RGtU`;CRPe+ex?Z5W@5|rfb+t7hpQ=UY!){ z-~KrZ8VHm}iX=yWQk4B|c-ipM;ic7i`IYAI>~S(u6cgFOe|6{K;CeH`oR=Ww3X@Em zpT_ggK5bkiBrG=Vi|YZSjp--O%V-kz(KDbrQz}_DLVT)-gML}e4f$}eWl4^A3*3gynCjH0YLOWACe@-bjs}StcnRq z2jBNCn6(CK0yu+-g{dfvLa*Q0r`8n#%R_Cg&B6 zV=w{ud}vGPT-wDs3OXnuEOZhF3fBHuh90uS7>-z&00R`ZET}np4;BS-pK1<3(f1s% z>t-a7+_A>4(;mmgJmCOn`izbF6xDU2;77W^1KroU`#~Norl_tfKZonagT(KJ65s!i z>rElg^?k@c$Jd!LNYUY^;P1ckb0~Nz8 zp(w~PkK+CK{&U^qdE@{A;bni~`RkjEVlLzkM0f_cP-YxlbhH304G;#^5tra!84&8b z#{%p;(Y^1u{s34|>OCht5+Ka%)=(6w1?GR*WqrSD-@--O2UGjJqEJ*L@uP#wLAi>} z9o<=*T%xEt={}bxyDHMpeN>UYUO`bhqhZ$bZbj7zA+h;>wo44^@#L!t7rN7J3io)G zkh&w8B?+fi(+nse{2YbJkg1u?dlXq~zI~GtzGekQ`o1R>rGpd+y!Su$TO=OM#vQPO z38nh<>eS;t|0*epwXGpp;C{{D?a$eiahen9#)b2LSJZtv{5A#b0};*DiuC$o^HTFt zWwL3?e3&LO9`M86xIcOS%l$vbGTPiRBpR10()VqlND2Dy6zM*HRZ%qZoSS%^1cS}y zRD9l;E^vjS0yNmyFp-;0Q8ba0H!CU)F7u%QmXS7+kMt?8bY@u(FwgqhPbl98w!)>| z&ws}InldIZ#`7JoC|{3PP^7PyRHWDK6zTP<_G)=~wEMRQv;{MS~6r3$80(6$SuSfKKlz>Lw)HPruDN0=`Ad7r#(vi4-{>?PANdgw5F z+Q7j1NdU!kLfN;-SLU~Og*5gj*|X!vzV4%nIcA_ROpW!^7pxLzGX)Mn0I zp9@HS@QxWgr6~K(DYvvvh9cP#F4r=RA%M?bC6NbW;gnK9!Ds_9P3yh;xU($J~?-_n!tgXCU;+ zv@blF|J|?k?=qug+02mISqv!v;V8_=pOFkY|CxH9B>`u6N;!{Gs~OP-HA4V@)yfgXxGVp8>t-xZ^p%d1|I&6xN)B_PPniFp@S3Yw|Se zDjG38)4!19()c(=QBAX;@x*>egUk|5B%opDM?ni9Xogov0T?rEKrxtN{X(65yEk?) zm{~N=`b=f=C>op8X)uv^zvNeasV)*U-XG6xUxJJG2a*cBEAaF}+OdzKGK>C`qIxc= zLjXv4-_)B(wUFp=U7V+mD73;sH0y~D5@VZIit&#fK*DwB zLFWGO^Lfs=J|wD8wwafWiJB>k0T|$BkGr+qk3slJn4*9O_~Q5QK45a#T{pCpj5osz z1mxA7p}1al=cRxM$qYy~<|b$fNhsM!JvJ;{q?up+?M{;z2LcHu1vReUmH@=hMQgu; z87urpVhWWFX2jDe5qr9r{6$BU!imlS2OkWgl@x`-1(N|J7s_9=jG_QYK`npE9XUE} zqL!axO61y^!uxWj@RF$8{0xQ?oz!4=PW?;45T2V{~BjIAql9>g~Clr-C{<@0v^{I+#3WAv**&Hq%pzYl$ zQh_!+HHA8CKT|ltJGbg^sxZFC&(9g|gzjD>a>G-GKN$WXC*t|{GA58tb(s9wb3y%d zb<~F!DbnlQiuC8VD)Rlw`*k)q)Bd-oqC95-e0d+hLm{SGJeT6%X2d*g;AF+h3`kGc z!R7hKBs2gUcSZxyVCDXMjfsTF2^c3+0^6CEvHIj=Y;@hSocWS=J?Mlyg_ne!7V zj2Sgy9_Z&8sY*MmBE2rGD4qbg$}{e6ysM&6(o^}rRJ&9jx0c6Lrd6I92IB)1>FWP;}{NNf@w)&(){xWwKhCcGP@NQ6<2fXPiqkF5Kyqb)U@p2EXW- z8%#?GhSZr|r@pmN{C>7CrqGzI(IA0g7jxWA$qtDpW9lfd4A8RAh4+Kq^V=^gDh8T?_i$^sIU4|b zXubsuy;Q~!29v<+Fy4>z-Y^BloRqQJE+7GPCrc`9T6dmJ1}`Y@yFFS_3M0(&LNceP z>A>Qh5&3`tQwq~4sJLF_AvES5nB1@ZsaZf#?O!_27pR^?fKHp%rEF}CoS%O%4{Gk1 zWFM^D>@QE{(d9Y+c})3FjPK=~g-J#yn|w;y=3DY}-{pC|!Z83Myey9CJXrvyqfWUj zM=@VyOdwJm8k;Zy$^ZDgP}$AUnrxvck}jljkwX!sy$=#4LpMg&Y=>JXU4)CbgQ&KK&UzIi!~ zV!S0df2b>a5`oG&syxUj3a(w|Fc%XTo-gqMcMoY|iKN5OOkT6BT#KzRhm_p$K z4DD`E%q*qg;E(5wac^kroFF4{fqEa(0M-v3Mktnk?nuBvW>bQf;{US2VYlq+114KT#MqO|lcm4^YH0QLi}3qS}aW?VN8>Jx1mhsomcisB9)>jDPR3`>1> zoa`{!As2ex)BvPRXvTTHb8yGt&MFbM=1^1XHMhR`h@zU7KqBe{esH9sI=FPTxAy0~ ztI{Yt0flfUe;4~W1*|p4v9C~QaE{S<;JKurr4z{*Pncbd zGqu?=6wfFK?TX#rpeSA$Az?wfGH%ml(RjWxt}NuRt+kqhmdNaOhu1?Za< z>2s{BD1hJivJL=fXKiO`MUfq8pk@Um2%!Ft&*`~s&X(5kWbqVB_+0#nJ(1R^q;%vl zoYN|^cCqB^=2BP%qfIc<@4X&(t_lG5bH?cLe9u%=6m3lUn0ml;fPE+X$b2p&YwGM? zUCa;ZD96}JkIRJd7UvxdUVAgaC<&m#QjqpOMM`s?Pw_%A0Ys7&&jIJ2J#PlLD=KEE z^EA%ypy*rL!}|}Ztva<=xzV*jwcaqP#JwCXyvKjW{kgRBs2IFQHh!LNuzHaK2Jnf- z9%&)@D-9mblZ&Q)m8TbArid9XUT1tijS`rQ_DYCxr_>`*_Q{Je*YoopCe=(;!rO*? z7ij=>&_Ov$=bHkO&bd7#qEW$kKg_E+kN@Ptl#a5QDpB9iK%t>SgNCt*cqhR~bfXf$ zBP4$?4P1c6v;%+!8oe;4X-L74;`hL8z{J_wcFy~#`^ejnG*N)VG@yW|!G~1NjpNv_ zk>KK8U};5+h2%O>$MSqonD?huuzq>}006vSq$0Q2#h>rv_i$b??$4&l(Flcs%Jm0G z;r;P@s9&hFI1tDWY*IbSY5$c*a%Q+deaQ*xVqTD~3+N^M1K;EVa$41q1~8x#rZQwj zU#LZ@f3IVrLX=)rKttW+jrI#g3Ta)Ye^w6+2sRrAg%GBE9N=^YaOp;aj`<+J2P&4$ z|6(J-wBve3`u0yKs!kw`f&SPx3R4P9It6S9FabcmK#&;Q_XaZ_=t!e+r$FT(0`TZl z=_%++VN3!1N`PS4)7T}=du=Gvn`iuh#TBa(% z+`uHw*DE9`eQgqnAb;L8j!29OGgxT`2sX=`y3))GpHw7&~1}?3v6JA-DBvzOe zL1D+87QkQ=ML8%!n`Y`&01S3n4WjWU}o^V0)UJiviiJgzwn&qpvvRv z0PgsaPVy1+(+!ZsIKZ0}>Cbmll=Xxc1dKE!EY10fiVD9(iY4v7|GQ!$$bJ=_{%e|R zn`?{YVR*YD{rRUA)%ZP26G94sc6Z|a!jhfX-`&XvC_+LoJX2A${!!?lB{uNY9;he@ zVia0T;{iys8C`Tl(1?E~M>!8@7%+DoAf0o7#F6|1pcQ5!R9~p4Ue_=f!pnuu73Ttp zu>nN9faol>UsAYmUA*$Rut$LU{kh|RWqVb7Rhg>MzN9GH_x2=3W)5WFtzAQrUUyZL z#Fyu;y*$NbHYxjHMM=hlOdZqf3$-^D;GxyI?hc1m_g29Vmej+Joi?eXRW@6Ephso z8CKuy@>5AZv}jJjP?eA?Gl`Ntkporj74KBh%@$^g$%UT0rUuUjaJWJ^L2 zNkM`E@VFwqzM!b~Pk=u&`p7rfM^h2IqYBx{&IU^8jO$cep#UQB+4hFh0y+%s1oT4g3F&q5h`6~?>@_YlbjDZGF=iG_$f&jXVzvc5G#pchQcSL@~{@a(DQlRsF zoc92^><5^6)4&421gJym&EMlSMV$vANFhyKi*%Yi7cUh644BM}nUpks+e%{5uP^vq zFB?dp@F#!d{2?DF@5M{WfLBO)+(3pw6oo!a3Ye<^I^0iR*AarG-M3x1@b)=BBt8*$^yNzUde?1PW3gh?k^$3@G z3OQU$`CQyseh==fm|jr$Qjk;7&($-vKoY?FClO-9hKf(YO=1O5!+j(1K|}MPA4JRu zXLxKOKoGwNpr!A&->1?83{cn?#s|`Z?&rmR1sw$^Ko$1^*LFIpvZ3SZZ?BDTN5#B^4b{}N|3lZAfNeLG?f<#=^O)bvLuTP68i){~L4#1p zP@+O54WjU&WQb6tB2*F$#`;7gC1q&R*FZ8PQ-gV`{*id^U08_M001BWNklW{|M~+IxCfwU2P0+5oL5EV-!BE~B?)^$qow zr2r&Zl}JGagbY1oH~d@~ev_S%7!Vf$B!<@QmJFLY1|W@sOG40flOVD_sQ6Qfy(p{- zBorvQl?eog4iccGPLMt_93XCW(Lpnp{0^D^%fqUG84eU>u3?KEoflR?`9c=S0Qtm++y;~-idf*pImWcwDmJ6P{CTlR+4bC1*OMM_Y;x$2>$LWr*Mwqkik zxBP*yO5Fg*h(rzZ=PB)L-^f;aZB=P?!FnFT+{A6H8j ziOA`&Y8-*OiqtKWh8V*7_QaM!Sk{8CW!@!!UO9se~4*ctjiK58J9 z>pvA%0wu^g`_F}?>-xzy(7JqoMS`jpg7F#2(&rvu8di~aaz6^_VXg1K*`M8?ok>)) zY+=7nziz*7^?t!6uuR$i`=i220AX3QNJE}f>7HK~RuUiCl+C~5fw`A2|4uQvrGC7ws!K!!KjDXgNhqQ{thUzKQjmHWfOl$iNv)naj4vQyQf zuuxU#(t2Y(ch`p%c{`KQ9vN04$%1p>(VVa!&g&UL)nhd-tO7;^o`-~0g}J~Pyi4nI ztU&LEid0dB1zI22S7}jkLQ`C0Aocpol6@~D+P)KrHvE*#jq$K#@Aj)8_V{fC_Q+6D zF-Pr&ggD5)uPVU{LQAcS{2j8IUgsd1ct89ED%m7*;5HyJ#5qm;KxG*jN~yk>D~W^| zKiA)TKH`^Cc}KQVpU-L*_?`U2A0h6614aJU$`mT`oAF=qcPYrV zh+GiCv}h|XGY0~3f#Ms^7gx?H7%L#2OD>Rj3C;sJEacDm{<%LsCoQWK3~806z)8G8 zVU2NSyjpdxRtB8-OW!xg7xxXai}-`{o&<~Hg_->43sul4-f+zfN*^*GuTfz4c=>*I z|6W`jxXSQa&W`|wURwe_4n`bCJ}^)XAQ9Xs88#*YY>osJ1neB>1VUO^kjjv$GU>>Z z&kXpi-%PJOkQ^W{WUxg3=Z%5^CZJ{_@Zbs12;}%21o|Xe<|sfcz2ZYaPVX=ekP0!+ z>F<{DcqWA8ufzM}(DOd-ZRdU$e3ptn3zgsFd2;1>v5^%0*jzz(FFh4(COnQ9>H;Km z7#BW20nOu1C=8YM`xIz1zFbKlfP|nz57I&7gj|vX;fAcpp9{|yc|=~9g*m5@7sRpT zYyMu}_jnMvLFy;&4JXLh2&kO1Zh-g}M8%K*AR`Kdiw%Yr3O=6#TCXQISdaifu>=Wo zYYLfp9Z1edG9TrbdtJ~A$m{BPLcU^_Vc3>=-eg7zsL?_H!|0|AQAceA-B=DzpkHK& zGirblEpeYH`zIA z5&6Gd3C|>YKF2nYJSHkGnm^q;!m0!ei6lXG4Vk}Xbo1zDwT|3a$RK?l(c{T{<>zor zD8ui-`UlB=SgA$?nO}UKSz+nt-wi8}{N%n32??)Np9o z_e75B-gxed%4`E2b!CO~7z6;aUk8Sjb0@;%2#`Stxi|lHVIrG*c?m!XoGl+mV7E(H zawAR(OJBb!EPefvu=MpKVd?kR4NG6YEG%8W6ehpmPnF7vAlvz^R&)c6Dmab0^2!;N>u+qb9-F40jDqtj@Nf1(5gFA)i9ch4@Dl$FY z_vpy5^!;_hv~Q(zWwK4OtxJLd5?T9k^8Y5sCyRaa{R1goZplaiQomPNx;{57{oWhH zs&iVtzISPI$&F%4$C(9+AHzAfttV02!ne31#9X5Rv#@ z_;17$6i$?gG_nwgJkWn7Cd~~%qH?R`m2H*JzX1vLfc#;dSC%o?eNX_hIuflC$S)p~ ztw7A%)?m)*wt|kostUMCKJnX#iwNLf9abT6@rOj->wufW0f|45xcr=gCM{h+_Gdp+ zK7B4VIj*cr?w{5RNcf05DEKzq6^{EzK+~g7Jhjo(%W{h^aS!9y%6}6FgPi3Y0@*_R zq;WDblKaK)B%T5pA^&wIZ+{yI0q`?DxF-})Ew5hue<(m&s$z>|fdc)9Jr(&CW&X0` z^U^9~6Vv$HRRBaqk&T}KMuD!`HVG&+fRiV}{tKBF6OZ>}fLLhgnDU_M;m|-kP?3Y> z$}SLo0zh7$`=#R9kgoxiGh~YvSLb017B90gl*@ zljEPP>J{R35NKqg^Lc=*uyGJb;P9)`Ia*tP&;8SCFLqy7pjnVC`1zZb1STll4^-Cg z(fHr41vN_v6E=q53=T{RS2Hxp|42xXU|FO|IB;JC>O2QB?`x{Uw3X%^8wMHJC6tL{ zoT|Ee@zQkQoMnfWx4Qy&?3HB{ErGlgNTqn1jN4^&+8j z!hm(I-dndMu-*uKXfaqgtV&Ekc1c2tjarpD2i!maIWQSV*3sXz0kR()5mwD7GRC|g zi48V-5C9}%)C-OL45VO2_NYQ@hlKl}1%pg590gQF56@OI;$m5MrC%HflU>6qNUR)l zvo(t>%z*`oCpiSJpu<(bbD#x;L=27zq;bfx!S0Wa`tpN5eYaIuhN#~a5cOPvJGscA zQknJv1u|oqFge8ARO@!DymHEwRv6@+B0#<&%V0g$|Ggv-OtJ`jEe@Y5)Fx@9cTH7PywCygDEM(yh46D>d3CJb$npepy6tK>&prts>$O3LJDC`cS9Y;G> zj7O55kq-tE zo8JZ4~hVw_{gJxfbWO1ReiUg9@0`?2eD-eJrm`Ff^v?H*=aaID;a$52? ztP8Ki<7CUQq6tlG2VC-C{gq+qbruRsU(X6l*Ov?xb|*Al z^Nl`wBol>2S^U;6to=9MNYmZTD?@X!C#0`{aVc0vB4hwSyj&C^(Q0Vu~Uu zdAj6;H{7vqVnmDT5DgTsL2bx%#!(Z;6`T~9ku~c;>$XDJm0xnfxwb}WX|B-V!$+UX zrZV#g?}{;ccE;QfxeqEp@!Q*rL-bB)G~wPN*bL*X*UqmGu-t)K=Qw5oK)X8e-Gh%1 zrcQQ5OeP%C0qjwEAv`tdQ9W!KvUptcx5BrSkPz1$os6IA#6hptvo#&g<PcW zFD*;_fUJw)b9pZXp{kN6K=vl=<`s(mg8#ob*IS2sNymaniXC_2C5r>aKPe0-(W#j7 z@;o5!J)iV)+{8+Bjo2cuhrLpvQ)FZT%5#D3Fo2&y<*}Zi5RACeSEkOv7U!10h_oSt z4&PGz@IzqRVr5f49U;IC#!a-usCh?~-QrN&ZIbA|aeL_O$`0MIsa*~WAN97JbWvF3 z`4~KF!WHF3;6;9N85mBy-V2hIO2&C9vj}UB&*-^+8WYy1EKwJ-69xBBtr?Y33i!-( z)&HBIXI!H{G3v?jCA-MUw&Q@HZ)hGSxHx;S*^xc`sU7_H%PH=*VhG!ZPx-g|1O6? z+~Wp{$9^uUShFCiNv)~*f77tAlfuj48V@!vs5Zk=&4Ew zg0RwoRW=hr;yO-}d`pqQQ5e(cZa76svLH-elhPhV7Y`Irb(;(|uw%)pD@Rq$lSDX?cC8Lj(a#HuT{L}Sa8*~&6Mafw?Kmpb4bvOOxRE!aFV-o zC!esonFi&_S%_0Pbw%_(J3mg_@W)ER9xJW+UnL%qJ~o`sg}v)*iaXYOhXT{!N3w~g{_bB7bZmNrkzRp?k}B(0 zW9ak?v0TyJODTkD@yE?bHmt7(9h~wYZ%ZDA{JX94E~H$Al^B<%IJu?xr>{{LmH4#Z zH!=Zv?K#G-qUd})1%TBkQG0CZ`(6$KQcRncf23L_wO!tqJ*C!Efg457BS9u(xr0gI z&c*$O-05Dm`Y476#Yj`i$FLMfJrE&Un68URzQF0oKOz22yF#)dER5SKQW_#q2!D(^ z>b&PI)Ud(ns1|M>chI?+8bX8N8K{-(8$}|0Vyzp6)t=2VTCxuGdX};W#e_Tio6tor zE(Utg9t4<-a*-Lg>=jup@2wrA(!w#6Uh!SYZs^zw95F=t)YCLDIb@IKHrrLLq%%j~ zNg=pZa|heoMUE?_T@18e`+#groLZH*X1X$2%f%%zY`ASs&y{&VeE8o-W|D7S5IHvJ zuf#o79yOupP0jRb*1-Gh_&cZ*sgDEe9O!0$rglKVL@7Jx5TmX%Z%8F>0xSep3GtnJ zWwJ{#$y4m~?No*$0X6_!R))66z!y+ULcf_mgbeJ|rPEIS^K3}J9*zA7T8ums3H4VZ zlqMI~)b!$s47Y&`Mhury$=Ui(p?@JklN-6=j6Iys@(+|vp2+$qGtg7Tc`7j$Ok(t zX-W&F)P63A7`xe5Xu^_m`Z~&203|MnYO7!e;Uf}-7 zYSvl|nK|TZF{r-h3zm2+&xYEC^?P~7K_Ia!!R zpKY7P^sjQR5xNf3bwT(GNuzU!8S7QoZD( zvR%i?i+)vs<8CJ4sPVRqCrYe*WTS57{1I{=k0O^-TExKvw}e{&aRB z1|HdXZdV!{Fq?sG_P>S-)Tq$#b$!4q-MZ|6%rt4^Yz`UwMQcQ~_`=i18*ML%s)Rfk z&HmMo%OGfF<|iHiO_mwsVC;8Ojgt|fW$lV($^ff4r^{Z)?d$89%+SVgPq--~l3Dlr zpa#I`v$J(yA0jR#T2SE%Vh*hRrb;N49JKTi`+RYIuB4B^k!+3zBRoF*ct8ZSGf3Rn zVJBD9xFe0=X*&qZL^6N5*MWb(lc|ZEt6!*}syAcD5r0x#5s;&2o8qhgC!~WbM{g=Y zl|Q_D2M7IcKz^ojMFa9#XWd9)pWMV=t^>BEWIGd7W{EEw8U9)akh2K@06> z3nj0rBS1TD{+ZJWr&%Yly(!I>x_56v$d_XSy-NkUgR8r*+Qc6#@&?+DSABjJXlDu9 z$YaXd_e>Q1YTa6!ccAZbOi>2_o4rJc%_Fu{RWN=m)-*+14_u?|YxWIv=R`q;T>#y|E{+^ z?GcU8RJz>*PfyNgDUve{LGqytar#nupk>9W_oKdrP=W@c=(POA^QY{oX|ob7LSYXd zGNfs)R^<*U>KH-vU)*MY;W-iV*LVb-E9` z)zSFggkc=0kU>7`4r$8GbJ)$;Fa zMc0rR2rktZd5X3mc}j90@{J0|pHrO+HOc$u-wQ6eqQs3m50hVVPIMO@XKK~9zYDJW z7oUKVcuESPPK3tQ6V2sp>B*IDQ{r=x|0js+z=We@(-m(+_VWO5IIYVBu_}au zCO0ZgjgpC&iS?i-a}z87Oa*t#EX#McscMay@TFZ>*At6;W+GnvwKp>83oSUv=vlR z=uy}~&h$lKmofeF+lrU2EwdRr3$y_ePC!GE5{GA;69!ecRf9ldP~nX#Mwbv|Zy1Ok znAxGRINy-U!CeY=)+YuNO4DHy`|NBiymKpzl||6&$E>VDlM*ChsHJ(--nn+j+(-8F zO-C6~u)1`R>aWOIm_$mL&r z=r6qC*6F*k(1+rP(dupim;`PXv(hkSf|}Px0{Zm4DYopdBN8oOuR$9Jq~X%#y4oiZ ze2AO6&+MEPH}G=gTT*^Z3YPjONMLNdz4e$xXZE}Y0b-Z7eIjIYPNXyaw0pw;H9Y9v zt*0Txu7ShT^*0q}46YeRkw;iJ=gG_i{=q#YzvW3-Elp$?u-r+PEgeCys&v*^_Qtu^FMfnOqejqzj8v`^q!oUT;ZsyV zX$9R=HxXnm`VBeJg-w~)Iby2-^#5$wEhM`4x)bJvgKksJp=tZ!t-23WR!)~F;-L}j zK!?s6r-QiKQhv;}ocH|+l@iMLBXQ+FdQ^qieZ+{E;Qe)Jdoi6lSgyj3^6>RQTp9MM zC;aM8Y*5icITY#D!;`Xz1OCgTx@)lUpVsttW=8Eh+w;po6*J!+G`M*zVP&(ryK9R8 z!M*G}n#hOxXxnVATP2ulB29DkJcGsjuLv>p3vs6{ccK4q@>Iz=-VG5zrk~|LIWSR) zB>k1d;0SSi+@sDle}ri_YD#XD=;jG!4X_Zx1oMhqP^OITDYD%Ju%n*+i5>&f!lURC$8S?^xG3+u< zVltIWhx+@qYQqQZK6yN9ieG9iwT?UDGGkq!m+I?}odHUppq@W*!RcwhE|m`0*Kz8L z259B!3i=tpIcNq&DJ~8y_6{*=2+_Uq_=$e0O2<^Ag-{y;SUus2%Mea)<5BfF!B^#( z$aKZ%6N*AsIenvQDBB*rDkQKVrCj})IsOTNyB4GS`+F6P${ywFfRHy(kdp9OW1?H7 zxuKx+w#4yjtUOJJL+pESm)nV$XIXhYNES8Ci4=Ehv{&5XL@hRRP?yFr(fu>80@#?)<5%!nlM6l(2AFKELo8mT z63b2x_~9G|%22)snQ?RA4;0|N#d$>Vc2k>z`f8_w^KcGke|VM7DQ=RIteH|M@tteb zt5v!gu{a<$u0cvOgWDRkcOwgQiCi!jX2(;B@ET5JCh&?=hQd=M2XhgJTxo zKx%j=X`7XoziXMzKo1#fX&)>lYaA}Qi&U|k*I)w5T@>pJY11c4S`|)&JAlh`0`eTg zK61>p>q`Zk%c6({!`FbY(EJcqy{aP`HJY_|R)W92yyO#$$Nec~ZVBQ~!fz1TXsc2(dNsIZa ziR<=P(p%Tn*VR|m65>mZx(S+|yhOJDI4PCVnYg?-x;$L!Pz3WV2o6w?9@5h4mGW5l zMhE-UifB%&e2v#(j%i3@Q8ul@+T9j*wuMfv(x1NdPW(A?!yXglk`WunSnYgM}W*jdEcwJZtp@((qnUM-MgxuQo zRE5HEImpfLchM>lNEE<`;ogbIvIOe_TkO> zG>bRd)pX+3kQi8q2PdJ_CfRin?A}FvYmv_EvzeQ1*T>}qURqS`4-07y_43vKv;d}=7laj)x2Y5)I@rHo1}9{5eSIH>TT^;j;O~3B zn#PwArGABdm!Be%iSx9q9^Ak7?42A&fCg=5D#k#xo_cImBzYc3iBhyFk-c{b0}{Dd zJXM)g7_WA+`A}t2K%K)T5Z{#4BPXA{I*?Izw3Wi}=T;(pwU~HZ6E`a18|)B5q8B_0 zHLg-KSTNT&;&}C!*c&%4c}hgs=63V}e^&sQeAx&s5HpIP_cBM`x@Fykn+2~6%zN*i ze+(vmbHSdt+o~7}3vo97mTd~t585PhIa>V%$lZSt@u@mysLE!A6mvB3^7o~FjP-G< ze(8!G^#JNkzX7BscqZr#2 zNIUj~rw%Z#92wcGHp?-T+2Og8_^m9Y&MfKQ+2wobsHjIu*5S^*^45M3qggeIgYr#D ziQ9T~RX~ao;knmc0*w}v(Z2iTTaVIu_?MCuFI(CrHJdBgtB73_q^?j$xlS1tDT_x+ z^Z`?OgCq&Q@iN36ETJ!mAR(}&6oOHXd}?U{sKQUoDRnBCxg_1qMeCj|X=8biJh&W` z!t4w}6fpcGoQ~fG<>oJbVVLVmM}B|gunL~Y+(1NiA=b~{6iQ#M#(vBP#q2xwtR%PQ z2yz8bl&W>bd}KLu{nK!odhV>MDVb#JDIO|J!bg&X?U6>~Xz8Njd&FMgHWbofPlJ6$ zOkkG`nqPsX=OG)B);qZkkaj!Ctk)rgjzj(ziaWqsVw_cj7b$_WJ`nV1&V7>LTFygB zR;GPsEHFKqj7bn#$Q*8tW^`t8e6Y=x5j?7ohWb6xG>}l@_3{-YEr`2bKAS-?F)FFP zcM*26r2f-Pn&!O9DTYzXr!HWMCLt0NKk{Pkw1D_1s%mfRm3EWH;p{RE=qQx7Wcyq{ z@bJm+qO!8sw}rou|0wIJf@a`7(#*{w400igHl1l2mBr%aLYcvkOw=c_1DFt@rF-1p zq6aHVYFyd%2ay_WhE81HNDL$5x1DypEz4e=SEBAjEr>&Gq;0I)MBKZP87UNRySzvv zIh!{{bX=*EVN;y{*J}N60dC2{fc4maFLlp``tc=XZ7f0)e(@_ zT)eo=TFh`-pSYB~-AAjucXI?|hM#GcC+iQR{ucR^T_U0fUZj@+u2OFhq7p2YwGw|x zr1zzJH#o*+ePRsaf85dY<6J*znAPm&ua!25+v>6A#iVt(-1?PsmMOcc2u7`phZx@` zllYRRyajJd@H?CwOM^{X@uVN5FzzNvLwkupv(PRs4cXhWu{K1LuOiHv_?TUgk z(`9B}o~|)IBup4l<;vSY<*C96mFjKRnV~QPoLaTtTbhXN??LeQ=LJN92PC}@83~*P z@5a7_pfP`-Q+|siIt8n9Xn`ffqUyfc9C6m9h7G<){(&H_KFIgQ6Rb;q(i7%8Mfkt_ z`uBDYT?HWyK5J{RO9KNMV{g^(B9wxmA@50^)G6`DXB?>`Ox@m7vhe);r3fg`N)!K~ zw~)_%lzby?7?fcG&Y7$_e3VAvS$_i0)7DTde5CF`oBQLrN&NJkvoZ7rkDYbyY8(|R zN2O=4shpB!cWF_fL%CIMko!O~GXJv+nuwQkaqT$(v5(xcbH4cp)ky3h2uRu#xs!AB zhZsLf;U5TXl!nUcJA8;^86DKZ%=YID2vTvFwyJ2~8{hP7UUo>H!OvH!2-s)R(65?Pb z-0-)(B=Hehq(-2*Ta2*fIdxkBf07rtGG9()@wCg*BXG7rZN#U) z#yLkian@A}@;a zo_1C65N|L6ZzG%mxGc`{L?Mr-`y2B6ou07+xB>{&W~r@_?xK8-d6cMPz15-QYVTM@WfsUI7zxOMbvJnNs_WKFN@Gt8t7AP# zi0s>JEK|4C`#=Ad79+1Sp)Nd9oZyUIpCg!6L^y?g>1YX%l{R@?PwoOn?a5W;rFk`~ z)?Pln$_LZ?B$ZE%wG(LqgU)uz<`|XxGK*HHNwF*y&qXFK{iu3Pn?Yt$LJ_H({ehuJzo|{9$8|?A;iL2 zz~HyL{03Ki=2oz#@r@w^MmWr79pz>{pcz*-t?+O&7pm%3=l*)H1@}HAGVC{xF&(=O z>=xi+!r-toT(iZ|?nmE^p^Xs-sf2<%D*6xcJ!Z_;+Z{2cCwAA~P3!3WYrMWoWk7@) zdj~~suE__U;5gHi*CXcz*}k|bIFPM9!6_a3V1@YVuxqrR!egQOC`VA*xE-q*n1j0T zMua|CNkAfq)oZ#`^o9K(FHQ^Z!(%B!lr=H0k-6_?WW=d~C>@)kF$aESjG_MAkSo&% z)WzB%r(642$GmOQWJ$|$H7;UF_VELxRYd%^sA$RF=T~QCsuI7k?}Yf>Qt8{iC|o0e zGUVq{POe!bC%zyYa}9jHn6aqG5qxEeFvZdC&Ny;03A?#Oe7&!dZlcNY^{~2K6H#56 z=32^IrKs%u+(y~HhrQUPN#ScoK3U)lO;AXba7n=W&-J4+h6^&4+{gr1RmdnCBT zh(b71S%5+V2L(e!8nVyo%GS75tt7YKu#gSnXDUG0|DF^LWG8{g80Zf5RQsQ_4d5(C zm!=Vo0$-H8xEauMx~|06f)--0$5g+hh1up$9^SmMMIN3 ze#Qg*JXgj?S*%BNjoY&!Y;XsiLvguj{1)39q+gysG4|$wn4~hbCE12Ubf9#f4I*3r zm{^lKZ2!B1_FErowj3X~2q-J3{(zB`FEV9W94u0E89_keG~r>Ur6SpR4zgQ6RC@%} zroc#kzP($Ef;-+a`rLDW1I3_WDE_vv*@0}E`>EN#foRi|WcbG)eGhksK}Q`EpC&Pq zf0g;v?wH1QLPXTQY-W>(SR3ncfE=j+&ipdMHII(GTHsB3S_5&9OAhPCH=GqB4(McD zgjBWUTsr$|)cc-HRghSC3a?J#T4%c21$8cW-)2FuwUL}L_s{F8xSj?)S?N=VUBu&O z@f_?a+Q4g$6tsZnt!Iz+u6~CPTvlK4ks0?`pTB4rUyTQprmTPCn-uX0gDon$ z%&cah=2J&b=T8aFIxDl`mG?gP>&$2Ze z*z*QIrQ7Osb?D_4I)MiK05q=BRMlr+0wZgJSzYq4nKQ$mZ?y~T@+fekGxiF8E5C!C zwqx7LX76)V?H~O|U~wA}fl>oHHbbslGAU;uShfj+^NHblf9x0Hph3+R!E62tsSdip zjce{EO=w6RKt=$y$EjJhX^s0No|>N2L;rQ6z~698n06MYpQp5VR!|*k)-o(x4T8FI z`<0Ff><=ULR(~;w{beO93DnQhgbU;Z#m> zSrnU46V{2nV|$8neeYBd!C-d(?DP(m#d)Hc$g^4T&-2R;=juQR?`UU1rychakJlPA z!Wx<$sn$n<>xvUey2fx~6-INdYxddVu%m*&kbm>6+1Q?Qsjr@w9nS$t$N5XZw+8~Q z6=Ez<^doqvYL$qQHE2k!z$zNL-~LTs@_SJhC`ooLy*ljp1&}ham@2Du9 zWw?&~&!7+(wc?V&U*>>0XhL~`siAsE{3slV7rW8tbX(_d0O}wyqKAA4A`}0``IqxM z^E$kJ= znA}f*!|Dq>m*9wqJ1-|?ROQVNy2rSj@rkaSKzwWpSzV^y+J8Lw7YfYQl+0BoNw%f7 zp^`#$5ZaS0t_n9xfp>67kE`S>Me_{)C($X%sosU%gpJHDtSNH4F-K8CF!FcQe!%7$ zsVU(#Whls1jB@QiBtKFNDSZ-^@YiETJ4S79LH~x5&}ha!Dq0RI+up(vs&i&t0d>in z3mQX__$+-F#{}_GlWFA?&hs>}KO4c-NEJBAyp6p4>;})oM65;;^S@>ETi>o-4BGnZ zuM>g7GpS1Mj68MAE^1=yRhAVZh<*!Z+-Fw|Cq!$|!w7QmmSfVXlM)8ZwLST{Q1gL^ zGTz|t6gqYV3}#^7`8z}=`E}PsXj~1ITKq$vL*_)T*?RC*?E@vI6k}SdX(B{>!H}Nt z2$;eOqn06@4}IAACeVH#sm-K$zyIuhR{?LeRPthZt1DqHaPY3DEmPVcYZNO?0L0+x zv#~x*7MU7tQg^DXx^SXlT=xyHLjRNz`L*O*0fZ?)XSXd_pyqvc)f;Ebap=k$7&#(5 z2!3_zpI&PP>tUqfHf-u%_6%lkTBrpLPa|LN!}rP6@Zb#Ru|@ zjn>RWfY}h&74%);*x3A$7GZT}XS@cykEpaF&#>iJ;0r=QBGo@=b^ZR$-Eev{Z@`k* z?%WfSW<@2TTa%rom(YBQhKjI7QE!-<$mNe-f6UFF zwrBAFK7}dV{cK)=9{Ij`d0H?YJ`{v$n`09}-3kTJpLonVx`v&b$ClNfYyImQQnHc^ zR34^_YgZDe;h@0NCgvANDes>>j!2BA)uaZiHFfSOUTEo~J3r}xn1FPp9j%IMW^vJ( zP{BuZB~Ih0zc9yE`1frl`s1FvBy5Tlvp3EvYGoF}c4PU41K;QCZn_21Ts#=(HRm?JY6 z32q5^O(PG<#f2t0SQcluQ?&VW<=gqg`Cn6PCjm_1tsr1MHst5s?(xjYE-$1n)ug_)g$w3R61WE?cWK{tM#EkoBp(33Zx+Jle;I2&7XRZy@d!#C2j`Adqwdfw#J)Lx8m3U&ZanGRl@gluCM}$c z>rtRebvlZn3tO&k%k1T0w5<4aUxMdvqSwRG*hekqan|^REFWDxvkl1`%lY?OKM1+V8TZ z#b@ef;XMhm{2e^l?F&LC$Hja#!h6Mw7njGFGBG}M8m7ubM!-R90eFd#fa93ZX$dhu zLAmQyI@$Lw9tBoVrt#r4XhN_6<`y6MB&P8C=%0iHdD^~$ny`piyn%kqMJ4^1Lhwkv z*()f?xOlKzVo3xvGb%$3Ak0#`hp!;>w|}~!L2;^49vv|lZQRmsTQh}XN{3DUW@180 zFyS!qALw+Bs5rMB`d5p4O-fiP+_ccUW2micOim4Rm1GNrravusIQQpD-MBdlx7EQQ zpWE#{AN1=^Qp@-d_QC~O01kOr#&vw7ho3Dx6S5Root`$6)NyI&=nE4aw;J;0>Z#QY z%%YxGQW|hHja1v~F=4IQ3=V;-Po2aJ4hFUzlq87Ps<=6?udn=ZQLthQT@X$CRd)7Y zo0QNwjx+2#`=9h54eyDs2N&?<{3@P0SIA%(0V~3NqZDe^t54ciPKhT43B|8M(@tt@ zBfPWI?FV7IjYWC~Swb?*4~B?|vph%VY`lf@@G$uIy2aY*T64=1h)s{!YrtE7j51bH zmt*%6TAL?pivH_si}syTbOP5w++dht&}oi&%hP45wCulzU_9l}%)$D1UR!hz^8eU^ z*s|T3!N}0-KaK-s4<){tRV1`$13lVhPh>uwzZjr_ZD_3Ipjugv>oGw^W@4ebaCXm; zpf!o#%~aBEEJ>`Sf>jK+9|t+8d^RC=IqZ$wH<+V9d2BY9Ra0I7Pa?qbD!wRP;qq%U zz~jMYB|7LjzN+XSds+7%g0Av55~I{>Cx69gAwya{t1UWb7XUh z0r-pXI3OFC({WYOOa3a=M&MBZgc((<{+jd*D6sS&Jp;wsjf<0y)5ipwO#-1`*=}qy z;XYk!k;Z}f*5W|o5#NKRy?epx2tcI9oz{61x*I=#{+*HQPoG3nE*}-vgFCc!{M}2F zVqrNVDWv1@#rJ!4xKSF?gp`~#=xVtlBD5p;FAB3)zhA#y&(ExH0?-OM6O1-RwpoIC zugQf;%oLEPWHUXX>7j+&Q^G^_){7mcUj!D#Bw$ zFFZ&OpSUjAW}}$>NK1!?P{DLZ;ozt#Vkv_X+D{QJW=-Q&v$VJr@T$=4p|TY=T*)xp zk!Zv7kI_7uAO7=tWXf{*tt!t9-I~jciB99K&W&(Bn-cF>Up)^iK)_&*E4pzpwUhQf zyBAQpR`Yy{0;I8zrv|LYYrqZ9@>gF5E2Ujfho@Z>rAZW2t4A!Z4#~bk6+wsQjseGL@g>d}9`c?Pakbb0O%Bs&0P?O=CyD9sIb_79V0qYB9V}KfY z2s4hjN{F7*dz|#nRKbIRTkls?cp;*Sd=%-6b{eRfvN+OQDSSwQ7lk3R^r=1fs~k@w z5en)kq*Gz0=;s>kEj>GnKPhCNIjD8}Da0w)G%?K2kmmL1A`}EKB0&rn8I966`*%Z{dXjHUuXa3Y$I@-)6vNOFj~0A1t*m_qi2XYv;=;n5RWm10S^eGRf9aW&kPM5`^x@dDp-8-LKwsde5zdqjNZfW)oVGL* zzt3|A&})teH6|wD{hI=_{!~FG@^d2dsI@NUu_13C3UQ|B{zU-k$)>po8Rn7Q2lr|CxR(> zzC>Qw6fC6quJhi0@M)Ow)t?o(cZ^y*qw1CUquM_)bCY=Uw?({4ZGTQzCKJs|9fHV# z-&&@Xk^{~^J-C=y@aKbfDV}ZrUJNLYHm%A9%FD9pf;H>eD1$$j2hhiw60l=<{#FB1 zN=SMH;%o@%RP_*jsq+Vckq^aPX{E0|Di?60f_pk&D19+`*d9A#%dRiO;8#~ls%5nP zKug%w&+aN)H%f9#rO5+|YJpFl?*zI!GRF)Za?Rq$L5MPE(TovnWwW)(Hu6JEpyCx2 z&K*$MYou?&rRjHt5d~d2!!$2n%EX4(GlRia2ei&9u#5f&rv2RQX&QBm7hZArFl2Qa zyKjD=`gAJ}(U-Q-j^qjMNNeTr37S7c#C(YYewK-biK1L+SNhvZw`^5ec^=wHME*EO zqr_TRP*z|P4E@WFyrA%J-7hILk6t2VaApI+L3^DkkD6wAi5 z`*!4>*YU!Gu2ATo7tvck2CzIO!PdaDqP-!DR%YCxIX zF3dvaPh+Wf`w{{8%`z_^rBr~*NF58wrWSd}=(vnx!A-uCfMYyLhLN9^%eS6faEF@9 zvc>bXMNePLK_^cjzvCkLWgoj?ndz9}i=ctDrWZ=<^08lSe2Re09<>p=G!~wg_qO>T z`iKd#*2rrgcPUX;1AQ)>UVc`78Wov-OJ&J%G`mcqu? z=%24`pOdPUq`5fM?NtADG`9KD94*O3o^fTy}fQN?~8nczXm$7ikIhPhcb`* z8gPG91K}#2>#0NlDF}I|dN_y+k9b|bnnu3$9WO|HqrS-#|7>_gi|%&}=M4w3j&=NO z#S`j!)KXETo_gM!#0b0H3GZxTH$_c;$ZE&Q&EX>4yoQ95SDyDqjnW=dmQEM}q*D5z z!goZl$yCczdqn_h`bPUfaFLh1(7d1{T=F+=e|aVaFD}_i1Q0g-FSWn`fY;*HCuYWL zlqb15f{$w>ty?Ylta;*#$&z`^pM2y?uyjWJ%izJvi)xP5aqYVZ!lyMe~=4ilhv~2XDfIL|>gAt}t;I+#j{bJI1+G&Ko!F8D78|x<=ya zn)}ggU@xH>(f$JYrKm@tvmcA!fAIORB^|yZL&Mc0y7(U{$4eTY5$T*fd)Hv><$LU+ z7oGGM(gD!kw{#*2H&My}(=6Rj1Nfxi2s};Vgs}f<0rEG8uA7M3B@qLgz?JHulwjs< zr;L2@HAhSmW4eY)Mua+f`ZUW)jyCC9=1U{==y!oJeRlxTl)IppZPgk0(>dCO^2sz; z1o5x$o^fTn{)iY;8S|-n-D82w4m^$PP2lQoxox&! zFT1B-P$kY-PeI@3Fu}kd{@R^6EjG5+fT4=T0Fg>&Nf}AhS}r%kabHAdzWLOQ<2pLQ zpY@+VtY$2jZa3&24$mc+_wA|bG+HGF17*Z9MYi^joK?{k%ZB(P@ARkSDiVZn!vxOPRC@PJim%`+;qEB6@IX>@`29z;pN&$D$_SK$Ph52^O3=7(op;zg=%5kY8J6fZ4MP}Pcw}$vjU0WWOVhOFZQ9WL97IyfAoeD>W%^TpDncm~ysb@XQ@s2U>Unm28f7)jM_0r;( zFh-I7v}t7p^%zEi<5pIXR=JfB$_Wh2p~!adM3S8~_nkKI(LD7YXsFnksU( zIydy+f&}t^_B)0S`8I%DE%(p-In=289r=J$&itaBJwKJT4+K(}bLCG<=}Cr3yqfJ$ z04UqI7Ck>>Lp*t*ecFu=JZ;?v%ROd<`R)ZBn>XptXI11)QX?kleVhMWb)lI8tiol< zU=TDrxVMYrU-mHq=d!oMm6M^;p+2b<4=QjAj1_Wx)m+yY^(L41){Lyh&LKx+P;Z!4 zgRMsRNx=x)3Cc~!V^Cux^Rj=}8>Iq{+hd`H1v$GuMJRq@PvZxw00Su;vj-}Qh3G=$ zdJl-I_p{ZIK|gd=VpV@BJlmMK#u*F$M=>QrPE4*?z?MscB2j6UeqKwK0*%uBL2biD z=}-AX1uq?X;5;G5OkFtC$cIrL==z*gD83ULv^r+wZCI$H{=D&g2{pdEJ0!T~7#Bwi zLcSK9_F>Z(luJpI`czMK_7Pjrobunkb z4Wjh~NZ(MdK+vG+>q_`Yp~Ve#yW@ODa%MD`FH$4h@h<1ltJ=UH^_H+ODXzC;{LURu zDp%yw|8lUa3Pz5WS;yNws}2=F}K&+G!BqJVOrCnkGj5f`sHRL08{Kxe!{ke$kF$#h|Sq zr7BdvLUQvAXdQyeudS}EuC0ERw1%<9DTjGcbMsWJb(2BPk}6Gq`Fz@Z_d@S=CyVrW zWcl^Jfi_)y!Gnm@l9@oM3PZLikPG#uXpZ0p&*U}BYLcI>avQz3>KLW!UJj-uz{MiH zISso#*9!p6bC-9MLj?(^opROD(zuMc_;*5t`4lmkSUfPfBZ+uJ21`%E980`@b-^hoxnqk%u9I|(N{cN=o`6V0iQc!F_#WX4@whF=%>oF znRrFNO)cgMr_N0(@xGV2z79l6@x5gCd?8ewVvF#Kld2`jdde5Z1BXgrt{NtRmAtqM zeu)236V$TDwGbFjBBzI#z7q~(wxee7WeZ868`1|ch0~Bzf(sy?gn36%$kPlM^0~6G zoA1}dm2jzsh&;}J)3BV#X54t)l_FE3rAu$SSbV9f=fInq@PCLE&6}NXOG!!tchIg6 zSk0o$Xo7kYKvXYmQdaS#CO7xfgqu(H6v7$LLUIx_a)zAa9K@f&zjIFtna97`(r$o~ zRL)5>14En&8Q$>N&z5wBiW^i)uowmvYCF2;9G?DH;%opF zF&0+s%JA8_>1PSIWGQSRWzaPKPG_`+78WOg0)w3 zyp&7;tNs{o=PqqJ{Q2ua4-TV@m&lpVx~&%kwVU&W=jmiTjmWmB&B0aj*WoC@ZpWs(1T+u;D+81b`VKp;lY%IvwR@yp3adeopz&;xw6ggNc)PLkAwSF zg}(+~RO7X=+e0@{L)SfntP?jxm_>X<*?`!vd#&XyOVG4(ev?U`he2xXhH5|{oV_;6 z-79DwoxlXRef=5zK}{TTWkA>P-(4uel%gI3`eJSOU%_|U2RXtHE9vC!zO`c9S+VOf z;ck!LFzB{NnV(K5C3@ZXdRT@wgE@#`x%|;yA zolU`7a4lwFpPfF6SrXOmuSv>`Z_zIJvwDAJzj(h`C1uyv-RX{{Q==PkS9RQXC#)Gc zB%*-XN}L=Lw-Bk}2vE%q_U6uK_vVUFdyz5($<)Nu{R&z=OBx~wBgo?>CLAD%H8nH@ zF+Oqqt6#?m8t7%&H?^2&@gwx z2)ckJt3dNLy7m#o<~l4HEr4TT4`pz??B)KN8e)3a8Je!iydJu06}VVaVh8uks3`}4PodTh^&qWhcTBm>U#hz> z(V|?NT=y}h3opCA{|a6mFmrS>s=w9ZuCBO6-O_MHZ!Tx!&zy4FXf~qzd=J`p;MY2lqe-zX{x7 za8CdY2LcX)S0us?_(|w+<@w;xBJaxm<5x)i#+c$ zzx+b}+#-s9D0G4h=05Pp2^_gk{89o%0!jQ}{C`vtgb;Eo7wQ=xeL#G&@8ak3KCNsy zi2>f13N>nC`1f!Y0PW{r!)Vohy24| zZ41Z5uN1~;q4>4-nfaUF=Xue>L}G?@$NN)21BtilfE;y#1LTLEOF;lcI5DaQgcppD z9S6$;LuT7-`#AJXFSP%WSy4tG2e7J`4hyKwlsp?7JMTlF(XzC+y7puMMLuDfzqZG^ zC2`>WTQWG_4-b|H$Ob?qm#+y3a9nT*ScnQ-CJzn=pdCH}zh(4$3pa_41)B-9wBC1B zAvJ(}=>Sg7K@K!VJE~=%a5D_=bE5)ZAoY-*0f`2gzyw6TgN&yV7-W16v2JBW*kHLL zJGYlA$_I)R1|53XD^*!B^of8O)_LX=kTsF*7`eiD>!7q87i^&9H z-Zo__?cj8h8{YS#txoQ;PKiS^J_a@>;-CjdQhuq{)mXMXcO zEkvLDgN>M8KID*8*@8sK_W=Zp^~k(#SW3Mvct6GoR$W1J4Ivc74SjaEeh?@Cf#UaY ztmu)Xrw;@T4i^<@5=M|RQ5hql#DSzr7d`M!yzq|-BnQ19W+ubq@zP2GheH#HH5d8be%uh0wwV}x+tt5d`LVPp(9pj%X9Hu^xWK{@XIjCTi&F~ z;4%s*q5?N>SjF8SC^^rM`7*spSUI2}ZG_vTyCkd{XF;}&9GR7|OoIde>B3r_6LL|h z{%cs3P*$RH`iNwQSEPa>LoyKc>}YW|Z5mV@Y)3?W$3ZkyTYL5xg3A6SK4DgRQgl%JU~ zVpG#^3M&w40$wWP`SX2H{LfRlg0+4g2SFjT3Bd5fCPCz|eomcGJBm_CvIWPG~3mOO=?b~nz0AZhA zFf3h94@=*F)4 z-yK~%`fd(baw5!n-`WQ!+k_R8N66+TH_8E(TwOZ5hvy&OQv~>&|L5rYIMgK8X(@x% zUl8|x!vWdS|DpeVpXN>fvasTJW>U=QihDsVlaQ{4)nv{^hM~M@Y0t)G9 za!_Q`;3`5b04^Jl&&Z+Dl0oYQ9A1(koopXgT0thqgjJu5fEGk1pO3(?ttb;vuc-NV zv=ER~!WkzD50HM+o6kN^K|`%Z4$K)>0$T!T?gL~qNN!rc85ia?aSt3%%oDhYNGuSb zf-nH70OAwm8m*ng0r;8t(R`oJLE#NQn8XSGa*IG9K}bOhzZaD*$$C36z_^fz<9xyI zB@k!-Yb*I}fvk{+FPN|4<;<$$WD0M@2dqC@V?Z=hKx)+ocy5gv!3;fNdHUU>H~LRC zQ0OJca6DB(tY0YkGd>uOZX4*p?x;+KN!qAj^80+i#~L{|0%f4T^w{!u1b94nHaIO1 z_iodZ)npirY+$3OQr+ry^WfT^4c`A*)C;U~Kp;s#NJ4?nOJGL;1`=UO-N$lGqJirQ z(tn4PM=aAR*cmqXr!+21Y{&pLK3RQr>Eghd^bKwTGKs28qet(`C(vs_nhf#hpkv$! z@YG9fHHAZkSP;v)EA{kZQ!!;esv_s{VZ);r8J69(v;iSICz%&-usDij)OikkE)qb@ zCpqL(o2f#Ej3ly%^m_3*U#CiV3*m1wp)E3{onI|UAnO7dDadowt7Hfx+zqft6M&OZ zXWq7479`qQButyJWrJfQY&RT!pM9VuKjG)sX=4{e&#flvDI}vyFS;uh92}6N3Grf9 zW}s~xG(s9sS#!@9kVPsZB)DL|MOR$N1S3^wAt2BMS|v!dNvgD-`%}Y8?>rUV+^K(h z#TpE$mRck-RQ-R8{&{z6_s8y!B@oO|%*(`%y>B^)3{Aw*;UH6>V+S+BvKw_Ur_a;f z6_&353d=1@$Io#FR2BhcL z9}p(F#gPygFR56~NrckMARo)TS0z>%%4DEckO+y3W?`tEU^p-}v6~ed9DP;|<0y9jEos ze?F|LI0pyGT1BRi=i$U8P=8p`+2{V4v42JNBHn+EO8#~E;r=|2Nm#{Kzt{OVRk4lh zeD41*tRNcj^ZKL1(sh}zs+U-;pRJrM^T_h9u;gv z#t7mMca;5p3W7XOkblG-#1GsLg$Dw=7P&~p90VUo3z2s+o^I8{U&PO2KbC)IzufY$Rq#954+_B*c|5)1hE#04#q9c~iFg~Si>DdR>w z%kyfv^c0T}ciXSk=bG^Vg!_KKUT}%IS(x)zk5*8N$S7W2)B=DcxDpWcw$1dw*Qy}L z%DA`!Lm)=rz>O1Na3AOepbfXviX(*nSQ;q?f>a17cCC4oGw_dsHS>b5cu z?ccW#h@Z2-naFG)g2p++TJ-FP@mWj(C6IX7HyL*}nwP7$i5@31bA?@hxDUn)*3c(( zKTL1}c)d^cF810|{d0u4%C9UfsOA4!~HtZ zw6RENm_N(|GI?!}KjTbb%oQj-G=&p1l?t^&l8v!`g~kiC0i)Hc_4s35U33OIINNhQtvnS zJN@IZbX{(G`RV1W07*S*1P1(laz-u)hr|ISq=g^IX6}$lKbZu%7LemiK9~ZXZqu-; zS5iHp<6ni9`(nQt{WvULcT2Xbdgza>GSILcFF9FivXq|JpHz_x^1-XaD$WHUlyc1a zJ;Ex)f)cWhNor?RP`es=Fsraz zTh@q{8Csd5qOwvS+sOq5mr4XdPDm`{??8Ry`l6@LVC;o zEtY$8vk)-AK|!Jf8OP^`RV2D3^t3O!^3Og>0K>W3{v(mezNdYy`+s3+ovjjioMWERDknVHKi92o>ZqN2`x!k7k!v0iVZWCC5>8B4$^qAV@ZDa_X=z0+A*`mFMY> zjqKp2g*za$7D8>o`+?Z_`|pMoZUK-|kv@zBq6-azpu=h6gc*L5&av^Q!qU$V2rKh6 zxzR(*N9eTAUn-?=Q=s}0Oh>_WWHxgAN?KB+jsdb}{N7}HRb-BjX8oO^l6k2TVCz&e zhwA0e@{b!R(Q&CNyq_$ANWVz3bpDP%6jl-_d0rk;?$hTE944&;Ps;~Ten_|ATq2+( zkXOat$Sx|vu&|?QLQ5PiF!&MpORO_gDg@c@*9$9&E%*2nm}or`(6TSPl?Cn>0xGx@ zK&pTcfExf+8mWY2&X-qc-sAl*%tglv5A?g?pBSJwIsfB?SFLNMlFGRtUP0u_nGpLY2rc6Nz zL;>*@0X>y}T2qjNqxYPj|2*yHKd-n2;6flFAb-u3YPHI^Kt@7~0Fwj+NY>IKJKP_L z34WjWjCn^Z2(o?z&iupg!{2Q=iP)!GwJ?4UKa|8T0XORqGF1{C?a%o;0(%hQBvjy3 zBETncK-@{90J1$02o${97H<4o5)s@732n|r3T0dw2M`Mc{`k`*u=zd4uOY{Gyui4( zSDs_@{TZ`rE|x>g(rX{X`=D<8?n)Lgro|oA2g5;*9)oLC>Dg12w3?-#fPqRB(0n!? z90@*1+hapwL6u<3u8~OK0}_yvsJKF87ptifNRP2Hgg}lgC&zC1F{~vaMp$nE~QSK-;!p@El3#0Ko@A(#lfqtlr@LhRUEF zRyH;q9Z2C?t^z7TJpbouJlHr1!1?_r%%(rc&pkOfc4kd)$o?!#2Nb;}uVf+fc}P5| zLYT?RwyzKw>baU+7FOi)Ozw#41J4z`ZN?K8UPvVyXpl3TY+NMJI2f8LdZ|Fq z+){#^AkcT%i9zV_4=5N33NpbY3Yd3t#2^Q=3=aqbWT@0bX|4#=17KMufFM&0=^vFd zjhD%en4hq+iW@zW%<&~r)IG0TwR>KcvpPSMtI<=d%3e^?1t}dp>Sj460i*F| zol&_lgcTNMSjNAS?2IaLpk8Tp5H&npwU_~*(0owj=2(ntdRnBNU-P)2AbU8 zA68_>GP3ByC1C4rO!oWY*yaw>*A`am+#--1h4DGbQXtyDKG~Mq-^Y5czmX#wiHMcL z(lmKdSo(UtWZ@X!p6rh5T%@8$1#AxZT5&%(-mn01@V8zh13H*nFgU%)!gc|zhH1d|eYs3n+- zfr=^t3;PfVFCkRmlrZ#t->Lnk_N&Ng6#y7APlcJv*!#l-)qhpR0THBrf3N1l4q<7U z9h&T8s-(WJ^sGag3)H<|Hms_Q?>6-2cc+C_P+S%D8XkN22=_*{ZOl)4@Ap!xAV@vhG(jlQ@&`GgvI^X)Ee2B)rjibZ^-$YI)dRZ1@c~0vS>3X!7?gAOgC(G(nXaj5{wIG1F(6j3C#jzmplSAm|xVjP=1U`(<272E{hQzN!Wu?}U zUALP!~=;E0%|rqHflCDktBKp)CTXKZ^nttE(roQIvfH5G!`rYI9CDz z5&;eJ#P`qlN%$~tIQYl}gS1g^8WlHs0MYGs1zkGW-q5I2F<(e5fQUd9096Ef4h8k4 z0^~{`nQ^!!AU~tBC&-x-7O+3Rbh5$ZrFnzQiO4K7cYamTCUGXno#(+PvXwvuM}bN$ z8#F)Xz{b&nER*}jL4-pDhl9*I`vi#*_939~Yi7(&>Fwg+!O_F9f`kxqv!8~Q-dofj z9AFbj(Q~hTe)1jZFyGbR+22|HJ-w!=6+}HXR7f5OD|+obSMJBH5$F_Cq0u_({}7gb z?~<@8F-Zjt{btR#e&MhxA;LP9V~31ee@B0Ne|yEEOv{#Z;LREh;zFDq=C+_Bua=VW z_F=i_`HARx?ye0>*PkZ4wvwd_$M7m8#@?tzM6l$4FxdyB>%MbU$yETx^G4+*_hf%f ziHLA$H&3=%fznP+NOrse(|`tGoFeR){AJ|`?) zCtcr7%5xrlE-ZaN|0{tYtwG)HVI}dOIStaf>Ml$cGL?%b3l)aXhox)Ao~P?W-NW6( zl>?{>9Au3q5tDr7=-#k&JtwRrHoM2d()HhARpnp%xJhXV{N;d-P7ABn!E3_O?|&?; zI%lca-~jOtSxdD{^rwWC^+%#;ymFWV@I%w}m0{`oXNRS)-w~F+-YzU7DZbT5rTGIx z0?Q8Zo`R&mROc76t=uR6grMuN@Mq}%t3XDH(Eg0Dblo#7J)djC3Rlteg<c>e~W*m zeH(vhvPoFgA|yyW=QgbdJa^_N2sX3BE6{ZUtCuVz2p}b@Nib!+-d2^WlGykmPtE() zUIj{?RU5X@IdDZKUwvCx`uQLGfz0iwsiPtxoyH<_GE7briRXoq+XEqhTplFb6zJgm z`P7iWHV2B3P$uUi@H;uI@+0U)C-J|x5(p%qXfcsLIl3~eB#tT6IAKO>0lM-OI`w|O zKMHZQid?G1;`da51DV1<{1Ql>Aw7i@k8>2R6c8&v3aeUE*eCI)xIYk&AQWi1pb#ZB z5})hWWh>8zmI#muHOJij6@rz(n7D~?pdwFV7JrVoj6k~y>`jtKpidzSKb^py1O{ZC zBvAN0;ynC36$U-N_ ziE&qaIFs3nKcR)QYtf0Fi|kH;$mGVb!V2t65#(UeL;2P!P;A){TgXBSjpxdQhRlr( z4K{dK*y&*cQc1;Ey(TGa94f|ZK9fz}nZ7oG&}K}KArYG`Jx+5$R~Yc8^#FQUcN!T8 z0_*t&`5^G+f$H-*;H9UJ2mFu@S{4iwk_iHogsXLZhR;K0%QAHwK#)Aj!8U|=tp<|c z>ev&gGqKv9mX^Jq@n?gf6`|F+=l+?{TzOp*3A8v+8E4)=a>)3uqxr+U)9ahmk^r0M zNC5GUuqwk#BB`ih3`m4l2ej>#ZxaF}HbQ@V-U{;9s!4zdV4W~e+g>O(9!T(bZhAdf zZLQO*fP%nqt_bvAgoeJxN&HCa7zanc_o4-j}QCQ_^k1n<1;HqY^UM5Sfv2R zC61kk3M8;wKCC)u;LzZ}joDr4k$b)q7nXdN)-*<&1(0OHcaXlB49tzpheK{ z@-soF2~@j-!_quDbC~ZW3Y@ruJd^WZh^OwyVd;8MSb9#og{9Y7E387oygDp>|IK0P z`s%QB{a{%7yTilM*C&iWGyY6znK5U@)&p5$e?xzLe|?6u4@e~vjH>Ww$Z_n0y9{!9 z-Tq;vGT;9&SqhZ;1;Yxb&FHe>=O(v=3=k4HRe1Y@!b(qlw`5oqn5#laBDDKqSk)se zgiua^?UWM{5A_eJrD#&=pA&eH_)x;$vVqU-m+hZhS_;y*Br6H#$x~7Zm^axxLI^F8 z_phBILCpLxv^)|x+ZH+4{;6b7tF_`m1={I6oag1qHc{aAgMugm0oETFmdQJlWn@&? z)F}Te$hH2Fu!__g{|s{DT7LAJD)0iCCaxMI8h)VFg4j{1c+BwEdU@KK>F&OW?#wv@mfMGY$$TIC=`4- zS*WKh99B3o`i~^rKL_*|=JkNeR0^MBzGQFd^r}al0-4AdA%Qh%AeFkP&bPsKu3*Ap33j3CN3In5`rRcs=3<{AK)l{C)g&;xqh1{5I5D2-sN% zj1Rw$e~JH$|J{;^w}C#11MY(W8?F^ND=3h)75^sT;8p_epYbG+=W9rV+tvf(F#IvT z=5tErBJXpzS4dD0B>Wz6XUi4F6@Q<2fW$F{-!>j?$8xVs5fgO-mZz>R+Sy@YzlH&NnZSvk1kAPAAPT$x-?^Mv`Mjn;BH zw1V({WJXDZy+IXN0x1$rB1xKh{Xhce1Pb#G#~P#wJ>fv`XiaGoX1p(f3mZe5SmO6_ z>{$RxeZcYl{2d1k8GmKG-FwM=zT_3JDkzT#yAql1QtK0)8JL&q4xY!~}t)5)*DgVxF-6X}KUX4AKR8 zPPhw5VDh;k1=5D?mIYOij5NAP0fbsW+`F%XG56;0R*`rSXwl+Dh2wv+{zh?VV^ywQ z0@du!|DZxfER|POfr=9N2Nd-B;((zJU>P()-j?l2{OQtVH_N|Zv?TnJf-G|NxMi0l9-UA-d!11WO?UY6_&0a2usKL z?O}yXtN&wvYo8pt@hxHLdUaU({%86V`xDdGzX(fze{WcN|CPc@#k4;?EGICA0Q#k2 z>3UIEy6zZOkSck6_o))6v8$zh_vxR86@STr^KGi&Qi%fTBd!x8s%B5t2r{;Q(|)r) z1*&s?I_KIs*Os2>$reMxWAs!AYNq>GB`keC8Mq$uJpOd43`bozBf~Bn5~W7AC{UYh zGkIemkNUO43Tfwf$FTJNpPh5!oD(Y~0pyiWOdih(i@n1N5+jo*zFO;ZgUa7rX<(Hf z?;KXng_&iNrS;K$F4>7<=}-H?_=05TSBaLx!jgOUzOZy(mxZP4|AwWX-w;;$EhGYN z9p;4#LO`>qAIk-PKSMCRn1tCw|5}_ z6Yx?vg2M$a0s>q7V*-BsDg0a37x#@HO2wafNg&SqGmb4nfJ7xfr;tOU0sjqz2;_vk z4!=hL&)3LQQt7`lV~WfD@_u{`lC3J3%OA8qhP22cTS zbw)`5w8#kpVdfQq5aU55jL*w_#=&8HSttDCbvaP^ynKHCp7}wGh&Fm4+wQpsnSkys z8F(FJhRpG~$bd^`%k1a`kj%rDB$4}O+<*jg;P83)JvQ>@VDSM8nVEXn-D^oN@i#}` z7=5FX(W2*!7Ahd>;w~_2F3*cZ1e_o2CqVnuvuFebY5+>yjdWjMOa4b9;madP7RV@pD3rpAUgr(~aVHIQ=1c}JPe14JWKQOG4Eu#_$ z8@M36Mo@e;EFF(Kg_S^W&V^y=`fyl9&Uf;VQ0SKn%d%)g%fKtb(!AOwtjHu9g8yd8 zza1wTw)+RNy#7^TRZqMi_|#!j0pVV%Te^#Ydduz&-5aVz8a>s>67Ddtw?~~n zxCq7@g=KdCd&X&A&bemJ)pOE(8=n+bB?hB{f3!G0POl*Jv|1tS8l-e7uo}+}Q!B47l*0hyT1@ze=nq?-C1Gj@3sjm<39dUSfv)Fd2a3!k&^=+kbL_~aKfxU^vFk=CK5HY+@bTG$w5~siJ+Vy_-8?Wf}HR^ z3zA2zLg{(O6EEbe5fI1o-5{*m7m=q$Z3dZ4kO}i=jO)PR&{uM_;$8v?7ip=i#=vC?pl^5Lod@;>%JZWf%%VScRF>jqVg-F9esK#^28-@IH{20!~rdnoaYpx2pmC@00oCEl0peBori=~ z2+AYEO2XfMJq1UQ5xfunXe&=gJViymvwcAZgXvAopXxU|j3U`(1N$S0S6}aV7xgd?8LF@P|AQE`m1jZ+rU-GB?XqCLi+V z>_@i9019OMKK?x8%=mL9K|+ECKOMifRWks2`S-9Y@dF89p00DM-X5UmQ72zdFT8*T zeBr8s4#`zRTILN42b=(o01zYr`rZV3OqiCH{vH7f0r0|_(0xNP$bA$Y$YFx; zz{$Wdo&yrqG%H36^hlyS}0(i5` zUpyQTPN1j)*^(AoH30T=D)Asu7*FO0^X}PNXV^eNj8Jh03Bb5Dtg#Ms>CMu7u#=}??j%F0~Ia=?vD*fI>mOB*f{Bdhdp1c@V-yhIrEW3BcBIk5VDd~;&Cvf%Z$V2 z4V}zzD=(%%-Xw~U6VfW8%0woI`cS1lfog{;hM76#slwWC2a5_m>y~|wiU5@))C|bz zQb~Zc5te5;ULZOQ#qPq&>y4&IGozUT5w>iQt|Sio7ll=9;TtB~sI+=nwoesblTm^E z5G%d^L7uf$D8_5v+@tZhqzbfg0B~G@?u*RN2cr%^w-5kH1u{DmRw}UlqG4qnj2{e3 z-=7^;o>y|u9|{M(d$4<`OF!?<2`jRT(=%ZOD$dt4FAq!Ke^0V^mx`9}XN9nmNXby^ zzm;Cd{^GELK*u*synVr>t=e}={HTMb8Y(DVd=VRSo--m ztRNJ+E4m+cSL7CfZ|C0r?ZO0w|4F(o7*;q!Mi+!t@?=M=RR}HyB{EE+#d#_SZQ3m} z;-vdiSi1fvtW=h*a*_X~>m^|o3E-1qrNzRDa3L!!ZwZ7Igb)sp0s&W~l^7bY7*;Cq z1jy5?hn2(%uMd|>3fFRgW0J}jh7~`fyFDy(l?>x{>Od;jpWmO?4}nL%|8BRTg=6ye zp?8|fH?nHoiUWCMx9cDmNo8^Rv1I9er=L#tlw{QIt4JUvkKErKmOkg4u*z}VS^4v9(Z06m`-lci9vRd0_mxNw4 zUPSAK1ERfi7xz$^ze)kig;gTp^00zf$Z8DpswH9G5(wsfZL7*(q$is7p;lNDU96M2 z{9XbA_PL_6krQrkZh(LaW|!c0$+O}o`CPs?S8k%8)AGb3zqOx_e}vzGU!(DKoWb}|pd!A)AHv_G5KBQre&%S;u(E%dq*urWCt5D7 zkRh8_`>T+|uH+McQ1Ibv{AvCUnK^NlI3C3BE&lp{C%?w;l)8!iM&7R_S;ud{4{jmy zBn}D8+unb^PbHrM8}9>hjd&7&mIOfISbJvRPmlkdle>cJB!~Zhs@6I0NBr6(5RB*{ zE^1pLcs~klB%YWze4l~=tq`=J;O}Z2X3&9lMkW1OhJd87BeQJB<6TvO+aguKh-2Ia zlw3J@c))snlg$y>@N?wdp4X7IwQTPMkgYB{4~&7}_gi^84jKX)$u_tW#{_8g*m)2w zG^KezJM#3LlPDnYr(y|&me0xS;NZ_c^iX=i@OLd)90v*Gwz}Tu`3*@P0VIJk0rmRY zz>)3a`SE-F9UBkhM<%Y7wZQTJ=a3OhZo)u1#&~I5M~exvPer;Vcl`f^od=XHMfLTk z`_2Q&Nfaatg5;b9i3%zrQ6x)F0%qY4hEGW7bb&`1C;S!N95Wvm!=MQ17XA zhpMiPx;Y~`0L_pLIUgr&ATGv7dmU}I&zP{M%pwyd3aS7K!r`4r;dF zD#|Jw73$EcZACPy|FI#Lk|3r#dC&f|f2x^n9#aNiD&$@=!1v-v%7FHEdZOmHn;VKQK{CY1bb3HcC0qn5+B*$J zW)T%=+B2yg8+Oa+^M)Bq%E)w1JTdY3#N%=ON`bnc7;*_nux66jp&aqxZtZ9yk^P(c znXQfAa8jZK<7lA2Ri`${Oe&kX+@!uX9pHU8J}u+DXV5BNvcAn4y?$N?(E z$|e>uL=BOo8E}pQHQ!R#0;t?Lvv;&z-;|{T-jVO02ZmG< z(|^bi-oH;oDk-w(?Z|*5a=@MQ^){H_HWcf+F`XWk7^7*c>}M$K9hEA1fIxvs?>0n9 zoz_LSyCfRu`-#>sFELVp)EPV~5hNf_yV0?Eqdc>%SG(DIWwXWR3siIhQ=VvGJ$=bg zh|tOoizNg{=YW7y+OLYp8as63n$u7?)UsP5^TF)Ef{97!BR7$B(MQ~HN}%lERsSBVe5F2n#Chnm@lKZB!;qYa}$noTpbnTC1E`pNmC zg$1=9`+)1N+W%oEcpGQN34egZ?j$00UMh>~KP5F>CxMAtla28v;DWd{?R)t--;3SI zeTQ+1CI$8+_7#pifd#rP{LN5^Ok+25U5qQ^#(7bSz~|Nh4*~!rs_}2|CrHe4ANYIj z6LuBnrEwkC=_CiQNfC%KQORRuiHV4V#0|tT#xcY|cw3Z3%YVm&AY#P(nCLiKICxdY z+H3U@EyE$Bb{48E5jM_~iOl&iklgTEtc?l71YiQP5fWLXEml2o`TShNoX#UV=IOlA zEKrTSi(28B@}Lp{WL)@rj&jhwy%LeU%s5C66t(t?i`k)?KOgsH?wM2^A2O|E zsB!cvaY&yJEPSte*MyXLeQElx2?MoVt5>BQbsu`Zk8xpML9rsDzM7aRWS|MiAa;Yp zQE5mx!=M(yT0rfO7>~?EN!L+D9*29>PIIb6NPeLE(s85o$+y_B!u%(ts|5` zM7liVr0xk}8&0*Ka;RKIpZ17mkO#x0`*62Y_u-E~*oO9=!T>{?0&N_7ny1LXyH3x; zgM}*k6#+j~Ch3Blk?p@>h@~U}Ie_PZQ|&+P58BJy%M0d;9KZf#LoR{vz_J1#F#xcw z=Kb+9#LrO8<`qQ=8nvJVVq_o<*GMD`6>*g$I1}w75&-^s|1#I6x#4h7S8b+7)61uwS-28}fOgt$^d>0Y%NvZk2B3Zsi!LIkq`A z%#Yg*QS|XV6MY=}WP}B%qWZpt0W1)}{v98WU|;n&8uI7jxH9i3Vd&2`gyS{+)&12u zKsUZyKydW>^#g1_HiEN>ApXRV+a-=4VhGF6yA8okd~)Ki6MrpK(&?t6fC%lzobiBI zsh9~chMdw)sSn*f6o}~V?*7pIA!nLR($7TwT+=|*@R*KyR^r2dFT@SS;EIfzZ)rXL ziVWii@_cV^G>Ewp?8ThW8#S+B3pvLUd77cDj%_a|?Td47%(W zZ@J9UMdKFZ=>(#ubRC&8PbTFmqXN`FwR#8apB)+Z~i%!^oo~PRvU0eo|{dkr+Wt z5Y33g4MhTq01o2HXavxGfWW(+cTfD0s1W1C9Y<>QYw_|MpoDQJ<4fQJvAwq` zU_!uv8f!{A7$?S!?^{HXQ!U6INFd^<474dJL@kB7%_1csl_Tjjb7%m}q=k`r0Y&T| z5-()@xF5`unu$@@_UFufdd+y&N8ZQ0g_*%IQUP7TDOX$l7AvZjfs6xy8msM40x7zc=I!m<`i2+_d#0P_m98i{CZ3 z8Hx>+BQ;w@%rU6gkU1(d?3s%vrM^z42(1D78OzWiGu$qdDCdask?Dnk9q!fg@qR5C z$;)~E5g1%^ECxJW8wDne3=MZ2Y$1!_J1> zttQUjAE-wE36&(hJBv+GQ#(4{5RQu)!q4wA6m31p@F?TvqEhs4XI&%!MZl2STntNF zE!Qu)>DX#u0TtV4w^RoFJw@%h)&Vl0>|dk9Mu(3MQzksTe>A_Lp!ohyj=ySiVHEV+ z8p1OBD?=6+Y}Ym93|Mo8q1cZIP*`B%itM2GiyDdyy)xglEhFO?^U4=R&5z{RKam1T zVReh5OawkW5K918T`)W_#X2J~FR0C)*+Ugw1``=uFVSIr!+szTg?J+U$q8IZ!+??x zFL~1X==WdyTf2uLJ67!@h8&Q9dP_;ouhzi_`u zzeuFa2gD5YBT;MP@#eASF^M^b^>6%}hC-uA^T`8tWOiQHy12%$+OXQ#*tCnLT|DjL zf>A^_pp7CjbA|vWhCg-);-R!L#J(fI`&^=ix62!f%$?Sa{=Ei0@B8Iax6!WxZYk!` zA_0raK>xE6M|0(F0#L*Iy8`YkDCpQXq7bt_#_!!i`}W(iLpf|7@SdVwq8JF>@rGi3 zRE@lsmQeynf=L1D_G&{e{po+(-`TPBfK<>Y42tR+p zP-t;T(_mQ4P%s4v3}ZLoFiFMUdU04cj?tlpBC%y%D&D7dpvDZi)F9^8adAEdTr`qMh#)$u#7fvLHjg5f zi28QQjP7A5+9k4X6Ce>o(A)eG@S&!jzy$Uveh{_i1Q2MeNiF(05t*XTeob3xX|NEm zBhbn?xP8R>jQv8XCJwUpcNilsRtxhHJ03?F2axCbmk~MPiv6a9kDo90D_tKX#_NtV zOa>fmx(4yRi~|mStu-)N7XShS_y=VEVJ0BTM`j$KvLj^Xbm130{V9*!7}pd3RZ zmPcy&N^&4@JaC+=^K|um3~i23aW2kD_qT@GvA*!T}kalS9_*1GQDyj#f$UNYfGS3Mx zu^rOY43fk;0!lG<>faC_S))+WbgPa6tm0U}?kB?lFa2d6^Q#uCT&C_@emA-0C& zpdUM#Ofu~3&;9=y!tn(|?rK8D6vhq#Cc4=SR~a&+#@ky;9B`NzrVY~y?GKemj2#v+ z)~#R&?;r1{^iwi3WwhdGh0zLG%o0aq^r3)l6le>MVEZvcIBsjm46UL&QM6lL-_{Tw zpUn(;ooW7MC>&2w)t%|Wb3s6ibyxebi$bC~BoW79aYLb=PT;`uRre_4e_;{Ox+LJ@ zf@)2hJ1F-u?7b_<28P@vz{Ma5lxv@f?LJq`j#B@9L$3MmKW@mPUtaS~X^#TP{PXLB z$)fw({yX4>SXvhCgZ>OdIPPJ{8X!EUi2At*9*ip(ZR{gjCwSh2+nP!xc2?#W5l{k~ z1Z>eFqAeqg1GQBo@XCDi_1ZGahpEepF`o7h*iQkvRh03)qga<=Zhg>DFb|<3tM=Uc z-Q(~CtG<~#*|Wo;g`LiRj7Ta0cI+<&4%>^Yfod4njrxuIjnv)d(>Y^Kn?qmcagfNE z5-3-|#{()PP^h67^T6#%1!ml#M(YSMJTa8q{w1-2-AB7T**Cu5OWcvb0(Qc1v>_bl z8Rj15F1kD*3U|1)5SWkHY1l(NcQ}f)?S%0|V1ao9<4WV?;^b&50KPy$zrggwvBvRM z0NE+~1O|9tP4%xGTI^)(JN}U{f&qrzR@udr_ITi=&Vci})(GJH87E#7DB$xS9v&Hz zmel<*VTC=;dGL>nK7U`g5oA309s(se?A#~(O#DWedJ^~a^T(egz{R*T-qms3Z#a%M z4;){J1H=M9cat7e9J`vbPi7DYhe*FsHRmlH6>el50b--#U!4i&AMax#P+J34|J|zT z=lp9&7>6cj!jmIRq?^nu5ndel|J84Cnn!BV`(P9>p}E0082p^;oL7z@=S2WUjosEM9s}gPW5&|3-9AF&M+VN)GR;)Aw5CtSKv66mI;E3A!W@W|kxE^A^+-z!A#xDP};xjy>g zlDVRt4%AxOPQhT1LFHm$h`P|0PaBCx?5SzT&|<-a!pl5SNrgXGvsUdTp>oR6^K}cg zTto*^Pp3~V_m#*j8wCqE_m%GvHO@1eP!^e2XfWVV$>GPaLT$a>#89ZvE7Rm^{?wME zxj?4c+Bk*vrrpbs$G=@LWisjV;Uz8`OJm{rR4YxXM*Dw;a6F*hzdayRuMxw8*+D<` z=5K~@T-Q)g52YD^p=4U%(b1=$v1&ylb@tswphy7)?@P>lqiqh14{A1*S%G0Ry3deH z6I?V;_kmhhucehZ6xY=*V<_%B&#N*h9%wn$P|Qnv*VZ}1n?|-?d1y*LF zf7uZJ?$&@?3P*l+LpUB2U=;HyqnSoC;a%3CK*pzXmxul}LqXZ5Rve89 zbvft{F%$tT3~lT#o&&UW*k>tKBJia3ob|B(XX?rj_KKK@bG3U)Ue$KdyW^W%GSf;{YQDEf(+2B8S>*!4cO}Nfly}t_dMW-|Y@j;9aa$nlm0~P)Q7>5-y$$ zgUiAsA5uX3&Qxk;*Ae+X`xjzmi0k4wv9B)^tj%Sj819-@+C^rX^}PR7|7mM0=#IAR zRo|D;M9{dq1{eWy#CNf~NW`qKfT#97PjEo#=KhlyLu`+Xa9#V3UxKCrB6{k2;SM79 z1nplhG$sn)hfD#E9zNdENE9$>z@;Q&Xw3hG9S`L4T_95#2 z1TgSNIl@>#%K$AJ&SSCw2q(sLEbuI>OgyfS?`It5NRiv%tR{!L);hp}#*wJ|-Oo~#Qp{4Q z%94qPaRD=+?wT;qBpGn7ABQ-L}ca;85K5I0u89& z5&$4_uLZ_y-4&>a?ZQ4<{2hTI0yk_JWae?K3CyA5FY3B)oQw|vLoy!^ri}&>!QtzP zy6KdE<_q&opYPN#7D^U!MMzP-^){x=53NJquU(>0&V*p2rj}jm(cY#Rc7Y8oVleRH>&re)eYgeeZUU!=hu#|&FdEJ z=lnTGr0n=G3yzP5%cB+GE>jP`+>l?he>8tE6qH|yP(lfZBHwRr$dvBU*@i-`Tp4L=vKQOz z$sl(_kNt#oTKhbi@b(--QJZfR^1E`)y*p0yDgT=x2eSIT4Mm0%Z3rJ$4I^7=}D_R$)nHAmrff2tvufVFp~Hj@+Q8PwGvIPCpW0b%{?9t$u> z`@4qdFi)7nJbs}e{Qdz$4B*H8dt#f3Z6~aK-yaR(_wP4^*Y7jrQjp86ctY{wTIobJqkGm^v7ub#v`V*rruBxp-m!N{hW$>fQoU#sTZ zO6bD#K5@T6ZPx7X&q(bX=?fkMLZ8m(;Q>|d2hRE608mGwY+UtBr~hO2m|5_M+(lQ_Hjmt}Pg#FdOes*O_fnsg4J1sKr-% zL)zcE`absssyrnG+;J$=|mS31z1SVK;s6oRKTun7wIHWjuFfppXLlt^#c|~HY5)=QNS|xsAWnRnq zIPV(-eh6e_#zwmDj28>>996A9_mA%-Ac2F$14t&32b7FB6lS%h^No%Ln|aCS={}>{ z?IKyUT|_mX3_B$lS%fkLmY9F^$wsV%$g2z?H$0$nW8k2k&W6E;M&N|=<$0l-fhe|q z9~kFa+>u&D#HW)`4XPgfpvk~Kd-qJTb6>8~pd2E@aB<0F!PvHG23 zAV6tX+tX&XDCg?x=7WFyO+9` zq5-+78IawhhVc7G4B@zRz%r52d#O1DrsW+21`mhdo4WR!`}zB@essU+e%S?wr)#@W z7v|H%-zWYt5!Ux<*BQdk4=@yg1sR;t@cMFAlP*MMlctSI1H3)r&x2$2a~Yg#X6=dL z9fs`S_a_)K^*y%5x?U8^j~9`592V<;y}ANv-&3X|7zh(L2G}?)6R@;uOTSPUR&sPP z^xRQesavsIG1v0Pgr|vh{oW9c7xd@%7vw(ePW41fgXfFV5~!XFTXl8#``rxTbFVOj z{OxH7$MX$gd)>tl-uIFr%>UyI z;q&J=g!4GvPz18RX2=G7|4BnQ{=|?OM2uhmD?=gL_mpAAjM?bNhH(6kAsmk|WCsm{ zKC09Q2V``IAqEs;iO2ZOhH%`#5U+o!@ukA?sPUu6!+mL=GKhKdN@7^WbsQ#`)Y~Zy znzErG92YZ$@mtdn#_Q{baNOMxet)DP9M3X@^SXcZ!03UfIS?Jf@Ko;K?H``gk4-yd zS{ScsQ>Kki3-fN`@`=kPto`3T26ZI}`%w3GLs7$i(^zb;J9@?tj&lagA(7S3<*pcR zh}&vs6!|Y1a)5i7H()-kPvcosFlsU!t!@Id7V{KC`ILyvY=bExyQZDn5Sdj0*})z= zHo{B(ylWH88%n&;CP2jVuZHk>OSMb3OUCbsi42%E?OBHK`VK>}Z;KhwzY-Akg^3db zP733>ML>8CyLAjvtTG@RFEE7Ty9}AR(f`$;facs;Bf;C0T4~LXi!L$RubY#bQ!D`8 z?qmqZ-y6blM?-l3mT5icrx_x%;h!dkIK0_VBqla6#C z3Hc9N|A(IrH(DF!;k@CS!+C`$>pWo|%u_HPjM;Nf!HgA?%}X|q7juEq4(wm-K>Q0t ztJS5XIo%NFQ)0-el&+a(C`vc5U$8S^1mK8crx4&p{1^WLdyG;8GWnF2eKsN|5>7J| z0U2q}xF{>_ys>{!^~W*AF-DahN1VWbM0&jx0HzE90JMxKLBp;@v>E#f`%)#1{&Q;k z(GJ1iA#sCaTOaWY@hfXFaRSu}G*A*)cL}K5`FY@h00MrQdC9L7^98@Crs$*j!gbVs z0_RyVaTjev%*iTW-Y17^nSx?W1|9<#$F0tg z8 z!@93fnla>^N(xhgT2Za5j4y$qc0WTwDPANwd|m@6MoGJ+AyRceW>np%aqxUWA(TPX z+-xX5M;QyxjLng#tljeg&qXG{@A}`x=OWf5dtYbngB-~Itkh1>H{4z1(4z%0RpMvY z%dq;nGNSt!V*mKo`p38b3V1HJhjXUHQNip!DvO-a-GP4P&D?svsj*b8BP9;)Duyg} z7BfmW7PXyb{vTI}OxgU~DQ6V=c?0HCo5#0DGNl=f5!yeZPTenK2zJU(4B~gyYkOO!e;8FofexhTK-nYyMTE-Mz&SUcbwbamssO001BWNklF<{ZG^a`MM!| z-qr@q-;aj(zuypk{&4q5XMw&04LOh&RoQ=Q#zS?=CWdqF#6Z zGKAy%3>t@hw4QZE$(EVnPinthA$I}k|7^&j*2AI!i%Cml$D&=I)*)w(U{}ztS^)ss zj`nLAicFpYrL-Y+#v_J2^P*DWcQy87)E-rBRNZ0t(QuVfz@v7@bw#besMGyP1_d5A zE^5UsynK%K%d^ylg3`MmM)BC#Z6vNEt7H+n$lN%)$Y4LD8s`rfRLlLl7+?vmbzVnY z+*fuy_D5t6t*yU*zcT7ahza@5g3(C#8!=Rdslnl#8Uv|u|7kXDHfuJG-D08^M6+?T zQEVG*tLbM7kz6wBr=}7yYrbpkcPYtmyN(hBx*5EbGR0wj?mFyRBv6#t^tOyD0r5;c zb~N_DAp3w)Bf2*bxIokryRGsMhMySo(EYrvxO}hw)dipIG17ZxH_@a6s1{m`*Cec1Ibz0|%Pt0!OvZ^z%OKG8|zX^X0~AHNoVuS!bu(UkuJ-+L@4Kx9#VK^l#s+aIQ@e06afUeMa}9!B*7G{?*@_4QCy2pP zs%QSCFpzQRF~A83;84~X^}1Amf#rO7z-kJ6ts>9$%w4JR*A#s+m{8^G(gPgjzH<1v zAv{=oFE^$Z6=Wju{k0atloZ%#_?*?{@N=H1)zioR6=e{gN*P0H_QL0+@j;bepF2YU zgCmY%E!xO=K$V}>$2BdGoCo7p_cg6W4*C6z;(aMVHJ_LU1ZWs19532MGM|{oIJApZ zZ5N@a5y+}F4LCo}i@v6+k@H$%9C{Xf0uF2_%m*?6Q0Srf$&m0ii;NfZnt8xNL4b>z zMN=`}yikqBQKy}f)N=j#A%KU$0wYCC0$24VqDUSV!1>XScc;`I z41?R%wyC)zf=Yl4m48J4B+BD$mkxG*Du>I*DqTzL7oWP^%KQLdtNXZ!+mc4Xo$6j2Ux8kZRz@p`iqT1-ftZco`deQ zhVc5+hN3IN$<0a4Nkt|ArUlOlVqq!)Y2ThQV{y3&>rVS{s)Y`Ya6ou{TdD=8&$MeO zpn`6O<~t;YW(hN1>rS{OK*qfHFqxUwO<@5+E56$}zGOcI;( zz}hN?EXFii+z=lBg93tsG`@&Ir4<`0AoZmple2gV;2H7TsNbXeM)!~I56Afo;qN94 zMRymvfGAViZ)_;EM3mWV=QZTaw%2egBiX#&5RP{R{65zhlj-udeMZgRyKq=mH||3? ze$0?-f`|1JCAB}LAN8ZWzqh9wGP9^V!BDIph**&kRK}(~-w?*(9fquZF|5>YzW6A4dM6SFof5)8?rV)|Dqwcc^kfCDApZm z3s7V2-76$EM^^*dflaJn2*+uLs1_fP87SR54B>d6x$@z7qahqWW(dbQ4B@z!Aw2e< z3t`CrKPPz$JgCsf3H?4#5l^ihYjK4N4bO8sv64HRA-{ z(ct+-3Yg%3P@3VHTH0Q#)RJxh+((};_z$!Lq)QNtNr`$w{bzskwtFNNptRql(i)Xw zMJe{BiZ;b)+YpdA*^oss{r+JOW4Ge3)M9j1t-QDK!w(_RfqlWx`5f#+DEyQHkm=`r zINHo>-j73#eaZO{xaK?wKtRElrizOm)>;5KxOMIOWDYgwM?j)tiaX=d!j!kg=jz@V zsCX)jMkyLtF%&3W_e37&Ss(Fd(IOzgSlgkTKj+8z^E}{(@;*Kf%^LjUiUB{4YHFM| z%M=sl)!4~BQ_!`bxxq%;I3f}_E;x)Bcx2XjFkgwT>5L+Jq{L>bMA#}Ofd3qal!c6l z4>y$aAX3AF%lm4TNet(z4IO=YJ;Pa-IOH~hNhC*oFHr^d5(EMXZl-JHZqwRGv9G6&o>klL?}~gALDI`rdp~FTL94c!&u#8C6bu6TLI1-L)zG7OV$6(eG^4}TJd@PLn|+#nn|)*L zXv*x;hG}I{>Hnw=m%tF~CxMlX4Y{o#h7@h8x=$Fw>vtN8z!;Ri&&aV=KX%-^#$dEM#qR5^xFXjs{ zYVk)5;W*V0j&C(YQMzN=W1^$G^k`|dNBdO_j06-VKu|gljWCBN8P0nd3h_whH~S?T zBN!eqUf5@BH!QVpSU)Mf5p~k3?{cJ>fBp0QbNzEF3E4DK`RD5A%1oAScZ1s5{iZ0f zp%zxmrO`2l9N-+yW60~q=vhOd>MapQDEQsUhVc3uhAe8fzl3*oesF zbG`(K_@25gA@hR!%=I!KmhkQd>Au$DCj1?r!#u@dXMAwXmo&UVi9v3In7)60%|je; zo&y3jwc0-qBKI9fpN*eP1(YltE#|FjN2t376j1(-@rF4-&7vr}sM~vBfc~UvTjvW^ zMadd=F%&iX)Qai(_kOgrrK4>kqAoHl$WVKPn(Jnv;dz(JE}23cJP$CENg!fQmjT-7 zz!2bi*kBNy`e{BUA-q1wkV`p&dmU?i zy`9%$iSZI^)Ym8+Kr|It$1Y3;6*bN-ez%Rf6Q8}=u z7wz6;I77W`RI=XAV#qbUWDpUH^L>wug&bSYpj(MX*ofQR19l6`MO5d~d@*Y8iH2mD z4mT;_HGdSxjSP|42JojjK-C;(2=Ci1B457(0R0Vyyxxx9GunK#d9k08LE!$X)Zi_8a~Lq^OP4l5Uo0Eu(;-|8>yO;K#TH)>F%=a>0%g(3WYWPL*=Rv4axiK&KcIFD8{ zg!BD%cWY-NhpV-#T3gc5c>!~0J0g~D+$`1ZKT7oLg@RH|O*;-Y&-r*rD^4|tQ=7GsI-C@ymOYeNoXQ(A&U?o0$kG_eP; zJ2`LmLlO)msP0vUl6_m^eTeXRU>6M%96X&T`;=!uZ!(Coe`ZnRO(5K)>dq{fe~1Aq zBafKn*jLBC78we&C&pCNY?!wwC8E2HDDk;mW3kMzJrrQJ3|prr0D!1eI`d@g=P-F<++d$sB^R|huOkGSuQSH*xGkCc@g z^Z`T&Ui7-}XgNfvnZhW3ASFg=0vD0f&tYFpd{0!ZRBR zN0x;g3Na29ksmIY8&|hWAOOIC)_oEgIQ|iVs~@OZ+^h~5WF|x1zn->#$t6JH9`kZ+ea4h+|J6 zXKrT*Os@%1mw+e`)V$5x6eh==@6TdiX&&%>_4n589(n%~-exfc2x=w*=Sx6}4HrkB zh+Q2hVu8i6qTe~6Po$Xf3<@XwJmD0lJ2v2q+=Sg9eD&;~a0ZG`oj(3ZFd_AW&{S69DHhAor&;jI*;~;hO7b~4ExpF)eFb;6KWTw4C}B! zz*}>Fb?<^ep!DPjzi)0Ji|XF(XDA#?sfb5L#)-LKx@+I)vGo9){$Z&1%NoMp|Iv^G zVPx?A@3~KE`xw=;e_5>4wkwSnr9VfH9c^NSvF+k@k>QdU4V2j6K&cc2^?7f*rVK9H z7tUO|MdDJ8N@Cg2G*JdTDw56ZPhx}-e$=2K0YG6zRiN2cT+%cXePEYgyZ6d zaQw4DT>*k)*q_s%8@p&+K3q0jCXvvsat(X?3quU#1msea(N>0V{I((dyiEZ+947*v z!8(lHOZqF5gAYYHw)3+<#wGow{iTul5K9GM0!*A`$otP|k?379$obiU5z6@nANg*>SgM9QgLpYC}4B_=B4Pu0? zTa<)Ivx4o8eXL#A5PpB1A-vu=1;h}yB=8h=vk%#RhS(&50ZNISNg$?%m!J`FrL<5b zX0a>Ay9#@P{TMqC$~blq`=J~Z4|r>x^->56_^go`WF{SJ;;}K%er(~OC{PY_!b=h_ z8M`Qo)po%R>$3fWc7!vGM74LO1Ep>|DX=0~FqHgnM|Ibo5Qe@c4 zV3J9#B1kchy}TUKd5h2E^XnROGOJL-c>p-#SmHR=B76M9am3+kv?4PAIGEfpA~&=d zL>;txu$Q7OO--303MtkolHO#(Ue9xx&BB9T9TKjWKkbUN~T#FD6e zUsn-hGy~pRIp&;SU4lSnpK;hgk@c#k-yPkRQfAf{*t&FpKv5kCz;VH{e%&W-dN5o4 zoLa_t4Mn>@sQQ!!ETr>&m$U=8ZfOfRlVCy3^BibN^N#t?hPhA`fMLU6oF-!qa3ny* z`D38U!1ZxNYXDI$Q8)c_=*z4~uro4hQAVCu0xCG7UoaE_52;n7_Krj08UxBSkddSf z5Se_a`hNX%Z9ol|00#FPLxkr{8=;H%kg29^9qo(uGKBXXY$()2IRO>z*REfet{Z;!TuOURsLHBuhe`?b-@k2vczP@fK zo-a`$W4paaitCl3-d<6<=kOr$`~NP*ym(){vvM#^wEdj;$*D*ru2fQO8h z{eG{4>7;!qY7qnn)ClNCK_`>v?Vu=q5n~0$1)^pIX8Qa42m1S?s`lEZs*PhXWvU^( z{}4lw;W77g(X0*~&5xg{CijG_6%e1wH%VOb{W8#QDh#llWyp%kjwS$s2oDIMl|TSO zB>|Ko5ZD~vZpfJl5B#aURR5|W{Cq(}_`LND`TnsEL;~%v3QY@}@5dBO8fho=Kj<&- zFVCeoCQWDJbi?9?aNBP%#QU76!)RZKX~z6%ZZs5{COn@qL_N?XgSvaj5WeRqL-_ec zhN3^W_K{&tLs7e~wrB)apcpn!rK-oHr4{%S*RBi1~T zN(B(lMAWVOtsxxm=x*q=}FY5|om z1$OIUq0}MmGh7`!~L^A@6I_y2}nEHPSHIU<_F|i7?OF3k|vd zd~>a#5O1Z#R5kR>V_(lz6U==>M9`UgqRPkhdowu#uN30IwCROvzO*5i+(a?s56B^3 z@eTH4G1NQ|p>>sc9m7DE6--R*S>u81FS~!{BJi!}U|7nK1Lgf;hP+=7*Cuga7k~b( z#N-I%DTB^B=OV(`6^P2|x|@fS#!j=TRQ8ow~#58FQQQu1W%& zNr5O~EpAQ(5C4(`ZQY%%(n4?sL@mz8b^nimfCtbC2-Ja&$ru6^Q^0He8JAicukHe% zfWUa%#@|%b{+i*oqB6ou7SwPY6h-9dR~_>S%M~>|L>kG|;@I;*u~5{GUtRl;=o*;tH5A-nA~4j>;Aqi>0P0a)bAqG#y0;UYzOCR` zrEwtYl1JETO8IM5geTwdbYx;M5uY{`ZAAF{#!C>=_hyH*W+Y5s+Aw1`1-cBRHN?I(^Qjv@=IHbNK-{2Z#jiv(dfC^PGsWirGP!6Sq1j=$96&Ap8dE`d6}hY|+` z+;~2Rs||UaoKf(Mp)rRd?{?qK6kpb1+Eq2r88Wk=+00OMEr3c%-*9Otw4X6# z5hvC?N?C>zhp$J9JfcntfZ@m^4(Xy>>Y9LxyE7E%vT>84Fud%l=gI4u*MiHTa0>VX z777S|f0`j@F3{+}0r#3ni4w(t-m;?3-dvOzSjPMNg&3q%yM6xuInA5?Z-$(ycV>(n z=JrE|LWE4EAY`6~T~a&DegQ-5@{q*8Bu>>HXvkF3(Se4dTL)Sbw7H_D8gVDt3$*L% zUosR13z;6YWiZI-EB>LBL1TVX<4(5%-v?mQaHKX^4kj86)2=n-Hg|||TK>;6fZmo* z?FLa(AJ#Ht<^v*;XkOr;kRWg|KxJ^dLk*FVd_W%@gMO;oUP^^Nn6*g+Zec?a&=*q# zW>J5-A@=c(hP^2!m}WwEm7z$)S%BgZX-_;HMfFZIQN38|^0|CI-Ry>#QBQ3pl}V0W zI-V~wZMrX%5Dg2Z^BiU~gwOqa|Aqbw#dD?SuKkN4cgYxzFcj;&?jOt?4N*{GI%Vo5_RwTf*_gB$QSTSxod`#nsouzRihZx^25{v!tULl5KF zy$|x_H#Y0V^&P3`)j|NPQ8Y>%{`uy+)B?x9(v{V-|? zY$X-{hw?rZ)`WdyM*8iss4~}{lW7&T+xQv%B?ZGpD*ImQXN;zsidyGw46!6EATq{c z;J9vY9o?h9Cp*|2u;zM0I6mGyX5xR50ri92KF>vP_e{0#Vb;t(%wDWNv@DL&@h5_{46;4rab`UL>@z z@A-M1Sgal6H@WC{veWtdO2pay7VK*rSp1fXDd4X;a$Ov23jAc^es#hXEw^z)QNlqY zuGX5vFPbIFnrA-*`<&8p7za51>~mZv=T`?r5HqYZ{&ldg0)0`z#7q6rDtMile@k@v@=|CH;M^{ zLqo(3M~e61Xp;#hfWd1VUCytb=(Wl{?R&^HW3bidS!b??iegf?p&%mmv~GMYN{EWT zCK}XI4-_!bDUqOU-TI>HII?h7C^uQ%Z2wdKACBf z#*NqcIDOX!?$2ymXjI$f3+juhor^mlJcx`Bf6w``;PCy6CB}%iO(d|zeI@cw0BAcy zK|x}}LPZtL0s7st(DHr)CQJ|2MtKbwjyV)DM0F4cq~?zdM6LSD`9kTJ!|$RvTCj1n zT~(g8cVtR8Hxv#%lsFh3Y_JkdafS&c4E!C>H<=Owd5G%B(D7P5m=x4_FRhXl)*J2% zVtHipD=Ih<`q<>{^WpWa%`MHXMFw6AqKjeiJc@eknHk!|q4KVpR*z6q(!so^b`F(c z)kypOCzGbyc`E07e#xW(Z z6lQq}OtFs9w(qCu{ti1ztZv!VFC2yjhGDz3A!`S?2%_58`95b1m~ZGgUA{0VSdYyt zy}Quts5CtKyA1^+2@1RdIQ_1Mq6@(_&DAE}=ry&hLwfF5pQyPyW3OdzW;+E-^c#t6c`yM zBr12b7z*>N@B7!1xTkkZ_@f~+S)wCpT?)dt^p@$r)DT{uZwS}_^MEj((~g;T?6k11 zPb@I8;KYJ)+l$Nr7$gL8`)dv1_rEttH1n$LPYqtOboh@UQ_4r%8^Y&Z zWeD@=K0|(AyMm$Ux^ST(i@-WF4>43R(c0$>VVa#{2(PzlKhS<4X5w!i-5f;-qgZ0U zi6K*>yMGvBfBUB_a2CZL!+aclDZoT0HxAe&ixDE07fTbyV@cJ9tx@rx4*0tQc4x~$ z+cWl~|9=B*V;_^9GNstZ*@r2iMBI}71p68LQ+BL{V`D&;wyY8j9bPwN5m}fkIF7DG zBDGWxT+MFP_2KwULk?WG>!nhJ;r!u(s6H>oQVhtRm`gd@hYW@01h)wV;C_O2zegS-tQs`Rz}ik(Y>2N7oMW+?oXxT^1WFk4`HaJ?!WpwyH0 zgkjZ7cIF%@K?Fq~`!vqu9~ApQWqia-K>*JOTGt;L3YkN?PXnY*K*?KQn-7~eNX)lPkm*vBlrE*Z*P9}E!Lhh91{ zQ`JpvvczQ_7~wwD0RsXa1Oo8ODh7Z*4|Ur^-d8gzy;X(j|zyX;yDD9LqRF0KrQfc#s zq0Pj{VWDq2nLrl)xhl~+CU&M|q;Y|A!tXuOrp)r}a_n;kKHaCu+8r_x>spt-x)1!E z37gv*rr%FEvtj!CTvJi%ew{?Tm~h<3JYUkW7PEM%DygU!Am&%ClF5+>8iwg@hC-B( z0M;UMDA}k~lQi6%#BrLn#Pnd{K<%FKXPoLbA~-~%W+BezlzCCcoeG8Ml{Ri~XSk}N z5K;NEp@?v6etAZT5)ppSJZ7G;5RlmxMcdzpMh5d5QBP5^y>^*eH#z#v=M4pg9yNa` z(#rIb;q`?I17DePuNh=PhFL&6GbrB}kWjfPm7vy*Oq&cK9Mb0TfG6_C>|HRFq4DQf z6hg$kxIU*u9$*Nszos@x%sVz#QTqEQ4SAk6M;MBXEuw)wWJchAtFhXBf~Id%oB&B~kzWR%B?50=Zty)NW##+SuRvn?-;`6mSe| zXBH@9)y;3nngh<%5Q7D(F-(x=ZbQ*-Pk|9PU`!J0+DI`CP)UR_WbO?3U15-!A^4l@ zAV;&rGI+NbqKf)yQAJ&1hOw8$XA0Hy7gH%(zrUeSRX!=LGqJ7U202qc8aG78J5uUB zkfz#RGF)D|B1S>1G(KERim&AW5+y$U+YJg3ZWc8i07CerX7=dqb|xW`C!|&mAgdXbBK> zr^}ID))3C;UxqBg=c0-*1hy4Le=_4tu0D_gs>Aox2VG)oi2g-KKRiF(;)Za1 zAmIM+^HT$?t>Hxh7v{Ey-6svf96Dp#nbXe9>p0J&w?*8o+qK(GZC|&~fyChnLoO{M zBTdaeS`l=87@avfYh<4<*7aZ*4av;O^JK0Oat#X91+pzced}(@k$-+8moZIc% zZQE^&-y>!!rVr!O{Krt(Z7N}K?QR7Ex~&aGdr!IrkWsJgyqdX;U!cT?i%?R+sCC&z zWF_kBiBn3}u1O^#E@F)Mvef^FPaAT{ly_57APGCu0}hBhUY4{!+@4b4*E8arC-)gD zKG$1|`q34xYSTA^hI|f7`UQZOH=uVFEg-{#kYVmXW08ZaNj-N9zxUo0_btynq!|c>{&I?1G3CBdD zFEQ`mQZ;3DL<@>EnO>;TOhg=T&W{^YtJc$|j)|BjWQsV|YV>Nq=NVA0gN*3{UYkB$ zt$f1+v)&BMi8QYD1gj%abwnyN6sFJY*IER;@4uCp#$-pviSwz|HYNZL=d|G5B`VzGa^Q5t5Qv7-4h6-rZqtF| ziDAHXP@AL7lGlt;%csn(tD7rB=o=$#W1tWs>c_&0qYu> znFB9@*;twYh|DO{>a}xFDd``r+J4WVs4X0nattUa#GX-CTOV()_jyCXU=Xu`4U?Ko z9BHeVwwh^}2?QA0s|-aTM45LoK8(L_;6%DbnWu)=sjG7taxEij;A8v8MoziLj?yjG zLo&o@L{OqZAc(*nnHMOLtg~|Py}#}CNk!UgLRCuAd`fNiv`%5b4)+fCMRBf&Wr$Eh zL@9zCK1y?NY(^^utXy;#V4f-PMjJQ2-`nh)CR_m z+Ew-^BnC!vVan)rYZ;0*VCWhAsp{DgyZ)NDiJs>GIWwA zz>0=&95)p9gXX_y`qhnrKIzUNIKDs595i3YDV@|hO4t%ti z8^Y&q&~Mm>{imI|ovEEEQmH>NSbNa#8zQqIjgzR$&6fJKg=w_ot;qQ(YgWv}Mtw2)0rdFZa+rNsr@Za42F=}Pp zt8N8XUz`v=Ap?cgW{Lv!UKL)N75z$%$$1&rFg+kM)7 z;yN51HReGiq@SB#dw|k-g27(uK4&O2X$Y9>{u{r{7-qpHORE1nrxGFK99s5-AJ_mW0(2(dXoJG0wZzn5+Ns^U2!Gli8OTu-`BI5&Xfr6uNf& zYX(E@m(_{d`h0WZHThHZ@wG`3vG})jfPmMGEB9M|%(zDeEY5jHRvC?k$@T@sAICtV z9_~=`AlH$dIzmBP5gb1>(?zN#dmw0!L&j|_Inp%+rS7MR zqnm3}QjNB1SAv_BYO7z;{HaAl7$+t)3j~o~7Dg!Kh)8n1Tt9)J+vRwnrp)(|!KSaT z0$QH&!eA7I5o$bCU=Pr6R86$s2Sh`3UasPbgADbL00m4E+9`_i=@E7A3-g=%&Un>~ z7VZZ>*TUlcz%Pn$YAZF1)Mk(E5a9+gk!IKOkfG<}$aPW6t&P$HA~^QCuYUg!&#Sc* zcy2L(Zca7fo{``_640v`I_3=<7V8zFHlpgfmIPe{c)r<42pADC!J+zuAyXZjpBjol z1m};T%=Odu2~7v?JGFR3tYI1{0}iF$GXOka)EM5F46QKV(|C(Pg5wm$<-S@3V!y3g zUybXqh@miy=n6rKF&-mu9gk*CKLFi<;FS9PbqJ?pBTzxKuUg*MEK@r?pDF8ag=w=%Ysvg)guW^S2Gyu9y#cUdSN(y0eG+e=C!P2Eee8N(A;++bp_CNF;CUdl7a_3=&lPMa3RY zHxv}{HBBJ@zo5Xb@?t8J@!ev?f zF$NgII%@7^bTGBPP+Lx5ax~Qt{%%%77O5js*nY{N5`pbRJzqa-*|^4lROb7G428=1 z4u%{|&Zq63`93lU$f-*j{EeT%LU-&NZ+M12uuL=%d3nA*?KP=N8(9~^Lq zRPT-1a*Uzql0k{xp#g{G0Ef3FwDy`C7F{Et=Ic3gioLWJJg_AZTLMtdK!C!%s!H?F zpn>`>5y19hL)L7FVc5NMM!4I}P>Av(mZv~NJkQw+ho4eI_Bj$#?2iQcDG?)pX#0yX zVZLi9?A*_cebyLFLvJVoC>t22YtNiSym7qHU_zs$wwE4OrW$cLwH54tYsd^b+MYVY zLn5B|AD$S3sl&dG!;aXwN<01YQ1K_wqW}r(t20NjKNwGr*kg$7V(0S@2O6d!b`p*^ z_I=$J5Wk?-$YLLd;j9Fl@6!ZO>bBceS1lNn*ncx54&}EsZ!u*1WClk#Gq;l+$PvGg zE=8I*Fd^J7snzd!-eF`?io^RkKOFR0%K-mlp2!8T<8*#VU8;`umv@EWbL#*=?eNzL z*~yM|i8X}o&QQ#UnqgmSq)qbq|&(m|wChLAg0xdtd*KMv>9s>N4i-yd*ggb1kkd5}40K4GXo zI6O2w6f^K~11&TrlH<>~PpceKD12n@ahTaKaS+(BsC9?JhWb9|O$NKJQKF_5ia*~& zTRcT}n-dMif&wFf&m+LZf=EUgM~(%7KnV^SfdLpY8edn3R))Sg%}_X$nkSwqX5Qe4 z%0Z---rMRxdBad=-XI=GpI?4X2?ftD^BIE>>OU&}v?(OwPv%(dm8dn2)a^U7xSO|O zq$>d%+sTG-jGjg~-eo9M>P4ArUNq#uO!Jr_+^$UwIRi%K2dX*&f_@)EIR3_vseX(n zZT(OO_H|kmRW~e9F&0z8Ro*EHkt)7F&lohU4_c4hpxZAo2Rv}b^Fmu5-A@nHB6_9! z-QQ#guYY2Q`$rPH!?9PbdUK|_9Z)KT0i%q2`}TH;HW(`7Z#RVF&H?uGeFOF>YB6aK zrOb7+vY}vHykrQ=>qUk<58PnY`UI26DXpwybj^{LPMoiYL`Nn-0k5y-b;hahYUhQ) zYLbm6+SvZe5RU5`a%lqn$=fd&!ug(W$m-(G3{ggLcx%#Fphnxze4MV|bf`QQ*ig`$;drJB~&)lJ|e}*Be!1o_F6zxM%v6fcI z@Lxm0oKS#uSlRFf{g)A`R89N%QigCn-!c?pwCvBCSHrxijigh<6*xmgkMj&}`0ITb zr+!I;0wf3K+T(sNgQ(i)6@fanFXMTS`&BT&`~L>~C%4^%+Kz}{e~BUYQFpPul?^## zJY0}O%KH2Jd;5D7ka;vaF0nnGF$L`3M0Vh5cNz)R=jARnQ11JM`h|Pb4Ec*8{Qh!7 z`1{QbvBc#b`@Yc`0l@)kH#OvS7snQgG;IQL?BnA$WQJ6`sG;Z@p~R6p(8`dyK@9Wi zA(iC7Fxc6U+fyRWh`JA`jZWXMg(g7=CE!kvBC9ZFa23vZVuA=_kz^?kIwBP z{W=kUqqIuYY!66Eqs24Vv`b@u>x0$W7aAnA)kQ0aw!OB#A6_s$WFK_92kcgqqR@7b zfH46wm0ZO_;Q6BcHr4DmXRfJq$=l%4HAjpb)+rbn{q||S8$O!4`1IQv3TB1c%3Am& zj;~blaqvBnLdo9$jU5?a^E|cb{E#7Q%5cPPC*b8>79>hLJZA`>|E!^~11SZBQjg<_ z-2^j}z&Zgj9CK+DxOS2lFFx-TDE7b#B7bO+NL_wd%#c;=dF|R}Ff_&Na7G~ZqwHz4 zXFMSSBLlk-zXHdfBl|l65fTPa>hY^^oUxN(-qHpTZ3V_hj9ULa0TJdqB8((RNJz5Z z)(&o+@U1oEY6d{vg{?l$7E`=g8=x-Xo{U*tIqEa~o9y@h>*w|F>z~&eb~7fdlV4l4 z4;-&E)m|%I^#`5d1T0=MN0BLG1LZ^*Fb2HN;8PnVbz-M3qvlPmc9nsfAtTC>$j8i8 zJHwiSkwxXEuhn>?Hi&O}gNag4ta@BJ7uidWNv@4g0TIN+^nklq91bdhle%W34yeGW zpiLpF>MwdmK8+jqf%`-N00WK4VkK&b!Q%lM0y9gd?htHPCUq4Z)WK_6QpApo8KQWc zAAM=L9>x)e^=~?_XA}v3p$Y_{+RAm@DN55)3QX*kHdvoWP?L!;BXURky|t7%#&P6* z{G7IlqFlMC6pk3zqvyr%rxt#1--jcunp$_b38-kk)92P5ce-y-A^@|15*8L_)M;_N zh**oN=gbHh3?9*CBOpLSt@E#v7J`2t%z`>Xj~Jt<=^k+5_XMVtsq*JXHSohahGJtS zLyzVF8w-EOIB|bbiI+p?jxHOO+7EgkXaWavaA5#=&79QbePfYB;O&$M1P~BpJSesJ zPRc-$Nk@H_zV?VFp<&RjVJN7Lh&}x%)v!Y8?LVPD(UeXwFJQ{>oJ*W2X1@2$ltyQ+ zupXg`uNqFD$J{sCDiWxYSd`yqo&y{XGFGfV7(VoErUsGor%luG5n0Sss`oGmntPgi zn|pKMif$C`YVE34dp^FQp~(1N9&nj782%D7j|)W=c3b5h&+X%U9x21@>hiSdI@?f) z48p9yfsy!V3{z|)robthXBI$s-k?BGFqHcD8giz940yX@zzX5~pEHExe1@W=M@$#* z|BQ3)NcaUk@~$| zWRy*dwciRLAxaek1FPqZDb#kaG3|VxPD~~}f7HISUiH5;6!Uh9_UA7q@yBMaMAd8# zmd3+>C057xF#k?4gs(l^P-IL`FhsGrfN=beAspXqhyk(qcVxsp5Tt$0Guz82W`k!S z>E1y5$@L=1+5axK^;i3%kY?`UyP_l98(Gux)GGwtz)`{T~W%keRzR_71k8KU% z@Agfig;9jmUO#3CNBh_1b*?)rAk6cAr+^PY38*8E5skCu2IyZ73XY zx>PJ`C`t}lkFmdG?=}Z0kp7*-0P_sIF&QiX@OuWzZSZ}00Y;)nf-sa>U)oXG(n zo|S6)RjOTA;E_a+uaB%N1Txiyra8Ge#nxx`F*5rEKKeZj+262UVoh0U%;&4Sj*HNu zDI`Xz2RP9X5~bfuGbkC5L+bVq`>X<3arNG@_}C{YPk&cyq)nFS?k3T2 zs{uE2TD-8nF$5-F_1cT+OCY$RHN}|# z$8#FTtp1oN_hjS|g~K6&vLc27waMN-5lZ@sTEN-BWPp0@JrjrX=fS8o5s2LJz1F4R zm6%bAHGvpb9_XNEhBhj^=KOIum`5CQH;F`%Xa3;0qd7r@atR%2<0gX;1K2b2j0cWB zB8@C)yrv!Ia>{_eR}MUX$MZrY6$h8=p>~}JJ~ig3WEz0APof6<PZ{vg8%!?!uo zP^dY};ctIthykrA>NNJX^qi0hY)?0YVK^?}*c`ZuD&JeGHuE$EbWY9c{Ovjc>&o#t zGPl9QA!ye$WF~}b2SCB4Z!sA`l^zK|@BjcH07*naR9?8FZ%<*-1!LIAkOL7>b^Yo> zYsVarsX5>tKc}d@_l)=PN%YGzo_iY#4Ff$#)E>7l8e&F0&i_bNKD03Oso{PoF`)eO z)-mMy)m~&M7<njZ5^&bs|DCCRMK2Uqn(WQnWvq~w5Gy%+QH^;qMLD~b~Zokup`O$tp zFyKXN62Ly~LRUz<=;f{!!<{>2!J}v|bq%i@LZH6vFQpqRK>uqnvMDv6M z^A|?arwy4g6PXjip6z~Y5X0eJQR^fHP}Uk-+w3Q|@1Ke(nz7~qlW&Xx?kN`F4r^{) zcb&nf5<&v1E-tIUuZy(ao}O366A@t?IZ6q_9+K=2Y3>ZWr{^)O1xc$!cCwc~5t!ag zS_|qTQ@3mLQe+YzYIDqb$i9Xh>7^#@3w7IU>^ekR^;}1Z#m^ODPa*ah^lMeE0IhuNznT3 zfsDG%ABiWl7bsOj+XE3!0tf^Y2r#fOqhZAFYZ1WuSSMKP*HxD&t_;=Nwpy*rZ8EsSR-BphA@CG6Z zM9R4^93X0%sXa#J97Y0>E(`@GDhncxB>{rT)EFnr;MW6Ix3!zB8vze6)I`K|_`E4q zyNX&A@mH>Elc0 znvHGdDiA{;2S=F9E{<}Ykw*hyH962^a8db`0TP_M^mi-BVOd{luOF7fC`z~2DiJUs zqgi)Ps2LJaj1hU{{X}dLd7%WLZim7G$8%Gw@Z*rP0OGL8P zPSjl@=w5*+A!3QNGla6QjnCT#vhm^gvmo)jV^AUXhPV(Lr6_WqF;?Gir-l(x<~iZ{ z=6ab&1YTfJ(BEESemL&#P!gGjN-2u9i|A2$M0X8kpuGkV1L5q5oau(SL7OrHmz8)T zT|<2QDDfaOLJcd8s1ak5p+h?{rvgef*clEdM&$2hT|h*U=UxT@wbxFK#&EHG)d!2f z9RU8Df|uYB%QlhiVYL#uBkWGzOFrBJSOx-`y5a)fI zA5gbFV~F}QOfZdi|7}COzp1Ole#t=yW_c2|JR{Yn_U|#|dE;^ZLsKT##adr56d7z$ z&{=1q!EWMiml@;$99;yEp>#^Cgc7J>b_Fz4Qy%-wCorB48`#8{GwbKV30t z1oZnFa$u6a_Ac6rBLtHL$~PK1wrZB8b0nndntl3uqt^abLl!Y6Am~gYl`QykyS*Y!zcb3YT=9L_Qn;&GG$;wWjokL%o?Vf+pZI3Pc#Zii|A9qnOIVDRB0 zaI}%35HD1w-nEa=064t)xM|fi_ZbS2O&sCzA?**reYa8w7o|0~@L$n>el3bIGHz%! z9b||MfM>03s_(DrRzZf?UlW+YAHl)L@1Q*(U7CJwC^VT!XlVZ*HZ~OVjf8|4c-}4< z`x-k?j=5)~B_`;0I&C*Ok2f1)KqGz6jj~rH?&|wK0VV87zK`=JAg_cM35FT^%#+x} zE{;#uN0`|P@ViD6*U6FdBG5sbR00`w*RuLJ8Dn6^L~HsP0+b@aY{2oYOKG_N%t%QKB@R3DiG>zJm-aTQmGzAhN*W6+ff1e;N<-uj z(Eg1YLNBq<`rr;fVu~<3(5j#v*yjudmHTu}_C zu{CRAWtkACwvi#NYOMRIhD^c6(5EjtnLMi~wwhvU&Jh*#`BTqR)Qy$Vf&z}3Gkw0D zg2;L>5_3qIU}`^IB^k#aD(1IRO|gsYun*K)F=Vb$)mDwO_xr{%R}CrsmkB7jsG%}p zQF3->tsAQpnefd5HqGk*Vu}77kSR23qiHSNU?@cHK9Ks1LlL)C$krimOZaU=?w9V2 z61}F~9Tds-OoK{`mQ6o5HFGkh?N1EqSAC&MLahJxbq3YS{;<%n;W;8RLO_T6sWygC zbrIKf3Z?d4x?6aOl}e(#wjGB<2D#58IoOD^Me6suMJdNp>G`D_0qa*Rk=P>#8r=bs zSeExKR}D7p;U*54*neXGa6H%$jz62YapFda;#m#*zYSqI-rEpfpKZug@`1o3OeDUK z_I7G_*#60o9m*(K&=i54_ZdS^7(pgxdJVbv9WJ1 zHDZ3XHySdZNE}=i74(`8vk8GpGb< z^{iz=*M`?WX$afH0s+DP=&lX8MuD~ii@?JnhH$?&2nh3W;?aPx&P}^v+V#`I=S;hA z+P%|)T{vwuLwNs^hJw0%yY@o`LScaQj~n9pxJ$oF_`5l~Il5rab#F3+pMSxS&$pYY zo6-fluDihyK4<1sdr#>e6!JJPpC~j1VAjD1#lY9|;%#d0FoffTA^%-$+xm+fxQ9uB z!-{w%B|zLq9Ls(-L(%;~S`v{N670EtD?~3 z=KZ^dtbyWfOvNN?&oYGhaxl7X~fNEnefN zaNgKylvv=8a6b5T>{s}2_*EoCVE|x1G4HYLR_NO65s)1AgjKT?r5$iag2H*bN&oW zomuCo2ZkC?r#j;pbNw$?4&cib#bmO!42bk`K3PPAHiOBLMKnzjPtUCKfU#kT($nxD z&g~3=bln69_T^8s!1+K;TT_&BsKprOb$dh>5{^r1 z9#DG@b$5t&NDli)XG8udBz8>wc-yeyB?zxL*WvIKsF=gMj;tL4;NW3oi4P@zL|> zqM)awnmZ2=p@qQrC}R)vqj}AcGj`5YQ0B}<{U`yTKe{NU)Q0=Ig%$uCJEBEu^WxMr z<_+T}aV0O+VBKLoQU4nhczisMSW+?C*AR}k2iy@q=LyT8(zdTX%1~%}VCa%5dL`gx1(+Vs z?ZM(G{Vj?yMv<~+McqdNXY~1|&D`$|IWPiafIiJ$8>|{$7bU|XyU?Hj#G7;9>ew`I zpCXV>$&|!Hy%gcdRI_b)XUjZO2X9GNSEzhT{1X#h((B zerH20T}e!WlhkIpf-cKlVs!@-A|yb!N1nAqR-bST(mAVhKxZZ`z!e0*Dxp zXeqe3o0xyYO@>1BRRNgj_-&zDd}}LswIO!TNDdn%UeW|<{$(f}WIa#V4ITiJL*rtM z*CfVJyc-`WL}JZw59c}l6NBc-#nKe`NMYcc=EG%TPMwtl3*CK&TuKtxyA`u`0vZJb zuG+l};pfX4B!akioFBKvc862@NBT#?_#ZktY;;&$FXMiU78F_tWZZ}E8p7w_ugo&q zCV!FxFDBdYkF@UuCnGV&U|t~tx1%+xi;mal22=fiOTheD6f?S0s}})J0%6MRdntd7=$2%q5GRSD zc89v2T$~*^Z~IMVUd%tlg=Ksa@F^Sr#&1l$*liI#CPKNKL&l|g3+A~_G=wjmQJfgcel5#X% zlZHUH)?t`+-uHb$Wuyt{LA9sU2s;eN6ftBLgG3AGBjzcACTAkz53%24my#&MK7g@_W(=h;*ys37oG11SN3KKrzH1-AASE#+ zKaRk<&pRA_7#BGDoS(i2=C?CN2~gD9a{R-w$8M4R?}4AX1QuohiK*J5e<77%)FmU% zjHAQ>`yM-)&zU4ZFuYiRr|F1G+WcdAhp_0oXpzV|!{w%<+ zS8d?9-vlnm*ugZR6o7@`Ei)X`gU@`SD?p|S#f)ay{uAX3hm%aX{@&Zwp`}o_tE?k* z{Up?#Is==T3DYwL>YAgP%ERAt9xSkoH}As%WkG|QOutwn)BK!L8a6B_^n4y01>;Q{ zOEQmW5Ab(<4gs*bWPbLId`MagQ;ndDKtEJu=S* zsoG2zKUBunMf+e};F$CL(~b~_AF47XDLDMpjHCW9hszzbqawUL9vOB2JvG8Q;s|)3 zcTo-z=kihz3GbLn5C^Pj@h-9kB@R^4SiPWbIQ5jOmm?A`m2ARG}#_&;u z$dEEM8Im%my=`pMexLV$U-xtVuKQlsw*KwwIQDa_wcgpcDWZ);ZOyOUd? ztBZay@=lWVbMn9A`{&V&%rXo9`wdc@cDtNEX)iRZxE&Y|ATxkm8{**bs=}`I2JQqn zIjkc)JA@>XVVg#-jn*ZQYgCq`0zl;_lbbzPk@RUEwhtuxVvP@Oh+hjhX{;jP7Vaigu1!`reDpaz!o6eKl8^6-0wqXas$B zax)xLtwY_9x*v9F+_y)Wl|V6n>om>N&nuC6OGTb1^$-vM&YG`;sP_O1QVT-E9ktD+ zGC+?rj+h|SK*QSu+Wp)8D-u4|ZCdpdaLm}$EX~7dX6bxhG%Kw8-En4B;)06vN_|hh zb15jG=*~8)3Okl)IkiIi7y=;O&+eCI>3dEdo-#b8BDYim0JdyjmzdWdQ(_W-NphJ4 z1noR#RRZ&&tjp8y*DDmVN>l@KTIYnK;*wiZj!E-u>10a@fnyN*gOa5HYWPgDXUqI< zUow-Qc%4)!Dw#$L_buShEfQBLfcsV<1swZ%A4nnJ2)SQI_H3xn*`so-twY~r-3(Zi1Cu4y;hMw)~q7&lMG#cenz6Zxmh({wGO(92G8Bt z%l}ptl1Rv-b|S<{bH7<7iz)I!S|S`8jhy4@W?FB4slfVz%HdaH4@8)smwLWkPE~3z zAmUubKnO*DKD3(cXO>kSl4V4}*`w-yG&eOjn>vJF*WKy9-ktt_qFEXrJDO#cjD9}P zl0pCWoO&|3|JJ^+U*ALT>J5vCt^bc|J$p)t9Q<}A)Lf>J1QFz{=bBai0RFN3T96pN zzmmA&^Fa(yv1We+kptq1)?``=S%)cf>O5V(R2(=i*La0l;i~ZQ4(9`Mg2Yd#_>e#l z^3GZQMKH?%Ohbaq{-b3#l zRV5gii7cD7seZqD)w^wZu2ZW33KamLt+meL+^W1UTJ<<;VEM)v_2x&RH-&*j;KKtT zL&bxqN14DWvTEywjkM6G&2}OyKM$_-!cSBW;6c4QF%jUL0aStu$G}8L$BTiqq71N! za)Jy@{*HWI?8%R<2K*c|YMgg$9Vmf#|9j4pz#~G|NgPBy$~eIJxdgub#`>TTA#c^f z0jEM#1z%cq3^1(fu+pnnp58h( zK7YQ94_KGA!MelF!Vj4iq(ZRUi`Cf4;~@1@X4%>PVdIA^OpXvFJ_Oj->1(~d{@k|i z5iHIotjce$B)?QD|E?|}#|;M@NIQuHPb`Q7zyl0Hd)?s|V!{I(kwiIn0u@uB;j9OY zXA+CB{$6BOAo(uqD7iMy(*yR^)Uyb=ot~@rVm@P5B??JUAn!whN{*d7AW8^%&!^b9 z+o@*h^fw%AG)Vi;;DEt_g9CGq@EO)4oD(j0WU{vPjI6D_#w`7Qs#!sJxV+=H`bu){ zNl)k9-k$8Y>3FMI`u!7TRnIU8BOtyY2uKt$uc#34oUTcBb=CTTBL=CIRYcaSNJw#X zR?AA>J*nhS>MD!tdmb&U)Onmuuf`8O)KmLj{N`x0Qh{=oX_0I>$&)Ioo;YK@rzPlW zv0%drF1fwT^1n@Kh4A~J78%~}Z0B%99FpwNN_NuR!aqrlYhmfqZ(P>@=2vD#4FP#8 z)H7TyL9FtFBh1qC{Av4>_9ywd{??u^ElIq8c&=IcoNx3Me8?e(^O;rawboal*)v`@ zORw9&EC;;LTEIJF7qgrwcz*bN#m+DCLdf}Y0`|T_a@j3ymfp8qvg9xi7dA`3Kf){> zFET46j6k)!h0RKjcM5oWGB{fDq_Wa}*Q_9M2sBYu7;I%$LDAPUE99L7&h04KnC8Xz z1YO>hu}T9^E1^RDJDsuwQnC@vO9 ztXL&J|wFWlnO|5{eNGPh*hlXv|xBEkt){&cC;Xjrkj<7g7@%q zUdTeKFy``eaIPpo^}>r}E*;rIKnk}EfgXO;Te1LO;p!nkrB&?!seq7hA&@uDhMfvo zV^)>eyd<)7!=52iE=zWK@vAc;VxcPWu~QmXJ5`AStuO5jW*Lc>xi*^Bn>CtBRRpq3 z3O%$eq}?LN8O^-SJk2~+>k#C?lEri`1`sf)JuGLIj&qxpL;z|O9ymu`_dT-}nLZF3 z_*eLaRHjL=pr!)pAC-2%k&^4+!s>krau{)0+gfrK&$F$%4aS&{&t z=baWyAyk~xNJyVdetU8yn=JpqTT8FZRz44QefB%zGPtg$npG{__{*^(JsvpDBG(yl zLr|M@)wy{z9)x_IRCSH-i3KwdJ7E8OKG)0(3#iCK++pAWce(c3FGLqAL$q{7)+9)X>sHGl zWkF7ZtS3dIVh^+=kgj<~3kQur6$mKrgJg{i*{T|#^MxLI0w*R01C79&z=j7)MSrqh zju&SdX#GGcER|DhQpTCo0?0^{aRQ;h=SPwVjxit)J?YdYNLVw6dYx#U zU;@Qf6UI9eFrH7Gz)Vak@L?hJL=5AE3@d@QpwvzRL*{fcGDF543u=TEMHvzPUN|E9 z`^5PzJh3&!?;i^B=vVJ0yLN3Y!QYyl* z*dy1&x}(gyLli{@<*fSLZvuWQ|9p?>pg&$JIc)d@>I9VZ^aK6x4m3;0&zhC{-u&3C z=;3<8gZs=prm~B}$~fow5t#32R-k=Ox`tjm2}0IGAp;z$I-_3)9C|Cx1Oiki3H)r| ztLPg!@>*0pv|dB=l!-)@$f_qka}G=Z1s-xP*1CK1PChY&wDGg0x74bK9g>pR1y;HCT1f0s~ssw z{luX_&vN^1v%)$~!g6#%vJ)$H2jI?ECH0X6g8XS;f%-GRFd%2TOv9gd6(ake+4saU(n1E7_+->X-ZjQN+ZbJLED4kDb+e2BNLB@!g7)X( z(`3$ttOhV#$t?Z6h?&O62_+zLazP<|;4pErzh%@@{+yXu@z<)L)Z8EZ9n>UtGE4V) z<7Ac~xy39UFEvY_ca~Xt-7043xT9Hm{Uv540n}cd?3xOxMqr|ZF?#Rg$C_2^2>UE# zX+mOT=<~^vTRTjzKfLI=!!0w~JK0{^mtUwVuD|YO;WFdEhm;UGw6OepU4lT%8nO;l z;_D;YKWEYPELmE~AUh+G=80b+S3NPzKBVUb3Fb__$EE12bk zLElP%ZatOQtyRgVHNw{U4Jv53kSn8Y%_{CM&I7Ik)Dctw>Hch1t&>7vxoQv)bj=(8 zK3b)K>f?WbjHLxdtzPcWk?_V3Cy@*Xgb)b?lHIOm6$g_QNIzU5t^&CroJEebqot1k z7Fl1$v5 zT|m^joGu8&$g&?1)BHWM_4Bl}1_VkE>f<3JiA2lGk@fg?ARKmztuU6A(_D&tB9(pj)~ z&&up$&E?6iNau5cS*5cY9Z~{qLAYGL?jW;`tDOzpn3RqLn~)LdFOd=H|at8IF*X$yhBT1O*3^ z9&IYkTpvB^u=NtSlM!P;a{k;eAXQA12zBB4@;M{|2yp(Up9y^DRv^pg(_60b=BfoT z6Bj2`{CgyAWTLV0ve7)PO8ExjK;V9}AQ2!l4%j%Dppo<=kb9t4>Xl~R&v;_|lVAd> zPasH7c7W)+S_ZN(^ky>-A#)_L5i_hLCit1_<+-tN;ox#!Bti(#xX-K;VvYCf2kK2l zp7FtkNPY{z$?|THUmLqUT~jP8FE&9={&pR!u9bF4i74}=p55C z{e1=43Rp>?IJW|<%_8GM9?{1utjBOE5D3aK$*p6?a=)lqt_*&v{Zu-Bz%1>4SEwqW$olz)j~u4f0aLd&ee33RGs%{w`QLsz*w5pEt%_DIpKw#Gbb%^PiCR!FA2^#tf9jxbyj3JgZ4npF<4R05dyK;E4N{;QH- z69=}!|4#N?1u0b`A+yczFVeuY zz6_?AWm2}jb!4&L(d};QRRECBoAKO?f6w@LPAK-sh3ln$@wsfiE;*F?{buR?$Mk{z z@K&=@!5rII^9xxv$Cc@KmxVs{)X5 zBD^NCWR=7-Z04x-%*ZLnvG!)O^nB+utK?bf zZMVwu$4l=#tv9f!=k(aEnM5tCALPVSrRtLtt6$Z4pQBnw7s*}VWgLtro2B~MJ9%w$goG*?(`|S+*hqDJnVs!YquX5~71li;p z+uxfN1Q;^7B!0Rp&8kW;oIh3wnXC9m6kc4NW`48u_XD$)xM2NkW6i(BVZr{b*1Yau zvkLKw-$THK-$Q_^M3j@+{+C(yo3h-qk30DzCXQ+HnD~3%E06rB;s+9|PPUAng*py_ z9j$fvL9`k|;!Gk|3CLJrNxOCCDjNMsNCp)yKq~ou{pD;0Vafgn)E)#VKNG-l-#{ji z0ASx^eBf7-;KT2x@P&UmiA=P&Uh{qIrz9khlU9qZBUy;&czuMv#~%4usps#L$@$@D zM>6-=YRi3yh0WL_KQ+Wt&jnd_&Wj_zk8uyzGg({`e;*SDye^RSO)B>n1OJGuj)?#g zBJ%Ucv)jH{kyY{=zEJMMF3?(AkY}wXjO2Zsj7WOfkpJWk#dAt#HYWfsuWpzsnWMFm zttn{I<%NtRJ7D`(4htk!kZ7qA<2^d)fFLfIt@3d=d^UfN#s-8(XNR znggNCF%u#sP9>aEWNW@Ct_#3*FUbMFoHan?tLCXshSXA^5a#K-#pSS=IXo zG!RFLj5VAGs{G+NS(u$G*-D7OMbPeTR>nV$s|UpN_KWMqNfRLt1(6{K8U#dpLH}F^ z4-Ot0m>&2qlBN65zN1~bP4i=L=irXPo%y-XJE3>afSb3dviF^;0|}Bv5+ziuM92kiF%96=whm4?&Rq_1aIGUz=5&4v@vJo$UQZ&4KaL zuA6L~suF=-F=_|84&>W%7=K7%Zy(&7?7nh-JXZoI^uvL==fGsk3gRlR2`azshkJJW z?#I21U%Qc64v6~oo{HNKd+4%r{mf#Pj$p-w(1D$MxSv_&U|TwHZ9!7MT|qo8VB1(d z*>|ggoC1XI|B_vsj(_RN;izx|bszk%nF7lcFtvX(OP{y0S(PXfIU<3LCu)Iq-zqk6 zxEtUec(-K39#an}>O*iBz^!zLS=CD`D7FW3syJp@%6C>Q@6Vf6P;$M#+rHbOGsypv zW`zuN_)D|&^X+Eoc(hsC_U|&QWZxi9rbR@Ei>~bv1jCKYq!w^_k;&wGX8b(aC6)Z> zsmV^O9C>|Dx4&7Hn9(``sUa!{PToi&m2qeZkPWn7EnXqHKzayaG<-|4`6{``pY*LB z9^hIU_yc7=jg~eOXU4@!$n0MH!|nz%`J2y(^JB59wM8U*PC^T^%Mx3&iId{p;x4(f zRGyvG@=eL+P@--3O2-}Kn+j{F|gG#Tx&nqR4U0sEJ`2|&Gr)nQ3Fa!Ecg;dZCCwl|;YxqtP#W zxy!LLdu|!#r>pdU1jY|Q_g$@O-hzlc9nkvN!!Cq^%eZoXC@c}EN0C1ob za>AZ0Sczgs;Nf>tLC3Eq9+02Te&Gd6k@t@N$E>vKxtu6|2HZtd#_@lnY8cmp|3v|k zmO*4tNnAj(9=X=IpZKi=@VqYetVh3`z&Aqd@&EBFEQo=042XFhzmKY2v0xcx z^-3TOB4HvDn%C2Uj?5?Xkn@kna6R5iL189V{0aQIUj80g`=e}NOax4p5Qr_^JYOBh zbEW&8h0HIr-9A+H>KSYD>{WmuRREV4fdozu3g}_hxiu)^zmq*zda>B(`~v65VDF+r zAV>|4biOT93dGOUU5%WEjAPCR{&%&20g+awp9Rtp2{_u@^c$F0Oy|);LQl-UR55>~ zCrz==%&g~(tP&4~iO59Y#)}JJbWbnm)oh}`f`ziMF-~M@EIs5CA^Ecg2nP-{0fC^e zV+#tYFi#+DLuCN@zqbZRH%AZw1WK{jC&((M?Xu6*Zy<=;OB&cyHF3~yMRqO9ZOokE zdodrmpHFJR_`5d7$MrMNI08Vw4_fd;%fU=6>3lDo0!*;UdVDxv5+_tP_*|YxgxWLV zfV;{8+Qx6K7TuN3drr(dMk$K>eggOkfOYVRM#QsZ@9cO5=h6 z)e|-JWI|TR??syA&kHtmK_vb804XPVL4cGCxgRR>^l%Ew=j)T^p$Ghs zZZ2h3=^iVQgJVSC3$(QTaeH2SUY>V7^!w4CJ>O-lxPPjYK$2T9}Y<%;IEDSO?#t9Vy$n*>vdvry9MZy`mD#-8Xebx8py2D=;kZxZ= zKlywRHaJwTX}x|(^XQgrr3dpavx++d5<}@BBZJv}&#aITdP2$qqX(2A`*MN0y2B;M z7M6L}0k>ZLtIPAv35RE@bxZ*S*Ml71V6nlXgGF;CzaL*(ubjjTuAYyZWn^B@Uaoc3 zRMt&r-DP7}F-zC;+rGEHecr693~8SO0#8r4a}uBv{uQ&*3giy1)Dif+ZZ)%#SoGdT z?W^rFZI)4Fzt8Kz4GQSbEe<-BR>;X5`ErR_L9{Thy0s){xMeR-=`9-TnN^i_kuQ3} zT9t4osiW7Mc`a7%ZZ@-Y{O@G;ydIY98FFqyhBVhI@hB2pdVG;V8_sH$j{A!7&&<;EU(zfmRPwlm6(3Ty9H6FsXtMv-I~b zniT|M`u=1ULQMNqx13p}0>pTtS9{fDs}xpxPgK8>X^;EF)^*i7ZoSaUSNj?BnEjQ& zn$}OX*3g6RZ0^XLid>eKrRKM0Rd2U3x$IKy`(#Mihi}czH;%0EM2R?c9O)*Ay7$_% z?z0b|E#9Wnl;SI z`jrcJZ`1hunb`9WN`GJ2EdBnsJ;KJ3E=mM;tM;529$4M2fLQmlxu+-Rbkzam?ch*A zO@)?TkV}vg3yI~3D$N)Fy$~O<(#^c~ge6=t(E3D0oOl3^B2*$64-_H;>%J$> z;B;70exc@tw|wCLXkQ&IYF1j%{GS4L=gfdJKnN`NPeFo0=1V++zer+9hzDouCs745 zPX4TOF95?pJiq)hoBN+Rj{A4j3P`+CTAKTRj8FaEq3>`XM87s7g$cN|?)d#Az>O+g z#6zr0qe)t;UwQ*BHOSkiRdHBsAs{X&h1CB1CrbcuB=PZNC;*d4nT#7?W^(w6h=$1m z{{M802mxK^cpml(tD^hv$`R!YAPr)`TN+>%y?(`ttm`PV;;^(!n-zz{d)H3ORvaTB z_!lO-sC-XzvRPHpB(o`9a3>$4(x?EZS>CKT=w8{rvd`otce$@@C^M7X-X1#5_mBw^ zmjFF-qxWio<$kEb(yVM&J*b&0);;^M77|Y&0J&EM(OJiVLi3M-{iZ-lM?!{$k^p!m zhmeyg>;r$e5mW(7i)g-I9ssehlF{WnbYI;OqDP9rmjpwQvvXC08LndR#=4jModt~y z;kW`Z20ok=kY6DW$3$fVh%D#aFUA4q%YwgzuB*r>P9#NS;)Dgn19`^ZWSKXvkMY0) zL1meQ1ixn?i1K@69)a8kt_d7-e?R8~1d>3TN~FkooD@*c7l^UTPpKjt*>>H*f}9W* zUKVnClp|*c2`2u2u_JAA@47GCsvvnQjvS`$46_1#ZqGKWbY(RjSU;Ml%&O-H2^_M7 zY<%e41NCEEG0v&H2rBHA9FY@wK#8MDB2sMcE>{H9k`00J&iJ4OfafnVuH22dHAFCJ^=>c$4q@O-W2S3p{dBATd<2_0|LuVb`dY;=`kl zj6SLgj0K42n5EbM!>l-X4%iWbgi0rs`{sDFO1_CV&_X1KlFxOd1)Mb6KZd89l}g;; zXJ!?tpfMX9oSyr2X61XEm-|HYX#ZaRi@=S96|#toOIK-Nz0FI zAsrxdQ^jidxLNTNoE03IN5=iB*<7B_KUUKxii<4a@a=5EX0GuJwo0t73ld689QiA|dp$at#uWlQ&bo{tk6=-g0 zmVQ6oOxz9U7K9TCliaHHH#yX==|0`50OiJ_R*_pl()!T7Jy}|J2gfEeHudi&JEICv z^nRCTq!j{EH2I;K#Poax46~_c{x200&cdH7v|g@P5|N%rCP1RlaAdZEETQ#6J^qk4 zdH^J{I_Hc~!m)eStOPn z{u}!If0hI`>uuhJU(a%SyISi-v$t7MMe)S=&OO(GC%!c>)+~q;v&uFUWS&$6Mi55MTEAi;NS=X3Wy@-^~yQ^A$|ynKUn(N z-|;soltIGB`(mpo2^?C`q!NHS&S)94YX3%khL#yxcxinQ;@SNL{0Gj57EMUU#i8Nr z76@hvW&Fc`q~JlpD?&?-^WNg82$a&!Vp@Ok*oFl5d-`f zS4COCcvM_6?g7$UGtYWWiq;P#0)GZRKjXkr;UhB!RJu*dn&ZqhXvAMX1p4qGO>yi0Tg%5pa z*Gqm+4;`eJ&oi3Gm{q;e3aA}A&jjNE|4|c#0fB=YC*o{@m7jq@;6Omgf=5Q_X*s@+ zX`s#P&#li?;>f;F5P1?GkV2^v}2|2FV z^bp|FQw1V{&jotLePsb-p&%11HeN{P{Qgn#r00}{o%^63de1zo0z=|r^f9waz6f?( z5)F`JQu$`Vp_fjwb@Z^pjt_~O2eJwPT@{4NPUN!SAI~9hRE(XFZLIr&Sp}t3#gzcP z{gYW?2?kp2vNj4NoQs6#N#cV_fC8E9P+wd@{()Sx(NTd`AcG_9pUZP+9x(5b-IG2v zoCHqJrb-iz6iBG%QnU2_k7x59{}c`+OUIYZ3JD9-jPFnFI? z=9tKVd3%VNNc(CG^y~;FWzU{c^Cq)g;JIX4QuSEB$Op z3aP}9aFT2=aL#U=Hj_urjdur+os$5{Zm| z)-{Jz8!Pw6MB4ffk)&O%MA-k9^%u?vkQF(ANc+QJjb!i1vRD~{&$@!D#OTb?8KX0D zWiltM92p|c2P)m&0cK_1!{N~U(X1q#bMJi$IETxdRRKO^ooe0UeOV4M-Pd+Kv-JM0 z`bzt74ztpt#qV)on|sWv3axsFb0T7|(vsBKzft8t3AqEbzk8cmx=$DPtpik^TxT9V zcY2}k>3i=t;ApM&W8E z1d!d8QzubcZCbUkr`@D@pbQ&WG@%wCuEPtsL*fGhDEfs7M(wPkQ zR{1}xSAM7x#jXQyfb8#AfgQ*X5=$aCwAp9#FRN-DuU3PjE8TV~)Czz`pBn9%S^R~- z@x(X~bo^2ReJZddwm{IR1tf=!>sRD&hReIPny(<@2=GZ%-DFlhXVdh$qVi)*X7R@r zmxojh+&_i{abdHH8-#Jeeu)mf{C96%5wfY-tWQ{v4(MAIny>f!q5CnX2nir=6c2zQ z!=q9T88t0CYCZG>4G??$3voO+atnWh03NOe{O-^)o5Q{*w69Fbh=6|Gzf_fPUWdPc z$`VKxwP=!%aMcyK7VxXNJ~#~23g|6d_=EVDF#sp92BI$Va3A*s{P@KL{P?l>rKqB* zb#C+rv;PkncVMZ9Y?pP}?+bBGAnWtceNq{j32_lQ#v;@|{^NB)Jz+ebew~3}-Pm{9Dxs{6c1}d zKo(4-M?Mi%>32sH(laVfa1BhK$j(V6#?Oxh39=g&EHZjLR~A4fiZXv}0Nxv~1$b=p zY$bujKPE10r1V~r5ys)7LJiUZ#0Httck8?tR|^Bsdje08CX6?YZ!+=@31gvx6G9L? zXa9e@o)Zur5+_^-&y9)8#tO27`v_?q4i*ju5PcFVAX(VpkgZha-C1X;i16I$X(y0H zwvYK6xB>jWiglliY_q*tH4oG?=Lj4ibb>DW`yufYgw%Wa2&hRkKmy2u$8(D+13b6z zd>le2`JnFF?i%YQ27*aNKaLOF4))C*RnLkohAc2}?AFoqI ze6uRi$o>Fg0CFZ0a0G@RJWe&Mpn{Oz!7j}Etp4-;yss^3`&zqByLRr;zdz^x3qoe! zY(abmL6mzG1+jG}gC6mg1hET67^0{>W?Y+s;ylLNOroiy= z3K9%?+s~6-lFv7tagjqKfE(@Fj~7}p+JoCKwO^{Z2GqOnkXXoS;Yty51{u!g@V+&u z`#>)n*9|S=E{P^*H-{ul3G{Ybv-IMs*tR>Hl>`gW-|i!3 z6+5?89G9#RNNPoJ&W8Whd|ayEFHqm`O3Gv6blGyW#b}Ev!6$A5$T}TbP2k5kLtaZQ zCXiiv%iFYM)*`ZvS2jx4!4%VNE;VZo6dLmqb>#Te95?r&9OsWbewH0my? zmxQy}t5@HVV|VoaM7N|6891y$bjI(wzBidA7T=s~jRkSa8xc8wG~^*fp8WvsaV7R<)wC zZz}=r5Of2 zlBsmR_iVE=&%9NK`KST}oDZ%tp-Q{U{}G?iim1ei`$Gg)dnj>@U;223$Ai8=>k1vTz|0cYpxk{zPbh=xul80QUj^kHD5hz{`QljL(haf&|b6Ywl zne0EGz@Nkdfh~vySma^hq(aBQV}S5}&W{WnBs}{7?N;w9_l>|AZUjM(95EpMQ`avY zI@@c1zkrM|p#CZc_N~ekULbicpyyxJLjFEM;(3l#8h`H#5SguhK+YfEC-% zgWjW4rg^WIND7RYJlM8R~iS z1)mBx&zAs`fPsZjiIe0;^_gcuc$=?DmhzUKY?7WdA4fp*ukT54oRpA-j`0PF46PRE z;F39KVbJp=^A2=(Ce8~g^Hf&hULc@m{^8J*pn)WYg_rx!=fe)aqL3cUD@gkkXnW6? z95FZuVDm+dz-8~W!FfOe*%}Z{wWj#_^SpujlR(q;bpPxg?<|3GV{=1uV+A4S{zHmG z!Ul3j9Dm6Fc>aw4W3&1BdFvCE5a~-hqJa6w_fYA>F~Z@I{1@Nj6;Q1Ux#E?cM?0%o z3h=)-ICJp591v!bx%P3hbUfaykh?X1Gpl<3fui&LKz5)?K!7e*VsxSD)#iQemS%bW z=0r#iY}Z!LLDS}cX`bIaxMgrlL5vLEZI%PgtX?qKHraLx6pl>y;Va3~?}r1k^uG1_1WuOO z+oVz{QH7S)0xI&|x6IP1I7O3v#^Bwc_0<7VZ#~1itxHClF*}lyzea=qFcFstd zWa&7YS;bYOR#XB+<}C#f3J;J2qW0hwcoIOGH@=U-Jwe4;2se; zH3MRgpQV;l?`0R~jgw)reo0kU#8gI}t7!+Pc%UF>^Q=JAtBEW({YtAS(zJ#k55nZ%05n+Nnt=#LIIt04abOjcH0 zxhlv|a6Dz~JDHQ_M`@k^QRNRoO2~eM|F(?chPSIl5Pz0{55Jc4rbQF~fPxL2GbEC9 z-aJoNQz6k!oW*z{K~AE9eU(-uk$HQ?9JxRIO8i~|QT$O7tso*84>8~-?g1eXd){Lr zU^4E22wBIEj^uZfvEx(NByfiNptKU?qs#c+*vqrdr1C`pkIFyyd9qdrS_iY)ttmIP0%K^n;KIj?yA5&9pv#{BP*ggmH-jOWKeMkJCFyig5nKG@tl9NW1n z2N%aLWFDG9vQ`<@<*ERk-dY0xC|5y-P~=n|Ao0LSTqrP37unwc9B(EHfg*_oDw=O~ zz4?jI9Bw3u1uEGrfSfOZC=X;|aT4sVz?X$ALPd~aBLJsTN@W#xcd;jXg5~WBfL2gX zHoepP_K@w-_q6~L;NduO9dIVl+7Ji4plf3vQpK2!Ze0b+D~r64N*$1O5Fv7~o!j7A z^}-5T3<-^Aj3uu&QvxXTP`M+o4c-$LK-C$qBtCd9EbQvJ18U^tdsLdqlyV*g(*InZ zfOF<1gPB_hs01lt;pBMePlH?`Q;J#zvPzP5^WJ)7-hhS^=<*!7uOwIqkOjH-gjtl= z#L=MVt#BXovSC01`5fjaWR-&MIX4K%8#pjjsdGdSz3I>OazI|uge;Hq7xKZ`@TGt2 z;}^#OWDM&A^9enANc5;czy_>dSs>+P%9{(!s`ZTCUG5h;%W_<;6EXK9vi{KPPlX5$ z6E;lsqvz3jdA(0cjW{tDhy)pH|n;m3PGh=l|v92 z?WSgBT)8|UvV4{hxvjk3TZYu?;rE}!Ash=D?>L6-7G{D1ACoImmsv$>w5eI;=s}9P zR^LOOIT4!zm4qzI&zE^CmS~VIP7Y|j_4ic)1*!^4AZ7BXx`JXj5rgU;Vpfq@ao?>6 z_?;qkO!s~K2(w)I?hzew^fGe5=H>NT`fr&JsDMK5x+Rw0`&NCB4v8 z#^2wH~5 zCm4+jqg5bxebqZp&o(lp1bQGz3Dil{ucCd@!qTNHKbVR#Ed?Y1l#ug;1jt_!waA^y ze`{ATOZV^VX*_*BCs2Q!Wi2fcwq}L!!%t?t!QUdzlNyenH+~!B+aMQd#ofxR%wH4N z%kp|~AW-0;b&iA%1ugu94U}j%hJvpaUmo_6j>B!n8QjvP@;07C{0* z5`;WQ0zm>X{4xAARDF~XCxPLKGxj-1i)o=IFeQNvM-x5&BmfwHN&tJJBe2+`cI70} ztm70+2zc55xenqe5(BYfKbb5b@lgzLqv~1Y_QG!`Zi_OR@pE49TVHb2`$C0Ci7fnlH5I?b1UV6bHZda1TAyjdHzxHrLsqW4*8cdoL&)PfDzD>cxd%`F*6j8EQl<0 z1ja0+u~(gqJf0`4(U6nzI*Ti@2t>^*g-Ss9f<}fKk|q`| zGO`42ER6K>gOI>MhCF4%p1nVX4Lt<*(0*Zr{L2UW%{osecx0;t89`vqeWN#v@k7gi zGNOJT3CIF@qK_*eIqDg7_E)ZhaRcP~Q6VXqxC4<0vXKCx$6>;;;J!)!+85@4bVmeo z3$%uiU?4F-k09fW-cTysLIMy_P}%js5-9oIW>sbz5%yftUh#Zxy)4 ztemg+Hj+UXn?EF1$?0A(2eNwJKL2sln8&PBVwH9|B4o&bgu^1P3O^)Fkm@-J6pj#y zOZAp}Mx4Y3J@JA_w@;d-;~ZwC6538ND?PE0s)7V)?>9@wmCe%eUuM-tL_&@Ep`KQE z*X-8zWtzgV7guVitcC?Ri3Wy6NSx*%?Zs384}))2cW_?nq}zo zQ3id^f4APjgUrhF82s3*a0Re#<%;SwUC%;!e)hecYW)D2;E6)i5+rv8mw;FB-=##^ z^>VmzG#O{GHmld0gov})qYgnOPUFVHR|{bCKKGugwM_exBXRalW|h}3m=)RFT-iz+ ze|t%?ORIIp5Mz6(C1fcj5az2``sFBe7xtCgbnd<5EzW}O?`BotF3z6r4`x-s0ePX+ zK9IF*=4jq*CBsM z3A4gA(0M%C$3;h&;NIB|V{^7lZwirTwH`wq15Gy(Hpupm{;H-l~OR>VP|*AX-2Y2`Ub>-pM3Q zX7Gw~{vaN^tIX62F|A5ahXM!dUAL`SIzAx;iXjm$PUp2#vNX@zYs{4R`kUta4XP+k zD+whk@s9WbX<|_SS<3ZvFPo*~N@gXYNP+B+zzqKh{|1C7 z{sg_vN2K|6L`CukGE7i@mxYyo;;i@t%peN!=VR+8h&IMM2@Vi%DnNmhq*Ch0h{dz+ zlBvh!1e^!PO6>Xm#y_|W2qby_wCvFONWp>DGWHw(fmB#o^JUXs{?rRRTsHv^y7VIZ z^!uj!?(;_~9$q*ATK~DR&t@bg@dbez2^eH~#o6NpLMq!Lb@j?IM>wEj08L_uf`j%Q zFAPBzIEPtD*!um3n<*6fJkbLZf#;#tR7bFo0HE>@!Yu~6oIm4;`-NYQpF?4jgari! z{CEm%yq4_+ua+69Dn|To3+!t>)L-+xSJ4Pq6Ly<(bJCU@LW!yIL0R%~e3n z`v~ZGz-%x)*qF&=0P|p&;4uNf_s*q(&(C~bxKRJTC}+n&VBz8Yvj^6F{;o=Yu6He8 z^`Mie02;&tBM?>q?vP8)hx;D!j#vKs1Op3QL;y%mFoj`#ue+dc9stq<&ix}mVWRUroFAMLA5vlh z_F0j(IY+~7%1jo{hl!PA?k|41sxrC^?qk4@z<)}bdV-2Of010 zN}yuu8^6dsVOP(Ho)4)Ci&W=st_!t-q1OE5-=(m&IO=K z5AP@OGTNZmG53J`y`wcoCeOOKStSQ0m4m_W%?jC>uiH3Mm*twfk$-iWWYiL8TU3y2 z_2@z(2SA*~G&8RF&`}kwt~eDvhRBeY07HxF;)! z3J???AOmd%DImwXeTP{(USyVze@*saC2I)umLvO%)}`)HGoAlus$N$k-&?;cQ@iBfxGqZ$D-g{^W%9 zfsGI;9$*@BX210FoM!2GS+dKk)~jzN`?eC7U#d7UEHGTLIKbU5$#yLcwmaO0&^u7A zC2Qz)yHt)J2p(N;Cege|iT#@^B$SQ1w2rp3n<*igu5bLKW?}(QZ|xgaD2+yE}Kj7*&nTiwlO z>H8KpD~W*N>t+=RoXyANhjp8oRfs_)njo)qGCw0NG&#j<%rX~6vPxw@>v~qPn4@Y@ zgVgo(Y{j1iacGs}Pl$}#)HFVq%o1e3OLliUK4_Mn&y{8>u-dJ1 z{3+`&{s}D*tVgJ8kto)E^MV5Ym=d+k@+m-FJ|j2|Hw1@sdNAGyd}yVlGJcj>^_=kI z)%))IqmUZTcF*~4rdCDm`y_0=LJkQc0UO8%S~4JALq<{wPM*8B7~>xh=uuE(f7CkY zf7kx!@lI52f}{^lDSl6(gY)9|QPm2L0JtD1sG$~te~6z>frEXQfHMZvAQ31Wf(#I6 zh9?Bz&>}veQcdCjNa$lM6q37T4i>`M(yCZdG zfG>>fk+C;pvIin^B+u+IAPKnnoY>OaU2Qk zI8K%jpyzn@p1sloyCsBNSXB$f60Tm*-$(8zvVsJ#9of4Cvf;&$OK>Pd)1mX1nuM>2nQ`VPEtppi^DJ_99D-dA8TS(VcGJO4n;CkVZAkhIt-5h`_fboRRA_~+Q2gonNUdwr` zFPRn=V9uLfb9(FVDrN4UmO21{>qB>FzKqZ0V5U`M#+AraQJfrZeu1*Ui%FPBAO{I%IbF zJmwYo+Olf3`B$kBw|_`>Pmx>9EgBaIA@Nwn383D8$l*{6Akd<6npy3?TO}CPTH@;- z93lKHSx5FeqbxSk;^siJbUv$?rSm)6Osx!4OM-Ot=^m-Z{6(Fj9qY&6>t~zg@tOCR z=FMhR1x^(vI5E7n2V{uNcO&sz(X8?dNQ_cBM%@X72JG&P&^ z=W|!G-zi~rdTDL(K$}1ul?lcNEkhuNc-`CFujtiESXWUGpyfm@ZF#?bvXa%aaO&R5 z?;-JT>G@9#=s z50wDe3ugG61h5oTLZ561JIpB>k<4{-5=d2c90)DG!E>OLm2^*n3lk_yqBtsW_9wsA+ z;OD42kL-kWq+MT=8^!g;8%cl^69L@7*Yv<&P#`{KVsFQ2svuO_=>0t3tj}9k8}LF} zXhf=2T~B|#kt2bD!vaAjk3fh7fGU5!5R)K4FMTonp7WWei3W6@i4Agt`-*P(3gR*# zP$keM0YIS7z~%fnk4O%QgHK`sXdR?@f=qeu70-~^8vX4DIx(pGMdQ9@qR7f-U`F#lc@*EfxH?E z7~_X=iz9^kfqK+Ep}_M)cbmirG@H1&PP8qUTlQqbXe6%mPMQMd;ZD zF@o%w%SlSsk%X4Zkio%V>6DYC@^G#YJO@^Yl6yw?TBXH0c5_RDNW5GI5#)p95P2T$ zQ)U$e6J2jONBA5;;M={;s*04U0c=~f#8_QxTg}&XDo1{g+)ZD|ifpzotLHOb$cHlN z(`o6~rzZQ3*3);X*Zum!*3P`o+!1FLZit+&T0`Ie{;G0B@86?l8M>VVS7(b?B8P;Z zv-&GB*&Sh4CCXq~7bH2~zh!e^@!gS~|4M@u2P5!AZSooQBaCkUzK z>N0Sv(1ZJNvqE;~f#O+aO36TD`H7C^ZL-3nXCm^A~ z{zHOD*YB+LBm#ab|Kc8T=qOR^ssZvBTpd7xoU_kUsfILAGMO%?2Umm=vXD)J;Gu=D zd)BP1b8r^Xs^?^o6h8F%?*G7<1LBlG8}dAkB&Z3ffz~5yh`+_}`56Q(+yIaTife@Z z&*L!?H~dW800M(VP1Lam!2l9Xa-UuZ;k@`6gaGjZ74OJ)PoT?v!B6FTqZ}Tui){N8 zbYj3ATaqXHef&FqA>#@XKCUl*|9|>ijx~~gdPP1+p)KBb?hn^boJssd98F-)yo;)O zB(P%3JHO|s-;d8klJG{yHwv&L3t@yv#NYET2JVsNkz=Ub`GX*%LSV`b;zqLIaf8Xc z=)t<|9RrB(iDVOzl@gXoWPX5D#})(-g(C#WZ~{G3pz8rNf%q$q9O=(bGJxr+^w4)c2M8BO5(PYOZp77v4vhbW{R^4xLG{AoC zdh7f{t%8bzDg$0|013dn)dtITcuyUHB^403GZ?2NLbUODfQqKK#lBc7xl~x7aM=H8Fav(HZW=i_g4$)&Hh66#Y-vlJCMXrr35M=4vr4}2UqZeJ zfkXw5-r(k|X1TX{;Y=dHfEK8+AF5aSM6r~s zLhFfKL42vuk^p60AKYY?uJ8NZ!QH_{uC!g;EFC{(mR>inS!v1h9(<4>cbOH$*^C>^ z()-pnOW!-)Oi=U#3L?l!L+OQ9U`8ScvNjW;G#N^eHm)XMNR8w#b%!VWYLU;(hy!cM zc+D)i6;GR`_kYz)`_ONT>|8#N*-Gn3x*y3Z)_f~pJX#^}jL~H$wW@5a!1KK7Il)fP zzOPm^5)Y{B7Zk51Su~85(yRjw>9No z(t4nl4&>=Qr08AZWN z1v0oV9KnRz1^z5D=5SgC=sk%vFBGw#k_aF$Wjyh@_(PB%)8c^t1#&^_q9?o|6=c1P zaRLa681M(S|Cw3?VnQIw^YOV9Y$Gxv$`A7XC?}}TbD3dUZTOzpQV?4OxK8|#ARq63 zZ{*73`gndZ;HO~E^9G^Cb4E6l_*vgO?k8AhMqa8e#Qv{;o~-90k~eTe|5K(UeqOxs zWJJgiu~6fdpJ)5-56*wP(wiMI`0HDF;EN(Y?A;0AOJ~3 zK~yG?qk_+Z%Ru3C84y%9ND%OP7EA(55(X^%d_D+_sFDE7B#8^i7;#|dngm)BC)jKH z+-VazA$$VI0G0#{z1RF6G8hmdr8S^OL@XDMT;JjU57ia3P^FpO&>VRbW!=HS5O;NbDLR7w0Q+r8D3)_~#L=x6t9(1dtV+DG5DRMQ4gr+|kqZJDcVqw?Hx*Gi(m2{KPY87P&}`m{ zr{)RlYpap zz${(IbhAS4#=NCc&-kX*0R#sL(Du7#>E~~l<%;45GE(r0u`A6nwzN}DJZZjorI%JA z0y5T7A1uYgz#6nK!vT9R%L|peb zv+{RuWfEI@`%AO5o$Nlo$M_z3o$5( z25KFDHY)*wlOT&*C_jxu#Co6hwQjLwi{=E;LY5$ErZ&%8%R_fxcW-xJ;S@lXB9jDe zQ?(kRj$!H?|0oG1m(NsdP(Hic3(NlKaI->2>1_Tu;3P8tYL-6tII~J-SI8t}HF5h0 z;Eib|bFF|l1j)!eXM7NNbA;T_!t}q$-?l{1t!AZy*v@ZOwT9wHQy8KE#rNuZykG=! zg$gzhbrQ0u6^YX(lVBcQwL+0tKDGId?Gwo>IL!P4K0Q;5)v=s2nD`>yr`k_!X|1tlus^r(M+Y~QhcGa|F+#6n&X zPMUMg%IA8bhH=e4OiKX%5S(eKi;(cc@1T;-c_14N(hh_l0XYFR1CGFu!XhNIAT30O z3KZW-ir<^96sSP#!NsE%6c23iH#tuNd=hAkClVLo=#YO95V2=oEh0W1;1-CS0Wn^S z+;03nwwA{uaYSq#h_ZsQKpYFvoImHsF~*m~%`qW?9~Tn=#7)F8_~)Dl&!6ij9#OpO z1s#yYAV1-XBO#;pZF~aDKNm7JkTN{~1|$k32Dq?zfm3IK#P=0=Ah+=b5%33+1ZQ=R z+yvYpZVVL=vFv+5MFuNon0TNuQ9+`C2^upvfwO?jm-o~&5XdwUXseP2J7%+$deZ4d zc{T*FBskbOc%ZSOJc~Y`%#idh{klmsPj-dF@rJF}6AY0v zgYm+~N1({~;d@w6;)2L?;rBrGfx?TU!N~?S-n^&V9LW2t9zS%E<<`1f6wgtVjx* zSIl?*U9)t&(=4kFpG8ZOTT+q~3H+S|?2aV@jbQ%_>2UBj$!4Nw83A_;Q?N2g_It_5TIToK*J&C0&+EgQ)EDgjBQF>^~CS2^0W7^42exYB)f#GTY$;CO+2(2;6C z=t-CjhhazzIA#3#NJf%hT2#Li|3s3fSl1Di9f{%Tbb`pdiKX`92bBd@ipi zfy{atE8+OjB(5OMBSAoX8Y}J*sg8deRRQpuiO*sJAtnMMrvTp@N$zW>^7J^aY~J)e2dolJ)#4wF}`xxhM+ zFr^B3Vh_cO0g3?`1A#9aoCcgjoMUeYpGSqBiNipN?DFve5h&AZ4n$CuNFShF&&(O9 z9)ZC7fT}aF*jVW42HLrvD#p__pa`6$BkGyN*+Q=eP!AqtqeR35s&u?VZ0p>2u0OUy zK(ZIfE+XsXSddwa&n?P&FmX#Iz5khjlL3xHrA(CTNk>Qvi5-#CI5))HdR?iQ_vbyg zdfkgCUc z1&alO`^)cnZp;@xj}4UhAOwIT6$IV%g@lD)8_(!#W~D;!0VDGl2ag4uK!N!HWLxau zo>@M@ta32avq#_z8IsROAZ}DXf!ZP$3Y1Zf2Xc501%%z0Og-n1JR9>7nIP^n_m}%f z4~IxGwSme_bB|f2YYj^~Byn&N zs8<{4EQwav!KQ~1^$QXfkS8(j3B;B$lLLQJ{{Gy8L@N@U2A&Wi@gw9!vsSZaV*!kM z%*XyP`fw&QduH@>W)T+TzWbF~)_>p1^xvD!%t|kK`;u8Y&X&yN52q!2zHoEUYwVl} zk1KKWxn2g31WxlEvkJP*`D^?F=>%3=_=N9OPg)2eeSl(!DQZ$@n>BU>wI^wS^BuIo0W>YCzix^ z?g<;9z37IkvggPWjnBbuW~HasIYtzCflwNrH2l`k0`eV_ZJ)U>{?E8CAdBk`F)IiN zC)*Sf$a{1}B1%id@HDgZ^Fn52-Ej^M5J~EVZ?`imq<76v%+lw+BuKI!Il z3K_^e1^n(H$Nf|?q)uu^Vi|t{)es>cM%$XD<8EeEf^upz#ab*tP^5d)lbmrr`rhGR z&2m84bFyqHgN2iKp@8?=CY##l=toSkAB4(x6+c|7>AG%L>dl_;k zx2Rm3A-}!Duj}$kuJ-e8on&hlRg~^(v%)pOcr^wG<8a8xt3Ma0I}rJd%h|n>WmUq+ z$;|MtNZcUPr@+r;Xa#}y^~sP5ixs392}{&+fQEZu&$@2o;9fzVe^ZbvGx?9~JE;7C z5VOwyzvT0NGW#K_+#(MRS#DleepN^xv$*O(@{3NaSlL-$Opf=$(n8^?It2J1HPe1{ zR#6#oZW$|6++X~eOm2BlA-(kLQ{uq=x^???%q!~}H(n4>qO4h?uVjxtr2QU}WLks> zs6o1c+#@ledFU-9ic>%^c<()=xTXqmT;*r}-mH>G#7~4f2!BoqClc%)$g{5FpX1L^ zh+u!9-~+Tj27-JZNHw??b5fK|aBO0fK)09Q>z50RD3%86-Xh0ir~;CsO!(L=Zqyi3%M47%Er`nN{%??903d*(a;^#B z35O`xz{W;Pz^#4HSo6uAG{YYVazk=7eSmYL==Ep9DUk9&k{eEdKri>Q8Yujo8y?jN z2+W4MKMVi{IM8oe47lE@df-e59ykFYz5KD4CAM6=I#UnLMAF1KaLAzXd3t`MXL~u2 zW+e~E`v5-%wweGQ`11U@-WUK=d1K;@CXS=@s=Pq^_mV*2bAgoU{r>v*iJhNJSwuEG zp#YnJnDInn=&>H6)O=6@K|ojlVe$=+`@s0-xq=vhjhTeOWcL9Fl8jy?#pJoNFfwnr z4j}r6Iu)~%sc5m&`K&^yPW3duJ=G^Yn6y1szD?Og&b#B`ByAzo$oxxQv+83S7UNd9HQX&*LfSl9R}kDufust=Li_W+XSG?S zy`#OOVw(o4DF+0u1rk+`pfH4mB^+{TG#zg+t7OpN@U%+$qFKJKKX1kr|zPG+x->kHPc%@%R z0B12rc2Hz{!*83FUhr;ivz*ZEA;rJx9pv^)?ZK_d7vzVphZ_Lv5&uUio z&CI61a^|YYko4vRt$Ws5_B$nJkFO99>t}r%S6gxNPUJm-z>Ac%``zW=T;c2yl{{(+Z@Dxrv{e{G-ozdYB0;XuaUNB$Ji{&uLX)P32aQ@lk7*xh39_ zPw^gNktNi|Hxxlu%=`qdB4)6Nmwo4x&?vzuj7A~#Jxe#I%*~^n%Q5BL1Bnk8& zbtEB8i--JGm%S88=Ga|Iw8IgApF=?eXgq}(NUx(zxBNzW)E#0^rJsPAeTE7%hzH0g zLENY?!@lf@U==uBeFy{w$Pf~iaI!F7nAgm60@&lTmBfq!Ur)>_KpS0URwb73yNLsM zt|ah4Koc0V{z5*;_ygJx#Gdn|P(*y7)(|)iMyHq+|0($=ubO|t`s0;$$ecM}o>we@ zu@8~>g!_R62L(TV*7Nh%Q?TK4i3ZpV@r8Nx<^Dk0X^5xb3_%1#1wusoDO`C;sYP=;$(3@gV!;S!~p6vkz^xI3?>qZA|^C)HUyURAVr8)gvd}i<~cGT36Sa8WI-Od9_IvPf+HE$ zGONB1ngeo&Oey4cI1FTZRY`QxH$n2LP`Kl+OnAGaSw)J14zM=x<|ec1d-dGe zFxlX^pMKs{{t+$cwcjM$1ZJZN3E84y>+F`W)XoqTj zWMkL7av43f5V-1uAmc9A36x%X(Aly2c-0zqVb6A+)d0RO zhX;P*2w*<7x0sbg$Y?>c%HdT7ion<9AeD&l3O2HH@{g)0C<2S@-h$s+2Q)9T6b2f^uJ+$x7l;D z9K`gwgZ0dE;I?|ZdS;(bR#oUoI0>2N98@1POUKvEau0dtK4_ll6D=f$yb>k{r@PRs zN?`8ZSIE1)yM4NS@-bO~szZ7=`jT1tc_4W|t#57qmyS1?RTXNHWP0GHeZAettcfAd&@q|_~yJ&1rhgxSEw1+3dlSGa*9+J))v|5K#4vo!N`58MWfr$ zEGI5{5=&bxj+AVoaWCwbEIqGoU9%#iI6A|ug36P?Q!7k&t69~PPOFt1Q754_riil( z6x;8sAn;wAY*1PQvh1I61zc%X_3pDz2?^usDD$1~pO@g1qfz}fb z+?2ouDFPw}`M}Y~)Y@``19)WE)lpKae6KwabhN`&J00EwYvUTCFC&t_yMF>nez}#WKyZw<7xcKv01c zfO`N=0rqPUAkpu}{|}W=4~&Jh!mo0_94I~KiQFGZMj?41=k)|Iey0-r?q5^+mj4gA zwm&!dXYBJHAmT@eYlfB_FU-J6#C)d^p!3IHg=@q8SXu$_OGpI3`2qri@s3}>edYY{ zJ4wVrQfrB`?Fv@~$Qf5jqaZ^cxC*A#DV+uQ-nyL76R=^_8u$!kxL*Z24dhJN$YF6WUxIHHa`}sG>P(-pmkOJsOii9OY)|XeMd%mhNzEBpr z>mShE)xd!aj7l37PcD?qIe{-+0Av|v$b8?^A<$$%GjJHd3>+2=AoXN`2*{a01p?n+ z|MMYX6QTXQo(UOc6K79PY4$47@=OSfIr6-1oIF;wHbnUfGNLS4Mve4HbzfNcHQ_vg z^nNW=5fVQPTn3C|CPv7#k>U3H_NpT&`r`|scZd7RbB`?(K%Pic1u{x9n;zhEeT*l@ zB?*_vA;5iOqohJhCXm({0xDDu_#D26aZDnLj69H8LG_&D0*ES5I^=8UEd%O|Tpkr( z$n)fwA_q72!E7^=MIs}4dA8C!#<(XSR%Oi{Zats&S7z0G(E^=&oZnJ@-yCaJeJ|si z3^*GU<42Ia(V}LR0}3gapr_q3W@Vg#T%eNdKU3kC4mODa$kDv=rPc``qD~e^Wq|ci ztsC?hj?OfzNV<@Fd|Gma1eiZGs}gmrCy+}5ffj4>*#146GURGmrQtJLuWAS*m5twL z+RZ*t*uCOV5lNB48hyhMcrl1!I7R6sAaUix|I`l+0dIgbG*fzDt) zvr_SOy>Xz!aunMSm{s?U=b#>9AgKg+%uC1^Gj#MuIgTgEK|MzS{3d$+!a}HAUs$2hFNhBqhMw{gWLaDDeh@ zY^QnKp3;7&H4?-RwHvk@mJ04*9kX;?#4P>(-|chlb9w#B>p7KUUk5>efUJ3`nchsV z9Pb}V?c|=G)X?S7rVFya$mne&OZ3cRmVSP-S$f^8W)%b%HuE!@Gfj15@cF^Mga1j# zx0{t#6o=NTFyfB40v*G}WMm8wYPep600PnB&~hNN6c|7R5EzLSob&f}Sq}d2PO}1q z?>06|zyHbbr$duJyvwYdr{Uc);_X@mM4HDLa=%Vhp;Tby0f8LE%qo6dwSU15FO>jV zx*U=Yq;E2k=Rz2dt$pWv; zw3lO<>En<*?|y8^p`1qCA}1;`0xaFTK42zLB@qDG-JbpWnZvIsRRV`ZKl?0X-T2G1 z%CCv)2Kb@)hwSSLz+DAG30n702*9+DvyXKTndNqk)m)okq7{h3KD|n!hL4HXT3zlfcwJxxGoZPtc!}z9ElJ~5Q(Q0H#uU3gahY; z|M9oXLQ(u(3U53w;)d8-PCQhQ(~t;GRIQ8L0MmnxeADw!1ORu zVbwz0%xPAUlu^-VVIZ&}p+G=LAjHo=BNmpL4XyX zTf9#o3Q!3E=@2*)ob*tv=QCy0SvX=wGU|!4FpvO)Oon-=aZkm}Wl#hOZ|*azdcf5? zO7E`sHUfoX!-c%(2(wBbm;j&agzcC64auR%@*EN`=pQ}dejb5cy*bRRl8cn%?&}ld z09I&p!C@hW%uEZfS02$Jre%TkjRYkL7C~m6Yeeb`urecihdiFuPjdwo!~zvTIjCN_ zq;ju~wfU=A)lxtrH9*NckS5`Q!@~MQ?o@C}u6c6fa|IDr?3|dJI|r(>~MBXm2PRqOFbvyC;!n3c*EfiVG|lakWJ$A`R=a1+N(+ov3}-bf>tOdivvl0lEIprd%qp^C zxPvHo5MU`W;p!TYyy?DqK*qeH*O&Dd#~Su_AlP3ttDY0&luDR%OC~eY!wrWU4Xx+? z39}N=bT60{h`l4Dgv`q1hZmI!Znu<~#?3Mc5bmfPWfIfus{|bAx0BG8Y6ct)zK#-r zY>>k44Kh-t=VVb}CA$=;HV|1wM0`I=dJ-V2(gEt`sL{gHz+ao(#>^Srl-)e?e>M4rXQkIpS3a3lF%EC&WLJUz;K6 z@2_;og$Q%Mfqhf{HXJ70cM?^|V7AwoRpS@=M(w*^aaId&M~0IC03ZNKL_t)*XuHw2 zIRSK=I7J}+JwvThYV8<1Pk|~374{1fVfbOoXn)3!!ru`B&jZdMWGe+h{0=^s02=aU zk$1Y>Ay9Y7O)u&$?k+BJvZFIcXXFI1rJZ*xEg{a`B0ro2zWaqF$Ry{<{_5w0-$;Rp z#02|h;5KveOs#{C#G}=M^#MPO77ig1ykZX00jRx>-m*+!O;0`Z7{8GDNMI>$3XpNm zQDj^Z7gTB(V{<=su7%Tk|DG(C@kou|>&EvvATJ8xFu9tY6!u9sq z%0K*e;)U1>q472D7eLSSH1!@qsszNJ1)Yo{0ePJ`c=-(y30wdtLWUUfH8M+Nnge8c zra&=Pbb0V>p!aDaXruLB@kpk|2Ep|+AR?IqkS$0u_(#Q)o*y9Rv&&(QBp_`3OgsYK z1#}+;6-?Vt58)-ipBiK)SfB{lpV5))A~ObrdtH6b6tDdEP-=Sfsd%e0;~N`^DrC{< zO`I)cXrJ{Kk}Ol>=UoyI6Cv`CisWz^eIDbgoL?lz=&zUi_MjG$Hw)7Kpb}3X=mV1U zj3<&3^86wf!DOtO@%cX+I4R~;#pK?8gL94s?ilhL9h|MkOdsee8yo= zMJ74+$*PJDq=am+^e%!tV4jhAW?f-nqz9AUH{{c(Xps>Y6xGReSkT$9sO-|?DYoD4 z!)8^5K;%KNuDgt!P)HXltT;+!?&sC~$FT#VDyVpKjakLDU>o5;trnM6 zEh$zx+dJLwwYv9pYiWa9R4NPmR)N&qxe2Vaeh7(@99grm_I|VU`;*P8)&sGXL$<>> zurSjC&E`R~ibPV0Bc2BV0s)ON&t&cyRTy0jf{G*S1nZ>Dj)$~Czp6^&Dst4XsajIZ z?Y5rx-IDDthhj!y&vz26BhAYEqUY5snMyFZLqmndI!S+Bou{q3kCpYmT_Ra}-(Y34 z+}d+Vdr8ruZ}#ka$CGoO1D$SFvkVE|Hba6n?z61hwq-nZr<$eD+1@Pu{M+uf?zdH| z(dL=X&Jq=w^I&kPSwT<{2s?xuc6J5SB)t6kN$8y*ju|^D%&K`x`A267LJ1rvWf~iWNK=S82h@Q;UtVjt_e#zmG0)C z=3vt)&y<#FeQd7iRX6;;DG``k8`65&-C|Y}PQ%sA(zy7dSyA=ydBeJm3WgGTF7FBZ zJ1q(%bl+o^jys!`&+$aC5&)xPM#qkhEi!e;@j3LIeFBx6cbQdz29VOAk1wXb->9t7A8X6eV% z%}RjW9MbP2-g@_!o=kDH>FC25i34|uND*C?XM3}9Km0sM)Dd4OKz2kVg^Y-(1p2N* zkXQKOFyQ&&uM_y;FXE^1J_2w8e%1>T4nXiph=TxtY!4(8EeVVx{66A3o*VuS2~VCg zaR<)_KQmO=ecdDQe|DlD@1)Np6bW#n+#!AJ7z`^;)fsX?~fJf$X6+w3w*1}n2 zE65~GOn5NxxG&E;8RJBmi9&MM4?wObX2_`Y!>-SS4gsQX2vp!N&uf4?GXhtG9Wg%ugn|9A@`Gof`At;0XAF~ZvL_0^S&rMNJ0i^ z5<1sk$>!|LF5gCPE9V6n4JsZ>n^hbA9U><)Rp#p|NSqQ4-BD)MykowBa1a@oZ*aU0 z@-aEYu!(!1r;V?<-mFRl@H~WMaMDBt3a;laN0Gp{JH@Od0)U)5;^TlGBJU(Q^um$= zqGw;Eam;TgDg3TksVsTofQl0H0NE;4Y(Qu@5(qY6^|E_HjL%_R*)v;#$g7f01sxKk zW?EkX_g-yC(U55*;h{jf+1Rj9={QHSH&vu-`CmF-Y$jIrZ7aDuxIQ$02wcX#oNcUq z*i0=Y<`8XWCWq<#5&$%3nN_{%IMT4hqiO&*fONr~{alF!ujI->>~1itSo!5BIw>Uc zP8A!MCp*k6y>7N1A(4T>TZ&8Iu&PHHoogz~C-*(y!`+hYuFB>oD)KMWZ~sSWd25bN z_KmWBbe}LQ2(=8|zEW)9uW9{#r0n0WG9k{H!Kr5HICrx2_qMa<*mV50S(OMCXEIq%cfbmY{k7Ha!A@=brEG0JDlaLWvRN9z7AI#2SbMD!*``c;FVeg9uDh_?wX= z-H~SLIEz`4m9sjhRXQChfNbC=v_3u1-PhfpoTG^@HYr*&GR83ry>hC z4S^DY7~BF>IN1-aHD%7KVk;6mmltKdF}caBDw0u4JMOLdG-oBVX!HE&jPUqiMtCeR zTF~xqcV~B3cV|xAUyu{`sDoT?mRo3gM35@vX%wxH#}Us5(oOasDzyAlVCpSS^d2*h z)Pj`70(W_XLIi$0iD?C%%{R;{zm5Q$fQNthT_T5z>Rm2-7y=YNtNdCL zNytTxn^g&SeGZ5pap7$Jj3bWRHxdDXY~9K8cpZoYD*ptww7gJ> z2O^K(#OLCVg9ubY)m!I4{t@R;$cic_dLGVVPr%K7OJH5Ml256A&(Azp;)XyP?g2Xq z5fUCG0v=cV!24{J%~I{h#2tJO@8f>+y#)THaM>qv_`b;L7Fq|`zx_O?ghK9Qa`ePs z5kZgN$dULgwl;$d;7FW=-_QHBK8Y-Gs)`G!NUA>#vf^XR}+(WW<0ayLM*(E)dTb<{wBY#wY@ zK@-IaO~uURWC$Q7zvnW2`W3~cpF^Ss?O z*(U1!PxHn!98ATbJtNtfIq=Qkmtd+E+h>| ziuMy`#i4C(HA|l}pIJIyZ`+=Nm{i(8DnY`EBM0JY6+u%u?|=4WTfPn`aPi8Q6142k-7mVU zx~uXrS!pftRsed{#XXQ!*H>2p?9|etGWbfeFP8)uiNn!~W|gDM{$Rk^-<1FtGCfBQ zKq^NL=1r!z4f28 zlu1tP9GDY3Y6VDpT1HHaZ9leMhSn8IjGDx(Q*vekRV--|dh*~coATugtr5D^F zSw!~pgMG_{Bg?EI;KYi93gksW09Z4Okp$-Ti1i7wO(zc|VJ&&rJjy?$>-}ZLts(Ut zR1#>B^#Gc{5Pw05Q}4wO@|W%h;J<(uR0{7AsQLpqWRRIkI0f9u6 z&Aq@&3_sRfRp)5VF)y39CWDFOIt_aHCYLbUZl1Q;?C#E1f! z|FcByuHRkYi14^^0XhUTzpqrCwNL9c22Sf8R zB#?6b21rI%fF!d^qd;H@;js|`GB71>P~vt=;B~3IPM>EZTWiYBii`=&T%Z4BfCWU` z3@8PP*$;d7nXDn#Ho}DReH?xFB_Q^FCJrECP!+A`rItobI>yMM`F_viv|Q*Gh*#I) z`^UB(Hkg%iGbOUSZ3{qP$Dwz<=7WIW#^!r%Fz!=epA@BHMyP>2Gl7r8^L|!!&9k=K z5K!iZS_{$jd%o1bGb2^vLgt+f0y9CtIOYF8zoabQy0Pj%u7kgO|! zhk(<4J}hj0eMMMD(I+Y>v!2w%(iSiev&NDmw|Pg{{Q8x!PAlO{VXFw7ai9PH&YL@T zS`U~4uMJx>ZB?5n09MOL%YyhG3UD$ricS5{h}{TR{31ZuWTK0HPF=5gJg zd$xH!?Y%8*{`tCL9q^*|G=a8qXtNfRIAzTzZU6k7S_9ilg>~bfjE%~$aA@_5P9_QQ zw(7&2+83qLZGXy)7{Eq=S|w*0C~kivEa%sG)(m7T5eRks2Q8HGGyi_JpoSk2ww4-f zuQ=P4*0yNdlf&lMSI+i|RQbQ<`uj%YeoYGimjEHU7R-+Nf#-*H`*>y`DxfkCv_DG? zk=;+18t%%_Q*%EhwI;OhN-?#)qrwlz`sJ`rZ0$#3^Y3q->h=P!zs?Ni zbFwD*uxP;8m2%|sDJI67XM0O4@mQ`u9jvM)R}25=VIAN`Yaulywm%oP&YxQE)avu^ zOYJ{P6m~CLN+)(VUx2U@5#)e6$NJxYc?I^T-<|D2otk7`vF!MT~|0%l0n?njB&Q@f0EKL6=fVe{*& zW}5@x=_9j!c%Em6AGpMUOLST$fTr{lrlZ3;##u5KiXlN`gLcOyn@3haSOtdvE35++ ztiu;ITY;|#cpujJLje8+B&+S8TI50drj>Hsykp9x7EJk{$+W0IQYnM)p$U-8l2)4X z_O`z+8GI#55_oz3@17FYL}wdwtpaZQaWapJB7dFTk-H;1#*+-AbB!PVi4=c(YL@Ql z9+M?l0_4i%s)={*J~)9H=X3(p^|MTL`Zpz_$e*C?WgoU5jq2(cn5gQ;RmmR)r*Zdp z{F|(uuXe-+b*$u9FBQ07|?wwxu>+0Dv5~S_dfi62JoMu`8GNt)hO5-#oMpJzfscG6J*AQa=`D*0SS@w#snwSSqY`w|EkkW&kP4rdnz z17N{@j%@&4->7!!`%Un%)?7df*b&gK0sUFjHaP+nXrEI%4xc}jy8rGhuVed-(+B1Q zCW$tbYPfz_;)2Wd8CPu>lS&l|15IPV!KO-u|WzL z4l0!x=Oac4=70=jw&5vi-LHnNnT%=!=pegxvwfS(hIKWssLGi!DF-1bi)zCQk<4+_ zeye~48yxXEnF1MTZ3{7LI23sxm&(740}854n*GUvY2FLKA@4F?o}2GcbE!QOhcN@V zs#T*Fjp|8tU&+Aj!@2;ThK7tgM#&X<_{tPe2}#r_3Brj|f`>CAG5x z`~pm62sp$Lb__7%o8p`EH7@&_`@2_I=h#}e7$8Y823(=$SLRbjfl74(Jg!>}YN<=- zLAd?-u(hOP`;^(9+-cXSVZLlwtNnd+tNo4r|Kn@ms_oI{uQ#vU{B;XpS{tlJ%s;AY z)Ah84$+3C${La5_`_;m*P}+l0AS3w9uUS)ZUn{Ywv!u-FJTdkFX5D zubhr`XlcAVtSe2(eT_p~-4Ze*U0sl#y<}eJt8F#XyC)}eC-^jZQatg(>o~SHcMo5?ca-MHm&3Y%J5~Fqi-mRS;m2&AwK=9~ z2OPCKs{4G7r-0;thOPTlF&y%~q8Vh%#HJV_G0^FGVO^WGGqStE)5F&83<90nw`Ev! zKPsyG3v)j0Z=Kke+Web#nQ9_o*$xz=qMh4c%YE%lx!=$GW%O{^&im2!SHf06NWioC z-sbep>D~8pNM-6WBU>V%0+JNjtUxcBeAD%3o6pGu4-A|C?hnF}B7e&j;HVO@)E@Hp zC2mJ$ox`1N%c^Ae?u#}B(a{P}Y0m(1^S&Bj{lLsP|9uA#YBP9P=ilwR{WDI_2d_Y9 zb!nmgO$1g+#OQZr;H&FG?U&YHo?DwsEsPYUE(M_FJ~+L1(OB4=cS)G+ekZjWBo;6o zbS(gwI%mWO{1#$>GRZegO_dBl3Mj!mxocS07SFk!C45bR88#KLglC&}>Ue5q2N z%oJB!LJSje34dIv3N0GvtvDzB@TyH$(&D;kCuHD@0aMJ~r-gM15sUJ+?|I4TYwdR(seuk0qz2AuL52`fxw%8K^8Iu0{H?wX zWo?uKb?qd7lArsve4po-0a$JHsLGem1>|}#M2w4t6KImL zDrSX)6CRdb2udA4$E_R+HOm|=fx%e11<>S(3Dk52ctTj$N0`dK`9oAro3vCLuM7*( z)};7XAe@eP0ZvK{Qr&+0x3j&r1N3Azsc9$Wnws$|Uo=7!8|scGMCcl!__t6Fs# znmkXoFAbYtFTK6Y_A;GA2oO^f`k=5b@R6xbm2ym--7CZ9&%0q*R|1pshhtoT0RSlh ztjbhp#&|k>wu`TT@$`_{=Jj>vJ;GLTx)STV-O{C|F&-Yd0_fF^BgFtw*fEA0QzQy zqySTigmcpMDp|4a#RHhW?$3EcBu}Pa;5@eB6R2v}XP#gNIR6F4V;}l|3hVxze;{6S z{hsHj@(-Zk#}M_CknsMIYLA)uvHATU>&Aaz1k~q`wf;WuoVss~-MRccwo@P5qyri} z2d@JFQR_zOhxt8zpX(W3XR%aZnwoYBOGWo7Y;3#7yz_!4Mt@wN2H)gcQ+V2rb8EZRC zAc&R!sASRvphR&kSq-skfy2$_}>v!>bg9~in= z^S$Q346;D-SDUS3d?;GxiSac5WJuNU<@zmAOO6VMG*zIhjh_JN z@nQ4t9~;))KZM=9)i*cAbV|%mTc)fLEtPz#{o3hehN|ZAAMbm5YvcFuu$4+!nFI$| zI;a;`QzMSj%I*8xK<*?5eAn$nFN2Nd>lSRE7t z)vm<1WDGb40L64HIaHhPhpnQ570Bg&Q-GzC1&%~^Z$Q;AF+7xc8AMEvL&8>O!S*4k zM*oue>R+2Zya0rzZOJ^v=<~e^@6*W!`=#Y<~S#*!+5~umntx>}t4Qx@7P% zQi!G1yvmGf0nGpl6xFPKwJ&ae8n%A*0>(xF03ZNKL_t)4F;LWM{$bc!(oq5JDB9z> zzcFmxr%OyQ`;$-q5H^4BCBwQ*a@NLfpB&cpQ%^@iJIFI1HQOWezF)g)SL}TttZ9|p zHnd8bhQkB1^yd+)SYrG6Q3>?DZ7o4*6!4oiaj_4DxEM-&b6f9`>+A7ddo94ut20o0 z$NV|(&f4U?JSQTsziC*mw_jdMX*O>S>jI9Xh)?eh>$(_ZCjG#z!&)1;CVqyQQY8lw zAipUy&A+>rP$*5At}tD3x?z`XWV|$h?BU6Hxk>{HZx>9F66;H#M#;nOXT!SEq7PUO8~Mmmw?d(R%*Z8%XO820U)LV=@c965@1VUmfAFJ9(2HV0qxgGrq-(6v-m$U z%d{l;ClYXD=>vawp-6pDsw4Zp1bPxCtB239vy-P=HJi$usJa4td z=S#rq$4jl~<_<}P8{6U8fWK0uA7`!k^O^wI>^?2?SLU6ACg3;!EKH0W_isJ{0A%_B zPpIJ;xNt;^vgY8ij?J&J%Y)akt)S=VfV2TBalrI2F6NgF)&WOtU%;R3vno>xP}8Sd zV4VSbF#xn5JT`1qH?Bb7sD+x_sGN82<{K60aNKU!m8fW+m6@G7uu*=qJ)KNQ)!0+% zN0~&419)&Way+ZFA;+U?1oL33wtK|!UKG|nHv#=gVO?oJUQdY`MnHem+9s|t`kt=? zNmqglC`)zOej&iclzDmBNR85@fH#&qnRI(54+8HLJXY+xuPRvRTc2Lsa)n%NBH%7OH`*wZ7ttaax`_u0p z64nJCM~BV#^~SLIeUA)l&#BdfPd5!)pHpQpGw`X}NIq}1Vr1T>TgBr~Kk(^+y7uudEQ?4D5CKgn3J?>6A&CJ9W&x_R?#|0iqh|8ot1 z05aRhhjmPl+`ou3ZZ92{>*Rm8cAYnzez7av(Eg5iUIun0wx%?RI3FM_3RXg`{~KYQ zwupAH{7nF5_KDx#G;IFd)503#p#j#VrI1wr>FZ$~Fe1UB7CTP8PppZSs@3vBS5Gy&b+Ux%%LMFj#hL9~x00vX}{<-6`Rm`(sA;%zed0Ny(+ zC4ow4l{Q@Kt(}Uo6$}AHDL{WFW-#cq5!t6XQe`lOf{7=oF0S)eRWIQO1 z$UwTa;W}SOO+F;=16X4GJcl#Snpv;w9BX_=3jdjdYU_wperss2NaRj!KJ|Ln;Z*=F z&;$_dADAMaNMsS!URxNSZ$6E+&8HU7vSd_kgf>o;CxMcZ7&YGlCyp&(#`{MGf(=XU zGzJ5)KWg&k8FgTyC5bks!8PGXzCYWt^8OdpTT zXY2m4*J`I5P*BwJ=cd|m0vs)a^?;62nFpD5imA~mb?@HQNTNUowLEHDU!IieXNP5N z?XJ_V2)z9Zxi6o)tJMsG?zOvq(%LAc2wWp*Y}fq-b$u_rSbzKq6Zy6k#I0>{AP?04^jnVSybzWl$Kg@0cL=jKwYQvKW(oUBH$=Et+Z5zD(#jq|@^|xX3 zeSd8FXsE;&BM88p`;CC3?VqQu%!E>-59;vWcLDjM!@B2s>#&uvcOcscZuXY_z`hl; zKIZ-Qzr$J}u>^$M(nYBbm`>$%hml_o%l6d{35T~eU1&Dy2Z{+@( z^R{ZM^IX#Ic=tPD>p2SGp&2oq7`8GITPEX@&DS|By=Mzd|9SV$2&`L4%R{=rha;{{ z+l9hfJHN|BJHP#h>_6B3b2WhS0s&A~KXr~iCdFN5JE{SQ-`Z)DeDVrZwJ`b%3lP!T zDat_dTVnQSZFAgr0e}K1)Mf#$e)E86<18bXjEHI@CvoAt1$;$!n!9EDz9ZH^zqBc+ zoD&-aKslff)-m_&Z@CWb2jzzXV$L1bjfZYf7>0Mx@4fos z7gyJe1oSbp050`C$#`^b@2(xzF&14v<_CYtyuqLwMXm*07y=T10#t#uc8b|1l^E^r zMqw*JRsK!37u-BKEa%%@*6VT3mG*-YHjGB`i^N`*a@BZ`wfEu&0Vr{9)N%K(X5PH> zI*Q$4E{czo!j6n(->;qFkT9(II4~9tYU3x67RW2f`9J~;pU*&iq}I~}0I2X^N0Iii z24AVE039IU-;Fc>jDKgm#_RSy7!EWIjJNBOI1@*C&f*0A4Q&C>b8J%xkVE;`<%q_F z5+e64p33jrUpLrOz`xOb@Q+)LxDfi?$+LZ>tC1J@?aN?ttTA_k5PrY!DdWBByn*&} zskPw96!rV;1I;lrJ!YtV?>B}vYh#An?@cfR$k87W8pu&zPpQ<}xYh0gIP`y)30fD_ z64(+A6o{J`sqQ~-vS+Qe_Z+7jmqX6l@3E*^=Nd`?#(@8vUcJxX32YtcD>A%XhlP$> z^UYHIU&h_Wf(c;Uea;BL*m!J2762fCD4&f%ZIQMtD1gM;06zd72bIsYuzjzM5rtam zgPLy}v2F~m6OfRBAWE$aJ@KM?{>BqfV8ei98h3~*$6N*|+q6}e4eGxFNE;6-8fqd$ zb1ZG~`~e#_I1bLx|CmaB1(;d8RsnmCi;QkPUk8_rf%OdOzkE^~@3&AM3%K(9jo-Z% z2Pp`n5vY}jTL!w-m)Sg{m5>2{QBiH!0+v*pHjet-7lmG1x6Bw<#+>M5mO?b~wVQNe zUI0E6NtrF{*}Bcz;bKexA^?1u8Lq$|qMi;{l_FuNr20RgwZybA0*uQO!&)iJQUY?L z#Q~aLG#x)3-#ONYWl2&5I`3@l0b6N^%-HtM+q-P<+~&=4kX>>C$f{p+mWXZN6*j;A zC~SUxd)V4*Cm|4R1_`!BwO`YONXM-L|7>Sir6Ov>vu3!cu?akA zTR43$Yz-VMQzJ7Xuoo~V;4BcUt`w4N}{`tIN^ZWiVtn2fgwXM_V!`Agh1Ebn4 zo)9+w{S(6)P}9Wg007%7%og1TULUqH4yyeY&5IOks}ch$-7>Vvl!$zHWV~CR^Tz4$ ze7w_&iF5D@N!9$1j%jvA$lPTn?8PfUqi=jvmPc(l@xEGb9Q*8x-c*;ryaE>ODc!yc zprYdVnb{Zq4&DA0MCUhWY0RrvCV;k#`yRKHU>&$-b|-j7*t~7rA*{{+*;WT1ATXb8 zUu)d}j-KCtbZRpk-ep>e{8C*96sM0NdsNuE-lpe-b>l#U_S0ca>!wlR1@-{5>7z@#K<7g-9PFR= zzdzdd)DVN)`*zrTJ#PzJDd(j@5$Dnq)^%9VM}lGw2Lpg=Udji$QU-|ung2MA-_>=4 zaNQXIy+A_0V5?oPZYC(~GTgh-LcgN+auB`PZ;+Kg|+Z z3?d?d#F3+?PIT3&b2&u^D-f0N;OF^IfXcsAnj!9@IRmH?IQkrZtxPn35b(_(z{vG} z<3_9Jf?@Of-xStmnsXiivMZ3LLEySaioF1urk8Fl0{@fpdOthA`?J|4=9Esu01)lI zBw+Y)fB=De&WmFD_&ZeoF|Y>|c)yIhxKKPe0xmv}Kju0{ttIge@o~>#{CoH1`^L8E zqjn#^+VdPrCH8kBbIZm-wC{Y49K8fc=Shcon@H5T1`6^1Zi4z^2&r0=T!6(O2;A># z-NF<=32?Scd$)7U?2m!{_&U~<8|X1}eNJM89P^Pnfg%P$bzL54I)cSuxNcY%SbC5U zV3a`p>xYtuI*_iF;&O*CwRsijCqlpb_9FgJYVY4YhZ=i8!YaKV{0sRxBU3}*YvZ{YP+o1!x=Hvuh`9_Rif3lFE1Adl4D;>Z z@*wz|ROhwf*$8Qoc#gyXclke=ZvA#sOsPbBQYE;64{E||X%7|rWy4is0vI#DlA5{s zt+39aA?|kju$9VQB2o4o0gClGYINAhzm%e@Z%?XaKJOOrJ!=&K+q^Su741SvEe!#s zC72nR$*5ZOze_-bc-7xz>BIxW+5xr9Pwfr07u*Z$0>;C37jA8|9GnSsY#z3GXfRQ# zonN-K+kPx;e*JXV{Jwt=ONal`odd3h6jF{ElVV{_qvCO$gOUJSiRx)b=s8pUep0H` z>k^RTxbKgf?c4oj*gSoo9hO}Pp3-Rz$hcXDzTf@lJ~>@JtYgY(D+#F3cl;N_)GtrjPW}C~*041Ku9kV?1L1dcevcaH+?O{$-27zR) zo#`TB9W|ebpzlX<76`54Sc{lu0$tSw#`%+76{>{fZDAeo`mSYuR%SG*+)Yd4XL5bs zH0S4gI)*?1X-~@Ma<27x7Ii=TlM_42xzahzqGa|c8Qgv-tN{-<4~B{^6?-?B?fNN} z_gkIFV+0Uy?8HfPe5-xmxfjZH0eZT5Bv3X#v-aGk?}l|0efxLhe{a%>-P(tVp2g|% z{Vsq_0HFe4=dX<9ox)bXq$uJ19s36d9)rUEnfqo@|C0gO0>4jmez1Kk(gfG;x=Z|5 z3x!tTK=&G@OiI556mL%|xl%m-l)#;TNMsNIEfMkhMdWnfr8BdCg)AvZKWlgV?nS#7 zb>|{KEtyD-sqpKa|Mc1v57s3`X+i?zO6ICt3}8g5E&qXE3COoTln$ka3})Zht)ogS zU9WNQc>n+!G|8Z=QbPW;fZV=LRCmy1DyE0?+j)=yTlup&4h49mMpF3)qq;jkWMp!h z&!aeA>DY5TM5a=u`80&=sYV}I9IeWi|{D?j*bRP?L%J(jb8^^CmHuAN<5rWei(-etN8 zKT;~rsZTr6z_Bf$g?|nz^F?u{j(<+ney?L+cw!o;%mO@_bPv?`L-1wje6H(se*!!k zn9mcqUMd4qndqzLtA+jfM4)m4N3*9^qkp~JXg-(M<<*4A>#GtD4yh zssv$~=%{qs{SjaM&QO{#YBP8aN*D%J&H6moDL@?ClNfi;OPiJP`I@))4(rCBBkF!+ z-1GV>fEOq@kjD}h3)VUjNTk?e0X#R$O#jd~7v;7be$+DuvCs3o{JnXRfj0zN-`QHH z5aRIwH9nrd09_^~9nlhN8Z{AYbZVT4`DK@oI?${Gr4H1fM+)Apn^h*hRDv_3s^5B1 ze^Y#^uHXD{5SeEVl0?`y9}8Ql;-!LZyix5kgCet}Hn`dV$)wN(QJb7p?A@P*t(oeg z5a#pISH6H0&sjHvtZ6StSSA6W^3`NmcpjclJ};#jx-V3hhL49e3g%K1{E#^SkBsyu z!{*o5g>^OISqd;+W9c7Xr5X90-S^%v>|J+n9#P1yYUxv*6&JCtFXHjL7n3>c?>4qHoR zHYbLyndj}@!{*n&3F|}>Wyqop*yU23?5mv?M*<|%2g7oGd^~}Mm_I*S0^p)_-z}`w zHz(S_f3TYqoc%e{tyARt+#Q{d(9cO47^cXnxM4 zI`J}q6;VR~YK-zN5?FbEG8|r<0Nm`rPd5nb_LVrzzSfD0CY5;lWQzG^*9(1~OS>Zj zU;$l;|J^;Tqo)63W@1lB#!QN^?fzg9fh!G)%;axwxMW)6X~gr`Jb$U_FBS5v*`D4y zy=8h!r-mN=-JhJ|d6!<95i-#;ky|*h#p<1pMJyq9K+pSAsS zE?+SNZW-bG?d}`Tr~Eno!1pt7p|K)xcK-5*01~>UU`zslh#zKq(h3X(E&u=`%E>&g zQWt)ceVz7EGT&O4hu3!6NCI;i_uL0d#E(D6Z{e3>Kn=`;&Evv4%D?kGRsD6tDD52p z0%nCcBN@Y$Va6O*tIz-DPxD6w>H_Sso7$*~PiqHYF3=oH0tBpHB~}Eg&QE_QP&IC@ zlb?*qI%-S-)&%}T;C)a#Jf)^%mxD1w?iElVfS0gx-D8RRC{pO}#2tVX@2yJ-<& z*p90Hp34{?8JD4(Lw)bq6+xmLplAP4YCe`;i*txJCL?-(W%~OzV(06Sg*>Qf0#tv| z3(a=H9I(%K0fdPO@e6#YuZ0%CC>a=4vV9IJ%QwQh%$yq)XhO)x%ynOy(D#QIaCjd_ z8Z~1OGw>NOL;05ED#zO;yJZLX2s1rhw?gSW=a@Yt)%GoFeI8yGu5Y_=qMByH~1a8GV(Qe0mqar(i9gGgrYb4`D7Xbk% zU<8%OI@T?KI46gpx+x@Jg|cs>P3rtXK!d)<>F`uH0htNy&a%x_J%4QwiK_Wedle!# zdEm@$X;Tvypq09Q9x%195Z|#s$q*Pfj!#}!)%M#LGUJ4KKt*5eZ)GCXgwsCAfC6(z zX1TR?iDhn#6yGcal0-v>OSqG86fSR6V{zy91Cr4ue4;urvD5}$NadiR+eVNm$Thl zGIgdehGpr&f2CUb^E<~cOJQVWtKFuq3>Xv`I;gkQvXh!z8U`t1ThAr(p?6tpe7AoT zmh16lO}#&?v`8AD_1qNiI;5)zLj~5BQ#-*Fi7Y0{8^StOV*3D!W9~20C1<--W&&@& zG88s%p6xANw;L4a41~8Y3+wi?+<&GEh0U)Qo9&_<&}V!|Y>0Iy&6^VywTD84se=Ev@^um+Icp!HAJX8GKy z0ia}w-$M*H+aK<3wDdm@7$AUv2F$!P{j}4&8fpMbQ2Xz)mbTRSs+3V*diw~*nf7=0 zZ&o6lRU(uOkzxR3ExvZUMBJK~;2d!79WvXwlA`{PT?YF;%~qffBf~zW{b-gxOplx% zH9a!BD!jA-miG$4vh{`k#g0mB-lfC5z1VCQ&H4AyZhic1*jn0Dj0zehF}qGqprGrj z&_qY?x1N8kmi@BbId4Az$Ylu)s`u_Ga{&32wqGv}yz|bv{Jtz9y!$dwN9JzLD_xOp zkb$mDr`mh_zW_+U!7sW}Qt|EEYW?}a&MCF;m<~#F_yID(n0NdmqR6@gB%oN#O#5)2 zLxA8~ul!@R^fKMaY(uSgZf}1jY!z=6zm)$^%o7zq=U-{!2*d=+x`OG#WZYbr(go)Q z|4RVOuhGU4V?ilgY6}%`F3=Vqxo$uUrUt+7J40d(aAh6vLopU43SHmO$G-l~yje5z z%lr7>qw4-UmeQ#TK+Q9OJO;Gx7UT7dezo(K7~UwRcMj_N#Sn0R{+&N%oWv{qNF}kp zN8s)I#1B$qaE<4A^6yfG zzCLHYk7c2|e-Bu#lt9bxZJfT(c%o*ZG6~=yMaI)almT@;Yd_Cr{QO>qEZYUub2rf} z1P6`UIJLIg^a+$X-WEcRm~f4v001BWNkll_kC?Pyy^IwRm(`N0sAf zIY^Bg3a9Z^LvNf>x3o{pe#1rKJ$C8$t!BCa1P40i1+gy-3hK8U@6`IJK+O6?L3G{b zqjAiC-~3b9TDz$$0Ec7qXJJhpe6}t#a`R>@0F-U%w*Nb<0~(ch5Jyt_p>1f2s#QkZ z=V~h^AQ52Z^==LeTSeNow+`!6l2LL$kZrFnInRnqW)1A!vpd88SZkP3%+(N1dtr?l zdQ4D5OS|FAt?x!LTv}VMN6gdU4PowodCih`k%JQzY2D6wdnYpRwntwMt zc}rWNLmM=?9LQf!hxTW?8gU17?sruD=RNC)mhr=A$!-H`x_6fhoA37#VcA~n%AIOH z?E(9q%$4s!jRm0PeoCZs`>e2)V!pd-*ct$BUl+Dgs#`7o8D0CSxch(a0-_kVr>17d z2iJW?&3Mgk)Yl8P;;PCls;!@HA2xsg&xUpT&L!JSSscu-r>04W^!^jl$TyUFeC!@B)4v<~8ZH<|6m87Q2Q4%O_) z?%g$P1w=PzY`(YoUZ>ulqKXF|71lDwdN{mf1%#}xkT#soY|MsFHnGkGE?bGqyH+51_n6rp z-R=>|kKoeN0DA*O{)fmYCJ~k<71Rf&sb(oB$AxyYoqjoBs8=Phs+vAAPB&(zI$r z@e|U)Z$O|+D;ur`5TA%OV1=53-K>3?PAYAd*Pm0;R zWcvB-0GBbb2{;&E$G}{?X5NY?Fd(dF_fJgJ`Y~=JAY$A`U`8q8SRyc%Li=3z>GQ_Y zjIkTT$jIPtiX;83L=@mC9y5Pjw|FUmg8c`n55{Bp$&gY0QX)=2*G*Uy|0^}ja6uxj z+)@593rrY}f2j0+GcyHO%?JJcv!S31glyQf2mk{DE)!v(tV5pF?o@yxAoH_;#&uHP z_4g1(fuHxgPUED8MH@ZTQGkb9`?X|Yd0>8T!h1i!;#_&1sN0uH$_Hv$s;F*`NDBTh zWFR}Lz`I`ozJtod^Zok60u;_kj1d)EW?#T$oH&LuW-|7~>C|Kitn>4Ui;M@?2<(*F zE5|bfFBvFmxuueAqzXtKc*fa=?0~y|w$Zs!ir`=(pajcI zX6<k_>Y65R6=_|8zo0ZzgO4eeys}|FG_w==L={tf9xNwS7uG=2kig=R{|8(zn+7V z`$MVtC&j%~y6<>-zRULvUy5-o(pi0;y&8E)%r@R zeo-#1Uk6eG4y{evUe|UnOJ1rALI$RF-TF-HPyXsf6JYb9u+`y-d{$(%N~0nj;-WfV zWeJF;^G@fR=J|BssId9ppV_Q3p?i1PyYt>%=GSM2tE0-!_LjL0Wzzd3YsN~Pia^x?~WaSwm)oD zp`VVPE#~PHW_w~XS58eJ{$8bT$7-gC>}Gx&YS;}HNx7ysqIuV zo_*j;10hNS0*Lwdu=({(VX1}k#BLt~tOVse{H9}OduFy}ef-L-5TI3t5Hrek+7BNe zwgNv*1K>C3_57N!PQ$@DClEJ}9i!riZQLuLe7rP<5a7O$-d04iV^or*%2`v)1M>PL-d@^Y{u~`?jm^JEF~t zJ0^he)Uef`ty+J93b8)GA3xz&vV9$~%cGmE`wS5>0V6+8+d8EVM0W*x37l6#gg()f;j<^l7>|1cCs(Qf{<=gDv8 zr}5)PQFq@bAV+Z@0{RM=QP*X@UFSDS#Cv%)elq0(S^mDia~)%MB!Rv}rFhPLiK{RX zFirS<|35&$>)6%6&wv8sj!El%LtIyY$1o1{_YzRXLBKBX7cXI;80SGeuwIqc0>X@! zgxgTMzqxc+0_At?{9XRF{Q$!y6`Zi{}E-~P0G~Uy_ZYhytYU{tKzw?ZW?U!l z6BXWsMLkIbx7t#TnSamYTFdj^q5R%9uiF7>K@hP>1gyr{=NfP0D04iv7o_3vf<)N& zWdJ#3(l@sZ%S_u5UE2#AJF1`8ESV@#zdPju5y&T1uEhEv*Z={6KPs1+VfT5ZJeUTt znhN~0FMWxL$>3{SC*T*LqsS#9Uu|Ddce2e%>lb}gcbzsW>%%;AUB;b*CUCalIw(gm zPOpFg>v3QNRA~o*!RPxtK%Vv5cNzI{x6x-;f%?3xSt^Ps$J+HIAX0%IY92(|fsyx7 zRK^5`w1a8^#1p!GPA1)W3(NrqHe{s{8CVn(!o`45}H=>ui+p7jz{G znUR=-mA21TdnT&HDM~8f7NE3R-uJAId#O0*!ClCAI#_%E7PcbbHSRKN=@=5_o9E>6 z-0ZVz*x#Ct=u5K1<1VRse63U`|NAA7p1qmff!*3RYJ2an`8u|Ho4t9S>_0VZ{`s)k zF5Hz|ppKho$1Mzx>R+Es0htda8MThX{W-Pk7Lxtp8=UfQoyxO$sZ=AV&R^&lExBKp zI9NJXrDY+bW}aoHR1Id;h}z!)f;0z+)aeTi2+ER{%_(8sd6x`>Cf)Uh?!3St$o7UP z+C`mxUs%_EFV(gS(8_%XMZN&t+)p;I3G1lZG%|8On9d)zX6j`2tJeP7VXL@mseQ}L zWoB*jGhyrbH~o0FAFa=M`*&gU>zl*o&p9I7q-Ewa;HvfN5(n>Il16HPR3Z)Lj3yjJ@$B~t)&0e!&Z zS6?Z|=3BK9On_#3T3DCa%=u=#w*M8@7%x`|#>?!^x9$ylza5qt_uF*<@SB@eN!Pq< z-MH;r*;cW-`eYkUnlYv6pj~KYx~dDo19N}8dbSw_a1vdVVb61-0w;`{`)3y#&o|G_ z-CcKg+ugM*jo_!)_piR}JD3ku>X@Y`6`16Dsel;;_=ZcV$G+R-_!4n-{#*Z4*@^55 zKrsNcKg8V9#YahB2E2970?_l^BDSoQt!mpb5=MVlrXRD+KJEPGr`h+C0agC9ZViAE z_X9XJo-*)Juy8^bKoJ`xE@?mG$2_iCb$2Lc4u&!YX^IAyxGNwi=iTnxVcopbUQt&e z_p4-BsVCq7AmUteeddq&fZyDUrEkwhq+5I;zC&$S`_DfIC-Px^Px|W_lYg@!T0%lo_?d8VIKjb6^{tE}Ur7MRJV$Lz44$pxWfXeuC z9QC&qaG=COKm~L%`lw-9+gO2>Ky_&6aL|IZ@n^e|`dkjjNaZkbWde-vq4l~vaKHa- zE~pFSM8P01@rjz)I5`{wY<=FV&0->}U(W#924zC4MRH#Ex^26ippedTxIkz0a6vaIY^J_7W$WSA>@JF#C9%xmdyP!kFGcb_S*lMPcnc2 z0#vV?=Jiq4b)cysM>(VZZa(@R3=;<_2hf3p!UM51AFT@ks{ZlX&_Mpy}B6?3qtv&rhfmh zZoE@u$^lg3k&yWu_X2Euzxy!1bKX_vAm>vtl4Ke(qgnt2(ZOuzCL>-4Y_7W!r_9>U zT3_}hB@?bkEw9oo8EB43mIlIpU~d6rf0FU@$te1yIlq zuYWlq%khk#Anx=3P6*h3Xq(BJFH_4 zpju}j54o?d3Mhx!woi$W(is7Db%SyLsJix9jyC|@_hxPK=6+$_xoQ4rqn2Wq_La(T zD`m=gTx}ZDp=oOErzfEC_BA6h9UHa+5*R^E%ix_Es78Q)tFRS_XaL=RC$k_*4xS&@ zX@vv~7(mzg!a9nsk{Qo2MLV1F!D}*5KPEHhPs#r3hb7>5nRWkbB4Qz~_upaj>tkno zOp4fEBcI==JB=3Of60aNPqeN|MZ8Z9dIC0e9uv(<@wp~Gcw}bCZ`%d#YH|fAmk!JQ zH}>;aH7jvBj%I0;*pHk?y0k=TKm?92TGZd88C`2fhvJ(VT%`x4@nN13t<4go?MK7b zQWR|jl`d(6sk;UZh)`$ z7ibB91cHDSexGw$w*!>?3pLMe-RA*DPt6iSB{=*!`?>4Mgi#YEeOISBkqHE1pm(e6zGqlef$AHfk51N3S_NY{{9#k`#e97nS6miEgI*K_YG~Ui;mTk-);HZW#pc!kQeZBw@72JXIqoK_m0AS4ApO*LW zjT|2n+Qi8PIlE1Z2vCZ%6yRZ;dhy0XyG%S)Ya5V-doNhEF-u9vN5fhsa<=Zk zvEa=!r3V7|WPWU}8rB_55ZcS;d`L&40x^iXk^-W8N&y7ux*a%31nB0E4a|HqZbN%U z{bx%|&+{DtA{pjrw{@P*5gtlAIx)m$UVAQM+fdAsq)3+L0LF}UKOTet4bL9}?O*~h zxPKe9OhE!Ln0Bs#a`et(g z^?&y7#D3Co+}=E_(-1+mwXZ_HsVk$bnuo_MK*n^)bnfZgDav-Sl_{~gS(Y9gyE$%i zTywzxDID+u&eYZiv*4}We6sFS6wG;06#iWIMLEy*ay7p_M@$Zk%f3*voPLx*K)b%*%dQRDd7^xOrKJRxgwK3k z+dmHL+L|U~g?7gD*|7QbZqu(%cWa5MFSZ2QUu1WeXM}a73aHW?a&53>#sS0<90^!d zrvCS{Rv!?MD)gmU!r@QAu)4(9uRJdSIffhYxxdfA^Mfg-mjH(AuQt>)VlvZR`;^3s z(gKVz`xB}>e;#FDo6ju8Fn@|cmWh=DR{85n=ah<2=hvS3PFXVawG_WQDy-8k$bCrZ zMwKv`7fSjvBR~CRSf~DPK3y@}Ap*8A^t6Em$N-x8JN!;1(Yk5KjN3nR|F3<6zvX;Y zip4Jj9FASEj2l0UpDlnL6E*xXz&#N?0sq+Ej(_G=K(54!-zFnImK^g3srxIn@jl}< z*2a&o{I8KxKZtD?AR)juF0R9MiDw2t;~dVC$WOTfRXBZ$J+i;bW!GCd@c^< z---t?C5TwkNTYdVeYpOijpY7zJ739(a-ef0gCc%~F3<@F^rC}!-)UWU0Mv3N0VaN* zVcg#Z8u5KU&5ZHC<=2n``C-8>lL^kz`w!dD~kkLhf zhKd;>aQ}sL5VY@e9{>VKm+>+VL}b)BV}5)u$C;zDcUEMvYP@CUwaw55#pgJ}^_#6P0 z=Vbi=m^juL0eRmga!6FptH95?u%J2A9Q_QyOYBd(BUHgDtScn|Tscszi;*&A1GJ&p zABd?XMXD&3#@FB3i1I*zd>3G4W5YP`+&B;;MbHLreXCJLxh6I#bC%TPYTuOaNuY@JWrpWR-jiNq=CNb$Tm?0!|Fc$z;KP7NA0 zaQZao`Bh>=sMIon1JGER02v{G+z7Z43(8v9s)3JP@CvI|Ol6WX@UB|=%z9nK97n*av`Cj%d)G^Nqu9Op2lBU5eUQhmN<)&t1;m9Q1ys_qWN=Q6-)B4$5M zVCAiyhC+yJJ}*m)-nq7+YZc#b%yoN<6g~Vv*Y5J9umqfcZ3O@@18N-N)VOY*PNN{guG?(X?L0{Mq$NzhA|0Calaf!{w6z|ZaH@%u;z zY^6x(_PDT)`u>iv^_;4C{O%=#Jbff=P1Nk(l$s1maT2(VHiEmpt#01`?p3L^fl>JI zWB@!jtkw80wdV;~6{AN0YM=hqur6Q&gwP21(wWodJqWH4zyB66S##ei_bNEg6kDEW1UcIurXF zY9R{{ai6GKHck|K2g+d?u&z|3WxUNZ)T^Za%~!Dm-j~gc_Wu04pC+<;g`rg7BKdsJ zKa^;gAHH{NQ)xZ`1R(Y1H^u;f1LYk8KlCB4_29s;@U4qcHFnJKoA0A&ii|Za0~uhH zaiVA1^f-`D3~TK#7i|Rd%)HR%-pK`~fC5UkhstgPR4zpfV{Lz*Z?m_Ej%2IGPLYC)=)7#+!(j zT3YK%A6)B&=oMfIkOGji9}kX+HhYx;zjZW-OYMeZlX>#b*?0c-omNT)MAc6|Ya^9L zl=j09m$q}BOVzllJyN^_3bFrLO(aux{TFPG9kn~hsm=SBbpD9;TO23XcjeY6W)&3+Z(v^M)5m8cc6D;Lm%RB3Ae3KZAF_{R zcZG6%1L$~C*EW>nX#K`%deN?Ja+D~%YX1H|n(e9c>qBRISW?5E){T=Afnc26EUC$_ z>m1-vR(O5_KM(A*4+JJ&t-oY0=~_|eOakS_IKf=fZtr))y7v!a$CxeKhlI^;!$-pA z-yc8Qi{_vIWw!U^zV?dweb?MxYkSR(F>}4p)9*677#+?njLi#W>DRjwkjj9*0&>)M z=W6cH+g}UoNekxO4%!$8EkwNDKD({su5XI!N&TgCY1mKsY zLj}m>ey;y~`5hO`eGXF&aISO#pdh1fJq~Th>ba+eM3th^G|GK(ccZYb-Q4%Xy6y)U zr4j`w{z|Lv7}j|+j0xH{<_j$p=M~@p zgN?t>FU@&TV!QetW7`001BWNklF~3_Tma;{N6L)A$p$@&pK-|jEO7LC z$XRRdQD`dA6^MI(_KC0dVky#90krG>d`^h5mdV6g`-DZ?$qo{HQ7Lt z+CCq13((?wl2TveWgJc$+Ww8AgGBgj@L5w^r5fV~MlJUa2@KpJ1HTN2E8tU8_`6wi z{Pe|PEh;ns!1vrgGhD>4emOHrYU)s%*Dedoe6+C4V~m3%^PqZr_LoMn^}QGuo;RSt z?*Rh>atj`!>H8cIHWrQ)WKe%>RCOf`?t>%HxBKkd%ZyYh4*u=Jx{c5EVKO*q02)5m z24n-ZK|VUH0~i1Y8F&itOB@d{B$K0*BKs$oxRLg590&7VO*Zi@>%l(d;K;UjB{G$t ziy=|!#92FAHS_{0wfzY^VafYgng7 zosI`lt;(=v?XUIMGQuzK5Nj0AaOfYr20}#iYQM7YWvNHCF~i8nOnqgdw6_}>2G;kW z?NR3qu`P_E$a6kxrI?n8-up9vR0ElrY?Qmol+c)=Ns;4Hz|hn8J*@>&m>$nW)ocd?N7qGn(y#WJ~aRSn89S5{iNwz)3>K@cWUq$Is!XDob$`Rkn6YFDE`ClpJIOOoqO+Gd*@z7C`afL3jxZf%RdRB*uudG1-$~?6>7JT?-J~!ClL=SAOlox0 z_3MITKTklSx~cHP_+0{Dag1|8Hv<|Av@VP*Ed>6R{{Y+KA$}SrigB{;M{#oR=MN6l z_DVnswBOxQe9QCwP{+(16H5cLx-#CQh5&!etMx)0FH1EKs+q^=^$K8B!|(IP_Jl*= ze^80)_P2OMdBC!n{g7adEV(i z?Qb71gW9X_3ouu;`Ln9m`+2Nw54ZcrokoEFwvEhwu;@f_9P_nK;$#R2EFfb^RVfvF z6WVn{%1qeo&sqVf2`O+{+m!v}Y`YU!us#!4(G3I!#Vrc95Y|lm< zZLC!XKwK{=Lnf*PFEgz>09ESiWdH|(be&_n5gR;ev)V*${%o)q2HH$OV85CZSfF9N zIrcJZ{{^Aix@I;<<>Y~0Nk8y?p`2REZG=PiB@;kBj2#zKp+DfE++V zCV<+k_MKVdInR%0#r)WOC#>73JqM*G_8GPF&k5@?71_?JG6OUSsJ$nJt=gPjxEzcLu9LvdtC^g7q%kayFU%<0@QTOH?K}LcH@%{s{pTR{2izqFci$og=MDk z)hk6)t-JfJeJV2t6(~G*x&F;l^7C#SwgMU)8}noP+hOz1-<$3970@V$=xtf^uT3M$ zC2=ZL)ua?x?KCC<$CkJ&CW-Z`3kOj}j=lZezMp{g?rytZ4-u=~`*#1@x-P`Ia=jI( zYa&;7U8$U#W5d?@W;|$@l%tp#Xzlt+U0k4*nfMZg!#wf139OY`cxsIl^)(p;2mU;4 z9`~n*t@|lQe*2eU9m6aEwaTDq&y@~nm0qOi+qh3FWx;IOydtc7UKyBGjk0k}HSS`5 zaDW8}sLleQ1k@@Moi(SWu5bS%x+Ne4cwMRWbJ@3f?`;2?ZN^@=W|XHVgw4b9#<2N) z{}FaJ?O{21A&nUsz$0h7&MGRVzk2OE>0eBr4qL_Xn%nld)Fya%GFRq#JUudO)flj@ zrr!~7Z*LejZwD6*>zFWrJB+_8W+pvLM)+G5-~;%S zn*4p(T6!>jGpsRjF4k(pUz}os!T6i~o$YJGx^p*(+fP~<6iqtv)g41j?YeW^b*rs+ zPAUb<#8~hd8lwSF&acGCNy<2F1tk~dC-`@XmkhWuCQ55a%{dJmfGH+~z@LUrGS@2e z%CE>ag(V(MOT&F;z`VOz*a`?JRoeVjSm)Phk1Vq*VI~lx<)Sv7U-E%P!=Tz<0>)@j zC{@6~kx0YTxN}%n@_@o_eyy5M%Q!131JwLmSeLML{_wK^E&T1OnaFe0-#Mp}35lUs z`w9&ZT_E_){2BWZzx$m0I-fTtNX09<8jRwF7`-ptZk#;#A#-0PYclu(ZuiBH9pgryr}TEbANN1{fyT+}s3kCp zqx-!8USL0##)`YfE(`v1Kk4u8Z#dLq=a_ys7b;cIU&@TQaTDm|fxPcOGec>^G2up$I2mUX+<40f z-!yBghpqzq-jNI8W4Yi^<~cgXFCDJkaY-#ZPa;~${HWS-*Z+fj4vEFERx( z-wtdC#0bpEG@{rGpd2)StP%MfH>C0PoNA%~YuX)Qtem^F5f%rXBkucLw|SNa911>1 zq7Yn;4?qZ2I1k#=4B*(A9~_1h+bZn?r3C^@%nSR4b&x<6@ik&ub=?>X)Kyb_uKKX% z!MwR`SeMap;CXICAKqew*blRdLDj0GNM


Cf&-Ve5VFek-g6FpH+ZF$(}v)Yh!U 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 uJRSQ1Eff-Rqe5MI#qkd!Z8EEyq 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 z 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 R;Yk1h002ovPDHLkV1g + + qml/qmlsurfacegallery/heightmap.png + + diff --git a/examples/datavisualization/qmlsurfacegallery/rc_qmlsurfacegallery.py b/examples/datavisualization/qmlsurfacegallery/rc_qmlsurfacegallery.py new file mode 100644 index 0000000..510c18a --- /dev/null +++ b/examples/datavisualization/qmlsurfacegallery/rc_qmlsurfacegallery.py @@ -0,0 +1,39967 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.5.0 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x09\xbf\x0b\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x02\x00\x00\x00\x02\x00\x10\x06\x00\x00\x00\xa4\xe8\x08\xb9\ +\x00\x00\x01niCCPicc\x00\x00(\x91u\ +\x91;K\x03A\x14\x85\xbf$J$F,\xb4\x08b\ +\xb1E\x14\x0b\x85\xa0 \x82\x8d\xc6\x22M\x90\x10#\xf8\ +j\x925\x0f!\x8fe7A\x82\xad`c\x11\xb0\x10\ +m|\x15\xfe\x03m\x05[\x05AP\x04\x11;{_\ +\x8d\x84\xf5\x8e+D$\x99e\xf6~\x9c\x99s\x999\ +\x03\xeeh^/Xm!(\x14\xcbf<\x12\xd6\x16\ +\x16\x974\xef\x0bn<\xf8\x080\x99\xd4-c:\x16\ +\x8b\xd2r|\xde\xe1R\xf5vD\xf5j\xbd\xaf\xe9\xe8\ +\x5cM[:\xb8:\x84\xc7u\xc3,\x0bO\x09G\xd7\ +\xcb\x86\xe2m\xe1^=\x97\x5c\x15>\x14\x1e6\xe5\x80\ +\xc2WJO9\xfc\xac8\xeb\xf0\xbbb3\x11\x9f\x01\ +\xb7\xea\xa9e\xffp\xea\x0f\xeb9\xb3 <$\x1c,\ +\xe4+\xfa\xefy\xd4M\xfc\xe9\xe2\xfc\x9c\xd4>\x99\xfd\ +X\xc4\x89\x10F#E\x855\xf2\x94\x19\x91Z\x94\xcc\ +\x9a\xfbB?\xbeYJ\xe2\xd1\xe5oP\xc5\x14G\x96\ +\x9cx\x87E\xadH\xd7\xb4\xd4\x8c\xe8i\xf9\xf2TU\ +\xee\xff\xf3\xb42c\xa3Nw\x7f\x18\xda\x9fl\xfbm\ +\x00\xbc;P\xaf\xd9\xf6\xd7\x91m\xd7\x8f\xc1\xf3\x08\x17\ +\xc5\x86\xbf$9M|\x88^kh\xc1\x03\xe8\xde\x84\ +\xb3\xcb\x86\x96\xda\x85\xf3-\x08<\x18I3\xf9#y\ +d\xba3\x19x=\x85\xaeE\xe8\xb9\x01\xdf\xb2\x93\xd5\ +\xef:'\xf7\x90\xd8\x90'\xba\x86\xbd}\x18\x94\xfd\xdd\ ++\xdf\xe3.g\xfd\x87\xf3\xce\xbb\x00\x00\x00\x09pH\ +Ys\x00\x00\x0b\x11\x00\x00\x0b\x11\x01\x7fd_\x91\x00\ +\x00\x02\xcbtEXtRaw profi\ +le type exif\x00\x0aex\ +if\x0a 334\x0a4578\ +6966000049492a00\ +080000000a001201\ +0300010000000100\ +00001a0105000100\ +0000\x0a860000001b0\ +10500010000008e0\ +0000028010300010\ +0000002000000310\ +1020020000000\x0a96\ +0000003201020013\ +000000b600000046\ +4703000100000001\ +0000004947030001\ +000000\x0a140000006\ +987040001000000d\ +e000000039002001\ +3000000ca0000000\ +000000000000000\x0a\ +0000000000000000\ +000000006461726b\ +7461626c65206461\ +726b7461626c652d\ +322e342e\x0a322d312\ +e666332373230313\ +83a30343a3036203\ +0373a32383a30360\ +0323031383a30343\ +a\x0a30322031343a34\ +393a343600050003\ +9002001300000020\ +0100000490020013\ +0000003401\x0a00000\ +1a00300010000000\ +100000002a004000\ +1000000000800000\ +3a00400010000000\ +008\x0a000000000000\ +323031383a30343a\ +30322031343a3439\ +3a34360032303138\ +3a30343a3032\x0a203\ +1343a34393a34360\ +0\x0a22\xf6\xfb\x00\x00\x00ZtEXtRa\ +w profile type i\ +ptc\x00\x0aiptc\x0a \ +26\x0a50686f746f736\ +86f7020332e30003\ +842494d040400000\ +0000000\x0a\xc7\xd1i\xdc\x00\x00\x17U\ +tEXtRaw profile \ +type xmp\x00\x0axmp\x0a \ + 2928\x0a3c3f78706\ +1636b65742062656\ +7696e3d22efbbbf2\ +22069643d2257354\ +d304d7043656869\x0a\ +487a7265537a4e54\ +637a6b633964223f\ +3e0a3c783a786d70\ +6d65746120786d6c\ +6e733a78\x0a3d22616\ +46f62653a6e733a6\ +d6574612f2220783\ +a786d70746b3d225\ +84d5020436f72652\ +0\x0a342e342e302d45\ +78697632223e0a20\ +3c7264663a524446\ +20786d6c6e733a72\ +64663d2268\x0a74747\ +03a2f2f7777772e7\ +7332e6f72672f313\ +939392f30322f323\ +22d7264662d73796\ +e74\x0a61782d6e7323\ +223e0a20203c7264\ +663a446573637269\ +7074696f6e207264\ +663a61626f75\x0a743\ +d22220a202020207\ +86d6c6e733a74696\ +6663d22687474703\ +a2f2f6e732e61646\ +f6265\x0a2e636f6d2f\ +746966662f312e30\ +2f220a2020202078\ +6d6c6e733a786d70\ +3d22687474703a\x0a2\ +f2f6e732e61646f6\ +2652e636f6d2f786\ +1702f312e302f220\ +a20202020786d6c6\ +e733a65\x0a7869663d\ +22687474703a2f2f\ +6e732e61646f6265\ +2e636f6d2f657869\ +662f312e302f220a\ +\x0a202020746966663\ +a595265736f6c757\ +4696f6e3d2230202\ +f2030220a2020207\ +46966663a\x0a585265\ +736f6c7574696f6e\ +3d2230202f203022\ +0a20202074696666\ +3a526174696e673d\ +22\x0a31220a2020207\ +46966663a5261746\ +96e6750657263656\ +e743d223230220a2\ +02020746966\x0a663a\ +4f7269656e746174\ +696f6e3d2231220a\ +202020746966663a\ +5265736f6c757469\ +6f6e\x0a556e69743d2\ +232220a202020746\ +966663a446174655\ +4696d654f7269676\ +96e616c3d2232\x0a30\ +31383a30343a3032\ +2031343a34393a34\ +36220a202020786d\ +703a4d6f64696679\ +446174\x0a653d22323\ +031383a30343a303\ +62030373a32383a3\ +036220a202020786\ +d703a4372656174\x0a\ +6f72546f6f6c3d22\ +6461726b7461626c\ +65206461726b7461\ +626c652d322e342e\ +322d312e\x0a6663323\ +7220a20202065786\ +9663a44617465546\ +96d654f726967696\ +e616c3d223230313\ +8\x0a3a30343a303220\ +31343a34393a3436\ +220a202020657869\ +663a446174655469\ +6d65446967\x0a69746\ +97a65643d2232303\ +1383a30343a30322\ +031343a34393a343\ +6220a20202065786\ +966\x0a3a436f6c6f72\ +53706163653d2231\ +220a202020657869\ +663a506978656c58\ +44696d656e73\x0a696\ +f6e3d22323034382\ +20a2020206578696\ +63a506978656c594\ +4696d656e73696f6\ +e3d22\x0a3230343822\ +2f3e0a203c2f7264\ +663a5244463e0a3c\ +2f783a786d706d65\ +74613e0a202020\x0a2\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020\x0a20202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +\x0a202020202020202\ +0202020202020202\ +0202020202020202\ +0200a20202020202\ +020202020\x0a202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +20\x0a2020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +02020202020\x0a2020\ +2020202020202020\ +2020202020202020\ +0a20202020202020\ +2020202020202020\ +2020\x0a20202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020\x0a20\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +202020\x0a202020202\ +02020202020200a2\ +0202020202020202\ +0202020202020202\ +020202020202020\x0a\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +20202020\x0a2020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0\x0a202020200a2020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020\x0a20202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +020\x0a202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020200a2020\x0a202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +02020\x0a2020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +20202020202020\x0a2\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0200a20202020202\ +0202020\x0a20202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +\x0a202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +020202020\x0a202020\ +2020202020202020\ +2020202020202020\ +0a20202020202020\ +2020202020202020\ +20\x0a2020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +02020202020\x0a2020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020\x0a20202020202\ +02020202020200a2\ +0202020202020202\ +0202020202020202\ +0202020202020\x0a20\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +202020\x0a202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +020202020202020\x0a\ +20202020200a2020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +20202020\x0a2020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0\x0a20202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020200a20\x0a20202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +020\x0a202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +202020202020\x0a202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0200a20202020202\ +02020\x0a2020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +20202020202020\x0a2\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020\x0a20202020\ +2020202020202020\ +2020202020202020\ +0a20202020202020\ +2020202020202020\ +\x0a202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +020202020\x0a202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +20\x0a2020202020202\ +02020202020200a2\ +0202020202020202\ +0202020202020202\ +02020202020\x0a2020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020\x0a20202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020\x0a20\ +20202020200a2020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +202020\x0a202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +020202020202020\x0a\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020200a\x0a2020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0\x0a20202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020\x0a20202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0200a20202020202\ +020\x0a202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +202020202020\x0a202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +02020\x0a2020202020\ +2020202020202020\ +2020202020202020\ +0a20202020202020\ +20202020202020\x0a2\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020\x0a20202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +\x0a202020202020202\ +02020202020200a2\ +0202020202020202\ +0202020202020202\ +020202020\x0a202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +20\x0a2020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +02020202020\x0a2020\ +20202020200a2020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020\x0a20202020202\ +0202020202020202\ +0202020202020202\ +0202020202020202\ +0202020202020\x0a20\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +2020202020202020\ +202020\x0a0a2020202\ +0202020202020202\ +0202020202020202\ +0202020202020200\ +a3c3f787061636b\x0a\ +657420656e643d22\ +77223f3e\x0a\xc0$8\x8d\x00\x00 \ +\x00IDATx\xdal\x9d\x09\xfc}c\xf5\xfd\xcf\ +=\x9f\xaf\xa9\x102\x961*CHR\x1aQ!4\ + \xa4\xfe\x84\x92BR\x9a34\xaa\x90\xa2R2K\ +E%\xa59%D\xb32f(d\x88\xa4R\xa4\x10\ +\x9f{\xfe{=g\xbd\xf7\xf3t\x7fY\xafW\xa7{\ +\xbf\xf7s\xef\x19\x9ea\x0fk\xaf=\xe9\xd7\x0fl0\ +\x0c\xc3[\x84\xae\xeb\x9eT\xd0\xf5\xb7\x04n\x8d\xe3\xf7\ +\x84x\xff\xa9\x05]wxA\xd7m\x1d\xd8\xaa\xeb&\ +\x8b\x0bq\xdcS\x88\xcf\x7f2\xf0\x89x\xfdx\xa1\xbe\ +?\xb7\x9f\x10\xc7{\x03\xf7\xc4\xf1\xf1B|\xfe?B\ +|\xdf\x5cA7\xff~!>\xff\x86\x82\ +n\xb2A`\xfd:^\xe2Z\x16*\xd7sEA7\ +\x1c(\xc4q#!\xde_\x22\xb0d\x1c\xfb\x82n\xf2\ +b!^\xbeY\x88\xdf\xd93\xb0G\xbc>^\x88\xcf\ +\xadT\xd0u\x7f/\xe8\xba?\x17t\xdd\xda\x05]\xf7\ +\x98\x82\xae[\xb1\xa0\x9b\xbcG\x88\xe37\x85x\xff;\ +\x05\xdd\xe4P!^\xafU\x90\xef\x0f\x8f\x13b|\xfc\ +E\x88\xe3M\x81?\xc4\xbf\x7f(\x10\xf7\xa1_A\x88\ +\xbf\xbfT\xf0\xf8:\xac>\xe7\xee\xc6\x82\xae[\xb8\xa0\ +\x1bv\x0c\xbc,^\xff$pI\xfc\xdd7\x84\xf8\x9e\ +\xdf\x0a\xf1\xfa\xf7\x81\x1b\xe2xo \xc6\xff\xe4\x12\xc1\ +\xf3j\x938\xde]\xd0u\xf7\x14t1\x06\x84\xae\xfb\ +zA\xd7\xed\x15\x88y\xd4\xed\x1axE\x1c\x97*\x18\ +\xc7\xd1\x828\xfe\xa3\xa0\xeb\xee\x0f\xfc\xdb\xf3i\x81_\ +\xdf\x1f\xc7\xdf\x05\xae\xf7\xf7\xc5\xf3\xed~\x148\xdf\xcf\ +-\xce\xbf{ZA\xd7\xad_\xd0u\x8b\x17\xe4|\x9c\ +^\x15\xb82^\x7f]\x88\x7f\xbf\xb7\xa0\xeb\xaf\x10\xe2\ +\xfd\x1b\x02q?\x1e^$\x10\xdf7\xbf\xbf\x10\xef\x1f\ ++\xc4i^#\xc4i\x9d%\xc4\xdf\x7f\xbc\xa0\xeb\xdf\ +(\xc4\xfd\xb8.\xa0qy\xa7\xd0\xcc\x93\x87\x0a\xban\ +\xd1\xc0\x22\xbe\xdf:.V\xd0u\xdf\x0b|7~g\ +W!\x8e\x9b\x07\xb6\x88\xf7\x9f\x13xv3\xee\x1e\x0c\ +<\x10\xc75\x0a\xba\xc9A\x01\xadw'\x05b>O\ +.\x08h\xbe\xbe\xbb\xa0\x9b\xbcQ\x88\xd7o,\xa8\xf3\ +n\xaf\x82.\xbe[\xa8\xf3v\xff\x82n\xf2*!^\ +?\xa3\xa0\xebV.\xa8\xe3\x99q\xbbCA7Y[\ +\x88\xf3\xbeF\xf0\xf8\xf9I\x1c\xbf[\x90\xf7\xb9\xac\xb7\ +[\xd7\xef\x9d|tr\xf4\xe4\xe88\x9e%\xc4\xfbG\ +\x16t\xdd\x0b\x0b\xba\xee\xca\x82\xae\xbb\xaa\xa0\xeb\xd6)\ +\xe8\xba\xe7\x16\xc4\x0f\x16\xe4}\x9e<[\xa8\xebJ\xb7\ +EA\xd7\xad;\xfe\xdd\xe4I\x93\xf5\xcb|\x7fuA\ +\xae\x97\xdd\xa7\x0b\xba\xe1\x09B\x1c\xdf,\xc4\xfb?/\ +\xc8\xf5\xa5[\xa1\xa0\x9b\xbcB(\xdf3\xde\xc7\xa9\xcf\ +\x83\xf1\xff\xef\x82\xfa\xdfS\x0a\xba\xc9\xc7\x85x\xfd\x89\ +\x82\xbc\x1f\x93\x97\x8c\xebH\xb7]\x81\x9e\x8b\x9e|\xfd\ +\xbb\xf5}\xde\xeb\x16t\xdd\xe3\x0b\xban\xe3\x82\xfaw\ +\x8b\x16t1F\xca|\x99\xbc`\xb2\xe5d\xcbx\xbd\ +gA7\xd9_\xa8\xcf\xb9;\xb0@\xbf\x1f\x88\xd7\x9b\ +\x17\xd4\xfb\xef\xef\x9d\xbcH\x88\xd7/(\xa8\xf3\xcc\xeb\ +\xe6d-!^\xafZ\x90\xebY\xdc\x17\xa1\xeb\xee(\ +\xa8\xffy^\x96}\xe5_u\x9f\xca\xeb\xe1:\xd9o\ +\xe6\x0br\xdd\x8d\xbdF\xc8\xf18y\xac\x10\xafW+\ +\xe8\xba\xc7\x15\xd4\xf5\x92\xf5\xd6\xdf\x9f\xe3d\x9b\x82\xae\ +\xdb\xb1\xa0\xeb^T\xd0M\xb6\x11\xfe\xc7\xf5z]\x99\ +K\x05\x96\ +\x8e\xbf{\xa5\x10\xd7}\x9a\x10\xaf\x9f$\xc4\xbf\x7f:\ +\x10\xd7?\xbdQ\x88\xf7/\x0c\x5c\x14\xef_\x13\xf8m\ +c\xf7\x9d]\xd0\x0d\xe7\x0e\xdf\x18\xc2\xfe\x9a\xbfi\xfe\ +\xc6\xf9\x18\xcf\xc3/\x85\xf8\xdc\xb2B\xbc~\xa9\x10\xaf\ +\xbf,\xc4\xeb\xaf\x08\xf1\xf9\xc5\x84j\xc7\xcd\x1d\x1d\xf8\ +X\xbc>:\xf0\xd1\xf8\xdc\x0e\x81\x1d\xab\xdf0\xf9\xae\ +\x10\xc7\xa7\x09q~\xbf\x16\xe2\xf3o/\xe8\x86O\x0a\ +q\xdcF\x08\xfb\xe8\xc6\x87oz8\xce\x7f\xfen!\ +\xae\xe3\xb9B\xfc\xfdmB\x19\x7fG\x0e\xb1\x8f\x0f\x97\ +\x0fW\x0caWM\xdf$\xc4\xeb\x95\x86\x15\x87\x15\xeb\ +\xfa\xd3\x1f\xd2\x1f\xda\x1f\xda\xcc\x8b+\xc3\x0e\x8b\xfd~\ +\xee`!\x8e\xe7\x0aq\xbcZh\xfc\x9d\xfd\x848\xbf\ +\x8f\x15t\xc3'\x84\xf8\x9d\x95\x84z\x9f\xfa\x0d\x848\ +\xde,\xc4\xdf\x7fL\xa8\xf6\xc1\xf0\x1e!\x8e\xdf\x12\xe2\ +\xdf\xff&\xc4\xef\x1d/\xc4\xdf\xbd+\xf0\xce\xba\x9eO\ +\xee\x16\xe2\xf3\xff\x16\xe2\xfa\xbf'x\xb9\x9b\xd4\xfb1\ +\x7f\xab\x10\xc7\xd5\xe6W\x9f\x8f\xfdhz\x8b\x10\xc7\xd7\ +\x09q\xff\xe2\xee\xe9\xfeM\x97\x11\xe2\xf5o\x84\xf8\xfc\ +zB|\xffK\x848\xae'T\xfb\x95u~\xf8\xa8\ +\x10\x9f?P\x88\xd7\xff\x10\xe2\xf8\x07!\xbe\xf7.!\ +\xfe\xfd$!^?R\x88\x7f\x7f\xa5\x10\xaf\x9f \xc4\ +\xf1\x22\xa1\xfa\x8b\x93\xb7\x0a\xf1\xfa\xe3B\x1c\x9f+\xc4\ +\xef\xbe\xb2\xa0\x1b\xf6\x10\xe2\xb8\xb4\x10\xc7\xa3\x85\xf8\x9e\ +\x9f\x0bu\xde\x16;\xfa\x86jG\x0c\x8f\x15\x8a?|\ +\xf7\xa0\xfb\xb7\xa6\x10\xc7e\x848./\xc4\xf1b!\ +\x8e\x8b\x08q\xec\x858.%\xd4}cx\xbe\x10\xc7\ +#\x84Xf'\xc7\x08\xf1\xc0\x96\x0a\xe8\xc4v\x09\xec\ +\x1c\xc7\xcd\x02\xb1\x90N\xff,\xc4\xbf\x7f-pN\x1c\ +\x9f/T\xc3\xa8{s\xe0\xa08\xbe\xa7\xa0\xeb\xde\x16\ +\x88\x81\xdf\xbf?\xf0\xbe\xb8\xb0\x07\x04\x1b\xd4\x07\x14\xc3\ +\xea\x05\xc5\xb0z_A7\xf9\xac\xd0\x18L\x9f\x12\x9a\ +\x05\xf4\xd2\x82n\xd8X\x88\xf39Y\xb0\x81\xb3\xac\x07\ +\xf6\x17\xe3\xf5\x22\x05\xb9\x00t;\x05\xb8\x8e\xcd\xe2s\ +O\x16\xe2x\xa0`\x07@\xe7\xbdsA7\x5c&\xc4\ +\xf7\xffM\xa8\x06$\x0b\xef\xe4\x00!>w\xb0\xe0\x09\ +\x1f\x1b\xeepx\xe0C\xd5\x10H\x87E\xe6\xdb\xbc\x17\ +N}\xdf]\x81\xbf4\x86\x81\xb6Q9\x02\xcb\x15t\ +\xc3\xcdB|\xefk\x03\xfb\xd8q\x8a\x85c\xb2W \ +\x06N\xf7\x92\x82\xea\x08`\x88\xe30~\xab \x7f\x7f\ +\xf2.!^\xdf\x1e\xf8c\xdd\xf8\xba}\x03\xfby\x83\ +\xfb~s>\x17\x07b\xc1\xeb\xe7\x03\x0f\xc7\xe9\xdf&\ +\xc4\xf1\xb7BL\xec\xcf\x07\xceh\x0c\xf1w\x15t\xdd\ +*\x05ixN6\x13\xea\x82<}\x99P\x0d6\x02\ +(\xc5\xbc\x99\xb3!\xf2\x01;\x0e\xb1\xd0Mo\x16\xe2\ +\xef\xef\x17\xaa\x81\x91\x86.\x86\x92\x17\xb0\xee\x97\x059\ +>\x86\xdf\x0a\xf1w\x8f\x11\xea\xc2\x9c\x86\xb6\xc7S\x1a\ +\xc0\x1a\x17\x1b\xd9 }|\x0dpLO\x17\xe2\xdf\x17\ +\x11\xab`4T\xaf\xaa\xef\xf7\xdf\x14\xe2\xf8B\xa1\ +\x1a\xe4\x93\x1b\x85x\xffA\xa1\x09\xa8\x10\xd0\xe093\ +\x9f\x1e.\xa8\xe3UnR8\x94\xe1\xdc/Y\xaeC\ +\x8e\xfc\xc9\x9eg\x0a\x14\xfd\xa1\xa0\xdeW\xdf\xcfb\x16\ +?\xdd\xeb\xd5a\x8dc\x8f\x03\xf7\xfb\x82j\xd8`p\ +\x110\xc1\x00\xb6A\x97\x8e\xeesF\xc7s\xb8Hh\ +\x0c\x22?\x9f\x5c\x9f\x1c8\xe0{\x86\xef\x0a\x8dCr\ +~A\x0d\xfc<\xb1\xa0\xeb\x96.\xc8\x00F\xf7\x9f\x82\ +\x5c''/\x13\xe2\xfdo\x17t1\x06\xfeY\xc6\xc1\ +\x83\x05\xd5\x91\xc4\x81\xe0>\x12\x18\xb8\xae\xa0:\x16K\ +\x16\xd4\x00\xe1\xe9\xc3iC\x18d\xdd\xea\xfe}\xee\x83\ +\x03\xc3\xc3\x9eB\xbc\xfebAu\xfc\x19gv\xf8x\ +\xae\xc3\x1b\xc7\x00a\x19\xa7\xf7\xd5\x000\xffM\xd6\x15\ +\xea\xb8g\x83\x9e|d\xf2\xe1\xc9\x87\x1bGg\xf6:\ +}\x9fs\xbe\xd9A\xca@%\xe3\x1f\x07\x9c\xe7\xc3}\ +^\xd4\xcfI\xa3\xe4\xe9\xe5z\x85z?p\xccl\x10\ +\x97\xf5\xf5\xf6&\xd0\xc6\xba\xe0u#\x03*\x04\xac\x96\ +/P\x80|\x5c\x8f\xf8~\x1cv\xef\x079^x\x8d\ +!N\x00\x80\xd78\xee\x9c?\x0e\xbc\x9fO\x9e\x07\x01\ +\x8e\xe5\xe3\xdb\x96/\x81\xa9UJ`\x8a\x80\x10\x01*\ +\xfe\x9e\xefs\x00 \xd7O\xe6\x11\xe7A\x00vU;\ +\xe2/\xea^\xdc\xbd\xb8y\xde\x9b\x14\xa4\xe3\x94\x81%\ +\x1bd\x93\xa7\x08\xcd\xba\xca\xbc'\x80\xe5ue\xf8\xd8\ +hXM\xee\x9a\xfcy\x22\xc3\xfb`\xc1\x81m96\ +\xbb\x0a\xcd|g=\xd9\xbb\xa0\x9b,!\xc4\xf7\xbcO\ +\xa8\xf3\xa7{dA\xae\x7f$,J \xf8C\xcd\xfd\ +!\xc0pKA\xd7mY\x90\xe3{\xb2\x8f\xd0\x04\xaa\ +\x09\xdc\xb1\xbe\xb3\xae\xedT\x90\xf3p\xb2\x9d\x10\xaf\xff\ +VP\xc7\xb1_\x0f\xbf\x17\x9aytk\xc1\xff\x1d\x1f\ +\x1cy.\xfc;\xe3\x83\xeb`\xfc\x12(a\xfc:\xb0\ +6\xfcXh\xe6\xe1\xb7\x848^)T\x87\x83u+\ +\x1dK\x1cN\xd6O\x02X'\x15t\x93\x0f\x095\x10\ +\x98\xf6\x95\xef\xc7\xe4;B\x1c\xe7\x85\xe6\xb9\xd9A\xc7\ +\x91e\x9d\xc6n\x9c|_\x88\xcb\xfa\x82\x10\xaf\x1f\x14\ +\xaa=\xd0=\xb3\xa0\x1b\xd6\x12\xe2\xdf?/\xc4\xf1\xe7\ +B\x1c\xaf\x15\xea\xfa\xdbo*\xc4\xe7\xcf\x13\xe2\xfds\ +\x0bj`\x87@\x05\x81E_\xefd\x0f\xa1\x09\xc01\ +?9\xdeY0\xee#?\x8a\xcf\x9f \xc4\xef\xbdG\ +\x88\xdbu\x87\x10\xbf\xbb\x9bP\x03l\xc3\xf1B|n\ +_!\xde\xbf\xa8\xa0\x06\xe6N(\xe8\x86\xbd\x84r?\ +\xce\x9b\xc4yO.\x17\xaa\xdd\xd2\xbd\xbc \xbfw\xb2\ +\x91\x10\xc7\x7fO\xfe5\x09;a\xf2\xf7\xc9?&\xff\ +(\x09\xa81\xb0p\xca\xe4\xe4\x89\xf6\xd3\x97y\xbc:\ +\x90]\x12?\x1b4\xf6\xfbaBcO\xed5\xce\x9f\ +\x92x9\xac\xd9odU<\xa3<\xe7o\xeb9\x87\ +\xfb\x7f@\x09\xec)0\xf3\xe4&\xd0\xf7W\xa1>G\ +\x02\xc6\xfd\xef\x03\x0a\x10\xee\x22\xf8s1?&{\x07\ +\x94\x18[T\x88\xe3\xd3\x85\xb8\x1f\x0b\x09\x8d#.;\ +Jv\xeb\xf3\x03/\xa8\xeb5\x81\xb1\xbc\xef\xbf(\xe8\ +\xa6w\x0b\x1e\xb7\xb1\xdfLv\x0a\x84\x9f0\xbdX\x88\ +\xd7\x87\x08\xcd}\xb4\x1fR\x022q\xfe\xc3s\x84\xf8\ +\xfcW\x85x}\xe4\xe8\xd8\xf7{\xf5{\xf6{\x95\xf3\ +9Vv\xdd\xdcT(\xeb\xc0\xb6Z\x07J\x00R\xfe\ +\xc8\xb6\x81\xed\x8a\xbdw\xb6\xec\xbd\xe9\xbdB\x13\xd8^\ +M\x88\xef{\xaa\x10\xc7'\xf6O\xe8c\xbd\xee\xaf\x13\ +\xe2\xb8_`\x7f'X\xc2\x9e\xed\xb7\x0c\xbc\xc0v\x9b\ +\x1c\xe4\xe5\x84\x12h\xb8\x5c~O\xff\x11!^?Z\ +\xa8\x81\xda2_\xce\xf0\xeb\xb8\x9e\xc9q\x01\xf9g\xbb\ +\x07v\xf3}8\xd8\x89\x90x\xdd\xdf\x1f\x08\x07\xbf?\ +Z\x88\xdf{k\xc1\x98\xa0{o\xfc\x9d\xfe\x8b\x7f\x9f\ +\x1c)\xc4\xe7\xbe/x\xbc^\x11\xc7\x7f\x0a%\x10y\ +\xa3\x02\x918\xf6\x93\xe7\x0bN\xb8\xc6\xef?\xfcG!\ +\xee\xdf\xe1s\x1f\x9a\xfbP\xb1\x13\xcbz>\xfd\xab\x10\ +\xbf\xf3\x8d1\x00$\xab\xa5\xd8-\x04\x00n\x15\xea\xfa\ +?\xddU\x88\xe3;\x85\xban\xe1\x87\xf6\xbb\x0b\xf1w\ +/\x12\xe2\xdf\x7fV\xd0\x0d_\x14\xe2\xdfw\x14\xea|\ +\x18\x1e%\xd4\xf5q\xd8^h\xd6\xed\xf7\x16t\xc3\x17\ +\x84\xf8\x9d\x7fx\xde9\x81\x87\xdf6,*T{p\ +\xf8\xc5\x18\x98\x196\x14\x9a\x04\x9d\xed\xfe\xe1SB]\ +\xc7\x09(t\xeb\x15t\xc3\x8b\x85\xea\xcf\x0e\xaf\x12b\ +[\x223\xdf}2\xa0H\xeaq\x81OW\x03xr\ +\x9fP#\x8e\xc3S\x84\xb8\xf1\xd7\x0a6\x80\x7f\x1a\xef\ +\xff)p\xa77\xd0X\x08'7\x08q\x83\xee\x0a\xfc\ +\xa5q\xd4\xed\xb8ff\x84\xcc*\x06*\x99\xb4?\x8f\ +\x1b\xfd\xf0\x9b\xc0\xaf\xe3\xf8\xa4\xc0\xfa%2)\x8c\xdf\ +w\x967\xa8o\xdb\xa0\xd7\x8d\xbdR\x88\xeb\xd8N\xf0\ +\x82ya\x9c\xc7K\x848\xfeMp\xc4q)o\x14\ +q=\xf3\x9b\x08\xd5!b\xc3\xe3\xc1\x0d\x8f\x17\x1aC\ +mZrW\xa3\xa3q\xb3#\xe2\xb75\x99\x19\x1cs\ +\x99\x01\xf7T\x87\xb7<\xb6G\xfa\xb8D\xdd\xb8'O\ +\x0chA\x7f\x7fA\xd7=9\xb0\xa1\x07\xecm\x8e0\ +\xbd\xa5\x1a\x08i \xc3\x5c\xd8T\xa8\x91\xf9a\x15!\ +~v\x9d\xc0\xba\x8e\xb4n\xef\x88\xf4\xf1\x8dA+s\ +iig\xba\x7f\x15\xcfu/\xc1\x91\xa5\x15\x9a\x8d\xf8\ +\x09\x81\xc7\x97\x8d\x22\x10\xef\x9f\x1c\xf8u\x93qfC\ +R~f\x7f3\x17\xc2@\xea\xd7\x0d\xc4\x00\x9c\x9e%\ +\xc4\xdf?C\x88\x7f?5\xa0\x0d\xe6u\x81\xd8\xd8\xa7\ +\xb7\x0a\xcd\xc4{t`\xd9&\x83\x22\xf3l}g|\ +\xbfg\x87h\x99\x86\x99\x82AO\xc6\xc7\x91\xcc\xe1w\ +B\x8dPvG\x14\x8c\x0e\x9a\xae\xe7\xc7\x81\x8b\xea\x06\ +;\xfd\xb2\x10\xff\xfe\xc3\x82\x1ai\xfb\x9aP\x03\x0b8\ + \xc3g\x85\x1aY\xce\x0c\x9ex&\xb1\xe1L_\x1a\ +\x88\xfb>\ +\xda\x8e\xc3\xca6 \x17u\xa6\xe4\x85\xce\x00j\xa3\xd9\ +:\x10\xaf\xa7?\x0e\x5c\xd40=\x14!\x8d\x8dz8\ +.\xf0\xf7j\xf0\xf6\xdb\x091\xae\xae\x09\x5c\xeb\xf9w\ +w3\x8e\xff\x14\xb8\xb3:\x068zi0\xe1\x10\x5c\ +RP\xe7\x1f\x0e;\x86\x89\x22\xe8Z`o\x0a\xfc\xa1\ +\x99\x0f\xca\x7f\xe9~\x7fB0c\xe6\x88&\x10\xf5\xd5\ +\x82qa\xffy\xe3\xa8\x11H!S.\xb3u\xc5\x99\ +y\xd3200|\x19\x9f\xce\xb4\x0e'\x0a\x8dA\xfe\ +\xf4\xd1\xb1\x9cl-4\x99Vg\xbe\x87\x1f\x09\xcd:\ +H\xe6\xce\xcc\x1e\x02!d\xb8\x14\x86,\x81H\x05n\ +wi\xee\x0bL\x03;\x00d\xf82\xb0\xf1\xe4\x82\x1a\ +\x88 \xa3a\x03*\x1d\x85\x9a\x19\x7f\xa00(pp\ +n.\xa8\x8e\x1b\x99U\x02/|\x8e\xc0\x9f\x0d\xe1\xe1\ +j\xa1\xf9<\xeb%\x0e\xa8\xef+\x0c0\x0c\xad\x5cO\ +\xef\xb1cU\xc7\xf7\xc4\xe3{\x0c\x14q\x9e0\x0bx\ +\x9e8H8\xb4\x18\xb2\x18\xec\x04\x18q\xc8\x09\x18p\ +\xfe8R80\xdc_\xbe\xb7ev-h\x02\xc2\x9c\ +\xa73\x849~\x16\xf3\xe7q\xd8\x18\xd7\x1c\x09\xf80\ +n\xf8\x1e\xde\xe7{\xc8`;\x10\x1b\x8ex\xa09_\ +\xaek);\x90\xcb\xfb\xfcWu\xe0\xf61\x0e\xe4p\ +\xff\x09\xe8\xc2\x94YO\x88\xd7\x9b\x15T\xc7\x9eu\x99\ +@\xc1\xaa\xfe=\x02C\xcc\xcb\xc7\x09\x0d\x93\xcd\x0eY\ +\x8c\xe1\xf1y\x11\xd8d_x\xda\x180 s\x9d\x8e\ +\x0b\xe3p\xf7\xeeU\xdd\xab\xca\xdf\x8d\x0e\x07\x19L2\ +\xeb\xdc'\xec\x95W\x0bM\xc6\x9b@\x17\xd7I\xa6\x9c\ +\xf5\x86\x00\x08\x8e\xdd\xb9B\x0d8\x93@\xc8\x00\x01\xe7\ +\x09\x03\x83@\x96\x03\xd3\xc90a\x1cb\xe7\x10H \ +\x90\x84\xa3\xc4z\xe7\xc0c\xd9w\x9fP\x03\xa1\xc3-\ +B\xe3\xc0\xb0\x1f1N\x19O\x9c\x07\xe3\x93\x80\x19\xcf\ +\xd5\xf6\xc0p\x88P\x1d\xf54To+\xa8\x01P\x98\ +\x06\xcex\x93\xe9\xcd@\x0b\x81-3\xa2\xb0\xef&\xa7\ +\x095@\x90\xbf\xcb\xbeurAW\xd2\x14\x0aD\xec\ +R\xd0M\xde \xd4\xc4G\xda/$xl\xc0O~\ +-4\x0c\x133!\x92\xb1\xe0@\xcc\xf4\xa8\xe9G\xa7\ +\x1f-\x0c\xcd3\x873\xff/S#\x03\x5cfL\x11\ +\xb8f=\x18~ 4L\x81\x1b\x85\xf8\xdcs\x84x\ +\xffv!\x8eW\x0b\xf1\xefw\x09q\xfc\xb0P\x99\x91\ +\x19\xd0\x86\x09\xe9\xbf\xeb\x97\x16\xe2<\x8f\x16\xe2\xef\xee\ +\x17\xe2\xf8k\xa1:\x16\x939\xa1\x99\x970raz\ +\xdd\xe1\x80\x0e\xeb\x9c\x1d\xe9\xee\xb5\x05u\xdd8\xb3\xa0\ +\xeb~S\xa0\xbf+\x01[\x98-i/y\xbe\xe58\ +\xfcR\x81\xe6Aa\xc8\x95@\xc8\x065\x13\x9e\xeb\xd0\ +\x17\x848\xef\xf7\x0a\x0dC\xd3vO^?\x81Z\x07\ +\x9e\xfb3\x85x\xff\x8c\xc0\xe7\xe2\xb5\x18\xca\xeb\xdb\x1e\ +|t\x0d\xccL^)\xd4u\xbc0Z\xe3:&\x0b\ +&\x0bM\x16*\x0e\xdbvr\xa0s\x1fv\xa6zz\ +| \xae\xaf\xbf\x5c\xa8\x7f7\xdd/\x10\xf6\xdf\xf0\x01\ +!\xde_Lh\x02SO\x12\xe2\xef\xee\x0e\xc8\xbe\xd9\ +\xa7\xa0\xeb_.x]\x8b\xf5kX# f\xe9\xe2\ +B\xfc\xdd\xf1B\xc3|{\xf1\x18 -\x09\xd5\xb0'\ +\xfb\x03\xc3A?\xb0\xb9/\x0e@\x0c\xf7\x08\xf1\xfe#\ +'\x8f\x98<\xb2I\xfc9`>\xb7\xc6\xdc\xeas\xab\ +\x97\xf1\x7f\xa9\xc6\x7f\xffE!\x8e\xab\x08q|D`\ +\xb1\xca\xbc\xee?\x15\x10\x13\xe1\xee1\x93<]U\xa8\ +\x89\x83\xcc\x98\xbfS\x88\xdf\xf9h\xe0\xa8\xca\xb8\x81\x11\ +\x94\xf7c\xf7\xc9\xab&\xbb\xd7\xc0\xebd\x8d\x80\xce\xe7\ +p!\xfe\xee\x12\xa12a\xcb*'\xa6\xed\xd7\x84&\ +\x10\xf7f!\xfe\xfd\x94\x80\xd6\x81\xdd\x02\xbb7\xeb\xbd\ +\xd71Y\xe9\x93\x1f\xc7\xf9\x9d!\xc4\xdb\xfb\x8f\xd75\ +l=\xbcpxa\xc9\x9c\x17;\x7fx\x97P\xe7\xf7\ +\xe4\x16\xa1\xee\xab\xd8\xf3\xdd7\x0a\xf2\xf3\x0a\x9b)p\ +\xd6//\xc4\xebO\x0a\x95\x114\xbf\xb6P\xe7O\xff\ +a\xa1I\xac\xfe\xb8\xa0\x9b\x1e.4\xfb\x8c\xfd\x0d\x12\ +\xc70\x02&\xab\x0bN\xf8\xbe\xd6\xcc\xd5\xcd\x1b\xc6\x02\ +\x89\x11\xaf?0\x0daD\xe1O0\xef\x0bC\xe6\xd3\ +%P\x1e\x98I\x84+\x80\x87\xfd\xb7\xe8\x18\x18\xc1\xee\ +Y\xd0o#xb\xcbA;?\xf0\xa3\x86\x1a/\xb7\ +\xe3\x8aZ\x0a0l)\xc4\xfb_)\xe8\xfaW\x07\xf6\ +\xf4B\xf4\xc1\xc6\x00\xc5\xb0~\xb8l\xf5\xdd\xe4b\xc1\ +\x14\xdf?UG\xbbPw_Q\x1d\xc9\x12\xd1\xdb\xbb\ +Yhp\x8c\xe5\xb8\x9e\x10\xaf\xff#4\xd4\x1bE\x86\ +\x9egj\xf4\xcb+u#\x9c\xd3_\x17\x07U\x03\xeb\ +TS\x85\xae\xa9\x1bIy\x80\xb1\x81O\x7f\x2283\ +\xf7\x9cf!!\x83\xee\xeb\x1c\xd6\x15\x1a\x03l4;\ +s`\x0f\xb7\x09\x1ex?l\x1e \x11}\x0cD\x16\ +`\x0c$9\x02[9\x92{\xa2\xef\xbf6&-\xbb\ +\xbb5\x0b4\x81\x08/\xa8ix`\xe0]\x5c\x90\x9f\ +\x9b?U\x88\xef\xfbR \x9e\xeb\xdc\xa3\x03\xcb\xd6\x88\ +h\xb9;\x976\x99\x8a\xe7\x17\xd4\x0c\xde5\x05\x95\xea\ +&C\xe3\xb1\x0d\xf3C\x81\x95\x1f\x9b\xa2\x7fw\xe3\xf8\ +B\xfd$S\xa9xS8\xb2\x93?\x0a\x0dUK\xcb\ +\xe0\x8b\xaa\xe1Y(XrL\xb6\x0f\xc4\x06;}\xaf\ +\x10\xcf\xe9\x1b\x81sM\xbd?\xadR\xc9\xd2@\xc0\xa1\ +\xe5{L\xa5&\xe3<\xec\x1fPF\xff\xc5\x81\x17\xd5\ +Hnn\x98.-\x99\x5c\x18\xb8\xa8P\xd7\x8e\x14u\ +-KbD\xac>\xaa\xc9\xa0\x10\xa01E5)\xad\ +\x1e'\xe9\x08\xaa\xd0@\x1b\xe2i\x05\xdd\xb0\x85`\xc7\ +\xf9\xc7.\xd9P\xa0\xe9\xe8@\x18&\xfd1\x81c\x1b\ +J\xe9\x9dB|\xfe\x8a\xc0\xe5MF\xfe\xaa\xc0\xfaM\ +\x09\x88\x032\x93\x87\x84f\xfcjC\x89y:\xfc=\ +\xf0\x0f\x07\x02\xa6vD\x16\xaf\xa5'\x19\x18\xc0a\xc1\ +P\x95\xfb4m2\xac\xbb\x16\xd4\xd2\x86\xe3\x02Zp\ +\xfe\x15\x88q>\xfcG0\x05rG\xcf\xefi\x13H\ +\x83zl\x0a}R\xca\xa0N^%4\x062\x0e\x13\ +\x0e\xce[\x02\x075%\x130b4\xdaoqfr\ +\xad\x9a\x11*\xc4V\x19\xe0\x1f(\xe8\xba\x0f\x17\xa4#\ +?\xd9Qh\x1c\x1bJ$n*\xf8\xbf\x8c\x08\x98\x1b\ +8\x86\x8c;(\xeb0\x01\x9f\x9b]\x8fW\xf0\xf3t\ +\xc4\x9c\x00\x09\xd4\xe1\x5c\x1fW1C\x82\xe7\x89\xc3\x86\ +\xe3\xc4\xf8\xbd\xdf\xe3b\x11\xcf+2\xde.)K\xe6\ +\x05\x86\x0e\xf3n\xd6\xe1\x9f\xcd\xf02\x1f8\xe2x\xad\ +\x14\x86\xf4JM@\x89\xd2\x13\xd6e\xc6+\xaf\xed@\ +\xc7\xff\xff\xef\xd2\x14\x98\x03<\x87\xb5<>\x1f\xe5\xfb\ +\xc4\xdf\xdb\xf1\x9f\xac)4\x19q\x02\x09\xfc\xde\xecy\ +\x93I'\x90r\xa7\x03E\xecs~\xeeiX\xcd\x8f\ +\x01\xaf\xc9\x11B\x1d\x9fY:\x80Ck\x87\x83\xe7\x06\ +E\x1cG,3\xe8\xa6d\x931\xa4\xc4\x10*6\xcc\ +\xa6\x0c8\x11\xa8\x94CrF\xb3?R\xf2`\x870\ +\xc7\x17\x81/\xef+\xc98\xe3z\x19\xb7\xbe\xde\x5c\xf7\ +\xae/\xa8L \xe6\x0f\xe7\x8d\xc3d\x0aw\x06\x0e\x08\ +\xc0\xf0\xbc\x19\xd7\x04\x1a\x9d1\xcdL\x9c\x1d\xf3\xe1:\ +!^\xbfI\xa8\xcf%\x03\x93\xd8\x13^\xd7\xb0\x7f\xd8\ +\x173\xf3\xe9\x0c}R\xe7Y'\x090\xba\xc4\x80u\ +53y\x944\x10\xe0\xe1?J\x8b\xee*\x183\x8e\ +\xc75\x8c7373\xb0\xea\xf9\x97Txg\x10s\ +\x9d\xf2\xfa\xdf\xdf\xd8\xdf\xd0\xdfP\x99\x04\x19X\x87\xd2\ +L\xa9\xc1\x16\x82)\xdf\xe1\x88\xf7+\x0a\xb6C\x9fX\ +\x1d\xf2\xc9\xf3\x84\xe6y\x12\xd8r@\x03\xa6\x1e\x0eS\ +\xae\x1f\x94\x04\xb0n\xd8\x10\xa7T\x90\x92\xaa\xe9\x1aB\ +\x0c\xff\xc5\x85&\xe3\xb8s\xbfK\x1f\xcfsn\xa1\xb9\ +\x05s\x0a\xb0?VhJe=n\xc8\xe4\x92 \xe9\ +\xdf*\x94\x80\xd48nOv\x86\x9f\x84\xdaW\x85\xba\ +\xaf\x10p\xcf\xd2\x0e3U&\x87N\x0eQI%\x01\ +;\xc6\x7f\x7f\x8aP\xc7\x19\xf6U2\x13?X0\x96\ +\x86<\xa5qx_V &B\xa02i\xd2A\xff\ +\x95\x10\xaf7\x16\x9a\xf9\xe9}@\x85Z\xb2s\xf2<\ +\x7f!\xb8T\xf8\x0d5\xf00\xfd\x86P?\xd7\x7f[\ +\xa8%\xc3\xa5$\xed\xd5\x85\xa2=&|\xee\x0b\xc4y\ +\xf7\xe7\x08~\xfe*Yz\xa4PK\xc0\xfa\xef\x06\xbe\ +\xe3\x0cq\xdc\x9f\xe9ZB\xc346\xf3\x88\xf1\xd0o\ +.\xc4\xe7\xf7\x16\xe2\xf5fB\x1c\x0f\x16\xecx+P\ +\xb5\x82PK\x03\xca:8_\xec\x94\xebU\xaaTJ\ +C\xe2w\xfa\xc3\x84Z\xda\xdbO\x848\xfe\xb9\xbf\xab\ +\xffsI\xa8\x95\xf93y\xfd\xb8\x9e\xce\xffE\xa8T\ +s\xee{\x7f\xa0P\xfd>2\xde\x04\xe0\xfb\xd7\xf6{\ +\xf7ag\xe8\x7f\xfb\xbdK\xa6\xff\xdf\xbd\x02\x90\xc7N\ +\x8e\x99\xc8n=\xb8 \xa9\xf0$(\xf3\xfc\xbd\xcfQ\ +z3=Uh\xe6\x85\x19 \xc3O\x02J\xf4\x5c\x1e\ +\xb8\xa2\xb1\x1f>\x13\xb3B\x81\x9b?\x08\xf1\xb9k\xc7\ +\xf5\xab\xdfA(\xfe\xc3\xd9\xc3\xd9\xc51\x1e)\xee\xb7\ +\x0b\xd5\xbe\xa2\xd4\x88\x00\x04\xd4\xfd\xe2\xbf\xbe\xba\x09<\ +R\xf2\xed\xf5`~c\xa1\x09\x08{\xbf\xeb\x97\x11j\ +\xc0\x0b\xea\x7f\xda{0\x7f\x18\xdf\xfe\xde\xc99B\x9c\ +\xc7\xc7\x85\xf8\xbbg\x0a\xcd:\x8f]\x00C\xca\xf6\xcd\ +\xb0\xf8\xb0\xc4\xb0D3\xfe\x1dX\xc8\x12e\xec\x083\ +G\xb3\x94\x8d\x12\xd55\xc5)\x89\xf7\xbf=\x06\xa0X\ +\xf7\x17P\xab\xd1]P0F\xc0\xde\xefZ\x82E\xeb\ +\x864\xf9Z \x16\x88\xfe\x03B]\xc0'\xaf\x09\xec\ +\xed\xe3kl\xa8\xbf\xa5F\x10K\x04\xf8T3f'\ +\xb5\xe6\xb6\xd4\xd2\xec\xe0\x0d\xe6g\x95\x22?|[\x88\ +\xdf9U\x88\xf7\x8f*\x18k\xa6\x16v\x84m\xf5:\ +\x01\xc7\x82\xb6\xb8\xa1\xcf\x11\xe2\xff\xbf\xb3\xa0R\x89\x88\ +LB\xc5\xd36:\xf1Bwy5\xf8\x0a\xb5\xed\xcc\ +\x86\x0a\x8f6\x81)`\xc3\x05B\x1c\x7f*4\x86;\ +\x19\x0f\x99k\x8b7\x11^2\xafd\x84\xf4x\x16k\ +\x1c\x1b\x1e\x98\x03\x0a\x93\xfd\x02\xfb\xda\xe1\x8e\x813\xf9\ +\x91\xd0d\xe8Lm\x1f.\x14*\xc5(\xa9ho.\ +\xe8\xfa\x93\x02'\xfa\xba\x9edF\x84j\xb4\x9f%\xb8\ +\xf6\xfeE\x0d\x15s\x8f\x82\xcc\xa0\x94\x89\xffb?\x97\ +_4\x1b\xb6\xdc\xde\xf7\x99\xe2\xbf\xb9k\x17\xefj\x22\ +\xf1\x04\x08\xb4\xdd|\xb5\xb9n\xe5A~a\xc7~\xfb\ +\x1a\xe9\xa5\xa6+\x0dp&\xbc\x0d\x9d\x92\xe1<\xb9:\ +\xcc\xc3\xf5\x82\x1d\x8e\xf3\x9b@\xcb*#\x955)\xe5\ +\x8e\xc8\x97\x85\xe4'\xd5\xa0)\x11\xfc\xf3\xe28\x17\xe8\ +=\xe1\x96\xac\x99\xcc\xa4\x98;\xb33\xb9L\xb0A\xbe\ +p\xfd\xfd4\xa8\xf8\xbc#\xba%<\xa0\xd2\x87\x9f\x09\ +M\xc4\xfd\xfb\x01\x05\xce\x96\x15\xaa\xc17\x1c\x14\xd0<\ +9*p\xa4\x1d\xb9\xbd\x9b\x0c\x89\xe6_\xfc\xee\xf4-\ +BCa\xf5\xc6^\x22\x8a\xefvd^\xd4\xaf[\x03\ +\xe1\x90\xf5\xab\x07V\xf3u\xdd\xd2\x18Vh\x02\xb4\x14\ +\xd1E=^\xff\xd30Z\xc8\xa0\xca\x9d\xfb\xab\xc7\xdd\ +5\x0d\xb5\xfc3\x05\xdd\xe4\xec\x91\x9aVj\x0f\xb7i\ +\xa8\x85\x8a\xe8\xca\x00<6pL\xad\xc5-T\xb8s\ +\x1a\x03\xf3\x1d\x81\xb7\x9b\x01\x12\x1b\xd3\xf0n\xc1\x86\xec\ +c\x1d\xe8\xb8\xba\xa1L9P8y\x9f\xd0\xdc\xdfs\ +\x02_k\x1c\x0e\x22\xc8\x94P\xec\x1b\xd8\xaf\xc9\x94\x98\ +2\x8cv@\xd9\x00\xef\xb7c\xbf\x9e\xcf\xfb\x13f\xd2\ +\xdcn\x83\xea\x9e\xff\x919\xf1BM\xe9\x10\x06k\x1a\ +\xfa\xdcg\x1ce\x1c\xa3\x99\x8c1\x86t:H|\x0e\ +\xe6\x81\x0dh4H\xd2\xe1\x22`\xc3\xe7\xaf2C\xe4\ +J;\xd8P\xcf\x09\x1cQ\x9b\x8d\x03M\xa6\x9b\xf3\xc4\ +\xe1\xb0\x03_\xa8\x81\x977\x0e4\x19M\x1c\xdd\xd9L\ +!\xd7O\x00\x80\x00(\x0e-\xb5\xcc\x94\x06\xc0\xdc\x81\ +:J\x06\x97\x1ao\x0c\xbe'4\x01\x18\xf6%\ +S\xfb\xd9w\x92\x19\xa0}6\xec\xc8\xe9\x97\x84F\xb3\ +\x81\x00\xb1\xed\xc6\x0c\xe0\xd8\xf1\xc8\x8c\xb03\xfb\xfd\xf6\ +B\xb3\xfe\xbb\xa6\xb70\x1aO\xad\xeb\x18\x0cV\x02\xba\ +\x99\xf8p\x060\x03\xa0\x0e@S\x221\xf7~!^\ +\x7f{\xa4\xca\x0fK\x06\x96\xa8\x01\xb6\xe9?\x84:\xee\ +Hl\xcd-,4%\x01\x8b\x095\xf1\x00\xd3\xa5\xdf\ +J\x1c\xbe&\xf0\x8aF\x84\x994I\x81&as\xdf\ +\xe4\x9fz.\x93\xa5\xc7\x1a}\xd6\xd3~5\xc1\x0c\xbf\ +m\xbd/\xad\xe5L\xf0\x1aM\xa0E\x0c\xc9\x13\xbcO\ +*11\x08U\xeb\x00m\x95Ld\xe8\xfbc\x1cO\ +\x1e%\xc4\xf7\xaf\xec\x8c\xb6\x7f/)\xce\xd2\xec\xb9\xa0\ +>\x17\xb4\xb0\xba7\x15\xd4@\xfb\xb3\x85R:\x14\xa8\ +\x19_\x18\x17\xe9\xf7L\x05\xd7\x5c?\xa6ahz\x1e\ +1N\xd1\xba\xa1t\x04\x06\xc2p\xba\x10\xc7\x95\x85\xf2\ +\xfe\x86\x85\x99pI\xacW\x97\xd4\xe7R\x12=\xc74\ +\xa5,f\xaa\x10\x08\x98\xbc\x7f\xf2\x01im\x0d\x87\xc7\ +|<\xbcaz\xb8\x94\x8a}w\xeeD\xa1j&`\ +Gf\x86~g\xa1P\xe9\x0b\xb3\xb4P\xef\x87\x9a\xa8\ +!\x90\xd8\xffY\xa8\x99\xefx\xf8\x93i\xec?\xc3\x06\ +Be:\xe4\xba\xe0@\x11\x09\xd2\xf4\xb3\xd0L\xf2z\ +\x91\xda\x18\xb6\xefr^\xa1\xddc\xe6N\xffz\xa1\xda\ +\x0fs\xaf\x15\x1a\x06\xcd\xb5r\xf5\xeb\xfa\xd4/\x17\xe7\ +\x19\xeb\xdd\xf4\x15B\xbc\xfe\xbc\x10\xaf\x0f\x12\xe2\xf5\xc5\ +B|~\x09;\xcc\xd6\xa8\xc9R\x22\xdb+\x99\xd0\xc0\ +\x0f\xb3?\x09cl~?\xa1\xd9w\x1a$h\x5c\xa5\x7fe\x06\ +\xcd\xf4\xf9BS\xdahG\x9d\xda\xfed\x90R\xfa\xbe\ +\xb9\xe7\xaf\x03\xcf\x19\xa0\xc4~\xb2_UJF\xb6m\ +\x02&0\xdc`f\xc3\xe0\xdaM\xa8\x01\x9b\x05Y3\ +\xee\xccY\xd6\xc4zC!\xe3^\xcc\x80\xbf\xd5\x8c^\ +\x19\xf0\xa7\xd5\xc8x\x7f\x93\xd0d\xa6M\x89@T+\ +E\xecN\x17*Eo\xfa\xf9\xc0\x19\x0dE\x86\x08\xbe\ +\x1f8\xd4\x9b\x1cp\xa6fL\xaf\x0e\x5cU)A%\ +\xf2\xf6\xf88\x9e\x1bP\x04\xe4\x92\xc0O\xea\x86S2\ +9\x1b\x98\xd2vuS\xebj\xc7\xb9\x10\xfc$J\xf6\ +\x03!\x8eg\x0b\xb5v\x02\xb1\x102\xbeY\x13\x82\xe3\ +\x81\x01\xd7R\xb1\x97h\x0c9\x0c>2\xa1\x18tD\ +\xec\xe7K\x8c\xaf~\xee\x1d\x05cFZ\x0e\xe2\xdb\x02\ +o\xb7#z]#J\x08\xe5\xca\xe29\xfd/\x84Z\ +\x1b\x0c\x05m\xfe\xc5\x82\x17\xf6\x98\x00\xfd\x1e\x81=]\ +K\xb4\xba'\xdc_*\xf5y\xeeY\x81x\xfe\xd3K\ +\x85\x1a\x99\xce\x0d\x95ZI\x0c\x13\xf1\x0a\xde\xe6\x88\xf6\ +z\xcd\xf5\xb8\xb6\xbe\xdc\xbf/Y<\xe4\xbd\x8e\x9c\xdf\ +\xe8\x8d\xff\xde\xa6\xa6\xdf\x99\x0dD7R\xbcI\xf1\xb9\ +\x977\x94J3\x02\xa0n\xe6\xe7Mi$r\x0cU\ +\x06q\x90\x9c\x08\x04N\xccP\xc9\xcc$\x99\x03\xf1\x1c\ +\xf6\xf0B\xbdECE\xc60\xc3\xc0\xe69R\xdaa\ +\x0a?\xa2\x8c\xb1q.\xad\x8d\x93\xccI\xa1\xf8}4\ +>w|@\x06\xd5\x1f\x85Z\xb2PF\xe3\x9b\x9aq\ +c\xc7\x87\xeb#b\x9a\x19\x08gN\x87\xc7\x08\xcd\xb8\ +\xb0#\x9b\x11Bg\x84\x8a\xb9\xb8l\xe3@\xe2Hp\ +=\x18\xfc0C\x10\xdf\x93\xb9\xb3\xb6\xc5\x82\xbe\xe6\x85\ +\xf1\x02\xff\xce\xb1\xa6\x9c=\xd2\xf3G\xf3qC!\x8e\ +\x87\x08^\x98\xd6\xa8T\xbc\xfe\x8f\x81\xdb\x9b\xf9\xee\x0d\ +\x0a\x06\x12\x9a\x1b\xa5\x86\xf1\xf96\x84T[ur\xe0\ +\xa4\xa6\x14E\xcb\xeb\xab\x5c\xfa!\x83\xec!\xc15X\ +\xdf\xa9b1\x04\x16\xc8p\x94\x8d\xf8\xe3M\x86W\xee\ +\xb22\x1c\xcf\x09<\xb7\x89\xc4z>'#\xca\xcc\x9f\ +\xd4\xa8 \xc2\xca\x7f\x18\x94\xdc_\xc6+\x99O6r\ +3\x0cRD\xc7\xa3\x03g\xda\x00\x00 \x00IDA\ +T\x1a%\xf9<\xc8\xf0\xe1\x98\xf3|pHg\xa9\xeb\ +\xfc\xdd\x06\xa6\x02cX#\xaa\xc6F\x8caL\xc6\x92\ +\xcc=\xcf\x9bL$\x0e#G\xce\x07\x07\x9e#\xd4i\ +2\xdf0\x95\xc8\x9c.\xef\xdaf\xe6\x09\x81\x07\xd6I\ +\x1ci\x076Sl\x94@\x14\x8e\x18Tm2\xea\xdc\ +_\xae\x83\xdf\xc7\xb0f\x9d\x85\xe9\xc3:\xb5\x9c\xd7k\ +6\xc8\x7f\xdb1\xa3\xb4\xe0\xaf>_\xae\x97\xeb#P\ +\xb8\x84\xbfga;x\x94\x82\x10\xf8\xe5\xf8\xa0\xcf\xff\ +\xfe\xff\x0eL\xa4#\xc8\x7f<_\x02(\x5c\x17\xfb\x0a\ +\xdf\x87C\xc9\xdf\xcf\x9c\x1f\x0et\xb7\xf2$ m\x03\ +_?\x06\x0e\x8e$\xe3\xe7\xb1\x0eD\xc0h\xc0p\xa0\ +\x14E%}\x7f*\x06\xe8\x18\xd8\xe0\xbe\xe1\xd0\xce9\ +p\x81c\xcf\xf8$\x80\xc1\xefr\xbf\xec\xe8S\xc3\x9c\ +\x01\xd5}F\x87\x9aZ\xf2\xd8\x03J\xe65\xd79j\ +\xfba\x18p\x1d$ \xac\xf12\x5c*4\x06\xb3\x19\ +\x88\xc9`C\xbb\x06\xad\x12D\xff\x10\x11\xde\xad\xa0\xee\ +\x03v\xe4\x93\xa9\x04\xf3\x8b\x00\x94?\x9f\x01a\xe6#\ +\xf7\x91\x8c<\x81\x10\xc6!\x19\x1ag\x92\x93b\xcf8\ +\x80\xb9C@\x86\xe7O \x8d\xff\x18'\xcc+\xce\xa7\ +\xfc\x17\xc7%\x85Fkf6\xb0A\xc9\xc0\xe5\x05U\ +\x94\x96\xf3\xe7|)\xf5\xe0|\x18\x87\x18\xd6d\xfcN\ +\x15j\x0d\xff\xe4\xddB\x13\x88\xf9dA&t\xb2\xe6\ +\x15\x11A\x07*(m\x839\x97\x99.\x05\x84\xafj\ +\x02Z\xde\xcf\xfa/\x0b\x0d\x03\xd3\xcf\x89R\xc2\xcc\xc8\ +\xd9\xb0\x9e0?\x10\xbb\xb3C@-o\x7f\xa5\xd0\x94\ +\xfeYL+k\xde\xa1\xc2\xc3\x84\x84\x11c\xc6jf\ +\xf6)\xedD#A\xfb\xcas\x9a\x92\x85\x19&L^\ +\xb7\xd7i\x18X\x198p\xc0\x1b\xb1/\x9ew\x8az\ +9c\x8c\xb8 \xd73\xfd\xeb(r<|}8w\ +8\xb7\xde'D\x18\xb1[\x9979\xdf\xcc\x14\x0dw\ +\xef\xec\xe2\xf0\xc9/\x9c\xfa\xb9\x86\xe3\xd0?9\xb0a\ +Mx\xa4\xd6\xcf\xc9\x01i\x1f}9\xf0\xa5\x22^\xb7\ +\x92\xec\x92\x9c\xbf\xb2\xc6\xbf\xe5\x0c\xfc\xb7\x1c\x00\x7fr\ +\xa1\xee/PiC\xff\x0f\xa1\x8a\x01O\xbe(\xc4\xfb\ +\xcf\x12\xaa=\x95\x14}S\x9fS\xf4\x99\x80\x1a\x09\x02\ +\x97\xfaM\xbf(4\x0e*\xb5\xd7f\xac\x14\x06\xc9]\ +\xb6\xef7kJ\x81\xbd\xcf\x13\xc8\x1a\x9e.T\xe6\x1b\ +\xa5#\xd4\xfa\xf7\xef\x10\x9ca\xde\xb70tJ\xc9T\ +\x11\x7f\xbe\xb7\x9e?\x01\x80\x0c\xa4|6p|\xad\xed\ +\xc7\x01/~\xd1+\xab\x88\x1e\xeb\x07\x01\xb0\xb9\x0f\x06\ +>\xd0\x94N\x98)\x05\xb5>\x03\x18\xb6[\xfbc\x85\ +jW\x92\xc9\x0e\xb7\xf2yr,'\xd7Y\x13\xc3\xf6\ +'L\x0a\xd6\x89\x14\xc5\x95H\xf9\xeb\x9b\x80\xaa\xed\xe6\ +\x14\xf1\x84i\xe5@\x22\x9aX\xb9na_\xc1\xa4\xb5\ +\x1fI\x00c\xeeIB\xa5\xceO\xf7\x0e\xbc\xd6\x09\xa0\ +\xf7V\xc6Ow\x82\x7f\xc7\xa5ZE\x1c\xf2\xc2R\xca\ +\xf0\x8e\xe1\x1d\x8dx\xf1[\xccL\x22\xc1aQF\x98\ +\x07\xdc\x8f\xf9+\x84\x1a\xb0!\x90\xb1\xe0.\xa1&d\ +\xa7_\x11\x9a\xf5\x91\xc0*\xf7\x85}\x92\xc0\x9dJ\x81\ +_Z\x030\x8cO\xc4;S\xc4\xcf\x22\xf2Y\xeb\xef\ +@\xd6d\x18\xe7\x9ff\xb1\xe61%\xec\xe9\x9fa\x1f\ +\x11\x80&\x80\xcf>\x89\x7f\xff\x08\xa1\x8e\xa3\x05\xd3\xc7\ +\x05\xd6\xac\x86\x1b\x17@$\xa5\xd4\xd8\x7f\xd3T\x8b\x1d\ +\x1burjR\xbd!\xf6[\x05\xb6\xac\x99\xb6T\x93\ +u\xedA\x7f\xa3P#)\xf3\x9f\x17\xe2\x82\xde\x14x\ +s\x15\xa3\xe9\xbf.4\x91<\xc4q0,>_\x90\ +5\xf9\xa8\xb8\x17\x91\x8d\xa3\x9a\x08\xa1\x22t\xd7\xd5\xc0\ +\x02\x0bwN$m\x1f\x9bV\x8a[\x7f\xa2\xd0|\x1e\ +*\x91\xa8\xbao0\x83\xe0\x94fC\xc6\xc0\xc2\x01W\ +\xad\xa3\x1c\x9c3]c\xf6\x98R]\xf9\xdf\xb5\x9f\x8f\ +jj\xac\xb5\x0d\xafh\x83x\x0dO\xa0\x1b\x9a\x81C\ +dR\x11\xf75\x1c\xd9\xfeYQ\xff\xfe\xa8(\xe3\xb9\ + 9b\xde\xffNp\x06\xfc\xb9\xa6~\x87\x834}\ +\xa5P\xd5?Kw\x84\xb5kM\xdb\xdc\xf7\x05\xd7\xe8\ +\xfd\xc1\x99P9\xf8/\x15\xbc@?\xc5b\x87\x87{\ +\x00-\xd6P\xfc8\xae\x93j\xe1%`\x93\x861\x19\ +92<\x12\x8dyOu\xdcp\x5c\xfag\x0a\xcd\xc6\ +\xa8\xa7xlU\xcf,|\x85\xe7\xd5\x8cZ\x89\xe4\xbe\ +\xb3vMP\x85_q\xac\xad\xd6<;\xbf\x96\x10\xc7\xbb\x848\ +~G\xa8\xd4\xa3\xac\x15uf&U\x8c\xad\xe1\x80X\ +M:\xa8V\xf1\xe7s0t\xca\xba\xb3\x95\xc5\x16\x8f\ +\xab\x81\xbd\x12i}^\xcd\x80\xcc}\xba\x91PJT\xf2\x1d\xfb6\ +\x0e\xfe\xaa\xa5\xca\xba\x8aC\xaa\xc4\xe4\xc2\xff\x9b\xa1\xcb\ +L=\x86\xea\xac\x03H\xc0\x8d\x80\x0f\x01\x056P\x07\ +\x0c\x932}\xe6\xe8\xe0L> 4\x06\x0e\x86\x11]\ +0\xdc\x9d!\x0dj\xc67\x94\xddY\x8a=\x0e,\x01\ +\x22\x8ev\xbc\xd3\x91b\xbd\xbe\xcd\xa5\x1dw\x8d\xe2p\ +1\x07F\xc7\x0dG\x86\xdf\xe5\xf3\x5c/\x0e\x8b\xafK\ +\xe1\x9e\x12\xf0\xf9\xb03<;\x8d\x94\xba\xb2J\xad\xdf\ +8\xfe\xae\x9d\xcc\xef%p#\x0d\x99\xdf4L&J\ +8x\x9e\x5c7\x0e8\xe3\x8d\xf9d\xc6NR\xaf\xc9\ +\xb8\xae\xef\x12\x11\x1cR\x1c\xab5\xbc\x9e/\x95\x19\xfb\ +q&\xddmQ\xb7;Fj\xe2dc\xd7\xe4\xa1\xce\ +k\xcab:nP\xbbYG\x09`p\xbf\x08\x10\xf2\ +\xfb\x04\xb4\xef\x1a\xafw\xf8\xa5\x03\xc9\x8c'\xff}\x96\ +v\x10\x00!\xf0\x81c\xc7\xfb\xbc\xae%\x12\xe3\xbe\xc4\ +\xfa\xfcX;\xb88\x860\x19Xwz_7\xdfC\ +i\x02\xf7\x97\xcc\xf2%\xa6\xbcS\x8aC\x86\x88\x0c3\ +\x94G\x0c\x1cJ3\xc8\xfcZ\xc4\x17Q5\xba\xb4\x90\ +\x01\xcb.\x05d\xec\xa1\xf6\xdb\xde\xc8y\xc3>F`\ +\x0b\xc6\x933\xe7\x19X@\x14\x98\x12\x222d0\x22\ +p\xfc\xb9_\xad\x86\xc8\x0a\x8dc\xf16\xa1\x11y\x12\ +Si\xdf*&\x97b\xa2\xb6w\xf2\xbc\xb1\x83Pw\ +\xe7:\xbd\xae\xa3\xbd\x94\x8e\x11\x8e)\x812S])\ +\xad)\x89\x85\xb7\xd5\xfb7\xbc]\xa8\xf6\x05\x0c\x99\xa4\ +\xd8;\xf0\x8a#I\xcd0\xcc\xae\xec\x0aE\xcd0\xb5\ +\xf8\x94\xf2\xd0]\xc1\xf3\x16GLRt\x12\xa3K\x06\ +\x10\xe2\x9d\x048\x9d\xa8IQ`g\xc0RlX\xda\ +U\xc75\xccP\x97|e-\xba\xd7'\xc6\x0d\x8c\x8f\ +~\x7f\xc1\x19w1\x13\xde.T\x07`\xfe\xa5B\x93\ +\x91ti\x1e\xf3\xb4\x7f\x86\xd0$0\xf6\x09\xf7}\x9f\ +\x12 ?_\x99\xc3\xcc\xa8S\x0b\xce\xbe\x07\xc3\x10j\ +4Z\x0e\x0e\xd4\x10\xc8\xc9\xae4\xae\xfdG\xdb)\xc5\ +7\xb9o\xce\xb0\x22:F\xa6yn\xb3\xb9-\xe6\xb6\ +(\xf6\xd2X\xdb\xbd\xa1\xd7\xad\xab\xc7\xc0S\xbfN\xbf\ +v\xbf\xb6\xed\x8b\x0f\x15{o\x14E~\xd4h\xaf\x92\ +\x10\xe4\xf7\xd3N\xf6\xf5\x10\x80\x81\xa1\x9b\x19\xd8\x05\x82\ +\xa9\xd4\xef\xab\x09\x8f\xbc\xcf\x1f\x14\x1a\xbb\x95\xee\x08\xaf\ +\x10\x1a\xc7\xdb\xeb\x17\xf3\xaf\x7f\xba\xd0dD\x11\x9d\xc6\ +N\xa3\xe6\x99\x84\x87\xd7+\x15\x80\x94\x12\x10\x023\x8c\ +\x0b\x18\x99t\xe3 `\xe5\xc0*\xf6\x09L\x10J\xee\ +$E[\xc4h\xb1\x9b\xcc\x04%\x91\x81\x98sa\xf6\ +\xaa\x06\xff4\xa1R\xd8S\xc3\xc3L\xd8\xb9\xc3\x84\x86\ +\xb1\x8a\xfd\xbec`\x87*\xa2\x87\xdfP2\xf1g;\ +\x91\xb7G\xc9\x9c\xef3\xb7\x8f5\xd7\xee\xaa\xb5\xf2\xb9\ +\xbe\xa1\xb5\x86x\x9c\xed\xa2\xcc\xc0\x7f\xad\xa0ja \ +\xce\xe9\xc0i>\x0f\xec!\x07\xc4R\x94\x12\x11r\xd6\ +7\x07\xbc\x92Q\x8b\xe8:\x99k\xec\x0a\x98\x1aJ\xd8\ +^R\x03 \xd9E\xee\x22\xa1\x96\x80\x97p\xc3\xc5%\ +\x10Q\xbabM\xbe;\x06B\x18\x97\xd3\xf3\x84F$\ +\xf4h\xfbK\x94\x14z\x1d\xc9y\xe4\x00\x06\x8c\x19j\ +\xed\xe7.\x14*C\x22\xb5\x13\xd6\x13\x1a\x8d<\xcf\xd3\ +~U\xa1\xfaW\xf3\xef\x12\x9a\xfd\xca\xe3\x94\xd2\x16\x12\ +v\xd3\xcb\x85\xf8\xf7\x1f\x08\x0d\xf3\x11\x0d\x02T\xff\xad\ +\xbdG\x80\x98\xeb$\x01W$\xf1\x97mJy^\xe9\ +D\x0fv\x01\x81\x7f\xec\x0dw\x7fX0_\xd0\x88\x1b\ +\xbc,\xb0\x93\x1d\x04\x22\xc1M\xadV\x8a=hB\xae\ +kuN\x89\xfdm\x18x\xb2\xa9\xf4_\xaa\xea\xa3\x85\ +\xa2\xf3[Gp%\xce\xf7F!N`\xc5\xc0J\x8d\ +\xe1\xa6\xb8\xe9\xdf\x9b\xda\x19u'\xf8x#\x22\xe1L\ +Q:z\xd4\xe2\xc9=Y\xd3\xd4\xab\xe5\xacZ\xfe;\ +g|_\xeaH\xda\xfa^H\x16r\x0d\xdc\x8b\x9b\xc8\ +-T\x1c\xd7N\xf7\x87\x04\x0e\xb6\xaa\xe2q\xdeh_\ +\xe7\x8d\xfaG\x8d\x01\x0b\x85\xd75H\xd9\x06Nf@\ ++\x06$s\xed\xee\xc6\x90C\xd4A\x94\xd1\xf5\x9a\x8c\ +\xaf\xcc\xcf;\x1bU{\x89\x1e>\xa9\x1a\x00y\xbf\xe5\ +\xe0?\xdb\x8e\xe2\xc5U\x1c\x8e\xae\x04%\x12\xfb\x8df\ +\x83\xf4\x86C\xe6\x19f\x04T\xbe\x129^\xde\x14\xc9\ +;j\xedv\x96R\xdc\x1a\xb8\xcd\xb5\x5c\xf7Zd\xe2\ +\xe3\xae!;\xa91<0\xb0i\x0f\x83\xda\xb6\x03-\ +P\xba\xb2;\x82k\xc2\xb2\x14\x83.\x02mfw\x0f\ +G\x9a7\xaa\x14\xafT\xf7t$v\xd8Y\xa8\x14\xcf\ +\xa2N\xfa\xaaF\xfd\xfe\x00\xab\xcd\x22\xfa\x85\xd8\x9c\xdb\ +\x91\x143\xe4\xf6\x1a\xe8*\xc4\xc5\xeb\x9bZ\xbd\xc7\x94\ +j\xd9\xae\x94V\xf5.\xadX\xd7\xaa\xef\xcfm\xa8\xcd\ +d\xc0\x9e\xd9\x15jk1Lnm\x0cXg\xc0\x93\ +\xd9q\xbe\xd0d\xf0\xa9\x09\x872\x8ecmjd\x1a\ +t\xcepN\xf7\x0a\xbc\xbaj_`\xb8\x12\x81\xcd6\ +\x8f\xd4V\xb9\xe6,3\xd6\x88Xq\x1d\x18\xbe\xb4\x93\ +\x83\x19\x83X%\xe7E\x86\x03\x911g\x88K\xe0'\ +\xc6\xf3\xdc\x87\x03\xf1\x9c\x16~\xb9\xd0u\x0f]\x16\xb8\ +\xdc\x8e\xb6\x022[\x09U\xcb\xa2PxOl6\x8c\ +\xe3\x0b\xc6\x1a\xdd\xc5j)\x08\xf7/\x03\x93\xa8E\xb3\ +~\xac\x5ct\xcdG\x83\xf6\xad5\xa3\x5c\xdc\x93G4\ +\x81\x90c\x85\xa6\xc4\xe8\xdf%\x07<\xd6\x00\x9f\xe7H\ +\xfe\xd9\xd5\xf0\xe8\xff\x2245\x88n/X\xbac\xc4\ +\xba8\xddMh\xb4O\xa0\xe6*\x7fuz\xd5V\xa1\ +\xcd\x10\x99\x93b\x86m\xf8?(\xdb8l\xac3\xac\ +\x1b\x18\xc2\xd4\xaamg\x11Uj\xe8\x8ew$\x9c\xf6\ +]\xd4\x5c:\x90\x97\xcf\xf5\x0b\x05c\xe9\xc49\xcd\xef\ +\xb0A\x10\x00\x22\x10\x85\xe3\x80\x16\x80\xc5\xa9r\x1c0\ +.\xa8\x1d\xad\x19\xe6\xb1\x96\x9c\xf3_m\x86\xf2~\x7f\ +f\xdeG\xc7\x86L\xb6\x1d\x9f\xac\xcd\x84z\x8e\x83\x8d\ +\xe3\xed\xccU>g\x07d\xc9\x08\xcf:\xae\xa8\xfff\ +\x1b+\x1cr\x1bZ\xaaLU\xa03\x19\x04d\xb0\x09\ +\xf4\x92\xc1\xe6y\xcd\x8a\x01\xf2\xb9\xe5\x8a\xce~\x0d\xe8\ +\x10H!`\xbe\x905>\xac\x02\x9c\x0c\x03\x07&\xf3\ +|\x10\xc5\x83YF\xa9\x05\x01\xe8Y\xc6\x00\x0e,\xf7\ +\x93\xf3\x9f\xc9\x14g\xe6\xdd5\xcd\xf9\xbc\x08\x84 \xba\ +DI\x06\x8c>\x02N\x04\x04\xd9?\x11-$\xd3\x0d\ +\xa3m\xce\xf7\xe9\xdf\xceD\xf0\xdcv\xf0~\xb1\xd0(\ +\xd6\x95\x7fO\xe0\x09*;\xe3\x84\xf1\x87\xd6\x01\x8c\x1d\ +2\xf1\xcc;gZr\x1da\x1f\x22`A\x00\x82\xcc\ +\x08\xcf\x8f\xeb\xe6\xbc\x09D\xf1\xfb\x04\xb8DE\xbd\xb6\ +\xa1\x92B\xe5F\xa4\x0e\x06\x0f\xf7\x89\xef\xa1\xeb\x85\x19\ +\x0a\x19x&\xa0F@\x89\x0c)\xa2\x9d\xa8\xd3\xb3.\ +\xc3L\xe0>\xe38:\x13Dms\x06\xac\ ++\x04\xe8]c\x8d\xa1\x9aZD\x94H\xc0\x0cp)\ +g\x8eO\x07:21@w\x1d\x98\x80\xb4\xc7\xf5\xbe\ +\x0d\xc3\x02;\xa2\x7f\x82\xd0\xa8\xf9\xbb\xd693a\xcc\ +w\xb4\x0e\x9c\x89\xce\xfbf\xf5m\x02^\xa9\xe1\xe0\x9a\ +\xfb\x92\xa8\x1f\x9a\xee\x09t\x01\xf0\xbc\xe8\x97\x15b\xbd\ +^Q\xa8\x863\x8e`\xd1\xb49\xae\x99\x17\xbe\x9e\xb9\ +\xcd\x85\xf8\xbb\xf3\x85\xe6{i\xe3hM\xac\xacyv\ +\xe2\xa80\xd9\xceo\xf6)w\xc9\x22\x81C\x80\xab\x88\ +\x10\xff\xb8\xd1\x10B\x03\xc3\x0e\x01\x0c\x14\x02\x1f\xc3\xcf\ +\x84\xca\x8cL\xe6\x04L\x83\xdd\x85\xb2\xbe\x96q\xdd\xff\ +](v\xc7X\xe2\xb0\xbd\x03\xd0n\x9f9y\xd5d\ +\xb7\xf2y\x02i3%\x17y=~\x1e\xc9\x90\xb5\xda\ +|I\x98\x9cX\xed\xa3lGm\xbb\xa7P\xed\x97i\ +\xb44\xfc\xb9\xb9\xad\x85\xca\xb4-\x99\xec\x0fV-\x01\ +\xc6u\xaes\xd8\xa3\x88P\xc2\x08v\xbb\xc9\x5c\x17\xb0\ +\x07X7\xe4^\xfe\xb8\xaa\xea\xe7z\xeay7\x7f\xbe\ +\x10\xbf\xfb9\xa1\xe9Z\xc2\xfd\xf78\xa3\xe46\xd5\xd9\ +-\xfa\x99]:\x10\x01\xf5\xfe\x09c\x05\xcav\xa9\xfd\ +\x97\x03\xf8&\xa1\xc9\xa4\xfb\xf9\xe2\xc0\xf6\xffO(v\ +\xf9\xd8\xf6\xef_\xa3\xfdW2\xbd\xbf\x1a\xcf[\xebr\ +\xbfg\xbf\xa7J\x9ba\x08\xa3\xf1\x10n\xeb\x05s\x17\ +4Z_0\x1e\xd0\xcex\x9d\xd00k\x09\xb4\x8b\xa9\ +\xb1R\x0dL&\xe3\xf9\xb7B\xc3 B\xd4\x8e\xf5\x03\ +\xfb\xc3\x81\xde\x0c\xc4P\xda\x82\x86\x07\xfb\xaa\x03\xaf)\ +\x02\x8a\x06\x05\x9a\x220\xb5H\xc0x\xdd\xcb\xc0\x9dk\ +\xf9\xfb\x8d\x84\x1a\xc0\xcc}L\xcad\x175\x89%\x12\ +/$F\xcc(\xc9\xc0*\xed\xdb\xad\x19C \x17U\ +\xfd\xe9R\x82E\x22\xf7\xab\xcc\xca\xd2\xee\xfe\x93\xd5/\ +\x9e\x7f\xa3P\xdb\xf6%#\xc2\x09E\x12\xe1\xf8\x1d\xc3\ ++\x84f\xfd\xa7\xbd\xb1\xd7\xefR\x22|\x90\x19\xaf*\ +\x85^Nh\xba}\x9ca\xc6\x1c\x09\xc9\x99\x80J\x8a\ +\xfd\x12\xf0\xbd~,\xc9\x1a\x0e\x1b\xdb7\x92\x10_P\ +\xc4[>\xea\xfe\xeb\x9fm\x1c!\xab\xc2\x16\xca\xc2\x83\ +\xd5\xf1*\x8e\xdf)5\x92W\x22\xbe\x8f\xac\x91\xe7\x8c\ +\xd0\x98\xf2_\x02\x08r\xfc\x8f\x11\xe2Fm\x14x\x8a\ +k~\xdf\xe5\x85\xe6x;\xee\xd77T;-\x1f\xdb\ +[Tl\xa7JUO\x913\x89\xb9\xedT\xfb\xbcg\ +\x0d\xa63\xed\xc3\xf9\x81X0\xa7\xdf\x16\x1cq\xfdM\ +\xcd\x10\xb3\x91\x946\x1a\x1b\xd7\x9a\xe7r\x9b\xaemT\ +K]3Q\xa8:\xab\xba\x86|A\xb3\x10\xd4\x8c\xd0\ +\x98\xa9C\x85\xde\x9a\x01i0Zm_\xdb\xbb\xae\xa3\ +\x98U/o\xda\x92\xc8<\xfc\x89\xcf\xfb\xfc\x86rN\ +\xad\xc8G\x02G\xd4\xb6|I\xbd\xb3\x18\x1e\x14\x98t\ +\x00\xdc/=#\xa4\x1a\xf8g6\x22gD\xd4yn\ +\x22\xc0\xbc\xc1\x13\xf5w\xcd\x80R\x18a\xe3\xaa\xd6_\ +*h\x7f\xdb\x046\xc8L\x91\xb1\x12!\xe6\x99Mm\ +\x99\x0c\x8e\xd7VC\xa9\x94v\x1c\xee\xc8\xd4j\x8d&\ +\x03\x99h2\xa4vx\xcb\x06\xfaPm\x8f\x98\x86\x1f\ +\x06#\x8e\x8e\x0d\xcaau\xa1NL\x16^\xa8\xef)\ +\xd6\xc1\x02\x80\x03\x83\xa3\xa2\xb8\xd9\xae\x9e\xe8\xafp\x06\ +\xe4iM\xa4\x93\x0c#\xea\xf2\xd4&Bm]q\x5c\ +\xb8\xa1\xf2\x14j\xe4i\xb5\xf4$3%\xd4~\xcb\xad\ +{r\xb3\xc0\x8ai\xd2\xf4\xd7.\xcf\xe7F/\xe8\xef\ +pF\xf7\xcdM \xc9m\xb4\xb2+\x01\xa5\x0e\x22\xbe\ +\x9dT\x033h\x06dd\xd7\x14:(r\xd2\xcc-\ +\x1b$\xdfK\x86\x0a\xed\x0c\xb9\x0fKy\x83|ZC\ +]\x84\xf1\xe1R\x81\x22:\xf9\xa5\xd8\x88\xf6\x0d\xecW\ +\xc5\xfb\xe6/\x10j\xe43\xe79\xf3Bn\xd2\xef\x9b\ +\x0c\xb03\xcc\xd4\xfcO\xd7\x16\x1a&\x8bD\xacb\xbd\ +\x98\xfeB\xf0\xc6\xf3\x81\x86\xba\xe9\xfb_\x02z\x876\ +mJ\xe9Z\x01E\x9e\xcc\xba\xa9\xb8sG\x05\x8et\ +\x0d\xd71\x8d\x06\x0a\x91t\x8bT\xf6W\x0b\xf1;\xeb\ +\x076p\x8d\xdcyM;\x1bk\xa0\xa4\xba\xae(\x81\ +\xaf\xab\xf38\xfb8\xd3\x9fW\xa2C\xf75\xb5\xd1l\ +\x98t\x7f\x80\x92K\x0d\x1bbT\xa8q\x93y\x84\x1a\ +\x8e\xa1\x83csLA\xd5Z\x80\x11C-?\xda\x1b\ +\x8e\xc4\xff\x17\x13d\xd2\x04\x0a\xa0\xfc\xcdvi\xc0\xe1\ + 3\x05\xf3\x05\xc7\x8b\x80\x11\x0e3\x1b\xf6\xacX\x22\ +*\xf38t\xd4\xd4QZ\x81c\xc6|\xc4\xc1E\x8b\ +\x85\xf9\xc9\xfd\xe3\xbep\x1e\x884\x22\xd2\xb6\xa1KP\ +\xae2Un\x05\x1b\x9c\x5c\x9f\xef\xdf\xf0\x07\xb7iE\ +\x93\x80L\x07*\xf7d,q\xf8\xe9G\xed\xda\xd0\xd4\ +\x22\xf8\x8d\x03%8\xbed\xca\x9f9\xce\xdf\xcc|\x93\ +\xf1f}\xc2\xa1\xe7yP\x92\xc0k\x8e\x18\xccd\x9e\ +\xb9\xcf8\xee\xce\xd8\x0f\xf7\x0aE5}d\x22p\xdf\ +\x08\xac0\x1e\x09\xec\xe2\xb0\xf2\xbc\xf9<\xbf\x0b\x13\x80\ +@\x0c\xed\x15\xb7\xb2cK@\x1a\x8a$\xea\xef\x18\xea\ +\xb4\xa3\xa3\x04kVC\x82q\xcc~\xcb\xf3\xc4\xb1\x9d\ +}\x0e8\xda\x88:B\xd1\xc7\xa1&P\xc2ys\x7f\ +q\xe0\xd1v\x81\x9a\x0f\xd3\x84\x8c\x0a\x94O\xfa\xd8S\ +SM\x00\x03&\x05\x8e\x8f\xc4^\x8f\xae\x01N\xba\xc7\ +\xe4}!\x93O \x09\xe6\x8e\x1d\x84,\xf1 \xf1@\ +\xdb9\xdbY\xfd\x01B|\xee\xf3BS\xd3N\xc0\x83\ +\xeb\xc7\xb0\xc6Q\xc1Q%\xe3f\x07\x9fu\x9avR\ +\xf4\x03'\x03\x0b3\xa0$\x80~_3\xda\x19\xe8\xb7\ +vC\xb6G$\xa0M\x80\x9fqC\x89\x11\x94aw\ +\x0d \xa3X\xda\x97)\xc1\xf24\xa1\xd1l\x82\x09\xe7\ +\x92\xa6\xcc\x98Y\x0483\xe8\xf4\xd3\xa6\x1d/\x0c?\ +\xd6=\xec3\xc6\x1f\x19wj\xca\x1d@'\xd3\xdd]\ +XP\x1d\xf2\xff'\xd4\xccaf<\x11\xa9\xa6\x16\xdb\ +\x9a\x00\xe9\x18b\x97\xd9\xc1Kf\xab\xb5\x09R\x9c\xdb\ +\xa5\x97\xb1+\x94\xf5c\xb2\xec\xe4\xd1\x93X7\xe6\x1f\ +\x12\x1aqW\x07\x00\xe8\xdf>\xf9\x99\xb5\x10L\xdd\xce\ +\x006\xed'\x1f=\xce\xcf\xc9\xf2\x93\x15&+4\xf6\ +<\xf64\x01!\xaf\xa3\xb4\xffN&\xaf\x026o\xaf\ +]G\xb2\xcd/\x8e\x17\xe3\xca\x9aF\x88\xc1a\xa7\xcf\ +=J\xa8\x99\xd6\xb9\x85\x84\xc6>r\x22/\x197\x1f\ +\x14\x9a\xc0\x98\xf7\xeb\xd2F\xf103:\xf6l\xec\x11\ +\x18E0\xde\x1cX-%\xa2\x87V\xf1\xef\xd2~\xfa\ +\xcd\x8d=\xc3w9\ +R\xff\x84\xa6\xc4\x80\xf6\x1dV\x11-bh\x075\x91\ +u;\xb2\xfd\xe3\x85F\x15\xd65\x19D~\xca\x06\xfd\ +\x1cGN\xf6l\xc4\xefdF\xdf\xda\x88\xc9\x11)\xc7\ +\xb1%\xe3&\xb7t\xc9\x86:\xae\xb8v\x13\xf1\xa3\x1d\ +WqK\xb7i\xdab\xb5\xfd\xb6\x1b\x11\x9f\xb2|/\ +\xe3\x09\xf1$\x7f\xcfS\x9a\xc8;\xbf\x8b\xa3\x8b\xe1\xe5\ +\x08|\xaa\x15\xd3\x0f\x14\x95u;h\x85\x9a\xf7\xc7\xa6\ +V\x10\xb5}\xfa\x1c\xbb\x9fg\xa1\xa2\xbf\xa9YX\xc5\ +\x8c\xd8\xae\xa9\xc9\xb5\x88^\xb6\xd7\x83bIM\xf8\xdd\ +%\x87V7>\xa8w|\x9e\x80\x8c\xa4\x96>W#\ +oe\x83\x10\x13\xe1\x9c\xc0W\xabCU\x88/\xbb7\ +\xd4KD\xc7L\x91O\x0a\x0f\x86\x185pn\xcf\x97\ +\x8e\x09\xa2\x17\x04&\x10\xf1\xa0\xa6\x8e>\xc1\xce\x88\x0f\ +\x0f\x0aM&\x9e\x0c\x9c#\xf5\xc3>BS\x8b7\xeb\ +\x10Q\x03\xa4\xb3\xdb\xba\x06\x12\xb26Tw\xe5M\xce\ +t\xec\xed\x80\xcd\x01M\x00\xc0\x19\xe3\xe1\xa3\x81\xa3\x9a\ +\x08\xaaE\x18\xb3\x96\x8d\xffd\x8e\x1c\xe8Z\xaf\x8f\x94\ +6([\xab\x0d\x0a\x863\xfd]K%\xf7u\xb5\x8d\ +&\x99\xb0\xb2p\xc7}\x9d{\xa1P7\xd2T#\xb5\ +\xa3H\x068\xa9nD\x94qLp\xe8\x08\x10\xc9\xcd\ +X\xaef(\xc9l\xccm#Tq&\x1c\xd0\xdc\xe0\ +$N\xb7m\x93\x016e;\xef\xaf\xdc\xb5\xab=\xfe\ +\x7f\x10\xeb\xc0\x9b\x848\x9e$\xd4\x8d\xbb_(\xb0\xa0\ +\xa1\xa2k\x16=\xa5\x89 K<\x8c\x8di\xd7Zb\ +DF\xa5\xacWk6L\x02\x1c \x8br\x16\xf5\xf1\ +\x9bj\xbb\x98\x22z\xf4\xb8\xa6\xcd\x92\xcc\xc2\x8b\x1a\x87\ +\x93\x0d\xc5\x1b\x7f\x1a\xf2h5\xbcg\x8c\xc4f\x0d\x1c\ +\x0c\x15\x1c\x5c\x1cXJ}^.4L\x8fM-^\ +G\x0d6mn\xa0(\xda\x00AT5\xd7mod\ +\xd9n\x90\x1ad\xd6w\x98\x028J\xac\xb7P\x1d\xc9\ +\x98\xcefR\xc9\xd0:\xb3\x94\x19i\x1c5j\xff\xc9\ +\xe4\xf3w|\xefB35\xf5\xccc\x1cD\x1cF\xda\ +\x95A%$\xa0\xeb\xccu\xb63\xa4\xd6\x92u\x00G\ +\x10\xc6\xce\xe5\xce\xa8\xaem\x87\xef\xa9#\xc5o\xb8\xcd\ +\x9f\xb7c\x90bh\x9c7\x22=\x04f\xd1. \x03\ +L{1\x02\x22\xa6\xa2\x0e\x9f\x11\x1a\x83\x88\xfb\xea\xfb\ +\x93\x86\xc5\xc56\xa0l\xb8$\x93\x8c\x80\x01\x01\x89\x9b\ +\xc7\x80D\x06\x22Xo\xb9>\x02\x008\xc40\x22f\ +\xbe\xa7hK\xcf7\x8e\xd8\x9f\x1d\xf8\x80\xc9B\xa0\x95\ +\xe7\xcd\xe7\xb8>\xd6\xe3\xd9n7\xcc\x83\x8d\xed\xe0\xba\ +]%\xea\xea\x19P\xf3\xfd\xc8\xdaf~\x97\xe7\x8ec\ +N@\xa6\xddW\x1f\xd18\xfa\xec\x9bP\xf1\xc9\xc8\xc1\ +\xf0\xf3\xb8\xcc\xd2+D\xea(eA\x9c\x96\x0c\xaa\xc5\ +\x03\x93A\xe0\xcfS\xeb\x9e\xf7\x85\xe7\x89\xc3\x01#\x80\ +\xf5\x9d\x00\x03\x99i\xabK\xe7s!\xf3\x8b\xc1\xbdo\ +A\x15%\xf4\xef$U\xd7\x99\xf3\xfe\x16\xa1Ryi\ +\xdf\x96]\x0d\xa8\xb9%\xa0\x8ah\x1c\xea\xef\x88Ty\ +\x1d\xcc\x1atg\xfe\xcb~\xf4\xd1Z\xcb_\xda\x9f\xdd\ +]\xdb\x82\xcdm,T\xb1b\xa8\xce)\xb6J{G\ +\xd7\x8e\xf3{\xa9\xf5\x04\xd5\xda\xb5\xfe\x99y&c\x8e\ +F\x80E\xde\xf2~\xe3H\x10XQ\xc2\xea[M \ +\x80\xc0\xb5\xd7\xa9\xec\x92\x82\x88\xa1\x997\xa5=\xf2:\ +M\xfb>k \x94\xb6\xc5\xebV\xa6^\xda\x01\xf4\xd1\ +F\x1b\xe2\x97B#*\xea>\xef)\x0ag\xc7\x81}\ +\x8fv\xbf\x19P\xa6\xdb\xd5\xfb\x1c\x08_\xcc\x8c\x0eJ\ +\xb5X\x17^\xe9\x92\x81C\xfc\xbe\x1d\xe2,\x91e\xbe\ +[\xbb%\x1dzg\xee\xb3v~k\xab\xee\x93\x18\xc0\ +A7e\xb8\xff\x8d\x10\xaf\x1f\x10j\x09j\xb6\x05D\ +\xb4m\x93\xc0S\x9b\x8c\xad)\xda\x04\xa4JI\xc7=\ +M{c\x1c\x1c3\x15\xfa\x07\x84\x18?/\x10\xe2x\ +\x8e\x10\xef\xff[\xa8\x0c\xad\xfeUB\x93\x89\xb6\x88_\ +\x8a\xce\xe1h\xcbQT)\xde\xaeBc\xef\x99A\xc5\ +>\xcb|\x98\xee\x14\xd8\xb9\xd4\xba_W\x02\x09\xda\xa5\ +Ow\xa9\xca\x0d\x8d\xb6\x00\xdd\xc6\xdc\xd6\x8e@\xcb\xf4\ +sB\x1cw\x17\x9a\x0c\xf8\x03c\x89b\xf7\xce\xc2\xb5\ +H\x95yJ\x88\xfa\xd3\x85r\xbf\x8a]\xd4\xdf\xdb\xdf\ +\xd3\xdf\xd3$\xba<\x1e`\xcad;8\xdbAE\xfc\ +|\x8d\xa6\x1b\x03b\x8c\xb7\x0bq\xfc\xa9P\xdbY\xcf\ +m*T\x91E\x02\xc1h\x82\x11\xc8\xc8\xc0\x8cKP\ +\xd0\x94\xc8\xf5\xca\xcc9\x1c\xe2d\xb2\xc1\x08\xb4vU\ +\xee\xb7\x88Pz>\xe4\xbc\xc5_B\xab\xeb\x8dB\xe3\ +\xdf\x10\x90s\x1b\xe7\x5cG\x19\x7f\x9a\xd7o\xaf\x8c\x8f\ +\xfe\xafB\xb5\xb3\xfaw\xf7\xef\xea\xdf]KT\x11u\ +\x0fo\xa8\xb4Q' :\xbc\xc6v\xbf\xfc]\x8d\xfb\ +K\x85\xa6\xab\x92\x03\x18\xb3%v\xfd'\x84\x1a\xc0\x9d\ +\xbfq\xfe\x86\xf9\x1bJ\x80\xbft\xa3\x91\x04\xb7\xd6\xe3\ +,AwbVR\xc0\x12\x03\xee\x97\x14\x9a\xd2r\x97\ +ng\x00\xd2\xfb\x1a\xe3*K\x82aD\x118e\x9f\ +s\x02'\xdb\x8c:\x00\xc2\xfe:,?\xfa\x01\x8c{\ +\xbaW\xa0iBI\xc3\x82\xb2\xcc\xacYo$5,\ +\xd3\xeb\x03\xbfk\xfa\x89\xb2`\xc9,\xbc\xa3\xc9\x148\ +C_\xdc\xc6k\xea\x09L\xdf,\xd4\xccr\xb6]\xa1\ +-\x0e\xb5$,HP\xc0lxN\x17\x0e,\xe2\x08\ +\xc7\xb7,\x96v\xbb7\xf2\x95\x1b\xca:\x91x\xd4_\ +\xc9\xec\xc8L\xb9\xcf\x06\xe2!^8?])\x90\x19\ +\xb9\x85\x12B\xa6\x04\x03N\xee\xf7V\xce\xa8\xfc\xb9\xd6\ +\x94g&\x16\x03\xc3\x86A:\xb4\xdc\x07j31\xf4\ +0leF\xaeP\x0d\xb1\xcc\x94H\x93\xf1\xdd\x0d5\ +\x92v:D\xa6Q\x93E\xdd\xd7\xfd\xeb\xc9\x90\xa6\xb8\ +\x0cTA\xf7\xf1\x1c6\x0bl\xde\xd4\xc4IleA\ +\xd3\x16\xd1\x13\x0b\x114\x98\x17dT\xb3V_\xdfw\ +\xb4'\xec=M\xc6\x0d\xf1\x152\x5c\xf7\x94\xaa\xd21\ +\xa0\xb1Ac\xe8\x10\x98\xa1=\x8e7\xeeBI\xda\xa7\ +R\xf9S-\x98L\x16\x19\x1fS\xa9\xf3\xbe\x92\xa9\x86\ +)\x81aK\x06\xf4\xe1\xb1m\x0a]#\xb2\x0f\xbc\xc7\ +\x19\x0bK\x96\xa4\x10Iw7\x0bjd\xd2q\xa2\xdf\ +&\xed\xa6PU\xe6\xf9\xc8-^\xb9\x11AB\xfd\xdb\ +\x8ex\x8a\x22*?p\xb8\x17\xfe\xcf4\xcc\x1ajL\ +ioG\xcd\xa4\xfa\x85\xae\xd6\x04\xce`\x0a\xe0(R\ +\xaaC\xa0\x80\xdae\x8b@&u\xf2\x0d\x05c\xe6\xe7\ +\xd7.\xa5Q\xc0a\xdf\xc0~n\x97yJ\xa5\xd2\xd1\ +\xa74\x0d5\x85\xe3\x96\xb6A\xbcV\xd3W\x9e\xc0\x95\ +\xdc\xbd\x8d\x9a\x8c\x19\xe2R\x88\xf8\xfc,\xf0S\xdf\xaf\ +;L%\x7f\xa0\xc9\x84\xa1\xa2\x0c#\xc8\x94\xd6\x128\ +\xfc\x90)k\x7f\xa9\xd4\xac\xec\x9b\xba\xe2P(\x9d\xd3\ +]\xa7\xbb\x96\x86 l,\xce\x9c\xa0MBD9)\ +\x82lTb\x12\x5c\xdbP4\xcd\xd8(\x99\x90C\xbc\ +\xa0\x7f\xb2\xc9xB\xc5&@\xa7\xe7\xfe\xf4\xa6\xe6\x90\ +\xf1@\xa0\x88\xfb\x83\xe3\xa3\x0c\xe8\xeb\x1c\x91\xdf\xaba\ +n\xa0\xc2\x8d\xea9\x19o\xda\x0b\x9a\xea\x95\x869T\ +=\xab\xfbg\xe6\xe5\xd9\xe3<\x8c\xed\xbd\xb4\xf9If\ +\x0d\x1b1\x19F\x1b\xb8\xe9\x00!\x8av\xb5k\xde\x1f\ +9f42\xc0\x85\x03\xcc\x865\x1b\x18 \xb3\x8f\xe3\ +\x87X&G\xd6\x0b\x1cG\xe65\x14dj\x0f\xa1\xb4\ +\xd9\x01Ss\x1f\x05\xa6\xc3\xb8\x1a\x19I\xa6\xb6M\x8e\ +\x14\x9a\x00\x06\x8e\xa9\x1d\x83\xac\xf9\xc5\x91Z\xd2\xf7\xa1\ +j+\x8cZ\x00[\xd8At\xc6 \xd7\x17\xb7\x9fK\ +\xad\x01;\xa4\x999w;\xb5\xac!$pH\x06\x14\ +\xb5v\xd61\x02:\x04D\xc8\xc8n\xee\x80\xf4/=\ +.-R\x97m\xee\xc88s_\x09\x08\xb0\x0e\xe0\xd8\ +3.Y\x07g\xdbz>\xa7 3\x8f\xf99\x98\x01\ +<\xd7{}\x1f\xa1jb(\xb2>-\x9a\x81\xb91\ +phC\x22U\xa0\xab\x06\xc0\xb8>\xad\xeaL8\xe3\ +\x1a\xcd\x0bS\x8e3\xa3K[W\xda\xe01\xae\xb8N\ +\x02\x0c\x5c\xa7\xe7W\xb6+\xa4\x16\x9f\xfd\x86\xb6\x92d\ +\xe8\x09\x98\xfb:2p\xccz@\x80\x83q\x89\x08\xa1\ +E\xb5\xd2\xc1\xc7niER\x17m\x1c6\x18E\x88\ +nV\xad\x85\xc28\xc8\x9aw\xc4\x0b1\xcc\xd0\x0aA\ +\x9d\x9f}\x15\x83\x9f}\x05\xa6\x9f\xd6\xed}\x9b\xf6g\ +\xee\x823\x1c(4\x01m\xdb\xb1\x8c\xa3T\x9bF\xd4\ +\x17\xd1A\xdaxAY\xa5?;\xed\x0e\x9dy\xed/\ +\x12j\xff\xf3\xa4l\xbb\x0d\xed\xf0\x5c\xa1\xa9}\xb7\xbd\ +\x91\x81n\xb4\x80\xe4\x80]\xd7\xac+\xacS\x88E\xbb\ +\xb42_\xab\x0b\xd5\xd7\x9a\xd2$\xb4\x22HL\xb0>\ +?\x22\xbb[\x8c\xcf\x85\x80\x90k\xf4\xfb\xd7\x08U\x8c\ +\x90\xf3\x08\x07\xe2\xdd}k\x7f\x11\xc0\xfcn\xc1X\x92\ +zL\x93(\x82\xba\xec\x0c\xb7\xf6\x1f\xed@\xa5[\xcd\ +\xae\x8d\x88\x17\xe7\xe5\xf10\xf7b\xa1\x19\xc7n\xb3\x99\ +\x81\x0b\xd6\x05\xda8~I\xaeLeT\xa5\x03lQ\ +\xaf\xe9[\x85\x1a \xa6KP\xb6\xb9\xdb\xd1\xd4\xe9E\ +\x02\x8b:atUc\xff\x99\xb1\x9a\x1aF\xfb\x09\x0d\ +\x93G\x0e\xe2\xad\x1e\x97_\xae\x01\x11j\xf6s\xbc\xc8\ +Aa\xdf\xbf\xac:\xe6\xc9L 3\xfd$\xa1\x06\x02\ +RK\xc0\xed\xd8\xfa\xef\x07\xbe\xe7\xe5c\xa8\xfb[?\ +\x0d\xcc[\xd4v\xf7\xfa{\xa54A\xe3\xf0>\xc1\x81\ +\xef/4\xe3\xc4\xcf}\xbam`;\xd7f\xbf\xc3\xcf\ +m\x07\x07\xbe\xc2.\x99\xdf[h2\xb7b\xf0\xfd\xd5\ +\x09\x89\xcb\x1a\x86$\x0e\xd6jBe\xfc\x0c\x8b\xc7<\ +^\xbciog\x86\xd6\xdc\xcb\x848\xfe]\xa8\xa5*\ +s\xb7\x08\xf1\xfa3Bu\xb8\x931C\xbfx\xdf\x9f\ +\x14)e\x9e\xda\xde\x87I@\x0d\xfa\xdc\x01B\x0d\xd4\ +\xd1\x15\xaa$.~`\x86d\xac\xab\xd3\xfd\x85F\xdb\ +\xc3\xe3\x0am0\x02\xb2\xf3_\x16\x9a\xf6\x8e\xf6/\xb2\ +\xa4\xce\xe3\x10\x0d\x85,\xc5\xb0=\x95\x19~\x12\x0a\xac\ +\x8b\xccK\xec#4a\xe8\x16\x80\x08\xa5\xdbzf;\ +p\xe6\xb1\x99G\xa9\xcda\xe6m\x06.~\x17~\xde\ +\xef\x0as\xe3WE\x1c\xd6\xcc\x9ba\x8faOi\x8a\ +\x0d\xab\xfa\xf9!Z\xec\x00=\xdd\x10\x94\x16\x9c\xca>\ +\xfd\xe6\xf0M\x8d\xdb\xe93\x84\xba_\xa0\xb1\xb4\xd0[\ +\x84\xea\x98\x13\xf8I\xc7\x9cu\x97\xd7\xb4\x1d5\x83\x02\ +qT\xec\xd9\xd4\x5c\xf0~\xd8\x1f*T\xa6+\xdd\xdc\ +\x92a\xeeD\x88z\x8aId<\x19\xb6\x04\x0a7q\ +\xc2n\xb6$\xce\xe3k\x01\x8e=\x14\x09\x22\xc0\xfd{\ +\x85F5Z\xee\xf1\xa3\xff\xab\xed\xd4HI\xa5o\xb5\ +\xb6\xcf\x7f\xdba\xfaf5\xbc2S!\xb7\xec/M\ +\xc6\xdc\x86\xe7\xf4*\xa1\xe9;)\xca\xc4\xa3\xaa\x8ao\ +\xa1N\x9chG\xf7\x83\x1e\xf8\xbf\xb2C\xfd\xa8f\xc3\ +\xbb\xba\xc8\x9a\xa4\xeau\x99\xf0\xba\xd1G\x08M-(\ +mfN\x15\x5c{\xfd\xc6\xa6]\x96)\xffe\xc3\xbb\ +\xa6\x89\x04\x91!\xa3V\x9d~\xe3l\x08\xca\xd3}\xa9\ +vG\x80\x82\x0f\xb5%\x1d*Ixm\xdbdP\xe9\ +\xcbND\x8d\x0c\x96\xcf\x03C\x05\xd5Z2\xd1\x99\xa9\ +\x90Y\x7fi-!H\xb1A\xda\x87Y\xcb\x80\x0c\xa8\ +D\xea\xfaOy\x03;\xd4\x86\xcdskMU\x1a\x84\ +f.\xe4\x02\xe4\x8c\xff\xf4\xd7\x82\xa97\xaa\x91\x9e\x13\ +\x9a\xda>\x99\xafg6\x99\x1aT\xc5\xb9O\x18\x88\xa6\ +\xe6\xa5h\x05\x14\x15\x8b\x9cQ\xeb\x82\xa1B\xdbH\xda\ +0e\xad\x19\xa2v8dP\x99\xa1\xc8\x98\xba5\xbd\ +D\xa8\x91\xe7\xecc\xeb\xc0@fb\xa0J]R\xe4\ +\xa9j\xe6\x00\xaa\x18\x222g\x8d\x1bs\x96R\x90)\ +G\x0cH\xee\xc2\x83\x8d\x18$\xfd@\xe9\xbb\x8c#\x02\ +\x95\x99\x05\xd1%\x11\xa9\x81\xe1\xf6\x7f\xa5 `\x07\x0f\ +\xc7I\x93Qu\xc6\x9a.\x0bi\x88iA\xd9\xccZ\ +\x19gV1\xc1\x22*\xb3c\x15{\x1aN\x0b\x9c\xea\ +y\xb3G5\x9c\xb2\x9b\x82\xc5-\x11\x09J\x87\x06f\ +\x8c\x08\xdbOl2\xac\x18`3\x0es\xa1\x8a\xed\xd4\ +\x18\xe6.U\xa1;B\xd6\x1a\xbb\xedb1\xecN4\ +\xd5\x0e\xf5\xecs\xab\x036\xff*!\x8e[\xceoY\ +2\xb01\x1b\x0ac\xc5\x19\xaf\xb9\xfb\x04S\xc7\x16o\ +2\x85v\x10X\x1f\xa6\x1b\x09U\x84'\x03\x01\x16+\ +\xa5\xa4)\xcf\x9fZ]\xc63\x99J\x02\x880@P\ +\xf3\xa5\xd6\xdb\x1bwi\xabxum\xbbH\x89G\x09\ +\x00\xa8\x84\xe1\x85\x82\x19\x05\x174j\xf9O,z\xc2\ +\xa3Cti\xed\xdaA\x7fh\x1c\x02\x15wtd\ +\x93\x09@\xad1\xd4k4Ip\xfc\x9c1\x8d\xddh\ +T'\xa6F\x9au\x9cZ\xd3\x17\xf8\xb9\xce\x062p\ +\x04p\xa0\xb7\xb2c\xb2\x93\x1dXJ\x9dh\xcf\xc8\xdf\ +s?\x09\x88\x11\xf8\xa6D\x80\xf7a\xba\xfd\xca*\xf6\ +\xd6\xce\xc9\x80\xc6\x9a\x0e\x18\xc0\x98\xc0\xb1\x1e<.V\ +u\xdbA\x1cu\x8f\xbbt\x80`\x08\x90\x09\xa2+\x0f\ +\x0e,\xcf\x95\xffp\xbcy>\xa8\xf8s?h\x1b\xf8\ +\x1f3}p\xf0\x08(1.\xec\xd8dI\xc7:N\ +$D\x90En\x00\x00 \x00IDAT\xe0 \x93\ +\xc9\xc5\xe1A\x9c\x11\x11M\xf6]J \x18W\x8c#\ +\x02\x16\xb3j\xf8d\xf2ad\x10P&PB\xad*\ +\xf3\x83\xf9\xc9\xf3 \xc6\xfdGs\x01\xc3\x89\x12\x01\ +\x18\x09%\xb0Q\xd3\x1d@\xf7\xe3\xd5\xb5\x8d^\xb6\ +}\xbc\xa8\xc8s\x8c\x11\xc6\xf3\x9a\xda!j\x1aQ\x19\ +\xe5\xfa\xa9='\x03\x8d\xa1\x8a*3\xa2G8`\xb4\ +w\xe25\x94xe\xf2?\xd9\x881\xb9F<\x0d,\ +\x1b\x16\x99I1u\xbf\xd4v\xaf\xdf8\x18|\xafx\ +2g\xd46s\xa8\xfag\x7fN\x99?\x9fn\xfa\xc8\ +\x13\xc9%\x83Fw\x03\xf59^\xb4aX\xc0(\x80\ +\x02\xa58\xe3/+\xc59E\x5cl\xb0$\xe5O\xf7\ +qGg\xce~\xda\xb4\xf5\xa1\x06\x92\xfb\xa9e\xfal\ +\xcf\x9f_\xd7\xbe\xa1e\xde>\xae\xd66f\xad)\x0b\ +\xb7\xc6\xc9\xcf\x9a\xb6J0_\xa8\xd1\xc5\x00\xc7@'\ +cI\xc6\x0e\x83\x0d\xc7\xc0\xedVp\x04\xb2\xc6\x18G\ +k\xb6\xff\xb5\xb5\x22\xfa\x87\x85X\x9f\x1e\x16jF.\ +\xfb\xf7:2\x9a\x01\x08\xcd\xceGW\xeaf\xd9\xb8c\ +\xe1\x83\x91Z\xda\xca\xbc\xa6\xf6/\x9e?O\xa8\x06I\ +\xa9\xd5\xfae#\x0ed\xad\x84\xa4(c\xf8\xe3\xc02\ +\x7f\x09\xa0\xfcCh\xd4\xc7\x11\x17\xa2\x7f0\xed\x06\xd1\ +dP[\x9f\xef;\x00\xb2h\x13\xd8\xa4}\xa1x\x02\ +\xcf\xf6|~Eet\x94\xd2\x84\x1b\x1af\x84\xdb\xb7\ +)\x0cY\x02\x91\xb4\xb3Q\xf7\x8d\xc3\x1aG\xc8\xaa\xbf\ +\xb3\x22>\xe9\x08p\xff\xef\xb1c\xc4|\xe1\xfeR\x0a\ +@m/\x99o\x0cc\x98\x03\xb3\x99k\x1cX\x1c8\ +;&\xa81\xe7x\x85\xfa\xc6\xbc\x9aQQ\xcf\x8c;\ +\xb5\x86\x1bYm\x17*2T<\xc43\x09T{\xfc\ +*\xacU\x02[\x1be&b\x0cX<\xd1\x8e\xcdR\ +v\xe8`.\x10\xe8X\xd8\x19p\x02'8P\xac\x0f\ +8\xa28&\x8c{\xd6/\x02G\xd4\xa0\xc3\x0c \xb3\ +B;\xbb\x8d\xec\xc0\xdee\xc7\x91\xef\xc3\x90\xe2~\xb0\ +\x0f\xf1\x1f\xcf\x97\xfd\x86Zpgt'\xab\xb9\xbf0\ +\xe2\x898N\x9d\xaf\xe3\x11~\xeen\xfb\x17f\xfc\xe8\ +\xd8\xe1\xd8\xe2\xd03_\xd9\xbf\xc8\x18\xe2\xd0\xbd\xd5\x22\ +r\x04n\xce\xf7\xf7\xb2.`@\xa3\x92\x8cf\xc4L\ +\xd7\x89,\xc5!#\x0dU\x1e\x87\x9b\xf5g\xb6\x9b\x05\ +%D\xb3\x22\x80\x9c/Z\x06\xce\xfd[\xa8\xd3\x9c\x80\ +\xcc\xc3\x7f\x08\xdc\x5c5\x96\xc8\xe4N\xb7\x12\x9c\xe0;\ +\xabq\xe0H\xd8\xcctgR\xa1\x85J-\xf0\x83\xfa\ +}\x84j\xb7\xcc=S\x88\xf7\xe7\x85F\x14\xd0vf\ +\xb6\xc5\ +Q\x22\xd8\xff\xaa\x0eIR!Y\xb0\xc8\xf0a \x9d\ +W\x90\xed_\x92\xaaL\x1f`\x166\xa8\xa1\xca\xc3\xad\ +\xee\xf3\xdc\xbf\xd1$0\x93\xa2P\xcd\xaf\xab\x91\xbd\xa4\ +\xea+@ql-Y(\xee\xd3\x16\xb5v(\x032\ +\xb4\xef\xc2p\xc6\xf0#@\xf2@!IW\x07\x15\xc7\ +\x0b\x91D\xfa\xfbB-\xa7\xf6\x5c\x01\x84\x1f\xd76x\ +\xa9\xceLD_\x92-W4\x8e\xe8L\xa6(3f\ +d0p\xd8\xfc\xef\xd9\x16\x13\xd1\x13\x0c8j\xcdq\ +,\xa1\xca\xe2\xe8\xd8aJ1\x22\x8d\x0fQ\xa2\xce\x12\ +\xeayL\xb7\x0f\xbc\xd4L\xa1S\x1a\x11\xc8\xfb\x8an\ +\xfb\xb8@/\xa8\x86\xde\xfc\x0f\x85f>\xba]\x0f\x91\ +\xe5\xe9\x0f\x03?hT\xf2\x1dX\x99;3pV\xa3\ +\xd6\xbat\xb6y\x1b\xff\xc3\xb1c\xbcb\xc0\xc2\x18A\ +|\x0a\x87\x10\xd5lg\xae\x93\xf2\x8a\xf8\xa3\xbao\xdc\ +\xda\x04\xb6\x1c8\xcd\x8c\xb3)\xa3\x88\x01N\xcf\x0e\x88\ +1\xf5\xc7\xc0mu\x1cS\xf3K@ox\xc0\x19\x8c\ +\xfb\xff\xbb]^\xaeC\xbc\x86Ic\x0d\x96\xf8\xeb\xb1\ +\xc6\x0f\xc7\x87\x8c&\x0e\xc2\x03BS\xc3\x8a\xe1=+\ +\xf2\xc7q\x96A\x81\xe36\xd3\xf6)\x03\x14\x04N\xd7\ +\xb3\xc6\x08%(8,\x8f\xb7cf\x07\x11m\x93l\ +\x0b\x07\xf5\x1d\x03d\x1bS\xd1\xc9d>\xd5\x8e\x15\xa5\ +J+X\x05\x9f\x8c7\x01\x00\xe6\x15L\x05\x02\xb5\xdc\ +7\x0c\x1d>\xc7|\xe1\xfd\xd9\xae\x0f\x9d\xdbmb@\ +\xc1\x08\xb8l4\xbc\x92Y\xc0\xfcX\xc3\x8e=\x8e,\ +\xe7\xc7\xbc\x81b\x8f\x88\x1c\xa5\x22W\xda\x81\x7f\xa2K\ +(6\x18\xfb#\x87\xdb3\xaaX\xa3\xae\xbe\x9c\xd7\x19\ +\xae\xf7\xb1f4PBA`\x01\xc7\x9a\xf3@\x5c\xd0\ +*\xc7\x93\xddG\x06[\x5c\xd3x\x9f\x08\xc8\x12\xe0\xb0\ +\xd8X\xee\x83\x94~\xf0\xfd\x1e\x17\xd9\xf6\x16f\x15\xd7\ +I\x00\x82q\xc1k\x98'8\xfc\x8cC\xd6K\x1ch\ +\x9e\x1b\x8c7\x1cr\x1c\xf5Yf\x0a\xf3\x96}\xc2\x0e\ +S\xaa\x93\x1f 4]\x09h\xf3E@\xc4\xf73U\ +\xed\x09\xd4\xa2\x15@&\xf7m\x05\xb5m\x9c\xfb\xa1\xe7\ +uQ\xb2\x00u\x1f\xea,\xf7\x0f\xed\x16gls\x9d\ +\x22\x83\xee\xb6\x80i\x86\xb8_x\x8a\x9b\xb9\xf4\x8d\xf6\ +o\xa5M\xf3\x9b\x5c;\xbdSS\x02g5pD\xef\ +\xfa\xdd\x85\xca`\xa0\xado\x8a\xe0\xb9[@\xb69\x84\ +\xe1G\xc0\x0aU~\x98t\x04 \x08\x98\x10x\xf1\xbe\ +L\x00\x99\xd2\x89\xd4\x0eb?&\xc0\x03C\xcf\x99\xe7\ +d\xa0\xc1X pC\x89\x155\xe3\xbb\x8f\x19vJ\ +W\xb3{\x08%\x01\xbe\x0f\x04>q\x5cR\x0d\xdf\x09\ +\x0e\x98\x828\xbaY\xbbo\xc3>\x13U\xde\xa7\xb3F\ +\xdbbk\x93M\xdcm\xe1\x81\xd1NC\x141f\xe9\ +2\x12\x03\x84\x91\x073\x8e\x80\x055\xd2\xfd?\xfb{\ +\xfb\x7f\xd6\x1a{D\xe62\xa0F\x80\x8e\x12AY%\ +76L)\xf614\x17V\xf4}<~dzd\ +I\x8a\xd5\xde\xb3$\xc0%\xb9\xfd\x15B\x1c\x97\x10\xea\ +\x91\xda\xfe\xd4\x96\xf8m\xe0\xaa\xdaUl\xee_\x818\ +\xdf\xb9\xd7\x09q|\x87P\x98\x00\x8b\xf4\x8b4\xf3\x00\ +\xbb\x19F\xd1\xda\xbe\x9e\xd3\x9d\xa1\xb6=K&=\x19\ +,\xce\xd4\x17\xffa\xe7:\x0f)]\x9e\x9e&\xc4}\ +]Kp\x09N\xac\xd7\xfd/\x84\x9a\xc1V%\xbfj\ +\xf9\xa1\xd4\xf7/\x10ji\xea\xdc\x09B\x0d<\xcc\xfd\ +Xh\xbaN\x90@\xa5\x9b\x03%\xad\xacO\xee\xaa\x81\ +&\x00\x01'\xb4\xbf`\x0c\xd0U\x8c.I\xa5k\xe3\ +\xa4\xae\xcf\xf3\xb7\x07\xc2\x9e\x9c\xff\x8f\x10\xc7K\x858\ +\xef\x8b\x03a\xa7N\x0f\x13\x9c \x89\xbf\x1b>$\xc4\ +\xf1\xa9B]?a(g\x04\x05\xff\x11Qm\xf7\x97\ +\xcfy\xcd:5\xdbE\x86\xf1\x86\x9d\xe7u(\xed\x1b\ +\x02J\x0e\xa0\xa5*\xbe\x13\xcf\x19h\xfc\xce8\x1f\x0b\ +#\xf2\xcf\xa5\xf6}yu5C\xdc\xaf\x04 \xffX\ +\xbbi%\xa3\x05\xf1\xf4\x05c{\xcbd\xb29\x91E\ +\xe9B2MZ\xcd\x09\xf9\x89\xf7\x08q\xbf\xbe!4\ +\xeb:\xa5\x0fh\x09\x10\x00vi[j#\xd0\xc5\xc5\ +\xf3 \x13X\xb6\xcf\xb3\xed\xa6\xc5])\xd5`\x9e\x93\ +8\x9f\xbe\x5ch\xc4\x9d}\xff\xb2\xa4\x94v\x99ow\ +\x89\xbd\xed\x83\xfe\x1f\x82J\x00\x14\xb1|k\xbc\xf1\x14\ +\xa1\x0e\x98\xe9w\x85\x86r#\x8a\xce\x9b\x1aq\x17\xf7\ +\x1f\xcd\xda\xea3\x02\x9f\xb7\x1a\xec\xe5\xa6\x1c*C\xb5\ +\xb2\x10\xdfw\x9d\xe0\x1a\x19M\xac\xa5\x84\xaa\x92\x9c\xd4\ +1;\xce\x85:vO\x13)B\x8cb\xcd\xc0ZM\ +\xed\xbb6\xaa\xb7Y$P\x91\xab\xa3\x84\xaa\xba\xcb\x86\ +\x94\x14\xdbe\x85\xba\xe1\x16\x0d\xcf\xdf\x8fb)R_\ +-\x22\x18\xcf\xab\x19\xee\x14\xaf\xb3\x0ac\x11/;\xbf\ +\xb9~\xff{j\x1ch\xb8~\xc5\x8e\xd1?L!|\ +\xb82\x02\xb2\x0d\x9b)\xef\xc3O\x03?3%q\xb3\ +\xc6`\xc6\x00\xff\xa6P)\x8d\xc33\x84\xda\xc7\x1b\xb5\ +\xd9\xac%\x93Y'\xa3\x8e\xa8\x1b\x816\xd6c\ +\x9e\xab\xefC\xd6\x9c\xf3\x9c\xd0\x9e\xb9\xcd\xe2b\x0f\xf9\ +9\xad\xe8\xfb\xcb\xfd\x84\x81\x80\xc3\xcc\xf7r\xde\xd7\x9b\ +9\x05\x85\x9a\xf6D\xd4\xf4\xe3pS\xf3\xc9\xd7\xa8pS\xd3\xa4Z\xe6\x13\xaa\x98\ +\x08\x91\xaalo\xc7F:q\xa6\x07*\x9f3\x94Y\ +\x9a \xd1\x8d\x9fx\xa3\xdc\xba\xa16\xa2n\xed\xb6#\ +\xd9\xe7\xd8\x14\x94\xe9\xf7\x84F\x9c\xcf\x0eb\xbf\xb6P\ +\xdb\x9a 2H\x0dy\xf6K\xf7\x82\x9f}u1\xc4\ +\xa9q$\xd3\x8b\xe1I\xbbD\x0c\x0c\xee\x93)q\xd9\ +\xc5\x81\x1a@\x8b\xf4\xd0\xc6#\xfb]Ce\x87\xca\x88\ +\xc1L\x86\xccm\xf8\x0aQ\xf9\xeb\x8eDn\xdcd\xe2\ +Qq5\x93\x83\x80HR*i\x0bEf\x0015\ +D\x9cpX\xa0\x0c\x12 X\xa3\xe4\xd8jF\xce\xed\ +\x89bc=I\x1b+\x19\x91T\xf9\xd5\xf8{\xa27\ +\xf4\x7f5\x01\x00\xb9\x0b\xcb6\xf7\x03\x95x\xd4\xa5a\ +0X=5\xb5#\x16-9\xbd\x1a\xe1\xf4\xb8\xce\xfb\ +\xa5\x8a\xac\x8f4\xed\xf80\x88\xe9nA-\x95\x99#\ +\x85\x8a\xf7\x8c\xe6<\xe8F\xa0\xd2\x97_U5\xfbt\ +@\x15\xb9\xff\x85\x19'j\xbbw\x86\xe0R\x8f\x8d\x1b\ +\x86\x06\xb5\x8e^X\xb3\xf4\x84L\x16\x869\x94]\x98\ +\x05\xccgD\x900\xb4\xb9\x0e\x02M3\xea\xdfY;\ +l1\xcfb`\xad\xe0.%\xdb;S\xf1\xcb\xeaH\ +\xd0\xc5\x22\xdbG9c\x95\xfdd\x1dq\xe65\x81\x82\ +\xec.\xe1\x12\x90l\xc3\xa2\xf6|\xcf\xb0\xdd>i4\ +(p`)\xa1a\x1c\xbb\x04!)Y\x9e\xbf9o\ +\xc8\xac\xa0=\xe2\xf9\x91\x01\xab\x83L%\x85\xe2\xe9.\ ++0G2\x12\xed\xc0^:\xa88$\xa6~f\xa0\ +\xd1\x0e|\xdc\x83BM\x13\x91\xb3\x88\xe3\xb1>\xc1\xfc\ +a\xfe1\xdfy\xdf\x81?)\x18\x94u\x88\xf6\x938\ +81\x80\ +\xb9\xff<\x17;\xbc\xc90\xb3\x83\x9a\x09\x01\xe67\x01\ +\x09\xae\xd7\x86]\x06N\xd1\xc2 0\xc6\xe7``\xf9\ +9SR\x96*\xed\xb4-\xf5\xb0\xcb\xfbB[@2\ +JP_\xad\xe6\x9d5\xc2\x87\x9bi\xe6\xc4H\xffM\ +\xa1)i\xa0=(\x81\x0b\x07\xc4\xd2^r\xe0\x09\xca\ +l\xda\x9d8\xeaN PR\x90\xeb\x9c\x9fk\xb6\xe5\ +sw\x99\x0c0\xd2\xf6\x0e\x0a<\xe3\x16\xa6\x90\xa9\xea\ +\xb9\xdeP\x93\xeb\x8c`\xa1\x16\xbf\xab\xc9\x0c\x92\x115\ +C\x81\x1a\xectH\xcdd\xca\xcc?\xeb:L\x10\xaf\ +\x0f\xf4/\xcfL\xb0\x1d\x8d\x5c\x0f\x9c!Uz\xab0\ +x~g\xfb|{\xefw\x88:\x93I\xdf\xa5\xdf\xb9\ +\xdf\xa5\x96\xa8f\x02H\x09\x80\xafW\xe6\x5c\x8a\xf12\ +n=\xae\x19\x0f\xa8\xc8\xc7\xb7\x05\x9aD\xdb\xc2.M\ +Xb\x1cg\xa9j\xef\x80gR\xd3mG\xf5\xef\x14\ +\xe2\xb8\xc2\x18@\xe8\x1f'\xc4r\xf6\xb5@\xf8\x07s\ +G\x0a\xb1<\xbeC\x88\xd7\x0f\x04b\x1f\x9a\xdbH\x88\ +\xf7\xaf[p\xfd\x82\xebK\x9b\xeeM\xfaMJ\xe2\xa4\ +$^\xa6\xebN\xd7\x9b6\xe3\x95e6\x19!/\x19\ +\x036\xa9\xe9\xc2z\x84v\x11\xf3\x08\x11n3\xdb2\ +\x90\xf2\xf8\xc0ZU\xdc\x94n9\xd3G\x06\x16\xaf%\ +\x9c\x94hN~+Tf\x06\xa5f\xfd\x09B\x15\x9d\ +\xe4\xc1\x22\x80\x17W\xc7\ +ix\x8d\x1ab\xd4\xda\xb7\xb2\xa0\xde\xed\x8c\xcb\xf2\x8d\ +c\xf0\xcf\x92\xf3\xaa\x01\x0b\x9f\x7fR\x5cT\x1b\xf5E\ +\x1b6\x1b\xd76r%B~w#bGm\xb0\xdb\ +\x9a!\xd6\x98\x19a\x22\x85\x1e\x17e;\x95\xe3\xf9\x06\ +\xa1\xd6\xde\xd3\xef7kz5\xbe6m\x22|\xa6r\ +g\x0d\x95ksX\xc8\xf3y\x13\x81\xa4\xcd\x8a\xfbn\ +2NR\x8cKg\xbdwe\x18\x14&L,\xd8\xd3\ +\xef\x0bM\xa9\x82\xb6\xeb\xfd\x9d\xe9\xff|S\xcbc*\ +Q\xce\x0b\xb9\x03s6@_S3|\xa9f\xec6\ +N\xa5\xa4\xe4\x98\xc6\xf0t\xa0%3(\xd4pS\xab\ +O\xbbG\x8d\xaa;\xff\x87\xda8\x1b \x94P\x18\x02\ +te\xc0\xb0\xc2\xb0P\xb7\x84wz\xdc\xab\xc4\xe2c\ +\x81\xa3\x9dI\xb9\xd6\x0e\xcfM\x95\xf27\xec/T\x83\ +))\xd7\x22\xee\x1e\xed\x88\xf5\x95\x8dcD\x06p\x86\ +Y\x12\x8e\xea\xed\xea\xf6\x91\x8e%\xf3\x90\xffh{\xe4\ +\xeb\x0aGo7-\xcc\x5c_v\xc3\xc0\x11C\xcd\x9b\ +\xeb\x94\xc8\xd2-\x0d\x05\xd9\xe3r\xeeE\x81\x17\xbb\x8d\ +\xe2\xb2\xb5\xc6\x0c\xf1\xad\xf9\x9f\x0b\xa6\xd2\xc7\xfd\x9b[\ +\x5ch2Yd\xbe\xa9\xb9\xc6\xc1d\x03\x80\x1a\xc7s\ +p\xc0 )\xda\xeb\x8f\x94\xec\x98;#\x15\x16\x07\xc8\ +\x8egf\xa6\xb9O\xa6\xe6\x0f\xff\x11\xca\xf7\x97\xf10\ +\xb9^\xa8\x99d6\xf2\xd2\xc3\xe3\xe8J\xbd\xa5\x9fw\ +:zP\xf48o\x9e\x0b\xeb\x8c\xd7\xd7\xac\xc1g\xfe\ +\xa3m\xe0L\x0a\xa2j\xd9\xbe\x0b\x87\x0dG\x06\x86\xc9\ +\xac\x83\xcb\xb8`\x9d\xe7>!\x9e\x87AO@\xc2\x99\ +\xb7t\xf8X/\x11\x01\x223\xb0\xa6\x1d-\xda\xa0\xe1\ +\x80\xe0\x181\xbf8?\x18J\x04\xae\xc8\xa8c\xc0\xf3\ +\x1f\xf7WmWok\xd6K\x1ca(\x9c0\x9d\xb8\ +.\xaes\x99\x19\xad\x05\xda\xa7Z\xb5;\x9c\xdb\xf1\xfe\ +\xe3H\xf2w\xb4\xed[\xc8\x8e(\xe3\x06Q!\x02>\ +g\x09M\xc9\x11\x19U\x02P<\xd7\x9dG\x87;\xdb\ +\x0e\xdd\xe2y\xb3\xc4\x8c\xd6\x00\x8e\xffzv\xa8\x09\xbc\ +P\x0a\x80#\x8b\xa3K\x06\x9c\x00\xc2\x9d\xcd~\xd7\x9e\ +\x9f\x03\x8ai0\xc2\x18b\xde\xcf\xb6\xf5#\x93\xce\xbe\ +\xc2sw\xe0\x1bfHf\x9cp\xa4\x09\xe0\xb0\x1e2\ +\xee\x08\x5cc01\x0e\x08,\xc04\xe0~9C\x94\ +\x01\x22\x1c\xe0\xd9\xc0\x10\xa2\x82\xbc\xcfx`\x9c\xc0l\ +\x80\x99\xc0\xf9QC\x8a\xfa>\xcc+\x02\xd73\x9a\x02\ +\x048\xa8\xd5\xcd\x80\xac\x1d\xbf,i\x81\xe9\xe0\x8c_\ +\x06\x0e(5`\xbft\xa0rxXhJ+\x11\x01\ +s\xdb\xe8\xb4{\xb8\xbf\x88\xd0\xc9\x8e<\xb6f\xe2\x87\ +=\x85&p\xc1\xf5\x93\xa1\xa3d\x85\x92K\xaf3\xa9\ +a\x80\xbdIi\xa4\xed:J\x0a\xd2qw\x00<\xc5\ +\x99\xd1\xf6\x81\x09J\x80\x87R\x03\x02\x02\x88\x85:\xf0\ +W\xda\xbe.\x5c\x19\xa9\xdc\xc7\xd2\x85\xe6\xaf\xd5\xee\x83\ +B\x9e\x99g\xd7\x80S\xfb\x9b]\xadX_`\xcaQ\ +zJM=T\xee\x7f\x8d%\x1b)\x1a\xe8\xfd\x9d\xae\ +8\x19\xe8\x10\xd3\xf6\x8c\x9a1\xcc.Bn_\x97\x9a\ +5\x04N\x10\x15\x94&\xc1\xdfM\x19\xffOC\xe9'\ +@\x06\xb3\xc4\x9a\x13\xfd\x05B\xa3A@?v\xec \ +\xd7\x96'\xf3\x81\xdf\xa1\xe6\x7fe\xa1\xe9\xb2\xf0\xff\x84\ +J\x91\xc7\x81ASj\xee4!\x8e\x8f\x12\xaa\xbd:\ +]i,\x91\x98_F(\x81\xf9\x92\x89\xceu\xc2\x0c\ +\xbb\x0c\xec \x9a\xe8@\xca\xf0uw\xfb`>\xb2\xaf\ +\xb0\xbf\xad\xe0\xc0\xd4\xadf:+\x10\xf0v3\xe3\xe2\ +yO7\x0flVE\xc1\xd1\xe0)\xcc\x86\xb0\x17\xe6\ +.\x14\x9a\xb6\xbf\xae!\xcf\x00\xc5S\x85\xf8\xdc\x8f\x02\ +\xe7WM\x80\xfeoB\x1c\x7f\x228\xf0\xbdBS\xa2\ +C\x97\x0c\x02\xac\xb2j\xdfS\x19\x17\xd9\xe6\x92\x92\xec\ +\xd2&!\xee\xd3\x1b\x02\xb1\xcf\xcd\xdf\x1b\x10E}\x87\ +\xc0\x8e\xb5\xcb\xc1\xfc\x1b\x85x\xffCB\x1c\x9f*4\ +\x894w\x8f\x9a\x1e,4\x0c\x98m\xdd\x05\x81\x0c=\ +m7\xcd,a=\x8f}k,m2\x13\x82\x1a\xff\ +d0\xe1\x87\x99Y\x90\x091\xfc13\x9a\xd3>s\ +\x02\x0e\xd1s\xa8\xfd\xd3\xe3\x85\xe6\xb8\xb8\x10\xc7E\x02\ +\x8bZ\x03 \xf6\xed\xe9\xda\x82\xc5\xde\x0fh\x18\x82\xd7\ +\x8c\xdd\xda\xe8f\x92\x94\x7f\x07\xaa\xb2\x84\xd7\xdaO\xd3\ +\xd5\x043\x0cb\xdeN\x0f\x12\xaa\x9d\x19\xfbb\x09\x84\ +\xf5\xaf\xee\xf7\xee\xf7.\x81\x86\x22j\x9fZ\x06\xfe\x9e\ +L\x1c:\xe0\x96b\xa4\xbe\xcf\x99Hp\xc2\x9d\xae\x12\ +\xd9\x9e\x14\xc6\x815\x02\xf2h&Aa*\x7f\xa0\x8e\ +\xb3\x14\xb34\x83b\xfa<\xa1\xfa]\x0b\x0a1\xef\x92\ +\xc6Qr\xdfs\x0c\xdaRs\xfd\xc5\x1a\x99\xa3]B\ +\xd6\xa2\xb8\xf6-\xfb4*\xe2\xf9\x08/\xe0w6\x81\ +\x02e\x16\x7fV#\x8a\xfd\xf5B\xbd`nhq(\ +Ntd\xf8-52B\x97\x80\xa4\xb4r\xe1P\xbe\ +q\xb8q\xf0]\xfb9\xbdOh6D\x02\x0do\x10\ +\xe2\xdf\x1f\x14\x9a~\xb9<(6:j\xf0\xbc!O\ +\xdf/\xc4\xf9\x1f\x1b8\xc6T`\x22\xeao\xa9m\xed\ +J@\xe0\x06g\xe0\xd7j\xfa\xa4cp\xb8\xa6=3\ +\x0d6\x10Jm\x09m\xa6\xb6k\x0cG\xa8\xa1l(\ +d\xba\xde'4\x22e^@\xe6\xaf\x08\x5cY3\xda\ +E\xa5\xf6\xdc:\xa1\x8a\x99\xb4K\xd3^\x8d6x\xa2\ +4\x1d\xd1t'\xc0@e\xe2(_\xd7{\xe3X\xcf\ +bx\xdf\xab\x0c\x90t\xc0\xa5\x96\xbbI\xd3\x1d\xc0\x8e\ +\xd2\xf0\x91\xc0\x116\xd0\xb6\xb1\xd8\xd1s\x9a\xe7\xa2\x08\ +\xec\xe3\x1b\xd5}\xa8\xb88\xb4r\xabo\xa8j\xc8\x94\ +\x9e\x94\xf1\xf0\x9f&0`\x83\x99H4\x14\xa6,}\ +\xa0\xed\x94)\x98\x887\x96\x85\xeb-M\x9fz2\xe5\ +\xd4\xa2\x8a\xa0\xf8\x1bS\x1b\xc3\xa0\x99^#\xd4\x8c6\ +\x0b+\x94\xb2B4\xba\xdc\x01\x8d/4\x0e\xa1\xbb\x03\ +@iL\x83S\x9f\xbf\xb2\x8aK\xa6\x18 \x81\xa3\xc7\ +\x16\xd2Rm\xb3\xa8\xeda\x0b\x07\x186\xf4B|f\ +\xf3\x9c\xe9\xd6\xe1q\x97\x8e\x9bF\xfb\xb7\x1a\x11\x1b\x8d\ +\xf3\xbb\x1a\x06\x82\xdbj\x15u\xda\x97\xd5>\xb0\xc3\xc1\ +\x81C\x1aq&\xab\xe4\x97\xca\xa7\xc3\xea\xb8-\x19\xa2\ +W\x981tf\xe3\x18\xf0\x1cq\x8c0\x90\xc9\xe8\xcd\ +\x1a\xccd\x88i\xaf\xe9\xee\x15\xb9\xc1\xbeV\xa8\xcfw\ +:/4\x11e\x98\x05\xd4\x10[\x13#\x1dW\x9e\x93\ +\xae\xe6\x14\xafwgU\x11?\xd6\x8f\xa2\x1e\xbd\xb27\ +\x96\x8dj\xade:f*D\xf9v\xfd\xbe,\xd9Q\ +d\xfe\xfb\x8e\xc0n\xe1\xeb\xfe]S\x13J\x86\x10G\ +\x97@\x02\x06\x0aG\xda\xd09\xf2\x8c\x01\x9f\x11\xe9\x97\ +\x8d\xd4\xb4\xcc\x8cQ\xa2\x80\xa3\x8d#c\xc7\x19-\x90\ +T\xe9&\xc0\xd8\xdb1\x82\xb1\xc1s\xa6\xb4\x04J.\ +\x0e\x9d\x19M\xa9v\xbb\xdfHqf\x9ce\xa6\x94\xd2\ +\x1b\x1c\x98Y\xed\x04\xb4\x04n\x11\x1aF\x00\xcc$\x18\ +I\xa8\x9b\xbbt,U\xd4m #V\x96\x149\xfe\ +n\xb6\xcd\x10\x22h\x0b|\xbd|\x9e\xff(aA\x85\ +\x9cL>\x8e\xa33\xf0\xc94\xc2\xb1!3\xcf\xe7\x99\ +\xef8<;\x80\x94\x0e\x05\x0c\xa1]\xec\x90\x9bi\x93\xda\x04\ +Oww\x09\xba\xaep\x9d\xb4\xa3D+\x80\xcc\x12\xdf\ +\x8f6\x04\x14\x7f2\xeed\xfc)\x1dc\xfc\xc3\x1c\xe0\ +<\xd9\xc7hS\xe7@A\xb6\x05d\xfd!`\xc2\xfa\ +A\xe0\x8a@\x14\xbf\xcb\xfe\xc8>\xceu0\xee`\x92\ +\xcd\xb4\xbd\xcc\x92\x10\xb4/\xf8\x1d\x98\x04\xec\x87f\xfe\ +d\x0d:\x0e\x0c\xf7I\xed\x87\xcf\xa9\xe2\xb59\xbfp\ +\x8c\x98\x1fd\xc2a\xba\xc1Xb\x9c;\x90D&3\ +\xdb\x819\xa0;=_\x88\xe3\x8f\x84f\xdc\x13\x08s\ +\x02\x82\x80=L\x86\xc9\xb7\x85\xc6\x8e\xf1u\xa76\x89\ +K\x032\xd3I\x00\x86D\x87K\xeb2\xb0H\xf7\x1d\ +\xd6K\x021\x88&\xc2\x1c\xa0t\x0d\x11;i#i\ +?8\xb9\xa0vS q\x84\xf8\x1a\xe2\xb90&\xe8\ +\x12D\x17\x17k\x5cd&\xd3\x01\xac\xc9\xc7\x84\xc6>\ +u\xe0\xa3_Sh\xf6;\xdf/\x12g07\xfao\ +\x8c\xd4\xf0\xb0nF18\xdf\xb7\xc2DXx\x80X\ +Y\x00\x00 \x00IDAT\xa8\x88\x90\x9d^D\x04\ +\x0f\x0ck\xe5\xc0\xf8\xfc\xc9\xfd)\xfd\xc9M`\x19\xc7\ +\xd7\x8c\xcfd\xf4:\x00\xc86\x9a\xf6\x0e\x81\x12\xef\xb3\ +h;\xa5\x18\x1a\x8e\x98\x03\xa6\xfd.B\xadyOq\ +G\x02\xbd\x1e\xef\xfdiB]\xa6\xfa5\x848\x9e+\ +\xc4\xf1W\x81_Z\xdd\xff w\x15\x10\x93\xe2\xd3B\ +-\x95(\x19\xf7\x98W\xf3\xe5?'\xac^cM\xa1\ +/\xd6R\x8b\xfe=\xfda\xbd\xec\x8e\xcbGJ|\xce\ +\xb3*6:\x06dY\x87\x19W\xb3\x81>\x18Y\x0a\ +`\x0c\xd5n#PT\xc4\xd1_\xe1\xf6k\x176%\ +\x17\xe7\x09\xf1\xfa(\xa1f\xa23\xf0\xb1\x81\x10\x7f\x7f\ +\xaf\x10\xc7+\x84x\xff\xedB\xbc~Z\xe0\xe9\xcd\xfc\ +\xd6jqSe\x80\x16&\xf6\x85\x0dCK\x8e\x9e4\ +\xcd>-\xc4\xe5\x1d\x168\xb4q\x84\xaf\x0c\x84\xbd7\ +\xbdS\x88\x7f\x7f\xa5\x10\xc7M\x85\xaa\xd55=P\xb0\ +v\xd0\xd9\x0dS\xeb]c\xe0|8W\x88\x7f\xff\xe4\ +\xf4S\xd3O\x95}y\xec\xe6f\xa6\xd6\xe4&\xa1)\ +\xd9a?x\xae\x19t\x94\x98\xd1\x0d\xce\x09\xa2\xdc\x1f\ +)\xd1\x85\xb9A\xa9\x13\x01m\xd69\xaf\x9f0\xb9)\ +M\x98\xae \xd4\x00\xc6\xb4\xfc\xe7D\xdf\x05\x8d\xa80\ +% ^\xef\xfa\xaf\x08e\xfd/\xa5\xac\x94\x84\xc7\xa8\ +\x1b\x19\xca\xfb\x8e\x01>ya\xf2\xc3\xc2\xaa\x1a\x03\xa6\ +\xde\xf7\xa6_\x11\xfeG\xb7\x9fgX\xcb\xe9\xe9\xa3f\ +\x07m2\xe3\xfe\x05*#;\xbb\xed\xd9\x1fJ\xa6\x11\ +%%\xbf\x13\xe2\xf3\x1f\x12j\x22l\xfai\xa12\x14\ +\x86k\x85f\x7f\xc3?\xc4\xee% O\xc0\xdd\xf6Y\ +\x96L\xdb\xefX0\xf7X\xa1RhKfI\x22\x03\ +\xdf\x14\x1aq\x1b\x1b\xe8\x88r *V\x22X\x97\xc4\ +\xf1i\x81M\xbc\x80\xc4\xdf\xcd\xbf6 *\xc6\xa6B\ +\xd3\xb7\xd7\x91\xcb\x127\xff\x90#\x8e\xc7V*\x04\xb5\ +He\x1b\xbd\xa7\xc9\x94\xb3Qy\xa2\xa8\xf9\xc1\xd0\xb6\ +\xfbA\x84\xc8\x8e{\xb6\xf9{\xadP\x1d\xfe\xacIt\ +$\x0b\x03?\xcf\x8fL,j\x8d/\x11\xea\xef#&\ +X6\xbce\x9bZT\x8b\xf7\x14\xb3\xea\x85\xde\xd0\xdb\ +\x9a@(\x88\x18\xd0\x18,\x12\x97x\x8c5\x02\xaeh\ +\x0cNU\xc4\x1d\xd4dZ\x18p\x18`\x18\x0e\x18 \ +\x18\x10LH\xfaMZ\xad\xbe\xb8\x0b\xbb4\x01\x19\xa9\ +\x8e\x7f\xaf\xa9\x0dw)D\xa1\xf4\x1c_\xdb\x92\xa4\xc8\ +\xd6L\x09E\xc9\x88=\xa69?\xc5\xf1^\xd3\xdc/\ +J\x1dh\xe3\xe7\xbe\xa2Y\x83.\xb1\xc4\xed\xab\xb8d\ +\xb6iTD\xfb\x5c\x1b\xbasM7\x02\x0c#\xf7\x9b\ +g\xa2\x10\xa9\xef7\x0e<\xb5D\x8cW\xd2\xc2\x80\xa3\ +\x9e5\xd5\x16\x83\xcc\x80\x0f;\x22m\x8f\xa4B\xbd\xba\ +k\x04\xdf\xd3,\xb8\x16_D\x1c\x86\xbe\x9c%\xdf\xf4\ +\xd5&\xd2\xb6z!\x17\x8fb-\x8b\xd5\x9a\xb1\xec\x1a\ +A\xe6`\xe9Q\xb543\xaaL\x5c(\xfc\x94\x8e\xe0\ +\xa8x\x5c\x11yDK \xfbg\x93\xe1\xb3\x18S\xd9\ +\x18\x97jj\xc9TJ\xf1\xf2F\xc4\x0f\xc6\x80\x19\x1d\ +\xd9\xe7\xda\x91\xd9\xfc\xfd\xb6\x7f8\xdf\x7fxU\xe5/\ +\xf9\xca\xf5\x9a\x8d\x8a>\xe0\x88\xd8\xc9px\xaf\x03|\ +7\xd4.\x10\xb9\xf1\xe2 ap\xf3{3\x8c\x80\xfc\ +<\x0c\x1a^\xcf\x96\xba\x1c8\xd6\xa2\xcd_ \xc4\xf1\ +\xa2\xc0\x85M\x9b\x1bj^1Xl\x08\xb2`\x12\xc0\ +,\xee\xc1\x92\xb5\x04\xa5|\xfe*\xaf\x17\x07\xd7\xc0\xd4\ +\xf4\xc3\x82\xdb\xae\xadnC\xe1\xd2\x1a\xb0!\x10I\xbf\ +V\xfa4\x17q\xba\x0f\xd4\xf5-#\xe7\x18\x86oq\ +\xe4\xdc\xe2\x89)\x86\xc3\x86xX\xc1\xd8N\xf0\xb7E\ +{\xa4PRq\x94J\x80\xed#\x8d\x83C\xc9\x903\ +p\x88Q\xa2^\x9b\xaa\xcd\xd4&\xdbPM\xed\x11\xc4\ +sp\xb8p$Y\x7fX\x9fY\x87\xc8\x80\xc3P1\ +\xe3')\xcf\x18h\xb3\x8e2\x81\x0a\x02?0\xaf\x9c\ +\xd9L\x07\x12G\x0e\xcd\x0ej\xa0\xc9\xd8S\x1b\x8fv\ +\xc1G\xad\xbeKD\x9fL$b@t\xd7p\xe0!\ +\x0dy\x1c8\xce\x87\x00\xd6\xac\xa8+\xeb1\x19d\x1c\ +|\x02\x15f\x08d\x0d0\x06\x03\x81\x8f\xfb\x1c\xf8\xe2\ +w\xf8w\x1cP(\xe9\x7fs\xe0\x97\xcf\xe1P\x91Q\ +\xf9\xa4k\xda\xb7\x1ck\xe5s\x1c\xf0\xbc\x9e\x94\xa5\x0e\ +#\x93d\x1d\xefKw\xf8>3\xde\x9e=yV\xd1\ + \xa1V\xf0\xcf\xbe\x0f\xeeFP\xc4V\xaf\xacmj\ +\xf3ys_\xa9\x01E\xfb\xe0Y\xa6\xa2\xb3\x8f\x901\ +\xc6PAm\x9c\xdazD\xa50\xcc\x19'8\xee<\ +\x07\x9e7\xfb(\x99t\x02\xec\x04\x8e\xb9n\x184h\ +\xeb\xa0\x16\x0eC\x08m\x1e\x98C\xec7\x16\xe1J\x06\ +\x1b\xe7E\xf7\x0b\x8b\xbe\xa5x\xa3\x03\xe9i\xb8R\xba\ +G\x89\x09\x8c\x09\x07\x8cS;\x02G\x9d\xf5\xd0\xe3 \ +\xc5_\x11\xcdb\x9c\xe1a1^\x18'3\xa5\x8b)\ +zgM\x9b\xfe*\xa12\xe2`\xc6\xa4\xb8\xa13\xfb\ +\xec[YzF\x09\x9d\xcf{\xeeJ\xa1\xee\xf3\xa8\xde\ +C\xb5%\x83H\x89'\xed)q0s|;\x00\x9d\ +\xcf\x151J(\xc20I\xd8\x0fa\xfc`G\xa1}\ +\x80x\xa0\xdb\x83\xe6\xbai\x11\xac\xd4N\x81\x01\x888\ +\xd6\xfb\x85\xba/d\x1bM\xf6W\xaf\x0f\xe98;q\ +\x90\x09\x02(\xfe{\x98\x91\x80x\xb0)\xe4%\x83\xbc\ +y\xdc\xf7w\x0b\xcd:G\x1b\xc8\xf7\x9ab\xbf\xc6\xa8\ +UE\x06>\x1d\xf2U'\xabLV\xad]\x14\xa4y\ +\xaf\x80mR\xa4iK\x88v\x04Z:\xd6H\xe8O\ +\x16,Z\xf8\xf9\x86\x09J@\x00\xc6\x08\xed\xf9,\xba\ +[\xbaC]ZK\x07\x8a\xb6\xd7eu[\xa8\xf6\xcat)!\x8e\xcf\x17\xe2\xb8\ +\xab\xd0\xa8\xd9\xaf?l0lP\xc5\x15\xe5\x0d\x14\xaa\ +\xbc\xed\x86\x0c\xec\x120\x87\xc9\x09C\x0a\x86&\xeb'\ +\xf6\x01\xa5\x81\x94x\xd1\xe6\xce%\x08\x04\xea\xb0\xaf\x08\ +\xa0\xa1\xc54,,\x14\xca\xfe\x02\x89:\x17\xbe\xf1S\ +\x8a\xbdr]\x09\xacq\x9fd'H|\xfe\xba\xc0\xb5\ +M`\xd0\x8c\x82\x5c\x97\xfcz\x18\x86\xa9\xba\x9f\xf4/\ +\xec\xb7\x16\xb3;\xed\xfd\x7f\x09\xf5\x98\xfb\x03L\x1c\xc4\ +\xd3\xbd.\xf4_\x10j7\x05\xecj4Y21M\ +I/\x0cE;\xe4iG\xc0\x00 q\xc7>\x8a&\ +\x8c\x13\xdeY\x9a\xfb\x18\xa1\xb61-b\x88w\xd5D\ +\xfdp\x89\xd0h\x0f\xd8oG$y\xc1\x82\x0b\x031\ +`\xa6\xc7\x08\xee\x17}d\xa9\xb5\x098\x92xCm\ +G\xc6\x89\xce] TC\x00\xf5\xfe\xf2\x80\x162\x95\ +\xe4\xdb\xb5\x8d^R\xd9\xa8\xd5\xa7\x96\x9b\x08\xa3k\x93\ +\x8ac\xbfZS+.\x07^\xa2\x0a\x8b\x8c\xea\x9fD\ +\x88\xa6w\x09M\xdf_\xfa\x9c\x7fK\xa8\x0e\xd7\xf0\x1c\ +\xa1N\xec\x14ya\x03\xc5\xd0sM8\x01\x83tD\ +\xc8\x9ca\xc0\xd2-\x01\x15[j\xe2\xdd\xee\x0b\x91\xbe\ +\xacm'@\xb0W\xc1\x18\xc0\xd8\xa5\xe9[\x8f\xe8\x9c\ +\x22\xe2'\xf9zVi\xda \xe2X\xcd:\xfc\x18\x0a\ +\xd4\xc6B\x01$\xd3iGlxl`eG\xc4\xb4\ +@\xde%4T\x7fD\x9b\x5c\xbb\x9d\x0e%\x06\x05\x94\ +J\xce\xc3\x94\x1d\x9eg\x19P\xe1\xd8Lo\x17j\x0d\ +]\xb61s\xa6$\xc5\x17\x9dYf\x81H\xaa&\x91\ +,\x0c\x166pO\x90\xd2\x85a\xa3\xa6]\xd4\xf1E\ +\x87v\x0cT\xec\xdcD\xe4\xd5\x1e\xe5\xbef\x83~\x96\ +\x0dZk\x03\x94\xcc\xfd2\xa6\xfc\x7f\xb9\xc9l\xf2|\ +P\x9d\xa7\xd6~l\x90U\x1d.\xdd\xe7\xcb,\xceq\ +\x7f\xad\xfd+\x99\xa9'\xd9 \xffn5\xe8\xb4\x9c\x96\ +\xfe\xa423_\xd0D\xa0\xe5\x06-\xeb@\xc8\x0e\x8d\ +h\x17\x1b\x11\x11<(\xa1\xb3\xfd\xaf1\x8c\xc9\xf8X\ +\x84\xafP:?\xebZ\xac\xaf\xd90\x7fT\xb30k\ +\xf44}\xa3\xb9\xce\xd4\x22p\xbb\xbc\xb2\xbc_\xd7\xd4\ +n\xaa\x9b\xc2\xd5\x16\xf3\xfb`\xa3V\x8a\x88\x98F\xf3\ +V\x16):\xa4R\x01\xb3$\x02G\x84q\x8b\x05\x82\ +#3\xeb\x08\xf2>\x1b7\x814\x07\x90\xd8\x88\xd3`\ +\xf4\xfd\xcbZ8\x19\x0c\x8flD\xaaD\x19\xdd\xcb5\ +T\x8b6\xed\x0d\xb5\xb1\xcaA\xfcxA\xcd \x8aH\ +~b\x15#e\xe3\xa1\x06}\xbao`?\x8b%]\ +\xd0\xb4\xe3\x84\xf2\x8aJ\xb1\xf23\xe7\xdaqX\xa4\xd1\ +\xb6\x80\xda\x8f\xe1E\xd7\x0c2\xd5\xdc\x07\x1cY\x0c\x11\ +\x1b\xa6j:Z\x1c1\xb7u!\x80\xa4n\xb8e\xbc\ +!\x1e\xc7\xf8\x86\x12\x8a\xe1hQ\xb5\xec'\x8b\x81E\ +\x9bF\xb4,\x08\x5c\x11 ]\xdd\xf3\x0fG\x9c\x8c'\ +\xeb)\xbf\x87\xc3\xc6s\xa5\xf6\x92\x00\x80\xe7\xf1\x84\xc0\ +&\x9f\xe3y\x13\x00b\x9c\xccR\xa31\xcc-F\x16\ +\xe6\xd2H1\x5c\xca\x06\xdd\xdd6L^\xe8\x1awS\ +m\xb3+\xc6\x8b\x85\xc6\xe0\xc2\xf0\xc7\xd1\x22r~\x91\ +\xd08\x04\xa8\x87\xcf\x96.\x90\xf9CT\xd1\xafS\xd3\ +\x00\x87\x15J;\xf3|\x15g\x84g5P\x16qF\ +\x99\xee\x06\xeb\xfb5L\x99\x85\xfc\xb9\xc5\x1c\x90\x98\xb3\ +c\x0b\x93\x0b\x8d\x06\xfes\xa0V\x92\xa5\x851\x06\xe5\ +y;\xa18X\xa3\x9a\xf8\x17\xc6.=Y\x02\xc5\xf3\ +\xc1a[\xcf\xf3\x90\x00\x06\x81\xbbZ\xa3\xfe\xdf\x8e\xfa\ +\xec\x11\x83\x86\xfd\x94qB\x09\x0a\xeb?\xeb6\x81u\ +\x02\xcd\xacwPF\xd9\xaf\x10\xdb\xa4T\x80\x84\x01\x81\ +\x01\x02\xf0d\x06\xa1\xdcC\xb1\xe5\xfc\xb0\x0f\x18\x87P\ +\xf5\xd9\xa7\xb0#L%\xc7 \x83\xc1Q\xc4|7o\ +\xda:\xfeFh\xdaV\x92\xa1f?\xa7Fy\xb6d\ +\x00m S\xf1\xa1\xd6g\xa0\x04*;\x19[;\x0c\ +\x88\xafe \x8a\xf9\xc3\xfc\xa7\xdd\xae\x03\x89P\xd1s\ +\xde\xda\x8ea=\xc2a\xce\xae\x22n\x07K\x86\xba\x7f\ +\xa5P\xb56\xfa=\x84&\xb0\xc0u\x11\x90`|\xc3\ +\x04p\xdb\xbc\x1cg|\x9e.\x03\x888\xc24uf\ +\x9b\xf55\xd5\xf7\xdd\xde/\xf7E\xda\xefZ+\x84y\ +\x98\xed\xf5hOL\xc9\x9f)\xcb\x93\xc3F\xc7 3\ +\xff\xb6W\xe9J\xc5\xba\x90\x99S\x18\x04\xa8\xdf/j\ +\xd10\x8b\xa51^\xa6_\x17\x9a.\x01\x16\x7fK\xc7\ +\xc5\x0ep\x9e\xe7\xce\xa3]\xd3\x7f\x5ch\x02\x15\x9c7\ +\xd7G\xc9\x00%\x22\xb4O\xc5a\x97\xc3/\xd5\xf9\xe7\ +\x0a\x0d\xf3\xc0v \x8e\x00]h\xfa?\xf47\xf5\x7f\ +\xa8\xed$\xb3-\xdfK\x84Z\x22A7\x9f\x0cl9\ +PF\xdb\xef\x92\xb0\x95c\xf5\xc4@<\xe7\xfe\xa7B\ +,S\xcf\x12\xe2x\xb1\x10\xc7\x1f\x04~X\xb4A\x8a\ +\xf8!\xf353\xc6\x04|dg\xdf\xe5y\xfc\x09'\ +t\xda\xbe\xf0\xacG\xec\x1b\x0f\xd8~g\xbc\xc1\xd0!\ +\x80\xc7:\x8a\x9d\x0f\xe3\xc3bz\xfdzB\xcdT\x93\ +\xd9O\xd5\x7f\xab\xbfg\xc0\xcc\xe3\x12F\x22\xdd\x0d\x8a\ +\x9d\xf5\xda\xa64@\xeb\xed\x8b\xaa\x18`i\x078m\ +4\x9bHh\xe27\xc0 \x22\x00\xef\xcc\xf1\xf4t!\ +\xcek\x1b!\xcc\xa5O\x05\x8e\xab\xe2~\xf3\xe7\x0a\xf1\ +\xb9/\x08\x0dE\xfeB\xa1a6R;\x7f\xa9P\xc5\ +\x90\xb3=/\x8e*\x22\x9d\x94\xe8\xa8\xf4r\xb7\xa6\xdd\ +\xa3\xc7U\x06\xc8g\x18~\x9e\xd2\x99\xa7\x16\xdd\xf6j\ +0\xdb!\xc5A\xa3\xc6.kF\xa9u%\x13\xcb\xb8\ +\x125\xf4\xd2f\x01\xa6\xcb\x02*\xc6_\x15\xaa\x08e\ +2\x7fd~\xfe\xdc\xb5\xcbg4\xb5lP\xa7\xc90\ +\xb9\xbbB\xaa\x05\xdb\xe1J\x95\xe6o\x8c}\x8a'\x7f\ +\x18k(q`3c\x89a\xc3}\xc3 \xfe\xac\x99\ +J\x1e\xbf\xc3\xd7L\x05\xb6\xd6D\xf6\x97\xe69\x10P\ +$\xc3\xed\x083\x0c\x0aD\x1333Bf\x9d\x08\xfe\ +\xd2v\x906vfx[g\x02`\xb0\x90Y!\xc3\ +\x09c\x88}\x83\x0d\x08\xc7\x98\x00\xc26\xa6\x0c\xce2\ +\x03\xf8<%OO\xb1X\x22\x0e\x1fm\xa8\xa8-D\ +{\xe1\xf9n#\xf4x\x8b\xa9y\x9f\x98|w\x14W\ +\xccu\x9a\xf5\x8e\x8c4\xed\x16aZ`\xb8`\xa0\xa0\ +\xe9\xe1\x1a\xbet\x18y>d@\x08\xe0@AG\x94\ +\x0d\x07\xf6\x19v\xb40\x88L\xd5O\x87\x94\xc0\x00\x0e\ +7b\xaa3b\x81)\xca\xb7\xe2\x8ca4\xdbg\x9e\ +\xefc~\x91a\x80b\x0e\x85\x1c\xcd\x0e\xda\xf5Yu\ +\xb8\xf4\xfd~u\xe3X/\xed\xfb\xc1}q\x807\x1d\ +m\x02\xb9\x04d\xc9`\xef\xee\xcc>\x99\x5c\xf67D\ +\x00yM\xe0k\x96q\x01\xf3\x87\x00\x00\xe3\x0c\xc7\x95\ +\xfd\x02q7\xf6E\x98\x00\x04\x00\xe8b\xe3\x006\xfb\ +cR\xfa\xa9\xe1g\xbd\x22\xb3\xea\xf6N\x19\x18\xb3\xca\ +r^\x1fZ6\x04*Y\xc7\x19\x9f\x18\xb0\x8c\xb7\xd9\ +\x12\x02\x9e\x1f\xfb(\xf3\x9d\xfb\xc58#S\xef\xfd3\ +\xfb\xb8\xa3\x0a\x8e!n\xd1\xe4\xdcg\xdfU {d\ +\xa3b\x8f\xa8\xc9\xef\x0eUu~r\xb7P\xed!J\ +\xac\xb8\xbf)z\xea}a\xb8_h\x984\xd8Q^\ +\x8f\xfbU\x84JmM1J\x02\x03\xb3]``\x02\ +\xb0.\x13\x00\xa2\xa6\x1e\xc6\x1f\x01@\x972\xd0\xd7>\ +\xd7o\x02\xcd\xdc?\xee3\xed \x19\xafP\x8d\xa9\x85\ +\xa7-\x18j\xee\xdcW\xd7\x1e\x13\x18e~\xf5\x97\x0b\ +\x95)\x156\xc6\xb8OZ\xa3\x88@I\xe1\x8d\x899\ +\xb6\xd2\xd8\x97\x9b\xef\xcb\xef\xdf\xc5\xd4\xef\x03,\xfa\xb7\ +\xe9h\x17\xa0\x9eO{\xbd\xfe\xefBcObw\xf1\ +|(q\xb5\xe8q\x09t/\xec\xd2\xd0\x13\x9a\xf7a\ +\x18\xd0?\xde\x0e\x5c\x7f\xb6Pk\xff\xa1\xae\xd3\xc5\xa1\ +\x94\x98Ok\x89%m\xca`\x0ad\xe0AZ\x01\xb2\ +\xd7O\x14\xe2\xf8\xc8@\xcc\xdf~\xaf\x80\xc4\x01\x17\x04\ +\x94@\xdcG(\xbf\xb3\xa1~'\xb5@\xec\xf8\x8bO\ +W\x18\x08\xb7\x0a\x8d=\xee\x12\xa2~{\xa1h\x1a\x94\ +q\x99\x01K\x18#\xd8\xa9\xb3\xdd\x84\x98_\xecs\xec\ +3\x04\x066\xf3>\xe9\x12\x97\xbc\x1ft\xb5p{\xc5\ +\xc2\xfcX\xbci\xc3\x87\x06\x01\x1aX\xd6L\x88\xab+\ +\xd7\x87]\x94\x22\x8d\xba\xff\xdb4\xed2\xe9^\xe2\xf5\ +'\xbbf9\xd0\x95\xe2|'\x07N\xaa\xf6\xfc\xf4/\ +\x823\xc0\x0aL\x1d)\x84\x19u\x92\x10\xaf\x7f-\xc4\ +\xe7\xdf(\xc4\xeb\xa3\x85\xcaH\xcc\xd2N\xf9U\xab\xd5\ +\xf5\x8e\x92\x8b\xec\x9aB\xcd\xbe\xc2e\xdf\xaf\x0eha\ +\x84]\xd5\x94\xdap?\xbc.\xe68\xf3\xfa\x92\x22\xbb\ +\xeb[\x83\x87\x00\xeb\xdb\xc6\x00\x5c\xae\xe7\x04\x10\xd0*\ +\xb1F\x09Z\x12\xc9du\xe9v\x8a\x04\x22\xda\xe8\xfb\ +P4\x9d\x96\xf3\xfa\xda\xbb\xcd\xb3\x18\x1e\x1f\x11\x9aR\ +\x87\xe3\x84&\xa1\xe2\xae\x11\x88i\xa6\x1dH\x06\xfeS\ +\x92\x19t\x1b\xea\xed\xebu&#\xd8\xfb.\x9a\x1d\xe9\ +Wz_MQ\xc0\xf7\x0b\x0d\xc3|K\xa1&\x88a\ +\x1c\xa7\xb6\xc6\xb5B\x0d<\x90pf\xfc\xc3\xf8\xa1[\ +AjFQ\xda\x0f\x13\xd2\xf6\xf5\x02\x22\xec\xfd3\x02\ +\x9b6'\xe6vZ\x19\x11\xd6\x02\xff}?\xc8\xbf\x99\ +*}h\xadA\x9c\xae\x1eX\xcd\x19\xe7\xc7X\xc4\xec\ +\xe3\xa6\xea\xbc\xaeRi\xcb\xc2\xfe\xcc\xa6\x16\x0b\xd1.\ +(\xe8\xdaX\xe8O=4\xff\x8eX\x9b\xdb}\x91!\ +\xed\x9f'\xc4\xe7\xfe\x13x\xa8\xf6\xfb&b\x8c\x98\x17\ +\xb5(\x19\x09d\x83g\xa0A\xdd\xb2XB\xff\x0a\xa1\ +f\xd4\x93\x82\x22\xaa\xe8\xcdM\x1b\x18\xb9\xe7\xa75\xea\ +\xe6P e\x0e^mG\xfa@O\xac\xb5K\xdb\x8c\ +7\x89\xaa\x8c(\x0cb6\xf4\x87\xcc\xf6rn'\x91\ +\x1b\x943Xs+\x04\x96\xaf\xfdK\xb3m\xde\x0cU\ +-\xd5f\xadZ\x9b\xfdeU;\xa4\x0d\xe5{B\xa3\ +\x8e\x8e\xa1B\xfb9\x0c\x15\x22\xd9\x88\xed\xe0\xd8\xb2\xc0\ +\xe2\x90\xd0g\x5c%\x18\x9b6\xb5\xa9\x18\xb88j8\ +$\xf4;&\xd3\x80:\xfb\xd9BS\xf3gqJ6\ +\x1a\xda\x9c\x90\x89%s[\xf2J\xab9\xc2\xb8\xbe#\ +\xfaok\x0c/\xa8\xea\xaa\xe9\xffE-=@$\xa8\ +\x8c\x8aE\xbc\xc1\x1d\xd78\xe6\xd4\x18\xd2V\xc8\x91\xf2\ +\xe1D\xa1\xd9@T\x9b~pC\xc5V\x84tw?\ +\x87?\xd46D\x88M\x16\xf3\xfe1\xa6Tm\xfb?\ +\xc4\xc5,\xeaQ\xcc\x1aQ\xe6v\x15*\xa5\xa9{k\ +\xe0m\xce\x84\xada\x03q\xde\x01\x81\xfbg(\xca\x0b\ +\x9a\xcc\x0a\xbf\x8b\xf8\x9b\xdc\x84\xbf6\x1b'\x1b$\x01\ +\x00\xae\x8f\xcc\x9c\x0d\xafak\xa1a\xd0(\x9f\xa3\x8d\ +\xe3\xedB\xa3j\xcb\xef\xf09\x1c{\x1cz6^\x0c\ +|\xfe\xe3\xfdY\x0d\x0a\xda\x90\x9az9\xdc x\x1c\ +>\xa1F6\xfbo\x0bV\xf1\x7f\xb5\x99\x03\xef\xaf\x86\ +t1\x98\xbe\xe6\xf6d?n\xc4\xa0\xe4\xee\xde\xe1\xdf\ +[\xaa\xe9S\xabR\x99[<\x8e>SE\xd3R\xe3\ +\x83\x00\x0c\x8e\x82\x98M\x87\xd5\xee i0AA\xb5\ +\xe3S\x98\x15W5\xeb%L\x0d\xbe\x8f\xfb\x85!\x83\ +C\x83AJ\x00\xcd\x19\xedt\xe8p\x94\xe9\x9b\x0d\xa5\ +\x16\xc7\x14\x87\x95\x0d\xf8\xc8\xc9Q\x93\xa3\x9a\xdfc\xbe\ +\xc2\x80\x22C\xb7O\xe9#Q)\xf8dTq,Q\ +\xc1\xdePh\x0c{\xd4\xe6a\xf0 \xfeEf\x1c\xc6\ +\x11\x0e\xafE\xf7\x10;\xcc\xfb\x82c\xb8\xda\x7f\xf7\xa3\ +\x87\xda\x96\xbfg-\x94B\x14|J\x13\x98$ \x81\ +\xc3\x8dax\x85k\xf4\x99\xa7\xdc\x7f\x02:8\x9ck\ +\xd9\xa1\x86i@\xc6\x89\xfb@&\x83Zx\x0c\x1e\xfe\ +~\x033?p\x98\xb9\x8f\xb3\xcc\x80\xf5\xed@\x9a\xd2\ +\x9a\xef3OX\xd78r\x1d\xdcG\x1c,\x1cw2\ +tP\xcd\xa9A\xc7\xf1$ C_m\xc6\xc1\xd3F\ +\xad\x8c\xec\xaf\xbd\xc0\xeb>\x81\x1f\xee\x0f\xa2\x8a\x04\x9a\ +\xac\x1e\x9f\x81\x22\xfe\x9d\x00\x0f\x01\x0aJ=`.\xe0\ +8\xe1\x88C\x85d\xbf\xe6\xba\x08\x90P\xaa`\xed\x8b\ +\x14\xcfd\xff\x82i\xf7\xff){\x13\xb0\xed\xc6\xea\xfd\ +\xff\xbd\xf7\xf3\x92\xccs\x99\x87\xc8L2\x94yxe\ +(\x92!\x222\x95\xc8,\xf9\x16R*S\x86\x92(\ +Q2K\x99I\xc9P$2Ef\x09\xa1\x0cEe\ +\x0a\xb9\xf7\xfe_k\xed\xf3\xb3\xaee\xfb}\xff\xbf\xe3\ +\xf7\xac\xe3\xe8\xe9\xf1>\xc3}\xef}\xed\xebZ\xeb\x5c\ +\xe7:OF\xac\xd8\x07\xd1p@\x0bF\x89\x11*\xf4\ +\xb1\x0eq\xe5@\x04\x12M\x1b(\xfe\xa2\xc6\x8e\xd6\xb1\ +H\xeb\x0a\xc0A\xeb!\xb96\xf4\xeb\x95\x19z\xae\x1f\ +\xf7\x83}\x17f#\xccIu\xfcC\xab\x88\x112\x98\ +\x0fJX\xc3M\xe0\xbb\x12\xcb\x85\xa1v\x8c\x9e\xef'\ +\xfa\x86E\x88\x85\xf2{a\x22\xf0\xdcp\x7f\x19\xc9\x80\ +\xe2\xbd\xa7E\x02V5\x22\x14\xe73\xb6Y*\xc8Q\ +A\x8f\xf7\x095X\xcfK\x88?2S\xfek\x8b\xf4\ +\xba\xb8oC\xc6\x03\x1dtF\x98\xe8x}F\xfb\x93\ +F\x04\x02\xf0D\x5c\x8dQ\x22F\xd5\xa4Q\x12\xf6j\ +\xb2\xef\xe3~\xc7H&\xcf\x11\x22~r\x81j\x1f\xb6\ +H\xfb\x0f\xe2}bj\xd08\x09f\xe9\xfc\x02 \xa4\ +\x95R~\xbb\xff\xbdI\x07*\x1f2\xa6\xc9G\x92;\ +\x03\xb6\x820\xc5`B \xea(\x06\x17\xa3\x0f\xcd\x9c\ +%\xe6\xa8\xd4c\xa8\xca\xa3wJK\x05\xc6\x81Fn\ +\xa3\x83\x0d\x83\x05&\xc4\xab\x12%T^\x886B\x88\ +\xfe\xe1K\xae\x0e&\x00\x91\xdb\x98}R\x9d\x5c+\x9c\ +\xb7(\xb1\xb9\x98\x00V\x10\x1fkQ>\x9fU\xe2\xec\ +\xa4\xe5$7\x01\xb4\xbe`\x04L|g\xe2\xc4\x89\x13\ +\x9d\xb9u\xb8\x8d8\x96\xdc\xa6\x1f\x8d\xb9E\xf7\xeb\xe0\ +\xde\xe6\xb0\xdbO\xb6\x7f\xac\x07\x18\xc9\xcc\x82\xb3o\xb2\ +O\x0f\xf3\x8c\xc5\xa51\x02\x83G\xfb_)\xf7|\x94\ +\xc3<\xa7\x5c\xab\xe9=.+[\x19\x1b\xf8\xb5\x8b\xca\ +O\x01\xd7\xdch\x91FDpe\xd09\xef\x05\xdd\xa4\ +\xb4^4\x92\xeb\x1dg\x1bi\x9aO#\x11\xbfQ\xfe\ +\x84\x86\x0e\xeeR\xcf\xfbPX0\x19c\x14\x8c\xd1Z\ +5\xa4P\xbd\x8f\xc2_\xe2\x9a\xa1\xa9\xc6h\x13v\xc4\ +4\x0e\xe4REG\xdb\x0b\xca-\x94/\xfd6i\xda\ +\xa0-e\xfb\xc1Y\x12\x7f\x9cO\xc0\xdd\x91\x95Y\x1b\ +\xe7\x09b\xb5\xd4\x950n\x01v9w\xb5O\xa0\xa1\ +\x11\xea\xff\xb2\xb5\x0d\xfb\xcf[,*\x00\x8c\xa8}\xd8\ +\x96^oQ\x1b\xc3L\xbe\xb8f\x831\xdd?Sb\ +\xd7\xc4\x8c\xd4\xbe\xd8lf\x91\x18\xcd\xbf\xedn2*\ +}\xbb\x89Er_b\xd4R\x8d\xc9\xd8\x97\x10\x87\xae\ +\x1a\x01\xbd\xc6\x09L\x13\xfd\xbd\x89C,\xca\xaf\xb9\xd7\ +\x22\x01\x1d\x1a)\xe8\x0e\xb1H\xae\x14P\xff\xe5\xae\xd7\ +m\xa3\x86/\x22\x8e\x02<\x10sD#.\x5co\x10\ +\xfbU\xdd6y\xbck\x89\xcfj\xb6\xeb\x09QS.\ +O\x94P\x9b\xdcx(\xd9\x14\x99\x1d\xcc\xe1\xc9\x16P\ +\xb3\xb7\xf1\xf5\x19\x12+Q\x079f\xd1\xcdOs\xfb\ +\xb4\xe1\xaaS\x05\x02\xc9\xacdP]%\xf6\x16\x07\x87\ +\x95\xd7\x97'\xb5U-\xc0\xf0M\xd5L\xb6/\xe3Y\ +S\xe2\xae\x0b\x1a\x1b9\x880\x1d\x0cf\xd4E\xf1\xa5\ +S\x88_)T9f\xc0\x99\xcd\x0a?W\xc4\x08u\ +\x90\x052%\xaac\x88;\x0d\xc5\x92\x84\xecFbA\ +B\x01\x85\x17\xb5c6~\xd9\x0d\xc6,\xd1\xe1%\xbe\ +\xa1\xce\xf1\xeeJ WL\xb3x\x86\xf8\x94\x03\xa7\xfd\ +P\x89\xf5\x93\xbd\x8f\xcd\x92?\x9afY\xb0\xc9\x9a\xcf\ +\xc9\xa8\xfd\xac\xe6\xa6\x9a-\xfb@\x7f0{Bh\xe5\ +\xef\x7fS\xe1F\xc1\xa8\x0f3\x891\xb1\x1aG~\x7f\ +\x90\x12|\x8d\x16D\x87Y\xfe\xc9!\x12Da\xc4\x01\ +\x04U\x8aY56\x88\xbf\xf9\xb4\xea\xa4\xf6!\x8b\xaa\ +N\xdbMWbZ\xad\x93\xb9\x92\x88\x8f\x0a\xf6\x98\xdd\ +\xd2\xc1\x1en\x166S\xf7\xb4w^K\xa8\xa0> \ +\x15\x8a\x96~\xdeW\x0b\x17\x80-6\x9a@\xbeE\x19\ +u;\x96{\xebHG\xac[\xeb'>+1\x92_\ +$\x91.\xcd6y?douz\x9e\xa9*\xd3\xae\ +!0%=G\x96V\xaf\x95\xec\x86\xa0H\xea\xbaD\ +\xe2\x0be\x9b\xc2\x0d\xf1@\xa8\xfc\xc68\xe8\x19q\xe13\xfb\x1d\x9d\ +\x90m\xa52<\x04Fx]\xec\xb3\x14\x92\xdcGD\ +\xe7\xde\xa7\xdf\x03\xa3\x08 \x80\x04\x83\x82\xf2\xce^3\ +%l\x8a\xa6\xd3\xef\x99cp\x9d\xd8\xb7)\xdc\xb8N\ +\x14lPU\x01\xaa\xb8_0#:]\x07\xae\x0b\x05\ +,\xc0\x00*\xe6\x00\x03\x00\xd5\x14\x86\xec'\x00 \x14\ +\xfeb\xddp_\x01\xfc\x04\x88\xfb\xcc\xfb\ +\x89\xf5\xdc\x8eQ\x0d\xa8\xfcz\xff>\x1awp\x1a\xfd\ +\xa2\xb0\x96MZ\xb3Q\x89\x0f\xa7Q@\x89\xfb\xc5\x08\ +\x864\x8c\xa2\x83,\xf10\x00v\x18z\xa1\xc9 `\ +\xc6]\x8b\xf6\xa9\xdaPA\xb1\xc6n\xce\xf2\xcaS\x13\ +u]*\xfd\x91\x87I#\x8a\xd7\xdf\x5ck!F\xc1\ +\x15\xc9\x06P.0\x00\x0b\xf8\xb7\xfb`\xed=U\xa4\ +8|\xce\x9b\x92\xf7MN\xa3W\x88\x8e3\x1b\x0e\xe5\ +\x1e\xb7\x1a\x1a=\x8cv\xf1\x1c.\xac\xfd\x99\xfd\x94u\ +\xc2\xbe\x0c\xe04\xf7[\xed6\x83\xd9\xa6\xef\x0ff\x85\ +F\xca\xe2N\xa9\x00\x16n\x1a\ +1*5k_Ob\x93\x8d\x0bA\xb7V\x7f\xbd\x10\ +S\xc6\x0d\xa4\xbb\xdb\x22\x89H3\xaaaZ\x03mm\ +\xe4\x9a\xb9\xa5\xdb[^h\x91\x18\x02j\x04\xc7\x88\x11\ +\x0d\x09\xec\x15W\xb5H\xe7\xfc\x14\x89\xbd\xb2?\x93\x07\ +`\xb3M~\x86\xbb\x97\xdc3\xba\x03,\xcc\x06pe\ +\x8bZ\x90\xbb\x0a\xec\x94:\x93\x1f\xaa\xa2:p}2\ +\xe2\xdf\xea<\xa5\xc4\xc0G\x02\x8eR\xe7ow\x89\xb3\ +\x9d,\x11\x82\x1b\xabm\x1f\x22hQ\x00#\x96`\x94\ +\x97\xdd\x92\xa8\x08\x89\x1aTrT\x12\x95\xd0\xb0\xc1p\ +A\xc3\xa6\xcc\xd2\xc4\xbf&\x15X\xeb\xf8\xde\x9a\x12\x15\ +\xa8\xfe:X\xc2\x16G_\xc7\x8c\x18b\x22\xb2]k\ +\xee\xb3\xa8\xcc\x05\x90\xdf8\xe8D\xd9\x0d\x9fj\x12Y\ +!\xae\x81\xa4CU\xa5SfH\xe5\x0cB\xb4\x8e\x94\ +\xc8\xc73\xc9^\x88\xce\x1f\x0f\xbe\x12\x04\x1f\x09X\xbc\ +R\xce\xcd\xc4\xc4\xed\xcd4\x13\xe7\xb3\xc8;\x95\xdb\xf3\ +\xbe\x12\xcbi\x86\xa4\xfc\x9dv#\x8b\xf2\xf3\xcf\x96x\ +&Q?\xa1..\xe5S\x9e\xd1\x19vB\xcdu}\ +A\xee\x1b\xe6\x90RJ\xa2\xc3,\xad\xc4j\xd8@\xc3\ +7W\xd4Z\x1e\xc0\x185@e\x5c\xc8\x1e\xea\xc3t\ +\x04\xba\xf5-\x92(\x8c(;1\x8aa\x0f\xd0\xcf\x92\ +-\x90\xa5#\xbb\xa6\x83\x00\x0d\x02\xd9\xf8\x8c\xe6\xb3H\ +j\xe3t\x84\xe9\x14|\xcbK\xa5\xb7\x8b+\xa2\xc6\x0f\ +%\x91Y<:>t\xce\xd5\x81\xf7\x02\xffK\xa2\x8a\ +n^7j\xec$\x9d(|y\xda`\x17\xf0\x9ef\ +\xbd.\x00\x0b\x06p]\x94\x90T+\x17?\x91\xfe\xbe\ +\x11\x95\x7fU;\xd3\x91P\xd2\xc1A\x84\x8fY*D\ +GH\x9c\xf9\x18\xce\xa2\xf2\xf3k\xba\xaek\x0f\xbc<\ +\xa8\xbfsRu1\x08w\x87}K\xecS\x91lT\ +\xb5Aj\x11)\x8c\xc2\x06\xca\xaf\xdc:\x82*M\x02\ +\xd9\xbaNk}\x1dP\xb3I\xc0\x00\x04\x10yA\xdd\ +\x1a\xd7\x05\x98G:\xd8}Fv\xeb\xea_\xed\x89\xe1\ +\x9f\xc5d\x99:%\x9a\xd80B\xa5E$\x09\x9b\x1e\ ++/6L\xcc\x06\xb4QVs\xb9\xb3(d@\x82\ +\xd9G\xa2\xd3r\x87\x00D:\x5c \xb7\xeco\xea\xf8\ +\xbc\x8d\xfa\xcf\xa8\x07\x94x>S\xa8=\xa9D\x9eD\ +EL\x99P{F\xc5\x1d\x86\x12\x1d-f\x0d\xe9\xd0\ +S\xf8P\x98R\x88\x90\xf0\xc0\x88\xe1\xb9\xa0\xb0\xa4\x90\ +'qB\xe4\x8d\xd7\xc7L4\xa24\xcc2Ci\xd6\ +\xc1\x1b\x85\xe1\x07\x85\x98\xf3\xf7\xe9\xf42\x8a\x85H\x11\ +\xb6\x98\xd8v}C\xa2;\xf8\xf4B%Fl\x0f\x91\ +4\x0a6\x18`P\xe7)\xf8y\x9f|\xa6S\xcd\xeb\ +\x07\x10Y@\x80\xc6\xa0\x83\xd1Q\xa8N\xd1\xdf\xe5\xf9\ +z\xf1\xad\x22o\xe5\x1e\xf7\xeb\x98\xebI\x82:\xd4\xf8\ +\x80\x8a>\x9c\xc9\x07\xa8\xe0\xba\xeb|\xe0\xdc\x8e\xce\x11\ +\x94u\x00\x81\xa5\xf5\xbed\x83U\x8a\xca^<\x8c}\ +\x85\xf3\xf1\x8e~\x86=f\xb6\x17\x16\x83\xe3b%$\ +\x97wWtW$\x0a0\x85\xc8\x03J\x5c\x00`\xa1\ +\xe8\xf2|\xa3A -\x8ax\x9d\xb8sP(\xf3\xdf\ +\xb9\x1e\x00\x89\x00.\x14T\xbc_\x5c\x05\xf8=t\xe6\ +\x01\xa4\x958\xb1\xfeH\xec\xc2F\x94\x113:\xeb\x9c\ +\x03\x8c*\xb0>(\xec\x87\xf7\x01\xc0\x94\xe7\x93\xfd\x8a\ +D\x8c\xf7\xc1\xf7s\xee\xf2{\x19\x99\xa2S\xa4s-\ +\x18\x87\xf2\x9fg\xbdG\xc2\x0b\xc5\x1e \xeec\x936\ +\xf5\xe7\xe8\xb2I\x97\xfaH\xca\xd0\xa6P\x89e\x8c\x08\ +\xe0\xde\xa3\x99p\xce\xe3H$\x01\xc0T\x98#\x1a\x1a\ +\x22\xb2\xf8^\x03\xac\xe9\xfa3*\x1a\xc0\x04\x8d\x074\ +\x05\xe8D\xf3\x9c\xea\xe7\xa0\x18G\xc3\x87B\x8e\xf7\xc5\ +9\xc2\xba\xa3\xf0\x97\xd6O\xacc\x01\x85t\xb6c\xbf\ +\x11C\x09F&\xcc\x85\xd8\x7f\x19\x0d\xa4@\xc4\x8e\x10\ +\xe6\x8fD-G\xaf\x1b\xf74u\xda\xe8L\xdf\xdb\xfb\ +\xb3\xc7\xc8\xa7\xa8\xf7\xb1O1#\xfc\xf0\xe8!\x1fm\ +@\xcb\x04w-=\xa7q\xdd\x008\x10u\xb5\xaf\x8e\ +Q'z\xbe4j\xa6\xf7\xd5\xcce2u\xe5\xf3+\ +\xbd\xe8\x5c0I\x11{\x05\x08\xa4\xc1$\xe0q4\xb6\ +\xd0\xc8\xee\xac\xd5\xae\x99\xc24\x1a76\x227\x9b\x18\ +\x9f+\xd7\xd1\xbb\xd1l%fO\x14p\x1b\xed\xef00\xdam,\ +R#\x83<\x8e\x02\x91\xba\x00\xd7/\xa9\xc7\x87\xe8,\ +\x8c&\x80$\xec\x00eG\x17\x80\x1f\x0cV\x1a\x82\xec\ +\xb3\xe4\xb1\xc6p>\xd4\x1b\x1b\xbeOyg}S\xcd\ +\x96oT\x0b\xdcfG\x0bu\x86?Z\x99\xd4\xe1\x82\ +\xf0u\x8b\xf2\xf9:\x0b\x9d\xc7\xbfP^[\x0a\xd6\xf1\ +%\x16u\x7fj\xd6(\xb1\xba\xec\x0e\x97\xa9\x7f\xc7\xeb\ +\x9b\xe3\xd5\x01>35:\x11+V\x9e\xd3\xfc\xd1\xa2\ +jV\xb1\xcf\xc2(6I?\x17\xf53\xad\xa7\xd7\x93\ +&\x17\x0dM\xb9\xc1\x05\xc5\x1f\xca\xfa\xbb}\xd8\xac\x17\ +?\x9c[\x0d\x92r=\xc7W\x8f\x7f5\xbe\xa6\x02\x08\ +02\xdb\xc9\x16\xaa\xcf\xee\xa9\xa3\x0c\xceP\x99SZ\ +]/%Qr\x0ac\xb9v%\x91\x04\xa5\x00\x00 \ +\x00IDAT\xc1\xd8\x86\x91\xd1\xecfQ5\x0d\x10\ +\xe5k\x0f\xb4(\x9f\xb7\xb4H\x0d\x18\x18,<\xe7Z\ +_\x00\x1e\x91?Z6a\xdaQ?\xb6\xa8\xe7A{\ +]{\xbd\xb9\x9d\xc4\x88\x18\xe75\xa3\xdd\xb8l\xe8y\ +q\x8f\xafs\x9cA\xe0\xee\x0f\xec\x8b\xcd\x8f,\xdc\xfd\ +\xce\xcfEl\xfa`8\xb7\xbf\xb0Hns0\xad\xd6\ +\xb7Hu&\xe7\x81\xeco\x01\xdc`\x9cF\xc3\x0cq\ +Z\x01\xed\xa1\xe9@}\x85(\xbf\x80\xd0\xc9\xcd\xf7-\ +\xb4\xc1/.5\xe0\xf3\xcbstx\x89\xb2\xe15k\ +\x97XK\x09\xf5\xae\xba\xc0\x86|~\xb0\xc49*P\ +~\xa6\xd9\x8dU\xaa\x1f\xa8?p\xb7\xa4\x19j\x1b\x01\ +\xb8OH\xa6Q_\xffa\x91(vB8\x9b\xd7J\ +\xfcGue\x97\x0aNl\x13$\xaa\x81\x8d\x88\xbf\x8d\ +\xed\x92\xd8\xdas\xaeW\x5c)\x81\x88\x14JT.:\ +|3X\x88Jww\xb2\x01\xe2\x00U\xa2\x85j'\ +\x0f\xc8\xf8\x0b\x16\xe5\xfb\x17\xb1H\x07%\x89\x17\xe2K\ +$\xac\x88\xef\x98\x1d\xda\xb9I\xdc\xc4\x883[\x88\xb2\ +\xb9\x8c6\xfe5\xea\xeb\x84\xda\xe2\x9d\xe7yj\x87\xca\ +\xf1\x89F\xc8|Y\x98\x13G[H\xcc\xe7\x91\xbaa\ +\xbbd\xc7\x01\xda\xa0v\x90\xbf\xfa\xdfj\xc78\x00\x09\ +:\x00\x03_\xf2H\xbc\x85<\x05\x15\x13\xaa*\x1f\x1c\ +\xcc$0\x5c?\x0a6\xa8\x98 V:X\x83\xda\x88\ +J/\x07\x83D\xea\xd8\x18\xbawY$\xca\x13H\x98\ +\x18\x0ea\xdf\xc2\x86\x82\x1a\xf3\x0a%\xde_5\x1a\xfc\ +\x81<*\xbd>\x0ag:.v\x9co\x9c\x00\xa4g\ +\xdc\xe8,\x0a\xeb@\x04\xb9\x1evL\xec\xa4\x82\xf7\x97\ +U\x8c\xc4;\xf7\xebU\x119\xff\xed\xb3%\x17\x04%\ +\x86\xcc*\x85X\x9eF^\xbcLx)%4\xf8\xf3\ +\x8a\x1a\xe8e\xdb\xfbE\xd5:!\xcd\x9e\xa3M`w\ +c\x8e\xa4fOaC\x87[\x1b#\xf6\x95\xfej\x9e\ +O\xf6\x7ft\x16\x11?\x14\xc0\x12H\xa4\x10\xe2\xb8\x1f\ +t\xc6,\xed}\xf3\xed3\xdc\xe1\xf7Mg\x03`\x08\ +\xb7\x08+\xff\x7f\x9c\xa8r\xd8\xe71;j\xeb\xf5\xe9\ +\x94\x90\x01p\xd0\x01`\xdd1\xa2B\xa1B\xe2\xcf\xba\ +\xc2\x1d\x83\xf5\x0e5\x1e?\xeb\xe1\xac-\x0c\x0a\x89\x83\ +6\xdf)qB\x12K5`k%%\xd0\xc7if\ +\xf6\x85\x94\xa8P0\x90\xa8.\xa8\xd7I\xa7\x1214\ +l\x9cP\xdfG\xd3\x82D\x86\xc2\x91\x0e\xb8\xee\x03#\ +6\x01\x90\x22\xd6\xa3Y\xdfx\x1d\xd8\xf2,\xaf\x82\x7f\ +Y\xfd}\x12m:\xb0P\xf6\xa1\xdcBY\xa3S\x06\ +\xe3\x82Y\xf4!C\x83\xce*\x9d\x03\xd6\x11\x1dY\x00\ +\x05\x0a#F\x10\xb0\xb3#A\xdd^\x89\x19\x8c\x15\xf6\ +\x89\x1d\xfaN\x8b\x0f\xba\x8c+\x80\xd4mf\xe1\x08\xfc\ +\xfe\xdd\xfeNQ\xec\xfd\xc8\xcf\xeaGA\xa2\x03\x0fP\ +\x81\x8f.L3\xdd\x9f\x10O\x83*Jgp\xe8V\ +\xc0\xbfS\xf81\x8a@a\xae\x9f\x1bq\xff6\xd4\xfd\ +\x9fV\x85$\x14z\x0a\x7fu\xd4\xa3\xd0b}\xb2N\ +\xb8\x8e$\xae\x14\xc0\x009P\xbe\xe9\x88S@\x0e\xc4\ +\xf0\x02@\xbaW\xd7}9\xfd~\xdc\x00\xd8\xefI\xb8\ +)\xa0)\xe8\xf9\xbd\x1b\xa8\xb3\x8e(\x22\xb6|7\x0b\ +\x98\xc1\xfd\x80\x0e\xfe\xe5= \x1d\xeb\x85\xdf\xcf\xb9\xce\ +\xcc6\x1dqf\xf9q\x0d`\xa4\x02\x8a5v\xb7\x00\ +\x95<\xff\x14\xda\x14\xb8\x00\xd3Cf\x00\xd7S\x1d\xfc\ +\x00\xfaQ\xc5\xe7:Q\xc8\xf3\xfcR@\x0fmK\xf9\ +L\x82\xc8\xf3\xfa\xfc\xa0S\xc9\xba\xe7\xdf\x01\xf6\xd8o\ +\xe8X\x0a\x10\x88\xe7\x11\x00\x82\xd9xD\xdf\x10\xd1\xc5\ +\xb5\x88\x19\xd2\xed-\xea(\xdd\xd0\xf7<\xdc=\x04\x10\ +\xd2\xb9Fk(\x80\x00\x1a!\x9a\xcd\x8e\xf5DC\x03\ +\xb7\x05\x014P\xaeaP\x06P\x87\xe83\xef\x1f\x95\ +z:\xdb0?\xc4\x1c\x8a\x8e;\xa2\xa3\x7f\x18\xdd\xe9\ +\x9d-\xf6%\x0a\xc93\x05\x1cc{*\x002\x00\x0a\ +\x18\x09\x00\x0e\x5c7\x1a@\xacC\x9es\xd4\xc9\xc5H\ +\x88\xc6\xd1\x1b}\x81_\x0a\xf5^|\x10q\xe7\xf5\xfb\ +\xd1\x92\xd1\xae\x1aI|\x97\xecX\xf7\xec\xfd\xc6\x99\xa9\ +6\x85\x17\xd3x\x89BG\xf7%\xd4\xfd\xc54h>\ +kQ\xfb\x08\xcd\x0c\x16if\x1ff\xa3\x95e{$\ +1F\xc4\x01\x19Y\x98K\xa2c_\xed\xc5\xb5c\x04\ +\x00\xf7\x1b\x98 b\x944\x17YT\xf1\xdb\x98\xe5V\ +\x1e\x08\x10\x17\x9aHV\xe0\xcf\x96\xa8\xeb0l\xa1@\ +#\x8e\xcc\x88+b\x81v?\xaeH\xfb\xcc&\x02\xf6\ +x\x0eu\x0eO\xfc\xc4\xa2<~\xebZT\x86m\xe4\ +\x9fz\xae\xc2\x06\x8ds\x9d\xfd\x80|\x0eF\x12\xcfe\ +\xb5\xdf\xec\x81T\x00\xd7\x99t\xff9\xef\xf9\xb8W\x7f\ +O\xfb\xae\x9f\xb7\x0f'@G\xf9fh\x0eQ\xe8I\ +s,\xec\x0f\xffj\xa1\x91\xc4\x9fW\x17+f\xb4\xbb\ +\xf7X\xd4\xc6[\xfb\x84E\xb9\x0e\x8b\x970\x17\x87\xdb\ +-\xaa\x86\x046t\xde\xd0z^\xf7q\x7f16\xce\ +\xa9\xfb\xa43\xb5\xbf\x91\x98\x03\xca\x07\xba\xb5-\xea\xa8\ +t\xeco\xec\xab\x8c\xa4I\xf3\xc7G\x87\xbe\x99\x0aO\ +\x8d\x1a\x07\x05\xff\xe0\xee\xa0\xce\xdc\xd4\xce\xb7(\xf7\xed\ +S\x16U\x84\x1a`\xb6y\xae\xc4\xb3U{\xa3\xfb\x9b\ +EuI\x09\xc6.\xa3\x8d4py\xfe\x10\xaf\x94\xab\ +H\xac\x1b\xd9\x82\xc6~\xa2\xe7\x9c\x9f\x0b\xa6\x87\x00\xf0\ +\x00F4\x12\x18\xb3\xf1\xac\x1f12\x9by\x9a\xb9\x9b\ +y\xea~G\x1dF\x03\xd0GKw\xa9u\xec\xa4\xbb\ +\x04\xcc\xe2\xe6\x84\x96\x00\x8d[\xf6=\xecoeG\x1d\ +\x9a+\x8c\xfa\xa15\x84h\xacD)C\x9b\x8a\x91 \ +\x00a\xd6?@\xb2\x98I\xb1\xdf\x92\xef\x88!\xd1m\ +eQ\xeb\xdf\xc9\x13]\x896%\x8c\xb2\xe7\x0b\xb1/\ +Q\xe8\x18\x0dpU\xd0E+\xf2\xe5\x22o\x0b%\x11\ +\x09\xc4\xcaD\xddF\x8d\xd1\xed\x1d\xf6\xaf\x94\xa3@n\ +\xd5\xb1n\xce\xb5\xa83x\x88\x88 \xda\xc0\x02\x0c*\ +\x0a\xb6g \xbdP\xb8\xa1\xcc\x910\xb0\xe1\xe9\xc2S\ +\xc8\xb5\xab\x96\xb0\x8e\xfdk%^\xaf\xa2\x1b\xd1\xc1f\ +\xc6\x0ej\xdc3%\x9eN\x85\x9c\x0a\x838\xc0\xd9P\ +\x10\xc7\xa3\xf0\x9f\xc3\xa2\xceDcK\x17\xa3\x14\x88\xda\ +\x882\xd6\x9caQE\xdeL\x93\xd9T\x99\xdb\xad-\ +\x12\xd2\xb7\xb5E\xa5\x98\x84\x1a$\xbfO\x07Ol\xec\ +\xa2${9X\xde_\xbb\xb7E\x15\xc9\x9bX\xa7\xc4\ +\xda\x091\xd5\x0c\x09T\xb1\xee\x93%\xb6M\xbe\xee\x9b\ +\x0a\x89W'#\x16\xb0\xaeC\xd8\x1fa\xb3%\x8aS\ +0$\xec\xbf\xef\x97\xc4\x9a\xa0\x0e\xdbv\xfd\x8a4(\ +\xdeY\xa95\x00\x1et\x1a\xdc\xd6\xe8_I\x85\x9e\x84\ +C\xae\x13\xddZF\xd2\x11\xb0\xf1\xfb\xf4\xa0P@Z\ +\xbf\xe4\x9a\xa42\xfd\xe2\xa4\x9e\xd9\x22\xb1\x1c\x7f\x9c\x96\ +H\x896\xd4^\x831\xa6O\x94A\xc4\x1d\x99)\x94\ +\xc8\x8fo4\xf7VW\x02D\xff\xda3-\xd2\xac.\ +\xeb\x88\x02\x82\x03\x8c\xaf\xc5\x14\x80\x92\x1evE\x06\xac\ +mX\x0b\xd1P\xf7\x17\xe0\xe6\x1b\xec\xd3\x89\xaaMA\ +J\x82Kb\xba\x80\xf70\xe3`\xf2\xd5N\x81\xfd\xbc\ +f\xcb?\xaa\x02{\xe5j\x03\x19\x85\xa8:\x1f~=\ +\xafV\xc7\xe5\xb1\x0a\xc4\x8d\x0e\xb4H#\x0b\x96\xc6\xad\ +\xad\xf5u\x95\x00\x9c%R\xc7\x0d\xea\x16\x1b2\x85\xcf\ +\x8d\x1e\x01T\xbe\xcd\xaf\x1c`\x8a\xce\x1a\x05\x98\xa8\xc3\ +\xc1\x10`\x9d)\xa1f\x96+\x18$$\xb6P\xed\x8d\ +ZuW\x02$\xe80\xd2q\xad\xb3\xd2\xae\x16\xeb\x09\ +\xd4\x0aId\x94N\xa6\x0a\xd3`\x1a\x90p\xb0.\xa1\ +\xcaQ\x10q\xff)$\x06~\xcf\xc1\x08\xe1:!\xbe\ +\xc8\x8c?\x85\xc3C\x02n\x9e\x96+\xc0\x83*\x90`\ +00\xa2%\x9b\xc9H\xf8\xe9p\x92X3\xbb\x0f\xe3\ +\x85\x8e?\xc0\x1e@\x13\x85\x16\x1d\x18:\xce\x14x\x14\ +L\xeb*\xa1\xa7\xd0\xc7\xf7~\xfb\x04@MJ@\xc5\ +Q\xd2*Q\xa1\x0e\xb2\x8dZ7\xf6A\x91H@5\ +6\xd1\xa4\x1f&\x86\x046S\x8c\x88\xa1\xee\x8ev\x0a\ +\xeb\x0dj\xe9\x89\xcb\xc0\xdf\xb5O\xd01\xe1\xf9\x04pc6{\ +Uup5\xe2\x15\xaf\x9fu1\xb0\xa7\x0d\xa0\x03`\ +\x11&\x06\x056\x1f\xbc\x7f\xf6a\xce[\xa8\xef0\x15\ +\xe4\x8b\x1d#Z$N\x14x\xacW\x80\x16\x98E\x9c\ +_\x00\x8f0\xc3x\xdd\x14\x8a\xdc\x17~\x0f\x80\x86\x12\ +\xcc\xd0\xbc\xe1<\xe3\xf5\x92\x88\xf1\xbe\x00\x00\xf8\xfb\xfc\ +w\x9es\x12r\x89\x9dE\xc1\xaa\x82*\xee+\xeb\x8a\ +\xac\x84\ +\x89I\xaf\x5cb\xa54\xfa!\xf1L\xc45\xd9W\xdd\ +\xde{\x85\xda@E\x0b\xab\xfd\x9cE\xd5V\x88N\xb8\ +\x0a\xeb\x10\x05\xbd\x5c\xdal0\xf2\x0e\xe95#\xc8\x07\ +\x9b\xab\x9b_6W'Qi\xed\xaf!\x0a\x88\xd6\xc7\ +\xef\xda\x9b\xdb\xdf\xd5\x06M\xb8\xbbl\xd4\x8b\xd63\xba\ +\xdd\x9d.&\xc1\xe1=\x00\xc3\xef\x09\xfbx1P\xdb\ +\xed-\xca\xe7U,\xca\xe7u-\xea:\xec\xd6\xb5\xa8\ +\xa3j\x00,\xcc\xf0\xc7\xf3\xc0H\x02\x9a\x0e4T\xc9\ +\xb38'a\x9c\x92G\xeb<\x99\x10ku(\x9c\xda\xb2\x86\xfcmgH\xe2g\x14\ +\x12\x14\xfe\x14\xa6:`\xa06E\xe2 1AD\xca\ +@$\xc3\xb6L\x052\xb3\xe0\x81\xdc*\x91\x09\x11\x19\ +\x89\x10uWY\xa4\xd9}\xa9\x5c\xc2(\x08j\xa4\xa8\ +Z\x8e\xdc\xceZg\xb6\x1dh95\xa9\xe2\x82(!\ +*\xa6\x19\xb0\x10\xf7\xb2\xc7\xeb\xab\xe9\xfeM\xeb=\xad\ +\xdai\xa1\xa0\x04q\xb7\x83s\xd9D\xd1\x87b\xcfA\ +k\x08\xd7\xbf\xeb\xccx$(zp\x9d\xd1\xb1L\xa2\ +\xcaa\xcbax\xffz.\xca\xe2T\x9b\xe8\x88IE\ +\xdf\xb5$\x9eHb~\x96f\xbd\x98\xc4#\xed\xaf?\ +%1\xbf\xf5*`\xe5e\xddN\xa9p\x84\xb2n}\ +\x93\xd7\xd2\x8c\x22\xef\x97\x02C\x88jt\xac\x10{4\ +\xaa\xde\x9a)\xa1\xc2\xaf\x1a\xb5d(\x93\xd81\xe13\ +\xaaD\xc6\xa9X\x17\xa6\x0d\x185U\x15\x94^\x90>\ +\x9c\xa8\xab\x1c\xb4\xdc\x7f:\xe6\x00\x0c\xbc~\x0aO\xdb\ +\xfe\xa7M\x9d'\x0a\x141QP\x19\x05\x90qm\xdb\ +\x13$\x9a\xb5\x87\x00\xb2{*\x95(F5\x00b\x10\ +A\xa1\xa0\xd2\x7f\xc7\x9626$=\xffa\xa7E\xe7\ +\x9e\xc4\x92\x82\x83\x84\xdc~\xdb{t\xf0\xcf\x96^?\ +\xeb\x80\xcf\x1c\xf4\xbc\x7ff \xd5\xa9@L%:\xd1\ +l\x98$\xb0h4@\xb1\xc3.\xd0\xf0\xe1\xad\x92Z\ +\xfa\xcd\x16i\x84C#\x01\xa3[dK\xc5\xac\xe5\xd0\ +\xae\x8c\xe7\x85\x8e%\x89>\xd7\x8b\x0e\xa9^\x1f\xb3a\ +!\xa6&D8\x98\x0b\x07\xcb\x1f\x99N\x1e\x087\x9d\ +M:\xd8\x03\x15\xe4\xd1Z\x12=\x1a\x88\xd4\x04e\x99\ +\xef\xe7\xe7I\xb0\xa0\xa4\xf3:)\xa8\xf1/\xc6\x06\x11\ +\x0a7L\xa0\xa9\xa3\x03\xde\x17r+\xaape\x04d\ +c=G\x00:\xaco\xcd\xd6\x86\x98\xd7\xa5\x16i}\ +\xbc.`kk\x89\x1f\xbd\xbb\xef\xc8\xc5\x08\x8a\xd4\xf9\ +c\xd6\x93\xce8\x85?\xc0\xe9\x82\x9aI\xa5\x80%Q\ +\xeaT\x90\x0eE,\xf9\x1a\x9fq\xb4f(\xf0\x87\x9d\ +xD\x04)XT\x80\x8f\x16\xd3\xe8\xc5\xf2z\xdf\x14\ +\x9a\xaco\x98\x08C\x80p\xb8^\xe8t\x91\xc0q\x0e\ +,\xadB\x86\xf5\x07\x00\xb3\x8e\x0af:\xafhR\xf0\ +}\xfc~\x98\x14\xcc\x9e\xc3\xb0C\xadZ\x1dN\x1f\x90\ +\xd9\xd0\x81\xb0~\x04N\xb3\xe9\xdd\xa3\x16\x89\xa1\x86\xc8\ +\xd6\xed\x16\x89\x9aL>A\xa2\x82\xed%\x8c)\xf2\x01\ +;\xc7~\x90\x00\x1c\x00&\x0ad~\x0f\xfb\x10\xc0'\ +L\x81\x7f\x0c\x80\x0d\x0a<\x18A\xac{\x006:\xd0\ +\xdc\x17\xae\x0b\x05=\x85;\xeb\xfa\x7f\x1b\xa9b\xbd\xf0\ +\x99\xff\xce\xf7\xf3\xdc!\xbe{\xa0G\x14\xde\xd1\xd1#\ +\xb1'O\x80a\xc5:\x11\x80G\xe1\x12\x059\x00&\ +\x85\x04\xcf5\x1a\x0bbF\xf1{\xbc\xf1\xf1L\xeax\ +*!\x0e1D\x0aw\x98\x04\xa8x\xc3La\x94\x8a\ +\x0e;\x1a-\x14d\xfc}Q\xf7\xb1/E\xec.\x00\ +\x04\x0a\x14\xd9=G\xe1\xbb\x8bFK\x8d\x82{vz\ +\x1f<\x070\x97h\xc0\xa0\x09\x80F\x06\x94{\x15 \ +\x01\x9c\xdc\xa6\xd1,:\xcd\xaf\x8a\xb1\xc1,\xf2\x02\x16\ +\x1aa\xd8Qn2\xb79E\xd8\x81\x92v\xe3^,\ +\xcc\x15\xb4\x1eJ\x9d=\xec\xc9n\xb6\x13\x22u\x5c\x19\ +M\xc0u\x09\xea\xb2\x18\x1e\xa3\xe9-\x92\xba?\xfb\x06\ +\xb6\x82\xaf\x88\xf2,\x1bB\xb43\x9a\x13\x9b\xef6\xdf\ +\xad\x0cE\xf6\xcd\xa0Hk\xbfjf\xb6(\x9f\x8f\xb0\ +H\xdf\xc7\x08\x8a5\x026N\x22{4\x98\xa4\x0d\x80\ +\x8bSs\x89\x85\xf2\xdf\x07t\xbf\x9eL\x9aK\xac\x9f\ +mz\x80#\xc4\xc6\xb5\x7f\xb4\xc7[\xd4Q\xcd\x89S\ +,\xaa\xb8\xdbxM\x8b\xb4/s\x9f\x07\x8c\xa8`\xd8\ +`\x03,\xfb\xc2\xe8\x00\xb3\x8f\x92\xef1\xca\xbc\x94E\ +u\xdb\x8a\xcfK\x97XJ\xfe\xea''\xbb7\xe5m\ +\x009\xb1\xcf\x7f\xdfcR\xbb\xafE\x9d\xc5\xf7\xf2\xf4\ +\xb0Tx\xb3\x8fk_q%\xb4'{5\xfd\xf6\x13\ +U4\xda\x19\xd7\xab(/?+\xed\x130\xb5l4\ +cQ\x01Z\xdfO\xa2\xb7\x00\x94f{\xfd\xd3\xc4\x84\ +F\xcc\xda\x00\x8de\x12\xe3\x89\x06&..*\x98y\ +\x9d\xde\xd8+\xd7\xaf\x9d\xda\xa2j;\xc0\x9c\x998\xc7\ +\xa2\xfc\xba\xfb-\xea\xfe\x01s\xb2y\xccBnl\x17\ +hf\xfe\xae\xc4\xd4D$\x15\xcd\x0c\xdcTlv\xfd\ +\xa2\xba\x8f4\xe7[\xd4\xe7\xaa}\x9fE\x02\x98\x19\xf1\ +\xd8Q\xe2\xb7{K\x1feQ>\ +oeQ>\xff\xc7\xa2\xdaE\x86+\x81\xce;\xdc\x84\ +hx#\xd6H\x9d\xc2}!\x8f!\x7f\xa2\x0e\x0e\x9b\ +\xf5\x8d\xc5\x5c\x06`\x95\x8b\x1e\x9a'0\xd5\x038\xd8\ +\xcd\xa2\x024\x93\x9b\xcfYh\xe6`\x83t\xe1vw\ +c\x93H|\x9d\x02k\x08\xcd\xafJ\x5c\x9d\xec\xa6\xbe\ +bQ\xfe\xfbq\x16u\xa3\x09\x11$:\x22\xd6\xaf\xda\ +Q3\xc8W\x0aA3\x11\xad\xebK\xe4\x91\x00S\x0f\ +\xfehEd\xbc\x83\xf8\x85J\x05\x0e\xd18!nP\ +\xf7\x9dr\xf8L\x12\x8d\xa2 \x1b\xaaQ2\xbb%\xb5\ +G\x90\xad\xee\xeb%\xbe\x96\xd4\xf3u!\xbby-R\ +\xa1\x07\xc0@\x82%\xcaJs\x8fE\x15\x03!\xc1\x80\ +\x02\x1d\x22\x89l\xbc\x9a}\x0b[\x09D\x12\x0d\x81\xfb\ +p\x12?\x91zs\xbb\x9eE\x9d\x8dr\xc4y1\xcd\ +\x0c\xadY\xc5\xff\x9c\x82\xb4EE\xd2'\x96+\xb1l\ +]\xd8>\xb22J\x07\xb2\x89\x86\x1d\xa2\x04g\xddt\ +0\xd3Q\xa2\xd3\xba\xa0\x93\x98\xfb\x8e\xcb\xcf\x93H\x9e\ +(\xe71s\x8b\xbd!\xd4Z\xb4\x10\x98\x09\x94]\x07\ +\x9d\xa2\xee\xb8\x12\xc7\xa6B\x99\xebj\xfd\x8f\xcf\xd7\xd9\ +}\xc4\xf4\x9c\xf2t\x80\x90\xd4\xcf\xa5\x0e$3\xc6\x86\ +\x9c\xad\x93(\xfcPJ\x01x\xa0\xc6S\xc8h\xa3v\ +\xa6\xc1\xfe\x02\x94\x8eH\x09\x12H\xb7\xf5ooJ\x94\ +\x22\x12J\x0a-\xa3^~*\x15F\xeah\x8d\xce\xb3\ +H\x9d)\xd9\xa4\xc4\x01@\xc2MB#J\x97\xf7W\ +~\x91\xb4 (\xcc\x04\xc0\x80\xb43\xdb\x88{\x853\ +q\xe6W\xa1tAz\x0e)$x\xdf\xa8\xdc\xa3j\ +\xbb\xb5\xec\x88,}\xdf\xa0\x02'~,\xcd+\xe0\xea\ +\x0c\xcd@\x1d\x9c\x80\x93\xc1l\xbe'\xea\xd7J\x141\ +ift\x8bY$\x0d\x04;~gIL\x0b\x9e\x17\ +\xcdb\x91\x7f\xfbO\x9f\x96Drdw\xe5\xef\xea\xd9\ +\xb4\xce@\xdc\xe9\x5c\xf3\xfb\x10\x9f\xe4`&\xd1\xd7\xba\ +\x8c\x19/\x0eb\xee\x1f\x05\x9cM,o\xdew\x84\x1c\ +\x882\xd1\xd2\xbfK\xec\xc7\xd4Y\xa7*Q\xd6\xd5x\ +\xc5\x12+U\xe0\xaf\x99\xb0H\x09\x0f\xd7\x9d\x83\x1b\xca\ +<*\xcaPr\x01.Hp(\x84H \x0f\xeb\xef\ +s\x14pt\x22\x19\x11\xa0P\x19\xfa\xe6\xf2\x9c\xd0\xd1\ +\x9fS\x85*\xdf\xcf\xf7)\x01\x0f\xe0\x84\x91\x1auF\ +\xd9\xf7\xa3\xf3B\x81\x0b\xf5\x0c\x00f(\xf2\x86\x18*\ +\x9d\x19\x0a1\xae\x0b\x94\xd0\x05\x05H\x22>\x06`\x06\ +\x90B\xa1:\x9d\x0ef\x15\xcc\xa3\x85\xfb\x99\xb8nw\ +\x0bO\xfc\xfaB\x00\xfb3f\xbb\x8f\x16\xb0\xbd\xaa:\ +x\xcc\xa0\x03\x04\x1d.\xe0\x0fC\xccw\xbcu\xd68\ +\xd6;\xc0(\x89\x13\x05\xdc\xd0\xb5\x82\x82\x8c\xf5\xb5\xb4\ +\x00\x1c\x00\x00\xd6\x1b\xd4T\x12S~\x0f\xfb\x16\xe72\ +_\x93\x98\x0c;\xdc\xfc^F\xa3\xa0\x92\xa3e@\x82\ +\x8c\x1b\x01\x80\x1b\xa2y\xecS\x14\xea\xa8\xf8\xb3\xdf]\ +&F\x11\xee\x0d\xcc\x90\xea\xfbJz\xd5\xdb\xeeJ\x84\ +3\x00a\x00J\x18\x09\x88K\x8a\xa1\x16\xf7\x09m\x08\ +\x00\x0d\x0a:\xce\x07\x12[\xb4]\xe8`k\xd4/\x9e\ +\x03\x5c}\xf6\x95:8\xbf\x8f\x8e1\xee5\xec\x1bC\ +\xcd\x0b\xf2\x07\xee/\x80*\xb6\x92\x9a\x89~\x9b\x16\x00\ +\xe7&\xe7(\x801\xee.\xff\xb6H\xa3\x82C\xb7\x0d\ +\x9e\x0b\xde'\x00)\x0d\x00\xc4\xf9\xd4\xc1\x0dW\x10\x9e\ +W\x18L\x88\xb2r\xbd\xa5\x12\x1e\x85\x12\x7f\x97\xd7\xcf\ +\x7f\xe7\xbc\xa7\x03M\x87S\xa2r\xc1\xa8D\xbb\xc9\x98\ +\x85\xaf\xd4s4:\x8c\xeah\x06\xb3H\x9d\xd5\xa0\xf8\ +\x02dr\xce\x8a\xd9\x14\xee*P\xd1\xcf\x94\x8d\xd6\x85\ +\xa2\xc0J\xdd>\x98NO\xca\x05I\xcc\xa5\xb8.\x00\ +\xec0\xdf\xf8\xa0\xa0\xd0\xb9\x1c\x85\xf6\xde\x16\xc9\x0d\xe0\ +\xd5\xde\x8d\xc0;\xf5W8\xe0\xe1\xf9\x14\x0d\x89\xe88\ +\x9b\xad\xe7\x07T\x00\x1f\x95\xf2\xc1\x9d-\xd4\xc8X\xd6\ +\xc5\xa3\xefp\xed\x17\xf6W\xf6\x1b\x80\x0f\x80\x1e=O\ +!\xce\x0c\x10\xda\xb9\x8c\xe8\xdb\xed\xd1`\xae\xca\xdd\xa0\ +\xd9\xa1\xc4\x8e\xcaC\xe7M\xd4i\xa8\xc3\x88\xf5\xe9}\ +\xe0\xea\x10\xb3\xccZ'q\x1d\x18a\x00\xe0\xe6|\xc2\ +\xed\xe3+\x1a5\x90\x98\x9b\xff\x9eV\xe2\x83\xe5z6\ +\xef\xb2(\x9f/\xb3\xd0\xb9\xb0Y\xb2\xfb~\xbfE\xfa\ +y\x8d>F\xa1&\xfb\xc3\xe6\x02\x8b\xba\x0f\xb7\xfbX\ +$7(:\xcd\x14\xf80\x1f\x07\x94\xea\xd8\xbf\xdf\x10\ +\xf0w\xa1\x1aN\x9a\x89w\xbb\xbdC*\x100\xfe[\ +\x89\xa7U\xd0\xbd\x9a4\x078G\xed\xb9x\xa5\xda\x05\ +\xfah\xe3\xa6\xb5@n\xdfi\x91\x00{\xcee\xf6c\ +\xb4\x94\xd8wu\x1f)\xd8\xb1\xff\xe3\xdc\xf4uvD\ +\xda\xef\xd9\xd7\xd4\x90t\xbb:S\x91\xbf\xd7\xa2\xbc\xfe\ +\xf3-\xd2\xfa\xe2\x5ca\x9f\x03 \x83\xd9B#\x80|\ +\x00\xdbw\x15\xae\xed^\x16\xe5\xeb-K|\x5cL\xdb\ +\xb5\x94\xaf\x8dR>+\x00\x86\xd7\x8f\xf6W\xd7X$\ +[e+h\xf7\xab\xb3\xf5\xbc\x8f\xf6<\x8b\xf2\xfaW\ +\xb3\xa8Z\x04\xcd\xbe\x16\x89!\x84\xa6\xcb\xc9\x16I;\ +\x83\xfa\x0e\xfbP\xde\xa7\xf6\x15\x17\xb3\xbe-1\xd3,\ +kyo\xd2\x04\x01(\x84Q\x0es\xc0\xf6\x8be\x93\ +m\xf3\x7f\xfas\x91u\xd7\xfe\xd5\xa2\xce\xf6\xa3\x85\xe0\ +\x0cj\xd3,\xf8\x81E\xf9\xfaE\x0b\x01J\xdfKy\ +\x13\xfb\x0aL\x22F9v\xb0H\x0ds\xdc\xc6`\x16\ +\x08\x18\xb6\x81\x0c\x1f\xc9\xb8\xdb\x22\x9d\x93_\xb2\xa8.\ +\x11\xed/-\x0c\x000\x95l\xf3\xd5|_\x89\xe5\xb5\ +\x81\x7f\xb3v8\xc2'\x967n\xa2qk\xa6\xd9+\ +(,\xa6\xf1\xbaoZ\xa8\xcc`\xc9\x87\x9c\x03\xcc\x91\ +\xfe=\xd3\xcc\xb9\x10\xa9p\x19X\xdeB\x1d\xde\x07j\ +\xa1\x8f\xedAP\xcf\xec\xb6\x5cY)\xed\x88T\xc4\x06\ +\x0f\xe5\x85\x8e\xa4\xf5y\xf6I\x9d\x0d\xc3[\xd7|\xbb\ +\xe8J$:\xcc\xa4j\x83\x0b\xea\x1a\x89\x02\x141\x90\ +qu\xa8\xc3\xdd\x00*\xb8\x16| \x5c\x14t\x02\x12\ +\xf0\x0b\x85\xf2\x1f\x88\xbe\x18\x0bP[\x83\x8a\xa6\x0e\xa5\ +\x8b n\xac\x8e\xc5\xa6\xa9\x83EB\xcb\xfb\x145f\ +\xe2X\x0b-\xd4R\xa0\xb4\x9b\x97\xd8L>\xa1w&\ +\xbfID\xc3X\x88t\xbaDq\xf6ta\xb1\xd4\xb9\ +\xa4 &A&\x91\xc8v\x88\xf7%f\x81:\xd9a\ +\xa3AbGa\xc0\x06\x82\xf8\x8e]\x9f\xf7\xaa#\xd3\ +h\xf6\xfd[\xe9@\xa7\xb01%\x86\xa3S\xc7\x075\ +_;X\x8e\xa9.\x17\x0e\xb8\xbcPE\x17\xbb\xd3-\ +\x125\x10\x00\xa2q\x92X_x\xd8H\xc6\x0d%~\ +\x93:\xae\x96\xd6\xcf\x94\x9e\x07ulB=\x97\x99b\ +\xc4l\x10}D\xab\x80\x11\x13\xfc\xc7?\xef\xd1\xdf\xc7\ +M\x92\x9d\x08\x1b#\xd4q\x12\x1f\xec\xfd\xb8\xce\xac+\ +\xa8\x980B8(P\x13g}S\xc0m\xe0S\xbd\ +\x95\x9a\xc7\x01e\xc7\xe3\x9b\xe9\xa0X\xc8I{5\xa1\ +}\xd9e\xd5\xfa\x02pE%\x06\xf3%q\x12Kc\ +\x0d\x19=\xc5\x22\xd9dN\x1b\x85\xdb\xf2\x9e\x98\xea\xbe\ +\xa2\xce\x1f\x07:\x14Q\x0a\x1fi!DA\xc0\xba\xe2\ +\xfeS\x80\x82\x00\xd3\x91\xa6\x90!!E\xdd\x1f\xd5f\ +D0a\xf0\xe8y\x0c\xbb\x19\xb9G4\xd34\xd3\xd8\ +\xfdnV.aL\xa0\xf9J\xcc\xaf\x8e\xda\x0eu\xc4\ +\xc9p\xe1v\xb7\xf2}\x8b\x97X\x22%LBdG\ +;I\xd5<6<\x15\x9a$\xe4<\x0f\xda\x1fB\xad\ +w\xe5n%\xa7\xcc\xe1\xe3\x0aBB\xe7q\xa8\xb2\x0f\ +\xb5~I\xcdh\xd3)\xe1\xb3:\xb3\xf1\x9c\xf3st\ +\xd4)\xa4H8\x99\xed\x96Hg\x00)\xcc\x88\x03\xac\ +\x22\xe6\x85\xd6\xc6\x14\x01p$\xba\x14\xca\x00Zo\xe8\ +\xefi\x16s\xb4\xb8D\x13I,\x01\xccT\x10\xc5\x81\ +\xce:}\xb3G\xea\x01r\xc2W{\x16\x15\xe0hT\ +`\x83\xb7\x87l\xdfx\x8ex]0?\xd4i\x8bQ\ +%f\xeb\x01\xd0\xd0\xf0\x80\x8a\xccz\x04\xd0\x91vK\ +\x14\xd6\x148uv\xbf\xbf\xfe\x88\xf2\xa1\xa9\xc0s\xc6\ +\xf3\xcc\xdf\xa3C\xcasGA\xfa\xa6\x9eO\xbef=\ +\xf0|1\x0a\xc0\xfd\xe6>\xd3i4\x97\x97\x95\x93(\ +\x1f\x1d}l\x02)\xf0\x19\x15@\xecp\xee\xb7\x02\x0d\ +a\x1f\xbb\x9d\xd6\xd3n\x12\xdf\xd4\xfd\x0b\xa6\x1f3\x9d\ +\x14\x82\xa8\xb1C\x01\xc5\xa6\x17\x15n\xd6\x07\x80\x07\xe7\ +\x10\x14~\xf6Oftu?\xc2\xa6TbW\xb1\xef\ +i\x1f\x09@D\xcc\x0f\x12\xb7p'\x00\xb0\x81\xb9G\ +\xa7\x9f\xd7\x81\xf8\xe4S\x16i\xbds\xbd\xb9\x8f\x00;\ +C&\x09\xf7\x8b\xe7\x83\xcf<\x17\x88\xc0\xf2\xfa$\xfe\ +\x85[R\x14\xe0\x12\x8dB\xd59\x80 \x18}\x8c4\ +\xa1\x95\x01\xc5Y\xfbY\x14\xf80v\xc8O\x18)\xe0\ +\x03,\x90\xc8b\x8b\xc4\ +\xdf\x83B\x8c\xe8\x19H,T6\x80/\x01\x0a\xce\x9c\ +8.\xa9\xc3\xbe\xc3\xb7\xe2\x0a\x14\x90\x90Bm\xe7\xf5\ +2\xfb\xcd\xba@\xd4\x85DM\xdf\xcfhJ \xd5\xbc\ +?5\xe6\x83B\x8b\xe8\x89f4\xf1\x89\xf5\x8dg\x86\ +\xda\xd1rdu\x1f1S>\x97\xd6\x07\xe2\x870\x02\ +\x10\xc3S\xa7\x0c\x8d\x8a\x98AS\xe2\x14#\x03l\xe4\ +t\x9c\x11\xdf\xe4\xbaQ\x00a\xb3&\xf1#\xa8\x98q\ + \xd3\x01%\xd1\x82\xf2&;\x97\x98\x9dT\x22\xe8\x94\ +<\xd3t\xb8\xb8\xc4\xa5\xd5.\xd5g\xf6\xfe\x9b\xb4%\ +`\xda\xcc(ui\x0aO>\xb8?\x00\x1a\xbc?F\ +\x14>\xa8Y\xeb\xcb4rD\x87\xb7\xda\xeb\xf5w\x84\ +B\x9a\xfd\x17\x86\x09\x00\xca\xd2\x83\x99o\x80L:\xc5\ +\x88\xb9\xd1\xc1$\xd3\xa239\xa4.\x03\x5c\x90\x08\x92\ +\xd0\xac! \x06uy(\xe8\x14\x1az=\x1ch\xce\ +3y1\xd9\x13\xce(@gkQ\xa0\xe9,\xffN\ +#\x15\x00\x8e$\xech\xc3h_\xef\x1e\xef\xa9\xe6\xa5\ +\xe8\xec\x0b\x7f\x0a0\xd61\x9dRD\xb9\xd8\xb7x>\ +\xb1\x17\x03\x10\x86A\x04\xd3\x82\xf5\x0c\xa3@\xfbN0\ +\xa0x=\xfc]\xc4\xab\xae.O\xef\xd5\x09\xc8\x00X\ +\xe0\xbepp\x03h\xf1z\xe8$\xf3\xef<7\x8d\x00\ +>>\xb8\xfe\xdc\x1f\xf6C\x0a\x09\x80\x0a\xf9h\xc7:\ +b\x9f\xe1\xfa\xf0z\xd8/(8>\xa8B\x8au\xc7\ +\xfe\xb2\x87\x00N\x12I\xee3TR\x00I\xb4#\x18\ +!P\x22\x12@=\xfb,\x80%\xd4x\xc4\x93\xd0<\ +\x00H\xe1\xdfQ\x9dgF\x1e\xa0\x90N+\xef\x8b\x91\ +>i\xdb\x8c\x0e\xb3H\xa3'\x9c\x1b\x03\xb1\xc8\x00b\ +(\xe8\x07\xf6Rq_\x86\x00\x0d@\x0c\x0d\x09\xf9\x86\ +\xbf\xcd^\x12\xe6\x00\xbf\x8f\xe7C\x09^$\x8c\x00\x15\ +Ut\xaa\xbf\x8e0\x95\x00\xea\x863\xf1\x00\xebh\xf9\ +\xe0\xb2\x035\x9fs\x80\xf5H>\xc7\xf5@\x13\x87\xe7\ +\x8b\x8e\xbe\xcd\x82\xcf\x92\x98\x06\x8c8\x02|\xb1\xee\xd1\ +2`\x1f\xe2\xf5\xc0LP\xc7\x9c\xd1\xce\xa0\xfc\x03\xf4\ +L[\x9e\xbai\x13 \xc0\xfa\x16P\x12\x9aM\xec[\ +z\xfd\xe1W\x8fz\xbd\x80!\xce{\x98\x01!n\x06\ +\xb3\x80\x11\x12\x0a3\x00\x02]\xbff\x97f\xe7f\x97\ +\xda\x90q\xd5\xef\x87\x5cC\xc3\xddrb\x9d\x0bX\x0b\ +@\x017\x1a\xec\xff\x00p\xcc\xed\xe8\xa9\x04\xfc\xfdz\ +\xd2\xf5\xfe\xba\xecu^\x5c\xcf\xd5\x10\xf1\x83\x11v\x8d\ +G}~\xc5\xa8\x8d<\x85\x06\x90\xec\x1e\x11\xa7\x8b\x91\ +\x01^\x97\xce\xc3\x18\x8d\xa2\xf1\xc1(\x88e\xe3?\xa9\ +\x85\xa0\x8b\x0f\x9e\x98\xee\x1f\x004\xfb\x01ZB\xf6\xee\ +\xb7L6\xd7\xac#\xb9\x10\x05S\x0b\xe0\x1e\xc0F\x85\ +[{y{E{E\x02J)l\x19\xb5\x10\xb30\ +\xecw\xd5\xa1\xedf)%\xd9\xcci\xa4\xf6\x98\x1e\xc8\ +o\x7fn\x91\xf6\xdf\xab\xc5 \xd6\xf30>\xb9\xc4I\ +\xe5\xfb\xce\xb2\xa8\x94\xf2\xf6\x81\x12\xf7'{n\xce\x0d\ +l*9gy\x1f0m\x18\x89f?`\xdf\xe6\x83\ +\xaf\xf9l\xa7\xe9\xd45_\xc4f\x8f\xfd\xb1\xdb\xda\x22\ +=\xf7\x9c\xcb\xb6{\xcc\x9d\xf2e\xcd\x8c#\xc69\xb1\ +\x8dEbD\xca\x95\xab\xfd\x93EZ_\x8b\xca\xdd\x81\ +\x06\xe2\xcf\xe4\xee$Q_\x1av\xed\x89%\xca\xebj\ +\xae\xb2(_\xcf_\xa2\xe4K\xed?\xdb\x7f\x1a\x03\x9b\ +\x86%\xd71\xa8\xee\xa8\xecK+\xa5\xbd\xb9\xc4-\x02\ +\xd0\xca\xb9>\x9e\xc1\xa2v\xa8\xc3\xc6R6\xce\xe3\x8f\ +ZT \x10\xbb\xca\x89\x17,\xd2\xe8\x8cF7\x01\xb8\ +\x9b\x15-\xca\xcf\xdff\x91\xf65\x80i\xc4\xaf\x87#\ +_0\xfc\x00Fi\x10\xc10WC\x01m\x9d\x00\x22\ +\x00\xf2\xb0\xed\x94f\x07\xf5Oh}\xe8\xf5\xb6{Z\ +\xd4\xeb\x14\x8c\x01i\x0c\x84\xab\x09\x22\x9c\xda?\xbam\ +,\x12\x03@#\xbb0W\x00\x22\x18Y\x0f\xd7\x07\x98\ +q\xd2\x8e\x98\xedQ\x90\x0d\x0br\x12\xb5\x0c\ +0.\x914\x0a\x10O\xc2\x95\x83B\x9a\xdf\xcb\xdf\xf9\ +~/\x1e\x05\xb5/\xec*\x11\xdf\x83\xd9\xc0g\xae3\ +\x092\xcc\x22\xd6\x13\xf7g\xe8\x83\x0d\x90\x02p\xc1\xba\ +\xa2\x80\xa5\x10C\xccl\x8br~o\x91\x003:\xc9\ +\x00\xaeh%\x00 \xb1Np=\xa0@G3\x88\xeb\ +L\xe7\x94\xf5%\x80.\xd4\xc4\xe9\xfc\xd2\x19\x06\x00\xe5\ +\xfdp\xfd\x01|\x01\x08x\xdfC\x9bD\xfe\x9d\xf7K\ +\xc1\x0d\xa3\x81\xd7\xcd\x07\xe71\xfb\xc9P\xbd\x9f\x02P\ +\xd7%\xc4\xde\x00\xd0\xa0\xb2\xf35\xf7\x8d\xe7\x93\xe7\x82\ +u\xce\xbe\xc3\xba\xe0\xf3\xc0\xe5!\x18\x1a:\x17B<\ +R\xf9E\xcc\xee\xe2B\x04\xb5\x9e\xc4\x95s\xe2\x89\xb7\ +\xda\x83F\xa3\x04 \x0c\xc0\x90F\x07\xee-6\xa3\xfb\ +\x93\xf4s\xba.\x01\xd0\xf3>\x99\x15\x96\xd8+\x89o\ +\xdc7\xce!\x0a\xd2\x81J{\x88&\x92\xe8\xc2(\xd1\ +\xf9I\x9e\x15\x05\x15\xc0\x0c\x00\x13\x0d!\xd9\xc9\x06\xa5\ +\x16\xcd\x80=\xc5\xf8A\xb3@\x85#\xa3\x9a\xa3\x95\xb4\ +\xff\xfdT\x0d\x86I}\xa7\x8b\xc2\x8bYt(\xf91\ +\xaaj\x1d\xee\x89\x04 j\xf4\x81\x11\xb7pC\xa00\ +\xd7z\x0a\x86 \xb6\x83\x00\xef*\xec\xba\xf7ZT@\ +\xdf_\xc7\xb1\x09\xc8#\xdfb\x1d\x098\xe8\x9e\xb5H\ +\xebH\x9d\xcd(\xf0\xef\xb2\xa8yH\x8c\xfe\x92\x9f\xc2\ +D\x12S\xa5\xbb\xa9\xc4\xef\xb4\x8e\xee\xad\xf9u\xd8\x1d\ +Z^\xfe\x95\xb4\xfe3p\xb9`\xda\xcf\x00\xba`N\ +\x01d\x89\xea\x1e\x00<\xcf'\xcf\xcbOzf$\xb6\ +ehY\xc0$\x89\xdf\x8f}7v\xe0\xe4\x91\xfby\ +L\x1a\xdf7\xbew|O-\xe8c\xc4P3\xe5\xd8\ +\xc8\x8dW\xb6\xa83\xfbt\x9e\xa3\x11\xf1\x0e\xcf\x04B\ +l\x93Y\xedvQ\x0b\x8d\xe2\xae\x91\xa8\xe50r\xc8\ +\xeb\xfeo\x1fC\xad\x9d\xe1\xf3\xa9s\xc5\xed\xbdw\xac\ +uK0\xa5`\xe8P\x00K3g\xe2,\x8b$\x96\ +\xc7u\xf9\xa1EbfJ43\x1a(\x5c\xe7\xd9\xfb\ +}\xba\x9b\xd6\xa22\x8d\xd1\x02\x08\xc6\xad\x1a\x7f\xe3[\ +-\xaa\xa89\xe2\xf0\xce8\xde\xbc6Z\x1c\xf8z\xa2\ +\xe6\x9d\xdd\x9b\x16\x127\xffD\xcd\xeb\xc9o\x11\x85\x0f\ +\x9bJ\xb9. f>\xb1\xafE\x02,\x04$\x84\x8b\ +\x98\x00J\xdf=\xcf\xad\xb6\xf5!f+w4\xb4\xb5\ +\x82\xe1\xa0\x82:F\x9b\x8cw;Q\x81\x00\x1b\x90\xf7\ +\x11y\xea-4\x8f\xc8Ot\x1e\x86X\xf1\x1d\x16U\ +\xdc\x92\xbc\xc6\xf3\xf2\xaf\xa5|\x8a|\xf3\x10\x8bZ\x07\ +\xd0\xa0n\xff`Q\xbe\x9el\x91\x18\x05j\x80S\xb7\ +\x927s}i|vsX\x18\x00P.\xdb\xe4}\ +\x95\x18\xce\x95\xd4\xa6\xf5\xc02\xd3oR\x22&&\xe2\ +}\xb6M\x13\xd5\xd6\x8e\xdb\xb9\x13\x22+q\xbd\x00\x0e\ +L|\xe6\xe4:{\xdd\xdei\x91\x12,\x10-\x12y\ +|\xb5I\xa04\xbb\x126kP\xc7%R\xe8\xb3\xf9\ +\xeb\xa4\x19\x1a\xa9\xcb7\xcbY\xa4\x8e\x1e\x1dW\xcd4\ +\xbb\x88\xc7A:h~Xg\x15\xb1cq\xcaK9\ +\x80\xda\xdb-*\x82\xcf\xac\x09j\xa9\xcc\xee6\x97Z\ +\xa4\x0e\xba\x16@\xb8'/\ +O\xa3\x06:\x10C\x93\xe1\xb7\x96J\xa5D\x96\xd7\xc3\ +s@\xa7\x89\xaf\x87vi$\xec\xd2&\x89\x02n(\ +:\xa6\xc4\x98\x99\xdd\xa0\xa2#J\xb7F\xbf\xae\xe2\xef\ +P \x0f\xfd\xd5\xe9\x882\xbbO\x82N'\xf7t\x8f\ +\xca\x18@m\x17\x17\x99Mu\x00B5\x97\x1d\x1f\xee\ +'q\xbfHTan\xf0:\xb2\x1b\xc8\xab\x09\xb0\xa5\ + \xa4\xd3D\xa2\x02\xe0C\x81\xc2u\xe6y\xa3\xa3\x8b\ +h\xa3i7|9=\xc7\x14\xc2<_<7C\xcd\ +\x0c\x123~\x1f\x94f\xee\x1f\x85\x12\x7fw+\x01\xb8\ +\x1f\xd1,/\xcc\x08\x89\x11\x06\x85\x9e\x82\x9e\x02\x96\xfb\ +\x0f\x85\x97u\xc8zf?f\x1f\x80Q4\xb0\x0b\x84\ +\x0a\xfb\x96Y\xe5\x0f\xfa\xe7\xfe\xfe^\xd9w\xe2\xe2>\ +\xac\xee\xaf\xb0\xbe~\x18\x00W\x8by\x04#\x107\x0d\ +\xee\x1b\xfb\x0f\x89\x0fL\x1b\x0a9:\xc0\x00\xdaP\x8e\ +y]\x14\xe0\xack\xfe;\xe2h\x14\xfa\xdcw\x80\x09\ +\x98w\x14\xd0\x9cK\xec\xfbC\xd7\x04\x18\x1d\xbc?\x0a\ +^\xee\xff\xd0\xe5\x80\xcf\xb8\x15)\xa1\x8d\x9f\xa3\xf0\xe1\ +\xef\x02\x00P\xf0 2Ga\x05P1\xd4\xe4\x18\xaa\ +\x93\xb3\xeeX\x07\x8cZ\xc2p@\xa3H\xbe\xdbPs\ +\xa1\xc6\x8e\xb6\xb1\xf0\x8eR\xdf1\xff\xa7\x80\x0d\xecw\ +\x19\x19`\xffd\xdd\xe1z\xc2\xa8\x01\x80:\xb6\xbb\x12\ +]\x0c\x11\xe2C,\x92-\x17\x89+\xf7o\xe8\x22\x82\ +\x08*\xd7\x1b\xea-3\xfa\xac_\xee\x97\xc4\x1e\xa3@\ +F\xfb\x88\x19|D\x07\xb9\xdf\x02\x88\xe2\xf5\x0b@\x0d\ +Q,\xdd\xf7\xd8\x87\x98\xb5?\xc2\x22\xd9\xe9a\xf7\x8b\ +*\xfbSV\xaah\xa6\x7f\x97Dq\xb7<\xf0{I\ +T\x91u\xcc\xf9\x040\x09u\x1d\x11c\x007~\x0f\ +\xda/\x00\x5ch?p\xdd\xb1\xcbe\xd6\x99s\x90\xeb\ +\x81\xa8\xdb\xcd&+\x98\xce\x89aa\xce\x88\xd3\x0b\x16\ +uD54u,\xcb\xfe\x82\x80\x85\xc5\xd4\xe0X/\ +\x8d \xb2o\xe3\xc2#q\xe2X\xefhc\x08h\x88\ +\xfbC#\x84\xd1\x12\xce\x0d\x00A\xd6\x03\xcf\x05u\x80\ +\x0a[/\xd4\x8e~\x8b\xf8\xac\x03\x1f\xed\x07-\x9c\x02\ +\xed#\xc3\x93\xf6\xea}\xeb\xf9{\xede\xed\xa5\xc6\xcc\ +\xb3\x09\xfcqy\x8e\xc6w\x8e\xeft\x15u\xeb\xe4/\ +[5J\xda\x8d,\x9c\xca\xed\xcc\x01w\x1d\xbb\xb6\x9e\ +\xbb\xb8_\xf9\xd5\x5cN\xcf\xcb{\x93\xcf\xba\xf2\xb4\xf1\ +\x89\x16)\x0f\x02\xe8\x07\xe0\xf8\x7f\xfd\x18\xba\x17\x00d\ +\xb3\x0f\x00@\xc3teTD\x80*\xeej1\x92\xad\ +\xbalb\x17\x8b\x9a?\xc04p)9+\xec\xf7\xb2\ +\xca\xa3\x16\xc6Q\xb8\xeed\x91\x006\xd6\xb11y\xaf\ +\xae#)\x00[\xedo,\xca\xf7\xff\xbdw\xc10\xaf\ +*c\x1e\xc4\xb9}\xc8\xa4\x83\xad\xfei\x17\xb4(\x97\ +\xe9:\x8b\xaa\x15\xe0\x00\xf1\xecu\xbd\x86\xab\x85\x5cI\ +\x9a\x19-\xca\xcf\xdfeQ\xae\xff\xbf,\xaa\x0b\x00\xa3\ +\xe4\xde\xe6\xbd\xb7\x16\xf2!\xea\xceH\xc2=\x16\xb5\x01\ +\x8bh\x9e\xf1O\x8c\x81\xc2\xfak\x8fl\x8fj\x8fL\ +\xa3\x0d\xb2e\x8fsF\x0d\xc4`(\x98\x16\xc3\x855\ +\x8f\xee\x96\xb6(?\xff-\x8b\xf2\xefG[\xd4\xfc\xbe\ +]\xd2\xa2\x02\x8f\x13\x0bYT\x174\xc4\x00i\x1c\xc0\ +|\x8a\x11I\xd5\xbf^\xafX\xa3x\xc5v\xa5v\xc5\ +\xb4\xfeh\xf0\xf1|\xa9\xd17ybC\x0bu\xce\xdf\ +\x102\xf7\xb1\xe4O\xb9\xbe\xf7b\xfa\x82\xf2\xd8J=\ +\x89B\xf9\xe0\x12\x07\xa9#\x7fCU\xc5\xc6\x97\xd1\x11\ +\x17\xb3\x11\xf9\x98E\xda \x99\xa5\xd3\xacG\xa8R\xa3\ +\xce\xbf\xa6(U\xd6G\xfc^\xba\x00P%\xce\xb6H\ +\x94\x15f\x96\x85\x04c/\xd4\xa4\xee\xe2w\xb9\x8c\x85\xec\xb2N\x93\xdax\xb9\ +\xcf\xedgK\xec*\xf1\xc7\xef\xe8}\x1c\xa8\xdf\xb3X\ +*P`p\xacd\xa1\xaf?P7\xb0\x10\xb3\xc9\x85\ +\xea\xbb\x12\xa0!\xd1\xc0\xf6t\x8b\xd4!b\x86t7\ +\x9f*\xad\x85\x08\x8c\x0d({\x9799\xba\x17\x93\xda\ +$Q\xe94\xaa\x81x\xa0oD\xcf\xd5\xeb\xe8\x0f\xe4\ +R\xea\x04\xae\x9aDn`&\x18\xa1u\xeb4\xa3\xa3\ +Y,f\xddP\xe9\x0f\xea\xe2V\x9e\xf2\xd7Y`\x80\ +\x03f\x12e\xaf\x17\xeb\x0013!\xb2\x14>!\xfa\ +\x81\x8d\x0bbTP-)\x04\xa0\xc0\xe2v\xc1L%\ +\x89\x1d3\x89\x14\x08\x00k\x1c\xc4\xb8<\x90\xc8\x03\xe4\ +\xa1%a\x8c\x9f\xafV\xd5\xd1\x98M\xe7\xa0\xa7\x83+\ +\xb5~F9B$\x12W\x05\x12\x7f\xeb\x102\x8b;\ +9\x15n$*o\xfaTs\xa8.\x87\xdb\x073\xfa\ +tR@\x90I\xe8\xb1\x8d\xc2\xbd\x83\x02\x8d\xce3\x05\ +\x1d\x07)\xeb\x90\x0e8\x9dc\x12\x1a\xae\xd7\xa2\xea\xb0\ +\x00\x88\xc0\xc8XL\x07\xef\xc3\x93\xfed\xeb\x82\xd9e\ +s\x7fv\xffg\x13\xf3\xfcT\x9d\xe5\x9at\x82Te\ +\x87\xcc\x04\x0a[D\xbfx\x9e\x00D(\xf0\x87\x22]\ +\x14&$v\x00\x0a\xac\x07\xd4\xa1w\x97\x9d\xdf.J\ +,\x97\xd3u\x06\xb0#\xa1\x1a\xfa\x99s}(D(\ +@\xb4N\x03\xf8 Q%\xf1\xa5c\x81\xfa\xf7R\xda\ +?\xa7\xea\xd5\x97c\xfd\xc0p\xa1@\xc2\xae\x95uM\ +G\x83\x84\x07\xbb+\x12\x1ff\xfa\x01\x90(\x14y?\ +t\x08\xb9\x8e0L\x1e\xed\x19\x11\xd1\xa9\xe7\xbaq?\ +f\xea5=\xa2\x90\xa3\x90\xa6\xf0\xa3\xe0\xa6C\xfa\x82\ +EZWt\xe8\x18\xa9XM\xcf7\xcc(\x80?F\ +\x07\x00\x82y\x7f\xac\xbba\xc1\xc4\xfa\xa5@\x9c1\x98\ +.\xfd\xeb\x1fv\x90x\xfe\xe7\x1d\x88\x02~@\xfb4\ +\x22\x8e\x00u\xac\x1b\xce\x8fi\x94\x90?\xaf\x0e8\xc0\ +\x06\xd7\x91\xebC\x07\x92\xaf\x87\xa3&t\xf4\x00\x82`\ +*\xd1I\xa1\xb0\xa7\xe3-UjO\xe3\xf7L\x9do\ +^/\xcf!\x0c\x05\x98^\x00\x00\x00Hz]AE\ +\x07\xe0\xa0\x13G\x01\xcf\xeb\xa4`\xe5\xf7s\xfdXO\ +|\xe6\xef\xc0\x80\xe0\xfe\x01\x00 *\xa8\x8eq\x00V\ +t\x98X\x8f\xc3\xe7\x9b\xcf\xcc\xb63j\xc7\xdf\xe19\ +'q\x83\xa2\x8f\xe8\xad\xa8\x9fF\xc1m\xff\x99\xf2\x1d\ +\x01\xe8\x01\x10Jk\x06[L\x98\x0c$\xc0\xd1a\xe7\ +\xfdp\xbdpc\xe1\xfa\x08\xf0\xed>`Q\x81\xe3\xd1\ +s\x16iT\x93<\x8f\xeb\xcf\x08\x1fb\x8d\x00j\x9c\ +o<\xb7\x14\x84<\xff0C`\x92\xa8\xc0\x0d\xf1H\ +F\xda`\xc8\xa83\x1c\x7f\x87\x04\x98\xd1\xb6)\x16\xb5\ +\xa3\xd9m$U~i\xeeD\xdeJ\x1e2\x1e\xbd\xe9\ +\xe2x\x9a\xd1v\x8d\x8c\x8d\x120\xcb>\xde\xba\xa1\x5c\ +\xd5\xba\x00\xe8\xd2\xbe\x18\xeePt\xaeQ\x1b\xe7\xfd\xa9\ +\x10\x87I\xd1=\xda=\xe6\xa3L3:\x07\xcc\x80\xea\ +^-}N\xd9V\xca\xd5\x80}\xd1x\x7f\xce\xfc\xdb\ +F\xa3S\x00*\xb8y\xbdwp\x9e1\xf2\xc6\xebP\ +\x81\xefbp\x07\xa6Q\x0c\x98\x1bjX5\x9bXT\ + )\xa8\xda[\x95\xb0|r\xda\x12\xa5\xe0n~W\ +\xe2\xe6\xc4\xc0E\x94\x0f&\x06\xcf\x01\x00\x14\xaeXf\ +\xcb\xfdZe\xa2\x96\x9c\xe5-#\x95\x88\xca\xb5\xeb[\ +H\x9c\xf6\xf1*\x1e\xe9\xbb\x98=\x17\x07\x94\xf8\xbc\xec\ +\xd6\xca\xf5\x1a/X\xe2\x84\xba\xdf\xf8\xc8\xd6\x93\x89r\ +\x8d\xc87ZR\xec\x9b\x06O\xfd&10\xf5>\xd0\ +\xe6\xe1\xf7\xb5OXT@\xc9\xab\x903\xdf2\xaaW\ +\x9ddF\xff?\x85?\xdf\xcfy\xc3\xf3\xc3\xb9\xc7h\ +\x86\xfd\xef\xaf\x92\xeb\x06\xe7\x99\xd6ch\xd4\xb0\x7f\x90\ +GP\xd8\xab\x91\xd9\xb9\x0f\xbc3-z-\x06l\xb7\ +i\xdc0R\x80h\xa6\x80W\xea\x95x\xbelWz\ +.im\xb0\xff\xe1\xae\xa0|v|\x89\x85\x8f\x92\xb8\ +\xebFy\xba\xfc\xf9\x0aJ\xbb\x18\xe2\x9c{\xcd\xc2\x16\ +\xe5\xb2\x1ck\x91\xc4:\xcd^}\xf6\xeaF\xd5,]\ +b)\xd5\x8fwH\x9c\xef?\xbe>\xdc.8\xb4\xa6\ +,\xcb\xbe\xac\xe6\x93\xed\xd1\x16U\xbc\xba}\xa6u\xd7\ +\x02\x1fu\x9a\xc5m\xfa\xdc.\xbe\xfd\x86\x85\xab\xfc\x7f\ +\xbc\xfd\xb83 |\xdf,U\xf2\xc2\xdd\xc2I\x13\x8d\ +}L\xfbhh\xbci\xa4\x13\xa0\xb1\xbb\xdc\xa2|\xfd\ +m\x8b\xe4&\xa1\x8e\xbf)\x0b\x98\xb6\x00\x0c\x8a\xd0$\ +`\xb4@.\x09\xa1\x09\xa0\xce~4\x02/\x18\xfd\xc4\ +\xf61FXaB\xb4\x1bXT\x1b\xc7\xc9\x13gX\ +\x08\xc1Y&\xd9\xe2ic53\x13\xb33\xe1\x06:\ +\x85\xbc\xef\x0b\xe9~\xf2~\x1e\xb3H\ +\xe2Utx\xf9LG\x8d\x83\x92\xc2\x11\xaa\xe8\xb2\x12\ +\x07\xe3y&a\x1aR\xe17\xe8\x13\xe0\xf2=\xbd\xa8\ +\xd7k\xfdA\x03\xa0\x03\xa2\xee\xd4\xc5U\xe4\xcf\xbaI\ +RG\x1f&\xf2\xc3Yz\xee\x13\x85\x08\x858\x09\x13\ +\xef\x83\xc2\x13\xe0\x80\x02\x90\xce\x01\xeb\x9a\xe7N@K\ +t`x_\x14(\xfc<\xaf\x0b\x7f\xf6\xe1\xba\xe3:\ +\xc0\x94@E\xfdI1D\x98\xe5\xff\x84\xb4YX\xcf\ +\x9c\x03\xd8\xb6\xf1\xfe\x18\x89\x01\x08\xe2\xfeP\x80\xa3\x1e\ +/@\xab{\xd8\xe2\xed\x80*@D\x07\x15\x92\x82P\ +\xda\x08\xdd\x83\xfd\xc8Fh*\xdc\xa7}\x1d\xe0c.\ +=o\x00\x13\x88\xc5\xc1\x88\xe0\xf5\x02T\xaf-\xfbD\ +\xc4%\xffj\x91(\xe2\x00\xafZgQ\xe02\x1a\x01\ +\x801\x18\x81\x8b\xf7\x0f\xc5\x19\xa6\xcf\x0b\xa2\xa63\x92\ +\xd2\x85KA_0\xa1\x0e<\xa3E\x02\xf6\x00|\x00\ +\x04\xe8L1CJ!)\xb1!\xb7/]\xa3\x8e\x9e\ +\x04ev\xa0\xcd\x12\x94y\xd6\x01\xaa\xf6tDx\x9f\ +\xac\x17\xee\x07\x1dC\xe5\x09\x01t\x00\xa8\xc3 \xe0\xfa\ +r\x1dY\xaf<\x1f\xfc^\xce7\xd69\x00\x01\x0cE\ +\x0a~\x12`\x9e\x03f\x9e\x87Z\x08\xecW\x009\x88\ +\xadQ0\xb1\x1e\xe8\xa82\xfa\xc7\xeb\xe3~\xb1^x\ +N\x87#\x0d\xbc^\x9eo\x9e/\xfe\x9d\xd7\xc1z`\ +\x7f@\xdb\x80\x06\xca\x16\x16U\x8d\x9bB\x9b\xbc<\x5c\ +b\xbe\xdd'\x8a\x00\xf2t\xba\x18\xc9\xeb\xce\xb0HT\ +u\x1a\x14P\x849\x0f\xd9\x7f\x00\xf4\x18\x99`D\x04\ +{Bf\xa49\x07~-\xc0\x90\x8e2\xd7{hs\ +\xc9\xba\xe2<\xe6\xeb\x5cHMJ\xa2\xa3\x88J2\x8a\ +c3\xea\xdfM\x14f12c\x04SZJ\xa3{\ +z\xcax\x8cl\xaa\x93\x1fv\xb6\x9c\x9f\x9b\x8f6s\ +\xc0\x8eB+\x03\xb5\xb3\xa4\xfdR\x8d\x8d\xa1\x9dfh\ +\x5c\x1c\xee\x11\xa3\xb4\xe1f%1\xc5\xb8\xbf\x96\x9d\xac\ +\xea\xf9\xedW\x9b\xaf\xaa\xe1\xb1\x933iz\x8d\x8c\x0d\ +{\xcd\x87\xd0\x80R\xa3\xce\x14\xae\x5c\xe3\x8aF\x0f\xfb\ +\xee\x90I\x05\xa3P\xfb\x0b\xb3\xda\xa3?[T\x8d\x81\ +\x98iV~\xd5\xfc\xac\xc4OS\x87V\x80I\xf3\x8c\ +E\xf9\xbcT\x89%\xf5u\x02R\x9a\xdd,\xbc\xb1\xe1\ +3\xf9\xee\xde\xb4G\xd5~\xb1j\xc2\xea\x89\xc8\x07Y\ +\xd7\xe4!b\x9cu\x17Y\x94\xcf_\xb0(\xaf\xfb\x0b\ +%\x0e\xa8\x9d^\x0a\xc4\xc8\xf3\xb5o\xb5\x7f\xb1\xa8\x05\ +:y\x033\xf00\x11h,b\x9b\x1d\xcf\xe1\xe4\x9e\ +\xf2\xed\xab\xfa\x1d\xc9\x9f]\x8d\xcbf\x8aE:\x9fa\ +\xc2\x18\xdcv^\xea\xbc\x02|\xb2~\xb2\x06R\x9b\xf2\ +\x02\xf2\x1a\x18X\xbc\x0e\x5c2l\xa6\xdbF\xb0\x0f(\ +\xf1\xf9d\x1bg\x1a\x0d\xa93\x1f\xf9\x93\xae[\x14\xfe\ +\xc6<}\xa02\xa2\xc9\xaf\x18\xa9\xa6\xd1\xd0\xeegQ\ +\xfe\xfb;-\xaa;N)w]L\xce\x1bv?N\ +\x14{Q\xeb\xfd\xd5\xbf\x91\xc435B<\xfaE?\ +\x12\xdem+5|\x019\xa3'z\x86\x0dnsn\ +\x97wLe\x04\xb7\x7f\xb4\xa8@\x80k,\xbd\xe1b\ +\x91&\x17i\xf5\xdc\xacV\xcf\xf9\xbf\xbf'Q\xf19\ +\x1f\xacZ\xb8\xb3\x02\x02>\x90\xf4\xa0\xc4\xd1\x0fM\xae\ +\x03G\xb6G\xb4G\x88)p\xab\xdf\xe7)\x96\xd7\xc7\ +\xe8)\xf9\x89\xc4\xb6\xa9\x8f\xca_/\x91FE\xd4H\ +bD\xab}\xd5\x22\x15\xe24l\xa9\xc7h\xd8\xdc,\ +\x8d#\xad\x87\xb0_\x95\x0dh4&\xb9\xaf\x1a\x15\x82\ +\xa9\x85\xa6\x06\xaf\x83F\x1a\x0c\x0bF\xbd\x01\x16\xda\xbf\ +Y\x94\xe5\xed\xb3\xef_I\x9dK\x9b\x15\xb0N\xdc\x0c\ +%\x8cb\xb1\x80E-D}\xb6\xe4;\x9a\xb58+\ +!\x1dt:QY%\x81\xbc\xdaI\x84\xfd\x83\xb1b\ +\xa2pq@\x9bt\xcd\x13IdL\x9dH\x17\xef\x9b\ +\xa6R\x80\x9bY-\xca\xdf\xdd\xb5\xc4g\xd3\xec\x09\x94\ +^\xfc\xd1M\xedp\xc1\xd4)\xa3\xd3A\x81\xa3\x19\x0a\ +\x1f%\xd8-\xa9eB\x09\xa6s\x07E\xcc\xd4P\x7f\ +\x91\x0e@|\xea\x99\xb5\x95\x9d\x9a#\xbe\x0b\xd4\xd9\x12\ +f\xcf|\x96\xee|1\x03.\xeb\x0bW?\xc0\xcb\xfb\ +\xb5B\x12\x91?\x12\xa1\xe6\x07%N\xad\x1d\x15\x9f]\ +Z\xbe\x8a\x08\x22\xd6\xd3>U\xe2I\x8d(\xdc\xa1Q\ +\x83+\xd2\xf5\xa5#\x03u\x9b\x83\x0aj\x1c\x07\xbe\x12\ +\xff\xe6 \x8b\xf2\xdf\xd7\xb0(\x0b\xe6+\x16\xe5\xf7\xcf\ +eQ\xf6\xab\xed-\x92\xd8\x10\x05\xbef\xe5#\xf1\xa3\ +S9\xf0\x1b\x7f\x0b@\xf3\xaeTh\xf1!\xe4\xd0\x99\ +\x0b\xd7%\x91Iu\xf8\xc3\xae\x0d\x1b?\x12`:A\ +lp\xf7X\xa4\xdfO\x82O\xe2\x22@\xc0\xaf\xd3g\ +\xd2\xf7!\xbef3\xef\x97\xe9 \xbc!!\x9cV\xf6\ +}(\x15\x06\xd8/\xa9\x00@\xdc&\x0a\x17Q\xc2\xa1\ +\xde#\xc6\x13\x94AQ\x81\xbb?\x0f\xd4]\xd9\xb0m\ +`\xe3\x80:\xb2\x12\x1d&f\x97\x958u\xa7X$\ +J\x1d\xb3\xda\xcc\x8c\xd2A\xe4\x80e\xd6\x1e\x86\x05\xd7\ +\x0f\xea5\x09&\x0c\x0e\xcd\x94\x81\xb4\xc6L\x1a\xcf\x03\ +\xd7g\x01\xd7\x09\xefg\xf1\xeeI##\xccxI\xdd\ +6\xee\x03\xaa\xd8F\x1c\xde41)\x04\xc8\xf9\xdd\xfc\ +`\xfa{\x88\xb6 z\xc5\x07\x88'j\xcf\x880\x92\ +\x88\xe3&\xf1\x1eQU\xd5y\xea~\xd9\x1f\xf8\x91\x18\ +\x91\x882#LaA\xc1B\xe7IL\x97(\xc0z\xd4\xf5\xa2\xa3\x18\xcf/\x80\ +\x156\x87\x8c\xa2\xd0A\xe6~\xc9\xdd\xa4\xac\xc9\x1e \ +m$\xa2\xb9\x87\x12\xa9\xfdu\x9d\xd0xP\xe7 4\ +G$\xb2\x16\xfb\x99\xba2!\xd6\x06\xe3\x86\xeb\xc6u\ +\xe1\xfa>\xab\x8e?\xeb\x0f\xea1\xeb\x87\x02\x8e\xfbO\ +\xc2G\x02\x888\xdc\xba\xbaN<\x87$.\xdc_\xdc\ +d$\xf6\x13\xfb\x0d\xeb\x02\x80kn\xdd\x7f\x12I\xd6\ +\xd5k\xfaw\x0a\x81\x7f\x8a\xb1\xc1}\xe5\x9cf\xfd\xd0\ +\xf1\xc7mb5\xad\x13>(\xd4x\xdft\xe8Q?\ +\xe7\xb9\xa1\xb3OG\x9c\xfd\x92Bm\x0e%\xfe\x9au\ +\xe4y\x0d\xc6\x0f\x80\x00\x9dh\x80\x0c\xdd\x87\xf8\xbd\x14\ +\xde\x14\xfe<\xaf\x00Kt\xd2\x19\xb9\xe0\xf5\x02\x90\xb0\ +\x1e\xf9=0\x1a`\x08P\xa8\x92X\x03\xe8\xa0M\xc2\ +\xdf\x19h\x05\x04\x00@\x02\x0f\xf0\x02\x80\xc1\xfd\x1b\x8a\ +\xe3q\xff`\x06\x0d\x01N\x18,s\x84hf\x7f?\ +\x10\xe9\xc3\xbe\x18_\xe9S\xe4\x86\xc0\xeb\xa0\xb0\x00\x98\ +G\xbc\x91\xe7\x8e\x82\x9b\xfda`/\x1a\xb3\xf0\x8c\xde\ +A\xf1\xe69\x19\xaa\x9d\xf3~\x01\x00\x01\xba\x00\x88\x00\ +hX\x7f\xfc]^\x1f>\xe6\x88\x17b\xcf5\xd4x\ +A$\x99\xce\xfd\xa3\x16\xf52\xd31#\x8f,\xd9Y\ +\xef\x0b\xae\x91\x00(\xef\xccN\x87\x98\x1e\xebC\xa3\xa8\ +!\xce\x86\x98`e\x10\xf5\xf7\x97\x84^j\xea!\xfa\ +\xf7#\x8b\x048\x01\xec0z\xa1Q\x00\xb4\x85\xc2\xed\ +\x84\xfd\x15\xa0QLT\x801\x0a]\xe7[|\xd2;\ +\x8d>\x03\x1d\xf7\x85\xf3D\x00C\x88\xc0=bQ\xaf\ +7\xb6qa\xa7&\x8d\x83ff\x0b\x89\x8a\x1d$\xf1\ +\xb5\xf2\xfa\x9a\xc3K\x1c\x91\x80\x01s\xc7Y9\x8d\x0c\ +\xa31\xf0\x9f\xe6\xb5\xe6\xb5T\x98\xcc Ur\xa8\xe7\ +\x8c\x8e-\xac\x86\xc9\x0f\xa5\xfd\xa0F\x18\x8d\x1e\xdc\x03\ +\xba\xcd,\xaa\xe6\xd0\xf8\x5c\x8b\xcaH\x81\x09\xc3\x08,\ +n\x1d\xdd\xd8B\xa3\x88\x8fh\x04 \x8d<\xc6(\xd6\ +\xc0\xb6\x93\x82\x16\xd7#/\xac\xee\xaf\x8cFw\xfd\xd9\ +\xbd\x8a\xa47g\x968\xab\xee\x0f0\x9f\xdb\xa7-\xd2\ +\xa8\x07@=\xf9'\xebL\xf9\x0dL\xe2\xb0\xd9\xd4\xba\ +rf\xb0Q\xf7\xbfkQG+aNE>xv\ +\xef[\x1f\xf9\x1c\xe7\x19\xa2\xaa0Q\x94/\x05#F\ +\x8c\x80\xf6I\x0b\xd5\x19v\xfd\xae\xe9\x9f?\x1f\x01(\ +\xfbI{\x9bE\xaa\x83p\x1bA\xa3\xe0b\x8f\x00\xee\ +]\xbc\xf1\xd6\xba\x1e\xa3\xb1\x0c\x93\x82}\xf4\x89\xde\xad\ +\xab\xe4\x96\xde\xa0\xc5N\xb3}G;M\xfb\x0e\x7f}\ +\x93\xed\xf5\x85\xed4\xee\x0f\xeb\x97|\xccF\xb8\x0fm\ +\xbe\xdc\x1c\xea\xf5\xe3\xb4\xd6\x98\x0c\xdb\xd55GkX\ +}\xd5\x9dP\xd6\xdd\xb7=?\xdf\xdeG6u\xfd\xbb\ +\x0fw\x1f\xe9\xca\xfdj7\x93;\x9a\x01,\x07$\xfb\ +V:\xeck\xc9\x85ML\x98\xf6\x04\x8b*b\x1e\x9f\ +%\xa2\x8d8p\x8c\x1c\xa8a\xdd-jQ\xf3\x05\x1a\ +\x1b!B\xcfH'#\x18h\x04\x88\x89\x19\xdat\x97\ +X\x94\xcf\xff\xb5(\xafg\x06\x8bj\xb7\x1eL\x19\xdd\ +'\x98\xaa0\x82'\xc7\x8c\x82\x15\xd6\xbb\xd6\x99m\x17\ +\xb5\xda^H\xf1\xa2B\x98N*\x9f\x9f,Q\xdeP\ +\xbb\x8d\x85D\xf8\x8eI\xb6(\x88\xf01\x0b#q4\ +\xefxOWg#\x9c\xf2\xb1\xad\x1e\xac\x974\xeb\xb4\ +I\xf5\x93\xf4\x82x\xadj\xdf\xe6\x1d\xc8\x9d4\xabq\ +j\x9a\x89\xa2\x90Q\x82\xcc,OP\x82)\xb8\xee\x9c\ +\xd4\x8bl\x192\xf7p\xa2@\xf3\x80\x98d\xdc\x16\x89\ +\xda\x05\x90\x01\x92\xab\x83!T\xf9\xf1\xdb\xd5L\x90\x11\ +\xb0\xfc\x80\xb2\xce\xc2\xf2RY\xfcBU_\x8d\x04\x06\ +\xe6\x816\x82f\xfb\x12\xdb\xa9\x83\xf4T\x9den\xce\ +\xb2H\x05<\x075v\x1e\xa2\x96\xfa\x01pF\x05\x1c\ +\x1cy\xfdIJDP\x09%1\x82\x92\x8d\xbf6\x05\ +\x92\xf5\xd3~\xdcoL.\xe68\xadE\x12\x9f\xe0A\ +\xb3\x19\xaf\xbb\xf5ss\xa4\xc4nyw\xe4\xae\x1b\x1a\ +\x09\x00}x\xbe&\xe1\xa1\x10\xe2\xfa\xeb\xfb\xdc\xbf\xf3\ +OI\x85\xdf\xde\xc5|B\xb4oK\x09/\x05\xbb\x89\ +\xf6\xad\xaa\x99\xb3\xeb\x12\xe5\x11\x0a?\x89\xa4\xd4\xe6c\ +vt\x03\xef\xe5\xf6\xc8\xfe*5A\xf6\x8e\xc9\xe7\x85\ +\xf0~G?7)Q\xe38\xb0\xe8\x10\x19\xf0\xb4P\ +\xfa=t\xbaI\x18I\xec8\xc8\x11}\x93X\x09\x9d\ +\x8cP\xf1\xe7\x01GT\x0f\xd1D\x12OT\xa0\xb9\xce\ +P \xa1\xfa\x91\xf1\xd0\xd9\x1dRWI\x98H\x1c)\ +\xd09H\xce\xf4\xa8*\xdd\x9a\xc1\x0c\xd1\x1eQ\x9dC\ +]\xf4$\x8b\xca@\x89\xd1\x13\x0a^fn\xe5~\x81\ +\xedK\x14\x18V\xa6>\x98:!$2\xd83\xd2!\ +\x5c\xc7\x8d\x83jA5d\x92\x80\xbc\x93\xe8\xaf\xa2\x91\ +\x11\x12L\x12\xfe\xe7\xd4i\xe1\xf9\xb8M\xf6@t6\ +\xb1E\x03@ \xd1f\xdd\xcd\xa7\x19U!\xb6\x00I\ +\x01pd\x9b\xd2+\x9cZy\xb7\x17\xa8\x88\x8a\xf1w\ +I\x1c\x01\xd2(\xf8\xe9\xcc\x92\x00\xf3~I\xe4\x00\xbe\ +H )\xd4\xf9\xbd\xdco\x18\x0c\xfc\x1e\x12k\xde\x17\ +\x80\x02\x85\x0a\xb3\xd5\xec\xdbP\x9c\xb9\xae\xbc\xfe\x87\x05\ +,P@\xfeY3\xf0\x00\xb10\xa3\x00\xf4\x98q\x05\ +8\xd8\x5c\x00\xc4\x14u\x80\x19\xe5X]\xcf\x0b\x05\xa1\ +\x80\x04\x9fM_#\x15\x98\xa8\xf1\x22\xaa\x89\xe8\x1c\xeb\ +\x9e\xeb\xc8\xfb\xe7z\xd1\xb1d\x16z\x07\x0b\xdfG\xfa\ +\xfd\xf5\x15]w\x804\x0a\xf8eU\xd0/\xae\xaf)\ +\xf4\xb8\x1f\xf3\xab\xe0\x05H\xe1\xba\xf2}\x03\x0ar\xdc\ +w\x9e_\xad\xa7(\xa0T\xa0\xc5>\x05\xa0\xb7\x9dF\ +\xcf\xee\x90\xa6\x8d\xf6\xcd\x0ej \xe7\x0b\x05+\x85=\ +\x94_\x00\x80\x09\xbd\x1e\x0a\x16\xd67\xeb\x87\xf7\xaf\xd1\ +\x9a\xb0[CD\x11F\x1c3\xff\x00At\xc8)\xc0\ +\x00 \x87\x858\x7fo\xa0u0\x9c\x01\x8f\xf3\x92\xeb\ +\x08\x00\x8a8\x1e@\x16\xf7\x89\xfd\x80s\x8eQ\x00:\ +\xf8\x14\xf44\x1e\xb8N\x83\xc25D1y\xbd\x00\x10\ +h \x00\xfc!\xf68\xb0\x19\x0c\x80g\xe8\xde@\x01\ +,\x11\xde\xb0\xbb\xd3\x8c\xec\xdb\xd6/#%\x9c\xff\x1a\ +a\x09\xcd\x09\xde/\x05'\xbf\x97N!\xe7\x22\x80\x89\ +F\xe6\xba\xaf[$\x1bP\x9d\x97\xb8\xact\xcfY\xa4\ +\xc2\x9f1\x1a@A\xc2\xa8\x07\x00\ +.\xe7\x85\xce\xcf\xe8\xcc\x8a\x82\x1c6\x89\xd8\xa4\xe2\xea\ +\xa0\xf7\x1f#\x97\x1a\x19\xe4\xe5\xef~\xbd\xc4\xd7\x92f\x9a\xb5\ +\x0d\x1e\xab#\xd3\x8c\x08z{\xf1\xb3\xe9\xf9\xb6\xacc\ +\xf3*b\x1b\xccek\x1b\xed]5\xcb\xba\xed-\xf4\ +\xfc\x8dTP.\x93f\xf4W\xb0H\x05\xe7\xab\xbd\xbd\ +bw\xa6Ey}7Z\x94\xcf\x1f\xb0\xa8\xf7\xa1\xdd\ +\xcb\xa2\x8a/G\xa7]\xc0\x1a\x8c\x0c\x0a\xcb(\xc0\xc5\ +\xd4m_\xb6H6v\xaa\x93\x10}\xf4N\xf9lU\ +C\x00& 3\xf1\xa5\xfcu\x86^\xf71\x8d\x16\xe8\ +\xba\x94*\xf3\x13\xad\xd5=7I\x5cz\xe1~\x7f\xef\ +\xbe\xdd\x8bB\x86M\xfa\x9a=sm\xe2+\x13_\x9d\ +\xf8J\xb5\xa7\x87\xea\xce\x08n\x8c(\xdcY\x9e\xaa;\ +S\xbe\x84\xb6\xc9\xcf\xba\x9fv?\xf5\xc2\xf9C\xed\x87\ +\x1cp\xeb5\xe7h \x03x\x00\xd0\x8b)E\x03\x95\ +Q\x01\xf2\xc0\xe8\xecK|4\xdc\x9d\x10sE\xac\x0f\ +\xcd\x0c\x80!\x98/0\x0c\xc4\xa8\xc7.>\xbe\x9f\xba\ +E\xf6\xed\xe1n# \x17\xbb?\xb7\xab\xb4\x11\x87\xd5\ +-R_\xd6\xffO\x97\x90/\x12a+\x03\xce\xd2\xc6\ +h\x1d\xb3\xc5K\x94\xc4\xba\xfd\xb1EB(\xb0\xe1\xb0\ +\x99\xa0K\xca\x1f<\xdb\xa2\x22j\xdd\x1f,*\xb5\xd7\ +\x91'C\x1cO)aj\xc8\xffc\xa1\x855OE\ +\x10\xf1\x97uQ\x89i\x12U\xde:\x22\xdb\x09A<\ +1m\x5c\xa8\xc0\xda\x03\x96\xd4\xb8\xd9\xf0\x1d\x07\xb7\x0d\ +i\xb1\x12\xbb\xcb\xf7s\x96J\xe9\xf7\xf4cN\x15B\ +\x0f'M\x80\xeb{[\x16\xc3\x87\xdc6L\x09\x1a3\ +G1\xabt\x97\xa7\xfa\xf1\x80\xfa,\xd0\x91*\x9c?\ +\x946^Q\x88\x02i5U\xcbV\xa3\x02'\xd6\xce\ +T\xfb1\x8bJ\x85\xe4\xdf\xe3\xe0\x87R&?\xfb\xb0\ +\xf1\x91\x1ag \xedtd\x86\x859\x1d):`\xf6\ +_\xff\xd5'\xa8\xdd\xc6o9X|\xb6\xac\x9b\xce\xa2\ +n\x00>cx{Jx-m\x5c)\xf9\xc4\xbe\xe1\ +\xe4\xdb\xa0N\xc5\x8c\x9cm\xb4o\xa4\x84\x14\x8a\xbb\xa5\ +\xfb\xcbW\x15\xd9\xb7\x89\xa1A\x99\x11\xe5:\xec\xb98\ +\x00\x0cQ\xb3\x91\x91\xa9,\x12\x83\xc3\x80\x8c\xe9\xaa\xdf\ +.\xf79f\xf5x`\x1a\xef!V\xca\xab!\xf1\x1f\ +J\xcf\x85\x1d8\xb7kf|\xef\xd4\xa9\xc3\xff\x95\x8e\ +\x18\xa2B\xa2\xd6\xb3\xd1a\xc3\x18\x1f\xd2j`\x1dA\ +\xe5\x8b\x99\x1f:\xdf\x14\x000;\xbe\xe1Q)\xb4\xa2\ +6r\x9f\x82\x89\xc0\xfd%\xb1'\xd1%A\xe7\xf9\xbc\ +I\x22uP\xb3\xa18C\xa5D\xb4L\xae\x0a!\x0e\ +\xba}\x8f\xa0\xba\x1d\xe6\x95\x02\x12\xee\xac\xeb:f\xa5\ +\xe5\xc7M\xe7\x86\x023\xec\x1feG\xe2\x89\xe9\xd7\xaa\ +Ha\x88\xd8\x00l \x0ei\x14\xf6\xa5\x05\xc4\x1c\x9f\ +(\x97$>\x03\x95\xfb(T(,\xeeT\x82\xc7l\ +\x96\xb9h\xfc\xc8;\x05O\xdaL\xa0=\xb5\xde\xc1\x87\ +*\xac\x84\xc2\x81\xcfL}~D\x89\xa8\xdc\x1cB\x04\ +U\xc8\x7f)\x7f\x16t\x9b\xa5\xdf\x8cn\x1c\xdd\x98\xdc\ +\x1c(\x1c\x99\xad\xa5\xa0\x1a\x8e\xca\x00\x1c\xf1\x99\xe7\x81\ +\x7f\xa7\xb0\x00H\xe33\x05\x13\xc0\x07\xeb\x88\x82\x88\x19\ +t\x0a.:\x9e\x00)\x9a\x15\x8eB\x10\x00\x82\xc2\x04\ +1Q\xc4\xc8~\xddS\x07G\xa7\x8dN\x1d\x9d\xea\x85\ +n\xff\x5c\xc3\x08\xe2\xefT\xaau\xaf\xe6\xcf\x8c6\x05\ +\x22L\x00\xbe\x0f1\xc8y\xd5\x99\xd4\xcc^h\x8a\xe8\ +9\x08\xdb9:\xa7\x00(\xac{\x127\xdd\x1f(\x8f\ +Q\xb8q}\xfe3\xe8\x94\xf3|/\xa5u\xc4s\x88\ +\xe8\x99\xee\x07\x9d\xc9\x00r(\xf0)\xbc\xb0\x05d\x96\ +\x16\x8d\x04\xc4\xe1\x00\xdd\x94<\xa5\ +Y\xdc\xa2|^\xbe\x07\x00|\xd6\xfb\xcd\xdaHh\xff\ +k\x91\xd4\xd6Ea\x86I\x5c\xeeN\xaf\xb6/\xfbG\ +\x1f5\xdc\xdb;\xf0\x9e\x1f7\xf7\xda\xf0q\xf9=\xe7\ +\x978/\x89\x8ek4\xcc\x1b\x0dfG\xbc^\x89)\ +\xda\x17\x96H\x9dT\xdb-\x9f\xae\xcc\xc5\xc8O9\x87\ +i\x5c\xf1\xfc\xd09\xb7\x11\xa9\xd5\x93M\xb2\xc1;7\ +\xab\xe3~\x8e\xdc\x7f\x8c\xe2\xfe\x19\x0b\x01 \xef\x17\x80\ +z\xbe\x00\x93s\xb5o-Q\x1b\xae<_\xa3\xfb,\ +\xca\xcf=aQ\xeb\x87\xf1\xcb\x16U\xfc\x131[g\ +>|0\x01s\xdco\xb9xt\xb3[H\xab\xad\xdc\ +\xcfv\x07\x8b\xf2y\xa9v\xe9\xd6D\xe96\xb4\xa8\xda\ +\x02\xcd5\x16\xb5nb$\x97\xe7\x1ej:\x05\xfe\xf8\ +=\x16I\xf4[#\x1a\x00\x101j\xc1\xa8\xcdi\xce\ +\xf1\xa8\x0d.\xf2b\x8d\xeb\xa2\x92\x8f\xe8(*\xff\x14\ +\xc41\xb2\xb6\xbe\xf2G\xe5\xfb\x00u\xe5\xbb\x1d\xc8\x88\ +\x86\xed\xda\xfd>\xd8]h\x914V.\x96\xe6\x09\xf5\ +\xcf\xfd}}\x81\xcb\x85\x99\x09\x9b\x06\x07#\x10\xdd\x97\ +,R\xbeB^\x84\xb6\x09\x1ah\xecg\xd4\x036j\ +\xfc\xfb\xb4~`\xbeq\x1e\xb0\xdf\x03\x00\xa2\x91DC\ +\xfb4\x8b4\x82\x07\x83\x8b\xbfO^)\x9bRFs\ +\xd8\x97\xf8\xf9\xee \x8b\xaa\x01\x03Cf\xf2x\x9b\x12\ +\x9f(\xf5\xc2\xea%VS\xe1g\xc8\xe0\xde\x16\x15\xe1\ +\x852\x83\xfd\x80\x1f\x1c\xfb$\x7f{u\xbc\x9a],\ +d\x0f\xb6\xa7\xec\xe9\xfe,d\xf9\xef\xa2\xa0_Q\x1f\ +Hf\xdf\xbds?S\xedl7G\xf5\x08\x18\x85\x0f\ +j\x9ba\xf7!\x1b\x83\xf6g\x16z\xc3\xbf\x16\x95e\ +\xbaJ\x19g\xe3\xa3\xb0v\xc6\xc2\xb1\x95b\xed\x05\xc4\ +j\xa9\xf01\xdb\xb8\xc7\x85\xb8l\x9d\x80\x00l$@\ +\xc6\xd9\xd8Uha\xff\x11\x9dR:nt\x0aP)\ +\x17%\x16[\x13/\x5c\xdf+\xea\xe9|\xc9\xf7\xdcf\ +\x0b\x17\x97\xd6\xc1W\xa5b\xfdhb(\x90P\xda\x04\ +\xc8\x01Iu\x9e\x0e\x01\x08;j\xbeP\xecH,\x98\ +\x85\xb1\x89\xb0\xab\xd2lX\x9e\x95_\xbdj)8p\ +\xf3\xc14\xc3B\xc2b<\x89\xf3\x92\x8d\x0f\xef\x1f*\ +,\x9d!:\x8d\xcc\xd4S\xa0R\xb0I\x84\xcfg\x7f\ +\xd6\xab\x00Bw\xabE*\x5cE\xbd\xa3@ea\x87\ +\x88\x91\x1e$\xc4K\x1c1[@\x09\xea\xb6\xe9\xfdQ\ +\x18J\xf3\x80\x8d\x1eQ\x0eG6\x0f\xd3A\x7f}\xa2\ +\x06\x22:g\xe9\xd4\x7f\x12\x83\xc2\xc4\x816P\xa7\xf1\ +\xb6\x94\xb8\x91\xe82\x0b\x86\xdd\x0f\x0c\x00\x0a\x00f\x0c\ +\xf5}\x1c\xc0A\xbd\x16\xb0\x83\xcaitBPy\x15\ +\x85\xd1\xf0KC0\x03I\xa4\x93F\x01C\xa2O\xa7\ +\x11Ua|\x9b)\x0c\x04$\x18\x0fg\xb4VJ4\ +\x95\xb8\x19L\xe6@\x99\x8d\xc8\xfc2!\xbc\x1ch\x02\ +\xfaB\x95\x9d\x11#\x00\x01\x18(P\xed\x04\xa0\x05#\ +\x04;R:~\x14\x166\x81uDb\xf6\xd0\xd9\xc5\ +v\x8cDs\x17=w$\xea\x02\xc4\x98\xd5\x0eU\x7f\ +\xee\x0f\x85\x05\x88<\x9dc\xa8\xfd\xec\x03\xdc\xc7m\xfb\ +\x19\xf7\x10!E|\x14\xfb%K\xccfq\xaa\xa0\x1f\ +8n{\xf3dE\xf8\x83\x02I\xe2N!\xcasA\ +\xa1F!\xcdg\xd6\x1b\x94E\x0a\xac\xe1h\xc5PD\ +\x8c\x7f\x87\x09\xa1D;\x00\x14\x0a\x18\x12bF\x08H\ +\xa0\xb9>0K\xa6\x8f\xc2\xad\x7f\xbd/\xe8\xe7\xe8\x5c\ +\xd2\xf1\xe6yc=\xc2\x80Q\x87!\xd6\x1f\x89'\xd4\ +D\x183\xd8\xc4m\xac\x83\x0f\xe0\x84\xebC\xc1Ea\ +\x01\xb3e\xea\x81H\x1e\x0c\x05u\x06\xa1\x86\xc6\xeb\xe2\ +~C\xed\x9f\xa4\xc2\x19U\xf2\xa1\x8f;\x1f\x14z\x14\ +\x96c1\x90\xea\xec}\x0fD\x00\xb0P\xa0\x03x0\ +\xd2\xc2u\xe6\xf5\xb3/\xd2\xb1$Q\xe0\xf9d\xdd\x00\ +P\xb2\x1fl\xa1\x02\x15\xea>\x80\xc8\x90\xa1\x80\x9d+\ +\xa3\x0bb\x98E\x82\xf1\x90\x18\x04\x14\xd2\xec\xdf\xdc\x7f\ +\xc4\xcd\x10[\xc3F\x8a\x8e\xda\xb0\xb3\x0f3G\xf6\xa2\ +Q0\xb1\xaeY\xa7\x00\x16\xec7\xbc/\x0a<\x15\x0c\ +A\x85G\xeb\x82\xc4\x8c\xeb\xc8\xf5f\x1d\xf1\xdfu.\ +\x85\xeb\x0c\xfb\x08\xe2\xa7\xac?\xee'\xaf\x1f&\x19\x00\ +<@\x1c\x8c/\x0aX\x18h\xc3\xf5H\xa7\x89\xdf\x87\ +x&\xef\x0f&\x12\xf7\x8b\x9f\x1b\x00X\x01\x88\xd3\x19\ +Vg=\x12j\xce_\x00*\xa8\x9f\x14\xe8<\xc70\ +\xfbD\xd9\x85J\xca\x08]4`\xf0\x9f\xb6\xf3m\xc3\ +*\x1a\x08\xb3\x87\x04\xbd9\xc7\xa2v\xbe\xe8\xc8N\xac\ +oQ\xf3\x9e\x00\x92\xd8\xb7Y\x8f\xacOFJO\xed\ +\x01E\xd7\x18\x9a&\xd9\x98\x0d\x00\x8f\xe8\xec\xb3\xaf\x91\ +\xf7\x00\xf0\xc1x\xe2\xbe\xf0\xf9x1\xf9`6\xa1\xb9\ +\xc1\xe8\x96\x18k\xa3\xbf[${Q\xdcD\x18\xa1\xe4\ +\xbc\x16\xd3\x13m\x89\xb0I\xc65\x05W\x03\xb4-\x00\ +\xb6y\xfe)\xa0\xe8\x08\xb2.3\x83p\x89\xb4n\xd0\ +\x0eR\xc7\x17_ql\x11\xbb%,j\xa1\x1a\x22\xcb\ +\xda\x7f\x9a\x93-R\x1e\xa4\xbf\x07\xf0\x1e\x8c>\xe5\xc3\ +\x91\xafK#\xa4y\xc4\xa2\xdc\xdf='\xf6\x9a\xd8\xab\ +\x8e\x0a\xd08jn\xb7(\xff\xfe\xa3\x89\xd3'N\xaf\ +\xc0\xb3\x8b\x05\x96\xeb<^\xc7\xa2\xbc\xaew[xA\ +\xdc\xef\x0f\xd3\xf6@\x0f3\xe4\x88\xa5\x8d\xcf\xb1H\x22\ +\xc2bl1#\xdd\xech\x91\xf6\xe3u}\x88\xac\x07\ +\xca>\xaa\xce\xeb\x99\xa9\xb1e\xf7\xcf\x98\x8eg\x958\ +3\xe5\x81\x5co>\xa6sNB\xbf\xef\xcf^\x0bw\ +\xbf\xdf\x1fO\xe2\xd9j$x\x03\xe0\xc3\x95a\x81\xcf\ +;\xeb\xc2G\x04\xce\xac\x85`s\x80E\x15\xc3\x0d\xdb\ +`ij\xb4\xef\xb7H#\x9f\xba\xdf\xce\x88\xbd#\x89\ +@\xba\xadW\xf9\xfc7\x8b\xf2s\xd3Z$\x9fy\xec\ +\xe7\xee\xb7\xa8\x0c\x00\xf6\xeb\xe6\x8e\x12w&@S\x7f\ +\xbf\xf9\x90\x85\xae\xfb\xd4\x15\xa8iglgjg\x12\ + \xb7\xa3D\xf4\xac\x00?\xae\xc4\xf1\xa2\xfe\x7f\xb9\x8a\ +uv\x9bu\x9b\xdb\xe8\x06\xf5K\xe4C\xe4;\x02\xfc\ +b\xd4[\xb6\xc8\xe3\xc5-\xaa\xabI\xb7\x98l2a\ +\x840\x1a'F\xe9\xf8!\x8b\x04\x0c2Z\x8b\xb6\xc7\ +\xbd}\xa1o\x92\xe1\x0e\xa0*\xcf\xa1P\x0e;p\xec\ +$a\xe8\xa2\xb5\xa2\xd1\x8b`\x0a!\xee\xc9\xc8\x0e\xe7\ +\x0e\xf9*\x0d\x16\x18\x93\xb2\xad\x8cs\x89\xbc\x0c;W\ +\x80\x001\x0eB\xa3\xe5\x8b\x16u\x7f\x03\x10k\xb7\xb6\ +H\xdaS\x9f\xb1\xa83\xfe\xd1\xa0`\x1f\x92\xe8:y\ +\xd7\xe4v\x8b\x12[\xea\x85\x95\x02p\xf2\xcfK\x5cY\ +\x0b\x82\x98a`\xb6\x1e\xb1%\xcd\x9895\x7f\xc7d\ +\xdbe\xe9\xc9{\x92\x18\x8cu^\xffRg\xa0\xb4N\ +\xfbY\xd9\xa3\x12\xa2Mag3Y7:\x05\xe6\xa8\ +\xe6(?h|\xf63\x0e2!9\xd8\x01\x06EK\ +b+\xcc@\xb4/XT\xe4+f\xb2\xb4a`\xff\ +\x85\x9d\x9fi9\x9a\x9a\xa3#p\xf7W&\x82\xa7\x0b\ +\xefK\x89\x90\x11\xbb\x8eI\xb6\x12\xd6\xd1_\xa7\xfe\x9e\ +\xe8\xd0\xa2\xae\x0a\x22,\xdf\xf48\xf0\x00\x06\xec\x989\ +\xbd\xce\xc6\xd3\x11\xe0\x80\xc1..\xa8\xd7F\xf5\xd99\ +\x8d\x0eha\x07\xf5G\xa2 \xe1_k\x85\xf2IJ\ +D\xe7\xa9\xe20\xe1\xab\xca\x8c\x8b(\x83\xed\xa1\x16\xd5\ +\xc7\xbd\xf9\xb2E\xf9=\xafY$f\x85:\x8d\xdd\xb5\ +\xa2\x9eq\xb0\x82\xa4\x028(\xf1\x09\x11,\x0ed;\ +\xae7\xd3&\xbbdJ\x1c)\x5c\xec\xa7\x16\x162\xba\ +\xb5f\x95\x0eVG\xe0}I\x95<\xdb\xfa|6\xd9\ +\xfd\xecg$\xbeDA\xda\xa5\xc4\xa7\xab\xcd\xcf\xe8\x8c\ +\x12g\xa6N\x0f\x0f\xa2fcB<\xe9\xc3%6\xd2\ +\xfb\x9d'%`\xa8\x9eZZ\xf6p-\xbc\x11\xc9\x0c\ +\x84O\xa3$n'\xf3\xc9\x94\xf83sO\xa1\x85\x8d\ +\x8b\xf1o\x9eJ\x22}/YT\x84/:;tx\ +)(\xb6\x91\xe8\x1a\x1de\xee\x07\x1f\x1cll0$\ +\xce\x5co\x80\x22\x00\x85%%\x16G\x225P\x8d/\ +\xab\xab/\x88\xd6\xd1\xfd|\x5c\x14CD\x01I\xf0\xe9\ +\xac\x81\x80\xaa\xc3\x14\x05\xb4\x12\x97\x10\x93a\x04\x81N\ +\x1b\xeb\x02qCQ\xf4\xa3\x00\x80\xe9\xb1\xb5\xd4\xe4\xf7\ +\x90\x8a\xf8v=\xc55:\x95\x14\x98\x0090J\x8e\ +\xeb\x81\xbd\xb2\xfd\x9fj\xb6\x88q q\xfdH(\x94\ +(\xb1q2\xb2\xe0\xa3K\x9bV\xca\x19\xeb\xda\x13\xa7\ +\xc7\xaaHX\x14\x9e\xa2\xeaE!\x07\xe0@\x87\x0a\x04\ +\x99B\x81B\x12\x8a>\xb3\xcf\xac/\xae\x0f\x85)\xaf\ +\x1f@\x81Q\x15Q]\x83B\x8f\xfb\x81\x9e\xf3\xe8\xa0\ +\x22j\xc6\xf3\x0b\xd5\x16Q&\x00\x1b(\xd9s\x89\x01\ +\x85\xc8\x11\x85\x0b=\x14\x80Bl.\x01xx\x9d0\ +'(\xb0)\xa4x?\x14\x8et\xba6U\xa2\x7f\xad\ +\xc4pl4\xed\xe4\xf4}\xac\x0b\x0a\xa9\xa1\xa6\x02\xf6\ +z\xcb\x88\x1a\xde\x85B\xf3[_/?\xc7\xfb\xa1@\ +\xe1\x83\x02D\x1d~\x12\xafX7R\xeb\x8e\x82\x11\xc6\ +\x0e\x0c\x86\xaf\xf7@\xdeh/\xf9\x94S \xf2\xfe9\ +o\xb8\xef\x14\xeaC\xf18\xbef\xdd0\x12\x04\x00\x09\ + \x03PB\x82BG\x18\xe6\x02\xea\xff\x14\xee\xbc\x0f\ +\xbe\x8f\xc2\x0b\x15j~/\x1d\xf8\xe1>Aa\xcf\x8c\ +-b\xa3C\x8d\x8da\xa7\x9c\xfbDg\x06`\x8aB\ +M\xcf\x83\xdb\x90>\x92D\xd6x\x9d\xec\xcf\xbcO\xf6\ +7\x00d\x0a|\xa8\xfdP\x8d\xb1\xf1\x04p\xe2u\x0e\ +\x199\xec\x9f\x5co\x00\x1e\xedC\xf1>\xb8\xae\xec{\ +\xaco\xde\xb7^o\xa8\xf0s\xfe\xd0`\x98g \xda\ +\xc8u\xd1u\x88\x8e1\xebI\xf77(\xfe\xd3_\xf6\xa5\ +fc\x8b\xf2\xf9N\x8b\xaa\xb92\xfak\x89\xa7\xa4\x11\ +1w\xb2\xe5\x86\x19\xb0W\xaf\xa5\xd0\xfc\xd4\xa2\xdeg\ +\x0aG\x80\x82r\xea\xbf`\xe7~{\x88E-\xd8\xc3\ +\x96\x12\x00\x82\x0e\xb9\x80W\xf2\xf9\x18\x11\xa1\x01\xb2\xbc\ +\xc4\x96\xadM\xf0\xa5\x9a\xdf\xb3\x8dG\x1eM\x07\x15f\ +\x00n]h~Y\x03\xe9Ki\x9f\xef\x5c\xad&\x18\ +\xa1\xb1\x9f\xb1OM\xef\xd0w\xed\xf0j4\x94\xdf\xeb\ +\xa3\x1e\xdf\xac\xd7\xcf\x1b\x83\xb7W\xc0\xb4\xdd\xcc\xa2\xfc\ +\xfaO\xf7L\x09\x18\xc4\x9c[\xcd\x84\x85^\xcfLj\ +\xb8\x95\xef\x1f?h\x91\x80m\xfd{h\xe1\xcc\xe8~\ +\x11}\x01\xb8ke\xb2\x063\x80\xce\xaf\x18\x0e\xcdI\ +\x02\x80\xd8\x17h\x10\xfdat\x97\xe55\xe47\xa1\xf9\ +A}5_\x89y\xab\x9a?\xeel\xcdi\x16\x12?\ +?7\x01\x0f\xd3X\xd4\ +\x8d\x01\x1a5r\xe5\xe2\x1c\xb76\x975\xba\x10\xcbD\ +\xeb \xb4e\x10\xdf\xe4\xfc!\xcfdT\x91sGy\ +W\xf7O\x8b\xf2yz\x8b\xe4\x22%\x11\xc1\x00n\x96\ +\xb1\xa8\xee\x0e\xe6E\xe0n\x04\x87K\x5cS\xef3D\ +6\x05(\xc3\x1c\x1f=eQ\x81N\xf6\xf1\xc9\xf8\xbf\ +\xfb\xcc\xc9QB\xc4\xceR\xe7\xb5\xfc\x82\xf6\x7f,t\ +\x81\xca\x06\xd8\x01\x80\xc7\ +\xf5\xe6z\x0d\x00\x9bx\x0e`\xea\xf1\xfe$\x16\xccG\ +\x14\xca4.\xd4i\x06@\xe762s\xdc\xfc\xc4\xa2\ +|\xbe\xc0\xa2\xee;\xd8\x0aO\xbcdQ\xbe\xfe\xb6E\ +\xf9\xfc/\x8b\xc4\xb4\xa2\xf0\x05\xc0%\xcf\xd2\xf5t7\ +\x22c\x9a>hQG\xc0F'\xf4\x0c\xbe` 1\ +\x0b,J1\x0c?Fd\xba\x9d\xad5\x90\x9e\x8b\xc7\ +$\xf6jZJ?M\x8d\x17\x152\xa8h\xd3\xc1\xc7\ +\xe5)\xd6\x89\xaeO\xd8\xe7b\x03\xaa\xf3\x80B\xa7\xd9\ +\xd2\x22\xcdR\xab\xf0\x88\xf7\xaf\xdf3\xba\xb7\xc4=\xe9\ +\xf3M\x16R\xdd_*\xb9\x1cH{\xa5\xb9NT\xfc\ +\x17,R\xbe\xc9z\xbb\xa8\xa7\xd67wY\xd4B\xaf\ +Y\xde\xc8\xfa\xd5m\x07\xc0\x11M\x07\xa7\x16?\xe3\x14\ +}\xcf\x8fc\xd4\xf4$\x8d\xb2J\x8bkb\x1f\x8b$\ +\xea\xab\xbc\x19\x0au7\xd9\xa2|>\xde\xa2\xfc\xfb\xd1\ +\x1e\xf5\xfcf6Z\x8cZ\xaeK\xbb\x9d\x85\xef\x0f^\ +\x10\xa1\x0d\xd5|\xb2D9\xef\xdb\xcb,\xca\xbfon\ +\x91F\x99\x0c\xc0\xf8[\xa5\xfe\xb3\xde\xa1\xc6\xc7:\xb1\ +Sx\x86\xc4\xa4\x1d\x8aV/\xe9\xc3#U\xa3\xe1\x15\ +\x1fv\xeb\xf3\xce\xc55\x8a\xf9\xfd\xda\x10\xa0S\x1c#\ +\xa6bH\xfb\xe8\xcauR\xbb\xfff\x1a\x15\x93\x9d\x22\ +\x85h\xf3\x19\x0b\x89\x0c\xda}=\xce\x22u\xbe\xad\x81\ +\xf7\x9d:\x83\xee\xd7\xbf\xec\x1f\xcd\xb1\x16\xe9\x1cS\x1e\ +\xd5\x1en\x91\xdc\x1d\x00\xd28\xe7\xb5\x0eGo\xf6\x80\ +\x1a\x1a\x04\x8c$P_\x8d/\xb5(\xbfo%\x8bd\ +\x17\xc9>\x83k\x94\x5c%\x9am-\x12\xf5\xdeN\xa7\ +W5\xea\xba\xa0F/\x9f\xf2\x02}\x7fW\xb3\xdf\xb9\ +op\x8e\x1f\x1b?>~L\xf6~6\xaap\xaeE\ +\x15\xbbk\x8eh\x8elL\x8d\xff\x98\xfe:\x8eo\x1c\ +\xffv\xfc[\x1f)\xf7\x91\xd2(\x90\xc5D\x8aQf\ +\xfd<*\xf9Q\xe0\x93\xd7NmQ\xb5\xd6\xd08\x88\ +\x86\xb8\x0a\xf3``a\xaf\xcdh$@\x22y\x18\xcc\ +.\x80\x1a>\xab\x9e\xa1\x11\x1d\xe2\xec\x00\x160\x7f\x11\ +s\x04\xb8P\x1d\x11\xf6\xc4h\xf5 \x82\xcf\xfb\x82\x19\ +\xads$\xc4!\xd1(\xd1\xc7d?\xe6@\xd2\xca\x82\ +\xe9\xe6)1\xaf\x16\xe6\xbc\xd5\xc7\xb3;\xcf\xa2~\xcd\ +\x86\xde=kQ\xa9\xd6\x14\xcc\xbe\xd1\x9e\x90\xc4Ul\ +\xe2\xf9D\xbd\x81\x0bk\xe1\x1d\x1d\xc1\x95\x06\xe2K\xe7\ +H\x84\x8f\x0e\xf5\xa2\xbdmM\x88\xfb\xa1\x1a\xfcY\xd9\ +\xa9\x91\xa01{\x88]\x02\x88\xc8Z\xae\xdfXU\xd9\ +A\x12u\xa1\x9b\xe9-*\xa0\x01\x82\x84\xca\xb7?h\ +\xa7T{\x0c:h\xcc\xce\x05\x93A\x0fd\xb7O\x89\ +}E\xe1\xf8h-\x00\xdaK,\xaa\xea\xaak\x0bd\ +*\xb6\x1d+G\xeb\xf7\xef\xab\x07%\xabR\xab\xe0e\ +\xa1\xf2>\xdf\xd2\xf1\xffn:\xd0)\xf8\xa0\xfe\x01T\ +p\xb0\x1bB\xfaCu\x8e\xef\x13\xb3\xe0Si\x06M\ +\xc8Y\xbc>\xa8i\x86\xc7_\x91(\xd4\x00\x19$\xac\ +VF\xed\xa8\x07\xe97\x89j\x05\x22\x8eJ-\x9d$\ +\xa88zP\x83zf\x07\xecw+u>\x0a%\x5c\ + (\x5cHx\xe8\xccS\x90\xa3\x0e\x8c\xff\xab4)\ +\x82\x0a\xc3\x08\x8af\x9b\xa2p\xa0\x80\xe5`P\x07\x9e\ +\xfb\x13L\x87{\x5c\x87\xbc\xce\xdc\xd8,\xff\x22\x09A\ +\xbc\xc5\xa2\xda\xdc\xb9\x1d\xe0\x8e\xc9V\x90\x0e&\xa2P\ +\xc6p\xf9Y\xb5\xd5\xe3uF!L\xc2\x0d\xd5R?\ +\x1fTy6\xfe\xa1/:\x05\x00\xe2`\x14\x06C\x9b\ +\xa0\xd7U\xf0p\x9d\xe9L\xf2\x81\xdd\x98(\xc1\xdd\x99\ +JT\xe5c\x8a/i\x00UP\xe4\xb1\x89\x82\x22\x8f\ +O:\xafk+\x012\xea\x9c\xc00\x8a\xfbHB?\ +\x14q\xfa\x96\x12:41\x98\x09'A\xd3A\x14\xf6\ +f\x8c\x88\xeck\x91\x12Y\x0a\x14\x98\x06\x006$\xcc\ +\xba\x0et\x14\xda\x7f\xf6\x0c\xa3\x18\x91\xe2\xc3\xf8>k\ +$\x9fY\x1dD\xa3\xcb\xfaQ\x9a(\xb0)\xd0\x866\ +\x85\x1c\x1c\xd8\xd11sN'\x93B\x8b\xd7\xcb\x81C\ +AJ\xa2\x0f\xa2\xaf\xfb\x12\x07\x15\xcf\x11#J|\xc6\ +\x1e\xebs\x16\xe9@\xc7.\xf4\x06\x8bDu\xbb\xad\xbf\ +O\xa3\xf7\xea`\x07\xc0\x9c\xa2D\xeei=\xd7\x009\ +\x88\xdd\x89Z\x1d3\xbc\xbb[T-\x88\x18\xe1\x90\xbf\ +x\x00\xa8$\xb2wJ\xb4R\xda1\xd1\xf9WA\xe0\ +\x13\x997\xa7\xeb\xfa_\x15\xd4<\x17\x88\x8b\xa9p\x8a\ +\x8e\xf0\xd0\xdf\x9eQ*^?\x859\x9d\xdf\xa1\x06\xc3\ +\xb03\xcf\xfd\xe1<\x22a`t\x8c\x0ff\xd4\xe9\x1c\ +P8N\xa5\xdf\xcf\xfb\x00\x90\x18\xf8x\xc7l2\x7f\ +\x17\xbfsu\x0eb\x7f\xe5\xfdq\x1ePh\xce\xaa\x9f\ +\x9b]\x14\xff\x99Th\xb3\x0f\xf2}\xec#\xec\x17\xa8\ +r\x93\x17\xe0\x02\xc4\xbfsn\xbfn\x91\xc4\xf8X'\ +\xfc^\xbe\x9f\xfd\x8d\xf7\xc9\xf7Qh\xf3\xfeTh\x8d\ +\xa6\xb6\xa8T\xedxNaD\x91\x1f0c\xcfu\x87\ +\x914\x04$\x00\xe2\xb8\x8f\xfc;L\x00:\xbd\x5c\x7f\ +:\x80\xfc~\x984t\x82\xb1m\x1a\x020<\xd7\xda\ +\xaf\x01\xc8\x00\x22\x10\xe1\x0a;S\x00\x0d\x0a_\x80M\ +\xee\xe3\x90\xe1\xc19\xc8\xb9\xcc\xfb`\x1f\xe7\xbf\xf3>\ +\x99\xc5\xa7\x10\xe2\x1c\xe0\xfe\xf0wt\x1f\x981\xc6\x0e\ ++\xfe\x1d\xf1Af\x90e3\xd8\xeek\xe1\x09\xfb\x11\ +\xa6\x1a\x1f\x0c((\xaf*\xd0\x99\x95\xed^*\xef\xff\ +\xa5tnc\xff\xac\xc25\x12c\x9e;\x80\x0f\x00f\ +iR\x04\x10\x03s\x85\xfd\x1b\xfbi\xe5\x1be\xf7\xf1\ +\xfd\xae\xfb\x81\x00F\xfd\xben\xc9n\x89n\xc9Z\xc0\ +\xf9,\xf9z\xe9y\x86)b\xab\xf5\xf5t\x1ek6\ +\xdb;\xfb\x7f\xab\xe2\x89\x88\xe9\x85]&\x22\x810G\ +\x18\x09 \xafa\xbf\xe2\xfd\x02\x88 \xca+FF\xf3\ +\x07u\xec\x95/5\xdf\xb3\xa8L7F\x03\x83z\x8d\ +\xf6\x94\x98\x17\xc1\xe0P\x03\xccyc\xcf\xaa\xe3k\xe2\ +\xdew\x97\xb8+\x8d\xb4\x19\xc0\xbf\xabw\xf0wjv\ +\xaa\x1d\xc6f\x15\x0bgp\xecg\xe2\x89\x14\xf6a?\ +\xa6Y\xeavm\x8b\xd4\xf1%\x7f\xd9W?\xc7\xf3C\ +\x9e\xc3\xec\xb8\x9e/l\xe5X\xee\xa8\xb0\x07\xe0\xceh\ +\x1b\xcc\x12D\xaa)\xf0\xa4\xc1\x15\x1aP\xe6rt\xb0\ +\x98\xac\xd7\x0a\x18\xba#\xe5\x1d\x14\xc80\xe4\xa4Q\xd4\ +\xfd\xc3\x22\xd9\x7f\xcb\x162\xf2v\xb3\xff\xdd\xb8\x8a\xa7\ +c\xef\xe8L\x8d\x93\xabxx0\x8f`\x94\xb0\x9e\x10\ +a\xfe\xa1\x85:\xf1\x1f\x11P\xf0\x8a\x1a\xa9o\xd4\xfa\ +\xcaGd\x9eI\xd7G\x80\x01\x85#u\x1b\xdaS\x01\ +\x98\xb2OiD\xc7]\xc8~PE\xd2G_\xb7p\ +\x9b\xbc\x12\xa9\x11\xc4\xc8/L sA[P\xeb\xd2\ +\xdc!\x8e\xb1H\xf6\xe5\x88\x013Ja\xab\xff\xb8\xe4\ +w/u|oD\xce\xed\xcc\xde\xdf8\xb3\xd7\xcc\xc6\ +W*\xff\xfd\xf7\xed-\xed\xef\x9d\x09\xf0\x97\xeeq\xdf\ +'{\x8d\x81\x8f\xb4\x1b\xb7\x1b{C\xd4\x81\x8dv\x0d\ +\x8b\xca\x5c\x1e\xff\xdc\xa2\xfc\xf7\xc7,\xca\xe7\xdfZ$\ +\xc6\xa9\x5c\xe2\xb0\xf5\xa3!\x09s\x1cf\x14\x8d\x1b\xf2\ +\xc6`B\xcb\x15.\xce1\x98k\xe4\x8f\x8c\xcc\xea\x9c\ +\x84\xa1\x0d0\x16\x8d\x01\x802]\x87\x10\xdfe\x7f\x00\ +\x00\x00\x08e]k$\x12w\x90\xeei\x8b\x04T\xb0\ +/\xa3}\xc4\x08\x9f\x98\x0b\x93\x0d\x97\x1a]\xa1\x03n\ +\xa7:\xdb\xec\x89\xc5\xda\x15Yr*\xf5\xbd\xc9\xf7\x9c\ +\x05g\x1b\xdb\xacu\xc3u5\xd8\xc9U\xed\x11d#\ +f\xb5\x86\xea\xd3\xea\x80\xc4\x02\x01y\xfe\x86:\xa0/\ +*\x118P\x08\x0b3\xa0 \x1b\x12k\x88\x84m3\ +'AU\x04\xdd6\xb8y\x93\x1b\x81\x12j/\x08\xd6\ +\xd4\xec\xf5\x07ja\xd8N\xd3\xdbMx\x9a\xbaT\xa5\ +b{\x9a\xf1CQ\xe2nHH8\x1d^\x0aX\x00\ +\x10%<\xf8\x81G\x87P\x88_\x88i\xd8\x0c\xcb\xab\ +J\xd8l#?\xb0\xc4\x17\xd2\x8c\xb9]\xd5\xa5Sg\ +QbtQ\xc8\xa9\x03\x07\x05\x8c\x8e\x8b\x1f\x98\x17'\ +*\xb6\xa5\x93SU\x0a\x97?\x88s\xa6\x8e\x81\xa5\x05\ +\xf3\x89\xca{t\x15?\x0cdV\xe27!j\xc1\x86\ +*[\x96H$\xe8\xd4\xbf\xe0S\xc1\x01$\x85\xcf;\ +\x09\xb4\x95\x1d\xab\xa5\xef\xb7m\x7fKQ\xa7v\xab>\ +\x9fl\x9c\x91\x10\x90\x10\x1a\x8f\xe1/I\x85w\xc2\xf5\ +\xad\xeb\x07\x22/Pu\xf9\xbd\xa8\x1f#\x92\xc5\xbfO\ ++\xdb\x10\x8d\xbcx\x1fy\x1b\x1d\xe0\xdfO\xd41\xec\ +\xc4H\xdc\x7f\xee=\xde\xaa\x1e+\x9bA\x80\x9dP\x83\ +7\xcd\x85\xfb\xabMS|p\x1fy\x9f$^b\x16\ +\xe0\x1f\x1a\xe2n<\xc0\xf6\xf4\xccZ;U\xae\x96|\ +\x95\x90\xfbU\x92h&\xe2I\xd8\x9f!\xfa\x07s\x84\ +\xce\x1a\x85\xf7\xe3\xb2\x9b\xda^\x07\x13T\xe4\xa1X\x17\ +\x89\xd5\x06bp\xec\x22\x0d\x01fi)\x5c\xd9\xa8H\ +|WT\xc7\x09f\x07\x9d\x89\xabz\x9f\xd8\xe8\xc4C\ +]\xa5\x83J'\xe8\x86~#n\xd6\x95\xff.\x1b)\ +\x1dLD\xcd\xa0\xb8\x8b\xb2l\x12JF-\x85\xaa\x0d\ +%\xb7\xdb\xd2\x22u\xfe\xf0\xbf\xde\xd9P\xc6)l\xa1V2{\xcd\xf3\xcf\ +\xac:\x94n\x18[ \xc40d4c\x18\x9d6\x0a\ +\xa6\x07\xb4nqK\xa1\x00\xbbO\x09\xebw\x0f\xdd\ +>`Xp?\x18\x1d\x03\x10\x1c^\x07\x189\x88\x0f\ +j?\x0a\xc0W\x85\x1aT\xd8\xee\x1c\x8b\xd4\xd1f\x1f\ +\x95h-\xf7\x19U\xea\xb0\x9b\xc5\xceS#S\xcd\xf5\ +\x16i}pn\xec\xebQ\x99@\xbco:\xaa\x88\x9d\ +\x92\xb7\x00\xa8(a\x1f\xfd\xcc\xc2\xd7U\xcf\x848]\ +#\xaahC\x8c{\x80\xdf\xd5\xd7\x0fN\x14{\xd6%\ +\xcf#\xe2\x8c\xb8\x15\xec\xa7B\x16\x0d\x1b\xbd_\xd7\xde\ +Y!i\xb7\xa0\xe2MG\x8f\xfb\x8e\xc8 \xc0\x07n\ +\x01\xf6t\x99\x16\xc3\x0a\x16\xaeM\xf0\xdc\xe89\x07\x14\ +\x5c\xd3gb\xbf\x89\xfd'\xf6O\xae90\xad\xa0\x98\ +\xcb\xce\xba\xf9\x83E\x05$b\xff2f\xebO\x12\x10\ +\xcd\xf5f\xffD\xfcS\x0c\x0a\x18\xb8\xcd\xa6\x16)\xdf\ +\x9d\xb6\x17\x8bn\xff\xda\xcf \x8f\x9f\xb0H\xbe\xe4\xa6\ +\x09V\xf2\xb5v\xab\x1e\x18\x9ft\xbc\x0a\xc9\x07{\x7f\ +z\xf3\x02s\xe0\x7f\x06\x8dji]\xc0\xc8\x9b\x98\xc1\ +\xc2\x99|=CvE\xe7\x8e\x85F\x02\xda\x06\xe3\x0b\ +J\xfcT\x9d\xfe\xd9\xd49\xbf\xa5\xfc\xdd\xd5,\x92+\ +\x82:\xf2\xe12A\xdeK~\x89\x88\xb5\xad\x92Eu\ +_>\x9a\xdck\x04\x18D'\x97\xfd\x84\xf3\x90\xfd\x17\ +qu\xcb\xdeV\x16\x13a\xc5\xa4q\xb1\x85Er\x17\ +\xc2}A\xa2|\xcd\xdfK\x94\xfb\xdd~\xc9\xa2\x8e\xc4\ +\x85\xdb\x85i\xae\x95\xbc\xa4\xd9\xa2\xc4\xe6I\x1c\x0f\x80\ +}\x15\x8b\xf2\xf5\x8c\x16u\xff\xc0\x1d\xc4\xdd\xbd\xeeJ\ +\x0d\x00\x01\x10\xe3\x95,\xca\xe79,\xca\xdf\xbf\xd6\xa2\ +\xe6-a\xa7\x0b\xd3\x1b-,\xd6\x91:\xd8\xc6\xe76\ +F7\x22u!\xfe.\x00h\xbc\x90E}\x8e\x9b\x19\ +,\xd2\xf3z\x91\xc9B\xd6\xe7\xac}\xb3\xc4\x7f\xbd`\ +\xef]]\xce\xed\xbf\xaf9\xbd\xf9QS\x9ec\xd3\xf0\ +7\x15\x7f\x1a14\x5c\xb0\xd9\x1eMX\x94\xaf\xe7\xb5\ +\xa8\xccRf\xe7\xa3N\xc3V\x15\xf7*\x9d\x07\xb8\x9e\ +t\x9f\xb7\xa8\xfbR\xf7m\x8b\x94\x9f\xa1\xad\x85k\x1b\ +\xa3R\xec\xef\xe4Y0Ui,\xa8p\x0f\xa0X\x00\ +B\x8c\x0e\x08\x90\x8c\xd1\x88\xcbz\xad\x8cp_\x80\xe1\ +\xc2}\x92=a\x9cK:\x17&\xc7\xec\x89Q-\x96\ +\xa9\x17\x1e\x8aH\xfb\x90EE*\xbae-\x92\xea\xb6\ +\xde8\x9d\x08?\x00\x96\x11B\xf6|\xea\x5c!:$\ +\x0aSP\x03\xf5\xc0t\xa7KD\x83\x04\xfc{\x93N\ +.a\xa2\x13\xae\x92\x1e\x88)\xb3\x8d\x1cL\xcc$N\xcc|\xd9c\xf9l\xda\ +8\x94 y\x87`\xb9\x94\xb8Jt\x8c\x19j\xef\x14\ +\x1f*J\xd8\xc3\xa9@}\xdc\xa7\xb3\xab\xfd \x9di\ +\x89g8\x85y\xe6\x94h0\xa3b\xe9\xe4\xfb\x93\x98\ +\x8d\xdd\x8d\xef\xa5\x84V\x9d\xf1n\x06\x0bQ\xe8\xfe\x99\ +^\x1f\x1d-D[H\xf4H\xa0\x17\xf5\xe1\x8e\xaa\x15\ +a\x0b}\xa5Z8\x04\xa2\xaf\x83>~nHi\x97\ +\xbd_t\xfe'\xbb,YMlH\x98Wpc\xb1\ +Zh\x98}\xc8\xbeJxV\x97H\xdc\xe2\xc9\x95\x80\ +\x9f\x13\x02\xe8\xa2u\xbfJ\x9d\x7fKw\xceN\x89\x07\ +\xa2\x8c\xbc.\x12y\x12\x05\x00\x10F\x04(\xdc\xa6x\ +\xcf\xb4_\x17\xc7U\x04\xdc\xdd\x016Q!\xdf\xaa\xb0\ +]\xb5jX8\xd3\xe3d\xcd\x90\xfe\xb1\x1e \xcc\xc6\ +FAo\xa2Y\xe7%\xa0C\x8c\x87\xa0\x1eC1R\ +\xa1\x13\xd4\xf7\xf5\xd4\x09\x07x\xa03\xcasGA\xa6\ +\x8d\xd34\xfc\x9db7\xa4\xfa\x7f\xb6\xb7W\x09{(\ +(\xe2\x00\x0a\x5c/\xd9\xb0 \xfe\x14\xb6l\x88S\x82\ +8\x8b\xc1C\x81\x12\xb3\x8a7J\xb5\xb9np\xfd\x06\ +,\x847\x12P\x1d\xdc\xa1\xea:\xec \x91\x08\x93\xb8\ ++\xe1\xa3C\x80jrwfw\x86\xfb/\xeb\xf9\x22\ +\xf1r\x11\xae\xcd\xff\x0f\xea\xfe$\xe8\xb8\x07L\x93\x9e\ +\x83E\xd3u%\xc1\x1c\xce\x9eS8\xc2\xec\x18\xda\x01\ +\x06\x07W\xff\x9d\xeb\xcb\xf7g\x1b\xa3\xbfW;\xb9\xe8\ +\x84k\xe4\x08\xdb\x9cQc\x91\x5c\x1b\xa0\x1e\xeb\xf7\x84\ +\x8b\x84f\xd8B\xcb\x02\xff_\xec\x10\xdf\xad\x8e$L\ +\x1d\xa9\xea\x8f\xe6\xecgQqW\x88\x82\x84\xc2\x98\xce\ +.\xfb\x86\x0a\x13f\xfd\xe2}\x22\xd2\x87\xf8\x19\xd7\x83\ +\xf7\x89\x98\x1b\x0c\xaa\xeb\x94x\xcb\x8d\x00\x80-\x12g\ +(\xdb\xec3\xfc}\xee\xdf\xd0u\x81\xeb\xcc\xfd\x81\xf9\ +\xb2Hy\x8e\x16\xf1Bo\x15\x07l\xf8=\xbf\x97-\ +\x984X\x82\x82M\xe7}\xb6\x81\x8d\x1c\x85*\xf7\x91\ +\xc4\x8auu\xb7\x98$tz)\xe0\xf8=\xdcw\x12\ +}:et,\x00\x0e\x18\xf1\xd2>\x12\x94F\xf6s\ +\xfe\x1e\x056\xd4y\xec\x91\x00\x16\xb1g\x04\x10\xc1\xc7\ +\x9dYw\xf2\x00\x0a7\xf6\x17\x00\x1b\x98\x03\xf87k\ +\xf6:l\xe5p\xb7Q>\x10\x1d4u\x94c\x14\x83\ +\xd7\x0f\xb07\x04\x04\xd8\xaf\xc9O\xd87\x86n9z\ +.C<\x15`\x90D\x1fQA\xf6\x0f\x00G\x0aI\ +%\xfe0h\xa2\xe3F\xe1\x0e\xf0\x04\xf3\x88}\x98\xeb\ +\xcb9\xc2u\xa4!\xc1\xeb\xa5\xb0`}\xb2\x0eY?\ +\x00\xafhh0\xca\xc0\xbeC\xc7\x1f`\x8f\xfd\x98u\ +M\x01\xc8z\xe7zR\xc8J\xf5?F\xf1x?\xda\ +\xe7\xa1\xdeG\x1e%\x0as\xb8X0\xab\xfdi\x8b\xb2\ +\x8d\xddj\x91Dp\x11=\xbdb\xe4\x8d\xaaf_\x8b\ +\xc4\x98\x80J\xce\xfeN\xe7\x17\xe0\x8e\x91\x0f\xe5Y\x14\ +J\xa3y\xc5\x98\x9cI\x85\xd4\xf4\x16>\xa2p\x82\x8d\ +(Ph\xc79\xc0z@[d8\xc2\xc5~\x8d\xd6\ +\x0c\xda\x0c\xd8\x06\xc3$\xb1\xb4\xfe\x9a\x04 \xb1\xdf\xf3\ +\xbc\xa8P\x18\xfdJ\x22\xb9\xd6?\xfdk\xb2\xbbF\x8c\ +Z\x8d\x8c\x18iC\xf3\x05\xca1\xf9\x05#\xa9\x14R\ +:\xffh\xb89\xd0<\x87\xd6\xc3{k>\xc8\xc8C\ +\x9c\xd7\x96\xdd\x1e\x22J\xf4\xd7\x5c\x1c\xb9\xcf\xbb\xb1\xe3\ +T\x81\xd5\xfe\xd4\xa2l\x9f\x9f\xb3(_/iQ>\ +\xdfbQ>\xbf\xd4\xbe\xd8\xbe\x98T\xec\x8d)\xbbO\ +}^q\xcb\x22\x0fq\xb7\xb0R\xc0M\xcciQ\xc5\ +\x09\x9b\x7f5\xffn\xfe-\xa6\xd9\xb3.Z\xbe\x8f\xad\ +\x8bv\xbd\x12Sj\xc3\x87\xc2\xad]\xb9\xc4J\xcac\ +K\xde\xd4\x9eT\xe2d1;\xcf\xd0\xb9\x95\x0a\xcc(\ +\xdc^t\x08\xbb\xcf?\xf3\xb92\xc9\xafA\xd8\x18{\ +\xfe\xfb\xef\x04\xd0\x01\xbc\xd9\xee9]m\xe0\xc1 h\ +\x16-Q\xaews\x7f\x89\x07\xca\xfb\x9b\x5c\xa2\xac\xd7\ +\x89\xebJ\x5c\x9f\xc4U\xad\xff\xfb\x19ox\xack\x0d\ +\x0f\xaf\xd3\x96\xaa\xb3\xf64d\x9b\xffXT\xf1\xf2n\ +9\x8b\xc4\x5c\xc5\xc6\x15\x1bT]\x07\xec?'\xe6\xb7\ +\xa8\x0d\xb07\xd7\xb2\xa8\x00N\xfbi\x8b\xf2\xf5^\x16\ +\xe5\xf3<\x16uT,\x5c\x11`l\xc0@\x163\x93\ +B\xdb\xed\x7f\xa7\xf8z\xe9\xed\x91ar\x9ef\x914\ +\x93\x18\xe9\xc6e\x03;M5l\xbaW\xbb\xffX\xe3\ +\xb4\xbc*w[h'l\xb6\xc1}\xee]\xbc/\x18\ +-0I`|\xd3PQ\xbe\x19Lq\x89\xcb\x92o\ +\x02p\x07\xa3L\x8c\xb8\x00.\x18U\x8510j\x15\ +5\x00\x00 \x00IDAT\xb4\x91EuK\xe3\x1c\ +\xf0\x91\x90\x8f\xd6\xf3\x13fT\xd4\x7f0A\x19\x85f\ +\xbf\xa5\xe3\xcf\x88\x0c\x8dB=\xd7\x8c\xc6tw\xf5\x9d\ +\xfdp-@\xc3\x85|\xe9b\x8b\x9a\xef\xa3\x91\xd0\xcd\ +eQ\xb6uW\xff_C\xd4\xa2;dw\xb3p\xea\ +\xe4)1D\x15\xd6%\xee\x0e\xafT\x08TR]T\ +\xed\xc7\xc9\xb6\xe4u\x8b\xb20?h\x91\x90X\x10x\ +\x00\x04>8\xe0TP\xb6_\xb6H\x22\x09\x8f[\xa4\ +\xd9\xd5\xc9\x16\xf5\xe0\xa2s\x14\xe2p\x87\x96\xf8\xb2\x90\ +\xa7w\xa4Y\x09\xc4\x88T \xc7\x0c\x9d=\x16F\xb1\ +\xf9\xaaEJ$U\x90\xa2\x0a\x19\x08/6a\xbbj\ +\x04\xe1$\x8f\xfe\xe0:\xa8\x22\xfbns\xf1\x17Qs\ +\xac\xd3\xf9J\x89\x97\x93\x0a&\x9dh\xa8FP\xc0X\ +\xb0$\xa2\xb6,fNb\x82\xda\xd8\x19\xa1hV.\ +\xb1\x92\x12\xf7\x09\x8df<\x936\x22\x1d\x5c\xed}%\ +\xeeO\x89\xff\xd6\x16\xc9f\x8b\xfb\xadY!\x12\x8d\x98\ +Q\xb2m\xe3\xa4\xda\xb9\xa3#\x10~\xc6\xd6W\xfam\ +\xea|\x93P\xffo>\xe5\xcc\xb0\x92@X\xfa\xf2\xae\ +D\xf9\xce\xef{\x9c\x12i\x0a\xffI\x12\xf2\x22\xa1\xe5\ +\xfb\xa0fUj{u?\xb8\xbf\x8a9\xa2\xe9\x10\x7f\ +\x87\x03\xdd~\xdb+:\x80\x9fN\x07\xf6p\xd6g`\ +\xb7\xe7\x22;s\x8a\x0a\xf9\xbc\x00\x80\xbf\xbd\xa5\xa3\xe7\ +\xc0B \xfbv\x8co\xa7<}\x94D\xa9\xa4*\x0c\ +r\xeb\x04\xb45j\xc7\xdf\x13\x96\xe9R\x81\x88\xb6\x03\ +\x0c\x07\xd6\x13\x89\xb5\xbd\xfa\x05\xa4&\xfa\xa5\x9a\xd0\xc4\ +\xac\xde\x9f\x94P^)\x0d\x02\xee\x0b\x09\xbb\x12\xe0\xb8\ +\xcft\xb4X\xbf$\x9c\x00H\x00'B\xd6\x0dVs\ +\x1b-4 (\xf0X\x1ft\xf4\xb8\xef\xcf\x0b\x00\xfb\ +\xa3\x0e\xe2\xe7d;z\xa9\xec\x01\x19)\xe0}\xc2\x04\ +!\x01\xe6\xf9\xe5\xfe\xf0\xf9%%pt\x8a\xe84K\ +\x14%\x80\x1f\x0ar\x12\xab\x07\x16\xe5X\xfa\x95E-\ +\xa8\x9b\x93J|\xd7)\xd8\x0e\x14Sp\xe0\xff>^\ +\xda\xa2\xaa\xf6\x8f\x17\xee;\xbb\xed\xd9\xedY\xedYU\ +\x0c\x99\x11\xd6\xf6\xdf\x16\xca\x9f\xbf\x9b\x1ab\xca\xa7\x11\ +'d\xbdL\xdc4\xf1\xf4\xc4\xd3\x15\xa0\x99|\xb6E\ +\xf9}3\xf6T\xf2\xf6\xca\xf6\x8a\xb6\xe4\x9d\xe3\xcf\x8f\ +\xf7\x1f\xef/u\xfa\xeb*\x85?(\xe7V\x98mR\ +\x01\xc1\xee\xa8\x12G\xd6\xd1\x0a4\xb2\xc2\xb5F\xf6\xe0\ +\x88Q\xfa\xee\xf9wQ\xae\x9f\xa9\x00\x02nd\x8c\xc8\ +\xc0\x88\xc1E\xab\xd9\xabD\xc9[&6\xb3(\x9f\xbf\ +^\xc2F9\xe6\xb7\xa8\xf9\x95kg}S#A\xaf\ +H\x93\xa2\xe4\x1d\xcdZ\x16\xd5>\xdaa\x9ds\x95\xb7\ +\xaf.&\xe2\x9b>\xc2\xb2\xa4\xb9@D\x87\xd9\xfa\xcd\ +?\xd0y\xffBbB\x92\xe7sn!\xce'\xf1\xcf\ +h$Y\xc3l\xbf\xea\xde\x13\xccN\x18\xa2\xfbN\xda\ +\xd7\xeb\xa2\xf2t\xb8;\xd4\x0e%v\xac*\xf4\xf1\x1c\ +\xab\x10\x1e\x1dV\xea\xac\xc3*\xa5\x1d\xc6b\xec\xc7\xd2\ +V\x89\xe7\x06\xe0\x12\xe6\x8c\xf5\xc1\xad!\xf9P\xcfL\ +\x8c\xbaN#\x80\xdd\xa5\x16\x95\xfa\x8e-!\xa3\xa5\xd1\ +A?U\xa3?\x14\xd8\x00\xaa\x1a\x95\x0e\xd7(\xf2\x7f\ +\x1a\xb3\xaa\x97\xba]-\x12\x13\x1c@\x00`\x12qU\ +iS\xf0\xf7\x22O\x82\xd1N\xfeN\x1d3t\xa3\xe0\ +>\xe0>\x22 'F\x0a\xc4\x80\x0b\xf1@\x18\xf8\xfa\ +\xfb\xedi\x16\x15\x10\xc0\xfder \xe8\x96>\xdb\x8c\ +\xc4\xbd\x16\xd5\xa6\xcbm\xf5\xa6\xad\x05]t\xee\xb9A\ +P\xbf@\x14\x95g\xc4\x8c\x9cDBB\x94c\xb1\xfe\ +F\xc5\x02\xa6\xb3\xc0A\xf4\xb5\xbe\xc0ow\xb1\xf0\x0b\ +\xd7S\xcc\xa7S'b\x1a\xef\x9d\xc5lJ\xcch \ +\xd6\xa5\x0e\xc7\xe8\x9d%\xca\xf7O\xde\xd4\xa2\xde\xc8\xae\ +\xe9F]\xe3Z\x07\xf3\x9a\x9f\xbd\x8b.,\x9c\xd4\x85\ +\x8d\xd2^nT\xdb\x95h\xabofPO\xb6\xb4(\ +_O)\xb1\x9e\x10\xd7[\xb5\xe0wH\xd4\x9d\xd9-\ +\xd4\xa1?\xae.\xd0\xe6R\x8b\xe4\x17n.\x09OH\ +\xfd\xf4<%\x02S\xd2\x02\xd0\x03\xcbl\x96\xcf\x88_\ +\x94:!$l\xcc6\x93\xb0\xdbrzR\x07\xe9\xcb\ +u\xe6&\x0e\x04\xa8\xec\xccB1s\x82\xf8\x9e\xa8\xbd\ +$\x1cA\xe9\xb6\xf4\xefH\x01\x0b\xf3V\xb1\xc1@\xf2\ +\xad\x90\xf8\xae\x0e\xf6\xc7\x13\xb2M\x07\x8b\xbfo\xb3p\ ++\xa8`\x5c?\x1d\x94\x1c\xb0\xf1\x8d\xfdr\x8a\x02\x88\ +\xcf\x14L\xfc\xbb\x95Eo\xe8@}\xa9n\xd0\xc1\x0c\ +\x00\xb9\x9d\xd3\xf5\xb9\xab\xf8\x9e\xc4\x199(\x822O\ +BKBd\xb8\xee\xe3\xa9\x93O\x82\xa8\xc2$\xfc\xe9\ +\x99A\xe3~\x92\x80\xa0\x06\xcd\xac\xb2i\xdd\x9f\x91D\ +\xac\x84\xc4F\x81C\xc2L\xe7\x9b\xc2\x00\x0a$\x1b'\ +\xc0\x9c\xa8\xdetp#\xf1\x070\xd3\x81\xe9\xe2 \x07\ +'\xcd\x03%`\xf1\x5cO\xd6s8\xbc\x0f\xa8y\xd3\ +\xe9\xa2\xe0\xc3>\x05j.\x14\xf6]U8\xa0\x0eO\ +'\x81\xe7\x9cY~\x00\x0a\xd4\x96\x11!$a\x07h\ +\xa0\x00d\xc6\x13q\xb1\x9f\x0cG\x16\ +(D(|^\x1a\xd8\x00\xf2}\x00\x00\x5c\x7f\x0aT\ +\xae\x13\x9dK\x12C\x01J!\xc6\xa3\x91\x1a\xf7\x91\xbe\ +)\x15\x8e0A\xd8\xe0y=C\xffy\xae\x07\x1dB\ +^/\x07\x13\xc81\x1b\xed\x0cA\xad\xef\x9f/\x0a\x15\ +\x00\x1c\xfe\x9d\xe7\x05\xea\xb0\xc4\xfd\xbc?1]*\x14\ +\xc4,*\x09U\x89\xd4)\x04\xb8{@\x05,~\xf4\ +\x02F\x02x\x81\xa9\xc5\xfeE!\x0d\xd3D\x00@|\ +\xbf:\xf1Q\xc0\xe1\x1e\xc0}\xff\xab\x0a\xc3\x1b\xd4\x09\ +xE\xd7\x89\xceY\xd5*\xe8\xff}q\x8dJ \xaa\ +9|\xdf\x14L\xea\xc4\xc7\x08\x04#M*0c\x9f\ +\xa1\x00\xa3 \x02\xf8\xa5C\x0b \x83\x88\x18\x056\x9d\ +l\x12}D\xe7V\x97\x16\x05\x85$n\x0a\x1bj\x96\ +\x9c\xd7M\xa7\xf5\x93\xea\x04\x89\xe1\x16\x22\x9b\x5c\xb7\xe1\ +,7\xeb\x7f\x0euN\xd7U'Zb\xba\xb1cN\ +h\xff\xfa\xa3\xd6\xf7\xb7\xd4YDS\xe1]\x16\x09x\ +\xa0 \xa2`e\x1d\xa2)\x03\xd5\x10M\x13\x5c3\xd0\ +\xde\xa0\xf3\x04\xa3\x80\xf5\x0a`\xc5\x07\xfb\x0e\xdf\x07p\ +;`\xe6\x84\x9f7\x1dn\x0aG\xee\x13\xebv\xc8p\ + \xc1\xa4 \x04\xb0d\xc6\x17@\x9c\xfd\x8c\x82\x89\xf5\ +O\xc7\x1fM\x03\xa9;s\xfeGB'`4:\xd5\ +\x9ay\xe6\x1c\x8du\xc6\xba\xe7\xef\xb0\xeex\xbe\xf9w\ +\x0aP\xc4\x15\xe7\xb5\xa8@@h\x22\x00\xac\xd3\xe9\x82\ +aA\xa2\xceu\xe7\xfa\x00`rN\xd1\xa9\x86\xc2\x0c\ +\xf5\x7f!\x01\xb8\x1f\xd0\xe8\x82\xec]cF\x19\xb1B\ +\xa8\xf96;~we\x0e\x91G\xb6\x1f\xb6H\x0c\xc6\ +G,*\xb3\x10\x8a93\xbc\xc1\xd8\xc0\xfeJ\x85H\ +0+\x04D\xb67[\x94\x9f\xfb\x93\x85\x03\x13;\x8d\ +v\xaa\xcc \xef\xbc\xce\xe4\xc0\x88S\xa0G\x93ds\ +hy\xe2;kg9D,\xd9oy\x9e\xb8\x8e\xba\ +\xaeP\xafC\x93\x8a\xeb\x89f\x12\x9d\xcc\x17,\xd2\xbe\ +*Fj\x88\x8d!J\xb7\x8b\xc4\x08\x01\xc2\xec\xe9\xdf\ +\xba\xee\xc3h(\x04\xe0\xa4\x828T\xf3\xe9\xc0O\xb1\ +\xa8\xd7\xa99\xd1\xa2\xaa\x8c\x9bK\xba\xf9\xa4\x87{\x8e\ +(\xd9\x9e\xbf\xad\xaf\xbc\xe4\xac\x0a\x9cza\xffj\xd2\ +t\xb8\xad\xc4\xed\xe5\xf3\xfc\xed\x02\xed\x02uv\x1a`\ +\x82\x11\xb9\xf1\xce\xe3\x9d\xc6\xe5\xfa\x8fW\xb4(\x9fw\ +\xb4\xa8\xd4\xe7v\xfd\x12\xe5~\xb7\x8b\x94x\x8fT\xfa\ +OO\xcf\xa1\xe5\x87\xcb\xd7\xbcd\xfc\x98E\x1d\x09l\ +\x1e\xb4(\xc7\xf6\x0b\x16.z\xf8|\xf3|e$\x22\ +\xb2:\xbe||\xd9\xf8\xb2J\xd1w\x95\xf9\x92\xaf\xb6\ +\xc7\x978.\x89I3\xcaG=@\xe3\x0c\xbbS\xcd\ +\xcc\x87\x0d\x1c\xfb\x9ee5\x97\xa4\x82\x91Q\x00\x98\x03\ +0:\x04,5\x7f-\xf1\x94\xdb\x9c\xbb\xcbY\xf3R\ +\x89\x97+\xe0\xf2\xe6\x89%\xb2\xb8\x9f\x01\xd2S\xd5\x19\ +|\xbf\x9e+\xa4}\xda\x18\xa1\xe5zN\xdcm\xa1\x02\ +\xf3\x07\x95\xb1\xd8~\xab\xc4\xf1iv\x5cL\x8f\x10\xaf\ +\xe4}\xd2\x81V\xbe\xe1\xe2\x89\xe5\xe8\x0e\ +\xb0Hj\xff\xec\xa74>y\xbf\x00\xd2\x88B\xeee\ +Q\x1b)aW\xc8\xf9\x8aH\xa8\xae\x9f\x03UG%\ +Q?\xf2\x17\x8d\x1c\xb9f\xdc\x02)\x7f\xd3y\x02\x13\ +\x01\xed%\xae\xc7d\xa7\xee\xfd\xb6\xda;x\xf9qo\ +U\xfd\x8c\x04Y\x88!\xea\x90Qx\x83\x88\x89j\xc9\ +\xc1\x14o\xf8}\xa2\xe45\xfd\x81\x16\xa2Y$x\xcc\ +\x06Rp!\xde\x05\xb3@\x072\x1b| v\xa20\ +\x90H\xa26\x0f0\x10\xe2_\x0bH\x9cB\xb6e\xe3\ +S\xc6\xdf\x1b\x7f\xaf|\xfe\x93\x85~O\xd9\xd8\xdbE\ +K,\xa2\x0d\xad\x1c\xe0\xe3\xab,\xca\xd7\xdf\xb6\xa8\xae\ +\x08\xddW,*5\xc7\xa5\xec~X7\x10\x07Tv\ +P\xe1\xf0G\xa9l\x7f\xae2\x0bH\x1cB\x14\x06j\ +!\x08\xfe;\xfb%bo\xb2\xf3\x0b7\x1e\x1b\xa9]\ +31)\xd9\x8fX?\x14\x08jx\xb5\xdf\xb1H\x85\ +\x81\xc4m\xdd\x9d\xa9\xac\xe3\xf6]\x16i4C\x8c\x0c\ +F\x9f&f\xb3\xa8\x05H\xfb/\x8br\xfd\xbeP\xe2\ +\x80J\x91\xc6\xdeq\xbc\xecx\x99\xb1\xed{\xcf\xf5Z\ +\x04<\xf7\xe1\x13\x7fF\xfb\xe3\xd6F\x88g\xb5(\x9f\ +O/a\xb3\xd9_(a\xbf\xefG\xfd\xc8oh\x15\ +!\x06\xae\x82\xa7\xd9\xc7\xa2|\xffT\x16\xca\xfb\xb7P\ +\xa1\xf3\xc5j\xfb\xeb6y\x1f\xab\xa3\xaa\xcdJ\x16\xb5\ +P\x8a\x82U#\xa7\x00F\x883:\xcf\xf6\xb0j\x93\ +\xcb\xc8\x82ky}B\xfb\xc7\xd9\xe9y\xe19\x22\xcf\ +%\x0f\xb3\x8e\xf4)\x89\x81\xacu\xeab|\xc7V\xdb\ +?gP\x9c$m\x88\xb2\x0e\xc6\xaf[\x94?\xf3/\ +\x8b\xf2\xf5\xaa\x16j\x80\x94\x82p\xe2\xa2\x12f{>\ +\xb3E\xb9\xfdM\x89Qe\x0a4_+Q^\xff\xc4\ +-%n\xd6\x88v\xd9\xaf\xde\xfc\x99\x85D\xa9\xdf\x93\ +Da\x8d\xdfye\x1d\xc9l^)a\xae\x1d3\x97\ +(\xf9\xfb\xc4\xfa\x16:\x0fnJ\xaa\xfb\xdc\x8f\xcfZ\ +$-\x08F\xba\xb1'\x06P\xa5p\xbe\xbc\xbb\xc2f\ +\xd3K\xd6\xe6\xef\x17\x863#\x0e!.\x8cf\xd3@\ +\xe3(F\xcb\x94G\xd1\xa8l\x9e\xb3\xa8\x1d\xf7\xf6'\ +\x16\xeew\xff\xff\xd1u&\xf0\xfa\x8e\xd5\xfa\xff\xbd\xcf\ +\xde\xe6\x14\xa1\x84$C\x93d*B4\xa7\x92)\xa5\ +9\xaaSrtL\x91\x06BQ\xa44\xf9'\x84\xca\ +p4\x09\x8d\x12'\x94\xa9S*\x94\x063\x91!\xf3\ +\xfc\xdb\xcf\xfb\xbf\xaf\xfb\xb9\xbe\xeb^\xbf\x87\xb3\xd7\xe7\ +\xf4\x9e\xed\xb7\xf7~\xdf\xe7y\xee{\xddk]\xebZ\ +\xd7\xaa\xcc\xd2~\xd3~\xb3~\xb3\x0aP\x0e\xad\x05f\ +\x9e\xcf|NV\xc5\x03\x8b\x95\xd7\x83dmZ\x09\xf9\ +i\x8cU\x7f\xae,i\x0d\xa1\xf1ff\xeb\xf4\xf3\xb2\ +\x94\xb8\x1b\x00\xe5y\xc1\x5c\x9f\xbeW\xd6\x18`\x93/\ +\xca\x1a\xa0\xc41\x1e\x95{\x9f\xa7\xd3\xb7\xcb\xca\xeb\xd6\ +\xb2T\x18\xa3\xa5\x92\xf8T\xe3\x1f\xdf\xef\xb1\xe5\xafo\ +\xf9%\x85>\x0a\x85\xddkd-n\x98\x9d\x7f\xa9\xac\ +|\xff\x1dY\xeby\xe8\xfe[V^\x17\x93\x95\xd7\x03\ +\x8b}\xaa\xcdI\xad\x07\xf0{\xec\xb0\x9e\xd9(;\x04\ +\xb4\x92\xd8\x93c)o_U\x09\xe3\xc0\xe3@\x06a\ +e\xfc\x0e\x15#\x1c&\x81\x08=\x95V/E%\x11\ +\xd5\xfd\xa0\xdcx\x1cG$\xae\xfc=T\xa3\xbf\x22\xab\ +\x0edPou\xe5\xb8\xff`\xb1\xb2\xa0\xe7n)\xf6\ +\xaf\xf2z\x98\xacQ\xa5I\xf8\xabh\x84\xc4\x0d\x9fS\ +\xec\xd9\x09I\xb28Vw@\xb1\xfd\xdb\xc1V\x0f\xc6\ +uS\xaf\x96{\xcf\x02!\x07\x10P`\xb8p\x13\x99\ +\x09\x0a\x8e\xdf\x17D'\xe6\xd3\x9b\x1a^\xc7\xc2\x5c\xe1\ +\x80\xf6/\x06\x1avI\xe3j\xa0\x80\xbd\xba\x92\xde4\ +\xdec\xbeD[b\x9c\x1c*\x95,(\x02F\x0a\xef\ +f\x80DO\x93\xd2\xe1\x8b} \xf6\xa6p\x1f\xdfD\ +T\xf8;Q!U:\xf1\xc2t`\xa2\xa6O\x80\x0c\ +\xd0A\xc5\x95\x00V\x84\xa575@\xa5\x12s\xfeb\ +\xc7\xb0QJ\x10\xec\xa0\x22@Z\xc7sa\xf9|P\ +\x16=\xce\xa3\x1e0\xff6e\xf1}\xa92\x04 \x00\ +\xd0\x00\x15T\xe2\x8d\x1b&\xb1,O\x83\x08\xe0J\xc7\ +\xc0\xf3R\xa5h<\x0e\x90\xbfO\x80\xc8\xd8%\xe6\x85\ +\x22vI/>\x22U\x00\x02T\xc8\xe9\xa5\xa2\x87\x8b\ +uM`B`\xcc\xbe3U,TsW\x1f*\xd2\ +\x22\xb0Uj\x96\xd6\xcd\xe5\xa9g\xd8s\x96\xa7\xff\xcf\ +ckp\x1cN\xbc&\x1f\x1b\x00!\x0d\x0b\xab\xe3\xc2\ +\xf8\xfb8 \xa8\xa9\xe3y\xcc\xf4\xee\xa3\x16\x0d\x83\xc0\ +\xa2D\x91p\x8f\xc6\xa5\x05\xa0\x82\x98\x9fZ\x8b\xbe\xd5\ +\x10\xd9\xa0\xfe2\xae\xd4SH\xe2\xef\x92\x98\xce\x8b\x1e\ +\xf9\x05+\xd1\x06\xaa\xa2\xd2\x87\xda<\x15%(U\xa8\ +\xe5\xf3\xea@\xad\x7f\xb8\x7f\xa8/\xcf\x7f\xbaa\xb1\x0d\ +\xda\x18L\x00\xa0\x1ah-\x9f\x12n\x1f\x84\x8c\xf5)\ +\xabf\xd0\x1c\xb8V\xdc\x9f\x0aD\x0c\x89*\x81\x04\x95\ +\x7f\x90_z\x87\xa9\x14C\x99\xa6\xf2\x8d:4\xaa\xbe\ +\xf4\xac\xe1ga\x948q\x0eJ$_\x04\xf2T\x96\ +npe\x9a\x9e;\x00O\x80\x8a\xdb\x0c|\xcd\xf7\xfa\ +\xfb?\xd4\xd3C,\x0c\x80a\x5cy$a\x19'\xb0\ +|\xf1\xb9\x09t\xd9w0$\x16\x1f\xae;\xa8\xfb\x8c\ +M\x85\xca\x87\x96\x00\x0c\x0b\xee+\x89.\x89<\xa2<\ +s\x0e\xb0Q\xeb\xe7\xf3\x00\x98\xf9\xefDE\x1b\xaa9\ +\xfb\x88\xc0\x10\xc0\x9c\x84\x12\x00\x81J\x0b\xcf\x0d\x00\x8a\ +\xe7~\x8b\xfd \xfbz\xac\xfd\x00p~\x8d\x81\x80\x11\ +\xa3*\xee#\xad\x08w\x9a\xd2\x89J\xbf\xb5b\x82\xda\ +\xefJJ\xb4\x0c\x01\x18A\x8d\x06\x90c\x9fr\x1d|\ +.\xf6\x05\xfe\x8dV\x0f\xc4\x07I\xc4\xb9/\x9c\xf7\x00\ +\x14<\x17*Y\x88\xe71\x06\x15\xbfG\xcb\x03\xaa\xe6\ +\x1a\xd3{VJ09_x?\x12_\xee\x0f@\x0c\ +\x89\x99\xb5\x08\x18\x9b\xc6:\x08\xbf\xcb\xef\xe3\xc7\xa8@\ +\x03\xd8\xc0\x8c\xf8D\xb5\xf6{T~\x9c\xa0\x85\x16\x0b\ +@>\x00\xc8\xf8\x95iH\x00D\x5c7\x00\x00\xe7\x08\ +\xf7\x91\xf5\x02\xb3\x88\xeb\xc3\xef\xf1\xbc\xc6S\x0b\xb8\xcf\ +T\xf2G\x9a\x15Am\x85\x99\xc2\xf5\xb3N\x01\x0aF\ +\xe3s\xa1\x96\xc7T\x1d\x8b=O\x9f.K\xf1\x84\x13\ +\x22\xa6!\x05\x03\xd1\xbd\xc8\x04\xd6TB97f\x0e\ +\x96%j=\xe7 \xd3\x03,f\x1b\x01\xb5\x03\xf2r\ +\xea\x0dL\x0b\x8b\x14\xf6\x7f\x93\x15?\xfcfY\x9af\ +\xc0\xba=|\xf2\x85\xba?X\xdf\xe3i\x1f\xf8\x8f+\ +\xab\xfci\xeb1\xd6*<>\x8ds\xb4\xfa{\xc4\x11\ +*\xbc\xfc4\xb5\xdc\xc1\x9c\xa0@\xa5\xb8R\xff\xfd\xf6\ +bw\xa4\x02\x96\x98\x11W\xa58\x8c8\x81)L\xd6\ +X\xe9?%\xab\x89V\x15\x01\xebw\x95\xa5\x16\x0a\xb7\ +\x18E+\x81\xb5\x00\xaa\xc6\xd5Ui\x0c\xb6\x19\x1au\ +\x0a\xd8\x8a\x89\xca,-\xafr\x8e\xcd]]\xec\x9a\x14\ +\x8f\xd1C\x0d0v\xae5\x01\x983\xce\x18\xf1\xfde\ +N\xacUi]X\xd6\xc6\xe51\x1d*\x80sW\xbe\ +\xfb\x9f\xcb\x5c \xbc\xda\xda@G'@\x91\x0a\xad\x99\ +!\x95\xb1;m\x09\x14\xe7Bh\xfd\x18\x80\xef\xd6\x93\ +%&\xe8\xa6\xc56k\xaa\xfe\xc1\xac\x15\xdc\xb9\xaa\xc7\ +s\xee\xe78\xf5\x16\x03\x05{\xa5)B:\x1dR\xab\ +\x5c\xfd\xfd5[\xe1\xa8N\x91\xf8T\x13\xfdc\x0a\xc6\ +\xfc\xbf\x14\xfbs\xb9\xaf\x07\xca\xca\xf7\xef.\xb6\x83\xef\ +\xf3\xd5m\xaa\x03\xc0\x05\xda*5/\xd9\xa7\x1c\xef\xb7\ +\x14\x93\xf6\xc1\x8fd\xadu\xa9\xfft\xb1\x92\xd0\xce?\ +AV\xbe\xdflH\x84+\x93\xe3!\xc7\x95\xe5\xfc\x98\ +9\xa1\xd8\x89\xa9\xb2\x7fK\xb1rnt{\xc8\x1a\x95\ +\x9cu\xdd\xed +\xbf\xb7\xa2\xac\xf5\xc0S \x0d\xf1\ +B\xa6A\xc1LR\xc1s-3E\x8fI\x80\x19\xe2\ +\xe5\x12\xbf|gJp\x01\xba`\xf0\xa2\x89\xe68\xa3\ +\x02\x1e\x9fjZ(\xfd\xd1\xb2\xf2\xfd\xf2\xb2Z\xc8}\ +V\xbfF\xa5\xbaW\xb1?\x00\xean[Y\xd3\x14\x98\ +<8y`\xf2@J\xe4\x9d\xffNO\x94\xa5\xf5\xef\ +1\xe90\xce\x82b\x8f\x86\x1a\x1ah\x14\xfa\x0c\xec\xb1\ +\x9e\x83\x89a\xb1S\x0a!\xd1\x0a\xe4\xd6S\xf6\xf1\xe4\ +FY\xd3&B|74\xa8\x18\xcf\x8b\x18;\xf1\xde\ +\xbe\xd5b\xdcy\x9c\xefh\x86\x90g1m\xc2\x80\xd6\ +\xec#\xbf\x95\xb5\x1b?\xb3\x8a\xac\xdc\xb0\x97\x14S \ +p\xcd\xe4\x9a\xba\x015\xceNcF\xbeQ\xec\xd8\xd4\ +\x13h\xa4qr\x99l\x01\x11\xbc\xe1\x00\xa4\xe2I\x82\ +\x89\xaa\xae\xa9\xc1\x88: \xf2\x12\x14\x0c\x02?\x02-\ +(\x84\x88:y\x8cF\xad\x7f\x7f%\xa9TSi3\ +\xe5tz\x86\xac\xa9\x22B\x81\xaaj\xa4\xe5\x01\xccm\ +Zl\xb3D1r\x05\xb0{\xa8\xd8\x83m|au\ +\xec[&\xb1(S\xecA\xec+\x02\xb9\x87\xb5\x14.\ +u \xf9{\x07,\xbfp\xaf\xf5\xe7\x1c\xd0\xbc\xe3\xb1\ +\x01P\xd5\x18\xd8%\xf5*\xb9\x07\x88D9\xc6o\xf9\ +\xba\x22\x11\x82\x8aL\xa0\xa2\xf0\xf3\x19\xee\xa9\x7f^\x0a\ +\x10\x10\x7fB[\xe0Eu\xc0\xc6\xb0A\x96M\x22Y\ +\x04:8 Z\x09\x08\x0cT/\xff|\xa2\x980\xd6\ +\xac\xab\xfa\xbd\x0d\xc1\xa3RB@\xc2\x5c\xd5;kh\ +:\x042\xf7\xa4\x80\x9e\x05\xeaV\x94Z\x07\xde\xd0\x14\ +\xc3\xe3R\x05{^u\x06C\xa2\xf6\xb24\x06\x11\xf1\ +5\xee\x03\xea\xf1\x1e#\xd8\xbd\xa5\xd8\xf6\xe9\x00C\xb4\ +\xc5\x89N \xebT~\x00XV\xa8\x13\xb9[\xaf\x9c\ +\xe0\xa3}\xd2\x18\x10\x07*\x04\x14\x81,C\xcd\xe1\xfa\ +\xa9\xfc\xf1[\xec\x10\xbf\xef\x99\ +\x09(\xd0X\xbe/\xa4\xb1^\xee\xb9\xa7\xd7\xb9&~\ +\x9f\xaeS\x0b\xea\xfc\xef\xc9\xf5\x83\xc6Tq\xb2\x93\xe9\ +$M\x9b\xb0\xb6\x0a\x09\x5c\xb4\x06B\x116\xf5\x9aq\ +i1\xb6\x98x\xce\x9f3\xa6\x11Yki\xb2\xa8\x06\ +G\x97\xfbyn\xf7\xab\xeeW\xc9\xff~\xb3\xd8\xf1)\ +.\xb3\xd8ue \xec\xdf\xa6EE<\xcb~3P\ +\x15\xe7\xa3\x18\x12\xa7\xb7qu\xd3\xe3\xa6\xc7j|u\ +\xff3Y\x15o\xfc\x8a\xc4\x1bc\xce\xbb\x00z\xc5\x8f\ +\x0f\x0c\x89^\xb7\x8c\xcc-\xb4?HZ\x06\x12#\xfc\ +\x84E\x02\xcb\xcf\xeb\xd3\xeb\xf3#\xe6\x16s\xd5\x1f\x90\ +9\x81;+M=\x90&\xc5\xc9\x09\xf0\x81\x0aN\x02\ +\x89\xa6\x82\xc5\xd4\xfb#\x8b}\xad2U\xea\xe7W\x83\ +\xc2\x9c\x80\x9bo\x0e\x8c\x89\xb9]\x8bi\xdd\xdf#K\ +\x05Ck\x13\xcc]Z\xec\x0f\xe5\xf57\xb2&\x96J\ +K.\xd4\xf4\xfe\x1d\xb2\xf2sw\xca\x9ch\xbe\xd1\x9a\ +W\xdfM\xd3}\x0c\x0c\xa1M4\xf9\x9c\xcc\xd4\xfd\xd7\ +Z[\xac\xc4s\xb3[\xc8Z+Z\xbf\xb8\xac\xb8\x85\ +\x0dd)\xd1\xf4\xf9\x17\xbd\xffJ\xacOI\xe2\xce\x8c\ +\xbb\x84A\x05\xf3\x17?\xa0}\xb6S\x12uW\x99\xec\ +\xc7I\xcc\xf1v\x99[8\x0eOS\x15\xdc\x82[\xbc\ +\xcf&u*\xc2>\x83&G\xb7\xae\xac]\xe7\xf4\x0b\ +Co\xfe\xe4\x0f\x93K\x95\xa7u{u\x1f\xe8\xca\xbe\ +\x9e\xae,k-\xb4L\x85\xc3\x8f\xd6\xd6\x90g\xa6\xf1\ +\x8e\xa7\x95}wZm-\xbf\xb1j\x04\xc0\xcc\x02\x10\ +wkPh'8\x8e\xee\xd7\x955`l\xfa9Y\ +*Dy\xba\x5c\xf9\x9c\xc5j+\x85\xac\x15v\xfd\xf3\ +\xd3\x83d\xa9P\xc6\x14\x0b\x12|\x17\xd2CS\x04\x86\ +\x94\x99\x08\x00\xd6\xb3,@\x0e\x0az\x0c\xe7>%3\ +\xd5V\x88\xe1\x96\xdd\x965\xf1tb\xc4\xc6D\xbdu\ +r\x8e,\x05x8:/\x8c\xe9\xaa\xb2F\x95\x0b\xaa\ +5\x07\x0bTG\x1f\xa8!\xd2D\xc5\x80\x83\x89y\xeb\ +\xa26\xfc+\xa9\xfe\xd2\x82@\xe5\x89\x0a$\x08\xa7\x03\ +\xf0~1Yy\xddZV^\x9f(KcM^Y\ +\xec\x15I\x15\xfbO\xb2\xf2s\xc7\xcaRbwN\xd5\ +\x93\x1e*\x17\xefi\xa2d\xd5a\x96\xef\xbb\xbf\xc8\xca\ +\xf7?\x95\xb5\x0az\xf7\x02Y\x13)\x8cJ\x9f\xe6R\ +.\x9f(\x83\xcc\x99U\xfaq@j18W\xe6\x8a\ +\xf4\xc7Gsx\x7f\x91zO\xe8Q\xa7\xf7\xcc\xd7Q\ +\x91\xf6\xed\x13\xd5roY\x13m\xac\x14\x1b\x89s|\ +\xb2Zk5p@C\x85T\x04ZQsB[@\ +\xe1B\x0e@\x00jX\xa0\xaaPj\x03\xdeQ\xecv\ +'\x0a\x8b\xa6\x84\x0c\x86\x00\x89\x9f\x16\xf4\xc9\xed\xf3\xd5\ +\xe3xek\x13\x9c\xd4\xa81\x11\x08x\xfa\x03=m\ +q\x80\xd2\x1bz|\xb1o\x96\xef7\x94=N\xc0\xca\ +\x98\xc4\x85j\xcd2\x02\xd5\xa0b\x9b\x22\x16cD8\ +\x00\xe8\xe1\xe1@\x87bl\xb1\x8e\xda\xf3\xf3\x86\x14\xc0\ +#\x0e\xe2@,z\xfb]Q\xa3\xb209S\x96*\ +-\xd6&\x08\x87\x0fPFB\x08c\x06Q0\xa8\xb9\ +T\xc2\x08\xf4\xc7j\xf3P\x94\xa9\xc0]\xe9q\x96\xfb\ +\x0e\x81\xc4\xbc\xdd,\xb6g\xf5\xf4\xe9e\xd3\xcb5\x0e\ +4\x0e\xecqk\x01\x89\x0b\x89\x0d\xeb\xe6\x1a\x8f\x17\xa4\ +\x07w\x91\x91\x0a>\xbd\xd5\x88\xa6\xb9R\x1e\x09\x16\x81\ +7\x89?\xaf\x04\x84\x5c'\xea\xfa$bp}Hx\ +\xf17#Q\xb2\xe8\x89t\xe2@`E\x8bM\xffR\ +\x99\xd7\xcb\xed\x0ex?\x96\x12\x1b\xf6\x8bD\xb2\xa4\x85\ +\xf2\x97a\xac\x11~k\x81\x16\x01\x05\x1c\xa7\xc9\x9a\xf8\ +T\x09C\xdf\xda\xbd5\x8d\xcd\x82*\x8d\xdf\xf3\xf3\xab\ +\xfb\xe7\x8e\x94\xe8\x22Nh5\xfd\xb8\xffT\xf4H\xa4\ +Hx\x01\xf2X\xaf\x04r\xbe/\x04H\x93\xe7\x98\x0a\ +\x0c\xa5\x9e}:V\xbdG\x83\x04\xa6\xd6\xd2V\x1b\x7f\ +\xdb\x88\xba\xcd\xf3\xe6\xfe;\xb1'\x90e*@\x00\x00\ +$\xdc$60k\xeeu\x02\xb4\x9a\x9f[S\xd1\x1e\ +\xc6\xf6\xc0\x5ca>;\x00\x02@2\xc0\x15\xd7O+\ +\x8c_\xa9\xd8E\xe2D\xe2HO?c\xcfhY\x03\ +\xf0\xa2\xe5\x8d\xc4\x93J:\xe3\x1c\x19\x17\xb7\xae\x03\x5c\ +(\xee\x00|\x00\x03k\x8c\xae\x0b\xff\x04\xc5\x1c@\x89\ +\xd6\x18\x127\xee/L\x11\xae\xdfL\x0d\x02\x9ar\xba\ +\x0f-`\xb4\xcc\xb1\x8e\xa8$\xe0'\xd8\xbfP\xd3\xe9\ +y\xa6\x02\xcc\x983\x004\x00\x1bZ\xc1\xb8\xbf\xf8\x05\ +\xc6\x9b!\xce\x87\x96\x88\x03\xa5\x9a\xf8|\xf6qz\xf8\ +Q\x81flR\x88\x0c\xf9\x8bs\x8c\xe9\x05\xacG*\ +\xa5\x8c\xef\xc3\xefs\x9f\xc7\xaa\xcb\xac/\xd6+\x00!\ +\x9f\x93\x0a\xbf\x81\x5c\xce\xf9\x10\xff\x05\x90\x00H@T\ +\xcb\xa2u\x8f\xf9\xe2\xf9\x8e+\xed\xe3\x9e}\xfc\x22\x00\ +*@\x02Z/\xa3i%\xf1s\x00\x09$\xfc\xdc\xd7\ +1\xc3\x81W\xde\x17\xff\x01\xb3\x0b\x7f\x0dS\xf3\x9f\xd6\ +\xca@t\x998\xc5@\x87\x1a\xcf\x94\xa8E\xc2\x89\xe8\ +\xd4\x05n\xb9\xa1\xb5\x93u\xe3\xf8\x0cjtL\x8b\x80\ +\x19\x00u\x96\x0a\x9d\xc5\xbb\x1e\xd3\xaaxl\xb5\x88\xe3\ +\x02 \xdb\xdf\x00.\x80\xe8\x98)\x03\xc3\x8f\x7f\xd7\xac\ +\xa4K\x1a#&(\xd4\xdf\x99~\xb72d\x7f3\xef\ +\x82z\xee\x02\x04\x1e809#\xf1\xe3\xf9\xa3Qc\ +\xd1\xc4\x10\x7f\x84\xf9h`\x8e\xc2Q\x95&\xdc\xdc\xeb\ +ys\x17.\xbe\x9aZ[h!\xf0z\x9a\xfeD\xd6\ +\xa8\xe0\x95b\x7f|\xeb\xcd\xeev\xec\xde\xd3\xbd\xa7&\ +F\xb5\xa2\x1d@\x9c\xfdI\xff\xdf\xb2\xb4\xcf\x01\x9c`\ +Hy\xfa@-\xf8\x1c\xde>\x17\xbd\xca\x93\xb3e\xb5\ +\x95b\xa0\xe2\xab\x02[\xd6]\x7f\xa6,1\x0a^&\ +K\x15T(\xd10\xaf\x96\xac\x03\xffb\x0a\x03\xe7h\ +\x00q\xbe\x9e\xb9\xabd\xad\xd2=YD\x90C9N\ +\xf6\x92%M\x09\x8f\xb3\x8b\x8a\xb2\x99x\x93\xff\x19\xf2\ +\x93\x997\xc8\xca\xe7\xfc\xba\xcc\x80\xdc\xbd\x1e\xb7wv\ +[\xd7\xfdY2'l\xeb\x19 xa\x12\x93\xddL\ +\xd6\xc6MS\xa1g\x0aB\x8d\xe3N\xb0\xc6\xc1\xeai\ +|\xa8\xcaeG\x94\xff\xfe\xd3b%!\x9c;\xba\xd8\ +1\xfe\x9c\xe5\xbc\x9e\xfb\x8e\xac\xfc\xfb)\xb26\x06\x93\ +\x04y\xee3\xb2\xd6\xd21s\xb6\xac\x01\x0c\xf3\x8e\xae\ +60\x17\xca}\x9c\xdbW\xd6(\xf2\x93\x13eil\ +\xa5\xef\xd7\xccke\x16\x07\xbc\xb9\x8d\x1d\x9c\xdd\xa3\xd8\ +\x9e\xe5\x18\xb9FV\xfe\xfb\xbe23\x08NHc\xc0\ +\xad\xfd\x83\xb6[\xec\xdb\xf5d\xe9\xf9\xc0\x0c\xa7\xf0\x8b\ +\xa8\xe8\xf9\xb2$6\xcc\xb9\xef\xf5\xd9\xdfY\xac\xf8\xd3\ +\xb9\xf7\x17\xfb\x0f\xc7\xd7j\xb18Q\xd6\x80^\xcdj\ +\xab\x8c\x0f\xaf\xe3\xee\x9cr\xff\xceI\xe2\xa1\x1f\x92%\ +f\x0e\xf1\x9b\xcf\x85\xe9\x7f\xbb\xd5\xc5yX\xf4\xdc#\ +\xe6\xfc\xe3\x81\xb9;]\xbf\x5c\xd7\xfa\xb5\x05\xf4[\xb5\ +\x85\xd6~5\xb4i(p\x9b\x91\x82\xb6\xde\xdcF\xb2\ +\x96\xc7\xf5\xd7\xcb\xd2\xb4\x10\x0ad0i6\x97\x95\xd7\ +w\xcb<\xa5c\xe9\xd4\xaaJ\x8b\xee\x989F\x5c@\ +\xa1\xde\xe7\x14Lx\x80\xc0\xd9\xa8\xd0\x10\x08\xe8\xb6/\ +\xdaD\xe0B\x1d[\x04\xd8/\xa7\x8a)cx\x8c\xe8\ +F \xc4\x07B\xd5\xdfT8\x10\xb4Z_9\xa3\xa9\ +/3\xa7\x92\x84\x11\x04\x98\xf7\xef6\xe86\xec6L\ +\x0e\xd0\xd4\x0b\x1c~\xa8)\x82\xb4\xd3\xebG\xe0\xe2\x83\ +\xb9\xaa\x8f\xbe\xdd\x14\xfbK=\xaf\xb1\xdc\xf0\xc9\xef\x8a\ +\x95\xc0\xaa\xdb\xbf\x98\x02\xf8\xff\x92\xb5\x83-\xe6\xb6\x1b\ +\x88\x80\xe2\x16\xe2`\x04\x0a\x88\xa90F\x0dU`\x07\ +z\x95\x02\xa4\x04^\x80lodi5\x07N\x7ft\ +\x00\xf2P\xea%BD\xc9*\xed\x93\x0b\x8a\xfd\xa6\xf5\ +\x06E%\xc0\x09\x09\xad\x00\xf5\x0b\xfd\x18:\x00\x00 \ +\x00IDAT\x98_\xa5\x8d\x1d\x99\xeeT\xec\x83N\ +\xc0\xaen\x01g\xfd\xbb\x9f\xf7X\xb8S,N\xb4\x86\ +\x1d\xcd\x0f\x9d\xe0\x1d\x96\x90:*\xe7\xcc\x11V\x05\xec\ +\xa3\xa6B\xed\x96TSu,\xae\x98z\xe4\xe8i\x14\ +As\x97\xa4\xb2\x0a@\xa4\x9f\x7fz\x1b\x1fY\xd7\xc7\ +\x8fSb\xe2y\xac\xa8\x1a\xd7\xe7\x91\x03{\x02\x1d\x10\ +f_wP\xc48\xf0\x01D\xc6=}\xe3\xb1}|\ +\x91x\x11`q@B\xfd'\x91\xf1\x01\x16\x07\xbb\x08\ +\x8a\xa7$Q1\x01\x04\x1fJ\x08:b\x98\xbe/8\ +\xeaP\x01\xf6\x81\x1a\x01?\x0c_\x07PPb\x99\xf7\ +\x19\x07\x10j\xfe0r<\xe7\xb4\xdc\x8b\x81\x22\x0b\x85\ +\x97\x8a\xd2\xb8\xb2I\xa5\x19Q\xc2\xa3\x07\xc4\x16\xa4\xb1\ +\x1cw\xc3x\x11\xee\xa7\x11\xfe\x10=d\xba\x07\x15i\ +\x12s\x1c,\xcf\x87\xfb:f0\x10x\xaf\xe4\xca\xe0\ +:\xbe\xdf\x88\x021_z\xf4\x9c&c`\xc3\xe2/\ +\x15\xceY(Q\xd5\xb9N>?\x80\x00=\xe5$P\ +$B\xbc\x0f\xc8\xfe\x9e\xb2\xe4\xa8\xd5\x00\xb1Mb8\ +\xa0b\x8b\xb8'\xaa\xd0\xbe/1\xc5\xe4\xca\x0a\xb1\xcc\ +\x9b>KV>\xc6?d\x0d\xd0\xea>&k\x95\xac\ +r\x5c\xd6\xf1\xaaQ\x81\x05`\xf2\xd8\x9dHP\xb8\x9f\ +0\xa7x\x85\xc9\x81\xba9\x01\xbe\xf7_\x88\xd2P\x99\ +\xa5w\xef\xb8\xe9\xf1\xb5rC\xa2O\xe2\x04\xc5\x1f\x11\ +4*l$0$\xcc\xf8a>/-([\x89K\ +\x96\x18a$J?\x1a\xa8n\xf1\x1c\x00h\xd8\xa7\x1c\ +lO\xb0\xe8\xe6\xfa\xd6N\xe1kf\xd43=\x9e\xeb\ +\xce\x7f\xa7\xf2L\x85\x16?\x01\xf5\xdf\x15\xf8\x08P\x01\ +T\xe9A\x06\xf83\x90W\xc5\xab\xbe\x99\x18T\xf8#\ +\xee\x17\xeb\xb3it\x0c\x15\xd7\xa7;\xf1\x22!\xc3\xdf\ +\xc1\xd4\xe0yp\xce\x90P\xf3<\xf0[c\xa6\xc1\x22\ +#qF\xc612\x86\xc8@T\x883\xb9\x12\x15\xad\ +6\x00=\xfc\x1ec0\x0d \xc74\x07\xee#\xfb\x8a\ +\xe7\xce}\xa7\xf2\xee\xcf\x11\xd3/<\xe5$Z\xe3\xe8\ +\xfdd*\x08\xd7\x0f\x10\x8c\x96\x8a\xc7!E\x82\xcb\xb9\ +D\xa5\x96\xfb\x87\xc6\x81\xd7}h)\x00\xc0\xd0\xcb\x0e\ +p\xe0\xf1\xc5\xf1\xfb\x8b\x8c\x00D\xae\x93\x16-\xce3\ +Wf\x02X\xa0\xf2\xc3:\xc3\x7f\x10\x88\x8d\xd7!\xcf\ +\x0b\xe0\x96\xf7\x1d1u\x10\x15\x8d\xfd\x0f\x83\x85V\x94\ +\xf1\xdf\x85a9\x16/d\xfdQ\xf1G\xdc\x0fjx\ +n\xd5{Bb\xc4\xc0\xa4\xf3\xf8\xd8\xc9\x8fd\xad\xd5\ +\xb1\xaa\x8d?\xaf\x01\xde\xc4\x8b\x00\x07\x01\xccx_\xd1\ +\xea\x10Tk\x18\x04P\x88a\x10Hd\xf9\x95\xed9\ +\x91H\xf6o\xea\xb7\xeb\xb7s\xcb\xe5\x01\xa9B\xec\xf9\ +\xe5\x00c1\xa5\x00\xe6\x00@\x92\xe3\xd2\xc9k\xed7\ +\x11=6\xd0;\xdd\xc0\xad]k\x0f-\x85\x11\xbf\xee\ +:\xddm\xbak\x02F\x008\xe8\xe9\xb56MM\x18\ +\x0emT{*z\x88\xe4q\xbe\x87\xff\xf4\x14\xa2\x10\ +C;\xbeZ0H\xa3'\x18\xbf\xedx\x93\xcaw$\ +*\xeb\xc8\xca}\xf9\x89\xac\xae\x8b\xe1|\xbb\xde\xadm\ +N\x1c(\xc4!\x8e\xd8\x9f*K\xeb\x0f\x86\x15\x05\xa6\ +\xd1xP\xe2\xc6\xda\xf3\xfcj\x17\xda\xce\xf4}\xfa{\ +\x8b\x7fk\xa5\xf2\xb0\xd6*C\x81+Z\x16(\x08 \ +>\x0d\x13U\xd1\xc1\xfdml\xdc\xdc\x89\xb2T\xb0q\ +\x82\x88V\x91V\x83\xd6C0E\x10#'\xe1\x06\xd0\ +\x00\xe83\x80\xd1\xad\x22k\x15o\xd6}L\x1f\x83\xe2\ +\xaf\xdd\xbf\x82\x13\xb0w\xb5\x16\xdc\x0a+\xbe\xb4\x15B\ +\xfa\x17\xc8\xca\xeby\xc5\xceoS1\xa6k\xca\xdas\ +\x85r\xdf\x1f&+\xd7w\xa6\xac\x01\x97\xfd{d\xe5\ +\xbf\x9f,+\xbf\xffAYc\x00\x07\xf0\xeb\x04\xb0_\ +J\xd6\xc6\xed\xf1\xfcx\xde\xfd3e\x89!\xe7\xfc\x06\ +\x80;\xc4\x1d\xcf\x915\xc0kf\xefb{\x95\xfb\xb4\ +b\xb1\x15\xd2\xf5\x98\x92^\xc7\xa6\x97\xf3{fSY\ +\x13\xd3\xec\xdf%+\xaf\xdf.\xf6-\xe7K\xe5\xdc\xe9\ +>'\xab\xad\xd1US\x85u\xcb44\x18\x02\x93\xef\ +\xc9Z\xc2==X\xd6\xe2\x0c\x12\xf2\x99[\x8a\xddl\ +\xbfqQ\x12\xe3\xf4X\xda\xdar\xfd\x9f1#LZ\ +\x18\xcbT-\x8ce\xfae\xfbe\xeb\x98\xbf\x9a\x00\x87\ +\x9fC<\x98\xef\x7fi\xa6\xcd\x16\xb2\xf2z\xf9P\xf8\ +*9\xe6\xa0\x81d\x86\x11\x8c\x80\x00\x94\xcc<\xe9_\ +$+\xcf\xf1xYe\xca\x0d\x85;\x8b\xef\x92/v\ +\xaf\x93\x95\xd7\x8f\xc8R\xa1g]Y\xf9;o\x90\xa5\ +i\x06\xb4v\x03 \x1b\xe0dj\x03b\xb3\xd1:\x8e\ +v\x81\xa7<\xd1*\xc1\x98\xc8\xd9\x99cd\xa97I\ +\xbd\xa0\xafk\xbd\xbeQ\xd9'\xb1t\xe2\x1e\x81\x08\xd4\ +f\xc4^@\xde\xe8\x8d6\x82\x13H\xe8\xae2\xff\xf7\ +\x07SO\x04\x14D\x85\xad\x7f3\x02\xbejM|\xaa\ +\x08D\xf4\x08\xffg\x1d\xa8\xd5\x0eV\xa8'\xa8p\xd2\ +\xe3\xea\x84\xad\xdf\xbeX9 \xe6\x16\x97\x95\xefg\x8b\ +\xcd$q\x04(0 \xaeT\xec\x9d\xc0\xd7V\x80\x87\ +\x9c\x80]\x98\x0ezS\xe9k\xaf\xe4\xf3\xeb8\x8a\xbf\ +j\x83B\x8d\x8cq2\xa8\xb5\xaa\x92\xfd\x11\x03\x1b\xff\ +\x9d\x0e\xe2\x8b\xab\x1eu\xa3\xe6\xaa\x03R\x94\xeb\x93\x8a\ +\x89qq\x9e\xac\x01 \xa1Z\x0a\x85\x9e\x00\x5ca\xf6\ +\x15)\x90yR\x9d,\x1d\x1a\x0d\xf5\xa0|\x93\x1d\xcd\ +V\xe9\xf3\xeb\xef\x9f\xeb\xc4\xfc\xd3\xe9 \x82JB\xe2\ +\xfb\x8djA\x89\x078\xa8a\xdb\xb1\x0e\xd0>\xe7\x03\ +\xf1\xa4$N\x84\x88\x93\x13\xc0Z!{UC\x98+\ +\x95\xfe\x07\x0e\x84\xd6w\x82\xfa\x5cW~?\xd3z\x80\ +\x18[REm\x96N\xd3'\xbe/k\x95STA\ +CL\x92\xdeW\xc6+\x8e\xe7z\x13\xb0\x12p\x13\xd0\ +\x12\xc0q0R\xe1$@1\xd2Y\xe7\xf3\x1e\xd0(\ +;\xf5\xf5\xf0$\x12\xc3\xfcW\xc4\x1e\xd9\x90\x88\x22\xb1\ +\x8fH\xccA\x00\xf9\x1c\x04\xfa\x00\x11$h\x1c\xc0J\ +\xb3_\x91\x0e\x98\x9f\xc9Ro\xbc\xe7\x1dG K\xa0\ +\x08\xd5\x96\xc0\x90\xbf\x0fE\x18 \xe0\xd3\x03`3=\ +\xc9\xbdQ\xa6\x86\xab3\xae\xf6\xc61\xbf\xfc\x01'\xa0\ +$\xeeTD\xa9\x941\xbd\x80\xeb%\xb1\xf2\xc1+m\ +f\xa93Ge\x8e\x84\x9e\xfb\xcf\xcfm\xe0\x84\xa9U\ +<\x17L\xfc\x16\xf1+\x81\xf1\x03\x06$\xe6F@@\ +\x9b\xf3\xbe\xa0\xd8\xd3\x98\xba\xeb\x04\xb5\xfb\x81\xccc\x7f\ +n\xb6(\xe0\xae\x06\xf0.o\x07\xf0\xe4\x22Y\x0a\xd8\ +\x01v\xa8\xec\x93x\x1c/+\xfe\xa8\x93\xb51C\xfd\ +-\xb2\xb2<\xbf \xab\xcf{\xf8\x1c\x00B\xac[\x98\ +T{O?2\x1d\x0e\x8e\x05\x01\x1e\xaf\xf3\xa8L\x02\ +\xbc@ME\xec\xcf\x07G\xecW*c\xec{\x80]\ +*\x91hX0u\x85\xc4\xcf\x89\xf4\xf4\xd7\xf6\xd7h\ +\x13 \xb6\xb5\x9a\xa9t\x8c\xe1\xa3\xb2\xc8\xfb\x91(\xc3\ +\xe4h\xd3\x0d\x86\xc0me\xafS\xfc\x1b\x89\x0d~\x94\ +\xd6%*\xd5T\x829\x87\xa8<\xa3\x15\xc1\xfa\x02\xa0\ +0\xd53\x80-Zt\xf0\xcb\x00x\xe3qp\xdbU\ +k\x95\xff\xf7T{\xac&\x00\xcf\x07\xe0m\xc9\x05\xa7\ +\x83\x04\x85\xd0\x81]T(\x9e\xe9D\x90\x16\x1e\xf6+\ +\xfb\x08\xa0\x8d\xfb\xc04\x18k\xc9D/\xff\xdd>_\ +I\x08\x8e\x19\xc4\xd2*\xe5\xf9\xa2\x04\xc0\xc10\xd8[\ +\x96\x12u\xcfiFl(\xc4:\x09\xb4I\xac\x01\xae\ +I\x94\xadE\x12\xfe\xd5\xeb&\xfe\x1d\xc6\x9f\xc7\xe7=\ +\xa6\x05\x82\xc4\x94\xe7\x81\x1f\xa1E\x01\x00\x85\x9f\x1b\x8f\ +S\x84\x91\x888!@%@\x81\x03\xc6H\xc49\x0f\ +\x08\xb0\x00X\xf0\xcb0I\x98\x1aD\xeb\x17\xefG\xa2\ +\x01\x00\x06\xb0\xca~t\xa0\x1cc\xb6\xd8\x97\xbc/\x00\ +\x1b\xfb\x91\xd6'\xf65\xc07\xfe\x8a\xcfI<\xc4\xfe\ +\xe6~\xb0\x0e9\xbf\x00P\x00\x1a\xa8\xa0\xf3>\xec;\ +\x12'\xc65\x03\xec\xa2\xa1B\xc1\xc8\xccG\x02\xdf\xe9\ +\x0a\xb2\xa4\x0d\xc0t$\xd4\xee=_{r\x84,M\ +\x87aN\xbd\xc5\xf0\xea\x14\x95_\xa7\x0a\x1c\x14\x5c\xb7\ +\x9cT\xd1\xea\xa77\x95\xfd\xee\xe5\xb2t\xae\x18\xa8\x0d\ +\x111\xb4#\xd0\x8e\xb1\x96T\x95\xf6\xdd\xa21bB\ +D\x99}\xf4q3\xe1\x5cp\x9a\xb7\x89\xe7k;!\ +\x801;\xfd\xd1\xd0jZ\xf7\xc9\xb1\xe9\xfe\xc1,\x13\ +\xd0\xb5{b,\xd2\xaa\x82f\x12\xfb\xba1\xd7\x86/\ +\xfb;\xe2\x85~}Yy=\xbb\xd89\x0d\x18\x89}\ +\xee\xf5\x1e=\xc8P\x86\x9fm\xed*\xae\xcf~\xb7\xdb\ +U\x96\x00\x02\x8b\xea\xc5z5P\x00\x10P{\xfb/\ +N\xe2\x89\x9c\x97wW\x0f3\x00\xd1\x0f\xb8\xd2\xfd\x95\ +&z\x88\xf6\x14\xa2jL%\x88q\xbe$\xb0\x22\xbc\ +\xef\xd6\xe2sZwaT\x05\xf3\xe8\xb7\xb2\xea\xbf+\ +c\xacD#\xf5zg\xce\x9e9g\xe6\x9c\xb4\xde\xf1\ +3\xdc\xdf\xa3\x06\x7f\xa4\x99\x01uj\xc0F\xc3y\xd1\ +o\xddo\xd5o\xd5\xd6em\x85{US\xe1\xa7%\ +!(\xe0\x9ev\x82h\x5c\xffZY\x13c\xec\x0f\x94\ +Um\xa5b\xe9y\xc3h5 \xdbo$+\xaf\xcf\ +\x96\x95\xd7?\xcaZ\x22\x1d\x15v\x0a\xa4G\x96\xf7=\ +\xb2NIX\x7f\xb2^\xaa\x04\xe3\x1f\xa0z;\x81\x0c\ +\xc6\xa8\xc7Rv\x1b\xcbZ\xe2\xaf!\x8d\x1a\xd3\x18@\ +6\xeb\xd5\xc0\xcc\xcca\xb2\xf2zA\xb1\xdf\xb4\x84\x14\ +\x863=\xf8\x01p9>\x88q\xc8n\xcd\xea\xb6\x97\ +\x95\xd7\xef\x0db{\xa1\xa1\xa6\x82\xe8\xb4\xf6\xe4\x17k\ +yB\xbf\xa9\xac\xbc\xfeBV\xde\xffE\xb2\xc4\xf4\x91\ +\xe6\xd9\x87\xca\xe7\xff\xb2\xaci\x8a\xf4\x8f\xca\x0c\x1c|\ +\xc6\x85\xdb\xbf\xd9\x7f\xa8\xb5e\xa5~E\x89\xdd\xf7\x97\ +\xf4\x17\xf7\x97\xa4\x96j\xc4\x8e\x19\xe7\xb7\xdaP\xa0\xad\ +\x85\x9b\xeb\x1au\x7f\xfa$\x8b\xfb\xbdNV\xfe\xfb\x7f\ +\xc8\x12\x13\xc8c\xbb\xd1@\x89<\xd3\xadA\xc1t2\ +\x10\x07\xd0\x05S\x05@5Z\xbf\xaf\xb3V\x14LE\ +\xe7aL\x11A\xbb\xa2\x02lOm\x0cE4A\x22\ +\xae\xf1s\x85\xb92]F\xc6\xd0\xaf\x85,B\x22U\ +\xc9\xabeM\xd5\xb5R\xd6\xd7NsD9\x089\xb0\ +\xe8\x9d55:\xe6\x84#\x9a\xe4\xc0!\x02H#\x89\ +PM\xe3\xc2\xa0`#\xa2c\x87\x1f\x07[\xee\x1d\x9d\ +K\x01\x854\x10\x7f\xd4\xc6\x1b\xd4q/\xe5\x00\x98;\ +W\xd6\xc4_\xfa3d\xed\xf3\xa9c\xa9\xf6,}]\ +V^\x97.\xf6\xe4\x16\xc0\x93X2\xb7\x16\xc4\xae\x8a\ +\xf5\x1d\xe1\x84k\x093\x1e.\xb7H\xd1\x97\x5c\xa9W\ +\x05\xf6\x0aY\x1ao\xa3^\xc6mS\xa2\x03\xc5\xcc\x95\ +\x95\x1a\xf6\xea`\xbd\xab\xd8\x9dIS\x81\x00\x85@\x94\ +\xc4\x85\x0a\xa6p\xd1\xbbR\x85\x8fV\x0a*\x93\xa6T\ +\xd3[\x83X\x0e\xa2\x8a\x88\x93\xd4\xf0x='`\xaf\ +w \xb7u\xdbhQ\xb1{\xb4vW\x07RK\x8f\ +vm\x0dxER\xb3\xe7y\x19p\x08\x0a\xb2\xdc\xfd\ +nv\xd0\xab4\xf1\xc2\x18\xaf\xa7\x0e\xaf\x0f{\x83\xbd\ +\xb61\x12\x82\xf1 \x82\xd8~Im\xf5\xdeb\xf7\xb9\ +W\xe8\xa7\x89\x8ahjS\x8c+a\xbd@y[x\ +\x94(\x12P\xa1\xe6\xcf\x17\x01\x1d-\x0d\x92b\xdc\xb7\ +1G\xa8\x04EBt|\xd5!\x0d*V\x88SB\ +\xf9s\xc5\x88\xb1\x22\xd1\xaab\xeas\x04\x22PXa\ +\xd4\x00\x5c\xb8\xa2P\xc3\xd2\xc5S \xcb\xdca\xa8\x9a\ +$\x88?w\x0f?s\xbeI\x1cH\xa0\x08\x985v\ +g\xbd\x84 ;\x81@\xdc\xb1{\xb5,\xcd5\xfd\xb0\ +,\xb5r\xdf\xe5\x00\x1dF\x80U^#\x01B}\x1e\ +\xa0\x81/*\xc7+\x8d*\xa2P\xb5\x09h\x09\x8c\x08\ +l\xa9\xfc\xb1\x1f\xf8\xbb\xe6[d\xb5\x02\xb5\x81zQ\x09\x5c\x03\xc8\xfaL\ +\x1d\xb4\xd3Z~H\x88\xd8\x17$p\xf8\x09\xf6!\x09\ +5\xd4p\x00\x01\xaf\xff\x10+\x03h\x22\xb1%\xe0\xa2\ +\x02D\xc0O\x02\x06\xe5\x8c}\x01\x95\x96\x04\x8e^\xe8\ +\xfb\xfc\x1c\x00T\xbc\x9e\x03\x08@\x94\x0c\x00\x00\xa0\xca\ +\x80\xc1\xbcE\xbc\x1e\x00>x\xae\x5c\xbf\x13\xf9hY\ +x\x97\xf7!c%\x11M\xe4>\xb0\x8e8p}\x80\ +\xc69\xc4~\xc3?0\xd5\x03Q\x1dT\xbb\x05\xd0\x9e\ +\xd4^\x03p\x80\xba\xceu\x90\x90\xa0w\xc0\xfa{\xd0\ +\x956\xc6*\xd2KN\x02\xc69\xbb\x96\x03\xbf\xf3\x9c\ +0\xae\xe1J\x17\xc0\x0b\xf7\x8du\xccu\xb2o\x1as\ +`\xf8\xf9\xeb\xfc|\xf0\x83T\xd6h)\xe2\x8b\xf3\xc5\ +\x8c\x98P\x0d\x87Z\x8d\x1f\x82\xf9\xc4s\x01\xd0\x01@\ +\x84a\x02\xd5\x1f\x06\x18\xd4\xdcKd\x0d\x10\x0b@\x09\ +\xbf\xcb\xe7\xa4w\x95\x84\x01\xe0\x85\x96!\x18\x01\xdc\x0f\ +\x98<\x00\x12\x8c\xe9Cdx<\x1epk3Sx\ +\xee\xec3\xfc\x19\xeb\x1f?\xcfs&\x0e\xe2\xbaa~\ +y\x8aF\xb4\x8a\xe0(a\xd0\x01$3\xe5\x82\xeb\x84\ +\xfaO@OK\x17\xfbr\xccP\x80I\x80_\xe1\x95\ +\xf7\xe1\xfe\x90\x00\xb1\xae`hX\xcc5*\xf5\xf8\xdf\ +\xb1\x16\x09Tz31`F\xc2\xd0 \x9e\xab=\xdf\ +\xdfl\x0c\x9a(\x88\xd0\x92\xc2\xfaF4\x98\x0a0b\ +\x8c\x16\xf5\x8b\xf1\x8a0\xe2\xb8\xcfT\xea\x1f\x925\xa0\ +\x0c\xe6Aw\xb2,\x89*\xfa\xfe\x13\xcf\x05\xe3\x07\x8d\ +\x18W\xa8\xfb\x07dI\xc3\x07\xc6\x1ab\xc2\x16m\x9e\ +\xb7\xa8\x01!*\xe5\x8d\xd16|\x0f\x90\x87\xf6\x06\xfb\ +\x82\xe7\x98\xfc\x83\xa6\x1cT@\xf9\xfe4\xa5\xe0\xc1\xea\ +\x19Z\xab\xa5\x135\xc6\x04\x8aX.j\xf9\xf4c\x9e\ +\xe2\x84\xd6\x86+\xd9\x88\xf8\xc1P\xaa\xe3\xf6^\xd3\xfc\ +\xfb\xf4\xa8\xe9\xd75%\x00@\xa4\x9e7\x1b\xb4\xca}\ +\x8c-\xe4\xf33\xde\xd3\xaa\xfd\xf8\xfb\xfe\x8ab\x7fv\ +O\xf6m\xfew=\xf7+eNP\x16J\x00\xd1\xf6\ +\xc5\xde\xe2x\xf72\x03\xa5;\xba\xa2\xfc\x93\xf2w\xee\ ++v\xbf\xcf\xe1\xf5\x92?\x82I\x81?\x15\xcf\xaa\xdc\ +\x97G\x7f%3C\xf1\xd3\xaduD\xb3\xae\xf4\xf7f\ +\xd7\x93\xa58\x94\xf1\x81\xaf\xef\xb6\xe8\xb6h\xfb@C\ +\xf74v\xafVj\x8fk\xe2\xa2u=\x7f\xdfb\xe8\ +\xa74\x80s\xfe'eNP7s\xe5\x5c\x14\xfc\xff\ +,V\xfcJ\xbfm\xb17\xa6\xca;\xf1\x11\xccL\xc7\ +\xa50^\x00X\xe7\xf6\x979\xe1=\xab\x01i\xcc\xad\ +\xa7\x90XV\xcb-UT\x1d\x064s\xea\xd1P!\ +\xce\x90\xb7\xfd\xbe\xa7B|\xdd\xadh\xcb\xb5\xfd\xd6\xdf\ +/KL\x00\x8063R\xfb\xdde\xe5\xfa\x97,\xa6\ +\x16\xe9\xfbe\x1e\xb3Y\xe2\x85\xee\xe9\xb2\xa4\xe5\xa1\xa9\ +\x06G%\xe0\x92V14^\x0c$N\xf6\x18\xa65\ +\xcc\xbcL\xd6\xce[Z\x82\xb8\xee\xf1xa\xf2\xb7n\ +9Y\x9dn6\x8c[=\xdfLr\xe5m\x17\xb6\x16\ +\x87\x10\x09w\xc3X\xd5\x86(\xfb\xbd\xdf\xb2\x1f\xeeg\ +Y\xc5\x15\x00\xa4\xa5\x0a@\xd6qS\xff-Y\xa2\xde\ +\x8bI\xfd\x81&\xe2\x18LP\xe2\xaee\xbcO|N\ +\xb2o\xd1\xa0\xa0\xe0\x01\x13#4O\xf8\xfejY\x13\ +\xed\x0d\xd1P\xa6l\xc0\x9c#\xee\xf1z\x88\xbc\x8c\xcf\ +\xe1\xc2m\xb4\xc6\xfb\xdc\xac\xfbo\xfb\xa4\x85\xb7\x84\xac\ +\xec\x93~/\x99\x1d\xdf\xd7\x0c\x04\xdc\xde\xe6\xd8\xa3\x9a\ +9\xe9d\x09\xf1#\xe0\xc3Q\x80 sPy\xfc\x5c\ +\x1c\x1c\x0e\xb0\xe3`T:pY:\xb0,\x0eR\xf1\ +\xec\xc5\x12\x82\xca\xdcozZA\xa4\xa1FKl\xe2\ +\x97F\xfa\xd4\xd3\xff\xaab\xafn\xea\x94\xfd\xf3e\xe5\ +\xe7^j\x0a3\x88\x94\xaf\xab{\x85\xac,\xc8U\x8b\ +\xad\xe6\x05{z\xfb{\x1c\x00\x8c\x9d\x08\x15\xd3\x01\xb8\ +j\xe2\x7f\xac4\xc6\xf21f\xe9m2\x8b\xc0|\xac\ +\xa97\xf6?\x92%\x91,o\xb0\x08<\xb8o\x1c\xf4\ +\x04x]\x1d\xa8\xd8\x1e\xb8\xc5\x10C\xccES\x0a\x9e\ +\x93T\x9aI\xa4\x14\x06m\xe9\x00\xfd\x9a\xa6\x8a_\xd3\ +\xcc\x1dR\xe5\x0b\x86\x07\x81\x96\x08\x85\x9b\xa5y\xa6\x12\ +9\xfc\x9d\x13\x8dg4\xd5\xe6:\xdf\xf6\xe5\x8d\xb9Q\ ++\xe3\x9fL\x15\x14u\x80\xee\xe8@\xa8w`\xfc\xa4\ +\xa4&O\x02{C\x1d8\xb6\xe08\x91kR\x02!\ +\x02\xd8i\x9e\x0fzXR\xb5\xf6}\xae\x9d\xea\xff\x93\ +\xd6%\x81\x14\x89&\xf7\x91\xfb\xca\x83#\xc0\xe0\x15\x0a\ +*\xaa\xf8hV\x00\x94\xacSk\xddA\xc5D\xe58\ +\x02g\x9e\x93\xb4\x08\xcej\x07@\x8c?\xa3w\x8e\xde\ +\x22\x90\x5c\x02.\x98\x13P\x93i\xbd!\xf1\xe5\xb9\x12\ +P\xc1\x80\x81:I\x00n\x11\xad\xb2K\x06\xca8\xf7\ +i\x00\x06T\xde<\xde&\xa8\ +gP\xe8K80\xfd^\xd2h0\xe54Z\x7f\x98\ +\xae\xe0\x041\x02n*f\xcco\x87*\xce\xbe\x81\xb2\ +j\x04<\x90c;j\x12\xa6\xe9\x9fem\xdcN\x8c\ +\xf5\xa1\xd2H\xcb\xcdW\xccd\xd2\xfe\xdb?!\xe6\x00\ +pT\xfeH\x10\xdc\xaa\x10\x0c\xa3\x8d<\xe7\xfbEN\ +\x1c\xf0\xeb$\x0c\xbc:\x80\x8a\xdeR\x9f\x07\x01\xc4R\ +i\xe4y\xe2\xbfiM\xb0\xdf\x0f* \xe3\xc7X\xdf\ ++\xf9uU'DO6@A\x02D@\x08\xc0D\ +\xab\x0b\xeb\x95\xf5B\x22\xcc\x17Tx\x80\x0f\xa6q\xe4\ +\xde\xd7\x7f&\xbf\xc1z\xa1e\x89\x04q\xc6\x0f\x8d[$\ +\xb8o\x00i'\xba\x22J\xe0Ao3\x81\x1c\x8c\x07\ +\x07\xe20\xec\xba\xcde\x8d\x0a\x1e\xadM<\xc7\x83\xaa\ +\xb5}\x0d\x80\x83_\x22\xe1\xe6\xfe\xa3%\x02\xc3\x8e\x82\ +\x01Tq\x9e+\xad\x02P\xba\xdfR\xad}N\xce\x1b\ +\xfc\x18\x006\x80\x05S\x05\xd0\xb6\x01\xa0\x03\xd8\x1a\x89\ +?Fe\x88\xb1\x88h\x000u\x03\x80\x87\xe7\x8e\x1f\ +\x82\xc1\xc0\xb9\xc3\xe7\xe7|\xe1\xdc73lz\x8f,\ +]/\xcc\x15\x12vZ\xa9\xf0\xd70l\xa8\xfc\xf2>\ +h\xc2\xb0\xeeaT\xc1\x9ca}0\xc6\x15\xa0\x96i\ +@\xcc\xdb\xe6\xfa`\x84\x01\x08Z\x84-D\xde,r\ +F\xc0\x09\x15\xbd\xff\x89,M\x070 \x0a\xa34\xc6\ +\xc7\xda\x0fNv\x92\xb5\xd6\x93H\x90\x1aSr8\xff\ +\xbc~\xa6\x9b\xc8\xda\xf9S{\xb47H\x89\xb4\x13\x8b\ +n+Y\xbd\xce\xea\xa7\xd0\x04*i\xee\x9d\xb5\xd0\xa2\ +\x02\xc2\xbd)^\xd8\xdc\x816\xefg\xed\x9b\x00FX\ +\xc7$\xf4\x00\x82{*\xb5I\xad&h\xf7\xd0\x22\xcb\ +\xb8]\xa6\x0e(mz\xb7[\x14\x0eh\xad\x1b\x88\xf3\ +\x85x\x98\x13\xb3\xea\x8d\xd6l\x1a0\xd3Gd\xadu\ +\xa7\xff\xad,\xb5`\x9a*\xcf8\xc5\xe9B\xb2\x94 \ +\xd0\x8a`\xb1\xe7\xee\xdca\x5cbI\x92\x87\xfd\xc4:\ +m\x95\xf3\x9a`Vf\xe1\xadi\xba\xc2\x1e\xc5vw\ +\xc5\xba\x9c\xe7\xdd\x05\xc5.l\x0cH\x12\xd8JI^\ +\xd9j\xe5\xfb%F-c\xdc\xde*K\x15X\xd6)\ +\xcc\x22\xd5/wj\x0c\xab\xc9\xc9\xb2\x928\x1f,3\ +\xb0\xf7!\xf7N\xbf\xb9\x01\x1a\xddu\xb2\x16\x17N\xd7\ +\xd6\xa0\xbc\xf2{/\x92\x15\xb7{\xa0\xac\xbc\xff\x0d\xc5\ +\xaeO\x22\x95bBo\xd1\x00\xcazj\xfd\xc3q\x04\ +\xea\xef\x9a3\xffgY\x9bB\x10q;\xe3\xb7=\xe6\ +-\xce]\x98\xd2\x8e\xd3\xfa\x17\xca\xca\xf7_\x97%1\ +G\x8b\x0d\xa2\xb1\x16L5O\x1b\xa8<\x92#[+\ +ami\xfer\x02\x9c\x94%} \x9d\xef\xde7\xfd\ +\x0a\xb2\xb4\xcf\x9f#K\x1am\x06V\xbb\x17\xcb\xfc\xbc\ +>\x91\x00{\x154\xcb\xfe\xe8\xd6\x90\xd5uS,i\ +I\xc1@e\xda\x18\x22\xd4\x8ec\x18\xd3\x18c\x5c\xcd\ +<`\xcc5\xfb:\xce3\x0a\x1aP\xf3\xf9{\xd6\x5c\ +\x08\x00\xc2\xad\x15\xdd\xf7d\x89IG\x8b\xb8\x0b\x16\x15\ +h\xba\xd7\x05\xbf\x0d\xccx\xd9\xda\xf7\xefK-/\xeb\ +\xb6\x91\x95\xef\xd7\x92\xd5)\x08\xef\xd6\x14\x04\xc4?\xfb\ +O\x16\xdb\xafNO\xb8yrK\xd2\xf4\xb2\xff\x91\xb4\ +\xa0\xc4\x05C\x1b\xc1L\x10\xb4\x9a\xfa\x8f\xcb\xda99\ +=\xc1q\xe5W\xcd\x8c\x82)\xeas\x98V\x92`\x0e\ +P\x80\xf3\xd4\x93\x10=\xa55\x01\xe6\x8f\x19\x050*\ +\xa25\xde\xe3\xc5gg~[\xac,\xf0\x99\xf5eV\ +K\x7fk\x13Q\xc3\xc1\x82\x0cu\xcf\x92%\x00\x80\xc0\ +\x0e\xaa+\x01\xaa\x11\xc8\x10\xd3\xe2\x80\x06\x18`\x83\xe3\ +hp\xac\x88\x1e\x89\xb0xg\x9b\xdb\x19\x891\xa23\ +P\xacM\x81\xebO\x90\xa5J\xb8{\xeag\xb6*\xb6\ +\xb5ES~\xecJ\xcf%\x0d!\xee\x8e\x965\xf1\x18\ +\x0e:\x1cmM/\xca\xe7\xeb~_LcD~.\ +k\xe3\x02cN+j\x9d\xee\x0d\x8b\x83\x1cuZS\ +\xc5#P\xa4\xd5\x81\xf9\xa6k\xd7\xae\xb3V\x01@#\ +\x1b`D\xe1\xe1\xa3>\xe8\x17O\x09,\x14@z\xd9\ +\xa8\xf80\xe6\xcf\x88t\x9dK\xfeJ\x8f\x93y\x8f\x03\ +\x92g7\xca\xd3\xf4\x18Y\xa2\xf03~\x86\xc4\x94\x8a\ +\x8a`\x80\x0f\xba7qu/\xec\xaf9\x10Z2\x05\ +r\xae\xa4\xd7\xb1\x167\xd9\x01>\xbbi;0\xbd!\ +\xc4s\xc4s\xf8D\xeb\xa9\x8a^S\xdd\xbd/&&\ +\x04cQ\x10a\x13\xa1\xed*o\x84\xc3,Bt\x9a\ ++*\x0f\xa7\xf7\xa5\xa2D\xa5\x7f\x1c s\x1fy\x1d\ +\xab\xeeC\xdd\xe5\xdf\xa9(\x13h!Z3\xa6\xf2\x13\ +0\xd2\xa3O\xe0\xc0\x1c`>\x17\x00\x01\x15H\xf6\x83\ +\x9f'-\x10\xfc\xf7\xa8\xecP\xa9\xa0\xd2\xe1J\xa5:\ +\xb8\xd5\xc3=]N\xd6\xc6\xde!\xca\x14\x22d\x8c\xbf\ +c\x5c\x10\xbd\xc0\x000P\xab\x09\x989\xc8\xe8!e\ +z\x07\xf7\xe7\x0aW\xfa?W\xadU&\xdc\x9b\x14*\ +\xeb\xf4\x18\x93`\x92\xa0;\xc1\x0f\xd5m*&\xdc\xd7\ +5\x1c\x10\xbe\xc0@\xe3\x93\x1c\x10\x93\xf8_\xed\xfbJ\ +\xc2\xf4\x90+\xaew\x9a\x02}\x87\xfd\x15\x8c\x05\xa8\x82\ +/w\xaf\xfe\x86\x1e\xfbbUhM/\xae\xf3\x8b?\ +\x22k\xf3^\xd1.\xe9\x9e+k\x0c\xa6@\xe4\xf1\x0b\ +\xecC*\xe2\xa8\x95\x1b\xd1\x9d\xfcQV^\x7f)K\ +\x95y\xc4\x9d~%k\x1a\x18\x01\x80\xb2\xcfI\x94\xb6\ +4\xd5\x91\x96\xa8QE\xbbR7/IL\x00(\xcb\ +\xf8e*W\xb7\x0d\xf7'\x02L*\xe8T\xae\xe9\x85\ +\x7f\xa2?\xcf\xfeV\xaf\x050s@\x11L\x13\xd61\ +\xfe\x1e\xc6\x02\x81\x0a\x00\x0e\x94\xfcq\x85\x12`f\x15\ +\x8f\x01\xa3\xc5\x84\x00\x06J\xb7\xbf\x8fs\x88\xde_\xf6\ +'\xcc\x16\x03)!\xe6J\xe2\x0f`\xca\xe7\xc6\xbf\xb2\ +\xcf\x01\xe6\xe8\xc9\x87a\xc3X9z\xdc\x09Tx\x8e\ +TB\xb9\xdf\xacs\xc4_-\xe6\x15\xc0\x02\xeb\x91\xde\ +u\xceC\x184|\xcf\x9c\xe0[\xcd8a\xfc\x1e\x09\ +>\x09\x0b\x00\x09~\x86\x04\x92\xd6\x98qk\x89\x01\x0d\ +\x02\xa2\x00X\x99\x0e\x81H\x17\xe2\x85\xa8v\x03\xe8y\ +\x7f\x87\x88/\xe2y\x17\x05\x0b\x98?\ +\xf8UZ\x02\xd0\xf2\x81\xba\x0b \x0b @\xc2O\xa2\ +\x0c\x03\x8d\x84\x18\xa0i\xcc\xbcb\x9dx=Dk\x0d\ +\xe7\x03\xcf\x8f\x9fG\xe4\x18\xbf\x08\x90\xcd~\xa1E\x85\ +\xcfA\x1ca\xf1\xc5x~\x9c{\x00\x06T\x0c\x098\ +\xf7\x90\xb5\x84\x09Q\xe5\x00\x14\x1d\xef!\xf6\x17\x89-\ +\xc0\x0d\x22^\x06\x14b\x9c\x95[C\xbb\x8f\xcaR\xc1\ +\xc4\xd3\x81\xd4HY\x81\x0c\x03'\x01\xfc\xd2R\x03p\ +\x8af\x80?gP\xb1\xedw\xfb}e\xe5}>#\ +kqM\xf7\xce\xee]\xdd\xbb\xda4\x12\x98,\xa1\x81\ +\x00\x90\x03\x80t\xf3\x00\xc0\x95\xf4m\xa0p\x7f\xd7\xe3\ +\x07)\xec \x9el\x8d\x06\xc1\x09\x02\x14\x00\xd0\xa0<\ +\x07@\x0c\xa3\xd3\xf1D\xa5\xe2n\xea\x82\xc0\x81\xcdO\ +\x00\xa0\x04\xa3\xccbz0f\xfa\xcde\xad\x95\x801\ +\xdd\x95*|\xad{\xeb\xf5\xfa\x91b\xfb\x18\x10\xba\xd1\ +=\xc0\x9a\x86tZ\xb1\xd3\x0d\xd0K\xfc\xee\xf2b:\ +\x1fv\x94%\xd1C\xbe\xa7\x02\xaa\x96\xb7\xddZ\xafs\ +\xbd\xff\xbb\xbb\x95bM\xb7f>9\x89\xf6*\x8d\xff\ +\x9a\xd7\xd1\xafZ+P0\x1fU?\xfdR\x02\x16\xd1\ +B\x020\xc4O\xe2\xcf=\x07\x1e\x8a|\xf7z\x995\ +\x00\xde\xe4\x96\x80r\xbe\xcdm K-\x02\x024\xb6\ +\xafcx?\xd0\xedT\xc5\xbc\xbf\xd1\x7f\xa3l\x9f\xa7\ +\xcb\x9a\xfa~\xe5\x07\xbc\xad\xfc\xdc\x1bd\xe5\xf5RY\ +\xf9\xf7\x97\xc9R\xc1\x8b\xd6\x075\xcel\xe7\xf1v\xdf\ +hb\xd05\xc1\xbc\xaf='T\xf9c\xba\x97\xc7]\ +r]s7\xc9R+\xa0+\xc85A\xfc\x84\xcf\xb5\ +w$m\x09\xfb\xdf(P\x98y\x16\x7fw<\xa5g\ +\xc4Tb\x8c\xe0\xf4\xd9\xb2\x06\x0c\xf5w\xc9\xda\x98\xbb\ +\xb9\xbf\x15\xfb\xab\xc77\xea\xf9\xce\xc8R>\xa3<\xe7\ +\x95\xee]\xdf'1\xd88/a\xea\xb8ue\xba\xb3\ +\xac\x8d\xcd\x0bF\xb5\x99Y3{\xc8\x1a\x03=\xb4B\ +\x5c\x80#^e\x0c \x15\xfa\x9a\xaf\xbe%i)\xbd\ +`\x00x\x10}'\xae\x8d\xa9efZ\xd5\xc2\xdb;\ +\x92\x1f6pV\xb5\xe0t\xff\x7f/K\x15|\xb7$\ +\xa1\xf5\x11S\x9f\x0c\x98D\xeb\x84\xfdJw\x92\xcc\xf7\ +\xfb\xa3Mk&\xb4\xbb\x1c\xc7\x01 M\xce\xb3\x08\xa2\ +\xc5\xffh\xad\x83\xda\x1f\xfe\x8fV63\xb8\xa3%\xd5\ +\xad\x04\xd1*\xe5\xfd\x18\xf97\xadG\x88\xc5:\x9e\x9c\ +\x9dY\xa6\xd8\xb2\x0e\xf0\xcbB\xe9/,vAZ\xb8\ +\xf4\xf2\x9a\xea\xd8?W\xd6({\x93C\x8b\x1d\xe2\x84\ +\xe6\xda\x84\xa4S\xd9%\xd0\xe7\xa0\x1c\xf5\xf4>F\xac\ +\x89J'\x01\xc2\x15u\x80Q\xcc\x7f\x0d\x11\x04\xd5#\ +\xcfMcIP\xe5\xf7\xc1\xd0\xad$K\x7f\x8f^I\ +\x85\xbb+\xa4\x8a\x98\xc7H\x04E\x0a\x86\x82\x03U\xe6\ +X\x82\xc4\xa0\x96No\x10T\xfeH\x9c\xb8~\x0eP\ +\x02\x0a\x11\x8b\xbeej\xf5\xef\x12\x80\xe2\xb9\x9c\x11\x88\ +@\x05\x1c\x7f\x8d\x13~\x0e*\x02:*RPnN\ +\xab6\x1c\xa8\xf7\xa59\xc0\xa8\xb7z\xded\x1c\xb4P\ +\xcaI\xe0\x95\xa6\xecl$\xee)\xe9y\xcdT\x19\x8b\ +\xc1A?\xd8D#kEt\x97\xc7I\x88=n0\ +\x0eZ4\x1cD\x90?\xaa\xf5\x94\xa2\xb2\x0f\x05/D\ +\xec6\xaf\x98\xfc\xd0\xcbt\x8f\x1d\xf5[R\xc5\xd2\x1a\ +\x08\x88\x13E/\x93\xa4^\xf6I@\xc0\xff\x95x\x8c\ +\xd5\xe4A\x1ey%@\xe3>\x8d\x81\x03\x02;\xae\x9b\ +J\x0b\x01\x15\x15(\x03DAu\xf7\xcf\xa3=\x81\xca\ +q$n\x00^~\x0d\xd5c\xae\x03\x11*\xc6\x0bQ\ +\x19\x87jv\x9f\x19%\x88\xe6\x98\x9a\xc9\xba\xa7w\x90\ +\xc44*\x15T\xb2H\xfc\x99\xbf<\x9ew\xcez\xe5\ +\x95\xbfc&JTFQu'P\xf5\x09>\xfe\x0c\x06\x0e\x09\x1f\xc0-\xe7,c\ +\x02\x0d\x98\xc5\xf8G\xa8\xfdhh\x90\xe0\xe3\xd7\xa8\x04\ +\x22RD`\xa3\xd6\xb7/'\xe6\x18\xcf\xcf\xd4\xd6\x08\ +h\x00HhQ\xe2\xbe\xc3\x8c\x00\x18\xa4\xa5\x0a\xff\x83\ +\x86\x88\xcf\xd9H\x8cI\xd8\x00\x1e\x01@\x19\xcfhF\ +YP\xc8\xb9o\x00\xa6T\xb4\x01\xd0^\xe1}\x04\xc0\ +\xc6\xf4\x1a~\x1f@\x13?\xc99\x89\x9f\xf1~\x8b\x96\ +>\xce%\x80\x03S5c\xca\x0f\x80/\xad\x03\x14R\ +\x00\x00`\x0c\x00\x88\xd2*\x03`\xca\xfa\xc3?\xd2\x02\ +\xe1\x0ad\xfc<\xeb\xc4T\xf7X_\xf8\x05\xfc6@\ +\x1f\xfe\xcd\x9a\x0c\x91({\x9aET\xe6\xfd\xfc\xe2\xbc\ +\xa6\xa2\x8fX#T~\xbe\xdc{\x1f\xeb\xc8qJ\xb7\ +~\xb1\x17\xd6\xe7W\xf7\xa3:\xe5%\x0a\x19\x00\x01@\ +\x0b\xfe\xc1\x0c\x87\x08\xcc]\x09\x86A0\xf9\x88\x9f\xff\ +k\xfc|\x88\x93>>\xb4\x02N\x0e\x19\xa6M\x94\xdf\ +\x1ez\x8e\x19+\xf9\xa5\xc9\x17\xc5\xfc\x8a\x96:\xfc\x22\ +SGx^\xde?\x11\x0f\xbed\xb2\x89\x80\xbd\xc9\xa6\ +\xe5\xff\xdb\xb4\xfe\xfdCj<\x8c\xbf\x06\x08\xa4\x02n\ +\xa0Si\xa8\x12Q\x9es\x8c\x19Tk\xc2\xa3\x15@\ +\x1a*\x7f\x0f\xba\xd5\xc1\xf3\xec\xfbGd\xed<\xa9c\ +\xec\xf6KLM\x9d\x02%^\xefN\x90\xf9>=h\ +\xbfwj\xf9\xfd\x93eM$q\xe6\xdd\xc5vh\x0c\ +TD\xf0\xe2\xe7(\x8c9.A\x14\x0e&k\x05:\ +\x94\x80]$+\xdb\xe1\xb8b\xc7\x1a\xf8\xb9\xbbi~\ +1\xed%\xe6\xbbs>1\xbd\x0a\x11@\xdd\xf5\xa5\x1c\ +gM[\x02\x1b\x05\x0a\xb5\xb0\xedd\x80\xe3#\xdeO\ +\x7f5\x10\xf0\xc6\xc6h\xe8W)\xf6\xcc\xb4\x0f.\xb2\ +\xbfq\x9c\xdc\x1d,3\x80u\x82[\x87\x8b\xbf\x9f\xf9\ +\xbe\xacQ\xbd+\x10\xbe\xbc\x99\x0e\xc5o\xf5/\x96\xa5\ +VM\xaf\x1f*\xcd\x91\xf0Z\x1b\x80\xc4\x17 \x8d\x96\ +\xe4(0\xa0\x1d\x80\x88\x9c\x99X1v\xda\x8chu\ +\x9eW\xed+\x80_\xff~\x15\xd7\xfePj\x01\xc0\xcf\ +\xc3@\xb0\x8a<\xc0um\xd9\xb8\xa3\x16jWV\xa1\ +\xb6\xdfr\xe8\xe9\x9f\xffKY\x8d\x1b\xefSKm\xff\ +J\x99[\x08\xca\xdf\x9dYRV^O*v\xa2\xb5\ +\x18>Z\xc7?\x16+o\xfbLY\x9az\x84\xb8\xe0\ +\xfbeI\xfb\x01\x0d\x103\xc5\x82\xf9l\xa0\xb6[^\ +V^w\x93\x95\xf7\xbbTV~\xee!Y\xf9{_\ +\x945F\x01\xad\x16\xd1\x22a\xd1j4\x18`\x90\xa3\ +\xd1\x85h2b\xb8\x0b\x88\x0d/^\xcf\x93\xa7V@\ +\xd9\xe7\x0e\x05\xed`\xf8\xea4\x5c\xa6iQ\x90\x98\xa3\ +e\x10\xfe\x1b \xc4\xe7SLo\xc2\x8fJ3N\xa2\ +\xf27\xc9\xca\xf5\xee'\xab\x85\xb2\x03\xaa\x88\x9f[\x04\ +\xeay\xbcH\xf5\x13\xc3\xd8{\xdf\xa7h\xd1u\xab\x0c\ +@\x1d~\x85B8\xff\x9dV\x80\xf0\xd3\x8ekf\xe7\ +\xee\x97\xa5\xb1%\xeea\x9f\xbdX\xd6\x10\xda\xb95\x8b\ +\x89J\xf0\xc1be\x03V\xc0j\xda\x10\x13\xc6\x1aT\ +\x8ax\xea\x1d\x06!\x0cuZW\xd4\xa3\x82\xc5A\x84\ +\x9a=\x8e\x93\x1b\x08`@\xa0\xe3\x03\xa1\x22B\xe7\xf8\ + \xf9\x91)f\xbfm\x09Z\x04\x5c\x88\xafA\x15\x04\ +ad\xac\x18\x07$=\xf3$z\x8b\xd4[\x1f\xea\x98\ +c\x84\x89\xf9\xdf\x1c@Au\x85\x0a-\x22\xe9\xcd\x9e\ +gyP\xeaE\x81\xd2\x85\xa8\xe1Sk\xc8\xd9\x02\x1a\ +>\x9f\xae\xfe\xe1\x84\xf4s\x1fH\x8c\xe8\x99\x13\xd5V\ +\x01\xd9U\xb2DA&\xc1!\xa1\x13\xe1\xec]i^\ +$H\xa6\x17>\x80NE \x0ft\xc0\xf9\xefD)\ +\xbc\xab\xd6L\x87\xbf\xfb\xd4$.\x22\xe0\xe5l\xff\xbd\ +=S@B@d\xb1\x9d*&\xf3\xc6\xc6\x90 \xc0\ +\xab\x07\xca\x8aI\xf5\xd8\xbdv\x9a\xd2\xa99\x9dU}\ +\xfd\xc3\xa9r\xc4\xdcP\xfd\x9dW\xa7\x96\x8d\x83\x8b}\ +&U|\x08\xd8\xe9\xe9G\xdd\x1b\xaa\xe5R\x1eW6\ +\x16\x03\xe4\xfe\x02\xa8\x8c\xef#\x01\x1b\x01\xc2Xu|\ +,2\x08\xf0E\x02J@\xc2\xdfCd\x8b\xdeXD\ +\x1d\xa1\x90R\x09\xf0\x1c\xd4\xa8\xd8\x91\x90\xd3c\xca\xfe\ +]\xdd\xaa\xd1\xae\x04N\x7f=\xfc\xded\xc7\x01i\x8d\ +\xebG\xb4\xcc\x81\xe4\xf4\xf5\x83\xa8I\x85\x8b\xeeK\xa2\ +I|^*\xb4\xacS\x00\x12\xdewSW8\xe9\xb1\ +\xdd\xcc\x01\xb6\xa9\xf6\x93\xcb&\x7f\x9a\xe4\xb9\xee\xb4\xf6\ +@\x05\xb7*\xeb\xe4\xe7\x83\x08'\x95\xb3H\x10\xb9\x7f\ +\x00dPC\xd9/\xcfw\xcb\x80[2\xa2\xb2\xfa7\ +'h<\x9f\xa7\xdb\x8f\xd8\xbfTuX\x05d\x17\x08\ +\xfaL\x07\xf4\xf1C\xcf#L\x0a\x00-\x10\xe7\xa0 \ +\x8f\x81\x1f\xaf\x97\x00~\xech\x83\xea\xee\xd6\x89@\xe6\ +\xf1\x7f\xf4rZ\x0d\xb7;\xae;\xb6;\xb6j8\x9c\ +\xa9q=eO\xd7\x8a\xc9tcY\x02(\xa9,q\ +\xf0 \xc6\x07\xf2;Jd\xa3\xd2\xe8@=\x126\xa8\ +\x97P\xe0\xbf\xe4V\xa6\x97\x0f\x09\x9a\x08\x89u\xfe\xf1\ +\x87\x07\xea]\x09\xb83\x99\xd1\x00\x00 \x00IDA\ +TB\x86\xb19gY\xc4\x15\x91F\xa8\xff\xdc\x17\x9e\ +O{\x1d\xd6\x13\xeb\x8a\xff\xce>\xc2\xff\xc3\x5c@\x8d\ +\x1f\xca\xb4U\x9e\xe3~\xb3\xdfH\xa8Y_<_\x8f\ +\xf1\x8c^R\x18\x19\xcc\xf7v\x0f^$Z$\xaa\xde\ +\xffA\x85\x07`Y\xce\xfe\x80\xfb\xc4\x5c\xee6>q\ +`@\x90@s\xce\xf9s\xc68>\xd4\xe3\xc7\x00\xae\ +\xafcz\xce\xd0J\x11\xad\x16P\xeb\xd9\x87\xe3\xe9\x0b\ +0[8'a\xcc\x00\xc8,i\x00\x97\xcf\x0f\xa0\xe0\ +D\x8ei\x00\xb1~\xbf<\xb4\xc2\x04\xb0\xc2\xf5R\x91\ +\xa7\xd2\xcb\xef{\xccR\x9c\x87$L|\x1eZ\xb3H\ +\xe8\xacq\x12\xad1\x00;\xf8[\xf6+\xc03\xf1\x03\ +\x14~\x18\x15\xdcg\x9e\xbb)\xb6!\xf6H!\x02`\ +\xde\x09t\x88E\x22r\xc9\xcfA\xe5\x04\x10 \xa1\xa6\ +\xb7\xd4\x00O\xf4\x84\x8f4\x91\x82R\xef\xc2C\xa8Y\ +\xfb|\x06\xc8\x8d\x0a\x1e\xd4s\x12\xfaq\xaf\xf8\x98y\ +F\xa5\x1f\xe0\x11Q73\x05b<+\xe7 T\x7f\ +\xefK*\xf2A\xa5]^\x96\xa8\xebPI\x01f\x00\ +x\xf9b\x8a\x10\xa2_\x06\x06#Pf\x9c\xb0\xc5\x0e\ +#.d:\x12\xbd\xff\x88\x00\xean^Rn\xdf\x93\ +eiZ\xc0\xc7d\x09(\xf4<\xeb\xd00\xf2X\xdc\ +\xd0X\xb2\x08\xd8\xe4fS\xfc\xad\xb5\xd4-3\xb4\xb2\ +j\xf8\xa5\xc6_\x16\xaf\xe8\ +vi^\xfa\xab\x07\xa6X\xb4\x04\xb8r;\xf9\xe1\xe4\ +4i#\xf5\xc7\x94\x80\xff\x98\xeaG\x9fP\xfd\xbb\xf7\ +S\x15g;&\xcd\x93\x97\xd4\xa2\xc4\x15\xaf\x94\x95\x8f\ +\xf5[Y\xebI\x9f\xdb\xbd\xd8n\xa9\xc5\x0f\x0d\x054\ +/\xa8\x1c\xba\xc0\x82_\xedo+v\xab[b'I\ +\xa4z\x9da\x8aB\x8d\x026{\x9c\x02\x0b\xf1\xa1\xfc\ +\xc6\xc9)\xdea\xff\xf3=~Y\x22\x8a\xbb\x1a\x088\ +1%\x9aP\xaba*\xbb\x82][\xd1\xca\xb91w\ +\x84\xac|\x7f\xa6,%\x98\xef\x96\x950mgYj\ +\xc1p\xabg\xff\xd5b_q\xbe\xb3\xb3[\x7fE\xfd\ +>QV^\xaf*vu\xea\xf5wkTP\xb4\xa1\ +l\xc3\xc4\xb4\xa8*\x9a\x0bsg\xcb\xca\xef\x1f!K\ +\x95\x7f'\xe8\xa1\xb5d\xa0\xa3\xc2_\x9b4FK\xc4\ +O0\xaa9/\x0d\xbcT\x8d\xb3\x85S\x01\x08\xa6\xad\ +f\x8ei\xac\xf9>\x03\xa31\x80tZ\x17\xcc\xe0\x98\ +\xbfD\xb1'\xb4J1\x0c\xa0\xd8\xcf\xde\x7f\x144\x02\ +\x88\xb2\xe6\x16\x22u1\xb5\x8a\x96\x1dku\xc0\x98\xe8\ +6\x91\x95\xcf\xb3\xd5 \xc2\x18\xe3\xb2%\x0e\xfe\xfd\xc6\ +\xb8F{)\x00\x1d\xceUZ\x87i\xa9tKR\x95\ +$\xff\x5c\x1bw\x07\xe3\x8b\xa9\x0aq\x0e\x01\xe0HS\ +\xe4\xe1&j-\x1eM\x9d\xda\xe4\xf8\x9c\x16\x88\x18/\ +~\x92\x81G\x9f3\xdd\x86C\xcbD\x7f\xf60\x1d!\ +\xce#\xd6;\x8c\xc1\xfde\xe5\x9f\x8f\x95\xb5\xd6\x05\xf2\ +\xbc\xda\xaa\xa4\xe7>\x9d\xceM\xa7\x95)\xf1y1%\ +\xc8\xb7\xc8\xa7\xa6o\x95%1q\x17\x88\xf1{\xd1:\ +\xfafY\xcbK\x03\xb82\x80=;\xf7lY\xb9\x80\ +Cd\xe5\xf5\xeeb\xf7\xb4\xc4cn\xa7bk\xb6^\ +\x86\x995d\x0dI\xa8\x22\x05\xb75\x84\x86@!\xc6\ +k\xd0\x13\x0f\x05H\x89\xcc\xaf\x13\xf5\x02\x04]\x84\xbe\ +\x87\xd2\x81\x8e#&\x80@\x95\xf4'\xb24\x86\xd0\x89\ +8\xa2u<\xf0\xc9&\xc56N\xe2\x09\x00\x00\x88\xcd\ +i[\x9c\xda\xc6\xd7\x04\xd2hJEP\x97\xa1\x92x\ +\xcc\x09\xe2\x16U\xbd\xf59\xad%\x82^+\x02K4\ +\x13\xea\xf8\x8bCM\xc5{\x8f\x03\xf4\xdf\xa5\xc0\x86\x8a\ +2\x81\xa0\xc5\xf1\x22\x10\xd6\xff\xde;\x02\x00\x16K\x09\ +\xac\x91\xd2\xaa6y\xb3\x13\x84\x8dR\xe5\x07@\xe2\xd5\ +\xf5(i\x81\xb2\xeaKW&j\x13c\x8e\x1c\xc0L\ +?Tl\x97T\xd1\xa2B\xf1\xb4Z\x03\xf3\x0c\xb6$\ +\x86F@\xf4\xae*\xc3\xd5>7\xbf\x7fT\xd5_\x1d\ +*\xf5?\xf6\xf5.\x9d6\x98z\xa0\x8e\xb4\xa6\xc2\x87\ +\xd3\xe7g,%\x0c\x06Q\xdc_\xe7\x8a\xcc\xa1i\xcc\ +\x9a\x0e\x92\x13\x13\xc5\x13\x80\x87\x04g\xd4\x1b\xcc\x1c\xe5\ +\xc9\xe2\xb2\x14\xe0@\xb1\xe5z\x11;c\x8e5\x95+\ +~n\xacj?\xa6\x0c\xc3@\xe1s\xf0\xbc\xa9H\xf1\ +{$\x18\x04\x0c8\x10\xc6\x16\xd1\x12\x81\xc3#\xb1C\ ++\x80\xeb\x83y\x01\xd5\xdb\xbd\x8f\xd3S\x06d9\xa8\ +L\xcc]mc\xdf\x86\x84\xd7\x09\x8a\xea\xdd\xaaxw\ +SA}\xadr\x1a\x95E\xd6#\x15\xd3+\x9dh\xc3\ +\xdcy\x91)\xef>XK\x98X{~\x03\x01v\x0f\ +pqG\xb5W\xa9^\xf3<\xcfY\xbe\xa0\xde\xaf\x01\ +\xc0@\xc5\x14\xc6\x04\x15\x7fDb\xb8\xdf\x88z\x110\ +\xd0;\xc5\x01J\xa2\xe6\x83\x0a\xf5n\xc6\xee\xf4\xf3\xad\ +\x1e\xeb\x04\xbb\xff\x8b\xac9\xe6noY\x0a\xacIp\ +\xa1&\xc3\x94B<\xd0\xea\xaf\xd1\xe3\xcc\xe7\xe4s\x93\ +\xc01f\xed\x06kLx=T\x84~\xe5\x8a\xc8\xd7\ +\x1e\xd5\x120\x9e\xa7\x80\x91u\xa7\xa1\x9e\xd2V\xe8\xf7\ +W7ZK<5\xa4\xa9&\x00\xac\x03\xf6;\x01\x13\ +\x880\x89$\xe3\xd2\x1cpO\xb7\x92%\xf14\xc6\xb4\ +\xbd\xca\x951\x80\x0f\x12OZ)\x98n\xc1\x9c\xe6\xb5\ +\x87q?\x8f\x99\xbe\xf0\x88\x01\x0f\xee\x07TnZ4\ +\x00l\x00F\xe8U\xe7\xf7\xa94[\x03\x02\x11\xb5\xc9\ +\xdbe\xcd\x8f\xd2SIE\x93\x0a3Z\x18\x95W\xf6\ +\xe7\x94@qP\xf3>\x88\x03\xd1\x0a\x81\x98\x1d\x01\x03\ +Z\x10T\xf4\xe91\xfd\xb4\xac\x9d7\xe1\x8f\xf8\xfbT\ +\xfc\x10y\x04\x98!\xc1\xc7?\xc0\x88A\x95\xff'f\ +l\xaci*\xb8\xc7)\xc5\xe7\xbfcA\xc6Ah\x0a\ +\x00\x00\x18\xb0\x09\xa6\x06\xc07\xda*\x7ft\x0b\xc4\x86\ +\xae0C5t\xe2\x15\xcc\x15\x98h\xae\x08\x12\xe0\x02\ +,\x87X\x98\x99?\xb4\xca\x84\xf6\x07\xe2\xac\x9coT\ +\x84I\x0c\xad\xad\x11\x0c/\x98l\xf83\xc6\xdf\x91\xa8\ +\xa2\x0a\x0e\xb0\x8c&A\x03>\x06\xc6\x03\x15}k\xa2\ +\xc0L\x88\xca2\x95pT\xd9\xb9~\xc4\x09\xdd\x22\x02\ +\xe0\x16\x09--\x07\xa6dF\xc5\xc7LB\x18T\x8c\ +qE\xbc.zz\xf1O\x9c\xff\x00\xbb\xb4,\xd0J\ +\x08\xb3\x85V\x0azc\xed\x0fb<\x19\x89-\xf7\xd1\ +\xfb\x18\x06e\x88\x89\x22\xde\xe8\xb1h!\x86\x88\xb6\x09\ +\xe3\xfe\xce\xb1\xd8\x16\x1a\x180:\x19\xbb\xc5\xfd\x1b\xf7\ +\xc6\x03p\x03\xac\x00\xf0\xf1\x5cLi\x8f}c\xa0\xa4\ +\xc6m\x9b\xb4\x96\xb1\xf0?\xfc\xbe\x19d1\x1e\xd6\x9a\ +UT\x22)\xf8tw\xc9\xca\xeb\x85\xb2:N\xbaV\ +\x14\x89\x1b\xa3\x00s\x8f\xe3A*\xd2\x9c\xcb\x9cc\x00\ +3\x00PhI\x1cSM\x8c\xd8\xe7\x89\x11\xdb\x9f\xda\ +\xffP\xe3\xf4\x82:\x7f\xfe\x90\xe0\x87\x7f\x04\x00t\x0b\ +YIS\x07\x112\xff\xbd\xe9?\xcdPb?\xc3L\ +\xb0Xu\x144\x88#\xa0~\xd32\xf0O\x17j\x0e\ +\xf24\x9a\x8b'\x97\xa8B?9\xc4\x0c]\xb7\xceF\ +\xbc\xe3\xf54\xb7\xb2,\x89]2\x0d\xcc\xf7\x9d\xc4\x8b\ +y\xeb\x9c\xc7\xd3O\xc8\xda~\xea\xb6\x96\xb5\xa9U\xb5\ +\x85g\xefF\xcd\x9f\x5c%\xf3\xfaX\xab1\x12k\x81\ +\xec\xd3\xbe\xcf\xb7\xb4xr\xac\x81\x02\x93\xa0N\x13{\ +\x7f\x8b\xb3\xfb\xabei\x8a\x04\xad\x02{\xcb\x5c\xf9,\ +\xeb\xbe\xbfYfq\xf3\xed\x5ca\xfel\x9a\xb7.\xd1\ +\xc5\x97\xb5\xeb\x9a{_\xb1rn\xcc\xedZ\xec\xbfL\ +\x09\xbf\xb42\xf3\x8a\xf9\xdfKB9\xf7\x5cY\xf9\xef\ +k\xcbR\xc2\xefs4Z(\xa8\xc8\x02\x04\xac4h\ +\xfd\xc4\xb8u\xfd\xfb]I\xec\x94\xb8\x91\x04\x1d\xff\xc0\ +\xb9\x0e\x00h\xff\x18\x09\xaa\xee\xc2\xc9\xa9\xd0\xc8>\xa3\ +\x80\x22%\x83\xbfW?}\xac\xfct\x9d&\xf1\xcbT\ +\xa8\xa0`\xe7\xc2\xcb\xec\xbd\xb2\xd6\x8a\xd8\xbdM\x96\x0a\ +tg\x0c\xd3/\xd8\x1f\xb4h\xa0\x05\x14\xd3\x1f<\x86\ +\x0e\xc6C\xc4\x8f_\xad\x16\xadV\xd3\xf5e-\x9f\x00\ +p\x99y\x9a\xac\xfc\xf7SdM[\x22\x98\xdc\x9c\xaf\ +^7\x01\x04\xb0\xbf\xa0\xc4\xbb\x90\x16\xa2\x91:\xdf\x1f\ +mq\x17\xe7=L.5\x84\xaa%4\xe22\xad\xef\ +\xf3k\xa1\xa0\x8a?\x97\xa8\xe0\x0d5.p\x1c\xd3m\ +9h\x8eL\xe7Kv\xb0\xbc.*+\xd7\xb1\x8d,\ +\x89\xdbs\x1ey\xbcj0\x15_\xaa\x81\xdb\xce\xbf>\ +\xd4\xceM\x18%\xc1\xf06\xa5\x1f\xa6\x15\xf9\xc1\xf4M\ +23H\xf6i\x80^\x8c\xb3\x07p\xb6?\x9a\xad\x14\ +\x9e7\x1b\x11\xdf\xc4\x88By\x00\xf37+\xb6w\x1a\ +\x17r\x9c\xac\xbc>ZLj\x8a\xaf\x90\xb5\xb9\xf4\x8c\ +\x0d\xec\xbe,\xab\x08\xef \x22\xb6\xddp\x90Be\x8d\ +q\x1a\xae\x18D B\x02CbL\x8f4\x07\x22\x81\ +4\x01!\x01\xb4\xc2\x84O\xa5\x0a<\x09*\x09$\xa2\ +!\xa8\xf7+-\xbb1\x89\xe5\xb9\x92\xd4/Wl\xd9\ +:\xe6\xa1X\x13\xbb\xa1W\x04UV*\xf3\xd1\x1bg\ +D\x9a\x0d\xdb=UV{\x8e\xde/\x11\x88\x0a\x8c<\ +l\xf1\x87\xeb\xfd\xa0\xe7\xf9@[$\xf5\xf6\x83\xe0\xa8\ +wp\xbd\x14\x08R\x01\xbe\xaf\xd8\xbd)\xa0_d@\ +\xa6\xa7;\xc8\xca\xebwe\xe9`\xe4}5\xefq\x1d\ +\x1fXG\xbb\xa2vnbR(\xa0\xf9S\xaa\xa8B\ +\xc1\x04\x81|G\xb1w&Q8z\x0bgj(\xd9\ +*\xe1T^\xa0\xf4\xa8\xae\xf2\xa2\xf6{\xb5G\xee\xae\ +\xa6\xc6\x8b\xfav$\xa4\x0a\xa8VO\xea\xf9$r\x1e\ +\x1f\x19\xe2Y\xaf\x97\x99\x99\xf0Oo\xf4\xaf\xb4\x8a\x22\ +\xa2sQac\xbdP\x09a\x1c\x1bb\x19\xb7\xcaR\ +B\x0d\xb6\x01\x02\x8e\x03\xe5:\xe9I\x04\x08\x18\x8f\xab\ +\x22p\xa3g\x9e\xca\x0a\x01\x1b\x07<\x89\x0f\xeb\x9e1\ +eOv\xc5\x1b\xea\xe0Mn\xc5\xa1\xb7\x97W\xf6\xcd\ +\xe6n5`\xbe:\xbd\xad\x00iTzN7\xf5\x87\ +J\xdeW\xe7\x1d1\xef\x88$\x0ar\xdb\x10HE\xa0\ +\xe5\x80\xa3\xce\xb5-\x07z\xf7VY:x\xfa\x18C\ +5Tr\x17v\xc0Ge\xf1\x02\xdf\x1fD\xcd\xb8^\ +*\xd0\xfb8AC\xcd\xfb\x83C\xa2\x80Hb<\x8f\ +\x87]\xf1g?\x8c+\xbeK\xfb`\xa42\xc6\xfd!\ +p\xe3>\xda!\xf6[\xcbZ\xe04\xf7\xde\xb9\xf7\xcc\ +\xedh\x95\xd477\x84=\x10ZU\x8e\xde\xeb\xc0\xf2\ +E\xa9b\x08\x85\xd8\x22.\xb4\x06\xcd\xfb\x7f\xd5\x1a\xc0\ +b\xca~\xf4>\x12H\x13\x80s\xb0s\xbd\xbeO\xd3\ +?\xbbr\x8d\xd8\x97{\x9c'O\x1a\x80\xbf\xfe\xba\xfe\ +\xda\xfe\xda*\x16X5\x1e\xa8p\x22\xfe\x12\x091\x01\ +\xc4\x8e^\xb7\xf3\x9dXSy_\xc9@\xcb\x97\x06Q\ +\xa7\x98\xa3\xcc\xfa%\xd1\xbf\xd1\xea\xe6\x00\xac\x9b\xfa\xe0\ +%\xc1\xc2\xff\xf2\xc5XW\xd6\xc3\x18X\xbb\xcd\xda\x16\ +7\x0c\xeb\xbb\xec\xfe\xda\x9b\x1b\xe3\xea\x00\x04\x00\xc2\xa0\ +\x9eC\xad\xde\xc9@\x01\x95V*\xd0\x00\xb1\xf4\xfaA\ +\xc9\x86:}\xa2\x01\x1c\x807*\xb8\xac\xab\x7f9\xf0\ +D\xcb\x02\x15l3*\x02\x80rb\xc48\xd0h\xf9\ +\xa1BHb\xcb~\x221\xe7\x00\xe6\xfc\x22\xf0p\x82\ +\x18\x8c\x03\xf67\xf7\x91\x84\xea\x85^\xe7k\x1b\xf0b\ +\x9f\xd3R\x86h\xe0\xc3\x0bR\x10\xcb\x9a\x1d\x18\x13\x04\ +\xd67x\xfdQ\xe9\xbd\xc1\x01\xe2\xbb\xec\x8f\x98#\xce\ +9L\x8f<\xbd\xfehY\xf0\xfc/\xa9\xd6\x12w*\ +Sh\x85\xd0B\xc2\xcf\x01\x0c\x93\x10\x9282w\x9e\ +\x9f\x87\xa9F\x05\x1f\x00\x88J4\xad\x0b\x8c\xade\xbd\ +\x03\xa4\x22\x8e\xc9~\xa05\x81\x00\x0c&\x01-\x06G\ +\x0c~\xb12\xca\x0eN\xe7\xfa\x13en\xfd\x9b]\x80\ +:>0%\xb8\x8f^\xaf\x22\x9a\x8bj>\xfd\x8a,\ +\x8d\xa5\xf3<\xed`r\xe1\xaf`\xc0\xa1\xde\xdc\xa6a\ +\x0c\x1a\x00N|\x831\xc1~\xa3\x90\x02s\x01m\x17\ +\x03!\xc1\xf8c\xfdS\x89e\xfd\xe1W\x01\xac\x09\xc8\ +\x11\x09\xc5\x1f0\x8e\x8a\xf3\x0b\xbfu\xe7HL\x95\xf3\ +\x92u\x86\x1ff\xddS\x91D\xcc\xce\xbd\xdf1-\x80\ +\xb1\xcc\xb4\x1a\xf0\x05\xf3\x8e\xc2\x10~\x1d\x00\xc5\x0c\xa6\ +\x10/\x84\x1a}\xe9\x00\xdc\x84\x18\x1b\xeb\xcb\xef\x83\x98\ +]0,\xe8I\x7f\xbb\xac\x02O5\xfe\xac\x95\xe7o\ +\xa7\xf8G\x0d\x0d\xdfn\x95\xb9h\x153\xd58\xee\x13\ +\xe7\x22\xf7\xc7\x95\xca\x00V\x1c\xef2\x16o\xccl)\ +\xe9h\x1dC8\xf9O\x9f\x8f\xdb\x0f\xc0\x22c\xbeb\ +\x1d\xbf\xc9S\x1c\x9eo\x7f\x86h\x1f\xd3;\x00xi\ +%x}\xb1\xd7\x19\xc0~m\xa2`k*\x96\xc4\xe5\ +V\x96\xa5q\xb1\x8e\x97\xe95'\x11\xeb\xee,v\x97\ +\x81\x9b\x97\xb4J=-3\x01\xcc\xa3e\x856\x0e\x9a\ +N|?\x12_\x0e\xcd\x16\xdf_\x98kQ\xc1d\x1d\ +C\x91\x17#\xe1\xcfml\x1e\xe3\xeax\xa5b^\x81\ +\x8c\x93\xaa&\xc4;\xbbw\xa4\xf3\xdcLV\x18\x1cs\ +\xcb\xc9\xca\xef\xd7\xaf\xf2\xfdg\x8b}\xc6\x8c\x87\xdbR\ +\x8b\x9f\x99S\xd3\xfbe\xe5\xdfO\x92\xa5\x84\x1fQG\ +\x8b\xf7Eb\xcc\x7fwO|\x85g\xf6\xf19\xb7\x92\ +\x19a+\xa5)\x06LU\xb3\xe8'\xd4\xfc8\x9fY\ +_\xb4\x5c\xdaO\x0a\xee\xae\x807\xcc-3\xe0j\xab\ +\xf7\x85m\xea\xd9\xb4~\xb5\xb1{\xdd\x12\xb2\xf2\xba\x87\ +\xac\xfcw\x8b\xc5\x87\x06\x05\xa2\xce0\x1d\x10\xa5\x83\x19\ +\xf2\xa0\xac|?+Kb\x87n\xe5\xa0\xe0U\xc5\xf4\ +>\xd9\x0a\x12T\xac\xa3\x92\xfd\x17Yk\xb1\xe8\xfe*\ +K\x1a\x03\x9c\xef\x00c\xdc\x0f*\xden\xadAS\x09\ +&Ve\xactID\xd1\xccX\xc4\xe3+C\xeb \ +'\xf0\x8b%F\x0e~^Zh\x1fp!\xfc\xf4\xc7\ +\xfa\xc1\xe99\x03\x03=\x18\xd9\xc4\x01\xb4B\xb2\xde\xf9\ +\xbc\x14\xc8\xd108\xc4\xc0\xc9\xae\x03S\x22\x18\x9b\xb4\ +\xc6yjB\xf8a\x0a-\xe4\xc9\xf6\xef\xec\xff\x88\xbb\ +\x88\xc3\x0dx\xceN\xdf&k=\xa1\x88\xa8\x89\x88+\ +*n\xf7;YK\xc4\xfaMdi\xec\x8a\x91\xc1\xd9\ +\xb7\x14\xdb>\xa9{rps\x10A\xcd%\x81#p\ +\xa0\xc7\x1a\x11\xa3\x91\xaaw [TZ9\xb08 \ +I\xa0\x08T\xa0\xf2\x9b\xa2\x16T\x19\xc6\xc1\x8d\xa8v\ +P\x9dy\x7f\xc6\x7f\xd4\x05\xbb\xbe+\xc5\xf7\xa4\x8a\xc5\ +\xbd\xb5+lH$\xbf\xdaz\xfb@j\x11\x1f\xea\xce\ +.vN\xa3\xd0T\x04g\xbe\x03\xe1\x7f\xa7\x84q\x9e\ +GD\xfd\xb3b\xb8m\xa1\xa8\xde\xf6\x0aW\x0c\xaf\xf4\ +\x01\xb9bJXq\x90:\xa8\xde\xd6\x02\x15\x10\xd9\xe8\ +\x85'\xa1\xf0\xc6\x9a^'s\xef\xc8\xaf\xad\x12\xb9\xa6\ +[?~\xd3z\xc9b|\xa3\x13\x98P]\x07\x90!\ + \x85\xa2\xa7\xe7\xbbY\x0aL\x10\x1f23\x8c\xc49\ +\xe6KS\x01\x84\xea\xe8y\x9c\x118s \xdbaM\ +\xfeQ\xec\xef\xde\x88\x87\xda\xe1\xec\xe9\xca\xdc\x1b\xd2\x18\ +I\x85Qy\xac\x18\x0e\xd1Hs\x00Q\x1ak\xf9\xb3\ +T\xc1`c\x908\xd0RA\xab\x05\x95>\x12M*\ +\x11P[\xa9\x8c\x11\xa08 \x8b\x0a\x0c\xbf\x17\xcd\x8d\ +\x06\x1a\x9em\xca0\x07%\x8c\x15;\x8a\x12\x06\x0f\x15\ ++\xf7\x043\xd6/*l$\xd4\xa88\xc3\xe4`\xec\ +\x12\xeb\x8c\xe76\x16\x1d\x04\xc0\x80\x81\x80(\x14\x09\x06\ +\x94\xfe\x9d=V\x0e\x8d\x02\x12\x1eS+\xab\xb6\xef~\ +\xe9\xef\xb0_i\xbd\x00\x98\xe9\x86\x9e\xee\xe9\x83\x06\xe6\ +vt\x8f/\x15SWB+\xe0u_J\xccpp\ +$\xfe\xec\x93e\x5c\x89\xa7\x17\x1c\x87:\x1a\x97\x05\x93\ +\xa7\xdf\xb1\xdf\xa1/\xebr\xee\xca\xb9\xbf\xcc\xfd\xb9\xcd\ +s\xae\xc7\xc5\x99\x09\xe8\xfc\x85,\x89\xf7]T\xbb\x08\ +\x9b\xba\xad\x03\x90\xa0\x8c3~\x13\xb5n\x12\x1bT\x97\ +\xa9<\xe2\xb0\xf1C$lT\xd0XG\x5cg\x13g\ +\x1b\x12V\x07\xf2L/\x01\xd9\x0d\x86\x80E\xb9\xa0\x9a\ +\xc5}\xfa\xb5\x13D\xf6-\x01(\xbd\xcd;X\xed\x1c\ +\x80\x8b\xc4\x98\x96\x0b\xc4\xc5\x10\x89\xfb\xcd\xf4\xd7br\ +\x85\xdff}\xf99@\xa5\x9c<\xdfs\xe2\xd9\xcf\xe3\ +V\x003\x02\xa6\x17\x0e\x09\xf0\xbc\xd5\x9d0\xd2\x93\x8c\ +\x9f\xe7\x003sg\xde\xa5na1e/\x80\x00\x8f\ +\xcb\x8a\xf7\xd9\xb7Z\xbb\xdf\xf4\x90\xd3B@\xe2I@\ +y\xfbHto\x11\x7fn\xc6\xd3\xa2\x9d\x00@\xe91\ +\xa8L7(\xa7U\x0d\xf4&G\x0dbA\x01\x98H\ +U\xfa\xf5\x8f\xd3\x1a\x04\xb0\xc8t\x82?\xcaR\x22\xc0\ +}\xf5}/\xa7\xc9 v\xf7FS\x85\x01\x16\xa9\x80\ +\x10XpN\xf2\xca\x14\x05\x12\xbdk<\x9d\x00F\x07\ +~\xe1~\xafG\x00\x05*R\x04\xca\x00\x95\x87\xcbR\ +\x22\x89:<\xeb\x85\xcf\xc3\xe7\x07\xf0b\x1f\x03p\x00\ +|\x03\xdcdm\x9c\x97'f\x0d\xe3+\x1d\xf8E\xa2\ +\xcb\xbeG]\x1d\xf1@\x12^*_\x88\x93!\xa6G\ +\xa5\x9fq\x99^'1\x1e\xd7\x22\x92\xa1\x0a\xce|z\ +\x07\xa4TnP\x91\xa7\x02\x0d\xd0\x17\xa2\x5c\x00\xae0\ +j\xdc\xbbN\x02\x10S\x11\xdc\x9b\x1a\x8c\x22\x18FT\ +\xa4\x193\xc9y\x06 \x82(!\xe7\xe9hJEP\ +\xed\xa9\xc4SIf?p\xfe\xc2\x08\xe2\x5c\xf9\x95,\ +1*h}\xf08\xe8\xc9#\xb2\x14?!\x86'\xcd\ +\xa4\xe77\xa0\x04\xd5\xfd\x00>\xf1\x03\xee]\xa5g~\ +2_\x96\xee\xf3-\xb2\xc6\x80\x98\x1c(k\xe3\xb4`\ +\xa6\x10\xb8\xc3\xacB\xb3\x04\xd1\xc1~QY+,<\ +F\x95\x9f\xf5L\xcb\xdbY%\x9a;\xcb\xbd\xd8'{\ +\x9e\xfa:ID\xf5K\xb5\x19K\xfe\xed\xbaZ\xd0\xf9\ +\xe6\x90\x08\x85&\x04\xd7\x87()\x15[\xe2\x1a\xd6\x1b\ +\xcc\x0b\xf6\x0b\xf1\xe5XS\x88\xf8\x16`\xff#f\xbc\ +l$K~\x8bx\xebR3l\xec\xdf\x83\x81\xf4c\ +\x8bs\xeem\x8d\x84?\x98\x92\xacsQ\x89\xdf\xf6\xb2\ +\xf2z\xb1,%\x12T\xa2\x0d4t\x1f\x93\x95\xbfs\ +\x83\xcc\xcf\xe5\x00\xf7H\x7f+\xadGZ\xda\x10]|\ +T\xe69\xe6\xc7\xa6\xdeeD2Y\x7f\x8b.\xe8o\ +C4\xd1\xe3\x05c\xda\x95\x80\xa3\xfdRK\x0dj\xe8\ +\xe7\xd7\xc1p!\xc6W\xa7\x04|\xa6\xc5\xbf3\xef,\ +V\x12\xff\xfe\xb3\xb2\xd4;\x0f\x13o\x0bY\xa3\xfe\xcf\ +\xedS\xec\xa3\xad\xf7\xbc\x7f\x8a\xac1\xcf\x00\xf8\xa0\x96\ +\xf7\x8b\xc8R\x82L%Z\x12y\xbfo\xad\x111\x0e\ +\xfd\x01\x99\x81\x90\x9f$\x7f\xcb\x98l\xf7\xa2O\x97\x96\ +=\x8eVT\xd6V[8\xc5\x17\xc4?\x9c\x070\x93\ +\xa8\x043>\xee[\xd5\xa2eER\x99\x12\xcb\x84I\ +L\xe5\x7f\xeek\xb2\xd4:\xe2\xe9?Q\xa16s\x12\ +M/\xb4*\x00D\x88\x17\xa3\xf5\xe9\x013\xdch=\ +d\xfc\x22\xf19\xd3B`\x90A\x81WAs\xed4\ +>\x14?vz\xb5v\xbd\xac\x1f\xf2LZ\x0e\x0d\xa8\ +\xd7\x02\xe4mfj\xfd\xad\xdd\xd7\x004\x94\x88\xaf\x9d\ +\xae\xcf\x00b\x7fY11\x03\xae-\xfb_q\xed\x07\ +\xe7\x0d-\x05\xa7\x96\xa8\xfd\x87)^\xb48u\x00V\ +\x00\xb9f\x96\x05@c\xc0\x10\xad\x04\xc4 \xfb\xbd\x06\ +\x06\x8b\x84\x05\x14\x06\xc2\xa0\x88iz\xb4Fr\xbe\xf0\ +\xbe\xf8\x09\x80JO\xcd\x89\x16\x15\xb7\xc2\x10\x0f\xcfN\ +?%K\x07\x9b\xd5\xa8gn\x96\x95\xd7Ed\x16\xd7\ +\xf9\xa8\x1d\xf9Umn\xf8\xe472o\xbc_\xa7\x83\ +\x1a$\x19\xca\xea\xb5\xee\xa9\xa0r\xe6\x03K\x1dY\xb5\ +'\xcb\x94\xaa\xb2HP\xfb\x1dz\x8e\xf8{\x8cS\xf2\ +\x83\x0e\xe4\x87\x1eu\xe1\xf6_u\x8f\xd3_[%.\ +\x90X\x16\x00\x22I\x12_\xb8\xb1\x1d\xa4\xdd\xa2\xc5\x16\ +q\x85\xe0\x9d\x8dj\x1d\x94\x11\x90\x19Q\x88?\x99\x10\ +yW\xb8Q\x0d\xad\xdau%\xc1\xeb\xee+v\x7f\x1a\ +{\xe5\xf9\xf1!b\xc7x\xb8\xbbk\xcd+\x00\x8c\xa0\ +J\x9e*s\xa0\xb9b\xa2\x82\xab\xb7nq;\xfe,\ +\xdeu\x9b\xcc\x94\xab\xff\xf5\x81\xbf\x8d)+\xe7\xb6\x00\ +\x14\xd5\xcf\x10=s\x0fW\xb7\x91\xcc\x95\xef\xd9\x14\x88\ +\x90Pq\x1d\x1c\x08\x8c\xf3\x13\x91\xecyI,\x10\x00\ +\x00\xe4\x92\x80\x0f\xea3\x81!\x07\x1c\x01*\x81\x08\x1b\ +\xd6\x89\x0a\x81U\x046T\x9eD\x5c\xbd:\x05\x8eL\ +\x87\xe0\xef\xf2\xf3$\xba\x88\x97\x19\x91\xa8\xaa\xa0K\xfa\ +\xbe\xdd\x9e\x1c\x07\x01\xe3\xfcA\x8c\x87i\x09\x91\x98\xb9\ +rS\xc7Dn\xd5\xae\x07\xcd\x89\xb8\x1e\x1c0\xc8 \ +\xea\xc6\x1b\x0f\x14\xc7\xe8\xad\x85\x8a8\xee\xf9\x1c\xcf\xc1\ +\xa6\xb5\xe6 W\xa6\xa0(\xd2\xda\xc2\xd8+\x12\x7fZ\ +\x17`\xc2\xe0 \xb8\xff\xf4\xdc\x12\xc0SAr`L\ +%9\x0ef\x9e\x0b\x07\xc7x\xac\x18\x154T\xdb\xdd\ +\x02\x13=\xa7\x04\xa8T\xc8\x96\x19\x12'\x0d\xaf\xa9\x07\ +$Z\x00F\xd2#\xf1'0j\x15\xda\xc1\xe1C\x8d\ +f<\xe1\xce\x06\xfaPW\xf7\xf4\x90~qY\xd50\ +y\x9e4L\xe6\xd6\x91\xf9s\x96\xeb\xec\x96\x92\xb5\xfd\ +A\xa0Y\xd6\xd2\x00\x18\xde\xe9D\xc5\xbd\x90\x91\xf0\x13\ +H\xe3p\x11\xe1\x22\xd0#\xd1\x03`b\xfd\x90\xf0Q\ +\xd9\xe5\xbe\x90\x98\xb3nI\xf8\x9e\xe1\x9e7\xd6\x0b\x00\ +\x03\xd3 \x1c\xf0\xc1\xf0(a\xea\x00\x98\x22\x1e\xb9\xee\ +\xe0\xa7Y\x7fQ\x11\xd8b\x00j\xa6\xe7Z}\xda\xfe\ +\x80\x1e\xd1\xf0\xb7\x88\xdc\xc1\xfc \x11\x07(\xf3\xc19\ +y\xad\xd7\xdd\xe6^W[\x1a\x08\x22\xf0\xa7\x22\x0d\xb0\ +\xc1\xba\xf6\xd4\x81X\xff \xe4\xf4\xf8QI\xe4\xf3\xd0\ +Kw\x9a,U\xcc\xd9\x87\x0e\xd4'+\xc9\xd2\xe7\xa6\ +\x85a\x1b\xcf=wkL\x00\x02\xdcw\x00<\x9e\x07\ +\xbf\xcf\xba\xa3G\xde\x09O\xac\x03\x18\x0e\x5c\x0f\x15O\ +\xd4\x91\xf1+\xf2=\x9f\x97\xf7!\x91\xe6\ +\xf7\xd9\xe7\x9c\x87\x04\x06\x9c7\x00y0/\xfe\xec\x84\ +\x0a\x00\x03\xea8\xc0\x0a\x14|\x8b\xfa\xc5\xb8<\xfe\x9d\ +i\x01<\x7fZ\x97\x00@\xb9\x9f\xb4:p\xffY\x17\ +\x5c\x1f\xd7\xc5z\xc7\xdf\xe3\xf7\x00\x22y\x7f\xc4V\xd9\ +\xafo\x90%@\x8eWW \xa3\xb5\x8ai\x07\xee\x95\ +G\xdc\xb0\xdbW\xd6\x18=Q\xa9\xc6_ Fg\xd5\ +\xf1\xa8(1\xd7\x19\xea?\xd3\x89\x18\x0b\x05\x00@\x9c\ +2\x12\x8f\x0d?B\xeb\x03\x14\x7f\xdf\xd7\x88\x8b\x0c\xa4\ +Db\x00\xc0\x83X\x94)\xdb\xdd\x9a\xb2\xd4\x92\x09\xa5\ +\x1d\xe0\xc4\xaa\xd3q\x0e\xe2g\xbcNI\xe0\x02\xf00\ +\xf0\xc5\xe7\x00\xb0c\x9cW$~\x8e\xefB,\xf0\x1d\ +\x93\xb7\x8bA\xd2\xed,k\xea\xf9T\xfc\x10\x0b$\xae\ +\x8c\x16\x14\xd4\xe0\x99F@\xa2C+\xd0\xba\xd3\xf5\xa6\ +\xeb\xd5\x8a\xed\x5c?\xd7Z9#\xa1f=\xfcy\x88\ +s\xe7]\xe8\xb8\xe0r\x9f\xa3\xbb\x9a\xf9\x888\xe63\ +\x9d(\x99\x112\xfd\xa6\xb5`\x0e\xb0&\x04\x0c\x15Z\ +\x0d\x0d\x18\x06C\xc3\xf1S\x00\xbfh)\x00\xf4\x03\x8c\ +\xc1L\xa4\xb5n$\x0299y`p\xd0\xf2\x19\x1a\ ++\xacc\x9e\xb7\xcf\xbd`\x90\x90 \xc2\xb0\xf3>\x08\ +\x80F\xad\x00K\xa4\xc2\x0e\x15\xc3]d\xe5>\x1e7\ +L\xbf\xe1\xbc\xa4\x22\xccz\xaa\xf1\xe9\x0f\x123\xc4@\ +\xf6\xdc\xde\xb2\xf2z\xb7\xac\x02\xed\xc5Z\x05\x99\x02A\ +\x88\x02\xc2`\x19\xc5}\xa1\xdd\xf4h\x95El\x00\xac\ ++\xe9Q(pBCoz\xe5\x1f\x1dP\xdew\xa3\ +b%!\x9d{H\x96\x00]I\x80\xbe\xd9\xf7}\x83\ +$\xe2&\x0d\x8b\x95k+\xe0|\xb5\x02\xd6\xc4\xb7\xfc\ +\xbd\xb9%d\xa9\x82\xef\x02\x1a\xf7'\xa6Z]?\x8c\ +\xaf&\xa1\xa7e!\x80:\x18o\xff1$\xc8\xe3\x9e\ +\xee\xba\x1a/L\x0c3\x18\xad\xd6\x96QYG\x9a$\ +\x15\xbeZ)\x8d{F\xfcT\xe7\xe0\xba\xcd\xdfDO\ +9cFa\x1e\xb9\xa0\x16\x22\xd0\x88\xed\xc2\xcc^E\ +\xe6\xf8\xe9\x90r\x9d;\x14{w\x02<\xce\x1a\xb4\x80\ +\xfa\xef\xca\x1a\xd0\x01#\xbc\xbf_V^\xbf&K\xe2\ +\xbb\x14b,\x0eX\xee\xd5pN\x09~>\xcf\x8c\xa0\ +\xdb\x1b\xd3\xb2~\xbe\x97\xa6\xb8\xd6-\xe7U\xecq;\ +3\xd1\x1fM\x9aJ\x06\xd6\x82\x89i\xd1\xf5\xba\x9af\ +\x13@\xe9\xe3\x87\xe9Ku\xba\xc5\xee\x89\x993.\xd8\ +!\xbax\xaa,\xad\xd7[\xcb\xe9\xa5\xf8D|\x86\x13\ ++\x00rU\x05@$\xd6\xb8Te\x5c\x08\xea\x8aV\ +\x86`\x14\x01\x94\xc3h\xe2\x9c\xa6\x10g\xff\xde-3\ +h\xa2\xb0O\x00>\xfa?\xc8\x92\x86\x91\x99@\xd3%\ +d\x09\xa84\x13\x8f1\x920E\x96(\x18N\x90\ +f>$s p\xb0\x1d\xc6\xf5\xad\xe7\xa7\xbb\xbd\xd8\ +\x1di\xdc\x00\x010\x81;\x81\x8d\x13\xc4\xa0\xce\x19\x81\ +\x0a\xc7\x0ee\xf0\x0c\xf7\xa0\x9dj\xca\xd8\x8a\xd3\x15\xa6\ +\xa2\x80\xben\x10+\x83\xea\x15\x95\xae+k\x17r\xab\ +\xf8\x10\xf8\x8cU\x83I\xac@HT?X\xbf\x89\xa5\ +\xc4\xc2R\x82\xb7\xa5\xc7_\xccz\x9cZ9H\xfa{\ +di\xfe9@\x80)\x19\x95z\xfe\xe2\xe4pH\x9c\ +-\x9eW\xb7\xdf\x0f\x9c8?'\xa9$#VH\x80\ +\xbds\xad\xb96\xca\xa4\xa6\xee\xfe\x8f)v\xb7z#\ +\xfe\x22U\xa2\xa1\xc0\xe9 yUSU\x8d\x05\xe1\x8d\ +&)\xb6J\xf9\x87z\xa5N\xbe\xef\xa6\xfb\xe7\xc0\x8e\ +\xa9\x10\x8c#\x8cy\xee\x8c\xcb\xa2bN\x80Lk\x83\ +\xb6\xf9L\x0a\xf4\xf8w\x168\xaf\xfc>\x09\xfb\xa8b\ +[\xd7\xdf\x92\x0d\xd9\x8c)\x00\x0e`Ce\x98\x80\x9d\ +\x80\x92\xca?\x015\xda\x01\x88\xc9\x19\x88\xa9\xd4\xa4\x85\ +\xd2\xe7E\x85\x96\x84\x9dV\x0aW\x1c\x1e36\x8a\xeb\ +\x82\x82\x87Z5b\x858\x10\xfe\x1e\xe3\xfc\xe8\x0dE\ +d\x8a\x04\x9a\x0a\x1b\x81\x0e\x07=\xeb\x98\xfb4\x12\x13\ +\x0b\x00\x08Q?\xd6\x03\x01%\x15B*B\xee\x01\x8c\ +\x0a;-\x0b\x88A9\xe1\x8f\x84\x00FB$\xdcC\ +\xa59\xc4\xa6\x00X\xfe\xe1u\xbe\xb2\xc5\xccf\x1d\xb0\ +3\xfdaT\xb9W\xc7[\x05\x06\x5c\x09\x88\xc0\x93\xca\ +\xe0hn;\x0e\xb3\xa4+U\xfd\xb4\xb8\xf9\xe1~#\ +\x02\xb4\x8d[X\x105tO\xfd\xdc\xa2\xb2\xa6\xde\x0b\ +\x15\xae[]\x96\xc4\xab\x08 \x8e\x1c\xa8X1\xee\xed\ +\x02W*\x8e\x96%&\x11\x15\x1f*\xc1\x88\xbfY\xd5\ +?\xc4\xdc\xae3\xf0IE\x1dF\x06\xeb\x1f\xffh\xcd\ +\x03\xd4\x88#\xe1\xa3\x02\xb4\x81\xd7\x13@\x0b\x09\x13~\ +\x96qhT\xf2I\x04\xf9y\x1f<\x11`\xb0_\x98\ +\x82\xb0\xbb,\xcd\x03\xf6\xc1^\x82\x83\xe1y\xd2kM\ +\x80K\xe5\x81\xca\xf7A\x03\xb2\x1f\xc0\xd8e\xc3\xfd\x9b\ +\x1e\xe9V\x0f\xc4;\xd1\x06 \xd1\x03 d\x9d\x8f{\ +\x16\xdbX\xbd!0\xc4?\xfe\xc9\x7f\x1f\xb5\x5c\xee\x17\ +\xbd\xe9h\x03\xaco\x00\xc4\x15\xf3rzUj\xf6\xbc\ +\xaf\x0e-K\xa1\xbe\x0f\xe0\x000\xc3z\x04\x00\xc3\xaf\ +\x90\xb0\x93X\x00\xacA=\x7fJ\x88\xec-\xa0i\x00\ +\xd0Be *\xd0\xfc\xdd\xf1\x98\xbe%G\xa2\xb0\x04\ +\xc6\xb4\xc8\xf1>\x8f\xf8>\x8e)\xd6\x00x\x00\xb2\x00\ +\xb9\x00\x87$x\xdcw\x00\x89\xd6\x9a20\xbbV\x97\ +\xa5\x8a)\xeb\xcd\xcf'\x9e'\xd4\xf9\xa3dI\xcc\x0d\ +U~z\x16]9\x8a\xca\x8f\xcf\x13\xa8\xb1\x11\x17\x00\ +4\xd3B\xc34\x0c\xa8\xe9\x00\x12h\x04q\x1f\xf1\xdb\ +$\xfe\x00\xd9\xf8m\xe2\x0fZ\x02N\xb5\xb6\xc9\xa5\x1e\ +\xc7\xf9\xe2\xa1u\xac\xfb/Y{\x9f\xee}\xb2V\x19\ +\xef\x0e\x94\xb5\xc2I\x00\xd3n\xad#\xe1\xa7\xb2\x0ae\ +\x17q\xab\x98{\xed^\xd6\x98J\xc1xK\x985\xc4\ +)\x9e^\xc0\x98\xd7hy\xa0E\x88\xe9\x1d\x00\xbcP\ +\x82\x1d?\xc0h\x0b\xb5n\x9fS1F\x93\xd6%\x89\ +\xf5n\x9b\x00-\xfc\x9b\xaf;\x0a\x0dN\x18B|\x0f\ +Uk\x8f\x07d]\xd0:\x06\x034\x12~*\xfbf\ +\x12\xc4\x94\x02\xd6\xb9\xf7q\xcc\xb7g\xdd\xd2\xf3\xec\xc4\ +/\x98\x9cL-\x00xp+\x22=\xbc\xd3MeI\ +T\xd3\x14\xf6h\x91\x00\xd8\xe6\x9cw\x0bK\xc4\x0d\xbf\ +\xaa\xd6\x98^0\xd6\xbe\xeb\x04\x84V?\xee\xbf\x01{\ +\xc6\x8e\x86\x86\x08~\x0a\xe6\x0aL\x15\xcei\x80\x01\xdf\ +\x8f\xc9\xca\x83\x86\x04\xcf%\x18.hV\xb0\x9f\xa0\x1a\ +\xd3B\xc7\x17\x0c\x0e\x0a$\xf2*OJ\xc0\x0e\xccU\ +\xc6\xd0\xfa\x5c\xe8\x97\x95\x19 \xfc\xdft\x9f=\xd5*\ +\xc60\x8bwP\xce\x9b\xfe\xd6b\xfa\xbd\x17\xc8\x8a[\ +\x7fPf\x00\xbe\xf8\x9d\xfe\xcb2OCxFz\x9e\ +\xef\x8es\x5c]\xeeC\xff\x22\ +Yy\xfd\xa8\xac\x15&(,D\x02\xdf*\xc6\xcf\xaf\ +\x05\xc2Y\xe7\x0b\x1a'\x5c\xfc\x88$\x86%2<\xdd\ +e\xe8\xe9\x8es\x85\xe7\x0c\xb3\x0e\x06\x82\x12\xf5\xef\xba\ +%w\x8d\x94\xb8*j[bH\x8c\x05(\x03\xd4D\ +\x1c\xc2\xf9o`*\xb4\xcdx\xfe$\x9a\xee!\x0f\x0d\ +\x06\x0a\x8f\x1e\xfb:\xf9\xb7\xac\xed\x93\x99\xd5\x8a\xad\x9a\ +\xe2\xd47{\x8a\x8a\xe3t\x186\xfd\x9e\xb2\xf2\xba\xb1\ +\xac\xb5L\xc3\x5c\x88s\x85\xf8\x89\x96\xde\xef\x0f\x8c\xeb\ +\xcaC<\xcc\xd3\x16voya\x14\x0e\x19\xc7z\xcb\ +\xe4_b\x06\xf1\xf9\xbb\xf3dI\xc4\x91iW\xe4\x0f\ +\x14\x10\x88\x1b\x00\xe0\x04{\xbe$\xb5T\x90\xb8_X\ +\xa1\xc1h\x15\x8fx\x1cq[\xfc\xe2}\x95+\xd7\x80\ +3Oo\xa8i\xff7jaz\x81\xf8+Z\x9d\xcd\ +\x9c\x09\x0d\x03D\xcf\x9d?t/\x97\xa5q\x81\xe4\x19\ +.tw\xcf\x93U\x8d\x81\xf9b\x94WF\xc2e\xad\ +\xb0C\xbe\xc7\xb4<\x80\x03\xa6$\x04\x00\xe4\x96\xd8\xd9\ +\x99\xdf\x15+\x1b\xbc;W\xd6z\x85@\x12+B\xae\ +\xf1Tg\xc8\xca\xeb\x03\xb2$\xa6BO\x02\xaa\xb0\xcb\ +\x0dc\x0e\xa2\xb7\xe9[~ \xa64\x06\x82\xf7,W\ +P\x9c\xf8T1\xc1[\xebX\xb3A\xfd\x95\x0a\x85\x03\ +\x19\xa8%!z\xc2\x81\x0e%\x0e\x0a\xf4\xf3k\x17\xd4\ +pp\xae\xfa8\x22T#u\xf5\xd8\x90\x04\x16\x1e\xe7\ +0\xb9\xbb\xd8=iN#\xe3\x0e\x1dP\xf4?-\xf6\ +\x93VA\xe0\xf3\x87\xa35\x95:(>\x97W\xac9\ +(\x97\xf5\x81\xbf\xb7%\xe2\xb5\xd2\xbdHZ\xf0>\xf0\ +\xa3\xd7\x07q+Wd\xa2\x07\xec\xce\x1aj\x0e\x1b\xf7\ +\xae\x8ad\xefZ\xc5\x9a\xec0C\x8cQ\x9a\xcb;4\ +\xca\x1d\xea\xd7\xfd\xf92S\xc9\xd7Nc\x92\x08\xa8x\ +\xbe\x04$\xee\x81\x89V\x02([$\xf0\x88\xff\xd1#\ +\x8b\x18\x05\xe3\x10q|\x1c|lH\xbe`j\x80\xfc\ +2_\xdc\xaa\xa3QI\xb1\x18c$\x0c0AH\xb8\ +\xd9\xf0\x0e\xac\xeb|\xdckR\xe0JO\x19b\x800\ +Q\xa8hA\x9d\x83\xb2C\x85\x9c\xc0\x92\x0a:\xe2L\ +c5j\x1c\x05\x07>\xaf\x7f\xb0\x88\xd8O\x07\x95\xfa\ +\xb2\xda\x87\xf1~P\xf7\x11\x97\x22\xa1\xa0\xf2K\x22\x07\ +e\xd4j\xf1q\xfd\x04\xa0\x04\xbc \xbb$\x94$\x0c\ +\x00\x01T0\xff\x8fy\xb1\xa1\xea\xee\xa9 \x81h#\ +\xdaCe\xc4\x89cTT\xd9W\xab:Q\x22\x81'\ +\xe1\xa3\x02\xca~l\xd3\x1a\x86\xff>N\x0c\xd9\xaf$\ +\x84T\xf8\x8dDG\xc0\x0a\xd0\xe7\xc4\xa1?^V\x0f\ +\xe2\xaa\xba\x0b\xc3\xa8;R\x96Tm\x0f4\x95l\xd7\ +j-0\x1bWN\xa9\xb8\xf0\xbc\x99\x7f\xce\xbc\xf9u\ +\xfd{Pva:ld\xb5\xf1\xf1z\xe0z\x11\xc5\ +\x1b\x8f\xcf\xa4\x22\xc2s\xa1R\x07\xd0\x03\xf0\xc5\x01\x84\ +\xda=\xfb\x80J\xaf\xefgP\xca9\xa0P\xd5\xff\x9d\ +\xacQ\x97\xfb\x9deM\xac*\xb4\x07n\x19\xe6Y\xc7\ +~`\xbd\xb1\x9fy_\x00\x0b\x98'\x00\x9c\xd6\xde\xe0\ +\xa0B\xec+\xd4\xefG\xe3\x1a\xa1|\xce\xb3\x16A\x09\ +\x82\x87\xfd\xdc(}\x83\xdfy\xb2\x13\xf4\xe7\xf9\xb9l\ +k\xf16\x80;\xa8\xf2\xf8\x0b\xf6\x05\x80\x1d\x95%\xc6\ +\xbf\xb2\xce\x08DG\x00eT\xa09\x7fH\xdc\xf9\x5c\ +\xec\x7f\x02\x00D-y\xce\x88\xb8\xb1\x0e\xf8}\x12}\ +\xf6\x1f\x01/@\x11\xc0\x04\xc0\x0d\xfb\xec\xb7\x9e\xfap\ +\x8a,U\x0eQK&!\xe1}X7\xae\x10L\x0e\ +\x93%\xffB\xc5\x1e\xbf\x0c`Ek\x0f\x94Y'\x8c\ +\x000\xf8\x89\xb8\x0fT\x98\xb9\xefP\xd0\xa1,\x02\xf4\ +!&\x07\x00J\xa0\x0eu\xd2@f\xa8\xc2\xd3R\xe4\ +V\xb8\x10\xdf\xe3\x1c\x02\xd8\xa0\xb2\xc9\xab\x81\xccH\xa0\ +\xdd\xda4\xd9\xc5\x15\xea;,&\x87\x98 \xf7\x07\xf5\ +ik\xd7Do\xec|Y\x13\xc3\x8a\xfdm\xbf\x1d\xd3\ +%\x1cp\xf7\xb3\xb2T\x09\xc7/\xd3b\xc7\xfd`\xbd\ +\xd1\x02\x81\xff\xe7\x95y\xd0\xec/\xae\x8f\x00\xfdh3\ +)\x01j8\x1f8\xb7\xddR\x19cv\xcd\xd4\x8c}\ +\xee\xb1\xb2|ND\xb4B\xed\xdfS\x92\xa2\x22m\x8a\ +?\xe2\x8e\x00\xd7\xdd\xe7e\x89\x99a\x0d\x84\x00\x80\x19\ +w\x06\xb0\xea\xf5\x11-\x9fh\x1f1\xee\x8d\x1e~\xfc\ +\x0e\x0cC*\xed\xd6\xfc\x898\x03\x7f\xce\xd4\x0f\xe2\x18\ +(\xc5\xee\xfd\xe7\x9c\x0f\xc6\x01\xe3vi\xa9\x84\x81\xe0\ +\x1e\xdd\xf0\x9f$\x90h\xec\xc0\xd0\x80\xfa\x8f\xa8\x22\xf1\ +\x02}\xd0R^\x00\x00 \x00IDAT\xda\x13\xdc\ +O\xd6!\xe7\x0a\x00\x00\x05\x0bS\xc4\x038'n\x81\ +\x81\xe11\xb4\x93\xf9\x93G\xd5:Q|\xca\xeb\xab_\ +9y\xdeIU\x04\xee\xc8b_K\xe3\x17\xef\xab)\ +\xcbP\xb1\xbf\xbe\x8d\xc1c\xfdv\xd7\x15\xbb\xd6\x09\xda\ +\xc7\x93h\xa0\xa7\xd9\x84\x06\x06\xa2\x94\xf6\xa35\x01\x16\ +\xb3\xee\xf9\xb2\xb2\xce\xd7\x94\x95\xef\x0f\x90\x95\xef\x1f\x90\ +5?\x11\x15j*\xa0|q\xee\xb3n\x89'y%\ +^\xa0u\x12f(\x05\x17\xc1\x09\x7fjq^\x7fh\ +\xb1C\xdc\xd3\xfd\xe5&\xc6\x16\xe2\xe1\xb4\xc6\xac[O\ +\xeeV\xa0\xf3:\xedO\x90\x95\xd7g\xc8Z\xde\x82h\ +\xea\xf4\x8d\xb2\xf2\xba\xc2P\x98\x8cVg'\x94\xfd\xa7\ +\xfb\x83\xfaO\xb7\x82I\xad \xff\xd0\xf9\xcb\xda\x89\xe9\ +\x01s\x16\x0a\xbb>\xdd\xe1\xe5\xe7\x96/\xf6\x94\xa4\xc5\ +\x80H\x1f\x22\xbe\xac?\x00^\x80i\xce\x1f\xfc<\x22\ +\xda\xf6\x03Q\x91wO;-\x01\x11\x0f[\x1c9\x98\ +J\xcb\x0d\x1aC\xfd\xa9\xb26>/\xd4\xe8\xc9\xcf\x10\ +\xd5\xb38n\xb4\xf4\xaed-\x03\x98\xdb\xc4mLi\ +\x01`\xf79^5\xc7\xde\xd1Z1\x829\xe6\xfc\x07\ + r\xbay\xf9\xdc\x9b\xd7)\x18\xc7h\xdaE\xb7\x96\ +\xac\xb5\xc2L\x7f\xe0\x8a\xbd\x192q]\xb4\xc6\x18\xf0\ +\x02x\x8e\xfb/\xef\xbb\x9c[\xd8\xf7J~\x15M\x11\ +\xe2|\xfc\xb1\xc4\x84\xaf\xa8\xe7H\x15O\x9d\x1ej\xe0\ +\x1dF\x01\xfe\x97VO\x80;\x18\xd9\x8b\xcb\x1e\x87\xa9\ +N\xc1\x9a\xf7\xe7<\x06\xf0f*\xd5\x8b\x87\xe9\x03c\ +\xd1\xd2\xda\xbaT\xce\x85\xfe\xbfd\xe5\xfb\x8ddMs\ +E\x12\x85\x12)\x9c\xad\xaa\xffw\xb7\x1b0\xb9ZV\ +\xf6\xe1\xfa\xb2\xf2\xba\xb1,Uvp\xa4\xd6\x08\x88\x00\ +\x90\x079\x1a\x0f\x16\xd4W\xc6\xf78\xe0\x10a\xa5\x02\ +\x0cS\xb7DCI\xf5\x02\xa7\x07$(Z\xa8\x80\xbb\ +b\x17\x95m6\xc0R\xb5f1 \xc0\xab%\xc7\x0a\ +\xf5\xd5=\xa9\x11\x80\x10\xe8\xc8\x0d\xfd\xd3\x89\xf7r\x0b\ +\x88&\x0d\xc0\xc4^\xc3\xd8\xab\x10\xa7\x10\xd5fm\xab\ +\x9a\xfe#\x89\x80\xe9`|F\x12I\x22\xb1!\xb0\xd5\ +\xf6}B\xa2\xcc\x1f^\xadU\x1e\xfd}\x88\xa5 \x92\ +\xa44\xfcii\xac\xa0\x81\x91\x8aS\xffG\x0bX\xba\ +\x17\x14[;9f\xa8Cr\x0bB\xc4\xf7+\xf6\xc9\ +\xa4\x06\xec\x0an\xed\x89\xdb\xbfQE\x82\x8a\xa7\xb4\xe3\ +Y\xa9'|$\xe2\x12=ht\xb4\x03\xb8\xb4\x04g\ +\x08`\xef\xa9:\xbb\xc3\xc2}z\x0aXH\xecH\xb0\ +X'\x88by\x81\xc6\xb8\x11Z\x02\x1c\xa8\x90\xb8\xc7\ +F\xe1\xe0\xa02\xca+\x94|\x0eR\x124\x8fK\x0b\ +\xb1@\xad\x96\x15R 9\xa2\xacGB\xc0\xf5\x11\xa0\ +\x8d\xc7\x91\x01\xa0@\xfd\xa5\x92<\xeeMb\x9d\x918\ +q B\x89m\x22m\xc3:B\xccj4g>\x1c\ +\x06j\xe2\xccM\x1fO?\xe0s\x13\xa0s_\xf8\x5c\ +\x5c\x1f\xcf\x05\xe4\x94\x9f\xff@\xb5F-\xe5@d\xbf\ +\xfb\xbf\xd3\x1a\x14\x08\xfd3\xfdy8\xc89\xc0\x1d\x00\ +#\x06\x15\xfbd^\xe8b\x0c\xcf\x8b\xfb\x01\x15\x9f\xcf\ +\x87z9\x00\xe0#fFx\xdc^\xff\xdd\xfe;\xfd\ +w\x92\xe6\x08j\xf7G\x0f\xbd\xd9\x93o\x0c\x22\x7f\x11\ +H\xe2`IH\xb9/L1x\xf70F\x11*\x1f\ +\x15\xfbH\xfc\xdb\x9c\xf8\xc1\xef\xb0\x9e\xf9\xfc$rT\ +b\xc7\xc0\x08\x00\x0d\xcf\x89\x9f#\x01\x03\x10b\xddA\ +=\xe5`D\xdc\x12\xbf\xe1\xf57\xfd\x97\xac|\x7f\xf0\ +\xa0\x0e\x1d\x89\x0a\x80\xd6.\xb2\xf2:\x19Z6&\xbf\ +p/\xec\xf7\x87\xc4,\xc6\xf7\xec+Ks\xdc/1\ +\xc5\xf4\x89N,Q5G\xd4\x8b\x16\xb1-\x87sc\ +\xfa:SjQ\xfdv\xaf.\xeb5\x12Q\xf6\x11\xcf\ +\xf9\xd6Ak`\xfac\xbf\x0f\xfb\x11\xa6\x0a\xda\x1c$\ +D$\xba\xac{\xcf\x03\x8fJ5\x94k\xf67@\x17\ +\x0c\x0e\xf6\x05~\x05\x00\x86\xe7\x04pI\xc0E\x85\x96\ +\xc4\x0d\xff\xc1\xfamT\xfda?\xf3w\x01*aR\ +\x80\xf4\xf3=\x8c\x04\xfc#\xe3\x91~\xeb\x16\x07Z\x89\ +\xb8O\x97ZTn\x0dO\x19\x80\xa1\xe6\x96\xbb\xa8\x10\ +\x1b\xc0\x8bJ;\x9a\x0f\xec#\xc6\x8aB-\x86\x91\xc0\ +\x18EWb\xe2\xba\xb8?TH\xd1\xe2\xe1\xf7\x01.\ +`\xc2\xd1\x8bO%\xca\x0c\x9e:\xcd\xe7\xc3)1\xf3\ +>\x8d\xfb\x0dpB+\x1c\x1a\x00\xe3\xca1\x81\x16_\ +\xb4\xd2\xb82\x1c\x09\x1a\x7f\xd7\xe7a0L\x00\x0a\xa0\ +\xae\xbb7\x9f) U\xf4\xec\xceT\xb93\x80\x11c\ +\x5c\x99\xba\xe3\xf3%\xa6'p\x1e\xc0l@\xf4\xef\xab\ +2'lG\xa6s\x8cx\x8a\xcf\xcb\xfa!n\xb1\xff\ +\x8b\xc4\xd3\xfe\x8b\xfb\x19\xfe\x0b\xa6\x1f\x9f\x0b\xb1)\xc6\ +\xac\xb2\x7f\x00v8\xef\xcd0\x88\xebv\x01h\xb2\x93\ +\xac\x8d\xcd\x0b\xad%W\xec'7\xca\xd2\xb4\x06\xaf\x8b\ +\x10+f:\x07\xf3\xb9Ip\xd0|\x82\x99\x86v\x91\ +\x03\xf7h\xf9d\xff3\xa5\xc1Z\x14\xf1\xbc\x1c\x97r\ +_\xa35\x81\xfd\xed\xc0<\xc4\x85\x89\xa7\x08\xd4at\ +\x22B\x08\xa3\xd4\xf1i\x8c\xbbE\xc3\xc0\xad\x22q>\ +\x8e\x81&\xfc4\xad*\xb4\x90\xd1\xaa\x02\xd0\xcc\xfa@\ +#\x80V\xd9\x8b\xecg\x1fZ\x90\xe93\xd9v\xb2\x8d\ +\x80\xef\xee\x17\xdd\x99\xdd\x99\x89a\xe8\xca\x1f\x22\xc9\xb5\ +a\xf7\xea\xe6\xa7\x00\xc0\xbb\x97\xc9\xca\xeb\xb6\xb2\x16\xb7\ +N..v\x91\xf3\x80\xab,>vH\xd3\xca\x917\ +\xae\xfeX\xfe\xa5\xf8\x83\xb9w\x17{\x97+\x9a[5\ +\x8av$\xdc\xc4\x0f\x9c\xaf\x00\x8d0\x99\xb4\xda\xbb$\ +*\xcd\xfa'\xae\x19\xfbS\xc6\xbb2\x9d\xc5\xeb\xb0\x8a\ +\xf1\x1d\x97\xee\x13\xe7\x8c\x19\x07\xa8\xf6\x93\x98\xc6zA\ +\xac\x93x\x99\xfb\xef\xf3\x18\x11\xe4\xe8M7\xd3d\xba\ +\x86,\x8d[\xa6\xd5\x11\xb18\xf2\x224y\xce\xd4@\ +\xdfZ0\x19\xc69J3`\xe7\x06\xfc\x85\xba\xbd4\ +\x05\x04Xt\xb2\xd4\x1a\xed\xd7P\x91\xf7>%?\x99\ +\xf7\xfejm\x1c\xa9\xe3\xda\x92(o\xaeD9\x98\xaa\ +P\xfd_*Kby\x87\xcb\x1a`\x87\x86\x06\xad\xcf\ +\xac\xc7\xca\x88\x9eIq\x15\xe7\x15\xe7.~\x9f\xd6A\ +\x9e\x07\xf1\xad\xb5%\xf0\x07\xc10|\x8a\xe3H\xf6#\ +S\x9b^!K@\x1e\x001\xef\xff\xderz\xbd7\ +M]:x\xf0+\xc1\xf0Z\xd5\xe73\xd4{\xb4-\ +(\xb4\x1eT\xe7f4-\x12\xb7\xb4L7\x93\xb5\xd6\ +\xde(\xe4\xbe\xb7\xbec0\x16\x22^{\xb1\xef/\xaa\ +\xfb\xf8a\x18\x92\x007\xf6/0\x15\xc4g\x15\xa3\x15\ +\x0d\x84\x88\xf3\xc8+\x0c\xbc\x87\x9fg?\x99A\xc7\xfa\ +\x86i\xd7\xfdZV\xd6\xed\x99\xb2\xf2\xfdN\xb2\xf2\xfd\ +A\xb2T\x18\xf5:\x9d\x0dj\xcf]\xb2\xf2\x0b\xfb\xc9\ +\xca\xeb\x07\x8a\xed\xd4\x02\xf5@$\xe9-\xf0\x02\xa9H\ +\xca\xd9M\x0c\xa4\x0e\xe3\xdb:Q\x1f\xf6\x90\xa5\x1eN\ +D\xe3\x9e\xe6^:T\xe1\xe9aX\xc7\x94\x05DD\ +\xdc\xb3\xd4\xbdFV.\xe4g\xb2T\xd9f,\x02\x07\ +?\xd4k\x1c\x0c\xa2$,D\x12\x1b\x90\xa5_Z\xf4\ +E\x14\xb9\xab\xd3\x01K%\xce\x95\xce\xe8\xd5\x86j#\ +Gy\xb1U\x88\x9f\x9c*\xb2\x04\xe8\x04R KP\ +\xf9\xd5a\xb2\xa5\xd5\xa2\xdf\x92>\x8f\xd2\x84\x07Rb\ +\x808\x0d\xad\x0eP\xd8\x08\x1c\xe8\xed\xd7\xdc\xddG\xda\ +\x98\xbd\x8a\x9b\xdf\xf08\x14s\xf7\x82\x05\x00\x02\xa5\xd7\ +\xe3~\x22\x11\xa3\xf7J8\xf71Is\x80\x84F\x1d\ +\xd7\xe7>NBI\x05V\xb8\xe3\x9a\xa9B\x8a\xf8\x15\ +\x88\x1a\x09\x12\x9f\x83J/\x07\xfbx\x9e7\xaf\x044\ +\xcc\xa35P\x11\x22@\x04HcF\x02\x7f\x7f\x5cy\ +~Ju9\x0d\xa9\x1f\xef\xc7\xbe\x18\xf7\xd8r_p\x10>\x8cA\x8b\x04\x1c\xff\xe8s\ +9\xd4\xe0I\x84]\x89\x0f\xe0\x82\x84\x9f\xf5\xc0\x1c{\ +\x80Z\xd6'@+q\x0d\x9a#\x04\x9e\x0e\xdc\xe6.\ +\x97\x95\xbf\xbb\xf50v\x15\xca|\x00(\x16\xd3\x9c~\ +T\xd6ZY\xa8PE\xa5\x8a\x8a\x8f\x81\xf8\xb8\xbeq\ +\x02\x07@\xcc9@\xab#\xc0 ~\x0bj3\xad\x12\ +$\xa0\xd6\x84\x08J\xb7\x13\xe1\xa8\xc4!B\xe6@\xb6\ +_E\xd6\x80\x84\xc0\xe5\xa9\x10R\xf8\xa0\xa5\xc8\xfe\x15\ +\xf1\xd0\xa0\xbc\xef\xe68\xc5c\xa8\xa6\x0b\xcb\x9a\x08q\ +T\xcc\xd1\x14\xe2\xfes\x9d\x8c\xfb4\x03pr\xbc,\ +M/\x01\xa0\xe1\xdfy\xff\xfa\xd5\xb4\xa9b\x9d\xb3/\ +\xf7\xb7\x88\xdf\xff\xca\x92\x08\x1c\x15a\x18\x99hI\x10\ +\x17\xc3\x1c@d\x17J?c\x05\x89\xeb\xd0Z1\xb3\ +\xaaj\xef\xff(1\x03\x010\x10q\xfc\xe1\x00p\x04\ +@M\xe1\xcb\x22\xd0\xd1\x1ak\xed\x9e\xf0\x0f\xc4u\xbc\ +\x9fD\xf1\x9e\xe5\xf8\xe4}\xa90\xe2\xb8w\xe6nY\ +qC\x1f/\xf61\x03\x0b]z^~\x0e\x9d\xbe$\ +b\xbd\x9a\xac\xbc\xae,kq\x0eL\x01\xa8\xf6\xb4r\ +L\xbe K~\x99\xf8G\xebd\xd3\xd4\xb2j\x805\ +Z\xb0\xd8\x7f\xc4\x9f|n\xc7w\xd1\x9aE<\xc1\x17\ +\x09\x1a\xfb[u\xd3MM\x11/~\xaa;VV\x1e\ +\xfb\xcfe\x0d`\x8b\x04\x8c\xfc\x81\xf5k\x11\xcc\x10]\ +sB\x15\x8c\x86\xb5\x8a\xa9\x10\xb9b\xb1\x95Z\xa1\x8f\ +\xcf\x0b`\x10\x09<~U\x05%U\xf4\xd7+&\xf5\ +\xf67\xc8\x92\x06\x0a\x09#\xe7\x01q\xb3\x99E\x8c\xd7\ +\x0b&3\x22n0'\xdc\x02\x0c\xa3\x00F0\x15\xec\ +\xd0\xac\xa0\xf2\xcd\xfd&.V\xe1\xeb\xc4v\x1e\xa3\xd1\ +\x11Zn\xe2\x1f\xbd\xa3\x8e\xa5;D\xa2\x80s\xdf\x96\ +\xb5\xfc\xac{\xb6\xac\xe5y1\xf5\x83qx?7\xa0\ +,\x98\xf6\xee\x04\xc8\x9aq\x01\x90 %\x80\xca\xc0p\ +\xfe\x17\xf1?q\x09cT\x17\x91\xb5)+\xf1\x1c\x01\ +\x94\x99^\x02#U\x1a\x1f\xa7\xf8\xfc\xd9\xb8\x15Ha\ +\xacP\x08 ?\x8b\xf3\xc7\xf1VLqP\xbd\xffs\ +U\x04\xbeN\x9f\xd0\xd0\xc9\x0a\xb0\x18\xa0\xec\x0f\x935\ +f\x95\xa4\x13%\x9e\xd8?Q\xd6\x80O\xc6/\xe2\xf7\ +\x03\x00EC\xc4q{L\xcdc\xfc<@\xfb\xef\xbd\ +\x0f\x00\xbe)H\xf9z\x83yF<\x84?\x05x\xe1\ +|q\x5c=\x8b8D\xa5\xb8\x94\x0d9\xf7{Y\x1b\ +C1\xbbF\xb1\xd5\xbd\x91~\xe6\x03\xf6\xe0\x14H\xb3\ +1\xaf\xa9)\xbe\x12\xa1z0w\xcf\x92\xa5\x0a\x00\x89\ +\x9dEc\xe2 #\xc1\xd8g8H\x83*\xf1\xb3\xc1\ +\xe1N\x9ffD\x8d\x00\x98\x0b\xe3d\x22@\x02!#\ +\xd0\x81\xfa\x06\xb5Ju\x9f\xbf=\xce\x18(\x02b\xfd\ +\xd5ERk\xc3\xadU\xe7\xb1U\xb4u\x5c\xed\xd4\x10\ +\x1b\x1cc\xf7\xa7b\x97\xa7\x1b\x0f\x02\x0a\xb2DE\xc9\ +*\xb4\x15\xc7\xbe\xcc\x81\xd8R^\xe8\x0b'\xc7g\x04\ +4\x02F\xdd\xa5\x8f$G\xc1\xc1c\x15\xfc\x9a\xe6\xdc\ +\x93\x025*\xe1PIF\xbd\xac\x15\xf1M\xe3\xd2j\ +%\xe2\x0f>\xf8\xce\xf3\x01\xf7\xda\x94\xa8P9\x80\xb2\ +#7\xf2\xd3\x84\x14\xe2\x88U9xwBp\x01\x08\ +\xa8TB\x81\x06\xf1\xe59\x92(\xf1\xf9\xe8\x8d$P\ +]b\xa4rM\xc2\x82\x03\xe3\xdf\xf9\xe2\xfa\xf9\xfc|\ +1u\xc2-$$D\xa1)\xa04#3\x0dTw\ +\xbb7\xdd_\xe66\x13\xa8\x90\x10\xa0F\xeey\xc9\xb4\ +\xbaD\x02\xe6\x0ad\xa8\x01\x8f{z\xb9.(\xb2n\ +\x19\x80\xe2\x1f\xe2\x90$\xf8\xfc>\x09\x0d\xc8\xa1\xd7\x7f\ +0\x08\xac\x92\x1b\x0e\x80\x96\x1c\x0e\x18\x00\x18\x80\x15\x18\ +4$\x1a\x0by\xfd=\xe8\x04\x0a*\xfc\xffx<\xcb\ +yV\xc5\xa6'\xebk\xb2T\xc9\xda\xdc\xe2\x81\xf4@\ +\xb3\x9e\xf9<<\x7f\x12S\x12a\x10Q\x80\x0c\x128\ +\xa8\xc8T\xaa_8T\x06\x99\xc3\xdeo(K\x88\xec\ +\x0bSo\xdc\xaaiZ\x09-C\xa8k\xa3\xbeL\xaf\ +2~\x86\x0a\x10\xefK`\xc3}\x02\xf0\x22\xf1G\x1d\ +\x9e\xde6\x1c\xf6\xa8\xf5!\xae\x1b\x80\x83\x84\xb9\x01.\ +Cb\xb2\xe9h\xfd\xd3\xd21\x9e.\xc1\xbf\xc3\xb8!\ +!\xe0\xef\xf3\xc5\xba\x19\xa9\xaa\xc7z \x81\x04X\x01\ +@\xe2\xb9m\xec\x03\x84\x8a\xd2\xf5\xb2\xe4\x97Pe\xe7\ +}\xa8\xc8Q9\xb3\x9f\x8e\x9eZ\x80Z'\xa81\xfd\ +\x81\xdeq\x02\x10>\xef\x83\x1e\x17\xfbbW\x1e\xb8o\ +\xecK4)`>l\xeb\xc0\x1f\xed\x94+-\xbe\xf9\ +E\x8f\xaf{\x9e\xcf\x0b\xae\x9b\xfb\x0a0\x0c\xd0\x91\xb5\ +V\xeeL~~<\xc5\x81\x00\xcd\xd7\x01`\x1a\xc0\x00\ +\x14g3e\x00\xce\xe2~\xb5V\x81\xc5\xaa\xffB#\ +\xe2\xef\xbe\xbfwx?\x00l\x9b:8y\x9f+\xc3\ +L\xa1\xa0\x82\xc0}\x04`\x18k\x13\xf0\x5c\x11\xdd%\ +\x11\x80)F\xc2D\x02\xc3\xbe\xf585T\xa8\xe3<\ +\x07@\x84\xa9\xf4!\x8b^\xd12H\x0b\x02\x15)\xfe\ +>\xcc'\xc6|9\x91b\x9ew\xa8;#\xd6\xc6y\ +\x8e\xffG\x85\x9b)\x10\xb4\x10\xf8\xfd\x18\xdbY[\xe0\ +\xf6k\x14\xf4\xf8\xde\x15\x94`\xe8Q\x81F\xc5\x7f\x8f\ +\x81\xb2\xdb\xcf\xc8\x92v\x0aTbM\xcdY\xa8U\xac\ +\xa6\xef\x94\x95\x9f?Y\x96\x0a\x10\xcc=\x87!HK\ +\x1b\x09%\xe7 \xfb\x19?\x01P\x0c\xa0Ib\xc5\x94\ + \xc6\xf6\xc1\x10\x82i\xc3\xd8@\xc6(\xd2\xe3\xee\x8a\ +V\xfc}\xd65\xaa\xe3fh\x00\x0c\xc4\xf9\xe3\x0a|\ +h\x05\xb0\x8f\xddZ\xd5\xed%\xabZ\x0a\xc5\xdayN\ +\xe50\x12\x12W\xfeb_\x03\xb8\x1a`B\xa4XJ\ +R\xd2\x92\x8aV\x15\x12h\xf6+\xbf\x87\x9f\x1b\x03\xab\ +\xacw\xe2B\xd6/\xaf\xacK\xb5r^\xd5z\xea\xa3\ +E\x86\x96\x0e\xaf\xe7\x00V\x5c\x88\x8a\xb1\x8e[\x0e\x0c\ +\xa8\xaa\xb1\xb4c\xf9\xfe?\x87^\xe0\x00\xde8w\xd9\ +g\x8c9\xfc\xd1@]\x9fw\xb0\x99\x0a\x0f\xc9\xd2T\ +\x00\x18\x15h\x0e8\xce.^\xa5\x8e[\x8e\x96/I\ +E\xefl\xe0\xee\xa6\x94\x08\xf9}\x18\xdb6{h\xb1\ +\x92\xc0uGt\xff\xaf;\xa2\x89\xc1N\xae\x955\xd1\ +\xeaH\xfc\x17\x96\x95\xd7{d\xe5u\x1bY\xea=g\ +\x9d\x11\xcf\x01\xbcn^O\xfe\xc6\xa4\xa0\xd5\x0c\xb5v\ +Z\x7f\xce\x95,\xaa\x0br\xe7\xa7\xfdDA\x07\xff@\ +!\x04\xbf\x0b\xb0\x8a\xd8\xab\xc7\xbeNv+\xb6\xbb\xb5\ +\xbb\xca>\xe9\xd6-V>\xcf\xcc\x8d\xb2\xf2k\x87\xcb\ +\xdazG\x9c3Z\x00\xad\xbeN\x1c\x11\x8c\x00\xce\x13\ +1\x06>\x9b\xf2\x13\x00M\xb4\xd0`v\xc0\xec\x22\xee\ +%1c\xda\x17\x85\x1e\x18ehe\xb9\x87~b\xcd\ +\x9b\xd0\x10\xf1\xf9L\x02\x1e\xe3\xd5\x89C87\xec\xa7\ +k\xaf\xf7\x8b\xd3\xb4\x0f\xee\x97\xb5\x12\xa2\xd5\x81\xd6\x22\ +\x8b|\x87V\x04\xcc`\x8f\xfb\xac\x0c\x87r\xde\xcc_\ +\xaf\xd8\xfam\xddu\x97\xcb\xca\xba\xdaEV\xee\xf3\xa6\ +23.J\x9c4\xf3\x17Y;\xa7\xfa\xcde\x0d\x00\ +\xe9\xffT\xec\x8f\xc9?\xb1\x9e9GO\x9f\x9e1=\ +=\xc5Q\xecc\xc6n\xbb\x00U{\xf8u\xde<\x5c\ +\xec\x11\xb7\x06\xdf\x97Z\xd5\xd4\xf0tT\xca\xeb\x88o\ +\x897Q\xd3\xf78\xbe`,\xc2\xdcf]\xc3\xfc\xeb\ +jI\x22\xfe\xbd\xbfTV^/\x19\xc6g\xc6\xf4\x83\ +\x83\xad\x95\xf0d\x8b \x22\x8a\xebV$z\xf2\x83\xe1\ +\x84V\x13\xcc\xa6\xeddu\xdd\x0f\x09\xfe\xb7\xcd8\xf9\ +\xbc?'-\x10\xb4\x88\x18\xa0\xa4U\x0a\xad\x87:\xee\ +\xf0\xf6\xf4=\xd3#|\xae\xce\xf6\xd7\x17\xbb\xcec\xd1\ +\x9eh\xa4\xaa$\x883\xbf\x95\x95\xef\x9f++\xfb\xf1\ +PYSy\xed\xbe_\xec{\x8dj\xd5\xfd\xad\x98(\ +F\x87\xcbZOD\x04\x1aT\x96\x5ci\x08\xb1\x9e{\ +=\xff\x18\xf1\x97/Y,\x86\xca\xddQ\x16_qb\ +\x17c\xac@\xb6\xd9p\x04:\x1c\xa08\x0e\x02~*\ +R,\x00*RPT|\xa3B\x0d\x9e\x04\x89\xc0\xdb\ +\x81W\xb7\x99\xaci%\x84\x08\x8c\xc7mM_a\xf5\ +K\x8b\xa3E\xaf\x9e)z1\x16\x04\x04^j\x8eY\ +\xedt\xdcK\xbad\x1d\x08\xd5\x0e\xea\xd7\xd4\xae\xd6&\ +z\x22\x07\xf8\x1f\xad\x872\xd4\x1e\xe5v_\x96\x00\x05\ +\x90p\x85\x89\xaf\xf7A\xb8d\x9a\xab*q\x96\x0bS\ +`K\x22\xc4F\x01\x89\xbb\xa9\x86\x90C\xe0}\xa9\xa9\ +W\xb7\xa6@\x98\xfb\xc5\xc1G\xe2D\xa2\x04r=\xd2\ +\x8c\x08\xc0\x80u\xf2\xc4\x91\x0a\xf68\x91\x22\x00\xa4B\ +\xd2\x8d(\xc2\x8bE\xa5y\xc1\x0a\xecH\x5c\x0b\x87\x1b\ +\xe2\x198\xde%*yq@T_\x9d\x98\x18$\x92\ +\x00_\x888\x01,\xd1\xf3\xcfu\xdchG\xcf:d\ +\x9d\x92\xf8\x8e\xe7cC\x85b\xbd\xb3/<\xee\xac\xfc\ +\xdf\x00\x04p\x00\xb0\xbfx>P+u\xc0\x9e\x9bZ\ +Apd$\xb4T\xc4\xc6\xe3\xce\xa8\xb8s\xffY\x87\ +<\xa7\xcd-\x8e\xf81\x07\xb4\xde\x9f\xa1N\xcc\x81\x04\ +0\xc1z\x1aU0\x03\xe0!\xd1\xe79\x8d\xc5\x02\x9f\ +\xe0\xe7\xb9\xb2\x13S\x00\xb5\xbbL1w\x80=\xbdm\ +\x10\x05\x9b.7]v\xbal\x13A\x81z\xa9\xf0H\ +\x01R \xfd\xaeh\x05`C\xe2\xc3>\x01\xe8a\xff\ +zJBP\x89Y\xaf$\xee\x5c\x1f\xfe\x88}\xc0\xf5\ +6\x06\xc4p?y\xee\xdco\x98\x040;xN\xdc\ +O\xfe\x0e\xd7O\x00\xcc\xfb\xe3Oy\x9e\xf8\x0b\xd6\xc9\ +HD)\xd6\x0d\x9f\x87\xf7g\x1d\xb3\xdf\xd8g/w\ +\xa5\x8c\xfd\xc2\xb4\x03Zc`\x86,lf\x8e+\xa4\ +A\xe9C\xfc\xebR\xf7\xbcy\x8c\xe4daY\xabd\ +\xd5\xb1<\xbb%J#L\x0d\xfb\x91\x10\x11\xa2\xc2\x87\ +\xca\xf1\x9c\xaf\xef\x22\x1f\x8c\xa7[|\x91\xfb@\xc0\xc6\ +\xd4\x0c\x8b\x98\xc5}c?\x93P\xb2?\xc6\x95~\x98\ +\x09\xack\x02\x14\x80h\xee\x17\xfe\x87\xbfC\xeb\x0c-\ +\x00\xbc/\x80\x0b\x09\xd8u\x03U4\xfc\x03\xbd\x94\xf4\ +\x8aR9\xe39]o\xffB@\xf9\x90\x01\x85\xe5\xfd\ +\xb9\x10\x1d\xda\xd8\xf7\x03\x95y\xab\xdd\x878\x1b~\x9a\ +J\x01\xfb\x97}\x89_\xa2\x82c5{\x12ST\x8e\ +\x11\xb9\x0d1E\x12_Z?\x00\xc29\x9f\x01\xea\x01\ +\x0e\x10\x85\xa30p\xb9,\x9d\x03|\x0e\x0a\x17$\xf4\ +VS\x0e`wEY\x13mD$\x13\x8a6\xcc\x82\ +h\xdd\x03\xf8\xb1_\x9a\xbeH\x96\xce\x033\x16\xbb\x03\ +d\xe5\xf5PYK\xdc\xe8I&\xd1\xed\xef\x9651\ +\xc3\xe8\x19\xc6\xdfyL\xefc\xc6\x1e\x8e\xa7Opn\ +\xf8\xdfc\xff9~\x08\xca\xbe\x03\xfe\xc9\xdbdi]\ +\xf2\xf7\xf0s\xac+\xd6\x05b\x9c\x9c\xcf\x9c\x8f\xec\x13\ +\x8b\xce\xc5zu \x1c-\x01NX\xe7>\x22K\x89\ +\x1e\xad<\x88\xb4\xa11\x010A\xaf\xbc\xa9\xe9\xb4\x8c\ +\xa1!\x10\x00!\x091\x00\x15@-\xeb\x14\xaa\xb0[\ +\x89\xa6\xff\x18\xa6\x1d\x94\xf7\x1cT\xcf\xdd;\x1c\xa2\x87\ +\xecG\x0a\x1b\xc7{\xbc\x9f\xcf\xcd\xe8\x09\xbf\xc8b\x89\ +\xd7{\xcc\x1d\xe7\xb9\x0b+q\xae\xe2\x9fH\x88\xa9\xfc\ +\xb2\xdf-:X\xaey\x00\x0c\xdc\xeb\x1d\xad\x04L\x8f\ +BL\x89\xa9<\xcf\xb0\xfa\xff'\x07\xed\xa6\x10\xfd\xb3\ +\xbfd\x1dwGwGuG'\xc6\x81\xcf1\x12\xf8\ +\x99=\x8a\xed^\x13\xff#\x94\xf8w\x8b\xc9Rk/\ +\xad#\xbe?\xddU\xb2\xd6\xcb\x8c\xe8e0-\x98\x02\ +CK\xd1\xcf\x8a\xa9b\xfbCY\xd2\xb8P|\xf8\xbb\ +\x16g\x06p\xa9\xde\xe8\xafy\xbf\x1e\xe8D\xea4\x8b\ +\x04\x9e\x94\x00\x01\xa5y\xe7\xa4\x84\xc8\x0c\x9fH\x00\x89\ +\x97\x5c\x01\x9d\xee-\xf3}=\xb3i0\x04#\xc4\x0c\ +\xda\xee4Yc\xba\xf4K\xcb\x1a%\x08\x1fN\x95\x15\x16*\x1f\x84J\x13\x1fh\x89\ +\xd1\ +\xf7m\xac\xa6\xcf}\xa3\x92D\x22D\xc5\x13\xd18\xa8\ +\xf9\xf44\xaf\xe0\x04\x07`\x8f\xdbiq\xcd\xa0\x1c\x7f\ +\xc5\x07'b'h&p\xfd\x5c\x0f\x01\xae\x01\xc0\xa8\ +\x84\x12\x10\xf3\xfc\x96\xf1\xf5\xade\xad\x12\x8f%+\xe1\ +\xfdJ\xd3\x95\xd2x\xcac\x5c\x99\xa4\x07\x8aD\x8e\x0a\ +\x0e\xd4rz\xabLm\x8f^P\x12w\x9e\x07\x0c\x00\ +>/\x81\x19\x013=\xe8\xf8\x11\xee?\xeb4(\xfd\ +^\xef\xfc\x1d\xfe\x1d\x80\x81D\x89\x03\x01\xa4\x9b\xdf\xc7\ +/\xf2\xb9\xa8\xa4\xd3\xeb\x0e\xe3\x09\xc0\x8d\xbf\xc3\xfd\x04\ +\x00\x18\x8dQ\x8a}\xc1+\xfb\x06\x00\x82\xf77\x13\xa4\ +\x1c{\x15\x80\x8a\x04\xce\xbd\xb1\xe5\x9a\x06\x91\xb5]\xdc\ +\x0a\xc3sc\x1a\x0a\x07.\xfbd93%\x18s\x89\ +_h\x0c\x88\x01\x80\xe1z\x08\xd8\x01*\x18\xafJ@\ +\xf46k\xb3\x1c\xe6J\x0c\xd4Q\x03\xba!\x8a\xc9\xb8\ +J*%\xecK\xa8v\x16\x8f\x0cm\x0a\xe6|CQ\ +\xe6\x00e\xdf\x03P\xb1n\xf0sc\x15k>\xf7\xa2\ +1\xb5`X\xcf\x00\x06\xf89\xfc.\xc0\x10=\xcfh\ +\xd5x\xdf\x86\xfa\xbd\xc7\x9c\x95$}h\x89\x000?\ +\xcf\x89\xcf\xf9N\xbc>`\x0a(\xe7\xa5\xdfWu\x12\ +UJ&\x9f\xb7\x96\x07\x00\x07\xfe\x9e\xdee\xc6\x832\ +\xd6\xd2T\xd7\x002\x18\xe3\xe9}\x8b\x98]P\x86\x11\ +cb\xbe;\xcc\x08\xc4\xfb\x08HG\x94w4P\x04\ +\xdb\xd5\xca&\xd4U*Y\xc7\xc8Z\xc55\x00=\x80\ +\x8cQ\x5c\x11\xad\x83\x8c\x89b\x5c!\xfe\x12\xe0\x8fq\ +p\xbe\xefq\xbd0\x9dD\xb5U\xef\xff\x1a\xb2tn\ +\xd1\x13\xecD\xbf\xbfJV^\xb7\x905M\x99\x98z\ +\x80\xa6\x10\xeb\x08\x7f\xc3\xe7\x1e\xabF\xab\xc2\xb9[\xaa\ +,\xf3<\xd9o\xec\x1fZ/\xcdp\x88\xfd@A\x82\ +\xf1Z\xf8+\xfc\x0a\x09;\xdaM<7\xb7D\xc4\xb4\ +\x15\x12\x06\xfc\xb4\xe3\xb1\x18\xb7\xe7\x82Q\xfc}\x98I\ +\x88\x95\x19\x10B\x8b\x22\x12\x04\xf7b\xc7\xbe\x008\xc0\ +?\xf1\x9ch\x8d\x81\x89D/2\xaa\xdb\x1e\xbbI\xbc\ +\x17S\x1c8\x9f\xcc `\xaa@$\xe8\xbe\xdf\xccK\ +\x9f|\xc1cn\x01F\xc7\x0c5\xf6\xb7\xd7[\xec\x07\ +\x00\x01\xd6\xd3[\xfc\x9c\xd1\x0a\xc0\xbfp?\xcf1c\ +\xf4\x8ffX@\xa5~T\xd6\xe2#\xee\x1f\xa2\x87\xdd\ +\xd9\xb2\x94hY\xcb\x09?5\xb3L\xb1\xe2g\xba_\ +\xc9\xaa\x98\xf7&3\x9b\xd4\x84}\x10I\xb4\xd6\x06\x9a\ +\x08\xb5\x15\xf4\x81\xf2\xf3O\x90\xb5\xb8\x16\x06\x06-~\ +hb\x88\xff'\x06`\xbd\xaaO\xa4\xfb\x01\x10rc\ +-}\x04E\x9d\xefk\x1c\xbc\x97\x0b\x14\xe7%\xca\xb3\ +[iP\xcd\xaf\xa7\xe5\x92\xe9|$\x1e\x22\xe1D\xf3\ +\x83u!\xaf\xbat\x02\x86Hh\xedG\xbb\x13\x8a\x9d\ +X\xee\xc3f\xb2\xb2/\xd7\x96\x95\xe3\xf02Y\x8b\x9f\ +\xa7\x1f\x93\xa5\xc4\x9f\xb8\x978\x81s\xdb\x09\xfd\xf4\xa9\ +\xb2\x14\x0f\xc0\x5c#\x1ed\xea\x97\x19\x190\xa5\x19\x1f\ +\x18\x0c+~\x0f?\x0e\xd0OK\x17\xe2\xe7\xfb\xc9\xd2\ +\xfd\xe0\xfc\xe0|\xa0\xc2\xcf}\xc2/\x00\xc4\x22&\x8b\ +\x06\x09\xfb\xc6\xd7[\x13\xd4\xf2w\xfb\xd5ei\xdc&\ +\x9a1\x06z\xa2\x10\x8bX\xb8V\xfd\xb6i\x1a\x8c\xfd\ +F\xb7\x94\xac\xbc>$k\xf1J\xbf\x81\xac\x8d'\x0d\ +\xffI\x85\x9a\x160\x18\x17\x00H\x1eW\x08\xd3-\x0a\ +\x97\xf8\x15\xb7\xd6\xd4\xb1\xcf\x1b\xb5\xc26\xe3H\xa3\x10\ +\x06p\x04\xe3\x89\x028\xad\x89\xc4\x91\xb4\x80\xd3\x9a@\ +\xab\xce\xbe\x1e'\xce4\x04\xc6'\xc3\xe4\xa5\xa5\x8eq\ +\xd9\xc4ULm\x82!G\xdeB~J+\x18q\x02\ +\x85\x1e\xfc\x1e\xf1\x1b\xe3\x1f\x01\xea)\xe0\x11Ws\x9e\ +3\xf6\x94\x021\xd3x\x9cW\xcf\xce?\xb5Xy\xa0\ +3\x8b\x16+\x09\xc3\xcce\xb2\xf2>+\xc9R\xe5\xff\ +\x9b2\xab\x07~\xb6\xfc\xdc\xf5\xb2\xd6sT\x1d\xe0Z\ +I$\xea\xc9\xeeyg\xfe)\x07\x16\xa2M\x04x\xfe\ +\xe0\xa11\xb0\xa7\x91+\x90f\xabP\x87\x18\x10\x89\xeb\ +X4\x0b\xe4\x1fut6 \x01$\x158\x0el\x0e\ +\x9a\xb1\x88\x10\x15}!\xb0+\xbb\x02{IB\xa4\xa1\ +\xfap\x1d\xa6D\x065R\x14\x97-S/\xa1\x1fH\ +\xa58\xfe\xd5\x1b\xfe\x8c\xa4\xaa\xcf\xf5,\x5ckg-\ +\x10\xc7\xa1\xfa\xfe\x90p\xd7\x80\xe4\xd6\x14x\x91\x00\x80\ +\xac\xb3\x90Pw\xa6W^\x01\xf7\xf2\xfe\xf9\xb5S%\ +\x87\xb9\xf4$V\x8c\xcb\x03\x81\x84*\xcd\x81E\xe2\x8c\ +\xaa\xb0\x91\xcc\xe8\x01\xd3v\xd9#\xddg^qD$\ +\xda$\xfe<\x07\x1c\x16\xaf\xe3J>\xcfo\x5c\xd1'\ +\x80\xe1se\xe6\xc4\x92\xe9\xfbq\xef3\x81:\x89\x11\ +\xeb\x80\xcf\x09\xb5\x90\x8a\x1f\xad\x1d\xff\x17P\xc1+\xeb\ +\x8d\xf7\xf1}\xc4\xe1\x86F\x06\x22W\x88\xfb\x8c\x81\x1e\ +\x02;\xee\x07\xef\xc7\x86'P'\xf1Xo\xa4F?\ +\xbe\xff\x5c/T#\xc6\xe8\x100\x93\xf0\x13(\xdd\xe7\ +\x80\x87\xbf\xc7A\xe8\xb9\xf1\x91\xd0\x22\xcaG\x82\xc4\xe7\ +\x80\x027R\xef\x8d\xe7\xc8\xf5>d\xc6\x02\xda\x0c\xac\ +;\x12C\xc6\x16\x02\xcc@\xf5E\xfc\x09\x91\xab\xed<\ +'\x9b\x03\xe8\xbf\x86@Y\xfc\x8d\xca\xe0\xf8\x9c)a\ +\xb4\xc6\xe0(\x11g#Q\xe4\xa0\xc1\x8f\x90\xa2\x1fk\ +8\x00\x00 \x00IDAT\xc0\x93\xe8\xb1\x1e\xe9E\ +\x1fk+\xb0\x1ey~\xe3\x0a1\xeb\x82\xfbJ\xef\x1f\ +\x013=\xde\x00\x92\x1c\xec\x8c\xabd\xdfp P\x09\ +\xe6~\xe1\xa7\x1a\xb3c\x00\xb8\x1e\x1e\x89`\x128\xf1\ +9Y\x1f\xb4\xe2\xd0kJ\xa0\xb1\x8e\xd7\x19\xbd\xd3\xa8\ +b\x1b@\x8a\x04\x87\xfd\x8d\x0a8\xd7?\x06\xaa\xf0\x9f\ +\x00\x0d\xab\xc6\xc2Z\x09`g\xdc\xeb\x81\xb2\xd6z\x05\ +\xf3\x86\xeb\x83i\xd1\xef\x22K\x0c2\x18A\x16o\x9c\ +\xbbCf\x06\xfbif\xee\x1e\xee\xeb\x5c,Q\xf2i\ +I\xf3\xef\xc5t\x07?\x87\xe9b\xc3\xcfG^@\xbc\ +?\x9eN\xc5\x98\xdco\xc8\x92x\xac\xfdo\x9cS\xf6\ +\x8f\xd3\x13d\xedza\x04L\xcc\xfc\x8dx\xcdL\xaf\ +\x88\x7f\x01\xd2\x01\x1eX\xaf\xc4\xddL\x7f\x22OF\x0b\ +\xcd\xf9\xc8lE\xc2\xbf\x9e\x90k\xf5\xc0\xbc89\xd6\ +%e\xcd\x91\xd2\xfb1\xb3g\xb1\xb2Agn)V\ +\x1cIw_\xb1\xfb\x9bXZ%\xd2/\x9bT1\xdd\ +\xfb\x15\x89>\xbd\x8a\xdc8\xa83W\x0f\x88\xed\xbc\x0d\ +\x5c\xc1\xe6\x82M\xa5\x88\x0a\xff\x98*\xef\x85\x1ebb\ +\xf4\xf6\x8d{[Ix\xf8}\x02LzJ\xf9\x9e\xf7\ +\x01\x89'!u\xafWl\xc4'\x06\xd2=$\x08\x0a\ +g\x97M\xa2a\xf4<\x92x0\xeeD\xe1,j\xe1\ +K\xa4\xcfCb\x85\xca\xae\x10\xb9\xf2}\xbfc\xb1\x1d\ +\xda\xbc\xd2\xda\x83wd\x9b\xa20\xf9\x85\x06x\xa5V\ +\x03*\xbd8\x124\x0c@\x16\x1dXD\xcf\xb6)\x8e\ +\x0bP\xb3N\xf7s\xd9(!\xd8$r\xcc\xd3\xa4\x17\ +\x90\xf1\x1d\x04v<\x97\x11\x12\x19bb\xfc\x1c\x09\xc2\ +\xb8b:\x9e\x8f=\xae\xe4?2\x9a\x1bO%\x1f\x07\ +\xcaA1\x06\x02\x08d\xc6\x89\x0f\x81=\xeb\x04*\x0d\ +\x8e\x93^R\x1c-\x09\x18\x89 \x01\x0f\xe2i[\x99\ +\x02\xcd\xba\xe1\xefB\xc5\xe49\x93@\xf0\xef ~c\ +\xc6\x0c\x81\x10\x0c\x04>7\x81\x0c\x89,\x89\x1b\x9f\x87\ +\xbfO\xa0\xed\xae\xaf\x18\xb3H\xcf8\x011_\xecK\ +\xeeo\xa3\xee/0\xfd!\xc4\xbbx\x7f3B\xa8\xb4\ +\xc5\xf3\x07Ph=\xff\xc3~\x03p3\xc50z\xa8\ +\x19\xff\x08\xe0aF\x0b\x22>Q\x01\xbec\xd4B@\ +`m\xb1\xc1\x98_O\x02\x0a\xf3\x82\x96\x06T\xe0\xb9\ +\xbf\xe3\xb1m\xdcG\xee\x0f\xc0\x13\x9f\x8b\xe7\xc4\xf3\xe0\ +`f\xbc\x1c\x0c\x19\x0e\x0a\xff\x5c\x8c\xb5b}p\x9f\ +\xa8\x00\xf3\xbc\xa0\x9e\x81<\x938\x8f)\xfb$\x06\x00\ +8\xcb:`&\x01\x02\x00`\xdfp\x1d\x0d\xc8\x19\xf6\ +\x17\x81\x1b\x95\x1c\x10\xf3\xd6\x0a2\x04\x1c\xee\xd1}\x8c\ +_\xe5:\xf9\x9e\x7f\x87\x92\xees!\x9e\x07\xfb\x9e\xfb\ +\x0c\xe00\xee\x89F\xd4\xcc\x81VP\x9d\x09\xa8\xe9\xa9\ +\xb6\x0at0Z,\xca\xc3\xbc_\x0e\xd4P\xe1\xdd\xd8\ +\xfbgm\x8bSmj\xa0\xc0\x14\xf2x\xae$\xb60\ +\x97H\x98\x00t\xf0\x17\x8cC\xf4\x98L\x11Ek\xc5\ +\x1b\xcd\x15z\xf7\x11M\xe4\xf7x\x9e\xec7\x00\x07\xee\ +\x8f\xf7qhm\xbc\xcf\x81\xab\xf7C\x09\xa7\x07\x06\x06\ +\x15#\xfe\xfe\x19\xf6\xe3$\xb8\x1b\x9a\x91\xf1T\x03\x9d\ +0\x0dXo\xacC>\x0f\xda\x02$6n\x19\x8b\x7f\ +g\xda\x0d\xbd\xc7T\xaa\x01\x1cHp\x01\x0a`:\x00\ +\x8c\xd2\xd2A\xa5\x84s\x97@\xd6\x89s\x14\x12\xf0\x7f\ +P`9\xafI\x5cal\x90P\x03tS\xc9\xbfH\ +\x96\x12\x13S\xc4c\x1e4\x011\x80:\xeb\xd0\xc0\x05\ +\xe3\x80\x03\xc8\xe0y\xf1y\x0d\x00\xe0\xe7\xa7/\x915\ +q\xc0\x18G\x05\x05\xd5\xad\x09\xe17\x10\xf7Cc\x89\ +\xb9\xe3h\xc2\xd0\xb2\x00\xd04\xae\xfc\xd0\xda\xf8)Y\ +\xab\x80\x93\x00\x03\x80\x01\x9c\x02l0E%\x0a=\x04\ +\xb2\x04\x9e$\x08\xf8\x0b\xa8\xaa\xac\x17*\xa3\xde\xef!\ +\x8e\xfb\xa5!a\xa2\xd7\x9e\xb8\x12*5\x158\xa8\xf0\ +\x01\xb4\xa3\x11E\xcb(\xe2j\x00\xf4\xf8W\x8f\x8bF\ +|\x0c\xd1<\xfcW(K\xef\xf3\xe8d\ +\xfed~\x15I\xac\x89{\xb7\x87,i,H\xfcz\ +\xe94.\x11\x06\x82\xa9\xd7\x00\x121.\x13\x86\x8e\x00\ +\xea5\x0d|\xbc\xd9\xfb\xfd\x07\xe9y\xab\xb0\xb1Jj\ +eT<|~\xeb\xd5G\x15>\xa62\x00\xbc\x11w\ +X\xe4n\xba\x93\xac\x01>16\x8d\x9f\xa3\x90\x02\x00\ +$\xa6\xe1;\xd2t\x14E\xeb;\x18H8\xc5\xf1\xc6\ +\xfdI\x9b\xe6\x8dn\xfd;\xd1=\xf0\xb7;\xde\xbbt\ +\xfa\x87\xaa\x8d\x05C\xc4\xfb\xa0\xf6\xa6\x9f\x91\x98Y\xd6\ +\x0e`\xddN/\x94%\xbf\x0a0,i\xb9/\xa6\x96\ +\x86\xb7\xca\x1c?-\xd3Z\xdf\x1e\xd3\xdaI\x8f\xba*\ +\xdd\x17<\x8ef\xd2X\xdb\x07\x91E\x8bf\x060o\ +\x7f\x15\x00\x0d-\xc8h\xdc\xd0\xba5\x9a\xc6\x15-\x05\ +\xb9p0i\x05\xdd\xb9[\x8a\xdd\xdc\xc4\x0ek~W\ +\xce\xa7n-Y\xdb\xdf\xfd\xb7e\xc9\x8f\x00\xd4\x13\xef\ +3u\x87<\xd0\x9aY\x93\xc5\x5c\xa8B\x84\xdb\xd3\xdf\ +\xba\x8f\xcb\xca\xdf]\xb2X*\xc0\xc54\x063\x0bb\ +\x8a\x89\x01\x89\xca\x18\xdb%\x15R)\xd0\xaa\xe2\x7fS\ +\x8a\x97}\xdeGO\xff\x1a\xd3gU\xe0\xe6\x8ar\xba\ +_\x91Z\x04\xacM\x13\xfbG-1?k\x00\x02\xe7\ +P\xb4,\xecR\xad\x9d\x1b\xf8\xefq\x81\x01\xa6\xc4\xe9\ +\xb2\xf2\xfb\xf5+\x01f\xdeg\x01l\xb9\x95\x89s\x8e\ +\xe9\x13\xe4\xab\xd3\x0de\x8d\xa9\x85\x08\xeb\xec\xccJ\xb2\ +\xe4\xd0\x8d\xf00O\xb4;XV^_+s\xe4\xdf?oM \ +\xc4\xe5(\x08\x00\xacx=\xe1\xcf\x19G\xd7\xfd\xb8\xfb\ +Q\xf7\xe3\xa6\xa5\x13b\x81\x88\xda\xfd\xfe\xff\xd3u\xe6\ +\x81\xbeN\xd5\xff?\x9f\xe7s\x90y,S\x92y\x9e\ +\xe7\x88\x1bQ(\x15\xd2\xa0RJQ*\xc3\xb7B\xc6\ +&*S\xa2_D)\x92\xa1\x22\xc9\x18R\x91P)\ +T\x86\x0a\xa1\x14\xc9,\xf7\x9e\xe7\xf9\xad\xb5\xf7\xfb\xb5\ +\xf6>\xfbr\xd6\x1f\xcf\xfd\xdcs>\x9f\xcf\xf3\xeca\ +\xed5\xbc\xd7{\xb9\xd8u.\x939K\xd7\x83\xee\xd3\ +&6n\xdd\xf9&\xe7\x95\x84Pw|wBg\x0e\ +gw\x9f\x87\x0a\x0a\xa2\x81\xf6\xc5\xdd\xa9.U\x80\x81\ +\x80\xc0\xdf]JF\xbf;\xd0\xa5 \x03\x82\x14R\xfb\ +(\xf6\x8d\xaf\xbe\xbfU]\xa8\x08\x08\x110U\xe2/\ +\x95^\xfdT\x99\xfe\xc3\xca\xeb@\x94\xea\xfc\xe1\xf7\xc9\ +\xca}\xa0p\x8e$}{\x5c\x09\x18\xa4\x84\x97\x07T\ +\xcfs\x91\x1d\xe2\x19\xe15\x5cL}\xechb\xebk\ +\xea.\x93\xbb\xed\xffwp\xa9\xbas\xdd\xad\x00\xb1\x90\ +9\xfc\x7f\xb0\xb4+Q\x12\xc8I\xda?\xb2\x1f\xf1'\ +\xf0#(9\xfc\xa6K\xd5v\xd3\x91\x89\xd7W\x5c\x06\ +\x04~\xf1'\xb0\x83\xb0\xb7\xb0;\xd9O\x90\xdd\x92\xc0\ +\xe2\xff\xeb\xeeX\xb3\xaa\x00<\xe7\xb22\xcdQ\xeb\x0e\ +\xd2\x0c;\xc7w\xff\xba\x95\x1f\xc59\xd6\xb6A&0\ +\xc1\xf7\x93H\xd8\x22\x15\x03N\xf43\x5cJ\x0d\xfe\xd4\ +\xee.v\x9b_s\xa9\x02]\x9fp)\xed\x04i\x93\ +\x17\xed8IX\xd0\xd6\xf1\x00A\xd7\xe5\x07v\x1fw\ +\xb1\xf7o\xe4R\xbay\xa4D\xb5\x07\x04\xbf\xedb\xbf\ +\x7f\x87K\xf1[\x86\x0d]\xec\xff?\xe8R\x90\x84\xd8\ ++\xc3k\x87mS\x80\x96s\xeac\xb9T{\xd8e\ +\xd8\xd5\xc9\xf8\xfag\xfbg\xfag\xaa\x80\x08]\x1c(\ +\xf1x\xd6\xa5$`\xa2\xc4\x11=sF\x92\x89\xfe{\ +.%\xa0A\xd7\x89h\xa7\x0d\x17\x1d\xfe\x04\xc8:q\ +\x8d\x11\x80\x8ev\xaa*u\x05\x11\x10\xedVu%\xa0\ +N\xe9\x1a$\xa7\xc3\xa5.f\xd6u\x8f\x9aq\xa0\ +\x89<- UD\xce\x81\xa6\xb0\xb09\xa8\x81\xbc\xe2\ +8\xab-\xc3\xe8\x11\x97\x04\xe1\xb8xtq\xd5\xae\xf0\ +\xda\xfe\x9a\xfe\x9at\x00d\xc8\x1f\x8a\x1f\xc7\x07\x87\x03\ +\x08#\xd0T&\x86\x0c\xef\xad9\xe2\x17\x99\x05\x1cW\ +2F\x8a\xa4E\xa4\x1c\xc3\x0a\xe8e\xd3n.\x99\xd9\ +OW\x1b\x14\x87\x99\x03\x85\x83\x8b\x9a\x0c\xc6\x0f\xc3\xca\ +\xdd>\x7f\xde\xe7Mf\x8a\xfc\xe2\xc4\x0a\xfa\xe22(\ +R\xf5\xa6\xca0\xc7\xd1\xc3\x11\xc7pg#\xe3\x80s\ +\x1f\xca\x18\xc3\x12\x19\x07%\x19@\x0c9\x0c1\x02!\ +\x1c\xe8m$\xd2\xb7\xe9\x9cU\x84K\x81\x1a8\x12\x02\ +\x0a\xc8\xe7\xb5\xed\xb1P\x008\x22<\x17\x0a\x12\xc3\x86\ +\xf7\xe1\xa8\x03\x0dE\x81\xf2\xfd(,\x9e\xab!\x81\x8c\ +\xd7\xfc\x1d\xdf\x8b\xc2{\xaeq\x5c\x99g\x14iK\xd2\ +\xa6\xc0L@\xb0\x08\x80}X\x06\x82\x0cz \xef\xb1\ +\x8f\xf8\xfe\xb6\x0f<\xf7\xc9~\xe25\x81\x0e\x9e\x9b\xdf\ +\xe30\x10\x90ZC\x81\x80\x15\x14xX\x5c\x99\xdb%\ +\xb5NP4\x0b+`\xb3\x8a\x1cG\x9e\xb3%\xe7\xe3\ +\xffyM\x80\x82\xd7m\xdf\xd9y\x9b\x92\x06\x02\x0d\xcc\ +#\x0e\x84\xc8\xaeF\xef\xcc\x81\x04\xa7\xd6qr\x9d\xfe\ +\xd0\xfe\xb0\xfe0A\xe7VL\x90\xad\xb9\x13d\xeb\xef\ +\x99{\xc0_\xa5\xd7\x8a\xa0w{\xb9\xd8u\xb3\x0c\x99\ +\x0c\x83\x97\xf1A/45v\xb1\x1eA$@\x9a\xc6\ +\xf3MFW\x84\xbc\x0e8\x80q|(\x95\xd9E\xe3\ +\xf3\x06\x05.9H\xf9;\x1cU\xf6;z\x11\xc3\x87\ +\xda]\x22\xe4\xdb\xab6\x97yW\x86\xc2\x9c\xc3|\x85\ +\xc3\x03\xe4\x07\x19[\x10*d\xcc0\xd0Y/\x90\xe6\ +\xe1\x88\x13px\xb2Aj\x80\xf4\xa0\xd6\x96\xfb\x07I\ +\x81\x01D \xe5\x9fQ\x9b\x99\xd7\xcd\xaa\xd2gM\x0d\ +z8\x10K\xabkB\x838\xc0P\x0d\x83^\xfa>\ +H\xf0\xc4\xc2\x1dl\xf1\xca\xdcE\x86\x1d\x12B\xba\x13\ +\xc0\xaa\xffD\x95a\x1aW\xc8\x03\xb8ZD\x1e\x95\xcc\ +Y\xcf\xb0\x1d\xe1Re\xb8e`\x0fG\xb8T$t\ +\xd4L\x13\xd0\xc1\xc1\x13\x09h\x18\x82\x04J\x18\x0f\x95\ +VDmcY\x97\x99\x9bf=\x05\x06(\x05S\xe6\ +\xd1\xcc\xd0\x94\xe1\x8d\x1f2\xb6_LEz^S\x99\ +!\xe0\x0fd\x03:\xd65\xa5.\x94\xce\x10\xe0e\xfe\ +\xd9\xa7 d\xc8\xa4\xc9\xa1\x8b\xfd\xc3z'p\xc3y\ +@\xe6\x9c\xc0-\xe7:$p\x94((\x90\x17\x99\x0f\ +\xd6\x15\x19x\x0c`X\xd7y?\x01L\xd8\xa3aK\ +g|\xe8\x82B\xcd-\xfb\x16;\x03H?5\xe02\ +\xe8\x87s\x5c\xaa\xfb\xf8\x81J\x0c\x8e\xcam\xecf\xdb\ +Gm7\x96o%)\x06\xbd\xec\xa0h\x1b\xc9|\x13\ +\xa0\xe7\x9c\xe2\xdc\x80\xb3\x87q#\xe0\x8e\x1d\x02\x17\x0b\ +d\x5cj\x0b\x17\x8e-w!\xd0~\xa6}e \x09\x18\x1f\xba\ +\x02\x5c9\xba\xca\x91\x98\xc1\xaa\x8e\xfd\xbb\xad\xb8\x15T\ +\xe2\x14,\xfcW\x8e\xae\x18]Q!0\xf9|9\x10\ +\xdd\x95.v\x9d\xe1b\xd7_\x9a\x98\x03\xd9m\xebR\ +e\xfa\x150\x8b\xbf_\xb0\x9b\xbfs\xbd}E\xfe\xfc\ +\xeew.v\xfd\xb1K\xe58)q\xd0=\xeeR\xd5\ +\xfeK\xffR\x22\x80\xa3\xc1\xba\xeb\xb61\xd9Z\xa4p\ +\xb7U\xdc\x14\xd4\xfeS\x1a@\xbbo\xf44\xfb\x05;\ +\x9d6\xe4\xd2\xd7\xc9.zV$\x9c\x1bW\x01s\x12\ +\x5c\xe8\x9d\x9f\xb8\x94\xf3r|\xb1\x8bJ`l\xfd\xf7\ +?u)\x1cA\xfd\x19.\xb6\x1c\xefu\xb1\xd7\xeft\ +\xa9\xfa\xa8\xaf\xae\x8c-\xe7\x01\x082\x02{$\xfc@\ +\x9e\x9c\xefR\x95H\xb5\xe7\x03\x080\xd6\x1d,\xf0\xe6\ +\xbd8W\x03\xa4\x8e\xe1\x00cg`\xa7\xa0\xefZ\x92\ +\xe4\xb6\x1d2v \xf6\xaa\xef\xaa\xb9\xab\xf3\x9b\xfd\x04\ +\xc2\x82.\x0c\x90\xb8\xaa-^:\xb5\xee\x94\xfe\xa88\ +\xa0@\xce\xc4\xb9\xc4\xfd\xf0\xb9:\x97\x87\x99\xc3,\x0f\ +\x94\xf4s\x99\xd8\xfb\xa6\x1et)%>\xec\xaf\x84\x14\ +\x7f\xaa\x04\xf0\xfb\x1b]*\x8e\x02\xf4\x02\xfa\xe6\xff\xe5\ +\x00\xe6p\xb9\xf4(\xa4\xb5 \xc8!\x0bT\xa0#!\ +Z\x16)\xebw\xd8\xde%!\xb42\xe2a\xeda\x9d\ +a\xed\x0a\x19\xf0\x97 \x0d\xcd\x81a\x10|7\x0c\xd7\ +\x0f\xd7\xa7\xf6\xa5\xa9m)\xac\xfc\xfdo]*\xc4\xe1\ +TF\xd8\xa0\xff8_\x03\x01E\xa9\x95\xda\x09\x06r\ +\xef\xa9\xcc\xc1\x13\x89J\xb8WN\x19\x9d<:\xf9\x05\ +\xdaN+A\x8e\xde\xeb/v\xa9H#\xe5\xd8G@\ +W\x89\xd9\x08\x14\xb0N87E\xd68Idr\xbc\ +\xa7\x89;\xfa\x1f11\xc3\xa0\xfb\x9c\x8b\xbd\xbe\xda\xc4\ +\x0e\x90\xf1..\xf6\xff\x0b\xb8\xd8\xf5L\x17\xb5\x0f\xdc\ +\xb3\xf4\x85\x0e\xa8\x17\xa4\x16@\xd8\xe8\xa7Hf\x98\x03\ +\x84\x0c\x16\x10K \xcd\x1c\x90\xb4e\xa1\xc6\x8d\x1a_\ +eL\xbb\x0b3\xab\xa7)\x9bd\xf0\xf4\xff\xe8\x1f\xea\ +\x1f*mq\x80\xe4D\x86\x94\x88/\x1c\x04\xf4\x01\xa5\ +\x06\x9e\xbe\x9282@R\x98P \xa7\x18\xbc\xdaP\ +v8\xe4\x83`Q\x1dh\x90\xf9\xb11=\x1e\xb7L\ +\x05\x11\xa3\xcf25z@w\x81\xa6-\x95h\xd72\ +4\xee\xd0\x12\x89\xec\xf7p\x91B\xe8*2!2\xc9\ +\x18bm\xbb16.\xa45\x18v\xeb\x85\xa1\x99 \ +i\x01\xb1\xc2\xc0\xc1 \xe1\xe0\xe7\xfbpH\xc8\x08\xf1\ +\xfd\xf3\xa4FVE\xd1s\xe0/\x98r\x8d\xb1\xe1\xa2\ +]\x1a\x0e7\x07>\x06(\xf7\x0d\xd2\x03\x85\x06\x22\x04\ +\x83\x8a\x80\x07\x0a\x94u\xc3k\x02\x0ad\xb6\x1b\x12\xba\ +(I@\xe1\xb0!\xb9/\x0c\x986@\xc1\xf8b\xf0\ +\x0b\xaa\x15\x07\x08\x0a\x93\xcf\xa3\xf6\x17E\xdc\xf61'\ +\xa2J \x80\xc89\xb5\xb8\xec\x1b2N\xf4\xc7\xc5\xd1\ +.}\xdc\xf3|\xb1\xbeY_\xabg\xf6{S2\xf9\ + c\xfe\x0aK}\x1eW\x0c7\x02Qm\x0d\x7f\x8b\ +\x90\xe1\xc0b\xbe\x96U\xc9\x0d%?\xac\xf7\x8d\xe5(\ +\xbeU\xb5\x92\x04\xa0\xd6Um?\x810JK\x08L\ +\x9d\xe4b\xeb\xfe\x97\xfd/\xfa_Tz\x05\x96j\x19\ +L\xdd)\x8a4/\x9f\xa1\x9c\x18\x0c\x03\xfd\xb1\xd9\x17\ +8\xc68>\x5cq\x10q\xec\xdb\x1a\xc6\xf6\xff\xdb\x1f\ +\x1cz\x1c\x14\xfe\x0eC\x9cu\xc1\xfaE/`\xf8\x12\ +\x10e\xde@Dl\xa1ZW\x02C8F\xf77\xa5\ +K >\x08\xac\xf09\xfc\x7f\x1b\xd8\x1a\xe40\xccO\ +`P\x81\xa1G\x07\x93j]\xb2\xeeh\xab\xb8\x8e\x02\ +K\xcbh\x9e\xf9\x7f\x9e\x9b\x83\x86\xf5\x8e\xa3\xbfA\x90\ +p\xe5\x80\x22z\x05RI\xd6\x1b\x81+\xd6\x0b5\xb6\ +\xec7\x1c0\xfaw\x93YWf6\x1cl\x0c6H\ +\x08\xb9?\xd6\xb3\xe6'\x1c+2\x83\x18<\x9a\xcf\x08\ +\x5c\x92i%P \xd6y\x1c\xc9@$\x90y\xa1\xb4\ +\x04}!\xe4A\xf4\xa7\x07\xd2N\x86X\xe7R8 \ +m;F\xf4\xd0\x9fT\x13\x0e\xe4T\x86\x0c\x90\xf3@\ +\xe2\xa0G\xd6H\x18\x83\xdc^p\xee\xf4\xfc\xd3K|\ +\xc8\x5c\xa1\x97\xe8\x86@\x00\xa3%%\xc5\x91\x042M\ +\x00\x8d}\xc5zC\x8fc(Rs\xaa\xcf\x1d\xb4\xce\ +\x82\x05\xfd\xe4l\xf8D\xa0L\xf6@dd\xa9ed\ +\x1ea\x1b\xe7\xdc pOf\x06\x88=\x86\xb8\xec\x87\ +\xb6\xe6=HJ\x85\x88\x08\x88\xfc)\xaa\xd9\xbc_\xe3\ +\xc3y\xc3\xfd\xb1\xcf0\xc4Y\xa7\xdc\x0f\x08\xbe\xad]\ +\xaa>\xf1\x8c\x0b\xfb\x99\xf5\xc9zd\xfe\x09\x5c.\xd6\ +\x94\xcc\xa0\xb7y?\xfa%\xc8b\xb5?@b\x10\x98\ +\xe0|`}\xcb\xd1'\xc3N\xed|\xf4\xa5&@\x84\ +\xe3\xc1\xfcQ\x1a\xc8yJ\xc9\x06\x08R\xf4,dW\ +J\xac\xc4>\xe5\xf9\xd9\xcf\x9c\xbb\x04\xa0@\xc2\xb5\xfb\ +\x16\xc8-\x01@J\xa9\xd4\x0f\xd8XA&\xe0\xb8\xcb\xa1\x8evt\x90\ +D\x89t&\xa0\xb0\xd4\xc6\xd3\xe7\xd7\xbf\x0d\xe8\x14\xa4\ +h\xf3\xca@\x5c\xadB\x1c\x00\x01\x06\xaa\x8d\x83\x84\xc1\ +\xd9\xf6\x83's\x07\x04\x9b\x9aT\x0c\x026.\x8e\x1b\ +\xd7\xb6K\x00\x06\x11\xdf\xd3r\x0fp\x1f|\x1f\x1b\x94\ +\xbf'\xb3\xc4k\x14\xe9\xab\xa3]H\x0e\xb0\x00}\xc6\ +\xc1!\x82\xcb}Q\xc3\x8a\xa2g=\x92\xd1\xc1\x00\xc2\ +Q\xa4\x84\x80\xfd\x82\x83\xc1\xbc\x92q\x07\xf2\xfer)\ +$\xa0\xe8\xcc;\xf73\x97\xf6\x1bH\x16\xba^\xec)\ +C\xebM\x0a\xccuA\xbe\x98\xef\x0b\x87\x04\x87ok\ +\x05\x80\x1e\x13\xf4\xf8\x04)6\xe6\x0d\x05\x8e\xc3\x81\xe3\ +M\xe6\x80\xc0\x92j\x93\xfb\x03]R\xdb\xa0\x5c\xf3\x84\ +#\x84\xa3\xf4\x1fu\xe38O\x91xA@\xa3\xe6\x1e\ +\xf6\xd3m5\xdf[4\x9c\x088\x9a8\xee\x8c\xe3<\ +M\x17\x09\xe6\x89yc]\xb0\x8e\x98/\xf6\x1b\x0e\xd0\ +\xbc\xc1\xce\x9d\xd77\x0e\x13\xeb\x0e\xc8\xf5#\x22\x9da\ +?\xc3Z\x0eR\x83\x03\x8fZ\xf5\xe7e\xe0\xffQ}\ +iQ\xf0\xac[\xd5\xe8G\xa6\x82\x0c;5\xdfCt\ +\xfe\xcd?\xa5\xefx>0\xfe%}\x89\xe1\x5c\xb7\x0f\ +\xddqv\xee\x8b\x08$\xb2\x7f\xd0\xdf\x04xq \xd7\ +W\xa0\x80u\xdc\xb2\x14c\xf8\xd3\x9f[\x08\x0c3\xe7\ +3iQ)A\x99\x9eA\xdc:\x97H\x04\xbb\xdb\x90\xa3\x91i\x85E\x1d\x04\x13\xfb\ +\x8d\xc0 \x0e0\x99\x14jL1L\xd0\xe7\x04j\xd1\ +\xaf\xacW\x12\x08\xac\x1b2\xb6\x9ck\x9c\xdb\xaa!\x8f\ +\x0c\x14\xdc\x08p\x10\x00\xf9o\xdb8\xb2\x9f\xe9\xeb\x8c\ +AD @\xe4\x9b\xd1\xae\x89\xcc5\x06fS\xa2E\ +\xadtp\xf6\xd0V\x8e\xe7\xa5=\x94\xce\xc90\xfc \ +\xb1C\x9f\xe0(\x80\xf0 @\xc4\xef1\xf0ZR\x5c\ +\xd61\xe4U\xe2T\x08\xa4\x01\x01Z\x91\xa9E\xbbV\ +\xe6\x89@#\x90sA\xbd\xfb\x8b\x5c*G\x88\x92F\ +\xd9\x01 \xd78\xc7i\x17\x18\x886>\x9fyd]\ +\xa3\x97\x09lS\xb2\xd2 \xc4b]c_\xd2\x95\x81\ +\xdaiA\xcaI\x08E\x1b=Am\xe9\xda3z\xca\ +\xa5r\x00\xc8\x1ccWB\x8a\x88\xbe\x82\x03@\x86?\ +\xec\xe1\xa3GF\x8f\x8e\x1eM\xb5\xf8\xf7\x8e\xeeM\xf7\ +\x9d\x1d\x90KU\xdaI\x8d\xbf \xf5\xddR.\xea\xd2\ +\xe1\x0e\xdf\xa3\xfe\x09\xa9\x1d\xd9\xc8\xdb\x91\x05\xb4\xff>\ +\x97\xd2\xa7\x9c\x9a\xfc\xeei\x93\xa7\x0a\xfb\xff\xf8\xb5.\ +\xf6\xff\xab\xbb\xc8\xe1>\xbb\x04\x22@48\xd7\xbf\xb3\ +\xfd\x8f\xb7u)\xf3\x1d\x81\x83\x1f\xba\xd8\xff\xff\xd6\xa5\ +@\xa6\x816GI\x81C\xff\x0f\xa8\xe6\x07\xee\x15\xed\ +\xaf\x08d@&LB\x0b\xae\x8c\xc5r;\xdei\xf6\ +\xe3\x8d\xa5\x96}\xd8\xc0\xc5\xde\x7f\x9a\xc9\xa9:_'\ +\xe5P\xbdA\xa5C\xa7\x97\xaeR\x09\xa9lz\xa3;\ +\xc6\xe4h\xbb\xce\xd3e$\xc2\x8cn\xc6\xd8\xdb\x15\x1e\ +\xe4b\xeb\xf6\xc7&\x97\x94>\xf0\xd4\xfa'\xc4\xc3o\ +*\x12H\x02\xdf\xd8\x1d\x90vC\xba\xd9p\x82\x0d\x7f\ +w\xa9\xb8*H\x884$\xa6\xb1\x8e\xa4\xd7\xa9\x05\xef\ +\x9fs\x11\xe7\xc6r\xa56>\xbe\x8fs\x16\xbdA\xc9\ +\xa9\xec\xd9\x18g\xec\x07\xde\x87\xfd\xc1\xb9\xde\x92R\x13\ +\x98\xe0\xbcu7\xf6\xfc\xca\xdf\xe1|yy\xa2\xd9-\ +\xf6,\x8e=\xcfI\x00\x0e\xce0\xe9\xb1\xd4\x0e\xb4K\ +\xa4\xb3\xd7:\xe9,~\xd2\xd46.\xda\x0f\x0f\x97\xda\ +\xf8\xd4.}\xbd\x84\x94\xc8\x014\x95z\x07\xa2N\xdd\ +\xe6\xd0;\xe8uj\xdd\x03\x89\xa8@\xa69\xca&U\ +\x02\x0e\x0e\x0a\x95\x98\xe1/\x05\xc9\xa5'\xfc\x96P\xf7\ +\x9bcK\x00\xad_\xd6\xc5\xae\xffu)\xdd@\xa2\xbd\ +\x1e\xf6\xa1\xc8e\x87\xf7\xb9T\x01\x0d!\x13b\x7f\x90\ +PV\x00\x1a\xfb\xb5[\xc9E\xed\xdfgU]$\x80\ +\xf2\xab\xad_\xc2\x03l[\x05p~+\x7f\x99v\xc9\ +K\xba\xd8\xf5\xf5.\x85+'\xec\x1e\x12\x15\x0a\x84\xd0\ +&3J\xb9T\xd279y\x88\x8b\xfd\xe3b\x13;\ +\x00\xbb#\x5c\x0a\xf9_@\xab\x9cd\xe5\xc1\x8a=q\ +\xa9|\x03\xb6I]\x0a+/\x90H\x91\x98\x04\x1b0\ +\x13\x04\xa4\x13\x83\x85\xdah\x0cl\x22`8\x16\x18\x16\ +l\x0cH\x85\xd8\x08 \x0c\xbe\x99\xfb/\x86\x03\x8dC\ +\xc6\xfb\x81\xae\xb7m\x99\x88\x98\xcb\x80\x8e\xdaD\x0e\xac\ +6\x10@\xc6\x9b\xbe\xcddR\x0eU-*\x11\xf09\ +\x12?z\xa9\xf1\xa7V\x8c\x0dD\xed%\x91\x22\x9e\x8f\ +\xe7bc\x02y\xc21\x9fP\x16\xe7\x8f\xc9\x05\xc8\x91\ +\xc4)E\xbe\xce\xae\x22\xffd\x00\xc9\x90s\xff(,\ +\xbe\x07E\xd1\xd6\xd4s\x80\xc3\xcd\xd0:\xce 3\x9c\ +|\xf0\xca\x8a\xed\x12\x12\xa3\xf5\xf3FOf\xe8\x8a\x95\ +\x82\x823\x80\xcf\xe3\x80\xb8=C\xbe\xc3`\xe0\xf7\x9e\ +\xdfXJ\x99\xa0u\xaa\xfb\xd5s\x05\xb9\x93\x02=q\ +\xb0S\xa3\xae\x0c^(J\xd8\xee\xa9\xc1'B\x8d\x03\ +\x85#\xc38\xb5\xedV\xc8\xb80\xbe@ew\xcb5\ +N\xe1\xb0\x1d\x97KW\xda6-A\x96G-\x11\xbf\ +g\xfe\xc9\x9c\x12\xe9\xe55\x86'\x99J,\x1e\x0e\xaa\ +\xb6\x8d\x17\x9f\xcb8r\xc0\xb0\x9e\x89\x5c\x92\x99j3\ +\xfd\xf4\xf9\x85\xf5\x9b\xef\x9fW\x06(5\xe2\xb0\xb2\xff\ +?\xf5\xcf\xbd]\xfb\x80\xdar\xd8\xd5q,\xee\x16b\ +B\xec\xff\x91!T\xa9\xcf\xf0\x86a\xc7a\xc7R\xab\ +e\xc7_\xceHo\x9e\x03n\xd4\x80E)\x11\xfb\x94\ +\xf1c?\xe3P\xe2\xe0\x13 a|\xd8W8\x86@\ +\xfe\xd4\xd6\xb0r\xf0\xf3\xf8\x92A\x95#e{ \x8f\ +/\xe4\x86BPD\x8dd[\xebN\xa0\x0f\x07\x0d\x07\ +\xf0\x1f\xd9A\x89\x80\x1a\x0e\xe4\x10\xa5\x17\xf9y`\xe1\ +_\xb4!i\xc3\x81c\xff.\xa3\xff/H\x97\xfc\xf7\ +\x046\xf9\x7f~p(\xda\xf5\xc4\xe7\xb5\x90C\x90)\ +\xeb(3K\xad?\x99}\x1c\x16\x1c-\x02E\xec\x97\ +\xb6}+\xf7\xc3\xe7n\xe1R\x90\x06\xec\x93\xe1\xaf\x22\ +\xf5\xe1@\xbdZ\x19I\xbaR0\xef\xe8u\xb5\x8f\x0c\ +\xa4\x11\x90A\xf4!\xf3\xcb~\x07\xb1#R\xcc\x11\x19\ +X\xe9i\xa0{A\xe6J\x86\xf7B\x97\xcaq!\xe0\ +L\x00\x17h0\x8e\x17\x01\x07\xc8d1(\x80\x5c\xd3\ +\x1f\x9d\x80\x11\xfa\x87\x8c\x0ez\x8au\x0dd\x1e\xb2?\ +\x0c\xb7\xb6?\xf4\x09.e\xbf\x0d\xe7\x0e\xe7\x0d\xe7\xa5\ +\x1a\xef\x9c)e~\x09\xf4\xa8\xadk\x04\xee0\x18\x09\ +\x9ci?\x07\xc2\x0e\x87\xb6\x0d$\xb0\x0e\x98\x1fe\x9e\ +\xa2\xf6\x9b\xf3\x1f\xbdC\x80E\xe7l\xd4\x80\x03\x11%\ +\x10\x0e\x8b\xb2 \xf0\xa3\xbd\x5c*G\x04\xf6p\xd6\x03\ +\xe7J\xdbv\x0f\xe4\x0d\xb5\xa2\x94\x026m\x1c\x03)\ +B\xcd>\x9c\x1d\x82\x86\xc6|S\x8b\x0e\xa2\x82\x80\x12\ +\x81\x0f\xf6C\xdb\xde\x96@>\xfd\xaai\xcbG\x80\x04\ +{\x80\xfd\x89\xded\x1d\xaa\xfft\x90\x9b\xc1\xad\x00\xe2\ +\x0e\x87]\xfd\xc0\x03\x11\x01rE\x08>2}\xdd\x01\ +.\xf6\xfb\xc7]L\x1f\xff\xce\xa52x\xd1_\xd4\x0e\ +\x8b|q\xb8\xdc\xa5B\xd8\x11 \xc1Ab\xbe\xd1\x87\ +\x04\xc4xN\x02{\xb0\x9b\xcb\x91\x1f\x7f\xda\xc5\xee\xeb\ +F\x17\xbb\xbe\xcd\xc5\xae\xfb\xb8\x14{r8\xd4\xa5\x94\ +\xa6p\xbeu\xbf\xeen\xean\xaa\xba\x15\xc1\x8d\xa0\xcc\ +\xbd\x19\xcd\xf9\x5c\xc5^\x5cM]%n\x1f\xdd1\xba\ +]\xf6\xed\x85%\xa0\xd0}\xc8%\x05\x0e\xd7O\x81C\ +\xb8_\xe6\x1a\xcd92\xbb\xaf\xbb\xd9\xbe\xef\xe6D\xaa\ +wU\x22\xd5\xc3\x01\x91\x9e\x0f\xc7]]]\xbaK\x5c\ +\x94\xc8\xf9J\xe9\xb3N\xdb=st_\x93J\x004\ +/\xc9\x11>\xa6|.m\xbc\xbb\xa3\x5cl\xbc\xaes\ +)\xeb\xb6;\xdc\xc5\xae_t\xa9X\xfd\xef6\xb9\xab\ + \xa7\xc6\xab\x9b\xacV!o\xc4i\x11\xe7\x81\x87\xdb\ +\xce\xd7\xbc8\xb2\xe3\x8f.\x85\x9c:\x85\xe7w\x93C\ +\xb2\x93\xf4\xe7\xfe\x82\x22\x9b\xdd\xdf\x9fn\xf2\x8d\x12\xc0\ +#\xf1\x13\x01\x03\xa0\xd5Bp$\xfb\xc3\xec\xda\xc9c\ +\x5c\xec\xd7\x9b\xce\xb1\xe9\xe4W\xb3~\xec8O\xcc\x11\ +\xec\xd76YK\xed\x05\x7fVu\xe7\x82,M\x0e&\ +\xf37\xdeg\xbc\xf7x\xef\x84pH\xfahj]\x17\ +\xfb\xbb\xcf\xb9\x14Dnt\x03\xc2A\xdb\xc3\xa5 \xb7\ +\x22p\x88~\xc7\x0fZ\xd6\xc5\xee\xeb'&\x97\xda\xf5\ +&\x97R\x8b>\xccp\xa9J#@6b\x0f\xab\x8b\ +H\xe8q\xb8\x81\xb0#[}\xfc\xf3\xbd[\x00\x00 \ +\x00IDAT\xc6\xf9\x09'\x07v\x22%Y\x9c\xff\ +\xb4kuR\xbc\xc3\x8b^\x8a@\xb6\xec\xa4\xe0v\x02\ +\xc9@b\x03.3\xec-\x0f\xb7\xefR\xb1\xcb/\xe7\ +\xa2@\xcc\x8fU\x0a\xf0\x90\x10j\xbb\xab$\xc5\xf4\xc3\ +\xf8\xc4\xf1\x09c\x9f\x97\xf7\xba\x94\xf9\x1f\xde\xe5b\xd7\ +\x1d\x5cJ\xbb\xdeTzm\xfb\xd6\x0b\xbe\xbd\xe4;\x91\ +k\xbe\xbf\x0aH\xeb\xef\x935\xf6TU\xfa\xa7@h\ +pk\xa8\x1d\xde\xe8\xec\xbc\xae\x82\xf4\xf2,\x97\xc2\xd5\ +\x11\x88\x04\xcd\x7f\xbf\xa7K\xc5U\x01\x17\x1a\x09:\x10\ +\x88G\xbb\x94\xf5\x11\xe7\xa2\xd6c\x94j\xc2]D\x8d\ +?\x09sHT=a\x87\x0d\xc3\xc1\xcd\xfda\ +\x08c\x90\xf1\xf7\xc3\xd0\x0f}z\x9d\xb9\x0f`!\xc6\ +\xf0\xa1?\xe61.%\x10\x10\x07 \x86(\xf7\x83\xc1\ +\x82A\xeen\xdd\xb8B\x08`\xf0y>\xe8\xfe\xca\x80\ +\x85\x84\x85\x83\x99\x88:\x8e\x10W\xfe\x1eG\xbe\xadm\ +&3\x03\x04H\x99@j[hO\x11\xe3BFC\ +\xfd\x98\xe3s\xc5z\x1a\x8e,\x1b\x87\xc0\x82\x9bG\x7f\ +\xaa\xda!\xe2pCf\xc2x?\x94\x1a\xf0LxE\ +\x8e\xd7\xe4\x84\xe1\x87\xe1@\xc4\x15\x03\x93\x0c\x11\x81+\ +\xd5\xf8\x0d\xffp\xa9\xe6\xed\xc5\xfat\xb7\xac\xecm\xcd\ +:\x8avK\x05\x8a@\x82\x88\x0d6\x02<\x04\xa20\ +\xfc\x80\xd6\x92\x81\xe7\x80\xa2\xcd\x18\xe3\xc2\xfa\x84\xbcC\ +\x91\xd0\xe8KN\x84\x0f\x85\xce\xfcaX\xb2>[\x12\ +\x17\x9e\x17\xa8\xa92]p\x7fDd\x1c\x07\x92L3\ +\x81\x00HM\x22\xd5\xd2\xb4O:T\x91q\x0co\x1c\ +(\xbeO\x06?5y\x13\xdf\x16\x09\x97\x0c\xb6a\xd5\ +\x0cy\x9a\xfa\x94K\x82:\xe5\xc0\x0d\x01\x13\x1cu\x22\ +\xf5\xec\x17\x10$8zm\x1b\xc6\xa5\xe4\xf0\x07\xb2G\ +\x08&\x02\x028~\xb4\x13\x82\xcc\x946\xa4\xcf\x08\xc2\ +9\x9f\x02\xa2 &\xd0?\xfd\xf4~\xe3\xf1y8\xe6\ +\xec\x13\xbe\x8f}\xc8z#\xb3\xfbG\xb1\x19\xa3\xe7V\ +S`\x10\x04\x85\xa0a\xb4\xa9\x83\xdc.\x0c\x14\xda\xcc\ +\xb1n\x97\xd7\xfc\xe3h\x13h\xe45z\xb6-i\xe0\ +\xfb\x88x3\x8e\xa5\xbdf\xd6\xbf \x0dp\xec\xd7j\ +J \x9e\x8a.\x12y\x1d\xf1\xfc\xfc=\xe3\x83\x835\ +g6\x9c!\xa9Ky\xb3\xaa\xbf\xad\x99\xb9Y\xff\x80\ +\xf0a]\xf3<\xdc'\xa4\x87\x8bMo/\x18\xcf\x8f\ +!\xc3\xfb\xd9/\xd1\x86N\xdf\xff)\x1d\xe0:G\xe2\ +\xdc\xc2\x81\x01:z\x80K\xd2o9CIm%\xcf\ +\x85\xa3{R\xaeI\x1e\xed\xaf\xbf\xa7f\x9d\xbf\xc7\xa0\ +\x22@A\xe6\x06\xbd\xc3\xf5cIJ\x86\x94@\xb7P\ +\x1d\xc3\x0f\xe5\xd0}L\xd0R\x0c6\xf4\xe3\xbb\x05Q\ +\x85l\x13\x07\xee\x1fB\xf0\xa9\x14g8\xd7\xa5\xea\xcf\ +\x0d\x1b7\xdc\x0cd\xce\x84\x94\xc0@\xf5B\xa3Tj\ +D\xc0\x15\xfd\xa7\xc0h\xd4\xc4\x1e#\xae\x02\xceA\xf4\ +(\x01h\xd61\x81\x0eX\xdcaU\x07\x91\x87A$\ +\xc3\x1bC\x8e6x\xd1N\x13\xf2`\xf4\x17\xe7\x1d\xc8\ +=2\xfd$ \xf8\x81\xc5\x9c\xfe\xe4-90\xac\xdb\ +p!\xf0\xfb\x96$\xb1\x85\xf2c\xc7\xa0\x97a\x19\xef\ +\xb3=\x11z\x00\x88,\x81\x1cAFc\xbc\x09L\xf1\ +\xb9\xb0\x86\xabv\x99\x0cyjO\xfc\x86\x8a\xc4\x8fD\ +\x0c%\x02r@\x82d\x91L\x96\xda\x0a\x86\xa3\x07t\ +\x98R\x02\x02J\x87\xb8\x14\xb2/\x1c\x90\xe1\x22\x17\xfb\ +\xff_\xbbTH\x0ew\xff\xf6\xd4z{s!\xc3\xf3\ +\x8a\xda\xc4Z\xaf\xf5=y\x89\x8b\x99\x03_p\xb1\xd7\ +\xcb\xbb\xd8\xf5M&oN\x99\xfa\xcfz\xa6\xbe\xdf\xd0\ +\xa5jC\xfd\xa7\xcc!5\xde\xc9\xc5\x86w\xb9\xee\x95\ +\xddr\x15\xc7\xd4\xab\xd4^Z\xf6A:\xf5\xe7K\xfb\ +,sE\xbdk\xb4\xfb\xc8\xd6K\x7f\xac\xc9q\x82\xb4\ +\x7f\xbe8\xb8\x9cs\x9e\x8fvG<\xed\xabw\x97R\ +\x96p4@ \x089\xda\xdd\xe1R\x10\x93\x09j\xef\ +\xe4\xce\xdb\x9b8\xcb\xf9\xd3\x19\xa2\x1cm\xf8\xd6\xb4\xfd\ +d\xeb\xb7{\xb2{\xaa\xb3}\xd1\xfd>\xb7\xff#\x93\ +\x18$k\xf7fd\xc2x_\x97\xd2\x15`|\xb0\x8b\ +\xbd\x9e\xd7d\x9eR\x8a\xd1}\xd0d\xafb\xd7\xa7p\ +\x93;\x08S.BVnX\x10!\xc1e\xa0\xf3*\ +\xba?\x81\xbc\xf3R\xbc\xcfT\xc8\x1f\x87\xd8\xcf\xa1Z\ +g\x87\x5c\xcf\xe5\xa2Z\xe9]+\x04\x8f\xce\xdd~\x17\ +\x97\xaa\x9b\x95\xdf\xa7\xe9\xd9\xee\xaf.6\xdf\xeb\x99\xac\ +\x9f\x03\x19\xe3#\xf4\xbd\xa6Wf\x9d\xe4bv\xc3Z\ +&\xceJ\x7f\x98\x8b\xfa\xb9\x7f\xa0\x04n\xba\xbb\x5c\xec\ +s\xbe\xeab\xdfw\xafKI\xf8%;\xc4\xf5\xc8\x11\ +&f\xc7\xf5\xffv\xa9j\xb6\x0fw)\x8eZ\xb4\x87\ +\xd3\xb9\xd1_\xe7R!\xe4\xb0K=l{\x9f\x02.\ +\xbf\xd6y\xb3p\xd5\xf6\x12;\x1b.\x09\xff\xfb\xbfU\ +\x01J\x10Lm),\xe73W\xfc\x16\x02\xd4\x04l\ +\x08\x9c\x12\xa0\xa4k\x82\xba\x01\x108\x0c(9v8\ +\xed\xe5@4+\x00B \x98Z\xf4\x140\xf9|5\ +N\xb4=\x15\xd9)m\xe49/\xbd`\xdbK\xb6G\ +\xdfqI\x81\xe2;R y+\x97R\xe2\x0c\xd2\x07\ +$VJ0\x9eQ\x91\xa9\x1ei\xf2\x19=\xcf\xf2\xc5\ +\x91\x86\xacu\x98t\xa9Hhu\x1e\x81,\xc4\x9e\x0c\ +\xae\x8d\xf7w\x1f\xe8>P\xd9?\x9c\x03B\xc6&N\ +\x8a\x8dJ@5\x02\xa2\x8c/$\xa6\x22'\x0d;\xed\ +bq\xd6i\x1cG\xbdK\x95\xa8U\xe9\x0ez2\x10\ +c\x0aDE\xe9\x1b%(\x04\x9c\x84\x84\x18^\xe3R\ +\xd9\xff\x5c\xd1\xcf$\xfaT\xba\x03w\x05\xe4\xc5\x93\x1c\ +\x04\x90\xacD\x9b22\x85Z8\xd1\xb6\x83\x0c\x0d}\ +U\xd9\xc82P\x9c2\xc17>\xed[\x82d\x81Z\ +\xa9\x05\x5c*C\xb0\xcd\xb8\xe2\xb8\x12\xe9b\xc1\xb3!\ +\xd8(<(\x99^j\xb1/\xce\x0bd66l\x22\ +#L0\x078\x06\x07\x06\x08\x7f\xdf\xb2\xf1\x12ik\ + \xb4\xa3\xb93)\x0a\xb5$\x01\xb9\xe4g\xe7\xd4h\ +$?\xdf\x22UdN\x19\x87\xa8Ao\xdao\x04\xa4\ +\xd0k\xc8\x9e*\xa5\x00Q\xdb\xcc\x06Y\xddd59\ +,wV$A\xb0\xce\xb6,\xef\xf4K\x86\x8c\x8f\xef\ +\x85\x9c\x09h>\xe3\x83\xa3\xf5\xca\x06\xca\xce\xef\x99\x17\ +\xd6K\x9b\xe1\xc3q\xe0\xb9i\xe3\xc4\xfb\x99\x7f\x0c\xa7\ +\x96m\xfc\xe9\xc4\x17\x9f\x0d\xf6\x05+h2\xf3\xd6\xf6\ +\x87n3\xde@\xe1\xc9\xb8c\x90\xce\x1d\x19\xdd\xfc}\ +\xed\xf7\xf2{\xd6\x01\x90g\x1c\x7f\x90-\xb0\x19\xab&\ +\x8d\x12\x8f0lq\xf0\x08\x80\x10 !\xd3\x85a\x0f\ +\xa4\xabmS\x08k\xfd\xffd\x08\x03\x09\x22\xf0\xc2~\ +\xe4>\xf9|\x0cN\xe6\x0bG\xa7\x81\xdcF\xad-\x11\ +`\xe6\x0b\x03\x99y\xe2\xfd\xac\xcf\x16\xc2\xcb\xf3\xa28\ +q\x04\x9f\x0e\x08r\x1e_J\x09nT kQE\ +\xd6\xd7\x14\x0b\xb8 `\xa1\xb0\xc79C0z\xd0\xa5\ +Z/@\xb0\xc9\xb8\xa3\x8f\xc8\xf0\x97>\xe3\xf9\xbe\xa9\ +E\x07\xa1\xb3\xae \xd2\x05\xb2?\x1d\xe1\xc1\xba\x81\x0c\ +p\x0b=\x1fl\xfcs6\x81\x00\x1c\xb8E\xe4\xf0\xe3\ +\xb8\xe0\x80\xb6\xd0l\x1cP^\xe3(0\x9e\x931\xae\ +Y/\xfd;\xef\xb3\x08\x84\x88{\x84R\x10\x0e\xf2\x08\ +d\xac\xaa>\xe1\xafQ \x0a}\xb8\x8e\xee\x8b\x80k\ +\xe3\x80\x049\xe0\xac&S\xd9\x96\xc2\xcc\x17\xfb,\xcf\ +\x07\xe3\xcax\xb2\x8f\x1e\x96\x01#\x87\xde\xb4N\x22\x9f\ +\x89\xc0\x0c\x01\x12\xf4\xc3\xbaM\x17\x8c\x06\xea\x0c\xb7K\ +\xf4\x09\xf6\x8c\xcfu\xd3H3\xa7#$xn\x02\xba\ + \xcf(1\x83,p\xef\x04\xea\xf5\x1a\xe7\x8b<\x93\ +\x9e\x1c\xe4=+\x04\x8b\xd6W\xec7\xa0\xa1@\xdca\ +\x07\xbf \x93@\x85^\xc5a\xdaH\x81?\xf4\x22\x19\ +N\x1cjJ\xe8\xc8\x9c\xa3\xc7a\xf9\x87dM\xeb\x0c\ +\x08o\x9cK\xcc\x1f\x089\xf6=\xa5Qb\x01\x1em\ +\xa7L0$\xa5\x04\x94O\x14\xb9\x12dUr\xc8\x82\ +\x1c\x0f=\xcf9\xadL{p#\x80\xc8b>0\x1c\ +)\xd5R[\xaa0L!o\x12\x89Y\xb4\x19\xa3\x9d\ +\x1a\xedE\x19?\xf4\x07\xfb\x9fy\x05\xea\xc8}\xc0\xca\ +\x0c\x92\x8f\x00\x09\xf6\x06z\x95\xf3\x86\xf3\x00$\x00\x06\ +9v\x02\xeb\x8fq\xa6d\x8b}\x80\xa3\x0b\xf9$\xa5\ +p\xdc\x1f\x81X\xf4\x15\xf6\x0f\xf6\xc6\x8b\xb5\xb7%\xd3\ +\x8f^\xc1\xeea}p\x0e\x80\x10#\xa0D\xa0@\x10\ +\xf1\x080C\xfe\xa5\xda\xd7\xd0\xfb\x0aXC\xa2J\x86\ +<\x12)\x22}\x1b]\xeeRq\xb5\xa0\x0f8\xdf\x08\ +\xfc*@K\x8022o\x94\x06\x08\xd2\x9f\xc8\xc1\xae\ ++\xac\xe0\xa3\x9b]\x0a\x1b=dus\xcc\xe5b\xd3\ +p\xe6\x9c\xdf\x9e\xd3\x0c\xe5\xc9\x03Ml\xddM\xde\xea\ +\x92 \xc4\xc9\xc1\xf3\xfco\xbfv*\x193I\xdc3\ +\xefv\xee\x99\xf1\xa4\x8b]\x7f\xed\x22v{g\x11\xff\ +l\xff\x99\xde\xc9\x1f\xd73YW\xa5\x01\x97&R\xb7\ +\x9c9\x13\x89c\xb0\x9a\x8fMl\x7f\xf5\xe9\xa7 \xb2\ +F\xffqI]\xaeL\xaa};\xd3\xa5\xd4\xdc\x93Q\ +\xeff\x9ax\x1b\xbf%M\x96\xa8\xc6W\xa4\x5c\x90\x0b\ +v\xcf\xb8\xa4\xfe\xf1;x\xff\xf8\xeeS.v\xdd\xd0\ +\xc5\x9e\xe7\x18\x97\x82\xecI\xb5\xfb\xb6.\xc7s\xba\xd8\ +\xeb\xff\x98\xa2\xca0+\xb3\x0d'\ +C\x22\xe7\x04B\xef\xe4l\xbb\xbb\xd8\xf5\x9d.\xf6}\ +?u\xb1\xdf\xdfi\xe2\x81\x9b\xaf\x9a\x9cl\xff\xbf\x84\ +\x8b2\xa7\xcb\x96.?S;\xb9\xd86\x9e\xd3\xc4\xf6\ +\xcf\xacG\x5c*v\x7f]APL\x1e\xedb\xf3\xf7\ +g\x97*\xd0&\xe4P\xca<\xdb\xfd\xcc\xfa\xacK\xd5\ +G^\xdf\x17\xfaG\xf6\xcdp\x8dK\xc5V\xafLl\ +p\x9a\x10\xf8\x11\xa7\x03\x09\x91\xa9\xf9L\xe6/\xfb4\ +\x90\x0f8xB\xb4\x06\xc2\xa7%\xefE\x0f\xb7\x81J\ +\xec`\xces\xba\x85\x88\x8bax\x85K!A\x8dD\ +\x14v\xb22\xc5\xc3\xcf\x5c\xaav\xee\x9c\x97\xaa!o\ +\xa1\xf8\xa3K\x5c\x14 9\xact\x0dI\xf8\xbc\xab\x0b\ +\x07F?\xe9\xa2\xe7\x9f\xafp\xc8\xd1\xddb\xd8\xd6E\ +\xfe\xe3\x9cr\xe4M\xcf\xd8.5\xa9\xce\xc7u\x02\x09\ +\x99K\xabi;\x0d\x82\x18\x8e7\x10\x7f\xb4\x8f\xde\xc6\ +\xa58\xee\xa6\x05/KzpE\xd9_\x9a\xef\xd1\x12\ +\xd9\x1f\xa3\x1b\x06\xf6Uw\x83\x8b\xbd\xffQ\x97D2\ +mb\xaf\x8fr\xb1\xeb\xd2.%@M\x80#J\x05\ +(\x9dV@5\xce\x19\xda\xb3\x1e\xecb\x9f\xf3\xcd\xfe\ +\x8c\xfe\x9b\x05\x01\xc2}\x0f\xf7\xb9\xa8\xe4b\x5c!$\ +6v\xa9\x90\x7f\x90(S\x0aG @\xe3\x11\x1c*\ +\xb2\x17&#\xb2\xeb\xddY?[ d\x89,\xe7\xfa\ +\x0a\xb2\x04d\x9a\x08\xa0j\xd4\x88t\x069\x84\xa0\x13\ +q\xa0\xabf1&\x10\xd6Z\x0e\xfaU\x04\x11\x03\x11\ +\xc0\xc1\xd2\xb2\xea\x13\x09{zz\xadr\xb4M\xf8\x83\ +\x02\x00\x0f\x88\xcd\x91\x8d\xc3\xb5e\x83\xe7\xa0\xe5\x80\xc6\ +\x10m\x91\x058<\xbcf\x03\x92\x19xrxbx\ +\xa2D\x80\xc2\x90\xc7\x80%#\xe8\x95\x86\xd7T\x86\xac\ +j\xbd\xc20i\xa1\xffd\xbe\x9cTb\xd9\xc2)\x10\ +\x91\x7f\x91\xa3\x04\x0b\xfa\xca\xeaS)\xe8\xcb\xe8\xf3.\ +\x95\xa2\xa0\xc4a59\x06dDy>=\x17\x90\xb1\ +\xe8;\xdad*X\x07d\xe4\xc3p\xc2\xc1\xc1\xf1\xc1\ +\x11\xc7\xe0\x13\x09`\x18\xfas'W*\x1bXsT\ +\xcf\xed\xb3\x0e\xe9\xde\xa8RP\xccSS\xf3\x18\xeb\x84\ +\xf9\xe45\xf3\xc0\xb86P\xcb\x88\x9cb8\xb7?-\ +$\x9eu\x84c\x01\xf4\x1cE\x03\x09\x22%\x01d\xc2\ +d\xe0\x0d\xb7\xb8T\x1b\x9f\x00\x16\x8a\x98qc\x1c\xa8\ +\x0d~\x87\x02r\x1f\xd0\xb8\x11\x00\x11\x04(\xf6\x07\x0e\ +0\x19D \xe88z\xcc\x0f\xeb\x92u\xc7\xf3c\xf0\ +\xce\xd1te\x18\xeb\xf7\xb3\x22\xc28\xad;@@\x90\ +\xee\xcd\x07Z\xe5H\xe6\xbfg\x1c\x19\xef\x7f+\x92\x0d\ +\x94\x94\xff\x87M\x17\x87\x91q\x14\xab.5d\xb3\xb5\ +qBo\xac\x11\xed\xe6r\xa6\x99\xf5\xa2k\xb0\x9f\xf3\ +~\xc6\x9b\xf1P\xad~\xea\xbd\xf1H\xa5'\xb8?\x02\ + m\x80\x86\xf5\x08r\x83\xfd\x86cO@\x8c\x00\xc4\ +\x12.\x15G\x00\x81\xb7\x87\x84P)\x86F>\xd0\xc9\ +8\xf3\xf9\x1fT&\x9a\xcc.\x99k\x0cl~\x08\xc8\ +P{_\xc8F\xe9\xe3\x9e\x1d\xf0\x97\xe8ypD\x0a\ +\xe48?7\xe4\x90\x8c\x07\xeb\xf3\x95\xd1\xd6/;d\ +\xd4\xda\x03\x81\xd7s\x04+;\x19R2\xdbp\x12\x94\ +@M\xfe|\x10.\xccc\x8b\xf8\xc2\x11b\xdc1\x08\ +\xe6\xabJ\x86\x96\xae\xf6\x1f\xa5W \x87\xf6IR\x02\ +w\x18\xde\xbb\xdaA\xbfk\x05i?[\x99d\xc6\x99\ +\x1f\xbe\x8fL\x0a$\x97\x0a\x9c\x0d7\xb9T\x88\x19\xd6\ +\x8d\x904m-t\xc7\xc0&1\xc0k\ +\xf4)\x81\x01\x0c~J\xcd@\x1aQ\x0aH`\x88\xf5\ +\xc5\xf7\x12\xf8c~\x09\xc8r\x1f\xf34\x81D\xf4f\ +\xdfp\xac\xa0?\xc9\x006\x9c1\x01\xd5\xa5\xbf\xb7\xec\ +*\xd6y\x90\xfa\xa2\x07e\xb7E\xa9\x11\xe7\x0c,\xeb\ + \x18\x09$\x81\xa4\xfb\x9dK\xc9\xa8\xd1v1\xd9!\ +\x17\x94\x0c\x5c\x909\xc29\xf0\x99\xdc\xad\x026\xf9\xe8\ +\xb2\xa1y&C\x96\xba\x1d=_A\xe2W\x107\xd5\ +\xf7\xc7?\x18\x9bC:\xfe\xb3\x8b]/p\xb1\xdf\xef\ +\xeeb\x7f\xbf\x90Kr\x80\xefw\x078\xad\xb6w\x96\ +\xee\x1d\xdd\xd6.\xf6\xbe\xef\x99\x9cS>\x9f6\xa3$\ +X\x12I\xdf1\xc5!\xa7fv\xd6F&\x1b+\xf0\ +r[\x0a\x14\x5c\xe2\x1c\x02\xc3n\xc3[\x87\xdd*\xbd\ +\xa7@=\x0e%\x08\x8e\xeec.v}\x8d\x8b\xec\xbe\ +\x85*\x96\xfd\x9f\xbbTzh\xb9\x9c\xa8 \xc3:^\ +\xc4\xa5 \x91\xba_\xb8\x94\x00\xcfxG\x97R\xe3?\ +\xbe\xc1\xc43\xffW\xb8\xd8ud2Q\xec\xc1\xee/\ +.\x1a\x1fs\xf0\xbb\xed\x5cJf\x90\x8c{\xe2\xfc8\ +\xa9B\xb8\x89l\x8d~\xea\xd8\x15\xa3\x83\x14x\xdbJ\ +\x81\xe6\xa3s;\xb7\xe8\x9a5\xe5R\x91\xeb\xfd\xd1\xa5\ + M\xfa\x9d\x5c\x8a=\xd7\x1dgr|E2\xe8L\ +\x0b\xb6\x8e\xfb\x7f\x99\xd8\xfe\x9c\xba\xd9\xe4\xa6B*7\ +5\x97\x89\xed\x9f\xfe\x87.j\x87vL\x090D&\ +[P\xf5D\xd2x\xbc\xfc\x91\x7f$V\xf8\xb5\x9d\x15\ +~\xea:\x17\x1b\xaf\xbd\x5cJ&\x172\xbbhK\x0b\ +\x17\x06\xf6\xefC\xd3\x91S =(a\x18\xff\xdb\xa5\ +\xea7\xff)\x17\xbb\x8f=M\xdeo\x9f\x7f\xb6\x8b\xfd\ +\xff\xa2.U\xe0\x8fDL\xcb\x85\xd5\x96\x02q\x1e\xb4\ +H\x02\xecQ\xecV\x10\x9e\xd8\xcd\x9c\xb7\x0b7\xf6!\ +\xa5^tK\x91cN\xdbp\x9e\x0b\xc7\x94\xd2\xcd \ +C\xa7\xfd\xae'*< \xf7%\x17{\xce\xad]l\ +\x9c\x8fq\xb1\xdb>\xd9\xe4\x94\xc2\xf1\x00r\x0b\xbf\xa3\ +\xff\x90Kq|\xa34\x8d\x80\xaf\x12!\xc1\xa5\x00i\ +\xefJ.v\xdd\xc2\xe4\xd5\x0aD\xfc\xb4\xb2\x17\xe1J\ +Q\xe6<\xd8\xf6)M~\xa3J\xf6\x84\x04\xed\xfe\xd1\ +=\xd4=T\xbd_\xfe\x0c\xdd\xf2(I\x1dv\xce\xa5\ +`S\xbfw)\x1c\x1f\x046\x03\x11\x88\x1d*\x04\x1c\ +\xddW\xa2\x0d\xe5+\x86eS\xa0\xe6\x8c\x89o:\x97\ +\x89\xe9\x99\xdd\x5c\xcf\x0c\xeb\xb8\x94s\x1dr\xec8\x7f\ +A\xe4\xb1n\xf0\x03\xb0\xa7pk\x08\x00k\xddN\x12\ +\x19\x0b\x88\xbc/\x9b\xad\x05\x99~\xa8\x90\x12\x8c\xaew\ +\xa9jL\x04\xf1\x8fH4\xb5\x0bDt\xc90+#\ +6|c8m8\xad:\x10Y\xd0m\xdb7\x0eh\ +\x1cG&L\x11\xb30T9\xa81d\x80\xdc``\ +\xe8 5\xf7$E\xdc\xed\xb8\xcb\xb5}|.\xdf\x87\ +\x01\xcb\x01\xdc\xb0D\x87A\x8e\x83D\x06[\x90Cj\ +L\xa8\xed\xa1v2\xfa\xa9Rb\xc0\xfb\xd9\xb8\x18\xb4\ +8\xaam\xfb>\xfe\x0e\x83G$)\x91\xf1\x84\x95\xd7\ +\x7f\xfb\xb0\x22|\xcb\x14\xa8\x0d\xed\x87\xc2Pc\x01\xe3\ +\x90`\x80r_ (0\xc4XH\xdc\x0f\x8e\x8aX\ +(\x83\xc5\x95\xf1$\xa3\x01\xd4\x88\xcf\xc5\xc0##V\ +\xf7\xeb\x1eU\x86N\xdb\xd7\x94qY9\xd1\xe8\x94Z\ +B\x02\x17\x18D\x5c\xdbZ\xe6\x86\xed\x7f\xb6\xf9\xc4Q\ +k\x91\x17\xdcO\x0b\xf5\xe49y.\x029 \x0b \ +\xbf\xe4\xf9q4!W$\xf2\xc6\x81\x81\x01\xc8\xfd\xf1\ +\xbc(b\xd6\xc3'\x94i\x83$\x0c\xc7J\xf3\x1b,\ +\xd7\x94\x1e`(\xe3\xe0\x89\xf5?\xbaX\xd0\xae\x84\xf1\ +\xa4\xcd\x16\x01;\x1c\xab\x96\x84\xecY=w\x1b\x10\xe1\ +\xef\x80\x5c\xe3XO\xc6<\xe6\xe7\x80}Y\x86Q\xff\ +K\x17\xbb^\xedRj\xe4p\xc0G\xdf\x1d\x9d3:\ +\xa7 \x89\x22\xa3\xd8\x90\x7fFF\x95\x8c'H\x0d\xe6\ +\x85\xbf{\x95\x14\xe1\x1aZ\xffkOw\xe4\xc2`G\ +\xaf\xcc\xd1d\xf89(\xf9\xc11E\x1f\x11\x81g\x1f\ +1\xef\x04\xdc@\xc8\x90\x89&\xd0\xa2}N\x86\xc8\xcc\ +\xa3;\x86;\xca>\x8c\x8c?\xfb\xefI\x97\x8a\x8c\x94\ +}\xcczc}\xf3\x5c8\xac\xec\xfb\xf5\xb4>\xc8P\ +\xce'\x07\xb2\x94\xc2d\x87\x9f\x1f\x0c\xc0\xa5\xa6\xcfc\ +\x18\x12\xac[\x1c\xad&\xa0\x1a\xf7O\xc0`\x039\x8a\ +8p8\xfa\xe8a\x22\xd8\xca\x04F\xc9\x08\xfa\x8b\xef\ +\xa3\xb4\x04.\x02\x1cP\x02\xae8\xda\x94\xe2\x10\x08P\ +;\xa28\xaf\x80\xe8)\xe3\x11\x0e\xf3v\x0a\xec\xb1\xde\ +\xd1\x8b|?\xeb\x85\xe7b\x1e\xe1\xd4\xa0\xd6\x1f}\xc6\ +9\xc7:\xc5QD\xdf\x10\x98d\x1e\xb9\x7f\xc85g\ +\xe8\x0a\xc4\x13n\x01\x02. \x8a\x04\xe9\x8f\xf6\x85\x94\ +\x1a\xd1\xe7\x9c\x1aE\xce%\x022\xaccuw\xa0t\ +. \xf68\xc8d\x92\x1db\xbbW\xf9\x9c\xd0/\xac\ ++\xc8\xdepL1\x10q8_\xebR!\xa9\xd0\xe3\ +\x18\xb0*\x99\x8aR\x04q3` b\x8f\xc4\xe7\xea\ +\xb9\x81\xa0\x064\x9es\x80\xfb\xa7\xa6\x16\x07\x98\xf9c\ +\x9e\xb8\x0fH\x04\x09\xb8\x92yg_\xd1\x85B\xf7\x15\ +\xf3\xc5\xfe\x03\x91\xc2\xba\xe5\xf5\x8b@\xffc}\xb4\xe7\ +\x0c\xe7\x145\xa3\xd8\x03\x04\xe4\xb1\xb3\xc8|\xf1}\x0a\ +\x00\x04w\x105\xc6\x04\xfa\xa9Y\x06\xda\xcd9\xcd\xfd\ +s\x9f|\x0em\xf3d\xff\x8d\xe6u\xa9J, \xcd\ +\x84,\x9aR\x0c\x10\x18 \x83@\x00\xd0\xbe\x0e\x16{\ +\xcd7\x19=\xba2\x8c\xde#\xa8\xfcm\xa3\xdbS-\ +>\x19-\xfa\xb2_\xe8R!F.K|\xd9\x13\xdd\ +[LvVBc\xe9\x0a\xfa\xfe'\x97\xe4x\xec\x9c\ +\xda\x86\xfdg\xf4h\xca\xe0\x93\xc1\xfd\x9eK\x15\x7f\xf9\ +\xb4\xc9\xc1\xa5\xe4\xb2\x9fr\xb1\xebR.%\x13L\xc9\ +\x02\x01\xeb\xee\x1a\x13s\x18\xbb\xdf\x98\xdc\xa2\xbe\xf0g\ +$\xce\x81s\x9d\xa5\x9e\xda`2u\xdd\x9b]\x12\x02\ + q\x03t\x87u\x87:\x19\x1fvd\xf7/\x17\xbb\ +~\xc2\xc5\xae\xb7\xaa\x14`\x7f\x17[\xbe\x0f\xb9\xd8\xf5\ +\x19\x17\xbbnib\xfb\xba{\x9f\x8b]\xd7r\x11\xc4\ +\xdf\xec\xe2\xee\xeb.e\xf9\x8d\xae\xcd\xed\xda\xba[\xba\ +\x9b\x13w\xc1\x07\x83\xe0eM--\ +\xbf'@\xc2}p\x7fM\xc6\xc7\x1cD\x97\x02E{\ +\xc0\xa5\xaa\xd9\x81TEmn\xd2\xc2\xdf\xaf\xfa>\xc6\ +\x8d\xf1\xc6`\xc2\x00\xc01\xc00\xe0\xef|\xd4fU\ +\x0e\x16\x8e+\xef\x1f\xa7\xdcq\x9e\xaf\x97\xbd@\xc9\x05\ +\x08\x80\x16Z\xcc\xfcR\xdb\xed\x19\x9dWT\x8e\x0c\x86\ +7\x8e3\xdf\xdb\x92\xde1N\xfc\x1d\xdf\xd3\x06\x90\x08\ +\xb4\xb4\x99\xff\xb6\xa6\xe6\x7f\x91!\xcf\xef\xc7\xd0b\x1e\ +\xf8\x1e\xd6\x19\xed\xd1\x88\x8c\xb7\x19&2B\x1f\x07\xaf\xe9\x07\x1e\xed\ +\xcb(9\xd8X\x0e\x11\xeb\xb8\xd4L\x13\x88\xc8\x81\x10\ +\x026dV\xd7T@cs\xb5_\xddZ\xb5\xd0\x7f\ +\xca\x07\x1e,\xf6\xd1\xc6\x90\xfd\xc9\xfc\xe2X\xcb\xb1\x0d\ +G\x83Z\xe6\xe7\x5c\xaauJ\xa6\x84}H\xa6\x1a=\ +\xc3xr\x10\xb3.8\xbf^,`\xcb\xfc\xb1\x8ey\ +\xcd\xbc\xe0\xe8\x13P\x11\xf9\xdb\x88\xf1\x95\x81\x10\xdd9\ +\x08\xb4+\x90\x15\x8e?\x012j\xfd\x80\xa0\x8b\xdc*\ +\xda,\xa2\xe7y>\xee\xbf\x09T\x86\xa1B\xa9\xc5\xdb\ +\xa7g\x1c\x22\xc0\x81\xbd 2\xab \x8b\xa5\x16\x92\x12\ +\x05\xf4%\xe3\xab\xf3#\xb8}\x08\x10p\x7f\x04\xd8\x19\ +/H~EV\x17\xed\xa8 \xb9;\xcb\xa5\x186\x11\ +h\x83\xd4\x0eR\xbc\xb6\x0b@\xdb\x8f\x9c\xf5\xd0\xb6k\ +E\xcf\x13\xd8\xc4@nIb[N\x89v_\xbeX\ +\xed\x7f\x8btD\x8fb\xf7\x90\xd9\xc3\x8eb\xbdq\xde\ +\x80\xf4Q\x00\x9a\x9am\x0c\xcd\x80\xe4\xca\x9e\x1b\xdd\xe8\ +R9\xde\xd8K\xe8\x03\x90\x02j35\xfa\xabKU\ ++N \x96\x925\xc8\xab>\x99$\xba\x18\x04y\x9c\ +\xb8q\x08\x90D\xa0\x1a\xbd \xc4\x02\x8eRtG\x02\ +\x11\xb6\xa2JP\x17p\xb1\xeb=&wW\xec\xd9:\ +\xe7S\x1b\xbb\xa3\x15\x18}\x83\x1c\xf1\x0b\x04U~\x95\ +H\xf2\xde*\xf2\xbd\x1f\x9a\xda\x9e\xc7d\xee\x12\x98\x0f\ +GV\xfa\x8c\xc0\xfa\xe4\xb5\x93?\x9b4\xc7x|\xe3\ +\xf8Wc\x1b\xd7\xa9\x03M\xcc\xf1\x9dZ\xda\xc5\xae\xcf\ +\xb9T\xed\xf4D\xc2\x97\xf6\xcf&\x05\x82\x1e\x19~!\ +\xc0F\xffv)$\x868\xf8 x\xba\x7fv\x0fw\ +\x0fK-\xd8\xbe\x19\x1f\xe9\xa2\xae\x01\xdeO\xfd\x02\x17\ +\xbb^\xedb\xbf\x7f\x9d\xc9vv]\xd4\xc4\xd6Y\xf7\ +\x05\x17{\xbd\x83\x8b\xbd\xbe\xd8\xc4\x1c\xf4\xf1q\xe3\xe3\ +\xc7\xe6\xa8\x8d\xcf\x1b\x9f;>\xd7\xfe\xbf\xf7\xbeg\x22\ +E\xfbnB\x1a\xbc\xcb\xb9\x0fF\xc7\xba\xd88\xac\x92\ +\xb9y\x86U]\x0a\xe2#j\x89\xaf\xce~\x80\xb9\x13\ +G\x0eG\x16\x04\x15\xd0o2\xff\xfd\xd7]\xec:\xb7\ +K\xb1OFK\xe6\xf1\xe8?\xe0Rj\xd1\x13\xd9\xdb\ +\xb5\xca\x8c\xdb\xf3\xf4\xf3\xba\x94\xcf\xa5\xb6?\x02\xb4 \ +\xb0\x1c:\xfd\xb0\xb8R>^e\xec\xf779\xa0@\ +\xd3\x93\x9b\xf6\xae\xd4>\xf8\x94\xce\x1c\xd6\xc9\x7f\x9b<\ +\x92\x02!\xd7\x8e\xae)v\xf2\xf0?\x13\xfb\xfc\xa9\x95\ +L\xec\xbc\xed\x17wQ\xe9\xc8z\x85$\x8f\xf1\x18_\ +\xebRu\x81P \xb8\xff\xa6KA\x18L\xdd6u\ +\xfb\xd4\xed\xf6z\xe1\xf1Bc\x0f\x88\xa3*\xb1\x82\xa3\x8a\x92n\xce\x07\x02\xdf\xe2\x9eI\ +\xf6\xde\xcc\x0a\x19\x87\xbeUm~p\xafQr\x80=\ +\xaes\xb0\xdf\xc2\xc4\xf4\xd5\xac\xcd]J`mr\x0f\ +\x17u\x05\xb8\xa8:O\xb9\x0f\x10I\xba_\xd6e \ +\x02\xe4\x00\x13\x98\x05\x89\x17m\xd5E\x06\x19\xa5\x9d^\ +\xb2\xe3m1W5Y-!U\x92\x1dK\xa9\x823\ +\x848GH\x9c#\xcc3\x09U\x10\x07\x04\x1c \x9f\ +\x85+H\xdd\x88\xfa\x95]\x0a\x07KpZ\x09\xf9\x13\ +\x81kq\xb6\x04\xb7\x1e\x1cZ\x90\xbc\x1e\x99\xf7\x17\x9c\ +\x01a\xff\xb2\x1e(\xa9#\xe1\x82\x9dABE\x89\xe3\ +\xe13.%Q=ID3\x0e\x1a\xfa\xb8;@\xeb\ +\x97e\xc0\xe8C\x9f\x1c\xcc\xbfW\x03\x8ba\xce\x01O\ +\x06\x88\x09d\x01a\xa8\x91A\xc1\xf0l#\xe0@\xfc\ +9\xa89(18\xf9\x1c\x0eJ2\xffD\xe8i\x97\ +\xf0\xb0\x22^\xcf\xfb\x16\xaej\xe9P\x18-d\x1c\x07\ +\x87\xfb\x05Z\x88#\xc9\x01\x8f\xe3\x0e$J\xfd=c\ +\x81\xd5\xb5\x7f\xcbW\x0e\x08\xfd\xa1\xa9\xe9\x06\xba\x8c\xa1\ +If\x01\x83\x91H\x1f\x8ek\xdb\x1e\x0eC\x85\xc0\x02\ +\xd0?\x1c\x14A\xc8\x02\x22\x82\x01^C\xf0\xe7\xae\x1c\ +_\x1c\xc86\xb3\x85aHF\x13\xe8\x0dl\xdc\x18n\ +s\x04;\xfa\xfc\xe1\x00-\xa5\xf9\xea\xab\xf1oI\xd1\ +\xc8\xa4\x8b\x04,\x1cJ\xd6\x05\x06S;\x0fdR\x99\ +'\x0c\xaf\xd60c\xa3\xf0y86\x8c+\xeb\x8c\xf1\ +n!\xec\x5c\xa9\x11_D\x9f\x8f\xe2\xc3\x90\x11yX\ +dfUC\x18\x8a\x09\x96TJ;0\x0c\x197\x9e\ +K\x8a4Q\x1b}&\x19b\xa9\xcf}d\xea\x89L\ +r%\x03\x86\xa3\x07\xc9\x12\xb5\xb0G\xe9\xfdj\x8f\x14\ +\x01\xaaB\x9a6\x9d\x04\x8e}\x81\xa3\x0f\x04\xf61\x97\ +\xcaPm\xa1\xb4\x18\xd2\x5cY\xaf\xecg\xf6)\x1c\x09\ +\xaa\xa1\xec\xde\xedb\xcb\xfaH\x97D\x9e\x92\x0f 2\ +\x83\xbf\xcc\xa5\x02\x01\x09.\x0ep\x0e\x1f\xa4\x00z\xa6\xe5\xf6 \xc0\xf4j\xf5iF\ +\xef`8\x08i\xe1\x15\xbf)\x10x\xa7\x90a\xd4\xf4\ +7\xc8\xad\xd1\xea\xba\x1f\x02coU;E\xf4\x1a\x99\ +d>\x9f\xc0\x10\xfb\x1a\x87\xb0\x09\xb4S\xfaD\xadh\ +\x90\x0e\xa27q\xb4\xc9\xf8\xc3M\x80#J\xffx2\ +<\x22\x0d\xe5\x9cB\xbf\x0d\x07\xb9T\xf7\xd5\x94\xc2D\ +M<\x082\x02*\x9c\x87\x9c\xff\x9c\xa7\x9c\xaf\x90B\ +2\xfe-+\x7f\xcb\xc1\xc0|7\xf3\x14]\x04@\xec\ +\xa0\x07\xda\xd2C\xba\x91\x88}?2b\x04N\x9cM\ +\xfd\xa7U\xcd9\xa5E@\x8f\xff\xe6R\x05D(\xfd\ +\x91#\x1a\xe4\x7ft\xf1Q[\xbc@\x960\xbf8\xf6\ +\xd8\x01\xe8Y\x91\xbe\x81D\xf2|\xafg|!\xaf\x8a\ +\xcfc\x9c4\xcfN\xb1\xe5$[v\x17\xa9\x94d\xfc\ +\xe3\xf1%c\xcf\xbc\xde\xedR2\x851\x1e?K\xe2\ +\xf3\x90\xecRs\x7f2\x09\xe3KR\xd1R\x86\xec\x7f\ +\xb1\x04\x0e\xbb\x97\x98\xcc\x95\xdb\xc39\xd9]\x90\xe3\xdd\ +\xe6R9\x9cd~\xd5\xdd\x86\xc0/\x99r\x90!Q\ +b d\xc10\xff0\xdf0\x9f\xfa\x8a?]\x91\x16\ +\xca\x90\x1f>\xeb\xa2\x00\xfe6\xd5\xb9\x8f\x01.{,\ +j\xc4\x09\xc8\x93Q\xd4\xdf\xd3\x0d\xc0\xdc\xc7%;'\ +'{\xde\xa5\xd4\xc2w\xdfv\xb1\xebS.6~\xe7\ +\x98\xd8s\x8c\xefp\xb1\xebL\x13[\x97\xdd\xbfM\xec\ +\x1c\x1a\x1f\xeab\xd7\x8f\x8f\xf7\x1b\x9bC\xdb\x9d\xe4b\ +\xaf\xd7w\xd1\xfb\xcfId\xa5\xb9\xa4W\xec\xfe\xc1\xe9\ +\xa0\x04S\x94\xee\xaa\xb4\xc7{\x12xW\x02[+I\ +O\x0c\xdfp\xb1s\xfc\xe3.%P;\xbc\xcc\xa5\xd4\ +LO\xdd\xe4R\xda\xfc&\x0a\xb8;\x8a\x83\xd7\x9f\xe6\ +RH\x11\xfbg]*\xf26\x95\xf8D;p2\xce\ +p\xa9\xac\x94\xdb.\x0e\x9f4\xf9D!\xeb\x0bR8\ +\xbaR}<\x93\xa4\x8e741\xbb\xa0\xbb\xd2\xe4*\ +{\xfd-\x17\xfb\xfb=]\xa4'n\xab\xfa\xda?\xe4\ +R\x1c\xc4@(\x81\x90\xa1=\xa5\xc80\xfbK]\xec\ +\xef\x9eu)vv\xb7`\xb7@\xb7@E\xb6\xa8\x12\ +\x98\xe4PB\xa6\xfb\xb2\xaa\xb4\x09\x07\x8e.\x1b\xe8'\ +\xae\xea\x0aF\xe0-\xb8i\xd4\xbf>\xec1X\xe1\xd5\ +\x05#\x120B^L|1II@Rj$R\ +\xbf@\x92\x81\xb8\x81\x04\x94\xd2\x10\xfc\x05\x1cU\x95\x08\ +\xc0\xfd\x90J\x1e\xec\xfe\xfa\xed\x5cl=\xfc\xd3\xa5\xb4\ +\x09\x87\xa3\x22\xe1\x86\xb6\xabJl\x95 \x0a\xa45\xdc\ +u\xe2\xf0\x19\xbe\xe8R!\xd9i\x0f\x0b\xd7\xc4<.\ +\x85l09\xd4GT\xf6\xa2\xec\xb6\xd1\xbc\xa3\xf9=\ +\x91\x91\xdaa\xda>\xedOu)vh\xb0\xfdS\xea\ +\x03i\xa9\xba\xb1\xd1m\x03V\xfe\xa0\x8c\xd3\xfe\x09D\ +\xcb\xe7]*\xfbH\x01\x84T\xba\xb0E\x15\xd8f>\ +@\x962\x1e@\xfe\xf1\xd7\xc4\xe5\x13\x88\xa8\xeb\x5c*\ +;\x8dv\xae\xd8\x15:g&\x1dp\xea\x90\xd3\xa4\xc8\ +\xae\x93\xa1\xb7\x90j\xfb\x0f\xd0\xc1|k\xb5\x80ql\ +h\xbb\x03\xc4\x90\x05\x83\xe2\xe7\xda\x92\x93\xf1\xd3\x1a`\ +\x1c\xa4\x1c\xc4,\xd86\x03\xc3\xdfah\xc1\xdeK\xa4\ +Dm#\xc2\x10'0\xc0\xfb8\xc8p\x80\xb8/\x0c\ +\x176\x14\x11.\x1c\x11\x1cV\xd8\x8b\xd5/\xb6[\xce\ +\xc5&\xf4\xfb.\x15\xb4\x92\x8d\x02\xc9\x1f\x99L\x0c\xdd\ +\xe5\x1bC\x19C\x93\x88\x19\x0e3\xcf\x8d\xa3-\x07\x8b\ +L\x0fP\xf0\xc8\x98\xc3\xc2\x0b2\x80Z\xd2\xafd\x16\ +\xea\x08\xc0`\xc0`\xa8\xe0 Q~\xaf\x8c!\x0a.\ +\x0c\x01\xc6\x81\xf1\xe3sph\x16O\xd5\xe7\xa5\xdd\x05\ +\x5c\x0dj\xc7\x17l\xdf-r@\x1b\xdc\xbbS\xa7\xfe\ +\xd4\x04\x90\xb8\xbf\x17\xab\xd5\xe7>0\xdc[\xe8?\xf7\ +\x8d\xa3\xd5:r\xac\x9f\x86<%\x02Z\x8c?\xd0Q\ +):\xef*\x9b\xfa\xca\x92\xd9\x10t\x90\x03=U\xf0\ +T\xac\xa5|\xee\xe8\xed\xca\x10\xee\xa2}\xb1\x80\xd6\x1f\ +\xdf\x87\xc1\xf6\x85\x0c\x1d\xa2\x16)\x02:\x94x@z\ +B\xdf]\xb1\xe8GFU\xed\x19a_\x0eES\xcf\ +\xd3\xe2/\xd0\x17\x1e\x03\xfai=\xf7\xb3M{H\x1c\ +~\xf6\x17\x01\x14\x22\xd28\x04m[C\x91\x94D\xbb\ +\xc8S\xd5\x86\xe9\xee\xd1=\xa3{\xd2\xba\x98c\xe4\x5c\ +\x09or\x99\xbd\xdfz\xac[\x1c)\xf6I\x09`L\ +/\xe5@\xff\xf0w\xeco\x0crj\xb4q8q\xb4\ +p,p\xe8\x09s\x0f\x86\xde\x00\x00 \x00IDA\ +T4\xf1~\xee\x83\xc0RK*\xf6\xb8\x02\x93@\xe7\ +_\x1e\xd0\xf8\xbc\xdf\x97n\x10\x05C@\xeds`\x8f\ +\xfbg\x9d2_\x7f\xd5:e\xdd\xc2\xc2O{\x18\x22\ +\xbf\xcc+\xc8\x02\xf6\x19m\xfa\x80f\xe3\x80\xf2=\x90\ +3R\xf3\x0f\xa4\x17\x07\x0c\xbd%\x96l\x02.\xa3\x1d\ +\xa4\xb7\xb6\xd2x\xb4\x819JR\xe8\x9e RG\x1b\ +\xf3\xec\x08m\xa0\xbf_]\xaf[\xc7\xb7\xe5j\xa1&\ +\x99\xb6f\xe8'\xc6\xa9t\xbd\xc8\xdf\xc7\xb8\x120F\ +\xaf\xf0w\x9c\x07m\xcd5\xf3\xc9\xf8\xac\x91\xee\xd0\xd7\ +\xcdRi\xdd\xf0}m\x86\xbbm\x7f\xc8<\xb3N\xf8\ +;\xe6\x05\x87\x14\x87\x90\xfb\x05\xe9\xb3\xbdK\x09\xb8\x8f\ +\xf6\x13\xd9(P\xea\xad5?t\x89\x81\xdc\xedM\x99\ +\x84-J\x11T*G\xfb\x1f\x02\xad\xa6]rI\x19\ +\xef\xc7A\x05A!2\xb7p\x18\xc9\xe0*0\x13P\ +zJ\x02\xc9t\xb3/\x19\x07\xf4\x00\x99\x1c\x02\x98@\ +\xfeqXi;\xa8\x80M\x90\xba\x011\xe5\xfe\x14\xe0\ +\x89>\xcd@\xf2\xe5\xe8F\xa6\x032+\xf6\xab \xbb\ +\xd4\xc2G\xa0\x98\xc0?%\x85\xed>\xc7\x8ei\x03F\ +\xb3\x824s:\xc2\x91\x9aO\x0ce\x02=\x9cg-\ +)(\xb5\xb3p\x18\xb0\x1e\xd8\x07p\xed\xa0W\xdb@\ +\x04\xfb\x0c\x12g\x101<\x1f\xe7\x0a}\xb4)\xf9\x22\ +\x80\x00+7\x01\x10\xed\xb3\x80<\xd3}\x85q\xa6;\ +\x06\xa5(\xf4\xdd\x96A\xcc\xdfw\xbfv)dx\xe3\ +\xe5\xc6+\x8c\xedy\xc7\x0f\x8e\x1f\x18\xdb91y\xef\ +\xe4}\x93\xf7\xa5\x9a\xe8\xf4{\xfb\xee\x9c\x89<8\xb3\ +k\x8fN\xcb\xdc\x04\xe3[\xc67\x8fo\x16\xbb\xfd\x0d\ +v\xfd\x8a\x8b]\xe73\x99\xb7r\x88OqI\x1c\x02\ +&\xc5A\xe8\x8ew\xa9J\xe9\xe0\xda\xa0\xdd\x9d\x90p\ +\x09\xaao\xeb\xd8\x9b\x06z\xdb@\xd6m\x7f\x82K\x09\ +\xa8\xb2\x8d\xd3k\xd3KS\x87\x98\x1c\x5c\x8d\x03\x99~\ +\x05d`\xff&\xe3\x0f\xa7B*Ux\x8b]Ov\ +\xa9\x02\x18\xe2\x0c\xe8\xce09\xbd\x90\xf5u'\xba\xd8\ +s>lb\xebu\xbc\x85\x8b\xc8\x0e\xe7H]\x02~\ +\xdf\x99\x1d<\xb9\xae\xf3\xe6\xdb\xeb{\x5c\xec\xf7\x0f\xd8\ +\x88{\x89\xc0\xb6.v\xfd\x8b\x8b\xfd\xfe@\x17\xbb^\ +\xebE\x0bU`c\xc1\xcc\xad\xe0M\x02\xbdM\xa0\x9d\ +\xfdYo\xaa\xdbI\x04\xe2\xef\xce\xeb\x12.\xac\xfe\x93\ +.v\x9d/g\xec\xfb\xbd\xfb}z\xaf\xe1\xdf\xcf\xa5\ +\xd8\xf7\xb1N\x9crq\x8f\xe4\xb8%{:\xa0\xdb\xda\ +\xbf\x89;\xe2q\xb5;|e\xc5\x19\xe1\xa5\x5cn\x0f\ +;\xe3\xc0\xe7U\x1a\xf4\xabJ\x7f\xc2!E`\x0d\x84\ +\x8a\x1c\xb3n+\x97R\xeb\x9f\xba\x04\xdcY\xf6\x99\x87\ +{<\xe0\xd3\xff\xc8\xe4\xe2\xd2\x9dat\x8dKY?\ +\x01\xc9\x96?\xe2\x85\xce^\xeaL\x89\xc8\xd4\xc6.\xf6\ +\xfa>\x17\xbb\x1e\xeeb\x7f\xb7\xbcK\xd5.\x5c\xa5\x1e\ +\xc9A\x9dQ\xb1\xc47\xa4\xc1A\xfa{\x94K\xa57\ +\xc5\x09\x05\xe9bp,a\xaf\x11x\xf7R\x15\xaf5\ +\x7f\xb5Ku\xfe\xb9\xd6\xfdy\x95\x08\xd6\x02\x0fRB\ +\xf44]4\xd4.9\xec|\xf4?v \x09E/\ +\x94\xb8J\xed\x1e}}\xbe\xc2\xc5>f#\x93\x0d\x13\ +\x04\xfeYG\xf6\xf4\xd7f\xc4G\x22\xaf\xfcO)i\ +\x1a>\xe8R\x02=p\xa0\x0d\x97\xe4\x00\x07d\xa1\xf1\ +\x1c\x04\x92E&=\xec\xea\x92\xc6\xfd\x884\xee\xff\xb2\ +\xe7\xc9\xf6w\x0eps^\xd1u\xe9R\xf9}\xb4\xe3\ +\xbdJHw!\x0b\x13G\xc5q\xa5{\x8f3\x04$\ +\x8e\x00\xad\xaf\xf0\xf3\x18\x0fqP0\x8e\xfd\xbb]*\ +\x04\xac\xbahEW\x088\x8a@\xb8\x89\xec=\xba\x1c\ +\x80l\xa0\x04\x85\x80\xec\xaf]JI\xd0\x08\xf2\x0f\xfc\ +[!?\x83\x9bC\x08\x8a\xc9 \x13\xa2f^\x10\xbb\ +D\xf6pF\x951\x80uY%\x02\xfdq.\x05b\ +\x17,\xb1\xaa\x89\x87\xe4\x09R\x93\xc8\xc0\xb4\x90H2\ +\x0e\x1c\xac\x05r\x9d\x1d6&\xb6\x85\xca\x11p\x00r\ +\x09yW[\xbb\xcd\x06@c\xc3\xfe\x0c\x84R\x06\xef\ +p\xd7p\xe7pge`\xab\x8d\xd0\xc4O\x92\x04T\ +.\xfa\xea\x12iW\xbb\x87\xd92F<'\x0e$\xbf\ +\xc7\x80ac\xe3\x80p\x9d\xbb!\xe5\x22\x03\xc6}a\ +\xa0R\xe3A\xed%\x06\x16\x99b\x22}d\x5c08\ +\xdbZg\xc6\x1dC\x81\xef%\x90\x81\xa1\x8c\xa3\x0dR\ +\x83@\x0d\xf3H\x8d\xb7j\xe9\xc2\x00!\xa3\xa8\xda\xbe\ +\xd9H\xe8\x08\x80\xbcX\xd7\x05\xe6\x0f\xc7\xfc\xc5H\xff\ +\xda\x8c6\x8e\x1f\xcf\xfd/\x05\x8c\xe8\xe7\x8ea\xc5\xe7\ +\xe38\xe1\x003.(\x08\x9e\xf7ne<\x99WH\ +\xb2Dv4\xf1{\x19P8\xcc\x8f5\x90N2\xa6\ ++\xc8!\xdcD\x19(J\x0cFz~\x14;\x99Z\ +2\xf8d\xec\xa8\xf1U\xbfh\xa0H\xc3\xfa.U\x06\ +\x17\x12(\x027\xecsA\x12CA0\xef%\x00\x90\ +Yd\xff'\x04\xcd\xe3M\x7fx\x0cQ\x02(\xac?\ +\x0e\x10\xa0\xbbwj_a\xf8\xd3\x0da\xb2A>0\ +?d\xe2\xc5\x86#\ +\x13\xda\x92l\xcd7\x1dz\x16\xa4\x85\x9d\x14\xe3\xda\xca\ +\x99U\x02\xa5\ +-\xd7\xc9DS\xdbO`ba=\x0f\xcf5\x7f\x90\ +\xf0e\x07\x16=\xcex\xf0\x9c\xcc#\x88'\xa0n\xd4\ +\xbc\xb1\xdf:A\xeeW\xd5\xe7\x13\x18i \xfcaX\ +`\x888\xf4\xf7\x9ej\x9eq\xb0 5# \x86\xbe\ +\xc4\xd1\x87]\x996n\xd7&)dy8x\x04\x9c\ +q\xd4\xd1\x8f v\x166Gn\xe1*P\xda\xdcG\ +\xcc\xe3\x7f\x14\x00\xa0t\x86\xf1[P\xf3\xcd\x0f\xfa\x89\ +u\xdc\xd6\x90\xf3\xb9\x9c\x87\xb4u\xc4\x01\x03\xe9#\x88\ +~\x8c\xdfV\xca\xe4\xbeYl\xed\xbb\xaa6\x9c\x8c\xb7\ +\xf4\xe6h\x17e(\xc9$\xf0\xfd\x94\xc4\x10\x88\x159\ +R8\xfe\x90\x19\x12\xa0\xf8\xa5K\xe5h3n<\x1f\ +\xfb\x81y\xa0F\xdfI\xc6\xbeZ\xd8\xe6c\x1f\x13X\ +\x84\xe3A\xf3\x14\xed\xe9\xbe\xecb\xaf\xcfv\xa9\x12\x11\ +\x04\xa8pT\x81\x04S\x1b,\xfdI\x066\x0cT\xd6\ +3\xfb\x85\xf9\x07\x19 h\xbc\x17\x16\xa5\xd2\x22 \xb2\ +mw\x8f\xb6t\x0e\xae\x16\xb5\xad\x0c\xc7\x9e\x1f\xf4m\ +K\x12\xc8<\xa0\x8f\xf8\x1e\xba\xf7\x00\x91\x17\x947\xf6\ +5\xe3Nw\x18!.\xd8G\x04\xa8\xa3v\x9b\xf9T\ +;\xc5\xe8k\x0d\x12\x80\xc0\x14\xe7+\x995\xd6\x19\xf7\ +#\xfd\x1c\x19?A\x8d\xbb7\xb8TPw'=\xdb\ +3\x91f\xa5\xda\xea\xf1\xb1.\xf6\xfa\xe0\xee\x90\xee\x90\ +\xd2\xben\xf4\x97\x1c\x10\x9e\xd81\xb7\xa5#\xa1\x91j\ +\xea\xcd\xf1\x1ao\xe7\xa2\x1av\xb3;\xc7\x9b\x9a\xd8x\ +\x8d\xdf\xe3b\xd7\xde\xc5~\x7f\xb7\x8b\xbd?\x19\xac\x95\ +\xa3+\xd2\xbb\xd0\xb3Z\xff\x90\xd5\xc5\xf9\xe5\xe6\xfb\xb7\ +R\x00\xe24\x87\xfe\x8e\xcfsI\xc8\x05\x1333W\ +s)\x01\x06\x1cZ2\xcd\x11\xb0\x874Q]\x01R\ +\xb3\xe6\xbf%\xc76\xb5\xdf\x8d\xda\xfc-\x5c\xaaL\xff\ +\x1f\x5c\xec\xfa%\x97\x0a\xe1\xf06\x13\xbb\xdf\xee \x13\ +\x9b\xbf\xf1\xa7]J\x09\x84\x03\xfc\x1d\xe2\x9f\xb8\x07~\ +#D\x80}\xefx\xdd\xf1:\xe3u\x0a\xa9\xa0}\xfa\ +m\x9d\xcd\xd3\xf8\xfe\xf1\xbdco\x1f\xd8\xb9\x14\x88:\ +\xdfO\x02,\xda\xc4\xb1\xff\xc5\xc5@\x80\x08;\xa3\xbb\ +\xce\xc5\x96M\x9a\x08\xbb\x9e\x95I\xee\xa6\xaet\xb1\xe7\ +\xbe\xc8\xa5\xb4%3\xdd\x90\xed8\x1c\x14\x91\xc6%d\ +\xde*\xe2\x98\xb8\xb5\xe2\xb8\xf00\xdd?*\xbduR\ +j\xb0Z \xee8\xce\xca\x88\xe2\xe8F\xc9\xc8\x85I\ +Jf\xd5\xc3\xaa^z\xb0b\xe6,\x18\xdd\xed)\x09\ +{\xfdM\x17\xbb\xff\x83\x5c\xec\xfe/p\xb1\xff\xffs\ +n/\x19\xa4zJ0R\xfa2|\xcd\xc5\xde\xf7\x0a\ +\x17{\xdf\xeb]\xec\xf5J.\x15\x0b\xfd\xef\x5c\x12\x99\ +\xeb\xa1\xee\x7fu\xbbuo\xef\xde\x96X\xdd7rV\ +w\xc8\x12\xc3\xf1\xa6\x14\x10;\x8e\xf5K\xbbb>\x0f\ +\xbb\x9d@4z\x18\xbf\x88q\xf2\xc0\xcb\xfb\xaa\xcf\xa3\ +\x14h\xaa\xe9\xfe\x83\xbd\x8f\xbd\xf7\xc4t;0\xe1\x80\ +\x9e\xccz9\x9d\xbb \x10\xfe\xcf\xa5 m \x9b\x8d\ +\x80\xa82\xe2\xfd\xab\xfa\xcd\xfbWi\xfe7\xd3s\xee\ +\x5ce\xc4\x95\xc1\xef\x7f\xd3\xff\xb6\xffM:g^\x97\ +\xce\x99\x0d2\xc7\x01\xe4\x8c\xdd\xee\xdd;\x1d\xb1\x93\xec\ +\xb6\xa7K\x80\xa5?\xc7%\xb5u|\xc4\xdb:\x0e+\ +9]z\xc5%B\xbb>\x05\x06\xb9\xefaM\x97j\ +\x5c\xbe\x90\xc9-'N\xcb\xf3\x9eJ\x8av\xab\xba\x04\ +a\x071\xee\xe8m\xcd\x1b%.\xe8\x05Jb\xa2\xb4\ +\xe9\x89\x1c@\x0b\x92>\xec;\x12\x1d[\xba\x94R\x9c\ +a\x19\x97\xca\x9f\x12)\xed\xd4).\x95\x1dO C\ +\xdd]\xe2\xdcS\xa9\xc2d\x90\xd5apbp\x91\xf1\ +W\x86\x9f\xda\xb2\xa8)!\x02\xff\x1e\x97r\x03\xc1\xe6\ +\xba\xa2K\xe5\xe8\xb5l\xbcs6\x19\x1a\x0cm\x1cu\ +\x0c\xe2\x17#ik\xc9\x03q(8\xd0[\xd2\xbd\xd2\ +\xf6)\xf7S\x17ti\xe2\xa7b+f\xe3\xb0\xe1\x16\ +\x0dhlVP\x18F\x22\xb7 3\x96\xda\xa2lW\ +\xb1\x02\xbb9\xb0xe\x10\xf0|\x18\xa6\xdc?\x19E\ +2\x8e\x8c\x17\xdd\x05 sh\xb9\x100T0\x00`\ +\x09o\xdb\x88\x01\x19\x144+\xfa/\xd3\xa6F\x11\xea\ +\x98g\x0c\x122^8\x86-y\x1eW\xe6\x11\xb2/\ +\xfa\xa7\xb7%\x04\x18\xb2|.\x9f\xc7\xfd\xae\xd6@\x98\ +[.\x006\x16\x0b\x97\xf1h\xd7C\xd3\xb79\x22\x9e\ +\x9b*\xe3\xd1\x92\x1c\xa9\xcf}@\xc9Z\x87\x86\xef'\ +\xa3\xb6\x8dj\xf3\x05\xbd\x1e\xdd\xe2R \x861\xae\x9b\ +\xa8v\x96\xe7d\x9dr\xff|\x0f\xd0(j\xb3yn\ +\xc6\x8f\xf1!`\x04\x02\x84\xfd$\xc3\x9a\x8c\x05\xac\xe5\ +\xc3\x15\x19\x22\xd6\xff\xd1\xa5b\xd1W\x0d\x13\x90\xd6\xd9\ + \xf5\xcc\xff\xac\xa6\xf6\x9f}\xc9x3\xef\xa5\xad`\ +v(\x19_j(\x15\xd9\x8c\x03\x87\xfd\xf5\xcf\x86-\ +\x9f\x83\x05C\x1b(3\x19N2g\x1b\xeb\xa0\xc2\xc1\ +l\xdb\xe7\xb1\xefYg\xb0\xfa\x83\xb4a\x5c\x17R\xa0\ +\x89\xfd\xd7r9\x90\xb1\x9fz\x11\xbd\xc4\xfb(\x89\xf1\ +\xcc\xc4\xb2\xd5\xba\x83J\x02\x08/\xddS\xd8\x0f\xb4\x13\ +\x5c\xb8\xa9\x09\x9e\xaf\xe1*\xe1\xe0\x06Q\xa1\xcf\x0f\x12\ +P\xc6\x9f@\xdf\x0eb\xc9]Y\x01\xaf;\x04\xc9\x06\ +:\xc6\xdf\xf3\xb9 \x14\xf8\xbeU\xb5\x0f[\x87d\xe1\ +x\xdfth3\xefc\xffQz\xb4\x9cK\xe5\xd8\xe2\ +0\xb0n\x97\x94\xc34\xd1\x8c'\x07\x1e\x8e?\xf3F\ +\xa0S\xa4Y\x91qn\xba\xb4DF\x17G\xe8W\xaa\ +\x81T\x89V\xb0\x93\x9f\x9edb8\xc1\xa5\xd4\xeaE\ +)\x08\xfb\x16=J[+H\xc7v\xd0\xfa\x81\x8c\xa8\ +\x04J\xb2\xbed\x1f\x10\x00\xe4\xff\xdb\xcc8\xe7\x02\xeb\ +\x022\x9f\x0d\xd4\xa5\x81\xf5F\x00\xe7\x12\x05\xa21l\ +\xc5B\x1d\xed\xef\xd6\xc9\xf3\x90\x02\x15\x8b\xa4s-\x19\ +\xc2\xd1\xf7\x1dv\xfd\xaf\xb8T\xfa\x06\xf6j\xda\x1b6\ +d\x8c\x91\xd9\x10\x99\x1b}\xe8c\xddQ\x22\xa4\xccW\ + -T3\x1a\x1c\x19J$\x00\x91mI\xe9\xe2\x1c\ +@_\xe2\x00\xb7\xe3I@\x8c}\xder\x0c\xb1\xde\x19\ +7\xf4\x83\xf4\x0c\x81\x83\xe0\x08Q\x005\xda}\xe2\x00\ +cX\xb1\x0e\x99'\xcekJk \xb9c\xff\xb3\x1f\ +(\x85\x223\xc89\xc3>g\xbd\xb7\x01\x0c\xf6Iq\ +\xc4s@l[\x9d? 1\x08\xd0|9I\xb1/\ +(\xc5@_\x83\x00A\x8f|$I\xe1\x8a\xa1\xcb\x02\ +$\x9ar\xc4F{\xbaT\xe3\x04\xb2\x87uI\xcd0\ +\xed,\xe1\x0c\x10\xf9\x22\x1c\x03a_\x12\x00&PL\ +\x80\x90nH\x07\x9b;\xe0\x19\xf4\x1bF\xd7\x8fn\xa8\ +\xda\xe6\xfd\xd3\xc5\xae\xeft\xb1\xe5t\xaf\x1c\xd6\xed]\ +\xec\xff\x17w\xb1\xeb\xeb\x5c\xaa\x0c\xfa\xe7]J \xa4\ +\xfb\x8eK\xb1c\xa9\x91'\xc05\xbc\xd1\xc5\xae\x9fw\ +Q\xa9\xc0\xb7JW\x00\x02\xa7\xd4\xdc{^\xdc3\xe3\ +N\xd5\xe7d}S\x9b\xb9\xd82\x5c\xd1E\x99\xc7\xb7\ +&\x0e\x92wx\xc6\x95\x00J\xea\x22pIu.\x00\ +\xb1\xa7\xe6[\xa56\xc9Q\xd8\xabd\xaa\xbb\xf5M<\ +\xa3\xff\x9cK\xf5\xfc\xfec\xfb\xab{\xb5\xc9\x96)\xa0\ +b\x92\xba\x00\x5c9\xbe\xb2\x04L\xc6\x9b\x8d_5\xb6\ +y\x1d\x7ft\xfc\xb1\xf1\xc7R\xad\xfa\xd5c\xe7\x0ex\ +\xa5\x8b]\xaf\xd6ko\xbf\xf7\xd5\xd2m\x81\xf5\x9f2\ +\xdd\x1f\x91=yz\x15\xe0\x82\xdd_z\xa5\xbf\xc0\xc5\ +\xee\xe3#.6.\x17M]8uaY\x17S\x9f\ +v\xa9\x02\x98\x0a@\x0d\xff\xcf%!Z/w\x84e\ +*={\xba8\x80\xd8\xc7Q\x82q\xa8\x8b\xfd~5\ +\x93\xd5K\xa6yx\xab\x8b\xc8\xd5\x9e\xadJU\xe00\ + 3\xaaq\xef/31{\xa9\xdb\xd9d\x97\xc2\xa9\ +\x94\xb8\x0c\x9c\x8d\xfe\x13.v\xdf+\xb8\xd8\xeb\xbf\xba\ +T\xed\xfb\xd8\xaf8\xbe\xca\x0cGI\xc4\xaa.v\xed\ +\x5c\xec\xba\xa2\x8b]\xd7tQ\x00|\xb9\x82\xe4\xea\xb6\ +q\xb1\xdf\x7f\xc1\xc5\xae?u\xa98\xd987\x94\xe8\ +\x0b\xb28\xda\xc0\xe1'4d\xe8\xf1\xb3A*\x0e+\ +mY\xb5/\xa3F\x9d\x12!\xf4i\xd3n=>\x9f\ +\x1f\xb3\xdaR\xc9\xae}\x8a\x93`\x06'\x0c\xe7\x82\xc8\ +\xe6\x12\x82e\xee\x120\x0e\x92C\x05\x96\xa6\xde\xe5b\ +\xaf?j\xeb\xcc\xf6c\xf7\x80\x8b\xdd\xfe)&vn\ +\xf7\x7fr\x11\xf7\xd4\xac\xd2&\xaf{\xb9KBv\x5c\ +\xe9\xc8\x0e\xa0\xf8\xe1\x7f\x1dgV\xf6qi\xbe^\xea\ +\xf3\xd5?\xdf?\xd7?\x97\x90\xb3\x09\x01e\xa7Q\xb2\ +\x0b\x86\xe3e\x0f\xc8\xbe\x81\xe3a\xe2\x80\x89\xfdM\xbc\ +]en\xbb\xae\x80r\x94*k\xfcFO\xaa\x94G\ +]\xf3\xba\xaf\xbaT\xfb[\xa5U\xc3\xcb]\xd4^\xf3\ +\x91\x120\x0cd\x03$\xeb\x90\xcb\xbf\xde\xa5\x94\x0c\x10\ +\x10\x8dR\x08\xb8\x1e\x14x\x02\x01\xcfz#p\x10\xed\ +\x14\xef\x97\x1f!\x7fk\x92\x8d\xca\x82\x07z\xcb\x86K\ +%\x02\xb7W\x07\xbf\xa0\x08\x01\x11\x84t\xe6G.j\ +'\xf8\xb9\xca \xc7\xf1/\x06`>\x90q\x84X\xa0\ +d\x0a\xda\xfe\xe2m\xed]\xcb\x9a\x8c!C\xbfa!\ +\x0e \x0b\x01Z\x1c\xed\xb0 \x97\xe1 \xfb\x81jd\ +Z2 \x0evX\xd3\x81Z~Rl\xa5\xb0\x9es\ +`\xaa\xfbA\x04D`\xddT\xe6*\x0c\x0c\x0c\x16\x9e\ +\x93\x83z\xb1\xc8\x14fvj!\x14\xbcwA\xea^\ +\xc08\xb1\x119P\x89P\xd1n\x09E\x00k\xa4 \ +\xd7@\x86\x9c[=\xb1\xabC\xce\xc3x2\x1e\xa5\xa6\ +:\xff\x90\x99g\xde\x80\x1c\xc3j\x8fACD\xad%\ +\xe5\x22\xe3\xc8\xf3\xb6\x19N\xc6C\x7f\x1f\xb5\x92M\xff\ +e\x1c\xaa\x80B2\x0e\x81\xc5\xd3\xb5pJL\xef\xf2\ +\x00\x14\x1fGWP\xc7\xd1{]\xd2:\xcf\x11W \ +\x88@\xf6w\xce\x90\xd9\xd1_\x5c\x0a\xf41\xe6\xf3\xf0\ +\xdc\xff\x16\xf2\x9c0\xa4pP\xc9\xb0b\xb0bp\xab\ +V2H\x1b\x87\x08\x14\xe5\xe7\x12\xfbh\xf4m\xe5\xfd\ +\x18\xc4\x8c\xb3\x9e\xa7{\xa5Ku@=\x9f9;\x82\ +\xbc\x13\xf2\xbd#u\xbf_R&\x8d\x0c=\x99\xac\x99\ +\x0ax\xfdW\xdfC\xe6\x9fu\xc0}\xb4\xeb\xe5\x9fB\ +R\xc8\xe0\x85\xeb\x82\x8c_\x05\x99\xce\xf3\xcak\xd0z\ +d\xfa0\xd0Uk\x15\x7f\x87\xe3O\x86\x0c}B`\ +\x0fC\x92\x80\x01\xefk!\xd8\x94\x5c\xe0\x10\xc3\xe9\xc0\ +\xf3\xad\xd4\xd4|\x13\x00l \xdd ,\xc2@F\xcf\ +\xe1\xa8C\xe6\x03\xcb:\x8e5\xeb\x9dq\xe4\xa0\xc2A\ +d\xbd\xb0O\xe04\x99h\xc8\xbf\xb8\x1f\xde\xcf8.\ +\x22d\x07\x11z2\x16\x04\xea\xe0 ! \xd2\xe8\x9d\ +p|\xda\x1ae\x10> G\xb8\xff\x12P\xc8\xeb\x97\ +\xdan\x9078N-\xa7\x08\xdf\xdb\x06\x16\xb9\x82\x18\ +`]\xca\x81#\x13\x1b\x19}\x02\x088:d2\x09\ +,\x01\x85\xfcV\x86\xe4Q+\x18\x8e\x17\x90A\x05\x5c\ +\xc9\xe8\x85\x01\x15H\x80\xcc\xd6;1S\x90x\xd6\x0f\ +\xeb\x92\xf9m\xfb\xcb\xb7\xfa\xae\xb4{\xcd\xe7\x0c\x9c\x00\ +\x8c+\xa5/\x8c\xd7}\x82\xca\xc3!B\x06]H\xbd\ +p\xac\x81\x86\xde\x9eko\xbd\x89\x9a\xb7Q\xc3a\x8c\ +\x1f\x1cK\xd61\xb5\xca\xb4A\x02\xe1\xa0k\x04\x18\xbd\ +6\xd8\x03/\xfbg\x83(\xd6;\x81H\xda\xce\xa2\xb7\ +\x09\x00\xa1\xf79\xafT\x93:\x9c\xecR\x05X\x09 \ +\xd3\xee\x89\xd2;\x02\x11\xad\xc3N\xe0\x92\x008\xdf\xc3\ +O\xddm\xa6&\x7fe]\x80\xb0\x22\xd0\xc0z\xe5\xbc\ +`?2o\x0d\xf7\x03\x19\xe3\xd1\x96.\x95^\xc6\xc1\ +\xa5\xa4\x00\xbb\x86\xd7\xac+8\x12\xe4\xf8\x04$\x9ay\ +\x87\xd3bF\x86\x94C\xae\x1cv\x89\xce\xf9\xa8\xfdW\ +\xe2%\x10V\xecG\xf4\x9f\x10\x9c\xb1\xff9\x0f8/\ +9\xaf8\xbf\xf8\x1e\xe6\x81\xf5\x00\x12BvQ\x8c/\ +\x01[\x91\x11w\x1b\xb8\xd8\xeb?\xb9T\x089\xda\x13\ +*\x83\xd5_\xd5_\xd9_\x99X\xb5S;i\x0c\xec\ +n_\x97\x921\xeb^\xef\xa2\xef_\xbej\x83\x09\x02\ +\x0d}\xc6\xba$@\xc1z\x04zN@\x5c\xfa;e\ +\xc6\x8e\xad \xb8\xf3'\xccN\x0e\x80\x98}\xd3\x7f\xc3\ +\xc4\xec\xa7\xfe\xbb.U\xed\xae\xec\x90\xc9\xf4c\xc3p\ +\x8dK\xb1#\xa7\xd60YS\x01\xc8KJ\xc6;\xba\ +i\x894.\xf4\x15\x01+\xf4\x868\xa4(U#\x81\ +\xd3\xad\xe3\x22(\xb5\xe9\xeb\xeeH\x93#t\xfe\x9bA\ +?\xfe\xd2\xf8\xcbc{\x8e\xf1\x9c.v\x7f\xfb\xb9T\ +\x8e\xfd\x9b\xc6o\x1c\xdbz\x19\x1f2>x|\xb0\xbd\ +\xef\x98\xee\x8b\x9d\xe9\xc3\xc9\xd7\xbb\xd8\xf5\x13.\xc5\x81\ +\xa7\xa4\xa1\xbf\xc1\xa5*!\xc2Q~\x97\x8b\xfd\xfe\x08\ +\x17\xbb\xfe\xd3\xa58\x1c\x04\xc8\xcd+\xeb\xa6\xba\xca\x7f\ +\xd0:\xeb\xf7r)\x01\x1a\x12j\xc3\xa9\xc3\xd7\x87\xaf\ +\x17\xc4-\xa5\x81\x81p\x84\x8c\x8d\xc4\x82\x17\x8c|\xba\ +\x82\x8a\xc3\xfe\x0e\x97\x84\x12.p\x12\xf4W\xb8\x14\x04\ +\xc6\xd4~.e\xfc#`\xec\x14\xab{\x15\xd24j\ +\xeb\xe9g\x1f\x81\x00\xce\xc3#\xb2}e\xd6j.\x89\ +\xd8\xb9\xdf\xa5\xb7\xf1\xea?\xda\xef\xdb\xef[\x1c\xb7~\ +\x1b\x17\x05P\xe6N%\xc7\x97\xa6\xd2\x8a\xf3G\xe7%\ +rE\xe9\xdbDR\xb7jq\xa4\xfb\xb5\x5c\xaasV\ +\xf75\x1bb\x9a\x04h\x1d\x00\x18*;\x08\x0e\xa4\xdb\ +\xd5]C\x89& \xf3 W\xe2s[\xff\x83\xef\x81\ +\xfc\x95\x92i\xcek\xd8\xe6\xc9h\xbb\xd7\xf4\xc9*\xa1\ +\xe2i\xd7+\x12w\xc2-^J\x0b\xa7B\xff\xfb\xfe\ +\xb6\xfe\xf7\xd2O\xbfJ\xa5\x18\xf3{)\xc6 \xfd2\ +q_\xee\x22\xc1<\x80\xd0\x18->Z\xc2\x03\x0a\xdd\ +\x1a.)\xd0\xd3\xa5@\x0f\x01\xcf\xb9R\x7f\xa3\x89\xe1\ +\xe3.\x15\x87\x90\xfc\x16\x12\x17\xa3o\xab\x14\xea\x8a\xac\ +G#\xa0D\xdbJ!\xdf\xa3\x9d%\xdc\x02\xaft\xb1\ +\xeb\xd8\xa5\xea\xb6\x22\xae\x96\xee1\x17O$\xb8\xd8u\ +k\x97\xaa\x14@\xc8\xfa\xf8>\xb5'\x8c\xd2i\x05\xbc\ +\x08\xb0E\x00\x9dR-\x05\x82 _\xecNu\xb1\xbf\ +\x7f\xdc\xc5\xae\xefs\xb1\xeb\xfd.\x051:IM\x7f\ +\xca\xd3\xfdA\x07\xed\xda\x85\xe4\x0e\xd6T\x1c\x11ws\ +\xdc\xd1\x19\x0ep\xa9\x0c\x1a\xa0\x06@\xc0\xc9(\xb5\xed\ +\x9b0\x00\xf9\x7f\x0cY\x0c\xedv\x81\xb5$e\x18\x88\ +d\x020$Y\xa8\xd4\xb4\x11!\x7f\x9f \xfa@\x87\ +1\xc8\xc9\xf4o\xd0\xb4\x8f*\x8en>\xf0\x80\xca\x01\ +\xc1\x86-\x97\xfe\x97\x9d\x0e@\x0cf\xee\x0f\x85\x8e\xa3\ +\x04\xb4\x91\x0d\xd0\xb6\xbf\xc3\x90'\x13B \x006w\ +E\xde\x82l\x83\x1aJ\xa0P\xf4]\xe6\x8a!\x0a\xa9\ +\x0f\xed\x02\x059!#\x1d\x10N\x0cY\xeeS\xcfA\ +\xdf\xca\xe0\x1a\xe0>\x19o\x0c\x5c\x0c\x1b\x0c\x1d\x02\x00\ +\x0480\x90p\x18Z\x92$\x0c\x0b\x0c\x90\x06\xb2\x1c\ +m\x9dd`Q\xcbE\x0dW\xcco\xe1\xa0\x98\x1ex\ +`\x5cqp0\xfc \x89\xa2\xdd\x15\x86\x03\x8aR\x1b\ +4jh\xbf%\x83Xl\xca\x13o\x14I\x14\x9f\x8f\ +C\x82CE\xc0D\x19\xcc\x80rA\xa2\x09B\x05\xc5\ +\xf9\xdf\xa6mbK\x02\x89\x81\x09\xc4\x9d@\x87\xda\xed\ +\x8d\x9e\x15\xcb9\x06\xef\xce\xfa>\x22\x7f\xd7)\x92\x0c\ +\x82\x84\xb6'\xa5Ow\x1e/J\x12\xc8\xfc\x94Z\xf1\ +<\xae\xdc/\x90'\x1cr\xf4\x81\xfe~\xb4\xb6H#\ +/\x16)\x0d\x81\xb6g\xb4\x7f\xe1V\xe0\xa0\x80c\x83\ +}\xc8\xe7\x13\x98#\xd0\xb7\xaeJx0\x5cY\xbf\x18\ +\xea\x1cX\xada\x05\xb4\x9f\xdf\xcf\xdb\x90L\x82\x1c!\ +\xc3\xc78\xa2\x9f0\xa8qpX\xc7d\x84\x19\x07\xee\ +\xb7-\xe1i2\x89\xb1\x7fp\xb0\xe1\x0c\x81\x0c\xecW\ +\xb9\xedY\xdcw\xc9\x94N\xaf=&\x93\xca\xbe\x84|\ +j\x0b\xad; \xfc\xb0\xe4s? o\xd0_d\xe6\ +\xd8\x8f\xadC\x044\xb8E^\xb0N\x19\x1f\x9e\x13G\ +\x9e\xd7\xb0\xcc\xe3\xf0\xb2\x8e\xd0\x1b|\x1f\xfb\x93\xf7\x13\ +\xa0!0\x07\x19\xa9H\x9e\x220 dK\x94pi\ +\x1c\xcc-N%\x02\xb0\xdb\x0foq\xa9\x02\xde\x1f\xcb\ +m~\xc2\x90\xc1\x80\xc2\xa1\xa0T\xe8\xd1\xa6}-\xeb\ +\x85v\x84\xba\xcfh\xe74\xa7\xf4S\xe9\x12\x92\x03\x07\ +@_\xd13<'\xeb\x01\x03\x8f+\xeb\x90\xf5F&\ +\x06h?\xe4\x86\xec\xef\x96\x14\x92\x92\x89\xf5]*=\ +L&\x1f\x07\x8f\xb6Ep\xc8P\xf3\xaa\x0ce|.\ +W\xf4\x14\xfb\x10\xfd\xa0\x9a\xd4\xd8\xef\xcc+\xaf1\xcc\ +A\xbc\x894,J3p\xec\x80\xf4\x02\xcdf_<\ +\xe0R\x05 x\x1fvC\x13`\x8c\x80M\xc3I\x12\ +\xfb\xba\x81\xb6\xce\x96h\xc0\x0e\xe1|\x84\xd3D%\x0c\ +QK\xce~\xe0\xef[\x04\x03\xeb\x1aD\x05\x01'j\ +\xef\x99\xafF\x1f\xc5:D\x9f\x11H\x11\x046\xb8b\ +>\xe0b\xd79r\xe2#\xd5P\xff\xb7b\xfb\xa66\ +\x95s\xaa\xe9\x9e\x13z\x8f\xfe\xe9*\x85\x08\x12HH\ +\xd7\x18ou\x1b\xa2\x14\x89\xe5\xc0\xfe\x18}\xce\xa5d\ +\xea\xa2;\x84\xec0\x1c\xbc\xfe\xf4\xfe\x8c\xfe\x8cT\x1b\ +\x9f~\x1f,\xf2*\xed\x012\x9b\x02\xe7\x97T\xe4f\ +\xe8\x1d\x91\x9a\x05'\x8eX\xd3\xe9\xfa\x81\x03M\xf7\x96\ +\xe8&\xa1\xc4\xc9\xe8_.e\x7f\xf5w\xb8\xd82\xf8\ +\x8d\x89\xdd\xcf\xack\x5c*\xc3\x9d\xf3M\x81\xaf\x94p\ +\xb3\xf3d\xfc\x88\x8b\xce\x1b;\xb7\xa6\xd2O!-\x8c\ +n>\x9c?p3P\x1aFb\x0dD\x93?\xe5\xf9\ +Um\xbe\x90\x19\x89\xdbi\x0f\xfb\xde\xd3L\x1c\x92\xfc\ +\xa9\xee \xcf\xfcwou\xb1\xfb\xd8\xdcE]\x01\x16\ +Mdw\x1b8\xd9\xdd\xe4\x07\x5c\xec\xf5\xf3.v]\ +\xd9\xc5\xae7\xb9\xd8\xef\x7f\xe9\xa2\x12\x8e7\xca\xe1\xdf\ +Um??\xa8\x80\xd0\xdbJ\xe6\x9e\x9a\xe6\xfei\x97\ +\xf2X\xe6\xf0\x9a\xd8\xf3o\xe4R!\xaedo\x0d\xdf\ +u\xb1\xef\xd9\xd0\xa5j\x87\xf6U\x17{\xff[\x5c\xd2\ +y\xf82?\x0fG\x0f\x8e\x1e\x1ay\x00\xf8R\x93\x9f\ +\x08\xc2\xfe\xdeJ\xcf\xa0\xaf9\xa7p\x8c\xc5\xf9\x01\xa4\ +\x9f\xb6\x8dm\xc2\xb1\xdf\xde\xa5B\x9e\xa4\x1f\x95\xb8|\ +\xd9^?cbz\xa5\xdf\xc4\xa5\xca\xd0\x1e\x90\xbb\x0b\ +\xf4\x1f\xea\xf7N}\xeb\xe10\x92\xbe\x1c\xbe\x97\x03\xb4\ +\xfd;\xfbw\xf4^{\x7f\xb8\x8b2\xbd\x9e \x9c\xc3\ +\xc5\xae{\xb8\xccN\x82NiH$rT\xc2\xd6/\ +\xebR\x91|c\xff\xa0\xaf8\x9f\xf0G\xf8\x7f^3\ +Q\xd8\xdfBf\xe1p\x82\x94\x0b}\x86\xdf\xc3\xb9\x83\ +\xff\xa4v\xe4\x90\x04F\xd7\x02\xb8\x08|\x16~$\xae\ +\x9e\xf3J\xa00\xf4\xd1:\x89&9\xbe\xbf\xdf\xb1\xdf\ +\xa1\xb7u?u\xb2K\xe1\xb2\x9a8kXwX7\ +\xed\xeb\xb5\x9d$1H&O\x18\x8e\x1b\x8eK\xa5>\ +\x89c\xc3\xc3m)\xe0&\xce\x8c\xd1N*\xd1\x11\x87\ +C\x0a\x98\xd9\xba\x9d\xfa\xca\xd4\x89S'Vd{$\ +\x9cH0\x92x\xc3>\x85\xec]\xe71\x01\x81@\x04\ +,\xe7R\x02\x01Q\xb2I\xfbG\xb9A\xc3\xc1.\x15\ +\x22\x8b\x92m\xce'\xceaJ\xc6H,h\xdf\x04\xb2\ +\x80\xf3\x81R[!\xcc\x08\xc0Q*\xdc\xdd\xe9R\xda\ +\x16\x8e\xfe\xe7R\x12\xc3\x93a\xf8\xb9\xd9\xba\x82\x0e\xc4\ +\x99U\xbf^E\x1e\xa8\x95\x00\xaa\x10\x90f\x22\xb1\xfc\ +\xccj \xd9\x1c\x84\xdc0\x86\x00\x0f\x86a\xc3\x86\xe4\ +\x80\x03\x22\x8c\x82o#\xdam-8\x9f\xc3\xf7\x11h\ + \xa3A;\x07\x19@\xb1@\x95A\x1f}M\xed\x82\ +ppq\xc4\x94I\xaf\xda+\xe5\x88\x92\x1cmj\x96\ +\xcc\x09\xdcQ,\xce\xd9\xc0\xe6\xe0nkE\xa3\xf1\xaa\ +NJ\xfe\x9f\x03\x19G\x82\xf1\x02\x02N\xa6H\x91\xc9\ + I\x11Dmx\x9d\x8b Q\xabU\x0e\x0a\xe3\xe8\ +\x05\x0a{T\x5c\x06\x8aD\x8e\xfe\xcf\xa5\xaa\xe1c\x1c\ +q\xfc8\xc8iO\x07\xf9\x13\x10\x18\xc6\x1f\xa8w\x0b\ +!-}\xe4\xb3a\xc6\xfcq\x80\xe2\xf0\xbcH?\xf7\ +0\xfc\xf9\x7f)\xfc\x80\xac\xe2X\xb0\x810\xdcp(\ +\xb8\x12\xf1\x84\xd4\xac\xf4{\xcf\xcf+\x88}\xb4\x19#\ +CF\x86\x85\x0c\x0d\xec\xb8b=\xa6}[d\xf0q\ +XQ\x90\x9a\xef \xa7\x84\x84M\x9c\x08\xa9=\xcd\xfe\ +\x15T\x08Cl\xa1L\xc23\xc4:W{\xa560\ +0D\x17\x8bi\xed\xc2\xc80\xd8\xb7\xe6\x03\xef\xdd2\ +\x9a\x8d\x92\xf5\x10\x01\xf43\x5c\ +*?K\xa59\x13\xeb\xa8\xfd\x9e\x02\x15\xfd\xae\xfd_\ +\xfa\xbf\x14\xbb>\x1c\xff\xef\xe4\x92\xd8\xe0\x8e\xa0t\xea\ +\x80L\xa2\x0b\xb2%j\xea\xa5\xbf\xf1\x0bG\x8f\xbbT\ +v\x10\xe3)\xff\x8f\xd2;\xda\xe3\xb6\xe4\xc1\x04.\xe3\ +J\x1bl%\x06c\x9c\x14\xe0\xee\x7f\xedRu[\x00\ +\xd9\xa6\x80O\x04\x16\xa4wc}s\xbe\xea{\xa3\xa4\ +\x98n\x01$F\x95\xe0\xa3d\x8a\xd2\x92\xc9p\xf0<\ +\xf2\xb5i\xd5\xee\x83ZIA\x11\xa2\x8f2\x0a\x9cH\ +\x09_\xa4\x83\xd9\xbbpz\x0d\xc3h#\xb5\xaf\xc1`\ +\xc5\xf0ljn\xa3\x7f4\xed\x0a\xa8\x81 b\xdeF\ +\xac0\xe0[G\xa4m\x17\x87\x81I\x9fH2\xe9\xb0\ +\xd6\x0a\xfa\x1dl\x8a\x18\x22\x18^\x184l\x10j\x1a\ +\x89\x84\x911\x85\x95\xdd#B\xdfy\x81\x0c)\x06n\ +Kr\xd7\xb2~\xb7]\x130\xecpl0\xd4\xa8\x95\ +>\xc6\xa5\xca(\xfb\xf1\xb1r\xa9\xf9\x08C\x15\x92:\ +'\xb39\xadrtwr\xb1\xeb\x81.U-\x0d\x90\ +a2R\x8c?\xe3L\x06\x0e\x84\x05\x11\xa8\x1b\x94\xa9\ +\xe4\xfb Y\xc4\xd1\x1a\x9a\x9ac\x22\x8b\x18\xc8\x18\xf8\ +<\xf7\xe6\x22\xbb\xdbA,\xd8\xcf\x092yr\x8e\x10\ +\x87!\xc5xq\xbf8\x10\x18\xa6l\x00\x0cg\x0c\x1e\ +\xd6\xa1\x22\xf2\xc1vM[=\x90\x00\x22\x8d\x09\x05\xb3\ +\x99\xa0\xff\xaf\x94\x03:\x11\x08\x8fl\xb0a\xd0\x80\xd0\ + \xd3\xc48R\x13\xbb\x82Kql\xa3\x7f\xbd\x02j\ +D2'~\x19\x10\xef\xdc\x1f\x9by`\xfd`\x10=\ +\xd1|/\x07\x87\x14\xde\xf0\xc3\xe1\xc2\xe1\xc2\x0a\xc9\x22\ +Cv8Q\x0al#E\x1e\xb7\x14\xe4\x94\xf5\x0d\x17\ +\xc0\xcc\x06\xb2\xac\x0c\xd3\xf0\x9c8$\x80\xe2\x13\x90\x82\ +\xb4MH\x83\x08\xd8`\xf8\xd1^\xe6u\x19\xf2\x17%\ +Fr\xb4\xc2`SM\x1d\x9c\x0b\x91\x81&\xe2\xad\xee\ +\x11\xb1\x0e\xb8\x12\xd8d\xffPJ\xf2\xa8K\xb5\xae\x0a\ +i\xe4\x0b\x22\x01\xc20C\x7f5d\xa2\xe1\xc01\xef\ +CC\xae\x87c\x05\x92\x05\xc7\x1fG\x8c}\x00\x12\x03\ +\x16~\x02\xb0:\xa8B\xef\xe1\xe0\xe9\xf7\x90\x02F\x09\ +\x04\xdf\xaf6\x8b\x11Pd\x7f\xa0gxn\xf6\xcb\x8a\ +\xdaO\xe8+\x0c-8\x05\x96lJY@\x00\xe0\xa0\ +\xc2a\x82\x81H@\x84\xbf\xc3\x01+\x5c\x0c\xf9{\xdb\ +\x1a\xeb\xc5\xa3\xbda&\x19\xd3\xf9\x10\x19\xdfeR\x1f\ +\x82\xa2\xa7)\x8d\xb8G\x86\x1e\xfaf\xed&\xa0E \ +\x84\xfd\x82\xe3\x06\x17\x06\x81A\x22\xfe\xbf\xc8%\x06\xe6\ +^\xe5L\xa7\xa0\xe7\xf1\xc3\xf9\xc3\xfd\x82\xf8iK\xdf\ +\xe6\x0d\x8e\x07JO\xa6\x9f\x03M\x09[b\x90Y\xbc\ +\xe2R\xa06\x1c\x87\x9fu\xff\xc6$%\x00\x02\xfb\xbb\ +\xce\x83\xe1\x1d\xb9fq\xf4Y\x97i%.y>\x9b\ +\xee/\xb1?\x951\x8b\x80k\xc3~O\x065\xceA\ +\xd6\x17\xfb\x84\xf1`\xdd\x97\xf5\x95k\xce\xd5\xfe,\xd8\ +\xa5\xa5\xb7\xc2Q\x07\xf1\xc08b\x80\xe1\x10\xb3\x0f\x98\ +_\x10\x0c\x1a\xbf@\x86}\xc9\xa5\x22\xcd\xa4\x04\x86\x0c\ +0\xed\x92\xeet\xa9\xd6gId\xe4u\x02\xf2\x0e\x04\ +\x1c\x5c\x17 d\xb0\x83p\xb8y~\xe6\x1fC\x9es\ +\xaf\xb4\xb7\xcb\x01\x04^\x8b\xdb!\x0cMj\xafAF\ +\x81\xf0!a\x81\xbe\xa4\xff\xb6J\x10c\x1d\x82(\x80\ +\xbcY\xed\xbe\xa2+\x10\xc8O\x025\xdc?]\x10\xb0\ +\x1f\xb6\xc9\xedC\xc3\xde\x80\x04\x91\xf5\xc6\xfb\x09\xbc\xa8\ +\x04t\xf8\x9eKA,F\x86Jm\xe2b=(\xf3\ +n\xee{\xe2\x96\x1a\xfe\xe6\xa2\xfe\xef\x8b\xe9\xd4\xbb\xb9\ +\x22\x05\xd3\xb9\xd9\xff\xcf\xa58*\x04\x1c\xbaI\x13\xdb\ +\xef\x93\xaf5\xd9\xa6*\xf58!I\x94\xaaF\x97\x08\ +\xffT\xb3\x7f\xfa\x9f\xbb\xc8\x007\xfbg\xea\x07.\xb6\ +\x0cVq\xb1\xd7wO\xdd5uwU\xbb\xad\x0c\xdf\ +\xe8g.\x09\xb2\xfd\x87\xd1\x1f\xca\xbe\x1b\xff\xc3\xc5\xee\ +\xe7*\x97\xd4F\xd0\xa4B\xa2A\xceL)\x87\x02D\ +\xd1E@\xd0\xf9\xd1\xd5.\x85\xc4\xd1\x9b\xc7\xa5\xf6q\ +\x8e\xac\xf8|E\xf28G\xee\xae\x14m\x0f\xc5\xfd\xd1\ +\xfd\xa8\xbb\xa8\xbb\xa8t\x15\x18?\xe4b\xe3\xb3\xb7\x8b\ +\xbd\xde\xc9\xc5~\xbf\xb6\x89\x9d\x17\x93+\xb9\x14\xe4@\ +7\xafK\x95\xe1\x04\xfa\xbf\xb2\xc9JE\xbf&D\xe4\ +\xaf\xfc\x10\xb7~\x00\x00 \x00IDATl\x9c\x96\ +0YR\x19m[g\xddw]l\xdcvr)\xed\ +\xfa\xa2\xa4\xf2\xf9L\x8e\x18\xa5H\xcahG7\xab\x0f\ +\xa9t\xd3\xb5\xcd\xba\xb2\xcf~T\xe9\xb1\xdf\x9a\xfc\xae\ +\x22\xa9$ \xb0\x86Ke\xcf\xc2\x96\x8e\xe3\x7f\xae\x8b\ +}\xcf\xde.v\x7f\xdft\xa9\xfc\x199\xd8\xa3G]\ +\x0agV\xb7\x9aK\xe1\x9a\x88\xfe\xed\xf7\x0cw\xa7\x00\ +\x18d\xcc\x0b\xba\x14\x0e\xb5\xe4\xf0],\xfd\xb6i\xa5\ +\xd7\x95\xa9\x8dRL\xf9-Q\x0a\xb1P\x86\xbc\xc7\xb8\ +\xe9<\x84\x1b\x03\x08>\xe4\x82\xe1 \xa2/\x17j\xc8\ +g\xb1K\xc8@\xc3\x0d#\xbd\x99\xd2C\xdf\xaf\x02\xb6\ +\x9c\x07\xe28 \xb1\x00R#\xf4\xd8oS\xb1b\xf1\ +\xdb\x0a\x82+\xfbWp\x02\xfc\xc8E\x09\x9f\xdf'\x7f\ +$\xdf\x07\xe4\xb6\x0ax\xc1I@\x06}\xe2\xba\xac'\ +\xa36\x1f\xfbL\x08\xa4\xfek.\x95=\xbd\x88\xec\xa1\ +/g\xd2\xca\x08\xc0*\x90\x94\xba\xdc\x1dX\xda\xb7\x0f\ +\x1fr\xa9\xdaI\xa2?\xb1_\xa4?\xc2\xdf;\xde\xa5\ +\xf2;\xf17\xb1\xc39\xdf\xf17<<\xe3\x5c\x14\xfb\ +\xb8TH\x02\xba\xd8\xe8\x1c\x8b6\x8f\xac\x0f\xba\xdb\xb1\ +\xce\xe8\x02\x80_\xa1\x00B\x94\xc8\x80h@\x8f\xe3\xcf\ +c\xcf\xab\x04k\xf4\xa0\x8b\x93\x00\xfe[\x0a\x18r%\ +\xb1|R\x9b\x16\x06\x1ed1\x8a\xa8\xd0\xff4\x0e\x04\ +\x0c\x01jr0\xc4\xda\xbe\xb8D\xa4!{\x22\xc3\x02\ +;1\x11Q\x1c\xef\x864\x89\xbe\xd4\xb1\xb0q\xac8\ +`_\xda\xd4\xe6\xe3\xa8\xe2(\xb7d68\x10\x18\xfe\ +d\xf0\xda6c|\x0f\xf7\x05\xd9\x0e\xfd\xd29\x10\x9b\ +Z\xc1T\x121_\xd5\x7f\x94\xf7s\x104\xfd6\xe3\ +s\xdb\xf6\x84m \x05\xe8?\xedA\x9cT\xc2\x15\xd5\ +\xd7]*CVmJ\xec\xb7\x89\x8d7\x10\x01\x18V\ +Z\xa0\xb1p0\xd0q$1\xcc\x19W\x0e|21\ +\xd4|\x03Yi\xdb[\xa1\x10p<0\x8c00\xc9\ +,cp\x91y\x80c\xe0\xebb[UI\xcal\x01\ +\x04\x0cM\x0c\x1f \xbd_\x16{\xfc\x8f]\x0a\xebe\ +d\xf8\xa4\x00\xa2o1\x8e*}\xe0\x15\x18\x09\xc7\xe0\ +&9\xe0\xab\xca\xd0-\xb5\xb9\xd3H\xc2&f\xe6\xda\ +\xfbx\x1e\xfe\xbf\x85\x9a\xe2P\xb3\xfe\x8f\x17\x07\x02\xec\ +\xfe2\xbcb\x8cZs\x9d\x9f\ +\x81,@/\xc29\xa3\xf3\x97ZX\xb8w\xc8\x84\x11\ + \x09D\x02\xfa\xf7\x02\x97j^\x05\xb5\x8es\xf4\x90\ +\xdc\xbe/2\x86\x22\xb1\x8an\x0f\xe8?!\xe9fC\ +\x0c\x90)\x03\x22\x8c\xde\xd2\xb9\xde\x7f\xc7E\xe7\xa7g\ +\xbc\x1e\xcbl\xfa\xd1\xc7[\xed\x0c\xfb\xfd]J\x17\x80\ +\xe1 \x97b\xafF-\xf7<&\xde\xaen~\x93\x05\ +\x8a\xe31\xebf\x17\xbb\xde\xe3\x92\xc8\xdbVr\xf26\ +\x02\xd2A~(\xfd\x11\x81J\x87\xca\xefU\x02ZQ\ +\xba(C\xfct\xfc{\x09\xdc\x8c\xba\x5c\xdb\x0cky\xf7\x1e\ +\xcf\xd1\x97\x12\x04;5\x8f\xf4sst\xd7\xe8N'\ +)\x04\xc9\xe4T\x84NF\x18\xf7\xe5\x88V\xef\x9ap\ +\xa6\x89\x8d\xd7dob\xe34~\xca\xe4\xc9\x8a}}\ +\x0e\x97\xc4\x19`R8U\xfa\x97\xbaT\x0e#\x81\x9f\ +\x1b]\xec~n0\xb9\xbep9t\x97u\x97w\x97\ +\x97\x9amj\xfeS\xf3\x81qi\xdf\x09GBB\x80\ +9\x12i\x7fel\xbd\x14\xf9\xfbb\xfd?\xa9\xb2\xa3\ +\xd0\xdb\xe8\x03\xd8\xed)\x15\xfd\xb0\x8b]7u\xa9\x10\ +\xac\x0a\x0c@\xc2F\xdb\xbe\xa8i'p$Gv|\ +\x82K)\xa9\xe9~\xe6b\xef?\xcc\xc5\xde\x7f\xa3K\ +\xc5-\x01\xa4\x1e\x84\xa7j\xf0#0\x86c+\x84J\ +\x946=\xe6R\x12SQ\xaa\x06\x87\x15\xfa\x92\xf3^\ +z\xa9{\xadK\xc5.\xef]\x0f^\xa6sg\xbe\xaa\ +\xfd'z\x14\xc7\x90\xfd\x05\x94\xdfqE\x07*p1\ +\x7f\xc5Q\xd1t\x0d\xe3<\xa6\xb4\x22Y\x93w5%\ +\xc2\xcfU\xfaeKq\xb68e\xe9\xb1\x1a\xd7{\x0a\ +\x09yp\xc0\xfcx\xe2\xe2D\x96\xf9\xdf\xd1\xe3>\xce\ +\x90\xfd\xd9\xd9\x97\xfd6\x02\xb2B\xf8\x85\xffD7\x06\ +\xf4\x08\xe3\xce\xba \x80.\xbf\x08\xbd1\xfc\xd0\xc5\xae\ +ov)\xddF\xe0r\x08=\x07B\x1a2F\xec \ +\xc6\x87\x8c<\xf3\xc2\xf9\x8c\xde\xfe\xf5\xc4\x8d)\xc0\xfb\ +\x88i\xcbG\xab\xf6\xc5\xd8\xc3\x04v\x17s\xb1\xdfo\ +\xe3R\x05Z\xd4\xc6=\x12H\xb2\xa7\x86\xb9\x5c\xaay\ +\x90}C\x17\x84\xf8\x7fJ\x1c\xf8>!\xcb&\xbb\x13\ +s?\xd5\xe17\xc3-\xc3-\xb6\x80\x0e\xec\xff\xaf\xff\ +\xbf*\xc2\x8c\xa3\xf6\x91\xa8\xd9\xc8\x03\xa2\xda\xf7`\xf5\ +%#K{\x0c\x1cL\x0c\x18\x02\x09@L1\x08\x18\ +H\x16\x18\x86\x04\xaf\xc9\xc4\x93A\xa3\x86\x91\x85\xd0\x90\ +\xe4E\xdb)\xbe\x1fh\x9b\x22m\xe18b\x10ax\ +\xf3\x03\xb4\x94L\x07\xf7\x03i\x0f\x19\x85\xd2\x9e#\x93\ +\x18\xa9Oq\xd4\x8a\x108p\xf3\xaf&\x11\xe2\xff1\ +(\xc8 p%\x92\xce\xb8\xf0\xfd\x18\xd4\xfc4}\xdd\ +\xa9!\x1b\x9e\xca\xac\xa7\x13\x7f\xca\x07p\xb0\xf9\x12!\ +\x95A\xd3-\xda-\xd6y\xad\xdb1\xfd\xd1\xfd\xd1\xd5\ +\x02'\xb0\x80\xc1\xca}\x14\xc37/h\xc6o\xc1\x86\ +\x15\x1bC\x15\x07\x87\x0d\x8ac\x02\xf2\xe3\xc8\xd1Q\xa3\ +\xa3\xaa\xcc\xcdE9C\x0d\xa4p\xe2t\xb5m\x02\xba\ +(\xb2\x99p\xa4qHJiA\x86\xce\x83\xc51 P\x8f~a\x9d\x91\xf1\x22\ + C\xc9\x92\x0c/\xa0\xeaQ\x9b,\xbd\x16\x88$\xd5\ +h\x02\x15\x1f>\xe5R\xd9I\x04D\xa8\xa1\x87\x05\x5c\ +dT\xd1\x8d\x84@\xdc\xeeIJ)\x842\xc8\x04H\ +\x80\x96\x86\x1dBF\x1br\xba\xa3\x92\x04\xc9Yd\xd0\ +\xe0\xc4\xe1}\xd8!\xacC\xc8\x05)\xb5\xa1\x9f\xb5\x0c\ +^\x02\x15\xe1\xf8\xab&6\xba\x11\xfdM\xe7\x0e\x89&\ +e\xc4\xbb\x7f\xb9\xa4vz\x89\xec\xb0\xbb\xc2\xc5^\x7f\ +\xc3\xa5\xb4\x1d\x84,\xb0{\xda\xc5\xaeoq\xb1\xebG\ +s\xfbA\x02+S_p\xb1\xeb\x86.\xa5?{\x7f\ +\xb7\x8b\x1d\x17\xbb\x98\xecl\xaf\x7f\xe0R8\x01@\x8c\ +F\xa2\x85\xf3\x97sR\xa5(\xfd\xe6.f`_\xef\ +R\xd9\xbf\x90\xd71?B6L\xfc0\xc9l\xe7d\ +*\x9dZ\xa2\x04V\x022N&\x12\x92g\x91\xa8\x11\ +\xf0\x8a@\xf9U\x19B=:9\xb7\xddD\xdf\x8c\xfe\ +lr\x97\x90\xb0{\x94\xd2\x11\x1c\xf3Y\x17\xb8T\xec\ +\xe3b7\x1f_\xefRJ \xba\x15\x5c\x0a\x07\x04\xf3\ +\x0a\xfb}\xf7a\x17\xbbn\xe6R\x10\x11\x90\xd9\xc11\ +\x12$l\xfa\x9e\x18\x0f\xce\x15\xf4?H.2\xddn\ +}=[\x1c\x9aac\x17\xfb\xfc\xb3s\xfbA2\xc6\ +ty0\xe7\xd6%\x1c\xed\xfeK.\xd5z$\x13.\ +\x92l\x10#\x04f\xba\xf7\xb8\x94\x92,\x90\x0b\xb4M\ +\x1c^6\xbc49\xdep\x19\xe9\xbcN\x88\xce\x9f\x08\ +\xea\xbe\xa5\xf4\xf2\xf9\x05Q\x11\xdcdd\xeei?N\ +\xb7\x05\x9012\x03\xa2\x14\x0b\xa4\xad\xecwJ+\x86\ +\xce\xc5\x9eo\x17\x93]\xedz\xb5K\xe1\xc6\x89@\x1e\ +\x88WJ\xa8\xcc\x8a\xf1\xb6\x8eI\x0b\x9dUe\xecA\ +\xac\x90\xe0\x81\x04\x1b\xfd\xc4\xb9\x06R\x0e\x04 \xb5\xf0\ +\xc7\xaaV\x9f\xc0\xe6\xb5\x13?K\xfa\x87\xf3eK\x05\ +\xfa\xe1\xf2VIK\xffc\x97*\x90py.\x05\xa3\ +\xa6\x9fqr\xef!!\x5c\xe9B%\x84Y\xb4\xf7d\ +\x7f\xe2O\x12\x08\xdc\xc0\xa5:\xdf \x81\x14\x97A\xec\ +\xf3Ed\xbf\x80\x84$\xd0\x09\xf7\x88\x10#Ui_\ +\xb6\xa7(y8C\xfb\xf4:\x91\x17\xab\xa4\x8a\x04\xd9\ +\xb0\x88\x8b]\x97t\xa9\xce{\xec=\x02\x00\xefT\xc9\ +ncoG\x89 \x88lq\x14\xb4m\xcd\xe1Lb\ +_M\xda\xf6\xbbvtm\x95I\xc1\x00TM7\xfd\ +K\x03jH\xdff&\x9c\x88\xfa\xf6\x19R\x1bd_\ +d\xb2\x89\x90\x93\xd9\xc1\x00h\xdby1psD\x1f\ +\xeel\xe8\xb5\x869\x86\x00P\x0f\xd8\x801\xecDR\ +\x135\x9b\x18\x12\xbc\x8f\x1d\x84\xe1\x03T\x83\x81\xe6\xf5\ +\x5c\xd3\xa1\xb8\xb3\xf5\x01o9\x09\x94a\x0eV`\xa0\ +\x8aD\xbc1hy~\xbe\x87\xf6D\xd4\x02\xc2\x96\x8b\ +c\xd0@\xc7g\xeb\x17^8\x06\xf2k \xc4\x18V\ +(L\xda\xc8\x956\x8cy\x9c\x97\xd7\xf8S\x93\xa66\ +)\x18&\xe1\xf03^\x0d\x1bz8R\xdc\x17\x06\x1b\ +\x99\x8b\x16RH\xed\xfc\xfe9\x12\xc5\xf3\x8e\x0eT$\ +\x9c\xcc,\x11X\x19\x22\xb0\x09\xc7\x81\xcb\x86\x04\xd2\xfe\ +\x17!\x128\xa0\x09`\xe9 \x19\x9d\xebR\x22\xe7m\ +\x1bC\xfa\xf3F\xa0I\xeb5\xfas\xaa\x96-\x10\x10\ +(\x14\xc6\x07\x83\x9a+\xf3\x8fF\xc3\x91i3Ct\ +\x8bP\x1f\xdd\xb8o\xad\x1bS\x18\x99\xd4\x8c\x0cs\xdb\ +7\x9e\x0c\xff\x5c\x19\x02\x18\x0e?\x0a\x02\x05\xdb:\xa0\ +\x8b\x86B\x03z\x9e\xd7?\x06$\xa51\x04p\xd87\ +8\xa8\xec\x7f\xfa\xc7S\x93\x8f\x03\xaau\x12\xdd,h\ +k\xa9\xf6\x8b\x81\x04z\xa9KE\xa6%\xd2\xcd\x18o\ +\xf4\x03\xfb\x8d\xcf\x07\x22\x0b\xd9\x9a\xc8I\x03\x11@\x1b\ +?\x1c\x0d\x1c\x1c\xde\xdf\xe8!\xa0\xc9\xf1\xfc/\x9d\xde\ +V\xd0\xcc\xeb\x8cXzYC\x8a\x07\xf7\xc13y}\ +G\xc0\x86\xfd\xde\x06Hp\xacy\xae\xb5\x148C\xaf\ +.02q\xc5\x9d\xd9bM\x07\xe6u\x02\xc2\x81\x03\ +\x8cuE\xe0\x87yb\x9fKoFf\x12\x03\x83\x0c\ +%\xf3H \x01\xfd\xc6:!\x80\x00g\x015\xfc\x04\ +.\xd0\xdf \xaa\xd03\x9b\xa8m\xd9by^g\xab\ +1G\x9f\x13\x98{k\xae\x9d\x0dC\x82\xf5\x88\xfeC\ +\x9f\xf0\xdc\xdcoC\xaeH\x86\xc3\x9bUy\xbb\xaap\ +\x14\xd1C|?5\xce M\xc8\xb8\xbdC\x08.\x1c\ +o\xee\x1bG\x0eR ^S\xe3\xa8\x80\x07\x10N7\ +\xa7G{T\xf36\xc7\xf4\xae\x06\x81|c\xff\xe1\x18\ +\xb7\x99\x7f\x02b\x04lh?\xb7\x99j\xde\x09\xbc\xa0\ +\x7f\xe7\x97>F\xaf\x10\xc0\xc3Q\xc3\x10\xa8k7\xff\ +X\xd5n\xca`\xe0\x9c\x07\xf2N\x06n\xb66\x95\x1a\ +'j\x1c#\xb0\x0f)\x15\xeb\x93\xf5\xc1\xfac\x9d\xb5\ +\x5c&\xe8E\xd6-\x9f\x07\xb2N$\x87\x01e\xa74\ +\x86\xae\x01\xd4\xa4\xc3\xf2N\xcd8\x0e*\xe4p\xd4\xa4\ +\xb3\xbf(\x09|\xd8\xa5BL\xc0i\xc3\xfd\x82x\xe3\ +\xf9\xdb\xd28\x9e\x83\xf1n\xdbi\xb1\x9e\xb0\x1f\x18\x17\ +\xf6\x19\x08\x01\x10\x09\xdaO\x11`\x81Tl?\x97\x94\ +\xa81)}\xb6\xfb[]\xec\xf8\xda\xde\xa5\xdaG \ ++\x04\xfd\x0c\x03\xfeY\x97\x8a\x95\x1e\xc8\xb5\xb8\x92\x22\ +\x00D\xa9\x18\x9c\x09 2\x84\x14\x0d\x0e\x1f\x02\x0a\x9c\ +O\xac[>\x8f\x00\xa7^\x939M\xb5\xd0\x9b%\xb2\ +\xaf\x94\xa9\xa6\xe6\x1aGs\xbc\x83\x8b]g\xb9\xd8\xef\ +\x8f\xc8\xac\xf7\xde\xc3\xc6\x03\xf7p~t\xcf\xba\xd8\xdf\ +]\xecb\xd7K\x5c\xcax\x90 \xc11\xef\xf7q\xb1\ +c\xe2\x10\x17\xbb\xee\xecb\xd3\xf5\x0b\x17\xfb\xfd\x94\x8b\ +\xdd\xdfF\xb9/{\xd2\xfaK\xe89\xaf\xa9\xdac\xb2\ +.\xb0\xe7d\xbf&\xf2\xb7\xef\x95\xeeK\xdd\x96.%\ +3=\xba\xdf\xa5\x94nE\xbft\xec\x1e\xec[/\xb9\ +\xfdq\x09\xf8\xa5\xf6\x84\xdfV\xe0\xe3t%*\xde_\ +!5\xd0w\xd8\xe5\xd8;B<\x85]\xb2|\xb2\xfc\ +J@\x8b.\x1dz\xae\xf1f.v\xdf\x9fs\xb1\xd7\ +K\xbaT\xfb\x82\xf5\x0d\x02T\xe7\xbc\xa7_\x12\x19\xa5\ +\x07\x1a2\xa2v\x93t?\xb7\xd8\xa7\xdfR\x10@\xc3\ +\x12.6\xce\xeb\xf4\xeb\xf6\xeb\xdau9\x97\xc4\x02\xff\ +{g\x81\x1f\xfe\xe7\x92\xec\xbbLF\x87\x03\x0aWP\ +KzK\x97\x94#M\x8e\x10\xd2\xe6~9\xc0\xce\xc2\ +?\xb8\xd8\xff\xbf=\x97hL]\xefb\xff\xbft\xbf\ +T\xbft\x95q\x87\xd5\x9fq\x02\xb1\x84]\xaf\xd7\xfd\ +\xc1.%\xc1\xd9\x9d\xe8R\x05,@`\xc1\xf2~\xbf\ +\xd93\xf7\x97\xae\x07 Ab_\x93\xf9\xa7\x0d\x9dw\ +_\xbb\xa3\xea\x9a!\xb29\xdaM\xe3\xb8\x03!\x8fn\ +l\xf2\xc3h\x8b\xe9i6O\xb4M-\xeeb\xdf\x7f\ +\x91K\x09$\x05\x02\x8eu\x03\x898\xe7,\xe3\xec\x9c\ +\xf3\xa7T\x81\xe5\xe5\x86\xe5\xbd$$\xe1>>+d\ +\xed\xae\x15\xb7\x15]5\xd0\x8f\xb4\x8d\xdf\xd6\xa5\x8c\xdb\ +\xb0\x93H\x13\xbf+2\xd1-\xcc\x9f\xdb\xa2to\x1b\ +\x9d\xe4R9\xc6\xdc\x97\xf4O\xb4c\x86\x94\x14\xfb\xe4\ +\x01\xf9U\xe2T\x18Vw\xa9\x90*\xea\x06\x14\xf6\x80\ +\xf4\xf0\xd4\xcf]l\xfc\x16q)\x0e\xf5\xe8t\x97\x14\ +\xf8Hv\x06\x1c9\xc3\x8e.)\xc0aR\xd8\xfc\x03\ +\xd2\x0f\xe9\xe4a\xea\xbaF\xdbE\xe9\xd3@&\xab;\ +X \x15H0\xc1\xc5\xa3\xc0\x957\x1b\xf4v\x83\x11\ +\x88W\x005\xb8\xedd\xa6\x07W\x8b\xec\x06\x90X#\ +\xd9\x97p\xc6M\x0e\xcf\x8a}S\xd0+j\xc5\xa9\x11\ +\x88\x03\xf6\x09\x19\xd0\x18~\x1a\xc8\x80\xca\x893 \x22\ +\xbd\xff;\x81\ +\x19\x0c\xd4\x1a\xe1\xb0\xc84\xc7\xe1\xd7\xe6@W\x04dX?\ +d\xf6h3\xc8s\xb3^\x98\x1f\x1c\x0e\x1c|\x14#\ +\xd7\x87u\x90\xb2O0hAF\x80\x84i\xc91\xc9\ +\xd0\xe0\xa8\xb1>8h\xd9\x17\xa5_<$n90\ +\x05i\xca\xa3\x22\x7f\x03\x92M\x80\x88\x1ad\x1c\x00\x9e\ +\x87\xf5L\xad\x14\xf3*\x12\xcf\xe1a\xb1\xc1\xde v\ +\xf1{\xf5>\xf6\x1b\x861\x99G\xf63\xdf\x83AD\ +D\x9bv{Oj\x5c!\xb7\x13\xe7\x81\x99C\x89\xcc\ +\x88\x80\xd10\x9fK\xe50\x11\xc1T` \xc6\x0b\xc7\ +n[\xd5\x02\xbfJH\x00\x1c\x09A\xf2\x86\x87\x5c*\ +R\xa0e\xe5\x90q\x00\x82\x5cYE\xf3\x84\xe3P2\ +\xe2y\x1f\xb3~Xw\xf35\xe3\x8b\xfe\xc0am\xd9\ +\xf1\x09\x00P[O\x86\x9e\xfbx\xa9\xd6\xed\x84\x0c\x7f\ +>\x97\xf1\xe6y1\xb4\xf9!`J\xc0\x8d\xfd\x06\x99\ +\x1e\xb5\xd5\xe8G\x1cN\xd69?m{@\x02\xa0-\ +\xf4\x1c\xc7\x15G\x05\xb2\xa0m\x95\x19\xa5D\x03\xbd\x80\ +\xfe\xe0\xfe\x0bYc\xfe\x1e\xb8&0H\xf9^\xf6=\ +dd\x18\x00 \xb2~\xedR\xad\xb3\xf7\x069N\xde\ +\x87\xcc#\x86\x19\xe3I\x06M\xfd\xeb\xa3\xe4H\x0e\xfb\ +p\x85j\xf1\xe8\x06Cw\x1b\x05\x90 \xf5\xb4\xd3.\ +\xb3\x89?!\xc7\x9a\xfbc\x9d\xff7J\x04\xf2\xcf\xe2\ +\xd3K]f\xe3\xaa\xe0\xbck\xb8\x05\xc2!f|\xd1\ +'\x85Lq:\x19j\x83\x14\x8a\xb6\xb8p5p\x9f\ +\x04f\xe1\x86Q&et\xb6KUS\x8f^9:\ +IY\x8f\x0a\x8c\x04\xf9\x16\x06\xba\x02M\x81\xe8\x12k\ +w +\xd0\xbb\xea\xd3\x1d\xeb\xb7-\x09\xc3\x8e\xa0\x9d\ +\xa3\xce\xff`\xcd&\xe3/\xae\x83\xfe^\x97* D\ +\xd7\x1c\x02\xbbA\xdb\xe3sh\xb7\xcc\xfa\x96\x83D_\ +m\x90T\x01\xad\xc5\x0e\x012\x0d)2\x8e\xbf\x0c\xf4\ +x\x1f\xe77\x9f\xafq\x80\xf4xt\xb8\x8b\xbd\xfe\x9d\ +K\xa9UO\xbb\xf2\xf9\x8aC\x07\xfdG\xbfj9v\ + -pX\xcc\xad=stfr\x80s\x17\x8e\xef\ +\xaa]\x1c\x86\xb4\xef\xd3S\xab\x0c\xb9\xb8\x03\x12$\xbe\ +\xabX\xfd\x09D\x82t\x83\xfbE\xc8:\xec\x8a\xfe1\ +\x97R*0\xb5\x8c\x8b]\x175Y\xac\x22\xbb\x96\x9e\ +\x0b\xfb\x01\xfd\xdevq\x02\x81z\xf8\xe80\x1f\x97\xc4\ +\x95\xbf[U\xf3K\x80\x96\x9aj\xe6\x9b\xae\x00p\x11\ +}\xdaE\xf3qT\x81R\x8f\xd6u\x112u\xa1\x8a\ +#\xc0\x0d\xfd}\x12;\xfee\xa3\xcb\x8a\xdd\x88\x83g\ +\xdf\xbe\xf7\xb0wI\xbc\xd0\xc5`\xd8\xcd\xa5 yR\ +\x8d\xbe\x97 \x5c\xe4R \xee\x89Sa\xb2pF\x10\ +\x18\x09{\x08\x87\xea\x92\xccY\xd4\xcfr\xb1\xeb\x87M\ +>R\xb8\x00\x22\xe3\xae~\xee\xc3\x02\x99\x13a\xf4\xdd\ +\xdc\x96\xba;\xd0\xc5\xae7u7w7'\xe4P\xe2\ +0\xa043%b\x1e\xaf\xd8\xdf\xbd\xcd\xdfYj[\ +\xb7K\xa9\xf9O\xda\xe9\x98\x8a\x94\x8f\x12\x94\xcf\xba\xd8\ +\xf7\xcf\xe5\x92>/\xd9{\x89$\xf9\xea\x12\x88b~\ +\xfa\xc5\x5c*=(G\xbb\xff\x9eKB\xce\x9a\xd8\xf5\ +A\x97\xea\xdc\x94\x9e\x8bqS\xb7\x84\xf0\x0f \x11W\ +\x89G?v\xa9\xda\xda\x02Q\x07)\x83\x9e\xe3\xbc\xd0\ +\xf9\x1d\xa4x\x94\xa6\xe2/\x10\xe0%\x00\xce\xeb!\xd1\ +E\xe7}yk5>\x90\xdf>\x9dB\xd6Yoo\ + \xfd>\xb72\xcf'&\xae\x80<\x0f:/\x03\xa9\ +L\x89\x9e\xb8\x14R\x0d\xfb\x15\xd2\xd7\xbf(\x89\x98\x80\ +\xeccw`\x17Sr\x0e\xb2E\xa5C\x11x\x81\x04\ +\xf3w.\x85\xe5\x1e$\xf6\xf0\x01\x97\xaa\xfd:\xf3\xa0\ +\xf3\xa2{\xbfK\xd5\xbe\xcf\xdb\xdd\xbb=\xbbk\x92(\ +\xd9\x89\xae\x22*1\xe9\xe7u\xa9\xc8>\x85\x04\xc0\x0e\ +\x89R+\x10, \x02\xc5)\xd0\xdf\xe2Ru\xa9\xc0\ +\xbfA_\xc8\xbe\x8f\x80\xef\x97\x93\x94\x80-\xe7\xba\xec\ +\x96H\x0ccW\xe1\xffi]\x10h\x80#`X\xd3\ +\xa5j/\xa8\x80\x1b\xfe6\xc8\x83\xc9a\x17\x97\xc2b\ +\x0aK\xae7E\xf2\xb6H\xa1H.\xcc\xb5\x12\x90\x9e\ +\xd1w8\xa0\x0a\x18$z\x7f\x1c\x94@Mq\x5cY\ +8\x04\x12\x980\x0e\xc2\xb6\xadTa\xa9\xce\x07\x11\x86\ +)\x19\xbd\x16rN\x86\x8f\xcf\xc3\xc0\xc5\xf0\xe4>p\ +lQ\xe8m`\x00C\x84\xd7\x90\x14RS\x01) \ +\x8e\x1f\x06\x17\x8e\xfd\xb8i\x0f\x88\xc1\x01k\xb1\x16`\ +\xa6\xdd\x1edo\xe8K\xbe\ +\x9f@O\x09\xb8L'\x8bc=3\xde\xac#\x02\x88\ +\xac\xa3M\xe5p@F\xc3\x81\x02\xf2\x82\x9a[8\x05\ +hG\xd5\xb6\xf1\x049\xd0\xd4tGI\x07\x91\xebw\ +\x09\xda\xbarD\xe23\xc7C\xdbF\xb1\xad\x89'\x00\ +\x85\xdef\x7f\xb0\x8e\x19\x9f\xb6\x16Q\xe7\x10\xa5W@\ +\xa9\x87\x8f\xe4\xdaO\xf6M\xb4\xd5\x02\x99A\x09\x8a\x1c\ +\xdcp\xb4v\xd3\xb9V\xda\x94\xe6}L\xcd>\xc82\ +\xae\x8fF\xdb\xda\x1cX\xe0J@\x82\xfbm\x11T\x0b\ +4\xac\xff\x5c\xd9G\x04\x06U\x9b\x1d\xebt\x9ef\xdc\ +@\xd2(\xd0\x15\x81\x0e\x1ct\xf4*\x10Y\xd5\xe8\xc6\ +>\x07\x99\xc7\xfc@\x06\x87!&\xf2\xa7(M\xe2|\ +'\x80\x8a\x83N\xdb@X\xf5\xd5m\xa4\xdf\xd5\xa5\xb2\ +/\xe0ra\x1fAFG\x7fp\x9d3a\x98\xa1O\ +Y\x8f\x05y\x93\xd7\xdf\x0e.\xa5v;\xf6\x19\xc8C\ +2\xd4\xf4\xa9\x177\x08\xedc9g\xc8\x0cF\xffp\ +j\xb0\xd1\x9f\xaaY\x0f.\x0a~\xb0\x1f\x18\xaf\xb6\x0b\ +\x03\xcf\xd9\x06\x001\xe8\x09\xa4\x01\xa1g\x1d(\xd0\x18\ +\x08\x008\x1axn\x9ds\xce\xec\xe3\xdc>QKN\ +F\x8bs\x0aD\x10z\x05=\xd5\xb2\x84\xb7]\x9a\xb8\ +o\x90\x15\x94\xd0\x11\xb8\xe0\x1c\xc2\xa1\x01\xa1A\x1b1\ +JA\x09\x08Q\xe3\x8e!+\xa4\xd5\xf01\x97\x921\ +\x04\xb2\x0bD\x9a6s)\x93\xbd\xa9\x12\x00\xff\xae \ +\xf4 Q\xc4\xf90\xa8[\x0e\x19\xd3\xf1\x87\x5c\xaa\x00\ +\x81\x02X\xfd{]\xec\xfaC\x17\xbb^\xecR>\x07\ +\xf26\xb85\xa8\x15\xa6V=J\xce\x08tP\x12\xc2\ +\x95@\x95\x1c\x93~+\x17\x1b\xfe\xbd\x5c\xaa\xc0\xc2\x8c\ +\xcc\xd9A)\xe2\xe8.\xaf\xde\xaf\x12\x19\x90\x06+\xd0\ +\x92\xac\xe9m*\xbb\x16.\x12\xf6;\xc8$\x90\x08{\ +gr3\x1b\xe5\x5c\xf2r\xbdKA\x1c\xa6\xcf\xb5s\ +\xb6\xff\x82K\xc5e\xa0\xfd\x14\x5c_\x9c\xfb\x0a\xb0t\ +?t)\x99\xc6~n\x17\x8d\xff\xcc\x92\x11\xc5\xf1\xea\ +/u\xb1\xeb\xbf\x5c\xec\xfa~\x97\x14\xd0\xcf\x89*8\ +8\x08\xf8\x82<\xfa`\xfe\xffT\xaa\xe3\x8e\xf8\xd7M\ +N\x95#~\x8e\x1c\xf0\x87J\xc9A\xca\xac\x1eZJ\ +h\x22\xd0A\xffu\x95\xa2P\xf3\x1d\x19bq\x05\x04\ +\xe2E\xa4\xd6\x81\x1cy\xbe\x9f\xd9\xdbsu;\xb9\xa4\ +\xb6\x95&\xb6\xdd?=u\xe8\xd4\xa1)\xf0\x96JT\ +\xbb\x0f\xb9\xa4\x04\x97I!M'\xa1\xda\xcdp)\xdf\ +\x9f8\x95\xe6,\x81,j\xfdi\xab\x18\xe7\x01\xf3\x0b\ +\xd2\x03{\x9c\xda}\xc8\xe4@\x1e(\xd0\xc89\xdf\xbd\ +\xdb\xc5\xfen\x19\x17e\xe2_\xab\x84H\xdd\x16\xd5\xdd\ +\xd5[\x12'\x5c\xee\x92Fi\xd3k\xe4\xc7\xb1\xde\x09\ +\xc82^\x90\x5c\xfe\x5c\xac\xff\xd8\x09\xe8Q\xbaam\ +\xe2Rq\xb5\x80|\xe5\xdc\x86\xbb\x85\xf3\x826\xa4\x0a\ +L\x0d+\x0d+\x0efGO\xad\xeaRuw\xf0.\ +\x10\x9f\xab\xec.\xda\x9c+p\x10\x1c%$td\xcf\ +\x0c\x1ft\xb1\xeb\xd9.\xc5qv\xc6\x09/!\x83#\ +'Hc\xb5\x1f\x82L\xb6\xe1\x5c!a\x0e\x02\xa3\xff\ +\x91K\x09\x04E\xe0\x06}\xcc\xf9I\xfba\xb8j \ +\xa3\xa4$V\xe7\xe9lve\xc3E\x12\xed6\xd1_\ +\x9c\xeb\xe8gJ\x0d\x94\xf0\x9c\x1c]\xa7\x0d\x8e\xe1p\ +\xb7\x0c\xf3\x1d\x15\x09\x86\xa4\x866f\x22\x91\x18\xb6\x12\ +\xdb\xbc2\x8c\xd1/\x98\x08F\x1b\xc9\x87\xac\x0e\xc5\x06\ +\x14\x8c\x9a\xf9\xd6\x81j\xdbcq@a\xd0\xf0\x03d\ +\x17\x83\x8a\x00\x03\xedsP\x94\x1c\xc8\x1cx\x18P\x1c\ +\xcc\x8d#F\xad7\xa4\x0c\xf1\xc3\x86;\xd3%\x19\x94\ +9\xb3\x8f\xc3\x07b\x82\xcf\xe7~9\xf8\x81B\xf2w\ +,\x04\xba\x15\x90\xe9\xc2\xa1\x03\xaaL@\x01\xc7\x036\ +v \xc3d\x84\x01.\xc8\xd0177C\xf9\xdbv\ +K\x8c\x07\xcfM\xa6\x83\xb6Y8@\xcc'\xf3\xc8\xfb\ +\x04Y\x0e\x87\x81\xbf\x7fI\xbe\xef\xd1/\xb4\xae\xa8\x8d\ +\xa1\xcd\x1a\x8e\x1e\x86U[z\xc1k2+:\xd0\x83\ +\x93\xa1\x0d\xd80\xee Ip\xb4!\xa3\x12\xc4.j\ +\x0cY\x17(<\x0cu\x1c\x0f^\xe3\x80\xf0\x9a\x80\xc9\ +\xa32\xac\x08x0\xae\xcc/\x0a\x9b\xd7\x9a\xc70D\ +\xd5\xb6o\xf8k\xae\xe9\x8aq}\xb2\x098\xb0\xfe\x17\ +hJW\x0a\xa4:\xff?\x0a`i\xcd\xc3*A\xda\ +G\xa6\x19\x12\xb1\xac\x90\xa9\x89\x17iY\xd4 \xc3\xa6\ +\xcdz$\xc2O[B2w\xdc\x17\x8e\xc8\xc2\xd3\x1d\ +\x91xn\x1c]2\xff\xd4F\xffV\x11\xd1{Ez\ +B\x1bBe\xd8Q\xc4\x94lP\xb3\x16\xdc\x0b\xb7\xe8\ +\xfd(@\x1c\xf45\x14Q\xe6\xe0A\x81\xb2\x8f\xe0\xf6\ + #F\x04\x9a\xfdT\xfa\xd5Oc\xc1\xb7c*\xaf\ +\xbbmd\xd81\xbf8$m\x97\x8f\xe0z\xc8\xa54\ +\x13\xea\x8ab\xf7\x9a3\x828l+\xbbT\xfb\x9b\xcf\ +\xe5\xf5\xcb\xc3\xf1\xcc\x07=\xeb}\xe1\x18O\x02CY\ +?\x12\xf8\xe35\x075\x8e\x10\x19z\x10\x00@\xf0\xe9\ +C\xce:\x84\x03\x04\xbd\xdav'a\x9f\xe3H3\x0e\ + \x01vV\xc6w%\xedCj\x00\x9fS\xe6O]\ +\x22b^\xda\xee0\xec\xa7\x96s\x04=\xc4\xdf\xf1\x03\ +\xf9\x17\x19\x08\xfa\xec\x92\x99\xc0\x81\x82T\x8c\xe7\xa2\x96\ +\x9e\xee(dj\x80Bn\xd1\xf4\xe3\xd6y\x18\x8e\x11\ +\xc86X\xdc\xd1\xab\x18\xca\x9c\x7f\xe8\xb5\x96\xb3\x83+\ +\x0e+\xe7\x1b\xdd4\xda\xd2\x0d~\xcf\xfc\xc2\xa9\xc0\xbc\ +0\x9e\x94\x1c\xf0\xfd\x04\xda@\xfepN\x82Hc|\ +\xd9OmF\x9av|\xb0\x0f7m\xf0\x80\xb2\xa2\x1f\ +\xa2\x1b\xc5\xb1I\x0aI\x9f\x0c\x93\x84\xc4\xed+\x08\xbf\ +j\xa0i\xb3\x15\xa4\x84\xe8]\xc6\x93\xd7\x90\x91\x02m\ +\x16\xa9Q\xd4\xee\x93\xc0\xa0}+$m@DU\xbb\ +I\xe6?\x1c0\x95\x0cD\x00\x00\x87\x9c\x8c-%G\ +\xcat\xc6\xba\xe2\x9c\x98c:\x09i\x04l\xd8\xcf\x9c\ +[\xcc7\xe7\x02\x01k\x12\x02\xd2\xc3\x90\x14\xc6\xff3\ +\xef\x94\xa2`/i\x9ep4\x03qA\x80W\xec\xd0\ +\x18\xd0\xa17`\x97\xa6\xf4\xe3:\x97\x8a$\x0dVl\ +wH\xef\xaa\xd6\x19\x81]\xc84!\x1b~\xd0Em\ +\xd4fV\xf7\xcby\x86\x03\x00\x12\x8b\x00\x9b\x0c^\xda\ +\x04\x0e\xe9\xc7\x86\xeb*\x93+U\x82:\xab\xd8a@\ +\xcd\xfb\x1d]\x14\xb8\xbf\xdd>~\x09\x97\xe2`w7\ +\xba\x94\x8c\x7fw\x89K\xe12H$i\x8bW]\x05\ +\x9cE\xfd\xd6*\xa3\xf6S\x17\xfb\xfb}]*\xfd\x80\ +\x1eB_C\x86{\xe2\xe8\x84\x14`\xd8w\xe2\xa3\xa9\ +\xc4\x11\xc83\xc8\x03\x91jGi%\x06:v\x8b\x02\ +$I\xfblX\x9d+ \x0b\x04A\x8f\x9a\x7f\xbaR\ +\xa8\xe4m\xb8W\xe4\x92\x22\xa5\x1d\x1e\xc9\xdf3\xfc7\ +g\xde\x09\xfc\xc5\xfb=\xa1g\x0eM\x7fe\x7fE\x7f\ +\x85\x8d\xcfc.%`\xdb\xcdt\xa9\xce}8K\x14\ +`\x8f\xcf\x13d>H,\x9d\x99\xe2\xbd\x85[ \x05\ +\xe8\xb6\xaf\x1c\x19\x91I\xe2\xb0\xcf\xfc\xc6\xcc\xd3g\xda\ +\xfd\xf4\xeft1\xc7nS\x97\xd4\xceq\x99~\x99\x02\ +UN\xee\xcb\x8d\xa5\xcb\xd5\xf0-\x97\x12\xb8\x80\xf4\xac\ +\xbf\xd9\xa5 \x1b\x02\xda\xff5\x97*@DW\x03\xee\ +\xff\xe5.e|\xa2\x0b\x8f\x07`m\x7f\xf6\x9b\xf4\x1b\ +\xf7\x1b\x97\x80\xc44\xfb}y\xad\xc7\x1dJ&vt\ +\xbbK9\xefFo\x1b\xed\x96\x906pm\x80(\x13\ +\x227%`6\xad\x90\x08 \xdcD\x1a\xc8\xf8E\x06\ +\x9b\xcc?5\xef\x90x\x13\x00T&:\x102B\xec\ +t\xefpQ\xa9\xc5\xadZ\x97_\xaf\x02\xf8Br\xdb\ +\x19\x92\xcf}!0\x02QM\xc92%\x0a\xd8\x19\x9c\ +#\x0469\x8f\x08\xf0\x92qW\x09\x00\xdc\x02\xa3\xa3\ +]\xca\xfa\x09\x12n\xc8\xef8g)Q\xfeJ.\x09\ + \xb0\xd2\xbf\xc4\xc5\xae\xbb\xb9T\xfbE]K\x86s\ +\x5c*\x07\x1a\x12I \xf5*9\x8dR8\x05\x0e\xfb\ +S\x5cR\x09\xc2W\xfd\xfbB\xafC\xd6H\xc2A\x1c\ +\x11a\x97\x81$P\xc25\xc8\xa8\xf5\xfdp\x94\xf4\xfb\ +\xbaT\x01v\xb5%\x0d\xfb\x02\x8e\x078\xef\xb0\xb3\xf0\ +_(\x15\x82\xab\x0c{\xecSI\x82\xc4|\x10)9\ +\xa4\x93\xb4\x19$\xe0:\x19\xec\xe0\x22\x91\x18\xd6v)\ +\x19\xd0\xa8\xc5\xe5\xc10\x00`\xe5\x17\xb4\x86\xc8\xe7\xe8\ +9\x97*\x92\xcd\x0dsp\x00A\xa3\x8f/\x91\x0bm\ +\xe88h\x880c\xf8\xe0x\xe2\xd0s\x90\xe1\xc0\xb7\ +}\xbe1\xbc8p1 \xc8H\xb5\xd0\xdc\xb6\xc6\x9e\ +\xcc\xa7\x22\xda\x91)\xc1\xb1\xc7P\x92\xe3\x16\x19T\x0c\ +66\x02\xb5\x96\x90\x14\x91!'\xb3\xc5\xc2\xe1\xb9\x18\ +7\xbe\x87\x83\x00\x03\x1f\xd2\xbf\x85\xb5\xb0p\xa4[\x92\ +@e\x9eF\xaf\x10t\x14vr\xa0\xc1b\x93\x1f\x9e\ +\x96c\x85A\x0a\xb4\x10\xb2\x1f\x91\xa1\xc4}q`\x95\ +\x8ct>\xe8\xa9\xf5\xdbX\x06\xf4CM?\xe3\xc6\xc0\ +\x8dy\xc6\xa1mK1\xc8\xa4<\xd9\xacC\x0e\x226\ +V\xd3N)HR\xf8\x7f\x91\xf8\xd1\xee$\x90\x10\xd4\ +\xc82\x8fm\xbf\xf9bx\xe2\xf0O/!)P\xde\ +\xec\xe8\xb4\x88\x04\x90 \x18:8N\xd4\x94\xd3]\x00\ +\xc3p\x0d\x19\x8cK\xc8\x91n\xfb\xac/\xa3+\x86\x07\ +\xb5O\xb4\xa3\x22\xf0\xb1\xbc\xd6\x0b\x8e-\xf7\xb3\x922\ +\xce@yq\x10\xf8\x9eW4dw\xed\xef\xf9<\xf6\ +\x17\xf7\x05)\x0a\x81\x88\x95\xb5Oz)J\xda\x01\x12\ +0\xc0p]6Jc\xb2#N\xe0\x08\xc3\x9au\xd2\ +@q\xe3\xbe\xd8O(|\x1c\x0a\x91\xabD\xc6\xbb\xd5\ +#\x059\x93\xf5\xc3\x0a\xd1\x86.\x8f\x1bz\x8a\xbf[\ +A\xe3\xca8\x12\xe8@A\xaf\xad\x9a\x7f\xc6\xa9t\x0d\ +\xc9\x0e\xc4\xdf\xc4\xbe\x8b!\xccs\xe1\x882\xae\xdc'\ +\xfb\xbdm\xdf\x87CL\xe0\x8f\xcc0\xef\x03\xd2\xa7\x0c\ +O<\x1f\xf7\xcb~\xc3!\xc1\x80o\xbb\x0fP\xf3\x0f\ +B\xe0\x99\x5c\x22f\xfa&#&(\xf9@o\x81p\ +ye\x03A\x87\xd3@\xeb#H\xc4\x084\xb7P\xeb\ +\xc2\x8e\x9f\xff\x1f=\x0d)\x1d\xfb\x0d\x07\x9d}CI\ +\xc78\x90P\x99{\x02\xc3U\x86v\x046\x97\x94\xde\ +e^\x81&\xcbQ\x8a}\xdf\x96n\x81dS`)\ +\x90&{\xab\xa4\x09R$\x1c\x04\xf6\xc7\x5c\x0di#\ +%\x08\xec#\x9e\xb3EBp\x1f\xec\xe7\xf9\x90\x7f\x9d\ +\x86\x00\x00 \x00IDAT5O\xe8\x93\x05\xf5\xf7\ +\xf3h\xbc\x98o\xf4\x14\xa5 \x9c?8\xfe 90\ +\xd0\x96\x88\xf1\xc8\xeb\x9b\xf5(\xe8\xe2p\xb3\x8b\xbd\xfe\ +b\x92b\xe8\x11Pa>Xg\x04\xb8\xfe\xe8R\xda\ +\xed2\xbe\xf4\xfb\x0e\xb6{ja\xc5\xf5\x12\xe3\x84>\ +k\x90M\x818\x81U\x1d\x12b\x90l\xc7\xaa\xfb\x0b\ +\x06\xb8\xb7'\xbb\xb1\x82\xb8c\x7f\x10\x98\xd6yM\xc6\ +&\x02\x00df\xd4\x066X\xecA*\x90\x91\xa36\ +\xb9\xe56\xe0\xbe\xe1x\xa1t\x89\x1azJ\xf1h\xe3\ +I7\x0f\xce\x0d\x90\x018\x1a\xecs\xe6\x93s\x8c@\ +\x025\xfdp \xe00\x0a\xe1\xd9\xaf\xe7R\x02\xa0p\ +\x1et\xefr\xa9\xce{ebG\xbb\xbbT\xdf\xcbz\ +e}\xa2'\xa5\xc7@\xf4E{7\x05T\xe0\x90\xc2\ +\xbe\x8c\xcc\x9e\x0cq\x07\xfe'\xe8?}\xde\xdf\x93d\ +b8\xd4\xc5\xee{g\x93]J . \xb3\x90\x09\ +\x8b\x141e\x167\xad\xfa\xaf\x0b\xe9\x05rl|\xac\ +K!\x0f\x0c\x07\xd0k\xfc7\x12\xd2\xe1\xa4\x8a\x1b\x02\ +\xc8a\xe6\xe77]L}o\xee\ +b\xaf/\x9fu\xd9\xac\xcb\xecsvp\xb1\xebv.\ +B\xeax\xc6~}\x93\xf5\x14Pz\xb0\x22\xfd\x93\xe3\ +H\xb7\x86\xe0\x12\x00\xb9\xf4z\xd3\xde\xaf\xaf\x02t \ +w\xb0\x1f\x95!On\x99#\x0cN39U\xa5\x0b\ +\x7f.\xe3\x11\x01\x03'\xf1;!\x8d\xdf!>~S\ +_q\xb1\xc7\x5c\xd7\xa5iw\xf8|97\x02J\xee\ +\x89S\xe7`\x9be2\xb3J\x88\x82\xe4\xa0\x9b\x01v\ +\x14\xdc\x13 k\xd07$&\xd7r\xa9\x02\x80B@\ +@\x02\x9b\xf6\xe5\xd3\xba>\x9b\xda\xdc\x9a\x884\xd2\x91\ +\x11K\x9b\xd8s\xf5\xcf\x9a\x7f|~\x85\xe4\x9b\xdb\xc5\ +\xaes\xbaT\x08_\xc6GH\xe6p\x88\xf7t\xa9\xda\ + \x8a\x14\x16\xbd\x14m\xba\x85\x00\x22`\xd0\x92\x80\xc6\ +\xfbH\x00\x80\xbc\xe4\x5c?>I!\xa3\xd5\xf9\xc9\xb8\ +Wd\xdcY\xaf\xc3\xbd\x82>\xe0|\xe59\x15\xc8\x8a\ +\xee{\x90\x0c\x0a9\x1ez\x99\xf9\x87d\xf0\xe1\x9c\x88\ +\x0a\x84\x95\xd6\xefd,\x1cg\xaf|i\x82@\xe4Z\ +\x9a\xfdtP2A\x90UPS\x87\xc3\x0fTg\xa4\ +\x8d\x8d\x82\xc7`\xc3\x90\xc6A\x84\xf5\x94\xda\xcf\xa6v\ +\x1b\x85\x16\x99\xc9\xc6\xb0\x0b\xb2\x0c\x14*\x861\x0e,\ +\x06$\x0e\x17\x7f\xc7\xe7\xb4\x91z\xae,P\x0cx\x02\ +\x1e\xd4 \x11Q\xa1-\xc75\x0a\x84p\xf0cP\x03\ +e\xc2p\x07*\x8a\x02\xc4\xb0\xc1\xf0R[.\x9b\xdc\ +lP\xb7\x19I\x1c\x05\x22\x92d\xdcqX\xda~\xe3\ +,\xf8\xb6\xc6\xb3\x1d'j\xe3_\x91k\xc9\x86\xbf\x89\ +\xa4\x8d\x0c!\xb5\x9e@\x08q\xc8\x81\x88\xb2 a\x9b\ +\xa4\xcd\x10l\xd3p\x0f\x10\xf9\xe5\xe0\xc3\x11\xe2~_\ +\xe4>q<\xc2\xe0d\x83\xd1\xfd\x01(+\x86oc\ +`\x8f\xde\xeeR\x91sA\x8aA\xdbF6*m\xe8\ +\x88\xa4>\x903\x19\xa6\x8cr\x06\x9c\xf5\x01{95\ +\x98@\xe0\x99\x87\xa5\x9b\xc0\x06\x10e\x1cn\x1c\x1f2\ +\xf2m{\xb1y\x1b\x08?\x86\x17\x0e6\x0eE\xeb\xf8\ +\xe3\xa0\xb0n\x96\x0bv\xfb\xbc~Xg(\x1a^/\ +\xd9\x04\x1ap\xc8\xb9?\xf6\x11\x81\xac\xa6\x1dXDZ\ +\x96\x8buH\xa0 \xbf\x06\xf1\xa3L]\xd4T\x82,\ +\xe0\xfd@CU\xe3\x18\x90\xb3\x15\xa7;h\xc1.\xfe\ +Q\x97\x0a)@\xdb\xa0}\x05E}\xa3\x22\xd9@\x9c\ +i\xab\x82#\xc3\xfdc\xa0\x83\xe0YT\xfa\x88\x00\xd3\ +R\x22\xbd\xdb:\xda1\x12\x08\xc8\xe3\x0ft\x1fC\x1d\ +\xc3\x9dv\x8d\x90\xf6-\xaey\xbc_\xfb\x88}\xcd\xbc\ +a\xe8\xb5\x9c\x02\x18\xb8\xcc3\x07&\xe3\xc7:a\xbe\ +8X\xe8\xb3~\xbf\xcb\x0b@\xee\xdbvm\xe8k\xb8\ +\x0dX\x0f@\xba\xf7Pm\xdb\xee*Eb\x1c\xe0\x96\ +`\x1cy\x1f\x01\x1e\xee\x8f\xc85\xff\xcf\xbc\xb7\x01\x00\ +\xf4\x01\xfa\x94@\x5c\xdb\xee\x8e\x089\x19k\xe6\x13=\ +\x8fc\x04\x8b\xf8\x17\x5c*h\x1d\x81:\xf4!\xe3\x89\ +\xe3N\x9b$\xf4;\x86\x0d\xe7\x03$H^{\xbak\ +\xa5\xef)]\x01*\xcd~\x049\x04d\x9e\xe7\x22p\ +\x81^E/\x13X\xc7\xf1x\xb5\x1c^\xf4\xc5\xff\xa7\ +\xeb\xcc\xe3\xfe\xab\xc6\xf5\xff\xdd\xfb\xf9j\x90\xe6\x12\xa5\ +\xa44*eh<\x9aPH\xa6$\x89\x83d\x88\x92\ +\xccc$\xe31\x97\x83\x06\xa5\x10\xca\x9cC\xe6\x0c\xfd\ +\x0a\xc7pB8'\xa5L9\x14\xe1D\xd2g\xef\xdf\ +\xba\xd7\xba\xde\xd7Z\xcf\xfa\xf2\xdc\x7f|^\xcf\xf4\xf9\ +\xec\xbd\xf6\x1a\xee\xe1\xba\xaf\x8bD\x01\xe3(\xf2\xc9\xb4\ +k\xe5\xca\xea\xb0\xb1\x11k\xe5\x1c`\x9c\xef\xa9q\xe3\ +\xf3\xf8\x7f\x9e\x1f\xfb\x16dZT\x9a\xc4J\xefD\xbe\ +\xa0\xd7\x96\xe7\xfaLXC\x1a\x8a\x9a\x0d-\x07\xaa\xf8\ +R\xf1B\xae\x0c5\x05\x1c$\xb3\xec3\xcfI0\x11\ +h\xa1\xeeC@\xcc\xba\xa32\x04\x87\x06\x81=\x81\x1a\ +\xcf\x19\x88%\x895\xf6\x19]7\x95\xbf\xe1=a\xcd\ +~\x83\xea\x03\xd0o%\x1e\xdc\xb3\xca\xfb2\xcfYG\ +$\xca\x814\xd3\xd2F/\xf0\xc6]\x22\x8d\xf5\xcf}\ +\xd1;\x0a\xe4_\x019\xady\x0e\xe4\xd5\xc3?\x9e\x10\ +\xd6<\x0f\xc6\xe5OaM@\xc1zS\xa2\xdf\x10{\ +d\xe2N\x0ak\xb8\x0a:5\x22\xd4\x15|>\xe1\x9f\ +p\x9e\xc4\xe8\xee\xac\xfd`\xd3\xa6\xd0sKa\xefw\ +E\xf4\xeb\xc3%\xc3%\x95\xdc\x17\x04\xc7\xfc\x16!E\ +`\x93\xdfj\xdaz\xda\xba\xfaQ\xb95\xf5\xb8\xdc#\ +\xfc\x9a\xe8\x11\x1e_\x17\x96\xc9r\x935\x89\x83\x8b\xa7\ +\x8b\xa3\x02\xbc\xf4\xf0\xa5\x87g\xb2-\x0a:\xe2\xc2\xa0\ +\x22?m2\xdd~\xda$C\xde\x0bK<\x89\x10\xf6\ +\x01\x90d\xf8\x8f d\xbf\xb9\xe2\xa4P\x13\xca\xba\xf2\ +/\xac\xb2c\x1e\xbf-3\x06\xaf\x9c\x9f\xdb6\x9c\x0e\ +\x90\x7f\x81\x80U@\xee\xd7\xfb\x845\xe3\x1b\xf5\xf2\x13\ +\x9aVP\xb8\x1ehy\x11y\xa9\x13\x1f\x22\xc9t\xa0\ +\xb3\xc1\xbc\xe1\xbc\xa1\x02\xcc[+\x9b:-\xac@\x82\ +\x17\x7f\x0ak8!\xb4\x9f/.\x0ekz\xfd#A\ +\x90\xae{\xbaO\xb2}\xaaL \xe4}\xd3\xdd\xc2\xd2\ +\xff\xad\xbfXo\x11\x5cY{\x855Pk\xe4\xc6u\ +?\xe3\xbf\x96\x04T&u|c\xfa\xfb_\x84e\x92\ +\xbd\x17Ni\x5co\xfd\x5c\xb2\xcf\xa6\xf7\xfbq\xb2\x14\ +\x80/\x1e\x16\xa6\x8a\xe6\xb6\xcd<;<\xb3.\xac\x88\ +tB$\x14\xd8?\xa7c\xc2\x1a\x04\x12dzb\x8f\ +\xa7%\xc5\x1cX\x8f\xcd'\xdd\x8a\x88\x86\x82\xcd\x9f\xf9\ +\x04\xf2\x87\x806\xc5K\xb7\xcf\xbf?1\xfd\xfe\xc4\xcc\ +A\xb0S\xc4M\x04\xa2\xd3\xbd\xa7{M\xb1n\xbf\x19\ +\xd6\xb0\xb4\x93\xa8\x84\x03#\xd4o6\xa8\x814\xb2\xe5\ +\xf3\xeb\xc2\x1a\xff\x9b\xf3S$}9\x80=J\x01\xe2\ +\xee\xcd\xb9\xc7~&\x04\xcf\xbcFXz\xdfk\x0b\xc7\ +\xd2\xd2na\x151\x93\xfd\xf7s*\x82\x9b\x8ay&\ +\x9bK\xfe\xde\xe2\x1ea\xe9\xe7\x8f\x09k\xce\x01\xceE\ +\xe2\xa3Ou\xe4\xef\x22\x05u\x82\xad\x0f\xf8\xe1\xfa:\ +F\x1c\x15\x04\xda\x22a\x05\x8ao\x7f\x9e\x96a\xb1\xe1\ +\x8f\x0f)\xad\x18\x0e\xccu\xae.\x9e\x18\x96>.C\ +\xca\x1a\xf9k\x12\x8c$\xf6\x9e\x93\x05\x0f\x8d\x94`\x9c\ +\xd2sK\xd6\x9c#\x90\x96S\xc8\xc4\x9f\xa2 \xb0\xbe\ +\xb9\xad\x8a\x7f\x8c\x1c!\xea\x09\xec\x1b :h\x81\x80\ +\x8b\x06\x7fF\xf1\x92\x13\x0b\x92owbN\x89\xe9\xe1\ +\xdf\xc3\x9asG~\xc7xdX\x93\x00\xc2/W\x8b\ +\xed\xf4\xac\xb0&\xb1\xadB\xf4\xca\xe9\x82\xe9\xfc\xe9\xfc\ +\xdas\x9aY4Ojz\xe3\xe8\xfd\xe3\x86\xc5bh\ +H\x1d\xe4\x138\xec8\xb4T\x14\x80\xe4\xd2K\xa1\x8a\ +\x80\xd9.\xe5\xc8\x1b\x22\x0e\xe4\x0a\x87\x0c\x88\x9d\x0er\ +\x1f\xf4:\x10\xe6\xab\xc2\x9a@\x90\x03\x8bLH\x0f%\ +\xed\xd9\x8c\xf9\x9e\x83\x11\x08\x9cz\xd3\xd2\xe4(\xa4<\ +\xbfR\x80\x88\xbe\xe4\x1bT\x11\xc1\x81\xc2A%\xf1\x81\ +#K%\x09\x87\xa0\xd3\xd3\xc61r\x85\x9b\xf7\xe9I\ +\x0b\xd7\xb3Nt\x09Tp 8xq\xb8\xf9\xfb^\ +'\xbeo\xc9\xa0\x12E%fC\x05J\x22\x07\xb4\x03\ +\x80C\xc2\xfb\x108\xf3\xc5\xb8\x13\xb8\x9fV\x0eVC\ +wpt\xff&\xd6\xca\x93K\x86:C\x05o\xad\x90\ +0_7\xcf\x8b\x05\x87C\xd9\xabDp@\xaee(\ +z\x09\xf8\x80V\xa3\x9b\xca\xfb\x80\x5c\xd1|2+}\ +E\x02\x94\x0d\x14Y/\x1c2\xcd\xeba;\xbdo\x9d\ +\xdf%0\x06\x01\xb1\x81e\xcf\xca|\xd28\x93\xb02\ +\xa9\x12\x09\x9b>\xe0\xc3Q_\xd7\xea\x04\xcbz\xf9\x0d\ +\x15%\x80\xa1\xf2\xba\xb5\x03\x7f\x12\x11%Q\xc0\xfc\x00\ +\xa2x;\xe9\xa2\x03\x95\xbfs\xd7\x22@`\xcau\x91\ +p\xa8\xf3\xa5$N\xd0G'\xe0\xa2\xf2\x7f\x17!M\ +z\x87\x10\x96vUd\xe9\xb5v\x02\xea\xe0B\x02\xb5\ +\xe2\xf5J8=\xa8@\x1a\x87o\x87\xd5\x1e2\xff\x1f\ +d\x5c\x1f,\x1b\xa9\x13l;(P\x00\xa9\xd3\x93\xd8\ +\xf1=\xf7\xcb\xfe\xa0\x0d\xd8\xad4\x04B\xbbjc\xde\ +^\x81\xfdV\xee\xd1^\x8e\xb0\xe8\xf7=\xc6\x95u\xc1\ ++-:\xbd\xae;\x0e>d\x87}\x00\xc4\xfe\xc9u\ +Qq\xe4}{U\x11\x12\x85TJy?\xb8\xf8\x1cHMQ\xdb\x10\xb7\x87\xd7\ +-r[\x225\xb3\x0c\x17\xd7\xd3\xf5:z}1O\ +@\xbeh>Paw\x85\x87\x04\x8f\xa0\xa8A9\x16\ +\xa4cN\xe4@zH\xe0\xc3\xfa\x84|\x91JM\xc7\ +\x86\xbf\xe2\x99\xd9\x9c\xf8\x1f\x9e\x1c\xd6\xac\x1f*\x8bT\ +t\xf0gX\x0f\xc8\x12\x82\x04c\xdfd\x1d3~ \ +\xd3\xb4>\x87_\x84\xd5@\xc1\xaf\xc8\xa8!\xf3\xa6\xeb\ +\x19~\x1d\xd6|>-]:\x7f\x91I3+\xf7G\ +\xc3*\x09\x97\xc7\x9d\x04\x07\xcfM\x95\xe8\xe1)a\x99\ +s\xa3\xa8o\xd0\xb3\x0b\x82\x00\xa4\x06-\x0d@\xe9E\ +\xfe5\xfdz\xban\xba.s,\x14\x16\xf0\xdf\x15r\ +\xbf\xf9w*\x04}*L=\xc9\x97\xd7\xf1\xb2z\x95\ +\xfc\x89q\xb7d\xf7\x96?y^\x91\x9f\xcb=\xc9\xc9\ +{\x89J\x97Uu\x08\xb05\xafs\xefz\xf2\xdf\xa6\ +''{\x8a\xd6\xf7\x06M\xe2\x91\x84\x13=\xcf\xd2\xa7\ +\xcf\xabz\xfd\x8a`1\x19\x19\x10\xff\xd8\xb5w\xa9\x89\ +\x87\xe9\xada\xe9\xba\xce\x0fk\x90\x0fp,\xa8\xe5\xc7\ +\x09\xd9hm\xf8~\xe3\x07\xd2\xb2Q:$VL'\ +%{Ez==\xd9\x19\xe9}o\x1d\x17\xe3\xa2\xd1\ +\x0fW\x01e^7,\xb7X\x94\x9f+\x110\xdd6\ +\xac\xe9\xa5\x8e\xb0\xe0\xe3\x15\xe12>/L\x88\xa1\xdd\ +\x9a\x84\xdeR\xb2\x95\xe9\xffw\x0bK\xaf7'K\xfb\ +Pt\xc8O\xc9\xbf\x5c\x9c\x1b\x96{\xfe/\xca=\xff\ +'\x86\xa5\x9f?7,\xbd.\xa5\xcb\x1c3\xb26?\ +\xdf\xf9\xff\x89|S\xfb\xdex\xd0x\xe0x`\x93\xb8\ +\x12\x92l^+\xd9\x9a\xea\xd9?\x22\xbd\xef\xb6a\xe9\ +\xf5\xf6a\x0d\x99\x9d\xf6\x19\xef\xb3\xda\xc7 \x1b%\x01\ +\x91U\x02\x92\x1f;\xef\x1dV+\xc1\x0e\xc0\xf6\x98w\ +\x0f\xffb~\x948\x04H\xa8\xfct\xbe2*\xf1\x86\ +\xa8\xabU(\xcd\xaa}b^AF\x98N\x8d\x5cy\ +\x1d.\xd7~\xa7\xd6\xba\xf1}a9\xb1\x9e\xd5bR\ + \x9bL\x88\x89Kj\xa0\x0eg\x85\x11\x22\xb4\xc4\xea\ +\xba\xedw|=\xd3\xf3\xd5\xd6\x15z\xea\xe5'\xcd\xcf\ +\x0bk\x0ajR\xcdZz~\x98\xc8[wh\x0av\ +:?\xc7\x1b\x93\xfdA\xfbw\xda\xcf\x16\x7f\x0e\x13\x99\ +\xfb\xb3r\xc2\xe4\xa4\x8c4!\xf1\xad\xc2\x9f\x11:\xf8\ +\x0dB\xf4\xf8\xbc\xa1\xe0|qXs\xbe\xe3wr\xae\ +\xb1\xff\xc2E\x072\x0b\x7f\x5c\x09\xe1\xf1\xcba\x95<\ +u\xba{\x98T\x0b\xdeY\xd7\xbb\x91,\xfa\xb9\x13\x8e\ +\x22\x11\x9ew\x09K\xff\xff\xb8\xb0\x1a\xe7\x0c+\xc3\xd2\ +\xeb\xcf\xc2*\xb9#\x08\x16#1\xd4\x0aa\xff\x01\x99\ +@\xfc`q\xc8\x98\xb3@\x1c\x13F\xf4\xb0\xbf\xa2&\ +wyX\x13G2. 1(D\x13g\xe1\xc7*\ +\xce\xf0>\xa9\x82\xf1puX\x13\x07\xcb\xbf_\xe9\x89\ +s\xab\xa0\x01\x0a\xa8}\x10\xe0\x00\xc8\x11\xa7w\xce\xec\ +\xc8\x8f\xd3F\x7f\xbc\x10\x03\x5c(\x818\x0e.=\xa8\ +\xcf-={Y\x1ed\x8fF\xf6\x0b=\xccK\x04\xd5\ +F\x96\x04y66B\x1c\x0c*!T\x9ep(\xf9\ +9\x01#\x99~\x1c\xd8\xfe\x95\xff\xe3\xfd\xe9\x11\x91c\ +\x09\xeb\xad\x07\x8eJ#=\xe4< \xde\x0f\x87\xa5\xef\ +\xb1g\x22\x100m\xaa\x80n\xa3\xe5\x81ZZl\xc5\ +a\xbaX\x10\x10\x0e\x5c\x1c\x03\x1c\x1a\xbe\xef\x1do\x02\ +\xe2^&\xac\xd7\x8b\xff\xbd\xc9\xab\xca\xf3\xc2\xb1\xbdK\ +\xe1|p@N/\xd0\xff\x0a\xcax\x85\xc8\xe0\x08\x10\ +\xe8)\xa7'}(=G\xab\xe8{\xe3p\x7fTd\ +\x92\x82VZ'\x1a\xc7\x88\x0d\x01\x08,\xa4'$\x22\ +\x08\x9cp\xf8\x91\xd7\xa2RJ\x85\x85\x80\x0c\xb6i\x02\ +H\xe6\x03\x19~>\x0fG\x87\x85\xb4\x97\xc9\xe4J\xa5\ +\x16(\xce\x9dL\x16W\x129$dz\x96s6\xb0\ +-\x84\x00@\xde\x90\xe7G\xe0N@\x06t\x96\xd6\x06\ +\xee\x8f\x84\x12\x0ebOV\xb7\xa5+\xf7\xb0\x8a\x97\xf5\ +@\xc5\x90\xebA6\xb1\x0f\xb4\x08\x84\xf9\x1c\x12)\xe2\ +\xfe\xf0\xfcb\xfe0\xefzr\xbb\x1a(\x97\xeb\x02Q\ +\xc0\xbc\xa7uew\xe9\xb6C\xb2\xb8W\xe9YZ\xf1\ +\xc8\xe2\xf8\x0c\xf6\x13%2\ +\x7f+$\x00\x8e\x00\xd7OK\x09\xc8\x12\x02q\x90\x03\ +\x90\x94\x02\xe1\xa72D\x80\xe8\xde'}\xb1\x7f@\x0e\ +\xfb]\xf5jV\x0e\x8f\x9c\xb8\xce\xac\xcd\x9fm\xe4t\ +\xe9\x01%a,\xe8\xbc\x03\xe1Wd\xabH1\xf6\x01\ +\xce\xdb\xfe\xfcc_\x05I$Gx\xb8!\xac\xa9t\ +\xabb\x04\xbb;\xdc\x01+\xce\xc9V+\xb1\x90z\x92\ +0c>\x92(\x84d\x89@\x5c\x89\x8b\xf1~aM\ +\xe5\x05R@z,Y/\x9c\x0f\x9cG$\xe2@p\ +\x81\x8c\x81\xdc\x96\xfb\x15d\x132+C\xff/\x0ck\ +\xe6\xb1\xc6\xd5\xa4Q$@\x08\x90IT3n$\x12\ +\x98O\x9ck\xac\x17\x12\xf2$dI\xdc\xb3\x9f\xd0r\ +\xb6V\xd9\xe7\x80\xcc[&\xee\xa2\xc2\x1eo\x16r\xce\ +W\xd4#\xa4/\xbf\xe2\xeclU'\x9b\xeb\xc7\x7f\x82\ +;\x84\xf3\x96\xca\x9e\xce\xb7\xe9\xff\x85\xa5\xe7\xb0cX\ +\xfa~\x9b\xb0\x86\x9c\xf5\x16q\x84\x88\x1c\x0c\xb9+\x9f\ +\x17;\x8b\x9cK\x85'\x1c\x7f#\xc7\x84<\x18\x1f\x1c\ +V\xd9\xd9AD\x98\xecM\xac\xfc\xf4\xd0\xe7^\xdft\ +\xaeL\x8f\x0dk\x12w$\x5ch=\x80\x9c\xecp\xf5\ +r?8w\xdf\x17\x88\xf5a\x0d\xb9\xe0\xa3\xc3\xaa_\ +3~<,}\xff\xb1\xb0\xa6r\xca\xf9\xab\xe7k\x12\ +2\xf5\xea:\xb0\x8c\x00\xee\xb9\x95\xac0;\xf8\x0f\xd1\ +\xfd_\xdc@\xaa\xe5\x97\x86\xdaz\xe8\xad\xbb\xf2\x8a\x8a\ +\xc2\x03\xe6\x83\xe6\xf4\xbax~X\xe3WJ\x85\xc7\x9c\ +\x17w\xc8X\xc7\x15\x8b\x8f\x86i\xff\xfc\x85\x127\xaf\ +PE\xf1t\x91\x1aF\x8bIz\xd7\xe8\xe9\x9e\x1e\x94\ +,\x8dG\x16\x09H\xe7\xd0\xad\x07\x845\xaa\x00\xc1\xe9\ +\xf0\x85,\xbfw\xe9\x22\x05>\x8b\xc3\x17\x8fZ\xa4s\ +h\xfazXC\xce\xf7\xd8\xb0\xca-4<\x7fxA\ +\x96i\xd5\xfcrO<\x09**\xab\x1b\x16\xa4\x03\xf2\ +\x98$\xea\xe6\x07\xcd\x07\xcf\x0fj*\xb4p\x9a(\xf0\ +7\xf2b\x9d0\x15\x86~VI\x13\xc7\xfd\x92\xed\x9b\ +\x03\xdb\x7f\x8f\xc0\xd6\xec\xf0*hN\xa7\x86\xa5\xdf\x8f\ +a\x0d\xa7\xc5\x16\xc9\xee\xdc \x9d\xf0\x1f\xa3\xf1\xe3\xa4\ +\xe4^\xbf1\xac\xc6?K\xcf\x08\xab\xe3\x8fZ\x83\xa1\ +\xe3\x04\x94\xdc\xef\x9d\xc3\x1ardZ\x11ay\x07!\ +\x09\x87\x0d\x88&Z\x91~/\x15.\xb8sD\x0a\xe7\ +\xfdS\xfb\x87[+\xe5g\xa5\xb0{\xa7\x8c\xc4:U\ +-3\xc4m\xa8X\xe0\xa7\xe9}|\x1e\xbf(\xac\xf1\ +\xab8oA\x04|\xae\x93_\x85\xfc\x12\xf9\xd1\xb3\xc2\ +j\xc5\xdfH\x12\x10V\xc8\x99\xa2B\xa7\xf1\xf2\xdf\xa9\ +7\x1e5:'z\xd4\x13\xcf~>\x9e\x14\x96\x9e\xeb\ +\xf9\xa50>\xdd\x18\xd6\xac#\x917\xbaUR-\x09\ +\xf6\x97P\xa3\xc0Oy\x84T\xd6\xe4Gq\xee\xa4\xfb\ +\x0ds\xe2\x10d\x83\xf7u\xe2n\xf9+\xe6J \x11\ +\x85\xcc\x22\xf1\x83Z_\xddJ\x0f\x12\x83sX\x9c<\ +\xf3>a\x95\xf4r\xe5\xf4\xb30Ah\x0eo2\xff\ +zc\x1ft@R\xa5S>\xdcQ\x99\x85\x13\x0b\xb9\ +\x84\x03v\x1c\x93^\xf7\x96\x0a\xe3\xf6\xcb\xf5\xb7\x9d\x09\ +\x87\xcd\x97\x03\x13\x87\x82\xca\x19\x81\x1a\x818d@L\ +p*\xdal\xac\xc8,\xc8\xc1YE\xbe\x8e\x80\x80W\ +\xc8-\xc4&9\xff\xb72\x88\xf4\x1a\x13\x08\xd1KN\ +\xc2`G\xf7n\x97\xfbd\xc0qt\x09\x04\xf8|\x1e\ +0\x15Vt\xdc\xa9l\x91A\xfe{\x17@\x10@\x8b\ +Tl\xd8W\x0b\x13\xc7\x0f\x87\x8f\xf7\xc5\xe1 Pg\ +\xc1\x11\xf03\x0e}\xcf+\x81?\x8e\x22_r\xa4\xed\ +(.-\xd7\xb7v\xc0\xb2Iq\xb8V\xac/\xb6\xdf\ +\xf7\xabGH\x8e\xdb\xf8\xd8\xb0\x7f\xc0\x8a\x8d#\xc3x\ +s\x1d\xf4\x9a\xd2J\xc0u\xd3r\x00\xa9`O\xcaF\ +@\xf4\x05\xe9\x9a^\xd7\x91\xfc\xe1\xd8\xe1Pk\x836\ +\xe4V\x95\xe8U*\xc6\xbc\x12\xe8p\xff\x5c\x17\x07\x0d\ +\xf3\x83\xcf]\xd7=\xce%a\xb4\x86\xe6\x89\x02N;\ +\xa28x\xbd\xf4\xbcq0\x10\xf0s?\xcc\ +g\x024 \xd6\xcc/\x12:\xda_\xd2g\x96\xca\xf0\ +\xff\xc9qg\x03%\xd1C \xc0s\x95L\x9f\xbfg\ +\xbcye|\x14\x88\xbb\xe5\x80\xde\xcc^\xae\x92\xc0\x9f\ +V\x12\x1c\x03\x02\xaam\xad\xfb\x0e\x22\xa3|\x0e\xdc\x10\ +K\xe66)-W \x88n\x0ck\xfe^\x9c\x0f\x19\ +y\xf37\xcd\xb3-re W\x0cW\x9c_t\xd1\ +M\xea$\x16t\xef\x07\x1cp\xccK\x02\x03\xc8\x82\xd8\ +/\xd8\xef\xd9\xe7\x987\xec\xcf\xaa\xec\xfa>y\xae\xfd\ +\xea\xb9\ +L?\x0dK\x97\xb3GX\xb3\xef\xca\xb1\x1c\x8e\x0dk\ +\xd4%@p\xca1\xf4:\x87\x5cJ\xfb\xae[>I\ +\xa4q\xfe\xb1\xee\x94\xa0\x19_\x13\xd6\xe8\xc1\x13\xf02\ +\x8eJLPq3\xb94\xad&\xb4\x1c\x02Q\x95\xc3\ +nd\xce\x1e\xf3\x9e\xd1\xe3o\x92f\xf5\xa8\xe7\xf3f\ +\xab\xaa\xeb\xed\x84%\x09\x0fZ\x16hyx_\xb2\xf7\ +\xd6\xca{\xaeX\xbe\xb3\xceS\xb3\xb3S\x89\x07a\xa4\ +s2\xf7b_Y\x13P\xd9\x11\x7f\x83\x02\xea\xeb\x1a\ +\x99B\x02'\xfe\x8f\xc0\x5c=\xc3\xe8\x92\xcf\xeb\x855\ +\xbd\xba\xb7\x0d\xcb\xfa\xf4\x9be}\xfa\xebs\x13\x91+\ +\xb7\xe3\x97\xc2\x14\x08=\xaf\x92\xe4M\xfbJe\xe0\xf3\ +a\x15\xb2M\xa5\x1f?\xcc,\xe1\xec\xe7\x22o\x05\x12\ +\xed\xbf\xe7\x9ce_\x06\x01\x0c\x92D\x01x\x86\xbc\x07\ +\x92`\xd3\xb0t\x0c<-,}\xff\xd5\xb0\xf4z\xdb\ +\xc5Z\x8b\xb5r@\x98[\x13&\xf9\xd7\x8b\xa7,\xee\ +\xb2H\xf3p\xf1\x9fa\xb9\xf7\xfb\xff\xa2\xf7;\x1a>\ +\xa2\xe5\xc3\xba\xea\xf2\x87\xed\x97\xffWX\xfa\xbbG\x84\ +5\xaa\x06\x90\xbd\xc1\xb9\xa0\x16^TnH8\x01\xe9\ +7\xb4z\xff\xb0:\xcf\xe7\x13\xc3\x9aV\x10Z\xa2\xc6\ +y)\xe4\xd4\x16\xfb,\xf6]\xec\xa3y\xf4\xbe\xf4\xfd\ +\xea\xc9\xd6\x90L\xe1\x9f*\xeb\xbc\x03;!XQ\x05\ +`\x7f\xe79\x0co\x0dk\xb8\x01T\x99\x1e?\x9c\xec\ +#\xb5P\xb5\xf8^X\xc3\xc9\x05\xf9^\xdce\xa8_\ +\xec\x1e\x98\x85\xdcR\xf5\xd6\xdcR\x85\x0a\x85Z/-\ +sJ\x05\x99\xc0:Hp\xcf\x14g\xc4\x13\x1a\xc4\x16\ +\x88k\xc9\xbc/\xfd!,\xdd\xf7\xcf\xa7k\xa7\x9f\xe7\ +y\x9a\x11\x19N;\xe3\xdf\xb1\xef\x9d\x1eV\xa1\xec \ +\x1e\x9c\x98\xa05\x8f\x04\x18* wU\xef=\xdc=\ +\x82\xf0\xa7]#\x93\xd0\xba\x00\x0d\xb91-\xd1 \xc8\ +\x85\x18B\xf5`\xf1?a\x95,\xd0\xfb\x01\xfb>2\ +\xad\xa84l\x17V\xf7_\xcb\x84~9\xac\xb6\xa0\xf2\ +\x7fp\xc7\xf8\x9c\xa4\xc5C\xe4\x80\xe6d\xe2\x1c\xac-\ +\xd4%N\x90L:\xc8{#\xeb\xa8\xf0s\x8eR\xe8\ +\xc1\x8fP\x8b\x82U.X'j=p\xcb\x0f\xac\xff\ +\xb4\x0cQ\xe0V\x82a\xa5\xa1\x1a@\x19_\x95\xcdz\ +\xeb\xc3Q\x82\x1e\x12H\x08Ba\x994zx\x81D\ +r\x80\x13\x00p \xe2\xe8\xdd\x22GN\x90p;|\ +8<\xea\x11\xb3\xec\xc9\xda\x0aL8\xf0\xaa\xcer\xf9\ +|2\x99\x22\x1dse\x0c6e6r\xa0\x92\x04\x9c\ +=K?\x09\x04\xa0}\x9fZq\xe1\x8a\x0b\x9b@\x83\ +\x84\x02l\x8d8r@pY\x008\xb88D\xb5\x92\ +^\x1ed\x1f\xd0\xe1\xe8*\x83Obe\xbeV\xba\xc2\ +@B\x09(q\xb4\x098q|\x09\xe46wE\xbe\ +\x8c\x1b\xf7\x8b\x03M\xa5\x80q\xec[&x\xce\xdc\x07\ +\xff_\x138\xe5\xf9r\xddT@\x19\x07\x9e;\x90O\ + \xb7\x04j\xf4\xd6p\x1f\x04lT:\x84\x0c\xf0}\ +Q\xd1\xe0 \xc2\x01\xd7+\xa4=\xae\xa4\xc21@%\ +\xa5\x97M\xe1z{\xf6rHG\xee\xf7\x8f\xe5|V\ +QO\x00\xc2K\xcb\x01\x15=\xb1!\xbb\xf2\xdcC(\ +q\x04I\x04\x5cU\x1cO\xb8\x07\x86C\xe4\x98nc\ +\x9d\xf8\xf2\xf9\xb7\xeft\xc2\x99oTxPI\xb8\xa3\ +\xe5\x01\xcb\xf3\xc7\x81%\xe0\xe0z\x08\xd8y\xce\xca\xfe\xda\xcb\x9e1?\xd6s\xab\x0b\x08\x942\x9e\ + U\x18?HK\x7f\xa5}\x9e\x04pC^\x99\x9f\ +K\xfa\xabp0}\xff\xc8\x10\xa2\xae\xb2k\x09LL\ +Z\xa4@\xd8\xba\xe7\xc8\x84Q\xf9\xfc\xb2 \x8a\xec\x93\ ++\xf2\xec-\xec\xfb\x1be\xc8c!\x19|\x82\xc8\xb6\ +\xe8%T\x0f\xaa\xf73*\xc6b\x9bw\xe2\x8d\xc4B\ +\xbf\xde8/\x81N\x02A~S\xd1\x09\x1e^=\xbc\ +fxM\xc3\x06\xff\xddN\x15\x03n\x06\x12b?\xd6\ +u\xc05#N\x82\xa0\xfe\xca\x09\x01%\xbe\xdc\x22@\ +\xc2\x15n\x1eZ\x14\xa4\xc6\xe1\x96,\x05\x02\xee\xa1\x15\ +b\xc2\x0e\xb4>\x7fxIX\x85\xcc:\x81\xc0<\x13\ +\x99\x91\xd7\x17\xc8\x04q\xb7\xd0\x22f\xae!t\xde9\ +\x87@\x100\xaf\x14\x00X\x95\x08\xce!!_\xf8\xbd\ +\xf5\xebi\x09`?\xe9 \xa8N\xf0p\xbd$\xb6^\ +\x14\xd6\xac\x13HG\xf1G\x98Wb\xdfv\xcf+\x15\ +L\xce\x0fU\xc8\xcc\xa1\x80z\x02\xfb\x05PzZ<\ +\xe8\x0d\x15il\xf2\xcf\x9e4<\xa9\xee[Vk \ +1\xf1\xb8\xb0\xf4\xf3C\xc3\x9aqS%m|iX\ +\xfa\xbb+\xc3j\x82\xc5\xaaO\x92\xf3\xcb\xbd\xee/h\ +\x10\x22$V\x19\x07\x15\x90\x86\x13\xc3\xd2\xeb\x8b\xc3\x1a\ +\xfd\xfaw\x87U$\xd1\xb8ZX\x83o\xbc\ +9\xacB\xab\x17{\x87U\xe4\xc3\xb8^XrGW\ +\x86\xe5\x80\xa5p\x00\xfc ,\xfd\xfdg\xc3\xd2\xef\x8f\ +\x0bk\xe6;\xfb\xa7\xd61\x9c\x0d\x9cG\xd3Ya\xe9\ +\xff\x9f\x1d\x96\x8e\xe7\x1f\xdc\xfa\xc3[S\x80\xb3\xd8R\ +\x01\xfeU\x8b\xab\x17WW\x19\xc5\xe9\x80\xe9KS\x9a\ +W\xd3!\xd3'\xa6O\xa4\xbf\x7fVX\xfa\xbb\xcf-\ +.Z\x5c\x94\x03\xec}\x16\xf7I\xafg'\x0b\x99\xbd\ +\xeb\xc2\xd2\xff\xdf&L\xfe\xdc/EF\x97\xe6\xc3\xe2\ +\xaea\x95\x04\x105\x01\xc8\x0a\xe1\xc2q\x85_\xeb\xc7\ +l\xfb\xea\x0d\xcf\xad\xbd\xcfiz\xfd\x85|\x99\x9e\x9e\ +\xec\x18\xb5\x80\x5c*\xb6\xff\x14\xef,vJ\xb6sm\ +\x85\xe0\xfdB\xd3(su\x049\xe9;\xb3lq\xb2\ +\xba\xaf\x84\xb6A\xa8\x1b\x90\xc8\x1e\xb7\x0fk\xe4I!\ +/\xdd9\xd9\xdd\xab_a\xb9[\xa9\x1d\xd8\x8f|\xc9\ +\x8a\x17gd\xc0\xdb\xb5\xaf\x05\xa2,\x90T\x9f\x1b>\ +;|\xbe9GiQc\xfe)\xd14\xbc\x22lU\ +u!Z\x88\xc6\xe3\xc2\xd2\xeb\xd3\xc3\xd2}\x9f\x1fV\ +\xcf\xb7\xe9\xd5\xd3k\xa6W7H\x04Z\x9a(\x5c\x92\ +\xf8%\xee!\xf1\xa2\xbfw\xdc#\xbf-\x9dWE5\ +H\xeb6\xf9H\xa5\xa5\xe8\xcc\xb0\x86;\x89V^d\ +\x8c\xe5\x17.=i\xe9\xa8\xa5\xa3\xd2u}5\xac\xb6\ +\xd6L\x07\x8652\xa5T\xd6!_\xc5/=*[\ +Ex\x08\xb9\xc4}@\x1e\xba8:\xac)L\x22\xbb\ +\xc8~N!\xe1\x05a\x0d7\x00\x09~\x12\x9e\xa8\xe0\ +\xc8\xdf\xcbH\x9a\x07U9\xf6y\xf7\xb0\xf4zTX\ +s}\xf8\x9f\x22\xfb\x9c~\x10\xd6 e\x98\xef\xa8^\ +\xa0\xb2\xa2D\x15\x89\x81\x95\xab\xc8\x01I\xae`x\x7f\ +X<\x10M\xe0[t\xb0\xe3\x00\x90ic`\xd4\xbb\ +\x07B\xc0\x10\x12H\x18\x9e\x9e\xad:\xfe\x7f\xefz\x89\ +\xe9\xc1f\x22R\xc1\x10\xc9\x91\xa1\xba\xab)\x00\xbb\xb5\ +\xfc\x7fz\x9cEfk\x90\xe7F\x8f2\xac\xea\x1cx\ +T&z\xf2'z\x01\x91\xa7\x91^\xa2\xf5O\xd7Q\ +\x82B\xbd\xd5\x86\xb2<\xdfd\x86%\xb0\xc2\x11\x80,\ +\x87\x80\x00Hv\xcf=\x00\xb4\x97J5\x81\x0d=\xdb\ +r\xbc\x9c\x08!\x01\xc0\x83\xc7Q\xe4\xb5\x0f\xf0p\x90\ +\xf9\xba\xb9\xd3\xa7\xe6\xfdx\xe5\xb9\x10\x10\xb1`\xf9\xea\ +\xe5\xa2\x08\x84\x81\xf8\x02\xb9&\xb0!\xe0\x15\xd9\x8c\xc9\ +\x97\xdc\xc3_t\xab\xd3\xa4/\x0e\x1f\xcfe\xabR!\ +pE\xa6o\xd1\xe8d\x02\xfd\xca\xfd\xe9\xf99qB\ +\x80\xc1x\xe3xS\x09DN\x8aD\x03\x81\x18\x81\x1e\ +\x95\x0e>\x1f\xe4\x01\x9c\x00\xf4V\xb3q\xe2\xb0\x91\xf0\ +\xe1\xfe\xc9\xe0\xf1\xbc\x18?\x02\x96\x9f)\x00\xfe\xa9 \ +\xa8\xf4\xa0\xd3\xd3\x0f\xf4\x9b\xc0[\x9c\x0dCO\xe2U\ +\xf5\xc1\xcbu\xf7\x95U\xc6\x83\xbf\xeb\xa0\xd7&\xdf$\ +\xa1\xc3\xf3b~\x11\x902\x8f\x09`Ht\x91\xc8\x03\ +\xca\x8cc\xceuB\xb6\xa8\x8a\x88[\x0e\x80\x9e3\xff\ +\x08\xbc\x98\x87\xeb:\xa1Q\xae\xf3\xa5a\xe9\x15\xb9\xbd\ +w\x15\xb2\x13\xb7\x22\xf0y$\x80`K\xa7\x82\xf17\ +\xbd?\x01u\x87\xb00y#\x010\xf3\x87\xd6\x8f\x9e\ +\xeb\x03\x87\x89\x84\x00\x81>\xf3\x9a\xf9HBi\xe7\xae\ +\xb5\x046m*q\xa8\x890~=g\xc4\x0a\xefw\ +\xe5>\xe8\x19\xa6\x82\xcf<\xfd\xd7\x12\x00\x18\x12M\xa0\ +\xcd\xfa\xe2\x15\x19H\xd6)\xc8\x88Nf\xd0\x81?\xbd\ +k\xb0\xee+\xd0p\x00D\xe0\xde\xf5T\xfb\xbe+b\ +\xa8\x8c#\x88\x032\xfa\x8c+\x81\xd3\x8f$;\x04\xe4\ +]\xf7\x99\xd5\xc1o)\x15\xe2\x8c`\xebHN=\xbe\ +\xc8c\xb2\xfe\xb5n#|\x8a\x00\x8aJ\x89\xd5\x0a\xf6\ +Ka\xe6~\xe2\x02\xf8Z\x93\xb1\xe7z/\x13\xc9\x1a\ +\xec\xebb\x03\x9f\xf6\x9a\xf6\x9e\xf6n\x1c\x0a\xe63r\ +\x98$\xa2@\xb6\x81\xa0\x814\x92\x00\x93\x84\x8e\x02\xef\ +\xe1\x85\x0a\xb4\x80\xd0\x93\xd8>D\x09\x02\xf6\xdbo\x15\ +d\xcd\xfc\x08A\x15i\xa1c\xff\xe1\x5c\xe6\xfd\xd9\xdf\ +\xfe\xa2}]\x10\xd9U8\x0d\x90\xe5\xa4B\xcc\xbc\xe0\ +\xf9\x8b\xec\x0a\x08}\xa4)r\xa2B\xe4\xc1~\x1e\xf8\ +\x0f$~\xf9\x9eu&\xa8\xbd+\xd6\xb0\xe5\x8b\xd5\x9b\ +V\x01?g\xe6\x13\xf3\x8e\xfdN\x15<\xc8\xed\xdc\xba\ +!\xc7\xd2\xa4\xb0p \xb0\x0fV\xce\x8e\xb2\xce\xa84\ +\x91`\xe6s\xf1[t\xee\xb8\xc2F\xc0\x08r\x12\xd9\ +\xafC$K(\xb5\x08;\xae\xec\xe7$\x0c\x8e/\xc8\ +\x93\xf9\xf4\xb0\xe6yK'\xde\xa4z\x97\x865\xb2\x86\ +r<\x1d\x80\xc3\xb1\xc3\xb8~$[M\x903/a\ +\x9b\xa6%\xe2\xc3a\x15I\xe0\x0a=\x15E\x12< \ +\x09.J\x81\xc6g\x1b\x7f\xaa\xce\xa7\xb2\xef\xf1w\x9f\ +\x0b\xab\x9c\x01\xb4R\x01\xd9\x85\xfb\xc9\xb2e\x7fV\x0b\ +\xc0wJ\xcb\x02\x05&\x10\x1d\x96\x9f\x8c\x1e\xeb\xcb\x1b\ +6s\xe4\xd5T\xe1\x9b~\x14V+\x90\x04\xecp[\ +\xe5\xde\xf5\xbf7\xa4\x89\xb4\xaa2\x0f\x94\x80\x8e\xc6\xc7\ +\xdc\xfa\x08\x07\x0b\xf3\x19\xce\x83\x18\xf7\x975\x95EZ\ +S>!\x15\x09%T\x18\xdfUZ\x1d\xa9X\xc3f\ +\xae\x0a\xf1\xf4\x86do\x14d\xfb\x0f\x0dR\x8bD\xd1\ +\xc5\xb9Y\xd4\xe4y\x8b\x93\x17\xaf\x5c\xbc2}\xff\xb9\ +\xe9\xb3Sz.\xe3\xe9\xe3\x19\xe3\x19\xe9x\xbe9\xac\ +I\xc4*\x813~z\xfc\xcc\xf8\x99:\xde\xd3\xa7\xc3\ +r\xc0\x92\x91A\xc3\xe1%\xf0\x04bN/\xb19\x0f\ +6.\xe4\xe1\x8b\xbf/n]\xa4\xf9v\xebFa\xe9\ +\xf5\x98\x82\x04\x98\x1e\x12\x96^\xff7,\x8fc\xde\xc7\ +\xa7-\xc3\xd2\xff\xdd\xae \x04R\xb8\xff\x9e\xc5{\xd2\ +\xeb_\x16\x7f]\xa4y3\xfdG\xb2t\x1d\xd3\xf7\x93\ +\xa5\xc0f\xda(\xd9\x86\x15\xa2o$\xae\x0aJ\xd3\x97\ +\xc3\xc4Ips\xe5\x04qeTPp\xcb\xafA\xe6\ +\x19\x89\x95\xbdj\xeb\xc5\xf4\xe6\xb0\xda\xea\x94\x13E\xe9\ +9,n\x08K\xbf\xbf(,\x93\x1c&K\xdf\xdf1\ +\xacA\xc8\x80p\xd2<\x1f\xaf\x08\xab\xfb\xf5\xf8\xea0\ +\x91\x8a?O=\xfd\xd7Tr\xfbEbf\x00\x00 \ +\x00IDAT\xc2\xf9\xc8\x82\xdc\xc8=\xf5\xc5?-\ +\xad\xa8\x14\xce\x90\x8b\xa4`r\x8e\xd4\xdb\xbeV\x0a\x1e\ ++\xbe\xa8\xc2\x17~\xf0\xffh\x7f\x15\xe2\xcf\xb2\xac\x92\ +\xf1sb\x0f\x99\xbc\x9d\xac\xcaT\x10O:'\x88{\ +\x86?\x86\xa5\xfb\xb80,W\xc4\x8f\xcb\xa4\xccBD\ +\xb1_\xd0\x22D\x22\xc1\x01,~\x10\xf1\x9f\x10D\xe6\ +Tx\xb8z\xda)\xf0\xbd\xa3\xac\xd3\xe1a\x92\x8fG\ +\xf6\x8e\x02'-IZ\xb7i7\xca-M\xe3\x0da\ +U\x1e\x95\x16\x9e\xc5\x97\xc2\xaaZ\xc0\xb0[\xf1;\x87\ +kJ\x8f?2\xb5^g\xf8\xcb\xf8+\x90\x89Je\ +d\xf1\xd6\xb0\xa6\xf7^\x88dZ\xc1\xc6\xcd\xc2\x9a\x16\ +\x00de\x85\xe8\xb2Z\x02\xc8oH\x0d\x89+@\xa6\ +\xdf.\xacI\x84A\xca\xa9B\x17\x85{suP\x00\ +C\x15\x07\xa4<\x85\xf0/\x94\x84\xf3J\x027tQ\ +\x81\xa8\xe1\xa0\x0f\xd7\x8a\xe4a;A\xd4?*y\x0d\ +\xe4\x0f\x04}\x1c>\x1f\xd6\x04b\x04\x8a\x1c\xa48b\ +\x7f3\x02\xa08\x88@:9\x90T\xf9H\x8f;\xf7\ +N8p\xdf[\x1b\xaa\xd8\xd8I\x04\xb8\xc27u\xec\ +\xc6\xd7j \xbe+\xf6\xf1\xef\x08\x82\x01\xc4\x0f\x07G\ += ^0Tnp\x88\x0f\x16\x14\x9c\x1eM\xd4\x0a\ +6\x0f\xc1\x8c\x7f\xe0\x10 [\x07$\xe8nr\x1c\xaa\ +L[q\xe8\x09\xa4p\xe0\x09\xa4\x08D\xb8\x0f9\xd0\ +\xd6WVF\xcc\x95< \xecT\x08!\x8d\x03zK\ +\xc0Le\x03y\x08A\xa9|\xfd8\xdc\x9bv\xac\xf3\ +\xfc\x9c\x03\x9d/\x02\x02\xae\x0b\xfdfH\xb8X88\ +d\x8c\x0f\x0b\x7f\xed\x02QY\xb1q\xe9\x0d\xce\xd7\x1a\ +\xb7\xfd=\x1dP\xcc\x1f\x02o\x1c\x0c\x02\xe7\x9e=\x9b\ +\x89\x8f\x8c\xcfm\x86d\xc1A\xa0\xdf3\xbe@\xec\xb9\ +.\xe6%,\xa4<\x1f\x91b\xba\xb2\xde\xcbt\xed\xa9\ +\x84\x01\x09&*\xc78\xfe\x1d\xd9_\xa8\xc9.\xe3|\ +`\xbe\xdf$5\x85+$[tMA~8\x93\xda\ +\xf7\x82\x93 \x22\xc0\xfd\xab\xc9\xf9\xca<\xaa\xac\xec\xc5\ +\x81\xe970H\xc9\xf8y\xcf\x12O\xa0L\x8b\x02\x09\ +\x16\x1c\x22\xee\xff.\xcbe\xf3L\xa2\xc7\xfbP\xf9&\ +\x90$\x91\xc08\x12\x90\x12\xd0\xe1\x08s\xfd$\x92H\ +\xa0\x00=\xbf\xb0 s\x82\x02*H\xa0\xe8\xb96\xcb\ +\xbf\xe4\x02\x93\x1b\x99\xbe\x1ah=\x89/z\xdeq\x8c\ +\xf9\x5c\x12\x17\xb4PTR?Z\x01\xca\xfa\xdd\xa1\xeb\ +\xf5\xef\x03Y\xe6\x0f\x01/\x07\x1e\xeb\x99\xf1\xa0\xc7\x18\ +\xe8\xf2\xbd\x14\xf8w:\xf5\xe93J\xc0\xba\xadU\x06\ +\xca\xf8\xf1\xdcI\xcc\x11P\xfdN\x0e%\x08\x8f-u\ +\x1d\xf4\x92_#\xc84\x09\x1e\xd6\x0f\xefCe\x8f\x8c\ +<-\x09TZ\xa9t\xe2\x88\x90\x08\x22\x90\xa2w\x8d\ +@c\x83N\xdd\x04\x07\x14\xa8 \xfb\x14\xfb\x17\xcf\x8b\ +\xf9\xa2\xebNaS\xe9\x15\x96\xce\xb2\x7fO\x02R\xba\ +\xbffA\x86d\x87u\xcez\xe4\xfca\x7f\xe1\xbcQ\ +\xaf%\x5c!\xc3ea50BN\xca$x\xcf.\ +\x88\x94\xa0\xac\x0a\xd2*\x93'}e\xbc8zs\xcd\ +9\xc2\xf3\x00\xc1\xc2\xba\x00\xe9\xa0Dv\x1a\xfb\xb2?\ +\xb2\xbf\xb1\x9e\x09\x90!\x93C}E\xbd\x97\xc3\xb9\x05\ +Jo\xbdv\x9e+\xeb\x94\xc0\xef{:\xff\xbe/d\ +\xcd\xd7\xd5\x03\x8e\x83\x87\xbc\xd0\x17\xb2U\x07\x9b\xf3\x19\ +(\xbez\xc5qp\xe6O\x845l\xee\x01)\x8d\x96\ +\x803\xb3\x99m\xd8\xbd\xda\xc8q\x81$\x04\xc2\xcf>\ +\xc3\xfcb>\xa0\x93\xad\x8a\xb2\x11A\xac?\x90Z@\ +,U\xb1v\x02\x0f\x95\x019\x8eV\x13\x00\x92\xae\x8a\ +\xaa\xfd\x0c\x12\xc3\x9f-\x81-\x09\x22s\x1f\xf4\x884\ +H0U\xe1\xb6^6\xdc%\x82\xda\x0f_)\xfb\x15\ +\xe76\xe7\xa6I\x85Y\xef\x90T\xbd7\xacI\x0c~\ +:\xacAf\xaaB\x8e\x03\x0dTw\xb8)\xac\xe9\xf5\ +W\xa0c\x87\x93\xfd\x95\xc4\x05\x8e=\xc8KU\xa8\x9c\ +\xd8R\xa5\xdd\x5c\x05\x90_A\xea|\xdf\xe1\x80\xe1\x80\ +&\x01#r?\xd6\xcf\xf0\xe6\xb0\x06\xe9AA\x08\x84\ +\x0b\x8e.~\x06\xf3\x82\x16\xc8\x1e)\xc9\xf3\x16\xc9o\ +\x1a\xf533\xb2\x80\xeb\x97\xdf5\xbd(\xac&\xa2@\ +\xe0\xc0-`U\x84\xae\xe7\xd6\xea\x1bpS\xf1=\xcf\ +C\x5c\x13\x86`s\x1f$\x06h\xed\x90\x9f\xe8D.\ +\xfb#\xad\x06\xe2\xfe0\x99\xa9\xf6\x85\xf9\xa1a\x0d9\ +c\x84m\xe77\xeaGJ\x0c\xd1cNO\x7fh\x18\ +\x04\xc4wziX\xda\x87\xde>\x9e:\x9e\x9a^\xbf\ +>^2^R9y\x8c\xd4y\x5cX]\xaf\xe3z\ +\xe3\xbac\xf2+\xc6O\x96\xc0\xce\xeb\xff\xd7\xe5s\xc7\ +-\xc6\xcd\xc7\xcd+\x97\xcc\xbce\xa9\x84\x0e?\x08K\ +\xd7q\xdf\xb0\xb4\x9dm\x1a\x96\xbe?!\xac\x92\xffM\ +?L\xf6\x83\xdc\x03\x7fR\xc8\x1f.^\x15\x96~\xfe\ +\xa7\xb0\xf4\xbaqX\xfa\xf9^\xc9\xd2|\x98\xce\x0e\xab\ +\x15\xfb\xe9\xc5a\xb5^F`\xe7\xc0[\xfb&2\x88\ +\xd3\x16\xa5\xd2\xee\x8a\xbeHA\xb3\x9c\xe2%5\x00w\ +\xe0\x84\x0e|<\xef\xaf7\xad\x02\xb0\xc6\xd3R!\xce\ +\x02\x12K\x96\x8f\xa5P\xc5yJ\x1c\xa5\x96\x1d\xd6\xad\ +e\xdb:\xe4\x07\x5cR\xc3Aj\xed\xda%\x9d\xc2\xbb\ +6\x9cV\xb4\xdcA\xd6\x0b)%\x88\xd9(c\xfeg\ +n=+r\x86JX\x0d\xbb\xa4\xf8c\xe7\xba\xce\xe1\ +H\xe0\xb9\x19\xd2N\x82\x98\xf7\xa7\xd5F\xef\xe3\x02\xa9\ +\xd6\xbd\x03v\xd6\xa5\xfc \xbf\x1f\xf1\x13r\x97\xf4\x0a\ +\xb0\x1e\xb4\xae\xdd\xb3~\xaaz\xe0{\xd2b\xbdN\xbf\ +\x0dK\xf3\xf0\xec\xf1=\xe3{\x1a\xce\x11\xd6\x93\xe2\x99\ +\x14\x86?lH\xcf#\xcd\xe6\xb5\xc7\xb5\x9by\xfcq\ +\xb5\x16\x89\xab`\xf1\xf1\xb0<.y\xff\x9f>\x1f\x96\ +\xbe\xffbX\xe5`\xb0_\x85\xbf\x8a\x7fCbZH\ +\x8a\x9c(zKmm\x1b\x06\xf9\x9f\xf2\xd7MnK\ +\xab\xd7/\xc3j o\x8e%\x9d\x1f\x90\xe5Z\xfeS\ +\xfe\xc3\xf4?a\xe9u\x8f0!\x98N\xa8-D\x8e\ +g\x88\x97\xd8\x8f!\xcf&!\xaf\xb8v\xa5\x1f<\x10\ +w6<\xc8't0\xcd\x9f-\xa4)\xd6\xa3\x04\x1a\ +tZ\xe9\xf5\x00\xdaa\xc7J\xba\xaf\xe9\xb0.\x99%\ +\xa0\xf5\xc8d}[\x0e%\x81\xdc\xd3\xd4;\xce\xc1N\ +%\x82\x03\x1f\xc7\x91\x0c\x15\x07\x03\x8e-\x99T\x02\x10\ +M\x8ca;\xc9b\xa9\x87p\x95\x1ea\x02LX\xa3\ +\xa90\xf4\x95\xe5*3U\x0e\xba}5\x91\x99\xd98\ +\xfa8\xa68jb#uf\xb9\xef)\xa72K\x00\ +A@Dee+\x91g\xdd[\x0f\x16\x07\x09G\x12\ +\xa8=$[d\xc6\xd80\x18\x0f\x02\x06\x1c\x00\x1cr\ +*\xd5\x04B\x82b\x0e\xfc?\x8e\x0e\x1b\x1b\xf7G@\ +\x84\xde,\x07)\x15\x19*\xe2}\x8f2\x15Y\x1c?\ +\xc6\x97\xfb\x10\xa4\xde\xa4D\x04n\x04(\x04\xa2l\x14\ +\xb0@\xa3\x06\x81#rs\x81\xde\xcd\xbf\x14\x84\x1by\ +B6\x04\x1c\x89\xfb(\xb1\x049XE\x16\x94/\xee\ +\xf7\x9f\xe9\x95s=\x04\xce\x04\x84$nh\x11 q\ +\xc3s\xe6\xff%\xff\xe7\x0a*\x8e\xfa\xa4yu\xb1z\ +\x89y\x8e\x0a\x18S\xb8[\xa0\x9e\x1b,\x9fG\x86\xec\ +2\x1fy\xee\xb7\xd1sf\xddl\xea\xc0\xb5|\xcf<\ +\x5cky\xcf\xab\xe7\x07\xe3\xcd\x17=W\xcc;6v\ +\x02k^I\x14\xb0\xde@\x1a<\xacl\xd4v\x84\xea\ +\x81U\xa0\xdaT\xbc\xc5\xde\x0dI\x8d\xdf\x87\x84\x08\xaa\ +$r\xf8-s\xb4\x8e\x11\x0f%\xd1\xf2W\xcd3\xe6\ +\x07\x95VH\xfd\xf8<\xb1\xdc\xbb\xe7\xbeS\x83p\x80\ +E%\x0e\xa8>\xfbV\x9fX`\x7fc\xdd\x91\x18\x90\ +\xfc\xa0\xc9{ \x19#1\xb0\xbb\xd6\xfb.j\x09`\ +\x5c\xa8\x1c\xffQ\x10\x7f\xd6\xc7\x0d\xea\x89\x85d\x8eq\ +\x16\xc9\x16\xcf\xd1\x01\x1c\x88\x0b\x12-\xeco@\xcb\xe1\ +&\xb9P,\xdc\x1fT\x8f\xe5\xf7\x04-\x87U_\x01\ +\x95\x0f*\x9e7\xfb$\xf3g\xf3\xe5\xf3\xc2\x1c\x08 \ +\xbd6\xb3\xcce\xf9\xff\xd5;9@\x90\x22\x04\xac\xd2\ +O7\xf2\xe4\xe7\xdaO \x9d}j\xa9\xc0\xa4\xbd\xb4\ +\xfc\xbfHr<\xdeo,\x90z\xdf\xe7\x05a\x8d\xbe\ +\xae \xcd\xc8\xfd\x0d\x7f\x0bK\xafo\x1fN\x1dN\xad\ +\xec\xeb\x96\xe3\xd1z\x82[\xc0*2\x90\xd9A\x22)\ +\x07\xc5\x15{\x02~\xf6A\xf6E\xf6\x15\x02oz\x5c\ +!\xc1\x83u\x19\xf9:8\x0bh\xc9\xa3\x07\x132\xc4\ +\xeb\x95H\xd9Y\xf7O\xc0\x0c\xbb\xbf\x10\x7fT\xc8\xad\ +\x06$\xd99W\x0e8\xef\xf0\x1bHhQ)\x05I\ +AB\x86\x96\x1e\xe6\x05\x95QZ\x14@D\xe0\xc8B\ +\xe6H\xeb\x18\xfb\x1e\x90O\xceSA;\xad\x22\xc3y\ +JK#\xe7 \x01=PL\xf5\x98C\xce\xe4\xf1\xa5\ +\xe5\x00\xc8\xaa\xb8\x02\xcc\x89\x00\xfb\xfe\xf3\xc3\x9aD\x00\ +\xd0|\xc6\x99\xfb\xe2\xf3u\xce\xc011\xee\x1f\xd6$\ +6qd\xc5\xc5\xe0\xdey\xe6\x95\xf6\x9b\xf1\xa9a5\ +\x01\x05R\xc5\x15t\xb5\xb0\x0c\xef\x0bk\xcek\xb8\x12\ +H\xbc\xe0\x182\xae\xb0\xcb?*\xac\x16\x0c\xd0\x8d6\ +DV\x8e#\xeaPN\xf8(\x11\x8b>\xb8\x11B \ +\x0a \xf5\xfb\xef\xb0\x069\xaa}{\xde7\xac\x09\xfc\ +i\x85 \x01t[]\xa7\xfc\x22\xcb4^\x93\xc2\xe9\ +p\xc0\xcf\x0f\xcb=\xec\xcf\xcd\x10\xee\xef\x87^@E\ +(\x8dw\x0dk\xceC\xa0\xc9$\xe4HT\xe1\xd8\xf7\ +\xe4\x98J\x9c\x03\x9b\x17\xcf/\xae\xe7\xff\xe2\xeea\x92\ +\xef\xbb\x8f\x02\xf2t\xde\x8e\x97\x85\xa5\xd7\xcdS\x88\x9f\ +\xf6\xe5\xf1YENr~JX=\x17\xc6\xe3\xd3o\ +\x9e\xd5@\x9eA\xea\xe8>\xa6}\xc2j\xef\xff\xad\xcf\ +\x0b\xcb\xc7\xdf\xbcH\x031\xbd}:uz{&\xfb\ +\xcb-0\xf3\x99e\xdf\x9a>\x14&\x08\xff{\xd3\xcf\ +\xf7K\x96\xd6\xc7\xe2\xc8d\x81\xe0\x88\x82\xecT\x13\x02\ +Nx\xa8\xd2L\x0f?\xad+T\x80\xa9\xe0Nw\x0e\ +K\xaf\x0f\x9b\x1e>=\xbc\xf9|8\x19\xa4\x02cd\ +\xde\x9ds\xaadE\xfcu\xfc\xfdtfX=w\xa6\ +\x0f\x84U\x12\xd8\x1c\xe5\x9c\xd3\xcc+\xb8\x12bV\xbd\ +[\x09\x8cck\xc58#\x99\x02a\xf3\x8e\xb0\x9a\xb8\ +c\xfd\x99\x83\xe2\xaba\xcd\xfbQ\x80C^\x0f\xce\x82\ +\x1bJ\xeb]\x9e\x07k\xe58.C\xcd\x87o\x0f\xdf\ +\x1a\xbe\x95\xf7\xe3Ry\x96\x1c\x9c\x13IW\x865\x15\ +iTN\x04q\xf7\xbe\xa8\xd6\x8dy\xed\xb0Z\xa0r\ +B\xe0\x1di\xd5\xbe\xa3\xb6.L\xaf\x0f\xcb\xe3\x9d,\ +\xdd\xe7\xbe\xe3>\xe3>9\xe1Qd\x0du^\xcc\x0f\ +,\xdc\x15+\x0e-~\xb7\xc9\xd6Ah\xca?6\x97\ +\x92\x12\x99A5\x19d\x93i7.\xdc)\x14\xdc(\ +,\xfe\xb7\x12\xb9\x22\xb7\x1c\xfe^\x90P\xe3\x1aaM\ +\x8b\x1e~\xce\xeb\x0b'BhY\x04rdqc\xb2\ +?4~\xae\x12w \x8e\xec'\xc1)\xf2\x95\xb0\x8a\ +\x8c\xb3\x5c\xa2\xae\x9f\x04\x98\xcf%Z.\xe5\xff\x0c\xef\ +\x0a\xab*\x06\xc3ua\xcd}\xc1\xbd\x03\xa7\x89\x0a\xf6\ +\xe6\x06\xfa\xd7\xb0\x86;\xe0\xaeaM\xcb\x9e\xae\x9f\x02\ +\xd9\xb0oXz}eX\xcb\x01\x10\xee\xc8\xdd+\x14\ +\xc9=\xd4\xc8\x99\xa9\xb7\x88\x89:n\x1b\xd6T|\x99\ +0l\x94\x1c\x80\x0aX\x0d\x85\x10\x89\x9d\x03;\x1cj\ +z\x9d\x098q\x88q\xd8\xc9lTHq\x09\xa0\xe0\ +\x22\xa8\xa4\x81e\x83\x06j\x8c^\xbc2?\xdc\x87\x1d\ +P6r\x0d\xb8Io q\xc2\x11S 8\xbf\xb5\ +dzL\xa6\xd0\x93T\x91P`BR\x09\xe3~\x99\ +@\x04\x9a]\xafq\xff\xe0}\xff\xdc7\x15g\x02f\ +\x02\x10\xc6\x91\xf1\xa3\xc2\xccA\x8f\x83\x09\xfb\xb9\xee\xdf\ +\xac\xa0@\xbf\xb7\x94C\xb7\x9d\x0e\xa0\xbb,\xd7uw\ +`\xd3'd\xa8T\xf1\xda\xe9{\x9b\x14\x87\x80\x1dH\ +\x0c\x01R'\x9f\x06\x14\xda\x08\x0d\xc6\x8f\x80\x96\xf1e\ +\xbc9\xe0;\xf6{\x02M/x2\xf5d\xf2\x91\xfb\ +xA\xc9\xf8;\x10&\xe1\x80\x0a\x02\xcf\x91D\x13\x8e\ +:\x09\x1b\xae\x03d\x8b^\x91m\x01\xfai\xc7\x86q\ +]M\x09\x06Z[H\x10\xf1\xfe 8p\x08p\xb8\ +\x81h\xa9\x95\xa2\x91\xbb+\x8e0\x01\x14,\xe07i\ +}\xdc\xacyJ\xe0\xb1\xbe*\xdf\xa85T\xa8yy\ +\xbf5\xbbD\x00\x8e%\xeb\xad\x7f~ S\x08\xech\ +E\xc0\xf1\xa4b\xac/\xeb\xd6\xf3\x9c\xfb\x84\x14\x07\x17\ +z\xb0\xb4X(\x01\xe1\x16\x19\xee\x87\xf9Ab\xa3\x92\ +\xcc-\xe7\xb4\xc0q\x07\xa9C\x80\x0dB\x83\xfba\xdd\ +\xf5\xe4^T\xae\xf9}\xc7\x09\xe0\xff\xaf\xf2\x8ee^\ +\xd1b\xa0\xfbv\x22\xaf&\x16\xcaz\xa2\xf2wo\x91\ +\x82\x11p\xb1\xbf\xd1;wO\x05X\x7fT+\x0b\xf3\ +\x96\x0ar\xa7\x0e\x92{\x0b[\xb2C\xd6/\xd7\x89\x03\ +\xac\x80n \xc0\xdeM\xc8\x04\xe6\xe5\xea\x9a\x97 '\ +\xa8\xacRY\xa4\xd7N\xebr\xd8R\xe3\xb5\x89\xf67\ +\xc6\x0dDE\xdf\xd2\xc4\xe7\xe2\x98\xffR\xad2$\x02\ +\xf6\xd4\xfdBvx\xb5\xa0y@\x96\xa9 |\x5c\x09\ +d\xe6\x1d\x01)\x15\x14\x12\xd6\x90\x07J\x8f\xda=\xee\ +_\x0ak\xe4~\x9e\x92\xcd\xa4NpxP\xc1\x98/\ +\x94\xfe\xef\x01r\xdc\x08\xf4\x95X\x9b\xaf.\x89J\xef\ +7\xc8/\xf5\x88\x11d\x83\x08\xbc\x09,\xd9\x07\xd8\xcf\ +\xb7\xed\x10S\xecO$\xe8$\x8b\xe7\xf5\xa1\x80\xdf\xe7\ +\x03\x89=\xc8x\x91\x9f\xdaZdL\xf8\x01\xb4\x8a\xf4\ +\xdc&\xbc\x92P\xa0Bt\x87\xb0&\xe1\x8bl\x1c=\ +\xe3$b\xa9HP\xc9\xe3|d<\x80T\x13\x88S\ +I\x139\x96[\x05@\x8ep_\xaa\xfc\xbb%\x11\xa4\ +\x22=\xaf8\xbe\xacG\x91K\x19Q\xc8\xef\x09\x10A\ +\xda\xe1\x90\xf3\xdc \xcb\x22\xc1\xc0\xf9GB\x02\xf6|\ +\xae\x8b}[\xf3\xca\xe4`O\x08k\xf6\x03\xf6?\x12\ +t\xf8\x1b\xa8\xd7\x90h\x87\xb3\x89\xe7,\xc4\x859>\ +\xd8\xafy\xce \x14t\x9eY\xed\x89\xf3P~\xce\xf4\ +\x99\xb0\x06Q\xf0\x9d\xb0\xea\x1f\xd2B\x01\xe7\x0d\x89\x01\ +?7\x1c]\xf6\xb9\x0b\x0b\x82e\xde5,\xbd\xde3\ +\xac\xfa/\xd6\xb9\xa6\x22\xfd\x8c\xb0\x9c\x18,\xea8\xaf\ +\x15;\xbf\x12\xe6\xf3\xed\xe7M\xe6\x22\xff\xf6\xd2 I\ +$\x81\x93\xdc\xef#\xc3\x01\x1f\x1f?>a||\xae\ +\xe8}!*z\x86\xfe+\xa0qO>\xf7\xafqr\ +k\x08~\x16\xa4\x8d\x14\x02\x18?\xf6aZ\x00H|\ +\xc4\xec8\xa0V\x04M&\x07r\x0d$\x01\xba\xe4 \ +K\xf0\x9f!\x97\x04\x89J!)8\x05N\xae\x95\xc9\ +\xe9\xa6d\x7f\xa9\x89\xbe,\xb3{O]\xf7v\x9aG\ +\xf7\xa8\xad\x09\xa1%\x10\x09\x92\xf1\xc4\xf1e\xe3\xcb2\ +\x19_fi_\xfaT\xa9\xd8\xd2\xcb>\xde\x14\xd6\x90\ +**\x91\x01\xd9\x99\xf5\xe2!\xe5\xc4\xffD\xed\xe1\x81\ +a\xe9\x98\xdds\xb1\xc7b\x8fJ\x0e\xb8x|Xn\ +M:4\xc8\xcdrE\xfe\xe8\xfa\xf7\xb9\x15\xe3\xd6Z\ +Q_\xbc(\xac\xa9x\xae\x0ckT\x05D\xceF\xa5\ +\xde\xbd\xf8\x0f\x0ek*\xb6\xf2\xb7P\x19\x98\x1e\x93\xec\ +\xb1BV|\xb8&\x00P\x0f2\xbb\xba\x12\x81Yf\ +\xf1\xf4F\xf5\x02\x7f\x9c}\xef\xbf$3\xa8\xb8a8\ +T\xac\xef1\x1f\x7f\xd2$\x1a9\x8fE\xc2\x97O\xb3\ +_6\x1c\x04G\x87U.\x19\xc7]\x92q\x04\xd9\xe4\ +y\xc1<\xfcyN}W\xff\x0e\xff&\xca\xa7_Q\ +b\xe2\xda\xec?\x172\xc9\x08\xb7\x1f\xde\xf8Uj\x01\ +\x22\xb1\x0a\x12,\xcb.\xae\xd5\xc8I\x92\xd0&1J\ +\x82\x92\x16V\xfcq\x15\xd2\xe6S\xe7S\xe6t\x1e.\ +\x9e\x1e\x96\xc6\xe1\x12\x05\xd0\xb4h>\xa2\xa8\x08\xa5\xd1\ +.2\x87\x8c\x0b\xe7\x14\x09\x19\xad\xafy\xa3\xb0\xcc\xe9\ +P\xfc\xe9\x1f\x0f?\x1a~\xd4\xb4BQ\x08F\xc5\x85\ +}\xf9\xa3\xa5\x90=\x9c]T\x04\xc6{\x8e\xf7\x18\xef\ +\xd1\xf89BF\x8c\x9b\x845\x15{\xb5\x089\x11F\ +\xc2R\x85\x87y\xcb0q>\x1c\xd9\xa8\xa5 \xd7\xf8\ +:%<\xf0\xdfAx\xb1\x1fk\xdff\x9d\x8d\xdf\x08\ +kZ@\xf1O\xe1J\xc0_B\x95G\x09v\xd6\xbf\ +\xfd&\x12\x11jq\x98\xafK~\xd8uu\xfd\xb0\x0f\ +\x11\xbf\xaf\xcc\xe1\xcbuM\xe0/\x92\xa4\x10\x05\x0cY\ +@\x93\xc0\x04\xdbh\xe8\xcd\xfeoXC\x1a\xf81\xf5\ +8\x1dXdF ;p/\xd7%aM\x00\xf9g\ +\x05J\x04\x90@\x15\xd9i\x08,\xa8@\x12H\xf0\xf7\ +L\x10\x02\x056b\x02+\x06\x18\x87M\xec\xa9F\x00\ +h\xe2:p\x80]\x1c\x15\x03\x02qz\x80D\xc6\xe0\ +\x1e\x8a\xf7)\xb3\xd2C\xf7qX9(8\xf0\x09@\ +\xf8=\x0b\x94\xff\xe7~\xeeb\xf9\xb4r\x80\x120\xb0\ +\xc0\xf8\xff^\xd7\x9c\x80\xado-\xc0\xe1e\x1cq\x18\ +\xb9>\xe4\x88H\x84\xb0\xe0\x08\x18\xa8d\x13xp}\ +\x8cO\xdf\x12\x80\x03F\xa0\x0cD\x06\x12\x1c*\x91\xf4\ +\xdeJ\xdf\xd3\xad\x03\xdc\x07\x09\x1590FNt,\ +\xdaF\x14\x10x\xa3+\x8f#B/\x91\x1c8\xb3\x7f\ +\x92\xa89C\xf3\xfa\x8b\x82\x14_\xa3L\x9f\xa0Qp\ +H\xa4p\xa2$\x90p\xc0\x09\xb0@8\xc0\xda\x8c\x03\ +\xce\xf3\x02:\xfb\x8b\x120\xb9'Gd.v\xe0\x08\ +\xfc\xa8\x10\xe3\x00\xe2\xc83O\x98\xdf\x90g2\xffI\ +\x14\x91\xf8\xa1\x92\xba\x99\x9e#\x95\xec\x0d\x9d\x18\xa0\x85\ +b\xb9c\xc8\xbc\xe0:\xeak\x99\xdf\xfc\xdfh\x16\xfa\ +\xf2\xb9\xac7\x1cN*\xcf\xa8T\x10h\xe2p\xd2K\ +\xc9\xe7\xf1\x9c!Y\x02Z\xce:\x99\ +\xd6UTRp\x08\x1eZ\x10\x18vX\x09\xfcAp\ +\xc1j\xbb\x85\xd6/\xd7\xbf\x87\x10\x06\x90\xf7\x09\xc9\xe0\ +\xfbe|x\x9e\ +\xf8;Hq\x94 \x1e\xef>\xee2\xeeR\xa1\xb9\x04\ +\xa2\xf3\xe1\xaa\xb0\xc8A\x1c>$(3\xe4\x9a\x90\xde\ +\x89\xd4\x8e@\x03\xd9\xdaa\xddR\xc9\x9c\xef\x1c\xe0\xdb\ +\xec@\xe6\xc0`\xf8BX\xf3\xfe\xff\x22\x9dq\x10\x06\ +<'\x12\x85[:QV\x10t@\xdbqX\x81^\ +\xc2\x91A&\x9f\xc4\x05\xcf\xf5\x06}\xff)AW\x91\ +!\x84]\x99\xe7\xd8\x93\x5c\xf2\xbcI$2?p\xe0\ +@h\xc0\x12\xcf>\x8e\x83\x8b\xcc\x93\xa0\x9bpqX\ +\xf6\x8dD-\x8e\x18\xf3\x8cD\x13\xf3\x98\x8a\xae\xe4\xa8\ +V!\xe3\xe5\xfai\xa1:@PsH\x00\x19W\xc8\ +\xfdT\x88\xc8\x81\xd0\xbd\x1a\x84\x17\x0e\x938\x0c\x9c\xe8\ +f>\x01\xcd\xe6\x8b\x96\x13\xa0\xea$(\xa8\xf0i\x1f\ +4\xc4\x9b\xfb\x8a\xdd\xfe\xc7\xda\xe7\xbf\xd2\xf4\x94\xcb\xff\ +\xb1\xea\x01\xd7\xab\x04\x94I\xf1N\x0f\xab\x90\xe1\xe9U\ +a\x0d\xa2\x0bY,\xd8\xd1\xb7\x0dK\xff\xf7\xd0\xb0\xf4\ +\xf7\x87\x865\xe7)\x01-\x88\x05 \xb9J\xe4\x80\x94\ +\xa27\xdf\x05\x0f\x129\xccCU\xf6\xc7\xb7\x855\x90\ +\x5c>\x0f\xc8\xeavRo\x11r\x93\x04\x87+\xa8\xaf\ +-P|\xcb^\x8a\xe4\xd5\x95p8&\x90\xb3\x82d\ +O\xfa\xdd\xc8_M\xaf\x0ek\xce\x11\xa0\xd6\x82\xee\xae\ +\xf8\x90\x12g\x82n\x8f\x8f\x0fK\xbf?\xb9@\xc33\ +9\xdb;\x1a\xf92A\x94}\x0e\x03\xed\xe7\xfc\xad\xf2\ +\xcce}\xe2\x7f\xd1\x9a\xa2\x84aN\xc4o\x5c\xc7\xc1\ +\x812,\xec\xc8\xc4\xd1\x92\x01\xfb9\x15_q\x14\xf8\ +\x5c\xd5~\x04\x22w\xfeC\x988\x18^\x9e\xc6a\xf7\ +d\xbb5\xbd\xe5g&;#\xfd|\xfd\xb0F\x1e\xf0\ +\xea\xcc\x02\xe2\xca\xf6\xf8\xbd\xb0\xf4\xba\xf7\xb8\xd7\x18-\ +0\xf7+\xd0\xff\xe1\xf8\xe2\x8f\x0d\xaf(\xa4\x95\xc9\xdb\ +\x7f\xe0\xfc\xc0:\xbfS\xe0\x94\xacQ?\xd8.,\xfd\ +\xfc\xfc\xb0\xca\x012\xdf+,\xbdn6o:G\xe0\ +\xff\x8e0\xb1\xd8\x7fW\xa4\x81g\x0b\xb9\xf1!\xf9\xe1\ +\xdf\xaddk\xd3)a\xe9u\xb5\xb0\xf4\x7f\xa7\x85\xa5\ +\xef\xbf\x1bV\x03\xfd\xe9\x8a\xb0\x8a\x80\x9a\x9e\x11&Y\ +\xc2\x83\x9a}\x0f\x9d\xf4\x977r\x87i_\x98\xbe\x1d\ +V\x11\xac \xbd\x88\x0f\xac.\xa5u\x1c\xb8\x92\xe0\x10\ +HO\xe9\xf1\xf99)\x01h\xf5\x18%z\xe6\xe7\x97\ +\x9ezsyD\xef\xfb\x13\xd5c\xff\xb1F\xf6Z\xad\ +\x8a\xc8;\xa2\x06\xe1\xf7\x95J\x84\x13\x947\x875\xad\ +9\xe7\x86)\xbeyw\x8eS\x0aG\x8a\xce\x1d'\xd4\ +@\xbc\x89\xd3&\xfb\xfb\xdb62\x93$\xcc\x89\x93D\ +f\x98e\x1e\xf7\xab\x89\x00\x07\xac\x90\xca\xa1\xbe\x10\x08\ +\x84\xe0FxEX\x83\xac9\xb2\xacc\xcb}\x8ae\ +\xdf$\x92\xb4\xce\xd0z\x85\x7f\xa8\x02\xad\x13\xc7\x92\xe5\ +u\x02V=\xf2\xd3\xef\xc3\xeax8\xe1MB@d\ +\xb6\x90\x5c\x9a3J\x89\xda\x9e#eX=\xac\xee\xc7\ + N\xa7\xed\xc3\xd2\xf7;\x845\x89y\xd4Uh\x11\ +&\xf1\xdb\x15\xc6\x8c8\x80;\x87\x04\x838\x1f\xf0W\ +\xe7?\x875-\xe7 \xb6\xe0\x1cxEX\xdd/\xfc\ +\xf7$b\xe0\x82\xe1|#n\xd0<\xa3\xc5\x85\xfd\x01\ +\xb2\xcc\x95\xd9\x8d\xda\xae\xd1+\x94\xec\xcc\xbc\x94ll\ +z\xc2\x90\xab\x80\x95\x15\x88\x9f*8\xf3\xf1\xea\xfdX\ +s9\x14zzbX\xee\xbd\xca\x99\xeea\xcd\xb0\x86\ +\xbd\x1c\x08\xb1\x1cYC>\x08$\xd1\x13\xc7!\xe7 \ +\xe6k\xcb\xaer\x22V\xc5\xf9\xeeaM/\x0f\x193\ +X\xa0\x81\xa2A\x8a\xa1^F\xff\xfe[\xfa\xfb+\xd5\ +\x1bvA\x81\x9a\xad\xc2*\xdf\xbf\xe2`CjE@\ +\x0ad\xb9\x0f\xa4\x80\xfa\xd3\x03\x82#\xcex\xd0K\x0a\ +4\x8eq\xe9H\x03W!+\xc3\xc1a\xdc\x98\x98\x1c\ +0}\xcfx\xafS\xce\xfb\x12\x98\xe0\xe8p\x7f8j\ +\x04\xc4\xbc\x0f\x89\x04\x0eP G\xaa\xe4\x0d\x8f\x94\xa3\ +O+\x03\xd7M\x00M\x82\x84\x84\x07\x81\x1e\x01\x86\x02\ +\x5cCS\xf9=\x15^*\xfa\xf7\x14D\x94\x8c*\xe4\ +!$J$s4\xfc:\xacV&\xa3\xb3.z\xeb\ +\x1cX\xd0\xdaB\x02\x8b\x83\x05r\x0e6, \xe1\x90\ +\x10m\xa3\xc0\x97\x0a\x1e\xe4\x94pM\xe0\xc8\x12 \x13\ +\xb8\xf2\xbc\x08\xe8\x18\x07*\x9f\xf4d\x12\x08\xf4\xd7\x85\ +\x0a@'/\xb6\x0a7\xc1\x86\x1dBd\xe5rY)\ +\xbf\xf2\xf9\xbcV\xf9\xbf\xf2\xfc\xb9\x8e^\x85B\x10\xf7\ +\x14\xbc\x16$\x8f2\xd4\xc3c\x86#\x86#r\xc2\xad\ +\x90o\x02\x1d\xddT*\x22B$\xcdO\x0bk\xe4\xbb\ +\x08\xf8\xb8/\xd8\xf2\xd7\xd6\x86\xf7\xcfZ\x0f\xb8_\xc6\ +\x87W\x12#\x9b:QB\xa0^\x9eCeg/\xeb\ +\x95\xfb'`b\xbe\x92P\xea\xd5>X\xe7\xf4\xf6\xd1\ +\x93\xccz\xea\x11?\x1bu*\x1c\x8cs\xaf\xae@\xa0\ +\xccu\xf4\xb2\x93<\x17\xd6;\xeb\xbc\xbfn\xf6\x078\ +\x07H\xb8\x10x\x91X%\x91\xca:\xa3\x22I\xa5\xff\ +\xc6\xe2\x98:\xc1\x87#]I&\xcb\xbad\x9cAr\ +q\x1f \x99v\xea\xb8R\xb4\xaf \x1b\x96\x82\xdd\x92\ +\xe8\xa0\xd2\xf1'\xed;\x90\xda\xc1\x0e~\xb0\xa0\xe3\xbb\ +\x94\x8c{\x0a\x1f\xf2\xcfA:\xd1\xbboy\xb8\xa7\xaa\ +\xa2q\xb4\xf6\x07!r\x5c\xa9c\x5c\xce.\x0e\x92+\ +\xac\xec\xf7 \xe8\x84\xa4Y\xf1I\xa9\xc7\x10\x08s\xbf\ +T~\xefR\xc8!\xc7\x93\xc6W\x8e\xaf\xcc\xe7U!\ +\xfda^\x9c H\xbb\x12\x0f\xc9M\xc8\x15\x02\xb7\xc4\ +\xb1/\x93\x88\xa1\xa7\x1fN\x9b7\x95\x0a\xd6\xf0`A\ +\xb7\xd9g\x98W\x90\xb2\xa1\xfa\xc0\xfcC.\x90q\xe2\ +s\x80\x90\xab\x97\xd0\xf2V\xec\xd3\xcc7Z\x1c\xa8\xb8\ +\x83\xc0\xc0\xc1\xe3\x5c#\x01\x00\x92\x84\xf9\xc59B\x82\ +H\x81\xa0\xd7?\xeb\x85\xfb\xe1}@.@\xf6\x07\x07\ +\xc0\xd1a\x0d)\xef\xdf\xc3\xea\xab\xaf\x07\x7f\x82\xf5\x02\ +\x14]\xa4\xc5V-\x00\xaaO\xab\x02\x8e\x9azz\x8d\ +P\xfaSXsNS\x01\x06aB@\xce\xfbPx\ +QEn\xfczXu\x94M\xf2D\x02\x88\x16\x10\xb8\ +\x9b\xd4\xe3lG\x0fD\x0e\x88;\x12\x1cBD\xd0\x0b\ +m\xd9azpYoj\xe5!\x91D\x02\xc3\xe4S\ +\xe15\xbdC\xbd\xafkV\x7f\x03r0 \xa6\xd10\ +\x1a-\xa3&\xff\x13g\x01dW\xe6V`\x9fD\xed\ +\x01\x0e\x09d\x10\x15\xe0\x81\xf8t`\xb2\xa4\x80\xfaN\ +J$\xbe\xa9\xcc\xcf\x14\xcc\xe5s{\x18J\x01\xca\xe7\ +3\xfe\x1f\xe4iT\x0c\x09\x00HdE/\xf1\xe5R\ +%\xf8t\x13\x80\x91\xf0a\xde\xb2\xbe\xdb\x1e\xff\xab\x1b\ +\xae\x09Z4\xe8\xf5\x95\xea\xc8\xbcSX\x93\xa0\x02\xc9\ +\x06i\x9d^\xa73\xc2\x1an\x92s\xc3\xd2\xcf\x9f\x16\ +\x96\xe6\xc9\x91\xc9\x1e+2\xc076*\x02\xf7\x09K\ +\xdf\xef\x1aV9\x01r\xcb\xd2\x81\xe9\xfb\x13\xc2\x84\xb0\ +H\xf3{<9\xd9\xab\xe4\x07\xfdJP\xee\x1f4q\ +\xc0\x0bS@\x9b\xe6\xeb\xd2\x1b\x92\xc5\xbe\xf2\x9bd\xd7\ +\xe5u\x96\xe7kz\x0e+\xe7\x95\x95#b\xf1\xac\xc5\ +\xf1\x8b\xe3+Y^\x96){\x94*\xef)\xe0Xl\ +\x16\xd6\x90\x1c^\x1c\xa6\x0a}\xe8\xae_\x1a\xd6\xb0\xf9\ +\xff.,\xbd\xfe!,\xfd\xdd\x9d\xc2D\xde\xb7g\xc3\ +\x09\xb0s\x98X\xfb\xd3}M\x7f\x0bkz\xa5c\x1d\ +}\xadQ\x05P`\xc8\xf3%!A\xa2g\xde;,\ +C\xbd_\x93\xa1\xdeW\x85e\xb5\x85\xbf\x86\xda\x82\x91\ +!*\xa0\xa2{\xef}\xe0\xb0\xe1\x91\x99\xa4\x15\xc4\xd0\ +:\xb9\x94\xe0\x8a;\xd7\xe7\x16(T\x8f\xa4\x1a\xc3\xfe\ +\x92\xef\xff\xb79\xa1S\xc8D\xffs\xf8VF*)\ +\x80u\xe25\x0a\x1c\x1b5\x90u\xe6\xeb#\x95\x10\xdc\ +%\xa7\xe0\xeb\xb9K\xeb\x14\xaa(T\xfaAz\xab\xd5\ +;\x93B~\xa6\xf1?P\xc1\xb8>\xad\xe3\xb4\xbfM\ +\x8f\x0aS\xeb\xc6~y~\xdfm\xbe[\xc3^\xafB\ +2\xd0x\x12\x17\x9c\xf7\xb4\x0e\xb8\xd5\x8f\xd6q\xd6'\ +q\x1d\x5c\x08JT\x0ek\x84Ud\x87\xcf\x87#\x84\ +\xcc\xbaX\xe4\xa6 \x16\xe0j\x11\xf2g\xfcqXM\ +$8\xa0f\x7f\xe0|\x97\x1ci\xfa\xcc\xd2\x1a\x0eb\ +\x97\xdez\xd4HP)\xe8\xc8\xcb\xa3\x11'Zq\x98\ +\x97F\x90td\xf4\x9e\xcfJp\x8eO\x0cK\xef{\ +\xaaZ\x0e!\x17\x14\xa7\x8a\xc9\xe8A\x98\x81\xa0\x83\xab\ +\x89\x96f\xed{\xe3\xb3\xc3jk\xd3\xb4mXrW\ +yPf#\x94\x1ep\xde\xc0\xeeW\x1d\xa5\xf1\xfda\ +\xd5q\x07\xa2\x9f\xb6\xe7\x02Q\xa0RE\x80\x08\xf4\x17\ +\xf2\x99;\xda\xe1.\x90\x9c\xc3\xd4s\xa6\xff\xa3B\x0b\ +\x99\x98{L\xd6\xea*\x90L\x0c\x0eN\xde\x9fJ!\ +\x15~\xb8\x0a\x80X\x01\x8d`\xc2p\xf03P@\xfe\ +\x80z\xc0\xca\x88\x03\xc3\xdf\xe3p\x13x\xf5\xbd\xd2\xff\ +\xac\xe2\x86C\xcc\xcf{\x9dk\xbe\x18'\xc8\xadT\x89\ +q\x82\x82\x00\x92\x89\x86\x03F\xe0E\x00\xcf\xf5\xf1\xfe\ +\x04\x02T\x0c\xb9^\xfe\x9e\x00\x02\x87\x0b\x87\x91\x83\x0e\ +Vq \xe7\x04\x08=\xb2\x00\x19\x1d\xf5\x10\x92\x00\x18\ +\xf8\xbcC\xbb\xc0\x1e\x07\xbb\x977\xdc\xb4c\xb1W\xe0\ +\xe1\x8d\x0d\x07\x11\xa8w%3+\x81\xf3y\x82J2\ +\x9e]/\xa9\x1d%A\xbf\xdd\xd3E\xc0\x8f\x1e\xb1\x1c\ +<\xf7\x9c\xfeY\xb2g?\x97\xa3LB\x88\xf1\x83%\ +\xfe\xc1\xea\x95\xe3\xb9\x93\xf1\xa7\xb7\x90\x0d\x83\x96\x0c \ +\xf8p\x0f,\xba\x9e{\x1c\xfe-4\xcf\x09\x18\x98O\ +w\xec\x02\xda\x8a\x00X.\xf3\x88\x0c\x99\x02a\xabU\ +P\x91\xe5\xb9\xf3\x1c\xac\x8bf\xc5\xd7\xf2\xc5\x06\xc9\xf3\ +\x81<\x8e\xder\xb8!p\x90\x18\x076>%F\x0c\ +ab_\xd1\xf8:!\x89\xba\x88\x12\x85\xd6U\xe5\xfa\ +n\xa3W\xe6\x13\x81\x0b\xebn\xfdNn\x0e\xd2B\xc8\ ++\x098\xfa\x04J\xdf\x9aCB\x0f\x92@\xe6-\xfb\ +R\xaf\xe6A\x85\x92@\x89\xeb\xe3\xba\xea\xf3@6\xb0\ +<\xc7\x9a`Y^\xe1\xe7~I4\xe9\xe0q\xef(\ +\x9f\xd7'\x00x\xed\x11V\x04FT\x08\xd8\x07\xba\x16\ +\x1a\x07r;v\xaa*J\xbc\x0e\xebi\x1cA\x00\x81\ +\x18\xe2\xff\x80\xee\xc3-A\x80/H\x9c\xb99p\x84\ +p4\xb4\x9e\xd0\xbbw\xe5\x90\xf1=G\xfb5\x89Q\ +\x9e\x17\xfb\x90X\xf5\xa9\xbf\xe2\xf3\xcd\xbc\xa6\ +\x82\xa4\xf5kH'\x09N\x02AU\x0e\xdd\xd3\x07w\ +\x03\xc8#z\xfc\xbeP\xc8rS\x98\x9c+A\x5c\x97\ +\xf7w\x9e;\xad4\xef\xcf\xe6\xcc\xbf\xe7)\xe3\x8c\x9e\ +7\x90NA\xeb\xddz\x04\xb7\x08\xe3N\xef:\xa4\xa7\ +\xd9\x15=\xc6K\xad\x99TF\x8dp\x10k\xbe\xd5\ +\x12\xf6(\x89J\xe4\xab\x8c@\xa0\xf0\xf7\x82\ +8z\xddl-\x84\x05\x810\x0e\xdc\xad\x1aO\xd6\x1d\ +\x01;\x09,\xc6}]%\x0a\xd6\xb1\x9cb\x09\xcc\x91\ +\xf5\xdbL*\x0e\xcc_\x1c\xfd\x0a\xdd/\xeb\xb5\x22\x08\ +J\x80\xc3\xbe\xc0|\xe4{\xd6\x0d\xd7\xc3\xf8\xf2\xc5u\ +wj\x18\xc3\x86g\xe1\x1b\xb4\x00\x00 \x00IDA\ +T\xc3\x069Q\xb4W\x0a\xaf\xf7jd\xeb\xb8_\xee\ +\x9f\xff\xa3R>\xfb}\x97\xcb\xe4\x01\xc1'\xa0d\x1e\ +p=\xcc\x9f\xadSX\xbeu\xc3\x81\xb0\xa5d\x1e\xc9\ +\xcc\xab7\xde$>\xdc\x1f\x09\x00\x9e;\x09\x18\x10\x11\ +\x04 \x0bH4p\x9d$^H\x08\x09\xda\xe8\x8a\ +\x09\xfb\x17\xdf\x7fM\xbd\xe5[\xc9\xa1f\xbd\x13hQ\ +\xc1\xe7\xf9)\xe1\xb4\xe2R%VoY\xaeNC\xc5\ +\xc0\xd0=z5A\xf6p?\xec\xcf\xb0\xbf_T\xc8\ +\xa8\x86#Ke:\xb9/\x19A\xe7\xdf\xab\xe7\xdc\xf3\ +IH%C7un\xce\xcf\x98\x8f\x0d\x12)_\xc7\ +zy\xa6F\xa5\xf1\xe8\x5ci|^X\x03\xa9\x94Z\ +\x84\xc9G\x91\xc3\x03\xd2\xcfyI\x82\x8e\xfd\x9es\x82\ +\x04\xe9\x96\x9d\xdc%\xd0r\x12\xd0\xcc7\xa0\xf7Jh\ +:\xb0$!\x00\x84Q\xbd\xbdV\xeb \xc0\x80\xfcN\ +\xbd\x94\x8c;dS\xf4\x86:\x90a\x9er.\x01u\ +\xa6\xf2\xa5\x00\xc7\x8eZ\x87\xd4\x98\xcf\x09K\x7f\xf7\xbd\ +\xb0\x06\x09\xc6\xf8@\x96)h\xaf\xe5\xfbc\xac\xa3\xeb\xb2\xeeAE\xc6\ +}8\x85\xed\x1f\xae\x90\xf2\xfc\xbe\x077\xe3\x86\xfa\x80\ +\xb8\x19\xfc|u^\xa2\xe6\x04\xb2f\xde>\xaci\xb5\ +\xa1\xc7\xfd\xc0\xb0\xda\xda\xc3\xbeA\xab2\xadf\xde\x07\ +(\x04\xe8\x5c\x1b\x1e0<0X\xde\xdd\xbbN\xe1\xe4\ +\xeb\xd1}\x9f9\x96~\x14\x1cK\xb9\xa5\xf9\x82\xf4\xba\ +U\xb2\xad\xeb~\xe28I\xe70d\xc1\xf3\xe6\xf3\x16\ +\xf3\xe6M\x0b\x8b\xe2+\xd4K\xe6\x1d\x0b4\x1eN\xaf\ +\xd0F\x0bu4\xc8\x04\xb3l\xe3\xd55\x81\xc3\xb9\xe0\ +\xfd\x02D\xd3\xcf\x8a\x0c\x9f[\x04\x88W8\x97\xd4\xbb\ +\x8ez\x85\xfdd%\xb4M\xa6)\xe4\x91[\xbcY_\ +Z\xff\xc8e\xfa\x1c\xe1\xbcg\xbf\xa3pA\xdc\xa9\x04\ +3$\xc0&I$\x0eR\x02}\xd8!\xac~\xbe\xcf\ +%\xb8\x9c\xf0\xd3 OV\xc2\xd3\x08\x18\x15\xe2\xf3\xba\ +^\xb3Q/9B\x88YZ\xc6\xe0Z\x12R\xc5~\ +\x01\x85H\xb5\x0c\x9a\xd4\x96\xb8\x1a\xd2~\xc9\xad\x92\xd8\ +[\xe9\x03\x18H\xf5\x83\x8b\xae0\x99\x056\x22\xbf\xa1\ +\x1c\x80\xf9\x93\xa5bA/vf\x1fM\x13k|\xf7\ +x\xd6xV>0KF\xe2\x8f\xea\xd5\xc6\x91\xa0\xb2\ +-2\x9ea\x13\x05\x12\x87I.h\xad\x02\xe95$\ +\x83\xde\xc9\x0e\x82;\xbf:\xacf\xf6\xe9\xb9\x815\xdc\ +PA2\xffb\xa5uO_\xdf\xcbL\xa0\x014K\ +\x0e\x92{\xbc\xb5\xb1\xcf\xf7\x0bk\x1cu\x1c\xfe\xdas\ +Y\x02,\xe9\xb4\xfb@\xef{\xa6\xfb\x8d_\x99\xa8\x15\ +\x7f\x14\x09\x04\x13\x9c\xc0\x82\x85\xcf\x01\xac^6;b\ +\x04\xcaJ\xd8\xd03g\x87\x8e\x09\xcb}\xb2\xb0\x08\x04\ +H\x0c\xd0SM\xef!\x09\x17Z3\x08\x0c\xa8`\xe2\ +(\xf6\x90P\x02\x07\xee\x0fG\x9d\x9f3n\x04X|\ +\x1e\xf7S9\x12\xca\xb8\x92\xd8\x00\x02L\xc5\x18\x95\x0a\ +\xdd\xaf[J\xa88\xe3\xe0@:G\x85\xbaG\xac\xfc\ +\xc5$y\xe5\xb9P\x91%P\xec\xf5\xbc\x97\xf4\xbe<\ +\xdf\x07\x16\xe4Dt\x88\xe5\x1e\xb1wg\xabP\xf5\xcf\ +\xab\xd7\xf2Y+NXqB\x03\xb5\x14\xeb\xb3U\x0c\ +\x80\x0a\x13\xa0\xf7\x81+\xf7\xd5\x8f#\xcf\x83u\xd6\xc9\ +B:sH\x05\x9b\xdf#\x17\xc78\xdc\xcer|%\ +!\xb3\xa6e\x01K\x00\xc7\xf9;\x05\xdc\xbb\xd4\x80\xc3\x09\x04d\x1a%\xdf\ +\x95\xfe\xbb\xc8r\xdeX\xce\x1f\xfckd\x08\xddzH\ +\x05\x9f\xc4\xba*\x8an\xd1 \x90\x96\xfbfU\x01Z\ +M\x08\xe0\xa2b~H\xd3\xc2\x82\xc3\x1f~\xc4\xfaj\ +\xe5\x88\x04\xfb\xdb\xb3\xad\x18?\x1c&h\xf1\xeaM+\ +\x0b\xdc%\x90=\xaa\x85azaXeC\x1f\xdf\x18\ +V9\x052\xd2\xe3\xa4\xb4\xfc^\x90,\xed\x93\xd3m\ +\xc3\xd2\xeb\xdd\xc3\xd2\xebFaJ<\xc4\xdfm\x1fV\ +\xe5\xc7\x89#\x16\xdb\x845\x01\xa2\x90\x14\xf4.\x1bZ\ +.(?\xad\x0fTN3\xb7\xc3)9p\xdd|.\ +d\xc6Y%!\x87u\xe7\xd6\x0a,-\x0b\xe9\xd3\x0b\ +\x92\x22\xc8\x5c\xaf\x92\xffs;\xf9\x11k5-VB\ +\xdcL;\x85\xa5\xfb\xbe\x7fX\xe6\x06\xb8<\xb7\x8c\xfc\ +.,\xfd|\xbfq\xdfq_q\xc9\xbc\xaa\xd9\xf7A\ +f!\x1b\xd8\x9f\xef\xf8I\x92\xf54\xd2\x07\x84\xb3\xce\ +k\x12\xa5T\xd2\x81\x98\xbbe\xf5\xdd\xe2\x04\xd8o\xde\ +?C\xf2\x15\xc7\xe5}\xef\x8b\x0a\x10\xdf\xd7\x9c\xaf\xa8\ +\x80(\xe19?\x22L\xfb\xe1s\xf2\xfe\xb1\x8c\xf4\xda\ +\xa4\x84 \xe34O8\x17\xa6\xd3\xc2\xd2\xf7\xc7\x96\xc4\ +\xb5Uu`\xff\x07I!\x84\x8b\xe5L\x95\xd0\xf4:\ +~rX\xb3\xafp\x0e\x83\xec\xa2\xb5\x97s\x10$\x1b\ +\x89W\xceo\x12\xdd\xc4A\xda\xcf\xddb\x0a\xb2\x82}\ +\x8c\x04\xb4 \xf9V[\xe0\x1cb_\xe3s\xf1ch\ +\xf9\xea9j@\xd6\x91\xf0\xc5\x1fU\xa2a\xfc{\x98\ +\x12e\xbfi\x906p\xce\xa9\xd00\xde&,s\x9b\ +e\xf2D\xfb]p\xf2\x88\xab\x0e\xe4\xde\xf0\xb2\xb0J\ +\xbajd\x1c\xe4\xc7\xf2\x87W2A]\xd1\x13\xa4\x05\ +2\x1d2\xbf\x8b\xaf$\xbbX\x13w\xb5\x0ae\x1bo\ +)70\x8e\xe3\xd2\xb8\xd4d\xba\xf7\xd3@\xd0c\x83\ +^0\xa43@\xa2#\x13\xb5U\xfe\xbc\x22k\xc4\x8d\ +\xb0@8\x10\x80x\x90\x98\xb8U:\xf2\x90\xb3\x10\xd8\ +\x03=\x11\x94\xcc7.\xc8\x8d\x03L&\x12\xec\xbad\ +J\x94@ \xc3m\xb6g\xf5\x9e[v\x01\xc7\xadr\ +\x11 +V*cL\xc8\xcd\xdd\xbb^&0\x01[\ +Gb\xb6J@D\x86\x1f\x07\x95\xc0\x8e@\x83\x9ev\ +U0<1\x09t!\x83 \xfa'=\xcc8(\ +v\x00\xf9\x5c\xbe\x90Q\xa2\xa2\xc0F\xc5\xf3\xe1{\xee\ +g\xd5\x0adqX\x09\xfc:\xfdy\x07\x8ad\xe4\x08\ +\x8c8\xf1z\x99D \xa0\xfc\x1dd\x86 \x00\x08\x18\ +\x18o\xae\x8b\x80\xfd6\x1d\xc4\x19\x87\x9cy\xc1s@\ +e\x82J\xf0\xc6&],\x0e\x0d\x0e5\x09\x8c{\x8a\ +|\x0a\xc7\xacSi0i\xe1\x9d\x04-:K\xba\xd1\ +\x17\xa8\x95\x05\xb9Km\x0c@\xab\xc8 {\x1c\x99\x1f\ +}\x22\xa6\x0f\xf8\xbb\xef\xcdEA\xe0\x8a\xa3G\x00X\ +\x13\x1ce~VY\xc0\x92\x08`\x1c\xbb\x83\x8b^b\ +2\xa4\x0e\xa4\xa8\xb42\xce\x04\xac\xbd<\x1e\xe3\xce\x06\ +M@\xa5\xd6\x13\x1cg\x07tr`h\x11\x22C\xea\ +\xd6\x8a\x83\xb5qn\xd0\xb1\xbe\x03U&\x11\xc0\xfc\xec\ +U%\x98wK\x0a\x84\xfa\x84G\x9f\x10\xbaS\xde\x19\ +j \xcb> (\xec2y\xa1;7\x7f\xc7s\xc0\ +\xa1\xef\xc7\x99@\x8c\xf1\x22\xa0\xd0\xf5\x0d\xc7k\x5cI\ +\x0c\xb2\x1e\xb8\x9f?\x99\x1b\xa0\xbcV\xce\x8f2\xaf\x91\ +\x99\xe4\xbev6I[IX\xad\xa1J\x1a\xfbF'\ +7i\x886\x09\x0e\xe6%=t|\x1e\x812\xe3\xc5\ +\xbeX\xa1\xfa\xe5\xf3\xe9%\x86\x0b\x00\xce\x07\xc6CH\ +'Wp\x1f\x1f\xd6\xf48C\xaeF \x01\xcb<\xeb\ +\xe3\x00A1\xd9\x8f;=b'\xb24\x8e\x86\x9e\x0b\ +\x92\xe8\x00\x8e\xfd\x87\xc0\x11D\x96 }\x0e\xe8Hd\ +p_\x1c\xe8\x90\xea\xa9\xf2\xe5J\x10\xe4cr\xe0\xe7\ +\xb7\x97J\x8e\x13\xd8$\x00\x80\xbe?\xba@\xe9\xa9\x00\ +\x0c\xfb\x97@&\x1d\xf7E?\x9c\x80B\x8e\xc7\xf0\x89\ +\xb0f\xdf\x22\x90\xc3q\xe19\xb3oP\x01\xb96\xac\ +\xd1w&\x11\x03t\x99\xc0\x10\xd29\xf4\x86\xa5\x1e\x80\ +l\x9d\xe7\xb3*>\x90\xdd\xc1:m\x87O\x8e%\xac\ +\xd4^\x7f\xecK\xf4<\xf2=\x08 \xc8Uq\xb4\xa9\ +\x14q~\xf1\xfcXg\xcc\x17\x90#8f \x96\xe8\ +Q'\xa1\x89\xae3l\xdc\xc8\xa1A\x06\x07\x0b<\x89\ +\x00\xa0\xe0$>!\xa3\xfdT\x91\xd5t\xeb\x80\xee\xc7\ +\xad\x11\xc86Q\xc1#a\xcb\xfcd\xfe\xa1\x8a G\ +o\xc5\x19\xd9*R\x8eu\x0ab\x03\x12/\xe4\xfe\x98\ +G\xc8j*\xa1f2V\xc6Q\xe4\x92n\xc1\x83d\ +\x8b\xfd\x8b/\xd6\xa9 \xcf\xc3qRg\x10\x22\xc7\x01\ +0\x08\x0a\xc8*\x95\xc8\xb1\xcc\xd5ea\xcd\xb9\x05\x89\ +4\x01\xce[\x85\x94yb\x81\xccZ}\x01\x04\xd1#\ +\x0aRe|zQ\x11X\xdaj\xe9.K[\xe5\x9e\ +\xf9\xc7\x8c)p\x1a?\x12V\xfd\x85\xe1'a\xe9\xe7\ +\xaf\x08\xab\xb2ly\x97\xde\xbc\xe1F\x08\xae\x84s\xb4\ +\x0f\xfdO-\x94\xe1\xe7\x0e\x7f(\x90\xda\xf1\x9ba\xe9\ +\xf5~a\x0dK?\x09\x02\x9d\xe7\xe9\xef\x935\xe4e\ +T\xfaN(\x05\x02\xf6)*\xf1VM \xd1J\xa5\ +\xef\xe5a5@\x079\xb2t^X#\xbfH`\xa9\ +sw\xda7\xac\x92z\xbbe(\x90\x0f\x0f\xd7\xb9\x12\ +\x9f\xf7\x8ddq?w\x0e\x93\xde\xfc\xb7C= \xd9\ +\x85\x22+}Km9X\xdc%,\xbd\x1e\x97\xec\x99\ +\x8d,\xdc9a\x15\xe2\x9f+\xf2\xe75\x15\xeb!\xac\ +\xe9\x99\xbe6\xac\xf1S\x05\xb1\x9eN\x0e\xab\xdc\x18\xe8\ +\xbf\x87\x18^&I\x0c\xae\x8a\x95\x19\x91\x165\xdf\x8a\ +\xdc\x85\xcb\xa4\x93\x95\xcel\xed\xaf\xad\x88\x11\x9f;B\ +\xcc\xa5\xb0\xf6\xd1\xf3\xa3W\xd5U\x9fn\x9a\xfeo\xfa\ +\xbf\xba^\xc7\x8b\xc3\xe4\xef\xa5sa<*\xac\xfa+\ +\x9c\xffFv\x90\xa0c\xdf\xc5o\xa4G\x5c\xe3\xec}\ +\x9f\xfd\x93D1q\x16\xaa \xfb\xe7\x13nU\xee\xa8\ +\xcd\xb2@m$>\xde\x96\x13\x1f\xc4c\x82\x8a\xa3v\ +\x90\xc7\xef\xf7BH\xdc6'\x942B\xdb\xc8\x04\xa9\ +e\x00\x99\xb7\xba\xce\x13t\xddBH8\xa1\xa5}\xd6\ +q\x9b\x90+\xfc~\xfaxX%\xd7\x1e_\x1a\x96^\ +\xff5\xac\xe1h\x03y\xccx\x11\xa0\xe3\xef=5,\ +}\xff\xf4\xb0f\xbf\xa2\x95\xe9\x820qe\xbc\xa9A\ +\x9c\xcb\xefuk!\x09\x00*\xf7\xf8\x07\xa5\x14R \ +\xfc1\xaf>\xaf\x16AZ\x11\xf8\x7f%l,G\x0d\ +\xe9<\xe7+H&\xe2 \x90\xe6 \x8b\x1e\x12V\x13\ +\xdd\x90b\xe2\x9fL\x9b\x855\x1cu\xf8\xc9\xda\x07\x90\ +\xc1\xb4|:\xfb\xa5\x90\xb3\xc3\x1b\xc2\xa4&\xf2\xaa\x8a\ +P^9n\x93\xec\xae5P\xc9$.q \x9c\x1e\ +\xd6\x0c\x5c\xd4\xc5\x0flz\xd7\x22\xc0\x5c+g\xa6w\ +\xcfrL:`V\xecY6\xe2\xe9\xdf\xc2\x9a^\xe3\ +\xfb+\x909\xbb@\xa2\xdcRL&\x1f\xfd`6\xe6\ +[\xc2\xaa\xe3o}E-\xe0L\x82rd&\xa3\xc8\ +\xfa\xd7\xf3\xf3\xc2\x9aJ\x16d\x17@y\x16\x1d\xa4\x96\ +\x85D\x85\x16G\x85\x83\x14h\xa5\x10\x01&c\x10\xa4\ +\x0a\x92Ao\x0c=)\x1f\x07$\x01@\xcf\xa2O\x80\ +\xdaC\xe0\xfb^]\xde\xbf\x97]\xa3\xa7d\xab\xe4*\ +\xbe\xbd\xe91BFF\x90{\xcb\xb4\x10\x80\xe18\x01\ +\xd5\x07*J+\x84\xc6\xd3\x8eb\xad\x14\x97@\x91\x09\ +\xcdu\x12\xa0\xe0\x98\xdcl\xe8u\x09\xa8\x08\xb8\xfa\xde\ +b\x02\xa9>\xd0\xe1:\xd7t\x8bE\x19O\xc6\x11\xc7\ +Z\xdf\x1b\xca\xdf\xcb\xb1\xf5j\x0a\xabw\x90k\xde\x97\ +\xeb\xe8\x03\xc0>\xd0#\x90\x10\xb9\xdf\xb0\xaez\x9fa\ +)\x07\xa2\xce\xfd\x901\x95\x1c\x9a{\xcey_\xa0\x95\ +\x90\x14\x09\xe2\xe4\x03\x00]\xed+\xc2\x1a\x07\x93\x8d\x84\ +\xe7A\xc0\x8f\xa3\xdc\xb1\xd3;\xf0\xaf\xac\xf4\xcb\x10\x01\ +\xcd\xfd\x11\xf8/g\xb9'@\xed\x13I\xac\x1f\x1ca\ +\x021Z=\xf8\xbc\x1e\xb1@\xa0J\x85\x91\xfbE5\ +\x81\xcfEfK\x19\xf0\xe1\xf2RYq\x06\x1fh+\ +\xefK &\x99\xd14Z\xa52G\x02\x80\xc4\x96\xe6\ +\xe3\xfc\xd7\xd2;o\xd6p\xd6/\xaf|1/\xb9\xff\ +\xd5:\xce\x81ur\xd3Dm%!\xf0\xef\xc9\xfe\xba\ +\x04A\xb3\x1e{u\x81\xe5\x89)\xf6\x05\x1cb\xd6\xcf\ +\xb1\xfa9\x81(\xef\xc7\xf5s\xbf\xbc\xfe\xad\x93\x7f\xec\ +\xc9\x06\xe1\xc4\xd8C\xf2z\x907.-\xaf\xa0\xfb:\ +!\x01T\x85\xca\xe4\xae<7Z\x03\xfa\x84\x81\x02\x0e\ +\xe6\xdd\xfc\xd3\xf9\xaa\xdc\xfb\xbdQ`\xa6\xfe\xc1\xfe\xcd\ +~%\x884\xac\xd7\x1c\xf8\x86\xb4\xf7\xfb\x0a\xf3\x8cD\ +\x03\x95q*+\x04*\xf4\xf4\xb3?\xd3\xeb\x0bI\x1e\ +\x08\x06\xce7\xd6\x0d\x89\x0d\x05\xc0\x96\xa7T`\xe0\xde\ +{*\xe8\xb4\x02\xd1[-R\xb9\xf9\x84\xb0\xda\x83\xe8\ +\xc4!\x07\xb6\x1c\x1d\xd6\x89\xc9\xeeph\xa9\xf0\x22O\ +\x88\xac\xe6\xf7\xc3\xfeA\xe2\x10\xe8 \xcf\x99}~\x8d\ +\xe5-\x1a\xac\x1bW>\xa8x\x03\x95\x87$\x0f]x\ +\x12\x80$\xa4\xd8\x07\x08\x94 [S\xc5\xc2dW \ +1@\xfa\x91\x18\xa6\xc2K\x80\xaeJ \x89n\xab5\ +p?\x11\xa8|\xa3Q\x17\xa0\xc5D\x0e\xa79i\x9e\ +\x95\xad\xb6vu\x888\xeb=\xd3z\x82l\xa0\x1cy\ +'\x22;9'\xce7s\xd4(\x91c\x95\x11\xc6\x0f\ +.\x00\xf5\xe0:\x11\xf3\xd4lU\x85\x80\x00\x99^X\ +\x12g\xf8+bcg\x1ft\x22\x8e\xf5\xc6z\xa70\ +@b\x8c\xc2\x85\xc8\xb1\xecH\xabu3\xbc\x89\xf0'\ +\x9c\x90\xe0\xbc\x07\xb2\x8f#\xde9\xb2.\xe8\x88t\xd9\ +\xe4\x7f\xb4N\xf1\xf9\x8c7\xeb\x96\xd6\x12\x9e3\xe7\x13\ +\xdc\x1a\xa8\xc2\xa8\xe7\xd6\x05\x0b\xcei\x15r\x96\x9e\x17\ +\x96^\xef\x9b,\xf9\x99K\xd7.]\xb3\x94\xce\xdf\x95\ +\x17\x84\xa5m\xee\xbba\xe9z>\x98\xec\x03BJ<\ +\xbf\xcaw\x01i\x9e^\x13\xd6\xb4D\xc4\xa7>\xb3I\ +D\x07\xe2\xe3_\xea\xbcX\xda1\xac\x09\x1c@>\xa9\ +\xb0\x84J\xc3\xf0\x97\xb0\xf4\xfd;\xc3\x9a\x96\x16\xedk\ +\x04.\x04\x14\x11v\xe6\xc0\x13\xf2M\x91!\x92`\x84\ +\x9c{\xf1\x9a\xb0L^\x9c\xd5I\xc6K\xc2\xd2\xdf\xfd\ +6\xac\x06\x0c$\x86\x08\xe08\xa7\xdc\x8a\x0b2\xe5\x11\ +9\x85\xe2\xf57~)\xac\xb2\xf9\x8f\xbb\x875\xfe:\ +\x88\x85@\x8a\x1c(\xd5\x87\x08`~\x16\x96\xfeo\xdf\ +\xb0\xf4\xfd\x07\xc3\xd2\xeb&a\xb5W\x1f\x12J\x10\x02\ +\xf8\xd5\xd3=\xc2j\x80\xef\x0a\xb1\x90\xa8Y\x8e\xfb\xad\ +\xaa8\x9f^e\x05-\xd3\xf6\xed\xd2r2?'=\ +\xd7\xe74=\xeb@\xd3!3\x85\xf3\x8b\x8a0\x15{\ +\x90n\x14\xa6\x14\x07\x0d\xd7\x15\xe4\x06H\x80\xb4V\xcb\ +\xfc\x87\x93\xec\xb6\x19;Z\xfd\x13\xfe\x9f\x80^\x89@\ +T(<\x0f\xe0N\xa1B\x0d\xf4\x1fRL\x10\xa5\x8a\ +\x7f\xdcRp\xd3\xfc\x97\xf9\xa6z^\x9a\x14\x94\x82\xe8\ +\x1b2=f<\xdf\x0f\xe5\xe7\xbb~.i9q\xc4\ +\xfeNAe\xde#\xac&\x00L\xaa\x87\x8a\x92\x12\xda\ +)\xda\xca\xec\xf6\xf3\x0ft\xce\xc0\x91\x06\x92\x8f\x96&\ +\xf6Y\xceg\xad\xe3\xe9\xb1a\xe9\xf5\x98\xb0\xb4\x8e\xfe\ +_X\x13\xb0\xfeOA\xd0\x18!\xa6\xf1p\xe1W\xef\ +\x0b\x84\x9eD\xdc|r\x09p\xcd-\xa2}q\xfa\x8f\ +\xb0\xca\x91`n\x18\x9d\x8fN\xc8\x0b)\xe5}\x8b\x02\ +4\xf3\x83\xc0\x9b\x00^\xfb\xa4\xfd\x11\xfcc\xce3H\ +\xe6Y\xbf\xa8}p\xde\xf2E\xdc\xa9\xf3a|nX\ +Z?\x1f\x0f\xab$\x94&\xe1\xe7\x5cB.\x12\xb2T\ +\xc8\xc2\xf1?\x84\xf0\x22>\xb6\xcc\xaf\xe4/W\xe6\xca\ +\xc4!\xd5\x81s\x8f<\xd0`\xa0\x16d\x92\x81\xce<\ +4,]\xe0\x9b\xc3\x1a\x9dX*\xd3T6\xc4B9\ +\xdc\xbed\xb2\xe7I\xf2\x82Tn\xc5\x8ak\x16Y\x91\ +\x0e\xc2r\xebL\x90\x1c\xd1\x00b\x05\xd4\xc6=\xa7d\ +:\x08\xfcp(\x98\x888@\x04\x1a\x1c\xd4\x0a|\xe7\ +\x0f\x845\x0e\x802J\xfe\xff?/\xaf\xa0\x85HJ\ +\xf4\x88QY3i\x04\x81\x19\x9f\xc7\x17\x13\xbf\xd7\x7f\ +\x875\x99\x83\x9c\xeb\xe7\x80\xe4\x80\xe5 \xe7\xfd\xc9`\ +\x02\xc9_C=\x84@e\x08\x94\x09\xe8\xd9\xa8\xa9\x0c\ +\xec\xdfU\xc2p\xf8\xc8DS\x81\xe3\xe7\x04 8\xbc\ +\x5c?\x81U'\xd7d\xd6\xf4Y\x074\xe4x\xfc\xdd\ +zrP\xd6\xd0\xfd\xf1s\x12\x1b80|\x0e\x81.\ +\x8e\xb7 \xc9\xc3:b\xdb\xef+\xac}\xab\x01\xe3I\ +@\xb0\xa6+\xfb\xcb+\xafSG\xba\xc7s\xa3\xc2\x0f\ +B\x06\xd5\x09A\xfe]\xe9\xe4\xfak\xe0X\x02\x11\x91\ +Z\xa6\xf7(\xf7\x03\xd4\x9eV\x0b\xe9\x13\xbbBM\xcb\ +\x05\xbd\xb2\xdf19^\x99\x87\xcc\x07\x12C\xd7w\x09\ +\x01\xc6i6\x87F\x19_\x02\xbe\x1e1PU\x01\x96\ +\xb3\xd0\xdf\xb6k\x81\xe0\xe7\x04T\xbd\xbc'\xaf\x04\xec$\x04\xd8\xdf\xd6\x97\x1a\x08\ +\xff\xd7\xcf\xef\xcd\xddJP>\x87V\x03\x12D$\xda\ + \xbb\xbb^\xfb\xc5_;\xd9N\x0et\xde\xb7\x97\x9b\ +T\xcf\xaae\xf2\xd8\x0f\xef)\xb2\xc7{\xa8U\x89\xc0\ +\x80\xc0\x8fu\xc4\xf7T\x8cY?8\xfc\xb7+\xeb.\ +\xd4\xabs\x02\x06G\xe9^B\xf0\xdcK\x9f\xcf\xbc\x04\ +Z\x0c\xa4\x98\xfd\x8e\xfdL\xcf\xd7\x90e\x10_\x90\xc7\ +]\x22D\x00\xa4\xae\x04\xc4\xf4T\xab\x22\xec\xf5H\x80\ +M\x22\x95\x00\x9f\x84\x0b\x01\xcf)E\xefx\x15\xae\x0a\ +\xc8\x8c\x94P0I\x1d\x8e\x1e\x15\x5cX\xe6\xf9\x7f\x12\ +2\x8f*\xc8\xb5a=A\x81\x1f(Y.\xc9\x07:\ +\xb0&0\x22Q\x80\x0c/\x15oZ\xe2@\x18\xf1\xc5\ +\xff\xb3~\x99\xbf\x8c\x8bt\xc9\x1d\x08C\x16\xd9s\xc4\ +P\xa9\x14T\xd2\xc8\x03*\x95\xccWz\xa3qhE\ +\xce\xeb@\x13G\x91\xf5G\x22F\xbd\xafN\xd4\xd0\xb3\ +/d\x82\x13\x18 \x0e\x98g \xe34\xdf\x90\x1b4\ +\x97\x11\xeb\x07\x04!\xf3\x88\x0a\xbcX\xca\x9d g\x9e\ +\x90\xd8\xe2:p\xe0\x99/$\xeaT\xd9q\x80\x0fR\ +\x01\x84\x08\x0e=\x8e*\xadi$^h\xb9\x04\xba\xcf\ +\xfe\xd3\xb7\xe2\xe0\x00*qo\x99Q\xf4\xe3o\x0ak\ +*\xccp\x01@2\xc8\xcfa\xb5f\xfeSyd\xbd\ +\x82\xe8\xe2\xfa\xfe\x16\xd6$\xf48wi\x15A\xd6L\ +\x15U\x93\xb8B\xeeL\x8b\x0a\x85\x03\x12\x95<\x7f\xfc\ +\x02\x10M\xbc\x8f\xa0\xd6\xb4\x02\x8c\xf9+\xbd>y|\ +\xca\x98\xfc\xc1\xa5W'K\x01\xc0\xca\xd3W\x9e\xb62\ +z\xd5\x7f\x15VI\xd6\xf0\x87\xa6\x9f\x875\x95s\xf6\ +\x0b\x15R\x5c\xc9\xa4\xb5G-\x16\xe3\xab\xc2\xd2\xeb\x9e\ +a5\xe16\x1e\x10\x96\xde\xff\xa5a5 \x98\x1e\x16\ +\x96\xae\xeb\xdea\x0d\xf9\x9c\x12Q\xc8\x84\xb9\x12\xaeu\ +\xee^u\xce;\xed\x8f\xf3\xfea\xe9}\x1f\x17\x96^\ +\xaf\x0bkZ\x01\x1e\x19VU\x04\xbc^\xa9|Bn\ +\xacs\x12\xd2@#\xfa@(\xe8\xb9Nw\x0c\xab\xd7\ +=\xfe[X\xd3R\xa1\x00k\xbc.\xd9\xaf\xd5\xba\x11\ +\xbd\xf8\xe7\x87\xa5\xd7\x13\xc3\x84\x088\xae\xb6\xe2\xcc\xb7\ +\x0f\xab\x09\xaa\xe9\x01a\xe9\xe7\x7f\x0a\xab\xa4\xcc\xd3\x1f\ +\xc3\xd4\xf2\xfb\x1a\x15V\xae\xc9\xec\xf7\xa5\xe2{P\x91\ +'\x87\x0c\x17\x7f8\x85\xfc\x077\x5c\x1f\xfa\x1c\x10\x10\xa8,\xa0&\ +\xe2sE\x05_\x12N\xe3\xab\xc3\x1a\x0e\x01\xc9\x8d\xc2\ +\x09b\x045\xe4\x92\xff\x12\x96\xb6\xb1G\x84\xa5\xef\xdf\ +\x12V\x0b\xbcN0S\xc8\xd2\xbed\xee\x07\xe2\xa0\xbb\ +\xc8\x9f\x02\x91\xb5I\xf9\xfb\xf4\xe9\xe5\x5c\xe2\xfc\x15B\ +\xd1\xd7\x01\xa2\x8b\xfd\x1f?Dq\x88\xb9\xe4\x1e\x1f\xd6\ +\x14\x22P!P\x02\xb1\x97W\xefUU@\x00\xcf\x9f\ +\x0ck\x12\xdc\xc4i\xab\x855~\xcc\x14\x96\xf6\x8dw\ +\x84\xa5\xf5\xb3kX\x1a\x9f5\xc2\x1a9uHHA\ +^j\x7f\x9f_\x18\xd6\xa8U<6[-\x0c\xaau\ +m%\x0b=8\x22\x83%\xd2\xf2|\x0f+\x99\xeca\ +\x1b\xf5T\x8b\xd5\xdc,\xfa\xf4N\x90I!\x83\xab\x8c\ +\xdaxKX%WJ\xcb\xa2@@\xc8\xe0\x8b\xe4\x08\ +(ap\xaafVU\x91\xc6\x8c\x0f\x0a\xab=\x9d\x86\ +\xb0\xed,y?\xd4\x0b\xa8\x5cI\xa6\xd0\x0e0z\xb7\ +8F\xb0\xec\x02M!\xc0\x22p\xe0\x80\xc7\x81%\x80\ +\xe0 \x95\x9c\x857\x08\x02\x81\x1e\xd2Le\x80\xc0\x86\ +\x9f\xd7\x00\xb8\x04\xdaLh Gl\xd48\xe0}\x80\ +\xca\xe7\x81` \xb0\xe1\xf7\x04\x12\x1c\xa8\x04\x8c\xc8\xf0\ +\xfd*\xac!\xa7\xfbgPp\x02(\x1c\xd1\x9ee\x9e\ +\xc0\xb8W\x13`\xc1P\x89\xe8{I{\x0e\x02\xde\x87\ +@\x87\xf7\xe1\xef\xd8\x18\xb9\x1f6b\x16\xda\xea\x96\xff\ +[\xc6%\xb0Je{\x0b\x93\xb3-\xd7\x11\xef+\xdc\ +8\x92\xb0's}\x04\x86\xbd\x5c\x1a\x8e>\x81\x5c\x0f\ +-\x97\xac\xe0\xc0\xfdq\x1f\xdc?\xf3\xe4\x0fz\x8e\xc8\ +\x04B\xf6vH\x81\x0c\xcf\x1f+\x99\xc9\xf9\xda\x120\ +\xbb\xb2Mb\x05y4*1\x1d\xbb<\x1b\xa4\x1dY\ +\xee\x87\xf9\xd4'\xa8\x18O\x02[\xe6-\xe3\xc3\xfd\x00\ +U\xc4a\xa3\xb2\x8a\x1a\x00\x88\x1a\x1cG\xfe\xff*\x05\ +F\xe8\xec.\x94\x91\xed\xd5\x06\x08H\xa8\xd8\x9f\xa9\x0c\ +\xa7\xf6\x1b\x93\xba\xe9\xf3,\x97I\xa6\x9d\xf5\xdes\x01\ +\xe0H\x93p`<\xa8\xb0\x01u\x85K\x82qb}\ +\xf0\xc5\xfcf\x9cj\x82i99hG\x1e\x99\xe6@\ +Y\xe7p\xa1@\x96\xc9\xf8\x10`2_\xd8\x1fz\xc4\ +\x10\xfb4\xe4\x95\xf4@\xc31@\x0b\x00\x89\x8f\x1b;\ +\x19\xbd^\x96\xad\x92#\x96\xfd\xe4\x00\xbd\x1f\x10\xf6\xbb\ +)1\x08\xb9#\x01\x83\x90Q\xc9\xc1\xf8F8\x18\xae\ +8=vx\x5c\x0e\x98\xd7\xcd\x18\x89Z\xd1'\xe1\xb2\ +\xb9\xd6\x11\xea\x00$\x5c`\xa9\x17\xeb\xb79)\x18\xd7\ +o\xa9B@\x80{\xb0\x02\xb2\xcb\xd4\xd2\xc5}T\xe4\ +V&\x0b\xb3\xec\x1a\xe3\x08\xd2\x00\xc7\x98\xcf%a\xd0\ +\xcf{\x90.\x04.\x82\x02\x9a\xfc\x8f\x962\x9e\xfb\xf1\ +\xd9\x9c\x90@7\xdb\xa4\x998\x16B\x00!;h\x84\ +@\x9fPT%\xd4\x09j\xd6\x01$\xbb@MI\xc0\ +\x83< !\xce\xfe\xc8\xbc\x02\xa9A\x85\x15\xc7\x85\xc4\ +=\xbd\x8b\x90\x1b\x1d\x1c\xd6\xc8\xa2\xa9\xc7\x9fJ\x92\x0b\ +\x05\xec\x03|.PUz\xd3\x85\xf4\x19\xef\x18\xd6\x5c\ +\x17\xfb\xa9\x90<\xc3\xab\xc2\x9a\x16J\x8f)\x01\x13\x10c\ +\xc9\xca\xd1\xf2@\xa01\x5c\x1e\xd6\xec\xbf<\xd7O\x86\ +5\x08\x06\xfc\x12%Z\x8cD\x01\xa1\x0a\xf2P\x95\xf8\ +\xe9{a\x15\xe9B`\xb98+,\xfd\xfe#\xc9>\ +\x9a^/\x9b\xbe1]\xd6$\xbc\x8e\x10\xeb\xfa\x96Y\ +\xcf\xa7\xa8\xc2\xa4y:\x1e\x12\x96\xfe\xfe\xea\xb0t,\ +\xbc<\xd9\x89\x0dT^\x1d\x22\xc3i\xc3\xe9\xc3iY\ +\xbe\xf3uY\xe7\x1brO\x91L;`Wo/\x1c\ +\x16\xf3\xc9aM\xc0F\xef1\xa4\xa7\xb5U4\xaf\xd3\ +\xe9\xfa\xb0\xf4\xe3\xdb\xcd\xb9\xc7\xddP~U\xb8\xa7\xe7\ +\x84\xd5\xd6M\x90Z\xf8\x89f?\x17\xb4\xdb\xe4\xaej\ +\xc9D_\xdd\xea\x1d\x90+\xaa\x90\xe6\x04\x95\x10z\xe3\ +\xf6a\x95]\x1c\xa8\xfb\xf4\xda\xb0\x5cQ\xce\xfb\xc7\xb4\ +\xcd\xb4\xdd\xb4]\x83\xe4\xd0~k\xfd\xf9k\xc2\x9aq\ +\x88\x806\x9d\x1f\xd3\xe7\xc3\x1ad\xa4\xf6Sz\xa6\xb3\ +\x8a\xc3\xeb\x1a\xbf_\xaa\x22|\x8eI%\xd1]\xbf1\ +\xcd\x87\x1b3\xd7\xd8\x9f\x82k\x0c.\x02'\xaei%\ +e\xde\x91\xf8\x12\x1b\xfc\xbc\x87\xb8\x08\xc4\xddd\xb9Z\ +Z3\x0e\x9b\x0f\x9d\x0f\xab- n]V\x05z\xfe\ +qX\x83$\xbec\x9ei\x05\x09\xf4\xb4\xa6R\x1b\xf5\ +\xfc\xff($\xcb\xb95\x19.\x15\x10\x14Q\xf9=3\ +#)\xce\xcer\x9e \xd6>\xa6\xf3\x0e\xd2r\xad\x13\ +\x17^t\x8eM\xe7O\x17D\xa2\x06\xe40\xea\x0bN\ +\x8c\x82d\xd0y9\xbf\xad$FM\x8a\x8a\x1f\xa6\xfd\ +\x84\xe7f2O\x91D\xce\x1b\xeaU\x09\x99 g\x9c\ +\xe2~>\x14\x96\xbe\x7fpXZ\x9f\x97\x87\xa5\xd7\x1f\ +\x85U\xe4,\xe7\x80\xb9+h\xf9\x15\x996\xad\xe3\x90\ +\x81\xa2>\xe2\xf5%\x049\x81\xf1\xfc\xd7\xb0\x86#\x00\ +\x84\x12\xe3\xa5\xfd\x9b\x84\x1e\x81\xf5\x8a\x1fh\x9f%\xae\ +\x84\xe3\x00Yp\x90f\x14\xae\x89c\x84(\x9a\x0f\x08\ +\xab\x08\x10\xfb\xa5\xc8\x97\x93\x10'\x91\xac\xfb_\xda7\ +\xac\x16>\x16{\x84\xa5q{cX\xc35D\xa1\x1b\ +\x7f\x80\xf3L\xad\xf0T\xfe\xf1/Vz\xc2\x130\x5c\ +1\xffp\xfea\xd3\x0byM\xc9\xb4\x03e\x1b\xce+\ +\x08\x01o\x00;\xe9\x03\xdeR*\x1b\xf3/\x0a9\xc7\ +\x8a\xe7\x94\x03`\xfc\xd5\xf8\xcb\xf1\x97\x19\xea\x98!V\ +\xcex\x0b\xc2>\xbc=\xac\x92\x9e\x8d\xc7\x865P;\ +2Q\xd7\x14\xf2\x08zF`\xc9d\xe3\xf3\x03Pf\ +\xc8\xa4&\xca,\x03\xe9d\x02:3\x82|\x15\x95\x0c\ +X\xa37P%\xae\x97\xd1\xa3bB\x00A I\xe0\ +\xfa\xcf \xc3=\x0bx\xff\xff8B[/\x0f\x10\xfc\ +~=\x19\x5c\xa7\x0f\xef\x00\x90\xca\xb2\xc8i\xfcw\x04\ +B8\xbe\x04\x00}\x80\xcfu\x10`\xaegv\xf4\xe2\ +\xd8\xe2\xd8\xf5:\xf0\xdc/\x01r\x7f\xddd\xf2\x090\ +\x91\xcb[[\xef\xcb\xf82>=$\x15\xb6m\x12\x0c\ +<\x07\x1c\x8f>\xa0\xe7z\xf9\xff-,[V\xc8\xf5\ +\xf8=\x89\x82:\xae% \xdau9ty\x15\xb27\ +\x10\x11\xdb)@#\x90\xf9k'\xdf\x06[8\x0e.\ +\x89&\x9e\x0b\x89&\x1cX\x02W\xc6\x97\xbf\xe7}\xfa\ +^\x22\xee\x9bqe\x1e\xf4=\xfc\xbf\x90cN\xeb\x03\ +\xf7\xbfqW\x09f>\xf52\x81\xfc\x1e\x121\x91\x18\ +\x99,\x0b\xb6nz\x80\x090\xb8.z\x85\xaf\x90#\ +\xab\x9e\xb3\xe4L\x17\xb9-\xc6\x0b\xc7\x9a@\x9e\xd6\x08\ +\x05T+\xfeS\x1b4\xcf\x9d\x00U\x15J68X\ +m\xdd\xcbM\xa2\xa6'\xc5\xe4~\x91\xb3B\xad\x80\xc0\ +\x9b\xebg^\xe1x\xaf\xbb\xbc\x85\xc4\x9c\x1b\xac/\xc6\ +\x97\xff\xab\xe4\x8c\xa5U\x00\x88\x19\xfb/\xf7\xb3\xfer\ +\xf5\x01\x8f{\x8f\xc8\xa1\xc7M\x07\x8eI\xddX\x7f\xcc\ +\x1b\xe6#\xf3\x82\x84\x11\xef\xc7\x01\xc1\xfd\xa2~\x01\x9b\ +<\x09\x0a8]\xd8/\xb9n\xe6)\xeb\x17\xce\x15\xe4\ +\xa4jkS\x19o\x05\xd2\xc1Y<4\xa4aYW\ +\xf8\x86&\x00\x11\xd2\xc0\xf3\xfc\xfbe\xfe\xcc\xa7\x855\ +\xef\xf78s\xbf\x94\xc0\x9d\x84.\xeb\x8a@\xf0\x80\xb0\ +\xea(:!\xa6D\xd6*\x95cd\xe2@h\x11\xc0\ +\xe2\x10\xb2\xfe\x09\xb4!E\xe2\x8b\xfd\x0925D`\ +`_\x072\xa9}\x01rY*d&\x03\xa4\xb2+\ +\x04\x82Y\x89O\x0b\xab,\xf1\xf4\xbc\xcf\xa7\x865\x88\ +5Z\x5c\x80\xb0\xaag\x1c21\x07\xfcz\xa5b\xe3\ +D\x19\x89M*_@\x9d\xd5\xf3\xe9^fz\xf3\xa9\ +\xa0\xe20\xe3p\xe0O\xfcKX\xf5\x1f\xfc\x1c\xd4\x03\ +ku\x04\x90\x1aJ\xac\xd0\x1b\x8e\x0c\x99\xd9\x9f\xa9x\ +S\xb1c\x7f\x04\xaa\xa9\xe7FB2\x93\xb8\xed\xda\xb0\ +\xfb\x93\xa0d\x9f\xb95\xd3\x83F\xcb\xc8\xa7\xb3l0\ +\x8e\x22\xe7\x12\x9c\x00\xac7\xcei\xf6->\x97\x96(\ +\xe6/\xbf\xffj\xb6\x1a\xd8\x92\xf0\xa0\xf7\x9c@\x0fh\ +*\xfb$d\x90@\x94\xfb\x16\x1f\xd4\x808\xaf\x14x\ +\x8e\x0f\x08k\x0a-\x22\x97\xf3\xfa\xc7\xd1d|D\x92\ +\xe8\xf9\x85\xaa\x83\xc61\xcb\xaaEb\xeb\x9ba\xcd\xfe\ +\x22\xee\x17\x12B\xf4\xee\x03i\x85\xe3\xc2\xf2b@\x94\ +Ap\x22;)\xc7\xdd\x0e1\x01\x0f\xd0]\x05\x1e\xc8\ +\xbe\x0d[\x86\xa5\xfb<\xa1\xe8\x5cO\x1b\x84\xc9\x11\xfe\ +U\xb3\xae\xf4\xbe\xd3\x13\xa6'NO\xc8\x81\xfc\xcf\x22\ +\x90\x9fv\x9cv\x98v\xc8\xe4\x81'\x0c'4\xfb\x1a\ +\xebS\x10\xe8\xf9\xa2\xe4\xf0_T\x0b[\x99\x9cp\xaa\ +\xc8\x92\xac[\xff\x98\x06\x09CbZ\x81\xd5\xe2\x0da\ +\x8d\xda\x14l\xe8\xa8Y!\xaf\xa6\x80\xdc\x89!\xf6U\ +\xce\x91\xafK\xcd\xe2S\x05\xea\x9d\xfd\xdd3\x9a\xc4<\ +\x097\x0aWT\x9c\xd7\x0fk\x12S\xf4@G\xcf|\ +\x83\xe8\xa3\x17\x1f\x92A\x17\x10P\xe9 \x91\x06\x22\x88\ +\x0a\xb5\xe4y\xc7\xeb\xc3\xd2x\xbc)\xacQ/\x10y\ +\xdc\xf4\xd2\xe9e\xd3\xcb\xaa\xac\xdc\xfc\xcb\xb0\x1c n\ +\x98\xd5\x04V\x0b\xab\x08\x9c\x5cynH\x04\xf13\xa8\ +\x98\x9a\x9bDr\x9d\x90\x03\x9a#@\x5cJ\xf9\xf3V\ +\xcf\x09\x98\xdf\xe4\x04\xcc\x86\xb9$T\x13\x02\xdf+,\ +\xf6YT\xef\xaa\xe6\x1c\x14\x07\xd4|\xc9r\x92R\xab\ +\x9b\xa8\xf2?\xfdB\x88\x92\xf7\x85\xe5\xc0-\x93/B\ +\xeai\x88\xfdNaRC[=\x07\xe2G\xe6\x842\ +\xfe\xc9\x8d:\xb7\x88O\xd2\xd3\xcf\xc8\x87\xf44\xb3|\ +\xa8\xfc\xa8\xe9\x03\xc9\xceK\xaf\xef\x0e\xab\xfa\xf1T\xe2\ +\xbd\xef\xcb?\x81\xe3a~\xd3\xfc\xe6\xcc\x8d\xa6\xfd\x1b\ +\xd2?\x12*\xc4?.\x0c\x90x$\xc1\x82\xbf\xfes\ +\xb5\xb8*\xb1Fb\x86\xd6\xa5\xf9\xd2\xb0\xc6\x1f\xa4\x02\ +\xfd\xadR vK\xccZa\xf5\x9c\xa5\xb5b\xfad\ +Xz=:,\x17\xa4\x93ed\xcb\x99\x81lYz\ +\xd4\xd2aK\x8fj\x0a\x9a\x14\xa2\x95\xe8\xb7\xec(-\ +L$\xbeYO$\x0e\xd4J\xe3\xc4\x16\x85eZ\xc7\ +V\x0fK\xafW*\xa1t\x83\xb8\x12 \x83\xa7 L\ +\x02\x17.\x12Z\x88(x\xe8\x9c\xa1E\xcc$\xc6 \ +\xc7@rA\x9e\xd8\xcbl\xabek\xe9\xdc\xb0\xba^\ +\x17(/\x83\xa4\x00\x00 \x00IDAT\x9f\x0cK\ +\xe3r\x9f\xb0\x9a\xb0wK\x19q\xc7\x9fsI\xc8\x85\ +L\xd4\x0aV\xce\x7f\x09K?8\xb7\x90+e1\x8c\ +/7,\x96\xc8\xed|\xb8\x1c\xec\xc3\xfb\xd4\x22 \xb9\ +3W\x0aDzC/\x85\xc9\x1f$\xc32\xfe:\xac\ +\xe9\x85\xbcNP0\xf5\xb8\x8d\x8f\x0bK\xef\xa3\x0c\xcf\ +\x0a\xaeK,\x9b\xe9\xb0(\x10\xad7\x97\x0c\xbb3\xd9\ +\x1c\xb8\xb0\xf7S9\x81\xe4\x86^G\x1d\xb4\xe3\x11a\ +\xb5\xc7\xca\xfa\xca\x04`\x0a<\x9d\xa1\xe4\xe7@PI\ +@\xec#\x87\x98\xdeXX\xc5\xfbJ>\x0e=\x8e0\ +\x89\x80\xfe\x8b\x19\xdbA\xa1]\xb1\xea\xe5\xb9\xb8\xcf\x9e\ +3\x80\x0a\x0c\x19|2\x99\xff\x0c*\xcf\x04\xa3\x22\xcd\ +u\xb3p\xb8nz\x18\xa98r_\x04n\x04\xb4@\ +\x85\xd9\xd0 \x1dc\xe1\xd1\x22\x00\x94\xf7n\x9a\xa0\xbd\ +\xa3\xc4}\x12`\x11\xb8\xf3\xbe \x02z\xf95\xc6i\ +-\xb3\xd8\x17\xc7sC%t\xfa@\x97\x00\x98\xff\xeb\ +{\xe9\xfb\x80\x0a\x87\x0fh\xec\x1d\x04q\xaf\xe4\x86%\ +\xf1\xa1\xf1\x9boR\xcf\xdd\xa1\x22\x85\xda\xca\xad\x00\xe5\ +zyn\x8c7\x8e&H\x0098\xee\x81\x82\xfc\x8e\ +^\xf3\xae\xe7\xdf\x01.\x95*]\x97\xafc;\x05t\ +<7z\x95z\x04\x05\xe3\x0c\x84\xedd\xf5\x9a\x9e&\ +R\xa3\x90\xc1\xba\xb0\x81\xf6j\x83vE\x06\xe83\x99\ +U6\xc4_\x0a\xe2FB\x03G\x18\x87\x9f@$\xc8\ +y^\xd7\xe8\xcf\x92\xa09N\x154A~\xcd\xba\x0a\ +\xfb\xf7\xfeau\xdf\x98\xaf.\x19\xfa\xe4\xae\xe7\x9f{\ +\xa3\x07\x1a\xfb\xc2\xb0\xe6\xb9\x82\xa4\xe1y\xe3X1\xbf\ +\x987\xacK\xc6\xab\x92)\x92\xb0*\x7fO\x8f?H\ +%\x90?\xbc?\x95/\x1cO\x9e\xc3\xda\xcb\xd9\xf7\xc9\ +\xa8\x9b\xac\x86\xf5\x0a\xd4\xff:e~I\xc8AV\xc9\ +u\xdd\xa4\x9f\xa3W\xcc\xfa\xe0>D\x02\x98fU\x09\ +\x8cXW$4\x80\xc6q\xa00\xef\xa8|\x03!%\ +\xd0\x06\xeaJbA\xf7cd\x082mp\x91\xbc\xb2\ +\x90\xd8\x98T\x88q\xe1:Q?Q\x02\xda\x883\xf6\ +S8P\x0e-\x10X\xefG\xccs\xe6\x97\xe6\xa3\x13\ +D\xea\xb5\xf7~\xda\xb7|\xb0>\xa9\xc4\xf2>$\x16\ + G\xfdg\xea\x1b\x83\x802B\x94J\xbd\x10&\ +T0\xcd\xd1\xf4\xfa\xb0\xf4\xfb\x97f\xab\xa4\xcaj\xe1\ +\xc2\xc1w\xc0\x0bb\x09d\x0e\xd7KK\xa5>g\xba\ +2\xacQo \xc1\x04\xa7\x84\x90\x02\xf3\xdd\xe6\x1d\xe7\ +\xb4\x9fN\xe3\xb44-eG>\xf72OO*\x01\ +\xc4\xf4\x8e\xe9\x9d\xd3;\x1a\xbf\xef A\xb5\xa9@\xcb\ +\xd1_q\x8ed\xfb(T\x9d\x22\x84\x13\xf2bQ\xc9\ +\x8d\x9e\xfbM\xc3\x1a\x993\xb1\x97\xcfw\x0d\xab\x01\xf7\ +\xe2\xc5a\xe9\xf3\x7f\x1d\xd6TV!\xc3\x84\xdb\x8a}\ +V\x5c%\xc3\xeb\xc2r\x22\xa5$\xea 1e\xff~\ +\xbb\xe4\xd8\x1e\x92\xec\xa1U%g\xde7\xac\x22h\xcc\ +\xa5\xf0iq\xa0|7\xed~\xdf\xad\x15\xf7\x9c0<\ +\xa5\xf1\x1bT\x015\xd9\xe39\xc9\xd3?\xb7\x22f-\ +\x0f\x18\x89\xa1s\xb4\x9e#`\xbb\x7fX\xd3\xba\x07\xc4\ +[\x15}*\x95\xf3\x19a\xb5\xb7\x7f: L\xc8\xa7\ +\xd3\xd2\xf7\x17\x85\xa9\x95\xe1\xb0\xdaj\x8cz\x80\xe3\x07\ +Z-h5\x91\x1a\x06\x05\x0az\xdb\xa7\xf7O\xe7E\ +@>?h>8\xeb\xa3\xa3\xff.6z\xcb\xbeA\ +\x8e\xa7\xca\xba\xfdD\xce!\x05\x90 \xb6,3\x87\x8e\ +\xbb\xc8L\xf3\xeeqTm\xe12\xeb?\xfe\xd0}s\ +\x13WE\x223\xdf)\x8ch?\x81\x83\xcd\xfb\xba\xb8\ +\xa7\xe6O\x84\xfeZF\xd4\x94\xfb?C\x5cm\x9a\xc7\ +\xc36J\xa8*13\xbd<\xac)\xe8\xa0\xa2#\xb2\ +Es!P\xb0\x01\xe9\x0aW\xca6:\xbf\xa9\xeck\ +^\x85\x98`\xde\xdf\xd42\x04\xb4\x9d\xf5\x89\xdc\x9c\xa1\ +\xe8\x04\xc2j\x89\x82\x03\x85^\x7f\xc6i\xf8iX\xf5\ +w\x16\xab\x85U\xf2\xc7\xb4'\xfe$s\xc6\x893g\ +\xdc*\xac\x92o\x9a\xd3\x84\xde|\xc8\xf8\x94@\x9d\x9f\ +\x15\xd6\xa8\xd9\x90\x08\xd1\xbcHgTI\xdc\xbdr>\ +)T-\xb2\xbfy\x9c\x0a\xe3W42\xbe$\xb2\xe1\ +L\xa0\x15P\xf3\xd0\xad;\xa88\xe0\xefP\xa1\xa7@\ +A\x01D\xe7\xa0\xfd7\xfc\x1a\xfcd\xd6\xa5\x12\xa2\xe3\ +}\xc2\x1a\xe4\x90\xfc\xe0\xe9\xe9aM\x9c\xaas\xc5q\ +E @o\xaa\xd7\xb52\x0f\xc8\xf1\x95\xe4\xcf\x8e\x85\ +\x06\x22sHn\xd6\xe8]\x22;\xc1\x81K\xe6R\x99\ +].\x90\x03\xc5\x95\x91g\x97\x96\x81q\xf3\xb0\x06\xba\ +\x80\xde\xa1*\x89\x832\xfb\xf3&%1`\x99\x88\xd3\ +tPA\x82\x82\x9c\xd0\xd6a5\xf3gvhA\xab\ +9\xa8\xed`\x90\xb0\x90\x83\x92\xb7\xb7s\x1b\x1dr\xc8\ +FX\xe0\xf4\xb8\xca\x91r\xa5C\x15lg\xa0\x08 \ +\x81\x90\xe2\xe8\xe1\xd0s\xf0\xf3 z\x07\x93\x83\x1c\x07\ +\x8dJ\x93KG\xeaE\xdb%\xac\x09\x98u\xf0#\xe3\ +a\x96\xe9\x1f\x16$\x87\xa1\x87\x04.8\xaa}/8\ +\x0esO\x22\xc6\xf7=KyeK-\x09\x08\xae\x9b\ +\xdfs\xdf8\xc2\x04pT^\xf9|2s\x04\x22L\ +|\x0e$\x1cQ\xc8\xf4p\xd4z\x92?\xde\x07\xb6~\ +\xee\xb7\xca\xd8-\xcf\xa8UR<\x028\x9e\x132p\ +\xe5~\xf9\x9c{\x97\x03z\xb8s\x09\xc8\x1d\xa0m\xad\ +\xcf\xbd\x93\xde\x0f\x12=\xd8\xda\x0f\xd7\xfc\xa0BE\xe5\ +\x90u\xc5\xf3\x07\xba\xd5'\x88\x94\x08\xb1\xec\x8bHn\ +\x1a\x9dT\xe4$K\xc2\x87\xc4\x0f\xefK\xcf\xfbj\x82\ +\xf0\xb1\xc1\x93@\xc1\xb1\xefU\x1c\xa8\x18\x13\xf0\x80p\ +\xc0\xa1\xa0\xd2\xc6<\xd8A\x07\xe5.J\x00\xf1\xbcq\ +\xb4\x09\xbc@\x0eQ\xd1b\x1f\xf9Z\xa9\x8c%\xf7\xa2\ +l\xd8\xb4\x18\x10H\x02\x9d\x16\x04\x98\xcc\xbe\x1d_e\ +\xa4\xcd\xd1\xc0< \xa3Nb\x8c\x0a\x08\x1b-d\x95\ +\xac3\xe6\x07\xcf\x89J4\xf3\x85q\xa0\x95\xa7\xaf\xe4\ +\xab\xc2\xefW\xe6?\xeb\x81}\x81u\xc8\xef\xf9\xbc\x1d\ +\x93C\xb5\xa3\x12Kwh\x02x\x02\x10\xe65\x092\ +\xd8\xfc\x17ZWT\xe4\x99G\xfc\x1f\xf3\xfa&\xabH\ +\x94}\x08\xd9R*\xdd\x90l\x82t\xe8\x13\x22z?\ +#q\xe0 \xa0\xe2\xc0<\x07)@`D\xe5\xf1\x01\ +\xea\xf5\x06\x1a\xad\x84\xc0\xfc\x91\xb0f\xbeu:\xf4\x03\ +-#\xec7\xecG\x04\x0e\xa8\xc7l\xa7y\xf8\x13\xbd\ +\xcfo5O\xf9{\xcb\xae:!Rz\xf5\xe4\xc8{\ +?Gu\x01\xb9\x22\xc8{\x08t{\xa8(\x01\x0d\x89\ +$\xc6\x8fy\xf5\xf7n\x9e\xd1r@\x22\x03\xf2\xba_\ +\x85U21Wd\x15\xf0:\x91\xc4\xb9H\xef<\xe7\ +\x14\xbd\x8c \x89\x90I=\xa9848LV_!\ +1\xa1s\xd0\x15L\xc6\x8b}\x02\x920Z\xffXO\ +\xb4F\xb0\xaf0\xaf\xd9G\x84\xc4\x0b\x08\xeb\xf0\xa2\xc6\ +\xa1&a\x034\x1c\xfdi\x91\x82\x99\xfc\x0e\x99;\x12\ +\x0e\xcc\x7f\x12y*8\xb8\x15\x82s\x80\xcf\x11d\x12\ +\xdde\xb7\x080\xee@=\x91\xcb\xa2r\xcd\xf5\x22K\ +\x88_\x01b\x8ey-\x88\xbd\x13c\xac\x07\xf4\x96I\ +\x88\x80D\x02)\xa7q\xf2~\x08\x92\x04\xe4\x22\x9f\xc3\ +<\x05Q\x83\x03\xc9\xf9\xdc\xefgp\xc8<'\xac\x16\ +H\x80\xdc\xe2p\x12\xb8\x8f\xff\x1e\x96\x1d\xc5\x82\xe8\xf8\ +Y\x91\xb7\x1b\x9f\x19\xd6\xc8,\x0bb:\x5c\x13V\xe5\ +\xe2\x98\x87\x86X\x83\x10\xa1\xe2GB\x82\xfd\x8f\x80\x9b\ +\xc0\x03\xa4\x04\x01\x02\x81\xc8K\x94HP\x8b\x8a\xfd=\ +\xc8\xb6\xe0\x86\xe1~\x05\x85\x9f\xfe\x10\x96\xf7E\x12z\ +9\xc1\xe8@\x09\xb26\xce7\xe6\x19\xa4\x95ps\xc0\ +9\xb1R\xfb,\xe7\xccQ)\xc0{R-\x1cAJ\ +\x96\xcf\xa3\x8b\xe5\xc8G\xe0\xf9\x8d\xb0\xf4\xbauX\xd3\ +\xa2\xc6~\x81\xdfE\xc2\x1c\xd9>\x91|9a\xce|\ +z\x8f\x10\x22\x9a'\x96\x1b\xa55\x16\xa8{$\x04\x1e\ +\xd2\xf8\x0d\xff\xa9\x84\x12\x15J\x12\x99J\xb4\xa2\xdf\xee\ +D=$u\xa8E\xb0\xfe)\xe4\xb4$\xe0m\x82\x9a\ +\x9ef*\xa0\xec\xd3\xda\x1f\xa6\xb7\x85U\x84Rn\xc1\ +\xf8\x88\x12e\xe9yL\xbf\x0f\xab\x08\x138\x04\xdc:\ +q\xef\xb0\xc6\x7fT\xa2\x04\xb2SC\xb5\xa3\xe5\xf8R\ +%\x80vW+\xc2k\x9b\x0a\xfc\x0d\x22\x0d\xd7\xba\x9b\ +/+\x95j\x12>Fh\xf4\xb2\xc0\xec'\x9coJ\ +\x14\x12_P\x81\x9d\xee?\xddoJ\xcfq\xdck\xdc\ +{\xdc\xabA\x0a\xc1\x05\x82\xdf\x06y0\xfe\xe9\xbb$\ +\xcf\x09\xe9*\xfe\x0b\xe7\xca\x7fI%F\xac\xffN<\ +=@\xdc0\x17\xcb\x9f\x92\x1f`\x0e\x08\x90R\xdb\x17\ +\xbf\xd9\xad;B\xbay\xdc\xf0o\xee\xab\x04\xd5\xeen\ +\xc1\xa35\x8f\xf3\xbc<_\x90\x10\xac_HvQ%\ +`>qNrN\xe1\x97t\xad\x9e\xa8q\x90\xe0\x5c\ +:.\xac\xb6.\xddzaX\xe5\x94\x98~\x1cV\xc9\ +\xef\xa6\xdd\xc3\x1a2S\xc8\xb5EZ:|$\xac\x99\ +\x9f \xbe8\xaf\x1e_\x10I\xf3\x0b\xe7\x17\xcc1.\ +w\x0c\xcb\x09\xa5\xe7d\xc4+\x09\x85\xe7\x865\x89[\ +Z\x06\x08\xd4!Ie}sN\xe2\xff\xb2\x0f\xc01\ +\xc28\xd0\xc3\x0fW\x0f\xfb<\xf1\x1c\xdc\x16$ZI\ +\x10\x1f\xaf\xd6y!\xc8\xc6\xc7\x86\xa5i\xf0\x8a\xb0\xf4\ +\xf7w\x08k\x0a\xe6\x9cS\x9a\xc7+s\x8f\xca\x19M\ +F\xf8m\x05B\x09\x94\xc0\x10?6\x9a\xaf\x08Rs\ +\x99z>\xd1W\x06\xea%\xa8\xc2\xb8GXC\xb6\xa5\ +\x00\x85\x03s\xfc\xd1x\xc5x\xc5\xb2\x8aU\x81 )\ +\x93\xe4\x1e\x0b9x\xc3+\xc3\xea\x0d\xa1\x13\xeb\xcc9\ +P@m`\x0e\xd4\xb9aA>L\x9a\xa6\x9e\xeb\xe1\ +\xbd\x05\xe26?\xbf\x04\xc8d\xb4\xb8/6\xd0\x9el\x8e\xc0p\ +\xd08t\xba\xeb\xae\xf4\xd3\x12\x8e*\x01\x15m^\xb9\ +>\xbe\xe8]\x86\x0c\x04h#\x81\x07\x0b\xbd\x97#$\ +P\xabdx%\x00\xa4\x92O@\x08\xf4\xe9N\xee\xc5\ +.\x7f\xcf\xfbR)\xeeU\x1d\x18gz\xecv\x15\x19\ +#\x7f\xa7\xca\xec\xfc\x8b\x02\x85s\x22\x89\xcf%@\xa4\ +\x05b\xbf\xd0\xe9hz\xc9A\x12\xdcF\xf3\x85\xe77\ +w2oT\xbex^=[+\xf7\xcf\x86\xcf\xf8p\ +=lP\xdfV\xe5\x90\x0a\x22\x1b\xdf7\xb5\x11\xbeX\ +\xbdR\xcc\x13Xv\xa9`!\xcfF\x86\x92\xc4\x07\xd0\ +\xf4O\x17\x87\x93J\xc1*\xbd\xca\x90\x0bj\x1c\xe6S\ +\x04y&\xd0\x03b\xbfw\xc9\xd0z\x1c\xd8\xf8A\xa0\ +\x10(\x138\xf7-6\xdc\xff\x0ebe\x07\xf2\xd8\xb7\ +\x8c\xec\xa4\x8a&\x15\xf3~\xbeS\xa9\x22`f\xdd\xf2\ +\x5cy.$\x14\xb6)2BF^\x80\xc4\xe0\xfd8\ +\xa8\xfb\xe7\xc5x\xf3EbC\x9c\x00\xee\xe1\xaf\x1c\x06\ +\xe5~\xd7_\xce\xb2\xef\xfd\x92\x84\x04\xfb\x03\xa4\xa5 \ +O8\xd8\xe9\xe5\x87,\xb0\xaa\xaf\x14\xf9\xb5\x83\x86\x03\ +\x83\x1d\x1a2X\xc6\x89\x160\xab<\xe0p\x83\x08a\ +\x1c\x09\xe8\x90\x19b>\xb3?\x82\xc4\xe1\x80\xa7\xb2\xf6\ +p\xe9\x19\x03\x0d$\x00g\x9d\xb2\x0f\x00\x9dV\xc0m\ +\xe8\xa2\x1c\x09#R\xc4\xcemu\x18\x02g\xd6\x13\x0e\ +\x13\xe3eN\x119<\xec\xf3\xea\x89\xb6\x9c\x10\xad3\ +\x0ap}\xee\xaa\x07\xd4dl\x90?\xb1\xde\x90\x9b\x13\ +\xa4\xdd\xe4B\xaa\xd4BZf\x1d`\x12\x0e\xcck\xd6\ +\xd1\x05aM\x22\x8f\x04\x22\x81>\xfb:\x90h\x91\x18\ +\xc2\xcdc\x12<\xe65\xf3\x92@\x9bq\xa6\x15\xef\x8d\ +a\xcd\xbe\x02\x00\xee\xd6\xb0\xe6\xfap\x98\x09\x8cq8\ +\x816S!\x83l\x10d\x01\x09\x82^\xb6\x94s\x89\ +\xc0\xe1\xc4\xb0\x8a\x18\xf2\xf3\x02\xf1\xc8\xdf\xf3s\x027\ +\xc8\x0b\x95\x88tK\x07\xe4M8\xb2\x0a\xd8![j\ +\x0a!\xb9R\xeb\xc0N\x95^\xb3w\x0b\xbaoy\xbb\ +^n\x0f\x7f\x00y4Ap\xdd\xaa\xc5>\x8d\x0a\x0d\ +\xa4r\xaa|\xe30\x82\xf80\xc9\x1f\x9c\x19\xaal\xe1\ +\xd8\x0f7\x87\xd5\x04\x9fU\x0dh5\x94\xfcbr/\ +Kb\x00\xbf\xe8\xc9\xea\x8de^\xf0\x05\xd2\x86\xc4/\ +\xfb \xf3\x85\xf3\xe02\xf5\xe4\x0ba4}-\xacV\ +\x8e\x8d$\x82\x8c\x0c2\xccmE\xc6\xf6\x18\x91\x9d\xb1\ +\xfe:96\xcb=\x0b\xa1\xe1s\x9au\xcc\xbc\xe1\xf5\ +\xd7j1\xfde\xe1R\xca\xdcB[4\xe7\x80H\xa9\ +s%\xfc~\xe9u\xffd\x07\x08\x8a\xfe\x15\xb5.\x9d\ +^[x\xf2\xa7\xecQ\xe5\x01\x8d`\xe5\xfa\xd4\x22a\ +d\xdd\x81z>\x1a\xffq\xff\xb0\xaaw\x7f\xeb\x0b\xc2\ +\x1a.\x16\xd8\xc7Qu\x90\xff\x8c\x9fe\x84\xab\x12)\ +V\x1d \x80\x01aG\xeb\x13\xfe\x02\x95a\x90E\x92\ +\x17u\xcb\x00=\xed/\xd2s\x81\x84X\xad\x1b\xe8\xab\ +\xbb\xf2\x0a\x097~7\x88\x10\xe6\xefea\x15Q2\ +=/\xacI\xb4Fa\xf1\xd9\xd9\xbf\xf8V\xf8\x17&\ +\xe1S\xab\xce\xfc\xe7\xb0\xf4\x7f/\x09K\xdf/\xcd\xe3\ +<6\xf1\xcc\xa3U\x09\x069\xa5\x8a\xae\xfd~\xf6s\ +\xce\x0d\xfcR%\x0c-;\xae\x02\xd5\xe2!a\x81\xb8\ +\x1a\x8f\x1e\xd3\xfc_y\xf6\xd2YKg7\xf2\x9a\x04\ +\x8c$b\xd4\xd23\xdfm\xdei\xbe[\xd3\xc2\xa1\x82\ +\xa4[b\xe0\xa8\xe8\x902\xf3\xa6%P\xf5sg]\ +\xe9\xfc\x85l\x90y\x04'A\xda\xcbK\xe0\xbeR\xad\ +\x84J\xbc\xa4g[Z-9\xc79\x1f\xd9_{\x84\ +/\xadJB\x8a\xd1\x12\xe1\xb8\x01\xee\x01\xf6\xa1+\xc3\ +2\x02\xe7\xa0 o$1`\xf2\xc9\x13\xd4\x8a\x03\xb2\ +M-k\xe3\xd5a\x99\x83!Ym\xf5\x9e\xde\x19\xd6\ +\xac\x7f\xb8\xdd\xd8g@\xdc\xc0e\x22\x04\x84\xb9\x8a\x94\ +\xd04\x89\xbd\xf6w\x12\x0c.@\xb0\xbf\xe2\x7f\xd1\xd3\ +\xaf\x16\x16'\xa6\xc9L\xbd\ +\xa7@\xa0\x86\xef\x85UGo:n:v:6?\ +\xd8\xe2\x10(\x83\x92\x96}&g\xe0\xc1\x8d\xfb\x845\ +=\x83\xca\x94\x8d{\x96\x84\x00\xf2R\xe3\xfd\xc6\xfb\x8f\ +\xf7od>\xd8\xf8p\x00\x91\x07\xa4\x95\xe0>a\x0d\ +\x84\x8c\x0d\xea\x18A\x1c\xb6\xd5\x86\xc0\xc2\xe5\xfa\xc8\xc4\ +\xb3\x91\xe1x\x00\xa5\xdaQ\x13\x9b\x00\xe1\x8b\xd21'\ +\x90\x97\x03c\x99!\xc9\xbb8S\xa3\x9e\xd3\x99\xc0]\ +\xd0\xd2UH\xc7p\x5c\x15\xb8\xb219q\xd1\xcbV\ +qpQ\x99\xa7\x97\x07Y\xb8\x03\xe5X\x93\x91T\x86\ +2m2e\xe2\xff\xebr\x08\xb1_9p7XN\ +\x167l\xa2\x1e\xd8Q\x9f\x87\xe3\xf3\x17\xb3\x87\x97\xef\ +\xef\xb4\x1c\x11\xe2J\x1d\xd7O\x80\xde\xcb\xfb\xf1\xf9\x04\ +P\x8c\x87\xb8\x16\x06\x1c\xfe\xad\xb5\xb1\xe8\xf3pp\x8d\ +\x08\xc0\xc1\xeb\x03\x81\x95\x9d>=\xbd\xc4l\x5c}O\ +\xf6Z\x1d\x19 \x15\x0a\xae\x93\x8d\x9f\xbf\x93\xfa\x80\x03\ +\x1d\x1cf\xfe\x0f\xb2A\x1c\x9e\xdb/\x87\x86\x0f[\x0b\ +Z\x0d\x14\x96\xe7\x80\xfa\x04\xad*T\xb6\xd8X\x04\xfd\ +\xf2\x01\xc4\xfd\x90!\xe4\xb9\xac\xdd\x91\xa91\xfe\xbc2\ +nd\xb2\xa9\xf4j\xa3w\xe2\x85\xe7N\xa6\x9d\xf9G\ +%\xff+\xaa\xd4\x830!1\x07\x14\x89\xbfg\x9c\xa9\ +\xe0s\xb0\xb1NpT\x7f\xa5\xfb\xa5\x82t\x98zr\ +AR\x90A\xa5b\xa3\xca]\x0a\xd3\xca\x81\xf7QA\ +By\x1e\xac\x87u\x9c\xb0)\xcf\x93\xeb!\x80\x221\ +\xa0\xbfsk\x0b\x0e1\xf3\x94\xff'\xe0\xc5\xf1 \xc0\ +`\x1d\xf0<\xd9\xc76ubi\xb9\xfc\xe2\xa6\x1d2\ +\x80D\x0f\xefG\xc0\xd4C\xf0{\xd2I\x0e&\xb8J\ +\xea\xbc\xa3w\xb1\xdc/\xc8\x17\xd6)\xbf\xe791\xff\ +Idq\xfd|.\xdc\x08\x1c\x80 ,\xee\xa8\xeb\xdf\ +K\x10J\x1c\x03t\xd7\xef+\xd9WH\xfa:\xae\x19\ +\x93\xc6\xf1E\xa0G\xab\x15\xe3\xc180^\x8c\x0f\xaf\ +\xf7^CN\xc4:\xc0\xa1\x87\x0bA\x95n\xcb-\ +\xf1\xbcH\x08\xd0\xc3N\xc5\x87u-\x07\xcc-*T\ +8 Yd\x9e\xe1(AbxeXu\x84M\xf2\ +\x07\x92A\xea\x0c\xae\x94\xf7j' \x9c\xe0\x0e\x80\xa5\ +\x9f\xfd\x02r<\xc8\x16I\xec\xb0\xbe9\xb7\x08\xd0\xd9\ +7\x98\x87\xcc?\xfe\x9ey\xc2~\xc3:c_'1\ +\xc4~\x8d\xdc\xa4\x1cB\xab\x17\x89\xe5\xdb\xf2L8\xa6\ +\xf2k\xe8\xdd\xf6\xba\xa2\x12\xdb\xab\xb6P8`<\xd8\ +'\x98\xc7 \x80\x088PY\x01\x22\x8e\xfe\xb8\x1cn\ +\xb3\x84\xd3zG\x0b\x04\xfe\x91\x12!F\x04\xc0\xa5@\ +\x80\x8a\x0a\xc7\xdeJ8AvJ\xe2\x10\xc85\xe7\x18\ +-\x03$\xb0\xdf/\x99B\x05\xec\xf3aa\x8dz\x82\ +\x12\x86\x86\xdc*Q\x0aY\xa3\x11=\xb4\xae@\xf2\x88\ +?\xc0\xbe\xd7s\xfb\xf4\xaaH\xf8=\x90(_] \ +\xe3\x9e\xaf\xea\xdd\x1e\xae\x0d\x96\xac\x9a\xc0\x0bu\xf8\xac\ +\x93\x9e\xc2\xdb\x8cT\x884\xcb\xfb\xb4^\x03\xb9\xf6\x82\ +Rh\xa2\xa5'\xefj\x9b\xd4\x0a:\xef3\xben|\ +\xfd\xf8\xba\xaa\xee\x92\xb9X\xd2\xbc\x1b?\x9e,\xcd\xa3\ +\xf1ya\xb5\xa5\x83\xc0\xd2\xe4b\xec;\xccc*\xb5\ +\x0a\x14,;\x0a\xc2\x92\x1eq\xb1\xe5\x83\xfc\xc8\xde\xc0\ +\xa8\x02\xe1!U\xad\xc02h\xb4\x8aD\xef\xf9\xef*\ +[\xfd\xbc}\x98\x02\x9d@\x1e}!\xd9\xe7\x9b\x1ee\ +%@\xf2U]\xd3\xc8\xf8\x12\xc8\xa2\xf2\xc2\xfc\x5cd\ +v\x8e8\xff\xbf\x9f\xcf\x7fZ\x9c\x02\xe1wcV\x01\ +\xc8\x5c\x1d\xb4\xde8@\xbe%\xacQ[\xd8\xaf\xb4H\ +XN\x0f\x8e\x0d\xceE\xd6/\x09[\x026\x90I\xf8\ +\x1f\xe2\x06\x01\xc9B\xa5\x1a$\xda\xf4\xbd\xc53\x17\xcf\ +\x0c\xf2\xc2B\x92\xb7\xf4\xac\xa5\xe3\x97\x82\xdc|\xedq\ +\x9dq\xed\xdck\x7fc\xf4\xdaO\xe7\x95^\xfe,\xbe\ +\xf8\x88|_\xaf\x8a\xfb\xa2\x05\xd22t\x92\xa94R\ +O\xfb@DQ\x11G-^\xa2V\x937\x84\xd5\xc0\ +\x9as&=\x9d\xcc\x956\x1c\xaaD\xfb\x8b\x94`\xa5\ +\xe5\x04\x04\x15\x1c>\xec\xdbB0\xb9\xa2\x0f\x12\x90D\ +\x92\x12\xe6\xd36a\x95l\xdc\xe72\xe3\xca>\x0e\x87\ +\x0f\xe7\x10\x88R\xfe^\xd7C\xeb\x8f\x11i\x8a\xa7H\ +\x80\xa5O)\xad\xb0\xf7--\x87\xf3\x8b\xc2\x9a\x84\xca\ +1aMBD\x09dC\xffI\xf4R@\x10\xa9\xa8\ +[\xf1H\xd4\xe8\xf7\xe3Qa\xe9\xef~\x1e\x96\xae\xef\ +\xec\xb0&\xb0\x86K\x062D\x9dCV?\x11B\xdb\ +\x09g\xe2G!\x92\x9cP\x22\xf1\x8c\x1f\xa1\x04\x0c\xfb\ +\xf2\xbcwX=?\xbd_k>\xd0\x8a\x82\xbf\xb6\xf4\ +\xa7\xb0\x9a\x98Z\xec\x1dV\xb9]V\xce\x1f\x9a?8\ +\x7f\xb0!\x97\xd1\x06\x99n\xef\xac\xe9\xac\xe6\xc0\xa7\x82\ +\xa9\x9eI\xd8\x09\xc7W\x8e'\x8f'7\x10\xfe\xdbJ\ +\x0f\x1a\xc8<\x99\xbb\xafL_\x9d\xbeZu\x80\x87\xdd\ +K\xc0\xe3\x84\x01\xbd\xf7\xe81R\xf1 \x80\xd6\x04\xa4\ +\xc7\xce\x19y\xe48 \x1b\x02\xdaG\x05\x9e\x83\x1d\xc7\ +@=\xe1>89\xa0\xe8myKX\x03\x19$@\ +\xe0 \xe4`\xa5\x17N\x1bJ\x86\x01\xc7<\xbeR\x07\ +\x08\x99z2aT\x1c\x99\xe8\xda\xa0\xdd\x8bJ\x22\x80\ +/\x02\x8b\xf5\xcc\xea]\xde\x07\xc4\x04\xd0?\xde\x17\x07\ +\xa1\xd7y_\xaf\xd3u\xefI\xde\x08\xfcz\xf9\xb3\xbe\ +\x82\xc5\xe7\xf0>\xbd\x9e8\x8e\xc7_\xacRP\x12 \ +kwd\x88@X\x91\x87\xdbX\x01\xe9\xf6\xcb\xd9\xcd\ +\xfd\xf7\x1c\xd8U\x05\xa1\xdc?*\x00$\x02z\xd9:\ +\xbeg\x02\x182\x94\xcf\x08k>\x97\x0a\xbe\x0en\ +2\xc9i\xce\x17d\x06\xe3\x81#\xd2\xb5&\xd0\xb2c\ +$\x01\xf2%\xef\xd2\x01A/\x9f2\xc6vH\x08\x5c\ +\x808\xf3\x5cup\xbbRO\xa0\x0e\x14\x9dq\xa7\xf2\ +J\xa5\xe3=+\xceYqN\xf3\xfe\x04\xd2$\xd4\xee\ +\x1a\xd6\x1cT$N\x98\x0f\xec3}\x02\x09\x04\x0a\xf3\ +\x9c\x8c:\x81\x01\x8e<\xeb\xb3\x7f~\x92\x05\xf4\xef\xb9\ +\x1ed\xb7\xf8\x1c\x12\x1e\xbd\x9a\x81\x900\xec\xd3\xae0\ +q\x803\xdfY\xbf\xec\x17\xec#\xe8\xd1\xabw\xd8P\ +\xc4\x0d;D\x0c\x09\xa4\x87)`\xe5z\x1e*\xc4\x06\ +\xcf\x05n\x00\xee\x9f\x00\x0a\xc8-\x09VA\xcd\xed\x08\ +\xb2\xcf\x90H#\xe1\x01\xc2\x06\xb2\xb9N\xf7\xde\xbd\xd7\ +\xe8\xf7\xd2Z@\x82\x199 9\xbe\xc3\x93\xc3\x1a\xc8\ +\x1d\x89V\x02q\x02(t\xbeI\x1c\x90(`~\xb0\ +\xce\xb8n\xf6\x19\xf6/\x02\xc2\xef\x86\xd5\x16\xb8y\xcd\ +\xb0\x86m\x98\x04\x19\x08\x12\xb1%;\xc1\xad\xdf\x83H\ +\xe0\xdcr\xc5\x9e\xff\x87K\x84\x00\x94\x9e}Z\xdex\ +\xce\x92U#\xe02K\xbd\xc8\xe0\xbc\x0f\x89\xb3\xc0\x8e\ +\x0a\xe7!\x81\x96\xa0\xc9Fx\x90x\xef\xe5\x08\xe9\x0d\ +?,\xac!g\xfcqX\x93\x90\xa0B\x8b\x83E\x82\ +\x99\xef\xf5\xbc\xa6\xdf\x84e\x07{\xedp\xb0\x0d\xe9^\ +\xb3\x93\x9be|\x80t\xb3~70gGy\xe5\xfc\ +\x00i\x86\xc3\xc8<\xe8[\xf8DZJ/)\xb2s\ +F\x90|\xb0\xf8Y\xc3Ea\xd5\xff0y)Pl\ +*V\xecs\xac\xcf\x1eYB\xe2\x98\xfd\x05u\x0a\xd6\ +9\xeb\x8a\xd61A\x86\xed\x88\xab\xe7t\xde`^\x7f\ +\xde \xcbv}=\xcbv\xb1/w=\xc4\x90-\x8f\ +o\x09\xab\x88J\xee\x07.\x86\x08\x13\xb3\xac4\xaa\x01\ +\x8c\xafH\x02\xad6%ROH\xd6\x5c\x99\xd4>\x06\ +\xd9V\xda\xcb\xf2yK\xa1\x88^\xe19\x7f5\xa4e\ +\x14\x8c\xd4\xdbm\xa4\x02\xfb2\x09PZB\xe8U\x87\ +\xc3\x06\xee\x0b\x12Z\xf4\xce\x82\xb0|FI\xbc!C\ +=\xfc~\xb8!\xcbJ\xc2\x96\x0fWM\xf2\xfe2i\ +XT\x84Oi\xc8\x02\x95\x80\xc8\x1c\x1e\x9f\xce2\xc6\ +\xeb\x04\x84\x1e\xbfr|wXC\x82\x1dH\xc1]3\ +\xb2\xe9\xc3\x81l\xe2\xfa\x96>\x17\x96\xfe\xee\xf9a\xe9\ +\xf9<9\xacV.\x9d\x08\xe9\xb9\x80\x98\xbf\xc8\x5c\xde\ +PHW\xf1_\xe0\x0e\xb0\xce{\xb4\x06\xa7\xf57\x1f\ +\x15\xa6yv\x07!a\x7f\xd8\xec\x13\xb1\x0b\xdc\xdc\xb4\ +\xac\x02\xf5.\xa5\x89\xca\xad\x10\xb3)\x05\x8a\xe3E\xc9\ +>#2\xbctnL\xdb\x86\xd5\x0a:HA\x93\xd3\ +\xe9sr \xff\xb7\xbc\xde\x0b2\xe0\x9c`-K\xaf\ ++\xc3j\xe2>\x98 \x82\x0b\xc2\xef\xb3\x8d8\x19v\ +/\x88a\xff=\x01\xacT\x13|n\xb2/\x5c\xae\xc4\ +\xa1\x02\x5c\xef\xbb\xb4<)\x91\x19\xdafY\xddL\xff\ +7\x1d\x18\x96IVs+\xd1\xf4\xbb\xe9\xfa\xe9wY\ +\x8d\xe4)\xa1F\xb2\xf4\x9d\xa5o/}\xa7i\xc1\xb9\ +!,\xfd\xdd9\xd3{\xa6s\xaa\x1a\x87I\xf66\x0e\ +\xab\xc8j\xab\x91\x89\x83\x0d\x0e\xa3q\xb3\xb0\xfa\xf9\xd3\ +\xcb\x0aT\xdej@g\xcb\xcf\x01\xb1\xc7\xf9\xa5ua\ +.\x1b\xce)Z<\xd9\xbfP\xa7\xc1\xff\x83tQ\x08\ +\x03'|\xc4\x81\xe1\xf8\xaa\x22\x12\xcb>\xc0>\x05I\ +\x1d\x09J\xf9\xdd\xc8\x5cBj;\xbd9\xac\xcaB\x1a\ +)\xfc\xdfBZ\xe1\x87\xc2\x0d\x83:\x0d\xf2\x86\x92+\ +uO>~1\xf7)\x7f\xd0\x091\xce\x0d\xe6\x81\x12\ +\x0f\x90\x13:\xc1xtX\x93\x88B\x9d\x02$\x0d\x09\ +\xfb\xdd\xc2j|\x87\x1c \x88P\xd4*\x1cO\xa0\xb6\ +\xc0~M\x02\xac\xe7|\xa1\x85\x16N\x0c\x12YpM\ +p\xce#\x17x^Xm)\x9c_\x16\x16\x09\x00\xb1\ + :\xa3J\xe6\x9e\x00\x5co0\x1e\x1a\x96^\xd7\x1b\ +\xd7\x1f\xd7o28\xc8\x8a\x88\xbdt\x9e\xca\xc6l\xa8\ +\x1c\x13K\x13\xc6\x90EM\x18C\xf6q$TaG\ +\xff\x97@{xyaE\x9dO,\x17\x9e\x06\xbbd\ +z\x1e<\x1f2\x1f\xd2T\x16\x09T\x99X\x9bvP\ +mz\xc3\xa8t\x1f\x91\xadB\xf2\xa8@\xfcP\x07\xd4\ +\xd3\xe4\xd8H\xee\x89^4\xf7\xb2\xdeY\x07\xcb\xd5\xca\ +\xb0v\x07\xf4*\xd0x\x12\x00\x1d\xe9\x9d\xc9\xdd\xc8\x90\ +\xf2\xff|\xe1\xc0\xe0\x98\xf0>T:j\x00_\x1c\xe3\ +M;h\xfbz]\xe0\x8e\x03\xcd+\xff\xc7\x81\xc9\xf5\ +\xf1\xf7=\xb4\xbc\x87\x1e\xe3\xa0\xac\xae\x0d\x86\x84\x05\x09\ +\x04*\xf3\xf4\x9e\xf2|\xee\xd4A\x9a\x81\xd6\xf7\x8e\x18\ +\x01\x0b\x81&\x90\xef\xa1#Q\xe4~\xf8\x7f\x1cp\xc6\ +\x87\x00\x87\xf7\xe3\xfdq\xb4\x08x\xb9\x9f\x9d;28\ +*\x05[,\x0f\xf4}\xff\xbd<\x1b\x81(\x89\x03\xee\ +\x9b\xca\x03\xe3\xcc\xf3\x06as\x83\x0epU\xfaQ\xb1\ +p\xc2\x0brL6Z\xde\x87\xe7A\xc0\xbd\x9a\xbe'\ +\xc1\xa0\x9exC\x00A\x12\xd0sHB\xa5'\xb1\xd4\ +s\x9c\xaf/\x1bqP\x84\xe6\x84\x192B\xcc\x875\ +:\x19<\xe6\xcb\xffi\xe3\xe2\xbe\xd8g\xbe\xac\x8a\xd7\ +\xbbU\xa1|In\x22\xa8=\xaf@\x8fq\x88\xab\xdc\ +aI$\xed)\xfdl\x02T\x05\x22\xdeO`aW\ +\x0f\xae7\xdcst \xd2\x12\xc4\x01\xd5\x93@\xe28\ +\xe2 \x90P \x80\xfd\x9b\x9e\x9b\x12R\x96\x0f\xac-\ +\x04\xe5y\xf3\xff$\x22\x80\xb6\xf7\xf2\x9a\xac\x97\xbft\ +\x1b>\x01\x07\xd7G\xc0\xcf\xfb\xf3~ F\x98o\x5c\ +?\xcf\x91\xc4\x01\xf3\x8f\x04\x03\x95A\x91N6\xe4\x84\ +$\xaeJ\x02\x83u\xca\xfb\x91\x88\xa5e\x81\xde\x5c\x1c\ +m\x02\x7f*+\x5c\x0f\xe4\x7f\x04\x0e\xaa\xac\xd1\xbb\xec\ +\xc0\x90\xe7\xc2x\x12h3\xdf\x81\xbe\x09\x11e\xd9X\ +\xee\x87\x00[=\xf0\xab$BIt\x91P\xc5\xc1\xc1\ +a\xa6\xe2\xaf\xd6\x15#\x09T\xa9\xa3\xa7\xd2${T\ +\x82\xa9`s\xb0\x13\xb0J\x8f\x98\xc0\xcd\x95zTj\ +\x90MR%\xcf\x95}\xf6\x9f\x1ei\xc5zg\xdd\xea\ +\x95\xca!l\xda&\xc5\x15d\xdf\xd0\xdd\x0f\x865\xb2\ +pBH\x0ck\x85\xd5\x84`\x864\xef_Y\xad\x9d\ +\xb8\xa3\x95\x00\xd5\x19\xf61\xd6\x09j\x15\x82\x80\xdaQ\ +\xa3b\xaf\x8a\x93\x03I\x90\x87\xea1\xe7\xf3\x9c\xb0\x04\ +IB\xeb\x04\xd0\xda^N\x97\x9ej\x15\x1c\xbc\xff\xa3\ +&\xc2u\xc1\xf1\xf0\xe1\xb0\x0aE6y\xde;\xc2\xaa\ +\xac\x99[\x18\x94@\x04\x81A\xe0nr(8-\xe4\ +\xe8\x12\xe8\xb9\xb2\xc78 \xc3\x07\xf7\xc4?\xe3\x8c\xe0\ +\x5c\xa6r\x09i\x15\xbf\xefZ\xee\x90\x01\xb4#\xca\xfc\ +\xa2BG\xc5?\xd8\xe4?U{\x81\xa7\x8f\x86U\xbd\ +\xfb\x9e\xabd\xfanX\xfa\xfdk\xc2\x1a\xae$X\xc0\ +U\x91s\xef\xf1O\x87\xab\x86\xab2;xnuH\ +\xf7\x5cZr\x1e\xa8\xfdasU\xe6I\x90+q1\ +\xee\x1e&\xf6\xfd\xcfV\xd2VH]\xe7\x1d\xc2j@\ +7}.\xac\xe1Z\x00\xb1\xc0<\xc4\x11\x06\xf2\xbb\xa6\ +\x0aU\xf4,\x93\xa0@\x9eZ\x15AZ\xf6\x92\xff\x99\ +L\x1c\x09?k\xe6\xc5S\xc3\xaa\xce\xbdI+c=\ +l\xdb\xa8o(\xc1\x98\x0bX\x87V\xc4\xc7\xf8_a\ +\xe9\xf5Ia\xe9\xf5\x83a\xb9\xf5\xe2\xaf\xb9\xf5B\xf3\ +m\xbc4,M\xdb3\xc32\x826Y\x0e\x1c\xcf\xc9\ +\x81#\xc8&\x9d#n\xfdy[n\xea-\x81\xf8\x1a\ +\xcd\xba\xea\x0a\x03\x99\xa5\x7f=\xed\xd3\x0f\xca\x90\xf4\xbb\ +\xe5@\x1a\x96~\xf6e]\x0f=\xd2&1\x04!\x84\ +\xdf\x8f:I\xcc\xd3\x90[<\xb6 \x88M\xc2\xa6\xca\ +\xf9\xe2\xaa\xb0\xf4\xfbg\x845\xea%p!\x10\x88m\ +\x9b1\xbe\xe5\x1c\xd8\xa8\x81L\x8b\x13\xc2\xec\xfa\xbc\xfe\ +U$\xe2buw \xads\xcd\xbd\xdc:'\xe9%\ +\xf7y\xcc>\xc6\xdfS\xa8\xa3\xa2K\x8b\xb2\x12\x95~\ +\x0eb\xe1g\xff\x89F\x80h\x05\x18\xb7\x0c\xcb\x89\xde\ +5\x22\xd1;\xde#,\xbd~1,\xfd\xdfI\x85\x04\ +\x17\x84\xd2t\xe3\xf4\xc7)\xf6\xdd\x87\x85\xd5V\x8f\xf9\ +0\x91\xdc\xbe~\xc5kW\xbc\xb6\x22\xdd\x86SJ\xcb\ +\x98\xb9K\xe0.\xa2\xc0#RL\xfb\x81\x14\x14H\x10\ +\xd2*\x02).r\x8ap-A\xb2\x08\xa4_\xc8\x02\ +\x07\xfc:?\x1c\x88R\x00\xa5@\x85_\xae\x16\xa8\xd0\ +\x96\xcb\xc8\x19\xd4%8\xdfH\xe4)@\x9do\x0e\xab\ +r\x8b>G5\xdf\xacB@\x01G\x88\x22d\x02\xcd\ +\x09\xa0\xc4\x10~\x9f\x11\xab \x8dD\xe2\xe9\x82\x16\x88\ +\x19\x02{\x10{\xf8\xc9\xfc^\xe7\xb9\xf7?\x91\x1b\x92\ +\x18\xc8d\x96\xe9z\xa7/\x845\xea $\xd2\x19W\ +\xb8=H\xb8\x93\xc0\xe7\xdc\xc2_\xe1\x95\x04\x9f\x12o\ +$\xdc\xe1\xb00\xb9\xf0}\xc3j\x0b\xa3\xe7\xbbd/\ +W\x22[ar\x18\x91\xccY?Wr{\xe8\x88N\ +\xbf\x0d\xab\xac\xd3\xc3\xa5\x85\xa5\xd4\xd0\xa6s\x8b\xbe.\ +\x15\x05d\x0f\xcc*\xca\xc1K\x0f?\xbd\x9d,\xb8\xd7\ +\x8b\xad\x17\x1d\xdc\x8f\x09*&VMC<\x09\x04\x04\ +qE\xef\xd1\x0e.\x8e*\xfa\xd1\x15\xda\x5c\x02\x92\xfa\ +{U\x08D2uw\x914\xdcO\x99t\x1c9\x02\ +\x19*h\xb0\xd1\x9e\xa1\x04\x86\x0e\x10\x07\xbedDI\ +L\x90\x08\xc0\xa1\xed\xf5\xe7q\xe8{v\xff\x1e\x11 \ +\x07\x8f\x851\xec\x18\xd68\xb0\x04\xc6wR\xa0J\xc6\ +\x0c\x84A\xad\xec/\x87\x00\xf3=\x0ef\xcfF^\xe5\ +\xbc\xcau\x11\x88p\xbd\xbd\x1c \x13\x97\x16\x8a\xc8x\ +\xaf\xf3\x0f \x8c8\x18\x5c/\x01v\x0f\xc5\x07\x82O\ +\xcf2\xf7\xf1\x0b\x05\x86\xf4r\xf7$a\x8c+\xd7C\ +\x00\xc2F\xdf\x8d\xab\xff\x8f\xe7\xc3\xff\x13`\xf5\x81\x1b\ +=\xcd@!\xf9\xbf\xca\x0a_\x10\x05\xdc7\xf7Gb\ +\x80\xfbg<\xa98\xf5\xec\xce|.\x5c\x00\xf7\x16\xe9\ +\xda\xef\xba\x04\x00\xf7\xa3\x0d8\x85\xf9eC\xfe_\xad\ +\x17\xc8K\x80F\xe18r\x1d8\xd8$\xc4hM8\ +J\xec\xd8\xcc\x0f6@2\x91|>\x81,\xf3\x8a\xe7\ +\xc4\xfd\xb0\x1e\x08\xac\xd8P\xa9\xac\x22\xaf\x83\xfc\x16?\ +\xe7\x8bD\x12\xad!\x87\x8b#\x00hqGn\x88\xfc\ +\x95\xc9\xeb \x03\xc5\x91>7,\xbd~Il\xe4G\ +\xab\x12\x0c\x04^d\xa2\x9e\xd7\xaa\x88\x0f@sY\xcf\ +\xac\x03\x02b\xae\x83\xe7\xcf\x01G\xc0N\xe5u\xf3\xb0\ +\xe6\xef\x98o}\xef8\x89\x90\xfe\xb9\x11\xc8\xd7\x84@\ +y_\xc82{\x8e\x07>\x87\xf9\xa4\x9f\x0f\x1b\xab\x05\ +\x88\x04\x05\x09\x00\x02\xda\xbdU\xd9\xe7\xbaIpm\xbe\ +\x1c\x81\xd1\xb3\xa1\x1bR\xc8>\xd2\xcb)\x02\xd9\xe3\x80\ +\x05\x99\xc1\xf8\xf7H\x9e~\xdd2>\x04\xa28@\xe2\ +l\xa1W\xd0dLp\xa2\xb0\xde\xd8\xa7\xa9$\xf0\xfe\ +\xacO\xa0\xfb\xd7[m\xa1\xfc\xbd\xa0\xf6\x96/#\x11\ +\x80\x1e|\xa7\x0a@\x8f\xa39-D\xc2d\x88>\x89\ +\x00\xc9\xe2\xfa\xbe\xf9\x5c\xe6\x19\x90^z\xa5\xd9\xf7I\ +\x04\xd0J@\x0f1\x15t*\x9bj\x1d02\x87D\ +\x9b\xe4\xd8,\xebI+\x0c\x1c;$\x86\x80\xea\x02Y\ +d\xfc\xe1\xd8!1A\xa5\x9c@\x9cy\xce|`\xfe\ +\x8a\xdbcxPXE&X_\x9a\xeb\x84\xf3\x00\x08\ +%r\x92G\x85\xd5q3D\x99\xca.\xd0o \xac\ +\x8c\x1f\xfe\x06\xbd\xf0\x1a\xbf\xe4>\x1d\x1d\x0e\x94+\xd2\ +\xbd<)\x15#\x90\x82T\x92\xe9\xa5\x16w\x89\xa1\xe2\ + \x86X\xf7\x8c\x0f\xcf\x95s\x96V\xa9\x9e{\x83q\ +\xe2\xcc|\ +g\xdd\xa2z\xc2\xf5J\xf7{\xda-,m;\x0f\x0c\ +K\xdf_\x15\x96\xbe?>\xac\xb9\x0e\xeds\x86\xfe>\ +5,\xfd\xddqaY\xfe-W\xec\xf07\xc6]\xc2\ +r%\xab8\xb8j\x85\x83\xe5\xdbrw\xaa\xb8\xd2\xdb\ +\x0a\xa2b|BX\x03\xe1\xbeg\xd1ag>\x84\xa8\ +\x5c\xc8\xca\xa5\xa0$\x07\xb6\xaed3/\xbb\x16\x8e\xe1\ +\xba\xb0\xa60E\xc2\x9e\xf1|\xb4\x0aBR\x9b\xf2\xf3\ +\xc7ox\xb3\x02 !\x8b\xa6\xad\xc2\xea\xfcA\x06\x8f\ +\x84\x18\x1c\x0f\x19\x7f\xf4\xa3\x9a\xd0\x83|\x91\xfbs@\ +(Y\xb4\xff\xcf\xd9}@\xebvV\xe5\xe2b\xb0\xab\ +p\x00\x00 \x00IDAT?\xdfw\x0e-\x09%\ +\x90\x0e\x04\x08!@ J\xa4#\xd2U\xe0J\x95+\ +*\x17\x81K\xb9\xb4 \x5c\x04\x85\xa0\x22\xc5\xcb\xa5I\ +\x09$\xd2\x8b Mz\xbf M\x8aH\xe8E\xca\x15\ +\x03\xa1*\x04I(\x92\xb3\xd7\xba\xef\x5ck\xfe\xe6Z\ +\xfb=0\xfec\xfc\xf7\x1cg|c\xef\xb3\xf7\xf7\xad\ +\xf5\xae\xb7\xcc\xf2\xcc\xe7\xd9\xfe lITl\x7f'\ +\xac\xbd\x1e\x13\xb6R\xdbJ\x95\xad*\xd8e\x0f\xfd\x14\ +\xe0\xfe\xd1J\xbe\x114X\x81)\xf7\x87\x89\xd4\xfb\x91\ +\xe9\xbf\xbe3\xcf\x8b_\xca\xc2\xdb=Wr\x81\xd9\xb3\ +]\x85B\xad\x03\x99P\x12@\x17\xb9\xb6\xcad\xe8\xce\ +\x9f\x95\x09\x89\x93\x17$\xe1\xf0\xdf\xc3\xda\xebC\xc2V\ +\x15d\x81\x9a\x84$}\xf3\xf0\x16\x90\x11\x1f\xbcp5\ + \xed\x14h\x95\x8a\x8cud\xff\xce\xf9_\xadD*\ +\xad\x10\x06\x898(\xa4\x9e\xbf\xf3>\x02N\xad9\xb8\ +< Ep\x1d%\xc4}xuX[.\xbf\x1b\xd6\ +\x9e\xdb\xd9\xdbol\xdb8m\x1e\x16\xb6\xcc\xfb\xcd\x9b\ +\xc2\xda\xff\xbf!lE~\x9c\x89\xca\x22\xf3\xe4\x97\xbe\ +-!\xf2H=\x1f\x9c-\x5c\xfc6\xe4p\x19H\xd6\ +\xfaHH\x7f%rB\xe5-\x02\xe0\x87M\xb6\xf8\x1b\ +\x10r\xde\x0f7\x87\xf5\xcf\xafq=)cW\xaa(\ +H\x0a3\xa1Pq\x8f\x84|\xdeo\xc5\x0b\xdeW\xa0\ +\xdd'\xf0S\x9e\xd7\xbc\x93\x18/\xe4\xc6)\xa9\x0a%\ +\xe1 \xa1\xac\xf5;\x03\xec\xed\x83\xc3\x968\xb6\x12\x18\ +\xc8_\xb5\xb2\xde4l\xb9o\xf2\xa3%7\xaf\xd0\x01\ +1\xcf\x9f\xc5\x1d\x92\x08\x02\x9c)\xc5\x89\xa1\x95\x03\xa7\ +\x85DJ\x22(\x04\xfc\xc3W\xc3V-A\xff6#\ +\x8e\xaa\xe53\xb9\x81*\xc1\x9c~L\x15\xe2\xf2yn\ +>\x1a\xb6\x923\xbcX\xd8\x0ay\x98q\xe3\xbe\x22\x7f\ +\xf9l\xd82q\xb6\xcf\xde\x9e\xbe=}\xa9D\x15{\ +\xa4\xc0;\xa1\xfd\xe3\x1b\xe7\xcc\xc9\xe6U\xb3\xdc\xcf\xf6\ +\xcc\xb0\x85\x9cg\xf3\x83\xb0\x15\x99\x89\x07F\x87\xd1\xc2\ +s\xe1\x99\xc9\xda\xf3\x8d$\x07\xf9A:8}`\xca\ +\xc1O\xd6\xe4\xcd\xf4\xb5Z\x98\x0e\xc2\x7f\x9b\xaf\xb7\x85\ +As\xc5\xb3\xff*\xb2\x9f\xf1\xfc\xf1\xfc\xe9}g\xa8\ +\xe8{&[\x06\x98\x1e3\xc7:\x91\x03\xd5\x83\x91\xfa\ +\xa8\xb5\x80\x90\x06r\xd4\x04@\x0el\x01\x81\x83\xbb\xaf\ +\xf0\xf7r\x7f*\xba\x16\x94\x0c\x90\x03\xca\xf7\x9e\x0f\xc7\ +\xf0\xc8\x84\xd4\xb9\x7f\xbd}\x99!\xab\x80\xb9\x97\xc1\x02\ +\x91\xb9d\xa9\x07\xec\xd6)_z\xef\xe7\xc0\xd9\xfb$\ +\xb9XA\x8f92\x02\x0e\x8e\xb1\xe7(\xa0\xeft\x89\ +k\xa3\x11\x88\x0a8.\xda\x91\xf3\x19?\x01\xa9\xeb\x17\ +\xf8\x08\xdcl\xe4\x1c{\xad\x08H\x02\x91\xa2]*\x03\ +\xa4^\x07\xbe\xef\x91\xce\xfb)\x08\xa6\xdf\xe7px~\ +\x1c1\xd7\xd1\xc9\x0bV\xe2\xa0'a\xb4\xa1\x81\xcc;\ +\xb8\xdco\xaf\x1a\xe1\xef=\x17*\x047\xc9\x8aLB\ +)\xeb\xf7A\x97;(y\x05J\x9e\x97\x9e\xde\x13'\ +\xb6\x8cXWs \xa2\xd5\xc6\xfcv\x9f\xc6\xc9<1\ +\x8fl\xf8\xdf\xc8\x83\xf5\xf3\xb9!\xea\xfdG\x8ev\xfe\ +D_W\x09\xa3B:\x18_\xd7\xa5\x15$\xd9i\x8b\ +\x5c\xc9|3\x9f\xcc\x03\xcf\xc5\xb8\xeaa\xccJs\xb1\ +\xefJ8`O\x7f\xdf\xf8\xfe\x80\xc6V\x05H\x00{\ +\xe3\x5c\xbf>\xcfs\xed\x13N\xfe_`\x992\x90m\ +\xfb\x9d*EE\xce\xd6'\xbcz\x15\x0d\xbd\xec\x09\xdd\ +\x94\xb9\xafJl\x07!;\x80D\xf2r\xd5\xbb\xbf\x8b\ +\xa4\xb0\xf63*\x0e\x02s=\xba*\xffz\x7f\x7fm\ +s\xc3\xcd\x0dW\xa4~\xae\xb3O\x1c\xd8\xdf$\x10\xac\ +\xbf>\x80Ohc\xad[\xbf\xd7\xb1\xaa\x1f\x90\x18\xb4\ +O\xda\xe7\x05h\xd6\x07\x84A&\x8c%\x02\x8a\x05\x5c\ +\x8f\xa3\x1e\xdf$\x0f*(0v\xf8\x84\x10V\x0b\x98\ +\xfd[ 'S\xafb\x92-+\xd5:\x80\xdc\x96\xca\ +\x80\x046\xe4Y\xb2\x90\xd7\x81\x0d\x91#q\xc6\x01\xc3\ +Z\x0c\x09\x03\xa9 !\x06!d>AJX\xbf\x09\ +\xe9.\xc4\x9d\x0a\xa9\x04\xa3\xcf\xbb\xe7L\xde&\x00\xe7\ +\xe0Wb\x02\x19\x9f\xf5j~%D\xb6*\xb0\xf9\xf9\ +8\x05\xa8\xd1l\xfe#lE^\x84\x9c\xcd\xf5x\xc5\ +2\x8f\x0c\x0fd59w\xb0\x1eo\xbe\x18\xb6\xe8f\ +o\xce\x0b[H\xfe\x8a\x0c\x98\xde\xb2\xe7\xe7\x1cp~\ +\xe9E?f\xc2\xa0\xadU^\xe6V.\x15V\x0e3\ +\xa8(\x07\x16)^B>+a\xe3\x5cV8\x10\xb8\ +\x18',\xf4\x1cKH\x0d\x09\x17\xfb\x81\xc2\x09\x07\xd9\ +:\xb1\xafZ\xef\x02t\x08\x86\x9c\xb7\xd5\xf3\xef\xef\xf4\ +\xf6*\xc0$\xe9\xe2\xf0\xb1\xb0\x15\xc4\xfc\xb6a\x0b\x92\ +g\xfb'a\xcb\xbapN\x17\xc9\xabu\x9f\xe7\xd3p\ +\x85\xb0\xa9\xd5a\xba\xdf\xed\xbb\xb3\xe2\x99\x81\xd0\xa46\ +u\x8d\x09R\xff\xfd\x80\xd4\xefy\xfb\xbc.\xa7^\xe5\ +;\xaeZf\xbe\xb69+zo\x05T&\xf4^G\x1a!\x90\x0d\ +*\x9b\x95\xf0$\xc7\x97:\xea\x850V\xa1\x85\x0c\x94\ +\x98\xc0u\x80\x83\x05\x09a&J\x8bL\xce\xf9vN\ +\xb5h\xeeVGR\xc1\x15\xf8f\xeb\x18y\xc2\xe1\xb1\ +amY\xde9lJt\xdezJt\x22\x9d\xcd\xc4\ +\xd6\xf6ra+\xbf,\xff\x7f{\xabf\x91\x90\xfb\xfa\ +p\xf6p\xf6\xc2u\xb6\xb9\xd6\xbc\xcf\x8c\xc7\xa7\x0a\xda\ +;\xe7^\xf9\xe1\x9c\xe1\x07\x81\x1c\xa8\xb8\x0ai\xe1\xf9\ +\x19\xdf|b\xb7\x9a@%n\xc5\x17\xf6Y\xc8%-\ +K\xe2\xb6\xf4\xa7\x8a\x15\x1f\xe9\x1f\xbfOb\x16\x22\xef\ +\xc6a\x0bbK@]\x95x\x81\xac\x04\xca\xa5\xc3V\ +\xe7\x82s\xc9>\xa8\x80\x85K\x0d\xb7\x8d\x00\x19\xc2<\ ++\xe1\x15@g\x22\xac\xe4\xab\x9d\x03\xfcS\x85<\x08\ +\x97$\xe9\xab\xc4=\xff*\xfd\x17\xad\x0a5\x1f\x9c/\ +\x12E\x17\x08\xdb\x85\x80\x9d\xf7\xe9\xfc\xbc\xcdk\xc3V\ +\xad\xe0\x12&Z\xafN\x09[\xfc\xa4\x22\xe9\xa72\x97\ +\x09\xe3\xf1\x0f\xc2V\xeb9\x13\x1c\x9b\x1f\x87-q\x98\ +\xc4g!:2\xa1\xb9o\xfb\xeba\xab\x8d\x92\x0c\x9f\ +7J\x08\xa5\x8d\xa8\xa0\xc0ge\xaf\xd8\xff\x98'\xca\ +\xf6{\xdb\xefo\xa3'\xeaEa\xab\x03Se\xceA\ +Ln\x88l\xd3w\xe7\x8d\x0a\x89F[\x84\x139\x8e\ +\x00\xa1\x1cR\x01\xaa\x83\x95\xe3\xa2\xc2\x9c\xd0\xc1\x82\xf8\ +&[1\xc7\xa0\x1e\xf8\x22\x9f6W\x00\xfe%\x0f\x10\ +\xbd2\xef\xcd\x0d\x8ec'\xa0\xe2h\xba\x8e\x94\xcf\xaa\ +\xcc\xe2?\x87\xb5\xef\xffb\xd6K/\x12\x09\x99h\x8e\ +\x82L\xb2\x8c\x9b\x0a=\x92-\x88\x03\x8e\xb4@\xd8u\ +HXX\xb0&\x96\xfb\xf2y9\xae-\xd8\x9a\x03\xb4\ +\x0b\xe4DO\xb9;\x1b\xfa\xe6R\xd9S\xcb\xa1\xf6>\ +\xff\x91\xef#\x90\xeb\x17\x22\x87\xdcu\xf5\xd0w\x0b\xa6\ +W\x1f\xe8\x13\x00\xde\xcf\xe7\x08\xa4\x04\xe8\xde\xaf\xabX\ +V\xcb\x82\xe7`\xdc\xfa\xdex\x01\xdf\xa1\xc5\xb2>C\ +U]G/\x93\x96=\x89\xf59\x02\x0e\x0e\x96\xfb\xe4\ +\xa0\xc9\x18\xf7\x95}\xbfo\xdep(\x1d\xc8}E\xd4\ +\xef\xf7\xcfY\xafgB\x0b\xf5\x92V@\xec\xfd\xfb\xde\ +\xe3\x1eI\xd2\x93\xbey\x1e\xd6\x81\xf1r}\xaeG/\ +\xd8G\xdb\xf6\xfc\xd1\xe9\xba~:%\x04_\x1f\xb6J\ +d\x1c\x9b,\xf7\xc7\xe5\xfc\xf6\x5c\xfa\x96\x04\x01\xceY\ +Y\xd1\xfevVT\xf5\xd2\x9a\x87\xc6Y\x8f,6T\ +\x8e\xb4\x0a\xda\xc1\xdd}s@\xcd\x17\x01(r\xc9\x9f\ +\xe4\xfdr\x1cA\xa8<\xcf\xbe\xe5\xa5\x93\xa5\x1c?3\ +\xf7\x9ao\xfe(\x1dX\xf3\xe3\xc4\xaeU\xc4\xfc:\x90\ +Ev\x9eW\x10\x04\xfe\xce\xf5\x1d\x9b\x01o\x17\xb0W\ +B\xcd|\xb9tG\xc6\xb9\xc8\xdb\xcd\xeb\xd7>\xd9\xf7\ +\xa2\xcb\xac\x1f\x15\xb6J\x90\x80N\xdb\x9f \x19\x1c\xf8\ +*G\x09\xdd\xad\xca\xa2y\x8fL\x07\xeb\xb9\x0a2\xee\ +\x18\x157\xeb\xc3z\x17\xf8Xo\xf6\x0d\x9f\xafr)\ +Qf?\xbcd\xa9_\xcc\xf3\xcb\xfed|$0\xcc\ +\xeft4\xabW\x9b>1]u\xf7! \xec[\xb7\ +\xacW\xe3(\xd1\xe0\xf7\xec\xbb\xbe\xe70\xfa|\xf35\ +\x13\x07%\x9b\x88\xec\xcau\xdb\xafr\xfd\x1a\xcf\xcd7\ +\xc3\xdauog\x16k\xbd\xb9\x95(\xe1\xc0\x9c\x16\xb6\ +\x0a\xfc\x05\xe8\xae\x17w\x86V;\x88\x18\xba\xedz\x08\ +\xd3a/h|\x22\xdc\xc6\xc7\x86-\x01xq\x05\xe0\ +\x8a0\xff\xcd\x87d\xf7'\x17\xc7\xf1\xc1\x15\xc0a\xc7\ +\x01P\xdcA\xd6\xa7yi\x1dSE\xb0>\x90\x11\x0a\ +\x9c\xc9\xe4f%m|V\xd8\xaa\xa2\x9f\x8e\x1a\x081\ +\xe4C9\xde\xe9\x88n\x86\xb0\xf6\xfa\xbe\xb0\xa5\x05d\ +\xf3\x94\xb0\xd5\xbcH\x7f\xa6d\x02q\x19D\x00x\xd1\ +U\x82\xce\xfc\x16phY\xc2\x99\x012/\x01\xab\xd7\ +\xd8\xf9\x08\xb9\xd0q\xb3\xd4\xf3\x17\xc8&\xe2\xb2\xf6?\ +\xbfo\xdej}\xb2~:9\xdd\x82\xc6\xa7\xbfT\xac\ +\xe8\x99`S\xb1u_\xdbg\x86\xb5\x9f?!\xac}\ +\x7f\xbf\xb0U\x85\xf8\x83a\xed\xe7w\x0e[\x91\x94%\ +\xf9\xf2\xf6\xf9\xdb\x17l\x9f\xbf ?\xb6\xb7\xdd\xdef\ +{\xdbU\x8bG\xb6^\x16\x12%[&*\xd08g\ +\xf3\x83P\xa9\xc2B/\xc1\xd5\xc2\xf7\xa9\xc7\xba\xed\xb1\ +'M\xfb,h\xef\x97\xf6|q\x92\xcb\x94 \xa3N\ +\xf1\xd3\xb9\x97\x7f\x229\xbd|r\x19\xdcf\x15p?\ +i|\xe2\x14\xd0\xe6x\xe3\xe8A\xe6\x87K\xa9\x10)\ +\xe76k\xd7\xb3\xbdWX{\xbdqX{\xfd\xd3\xed\ +\x9fm\xff\xac\xbd\x1e\xbd=j{\xd4R\xe9\xdf\xfb\xe7\ +a\x0b\x22@a\x01\x12\xb7X\xcf/\x11\xd6^/\x14\ +6\xb1\xda7[\x90O\x85\xbc\x05E\xbf\xfa\xa4S3\ +\xaby\xb5\xf3k\xb8oX{=)li%\x19\xef\ +\x1a\xb6\xf2[\xa9p\x5cpj\x22,\xa4H%\x12!\ +\xb5\xf8q\xd8\xd3O\x0e[\xb1\xfd\xe7\xfe^-S\xb8\ +U\xb2\xe5\xa5\xb8/\xa8\x04dK\x81^\xf7`\xa8\x18\ +\x0f\x9d\xe6\xf5\x1d\xa6ym^jM\x00\x0d\xbf}r\ +}i\xf1\x11\x90#\x83|j\x22:\x9c\x93\x12o\xfc\ +\x0d\x09\x5c\x89C\xeb\x14\xe2\xcb\xefe\xc5\xb7\x12\x04\xfc\ +\xb5L\x9c\x96,\xe5\x17\xc2\xda\xf2{o\xd8\x82|\xd8\ +\xfc\xe7\xac\xaaa\x1eU\xe2\x8c\xbf\xfb\xb1N\xb6q\x93\ +\xfeG\x16\x90 \xc3\x05\xc3\x16\x12\xc3}2\xf22\ +\xe0U)\x01%\xca\x03\xba [ >X\x88O\x9f\ +\xa1E\xe3fvLJ\xc6\xa1\x93a(\x92&\x01\xc0\ +\x13'\x8b\x80f\xae\xf4\xffCn,\x1c\x08\x07\x94\x85\ +* E\xea\xe7\x81\x80^\xa4LK\x0bC&\x96\xcc\ +\xf1\x0a\xe3q\xe3q\xab\x80I\xe6\xab\x87\xe8\xfb\xb9\x0a\ +\xf2\xe7S\xc7\xd6\xc4!S\x81}\xf3&\x99\x819\x22\ +\x0ff\x5c\x08)+\xd8&\xe9\xd4\x9b\x83\xc4\xa6\xa0\x8f\ +\x02z\x89\x00\x0e\x9f@\x81\x03*C\xcf\xc1\x16`,\ +\xf2]\xf3\x86`\x22\xf6r\x82*S\xdf\xce\x04\x009\ +\xbb\x85\xd5\x7f\xfe\xfd\x0c\x00\xc7o\x8f\xdf\x19\xbf\x93\xba\ +\xe3G\xae\x1c\xea\x85\xe5|~\x15`z>}@\x91\ +P\x9d\x03\xe4\xf0$\x00\xfa\x1e\x96\xbe\xc2yx\x97(\ +\x00\xf9WY\xeee\x07q\x07\x08\xd8\x05DH\x90d\ +2\x05\xc8\xf4\xcf{H\xa5q\xefI\xa0zD\x82\xfb\ +\xf1s\xd7\xcfA\x15\xd8\x90\x85\xbcB\x06R\x02o\x89\ +\x15\x9f\xef R\xf9\xec\x13#\x1cu\x15J$}\x1c\ +d\x81\x9b\xc4\x96y\xe1\xfd\xfa\x04\x80q\xd4\xfb\xa5\x02\ +\x05\xfa\x9a,\xa5\xd5+\x94\x81\xf7\xc6\xc1g\x5cT\x18\ +\xcd\xcf\x5c'\xe3Y\x01\xf6K\x19\xbb\xe3W\xeb\xe1B\ +\x9d\xec^r\x00\x04\x07\xeeTQ\xf8\x5cB\xdam\x94\ +\x1c^\x09\x0e\xe3\xe5\xe7\xc8<\xbd_\xdf#\xef>\xfb\ +\x04\xc0\xd52\xd0\xf6w\xe69\xddj\xf3[\xc5O\xaf\ +o/\xeb\xf2w\x99\xb1\xd6\xfa\x00\x0ag^\x0a\xf8\x8d\ +\xaf\x80U/\xeaR\x91G\xb67\x07\xaa\x12Q\xd9\xc3\ +\xbf9!+\xf3\xee[\xc0`\xbd\xad\x8a\xd3\x97\xf7\xad\x16\ +\x09\x09l\xe7n\xb60\xd4|\xd2b\x92\xcf\xb5Z\x0e\ +\xf9\x9d\x12\xee\xe4\x12\xb5\x84\x0b\xd0\x15\xc2 kA\xe9\ +\xf3\xb5*\xf6\xd4p\xf8\xdfZ\xbb\xf8_\x90#\xf9\xbe\ +5?\xb5 \x22\xc9\xe5\xb7 \x93\x85\xec\xe1?\xe5y\ +P\xc8\xa4,\xe8\x0ew\x0a[\xf9c\xc8\x8e\x13\x112\ +\xbc*\xac}\xff\x92\xb0\xb8}=w\xbf\x9a\xd0\xce\xd3\ +\x12\xd2r\xcd\xf9 \xd9\xfe\xd7\xb0\xf6\xff\x17JR\x85\ +\x0b&\xbbo\xb2t\xd7F\xa9\x87#\xd9\x1b\x8b\xdc\xc1\ +\xc0YH&\xc49\xc5R:\x07\x04\x0fK\x96F$\ +g\x99!\xd9<.\xa1k\xef\xcb^\xc5\xec\xd9\x93\x99\ +\xc7\xa6\x89\xdd|\xfchf\xe68>\x16\xae\x0a\x88\xc0\ +E\x85\xdf\x80Z\xb8\x87\xef\xae\xec\x97\xbc\x1b\x87V\x86\ +\xeb\x9a\xa9GIV\x22\x1d\xf8\xa0\xd4\x99\xa0P\xc8\xc5\ +8n\x0e\x92\xcbv\xbd\xee\xbd\xc3,\xe02\x91]w\ +\xafK\x9b\xf7\x87\x1c\xa7*\x98K\x02`FHp\xac\ +\xbc\xcf\xcfvW\x98\xaa\xc5\xe1\xbc|\x1f\x89\x0e\x0e-\ +\x87\xb5g\x95\xedI\x01\x05`}\xc0)\xd0\xeeU\x09\ +\xfa^y\x01\xb6\x00\xea\xb0\xac\x98r\xf8\x0f\xee\xd8\xfa\ +\x8f\xee*\x86\x02*\xf2q\x02*\x07=\xdd\xe4d\x13\ +E\x92U\x81\x87\x83\xe3\xd2E\x1a\xb9\xbb\xe5A\xa2\x03\ +\x22A\x85\x91c\xb1\xc8\xf4\xcd\xf3\xc6\xff{\x9e\x0e(\ +\xf3\xb2\xef\x8d_\x02\xbb\xd9Aq\xd0x\x8e^%\x88\ +\x04\x94\xe6\x97\x0a\xa3y-\xd1\xd5\xab\x00\xf4\x09\x03\x99\ +\xe7\x84:M={Se>Yy\xff-I\x11\x0f\ +\x09[U\xa2\x04\x82\xc7\xe7\xabu\xf6\xc3ju\x99\xef\ +{'\xef\x97:\xc0\xf9\xf9\xba\xc8\x0c\xce\x1b0\xb5\x08\ +\x0e\xb4\xc0\xc9k\xb2\xf17'y\x17\xd9U\xb1\xfd~\ +'\x13Y\xa0\xd0\xc6]\x0b\xc9\xafd\xc5\x15$\x8e\xbc\ +\x8c\xf9\x9f\x07b9` ct\xce\xb3\xa2\x1a\xc0\xd4\ +\x09\x9ajC\xb7\xaf\x19\x0f\xcf\xd7\xbc6\x0f{\x12I\ +\xaf~\xae\xd2-q\xc0\xa1\x17(\xda?\xac\x9b\x9e[\ +@b\xc7>\xe0@u\x1d=)\xa6u\xe4\xe7\x02o\ +=l\xd7\xcb\xcc\xbc\xc4\x83u\xe8\xf3\x5c\x8f\x04\x8b\xdf\ +\xb3\xafPA\x90\x18\x14PI\x04\xf8\xbb\x8e\xe4\xa6Z\ +r\x8c\x8f\x1ej\x89'\xe3\xec\xf3\x97V\xa2\xf9\xef!\ +\x1b\xfc\xdc>\xc6!\x04\xd1\xc7\x8a\x8f\xdd\xd9+\x15\x00\ +2\x9c\xbe\xacG\x10\xfc\x0eARz\xf6\x99(/\xc7\ +\xd6~\xe6\xb9\x80\x8cz\x0ez-\x91\x85%\x84\xbd\x10\ +\x17y\xde\x81\xbc\x96\x1a\x87\xdeu\xe3\x9c\x0eU%:\ +p\xd2\x80\x18\xbe3l\x85\x88\xc3\xbd\x91*?\xc5>\ +M\x068\x03\xe8\x0a\xa4%dpj\xa8\xbc\xab\x10\xe9\ +\xd9O\xc7\xba\xae+\x11W\xdb\xdb\x85\xad\xe4\xa6\xb4P\ +\xbd#l\xb5\xef\xe4\xfcF\x12U\xfb\xbe\xc0\x01\x19c\ +\x06\x94\xdbC\xc2\x96\xf1+\x19\xc5DL\xd5\xf5|\xa9\ +=\xbd/M\xbd\xa4O\x9bz\x98\xcd?\xfb\x16\xc4\xa0\ +\xf3\xca\xfe\x9c\x5c\x02\x95x1\xff\x04\xd0\xf6\x87\xac\xac\ +o\x1e\x11\xb6Knv\xba~\xf7Y\x0e\xb5\x84\x82D\ +\x15\xe4\x85\x04'\x87\xcf\xf9e\xbe\x99\xf7\xce+j\x0a\ +\xf7Kv}\x09$\xe4\x878\x16T\xe82\x11T\x01\ +zVbk\xbe]\xaf}\xea\xf5\x96\xc4O\xf3\xbf\x1e\ +\x1f\x1c\x12\x9b\xd7\x84--\x19*\x90%\xc3\x08I\x82\ +\xb4V\xa2 [K\x0b\x22+@\xd0B\xfa\xd2\x94\xb1\ +Lu\x93Jt\x87\x97\xf1\xef+\x04\xd1\x7f\x0d[%\ +\x9c\x05\x80\xfcM=\xb3\x123\xc1\xb01\xb7\x94>}\ +B\xa2^m:\x99+1\x05\x1a\x5c\x10e*S8\ +\x95pW\xa4:I!\x0c\xc8|\x1d>\x95,f?\ +\xb8\x9d\x13\xdbk\x87M\x95\xfd\xa3\xa7\xca\xbe\xc0\x7f\xfa\ +Z\xc8\xfe\xf6\x1e\x11\xd6\xbe\xffjX{M\x04n\xa9\ +\xbbd\x80;\x5c$\xacm\xa7\x7f\x1e\xd6\xbe?2l\ +\x22\xbd\xbbo\x90\xde\xed|'l!q\xe4G@\x18\ +ln4\xbf\x1fu\x8c\xfd/\x0bK\xc8\xf6\x09\x0bY\ +\xdeT\xb7\xbe\xd7\xaau\x167\xce\x07fU\x88\xe9T\ +>x\x09\x90\x8b,oM\x96\xdb\xe6\xf9xR\xd8\xaa\ +'\xde\xba\x13\x08>o\xcf\xf3\xdb\xbf\xaaT\x8eO\x08\ +[\xed\xeb\xce\xeb\xd7e\xcbS\x9e{\x02\xec\x22\xdfV\ +\xa8K\xe8\x7fq\x13$\xd2\xa7\xe2\x90_\x0e[\xf5Z\ +\xd3]\x7fT\x16:\x91\xc0=6\xe7a\x06D\x85X\ +\x960\x94\x18N\xce\x22\x95\xfd\x22O\x04\x05\xe7\xffB\ +\xf6!\x97\xbbTX{^\x0f\x0f\xfb9\xe3rJ\x06\ +\x8c/K\x8e\x93\x1bmn\x1cz\xf1{\x1f\x1b6\x91\ +)>$\xc8\x14'\x7f\xf7\xe8\x15\xa9\xe1]\xe7y?\ +\xbe|F\x80\x14y\x9e^\xf0L@@dW\xc2\x10\ +\xd2!9\xdb \x98*1\xa0\xf5#\xef\x7f\xbb7l\ +\xf9\x5c\x81\xeax\xf4x\xccx\xcc\x8a\xad\x1e\x02\xe1\xdb\ +a+\xd2\xc4n]\x97z\x87\xb8)Y\xee!W*\ +\xd1O\x8d\x22\xc9>\xa7\xf4\xdc#W\xe3l\x9f\xcc\xc4\ +\x83\x04v!\xd2\xb4vf|$\x81o\xbd\x17y\xa9\ +sR\xc5\xde\xfe\xaf\x05-\xd9\xf3+\xd1\xe1\xbc\xf7{\ +\x0a\xaf\x9dL\xaa\x04s\xddo\x92r\x8e\x97\x0c[\xfd\ +}\x22\x91\xc67\x86\xad\xfc\x1d\x89\x02\x81>yO-\ +5)\xdf\x8b\x5c\x12\x97\xcf\xf0\xb4\xb0%qZ\xf2\x81\ +>\x17\xd2.\x13\xe5\xfb\xca\xd1\xca\x1e\xe1\xed\xa3\xc3\x16\ +]\xc5P\xf7\x9cdOb#}\xfa\xe4 \xcf\x99\xa0\ +\x0c\xe4A\xfa\xc6G\xcd,\xb2\x9b\xdf\xc8\x83\xc0\x01\x8a\ +L\xc3@A\x00|&+\x7f\x1e\xa8\xcc0=Od\ +\x09\xe4\xac\xfee\xf3\xd5\x89}U/\x9b\x03\xf5s\xd9\ +C\x99\xbdV2\xf1 &EV\x947\x5c\x9f\xe7+\ +U\x06\x86O\x86\xad\x02o\x0e\xca\x95C\x81uqt\ +\xc6\xf3g\x88GA\x80\xc8d\xbc-\xc9\x03e\x94z\ +\x12\xbd\x0bvds\x02\x05\x81Z\xcfB\xdd\x93|\x99\ +0\x12\x05}\x82C\x85j\x81\x02\x0b\xc8\xe6\xf7\xe7\x90\ +\xfc,\xff\xceu\xe0\x048,l\xe5\xe0,\xf3bF\ +.\x08\xb4=W\x99`*\x06\x99\x89%oQ\x01\xbf\ +@\xd3u\xf7\xf2g]@SH\x84K\xef\x96S\xab\ +@\xbcc\xeb_\xf5:\xcf\x95Z\x01\x87\x003U\x1f\ +\x82\x8a&\xc8h*\x13*\x90u_\x02\xe3\xcb\xec\x0e\ +\xcc*\xe0\xf7<{\x12\xc0K\x96\xac\xe2\xaeDF\x05\ +\x22\x02{\xe3\xe0K`\xebs\x91\xbcI\x90I\x9c\x09\ +,\xe8(s\x88%\x82\xf4\x86\xa7\xfcQ\xdd\x9f\xf9 \ +\x81#1\x93\x0ee\xb5\x80\xb8?\x10P\x8e\xa0\x84\x8f\ +\xf5\x22P\x13x.=T\xbb9 \x04\x80\xcb\xeb\xfc\ +\x1c\xfa\xca\xab\xbf\x97\x980?\xce\xcbV\x81\x8e\xf3b\ +\xb3\xe8\x7f\xcf\x8e\x02(\xa6\x04 $\x8f\xe7)\xf03\ +O\xccc\x81\x09\xf6[:\xb9zw\x91\xec\x19G\xd7\ +\xd7\xabG\x98w\xc6Y\x00\xdd\x07\xa6\xe6\xbbu,!\ +\x90\x0e|A\xdb\xfd\xbf\x84*\x07\xdf<\xeb\xe5(\xbd\ +\x7f\xae\x93\xb6OM\x95\xcc\x03z\xee\x05\xec\xe4\xe4\xc8\ +R\xf6\x01\xb8\xf9~\xb5t\x80\xc99I4\x19W\x10\ +9\x89\x0a\x09T\xd7\x8fK\x82|\xa2D\x86\xbfW\xc1\ +U\xa9\xe60\xd9\xdfz\x928\xfb\x83\xfb\xd1\x13\xac\x95\ +\xc7\xf8\x1a\x17${\x9e\x8f\xf9\x0fz/1-\xd1\xac\ +\x82$\x01\x9c\xebp\xf3\xa8\xb0\xd5\xbe\xec\xf9\xda7\xac\ +g=\x80\xd6\xa5\xeb\xe4Pph\xfe\xcbd\xcbx.\ +\xbd\xc9\xf3:\xf0\xbc\xcd[\xea\x15\x09\x99\xac}\x01w\ +\x05\xe4\x85u\xe69\xe0\x16\xc0*\x9c\x81Y\x05\x80_\ +\x9al\xe9\xd1\x17\xb8_\xba\x10Us\x00\x9eP\xc4\x92\ +\x11L\xa8f\xf5.J\x88J\xa4\xe0\x04\xd1#l\x9d\ +%$\xb1*\xeb\x1c\x18\x81 \xd5\x15\xec\xffy\xaeT\ +\x8f\x7fn\x1b\x9e{q\x07pD\xd3\xb1\x04\x9d-d\ +\x00\xa8\x7f\x92N\x8d\xff6~wJ\xfc\xfee\xd8\xaa\ +E\x81\xfc#\xe8>\xe4\x056\xf3\xec=\xae\x0a:G\ +5\x11\x92E\x02e\xbd\xa8\xe4 \xc5\xb4\xce\x1e;\xd9\ +Bv\x08\x99 \x01$\xe0\xf4\xff\xd6\x05\xf2(\xd0U\ +\xf3\x03\x02'I\x08\xc9;i\xbd)N\x09\xd0y\xf3\ +HOi\xde\x97\xcf\xc3\xa1\xd4F\xef\x1e\xd3\xf89\x8f\ +\x93+h\xfb\x8c\xb0\x05\xb9\x81d\x0b\x07S\x91\x8f\x9d\ +\x19\xb6\xa885o\xecG\x9b\x1f\xad \xeaY\xa9\xd4\ +2\xb6\xf9\xd5\xb9\xc5e<;\xd5\x09\x90k\xe5y\xb2\ +=2l\x95\xb0J?\xae\x85\x17gG\x80\x11\x1d\xe1\ +A.W\x81khM\xdcr\x9e\x8f\xc3\xa7\x16\xd6\x7f\ +\xf2cSe\xefBK\x0f\xfe\xf8\xadf\xdf\xce\xeb\xff\ +\xe7e~o\x9f\x1d\xb6\x92k\xfb\xc7f\x91\x08\xf8\xbf\ +\xcd\xbe\x92\x81\xe6\xdf-r\x80S\x0f\xf7\xb1K/\x7f\ +\x0b\xc4\x9b\xadX\xde3\x10#\xfb&\xb1F_\x1e\xa2\ +\x86\x0a\xc8\xf0\xa3\xb0\xb6\xbc/\x18\xd6\xbe\xbf^\xd8\xc4\ +z~n\xb0\x9e#\xd1V\xd1\xdb\x9e\x1d6%\xc4&\ +\x12A\xfb\xc1xlX\x92\xdd\xfd\xd7\x85\xdc\xb1d\xb7\ +%\x06\x9ds\xc7M,5\xf3:}K&$\x9e\xba\ +\x0a\xb0%\x02\x04$\xf6\x9f\xdc\xdf\xa6\x8a\xe6_\xaf\xd6\ +\xf9\x99\xcd;>s%\xa7\xa7\xf2\xee\xef\xed\x1b\xce\x7f\ +\xea\x14?\xcd\x0a4rG\xf2\x86\xcf\x9e\x13\xa8\xc5\x1d\ +$!\x98\x5c\x06%#\x8b\xac\xd0y\xa0\xd2\xfdga\ +K\x8bCq\x15d\xc0W\x81X\x22tJ\xe6\x0dT\ +^\xe1\xd3|\xe4_Hh\x19O\x09\x15*\x01\xd9z\ +Q\xad\x08\xb8\x86 \x8c\xa9\xb3\x07\xeez\xb2%\x00\x04\x9c\ +d\xc9\xbc\x9f\x80Bo\x9f\x8c\x9b\x80\xddA\x9a\x0b\xbb\ +\xa0\x86{s\x22>,'\xe0\x19)\x17\xf4\xee\xcd\xbb\ +6\xef\x9a\xa0\x19\x93C\xb1\xf9\xbb\xb0\xa9E\xa1\xd9J\ +\x871Ih\x86\xd7\x86\xad\x0et\x0e3\x07%\x1d\xd3\ +\xf1\xaf\xc3V\xbdSw\x9f!0\xed\xf1\xce$\x80\x06\ +\x9cC\x9a\xe3)cX\x95\x93\x0bg@(\xd1\x80S\ +!\x17Z\xf5\x86\x0a`\xfb\x8a\xb1\xbf\xb3a\xfa\xb9\xf1\ +\x15pr\xa09\xa6\x17-\x16\xfd>\xe0\x9e\x03U\x8e\ +\xeb\xe5J\xdenv\xd8U\xb2\xaf]\xba\xca\xbbe\xa8\ +8$\x12\x0f\xbe\x16\xc4\xc1\xfc\xff{r\x01\xaa\xf4\x1e\ +\x99\x01\x0cV\xfbC\x93\x8b@\xe2\xa0\x87\xda\x1fY\x9c\ +\x01\xbb[\x05\x04\xaed\xab\xdc\x87\xcf\xf9i\x92\x81\x09\ +\xf0T\xf0\x8c\x9b\xca9R9\xe3\xe8\xfd\x05~\x02\x00\ +\x8e\xf2\xd1\xd5\x1a\x80]}\xfe}\xe3\xec9\xf5d#\ +;%C\xb9;!\xe0\x80\x12\x90\x08|A\xb0\x8dC\ +'/\x89\x9c\xb26N\x096\xf7\xd9\xcf\x1f\x9f?\xfc\ +\x82\xc0\xbc\x0fp]\xb7\xe7\x22\x90\x13\x90\xda\x08{R\ +H\xdf\xf7\x08\x14\x09\xa7\x8b'\xc9\x1f.\x11\x89\x86^\ +\xfe\xaa\xe7D0\xbe\x121\xae[\x85lY'\xdb]\ +\xaa\x16\x9e\x9b\xde>\xe3\x93rE\x9b}\xf3\xbeS\xfa\ +\xc32\xe6\x10G8J\xfa^s\x01\xba\x0a\xe9\x89\x99\ +@\xc9\xc4e!<\x04\xa2\xbd\x8c\xdf\x9531\x81M\ +\xdf|K\xb2\x9f6\xe7v\xf5T\xd7AzL&n\ +\xcc\xbfk\x94\x5c\xdf\x9c@\xf0\x9a\xeb\x17\xd4\xb9\x02\x0b\ +\xfb\xdc\xd5s}\x9f\x98\x89\x09\xebG\xe0\xae\xb7\xda\xbe\ +d\xdce\xe0U\xb2A\xa1\xeds\x02y\x9f\xe7\xd5~\ +\x02\xea\x8d\xd4\xc6\xbcr\x00z\xce\x90/9/\x8b\x05\ +\x1ed\xd3x\xf5\x89\x17\xf3\xd8\xfe#\x11*`\xcfs\ +\xa9\x12\xca\x10\x00z\x11U6d\xfc\xcd?\xf3\xa6C\ +\x1e\x1c\xc0\x92\x0c\xda\x8d\x9cR\x00\xa9\x92\x99\x0e($\ +RA\xb0A\xfe\xad;\x90s\x81L\xf6\x12\x8e/\x0b\ +[\xfd\xbe}\x01\x17\x80\x8al\xf6zr\xbc@\xa7K\ +\x16\xcd\xf5a\xc9G\xc6{\xc9\xdc\x8f\xb5<\xa8\xb0d\ +\xe5\xaa\xc8\xce\xba\x9eE\x09\x06\x90\xe1H\x8bGb\xbc\ +\x02\xc5|\xce\x9b;\x84\xad \xeb=\xb9)\xce\x06-\ +OH(3\xc0\xdc\xf3\xbc\xc9\x16\x9dd\x90QPT\ +\xf3\x1f9_\x160\xaa\x17\x93_C\x15\xc1\xfc\xc8\xe7\ +\x5c\x89\x81t\x10\xeb{\x95.\x89\x0d\xcf\x15\xf2\x08\x12\ +@K\x07.\x86L\xc8PU\xaa}\xc3z\x83\x8c\x91\ +\x18\xe0\x00Z\x07\xf6_\xdf\xdbW\x9d/\x9e\x1bR\xe4\ +\x94#\xac\x04\x01H8N\x02\x011\xb9,r\x9cd\ +z\x91Cg\x0fz\xb5p\xbc%\x94\xec'\x07yJ\ +\xb4oo\x16\xb6\xdc\xd7\xe6Ka\x0bwK%\x16~\ +\x18]\xf1\x13\xc4~j=\xa9\xfb\xf4w\x99\x88\xb2\xcf\ +\xb6\xddm\xf6K\x9e\x93\x9cP\xb9\x8f\x0f\xd7\x19\xae;\ +\xb4\xc0v8*l\xea\xe1\xfd\x8b\xe8\xe1\x1d\xce\x0c\xcb\ +\xefON\xc7\xfc7V\xf2\x5c\xc1\x16\x1f\x1c\x0e?\xca\ +\x02\x11\x8e\xab\x98\x17!\x9f\xf6\xae\xd9o\xac\xc2\x07\xbd\ +\xf2\x5cW\xa5\x83\x9e\xdfo\x8fov\xa5\x85\xa5^\xc5\ +q\xf3\xf9\xb0\x05I0q\x01\xc4}\xbf=l\xd5\x92\ +J6\x0f\x8bz\x06\x8e;\xe7\x84\xb5\xfb\xb9AX{\ +}e\xd8J\x06.\x03\x86\xe1Fa\xcb\xbe\xbb}D\ +X{\xfd_a\xed}>\x10\xd6~\xef6\xcdn\xbb\ +\x90\xff\x09\xc8\xc6\xcb\x87\xadH %\x04\x91\x94f+\ +\x0a\xa4\x9cD\xd1\xf0\xb6\xb0\x15\x8b>\x92\xdeXeC\ +\xce\xf3\xbbg\xc5\xfcsK\x8bi%\x04\x044\x12\xa9\ +\xe9\xef\x0b\xc4\xab\x90a\x7f\xbd\xf2\xee\xc4\xe8\xd4\xaap\ +\xe6\x0a\x01\x95\x09\x80\x0a\xb0\xac\x7f\x09Q\xfe\x84\x82\x86\ +\x04\x03y\xd4\xdc?\xaa\x15I\xaf\xb9\xc0/+\xad\x05\ +5\xb7\xde\xbc_\xaa/H\xe4T\xe2\xe0\x0da\xab\xeb\ +\xccxfxn\xd8\xb2nJ\x0d\xe1[a\x8b\xbf\x87\ +\x8cs\xef\xd5\xc3\xa6D\xc0\x99\x91\x08\x18\x1e\x1f\xb6p\ +\x9a\x90q\xe7\x97\x14G\xcc\x85\xe7V\xae\x22}\xeb\x0b\ +\xa0Z\x1d\xc8\x89J\x0c\xe3v\x00\xf5\x7fM\x226>\ +\x9c\x5c\x05Ib\x8c\x1bdli5\xaa\xc2Y\ +\xb6Z\x8c\x0fL\xb2\xbdOg\xc5\xf1j3\xf9`q\ +Q\xf4\xdc;\x90\xa3\xcf\xcd\x96\x82\x07\xa5\x9f\x9f\x89\xb2\ +\x82n\xfff\x22k\x04\x94H\x81o\x11\xb6jI\xb0\ +\xdf(LI\xf4R\x99r\x1e\xf1k\xac?\x09\x04\xa4\ +xZ}\xecW\xfc+\xeb\xcc~\xa4\xb5\x0a\x87\x80\x9e\ +\xee\x94g\xac\x8a\xb5\xf1\xf8\xdc\x84y\x8e}\xeeV\xb1\ +\xcf\xed\x9c\x1f\xb6\x14nv\x1e\x11\xb6p\x94l>\x9d\ +\xfb\xf3\x85\x12\xb1\xf2\xb8\xb0\xf6\xfa\x97aK\x05\xbby\ +\x05\x132ts\x81\xcd\xbe\xcd\xbe\x95\xec\xdcC3\xc1\ +\x94\xe7B!0\x9c\xb7\xf6O\xfb\xa6\xf5\x96\x89\xa6\x92\ +\xb7\xcd\x00s\xb8n\xd8\x8al/\xfd\xd2\xf1\xcda+\ +\xb2JjU\x10\x10\xc9-W\x09l~\x0f\x95\x9d|\ +\x9f\xcd\xdf\x86-\xcf\xb9H\x00\x0f\x0d[U\xb2%\x5c\ +\xb58\xd9\xdfS\x9e\x152i|U\xd8J&3\xcf\ +\x99b\xdb\x97p\x95\xf0\xc8\xf8\xafd\x84%Hp<\ +@\x92\xa4\x7f\x05a^\xe7\x9d\x96\x90T\xc3(\x99B\ +\xfb;\x7f\x8c\x9f!\xc1J&4\x0b\x0d\xc3#\x9b\x9d\ +\x9a\xf3\xe9\xd4U\x5cJ-)\x03\xfbJ4\xdd+l\ +\x85\x80\x11\xff\xdek\xb2\x85l?\xe3\x89\xcd\xa9aK\ +\x22b_\xb1}\xea\x0dP\x99\xc7\xca\xf9\xfeY\x06\x0b\ +\xb9\x87\x0cU\xbb\xec\xe9\x80@\x8aR\x03\xf9\xa5\xacD\ +\xca\xf0\xe8\xb95Q^9\xcb\x05\xd6@p\xd0\xf4.\ +\xeby\xc0j\xe8\x81\x90\xb7\xc9@A\x22bs\xf3\xcd\ +-6\xb7X\x12\x0b\xc3\xe3\xc2\xa6\x8dbf\xfd\xbd~\ +B\xa7\xf5\x8a\x18\xb0\xff6\xdee\xbc\xcbJG\xbd\xef\ +\xf1N\x07\xb5z9@4~7'\x029 \x88\x08\ +\x0e\xa6\x8d\xae\x97u;\x10\x1a=\xbf\xba\x7f\x99f=\ +\xfd\x1c\x98\x9e\xcd\x9ec\x00\xca\xe1\xe0\xe6\xf8s8\x05\ +\x1c\xbe\xf7\xda\xb7\x22\xf8r\x1f?)V\xf8y\xe2~\ +\xbft\xd0\xe7\xfb\x11\xf0,\xba\xf3\xb3Cf#9\xba\ +\x83\xec\xf72x}\xa5X\xa2\xc2\xef;\x88{9\xb7\ +\x8be\xa0\xe9}T\x04\xf5\x0c\x9f\xd0\xb1\xef\x0b\xd0]\ +\xaf\xc0\xfe\x82]\xa5\xdbxtdb\x1b\xe3u\x8d|\ +]\x10\x14\xf3\xfbs\xac\x05hX7\xfb\x0a\xa4q\xea\ +\xbf@\xf7\xb1\xd8\x22\xd5\x91\x81|{\xd8\x0a\xf1\x02\xf2\ +|\x8d\xdc\xb8\x8e\xefd\xac\xcc\x13\x81\x87u\xdc'V\ + \x0d\xb2g\xbe2\x9ad!\xdd'G\xb4W\x05X\ +#M.\xb8\x9a\xdf\xbd\x8ce\x1f\xb0\xef\xdd\xddrR\ +\xef\x03\x02\xec\xfe\xb2\xf5\xa1zA\x05`\x10 \x12m\ +\xd6\x9b\xc0L\x22B@\xea`p}\xc8/\x93\xbcS\ +%\xb66\xec\x83\xc3\x16\xa8l\x91re\x806\x1e\x1f\ +\xb6b\xbd\xa5\xff\xcd\xa1p?\xbe\xbfi\xca\x1c]8\ +9\x05\x04\x00\x12`*\x8e\xd6\xb3y\xe2>z\xb2L\ +\xf7\xa5\x02\x7f\x5c\xa9\x06\xcc\x81\x81\xcc\xb6@\xa9\xe7\x04\ + [&\xf0\xe6\xd0\xe3\xc2\xb8E\x92\xd5t\xc8\x81z\ +\xb5\xbf\xf4\x81\xbe\x80\xfd*\xd9*\x85c\xa5k\x99\xd9\ +\xdc(l\x15`A\xd4\xb8\x1f\xbd\xe4\xc6\x1d\x04\xd0}\ +\x9aO\x19@V\x0f\xb5\x80R \xb9$\x80\xe6uo\ +\x9eH \xf7\xadOO\x0e[\xad\x97.p\xd5\xcbX\ +\xad!\xe6\x1bG\xc6\xab\x0aL:\xf4*\xc0\x1c\xa8\xcd\ +\x1b\xc2V\xfb\xbd\x96\x07\xd7o\x9dI \xd8\xef\x13r\ +\x0a\xf2+\x10\xad\xc4E\x9e\xd3u\xbd\xd4hT\xda$\ +\x06p}\xa8\xc4p\x04U\xa6%\x18!2\x8c\xa3D\ +\x84^\xf2D\x0c \x93\xdb\x9c\x12\xb6\xb0V\x97\x1et\ +/K\xa9\x87?\x1d\xb8\xea\x11%\x13l=e\x00X\ +\xdf/$\x9e3\x92%\xcf\x97\xf1=y~r\xf8\x1f\ +9\xd9B\xb2%q\x97\x08\x1f\xe3X\xb2H'\x87-\ +\xe7V%\x06@s\xf3\xfd\xc6\xe4B\xa9V\x87\xc3w\ +\xef\x1f\x15\xd0\x9a\xcf\xf6\xabL\xe4\x16t\x1f\xc4_b\ +\xcb\xbc\xec\xce\x1d\x95\xc8\x15bp>\x7f\x14*\xec\x0f\ +\x12]\xf6}\xfe\x93J\x97\xe7\xa57>\xc9\xaa\xaa\xa5\ +\x83\x0a\x82\x9e}\x5c\x06\xe6\x83u`~K0?7\ +\x91\x17\xd6\x97\xdf\xc7u\x91z\xda-\x88\x9a[A\xcc\ +\x1f\x95/\xfe\x84\xf9\x99\x10\xe5\xf1\xfea\x0b\xf7\x80\x9e\ +\xf2\xf1\x90Y'{\xfc?s\xa1ix\xdf\xf0\xde\xe1\ +\xbdS\xe5s\x82\xc2\x16\x99\x17\xd9\xd6\x8f\xcc\x08\xd4\xe0\ +\xf0\x8f\xfdas\xc2|\xaelN\x9f\x03\x86\xcd\x8fg\ +\xb6\xff\xf1\xe6\xe3\xcd\xc6\x9b'\x82\xf5\xb9\xb9\x8fEK\ +\xc2\xf9a\xab\x96 \xaa\x09\xa0\xbbO\x1a\x9f<>9\ +\xcf\xe5\xf3\x97^\xf6\xe1\xa1a\xe9'\x1d\x92\x88\xc9k\ +/\x85\xa6\xed\xdf\x87-\x5c;\xc3\x07\xc3\x96\xfb\xdc\xff\ +\xafa\xcd-|f\xd8\xaaw\xf8\xac\xb9uqxI\ +\xb3\x97&\x19\xe0qK@\xb1=\xa3\xd9\xe9\x0brm\ +\xe7\xe3a\xed\xfd\xbe\x11\xd6^\x8f\xdb\x7f\xc5\xfd\xed<\ +\x18.6\x5ct\xb8\xd8\xa2\x1aP\xe4\xa3\x09\x05&\x13\ +\xb6\xef.a\x0bg\xc7\xf0\xe2f/Z\xed\x8f\xe6[\ +\xee\xb7\xc3\x19\xc3\xe9\xc3\xe9\x0b\x82r\xbc\xf7\xec_\xeb\ +i\xaf\x16*\x01t&\xbc\xb5:\xecy\x5crC\xe8\ +\xb9\xcf\x02\xe0&\x0b0\x13\xe7\xc1}W\x88b\xeb\xe6\ +\xdd\x93-\x09\x1c\xa4\xe5\xc8\xfb\x92\xdd}\xfcl\xb6\x0a\ +d\x0bN\xf9w\x99\xa8\x1b\x1f\x1a\xb6*\x81g\xbc$r\x1c\xdc\x0b\x19\ +\xe3\xbc\x8feE\xba*\x97\x02\xbd\x9el\xd0\xf8\xfef\ +\xd7\xeb\x0f\xba\x8e}_o\xb3q\xe9\x10\x06\x95`\xe0\ +P@\x1c\x08\x08 \xc9\x92k\xa5\xc6A\x82F\xa2B\ +\x02H\xe5\x05\x843+\x22\x05\x1d\xf7~\xa0\xdf\x1c\xc3\ +\x85\x0bd7Y\xa2y\xdb#\xa3\xfa\xfd\xd2z\x10p\ +\xe6\xf9T\x01\x0d\x87CK\x80\xfd\x82,T&\xa6\x8b\ +\xab\xc3\xc1\xeer\x1e\ +\x15d8+\xd8\xfb\xcf\x0dk\xafW\x09k\xf7w\xf1\ +\xb0%`\x1a~\xdc\xac\xbd\xcf\xce\xdb\x9a\xbd}J\x80\ +4k\xdb\xcf\xd7\xc2\x16\xff(\xc4\xe0B\x0en\xf8\xa5\ +\xb0\xf6\xfb\xcfm\xf6\xbc\xf6\xfa\xb8fm\x1e\x0d\xb7\x0b\ +[\xed\xcf*\x93\xe9Wn\x8fm\xd6\xce\xc9}\xa75\ +\x0b5\x83\x83\x9b\xb5}r\xe7\x91a\xabu\xfc\xbd\xb0\ +\x15K\xba\x9e\xf0\xe4p@\xea8\xfedVI\x19?\ +>\x93\xad\xa9@\x8f\x7f\x9c\xf1\x84\xc0Hb\xe0\xd5s\ +\x05\xbez\xd2s\x1f(\x0e\x03\x90\xee\x9b\x86M$\xdc\ +\x93\x1f^\x88d\x091\xfb[\xfaI\x854\xb6\x0f\xab\ +\xec\xe6:\xd1\xbb\xafE(f\xc74?@\xebq\x0a\ +d\x01\xb3\xf6]~Y\xb6dT<#~\xc2A\xf0\ +\xa7\x99\xb8\xe3g\xa7?\x05Q<\xfc[\xd8\x8a[\xe1\ +Va\xabV\x98\x1b\xceH\x9d\xcd#\xe6B\xe8\xf6\xdf\ +\x9b}oJ\xbc\xce\x9c\x1e)S\xb9y\xc8\xac\xbe\xa6\ +\x05\xa5\x12\xb8\xfc\x07\xaa.\x10\x14\xe4\xea$~\xdd\x17\ +\xf5\x15H\x02\xeb\x12WB\xca\xdd\xd5\xef%4\xbe\xf6\ +\x07\xfe\x8f\xf3&\x13'ER\xf7\xea\xb0\xa5\xa5B\xe2\ +\xac\x02U\x09\x95L\xc4T!\x8c\xea\x02\x15\x07\x89\x1a\ +\xadO\xc9\xfdU\x055Hs\xfe)d\x9c}\xdby\ +\x9a\xe4}\xf5\xbc\xccG\x89%\x89g~\xa0VA\x09\ +\xa7\xdc/\x90jN$\x9bWZ\xfc\x08H\x81\xbao\ +-\xbe\xea\x80\x7f\x10\xb6B\xc8gKI\xc5{\x89\x94\ +\x1a\x9e\x19\xb6\x1a\x9f\xf4?$f\xca\x9fr\x9e\xbb\x0f\ +\x09\xdc\xf4\xef*\xc1\x91\xe3\xb9O\x86\x8d^\xe6\xe6\x8c\ +\xb0\x05\xea\x04\x19\xb0}\xf5\xf65\xdb\xd7,z\xe96\ +\xd0\xe1O\xc3\x16H\x9a\x8c~\xe9u~ \x11\x042\ +D\x09\xd5\xd8\x1e\x17\xb6\xb0\x14\x0e\xaf\x08[\x91\x16\x91\ +}Ih]\x05V\x90\x03\xff\x94z\xce)\x8bQ\xba\ +\x8e\xb7I\xa8U\x06\xf8\xe3c\x93\xc4#\xa1n\xe58\ +\x0a\x18\x12*^:\xdd\x1ci,\xfey\x80M\xe9\x86\ +\xd7\xa7N\xec\xe5~\x0e\xdb\xbd\x09\xcf\xd1\xf4\xbd\x05\xe8\ +\xc0\xee\xd9\xf39\x0a&j\xcf\xbe\xdf\xb3\xa1\xf7$\x86\ +\xde\xc7\xc1\x83__\x7f\x1f\xfd\xab\xfb6.\xae\xf3\x17\x91\xc4\ +-\xad\x0a\xf3\xebA]\xcbC\xaf\x12`\xfc{V\xff\ +\xee\xf7\x0e \xf9\x13H[P\x1cA\xa4\x84}\xa2\xa8\ +\x0f\xf0\xfb\xfb0\xde\xc5f\xd5\xc99z?\x891-\ +\x00\x09\xbdE\x86Y:\xdb\xc8}\xde?\xbeo|\xdf\ +\xaa%\xa2\x83\xd6\xe3\x9a\xd8\x5c:\xa1\xd1\xc6\xfd\xdcL\ +\x04\x99'\x1cL\x09\x9dt\xd4\x8a#\x02\xa9\xa2\x00C\ +\x22Ib\xa1O8m\xf3\xfb^\xd5@@\xe1\xcbu\ +\xee/\x04\xcd\xec\x90\xa8\xd4sl{\xbd{\xf3A\xc5\ +\xcbF\xa7w\xf7:\x9b\xebNPW\xac\xac T\x02\ +fH\xa2\xcc\xc4VO\xb9\xc0\xb4oe\xd0*\xc4Q\ +\x7fI\xd8\xea9q\xfc\xba\x16\x8b\xca\xb4\x0a\x9cA\x93\ +qQ\xc8\xc8r\x14\x7f\xd4A\xd4\xb1ks\xb4\x1c\xd4\ +k\xf6\xe5\x8b\xaf\x02^\x95x\x09\x9c_\xc9\x80\xfc\xa4\ +\xfc;\x07\xb3\x0a\xfeU\xbb\xd6\x00=\xd6*\x8f \xff\ +\x0e\x14\x09\x1f-b=\xa7\x80\xc4@\xdf\x8a\xd1sb\ +X\x17\xb8\x0c \x07\x5c\x9f\xfd\x97\x0a\x0b\xb232D\ +zg}\x0e$\x83\xca\xaa\xf1\xe0\x10\xf6\xbd\xd2\xd6k\ +\xbf.%\x80$z\xbe?\xcb\xb8\x16\xd9)\xc7\xd9:\ +8\xa8T.f\xf9\xa0\xe4\x94)9\x22\x89\x1a\x09\x82\ +\x84\xd2r \xaa\xe2*`\xcf\x84@}\x81\xfa\x99W\ +\x02c\x01\xa0\xf1\xf1|\xbaD\xe2\xe6\x8da\x8bLa\ +\xc9\xf7\xea1\xec\xa0\xc8\x95\x80!c$\x81\x91-x\ +\xa1^\x1d\xfa\xd5\xb8\x016\xff-l\xd5\xcb\xab\xd2g\ +\x1e@d\xe8\xa5\xd6\x0b\xeb\xf9\xfb^ \x90\xbcu\ +& \xb4Z\xb9N\x09*\x09)\x8e\xd9\x036\xf7\x9f\ +\x02O\xcfS\xeb\xa0J8Y%\x15\xf6\x94\xdf*\xee\ +\x07\x09$\xeb\x9cz\x86\xe7,P}j\xd8*az\ +\xbf\xb0U\x82\xc8\xba4\x7f\xcd?\xf3\x13\x92\x11ya\ +B\xc4\x03\xbf\x18\x15\xbd\xd2\xd5F\x92\xa9\xa2\x05:n\ +\xdf\xf3%1\x06\x19\x94\x0eq\xc9A\xea\xfd<.\x11\ +jZ\xbe$h \x07!@\xb56I@A\xea\x08\ +\x14\x05V\x02\x99?\x9a\x1d\xef\x16vO2V\xc3\x1b\ +\xc2\xda\xf6\xff\xe2\xb0i~O\xd0\xd6\xf1\xd19\xde\xd9\ +\xe3?>!+\xf6\xf6{\x89\x8b\xbfN\xa4\x04\xc7\xf9\ +\x90\x19\x91\xd5\xd6\xca4\xfe;\x7f\xb8\xf3\xa0\x9d\x07\xad\ +\x02\xe8T\xc5(\xae\x11\xfb\xb0}\xf5\xb7\xf3\xe7\xc9\x05\ +$\xa0\x1b\xef:C\xa7\xdb\xe8O\x15\xc8*\x80\xdd4\ +lQ/\xb0_hq\x9c\x10=\x81 \xd9\x1f\xb6\xf4\ +`\x97\x1a\x15\xff7\xb9\xb36O\x0b[\xf6i\xd0|\ +\x95\xcf\xe1\xbe\xc3\xfd\x866\x7f\xf6?|\xff\xc3\xf6\xb7\ +q\xdc\xff\x9efm\x1f\x18~-,\xb9'\x9e\x9d\x01\ +|\xdbO\x86\xe7\x84\xb5\xf1\xbdZ\xd8\xa2b\x80\xdb\xa0\ +*\xb6\xcf\x08[H\xad\x87\x0b\x84\xadH\xf4n75\ +y\xcd\xf7w\xd0j\xbeh)\x89\xa7\xbe\xe2~\xb8\xc0\ +\xad\xc2\x16\xb5\x82\xfd_i\xf6\xe5\xf4_\xf6.\xc8\xae\ +\xe2&xiXr\xe8<\xbc}\x7f\xcd\xe1W\x86\x16\ +\xa8\x0f\xff\xab\xd9_N\x81\xd8\xdcj#\xc1\xf1\xfa\xe1\ +u\xc3\xeb\xa6\xc0nJ\xa8\xef\xf9\xab\xb9\x108\xfe\xe1\ +\xf8\xa0\xf1A+\x9d\xf3T{\xa8\x9e{\xe4iY\xf1\ +\xac\xf3\xb8\x83XW\x01)\xcf\xb3\xea\xe5\x075'\xc3\ +F\xc7]\xc1\xd3>\x96\x01Th\xff\x84\xfaO\xb1\xb9\ +''X\xb5pe%Xa\xa0d\xd5%\xf2$\xc4\ +\x9c\xa3\x10B7\x0f[\xa9d\xe4>\xb6s\xc7\xb0$\ +\x99l\x01\xff\xf6y\xdb\xe7o\x9f?\x91\x94\x9e\x16$\ +\xa5Z\x00J\xaeO@k\xffr\x9eJ\xd4\xe7\xfc\xb6\ +\xff\x15\xb7FOf\x98\xe7Z%:%\xb8\xec?\xf6\ +\x03\x89a\x15\xefL\x0cO\xa4\x9a\xdfZ\xed\xbfy~\ +A\x1e\x8c\xaf\x08k\xaf\xb7\x0d[\xb5\x1c\xe4\xfeS-\ +7\xce9\xfe\x1brUd\x8d\xc9\xd1Td}\xe4k\ +U\xe6\x131e\xdf\xad\xe7\x22 \xc6\x05\x93\x89\xa1I\ +\xf5\xe2\x03\x07\x92Tno\x11\xb6\xda\xb73\x01U\xa4\ +\xf0\xe6%\xf5\x0b*\x00\xc9-\xa0%\xc2\xfeN\x85\xa8\ +\xfc\xfeDLV\x8b\x06\xa8\xbfy\xf5\x86\xc9j\x9d\x0e\ +\x8f\x09k\xbf\x7f\xc1\xb0U\xe2%\x13\x92Z\xe8\xc4\xad\ +Z\xd0\x86\x7f\x0fk\x7f\xf7\xddD\xa6\xe6\xfe\xb6\xaf\x16\ +\x90\x83\xf9\x83\x09\xed\xf8B\xd8\x04y\x98{\xde\xae5\ +\xf7p\x0e\x87\x0d\x97\x1a.\xb5\x90C\xb4A\x992\x17\ +\xa5\xfbKn\xe1\xb5In\x90d@\xb5\xd1\xdc%\x1d\ +\x07\x0e\xa2J\xe3i)\x9bq\xed\xac\xb0\xbf9e\x86\ +\xd2A\xe0`!\xadk\x1by\xb3%3U\xac\xcd \ +\xe8\x02\x1c\xad\x0d_H\xc8\x07\x07\x92c\x81\xd4\x8eC\ +\xd7W&S\x06\xa8&H\xca\x88\x1c@Z\xd5\x07\xfe\ +\x1c\x00\xff\xcf\x11\x15\xf0\x08\xe8\x05R\x16\x96\xeb\xe2\x80\ +X\x08^{\xf9>Pn\xba\x91\x97\xe9\x02\xbe>0\ +\xed\xc9\x02\x0fJ\xc7\x08d\xf2\x8a\x19@\xe8\xb9w\x9d\ +\x1ceP|\x0e\xbc\xc4A\x1f(x\xbe\xc7T\x00\xbe\ +\x9b\xdc/9\x1a\x9a3>\x07\xda\x17\xe8\x10\x01\xae\xb3\ +oi8\xb8\x12\x10\xb3c\xbc\xb4\x08\xecN\x10,\x95\ +\xfa\x99\xd5\x9a:\xc1R\xd9\x9f\xef\xefJE\xb66;\ +\x9c\x17\xcf\xbf\x830\x108^\xbe\xcb\xb0\x09\xb8Tr\ +\xfb^\xf7.\x90\xab\xca_\x92\x8b\x94c\x0a\x82\xfa_\ +\xc2\x96\x8aR\xf5R\x09\x80U\x8a9\xcc\x1f\xcc\x84A\ +\x9fhr\xdfy}\xa3\x0a\xd7Uw\xb7\x8e\xd4k\x8f\ +\x14\x90\x18\xf1\x5c{Vz\xf3\xb9o\xe9X\x12K\xf3\ +s\xf3<\x8d\x8b\xc0L\xe2\x06\xe7B\x9f\x100n\x12\ +Z?\xad\x0a\xee\xbc>\xcdG\x19P=\xe5~\x8fC\ +\xaf\x92\x9c\x07X\x05\xdeH.\xb5\xb8x^=\x0b\xbf\ +\x80Oe4\xe7O\x91\xad\xf8\xbd\xdc\xa0+#\x9d\x99\ +\xee\x22m\xd1\x8b\xaa\xe2\xd7#' 3\xbe\x93\xcf\xf5\ +CYiV)8/lE2\xd6\x93\x80\x19\xdf\x85\ +\xab\x01\xb9\xe6\x8c\xbc\xe8\xd4\x07\x0a\xa9C\x9f\xd6\xbc?\ +\xae#\xfd\xf4\xbc\xfd\x5c\x05\xfe\xb2\x89\xa8P)\x17\x88\ +K\xc4\xf4-\x03\xae\xcb\xfc\xb2\xdfw2\x94+r\xcd\ +]\xaa\x07EFGV\x8f\x83\xcf\xb1\x91\x18CJ\xb8\ +p(\xcc\xaf\x1c@\xfb\xfa\xd2\xba4\x8f\x9f\xfdQ\xe0\ +\x93\x81\xc4\xe6\xaea+\xd2(\x07\xb7}Z\xe2\x15\x92\ +J+\x86D\x12d\x8e\xd6\x01\x90g\xac\xc3\x99\xf1G\ +\xc2$\x81Q\xec\xc4Z\x1d\xf4\x98[w\xe6\x1d\xc4\x85\ +\xf9\x0b\xd2\xe8:\x04\x88\x1ca\xfa\xee \xe1\x1c\x05\x01\ +z\xd7\xa3\xce\xe1\xadD\x96\xf5\x84\xcb!\xd9\xf5\xf7|\ +s\xcf\xb7&\x08y\xc8\x03_p\x95\xb8S\xf9M\xb9\ +%\xac\xcf\x95\x88\x17\xb8\xd9\x07=\xf7\x94\xf3\xad\xeb\x96\ +\x001\xce8\x17\xfc\xbe\xc0\x15\x021+\xe5%\xfb\xe5\ +\xef\x8cG\x9e+\x15\x80\xf3K\xbe:\xab\x0c\x15\xf9\xa0\ +y\xa3\xe7>\xa1\xdb\xc5v\xadEA\x22f\x91\x81\x9d\ +\x13\x13\xf7\x0e[Z\xbbJV\xef\x063\xeb}\xcd?\ +\x09\x03\x15\xafd\x8dFRV\x89\x0a\xeb\xcbz\xc4\xad\ +a\x1c\x15J x\x12R\xbc9'\x0b2*w\x02\ +\xf9\x84H\x1f\x80\xe8r~\x187\xe4`\xfc\x8f,\x84\ +T\xe5\xfe\xcc\xec\x89N\xc8\xf4\xf0\x88\xb0\xb6\xbc\xbf\x12\ +6\x91h\xcd\x81\xc7\xb3fdF\x9b\xf3\xf3\xef\x93k\ +\xfb_\xa9\xd2\x94\xf7Q\x15\xbe\x5cG\xc3Y\xc3\xd7\x86\ +\xaf\xad\x00\x94\xb8!\x90@R=0N\xc8\xc2|I\ +\x8c\x81@?t\xee-n\x81\xe7\x9c\xb0\xb8\xd3\xf6\xb7\ +\xb7\xbf\x9d--\x0fJ\xff\xe0\xb0Uk\xc1\xc1S\xc9\ +k\xcf&\xfd\x95\xed\x83\xc2\xda\xf7\x17\x09[ZLJ\ +\xf60\xb996\x9f\x0b[X\xe5!Tw\x8e\x0a[\ +\x02\xd1\x9d\xdb\xec\xfc\xd6\xcem\xda\xeb=\xc3\xda\xef\xfd\ +\xe7\xf0\xb3\xa1\x9d\x7f\xc3?\x86\xb5\xd7\xbb\x0fw\x1b\xee\ +>\xed\x9b!\x9c\xbdg{\xf7\xb0\x15\xd7P\xa4a\xfe\ +h\x09\xbc\x87/5\xfbr\xea\xcf\xefYUV\x83\xf2\ +\xec\x15+\x04\x93}4{\xab\x91\xfc\x8d\xe7\x87\xb5\xeb\ +\xf9\x5cX\xfb\xbc\x9f\x86-\xf2\xb8{_\x106\xb1\xd5\ +?:\x12_\xc3k\x9a\xbd:\xa1\xca!w\xf8\xb7a\ +\xed\xe7-\xac\x0f\xce\x80\xed\x09a\xed\xfdN\x0d\x9b\x10\ +t\xe7M\x08:$\xbbI\x82;~i\xde_\xab\xf5\ +\xcf>\xea?\xcb\xf9\x9d\xf2YE\xe6\ +\xfc\xfalq\xfdqB\xd5\xa35\xe0\x88\xe9\xfb\x1fM\ +\x95\xec\xac\xc4\x0b\xb4\xb7\xbf\x1b\x96\x89\x94W\xae\x0aR\ +T\x14\x12)\xb7yM\xd8R\x09\x1dN\x0ek\x8f\xf9\ +\xd2am\xb9\xeek\xd6\xce\xbb\xe1\x87\xcdZ\xa0\xbb\xf3\ +\x93\xb0\xf6zR\x0b\xf4N\x9a*\xe6\xd7\x9c*\xe6\xd9\ +\x0a\xd0\xc2\xaf\xbbD\x00\xb6\xbdx\xd8\xd4J0\xcb\xf3\ +\x81\x0a\xc7n\x12\x01\xe0\x9d\x9b\xb5\xeb\x1bn\x19\xb6\x82\ +\xfcKL\x1f:\xb1\x17-\xfbZ&\xc4\xb6\xf7\x09[\ +\x10]\xc3\xdb\xe6\x9e\xef\xe1\x92a\x89\x0c\x0a\xae\x81\x8b\ +\x86--\xc0\x9b\x977k\xeb`\xdf\xa7\xc2\x16\xff{\ +x@\xb36O\x87\xc76k\xebx\xe7\xeb;g\xef\ +\x9c=\xcd\x9b\x99\xa3\x84\x0e\xbb\x04\xd7u\xe7\x80n|\ +q`2\xda\xdf\x9d\xda\x02\x9aSS\xf7\xfd\xd4\xa9\xf5\ +\xf17\xc7\xdf\x9c\x10{\x93?\x15\xb8\x82)\xae\xa0\x1e\ +\x90\x05\x95\x8a\x072\xf0\x84(\xaeD\x0e\x84\x8f\xf3\x84\ +\xb1\xbe\x9c/\x02V\xfel\x9e{\x13\ +B\xe5\xa1\x13\xf9\xde\xdb&\xf2\xbd\x5c\xb7;w\x0ak\ +\xf7\xf7\x94\xed\x93\xb7\xed:\xf6\xder\xef\xad\xf6\xdej\ +j\xc1\x9a\xce\x9f\xe1\xaf\xc2V\x094\xbd\xee\xd6\x09R\ +\xc4\xacPC\x9a\xf2\x1b\xa9\xcfT\x81\xca\xf9\xff\xcdi\ +e\x07\xd2g\xe6 \xe1\xbf\xda7\xf9\x1bW\xcb\x02\x87\ +\xf1#\x0b\x9c\xfbF!\x9520&K\x0b\xf1Q\x5c\ +7\x12\xecZ\xc4\xecO\x12\xee\xbd\xba\x19\xe4T\x22\xcd\ +$ \xab\xf5\x0a\xf7\x8c}\x7f\x8d\x9c\x09\x19\xf8\xdf\x0d\ +[%\xc83\x81?|1l\x91\xcb\x1b~;lu\ +>\xa5:\x12\xee\x08\x89\x1ar\xee\x15\x0f\x0b\xfc\xb3U\ +\xa8\x12\x1e\x99H\xad\xd62\xe4\x8f)\xc7\x8aS\xa7\xe6\ +\xb9\x04\x8a\xf3\xe5\x9f\xc2\x96\xfd\xa9\xe4\x1f/\x1d\xb6b\ +\xff\x87\xfc\xc2e#\x81\x9b\xfb\xd7\xbe\xf1\x98\xb0Uf\ +\x8aC\x91\xbdiErs\xf7\xb0i\x80\xe6\xca\x83\x1b\ +\xcc\xbf\x1b.:\xcb\xb3\xd8h\xf54\xd7\xc2{\xd2\xf8\ +\xc4\xf1\x89\xab\xc0H\x86\x18[-\xee\x00\x07\x81\x1e\x15\ +\xac\xebH{\x12Z\xab\xa7\x0b\xe4\xaa\xc8\x06_\x95\xf2\ +\x0c\xcf\xc9J\xdc\x0d\xf3\x80\xe0(\xcb\x80r8,\x18\ +\x95\xe7\xac0\x8e_\x9c\xc9\x1aZ\xf86g\xfc\x0c\x1c\ +G|\xdf\xcf\x878\x17\xe9\x98\x83A\xe0/\xc0t\xc0\ +\xa9\xa4r\xf8\x05\xee\x02K=<}\x0bAG\xe6U\ +\x81)\x87\xc4\xf82\xee={\x00\x00 \x00IDA\ +T]\xb4X\xfbg\x07\x9eCjc\x13\xf8\xab\xc8\xbb\ +\xde%\x00\x9e\x1dy\x90x\x99\xb6^\xae\xc8}\x81~\ +/z\xees\xe0\xd8s\x1c\xec\xef~n\x1c]_\x17\ +\x98T\xa0(p_\x02\x0c\xbd\xf8\xf3\xdf-d\x81s\ + l\x836\x0e=y\x9f\x9f\x0b z\x16}\xefc\ +\x9c\x04P\xae\xc3\x179\x9b\x94\x17)}]\xe48H\ +>\xb0\xfc\x9f\x9b\x1b?\xb2>\xf3\xa7\x87x\xf6\xaa\x04\ +\x1c\x1b\xcf\x7f\x91\xc9\xdb-\x13i\x1c\xfc\xfdE:2\ +\xc2^\x85\x81\x83~\xfd\xfc\xfb\xef'\xa4\xdeu\xd9x\ +=o=\xcf\xd9[\xd96\xc3\xf9y]5\xe7\xa3\xcc\ +l\x0f\xc1\xee\x12:\xc5\xbd\xe0\xf7\xb0\xb9r\xfc\xcd7\ +\xd7k| b\x0e\xcd^&\x09\xa4K\xe4>\xf1\xc3\ +\x84 \x83\x90e\xe5\xb1Z\x05\x9e\xb3\xc0\ +\xbd'9\xb2N|\xbe\xf7\xfdE\x88\x05\xf3T\x80\xe0\ +s:\xce\x95B\xa0i\x11 \xaf\x97P\xf7J\x10\xc8\ +\xb0s\x9c\xac/\xef\xaf\xe2\x83\x94\xcez\x02\x99\xe7\xb0\ +\xd9\x8f\xf2y\xd6\xba\x87\xd8\xf1\xf9}\xa2\xc5:\xf2e\ +\x5c\x8c\x13$\x82\x1eX\xe4tz@Ads\x1d\x16\ +\xa2\xe1O7\x8f\x9a\x10~Z\x05\x04\xc2>\xef'\x13\ +k\xc7\xa2\x8b\xacB\xab\xe2-\x81\x95\x0e\xe0\xf6!a\ +K\xa2\xa18\x09\xb2\xc2V\xe7\xac\xf5\x97\xe4\x83*8\ +E&\x07\xc9a\xfc$\xbc\xb2\x17\xb6H\xbb\xac\x0b\xad\ +\x84 \xa4Y\xd9\x06\xed/\xc4\x16\x08fV\x9c=\xff\ +\xf1\xb1a+\xb2;\xf3\xc5s\xe6\xd8\x1b\xe7$\xaf2\ +\x9f+1\xc8A\xe6H\xf6\xe7\xb6\xe7o\x1e\x22\xa7K\ +\xf2\xa8\xda\xa7\xf2\xf9W\xe5\x0e\x84;\x9fo\xb1u'\ +\x89^U\xa2$\xf0\xec\x83T\x22r^\x91U+\x88\ +\xab\x84Q\x8e\x87\x84\x03\xd98\xfa\xf5U\xc1\x7f\xe5L\ +z7#,\x03\x8e\x9b/\xe4\x82\xdb\x0b\x87\xb5c\xe1\ +\x8cf\x7f\x9d\xe4\x9d\xa7,rt{\xef\x12\xb6\xb0\xd1\ +O\xd0\xe9@H]\xb5\xd9\x95\xb3\x92\xdc\xe2\x89\xfd\xdf\ +l\xf6\x8d\x9c\xb7\xb7^U\x9c\xb3\xf06\xec\x84\xb5\xd7\ +\xcf\xb4\xfb\xf9\xcc\xd4z|\xf8pX\x22\x0c\x1e\xb0\x82\ +F\xbf*+\xc4X\xfe\x13\xca\xbe}\xdd\xf6\xb5\xdb\xd7\ +.j,\xc3\xa1aK\xe2\xa5H\x09o\x10\xd6~\xef\ +\xb9a\xabD@&L \x90\xc6\xff\x11\xb6\x9c\x87\xa5\ +[O\xbf\xdd\xbe\xc5\xff\xc0I\x81\xe3E\x22\x0f\x89\xdc\ +Bn<\xcfw~\xf3\x87\xa6\xe6\xce=\xedn\x9b\xad\ +8\xc8\xd2_\xdd\x1e\x13\xb6\xb4\xf8\x14\xa2\x05d\x1c\xa7\ +K\x06\xd8\xa5\xaaq\x9b\xb0\x05\x09S\xac\xf6\x12\xd3\xfc\ +=\x95e\xf1\x00\x0e\x80Ll\x97\x1c\xb2u\x0b\xe9|\ +\xbf\x99E\xbf\xc8\xac\x91(\x92[\xcd\xeb)\xa4\xf2\xdd\ +\xc3v=\xc79P\xb5\x7fgo\xfd\xf8\xc8\xb0\x95_\ +.aj\x7fT\xd1\xa6o\x0f\xf1E&\x90,i\xb4\ +\xac>O\ +%\x059\x0bG!9\x11*@\x10\xc0d&2\xa8\ +\xf7&\xf2=\x1bef\xf8\x8a\x5c\x83\xdc$\x872I\ +/k\xde\x0a\xb0\x04\x22\xee\xf3\xca9\xbf\x0e\xeb\xf4\x88\ +\xb7\x1dy\xa0\xf1\xebe\xf6~\x91Z\x82\xdf\xf7\xd5\xcb\ +\xe7\x19\x07\x95|=q\x1c\xb2\x83:\x8e\x8c\x9fud\ +\x8e\x9e\x9b\x00\xf2\xb8\x0cxO\xc8\x04\x17\x12\xc6\xac0\ +o\x5c\x8fye\x9c\x8dGO>\xd9\xb5\xe4l.\x9b\ +\x19\xe1\x8b\xcc\xec\xce5\xffA\xace\xa6\x1d\xc0\xee\xc3\ +x88\x04b6j\xfb\xd5e;Y=Pa\x08\ +\xa1\x93\x93\x1d\xdf\xbc\x930\xd0\x9bH\x0f\x17k\xae\xc0\ +4\x1d\xae\xf1\x88$-\xb5/\x1a7\x15\x81\xbe7^\ +\xe0\x0c\xf2-qh\xbd!\xfb\xfbYAy\xe7\xc0\xbd\ +\xaf\x90\xbb\x7f\x09L\xf2\x95z\xe8\xed\x9b\xbd\xfcf\x0f\ +\xd9\x17\xa8\x80,wrj\xd5\x82`\xdf\xeae\x0d=\ +g\x08\x86LpT\xab\x06n\x82\xbeU\xa1S!\xa8\ +\xf1PY0^\xf6\x0f\x09\x0e\x9c\x10\xf6_\x8e\x96\xfb\ +t\x9d>\xa7'k5_\xf4\xf0[\xc7\x12\x04\xd9\xdb\ +W\xe7\x8f\xfd\xd6\xfbH\x00X/\xf6A\x95\x14\xfb/\ +rZ\x01\x99\xf7\xf1w\x9e\xa7uh\x1c\xa85\xe8q\ +\xf7\x9c\xcc\xeb\x84\xe4\x17I\xd2\x92\x98\x9e\xc7\xd7x\x98\ +\x7f\x12\xe4\x09\xbd\xe48n\x1f\x10\xb6\x04J\xe5\x18\x93\ +o\xc3Z\x0d\xc1\xc7aLv\xfdb\xe5W9\x0e\x08\ +\xf1\xcbW\xec\xcbzU\x13\xd2[\x8e)\x99&\xfb\x07\ +\xd2\xa7\xdco\x8b\xbc,\x13n\xe3{\xc3V\xc8\x06\xa4\ +Q\xfc\x04$x\x09\xed,H'\xb2M_Y9u\ +\x9d\x158j\xa9H\xb6\xef\xd2\xb7\xf7\x9c{\x8e\x9e\x84\ +\xc0Vb\x8a\xe3/A\x99d\x93EB\xdc\xed\xbb\x85\ +\xac\x93P4\x8f{\xce\x1fd~\x89$+R\xb6O\ +\x84M\x95\xc3f\xab}\x15r\xa2C\xd8\x15\x1b:\x99\ +.\xeb\xc8}Y_z\xa9\xd3\x91\x1d\xf7\x85\xb5\xbf\xff\ +lX{=3l\x09\xcc\x90\xd9\x8e\xb7\x0e[\xcd{\ +\xfb\x80\xc2\x84s\x0d\xe2\xa1\x93W\xae\xf1\xcc\x1e\xf0j\ +\xa9\xd0\xa2\x02\x9a\x8f\xb4\xf2\xdc\xb0\x15\xc2\x0e\xa4X \ +\x06\x19\x8a\xebC\xab\xc0u\xc6k\x8f\x81\xf4\xbaPX\ +:\xfa\xefh\xe3\xf9\xbcf\xed\xff\xb77ov\xb3D\ +\xf0\x15\xd6\xbe\xbfv\xfb>\xb8\xb4\xf6\x87\ +\xb5\xd7\x8f\x0fg\x0eg\xae\xf4\xc9?\x9b\xa4\xa3\x90\xae\ +\xb9_\xb7pe\x22kV\x19\xdc\xff\x82\xb0e\xfc\x14\ +\xda\x86S\x86\x07\x0d\xa7,rg\xdb\xdf\x0aK$\xe8\ +U\x16r\xb1\xed%\xc2\x96\xf3~\xe7]a\xed}\x7f\ +o\xff\xef\xef\xff\xfd\x89l\xec\xb1\xc3c\xa7\xf96\xed\ +\xf7\xc3\xf1\xc3\x95\xa2\xb7~\xef\x0d\xf7\xfe\xea\xde\x1b.\ +\x01\xef\x14\x88\xbe\xa9\xfd\xff\xd5\xc3\xda\xff\xdf&\xac\xbd\ +\x9e\x14\xd6>\xe7\xe1a\x0b\xa4y\xfc\x9d\xf1\xce\xd1R\ +\x1b\xe9\xefH\x80\xef\x1c\x1e\xb6\xf4\x82W\xa2+\x13|\ +\x95H\xc8\x84\xce\xe6\xc2\x9b\x8bD\xcb\x85\xc0\xc6\xfe\xe4\ +y\x8e\xc3\xdc\xfb?\xfc(l\x95\xb8\xcbV\x18\x81\xd2\ +\xce\x0d\xc3\xda\xef\x1d\x11\xd6^\xcf\x9c\x9fC\xcd+H\ +\xdf<\x1fB\xfc1\xe4\x1f\xedC\xde\x17\xf7\x86}\xa7\ +\xd4k\xf4\xa2;7\xb4b \x13w\x8e\x08\xa4!\x90\ +T\x90\xa9\x8e\xbcln1T\xe1\xdf91lE\x9a\ +\xaa\xb7;\xcfG\x1c\x0e\x12y\xf5\xa5\x22\xcf?\xc9x\ +a\xe2\x8a\x18W\xd7\x9bqY\xf9\xafZ\x09\xae\x5cH\ +b-\x9e?\x9f\xec\xfc\xc7SJ88\x0c\xce\xdd\xac\ +\xc9\xa6%\x98\x15\x90 \xd2\xb4\xd0\xe1.P\xa9\xe6\x17\ +\xe4\xbe\x5c$\xba]!\xaaHh\xed\x17\xd8\xf9!\x02\ +\xbe\x11\xb6:\x17\xb3\xe0[q\x17\x95\x88l\xd9\xac\x8a\ +;\x84lr\xddT\x02#\x11]\xf6\xa1\x22%Uq\ +\xb7\xaff\x1c@\x1d\xa6Z\xf8z\xb2F\xf2\x80\x99\x10\ +!\xfbW\xa4\x89\xb8V\x04\xf6Tf \xdb\xb4\x14\x92\ +[\x14W\x7f(li\xd5\x1b\xbe\x1c\xd6~\xfe\x99\xb0\ +e\xbe\xed\x9b\xf4\xaf\x0fZ\x05B\x97\x9cj\xaa\xf3\xc6\ +u\x9d\x95\xee5G\xe7\xec\x1c\xe8\x0f'\x09\x19]\xf1\ + \x1b\xb9\xce\xaag\x0e\xdbh|\xf7\x1bKOH\x91\ +\xa5`\x91FFC&\xe5\x113\x0b\xe7\xe6\xd9\x9bg\ +\x05\xdb\xe5\x9e\x87OV\x07\x94\x83\xc4FV=x*\ +R\x0e8\x10\xad\xcf\xe6B\xf3\xe5\xa0!\x13\xc8\x91\xcd\ +\x8c\xee\xb4\xc1?o%[\x86\x15\xb9\x0f\x089\xe6W\ +H\xd2\xbcd\xdb]\x05\xd0\xbb!m^\xfb\x00\xdf\xf5\ +\xa8Ps\x94{\x99\xba\xde\xf1\xef\xd9\xd8\xf5\xc6bs\ +\xd7\x03\x92\xba\xcd\xf5y*\x15\x02?\x995\x8e\xe6\x85\ +\xf2\xbe9\xc8] T\xe3+\x80?lw\xc0]\xdf\ +\xf7?\xbfx\x05\xa6\x12\x05\xbbe\xb9\xbaJ\xde\x0a\xca\ +>;F\xc6M\xa0a\x9c/\x93\x8e\xbb\xc0F\x00\xdd\ +\xf5\xfe\x96\xcc\x1aG\x80\xa3\xcba\xfa^B\xbb\xb0\xaf\ +_x\xee\x0d+y\xa9\xec\xedi\xee\xc0\xc4\xbe)C\ +\x5c\x89\x17\xef\xfb\xda\x84\xdc\xa9\xacef\xbb\x9e\x97\xe7\ + \xc0r\xff?\xde\xcd\x01q\x80J\x02G\xdd8\xd9\ +x\xcd\x17P\xee\xa3\xb2\xb2.\xa1d\x1c\x04\x80C\xc9\ +\x05\xce\xc8\x05*\x10\x10?*\xa7\x1c?\xf3\xd2\xf3\x92\ +`\xe9\x11\x1f\x92\x14\x17-\xce\x84\x199\xa1buh\ +&\x16\xae\xd69\x92\xae\xd3<\xeb9&\x042\x9e\xa3\ +\x8d\x5c\x80\x96\x95\xab\xcd\xf5\xc2V\xfb\xc4?\x84M\xc8\ +\x8d\xd9A\xbeF\x06\xca>W`g\x1dX\x17 g\ +=\xf9\xa6\xe7\xfb\xd5\x5cg;9\x8e\x90? \xbf\x12\ +\x16\xf4m\xc9\xed\x90\xd5\xd2\xcb+\x01\xa17\xf0\xc4\x1c\ +o\x8e\xbeu\xd6\xb7\xca\x18/\xf3\x9e\x0a\x84\xf1p`\ +\x9b'\x12D\xd6M\xbf\x1f\xd9\xa7\x04\x86\x1cr\xd7K\ +N\x10\x14\x15D\xff\xeaa\xabJmO\xe2\xa7\x82\x0f\ +a\xe2\xf7\x91\xf9\xe5:(rF?\xf7\xf9}\xe2@\ +&\xdc\xb9!Q\xe5\xf3\xac\xff\xaee\xa7\xee\x8f\x03\x83\ +C$[_j\x5c\xac\xcf\x9e\xd3D`\x99\xfbi\xed\ +\x83\x17)2\xcby\x1eH\x10\x9b/\x9e\x9f\xca\xbfu\ +\xed\xf9\x99\xe7\xa0\xb9\xa0\xe6\xf6\x03\xf2S\x1c\x19$t\ +K\xc2r\xfe\xdc\xabw\x88\x15\xf7k\xdd\xe3\x94I6\ +\xeab\xa3O\xc8c\xe9\xce\xdf&\xb9.\xfc\x9dy\x08\ +q\x97\x8ee9\xaa\x09\xa1\x86 \xc3a\xe0{\xfa\xe2\ +\xdbw\x86-\x81\xd7\xe4\xdf\x8c+\xb2\xba\xd4\x1fW\xa1\ +\xd6*P:\xc9\xb9OVK\x07\xc7\x0c\xb9\x17\x88\xb8\ +\xd6\x85,(\x14\xc7PV\x14\x0b\xc9\x01\x91\x90\x95\xfe\ +\x9aOd\x8b\xd3o\xd8<\x22l\xe5\x18C\xe4\x81T\ +\xdb\x97\xcd\x1b\xf3HeZ\x05\x9d*\x84\x0a\x17\xc8p\ +\xb64BV\x16\x09\x97\xc4\xac\xc2\x01\xb26\xf3\xbaW\ +]\xc1Q\x91\x15\x9e\xfayBFUR\x8b\xdc\xea\x90\ +\xb0UkH&\xf0\xb6\xcf\x0c[\xdd\x0fD\x06\xf9,\ +\xfb_\x9ek\x02\xa6r\xc0\xed\x83\xd9Z!p\xab\xd6\ +\xcd\xcb\x15\xd9\xef\xbc. \xb0\xec\x0f\x17\x0f[\x05\xfa\ +\xc9Iq@\x0b\x97\x04\xaf\xc0\x0at\x16BU\xa2(\ +U\x0f6\x1f\x0d[!F\xf2\xbe .+\x10\x00M\ +N\x96\xf5\x82d_\xac\xd9\xc5\x97\x04\x12\xd6u\xbd\xda\ +\xd3\xae}\x95\x89\xad\xfd\xfb\xd1\xdb;\x91\xf0}i\xc5\ +\xde\xff\xcb\xcd\xae\x91\xc8\x81v\x1d\x81/\x08\x84\xc1p\ +d\x06\x9eGf\xe5\x9f\xbf\xe0\xdc\xe5\xc7\xbc/\xc7\xfb\ +k3\x19\xe2\xf9\x1fo\xf6\x89I\x8d\xe6\xa5\x93\x1a\xcd\ +\xf9\x93@\xee\x9e\xcd\x8f6?\xde\xfch\xd5j\x98\xe7\ +\x80\x82\xc5\xe6\xff\x86\xb5\xe7|\xff\xb0e\xdc\x86\xb3\xc3\ +\xda1{\xca\xfe\x07\xedo\xebg\xe7w\x9b\xfd\xceD\ +\xe6\xf8'\xc3\x9f,,\xe2\x9b/g\x0b\x10\xbf#\x0b\ +*\xdb\xff\x1e\xd6~\xff\xc1\xcdZ`\xb4\xf3\xfba\x13\ +\xe4\xf9\xfd\x01y\xde\xfb\x94\xbdO\xdd\xfb\xd4\xe9\xfc\x9d\ +\x10L\xc3#g\x92\xc8\xe2\xf6H\xa4\xf0\xd4rp\x97\ +\xf6\xfa\x7f\xc3V\xdc\x15\xe6O\xb2\xb3\xeb\xbd\xde~b\ +\xfb\xc9\x80\xfa\x8f'\x85\xadz\xba3@*\x92@$\ +\xa4\xd9B\xb0\xbd\xf1\xf6F\xdb\x1bM\x95\xf1\x89\xebc\ +\xff\xb7\x02\x8b\xd0>\xf7\x89aS\x02\xe5\x94H\xa0T\ +b\x95\x1c\xa1\xe7O} \xc9[\x0b\xe1\x99\xfbC\x91\ +\xf6fKV\xcd\xe3\xdc\x8f\xaa7>\xb9P\xaa\xb5L\ +`K.4[^\x86\x0f\x86-\xfb\xe0\xce\xa3\xc2\x96\ +\xb8\xa8Z\x952\x00\x1e\xf7\x87\xad\x02b\xeb,+\xc5\ +\xb5\x8f)h\xe5\xf5Nr\x85\x7f\xba\xf2\x83\x90\x01j\ +\xd1\xe2\x07\xf6\x85;_~~\xb1\x22\xd1>z\xfa\x7f\ +\xeb\xd6\xfdI\x94\xf2? \xbcN\x0d\x9b\xe2\xbff\xab\ +\xf7\xe1\x0f8?%R|\xe5\xfb\xd5}\xe4\xfeP\xfb\ +\xb7\x16,\xfb)\xbf_k\x99\x049\xce\x98\xac\xf4W\ +\x0b\xd4\xed\xc2V\xad\x88\xfc\xb0\x94\x1fm\xeb\xa2\xd9\xd2\ +\xc22\xdc6l\x85\x88\xca\xc4\xb6\x96\x81\x92\x8b\x94\xe0\ +G\xb2\x0b9qb\xd8\x12oTk\x87\xc2\x88\xe7\xa9\ +`\x00\xf9\x0e\xd9\x81\xf3A\x81\x22\x13\xe6\xd4I\xc6\xe3\ +\xc2\xda\xff\xbfp\xb2=\xfb\xa6\xc0\xfe\x0f\x97@g8\ +8lu\x83\x09a\xdb\xd5\x93~\xcc*\x83E\xd7\xfa\ +\xf4\xb0U\xcf\xe3\xbf\x86\xb5\xd7o\x87\xb5\x0f\xbed\xd8\ +\xea`~B\xd8\x0az\xc1\x01=1\x1f\xf8\x91\x9d\xa3\ +\xc5\x91\xe58#\x93xG\xd8j\xe2\xea\xfdH\x07d\ +\xfcx\x1e\xf4_\xc9\x00h\xe9\xe1\x9c\x02\xa0\xcd\x1dg\ +\xb9\x1c\x10\x9f\xe1\xaaa+9\x90\xbeB\xbe\x04\xaa\xf3\ +\xfb\x09\xe4\x8a\xdd\xbe\x93\xbd\x12X/r_\xb3ce\ +\x02\x088\x04h\x1c@\xef#\x83\xd6\x07\xd2\x07u$\ +k\x16\x9aqR\x19\xb8H&F,\xd8\xa5\xc25;\ +\x0a]\x0fd}\xaf\x07\xdd\xfb\xa9\x9c\x5c*lE\xf6\ +wT:>W\xee\x10\x12^9\xfa\xe4\xc9T\xdc\xdc\ +O\x9f\x00p\x9d\xcb\xfd\xcc\x8e\x0f\x07\xa2GR\x5c\xa6\ +\xc8\xfbv\xf5\xf0WE\xc5\xcf\x91?JXas\xe7\ +\xc0\xbc*\x1d\xb3\xaf\xa7\xbe\xe9C\xc2&\x07~\xde\xb0\ +\xbe\x9b\xcf\xe1\xba\x09!\xc2Fl\xc1q\x90\xfe%\x1d\ +\xf4\x9cw\xf5\xbc9\x88}+\x85\x8a\x90y\x22`X\ +T$\xe6y\xd7'4\xfaW\x81\xc9\x02q\x9e7<\ +\xad\x22\x1c\x8b\x1e\x0am~\x9bg\xe6\xe5Q\xf9\xf9I\ +\xdeY\x90\xfdN\xc6\xad6~\x01\xb1\x1eC\xb2S\x1c\ +X\x094\x1b\xbb\xebv=\xfe\xdf|\xebH\x15\xeb\xfa\ +]_\x7fpZ\xffzhU\x88o\x90\x99\xd6+v\ +\xdc\x17\xc6K\xa5\xce\xc1\xad\x22\xee\xb9x\x0e\xe4l\x90\ +\x8b\x0a\x1c\xacG\xad>\xb86r\x7f\xa8\x0c\xb0\x83\xcc\ +\x97u\xe0>>\x97\xac\xb9\xd6\x05\xe8?\xe8\xb7\xe7/\ +\x81\x04\xd1\xd2;\xd6\xc6G\x85\xf0\xf2aS\x0f\xdc\x1c\ +\xf8\xe8\x91\xc7.\xdf\x91F\x1ePYv\xf0H\xd08\ +H\x05\xbc\xae\xcf\xfb\x18/l\xb9\x12\x08\xb8\x05\x1c\xa4\ +\xdeGbS\xcb\x83\x80\x16\xb2\x0a\xb9\xa4\xf1R\xe9\xee\ ++\xf7\xe6\x95\xc0\xbak\xd1)\x92D\x9f\x03\x8am\xff\ +4\xcf\x8c\xa3})\xd7o\xc9\xaaI\x18\xf9=\xbd\xf3\ +d|\xec_^\x9d7\x12Y\x12\xd5\xe6?\xf6z\xf3\ +\x80\x83\xc6\xf1\x95h\xb4\xdfH\xf4e\xc5\xbd\xce\x0d\x89\ +z\x15q\xe3\x9b\x0e\x96\xf9S\x9c\x02\xc8\x87\xfc\xdc9\ +\xea\xb9\xa9,e@\x5c\xb2ww\x0b[\xc9\x91\xaa\x5c\ +Z\x9f\xa0\x98\xd9\x8bn\xbc\xb7\xef\x09[\xfc\x81\x0a\xf4\ +\xa9\xd9&\xc7I\x05b\xd6\xaf\x16\x9cl\xc1*d\xa2\ +^J\xebR\xef4\x07*Y\xfek<=O\xf3\x15\ +\x9b\xbdV\x87LLT\x81\xe2\xfc\xb0Ub\x80\x03\x9f\ +=\xf2\xa0\x9f*e\xc5)@\x7f\xdc\xfa\xb4\xff9\xcf\ +\xf2\x9c(\xce%\xc8!dM\x0a(\xd6\x89\xf9\x06\xf1\ +'\x91\x85e\xbbC\xe8U\xa5\xff\xa5\xf3u\x8f\x97\x99\ +{B\xeb\xfc&[H\xdd(\xf5\xd0\x87\xb7\x85\xb5\xbf\ +\x7fT\xd8\x92H)Y\xaf\x94\xf9\xaa}Z\xcf\xbcD\ +\xc2\xa7\xc3&Y\xc0f+\xfd\xeet\xb4\xabu\x22\x11\ +;\xd5\xeaul\x87\xb8\x92\xe0\xeae\x8b\xf9'Z`\ +\xb2u\xa4\xe6\xad\x16\xb2\x9b\xce\x1cN\xe5Ov-1\ +\x10\xa1\x10\xaf\xdb\xbf\xdf\xbew\x9a\x97/\xdb\xfcMT\ +\x98\xb7\x97\x0f[Ayq\x1d%\x99\xdb\xf8\xeba\xed\ +\xb8\xfbFX\x92\xd9=u\x81\xd6V\x0b@\x90\xfb5\ +\x07|\xe7\xf7Z@\xfc{\xed\xe7\xe7\x0f\xfb\x87\xf3\x93\ +\x1c\xef\xb1SBn\x86\x12g\xa5\xbe\xe6\x97\xfd\x5c\xe2\ +#\xc7o\xe7\x01ay=\x17\x9e\xd6\xe5\xdc\xb3\xfc\x81\ +\xb0v\xdd\xa7\x86\xb5\xd7K\xefm\xd6^?\xb9yj\ +\x5c\xcf\xe6\xb4\xcd37\xa7-\xa4q\xf61\x89\xff\xe1\ +;a\xed\xfd\xdf\xb8\xf3\xa6\x9d7\xb6\xd7'\xef\x09\xe5\xff\x8fL\xd4\xe6y\xb5sB\xd8\x12 b\ +W\x1f\x0f\x0d[*\xb881\xaa \x94l\xeau.\ +%\xfb\x7f\xa9\x90\xbcbn\x89\xa9\x84\xd5\xd7\xab\x80:\ +'\xd6 \xc7\x04\xc6\xce\x7f\xe7J~\xfex\x85\xb0\x15\ +\xb9c&2\xb7\x9f\x0c[\xf9\xbbZ\x9a\xb3\xc7\xbd\x10\ +\xab\xceq\x9c\x04\xceK\x90\xfbS\xc6\x07M\xfb\xb5\x04\ +e\x22\x8a6\xaf\xccu`\xdf\x1c\xbbV\x1d\x09\xc7\x1e\ +9\xa7\x10\xa2\xd0\x221\xce\xaf\xa2\x92\xe4\x1c\xce@8\ +\xc4CC>\xb4Z\xa9\x1e\x18\xb6\xf2\xf3p\xb1]\xaa\ ++|\xf0{$Z\xb5\xdc\xe6\xfeZ\xf7\xeb\xba\x15L\ +\x05\xd4\x0a'Z\xab\xb2\xa2>^;l\xa56\x91\xeb\ +F\xa2\x8d\x9ca\x15\x16\xec\x9b\x12O\x7f\x1b\xd6^O\ +\x0d[!-\xb5\xe5\x86\ +R\x07\x15\x04i\xb8g\xd8\xaa\x07\xd1\x031\xe1\xc9u\ +e%\xaf \x0c&\x96\x0c\x10\x9dE\x01\xba\xccyB\ +\xfdJ\xf71\x07|s\xaf6\x93\xd2TF\ +\x0b\xd4\x05I\x8d\x0d\xe6\x88\xb0\xd5D\xb5p\x04\x0c\x97\ +Jhy\xb2\xbf\x96\x03*\x90\xef\x039\x81\x95\x05n\ +!\x80.\xab,\xf5=\xb4\x02\xf1\x1e\xa2i\xe2\xfb\x5c\ +\xdfs|\xf5\xe4p\xd0\xaf\x96\x07l\xcf\xaa}\xe1N\ +\x0e\x8bCk\xbc\xf7\xe5\xf7\x99\x88\xa8\x0d\x86\xa3\xd7\xb3\ +T\x0bL8\xf4\x02\x09\x95\x1b\x15A\x07\xb3JU\xd7\ +Jq\x80\x9c\x1e$F\x0fI\xbeL\xc7\xa9\xd0\xb7,\ +\xf8{\x0eT\xea\xac\x17T\x9f\x03\x05\x92\x03z\x9b\x95\ +\x93J\x10x~\xc6\xdfs\xfdjn\x18*6\xde'\ +!9\xe5\xb0\xf4\xec\xf9\x02F\xf3\xff\x90z\x1e\x12K\ +\x12+sEE\xe5T\x00\xd9\xb7\xa0\xf4\xad$\xd7N\ +\x08\xda\xe5s\xde{^*n6\x1c\x7fo^H\xac\ +\x98\xbf\xa96P\x95\x19\x81\x8b\xe7\xdc\xb7r\x5c\xa0\x10\ +\x01\xbb\xe7\xad@\xa8W)\xf0y\xae\x1f\xe9\xdb\x22\xab\ +\x89\xc5y\x97*\x00(~\xf5\x5c[\xa7\x0eV\x09B\ +\xf7\x07Ji\x1c\xcc\x9fN\xfe\xae\x02'\x81e/\x93\ +\xd8\xabu@\x94p\xd8\xae\x99\x81\x86\x8ae\x06P\xe3\ +_$\xbb0\xc4T\xdfb 0\xf19\xa0}2\xd8\ +\x1cC\x01\xdd\xa2\xea0\x07j\x10\x16\xd6\xc7!E\x82\ +8?\x17=\xa5\x02\x00\x81\x1dH\xdaBR\xba\xbbe\ +\xe9\x17\xb1\xf5\x0b\xf0\xfbu\x8b\xcbDK\x80\xf5.\x90\ +\x158x\xed\x910 \xc88\x1e\xcc7\x95\xe0\x8ek\ +\xa0\xae\x0f2\xc0\xbe\xd9\xc9\xbd\xd5\xf3r\xf0\xab\xa4\xba\ +>\xf7\xe5|)5\x8c\xbcO\x0e\x86\xca\x81\xf5\xe1\xfb\ +tH\x8a\xa4O\xc0\x82\x5c6e\x9a*\x11!!b\ +\x7f&\x0f\xe5z9Z\xe6\x1f\x84\x80\x04\x97\x80_\xe5\ +\xc0\xfcH\x87\xaf\xde\xd7\xb8q\xacT\xd4\x04\x96\x9eK\ +\x87\xb8(\xae\x13\x10E\xeb\x9c\xc3\xa4\xa5\xa9G*\xe5\ +<(\xc4\x02v\xe9t\x90Ad\x83Rw\x22\xd5\xc5\ +\x92O\x7f]\x85\xd6\x97}\xc29a\x5c\xb3\xd7\xbb*\ +\xbdY@\xc0B\x1dLD\xc1E4\x1e\x1d\xb6jU\ +\xc0.m\xbf3\xbe\xce\x01\xe73\xf9.\xd0r\xdfK\ +\xc8\xeb\xdd\xa7\x16\xe0\xdcH\x96\xed\xea\xb1\xa4\x1a\x22\xf1\ +d|\xb2rX\x89g\xd7An\x14\x04Y\xc0 \xb1\ +\xcco\x90P\xb0\x1fr\x18U\xb4\x12\xd2\xba\xfd\xc1\xf6\ +\x9c\xed9I\x02{\xadUA\x06\x92\x04\xb2E \x93\ +\xe4\xb5\xc3\x1d\xc3Vd\xa5\xc8O\xd3\xe1\xdc<&l\ +\x95\xb0 \x8b\x98\x05\x17H\xb2\xf1\x85a\xab\xf1\xb1\x9e\ +O\xda\x8d\xbc\xacu&\x01\xc6\xef1\xaf\xec\x8b\xd61\ +\xbf)\x9f\xa7Df9\xe4?\xc8\x0a\xde?g\xa2\xc0\ +\xb9\xe4|\xe0\xa7\xdd>\xd7\xc7\xa3\xb2\xb2\x9c\xa4\x85\x9b\ +\xbd\x9b\xed\xc4r\xff\xb5fg%\x99\xe4\xffY\xaeg\ +8\xbd\xd9\x8a\xd4kB\xc2\xfcG\xfa\x05?\x98X\xfb\ +'\xd94*\x02\xc3\xe1\xc3\x11\xd1\xcb=|$l\x22\ +\x13\x9c[\x04\xee\x15\xb6\xf2\x1b\xf8=\x9e{\xdew0\ +g\x05w\x16Y\xbb\x82\xfe\xf2\xcb<\x87$\xe9\xde^\ +y\xe6\xd8\xd8\xdep\xef\xb1{\xc3\x9f\xfcJ\xd8Jo\ +<{\xde\xad\xcb\x9dsw\xce\xdb\x095\x82\xab\xcd\xd0\ +\xf2\xf1\xa5\xe3K\xc6\x97\xac\xe4\xd2\xb48\x82h\x0b\x5c\ +\xde;\xdf\xff\xf0\xee\xb0\xf6\xf77\x0dk?\xdf\x09[\ +\xe4F\xab\x93\xf1\xfda\xed\xf5\xe4\xb0\xf6~G\x85-\ +$p\xdb\xbf\x0bk\xbf\xff\xe3\xb0U\x05\xf5v\x93\xcd\ +\xf3\xfd'\x09\xb9\x0f2\xbb+\xb5y{\xa5U\x5cb\ +?\xce\x00\xb8\x02_\x08L\xfe\xd4\x1d\xc2\xdav{\x9b\ +\xb0\x09\xf11!\x8d7o\x0f[!\xd1\xd2\xcf\xdb\xb9\ +B\xd8Bj^\xfb\x9eJ.\xb5\x15-3y^T\ +\x81\xc0y\xa3\xe2N\xd6\x0e\x92\x88l0?\xb5'\xbb\ +\xce\xd6\x94\xe1aa+\x155\xe7v\x22\xa0\xb6\x07\x85\ +-qS\x05\x868\xd7@\xfa]/\xb2\xbf$s/\ +R\xbaL\xdc\xd6y\xc1\xef\xcd\x84a\x9d\xbb\xfd\xfe\xdf\ +'\xe0\x97\xc2\xd0nN!~\xb9\xfd !\xf3\x9b\xbb\ +\x84\xad\xfc4~]\xee\xab\xc5i\xe2s\xbd\xdf\xa1\x1d\ +\x07\x18D\xa5/\xcf\x9f\x1f\x9f\xfe(\x15\x02$\xa9\x10\ +6\xd5B\x81\xdb'\xcf\xa9\x22\x05\x96\x00\x82\xfc\xcd\xb8\ +\xb5T\x10 \xcc\x9c\xab \xfa\x99h\xad\x82\xa0q1\ +o\xf9\xc3\x12\xf6~O\x00\x1fd\x99o[\xc9\x00\x8a\ +W\x93\x14\xbb\x10%\x90\x83\xd6\xafV\x0a\x08?\xa4\xff\ +\xf9~\xfb\xb6\xa7\xcc\xba\xa6\x95yU\xa9\x91iU\x91\ +3\x91\x924\xb0\x0e\x94dO\xae\x03?eu6O\ +\x0e[\xc9M\xe8\xf9X \xac3\x89\x152\x12\x90>\ +*\x02\x10\x03zy\x91E\x80f\xe9q\x01\xd9K\xdd\ +\xcc\xea\xdd\x11h\xea\xed:#e\x97N\xcb\xd6\x02\xe4\ +/\x97\x19/;F\x8f\xd3\xadf\xf9\x94\xb6\x89\xce\xbd\ +m2\xf1\x1cB\x01@\x06$\x93\x5c\xcc\x8fVP\xf1\ +\xb3\xd2A2\xc1As9\xec&\xac\x03\xae\x0f\xf0s\ +B\x94|\x0f\x87\xd6D\x91\x01\xb3\x00\xfd\xbc\x83\x0aW\ +\xcf{\xdf\x8b\xcb1\xe4\x80\xf7P\xd1\x9e<\xce\x02\xae\ +\x92n\xde\x97\x1e\xf3_ \x07\xe7\xf36'e\xe0\x8a\ +\x84Q\xa6\xad\x97\xe1\xeb\xc9\xec\x04**\x7f*\x1e\xae\ +\x0b)a/\xe3g\xe3\xc1\x9e\xfd\xd5\xb0]\xea\x09\xf3\ +\xf8\x9b\xe7\x1c\x02\xaf\xe6I:\xb0\xcd\xe9\x9eI\x22\xcf\ +\xce\x00_\xab\x84\xe7hc\xfc\x5c:\xf0\x7f\x9f\xd0$\ +\xcfI\xe5\xa9\x0fxz\xa8\xb2\xf5%\xf0\xcf\xc4K9\ +\x8e\xd6c_\xf1\xfdE*\x06*\xd1\x9eG\x0f\x9d\xbe\ +b\xb5\xaa\xcc\x7fo~\x08\xc4\x04D\x0b\xe4Ret\ +v\xa4lT\x9e\xff\xc5:\x92\xc8\xe4Ph\xc7\xfa\xac\ +Zp\xcd\x84\xfa\x99?\xd6e\xf6\xb6n\xbc\xdfu3\ +q\xe1\xf3q1\xf0 \x90O\xdd({\xc5\xff)7\ +V\x07\xaa\xeb\xd7\xdb)p\xe1hr\xe8UP{\xee\ +\x8d\x9bgb\xf0J\xb9N\x5c\xc7\xd1\x93\xce\xc2\x92(\ +\x80\xacY\x10Ks\xa0\x22\xf04\x1eOOr\x1a\xba\ +\xd4\xe4\xcd\xb0\x0e\x0b\xb0\x04$\x0e(\xec\xc4\x9e\x8f\xdf\ +\xeb\xa0\x97E\x96w\xed\x5c6\xac\ +\xdd\xe6\x1d\xc3\xda\xeb\xde\xb0\xf6\xf3g\x87\xb5\xf7\x9f\xbe\ +V\xf1@\xae#\x15P\x89\xa6=\xef\xd8\xf3\xceIw\ +\xfe\x09\xe3\xff\x0e\x04\xb1\xca-5\xb2b\xf9W\xc9%\ +\xafl\x1f\xd7\xe2\x99H\xd6\xbdWO\xae\x82Go\xff\ +b\xfb\x17\xab\xf5F\x0d#\x9f\xcb\xceE\xc3\xda\xf5>\ +(l\x85\x88Q\xe8\xa2\x92\xf1\xb4\xb0\x95\xac\xa0s\x9b\ +\x9fO\x1e\x18{\xbd\xc0\xd6>\xef\xb9\x9b\xe7\xe6\x1d\xe8\ +{\xb6$\x0d\xc7\x87eB\xfcr\x89\x8cz\xfcJ\x1e\ +R!D\xc1)\x13\xbfH\xaa+\x80\xbc\xe9x\xb3\xf1\ +f\x0b\xb2\x85\x9c#\xb2\xbb\xea\x99\x7f]\xaa\x88\xdc3\ +e^%L\x9d\x9b\xbdls\xcf\xfd\xd5\xc7;\x90\xba\ +IR\xb8\xe7\x0d{^\x1f\xb2\x8a\x93\xff\x15\xea3/\ +\x99\x13QH\xfe$\xba\xc6\xdf\x0a[\x10\x1fuN\xe0\ +f\xc0\x9eo]\xe6\xf9W\x5cp8\x83\xf8\xfb\xb8\x1b\ +p\x0fX\x97\x12\xdeI\x96[\xf1&\xee/\xfb\x0f\x84\ +\x14.\x08\x05F\xc8\x83;N\xb6<\x0f\x89\xf9\xf4C\ +JUE\xbce_\xe4\xc7(t!c|\xd6d\x0b\ +\x09\xe15\xc2&\x7f3\xac\x12|\xe5\x07K@@\xc8\ +\xe0\xbe\xc9\xb8b\x1f\x07p|\xc3\xccR\xb9\xbdS\xd8\ +4\xf1wC\x95s\x01U\x0fAV\x026w\x98\xa1\ +\x06\x9b\xbbd\x22\x00\xfb\x22\xf2\x9e\x0b\x04\x0f\xe8*\xa3\ +\xe3\xfdl|t\x833\xf31~{\x1e\xd0q\x7f\xf6\ +\x1c&\xdb8\xe8`s:g\x07\xe3%a\xed\xf5g\ +a+\x9d\xde\xc7\x85\xad6j\x90Oj\x02t\x82O\ +M\x16\xcf\xd7fo\xcf\x7f\x09[H\x81\xca\xc1?\xbc\ +#e\x13\x08\xca$}5+\xc5\x1cj\x99j\x10\xd6\ +kdE\xac\x87\x86\xf6\x81uw\x00\x14K%\xe8\xbc\ +\x0a\x91qsPp\x04\xfb\x8az\xd7\x1b^\x8e/\x07\ +Z\xa5m\xc9\xc8\xcf\x8e\x87\x00\x80C\xba\x90\xfd\xed\xae\ +\xa8\x19\x0f\x9f\x97\x7f\xbf\xb9Z\x06\xfe\xd7\xc9\x00@o\ +\xaa\x8a\x13\xf6x,\xe5\x1d\x17\xc0\xe6\x92\xd9b \x80\ +\xed*\x84\xd5z\xe1\xd5\xf8\xc9\xa4I\xd4\xf4\x15\x84\x1f\ +U\xe0>\xcf\xbf>\xa0G\xd6\x96\x15\xb0\xf1\xecy\xfc\ +\xdb&0W&l\x0880R\xf6\xa8\xc8\xab2c\ +X\x15V\x1c\x13\xee\xc3\xf3\xf0\xfc\x04\xfe\x9eO\xf5X\ +%\x19\xd5q\x19\xc0\x08pz\x07<9\x106\xc7f\ +\xc5\xee\xe4\x0c\x98\x16\x8e\x84\xdd\x01~G\xa2V\xff\xef\ +\xf9\xf7l\xf0Z\x00.\x9e\xd7ic'\xbbg]t\ +\xbdQ\xed\xea\xe7\x00Q%ZES \x8a\xd4\xd1\xb8\ +\x5c#3\xa5\xae\xcf\x01\x22A\xe3\ +\xbe\x05\xac~n\x1c\xc9\x10\xea\x19\xe7\xa0{U\x89G\ +b\xc7\xf1H\xe8\xe1\xe6!a\xab\xf9\x0b!\x00Rn\ +\xff\xcb\xf95\x82\xc6\xf9\xfb\x84\xd6\xd6\xe7\xe1n\xc8\xca\ +I\x0b\x1ff\xe8\xb1\xf5\x8f\x84\xc8u!\x11\xf3\xdc\x1d\ +@\xf6+\x8e6$\x82\xe7)0\xee\xc9\xf8\xecC\xd6\ +\x8d\x8aZOR\xd7\xa9\x95\x94\xec\x1f6\xf9^&\xb2\ +'\xb34\x1f2\x10\xe2\xb8\xd7:\x90X\xb1\xff\x98\xe7\ +\x028\x90`\xeb\x11\xf2\xcb\xf3\x05!\xd5\x8b\xda\xabc\ +\xa8\xb0[\x1f\x1cq\xbd\xe37\x99\xd9\xb9k\xdd\xa7\x9e\ +tA\xda9\x069\xbe\xe4z\xca\x91\xb5.TvU\ +\xa8\xae\xc6\xfbMa\x0b\xcbq!\x10q\ +V\x9c\x13\xb6\x82H\xde)l\x05\x1du\x1d*O\x0f\ +\x0e[d\xa2j\xbej\x91p\x1f*\xae\xe6\x93\x80\xfb\ +\xac\xb0\xf6\xf3\xdb\x85\xb5\xd7\xef\x86\xad\xf6\x03\x1cB\xb8\ +yN\x0b[\xb5\x1aA\x8a\xe4}r\xac\x8bL\x11i\ +b\xees\x1c\xf4j\xb9\x94\xc0N\xd9\xd1\xba\xae\x94\xd5\ +\x22cU\x5cKy\xdf\xc5\x96\x8f\xc3!\xa1\xd6\x85\xec\ +\xccJ\x7f\xf9eIFV\xf3*\xe5\xc9B\xcc9\xe4\ +\x9c\xab5\xb0G\x06J\x94H\xc0rl\xedg\xe6\xb7\ +}\xdd\xbe\xe4\xfc\xf6e?\xe7'I\xc8\xe1|\xc1e\ +C\x8eSO\xadV>j\x02\x99\xe0\xd5\xf2\x15\x22\x97\ +Q9\x138\x22\xfd+\xbf\xc4\xf5\x08x\xf4\xd6K<\ +\x90\xc1\xce\xe74\xb1\xdd_e\xc5Z\xff\x8e\xe1\xed!\ +\xe76\xbc2l\x15\xc8\x19\xa7\xde\x1f\xac\x0d$\xf7\x1b\ +_\xbd\xff\xc8\xff\xd3\xfb\xfe\x98\xb92\x5c\x95\xea\xa8\x1b\ +\xdek\xd9\x9f\x87\x9b\x0f\xb7\x08R\xeb\x9d\x97\x87\xb5\xef\ +\xffz8c8c5?\xceL(\xfa\xd5\x93T\xf0\ +\xe4\x0c,\xf8\xcf\xce\x93\xf4\xbb\xcbO\x8dJ\xea\xc3\x16\ +d\xcbp\xfd\xb0\x89\xccl\x96%\x13\xb0e\x02\x8c\x9e\ +\xf9\xe6)a\xaby\xdc\xa9\x8b\x90\x19\xac\x84\x1f\x95\x91\ +\xf4\x8b\xcb\xbf\xcf\xe7\x8a\xfd\xdd\xbeX\xbd\xfac\xb0\xdc\ +\xad\xc6\x91w\x8a\xe5>U\x00R\xe6\xe6\x12\ +\x1d\x22a\x91\xf5\x9b_eT{h\xaeqr\xdf\xc3\ +\xee\x9e\xf4Z\xd0\xc6G\xc5\xd5\x02\xe1P\xd8X~V\ +r\x86\xf3\xab\xf1\xferfj\x91\xb9\xa4\xaem\xb5H\ +\xd8\x00\xa8\x14\x5c\xb6\xee{\x17\xdb2\xf9\xc2Z7\xc7\ +V\x0b\xc3|\x10^?\x03\xb6\xbe\x92\x89\xb4\xf2\xd8\x84\ +\xcc\xabX\x0b\x00\x97V\x959\xd0<8l\x15\xe0z\ +?\x1b\xb8\xc0\x10w\x07(|/\x97w\x5c%d\xe6\ +\x84\xc5A9\x7fA\x87\xcd\x93_\xeb\xa0\xc3}\xcf}\ +?\xdf\xdd\xf7r=\xc7O\xd7s\xc4\x84\x09Y\xb7\xac\ +\xcc\xefwN\xces\x0e$H\x22\xce\x0f\x15\xd1L \ +\xd2\xb7mA\xef\x9c\x89=&\xe7\xaf\xeb\xbf\xe4\x84\xd5\ +\x89J\xfb\x9c)\xbeQ\x06\xd4\xae\xdb\xbcq\x9d\xee\xab\ +'\xdf\x94\xb0\x00\xe5\xcd}o\xbc\xf5x\xab\xf1Vy\ +_\xc7\xaf*\xfa\xd9+\x5c\x1c(2\xe5\x1fJ\x92\xd3\ +\xef\xcf\x1c+\x91\x9f\x8f\x0c}\x1d\xbc*\xaf\x12Z\x9f\ +N.\x96+$D\xbeO\xb8\xb8\x0f\x0e\x96\xbf\xb7\x1e\ +\x05\xda\xd6\xad\x00\xde|\x92A\x07\xed\xb7?\x98\x1f\x0e\ +\xfa\x9e\xab\xc5>\xeasz\xf9@\xaf\xfe\xce\xf3\x17\x08\ +J(iq\x90\xb80~\xf6\x17\xfb\x81\x84e\xfe}\ +\x05X\x90\x5c\xee\x1f$NB\xc1\xfbI\xc0\xd9WT\ +\xe6\x05\xca\xd6\x7f\x9f\xb0T\xc1H\xce\x9c\x0a\x149\xb6\ +\x9e\xab}R\x22\x5c@\x22\xe0\xf5\xbe*\x06\xaeK&\ +_\xe2\x1c\xa2\x0e\xb9\xab\xe7\xe19\xe8\xe9L\x99\xb3\x0a\ +\xd8p:\xf4-H\x12;\x10\x1a7\xcb\x1ej\x9f\xef\ +z\xec\x1b=\x17\x85\xfd\xd2\xf8\xf2#\x8c/\x07\xc7:\ +\xe2@\xa9dt\x01q\x91f\xe5\xf8W\xcf2\xb5\x81\ +^\xcf\xde\xfe\x8f\x0c\xee\xada\xedX9+l\xf1[\ +\xa8\x18\xd5\xfa\xc5\x96\x9c\x15z\xf7\x815\xbed\x89\x9d\ +\x17\xce\xbb|\x1e\xc5I\xa0EJ\xa0\xfe\xefaK\x8f\ +y%\x92\x04\xbe\xe9P\xf2;J\xed\xc0<\xf5\xfc\xb2\ +RW-\x8d\xb8\x0a\xde\x15\xb6\x82~\xdb\x87\xc8\x1cf\ +\xaf=\xb6\xfd\xe1O\xc3\xdax\x5c/l\x09\x806?\ +\x09[%\xaa\x8cg\xb2\x8fWk\x0ah\xf9\x11a\xab\ +D\xab\xf3([(\xbcO\xf9{\xe6\x15D\x00\x88\xaf\ +\x04\xa0\xfd%\x03\xa8\x22\xaf3\xde\xceo\xf3\xcbs\xb3\ +\xaf\xf5*4\xe6\xb3\x04SBu\xa9A\x848\xf4$\ +\x0f\xad\xf2\x96\xf3\x0e\xe2\xa1 \xf97\xdfs\x8b@\x94\ +l\x1f\xb1\xfd\x93\xed#&?\xf6'\x93\xa3\xad\xc2\x8f\ +T\xefcaK\xc5\x0e\x89Y\x84\xfb\xe1`\x0f\x1f\x1c\ +>4\x84\xbfy\x8f\x94;CF\xe6\x1c\xdct\xea>\ +\xff\x7f\xbf\x8c\x93D\xec\xbb\xe6\x04\xf8\xf0\xeclU\xf8\ +\xfa\xe6k\x9b \x87{\x7f\xd8\xd4\xea1\xed\x07\xf1\xbf\ +\xf1\xff\xe3m\xe6@i\xf8\xca\xcc\x12>\x89\xd0}h\ +:wf\x99\xc4\xefeB\xea\xee\xc9\xfd!\x01}\x89\ +\xecM\x7f\xce\xf8\xdc\xe89\x1e\xef7\xdewB\x22\xdc\ +8l\xc5\x8e\x1e\x90\xea\x9f-H\x02\x15o\xfa\xe7\xc3\ +?\x87-\xb71\x5c/,\x112\x1f^%\xd2\xfe)\ +\x13q\xcf\x9b\xf4\xc0\xaa\xd5\xb0*\x9e\xce\x9b\x84\xf0\x97\ +\xcc\x5cr\x8aT\xab\xad\x84\xdb\x7foO\xe6\x1e\xcb\xb9\ +\x87\xc3@\xeb\xe3\xbe{\xec\xbb\xfb\xbe\xbb\xafT\xcb\x5c\ +\xa0u\x9a\xf3\x88\x9a\x83\x96#\x15b\xe3]\x09D\xfe\ +&\xff]e\x1f\xc4\x1c\x22@B\x86_l\x1d\x22c\ +U\x99\xb7\xee\x92Km8mx\xd6\xf0\xaci?\x99\ +\xb9E\x12\xd1T2\x95\x99@\xb6\x0epuPKC\ +:(aY\xa4\xb1O\x9e\x135m\xcf\x9a\x121-\ +\x1a|\xf8\xf8\xf0I-d\x961\xbes&\xe2\xb5\xf0\ + \xcdN\xd5\x8a\xcdM\xd2\x9f\x22{g\x1d[\xb7\x17\ +\xceW=\xf8\xfc\xba$!\xdc\xbc l\x15\xe7x\x0e\ +)\x13?\xfer\xd8\xa2:S\x88q\xe7!\xae\x97\x8c\ +7+\xe1o\x1d\xda\x8f\xb25b\xf3\xe2\xb0\x95\x9a\x00\ +RB\xfb\x0e\xe4\xa3\xd6,\x05<\x89\xd8<\xdfb\x94\ +b\x9cj?\xcf\x04|\x915B(P\xaf@Z\xfd\ +\xc2\xb0\x95\x1f\xc6\xef\x81L\xc8\x16\xa1I^\xf3S\xab\ +\xfdNa\xde8\x9a?\x12\x13\xe2\x1c\x08\xe9\x94\xa5\xdc\ +\x072\xb2yc\xd8\x8a\xcd2\xd4\x01\x0e^d\xab\xda\ +\xb1:W0\x0c,\x87\x8b\x03\xa3\xb2\x01\xd2)\xd3u\ +\xf8\xfc\xf7\xa5\xeb\xf8\xc790\xd8\x1aS\xae\xce\x01W\ +\x0eoBZ&\xa8\xd0\xbe\x05iP\xfa\xa8\xc9\xb2y\ +\x00iJ\xdf\xf3i@\x90c\x98\xa8y\xbd\xe3\x1f%\ +D\x08i\x04rC\xbd\x8e\x0e*=:&\x02\xc7v\ +\xa7\xe4\xe3\xe6\x07f|\x04\x8e\xfb;\x16\xdb>\xa3\xdd\ +\x1fl\x02\xa4E\xc7}w\xaf\xbe\x07\xeb>9@2\ +\xb2*\x12X\xdd\x17\xee\x81\xb9w\xfd?2P\xe6\x90\ +\xfe\xa4\xcb8r(\xdcG\xafB\xb0\xb0\xd4\xce\x13\xdf\ +uZ\xa0\xdf\xceqr \x81\xd0\xffs\xf6\xb6]%\ +\xff^\xe0\x98\xd0\x9d\x16\x86\xcd\x0b\xf2\xa8\x0e\x22\xef\x15\ +r\xc0\xfd\xbb\xaf$sl\xf7\xb7\x1b\x81\xd1\x1f\x90}\ +\xc5\xd2\xf3\x94\xc9\xb30\xbf8\x93d\xed\xf9b\xb5\x00\ +\xcc\x0e\xfb\xf7\xf3\xef\xfeu\xde`Jv\xce\xfb\x0bp\ +\xcc\x17\x09\xa5\xcb\xe6\xfc\xcc\x80\xbf\xe4X$\x0cz\x92\ +>\x10~\xaa\x12*rI\xb2X\x01\xd1\xb5\xb2\xe2\x7f\ +\xe9N\x1f\xbdo\xb1\xe8{\xb0\xbfo^\ +\xf7\xb2z\xe6[&\x16+\x01\x05Z\xcc!q\x80\x1f\ +\x91\xaa\x16\x09\x15\xac\x8d\xf9\x87E\xda7#\x0d^\x91\ +\x09O\xeb$3\xd5\xe5x\xdet\xae\x84\xee99!\ +}\xdf\x08[\x91\xfa\xe9i6\xfe\xe6w/{(\x91\ +t\xc3\x94ST\xa13\x8f\x04\xd6\xf6%\xcf\xd1\x01\x0d\ +! \xa0\xce\x0a-v\xf9\x82P\x93#\xd53i\xdf\ +\xc8\xeb+\xb27\x89(\x9c+\x02\xce\x8e\xf3\xa0\x1c0\ +\x81\x05r\xda\xfe\xfa\xf4rJ\x88$\xb2\xa1\xee\x17\x22\ +\xc0|\xb7.\xec\x7f\x90R\x12[\xf9\xfc\xab\xb7\xb4g\ +\xf3\xef\xcfE\x15\xfd\x84&\x17{~&\xba\x8b\xfc\xc9\ +\xf3\x92\xd1\x97\x00Q\xe1\x178\xaa\x94z\x7fH\x0f\xe3\ +\xed\xb9A\x1c \x9fLN\x93\x1a\x8f$\xc3\xaa\x8a\x93\ +y\x8d\x0c\x10\xbb\x7fB\xc2\xab\x85\x00\x22\x00G@\x8f\ +<\xeb\x12\xd3\xa5B\xd3\xf5(\x8fo\x0c;\x90\xd4\xb7\ +\xb8\x03\xecC*\x1e\x12A\x19`\xd5\xfe\xa1wV\xaf\ +\xb0sR\x05%\xdfg\xfb\xc5\xb0\x05\xf2Z\x8eT&\ + j\xbdf+\xe1\xf6\xb2a\xabJ?d\x01\x95\x11\ +\xeb\xd9}#\x1dNvr\x0e \xe4\x1e\xfdi\x15\xf7\ +\xe1\xa6a\xed\xf7^0Y%\x10\xb7\x87\x85\x1dX\x89\ +.u\x85\xbc\xff:\x0f\x1e1\xd9\x22\xb7\x98\xbd\xbf\x13\ +\xb4\xff\x97V\x01q&R\x8a]\x9d\x0aD\xf6\xc0K\ +\x90\xb6\xbf\x9ez\xfe\x91M\x82\xe0\x96j\x83\xc4G\x92\ +\xc9\x91\xb9\xaa\xf9\xd8\xc9\x8d\xd5\xf9a\xfe\xf6\xdfCj\ +%\x0b|%\x88\xfc\xbd\xd7\xbe\x15\xd1\xfe\xdbA\x8ek\ +\x9f\xc1\x09\xd5U\xc8\x8bs!\xcf\x03\x01\x01\xb2\xb66\ +\xea3GE\x9e\xeb\xa0\xec\xdb\x83\xb7\x07m\x0f\xce\x9e\ +\xe9\xb321\xf4\x1f\xc9\x0d\xf0\xce\xd59t\xc1Y\x1d\ +\xc8\xef\x05@=\x02\xb3r\xfb\xdcO\x1f\xf8[\x7f\x12\ +\x85\xae\xbb\xf7\x17\x7f\xd1\x97\xf7E\x1a\x97\xf3\x06\xe2\x80\ +\x0a\xc7x\xb9\xb0\xf6\xf3\xd7\x85M-IS\xa1m\xf8\ +@\xd8\xaa\xf2y\x9d\xdcg\xb5\x02\xa5\x7f9\xfee\xd8\ +j~\x5c\x1e\xd6^\xaf\x19\x96\xd7\xfd\xaa\xf6\xfa\x85\xb0\xf6\xfa\ +\xb4l\x99xM\xf6\xcc\x07\xf0\xfe\xd1\xd3\xfe\xf0\xd2\xd8\ +\x1f\xc6;\x87\xad\x12\xd5\x0fL\xb2\xc9\xab\xce~\xd5x\ +\x87\x19\x09\xb3\xe7\xb6sa\xc6\xf3-\x926\xb2o\x19\ +\xb8n\x7f=lA \xec{\xe6\xbeg\xec{\xc6\x8a\ +<\xed\x9ea\x0bb\xa7\x12\xad\x89t\xa8V\x22\x05C\ +\xd0\xf2\x8e\x9d\xbd\xfc\x0aH'\x09\x03\xdc\x00\xe6=\x04\ +U\xfe^\xf9\xbdZ\xbe\xb0\xc5\xff\xe7\xf0\xd3\xe1\xa7\x0b\ +\x97\xc1\xf6[aK\xab\xf6\xf8\xe9\xb0\x95?\x95\xe7\xfd\ +x\xef\xb0\x95\x9a\x8a\xc2,\xff\x91_@^\xfc\xfea\ ++\x84#.\x14l\xfc\xe4V\x1f\x93\x90\xf8\xbb\xa5J\ +B\xcfEC\x1dEb\xe1\xf1\xf3\xfc\x92\x98\xad\x04\xb4\ +\x02\x8b\xfb\xef9\xa8\x9c{\x90o\x02v\x89g\xe3\x9e\ +\xbd\xf4E\xbaI%\x0eB\xcb9\x9eH1\xad#\x93\ +\xba\xddu\x97\xf3\xeb\x00\xf2v\xada\xfe\x1e\x82,\x13\ +\xa1\xd4R\xc8\xa4JH\x89\x93\xab\x05\x012=\x13\xac\ +\xe4-+!/\xf1\x96\x5c-\xb5\x1e\x91\x13R\x9b\xa2\ +\x96\xa1\xa5\xde\xfe\x22\x01%\x01\x90r\xb6\xfb\x0aj\x90\ +\x0e\xd4\xc4\xe2\xf9\xa4eC\xde^&lE\x8av\xea\ +\x9c\x99\x19\x0f\x9d{\xf47\xe7n~\xb8\xf9\xe1\x94\xc1\ +\x9du\x11\xdf4\x1f\xf0\x05\xc5\xe7 \xbf#\xa1\x14\xe4\ +\xa4\xd2\x01+\xf2\x84\xdf\xc9\x9f\xdfo\xcf\xfd'R\x8f\ +\x98\x1e\x8f_\xf5rIP\xe4\x83,\x07\xbb\xef\x95\xe2\ +\x88 k\xb3\xe0l\xac 5\x99\x09-\x07Y\xc6\xda\ +\x01/C\xc7!\xe3\xb8:\xc0\x07\ +\xef+#wx\xa9(\xcc\xe3\xe4>\x8c\x97\xbf\xef\xe5\ +\x10Uj\xdd\x8fL\xd6XrvseL\x22\xe0\xa7\ +%g8\xbf\xdf\x92\xe8\x98\x03?\xf7\xef}\x1cpt\ +<_\x91:\xc1\xe6\x95\xf9\x91\xfa\xbc\xe3\x07\xe6L]\ +%\x8an\x94\x07\xe51\x1d\xa9\x9e\xf9\x92\x08\x80\x92\xe7\ +\xd3\xeb/\x80\x10\xf8t\xe4\x89\x95PP\xd1<)\x1d\ +\xe3\x84\xe8\xb5\xb1\x9f\x9f\x87ypL!9\xe6\xc0H\ +\xe0r\xe8\xee\xc4C}\xe9u\xd6b\xa2\xd2\xaf\xf7\xda\ +\xf5p\xdc\xfay\xcb\x11\xbflGJ\xe8\xf7{\x08\xf9\ +q\x1d\x0b\xbf\xeb\x95\xf0\x01\xfdCR\xe8\xefU\x9a\xfa\ +V\x9c\x0c\x9c\xab\x82\x96\x01M\xe9\xa4\xd2\x9b\xc5>\x8d\ +;\xe2_r>B\xbe|?\xf7\x09\xf3Y\xcb\x8a\xcf\ +\xb5\x9f\x987Za X\xcc\x7f\x8e&\xd5\x0b\x1b\xb0\ +\x1e\xb2[\x86\xad\x9e\x17G\x9e\xdc\x93q\xd3ba\x9c\ +SG[ Q\xea(\x12!\xdf\xcay,\xb0\xb1\x1f\ +H(\xf5\xe4v}\x8f\xa9y*\x11\xe5\xf9\x83\xd0\x0b\ +\xf8\xfc\x9c\x03n}\xdb_\xbb\x0a\x7fA\xfe\x05\xda\x0e\ +J\x89#\xa4\x8f*\xc7>\xdf\xbc\xeb9.\x04\x5c\xc6\ +W /\x10\xe9[^\xac/\xeb\x07\x99\xa6\x04\xb5\xeb\ +\xe2\xe8r\xc0\xadw\xfb\xadq\xd4\x0a\xa2\xf2\xde\x93g\ +\x1aW?\xf7\xfcd\xf0\x91\x00\x82\xb2\x22\x07\xb4\x0f\xaa\ +h\x92?\xd5\xa2\x95\x89\xe5\xfa\xfd\x1e\x19f\xbc\xb1\xca\ +\x1b\x07\x8e\x93\xc47r\xd2\x5cW*>\xd5\xe3n\x7f\ +\x94\xc86\x0e\xf6\x13\xe3-Af\x9c\xb5\x8c\x18G\xac\ +\xf9\xce\x8d\xacp\x8dO\x9e{\x907\x0f\xdd\xfc\xd1\x04\ +\xed|\xe1\xf8\x82 \x89\xab\xcf\xe7\x18q\x14\x9f\x19\x96\ +dl_[\xc9\xd7i\x89\x918\xb8N\xd8*\x10V\ +AI\x07s\xfb\xd8\xb0\xf6{\x7f\x18\xb6\x92\xf5\x93H\ +\xf2\x95\x09\x96\xcd\xd3\xc3V$\x83\xfc\x18\xa4\x85\x90\x14\ +\xe6s:T8\x07\xaa\xa5 ?g\xf3\xfe\xb0\x95\x83\ +\x9f\x81\xdap\x81\xb0%A\xb3\xd9\x86-\x0e\xf6\xf0\x8c\ +\xb0\x95\xae\xb4}\x09\xe4\xd3~\xf9\xee\xb0\xf6\xfa\xf9\xb0\ +\xac\x9c=b!a\x1b\xaf\x1c\xb6T\xaa\x050\xb5/\ +=yn\xc5\xe0\xe7\xd5\xb8p\x8c\xb3\xe2U\x89\x19\xf7\ +\xcd\xa1\xe4g\xd9\x07\xbb\x16\x1b\x01D!\x88r\xdfQ\ +!\xae\xfd\xa9W\xff\xb1\x1e\xfbB\x89W\x09=2\xa2\ +\xa7M\xb6\xb4.\xd8\x97zU\x86\x17%\xc7S\x16\xbe\ +\xb0|SA\xf0<\xb7\x1f\x09\xcbJ\xfe\x07'\xa4\xde\ +\xc4]\xb0yo\xd0\xdf\xad*o\xaf\x08[Ur#\ +\xb1r\xfbU\x8f|:\xea5>\x12\xb0\x02\x08\x95K\ +H\x1f\xeb\xc6}\xff\x7f}Q\xc1H9\xbc\xe1\x93a\ +\xab\xd6\xd8$\xc9\x1b.\x176\xb5\xde\xcc\xa4\x82I\xc2\ +W\xebX\xe2\xeew\xc3VP\xf0\xd4\x0d\xdf\xbc,l\ +\x95\x88L?\xcd\xfb\x0c\xd7\x1b\xae\x1f\x95\xfb\x16\x0e\xde\ +7\x02\xc2\xed\x1f\x84\xb5\x9f\xdf\xb8Yp\x1f\xbc?\xac\ +\xfd\xfc\x0da+dQ^\xdfT!\xfd\xedDf<\ +kjY\xb8y\xb4,\x0c\xe7\x87\xadZ\x5c\x9c\x13\xce\ +3\x5cez\xb0\xaf\x9f$\x87gf\xa0\xff/\x89,\ +A\xfa\x98\xfb\xb9\xfd\x80*J\x0b\xa0\x9b-r\xbc\xdb\ +k\x87\xb5\xfb\xf9dX;\x96\x1f\x1d6q\x93M\x5c\ +.5NW\x0b[*\xd6\xc3s\xc2\x96\x02\x8f\x04\xc3\ +\xf8\xb6\xb0\xd5|\xb7\x8f\xab\x1c+\x08X\xdf\xd6\x01R\ +H\xe7-\xb6\xf8\xbf\x09[%\x182\xce\x1a^\x11\xb6\ +\x5c7N\x82\xc9k\xd9;\x05\x947\x8f\x80r\xfc\xd0\ +\xf8\xc1\x09\xda\x8fK\x22\x113u^\xa5lk\x05\xa8\ +\xf6g\xe7M\xee\x8b\xe3#\xc3V\xe74\x0e#\x15z\ +\xe4\xab\xeeG\xebU\xaa\x91\x90\xa1\x05\x89/\x04\xc9\x8f\ +f\x8e\xb5J\xb4\x1c\x16\xb6$Rk_\xc3\xc5\xd0\xc7\ +=*\xf8\xd6\xa7\xf5\x07\xa1\xce\x9f\x85\xc4\xd3J\xe29\ +\xe5|\xaay\x95\x1c\x00\x12)\xe5g*$#Y\xcc\ +\xf5\x5c\xfb=5\xa6D\xd6*\x00T\xab\xfd_MV\ +\xe4\x8b\xb8a 4\x86\xff\x1d\xb6\xeco\xe3\xdd\xc2V\ +\xf3\x05\xa7\x94}-\x91\x0c\xe5\x8f\x19\x8fD\x90\x94\xfa\ +N\xae\xdf}\xc3\xfd\xc3V\x8eBn\xbc\x0e\xce\xca\xd4\ +\xca\xd8=vx\xdc\xf0\xb8U\x05B\xcf+\xd9\x0b\x1b\ +J:\xe4\x9bo\x86Md{\xcdV\x13\xdf\xc4v\x80\ +`-\x8fi\xf7\xaa\x9c\xf0\xff6\x91\x17L\x13\x98\xaa\ +\xc0\x01\xaa\x00\xbd\xcc\x9e\xf7\x07\xd1\xf0\xf3t\xac\x90s\ +\x98hUA\xf0\xfb\xa0\x96\x1c,\x99i\x90U\x95(\ +\x81\xaa\x0a\xab\x8c\x9d@\xfe\x98N\x17[\xa6\xbc'\xbf\ +\xe30.\xac\xf0?\xbf\xf2\xdf\x93l\xf5=\xf2\x1ck\ +$;\xfe\xdf\xf5\xfd\xb4\xab\xf0\xbb\xaf\xe5~gh\xf5\ +\xb9\x15P\xef\xd6\xed\xf4w\xbe2\xe0\xdd\x5c5+x\ +\xae\xfb\xa4\xd2\x9f\x9f\xefwo\x1e\xec\x02\xf3Efp\ +v\x98\x1d\xf4\xc6\xef\xc2\x9d\xac\xe19\xa5\x9a0?\x8f\ +>3\xee\xf9\xbb\x9f\xfd9\xe1%0\xc8\xf7am7\ +\xce2\xaf\x7f5C\xd1@\xc9\x90ZV\x80 \x81@\ +\xb6E\xc5\x02\xc9\xd3e\xb3\xf2\x80\x0c\xc9\xf3\xbfPW\ +\xb9\xd0\xfapB'\x97(\x808\xbe\x12\x01\xb3\x83u\ +BU\xfc\xe7\xf1\xed{'\xcd\x03\x09*\x15K-\x05\ +\xdd\xcf\xeb\xf5\xf8\x92\xa9\x9b\xc7\xa7g=\x07\xf5\x07\x09\ +\xe6\xf8yN\x1c\x98\xbd9\x7f/\x91\xf7\xd9\xab4 \ +\xc7A6\xd5AB\xeb\xf7\x8e\xd9-\xdf\xb8\xe20\x98\ +\xc7\xe7\x06Y\xa1\xb5?p\x14\xcdk\x88\x13\xeb\x5c\xc5\ +\xd2|U\xe9\x94\xc0:)\x0fR\x01\xda\xd7\xd2\xe12\ +?S\xafxs\xcb\xcd\xad6\xb7Z\xcd\x9b\xf3r~\ +m\xf2\xf3\x0f\xcb\xf5x\xd1\x9cO\xf6C\xad8\xee\xe3\ +\xb4\x94\xddyw\x06\x1e\x1cw\x08\x07\x01\xac\xf5j>\ +\xb8\x1f\xeb\x84\x8c\xa1\xca\x02h!\xe4\xcf\x07\x93T\xec\ +\xb6\xc9\xf6\xaaW\x9b#\xe9\x00\x94H1O%\x86\xac\ +_\xad?\x02\x1d\x89!\xf3\xcd>\xd4\x93SY\xbf\x12\ +\x84\xe6\xa9\x00\xdf\xf8\x08\x18\xcd\x03\x01\x85\x84\x88\xde|\ +\xfb\x98Jx\xbf\xbf\xbb\x0e\x95\x02\xfb\xb2\xbf\x87\x94\x11\ +\xc0\x83b\xfb\xde\xfcV\xe9\xcd\x84m\xb8\xed\xe1\xb8W\ +O3\x96i\xeb\x15\x19\x8f}\xb9\x93\x89\xacq4\xae\ +\xf6;\x01\x93u\x9a2hU)\xc7\x82\xefsT\xec\ +q\xc9$i^\x05\x0e\xd6\x1b\x07\xd2z\xd7#\x9e-\ +U\xee\xc7\xbeg\x7f(\xb9<\xbd\xe0d>!\x13\xb0\ +\x05[\xff*&\x1dI]%\x06\xb4L\x18\xe7\x9e$\ +S\xe2>\xc96A\xd9K\x97=\x11\x0bH\xc0\x8a\x8b\ +\x87l\x95u\x0cq\x98\x5c\x08\xd5\xb3\xad\xc7\x1f\xd2(\ +e\xdc\xb0\xb5W\x22\xabw\xac\xb5D\xa4\x83\x0dZ\x89\ +\xf3\xa3z\xfa\x8f\x08[\xb5z$\x99\x22\xbf\x08\x09\xe1\ +\xf6\x0baK\xe0\x09\xca/\xb0F\xee\xbbys\xd8J\ +\xd5\x80\xeaQ&\x96\xb7\x0f\x0f[X\xe0\x8b\x94\xcc\xfa\ +\xe1\xaf\xf9\xbe'%\x14`I\x1cp\xcc\xed3d\xa6\ +\x90\xbbiI@\xdeL\x97^\xa51\xf5\xb0\xab%\xd3\ +\xfe\xb1\x90\xa5\xce~\x8e\x0a\x9d\xef\xads\xd7\xa9 \xb0\ +\x90\xbf\xce\xfb\x8b\xc4\x13j$\xc8\x19\xeb\xc7ye\xff\ +\xcfJ\xff\xe6\xa0\xe4\xde \x17\x99\xe3\xba\xf9Q\xd8J\ +'=\x03\x12\x15\xd6bA\xc7\xa9\xa1U\x047TB\ +\xb1\xfd\xfd\xe6aa\xd3|}K\xcc\xd7*l\xe5:\ +\x19\xbf\xd2B\xfe\xaf\xb4c\xe9\x83am[|\xe7\xdc\ +k[\x95K\xfb\xa4\x84\xd1\xe7\xc2\xda\xed\x5c4l\xd1\ +\x0f\x0f\xb5\xfa\xd0\xab\xaf\xf3\xd2\xfe\xff\x8b\x12\x02\x9e;\ +\xa8q\xca\xc5\xb5\xf0v\xeay\x8ep:\x02\xea\xf15\ +s\x81C\x22\xba\x90\x02_\x0d[\x10\xbf\xe5\xf7t\x5c\ +0z\x8a\xc7;\xcd\xdc\x1b\xc3\xb3g\xc8y\x91\xea\xbe\ +b\xf3\xcaM \x0en\x1a\xb6\xf4\xa8\xe3\x88h\xc1\xf1\ +\xa9S\xe1\xf03-\x80\xfa\xccB*Y\x81R\xb2\xfc\ +\xab\xe0\x0e\x87\x86\xb5\xd7s\x87\xf3\x86s\xa7\x00\xe7\xc5\ +S\x80\xf3\xc6=o\x9a\x90\xba\xe4\xe3\xd2/j\x7f5\ +\xa9\x82\x81\xf6\xb7Q\x98\xc9\xeeR\x9f}J\xdc\xbcw\ +\x15\xc0\xbd5l%\xeb\x96\xbfW\x89\xc2$\x1d/Y\ +\xd0W\x85\xb5\xc7p\x93\xbd7\xde{\xe3\x09r\xdfl\ +E:\x88}\xfd\x1e\xf9\xf9I\x96X\x85&\xf3\xc0\xfe\ +e\x1dH\xdcC\x82I\x00\xe0\x0c\xc9\x04E\x91\x17j\ +-\xd2:\x9d\x9f\x87+A\x85\xbbZ-~)l\x05\ +5\xff\xfb\xf1\xdd\x93\x9c\xac\xdev\xe7I\x97\xd8/\x92\ +R\xc8B\xe7s\xee\xe7\xe4\xedp\x9fTaC\x0f>\ +\xae\x06\xa4\x84\xc8\xe8$\x14\x90\x1ej\xd1@.\x99\x5c\ +\x0e\xe3\x95\xc2V-c8L\xf8\xe3\xfc\xf8,\xd8\xe2\ +\x94\xa9Vo\xd7o\xdd\xda_pG\xf0G \x17 \ +z%\x22\x92c\xa6d'=\xbf\xe4\x0a\xa8\xfd5\xfd\ +\xfe\xe2\xa2z\xc6L\xc6\xb9\xf9l\xd8\x8a\x1c?\x913\ +\x95\xd0\xce\x84/\xc4\xa3\xc4\xc3px\xd8*\x11#\x01\ +L\x95/U\x1b*\xb1\x98\xe7\xf5\xf6Va+u\x18\ +\xaa\x1dTF\xf8\xed\x10\x16\xc9y\xb3\xaf\xc8\xa4\xbe\x1a\ +\xb6b\xb1\x95Y\x91A\x05\xa5M9\x88\xe13a\xed\ +\xf7\xf7\x87\xa5\x03r\xe2\x02\xcdG&S\x19\x8e\x84\x1c\ +\xd4\xc4WA\xcd\x8d\x1b\xb4\xa1\x02q\x10\x89\x17\xcdr\ +26\xb6:\x808\xf0K\x80;g|A\x1c@\x9a\ +@\xc4\xb2\x22Z\xfa\xc4\xcf\xc9\xcc\x8f@?\xaf\xa7t\ +\xbe9\x90\x1d\x0bv9\xa02+\x1c=\x8e\x0429\ +\x95\x7f\x0e\xae\x80\x9f\x03\xde\xb3\xd8\x83\x8c\x22\x1bS\xc9\ +q\x9f=\xab\xa6\x05\xab\x95\xc2\x81)\x03/\xe0[\xb8\ +\x0c\x04\xd6\xd9l\xd5\xe9w\xf6\xf7\xa1w\xbf\xafL\x0b\ +`8D\x1c|P\xf4\xa5\x82\xbf\x9b\xe4\xce\xab\x0a\xf8\ +\x22{7\x1f\xec\x16\xa8\xde\xfb\x1e\xb2\xbc\xe9 \x80\xf4\ +H\x87\xee\xf9\xfb\xfd\xbe\x15\xe3\x88\x94a\x929M\xe8\ +\xec\xa8\xe7\xfa\x7f\xce\x10\xb6b\xa9V9\x06\xfduP\ +}\xa8\xe4\xdc\xe6\x8a\xa4\xfb\x02\x19_d\xec\xe6\xfb9\ +\xbf\xe3\x12\xe08-\x81\xff\x1c\x90\x0b\xbc\x93;`s\ +\x5c\xaa@\x1c\x88\x14\x98\x03\x98.\x01P\xf2b=k\ +\xba\xe7\xd7\xf5\xfeW\xaf\xa6\xf7w]\x17\xcb\xe7\xdf\x93\ +\xaby\xae\x02k\x09\xa2~\xbc\xcdk\x7f\xef:\xcdG\ +\x0e\xe3\xd2\x221'\xae\xae\x94\xdc\x03\xb8&\xaeP\x08\ +\x88\xdd\xbd\xfe\xd6\x95J\xd2\xa7\x93L\xe7\xdb3\x92\xa3\ +d\xa1\x92\xe4\xa7Zy@\xcb\xfbJ\x0c\xc4\x8f\x83\x10\ +\xb2\x02\x97\xc3QUq\x9f\x7f\x7f\x99O\xf3}\xf6\xe4\ +\x8c\xde?\x03\xf5\xaa\xc4%\xc4\xb4d\xb1R\xc7\xba>\ +\x97#\xe7y\xec\xc9@\xe5K\xf9< k\xf6\xce\x99\ +\xfc\xb6WM,\xd4\x05\x85NdC\x1c\xef\xd3A\xf3\ +\xd2$kZ\xc83\xe7u&\x104\x8e*~\x9e\xbf\ +\xeb\xe7\x80\xf6\x90\x7f\x01\x06\xc7O\xa5_\x80g\xbf\xf2\ +|\x05\xdc\xe6\xdd\xa2^0\x07\xec\xe6W\x8f\x00\xe8e\ +\x029\xc0\xf6\xfbN\xd6os\x9d\xb0U%\xda\x01\xca\ +q\xf19TFT$%\x18@\xcd\xef\x1e\xb6\x22\x19\ +T\xf1\xe6\x10\xdb'\xfb}\xdeu\xf6\xb2\x8ed\xcb\x9c\ +G\x12% \x85\xee\xcb\xba\x95\xe8\x03M\xb7n\x9c;\ +{;r^\x0eQ\xce\x83\xba\x9e\xdc\xdf\x0a\x89\xe2\xba\ +\xb2\x17\xb9X\xda\xb58\x19\x07\x90O\x90\xfdtL\xc8\ +e\xd5\xff\ +\x96\xa9j\x96$\xc3\x9bw\x84M\x08\x8e9\xd1 \x0e\ +\x93X\xc5\x11\x00\x09\x00)e?\x82\x083/% \ +\xd2\x9f\x86\xe8\xab\xf9\xc4\xafr\xdd\xa9\x1eW-h\xfc\ +%$\x9e\x12W\xb8#2A]\x09\x80\x9c/8\x16\ +JE\x06\xc2!9\x06\x0aQ\xe0\xbaq%$\xa2\xa5\ +\x0ak\x890\x1b?\x12\xb6$\x06\x0a\xfa\x9f-.\x15\ +\xff&\x17D\xa9\xdb\xa4\xff \xb0/?\xe4YI\x82\ +\x7f\xfc|\x7f\xb8M|^=\x7f\x5c\x02\x9d\x1a\xc8\xf6\ +o\xc3\x96\xe7(AZd\x88\x990\xaf\xc2D\xee\xb7\ +\xc8q\xf9s\x90\x19\xb5\xbf(\xe4'R\xd5\xbe\xb8\xaf\ +d]Ro\x11{%R\x14d:U\x81'o\x90\ +P\x8a\xf1\xe9a\xab\x9e\x8b\xabM.\xfb\x9e\xe1fa\ +\xcb\x8d\x04e\xc8x\x89Ue\xca\x06\xa6\xb7\xd0At\ +\xef\xb0\xf6\xb9\xbf\x15\xd6\xbe\xff\xd2\xe6\xcb\x9b/\xaf\x0e\ +\x92^NO\x05\x98\xc3e\x03U\x11\xee\xc9\x00\xc9s\ +\xc9\xb8\xe5\xc4\x1e\xbf\x1c\xb6r\xac8\xc4\x1c.\x95=\ +\x0bG\xa0,\x00\x5c*\xbf\xf3\x81\xc5\xf1\xee\x03\xf6\xbe\ +\x97\xcd\xef\xfb\xfb\xbe\x92\xea\xa0\xe1\x98\xab$\xf5d\x82\ +=\x04\x95#\xcd\xb1^\xe4\xe2v\x07\xea*\xeet\xc3\ +\x8d\x13n\x00\x1b\xae\x80\xf7W2\x10\x10(\x9d\xd8U\ +\x9a\x17\x08\xec|\xbd\x97\xe8z\xf9A\x9e/\xd8A\x91\ +=\xafEe`v\xf4\xcf\xcf\xe7\xf9\x8b\xd8p\xbbD\ +\xc8\x01\x10+z\xba\xa9\xc7^\x90\xac$\x9b,y\xb9\ +$\x8f\xaa^\x1b\xbd\xba\x9e7\xa8\x15\x9d\xfb\x1e\xea\xef\ +\xfe9F\x1c\x15\xf3\xc4|\x87P0\xaf\xfc\xbf\x04\x90\ +J\x5cG\x86V\xe3\xdf\xb3\xab\x836\x0bPT\xba\xfd\ +\xbd\xc0\x7f9\xd0\xe6\xc4B\x0f\xbd\x16 \xf5-\x03\xe6\ +\x97\x0d\xdb<\xf3\xbc8&>\x87\xac\x1c\x8e\x03\xeb\xdd\ +\xe7\xf4\x09\x00\xaf=\xc7\xc4\x09\xbb\xc9\x0d+p\x14\x98\ +\x83J\xdfi\xce\x88\x17\xa9Mn\xfc\x95P\xe8\xd8\xe2\ +\xa3\xae?U\xf6\xcd\x1b\xac\xce\xdf\x09[\xf5\xa8\xe9i\ +4\x9e\xe6\xa9y\x06\x12\xae\x82,P\xb4\x0f-d\x8f\ +3\x19c\x06\x18-l\x98[\x99\xee0\xf7\xdc\xb5\xb9\ +\xb7\x0b\x11S-\x19d1\xa9\x03p\x808\xc2\x17\x9e\ +\x9ai\x96\x03e\xc8ub\xffr\x9d\x12\x89\xbd:\x88\ +}\xc6\xbe\xd0\xff\x9e\xe7\xd4\xcfo\x95s\x8e\xb5L\xba\ +\x80\xbd\x9f?\x12&\xf6A\x9f\xdb\xb3\xcf\xab\xdc\x82\xbe\ +\x1bw\xf3\xc3zs\xff}\xe5\xdd\xf5\xab(\xe2\x98\xd0\ +\xc3}\xf9\xb0\xd5<\xce\x9e\xc7R'\xb1^\x9c/d\ +\xdd<_\xeb\xc5\xbav\x1f\xceM\xe3\xe8z\xecc\x19\ +\x88n\xfe l%o\x94=\xee\x15(\x9b\xd7\xe6Q\ +Vn+02\x9e\xce\x0b\xd7\xe1\xfcC:\x0b\xba\xcb\ +\xe1P\xd1\xd3\xc2\xe1\xf7%X\xbd\x1f.\x10\x08(\x15\ +x\xa4\xe4\xb9\xbe\xe8hW\xa2\xfd\xb3a+\x96z\x8e\ +b\x87\xec*\xb9\xab\xec\xb5E\x0aW\xba\xd3*\xd1 \ +\xea\xe6\x9d\xeb6\x1f!_\xbc\xbf\x84\xf4\xf7\xc2V\x81\ +[\xcam\x15\xb42!\xa4\x9b\x8f\x87-\xfb\x02\xbd\xfb\ +\xd2/\x87\xfc /\x96\xfe\x88J1RBd\x7fz\ +\xf1\xabpb\xfdx\xffo\x85\xad\x02]\x15\xa0/\x85\ +\xad\x90\x18t\x9c%b\x9c\xc3\x1f\xce\xd6\xa6?\x9b\xd9\ +\xba\xb1V\xb7\xab\x9c\x13=\xa0\xaa\x9d\xaaEAY%\ +\x96\xb2uH\x8bA!\x1a\xd31\xac\xfb\x84\x8cHd\ +\xd2\xf6\x99a\xab@D\x00\x9d$a\x15\x80hQ\x91\ +`L\xf5\x93*\x14P;\x91@0N\x12\xdb}\x00\ +\xec\xff\x9d\x8f\xd6\xbb\xd6$d^\x0aU\x09\x81\x1d\x7f\ +9\xd9\xeb\xd3OB\x82\xb6}k\xd8TI\x9b\x10%\ +U\x09~\xc2\x1cp\x14Y\xec[\x12\x91\x92\x15_\x89\ +\x9f\xcd\x176\x9f\xdf|a\xd5\xba\xa4\x02\xad\xf2+\xc0\ +\x85t\xb5\x1fJ\x5c\xffCX;\xf6\xdf\xb4\xf7\xcd{\ +\x03\xa1\xf0\xe1\xb0\xb6m?$\xac\xfd\xfc\xc5{_\xb4\ +\xf7ES\x82k&+T\xe9\xbbH\xd8$\xf75\x91\ +\x9d\x8d\xf7\xc9\x1em\xcf\xc9\xf9k\x5c\xc8\x8e&\x99f\ +\xfb\xed\x89|o\xb8\xddp\xfb\xe1\xf6\x0b\xa9w\x058\ +\x12<7\x0a[\xd4#\xea<\x16\xc8A\xd8H$]\ +?lU\xa9\xb5\xde\x92\xfd\x7f\x92\x01|\xe0\x9e=;\ +7\x08k\xe3\xff\x94fOn\xaf\x7f2'h\xda\x98\ +\xbd|j\xb1\x85\x94\x01\xf9\xc6\x15v\x85\x99\xd4L\xe2\ +tx\xe1\xf0\x82\xe1\x05S\x01rB8\x95\x7fi\x1e\ +\x9b\x1fIbY\x89B\xadr\xef\xcfV\xa4\x9d\xb0\xd5\ +\xb8f\x85\x5c\xc5\x14\xa4\x1f\xf2\xa6\x0a\x87\xa9\x0fO.\ +\x17rc\xdf\x93\xc2V\xe7\x03\xb2\xc8\x17\xfe?\xca\xee\ +;\xdc\xb6\xab*\x1f\xff\xdd\xeb\xdc\x00I\xa4\xf7*\xbd\ +\x97\xd0\xbb\x80\x88\x80\xf4\x0eA\x10\x90@\x88\xb4\x00R\ +\x02J\x91\xde\x9b\x94\x10J\xa8\x82\x80\x22\x01\x04\x94\x22\ +\xa041\x01\x14\xe9\x04\x08 Hh\x92\xd0\xce\xda\xbf\ +5\xd6\x1a\x9f\xb1\xe6\x9d\x97<\xbf\xe7{\xc6\x1f\xfb9\ +\xf7\x9e\xb3\xcf\xdak\xcd9\xe6\x18\xefx\xc7;\x16\xe0\ +b\xb8f\xd8t\xfd\xf7\x0akD\x0b%~\xe2\x05-\ +\x84ZA$\xe6\x00Q\xe7*m\xb5\xbf\x08k\xc4R\ +\x93AU\x894m\x8b\x9cV1\xef\x8ec\x13x\xf8\ +ls\xee\x8a/\xb5\x9e\xd0\xcaH-\x03\x9f\xa3\x12q\ +\xf10F\xd3#\xc3\x9a\xfb-\xc1\xe7\x87id\xe8Y\ +'nz\xfb\xd4t\x03\xf4\x11GM\x00\x12`WS\ +\x5c\xb4\xb4\xb9>\xda+Z\x09\x1e\x18\xd60\xc6$\xc6\ +/\x0fk\x0a\x04]+\x91\xf3\xb5\xfe\xae\xffw\x0e\x13\ +\xb3\xcfV\xab\xd22\xc2\xe4\xcbi\x16\xc5\xc4\x13\xd7d\ +\xa1p{\x96\xb0\x86I\x95\x8c\x93\x02(L\x0b\xd0\xb2\ +qlX\x03\x80`Jd\x9cUb\xa6y\x9f\xb7/\ +\x0ak\x00\x11\xfe\x07\x93$\xf3\xf5\x12!\xa4\x15\x92\x80\ +\xd9\xde\x12\xbf\xcb\x0dl\xce\xe5\xbc\xd0\xaf\x9fj\xb2\xd3\ +\x07\x0e\xcd\xfcY5?\x0e\xaaOg\xaf\xc1\xf4\xc1\xb7\ +\xd7\x9d\xeczy@\x9f\xb7\xe9\xa5>z\xae\xb1/c\ +C^\xd7 PA\xacyi\x02\x06\xef\xcb\xc4\xfaG\ ++U\x025v\xfan\xee\x0d\x1c\xee\x11\xd6 y\x12\ +WT\x95\x1c\xe7Rj\xbe\x906\x15\xaaL\xa8\x5c\x17\ +\xc7\xb5\xe7\xb0\xec\x9d\x80$:\x98\xfa\xc0\x15C@\xe2\ +\xbd\xa9\xca\xf3\xb2q{\xf5\xe8\xd3\xa2~\xf6\xbdl\x02\ +E\x81\xcdJa_\x0e@\x09\x8aD\xa2\xef\xb1\xbe`\ +\x89\xc5-\x819\x07\xd8\x8b\x09\x0a\xa0U\x1ezj\xa6\ +\xdf[+W\xa8\xd5Kb\xf1?y_\x86\x14\x01\xb9\ +@R)\xa9gR}\xe7P\xce\xd0M7\x00l\xac\ +\x14\xffe\xc1\x1b\x17\xe7\xdf\x01,\xbb\xfb\x8a&n\xdd\ +\x0f\xf3\x81\x89\x91\x9c\xbe\xfb\xfd\x9cW\xbf\xfd\xcfL\xdc\ +?\x94=2o\xcc\x03\xfa\xbf\xb6_\xd8~av\x8c\ +\xcb|\xd6\x04\x08*\xb1D\xe9\xe9\xd4\xb4\xf7|\x22\x1d\ +1\xc7\xa3B\xb7\xce\x83^\x02Q\xc0\x06\x07\xd0S\xf6\ +\xac\x87\xedi\xcc\xf7\xb5n\x88\x1d\xf6\x89\x9a\x04H@\ +$1w\xbf\xacK?\x8f\x19 \x81\x91P_+\x13\ +\xa4^\x5c\xcd\xd8F\xd4}s\xd6%b\x17\xeaz\xfd\ +}>\x9f\xc3\xbfK\xb0\xac\xcf\xbeW\x1aP!\x81!\ +\xc6\xe79[\x87\xfe_\x22\x9c\x0c\x8eb\xd48p\x8d\ +\x15\xbc\xc1\xa26[S=\xb4\x06|:\x9f\xa3}\x08\ +`\x90X\xe4\xfe\xafq-\x12G\x81\xdb\xed3\xe1q\ +\xbf\xadSS/\xaeX\xd4\xb8\xe5}\x01i\xfe\x9e/\ +\xbdZ\x12L\xfbN\xe2z\x91b\x80,\xdfg+B\ +!\xd6\xb7\x0ek\x12\xac\xef\xe4\xe7\xb3\xfes\x8a\xc1\x9e\ +\xe7/\x8c\xab\xba\xcf\x00\x01\xcf\xc9\xfa\xee\x01G@\x8b\ +\x04\x5c\xe2\xe8\xba\x04\x98y\x9f+q\xf6\xff\xd6\x0d&\ +\x12\xe0\xa5\x1fk\xe4::\xcar\x89x\xa9@\xf3S\ +\xd6\x11\xd5}\xa2\xa1\xa8\x85=`\xe4s\xa3\xa8;\xf8\ +]/&\x03\xe0Y\x05\x19s\xca\x97\xeb\xf5{\x80\x0e\ +~\x8e\xdf\xce}Q\x89<\xbf.A\xfe\xca\xa2\x8d#\ +@\xb0\xceP\x0ck_Y\xd7\xc9|\xab\x0al77\ +\xb8\x9e\x9b\xef\x01'\xc9\x1c\xdb\xbe4\xac\x11qK\x15\ +\xe5J\x98\xfa\xe9\x16\xd6\xa1\xfb\xa2\xc2\x9dc\x98\xeas\ +\x0aH\xf9)\x95\x04L\x22\xa2N\x02'\x22u\x02F\ +\x94rT\xe5\x0ct\x0a\x18\xc9y\xe6E\xa9\xcc\xc0\x92\ +\xa8\xd1~b\xb4\x80\xda\x18C\xf6\x88f=a\xb4\x10\ +\x99\xa4\x02/0\xcaBB\x01\x1d\x12\x08\xad\x0b9-\ +\xa7\xee\xff\xd3g\xdb\xb3yqXS\xf9\xcaJU\xf5\ +\x0a\xd3vC\xc5\xcd9\xcd%\x0e\xa8GSB\xa5\x22\ +#Q\xc4\x9c\xa0\x11\x91\x95\xb4\xf1\x22ak \x07@\ +(\x0a?\x0a.\xf11SH\xee\x16\xd6\x00/\x00\x1f\ +\x15n\xeb\xd9\xd4\x14\xe7\x85}\x88\xc1`\x7f\xf99Z\ +\x16\x00&\xcc\x03\xeb\x02\xe0\xa0\xe2\xee|\xb3\x9f\x05\xbe\ +\x9dfM=__\x00 \xeb\x95f\x8d\xf3Ze\xdd\ +\xb9\xf1\xa9\xd4\xb8\xd8\x9b\xfe\xed\x11\x09\xe0\xdaw\xb9\x9e\ +\x8c\x93\xa6\xce?\xa5\x83\xf3X\xb7\xc9\x0b,b[\xa7\ +\xe6T\xab\xd4\xc6\x9a\x99\x16\xafJ\x8d\xaa;7\xc00\ +\xb1\xb0\xd4\xd2\x18\x0f\x1d\xef>\x1e\xda\xb4|\xa4\xe8\xef\ +\xf0\xa0\xb0\xe9\xf5\xc0\xb0\xe9\xf5#\xc3G\x87\xa0(_\ +,lz\xff\xbfX\xc6\xd0\x0d\xaf\x9f\xecus\xa5\xf3\ +\xef\xe6Jg\xae\xc3\xf1o\xc7\xb7\x8eomz\xd6\xb3\ +\x15\xa3\xc6\xfde\xafvM\x95!\xde\xf9\xb4\xd9\xf6\x8c\ +\xf7\x0c[\x01\x9a\xf1\x8f\xc3\x1aJ\x7f\xc4\xef\xd7m\x12\ +\xff\x04\x1e<\xcf\xaa\xa8JLs\x9fmO\xd5r\xac\ +]\x00\x00 \x00IDATZ\xa6[m\xef\x1b6\ +'\x803%|JKg\xa0j\x1e7\xf6\xbeU{\ +`\xbchX#n\x16\xc0\xd8\xf4\xfb\xe3]\xc2\xa6\xd7\ +;Mv\xe7f\xde\xfa;\xa6\xac\xe4\x1d\xcd\xfa\xcd\xd6\ +\xa1\x02\x1cr\xfc[\xf9\xcd\x8c\xdf6_\x0d[[\x93\ +\xc6O\x86\xcd\x95\xea\xe5s\xe8MO\xcd\x04\xc0\x94q\ +\xae\xfc5\xbf\x11\x0ag\xa1q\xa6\xc0YL\xe9<7\ +\x86K\x85M\xe1\xd0aa\x0d\xc0\x90\x95z=\xdc\xc5\ +\x0cJ`\xcd\x14\x04\x0c@\xeb\xba>\xbf\x16\xd5|\x1f\ +\xf1t\xb5d\xf1\xab\x12C\x05\xad\xa4\x8a\xd7T\x8bd\ + \x0d\xc7L\xf6\x8a\x06\xb8\xccDY\x01\xa9\xc6\x0cf\ +kQ\x01\x88k+\xed\xe2?0|\x14|3\xd1\x05\ +\xa4\x16s\xdb\xba\xa0\x11\xa0\x15\x09\x93$\x81\xaf\x8a\x0f\ +\xb4\xf4`\xe6u\xd3W\xb4\x06\xec\xd7rFT;\xb5\ +[\xaaG\x1e0\x98~\xb2\x98'\xe2Q\x1a\x22\xa6\xd5\ +\x00P\xf3\xfd7\xaf\x0bk\x12f\xcf%\xe3\x82jQ\ +T\xf0\x03\x08\x12\xe55\x1d/\x81E\xd3\xe7\x14\x98\x8a\ +9\xe0\xfe*X&\x00L\xc4\xbd\x80\xb6\xf7-\xda\x13\ +\x05\x94g>^L\xe6Y\xadu\xd5\xc4\xe1_\x88\x03\ +\xce\xe3I/\xd3\x8c\x0dM\xf1\xe8\xbd\xe3\x8b\xc2\xd6\x9e\ +\x8e\xf9\xe0\xf9\xdfT\x1f\xbcqR\xf3\x9e\xd8T\xcc\xf5\ +H\ +\x95\xf7\xfb\x94\xec\xc1O\x80\xa2z\x89T\xd4\xa9\xb2\xbf\ +z\xb6\x12\xa3\xda>/\xac\x19\xc3\xa3\x97\xa8\xab\xa4W\ +\xa2\xa9\xa2*P;!UDQ\xe3%Lk%|\ +\xb9^Hm?\x06\xcd\xfd\xf2<\xf6T\x22\xb6\xaf\xca\ +q\xdd\xafN\x05\xb9\xefy\xb7.9\xa6\xacdT \ +\x0e \xf0\xfc \xe5\x12^\x09\x8c}A\xad]\x82\xa0\ +\x12\x0a\x18p\x9f\xfa\x8a-\x80\xc2\xf5\x0b\xd0PY\xad\ +\x0b\xbfG\xc5?\x01\x82\x9a/\xde\xb7\xf28h\x00E\ +*H7\xca\x84\x94\xc3\x14q\x0b,\x01\x02\xfe\xee\xbf\ +$\xd5\xbe\x1f\xa3\xe6\xefa&\x00&P\xf1\x1d<\xfe\ +}eH,\x7f\x07Ro?\xfa|\xaeO\x22\x02\xe1\ +7\x9d\xe0V\xd9\x9b\xff\xc8%\xc1*\xed\x03\x81\xf7\xa5\ +R\x13@\xc2\xe9`9}\x8d?\x5c\x9e\xfb:\xd6\x93\ +\x16\xc1\x12(\xa7\x7f+\xd5X\x95R\x9f\x9bX\x92\x84\ +\x87_\xf3\xea\xfd\xba\x1e\xefJ\x941# \xe0\x12\xe6\ +^t\xcf:\x03\x08\x9dV\x8b\x91\xe7\xd0\x7f/\xe1\x04\ +$\x09\xf0\xec+\xc0\x9b\xc4\x1b\xf5\xd8\x98\xa1~\xaa\x85\ +\xc0\xc3\xe7\xc1`\x10H\x00\xfehG\xf8;\xfc\xb0\xf5\ +&Q\xc1\xbc\xe9\xd5\xf0Un%\xe8z}U:\x88\ +le \x22q\xdb\xfesX#Z) \x11H\xb8\ +~\x80\x14f\x8d\xbf\xeb\xbe% [b\x80\xa8\xa4\x12\ +1~\x08\xd3\x00\xd0f\xfdx\xce\xb7\x0ck\x00 ~\ +\xddy%\x0e\xc8\xf5H\x1cx\xb8PX\xb3/\x88v\ +\x01\x96^\xb2P#7\xff\x17\xd6\xb4\xaePm\xb7\xae\ +/\x5c\xe3S\x97\xbf\xeb\xdc\xe6g:\x86U%\x84\xd9\ +\x9aX\xad\x02\xa8\xa1*\xa5*\x5c\xb9\x7f\xc7\x7f\x0e[\ +\x13\xea\xe1\x8aa\xcd\xf5w-J\x95\x00\xfc$l=\ +\xaf\x8a\xba\x8baE\xfd?+K\xd1\xa1\x1e=\xea\xa6\ +\x7fl\xcf\x1d6\xab\x93O\xb6\x8a\x16\x16C\x85\xc8\x97\ +\x00\x9c\x16C\xce\xe5.\xc6\x81\xe7\x84\xa2\xaae\x80?\ +\x12\xe0\x9a\x1e\xe0\xbe\xe4\x18\xb1\xfa\xfd\x04|\xa8]\xeb\ +M\xaf\x804\xcf\xd3\xcd\xf3\xc2\x1a\xaa\xb0\x96M\xfb\x01\ +3\xc4\xdfWXJ\xf1\xc1:\xe7\x89\x1cg\x00\x8dA\ +rZc\xff*!\xb0^\x01U\xce7\x00\x05\xcd\x98\ +\x04\xcc0\xfa\x00\x92\xc4\x02\x87o\x0c_\x1f\xbe\xd1h\ +*<1[O\x00W\x91V}c\x9e\x93\xbd\x88A\ +\x06\x104\xed\xbf\xe1\xc9a\xeb>S\x81\x1d?\x1a\xb6\ +\xc6M\xc3\xab\xc3\x1a@8\xa9\xed;W\xd9\xb9\xea\xce\ +U\x9b\xf3%\xcf\x87\x99a\x1b\xeb\xef\xee\xc3\xa1\xc3\x1f\ +\xaf\xda\x15\x12\x84\xe1\xd2a\xd3\xdfy\xd7\xf8\xee\xf1]\ +k\x5c\xb9\xbdE\xaa\xce\x1b/L\x0b&+\xfb\xe3\x97\ +\xc2\xd6\x0a\xb01\x8d\xb5\xfe\xce\xb6\x88xo\xcf\x15\xd6\ +\x14\xc6\x8c\xbdS\xc0\x01\x8c\xa9pb\xcc\xaa0\xa7\xd8\ +\xa1\x0a\xf7p\xca\xf0\xf3!*\xd4?[\xe6\xcc\x8b\xb7\ +\xb6\x17\x0ak\xc6}gk\xc2\xf6\x1ea\xcdk\x8cu\ +\xbbb\xa3\xce\x9f=\xd0\x05\x80\xe4\xfb4@\xfc\xf2\xd5\ +1\xd76\x1f\x0fk*\xa5\xc4\xe8\xf2<1\x8d\x04\xe5\ +\xbb(\xd9\xb4\xce.\x16\xd6\xbcO\x9e\x13\xc3qa3\ +\xe0\xb6\xb4\xe4d\xdc1\x5c;lz\xfd\xfb\xb0\xe9}\ +\x0f\x0d[[\x9a\xb5\x08H\x04\xf7cX\x12i]\x99\ +\xb9K~!\x0f\xd0\xa2\xac\xc0*\xbe\xd0\x0a\xa5\xd50\ +\x19\x14\x80\xc8Pj\x98\xc7\x03\x02\xee\x01\x91\xe2m\xf9\ +\x03 \xd8\xb9\xa7\xd5\xd5\x14\x99\x04x\xabR\xee\xbct\ +N+pe\x22L\x5c\xd3\x98\xec\xca\x17M\x8b\xd3\x1a\ +\x9e\xeb`s\xc6\xb0\x06\x18\x17\x87*\xccb\x12d%\ +\xbbZ\xdb\x00\x84\x87\xcdV\xcc\x9a\x9a\xd6`\xaa\xdc+\ +\xc2\x9au\x93\xe7H\xb5\x06\x00\x12\xe5\x9b\xe2\x1bL\x03\ +\x80\xb18\xec\xfe\xb3U\xd5\ +\x81,\x90>oG\xe5\xf6\xef\xfe\x8e\xfb\xd6\xcf\xa7\x17\ +\x80\xdb\xcf=\x03\x86#U9%\xc6b\xae-\x11I\ +\xf7]\xc0\xd8\x8f\x85s=\x9e\xbfDY\xa0\x090\xc8\ +\xca\xcct\xcf\x97\xf5{\xce%\xb1\xaa\xc4[ F\x15\ +\xd6>\xf7y\x8c\x97<\xa8\xd6\xd1\xb2\xbf\x1d\xfc\xeeC\ +?u\xc4:1]\xc4\xf8;\xf79\x0f\xfcb\xe6x\ +\x1f\x142\x07\xbbq9o\x08\x9b\xde\xe7Or\xbe\xb3\ +\x8a\x9a\x00\x5cB\x93\xf3\xd9K\x04Nbh\xec\x12\xed\ +\x09\xeb*\x01\xe2z\xae\x00\x1f\x00\x15\xea}\xafQa\ +}\xf9<>?fA\x8a\xe6U\xa2\xe3\xb9\xf8}\x0c\ +\x05\x0c\x06\x88\xbc@%\xaf\xbb\x12l\x95b\x81\xbf\xca\ +s&p\xfce%\xe6\xa8\xe1\xfe^G\x05\xacu\xc5\ +\xaf\xae\xfbt\xf1wD\xe62\x90\xa8DL\xa5\x1b\xc5\ +\xd1\xf3\x96\xf0'\xe5\xb4>\x87\xfb'\xa1\x97\x98[\xbf\ +\x12^\xfb\xd1\xbe\x01\x18\x98\x82 \xc0\x02\xb4y>\x80\ +\x12\x9f\x07\xc0\xd3\x03\xd0\xd4\xc0\xa9-g\xa0\x17\xc3\x82\ +c\x5c\xf0\xe6\xee\xd3\xe7\xbc{\x8a`\xbex\x9d;_\ +\xa2\xbb\xde\x87\xff\x15\x10K \x01S\xfc0\xd1U\xe7\ +\xa7\xfb\x84i@\x9c\xd1x==\xf3\xcf\x9cmM4\ +QS=\xbf\xf4\x93\xe3\xd5\xc2\xd6\x9e\xdf\xa8\xfb\xce\x95\ +\xdf\x17\xccVq\xc0\xf0\x89\xb0&\xe1\x15o\xe4\xf9(\ +\x911f\xb0\x12g~\xd3\xe7\x95Xu\x00\x12\x0d\x87\ +\xe1\x0ea\xeb:\x1d?\x10\xb6&\x94\x05\xd8\x99\x9a\x80\ +\x8a\x0aH\x91\xf8\x98\xded\xbf\x12\xc5\x03\x88\x13\xe72\ +'=\x03\xd6\xe1ia\xab\xc6\xc7\xe6/\xc2\x9a\x9e\xd6\ +G\x845\x95\xd8\x0c\xeckjB\xb6\x92\x16\xe5\x15\x83\ +\xe4\xec\x1d\x10\x8c\xa1\xd3k\x01\xd9?\x98\x0a]\xcf}\ +\xf9\x0f\xff\xff\xa8\xd9\xd6\xfbj\xcc#\xff\xf1\xda\xa5\xa2\ +7\xb7:\xdc/E\xb8v\x92\xe1\xf7\x89y]|v\ +^\x17\xc1\xc0;\xe3*\x22X\x1a\x03\xc9\x1c\x00\xa4\xfa\ +\x5c\xe6\xd4\x0f_\x0bK\xad\xa2(|}p\xb2\x0f\xcd\ +\xcc\x81\x05\xc83\xf5*\xc7\x0cO\xbbm\xd6\x98\x1a^\ +0<\x7fxA\x03\x8ceb\xb1\xf9\xab\xb0\xd5\xcf\xed\ +\xdcf\xe7\xd6;\xb7\xc9\x0a\xfb_4c`\xef\x9e\x94\ +\xf9\x04\x8cv/\xbb{\x99\xdd\xcb4c$\x0f\x5c*\ +\x85%\xca\x97\x89X\x10\xf5\x83\xaaO\xecP\x8bL\xf9\ +\xf9<\xb7\xc4/U\xb1L\xffb<\xa5JzQ\xe9\ +\xcf\x9ej\xedAu\xbfv\x93X\xd3\x18x\xd8d\xd3\ +\xba\x1b\xff\x22,\xd5\xdc/\xbd2'\xb6W\x0b[\x01\ +\x96\xed%\xb6\x17\xdf^|\xa5x\x97\xa8)\x11L\xf1\ +\x84\xbc\x85\x96\xc0\xcb\x16\xeaw\x15\x8c\xb2UY\xe1)\ +\x94\x0cB\xcb\xa0\xa6\x5cd\xa5_BXc!\xdf\xb4\ +hE\xd4\xdf\xcd\x96\xaf\xe1\x85\xd3\x93{\xc1\xcc\xc0X\ +\xd6?\xe6T\xb6\xc6\xa1\xa6\xf3\x87\xc3\xa3\xc3\xd6\xf8b\ +|fX\xf3y\xed?\xad\xceD\xa7{\xc6\x90\x04Q\ +<\x90\xfe\x7f{dX\xe3\x8f\x00!9\xadi|w\ +X\xe3\xbf~\x1d\xd6\xe4=z\xec\xe5C\xe2Z\xfb\x98\ +H(\xed\x98\x04T\x8b9\x90-cZ\x94\x0a0\xa5\ +\xc9\x84qb\x1a\x92\xe7\xf6\x8c\xa5 \xbb=.\xaca\ +.\x01f\x14\x84\x00o4\x15\xc4\xaf\x00|ZO\x00\ +,_\x99@o\x9f\x1d\xf6[\xcec\xccO\xe7\x88\xf3\ +\xd3T\x0f\x22|\xe2?y\x0b\xd1Q\x0c,\xcc\xa0~\ +Z\x16f\xc3\x8f\xc2\x1a\xe0\x050v\x8b\xb0F\x5c0\ +\x19\x22\xe3;\xc2\x1a\xe6}\xb6\x8e\xd0\xacp\x8e\xd2,\ +*\x06\x86\xfb\x94co\x8d\xe3\xb4O7\xbf\x08[\xfd\ +\xee^\x94\x1a\xaa\xbc\xf3\x07\xbam3\xaf\x13B\x1f\xc7\ +\xdb5\xf2\x00\xfb\xf5\xda\x83ZcWR\xec\xa7\x16\xc6\ +[\xc2\x9a@Z u\x91<`\xaf\xb1\x04b\x9b\xf7\ +\xe6E\x03k?\x08\xf8\xf5\x04{\x1e\ +\xc6uI\xe4\xba\xfb]\xcf\xc7\xfe\xc6\x04\x03\x84\xaa\xf0\ +$\xd0Y=\xf0*\xbd\x12]\xfe\xc0\xfd\xf49%\xee\ +*\x13\xf6\xeb*B\xbah\x5c$\x10[\x01\xab\xfb'\ +\xa0\x940\x12ot\xbe8\xa7\xddG\xfe\xcb\xe7\x048\ +\xb8\x0e\xeb\xd9\xfa\xcf\xf1\xbe\xa5\x09\xf4g{\x8e\x88@\ +\x99\xd8\x9e\x8aqUR\x00x\xde\x8f\xdf\xa0y\xa1b\ +\x04\x18\xe1\x073\xb1-\x11?~\x91\x1atR\x861\ +/$\x12\xd6aU\xec%\x8c*'\xa8\xe9I!/\ +\x95x\xa2S/\x0c[)\xc2;\x9f\x0akT\xd2\x05\ +fy~\x0cW\x0bk\x00&\xfb6\x81\x8a\xcd\xd7\xc2\ +\x1a\x0a7J-\xb1\xa9L@\x87\x1b\x845\x95w\xaa\ +\xe0\x00\x1c\x81&\xea\xb6\xc4\x08eX\xeb\x82\xcf\x97\x22\ +R\x00\xc0j\x19X5JfqC\xad\x08\x9b\xd7\x87\ +5\x0c\x91\xac\xa4o\x9f\x14\xf6[\x18U\xd4\xaa\x016\ +\x09T\xd6}w\x9e\x8agz\x80\xd9zVH\x11P\ +\xdb\xcf\xceQZ\x03g\x0e[\x81\x9d\x02,1Pr\ +\x1aQ%\xb0\xd1\xb25\xad\xe7\xf19\xe3s\xc7)\x80\ +\x1e\xf7n\x0f\x98\xe7s\xbf7U\xb5\x89,n\x97m\ +1\x5c+l\xf5\xcf\xa5\x99\x95\xf7\xbb\x98\xae\x07\x0f\x07\ +\x0d\x077\x05\x97\xa4,\x8f\xc7\x84\xcd\x94\xe4'\xcc\x94\ +\xe4\xcf.\xf1\xa2\x8a\xed<\xae\xef\xd7\x8d\xdf8a\xe6\ +\x1c\x96*\xfe~\xda\x07\xdf\xda|3\xc4$gx\xae\ +\x11I\x1b\xff3l\xaet/c\xea\xce\x12\xaa[\xd3\ +\xeb\xfc\xb5\xb6\xc0T%\xfeGa\xd3\xebU\xc3\x9a\x96\ +\xaan\xca\xd2\xac\xca\x7f\xd4\x0a\x00U\x81\x8cX\xdb\xd7\ +\xc3\xd6\xe7*\xf1p\x9eo/\x1d\xd6\xb4\x1a\xfcn\xd8\ +\xf4\xfa\x8b\xc9\xa6xp\xf7\xf4a\xd3\xeb\x1b\xc2RE\ +\xfdE3P\xb2\x8cQ\xbc\xd42\xe7\xbe>\xc7G\x97\ +\xd6\x9a\xe9^.yI\xfa)yLi\xe5\xa4\xc8n\ +\x89\x8f\xf3\xe3\x18\x05\xc4\xde\x14\x221\x97\x9f\x16\xb6\xb6\ +|\x8e\x87\x85\xad\xa2\xd0Z\xaa\x8a\xf9\x92\x80\xf2\xe6!\ +a\xab\x9f\xc4\x10\xc3D\x9ev\xcd\xd5b\xdfD\xb6\x13\ +\xf9\x0e5\xff\xaa\xe8cV`\xd6\xf0\xd7z\xea\x89\xf2\ +)\x94\x89\x1f\xe5\x1f\xf6\x8f\xf5\x92\x80\x88\xf1\x86\xc3e\ +\xc2\xa6\xef\x9f\x1e6}\xff\xae\xb0\xb5r^\x85\x0f\xf9\ +\x04\xf1\xdad\xa8\x19oZ\xda\x03*\xdf\xfc\x03M8\ +\xff\x9f\x80@\x891\xf3\xd3\xfc\x0f\x06o2\xca\xa6\xb8\ +l\xb2\xe6s`\x98\xe5\x94\x9a\x9a.p\xd6e]\xd7\ +~\xe9\xa6\x13\x00,*\x0e\x02\x04\xbbo\xe2\x07\xd7G\ +\x14^\xcb\xc5\x87\xc3\x1a\xe07\xa7\x08\x948\xa2\xb8\x8a\ +\xdfr\x0e\xf3g\xe2\xac~\xda\x16\xc6{\xf6\xde\x17C\ +\x22\xe3\x03y\xe8\xf8\xba\xb0\x99A3\x8b\xf3\x17\xb3\x11\ +\xc3\xd3xZcc\xe5\xe9\x18W\xa9\xe9\xb1{TX\ +3%B\xdc\xf6\x85\xb0\xe9\xf5\xd3a\xd3v\x9e\xd5\xfa\ +\xdf\x92cl\xa6\x04x8\xcbp\x96p\xa8\xd1\x015\ +\xefJ\ +]\x5c\x9e\xbb\xc0z\xfd\xff}\xa9\xfd~\x7f\x1dc\xb7\ +\xack\xc0\x94\x0a\xb2J\xacD\xaa\x17\x19s]\xbb%\ +\x9a\xb8\xef\xf5\xd5I^\xaf\xcb\xf3\xb7nN\x8b\xe2\xdf\ +U\xdc+\xf1\x17\xc8\x0a\xe4\x1c8\x0e\x8e^\xfc\xd0:\ +\xf5\xbd\xf5\xed\x0b\xc2\xdb\x8fw\xe9\xdf\x97\xa3u=(\ +\xb3Dp\x88[\x99\x8b\xac\xc7X\xa5\xee\xf0TM%\ +f\xd4QR\x8b\xe1q\xc8\xbe\x14\xd3),\x98\x03\xe1\ +Jt\xdd'\xfe\xc1uS\x9f_\xc5\xcb\x96y\xb9\xc6\ +j\x11\xf3zIR\xe8\x9e\xb6\xf4\x16\xd7\xc1\xf3\x83\xb0\ +&\xb1Q\x99Uy\x96(I\xc8\xf8#\xfe\xd0s\x91\ +\x80\x9f\xae\xd3\x22\x90P\xf6\x01\x84\xe7\xac\x12\x98T\xc5\ +\xcdk\xc2\x9a\xcf\x09\x10\x13 \xaa\x10\xdbO(\xf9=\ +\x90\x881\xe0\xba\xcd\x11\xc6\x1c\x90\x90;\xc0\x89\xa5y\ +\x1f\x80\x81\x8a-\xe6\x86\xf5x\x8f\xd9V\x7f\xe9\xbe\xa8\ +\xfci]\xe8\xe7\xa9\x03V\xb4\x10x\xbe\x98\x03\xce\x93\ +\xbeE\xc1\x14\x01-f\xf6\x01\x913\x09K\xfa\xd9\x9a\ +*\x90\xd3\x1fj\x0a\x89\xe9-Z\x01\x00\x99\xbd\xf8\xac\ +\xf5\x8fQ\xa4\x95\xc4\xf3\xb4O\x5cg\xaa\x99\x131+\ +\xff\x9f\xeb\xa2\xc6;\x0a\x84\xfc\x1e\x7fa\x7fZ\xc7>\ +\xaf\xc4\x0a`\xe6|\xa3Ia\x7f&c\xa9*8\x12\ +1\xa2H*U\xb4\x5c^\xb9\xa8\xd9\xd7\xf3\xe95C\ +\xac\xbfT}\xaf^\xc8\x1c\xf76\x9c.\xac\x01\x90\x88\ +\xd2\x01\x1c$\xac\xd9\x1bZZ!\x8f^\xc6\x86\xd59\ +\x88\xa2\xe9\x1c\xc99\xcbE!Mj\xf6p\xe3\xb0\xe9\ +\xf1>4\xac\xd10\xc8\xca\xd4\xf0\x92\xb0\x06\xd8\xa1)\ +\x22@\xcb\x0aOi\x22\xb9^?\xaf\xc5\x02P\x94\x14\ +\xe4a\x0c[\xc5\x8ak>\xf6E\x17\xb1\xb4\xfa=q\ +\x89\xd6\x09\x899?\x802\x8cy\xa2\x82\x86\x9a\x9fS\ +\x03\x88\xd6\x15\x85_\xdc\xc1\xaf\xd8\xc7\x09d\x11\xc3\xdb\ +\xaf\xa0\xe1\xfc\xcaD\xa9oy\xa9\xfd\xea>\xd9\xef\xc6\ +\xecY\xbf\xfe\x9e\xe9L\xfd\xd8Q\x9aA\xa9\xf2\x1eR\ +\xab\xb3\xd8\xaa\xf3 \xc7\xbe\xfd\xe6\xb6\xbf\xb9\xddon\ +;\xfd\xf9\xb3\xed\x9eu7\xc6\xcc\xdd-l\xae\x14\xce\ +s\xb6M\xd9!\x22\xbbs\xf6\x9d\xb3\xedL\xfby\xe7\ +\x97\x93M\xebd\xe7\x12a\xd3\xff\xbf9\xc7\xde\xfdG\ +\xd8\xd2j1r~\xce3\xa3i\x9e\xf7\xfe\xb1\xa6\x82L\xdc\xcd\ +z\x8b\x96\xb4G6\x80\x9e\xfd\xf6;3\x17b\x05\x9e\ +2\xe1/\xd1\xcd\xd4\xc8PY\x1d\xbf\x1d6\xfd\xfb\x0f\ +\xc2\xa6\x7f\xbf\xf8R\xb9\x1f\xdf\xbfL\x07\xd8^k{\ +\xcd\x98\x22Q\x80C<\xbd)>\x1f\xff$l\xad$\ +o\x8f\xd9\xber\x9e\xb7\xfe\xe8\x14\x0f\x07\xa0J\xf4\x93\ +\x02>>+l\xcd\x17\xec\x87\x9a&\x22!%Ni\ +\xaa\xc9\x95RL1\xfd\xf0\xf8\xd9\xb0\xe9\xba\x8f\x0a[\ +\xf7\xf7\x0c\xa4\xbc\xbf\xd1\x22\xc8\x96\x87\xdd?\x0c[5\ +\x18\x86\x7f\x0bk4&\x12\x08\xd8|1l\xfa\xff\x07\ +\x865\x05\xc5\x9b\x845\x80\x8bxB\xfc\xc9\xaf\x02\xc0\ +\xbaV\xcf\x02\x06<'\xe7\x03@=\x19c5>4\ +\xdfg\xfcP\xd8t=\xef\x08[\xf7Ii\xb7\xa8x\ +c\x10\x02\x1e\xba\xe9+\xc5\x88\xd6\x22\x90\xc0\x01\x91\xd2\ +:\xa7\x9d\x0b*\xf2\xe2#\x05\xc1\x14\xd5\x9e\x9e\xf6d\ +\x0ds\x0b\xe3\x95\xf6K\xc6\xa3\xd5\xa2\x9e\x00R\x15 \ +\xc5\x0d\x00e\xfe \x99\x14%\xae\xba\xae\xeb\xe5|\xd3\ +\xa3\xff\xa0Ek\xae\xf22\xfe\x90\x7f\x11'\xc8\x8b\xe4\ +%\xe2Z\xcfO|\x84y\xcb\xffa\xa4\xe4\xd4\x91\xf1\ +\x17ak\x9c0\xfe \xacada\xa4\xe4\xf8\xd9\x8a\ +wR\xe3\xa0\xceM\x9an\xd9\xb2Ub\xb2y>\xd6\ +\xf5%\xf3j\xf3\x91\xb0\xe9\xf9\xffq\xd8z\xff\xf7V\ +\xc5'\x8e\xbf?](c{\xa6\x8d\xb59ys\xf2\ +\xdc+\x08\x19\x8ap\xf9'Y\x81\xb8z#\xce\x97\x0b\ +\xc5\x07\xab@&\x1fh\x89@\xb8\xb1z\x85\x8f[\xa8\ +1\xe5\xd0\xba\xcan\x89(\xe5\xb8\x8e:\x08\x04z\x07\ +u\xe3\xe4|\x0f00\xde#{\x94\xaa\xe2\x05\xd9\xb7\ +\xe1 6\x00\x00\x81G?\xdfZb\xd2\x05F\x15H\ +\x0b\xa4\x040\xc4\xc9\xce\x9dc\xfd\x1c\xcc\x1e\x8cDn\ +e\x08,\x01\xa6\xc0\xcf\x81\x0d\x00\xf0\xef~\xce}\x10\ +\x00B\xd8,t\xf7\xb3\xd7\x12\x90\xb0\xd8\xa0\x9f\x9am\ +\xad@\x7fa\x11\xcb\xab\x1em\x08\xa3\x0ai\xaa\x09\x97\ +\x0a\xb0\x03L\xa2\xbc\x8a\x08\xee\xcbD\xe8{\x81\x05\x0a\ +\x9e\x9f\xc4\xf4\xbd)*\xf4\x9bJ\x9ci5,\xd7\xef\ +\xbe\x00\x02T\x88\xcc9\xe5\xf0_2\xdb\x1a\x98\xa8\x90\ +x\x9eI\x0d\x07\x5c\xed7\xe7\xde:\xbdR\x1e\xc0\xd6\ +\x9fD]\xe0\xd8\xbf\xba\xbf?\xcd\xe7\xe0\xdfM\x0f\xf0\ +>*2*6}O.@\xa5\xa7D\xae\x09\xbe)\ +\x18Z\x22\x96\xff_[U\x96\xd6\x13\xad\x1f\x02\xb5t\ +\xf4\xdb\x0f-\x00\xc9\xe6&K/P\xedC\xd7\xeb}\ +<\xa7\xfe\xfa.\x90\xeb\x7fE\x9e\x17\xc7k_\x9c\xab\ +\xd4\xd2\xf7\x1d\x93\xd8O\xb9\xe8U\xde\x0fJ L\x80\ +\xe3\xdfWQ\xc0e\xbd\xfb=\x0c\x95\xcb\xed;\xce\xb0\ +\xd4\x90\x89\xed\x9c\x98\xf7\x190\xc5\xe1\xbb\xcf*\xc2\x12\ +G\xeb\xfffI9\xef\xc7\xc1\xf1\x0f\x02\xa7D\xa2+\ +\xb1\xf5\x0b\xf4\xad\x1f\x00(@\xc3\xbf\ +K\xec\xb4(\xf4S\x07\xba\xb1\x84u=\xd6\x89\xeb\xa1\ +\xaa\x9f*\xee\xe5\x8f\xbd\xbf\x04DE\x14p\x80q\xd2\ +\xfbi\xbd\xd7\xfd\xb4\x16\x7f\xb7\x9f\x1e\x03\xd8H\x91\xae\ +\xed\xd1a\xcd\xdcs\x95q\xd7\xef\xb9\xea)\x94\x00\xf4\ +L\x89N$\xb1\x02\x1c\x88?\x11\x5c\x95\x14\x01\xb2s\ +\x01\xb3\xc2\xe7\xb3N\x9cg\x12\xb4N\x5ct\xbfq\xb3\ +\x98;\xa9\xfe^\x09i\xcey.`T<\x91\xeb\xb3\ +\xd4\xb61.P\x1b\x8da\xb5.\xf5B\xe6|\xee\xed\ +\x8d\xc3\xa6mxBX\xa3\xe6\x9f=\xf5\x05h\x01\x1c\ +P\x91%\xb2\xf6\x95\xfb\xc1o%3\xa8(\xb9z\xc5\ +\xf3\xdc\x1a\xef\x1d6\xfd\xffU\xc2\x9a\xd6\x92L8\xeb\ +\xf3g\xc0[j\xeb\x09p\xd4\x14\x16\x80}\xb6*\x95\ +\x7f\xce\x80\xad\xc4#Qy\xb3bC\xb3`{\xba\xb0\ +\xe9z~\x1e\xd6\x9c\xe3\xc6k\xb5\x1f\x9b\x95\xd9\xfb6\x15Z\xc0\x9e\x16\ +N\x00\xde#g\x8b\x04\xff\x03s\x82\xafR\xfa\xb0\x5c\ +\xf7\xe2n\xd3\x90\x9c\x874b2\x0e\x99\xc7\xc76c\ +\xc2\xaa\x92\xad\x15W\xeb\xce\xc7\x97\x96\x89\xed\xe5'\xbb\ +\x5c#\xa2j\x8c\x22\x15\xfc\x98\xc6\x10\x89\xf6\xf1a\x8d\ +\xc8^N\xdb\x99)\xf1\x8fJ\x91\xe2\xeb4\x1a\x1e\x9f\ +M\x95\xfa\x8b\xe6\x18\xb5\x03\xb6{\x83\xa1\xb1=\x7f\xd8\ +\xaaUQ\xfb0\xf7\xf7\xf6ea\x0d\xa5\x1a\xe3L\x1c\ +\xa8\xf2\x9c\x05\xb2\xf1\x1aa!2\x9d\xdaT\xc6\x12\x1a\ +\xa7\x06\xb8J@~<5l\xf5;\xa6\x13\x10[\x1b\ +\xfet\x7f\xad\xa3L<\xca\xb1\x0b\ +\xe0\x1c\xa4^s:A\x05~?)Q\xa3e=\x9c\ +'\xef\x97D\x05P\x01h\xb0\x7f\xad+\x9f\x1b\xd2\xee\ +\xf7\xfaV\x13~#\x13\xea\x9a\x13\xee\xfe\x09(\x05\xfe\ +\xc6\xb8\xa5\x88\x92\x03\xb74\x04\xf4\x04Z\xe7\xfc)\xc0\ +\xb4\x03X\x0a\xa0\x90@\x02\x0e\xba1Gu\xe0Il\ +\x89%\xd2l\xe8\xc7?\xf5SUz\x00\xa9\xa7\xd4c\ +nYG\xd6\x81\x80\x16\xe5_\xa2\x0d\x08\xe0\xff\xb4\x84\ +\xf1{>\xafD\xa7\xf3\xdf\x12I\x95b\x09n\x8dO\ +\xb2\xef\x5c\xb7\xef\x89\xdd\x99\xe6\xa1\xd70E\x02\x8b\x89\ + A\xe3W\x9c7\xb4\x0d0\x11\x00(\xfc\xb3\xfbk\ +\xbf\xb9^~\x9c?\xe4W\xf8\x19\xff\xae\x15\xc7\xf9-\ +\xe0;d\xe6\xd2\xac\x7f/\xee\xd2\x99\x1a\xcd\x18\xfb\x18\ + \x90TM\x94\xc6R\xe1\xfe\xc7\xb0f\x1ff\xa2\xeb\ +\x9c\xdf<&\xac\x99\xf7l*\x80\x1e\xf3\xf7\x845T\ +U\xc0\x88\xdeOT\xd3\xd4\x08\xa81K\x12\xe3\xa7\x86\ +5cF3`/\xcd\x83\x95\xe2;3\x0dj?j\ +QK\xb1\xbf\xda_\x80\x00c4\xf9O\xf7\x09\xf0\x8c\ +\xc1\x87!\x84\xda\xec~gK\xc2\xe6[ak\x00\x8d\ +\xba_=\xf9\x18&\xa6\xe8\xe4s\xae\x16\x94\xae%\xa2\ +D\x0311\xfb\xe9D\xf6\x99\xf5 \xfe\x11\x08\xf3\x03\ +\xfd\xb4$\x8c\xcd\x04\x18\xaa\x95!\x7f\xbf\xa6\x8787\ +\xec/\xbf\xcf_\xd8\xbf\xf6\xed-S\xd4\x12\xd5\x17\xa3\ +B\xe0\x9c\xe7\xcax\xe5\xb0\xe9\xf8\xbba\xd8\xf4\xfd\x9c\ +\x09\xad\xad\xaa\xc5\x8cI\xa0p8\x7f\xd8\xf4s\xbf\x09\ +\x9b\x19BK\x22\x9dS\xac\x00x\xc3\xad\xc2\xa6\xd7s\ +\x0cg\x1f\xce\xb1\x02\xa6\x18]\x05XeB\xc5\x7fU\ +E\xf3\xbb\xdb\xef\xcd\xcc\xd9|\x9d\xd3\xa2\x83W\xa0`\ +\xfb\x9c\xb0\x068\xd4z\x01\xd0\xfa\xdc\xacz\x14\x0c\xde\ +\xb7m\xde\xda\x8c\x9d\xd4\xc2\x95\xdaW\xd5\xa2\x82\xa9\x94\ +\xfev\x8a\xf6O\x98\x13!Z\x0e\x0a\x13\xe9\xc7\x8a\x02\ +\x9e~q{\x9f\xb0\xf5\xb9\x8d_\x08k\x18\x1e)~\ +7\xf7\xee_b\xd5,\x99E\x07\xcf\x9a\x89\xdc\x8f\x9a\ +\xe9\x1a!\x06y\xc1uZ\x06\xc6K\xa9\xb0\xbf\xb9\xbb\ +.~\xcb\xb9\xf4\x07a\xd3u\xec\x86\xad~\x01\x03a\ +{\xf7\xb0\xa62\xcd\x7f\x98\xb3n\x9f\xe4\xbaW\xe9\xaf\ +\xe9!\x99\xa8K\xa4\xc7\xbf\x0ck\x00\x1eL\xa7\x04\xd6\ +\x00\x88\xc3U\xc2\x9a1\xaeI)\x8f!\x881\x06q\ +{\xf8\xf6\xfe!~^q\x90)l\xbf\x176}\xff\ +\xa0\xd9\xf6l\x8f\x08k\xb4K\xf8u\x050\xad\xb6\xbe\ +\x00\xed\xe6\xc7?2\x19!\xd6\x83\xb1\xa8\xd9\x1aQ\xd3\ +K\xc4\x0d\xceY\xf1\x8b\xc2)-\x11\xc0\xae\xf8\xdb\xfe\ +\xb4\xef\xce\x17\xb6^\x87\xfc\xae\xee\xfby\xc2\x1a&\x04\ +f\x94\xd6\xc4\xb5ew\x99~\xd0iuE4?\xb7\ +Tb\xcc\xa4\x86B\xe5\x05\x0a8\x98e\xce5\x00X\ +\x02$\xb5\x9frzB\xed\x7f\x0c\x08\xf1\x81s\x9f\x9f\ +Spt]\xf2H7R\x9c%>|\xc0\xc2>\xf0\xb9\xff!)\xcb\xdf\xcf\x0a\xea\x1f\ +-\xbd\xdd*\x91\xbb/\x0d\x9b\xdc\xeb\x0b\xc3\xa6\x7f\x7f\ +\xc22\x0e\xb8\x12u\xad\x19D:\xef\x166\xfd\xfc\xb3\ +\xc3V\x8d\x89\xe9\x94Y\x80r\xf7\x1de\xf7\x01\x9b\xc3\ +\xa3RLdk\xde\xed{\x9b\xcfG\x1c6\xa9\xd73\ +\xa3`\xbb\xc61\xe6\xb7\xd7}J\x80\xbaz\xaf\x8f\xda\ +>v\xee\xc5Of\xdb\x1c\xed\xbcfN\xbc\x16\x7f\x9c\ +\x8c\x87:W\xcf\x9c\x1a\x09D\x88\xb5J\x8aC\xf8\x17\ +\x00\x9cs\xd1\xf7\xfc\x18\xea\xfa\xc1\x16\xaf\xd9\x00\x00 \ +\x00IDAT\xdb\xc3\xe6\xf1\xa0\xcbz\xf8l&\xa4\ +ZH\x83\x11p\xf9\x86y\x9bj\xff1\x1cq\x9c\x12\ +\xf0\xf1\xa5\x93\xbd$\x81\x99\xbb\xae\x09\xdc\xdc\xda2\xdd\ +\x87\xe1\x7f\xc2\xa6\x9f\xfbiXS\x11\xcdx\x85\x88]\ +\xb5\x88\xd2\x9a\xb0\x0e\x88\x91\xa6\xca\xbe1g\x80\x97\xed\ +C\xc3\x9as\x1c\x93-\xd7U\xb5\x0a+\x0cx\x0e\xe9\ +7\xaa\xd2\x9d\x1ae\xa51\xf5\xdc\xd9\xf6\x8c'\x865\ +\xf1\x9bD\x9a\x88\xabs6\xf7\xd9p\xcb\xe1V\xc3-\ +\x9b\xc2\x09\x86W\xc6\xdf\xe3)a+\xc0Qj\xfc\xfc\ +`\xfa\xed\x02\x06\xfd\xbf\xf3C^\xa5P\x9a\x95\xefj\ +\xd58K\xd8\x9a\xd8\x97\x88\x9c\xbc\x05\xb3k\xd5\x9a\x9a\ +\xfd\xd2\xf6\xd6aM\x9c \x0eq>\x8a\xfb\x9d\x0b\xc4\ +/_\x1c6}\xff\xd4\xd9\xd6\xfd\xe3<\xb1\xfe\x88\x19\ +{\xfe\x00n\xf1\xaci\x08\x18\x94\x00\x04\xe7\xac\xbf\x9b\ +- un\xf1\xc3\x99\xcf\x96VL\xc6)5\x86V\ +\x82OlX\xfeg\xbf\xc8\xd3\x14(zqz\xfe\xcb\ +4\x22\xfeS\xa5>\x81\xf8\xc9?M\xd6\xb4\xd6\xc8\x87\ +\x89>z\x8e\x18\xc2\x18\x18\x09\xe8\x98\x1a\xa0u\xa54\ +\xa1\x14\xc8S\xb3\xa3\x18U\xc4i\x9d\xa7\xe9\x07\xf6\xd6\ +8\x1ccz\x88W\xe4\x98\x80Ru\x84\xd8%5j\ +s\xd9\xa4\xbaB\x8a\xf5l\xe8\xc9\x0d\xfc\xee\xb5\xd9\x22\ +p\x5c>\xd8\x7f\x9c\x03\xf7\xa5\x22\x84\xa2\x01\xb1\x16\xb0\ +\xfc\xb2*\xc0Kb\xd1S\x91{*\xb9\x0d\xfd\xe5\xec\ +\x951\x06\xe3Y\xb3\xad\x95\xd4\xce\x11\xd7\xfbK\xf0\xfc\ +\x7f\xdfc\xee\xd5\xbf{\xd0\xfd\xb8\xbd\xbe\xf7\xda\xc2\xf0\ +w\x04F\xfdX\xaf\xb5R\xbe/\x92\xdek\x0e\x98&\ +`Ni\x22\x92\xf5\xf9\xf5\x0c\xa9\x88\x9bC\xec\xa0u\ +\xffT\x8c\xbfR\xa2G\x8b\xa8KRo\xea\xc0\x05X\ +8\x88U\xa2\x88\xeet\xe2p\xcd4\x85\xe5\xf3\xfc*\ +?\x8f\xf7\xd3\x1bj\x1c\xcb?\x16\xd5\x7fA\xf6\x12\x90\ + \x8eR\x81\xad\xcaO_!\xa4\x19\xa1W3\x13\xfc\ +\xfa{\xa8_]\x02[\x88\xb6^\xc2\x8b\xa5\xa3\x93\x88\ +\xd8x\xd6\xe3\xc1y\xc0l\xba\x0a\xc7\xb6K\xf8\xfbJ\ +}\x97\xc84\xc0\xd1\x12Xg\x05\xbd*g\x97\xc8\x84\ +\xb6\x9f3\xee\x80\xeb\x01\xac\xdf\xd4:[\xf6\x87\xf5\xa1\ +\x97\x1ce\x12\xa5[@\xefy\xaaDI\x9c\xf5F\xfb\ +\xfc\x0e\x1ac\xa9\xb2U\xa2(\xee\x17\xca\x80\xcc\xe7\xb2\ +n9\x5c\x81\xa2\x83\xe4\xf7\x12a\xben\x8a\xb2\xa5z\ +r!\xad\xa8\x8a\x02i\x95c\x22k\x9e\xd753\xb1\ +\x95\xf8Ax\xaf\x9b\xaf\x7f\x94=\xe5)\xe6\xb5yr\ +&\x5c\xcf^*)\x05p\x18\x0f(\xa1\xb5\x8f\x1d\xdc\ +\xd6\xa1\xe7\x88*\xe8s\xb9n\xfbY/{V**\ +q%^\x9aT\xcf\xcd\xdb\xc3\x9a\xfb\xec\xe0\xbeC\xae\ +\xf7\xabg\x22\x00\x91w\x1fP\x12%\xd2z\xef%\x86\ +\xd6\x87\xeb\xa3a\x00H\xe8\x9f\xab\xdf_[w\xf6\xe9\ +\xd9\xad\x83=\x13\xf6J\x88$\xa0\x00\x04\x22f\xc4D\ +%\x92\xd4\xea\xfbD\xa0\x17\x89\xf4|\xf93\xff\xcf\xaf\ +\x18[g\xdf;`\x058(\xaa\x00\x19\xeb\xa1gr\ +\xe9\x19t\xbf\x1d\xd0)\xaaC\xc5\xb9\x02\x0f\xfbR/\ +5m\x00\xeb\x19\x15\x8f\x16\x85@\x8e\xbf\xb2/\x00\xdf\ +IE\x16\xe0\x14\x03@\xa2*\x91\xe9\xa7b\xe8\xf9\xf4\ +~\x12 \x7fO\xc0\xea~9g\xb4\xa0\xe5T\x83J\ +,;q\xa5\xaa|\xd0\x98p\xde\x9c\x16\x03\xceuy\ +\xae\xde/)\xb1\x9b\x9b\x875\xd2#\x12\x07L\x91\x14\ +\x0b\xacqm\xc4\x08\x89\xed}#\xac\x11\xd5\xc2\x88r\ +\x7f\x5c\x97\xf3.\xf7\xb1\x04\x19u\xdf\xfbn\xef\x19\xd6\ +\xac?\xcf1\x03\xf2\xcd3\xc3~\xcb\x14\x87\x14\x05.\ +\xcd\x05\x15\xd1\x146\x17\ +\x10\x16\xed\xaa\x1b,@\xc0\xe6'\x8bz\xfc&\xc7\x1d\ +o>\x116\xbd\x9e\x10\xd6\xf8\xfd\x14\x91\xdd~2[\ +\x14\xb32X\xe7\x8f\xe7\xa3\xf2'\x1e$\x1a\x99\x15\xd9\ +YE\xffa\x8d\x9f\xbc\xfe\xbeZH\xd3.\x98{\x9a\ +\xabgY<\x01@\xe9\xe35\x80@\xfa\x99\x12\xa5\xd3\ +\xfb\xec\xbc7\xce\xee\xbdY\x99\xcd\xf8\x0dpg}V\ +\x82rr\xd8,:\xf7\x8c\xf1\x19\xa9\xc11%>\xe3\ +\xcb\xc6\x97\x8e/\x9b5\x01\xae=\x8f\x9d\x0cQ\xe0\xe9\ +\xf9\x0e\x97\x0a\x9b[Q\x0e\x9f[Q\xee\x136\xbd\x8e\ +\x9b\xdd\xcd\xee\x0c\xb4-~\xfdU\x8b\x9f\xa8\xb8Y\xc2\ +\x87i\xa7\xd2/1\x14\xf7$\xc3\xa5\xf2\x03~3\xfd\ +\xeax\x9d\xb0\xe9:\x9e\x15\xd6\xecG\x899\x91\xd3l\ +\x91-\x7f$1M\x8a\xfbx\x8b\xb0L(\x0f\x9f\x99\ +\x11\xd7\x08\x06\xc0p\xe3\xe1\x0fB[@\xa2gJ\xc0\ +\xf0\xb8\xb0\xa6P\x90\xeb\xbcT\xf7s]\x010j_\ +ZWy\xbeWk\x87B\x0eQT\x89\xb7\x845\x01\ +\x9b\xf1Va\xeb\xbe\x9e\xee\xf3d\x0d\xc3\xc0\xba\xe1w\ +\x88\xe9\xfa{\x87\x845\x09*-\x1ey\x03m0\xfb\ +\x95H|\xe6s\xb4\x04J\xdb-\xcfE\x00\x8e\xf8\xc9\ +}\xe0G\xb5*9\xff\x8b\xf1\x91*\xf9\x9b\xbb\x84\xad\ +\x09~\xf9\x9d\xf4\xb3\xc5d4.0E\xa2+\xf16\ +\x85\xc1\xfes\xce\x02\xc6\xb4\xb8h\xd1r_1\x972\ +o.?\xe6\x9cIm\x8c*\x00\xbb.q\x8b\xf3\x9d\ +\x9fs\xff\xd2\xcf\xd5ujm\xca\xd6^c\x01\x9d\x9b\ +u\xbee\xdc\xa1\x85e\xf3\x81\xb0f*N\xb6\x9e\xed\ +\x9d\x7f\xfc6M\xe0\xc41Pq\xcdq\x11\xd3\xf1\xfd\ +\xf8\xcd\xe3g\x04c\xa6\xceUOJ\x22P\xd5\xcb\xf6\ +\xd5\xb0\x85\xda\x1a\xa2{\xb3\x1a\xef\xc3\xd7\x9f\x9f\xc2\xa5\ +\x99\x026\xb9\xcdy<`mP\x95\xc1\x9e\xca\x08\x00\ +\x90`\xf8\xf2\xbd\x1b\xf6\xa2D\x04\xff8E'\x04\x98\ +~\xbf\x9f\x9b\xdcS\xcb\xfb\xc4\xbeK\xfc\xa9\xa6V`\ +(\x81\xc7\x1c\xe8\x12\xfa\xed\x0f3\xc0\xba\x5c\x06\xb6\x00\ +\x81\xdeq\xf5\xe2|\x16\x86@W\xe0\xe6\xe7]\xcf'\ +\x96\xcaf11|\x1e\x07#U\xd6\xa46V \xe3\ +}\x93\x82\x5c?\xdf\x8f\x1bt? {I\xdd\xae\xde\ +\x7f\x0bY\xa2\xec>\xa8\x5c\xb8\xcf\x0ep\x0eS\x85\x84\ +c\x92\xa0\xa6\xe8O\xa9?\x0b\x10\x05\x82)\x02U\x01\ +\xb8D\xce\xfdA5C\xb5\xcb9\xc3UYq\xbd\x19\ +xl\xbf\xb4\xac\xdb\xcd\xb5\xf2\xfe\x0d\x1d\x83\xc2\xf3\x10\ +\xd0\xf4\xe3\x19U\xbe{&\x09\x87\xf0\xcf\x89\xb4\x01:\ +$f(\xb9(\xf7\x90;\x09\xb0\x8a6\xea\xfcy\x12\ +\xe0\xd1\xeb\x0e\xf0\xd1Rq\xc6nn\xac\xe7\xa8B\xc7\ +\xb1I|\xde\x9e\xd3.T\xae\xfa\xca\xa3\xe7\xc5\xb1[\ +\x07\x02`\x88\xb1^F\xeb\x95\xd8\xa59\xe5*\xf4\x12\ +\x9a+\xe7\xe7\x82\x88K@\xbdRc\x97\xb0JL;\ +D\xbb\x02u\x09\xae\x00\xe5\xeeK\x05g:\xa4\x96\xf7\ +\xe1\x88}\xa9\x88gE\xb0\xa8\xc2z\xbe0W\x04\x9e\ +\x9e\x8b\xca\x9d\xc4F \x85b\xec@\x82|s\xdcz\ +,\xdd\x07\x95\xf0\x10]\xfd\xdb\xa6\xb2\x82\x02.\x00H\ +q\x96Z\x7f\x026\x89\xbb\xef\xf93\x075\x00K\xa5\ +Y\xe2\xd7k\x1d\x00X\xd6\xb1\x9f\xcb\xe7\x11P\xfe\xef\ +\xbe\x9a\x1dEE\x06\xa8\xe9\xdd\xce\x1e\xe8\xcdK\xc3\x1a\ +j\xba\xaf\x9e\x22\xdc\x8bU\xf6~\xce\xf58\x87$\xa4\ +\xc6;b>\xd9'\x12U\xf7E\xe5KE\x1f\xf5\x12\ +\xa3\xc3\xcf\xdb\xdf*r\xd9\x13\xa9\xa2[\xeb\xc6A\x8a\ +\x91\x92\x80d\x01!\x12SSr\xf8I\xd7\xcf_\x0b\ +\xcc\xb3b_\x95\x06\xd7#`%\x0a\xe8\xfd\x05Rz\ +\x01\x89\xfb\xf4\xadE(\xed\x98M\xbdx\xa1\x04\xc7\xdf\ +#.i<\x1d\x86\x89\xfd&\xe1\xec\x01\x80\x03;m\ +\x0e\xaf\x80aSKPZ}~c\xd3\x8c\xa9U\x11\ +\xc1\xb4\xd02\x97=\xee\xc3C\xc3\x1a?\xa1%\xc5\xf9\ +f\x9d\xd2\xf2\xe0\xdf\x8e\x9a\xad\x02\xbb\xda\xbf\xeb8\xe0\ +\xe5\xe7\xf9g\xfbKo\xa6\xf1u\x9e\xab\xfb\x07\x00B\ +\xbd\xcf1\xc7\xc6\xcb\x96\xca9U\xf5\xdf\x0bk\xa8\xda\ +\x99\xa0Z\x97\xa5\xca\x9c\x15\xb9\xcdo\xc2\xd6\xf1\x7f\xc4\ +\xea\xfa\x9e\xf9bH\xd9\x7f\x99\x98W\xe5\x08\x90\xa0g\ +\x1e0\x06\xa8\xc4\x0c\xc8\xc4\xd6|\xf8\xcd\xd3\xc3\x1a?\ +\x00P\xb4\xff\xac\x0b\xbd\xac\xf6i\xcf\xb4\xf9\xff;/\ +\xfb\xf8\xad\xa7\xcc\xfa\xbe\x9fK\xce_\xf1K\xe2\x0b\x94\ +b\xf3\xecQ\x81Q\xdb\x8f\x09\x9b.\xebO\xc3\xd6\x8a\ +\xafqr\xf5\xf9\xb2\xf2_\xd312~\xf5>T\xe1\ +\xdd\xff\xcdc\x96\x96\xa9\x9d\x8b\xec\x5ctgz>\xc3\ +\xcf\x86\x9f\x0eS\xfc\xbas\xfe\xb0\xa62\xabr\xab\xd2\ +\x99\xe2\x825\xcf<\xa7\x04h\xc1\xa8\xcay\x8e\xd3+\ +f\xa3\xfb\xe69>p\xb6\xf5\xdf\xbf\xbd\xdc\x8f\xed7\ +\x93I\xe0\xf3\xbd1+\xd4>W\xc6\x89\xc6\xe0\xd5\xef\ +\xe7\xfd,\xed$\x85\x95\xbc\xff\xc6\x95\xd6t\x0a\x1a\x1b\ +T\xd4S\xe3Ko}\x89\xb6e/\xbe\x8a\xfdx\xdb\ +\xf1v\xe3m3\x91}\xc8\xca|@\xd5\x9e/gz\ +\xfe;\xaf\xdby\xed\xce\xb4\xafv\xffi\xf7\xfd\xbb\x0b\ +\xf3'\x22\x9fh\xc9Xz\xe8\xb3G_\x9c!\x81\x1d\ +\x9e\x17\xb6\xaa\xc0G\x03\xf0\xdc\x02L$\x10\xe3F\x9c\ +N\x0c1[ \xc5\x19\xe3\xf5\xc2\xd6}b*F\x15\ +\x141p\x0e\x08[5\x22\xdc\xdf\x8aWs_N\xd7\ +}\x81h%\xd9\xde+l\x9d*az\xda\xe6O\xc3\ +\xd6\xa9%\xb4D\x86\xcf\x85\xad~t\xbceX\xd3\xa2\ +\xa0\x92|\xbf\xb0f\xdf\x12\xd3\xc3\xe4u\xee\xca\xab2\ +\xae\x1b\x1f\x12\xb6\x7f\x9e5<5\xac)T8o\x01\ +\xcf\x09@\xf2c>\x97\xeb/\xbf\x85\x11\xf8\x0fa\xd3\ +\xf7\x8f\x9dm\x8d\xd7L\xf1H\x00\xb5D\x0b\x8d)\xbe\ +iX\xc3\xc0\x030a\xfe\x12Q\x94?\x02\xd2\x00\x8b\ +\xe2\xb9\x04\x82j:\x01\xe6\x86\xfb$oI\x91\xde\x8a\ +Gh\xcf`X\x8a;\x01\x87\x803\xfe\x9d\x9f\xd4\xaa\ +\xe2\xf7\x00M\x0ao\x98=\xfc\xb3s\x0aC\x14\x00\xe8\ +|\xcdsK\xfcS\xfbQK\xc3\x1d\x929\xcaO\x12\ +s\xcc|i\xf3wak\x1e\xaf\xc5\x8d\x88\xe9^\xbd\ +\xdc\x150Ar\xb2WH\xaf\xd6\xf0\xc7\x8b\xe8\xdf\xf0\ +\xb6\xb0\x06\x09\x91\x88\x12\x8fyk\x8a\xcc8\x18?\x13\ +\xf6[\xc6z\xa9x9 :\xe0a\xbf\x03\xa4\xebA\ +\xafW\xbdv*,({'\xa4:%\xc7\xe6\xe0\xb7\ +0\x04\xa0\xbd\xba\xbc\xbf\xdf\x03\x01=@\xe0\xe7%Z\ +\x1c\xb6\x00\xd3\x03T\xf1\xb5\xd0z1\xbeS\xabu`\ +\xd9\x886j7\xce\xb0>?\x84\xcfF\x140\x10\xd1\ +I\xa0\xa5\x12\x19\xe3\xa8$\xdc*\x9d*K\xbe\xfa\xfb\ +\x8b\x12\x89\xe2\x06y\xa4\xcd@l\xe2\x92a\xab\xb8K\ +\xb5\x1aHH\xf6n&\x8b\x802\x06\xbf4\x07\xae\x9e\ +=j\xbf\x80\x08\xf7/\x13\xe7\xa2Rr,6\xa8\x04\ +,\x03v\x8c\x87\xaa\xb8\xe5x\x9aJ\xb4%h\x9e\xe3\ +\xaf\xbb)\x03\xbe8\xcc\xbe\xe5c\x9dJ\x80I\xb1\xac\ +\xff\x93\xb7?\xdc\xfep\xbd\x0f\xd3\xdfX\xd6\xc3/2\ +\x01\xe2\x182\xd0\xde\xdc:\x81\x18\x0c\x07\xe3=\xa8\xd5\ +K r\x1e\xf0~\xda\x0e\x00\x0f\xc8\xa4\x04\x19\xb5[\ + \xae\xe7T%9\x1d\xf8\xf6\xab\x99\xc0\xebE\x84\x88\ +\xa3@rL\x02\xe7\xbeb\x0c\xb1\xfc\xd9\xb4\xeb~\xb6\ +>\x8f\xaa\xfc\x02\x16T\x90\xb3\x22\xbf\xb9\xf1R9\xd9\ +s\xa3\xdc\xff\x02\x1a\x22N\x1c=\xd10\xfb\xc0u\x9c\ +?\xefc?\xe6\xed\xb2\xe9\x98{M\x8d\xaegT\xe0\ +\xbe\xfd\xab\x0c\xcco\x9b\xaa\xefY\xf9*\x8d\x01s]\ +\x05n\x12*\xebR\x00j\xdfC\xc8\xf95\x8e<\x0f\ +\xea\xfaw\x01\xacDU%=\x03\x00\x89f\xcd\xc9\xb5\ +\x1f\x1c\x94I\xd9+j\x9a\xfd\xa0\x12M\x94\xcbA\xed\ +\xefz~\x90}@\x08M\x03\x15l\xfb\x1f\xc0h|\ +\x0f\x80\x01%^\xc5\x14\x85\x5c\xc2\x98\x15\xd3\xaa\xf8\x0a\ +\x84\xf29\x14\x80j\x8e\xfb\xcfk\x1c\xe8\xbe\xd3V\xdc\ +\xef~\xce\xae\xfd\x00P\x02\x1c\xa2\xb4\xdb7>\xbf\x16\ +\x83\x5c\x8f\xa5\xf1\x80\xe9\x82A\x80\x22+\xd1\xb4\xdf\x00\ +v\xf6\x15\xe0W`\x80\xe9F\xd3\xc0\xbe\x10\x88\xa1\x8c\ +\x1b\xeb$\xc0\x10H\x08\xcc\xad{~\x075^B\x96\ +-M*buN\xda\xdf\x00&\x80\x85@\xa0\xbb\xfe\ +\x02d\xfb\xa93^\x05N\xfc\x9c\xf3\xa9\x1f'\x09\xe8\ +3\x9d\xc2\xf9\x84bi}^zNy\x16J\x7fK\ +a\xe5\x1f\x00\xc2*\xdd\x184\x12o\x81\x96\x00\x8a\xbf\ +\x07tX\x07\x02?\xe7r\xc7$*\x0a\xf1\xc7\xc2\xd6\ +\x9e\xdajU\xb4\x8e}n\x22z\xce\x8d\x8eI\x12\xde\ +~\xdb\x02\x85\x02>\xbd\xdf)\xf25^!l}\x9f\ +\xe1\xeca\xd3\xff\x9f\x12\xd6T\xf2\xadW\xfe\xf5y\xb3\ +\xad\xe7\x021?\xcf\xd7\xf9\xed\xb9[\xc7\x00J\x80\xb3\ +\xfd\xc4O\x00\x00\xf9\xb9L\x9c\xaa\x95\xcf\x18\xbd\x1c\x07\ +Z\xda\x0bc75\x060\xd4\x8b`\xf9\xea\xe3\xb6\x1e\ + \xe8\xff\x1f\x90 \xde\xe1\x0f\x00\x09WJ`\xedk\ +y\x9fQ\x80\xf3\xdc\x1a\xdf\x1a6\xbd\x1e\x12\xb6\xb6.\ +l\x0f\xdd\xdem\xeeE?wX\xa3v\xfe\x82,\x14\ +a*\x02\x80\x01Vz\xeb\xb3\xa5\xb0\xc4\xb4\x1e\xb3\xf4\ +\xcc\x0e7\x1dn6\xdcl\x1e3{l\xf4\xa8\x0f\x9f\ +\x0fk\x00!\xe3\x06\xc5\x0fz\x8a\xf9W\x13yh\x82\ +\xa4\xa8\xdd\xf6\xdb\x99\xc0o\x17@\xb2\xce7\xeb\x9b\xf6\ +\xc8e\x93\x09w\xa6e\x9f\x94X\xe21\xc9\xa0\xb9d\ +\xc6\xf3Y\x00\xd9|6l\xa5\xb2W\xdc\x9a\xbd\xef\xb5\ +\xff\xdc\x07\xeb\x12\xd5\xb9o\xedD\xd1&\xb2\x99\xc0$\ +q\xba\xf1\xa4\xb0F\xf4.\x81\x81\xed\xc1\x93\xfd\xce:\ +\xdeof\x1e\x7fpZFGL\xf6\x80&\xe1\xce\xc4\ +v\xf8\xbf\xb0\xe9\xf5\x05ak>!\x11\x1a\xee=\xdc\ +g\xb8\xcf\xecwf\x7f^\x89\xa1\xf35\xe3\xed\xf1\x15\ +a\xd3\xef\xfd0l\x05\x0a\x89\xf7\x95J\xfb9\x971\ +\xe1z\xd3\x89\xd9\xf17\x9b\xef\x855\x80\x1bJ\xfc&\ +l\x15\x07\x04\xe4\xd5\x18\xc2#C\x8eq\xfe|\xd7\x9b\ +\x81\xb7\x9cN5\xdc>l\xf5\xa3\xa5\xd2\x9e-\xd9\x95\ +`\x8ac\xf2<\x19o\x17\xd6$\xb4\x0ae*\xdfZ\ +\x83\x00v\xae\xd7~\xe5\x0f0FS\xa4\xb4\xf6O2\ +S\x86;\x855@\x80V\xeb\xd4T\xa8)A\xd9J\ +US\xb7\xc4C\xe2\x1d\xd3\x04L\x03\xe8\xc5\xdb\xfb)\ +F\xceQ\x1a\x08\x00\x0e\x95yb\xc4\x80_\xf9\xc6\xc3\ +f[[-\x9c\x7f\xe24\xcc*yEN\x85)\x86\ +a\xee\xd3\x8a\x13\x14\xc6\x148\xc5\xd9\x0a\x0a\xee\xa7\x16\ +3\xad$9\xbd\x8b\xa6E\xfd}b\xea\xb4\x12\x8c\x1b\ +\x14\x7f\xfa9\xf9\x90s\x10 B\x13\x81\xc6\x99\xf3\xce\ +\xff\xe78\xcb:W\xedgyO\xe6\x8d\xc6\x96\xda\x0f\ +{+@2\x1f0\x1d\x1e\xb5@\x15\x0e=S\xe3\x8d\ +\xc3\xd6q\x1c\xd5k\x90\xbd{\xa8!Eq\xe3\x18!\ +A\xa89*\xa4\x10v\x0b\x03\x00\xe1\x86\x09\xec\xfd\xbf\ +\x00FB$\x10\xb4\xe0\x05<\x1eP\x22\x95\xe5\xf0\x04\ +`\x02(\x0b\xd5\xeb\xb9j\xce\xf7r\x10\x09\xb8\xfa\xef\ +\xfb\x7f\x170\xf5\xbd\xa7~\x0e@\x00\xe1\xee\xdeo{\ +\xea\x12\x18\x04!j\xd3\x8aW\xf5\x09\xb9\x83X\xc5\x90\ +\x03\x87<'5\xa8\x12\xd7\xff\xc8\x00\xe7\xe8\xd9jN\ +l-\xb0\xdch\x9bC\x12\xa0Au7\x06\xcf\xf8\x14\ +\x08\xea\xdfe/\xd9\xef\xa4C\xc8^\xaf\xba>\x14j\ +=\xb5\xe7_Da\xa6\xcd\xb8lP\xc8XG\xc9-\ +Q \x22Q*\x986\x869\xda\x9d6\x00\xcaP9\ +:\x89\xa7\xc4d\xf74z\xe9{\x8d\x09\xcf\xef\x97\xa5\ +N\xbcT&\xfa@\x07`\xe3\xa0\x04\xb0\x18\xabs@\ +\xae\xcf\xa48MI\xfd\x12\xa8\xb9\xdf\xbf(5\xf6\xe5\ +\xfd9<\xc0\x08`\xc0}\xe2\xe0l\xec\xd3{\xfft\ +H*S(\xd4(\xb6\xb9\x8f6w\x0ck\x02L\x01\ +\xba\x84D\x22\x96Z\x0c\xa8{\x95\x18\x9eR\xbd\xfe\xfb\ +\x8aJ\xc6t\x87\x1f4\xc0\x1a\x87\xae\x12*\xc1\xbcq\ +\x06\xec*\x91z\xc0\xcd\x956\x86M\x02p\xab\x0ct\ +/\x5c\xea\xebK\x00\x9e\xd3\x04\xea\x80\xbdb\x02L\x12\ +]\x01?\x8a\xbc\xf7s\xdd*>\x02\xfcTy/\x8a\ +\xb0\x96\x06\xcfY\x22\xe5@s\xbf\xadC\xf7\xc5:\xb0\ +\x0f\xadk\xf7\xd7\x17\x06\x0a@H\xc2\xea:Ub\x05\ +\xea\xc4}\xfa\xde\xda~z\x86\x04\x05 \xe4~\xf0\x13\ +\xd6\x17&\x03\xa0@\x22\xe6@\xb3\xaf\xf2\xf9\x0a(\x0a\ +\x00\x10\xc0\xbb>\xeb\xc8\xbf\xaf\x9a\x16\xcb\xfat@\xf1\ +\xab\x0e\xa2~\x8a\x07?\xd9\x8b\xeaXg\xde\xdf\xbar\ +P\x03:\xf9S~\xc2\xfb\xaeS;\x96\xf7\x11\x10x\ +\x8e=\xb0\x83\xb9\x05\xd0\xfe\xfd\xb0\xe6\xef\xdb\x7f\xc6\xf1\ +\xe9%\x07\x08\xb8\xcfW\xc8u\xf3\x9f\xd93L\xcc+\ +\xb5\x1f\x8a\x01\xe2\xb9\xaaL\xbbN\x01\xbf\x84D\xcfb\ +\x8eg,\xc0\x03\xf0\xc6\xcfR\xcf\xc7 \xf0<\xf9A\ +\xeb\xcf~\xf0\xb9\xbdZ\xf7\x02\xfd^\xdc\x08\xf0\xc8/\ +\xd9\xc7\xd6!\xff&\x9e\x08f\xcc\xe1\xcd\xb9\x9b\xfb\xbf\ +\xd6\x9f^Z\xe7\xb0\xbf\x9b\xad\x00\x05\xb0h\xc5\x01\x04\ +h54\xb6\xcfu\xe6:*\x06Q\xc70\x8at!\ +\x12\x86\x02\xb6<7\x81\x1ej\xaa\x1e\xeb\x04\xf2\xea+\ +\xe3\x8c\xcd\x1b\xc3\x9a\xfbJ\xa4\xefma\xcd>V\xe9\ +Q\xf88\xc3<\x07\xa1D\xa7\xaau&\x13\x85\xbao\ +\x98\x08\x02u@\xa0D \xd75jg\x05\xc8\xd6=\ +*\xadJiR\x8d\xeb~\x89\x7f0/\xb2\x05\xa4D\ +\xe9\x88F% V\xd7\xd3\x17\x0a\xfaVJ\xe7'\xff\ +\xd4\xb7\x02\x00\xcc\x8dus\xee \x04\xf4\xa2\x9a\x9d6\ +E\x89\x90%\xb3JAc\xf7\xd8\xb0\xac >\xabY\ +\xa7\x7f3\xcb\xc7\xed\x99\x1bP\xdf\xd9\x00j\xa7\xcb\xe7\ +v\xe0\xf4)\x0el\x9e?\xc6\x9bD\xfb\xa9K\xe5\x7f\ +\xf8\xcd\xf0\xeb\xe1\xd7\xab\xca\xfb\xce\xd3w\x9e\xb6\x13\xff\ +~\xccp\xcc\xce+\x1b\xf1\xebl\xa9\xd9\xfd`\xd8\x1c\ +\xef\xbes\x8ewo\x9e\x14\xfe?\xd9\xdc3ZgK\ +m>\xc5\xf7&o\xf3\xf1\xed\xc7\x1b\x0d+\x05\x0f\xc0\ +\xb6x\xc6\xfa\x07\x84\xb8\xff\x00V-\x90\xdf\xcaV\x90\ +l\xed+\x91\xef\xbc_\x80\xd8)\xd6\x98\x13\xb2\xed\xed\ +\x968\xbe*\xc6\xee\x03\xff\xc9?$ W\xbd\xf0\xc6\ +\x8b\x1d\x1d\xd6\x00W\xe6\xcf\xffW\xd8\xf4\xf7\x1f;,\ +\xe3\x11S\xab\xa0z\xf4C\x1c\xee_\x17\x11\xc1\x99R\ +?\x9d\x0a3s3\x19e;\x9f\x0dKm\x84`\xb2\ +^(l\x05\x1abX\xe2L\xf1\xber\x8a<^7\ +lm\xfd\x19\xae\x1f\xd6\xe4\x13*\xdf\x07\x875\xf1\xac\ +\xd6\x06S?$\x8a*\xfeZLO\x08\x9b\xde\xff\x7f\ +\xc2\x9a\xf1|\xa8\xf7\x19W\xd4~\xc4\xf4|[\xd8\x9a\ +_\x11\xd7\xae\xe9'\xa9\xf10\xdcj\xb8\xf5p\xeb5\ +_\xd9\x9c\x186\xbd\xfelaJ\x0f\x7f\x19\xb6\xc6%\ +\xe3\x1d\xc3V\x7fY\x80\x00\xe0;\xf3\x87*\xcca&\ +bvg\x8b\x08j\xf9xXX\xb3\xdf.\x19\xd6\x88\ +\x8fk\x91\xc3lt\xde\xd9?\xfc0\xffm\x1f\x03\x00\ +\x14\x04\x9d{\xfd\xd4\x1fL2\x05\xbd\xa4\xf4\x13\xd1\xac\ +V\x0b\xc0/\xd1W~\x01CQaI\x9c\x05X\x04\ +\xa8x\xbe>\x87\xfbb\x0c-\xbf\xa4E\xd4\xb9\x08\x08\ +\xe0g\xf3\xbc\xd5jTZ6\xce\x07\xa2\x8d\x982\xc4\ +3\x01j\xf9y+/\xc6\xf4\xbb\x5c\xd8\xf4z\xa3\xb0\ +\xe9u\x08k\x0a\x03\xce\x03\xe7\x8f\xfb\x0aXHf\x97\ +\xb8\xa1\x00\x05\x22\xc7)~\xa8\x05q/dz\xf3\xd6\ +\xb0i\xe3\xbdt\xe7e;/[)\x82\xe3\xd9\xc3f\ +J\xdbL\xcd\x1e\x9f>>m|\xda\xdc\xc3s\xad\x98\ +\xeb\xb9\xf3\xb8\xb05\xf0\xd8\x1c\x99\xe3\x08<\x88\x1e\xa9\ +O\x84\x86\x1a\xe4\x9ew\xa4C\xbc\xe7\x22R\xb0y\xc5\ +\xe6\x98\xcd1\xcd\xc2\x13(\xe7\x81R\xa2\x16\xa8\xdcY\ +\xe9\xad\xc0\xf2\xac\x19\xe8}5+\xe5\xd4\xf5\x89\xc2q\ +\xf0)\xc6T\x01\xbc\x00\xd6\x02\xb5\x108B\xea\x8cI\ +i\xaa\x84\xab\x9f.\xe0U\xef\xef\xc9Y\xf9R\x99=\ +%\xff\xfd\xe7Y\x0981\x13\x87\x8f%\x05\xde\xd8B\ +\x81\xbd\xeb\x81xy\xff\xac\x84V\xc56\xa9\xe0S:\ +>\xf7\xb0\xf5\xa2\x19\x05(\xb7\x1eB\x89\x97\x9ev\ +\x9f\xd7A\x22\x01\xe3\xc8U|{\x91\xb9\x9eR\xed \ +\xb1O\x12\x98\x91\xd8\x15\x03\xc4s\xe9{\xb1\xbd\x8f\xd7\ +\xbe\xa7\xd6\xba\x97\xf8Q\xf9G\xa5VQR\xe1r\x80\ +\xabd\xba\xde\xbe\x07\xcdA(AWa\x14\x80\xaa`\ +\xf2G\x980*\xed\xee\x07\xbf\xe5\x00\xc5\xa4\x10\x80\x11\ +\xfd\xb3.z\xa0\xc0\xba\xec\xc7\xd7y\xce\xce\x9b~\x8a\ +\x86\x9e\xca\x14\x03\x03T\xd7\xef{\xde\x0eV~\xa3\x17\ +\x81\xb4O\xdc7\x15o-\x07\xeb\x14\x89\xf9z\x0a\xe1\ +\xffTN\x85H\xa0|\xbf\x96\x07\xefo]\x11\xeb2\ +\xd7\xdc\x181\x15k\xd7\xcb\xbfge\xb3\xa8\xe9z\x8b\ +%^\xce/\x00\x91u\xd8\x8f\xb1\xb5\x8e\x00z\xfdt\ +\x19\xeb\x1fp\xd2\xb7T8WQ\xd5\xf9\x1dTDs\ +\xe7\x93\x0aZ\xc0\x8d\x16\x06T\xf4\xec\xa5\xaf\xf5\xe1\xb9\ +\x0a@\x010\xa6\xd0Hh]\x97\xe9\x0d\xb4+Rd\ +ss\xfa\xb0\x95\x02\xad\xa0Q\x09\x82^_L(\x15\ +.-\x0c\xb4c\x00c\xae\x13\xc0\xa5\xa5\xc1\xf5Z?\ +\x0f\xdf\xf3\xb0\xf0\xa3\xdbCS\x8d<\xc2\xceO\xac\x94\ +}\xdaK\x95\xa0\x13\x97\x04h\x01Pn\x9a\x80\xc6\xcf\ +2NA\xf5\x170\xab\x80\x02\x94\xac\x7f\x8c\x0d@\x91\ +8F\xc2\x88Q\x88\x81\x94\x1a\x06\x05d\x88\x1f2`\ +\xae\x9e\xef\xbe\xe5\xec\xc75\xc5d\xdf\x8a?\x80\x1cs\ +\xd0\xfa\xb5\xbe\xac+~Ba\x03\x10\x9c\xe2`S\xf4\ +4S\xbe\xc7\xbf\x0d\x9b\xdc\xdd\x11aM\xc2\xf5\xf1d\ +4z\x1f\xeb2\xb5`\xf6\x8b\xef0\xa1\xec\x1f\x95\xe5\ +\xc3\xc2\xa6\xd7\x83\xc2\xa6\x7f\x7f\xc3\x12\xd0\x0fw\x0c\x9b\ +\xbe\x7fo\xd8\xf4\xfd\xa1\xc3\xa1\x9bSS\xeba\xfa~\ +\xf7va\xf38\xb7\x9b\xc58\xb7RC\x7f\xd0B\xd9\ +\xdf|g\xf3\xbdP\xe7\x1f?\x1f\xb6&X3S!\ +\xc4\x06\x1f\x1f\xb62R\xea\x9c\x02D\xff[\x8e\x87|\ +\xc0\xf6\xf0Y=^\xcb\xa2\xf3\x0b\x95\xf8i\xb3U\xef\ +\xf8p\xd3\xb0U=}\xfcb\xd8\x5c(Z\xc6s{\ +\x8e\x98,\x98K\xc9t)\xcd'\xe7\x0dq5\xeb\x22\ +\x01U\x1aN\x05\xb0\x01,\xecK\xcf\xfd\xeeK\x1c2\ +\xa5\xc1\x8b\xd6\xc0tZ\x053`\x1e\x028\xdd\xe7\xcd\ +\x01a\xd3u?'l\xfaxw\x09k\x0ah\xb9\xde\ +v\x1f\x15\xd6\x0c[IJ\xf3\xe6\xddaM\x82\x9f\x7f\ +os\xd0\xe6\xc0\xcd\x81\x0dp\x81\xd1\xe5\xdc\xcc}[\ +c\x1f\xaf\x1a\xb6&h\x91\x95D^R\xe7\x92\x8a\xf4\ +\x8bg+Q\xb7\xfd\xb4\xc0\xb4\x1cfk*qS-\ +\x0a\xc5@\xbb\xcb\xf2\xfc\x86\xa3\x16\xc0d\xf3\xcc\xcd3\ +6\xcf\x98\xbe\x7fS\xd8:\xc5b\xf3\xf5\xb0\xe9\xdf\x9f\ +\x196\xfd\xfb]\xc2VQ\xbe\xedG\xc2\x1a1a\x14\ +{S\xbd\x00\x1a\xd9;_\xfb \xa9\xf15\xde\x90\xc8\ +\x9e\xb8*\xf77\xcd\xb6b\xd8:\xefM\xbb0u \ +\x01\xde\x12\xdf6=\xe8\xdba\x8d\x96\x80\x96\x94\x5cW\ +%N\x9e\xf7\xb7D\xe33~\xc0\xc8(\xe6\x0bF\x10\ +\xe6C\xc6\xf9%\xd2\xaa\xa5\xd2\xd4\x08S\x09\xd2\xbf\x96\ +\x86\x8au O\xd5*@4O>\xf7\xf2\xb0U\xf4\ +\xb2\xfc\xa4\xf30EW\x01\xaa\xfb\x89\xc3\x03\xd2$\xfe\ +\xa6GhI!1\xf6\xaa\xb0\xf5\xf3\xf3'\x00\xc2\x1a\ +k\x98\xcc\xcb*\x8c\xc4\xd4\xbdg7\xd3\xa6\xe4k\x0a\ +\x82\x99W\x13}\xdc\xbbs\xd4\xcecw\x1e;\x1f\xb0\ +\x8b\xea\xeb\x99\x96\x0d\xbfA\xdd\xce\x03z\xbc\xdcx\xd9\ +1z0\xae\x1e6\xfd\xff\xd9\x961w\xdb\xd7\x875\ +\x89\xcf521\xa0\x12i\xe3K\xb4\xf5zg\xef\x88\ +\xc0{8g\xd8\xf4\xbe\x97\xceD/\x11\xfa\xaa\xe8\x09\ + \xfb\x1eE\x0f\x5c\xc5F\xc0w\x8f\xa46\x0b\x88\x05\ +^\x10+\x14CH\x92\xc4^\x85\xa2W\xfb\xf7\xea\x86\ +zu\x90\x09T\xfb\x00\xfe\xe4\xe5\xfa\xb6\xdfM18\ +\x07\xf8\x07\x93\xca\xd2\xa9\xfd\xd6\xe7\x82\xc4\xa2bQy\ +\x85p\x03R>\xbe$\x94u\xbd*\x0b\x18\x11*\x93\ +\x12\x96^5\xdeAy\x8e\x9a\xd7\xbe\x04\xf4\x12\xae\xfe\ +\xab\x1fw'1\x85h\xbd(\xc7\x9aI8\x8c\xe5\xb8\ +\xdbB\xc5\xb4\xb0\xebyX\xa8(\xa2\xee\x9f@^\xcf\ +\x5c\x06\xc2U\xc9\xd4r\xa2\xe7\xd4u\x09\x9c ~\xd6\ +\x9f\xc0\xd6\xfd6\x06\xf0B\x95\x88,\x15\xbe\x1f\xef{\ +_\x04\x8eE\xb9\x94\x10%@\xb0\xe7Ry\x9d\xd7.\ +\xf5\xdd\x058\x11\x18Zo\x9fO\xa0\xe4\xa0\x04\xaeR\ +l\xc7\x81\xb5yQX3?Z\xaf\x0f\xe0\xc2\xf3P\ +\xf1G\x85M\xe4s\xf3\xd4L\x00\x04\x80\x0fI\xc7t\ +\x8b\xa4\x1ag\xc5\xc8\xbc\xddjE\xc8\xcaz\xadc\x95\ +f\x07\xbeu\x0ci46\xe7\x9d9\xf7:\xc7dM\ +k\x7fI\xd0vRTR\xaf\x11\x15W\x95>\x89\xdc\ +e\xf2\xbe\xdd,+\xe0*f\xb7K\x8a8F\x84\x8a\ +\xadu?v\xad2Z_P\xb1%\x9e\xd6\x85@\xbc\ +\xfb\xf9z?\xd4o\xd4\xb2d,Ub\xa0w\x0b\xb0\ +\xe0}!\xb5n\ +\xf9%\x00C_i\x14\xc0\xf3[\x12y\x94z\xa2\xb2\ +\xa8\xb7\x12:\x9f\x13\xa0\x84\x02\x99\x14\xd5\xa2\xe2\xbb\xdf\ +\xce3\x89>\x0a\x9dV\x0c\x89\x99\xfb\x86\xe2\x98\xeb\xaf\ +\xc6H9\xa8\xef\x9f\x15g=\xe7\xc4\xef\x9cW\x02!\ +\xf7Y\xc2u\xf4\xe6\x15\x9bW\xcc\xcfc\xa9\x5c\x5c\xb1\ +\x18\x06\x8b?\x91hG\x1a\xf3\x94\xdc/\x17j\x02\x1a\ +\xebAK\x05 \xb5\xab\x14\xed'.\xd8\x89\xb7V\x82\ +\xc0\xef{\xf5\xfe\xfc\x85\xfb\xees\x0a\x10\xa9?\x03\x00\ +\xf9/~U\x22h\xddX\xbf\x12j\x8c\x80\x1c_W\ +\x15|\x9f\xc3}q>\x88\x1b\xc4\x11\x12z\xe7KR\ +Fk\xbex\xf6NW\xc5\x1b\x90B|S\xefs\xf6\ +|\x96\xe8\xdb_\x875\xbd\x9b\xc4\xf7\x92I9k\xed\ +\x04\x00\xf4\xcfa\xd3r\x7f\xfadMO9\xbf\xb3\xf9\ +\xf7\xb0\xe9\xff\xaf\x16\xd6\xb4\x10\xd1N9\x22\xfd\xb7\xca\ +\xa3y\xe0)\xaeE\x9c\xb9\x12:\x89\xad\xf1S\x80\x91\ +\x8c\xc3\x0a\x80\xd4\xb2\x93@\x09\xe6\x92\xb8\x025\x9a\x88\ +UM\x13\x00$\xeet\xd3nj\xaeX\xd7R\x07 \ +p\xff\xfd\xbbu\xe7\xbc\xb7>\x1e\x96\xd312A\xa1\ +\x0d\xa4E*$\xff\xe69\xf3\x124\x8cAq\xc5/\ +\xba\xd6\xca_\xcd\xb2\xc4+0\x9a\xe7\x9fy\xda(\xde\ +\xc3\x03\xc2\x9a\xd7\x8b\xec\x5c$z\xfd7_N\xc6Q\ +\xec\xc3\xf0\x8b\xb7\x09\x9b>\xf6\x8b\xc3\xa6\xd7;O\x89\ +\xd8\x9d\xe7\x84\xec\xae\xe3]\xe7\x84{\xe9-\xffhi\ +\xef,\x01~N\xa92\xb6q|RX\x93\xa0%\xd0\ +\xbe\xbdnX3\xc5\xc7yJ\xcb\xc99\xe2~^\x22\ +\x99Z\x7f\x9f\xe7\xc6\xedR\x84\xd5}\xe7W\xfa\xfd\xf6\ +\xcd<\xc7\x88\xfdJ\xe0U$\x01\xa7\x007-3\x80\ +\xe0^s\x04\x93*\x81\x19\x22e\xdb7&\xc3\xe4\xa7\ +\xdb\x9f\xcc\x0c\x90\xf4\x07\xdb\xd3\x855\xfe\xd3\x18\xdd\x7f\ +\x0a\x9b\xee\xff\xd7\xc2\xa6\xcb\xfbQX2T\xce0\xbf\ +\xdfdMkY\xfa\xb5\xcd\xf7\xc3\xd6}\xbcy\xeeR\ +\xc8\xdc\xfenX3w\x9e\xf8\x9c\x04\x17c\x08 \xfe\ +\xa2\xd9\xea\xdf\x0bh\x02\x14kU\xcc\x96\x82\xcaK0\ +\xffL\xa3\xbaa\xd8\xfaw\xc77\x84M\x9f\xeb\x9ea\ +\xeb~\x19\xef\x1f\xb6\xc6\xc3\xc3s\x87\xe7\x0d\xcf\x9d\x81\ +\x8a+\x04P\x01\xb0(\x8d\x8a\xcc_j\x5c\x1f\xc6L\ +j\xa9\x14 !/\xc1 R\xf9\xd6\x12\x92\xbd\xf0Z\ +\xa3h\x0d\x00.\x86\xff\x0e\x9b^\xaf\x1d\xd6\x88L\xa7\ +vI1z\x9c\x8f\xcf\x0d[\x01\x8f\x8a\xdf\xb3\xb2]\ +\xa2\xf2\xe2Z\xf1\xb8u\x95\xc0ei#I\xc4u\xcf\ +$C\xaf\xe2U\xf1\xa1\xe9&\xa9\xcdP\xcc\xf0db\ +\x14CBB\xdf3\xab\xb5T\xfb\xbb\xbd\xf8\xad\xf8$\ +\xfd\x93V\xa3\x028\x1f\x12\xb6&\xfa\x0ap5\x8eT\ +k%\xa6Xj\xc0\x14\xa3\xc9t\x90\xcb\x865\x05\xee\ +lu*\x15\xffl\x19\xa8\xc2o\x7f\x9d\xf69\xe6*\ +F\xb0V\xee\x5c\x1f\xdeg/D~\xf8\x9d\xb0\xb5\x82\ +\xe7\x03mw\x16\x0a\x82\xb9\x91E]I\xd5Ab+\ +\xe5p\xbf\x9f\x95\xd3\xdf\xd9\xce\xc8\xde\xe6Ya+\xf5\ +\x0dR3\x1d\x9b3\xf2=\xbc|x\xd9\xf0\xb2T\xff\ +<|\x15-\xa8@U\xa0.0\xeb\xe7\xb0\xa3\xec\x13\ +S\x120\xa2\xd0\xa1\x96$\xa5Y\xe2U\xc8\x92D\xfb\ +\xb4\xe6\xb9\xff\xa2\x1b\xb7vZ\x00@\xdf\x12\xd0\x8f\x09\ +\xf4s\xc4',P\x08\x92\xcf'\x11\xd6\xc3\xe1\xe0p\ +\xd0\x19\xaf\xe5\x00\x95(\xa8H\xa3\x9eX\xb0\x12Q\xa2\ +W\xbf\xcc\xca4\xca\xa4\x04\xa2\x1b\xc3U\x07\x0cH\xaa\ +\x1fs\x07\xe1\xec(\xb4\xe5p|\xfe\x04 \xa6\xe3p\ +\xa1$\xde9+(\x9e\x93\x1e\x16\xd3\x01\x92\xc2\xb6\xe7\ +\xaaIY\x11\xf0\xb9\xff*c\xa9)P\xbd\xe7\x0e:\ +\x89\xbe\x96\x08b3\x10_\x81\xa5\x04\xed\xbc\xf9s\xd4\ +\xdb\xef\x94H3\xca\xa2\x03\xd1\xf3\xd6\xe3\x8f\x92N\xd4\ +\xea\xba5\xb7~\xb9\x8f\x9e;D\xb1\x1f\xa7H\xc5?\ +\xa9=z\x01+\xb0\xe5\xa8$,\x12\xff\x9c\xdb\xbe9\ +0\x990\xe6(\x1b\xa3\xe9\xf9A\x06\xf7\xa4\x98\x9b@\ +\xd0\xfb\xbd8E\xa3\xec\xaf\x95Jk\xec\xe1\xbeS\x0d\ +21D\xd5\xd4\xe3\xb7\xf9\xd3\x14\x05}\xce\xe2\xf8\xa7\ + n\xfe9\x22\x98\xd3{/T\xb4\x03\xc3\xa6\xd7\xb3\ +\x84\xcd\xebb\x09<\x0eN*\xf3\x95S\x8d\x5c%>\ +{\xb3*\xb1W\xd1\xea\x017\xcf\x11\x03De\x95\x03\ +\xec\xb5#\xec\x1b\x81\xbd\x1e7T)\xf7\x01\x05_\xe2\ +\xe3\xef\xa0\xec\x03J\xf2\x00\xab\x80\x1e5\xbe\x17O\xeb\ +\xc7\xc3\xa9h\x08\x98%\x16\x8f_\xc4V\xf9\xcf\x0a,\ +$\xd2\x02\x14\x9fW\x02*\xb0\xeb\xc7Z\x0a\xd0P\xc0\ +0C\xf8W\x95#\x00\x8f\xfb\xa5\xf7\xfdA\x8b\xaat\ +\x1d\xd0\x00\x15~\xce\xdf\xf1|\x00U\xfcB^\x7fQ\ +|\xado\x80\x84u\x85!\xe5zz\xe6\x87\xbf+\xd0\ +\xf4\xfeD\xed\xbc?\xe0\x886\x82\xf9\xe2\xfe\x9e\xcf\xa9\ +\xa7\xdc\xff;\xd8\x1d\xa0Z\x8a\xf8\x1b\x09\x1e?a|\ +Z\xac\xb2\xcb\xad\xcf\xc5\xf3\xabs\xc3\xe7\xf1\xbe\xe9W\ +k\xbfRs7g\x1b\xd5\xffyI\xfd\xcfqm\xd5\ +2g\x1d\x09\xe8\x9c_q\x17/9'6\x935\xcf\ +\xdd:\x05\xec\xe89\x04\x0ca\xa4\x98\x06\xa0\x12\xed\x5c\ +u\xdd\xf6A\x06n\xa5\xb9\x82\x89 \xa0\x22ZG\x9c\ +V\x80\x86b\xaf\xe2\x95\x95\xca\xd2(\x11p\xdbO\xc4\ +5s\x5cX\x05\x8e\x02\x1a\x8c2\xfe\x1fP\x00\x10R\ +\xa1\x07\xe4\xbc\x7f\x19\x07\x8b\x89\xb4yW\xd8t\x9c=\ +0\xacQ\xf9\x06\xcc&@\xb39]\xd8Jm\xaeu\ +j\x1d$\xa3\xa4\xc6Ie\xa5uxCX\x8e9\x9b\ +\xce\xcb\xe1\xada+\xe0W\x81X\x9e\xef\xc3?\x845\ +\x22YZ\xf6\x8c\x0d\x95\xa0\x00V0\xad\xec\x03q\x80\ +\xe7\x0a\xc0\xce\x1e\xf0\xd2HR\x18\xd0B\x92\xc0A1\ +\x02\x00\x83/\x0fk\x00\xf5\xf4g\xe3W\xc3\xd61\x8c\ +\xa5.\xbd\x8e\x09\xdeW\xf5\xbf\x07\xa2\x9c\x8b\xf6\x01@\ +*\xc5\xed\xaa\x82\xa5\xe0!\x0eJ\xa0k\xdc\x99n\xe7\ +N\xd32\xd83/\xb5\xd6\x89O\xc4/\xe1=/\xb4\ +\x16\xaev\x0e\xdfy\xc0\xdc{N|\xf2\x82a\xd3\xeb\ +U\xc3\xa6\xd7+\x84M\xaf\x0a]/Y\x0a\x1b%\xf6\ +\x98\xd3;\xe6\x84d\xba\xbe\xf1\xbe\x8b\xd8\xe0\xf8\x95\xb0\ +\xe9\xf5\x03\xcbt\xad\xe9^.~\xe1\x0a9G>\x19\ +\x00\x02\xf2\x12\xd1\x93\x90\xa6\x86\x05\xe0\x85\xa6\x91\xfd!\ +\xde.\x8d\x0aLJ\xd3\x1dTV\xaf\x1f\xb62\x13v\ +\xdf\x16\xb6V@R\x94/_\x00\x00 \x00IDA\ +T\x8bb\xadP\xc7\x8f\x03\x14\xec\xf7|N5\x86:\ +\x0bd\xdb\xbf\x0e\x9b\xfd\xcf\xb7f\xffc\xca\x05\xbf\xf0\ +\xf4\x9c*\x91\x15\xf5=\xc7\xcc\x16c;\x8f\x88\xb1\x9d\ +D2\xc7\xab\x85\xad\xda\x135u'{\x9a\xf5\x9co\ +\x1f\x15\x96-\x96\x07\xacS?6_\xcb\x84\x98F\x8c\ +\xb8G|\xe9\xdc\x00\x98\xa76\x0d\xc0\xb7\x12+\xc0P\ +2e\xb67\x08k*\xcb\xfc\x08Q6\x00&\xc0\xcd\ +\xf9\xa2\xc2.Qu>i\x91>2l\xfa\xdcw\x0a\ +\x9b\xd6\xd7\x9f\x86\xadq\xcd\xf8\xe0\xb09.\x8eA\x8b\ +{\x86\xbf\x1a\x9e4\xfc\xd5\xca\x8c\x1b\xde\x1b6\xfd\xdc\ +\xa1aM\xc12\x13\xd2\xe1\xb9a\xd3\xff??l\xff\ +V\xed\x02\x16\xf39o\xff\xa9*\xac(\xe3\xee\xa7\x04\x0e\xc5\ +\xde\xfet\x1f\xf9\x05\x15x\x95\xe6\xbe7\x1d\x00\x82\x89\ +\xc0\xef\xb9>?\xdf\x8d\x99\xac\x0a$\xe6\x12 Jo\ += R\xe5GK\xd6?\xcf\xa9y\xf8\xbf\x85\x01\xa1\ +r\xec\xb9\xa7\xaas1$$\xc8Yy,\xbf\xe1~\ +\x02\x1e^\xbb\x9c\x9bS\xb0\xb2\xf8U\x019\x8a!\xb5\ +o\x95\x1f\xeb\xdcu\xa3v\xf2\x8b\x12}\x15D\x81\x82\ +\xf36+rUQR\x91s\x1f\xed\x03*\xc3D\xd5\ +\x04\x82\xce;\x89*\x7f\xc3\xdf\xd9\xb7\xfd\xd8P\xcf\x81\ +\xdf\x06\x84\xa7\xd8\x11\x15v\x14S\x09\x5c\x01\xb9\x02\x22\ +q\x08\x00\xa4g\x9c\xe8\xf1\x04\x10e\xc1@\xa2W\x89\ +\xbf\xf7\xd7\xda\x94\xbd\xf4z\xc0\x01_D\x946\xbf\xcc\ +\xb9\xef\x00\xa7o\x85M?\xff\x9fa\xd3\xeb\xb9\xc2\xa6\ +\xd7K,~\xb3(\xcb\xaf\x0fk\x00 \xe2\x984`\ +T\xea\xee\x9d\x81\xdc\xe5\x13\x18\xc8\xeb/\x0a\xefO\x13\ +\x88K\xc0\xa04R\x00\x9a\x19\x7f\x14\xc3,\xe7\xa7\x97\ +\x16A\xae\xcb\x12\x1b\xb4o=\x97~?\x8aKr_\ +R{'\x06V\xe7k\xcf\x08\xe8\x13r\xfe\x98_y\ +\xd4\x02lO\xbes\xa1hK@20\xa6Z\xbe\xdd\ +\x0dk\x12F\xfei\xa81\xbd{\xf6\x19\x17m\xdf\xc7\ +\xd5\x9f\xab\x99j\xa5\xf7:\xe3^S:\xea\xdc\xcbs\ +g|b\xd8\xf4s\xaf\x0e\x9b+\x84o\x8a\x0a\xe1x\ +\xfd\xc9&\x7f;>||\xc4\xf8\x885\xe1\xda}~\ +X3/]\xfcG\x84\xf7\xe8\x04\x12\xc5_*\x93\xa9\ +^\xbfy_\xd8\xdc\xfb\xbb\xb3\x0d\xa0\xe3\xbea\x0d\xf0\ +\x83\x82\xad\xc5\x12 \xa7\xb7\xdc\xdc\xfbL@\xc7s\x87\ +M\xaf\xbba\xd3\xeb\x0d\xc2\x1a\xcd\x01\x09\xa0\x8a&?\ +\x84yj_\xa6\x1f5\xf5KA\xa5(\xde\xa9\x9dQ\ +\x94\xe5\x10\xfd;x\xbd\x9e\xf15\xe3\xab\xc7\xb8\x7f\xc7\ +\xe6\x18M\xa2e{g\xb5\xa95A\x89\xb4\xe6\xbb+\ +3k|@X\xd3\xfb\x7f\xb5\xed\xd5\xe7i\x0fZ\xa5\ +~\x9c\xad0\xc6\x8cJ\xec2\xef\xa8\x0a?\xe0<\x81\ +\x82j9\x024\x19'y\xbb\xb0\xe6<\xb2\xber\xcc\ +_\xb5\xc8\xf0\xe74\xcc\xa8\xcd'\x10S\x95kj\xf8\ +9^\xb3\x0am\xe9\xe7=\x0f\x85\xa4\xe1)a\x0d@\ +\xf2\xf7a3\x03h\xb2U\xb4\x10p\x1d\xad(C\x88\ +\x9c\xbe=l=\x07\x87/\x875\x94r=\xe8\xfc\xb7\ +B#\xa6\xdf\x15\xc2\xd6\xd6\xec\xf1,aMkS\xee\ +\xff\xe1\x88\xb0\xe9\xfb\xf7\xceV@\xaa\xf5\x04\x18\x94\x90\ +\x0eO\x0b\x9b\x01\xb2\xc9\xd6\x04\x9a_\xad\x16H~\x03\ +`\xac\xe0\xa2\xb0\x80*/\x9f\xc0<\x14gS\xc5O\ +\xbfV\xf1\x16\x06\x11&\x1e\xa6\x02\xc06[\xbb*\x0e\ +\x008\xf2W\xf2\x1a\x09\xb6\xb8\xd1u\x8aO\x00\xe7Z\ +\xc60\xa7\xb4,\x10\xf13\x0d\xe6\x0e\xa9\xbd!\xffI\ +\xffY\xef\x07\xd0\xcax\x05#\xa6\xf2\xd3>\xafsn\ +\xf2\xd3\x18\x82/\x9fN\xcd\x97\xcfq\xdb\xa9s\xdc\xb6\ +\xe6ms\x5c\xb6wxa\xd8\x8aD\xee\xde+l\xba\ +\x9f\xf7\x1e\xef5\xdek\x1d\xa3R\xd4\x8fwNv\xdc\ +JM\x18\xee\x1d\xd6\x04\xfcIa\x98\xe7\x86\x7f\xa7\x19\ +\xe3\xf4/\x93}$\xc7b\x5c\xa0Id\x8c\x13s \ +\xf4\xd4B\x95\xa6\xbc\xf1\xae\xa3\x1c\xab\x00T\xa0rj\ +\x06\xa8\xbe\x88\x0e\xb6\xe3\xea~\xd4\x04\x22=\xc5\xf4\xb4\ +Tm]\x97\x1e:\xf7\xc3\xb86\xd7)\xa0\x13x\x09\ +\x80\xa9d\xaa\xf8\xde1\xac\xf9;\x91&\x0e\xb9p\xce\ +\xd5Tx\xbcz?\x01\xbf\x0d\x81\x8a\xa7\x12#\x01\x15\ +\xe8\x0b\xf0z\xf1D\x8e\x8dcO\x84\xb7z\x06i-\ +\xe8\xc9GQ\xed\xc7\x8a@8{Q\xae^]\xba_\ +\xb8\xfd\xd7\xb9\x9c\x80M\xf5t\x03\x84\xf9%\x15Q\xe3\ +O;\xf1\xba\xed\xb1a\x0d\x80\xa6E\x98&\x82\xc4?\ +\x01\xd6\xf1;a\xcdy\x8c\x01\x80\x81\x90L\x9b\xaa\x18\ +\xa7\xc8b\x89\x8c\xa2\xb4\xbf,l\xbd\xbeb$e\x81\ +\xd2\xb4\x80\x8a\xe3\xc5+\x1f\x0e[\xfd\xa38\x0c\xd0^\ +S\xd8~?l\x9d\x1b?>'l\xd58\xa8|E\ +\xc1#[\x88im\x14\xa0\xef<5\x9d\x84\x1f3\x96\ +R~\xe4\xbc\x03XE\xde\xf7/\xeb\xf3\xaeq\x86w\ +\x0ek\xb4G\x14t\xe5[Z\x96\xf2\xbc\xdd>'\xac\ +y\xde\xfe\x8e\xca\xb88\x1ec\x8f\xb8\xb31\xbeD\x1a\ +\xff,\x81\xf3\xf4s%\xda\x07\xb86\xe5B\xa1\x03\xd0\ +\xacp \x0e\x15g\x88\x87ho\xe5\xfb\x016\xc6\x97\ +\x8c/\x1d_\xd2\xfc\x9c\xf3\xd4\x94\xbd\x9c\xa2a\x0aF\ +\xe5wg\xad|a\xd9o~_\x1e$\xaeY\xf38\ +\xa2\xd0\xfb20wf\xb5\x90\x15\x18\xd5\x8a\x9f\x0c\x82\ +\xbd\xb3\xca\xe6\xb4\xb0v\xef\x186]\xf0\xa5\x96J\xdd\ +\xee\x97\xc2\xd6\xb9\xb65\x87=\x13\xa2\xe1\xcaas\xcf\ +\xfed\xcd\xc2\x8f0\xe8\xb5\x0d\xa2\x9e\x15\x1b\xe3=6\ +\xef\xc8\xde\xe1T\xe1\xae\x0f\xea \xee\xc5\xa2\xf4\x14I\ +\xfc\x05r\x9d\x98[\x89\xc8\xa1\x08\x1e\xb2\x04\xf0\x85\xa0\ +\x1a\x13q\x969\x05[\xa9\x9b\x02\x05\x0f\xb4G\x8e{\ +uj\x1b\x05\xf5\x8aH\xdb*:\xb3$l\x80\x09\xc0\ +\x80J\x09\xa43\x1dz\xa9\xe8G\x9a\xb6\x9b\x81\xd0\xab\ +~\x8b\xf8\x9eD\x11\x00\x81\x91aa\x08\x04O?\xeb\ +\xc4/\xcf\xe9\xaak\xe2Z_\x90\xb5~\xcc\x9a@:\ +?\xaf\x80\xb4\x02t\xad\x05}\x0f.\x00\xe1\xcba\x8d\ +\x0a\xb3@\xdas=q\xdf^\xb3\xfa\xfb\x10Z\x95\xac\ +\x83\xc2\xe6\x0a\xe4\xe2pzUZ\xef#\xe1\xb3A\xdd\ +\xef\xbe\x97\xb4\xa3\xfc\xd6A\xe6>\x10\xb7#\xe2\xa5\x92\ +K-\xf5ua\xd3\xc791l\xae\xccO6\x07`\ +\xf3\x94\x8ci\xf7,b)GfO)G\xe5zU\ +\xc0\xdc7\xeb\xddu\xfb\xde:\xcc\x9e\xcf\x99\xd0{\xc9\ +F\x5c\x0dS\xe6Ua\xeb\xc1\xed\xc0\x1dN\x1e~8\ +L\x7fg8zx\xf9\xf0\xf2\xb9\x129\x07\xe2\x02\x84\ +)\xd0Z\xc4j\xce\x96\x07\xffCs\xcc\xdd\x81\xd9\x83\ +|\xe7E\x04R\xe0Z\x0c\x99|%\x1a2\x5c%l\ +z\x1d\x92\xc1\x83B\xf9\xb0\xb0\x15\x08\xe0x\xa9\xd5\xa2\ +\x8a\x0e\x8f\x0f[\x0f\x9a\xa2\xe0Q\x9dVi\x85\xf0B\ +Z\xfbJa'\xf6T\xd4\xe2\x1eHp_%\xea\x0e\ +\x0e\x80\x93\xfd\xe3\xfd\x04\x0e\x12[\xd4\xc1d\x5c\x94\x18\ +\x99\xe7i]\xd1\x1c\xa0j-\xc0\x95\xf8\xea\xad\xb6\xee\ +Q\xecS%\xbc\x12\x1b\x89\xa5\x84NO\xa4\xc0\x01R\ +\xec N\xbfZ\xa2\x8d\xa8\x8c\xc4!\xdd\x07\x89\x9f\xfb\ +)\xc1M\xeaZ]\xa7\x84B%\x95\xbf\x93 [\xd7\ +D4\xb3\x22T@\x17\xff\xed\xe7\xfc\xbbW\x95%\xaa\ +\xb5Ztr\x5c[\x1dx\x80\x0c\x07\x22\x7f\xc2\x1f\x08\ +\x5cT\xa6\xf9?\x15JTL\x94T\xf7\x1be<\x03\ +*\xbdw\x02\xd1\xf2/\x00h\xeb\xe9!\x0b\xf3m\x16\ +q=\xa5i]\xa0\xada\x1d\xa0\xb2\xdb\xd7\xc9\xec\xaa\ +\x96\x01\xaa\xef\xd6\x19\xe0'\x03\xa5\xd2\x82 \x22$\xb0\ +q\xfdI\x8d\x97\xc8\xd5\xfd\x00<\xf0c\x9e\xa7\x96\x0b\ +\x95\x01~\x96\xd8b\x8aXU\x05\x98\xdf{Ej\x0f\ +\x084T\x06\xad{\xe7\x85\x7f\xe7g\x04\xaa\xe2\x01\xc0\ +\x8c\xc0\xc3\xbe\xc2\xd8\xc9@\x0f\x03\xb0T\xc2U8\x89\ +uju\x22&\x8a\xc9\x06\x98\xa0\xe1\xa3\x97]\xcb\x8b\ +1\x9b\xf6\x87\xf1\x9b\xc4\xfc<'\xeb\x99\xff\xce\xfdR\ +\xcf\x0d\xe0\x9c\x89\xd4\x14\xf6\xdf6\x02\x7f\xe3\x197_\ +\x09k\xd4\xd0%t\x80\xb5|\x1e\x15\x0f\x9d\x90\x09<\ +\xd5l\x01/\x15\xf0\xa4*W\xfc\x92\xf7\xb5T\xfd\x05\ +\xb6\xfc\xc0\xcd\xf2\xb9\xeb-\x15?\x00.\x04\xba\xc6y\ +\xa1\xea&0R-\x86Z\x1cn\x98\x22\x8a\xd9\x024\ +y\xe5e\x7f\x12W$\xcawlX\xd3{K#\x04\ +\xe0\xd9\x9fw\xd6\x03\x7f\xfe\xbb\xe9\x8f?\xbd\x003\xf6\ +# k|m\xd8\x9a\x90\xee\xdc6l\xa6\xd8O\xb6\ +\x8a\xe5m/\x1c6\x07\xb6\xdf\xddgZ\x14?O\xe4\ +-\x01\x8f\x1a\x7fk_\xa5\x96\x8d\x0a{\xf52\xe7\xb8\ +\xb0\x12\xed{u\xd8Zi\xdc}\xd8\xee\x91\xbbA\xe9\ +\xfeP\xd8\xf4\xfa\xac\xb0\xb5e\xa4\xa8\xc3\x99\x98U\xbc\ +\x0a\x10\xcbx\xc3\xdf/\xea\xbf\x8af\xc6\x87\xdb\x0b\x86\ +\xad\xc0]\xb5\xf4\x18;{\x8d\xb05^'\xaaZ\xfb\ +\xc8\xbat\xae\xf0k\xfc1?\xe2\x15\x00\xe0>v\x00\ +\xc0\xf6\xa4\xb0\x06@\xcc\x04W\x22\xbd\x9d\xbf\xd6\xc4n\ +\xfcZXj\x1b=%\x19\x14\xd7\x9f\x81\xf6\xc5\x0f<\ +i\xb9_\xbb7\xdc\xbd\xd1\xee\x0d\xe7\xf3\xf0\xc3\xb3\xa8\ +\xe0\xf3\xb6\xcf\xdf>\x7fN\x8c\xffl\x9c\xfc\xdd\xf8\xaf\ +\xcb8\xcf\xf1La\xeb\xd4\x8a\xed_\x865\x1a\x11\x8f\ +\x08[\xefC\x9d\xdb\x00d\xf9L\xfa\x05\xe3m\x01C\ +\xd5b\x04\xa0\xccB@\x01\x9eZD\x1f\x17\xd6\xc4i\ +Z\x9f\xf8ITm\x9a3\xaf\x5c4 \xaa\x15K\x5c\ +`\xeaH\xe6/\xf1i\xe3\xf3\x020\x00\x1b1\x8c=\ +\xc6\xb1WA\xc0\xb89@)\xaa\xb9u\xef\x5c\xe2\xd7\ +%\xa8\xa9\xc1VSc0\xab%\xe6\xe9G\x8a\x11\x9e\ +Z\x15\xf63\x00\x988m\xb5\xbe\xf9{\xfe\xbe\xc2n\ +\xc6{\xb4q\x86\xdf\x0b[5\x04\x0a\xb0\xa2\x0d\x97\xcc\ +\xbb\xd2h{hX\x93(c\xf6&c\xbaZL1\ +0\x00\xa5\xfc\xa8\x02\xec\x1d\xb3\xd5\xcb\xf9\x89)\xfa7\ +a\xcd\xbetN\x89\x17\xe5\x11\x0aq\xce\xbf>\x1e\x15\ +\xb7\xfa\xfcY\x817\xae]\x1cY\x1a.\xf6\xb3\xb8\x05\ +\x80\xef\xfd\xc4\xa7\x9d\xe6]\xe5Q\xfe\xce\x99r\x9f*\ +\xf8)\x04\xa7\x08b\xec\xa2\xd8G\xf5\xef\xc9\xfc\xd8\xbb\ +{\xe7\xdd;\xed\xc6\x82;p<\xc389\xe6\xf1}\ +a\x8d\xda\xe1\x95'\x9b\x02\xe8\xe1\xc9a+RZ\x09\ +}\x8e\xed j2W\xd0\x1e\x93\x1b\xe4W\x8dh\xc1\ +-r#\xa5\xe3\x8f!\x1e1\xc6\xa3\x0e\x9cN\xbd\xbd\ +\xa8\xed\x02P\x14w\xc8\x9c\xc0@e\x80\xb8BR\xdc\ +*\xe0\xb8|R\x5c!\xa8\x11\xa67\xe2t\xb5@!\ +\xd6~O\xa0\xde\xab\xe2K4ml\x01R\xdf:\x00\ +\xc0\x10\xf8\xea\x85'\xda\xa7\xa7EO^\x84\xaf\xdfh\ +\xfe\xbe\x07\xee>\x9e}\xee\xa6\xde\x9fJ'\xd0\xf69\ +N\xbf\x8c\x1b\xaa\x8a\x1cq\x19\xd7Iu\xf9\x9ea\x0d\ +BjA\xf5\xd4j@\x88\x85\xe3\xef\xbb?*\xd9Y\ +Q)\xe0 \xefW%\xf4*P\x904\x15x\xf7U\ +\xaf\x99\xde\xbe3$\xf2l\x0e:\xa0I\x22`cB\ +p\xa9z\xde5\x9f\xa3\xeb\xd2\xeb\x94\x80T9\xb0\xec\ +\xa5/D\x8e\xe3\xbaZQ\xc8\x17\x84\x9d\x83\xc8\xf1]\ +\xd5\xab\x99\xd3*\xc6?\x09k\x1c\x87\xc0\xd4|\xd9\xcf\ +\xa5Z\xe9\xb7\xf3>K\xa40-\xa8\x92\xab<\x99\x9f\ +\x9e\xda\x1c\x058\xac\xa1R\x0b\x5c\xdd\x7f\x15n\xf7Q\x80\ +\xcb\xdfz\x1e\x02\xf4~\xfe\xb5\x80\xe2\x8d\xa1\x0b\xde\x00\ +\x16\x00C\xfe\xc6\xd8\x9f\x1c\xc7\xaa\x02\x5c\x89\x13\xb12\ +\x80\x94\x83>\x03\x0e\xbd\xae\xd4\xc6\xeb~\x9a\x1b\xfe\x07\ +a\x0d\xa0\x93\xe7c}\xee^\x1c/\x03\x12\xbd\x96\x05\ +\x00\xa9\x88\x1d\x15\xb6\xf6\xe8\x16\xd0\x94\xd4\xd8\xa2\xe0\xf7\ +c\x13\xf91\xe7\x06@\xc6\xfdu\xbe\xf5\xe3p\x9d\xe3\ +\xc66\xb9\x0f\xd4\xb4\x93\xf90\xde'\xac\xb9\xce\xdc\xff\ +\x80)b_\xd53\xe9\xdc\xf5\x1c=?\xebK\xe2\x9f\ +\x09{\x15\x0a\xb4d\x103%\xea\xe5>\x0a\xacQa\ +\x014\x1f\x9a\x02\xca\x0f\xadZ\x0e\x15H\xeb\x89\xa5-\ +\x92\x81z\xc51\x09\xf0m\x1e\x1e\xd6\x14\x10\xdc7~\ +\x06\x10h\x9cj\xee\xf7\x127\xd4\x12s\xc1\x04\xf8\xd3\ +\x8fV\xeb\x8fs1\x03?@k]g\xfa#bs\ +\xf5\x9cM[2\x0e\xfa\x80E\x0cz\xf3\xa1\xb0\x06 \ +I\x7f)\xfe+ H\x00\xdaU\xae\x9cS\x15'\x01\ +&\xb5`\xdd6l\xee\xb5\x9f{\xcbK\xfc*{\x96\ +\x87\xbb\x84\xad\xe2i\xb4\x14\x8a!\xf0\xc8\xb0\x86\xb9\xf6\ +\xc5=_\x9a\x99Fq\x97\xce5\xb7\xa6\xcd\xd3\x15\xc6\ +\x8b\x8d\x17\x1d/63d\xfepf\xc8\xd0\x9c2\xce\ +\xf1\x84\xc5\x8fT\x22\x9f\x9aM\xf3\xbe\x7fC\x93\x10}\ +c\xfc\xfa8]\xf7\xf8\x99\xb0\xe9\xf5\x0ea\xcd\xb4\x03\ +\xfb\xcc4\x9fL\x88+\x8e\xa2\x81\xf0\x9d\xb0\xe6\xdc\xd1\ +3\xef{Tz\x94}Z$)zV\xad\x95\x9eK\ +R\x871\x10\x8a\x89\x90L1\x09r\x8d\xd3T\xe0\xb2\ +?=G\xfe\xd1\xf3\x94\xe88/$\xd2\xc68\x9bV\ +\xf2\xca\xb0\xc6\xaf\x89\x87\xf8\xff\xf3l\xcf\xbb\x9d~o\ +\xbc\xdfx\xff\xf1~s\x85\xf7\xa8\xa8\xf0\x8e\x7f3\xbe\ +y\xfc\x9bu\xea\xd8\xf8\xae\xf1\xb8\xf1\xb8\xb5\xa5\x90\xe6\ +\xc0x\xc5\xb0\xf5\xb2\xaaW_\xbe\x92\x00\x0d\x86\xec\xf6\ +\xe1a\xab\xd8\xe5\x9c\xcf\x5cym\xa5*`@+\x91\ +\xe7\x92\xadRUIN\xc6]\x8dU\xd6\x22\x94\x89i\ +\xcd\x97\xd7\xe2\xaa\xc0\xd43`\xa8\xc0\x13\x8d\xc30\xe4\ +_\xd2_\x14\xd0\x00\xa0=5lm\xd5\x1a\x0e\x0f[\ +\x99gZ\x920\x9e7g\x0f\x9b\xee\xd3\x11a\xeb\xe7\ +$\x1e7\xdc$l\xcd\xb3\x9c\xcb\xf5\x9cM\x15\xc8\xd6\ +\x00\xe7\xc8x\xfe\xb0\xe9}\xfe#\xac\x014\x01\x1f\xc9\ +p.\x7f*^\xd2cO\xe4\x13\x83@+Y\xfaq\ +S\x8b\x14\x14\xc77\x86\xadq@\x01.\xf22\x0c\x1a\ +\xd7}\xc0\xbeS?j_\xac\xadKK\xbe\x81\x11\xe0\ +s\xa7\x88p\xc5\x1b4\xd2\xc4\x8b\xbd\xe6Y\xc7\xf0.\ +\xbf\xa6P*\xde\x88t\xfe\x8f\x9ai\x05\xc9\x1c\xda\x9e\ +-\xac\x89\xdf\x00\xe14UzF\xb9\xdf'\x12\xad\x95\ +\x01\xd3N\xdcl\xaa\x12\x11\xcel\xa5\xc14\xa88/\ +\x99\x87{w/\x11\xd6\xf4\xeeF\xba\xf7\x7f)6\xf2\ +\xca\x0c,\x0fm\x02z\x15H\xf3L\xb3'k\xcf\x9b\ +f[\xa90'\xcd\x83\xcf\xd6\x9eB\xc8\x86\x83A\xef\ +\x12\xc4\xb7\xef\x19S\x89A\xc5FE\xd1\x1bg\x9a\x80\ +\xb1\x0e\xa8\x1b\x10\xe8\xf3\xe4\x06\xbcq\x222\xa8X\x12\ +N\x09\xbc@\x06%G\xaf\xaa\x80I \xeaz\x1c\xe4\ +\xfd\x18\x1c\x81\x9a\x03\xbc\xfb\xf9\x9a\xc7)Ql\x91\x9c\ +\xbdMb\x1b\x8f\xfb\xeb\x09\x1c\x9c\x94\x81\xb7\x84\xb1\x15\ +k\x13\xb8r\xc8\x16\x80\x03\xc6\x82W\x01\x95\x08X\xc0\ +\xaeW\xc2\x8fzcAKd\x04\xfc\x02c\x1bA\xe0\ +'\xa1\x17\x80\x01\x14\xf2\xf3\x14\xf2\xa6\xb7\x1b\x15\x19\xf2\ +)1r=\xbd\xd8\x98\x00\xde\xf5\xfby\x95\xa6\xd2~\ +\xc8\xb1\x8a\xc7g/,J.\x8a\x8c\xf1Qz\xa7s\ +\xbdNa\xfc\xa2\xfe}X\xaaEC2\xb3'n\xf3\ +\xb5\xb0\xe9u\xb3\x04z\xc6\xd3TO*\x111\xcf\x1b\ +\xf5\x1d\xc0\x85J\x9ac|jC\x03\xa6\x8c\xed\xd1\xc3\ +&\xf0\xce\x00l\xf8v\xd8\xdcjs\xafa:\x80\x86\ +\x0f\x86\xad\x14\xe09\xfe\x9c\xf6\xcb\xf0\xc6\x14\x9d\xba\xc0\ +\xd2b3\xfc$lM@\xb6\xef\x09[\x1dOU\x08\ +\xa8\xb8f\xa0\x5c\xe2F\xc7,\x81\xc6\xe6e\x19\xe0=\ +c\x01(\xa6`j\x1f\x15\xf5b\xe4\x00\x80\xae\x16\xb6\ +:\xd6\xa2r\xde!\xac\xa1p\x11#Q\x09\xb5\x8e8\ +>\xeb\x8e?\xe8\xc5\xfez\x0d\x07\xef\xd3M\xa5p]\ +\xc5L!\x12\xd6Q\x84\x0b\xa0\xd2+\xadB\xfa\x90d\ +J\x98\xae\xa1e\xa1\xa7\x92\x0b\xd8{\xd1:\xeb\x15e\ +\xd3z\xe5G\xfc\xbc\xfde\x9d\xe6X@\x15\x95\xea\x11\ +\xd5\xea\x92H\x7f\x89A\xa1\xe0:\xc0\xfa\xfbd\xbf\xf2\ +\x1b\xfc\x96\xfb\xda\x8b\xcb\xf1\x13\x9e\x83DN@\xc3\xcf\ +`b\x01\x22\xfd\x9c\xe7\xe8\xef\xf0o\x00Q\x0c\x93\x04\ +\x08\xf4\x8en^\x18\xd60\xa6$n\xf7^\xc4&\xeb\ +\x9c\x00\xec\x00({\xb5z\x95s\xcf\xc9\xfa6n\x10\ +\x03MK\x02\xe0A\x00\xec~f/zi&x_\ +=\xcf\x09\x88\x97x\x97\xca\x22\x00\xa6\x1b{Vb]\ +\x803\xfe\xcd\xfd\xd6\xb2\x91\x80c\x01Z\xe9W\x83\x88\ +\x1cT\xe4Z\x9f\xfc\xb1\x96\x02\xcf]\x0b\x0a\xa0\x02\xd0\ +\x86\xf1d\x1d\x09\xbc\xb4&\xe4\xe7\xae@\xdeX2\xd4\ +\xf7l\xadQq\xac\xcaQ\xaar\xd7\x988\xbd\xf6*\ +&\x12\x7f\xe78`6\xc7F\x956\x8e\x84\xcc\xf9h\ +\xfd\xb9?\x99\x90W\xcb\x99\x80K\x5c\xe09y\x9e\xf6\ +\x19\xa0\x100G\xacS@\x84\x81t\xe4\xa2>_\x95\ +(\x158\xcc(\xd3b$\x10\xd6C\x02\xa9\xc6\xc9m\ +>\x18\xd6$\x06\xc4\xb7\xd2\xefTba\xbd\xdaGy\ +\x9fL\x17\xa8D\xcb\xb9\x9a\x95B\x9aK\xb5\x1f\xdc/\ +b\x80\xf9\xf9K4\xd8\xbcp\x15\xe1+&\xf0qD\ +\x02\x89\xa6,$\xd0^\xe2|\xd6\xb1D\xc9\xfev\xdf\ +=\x97\x1e\xd8\xef\xd5\xe1%\xc4\xfc\x80}\x8bB\xae\xf7\ +\xf8\xd9a\x8d\x96\xc9\xc1a\x93\xfb\xfa\xef\xb0\xf5\xf9X\ +';\x97\x0b[\x01\xd3\xdd\x9b\x87\xcd\x95\xd6E,O\ +\xab\xdb\xa7\xb3\x00\xe4~}{\x89O\xb7\xd7\xda^{\ +\x06\x0c\xb2\xc7{\xf7\xc3a\xd3\xfb\x9e7l\xad\x08\x13\ +\x83\x1b\x7f\x126\xfd\xdc7\xc3\xa6\xef\x7f\x1c\xd6$\xe8\ +\xf7\x0ek\x0aNz\x82\xcf\x15\xf6[\xa8\xc5\x00+\xc0\ +\x90\xe9\x0cT\xeeM?\xb8v\xd8\xfa9\xab\x82h}\ +\x89/\xf9\xd3\xa7\x855@>15q>fm\x8e\ +9\xae\xca\xb1xP\xc1J\xcb\x0fF\x99\xeb6\x9d\x80\ +8 &\x94}\x88!\x9b\xad\xae\xc4#w7a\xf3\ +\xef\xcdc\xe4\xc6W\x86e\xe1p\xf2\x1b\xe3\xc3\xc6#\ +\xc7#\xd7\xdel-\x9e\x01\xb7\xcd\x8c\x80\x9c\xaePZ\ +c:\xd3\x8c!\xa4A\xd0\xcd\x91\xa7mT\xe32\xf9\ +e-C\x09\xb0\xd2\x82\xa8\xc4^\xc1Lk\xd6\xc3\xc2\ +\x1a@ \x01\xf7\xd2\xe4\x00\xcc8\xe7\xf8\x07\xfb@\x5c\ +M\xe4Y\x1eD\xb4\xcez\xc88||JX\x137\ +;\xaf0\x7f\xf2\xb9\x18S9\xbcyx\xcb\xf0\xe6f\ +\x9d\xe5\xdf\x1f\x8f\x0e\x9b\xfe\xff\x95a\x0d\x90\xf5\x88E\ +\xc3b\xb8t\xd8\xdcj1\x03/\xa5Y@\x84<\xc6\ +]\xb6\xdak\xfc\x05q\xc2\x98n\xf2\xf4\xe6~\xe5\x94\ +\x94\x02X\x15\x0a$\xea(\xf8\xc6\xd7\x02\x5c\x01!(\ +\xf5D\x02=\xef\x1b\x875\x05\x03\x05c\x8ch\xfeJ\ +\x9cv\xa5\x8c\xf3P\xe3\xc5\x01\xd9zYSMh\xd6\ +\x88\xd7\x14\xcehC\xe5\xb9Q\xadd\x9e\xa38\xc7\xbe\ +\x00\x04x=\xf3\x05\x00@\xdc6\xf3!\xc0Yi\xe0)x%\ +\xa0\xb3\xb7z\x96\x82\xfaq\xa75\x90\x98U\xd6\x9b\xf9\ +\x8c\x9b1lup\xc4\x01K\x8cL \x84zx\xeb\ +\xa5\x07\xb9T\x8do\x9d\x95\x92\xbe\xa2,\xe1\xec\xe7\x0c\ +\x0bX\x1d\x90\x02\x08\xa2\x15\xe6\xc7'\xf5h\xbf\x03\x09\ +r\xdf\xcfSWy\xa5\xa2\x0b\xa9A5\xf5`\x1dt\ +\xfd\xdcZ_\x07tj\xb3>\x0f\xca\x17*\x8a/\xe2\ +\x12\x02_*\xe3\x12z\xd7\x9d\x07\xf7\xfc\xa0\xff\xe3\xb7\ +\x88\x1c\xa2\xac\x11\xc3\xbaPQ\xe8\x16\xe0c;\x0f\xbe\ +Y\x02\xd2;4\x95N\xd4^H<\x0a\x98\x00\xc9u\ +\xf4\xd4\x13\x81\x09\xc0De\xc5}\x92\xe8\x08\xb8$4\ +\x16\xb8y\xf5\x17\x0ak\x024\xc8\xa7\xd7^\xa5\xfd\x22\ +I\xa9\xd2cE\x14C\x80\x0c\x99\xf3wl@\x01\x9e\ +\xcf\xad\x17)\x03\x07\x09\xeb\xe6\xa3\x8b*\xfe\xe6\x9e\x8b\ +\x0a\xb2\xeb\xab\x9em\xbdp\x7f9\xdbZ\x11\xc9Jm\ +\x8d\x07\xcc\x03w|oXC\xb13\xf6\x0a\xa0\x01`\ +\x91@}.)F\xb4\x1c\xb2\x17\x7fJ\xb7\xe7\xde\xdb\ +\xcd9\x17fL\x10M\xe3\xf3\x0f\xc7\x84M\xaf\x87\x0c\ +W\x1a\xae4\xbd\xfer\xf8\xc50\xad\xcf\xe1\x94\xb0\xe9\ +\xf5\xc1a\xd3\xebc\x979\xb2\xa1q<\xab\x1cgO\ +\xdb\xf6Fa\xd3\xeb\x07\xc2\xa6\xd7C\xc2\xa6\xeb>_\ +X3\xde3+D\xa5\x01\xa12\xb8\x93\x95.\x89\x81\ +\xf9\xaa\xf6\xb3}\xf9\xe2\xb0&\xe1\xf0y=g\xeb<\ +\x99:\xa5\x1eK\x8c\x85x\x95uf=A|=o\ +\x09<\x7f!\x90\x17\x80\xa2\xe2K\x14$Z\x12G@\ +\x80^\xff\xf47u\xa0kM0\xb7\x5c\x82\xc5/\xd8\ +\xef\xf6K?\x8e\xac\x0b\x88K\x93\x00\xa0\x08x\x14 \ +f@W\x07\x22\xa0P\xcf\xa7\xbfk\x1f\x13\xf5r\x9f\ +Q\xd2hV\x00\x06\x00`\xd6\x9f\x84\x0aP\xe2s9\ +\xf8\x1c\xd8YAp\x90\xd4\xbe\x14X\xf0K\xfdT\x94\ +\x1e(\xe8\xc7\x8dZ/\x00\xb3\xbe\x12/\xc0\xb1^\xf2\ +\xf9\xa8\xf0\x0bhT\x0a\xf6\x03\x90\xdc\x07\x89\x06?\xad\ +\xe5\x81\xe8 ?\x01\xc8u\x7f$\xeaZ\x1b\x04\x06\x12\ +k\x81\xba\x04\x1c\x85T\xcf\xba\xd6\xae\xab\x845\xcf\xd9\ +\x01o\x9dZw\x12e-\x05\xd9rT\x01\xa2J\xa0\ +1`\xa8\xaa\xcf[z\x94\xcb\xef\xf6@\x86/\x07>\ +\x0d\x82\x07fOy\x8a\xc6\xedWi\xce\xbf\xbfyO\ +X\xe3/\xf5\xc6\xba\x0f\xcey\xf7-?\xf7\xe6\x9ba\ +\x8d\xb6DN\x17(Ul\xe7\xb4\x0a6\x95ub\xb4\ +\x00\x04\xe3\xf1\xec\x07S]RcB\xe2P@\x89\xde\ +X\x80\x87s\xcd:\xf5\x1c\xecW\x8c \xaa\xdf\xcek\ +\xf3\xae\xc5\x07\xf6u\xb6\x10\x02\x02J\xc4\xe9\xa8\xf4\x0f\ +\xc4\xfc\x12X*\x8a\xac\xf1]Y1\xabJ)\xcd\x02\ +\x0c\x19\xfb\xcb\xb9K\xfc\xd4X\xacL\x90U\x886\xef\ +\x08k\x181\xc4\x1d\xedO\x0c\xb4\xec\xbd\xae}\x0e\x00\ +J\xd1Hb\xa4\xc6$b\xa8\x002\x04\xa0\x95\xc0\xea\ +m\xce\xe7Pc\xdc\x88\x8d*D\x5c;\x01^\x22\xb4\ +*\xac\x02^\x80YW\x09\xa5\x0d\xa5\x82\xa5U\xa3>\ +w\x02\x84U\xd9\xd6\x03\x8f\xd2\xeb\xbe\xf9\xfc\x99\xe0\xd2\ +j\xda~3\xac\xf1O\xfc\xb1\xf8\x22\x13\x91\xf1]a\ +\xfb3\xc6\xcc\xff\xd63_*\xfe\xc6}\xa5_\xa9\x16\ +\x1e\xcc \xf1\xa88R+\x86^\xec\x04\x14K\xdcS\ +\x85\xd2\x189\xbd\xfa\xe9\x070UL\xe5*\xf1X\xe7\ +21<\xf1\x87\x84\xd49\xea\x1c\xc9\x16Q\x14\xe5\xfa\ +\x7f~\x1c\xc0\xdf\xb5\xc4\xd5y\xc1\xbf;\xc7\xf2s+\ +\x0c*\x00\x8c'\x855\x85!c\xea\xee\x92\xe3\xac\x8f\ +\xcf1h)\x9eX\x95z\x0c\x80T\xb3/M\x81d\ +\x8c\x00\xe8\xed\x03~{zJW\x98\x9fS\x02'\xee\ +c1\x05\x92\x19\xeb\x9c\xa3]R\x09\xbb\x9ep\xdf;\ +\xd7\xed\x1f\xda\x1aZt\xba\xc2f\x15\xe0\xf8\x1d\x00\xbb\ +<\xc7\xb9\xd7\x9d\x93\xdb[\x855q[2\x17\xea\xfe\ +&0iZ\xc0\xf0\xf7a\xcd\xf8\xd9\x8c36\xbf\xda\ +\xfcr\xf3\xab\x06\xa8N\x8a\xfb\xf8{ak\xeb\x8ex\ +q|lX\xc3\x10J\x00\xbe\x80Pc\xf2R\xeb\xa1\ +\x80$-\x0b\xc9 \xad\xc4\x9c(k&\xd8\x0a\x1a\x05\ +l&0S\x80.&\xa5<#\xfd\xf3\xf0\xe6\xb0\xe9\ +\xfd_\x1f\xb6\x026\xe2\xd5jQ\xd7\xe2\xa5E\x85\xa6\ +\x0e\x8d6\xff\xef~\x8b\xaf\xe4\x87\xa9\xd5Pb\xabW\ +\xc9s\x0e C\x0b\x02\x95_AIaGK\x96\x82\ +\xb5\xf5\xf0\xadyN\xc6:\x85%\xf3\xb5\x9a.\xd6\xf5\ +\xe4c\xb4T\x0b\x04f\x1cf\xb4\x02\xa2\x02\xa8\xb1\xb0\ +\x09\x18\x16s#\xa7m\x150vPX\x13\x17%\x10\ +\xbf\xb7zY\xe2\x80\xfed\x8e#\xbbVs\xf0\xa5#\ +\x99\x11\xb5\xeb6\x95(\x22\x14\x1c\x0fq\x1d\xbd2\x10\ +\xb7\xfc\xc3\xdb\xeb\xe5\x5c\xd3\x9c\x13^bA\xc6|\xa9\ +\x14\xa8@I,;\xcafQ\x97!\x96z\x9888\ +\xc0\x81\x83\x15p\x10?\xf5\xa5\xfc\xe0\xff\xb5\xde\x98\x1a\ +7$\x10\xe4\xa0\xf4\x14\xaa\xf0B\x8e\xfb9\xe9z\x03\ +\xf5\x1a\x09\xc4 P\x1eT|\xf7\xe1D\x08?\x90\x81\ +\xc0?\xe4\x02\xfbf\x93\x90K\xb8\xddO\x0eE\x82\x8c\ +zD\xc5W\xe0\xdb\xf7\xb8\xc6Sm\x01\x0c\x8e\x9dC\ +\xf2w\x00\x18\x16\x06\xe4J\xa0na\xa6\x88H\x05\xfa\ +\x09\x00\xec7FPk\x85D\xadS\xf1\xae\xef\xddO\ +T\x1b\x89\xf7\x85\xf3~I\xf00J|N\xf7\xdd\x01\ +D$\xcc\xf7\x00\x07\x09\x90\x8d\xa9b\x9f\xaa\xa5*\x1c\ +\xc3\x1b\xc3\xa6\xd7\xb7\x875s\xab=\x8f\x0c \xa9\xaa\ +\x0e\xaf\x1f^7\xbcn\x16\xe7Z\xe6\xcc\xdec\xe9\x9d\ +\x9d\xee\xfa\x1c\xf0\x8d_\x0e\x9b^\x7f1\x9e:\x9e:\ +\xf7(-\xe22\xa8\xfe\x9d\xda}\x01P\x97M\x95\xff\ +\xaf.\xbd\xa4\x9b3.\x89kQ3\xff=+q\x9f\ +[\xc6:\x0d\xef\x0c\x9b^\x0f\x08\x9b^\xaf\xb4\x00\x03\ +;\x97\x0f[)\x93%\xe2\xc4Q\x98?\xacu!\x11\ +\xd3\xf1\x84\xb0\xe9\xf7n\x18\xd6P\xa7T\xecL\xf3\xc8\ +\x80Mo\xad^\xbb\x02X<\x07\x8eJ\x00\xee`@\ +\xe9\xd7\xcbl\xac(Q*\xe3 \x05\xf0=\xc0c\xfd\ +8P%\x1aD\xe3\xac\x1b\x81&\xaa\xb4\xc0_E5\ +\x13\xa3JP\x8c\xa1\x91p\x0bH\xb5\x1e\xa8\xcc\xa1p\ +\x0b\x1cQ\xc0\xb5\x8a\x98\xcf*P\xf2sZ\x14\x5c\xb7\ +\x840\xf7\xd9\xe6\xb8\xb0F#\xe4A\x0beUe\xb2\ +\xa8\x8d\xf6\x83DW \x07\x10\x04|\x09\xb8\xad3\xeb\ +N\xa2\xd1\x05\x82%\x9eh\x0c\x19&\x02Jq\x8fl\ +\xf7\xe3R\xf9\x15\x09\x08\x0a2\x00\xc1\xdf\x97\x90\xdb\xc7\ +\xfc\x90@\xd3T\x08\xa2N(\xdb\xfc\xa1\xf7\x01\xb4\x01\ +\xd6\xbfc\xae\xf0K\xe2a\xfb\x17 '\xaeN\x06\ +|i\x81$S\x82\x18d\xf9\x7fqg\xe6\x93{\x8b\ +\x8a\x1b\xc7P\xa8G~z\xb2O%5\xf0\x81\xabH\ +U%\x88\x81\x83\x1f\xd9\xa8S\xa7\x83\x18?\x1a\xb6\xce\ +\xa7\x9c\xb7\xc1\xaf\x9b\x03N\x8f\xed\xb9\xb3b\x97\x0e\x86\ +C\xac@S\xe2\xdf9\xa0zU9\xf2=\x04\xb2\x1b\ +\xd37\xbd\xdbL\xd5\xd8\x1c\xb4\x04\x06\xe5H\x03F\xf8\ +J&\xaa\x97l\x10\x18\x8eH\xa2\x09\xf1\xa1\x8e\xdaU\ +\x88\xcaq\x0ad\x1d\x88\x02@=\x90*\x17*\x9c\x01\ +o\x5c=\x91\xb9\xc77\x94\xab\x9b\xcc]ik\x82\x83\ +B\xf6\x83y\xf2\xfc\x128\x13c90\xefS[Q\ +\xf2\x1cU\xda\xbe?\x1f\x09+u\x10\xe2\x9cT\xb1\xea\ +%\xe4\x98|\x01\x84P\xa5$r\xa8]6\x8c\xc4B\ +@\xad\xc2\xea\xfeqh\x00\x08\x0e\xd4\xef\xbb\x8fkb\ +\xb0\x5c\xb7\xe7\xefK\x0f6uc\x00\x91\x85\x0fY\x87\ +\xcc\x0a\x1c9\xee\x87d\x80\xf7\xe8\x85\x0a)P\xd7\xfb\ +Z\xbdLYy\xd8yC\xd8\x0c\x10,T\xc8\xdb.\ +\xc8% \x8c\xd8\xde\xf4.KOd\x88\xda<\xb9\xe9\ +y\x22~\x95\x01\xddx\xd9\xb0u}U@\x06\xf9\xd4\ +\xdbu\x96\xd4&8\xebR\x11\x1b\x9e\x1f\xb6\x06\x12\x9b\ +s$R\x9d\x07U\x89\xff\x1d\x1f6\xbd\xde\x7fM\xafo\ +XzR\xcbOZ\xef\x9d\xe6A\x1d<\x02Q\xaf]\ +Og\x89\x16\xba\x8f\x9eO_Q\xc7\x1c\xf0%\xe1\xef\ +\xc7\x01\x12\xb7S)_Ui\x17\x7f)\x01\xd7z\xc1\ +\xef\xc4\xf9\xf3\xe9F\xf4L%\xd2\xc1\xefyH\xec\xba\ +\xf1\x87u\xdf\x01=\x12\xbf~\x5c\x0e\xa0\xd0\xf8<\xad\ +\x1e\x98!\x80\x85\xac(\x07\x918\xa8\xc4\x15\xb8\xe8\xb9\ +\xa4}\x91\xad6\x9b\x7f\x0f\x9b.\xf3Sa\x8d\xf8\xac\ +1\x9e/\x0ek\xc6Ty\x0e\xbe$\x00\x02Q\x01\xbe\ +\x8a\xbb\xebD\xc9\x06\xfc\x12\xa9\xe4\xa7\xb5\x82h\xbd\xf3\ +\xf7\xbau\x5c\xd7\xad\xe2\x9fL\xb5\xfaw\x9f\x1b\x85\xd3\ +\xfd\x14\xf8'\xd0]\x95H\xeb7\x99\x0a(\xdcU\xf1\ +\xce\xe7O\xe5\xbb\xd6\x03&\x9f@*\x13\xab\x9a\x82\xc0\ +\x7f\x12\x1d\x93`%\xd3\xb0\x80\x12\x957-^\xa8\x91\ +\x17M\xb1V\x09\x0d-\x0ac\x1aU\xb01\xd4\x00\x87\ +ZB\x9c\xa3\x00\xfbL\xf4\x0b\xf0\xc3\x14\xe2\xd71~\ +0\xfd$D\x19\xd8\xd7\xfe\xc8}\x5c\xc4;LE\xc0\ +8\x8d\x06=\xdb\xcf\x9fm\xcf\xf6\x0da\x0d\xf0\x04x\ +\x7fx\xb6\xae}v\xf3\xb9\xcd\xe7\x1a\x7f\xa8\xd7>+\ +\xb4\xd5\x02CkF\xa2m\xff\x00t\xfa\x16\x16\xd7\xef\ +\xf9\x10\x17\xbcs\x02\x1f\xbf\xcc\xf5\x85\x91\x88A\xa3 \ +\xf2\x8a\x0c\xd8_\x9d\xada\x12i~'\x01\xb1\xe1\x15\ +a\xcdx>b\xc3\x99\x88\x98B0>!\xac\xa1\x00\ +\xf3o\x00'@S\xdf\x8a\xd4\x7f\xa9\xc8\xe6\xfd\xad\x8a\ +\xa1\x02\x88\x84\x8c\xa8\xb2\xf8\xcc>3\xfd!\xe3\x88^\ +\x83\xa2*\x80\xe2\xb5Ll\x0a\x98\xd7:$\xd1\xe7\xaf\ +\xb2\xc7\xd9\xb8\xbd\x02\x86\xac+\x8c\x9a\x9321\xfd\xcd\ +B\xd5\xae\x96X\xa2\x9fY\xd8(\xb1Y\xe7\x8e\xebN\ +@\xac\x80\x85^3\x06\xf3\x03\x10@\x5c\xd3\xfbXg\ +\xfc\x96s?\xd7W\xf5\x22'\x83\x02\xb0\xce\x0f\x14c\ +\x82\xc6\x17`\x05\xf0\xca\xef\xe4\xb9\xa9\xb7\x9f\xbf\xdb\xde\ +2\xacQ\xbf7\xdeP\x22.QO@\xb7Z\x98h\ +\x14X\xaf\xceu\xfb \x13\xb9\xf2Wz\xdas\x7fn\ +\xdf\x15\xd6\x00\xc5\xfcb?NQ\xdcC\x0c\xd0\x18\xe0\ +\x5c\xaf\xc5\xcc\x15'\xfb\xb9l\x1d*\xff\xab\xa5\x98\xc8\ +\xe1\xc5\xc2\xd6\x96\x87\xf1\x02a\xd32\x7f`X\xe3\x8f\ +rz\xc6\xf0\xa9\xb0\xa6\xe7<\xa7\xdb\x8c\x8f\x0e[\xa7\ +H\x14\xd0E\x84\xf2%a+\xe3axYX\xc3\x88\ +\xc1\xe80\xae\xfcfY\x00\xceu]\xcc.c\x0c3\ +\xfe\xd2*\xb0\xf9D\xd8oa\x14\x0240\x1d\xc5\x0b\ +\xe2@\x85\x12\xcf\xcb\xf9\xad\x15\xc0\xd8\xdcd\x94TB\ +\x9cZ\x05\x0a\x0b5V\xd4z\x17\xaf\xd0\xb80%\x82\ +\xc8\xb5uO\x8b\xce\x97\x02\xb2\x02\xad\x96:\x05\xae`\ +\xd6\xffbe\xd8\x8e/\x0ak\x00'\x05\xe5d\xea\x02\ +r*\x7fv\x8e\x8b\x17\xf3\xfe`\xe6\x17\xf5\xff\xbc\x8b\ +\xd6F\x15\xa8\x9c\xfb\x00\xb5\xfc\xfd\xbdn\xc0<\xb6\xe3\ +\xd6M\x8fa:\xde\xcdI\x93E\x0f\xf2\x8f\xc3\x9a\x0b\ +\x88\xf0\xe3\x91\x0dR\x04\x09\x8a1\x80\x11\xe8\xbc|\xb2\ +\xa3\x1b1#\x8e\xf5\xa19\xef\x5c\x82\xe0`\x85X\xf6\ +\xe3\xfd n1V\xf0\xbbk\xefCm0\x1b\xa6\x17\ +cX\x03\xe1%p\x8cw?\xb9\xeb\xe1={3\x86\ +!Ey*\x80\x15\x98Ip\x05\x9e\x1c\x94\xef}\xa5\ +C.\x91\x8a\x08\xcb\xcf\x91\x09\xf4\x89\x8d\xa8\x97\x83X\ +\x8f\x87\x8a(\xf5b\x89\x81\x85\xe5s:\xb88B\x8e\ +Q\x80/0wp\xb4\xe3\x05\x1b\xa6B!\xa9\x1c\x10\ +\xe6\xc3\x9e\x1c\x13\xf1\xf3T\xb9F\x91\x81\x8cz_=\ +\xd5(\x92\xe6I\x0bP]\x9f\xebFm\xfa\xfa\xd2\xf3\ +\x85\x0aT\xd7\x93\x14\xc1\xea5;kV:T\xc2N\ +\xda~{\xfb\xed\xb52\xb8\xb9_26\x1c\xf0\xee\x1f\ +5s\xc8\x1e\xaa.Q\xb4\x17&0\xe3\xfe\xba^\x15\ +\xb3T\xa1\xa6&o\xbdO\xe9\xfe\xff\x0e\xff;\xaf\x83\ +\xa5r\xa7\x92\x96\x8e\xa7\xd4\xab\xf5(I`>\xb4\xac\ +S\x09D\x89\x13I\xa8\x7f\x7fA\x0a\x87\x9b\x0e7\x1b\ +n\xb6jUH\xcc\xf58\x0e\xef\x1b\xde;\xbc\xb7q\ +\x00\x02A\x95Cj\xb5\xdf\x08k*\xff\xd4\x8cS\x84\ +Q\x0f[\xed\x97\xdc\x8f%2H\xeb \x03\xc1\xda\xff\ +\x1f\x0dkT\x84\x89\x96\x18c\x95\x95\xe4\xea\x99\xb3o\ +T*\xa8z\xa3$\x1d\x11\xd6\xcc\xb9\xe7\xc8$p\x9e\ +\x8f/@\x00\xa0\x88\xe3\x074I\xb0\x01R\x12W\x15\ +\xddnz@\x010\x90Y\xc0Y'6\xa9w\xaa\x00\ +G\x80\x1e@\xc188\x81\xbc\x03\xdc\x1cv\x07\x91\xc4\ +\x9f\x88\x1c\x86\x89\xebU)\x17\xe0\x09\xa0\xa8w'\xa0\ +U\x15,~\x11\x92,\xc1\x93\xf0ge\xb6\x185\x02\ +9@#?k\xdf\xf3\x1b\x90e\x00\x86\x8a\x9d\xfb\xdc\ +\xf7\xfa\xda\x7f\xfc\x83\xfd\xec\xe0v\x90zn\x18\x07\x12\ +p_\xab\x1fX2 \xd7\x95\xf7\xbb\x02\xef\x1c\xf7V\ +\x01\xb7\x9e<\xf3\x83%\x82\xf65\xa0\xea\xcc\xdd\xd8M\ +\xd7\xe3\xcb\xe7\xa4\xa2O\xe4\x89\x1f\x01\x80J,%D\ +\xee'\xff'\xd0\xc2\x10\x01p\xf4\xe3\x1d\xb3\xa2\x5c\x89\ +\x84\x03?\x03\x03\x01c\x05\xc8\xb9\x0e\xab5%E\xdd\ +\xaaWU\xebH\xfe\xddJ \xf3\xbaK\xf3\xc4\xf4\x08\ +\xcf\x0f\xc0\x92\x95\xefj\x95\xd1\xf3\x9f\xda%\xeeG\x8d\ +A\x94P\xe4\xdfG\xc5\x1f\xae\x1b\xd6T\xa22\x01A\ +\xf1\xaf\xca1\x80 \xfdf\x050\x99\xc0\x15\xb3\xe8\xc1\ +\xcb\xb8\xd2RIO5~s\xd2k]\xe7\xfa\xad\xd6\ +$-\x15\x12A\xbd\xbd\xff\x16\xd6\xf8\x9b\xae\xa5ms\ +\xb7L4\xaf4w\x8d\xae\xbd\xd4\xd4\x93\xed\xb3\xfc\xbd\ +\xfa\x5c\x00{\xbd\xc4\x00\x04\xe7.?\xa9\xe5\x02\x10\xaf\ +\xa2\x9c\xc0v\x9c\x02\xf39`\xbde\xa2A\x93\xa5\xd6\ +q20+\x01\xa5\xf2\xfc\x91\x9c\xa7-\x01\x15\xff\xfc\ +\xed\x92\xc8O\xab\xe0\xe6\x9b\x9b\xafS\x14j\x1d\x19\x9b\ +\xe6\xbe\x89O\x8c\xf9\xfbv\x9e\xbf\x12\xcf\x8c\xff\xea<\ +\xe1\x8fO\xc9\xb8\xc9\xf9@TO\x22\x96\x09\xc7\xf6R\ +\x8b\x9a~Q\xd5i\xe6\x9c\xb8P\xf3\x87+\x0f\x87\x0c\ +A\xfd}w\xd8\xf4w\xfe/\xacI\xe0\xb5\xd8d%\ +\xd88\xbb\x0a\xb8\xfb\xf8\x87_\xf1zZ_\xfc\x02\xff\ +\x99\x9f\xaf\xc4\x1c\x8d\x17{AX3\xf6V+\x16\xff\ +\x92\x8c\xd8Z\xdf\x09\x88\x8f7\x09[\xa9\xbd\x950%\ +\x13\xb6\xe6\x97\x9bf\xa3\x22\x891@\xecL\x85\xffk\ +\x09X\x88\x8f\x15lT\x94\xad?\xf1\x18\xe0\x01`\xdd\ +W\xa2\x01\xd3\x12,\xe7\x82}d\xbd\x89;\xf9y\xcf\ +\x1f\xa0H\x142\x81\xbc\xf1\xdf\xc2\x9aB\x8d\xb8\xff\xf0\ +yN\xd1\x9e=\x8f\x9em?\x8at\x01\xbb\xceQ\xe7\ +y\x02\x94\x18\xc6z\xe0\x89\xd9Q\xcf/5\xfb\xac\xcc\ +o\x9f\x1d\xd6\xb4\x02h\xd1\xb2\xee{\xad!\xe7\x15\xa0\ +\x19\xf0\x86\xe1\x91\xfbZ\x1c\x5c\xffn\xffZ/\xa8\xdb\ +}\x8bOWx\xac\x16)\x0c%\x14\xf3\xccGJ[\ +\x02\xd0\x90\xe7\x8e\x84}|G\xd8\xda\xb2j=\x0d\xd7\ +\x0e[\x7fO!hxDX\xa3\xbdr\x95\x85\x89=\ +\x1e0\xee\x1d\xf76\x1a\x10\x19\xb7\x9a\x16'\x0f\xab\xb1\ +\x88D'\x93\x91\x85\xf1A\x03k\xbc\xefx\xbf\x10{\ +\xac)\x16\x09\xd4n\x0f\x0fk\x00\xde\x5c\x07\xc5\xbc\xc4\ +\xe0\xca\xf3\x0aP[\xfe\x90\xf8\xab\x16\xd5l\x15+1\ +`\x80\x17\x11M-:\xfe\x0e\xed\x80\x07\x855\xf9\x15\ +\xcd!\x85\x01\xfbH\xe2\x9c\x85\xb0\xf2\x8b\xa6\xb8`\x1e\ +\x88\x7f\xb5\x94\x00\xc8\xb5~i\xbdJ\xb1H\xa2\xdb5\ +\xc5\xc0\xf9-\x0f\xd6\x0a\x90\xeb\xd4\xf3r\x7f\xeb\xcb\x14\ +\x09\x00\xfe\xb3\xc2\xa6\x9f;2\xac\x11s\xec\xf6\xfb\xde\ +\xaa\xac\xd8\xf8\xc6\x97\x98\xef\x1ec&\xbe\xd8P\xe1\xa3\ +\xdeqD\x22P\x0f\xcf\x9e\x9d\xa0\xf8\xbci\xb2\xbfI\ +$'.\xe0\xe3aMb\x81\x22\x9c\xbd\xdd\x15\xc8\xaa\ +\xfc\xa0\xdc\xa3r\xaa\xec\xa3>\xb8!\x10]\x01\x98\x83\ +\x1c\xc2\x01\x00\xd8S\xd4\xa7\xa5\x12\x14\xe1\xe8\xc9\xab\xfa\ +a9l\x8e\xb1=X!\x81\xe7i*p\x12\x81\xa4\ +v\x16E,\xf0\xd7\xe3\x1b\x87\xaaw+\xe7\xadV\x05\ +[@\x0c\xa8\x88\xf4\xfe?2\x819_s]>\xaf\ +\x048EV\x8a\x12\xe7\xfe\x08\xa4\xfb\x00\xd7\x01\xc8\xa1\ +9\xd8\x00\x1b\x1c\x14\xca\x96\xdfw\x1a\ +OU\x81\x8d\xeb\xe3GQ\xb9\x05\xb2\xd4zMu0\ +\xc6H \x99\x8c\x83\xf2\xcb\x80ks\xa6S\xab\xa4*\ +\x8c\x9e\x1bJ:\xa03\xcf\xe5\xaad\x1b\xe7d\x9d\xd9\ +\xdf\xd6Y&\xb65\xbe.\x03\xd0\xe1\xef\xc2\xd6\xde\xdc\ +)\xe0\x9bl\x16\x0f\x9d\xac\x01@\xb2g\xbd\x9e\x93\x00\ +\xcdt\x12\xcfE`\x0c\xc8\x01\x98\xf2\xfb\xf6\xbb\xfd\xea\ +\x1c\x04L\xdbG\x80\xd1\xac\xb4T\xab\xcf1\x8b8\xdc\ +~S\x08\xce\x96\xfb8\xc6\xdf\x85\xb8\xd5K\x16-\x96\ +\x02\x08\xf9\x15\xfb3[\x0e\x9cw(\xe8%Z\xa5\x82\ +\x030\xc2\xcc@\x15V\x81#.\xf6\xd2e\x1e\xf8\xe4\ +\xa5\xe7\xb8\xa9\xf6\xad\x96$\xf1\x99\x0a\xa4\xc4\x0e\x03\xe7\ +\xf8,L\x00\x06\xf9;\xd7\xff\xe4\x04\x22\xb4\x9a\x11\xb3\ +rn:\x9f\x158\x5c7\xe6#\x11_\xe3\x22\x89v\ +ab\x8a\x17\x01\xee\xbdj\xbc\xc4M\x05\x8e\xa8*\x80\ +\xe7c\x0b\xd0>7\ +\xac\x01\x22Q\xdd\xb3w\xbf\x18[\xce\x11q\x9c\x9et\ +\x1a\x0c/\x0ck*\xd4D\x8d1\x0c\x8e\x0ekZ\x05\ +\xb4xa\xe8`\x0e\x99\xf6\xe1>\xba/\x18X]\xef\ +wQ\xa8\xdd\x0f\x0c\x8c\x04\xa4\x15JJ\x13@\xbc\x03\ +8\x17\xf7\x02T\xec7\xcf\xc7\xcfY\x07D\xd7\x89/\ +b\x04\xa4\xa6\x07Q\xd6\x12[\xcc\xa93\xd5\xcb/n\ +\xfb\xcf\xb0\xe9\xb2\x1f\x13\xb6\xfa\xadb\x02\xa4\xbf\xd5\xba\ +\x0a\x086\xa5\x07\xb3[\x82Z\x9a$\x0a\xbe\xa6\x9a\xe5\ +\xf9P\x85\x9e\x14\xaf\x0c\xe1\xa8\xb8]\x98\x0as\x9e\xf8\ +\xa6\xb5\x05h\xfc\x5cXS\xf0tN}*\xaci-\ +\xba\xc6\xe6\x9a\xf3}p\xdf\x9c\x83\xc6\xc3j\x8ds}\ +\x185\xfdxb\x00\x94\xbfg\xaa\x0b\xcd\x09\xfb\x80f\ +\x0e\x11o\x80H\x02\xad\xe5g1cL\xe7\xb0~\x14\ +\x00\x9c_(\xfd\xf6\xafV\xfa\xd4^)\xa0!{\xfe\ +k\xdd\xf9\xbc\xf2\x94\x04\x04j|4\xc6\x86f/\ +c\x1dd)z\xb7\x9f\x98\x0bj\x1d\xb5\xd3D&g\ +\xa6\xccI\xeb\xe7\x18n\x106}\xbccw_\xb3\xfb\ +\x9af\x1cT\x1eH\xc4D8\x8e\xcd\x83s\xderV\ +\xd6\x86C\xc3\xa6\xd7\xef\x87M\xff~tXC\x89$\ +\xa2g\x9c\x9e^X\x09\x1d\x15Uc:s\xbc\xd8\xf8\ +\x9e\xb0y\xec\xe7d\xd3\xeb\xc7\x96\xb9\xba\xdb\x9b\x87\xad\ +\xa2\x82\xa5\x1d \xf0\xd3c\x9b\x81\xc6\xcc\x18\xbaMS\ +\xc9\xc9\xca\x0fj\xde\xe6\xcba\xeb\xdf\xaf9\xb2\xe9\xf8\ +\xea\xa0\xec\x0e\xc2\xea1\x14\x10H\x0c\xf48AH9\ +j\x01\xa6\x84.+wU\x01\x074q\x84*\x09D\ +\xcf\xb4\x028`%Z\x00#\x95=\x8c\x85\x9e\xf2\xaf\ +r\xaeG\xdd~\xe2'$\xe4z\xc3\x00\xae\xee\xab\xbf\ +\xaf\xa7\x9a\xff\x91\xe8Kp\xf4\x1a\xab\xe8&\xf2\x5c\x00\ +\x0a\xd1\xa7\x04\x22P\x93K\xdb \x03\xca\xcd'\xc3\xd6\ +V\x11\x07mQ?%\xdaZ\x99\xf8\xb1\x1e`\x04,\ +\x0a\xa0\x00\xb4\x19\xc0\x18\x13[\xfe\x1d\xf0\xd1\xfb\x7f\xfe\ +\x0a \xc9?\x0a\xdc\x04^\xee\x83\xe7\xa9\x15C\xe5^\ +Bc\x9e\xba\xfb\xc9\x1fyn\x0a\x83z\xaa\xb3bR\ +\xeb\x10\x03\xc3\xe7\x91\xa0c\xd4$U\x96\x18\x5c\x8d3\ +\x920\xbbN\x1a\x0a\x9e/\x06\x1c\x7fb=\xfaRa\ +\xe3\xd7}\x0e\xfe\x96?\x97\xf8f\xe5\xb8\xc4I\xdf\x1d\ +\xb62\x85J\xb5Y \xe4\x1c\x02dI\xa0\xac\xf3L\ +\x88\x0bPp}\xe6M\xa7\xaa}\xad7\xe3(\xf3\xbe\ +\xd7\x5c\xf6\xac@[W\xc3k\xc2V \xa7\x02Z\x1a\ +\x0fy\xdd\xdb3\x87\xa5\x1a\xf8\xa3\xd7\x9e\xcf:\x17\xf9\ +\xb7\x1c\xbbW\x89\x84\xf5\xf6\xe4E\x93\xa5\x983*\xfe\ +\x189z9\x01:'f\xe2\xea<\xb0\xae\xc4\x15\x18\ +&Gn\x1e:O\x05x\xe3\xf6Ms\x85\xcf\xf3K\ +@\xbf\xfc\x22&\xc7\xef\x865\x7f\x8f\xc8)\xa6\x86\x80\ +\xd29\xa0B\xf3\xaae>\xf8f\xefr\xdem\xae\x98\ +\xc0\xe1or\x9f\x99: \x8ep\x1e\x01\x1eO\xedD\ +\xdb<_L\x18\x81\xe9u\xf2s\x0a\xa01`$(\ +\xb4\x0e\xacg\xa2z\xfc\xac\xca/?*a\xe3\x17\x92\ +)\xb6_\x85\x8c\xbf4\x05!\xc7=\x0a\xc47\xaf\xdd\ +\x1c\xbb9v\x06*\x16\x7f\xc3\xff\xd8\x87\xfc\x03M\x04\ +@\x96V\x1c\x01\xf7\xff\xeb\x17\x7f\x07\xb0\xcd\xf5A\xab\ +\xa1\x18\x12\x18\x15\xe7N\x8d\x90?\x08\x9b\xcf\xef\x05P\ +\x02la,\xe4\xfa\xda\x1c\xbc0_v.\x1c6\xed\ +\x93\x83\xc2\xa6\xd7\x8b\x875\xad\x8c*\x8b9\x15\xa3\x9e\ +w2\x0a\xb4|TEP!\xcc\xbaK\xd1\xc4\xa24\ +\x1f\xb3\x8c)\xae\x0a\xb2\x82\x94\xf5.n\x94x\x02N\ +|\xdf\xf9\xf3z\xe5\x87\x00\x98YH(M\x11@7\ +\xe0VE=)\xf6\xe3\xab\xc3\x1a\xff\xed:\xbc:\x1f\ +P\xfd\xb3r_cR\x01H\x12z\xe7P\xb6$W\ +k@\x9e\xbb\xfc\x89V\x93\x02dMy\xd1\xfaa_\ +\xf9\xdc\x12;\xfe'\x9f\x7fM\x01\x10\xffi\x85\xc88\ +a\xf3\xe7a\x8d\xb6Q\xfa\xff\x1a\xc7\xdd\xf9\x8f*D\ +\xd9\xcf\xfdsM\xe6_\xf9MS\x03\x8c\xf7\xc4T\x04\ +0\x8a\xc7\x9c\xcby\x8e\x98\x02`\x9d\x0dG\x87\xad\xfe\ +\xa8\x12\xf5\x93\x97J\xbe\x96\x83*$l-<\x95\xf8r\ +\x16t\xb6g\x0c\x9b\x0bUg\xdb6S\xa2\x8a9@\ +C\xe6\xa1a\xd3\xebG\x16q\xef\x1a\x0fI\x1cT\xfe\ +\xa1\xa5\xce\xfd\x96\xa0k\x01\x01\xf4\xcb+\xc5\xa1\xe2\x94\ +\x13\x128P\x00\x90\x9fe\xe1\xabZ\x80; \xa9\xe2\ +0\xfePk\x02-\x14\x9a\x01Z9\x8d\xc5&\x1eO\ +\xa4\x1a\xf3/[R\x14@\xabU\x9dx\xb0\x82\x1c\xbf\ +h\x1f\x12E\xcf\xd6\xbe\xbd\xe3\xe9\xc3R\x84\xe5\xd8\xa4\ +\xea\x85\xe3?b\xb6u\x8e\xaa\x0a\x8d\xde\x17\xe3\x11\xb2\ +\x15\x00\xc2T\x01C\xf4|<\xb2\xa1\xd4q,*\x86\ +.\xa8\xedY\xff\xfeJ\x15\xaf\x03\x05Bf\xc3\xd8\xa8\ +^\x05n\x12R\xef\xf7\xd3t\xec\xa8\x18\x0e4\xc8k\ +V\x1agD\xfb\x1e\xcd\xf5\x08\xe0\x05\xe0\xa8<(\x17\ +*\xe8\xd4\x99\x89\x8f\xc4\xe3\x19\x9a\x83\x0a\x959\xc2\x88\ +kd\xc5\xe6\x22\x8d\xd8V\x884\x1d\xf2[\xc6u\xc5\ +\xbb\xfe\xa8\xe9\xe1W\xd9\x14\x08r\x90\x02E\x81\xb9\xcf\ +\xed@\xe3hN\x99\xc9y\xfb\x8f\xeb\x13p:\xf8%\ +\xf8\xe1\xe6\xae\xd5\xfc]\xef\x9b-\x01TIK\x14\x8a\ +\x88O\x22K\xd5\xf3k\xe3\xa8\x9c\xe8\xb1\xf4\xa5\xc5\x80\ +\xc3\x95\xb8\x1d\xbfT\x98\x86\x9f\x85M\xdf\x1f\x9b\x08\x99\ +\x04\xcfX\x0c\x95\xdb\xd7eK\xca\x87\xf3\xc0\xc9\xcaa\ +\x1d\xdcT\xac\x05\xec\x9f\xc9\x0a\xd1\x11\x0b\x85h{\xe1\ +\xb0F\x85\x97\xa8\xca\xcf\xb2\xe2-\x90t\x00J\x04\x05\ +^\xfe^R\xf6\xa9`S\xbf-\xe0\x8a8\x94D\xf6\ +\x9b\xdb\x13\xb7'\xce\xea\xa9W\x1b\xaf\xb6Vv\x8az\ +\xd8U\x1eU\xb2\x88\xf4\x05?af(d\xc5ix\ +|XS\xa1K\xe4t{\xa6\xb05\xe0B)\x1c_\ +\x15\xb6\x8e\x85\xdayi\xd8:\x8e\xd0\xbc`\x01VU\ +\x98!\xa1I\xd1%\xca\x89IP\x81a\x02U*\x83\ +%V\x97\xa2bu_\xb2\x12T\x14@\xeb\x13\x80(\ +!TIv\x10\x02\xda\xfc\xbf@\xd7>q\x1d\x12A\ +\x897\xf1?c\xd0Pvi\x1a$E\xb6z\x10U\ +v$\xc8\x00\x09\xc0\x97\x1e`\x80\x92\xcf\xa5\xc2\xa8b\ +\x89!\xa3\x05F\x82\xcb\xe1\xabXK\x1c\xff0\xc5\xb4\ +\xf2\x80\xaa\x03W\xc0\xa5gN%\x0euMe\x00%\ +SkQ\x1e\xd4\xd5\xd3.a4N\x08p\x94\x95\xe7\ +JX\x05f\x0e\xc0n\xecX\xac\xe2m;\x1e\x95\x9f\ +\x86\xb8\xfb\xe2\xb7T.\xf9\xaf\xdc\xd7\xa5I\xc2_\x08\ +\xd0\xb4N\xa9\x0c\xb8\x7f\xf6\xb5\x8a\xbaD\xc6}\xa0\x06\ +\xef>Kh\xf9\x0d\xe2n\xce5\x95\xa1nj\xc0~\ +j\xcd\x9e\x97\x00\xd8}A-Ty\xa6\xd2\x9e\xfb\xaf\ +*G>\x9f\xeb\x01\x18XOz\xc7\xf5\x8e\x0a\xcc\xf9\ +\x1d\xeb4\xf7\xd1\xf0\x92\xb05Q\xabq_\x02\x1e\xad\ +5\xd6\x89s\xd6\xf8\xa0\x0cX\xab2\x8dy\xf0\xe9\xb0\ +F]:\x01\xce\xaa\xa8g\xc2]\x14\xd2l\xc1*\x80\ +\xc0\xe7L\xe0}\xf8\xdd\xb0\xe6<\xf6\x5c\x00\xbe\xa9\x8d\ +@\x83\xa4\xce\x1b\x14N\x81\x92\xeb\xf9EXSqV\ +\xf1\xcc\x16\xa9\x9a\xa7,@\xa3Z-\xb1O\x80\xaa\x18\ +G\x02B-u\x9e\x0b\x06\x03`\xd2\xbeN\x0a*\xf1\ +\xba\x02z\xf8G\xe2c\xc7-c\xcb\x5c\xef\x0c\xb3\xff\ +\xb8\x89#\x92\x89\x13\xc4\xf8\xa0\xc6\x175\xf6\x1a9E\ + \x01\xf4([\xcc\xe2\xa8\x1f\xc9\x16F\x89\x03\xbf\xa7\ +\xd5I\xfc\xd13\x01\xb3el\xf3\xf6\x04\xacT\xe41\ +\xca\xb4\x12\x10Y&\xbe\x95\xcc\x98\xd20\x12wa\x5c\ +`\xf6\x88C\xeco\x7f\xb7\x137$2V=\xc1\xf6\ +\xf5;\x17\x11\xd4\x02>\x88\xf7\x02\x1e\xec\xcb|\xce\xa5\ +.\x9e\x89x\xf9\x17\x0c\x01\x00\xe3\xb6J9\xbf\x9d\xf2\ +\x9f\xfej\xb8M\xd8\xf4\xfa\xb8\xb0\x99\x018Y\xf3\xb9\ +\x15^\xb4\x06Y/m\x0b\xe5\x9eF3\xe8\x05\xd9b\ +\xa7\xf5G\xdc\xfc\xd1l\xfd\xbcL\x02\x22\x12\x02\x0c\xa1\ +?[\xc62\xd6>\x16\xd0\xbb\x8f\x0a\x10\xc6p\xff\x7f\ +t\xdd\x0b\xfcuk56\xfe\xbd\xe6\xef\xe9\xa4t\x8e\ +$\xa4\x13JE\xe8,\x89r\x96\x88\xa2TN\xa5\x10\ +r(\xe7C:I\x84W\x8a\x7fo\xc8\xcb\x96\x0a\x11\ +\xca\x9b\x94$\x85\x9c\xa2\xa4\x92v\x07\x1d$[\xda\xd5\ +\xdek\xfd\xe7\x98\xf3\xfa\x8ey\x9b\xdb\xfb\x1b\x9fO\xab\ +\xe7\xd9\xbfg\xad\xb9\xe6\xbc\xefq\x8fq\x8dk\x5cC\ ++\xa7\x04\x84\xd8`\x12\xac>\x1f%&\xc6u;_\ +\xf7c\x98%\x8e\xfc\x1e \x09\xe0\x15\x7f\xe1\x5c\xe9\x04\ +X\xc2\x12\x80\x86\x88iS\xbf%8\x98~\xceS\xe7\ +\xac\xf8\xcas\xdc\x8d#\xbc\x14#V\xfc\xcaO\x12g\ +\xbbK\xd9\x10\xe7\xfb3M\x8f0\xbc\xfa\xf3\xfc{y\ +\x04\xcd\x07-%\xe2B\xa2t\xce\x89\x00\x85\xa7\x07\x95\ +\x0d~Z|\xea\xfe\xf1\xd7\x18H\x0a\x86\xbe\x9fsS\ +\xe2\xef\xfc\xb4n\xad/\xbf\xef\xbcI\x9e%\xf1n\x7f\ +I\xdc\xc6(\ +0\x15!\xfe\xbd\xd5\xf7\xc5\xfdZt\xe5\xaf\xf6\x9f\xca\ +\xbe}%\x0e\x01\x98)4k\xcd\x7f\xca\x0a\x0c7P\ +\x08XI>\xd7\x22\xcb\xfc\xd1~\xdc\xbb\xfdc\xaa\xc2\ +e\xcb6 \xfd\x1c\xf5\xefE$\xefQ\xc3\x17\x8b\xfa\ +\xe0\xf1\xa2\xb28\xfc\x1bm\xa2+\xc7/\x9d\xed\x1e\x09\ +D^\xb5\xcd\xff&\x92\xb4\x10\x1e\x9e<\xf4D\xfa\x11\ +\xb8\x0b\x88\xf6T&\x81\xa3\x00Q\xe0\xb5\x9f7\xed\x0b\ +\xef\xc7\xfc\xa8\x90d\x03\x1d\x9eTj\x04[\x0f\xe9\xe9\ +5\xb3\xfd\xe3\x90\x80z\xa0E\xe8xq\xbe\xff\xeb\x07\ +\x95\xc7\x04\xd2\x8dDV]\xf9Qq\xbc\xaf\xcf\xfb\xfc\ +\xdd\x1088\x08\xeb~UB{\xbf\xd9\xee\x9f\x80\xe7\ +\x0e\x09\xfcn?h\x0fT\xc2\xf79\xdb\xfd]\x8e\xf1\ +\x1b\xc6q\xdf`\xa0\xbcV\xef\xf9\xf5\x93 \xdcz8\ +\x18\xcb=\x5cn\x00$\x1c\xe0*W%\xc2\xf4AY\ +X\xaf\x19\x02\x04\x0b\x8d\xe3\xcf\xbc\xcav@\xf9\x1e\x90\ +\xb9N\xe8\xa9\xfb\xaa\xdc\x07\xc0\xe8\x8a\xab\x00\x9bC3\ +/\xf4\x17\x0f\xbft\xf8\xa5\xa1\x12xQ\x0e\xea\xd7\x04\ +)\xfb\xec\x15\x80\x98~|\xfa\x89i^\xe0\xd3\x9d\xcb\ +\x96\x80a\x1d\xbb\xa7\x97\xfe\x99e\xdb\x81szo6\ +\x00\xc7\x98\xc0Ho\x8d\x83\xa3[\x02$\x82\x12\xd2\xef\ +]\x81\x82\xd3\xbf\xads2O7-[\xa85kB\ +\x0b\xb8\x00\xd4\xf8\x918\xfd\xdfU}\x19\x03\x02\x12>\ +}s\xd9R\xd9X\xbf7\xcaX\xae\x0fU\xb6)\x94\ +?\xbbX\x8f\xdbl\x11\xbf\xbc\xdf\xe1\x5c\xd9\x16\xf0N\ +7.\x1b\xa8]/[\x13\xc2\xf9\xb7\x97u\xde\xbd\x8b\ +*\x00\xb7>\xdd\xaa\xd4\x95\x05\x98\x12\xd3\xb3_)\x9b\ +\xdf\xe7\xd9e\xdb\x98\x17c|\x1a\x00\xf8\x87\xb2-1\ +j\xca\xef}\xca\x86\xcaB\x90\xf1\x0e\xe4\xb5$\x10\xd9\ +\xd3\xea\x13\x04\xb2\xc5U\x8cwzT\xd9@\x8d\xdf\xf7\ +\xe4\xf3\x13\x9e\xf7n\xfaD\xb7(h\xddQ\xf9\xf5\xdf\ +\xcd\xb7V\xf1#\xba\x04(\x00\x04\xf2#D\xf2\x88\x8f\ +q\xa8\xfc\x91\x8a\x87D\x1f\x00!!u\x9d^\xfdw\ +\xe2,>?\xfb\xcd}i\xc0\xcbu\xa2`\x1b\xd3\x18\ +?\xabw\xb0ET\x89W\x09\xa0Q\x96\xd3\xab\xd8\x09\ +\xb4\x80\x91\xdf\x02|J$P\x83Q\xdc\x1d\x8c\x02&\ +\xda\x19z\xe6\xf7\x1a\x03\x80\x1c\xdf{\xaf\xd9\xc0\xbf\xbb\ +\xcf4\x15\xb6J\xdb\xfa\x1c\xdcG\x94R\xa2I\x02O\ +b>\xd6\x05@\x07UZ\xa5\x99\xe8\x99\xfb\xb9\x9f\x12\ +\xc3o\xbbN\x0c-\x89\xa5@\x8d?\x0e\xc5]B\xd3\ +\xe2|*\x9a\xffU6\x04\xf2\x9e\xbb\xfb\xa7\x82\x84B\ +\xae\xa5\xcc\xf7\xf7yZ<2\x16\x0a\xe0t\xf8@\xd9\ +\xbco\xefP6\x04b\xa94\xb5hS\xe69\x9f\x1e\ +X6\xccw\xa6\x92,\xc0P\xe9\x95@\xeb\xa97\xfe\ +.\x80\x80\xd6\x0b\x9a#\x98\x05\xd3'\x95-=\x99\xeb\ +\xbc\xf9\xa8/\xf7\xf9\x1c\xe6PW\xf0\x01qz\xc9\xa9\ +\xd3_\xaelcp9'\x8f/)\x1b\xa8\xc1\xa8\xd9\ +\xd4\xfc1\x22\x88\x92Z\xc7\x00\x1b\xbd\xd9\xfe\x9d^k\ +\x09\x92J\xb6u,.\x90\x18\xa3~\xff\xc1\x9a\x90u\ +\x05\x1bU4\x15\xa9\x16S\xb4\x1e$8\x00\xf5\xeb'\ +\xfe\xe1GUn|\xae\xf3\xf3\xcfR\xd1K+OS\ +\xe2]\x8fD\x08\x80\x068R\xf1\x11gI \x00\x1a\ +\x11\xe1;\xef\x19\xf1\xd7{\xcd\x0e\xfbHBC\xb3\x01\ +\xb0#n\x13\x0f\xd0v\x90\xf0\xe7<\x03\x08uK\xcb\ +\xbe\xa7\x1c\xe0o\xd3\ +\x8f\x96\xcd\xff\xfd\x93\xca6u\xfc\x9e:\x11&+\xa0\ +J\xebe\xc7\xe5Zv\xb4\xe2x\x1e\x807\xeb\x04\x03\ +\x14@D\xf3\x05\xf3NA\x0a\xf0/\x0f\xc9\xbe\xe8\xf5\ +J#\xc1\xf9\x99s\xb2\xf3O\xc0S\xc6\x9b6\xf0\xa8\ +5K\xdc\x92<\xb9\xcf\x05\xcc.q\x5c\xe2\xa4s\xcb\ +\xd7\x1c*\xde=\xff;\x8e\xeex~\xd96\x9e\xcb\x18\ +\x8d\xe5F\xfd\xdcP\xb1\xacy\xbcO\x1f\x02,\x07\x9a\ +\x0a\x12\xf5\x7f\x8e\xcd\x01\x0bys\xe0\xd8\xf8\x90d\x1b\ +\xc4\xfb\xd9P\xc6\xae\xfcG\xc6\x85\xf8\xc2\x1f\x1d\xc0\xc1\ +A%\xd1\x0b\x85z!\x9e\xbf \x88\xd6-7\xaar\ +k\x11d\xbc\x87\xf9\xb6\x0b\x85\xe8a\x03\x12[\xc4\xc7\ +\xfb&\xc0\xfc\x9a \xa9z\xedn;,\x1c\x14\x16S\ +\x0eT\xe6\xae\xb3\xa8\x12l\x0e\xd9\x03\xa9c\xed\x18\x07\ +q\xc3\x81\x22\xac\xa7~\x0c\x8c\xc7\xfbXi\xc8;\x12\ +\xc0\xfc\xc7nL\xe1\x14\x95\xd2\xdf\x1d\x10\xc5\xbd\x1a\xae\ +^_\xe3\x18i%8\x18\xf6\xaa\xa6\x98\x02\xc47\xa8\ +\xc9C\xb2\xdf\x9d^\xba\x1fX+\xc9\xe7=r\xdd\xc0\ +\x87\x17\xac\xaa\xf9\x8d<;\x98\x05\x02\xcfK\x0fj\x02\ +\x00\xea\xc8\xd3\xa3\xcb\x86\x04\xde\x01\x0e\xf0\x08Eh\x91\ +\x5c\xbc\xe6@\x11sP;P$,7\xcb8)\x09\ +\xd7\x95\xd7\x96\x95\xd3\xa3O\x8f9=f\x11;Y\xd5\ +\xa2\x1f\x1ef\xc3\xe3\xd7\x8dW0\xce\x02\xe4Xg\x09\ +\x88\xcc\x91U\x89\xd4;>\xbd\xbfl~\xbdr\xd9\x86\ +\x14\xb7:'\x8a\x0e\x95\xe0$\x00\xd3w\x97\xcd\xaf\x0f\ +/\x1bz\xf1C\xc9\x9f^\x5c6?\xde\xef+\xdb\xde\ +\x7fv\xdf\x17\x1f.\x1e4\x0bP\xffC};\xbc\xaf\ +l\xfe\xfd\xbb\x97m\x07z\x8f\x7f\xa1\x02\x1c\x87\xae\xe7\ +\x1fs\x86\x08W\x8b\x13\xa5\xd7\xcb}8\xfeN\xd9\xe6\ +`!\xcd\x02p\xaa\xf6\x0b\xbe1\x1f\xa0\xa7\xaf)\x1b\ +z\xb7\xf8\x01\x89/\x87*!\xd1\x0b\x0d\x08Pi\x97\ +`\x0a|$\x8e\x80\x01\xe2{\xa6\x05p\xc0\x02\x13\x15\ +4\x9a\x01I\x0c\xf4&\x1bC\xd7\xa2B\x0ev\x81\x89\ +\x83\xda\x14\x0a\x096?\xe8: \xbe\x02g\xd7\xa5\x82\ +\x0d\x80 f\xe7\xfb\xa9xB\xce\xdd\xb7\x88O\xb5J\ +85\x5c\xe3\x7f\xf4rc\x22\xa9\x80\x06\xa8\xe9\xcao\ +\xae\xbbU\xdc\xa9\xe3'\xc06\xae\xae\xc5-\xb3\x1e\x9a\ +j)\x00\xe6\xa7\xf7\xe2\x7f\xfc?\x86\xd3^\x9c\xcf\x7f\ +\x07\xd0\xb8\x1f\x12&\xfb\x9d&\x80\xc0\x89\xfa\xfd3\xca\ +\x06@T@f\x1c\x9cV\x04\x80\x86V\x0c\xd4\xf7\xdd\ +XD\x95\xc9V7\x07l\x01L\xad7\xd7o\x7f\xb8\ +n\xea\xc3\xa9\x146\x93C\x00\xcc\xef\x00\xaa\xd2\xba\xd1\ +\x14Z\x01\xa6\x00\x95\x1a\xbc}\x82Rh\xce\xb1\xb9\xed\ +\xb9\x0f\xa7\xeb\x94m\x09F\xaf#\x09Cz\x97\xfb<\ +5F0s\x95{\x1d\x85\x01\xd8\x01`\xc6\xd8M\x9f\ +Y6T\x22\xec\xd3\x04\xf6\xd3\xdfL\x7f=\xfd\xf5\xfc\ +\xf9\xaf(\x1b*U_Z\xb6\xed'\x80\xe2\x1e@\xe9\ +qM\x80\x89\xdc\xb7\xf9}g\x1b\xc6\xc4%\x91\xe9V\ +\x96JL\x9e5\xcc{W\xb1K\x0bK\x8bob8\ +D\xc4\xafE\xbc\x00\xcb\xfc\xb2\x80\x9ch\xdfSB\xf5\ +V\xe9\x89H^S\xadUf\x89\xc8\xa9@\x09\xc8\x00\ +\x86\xd9\xdf=\xde\xd2\xbe\x0f\xe3\xa5{mi\xbd\x82t\ +C\x00\x00 \x00IDAT\x9d(\xa0`N\x18S\ +\xe9\xdf\x03\xd40\xf0\xef\xc5s\xae\xc7\x14\ +\x84\x88\x89a\xc4M\xb7)\x1b\x98*\xf6\xbdJ\x19\x7f\ +\xc1\x7f\xd8\xaf\xa9\xe8M\xff2\xbdq\x9a\xf7\xc3\xd9\xad\ +\xcb\xb6\x02E\x8f-\x94\xf0x\xee\xe6\x90\xa7\x07\xbc\xcf\ +iSt\xb4\xc0H,\x03\x80\xd9o\xed\x1f\x01M\xee\ +\x0f\xa6X\xd4\xe8\x9ba\x06@$\x86\xac\xa2\xa8w>\ +\x95\xda~\xee\xfc\x8b\xf8\xe8\xb2\x89\xf3\xc4a\xfe\xde\xba\ +\x91P\xf2O\xe2\xbf\xfd\xd4\x1d\x15Ebxz\x9e\x01\ +\x08\xb4\x18hw`\xf0\xa5b\xedz{\xec\xb2\xc4\xc8\ +40\xc0\x14U|j\xf0\xd9\xafM\xa5\xe7\x0f\x8c\xf1\ +\xd4\x82\x15fM\x8b\xdd\x02|\xf8A\x22g\xa6\x88\x10\ +\xd1\x04\xf0K\xe4\xe5\x15>G\xe2/1\xc3\x08\xca9\ +\xb2\x14\x04_3\x9c+\x80\x14\x95[\x09\xb9|D\xef\ +7\x06\x81J\xb7\xf3Q\xe1k\xaf\xbd\xb5\xab,\xf7\xbe\ +\x15G\x00\xc6\x00\xf1\xfc\x85\xf3\xd1\xf5\x06\xd8\xed\xc2\xc8\ +_\x94\x0d\xc0X\xc6\xbf6\xe5<\xd7s\xfc\xf9\xb2\xad\ +e\x94\x18r\xfb\xdf\xec\xd7\xd3\x9f\xa5b\xbf\x8f\xc7\x1f\ +\xbd\x9bre\xca\x8a\xc2\x8d\xe9\x22\xbf\xb8\xb6\xf2h\x99\ +\xebVQ\xbd\xf7\xc4\x98Q\xd9\x892b\x16\x07x\xd6\ +\xb2\xd2\xe2\x96\x98\xd39\x1f\xa6\xcb\x95m\x80\xfb\xf1\xdd\ +e\xf3\xebe\xcb6\xa0\x0dS\x0b \xd0\xf9\x9dV\x86\ +0\x17\x1aH\x96\xc7\x00T<\xdf\xdc\xf7\xde_\x98`\ +Zw\xaco\xeb\x14\xd0\x96s\xa2\xd7U\xa6 \xf4T\ +\x89\x00\x05\xdd:\x11\x0d\x00b\xa3\xcd\xd8\xfb\xd4\xb2\xf9\ +\xcf\xdf\xbeNyiF\xa0\xf3)\xda\x18\x87O-\x1b\ +\x00\xe6\x14\xf2\x9aA\x80!\xf4\x1be\xb5\xcd\xaa\x93\xe6\ +\xbb\x87\xb1G\xa1v\x1f^[6Pi\xa2Z\xba$\ +\x18\xdf6\xa8\xfc\xff\xcd:\x97\xfc\xf0\xb6\xd9\xde\xbe%\ +*\x1d\xd0\x10{\xb9GzT%\x9e\x0eX\x0e\xcd\x81\ +b\x83\xec\xc7K\xed)2\x80\x00\x89\xc3&F\xb5\xfe\ +\xbd\x03\xcc\xc1D\x9c\xac\xa8Q?;\xf4\x1c&\xa0n\ +\x0ae\xa8?-^W\xb8\xde\xaf\x0e\x81\xff\x07\x16\xd9\ +\xbam\x83\xd7r\x18\xe7c;\xb08\xf2\x7fZ\xe4\xed\ +V\x07~a\x02\xc0\x0f\xcaA\xf7\xa1C\xc5\xbf\xc2\x84\ +\x9b\x0d\xf7\x87C@\xe5\x10pr\x8c{5\xea\xfd}\ +\xf1\xef\xbc\xba\xberc\xd7\x18\xa8\xaa\xe6\x9c\xabt\xa3\ +J%P\xee\xc0I\x05+\x8e\xd6\x18:\xc8\xd2\xbcj\ +.w\xb8\xdc\xb6\x81\x0fw\x0c5\xdaF\xb1\xa1P\xc9\ +\xcc\xd5\xd4\xabN\xac.\x95\xadNd3\x8eozQ\ +\x12\xe1T\xdc\x9b\x82|\xff\xb2\x8dip\xfa_I\x10\ +\x13x\xf4X\x98PI\xe7\xe4`\x9dS\x1dQJc\ +\xf2Z\x14$\x07\xc7\xf1Ye\xcbs\x5c\x9f\x879\xef\ +q\x88gw*\x1b\xc6|\xe4\xba\xa6\x0b\xca\x06\x06\x00\ +u\xee\x88\xc9\x11\xdf@y\x9e\x9eV6 \xfb\xa9\x94\ +\x9d\xdd\xabl\xfe\xef?U\xb6\x05\xc04\x0e\xa6\xdb\x95\ +\xcd\xbf\xf7\x95e[\x02\xd0=\xa6\xc6\x91\xdc\xbbl\xe8\ +mN\xc22=\xb5l~\xfd\x84UuY%\x98h\ +L\x03)\x1c\x97@\xc1\x1c\xe6\x17\x96\xcd\xf7\xe9\xd7\xca\ +\xe6\xf7\xf9\xbe\xb2\x0dq\xa6\xca\xda\x94\xc6\xb4Z\xf4|\ +u\x22@\xe6\xa9\x87\xe1\xd0\x88\xb6\xcf\x13\x18G\xe4\xa6\ ++a\x02\x10\x15+\xc8;\xa6\x86\x00\xd4\xba\x95\xf0\x03\ +\xa0vS\x02P\xf4\x9a\x82\x9f\xf5\xd8\x80\x03q?\xfb\ +\x9eX\x99\x03A%\xd1>\x92h\xea}\x15\x08H\x04\ +U\xca\xf7*\xb3\x00\x828\xea\xae\xbcm\xf3\x8dW\xf1\ +\x9d\x88Gu\xc5L/\xbc\x84\x13\xf0\x92\xf1?]\xb1\ +5>Ne?\xfea\xbaj\xd9@\xd9\x948\xa5\xa5\ +\xa5\x13%\x01\xa1\x8a\x15\x11ITY\x81\xa8\xe7\xc2\xaf\ +S\x9dO\x22\xd9\xdf\x93\xbf\x92X$\xc1\xea\xc0\x99\x16\ +\x09\x0a\xb6\xdeo\x01\x01\x06\x82@X\x22\xe6:L\xcd\ +\xe0\xcfT\x9cUJ\xad\x07\x95N\xaa\xdeZ\xc6|Q\x12\ +\xe7\xa8\xda\xb7\xa81\x15\xf3PZ;q'\x1ak\x8a\ +\x82q\xafzP\xb3n\x00l\xed\xf7\x00\x87a,\xa8\ +\x84\xb7\x06\x13\xa0B\x82\xb0c@\xb5\x1f\x14?Id\ +\xf8\x17\xf1\xc31\xeb\xf6\x1dy\x1fs\xbb3\x0e\xb4[\ +.0\x09\xf6@\xab\x0a\xa8\x1f\xfeX\xbc\xc5O\x02\xb4\ +T@\xdd\xff$\xc8\xa7\x9f(\x9b\xff\xfcM\xab\x06N\ +S\xd2]\xb78\xc7~\xf1\xbe\xf9\xde\x0dL}\xf6\xca\ +\x000\xf5\xa6\x01\x00\xf1g\x02\xeb\x9e\x1a\x92\xf8s)\ +\x5c\xfd\xfa\x0607E\x1d\xb5\x17\x10\x10\xcd\x8b\xa6\x9a\ +\x9b\xdb\x8d\x01\x11\xe0\xb1\xcf\xc5\x07\x97\x0d\xcc#\x94b\ +\xf1H\xe6\xdc\x0b\xf4O_T6\xc4_\x12\xf77\xa7\ +2M,\x0fs\xcbs\xa0q\x22>\x96\xc8\xeeE\xca\ +\x12\xf0\xf7T\x0a\x89\xb3\xca\xb5\xca\xffw\x97\x0d\x89\xb2\ +\xf5,^S\xa9\x0f\xf3\xaa\xa9\xd3\xda,L\x05\xa2\xd5\ +\x93\xfb\xc3\xef\xb4\xc6A\x98\xfc\x01\xb1\xe1\xfd\xf8g\xc0 \xe0\x91\xc8-f\ +Z*\xe8\xcdd\x22J\x1d&\xb9\xc2\xb3\xf5}\xba}\ +\xd9\xa0q\xa0\x90\xf3\x9a0\x9b\xaf4\xa7\xc1W\x1a\x0a\ +\x1d\x80\xc2\x1f\x9e\xbd\xfb\x0f\x0f\xcc*\xd3I2\xc5\xa0\ +E\x8e\x89\xcc\xda\xcfZ}\x00\xe6\xf21\xebR%\xde\ +\xf4\x06\xfbH\x9e\x191\xca\xd6\xc62U\x05C\x1b \ +\xaf\xf0\x0c\x10\xc3\x08\xc0\x8c \x82\xba\x9fJ\xc4\xcf\xca\ +\x0b\x89G\xfeB\xd9\x10g\xa4P\xdb~L\xbc\x9a\xfd\ +\x7f\x8e\xfaw\xcfY\x0c5~y\xf0\xff\xb8-@\x94\ +w\xad\x01K\xb8\xf0\xb3I\xe0\xaf8TdBa\xee\ +\x9e8\x15\xa8\xb7v\x8f\xe8z\xe0\xfc{6B*\xb7\ +s\xf0\xb3:\xfe1\xb1\xbex\xa8X\x0b\x98\xf7\x89\xae\ +\xc4\x9f\x98\xde\xdb2\xe7\xfe\xa6\xa1>\x08\xc0\xbf\x22\x22\ +\x1d?X\xb69\xdc\xe3\xf7\xcdV\xd4\xc1\xcfY\xc7\xe4\ +,\x14\xc9\x9bd,\xd7/\x0e\x0b|lA\xf8\x8f\x81\ +Y\xa0r\xee\x80\xd2\xf3/!\x10\x00\xdb\xf0\x90@\xad\ +\x0c\xc4\x039\x5c@\xc1^%\xdb\xdf{\xf0\xae\x87#\ +2\x0f5\x0bl\xa90]/\x09\xd0u\x87\x84GE\ +B\xa0\xa1\xf7\xd3\x01'!\x97H\xa8\x9c\x01\x0c\xa8\xee\ +?m\xb1\x16\xbd\x99~\x7fz\xe6\xf4\xcc\xa1\x15 c\ +\xed\xce{\x5c\x02\x19\x08~\xbe\xbf\xf7?\x5cP\xb6!\ +pMiG\xa5\xbf~\xd9\xfc\xfa\x11eK\xe0\xb0\xf6\ +\x80kQx\xf0\x1a`\x1f\xbf\xbdl\xa3@\xb7\x0a\xbf\ +\x0d\xa7\x95\xc3\xbcY\xaa\xc5\x01\xb0T\xa0N\xdfU\xb6\ +U8Q\xcd\xb4\xca\x9c\xbd\xb1l\xdb\x88T\x80\xa7/\ +-\x9b\xff\xfb#\xcb\xb6\x9e\xd7>8\x01\x0b\xcb\xcf\xfc\ +\xf7O+\xdb6\xe2\xf19e[O\x90\xc4\xfc\xec\xf9\ +e\xf3\xeb'\x94\xcd\x7f\xffae\x1b\xf2>]\xa5l\ +\xe8\xa9\x14\x08Z7\xa1B\x03\x10\x1a\xe9\x17\xa0\x06p\ +\xe9D;\x8e\xbf\x1d\x9a\x04H\x00\x1f\x07\x8d\xba\xef \ +?^\xb1l~\xbf\xef,\x9b?\xef\xd7\xcb\x86@\xc9\ +z!\x16\xe9\xfe\x87A\x81\x0a\xdbc\x15!\xa0\xc4O\ +2\xae\xf0\xf4\xec\xb2\xa1re\x1f\x08\x18}o?Z\ +^\x04<\xa8Wz\xf2Un\xf5\x9a\xef\x81HT\xe5\ +j\xe5\xb9\xdf\x100\xe8\xa5\x04 P\xa5O\x0f \x7f\ +\xd2\xfe\xc7\xc1\xa1\xa2`\xdf:p\x04,\x12Y\xcfQ\ +\xa2\x10\x91\x9b\xf6+~\x04.*\x80*h\xc4^\x00\ +\x00\xc6\x1fJ\xd4\xcc\xf9\x06\xf0P\xd3G\xf9F\x1dC\ +eN\xa5\xab)r\x02u\x07\x8d^\xc9j%{\xf4\ +\x10\xc0\xb8/\xfc\x8dsF\x05K\xe5Q\xa0i\x9e=\ +\x80X\xa2\x11\xc4\xbb[b\x9c/Z\x07\xbc\xbf\xde\xfc\ +\xdc\xd7\xbeoZ\xbe\xf6b\x8a\x12#@\xa9y\xbc\x98\ +\x04D\x86$\x0e\xee\x93\xf7\x07h$\xc0\x02\xd8\x98\xd3\ +,Pn\xbf(\xc0U\x99\xb4\x0e\xad\xaf\xdc\xc7fh\ +\xe8qt\xdf\xae\xb3S\x15W\xb1\xcfy\xd9\xad<\x19\ ++\xd9-\xd0\x02\xde\xf4v\x1b\xdf\xdb\x81n\x02\xc2\xd3\ +\xa1l\x18Kh=\x87\x91\xd5\xcc/\x14\xe0\x00\x8e\xc7\ +\xaf.\x1b\x00bS,\xcc\xab7\xd6\x90\x0a\xbf\xf3\x1b\ +%\xd7\xf4\x15\x94b\x94\xfe\x14\x14P\x92\x01N\xc7\xb7\ +\x97m\xef\xd3\xd4\xe4\xccs\x9e\x1eR6\xf4\x1a\xeb\xcd\ +WA3\xee\x94H\x1f\xca\xa9J\xb7\x00\xd7s\xc5\x80\ +\x02(F\xc4\xa9\x01MZ:\xe2\x11S6\xa2\x89\xd3\ +@\xb3@\x8e\xba\xbf\xdex\xe2\x9cZ\xc9\xde\x18\xe0\x0d\ +pa\xec\x98i\x0a{j\xb1\xc4_\x00.\xf1\x93\xc8\ +\xab,\xaa\xe0\xed\xc5Q\xf9\x01\x8c<@\x99\xc0\xd7>\ +\x17p\xba?\x120\x15J-(\x80\x94\xfdz\xd7r\ +\xc4\x9f\xfc\xce\xe19\x87\xe7\x0c\x15\xcd\x14f\xfa}\xc5\ +M\xbe\x9f\xeb1\x05(\x0c(\xe7`W\xf6\x002D\ +D\xe3\xcf\x9b1%\x9et\x1f\x05\xf4\x80\xa5\xf8\x9b\x06\ +\xe6%\xbe\xfc\xc8\xde\x9f\xa3\xb4G\xabEe\xd3:\xeb\ +J^\xf6\x15u\xf5\x1eg\x86\xe1\x09\xf0s}\xee\x83\ +\x84\xc6}\xc0X\x02\x5c\x85\xa1\xdb\xdf\xc7\xb9m}a\ +\x08%A\xd5\xa2p\xba_\xd9P\xf94\x96\x93\xe8\xa0\ +\x96\xa5l\xf8\xa6P\x03\xd8\x01\xbd_\x12\xe0;\xe3\x92\ +\x9b\xa2\x0c\xc8\x8d\x1f\xc1\xcc\xe9\xcfME\xb4\xfd\x13\xe6\ +\x87\xf8\x7f'\x16\xde\xcc \xc0\xabuh]\xc8\x0f$\ +J\x80s\x89\xb5s\x1d@\x8c\xa2\x0d\xc0\xf2\xb9Zk\ +P\xab\xed\xa7\x00\x8b\x9d\xd0c\x06\x00\x0e\xc4\x17\x00=\ +@\x8eu\x22~p\xfd\xf2#\xd7\xe5\xf7\xb4$\xbc\xa0\ +lP}w\xbe\x02\xfe\x88'G\xa3\xa9\x0b\x9a\x00\x08\ +\x8e\xda\xfd\xc0D\xc4\xd8\xf0\xfbab\x1c\xdeQ6\x14\ +\x82\x01\xce4\xa7\x88Pk1\xe4\x0f\xedS\xd7E\x8d\ +?\xad\xa0\xcd\xa0I\xfcr\xba\xb8l\xd0\x16\xd0\xa2\x16\ +\x06[k\xc1a&\xbc+-\xba\x89\xcf\x8f\x9fW\xb6\ +\x88i\xde`\x11\xd3|\xee|\x8a\xc0\ +\x01\xad\x97JO\xdf\x12\xd0|fDj>&j\xf9\ +\xcf\xcd\x05\x7f\xc9\x90\xf8\x0a,\xf5\xdc\x09\xb8\xa9Y^\ +\xb0\xf6\xb0t\xe2/\xf0\xd3S\x19\xd1\x9b\x0e\xc4ll\ +7\xda\xc1*q\xbe(\x1b\x9ec\xdcT4\xd7\xca\xf0\ +\x05\xa77\x9d\xde\xb4\xcd\xd1\xa6\xd6\xbc\x88\xa4\xfd\xd5\xa0\ +\xb2\xac\x17\xe48\xdbix (Cul^\x90\xc4\ +\xe2?\x07\xea\x8e\xc0^\x05\xc9\x0d\xf6S\xdb\xe2#\xa3\ +\xa2\xff\xc9A\xc2>yp\xe0\xf5m\xde\x9d\x0d|\xc1\ +\x80\xe0\xa2\xae\xc7\x01q\xa4=]\xa1\xd2\xe8\xb7\xe4\x00\ +\xf8\xe0\xfc\xfb7\x0f\x15\xb8h\x19,\xe2F\xaf\xca\xf7\ +\xff\xb4!qP1\xa9\x80\xf4\xe6C\xef\x97\xe7\x90\xfb\ +\xd5\xa2u\xd4m\xa9lg\xa1\x1e\xbek=H\x0fw\ ++[\xa8\x85\xb3\x0d\x95F@\x85\x05\xccaH\xa8\x22\ +.\x84\xb24=xz\xd0\xf4\xa0\x85\xea\xbaT\x9c\xce\ +\xbe\xa1l\xfe\xfb\x0f-[T\xf5\xef8\xddq\x987\ +\xad%E\xcf\x99\x8a\xdd\xb7\xae\x95\xb9\xc3KV\x0a\xf3\ +\xf1{\xcb\x86\xca^\x02\x9e\xe3\xcd\xca\x86^%T~\ +b(T\x80\x9fwx\xee\xa1\xe6\xa9\xfe\xdf\xe9\x0f\xa6\ +\xf9\xf3J\xa1\xa04\x0a\xf4z\x0a\x80\xcf\xeeX6\xff\ +\xf7g\x95\xcd\x7f\xfe\xa8\xb2\x01\x00\xc8F\x9dNe\xdb\ +\xd8\xbd\xe33\xcb\xe6\xbf\x7fU\xd9\x90x\xc4\x81\xa0:\ +\x9d=\xb4l\x98\xb3\x0b\x90\x91\x10\x01\x00 \xcc~\x00\ +s\xc4]\x8c\x11\xc9\xfb\xf4\xf4\x82\xac\xcbfJHl\ +U^\xb3.1\x04.yq\xd9\xd0\xfb\xba\xfcl\x0c\ +\x88\x0e\xa0>\xbel\x11;\x9cmK\xb0\x8e7*\x1b\ +\x12V\x89@*\x91}\xe0\xab\x18H\xb8|O\x88&\ +&\x88\xb1s\x1c'\x07\xcf\xb1;\x98\xacs\xc0\x9d\x0a\ +\xac^G\x8c$\x09\xbaD\x17E\xd5\xfb\xf1o~\xdf\ +\xbe\xe6\x80U\x84\xfd;\x81\xb3\x1f\xd4X\x80\xdb\x17\x95\ +\x0d\xfe\x85\xea\xb1\xf5\x9d\x00\xbeE\xcf\xf8\x0b=\xd1(\ +\xc1\xf6\xab\xca\x93\x00SEH\x8f<\xc0\x03`\x22\x90\ +@\xf5t\xbd\x80\x08\x08:J&\xa6\x93\x00O\x22+\ +\x01\xc6\xa0\xe2G\x82\xccw\x00!\xc1\x978\xf1\xe3\xc6\ +\xd9\xe5\xf94\xd5=\xd4\x5c\xfe\xa5E\xe9B\xa1\xbd\x14\ +0\xea|\xc1\xd0\xa1\x91@\x13\x81V\x8d\xcah\x95\xec\x99\xa1\xd6\xc5\x9e\xf9)a\x95\ +\xf0\xfa3\x80|?\xb5+\x95\xcb>_\xc5\x05\xbeW\ +\xc6\xec5#\x8ff\x03Jt\x12\xd7\xa6N\xcb\x13L\ +\xabQq\x05\xe4\xfbw\x12?\xad\x96\xc4a1u\xc2\ +\x14iF\x03\xe0_\xe2\xbe\xab\xa87\x90B\xbbj\xaf\ +y\x01\xd0q_\xfc\xbe\xf5\xc2/\xf1\xfbZ\x8cL\x0b\ +r~\x88\xb30h~\xbcl\xb8\xcfZ`\xd2\x02\xd2\ +Z\x19\xa9\xd4\xf7\xfb\xf8|\xebS\x22\x97\xa9Q\x1d\xf7\ +\x88\xab\x03\xe86\x85\x5c\x1eb\xfdHX\xf7c\x1d\x9d\ +oT\xef\xb3\x9e\x1b \x12\xcf\xfd`\xd9PX\xbcn\ +\xd9V\xe8\xe9\x96\x8c\x8c\xfdk\xa0!\x9f\xdb\x8c\xad%\ +\xf0\xdd\xe2\xa9\xd6zR\x98\xcb\xfd\x14/vKZ\x9e\ +\xe3\xf1Qe\x1b\x93\xed\xf8\xcbe\xc3\xfd\xe0g\x03D\ +4\x83U\x0f=\xb1\xbf0\xd2\xa6[\x96\x0d\x85Oq\ +# H\xfc\xb0o5u.\x88\xd3\xb4\xe4)\x889\ +W\xf5\xec\x07\xf0mM\x0db\x99{\xcd\x00\xebx'\ +\x0a\x0c\x10l\xa6\x81<\xdb\xf7\xc5H\xc2\xa4\x11\x7f&\ +\xae\x22.\xdb\xeb\xcc\xb8\xc6\x00)\xe7\xda!W\xcf\xc4\ +-\xe6\xd7\xcf\x9dmv\xc0\xd3S\xca\xb6\xb9\xc6=\xaf\ +\xd7\x98\x97\x1a\x1b\xf6\xb99\xd8\xef\x92\x0a\xe7\x13\x87\x0d\ +\xae\xf4`\xa1B\xcaP\xba8(\xbf\xf7\xee\x1d\xa5\xdf\ +\x86\xf0{\x1c\x9b\xd7)\x0f\xc4\xef\xb9q\x02\xff\x0b\x12\ +h\x09\x0c??\xbdK\xf5\xbf\x83\xba,\xcaV\x07\xa4\ +\x10\xe3\xc2\xed\xfezp\xccD\xfa\x8c\xd9B=U\xc1\ ++7\xf1aC\xc5\xca8=TW\xc8\xb7\xdf\xab\xbb\ +q\xad\xe1\xd5A\xe2@\x07\x0cd*@\x8b\xe9H`\ +\xa8X\x86\x1a\xd9\x0b\xaa\xfe\xf5\x94\x03\xe2\xea\xf9\xfd\x8f\ +\x1d\x16\x06\x07\xe1\xe0\xf4\x5c|>j\x95\xb18*\x01\ +\xc4\xb4$\x92o\x0cRM$\x055GbJ\xfc\xce\ +A%`\xbdnD\xce\x22\xa2\xd3\xe3\xe2>4\x94\xf8\ +\xfbO_5}\xd5\xe2\xa7\x96D\xf9\xecG\xca\xe6\xd7\ +{\x9c\xbd\xe2\xec\x15\x03%*\xbdh\xc7\x97\x95mc\ +\xa3\x1aY#\xa2q\xef\x884=?\xad\x03\x97K\x02\ +\x17\x95\xde\xd3E\xab\xc8O\xcf\x95\x8f\xf6\xc1\xf4\xb0\xb2\ +\xf9sOg\xc7\xb3\x0aT\xaeQ6\xbf~\x5c\xd9\xfc\ +\xfa\xabe\xf3\xeb-\xca6\xbfZ\x1d\xb0\xd5\x03+`\ +\xed\xf1a\xd6K\xd6\xab\x0d=\xfd\xef\xb2\x0d\x81\xed\xb9\ +\xaa\xa5\x9d\xf0\xc8\xa5\x22\xfa\x98\xaa\x88\xa2\x9c\xa2\xda\xb7\ +\xa32f\x0eU5ba-\xb6\x97\xb1(\xf6\xc7\xf4\ +\xc2\xb2-\x10k\xd1*\x14d\x09\x85\x83k?\xde,\ +\xd7?\xdd\xa4l\x9b\x1b?\xbd\xa0lh\xad\x09u\xae\ +[ \x88\xfd\xe9)N/W\x07\x1a\x09\x07\ +\x80\xfa\x1e\xfe\x0cH\xc1\x10u\x1f\xf83\x15\xf40\x07\ +\xba\x15\xc6\x9co\x15\xe5\xec\xa7nU\xe0W\x05\x14\xfc\ +\xd2\xe5\x165\x80-\x11\xf1\xdf\xf7\x8cRL\x0eq0\ +\xad,\xf1\x90\xb1mZ\x93\x8c\xcf\x8bVUW\xac#\ +n\x89\xc9$\x9e\xe8\xf87\x85\x8f\xd6\xca\xd1\xc2\xa1\x90\ +\x10\xa0\xa3\xd7\x8d1zZX\x92\xb8\xf6\xd8\xd2\x00\x06\ +\xcdP\xb1^UT\xb5\xdc\xf1#\x00\xbe\x14\x0e\xba\x97\ +\x1fcJb\x85!\xe3~\x01z\xdcg\x00\x8f\xe7\xf1\ +\xe6\xb2\x01xP\xa1\xb7\xbe\x01\xd5\xe2!\xfb\xdf~q\ +\xde:\x9fs\xeev\xe5\x19\xe0#\xb1\xe7\x87\x9d\xfb\x00\ +\xf6-\x8fY\xe3l\x89\xae\xfd\x99\xc4\xb4\x0b$\x18$\ +\xfc\x89\xb8\xdb\xfa\xf0\x5c\x8c\x8f3\x1e;\x80f\xfb\x8f\ +\xb4\xfa\x89+\x8f\x7fW\xb6\x89\xfcu\xeb\x07\x86M\xce\ +\xbd\xd3\xb9\xb2a\xfdIL\x13\x1f\xf6\xd8\xef0\x90O\ +\xb7(\xdb\xf2\x92n\x8d!Z\xfb\xfe\xb2-?kM\ +\x00@\x83\xfb\x821\xa7\x85S|\x14\xc6Q\x03n\xc4\ +Z\xd3\xf2\xd0\xe7\xa8\xb8\xc8u\xefD\xe6\x9bA\xcc?\ +\x03T\xf6S\x82\x02h\xf5\x94\x07\x8c\xe2_/\x1b\x80\ +.\xc0\xce^\x03\xcf\xfa\xb1\xdf\x15X\xf6c\x08\xad\x0f\ +\xcc*\x8c/\x85\x1c\xffN^,\xe17\x15\x04\x80\x9c\ +\xf8\xf2\x9c\x00\xb3\xc5\x1b\x12\x80M__6\xcc\x1bW\ +)|D(B\xd5+Xb87\x9f\xed\x16\xdb\x18\ +\x9f\x167\xe20%\xd6(>n \x87\xef\x8b\xbf/\ +\x1bk\xbf\x81l\xb0\xce\xb0\xf2\xea\x8b\xa8 Z\xe86\ +\xaa\x07\x08\x91z\xc80\x86\xe9\xa3\xe2\xa8\xffu\xb8Q\ +6\x18\x84\x85\xc3\xf1\xfbzH\x8b2x\xfbMD\xa6\ ++c\x1e\x5c=\xae\xeb\x0e\x94\x0c\x94 \x14\x99J\xb3\ +\xaf:lP\xdf\x03\xc3\x81\x83\xa8\xbbt\xf9\x04\x94\x97\ +\x1b\x16\x1cq\x87:\xe0_;,$\x88\x91q\x84\xee\ +\xb3\xc4>\xbd\xff\x1d\x88\xaa\x18\x19S\x82\xf2kC\xa9\ +\xe8P\x87N\x00z\xf8\xeb\xcc\xc9\x8d\x03i\xaaP*\ +\x93\xbd\xc1\x04\xfa*\xb6z\xab?1\x94`\xeb\x03u\ +\xec\xaaQ[\x7fFz\xf2Ra\x81\x5c\xa1\xfcN\xaf\ +(\xdb\xc6<\x9d]\xa3l~\xfc\xe7\xca\xe6\xd7\xe7\x96\ +\x0d\x085\x91G\xe3\xf7\x92`\x9f}}\xd9\x10\xc0\xdf\ +&L\x90\x0fY\xc7\x8ft\xc5\xeb\xf3\x92\xc0\xbf\xbel\ +\x13\x0b\x9a\xbe\xbclS\xe3\xa7\x950}C\xd9\xfc\xe7\ +\xe7\x869p\xb3\xb2\x81B\x98\x03t\xfa\xe2\xb2\xe1\xe0\ +A\xfdA\x11}\xfb:\x06R\x02C\xf5|a\xe8\x9e\ +\x86\x80\xc3\xba\xd1B\x22!NOW#\xf6(\x89\xd1\ +\x10\xe8\x83\x11\xb5\x14\xe5x?\xe6-\x15\xff\x0e\xc02\ +\x96\x0a#\xc4~7u\xe1t\x87\xb2\xa1w\x97XV\ +\xa8\xdd\x10\xe4\xae\x0c>n\xb1M\xe5;~\xc2\xd8M\ +\xdf\xbbEfr_\xfb\x00V!2\xae3\xaa\xeb\xcd\ +\x5c\xe0@!\xac\x90Q\x88v\xc6\x99\xb5\x08\x8c\x84\x10\ +bO\xc4E\xeb\x8c\xfdf\xdf\x03\xbcTr\x01\x82(\ +\xb6*\xa4\x80\x01\x15\x85\xcc5\xbfTo:J]\xfc\ + *\xad\xfb\xde\xd4a@\x86\x9e\xceTH:q\x95\ +0\x1a3\xa3\xd2\xae\xc5@\xafi\x02\x87\x16\xc7R\xa9\ +7\xb6H\xc2\xafR\xb0\x137\xec\xf9\xeb\x02m\x223\ +\xa8\xd6\x99\xbe\xd2\x15\x1c\x15n\x09\x12Q\xb30nP\ +\xfe\x1a00\xc7]\x82o,[4B\xba\xb7Q\xa5\ +\x0c#\xe9\xae\x19[I\xa3\x04\x85=\x09f'>\x00\ +Q\x07\xa8\xc0!\xda\x19\x1d(\x03\x86\x9d\x17\x02AL\ +\x0c\x89\xa2}e\xdd9'\xb4>\x19\xeb\x06\xb8UI\ +$2\x1b\xa6V3)0@\x00B\x80\x13\xbd\x91\x09\ +\xa4z\xfd\x86y\x83\xe2\x7f\xf6[e\xf3~\xbbU\xd9\ +0f.\xe7\xb99\xd9]yR\xd9U9O\xafd\ +S\x22%\xe8\x01\xae\x1a@Lec\xfa\x82\xb2!\x90\ +\x02\xb48\x9fR\x91\x9d>\xb5l\x08X%\xd8\x11;\ +\xb4\xcf{\xfa\x08`:\xfbfz\xd2\xf4\xb3\xd3\xecO\ +\x8f?S6$\xe0\xff'j\xcd\xd6\xb1\xd6\x00\x14\xd6\ +\x00\x9c\xc7\xb7\x95\x0d\x00\x83\xfb\xf6\x88\xb2%\xd0^{\ +~\xdf\x92\xa92(\xb6*{Z\x85\xc4#\xf1\xc7\xdd\ +\xd3OcB\xc1#\xeb\xa0\xc7\xb4&\x11\x99\xc3\xea\x05\ +\x08m\xaa\xed\x1fE,W\x02\x9b}\xdb\x0c\x1f\xda\x22\ +\x1f\x9c\xfd\xfd\xbaUt\xb6)\xf8\xd4\xdd%\x94D\xdb\ +r\xdfZ\xd4\x94\xd6\x83B\xc0\xad2\x1e\x11\x15\x1f\xd5\ +9\x15\xe1>\xc7}\x1f\xdf[\x22\xf2\x92\xb2!n\x22\ +V\xe5\xfa\x8d\xab\x05\x9c\xff\xf1*f{\xf8\x8bU\xc4\ +\xf1\xbc'%>\xfc\xe4\x88OS\xf3\x7f\xc1\x9a8\xb4\ +\x08k\xe2\xac>\xaf\x8c\x87\x0b\xf3\x01\x10\xd0\xe3\xc70\ +\x9a\xf8o\x14\xda{\x94\x0d\x01\xb5\xf8\xcfy\xa2\xa0\xa1\ +\x07WA\x84\x16\x03@8\xd4\xf9\xde\xa7\xd6\xbd\xf7\xb3\ +\xaf\xc5[[\xc1kM(\x04\xf0\x00-\x89,J>\ +*7\xe0\x82\x9f\xdaOY\xc1\x04\x10Wb\x1aat\ +\xd0\xee\xc1\xcc\x02\x5c\x00\x9aT\xae\x93\xa8R\x81o\x91\ +1\xe2\x8d\x01r\x00\x82\xde\xa7[7\x00\xde\x0aN\xc6\ +\x02F;\xa3\xe3\x11\x15S\xa2\xd2\x80\xd1}\xc5\xd5\xf7\ +\x10\xcf\x8a\xf7%\xc8\xfc\xae\x02\x9b|\x01\xe0\xee\xcf\xfc\ +\xb6|\xc0y\xa8\x82+\xce\xd1#\x0f\x10w\x1e\xfb\x91\ +\xcf(,\x02\xce\x9c\xd7D\x0c\xf9}\x9f#n\xd8\x8b\ +\xe6\xba.\xdf\x87\xff\xf5<\xb7\xfch\x8d\xf7\xc4\xf3Z\ +\xb72\xc6\xb9[\xedLw1}\xc6z\xb3o\xed\x17\ +\xbd\xe2\x98\x184\x08R\xb8im(\xe7\xb4B\xaex\ +\x13\xd0\x0dx \xfa\x08P\x00TXg\x89\xa7\x9d7\ +\xbd^|n\xc6\x19\xb6\xa6\xd0\x85e\x03\xe3\xebcV\ +@\xf8\xf4\xc2\x88\xed\xa1\xd4\xfb|\xf1GZ\xd4\xba\xe2\ +\xfe\xa0\xc5z\xacu\x17J\x9c\xa3\xd6U\x80\xaf\xd3\xdb\ +\xca\x86\xefG\xfb\xc1>t\x8e\xd9\xbf\x00\xa4\x00Y\xdd\ +z#\x1e\xb7\xde\xecs\xeb\x8d\xa6\x87\xe9\x02\x9e\xab\x02\ +\x0c`>\xebD\xdclJ\xd7\xa5\xc6\x10j\xfd\xe1\x97\ +\xad\xfb\xfdt<\xeb,\xdf\xef\xdc\xb9\xef*\x1b\xc6\xf4\ +P\x1b\x96\xa0A\x1a\x88L\xe9e\x14\xe8\xe8\xdd\xd3\xdb\ +\xeb\x80\xb2Q\x88\x94\xa0F\xa1N\xd8\xe0\x1e\x9c\x0bu\ +cwc_.\xb5\x91\xe3\xe8\xf4`\xce\xe1\xd4\xfa\xe0\ +l\x94\xf7\xe6\x8b\xbe#\x94\xbfg&\x11\xb7\x11|?\ +\xef\x97@\xb9\x13\x8f\xa8\x04/\x84\xf9[\x069\xbdq\ +\x90\xe4\x9b\x0cc\xf3$\xe6\x02\xe2r\xa47\x1e*\xef\ +u\xbc^\x7f\x08\x08\xeb1_}xP\xa8H\xe5\xf6\ +8\x8a7\x0e\x81Q\xb9\xbbk\xe7\xf3o0<\xe8\x8b\ +\x96&\x88\xadg\xa8\x96\xc9\x7f\xe5\xf3\xae\x17\xb1\xaa\xab\ +\x0d\x09\x01\xad\x06\xcf\xad\xe0\x88+\x0e\x09\x09q\x13\x01\ +\xbe\x00\x06\xf5\xfa\xe1\xa9\x9c}Y\xdeo\x03Z\xd6\xfb\ +\xfc\x90\xa88?9\xe3\xb1$`q\xf85l\xaf\xc6\ +\xed\x9d\xf7]\xa9\x08^}\xa5\xdc\xcf\xd7\xbaV\x10\xa9\ +\xeafC\x1c>3\x15V\xbd\xea\xe6\x07G\x9d{z\ +N\xd9\x10\xe0\x07p\x99\xfe\xb4l\xd3\x04 \xf2s\xba\ +L\xd9P\x19\x07,\xe8U\xfd\x82\xb2\xad\x02\xbd?\x00\ +\xba\xf2\xa8\x12\x1f&\xc0\xd9\x17\x95\xcd\x7f\xfe\xb9\xb2\xf9\ +\xf5\x1f\xcb\xb6\xde\xe3\xae\xf4\x0a\xec\x01d\xa8G\x09\xb4\ +\xa7k\x95mT\xaf\x16\x7f\x13(\xfa\xb3}\xc1\xc1X\ +\x0f{\x80\x0d2k\xac\x10\xc7B\xfc\x0b\xf5\xfc'\xca\ +\x06\x0a>G$p\xa3r\x8d\x12\x15d\xb8[\x19B\ +\xe5\xd5\xdb\xa7\x07\xb7\x1ap\xaa\x05\xe7\xf8\xe7e\xcb\x98\ +\x99\xf7\xd7\x98\x99\xe9\xfee\x1bu\xfa\xf8\xfc\xb2\xad\x82\ +\x08\xa1n\xaap\x10\xe1v\xd8*\x9d\x7fZ6\x04\x0c\ +*Oz\x18\xa3\xee\xda~\xc5A\xca/\xa1D\xc71\ +C\x9c;aE\x89\xd5*\x04)\xdeU Z\x84\x0f\ +#A\xc0M4NK\x8d@\x07 \xa8\x97\xdb\xc1\x8d\ +i!\xe0ppl@\xd9\x1a@:\xc0$\xe8\x90]\ +\x00\x87\x03\x09\xb0(A\x05l\xf2\xbf\xa8\xeb*\xb4\xfc\ +\x91D\x1f\x85\x9d\x88#j *\xb4\x00\xc2\xba\x89\x06\ +IO!0n\xed\x05e\x83\x9fT\xd9\x97\x80;\xe8\ +h\x98\x98\xcb\x8e\xaa\xff\xe5e[\x00\xd5\x94\x7f\x94L\ +\x89\x91\xcaT\x002\xe3\x14\x89\x95\xa2\xfc\xf7\xd8\xce$\ +\x84]\xf9\xa6q\x11\x11DS\x11\x8e\xbfU\xb6Q\xfb\ +ZTP\x00\xe2\x00\x07\xb4\xe8\xf9\x8f\xbf\x03 t\x82\ +N\xbd>S9\xfa\xb9X?\xce/\x81\xb9qb\xce\ +\x03\x9a,\x80K\x09\xb9\x1ek\xf7s7>i\xba\xa8\ +l~\xfd\xf4\xb2A\xebD\xa0Ed\x0b\x058\x09d\ +W\x00C}\xee\xf9\xf6\xd4\xc4U\xd2\x1f^6\x04\x8c\ +\xb4\x14\xf6\xd3\x1e\x9c\xb3\x02n\xa2\xb0a\x045c\xc9\ +u$0;\xbc\xbcl\xdb\x8f\x0d<\xf9I%\x86\xf6\ +\xc1|F\xaf\x15\xc7\xf4\x8ev\xeb\xc83\xd7\xf1\xa8g\ +O*[\x18*\xab\x86\xc4o$\xf1\x0b\x00{\xfc\xd1\ +\xb2\x0d\xa0\x9c>\xbel\x08p\x01q*\xc2\x12\x10\x89\ +\x07M\x0ecDS!m\xd5m\xd3=\xfe=\xe7\xdb\ +\xc5\x99\xe2b]H\x88P\xc5%\x10ZwT0\xad\ +?\xfeI\xbc\x04\xb0U\xa9\x0d\x93\xa3\xa9\xcaT\xba\xc3\ +\x14hf]D\xaf\x0e\xe7\x97\x0d\x94V\x09\x9b\x04@\ +\xa2r~\xa8\xa8Z\x96\x88R\x12\xc1\x0c\xa5\xb7\x01\x98\ +\xf7G\xe47-\x99\x1d\xc0G#J\xdc\x85\xf9w|\ +x\xd9\x22.\xfb\xda\xe3k\x87\xf3L\x1c\x17\x7f\x05\xf8\ +\x03T5#\x80\xff\x16\xe7Y\x8f\xce\x81\x00\x88\xad\x15\ +a\xca\xc37\x94\x0d\xe7\xa5\xc4Z@N;\xe2+\xcb\ +\x86\xb8\xd5\xf3P\xc0\x92 \x0a\xc0%\x16\xfe~\xd7\xea\ +\xaa\xf2\xdc\xc0\xab\x04\xc4\xe7{\x1f~\x5c\x85z\xd72\ +\xd0@\xbaDc\xa7}\xd2s\xee%6\xb4;\x00X\ +\xb4\x82\x9e^6\xf4(S\xf9\x07\x87\xd8\x9a\xeb\x16\x97xn\ +\x0a\x84\x120\xefc?9\xa7\xf7\xe2\xdd\xceq\x00\xa8\ +\xe7L\xdb!\xd3\xb1.\xd5\xca\x95\xd6f\x85\x05\xa2\x81\ +\xcd\xcc\xc1\x94\x0dp\xa7\xf0\xdbZ-\x0a8\x19\x8bm\ +|kkI9\x7f\xc4\xa3Z\xd4\x00\x1f\xbe\x0f\x06Q\ +*\xe1\xd4\xec\xbb%\x00e\x1fCF+&\xc0\xce4\ +\xb5\xcf\x8aFK\x80\xc5\x8e\x93\xc3\x90k\xa6\x81s2\ +~\xac\x99%\xce\xc9T\xfe[\xdc\x193\xc8\x7f\x07\x98\ +\xd9_\x9e\x0f@C|\xc5\x1f\x03^\x89O\x9a\x8aa\ +\xff\x03\xd6\xe5ioo\x0d\xbcu\x1d\x03\x14LG\x88\ +\xff\xeb\x02\x81x^\xbe%N3&\x9b\xd8#\x11A\ +\xbf\xe7g\xaf5\x018\xcc\xcf\xb9\x9e7^\x95\xb6\xaf\ +\xdd\x0e\xdeV\x0bV\xc1\x8a\xaaw\x8f;\xc8\x86\xd3\xfb\ +\xdd\x88\xaf\x0d'\xb1\x95P\xee\x10\xe3\xdeX\xc6\x8d\xfc\ +{\x0e\xea\xa8Pv\xc0\xceq\xef_%*D\xb2\x88\ +1m\x07\xd4\xca\x00xQ\xd9\x96\x104\xa5\xec\x11Q\ +\x874N\x0eU\xa3\xd2\xa6?\x1e>\xbf\x96\xc1\xb5\x87\ +Wc\xf8\x88\xa0T:}\xa5l\xd4\xab\x0c\x08e\xa5\ +[\x1f>,\xa4\x0f\x8eJ%\x07Cl\xa2\x90\xaa\xbf\ +\xdcz\xd0\x97\xc7z\xcd \x9b\x1f18\xbazl\x1f\ +\x18D\x08\xeb\xeeM\x03\xe2~\xbd%\x95^{\xf7>\ +eH4\xb4\x1cH\xfc\xdd?\xd3\x0b0\x0d8\x0c\x14\ +\xe2'\xac\x14\xf9\xeeY|b*\xd8(Z\x12\x98\xdf\ +-[\xc4\xf9\xd61x7X\x03\x9c\xe9\x95\xd3\xdfM\ +\x7f7,\xc0'\x84\xc2\x99J\x02\x84Q\x0f\xd9\xe9e\ +e\xc3\xfc\xe0\xd7G\xc4#\x89d;\x22\x22I9`\ +\xa8PS\xffE\x01\xeb\xa9\x02\xa8\xe4\x1c5d\xde\x0f\ +D\x9b\xc8\xc8]\xca\xb6\x83\xa8\x13\x9d \xbe\xc6N\x95\ +\x22\xc0\xa2\x09\xf0\x97eQ\x9f~\xd2\xa6i\x80QA\ +\xdc\xa9\xc5\xca\x04\x86\xa8\xd1o(\xdb\xa8\xe4\x9d0J\ +\x04\x89\xb5\xa1\x0e:\x10\xac\x0b\xeb\x10\x90c_\x00\xee\ +\x00\x0f\xa8]{\xe6\x00\xd17\xd3\x03B\x95j\x87\xe7\ +\xc0\xf4\xbe\xd4\xe5i=\xc4\xb1\xf5\x18@=|\x01 \ +\x88\xfa\xf13]a\x89\x1f\xd0bt\xfc\xee\xb2\x0d\x80\ +9>\xb6l\xf8~\x10T\x15\xeb\x001]\xc9A\xb1\ +\x12\x98J\xe0\xedcS>8~\xf7q_\xc9\xb5?\ +\xa2J\xdc\xe3\x07\x1fP6T\xe2\xdd'\x09\xb0J>\ +\xe0\x0b\xb5\x1f \x91\xdfO\xdf\xc0\x18\x90\x00r\xd4\ +\xdeW\x0f+\x06\x8du\xef\xfa\x02\x9c\xb5_\xe6\x0fP\ +!\x1d\xf8\x02L\x9a\x11o/\x1b\xbe\x87\x83F\x02\xd1\ +*s\x993\x1b\x86C31T\x12U\x1a\xa8\x9b\x13\ +\x91\x05\xa4$\x911\x0f\xb8\x03\x9bP\x9a\xbb\xc5\xc0s\ +\x92 '\xe1\xeb\xf9\xc3\xf6\x03U\xde\x97\x9d\xf7\xf2\x05\ +p\x00P:\x87\xf4\xe2Z\xbfZ\x972?\x99\xe8g\ +\xd5\x8f\xab\x82|xI\xd9v\xdf\xac\xc3\xe3m\xca\xe6\ +\xdf{\xd0\xaaMb\xbe\xb1\x8aB\xdf/\x95\x1f\x00\xc9\ +\x9f\x95\x0d\x9a)Z;\xecC\x01\xb5@\x0e52\xd4\ +\xff>\x9fT\x88$H\xf6\xb7q\x93\x126\x89(\xbf\ +f=%Q<\xbd}N\x00\xde\xbeT\x5c\xae\x5c\x15\ +\x17\x00\x9c\xf1@\x02\x8d\xe3\xaf\x96\x0d\x14\xc6\x04:\x12\ +\x9d\xe3\x05e[K\xcd\xf41eC\x85\xc7\xb8\xa5\xdf\ +)\x1b\xae\xdbs\xa3\xd2\x9d\x84\xe0p\xb5\xb2\x81\xd1\x11\ +\x86\x86^~\x80FS\xf91\xcb\x04P\xd9\xefg\xf7\ +)\x1b(\xe3\x09\x84\xdb/\xc4\x1f\xd02\x98\xeeYV\ +T\xfc\x95\xd2zH %N\x98O\x9f\x95\xa1t\xf5\ +\xb2A\x1c\x90\xff7\x8e3\x00Q3\xdfh\xb3D\x03\ +\x81\x86\xc1\xe1\x8b\xcb\x86\xc2\xc8\xd7\xac\xad\x03\xcd\x98\xfc\ +\xfb\xb4\xb6\xe4\xdc\xedi(\xfc]ZP\x0e\x8f_\xfd\ +\xa8\xfd\xd4\x22\xa9*z\x02P\x01\xf6\xa5\x05\x00\x00 \ +\x00IDAT\xfbM`\x1c\xa0\xa7\xe3/\x80E\xfc\ +R\x03q\x0a5(\xa4\xe23\xda\x1e\xce\x0f\x09+\x11\ +^\x95\xf0\x000\x9d\xf8\x19W\xfa\xac\x15p9\x97\x06\x09@\xd0\xfd\x90\xe8i\xf1\xc9\ +\xfa\xeb\x96\x85\x14tZ\xb3H|\x87)\xa0\x15\xc5\xf5\ +x\x9f\xdd\xb8\xc9\x06\x9c\x88\xfd\xa65\xa9\xc7;&.\ +nF\x90\x82\x1em&\x09\xb3\xb8\x09 !\xces\x7f\ +\xb4fj\xc5H!\x13\x90\xdcq\x96\x0a\xbf\xf8j/\ +z\x88\xc9\x87!\xa2\xb7\x9d\x18 \x8d\x89\xc4M-\xe6\ +y\xf5\xb2\x8d\xc1\xda\x00\x9bs\xd7\xbf\x0f\x83\xa0E\xca\ +U\xfei\xd8\xd8\x7f\x12s\xf18\x00\xc0\xba\xf2\xbc\xed\ +7\xf1\xa7\xfb\x0dXS \xc4\x8c\xd0\xba\xa7\x05U\xeb\ +\x0b\xad\x85\xbdh\xbb\xf5\xc5\xffh\x99\xc0\xbcR\xd0\x02\ +\xec\x8b\xd7\x01J\xc9\xd7z?+\x10\xbaNq>\xff\ +C$\x1f\xe0\x95<\xf5\xdcR!y\xecPA\x84\xe4\ +\xaa\x08\x08H!{(\xc4n\x8c\x1bK\x04dW\xc1\ +\xe8^\xfb$\x06M\x95\xdd\xf7:\xa1\x82\x00\x02\xae\x93\ +^q\x1bV`\xba;\x80.\x85t\xb8\x91\x17f\x8e\ +9\xf1!s\x14\xe3\x88\x96\x07\xf8W\x03\xf2t\xfe\xd2\ +\x15\xb6\x05,\x1c\xaf\x84\xbfp\xe3\xab\x0e\x95\xf7z\x1c\ +\x17\xe6\xba\x8e\xc3\xc1-\xf0\xa9\xc7\xfb\x9f\xa1|\x98\xaf\ +{Q\xbe\xf7(RE-\xb3\xa8Y\x7f=\x8c\xdd\xab\ +\xbbv\x95!A\xa9\x84\xfd\x03y\x9f\xf7\x0f\x09\xa0\xcf\ +\xc9}\xec\x9ed\x15f\x1b\x8e\x08\xa0\xf7\x8b\xa3\xd7\xd2\ +\xd0\x95&=4\x80\x8b\xaf\xc8\x06W\xc1\xb4\xa0C\x99\ +\x9f\x9d\xd3\x1a\x90\xfe\xcdJm4\xde\xe7\xf0\xcb\xe9A\ +Mew~Vk\xcf\xdc;\xd7\x85X3\x03\x96\xa9\ +\x01\xdf\x9a\x9eN\xc0\xd1\xd5S1\x09\xe5\xbe\x03\x92\xcc\ +\xd7n\x8aP\xd4\xe5\x9br\x9a\xdeK\xf3\x97U\x0e-\ +\xafN\xdc\xac\x07cE \xd8;\xb5\xd2\xe3g\x94m\ +S\x00Z\x0b#=\xce\xdd\xebn\x0c!\xaa[\x80\xa4\ +\xee!\xb3\x01\xc7)\x12\x17\x0e\x15|TC\x09\x9b\xc4\ +\xc2\xfe\xd1\xb3F\xfbA\xc2d_\xeeUI\x1d\xe0\xc6\ +m\xe9\x11w\xd0\xa0\x5c\xa3\xa4\xdb\xf7\xe6$K\xec%\ +\x12;1\x9c\x06(h\x08\x08\xe4S\xd9=\xde\xafl\ +\xab\x00\xb6\xe6\x00\x00\x03\xb2+p\xd0\xdb\xfd\xaa\xb2\xf9\ +\xdf?\xb9lP\xed&\x16\x06\xd9\x0cS\xa9)]\x10\ +c\xc8\xabqn*\xf3\xc4\x85\xb2n\xbaW[\x8f\xa0\ +}\xc1\xc1B\xf6\xf9\x19\x15w\xa2\x81\x121\x07\x85\xe7\ +\xe0\xa0V\xc97\xd6\x08\xc5\x5c\xab\x0d\x80\xcd\xefy>\ +\xa1\xe4w \x17\xcd\x8f\x9e\xeb\xabbC[\x00\x85\x1f\ +%\x16C\xc2\x81b\x9f\x13\x13M`\xa6u\xa6\x03\x1d\ +~\x5ce\x0c\x00\x22\x01\xd5\xb3fLX\xe6\xcc\x1aC\ +\xd8\x01Q\xa8\xae]\xd9\xe3/\xac\xa3T\xa4\x89Fv\ +\x05\xcf\xaa\xa9\xe9\xf1=\xbe\xbalHD#>\xe3>v\ +\xc2\x1c\x11/\x07N\x8f\xf5I\x0bI\x8f;TA\xf0\ +y\xfc\x98\x83\xdb\xfd\x22~C[B\xcf\xbc\xd6\x9f\x00\ +_\x8d,c\x04\x00\xe48\xea\x04\x0a\xed?\xd3R\xd1\ +\xc0\x0eq7\xea\xe4\xfc\xa4\xca6\x95\xffh#t%\ +N\x80\x05P\x0208\xe0B\x91mum\x81%\xb1\ +\xb5\xf4\x98\xf5\xc1\x12\xff\xdbH\xb7\xe7\xeb\xa0\x91\x00h\ +\x1dB\xe9\x0c \xd3\xeb\x8d\xbfG\x9d\xdf\x8b\xf7\xa4\xa7\ +\xb6\x0f,\x15\x92\x04\xa2\xd6_3\xa4>n\xbe\xda\x8f\ +\xdb\x02\x14\x95\x88\x1egIk \x94\xea\xe9\x9ae[\ +%\xb2+\x11\x9e/Jy\xa8\xe7\x87\x17\x97\x0d-*\ +ia\x99~\xadl\xfe\xf37\x96\x0d\x01\xa9J\xea\x0d\ +\xca\x06\x11\x5c\xf3\xce\xe3\xf7\x1a\xa02u\x876IT\ +\xc9\xf9\x9bN\xc81@\x04\x0e\x12\x09\xeb\xd4\xe7\xa8\x00\ +\xf1;\x02r\xeb\x1a\xc0\xf9=\xab\xdf\xedq\x9b_\xb2\ +\xfa\x9f\xe9E+@wzC\xd9\xe6g\x9bRH\xb5\ +\xf9\xf3\xca\xb6\x00\x1d5\xbb\x19\x14\xe9\x89\x9f\xee^\xb6\ +0\xa0\xd6VA\xe7MD\x03;A\xcc86\x81\xbc\ +V\xa3\xa6 \xc7\x8ft\xe2Ed3\x0c\x83\x06\x883\ +U\xa8\xfdi\x80\xe1\x16\x1b\x03\xc4\xa1\x92^g\x05\x14\ +\xbbuD\x9c\x82b,\x11\xbb\xd2ZA\xea\xd6\xb3\xaf\ +\x8e\x06K\x18h]YO\x22\x84\x190}Z\xd9\xc6\ +d\x03\x90\x1e\xae\x97\x963*\xda\x00(\x89\xbf\xf9\xdd\ +\xafX\x19f\x0b\xe3\xe1\xb59g\xde0$\xb0\xaeO\ +\x8b\x11m\x02\x80\x0a\xc0\x99\xe8U\x02e=\xd8\x87o\ +\x8bv\x86\x80\x95_:K \xfa\xeaPvUR1\ +\x97\x04\xb6\xe2\x10\x85\x9eOIeR\xc1\x81\xff\x8a\xe8\ +\xe1\xf4\xf4\xb2\xa5\x85b\xd1\xc2\x99\xbekzx\x8d\xf9\ +\x95x\x1f\x9fZ\x16f\xc4W\x0f\xfb\x89&\xca\xf3\x03\ +,\x02`\xc2H\xbd\xe4\x81e\x83\x16\xc3(\xc6|\xed\ +\xe1<\x14\x1f\xba/\xdbx\xd85~z]\x12\xbd\x9b\ +'0WY#\xaeK3Eb\x85\x9a\xaf\x10\xa20\ +\xa1\x15\xcb:BE6\xcd\xc6z\xe4\x070~$J\ +\x7f\x90\x84\xdcubZ\xa2P\xff\xc2\xe9\xa9\xa7\xa7\x0e\ +\xe2y\xf6\x85\x9e\xe2\xf7\x94\x0dq'`\x07@\x22\x11\ +0\xe5\x83\x98\x1a\xe0\xe2\x97\xcb\x0618\xe3X\xb3\xce\ +Z\xc4W\xa5Q%\xd3\xb8:\x1a!*\xed\xce\x17\xc0\ +\xb0\xb1\xad)@\xb4\x16\xc1\x9e\x19`\xcc%\x80\x08\x83\ +\xc74\x01b\xac\x12(\x09\x93\x84\x1dp\xe4\x5cq\xde\ +\x8a\x97\x00B\xd1\x94\xe8s\xca\x7f\xb7\xce1\xa1U\xb4\ +\xb5\x18\x00\xaaM?\x10\x17\x8b\xbf\x9d?\x80n\x15v\ +q\x9aB\x06f\xb4\x9eq\xeb\xc5\xdf\xab\xc4cv\xe5\ +\xbflPut\x01\xa8c\x029s\x89%\ +\xfc(:zA\x8c\xef\x11\xa8\xfa}\x15/\x17\xba\x1f\ +\xbb\x031\xc4\x04\xb8a\xc6'9p\xdc@\xc8\x09\x07\ +\x90\x9f9lY)\x14\xb7]7\x16*\xd7\xf1\xdee\ +A\xcc\x7f7H\xd3\x13\x86\x04\xda\xc6\xa6\x1a]u6\ +\xe3\x89>tX`z\xf0\x00\x13\x16F\xe1=o\x1d\ +\x02f\x0c\x01\x15\xd7\x88\xebt\x02?N\x09\xb8n\xee\ +\xf3q8\xa0\x88\xf9\xf9\xbeZ\x00\xfc=1A\x09\x02\ +\xa0\xa6\xa8\xec\xefL \xfb'C\xaf\x10\xea\xbc\x84\x1f\ +u\xf1uk u\xb8b(\xf4WO\x80\x09\xe16\ +\xf6H\x82\x22\xa0\x8bz\xef\xe1\x01\xebX\xa8\x1e\x83\x84\ +\xca\x1e\xea\xfd\xf4S\xd3ON?\xb9\x04\xd0\xe7O\xe7\ +/\x0ej\x09\xecN\x97/\xdb\x12\xb9\xd6x|W\xd9\ +\xd2\x1b9\xdb0\xfe+\xf7\xaf\x19\x06Y\xa7\xed 9\ + \x01\xbd\xde\xe3$\xac*k\x0d\x0c\xd0\x0eP\xa1J\ +\xcb\x8b\xf9\xf5\xc7_+\x1bzs\x8c\xfd#\xca\x175\ +\xf1\xe9+\xca6\xf5\xe5~_\x147\x0c\x02\xd4`\xea\ +\xf7\xe9\xd5*\x09\xa7E\xc4I\xef\xaeJ\x8bu\xe9\xf9\ +\x02\xa8P51;\x00!\xd6\x15M\x0ec\xce\x04\x8a\ +\x9e\x9f\x0a\x01\x04\x93\x83\x93\xd0x\xbe\xa1\xfa.T\xe3\ +\xcf\xce\xe7\xddy\xa8\x8cKDR\xd9\xec1\x85\xa9\xe8\ +_\xf2\xe7e\x9b\x83>>\xbdlc\x16uon\x80\ +\x9e\x0e\xa8Qh\xf5X\x06 \xc0\xcc8\xbbk\xd9 \ +6\x17j\xfe\xf1O\xcb\x86V\x1e\x0c\x1b=\xed\x02\x8f\ +P\x0e;\xc0\xa1\xf2\xce\xff`\x14\xd8\xd7~P\x9c%\ +\xd2\x80\x10\x15\x12\xea\xd3\x80\x91\x1a\xff\xf9)\x03b+\ +\x90\xe4\xf0\xedK\x22U\xfe\xbd\x04\xc9\xe7@\x92\xf5\x9a\ +\x11\x9b\x92\xe0E\xe3\xa3)\xd2\x80\x1c@\x90\x03X\xa2\ +)\x10\xd3\xa2\xb1\xd7 \x10x\xa8TH0\x04`\x00\ +\x1a@D\xc4\x1f\xcd\xa3o5^\x07\xa4^f\x80\xd4\ +\xaf\x95\x0d\x07ez\xcd\xbb\xa2*\x90\xb7\xee\xf9\xdb\x00\ +q\xcb\xb4\x9a\x9b\x0f\xe3]\x8d\x7f\xbbC\xd9\x10hh\ +\xb5H 6=\xafl\xab$\xb4\xa8\x98V\x04c\x8d\ +B\xf9=\xfb\xac\xb2\x8d\x9a\xdc\x15\x8f\x00?\xc7[\x97\ +\x0d\x07+\xad\x15\x01\x8e\xd6\x89w\x97\x0d\x94\xf4\xdc\xbf\ +\xc3\xb1l\x98\xff\x9e\x8aWu:/\xbd\xce\x12\x0d\x80\ +\x85\xfb%\x00\x0e\xa0\xd9\x89r\xee\x7f\xaf_\xcf\x09\xf3\ +'L\x8d\xdew\x17\xae=\xd9\xc6\xb0\x09 .yy\ +\xd9\x06d\x19\xb3G\xa5\xf9x\xcb\xb2a\x7f\x98\xb3\x9d\ +\x04tN\x03\x16\x7fw\xf6\x8deC\xebJ\xb4X\x1a\ +8\x22\xaa\xf6/\x01\x923>\xae5\x14\xf8S\xcc(\ +~<-f\x87\xc3\xe1y\x87\xe7\x0d\x81\xd6-\x92H\ +\xdc=\x1a\x1d\xa9@\x9fnQ2\xc5\x03\x90+ \xbf\ +b\xfe\xdd\x033\x8e1\x09~k\x8e\xe4\x1ck`1\ +\x80C\x03z\x80I\xd3m2\x1e\xb1\x99\x07\x12\xe2+\ +\xe4\xfc\xc8\x94\x03-(=\x9d\x80\xc8\xde\xaf\xad\xcf\x7f\ +a\x0a\xbc`x\xbe*7\xc4P\xd3\xab\xee\x1c\xe9\x96\ +\x0aZ\x19\x12\xb3\xac\x97\x06,1\xe0\x88\xaa\x9d\x12W\ +8\x07\x00~\x98\x1a\xb4_v\xaa\xea\xad\x8a\x9ds\xc6\ +\xd8\xe4\xc3\xfd\xca\xe6\xd7G\x95-\xe3s\x17\x06\xc7t\ +\xbd\xe9\xa3\xa7\x8f^4n\xaeY\x1a7\xf3j\xfb\xfb\ +e\xbd\xed\x80\xa0\xe3\x0f\x1c\xbf\xff\xf8\x03K\x82\xbc\xce\ +\xd5\xfe\xf99\xdd\xfa\xb9\xa5\xa00[\x02\xf89\x91\x9c\ +>b\xfa\xc8\xe9#\xb6\x16\x96\xe3\x83\xca6?\xde\xd3\ +\x01|\x1f\x95X\x9a\x12\xe2S\xebPB\xaee\xc8T\ +\x14\x09\x81D_AJa\x0c\xf3\xc9\xb9\xc9\xaf;\x8f\ +\xfdw\x89\xac\x84\xc5\xfd\x17\xff\xf2s\xd7\xc89\x02\xe8\ +\xa3\x95!\xb1K\xc2\xd5-\x0f\xfb\xa9\x01D0\x15\xd4\ +\x00\xadI8\xbb\xe2\x1a\x06L\xb72%\x81lm/\ +q\xbe\x02\x18J:&X\x12\xc4\x8eW\xb4\xf2a\x98\ +\xa0\xee+\xc8\x01\x98\x00\x11\x12\x19\x85\x05\xe7\xb4<\x02\ +\xa3)~\xaa[\xa4\xc47\xee\xa7|`\xafz\xae@\ +\xc2o\x02rvc\xbb\x15VZ\xfd\xdc\x9d\xce\xddy[\xffs\x98\xfd\x8c%\xd0\ +\xfe\xfa9\xed\xfc\xfa!\xce\x03\xf8`\x88\x84\xd1\xb7\x94\ +\x1f^\x19\xbf]@\xd5}\xcaV`l9w\xbe\xf2\ +\xbc\xfbV\xfcF,\xf6\xf8oeC\xc2\xb8\x1f\x7f*\ +\xa1I\xa5\xde\xc7/S\xacn>\xb4\xb8\x12\x0f\xcd\xf9\ +\xaau\xf5\xf4Ye\xc3\xb9\xcaO\x11\xe3\x0a\x90\xd1j\ +\xfe*\x97D\xc5\xb4\x9a)\x80\xf1kz\xde18n\ +0\xef\x86\x1b,\xfe\xef\xce\x8b\xff\x93(\xaatR\xeb\ +\xa7\xbd\x80\xc9!\x91\x0e\x90\xd1@\x08\x8d\x01S;\xd2\ +\xe2\xd7\x9a\x11Z\x01\x9c\x8f\xde\x07\xb3\x97\xd86\x80V\ +<\xca\x9f\x99O\xaf\xf0\xa0\x07\xdb\xefQW\x07\x1c\x89\ +c\xe5\x0f\xe2\x0by\x80\xf8Y\x02\xed\xfc\xd6\x12\x95\xf8\ +\xa5\xcfA\xc0:\xed\x85Tz\x9b\x99\x07\xb0\xf3\xc0i\ +~\x85j\xde\xda#\x19\xdb\xdc\xe3\xf9L\x09\xd2\xb2D\ +\x13\x01p$\xef\xd0\x83m\xac.\xa6\x11\x0d\x08\x00\xc1\ +n\xaf\x8d_\x94\xe7\x86!\xd7c\x081\ +\x11\x89\xcf*\x88\xdbG\xbe\xc7~\xec\x9f\xf7C\xb9\x07\ +\xb8y\x8e\xf6\x93\xb8\x5cK\x9e\xca<\xa0\x8evJ\xce\ +\x8b\xe2\xf9,L\x1f\xc0\xab\xb8\xd0\xbfs\xff\x9c\xf7D\ +\x003V\xbc\xe3Qy\xa4}h\xfd[/\xb9\xff\xe7\ +ZL!\xa2-=oZE\xd5\x82\x83L\xed)\xe8\ +\x90O\x95\x87,8\x01\x84\x0bo\x8al6LS\x8e\ +P\xab\x89D\xf9\xa2\x9b\x9a\xff\x9a\xf8\xef\xc7d\xec\xc7\ +\xa0\xa0\xb2\xe4\xef\x97\x9e\x90[o\xe3n\x96\xc0\xfd\xee\ +\x03R\x0aI\xf2\xbd^\xbd\x84\x0c\xdb\x83,|\xf6m\ +COND\x1d\x96\x83\xe1vC\x05\xdeu\x16\x5cq\ +\xe5\x01\x81\x11\xd8\x5cn\x99<\xff\xdf\x13\xfd\xc3N\x05\ +v\x1a\x1c\x84?S\xf5\xe70Q\x97 a\xd4\x93+\ +\xa0>\x0dT\xc3\xea-z\xce\x06\x00L\x7fU\xb6\xa8\ +\xd3\xbffz\xcd\x86t\x1ac7\x1fwK`\xdc\x01\ +\x8a\x03>=Dg\x9fpv\x8b\xb3[,\xd4\xc9\xb5\ +\xf7U\xe0.\xf0\x82\x9cK\x98\x8ceym\x1c\x82\x85\ +\x17\xd5P\x01\xca\xf4\x13e\xf3\x7f\xbel\xd9 \xc2\x13\ +\xb5\xe2\x1e\x17F}[\xc54\xd4\x9cNhm\xe0T\ +\xda\x04*\x0dp\xe4{\xa1\xeew\x02b~0$3\ +\x89[S\xfc\x05\xd0\x025\x07\x85\x8a\xa7\xd6\x16\xe3\xc5\ +\x88e\xfa\xef\x12\x00\xcc\x11\x00\x0ajQ\x02\xc1\xeeU\ +\xb4oP=\x1d\x80*\xb2\xae\x83\xa8!J\x9a\xfb\x9e\ +\x80\xc4\x98\xabf\xb4HHU(U\x94\xadSS*\ +\x1c<(\x8c(\xdd\xf6g\x98\x1a\xadB\x8e\x91\xc01\ +f\x9f\x1e\xfe\xa2l\x03b\xba\xf7\xd8\x18\xc7\xff(\x1b\ +\x12R\x09\x89\xb1Bz\xc2\xa9\x16\x07H\x91\xa8\xb5\xd8\ +g\xfcRSH\xc3\xbc@u6mA/}WJ\ +%\xce\x123\xa2y\x0eT\x95s\x81\x1ef\x8du\xaa\ +\xa2\x0f\x88\xd8\x8b\xbb\xecEX\x04\xd8\xa6I`\x06\x08\ +h\x1c\xec\x80\xd4P\xd6\xf4.JTz\xdc\x8b\xcf\x95\ +`K\xccS\xd9&.\xd6\xf3\x91\xf5\x10\xa2\x8c\xeai\ +\x0e`G\xcc\xa8\xa7S\xd8\xbf\x01\x88:\xd0TYA\ +\xc1\x03d\x19\x03\x99\xa9\x1e=\x0f\xda\xd4\x17\x0c&-\ +7z|\xf5\x0c\xaa\x84\x19\xbb\x99\x00\xa6\x03%\x81\x8a\ +^a\x81:-\x19\x15\x85T\xb4z\xfd\xe9\x1dWI\ +\xd6\xeb\xaae(\xfb|\xbaZ\xd9P\x09J\x0f\xeb\xe1\ +MI\xfcJ\xbc\xb4z\xc8\xafT\xb6\xf4\x98\x7fH\xf5\ +\x987\xc0\x90\xe7\xd4@\x8d\x03_\xc2-@\x90\xd0\x99\ +\x13\x7f\xbb\xb5\xd5\xac+\xc2ZJU\xde\ +|\xce\x15\xca\xe6\xff\xfe\x9e\xb2-\x10\xe8\xe7\x8c:l\ +\xcc\xa4i\x0e\xfc\x8cqM7+\xdb\x18\x19\x00\xbb\xe9\ +X6?\xb6'\x96m\x896-\x80\xe9)eC\xe0\ +q\xdd\xb2-\xb1:\xfe}\xd90\x867\xbd\x96\xd3\xdb\ +\xcb\xe6\xd7o,\x1b\xd4\xe8U\x0e\x89I\xa6Be\x8a\ +J\x03\xf6Dg\xa3z\xed\xfb7\x83\x85\x98e\xc4\x7f\ +;@\x0c\x83\xa8\x03)\x8c\x08b\x93\xa9\x5c73@\ +o\xf2\xc3\x028\xa4ec??\xdbsk\xc0L\xc1\ +BB@\xf5\xdesM\xbc\xd4\xbd\xff\x19s;\xc7\x18\ +K\x9c\xb10\xd4\x1e4h\xc7D,\xb5\xfd\x99D\x04\ +S\x8a\x9f)-\x9e\xdb,@\xf6c\x17J\xf2\xef\xa6\ +\x95\xe0\xb7k\xc0\xe0\xe2\x07\xfe`\xa9\xa4\xa9\x14\x0b\xa4\ +\xf7j\xf4\xefN@j\xec\x9e^\xe0O^\xcf\x8f9\ +\x9a\xba\xed\xe9\xb6\x83\x08Y\xe2'\x00\x0a\xed\x84\xb3{\ +\x97\xcd\xaf\x8f(\xdb\xfc\xc6\xe9A\xa7\x07/\xe341\ +\x94$|\x9e\x9b\x00\xb9N\xeb\x07lqZ\x17\x00\x00\ +6O8,\x9a\x02\xe7\xdd\xeb\xbc{N7Z\x80\x81\ +\xaf\x5c\x80\x81h\xf14e\xdb\xb9\xa4\xa2NTR\xa2\ +\xc6\xef\xd3N\xb2\xefQ\x9d\x89\x15^\xe3x\xcd\xe35\ +71\xb1\x8e+v\x9a>\xcd40f4\xcc!\xf1\ +g\xef?\x89\x85\x84\xd2\xfa\x16\xb0\xbfs\xf6\x16\xef\x5c\ +\xfc\xfa2\xa5\xa9\x99\x8c\x80\x05\x1aC\xf6\x0d\x0d\x02\xcc\ +\x84$&\xc4\x14\x9b\xc2M[\x05\xd3K\xdc\x1c\x7f\xd8\ +\x15Z~\x12p\xed\x1c\xf3}%@\xe2>\xf1\x82x\ +PA\x0c\x80\x90\x04\xbd\xd5\xe8\x01\xae\xc6\xe1Y\x074\ +-h\x14\x04\xd0\xeb\xf5.\x11\xc4\x5cPi\xa6\x1d`\ +J\xc5N\x14\xb1\x81\x1a\x05L\xad-Z2\xc59\xc6\ +9F\xc3\xe1tV6$V\xf2\x18Sq\x14B\x01\ +M\xceE\xfe_\x5c\xa6\xf2+A7\xde5\xe3\xf6\xfa\ +|\xf0\xefi\x05\xd1\x90q\x1f1\xbf<\x87\x9c\xa7\xfc\ +r\x03*\xe2]qb\xe27\x9a=\xcd\x04\x12\x07\xa2\ +\x8e\xd3`\xfb\xd3\x00\xb84\xc2\xd2\x22!\x0ehq\xcd\ +\xc4S\xa7\x9f-\x1b\x000qP\x98\x17\x0d\x84\xc8'\ +\xedG\x09p\xee\x7f\xf7\xea\xbb\xae0\xa0\xfa\xf9\xab\xf0\ +\x03\x08\xd2\xd2\xd0\x80:\xbfD#\x093+\xad\xc1]\ +pu}\xe2\xa3\xcf)\xdbD[\x1b \xb5\x0f\xe4\x9b\ +\x00\x11\xcf\xcb\xfb\xec\xc6\xea\xb5\xff\xc7 \xc3\xb8\x01\xf8\ +\xf8\x01d\x8cc\xdf\xaf0h\x17`z\xb9\xff\xf6\x8d\ +\xeb\xc1\x18\x91\x1f*\xe8\x01\xec\xd2\xd2\xdf\xf1'\x86\xbc\ +\x16\xff\xac\xa3s\x8d\xb8\xa1\x5c\xd8\xf0\x16\x86qq\x12\ +q\x8e\xc3\x81V\x15\x89\x9bE\xec\xe8\xa1\x83#\x8a\xf8\ +\x0b\x84\x11R\xdb\xd4\x9aPS\xba\xe2\xa2\xb5\x00\x02\x93\ +\x1b\xd2=\xf1\x1f\x96D\x95\x83q\x1d^]7\xea\xfa\ +\xb5O\x1fz\xfa\xd0\x88\x03\xdd.\x0b\xe4\xfc\xf4\xfe\xfe\ +\xda\xf0 i]\x07i\xee\xc4_\x02\xc6\xe1U\xb8r\ +\xad$\xc6\xaf\xcc\xf7\xbe\xc5\x00\x18\x08\xc8\xcb\xbd~\xe1\ +\xee\xba\xde\x9f\x05x\xf1\xd0\xd3\xef\xb5\x96\xcd\xe5\x86\xdf\ +/w\xf2\x9e\xa1R\xe9`\xa9\xb4\xe4\xb7\xb7\xe7\xd4=\ +\xaeo(\x9b\xff\xfc\x8c\xb2\xa1R\xabR~\xd9P\x0f\ +_\xb0\xce\x17\xeeqH\x01\x5c\x88\xf3tbga\x87\ +\xe2\xd8j\xf8W=]\xed4\x8e\x15$.\xc6a\x06\ +i\x9b\x97\xd7\xa22y|\xfc\xf1\xc7\x8f?\xbeT,\ +\x16J`#\xd19\xf0\xcf.,\x9b?\xff\xef\xd6i\ +\x01]y\x90X\xa2X:\xa0\xc3\x00 \x02\xd7=\x8e\ +\x7f8\x7f\xb3?\xdc\xc6\xcc\xf5\xc6\x02\x04\x84\x0a\xda\xe2\ +v(oT\xa0\xa9\xf0o=\xa5\xabh\x0e\xc7\x01a\ +V\x81C\x8d\xff\xfe\xb5r\xd3\xda\x02\x90o\xd30\x88\ +\xf6\xf9|L\x00\x15o\xa2SZC\x1c\x1c\x02\xc9\xac\ +s\xe3\xc3\x1a\xd9\xa6\xda\xafb\xaa\xa2\xe0\xf736q\ +~\x86\xeb>S\xb1\x05\xc0I\xc88,\x81:\xf1\x22\ +H\xae\x8a\xb6\x8a&\xc6\x8cq\xa1\xc4\x00\xad{\x80\x02\ +\x84\x91\x18\xdf\xf3B\xd5\xd5\xf3\xe5{8\x00B]n\ +\xff\x90\xca\x93\x04\xbd[w\x88\x88\xa6\xc2\x8b\x9a\xdc\x09\ +\xb4\x8a\x84\xb1/\x80\x84T\xb6\x8e\xb7*\x1b*\xe3\x00\ +\x0f\xeb\x85\x83\xd73\xe7}\x048\xc6\xd2\xe9\x81\xe4/\ +\x01\x06\x02;\xe3i\x04\x8a\x12Y\xfe\xd3\xe7\x10'\xd2\ +c\xab\xc2\x8a9\x80\xba\x18@\x93x`\xcf\xdb\x16\xb8\ +\xabl\x0a\xec\xac/\xd4z-&(\xd0\x80\xb8P\x06\ +[\xe5\xd9\xb8,\xc0\xae\x83D\x85O\xcb\x83J\xad@\ +Z\x80\xe5~\xa4\xc7\xf4pQ\xd9\xc6\x98\xe9\xdeF~\ +U\x05^\xe2*1\x0ec\xa1\x995*.\xd6\x0b\xc0\ +\x00\xc0\xa6gT\xc2+\xd0\xc8y\xd2\xbd\xff\xf6A\x12\ +\xd7\x9e\x16B;D\xe5\xd6uc\xf2\xbc\xe1\xf0/\xe5\ +\x1f0\x95ZlO+O\x12\x89K\x1eQ6P\xd5\ +\x93\x004\x95\x13C\x02\x10\xf2\xe29\x0d{qDO\ +\xaf>\x009\xfb\x8a\x8dy\xc6I`;\xe0\xd7k\xab\ +\xf5\x82\xff\x91\xe0\xa9\xc8\xa1\xa6kMQ\xc9\xe3\xefi\ +\x92\x00\x0a\x01d\xf1o\x0dt\x00<\x03`\x9d=\xab\ +lI\x8c\x16\xf1\xbdK^Y\xb6\x05T\xc7\x8f*\x1b\ +\xd4\xc3\xb3N\x89\xaa5\x00\x1d\xc0g\x0e\xbf\xd6q\xac\ +\xbf\x1a \xe67\xca\x86^z\xadb\x8f\x9e\x1e3=\ +f\x08\xe0Q*1?\x9e\xbf\x8ey\x5cf\xfc\x9f\xb3\x02\xc0\xf3\xdf.j\xd9\xdd\xd3\x8bQ\ +\xa3\x12\xa9\xe5\xc5\x180\xfe\xf9\x8f\x02@\x19\xb3\x99@\ +\xac\x81\x84\x9b\xae\x9f+P_\xd6\xdd\xfb\xb6\xfd\xd5~\ +E\x02!>p>K\x181<\x04\x90yn=\xd6\ +\xee\xab\xe6\xb4\xec\xab\x06j)\xad\x95[&\xe1\xc0\xc4\ +\x22\x1e\x1b\xe6\xa7\xe7\xdc\xf3\xdfw\x8c\xc5f\x8e\x84y\ +5\xbdnz\xfd\xf4\xbae:\xces\xa7U,\xef\xcd\ +Ka\x85_\xe0\x07\xf5\xac\xd70\xde\xff\x0cPx\xb3\ +\xe1\xdcO \xdbc\x13\xd3R\xd6\xfb\x1b\xc3\xf4?\xcb\ +\x86q\xbbW\x09\xd0\x9e\xa9\x18-\xd6)>\xcb>\x9d\ +\xbe\xbel\x13\x89\xebi\x0a\xd4\xcc%\x10\xe2L\xe2c\ +\xf6Y\xc6\x88vE3\x89G\xb7\x94i\x950F\x90\ +_\xde\x9d\x8f\xfcrOK >\x89\x0a\xcc\x0f{\xee\ +\x18\x86a\x0a-\xfe\xe8\x1b\x87\xf7q.\xf0\x0b\x98\x91\ +\xc4\x18U\x94\x01A\x00]c[\x01n\xd67\xed\x01\ +S}$D\x12P\xbd\xf6\xd6\xb7\x82\x97\xb8\x958%\ +\xa0J\x1c->\x908)\x10)\xe0\x89\x83\xac\x1b\xc0\ +\x02\x86M\xb4%z|\xa3\x04Q\xdc\xc4\x8f\x02\x94\x14\ +P0\xd1\xe4'\x18o*\xd6\x00\x10\xcf\x8b\xb6\x0a\xa6\ +)\x7f)o\x89\xaa\x7f\x03\x0f\x0a\x03\x80J\x22\x92;\ +\xe0\xb0\xfd\xb0D\xdc\xf3r\xae)\x8c\xa0\x9cc\x0ec\ +\ +\xf1\xa8\xf5\x8c1\xa5\x85-\xfb\xaa[\xf8<\x17\xf1\x85\ +\xfcD\x5c\xb2\xd7\x9a3\xdd\xc6\xf4\xb1\x14\xa80\x81Z\ +\x93\xc5:\x07\xf0\x00t\xc4\xcf\xfe\xde\xfd\xb5\xbf\x9d3\ +\x98Aa\xec]\x8a\xe1\xed\xbe+|\xf2'\x189\xf2\ +Y\xfe\xcb>\xda\x17\xbc\xe5\xe1\x80c\xdfW<\xb9\x1f\ +\x07\xedz\x03\x88\x9d\xeb\x00\x92\x18]]\xe6\xd9p\x81\ +\xc6\xc59\x00\xf6\x94{\xbf\xe7BC\xe9i$V\xe5\ +\xc9\xbf\x93\xf8$\xd0j\x87\xeb\x829\x06\x9f\x97\x0b?\ +]\xb0\x22\x17=\x1d\xc0\x0d\xca\x17:\xbd\xb6l\xb9.\ +=Uk\xa0-q)\xbc\xf0\x8e\xc3km\xe3_\xcf\ +\x82\xbd\xecv}\xcb\x9c\xf8\x0b\x930\xdd&\x08\xcb\xeb\ +\x87\x8a\xbf\xb1\x85\xc6\xf7U\x05\xeczC\xab@m\xa3\ +\xbf\x1b\x16\x88\xc0\xbf\xd2\xc8\x8f\x06\xc3\x0c\x9f\xeb\x81\xd9\ +\xf8I8:Q\xaa:\xef\x93\xe2\xb8^=\x1cT\x18\ +\x17\xc6\x83\x18\x07%\x01\xbd\x5c\x0e0\x08 \x15\xf0T\ +\xce\x1d$\x0e\xfa\xa6\xe0atH\xac\xcc\x93\xfe\xf0T\ +z\x22\x06\xd5\xaa\xf0qL\x87\x7f+\x1b\xa6\x06\xa4\x97\ +\xb7{\xe0\xbf*\xd4L\x14\x9c\x04\x16\xed\xd8$~\x00\ +\x0a\x95R\x95?\x22 \x12\x1f\x1b\xf1f\xf3\xaa\xb9\xd9\ +0~,\x14\xcd\x0e\xb8U\x22\x9f\xb8N!\xe8\xf1\x5c\ +\x0e$\x09/\xd1\xaeP\x8b\x0f\xaf,\x1b\xd4\xbb!\xc0\ +\x19\x03\xd8L\x04b\x22*\xa9\x90~\x95&\x8e\xd4\xc1\ +\xf1\x0be\x03%\x0fc\x00\xf0e\x1d]iu\x94\xad\ +\xaa\xcbq\x020\x8c\xdb\xd2\xbb\xe5\xc0OO\xedy\x7f\ +\x9b\x03\xfbE\x09\xf0$\xbc>G \x99\x83\xbe\x9f?\ +@P\x05\xc0t\x06\xe2(\x12[\xbd\x80\x027\xa2&\ +\xfc\x02\xed\x84P\xaf\x89%\xf6:\xe1\xe8\xd3['\x90\ +<\xbbg\xd9\xb0.1\x09h\x92D\xfc\xac{\x04\xfd\ +9\x89\x929\xaaM\xa1\x92@\xa7\xa5D\xa0~\xfa\x81\ +\xb2\xa1\x92\x05\xb1E\xb5M\x8fVS\x88}O\x8e\x97\ +\xbfJ\xc2\xdb\xe2{y\x1e\xcd\x18\x22\xe2\xe8\xbe\xfaA\ +\xed\xa4j\xae%\xc0\xfe6g\x97\xc3\xe6\xa7\x89\xf6a\ +\x0a\xa8\xa4:h$\xf4\xa8\xc3\xc6\x95\xd1\xd2xG\xd9\ +0\xbeM`\xee\x80S9\xfb\x97\x85\xd4\xbb\xf5\xee\xeb\ +\x09\x06\x0ca\xb6\x08\xa8$\x9e\xa9@\xdbg*\xf0\x0d\ +\xd0\x11?\x04\x0c\xa7\xc7\xb5\xa9\xee\x0e^\x1a\x0f\xa9D\ +\xf6\xe7`\xda\x84\xb2)\xe1\x99\x9eU6\x88\x06\x9a\x03\ +\x9e\x80P%\xad\xc7\x01J\xd0UN\xf4\xa4g\x1a\xc5\ +\xf4\x89e\xc3\xe7\xbdhm\x91:=\xa8lP\xaf\x8f\ +Zq\xbfji\xd2\xaa\x13\x86\xd1\x1c\x8c\xae\xd3G\x8c\ +3\xdak\xdf\xf8\x91x\x08\xc8\xf8o\x81J\xa8\xfb\x9d\ +X\xab\xa0\x12\x9fTi\x92\x98~\xc7|\x1a|\xc7\x92\ +\xf8\x7f\xdd\x92\xf8\x0b\x8c\x05JZ6$\x04\xc6\x16\x02\ +\x14\xa9U\xab\xdc\xb8\x1fa~Lo\x9d\xde2\xbde\ +\x13I\xbb\xe4\xc1e[\x22y\xfc\x94\xb2-\x81\xa0\xa5\ +\x82\xe29]\xb7lk\xfdjf\x9b\x9e\xfb\xdc\xf7\x06\ +h_\x92\x0a\xeb\xffLn\x96\x00\x00 \x00IDA\ +TS\xd6\xf58=d\xfa\xe6\xe9\x9b\x07\xc6\xd0\xf7f\ +\x8c\x5c\x9d\x16\xdf6\x009\x18/D\xd4J\x1a\xb0\xc6\ +d\x15\xd1\xa2\x02\xed\xef,[\xb4m\xd6\x96\x00\x89\x92\ +\xfb|\x9d\x95\x114\xdd\xa3l\xfe\xfd\x87\x95-\xf1\xcc\ +\x9a(<|\xd5\x84\xc1`;\x9d\xads\xae\x8d\x8bm\ +\x86\x0b\xea\xf2\xb5\x12\x88\x9b\x12a*\x09j\xa9\xcf\x17\ +\x0f\xa9\xf0\xec\xa7I(\xa0x\xae\xd1\xfa\xe8\xb1\x85\xd5\ +\xe3\xfa\x8c\x81q\xf3\xc2yU\xbep`\xdax\xff\x0a\ +\xaf\xff4@\x5c\xb5N^T\xb6\xf4\xd6\xaf\xa2\xad\xbf\ +\xb7\x02\xf8\x00\x96R\x00*\x0d \x22\xd2\xd3\x03\xa7\x07\ +L\x0f\x5c\xb4g\xde\x5c\xf7\xaf[\xacPP\xb5\x96\x19\ +\xdbYZ\xdc\xd7[5\x13\x96i\x18\xd6\xaf\xeb\xd1r\ +\xe0\xbeH\x90Pl\xf9w\x89Z4yN?\x95\x84\ +\x1e\x90\x08`y\xc2\xc2\x1d\xe8\x8as38\x00\xc54\ +\x17\x88\xe2\xbd\xbblK<\xa6W\x96\x0d\xe7Y(\xc7\ +Mmw^J\x94%\x1c\x12\xd5\x88\xd2v\x9c'A\ +\xc1D\x958bp9\x9fi\x01`\xc8(\x18\x01\x8a\ +\x03\x9060\x1d\x7f\xd6\xbd\xc1\x00$\x89\xa6\x96(b\ +bZv\xb4\xbe\x11\xf9&V\x0a@\xce\xf3\xebDY\ +|\xe8\x5c\x02\xec\xfa~\x12\xcd\xdd\x98\xc5\xce\x13\xc4\xef\ +\xae\xcf\xba\xf7\xbc\xf3\xdf\xbb\x80\x00`\xd0#\x1e\x7f\xd3\ +Th\xf1\xa2x\x88\xf8\xa7s\xc6\xfd\x00\x04\xa8\xf4\x8a\ +\xbf\xc5\x93z\xac}\xae\xf8\xd1\xf5\x06xnf\x87\xf3\ +\x1d\xf0N\x13(\xa2\x84\xce\xdd\xf6\xb7\x80\x02\xc0\x84s\ +M\xa1A\xde\xe3\xfb\x1b\xe3\x08\x18R1\x96h\xfb\x1c\ +\x00\x03M\x16\x8cJ\x8cA-\xa8\xfb\x9ep\xe2\x89\x0a\ +_9\xd7\x9bR/au\x8ebN\x9a\x86@\x1c\xf6\ +\xfb\xca\x86\x16\x1c-\xca\xee\x87s\xcd\xab\xbc\xcf\xabs\ +\xdfy\xac`\xb1cp4\xc3\xcd\xf3\xf2\xefMa\x88\ +\x88^3\xbe\xe4\x0b\x00\xadg\x97mq\xa3\xe9@\xa7\ +\xf7\x97\x0d\xa2\xae\xcf-\x1b\xee\x93\x04\xdc\xf7\x91\xf7\xee\ +\x0a\xe2}]\x9e\x8f\xfco/\xe2\xee9[\xd7\x0ay\ +\xf6\x8f\x82\x991\x93\x98\x90\xce\x05\x9f\x0f\xf0\x12O\x8a\ +'\x00\xbb\xe2}LB\xeb=\xefs\xae/\x10B\xe0\ +\x81\xfb\x87\xfe\x81\x9e\xf8\x9dJ\xff\x82D\xbd|\xd8\x08\ +\x12*\xd4\x04_\x18\x92\x94\xb9\xda\x9d\xf8\x98\x9f\xb8\xa7\ +\xf6;8\xdcx\xc8\xd7\x9b\xd2\xf3K\x8d\xf7me\x0b\ +\x12\xb4\xaa?\x968\xcc\xc5\xc3\x03-i\x98\xdf\x8c\x98\ +\xd4\xdd\x07\x07\xa4\x22_\x8f\xef\x0a\x03\xf5^e\x1e \ +\xe2\x81p\xe8\xef\x5c\x06\xd9]zz\xc1^\xb4O\xc2\ +f\xa3\x7f\xd0\xa2\xaf\xbf%\x10^9H\x1b\xbb\xdc\xfe\ +;\x87\x07\xee\xc1\xd56\xf8\xa4 L\x1f\x91J\xc1\x97\ +-\xd4\xfc\xd9\x86\xb9\xe0*AZ\x17~\xbal\xfe\xfb\ +\x0fZE\xfe:p\x17\x10\xe8\x917v\x89\xda\xae\x03\ +\xe6\xd3\xf2{?\xbf\x06\x16\xa7\xf7\x9e.:]4T\ +\xb2B\xdd*m\xe1R\x17\xf6\xfe\xd3\xa3\xca\xe6\xe5t\ +\xd3s797\x1f\x8cg?Q\xb6Q\xa8\xf6\xa2\x92\ +\xddS\xaf\x07/\xe3\xbd\x9a\x12k\xdc\x17j\x93J\x89\ +\xde\xcdT\xca\xdb\x81D\x8c\xa9\xc7\xcc\x01\x04\xf4\x1cB\ +\xbc#\x0a\xd2\x88\xe4n,K\xf7\xa4\x9a\x87\x8c9\x90\ +J\xbb\xfb\xda\x14o\x81\xac\x0d\xea \x14\x90\xfd\xc5\x0a\ + to\xb9\xd6\x85\x91\x1a\xf4\xfea\xec\xdam\xd6^\ +\xc4\xee\xed\x848\xebu\xd2\xbb&\x91\xc4\x94\xb0.\x89\ +\xbep\xbc\x00\x09\x01\xbd\x1e<\x09\x89\x7fg\xdf90\ +\x00\x1a\xa8\xd6\x99?\xdf\x07\xcc~j\x87\x1f@\x80\xf9\ +\xf5(\xcb\xa1\x8e\xf5\x5c\xeb \xba\xdd\xb3e\xacP(\ +\xff]\x99\xcbs\xb9\xe4UeC/g\xa8\x83\xa7+\ +\x97m\xd3*:\xe1\xdc!\xc5\x1c|\xf7\xd0s\xc0\xa9\ +\x9c\x9f\xbe\xb0l\x00\x129~\xeb\x11\xa3\x82\x86\x03Q\ +&\x8c\x82}\xc5a\x87\xec[g\xf3\xf3\xbd\xcd\x024\ +\x0a\xecU\xe8\xb3\x9fZ\xd5\xdd\xbfs\xc0\xfa~\xbb\xb1\ +E*\xda=F\x90_\xf6\xfb\x00CL\xac\xf2J\xf5\ +|n\xb0\xb6\x82\x9c\x8e\xb9\xa1\xde\x97\x9f\x10P\x09$\ +\xa8}K$T\x8e\x04B\x98J\xees*7=\xfe\ +.\xeb\x9f\x9f\x96P5\x150~ZKK'\x5c\x10\ +r\xa2\x86\xce\x13=\xd7\xa1\xbe6\x10Wi\xfa7/\ +\x94\xeag.\x00\xe3\x13\xe6\xfb\xf3\x84\x01(\x8a\x9fn\ +\xbf\xe2@v\xdf%\xd8\xd9\xff\x9d\xb0\xaa\xa4\xba/Y\ +\xc7\xc7\xc7\x95\x0d\x80Q\x12\x8a\xc3#\x02\x84\x00\xbe3\ +\x16\xa9\x13R\x07;\xf1\x22\xf3\x80%F\x12\x04\x01!\ +\xea\xe2\xe7\x1c>{\xa9\xc0\xddz!\x83o\x010\x86\ +\x04\xed\x10\x8c<\x8c\x0a\xebYK\x17\x80/\x95L\xea\ +\xf7\xf6\x0f\xf5\xe4\xa5\x8et\xdbaZH\xfc\xe1\xf4\xea\ +\xb2\x8d:k*\x8a\x04\xc3X\xd5\xe9Ae\xdb:6\ +6\xf4\xf0\xd2\xb2\x81\xc2\xac5\xcb\xba\xe1\xd7\xe2W\xa7\ +\x9b\x94\xcd\xff\xfeG\x8e\x8f<>r\x19\xe7\xb8\xfa\x97\ +\xac\xf3\xe9\xf2eC\x05*@fk\xc3D[\x05\xb3\ +\xee\xf0sk\xef\x7f\x9f\xc7(\xf8\x11]k\xb1\xc2\x1f\ +_\xa9\xb9\xd3\x8d\xa6\x1bN\xf3\xfd9\xbe\xa4lX\x97\ +(\xefY\xc7\xc7\x1f.\x9b\x7f\xff5k\x0b^3i\ +\x88\xc5\x9a\xde\xb0kq\xe9\x84C\xa2b\xfa\x8e\xc4D\ +\x80\x89\xb1\x01\xb0\xbcm\xa8\xfa\xe2*\x0c\xb6k-\x90\ +\xc3Z\x11\xba\xca\xd0\x9b\x1e\xe0z\xb9\x0f\xcfY\xbe\xff\ +\xa2]d\x1f\xd1\xc2PPX\xf6\xfb\x9d\xd3\x8b~\xc3\ +\xa5\x10q\xd7\xa5\x10!\x81q\xde8\xdf\xc5\x83\xce\x09\ +\xf1`\xe2\x9b\x16\xb9B\xedF\xc9&\xe6\xe9\xbe\xa0\x8a\ +\x9b\x1f\x1e\x8d\x86E\xb9\xe92\xc3\xf7\xf4\xfe\x98U\x00\ +\xda\x00\xbf\xddRE\x0c3b\xabz\x91\xbb\x07\xf7\xf9\ +i\x05y_\x18A\xdf\x93\xb1\x8c8\xa3\x17\xa4u\xf4\ +\xc7\xc3\x00\xd4\xaaF\xb4V\xc2.\x91\x8b\x98[3 \ +B\xc5m\xe6@4\x1d\x9a\x1a.\x1eT9\x05\xb0W\ +\xc7\xf65\xb2_o0$\x94\x12\x01~\xc2\xe7a\xc4\ +z_q]\xe2\xf3\x06\xc6Tl\xb5\xd2\xa9\xe0\x8b\x87\ +\x9c\xe3(\xca*\xcd\x18u\x12%\xd7!\x0e\xa6Ro\ +J\x0d\xaa\xb6u\xa2`\xa8%\xd8\xba\xe5\xdf\x9d\x83Z\ +\xa8r\x9e\x9e\xbe\xbcl\x88\xb3U\xeeQ\xe5]7f\ +\x99\xb8\x06\xd0\xbdg\xd0\xf1\x83\x80\x0d@v\x18PM\ +\xe5v.\x02\xce1R\xf8\xd9\x5cOk@8g\x01\ +x\xce\x17\xe7\xb9\xeb\xf1\x5c\xdc7\x85\x0a\x95a@-\ +\xf1^\xcc\x18\xdf\x1b\xe3\x8fh`\x0a\x19\xcd\xd4\x10\x07\ +\xec\xa8\xe3\xa7?*\x1b\xe2\x1c\xf9\x1d\x00J\xe2\xcd\x1f\ +I0\x89\x22\x03\x88\x15z\x01h\xc6g\xd2\xbe\x10_\ +\x12eNa\xb1\xff\x1c\x00\xa0\x0b3\xd6\x07\x80H\xfe\ +\xe7{)D8\xe7]/@O\xbc\xab\xc5\x9bf\x95\ +\xfc\xd6\xf5\x00\x10\x88\x7f\xd2\xe2\x90\x17\x99r#\x9e\xf7\ +\xdc\xbc\xbf\xfbe\x1d\x02\x04z\xfex\xd6\x99\xfb\xf7\xff\ +\xd2|s\xff\xadG\xf1\x94<\xd3\xb9\xb0\x17\xa7\xde1\ +\xe6\xfb\x15\xa0\x0f\x08\xc0\xf4\xc3\xeczx\x19\x11\xc0\xb7\ +\xe4\x83\xde=\x1c,.\x0c\xb5AerG=\xe8\x05\ +\x0b\x11\xa2\x82\x0fI$.Hw\xfa\xac\xb2!q\x86\x00\x03\ +\x8cv\x15\xa0\xc3\x15\xca\x06\x0a\xaf\x7fG\x04\x0a\x10\xe0\ +{Y\xcf\x09Dz\x1e\xb3\xf1\x5c*\x05qd\xadV\ +-pA\xe5IeP\xc0@\xbd\x1e\xe5\xb8)\xd5\x90\ +s\x81\xddM\xff;\x15\xe7\xf0\x9aUD\xd1\xf3jQ\ +B\xd4G\x07\x1e\x07%1\xbc~64\x87\xaa\xd7-\ +\xd7\xd5\x00\x1e\x8a\x93\x8a\x80\xfd\xc4\x81Y\x1f\xbe\x9f\xe7\ +!qwA\xd6\xe5\xbe\xe7\xc9\xba\x84\xd0Zwzh\ +1X\xec\xbb\xfd\x5ci\xe2R\x17\xad@\xd2\xe9ze\ +\xf3\xebG\x95\xcd\xaf\x9f]\xb6\x05.\xcd\x80H\xc2h\ +N\xb91~Zd\x1a\x81v\x9f\xa3*\xdes\xd5\x89\ +\x02e:B\xb7PP\xf3\x0d\x83\x86x`\x07p\x80\ +&\xc8\xb0\x04\x16\x00\x83\x0a/\xa1\xd3\x83GUYe\ +h\xdf\xb2\xe4 \x15\xa8\xd0l\xf0\xdc\xe2'\x9baB\ +e\x98\xff@\xa1\xd7\x22\xa4\xc5F\xa0\x96\x16\x9f\xeeU\ +\xe4\xaf\xf9s\xd41\x94\xf8\xdb\x1b'\x97\x83\x89\xdf\x05\ +\xc8\xde?\xd35 \xec\x025\x81\x99\xdf\xb7\x8eS\x91\ +;\x5cP\xb6\xcd\xd9E\xb9n\xe6Ez\xb0\x8d\x8d\xec\ +\x03*\xa2f\x9d\x00\xa10J\x94\x89K\xa1\xe6g\x0e\ +|\x03\x9d\xa1\x847\xa3\xe9\xce\xeb\x14\x8b9m\xf8\x8e\ +E\xdc-\x15\xf2n\x01\x00\x08\xd0\xd2P\xb9\x11\x18\xeb\ +\xe9\xcf\xba\x9c>\xbf\xec\xd2-;\xd6\xc9\xf1Qe\xc3\ +\xc1\x0d82\x0d\xa4\x12\xa8\x1b\x0f@7\xff\x04X\x13\ +\xc8\x02|\xa2\x95\xd1\xe3\xff\x9c\xb7z0\xb5j\xa8\x04\ +\xa8\x88\x98oL\x5c\x0d\x00\xc0\x1fX\x7f\x02IS%\ +\x9e^6\xb4\x82\xd4>\xfa\x86\x058\xfd\xe6\xd2f)\ +\xc2~Q\xf6{\x7f\x00,\xafU6\xdf\x9f\x7f.\xdb\ +ZK\xe6\xab|b]\xe7\x02 \xbfw\xa8\xe4\x008\ +\x5c\x97@\x19\x90f\xffP\x9d\x0f\xd3\xef\xf4\x9a\xb2e\ +\xbf\xd1R\xb9\xef\xe1\xbe\x9bX\xd5\xf1}\xc7\xf7\x1f\xdf\ +\xb7LuyzMu\xb1\x0e\x1b\x00\x15O\xfc\xd82\ +8\xab\xc7J\x9e^:\xc7\x15/]\x988\x0b\xe5|\ +\xfa\x9e\xb2\xad\x17\x7fzg\xd9\x22Z\xba\x02\xc7\x18\x1a\ +\xc4\xf2\xec\xef$0\xa7\xaf\xc8y\x9b)&\x87G\x96\ +\x0d\x89\xec\x0bO/\xa8\x00\xfc\xf0\xb8\xf8\x15\xebL\xcb\ +E\xa8\xe1Ktr\x96\x7f\xf7\xa6\xc1\x7f\xd0 @\xf1\ +\x96\x80\xd9/\xb4A\x8c-\xc3\x04\xcb\xfd>}d\xd9\ +\xa0\xfd\x04\x10\xb9\xe4pq\x01\xee\xa7[\xaf\xf3\xb5\xe7\ +5\xb7\x14\x1c\xa6\xcf\x9d>{\xfa\xdc\xa1g\xd6:\x05\ +\x14\x03\xca\xb5\xc8\xa5\xe7\xbf)\xf1\xce\x19\xbd\xcd\xfc\x96\ +\xd6\x19@\xbd\x84\x1f\x80\xeb\x1c\xab\xf4\xab\xa8\xff\xf7]\ +\x9f\xf7\xe1\x11\x87\x1fYZ3n\x1e?A\xdbAK\ +\xa1\xf5MT\x94\x0a\xbc\xdeZ\x05\x14\xeb\x0d\xe3-\x15\ +\xb8f\x0c)89g\x14\x1e0!T\xa4\xc5-\x19\ +7\xdc~X\xe5\x11\x93\x90\x98#\x86\xc0\x7f.M\x11\ +\x1b\xf3\x0b\xe59\xcc\x94.PX\x17u\xfd\xf7\x08U\ +\xfaO\x86\xef)\x81\xc5p\xc4\xb8\xa5\x0dD\xe3\xe9U\ +eC\x02#1\xb4~\xc5\x01\xbb\xb9\xe7\xcd\x18\x00(\ +\xd2\xc81w\xde9\xa0@\x04\x18\xb7\xbfs\x7f\xbb\xb2\ +\x098\xe2\x8f\x14nP\xdbQ\x98\x89\xc6\x89\xfb\x9d\xb7\ +\x18s\xbbi\x04\xddr\x94\xde\xf5\xd6\xd0\x00\x5c\xb8?\ +\xe2\x17\xe7\x84V\x1e\x94zc\xeaT\xb41\xfd0Y\ +\x8c\x13\xe5\xc7\xb4\x0a\xd2\x16\x11\xff\x00\xc0\xecO\x8c\x16\ +\xf7\xf5\xedeC\x81\x92\x1f\xf4*_\xe1\xb7\xe4\x1b~\ +<\x7f-H\xf6\x9f\xf8Wk#\xe0\x0c\xa0\x00\x80\xd8\ +\x03\x00\x12\xcd}\xfc\xe8\xef\x01\x1bz\xed\x89\xa7\x9a\x0a\ +B\x83\x02\xf0\xe3\xfe\xa9\xd8X\xf7\xd6\xb7\xf7\x15\xe7\xf8\ +\x01,\xb8\xaf\x98\xaf\xc6\x85\x02D1\xe6v\x0c\xd7f\ +N`\x0c\xb9\x1f\xb4\x16\xc4\xdb4\x0b\xfe\xb6l~l\ +?[6\xfb\xbb_)\x1b\xc6\x87\xdb\x0f\xf2U\xe7\xbf\ +\xf8\xca\xfd\x03$\x8fL\xfa\x8b\x87}\xe5>\xf0;\xe2\ +cy\xa5\xfd\xbeg\xd2\x8c\xad\xf9W\x1a\xd6\x93\xf5q\ +\x99\x1d\x03\x1e\x10j\xff\xc9#S\xd88\xd7\x0b.\x09\ +e\x1f,n\xa4\x83G\x80\x03\x18\xf0\xc5Q\xf0kl\ +\xc2+\x06\xe4\x92\xa3w\x80{\xb0\xfb^a\x1b\xd1\xdf\ +[X\x10u\x07\x81\xc0F\x82\x0d\xd9\xcc\xc1%\xe18\ +}F\xd9\xfc\xfa\xaf\xb3\xbd5\xc8\xf9\xf7\x0d\xea\xd8\x90\ +\xbe\x821.?|.d|\x0f\x80\x00\x08\xc6\x07v\ +\xf1\xb01<8\xea\x98\x1c\x8a\xd6\x09\x89\xbeW\x89\xa9\ +\x07Y8\xd7\xcb\x07\xc7\x16&A\x07\xca\x0ex\x1b\xde\ +\xbf\xb3P \xc0\x18\x03\x09\xac p\xe6a\xf6\x98&\ +\x89\xd6\x9bV1\x8fN\xa4B1\x0d\xff\xa1\x80\x83\x05\ +\xe9\xed\x0d\xf6\x9c\xb5'\xf1\xf4\xf5\xebX\x90V\xc3\xff\ +\xaa\xd5\x01N\x0f_E\x93\x0e\x97[+/\x0e\xf2\xe9\ +\x13\xca\xe6\xd7/*\x1b\x9e[\xc6\xd2\xb4(\x9fD\x1a\ +\x13@BNL\x89\xe8U\x02\x86N\xc83\xe7\xb8\xa9\ +\xcd*S\xa6\x02d>sO\x01P\x81\x03 \x84\x1a\ +xxu\xd9\xa0\xca\xe9\xdf\x85\x22\xa4\x17\xac\xc79\xa9\ +$Ad\x7f5\x09e*\xa64\x18\xce\xfb\xc4\x1c\xc8\ +\x00%\x22f\xa8\xd1z\x94\x89\x0e\xaaDKL\x05\xac\ +\x12l\x0eH\xc5\xf7\x8fVm\x87V\x8b\x95H\xe6\xba\ +\xdb\x11\xec\xe78\xdbO\xd6\xfb~,\x8cD\xdf\xef\xdb\ +\xff\x02\xbd$~=&f7f\xac\xa9e\x12\xa8\xc7\ +.\xb6\x89\x86%\xf1oQN\xcc\x0c\x8c\x06~ \xfb\ +\xff\xf8\xba\xb2\xf9\xf5\xdf\xcb\x06\x0a^*s\xe7\xae[\ +6\xff\xf7;\x95\xcd\xaf\xef)\xdbD\xb8L#\xe8\x00\ +\xd0\x14\x05\x22_D\x7fP\xe6\xfd\xbb\x04J=\xeeF\ +e\xd4\xfd\xd0k\x17*l\xb7\x98`\x1c\xf0W\x80\x1b\ +\x0e\xda\x81\xb7\xbf\xcf*\xb3\xfe\x9d\x03:\xfe\x18\xa0\xd1\ +\x81\x8d@\x03e\xd6zA\x0dM\x22\xde\x81\x99\x00\xc6\ +s\xe6O$\x1e\xae\x13B\xcd?\xea\xc1\xfd\x84$\xb2\ +(\xf6;Q\xc8\x0e\xdc\xacW\xe2\x95\xf6cz\xd2\xdb\ +\xaf\xf8\xde\x02\x14\x14y\x89\xbe\xf3a\xd7\x12\xd6\x01\x8f\ +\xc46->\x9d \xdb\x07\xe9\xc5\xec\xc4\xda9\xb4S\ +\xe9\xc5$\xe81\xa2\xa9@/\xd3c\x1e=P\xeb1\ +?\x04\xf2\x12\x840\xa7ZL\xf4)e\xc3\x18C\x07\ +\xb1uR\x09\xc5\x95\x86\xd6.\x95J\x01\x151E\xd7\ +I$\xca\xf7\xe6\xef\x052\x182*\x80\xa6\xcd\x080\ +\xd2\xb20P\xe9\x97\xfd\x8a\xb1\xb0\xaf\xf8wE\x0a\x05\ +\xfeY\xe7\xfd\xc6R\x11;\x7f\xf6t\xe7\x0f\x89\x92s\ +\x92\x16J\x80\xd1\xd6\x140~3\xea\xd3\xa7\xab\x9c\xae\ +|\xba\xca\xb2\x8f\xdfu|\xd7r\xdf\xd6\xdf\xb7.^\ +W6\xf8#S3~\xa4l8\xaf\x92pwB-\ +\x91PQ\x12\x87<5Sr\xfc\xe4\xfe\xf7>#\x1a\ +\x8cYx\xf3\xc3-\x96V\x9a'&\xa1\xb3\x0f\x14,\ +\x02D\x00\xae\x05j\xfcR\xc7\x09\x803\x01\xfe\xa7\x9e\ +\xeex\xba\xe32\xa6\xf8\x9d5\xa6\xb7\xcf\x89;E\xb5\ +;\x0c\x97\xd6\x96\x00\xf8\xd0\x90\x10\x0f\x88\xbb\xc4\x05(\ +\xe2\x9f:\xdb\x1d\xf2\xfc?|\xf0\xa3\xfc]\xa9\xf3\xff\ +\xf5\x96`\x1d_S\xb6\x89[\xf6\xd4\x05\x00g\xad\xf6\ +\xeb-\x00\xc6l\xcb\xe7-\x7fn\x11M\x9a:\xce)\ +\x15S\xcf?\x22\x87]\xd1\xb3^\xf9u\xd7\x8f) \ +\x1e\x04\x0c\xa9`\x89\x1f\x9dc\xb4\x87j\x0a\xc3\x8f-\ +\xd3\x84^\xbf\xcc%\xff\x87$\x80\x0f\x89v\xc0k\xd6\ +\xb1\xa8Z2\x9a\xc2\xfcSaH}\xe3\xae\x90aj\ +\x8dJ9@+\xf1E3-T\x1ci\x14\x89\xe7\x1e\ +\x9b\xc2\xd6\xb5\x92\x18`\x5c\x19\xabK\x0b%\xfbY\x5c\ +\xd6\xcfSe9qP\xb7\x9e\x89\x07\xf8\xe1OK \ +\xffI\x01*\xefz\xb8\xcb2N\xac\xa2\xcf\xa1u\xe4\ +R\x858\x80\xbe\x02\xc5\x8d\xcb\x06M\x11\xf1\xbesM\ +\x82\xaa\xe2\xfe\xe7e\x03c\xc4\xf3t~\x89\xf7M\xa7\ +\x00\xf4G\xc3\xab\x0b\x1a\x00bc\xea\x14\xfa\xf6-\xc5\ +\xf2\x90\x00\xa3-~ml\xaf\x04\xdcXg\x09\xb8\xfd\ +-\xc1\xb5\xce\xf8U\xadv\xae\xc7\xfdw.H\xb4\x14\ +2\x88\xa6I\xc4\xac#\xef\x83\x01\x08\xb8\x11\x9f\x01R\ +\xaco~\x01\xd0\x22au?\xb4 \xd2|!\xdeJ\ +\x5cO\x1e\xb4\x9b\xe7~\xfa\xa7\xb2\xe1s\xb5\xb8h\xb9\ +\xdb3h\x02\xdc\x18\xc7\xacw\xbc\x0b\x05\x00\x87jA\ +\xbd\xd2P\xb9\xf6\xea\xba\xc7\xd6\xf1\xf7\x0d\xebw7%\ +\xe3\xf0\xf1e\x83\xaa\xbf}\x0c\xa0\xcc\xb9\xd6\xd3\x1a\xc4\ +\xb1\xde\xd7\xf3\x10\xa7*X\x89\x0bh\x04\xf0\xb7\xf22\ +\xa2\xd4\x18>\x99\xde\xd4\x00\x91\xde{\x0c/Z\x19\x01\ +\x22\x01Z\xa7\x1b\x96\x0d\xf9\x85}\x22\x1eq\x8eXG\ +\xfc\x81\xfd\xa1p\xe6G\xfc\xe7\x5cv\xdd\xee\xa7<\xcf\ +\x98e\xc0\x15qL\xdfO\x5cm\xbf\xd8\xaf\xf6\xa1\xf8\ +Q\x8b\x14\xd1^\xcc\x8c\x14\xf2\xcf\xb5\xe8\x9d7\xe2h\ +,x7^\xc0h!\xefU\x10\x05r\x12\x0d\xbd\xa3\ +\xa5\xd2\xfb\x89q\xa0w\x1bn\x94\x1b\xa0\x12ic\xb8\ +\x81\x90E\x08\x8e@\xc3\xbfK\x02\xd7\xf3\x89/\x9c\xed\ +?6\xaa!jf#\xb6z\xdcZ\xc5&\x89\xbd^\ +|\x80\x80\x8d\xebg\xd7\x93\xd3\xe3\xfd\x04\xf0\x1e\xdc\xbb\ +\x97\xa3dk\x11P\xd9\x19\xe7AN\xc3F\xe5`$\ +\xfe\xe5\x96_>8\x8cz\x0aW\xcb\x82\xf8\xd0\xa1\xe7\ +\x9e8\x96\x00\xc1\xfd\xf0\xfe\x90FT\xc4\x04\x16=N\ +\xed\xf5\xa1~\x05!<~_\xd9\x10\x18\x9a\xc3\xfeo\ +\xab\x18\xc6\xf4\xe1e\xdb\x98\xb6\xeem\xa5\xe6\xff\xacu\ +l\xd4\xe1\xd9\xab\xc3\x99\xc3\xec%p\x9e\x9e\x5c6\x8c\ +}\xb2\xf1\x04T\x1c\xde\ +\xf5x\x97\xe3]\x86\x80\xd8\x98M\x8c\x8d\xaf-\x9b\x7f\ +\xff\xef\xcb\xe6??\xe3\xf4\xcc\xd33\x96\xe7p\xaf\xe5\ +9HX\x888\x02\xa6\x00]\x12\x03\xe3\xe0\x02\xac\xb4\ +_BiUy\xc5\xf8R\x91M\xe5T`\xde\xd4{\ +Sj\xb4\x98\x84YS\x0d&\x8bz{\x12\x93R6\ +(m\x83fh\xe5\xfc\xeb\x84\x13\x93\x91\xbfr\x9eI\ +\x1cT\x02\x89\x16\x12\xf1\xe4\xaf\xdc/-\xa4\x80(\xfe\ +\xf3\x7f/v\xde\xe9\xbeeC\xafr\xfe\xdd\xf4\xae\xe9\ +\xdf\xa7\x7f\xdf\xfcPIA\x97\x18t3i\xf8\xbbW\ +$!\x9a\xd6\x8a\x5ck\x16\xf8\x5c\x22q~\xc4\xc1Z\ +\x9f0\x08\x03t\x9f~)\xady\x18\x83\xf6?\x95\x7f\ +\xcf\xc5\xf9*\xfeq?\xb4>\xd0pQa\x070\x13\ +i\x8d\x7f\xa7\xea>\x7f\xe7;.\xf7\xcb9O\xd3'\ +\xc0dO\x8f\xe1O%\xbe\xfc\xa5\x84C\xdc(\xcew\ +\x1e\x88\xeb\xc5\x0b\xce#\x89\x10\x80)\xfe\xbd\xb5\x0eh\ +\xaa\xa8D\xf3\xbb\x00\x0d\xe3\xe1\xa8\xd8k1\xd4\x9aH\ +\x94\x12\xf5\x9e\x9f\xa7\x9d\x94q\xae\x985-\x16\x08p\ +u\xdf\xc5]4\x0eT\xfa\xf9e\xc0\x83\xef\xeb\xfe\xec\ +{\xb9\xfdwq\x99\xf5\x8d\xa1\xe9s$t\xfc\x9a\xfd\ +\xacp\x82\xda-\x8e\xc2\xa8v_\x15\xf6\xe4\x01\xb4=\ +\xc4\x0b\xaeOk\xa1\xf7\xc1\xa4\xf1}2%\x8a\x88\xea\ +\xecg\x9eQ~\xa6\x81\x00\xd7\xa9\xc0\xe0\xf3\x8c\x9b\xbc\ +\xd7\xe1\x9e\xa5U\xb2L\xa5\xfa\xadA\x0b\x0d\x80\x15\xed\ +\xa6~?\xfb\xc6\xf8h\xc0\xd1[\xca\x86\xf8\xc1\xfa\x12\ +_\x88{\xed{\xf9\xa5\xef\xa1\xd2.\x1f\xddM{\xeb\ +\xf8K>\xba\x1f\x8f\xc8\x0f\x13/\x8e\xdf\xd7\xa2\xd5b\ +\xbb\xd6\xad\xb8-\xd3eN\xcf)\xdb\xce\xd1\x8e[\xf8\ +#\xfb\xc7\xfd\x13\xb7\x85A\xd4\xeb\xcc~\x97_Z\xdf\ +\x988\xee\xa3\xef\xc7\xef\xb9\x1eb\xe0\xa6*\xf8\x1c\xd3\ +-\xecsSthu\x19C\x1fFe3\x9e\x92\x97\ +\xf4\x18\xc0\xbeQn\x9c\x85\xa1'\xdeB\xe3\xc0\xf6*\ +\x92~$\x12nH\xe1I\xd7\x1e\x90\x12\x1bJ\x82l\ +C\x04\xd9\x22\x9e\xd5\x81\x5cz\xf1\xfa}Q\x81\xe28\ +\xa8\xa8\x1e\xef1\xdb\x97\x84\xe2\xf3\xfbC\xaf4Jy\ +m\xdf+\x0c\xbd\xf8\x16\x1a\xc7\xe6\xfb\xa0h\xd4\xed\xbd\ +\xcc\xff\xe0 <\xc8\xdd\xd8\x9f\x1e\x03h\x03\xfb\xbe\x16\ +\xaeD\xb0\xd2\xad\xf7-\xc8\xf5\xeb\x16\xe4\xda\xf7t=\ +\xee/\x07\xed\xba9\x1c\xaf\x97M\xef\x9b\xe7W\xee\xe5\ +]\xd9\x10\xef\x1a*A_S6\xf4v-\xb2G\xf3\ +\xfd\xfa\xe2\xb2m\x03\xea)\xa5\xae>\xa7]\x8b\xa8\x15\ +\x86\xc1\xd9\xd7\x95m\x95\xa5\xee\xf9\x0f\x95M@\x22P\ +\xf5\xdc\xf4\x8c5\x92\x9f\xef\xd5\x94Ds\xc0\x8d\xdf\x03\ +0\x10\xf3{M\xd9\xd0\x02\x10\xca\x7f'\xd0\x80\x11\x15\ +E\xc8<\x07\xee\x80\xca\xc6\xefV\x14\x81\x91\x83B@\ +\x93^\xd4\x1aj\xb6\x8c5\xf3\x0ap 6\x98\x8aT\ +\xf7\x08I\x88P\x9d\xf5\xf6{\xff8\xb2\x16\xe7\x22\x22\ +'a\x16@\xabh\xd9\xe0{@J\xef\x99@\xe3c\ +Sq\xbdI\xa8~\xc4p2\xb5\xa0\x13%\x81\x99\x9e\ +=\xc0\x9b\xca\x19\xd18\xbd\x7f\xc6\xeeH\xfci+@\ +6\xa9p;\x98\xec\x0b\xd4N\x0c\x81\xdf*\x1b\x18\x1e\ +z\x1e\x01`\xc5\x1c\xfa\xabAm\x99\x18\xe3\x93\x0fO\ +ZzrSy\xeb\x80u'\xc2\x07 47\xbd\x03\ +]\x95\x94\x8f+\x1b\x0eL\xfb=\xc8\xf8\xf1\xe1eC\ +\xef\xac\x83\xdbz\xa5y \x81\x0d\x15\xb4\x99\x03a\x1e\ +\xb5:\xb1\xb9\xb8\x1c\xb8\xfb$\xf1\x17\xa8\xb9_\xf6\xb3\ +\x00\xcc\x81\xe7\x80\xf1\xf7\x10]\x7f/\x80\xd6\x82\xe0\xfd\ +U\x16\x93\x10t\xcf\x1cu\xea\xeb\x97\x0d\xebB\xe2'\ +\xd1\x95\xa8~V\xd9\xd0\xb3\x8c\xda+\xe14\xbe.\xe3\ +\xea\x9a\xba\x9b\xde\xff\xe97\xcb\xb6\xfd?=\xb4lH\ +\xa4wT5\x94\xfd\xe9\xc5e\xf3u~J\xd90]\ +\xe1\xdb\xca\x86\x8aAT\xe2\x9b\xdaf_\x08\x98\x13H\ +\xf6\x9cj\xff\x8e\xc8(\x8a0\xc0\x8cv\xc01\xdfG\ +\x22\xa4'XkE\x80\x96\x9auR\xd3N\xe6`}\ +i\x1d\x99\xee\x9a\x8a\xb0\x00\xd7\x18\xab\xc7\xe5\xfecf\ +x\x9e\xee\x031\x22*\xcb\xa6\xdeh\x15\x00\xa8\x18\xb7\ +\xe8{\xab0j\xf9\xc9\xfa\xec\x04\xf1\xa5\xeb\xbf?\xbd\ +v\xad\x10\xb5*<\x91Xb\xa2\xc4N\xf9K\x01\xda\ +nJ\x07&\xc5\xf4}e\xf3\xeb\x7f\x95m\xdfg\xfa\ +\xda\xb2\xf9s>\xa9l\xf3\x13\x80\x1b\xe2\xa9\xc6\xdeM\ +\xf7.\xdb\x187\x18P\x0dX\xd0\x92\x88FL\xef\xd3\ +\xec\xe7V\xa7W1\x0e >}\xfb\xf4m\xd3\xbcN\ +\x8e\xdfP6\x04l4)\xdeR6\xa8\xcc\x03\xa6\x01\ +@\xc4\xe2\xb4\xfa\x89W\x00\x9a\xa3\xb8\xde3\x87\xc4\xea\ +\xf7\x02\x0c=>\xe3\xb12\xae\xb1\xfd\x0d\xbf\xa9\x12\xbb\ +\xcd\x83\xff\xb7\xe5\xbc\xe6\xff$\xe8\xa6\xfa\x00\xe4\x8by\ +r\xab\x00\x01O\x1e\x98sY\xefz\xa8\x1b\xc8H\xab\ +\x04j\xae\xe7\xde\x05\x87T\xe0\xfa\xf9`\xc8\xd0\xae\xe0\ +_\x7f\xa4l\xa0\xf8F\x5c\x8cfK\x8f\x1f\xd6K\x9e\ +sK\x8fi'\xfea\x80\xf5\xb9\xcb\xcf\xf9\xa1}\xf2\ +Ok\xe5\xbe\xff]D\x12{\x0cY\x98_}n\x99\ +\x96\x90sg\xfa\x90\xb2!\xe1K\x00\xdd\x80Q\xd4\xbe\ +\x01\x19\xa7\x7fH\xa5\xcf\xb8X\x9aD\x98\x82\x180\x18\ +R\x12@\x81\xbdx@\xa5\x16\xe3\xe5\x9e\xa7{\x9d\xee\ +\xb5M\x93\x98\xef\xe9\xea\xf71\x0c\xd3\xa2f\xdaLS\ +\xf4Q\xfc\xb3\x0e\x8f_X6\xf8\x93\xddX\xc1n\x85\ +\x11\x87\xeayW\xd8;e_\x03\xa8\x9d\xbb\x12g\x80\ +&m\x02\x09\x89q\x8d\x0a\x5c\xd6\xb1\xf5\xbeO@\x8c\ +\xd7\xe3O\x01\xdf\xfc\x09\x7fo\x9ci\x12\xab\xd6\x14 \ +\x1a.\x11\xd6\xc2\xea\xdc\x17\xbf\x88\xc3\xedK\x22\xbf\xb9\ +\xff\x00\xfd\xfe\xf7\x01\x0az\xbd\x11\x83#\x1a\xee\xf3\x14\ +\x1e\x01E\xd6\x9f\xebWa\x15\x7f\xd0~\xe1\xd7\x8d\xd7\ +\xd5\xfa\xe9\xef\xe5\x13\xc68\x12#\xe4o\xe5\x1d\x80n\ +\x89^\xa8\xe8\x97\xa2\x8e\xfb}Sm\x02\xc4vb(\ +o\xd3\x02\x81\xc1 .\xc3\x90\x93OY/\xf2\x14y\ +\x8d\xeb\xff\xd89\x8a\xf9\xd8A\x9b\x0c\xe3,\x0c\xca\x8e\ +\xefh\x1e\xd9\x97\xe2-\xeb\xc7\xfd\x07\xf4I\x9c%\xec\ +\x9e\x83x\xd3\xf7\x15\xf7\xb8\x1e\xdf\xdf\xfe\x93/\xf9w\ +\xee\x17\xa6\x04\x0d\x84\x00b\xdd\xe2\x96\x16\x22\xe3C\x9b\ +\xe1gZ\x17\xed\x9b\xcb\x97m@\xab\xb8\x98\x98m\x7f\ +\xaex^\xde\x0bh\xc4\xb8\xb4\xee\xc4#\x98j?\xbc\ +\xd8\x96\x0f\xbb\x1f\xf2H\xcf\x13c\xd7}\xdbk\x19\x04\ +\xf0i\xff\xa8\xe5\xc9u\x89\xef\xafX\xb6iW\x9ck\ +\x07L\x03\xc0\xc2t!;\xb5\xfdK\xfd\xec\xb5\x02<\ +8\x0f\xc0\xdc\xfb\xdd\xfc\xc3^\x98\x02`\xc8\xba\x84\xdd\ +\x81)A\xa6B\x9a\x9e\x1c\x94\x95\xe3\x1f\xce\xf6\xfc\xa8\ +\x93\xfe\xdeRi\xf8\x96\xaa4,\xb8\xec?\x0f=\xf8\ +\xae\x8f\x0a\xbf\x05\xa7\x02\xeaA\xfaQQ/\xb7u\xee\ +\x7f@\x02\xbdb\x0e\xecE!$n\xde\xb7\xdc\xef[\ +\xb3\xb1\xfff\xa0Hs,\xee\xee\xbe\x05\xc1\xfb\x8c-\ +\x09\x87\xad\x17\xae\x13\xb9\x8b\x96\x09\xc8\xeb\xf3;\x0dL\ +\x01\xbdl\x09\x08\xbb\xb7\xff=+p@l\x8ajs\ +\x8f\xf5\xbb\xdb*\x82\xe6~\x1e\xbf\xablA\xd8g\x1b\ +\x12\xa4\xf4eC\x8f8\xc7\xf8\ +\xa85\x019\xdc'\xd4DTa\xeb\xfb\x8f\xb3\x9f\x04\ +\x00\x00\x07\x09\xac\x84\x9f\x0a\xf2n\x9e\xadu\xd4\x14.\ +\xa2}\xd4\x801C8\x9c\xe3\x7f\x0f8\x00\x1e\x1dp\ +\x10\x91#\x1e\xa9\x17\xd2\xfdHEDEF\xe2\xd1\x15\ +w\xeb]B\x97\x9e\xf4\xd3\x07\x97\x0d\xbd\xe5QS^\ +Z\x81\xfeu\x1b3\xd3L\x84\xf4\xc2u\xc5\xd7\xfeu\ +\x9frpUcK\xb5\xb6L\xef/\xdb4\x09\x04^\ +\xdd:\x22\x10\xe5\xaf\x04\x8c\xd4\xba\x01\x04\xa8o\x0e.\ +\xad\x1f\x9e\xa7\xfd\x81\xea\xeez\x1c\x04*S\x0e\x02\xc0\ +\x0cD]k\x03\xaay\xa8\x96\xddk\x87\x1a\x17\x8a.\ +U\xeb\x06\xc0\x1c\x80\xe6,S/\xd6*&q\xa1\x19\ +\x92\x96\x84^\xd7\x00]\x01$Q\xa4 \xd0\xc6'\xed\ +\xc5}\xf6\xea\xbb\x9d\xa0g\xbfA\xec{\xcc\x22\x15o\ +\x01\x01\x7fc\x1c\x90\xf5$q\xa3y\x10d\x1f\xd06\ +\xfdN\xd9\x06\x94J\xbc\x01I\x0d,:\xa0\xd3\xf2\x80\ +\x81\xd2\x15\xee\xbf_\x03;\x15\xc9\xe9\x1f\xca\xe6\xed\xf0\ +\xe0\xe3\x83\x8e\x0f\xda\x12\xbb\x9e\x8a\x82\x02\x9b\x0aR\xaf\ +#\xc0@\xf6U\x03\xa5\x8fNe0\x81\xc9\xbc\x1a\xdf\ +7\xbdoi\xfdX\x80\xac\xc3o\xc6\x1f\x01\x1c\xbf8\ +=\xd5\xd1\x90\xe8J\xc6M\xca\xe6\xd7\x07\x97\x0d\xcc\x8a\ +\xfc\xb9\xa9\xa0\x80\x02\x95a\xc0\xc9\x85\x87\xff,\xa0\xd6\ +8T\x95\x9d\x1e\xaf\x16?\xd1\x15dL\x1d\x15m-\ +\x90\xa5\xc5\xf0\x1d\x1b\xb0\xd4\x09@\x00\xb7\xd3\x93\xca\x86\ +\xa91i\xeds\x0e\x1c_\x5c\xb6\xb5\xac4\x13 ~\ +\xe0\xf0\x0bi\x0d{\xc9\x0a\xe8\x1e\x7f\xa4l\xbe\xce\x9f\ +)\x9b_\x7fw\xfa\xbdi^G5T\xb0\xc6\x0a\xb6\ +\x9fv\x1e{\xde\x0a#\xfc\x1a5\xff\xf4\x84\x02<\xa6\ +\xf7\x06\x10\xc9\xf9\x7f\xc9o]\xf2\xecK\x9e\xbd1\x05\ +N\xcf\x88\xd8]\xfe\xdc\x95\xbd\x8f_Tb\xb6\x00\x94\ +\xa8%M\x0a\xfb_\xe2\xef<\x92p\xa3\xecj\xc1\x0a\ + :]\xb1l\x19\x87X\xd6\xa2\xa6}_\xb5\xa2\x19\ +\x17\x9c\x16\x92\x06B\x01^i}Z\x94\x07.\x18\x12\ +\x95k\x1d\xaeQ\xa2\x8b\xf3\xaa\xfd\xc7Z\xb7\xcb\xba\xff\ +\xcd!\x81J\xfc\xb7|\x9f\x87l\xe2\xc4\xfc\x909\xde\ +\xcd\xb4\x89x\xd9\xe1\xdf\xcb\xb68G\xcbbO#J\ +\xc0>{\x81\xdf[\x02\xe9\xb4\x5c\x9e}\xcb\xd97\x9f\ +}\xcb\x12\xe7,L\xbe\xd3\xb5N\x1fr\xaa\xefs\xd9\ +\x15\x18>}\xcdZ1?]i\x0d\x80k8t\x8d\ +\x87\x9e\xbd\xca*\x1e\x9b)5\x1dP\xef\x80\xe0N$\ +\x93`\xf4\x982q\xae\xf5\x91\x82\xc9\xe1\xd9a6\xfc\ +\xf3\x7f\xaf\xd8\x9e\x1e\x93\x96\x22L\xc0\xeb\xae\xcc\x11\x15\ +\xc8\x16s\x8c\xe8\xa6V\xc3\xd6^B\x91\x96\x88\x01x\ +\x00AZ.\x0a\xfe\x5c\xa9\xff\xebyDl\x8f\xc8\xaa\ +J\xed^l\x90\xf8\x9a8A\x22,\xc1S\xa9\xf4g\ +\xebHk\x94VG\x8c\x05\x89\x9a\xf1\x80\x12 \x0c\x15\ +\x09\x9b\xd63\xe7\x9e\xb8Y\x22\xe4\x9cs\x1fM\xd9\x09\ +0\xda\x8e\xc5\xefy?\xd4|\x95x\x85\x08c\xf8\x88\ +Q\x9a\xba%\xce\x96\x17\x00>\xc4\xe1\x98\x0d4~\x00\ +\xf2\xe28\xd3\xb9$\xacZ\xb8\xb4\x94\x10\xa1\x04\x98\xec\ +\x13\x12j\xf7\xf3X6\ +\xac[\xf9\x1a\xa0\xc2\xf7\xd1\xa2g\xca\x04 \x08\x90j\ +\xdf&\xc1mQ\xc6g\x05`\xf5\x5c\xc4\x95\xee/@\ +l\xcf\xecU\xa0RH\xd0\x0a\xf5\x86\xb2\xc1\xafQ\xff\ +\xf7\xbd\xbc\xff^\xcd\xdezp\xae\xbb\x1e\xcc\x0a\x80\xb5\ +\xf7\xb1\x1e0\x900V\xbc\xbf\xe7\xba\x17\xf5\xf3|S\ +\xd8\x98\xbe\xb0l\xde\xde?Y6\xf8+\xf1\xbf\xe7\xa6\ + \x13\x06\xdd\xa5Zk\xb4\x9e\x03@h\xe3`0\xf9\ +=\xd7#\xff\x95\x0f*\x1c\xd8\x0f~\xf8\x1f\xf7\x11\xd0\ +\x90\xf1\xca\xc6\xe7v\xfc\x1d\x86\x91\xe9J\xe7\xfa J\ +`\xdf\x0b\xdf\x1bC\x8a\xf6s\xcam\x08\x07%GQ\ +\xc4\xe1\xbf\x1ez\x09\x8d\x15\xe4 m\x08_p\x8f\xd8\ +X\xe8zV\xf54I\xfc3v\xe5\xf8\xa4\xb2\xf9\xf5\ +ze\xf3\xdf\x7f\xc1l_8\xdc(\xaf\x90G\x88>\ +`c?\xbea/\xe6$\x91\xf7\xef}\x0f\xaf\xa3\xda\ +\xe3\xd9\x00\x18\x8cc\x1e.\x1e>\xaf:\x9d^;\x00\ +-\xb5\xac\xaf;\x8cu\xa1\xb5`\xe3\xee5\x17\xf6\x88\ +\xa1\xfbn\x81\xb8\xdf*\x8c\x90=\xf7\xf1\xcbW\xd1\x87\ +\xc3\xfd\x92\xf0\xbe9\xa2H\x1f\xc8\x81v\xbb\xf5@<\ +>\xb0l\xab\xd4\x16\x01\xa8\x10\xbe\xc3\x0dW\xc75\xfd\ +\xfe\xf4\xdci\x0e\xd0\xa7;\x96mc\x8e \xb0\xd3e\ +\xca6\xeaQoT\xbd\xde\x98\x10\xa9T\xfa\xfd\xae0\ +R[N\x22\xd2\x95-\xa2y\x19\xa3\xd7\xe2w\x90P\ +=\xda\xc6\xf4\xbd\xa1l\xa8\xf8\xa8\xa8\xa0\xc8\xa0\x9c\x9b\ +\x02\xe0\xd5z\xb0\xb1%r*\xa3\x11\x0d\xc34\xf0\xbd\ +\x05\xf0M\xbdO\xa0\xda\xa2%_\xbe\xd8\xf6\xdf\xfd\xd8\ +oz\xcb\x12\x88\x09\x0c\x1aQt\x90Ap\xa9vS\ +a\xb7~\xa9\x13;\x086\x86\xc3ZIM\xcfS?\ +\x17\x00\x1c\x86\x02j\xa9\xdf\x83l\x133\xd2#\x1f\xea\ +\xaf\x80\xbf{\x1cQ\x14Qn\x89\x10\x11IT\xa9\x08\ +\xe5\xef\xf4\x94\xb2a~3\x8a\xb7\x16\x10\x08)\xc0\xc9\ +\xfd\xb0\xaf\xb4\xc8|\xf9\xb2\xc2\xab\x028\xdb6=\xe0\ +t\x8b\xb2!\xa0L`e\xb4JJzm\x11\ +_C\x1dFU\x7f\xfc\xda\xa3\xdd\xbd\xda7\x8fX\xd0\ +\xe3\xba\x07y\xbd\xaf\x802\x14U\x1a\x09\xa8\x89\xa9,\ +\x13\xe3j&\x13`VKM\xe6\x9e/u\xed\xc7\x0d\ +T\xdd\x04*\xd3C\xca\xb6V\xa6\xe3\xe7\x96\x0d\x81\xa9\ +J>&\xcf\xc7\x96\x0d\x9f\x17\xc0F\x85\xb6\x03\x19\x0c\ +\x8eT\xc2T.Zc$\x94N\xe2i\x97|U\xd9\ +\xa0\xe2\xac2\x9b\xf3dz~\xd9F\x1do\xcd\x91\x87\ +\xae\x89tk\xce`\x88\x85Y\xd7\xbd\xcf\x09\xe0\xa6\xbf\ +,\xdb*\xe6Z\xa4N?yzB\x8d\x9f\x9b\xbf\xc5\ +\xe7\xd5\xf78\xbc\xa9l\xd9Gk|\x03\x88\xa5\x02\xce\ +\x0f\xd6*\xb8\xfd@\xe1\xb5\x8fPV\xa9\xf1\x13u\xb4\ +N\x01\xa7\x98<\x02Hc\x14\x014\x01\x92|\xef\x85\ +\xf1\xf05\xf1c5\x86\xf1\xbb\xca\x06 %b\x9a\x1d\ +W\x10\xf9\xbc\xfdy\xb7[\x12\xdb\x1a\xdb\xfb\xb7a\xe8\ +\xfd\xe1\x00\xb8a\xe0`\xf4`\xa2\xa1f\xf3\x9f\xe6\xa0\ +kY\xb2O\x03\x8c6C\x89\xb6\xc1=\xcb\x06\xd1\xd5\ +\xdf\x886\xcf\xd5\x0fW\xab\xca\xe7\xd9\xc3\xce\xbe\xf3\xec\ +a\xc3\x94\x88\x82\xc3~h\x11\xe1|t\x89p\x12\xc9\ +\xac?-\xa2\x9c\xb9\x0e\xfb\xab)\xe8\xc6\xa2\x9a\xfe\x91\ +}\xd7TZ\xfb\xdc\xb9#\xce\x930\xa7\x97\xbdU\xd1\ +i\x1d\xfd\x7fka\xe5\xbco\xc9\xb8G\x8cV\x94\xf6\ +\xec\xa3\xc3c\xca\x86^wq\x01\xa0Tk\x0f\xc6J\ +>\xb7\x194\x12!\xf1bE1W\x1c\xfc\x8d\xc4\xd8\ +\xf5\xee\xb52hWI@\xf6\x22t\xe2]\xf1\xa7\x8a\ +\xae\xbc@\x5c\x07 \xf6c\xda\x84\x84O\xcf\xbf\xbc\x02\ +\x83S\xcb\x92\xc4\x98\x1f\xb3_v\x1a\x10\x12\x1b~\xb5\ +\xf7\xa9\xc2\x1a&\x0d\x91[\xad\x82\xa6\x0cI\xbc\xf7\xad\ +\xba\xbe\xdf\xee\xa7\x99\x08\xd6\xb9u\xb2O0]\xb7\xe7\ +\x000\xc1`\x10\xdf\xdb_\xae\xc3\xba\xb2\xff}\x0fy\ +\x88\xeb\xd2JT\xd4\xfc\xdf\x1c\xcek\xe7\x92DX<\ +\xe8\xb9\xec\xa7@\x01,05\xc3\xb0\xe9\xf1\xce\xf6\xbd\ +x\x01\xd3X\x1e\xb2\x074\x8c\xc3\x94\xb8\x8b\x9f\x01\x13\ +ZS\x88\x92[\x0f\xbe\xb7\xd6\x02\x9a\x11>\x07\x00\xbb\ +oet?\xbc\x8e-\xda\xef\x1d\xce\x11\xcf\xc5u\x01\ +N0~0\x93\xfc\xf8\x9e\x98\xa8\xd1\xc6Q\x88\xc2\xe0\ +8~I\xd9\x06\xd8\xf1\x13\x0d\xc0\xed\xc5-=wq\ +(\xe6\x04\xa0\xdds\xf1\xdc\xc78\xa0k\xa7\xa2\xfd\xf1\xe9E\xc3|\ +\xf8\xe3\xb2A\x9d>=\xaf\x1d\x18|\xc8Z\xd1h\xf5\ +}\xebK\xc2\x15\xd15\x88\xf1\xa5\xa8d(\xb0\xa9|\ +\x9e\x1ep\xfa\xba\xd3\xd7m\x01y'\xe2\x12\xbd\xef(\ +\x1bz\x8bTh3\x07\xb6)|\x02\x9e\xec\x7f\xa2\x9c\ +(\xb6\x8d$sd\xee\xe3\xfe r\xf0\x01\x00\xedK\ +\xcfa?\x86\x06pQ\xe1\xc1\x8d6`\xa8\xf7\x15$\ +7*\xdaM!G\xb5E\x89\x8d\xff\xe8\x1ej\xa22\ +\xbe\xef\xc3\xca\x06J\xa39\xc4>_ \xb3Gd\x13\ +(4@\xe3{B\x82\x03xt\x85U\xef\xb5\xdf\xd3\ +\x03n\x8c\x9c\xca|\xf6s\x03\x02\x12`\xda\x15~O\ +\xa5\x1a`\xb5\x17\xa11M\xe5Ee\x1b\xa0\xa7\x02\xd9\ +\x14^\xd3\x08\xac\xcb\x9d8\xab\xb1W\x1d\xd8\xabL\x86\ +b\xd6\x95\xa0\xb4\x5c\xa8\xfc5\xb3#\x15\x13c\x93Z\ +\xd4\x90\x9av\xb49\xf4\xdc.bg\x9f:\x1cxQ\ +o'\xda\xd9\x01\xd7\xfb\x12@\x0b\x1c\xf4\x8e\x12\xf7L\ +K\x8fV\x9d\x9e.\x82\x0a\xae\x02c\x1a\x81\x84:\x94\ +\xd9\xae\x00f?\xaal\x9c\xeeR6\xbf\xfep\xd9 \ +j\x07\x10\x91@c\xda`4\xa1\xe4?\xb1lhe\ +\x01\xe0Zg\x12\x03\x95\xa7\xb4 4\xa0\x09\xb0\xdc\xcf\ +\xd5\x06\xf8`@\x01\xd8\xac\x93\xec\xd7\xe3\xbf\x96\x0d\xd4\ +g\x00J\x98Y>\xff\xb4\xfcl\x80\xd8t\xa7\xf5\x1c\ +8\xdc&\xf3\xc51\x01\xa2\x0a\xddTH\xcfU (\ +\x81\xe5\x17\xf4\x00c\x1a=\xa8l~\xbds\xd9\xb6_\ +\x88\xd7\x1d\x7f\xa7l`09?\x00\x1c\x9fY6h\ +\x039wn\xb4\x06v\xd3\x97L\xf7\x98\xee1\x88\xf6\ +\x86r\xde\xd4b\xe7\x96\xe9\x22\x95\x08\xcc~{\xfa\xf3\ +\xd9\x0a\xa0\xb8\xf7\xaa\xf2_\x8a\x06\xa5i0{\xf1\x17\ +-~\xfc=\x87\xff*\xd1\xda\xd3#\xa3\xae/n\xc2\ +\x8c)1\xcdO\x184\x5c\xc2\xa0j\x15m\xe3|\x05\ +\xb0\xce\xeb\x88E\xf6\x981Z\x0e\xa1\xceK\x10i\xb2\ +tB\x05\xe0\xaeS\xe0\x0f\x86\xc06\xc0\xf5\xd2*\xf4\ +\xb8A\xdc/\x00\xf7\xe9\xeae\xf3\xf7\xfd\xc9\xb2A{\ +\xa94Zn60\x9f\xea4\xbad\xd0\xbe\xc1 \x92\ +\x10\x018\xf8}\x14\xeaL\x11\x10/\x9c~\xa5l8\ +7\x12\x174\x057\x8c\x86\x8e\x0b\x9c\x1bz]\xf5\xf2\ +\xfev\xa6\x19\xfc\xc9\xe1\xc5\x87\x17/~tm\xc5R\ +\xd1'\xb6\x98\x04\xacE\x89\x15\x1cT\x1c\x01\x03z\xc7\ +1\x8a\xfc\xa0\x8e\x03\xe8\xb5P\x00,\xbe?\xe7\xa5D\ +\xdd\xbe\x14\xe7:\xaf\xf8\xe5\xdc\xafnE\xc9z\xee\xf3\ +8\xd7\xd9\x85\x1e@\xc0\x9bWQ\xe7\x9e\x03_\x95\xf6\ +\x91\xd9\xe7s\xc5\xa7\x12k\x09\x8a\x96\x90\x00\x8b]\x00\ +\x00\xe8\x10#\xc3\x18\xdcW\xc6\xc5\xcf\x9e\xaf\x04oG\ +\xed\xc6`t\xee4\xf5\xdc\xfe2e\x06`\x8c2\xbf\ +\x17\xeb\xe3\x8f\x03dt\xa2/.\x17/\x8b\x93\xc4\x0d\ +\xfc\xaex\xc4\xfb\x8a3\xf8U\x8cM=\xea\x80y~\ +T!\x02\x00\xa6u\x03cR\xab\x0d\x8d\x07@\x83<\ +\xc8\xf5\xed\xa6vu\xde\xe1\xf7\xf6b\xe3\xf2\xa7}\x02\ +\xbdoaPq\xc7\xb0\xf5\xf9\x18\x0a\xf24\xccC\xcf\ +\xd3\xf9)\xbe\xf1\xfc$\xb4\xbb\x1e\xfbe\xec\xfa%C\ +\xe2\xecy\xee\xc5\xa3\xf91\x80\x87\xf5(\xbf$BJ\ +\xb3\xc0z\xf6\xbd\x00\x22\xfb\xca\xbdW?\x9e\xa3\xeb\xb7\ +?LY\xb0\x7f\xb5\xb8\xfa\xb3\xfd\xce_I\x943u\ +\xa1\xa7\x80\xa4\x87\xfe\xf8\xcfe\xf3\xc7\x7fZ\xd9\xd0\x0a\ +\xaa@\x998\xd9\xfe\xe8\xd6\x1a\x8cJ\x1a\x00D\xf9|\ +N\x80\xdb\xbe\xaf\xceE\xfe\x02\x80\x08 \xd5B+\xff\ +\xb6\xce\xe3\xe7\x9a\xf1\x93\xa94\x1d\xdf&_87}\ +\xe1t\xb7i\x0e\xd4\x8e\xaf>\xbe\xea\xf8\xaaE\xa5\xf7\ +*\xa5\xd2\xdb7\xc4\x83\xdd\xf7\xfeH\x94!z\xab\xb0\ +\xdeV\x89\xf6\x008\x08\x00\x02\xc4\xd1\xc2\xde\x8b\x09\x0a\ +0\x8a\x8a\xfe\x92M\x0c\xec\xf8\xdb\xb3={~=\x9b\ +m\x1a\xc4\x82\xea_\xbd'\xd7\xf3\xd1\xffC\xa2`C\ +\x13\xfd\xf3\xbd\x0a\x8f\x1b\xd4\xf8\xbb\x22W\x8f\xe1\x86C\ +\xe2?V\xfa\x0f\xbb1\x0e\xe7\xedZ#N=%v\ +\xfb\x1c\x89\xba\x0dx\xde\xb2\xc8\xd6\x03\xfd\xb6\xc3\xbcs\ +\xbd\xbcE\xa8\x7f\xc0\xe0\xa0\xaf\xbf\x0c\x80\xdb\x1cE\xd5\ +\x95\xae1h\x038\x00!uU\xdfz\xc8\xb2\x10\x7f\ +q\xa9\xc8^+\x1b\x12E\xfe\x9e\x11\xe5\xd2\xdb\x1ed\ +\xb3\x03\x82T\xd6\xe6\xc5\xbfV\xdc\xaf\xba\x8ad\x9d\xdd\ +\xe7\xec\xdegs\xa0s\xf6\xf2\xb3\x97\x9d\xcd\x1b\xea\xec\ +Fe\xf3rxI\xd9\xa0b-\x80\xa2A\x80\xf2\x1b\ +\xf1\xb0\x1ek\xe4\xc0{\xf6|L?{I<\x1e\xb2\ +\x88\x1dA\x16Q\x999\xe2\xa8l7\xf5\x9f(_\x90\ +\xe3\xa6\xceK\x08\x92x\x131k\xd5~\x01\xa0\xc4\x5c\ +\xe5]\x05U\x8f\xa7\xf7\x0f\xc5WE\xa7\xa9\xc9Y\xf7\ +\xd3\xb5\xcb\x86\xc4\x08r\x98\xc0\xbf\xa9b\x02\xdf\xdb\xe5\ +{\x19\x17\xa7\x97Z\xef#@A\x8fQ*\xd3\x8d0\ +\xea\xe5\xe5\x10\xf4\xe0e\x1c\x5c\xf7\xf4J(Ba\xef\ +\xc0Z\x82\xfa\xae\xb52\xd8*\xa8\xa1@wo\x1c\xaa\ +\x5c\xd6\xa5\xc0\xac{\xfc\xf4P\x09\x08\x9e\xbd\xd8\xb6?\ +\x042\x12\xa9\xb4\x96\xb4\x8a\xab\x8a\x84\xebQ\x89\xf6=\ +\x8d\x15\xf2\xb3\xd7\x1c\xb1\x9fv\x0e\xaf\x0f\xe2\xb4\x86\x08\ +\xd0;\x01\x0dE\xb8\xc7.\xa1\x18\xab\xd4\xaa\x94:H\ +\xa8\xeb\x07\xd0\x04\xc8t\x00\xe0 \xdek\x9f\xf0kO\ +[l\xebAKB\xea\xfbu\xcb\x0c\xe4\x1dR\xec\xe0\ +\xd3Z\xc1\xaf\xe6z\xf7\x89r\x07\x0c_\xbd\x02J\xdd\ +\x03\x1bU\xea\xd6.\xe0_\xa9c\xdb\xb7\x0el\xbd\xb8\ +\x11\xe5\xec\xef'QD\x9d\xa4\x96\xafUG\x85D\x00\ +\xa8\xc2\x94\x7f\x7f\xbak\xd9V\xc1\xa7\x82\xdd*\xdb{\ +\xcd\x14\x89\xafs#\x8c\x0c\x22\x90]\xb1\x0a\xb3h\xf6\ +v\xb3\x0d\xeb}\xcf\x94\x92\x80[\xd7\x11\x89\xa3\xe6\x0c\ +\x080F\xcek\x8f\x9b2\x17\x1e\xb3\xe5Y\x99+\x0c\ +`\xd0\xda\x02h\xf3\xfe\x01\x96\x9a\xc1\xf6u\x01\xde2\ +\xbd\xa3+\xe1\xbe?\x11&\x81xZ\xb4\x88>v\x05\ +(j\xe5]\xa1O%\xe3\xf0ue[+FS\xad\ +\x01\xec(\x95\xb4-\x88\x95\x09\xd0\xf3\xefO\x97-\xdb\ +4\x08\xa6\x17\x94\xcd\xaf\x8f/\xcb\x98\xb8\x8b\x17j\xfe\ +\x92`\x1f>y\x05\xae\xa7\x7f,\x1b\xa6j\xfcA\x02\ +\x90\x9f^\xac+\xaf\x87\xd7\x06\x18yu\x9e\xf3\x17d\ +\x9f\xab \xbe/\xcf/\xe7\x9e9\xed\x80\x1c\x95\x8d\xe9\ +\x11e\xdbt\x91\xa6V>\xa0l~}}\xd9\xf6}\ +\xb4\xee\xa8\xb4\x1e\xdf~|\xdb\xf1m\x19S\xfb;\x11\ +\x8b\xfd\xaba\xfc\xae8's\xaf[\x13C\xe2m\xfd\ +K\xc0\xafX\xb6\x00\x0c7^\xc4\x101`T\xc2\x88\ +\x9fUK\xc3\x9d\xc3\xe8\xb9\xd7F1\xa7\xca\xdd\xbd\xe4\ +\xa1&73%\xe3I\x0f\xf7*\x1b\xf6\xbf\x80\xde\x98\ +0@\x03\x06M\x98/\xd3\xad\xcb\x06\x15s\xe7\x84\x96\ +\x94\xf8\x91\xe3\x9f\x96\x0d\xcc;\x80\xb7\xd6\xad;\x94\x0d\ +-\x11\x19\x13\xd9\xfeJ\xfc\x22\xd1\xe1\xef\x01w\x0f*\ +\x1b\xce\xb1\x00\xa2\xcb:\x7f\xe4\xe6w\xbbU\x14c\x8c\ +6Hy\xcbo\x1a\xe2:\x89\x06\xe6\xc7\xc5\xb5B\x17\ +\x8d\x90U\x13\xe5\x8f\xd6V\xaf\x06\x1aoU6\xc4o\ +Z\xb7\x00\xf7\xcem\xd7-\x90\x0fu\xb6\x81s\xc0\x84\ +\xc4T\xdc\xbb\xfb\xde-:\x99D\xf9\xf4\x09e\x03\x00\ +(\xd1w]\xde'\xe7\xce\xf4\xcde\xf3s\xf9\xea\xb2\ +\xf9\xf5o\xca\x06Q/\x0c\x1d@[\xe2\x8b\xae\x84\xa2\ +d\x13\xc7\xbc`\x9dz\xd1\xf1\xfb.\xd1k\x00\x1f\x10\ +\xac\x95\x13#\x85\xbf\xdak\x03\x88{\x89\x08\x9b3/\ +.\x10\xdf\x11\xf1\x93\xa0\x88\xb3\xddG=\xfcw*\x1b\ +\xfc\x99\xf1\xc2\x18\x8c\xfc3?\x9fu\xde\x89\x95\xf1\xde\ +W.\x1b\xaecW\xb1\xc7\x04k\xc0\x8c?\xdf\x03\xb0\ +\x0a\x13\xe2\x15\x05,\xfb\x10\x00D[\xc1\xb8\xdc$r\ +\xa7\x0b\xcb\x86\xf8@\x02+\x1e\xf6=\xbc\xee{\xe3\xed\ +\xab0h;\xfe\x97O\xd9\x7f\xf6Y\xa8\xea\xa7\xff*\ +\x1b\x80_\x00H\xe26c\xba\x97B\xf0e\x86\xd6\x03\ +@\x0cm\xb6=u\xdfz\x03P\x88\xe7\xfc\xde\xbe\xe0\ +\xeb\xb9\xd9\xf7*\xff\x18w\xb4\x03\xecG\x05!\x80\x8f\ +\xcf\x1d\xf3\xab\x8b\xfe\x07&\x00\x7f@D/\xd3\x89\x9a\ +!\x06xp=\xfb1\xd9\x18\xea\x12kZe\xaf-\ +\xdb\xfc\xd1\xf1\xcb\xca\x86i\x0aa\x94\xf6\x94$\x80e\ +Z@[\xcb\xe4\xa6e\xc3\xfb\x03T\xbe\xb7l\xfe\xf3\ +w/\xb6\xdd7\x00\x88V\x1e\x0c\x02\x05\xcb\x00?\x0d\ +<)4\xf8\xf1~\xe3\xf8\xfay\xdd\x9f;\xdd\xa1l\ +\x09\x14\xd6\x1e#\xbd\xb6\x16\xa0\x07\xeaF\x0bP+\xbd\ +\xfb\xb0aC\x15Lp\xe1\xb0\xc1UT\xdcP\x14\x18\ +\x0fH`\xc8\x11\xf9\xe1\xf8n\xbeLv=\xef\xf8W\ +\xb3\xcd\x1b\xff\xf8\x11\xb3U \xf0\xf4\xd9~}\xd8\x98\ +\xfb\xf9\x94*\xf2\xae\xb7\xb6\xd5e\x93\xe0WO\xd8\x07\ +f\xbb8\x09\xc3M\x87\xf1I\x1f\xb3\xc8\xb4\xac\x01\xd2\ +G\x0e\x94#=\xfe*\xfc\x0e\x8c \xde\x1d8\xef\xc7\ +\xffTX\xf8\xbaa\x83Z\xb0\x18\x0aU\x1f\xfc\x988\ +\x90[\x041\xbf\xe3\x80$C\x9c\x1d\x0c*\xea*\xd2\ +zE\xf5\x04\xdb\xd0\xb5\x0c^\xb8\x05BM\x89\xa6\x86\ +\x9f9\xcdz\x80\xa7\xef/\x9b_/*\x9b__R\ +\xb6!q*\x0a*!*7\x1e{\xab\xe4\x9b\xb3\xac\ +\xc2\x099W\x89%F\x18J`W\xdcmP\x95\x87\ +\xf4j_\x8a\xca\x04\x08\x085\x18@@D\x86\xca?\ +\xca}S\xf2#\xe6\x03 \xe8J \xd1A-\x04i\ +\x15h\x91\xc2\x8c\x01\x13\xa0\xf7\x94\x80$\xfa\xc6\x82t\ +\xaf\xa6\x9e\xc7h\x00\xb4\x18`Daz\x1c\x1b\x91!\ +\x95\x12S\x00\xa2u\xd0\x81\x9dD\x22T\xe5\xd3\xe7\xae\ +\x22\x8d(\xe0\xa7\x97e:F\x02\xbd\xee\x85\x83EI\ +h\x8d\xb9\x82\x14\x1a[\xa8R\x9b\x00\x97\xa8SS\x9d\ +Q\xf21\x00P\xc2\x8ck#.G\xd4'\x89\x0dj\ +xS\xf2T\xac9T\x08\xb3\x80\xd8\xbe\xd9\xb5\x86\xb8\ +?}0p\xfc\x0e\x0e\x07\x05?\xb5\x17I\x19\xb52\ +.\xdcD.\x8f\xdfT6$z(\xa0q\x90]A\ +\x92(ZG\xc4\xb2\xce/\x1b\xd6\xa51E\xf1c\xdd\ +\xeb\x1f\xe6K\x1f\xec\xc4\xcaT\x16Q\xe9SA\xeb\x80\ +Z`\xe2@\xd5b\xa0\x12K\xed;\xe2l\xad\xe2\x9d\ +\xfb\xd0\x0c\x22\xfbH\xcf(\xaa\xa0\x80\xd3\x14\x91\x00v\ +\xc7\xc7\x94\xcd\xee\xe6\x91e\x83\x8av\xd6Q\xab\xbb\x1b\ +\xf7&q4U\x00\xb5\x5c\x05\x826\x86}o\x1c\xd1\ +W.\xb6\x8d\x17K\xa0\xd8\xc0\xa0\xebv\x80\xc5\x9f\x10\ +\xbd\x92\xa0\xf6AL\xcd\x7f/ff\x1d\xe7<;|\ +P\xd96\x0d\x00C\x0a\xe5\xbe\x19G\xa1\xf4u\x05\xa5\ +Z\xcb\xbe`;8M)\xc1,\xf2\xef\xf4\xfe\xf6\xfa\ +\x8a8\xad\xe7v\xc9c\xca\x86\x0a\xbc\xca\xb7\x8a\x03f\ +\x13 \x17\xa3\x22\x94\xbe\xfe{\xad\x19_Q\xb6\x8d\xc1\ +\xa2m\xd0\xcc\x01\xbf\x0f\xc8\x22\xca\xaa\x15*\x09m\xef\ +[\x95\x19\xcfI\x0bSZ\xad\xa6\x7f-\x9b\xd7\xc7\x05\ +e\xc3\x1c\xf8\xcf\x0b\xa3\xeb9y\xde\xaf\x0ap\x1af\ +PI\xc9.b\xb2\xd7H\x85p7\xfe\xa9\x03\xff\xdf\ +\x8b\x7f\x01\xac\x00\x92\xbe=\x01\xbe\xf3=\x00\xd7\xe9\xe3\ +\xcb\x06\xeai\x98=\xa7w\xac\x95\x1e\x01\xeb\xf1ae\ +\xf3\xebS\xcb\xb6\xde\xee\xd6\x1c\xb0\x8f|\xfe\x8d\xcf\xbb\ +\xd1\x12\x07T\x1a\xf21\x01\xf4n80\xd9$@\x12\ +V\x1a\x18\xd6_\x18?\xd3\xe3\xca\xe6\xcf\xfd\xfc\xb2J\ +H\x22NKM\xff\x900\xe2\xa6\xb3\xcd\xdf\xe3\xeck\ +\xcb\x06\xe0N\x80*\xd1\x02lJLQ:\xc5\x09\xa8\ +\xda\xe9\xednq\xab<\xcf\x16\x93\xbc}\xd9\x00\xb0K\ +\xacB\xfd\xef\x04\xcb\xf8A\xc0%\xea\xb3D8\xda*\ +\xc4+;\xd0\x177\xf1\x8f\xe29\x1a\x1c\xf7)\x1b\xae\ +_|\xa8\x90\x83\x11PL\xb5GmS \xda_f\ +?/\x22\xcf\xbf4$\x9a\xd5[\xff\x98\xc5_\xbel\ +\xf1\x977Ydq[;\xa3\xef\xdbuR\x10\xc2P\ +\x12\x8f:\x97\x89\x99\xaa\x10\x8a\xdf\xcc#\x17\xc7\x89k\ +\x00#\xe2b\xd7c\xfa\x14\xa0R\xa2\xbc\xd7pq\x8e\ +Y\xdf\x0aVZ\x04$(\xfe\xbbD\x1fsS\x02\x09\ +\xa8\x00\xe0\x06X=\xdd\xa3l\xa0\xaa\xe7\xbe4\xc3\x80\ +\xbfV)\x95X\xd8\x97\xfc\x93\xfb\x05\x08O<8\xc7\ +!\xb3\x0d\x05\x06~G\xc2D45\xadF}^\xd3\ +@\x88\xa6E\x8bb\x8b\xfb\xe4\x0b\xceO\x15\xd2\x14\x1e\ +\xda\xafa\xb4j%\x8a:}\xc7k\xe3\xd8\xef+\x0c\ +\xf9\x02\xa0L\xc2\xae5/\x9aP\xdd\xb2\x82\xe1\xacp\ +\xc9OZ\xe7\x12n\xf1\xb88\x09\xa3\x16\xd5\x5c\x9e\xe0\ +{\xf9\xb3\xe7*\xbe\xd9S\xe8\x01\xb6\x80q\xad\xa8\x01\ +\xf0:Q\x07D\x8b{\xec?\xfe\xd6\xf7\xcc\xf9\xd0\xe3\ +\x03G\x8d\xb2\xb7\x0c\xcf\xaf\xa2\x8e\x97\x0e\x09\xa5ul\ +?\xf0O\x12t\xff\xde\x9f\xe5#\xceQ\x00\xc2^\xcb\ +`?\x0d\xc3}\xde3%\xdc7\x9f\xbf\xd3\x94k\xa0\ +\xc4\xf3\xb5~\xc5S4\xa3\xd2j\xd8c8\xdd\xb7\xbd\ +\xd8\xa0D\xd9\xfd\xc4\xe8\xd4\xfa\xf9\x13\x8bm\x95v\xda\ +s\xf1\x0b\xc7\x17\x95m@\xc0\xf4\xd6\xb2\xa1\xd5\xd4\xba\ +Ne\xbe\xef\x8fua\xdf\xfb\xde\x0aB\xe2\x87\x8c\xbd\ +\xec8\xdf\xf3\x1179oh\x88\xd9_\xfcJ\x80\xa4\ +ss:\xfc\xfe\xd3\xfb\x87\x0a\x9e\x8ab\xc6o4\xd5\ +\x0a\xb5\xd0\xc2\xaa\xc7w\xe1\x10\xd8\x96;\xba\xcb\xff\xd0\ +{\xbfS\xf5\xec\x9e[\x09\x811n\x1et6\xf6\x82\ +\xfc^0\xcc{\x8dx\xd7\xf2\xb5~q8\xf0<`\ +\x1b\x5c\xef\xd38\xb5`\xa4zW ;\xf6\xe0U\xfa\ +\xf9ICe\x9d\x03\xaee\xf0\xe1\xff\xc3\x86\xf7\xfd\xeb\ +j\xc7\x1e}<\x80:\x06\xdf\x9c\x0d2\x8eUs\xff\ +\xbc\x7f-\xe3\xb7o\x88r\x8fi\x92\x08V\xc0{\x9f\ +\xe1\xf7\xab\xf3\xfbK\x87\xcf\xad:\xe0\x9dR\xa9~\xd5\ +0\xf7=\x07\xa8q\x7f\xf3\xb3Y\xa9h(\xaf\xff\xb1\ +&\xbe\x87\xf7\xaf\x81\xef\xf4\xbf\xca\xe6\xd7E\x16w\x0b\ +\xf4 \xd1\xd3-\xa7O\x9c>q\x18\xe7\x85\xeaN\x8c\ +(\x01\xc0t,\x1b\x10,\x1bZ\x0f\xe0\xc7.z\xa2\ +k@q\xffA$.\x07\x15\x15\xf0\xfe\x81\x00\x87\xfa\ +\x86\xd2\xde\x15\x96ld\xcc\x0d\x09J'\xdc*3\xb9\ +/=\xee\x8bhM4\x02\xbag\x12@@\x84\x05\x00\ +\x10FA'\xf8D\x06%\x12\x19K\xc8Q\x1f~3\ +-\x09\xef^\xc5\x8c\xfa~\x05(\xf0}\xcc\x99V9\ +\x9b\xff\xff:\x9e\xf0&\x01jn\x93\x00\xed\xd6A\x96\ +Uvo\x16\x06D\xc6w\x99\xe7\xda\x8e\x95\x08\x1b\xaa\ +\xa6\x8a\x07\x84\xf2ze\xdb\xfe>\xfeC\xd9\x00\xc4%\ +aiq\x12\x8e%\x07!\xb1\xc8\xee\xc1E1\xf3\xb9\ +\x18 (\xa7\x1c\x99\x84_\xc0\xa95\xc1\xfb\xf3\x13\x0e\ +v\xfe`?}D\xa0A,\xacT\x9c\xffa\xa1\xea\ +?\xbc\xa8\xfaM=\x0d\x85\xb9+\xaf\x12\x868\xfe\xe3\ +\xcb\xcb\xb6^\xe5f\x14\xa9\x9c98U\xf4%\xcc\x02\ +7\xc0E\x0e\xf0V\xd1'\xde\x86\xc1\x01P\xe5\x17\xf5\ +|\xaa\x1c\xe8\x09\x13 \xf9\xde\x90_b\x5c\xd4\x85\xd3\ +\xa2\xd1\x22\x7fD0\xf5\xa8\xa2D\x0a\xdc\xbd\x9f\x00]\ +k\x81\x96\x1bT\xb4<\xff\xe37\x96mj\xef\xed\xff\ +\x1c\xa8*\xc9\x12lSY\xc2\x04i\x80\xc4A\x85a\ +%\xe0L\xa2{xV\xd9\xd6\xab\xd6=\x95\xee7\xff\ +,\x81P1\xb9\xe9\xd2<\xd3\xe7R\x8f\x0fM\x8f\x7f\ +\x8b\x03\x02\xfa0\x19\x12\x90MO,\x1bz\xa4\xd3\x83\ +\xdf\x81A\x00\xf1\x06N|'\xce\xf57k\xe2t\xba\xef\xe9+\ +\x17m\x80\xfd\xf8\xbcZE\x9f3\x00{\x12Y\x80\x18\ +\xe6\x0e\x80 \xe7\xc3\xf4\xff\xd3u'\xe0\xda\x95U\xf9\ +\xc0\xbfw\x7f\x1f\x0e\x88\x80b\x0e\x88c*\x88\xe6\x08\ +N\x19h\x96\xe6\x90\xa6\xe6H\xe6\x00\x8ah\x81S\x9a\ +3\x99\xa9Y\xe0l\xe6\x08\x9a\x82b\x99\x99\xa6\x19\xce\ +\x16\xce\x9af\x8e\xfd\x1dp\x224\x09\x9c\xd0o\xbf\xff\ +\xbd\x9e\xbd~k?l\xe8\xac\xeb\xe2\xbd\xce\xc79\xef\ +\xd9\xef\xde\xcf\xb3\x9e\xb5\xeeu\xaf{}e\xf8\xf2\xf0\ +\x95.\xb1\xcaDv{x\x06\xceT\xba\xdf:\xaf\x9b\ +\xf1\xb3\xe3\xe7\xc6\xe9:v\x1e\xb2\xf3\xa6;\x0f\xe9\xd4\ +\xa6\x9d\x8f\x1f\x0f\xeb(\xa0=\xb3q\xd3\xc5[Z\xc4\ +\x00\x03\xd6\x11qM\x00@\x02\xe5m\xde\xfc]\x17 \ +\xa5\xee\x9b\x04\x13\xf5\x99\x86\x0f\xca\xacJ\x94\x04\x93?\ +\xc1,\x11\xbf`Rx\xbe\xd7i\x10\xcb\xec\xcf\xc7\xce\ +\xcf\xa9D\x8b\xb3\xb2\x15\xb5DJ#\xdc>qa\x06\ +\xd0v\x100o\xff{{\xf6\xf6\xacE\xcb\xa8\xa8\xae\ +!\xc2\xf7\xb5n\x5co\xc6\xab\xdb\xbdR4\x16\xa0\x06\ +\xd8\xe3\xc7\xd3O\xd7\xfd\xa0\xd5A\xd3\xc5\xe7\xe1\x07]\ +\xbfsN\xc0\x8eA\x82:\x9e\xfb\x00\xd0_\xe3\x07\x01\ +\x89\x00v\xe7Aj\x11\xd4zwn\x8a\x9b\x01\x0a\xeb\ +\xf84+\x86\xa5}bZ\x8a\xf1\xd0\xc6kJ\x98\xec\ +;\x09\x888HaAaK\x01*\x81\xdc\x12=\xa3\ +] \x81s\x8e\xe7\xfb\x17`\xb0\x9eg\xae\xe0\x82\xfa\ +\x9fq@}N\xe7\xff\xea\xe7k\x1fjysnd\ +E\xb4\xc6\xe4\x02\xfa\x9f=\x8b/\x0e\xfb\x86-\xc0\xc5\ +\xf6\x91a\x1d\xf0\x90@n\x9d_\x18rY\x90\xa98\ +\x9e\xa8 \xbf\xbd\xd2(*\xa0P\xc1\x03\x03\x8a\xe6\x8a\ +\xb8R+\x1em\x02\x091\xe6\x02f\x821~\x12^\ +\x15a\xebL\xfc\x87\x89\xba\x1e\x87g\xac\xa4\xfb\xe4y\ +\xa7\xdf\x1f\xdf\x1b\xd61\x143n\xaa\xe7i]\x8b#\ +\xd6\xaf\xfe\xfej\x9c\xfb\x85\x12O\xfb\xc4\xdf\x97h\xbb\ +\x8f\x001\x00\x03?\xe7{\x05\xe9u\x8b\x87\xf8\xd0z\ +\x11\x9f\x01\x9c\xe4\xb5g\x87u\x05\x0b\xad\x9e\xc48\xed\ +\xbb\x15\xd3\x02\xd0WS;\xb4\xea\x11\xf1\xcd\x169\x80\ +\x0f?\xbb\xfb-a\x0b\x13m\xf8\xe3\xb0Nk\x85\xc6\ +\x14\xe6\xa9u\x88)+\xae\xa6\x85g,\xa6V\x02\xe7\ +> C\xdc\xafp\xa7\x853\x0b\x06\x0a\x5c\xfe\xfe\xae\ +J@S\x94\xa8(;z\x0c8@\xd4D\xe3\x91\xf2\ +FT\x22\x97sm\x89o\xad\xe7\x957\x8a\xf2w\x96\ +\x1e\xb4R\x9bD\xa9\xf4\xa0\xf4\x96\xc6\xd7\x98=\xa6\xb7\ +\xe9\xc6;y\xe0k\x91\x92u\xc0\x08\x10HU\xfc\xda\ +\x08*\xf9\x01\x1b\xec\xdb\xf5\xe4G\xd8t\xb9\xee\xfb~\ +>\xf7\xe5\xba\x1e\xa7\xf8T\x97Y\x12\xd1\x12\xf3\x0b\xfc\ +\xee\xac\xee\x01:\xe0 o\x11F_\xb9[\xb8\x91\x1e\ +\x7f 7\xc2\xb7\x96\x83\xa7U\x10n\x93\x15\xf8\xabv\ +\x14\xcfDx\xabb\xf9\xc2\xc9^\xb4T\xc2\x88\xa2\xd4\ +\xb82\x95p\xbd\xa1o\x98\x0f\x8c\xc9-\xb5\xb9\xac5\ +/7UAK\x15<{\x12\x87\xdd\xc3/\x86\xe9~\ +\xed\xbcj\xd8\xc2\x0c\x18\x0e\x0e\x9b^o\x176\xbd\xfe\ +w\xd8\xd2\xf3R=Pz`U\xde\x1c$\xd4\xc6S\ +\x9d\xbf\xd4\xfa\x05T\x1c\xab\x83\xc6\xab^6\x8e\xd6x\ +\xaal\x0d(F\x00@ +\xc8\xa8?S\xf8\xdd\xc6\ +&m\x1e\xbbyL\xcc\xfdl\x95\xab;w\x8c\x15\x07\ +\x89J@\x1e \xc5,P1\xa1=\x90\x095\x84\xbb\ +z\xc5\xdf\x91\x89\xdf#sn<\x00\xc2u\xdd)\x19\ +\x14IY.\xca\xa1\xcf\x91\xc0E\xf5,~#\x1d\xbc\ +\x0a\x8c\x00\x8c#\x14\xe0\x9f\x9b\xa2U\x12*\xc0XR\ +\xe2h:\xd8\xb7\xa8n\xa5\x8a/\x90K \xaa*w\ +\xc6\x8b\xbc \xac\xab$K8U\x0c\x1dD\xa8Z\x90\ +_\xe3\xd28(\x88&\x15\xe2\xf5A\xe2}P\xee|\ +N\xd3\x01\xae\x15\xd6\xf9\xa9\x13&\xafpB\x02\x85'\ +,\x95t\x89W\x05\x12\x02)S\x01RL\xb1\xb4\x0f\ +P\xa40M\xcc7W\x81S\x11\xb0\x1e\x89Vf\xeb\ +L\x05x\xd4\xbcU\xacT\xdc\x05.\x10}\x9fK\xc2\ +\x9e\x14\xdf\xa2@R\x8f\xfeF\xbe\xba\xdf*\xc3*!\ +\x18)\x12l\x7f\x87H\x1f\x119\x07\xb3\x16\x0e\xad,\ +\xa8\xfcZ\x0a\xd2\x7f\xa2\xda\xd6\xbeX\xf5\xbc\x96\xf8 \ +&\x89\xf7\xcf\xf5A\xf4Qez\xf8\x87\xb0n\x1d\xab\ +\x90\xe49]\xe3\xdfLk\x10\xf0X\xc7\xa8\xc6\xd1c\ +~\x8b\xa5\xc7\xb94\x0e\xbc\x11\x80%\xefg%\xea\xa9\ +R\x1d\xde\xb5QJiA@\xd2\x89\xf7` \xe4\xfd\ ++\x11D\x15?\x8c'-A\xc6\x92\xde;\x999\xd6\ +g\xf6N\x0b\xec\x04\x16%\xca\xb3\xa6\xe8\xa2Rz>\ +Yip\xde\x96\xe8&\x00N@,\xb1V!>2\ +\x19[\xc9P\xaa\xcaT\x02\x07\x95xK\xfcQ-]\ +\x07\xb5\xfe\xf4\xdbU\xf9S\xc1|@VhQ\xf8?\ +\x95\x81\xdd+v\xbcr\xc7+\x17J2\xcd\x88)|\ +\x9d\xef\xff\xc76\x1f\xdd|\xac\x03\x1a\x1e\xddd\xd1\xe2\ +\xfcn\x95\xad\xed\x9f\xcd\xe3\xe6Z\xb4\xf0\x8b\x06\xd0\x5c\ +<\x00\x9a\x12Y\xca\xca\xba\xfb7\x9e<\x9e4\x9e\xdc\ +\xad\xcf\xeb\xcc\x81-\x8d\x08L\x8c\xcdS\xe6\xc4\xaf\x18\ +_\xbf\x9f\x89\x8b\x00\xee\xfeYAzZ\xd8\ +E\xf4\xe6\x02|%\x04\xc4S%\x02\xd6%\xf1\xd4\x1b\ +\xce\x9a\x09\x05\xdc\xf89\x14\xee\x0f\xa4\xf6B\x8a\xd1\x8e\ +7\x08k\xeb\xe1\xb0X\x0fDQ\xab\x10u\xe8\xf6\x90\ +\xed!\xcbx\xbeP\x0ahZ\x01Z&\x00\xa5*\xba\ +\xfc\x0a\x15u@(\xc6\x85x8{\xac+a\xa0z\ +O|\x98h\x1a\x86\x90\xd6\xae<\x07L\xa7\xa9);\ +\x12Qba\x00Y\x15\xc9l\xc9\xaa\x04R\xc5\x1bC\ +VA\x88\xdfM\xc0\xab\x12+\xe7\x918Z\xe5Y\xa2\ +(\xe1\x5c\x8b\x80\xbb\xffD~%\xf0\xc4\x0f\xd3?W\ +b\x06h1\x9eVK\xa0\xca\xab\x84\xc7\x94\xa5l\xb1\ +\xb8P\x22\xa7\xe0f=a\x12a\x08\xbc1\xac\x03\xc8\ +\x8f\x0e\x9b\xbe\x7f\xe5\xec\x9f\x8aA\x96\xcc\xaa\xf1\x94\xb0\ +\x04\xc2\xee\xd6%\x84\xe6\xc0\xcb\x7f|\xee\xf4\x075=\ +E\x85<\xfdZ1;\xc5\xf9\xces\xe7= \xc1\xfa\ +\xd2\x22$\xf1\xd7\x02\xa5\xd0\xb1\x16#\x07\x90H\xd0\x15\ +R}Y/Z!\x1e\x18\xb6\xb4\xf0mO\x0d[*\ +\xd1\xe3ya]%\x1b\xe3\xd2\xfb\x8a\xc3V\x89}\x01\ +\x02+\xc0\x8b(j\xc5y\x0a<\xe2B\xeb\xd2\xfb\x03\ +\x00\xe4k\xfc\xec\x9aI\xb0\xae\xc8\xf3\x1f\xbew\xbf}\ +\xbffX\xac\x99\x0ak-\x01\xf7_\x1ei\xbd{n\ +\x98\x9b\x8f\x0d\xeb\xfc\x96W\x89\xf8\xaa\x901\xdc%l\ +\xba\x9c+\x85M\xdb\xe0\xd7\xc3:m\xb6\x9c2T-\ +\xe8y\x1fJ\x83C!\xd5\xb9\x81\x01\x04\x90\x93o\xd2\ +h\xe0G\xf9\x01y\xa3V\xaa\x04\xd6\x01\x0f\xbb,P\ +\x09\x9b\x9e\x85zc\x89pRP\x9a\x18\xcfm\xbbq\ +0\xe6\x15\xeb\x0du\xe3\xac\x1d\xfc3@G[\x86*p\xf6>\x96\xbf\ +EU>-\xc7\xd3e\x00=\x5c/li\x0d(J\ +0`\x96\x8a\xf8\x893\x05\xb2*\xa6'\xe5\xbe\xcb\x80\ +m{\xcf\xb0L\xf4\x1f\x95L\xb1\xd7/\x22\xa9>g\ +\xf36\xef\xed\xb48~'lI\xe4\xec3\x0c*\xbd\ +\xd3z\xe7K\x842\x13\xb1\xf1\xa5\xe3K\xc6\x97\xb6\xfb\ +svc\x94\xd9\x07(\xed\x80v\x158-\x05\x00P\ +-#\xdf\x0d\xeb*\xdf\x02V\x95\xa3\x04\x8a\xda\xb9\x19\ +@\xc38\x03\xcc\xc5\xb4x\xde\xf6\xc4`\x1a\x0d\xef\x0b\ +k\x95\xe3\x9bF\xe5x|\x7fX\xbb\xaeyJD\xf6\ +\x04G\x1a\x1eb\xc7\xe3\xe3\xc7?\x1a\x1f\xbfT\xd4w\ +\x1e\x1a\xd6\xf9\x0d\xfbA\xc2&\xbe\xe2\xef\x00\x96\xb4G\ +\x00\xcb\xce\xd3L\xf8\xc6\xef\x84M\xaf\x0f\x0f\xeb\xc6^\ +f\x80[\xd3\x1ar\xcex%\xbc9\x8f\xbe*\x85\xa9\ +EQL/-A\xeb\x16>q\xa4\xc0U\x9c%A\ +\xd2kL4\x12\xe5\x9e\x1f5\x95Eb\xe1<\x14\xbf\ +\x99\xc2\x94\xd7W\xe3\x7fUlQbU\xd4\xf8\x7fS\ +\x15\xbe\x90c8\x7fg\x06\xd4\xa6U8\xfb'\xd7\x87\ +Y\x86\x22\xdc\x03A\xd7\xed\x12B\xfbE%V\x02C\ +CD\xeb\xc9\xc3\xb2\x05\xc8\x97\x84\x0f\xe3\x22\x0b\x1e\xdb\ +\xab\x84uS5\xfc\x5c\xc6\x83\xb5\xae\xcde\x07\x9cJ\ +\x5c\x88q;W\x96\x96\xa9\xc6\xa0\x9a\xd2\xdby\xbc/\ +\xc6\x80\xde|\x95P\xf7{-\xb6&Q\x03 \x00\xc0\ +\x8d'\x5c\x8b\x06zN\xfc\x12\xad\x1f\xd4g\xe7\x86\xfc\ +\xc1\xfb\x03\x00\xacs\xeb\xdf\xbe\xf6|\x00\xe3Z\xb8\x88\ +\x80\x1e2\x03=\x0a9\x05\xf0x~\xf9s5\xadI\ +\x02(\xae\xd1\x9ah\x8c\x9e\xe9\x15k\xf1^\x80\xb2\x82\ +\x08Q;\xc0m2*kzG\xfa\x11\x1a\x0b\xb5~\ +h\x1f\x01\x1eiJa\xa8=9\xack\x91\xfc\xb7Y\ +\xb4\xbb\xc4^3N\xa8J\xef/\x85u\xefg\xea\x1b\ +\x7f\x86A\xa2\x00\xb3.\xbc\xd8\xf7\x12f\xaf\xd6\x93x\ +\x100'Q]k\x00\xd8\x07\xde_\x0b\x00&\x03\xbf\ +%\xaf[\x8f\x1d\xf4\x5c$\xf8\xfd\x14\xa8+v\x09<\ +\xc0j\xa5\x09\xb0\xfd\xdf\xb0\xae\xa5\xc3u[\x97\xce\xe1\ +\xf5t\x0b\xd7)\xbe\xf5\x8aQ\x9e\x00S\xb5*Y\xf7\ +\xa1]\x17\xda\x0a'\x87-\xad\xcbM\xcb\xeemK\xa1\ +m\xfc`X\xc7\xb0\xc6L\x96\xef\x88\x93]\x9f\xcf\xe9\ +{~U\xc1MK\x80\xb8m\xcdPr\x7f\xb2Uh\ +W\x9b\x8f\xfb\xa7\xc9\x00\xf8\xb5\xdcHw\xc9\x8a\xecu\ +\xba?\xc8\xf1\xa9\xbcRQE\xb52\xaeKB\xaf\x17\ +9\xc7zU\xc51D\xc6\xfe\xabC\xeeb{]=\ +\xbf\xbf\xc9\xb2\xe1\xa9\xc97\x11\x9c\x7fN\xc7\xf7\xc9\xac\ +\x08\xf5\xaa\xf8\xa8\xf7z\xf2\xd7@\xc0\x9a\x12\x22q\xb1\ +\x90\x1dT\x0e\xa4\xbe\x15a\x8f\x95\xe8\x9f\x1e\x7f\xe2\x88\ +?\xeaD\xd3\xe2\xb7/\x9e\xe2z\x97\xeb\x00\x87X\xc6\ +\xff\xdd!\xa6\xa8%*\xd9\xa8\xc1qL\xee\x95H\xef\ +c\xbb\xca\x06\xca\x99\x00\x11\xc2\xa9\xd2\xf6\xdcL\xa8%\ +\xa0\xc6\xde%\xd2\x5c\x89\xea\x1ea\xdd\xfbfe\xa7\xd4\ +)3P/$\xf5u\x19\x80%\x15}xa\xd8\xf4\ +\xfa\xcc\xb0\xe9\xf5g\xf3\x1c\xea\xaa$fOLQ\x95\ +9\xe4\xec\x15\xadqq*\xf5\x18\x14\xc6Ca\x90\xa8\ +\x98\xa7(WQp\x88\x06\xd9\xb0*\x04\x1c\x94\x83\x0a\ +5VBu\xd7\xe9*\xee\xdaz\x0f\x1b%\xd1\x5c\xfa\ +Ru_\xf5N\xd6\x5cd\xe2\x85z\xec1-P\x8f\ +\xa9\x87\x13\x19L\xb1;\xda\x17\x9b\x0fm>?\xa8\xa7\ +\x02\x00\x00 \x00IDAT\xbc\xf9\xf0\x02\xb0\x14\x10\ +@\x9c0)\xc1\x85\xec\xeb%\x93\xc8\xda\xa8\x09\x00\xf8\ +\xfc\x11&\xb6\xf9\xa2\x97\xca\xde\xfd\x0c8$\xce\xdb\x8f\ +\xcc\x0e\x80\xc3\xab\xc0_/\xf1Cs\xbf\x02\xb6\xeck\ +\xe2b\x80@T\xde\x044J-\xd9\x86\xa7\x0dO\ +\x1f\x9e>\xfd\xfd\xe3\xc6c\xc7c\x17u\xedJ\x94\x92\ +\x01\xb8\xb9\xcd\xec\xbf\x87C\xc3&w{B\xd8\x05z\ +\x07\xe7\xca\xa0\xfd\x9e\x95\x7f\x22[\xd3U\xdc\xa2]\xc7\ +;6ooc\xf5h\xecde_\xe5\xa1\x18\x0e\xce\ +\x8bl\x1dj\xe2H\x07wc\x11sjI\xf9\xd9\x00\ +\xc4?\x90\x00J7\xa6O\x80=<+\xac\xed\xf7\xb7\ +\xc7~\xe7\x0f+\x11\xbdG\xb3\xa5\x12\xfa\xf3\x0c\x14\xdf\ +\xb1\xe3\xed\x8d\xf1\xf8\x86\xed)\xad\xd5\xe2O\xa7h\xe6\ +O\x97s\xb3\x12\x8f\x04\xeeP\xe6\xa9\x84\x0b\xd0\x1b!\ +d\xb3\x8c\xbb$:X\xe7L\xc6O\xdbkl\xaf\xde\ +\xe6o\xf3?Z\x93\xee\x1c\xd6\x98|\xfb\x07\x93o\xdc\ +?lz\xdf\xf7\x84u\xa2|\xfc\xb2DI`M\x9c\ +Lo\xba\xfd\xa3w\xde\xbeI\x0d\x0e\x80\xcb\xf0\xfba\ +]\xc2\x9d\x85\x85\xf2S*QZ\x92\xb25e|p\ +X7.6\xb5|J\xf4S\x00*A\x5c\x8f5\x16\ +p\xa3\x82\xa7\xbf\xac9\xda\x09\x1c\xf3\x1f\x18_\x05\x00\ +8\xff\xfb\xc0x\xcfn\x9f\xfc\xc9\xb4\xce\xfe\xa4\xcd\xc5\ +~H\xcc\xc5\xdeq\xd2\x8eW\xb7\xf3<)\xff\x95\x18\ +\x01\xdeS\x1d\xbbI1?\xac\x89\xa8\xb5V\xa5\x8a\xdf\ +\xcc\xd9V\xa0\x92\xd8\xe49ZS\x18\x00\x9c\xe2\x12\xcc\ +\xb0G\x865\x95\xef_4-\xaa\x04\x220\xeeL\x17\ +Q\xb9\xd5\xbaV\xea\xed\xa8\xbf\xee\xa7\x04\xce\xb9G\xcc\ +\xd1\xdf\xcdx\xa9\xd6\xa1\xc4\xed\x9b\xa9}\x14\xe7\xc2Q\ +\x09\xa8\xbf\xba+H\xd0x\x91\xd0\xadD\xdb\xaa\xf5K\ +\x0b\x90\xfb\xe0\x1c0\xb6\x90\xea\x7f\x9e\x07\xf5\x05\x80\xa6\ +y\xe4\xdc\x90\x00{?\x09\x98\xf5\x82\x11Fc\x80\xf8\ +\xac\xeb\x02\xd0\xd1V\xa2-\x83B\x9e\x89<\xca{1\ +\xdf0\x02\xb5H\xf1S\xb4#h\x06\x98\xee\x80A%\ +!\x94\x80\xab\xb8b\x94%\xf5\xbez\xf6\xb5@`\x12\ +\xd0\xc2R\x98\x93\xf8\x1a\xa7\x9c\x9a\x06\xd5j\x0d\xd0W\ +\xc9\xcf\xd6\x94\xd2\x9c\xc8\x84\x9ax\xac\x16P\x09i\xdd\ +\x1f\xe7\xb9)=\xe2\x01~\xce}\x96`\x8bG\xd7\xe2\ +{+`\xa9\xe2<\x9fG\xbe\xe59zu~zU\ + R\x88\xc0 !\xd2\x0dh\xc9\xbfS\xe7\x97\xb8\x96\ +_q}>\x87\xa9_\xc4x%\xc8\xce/@\xbe\xf5\ +d\x1a\x091H\xeb\x86\x7f\xe1\x07\xc4\xb1\xf6\x87\xfb%\ +\x1e5\xe6\x17\xe0\x95\xcf\x7f\xe7\x03\xc2\xba\xa9 \xc6\xaf\ +f\xa1\xa9i\xdd]\xa5\x13\xe3\x14\x07\xc8g\xc4}+\ +\x91\xd0:\x07\x96\xb1\xdfs\xa1\xcd\xbe\xf0\xf3>w\x02\ +\x07\xbb$\xaa%\x9et\xfd\xb9\xc7\xb2-\x8b\x87tT\ +7\x144\xa2Nz#!-nx\xdeH\x89\xc7\xf6\ +~a\xdd\xb8\x1e\x15\x04@B\xb4\x0c\x5c\xa5SG\x8d\ +\x84\xe6\x1f\xba\x9e\xb2H\xff\x0e\xef\x16X\x8a\xf7\xd5\x07\ +\xb1\xd0L! \xda\x17\x8f\xeb\x92\xddu\xad\x13y\xda\ +\x00\xae\x1f `\x81F\x98\x7f\xb1\xaee\x80\xda,\xb5\ +\xffx\x97\xb1c\x06\xb8\x1e\x80\x83\xf1|6\x88V\x82\ +p#\xd7\xec\xdeW\x0fzT\xee\xee\x9b\x8c\x82\xbd;\ +`\xc2\xfd\xca\x00\xb9\xe63s\xd0\x12\x86\xfd\x13\xb1B\ +\x15N\xb1\xa3\xa2\x90JL\x93\x0a;\xdc1\xacKP\ +\x05\xfcw\x0ek\x8ex\x1e\xbfB$F@L\xb5^\ +\xa2\x9c\x89;\x84\xbe\x02&\xcfo\x8d8\xea\xa5\x86\xa0\ +\xaa\xb0g/=u\xec\xaaHh\x15\xa0q \x90\x83\ +\xc8\x9e\x18\xd6m<\x0e\x88C\xb9q\x8a\xdfx\x0e\x0e\ +\xce\x04\xae\xea\xef\x01>R\xf4\xaa\x18\x01\xe6\x93'\xc5\ +G\x8bE(#4m\x84\x1b%\xe5\xf3\x80d^|\ +3\xc5\x10S\x05\xb6\x80\x0cL\x05\xf3\xcdU\xd48X\ +\x01\x88\x0d\x0d\xdazwV\x12$~\xc4\xaa\xd6c5\ +\xbf\x9aL\x01T\xb4\xfc\x1c\x15\xe0\xfcv\x8auq\xf8\ +^3\x81\xd4\xc3\x5c\xc0\x87\x9e\xa9w\x85\xb5qF\xad\ +u\xa4*(\xd4m!\xaa\x12\xed\xa4\xd0VeW\xa5\ +<\xa9o5\xbeJ\xc0\x0a\x01^\xab\xdez\xce\x094\ +\xd4\x81\x96\x81\xf7x|XG\x0dGE\xcfD\xb1\x12\ +~\x81\x91D\x04\xf3\x08\x05R\x05\xc1zL\x8a\x22\x91\ +\xb7\x020sl\x11\xc0LOm\xf5\xf8ReW\x09\ +\xf7|P)\x01\x02\x09\x8c\xd4s\xb1\x8e\x8d\x0b\xe4\xa8\ +\x05\xb8\x0e\x1e\x0e\xde:P\xc9\xc7\x0c\xc2\xa8\x899\xdd\ +\x9f\xeb\x98\x15(\xba\xc9\xc4)\xea3?\xa8b\x96=\ +bD\x1d\x0b\xd8E\x99%\x86\x97@H\xb5\xb0\xe4\xbe\ +\xae\xc0\x06e7\x0f\x18\x01\xddx\xe5\xb0\xae\xd2\xfc\xf2\ +\xb0\x8e\xa2\xa9\xa2\x03\x88\xe4\xc7T\xfe\x00$z\xcf\xb3\ +\xc2\x5c@\x93\x00($\xe3\xa6\xcf3\xde0l\x19\x1f\ +X\x01eV\xf6\xb7\xaf\x09[\xa8\xeeS\xda\xf8\xec\xe1\ +\xd9\xcb\x9c\xf9\x1a+\x08\xa8\xb5^\x05h\xce\x95[\xcd\ +\x0c\xa5\x9a#\xef@\xe0\xf7$L\xd9\x138\xbc2\xac\ +S\x83N?Y~\x10#\xe5\x8c\x04F1\xab\x0e\xc8\ +\x83\xffU\x99p\x7fd\x16\xff\xab\x80\x0e\xc51\x99M\ +5\x0d@@\x0fX=e\xd6h0N\xb7\xa6aX\ +G\xbf\x92\xfe\xec\xb3\xf3:\xaa\x8ay\x06Z\xe5\xff\xdf\ +\x13\xb6\x00\x97\x80\x94\xe1\xcd\xc3i\xc3i\xd9{\xfc;\ +\x8b\xa6M\xed\x87\xf4Oz1U\x02KE?\xbe\xbf\ +k&\x8e_\xea\x02\x1fSd\xb4R\xa5\x7fk\xcf\xfd\ +)\x0b\x93a\xbceX\x178\x87W9o\x01\xce1\ +P6OLF\x87i\x15\x9fl\xcd\x0c\xb1\xbf\xfe\xae\ +\xed/\x800\x80[\x5cc\xfe\xb6s>\xfd\x95\xf3X\ +\xc20~\x22l\x01\x90\xa9l;\xaf\xc7\xbb\x85uq\ +B\xf0'NZ\xfc\xc9\xf8\x99\xc9>\xbd\xc45%\xca\ +k,\xd9:\xee\xe2'T\x8e\xf4\x22k\x9d0\xa62\ +\x99b\xa6*\x94X\x1am\x0e\x9a\x22Y)\xad\xd6<\ +\xf1\x88\xca[\xee\xa7\x02Z\xf5\xb0K\x90\x9e;\xd9\x9f\ +'\xa3\xf4\x99\x17Q\xa9\xb3\x1e\xd6\xe3\xd1\x00\xa4\x18\x84\ +\xc6\xcaj-\xa4yC\xdc5(\xd8g$3\xee#\ +\x9d_\x13?\x00\xa6\xbe5\x9d\xcb\xdf\xea\xc4(\xf9\x13\ +b\xb7\x12z\xd4\xf1\xf4\x93[\xd4^\x89\xc3i\xc9\xf0\ +1\x1d\x07\xf5_\x85M\xcb'&I\x02\x5cZ\xe8\x0a\ +h6\xef\x9chn\x02@\xce\x17\xa2\xb5\x0aF\xce!\ +\x89`1\xbd\x88\xd0\x12\xdd\xc5,\xe3\x0fLE\xd0\x83\ +\x0f\x90w\x9f\xae\xbf\xe3k-^\xc8\xc2P%^\xe2\ +\x0a\xfe\x8e\xff\x04,d\xafv\xc5\x0b*\xaa*\x91\xa8\ +\xf3\xae\x03\x83B\x81\xd0\xfa]i\x03\xd5\xf8K\xe7\x97\ +\xebp.\xa2\xb8\xfb\x9e\x98$\xf1Cq\x80\xf7\xf7<\ +h\x0f\xbd,\xac\x1b\xdf\x96\xda\x00\xdb\xdb\x86u\x89\xdc\ +gW\xad\x12I\xa9\xdf\x9c\x11\xd6\x8d\xd9\xb6\x0e\xdd7\ +\x05\x10cs\xf3\xfb\x1a\xef\x99\x00P1\x0c\xb5\x88\x00\ +\xb2\xb4\x82\xe4\xd8\xf3j\x95K\xff\x86\xd1P\xccJ\x9a\ +/\xcecqm2!\xc6\xbf\x0a[\xce\xe5\xede\xc2\ +\xba\xbcA\x01RKc2\x0a\xc5[\xb5o\x01\x98~\ +^\xa5\xbegn\x9f\xdf\xb5\xb8|&\xac\xdb\x17\xeb\xe9\ +M\xd6\x9f\xf7\xcf\xfb^\x0c \xcc\xef\xfc\xbb\xe2\xd0\xf2\ +C\x12]\xcfI+\x89\x03X^\xb8f\x96J\x8c\xe5\ +\x09\xeb\xc2\xaf\xdfs}\x12\xfe\xf5\xb4\x0b\xf1.\xbf\x80\ +\x99)\x7f\xf49Q\xf3\x01\xa8\xae\x1f\xe0N\x84\xd8z\ +\xc8\xf8YK\x97V\xca\xda\x87\x00\x00~\xdf>q\xfd\ +\xce3q\x0e\x91\xdc\xb5\xd6J\x9eK\xbb\x88\x22A\x80\ +Z\x8f\xf9s\xbb\x1f\x84\xac\xe8\x8d\xf7\xf5\xd5\x96r,\ +=C(\xa1)\x82@\x15q\xbc{X\xf6\x8c\xbe/\ +\x0f\xf4C\x12\xa1\xfe\xd3\xec\xdd=1\x1d\xc1\xd7:\x84\ +\xfd\xb7&\xbbCWyC\xfdW\x99\x87\xf4\xf6\xd4\x91\ +\x0e\x19\xb4\xa0\xda\xc1\xb1o\xf7s\x12\x0bb\x81\xa8\xf8\ +\xf1=\xd5\xda=\xbb\x83\x0a\x90\xe0\xd5\xdf\xed\x7fo\xaf\ +\xd5\xfb\xeeu\x11\x94\x0d\x0f\xec{\x9d\x08\xd0\xb9y\xdf\ +/\xdd\xdd\xb7\xe8Q>k\xd5z\xb0\xe9\x1c)\x87$\ +0\xe5\x10\x1d\xf8\xc4l\x88\xd8\x0d\x99\xa8\xab\xa0\x10\x19\ +\xcc\x80\x7f87lz}\xd7\xf0\xceaJ,\x87G\ +\x84u\x89\x97\xc0\xdf\xfcs@\x90J\x1eJ)\xc7\x97\ +\x94\xe2\xeai\xd6S\x9e\xc0BUH9Z\x9f\xcf\x86\ +Jds\xf3\xc1\xb0N\xbd\x96\x1az\xb6\x04\x14E\x94\ +CF\xa1_\x8dW)\x8a\xb4D\x0fR+\xf1\xd43\ +\x99\x01V%\xb4\x9e\x1f5\xf3\xacX\xd6t\x8b\xa4\xe2\ +\x09\x80\xa6\xbf2\x8b\x14\xba\x1fz\xcaQ\xce\xae\x9b\x01\ +\x87qt\x99\xa0\xd6\xf8\xb2\xa4\xde5)\xcd\xdbw\x94\ +\xc6L\xb4\xb7\xf7\xd9\xdew{\xdf\x16p\xcf\xbd\xc8\xf7\ +\xc8\x0a\x90\x00\xd9\xba\xb8a\xde\xaf\x9be+\x86\xf9\xc1\ +\x12\x1eH4\xea\x8c\xfbo\xff\x03\x02\xa85k\x11\x92\ +@JH \xdd\x12\xbf\xd4\x0cA\xb1\xaf\x80\xc5sv\ + c\xfe\x00hT\x0c\x1c0\x02\x8d<\xa0J\xd3\xc0\ +\xf8\xac<\x08\x1c0\xdbK\x84u\xd4U*\xce\x1c\x22\ +\xa0\xc3A\xa2\x05\xc9X/\x08\xae\x80^o\xe5K\xc2\ +\x16\xa6J\x89\xc3A\xe2U\xce\x1dD\xc4\xb9\x04\x8cz\ +\xef\x1d\x00\x12\x5c\x01\x9a^k\x8c\x1c\xc0\x18\x80\x8a\x1a\ +vV\xd81\xaeJ\x8b\x81\x8a\xbc\x04\xf2\xfbs\xcbO\ +\x8d\xb7TQ\xc9\x9eq\xd4\xfd\xa2d\x12y\x02H`\ +p\xf1#\x02;s\xc7s\xcc\x1aq\xbbR\x81\x17\x10\ +\xda\x9f\x12\xd2\x1co\x13D\xfb\xa0\xda\xebA\x1b\x9f\x16\ +\xd6\xf5vg\xc0W\x22\xa0\xfc\xa8\xf1Y*4\xc9\x88\ +\x88\xbaYT\xce\xb6\x07\x86uS\x0a\x00y\xfb\xe4:\ +v\x9f\xaco\x94D\xbd\xf6\x0e\xe2\x14M\xa3\xd6\xde\x12\ +\x97\xe7v\xfe\xf6\xbf\xf3\xe0UY\xd0\xda\xe0\xf7\x0f\x9d\ +\x99\x13\xd3\xa7\x9b\xb5.\x1e=30\x86;\xcd\x00\xab\ +\xca\xfd\xe6\xf5\xb3Xj\x01\x9a\x09$n/\x15\xd6\xbd\ +? \xf5\x84\x19\xd8\xac^~\xcc \x95\xd2L\xc0\xb5\ +j\x19\x03Z@\x05\xb5a\x81rVl\x86\xc3\xc2\x96\ +\xf5K\xf4q\x0a3\xe6^o\x8c\xb3Ge\xc0k<\ +\xec\x1ff\x82\x0bh\xd2\xea\x92-6Ey\x8e\xfa\xf1\ +\x93:f\x03\xa6M\xb6\xb8\x95\x96O\xfa\xad\xf2\xdfq\ +^\xfd8+z\x07/\xe3x\x8b\xd2\x9c@\xd3p\xff\ +\xb0NC(\xa8\xd1\x93#\x1bo\x16\xd6\x01G/\xd9\ +\xf1\xd26\x0d\xe1\xb8l\xed\xc9\xf3a\x0a\xb7\xce\xdf\x9c\ +\xdf\x89.I\x10\xbe5k\xf1L\xf7\xec-\xadU1\ +\xfde\xf5j\x02\xb6Wj\xef\xb5o.5\xc7\x13\xa8\ +\xc6\xc3k\xc2\xba\xb9\xf6\xb7\x0c[4\x19J{)\xea\ +\xb9\xbf\x9b\xcf\xed{\xed\xfc\xf9h\x0b\xcc\x7fc\xf2\xf4\ +\x1d\x03f\xfcVX\xa7\xb1\x94qDi\x0e\xa8T\x02\ +\x96i-\xf0\xb7I\xcd/\x91<\xadt\x02L\x9a!\ +\xfc\x02\xed\x0b\x15f\x15X\x01\xb2\x84![\x00\x89\xcb\ +\x16\x90\xade\xc1\xf9d_\xfb\x92\x10\x08L\x15x\xf8\ +Is\xe9Q\xa3\x7f%\xac\xa3\xf4\x8b7\xa22x\x9f\ +\x85q\xd0\x94\x08\x8e\x99\x19W\xdb\x97v\xcf/\x00\xad\ +\xcfv-\x85\xce\x1b\xfe\xca\x18.\xe7\x96\x8a\xfd=\xe6\ +\xf8w\xfb\xa6\xdc\x17\x02nb\xc2Zl\x8c\xb3\xc3\x88\ +\xf3\x05\xd0N\xf1\xd6\x1aK\x9b\xfb\xa5\x98\x12\xa6\xc6`\ +D\x00V\x01N\x00_=\xfd~\xceT\x1f\x893\x86\ +\x82\x04\x0c\x80j\x9aT\xfa\xf5j\x09\xd32\x97\xcc\x98\ +j\xf1ZO\x1f\xf8B^\xcf'Su^+\x94x\ +\xcb9O\xf4\xcf\x14\x90L\x5c\xab\x10\xa0\xa5\x11\xc5\x9a\ +\xe6\x97^z\xeb\xcc\xbap\xfd*\xc1\xb4y\xb2\xf5\xa2\ +\xe2\x15S\xb2\x88\xaa\xd1>\xb1_\xd3\xff\x01\xeeKK\ +\xc5u\x03j%dD\x8c\xb5\xb4$\x00P\xbd\xfb\xc6\ +\xfc\x01z\x00\xeb\x12@\xd7/\x1f\xc1\xe4\xcbBB\x01\ +f\xfe\xfdJa\x99\xf7\xfc\xd6E\x88\xc1I\x18\x13\x18\ +\xab\xb8){\xbd+\xd1s\xde\x01\xf6O\x09k\x09\xec\ +\x8fZ\x02\xfb\xed\xe9\x14\x9c\xce\xb5\xedaa]B\xbc\ +j\xc9\xa91\xa1\xe26\x05!LM\x9fK^\xe3k\ +-\xde\xace\x05\x90\xb3fb\x8b\xf7\x9c\xcf\x80\x10\xe7\ +\xaf\xc2\xa1}e=\x9an\xa5\xa5F\xe1\x02\x03*\xe3\ +\xf4\x12\xcd\xb3o=\x17\x95\xf1\x153\xa1\x80\x02y\x80\ +\xf3T\x9c\xa3\xc0DL\xd0\xf9\xa7\xf5\x02P\x01`\xf1\ +\xb9\xc4\xcb\xd6\xb9\x96\x11\xf9\x8d)D\xc9d,\xf1\xea\ +\x9b\x87uy\x85}\xb9\xce\x0b\xe57\x00A\xa2\x9c\xd6\ +k\xc6\xa9\x0a%\x98.\xbbj\x9c\x01\x91\x92\x10\xbf\xb8\ +q\x87\xe0\xb9a^\xdd\xb0\xc0C~\xd2m\xb0\x5c\xb0\ +\x12\x82\xf1s\xb3\xaam\x13\xfb\xf8Pw\x00$\xe2\xda\ +\xdc\xdf\xe9\xe9\x00>\x937\xeccK\x80\xde\x00\x84G\ +'\xa5\xf5\xd1y0H\xe0\xf7\xee*\xf4\x02\x1c\xc8T\ +V\x9eZ\xc7`?Wz\xf5\xff\x1b\x1cp\x99\x0e\x18\ +\xe0P{\xd1\xbf\xfd\xba\xff\xdf\xff\xde~\xab\x9f\xbfl\ +:\xa0^4\x10 \xb1\xa6\xd6\xa4\xf8N\x01+\x90\xa5\ +\xa8\xbf\x042\xbfOX\xd7*@\x0dYo\x93\x0a\xca\ +c\xc3:\xaa\x9b^\xde\xf33\x90\xbcAn\x88?O\ +\x15H\xc0@\x06\x10\x9b\x8fF\x0d)\x0f\xfa\xe9}v\ +\xfeR\xd8\xa2\xf2<\x1c\x196\xbd>%\xacC:\x93\ +2X\x1b3\x0fz\x94C\xbd\x935\x1e/7Hi\ +\x17$\xe2W\xf3\xa0U\xdcSL\xab\xc6\xf2e`Q\ +\xc8\x1a\x07 A\x12\x888\x88T\xa2\x8ce\xca\xc4\xa1\ +z\x8f\xb5@|x\xa6\xe6Wo'\x84\xd5\xbc\xed\xac\ +D\x95\x83\xe5\x80\xc7t\x5c\x10G\xe2x\xd9\x8b\xdf\xc2\ +\xd5k\xb5\xc4l\xae\xc0\x19\x1fHS\xc0\x81\x94c\xb3\ +J\x9d\x97(\xcc\xf9m\xf2\xf52\xdf\xf5\xd2\x09$q\ +\xfc\xa7g\xc5-\xdc\xdb\xfe\x1d\xf0\xa3\x17\xd0:\xcf\x83\ +\xd5z\xd9>t{\xd4\xf6\xa8\x0e\xd95G\x19\x10\xe5\ +K\xa2\xf3\xbeD\xa0\x1d\xdc*\x89\x80,\xc8b\xb6\x1e\ +\x94\xda\xee3S\xc4+)\x9f\x98%\xd5\x13\xa9\xf2\xce\ +aq\xc0\x0e\x0a\x81_&\xccEU\x8d\xb9\xb4\xbb:\ +\xca\x94^N\x88\xe9~a\xd3\xeb\xd1a]\x85/\x13\ +\xe6\x0aP\x05\x90\xee\x17Q?\x14k\x81\x10`\x02\xb0\ +I\x9b\x82\xba\xbd\x80\x07\x19(+\xb9\xc5\xf4\x10PJ\ +4\x89\xb1@\x84\xad[\xbd\xd2\xa9\x92[\x957\x08\xbe\ +\xf9\xc7\xd9\x22R\x09\xb9\xf1\x9a*A\xfcBVB\x0a\ +\x00@\xfduP&%\xbc\xe6\xd3\xa2\xf0Q\xcbG\xa5\ +\xa3\x02\x9f\x89\x8d\x0a\xa8Dn\xfch\xd8R\xa1\xa8\xb9\ +\xe5\x00\x00\x81kRY\x8d%,\x000\x0f\xfe\xf1\x1f\ +\xc2\xba\xb9\xe4\xd9\xbb?\xbc\x22l\xfa\xff'\x85u\xd4\ +z\x89g\xf6\xf2o\xff(lz\xbddX\xa3\x94\xcf\ +\x80\xe3ms\xff\xf8|\xe6\x1e'\xf0g\x9dV/\xa6\ +\x04\xd0\x81\x8f\xb9$\x10\x11p\x98\xcb\xae2\xe3\x00\x7f\ +\xf3\xfc\x1c\xc6g\x85M\xd7\xff\xa0\x99J]\xa2\x86\xfc\ +x\xfa\x9b)Mk\x94\xd5\xe9\xae\xb6\x84t\xfb\xb3\xb0\ +\x0e0\xe4Osl\x1bM\x8f\xcd%\x12x\xa4\xfd\x00\ +\x80\xfd\xdd\xb0\x8b\x004\x01'\xc6\x00Ilr\xac\xdd\ +p`\xd8\xf4\xba_\xd8\xd2\x1a\x82\xb1\x17u\xfc\xa8\xe4\ +k\xc5\xc3\x88\x99V\xdbo\x0e\xb7\x9f\x13\xeaX\x87D\ +\x0f\xeb>}oNdU\x9e\xab\x02\x1b=\xb6o\xef\ +\xee\x87\x96(\xe3d\x83\x01vf\x16\x02\xbe\xb1\x9c\xaf\ +u>\xd0\x9a\x09\xe0\xe9\xaf\x93j=\x9dO\xe3\x1d&\ +\x8b\xf5\xfb\xa3\xb0\x14\xc7}a\xdbom\xac\x9c\xc4\x08\ + \xe4~\xd1t(\xf1L\xd7\xf5\xb9i\xf7\x7f\xae[\ +\x0f\x0a!46\xf8\x01\xf7\x99\xd6D\xae\xf3\x06\xec\xec\ +\xdf1\xa4T\xb41sh\x96$\xa0\xbe\xfb\xc8\xc9\x8e\ +\xeaDW\xff9\x13\x0b\x15jL\x12\x01j&\xf0\xe5\ +\x0f\x9c\x8b\x18E4I\xc4\x17\xd9\xc2T\x00&f\x9a\ +\xca?\xaa4\xd5r\xbd\xf8Zp\x8e\xd81\xb7\x00L\ +^\xafU\x04#]\xf8l\x17\xcf\xe4\x18\xabj9\x22\ +\xa2j\xac\xa9\xf8p-\xceE\xcc\x8c8\x95\x7f\x17\xa8\ +\xf3#\xd1\x02\xfa\xee\x0eP\x15\x7fF\x98\xfb\xe5\x0e\x90\ +\xe3\xcf\xa7x\xb2\x8d\xbb\x0d\xde\xe2\xb3:Q\xb3`\x06\ +\xcdb\x9es\xab\xdd\xbe\x99\xf8\xf1\xf3\x00\x0d\x15L\x94\ +u\x09\xd0Y\x09P|o\xd5\xc3\xcc\x9f\xfb\x9c\x12\x85\ +\xf4\xa3\xe3s\xc3\x16\xff[\x09\x80sn\x8f\xb0\xe9\xf5\ +\xc6a\x1d\x93)\xfd|1\x1c\x01\x84\x12/\xf1\x98\x0a\ +\xb2\x961\xc0\xa9\x9eq\xf7\xcf\xfd%2\x9a\x05\xa1\x02\ +.\x005\x80\x98\xb5FV\x00\x00_X\x18\xc0\x05 \ +\x98\xd6\xa4\x95'\x86\x0c\x1e\x9c\xadO{w\xad\x02w\ +\x0a\xeb\xf2\x00\xeb\x9b\xa6\x89V\x00\x009Q9Tz\ +\xf1\x8d\xb9\xe7ZLi-\x01\xbcr\x1f\x17SY\x82\ +eNzj\x9b\xd0\xc6\xa8x\xce\xb9\x07\xa0\xd4\xf2\xa4\ +E#\xc5\x8c\x0b \xb9\xc5<\x9dI\x8bR\xf9?\xf7\ +\xcd\xe7N\x00\xb0\x0ab\xa6)\xd1t\x00\x88\xd0\x14\xb1\ +/%\xc6\x18\xc0Dc\xb5\xc0\xa5\xe8q\x8d+N\x00\ +\xb0\xf26\x80\xd1Z#\xc4\xf9\xc6\xdf\x01\x1a$\xe4\x0a\ +\x8f\xe2=\xffN\xec\xdd<{\xe2\xca\xbe\xf8\x1b\x09\xaa\ +u\xb4n\xe5\xe07\xfc\xfc\xba\x80\x8a\x01\xab\xb5\x11\xe3\ +T|a?\x02\x1a\xd6\x22\xa2\x19\xff*\ +\xd1\xef\x13|\xd4\x9b\xfdR\xedw\x0d \xc4\xbb\xed\x9b\ +\x7fg\x9f\xee\xfd\x01\x0b\x11N^\xbe[\xf0A8\x9c\ +\x12\xdd\xed\xb1a\x0b\xe5\xb1(N)\xd6Vbe\x19\ +\xe0I@\xabg.\xc7\xff\xa9\x88\x19\xe7'p\xae\x8a\ +\xce\xbfN\x89\xf0\xbf6\xb5\xf2O5\xb5rb]\xa9\ +~\xba\xf3;a\xd3\xeb#\xc2\xba\xc4*\xa9\xac%\xf6\ +\xa7GEEE%\xc8\x98)\x95\x97T\xbb,\x0a3\ +\xaa\xba\xc4\x03UZ\xa2h\x01\x0b\x98$\x96\x19HU\ +b\xad\x87\x1a\x22\x9b\x00HQ\x9a!\xeb\xee\xbf\xb9\xe2\ +\xae;\x1d}\x0c\xefk\xe3\xfb\xf4\xfas\xc4T\xdcU\ +v\x89\x13Yg>\x0f j\x9f\x5cO\xa9\xf2\x5c\xf3\ +e\xf5\x8cA(\xaf5\x05\x1a\xd7\xca\x1e\xd4\x9fw\xbd\ +`*\xd2\x00\x03\xeb#\xee\xe6\x95\x16$}\xfb\x90\xb0\ +\x5c\x07\x0f\xca1v\x87\xe7\xf4\x8c\xedR!m<\x93\ +s\x1b29\x8f'\xb9u>?T\xa2\x05\xe0\x98\x0f\ +\x88L8\xda\x8c\x8a\x0f,b2\x15Hg\x80\x12\xc3\ +\x0ac\x5caM{\xd0;\xf5\xb4\xb0\xce\x91f\xebC\ +Q,\xadk\xc8>\x7f\xe2\xa0\xa2-\xe0\xb9s\xa0z\ +\xd9v\x87u\xafIiS\xa16^\x0e\xe5\xb1\xc4\xe1\ +\x1c\xd4\xb4*h\x98X7+\xe4\xb4\xa6\x17p\xbc\xa9\ +\xb1Qb\xa6y\x00\xd6x-\xe3\xe6\xcc-\xdf#\x0f\ +\x1c\x81\x84\xfb\xa1\xc7\xd4\x01\xed+\x81\xad\xea\xe1\xcc1\ +K\xe5\xf7\xb2\xf2U\x81\x84\x80W\x00E\x9cH@\xff\ +\x9c\xb0\xae\xe2\x85\xca\xff\xfba\xdd\xc1N\xe4\xc8\x81\xab\ +\xd5\x07\xf0\x83j\x98\x81\xe0pPXGi\xcdJ\xa6\ +\x83\xa9\x98-\xa9\x1e^\x1a\x02\xc6\xe5P\xe3\xa6\xfd\x90\ +\xd3\x1c\xb6\xef\xc9\xf1:\x19\xc8\xe8y\x96\x98\x16#E\ +\x85\xda\xf5\xbb\xee\xa4\xd8m\xee\x94\x22<\x10t\xe3c\ +\x05l*5\x80(~\x07\x05\x1a\xa5\xd9\x1cp\x89\x9e\ +\xf9\xbf\xeb}\xc9\xef\xa1n\x1e\x98*\xf5'\x865\x86\ +\xc5|\xdd\xa6\x0a|b\x9e\x0eQ\x89\xa7i;\xd9\x93\ +]\x00\xd4\xdd\xd2\x1fch\xd0h@\xe5\xe7\x9fTJ\ +1_\xf6\xccs\xd1\xf9M\xe4\xd4\xdfK\x86P\xa3D\ +\x9f\xd91I\x88b%\x13ex\xdd\xf07\xc3\x14\xd0\ +\x8c\x0f\x1d\x8f\x1a\x8fj\xd3\x16\xda\xef\x0f\xbf=\xdc%\ +D\xfc\x9a\x08\xec\xbf\xb6\xfb\xfc\x85v\x9f\x8d\x0d\xbd\xd3\ +\x8e;F\x05\xbe(\xf8T\x8bM\xbb0\xbeM\x055\ +[\xa2j,\xa6@\x10\x80f\xbcj2|\x86G\x87\ +-\xfe\xbc\x98\x1f\x98fA\xe9}\xd6\xe2\xf7&/0\ +Oo\xf1~\xc4\x14?\x9a\x09>\xcd\x98kN\xbb\xe0\ +\x9a\xdd|\xe7\xbe\xd0\xf1\xe3\xee|\x07\x8ca\x84a\xde\ +\x04\xe0}\x99\xae\xc5\x0b\xb5?:\x80\x9f\xb7\xc4\x0b;\ +\x0f\x9b\xec\xf0e\xacm\x8d1\xa4\xe1r\xef\xed}\xb6\ +\xf7YZ\xd0\xaaU&\x13\x0f\xfe\xad(\xbd\x7f\x19\xd6\ +\x8d\x97\xa4\xf5\x91\xd3\x1eT\x90\xf8\xcb*\x18$\x83\xa4\ +4J\x8c\x87K\xf1\xd8b\xa2\xc4_\xbb\xe7\x9ch\xc7\ +\xb9Q\xfb\x99\x9f\xb6^1\x03ME\xb1\xaf$\x14\xe2\ +H\x81\xab\xd6G\xe7\x06\x15{\xe7\x81\x0a|\x8e3u\ +\x9fP\xc6[\x22\xfd\xd1\x0eh\x01\xe0\xf2\x9b\xc4\xf9\xb4\ +\x08\x9d\x92\xda\x0e'\xa7\xb8\xe7m\x93i\x9a\xc0q\xb5\ +\xa8}2lI\xc0k^\xf8kr\xbc\xa2\xfb\xae\xa7\ +Z\xc2cz\xc9\xa5S\xac\xf6\xd7\xc2\xa6\xd7\xef\x87u\ +\xd4f\xad\x9c*\xb6\x18$\xc6\xcdIDU4%\xf6\ +\xebB\x12\x0a>m \x89\xc2j\x99\x80\xfd\xbf\x8ei\xa7\x15\ +\x13\x13\x80\xbf\x97\xb89o$*\x18t\xfcj\x02X\ +\xa6\xf5\x94\xb6\x8e\xc2\x08\x06\x08f\x0b\x7f\xe1\x9c\xc4\x00\ +\x92\xd8\x01\x8eT\xf4\x9d\x9b\x00\xbe\x04\x0c\x87\xc7\x86u\ +~+\x19\x11*\xf3kF`\xc5M\xc4\x94\xe51\xae\ +\xc3\xfe\xa0\x0a\x8f9(a\xa4!r\x8d\xb0N\x94:\ +\x19\xa3\xc5\x10\xca\xf3\xa1\xf6\x8ds\xcf\xfd\xa4\x8dc\x9a\ +\x95\xb8\xec\xc79\xf6T\x02\xab\xf0\xaa\xd55\xe2\xd1?\ +\xc8\x96\x90wt\xf7C\x9c\x0cpY\x01\xe05~\x11\ +\xe0\xa0W~=v\x90f\x0dM\x91\xb5\xf8\xb3u\xb8\ +\x1e\xef\xe7\xf7\xe5[\xfc\x86VF\xd3Nr\x9dW\x01\ +b=\x15\xce\xf5\xfb<\xe2uL\x875U_\x02\xed\ +\xbe\xba\x0e\xf7\xdd9\x80\x11\xc0\xef\x89\x8f\x14~\x12@\ +\xd2JX\x0c\xf6\x8c{\x15.J\xab\x89&M26\ +LW\x13_\xed>&\xac\xd3.\xca\xf3\xa6>\xa7\xfb\ +\xe3\xba\x88F*\xf8\x89\x8f\x01\x10\xd6Y\x16\xd2v\xb5\ +\x8f\xf1\xb9\xee\x83\xc41\xf9\x8fIe\xf8\xe7\xae\xc2D\ +\x04\x0cE\x1b\xf5)?\xd0x\xb5\xc9\xae:\xbd\xde6\ +lQ\x01\xdf\xbc3\xf4\x90\xbb\xb1M*B\xa8$\xa1\ +u\xfa\x97\x99h;\xc7\ +\xda\xfdW\x8eo\xb2\x01\x8d\x19\xd32\xa1\xe2\x92\x01\xbc\ +Db\xe7ia\x0b\xd2[\x9a\x11\xe6\x1fc\x00H\xac\ + `*9z\x9f\xb2\xe2Z\x22F\x12x\xf3\xcd\xdd\ +\x17_z\x0dS|\x0f@P\x9f\x83\xc8\x87\xc0HO\ +]&\x00\x85L\xdb(\x10E\xe3^0\x05R$\x04\ +\x05\xac\xe6.\xa3Z\xd2<\xc8Dd\xf3\xff\xc2\xba\x04\ +\xf0\xcb\xd9\xc3\x0a(\x91x\x12\x19#V\x13\x12\x8f\x8f\ +\xebD\x04\x1d\xc0\xe6\x1bcr\xf4S%\xb6\x1d\x05K\ +%\xdcAc\x9c\x1e\x8a\xd7\x8e\x5c\xe5\x1c\xf7\xc9Y1\ +O \xa3(\xf0\x0e\xe2\xf58\x1d@\x06\xc7\x88i@\ +\xd4\x040c\x9d\xea\xb1B\xb5\xca\x8a\xed\xf6\xd3\xdbV\ +\x89\xd9\xee\x0c\x9b^/\x1f\xd6%\xa4\x1c#$:\x0f\ +Rc\xa8J=\xfdKaK@\xb0\xbdFX\xf7\xbd\ +\xcaB:T-\x01\x12\xaa\xea\xcd\x16@\xe7\x94\x88R\ +\x87mj\x8c\x8b\x98\x5c\x05x/\x0d\xeb\x188\x80'\ +\xbd\x9fZc2\xf1\xa8\x96\x9c\xbc\x8f\xc1\xa3\x0a&U\ +\x8diS\xf1Q\x11Hq-\xfb\xa8\xa8\xbd\x99\xa88\ +\xc8+\xa0Rq6\xb5\x81v\x87\xb9\xf0I\xb9\xaf\x8a\ +\xb6D\xe5\x8b\xa9n-\x01rpdB\x5cL\x17T\ +FTM\xd3`\x1c\xa4\x98(*{(\x8c\x12yZ\ +\x11z\xd8\xf5\xea\x1b\xab\xf6\x96\xb0\x8e\x01\xe4\xfe&2\ +?>jffj\x15u\xf3\x88\xa4\ +Z\xbft^g\x9b=\xe7\x80\x92\xbf\xb0>*\xc0x\ +P\x22\xf6\xbf\x9c\xcc'\xe7\x1d\x06\x96\xc0\x0f0t\xf3\ +\x5c\x8fq*|\xbb\x0b\xc4.\x96\x89\xd8W\xa6\xa7=\ +W\x9c\x9e\xd4*N\x98H\xfc\x85\xdeK\x94[\xfe+\ +[4\x86\xcfN6\xed\x83\xe1\xef\xc3:\xd1^\xe3E\ +\xed#c\x851\xbd\xb2\x95\x01\x10\xb1\xf9tX\xb7\xbf\ +Bt\xf3']B\xa0U,\xbc\xfd\x94\x18\x0d\x0f\x99\ +\xecA\xd9\xa2\xf1\x17\xad%\xaa%\xca\xd3=\xf8|\xbb\ +\x0f_O\xe6XR\xc2\xa7\xddq\x8f6\xdd&\x13\xd2\ +\xed]\xc2\xda90\x9f\xf7\x00\xb8\xecMn\xe3\x13\x8f\ +l\xfb\xe8\x94\xb6\x8f\xc4\x05\x18i\x00\xe3\xa8\xdb\xffE\ +'\xe6\x9a\xe7P\x03\xd8\xdf\xb4\xac\xdf\xcdya\xddt\ +\x95|\x9f\xf1\x8c\xc9\xfe-\xd7\xf3\x1d\xbb\x80ZeG\ +\xcb\x88\xf3.+_\xc3\xc3\xc3:`[@\x1ai\xe7\ +\x93s\x8c\xdd\x87\x97J.\x06\xca\xf8\x80\xb0\xae`\xe3\ +UA\xc1\xb9\x0b\xf0\xd2\xab\xfd\xe3\x99AQ\x00\x9b\xc4\ +\x9c?\xe0\xb7\x9d\xbf\xb4r$\xae\xe2(\x957\xf1\x93\ +J\x9b@\xdb~v\x9e\xadE}\x01\x08\x98\x10\x97\x9b\ +\xa2\xad\xcb-\xcc\x8b*|\xa0\xb8\x1bS\xad7\xb7\x1f\ +/\xf6\x83\x04\xcac\x9f\xbd8lQ\xd9\x17\x87\x84\xe4\ +l\x88\xce\xd6\xf4\xa4{eB\x8e\xc2+\xe1I\x00p\ +\xfcXX7\xbe/\xfd\x8d1\xa9\xd5\xfa\xf1G30\ +\x5cb\xae\x123\x0c4\xa2y\xd6\xd9Z\xbc\xcb}\x00\ +\xe4R\xe9\xf7{\xa9\xedT\xaa\xf0*\xf7D\x84%\x86\ +\x80\x16\xe7\xbau\x04\xc8\x90\xc8\x01h\x00\xaf\x18T\xb4\ +\x060c\xb5T\x02\xe4\xc4\x85\xc4\x07\xc5+y\xbf\x0a\ +pR\x99\x97\x10Z\x874u\xd2oT\xe2\xaf\x02\xae\ +\xf0dL\x1f\xd1@L\x84d\x12\x10\xa3,\xc0(\x81\ +\xb2\xaa\xf8c|(h\xd1hr\xbeg~Rb\xd1\ +>\x9f\xf1\x9c\x0aC\xce\x0f\xf7-\xd7\xbf\xf5U\xcf+\ +\xd5\xfb\xf9\xa1\xf2\x0bD\x86\x13\x88(\xe6\xa3q\xb2\x18\ +\x1e\x00]L\x0dq\x16\x80J\xde\xe4+\xff?\x91\xc0\ +\xda\x87\x12\xce;7.j\x89\xebM\xabb~\xae\xe7\ +dbl\xbfJ,\xd7\xe3\x06\xf3\xbc(\xc6\x0c@\x8c\ +\xff\xa2\xc5`\x9d[?\x18'\xe2\x11q\xa4\xd6\xc3\x04\ +D\x8a\x81\xe3\xfcr^\xd3\x8c \x06\xe8\xef:\xd7\xe5\ +c\x80c\xad\xbd\xf2/\xfb\xc99\xea\xb9\x01 \xec;\ +\xfb\xc2\xcf\xbb>\xd36\xb4\x88\xf1w\x80%\x8c\x22\xfb\ +\x09P\xb4j\x05\xaa\xc2\x82VJL\x05\xad(\xa6\x02\ +\xa46\xdaxH\xd82>\xb3\x18o\x0a\xf7Y\x10\x14\ +\xa7\xb8/\xe3\x17\xc2\x16\xa6\xec\xe6\x15aK\xbc\xb3\xab\ +\x1d\xbf\x81\x5c> ,\x91\xd6=:\x04K\x0f\xeb\x8a\ +\xda\xda\xd4?\xa7\xc4s\xdc\x1d6\xbd^j\xb2\xbd2\ +\xf1\xff^7FLOD\xa6&\xe5\xb8\x8cYrc\ +RU\xfa\x02j\x9f{w\x0f6\x8e\x93K\xaeT\xfa\ +\x05\xf2\xe7w\x09\xf3\xd8\xc8\xda\x95x7\x8a\xd97R\ +\x04\xec\x0a\xdd\xcfs\x90\xc4\xfcL\x13\x884q\xd3%\ +\x8c\xb1mvvc\x02\xa9\x80\x07\xf5\xf7\xbc\x8e\xf2\xe7\ +\xbaW@\xc1\x05T&/\xd3\x05\xe0zm\xc2\xc1\x5c\ +\xaf\xdb\xc0\xb4\x16\x00\x0a\x97kG\xde\x12\x00C\x88Q\ +\x7fTP\x8c\xa7#\x16\xc4\x11~\x22\xac!\xcf35\ +\xf2\x8bs\xc0\xbf\xf9\xc7\xa4H\x9bco\x9c\xa3\x03\xc8\ +u\xa3\xd0fe\xa8\xc6\xec\xa1PI$,|\x1bV\ +\xe2\x9f\x95\x8cR\x01G\xc1'RhA\xea\x09#\xc2\ +#\xa0\x80\xe8s\xdc\x90e-\x05\x1c0u\xe4\xec\xa9\ +6\xbe\xa8\x80&\x894\x84\x8c\xe8\x9a\x84\x16\xf0\xc01\ +\x18\xff\x95\x89\x04 \xc9\xc6\x8b\xa9\xd61\xd7Z\xa0W\ +\xeb\x8fCQ\xc1\xb8\xe3t=\xd1\xeb}\xd3\xe9\xc0\xba\ +\xe9\x22.VS\x03\x88iI,~\x1e\xb6L\x99\xa8\ +\xc4=55j\xdd\xa3v\xebu\x96\xb0\x7f\xbc\xd5\xf0\ +\x17\xc4>+\x05S:>\xf7\xcc\xff8\xc7\x8f\x09\xb8\ +T\x18\xacK\x22Rz\x8dS\x04\xaaz\xad\x04b\x80\ +9\xd7\x0d\x10LQ\x9dz\xffD\x1a\xb7{\x85M\xaf\ +?\x0f\xeb\xa6\x1e\x08\xb4!\xa2\x99\x80\x8f\x7f\x14\xd6\xcd\ +Ow0&\x22_\xebB\xa5I\xe0(\xa0H\xaat\ +S\x15\xbf^\x07p\xaa\xf0\x99w/q\xd9\xb9\x1d\x1a\ +Pq\xcd\xed/o\xaf\xb90=*q\x11\xf0K\xd4\ +\x01\x5c\x0e8@\xdeOr.7\x913\xbdt\x98F\ +\xc4j\xf4\xfe%\x05vs\xa7\xb0.\xb0\x16\xf8\xd8\xef\ +\x803\xad\x01T\xa1\x13\xc8\xa9\xc0\x8aX\x9aq2\x9e\ +\x17q\x18\xbf\xa7g\x0c\x80\x94\xeb\xa4(bz\xce1\ +ur\x9f\xa2\xbaU\xa0\x0dP2v\x86\xd8\x0djr\ +\xefGwu\xfbDB-\xb0p\xa0\xdfw\xd6\xba\xa8\ +}\x9b\xd7=\xfcnX\x97\xa8$\xd0\xa1\x85\xa0\x00\xcc\ +\xdc?\x00\xb6\x13\x8f\xb4\xdf\xf3\x5c\xda>\x22,\x13\ +\x99\x87-\x15b\xf7\x0b\xd3\xcf\xf4\x8a\xe1aa\xcb\xf9\ +>\x9c\x1e\xd6\xf9/\x81p\x9c~_\xe9\xce\xe9T\x1d\ +\xaf\x96\x02Z%\xae\x07@H\xa3\xc3T\x90\x14e\xae\ +s6\xeaa\x01\x90>,\xac+\xbc8\xdf\xf8wq\ +\xc2Z\x940\xa7\x22\xb5h\xe9\x12]A\xc7\xfeWi\ +\x96\xd8\xf2\x0f\xcei\xffn\xec\xa0J\xaa\x8a\xa2\x04R\ +K \xff\xeb\x1cSh\xe1/\xa2\xf2\x7fr\xd7\x22\xc2\ +/\xe5\xfb\x97\x86\xc0\xc5fJ~U\x001\x8e\xf2\xe7\ +\x8b\xb2\x9f\xea\xf7\xc6\xea\x8e_\x0d\xeb\xce\x99\x04\x86\x15\ +d\xb6\x7f\x16\xd6\x01=*\x9f\x80\xc7\x93\xc3\xbasU\ +!I\xc5[Baj\x92q})\xb6]\x8c\x1ab\ +~\x189\x80D\x85\x0c\x05\x06\x80\x0e\x7f\xa0\xc5\x84\xf8\ +\x9b\xe7$\xf1\xb2o\xfd>\xc6\x93\x84\xce9\xee\xfc\xc0\ +(\xc8\xd6\xc2b\x0c\x88\xfb\x9do\xc6\x06f\x01\xa9\xc6\ +\xa9\x01\x1e\xc4\xfb\xd6\xa5\xeb\x02pg\xcft\xc5?\x0a\ +J\xcf\x98\xd2\xdfgtq\xa8\x96/\x09\xeeC\x92\xb1\ +@\x83 [\xf1J\x1b\xc3\x18\xd0\xfc\xbe\xce\xa9\x04r\ +*^\xb5\x0f\x9d\xeb\x98\xb4\x18\xaa\xa6+\xd1\xe2\xc9\x02\ +\x91\xbc\x06S\xba\xc4\xb7\x156\x8c\xf1\xfb\xb5\xb0n\x7f\ +)\x08\xf0\xdf\xc9\x08\xc6\xf8Yk+\x99F\xc2/\xd4\ +\xefIp1\xc4\xf2\xbc\xa9D\xd8\xfd\xd4j\x99\xda?\ +\xdd\x18\xf1\x0b27%\xc2\xe2\x13\x81\xbe,\x00\x00 \ +\x00IDAT\x06\xef/\xaeXMg\xaau\xc3\x1f\ +a\x08\xe4:\xafs\x85h%\x0d\x01\xf7]k\x84B\ +\x92\xebX\x89\x1a\x96\xe6\x11\xbf\x00\xd8N\x0d\x9e\xda\xd7\ +4t\x00\xd0z\xf8\xc51\xf6\x09`\x12\xf5^\xbc\x06\ +P\xd5*A\xa4]\xcb\x86B\x08\xe6\xdejj\xc5\xf6\ +^a\x1d\xc3T\x8bejxa \x8e\xa7\x87uc\ +\x89\x15B\xb2\xa5\xa0\xa6\x0ad\xe1\x8d\x1f\xd9\xf9\x9a\xb0\ +\xc5\x9f\x89\x8bv\x8d\xff/,\x91\xc1\x8f\xe5\x1b\x18\x83\ +\xf5\xb3\xa5\x92\xd7\xd4\xb1o\x97\xdf\x7fj\xa1\x14\x8c\xfb\ +N\xb6OR\x90\xde\xd5\xf5jp\xcc\x1fo)\xc9\xb2\ +`$\xd8n\xa0\x7f\xa7\xae\xdf\xf7\xf6\xef\xd5Q\xf7\x1d\ +\x08\x12\xed\xac\xf4W\xa2\xa4\x82\x81\xca\x11\x8f\xfb\xf2\xcb\ +\xcf\xb7\x07\xfc\x9d\x0c\xe0\xaex\x11\x09\xbe\xb1\x81\xfd\x14\ +\x01H\xd1\xb9\xb9a\xfb\x1e\x91\xf8\xf7\x1f^\x04R+\ +\x81\x8c\xe5\xb2w76\x10\xd0\xe0K\xa0\xe3 \xe5`\ +U\xfe\x22\x1c<\xa6\xab\x98d\x05\xba(\xf2I\x0d\x1a\ +\x0e\x9e\xe76\x0fg\x0c\x1f\x19>\xd2\x0d;\xc8\xf9\xa2\ +z\xb5\x8a\x22\xfa\xb3t$\x07db \xf1=\xa6Y\ +\xa9\x03W\xcf4\x8a\x13\x95\xe8\xcf\x86u\x88)\x8aV\ +\x8ai\xd5Ac\x1cU\xce\xbb\xae\xb9\xcf\x0ef\x95`\ +\x0eT\xefk\xf6(\x03$j\xdc\x18Q\x22\x0e\x06u\ +\xd3\xf3\xd0\xfb\xe6\xfa \xc6\x1c\x16\xc4\x9acr@Y\ +W\x1c\x87\xe7\xe1\xbexN\x00\x0e\x80\x94\xf7\x13hg\ +\x85S\x820\xdc0\xacQ\xe0\x1e\x16\x14\xb8\xcdm\xa7\ +\xfds\xdb\xc5\xb1\x0d\xbf\x1e\xb68\xd8\xc6\x90xD\xd7\ +j \x10XS\x04\x89\xaa\x00\xb0\x8c}I*u\xcd\ +\xbdO@o|_XK\xdc\x9a\x88\xdf\x94\xe0^\xb3\ +%\xb8\xa6>\xe4\x81\xbb\xe3~Y\x99\x04L\xe9\x9d7\ +u\xc2\x81&P@\xad\x96\x88KPQ[o\x18\xd6\ +\xad\xa7\xacl\xee~oX7\x8f\x98\x08\x95V\x0a\x15\ +\x00b\x7f\xa8\xe6I\x99Cm\xdb\xfejX\x87\xb0f\ +`P\xc8=\xd1.\x08)5\xe9\xa4\xf2\x19\x93H\xad\ +{<(\xac\xab\x00\x9b\x9f\xfd\xca\xb0n\x0c% \xcc\ +x8=\xd0\xb4\x09\x00\x1b\x09 l\xff\xbe\xe6\xff\xce\ +\x94|\x09\x9e\x80A\xcf\xab\x03PE\x1e\xa0\xa1\x95\x06\ +\xc5\x1fe[\xe5H\xc0m\xfdz\x1e(\xd7\xe6\x10\x13\ +kT)\xa3\x1a\xac\xb2\x85\x99\x008\xa3\x89A\xac\xee\ +\xdbaK+\x8b\xfbY\x01\x89\xc0\x0e\xc3\x86*p\xf6\ +\x80\x03\x0a\xad\x8b\x0a\xd8%\xac\xc6h%pY\xe2N\ +\xa9v\x0d\xf9\x1e\xde\x11\xb6\x00\x9d\xe3;\xc2\xbau\x9c\ +\x01\x7f\x89\x7fJ\x14$N\x00\x10\xf7_@\x91\x81k\ +\xad\x13b\x96\xc4/\xb3\xb2\xb5}[\xd8\x22\x16\x18J\ +5M\xab\xe6\xa8\xa4\xae&\xe5\x0e\xe3g\xfb\xafsE\ +n\xf8IX{\x9f;o\xee\xdcU\xb2\x9e\x96\xbd\xd7\ +oO\x11\xcd\x17\xa7\xe8\xe3M\x92:\xfb\x84\xd4\xb4Q\ +\xa9\xb1\x9er\xfd\xb5\xf7\x0b\xc6\xc3\xab'{U\xa7\x99\ +\xa2\xd2\xab\x05J\xe0\xc7\x7f\x06l\xf5\xcdT\xf9\xff\xcb\ +l\xd1\xfb\xcf\x8e\xc1\xf2\xd6)\x91}\xeb\x12\x80\x0f_\ +\x1c\xbe0|qz\xfd\xe5\xb0N\x1b&\x99 \xc3C\ +\xc3\xa6\xeb{d\xd8\xf4\xfb\x17\x0f\x9b\xbe\xff\xcd\xb0\xce\ +\x9f\xf6\xe3\xcb\xee\xd0\xf9\xfb\x04\xc0T\xeaT\xf6Li\ +\x10\x08\x0d\xb7\x08\x9b\x9e\xfb\xdf\x86u\xe35c\x17\x9d\ +\x99T\xdfg&\xe3\xe2\xb9\xed\xf7\x1e\xdf~\xef\xde\xc3\ +}\x86\xfbt\xda\x0c*B\xf7\xdeq\xafv\xeeP\xd7\ +\xcfs\xcc\x5c\xf0\xea\xdd\x07\xe0\xfco\xd8r\xbd>g\ +i\x1d|;\xac\xf3;\xb9~\xea\x0b\xd0\x19\xc4\xf5\xb3\ +\xb2g\xf4\xaf\x96\x04e\xb8z\xd8\xf4\xfa\xd5\xb0d>\ +<$\xc5W_\xd0\x89\xc3\xd2\x5cR\xd1\x15B\x01\xe4\ +\x00\x87\xceG\xfb4\xf7\xdb\xf6\xf8\xb0\x851S\xfb1\ +\x9e\xd2\x95;?\xe5\xfc\x94\x80t-\x96\xed\x1ct\x1f\ +\xfb\xc4}WW\xb0\xe1\x9f\xc4{\xe24\xf1\x92\x0a\xbd\ +\x9fs\x1e\xaf(\xb8\xe5\x97\x8e\x9a5m\x9a\xd7\xea[\ +\xd7$j\x12\xbe\x0c\x98Q\xe3%\xa0S\xba8\xef\xdb\ +\xdb\x85u\x01\xfe\xd9\xd9\xb3,\xde\xccV\xad\xaa\x1cK\ +\xa8\xb2\xe5\xad\x98f\xff\x92\xe3A1\x9f\xb4\xfc%S\ +\xaa\x80\x1f\x801\xa04\x13y\xd3\x19*>[\xb7\x9c\ +\xa0\x96k\x1d\xa0\xfd\xe4y\x89\xa3$l\x9e\x93\xe7\x07\ +\xe0W\xe8\x10\xf7\x88\x1fV\xd3\xaf\xa6he\xb2.\xae\ +\xcd\x04\xabZ\x0cT*imekN\xf9\x9b\x8c#\ +\xab5c\xcc\xbf\x13e\x85;u\xa2\xb7\x80O\x9f\x13\ +\xc3MK\x1b\x86\x10\xea\xba\x82\x06 @B\xa6@\xa9\ +\xf5\xe9\xf0\x04\x16~g\xc7\xdd\xdb4\x99\x15\xa0\xb49\ +5E\xf1\x0e\xcbs'\x19H\x05,\x10\xe3\xfdd\x8e\ +\x1d\xc7\x80\x11\x07Z\x1f4\x05\xb2\xb2_\x95[S7\ +\x003\xb9\xdf\x86_\x0d[\x9e_\x8d\x1b\x06\xfc\xcb[\ +\x00\x1e\xfc\xb5\x04\xf2\xa7a\x1dp\x97\x0c\xd7\xda7\xd6\ +\x95\xd6J=\xf1\xa6\xf2h\x89\xa1\x01\x04\xe8\x96\x88\xab\ +`\x03\xe6$\xd4\xc6\xd1I\xdciX\xd8\xbf\xa6\xcc\xe4\ +\xb8\xc7\xb5\xc8\xe7\x85\x18)\xc4;%\xf8Zn\xf8\x19\ +\xcf\x81\x88w\xfa'\x8c\xd0\xba\xbf\x0aM\x0a\x0e\x12w\ +\xf7C^a}\x88\xdf\x89AkA\x07\x8c\xda\x9f^\ +1\xc4\xc4\x97\xe9\xef\x8a\x01\x93\xf9P14\xe4\xbd\xfc\ +\xd1J\x0c\x9e\xe6F]_>\xef:\x1fM\xc13\x05\ +\x003)\xf7Qk\xb9\xbb\xd9\x028\x96x(Q\xf4\ +\xf4\x8f\x98\x22!u\x1bb\xb7\xa5E\x96\xe7\x99\xe7\x87\ +\x91\xbdk\xdc;,\x1dM8\xa2}&\xdb\xb7K\xb0\ +\x03_\xf8a.\xb8\xff\x5czq\xc7\x0f\x86-\xaa\xcc\ +\x95\xe8K\xe49\x10\x07\x81\xc4\xdf\x86\x5cUd\x0b\x01\ +\xa6\xb2Ou\xdf\x81 \x81\x96\xf0s\x00nx\x9fh\ +o\x97\xebn\xcb\xaaC\x96[e\xee\xbf\xdb\xd8\xb6\x03\ +\x1a\x02\xe4\x00\xb2\xa0#\xec\xbetwPq\x90\xfe\x9e\ +\x8d\x8aB\x9c\x1b\xb3Q\xd2\xf6_\x01\x13\xe7]\x84\xc8\ +D/\xa6xN\xf7\xf9\xb4\x00\xc42\xbdzG-V\ +\xf9\x17 \xa3zr\x98*+OH$\xfbe\xb3&\ +@\x89u\xa8\xa0\x9a\x97\xac\xc7y\xdf\x1c\x07\x220O\ +*k\x89RQ?\xd5{\x9c\x95-\xbdBu\x1d\x09\ +\x10\x14\x22\x85\xaaDl&\xa9Zz?-\xcc\xaa\x08\ +$\x82U\x220zF!i)2W\xad\x1c\x12\x7f\ +\xc8\xb4/\x08\x9f\xdfS\xe1\x07T8\xa0U\x04\xac7\ +\x011$\x92\x83_\x1f\x94~\x1e\x80q\xf5\xa4\xd0\xa7\ +\xd8bQ\xfe\x1f\x9f\x88\xdd\x0d6\xbf\xd2\xc6/^g\ +s`\x9b\xbe\x90\xff\x7f\xb8U\xd8\xc2p\xa8\x0d\x1a-\ +\x05_\xeb\x12}\xaa\x9d\x99\xa8no\x14\xd6\x89\x09\xa5\ +\x9a\xec\xf8\xe5\xb0\xe9\xfb\xdf\x9b\xec\x88\xe9\xfb\xb7\x85-\ +\x89\xec\xf8\xc7\xe3\x13\xc6',\x8e\xaa\xc6\x0bI\x0c\xbe\ +\x90\xd4\xf4/\xa7X\x92\x04\xce\x01\xf2\xbd\x95J>`\ +E\x8f!\x07\x9d\xaa\xb2\xe3\xe7\xc3\xa6\xd7\x8f\x84M\xaf\ +g\x87M\xaf\x8f\x0e[(\x94\x80\x88\x12\xcf\x03\x04&\ +\xb0R\x00\x00J\xa5y\xc8DM\xf44\xa9\x5c\x11\x9d\ +\x11\xa8\x19\xcf\xa4\xc2\x90\x81M\xcdY\xce\xc0\xbc\x80.\ +\xeb6+\x08Z_\x8c\x0f\xab\xde)\x81T\x1e\xac5\ +\x15\x01\x12-\xd0\xd5\x12 QG\xf9\x02\xf0\x9d\xd0l\ +\xd1\xf2\xf8J\xd8\x02\x88\x94\x88\x1e\x86\x0c\xff$\xc0\xb4\ +\xbe\xf58\xa2\xf0\xdb\xa7\xb4\x06\xa8\x01S\x93\xcf\xf5U\ +\xf3\xec1q\x04\xd8\xb9\xaej\xbf\xf8}\x09\xb1\x1e\xb6\ +\xac\xe0\x94\xd8\xe3\xa3\xe7DX%\x18\x00c\xcc\x5c]\ +\x17$\x9f\xdf\x03\x00\xe4\xbe\xad\xc4\xef\x09a]\xc0\xef\ +\x80L`k\xe7~a\x0b\x05q\xf7\xfd\xc3\x16q\xa8\ +\x9aV\x90\x0c\x1e\xe2\x82\x15\xb0\xa12{\xeeZ\x99\xf8\ +\xb1\xdc\x7f\x9b\x1b\x85u\xeb\x02\x10D\x0b\xe4\x7f2P\ +R\xe9\xe6/hW\x9c7\x8bD\xd6:{\xd3\xcc\xb8\ +\x18\x8e\x08\xeb\xb4?\x9cC):Uc\xd0\xb2r\x88\ +b\x8c\x22\xb9\xd9?\xc5\xe7rJD#v\xde\xb3[\ +w(\xb7\xee\xbb\x00]\xab\x8f\x8aj\x84\xbb\x0f\xee\xc6\ +\x9cf\xe0m\x8a\xcc\xb4\x86f\xb1\xde\xa7N\x9f\xee\xa9\ +\xd3u\xef\x1f\xd6\x01\x9e\xe6\xc4ge\xb5Df3\xd0\ +\x1c\x0f\x0c[\x98w\xad\xb0\xf0\xd3\xbc\xae8\x17\xee<\ +\x03\x22\xa5\x01\xa0\x02\x95\xfevJ\xdc'k\x15\xf0\xa6\ +\x09Q\xadZ\xa6c\xe8\x89\x0cX\xe7\xb7\xba\xc4?\xc5\ ++\xed\xa7j\x19#\x12\xe5yH\x88_\xb1}yT\ +\xe8*\xe1\xce\xeb\xaa\xf3\x17\xc0\x99\xad\x0a\xc3#\xc3\xba\ +s-\xb4\x80\xf6\xeb\xa8\x99\xe9?'\xff;Y\xe7O\ +\xe3\xb4|U2O\xde\x96\x9a\x0eg-\x81\xfb\xf0\xf3\ +\xb0i}\x1f\x1b\x96\xc0\xff\x8e\xce\xef\x8a#b\xd5}\ +?\x13\x94\xd3;\x0aq\xf4\xe8\xdf\xab\x0b`\xd7\xf3\xa3\ +\xd7\xd4X\x94\x7f\xc0w\x16\x80.\xc4\x88[\x8f\xc5\x92\ +h\xba\x1e\xeb^\x80\xeb\xf7\xd6\xd3\x03$\x16+q\xe5\ +\xd2\x02\xc8\xf9\xdek\xf5\xedj=\xcd\xf5\xd6\x00\xc2\xb7\ +t\xf3\xc1%\x0e\xa8\xed\x9eW2\xa3\xc6k\x845\x0d\ +\x9b\xa75\x91=@\xe9\xc53\xb1\x13\x07\xa8d\x02T\ +Up\x89\xe9\xadDw\x87;\x87\xb5\x84s\x16A4\ +\x0d\xc6}w\x1fU\xcc\x13x\xa9\xb1w\x18\x80\xa6\xc2\ +\xf0\xeb\xa6\xb8\x5c7l\x89\x03\xea\xfd\xa8\xf6kq\x04\ +\x9cgBUbu\xe2C\x0c\xab\xd4\xdaF$\xcf\xbe\xb6\xae\xb2\xd5\xa9\x98\xe1\x98\ +\xcf\xe2\x03\xad\x87)\xde\x8a!X\x1a<\x187\xee?\ +\xc0\x0c \xa0U\xda\xfas\x0eZ\xb7\x80\xcc5#F\ +\x9c\x8f\xf1\x8d\x89\x80bOdPAFa\xce\xfa\x97\ +'*\xd0i\x1d\x12\xffh\x9d\xcc\x96\xa3\xed\xd5\xc2\x96\ +\xf7\xaf\xa9H\x80>\xefO\x93J\xcb\xb3\xc2\x0b?l\ +]\xad\xa7\x1f\xad\xa7\x07\xa4\xc6\xc9\xae&Z\xb2W\x22\ +\xdb\xe7d \xf0\xb6\xa5B\xd0\xf0\xea\xc7f\x828\xfd\ +\xc1\xf1o&{}&\xfe?\xef\x10T7\xd0\xc6r\ + \x08\x5c\xd7\xe3!\xfc\x9c\x7f\xef{\xef\xf7\xec\x80\x03\ +\xbd\xfaII\xab.g\xef\xb3\xfe\xf2\x01\x7f\xd2\xc8\xb8\ +K\xa2\x8d\x11\xb0V\xb9\xcc1|\xb5\xf00\x0f\xd6\xe3\ +-$\xac\xae\xe3\xff\x00\x04\xda\x7f\x7f\xda\xfd\xbb\x9f\xb3\ +1L1X\x03 \xee\x83\xe9\x01\x16\xb8\x85\xe8+\xd5\ +\x22\xeb\xe0[zG\xf4n\x1b\x931; \x94e\xd7\ +\xa3\x97\x05\x12(\xd05%\x80\x9a\xb1\xc4=\xb5\x00\xca\ +!\x9b\x0b\x9cs$\xab\x87]eC\x80\xc9\xe1\xad\xef\ +\xa3\x9e5T}s\x96\xcd]\xce\xc0\xbfD[8z\ +\x95\x00\xe3n\xee\xd5l\xf9y\xea\xe86\x98\x83M\xe0\ +\xa5e\x02\x85\xcd}\xb518&\x15\x0e\x7f\x17\xe5\x87\ +#\xc9\x9e\xee\xcdQ\xb3\xd8\xd2\xe6\xa0\xb0n\xee\xf0k\ +6\xafn\x15\xed\xbf\xd8\xf1\xdc\xd6+\xfa\xb0\xcd\xd1\x91\ +xVOOT4\xef\x9b\xcc\x89_\xedD\x19\xcd\xf5\ +5\xe5!{i\xb5N\xa8LB\x96\xc7\xdb\x8d\xbf1\ +N\x07\xe6\xf8\xdd\xf1{\xe3w\xdbA\xf7\xb5\xa8|\xc7\ +w\xed\xfb\x93\xb7'mOZ\xa8\xca\xbb\x1f\x1d\xd6\xa9\ +HK\x0c\xf2>n\xf7\x0c\xebD\x0a\xb3\xc2\x19\xc3\xcb\ +b|YQ\xf6\x04\x0a4\x09$()\xa64>5\ +\xac]\xc7d\xd3\xeb\xfeaK\x22\x80\x91RH'\xb1\ +B\x15*\x81\x22\x87\xa7\xd7\x1c\x92\xbd\xd6\xfe\xe0\xf8\xec\ +3\x01&Q\x1b\xaa\xbb\xaes\x08[\xc6)\x19\x87B\ +\xbd\xb5ZOPj\x05\xc6\x80*\xcf\xdb\xd8\xd3\xac\xe0\ +T+\x8a\x00E\xc5\x01\x05[O\xbd@U\x05!\x0f\ +\x96R\x17Gms\x9f\xb5\x18X\xa7\xf6\xb1\x037\x03\ +\x98\xeaA\xcf\x03\xa1\x00&\xcc\x0d\xfe\x0d\xd3\xc0\xef\xe5\ +\xfe+\xcd\x14\x80\x87\xd6\x13\xaa\xc2\xfc3\xd19\xe2\x5c\ +\xa8j\xa8\xdc**DR\xb3r[byk`4\ +\xf7M%\x14*o\xc4\xc80\xa3 \xdcy_\x1d\xc0\ +\x12\xc1\xe1\xeba\xd3:\xbboX\xd7RE\xf4\xd1>\ +\x13`[W*<\x12\xbd\x93f\x8a}\xa9\xd3KL\ +\xf9\xff\xdc/\xe5\x8f\xf6\xc9\xebJ\xe0Ae\x09 R\ +\x1a\x19z\xd6s\x8ex\xec\xce\xd8\x9f\xd1H\x14\xadD\ +\x05\xb4\x1asuD\xb3\x85\xba\xea|9q\x06\x8e\x8a\ +\xca\xfa\xe9)\xfc\xf9tW\x09P\xd1\x05 \x1b_%\ +1\xd2\xb2\xa3\xd2\xe7sK\x80\xf4\xa4g\xcb\xcb\xf0'\ +a\xdd8\xbe\xac\x98\xb4\xc0\xed\xa0\x04\x82\x8f\xcfD\xeb\ +\x81\x0b\xc3\xa2\x01to\xef\x12\xd7\x08\xd3\xfe.+\xed\ +\x0fN\xf1\xa6+,\xe7IM_\xa1\xf9\x92\xda\x04\xd5\ +\x9a@\xb4\xee\x9f6\xef\x08\xe0js\xee\xe6\xbc\xd0\xb6\ +) .\xd6\xdf\xa3:\xa6Y\x06\xd45\x0d$\xc6\xe1\ +\x0e\xddXO\xad?\xc4\xf2\x22@\xfbLGY\xcd\x04\ +\xd1y3<5lz\xbd\xe7d\xd398| l\ +\xd9\xc7\xc3\xcd\x86C\x87C\x1bp03E\xbe\x1f\xb6\ +\x00\x18\xe3\x13\xc3\x161d\x8c\x8b\xcdw&\xfbn\x06\ +\xb8\xd3\xba\xda\xf9\x98\xc9\x1e\xb50\x00\xaaR\xaa\xb5\x89\ +\x7f\x90x\xf0C\xc1\x88\xbau\xe7\x07\xc5W=%\xff\ +\x12\xdd\xab\xca=-\x18L\x19\xaf\x02I?o\xfd\xf3\ +\xb7\xceW\xdf\xfb\xff~\x9e\x7f\x16\xf7\xa8\xe8\xfb=\xff\ +\xaeP\xe4\xbc\x15/\x02\x08\x00\x99Z|\x22\xa1zc\ +\xb6\xf8|\xa2SC\xf7\xb9\x01`\x99\x18\x8c\xa7Lv\ +j;\x07\xef\xd1\x12\xa8d\x0a\x10Y\x9b\xce\xcd\xafn\ +\xbf\xdaM=\xc8\x8a\xb3\xfdY=\xbb\x18C\xd9\xcb\x5c\ +ZA\x18<\x18{\xce\x1d\x95C\xf7\xe5\xbf21\x11\ +\xf7\xd1r\xb9qj\xc5db\xafU\xa5\x12\xff\x04P\ +U\xd6\x8b!\xa5\x07\x19\x00\x8c\x89hj\xc0\x19\xcd\x16\ +\x0at~_\xe2\xb0\xd6\xb9\x04A\xfc#\xf1\xc3\x9cu\ +\xbe\xad\x0bnZ\x8fTt\xb3w\xde\xba\x22\xfa\xbb\xf9\ +\xeb\xb0N|.\x98J\xaf\xee\xa60\xa1\x86\x13\x9du\ +\x9f\xf9\xe5Lh\x87\xcb\x84u\x15k\xff_|\xe7\x0b\ +\x90\x9a\xadR\x05\x90\x12\xe1S\x19\x16\xff;w\xe4\x05\ +\x07fk\x9cV\x80\x17\x87uq\xc9\xd3R\x9bD\xde\ +c\x9c0fB\xfe{i\xc8h5#\xb2jl\x9c\ +\xbf\xab\x12\x1f\xe3\xd7\xff\xbc+P\xdc \xac\x9b\x82`\ +?\xf0w\xc1\xdc:\xa1\xd3P!\xfe\x99\xbf_\x8c\x00\ +\x09\xbc|\xc9~\x05\x9ch\x1d\xa1\x05\xa3\x80\x81a\xf4\ +\x85\xb0\xceO\x00\x10M!1\x86\x90:\xbeB\x08\xc6\ +\x868\xdb\xef+\xb4\x89\x83\xc4\xeb\xe2\x19\x05\x16\x80\x08\ +\x00\xc4\xe7\xf2\xf93\xae\xaas\x09\x93\xd2u\xe7\xf4\x8f\ +\x9a.\xe6~{\x8e\xf6\xe5\xba\xa5\xc1\xfd\xe17\x8d\x85\ +\xc6\xe8\xcb\xd6\x8cb\x0e\xa4?\xab\xcf\xbf\x16\x11T\xa8\ +\xa4\xd1\x84\x19\x9a\xcc\xda:\x7fii\x18\x07\x18\x05\xea\ +\x03:&\x05&\xb7\xa9[\xb4DL#\xd0\xb2o}\ +\xfb<\xfc)@j\xc5\xf0\xdc\xd5\xc4(NH\x87O\ +\x1c\xea\x96K\x0f\x97\x0f6\xfe\xc7d\x81H^|\xb2\ +\x8beB\xf4\xa5L\xf4\xc7n\x81\xad\x13s\x0e\x83\xe3\ +\xf3\xff\xdd\xe05\x00`c\xea!C\xd1\xc7,\x18\x1b\ +\xa9\xe8\x82\x94\xfa\x1e\x10\xd0\xcb\xef\xe7Q\xf9\xb3\x07\x1f\ +E\xdb8\xa452Nm\xbd\xb9\xa5\xcbu\xbd\xfb\x12\ +\x0f\xd7\xbb\x9eg\xeb\xc1c\x22\xf4\xdf\xff\xac\x13\x13t\ +\x1f\xd6\xaa\x9eC\x93'Z\x00\x8fo\xb5\xc9\xc4\xcbF\ +\x81H\xfbz\xc8L9\x1d.6\x5c|\xb8\xf8\xe2\xc0\ +K<\x888\x98\xf9\xa7\xc6\xe3\x11\x1f\xbbx\xf6\xf2\x13\ +\xb1\xcb9\x93\x95\x00\xa1zg\x02)\xc1+\xea\x12\x8a\ +\xb5\xb9\xbf*\x89\xc4\xfeT\xf2!r\x0e\x1c\x0b\xd2s\ +F\x85\xa5\x16+\x11\x13\x08\xeb\xd1E\x11G\xa9\xc9\x8d\ +P\xaa\xfe/\x08\xebz\x9b%<(\xa7y\x1f\xabB\ +C\x1c\xc5\x06\xd2\xeb\xb7\x1eW\x94\x01^\xf5\xf4?$\ +\xc7\xcb\xb8\x1e\x81\x09j\xdb\x9b\xe7i\x0e5\x86\x86\xaa\ +z\xf6\x12\xb7J\xec\xf7\x17F\xc3p\xa5\xc9\xae\xd8\x1d\ +d_Jd0\x02\x93\xffZz\xc9\xc7W\x855U\ +\xe1\x1f\x84\xaa\xb0\x9eC\xcc\x80\xf1\xef\xc2\xa6\xd7\x9f\x84\ +u\xe38\xffx\x0e<\xb7\xbf6\x8f\x81\x1a\x7f;\xac\ +\xa3\xbay~\x02\xa3\xd4\x1a\xd0{\x8c\xe9Q\x15d\x09\ +\x9a\x03*\xc7\xaaUO\xeb\xe1a\xcb\x98\xb7\xf1\xd2a\ +\x8b\x18R\x8d\xf5#\x16fL\x1e\x8a\xb6@\xd0z\x17\ +XYG\x10W\x01\xac@\xd7zZQ\xac\x8a\x9a\xc5\ +\xc1b\x08\xac\xe6r\x17\xd5>E\x03\xab\x82\x04(\xc9\ +\x83\xb6ZZ\x88\xf798M\x11\xa0\x9al\xfd$u\ +\xb8\x12\xd7\x14K\xac\xca)1\x9c\x1c3V\x9f\xdf\xc1\ +\xadW\xd4\xba\xe4'\x01yD\xfbP\xbf0f\xf2\x00\ +\xb1\xbf\x8b:H\xd4n\xa510\x5c%l\x9e\xa3\xbd\ +=\xa6\xab8\xab$9\xc8\x88\x19fB[*\xec*\ +\xf8\x7f\x18\xd6U~\x00\x01\x09,\x94F\x89\xca\x97\xe7\ +h\x9fI\x08\x00\xc8\x00\x18\x89N\xf6H\x96\xea\xb4\xe7\ +v\xe6,\x96S\xaa\xca\x02\x02\x09{\xb6\x12\x0do\x09\ +\xeb\x98D\xee\x8b\xf5\x08H\xdc{\xde\xd7\xa5\xc6\x9c\x15\ +\xaeR\x1d\xf6|\xf2\xfd\x8b\x12\xff\xc1\x14;\xfaj&\ +\x16\xc6eeBT\xa2XW\xcbu\x0d\x80\x05\xe8\xde\ +#\x01\xc6\xec\x1dn\xa7\xd4\xb5\xf3\x5c\xbey\x0b\x8cf\ +\x86\xce\xfey_\x00D\x02_\x958\x00H\xee\xef\xaa\ +\x14\xd2\xcc\x00d\x0a\x90\x054*T\xc6_\xaaD\xa8\ +\x88EK\xcf\xed\x17\xa0a\xf8\x9f\xb0\x8e1\x90\x81H\ ++\x14\xbc\xaei L\xd6U\x90\x8c/t\x0eQ\xd1\ +\xbfBXw^%\xd5\xbe\x98\x12\xa6\xc9dk\xce\xf8\ +/\xe3\xe9\xe3\xbf\xb4ss>/\xa3\x81\xe2\xed\x09\xc0\ +}\xbek\xe1I@\xa0\x8d\x0d\ +\xde\x18\x12\x90\xdf\xab\x9bBb\xda\x89}\xc7\x8f\xda\x97\ +zNs\xfci%\xf2\xe2\x19\x00R\xb4n\x98\xc3}\ +N\x17\xd7\xac\xd5\xcb\x01\x05\x02V\x80;\x7fo\x22{\x10o\x07\xdf\xff\ +5u`\x9d\xc0\xfa{Z\x1c\x00\x14\x80\x11\xf7\xc5\xbf\ +Sw?\xa7\xd5p.\x1c\xe8F\xfaz\xed\xee\xfe\xfa\ +\xff\x16\x92\x9eU\x017j\x9c\xdef=\xaa\xe6@\xfb\ +\xbaL\x22\x88\x12q\x88\xd4\x99\x89\xc0\x9d\x91\x07C\x06\ +\xf6\xe3#\xc2\x96\x9e\xc6\xe1\xf9a\xd3\xff?r>\xa8\ +\x86\xdf\x0c\xeb6p\x22\x90\xc6\xe8\xd5\xc1\xe2\xe0\xe4\x90\ +m8\xc0\x86\xcf\x07\xb9\x97\xc0C\x04mTT\x1f\xc8\ +\xab\xfb\xee\xb9\x99\x83~FXG\xc9\xb5\xde$\xd8(\ +\xb6\xd4\xe1\xa95\xe7AY\xdf\x13O\xcc\x04\xb2\x126\ +\x14\x9dt\xd86\xd2\xb4)\xe7\x8a\x91\x0a\x1cU\x7f\x14\ +T\x07\x9b^R\x80E:\x9e\xe1\xf6a\xdd\xbcN\xbd\ +\xadzz\xb37u{\xec\xf6\xb8\x18\x13\xe9\xb9\x8f\x0f\ +\x1a\x1f8>pq$\xdb\xc3f\xd1\x98\xddCXC\ +\x90\xdbX\xbe\xf1\xa1a\xd3\xeb\xbf\x86u\x07e\x06\x1a\ +\xe6\xbb\x17\x02\xf9\xc3\xb0\xd6\xa36St\xcf\x9e\x13\x01\ +\x15]*\xad\xdb\xcb\x85M\xbf\xff\xb9\xb0\xe9\xf5\x06a\ +]e-\xc5\xffZB\xf07KE\xb0*\xef\x02\x93\ +\x9e\x01\xb3o\xf7\xbc\x05\x86T\xc13P+\x07\xa8\x17\ +\xca\xfa\xe2\x08Q%9\xc4\x04\x92\xb6\xff\x99\xaa\xc1\xef\ +\xcb\x0a\x9a\x9e\xe7\x0c\x00J\x15\x18\x03\xe0q\xcd\x16\x84\ +_o\xa3\x80\x8b\xf8\x0b-\x07\x07\xf9\xda\x91;(%\ +:\xc4\x8a\xf4\x0a\x9b\xab\xeb\xe05N\x8c\x9f\x11XY\ +_* \x10j\x00\x1a\xc0A\x05X \xa9\x02\xe3@\ +7\x96.\x91\xedb\x0aA\xe0\xf9\x09\xf7\x81\xdf\xc9D\ +\x8e\x9av\xa9\xf6&E\xb5\x800\xcf\x13C)\x03\x91\ +b$\x18\xd7DT\x89H\x91\xbf'\xc0\x00Py\xee\ +*\xf8\x12\x12\x07bTR\xbf\xb3\xf4\x22\x12W\xdb\xfe\ +V\xd8\xe2v\x8c\xe91^\xad\xc4gU\xfeR\x8c\x07\ +\x85\x12\x03\xa7*\x11\x09\xf0T\xcfc2\x95\xb6\x0f\x0e\ +k~\xb1\xedc\x89u\x0c\xd5\x8d\x007\xd2\xccH4\ +=\xff\xd2\xd0\xb0~T\xd2^\x99\x22a'\xcd\x0c\xab\ +\x96\xc6\x1d\xda\xadK\x15\x0e\xbd\x93\xf1\xd7\x9f\xd5\x05\xb6\ +\x02HTAc\x0d\xcd\x15\xc7\xfc\x8a\xd5w\x9f.\xa0\ +\x15\xb0I Q(\x05\x0c\xd9\x8b\x0f\x10o\x14\xd2#\ +r\x1d\xddo\xfa\xdc\xbf\x16\xd6\xfc\xf1\xcc\xb4\xcb}L\ +c\x03\x004\xfcq\xd8\xc2\xf0i\xbd\xf9\xf7\xeez\x95\ +\x1f8=\xcd\x07v\xd4\xff+\x86M\xaf/\x08\xeb\xa8\ +\x92\xefo;xI\xc4R\x1c\xb01\x0a\xae\xd3\x89\xda\ +\x12\xadM?m\xecm\x89\xb7fB5\x9e\x15\xd6z\ +\x95\xef\xd4DPU\x00\xb3\xb2\xd9zV\xa7}<|\ +<\xac\x03.R\xc5\xb9\x80t\x22\xae\x19\xb8\x8d\x1f\x0f\ +[z8Kd0\x00\xb0\xd3\x97\x04wxaX2\ +\x8c\x0e\xec4\x7fTt\xf4\x02\x9b>\xa2\x82\x07\xd0\xa1\ +\x95\x13\x81\xff\xc9K\x8bFM\xdb\xc0 \x10\x08z\xfd\ +\xdf60q\xf9\x12\xe8\xa2\x9e\x0a\xd4\xf9W\x22Z\xfc\ +\x85\xf8\x0f\xb0\xc0\x7f\x9b\xc7N\x13&\x00\xb1\xaft\xad\ +\x0b\xe2\x99U+`\xadG~;\x81'\x09'\x15\xee\ +\x1aC\x86i\xf3\xba\xc9^\xbb\x9c?\xe3u\xc3\xa6\xd7\ +\xc3\xc6\xc3\xc7\xc3:\xcd\xaa\xff\x0ek\xfel\x8e\x0b\xf9\ +s\x0c>\x8c\xa8L\x18k\xff\xf0gZ\xb70$\x01\ +5\xfc\xad\x04\x5c\x22!\x0eN\x7f[b\x9e\xd9\x8a%\ +\x01\x9c\x92\x86\xd9\x9f\x13)t=\xce\x01\xe3\xe1hJ\ +\xf0\xfb\x18[}\x0b\xeb\xb9\x9d\xeazN#\xa8\xfd\x85\ +\xc1\x90\xe7TQ\x93{\x86\xebO\xbbu\x07\x18\xcaV\ +\x8a\x024\x9d\xcb\xe28c\x05M\x1b\xc8\xf7-\xc6\x81\ +\xe7)\xae\x01\xa8\xd2V\xc1TH\x7f^~\xc7T\x01\ +\xe7 f\x1a5t~X<\xa3u\xc2\x18\xb6\x1c\xf3\ +\xab\x85\xa1~\x0f\xc0\x8a\x19\xe5\xf3Z\x87\xfc\x9f\xbf\xeb\ +\xbc!\xd2F\xa5^\xe2\x88\xf9\xf1\x99\xe9\xa9\x7f\xa6k\ +\xd9U9\xce\x0a\x7f\xe5O\xfcK\x88\x89^\xb2\x03z\ +Vc\xfd\xea\xe0\xd2\x8b\xff\xc1\xb0N\x1c\xd3y\xad\xc0\ +\x05X7~Y|d]\xf8\xbc4\xbd\xb20Xb\ +\xed>\x8fB\x84D<[c\x8a\x81b\x1d\x88\x83\xc4\ +-\x09\xf0\xeb\xd9\xafs\x9c\x9fR\x90\xf3\xbc\xc4k\xf2\ +9\xf7\x19p\x86\xd9b\xdc\xa5\xa9\x1f\xa6[P\xe5\x07\ +\xb4\xba\x7f\x00-qK\x16\x16\xb7o\x0d[\xc6\xa3W\ +A\x88\xa6\x02\xa6\x08\x00\x95\x08\xa7\xf5n\xffz.\xf2\ +\x16S\xb2h\x22$\x90{\xa1\xbc'\xd7\x13\x06Z\xdd\ +\x7f-\x05\xee\x0b\x80\x03\xa0\x11\xad\xf9\xfbt\xad\xad\xc6\ +\x02\x03\x02\xb5(\xc9S\xadg\x0c\x0b~\xd5ud\xbc\ +\xb1\xabm\x8fwf\xc5\xf2\xa8\x5c\x18\x8fL\xb5\xed\xfd\ +\xf3\x0f\xbe\xa7C\x22\xa2N~\xd5\x8b\xa8\xdc\xaf\x01\x80\ +\xb5\xb8^,\xe7\x8bw\x95}\xbf'\x91\xeb_\xf7\x5c\ +\x01\x00\x97\xec\xa8\xf1\xfd\xef\xedy\x11\x89\xb1\xca\xbd^\ +\x19s;U\xf2\xfd\x1c\x84\x87\xea~,\xf3+f\xe2\ +}\xc5.!\xe7\xd0s\xac_\x89Z\xd1(\xb0Q\xdd\ +x\x0e\x7f=vPE\xd0A\xe9A\xe8\x0d\x168\xeb\ +\xc5\x8c\x03\xfc\xef\x165\xeb\xa6V\xfc\xed\xa5W\xae\x0e\ +\xc2\xd7%E\x1bUmEi\xd1\x0b[\x1a\x00TF\ +\xcd\x8b\xbfB\xd8ty\x7f\x12\xb6\x5c\xcfp\xcb\xb0\xa5\ +R\x5c\xf3rU\xd6T\x1cQ,\xff#l\xd9 \x95\ +\x90\xd8\xf8\x128\x95>\x08.G\x03\xf1EAs\xb0\ +DX\xfa\xb5\x0b\xf7\xa8\x95H\x19\x91&\x81+\x8a2\ +\x06\x01\x00\x88C\xe1(\xb37k\xf3\xde\xb0\x0e\xb0p\ +\xff\xcc\xd9\xfdLXGa\xa6\xfayn:r\x0e\xed\ +\xd8\xa4\xda\x9e\xd9 \x95\x05\xb1C\x89\x82d\xfbZQ\ +\xccP}\x05\x14D\xee\xc6?\x0b\x9b\xfe\xfd\x89a\x8b\ +\xc8\x5c13\x8e\x98{\xb9\xc6k\x85M\xdf\xff\xc1\xac\ +\xd1\xa1B\xb4\xfb\xc5a\x0d\xa9\x9c\xc7u\xfe\xcex\xb7\ +\xf1n-\xe1\x9aE\x85\x120*\xaa\x9a\xebE\xa1\xfb\ +\xc5f\xf7fw\xa3\xac\x8e\x9b@\xb0/\x1d\xd6\x8dA\ +\xfa\xfb\xb0e~\xeex\xe7\xb0n,\x92\x83\x80\xda.\ +je\xb6\x88\x94\x0a\xb5\x00\xc4\xfa\xe2O/+o\x97\ +\xccx5\xe3\x1c\x9a&\xc4\x011)$\x005\x15\x86\ +\xe8\x9a\xc4L<\x12\xe3&O\xbb0\xe5\xb94G\x8c\ +E\xc3\xa4\x94 '`Tj\xee\x80\x15\xea\xfc\xe2\xea\ +\xb5\xfa;\x11\xb7,\xb4\x94\x18\xa9\xca11_\xd3\xa3\ +\xf4\xc0\x8b\x9bQ\xbf\xb5<\x10\x8d\xd6{\x9f\xfe\xbe4\ +\x01\xfc\x9ex \x01\xdb*\xec\x10y\xf4\xb9\xf2\xfc\xaf\ +\xcar\x02\xb5%r+a7G]\x5c\x88y\x9a-\ +\xac\xdb\xaf\x85u\xe3Z\xc5\x0b4 N\x0b\xbb\xb0\xc6\ +T1\x18\x9c\xd7\xdf\xcd\xb8A~/Ep\xbe\x9a\xd4\xe5\ +S\xb7\xa7lOYD\x0dU\xce\x8a\xcaoA\xe6\x81\ +\x0b\xe9-J}\x8e\xb3(\xe6\x01\xb5\xed\xbb\xcd\xe28\ +\xd5\x1a\xa0\xd2'1\xd3#kL\x86\xde&\x81h\x5c\ +\xdd\x97;5\xda\x0f\xccT\xbf\x12u\x82 r \xd6\ +\x8d\x96\x0e\x15B\x01\xa7\xe7\xa2\x17\x8b\x88a^\x9f\xf9\ +\xb15\xef\x95C>\xff\x82=\x8eS\x1a\xd0\x1c\xa3^\ +Z\x01\xce\x8eGN\xc7\xda#\xbb\xe7M\xcc/{v\ +\xea \xf3\xff\xad\xf7L07g\x86M\xcf\xf7\xa5a\ +Kb\xa3\x129\xdco\x0a\xa0'\x87?\xfey\xd8\x82\ +x\x8e7\x0c[*N\xe3\x15\xc2\x96\x1e\xed\xf1\xc4\xf1\ +y\xe3\xf3\x9a\x08\xd2SC\x04\x09\x93C\x22\x15\x0d\x02\ +\xad\x87TKD\xf6\x9en>\x90\x81\xed\xd7r\xac\x9c\ +\xc4=\xa9\x91E\xa5\xcc\x9e\xed\xaa\xb4B\x9cU\xa0\xed\ +_cORu\xbez\xbdU\xaeW\xbdZE\xedt\ +\xc0\x00\x5c\xa8\xee\x1bOJC\xc0\xc1\xee\x80\xce\xcf_\ +\x80\x0c\x86\x89\x0a\xa2\xf1y\x02X\xd4L\xe3\xef\xa8\xef\ +\x03\x08 \xc2\xc4\xeb\xd6\xf3\x8f\xd7\x22J\x02x\xebR\ +\x0f\x9c\x80*\x13\xa5b\xcaX\xf7\x10`\xdfg@l\ +*K\x05\xea\x02\x01\x00\x9c\xfdytX\xd7\xea\xa1\xa5\ +!\xc5\xfc\x00(E\xf1\xcf\xcaV\xb5\xb4Hd\xecO\ +\x89/\x11:\x14\xd0\xac\xe4\x12\x07\xf4\xefZ\x0d\x8a\xda\ +G\xe4\x87\xca3\xbf\x81\xe2\xfb\x8c\xb0n\x0ch\x8a\xdc\ +\xd4\xf5\x19\xdb\x98*\xdc\xd5\xca\x85\x02x\xc7\xb9\x97\xce\ +\xe7\xe3\x1fJ\xb4\x10\xf3\x84\x7fC5\xd4k\xff\xb7a\ +-\x01\x9f[\x09~%\xa9\x92\x9f\xcb)\x09\xc7\xcf\xe3\ +\x94J,\x09\xc0\x92\x81\xc7p\xf9\xe1\x0a\xc3\x15\xba\x1e\ +\xc5\xd4t\xa8\x1e\xf2?\x0fk\xad;m\xeaN\x8dA\ +\xf4\xdc\x05|\xd6\x97\x0a~\x8e\xfb*&\x84u\xa4\xb2\ +\x00\xe9\xa7\x99aL\xa0u\x01\x88M\xbf[\xaa\xdd*\ +\x99\x02\xe9\xb5\xd6\x8c\x80\xcf\x98\xa8\x10\xab\xfb^\x07 \ +D\xa2\xfe\x8c\xae\xa5\x83\xa6\x8b\xb1\x89ZH\x92\xe9d\ +\x9c\xd5pV\xd8\x02`TOc\xb6\x0e\xf1\xe3\xc3\x8f\ +\xc2\xa6\xd7\x9da\xcb\xfb\x9a\xfa\xe0sl\x0e\xdf\xdc&\ +* Q\x9f\x0fU\xe9Fd\xfd\xb7\xc5\x8f\xd68\xcc\ +,\x18\x10]\xd5\xa3_\x22t_\xdc|i\x13S\x0e\ +\x8e\x19\x8e\x1e\x8ei\x95\xfdWDe_k\xccpx\ +\xd8\xf4\xfa\x17a\x1d\x83LO\xff\xb9a\x1d\x80\xf4\xe5\ +\xb0N\xc3\x01#-[\xc7\x86\x9bNv\xc8\xa2\xa53\ +\xfcx\xb2\x1fuTP\x01\xad\xfd\x9f\x09]%f\xc9\ +T)F\x0dq\xcf/\xcf\xc0TK\x14\xdf\xdcQ\x8c\ +\x89\x95\xf2\xa3Z\x9f\x00\x024]$JZF\xd6\xd3\ +p\xf4\x22\xaf\xb5\xfb\x03\xac:\x00\x00 \x00IDA\ +T\x91\x14<$\xf2\x02M~U\xa2*\x80\x17\xa8\xfb\ +\x9c\x12!\xc0VVr\x8dM+`3\x81\x91\xed%\ +'\x9b\x9e\xe7x\xcb\xb0\xd6\x1a\xf7\xfd\xf1\x07\xd3\xeb-\ +\xa6\xef#\xc0\xdfl\x87\xed\xa6\xeb\xa1O\x00\xc59]\ +\xe3\xd8h\xc4\xa8\x94\x02\x1e\xb2\x85\xa9\xb4U~+E\ +\xe2\x12\x00\xafD\xfcV\x19\x1f;\xcf\x13\x90B\xd9\xae\ +\x164\x8cK\x9a\x06z\x9c\x15\x14\x12\x90/\xe6!\xcd\ +\xa5\xcb\x86u\xf7W\x5c\x85\xe2\xab \x92\x89\x7f\x89\xb4\ +\x11;]\xab\x99;\xa0\xc5\x9d\xeb1\x8e\xe2\xd3\x04\xb2\ +K+\xc4\xf8o\xd3b$\xd2~\xffi\xcd\x96\x96&\ +\xadR\xae[\xc2\x9b\x09}\xb5\x04a\xa4\xad\xd7\x03\xc6\ +\x82\xeb\x06\x0c\xd3B\x90\xb7\xb8\x7f\x181\xe2J\xfe\x0b\ +@M\xac8\x19D\x0a_\x00\xd4\xd2:J-\xaa\x9a\ +rC,\x99\x88cj\x1bL\xf7n\x8e\x130KU\ +v\x8d\x933\x8eM\xfc\xe2\xf9'pZ\xad\x7f\xeb1\ +\x83\x0aYy\x0e\x14cA\xe1\xc5\xf9 \xae \x1a\xed\ +\xb9ek@\x9d\xf7\x09Xno\x1c\xd6\xdd/\xe7&\ +\xc0\xc6\xdf\x05X\xe4>\xa8\xfb\xa6\xc2.\xbeQ\x81\x97\ +x\xaaLg\xe5\x1dC\xa6\x0a\x02\xce7\xd7\xed\xd5\xf5\ +db\x0e\x00-\xed\x01\x096`'\x99G%*(\ +\x0f\x94\x87\xf2/\xd67\xa6L\x8a\x1a\x97Xq\x8a \ +\x16\x80\x9c\x80C=?\x09\xb4W\xfb\xdb}s\xbf\xb4\ +\xb0\xf2\x8b\xf2\x03\xd3\x12\xf4\xe6\xcb\x97\xe5\x9b\xf6\xa5\xf3\ +\x1b\xd3\x81\x96\x83\xb8\x15\x93#\x81\xccz\xbe\x9e\x13\xbf\ +\xea\xfa\xec7\xdf\x03\x1c\xd6b\xf4\xf9{\xbb\x0a\x81\x80\ +\x88\xe7x\x846W\xf0\xc0\xae\x17\x0ee=>\xc6\xf7\ +W\x09\xd7e\xb2b\xb0O\x97x;0$\xden\xa4\ +\x8a>\xb1?\x89%\xa6\x8017~\x1f\x22(!\x8f\ +\x05w\xbd\x8e\xfa\x0d\xb1A\xc1\xe2@P\xfd\xdd\xf8\xf5\ +x\x19\x8e\x0b\xd5\x1eUEE\x9eJ.U\x5c-\x01\ +*#>O\x7f\x10\xfe\xa2\xd3\x1e &\x88\xb9`a\ +&\x05\xaa*>!\xb6\xf6\xe7y\xb0\xfdn'\xee\xa2\ +\x12\xff\x1ba\x19x}\xa9%\xc2\xb3\x83\xd3sO\xac\ +\xe9EI!\xbc\xc4L)\x1an\x1b\xd6\xc6a\xb5\x0d\ +3\xfcGX\x17\xb8\xdch\x0ep\x89\xc6\xa8\xf8\x0f7\ +\x0a[\x0e\xc0\x1a\xda@\xb4\x82#\xb3\x90!t\x9e\x93\ +\xfb\x221\x22\xa2\x95*\xe5\x95\x00\xd90\x16\xb0\x1e\xa4\ +\xac\xa8\x95\xe3\xd3\x93m\x9d\x18\xf7\x22\xf0Pq\x854\ +\xba`L\x02\x951b-\xa9\x1a_\x80\xc4\x8b\xb2\xe7\ +\xf5=y0'e\xac\x90\xb5\xec\xf1\xabJ\xe1\x9e3\ +\xa3\xa4\xa6\x19P\x91\x06`\x1c\xb6\xf9\xb5\x960Bn\ +\xef\x17\x96\x01\xd7\xcd\x16\x0d\x85\xaa<\xc7v\x0c\xad\x85\ +[\x84u\xbd\xdd\x81P\xed\x0b\xdf\xbb\x1e\x88\xae\xeb%c\ +\xa2\x02i\xaa\x81\xbfO\x8bC\x02\xfe\x86\xb0\x0e\xf8\xe0\ +\xd0\xf93\xe2v\x02j\xef\xcb5\xe5\xf8\x1cc\xe4J\ +\xbc\x0e\x00%!\xd4+\xea\xeff\xe5\xb7T\xfa\xb3\xc2\ +\xb2}xXG-D\x05M\x0d\x8cj\x0dHm\x91\ +J\xbcs\x9dT\xa2\x91\x9a%\x9bGl\x8eiZ%\ +\x99\x80\xed8\xbeY%\xb6*\xb6\xe37\xc2\xba\x844\ +\x01\x8f\x9a\xde\x80\xba\x9b\xcc\x05T\xcb\xe9_g\xa6U\ +j\x80\x14\xe0(\xc1\xde/+L'd\x80ydV\ +\xa8\xceOj\xf7\x83\xe6^\xd5\xfa\xdc\xef\x9d+\xb1(\ +\xa6\xd5\xe3\x99\x89\x9eJb%\x9e*\x0d\xfe\xde\xfd\x93\ +\xb9u\xdb)L\xbdm\xd7\xeb\xab\x12\xa2\x97\xbf\xa3|\ +\xc6\xd4\x838\x8f\xa3\xb7\xba\xc6\x1d\xa6\xf8lM\xcb\xe0\ +\x173\xb0)\xad\x88li\xd1[Zc\xb6\x04\xa2\xfc\ +*\xe0\x93Hn\xc0\x14O\xca\xa9\x0a'.\x00uU\ +\xe2%\x0c/\x0d[\xeew\x89\x97\xdeaN\xb0\x86'\ +\xce-\x00%R\x99\x22\x80\x98=\x98\x15\xd6\x0f\xa0\xc8\ +\xfa\x93`\xebe\x9dN\xe9\x03\xda9\x9d\x15\xb7\xd6\xca\ +u\xear\xee\x0c\xf7\x0a\xeb\xa6\xa8\xa4\xda\xb8\xc0|\xfb\ +\xc6\xed\x9b\x8215k\xee\x0c/\x09\xeb\x80\x11\xd3f\xb2\ +W\x1d\x00Q\xea\xe6\xf9|\xab\xc5,\xc76n\x1e0\ +\x05\xbc\x0f\x98\xdeo\x08\xb5\xaa.10\x87:\xcf\xb5\ +\x8a\x0b\x8e\x9c\xb5\x7f*p\xcd\xf8\xaa\xce3\x80M2\ +\xc9L\xfb(\xea\xb8xn-\x9a,\x90V)\xb2~\ +$f\xe2\x1e\xaf\xe2:\xf1\x94/\x00\x80\xc4_\xe0\x89\ +a\x94\xad\x18EM\xf7w\xc5]\xc6\xa2a6|b\ +\xb2\x8f'c(\x98;\x0f\x0c\xcb\xf3\xe9\x0f\xa6?\xf3\ +\xa8\xb0\xa5\xf7x{\xab\xd4\x9a\xc9\xf1\xac\x95\xf8H\x04\ +_\x16\xd6ZM\xc2\x16?\xb1w&(\xd7(F\xdf\ +\x1c\xa7]:\x19\x9f*\xcf\xa9\x85S\x89\xb9\xf1^Y\ +\x81\xd6\x1a\x85!\xb9=.\xac\xf5N7`E\xeb[\ +\xf5J\x13\x8d\xcb\xf5R\x95\xe7\x89\ +\xff\xb2\x00S\xcf%[\x81\x8b\xa9\xa00I\x03B|\ +\x05\x98\xd7\x9a\x91\xc0?\xa6o\x89\xf7avh\xf9\xd3\ +\x9ahz\x8a\xf8\x92\x9f\xf7w\xf9\xf3|\xc5x\xd9\xd5\ +.\xffjK\x02l\xfe`Q\x8f\x04\x96\x0e\x0aH\x93\ +\x8d\xd0\xab\xca\xee\x9b\x0f\xe4\xb2\x9d\xda}\x7fP\xec\xee\ +\x00\x02\x15t\x07\x88\x84\xd0\x81@\x9c\x86\xc8S\xa4\xe3\ +\xe6\x9a^%\x91\x9d\xebv\x94\x7f\x14\xfeH\xf7\xae\xd9\ +%\xf6\x16\x96\x80\xdat\x00\xd7\xaf\x82\xec\xefP_\xbc\ +F;\x0a\x96\x8ac\xfc\xf7\x1a\x9df@\x10i\xa9\xda\ +\xf6\xd3\x00$\x06\xeb\x83\xcd\xd8\x22\xaa\xc6!\xaetv\ +\xe7\xf8\xee\xd8jX\xf3\x9c\xedc\xb3\x22\xfa\x17\xcbx\ +\xc5\xe1\xe93\xf5M\x85}\x0a\x9f\xe6\x8a\xcbUR\xec\ ++\xdfw\xb8X\xd8\xf4z\xce\xf0\xc3!z\xcb_7\ +\xfc\xcd\xf07K\xcf\xe2\xf0[\xc3\x1d\x86)\xf0\x1a\xbe\ +\x10\xb6\x8c1\xda\xf9\xba\xb0\xae\xf2r\x83\xb0\xe9\xf5\xc6\ +a]O\xa29\x9a\xd9\x83^\xe2\x1a\x10z\x88\x97\xb1\ +#?\x09\xebz\xae\xdc\x1f\x15\x07\x95\x12b&\x10U\ +\x15-\x01iV,8\xfc\xa2\xe6K\xd8!\x93ku\ +b\x8eBB$\xf0E\x8d=:+\xf8\x99X\x97Z\ +\xab\x0a+G\xba\x8c\xd7\xb8\xa0\x9a**\xde\xf1)F\ +t\xb7\xb0\xee\x00\x0e\xc9\x90@\xf2Ck\xe3\xad\xdd\x01\ +\x9bb`\x95\x10=y\xae\x10\xc5\x90\xca\x18SYS\ +\x15\xb2BT\xd4g\x89\xf9);Nm\xd7\xf9\xabY\ +\xf9\xb6\xf1\x93\xaa\xac\x07i|W\xd8\x22\xb2S\xbd\xfb\ +Y\xc9\xd4\xc3\xef\xe0+\x00\x90\x88\x89\x1e\xe7\x1c\xbfR\ +\xc0\x87\xf1L?\x0e\xeb\xc6\xb5%\xa3\xa2\x90o\x09\x8c\ +\xebO\x00\x82\x83\xae\xb1\x84z\xbf\x05\x8c\xfc\x8d\xc4R\ + \xe39`\xea\x00\xf8\xf8\x11\x15\x00=R(\xb0\xe6\ +\xbe\xe6\xc1\xe9\xfel\x1f\x16\xd6\x01\x0e\x90U\xeb\xd4\xdf\ +\xf7{\xc6\xf8Qo\x05\x84\x09\x10\x040T\x8d\x05\xcc\ +\xfc\x0d\xa4:\x0f\xc4\xaa\xd0\xe6\xba\xdb\xbc6\xac\xeb\x91\ +\x14\x18J\x00Q\xe5%hYa\x82\x5c\x97\x0a4\x91\ +1\x00\x80\x8a\xb5\xb16\xe6\x14\x9bn\xa0'\xce\xdf\x01\ +\x0c\x1bc\xc4?\xa6($\x0a\xee\xb8;\xacS36\ +\x1eJ%@\xe2\xff\xbc\xb0\xa5%\xa4(\x95\x12\x05\x95\ +-\xc0\xceA3C\xca\xe7\x91\x00\x15p\x81R\x9b\xa2\ +]D'w\xde!\xac\xf37\xd4\xaf\x93\xba:\xdcw\ +\x9e\x07\xbfy[\xcey\xa7YB\x8b\xe2\x1b\xf9\xfc\xb5\ +:<1\xc7\x02jm\xd2RvJ\xae\xd7\xcb\xe5s\ +\xff\xab\xb9E\xa8\xc4\x08\x9f1\xdd\xa7g,Z\x07\xdb\ +\x07o\x1f\x14\x1a\x01\x9b\xe3g\xd5\xfcR\x1d\xffh\x06\ +\xc6q^\x9d\xb9TZ\xaa\x12\x88\x91g=E\x9a~\ +\xfc\xbc>\x1bp\xac5I\xa0&\xa1!\x92(at\ +_\x05\xbeD\xbePH\x05\x9cD\x8ar\x0aH\xcd1\ +wN\x06\x5c\xf0\x9cd\x06\xde\xaa\xa3\x08\x9b\xb6\x90=\ +\xcb*V\x18G\x054e\xc0;\xbc2l\x01\xc2\xc3\ +\xeb\xb5\xf1\xbc\xe9\x9f=\x97\xba\xdf*R\x98\x03\xc6\x0d\ +&\x15uz\x9as+Z~\xfe\xe16a\x0bc\xa0\ +Z\xe2T\xb2\xacs\xbd\xbew\x9d\xae\xee\xae\x9d*{\ +\xc0\xd0\xef\xe9\x02\xc6/\x84-\x89\x02\x15\xea\xd2\xc2!\ +\x0a\xb63\xac\x9b\x1b\x9d*\xdeD\x0ck\x1ex&,\ +\x95\x80\x00\x90\xf4tJ|\xfe6[\x9d\xb2W\x1dS\ +\xa2\xa8\xca\xfcM^_\x89n\xe9@D\xb1\x06\xec\xf1\ +\xaf\xe2\x13\xf1\x9ds\x12UU\xc5\x8e\xbfZ\x8b\xcc\xad\ +{\xf8\xc5yz\xb8%`96n=6\xb0\xfc\x8d\ +\xdf\x03\xd4\x13\xeb\xae\x05\ +\xc6\x09\xa8\xb5\x96\xb5\xe8\xe5\x7fkX\xc7DK\x86\xc9\ +v\xd7v\x8f&2{\xf9\xb0\x8e\xc9\xe7<\xc8\xef\xeb\ +\xdc\xb5\x7f\x9c/\x18\x81\x00o*\xe2\xae\x1b\xc0\xe3}\ +\xb3b\xbc\xe3y\xb3_*?GL\xee\x88\xac|\x03\ +F\xb22\xa9u\xb2\xce/\x09F\xb6F\x12\xf7*f\ +\xa1\x0a\xfc\xfd3\xc1s_\xfd\xbb\x04\x14\xb0\x8a\xdaO\ +\xbbFK\x9d\xe7\xa9\xb2N\xdc3[\x0fjz\x06\xff\ +I\xd4N>`*K&\xd4Z#$z%\x06\xf7\ +\xed\xb0E4\xad>\xbfVH\xd7e\xfd8oP\xd1\ +\xb5\xd6\xa4\xb6KQ\xb2\xf3\xbe+\xc8\xd4X\xbf;$\ +\x03L+\xadV\xa4L\x0c\x0b\x08M\xb1\xeb\x02\x1e\xc4\ +\x8f\x80s\xe7!\x91\xb7l\x01\xab\x96\x10\xeb8\xaf\xaf\ +46\xc4\xb3\xf7\xcf\x84\x12#\xf2\x8aa\x9d(\xae\xc4\ +YK\x06F\xa6y\xf0)N[-\x8cZ\xaf\xf9\x09\ +Z0\xc9h\xa9\x84]\x8b\x9cJ:\x8d$\xe2\x87\x12\ +\x7f\x80\x86D\xd4>%*\xe8\xbc\xf6\xf7\xf9\x0b\xcc!\ +\xad\x8b\x0a-\x0a\xb0\x12L\xd4x\x80\x13\x06\x81\xf3\xfe\ +\xac,\xccY/Y`+\x80d=\x0dD^%\x1e\ +\xf7\xef\x80\x85\xb5\xf8\xa8\x82\x82\xe9\x04>\x87\xdf\x97g\ +\xdaw\xe2(\x8c(\x05&\xf1\x80\x82%\xff\x81\x81 \ +\x9e\xcc\xd6\xbc*\x08`\xa2\xb8Ny\x00@B!\xc8\ +>L\xa6m1(\xc57\x9e{2[\xabp\x00\xf8\ +\xa5\xf1A\x94Q\x8b\x84\xdf\x03\xf8\xc8O\xc4\xeb\xff\x19\ +\xb6\xe4Y\xbb\xda\x07\xbaZ\xd7\xb3o\x0c\x19\x0a\x8cq\ +lk\x11\xbf\xbe\xa7\xbf\x1f\xfb\x22AF)\xec+\xe6\ +\xfd\xbc{\x0f\x1a\x95Q\x22\x1f\xb7\xfb\xa0n\xc3\x87\x03\ +\xbc\x5c^\xd7\xfe\x19\xa8_\xb5K\xcc\x1d\x1c\x10\x22\x00\ +\x80^\xd9\xa0\xc2\xef\xd3\xf5zDE\xea\x9ct|?\ +\x9d\x03\x95v\xdd\xd32\xde\xa0 ]=_\xaf\xda\xbd\ +_t\xb6\xfcJ\xc7\x04pP\x12\x9d\xb0\x10%\xa0\x09\ +H\xb4\xb9\xd2O\xcc\x80h\xef\xa57\x13\xd5\xbc\xc6\xd9\ +E/\xec%\x92:zJS/\x9e{d_0S\ +\xf7\xf4\xaa\x0fo\x0dk\x0ee\xa6&]6\x11\xb0D\ +\xa6#\xdd\x8f\x84\x7fxZ\xd8\x14\x10\x7f0\xac\x89\x0f\ +5\xca\x96\x84\x9e\x9a\xee\xf0\xb0\xb0\xe9\xf5\xeea\xd3\xeb\ +\xeb\xc3\xa6\xd7/\x0d_\x1e\xbe\xd4\x18\x08\xb7\x0b\x06B\ +U@\xa22rl\xe7XQN\xf5\x0cQ9G\xdd\ +\xd5:\xe2\xfe\xb8oz49\x92\xffk|\xd1\xba\xc5\ +DB\xb6rtu\xa0\xaczX\x8b*\xec\xa0\xb6\x11\ +o\x9a\x8e\x0c2)\x81\xe4\xc0\xbc\x1f*\x99\x8d\xf5\xb9\ +D\x06\xf5\xd2a\x1aH\x1co:\x03\x1f\x0dX8\xba\ +\x9b\x02\xa1g\xc9\xfbf`VsM\xf3~\x8c\xc7\x8c\ +\x0f\x1f\x8f\xc9\xf7\xfft2'\x1e\xd7\xf5\x06E\x9d)\ +*:{\xc4<\x8e6.\xe8\xa0\xedA\x1d\x85>\x03\ +\xb9:\xb0!\x84\xe6\x98\x12eC\xcd\xf7\xb90\x128\ +\xf8< \x8a\xf9\xe1\xc0\xcb@\xab\x10\xcc\xab\x86u\x07\ +>G\x93\x95\xfeJ\x5c\xf2\xe0\xab\xcfk\x0e\xb3\xf9\xd5\ +>_>\x87\x8d\xca\x8a\xe7%\xb1\xe7OT\xac\x89\xce\ +\xa4:\x7f\x01}\xbe\xf40\xa3\xda\xa3\x9e\x09\xf8\x00M\ +\xd4[\xd3\xb1\xd7\xd8\xb9\x5cOU\xc9\x90\xa8\xd2\x1e\x00\ +\x04\xb8\x8f\xeb\xebL\xe6\x0b\x80\xae\xd6\xafu.A5\ +\xa5#+\xc5\x15\xb0\x9c\x13\xd6\x05l\x1c;\xca\xa5\xfd\ +\xa7\xd5$\xc7\x1c\x16\x82\x9c\x01r\xa4\xa5-1M\xb1\ +\xd0\x02\xea\x5cw\xbe\x1f$\xdaAQSE\x04\xf6z\ +tS#\x00\xf0\xb7\xdd/\xac\xeb]E\xe1\x03LY\ +\x17\xc9\xf4\xd8\xfd\x92\xb0\xc9\xaf<1\xac\x0btU\x8a\ +\x04Hy\x80WK\x82)\x04*PZ\x1d2@\xa7\ +:\xcdOU\x05\xd0\x14\x87\x8f\xe4\xc1\xed\xbcR9&\ +\x9e\xf4\xf9\xac\x18\xe4\xdc\xe8\xed\xe7\x12\xa1\xa7r/ \ +\xf0\xf9?6\x8b{6 \xe7\x98\xae\x85Ae<\xa9\ +\xac\x02\xd3\xf15\xe3I\xe3k\x96\x8at\xb5&\xe4\x98\ +\xca)l\x9f\xa7\x01dO{\xb5\xe0\xa1\xc4Z\x7f\x12\ +\xbfC\xc2:\x0a\xaa\x0a\x8c@G/\xba}@\x05Z\ +\xc0\xeb}\xbe\x1b\xd6\x8d7\x8b\xc0\xec\xb7\x93\x81\xf1\xf4\ +\xec\x05\xfd\x8f%\x10i\xa2V\xcfY\x00\xde\xf1\xe0\xb0\ +\xa5\x82\xbb\xf3ca\xd3\xebC\xc2\x16\x00\xa24\x0f\x92\ +\xaa\xbc\xf9dX\xb7?\xb4\x1e%0]\x80\xd3\xbea\ +\xdd\xfa3\xc5\x01U\xfaR\x9b\xbd6{-\xad\x16\xad\ +W\xf3\x07K|1^)\xac\x03F|\xee\x04\xdc\x8c\ +\xdd\x1b~\x106\xbd^;\xac\xfb\xf9\x04\x0c\x00\x14\xc3\ +\x89a\x0b\x03`8 \xacK\xd4Q\x8c\xd3\xcfn\x9e\ +=\xad\x87g/\x15\xd0\xaa\xf8|%{\x85\xff&\x13\ +7\xad#D\xd7\x0e\x9a\xfd{\x05\x88)~7\xc5\x1c\ +?hq\xc7\x15\xb3u\x91vP\x8a<\xd6\x18E\x9a\ +2\x18f\xd6/\x84\x00\xa0\x0a r>\xa1\xa6ZG\ +\x128LI\xfe-\x99yz\x93\xab\xd5\x0e\xb3\x0b\xd0\ +\x1d*\xe4\x0f\xec\x02b\xfb\x0fC\xf2V\x8dL\xbfc\ +\xf3\xcb\x9b\xc6pi\x09\xec\xbd\xdb\xff\x9f\xc7\xca\xbd`\ +\xfb\xc2\xedtN\x8c\xaf\xcf1\xd4*\xee4=2\xee\ +\xd8\xee\xbf\xbdrhWm\x8e\x0fk=\xfb\x93-\x80\ +v1\xd8\xb2b7\xfeWXW\xb1\xce\xf5@\xf4\xb2\ +\xc4#\x13\xa8\xad\xd6%\xad~\x01\x87M\xcfu<=\ +l\xfa;\xfb\x84\xb5\xf3\xbe\xf5BWo\xba\xd6,\x9a\ +C\x12\x0f\xf1\x22Q\xc0\x14\x8b\xab\xd6\x83\x8c\x0b\xb6\xb7\ +\x0dkb`\x8d\x91P\x14\x7f\xf1\xe3\x9b\xb2%a=\ +\x86m\xcd\x88\xcb\xcae\xb5d\xd1\x02 R\x9c\x05\x87\ +\x9a~`<\xa9q\xcf\x00\x81\x9c\xaeP\x89\x97\xb1l\ +\x09\xe8K\xfcJ\xc4\x10\x95\x9b\xff\xe2\xd7\x00\xd3y\xfe\ +V+[\xae\xcfj\x81\x92\xf0\xd1\x5c\xa1z\x0f\xa8\xcd\ +\xa9\x02\x05t(\xd0\xfcu\xb6Z]>\x0bUD\xf7\ +\x00\x9e\xc90\xc4\x08\xb4oJ\xe4O\xc2\xfe\xc7\xcd\x0a\ +h\xab\xd6\x9a\xf4c\xa5\xf1B\xf3F\x5c\xe8\xfe\x03 \ +Ss\xa9\xf6\x978\xcc\xf5\xe69\xb9\xb9DX\x17\xcf\ +\x00\xe0\x14\x12\xc4\xd1\x0b3\xf6\x82c\x0d1\x07\xc4\xd9\ +*\xf5\xfc\x0e\xad\x00\x85\x1a\xd7\xe9\x9c\xd0\xe3\x0f(s\ +]\xcew\xf1\xa4\xc4\x1f\x80\x83\xc2\xaer\x0fP!\xd6\ +\xf7\xc6Y\xa3j\xca\xbd\xe6x\xdf\xdfK&[\xdd?\ +\xcc#\x85\x19\x1aL\xc6\xd0\x9a\x8e`\x9d\x02@\x001\ +\x80\x11\x00\xcfZ$\xd2x\xc5\x5cOUx\xf1\xff\x9f\ +6\x8bg_HL\xddy\xe3>\x8aW\x007\x17\xcf\ +\xb8\xfc\x01a\x9d\xff\x94\xc7`\x0ax\xae\xa6C`D\ +\xdc9\xaccL\x9b\x82\xa6\xa5\xc1\xf9\xe2\x9c7\x8d\xcc\ +z\xc2\xbcP\xf9\xcfBL\xb5\x10\xc8g2\x1f\xda\xa5\ +\x22\xdf*sWn\x222\x93u\xbd\xa3\x90\x12\xe3\xf4\ +z\xb5\xfe\xbe\xc7\xddB,u\x81\x0cpU\xc82\xe0\ +.\x11\x88\xa4 4\xfc\xe9\xc7\x0be\xbeU\xd8\x0e\xce\ +\x0a\xdf\x01\x9d\xe3\xea\xd5\xf9\xbb\xf1\x13%\xaa\xe5\xfd#\ +q\xb8v\x87\xe4\xc4\xb2\xfc\xf5\xe5\xfa\x1b\x92wX\xa7\ +F\x1b\xb8\xcf\xbe\xb9\xc1\x0e\xe9Z\x19T\x18i\x0e\xec\ +\xdf\x06/-*\xfd\x116\x7fa5\xde\xa4ka(\ +\x046p\x963\x16\x80\xa3\x89\xb9=i\x19\xafT\x8e\ +\xf26\xf3\xc1ILk8$\xac!\xe1\x93-\x0ei\ +\x0a\xcf~\xba\xf9\xe9\xf4\xef\xb7\x98)\xfb\xb5\xd0\xa9\xf3\ +\x1a\x9f\x94\xbd\x8a\xc3wR+ \x0f\xbe\xe1\xd6a\xd3\ +e\x9e\x1a6}?\x86M\xff\xff\xdf\xc3\x16\xc0\xa0\xfe\ +\xfe7\xc3\x96\x80(:][\xaf\xab\xca\xae\xe7\x82z\ +\x88\x92\x9a\x15\xecJ\xc0\x13\xb9\xaa\xc4.)\xf9\xa5\xa2\ +\xcf\xa1K\x90\xf4b\xa3:K\x80\xff\xf8\xa9\xf1\ +\xd3\xe3\xa7\x16\xaa\xb3\xe7^\xe3E\x89\x8f\x99~\x92\xeb\ +}\xe7\x0b\xc3\xba\x8a\x92\xcf\x0bh\x22ji<\xe0?\ +\xce\x0c\x8d\xfa\xdc\x18(Z\xb1\xae\x156\xdd\xcf\x07\x84\ +-\xe2m5m$[,\x86\xc7\x87\xb5\xe9(\x87\xb5\ +\xca\xb9\x16\x1a\x94\xfd\xa4D\x97\x18\xdf-&\x9b\xf6\xc9\ +\xf0\xea\xb0\xa5b\x0fh\x1an\x12\xd61\xeer\xfc\xa3\ +D\x13PS\x1a+\xe9\x1f\x1b5\xfdV\x1d\xe0tz\ +\xd8\xe2\xc7Z\xeb\xc1<\x1e\xea\xb8\xcdq]\x22G\xc5\ +<\x99\x09\xed\xfd\x0ei\xe7\xce{\x15\ +\xff\xc9c\x00\xb7\xbf\x1e\xd6\x0a(\xf3\xba\xcc\x16\xb4\xa2\ +\x82\x03\x96\xc5A\x0a \x12N-\x97\xa9J\x0f\x007\ +\xb5\x09\xa3\x07@S\xc0\x0e\x86\x04`\xef/\xc3\xbaV\ +\xceu\xa1U\ +\xc4\xd0\x81S\x0ei=/\xd8z\xb0NPH=7\ +\x89\x1dG\xe7}\xf4\xceX\xc0\xd6\xdb\xaf\xe7\x86\xd8'\ +\x1d\x94\x7f\xb7\xae\x04\xb2\x1c\x89\xbfk\xbd\xe9\x9d\x92H\ +p$\x1f\xc9\x04?+\x87\xc64\x11\xbb)\x912\x81\ +=*\xd1^+\x8a\xe4\xbdg\xca\xd9\xb4\xd9\xe6\xcf\x0d\ +y\xe50T\xba\xb3\xc5\xa6\x0d#|SN\xdb\xb8\xd2\ +2.\xcf\xff\x1f_<\xd9\x8b\xda\xf8\xbe\x87\x8d\x0f\xcb\ +\xf9\xe2\x1fL\xe0`\xda\xf0\xe3\xd9a\x0b\xa2\xba}d\ +X'f\x02\x81\xcc\xc4\xa4\xa6\x06\xfc,l\xe95\xaa\ +\xe7\x82Rv`\xd82e\xc1\xefa\x18l\x7f)\xac\ +\xab\x00\xa0@q\xbc\xfc\x86@\x1f0\xe8~\xa3$\xa1\ +\x0e\xfa\x02\x04@|\x1d\x04\x0e\x16\x096\xc4?\xd7s\ +!\xa3+\x11\x98\xa2\xecA\xca3\x10*\xaa#\xc7\x0d\ +\xc82\x0e\x90\xb8\x93\xb1<\x80#\x81\xb2y\xed\xee\x1f\ +-\x0e\x09\x99\xde<@\x96\x03.\x0fjj\xcf\x95`\ +\xa5\x88\x97\xefk\x1fd\xef{\x89\xe3Q]Wq\xd0\ +\x8a\x95\x89\xb0\xfd\xa9\x12S\x07\x1f\x86\x82y\xd9\xc6\xd8\ +\xe9\xb5E\x85t@\xf0g\xc6\xee\x11[\xf2\x5cR\x9d\ +\xbez\x9f\x13\xd8\xa3\xee\xbe\xfb\xaf\xc2\xbai\x1b\x90\x7f\ +Tq\xcfQ\x85?)\xe6*q;?\x11\xb6\x88\x87\ +\x16\xe0\xe1 \x04\xb89@M\x83p\xd0-\xe2\xa2m\ +\xdf\x0dg\xce\xea\xf4S:\xd4\xc4Q\xa7\xb0hnq\ +qPz\xffw%3\x06\xa2\xfe\xa9\x9cZ\x81A\xb1\ +\xea\xed\xafD\xeb\xa9I\x95M\xc4\xbd\x01\x09\xa7u\x09\ ++\xbf\x91\x89\xfappX\xee\xcf\xdf\xeb\x12-\x22\x96\ +D\x85RK\xf3B\x1a\x0f\xfc\x1a\xe0Ue\x07uP\ +/?@-+\xf8\xad7\xff\xaf\xbaq\x95\x02T\x80\ +\x8b\x04 \xc6\x19>\xa8\x9bv\xa3\x22\x9f\x80\xca\xce\xef\ +\xed\xfc\xee\xce\xefv\xd4E\xf1\xc3AaK+\xc8\xee\ +?\x0b[*\xbe\x00\xda\x9d\x9f\x0d[\x122-$D\ +\xea\xf4\xec\x97X\x16\x86J\x8a\xef\xb6\xc4\xff\xda\x0b\x00\ +S\x9a6\xb9N\x87\xd7\x86-\x09\xd8x\xeb\xb0\x8eq\ +\x85\xaa\xa9%l\x8f\xb0\xe9uwN;\x89\xfd}\x9f\ +&\xea8\xd92\xbeOKA\xf5\x1e'0T\xad\x08\ +A\xfd\x1f\xba);\xc9\x5cAm\xad\x1e\xcd\x13\xb3U\ +Bb\xc4\xff\xfcA\xfa\x97\xe7\xa5\xba<`'\xc7g\ +V\x05\xf2}a\xcd\x7f\xceS!\x92\x1a\x5c\x80F\xb6\ +\xccT\x02\x15\x9a\x09\xdf[\xbe/`\xdb>\xb2o\xb2\ +\xe7\xbe\x18@\x19\xa7\xd4y\xae\xb5\xcc\xbck\xfe\x1a@\ +A\xd3 E\xc7J\xfc\x90\xdf\x0bj\xf4\xfd\xdb\xf9\xf9\ +\xf5\x96xh\x15\x89\xb1\x89\xe7w\xe2\xc7\x09`\xa1V\ +c4\xb5\xde\xe3S\xbb\xb1\x7fT\xf1\x01\x1c\xef\xda\xbe\ +\xb31\xdeve<\xfa\xd4le\x89\x04\xfe\xa7\x8d)\ +uR\xd3\x10\xd9\xb5\xdd\xb9\xdd\xd9\x80\xc1y\x9aR\x16\ +`\xc6\xff\x0d[D\x9f7\xc7\xcf\x09\xf0\xf0\xac\xc9\x9e\ +\xdd%\xd0D\xb9^1%\xae\xafh@\xf3\xb7\x02h\ +\xde^=\xac\x0b\xf0\x8f\xceD\x0b0\x87\x11\xa9\xd0\xa1\ +\xb0e\xde{\x02\xd1\xe2\x10\x09\xdf\xf0Ka\x19G\x1e\ +\xdaQ\xf6\xa9\xb7\xa3\xe2k\xf5\xd0\xd3\x8d!C$\x10\ +\x93O\xe2/><'5f\x88\xfb%\x83\xa4\xe6\x8b\ +kEK\x11\xb5\x1a\x97\x9a\x89s\x9d\xfb\xfc]V\xae\ +K\xfb$E2\xeb\xbcL\xc0|\xb8U\xd8\x02|l\ +o6\xf7\xbe\xd7~\x22\x22\xc8\x9f\xa94Kt\x15\x94\ +\xac3\xf1;\x11\xbf\xd7\xa7H\x1c?\x99q@}\xbe\ +\x14um@Z\xc4%\xafm\xb6$\xd6\x0a\x024|\ +\xf8i\xcf\x8f_\xe6\xb7\x01\xdc\xb4\x9f\x00\x22\x12\xb5L\ +\x18\x8by\x91\xcc/@fQ\xca\xfd}q\xa6\xe7\xe5\ +{L?\xf7\x1d\x83\xe1\xc5a\x1d\xa3\x02\xb0\x9f\x85\xb2\ +*d`\x80\xfckX\x07\xb4\xab\xecKx\xb5\xd4\xba\ +\xefkU\x7f\x14\xff\x07\x84u\xd7#!\x05d\xd1X\ +\xc2\xe4\x94Oy.^\xd7c\x02\x15\xe8\xe4\x85\xfc\x94\ +\x91\xbe\xd7w\x88\xe0\ +O\xe7\x8a~Q\xf8\xa8\xf5\xe7\xfc\x5c\xa2\x14%\x86D\ +u>{\xa3\x04\xb85w>+\xe0\xc3\x1f\x0d\x8f\x1b\ +\x1e\xb7P[\x877\x84u\xe3\x99r\xec\xc8\xcec\xc2\ +\xa6\xff\x7f\xa9\xb0\xe9\xf5\x9f\xc3\x9a*\xf2\x17C\x15\x19\ +2Z\xe2-\x02`\xf34\xb3\xb7\x91\xa3\xa2\xba[H\ +\x98\xc4|\xed\xc8 r\x10\xddLtT.\xabr%\ +\xf0\x05\x00qH\x1c\xc0j\xc1\xebm.\xb1\x1f\xc8`\ +V\xf0\x8a\xca\xfd\xbe\x14\x1b|\xe6<\xfe\xae\x02b\x09\ +\x85\x0a\xa9D\xdeW\xcf\x88\xd9\xb3s\x1c_J\xe0\x02\ +\x80\x11a\xf6W;d\x15\xc2x\xe9\xb0\xce1f\x0f\ +b\xa9\xe9\xa78\xcc\x14\x8e\x9c\x1b\x01\xc9\xeeg\x85%\ +`\xf0\xc6\x05\xa1\xa4\x82:\x9e\x1a\xb6 zz\xc1\xab\ +\xb7,\x11C\x15\xf1\xa2\xf0\x12IR\x19\xd2\x83\xa8\xe2\ +\x0f\xe9\xceu]c\xa4\xa8\xf8: i$\xa8,x\ +\x1f\xff\xee\xb9;8\x00\x22\xf6\x97\x04\x15%7\x03\xeb\ +BP9j\x95y\xeb\x00\xd0#1\x05(\x09X\xfd\ +\xfc\x22\xda\xd3\xfe\x9d\xc6G\xcd]\xe5H=\x0fb\x7f\ +\xfe={*\x0b\x90\xe2\xd0%^\xfc\x18&\x00\xe6\x0a\ +\xd1$\x94k\xcf\x1fpHLS\x85\x01`\xa9\xb5\x80\ +\x1f\x91H\xe7A\x8b\x12\xb6\xf9\xfb\xb0N\x8c\x0aPB\ +D\x06\xa0\xa0\x07S\x05\xc0~B\xc1\xd4#\xee\xef\x12\ +\xbb\x02(`\xe8|4\x0f$\xfbC`\x98cJ\x8b\ +R\x98\xbd\x8cE9C\x89\xb7\xbf<\xa7\xdc_\xb5\x1e\ +S\x5c\x10\xc0\x84\xc9T\xfbM\xe0k\xfcg\x8aD\xd5\ +8Q\xf77+X\x15\xc0\xbe%\xa7\x0e\x18[(\x01\ +6\x9f\x1c\xa0\x99\xa2s\xd3!<\xf7\xfe\xa5\xdatQ\ +\xef\xad\x0f\xcfK\xcb\xcc7\xd3\x9f\x9d\x9c\x01$\x8d\x19\ +\xada\x02,S\x13\xf29\xd7\xd8\xdd3\xa6\xbbzF\ +w\xeeE\xa7\xe8\xd1\xed\xc8\xca\ +x\xad\x0b\xd4k\xcc\x17\xe7\xb6J\x9a\xe9\x06\x09\x94\xa1\ +\xf6\x17\xb0\xa2\xe2\x9f\x89\xbd\xf1j\xad\xd1\xe3\x01]`\ +\x85\xb2mL\x1fj~\x02\xc3%:\xa6\x179\xbf\xdf\ +\xbdgXGE\xd6S\x09\x08I\x8d\x19\x0c\x8d\xe1\xfc\ +\xb0\xe9u\xbf\xb0n=E\xc2\xf7\xa8\xac\x94|ca\ +\x00\xe8\xbd\x1fo\x166}\x7f\xc5\xb0\xe9\xfbs\xc2\x16\ +`Ge\xde\xd8\xc3\x96@\xbf\x7f\xa1\xac\x0fO\x0a[\ +\xe6[7f\xd7+R\xd5\xff\x7f\xbb)\x07\x99x\x03\ +\xb4\x86\x0fO6\x9d+\xc3/\xc2r\xbf_'\xc7M\ +\xc59v\xd9\xb0E\x13\xa6\x9e\xc3\x9a\xe1 \x816\xde\ ++\xf7\xe1\xf0\x07a\xd3\xe7y@X\x8a\xe1}\xa2\x9b\ +&\x93\x89\xd2\xf8\xe6\xb0\xa48_~ILK\xed>\ +\xce\xc1\xbf\xee\xa8\xcf\xce+\x95Q\x8c7\x81\xa6\xc0\xdf\ +\x10c\xfeZ\xa2\x1a\x8c\xb5\x8fu\xbfg\x9d`\x8cb\ +\x06d\x81b\xb8zX\xc7\xb8\x8cF\xa3\xa7v\xcf%\ +\x19r\x80\x8f\xf1Ia\x09\x84_\xb5\x8b\x17\x22\x8c\x0d\ +@\xef.\x93\xfd\xf6\x22\xa67>a\xb2)\xb1\x1d\xf6\ +\x09\xeb\xe2@\x15\xce+Ov@R\x8b_\x96\xa2\x8b\ +\xbf\x9f\xbd\xe4S@<\x9e\x19\xd6\xe2\xd3\x16\xf7m\xbe\ +\xb0\xf9\xcf\xa0x\x9bV\xa1UR\x8b\x14\xbfFsd\ +\xfb\xef\xdb\xcf6\x86\x1d\xff\x8f\x89\x99\x89\xa9\x04\xb7\xc4\ +\xf2n\x97\x80\xeb\x97\x13\x18~\xdd\xec7\x8c\xfd-F\ +H\xc6m\x80\xe5\xcd\xad\x13\xd0\xe6?\x0f\xcdB\x99\xf3\ +M\x9cb\x7f\x03\x18P\xe6\xc5g4)\x00\xbb{d\ +e9\xcf\x15\xe3|+\xb1v\x9eg!\xa5\xa6\xa0h\ +mI\xc6\xaax\xb4D\x9f\x1f\x91\xa2\xcb9\xcd\xa4\xf9\ +\xb9\x8f\xb4\xf58k=%cbx~\xd8\xf4\xbe\xf7\ +\x08[\x00\xc4\x9a7\x9fS_\x0a\x083\xd5I\xcb\x18\ +&\x9d\xc4\x8f\xf8\xaa\xf8\xd3\xbf\xa3\x86\x07\xc0\xf9\xe0.\ +\xae\xc0\x88\xc1|\xb4?\x14\x22M\xddH\xf1\x5cL3\ +\x85\x94\xd2|J@\xb4\x00e\xf1-\xd1<\x00\x88s\ +W\xbe\x90\x7f\xb7\xb4z\x9cg*\xb5\xc6\x0c\xd2*\xc1\ +\x5cI\xc6O\x152$\xdc\x0a\x03\xfcq\xb6\x96U|\ +A\xe3\xc1\x94$Trb\x94\xa9qT\xe2|\xc6<\ +\xae+\xf1Z\x06P\xfc\xc5U\x80\x8f\xf5\xd8\xd0u\xcb\ +\xb4\xbc@\x81h\x15\xa7\xd5}\xd7\xc3\x8f!\xa1p\xa0\ +uAe>\x0b\x19\xe5G1\xcch4\xf0S\xfe.\ +\xff\xa7\x90\xc0\xcf\xb8\x9e5\xe3|}\x9d\xd6\x8f\x04^\ +%\x1fP n\xc8\xb8\xbd\x18\x05\xces\x9ag\xce\xc7\ +\xb5\x86YN)+\xb1H\x00\x07F\x8f\xbf\xafe\xcb\ +}\xc0\xc8\x01(i\xc1\xf49\xb5\x16$\x90\xb9\xab\x02\ +R\xc8\x9a\x84^\xa0(\xf1\x97\xe8J\xc81\x02\xfc\x1c\ +u\xff\xf5\xfcC7\xccAB\xf5<\x90\xf1\xf7g\x22\ +z\xbf.a\x8f\xfa\xd0u:DC\xa2\xd03\x01\xf6\ +\xcb\xc0\xf4\xca\xb9\xb0\xf7\xcfJ\xf0u;\xf1?*\xfc\ +\xae\x93\xe3t]\x11\xcem\xbb\xf77.\x22\x02\xea\xfd\ +:\xca\xbf\x0d\xcd\xb1\x02\x100\x17\xbc? \x03\x82$\ +A\x01\x94\x10\xeb\xfa\x83\xb0\xae\xd2\xa8G8EW\xca\ +\x91~f\xf3\xe9\xcd\xa7\x1b\x22\xdd(\xf4\x12\x80\xe1\x9e\ +a\x9d(\xd1\xe7gJ\xef\x14\xbe=}xz\xa7~\ +\xfc\xe2\xb0\xe9\xe3>'l\xfa\xfe\xaf\xc3RU~\xfa\ +\x1c\xc3\x0b\xc2:&\x81\xeb\xe1\x10SU\xb4>\xdf:\ +\x11\xb3\x10\xf5T\x1b\x1f\x06\x18\x11@\xa3\xb4\xa4#1\ +\xa7\x12\xf2^\x1bE\x22o\xdc\x9a^\x15\x0b\xdbs\xd3\ +\x03\x9c\xe3\xeb\xca\xa1R\xc3\x85\xf0\xa2\xdc\xa0J\xeb\xed\ +J\xcaV\x8d\x9f\x81\xf0\xaa\x8c\xa0@q\xa8\x10B\xfb\ +\xe2\x9b\xe9p\xad\x1b\x07/\xa4\xed\x8b\x19H\x11\x87\xe4\ +\xb8U\xb2\x00\x15\xa9\x12\xbb\xbd\xfe\xf6z\xdb\xebe\x82\ +\xfe\xf3\xfe\xa7\xeb\x00\x00 \x00IDAT\xcdE\xbc\ +h\xf7\xb1\xbb\x8f\xdb=%\xee\xe3S\xc7\xa7\x8c\xf1y\ +\xae\x97\x14\xeb\x8f\xcc\x14\xa6\xf1+a\x0b\x12?\xfeS\ +\xd8\xf4\xfa\xa2\xf1\x85\xe3\x0b;\x0a\xd1\xd9\x89\xc8b\x02\ +\xa4\xc3Gu\xa3\xd2^\x1a\x09\x0e\xa4\xa4\x9c\x8e\xdf\x0b\ +\xeb*\xe7T\xea\xf9\x01L\x0f\x8eL\xaf\x1f*Z\x8a\ +{ql5]\xc3\xbe\x82\xb4\xaal\xbbn\x0eX\xc2\ +\xef~C\xb6\xf9\x07\x80\xa0u\xc4\xc1[\x9f\xa8s*\ +\xf1\x02W\xbf\x87B\x86\xc2\x95\x15\xbeZg(l\x02\ +\x03\xefk]\xa8\x84I\xec\xf4,J\x14\x05\x86z\xc1\ +?\x15\xb6\x04\x04\xc5\xdc\x00P\x00\xae\xf8Q\x9f\x9b&\ +J\xbe\x7fi\x03\x00(\xdc'\xcc\x09\xef\xa7Ue-\ +*\x09(\xc8\x96\x81\xda\xdf\x80\x0d\xd7\x09 \xb0\xef\xdd\ +\x07\xcf?+MM\xa5\xfb\x87\x0b\xb3\xa9z\xb6\x1d\xe8\ +\xf6\x89\xf5\xc2\xdf\x12\xe5\xa4)\xa1\x07\x0e\x85\xcf\xcfc\ +\x8e\x00\x00Qg\x8d\xb1\xd4;\x98@RQ3\xf7\xd9\ +\xee\xbd\xdd\xbb\xa9\xcfO\xb6\xb4:m\xbf;Wj\x05\ +\xa6m(\xe4\xfb;1P\xda\x0a\x80O\xc0\x87@#\ ++\xd0%\xee\xe4s\x1a\x17\xab\xf2\xf6\x98\xb0\x85\xa9U\ +\xe2q\xa7\x86M\x1f\xef\xf8\xb0\x8eY\xb2B\xfcQJ\ +\x0b(\xa5E\xa0\xd2c}\xbb.\xcc:j\xc4\x02\x0b\ +\x0c1\xeb0)\xe8\xc5\xe4\x08i\xc0\xfbt\xc0Q2\ +\x96\x0a\xd8['\x8c\x077\xdb\xb1\xb9XX\xc7\x14H\ +q:\x95\x8c\xf1\x94\xb0n:H>/\xc7\xe8\xf0\x96\ +\xb0\xc9\xbd\xffS\xd8\x226\xbb\xf3\xa5\x93\xbd\xa4S}\ +O`i\xfc\xdd\xb0e}V\x02\x92\xe2^\x12\xce\xf1\ +\x89a\x1d\xe3\x0f\xb3\x8f\x7f\x03dx.\x09\x887\xd1\ +\xb7\xcd2\xff\x19SFa\xae\x18q\xc7\xcdT\xfd6\ +N\xce\x18\xdcwf\x01\xe2*I=\x7fc\x07\xcce\ +\xe5\xa7D'\x9d7\xd4\xf1\x01\x0c\x09\xec9\xd7\xb4\x06\ +\xed\xfcP\xd8t\x1fv\xce\x15\xecb\x08\xe5\xfd\x9f\xd2\ +\xa7{F\x02UTr=\xc9\x01H<=E\xd1\xee\ +\x9d\x05\x91\x83\xbbD\x88(s\x02\x85\xc50H\xa0\xa6\ +\xdd\xff\x07u\xc0\x948J\xa5\x0f\xe0\x1d\xf5\xcc\xa3\xba\ +\xc0;[\x13\x01\xa4;\xbf\x136}\xff\xfc\xb0\xce\xff\ +$\xb3\x86\x86L\x89$\xa7_\x1a>\x18\x96\xe3X\x0f\ +_\x00\xeb\xd2\x9c\x09xo:\xdf\xc7;\x87\xb5}4\ +S\x9a\xcf\x9f\xa9\xf9\x18-5\xc5\xea\xebS4\xf1\xf5\ +\xee\xdc\x07l\x1d\x13\xf3GR\x03b\xfa\x5c;\x1f\x1f\ +\xd6M\xa9\xc8\xb1~U\xe0H\x0a\xfcf\xdcl7c\ +'v\xa9EL\x0f\xff\x0b\xe7@~\xf3\xd0\x1c\xa7g\ +\xbff\x02\xbd\xfd\xfe\x0c(\xa8\xd0\xd3\x08\xa0yR\xd3\ +/$\xbc\xf6\xdd-\x93b\xad\xc5\x0f\xa0`\x9f\xa6\xdf\ +\xaa\x82\x88\xd63\xe7\x11m \xaa\xf7\xc6\x1ej\x9d\xa0\ +\x85\xe2\xfcq\xdd\xeb)K7J\xe6\x5c\xb6:\x01\xae\ +T\xd4\xb7W\x9aE\xf0j\x5c5&J\x8a=\xd6\xe7\ +\xc4\xe48&l\xf9\xfd\xa2\x92\xa7\xba\xfd\xe6\xe5a\x1d\ +0\x01\x98u=\xce\x0b\xeb\xd3\xb9c\x9d\xfa\xff\x19g\ +\x16\x10\x22AW\xe02\xbdC~\xa3\xd0 \x81\xc5\x00\ +\x90\xa8aX\x98\xaabz\x82\xf8BAD\xdc\xa1\xa5\ +\x0eCN\x05\x1de\xdf\x18LSj88|}\ ++\x0f\x16\x94w\x811\x95U\x8e6)C%\xda\x93\ +\x8e\xb5\xc6\xf0=gf\x82\x8c\xe7\x8e\xe7\x8d\xd3\xdf\x19\ +\x7f1\xd9\xe4\x88v\xdfu\xf7o\xef\x0ej\xe2\xa5\xc7\ +\xbd\xc6\xbd\x96\x04\x07\x83@\xa5t\xbcM\xd8\x02,m\ +\xef\x106\xfd\xfb\x07\xe7\xb1\x81D\xd0jz\x00\xc7\xa7\ +\xf79E\xbcj\xddA\xec!\xeb>\x1f\x04\x16\x05*\ +\x91\xe8B\x84\x89\xac\xe9\x15\xfc\xf7\xe9X\xf8\xf7\xe6\xa8\ +f\xbfr\xad\x0c\x84\x1d\x10\x0e\x1a\xf7K\xe5\xdc\xbf\xdb\ +W\x98\x06z\xc2\xb2r[Z\x0b\xde\xcf\xfeUI\x95\ +@\xcb4\xb4\x8a\xa8\xd0\xa4(\x9b\xeb\xad^C\xe2@\ +\xc6\x06r\xc0(\xbcz\x1c\xb5\xde\x98O\xec\xef\x0a\xf8\ +\x01\x82\x12d\xc0\x18 \x11\xa0e\xac\xa0\x83V\xa2\xa9\ +\xa7\xd4\xf3\xf2\xf3\xe9\x17U\x22jl\x9a\xa9\x18\x0ev\ +\x07\x91\xd6\x81o\xe5\x5c\xf4\x0f\xcdT\xf8\xaahEB\ +\xf6\x8d\x85\xf9T\xf3\x86\x05\x22\x9e\xff\xf7\xeb:\xe6\xfb\ +\xb9fV$\x808\xfcg\xd8\xa2\x81\xa0\xd7\xb1\x0e \ +\x95|\xbd\x8f(\x9e)J'\x80\x19\x1f\x196\xbd\xdf\ +\x95\xc3\xba\xc4\x94_\x04\x08x\xcd\xde\xd8\xf1\xc3a\xdd\ +\xd8\xa77\x84-\xcc\x9f\xe1:a\xdd\x18>\x152\x15\ +\x10\x22]\x00(\x01N&\xe2UY\xe1\xafTRR\ +\x8b`\xf3\x96)\x81{KC\xde\xe7\xf3-\x81@\xbd\ +\xcb\xa6h\x10K\x1a\x1e\x13\xd6}.\xcf\x0d\x10\x098\ +3665U\x8a\x92k}Y\xbf\x00:\x9a\x0fZ\ +\x03\x88\xfe\xad\x010\xfb*\x12\xb1\x87/\xbd\xe3\xd6_\ +U\xc0\xf9[\xbf\x97@[\xcd\xcfV\x09I\xad\x13\x89\ +\x00\xff0\xde=l\x09\x9c\xa8\xa4\x8fo\x0c\x9b\xbe\xbf\ +gX\xc7\xa8\xc9\xcf\xbd\xf3\xb4\xc9\xde\x94\x15\xf9s\x9b\ +\x86\xc2\xe9\xa1\xa10\x9e\x1c\xb6\x88\xf7Y\xa7\xfc\xe1\xe6\ +\x05a\x1d3\xe2\xfc\xec\x99O@K\xab\x97D\xbei\ +Y\xfc\xcfr\x8e\x0e\x87\x85u\xad\x06\xce]\x14\xe5\xa0\ +\xaa\x87\xe8\xeeAa\xcd\xdfN\x96\x9f\xeb\x81]\xaf\xa6\ +\xfbdz\x8a\x04\x1a\xc0\xa2E\xc2\xbe$\xfa\x94\x00\x14\ +`m\xc7\xf3\x9b\xd5\x14\x04\xbd\xefz\xb5\xab\xc5\xcb\x14\ +\x0e\xe7n\xfa\x1b\xe3\x82\x9b\xbf\x8fJ\xf0\xefMvD\ +\xe7\xc7\xd2\xefT\xe2\x1a<\x92\xdf_\xe21\x15\xef\xd2\ +v\xb1\x7fie\xa4?\xd5\x1a8\xbc\x22l\x01\xbcj\ +7\x03\ +\xdf\xc3\xdb\x9c\xd8G\x05\xc51$\x82B$HBV\ +\xbdQ\xa9\x9a\xdc\x0e\xec\xdf\xeb\xc6\x81\xfcQ\x8e\x0d\xba\ +KV(r\xfc\x90\xb15\xa5\xe6l\x9cM\xf6\x1aU\ +E#\xc7\xd0\x14\x95V\xef\xab^\xa5\xa4\x8c\x97\xe8\x97\ +\x04\x9cCS\x81\xa3\xea\xe9\xa0[\x8d\xf3Sq.\x0a\ +\xb3\x84\x0f\x22\x8a\x9a\xc3\xa1\xe9\xb1\xd3\x0a\x90\xe3\x13+\ +\x11\x8f\xed}N\x22f\x1f\xccD\x1a\xe5\xe9\x1d]/\ +\x9d^k\x15\x07=Zz\x81Tj\x1d {^\x90\ +j\x5c\xebP\xe0\xc0\xf1qX*\xde\xff\x9e\x09\x02\x87\ +\x01y\x86D\x12\x03J*8\xe4\xcf\xdc\xeb\xed\x81)\ +\x06\x13\xcf{r,\xbb_\xb8\xfb\x05\xbb\xa7\xc0\xb5\xb5\ +\xe6\x04\x03`\xff\xb0e\x9c_\x89\x85d\x808\xde<\ +,E\x01\x8fj*\xfb\xf7\x0b\x95}\xf3pk\x1c\xcd\ +\xdes%\xb4*H*\x8d\x18\x09\xb7\x0e[(\xaa\xd5\ +\x02\x80\xaa\x0e)%\xda\x03Y\xa7\x1a\xfc\x8f\x99\xf8G\ +\xaf\xe5I\xdd\x01 \xb1\xbdI\xaa\x9f\xda\xc7\x807\x0e\ +\x8a\xe3\x06\x9c@\xdc\xed+bp\x806\x81\xb4\x00E\ +\x85\x5c\x0b\x81\xf7w\xb0A\xb0\xf3\xfd\x1d\x1cUqW\ +\x19\xa4v\x9c\xef[@\x91\xfdtRX7uA\x00\ +\x9fH~\x1d\x08\x0e^c\x89\x8c_K\xf1\xb7\xd2\x14\ +!&\x97T\xc7b\x08\xa1\xd6\xfb\xe2\xb78~\xe3\xd2\ +L\x0d0\xd6-\x01\x8bb\xce\xa0\x84k\xddB\xd5\xcd\ +^\xd5V\xf1{o\xc7\x00\x80$;\xe0\xec\xbbHg\ +?\x93\x07\xf4\xe9\xdd\xfd\xf4y$VZ\x96\x12\x98\x88\ +\xa9\xdc1\x97\xbb\xfc\xb8\x84\x88?\x10\xc0f`M}\ +W\xaf\xdb\xf6\x9cm\x9bwO3\xa2Q\xb9O^\x18\ +>(\x7f\xc5\x1cH\xe6PHd\x86H\xa6\x1e\xfc\xf1\ +\x96a\xad\xc2\xd5\xee\x97\xc4\xaf\xd6\x07u\xdfT\xa5\xaf\ +\x80C\xa0$\xd1\xc1\xa8xZj\x89\x08\x0c\xde\xded\ +\xc1\x22p;\xbd\x050\x11\x88\xfeK\x87\xf0\xfb;4\ +,\xac\xa7L\xe8\xc6\x1f\x87u\xeb\xcf\xf9\x96\x89bU\ +\x9eS\xb4\x0c\xe0V\x94O\xe7M\xc0\xd7\xf7Xz\xb1\ +w<\xa1\xd9\xd2\xfaD\xad9\xefK\x05\xe8\xef\x9f\xec\ +}\xc9\x04|Ownd`T\x8c\x07\xd3W\xb4~\ +\xd1\xa0\x00\x98>3\xa9\xba\x12\x83\xdb\x85-\xfe`\xfb\ +\xd8\xb0\xe9\xf3\xfemX7>V\xe0B$\x98\xb8T\ +\x8e\x0f\xdey\x5c\xd8\x02\x08\xed<>\xac\xf3\x1b\x09\x90\ +5\xb1\xbf\x00\x94Nh\x16\x8c\x88\xdbon\xdf\x12\xf7\ +\x16\x90\x0d/\x1d\xfejxi[_w\x89\xf5\x058\ +\x1b^6\xd9tn\x0d\xe7\x85M\xaf\x9f\x0c\xcb\xf1\xad\ +\xff\xb0T8\xabe\xe1Na]\x22d_\x85\xa4\xe7\ +\x11]\x0b\x10qC\xe3\xa9\x04\xb4\xceS\xebB\x0b\x14\ +`\x22\xffn1\xa2\xc4g\x00X\xfe\x0f\xe3\x89\xea>\ +\xca\xb4\x1e\xdd\x1f\x84M\xd7{\xc7\xb0\xc6$k\x8c\xb3\ +\x12y\xa3-\x90\x00\x8f\xe7\xddN\xe7\xef.\xadf5\ +m\x05s\xc0\x18E~)\x01\x8a\xe1]s\x0b\xe1\xd0\ +\xbe:&\x91\xd6*\x8c\x14\xbd\xcb\x09Po\xfe-l\ +9_\x01BDH\xdbT\x85+.\xbd\xcb\xe33\xc3\ +\xa6\xd7\xdb\x87M\xff~\xfb\xb0n\xbfa \x02\x96i\ +t\xdc+l\xd1\x8a\xda|kN\xccw\x1d\xb4\xeb\xc0\ +]\x07-\x00\x13\x11\xe5:\xd7\xd3\xdf\x85\xf4r\x13_\ +\x16HS\xe1\xbf\xe1\x14\xf7M\xcfo|\xf7\xf8\xcf\xe3\ +\xbb\x97\xd6\x1e\xfb\xae\xb4~\x0e\xcc\xd6\x85\x97\x8f\xaf\x18\ +_\xd1\xe2\x8d\x06t\x0d\x97\x0d\x9b^\xbf5\x8b6\x97\ +?>u\xa6\x10WaE\xa2\xc0\xff\xe6:7%\xa2\ +ZT\x8f\x9c[=Q\x88\xa3\x5c\x14\x05#\x1a_\xc5\ +\x80\xcc\x0av\xf9yL\xafU\x01\xaeD\x9b\x89\xcc*\ +\xe0\xe4\xf96|>\x81_\xe3_?\x9f\xe3\xf6\xc4O\ +\x00\x1ac\xe0\xb2e\xaa\xfc\xdd\x8b\x9b-\xc0\x92\xf8]\ +\x02Gs\xca:\xb2\xef%\xbc\xeb1\x96\xf6\xa58N\ +|{Z2\xaa\xde\x11\xd6\xfc\xf5\x9cp\x1a\xcbj\xbd\ +\x00\x88\xed?\xeb@O\xbf\xeb\x03`\xeb\xb5\xcfBe\ +\xb5t`\x02`d\xb9\xee\x8c\x8b\xf8a\xe7^\xc5S\ +*\xd6\x80g\x895\xc6\x81\x0a2\xe6\xa6s\x14\xb3P\ +\x8f9\xe0\x0a \xe0\xba\x89\xd8\xd9/\xa6CaJx\ +n\xe2]q2\x0d\x01\xe3T\xe5\x8f~\x8fh6\x91\ +?\x093f\xaf\xc2\x0d\xaa\xbb\xe7\x04\xd0q\x1f\x93\xc9\ +[\x85\x84\xfb\xcd\xe3\x15+\xeev}\xf2O\xf1\x0e\x00\ +\x05e^\xde)O\xb3\xaf\x00*\xfe\xbf|U^(\ +\x9f\x05\x10\xd0~\xcb8\xba\x0aN>\x0f\xad\x13\xcc\x11\ +\x05\x0fq\x0f RkH\x8aw\x16\xc3n=\xa6s\ +[*@\xf3\x97xD\xfc\xec9\xda\xafZ\xa2\xc5#\ +\xaeK\x01\x09\xf3\x0f0\x9e\xfecW-\x1c\x17\x80\xca\ +\xdf'\xf6\x97\xec\x02\xc2^\xa5\xf2b\xdd\x14\x00\xaf\x18\ +\x03}b~\x95\xec\x81\xdb\xaf\x03\x18T8\x82@{\ +\xf3\xee\xc2}\xec\xb3\x1byyA\xb2Q\xf8\xfc^\xa4\ +\x07W\xe9\x12u\x00@\x1eH\xd5\x22\x00\xb1C\x11\xf6\ +\xea\xef\xd9\xd8~?\x08'\x07f\xc0s\xddnlC\ +\x06\xbaUA\xce\xf16E\xf9\x0a\xea\xfd\xaf\xe4\xcf\xdd\ +5\x03\xa5[v\xf3H\xf5\xf6\x87\x18\xd5\x87s=n\ +\x96\xc0nJ\x06f*qRu\xb7\xc7\x85us\xd9\ +\xb3\x824\x9e\x16\xd6\x10\xeawm\xde\xd5T\xdf\xe7D\ +\xf2\x92aMM\xf8\xc9M5\xdaB\xb1\x00\x8c\xb7S\ +\xa1\xe4\x10T\x9e\x1c,T\xb2\xb5,\x08\xac9B\x89\ +\x9f\x0d(\x00U\xb9p\xbf\x04\x16\xa8g\xaeGE\xc2\ +\xbce\x81\x0cDP\x85J`\x81\x02$1\xb41?\ +\xda\xba\x92\xe7\xc4\xff\x9f\xba\x1e6\x15\xddT\xa1\xad\x0d\ +/\xa1tp\xa2fmW\xbd\xfd\x90\xdc\x14s*d\ +\x5cbDd\x06%\xde\x81Fl\x90\x98J\x22\xd1\xe6\ +\xa8W/R\xd4\x97\x8fi*\xfas\xc2w\x93\xb0\xe5\ +\xf9\xa2\x22W\x85?z\x1c\x9f\xb0\x88\x1fIH\xb7c\ +\xd8\xf4\xff\x9f\x92-\x02D\x93\x92\xca\xb4\xdd3\xacS\ +\xe1\xcf\x03-\xf0\xee@\xbc\x1d\x10\xb4\x07j\xec\x9f\xb9\ +\xb1\xd4\xfe\x93\xdaVTu\x07 \xc8+J2f\ +\xcf%\xd3_\x5c!\xc7f\xae\xf7\x1b\x7f\xc2Q\x0b\x0c\ +\xadK\x15o\x00\x81\xe7n\xffs\x80\xfe]\x00\xc0\x91\ +[7\xd6\x9d\x9f#V\xa4\xe2\x86JgJ\x83\x83J\ +`\xa7W\x97\xdfH\xb1\xac\x12\x1bL\xeap%d\x00\ +\x0a\xfb\x80H\x10\x11-\xc0\x93\x1eC\xe3\xfe\x88\xccq\ +\xfc\x80\x17\x07\x9b\x03\xc5\xab\x03'\xd7\x81\x0ai\xf91\ +\x15\x5c\x81\xd3\xdfM\xe1\xcf\xdf\xb5\xfd\xfb\xdd\x96h\xf9\ +\x5c\x00\x1a~\xd6\xfd\xf6\x9c\xdc\x1f=\xfbY9\x04@\ +\xfd\x7f\xb6\xce\x04\xec\xberj\xe3\xff\xb3\xcf+I\xb3\ +4\x0fJ\xb3\xd0\xa02\x84J\x9f\x14\xa1$\x94\xea\xa3\ +T\x142\x16\x89&\x91\x90\xa9\xc1\x90\x92\x94(\xa2P\ +\x94\xf9C\xa3PJ\x92\x06\x19RI\x91\xa8w\x9f\xef\ +Y\xcf\xbe\x7f\xf7\xb3\xecj]W\xe7\xfaO\xe7=g\ +\xefg?\xcfZ\xf7\xba\xd7}\xdb\xef\x1a@\x83\x0e\xb5\ +\xc4v,v\xaa\xef\xefQ\xa0wF\xa4\x04\x03\x0a;\ +\x94H%@\xfd\x03\x11\xe5\xf6\xbe<\x22\xed\x1f\x8c.\ +\x90H\xf0\x5ckt\xc9Z\x1a\x07\x0f\xcfOx\xbf\x84\ +\xfbK\xff\xcc\x88\xb2\xbc\x9e\x12QU\xdc\x0f\xe9\x0eI\ +\xfb\xb9\x0e\xfc\xee+\xdd9\xddW*\xf0\xf5\xdb\x0a|\ +\xed1\xdb\xbdv\xfcB\x9b\xfcc\xe9\xfe\xde\xa7\x99\x7f\ +F\x98\x98%\x05`\xc3=\x82s\x93\x91\x17\xa8\x9d\x00\ +O\xdc\x0f\xdcSn\x8bH\x9d|D-a2\x01`\ +0\x02\x05\xa0\xc3z\x04\x90\x89\x8e\xfe\x0f\x93\x9f6\xcf\ +\x03be\xdf\xd0\xbe\x19\xe2TA=\xfeGDJ \ +HT\xa1\xa6K\x13\x86\x11\x14k\x13 \xea\xc9\xfa\xc1\ +\xcdB#\x17vm\x81aC\xc1\xa1\xe7\xb5\xdf#\xa2\ +\xa4!\xbbD4\x11N\xdb\x04\x0a(\xe9.-qI\ +\xeb\x8c\x90\x882r`\x1fv\xed\x93\xf3g\xcf\x9f3\ +\x7fNb\x02\x06\xf0\xb4G\xda\xcf\xa1\xfe\x06\xdf\xec\xdb\ +\x15\xa8\x1b\xee\xc7\xf7\xd5\x89~SDZ\xcfQ ?\ +:\x8d\x0aqN.\x5c\x22:6+\x0d6ttv\ +\xcc\xfc\x92v\x03\xdf\xc3\x85\x12\x1dwD\xfc`\xd8\xa9\ +cgJ1\xe7#\xf6\x9f\x12\x11sB\x89\xfa;\xae\ +!\x01\xe8\xfc \x15\x08\x8f\x18\xeeK\x0c\x0av\x89\x8a\ +j_t\xfe\x1d#0\x00\x9czn\xfb\xab#\xca\xeb\ +\x9b\x22\x92v\x0b\x9d;\x9d\xcf\xdd##\x92h\x9d\x0a\ +43\xde\xe4\x8b\xce6\x87\x98&\x09n\xff\xaf\x88\xf2\ +\xfa\x9e\x88r\xff\x9eU\xa2\xe4-\xfd\xad%nQG\ +\xf4di\x00D\x07\xf0\xe4\x88\xa4\xb5\x01pJ\xbe\xc2\ +y\x02P\x89\xd8V\xb8O\x5cW\xf6\x81#\xa6\x87O\ +\xcb9\xdc\xfd\x22\xa2\xbc\x9e\x15\xd1\x9e?\xcfp\xd3\x00\ +P!\xd1\xad\x1eQ>\xd7O\x22\xea\xf3sq\x88\xbb\ +M\xfa\xc9|\x8c\x04,\xd8q\xb8n\xb3\x7f\xeb{#\ +\x0e)\x00`r\xda\x00dv\xb7\xc8e\xe9\xef\x11\xf5\ +\xf3\x0f\xae@\x1a\xbd\x9d\x9d>P\xf8}?\xd0\x0c\x12\ +PlW\x00\x12{\x00\x01\x015\x93\xf7k$G\xb3\ +\xe4\x93\x83\x07\x97\x03\x18\x00f&\xd0\x08\xe3\xfc\xa2@\ +\xe2\xdc\xa2\x11\x03#\xf4\xc0\xa1q\x05\x03\xa3\x1c\xbe\x93\ +n\x92\x1ay\x14\xb2\x1f\x18F\x1d=\xd2I\xa1(\xaa\ +w)\xf7\x87?\xa7\x10\xa5\x00#o\x87IG\xfeF\ +>K\xfeF\xe1\x03\xa0F>K\x07\x9d\x8e)v\xab\ +\xdfT\xa3\x02F#\xea\xfe\xb8\x22\xa1E\xc3\xfd\xda9\ +\x22\xd9\xbbI\x03\xc2\x85\x1e\xe7;\xe7\xb1\xfe\x9dGK\ +4\xa2\xe4|\x86\x8e\xb8\x5c\x90\xfc\xf9\x10U\xa5\xa3\xad\ +\xfb\xec|\x93\x99|\x80\xcd\xb0\x0d\x7fd\xda\xf7\x0e\x8e\ +H\xe76\xe2\xa2h`1*\x22[w3@p?\ +`\xd4\x11`\x00\xa0\x91\x86\x1c#.0\x97\x10\x99\xa4\ +\xe1A\xe3L\xf9 ZeV\xd5\xa7\x0e\x10P^\xef\ +\xc37\xd3\xf9\x02\x03BL23\x15\xd0\xb2@\xac\x98\ +\xeb$\xf1`\x8b\xd8\xd2p\xa2~\xa0N\x19k\x86\xd1\ +pd\xb4\x8fQO\xd9\x84\x9a\x11H>\xc1z\xe3\xd7\ +\xb8Ca\xd3\xca(\x92\x1aF\x00Z\x06\xe4\x18u@\ +\x83\x81u\xcdH&\x9f\x0f`H\xaf\x16\xebF|\x14\ +\x86\x1dL\x07\x80\x16\xdc\xb4`\xd2sn\x93o\x90w\ +\xa3\xf1D\x9d\xaf\xe7q\xce\x9dX\x0a\xef\xb1\x0f;\xf6\ +v\xfc\xfe\xf8\x15\xb1\x18v\xf4\x91oe=\xc8VH\ +\x89&\x05\x1f\x89\x08\x1d{\xa8&A4Z)\xcd\xe0\ +\x93\xd8\x93\xf8\x02\x04@\xfd\x1e\x89\x03V1\x8aU\x92\ +]\x1f\xd4\xfbH\x8bWM\xaf\x14\xc2\xfc<\xec\x95P\ +\xe7\x0dB\xfc\x16\xa9\x90\xe7\xf3\x03|\xb0Q\xf2\xdf\xe6\ +\xd5\xf8m\xe8\xc4l\x99\xa8=\xcc\xe2\xa8 .\xdfa\ +\xb0\xd1\x10BZ\x96\xcb\xa0\xea\x8f]\x0c\xb6.\xea\xbc\ +\xc7\x04_\xcc\xf0U;\x9d\xfd\x92\xfa\xedE\xb2\x11z\ +\x916h\xd9\x9ax\xf6\x98\x8e\x82|\x85\x83_Pm\ +\x88@bUxx\xe1)\x81\x83q\xe0\x99@\x12?\ +\x0e|\x16 \xf7\x99\x19h\x1e\x14\xee\x03\x1d>\x0a#\ +\x01M~\xd0\xa1\x98\x8f\x0b7-\x5c\xdb\xbc\xa0\xc6\x8e\ +J\xf9\xd8\xae\x86N\x09\x1d~\xd6%\xeb\x89\xffx\x80\ +\xc7v\x7f\x00\x04\x00a\xcc\x96\xf1\xe0\x01l`\xcb#\ +\x91\x13\xd4\xa7\xeb \xc94m\xbc7\xab`\x0b3\xa2\ +cT\xe0\xfc2]\xbf\x80Y\xeen\x1d\x8a\xfe\xd8\x88\ +JU\xfeB\xf8\x1b\xf7\xcf\xed\xb7\xed\xb7\xad\xb6\x83\x1f\ +\x9d}\xb4\xa9\x0b3\xd3\xea\x04J\xb3\xf5tHg\xeb\ +G\xb4\x83\x89\xd1\x9e\xf1\xc8\x00\x89?\x85\xbe\x19' \ +\xcel\xe4\xba?>\xe8\xe8\x140\xcb\xcb\x81\x04\xf5\x8b\ +\x82\x87\x7fOg~\xa9A\xbb\xc3\xaa\xe2\x14\x02\x1c\x88\ +\x00H\xdc\x1f\x80\x00\xfe\xbd\x0aS\xfc\x9e\xf1K5\xd3\ +\x82\x7fG\x01Ka\xc1\xfa\xa4 \xa6\x80\xe7\xb9g\xff\ +\xa1\xb32f|\x90\x10\xf1\x1c\x93\xf0#\xb2\xa2\x0e\xa5\ +;!\xcc$\xeb`\xb0\x86\x06\xcf\x19\x087\x093\xa3\ +\x00t\x1c\xf8<\x88\xfc\x1c\x1b\x91f\xcc)\xb0`\xde\ +0\x02 \x0d\x0f?GtR\xa1R\xeb\x00\x0a\xa2j\ +0aH\x90\x0d<\xd2\x19!\xf1\xe2\x80\xe4>\xb1\xef\ +\x85\xa4\xdc\xae\xa9\x80\xe3@\x12U\xd4\xeb\xb1\xce2\xb5\ +\xefGBm\x91\xcb\xd5\x22R\xc7\x9a\x0e;\x89:T\ +S\xee\xef\xa9\x03\xa3d\xf6\x9b\x88\xf4\x1f\xa2\xb6\ +\xfd\x07\x22\xca\xeb\x91%\x82\x0a\xfe`\x89y\x8d\xb2\xbc\ +/\x158P\xd8afA\xf1\xfe\x83F\x9e\x0084\ +\x82\xd8/\x17\xa1\xfc\xeeY\xe5\xb2\xadVb\xd5v=\ +\xfc\xdc1\x93+\xa6\xa4\x81a\xce+\x15\xb8\xd6t\xe0\ +\xfc9N\xd4\xe8\xa3fG\x87\xf8\xdal>\x22=\x97\ +\x8c\xf20\x92\xb4\xf7\xe0\xc2Tv\xf1!\xcf\x0a@\xee\ +\x1b\xed\xf9\x9b\xec?9\xa02\x1a\xd5\x88\xf1>(\xe0\ +\xd4#8t\xd0\xd5\x08r\xc1\x84;\xc0\x99\x11\xa9\x83\ +:\xd1y\x01PN#\x84\xf3\xef%\x02\xac`\xae\x88\ +\x89\xc1u\x9e\xad94\x16\xca\xaa\xae\xa3%aV:\ +I#\x8e.\xc4\xc9\xcb\xa0\xe8\xd3\xe8\xc06u\xa7\x81\ +y2\xdbE\xcc\x0c\xceA\x18tr\x87\xb0]*\x85\ +\x0e\x85\x13\xf9\x07\xf7\x85\xc6\x00L\x01\x15\x5ch.\xb1\ +o\xcd\xde\x1a\x91\x1a\x16\xdc?i\x13\x18XEt\x15\ +\xc0\x17QT^\xa1\x9a\x03\xec\xe2\xe7N\x07\x9c\x91b\ +\x0aT\xf2a\x80=F\xcc\xc8G\xd9\x97\x95\x7fZ\xdd\ +\x1f \x0f\xb19\xf2/F\xc6\xc8\x9f\xd5\xa0p\xc3\x89\ +\xe7\x14w(\x80B\x80\x22\xb4\x07\xc8\x03\xf8<\x00\x01\ +4x8\x9f\xd9_\x006\xd8\xe7\x016\x18Y\x00\xd8\ +F\x0c\x93\xcf\x83m\xb74\xc0\xacY\x02p\xc4\xfd$\ +/\xd0\xfd\xf3\xfb \x8aG]@\x03\x89\x0e\xffX\xb3\ +\x0c\x0d\x04\xe5\x8f\x0608\x8f\xb3+\xdc\xad\xa9\x1e\xa2\ +\xb1\x00\x85\x1fQc\xf6oF\xefp\x17\xe3\xb9!O\ +\xc0\x0eT.9\xd8\xe3Z\xc4\x90\xc2\x1d \x8b\xfbO\ +\x1d\xc5\xf7c\xbd\xc2\xe8\x80\xa9\xc1u\x14\xd3\xcf\x0dK\ +D\xa1\xa9\x83\xf8\x8fz\x1e\x06\x87\xce\xad9?8\xfc\ +\x05^I\xa0\x99\xe5\xcf>\xf7S]\xf0.\xfd\x80Y\ +5@k*\xfa\xdc\x80\xd8f&I;\x80D\x85\x19\ +~\x0ap\xec\xfd\xd4\xd9g\xd6\xce\x80\x01\x89!\xef'\ +j\xa0\xff\x83\xb9\x80V\x01\xa3\x07\x00\x09P*\xd9`\ +\xf8u\x94\x03k&\x95V\x16:T\xf51c@\xef\ +\x0b\xa5\xde\xd7\x0b?R\xfc\xc5c\x81\xbf@\x09\xf3\xfe\ +iC\x19Q|fK\x0f\xfe\xa1F|\xf4 \xf5\x1f\ +\x89\x90\xf8\xcd\xb3\x9a}T\x7f\x5cD\xa2\xf6\x88J\xe7\ +\x83\x00\xca\x14Tn\x90w\x0e\x90\x8f\xca7\xfbGR\ +\xd7\xa4\x80\xa7C\x87\xba7\x1dR(\xd8\x022\xf0\x11\ +G<\x0a\xf5O\x17\x1e:h\xecs\xcc\x0c\x9b\xa8\xbb\ +\xf6\xe9\xa5\xc0\xe7\xc1\xc5fD>\xad.x\xc6\xd44\ +\x5c%\xe8 \xd3\xb9\xe7\x15\xea\x1a\x14\x1d\xd6+\x08>\ +\x0f\xc6]*0\xeeP\x01\x09R\x0a\xb0@\x87\x8e\xd9\ +\x19f\xda\xd4\xd17 \xb5\xac\xd6\x13\xe2c7\xc8^\ +\x8c\xf5\xaf\xe7\x08\x06\x88\xed\xd5>19\xbe\xfa\x83\x9f\ +=l\xect\xfa\xfb'G\x94\xd7G\xf7\x8b\xf4\x8b\xa4\ +\x8e\xffS#\x1e\xda\xb9\x07\xd8\x99=>B\xa2O\x87\ +\xa5\x0e\x1f\x14#Dd@:AN\xd9p98\xa1\ +fbW\xc3:;sP\xe7\xf5\x8c\xe9\xc9\xb2\x9f\xc2\ +F\x87\x8d\x8f\xce\x01\xaf\x14\x12l\xd4\x00\x04l\xb4l\ +\xfc\xcc\xdcA\xdd\x07\x00\x00\xf9\xe7\xfeq\xf0\x03\xb8P\ +\xa8C\xd9\x97\xbd[\x10\x7f\x83\xfa\xeb\x03\x90\xcf\x07@\ +\xc5\x8c(\xa3M:\xc8|}H`8\x08Anw\ +\xad\xd1\xfc\xdd\xd5\x99\xf1\xf3Bg\xb1\x1b\xcd\xca\x8f\xfd\ +k\x11\xf9\xa2\x83\x0a@\xc4\xfe\xa4\xc4\x81N\x9d\x0b_\ +\x010\x1e-\x80\x82\x07\xc2\xcd\xba\x83\xba\x86_3\x00\ +\x17\xf7\x85\x99wi\x8fXu\x99\xf5\xc3\xf7\xd6\xf5\xe7\ +y\xb0\xaf\xf93#\xeas70+\x00R@\xb6I\ +\x1c\xf8\xdePr\x11\xcd\xc1\xd7Vj\xfdvK\x80j\ +\x0as\x00\xd5Z\xed\x03t\x14\x0c\xe4Q\x982z\xc4\ +\xef\xb3\x7f\xb3\xbe\xe8\x94\xd21\xb9c\x98=-i\xda\ +0\x83wa5\x02l\x1a\x01\xcc\xaa\xd2\xb1\x1d\xfb\xff\ +B\x8d\xc5\xf7X\x85\xe2\xec\xee\x88\xd4\x91\x81\x02I\xa7\ +\x04\xa0\x09\x95~ur|\xee`3EBI\xa7\x1f\ +\x8d\x16\xc4\xe4$\x9e\xe5\xd9X\xf6W\x00+Q\xcf\xbb\ +\xf7\x958Z\xebk\xdb\x04\xdcP\xf0K\x1b\xc0\xda\x0f\ +t\xd2H\x88aV\x89\xba\xefN8\xa3\x03*h\xcc\ +L@D\x0e\x00\x99\x04\x89\x84N#\x09^\xff\xda\xfe\ +gWG\xa4Q7\x00\x02f\xa5u\x8e\xf9\xba\xdfR\ +\x0d\xe5\x06\x11\xc1R8Mo\x8dh\x85\xe7\xfc\xdb\x22\ +\xea\xfd\x19\x5c~^V\x8dZ\xadQ\xe4u\x1f#y\ +\xc7\xb6\x19\xf9\xee\x95\x11\xe5\xf5\xcf\x11\xe5\xf5\x9e\x88\xf2\ +\xfa\xfb\x08=\x8f\x874\xbb\xdfz\xbf\xff\xae\xe7\xeb\x86\ +Z\xc8\x94H\x9d0F%\x10\x85D\xa3F3\xd0\x14\ +\xaa\xa6\xec#~w]D\xd2^\x10\xa3c\xbarD\ +\xd3\xe4a$\xcb#\x15r\xef\xf1\xc8\x86\x00\xb4\xfeu\ +\x11-\xf1\xee.\x88(\xef\xf7\xbb\x88d\x07\xbciD\ +\xa3\xf4\xd3\xe1F\x83\x03\x06\xa2\x19?\x14<:\x17\xbc\ +?@Q\xdeK\x9a2\xb7\x0f\xeb\xcd\xa2\xb2\x02\x02\xfb\ +\xed\x22\x1a\xa0\xd6\x9f\x18Q^\xcf-\xf1\xb5\x968W\ +5\xff\x95\xd2:\xd2\x08`]\xd7\xdb\xa5\x11\x171$\ +\xbaK\x22\xd2\xac\xed\xcb#\x9a\x9a|e^\x1c\xd5l\ +'\xbb\xa5J,\x99\x98\x03q\xd5N\xd1\xfb\xbd\xa7\x01\ +-\xcek\xd8o\x11K\xd4\xba\x9b-T\x22\xd6\xeb\x96\ +\x11I\xd4\x8e\x82v\xc7\xa1\xa0\x9d\x9e6\xfd\xfc4\xf6\ +\xf1\x1b'\xbf\x9b\xe4\xf3\x18\xc0MyN\xed$\xbe\xb5\ +^\x9f\x81)\xa6\x8e\xbe\xf794I\xa0\x9cs>a\ +\x8b\xcd9;\xb6k\x86)\x8b\xea;\xea\xfe\xb8=\xc0\ +HC\x8b\x82|H\xa3\x9a\x93S\xb5\xdf\xc0p\x05`\ +$_\xc2M@\x22{0\xbe\x00\xa6\xddp\xa0\xf0\x81\ +*O^\xc7s\xae|\xc1#\xb8\xcc\xf8s\x9e\x93\xcf\ +q\x8e\x93\xa7\xb3N\xc8o\x04\x5c\xbb\x93\x8fK\x0c\x05\ +7\x0d=\x00n\xcec\xceS\xf2K\x80\xba\x17JT\ +Z\xb6\xa2\x06\x04\xdf\x15\x91\xae\x07\x00%\x1dv\x1aK\ +\x00\xfb4\xb6\xa0\xf8\xc3\x98aV]#|.\x18i\ +\x900\x83\xcf\xc8\x04\xd4\x7f\xf26\x18\x8f03\xc7\xae\ +\x1db\x04\x07\x1f\xa42B\x0e\x97-\x22\xd7\x0f \x97\ +\xf5DC\x02F\x023\xed0)h\x0cR\x08\x93\xbf\ +qnQG\x91\xdf,\xac\xfb\xc7\xfd\xe1\xbc\xa1\xf0\xa6\ +\x90'_\x14\xb0df\x01\xcc*\x98#\x00\x11c\x11\ +z\x1a\x8a\x9c\xcf\x88\x83\xc3\x88F\x13\x0a\xad\x8c\xab\x22\ +\x12\xa0\xc4h\xb3\xeaQ\xcf\xec\x93\x97\xe6\xf3\xe8\x96\xd4\ +\x90\xc2\x85Fy\xbf\xef?\x85;#\xc1\x88\xf0\xf3\x9c\ +\x02\xd0\xf1\xca\xf5\x811\xca\xf5\x03\xb8\xa7\xbe\xc2e\x89\ +Q\xd3\xb1[\x00\xd7\x15\xc0A\x9fo\xee\xbfT\xfc\x17\ +~\x18\xbfa~\x7f\xe1z\xcbZ\xc1\xcb\x05\xa6 \xe7\ +\x07A\xdd\x8f\xaf\xf3\xb7$\xfa\xc7\x9f\xf3\xc0\xb2@@\ + %\x8eWUo\x97\xd4\x82Y?\x15\xce,L\x16\ +\xc4#\xe4\xf7\x0a\x03!\xde\x15\xca\xf0#G\xa3\x06K\ +$\xdb?\x10Jfi\x11\x17\x04\x90\x90\xdfp\x85\x07\ +VM\x80\x05\x0br<\x1bE!Bg\x11UM\xa8\ +AR_v\xc1K\x22,\x8a\xef\xec\xfe\x88:\xe3}\ +A\x7fACT\xfdsTHx\xc6\x8d\xc4H\x94p\ +f\xc0\xad\x02{\xce03d\xbfb\xfc\x8d%B\x16\ +}\xe5\xe8,\xf7\x8bE\x94\xb7?7\xa2\xf9\xffr\x90\ +\xba\xb3\x88\xed\x1b\xd7\x8d\x03\x92Y\x1b:o\xf8k\x0a\ +\x91\x9c\xfd)\x22\x1d\x1cP\xbfH\xa4)\xdc\xa0t\x03\ +4@u\x85:\xcbu\xe4\xdfi\x03\xb3z8\x1b\x00\ +\xb3\xc5\x9bE\xa4D\x9b\xfbv\xc3\x7f\xab\xe4\xce~6\ +l\xa8\xd8\xa9X-\xf7\xc2a\xb4\xc2vxA\x15\xbc\ +6\xb9$P\x18RH\xad `\x8a\x83\x04\xbb56\ +\x02\x12\xfb0\x05\xbc1\xad\x13\xa8\xdf1\xdb^\xd6}\ +\xf7\xfd\x88\xf2\xb6\xdb\x0e\x0c\x00\x8by\xb1^\x84\x08\xba\ +\xd3$\xaa\x98\x0f4\xb4\x224\xfbo*2b\x7f \ +\xe8\x88\xcc\x81x\x82\x80r\x00S\xb0r`p\xdd~\ +\xa7\xeb\xf9G\x1d@\xf3\xda`x\x1e\x01hx\xbeI\ +P(\xdc\xb0o\xdb\xa6$d\xdb$J\xa06h\xcf\ +\xda3\x9b\x88z*@\x0b\x09\xb4:R.,\xf2\xe8\ +\xd2\xc2m\x83\xa5\xa00\x10\x00\xe0\x070\xc4s\xcb\xcf\ +a\x94GL\x1ak}\x8cUf\xa1\xf2\xe2\xd7\xcd\x9f\ +\xd3\x11f\xe3\xdf8\x22\xed\x93\xec\x0bt\xfe\xd9\xd0\xe9\ +,@\xb5\xc4\xaf\x97B\x10j\xbcf\xa5M\xd1e\xc4\ +\x06\x15\xf4\x91\xc8\x92\x19\x07g\xa8S\x8b\x9d\x8f|m\ +]h\xbc!\x22ur\xd5\x01\xf4\xac\x1b\x9d04D\ +\xa4\xa9\xc1\x9f\xf7{F$j\xa1\x0a_3sP[\ +\xfeUD\xf9\xfb\x1f\x8ch\x1a\x18\x16E\xa2\xc3\xc4L\ +8\x22X\x00/\x9a\x05\xf4\xbe\xc1\xba\xa0\xf3 Q1\ +\x12a\x8f\x00i\xbd{\xf6W\xe7\x9b52\xce\x1e\xa8\ +\x86!\x8d\x16L\x98\xee\xa0\x88\xf2\xef\x97\x8cH@\x0e\ +b|\x14l<\xc7\xa3D\xd9'\xbak\x22\x94\xbf\ +\x94\xfcc\xfe\xe2\x88&\x1a\xd9}+B\xc0W\x00\xa5\ +\xcbD\xa4\xfd\x85\x0e,\xc0\x01nM\xcaO\x85\x93\xe5\ +v\x00\x00 \x00IDAT\xd0\xd2a$\xa2\xbf\xa8\ +\xbf\xb8\x8f\x91\xa5]#\x92\xc8\xa1\x00/l/\xbb]\ +\x22\xca\xeb\x92\xb2-D[G\xf6`\xee\xc0\x22b'\ +M\x09\x8b\xa0.%\x11X\x01\x12\x1e\xcd\xd3>\xd8\xed\ +\x17\x91l\xa8)\x08\x19\xb5b\x9d\x8a\x19j\x00\x91\xe7\ +~;\x15\xbe\x9f\x16\xe3Hb\xaa\xe5\x8c\x1c\xce+\x89\ +&\x96\xfd`8\xef\x7f\xaa\xc2\x0fF\x06\xcc_\x89\x9c\ +\xda\x86\x8e\x99z\xce=\x80Y\xea\x8c\xe7\xebs\xed\xa5\ +B\xfa\x18\x8dd\xb1_Q\xd0\x93\x17\x8f5\xc9\xf8\xf5\ +\xa8\xd3\xe9\x82W\x85\xac)\xe6\xca\xf7\xc8\x07f\xfbF\ +\xb4\xd1\x06\xaf3\xec\x07\xc7v\xc1\xeb\x97\xab\xbb^\xda\ +\xcf\xb1\xd7C\x94\xf3\x8b\x11\xa9!\xc09\xc1\xa8\xed\x8a\ +\xa3\xbc\x11@\x89\xbf\x07@\xcb\xe7 /\xa3!\xc3\xf9\ +\xc0\xf7\xe6\x9c\x822O\xbe\x0d\xe0\x8a=\xa2\x5cE\x18\ +QpA(\xc0\xcf3\xf7\xb8\x0d\xb0\x0e)\xe497\ +xN\xc8o` \x8c\x1b\xbf\xdf\xeb\xfb\ +\xf0\xefh\xf4\xc2\xe8\xd1\xf3\xe8\x82\x9d\xf3\x9e\xfbO\x01\ +\xcf}fT\x11\x80\x8bu\xc0\xdf\xa7`'\xcf\x050\ +`\xfd\xd10\x91\x8b\x9aG1\xc8\xfb\x00T\x00\x9e\xf8\ +\x1e\xb8]\x01\xa0\xc1,`\xc4\x00`\x80\xff\xf8\x1c4\ +Z\xc5\x00\xf3sJ}\x05p\x03s\x1aM\x04\xea\x1a\ +\x1a\x1a\xb8\x00\x90\xc7\xb3n\xc6\xc0\x1f\xe7\xb8\xcek\xce\ +\x81\xb9Z\xd6-\x97\x0aj\x1e\xa8x\x8c\x17\x7f\x98\x07\ +\x8d\x02\x1bf@\x95\xb6TA4/\xe4\xe4\xfeD\xbd\ +\x08\x84\xfco\x0da\xa9\xe9\xfa\x83\x89A\xc0\x85\x0f\x84\ +e5un\x9e\xf80\xb3\xf9\xccP\xf0\x85\xf8\xb9\xd8\ +\xfeQ\xe8\x8f5\x0b2\xb0\xb1\xc8\xc3\xa8\x5c\xf2\xeb\xb1\ +x!\xbfO\x02\xca\xbf\xe7\xc1%\xa1\xe7\x15j\x0cj\ +\xdf\xd8\x22\x91\xe0*A\xa6\xd06\xe2\x0b\x02x\x93\x1e\ +Df\xdf\xa1\xbe\xe8\xc63K9ytDJ\xf8\xa1\ +\x9aj\xe6\x17\x8a`=6v\xab\x09\xf0\xb0a\xe0\x1b\ +Mg\x08\xea\x9f\xeeK\xf7\xba\x88f\xc3d[=\x89\ +\x8aAUu\x07\x0c\x9b,\xa9\xc6CAw'\x97Y\ +\x5cf\xcd\xe8\x0cQ@\x89\xc2h\x9fp\x89\xf79\x91\ +\x94\xd8\x96\xfd\x82\xa1&\xa2\x22J\xe2K\xc1HBM\ +\xa2\x07e\x1bJ?\x1b(\x94/uN\x99\x89\x7f\xc8\ +\x03\xc6\xf7\x94/\xad\xbf/\x07\x17\x1b\xdd]\xda\xd0\x01\ +\x04\x00\xba\xd8\x80\xe7$N\xf5\xdb\x127$\xe6\x08\xcf\ +\x95:4\x93\x0d\x06$\x1e\xa4\xdb\x94Z\xd4\xbb\xd9\xf0\ +Y\x97$\xee\x00\x03\xf8\xa9#\x9a\x86Z<\x09\x02\xdf\ +\x87\x99$\x0e\x1a\xa8\xd2\x14\xd2 \x8e1\xab\x0b3\x08\x9b6\xee\x1f\xcc\x1b\xde\x17\ +\xc0\x8b\xf7\x07\x00\x05\x11\xe6\xa0c\xbd\xc1p`\xbf\x00\ +\xc8C\xbd\xfa\xf8\x81\x1a\xea\x0e?\xb3\x80:(\xe8X\ +v\xbbE\xa4\x8e\xac\xec\xa1f[E\xa4D\x06q\xb3\ +H\xb4C=\xfb\x98\x88\xf2q\xae\x8fh\x80\x19\x05\x8e\ +\x9fc\xa8\xdf$TJ\x18\xfb\xf3\x22\xd2\xfd\xa23\x01\ +\xd3\x86\x11\x04\x80b\x0e0:\xd0\x88\x9e\x82\xe0K\xdc\ +\x09ui\xfb\x12s_\xf0\xb3\xc6>\x90\x91\x80\x0fE\ +\x94\xf7\xb9dr\xe9\xe4\x92j?\xf6\xc3\xae$>\xdd\ +\x9d%\xd2>9\x99\x8bh\xcf\xa3\x99\x0b\x02\xa8Y\x97\ +\xbc/\xcfe\xfd\xe9w5\x0a\xfal\x9d\x88\xf2\xbaW\ +D\x03\x8c\xcc\xa8b\xdf\x82r8\xbe\x9e\xeaX\x03\x04\ +\xd4\xfb\xfefQ%\x8fN\x89/\xd7\x15f\x05\xe70\ +\xa2q\xcc8k\x1f\x86\xba\xda-\x13\x91\xf6\xcb\xd8\xe7\ +\xeeJ\x1a!\x00\xb2J4,\xbe\x0a\x90\x87(-3\ +\xed\xeaH\x9aI\xc2\xba\xe2\x5c\x94\xef\xb9\x13;>\x8f\ +DL\xe7C\x1c\xbd\xab\xb6\x8e%T\x80\xcd5\xdb\xbf\ +Z\xc8\xfe\xa3\x89z\xa2\x05\xe0\xd1%\xce\x1d]\xe7\xe9\ +v%J\xa13\xb7BD\xf9\xf5\xf3\x22\xca\xeb\xa7#\ +\xca\xdf;!\xa2\xbc\xef\xa7\x22\xd41\x0e\xca\xf6\x99\x11\ +J\xa0\xf6H#5\xd8`\x8a\xd1aqQ(\x97\xba\ +.$\x88<\x8fht\xd8e\x00\x80\x82u\x1e@\xdd\ +aI\xc4X\xeeD\xa6\x06S\x98hV\xb7{{D\ +z_1\xf6\x18\x05\xe3s\x1a\xf8\x17\xb0\xd0mUb\ +kQ\xf8\xbf\xa8\xe7\xf5\xe3idG\xd4\xd9\xfeS\x11\ +M\x8c\xb8??\xa2Q\x8b\xfbK\x22Z\xc1\x0fc\xb1\ +\xce\xf0\xdf\xda4i\x10\xf9\xab\xee\x19\x1fM\xfb\x0bb\ +\xc9\xb8QD\x99rp*\xbc\xe8\xa0\xa1\x99\xa1\x91\x8d\ +n\xcb\x88\x06 vG\x97x\xaf\x80\x89\x13\x9a&\x14\ +\xea\xd8\xd5F\xec\xad\xc9\xde\xf1\xfe\x88\x94\xb0\xff\xb4\x96\ +\xb6\xc3H\xce\xabS'W@\x05@\xbd\x81\x8eO\xcf\ +>\x13\x0c\x08\xd4\xfcK\xf61\x00\xc0\xa1\xb8\xf2\xe7\x06\ +\xd0t\x7f\xea\xfe\xd8\xfd\xa9\xb9\x1d\xd4\x7f\x7f\xa0\xa8\xf5\ +\x9fK\xe7\x1e@\x1b\x0d.1\x94j94\x88v/\ +\x08[7\x8bu\x9e?9o2\xb8\xf1\x0c\xf9\xd1u\ +r\x99\xe2\xbca&\xfeZ\x8d\xac\xbda`\x16\xcd\xb6\ +\x99=\xa7\x8a\xdf\xe1\x9e\xf0\xcf\x88T \x1d\x5c\xca\xc7\ +\x83+3\xf0\xddU\xf4\x94|u\xdd\xe1>\xd5*\xe0\ +\x11u\xbf\xaa\x9aL\xa6\x98\x93G\x03xQ\x98\x91/\ +\x8c\xdc\x05x.m\xdf\xa6\xf3\xdc\xeb\x1c`\x84\xf7\xa5\ +\x90\x1a\xdb\x85\xf3\xe7\x8c\xf4\xc2\xe0b\xfd0\x92\xa4\xe7\ +m\xf6\xa2\x88\xc6\xd80P\xc1\x88\x1a\x05:\xff\x9e\xef\ +\xf1\xa4RF>\xa9\xe5\xf7u=\xef\xd4\x18`h3\ +X\xa3B\xe7\x1d\x0c\x01\xbb&12\x86\x0b\x1b\xd4o\ +~>?\x8fB\x9aF\x0by\x09@\x22\xea\xf1\x14\xce\ +\xec\x7f,p\x1a\x0a4\x068\x0fa\x1e\x90o0\x9a\ +\xc6\x08\xb2D@\x9d\x97\x91\x87\x92\x873\x1aC\xfe\x07\ +\xd0\x02p\x00\xd0+&\xb3\xb5v`\x10q\xfd\xa0\xb8\ +\xc3p \x8f\xe3\xbe\xc2\x0c]\xd8\xdaR\xc3\xf7g\x1d\ +\xf0\xf7)\xd0\xa9\xefX\x1f4\x18a\x92\xa0\x9a\xcfu\ +E|\x14\xaa?L\x0d\x0ai\x0ak\xae\x83\xd6\xa3\x19\ +\xa3\x5cg\xd6\xf5h\xf6\x9e\xbc\xdf\xa3!0\x22p\x9b\ +\x82\xd1\x89\x06\x19\x22\x81\xe4\xd3\xac?\xf2iF\xc8\xb4\ +\xdf\x98\xe1I\xc3\xef\xcf\x11\x0f\x03\xc0pn\xeb\xf9\x9e\ +\xab\x1fs\xb9\x84 \x8d\x10\x11S\xeb%J\xf2_T\ +\xfc.mT\xd1\xc7\xf8O\xb2\xdb\xb9\xb5:\xa6\xb7\xc4\ +\x9e\x07?\x96\xf3\xbf\x13\x100\x9eQ\xe0@#\xe1\x03\ +y!a\xa7c\x06\x15?\xc4\x05\x97J\x17\x1c5\x7f\ +T\xaf\xf9\x1e#\xdb\x8eZH/\xaa\x9f\xb3\x9e\x0a|\ +\xfe\xde\xa2\x09\xc9\xc4v\x0c\x95aT\xd0\x03\xc7\xdc$\ +Q1\xa0\xd2K]\xd66\x82,\x0c\x16\x10\x1b\x0a\xd7\ +\x8d\x8d\xf6n\x15&\x5c\xa7\xb1=\x073g\xa2\xc6\x82\ +\x08c\xb7\xd3\xdd\x11Q\xa9 C\x01\xa0\xd9)w\xf4\ +\x8f\x8fH\x05\x13\x9d\xc3\xcb'WL\x22Q\xcb\xfa`\xd6\x86\x99$!x\xf8\x8d\ +\x9a\xfaC\x87\x8e\x19\xbd\x0d5\xc3\xc9\x86C\x87\x83\x0d\ +M\xee\x02.\xc8X\xa7P\xc7\xa1.\xc2\x14\xc1\x17W\ +\x8c\x91\xee\xe9\x11\xe5\xfd\x96\x8ah\x89\xbc'o\xb0K\ +a=Q K\x0d\xdb\xa3\x01\xfc\x1a\xbb(\xec\x8a\xd4\ +Qgv\xd2\xe2\x86P\x11\x1f\x94\xe6\x06\xeb\x10 \x85\ +Y%6\xc8\xd1\xc8\x83\xff\xa3\xd3O\xe1u\xc1\xec\xc2\ +Z\xb8\xaf\xa2Q\x1f\xc4a@\xe6U@Y,\x8f\x7f\ +?\x1e\x09\x80\x91\xa2\xfb\x01E\xce6AZ\xc7\x1e\x09\ +\x80J\xab\xf5a\xad\x0d\xa8S \xc3\x14\xdc\x00$\x00\ +\x02r\xcfpA\xc6:\x80\x12H\xc7\x9f\x7f\xc7>F\ +A\x0bP\x05U^\xc0\x80\x993$.\xa2\xfc\x19\x90\ +\x02x\xc0~\x8a\xeb\xcf\xf3\x05#\x85\x83\x93\x84\x0b@\ +\x92\xef\x8dH\x1c\xd4N(\x83\xa2\xf2\xd7\xd9\xe5\xe84\ +\xff9\xa2u~\xcc8\xd0,\xa9\xa9\x88\xac7lm\ +\xd4ABu\x9c\xe7\x8dB\xc8~\xe6\x1bF\xb4\x03\xd0\ +\x94N\xad7\xef\x03\xb7G\xb4\x03\x0cu\xf3\xc9\xc2\x11\ +M\x03\xc1\x14\xbe\xbd\x07\xd5kF\xb9\x98\x95\xed\xf7\x89\ +H\xd4f\xd4\xc0\x11\x19\x94\xcb\x86\x81.f\xf4\x04\x80\ +T\xaa\xf6\xd3\x92\xff\xae\xfc\xd4\x19\xf9\x80\x1ai\xf7\x05\ +\x1d\xf8\xde\x1f\xbf\x1b\x91\xf6\xcde#\x92x\x1d\x14a\ +%6\xd60\xa0\xe3(;2w\xe4\xa1DK\x8d\xbe\ +R\xba\x9f\x9f\x0aO\x98\x0b\xd8\xab\xbd9\x22\x01Z\xac\ +_\x5c3`<\xf1\xfc2SJ\xe2\xf6\x86\x88\x9aX\ +\x0e?\xef\xe7\x93+\xebyqF\xed\x05\xb6}\x82\xce\ +\x07\xe2Q$\x1c$\x96tr\xc5@\xf1y\xbafD\ ++P\xdc\x89$A\xd2\xe7\x82\xea\x0a\x93\xc83\xe5b\ +\x9a\xd5\xa7\xf6\xe9\xe9\xe7\xf2<\x053\xee\xb7i}(\ +\x113\x05\xfeI\x11%\x11\xba!\xa2\xaa\x99\x97(\xaf\ +\x1f\x8a\x90\x9dn\xf8\x9b?\xa3\xc4\x16\xe5u\x85\x081\ +.\x1e\xab\xf5\xfdI\x8d\xc8\xed\x9c\x80\xdf\xf8\xff\xf5\xea\ +\xac\x1d\xd7\xecy\xbd\x7f\xe1\xf3\x0d#\x87\xfb\xc6\xfe.\ +&\x15\xe7\xa1\x13\xff\xc8~6Ny\x834}\xfc\xfe\ +\xa2\x16\x87\xb4e\x88[\xda\xb6O\x85\x09\xe7\x0a\xeb\xc1\ +v}\x91\x88\xbf\xb8\x15\xde1\x98\x18\xa3\x89\xb5\x93\xbb\ +w\x1a\xcd\x83\x918\x17Q^\xf7\x8e(\xf7\xe3{\x11\ +M\xab \x94\x8bB\xbb\x08F@\xff\xc2\x884\x03\xae\ +\xfb]\x81\xc7]S\xa3\x00\xa0P\xfbJe\x22\x84\x06\ +\xc02\x11\xc9\x05\x88\x825\xce\xcbp\x9bxj\x89\xcd\ +\x05\x80\xbc-\xd9'\xc2\xb8\x02\x08\x8eo\xf1\xbed\xbf\ +\xa9N\x9a\x0b\xc2\xf7E$\xfbR\x15\x1a10\x19n\ +>\xe4\x7f\x0dE\ +\xfb\xbd\xb3\xa3j\xe7}a\xd9r\xaf\xa2Q\xaeh\xc4\ +\xfc@\xb6\xb0\xb7\xa5\x02\x15\xca\xf31\xe5\xfa\x1cS\x01\ +\xc4\xcb+\x80\xc8\x88\x03\x05e\x98C\xee\xd9\x98u.\ +T^;\x88\x1b\xe3jP\x07tnN\xe7\x13\x9dM\ +5\xf2\x0c\xd8\xca\x95\xc0\x9a\x05\x1au\xa8|\xa9O\xa5\ +\xce%\xe2\xbdb~\xda\xae\x8d\xf3\x96\x9f\xc3\xf5\xa4\xee\ +@\xac\x8e\x0e3\x00\x80\xf6Y\x03\x16\x8cp\x0a\xd0q\ +\xc3\x07\xaa:\x8cT\x0a1\x00\xf8\xe0w\xae\xf7\xd0}\ +\xd0L'1\xf5h4\xf9\xf9\xa6!\xc3y\x8e\x18!\ +y#\x056\xe7\x1b\xf9\x90\x0aB\xf2>w\x90\xb1{\ +\x86\xb9\x08p\x0b\x03O\xc0\xb2\x01i\xae+@\x89\xf2\ +\x04\xe7\xb94f?\x1c\x91:\xf1Z'\x16\xe1\xc5\xdd\ +Eb\x9e\xe4sv#\x19\x8d6\xb8a\x01\x10q\xc3\ +\xb0?\xd7jn\x99\x87\xb1\xdf\xa3\x01\xc4\xebx\xc4c\ +\xec*E\xe3\x85\xf7\xe1\x95\xfc\x91<\x9d<\x15\x06'\ +\xfb\xadF\xe1\xdc`\x22\xcfd]Q/\xe8\xe7X3\ +\x8e:\x0f\xe60\x9a\x03\x00zj\xdc\xb0\xdf{\x84\x82\ +\x02\x9f\xf5OC\x8eB\x9d\xfb\xa3\xf3\xde\xf9:\xd7\x93\ +u\x0ep)F\x87\x99\xaf\xa3z\xd3\xb6\x9b\xba\xffs\ +\xf5r,\x95\xa8\xfc\x00\x00Ym{\xd1T\xf8C\xe1\ +\x89c\xf6\xb6D!\x811\x90\xfdV\x17M7 \xdb\ +\x1b\xf4\xe9\xefq\x01`\x10\xf0\xc5\xd0\x06\x80\x92\xcf\x0d\ +S\xc7\xdf\x17\x1e\xca\x0b?\x87\x05\xc1\xe7\x8de\xb2\xcc\ +\x88:\xb4Xb4\xc4\xff\x1f\xce\xf5\x80\x05\x87\xd8\x07\ +\x1b$\xef\xcf\xc8Alg\x9b\xa4\x99bf-qE\ +\xa0\x00\xc5\xdf2\xc4n>\x9afj\xe8\x80\xbeET\ +,\xa8lsC\x07e\xc1\x11\xea\x98\x91\xd0\xa3\xbaZ\ +\x8e\xbb\xee\xa9\xc9\xa6\xe8\x0b\x83\x06\x00\x9d\x98\xe9\xc1\x11\ +\xe5u\xdf\x88\xf2\xbayDy]>\xa2\xbc\xde\x1bQ\ +}\x8c\xd7\xe9\xc2\xf5\xe0\xbe\x88F\xddr\xc1\xc1\xc8\x81\ +F\x07L\xa9]2\xa2\xa9]2\x0b\xe5\xf5\xc0\x063\ +\xf25u\x87CT#'fR\xa9v\xa2\x8d\xfd\x95\ +\x0e6\xcf\x90}:\x22i\x06\x90\xa8\x92@I\xbc\x8c\ +Y\x1ek#\xd0Qc6\x99\xfb\xa2B\xd6\x05\xe4\xbb\ +#\xd2\xfd\x07\xc1\xa3s\xa0u\x17\xd2`\xf5\xc0\x07\x81\ +\x85\xeaO\x87BbY\xa5\x9c\x19\xa8\xb9\xf7\x94\xb87\ +Q8\xf1\xb5\xfe|D\xda\xc0\xaf\x8bh\xe2\x7f\xcc,\ +\xbb\x93&-\x06\xcf*I\xfc\xc7\x09!\xeb\x9a\x83\x05\ +\xea4\xe26\x00V\xack\x12m\x12\x0f\xd69\x1b\xcb\ +\xd3JZ\xfd\xb4\xa4vN\x87\x9aB\x82\xeb9\xb6U\ +aC\x84\x22\x06\x05\x91D\x0c\xd7\x0b\xd6\x07\xaa\xf7t\ +*@\xcay\xaeA\x8c\x99\xbd\x17`\xe2Yi\x0a'\ +\x0ax\x9eg\x0ae\x90\xf4\xf1\xf7\xe4`\xc0\x0f\x1d;\ +?\x90S\xf6\x1df\xdb\x11\xbd\x02\x90\xe4\xe0\x01\x00\xa4\ +\xc0'\xd1\xe1\xe0\xc6\x8e\x0fQ@\xae#6B\x1a\xf5\ +0\x93\x81YU\x00\x0a:\xffh|\x00`a\x93E\ +\xe2\xc2\xfdV!\xc7\x0c\xa6\x0f^4(\x00\xd4\xa4\xd9\ +\x01%\x12\xbb\x1d:\xb2\x1e\xb5@\xa5\xfc=C\xa1;\ +\xdb_*\xbcz\xae\x98-\x9e\xfc>\x221\x9c\x98\xa9\ +d\xb6T\x0c)\x00K\x17r\xb2\xc92@\x88\xab\x01\ +\x09\x04#W0*\xe8\x18\xaa\xd3\xd2\xdf\x1e\x91\xec\xc7\ +\xe8(\xc9\xff\xba\x7fsD\x1a\xb1`]\xc0\x88\xf9\x94\ +Fw6\x16\x13\xe4\xaaR\x16\x94\xe7\xeb\xc1\x93#\xca\ +2~~Dy\xbd\xa0\xc4\x85\x02T?\x91\x00il\ +\x04\xc3g\xfb\xb7I\xe4+F,^\xaf\x11\x9d''\ +j;bwP\xe5\xd9g\x18\xf5\x00\x80E\x95\x98\xfd\ +\x94\xe7N\xe2\x8bu&\xf8\xfdit\x82\xc2\x92Q*\ +\x0a{|\xb6y_\xf6\x09\xd6/To\xf6El\x5c\ +5k\xe9\x11\x84\xb7\xd4\x93\xaa1\xd2D\xdd7\xf3\x04\ +\x17\x02:C<\xf7\xb87\xd0\xd2d\x1fB\xe3\x81\x84\ +\x10\xa0\x1ef\x80\x00\x084pX\x17NT\xc5\x9c\xe9\ +O\x8fh\x00.\xb3\xdff\x14\x1c\xb4\xe0\xed\x95\x8a\xbd\ +uDy=4\x22Q\xb2_\x18Q\xee\xef\x13#\xca\ +\xaf\x97\x18(\xdaU\x04\xb7\xac\xb3n\x8f\x12\xbb+\xb1\ +\xfa\x9f\x94\x9fDZ\xb8R\x02\xb2\x05\x18\x03\x84y]\ +\xd3\xd1G<\x0b\xb1O\xce]\xce?5\x1c\xec\xda\x00\ +\xb0\x8e\xf80b\xc3$\xc00=\xf4\x5ctGF4\ +`\xc7\xe7\xe7\xeb#\x9a\xa6H\xf7\xec\x88\xf2\xfa\xab\x88\ +\xf2\xfa\xcb\x12\xbfHb\xc0\xc7G$\x91F\x9d\xef\xb3\ +{\x22\x9a\x9d *\xd8\xa6\xf2#\xf2\x87F\x8d\x00\x02\ +S\xf5iL\x88!bqN\x89{\xa1\xf2_%\xca\ +>\xac\xc4\xf6\xd6tN\xc0\xe4\x88\xeb\x14\xa2\x8c\xa7E\ +\xb4\xf3\xb1\xdb?\x225\x00\xe2\xaa\xec\xdd\xf6Kk\x17\ +\x89\xe1a\xc0P\x80\xc7l\xe9\x08\xcd\xf4\x97\xfb\xda/\ +Ub\xe9\xf4\xbd\xe2:\x1e\xd0\xec(\xfb\xbd#Z\x1e\ +\xe3\x86\x09L\x06%\xe2U\xe47E\xa4\xeb\xc6yN\ +\xbe\xcc\xbe\x03PM\xe7VT\xf0:b\x90D\x0fm\ +\xa7\xcc9\x12\xa7\xcb\x0e\xa9 z@\x8d\xbf?\x8bY\ +v\xb7\x98\x88bZ\xba\x03\x0c\xe3\x88\x8e\xb1\xa8\xc8\x0b\ +\x1e\xa5\xef)Q\xec\xd9k\x22\xd2($\x94\xea\x11P\ +\xec\x0e:\x85\x0e\xa2\x83\xe4\xa1*\xdca\xa6\xcdv\x1b\ +4Ff\xb7\xcen\x99\xdd\xd2\x98,\x06>\xcf\x1al\ +\x17g\xebE$\xc6\xe0Fb 3\xeav\xf5\xecW\ +1b\xb8\xe0\xd8\x05\x1f\xacn\x06\xdc7\xee\xff\x88\xc2\ +\xed<\x9f\xbcR@\xa5;\xc3\x8c*q.Qx\x02\ +8P\x10\xd2H\x84\xf9\x89\xb8\xa1\x18\xc0\xa5^\x88\xf0\ +h\xab\xef7\x80(\x0d\x1b\xea\x18\x18\x88\xd8\x19\xe3\xf6\ +\x80f\x94\xee\x975\xacp\xffA\x8cR\x05\xab\xc5\xe8\ +\xa4\x85\xe1s\x8a\xcfK\x83w\xa4\xd9T\xb3\xbb\xc7\xd4\ +\xef;\xecg\xd4m\x006\x9cO\xac3f\xfa\xd9?\ +\xe4\x06\xe3<\x8d\xba\x95\x83f\xcc7\x9f\x0b\x8d6F\xa7\x05L\xcc\xf9\ +\xc2e\xf5\xffG\xa6\x1b\x15e\xcd\x13\xdaL~\xed@\ +?I\x88\xc2\x1fZB\xe3\x05&\xc6\x80}\xbb\xe9\x94\ +\x07\xa1e\xeb\x94\xc81z\xc0\x05\xe7\x95\xcf\x83h\x01\ +74\xd2\x83@|\xd7\x89H\x1b\xd1\xb2u\xe9,0\ +\x90A\xc1\x0fR\x14\x97g\xe5\xf4\xf325i\xb1\x11\ +C\xe0Q\x0f\x15\x8f0\xf2\xc3\xf5a\x14 \xb6\xaf\xc5\ +\x12\xa5\x1b\xca\x0e\xf6\x87\x5c\xbf15\x1cF\x05\xef{\ +\xf4\xa0\x06\xdam\x1bQ\xde\xef\x98A\xe4\xc5\xd4V\x00\ +\x014\x04P\x81\x14\x05i\xc1v\xa5\xdc\xdd\xae\xf9\xf6\ +zD@j\xad\xdd\x8f#\xca\xd7\xfabDy]&\ +\xa2\xfc\xfeN\x11\xcdW\xda\x891\x07\x01\x1b\x11\x05\x05\ +\x0f\xbe\xa8\x84\xfd+#\xda\xec\x8aE\x80\xa4>\x0f\xa5\ +\xdabU\x88$\x82t\x91\x00\xa1Up\xc7\xe4\xaf\x93\ +\xf0\xd9}B\xc4\xc3Pp\xb0?\x92zi\xb7YD\ +C\x1e\xd9\x90&}D\xf9\xf3U#\x92j,\x07\x08\ +\x09!\x05\xa4\x1eL\xd4\xdbM\xa9\xc5o\x9b\x83\x05\xc0\ +\x8au9\xaf\x07\x95\x8e\xa5\xd6\xa5\x99\x0e\xccXq\xb0\ +\xc7l\xe3W\x93+\x04j\xfc\xd1\xd9:\xb6\x162\xd5\ +^\x04\x00\xc0\x07\xb6\x0a<'\xccl8\xd8\x8e\xe9@\ +\xf4}\x80\xfaLB#$\xd2\xc8!\x07\x1d\xaf\xa3\x02\ +\xc0\x07=\x05\x00H(\xb3\xc7\xd8\x1cb\x0f\xf9\x1f\x15\ +\xd2\x0b\xab\xe0\xe6\xf9e\xe3\x1d\x89\xa9\xf8\xe7\xa9p\x9a\ +]\x16\x91\x10q\x9e\x17\xfc\xca\x9502jbq\x1e\ +:\x02\x1ai\xb1h$\xebN3\xc7\xa6\x90\x03\x181\ +\x03\x095\x90BC\x05\xac\xdf\x9f\xe7\x97\xf5G\xc2B\ +g[\x85\x89\x138\x0a|\x0a\x18\x0a\x1a\x12,F{\ +`\x0cP\xe8S\xf8\xc3\x04`\xdd\xf0~P\xffU\x08\ +x\xb6\x18q\x1a\xc4\x86P\x09\x06@\xd96\xa21@\ +\xec\x0a\x80\x0a=\x07\x87\xd4\x88\xcd\x10\x02\xc1\xd6\xec+\ +\x14=\xc4\xe8PG\x07\x80\x82\x0a\xcb\x0cz\xf7\xc6\x88\ +\xd4i@\xa3\x03\x00A\x94T\x12\xe3\xc9\xd9\x11i\x06\ +\x0e\xb5\xe2\xef\x88\xa9\xf3\xf9\xc9i\xd1\xe1+\x7fk\x98\ +y_U\xa3\x16\xac\xff\xed\xcb\xdf\xde>\xd9\xa7\x02\x8c\ +\x91pA\x19\xa4C\xa4\x82\x9fN_\x7fBD\x1a!\ +R\xe7jv\xd6\xecK\xb3\xb3\x9a\xbb\x81\x9f?%\x16\ +\x14H\xdd\x85\x11\x0dx\xb5\x86\x00\xfb*vk\xf2Q\ +7\x95?\xec\xf6\xeeU'\xfd\x0b\xe9\xe7s_b\x15\ +o\xac\x83\xfa\xfa\xf4\x5cD\x19\xfd\xc2T8\xc2D\x80\ +\x81\x82\x1d)\xe2\x82t\xa4\x01\x0aE=\xad\x94\xe8\x15\ +\x13\xd3\x8e\xe7U\xeb\x9e\x11\x093&\x10k\x14\xa0\xe4\ +\x82\x15\xe0\x07W\x14f\xfe\xe9@\x90\xc0\xb3/h6\ +\x9f\xf5b\xb1F\x0aODX\x19\x9d\x83\xa9\xa2\xfb\x05\ +\x13\xcdZ\x03\xecSk\x0f\xf6j\xd5\x86o\xa5\x06\xf8\ +[\x03G\x8c3\x0a\xc1n\xe1\x88\xf2\xbaMD\x03\x00\ +\xba\xd7\x978@\x0c\xbb\xf2}\xbb\xbf\x96\x08f\xdd/\ +\x22\xca\xeb\xdf\x22\x1a\xf0_w\xe7\xd7\xeb\xb9\xfb~\xa2\ +\xc8\x02\x8c\x090\xf6h\x16Z5\x02\x1a]\x90BE\ +\x8f\xe7\xec\x0d\xea\xc8\xed\x9c\x98\x92Q\xc6\xdd*\xea\xe9\ +\xd5\x1a\x85X\xbc\x8dR\xf0s\xba\x7fG4;`\x8f\ +\x16\x84\xdf\xf8\xbb$\xda\xb7Q\xd30\xa8\xc0\xd6\xf6J\ +\xfc?\xd1\x00\x8b\xfe\xc6\x88\xf2zi\x89\xcb\xda\xcf\x99\ +m\x10Q^\xff\x10Q\xfe|\xe3\x88\xf2:\x17Q^\ +\x1f\x17\x91T\xa9\xa5m1\xfdJD\xd36\xf0\xa8\x8c\ +\x00\xa6\xbe\x8b\x90\x8d\xef7\x93\xdb\x8aFi\xe6\x7fY\ +\xe2Wb\x5c\x9c\xa8\x99\xfa\x00jV\x8bH\x80%\xb3\ +\xe7\xcc\xc6Rh\x89\xd2\xdc}.\xa2\x15F\x9c\xb7\xfd\ +I\x11\xe5\xf5\xeb%\xcek\xda\x13t\x9am\xb3\xfc\xef\ +\x88T\xe0\xa1\xc5\xa2u\x81V\x01\xbe\xee\x00\xa2\x16c\ +\xa5\x93\x0c\xf5W\xf7\x89\x06\x80\x0bp\x01+\xac;\x03\ +\xd0<\xdf0\xb4\x18A\x02(\x05\xf8\x070\xd4\xbe\xe7\ +\x99f\x18:\xd8_F\xf9\xf7\xa2d\xbb\x06\xd3#\xbe\ +\xddK\x92\x0b\xd6\xa8\x83n;\xe0?\x0f\xb6\xb2\xb5\xdd\ +\xf5\x88$v(\xe0\xbb\xec\xa3g\xc5>\xca\xe7a\xf6\ +\x18\x97\xa3RK\x0c\xe2\xcb'+\xdfa?z\xb1D\ +D\xc5X\xf3\xe8\x11\x05\x15\x0d\x0c\x0aI\x0a\x1d\xf6Q\ +\x18Pa\xcf\xb9p\xd3l\xa8\xd9\xf2v\xa9\x10Gd\ +P\xccZ\xdb\xf2\x01\xf0\x93\x87\x22\xde}Z\x84Fl\ +wM\x85;\xfb+\xea\xf0|OiA \xfaiq\ +X\x98J\xd8\xb6\xb1\x0f\xb2_\xd3XA\xb3J.'\ +|?\xab\xe1#\xbe\x07\xa3P\x1a\x04\xce\x97)\x1c\x19\ +\xe9e$\x84:\x88\x86\x08\x1db\xa8\xe3ZO\x1e\x1d\ +D\xd3\x02\xfbR\x80\x0b\xb4\xa5\xa8\xd3\xa8\xa7hpp\ +\xfe\xb2\xef\x01\x04q\x1d\xd9/9\xaf\xa9;\xa8\xbfh\ +\x10\x93G\xaaP\x86\x09\xc6\x08\xad\xaf\x17\xeb\x80\x8e8\ +LU\x0a\x7f\x80\x00\xde\x97|\x0d\xe0\x01\xc0K\xf5\xab\ +E\xafY\x0f4\x96\x18\xfd\xa4\xae#\xcf\x01\xb0\xe7{\ +SOQ?\xc2\x14\xc1\xc5\x83\xbcS\xfb\x81G\x13\x00\ +\x80\xc8\x8b\x19\x11!\x0f\x85\x19\x80\xb6\x0e\x8c\x03\xeaJ\ +\x00\x1e\x80\x02\x00\x09\x9e_\xe5\x13s>`\xd0\x00\x18\ +\x03\x01Q\x0ewJh\x96I\xf6Kt\xa2\x02\xd1>\ +8]\xd0x\x1c\x97\x16\xb2\xff\xe6\xc4\x18x\x5c\x95\x0d\ +j\x1dRl\xc1X\x88\x91\xeeo\xad\x8dy\xa3\xd4\xf9\ +\x83\x02C\xc2\xf2d\x15\xbe\xcc\xf4\xf2\x85y\x1f~>\ +\x85\xc6r\xd5\x89\xbc\xa9Y\x07\x15f\xa54\xb3\x9b\x01\ +\x81%\x92\xbd 7\x96W\x1eT\xde\x0fF\x01\x1d<\ +\x16<\x88\x1b\x00\x05?\x87\x0e@ \xb7A\xb9\xdbj\ +\xb2ut(\xf0\xb7\x86\xfa\x86(\x0f\xfe\xac\xa6\xd0R\ +\xd83\xf3\x81\x7f\xa6\xb4\x00\xbawG\x94\xd7OF\x94\ +\xd7\xb9\x88\xf2\xbaXD\xa3.\x1a1\xe7}\xd8\xc8)\ +\xd0I\x049P\xb0\xdd\x93\xb8V\xbfuDy}l\ +\xbfl\x1f>\xf5\x1f\x8b(\x7f\xbeSD\xb2Y\x92\x0a\ +twFD\xdb\x90&O\x89h\x07\x0d\x1b\xa8;\x87\ +,P6T\x10U\xa8F\xcc\xd0B}\xc7\xe6FT\ +\xa5\xe9e\x11\xc9\x07[\xaa\xa1\xf6\xaf\xc6\x9eP>\xab\ +$\xee\xb6\xfba\xd6\x8c\x82\x85Yc\x10uD\x08\x1f\ +\x1d\x8e\xd0\x09hb\x03\xd5\x03L\xe2\xe3\x19\xca/\x95\ +\xf2\xecK5\xa19\xbb\xce$\xe3\xf7)\xb1\x95\xfe\xbb\ +\xfd\xc5\xfd\xc5m\x9d\xcc6\x8fhH\xb8EF\xb0\xe7\ +\x93\xaa(\x07\x9c\xef#\xa2S\x14\x9e<\x07\xfc\x1a\x04\ +\xf2\xa7\x11\xa9#\x87k\x00\x09\xc3A\x11\xa9p\x17#\ +\x03\xca\xa0G#\x0e\x12\xa5\xf3\x8f\xa2\x84s\x80AA\ +\x1b\xfb\xa9\x82\xac\xf2\xf7HTd\xd7\xe6\x0d\x99\xe7\x0d\ +\xb5p\x80?:\xecl\x90\xa8\xfaSp\x80\x84\x93\xc8\ +\xb0\x11r0\x03\xf0\xe8\xfb\xbb0\x97\xbf\xab7x:\ +z\xd8\xae\xb1\x1f\xf1\xbe0\x12\x94\xc0YC\x80\x11\x14\ +\xf6CF\x0b\xf8\x8f\x83\x84\xce\xc0\x88\xf2i\xe6\x00\x05\ +\x10#\x01\x00t\xfa\xf9\xb6U\xc3g\x1d\xad\x08\x00*\ +l\xa1\xa0\x22\xe2#M\xa7\x08*\x223\x7fPH\x85\ +\xd4\x9b\x22\xf9\xabAL\xb1$yC\x22\xad\xef\xdb\xfd\ +!\x22\xdd\x07\xb9{\xf4GE\xa4\x0e\xd6\x9e\x11)\x91\ + \xc1`\xd6M\x94G\xbb\x1d zy\xb5\x9eC\x0a\ +o\xae#\x80\x0e\xe7\x14\x09#\x1d\x12ut\xdc\xb9\xc0\ +\xa6\x0b*\x1e\xfb\x08\xf6<\x9a\x8d\xb4\x1a\xb9\x12\x8f\xee\ +\xe0\xa1\x90\xef?\xdd\x7f\xa6\xffL\x05\x0a\xf7\x0d\xa0\x10\ +7\x8e\xe99\xd3\xb3\xa7\xe74&T\xf7\xbc\x88&n\ +\xd6-\x1bQ^\xef\x8f(\xaf;G4\x80\x90\x8e\xb6\ +\x13\xd4\xa7E$\x80\x82Q\x9c\xf3\x95\x80J\x84\x0b1\ +1\xf6\x17\xdb\x15*\xf1\x03 \xa2C\xeb\x8e\x00\x22O\ +\xac7\x80d\x00E\x00\xceE\x87\xf3\xb6\xdb\xb8\xdb\xa4\ +\xdb$\x01a\x02\xc6f\xbbE\x94_\xbf\xa9F+|\ +\xa4\xd5b{\xaf[#\x92\xb8$\xc0\x22\x9d\x0e\x807\ +|\xc8\xe9\xc8\xd0\xb9c=3\xb2\x87\xaf<@.\xc0\ +\x19\x05\x10bW\xf8o\xc3H\xb8c\x18\xbd\xa2\x83Z\ +\xca\xbfS\xbbS[\x07\xd7\x94\x7f\xb4\x04\x028\x8e\xce\ +\xf2\xbe\x11\xcdnp\xbavD\xf9\xfd\xf3J\x9c_\xd6\ +\xc5kK\xec\x97l&\x83\x22\xfbe\x9dK7&\xe6\ +\x0dTZ\x9d#\xb8\x1cTF\xd8=M\xb4\xb6v\xd0\ +6\x13\x00\xbe\x81\x18@G\xb4}\xa9\xae\x8f\xa7\xa7\xc2\ +f\xbb\x12\xcfk\x80@\xf7\x8d\x88\xf2\x1aut$\xda\ +\xaf\x8e(\xbf~k\x84\x80\xea\xe5\xa5\xa6\xbf\xa2\xce\xb3\ +\x9b[g\xban\x03e\x1f\xe8\x7fQ\xe2\x97\xda\xe7c\ +\xc6\x7f\x85\x88\xf2\xfa\x95\x88\xb2\xad\x1d\x10Q^w\x89\ +(\xbf?\x8dhj\xd6\xdd*\x11\xe94\x1b\ +\xee\xa1\xbe%?\xe2z\x08\xe8\x98\xf3\x0d\xc8\xea\xdd\x0f\ +\xa6\xc4\x1d1\xbf\xe8\xd4]*j\xf3~\x09\x08\x88\x8f\ +\xb1l\xb2\xe5\xe3BG\xf9\xbb\xb6\x0a\xbeMu\xa1\x9f\ +\x9c\xd4\xf5cRm_m\x84\x7fI\xbf\x8fm\x1fL\ +\x01\x16\x0a\x9d~\x12Nn\x00\x09 \x0b`i\xd9\xfe\ +\xe8\x020;\xe1\x05\x1c\xef\xb6FR\x05\x87!\xc0\x05\ +\xe5\xc2\xf1\x1f\x88\x12\x14\xcfPO=3\xb9\x1b\x80\xa4\ +\xd2\xb1\x05h\x10\xe2l\xaa\x08\xb6O\xb2\x05\xea>\x1b\ +\x91\xfc~Q\x1f>?R\x8c\x86\xf8N\x9e7l|\ +\x95\xf2\x1f3n\xb7F4\xb5\xd7\xeeo\x83\x98\x1f~\ +\xc9\xdd\xba\x11\xe59}UDy\xfdGDU\x9d]\ +\xb2\xda\xdc\x80\x88\x83H\xa3\x0a\x0f\xb2\x04\xd5\x05;\x12\ +fUE5\xc2\xa7\xba\xbf-\xa2\xbc\xbe&\xa2\xbc\xee\ +\x16\x91\x0a\x0c%n\xee\x1c\xa93\xefB\x06\x84\x0f\x04\ +\x13@\x00\xd5X\xa8\xd2\xcc\xf0\x81\xec\xea\xbeQ/1\ +\xeb7\xfd`D\xdah\x10!a\xe3\x00\x90\xc1\xaf\x18\ +\xaa7.\x07\xa8q\x8f\x91z:W qt\xdc\xb1\ +\xb1YJ\x07\xe1\xb9\xf2Q\xe5\xe7P\xc8\xf2\xef9\xf8\ +\xc4`\x80\x9a\xe7\xc4\x9f\x82-: \xdf\xa8\x85\xe2 \ +\xae\xc5F\xae\x84\xd9\x1b\x12\x9dl!\xaa^\xbfB>\ +\x99\xb5\xc4?\xd5\xd4u\x0eLD\xe3\x84 b\x8be\ +$Z\xcfA\x7fxD\x1aQP\xa2\x07\xa3\xc1\x0c\x8b\ +K\x04\x14\x01\x1c N\xc9\x06x}D: \xa1\x84\ +q])\x1c.\x89HTe\x0aW\x10d\x01=N\ +0HT\x04\x8c\x98JMg\x9cB\x05J4\x22t\ + \xe2\x14\x16\x00u$6 \xc1\x8c\x1a\x910\xf0\xe7\ +\xec\x97\xd8\xe5\x00DRh\xb2\xe1\x8ef\xdal7*\ +\xea\xba\x191\x12\xb3\xf2\xbf\x03 \x00P\x80\x99\xc4\xcf\ +a\x9d1\x02\xf3\x13\xcd\x96~x(\xf4&OT\xe7\ +Q\xc0\x9c\x0f:l\x85H\x00\xb5\xce\xfbOD\x94}\ +\xe2]\x11i\x04\xe10%<\xb2\xdf\xb3\xbb\x82\x18\x0b\ +\xddB\x11\x09\x08\x85\x92\xff\xb6\x88\x84\x5c\x0b\xb81u\ +O3\xb6\xee\xf0@Qf\xbd2\x83\xfa\xfd\x05?\xa8\ +\x05\x9fD\x94\xac\xa5\x00\x10\xb0\xcchv\x10\xfb5\x9e\ +\x1b]_T\x99=Kw\x8b(\xa0$\xcc\x00o\xcc\ +\x9aC-\xd4\xcf\xe9\xdf\xd3\x1f\xd6\x1f\x96\xc4\x94\xd8\xaf\ +b\xe6y\xd2\xc4\x83\xa0`[\xb46`\xa2\xa7\xb4N\ +EwJD\x13\xfd\xe9\xbe\x10\x91\x00D\x181:\xf7\ +\xfa\xdfE$\x11W\x01\xbe\xb5\xa3{h\xdb\xd7\xbb\x1d\ +\x22\x92\xdd\x95f\x0c\xad\xf5\x01EU\x05\x89\x13n\x00\ +\x17\x808:l?\xabOt\x00}o\xad\x94v1\ +\xd3\xb0\x03t\x22\xad\xf5j\x9b6\x00Hl\x01u\xde\ +\xc1h\xf3(\x00\xa3V\xdcGFV\xd8\x7f\xd9\xb75\ +\x83\xcc9\x85m\x9b\xdf\x0f\x06\x8e\x12H\x03\xb5|?\ +%\xd8\x88\xd0\xda-A\xd4\xe9\x80\x03\xe2~\xf8\x5c\xfd\ +\x9f\x88r\xb95\x817\xdd\xb4\xc4f\xed<\xb5\xb6H\ +P\xe2_\xdb\xceC\xf6s'\x88t\xa0\x0025\x9a\ +f\x06\x85\xec\xe4\xd0\xb4\xe9\xde\x19\x91\xcec\xdcS\xc2\ +\xf5e\xb7\xe6\x9e\xc1\xac\xb8\x0b\xaaH\xb7\x0f\x13\xd3\xef\ +GIm>:\xdd\xa7\x89\x9a\xbe\x97\x0a\xe7\xdf\xb5\x91\ +\xa2\xee\xe2\x12\x17\x89\xa1\xf1\x06\x8dT\x9c\x97f\x96u\ +\x9f\xd9\xdf\xfa\xcb\x22Z\xe13\xb9-\xa2\x5c\x97S\x22\ +\x1a\xd0\xd8\x9d\x1d\x91:\x9fP\xed\x19-\xd4\xfd\xeaw\ +\x88hL\x0e\x98t\xfd\x81\x11\x12\xd5\xfbL\x05j\xab\ +\xab\xc1t\xc5\x88D\x85\xff\xf2\xe0v\xd4\xad\x15\xd1\xec\ +\xf5\xea\xba<\xb4\xee/\x03\x85\x1b\xa6\xde\xad\x12\x1d\x86\ +\xfa\xce\xba\x15\x03i\xb2ZD\x13\xd3\xac6\xcc\xc7i\ +\xa6\xfa\xd7\xad\x83\xec\x99yf\xc9CD1\x5c\x07\x1e\ +\x1bQ^?\x1e\xf1P\xa0\xbc\xae\x8b\x97'\x8d*l\ +\x87%\xd2;\x7fMD\xd3\x08\xf0:\xc5^\x96\xfd\x04\ +\xaa\xf6\xa2j@0B\x83\x1d \x00+\xf6\x9d\x88\x00\ +\xab#\x09s\xc3L0\x0a@\x5c@p\x07\xa0@b\ +\xbd\x01TP/0\x02LA\xc3\x88\x0ay0\x8cX\ +:\xec\xca\xb7\xdc a\xe6\x5c\xb6\x91\x06\xe2\x11\xcb\xc5\ +\xbe\xf1\xbb\xa2H\xb3?\x01\x88\xd0\x99g\xdf\xa4PF\ +\xc4\x8f\x82\x19&\xdem\x1am\x92K\x13\xe2m\x00\x1e\ +\xb3\xad#Z\xa3e\xb6}D\xd3\x86r=\xb4\x92\xce\ +_:\xbc\xe4\x01\x14\x96t\x9a\x95\xe7\xf5\x0fD$Q\ +f4\xc4h$\xe0\xb2#\xad\x08\xd73\x5cW\xa8\xf4\ +\x00\xa3\xe4M\xfc\x87f\x0d\xa3\xa2\x8cH\xc2\x08\x04\xf0\ +\xa5\xc0\xd7z\xe4\x5c\xf6l?#\xb2\x00\xb440\xc8\ +7\xf9^\xe4o\x14\xe8t\xb4i\xcch\xd4\xd4\xf6\xc6\ +\xe4\xef\x00\xef\x02\xde\x5c\x7fe\xa6\xf6J\xa9\xb0g\x14\ +\x0d`\x8b\xef\xc1\xe7\xa1`\x1f\xdb\xd6S\x7fR\x0f\xf2\ +\xe7\x00a\xd490\x0a\xf8>4\xa0x\x7f\xf6o\x0a\ +pF\x0fiH\xb0\x0e\xe9\xe4c\x03\x89h%\xa3%\ +\x8c\x04\x90gP\x0f\xf2\xf3\xc9\x9f\xf95\xf9\x1f\x00\x04\ +@\x17y9T\x7f\xeaT\x18\x13\xb8\x10\xc1\xcc\x80\xb9\ +H\xde8\xd2\x08\xe3\xf7\xe7\xfc\x85\xb9\xe1\x14\xf2qy\ +\xb3X\x1f\x17\x84\x99\x22\x0e\xe8H\xb7\xb7i\x1d~\xcf\ +$1\xbb\xaf\x83\xcf\x1d2f\xe6xp\xf8`P\xe3\ +)\xc8\x03O\x8bY\xeb\xf5K\xac\xa7\x8do\x9d\x94\x00\ +#^\xc8\xfb\xa9\xb0\xb7\x9d\x0b\x89!\x17\x8e\xce=\x85\ +\x12\x0bn\x85\x8a]\xb6\xf7]y\x10'\xf3\x88@l\ +\xf37\xa6\xce\x03\x08\x1d\x1d@\xa8\x9d,\xb8\xa5\xaaQ\ +K\xfb\xb9t\xfe\xa1\xe4\xd1\xb1Q\x22\xd0\x1d\x18Q^\ +\xbf\x19Qg\xf2\xae\xee\xa2\xe3\xb6\xdc`O\xd8m8\ +t8\x98\x8d\xef\x9e\x13Q\xee\xdf-\xd3\x9b\xa7eC\ +\x98\xee\x1a\xd1D\xae\xba\xbb#\xca\xef_\x1a\x91\xd4q\ +%\xc2e\x11\x0a\xa9{2\x13\xd2\xff \x22=(,\ +D=\xa0\xfd\xe3#\xca\xeb\xfd\x11m&\x90\xce\x19b\ +[u\x86\xef\xb3\xadP\x83\x1a\x8ax\x97gQ\xb1\xeb\ +\x83r\xcd\x82\xc7\x9f\x9c\x19{\x1e@uv\xb0\x1f\xf2\ +,\xe3\x07#\xca\xeb\xde\x11i\x86^>\xc9\xeelR\ +@s\xd04u\xd0\x01h\x82\xc2\xc4\xf7\xa6`\x17@\ +\x01E\xd9\xea\xfc\x00C\xb7Ju\x13\x8a?\x08\xaaD\ +\x92|\x90\xb2\x11\xa16\x0a\xb5HTw(q\xfe\xf9\ +\xa2FY\x1c)T\xa8\xdf\xdb\x0a\xa8n\xd7\x88r\xdd\ +\x7f\x16\x91\xec\xeb@\xf0\xb5\x01g>>_\x00\x00 \ +\x00IDAT\x1bYf\xf6\x90\xe7V\x94\xf2\xee\xcb\ +\x11M\xb3\xc0\x94\xda\xf9\x88F%\xb6\xef\xb4:\xab\xfd\ +\x93#\xca\xaf\xf7\x88H\xf69\x00;P\xd1u\xd0\xa2\ +\x96m\x9b:%4\xb3\x1d\x22\x12\x10C!)J0\ +\x09\x09bh\xd8\xb4\xf8zJ\x5c\xcc\xcf#\xb3S0\ +8p\x91`\xa6\x9c\xd9t\xae3\x142!\xf8\xa6R\ +c\xbf\x87\x9a6\xaa\xd40T\x04\x08\xd0\x11fv\xd4\ +\x00\x00\x078\x89\x0b\x058Z\x11JT\xb8\xaf\x9e\x95\ +\x14\x15\xd1\x07\x1a\xe2~ \xd3\x00t\x88\x06\x01\xb8h\ +\xe6\xba{ID\xdb\x87'_\x89h\x1dt\xab\xc0\xf3\ +<\xb0\x9fS\xd8\x00Hq \xa2\xd2,\x911\xdbu\ +-\x12\xd1\xdcD(\x9c\xe8\xfcSh\xf6\xbbG\xa4\xfb\ +\x04 \x03\xb3\x89\x84\x05QO\x9eO\xae\xb3\xec\x8b\x8c\ +\x98\x03\xf0\xbc=\x22\x1d\x88<\xbf0\x1aD}\xf6A\ +L\xc2B\x01\x8a\x88\xea\x17#\x92\xa8\x9e\xae\x97U\xea\ +\x05\xc0L\xb4\x0f\xdb.*\xa8\xcbe\xff\x99\xfdt\xf6\ +\xb3Yy\xfe\xfa%\xfa\xc5\xfb%\x92V\x0a\xd7\x17\xb1\ +H\x8d\xb0y\x9d\xeay\xedn\x88h\x80\xb0\xb5d`\ +0\x01\x84q\xfe\x92\xd02\x02\x82\xcf\xe7\xd3J\x94}\xa8{dD\x12\x05\x8e\xd1\xc1\xb2\ +\xbfv\xef\x88\xd0}x\x92\xae\xff\xc6\x02\x8a\x0f\x16`\ +s\xb5D\xd1\xde\x9f\x80|\x98\x86\xa20\xe3\xe6\xc0\x08\ +\x05\xc0q\xbfSD+\xf0\xbb\x8fF$\xed\x22\x01\x0f\ +h\x8c0:\xe3Q\x13\x01WP\xa7\xed6\x00\x13\x10\ +@\x92Q\xbd\xbd\x06\x86\x83\xb5\x92\x10\x83]d\xd0\x1e\ +\xf0h\x9f\x1a\x0e\xb6?\xdc8\xa2\x8dd\xd8~\x0f\xfb\ +X\xb4P\xb0\xd7\xd5H\x1d@\x86\xedJ\x014\x18I\ +\x11\xe5\xdd\xcc\xcd8/\xcas0Y\xba\xc4RI\xa3\ +\x03\xdb\xdb\xad\x06\x86B\xbd|\xc1\x1c8\xad\xc4\xe7\x95\ +'\xbeSy\xef\xfa\x0d\x181P\xc6(\x9e\x98_\xf6\ +o\x07x\x93\xc6K\xd5\x1cy\xa2\xce\xdb\xf3R>\x1c\ +\xa7\xea\x11\xa9\x81\xc0H\x06\xa3\x87t\x5c\xd979\x7f\ +`\xf0Q@\xa1qE\xde\xa6\x06\x1e\x00\xde\xeck\x11\ +\xa9p\xe4\x5c\xe4{\x8c\x98]f\x88I\x8c\x16\xeaz\ +\xf9\xddAT\xee\x85\x11\xa9`:{\x00\x80\xbc\x7f(\ +\xdf\x06\xb8e\x04\xd2\x1dV}nF\x8c\xfa\x8d\x22\x92\ +v\x85&'\xea\x80\xd2\xe1\xc9\x85d\xec\x0b\xafB\xda\ +\x1a\x050\x95\xb0\xf5\x06@\xa6\xb0\x86\x82OCr\xac\ +\xfd\xc5\xf5\x84)\xad\xbfW\xdd1>\x92\x0av\xcei\ +\xdc[\xde\x18\x91\x1ah\x02\x1c,\x92M\xc1I\x1eI\ +\xc3\x86\xfc\x1e\xed\x1b\xae'\x22\xb5\xa8\xdaS\xd8\xa31\ +\x02P\x04\x10\x92\x19 +\xa6\xe7\x01M,\x8d\x9ay\ +\xffF\xf4\x11\x11n1\x81\xb1\xb3\xac\xca&OML\ +\x1c\xf6A\x0a\xe0G\x8dFL)|y\x05\x10\xa0\xae\ +\xe4\x86r\xdf\xa8\xf7\x10-\xd6H\xb5\xed a\xe6\xa8\ +`\xb7\xdd4\xcc\xd3\xb1\x8d\xbd\xd6\xb5\x1bv|\xbe\xd1\ +\xc8\x83;\xf7:\xef-\xd2\x0d\x80\xcb\xfa\xe0\xbaJ\x0c\ +\xdb\xdf\x9fF\x0fu\xebX\xac\x1f`d4\x82\xe1\x91\ +q\xf2\x5c\x00\x98_\x0f. |\xce9\xd6}\xc5\x03\ +\xe6\x1e\x06Q\x01\x00\x18\x17\x86Q\xa6\xfd>\xa9\xa1G\ +b\xfe\xc4\xa4Z\x0d\xc2\x035F\x1a\x02.\xf0\xb1\x11\ +\xc4\xdeF\xd4\xfbz\xc0\xac)$l\x9d4\x12@\xa2\ +\xc7\x05#Q\x5c~\xa0\x1eY\xad\x1f\x04\x8d\x0b\x06\x93\ + p\xc9U\x12\xd00V\x99\xe4\xcfW\xad\xe4\xa4&\ +*\x87\x9b\x00\x89\xb7\x12u/,(\xbd\xb1\xad\xad\xdb\ +\x80\x0b\x17\x98 \xb7\xa8\xd4/9P2L\x91\xa1C\ +\xb1\xcf\xf0\x00M\x16\x92Z\xec\xae\xc3\xc679S\x9d\ +\x1e%\x8a\xd3\x0f\x0d\x9dn\x8b\xfa=9BvUw\ +\x0a\xd9\xbf\xb8\xcd\xc8O\xfe\x13\x91fWw\x8fh\xb3\ +)\xfd\x1b\x22\xd2\x8c4\x14\x1fm@P\xbe@\xb4g\ +\xff\x89(\xff\xae\xb6\xf4[\x01\x88\xc8\x96\xd5\xd5\xe5\xfb\ +m{\x12\xf9){&V\x80\x80\x13X\x8d\x08\xcc\x9e\ +\x1bQ\x96\xddw#\xd2\x86\xc2A\xa2\x0dk\xf2\x9d\x88\ +\x96x\xf6\x7f\x88h\x88\xbcG&\xd4\xf9\xed^\x14\x91\ +:\x92\xcc\xea\x00\xdc\x08\xd9\xb6x\xa0T\x92-*u\ +bD+ \xcd4\xd0\xec\x0f\x89\xbb\xc5cx^(\ +\x88y@y.\x84\x90\xcf\xd6\x19fW=+\xcb\xcc\ +\x10\x09\xba:k\xdd?#\x1a\x85\x0cj\x8fE\x13\xa1\ +xQ\xa0\xa8\xc3\xeb\xd9j\x90?:\xed\x12{\xe9\xfe\ +\x1e\x91\xd6\xbb6\xc0\xfe9\x11\x8daa\xb1\xa7\xe5\x22\ +\x92\xaf\xbb\x125(a^/R\x81\xc6\xdf\xda\x1d-\ +\xad\x17#\xdb\xf8\xa8\xfeix\x7f\xa8\xe4N@@\x90\ +A\x86\x01f@`\xb5!\x1a\x18\x90O.\x85\x93E\ +'QOG\x05\x1fm\x076\x5c\x9eS\xd6\x97T\xe8\ +\xd1\xe6\xa03\xe6\x83Z\x88w\xb7QD\xf3{wG\ +\x03\xe0\x08q>f\xc4\x10\xbfD\xa4\x0cJ?\xa3)\ +\x14\xca\xb8uHs\xc1\xa30\x88\x82\x91\x00\xc1\x14\x10\ +\x15\xac\x8a\x8c~\xac\x15\xc8\x06PPs\xd7\xcc\xb1;\ +\x10\x00\xb3\xd8b\x92\x80\xa1B\x0c%s]%n\xba\ +>\xfe\x9eJ\xd0\xbb\x97\x0c\x14w\xabw\xeb`\x07\xf0\ +\xb4\xbd\x11\x9fW\xd4U\x00<:\xddV\x0f\xbec\xc1\ +\x9d\x158\xa1\xf0Y[\x07\xe1\xd2\xa2\xb4\xe1J\x82\x08\ +\x1f\xf6\xa1\xd8\xb0\x22\x86\xc7\x88\x06\xfb=\xda\x17t\xc2\ +\xa1\xa2\xdf\x1c\x91\xf6\xad\x91X\x90\x13\x05u\x80f\x8f\ +\x8d(\x9f{\x8d\x88\x87\xaa\xf0{t\x88\x04{\xf1\x88\ +\x94\x18\x8a\xf1a\x80D\x14S\x80=k\xb8\x84\xf8\xdc\ +\x1e)\x01\x87\x12.\x1b5\x8b+2\x13/\x80\xcdn\ +\x22h?\x90\xe0\xf1\xef(\xac`\xd4i\x7f\xea?\x1d\ +\xd1\xf6#\x17\xb2\x02P\x5c8\xffu\xd0lYph\ +\x8d6\x8b\xae\xce\xa4}\xe9\x7f\x10\x91\xc4S\xd1V\xd1\ +ue\xf4\xcd\x8c\x10\x8d\xb6\x98R\x09`\xcc\xbf\x17\x00\ +a\xed\x15\xb44\xb4_N\xf7\x88(\xe7\xc7\xffF$\ +\x0d\x1a\x80xlpa\x12\xe8{T\x11\xb9\xcf\xca\x8e\ +x\xd5\x06\xecO7*\x91\xf6\x85\xdao\xfba\xdb\x07\ +\x00\x1c\xcd\x80`\xb4\x8c\xef%f\x88;3\xa8\xa6\xb3\ +\x9f\xe9\x5c\xb6\xfd\x1av{G\x968\xaa\xdd\xf7\xee\xb0\ +\x08\xbd\xff\xf1\x02\xd0\x83\x11\xf8\xda\x08\x15\xfc\x7fm\x9d\ +\xd5z^\xfc\xa3\x01A\xb5q\xb0\x8d\xf6\x99=\xd4\x08\ +(\xfb\xcf\xfc\x0d\x11\x89)$\x06\x02\x85\xbd\x0bZ\x00\ ++\x89l\x02\x1c\x9biA\xde\x88\xea\xb8\xae3\xaf\x16\ +\x09\xa6\xc3\x08\xf3D\x80\x18b\x84.\xc4$f\xe6\xc4\ +[\xcf\xcbd\xab\x88\xc6\xa4B\xc4\xb4_$\xa2\xfc\xfb\ +\xb7F\xa4\x0e\xfc\x8a:?\x7f\xd0}\xbf\xfb\xbeD\x1d\ +\xcfM3\xda\xea\x88\xcf\x16\x8aH\xaa\xf0\x14\xbe\x00\xb5\ +\xa7\x0dZ$<\xf7~^\x05tT\x97\xca\x92\xf0w\ +o*\xf1\xc6V [\x8b\x03;J4\x81\x96\x8fH\ +\x14^\xf6I1\x8c`\x84\xd4s\xe8/i\xd6\xfe\xdc\ +\xca5\x1c\xf6\xa3\xd3\xf5|\xef(\x00\xfa1I\x8bI\ +\x00\xbe\xc5\xda\x04\xe8\x90\x1f\xd9G\x1c\xf1c\x9d\x97\xb3\ +\x9d#R\xe1\x88\x1f\xd0\x87\x0dT\xe9\xd9\xbf\x22\x92\xea?\x1dk\x8d\x84\ +\xe0\x1eaD]\x1de\x90mw\xf2)P\x19m\xc0\ +n\x86\x19y\x12I\xee\x0b\x1dM:\xfb\x1cX\x00\x09\ +P\xe9T\xb8X\x93\x02\xa4Z@\x02\x14W?\x0f\xdc\ +\x17\x10|:cJ\xfc\xab\xb8\xd6\x86iV\x92\x03U\ +\x1d\x02\xcf\x9c+A\xb6H\x1e\x1dO:{\xd8\xf6\xd1\ +\xf1\xc2V\x8f\xeb\xa8\x02\xda6W0:H@\xe8\x00\ +I\xfd\xde\x9drf\xfe\x19E\x80b\xaa\x04\xda\xc0\x82\ +\xae\x8b\x81T\x01N\xf69G\xfd]\xb3h\x9ei\x96\ +FK\xf7\x87\x81J\xed\xcf\xc3\xf3\xcb:\xa5\xa3\xaf\xfb\ +c`\x82Q\x0bD\x109w\xf6\x14\xe0\xf5\x171\x81\ +z%\x5c\x14\xa80\x89\xa0\x9c\x8a\xfa\x080\xc6H\x89\ +E\x91\xf8\xfep\xbc\x19\xb1x\xc6@\xd5\x9e\xdc\x11\x91\ +\x12S\x9e+\xd9\xad\x91\x00B\xc9\x06\x88,er-\ +\x94\x10W\xe5\xe0\xee_\x1d\x91\x80?\xd9\xce\xe2C^\ +;\x92e\xdd\xf4O(\xb1AK\x14\xad\xe6\x8e\xc8\x9e\ +|\xcf\xd14\xe0z{\xd6\x1f \x83\x82\x9b\xfb\x8b\xfd\ +\x13\x05\x11\xeb\x09\x00\x85\x91\x01\xed\xf3\x1e)R\xc2\xdf\ +\xbd-\x22\x01\x00\xda\x97l\xe3\xaaN\x106\xa5\xb3\x17\ +G4`\xcc\xa3_0\x98\xb4\x8fx\x96Q\xfb\xcc\xe4\ +\xb8\x88\x06\xcc`\xab\xc8\xfe\x05\xc0:Y$\xa2\xbc\xfe\ +,\xa2\xbc\xfe=\xa2\xb9\xe1\xe0\x1e2\xfdIDb6\ +\xa9\xb3\xd9m\x1fQ^o\x8eH@\xdf9%\x82R\ +\xfe\xb3\x12e\xbdt+\x97\x88\xc2\xf1\xda\xee\xba\xee\xda\ +\xd61\xed\xffU\xe2\xbe\xc4\x08\xa4\x13\x03U\x98\xd1\x1e\ +\x89k\x22R\xe7\x06\x00\x00\xe3\xaf#\xc48\xdaH\x0c\ +\x97\xa7'\xe6\x83\xf6\xad\xee\xac\x88FU\x07\xf0\x8c\x81\ +\xc0\x0a\xf0S\xd0\xc2\xf0\x13\xd3\xa1\xbb\xb1\xc4\xef%6\ +\x19\xef\xb3F\x84\x0a\xd2\x85$\xfa\x16\x9d\xd2\x7f\x97\xb8\ +_\xcf\xcd\xd9*\xd8_&f\xcf\x9d\x8d\x11j\x8d\x1f\ +\x89\xe2y\xdf\xd49k\x06K<\x0f\x175w\x083\ +K~\x1e\xd1\x80\x1e\x0aS(\xeb\xee\xcc\x1e\x13Qm\ +\xf5J\x94\xf7}oD\x1au\xd2\xfd\x82\xb2\x1f\xfc\x9b\ +`\xe0\xf8\xfc9-\xa2\x15\xec\xd3\x13#\x9a\xeb\x03\xc0\ +\xad\x818\x15\x90\xee\xf4*\x0f\xc0~\x98\x04\xbe\xa4\xcb\ +\x03p\x83\x0a\xb9\xb4\x86\x1b\ +\x84\x01\x22\x0aQ\x18\x83\xcfV\xbe\xb6\x8c\xf2*F(\ +\xc4\x80\x98\xdd7\xe4\x1b\xe4i\xfd\xae\x11I\xdb\x88\x02\ +\x8c\xba\x84z\x80\xfdG\xfb\x13\xe7\xb4\xcf\xcd\x1fj&\ +\xfd\x11\xea\xfcR\xa70b!\xc0\xdd\x8d%\xf2^\xed\ +\xd7\xbe\xaf\xfc\x07S\x83\xeb\x83m\xb4\xf2p\xb4R<\ +j\xc7\x88#@\x04\x0c\x22\xd6\x05y\xdd\x195\x1ap\ +\x0a0\xc7\xef\x03, :\xc9h\x08\x0c\x1d5\xca<\ +\x82\x0b\xc3L\xcc-D==\xaa\xa5\xfd\xf6!\xb6u\ +:'\xbc>\xc8\xbf\xb9\xee4\x1a\xb1\xbd\xc6\xa5D\xcf\ +\xa35#\xc4\xf8\xe0\x1c\xb3He\xb6{\x7f\x5c*\xb0\ +Yg\xcc\xbc\xf3\xe74\x06\x00\x9e\x19\x85A\xfb\x03\xb1\ +i\xdc\x0fp9\xc3N\x11F\x0c\x0d`\xf2-\xf6}\ +\x80\x0f\x0ay\xeaM~\x9fF#\xda>0\x0b\x10\x8f\ +\xc7\xce\x1b1E>7\x8d-:\xf9<\x17\xd4\xa1<\ +\x97\x88\xf4\x92oR\xbfs\x1d\xa8\xaf\xf9\xfb\xdc']\ +\x979\x7f\x11\x90\x13\xa8\xf5P\x15\x03\xd1X7Qi\ +\xb0\xf7\xa1s\x0aB\x17o\xfb\x97\x87\xb9A\x14\xd8\x91\ +\xe0=!Q\x7f\x00\x14$2\xe8\xce\xfc2\xf5\x11o\ +T|F\x09\xe2qEM{\x8d\xd4\xf1\x8fm\xe5\x89\ +I\xe5\x7f\xb5Zj5\x00\x80\x1b\x01u\x92\x04\x10j\ +\x15\x7f\x8fY\xbd\xf1l\x0aT\x0c\xae\x0f\x9d\x7f\x10\x99\ +('ni\x88\xa4U\xcb\xf9\x9ePv\xa0\xae\xaf\x22\ +\xc4\x14\x11\x1af\xb6Th\xf4_\x8e(\x97\xe5]\xd3\ +C\xa6\x87\xa4\x05H\xc7\x92\x8e\xa9:\xf9\xb6\xe1c\x01\ +\xa9\x03gU\xdd'\x0e\xd4O#rP\x5c\xf8\xf9t\ +\xa6d\x93\x02Be\x8a:\xb3V\x14p\xb2_\xc2~\ +\xa5\x7ffD\xf2\x99\xc7\x1eHTb\xcf\x96S\xd0\xd0\ +\x11\x13\x90\xe0D\x12$P\x1b\xf1t\x97\x88\xf2\xfeg\ +E\xa4D\x90\xce\x04\x88'\x14\xaa\xd1,(\x94w(\ +Q\x93\xeb#\x92]\x1b\x858\xf7\xf1z!eB\x90\ +\xf9\x9e~\x00\xd14`\xe3\x04\xb1\x83\xd2\x8a\xca\xab\xc4\ +\x12\xffK\x14\xf31\xe9\xe0\xe0\xe72;\x0e%\x9d\x07\ +\x9e\xc2\x96uy\xa7\x90\xd65T\xe0\x0aP\x01X\x82\ +R9\x1e-0@\xb0VDy\xdd,\xa2\x89\x0b2\ ++\xd5\xaf\x1cQ\xc5\xc8\xaa\xca\xf1\xecw\x11\xe5\xf7W\ +\x8b(\xbf\xde0\xa2\xbcn\x1c\x91\x00\x05\x0a\xe0\x9fG\ +4-\x0c\xcf^Sh3\xd3JGE3xt\xb6\ +\x0d\x18\xf1\x9cJT\xc6\x149:\xfd \xd0\xa2\x90\xfb\ +y`\xf6\x0c\x8a\x9a\x00\x1c\x12D\x1f8\xd8\xe5\x89\xb2\ +\xef\x04\x12_j\x80\x06:\x08$\x5chw\xa8@\xa1\ +3a\xd1$Q\x01\xcdH\xd1\x81\xebN2\x07\x1d\xbf\ +\x16\xd0\xc3\x01\x83\xa6\x82\x91]\xd6'L\x10\x00)\xec\ +#\x19\x19@\x5c\x0d\xb11\x90v\xde\x8fN\x09\xa2\x9c\ +Jx&\x1f\x8aH\xef/\xdf\xf0\x92\xae\x0fj\xd5\xb7\ +\xab\xb3+\xcd\x0dS_I\x94\x00\x1e@\x96\xb9\xaf\x88\ +\x1eA\xadW'\x9bN\x17\x89\x99\xa9\xf5J\x80\xba[\ +\x22\x9ax\x0d\x09\xbd\x018\xae\x07\x1dF\x12\x0e\x12\x1c\ +\x0e8\x9e\x17\x18h\xdcGl\xc3dg\xc8\xec\xfcD\ +\xaa^\x14\x0a\xd6\x96`\xbd\xf0|\xc2T\xe1\xfdHL\ +\xd5\xe9u\xa2p\xd4\xb0\xbf\xf5[\xf6[\xf5[\xd5\x7f\ +\xff\xec\xf8\xf7\x14\x91:\xfe\xda\xc7Q\xcf\xee^\x15Q\x99Z\ +5Q\xef\xf7\xe9\xf7\xed\xf7m\xe7r\x7fe\x84\xf6\x8b\ +\xcf5\xcd\x0d\xec@\xbbOG4\xe0\xca@\xd7A\xc3\ +\xe7\x9c=XJ\xf4\x07R\x01!\x86\x95\x19\x02P\xaa\ +\xd9_\xc8\x07\xb4\x8e<\xa3\x8e\xcd\xda\x9dj\xc05\x97\ +\xac\x0d\xea\xec\xca\ +:\xe5\xb9\x01`\x17\xf0`\x80\x88z\x93\xfc\x83z\x14\ +\x0d\x04~\x1e\xeb\x86\xdf\x87\x09\xac\x91:\xaf/\xea=\ +\x98\x1a\xfc}\x80\x1d\xe5Cs\xffe\x83\x97\xd4\x14\x99\ +\xf5\xaa\x1d\xf9g%\xf5n\x1e\xec\xe8\xc7?\xfea\x0a\ +c\x12&\x1eT\x10*\x18\x02\x00\x07\x14\xe4,t\x0a\ +$\x90\x0b\x16\x98\x10\x9e\xfay\xd6H\xcc\x00\x12v.\ +\x1c\xefK\xc1\x85h \xb3yt\x98\xd8\xc8X\xe8\xd9\ +wre%\x92\xab$\x00\x02D\x05&\x00\xdf\xeb?\ +\xd5\x00\xad!3\xa2\xf4\xf9 \x92\xc8\x13\x9d\xf3n\xc5\ +\x88vc\xcb\xf63\xf8\xdf2K\xc4\x8d\xa7\xb3p\xc6\ +\xd0Q\x98\xbdE\x94\xb6%\x86B\xbd\x7fE\xff\xf2\xfe\ +\xe5)qb#\x95\xda\xbcg\xdd\xb0\xa3\xd2\x81\x09\xf5\ +\xc7\x89%*\xd3\x88\x82!\x12\xc5,]\x88[ui\ +\x03\x84\x12\x0c\xf3C\x9d\x8e\xd9\x19\x11\xe5s\xfd(\x22\ +\xf9\xf9B\xa1\xd2\xf5e\xd6\xcf\x08#\xaa\xd4\x14\x8eJ\ +\xd0\x10\xd3\xb1\x1a0\x0f\xbc\xa8\xeb\xb5SsNJL\ +\x10u\xa3 \xc0O\x1e\x0a\x93\x122\x0a_:&F\ +\xc4\x16\xd2L\xde\xf74\xe3\xbf\x81f\xb0\xf5\xe0\xd2y\ +w\x82J\xe1\xc7\x8c\x16\x9d*%4^\xbf\x14Fl\ +\xcc\xac\x1b\xd6\x1b\xc8+\x1d:6N43x\xdev\ +\x12\xc0\xb0\xfa\x00x\xcd\xf6\x8aHH,\x949\xd4_\ +\xf1\x11\x97\xc8T\xff\xee\x88*\xbeS\xa9d\xb3\xeb\x06\ +\xa0\xa7\x7f]Dy]8\xa2\xd9\xb2@QE\xf5y\ +\xb6LDZ\x17\xa8\x8cr\xddQ\xcbG\x05\x1c\xaa\x16\ +\x94Y\xae\xb3\xd6\xbd\x01 (\xe4$D\xd8\xb4\x014\ +\x22>Jg\x80\xebIb9\x16/\xe5\xa0G\xfd\x9d\ +Y8\xfe\x9c\x8d\x90\xfb\xa1\xe7\x0c\xaa\xae\x01O:\xdc\ +t\xf6\xc5\xb8\xe1\x80p\xa7\x83\xfb/13:+V\ +\x81F4\x94\xcfA\x82\x8b\xb8'3\xc9\x9aU\xb6=\ +\x10\x94P:\xa4$d\x5c'\xee;\x1dn(\xce\x1c\ +D\x12\xcb\xe3:9\xc1a\xf6T\x9dZ\x00\x80\x92\xce\ +\x0c\xa2O\x07\xaacu\x9c\xb4;\x04|Y\xe5\xfd\x03\ +b>0\xa2AA\xf2\xc0\xb0\xef\xa1\xce\x0d\x92\x1e|\ +\xa8\xca\x88\xda\x7fx\xbe\xfb5#\xca\xeb\xfb#\x9aO\ +1\x9d\x5c\xd4\xa9=\x03\xc9\x8c\x1c\x09\x00@\x08\x94<\ +\x00\x1d:Z\x5c\x171\xa2\x0c\xdc\xfcl`\x00tG\ +G\x94_\xff!\x22u\xfc\xafU!Ib\xb8JD\ +\x02\x16\x98\xe1F\x8d~\x8d\xe1\xe0\xf4,\xa1\xee\xbfE\ +\x9c\x9e\xa5\x8e\xe2\xd7K\xa1\xff\xf5\xe4\xa7\x0e\xe5W#\ + \xb3c\x22\xd2,\xa6\x00\xa0\xaa\xba\xbeb\x9a\x89\x85\ +2\xfe\x85\x05\xc7\x07u\xb8\xac\x89\xbfT\xdbT\xdd\x17\ +\xab\xd9\x7f\x7f\xa08\x9b\xe2\x89\xd8)\xcc0\xec\xf74\ +\xa2\x00``\xd7\x00\x01\xd8\x88\xc6\x1a@c\xb6\x1f`\ +\x0f\xa0J@\x9e\xcf\x03fa\x19\xe5z0\x22%z\ +\x00\xb2\x129s\x874:\x5c\x17'\xe0?\xca\xeaS\ +T\xc0_\xab\xefyw\x02\xc0\x10o\x85A\x17\xfc\x92\ +\x9f6-\x09:\xda\xb6\xbf\x14\xe3\x81\x82r\xfa\xa5\x88\ +\xa6\x9dc\xf7\x9d7\x94x}y\xdd\xab\xc4\xde\xe5\xcf\ +\xb7\x9an=\xdd\xba\x01\xc7\xfd\xf9\x11\xb5\x00\xae3\x9f\ +\xf5\x5c\xf8\xa4:c\xb7\xa7\xf3\x85\xd1\x8b\x85\x22\x12P\ +\xad}\x0d\xad\x9cz:\xfd8\xad/\xb9\x10\xd9\xcd!\ +\x0a\x8d3\x12u[\xcfIwA\x89rNL\xdf\x18\ +\xd1\xb4\x83\x9c\xe0\x05\x7f\xe7\xdd\x899\x80]\xdc\xf7\x22\ +\x12\xb0\x1d\xe7\xc4g\xca\xfb\xd4\xff\xca\xdf\x7fF\x84\x9e\ +\xa7\x0f&\xe0]#[\x15\x08:,1\xae\xe2>\x9d\ +\x9c4^B\xbc\xf3\xfd\x12\x9b}cr\xab\x09@\xfa\ +S\x09\x08\xf8\xcf\xd0\xa9f\xb4\x0e\xe6Q\xb55\x5c\xa2\ +\x9d\xdf\x8cH\xd1\x11\xf4H\x09\xe7\xadF\xdd\x0c\xb4\x0b\ +0\x040\x98~'\xa2\xbc^\x17\xd1\x80@\x03\xa2\x1a\ +\xf9B;h\xf2\xe7\x88\xday\xac\xfb\xe5\xe4]\x1a\xbd\ +\xbc\xb1\xfb]\xf7\xbbVHw\xb7E\xb4\xf59\xbb'\ +\x22\x89\xb9\xe9~\x97\xdd{\x00.&:\xf7\xafR\x01\ +!\x80\x12&\x8a\x0bM\x15H\xce7\x04h\xf9\xfb\xc1\ +\x14\xc3}K\xaeE\x16O\x85\xda\x8b\xf8\xafT\xc8\xd9\ +\x0f\xec\xea\xc2\x08\x10y3\xaf<\xd7c\xbb4\xfe\x83\ +\x91\xc59\xca\xf9\x0e\xb3%\xe0\xad\xa7\xa7\xc2\x06\x11\xd0\ +M\xc5\x188E\xf7\x9bs\x1eM\x16\x80v\xce\x13\x1a\ +\x5c\x9f\x18\x1aL\xb6\x85U\xa3\xc3b\x8cO\x8e\x90\x1b\ +\xc6v\x8dyg\xa6\x82\x80\xf1\xd9.\x11i\xc4\x8d\x99\ +m\x01\xb8\x1e\xfd\xc3\xed\x01\xcd(\x0aX\x89\xc72\x82\ +2[6\x221\xfa\x18Q\x12\xc3\x17\x11P^-\xea\ +\x0a\xa0\xfd\x88\x91\xf81\xdf;\x06\xb0\xa7\x899\xccL\ +=\xf5\x00ZXt\x80\x01H\xc5\x1cp]F]\xc3\ +\xbe\x22\xa6\x97m\x9b\xd1\x90 \xef\xe4\xfa\xe0\xb6\x00\x80\ +\xc4h\x08\xe2\xc94h\x10uF\xe3\x81\x0e<\xc0\x03\ +\xdf\x8b\x11F\x01\xd5v\x15\x10`\x0b\xb3\xcdy3u\ +\xe0\xd6Z?\x8c\x16|e`\x0c:\xefV}\xe5\xd9\ +w\xb4\x82\x10\xd7#/\xa4^c]S\xe7\x02`P\ + \xc3\xc8b\x84W\xf9\xa3\x9f7F\xb5r\xa3\xfb\xf6\ +$\xa6\x09\xc3\x97\x02\x9d\x9fG\x1e\x0c\xf0@\x83\x82\xcf\ +\xc1}\x84!\x00\x90\x070\xa3\x11f\x03\xfb\xfc|\x00\ +\x00\x98\x8b\xd4\xdfh\x1f1\x92se\xc4\xc3\x8c\xba\xf3\ +\xbc\x09\xb0\x983U\x93\x1b\x99\xed\xeb\x1e\x97\x0a}\xc4\ +\x8c\xa2\x1c\xdb\xa4m(.\xd0\xa2<<\xa4\xf9\xd1\xd7\ +\x89\x96\xdf\xaa Z:Q\x1f\x94\xd8\xd4\xdb\xbdx\xa2\ +\x86\x8c\xd4\x9c\x11\x1d\xf2\xe7\xda\xbc\xcaD\xb4\xcf\xc3\x17\ +\x8a\xcb\xb9X*\xd4y\x1f~\xcd\xec\x07\xff\x0e\x04\x0d\ +D-\x03\x00+&*p\x5c\xc8\xd5\xd2\x05\x03\xa1\xa5\ +\x90#A\x8c\xff\xf7i\xa3\x8c\xb2\xf1O\xda\xb8\xfb\x96\ +\xb8\x1a\x81\xddO3\xc8|\xfe\xb1\x0d\x98\x90\xcf\xfe\x8f\ +\x11\x8d\xba\xd2_\x11\x916\x02\x1d$P\xad=\xf3\x0e\ +\x22\x86\x0f-\xd4mQ\x12)\x5c,\xfa\x87\x8a,\xd4\ +\xb2oG\xa4\x07\x99\x0d\x12\x91&\x16.\x89\x9ef\x1c\ +An\xfb\xb5\xfa\xb5\xfb\xb5\x9b*i\xf7\xc4\x88\xf2\xfb\ +_\x1d\x0aJ\xd4\x98\xe9\xc4z\xd6]\x1b\xaf\x13.\xd9\ +\xa6\xd86\xeb\x7f#\x12`\x82m!\x8c\x05\xdd\x0e\xd4\ +\xc7\x8d\xd8#\xda\xc7\xcc\x9a\x90=o\xb0\x88f\x9c \ +\xa4\xfc\xe3\xa2t!\x1e\xc5l-\x089\x07$\xa2\x5c\ +\x88\xa5 \xe2\xc1\xc6\xc3\x03\xcaF\xc2\xac\x10\xcf\x9b\x90\ +]\xcf]\x9a\ +\x03\xec//U\xc7\xf99\x83\xd8\xea\xe4\x0b\x93\xd3\xab\ +J8\xb6\xac?\x8aH#P1\x83~{\xea\xc0\x07\ +\xb2ks]2\xd3\x05m\x02|\xabu\x0euk\ +\x97X\xa71q\xc2,mV>\xcf\xfc\x96%\xb6J\ +b}/\x8bh6\x96\xb3-J\xca\xe8\x18@!T~\x98\x8e\ +hP\xc4\xfe\xf9\xa4\xd6\x91\xae\x1d\xd6\xb7\xe9\xfc:,\ +5\xc6x\xa5\xe0\xd4~\x8ch\xb3\xf3p\x0a\x14\x98\x95\ +\x14\xfc\xe4\x7fq\x8a\x9c\x9b>\x17\x85\xe6\x18`\x8f\xec\ +\xe8\xe6\x9a\xcf\x0c\xa2r\x88J\xaaC\xea\x02R\xc0\x9e\ +\x0b\xd86\xcb?4p\xa4%d\xc6\xaaF\xe7\xea:\ +\xdc\xa2\xae\x83*\xf6X\x15\xb8\xd6M\xf91\x057\xf6\ +\xa0\xd2\xd6\xa1\xf3K#\x051Z\xef\x1bP\xfb\xe9\x88\ +\xd3I\xdf1\x22=\x970\x90\x01\x82cde\xa1\xf6\ +\xfbt\xba\xd1\x18\xf1\xe8\xcc2\x12g=@LR\xf2\ +BF\x0c\xc3u\xe7\xb0\xb4\x1e6[\xb0i\xbd.\x8b\ +\xab^\xa2\x13M\xa3U\xdf\xcbv\xbb\x14\xdc\x02@\x9d\ +\x0f\x92\xc7\x03\x10 \xbeM\xfe\xc8\x88\x06y\xa3F[\ +L\xe1\x87q)\x86\xa3\xef7\x055\xa2\x92\x8ctH\ +\xbc\xda\xe7\x22\x80\xb6F\xb4\x9c\xcfR\xd0\x92G\xd1\xb0\ +e\xf4\x00M\x0a:\xdd\x8c\xa0\xa8\x8eq\x03\x0a\x91=\ +=\xff\xce\xa3\xc9\xd7i\x04\x01d\x8dEg\x19\xc9\xe0\ +s\xd1\xb8&1\xe3s\xd2\x88\xe1\x95\x863\xeb\x17\xd7\ +\x0bF*\x10U\xe4y\xa2~D\x13\x82<\x02\xa6\x13\ +\x7f\xce\xf7\x12\xb3\xd8\xa3\x22\x00\x8e\xfc=\xf2\x22\x9e\x1b\ +\xbe\x1f\x7f\x0es\x12\xa6?@\x83G\x006\x18\xa8C\ +\x88\xf4y\x96\x95\x0e$\x07U\x94\xcbk6D\xd6\x0b\ +\x89/N\xa1\xcd\x8dd#\x80\xfa\xf0\xa8\x08Qb_\ +\x90\x0af\xd9\x08z\xd4\x00\xc4b\x5c\xa8g\x11\xc05\ +\x92\xaa?_\x8c\x8e?\x05<\xda\x00Y\x04b\xdd\xf4\ +k\x18\x040\x0c\x22\x11Z9\xd9\x11\xe6\x91\x80\x95\x9b\ +\xd8\xe0CT\x1e)P\x00\x1e\xb8\xd1P\xd1YX\xfc\ +\x5c!\xde\x93\xad\xb4`\xd5\x11\xac\x8fwP\x83\x9f\x17\ +\xd1\x90\xac\xfeG\xfd\x8f\xfbHH\xbe\x17\xd1D\xdd\xfa\ +\x17E\x94_\xbfs\x98\xf1\xefv\x89h3\x91\x9e\xf1\ +R\x22\x8c8\x87\xa9:\xeah\xb2\xc1\xfaz\xf3\xc0\x03\ +L\xa8\xd3\xc2\xac\xba\xa9\xb20\x1e\xc4\x14\xe8/\x8a(\ +\xbf^3\xa2v~\xaa\x9f-\x89h\xf7\x9an\x9fn\ +\x9f\xba.\x06\x04q\x15%\x88K)\x81\xc3\xc7R\xf6\ ++\xfd\x9b\x22\xca\xbf;6\x22QK\xd5\xc1\xe8?\x1e\ +Q\xfe\xddZ\x11-\x11\x98\x5c\x1a\xa1Df\xcb\x9aP\ +\x0f\xa2;\xda\x10,\x82\xa3\x990(]\xa6\x82\x22\xb6\ +\xc4\xc6v\x8b\x0eL6j\x1e,\xa8C\x02L@T\ +\xf9sSq(\xe8\xa0\xfa\xf0\xa0\x02(@\x99c=\ +1KJ\xe1\xc4\xcc\xdc}:\xa0\x96\x1e1dx\x1f\ +\xd6\x1f@\x12\x00\x85\x98\x06\x06F\xb6\x8fHv40\ +9\xd0z\x00)\xe6\xf9\xe7?\x0e\x10\x10|\xa8\x8a\x1a\ +]A|\xc9j\xb8h=\xf0\xdc\xd3\xd9\xa7P\xd3\xdf\ +\xb7\xaa6\x80\x12*\xe5\x1c\x1c\x1c\x04\x14\xe4\xf8\xe0B\ +\x85g\xc3c\xa3\xc3N\x8f\x9f\xc7\xfbhTa\xac\xa1\ +\xe0\xfb\xaa\xfb\x89\xba\xb8\xaf+\xb3\x83\x88\x14)A\x85\ +\x1ag\xbb+\x80\x22\xa8\xf5P~a\x08\xd1\xe9\x85\xa9\ +2\xf6\xaf\xa5\xc3)\xaa\x1e\x8c\x01\xd6\xb77nf\xf2\ +a\x5c@5\x13P\xd4}'\x22u\xd6\xde\x17\x91\x0a\ +o\xf9\xce\xe3\xdeQ\xca\xce\xe1s/=\x1cd\xd8\xd4\ +\x99\x8aO\x22\xfb\x0bu\xe0\xb9\xff\xec\xb3P\x9ca<\ +0\xab\xad\xeb1\xddq\xfa\xe2\xe9\x8e51Z\xbd&\ +F\xf2\xed\xc6v\x10\xd9(\xc4%m\xd7\xc79\x03\x15\ +\x9f\xd1\x0f:Gb\x00\xb831\x12\xa9E\xac\xd4\xa3\ +H0=\xe8\x14!V\x06\xf0x\xca\xc0@\xf2,=\ +\x05\x88|\xcd\xbboG\xa4\xfb\xf6sQ\xa2\xd7\x18\x0a\ +\x99\x05\xdf\x18f4\xc3e=f\xf3\xadBN'\x93\ +\x99M%p\x8c\x8aU\xf1\xc1\x9b\xeayqq\x15\x13\ +\xbdx\x98\xf9DL\xc8\xd4Kux\xfb\xf7F4\x11\ +\xb8~\xad\x88\xf2\xfa\xd2\x88r\xa0\x1f\x18!M\x95\x83\ +\x93\xf6\x81\x18\x16\x9eu\x95\xa8\xa7]ip\xcf\xa1\xb3\ +/\xc6\x13\xb3\x97u&zK\x01G\xdb7f\x8eG\ +\xdfpO\xa0#\x07#\x80}\x94\xce\x9c\x80\x02\xbb\x13\ +\x84\xa8\xda2:\x7fWM\x1a\x06\xa8\xfc\xefWb_\ +%\xe6\xdfPB\xf7\xf7\xd4A\x85\x11\x02\x10\x0c\xb3h\ +R{\xaf\x0b\xa6\x17D\x94\xeb\xf2\x9a\x88v\x1f\xb1\x8d\ +\x9d[\xb8D\xf9\x5cs?\x89\xa8\xb6v\xa7N\x83)\ +\xf0\xd3\x88\xd6\xe9\x83\xca\x8a\xb6\x86;?zn\x01\x0c\ +\xea\x88\xcc\xdfD\xb5\x7ft\x15y-!&\xc3]i\ +\x94\x82}Z\xeb\xc4\xd4\xd4\x18\xa19[\x1d\xa5\xbb\xda\ +\xba\xa9\x1d\xf6r=\xbbC\x22\xcakL\xf8\x85k\xc1\ +\x9b#t\x9d^[54\x06j\xf9\xe5\xf2\x09\x7f\xb9\ +F5\xa0\x1a\x9f4\x8c\x82\x00\x8c\xf1\xf9\xeal\xfe:\ +\xed{2B\xd2=7\x221T^Yb\xb7\xa6\xfd\ +S\xc5\xea\xde\x91\x80&\x9d\xe3\xf3\xdf\x8eH\x1dQ1\ +\xa7\x18\xed\x839\xe2\x06\x82\x00\x15\xa8\xe0\x88\x1b\x1a8\ +d\xd4\x0b\x11\xdeG\x0fj\xff\xb6\xcd\x13\x80\x14e{\ +\x14\xee\xd3\xff\x8bH\x8c1\x00U\xec\x1f\x05lP\x10\ +\xc3\x9c\x9b=\x22\xa2\x89\xdf\xf5O\x8d\xa8.2\xf7\x84\ +\x8b\x0c\xcc%\x03\xddt\xea\xc5\xecqg\xf9\x81\xca\x8d\ +j\xa2\xa3q\x0ao\xa6\xb3t\x92:\x8bc\x8d \xf6\ +\x17\xc4\xb5\x05X\x8d\xce\x22\xc4\x00\x00 \x00IDA\ +T\x98\xf1@\xe1\x01c6\x06\xb3\xf6j\xf6\xa9\xf5s\ +_\x96:\xd9P\xeb\xa1\xfcS\xc8\xc0x\xd3s\xdf\x7f\ +>\x22\xed\x8f\x14(\x14\xc6tV\xc9\xeb\xe39\xfcG\ +\x02d\x83\xf1\xf9\xcb\xba\xdf\xbc\xa7\x8a\x82~@\xcc,\ +\xae\x07\xb3\xe8\x88\xb6\xa1=\x22\xa0\xde6\x83h\x0fQ\ +wP\xd8\xd3\x01\xa5\xc0\x87\xe1y\xa8\x0a\xcaSj\xb4\ +\xbc\x05*6\xfb\x1e\x851\x0c\x10\x98\x0a\xe45\xe4\xed\ +td\xe9,\xd3Y=Rb\xcb\xdf\x97\xc8\x1ey\x1b\ +\xa2\xbe\xb1\xae\x16\x95\xad\xe8\xa9I\xcc\x17\x06\x95\xb4\xa1\ +fK\x8b\x81G\xe7\x96\xc6\x06\xdaE\x8c\x86l\x1b\x91\ +\xc4\x0ea0\xc0\x88\xbc\xb2\x9c\x22W\xa6Q<}\x7f\ +\xbb\x92P\xd0\x0b\xa013\x8e\xe7\x8e\x06\x0a\x9dz4\ +\x97XW\xcc\xa6#\xde\x87\xe8!\x94v\x1a\xc5P\xfb\ +\x11\xc9\xbc \xa2i\x5c\x98\xd1\x02c\x84\xf7\x1fS\xe8\ +\xa9\xa3\xb8.4\xbe\xc8\xa3\x18\xb5\xe0?\x1a`t\xd8\ +i\xe0P8\xa3\xf5\xc5\xf3\xc2\xbaW\xc1\xecF'\x8d\ +]\x0a\x7f\xf21F\x01\xe4\xd6b\xad\x07\xce1D\x1e\ +\xb9Nh$\xb0\x8e\xd0\x0a\x91\xf8\xa2\x7f>\x0c\x0a\xae\ ++\x8ct\x80r\x98\xf4\xacw\x00A\xe5\xf3\x88\xecb\ +\xa7\xe9:\x0d\xc62u\x07\xa3\x92<\xc7<7\xe4I\ +\xfa9st\xe2M\xf9\xa3\xa0\xa7\xf0\x1e\x8b\xea\xf1`\ +\x92x\xd1i\x872\x8f\x98`\xdc\xd6\x7f\xea\x86?*\ +Q\x22\xb8\xe0\x14\xee\xf1\xf7\x17M\xef\xc7\x8dG\x95\x9f\ +\x8e\x0b\xd4\x7f\x12s>\x0f\xf6\x1aR\xbb5\x80@\x87\ +\x8d\xc2\x1b\xb7\x01\xdeO\xaf\x1e\x0d\x08\xc2\xc93\xd2\xcf\ +\xcf\xb6\x80\xf9s\x83\x90.\xf0f> D\x00\x03c\ +q\x08D\xd7\xa0\xce-*@`\x1d\x15(\xf8\xca?\ +3\xa2l\xc4'D4\xaa;\x9du\xdb\xd20S\x0a\ +\x05\xf9\x07\xc3\x0c\x1f\x88!\xaa\xd1\x16\x8dCdO\x9d\ +:k\x07@-\xd5\xac\xafg?\xe9\xfc\x83\xd4\x0ai\ +\x05\xa9G\x85\xd7\xb3W\x88\x0d^)\x91\x9fW\xea\xfd\ +\x995G}\x1a\xf1\xc0]g\xbb\x85\xaf\xf1\xecyC\ +\xa2\x18\x04\xd0\xa0\x80\x22\x22h\x1fMm\x84\x16\x1f\xd2\ +F\xc8\x83c\xbb?}\xae\x98\xd8\xab3{\xa8\xe43\ +\xa3{\xde\x00\x18t\xef\x8eh\xd4k6\xc2\x92\xde\xaf\ +\xda\xadZ\x0b\x9da\xa6h\xbd\x88\xa4\x96\xfeOmP\ +l|ldl\x80z\xb0\x8d\xa4S\xf0\x91 0\xa3\ +J\xe14\x16\xc7!A&!`\xa6J\xa3#\x16c\ +D\x85\xfcSJ\xd0A6\xd9p\xd8`\xa0zK\x0b\ +\x80\x0eL\x7fKD\xbb\xbe\xb3\xf5#\xd2\x0c\x1e@\x03\ +\xa2m\xcc\xc8i\xf6\xd0b:t\x08y\xbe\xd80y\ +\xceX\xf7\xa8\x1d\x8bR\xe5\x04F\x09\x13\xeb\xc3\x05?\ +\x856\x8c\x14\x12\x0df\x86\xa1\x84\xa93\x89\xea\xb0;\ +\xe4\xecC\x8c\xac \xf2\x08\x10\xc7\xf5\xa1\xa0\xe5\x00\x22\ +A\x10\xb5\x94\x84\xd3\x0c\x11\x80B\x0e(\xfc\xec\xf9s\ +4\x1c\xa0\xd4s0`\xe3\x86*=\x89\x1e\x88-\x85\ +-\xae\x0c\x1c\x14\xcc\xe4\xab\x83`\xf7\x02\xd4\xb4\xd5A\ +\xf3\x08\x03\x1dG\x0a9:\xb5P\xfc\x18\x01`=\x8e\ +\xc5.\xb5>\x99\xd9.\xe9I\xb53\xec\x0f\x8d(\xef\ +s\x99\x0a\x091\x08\xba\xa5#\x9a\x96\x80\x19\x05\xea\x0c\ +{4\x87\x0e\x83F\x18\xba\xe3\xbbOt\xc7\xd7\x84\xe1\ +\xd0\x9a0H\xbc\xcf\xbe\xc0\xea \x90@\xb0n\xe6\xbf\ +\x16\x91\x0eru(|\x1d\x01f\x98\xed\x86Z\x8e\xab\ +\x05b~\x8cV\xe0\x0a\xc0L\xa74\x0b\xbc\xcf\xc3\xe8\ +!q%A\xe1\xe7<7\xa2\xceN\x0f\xb6\x90<\xb7\ +\x00\xac\x9a\xd9\x9fl\xafBY\xd7\x071@D\xec\xfc\ +\xbehD\x1c'\x00Sv\x99f\xaa`\x97\x080\x84\ +\x18$\xf6\xbb\xdc?i\xc0\xf4\x87D\x94\x02\xe8{%\ +\xbe\xdbF6\xac\xa1\xc2\x0c5\xf6\x82\x12\xdd\xeb\xb6\x88\ +h\x9f\x07@\xc7\x89\xa5:\x0fhB\xa0:_\x13\xfa\ +\xf3Rb\x0f\xe0\xa6\x82\xcf\x05.\xa2\x8d\xb8\x07\xf0\xbc\ +\xc4>\x1bb\xae?\x19\xfc\xdek\xc2\xb5\x5c\xa3\xf4\xd7\ +s\xebkb\xbc\xfcOJx\xa4\xc9\x80\xbd\x1d\xaa\xe7\ +\xfd?J\xfcS\x1a5!\x06\xf8\xa9\x88\x92\xe8\xbc,\ +\xa2\x15\xfe\xd3\x8fDHd\xee(u\xd8\xcb\xba\x9e\xfe\ +)\xa2=\xc7\xf3\x1b\xcdo8\xbfa+\xac*\xecy\ +\x95\x12\xea\xb3\x92\xa8\x22\xc0$\x1d\xec\xe8X\x7f\xa7\x89\ +\x05\xd7\x8e\xfc\xbb\x9bo}\xa5v^\x9fD\xf8\x82\xb7\ +q\x90\xf6\x85gkT\xe5\x96\xc6\x0c\xe8~\x1eQ^\ +\x7f\xdd]\xd3\xfd\xba\x8a\xdd\xfe\xbb\xfb\xb7\xc4\x0aW\xae\ +\x00\xd7 b\x85\xdb\x06\x1d:DG\x11\x9be\xffz\ +\xbb4b\x96\x15\xf0\xa6\xce~\xfc\xeb\xa0^W\xe6\xd6\ +N\x8d\xb1\xe2\xf3X6\xa0\xb8\xd2\xb0o\xb9C\x8fm\ +-.\x00*d\xba\xedJl\x9flF\x05\xe0\xf5\x97\ +D\xa4\xefO\xe2\x0d\xb3\x87\xc2S\xc0T\xff\x8e\x88\x06\ +4L~\x1a\xd1f`)<\x18\x91\xf1zQ~f\ +\xd1S\x00\x01=\x0f\x16A\xc5.\xebU\x11\x0d\xb0\xed\ +\x0e-\xf9\xc3\xa1m_\xedO\x8fH#\x85\xccL\xc3\ +h\x0c\xb7\x8a/\xa6s\x1f\x86%\x1a-\x17\x0d\x80\x9f\ +\x996\x8c\xech\x1f3\x15\x19*=b\x96\x9c\xf7\xe4\ +\xb9\xcc\x9a\xd3\xc0QC\xcd\x9db\x80c\x1a\x02\x14\x14\ +\xb8\x9bH\xc4\xd5\xd4\xfb\xd1\xf9bq\xbb\xacZ\xbfD\ +\xd2\xe4\x02\x08^}\x00x\xabH\xea\x09\xa9s\xce\xcc\ +9\x9a\x11\xb2_4SH\xa3\xa2\x88\x10\xce^!M\ +\x01\x9d{%\xeb\x1d~\xcd\xe8\x19\xee-\xe4\xdbj\xac\ +8\xaf\x91\x08\x9e\xef\x1f\xc0\xb7D\xe5\x5c\xc8\x91\xbe#\ +:'\xca\xbbGe\x1f\x90f\x83\x1a\x1c\x93\xbf\x8b\x89\ +D\xfd\x00\x10E\xfe\xc4\xe84b\xa7\x88\x9ab\xab,\ +\xed\x0b\x8bY\x0a\xb0q\xfd\x00\xa0=\xa6js_\xb0\ +s\x06\xa0\xf8\xe9\x82\x9fT1\xc1\xc7W.[+8\ +7\x8fh\x05\xe2\xe4\xca\x88\xf2\xeb\xcfG$\x97\x00\x80\ +5\xea9\x00\x0b\xd6\x07\xbf\x06\x08\x81i\x09s\x83\xfc\ +\x81:\x11\xa6\x1c\xdaT\xe4\x1d\xe4\xb70\x08\xd0\x12a\ +\xe6^\xff\xce\x85*\xeb\x94|\x0b \x03F-\x80\x1d\ +\xdf\x93\x0e;\x0d6\xf2tF\xd3\xc63\xfa\xe4\x99h\ +\x0ad[\xf9\xe5S\xfe\xca+\xdf\x8f\xbc\x92\x91\x17\x18\ +\x04\x00\xab\x12-\x87\xe9\xe1\x06\x14\xfb0\x9f\x8bQ!\ +1\xdcm\xcb\xc7\xdf'/\x05\xd8\xc9ZsQ\x8f\xfd\ +3\x221@\xb8^0\x19\xa87Y'\xfc>\xfb \ +\x0c\x09\xad\xdb9\x7f0\x90>\xa8\x12\xccd\xc4\xb2^\ +F_piQ\xa3\x9f\xf3P\xca\xac;\xa0\x88\xf0\x91\ +pC\x85g\xa1\x89\xf2\xe7WF\x01($\xb8\xe0\xf9\ +\x06\xad\x926\x9c(3\xd6J\x1a\x05<( \x7f|\ +.\x1e$\x0a\xfaq\xe1Og\x8d\xc2\x07$\x10\xca+\ +\x0b\x17dh\xe4\xb3h\xc4\x86\xeb\xc5+7l\xdc)\ +>*\xa2Q\x84M1\xbaC7\x9c\xeb/\xc4\x0eq\ +(\xdf\x07\x12wD\xd4\x04\x5c\xcc\xb41O\xe8\xd8-\ +\xa1\x8e\xba:\xa7>\xf0\x10\x0d\xc1w\xfe1\x9a\xed>\ +T\x94PD\xa2\x04`@\xb5+ie\xddHJ\x99\ +6P\xbe\xb0!\xd9@\x1a\x0e\xd8\x821\xe3\xaf\xc2\xcc\ +v>B\xa0\xfb\xa3\x22\x12\xe2\xc5F\xae\xd9\xd0\xd9\x09\ +\xc3\xac,H\xf4\xf4\xbd\x11\x09\xd9\x123\x82\x03\xaa\xbf\ +:\x22}\xeeQ\xe1i\xed\x01:\x81\xa2n\xc3p\xb0\ +\xdf\xfb\xf2\xc3:1\xe5\x8f\x82\x86\xc4\xe0/*D\xd1\ +Z`f\x89\xc4\x9d\x99T\xee\x0f\xa3\x000\x01\x98u\ +d\x03d\xc3\x01\x08\xa0\x90!\x81\xc0\xaf\x96\xf5\xc1:\ +\x93\xf8\x947`(\xe1tD\xa1\xf6\xa9\x83`\x11\x13\ +\xdc\x1b\x00(\xa0\xf6\xa3n\x8e]\x1d\x07'\x1d\x19\x90\ +r\xc4\x80@Z)\xf4\xd9\x08Ip\xa0(j\xc3\xa5\ +S2\x9b\x8bh\x80I\xff\xd9\x88dC\x07`\xa6\x11\ +\x15S\xca\x7f/J\xe6\xab4\x1b\x1e\xc7\xf8c\x13\xa5\ +\x0dD\x5c\x1a\x14\xa6\x14\x03\xc0\xc0\x88`6\x8c\x03\x80\ +\xf5\x81M\x9c\xd4\xa6)(l\xcf\x87F\x09@##\ +!\x88\xb8\xd0\xd9A$G\x85\xb8\x7f\x9f\xfd\x04\xd5{\ +\x0a7\x9e\x1f\x90pD\x92\x00\x1a\xf8\xbczN\x5cH\ +i#\xb7-!\x07\x1c\xb6;\xcc\x00\x03(\x88\xc2\x87\ +\x0a\xb955X\x9f\x12#\x9b\xfdY\xe2I\xa8)\x0b\ +\x88\x04I\x9e\x5c?\xf9\xed\xe4\xb7M}\x1e`(\x06\ +\xa4\x020F\xc4\xd3\x1d\x8b`\xfe\xfc-i&\xbc\xae\ +$\x04\xaf\xab\x09\xce\x1b\xeb\x08\x01#\x10|o\x15\xda\ +\xdd\x99\x11\xe5\xb9\x7fFD\x13M%1\xeb7\x8bh\ +\x05\xbc\x9f_\xb9\x9eX\xb3\x81\x99E\x0eH\x98*\x8c\ +@i\x9dC\xe9gt\xc2\xcc&1plozg\ +\x7fW\x7fW\x15;\xab\xcc&\xd4\xd4\xbb\xe3\xbb\x13\xba\ +\x13\x9aZ?@\x96ER\xe9\xb0\xee\x1e\x90hZ\x8f\ +\x00#\x01\x1b<\x90:4\xea\xa0O/\x99^:\xbd\ +4\x8d`\xd0a\xa1\xc0AU_\x09\x87\xddR\xd8\x9f\ +\x18\x85\x89\xeb|\xa0\xd4\xeeoi\xcc\x1fD\xdf\x00\x14\ +\xad\x19\x82(b0\x0e\xbe!&\xd5%Z/w\x08\ +\x10zW+P\xba\xd7G$Jw\xec\x1bw\xb6\xf3\ +\xb4\xfe\xfe\xe7\x94\x1f,\x93\xf6;:u\x1a\x15\xac@\ +R\xb9\xee\xdd\xd3\x22\xf4\xfcm\xadQ\x97\xf2\xb9\xba\xd5\ +#\x92\xfd\x19\xd4N\x0a\x91\xe8s\x5c\x92\xd4\xb5\x83\xff\ +\xf3\x99\xa6\xfaNa\xda]Q\xa2\x9cSs\xcf\x8e(\ +\xd7y\xe1\x12\xd1\xf9\x7f{\x89Rxv\x97\xc7\xdf(\ +\xbf\xff\xb8\x88\xd4qb\xbf\x91\xc8c\x85\x15\x9f\x994\ +'\xfe\x15\xd1:s0b\xea\x88\xc7#\xdbs\xd7m\ +\x12!\x8d\x8c\x8f\xd5\xd9\xe8M\x83\xaa\xdf\xef\x16\xa1\x0e\ +\xe9\x99\xa2\x8a\x7f\xaai\x01\x98\xf2\xff\xfb\x88\xf2:)\ +\xd1\xb5\x99\xfd\xee\x9b\xdd\xb7B\x13\x00\xca\xbf5~^\ +\xaa\xd9\xde\xef\x08\x80!\xf1=]\x89\xfc:R\xe3\xd7\ +\x08a\xb5\x85\xbaj\xd8\x1fC\xc3`\xba\xdat\xb5\xee\ +\xd5m4\x05\xe6\x10T\xden\xdd\x884\xab\x1a#=\ +\x1f\x12\xd0\x18\x8c\x91\xff\x94x\xa01\x18*\xfe_\xd6\ +m\xbfm\x89\xe7j\xff\xbaSL\x9b\x7f%{\xd0\xc8\ +\x0a> \xa0b\x97\x06\xac\xf4\x9f\x89H\x8d\x18\xfe\xbe\ +\x9eo\xdbS\x8a\xc1\xca\xc8\x95\xff>\x22tz\xce\xb9\ +\xfe\x14\xd6\xb3\x95\x22Z\xa3\xc5\x9d_Fe\x04|\x01\ +\x80\x18\x98\x85Q(\xe0\x10\x86\x86\xdd\x1c\x040\xbb\x10\ +\xa6\xd0\x80:\x0cuZ\x1d`\x18\x9a\xee\x18\xa3q\x02\ +\xc3\x8ds\x17M\x22\xad?3\x0du\x0e\xc4\xdd\xa8#\ +Vo\x98\xbc\xbe\x02\xe4hy\xa1A\x02c/\xf8\x9d\ +\xa7\xaa\x10\xfbp\xda/\xc7\xd4oD\x90\xd1\x8e\x02\xb8\ +P\xden\x1b\xe0+fW\xd6\xfcO\xdf\x17\xcd\x97\xd9\ +\xda\x12#f\xbd\xbd^\x0c\x22\xbd_\xd9=\x07\xa6\x9a\ +\xce=\xbb.q\x9f\xb1\x85\xa4\x8e\x801\x89\xdb\xcf\xbe\ +5\xda>\x0c\xa3\x04{g\x8d\x86\x01\xc4X\x0d\x1e\x9b\ +D\x9d\xbf\x16}Cd\x17J\xbf4\xaa\x5c\xb0\x93\x17\ +\xd1\xa8\xd0\xbe>[2\x22i\xfc\x008s\xee\xc3\x94\ +\x86AM\x81H\x9e\xc1(\xa1\x80\x11S\xdb\x19\xe1Q\ +\xbd\x83\xf8\xac\x19\xbe\xec\xaf\xd4\x11\xe4\x9304\xc5l\ +q\xde\xc7\xcf\xa5\x9e\x00@\xa7@\xe4z\xd1\xb1F\xac\ +\x9c\x82\x9d\x91\x0e\xea#\xe5G\xb6\xd3\x83y\xc3h\x09\ +LE^\xb9\x8f\x14\xfe\x14\xae\xe4\xd1\x8cF\x09P0\ +s\x14qr\xe5\xa1fT\x8d:\xdd4\x14\xfd=Y\ +\xc7\x00\xf9\xd4O\xbc\x1fLp\xc4\xa1\x01\xc2\xf8\x1c\x00\ +\x0e\xac\x0f\x98\xa7\xe4u\xba\xfe\x16\x81\xc7v]n\x0e\ +\x06^\xb8^h.(or\x81\x8f\x1b\x09\x80\x06\xeb\ +\x9c\x06\x08\xf7\x15`\x06\x80\x08 \x01m\x1c\xf2|\xae\ +\x9b\x80\x03\xdb\x9d\x0a\x90\x9asG\x1dJ\x1a\xd4\x03n\ +\xc4}\x95|\xdc\x0a\xfaX^\xf7\xa7\xbfGB\x19\xdb\ +\xd3#R\xa1M\xa1LB\xce\xaf\x97\xaa\xa4\xef6{\ +M\xa7&:\x1a\xcfM\xd4\x1a\x0a\x0d\x10)u\xf0M\ +\x0d\x8de\xb5\x9en\xdc\xe3\x93{\x01\x00\x00\xaf\xd9~\ +i\xdd\xd6\x11w\x82\xcf\xe7\x05\x81\xe1\xe7rp\xf0`\ +1k(\x0a\x86\x11H\x0a4]?\xfb6\xb21\x08\ +\x101\xc5FH\xe6dg\xcd\xa2\x89\xf2\xe8\x1b\xa3\xd9\ +;'\x80\xd8<\x1c2\xcc\x1ez\xb6\x13U\xe37\xe9\ +\xfb\xac1t\xea\xfaS\x22\xcaA\xb4LD\x9bY,\ +\x9b\xe4@\xe5\x7f\xf50\xfbT\xd2\x84\xda\xd9\x9f\xfca\ +r\xeb$\x10\xb5\x0b\x87D\xc9j\x92\x17\xa9\xd3.j\ +.\x88\xb7\xa9\xe9\xd7\xeaA\xbeV\x08\x93\x0a\x14\xfb\xcf\ +*a\xae\xae\xc5\xc7'j4j\xcaB<\xdd\xd9D\ +UU\x1b\x06\x09\xaa\xedi\xb4A\xf6\x1f\x8dh\xb3\xe0\ +U4k\x85\x04\xb80\x83\xa8\x19u\x90\xe1\xfe-\x11\ +\xed\xfbM\x8f\x8b(\x7f\xbe\x9b\x18\x09\xccx\x81\xf4\x81\ +T\xfeL\x14WTE\x7f\xac\x8d\xff\x94\xe1\xe0\xf1\xc8\ +\xc3\xe7\xb4a\x1c.\xaa\x14\x1a\x05t\xa6wV\xe7e\ +\xc3\x01\x98)O\xde\xb0n\x10\xaf\x83\x91\xc1A\xaf\x04\ +\xd3\x22/\x14\xca\xcc\xdc\xc9\xae\xc7\x1b\x0c\x88\x1f\x1b\x0f\ +L\x0f\x00\x80>\x22u\x16x~\xe9\xe8spp\xa0\ +\xc2\x0c\xe19\xe1\xf9\x87\x8a\x0d\xb2:\xb6\x09\xe5yU\ +'\xd6\x00\x1d\xff\xd1\xd1\xa7\xc3\x0a\xa5\x9d\x0e'\x89\x13\ +\x098\x07\xa76Z\xec\x9e<\xdb\xcf\xf3\xcd\xc1\xcc~\ +\xc4\xf5\x00\xf9d\xe3\x1dQ\x04\xf1\xd9%1\xf4\xf5Q\ +a\xcd\xfa\xf4\xc1\xcd\xfb\x00\xe4\xb0_p\xa0\xf1\x0ar\ +=\x02zf7D\xa4\xe7\x1b$\x1d\xca'\xda'\x5c\ +?\xc4\x13\xb1\xcb\xa3\xe0\x83\xc2\x88\x9f;\x80)\x80!\ +\xf7\x0b\xdbF\x89]\xb9S\x04\xd3c\x0b\x15\xfc\x1c\xf8\ +\x00tt\x90\x16\x11%u\xa4]Q\x0e\xfb:\xb3\x88\ +x(\x9d9\x03\x117\x96]\xeb\xc6t_6,?\ +u\xc3\x04X\xa1N\x8f\xfd\x8e\xc4\x0bK\xd9\xf6\xae.\ +:\xb7+G\xa4\xfbEG\x08\xf1%\x008l\xe0\xd4\ +\xc9\xc7\xde\xcf\x1d\xc4\x91\x8d\xabg\x0aQ\xbfW\x01P\ +m\xbc\xe6R\xc1\xad\x99]\xef?\xea\x88\x18\xc0\x9a\x0c\ +\xcb\xb9\xbb\xac\x94\x8e\xa5\xb0\xec\xee\x8bH\x9dDiK\ +`{\x86\xa6I\xf7\xc1\x88\xd6\x91\xe9\xae*\xf1\xf3F\ +i\x9f\x9e\x15\xd1\x0a\x98\x90d\xab\xe2\x92gN\xce\xa8\ +\xa3J\xd1y\xbf#\xd9\x171#\xc8\xa8\x9dF\xa0\x5c\ +\xa8\x85H\xdc\xb7\xe4\xfb\xbeM\x1b\xed0\xc3ddW\ +f\x8d\x04\xd4\xf6u=\xa7\x9f(q|\x13\x1f\xabi\ +\xf4\x974K\xbe\xb6\xfc\xb6\x9f\x92(\xf2\xc2\x7f\xcd\x08\ +\xd4s\xee\xd9\xd0\x8b\xaa\xdezc`\x04,\xf0\xd9D\ +\xe9\x96\xcd\x94\x13hfC\x83P\xfe\x8a!\xa1\xa9\xe7\ +16l!v\x17\xee17\x97\xb8I\xcf\xc5\xf1\x9a\ +]\x8fY\xfcc\x22\x94\xc0\x86\xbd\xe1r%\x96\xaf\x9a\ +\x00\x8bN\xcby>\xb7eD\xf9\xfd\x17D\xb4\x84\xc9\ +\xf6\xbd\xec\xbf\x00\xa1\x8c\xec\xc0\x90\x01x\xc5\x16R\xa3\ +\x0ea\x8aYm1\xb5/1\x02C\x01f\xfb\xe1\xe0\ +q|Q\xc0\xeeW\xd5A\xfcp\xd3\x22\xa2\x01C\xa1\ +\xdf\x1d\xd4\x1d\xdc\x95\xc4?\x9e\x96x^\xdcQC\xf3\ +\x03 \xeb(i\xa9\xbcW\xbf\x0f\xe0\xac?GD\xb6\ +\xb6\x01\x0e\x91\xd8\xde5*xOl\x80\xc4l\xd1\x88\ +\xf2\xf3^Yb\xf7t\xdd\x83\xfa\xff\xa1V\x18\xd7\xf3\ +\xe8\x1a%\xaa\xb76{\xc3~\xbf\x12\xafm\xeb\xb0\x02\ +\x07Ae}vD\xa2\xd2\x06\xe31\xb4\x1en\x8f(\ +\xff\xee\xf0\x12\x87\xb5Nu\x7ffDy\xbd-\xa2\xcd\ +\x84\xdb\xcdC\xaa\xe6!mZ;\xf0h\xce\x088\xc2\ +\xbe\xd6\x8c\xac\xb1\xff:\xf6|a\xb3\xb8y+\x84g\ +\xa7D\xa4\xfc\x8e\xbc\x8f\x91\x85\x97D\xa4s\x09\xe6\x05\ +ZGZ7e5U\x0d\x8f\x80\xc7\xea\xfd\x02\x08\xa6\ +\x93\x07c\x92\xc2\x84\x82u\xa4Bo\x17\x0e\xee\xb3\x80\ +\x1f\xb4(8\xdf\xab\x88\xf4[\xea\xf9P5\xbd\xd0z\ +\xa0\xa3<;\x22By\xdd\x99:\xcf\xe7\x92M/y\ +\x01\x05\xeah4\x80\xd1\xcc~\xdfr\x7f\xcb>\xda\xaf\ +\x14Q^\xffo\x18]\xc5\xf6\xd0\x22\x8f;\x88\xe9\x05\ +U\x99N\xaa\xf2B\x8b\xe6i\x14\xcb\x9dv\x0a\x9c\x03\ +\x06&Q\xc9j\xeb\xe8\xabm\x1a\x11K#\x7f\xe1\x9c\ +\x160\x83\x1b\x89\x01\x1c1\xc2\x00l\xad\x05\x81\xad,\ +n\x1d0B\xaf\x8aHy\xd7\xde\x11I\x8c\x9b\x11$\ +\x9dO\xfd\xd6\x11\xadpd\x14\xc6n2\xfc\xa7\xf5\xe3\ +\x82\x8d\xcfO\xdeC\x83\x81}\x97\xbc\x09@\x06\x95\x7f\ +\xb4t`\xd8P\xf8\xc5\xfd^#\xb9@\x91g\xaa0\ +\xf6:\x17\x03\xd8\xa3\x184F\xd5\xf8\x9c\xac\x11\xd1f\ +\xf8=\x9a \xed*3\x0a`\xacR(S\x90R\x80\ +\xa3]\x81&\x00\xee\x0c42\x01\xe4\xc8{G\x0dX\ +\x8f\xb6\x90g\xc0DV#\xc8\xa3\xbdh|\xf0\xf7h\ +\xc4b\xffI\xdeE>C\xfe:\x16\xa3'\xef!\x8f\ +'\xbf\x22\xaf#_\xa2q\x0d#\x90\xc6:@\x1fy\ +\x08y!\xefK\x03\x8d\x86\x0e\x9dS\xde\x07\x00\x80\xfa\ +|D\xf9w\xe3\x0f\xc6\x00#?\xack\x1a\x85\xca\x0f\ +i\xac\xb0\x0e\xe7\x8cX0kA\xc2\xce\x81\x87\xc8\x9d\ +4\xaa\xdc\xe9f\x03\xe4\xa0_\xa8\xea\xa9\xb7N,\x89\ +0\x94%\x5c\x00(\xacI\x0c(\xa4\xb9\xf0t\xda\xb9\ +p\xa8V\x86\xca\xe9Zi\x96\x9f\x82\x1d*v\xb6\xef\ +[.\xd9\x02\xea\xd7\x951\xb0f\xea\x98\xb1\xc0\xa5}\ +P?\xf5ji!\xe8{L\x96\x8eH7\x9e\x1b\xcd\ +\xe7\xe5\xf3SP\xf1\xfb\xdcH:\x15\x5c\x17fp\xe8\ +\x0c\xd3\x01\x97\xdd\x9a\x13O\xa8\xd3P\x99(\xbc\xe9\x88\ +C\xb5c\x06^\x85\x03\xb3p\xa8O\xdbW\xf4\xab\xc3\ +\x88@\xf0\xf0\xeb\x0d\x13E\xb9\xbb(\xa2\xa9\xf2\x1b\x11\ +\x95\xad\x97)b*\xdc\xfa\xdfE4\x15\xf2\xb2\x0d\x0c\ +\x0b\x0a\xb5[u\x82gk\xcd\xd6\x9ee\xdb\xc8\xd3\x84\ +\x18j\x01\xd3\xb9\x9f\xbd9\x22\xa9D?c8\xc0\xfb\ +/F\xb4\x02\xab;?\xa2\x15l\xfd\x96\x11\xa9\x90A\ +%6fr\xd7hv,0/\xba\xcd\x22\xca\xf9\xb6\ +~D\xbb\xae\x16\x95\x89\x03\xe97\xad\x83\xd6_\x1e!\ +\xea\xe2v\xa9\xf3\xcf\x83\xcb\x86&\x91\x99\xfe\xae\xfe\xce\ +\xfe\xce\xd6\xf9\xb3\x1a\xb4\xc42\xedS\xcd}G\x0d\x16\ +\x7f\xf3\x13\xb5\xb1C\xd9\xc5-\x81\x8e\x1av*\xac/\ +\xd6\x13#\x0ft\x16T\x98\xd2\x91*\xc7\xd0s\xfa\xe7\ +T&\xc7\xa0\xdeO\xe2\xc3\xa8\x00\xf6~\x9a\x15\xb7\xb8\ +\x0f\xcf)L\x18f\xf6\xc4\xa4@\xc4\xcdL\x1b\x98/\ +0y\xf89\xda\xc0L\xbdC\x94\x87D\x14\xe0H\x9a\ +\x04\xb6/dd\x80}\x89\x82\x5c\x94z?\x17\x88\xe8\ +q\xa0\xc8\x9e\xd2\x9f\x9f\xe7\x99\xd9-!\xeaN\x1c?\ +\x19\x91\x0e2\x90W\xc4\x894k\x08\x00\xe0\xd1\x03\x90\ +i\x12$6x~\x1e\xeb\x84\xfb\x04UR\x09\x05\x94\ +h\x17\xf2\xf8/\xb3\xef\x01L\x02\xc4r 0k\x0f\ +\x03\x8a\xce\x00\xfb\x83\x124\xbbzH4\xca#\x02\xf8\ +\xcf\x0a8\xb0\x0b\x81\x12AFz\xe8P`Se_\ +d\xad\x87R\x0e\xd4\x19\xdc\x98\x1c\xae\xb3\xc3'\xceN\ +\x9a\x9d\x94\xa8\xdc0s\x18\x1d\x01(!\x11>@\xd7\ +\xef\x1f\x02\x88\x11\xf9\xb9v\xb0o\xeb~\x10Q;\xba\ +\xc3\xbf\x17\x02>\xbfCDK\x8c\xbc..\x19\xd4\xfe\ +M\x99g\xdf\xe6\x1c\xe3z\xea\xe7xV\x1d\xa0\x89\xfb\ +\xce\xe8\x06\xb6L\xb8\x13\xe8>\xce\x16\x8bH\xc0\xda/\ +\x06\xc4\xbe\xceB\xbf3\xbd\x9f\xde\xc7\xd4\xd6\xaf\xc8w\ +\xfd\xcb%\x01\xf9rR\x1f\x8e\x0e^\x88\xb2-\xd6-\ +\xde-\x9eF8P\xaf\xff\xcb\xe4\xcf1\x8a\xc4\xba\xf5\ +~\xcd\xb9\x88O4\xeb\x80\xd9^\x01 \xdd\xc2%\x1e\ +\xd9D\xaf\x5c\xc8\xc4\xebgS\x01\x1a\xa7\xcam\xc9^\ +\x0fU\xf5?E$\xdf\xe7\x807\x0fO\xa3TQ~\ +\x04\x03\xe7\xcb%\xce\x16P\xf2\xb9d\x0b\x1cO\xd5'\ +\xb4O\xed)\xd1\xcf{\x1a\xd3\x84\x8e\xafg\xc8\xe5\xd2\ +P\x81\xda\x0d\x938\x12>\xd8%}\xaa\xd4\xd9/,\ +\xf8B\xa5\xb8\xde\x14\xd1\x0a\xd8\xe9\xfd\x11\xcd\xbd\xa3\x16\ +d\xdb\x88\xea\x7ft\xa2x\x87\x88\xe4\xeb\x9a\xe6\x04\x8c\ +\xb7\xc9o\x22Z!8\xfdkD\xeax\xc7s\xf4`\ +[_f\x8a\x09P\xa4#\xdb=\x18\x91\xf2\x03\x9ec\ +DF\xc3%a^\xeb\xee\xd6t=\x02V\xbf6\xd9\ +-j_E\x0c\xb0v\xba\xefMb\x5c\xccv2R\ +\xc4\xb9\xad}\xca\xfe\xf3{\x0e\x8c\x16\x18F\x9e-?\ +0B\xeb\xfd\x87\x0d D\xc3\xc0\xf9\x98\x80\xdf\xda\xe1\ +~W\xd2`\x89S\x7f\x9a\x18K?*\xf1C\xd9z\ +\xbdI\xa3E[\xa6\xf3R\xcf\x85\x01nF\xfbPw\ +\xa7\x83\x1b\x05\xdf5\xfa\xf3\x9f\xb5?\xb7\xcb\x09\xd7S\ +\xfb\x8b]1>\x1c\x91T\xf1\xc9\x83X'\x00\xab$\ +\xfe\xa3\x02\xd1\x22\x99\xd8\xe7\xe1\xaa\x01\xd3\x95\x82\x10\x97\ +\x07\x18\x02\xb8\x81\xc8u\xc3\xb3\xd8P\xc35\x1aR\xb2\ +\xbc\xaa^\xef\xbc8\xe0\xd0\xab\x9b\x9b\x8aG\xd78\x17\ +\xd8\xf7\xc7\xfe\xe0\xca/l\xcb\x8b[\x0c#\x9ck\x88\ +\x1a~\x81\x0a\xe88\xe77I~\xea\x00r\x12\xb1\xac\ +\x00\xf0\x1b\xda\xb9h\xe0\x1f\xe6(y\xb6\xf6\xb7\xfe\xd8\ +\x12\x1f\xa8\xaf\x1f\xec\x8f-\xaf\x8f\xec\x17\xea\x17\xaa\x85\ +x-\xecg\x0b\x8bI\xa1\xeb\xec:\x03&\x1e\xff\xd1\ +\xf0c\xdf\xc2N\x14\xcd\x82\xefi\x14\x01@\xfa\x1eu\ +B\x01Xb\x84\xe6\xdfiF\x1dw%4r`\x5c\ +\xf1\x5c\xc0\xacT\xc7\xdf#\xadb\x92\xb9`\xa5\xc3\x8c\ +\xdb\x0e\x22\xa5\xe3\xf3\x1d\x06,6\xdc\x02\xdc-n,\ +\x06*n[\x1eIC|S\x8d=\x03\xe30\x01\xb1\ +k\xe39\x93H\xa0\xc5\x7f\xb9\x1f\xaa\x83\x98\xe9w#\ +Q\xda\x5c\xb8\xb1\x90'\x87BMh\xd4\x18\xf8S~\ +e\xfbE\xd6\x1b\xf5\x0e\x05%\x0cZFgp\x8f9\ +i8\xf7=\xda\xc9\xa8*\xe7\xe0\xa8\xe3\xcfh\x97\x0b\ +l\x1a\x12\x00Y\xa7G$\xa6 \xf9\x13\xccH\xd67\ +\x8d\xb2q\xfe\x89\xd81\xee\x0dW\xab\xc0\xbeL3\xf1\ +\x5c_\xf2\x11\xf2[\x1aZ\xe4s\xfc\xc7\xfe=\x12\xcf\ +s\xe1\xcf\xaf\xf9w\x00\x0e\xca\x1b\x19\xf93\xe0\xc5\xf7\ +&\xdf\xe3\xfa\x982=\x1a-\xa7\xc16~\x05\x10\x80\ +\x190\x02:\x0c\x10\xd0\xc8T\xfe\x0d@\x0a\xb3j\xce\ +\x89\x14\xe2wq9\x11\xd7[$]`\x10\xc0 .\ +l\x94:\xa5c\xaa,\x7f?\xd2\xe5\xf5\xf5>\x0b\xa7\ +\x0b\xc4\x81\x81\xed _\xfc\x9fu\xdaz(\x90\xff\xaa\ +\x82zy\x15\x10\x0f\xeaF-\xfe0\x9d7\x1e\x046\ +t\xa9\xf9\xd7Y\xc2\x15\x928 \x1d<\x0a\xf8\xec\x0e\ +\xb0V\x02>\xd4\xc1\xb4( @\xc6\x98\x11\xc0\x82@\ +\xb4B\x9dz:\x06FZ\x00JXhWH\x04l\ +[Q\x86P\x13\x86\xea\xc5F\xa1\xcf\xd9\x9f\x1a\xd1\x12\ +j\xec3<{xh\x8df\x03'\xf1*\x176t\ +\xa2_&Q\xa7G\x0d~\xef\xb6%\xd3\x81\xd8\x1d\x13\ +\xd1\x12\x7f\xdb\xe7\xdd\x12\xd1\xec\xe3\xa0\x02\x95\xc7t\x98\ +)b\xd1\xe2K\xcb\xac\xb66T\xcf\x1e!\xa6\xc7\xcf\ +\xd5\x02\xb6\xe8$\x221\xeb\x0d\xb3\xe9\x9em\x15 A\ +ab* \x07\xb9\x80\x17\x8be\xa1\x9e\xab\xce\xfe\xf4\ +\x8f\x11\xa9\x83\xf8\x8f\x88\xf2>{F4\x95\xfa\xf97\ +\x97xK\x03lj\xe2\xbcp\xeb\xa8X\xb4K\xd4\xbc\ +\xfe\xdb\x11\xe5um\xb9\x1e\xd0\x01\x91\xdf7\x14\xe3\xe9\ +^\x11I%]*\xdd\xee\x94k\xc6\xd0\x1dX(`\ +B\xce] \x8b\xfa\x0fE\xd0\x80\x13\x9d'\x89\xdc\xf9\ +\xf3\xa2\xfd \x17\x04\xfb\x85C\xe5\x12\x85\xde\xff\xf1\xef\ +P\xd1g\x96I\x9a \xb5\x13sx:\x88\xa1xQ\ +X\xf1\x5c\x8a\xf2\xee\xc2G\xd7\xdb\x9a\x0d#\xaa\xac\xa9\ +\x8b0!\xd8\xa8\x10q\xa10\xe39dD\x87_\xa3\ +\xa1\xc1l!\x09\x06\x9dc\x90Q1\x8e,\xca\x85\x1a\ +7\xd7[\x07\x8f)\xe5t\x1e\xb9\xcel\xb0|\x7f(\ +\xb5hgd\xc6\xd4}i\x03g\x9f`\x7f\xe4\x95D\ +[j\xfc^\x17_/\xc7\xd7\xd7S\xa7\x91\x0d\x9f\x9f\ +\xcb\xaf\xf9\xf7\xa2t\x1b`\x02\xd8\x12\x85\xd2#\x0dP\ +\xa4E]\xec^\x1c\x91\x0at\x9e\x0fu\xac\xa1.{\ +_Q\xc2\x00Uu\xf2\x19\x89f\xfdK\x05\xca\xee\xa2\ +\xdc#v\xc8z\xe0\xfbS \x88\xb9S=!>\x94\ +D{\xd49\xed~,\x95|\x128\x89R!\xfa\xc5\ +z\xeb\x97\x8c(\xbf\xff\xc6\x88\xb6\x8fB\xb5\xa6\x93b\ +\x86\x91F[\xdc\xa1\xe5\xf7\xe5\x07\xee\x8e7\xc0\x8e\x00\ +!\xdb\xb8\x09Igd\x00\xed\x82\xfe\xc8\xfe\x88\xfe\x88\ +\x0a\x14\xd6\x0e~\xf7\x9b\xee\xba\xee75q\x1e:\xf4\ +!\xc6vyJ\xb44z\xd5_\x15Q\xf6\x9dM#\ +D%>\xbd\x89\xd4uGE\xa4Q.}\x8e\xee\xed\ +\x11i\xbf{\x87|\xe9\xf5\x9c2c\x8fH*\x85~\ +-\x8c>\x94\xec\xb3\xd4a\xb5\xe6\xc4\x0bJ\xec\xa0\xce\ +\xd3\xf9\x89\xf9\x02\xd0\xc0\x88E\x00\xca\xc7%\xc6\xc46\ +\x95\x0b\xd2:q\xcc\x9a\xc3\xb8\x8b\xe7\xfc\xb3i\xd4/\ +\xee\xf6+\xdb\x8c\xad)\xd7\x9c\xcb\x8c\xce\xc4\xe9\xb8\x9d\ +4\x02nO\xe2`Q\xce\x5c\xa0\xfbp\xb2\xce\xe3E\ +S!+\x1b\xcf:\xd3\xbfT\x1a\x19\x09\xb1\xb3\xc76\ +\xa0\xc83\xed\x1b\x0fn\x06\xecg\x8c\xbaT \xb2\x5c\ +\xe7\xe97K\x94u\xd8\xbd/\xa2\xbc\xee\xd6\xed\xda\xed\ +\xaa\x0e\xcby-\x81\xc3\xb5\xc7\x85n\x00 \x7f\x95&\ +\xcfS\xb4O\x5c\x9f\x98G\xec7J\x08\xfb\x8d\x22\xda\ +\x88\x12\x1d\xb7\xc9,\x221\xbf\xe6d\x17\xb6\xa7D>\ +\x19\xcd\xa3c\xca\xfew\xbeT\xde\x8f\x1b\xf6\x01\x9f\xfb\ +$\xea\xb2\xa5\xec\x9f\x1b\xd1\x0a\x99:*qE\xd2$\ +!?\x90\xc8p}\xca\xbf\x9b\xc4\x1c)\x90\x19\xd1\xa4\ +\x11\x14\xa7\xdbJI\xbc\x8f\x86\x0f\x85\x05\xfb\xb6\xb4h\ +\x00\xf4\xfb[K\xdc\x92D\x8e\x99%\xd6\xfa0\x10v\ +CD\x03&\x01D=j\xa1<\xc9\x00\x09\xe7-y\ +\x1c\xa3o\xa2\xc2vKF\xb4\xd17\xbb\xe1p])\ +\xbcE\x1d\xc6\xf6\xd4\x9dy\x8d\x86U\x11\xc8\xbbS\xa1\ +\x86F\x10\xa2\x9b\x1a=\xf0\xb9\xf6\xf3A\xcc\xadd9\ +\xf5|\xf4H\x01\x85\x0f\x85&\x94s\xed\xd7\x1e)@\ +\x03@\xda\x0f\xb3]#\xca\xeb\xb3J\xd8\ +]B\x9aB\xde\x8f\x00\xb6\xe4^\xe6\xd13\x5c\x03p\ +-\xd2\xf3\xe6\xfb\xc6~\x81[\x01\xef\xc3z\xa0\xc1\xa1\ +<\xd7\x8cN\x18_hO\x08h\x01\x00\xa1\xe1\x85\xcb\ +\x9a\xdd\xc5\xc8\xafh\xc4\x8c\xb4\x01\xb8/\xd6\x1e\x18\xe7\ +\x87\xac_D(9\x07\x119\xc7\x9e\x8f\xba\x11 \x83\ +\xd7\xb1[\x01\xccf\x9eO\xf6\x05>\x1f\xf9\xe6X\xf3\ +\x80\xfc\x8b\x91P\xdc\xf7\xb8\xff\xaa\x97\xe7\xb8!\xb8\x01\ +\xd4\x0d\xee\x09*\xbcgz\xc3{\xf5\xe7\xb9S.Q\ +>?xAT}f\xb2\x0f\xa40\xe7A\x81I\x00\ +5\x15\xfb>:\x9a\xb1\xec\x99u\xb8G\x17\xf6\xefi\ +#@U\x95\x0b\xc7\x05`c\x07i\xa4\xd3\x0f\xb2\x04\ + Agr\xac\x9a\xce\xab\x00\x00l\x95\xac=0\xfe\ +\xf7,H~>H\x0c7\x02d\x88\xc2\x08\x0a\x07\x9f\ +[6SP\x88\xdc\xa1\x02\x88a\x96S\x05\x93\x0b\x8d\ +\xb1F\x03\x85\x04\xbf\xffu!_;\x0cb'\xd5\xa7\ +\xf6\xbaD-\xd2\xe7\x9b\x1d\x16Q\xfe\xfc\xc1\x88$\x16\ +w\xea0:P\xd2\xc7afO\x949T\xa6\xcb&\ +6\xf8\xa2\x22>\xc8\x83\x83\x1f&#\x0f\xf2\xadwg\ +N\xa3\x0f\xee\xf0b/\x82\xcf\xbb\x0au\x8b|p=\ +\xf5\xc0c\x9f\xd8\xef\x1d\xd1\x0ejS\x8e\xa1H\xb31\ +\xe9\xd7\xd3\xcfG4\x8aa\xff\xa5\x88\x96\x88c+\x88\ +8\x9e)A\xdc'!\xdfu\x86\xf6\xe6$\x9a#\xfb\ +\xb1~\x93\x88r{w\x8a(\xbf>)\xa2^\xefJ\ +\xa9\xef\xae\x8eh\x94G\xcfZ\xd1\x99\xa4\xe0\x92\x8b\x03\ +\x9dEw @\xc2up\xf4\x17G\xb4\x11\x0foh\ +\x88r}%B\xe2C\x89B\xdc\xfd%\xa2\xa9\xae\xe3\ +\x0b\xcd\x01a\xd16\xadC\x80\x0d(\x9f\xdc76V\ +'t$R\x1c\xc8\xd8\xe41;\xc5\xec\x99\xc4w\xfe\ +K=\xf8\x9eD\xa9b=\xb3\xc1Q\x00 \xf6\xc6\x8c\ +\xf4\xce\x83\xbd\x9aU\xda\x8f\x1el\x0d\xddQf\x96\x9f\ +\x8d\x98\xd9{\x0a|\x10q\x01Z\xee\xf0BiD\xf4\ +\x06\xdbN\xc4\x09)\xac\xd4\xa1\xf4\xf3\x89+\x06L\x18\ +\xdc \x10%\xe4`\xe0?\xf6\x19:9\xbcR\x18o\ +3t*+\x0c\xf0\x8e6\xaa\xe2YK\x80\x06>/\ +\x00\x0e\xc0\xa7\xae\xaf)\xd9h\x82\xe8~\xd9\xf6Hj\ +\xc8\xa5h\x1f\xecj6\x1f(\xe4\x93\xd5\x87\x82\x03\xbb\ +\xc6\xfe\xcc\x81\x81\xd3w\x83]$\x85\xb2\x0b*\x0a\xa5\ +e\x05\xe4\x1c\xa9\x04\x8b\x04V3\xf7\x0b\xbe3P\xf4\ +\xf0\xf1\xadfn\x1fi\xd7\xcd\x00\xa5\xce\x19\xa8\xcf\xa5\ +\xda\x12_\x80\xfb\xfa\xcf&m\xfd\ +W\xfb\xbc\x15\x12\xe0\x8f\x8d\x9f\x00\x8b\xeay\xb0O\xed\ +\xe8\x0fTf\xf6?\xf6q\x1a\x14\x14\x5c#\x06Q\xdd\ +\x8fwH\xb6u\xcc\xce\x0b8\x99\x5c(\xdb\x5c\xeeS\ +\x94Yoj\x1dn\x9eW3&\xb0_$_:\xbf\ +B\x0f\x83h\xe4\xbd\x09\xc8\xd4:\x81\x12\xdf\x1f\x18Q\ +;\xc7%\x1a\x00^\x19h\x1fHj\xf44D\xc8S\ +\xc9+)\xbc\xc58\xe2\x9c\xebn*\x11\x8d\x98\xbdJ\ +\xbcZ@\xd3\x83Il\x90sW\x00\xbbGc\xc4\x14\ +0\x05[\x85*\x85\x99G\x12\x01\x90q\x1d\xd2\xb9c\ +\x86\x0c\x0c-\x9dW\x16?F\xbc\x99Ylf\x95\xb1\ +\x87C\x14\xee\xb35Z\xc7\xf3'\x83\xd8[\xa5\x96?\ +?\x8d,\x0a\xc0\xf1\xb9\x86\x8b\x0a\xe7\xb64\x19\xaa\xdd\ +s\x88\x83.\x1e\xd1\xa8\xd9fz\xd1\x91\xa63)\xed\ +\x94\xca\x9c<\xb22Q\xbf\x18L\xd4\xfes\x11\xc9\xf6\ +\xf7\xb0A3&v\xb5\xd8\xd787c\xb0\xa3\x8ev\ +\x88\x9an\x86%\x9dp\xdcW\x00\xd8\xb9\xce\x00\x130\ +\x10Ygr\x85\xf2(\x16\xe7\x1f\x9a\x00P\xe5)x\ +\xe8\x88\x0a\x98\xb3\xd8\xac\xf2\x5c\xbb\xf8\xc08\x93\x86\x8d\ +mJU\x88\x9aBM\x83\x02j;y\xb1l!\x19\ +\xc1d\xf4\x95F\x8a;\xe3\x00#\xd8 \x03 \x88\xba\ +\xed<\x9fF\x05\xe2\x88\x00\xa9t\x88)\xa49\xefY\ +g|~F)\xe8\xe0\x93W!\xeaNAJ\xc3\x09\ +*\xff\x9b\x22\x9a\xbb\x18L\x09\xd6\xa7\xcfyF\x18`\ +\x1aq\x1e\xd2\x88\x19\x8b6\x03|\xc1\xc8d\xe4[\x9a\ +!\x14\xee\x1ea\x85iG~\xc7\xf7\x82a\x01\xb3\x80\ +\xef\xc9}\xa6\xeeb\x84\x03\x9bZ\x1ae\x1a\x110\x90\ +F\xe3\x98:-\x03\xce\xcfK\xb3\xf5\xe4g\x9c[\xe4\ +\x01\x8c*\xd0I\xe79\xc6\x9e\x94B\x9c\xeb\xc3\xba\x1c\ +\x89\x16\xbb\xc0\xa7QD\x1e\xcd\x9fS'\xf3\xfd\xc8'\ +\xa9\x87\x19u\x86Y\x80\xa6\x13\x00\x03\x0c\x0cFNh\ +`\x84[\xcc~\x0d\xf8\x9f\x83\xa2l\xdb;\x12\xa0(\ +\xc3f\xfaA\xb7\xa7\x83\xf7\xb6\xeal:$\xa4\xd7\xa5\ +\x1b\x01bD\xc1L\xe7 \x90\xec\xd5u0>*Q\ +\x9fX\xa0A`YG\x0b\xe9q\x09q\xa1\xe0fc\ +\x1a\xd9f\xf8\x02\x0a@\xb0\x8dQt\x18\x9e\x9c\x18\x08\ +\xdcp\x0av\x0a\xeel\xf7\xb0lC\x86\x1e\xa2\x0e\x09\ +\xc0\xc0\x02\xa2\xf0\xe1\xdfs]\xf8<\xa8MS\x90\x82\ +\x04B\xa5b\x16\x03J\xf4\x8ft\x83\x1e+\xb5R\x89\ +\xb5M\xce\x8fx\xa8X\x8c\x0ft|\xe3\xf1;\x17b\ +?[{8\xa0@X+%\xefG\xa9c\xcb\xfbQ\ +\xd0\x22\xaat\x936\x08\xd4[Q-U\x87)\xb4X\ +\xab\x1a\xab\x12\xaf\xd9\x8fT\x10\x8a\x92g?{\x1e\xc4\ +wp}_\xf2\x00\x00 \x00IDATI\x94\x08\ +[/\x0e86>f\xb6\x98\x81\xfa\xb5\xa8:\xb7k\ +V\xf2\xa5\xea\xd0\xbdQ3\xa5\x00\x02bV\x98\xaaJ\ +g \xec\xb4nN\x057\x1b\x1dvs\x02\x00\xa0\x08\ +3\x0b\xd4\xef\x10\xd1\x98\x03PjM\x01<\xb9\x14\xc0\ +'7Q\xbd~\xb1\x88\xf2\x9c\xee\x1cQ^_\x17\xd1\ +f\x8b\x9d\x18>_\xb3\xca \xde\x12\xdf\xe9\x8e\x88h\ +\xf6w$@f4\xe8\xbeu/\x8fh\xaa\xe3\xccr\ +\xcd\x9f\x17\x91T\xb9\xe9\xf8]\x11Q\xfe\xdd|Ds\ +\x83\xa0\x83\xd4=6\x22\x15\xfe\xba\x1f\xfdk#\xca\xfb\ +\xbe4\xa2\xd9\x00Z\x0c\x8e\x83\x0c\xb5{\xa8\xeb\xac#\ +l\x0b\x11\x8f\x81\xf9\xc2\xf3\x0dR\xcf\xfe\xa0\xc4w\xc1\ +\xabj\xb4\x0e13\xcd\xef\x8cH\x09\x15\xcf=\xbe\xf3\ +\x88\xbe \xc2\xc4\xec7\x9d=D\x95(d\xa0\x9a2\ +\xfb\xc5s#*\xb4\x13-FU\x10g\xd1\x0c\x99\x0f\ +\x1e}\x9f\xc9[\x22\x92\xba*bsl\xd4#\x1b'\ +\xef\x0f\xa3\x8d\xdbv\x80\x1c\xfcKhTh3!\xfe\ +\x1cP\xec?\x1c\xb4\xec\xb7h\xaap\xe0\x08Avg\ +\x96\xcfE\x87C\x9d\x84\xd9\xe5\x11m$\xc8\xf6\x88\x88\ +\xca\xdd.\x95v>\xaf\x98=\x00\x0a\x1eMR\x01\x02\ +\xb2\xdd\xed\x16\xd1\x90q\x0e\x9a\xc9r\x93eC\xd5\xbd\ +\xf6\xb9~\x9e\x90n\xd9a\x99\x12\xa8\xeb[\x13\xe2\x1f\ +\xb4\xd9\xc9n\xae\x9bv\xd3FY\xa6c9\xbfOD\ +\xf9\xf59\x11\xc9\x17\xfa\xa9*86\xd1\xc1\x8eO3\ +\x1d\x01\x12\x1cF\x8e\xd8g\xd9\x1fqiA<\x0a[\ +\xb45B\xe7\xba\x9e\x93\x03\x85\xfa\xc7\xc3\xac\xfal\xc1\ +\x90\xe0\xcf\xff*\x22\xd9k\xbeR?\x07\x0a\xde\xdeC\ +\x87\xa1\xecN\x03#\x83\x045\xf6\x9b\xb2?\xf4\x0f\x94\ +(\xcf\xed\xfc\xc7J|\xbc\x02*G\xd6\xce\x8b(\xf1\ +\xd3\xcb#R\x02\x85\x9a0\xaa\xfeA\x11\xdf$\xcdX\ +k\xd6\xdc\x9d\xf9\xd5J\xac\x9a:\x95\x00\xf7\xea,\xb2\ +O\xd8\xa5 N\xd9\x89\xce\xf3\x15\xd5Q-\xcfU\xf7\ +\xd4\x88\xd4\x89\x87\xc1\x15We\x0bu\xb6?\x9fFM\ +\xe8\x84r\xfe-Qej\x07\xd7\x8d\x92P\xf7\xdf\x88\ +H\xd4\xea\x10E*\x89X\xf7\xc4\x88d\xab\x05\x15u\ +\xadAL\xacN\x92n\x92:v4\x14X\xb7\x02\xfe\ +\xcc\xe0\xc0\x05\x03\xa6\x1e\xcc\x0a\x8d\xd0u\xcbG\x94\xd7\ +E\x22R\x07N@\xd9t\xc5\x88\xf2y\x0f\x8b(\xaf\ +\x1f\x88(\x7f\xff\xff\x22\xca\xe7\xfak\x89;\xda\xf7\xab\ +\xbb\xd3'\x93O7\x05\x1b\xa2\x80o,Q\xce\xb5\xee\ +\x92\x12\x97\x8aY\x13\xaa\xf8\x17\x96\xf8\xb6\x0a\xa2\xf5\xd5\ +Y\x8b\x91\x95\xbb\x06qM:\xe30\x22\xa6;M_\ +2}I\xeat\xd3q\x1d\xdb8\x03\x94k\x84\xca\x00\ +\xc3\xe5\x93+&W\xb4\x02cv\x8bD\xde\xe8\xb0!\ +\xa2\x85\xa8\xadF\xbfXo\xb6-f\x9fa_\xfbT\ +\xf5\xabi\xf6\xbd1\xd2\xb5OJ\xc8\xa1\xa8\xa2.\xfe\ +\x92\x12;\xb7\xc2\xce\x94d\xf20:}rk\x09\xe5\ +\xa2\xd0.\xe2\xf3MN-qJ\x12\xc5;\xa5\xaa\xf4\ +4\xe0\x04\xb1,\x80l\xf2\x09:\x9f\xe4\xbdz?\xbb\ +Z \x0e'J:\x0c&\xf2\x01\xbbg!\x82+\x11\ +=\x8b\xec\xc1\xb0\xe2\xfc\x03\xc0\x00\xd8\xd6\xfb\xcd\xf6/\ +\x05\xcb\xfe\xa9q\xa2\xbc\xbc\x94\xad\x9f\xa9Z\x00\xec\xfb\ +\x14\x0c\xec\xa3\x5cw\x98q\xe4\xa5qu\xff\x94\x18\x94\ +\x8cT \xd6\xa7|\x02\xc6\xd6\xeco!\xdf\x9a\xec\x9c\ +\xef\x1f\xa8\xf5\xf6\x93\xa7\xf3\xac\xfb7\xdd3\x22i\x1a\ +\x5c3\xcc\xe8[\x8b\x82\xd1\x87-E\xb1?R\x22\x9a\ +b\xc8\xd8.\x0e7\x1d\xf2g\xf2O\x18\x18\x5c\xbf\xb1\ +X\xaeFR\xcc|D\x94\x0e\xd5}\xbd\xbf\x0bn\xce\ +cu\xe4=\xc2!\xbb\xda\xfe\xc4\x88\xfa\xbd\xef\xaf\xae\ +\x1cb\xa6\xf5gE\x94\xdf_1\xa2\x8aE\x0e\xe2\xc8\ +[\x0d\x85\xb0\x19\x17\xd2\x5cr\xfd\xc0H\x81\xf6y\xe7\ +\xd9\xe4\xbb\xb8Iq]s\xa3\xf3\x814\x93\x8f]\x1c\ +#\x95\x884r\x9f\xc9w\xa4\xf6\xef\x02X\xe2\xb9\xb6\ +Kd&_\x0d\xa6\xf0\xfa\x09\xb7\x1fk\xf10\xe2\xc0\ +\xf3F#\x0e\xe6\x03\xeb\x8c\x06\xa8\xea \x80C\x8f\xa2\ +\x8e\x98+\xd5\x1db\xf5\xd4\x18\x82\xc9D\x03\x03&\x8c\ +\xea\x0c\xdb\x09\xc2\x88\x96\xb8\xa3G\xc0\xb8\x0et\xba\xc7\ +\x8cK\xb4\x08X'w\x098YV\xf5\xdbht\xc2\ +\x8dZ\xf2-F5\x97\x8b(\x9f\xe3[\x11i\x1f\x85\ +\xd1MA\xaf\xfb\xe4\xbf\x8f6\x02\xf91\xd7k\xdc\xe1\ +\xa7\xd0\xe7\xbe3\xdb\xcfs\x0e\xe0\xc3+\xfb0#\x10\ +\x8c\xa62\x92\x89\xdd\x22\x8dL\xb4#\xc2\x0e\xf8\xa0\xc4\ +<\xa1~\x95\xe6\xc8\x5c=\x9e\xb7M\xa2z \xf3P\ +\xb9\x98\xfd\xcf\x22\x04\xffH\x1b\x1a\x9d\xbbx|\xbb\x94\ +\x88R\x90s\x10A\xc5g\xd2\x81\x072\xca\xde\xc7$\ +\xe6\x00@\x00\xa2?a\xef\xb7lz\x1f:\x0eQ\x16\ +,\x94n\x08\x178\xd2\xb7\xc5S\xe2\x0c\x00\x00\xb0@\ +\x82\xae_W\x95\xcf,\xde\x05r\xc3+\xef3f\x02\ +\xd0\xc1\xe4F\x8e|)M\xa1\xc3\x97\x1a\x1b?\xd9\x9f\ +MV\x94\xd8\x17\xc8\x0e\x0b\xf8\x5cQ\xa8\x8fRG\xe4\ +rm\x18P\xa6\xb0\xf7\xd0\x06\xb6\x80\x03\xe9<\xd9\xcb\ +\xf0y\xd8`\xa0\xe42\xdb\xcaL\x11\x0b\x8d\xfb@\xe7\ +\x02\xf5\xeb\xe5#\x1a\x22^\x13\xc8\xd5R'\xf2\xef\xc8\xad\xc1\xf7\x99\ +\xf5\x89j1\xe2.0[\xf8w0\x14\x00\x86t\xa0\ +U\xe0(\x0a\xbc\x0f\x9486%H\xcc\xa6\x02\x5c\x92\ + \xb0\x0f\x918q\x1d\xd4\x19\xe8\xf6\x8aHj\xf4\xfb\ +\x0d\xcc\x15wL^1\x88rF\xb9]\xb5!4c\ +8yTD\xf3\xc9\xf6\xcc(\xfb\x0a\xd7\xe1>=\xf7\ +\xa2\xb6\xb2o0z4\xb9o\xf2\xcf\xc9?\x93\x1a7\ +\xd7\x81}\x97\x19\xf7\xeb#Z\x87\xa8&\xf2\xa7\xb6\xf5\ +\xda\xad\xdf\xadW\xb5<\xa4U\x81X\xe4\xe4\xe3\x03p\ +0\x7f\xd6\xfc\x17\xe7\x83\xa9\xf0\xd5\x88\xf2\xbaJD\x12\ +q\xc2\x1d\x02\xd7\x11\x00ZT\x8f\xa1\xfa\x8bqS\x92\ +\xa9\xc1\xc5\xe1\xa5\xeaT\xa9\xc0\x9d}S\x89\xc0\xdaR\ +\x05\xdeO#\x11g\x0dbc\xa1\xb0\x19\xc7c\xbfW\ +D\x15g\x1bT\xe8\x99\xb5T\x81Qg\x83\xcb\xefO\ +7\x9an<-\xdfg\xba{\x89r\xdd\xa6\xbf\x8f(\ +\x07\xf2Us?\x9f\x0bQ\xc0\xc5\x07M\x00\x17 \xd2\ +8\xb18'3\xb3\xa8\x9a\xc3h\xa1\x00\xa4\xe0\xfdu\ +\x85V\x07M\x88M\x95p\xbe;i\x9b\xd0\x19\x030\ +\x13c\x0c \xae\xde\xed\xf75U\xfbz\x7f>\x97\x0a\ +Nf\xdf\x83\xe1\xf1B1s\xde\xd7\x98M\xfe\xbc*\ +H\xdc\xc1\x0a8\xef`u\xda\xaf\x11\x83\xe2t\x8d\xc4\ +<\xaf\x89\xfaasWa\xe6\xdd\xc4@\xfbhS\xfb\ +\xf7HC\x00\x96[\xe8\xf3\xad\x9cF\x00c\xb0\xec\x0b\ +\x8d\x11T\xed\x15\x7fY\x81\xab\x010yBD-h\ +\x07\xad\x01\x00\x0b%H\xdd?\x22\xca\xfdyLD\xb9\ +\xbf\xdf\x8d(\xaf\x1b\x8b\xb2\xaf\xe7\xbf\x16\x0e\x99\xa1@\ +'\x8c\xd9T\xce\xcd(\xef\x9e\xa4\xc2\xe6\xd3z\x0e\xca\ +y3]\xa5\xc4\xaa\x8d\xa1\xd3\xdfS\xe2\xef\x0d\xe0\xaf\ +\xe7\xc6%\xa2\xfc\x1e\x9f\xf2,5\x1a\xba\xc3\x22\x92f\ +\x80\x9e+\xdb2\xee$W\x98e\x86\x11\x14\xbb\xad\x9c\ ++\xe6\x0b\xc0\xe7\xd2b\xf6it`\xc1\x07\x87D|\ +\xb6\x9f\x12n\xce\xb7\xb1m3@\xed\x9d\x152l*\ +\xf0\x1bD\x94\xd7GG\xb4\xf3\x12f[uE:?\ +\xd9\x00\x07\xc0\xb3\xb6\x98,\x07%5vu\x04\xab\xd8\ +\xe4&\x09\x88\xe6\xbaF\x9fs\xf3\x94\xefh\xa4\xa76\ +&v\xf9o\x0d\x89z\xfd\x05@\xbb\x80\x81!\x81\xd6\ +\x0f\x09\xb7\x0ak\x17\xfah\xa7@\xf5\x07\xd8R\xa7\x0d\ +&\x98m\xe5\xd0\xcayM\x8dV\x00\x02\xd0RH\xc4\ +\xac\xf2\xd5\xc9\xad\x07;05\x0e\xca\x9f\x0dZ\x01\xe4\ +\xaf\x00\x980\xe3\x10YF\x9c/\xce\xe5.1'`\ +\xda\xb2\x1e\xb5?\x22NZ\xae\xd2\xcb\xa3\x81\xd3o\xd9\ +o\xd5o\x95\xf6\x11\x15h\xe5)\xb8\xb7\xbb\xb7\x02\x8e\ +wT\xc0Q\xa3kV-\xd7\xb9\x82\x08\xa9G\x13\x10\ +\xf9ef|\x91\x88\xf6\xb9\xac\xf5\x03\xa3G\x05\x9a\x99\ +\x0e4\xb8\xd0\xa0\x81\x02\x8eF\x06y\x08\xa3\xa6\x00(\ +*\xec\xd1\x5c\xe2y\xe0<\x85A\x88}\xb4\xdd\x09T\ +\xe8\xdb^PZ1\xce\x87`:Rpa\xdf\x07\xb0\ +/QeT\xfa\x9d\x0f\xc1\xc4\x85\xd1\x0b\xd0\xf1\x03\x9d\ +\xbf\x14\xc2\xdc\x1f:\xd104\x18\xdd\x11\xe3\xd6\x1a\x17\ +\x14\xca\xd8\xf0},\xa2\xf9\xd7\xd7\x91\x9a[S\x87\x9e\ +s\xe3\xf6\x88\xd4\xc0\xa1p\xd4\x88.La\xd7U\xe3\ +\xce5\x9fSu\x91\x99MhW\xe0F\x01cX\xa2\ +\xb3\x06\x02\xd0\x02C\xbb\x09\xf1GF3x.\xe8\xf8\ +\xe3\xae\x04\xa0rQ\xc4\xc3\xe4[hN1\x22\x83\xd6\ +\x1b\xdf\x8f\xfbD>L\xfd\xc8\xfeE\x1d\xc6\xaf\xa9\x03\ +\xc9{\xc76\xf6\xd4Qc\xcd\xac\x11Pb\x06(\x0d\ +/\xde\x0f\xc0\x11qQ\xf2B\xee\x17\x8dZ\xec\xff\xb0\ +\xe5\xe5\xfbSo\x1e\x1b\x91lw\x01\xc6y\x8e\xc9\xbf\ +`^k\xbf\x9d\xf3\x85\x8d\xb42w\xe6)x\xe3\xe3\ +.\x96.\x88f\xf7\xbd!\x82\x0ca\xf7\xc0,\xfdX\ +5\x9aB\x9c\x05\x05r3\x16s\xe0B\xc5e_9\ +\xfd>L\x00\xb4\x09`\x14\x00\x04\xe0B0\x06\x04\x00\ +(\xb8\x11\x00\x0bP\xeb\xa0vp\xa0\x8d\x01\x00\x101\ +>\x07@\x02\x05\x08\x0b\x01{\x89gG$\xb13\xf9\ +\x9a\x93\xb8Z}\x15\x06\x003\x1aP3\xf8\xfe\xdfJ\ +\xe2-\x1b\xab\x13\xfd\x99\xf4\xc0P |L\x1d\xa1o\ +\xaa\xc3\xc5\x81\xb4\xa2>/\x14f\x12<\x0e\xa0w\xd7\ +h\x1b464k\x0e\x88/3`P\x94\x10cr\ +\xe7\x1eQ\x0d\xddw\x100:\x13t\x1aIh,\x9e\ +\xb6GD\x12M\xa1c\x80\xad\x9b6\x08T\xcbg\xab\ +\x0c\x94,\xa8\xeb\x9eyE\xbc\x87N1To\x1d\xe0\ +\xb3M#\x1a\xa2XU\x88\xf7K\x89\x13\x94I:\x1f\ +t\xbe\xa1xu\x11\xe59\xfd`D\x9b\x99\xb6\xea\xf9\ +\x8f\x22\xcam\xdf1\xa2Q==\xeb\x0bc\x02\xc4\x12\ +\x15S\x89\x06\xd1)\x9d\x7f \x22m`*p\x8d\xd4\ +_0\xbb\xb0\xfa\xa2\x9f\x142k\xe5\xe7l\x1aQ\xfe\ +\xdd\xf2\x11\xa9\xd3%\xd1+\x03\x18\xea\xccPh1s\ +\xdb\xff0BvL\xdb\xb6\x8e\x9a\x11n\xcd\xec{$\ +\x05\xc6\x06\xa2r\xc7\xd50B\xef\x03\x08{=D\xf9\ +\xf0\xc1Ub\xe0\x99)\x0a\xeb\xff\xa7\xebL\xe0o\x9d\ +\xaa7\xfe;\xfb\xfc\xcc\xd7<\x94y\x9e\xa7\x94\xcc\x95\ +)*\x19B\x22\x12\x912eJ\xc9\x5c\x0a)\x22Q\ +25\xe8\xaa\xcc\x85\x882\x15\x22I\xca\xfcW*s\ +\xa6B\x8a\xf3\x9e\xff^{?\xdf\xb5\x97\xf7\xca\xfa\xd4\ +\xf9\xdc{\x7f\xc39\xef\xbb\xdf\xbd\xd7z\xd6\xb3\x9e\xe7\ +:\x8b\x80\xec\xf7g\x9b\xd8\x00I\xf0x\xe5\x80`\xdd\ +@!\x14R\xcehK\x99i~\x7f\xb0}\x14\x85\xcd\ +\xed\x9f\xb4\xcf\xfbL\x18\x9d!\x80*\xa8kRsw\ +\x0a\x1d*\xbc\xcc$\x93\xa0b\x07\x092\xcd\xa8\x80\x12\ +A\xa7\x98\x034\xb2o\xd2\xb9\xb8\xb2\x02`.Z\x05\ +E^\x94p\x07\xdaTp\xfb\x01\x8a\xed\x1d>\xf4h\ +,(\xc1A\x8b\xa2\xc0\xa6\xb3\xb4}\xd8;l+U\ +\xe4\xbb;\xae;\xb6;\xb6\xa8g\x97\x11\x12\x10\xe6\xf4\ +V\x8b2BRf\xca=\x91V'\xdc\xa9\x91J\xe4\ +\x9cJ~}\xbe\xbf\xd7\x87\x04\x1b\xffc\xdc\x0f\xb8~\ +:\xc0\xcdl\xd0\xec\x06=\xf1\xe1\xbc\xa0\x80\xc1fp\ +^\x8b\xa6\x19Rl\xe4Nl\xcf\xed\xe8\xf8\xd1q#\ +c\xb6lc\x11:\x0d \xff\x140\xac\xbb\xad\xd4\xf9\ +\xbfY\xf7q/\x15\xec\x14\xde\x0f\xd5\x9f\x8bo\xba\xfb\ +u\xffD\xf7S\xe7G\xb1g\x1b4`\x85\x84-=\ +mQf\xf7\x0f.\xb3\xfb\x97\x0c.\xb6\xc2kx\x91\ +E~\xfd\xbcE>v\xef\xca\xf1\xfb\xe2W\xbf}\xf1\ +\xabW\xc7\xdf\x995J\x9c\x195\x1au\x98\x01\x90N\xae\ +\xfb\xb77t\xa0\xbeRh \x92LG\xfbL\xb9\xdf\ +\xfc\xa5\xda\xe4\xb9\xaa\xb4\xa5\xe5\xf7kT\x06\xea\xf2d\ +\xa3\xc8\x17\x8d\x89\xa7\x1b\xe0\xdf\xedk\x11\xce\x1f\x1b-\ +\x5cFZ\x15_o\xfb\x5c\xba\xc6B\x0c\x8c\xe5\xb5\xef\ +\xfe%h\x92\xc8\x1e\xcd;xP\xae\xe9h\xdbi\xfb\ +\xf3\xc6\xb8(\xe5\xe1W\x83\xa8\xa5l4=QV\xa3\ +\xc2;\xa2\xb8\xdch_s\xed\x0bu\xd2\x9cI\xc6L\ +>\xc0\x1e\xae;0\x1ea\x98h$l<\x9fEP\ +\xf7\x07\xf0\x07\x10\xdd,\xaf\xc7\xcd\x82-\x1e\x00\x1a\xb6\ +\xc044D\xf9\xf7\xd1\x08\xf2h\xfb\xdc9O\xe8\xee\ +\xce\xf1\xc7\xfc\xbaT\x8e\xa5\x1b\xc3\x8fB\xd0\x01[\xa9\ +\xf2;\xf5~\xcd\xf1Z\xa51E\x01\xc9h\xc8 \x9f\ +\x93\x83&~I\xa1i\xfc\x94\xa2\xd5\xb4\x96D\xf7V\ +\x11\xa3\x88|R\x00\xa2\x8b3c\x17\xca(\xc5\x0b\xe3\ +\xe7\xc7\xcf\x87\x0e?y8\x1dU(\xe7\x1a\x89@\x5c\ +\xd1\xcf\x05\xdci\xf8\xfc\x00\xeb\xda\x87\x9c\xe2\xcf\xa8\x01\ +y\xba\x1a\x0b\x8cRv\xebY\x04qc\x1a\x1a\xe4\xb9\ +\x00M\xd6\x98\xbb44\xacx\x05(\x82\x91\x07\xd0B\ +\x01K!\xc6\xfbB{\xe2J\x8b0\xea\x02P\x00\xc0\ +\x0f\xa0\x0f\xf3I\xc0\x92\x03\x01\x88Is\x1eAI\xc7\ +\x85F@\x98\xdb\xa8\xaa\x1e\xc3\x86\xdc\xdf\x1f\xf9\xa9F\ +~`\xec\xf8u\xa5\x9e\xa2\x13\xcd9\x01\x10\xd5\xa7\xb2\ +\xc3\xd0n\x1a\x0e\xf5?\xce)F8`&P\x07P\ +\xa0\xd3\xa0\xc0\xbd\xe3:56aR\xd3)\xa7\x8e\xc1\ +\xc5\x0a\xed\xa9\x13\xc7'\x15;R\x1aI\x00\xd5\x00\xb3\ +0.a \xf1\xf7|N\xee\xa3\xf2\x04\xf2:\xa7\xda\ +3b\xc5\xf5!/\xe4\xef\xb9\xff\xfd\xd9~^\x01\x1e\ +\x00|x?|\xfe\xbe\x86\x00\xeb\x0c`\x00 \x09\xc6\ +\x02b\x95\xd2\x8c\xf1\x91+1\x8a}\xbf\x81\xc1\x0b\x00\ +\xa5\xcf?\xe9\x85,7\xd0\x1e\x9b\xb9\x02\x85\x03[*\ +K\xcb\xe7\x0a~\xdc\xa8s\xd3\x01\xd3\xc1\xe6\xd4BT\ ++\xa1X\x00\x04 \x0a\xc8L\x1f\xbf\x17\xe0\xc0\xca\x80\ +\x85\x9b\xfd\x8d\x7f?\x857\x85|\xbc\xd03\x84\x1b\xc8\ +\x82\xa4\x15J\xa7\x0e\x11\x17f\xb09@H\xc8{j\ +\xdd\xfeg\xde\x17\x00\x00\x88\x17\x05/\x05{_\xd5\x94\ +\x82\x05D\x08\xe4\x18\x1b\x8b(\x02sg+,L\xc1\ +\xa0 {\xcfH\xb4j%\xd9\xfc\x81\xe4\x90@\x81D\ +\xca\x97\xdbg=@\x9eV\xd1A\xfe;\xfd|\x80\x01\ +i\x05\xa4\xf5\xd3\x06i\x83 \xbe\x07\x85\xfd\xd2:\xbb\ +\x95\x8b\xb8\xaa\xb6\x0b\xe5\x9f\x02\x8e\x85|\x8b\xa8U\xd8\ +\x91\x80LRxa\xeb\xa3B\xcaG\x11xP\xb8\xef\ +0\x04\x00f~U\xbf\x0e\x84sp\xbb\x10e\x0a-\ +u3r\xc2\ +z\xc3\x8d\x80Y[Q\xa7\x9dr\xc6l\xd2Q\x16\xe1\ +\xb9\x97&\x80\xff\x5c:\x1c\xfd\x03\x95\x82G\x07\x83\x8b\ +9\xc1P\x11\xc0\xe3\x052\x07\x93\xd6\xa9\xaf?:.\ +\xecoP\xfdU\xf8\x00\x88\x81\x9c\xa6\x83,\x02\xe5N\ +\x1d\x12\xdfGp\xdf\xf8|\x9d}t\x1b\xa1+,\xc2\ +u\xa2\xc3D\xa1\xc9\xdfCE\xe4yG\xbd\x97\x11\x03\ +u\x0c\x07\x9f\xb3h\xcc\x912\x1b}\xac\x9e\xef\x1b\x1a\ +\x80\xe1*\xf4\xcc\x10\xd2\xb9\x04\x08{\xbe\x8a\x22\xba\xdf\ +=\xe2G\xec_r\x1bqM\x07]\x97\xee\xa1\xea\xf2\ +\x91>_;\x8a\x00h\xe9*\x8b\xb2.\x0b\x83\xc9\x19\ +\x13\x88\x09\xf1g\x12\x17\x13\xfd\xfck\xd3\x020\xa2q\ +\xa1\x1ak6\xcdm\xba\xd8\xb7\xfb6k\x02\x9c}\x96\ +W\xf6D\x83o[\x94\xce\xfe\xc9\xd6\xd9\x1f_S\x13\ +\xa3\xee\x05\xeb\x99\x96D\xb5P\xbe\xbb\x93\xba\xafu_\ +k\xe2Dn\x7f'\xean~\xaf%\xf1\xc1\xe7\xdcG\ +R\xd8/\x10\x11\xd4l\xb8\xefw\x0f\xa9\xe3\x00\x10\xa5\ +\xf3\xc6;\xae\x8cx\x09\x00\xc5=#\xa7\xa1\x87Z\x22\ +:\xfc\x9eE~\xfd\xb7E>\x80\x8f\xc9\x91\xd7\xf1\xf0\ +\x00\x0b\xd9\xd3\xbd\xa9\xd9\xe1\xe5}:G;\xa7\xdc\x85\ +\x05\x9b\xa1\x8c\xbb\xfa7\x8d\x89\ +#\xb4\x0f|Wn-\x88\xee\xbd\xb7\x02\xb4\xa9\xab\xa3\ +T9\x9b\xa9\x050\xd4\xd2\xf9\xc5\xf4\xd1\xbag$b\ +\xb4\x8d\xb4`>\xdb\x1d\xd2\x1dR\x0a\xb6\xb2O\x00\xe0\ +{\xfe`\xe5\xf7\xc9bK\x0f\xf3\x90N6\xe7\x17\x85\x09\ +\xebY\xe7\x8b3\x97\xd4\x10K\xef\xb2h\x85\x8e\xedB\ +\xb6\x0f\xb9\xfd1\x0c\xa4\xd9E\x9d\x97KQ\xbe\xda\x1f\ ++\x9aP\x06W\xfe(4\x80\x10\x07\x16\xf0\xceyV\ +\x00\xa1\x0f\xb6s\xb6\xbb\xcc\x22\xaf\xc3\xc7rX\xbe\xb2\ +G\x8e\x8f\x87Bw\xd1n\xb1n1Q\xd8\x17\x0c\x8c\ +M\x1b\xf92\xed\x98\xf7\xa4M\xd3{\xc2\x88\xd0\xdb\x8c\ +#S\x0a\xabbK\x99\xef\xe6r\xc6\xcc(\xdf\xb7C\ +\xeb\xf0\x03\xcc\x96}h\x8f\x96\xef\x99\xb4f\x11\xd7\xa4\ +\xa0EcK6o\xae\xe5r|\x05\xcc&\x0e\xd5\xa8\ +\xe9o\xe5^\xa1|-\xcd\x92\xa6\xa4)a\xa4\x0b\xd1\ +X\x80e\xc4\xa6\xe7\xab\x1a\x08^\xf8q\xfe\x0a\xe0\xf2\ +\xd1\x9d\xad-\xf2\xeb\xba\x16\xad\xb0s@\x84\x91\x07\x5c\ +\x06\x18\x81\xa4\x00\xe39R!\xef\x0dF~\x1f\x8dC\ +\x1a\xa6\x14\xbc=\x86\x88\xff<\x00\x01\x0a]\xf2 \x0a\ +t\xf6M\x0a`\x00r~\x0f\x1de\x1a\x0a\x14\x84\xb8\ +\xb4\xc0\xa4\x04\xb8\xa70\x97k\x84\xe7\x99h\x1e\xc1h\ +\xa0\xc0GU\xff6\x8b\x00Tp\xee\x93_\xa1\xadA\ +\xfeH\xe7]\xf5\x88\x03\x0f\x00fZ\xf7.~\xccz\ +\x97\x88\xa2\x8fT\x907R\xf0S\xd0S\x80\xd3\xa0\xba\ +#\xef+w\x14@\xe5\x94\x02\xa8\x90\x17\x0a\xa8s@\ +\x07 \x02f\x01#\xe40*.\xb5\x08u\x1b\xeeQ\ +\x1aQ\xf3s\x9d\xfa\x0e \x95u\xce\xcf\xe7\x95\x86\x10\ +\xcc\x03\xec>\xb1idd\x00\xf7\x09\xe5\xd9\xced\x86\ +\x19\x80F\x15\xa3\xf50p`\x18\xa1]\x12G\xe2\xa6\ +\x04\xa0\x91\xcf\x03\x80\xa3\xeb6Y\xf0\x94\x7f\x86B\x96\ +\x8e\x8b\x15\xfeonb\x7f\xa5,^0\x14\xc4l\x8c\ +\xcc\x1e\xb11\x82\xd0\xc1\x08\xe0\xcf\x0b\x94\x9et\xa3\xe8\ +\x93h\xf1\xa0\x008\x88\xba\xe2o\x5c\x80\xc04\x05y\ +\x1f\x10\xe0\x03\xf3@\xc2d\xe8\xdb*P\x80\xf0\xe0\xb0\ +\x80)\xfc\xa1\xf2\xf3\xe7\xbe;\x00\x80\x08_\xc7\xf7s\ +\x81\x9b\xd8_E\xaa\x98\xd1\x05\xb1\x81z\x0c0\xc1\xcf\ +\xddK\xea\xd3\xda\x18\xd3\xd6\x12W\xe9\xcf\x5cS\xe0\xf3\ +\xbe\x10)!\x81\xe5\xba1z\xa0\x07m0\xabE\xb0\ +\xb3:\xac\x8a\x80\xe4\xc5XU\x89\xa5\xa2\xce\x02g\xc3\ +\xccIb\xf5\xd5DM\x9c\xce\x19\x07\x22\x00\x0d\xe21\ +\x97\xebA\x9f\xa1\xde\x07\xc4\x93|\xc6N\xd4p\x0a\x1d\ +\xfcU\x99\xd5d\xb6\x96Dr\xb0c\xed(a\x0b\xe6\ +\x85\x1f\x94=u\x06\xbc\x83N\xe7\x18 \x86\x0d\x0f\xff\ +VQi\xba\x9d\xba\x8ft\x1fi\x05c7\xb6(L\ +\x83c\x8aH\xdec\xf9\xc1{\xacQ\xb9L\x1a\xb1\x88\ +#J\x9c\xa5[\xc5\x22\xbf\x9ef\xd1\x18\x01\xd3\x887\ +iCu*\xab\x00\x8b\xee\x8b\x16A\x8d\xf9b\x8b6\ +\xab\x8c\x9d\x8b\xa5\x93\x96P2\xd2\xd1\x9dg\x91_\x17\ +\xab\x07\xba\xab\xa3\x22z\x05\xe2\x8d\xda\xbb\x89\x8fm\xdb\ +\xd6G\xf7N\x8b\xfc\xfa\x92E\x10\xaf\xe1\xf99\xb8\xc4\ +D\xf7\x94E\x98\xd9g\x7f\x00q\xe5\xbe\x03\xa4q\xa0\ +p\xbdxN(\x14\xd8\xa0\xd8\xc0\x99a\xe2\x80\xa3\xa3\ +\xc2\xf3\x8bZ\xb6\xa8}\xa8N;\xf5\x8c\x8d\x0c;\x1f\ +\x805\x89\xe6\xf9\x8c\xa6D\xa2\xfcy\xc7n\x06\xbbF\ +\xd9}\x91\xa0\xa5\x1d,\x0a\x83\xe7\x90\xa29\xb0\xef`\ +\x9f\xc2`a\x86\x8f\x8e\x13\x09-\xb6j: q_\ +\xf0\x03\x80\xc2_\xcf\xbf\xfb\xf6BAg\xa6\x8bu\x8a\ +\x0f\xb4D\xe0(\xc0\x1d\xe1\xd6\xef+\xa3\x02'4\xd1\ +0\xdf\xef\xb4\xef\x16;\xcc\xc5\xc3\xcc#\x14H\x89\x83\ +\xfa\xc8\x05\xd7\xe5\xcc\x0a\x80\xf9L\x22\x1a\x22\x8b\xd5\x19\ +\xbetf\xfav:\xb3\xd9\x95\xe2w\xec\x80\x1b\x89\x81\ +\xf6\xe3\xf1\xdd\xe3?\x98\xdf\xb0\xdf7\xd4\x7fe;\xe8\ +*\xda\x8cF\xb0\xbe\xb4\x9e\xf2s\x9f#\xecW$j\ +\xa8\x8e\xa3\x89r}\xb5\x89J\xfb\xa7\xfd\xd2\xfe\xad3\ +\xeab\xa1\xdf\x95Z\xf5}\xa2\xba\xfe]\xf6\x8f\xeaT\ +\xfbl\xf1\x81U\xdba\xf0\xcfZh\xfa\xbeK\xa2\x01\ +\xf5\x14\x04\xbf\x8d\x82\xd4\x83\xff\x05%\x1c$F\x14 \ +\x9c\x0b\x9cW\x8c&\x08(O\x07\xe68 \xd8\xf9\x91\ +0\xe0F!m\x8b\xe1\xc7-\xf2\xe7x\xc2\xa2Q&\ +G\x8fZ\xb4\xcf1\xfc\x81\x85\x00\xb4\x9b\xe4>2\xd1\ +4?|$\x22R\x17\xe7n#\x04\xce\xa0\xb1\xffR\ +\x03\xc8p?\xf1\x82R\xc0\x18\xb3\xe0~\xbe\x92\x80H\ +\x05\x9eu\xea\x85\x18\xfb\x13@\x18\x80\x15\xe2_\xf8\xd1\ +\xdfa\xd3\xe9%\xcf\xa8\x09\xad1\x11\x0eo\xda\x00t\ +\x0e\xbb\x0fv\xdbv\xdb\x96\xe7\xa5\x88\x1f\x99\x19\xa1\x15\ +\xd2\xe9\x80\x1c\x07j\xc6\xfa}md\xa3{\xb9\xee{\ +\xf9wV\xd1\xb2\x87%r\xb5\x9ef\xe3\xd1B\x10\xa5\ +5\xfd\xc2\xa2\xa9Fcg\x0b\x10\xfd\xda\xcf,\x0a\xc0\ +_\x0bn\x98\x02G\xd6\xc2l\xbc\x8e|\xb9\x05\xb0N\ +\x5c\xa4\x0e:\x9d|\x137\xdb\xb8\xec\x8f\xd5\x85B\xe7\ +tz\xde\xa2\x01\xd5\xe3\x1d\xea\xacq~w\xa5\x83\xed\ +v\xa9\xf2k\xcf\xcf{-\x5c\xc4\xaca\xb4m|\x84\ +E\xa0L\xf3\xfb)\xc8\xa4\xa1\xe2\x94\xe4\xadja\xef\ +\xa2R\xb2\xb3\xa3\x83\xcdsZF\x11oT\x81\xb5i\ +\x032JB{\xb3D\xe3\xf2~\xdf\xbd?\xc7\xe6A\ +LV\xb3\xf5i\x1f\x0b\x01N\xf9}\xa6\xaf\xe6\xf8J\ +\x00L\x8f/a.\x1b\xc7\xd899\xb8%\xc7\xcdM\ +\xed\xbb\xec\x86\xf9\x1c\xea\xae\xc9\xf1\xf3\xd0!\xc6\x16P\ +\xf7\x9d\xfd\x91\x02\xbf\xfb\xaaE\xd8\xb7\xb1=\x16 \x95\ +\xbeo\x11\xa8\xf80\xf2\xd4\xc1\xf6\xc2\x93\x82\x0f\x15z\ +\x8dTx#\x81\xc2\x9d\x11J4{P\x11\xa7\xd3\xca\ +\xf3B\xe2\xdf\xd7\xba\x82J\x8d;\x8b1\xf6\x96\x123\ +$\xaf\xb3\xd1\x99\x16b \xe6\xf7\xd5=\x97#\xaf\x9b\ +\xee=\x16Adt\xfb\x89\x1d\xcc\x05j\xb0S\xdeW\ +w*\x22\xb3o1\x91\xd9\xf4Zz5\xbd\xda\xc4E\ +\xdd\xc5\x82\x02D@\x833\xf7\xe84\x93\xbf\x92\x7fr\ +\x8e1R\xf7R\x19\x12kbr0\x96\xb0?{T\ +\x80:\xe2\x9fW\x08\x18\xe6<\x06\xa8{\xa4\xbe\x9f|\ +j\x14qYg(h\xdd\xfay\xd0\x89\xa2\x8e\xd6\x83\ +\x18\x1d\xdd\x03\xdd\x83].\xfc\xba\xdb,\x8a\xf6R\x11\ +o\x1e?i\x11\x18\x10\xaco\x8d\xd0\xb9($#L\ +\x14\xc20\x05)\xd4a\xb2A\xb1f\x14\x90s\x83B\ +\x8f\x02\x1fF\x1a\xfb\x1f\x85(\xf9\x0f\xaf\x88\xff!J\ +L\xa7\x1c\xe0\x19&+\xcf/\x80koT\x99\xeb\x09\ +\x93\xa8o\xbb\xcc\xa8\xa43\x94\xc5@a\xf4\x11\xa0\xcf\ +\x19\xc0\xd2\xc2\x18\xafk\x11\x5c2\xd4\x00p\xe6+6\ +\x93'Z\x04\xed\x01\x80\x00\xd9\x8e\xbbF\x8a43`\ +\xe2:\x00H\xc1\xccz\xe4y\x05\xd0h\x9ar\xa9\xe4\ +?}\xb1?\xcea\x18\x1806\xfa\xf5 \x8d`\xea\ +4\xea\x08^\xa9\xe7\xc8\x97\xc8\xd7`\x12\x00\xcc\xf0~\ +\xf9=\x8cN\x00\xbc\x02\xac\x00\xf0p\xbf\x11\xd7\x04`\ +\xe0\xfbXg\xec74z\xa8;\x19\xb1Uc\xd3\x19\ +\xa1\xe4S\xd4A\x5c\x17\xfeS\xe3e\xd2\x91\x89\xbe\xc8\ +\x9d\xc4\x7f\xa6Q{\xb4\x8d~\x91\xf0gf\xb2\x0dq\ +_(\xcc\xea\xd2\xe9\xa5\xc3\x838\x0e3\xcbsX4\ +\x1b\x1f/p\xf9\xa0$L\xbd\x02\xbc_\x98{\xa1\xd5\ +\x17A\xe1sp\xc3x?t\x9ax\xe5\xef\xf9\xfa\x9e\ +\x9f\xbaw\xa6\x11\x09\x04\x88\xe0\xfd\xf0\xfbx\xf0\xf8\x1c\ +\xdc\xa0\x05\xf5y)\x0c\x96V\xc1\xc4\xf5VbD\xe1\ +\xe5\xa2\x0d\xd8\xb2\xa1\x9e\xcd\xfb\xa1@\xe2}\x83@q\ +\xc3\xf9:\x12Iu\xe0|\xa6G\x1d6\x7f\xe0\xe8\xfc\ +c\xfb\xf7\x89\xdai+\xea\xd5\xcf\x87Q\x86\x0fK\xad\ +\x1b\xc6\x073t\xea\x18y\xa2\xcb\x83\xc0\xc2cF\xe7\ +wB\xf0\xe8\xa0A\xbd\xd3\x86\xe3\x0f(\xea\xdaP\xcb\ +gT'P\x1b\x94\xcfhC\x1d\x13\x12\xed3`\xa8\ +\x9er?I\xd8\xb5\xe1x\xe7\xfd\xbf\xdd\x7f\xba\xa0&\ +mZ\xe8\x852\xba\xe9\xe0=\x86h\xa7#-\xdaA\ +\xe1\x05+\xb3s\xef\xb6h\x05\x1d\x7f\xa6\xb3\xea\x050\ +6fR\xe9u\xa4S\x07\x0cv\x84 \xd2\x83\x7fY\ +HT\xea\xe9`\x1f\x08\x22\xadD\xa4\x1bZ\x84\x19\xf2\ +\xb5k\xa2\xc9L\xa0S_Q\x95\x96(X7\xa7E\ +~\xdd\xc2\x22\x14\xd4zN\xdc\xf6Q\xb6i&\xc1X\ +D\x18\xb5\xbe\x5c\x84\x0f\xe4\x155e\x89&\xfa>\x00\ +\xe0\xa3\x0e33yP,\xbd\x10\x06\xc9\x94\xdb\x83\x8f\ +\x94h6\xd7\xd5de\x83\xe8j\xdd\xbdB\xc6\xb5 \ +(\xa48Xa.\xe8s9\x00!\x84\x18\x11\xb9\xf4\ +\x0e\x8bv\xa0\x0ff\xcb\x89\xf8lA+bM\x8bf\ +\x7f\x8a\x1b\x04\x9d\x03W\x11f\x86\x94\x8e8\xfbk\x9f\ +r' \xc5g8\x01\x0a\x10\xbd\xe1\xe0!1Wg\ +\xcd\x19\x02P\xc78\x88\x00Xx\xae8H\xf59\x9d\ +I\x01p\xcb\xe8\x91\xa8\xd5\xde\xe9\xfd\x9d:\xf5\x12\xf7\ +\xcc\xe5\xfb\xaeV\xc0\x93H8\xc3\x02\xe0f\x91j\x1f\ +\xeb\x22VR\xa5/\x93\xab\xe75\x91$\x072\x00F\ +H\x988?\x8e\xb7h#\x17>\xb2$\xe6\x93\xabu\ +\xcb~m<[\x8e\xd9\x95\xf0>\x17:\x80JPK\ +y\x9c\x13\xcd\xe1R\xc3\xa5\x0b\x93\x88\x19T(\xa9\xf8\ +g\xa3>\x0c\xd3\x03\xc4\x9f\xcf\xb9o.\xe7\xf6\x0d\x9d\ +\x1f:\xc1$\x18{O\xecU\x80\xdb\x0b'.*\xeb\ +\x97D^\xaa\xfe\xe6\xed`\xfb#\x05\x8fi\xce\x9b\xea\ +\xfcp\x8d\x1co\x0f\x80&\xfb\x18\x22\x8d\x7f\xb0\x08\xe7\ +\x80\x5c(\xa6\x9b\xc3\x22\xe7\x07\xd7[\x84Yj1W\ +\x98Y-\x0c\x805\x94\xc8\xcd\xad\xfb\xf9\x11\x01/\x0f\ +\x86Yi[m&\xd6x\x7f\x8e\x07\x9ahS)g\ +OW\xe7\xe5\xb7\xcd\xd6\xce\xf7a\xa8\xbe\x12_\xf5\xeb\ +sk\x81\x8c\x1d0\xf1\xc2L\x89/vR\xaeE\x22\ +QI\xd6m)\x14\x9e,\xcfs\x15\x07\x93k\x8e\xfb\ +*\xd3\xe9\x97\x86\xcc\xe4\x9c\x93sM\xe6}>\x1dc\ +\x11\x0a\x16\x89A\xba\xb8\x9f\x18>yU\x16\x00\xd0\xc5\ +1\xff\xd8\x0f\x10\x05~\xba\x8e\xb4\xa4/\xa5c\xd3\ +\xb1\x01h@\xb4\x95|\x98\xe7\x81QG58\xbas\ +\xeau\xe9v\xb5\xc8\xff^:=a\xc4\x91<\x15\x91\ +\x5c\xf2\x10Fd\xd9\x97yN\xa1\xec\xc3\x5c%\x7f\xa2\ +\x10e_\xa5n\xa2\xd3\x8f\x9b\x0f\xfb\x02\x22\xd5t\x80\ +a\xe0p~\xc0\x0c`_\x81qI\x9e@g[\xc0\ +\x12#6\xe9V\x8b\xe0bC\xfe \xa6\x90\xefO\xb8\ +\xefp\x1d8\xf7\xa4\xe1\xe5\xcc*\xec\xebT\xb8\x0f~\ +l\x11\x18\x8a\x00\xf3\x00fZ7\xe3c-\x02\xa3\x88\ +?\xd3\xe9\xd6\xf5p\xb7\x22\xf2\x06\x5cz\x00\xa2\x18\x81\ +\x80\x81L\xa3\xa1\xef\x8a\xf4P\xbe\xfb\xa1\xae\xf0\x11\xcc\ +{\xaa8%\xc0\x9c\x17\xdc\xdc/\xf2\x11(\xf7\xe4S\ +l\xa0\x14\xec\x14\xf0\x14\xe6|=\xa2\x9f\x88_S'\ +\xf0\xfe\x01\x02`\x08\xf0~\xf9\x1c\xecC\x02\x0e\xbc\xce\ +\xa4\x9e\xe4\xfbi\xe8\xc2dP}\xc79\xe4u.\x0d\ +\x08\xd5\xa1\x9e\x0fq\xfe\xa0\xf5$F\xd4\xa4\x7f0:\ +\xff\xf3\x89\x12\x86(\x07\x058\x0b\x1a\x1b\xc0\x05Ki\ +\xeb*\xfa^\xf8\x22\xd2\xc7\x05\xe4\x821\x03jb\x5c\ +s\x85YD+\x9f\xe7\x0b#\x06\xf1\xcf\xf3\xa8 \x7f\ +S(\xcc\xfb\xa3\x09 6qF\xffM\xe1\x86Q\x98\ +\xf6\xc5\x19\xfa3;} \x80\xdf\xc3\x0d\xf9_\xa2\x80\ +\xbcR\xf0S\xd8\x0b \xc9iu\x15a\xdbT\xb3v\ +\x14\xd0tP\x85\xe80\x83\xef\x14&\x0ay\x98\x15\x00\ ++\xfc|\xae77^_\xe7*\xf8\xcc\x88\x09X\x98\ +\xd8\xa2&\xa4\x14l\xdd>\x16a\xc1C\xb5\xf9\x8c\x80\ +\x08!\xad\xfe\xb9\xa1\xe6r?A8A\xc6@\xee\xf9\ +\x8f\xfb\x22\xbb\x09\xdf\xf0.\xae\xea\xe3\x14h\x83\x1b\x06\ +\xd7\xdb\xac\xb0\x8f0P\x00\x1c[7\xa22Z\x9bZ\ +\x87\xd9G8\xa0\x12!B\x83x\x0cbt\xbco\x0a\ +|l\xf5\xb0\xe5\x91/2>\xe7\xe9\x03\x16\xa5\xd3\xff\ +L\xe9\xf4\xab\xc3\xe9\xf6Hh\x19\xe8`wUt\xd9\ +\xf7u\x1f\xb0\x08\xb3\x7f\xd8a\xe9\xc1\x1b\x5ck\xd1f\ +\xc1\x99e\x86\x22Xf\xf6\x96j\x1b\xf7\xf85\x8b\xe6\ +\x0b\xcel)T?\x0ayf\xf3}f\x0f \x03\x95\ +\xdbe-\x82\xd8\x9a6\xec\xee\x19\x8bV\xe8\x8c\x7fm\ +\x11\x12\x136v(\xf1lh\xdcWF*4\xbbK\ +\x81\xe5\x88*@\x0c\xeb\x97\x0d\x17\xea\x1c\x89\x00\x1b \ +\x85)\xb6`\x02\x80\x5c\xcd\x1cm\x81\x03-\xdaA\xeb\ +\xeb\x14\x95ju\xac\xd0\xde`\x1f*\x89\xcf\xb3ZY\ +u\x00\x00 \x00IDAT2\xe1\xb9\xd7\xf3\xc5\xc1\ +\xd6\xfd\xd4\xa2Q\x81\xd3Fi\xc3\xb4QI0f\x8a\ +\x8c\x84\x89[4K\xbaFU\xa9\xf7B\x18Uv\x00\ +\x1b\x988\xb2\xffq \x85\x03\x8a\x19~\xd63\x89\x08\ +\x09\x0e\xfb\x09\x1a\x04\xccn\xe9\x00\xf1\x84\x04\xaa\x1b\x1d\ +\x03\xf6]\xc4\x0e\x01v\xb0\x9f\xe29\xa5\x93\x80\xbf\xed\ +\x86b\xf8Ht\xca\xef\xe7\xac\xd2\x80\xd1\xefw\xf10\ +\x0a9\x00B%&\xaeQ\xc0L\xb1\xc1}\x0f\x17\x0d\ +\x93\xb3\xcdM\xc3\x01Al[\xd1(\x10\xa5\xd6\xbcC\ +\xcc=\xc4U\xb2\xb1\x03\xe2\xf3 B{h!\x8dN\ +\xa4\xc7-\x82;\x81%\x1a_\xaa\xd4\xfe2\xda\xf4\x81\ +\xf1V\x06\xd0\xa6?U\xb1\xb9\xfc\xbb+5W\xb3\xe3\ +>;\xcc\xfde\xf6_\x05\x0c\xe2\xa1\xc5\xe5\xdc\x00\x9e\ +G*\xe3\xa8\x88\x90\x1e\x15\x0a\x1e\xe3\x05\xadS\x0a\x93\ +%\xac0\xc9\x9f\xe2H\xfb\x1c\xe9\xf0tX:\xbci\ +b\xa4/\xe78~bb8\x8bE\xa1\x9a\xe7\x08#\ +R\xd8[q\x9fxEKf\xbb\x1c\xb9P\x9d\x5c\xc9\ +\xa2m\xb7P[\x11I+\xfb\xfc\x81M\xfc\xd2\xed\x9c\ +\xf4\xfc\xa4\x9d,\x1a\xa5\xdf\xd5\xb4\x19\xd9\xb82\xc7\x15\ +E\xcb\xe1\xfa\x22.h}\x9a\xefj]/\x1aFH\ +x\x0e\x11;\xa4c!\xe6\x8f\xbbA\xa8\x03\x98\x0b\x91\ +\xc7\x07\x8f\x87\x8e\xea\xc5\x16\xf9\xfd\x7fD\x8c,\x89\xab\ +\xb9Z\xfd\xb9\xd5f\x92B\x02\xaa5\x1a\x17\x93\xa7X\ +\x04*\xfa\xe5\x95\xd2mn\xf2f\xef\x0a\xa3*\xbd`\ +\xd1\x80\xb3\xee63H\xcc_\xbf\x8b\xc4\xbd\x00\x90\x96\ +\xd4\xf3\xbf\xbcE\xbeO\x9b[\x84B\x5c\xf9\xc0h-\ +\x8b\xd2\x81/\x1d\xf6\xd2\x89\xb6\x99\xdb+-\xc2\xfd\xd2\ +\xa8\x9a\xcf\x80k\xf6\x7ft\x9eE\xfe\xbe\x15-Zb\ +\x8c\xbb\x0d\x94S\x9e\xbb\xd2\xc0\x1e\x97\xcfY\xc5\xa0\xba\ +\x0aXu\x1bY\xe4\xaf\xbf\xc2\x220\xf4(l\xc5\xa8\ +\xf4F\x02\x09\xe5,\x02\xd2\xcfR\x87S\x9d\xb8\xee|\ +\x8b\xfc\xfb\xee\xb6h\xe7\x8b\x8f\xf8i\xfd\xe4OS\xce\ +\xaf\xc2\x8cz8\x00\xda\x12\xa7M?\xb4\x08\xfb\x81:\ +\x80\xe9`\x8b\xfc:\x93E\x1bu)\xe5\xe1\xf74*\ +i\x0c\x9ek-\xday\xc6l,\xaa\xdc\x88\x09:\xf3\ +O\xb3\xbc\x05\xb0\xcf\x89\xb2\xf5}\xbb0\xf2Wx+\ +\x8f\x86\x06\x0b\x8d,\x0aG\x01\xba\xde1\xa4\x83\xaa\xf3\ +\xd3\x99\x144\x5c`\xd0\xe0\xe3\x8e\x1b\x02\xe7\x0e\xbe\xf2\ +\x88|\x01<\xcaN5\xe4\x99%\xaf\xb5\x81\x08\xeb\x10\ +\x8f\xdf=~w\x97\xf3\xb7n\xe6n\xe6R\xe8\x7f9\ +\xc7\x09\xf9\xf5\x1e\x8bf\x7f\xcc+#\x89\x0e\x00r\xce\ +X\xb9h#\x15'\xe5\xf8ZS\x87O\x9f\xca\xb1o\ +(@\xa0\x88S\xb8!6&M\x07\xf6cg|)\ +\x0fsq\xe0\x1d+\xa3\xc0\xed\xd1\xc8{\xbe\x9b\xf3\xa4\ +\xef\x96|\xe6[%\x9f\xe1>\xc0\xa4\x82\x19K\x81z\ +\x9e\x00#\x156<\x7f6X`\xa3\x05\x833\xea\xe8\ +\x17Z-\x8ch\xa2=\xc4\xf5\x87\x19\xd9\xbdl\x11\x1a\ +_\xec\xab\xb8\x02\xa1\xa9\xf0N\x8b\x02\xfc\xd7\x91A\x0a\ +D\xc4\xfc(\x9ch8\x91\xf7\x08\xa8\xf1\x99m\xcem\ +\xf2#1\x07\x9c1\x00\x85[\x8d\x80\xa2\x91\xf1T\xf8\ +\xbe\x9e\xdb\x99S\xbf\xd1\x00\x02\xa8\x91\xa6H_|\xd1\ +\x19\xbc+Tm\x86\xc1\x8d\x16\xa1!\xc3\xe7b}\x92\ +\x8702M\x1d\x01\xd3\x83\xfb\xb8\x95Eh\xcc\xd2h\ +T\xc1\xeey\x15b\x95b\xee\xb8\x0b\xc6\x0fK\xb4\xfa\ +\x81\xf7K\xfe\x02\xc3\x82\x06\x09u\x1a\xda\x5c\x00$\x14\ +\xd6t\xd8\xe9\xbc\xd3`yI\x0dO\xea\x22\x1a\xcf\xac\ +3\xf6=\x18\x10\x884\x92?\xf1s\x01b8\xc7\xf8\ +=\xfc;\x00\x0c\x1a\x06\x12e\xf7\xcf\x0f\xc0\xc3}F\ +\xb3\x84\xbf\x07\x10A\x03\x82F\x11\xa3\x98\xd4\x97\x00\x13\ +0\xab\x1f\xb1\x08y8_\xc7\xfd$\x7f\xa4!M\xbe\ +\x0d\xb0\xa3F\xad\xdbK\xaa\x0e\x9d,\xdf\xb6d\xa0\xda\ +\xc7Bz>\xfd\x99N\xfc\x02\xe1\xeb\xf8s\x9c\x01\x9c\ +Q\x89\xf8\xb0m \xaf\xa34\x0dDU\x8d\x0b\x0e\x80\ +\xa1?kO\xa1\x8b\xe6\x00#\x04\xfdB\x9f\xf7\xc7\x05\ +\xe1\x95\x85\x80]\x05\x8c\x03F\x13(\xf8\xfb\x0c\x01\xc4\ +\xdaH\xcc\x99%\xe7\xf7RX\xf6G\x11x\xbf0\x1c\ +V\xaf\x1d5\x9f\xbd\xe7`f\xf6\x11\xea2\xd4z\xa9\ +\xf4;Ur=\x8b\xe0\x0f\xcd\xc6\x8bo8j\xea\x8c\ +\x22\xc0\x808P\x226\xb2\xa1\xf2\xd9\x16T\xd8\xe9\x04\ +\xbe_?\x97\x07\xfbS\x95\xf2\xea\x1dI\xa8t;\xab\ +\xe3\xc3\xf5\x14R\xeb\x1d\x9fu\xf5y6\x91\xe6\xc3\x07\ +\xe4O\xba\x81\xec%\x0f\xae\xaa\xa2\xbe\x01\xf1}<\xb8\ +\x1b\xe8\xba\xbcO3\xd0\x96x^Y\x12\x9a\xf2\x8a\xdd\ +\x8a\xcf\xd2\x9eg\x11|\xe2\xf5\x00`\xdf\xe2\x1d{\xee\ +\x0b\x9d^Q\xee\x07\xa7Z4D\x0eJ\xb2\x8b\xa7\xa9\ +c\xe5\xb6aB*\x8b]\xd3o\x82X\x22\xb3\xf9\xf2\ +\x8b\xa5\xd3Na\xed\x05\x0e\x94Z\xcd\xbe\xd1I\xc6f\ +ot\xbbE\x10\x85D\xcc\x06\xa6\x00\xb3Y \xa1\x1c\ +\x5c\x9a\xdd\xc7\x9f\x97B\xdeg\x91\xe9\xa8i\x1d;\x90\ +B\xa27\xbdE[o\xe3\xe5-ZG\xa9;\xc9\x22\ +\xd8>\xc9f\xc6\x11cT\x7f\xf1A&\x01\xa5P\xa3\ +\x93\x82\xea\xa8\x0a\xb4\x5ch\xe6\x08\x89\x91\x10w\x17\x87\ +c\xe3\xe3\x00\x100\x01\x80\xe2\xc0\x13\xeb\x1e\x15`\xb9\ +k8\xb3\x87\x02\x9aN3\xcc\x1d\x00\x00\x0a_lj\ +$\xdeD'\xbd\xa8!\xaf\x1ff\xe9\xf4s\xb0\xa5\xcb\ +\x87d\xfd9\xb8<@%\xc7\xbf\x1c\xffs\xb4R\x04\ +\xf89\xd5Ybk\x9e\x00\xd0\x81f?b\xa3g\xff\ +D\xedUT<\xff~\xae\x136\x9c0\xa3\x00J\xd4\ +Aw\xd1P\xdc\x22P\x1f&q\x9eb2i\xad\xc3\ +\x81=[\xfa\x5c:$\x1dR\xeek\x05t~\x9fW\ +U\x14+B\x8dZ\x1dY\x07l\xd8\xe7H\x98\x95\xb8\ +\xf8\x08\x80\xa8j\x5c'\x7fN\x00\xae\xf6\xd6H\x14j\ +\xea\x00E\x00A\xb2\xc7\xf3N\x89\xd6iw\x9dEX\ +\xb7\xcc\xb8\x9b\x8d\xda\xb3\xed:\xe5\xf2\xe2\x1a+0\xc6\ +\x8f\xdaP@x\xfe\xae\xd4h\x13\xf7\xf3\xd9\xc13\xe5\ +>\xae=\xb1V\x01\x84g3\xe3\xab\xc6\xd0\x01h\xc5\ +m\xa2;\xba\xfb\xbcuvs\x12S\xed\xeeD\x9dO\ +\xe7[\xe4|\xeb7\x16\xe1z\xe1\x9a\xa2\x0e\x19@\xe3\ +\xe0\x17\x16AT\xcef\xc9Wk3\xfc\xc37\xe5\x98\ +\xafQ\x88a\xb0t\x7f\xb7\xd0\xfe\xf0B\xeb|\x02|\ +\x03@\x96\x19\xe7\xdb\xc3\xfa6\xb8\xe6p1/\xf6\x95\ +\xcd\xda_\x05\xcc\xde\xd4\xf6C\x9b\x98/\xfb/\xe2\x5c\ +\x14\xfeZ7N\xe1U\xe2\x94\x9f\xda\xf29\x06Wi\ +\xa4\x8b\xce6#;M\x9d\xb8\x02\x1d0\x80\xf6\xae\x0c\ +\x90t_\xba?\xdd_\xc4\xe1JA\xe8\x1d\xd5\x1f\x88\ +\x12\xac\x19d\xcfC\xf4\xe9}\xa4_Y\xa8\xf3\xb4\x95\ +\x80'\xdb\x7fG9\xba&\xfeX\xe0\xa7\xe3\x03\xd5\xde\ +\xfa\xaf'7q\xb6n\x05\x8b\xd6\x91\x87\x094\xde \ +\xc7\x86\x8d\x89W\xe0\xa7U[\xbeY\xce\xbfA\x9b\xed\ +w1=\x18z\xf8\xcdK\x0b\x03\x0a\xb2S\xccy\x0e\ +\x11EF\x04\x1bF\x22\x85\x99\x18\x95N\xbd\xd6\xa8\x99\ +\x8f2!f\xa8\x91\x12\x5cC\xba9,$\x8a\xf8\x8d\ +\xfcz@\x8eW\x0bS1\x87\x98&\xcf\xb4\x11>D\ +W}\xdf\xd7\xb9F\x07\xb8\x14\xe66:y\xa2E\x10\ +\x87\x83\xb9\xab\xf5\xe0b\x83\xd8)\xe7r\xdb\x987\xc5\ +\xd5\xe5\xa3\xa1c\x0b\xa3\xe7\xe79\xae\x0ey6\x05$\ +\x14p\x01\xbd\x83\xd3\xeb(\xe4xO\xf3\x9f)\xf5@\ +\x15\xe9Ft\x0d\xbb\xbeOiT\x02\xa6\xd3\x9f-\x9a\ +\x18-n4^P!z\xf9'\x01B*\xa4m\x15\ +\xda:$\xaf\x81aXFl6j\x0cI\x9fq'\ +\x8f\xe0\xfd\xdf/\x00\x1d\xdbV:\xef0\x018\x8fy\ +~\xf8~\x0aL\x1a\x01\x9cS\xeck\x9c\x93\xe4+\xca\ +\x03\x5c+\x0d\x0d-\xb4|\xd0\x94Y\xcd\x22P\xf5\xc5\ +<\xf4F\xaa\xb4k\xfc}\x22\xe2\xa7s\xcf5O\x94\ +G\x02@\xc3\xa0\xf2z\xa3/z\x0e\xb0E\xa1\xaeQ\ +G\x1f\x09\xd2s\xe2Z\x14\xe43\xb8\x070j\xc0\xa8\ +$L\x18\xdc\x06\x10E\x85\x89\x00\x13\x0c\xc6\x10\xff\xce\ +\xcc?b\xcf\x8c\x8e0\x82F#\x01\xa6$y#\x1b\ +7\xcc\x10\xea6\x80\x05\x98\xd14@\xfa.\x02\xfc^\ +FI\xee\xb6\x08\x0dJD0\x19e\x10#\xc8\x19!\ +0\xa0\xc9\xe3i\xcc\x00`\xd0\x90\x14s\xc8\xdd\x0f\xfa\ +\xael\xbc\x0f\xad#\xea=\x07\x02h\x0c\x91\xd7\xf2\xb9\ +\xc9\xb7\x00<\x18\xd1E\x14V\xf5]\xd1b\xf9\x9dm\ +\x8f\xa8\x1db\x87\x17)\xf8o\xd4\xe9\xd6l_\xd9F\ +\x96\x10\xc2\x1c\x0a_\xb7\x03\xb4\xc7\xfc\xbf=q\x84Q\ +\xb0\x01df\x15\x8a\x05L\x82\xc84X$\x00\x0d\xf8\ +\x11\x1b\x02?\x7f\xfb\xfde\x19F\x86\x00\x80\x01H\x15\ +H+\x9d\x7f\x0a}\x0a\x01^\xf9w\x12\x89>\x95\x9f\ +\x9f\x1f\xafCd\x06@e]A\xd4e\x12`\x0a\x00\ +:\x0c\x14\xfct\xf4\xb1o\x01\x10@\x5c\x10\xd1\xbf\x15\ +\x05X\xd0Q\xc1e\x00\xca\x1b\x05\x97\xd4X\x11)r\ +\x80\x00\xd1\x94M\x94(\xb1Pg\x7f\xbd\xc8\x85\x17\x22\ +{T\x0a\xf2`s\x15d \x97 K\xa8I\xf2@\ +@\xd9\xc1\x1f{]\xcd\x88\xa1\x86\xcd\xbf\xc3\x1c\xb8N\ +\x88\xef.\xe3]\xc7\xbb6D\x9e\xcf\xed\x1b#3M\ +z\xbf\xcel`\xc6\x0c\x91\x9dc\xabz\xb9\x1f\xe8\xcc\ +$#\x96Ha%\x11F?\xa0\xe5\x02\xe0\xaa\xbd$\ +\xdcP\xde\xd4\xe1tf\x866\xcc\xf4\x17\x8b0c\xf6\ +\xe5*\x22\xe83\x85\xa2^\x8f\xd6\xb3h\xc0S\xda\xc5\ +\x22\x88\x0e\xc9\xb7\xdc\x13v\x89\x9c\xf9\xc1,\x11\x1d\x0e\ +D\xee\x93S\x5c\xe5o\xecTt\xec\x9dH\xe8QW\ +\xe7\xba\xd2a\x14U\xaf;\xcb\xa2\x1d8\x1c\xac\xdd\xf5\ +\x16A\xfc\x11qB+|f\x0b\xd4\xe1\x85\xa6u\ +\x9e\x0e\x0f*\xe5vJ\xcc\x1c:\xc2\xd6\x91=\xb9u\ +t\xba\xc7,\xda\xbeGG\x96u\xd1\xfd\xc4\x22t\xbc\ +(\x88I\xb4\xb6\x1coQ\xec\x12\xd7\x1f\xbfk\xbc~\ +Q\xd1\xdd\xdfTtK\x1a\xf4S\xcd\xba\xaf\xde:\xc8\ +|\x1f\x0c\x08\x00\x8b\xe1G\x87;\x0fw\x09\xefGZ\ +\x03t\xfa\x87KY\x14`%GK\xec\xbcS\xae\x8e\ +h\x11G\x1b\x86s\x06Q]\xec\xb3d\xcf\x98>\x9c\ +c\xc7\x06T\x0e\x17\xb2\xc8\xbf\xff\x879~\xd4fO\ +\xbb\xd9-\xdaL\xbbSW\xd1f\xb0\x82\xeaX\x8d\xd8\ +\xdc\x1e\xdc\x00\x8cB\xb8\xae\x00\x5c|\xa2\x03\xb3\xca\x99\ +n\x02v\xa0\xb0BMt\xed\x89I\x01\x85&\xea\xb8\ +[(P\xe9\x1c\xbeb\x91\xdf\xe7\x0f,JbX]\ +E\xf4<\x0df\x1dL\x19Li\xeb\xde\x0b\xcby-\ +4j\xb1qIx\x96.\x1a\x12\x8cR\xa9\xe3\x9ew\ +\xfb\xea>\xf3\x99:3\xcf\xb9\xe6@/\xff)QM\ +\x7f\xb2\xc8\xd7\xf3\x06\x8b\xc0\xbc\xd1\xfe\xce\xb9c\x13\xd4\ +6C=\xf9\xe7\xc9\x87'\x1f.\xcfq\x01\xee\x1dH\ +\x9fR\x13\xfc\xee\x8b\xdd\x97\xba\x5c\x10w_\xb7\x08\xa3\ +EZ\x07\xa5\xb0\xfay\xebl\x96\xe7+t\xb8\x00r\ +\xe9\xac\xfb\x8c-\x8c\xa7\xab\x958\x93\xe8\xe2\xab\x0dS\ +\x87\x04\x13\xd1+\x18\x06?\x12\xe3\x83\x82\x1af\x9c\x80\ +\xe0\xb4\x91E~\xdfwZ\x84Q4\xdcc\xb0\xfb\xd3\ +h@\xd1\xae\x99N\xe7\xc2\x06\xf9\xfa]b\xd1\x98m\ +\x05\x98h(lg\x11\xecw\xc9\xf3\xe8\xe8\ +K\xa4\x94\xd1N\x17-\xa5 '\xcf\x07\x18E;\x01\ +1ED\xb5\x1fV\xc1M\x01O\x01L]\xcb\xe8 \ +\xf9%\x852\x1d}\x9e\x0f\x1al06\x00t\xa8'\ +\x00v\xfav\x82\x5c7\x1a\xb0\xdc\x7f\x01\x00\xacg\x0a\ +w\xd7V\x00Hd\xa4\x02\x86'\x9f\x03\x86\x01\x8d\x1a\ +\x80\xa3y-\x02`\xd4/\xf8\x01\xa8\x00 \x00\x98y\ +\x1e[\x9dZ\xb4H&K\xe1\xbf\x98\x12\xc7%\xc2\x01\ +\x1fg\xef\x17\x0c\x94\x7f\x15\xe4PD\xbc\xa3\xceh\x00\ +\xd4~\x0aj\x12\x0d\x0a\xb1\x19\x8a<\x5cChx\xc5\ +\xde\x8f\x03\x8c\xc2{\xe1:c\xea\x88\xeb\xd2\xf5\x80\x9f\ +\xc6\x9e\xaf_\xe8\xd3\xf9G\x95\x1d\xe4\xb3_\xf8\x03\x08\ +\x90\x10\xe2\xfb\xcdF\xdb\x1f\x81\xe8\x03\x00P\xef\xb1A\ +\x81\xfa\x0c\xd5\x9fWf\xfd\x01\x06Hl\xf1AW\xa7\ +\xca\xbf\x9f\xeb\xbaB\xaf\xe3\x8f\xf8\x15\x00\x82\x00\x06\x17\ +c\x82\xb1\xb0y\xaf\xc3\xff\xa2\xa8\xfa\x88\xb2\xa1F\x8b\ +\x9d\x13*\xa2 \xb4\xcc\x08k\x03\x06\xa8\xf1\xd9\xd4Y\ +u\xfd8@)\xe8@\xa6\xd6\xd3\xfb\xdaP\xaa\xbd\x8c\ +@\x90\x80\x90 \xaa\xa39\xb8B\xb3\x89$* \xab\ +P\xa0\xd4\x91\x18/d\x11T\xe1\xe9\xec\x89\x1a\xe8\x1d\ +e!\x9e\xe6fl~\xc6t\x0cI@\x9db.F\ +AN\xfc\xd7/\x89?\xb38\x9aI\xf6\x82_\x89\xa4\ +\xab.3\xfb)\x91\xc5\xee~\x8b`\xfb\x86\x0d\x1b\x14\ +,!{i;\x8bF\xc5A\x5c\xcegy\xd9\xb8\xf1\ +e\xd6\x83\xea\xfe\xe8t\x9eH0@^\xf9\xbdt\xc4\ +D\xbd\xc2\x87\xdd\xa9\x9bb\x1e\x8c\x87\x16\xcd\x8e\xaf\xfb\ +\x93E\xbb\xbf^\xf8J\xc4\x91\x91\x00\xa7l\xab\xf0u\ +\xca!~\xc9\xd8\x91h\x1d@u\xf2\xd9a\xcd\x8a\xfa\ +A\xa7\x03\xc6m\x19Y\x9f\x8c\xe6\xb0\x0e@\xe0U\x98\ +\xb8\x9a.\x89\xa5\x18\x02\xd8 \xbaz;\x14+\xbe\x0f\ +\xd5}m\x8c\xce\x90\x81R\x87\xa8\x22\x08,\xc0\x95\x0e\ +\xfe\x9c\x86\x94\xef\xb7~[\xe9\xb8I\x85\xdd\xd5\xa3\x99\ +Q\xd6\xbarQ1\xb42z\x14\xadB\xb1\xbe> \ +\xf4\xd8|B\x01d\xb6\x9f\xefct@\x05u\xa1t\ +~* \xbc'V_\xf8\xf1\xfc5\x81\x05pq\xa6\ +\x8a\xdc\x03<\xa1\x831\x80\xe8&\xef[\xb6|hW\ +\x0cnVazV\x15G\x1b\x5cX\xc5\x87J\x07o\ +T\xa8\xcb\xf7\x1au\xb9\x00\x7f;\x94\x02\xfe\xf0B\xe5\ +\x87\xa1\xa1\xd9K\xd6\x0f\xea\xe9\x8c\x08\xb9(\x22>\xce\ +6\xf3\xfc@\xbb\xce\xaeI \x8a\xb4\x17\x86\xd2\x90(\ +3\xec\xf9@\xb4\xc9\xea\xee\xc8\xb6\x0f2\x13\x9b\xbea\ +\x91\xff\xfdP\x8bp]\x19\xc12J\xff\x91aFw\ +\x85\xf1\xf2\xc5\xe6\xaa\x0a\xc8z\xa1\xe9\xc0'\xfb\xbf\xc4\ +\xa1\x06\xd7X\x04\xc4^\x85\x08\xfbg\xe9\xac\xef\xdd\x0a\ +;\x00\x19O\xe4\x94\x880\x9b\xc7\xec\x9e\xbb7`\xff\ +C\x82n\x09\xf5d\xb0!\xbc\xd4\xa2\xa9E\x17@3\ +?\x0f\xdd?r<\xd3:\xe1\xc5\x0e\xec\xaf*x\xac\ +\xc0;6\xc7qb|\x9d\x11\x80\x1c\x83U\xb6\x14\xc3\ +\xe0\xf6p\x0eH\x03\x01\x9fv_73Y\x14\x00\xb5\ +v\xa6\x1f\xa8\xeb'\x97\xe1/\x0e^\x0c\xa2\x9c\x02\x9e\ +\x00\x06}\x1dB\xfd\xdd'\xedk\x14\xe5\xd1\xfd\x16\xe1\ +\x9c\x14p\x93.\xb6h\xae\x14\xe9Y\x8b\xfcza\xba\ + ] \x9b\xc43\xca\xf3\x7fG\xd1\x0a\xc1\xcd`\x1b\ +\xad/\x9e;[/\xf7\xb7\x11\x04\xd7\xa0\xe0\x5c\x91Z\ +\xfa\xc4\xdfjB\xec\xe7+\x80\x9f\x80\x88\xe1\x99\x16\xf9\ +\xf5!\x8b\xd6\xd9\xc2\xad\xa2[\xcb\x22\x7f\x9e;,\xc2\ +\xe8\x83\x00G\xf6\x0f\xf6\x0d\xef\xe8\xa1\x09\x84v\x8a\x80\ +\xa72\xa3=gHH\x05Xw\x07Y\x94\xc2\xb8\x02\ +R\xec'\x00-$\xfa\xcc\x86r\x9f\xc9\x83h\xc4\xd0\ +\x81\xa2\xa3\x0d\xc0(`\xb1\xfb\xbeE~\xdd\xac{_\ +\x97\xf7\xf7\xd1\x9f,\xda\xfbH'X4[\xba\x22^\ +\xb7|\xd18\xd8\xbet\xca\xf9\x1c\x1aq+\xd4\xf5k\ +\x1b`\x07\xf0W\xce\xcd\x05\x9b\xf6E\x01\xb6\x1fi\x9d\ +\xcf\xb4\xbdE\xfe\xbe\xefU\x91O\xb7}\x83\xe1\x04 \ +oZ\x00s\x86\x0e\xe6a\x16\xe1\xfd\xa9\xa0\x84B\xee\ +v\xb7$\xf4$\xce\x5co\xce\x05\xf29\x01\x10\xd8&\ +c\xd3\xdb\xbd\xd9\xa20Q^0&J\xbe^9\x8a\ +[\xd0Y\xa3\x5c\xe0\x8fN\xb4\x90\x08\xddJ\x1a\x05Y\ +)\x00\x97\xe4\x8d\xe4i\xca\xaf\x5c\x8c\x93\xff`\x8c\x0a\ +\x88\xc0>\xcf\x19-\xd8\xb4\x8a\xe1\xe46\xaa\x06\x18]\ +\xdd4\x1f|\xf4\xc1\xb2\xc5\x15\xc2\x8c\xfdGzL\xd2\ +\xa9\xb5\x10\xcf{\x85E\x9bIF\x13\x05W&\xc4\xe2\ +\xc4\x08\x19\xcf]\x1b\x14>\x0a#\xf7\x84|\xd5v\x1c\ +\xef\xd8\xf6\xdf4W\x9a;\xe5\xeb\x9d\xbe`\x11\xb4\x10\ +\x94\x17\xe52\xf8\x89\xf1\x13\x05(\xf9\xf6\xf8\xdb\xa5\x10\ +*@\xbaIZ\x17Qk(\xe5h?\x09\xb0r\x06\ +*\xee=\x88\xc9\x01\xf0 \xbe\x06\xa0\xcb\x08\x1c6\x8c\ +\x8c\xae\xa2\xbd\xc3\xc8\x18\x8d\x0e\x89\xd6:\xc5\x9a<\x5c\ +\x0d\x07\xec }\x06\x9c\x86\x86FP\xbdP\xa3\xfe\xa1\ +N\xa0\x81G\xde\xcaH\x03ZF\x00\x00\x9cK\xbc?\ +(\xe10\x80\x98\xb9g\x84U\xa2\x92^0\xf65\xd0\ +\x10\x15\xe7\xfd\xb2N\xf8\xf7\xedK\xb8\x88\xa3\x17\xe4\xd4\ +%\x88\xfb\xe99\xf4\x82\x99\x02\x97\xf7\x8dk\x10\xf9\x0d\ +\x0d$>_O\xbc\x0eqd\x1f\x89\xe0\xfd?+f\ +1\xf9\x22\x85>\xf5\x0cb\x9a\xff\xb6\x08\x0cJ\xf2J\ +\xb4\xa4\x00\xf6\x01@\xd0\xbabd\x03\x91\xe9\xad,B\ +\x1eJ\xc3\x92\xcf\xc3\xfa\xc0\xa6Q\x1aY\xbe\xbe\xc8\xc7\ +a>\x00\x0c12\x8b\xda\xbfD\x94m\xb5\xdbz\xf7\ +|\x96:\x97z\x89\xebI\x83\x03@\x8b\x86\x0b\xf7\x11\ +QI1\x1b&_G\xf1_\xb0\xf7\xba@x\x95\x0b\ +\x80\xdb\xf3\xf1F)\xc8I\xdc)\xb4)\xac\xf9y\x9a\ +\x1d|\xdd\xecz\x9c\xc5g\x84\x80Wi\x09\x94\x0e\xea\ +\xec:\x80\x96\x0a\x89\x17@\xc3\x12e:\xf3\xf5\xa2|\ +\xf3\xbd\xc1\xec>\x9d}\x0a\x0b:\xdf}\x91\x07\x16\x1c\ +\x94\x1d\x1edf\x94\xfbj\xd5\xab\xa9\xf0\xc5\xa6d%\ +uF@\xae@\xa2\xd8\xb8A\x16)\xdc\xdfb\x11\x0e\ +\x146~\x0aw^\xb9\xdeh\x07Pp1\x83C\xe1\ +\x02\x80\x00RK\xa7\x86\x05\xc3\x83\xc8\x9f\xe9,\xa93\ +\xec*\xb5\x9a]\xf1\x8e!\x89\xac>\xc7\xf8\xe6J\xcd\ +vd\x14\xa4\x9b\xf7\xb1\x84\xae\xd7\xda\x02\x16D\xa9\xf5\ +\x82\xef\xccJ\xc9t\xf1\x19D\xef\x0e\xd1\x8c\xde\x85\xb5\ +\xa3\xe9\xfe\xf6$\x22\x00Jl\x18\x9a\x15\xc6\x06\xd0}\ +f\xd5\x19A\xdd\x9a\xc4\x18\xea\x9c\x8fz\xbcd\x11\x0a\ +\x01\xa9\xaa\xba\xdd\x15n\x03$\xd0\x8fZ\x04\xb1\x99\xd2\ +\xdak\xe28t\xf6\xa1\xc2y\xe1\xf1+\x8b\xb0\xb1\xb0\ +\xd1#\xd2\x88(\xa3(\xff\xc5\xb7z\x960s\x8d\xa8\ +\x13\x8c\x11\xec\x1b9\x80\xe9hc;\x85\xed\xa5\xd4\xa2\ +\xdd\xd6\x8e\xfbOa\x0b\x15\x16W\x07\x12\x06%\x10N\ +\xc9&\x11\xc5vG\x1b\xbf\xbb<`\xf7\x02\x15\x9fY\ +b\x89\xbfq\xd0\xf9z\xe5\xf7j\x7f`6r\xf0E\ +\x8b\xf0|\xa2)\x00\xd5\x9b\xce8\x9dGF\x1e\x00\xe2\ +4\xb3\xe93\x7f0?\x10/\x22\xb1\xe1\xf9\x142\xed\ +\x94,idx'\x9f\x03\x0b\xc4\x18\x84\x9a\xd91F\ +ZH8\xb4\xbf\xd1i\x80z\xec\xd4wS\xb3\xbe%\ +\xd8\xd1\xc1\x10\x02\xf0\xc4~\x8eYU=_\xa6]_\ +\xd4\xeb\xd5\x11p\xbb&1\x1e\xdc\xeeO\x85\xce\xf8\x14\ +%|\xd7V\x11+\x9f\xbd\x04\xd8\x83i\xf4\x7f*X\ +)\xb4\xb1\xb1\x83\xd2\x0c\xe2\x8ek\xc2\xa3\x15HK\x1f\ +O\xbb\xa7\xdd\x0b\xd0T\x00\xbaB\x0d\xff~I\xa8\x0a\ +3\xa5\xecZ\xcb\x85\xf5~ay\xa2]L\x0e\xea*\ +b\x7f\xbe\xee5\xaaPf\xba_j\x9d\xc0\xc1\x8c\x16\ +m\xfdx\x81\x03\x80(\xb5\xfc\xd2\xf1\xfc\xbb\x80\xad_\ +\xaaC\xb9[\x98\xb5\xd6\xfa\xc5\x06\xb3\x94w\x7f\xd3\xbe\ +\xb5vc\xfap`3j\xc3\x0c4\x1dv\xdf\xef\xa0\ +\xd6\x8a\x81\xc1(\x00#_\xdd\xe6\x16\xf9\xfb\xb7\x10\xc3\ +\x80\x02\x84\x91\x08\x98FrAa\xa6\xd5g\xb6\xe9|\ +\xc0\xa4\xbb\xb8\xdar\xf9z\xb34\xe9\xf1\x96\xb0\xa5\x0f\ +Z\x84\x8e\xd4\xc3\xa5G\xe2\x0c\x80\xd29\xb87\xb8M\ +\x18\x80y\x8c\xa8\xbf\x9fh\x00\x03\xf6\x8ber\xfb\x88\ +\xe0W\xbeJ\xb5\xc5s\x7ft\xc4m/\xae\x9dOw\ +;\xd1\xba\xa1\xb0\x06\xe0\x01\x10\xf5\xef\x170\xe8\xcf1\ +\xe7\x1a\x00.\x80\x95\x00\xc2\xf4{\x8b\xfc\xbae\xda\x22\ +mQ\x98 U\x15\x9cQ\x84\x17\xcb4hs5\xa0\ +\xc0\x7fj\xf0\xa4\x89\x0bN\x1c)\x7fw4\x11\xa6T\ +f\xc1\xf0\xfc\xe1\xd4a~>\xd3\xeci\xb64[\x13\ +\x99C|m\xf8\x8f\xe1\xd3\xc3\xbcn\xd3\xf1\x16\xf9\xcf\ +\x8bZ\xe4\xd7\xfb,\x82x\x97\x98C\xdd\xb3\x16y\x9b\ +]\xde\xa2\x9c\xa3\x15\xf0\xd4\xf9\x98\x1e\xb1\xc8\xaf\xe7Z\ +\x04[;\x00\x80IQ}\xa5u\xe4\x9d\xa3?Z\xb4\ +\x99r\xdf'\xb5?\x8d\xffV\xd7)\x1d\xec\xf4o\x8b\ +\xfc\xfd]u\x0f\xf0\xfb\xf8+\x8b\xa0Z/\x06\x193\ +\xc4\xeeB3\x83E\x13\x9d3\x97mS\xf5\x1e/b\ +\xd1\x80\x04o`\xa0zn?g\xc5\xc0H\xb2\xd1\xb5\ +cD}\xcf\xe7\xc6\xe8\xd0\x1c\x9f\x0b\xa3t\xd6\xf9\xb6\ +\x04\xf7C%\x5c\x0b\x22-\x98c\x01\xb9\xeb\x9c\xde\xa8\ +\xbb\x9c\xd3\xe9-\x16\x81\xea\x8d]\xa1\xa9\x94\xaf\xa3\xe7\ +\xe3\xc9\xb0\xae\x01\xac\x9e\xac\xeb\x81\x82\xd6\xed@\xb1\x09\ +T'\x10 \xdf\xb55(H%\xf6\xc7\xfb\xed\xb6\xb4\ +\xc8\xafkZ\xe4\xd7\xc7-\xf2\xeb\x12\x16\xf9\xf3n\x9a\ +#\xe7\x17\xdd\xc3\xd5\xc6\xd3L\x1d;\xcb\x17\x16\xb6h\ +\xfb;\x85\xb5\xaf\x93;-\x1a\x93h\xf0\x0d\x0bi5\ +Lm\xfb\x8e\xe71\x00\x89z\xeehX\x94\xe7{\x8f\ +p\x0e\xfca\xe2\xaeR\x08\xc0\xa8\x93\x0b\x00\xb6\x82\xb8\ +\xc5x#\x8a\xfc\x00\x0a\xb5\x11\xa1\xbf\x1a\x00}\x1a#\ +\x1f\xd6\xbaD\xdb\xe0\xf1\x5c\xb0?&W\x95O\x85|\ +\xf42iT\xc8\xd6\xd1\x14w\x8ci\x92\x9e\xb2\x08\xe2\ +{\xf7\xd6N\xe7\xf8\x92\xcax\xea\xce\xb1(.\x07\x85\ +\x897^u\xbc\xca8\xefG\xf6\xff\xe5ue\x8b\xa6\ +\xcd\xe4LI\x01\xe0\xe4%\xd3P\xbf)\x9c\x01\xf8\x00\ +\xce\x10\x13f\xd6\x9a\xce\xac\x1aN>\xea\x085\x1f\x86\ +\xae\x98M<\xaf\xd3\x88\xd7\xa9P\xf3\x11T\xf2l\x0a\ +K\x9d7\xae\x01\x83f\x16\xee\x1f\x8cZ\xc0\xec#\xaf\ +EL\x1b\xdbI\xea\x06:\xfb\x88\xc4\xc1\xbcP\xde\xe8\ +\xa3\x0fOT\x80\xc5\xeb \x0ad\xf2%\x0al\xea\x07\ +\x80t\xb4\xc6\xa8_8\xaf\xe8LKT\xd3?\x0f?\ +\x87:\xb1\x0f\xb4\xf1\xf5\xe4G\x14\xfa\x7fR\x81\x8b\xa8\ +\x22\x05.\xfb\x1fv\x85\xfc\x1c\xea8~\x1e\xd7\x85z\ +\x8f\xba\x15\xc0\x04\xed&>?\xc0\x801\x89\x0e\x0d\x0c\ +\x9f]\xc5`ft\x95<\x15\xc0\x81\xcf\xcd\xf3B~\ +G#U\x9a\x1d0\xff\x10\x8b\xf4F\x14u\x1c\xa39\ +\x00\x01\xd8\xf5B\xe5\xff\xaeE\xb8\xaet\xfeYg\xba\ +\x0e>\xca\xc0:\xd4\xf3\x5c\x8f\x99\xe9\xf5\xc6\xa6\x04U\ +~\x0acl\xfb\xac\x5c\x99\xf3\x0dT\xefA.\xfa6\ +}\xd8\xdb\xd1\x01\xe5\xc2\x02\x10PHS\x08\x01\x08\xf0\ +>f,\xf2[\x8d1\x00C\x00\xc0\x80\xef\xe3\xe7D\ +\xeaq,\xfc\xa1$\xfd/\xbb>^Y\x88 \x5c\x14\ +\xde,\x906\x9aP\x16TN\xbbK\xa1\xec\x14!\x10\ +c6L:Y*\xa8\x1d\x19\xe3\xfa\xb0\x00\xf9\xb9\xfc\ +>\x1e4\xbe\x1f\xaa\x1e\x94\x98\x1eBT`\x90\xc5\x02\ +@\xc1\xcf\x019\x94\x98\x92\x7f\x0e\x1e\x5c\x10G\x00\x0e\ +\x16\x0e\x0f.\x89\x07H\x1a3C\x14\xfc\xcb\xebsB\ +\x81\xe1\xe7\x03l\x00x`\x93\x22\xea\x90\xab\x81\x938\ +CU\xa4PR\xa2\xe7\x07\xaf6Z\xefD#\xc6\x03\ +\xc2\xc8\x8c\x113v\xd8\xad\x80 \xd2q\x80\xe2\xc6\xdf\ +\xb3a\xd3\x91#\x01\x90X\x91w\xda\xd5)\x1f?d\ +\x11\x90>\x1d$\xdd\xac\x16\xad\xd3\xe3#\x12\xda8\x10\ +[L\x87Y4\xa0\xc2\x13Vf\xd0H\x00m\x96q\ +\x83F\xb9b6\xdfg\x84%\xe6\xe3\x9a\x12\x88\xd3\xf0\ +\x1f\xf7\x0b\x1b=\x0aZ\x15\xbe\x14\xd8~p\xa0Z\xac\ +\x04\x07q4\x0eF\xef\xccc?\x02uN\x1b\x0c*\ +\xef\x0e`\xa1~~\x81E\xb0sA\x0d\x1bF\x00\xaa\ +\xca\x9a\xad\xf4D\x14\xaa%\xfb\x87\x00\x10D\xa6\xfc\xba\ +!>\xc9~Db\xc1\xfdE\x8cF\x22I\xae\xf2\x8c\ +\x08at;\x99?\x1c\x90\xbaNt\xda\xb0\xfb\xf2Q\ +\x91\xb5-B\x02\xc0s\x86z.\xae\x08\xea\x18\xba}\ +\x18@\x92Ti]\x14\x92\x0e%\x0c\x15:\x93\xf2\xc5\ +\xf6\x91\x0e\x00\x07\x9e{\xf6)\x00\x08|\x95\x85\xf4\xa6\ +9r)3{\xd8\x97A\xa6\xd9w\x00\xfe\xce\x95\xda\ +3\xfb\x063\xf6b\x8e8\x85\xef\x0eQ#\x99\x0d\x14\ +@\x90\xb6\xb6PAy\x85\xa8\xdc\xffQ\xc12o\x10\ +E\xb4wwkP\x05G\x15\x9a\xf3\x80\x03\x0fj\xa0\ +:s.\xf2\x88}*\x09\x19\xfb\xa0\xd6c\xba\xc9\xa2\ +\xdd\xaf\x22\xb6\xf7\xe5\xa2\xe5\xb0~\xb1\xc128\xe8\x98\ +\x00p\x89\xba\xec.\x00JP]\xb5\x1a`nA\x8b\ +p\xbd\xb4?\x00\x88Y\x7f\xbbt\xb8%\x96\x05\xe3\xa3\ +\x1c\xff\xcf\xb4\xe7\x81\x8e\xcb\xe8\x9a\x1c?o\x05\xffp\ +\xd2\xa2%\xf0t\xf0<\xa1`\xb6Sn)n\xcf\xb9\ +AQG\xa9\x80\xde?\x04H\xbc\xb5u\xf2\xd2\x1e\x16\ +\xf9\xe7\xafm!W\x93\xa3D\xd5|4\x8c\xa8\xd8\xf5\ +=5\xd8\x05\x1as\xe1\xcf\x0dpq&\x9d\xecM'\ +~(\x15\xfdm\xabj\xbe\xab}\xc3P\x928+T\ +E\xc4\xdc|\xffB#\xe3?\x16\x81A\x82\x86\x09\x7f\ +\xcf\xf3\xa3\xd9o\x17\xe7\xfcC\xa5\x06;\xf5\xff\xfa\xca\ +`r\xe6\x19\x8c\x16\xed?n/\x0b@\x85\x96\x8e\x80\ +\xc1|J\x15\xc00}\xda\x22_/\x93\xf8\xc8\xfbg\ +Z\xca\x22\xbf\xce\x96fMf\xcb\xb7Y\xf5\xa7\x1f>\ +\x98\xe3\x81\x00\x883\x8b+\x91\xb3\xeei\x8b|\x9f\xff\ +b\x11f\xac\xa5\x19\xc2(\x9e\xab\x9b\x9fg\xd1\x0a\xbe\ +\xf16uD\x8dN\x8f\xfb\xc5o\xa6\x19\xf5;\xea\xec\ +\xa6\x03r\x02\xc8\xa1\xfavo\xb1h\xeb)}\xde\xa2\ +\xd9 \xfa\xba\x82\xda\xcb\xf9&J/\xfb??\x07W\ +\x09\xa7\x82k\x9fb\xf4\x81}b\xfc\xf1\x1c\xbbk\xf4\ +\xc5\x0a\xdf\x99r\xcc\xa8\xf3k9\x8d6\xcc\xa3Q\x01\ +\xd3B\xb8\xc5\x22\xf8\x90\x0bP\xf0\x8e\xe9\xed\x16\xf9\xeb\ +\xb7\xb3\xc8\xbf\xefr\x8b\xa0\x0d\xc2\xfd\xa6S\x09\x83\x11\ +\xea\xf4g,\xc2\xfe\x08\x83\xcb\x80\xd9\x90x\xa3=\xe2\ +@ #\xa4h\x00hd\x90\xce\x99\x03\xf9P\xa1e\ +\xcf\xd6Mg\xd1FCF\xff\xb1\xc8\xaf_\xb2h\xa3\ +\x0cnC9\x93f\xbf\xe9\x18\xeb\xfd\xa3\xf5\xc0zw\ +f\x14\xf6\xaao\xb7h\x80\x9dk\xfbP\xa0\xe7\xdd\xbe\ +0s\x9f\x9ax\xca\xf6O?\x07u\xaeb\xc3\x89}\ +d_E\xdf\xed\x00m7~{\x10E\xa3`\xc4\xed\ +\xc6\x00\xa8\x0f\x87}\x11\x06\xed[\xf5\xdcZ\xc7~I\ +\x15\xac\x9f\x09\x05\x0e\x0c\x0b=\x87i\xd2\x22?W\xc7\ +[\x94\xfd\xbf<\x97\xdd\xecU\x13\xc1GL6\xb4\x08\ +\xa2\x87\xf2\x89\x07hq;c\x98\x08P\xd1\xc5\x80\xf3\ +\x99t\xfe\x8c\x0d\x1d6\x86\x9a\xedv\x8d\x2243^\ +y=#\x96|\x01\xd7\x10\xff\x5c\x12\xe1\xf3\x82O\x8d\ +\xaa\xc1\xa9\x15\xb0\x99\xb8@@.\x8d\x04\x0a`\xea\x07\ +\xf2w4\xbe\xd0\x90\x10\x00\xea\x9aP?\xb2\x08\xccC\ +\xe5\x89\x0e\x0c\xe0N\x81\xbb\x0cL\x0d\x8d\x8c\x01P8\ +\xa5\x9f|\x1e \x04\x9bg\x00M(\xeft\x90)l\ +aJ\xa1\x85\xc3h\x02_\x0fc\x8d\x86 \xa3\x15\x88\ +\x8132\xc0\xdfS\x7f\xd0p\x00\xc0F;\x80\x11\xce\ +\xa7{\xb6|\x5co\xe5W\x88\x9e\xba\xbb\x00\xccs\xc4\ +\x0da\xb2@\xa1\xa7\xa1\xca\xd7\xc1,\xe7?\x981\xbc\ +/1a\x01\xea\x19\xc5\xf2|\x92\x06%\xd4|^\xf9\ +=\x8crc\x8b\xc9z\x05\xd0`}\x90\x0f\xe3\x86\x86\ +\xed\xa3\xf2\x7f\x9e_\x00b\x17\x17\xe5\xf7q]\xc8\x87\ +\xc9\x9b\x18\xbd\xd1\xc8\xc1\xa4_x{|g\xd3/\x9a\ +\xae7\xa3\x1f\x0bnD\x17(\xb8\xad\x5c\xfco\xd8H\ +\xa2J\xfcK\x8d\xea3X\xda\x22t\x84\xf8\xf9\x1cH\ +|?\x7f\xe6\x95\xafCD\xd0[\xa1\x95\x9a\xe9\x1f\x98\ +\x8e\xa7D\x9a\xfc\xc1\x02\x00 \xd1\x041g\xe1S\x80\ +\xf1{\xa0\xca\xf1\xf5\x14\xc8\x88\x86-\xa3\xc2vU\x8d\ +\x08\xa0\xfaI\x01\xdc\xa8\xfb\xf5\x95\xc4\x9a\x07\x9c\x82\x1f\ +\x80\x85\xcfMb\xbe\x90\x12\x98\xa5D\xf9\x87:\xcf\xcf\ +\xa3\xd3I\x87\x9a\xc4\x99\x85\xbb\xa8\x12\xfe\xc5\x84|-\ +\xab\xcf\xcf\x01\x093\x80\x04zv}^\x890\xf9L\ +\xf4|\x1a\xf1x\xbf\x1e`\x0e\x5cf\xc05\x13\xed\xbf\ +\x17\x80`\x0d]w\xc4\xbb\xe8\x94\xb1n@L\x111\ +\xc26\x0f&\x04\x9d\xea\xa5\xf5`hc\xc1\x7f\x1cD\ +\xd2\x13x(1\xb8\x07\xa8`E\x1c\xcf\xedPH\x14\ +@H)\xa0P\x17\xc6\x9f\xf8\xeb\x16\xf9\xfbw\xb4h\ +bU\xbea\xb0!\x08\xb8\x80\x92\xe5H\x1c3\xe4 \ +\xca\xcc\xdc\x7f\xd6\x22lT3X\xb4\xceK7\xbfE\ +~=\xd8\x22\xcc\xae\x81@\xea\xc0qQ\x16\x90M\xb4\ +#\xb0\x87\xa3P\xa2\x93F\x87\x0e\xbfm\x1d\x9c\xfe9\ +\xf4\xfcP\xe0\x02\x08\x0c7\xb1\x08L\x1a=\xffn\x87\ +E\x81\x0e3\x80N\x04\x14*\x1d\xf0\xfe\xf5\x88\xa1\xf0\ +{\x95`y\xc7\x9f\x02\x9e\x82\x9e\xce\x82(R\x1c\xcc\ +\xfe\xfe\xd1\xac`\x86\x8b\x0d\x8e\x0e\x07v'\xa2\xe22\ ++\xee\x80\x86\xd6\xab\xab\xc0\xb3o\xd1\x81\x82\x12\x8c\xc8\ +\x9d\x00)FR\xa0\x00;\xc5\x8e\x03\x14J\xa8f\x22\ +A\x8e)\x98\x9d\xd1\xa2\xce\x97S\xf7\xa0\x8c\xa1>+\ +\xc6\x8a\xef\x0b\xa8\xc4\xb2\xef2\xf3\x8f\x1d\x904\x05\xa0\ +b\xbb\xab\x85\xa8\x8c\xdeae\xdd\xf0\xca\x01\xcd\xfb`\ +\xc4\x00\xe6\xcc\x9e\x12\xdf\xc4\xe6j+\x89\x0bQ\x98J\ +{#\xad\x96#\x17\xa0i\xba\x9c\xd0M\x17DL\x8d\ +Gq\x8bFS\xde\x13\x12r\x01\x12n\xb3\x85\xa6\x81\ +\x10p\x17}\x94Z7\x14Kg\xc0p]HPU\ +\xd0\x16q\xbc7\x05\xc0H\x1d\xde\xd2?xT\x22`\ +\xbf\x91\x88\xe8\xbey\xf9/l\x11:\x19\x9c\x0bt\xd8\ +Y\x97$>Pnu=L\xa2\xceD\xeaJ\xc2\xbe\ +\xb8:!\x9f\x0e\xf6<\xba\x8f\xddl9f/\x14\xe0\ +\x1cZg\xdbIlk\xe7|\xfc\xff\ +O\x89\x1fkT\xc1\x0bC\xec\x06U\x90\xb3\xcf\xa5\xf9\ +,\xc2\x88\xa2\xf2z\xc4\x95a\xc0\xe2\xd2\xe6\x9aW\xb8\ +\x19\xf5\x98,\xcex\xd4}w@AZM0\xac\xbc\ +\x91\x06P\xa9<\xc9\x81\x0d\x8d,\xf9:a\x1dp\x8e\ +c\xdf\xd7\xd3L\xf2\xf3\x05\xb1?\xf2O(\xf30\xdb\ +\xc8\x9bh,\x08\xe0p\xd5|\xf2\xc6\xd6\xb0\xac\xf5\x0c\ +\xe74\xf5 \x8d\x5c\x80,\xf2.\xceK\xea-f\xe0\ +\xd1\x98\xe2sPo\xd2`\xa6.@\x84\x1b7\x00\xde\ +\x07\xda=k\xca\x0d\x8az\x82\xebCa\x0f\xe3\x9c:\ +R\xf9\xa5\xd7\xa10\x06\x18a\x12\xc3\xce\xf3C\x5c\x14\ +\xa87X\xdf\x88\x8f\xb2\xae\xa9[\x01\x22\xf8\x1c<\xf7\ +\x911\xf8DkxM\xbeN\x9cb\xe1\xe0\xbfm\x93\ +/\xaf\x86\x07A\xea\xfeP\x09\xbc\xb0\x80A\xc0+\x94\ +|l\xfc\xb8Q\x14\x80\xbc\xd1\xbe\xd8\x9e=.\xcf\x07\ +\xe4\x827l\xef\xe3?\xe1B\xf1 Qh\xbdPJ\ +\xd7\xe6\x93(\x1b\x13fC\xbd\xc3\x07\x10\xc0\x9f\xfb\xff\ +\xf1sI\xf4x\xe5\x86\xb3\x91\x22c\xc8\xc2\xe3\xf3\xb1\ +\xc0\xb0\x8f\xc1\xa6\x90\xce(\x9f\x93\x05\xc1\x8d\x01y\x02\ +\xc8\x98\xd0\xcf\x9d^\x0b\x9a\x8e}\xdfm\x80?\xf7\xdd\ +\x0f\xde,\x84r~\x15n}\xfb@\xd4\xe9\x11\xdb[\ +X\x80\xc1,z_|\x0e(\xdaPz\xa4\xf2o\xda\ +\xbd\x05\x18\xe0\xfaspp}\x10\x0d\xc4\xb6\x0f?o\ +\x10ju\x14\xddO\x9e\x19Xl\x08\xe5\x93\x5cD{\ +v\x0c3w\xbcB)\xd4\x01\xe0>\xec\x88\xb9\xd0\xb9\ +_\xa9R\xc1\xf2g\xa8\xaa\xf5P\xdf\xff\xa2BK\xd7\ +\xc97\x04\xb9#\xb0q\xe6\xe3\xcc\ +\xa4\xef[\xddM\x9c\x89\x84J/#\x22v\xca\xbc\x12\ +\xecz8g\xd8O\x01xA\xe8\xd9Oa\x0e\xb0>\ +\xac\x7f\xf4\xbb\xb6na\x84\x0c\xcf\xb6\x10\xe5\xfa\xd7\xe1\ +\xe0\xd7H]\xf7\x90E~\xfd\x85E~=\xdc\xa2\x8d\ +F\xb9[\x89F\x1c\x9c\xa9\xc2\xcc\xb5f\xe1\x0b\xc0\xb2\ +I\xe8 P\x10\x19\x03m\xc5\xc2\x08\xc9\xd1\x00\x17\xd7\ +L!A\xb24\xce\xeca7\xb0h\xeb}\xb8\xbdE\ ++\xcc\xd3\xdf\xd3\xa3\xe9\xd1\xe6#\x8e\x8b\x86?\xcf\x88\ +yI\xb3&\x1dd\x114\x04\x00\xba\xd4AIGY\ +\xb4N&\xa2H\x83\x9fT\xb7\x02\x00c\x93\x1a.#\ ++\xff\xae\xe7N\xfa\x82:\xdbz>\xdc\x95\x84\xe7Q\ +\x89\x9d\xef\x17\xe4\x07\xdbT\x00+\xaf\xea\xaa=\x80(\ +\xad\xa8\xd8\x14\xba\xa3\xf7Z\xb4\xcf\xc1u\x98\xfcl\x8e\ +\x5cp$\xfbo \xe06\xaf\x93n\x8b\x1c[\x8a!\ +15\x88+J\xbb(-b\xd1\xdc\x00|\x1f\xbc\xa4\ +\x16\x84\x0e8\xa0\xbd2)\x11H:\x93\xff\x1c\xbc0\ +x!\x14\x88j8\xa4oZ\xb4\xc4\xda\xb5a8\xc7\ +\x1f*\xc6\x97\xa6\x09qM\x01\xd4`\xf2\xb0\xae\x99\xf1\ +V\x22\x0bs\xc0\xd5\xea\xe5\xae\xc3y\xe3\xae\x00\xd8\xfe\ +}\xd0\x22\xbf\x9e\x90\xc3\x0a\xd1S-\x04,\xae\x19\x1a\ +GJ\xe4\xd3\xa19>\x17\x00Fu\xc6\xba\xab,\xf2\ +u\x9f\xcc\x91\xcf\xb7\xd7\xdei\x91\xff~5\x0b\x9d\xbb\ +;5\xdbA\x1f\x8d`\xf6]\x80E9eRc\xd2\ +\x95\xac`\x1d\x15\x946\x9b\x7f\x91Ec\xec9e\x5c\ +L\xbb\xee\x16\x8bF!\xa7\xf0\xea.\xb0h.\x03\xa3\ +\xe9F\xd3\x8f\xa6\x0f\x85\xfe\x07,\xca\xfb\xab\xb3\xf7r\ +\x13)\xcf\xc7\x12a\xf4@\xea\xfchp\xb8f\x8f\x0a\ +\x03W\xf7\x07@B\xe4\xd6x\x95\xeb\x84\xe7\x8e\x11%\ +f\x839\xef\xad`\xfb~\xd0\x02\x91\x96\x8b\x03\xe4:\ +\x17\x99yw\x86\x16\x05\x98FP\x10\xd3\xf3\xfd\xbc?\ +:H>\xcbH\xe7]\x16!\x1f\xbeu\xe27\xc5\x16\ +\xf6\xad\xe3\xd5m$\xd1G\x0d\x96\xb4\xd6V\xfe\x1cG\ +\xa4\xc3\xd3\x11\xe5\xb9\x1f\xd8s_\xc4\x11\xcd\xde\xb8\xfc\ +\x97\x7f\xcd\xd5\xa3\xabFW5\xc6\x05\xb3\xdf>k\x0e\ +5\x1c\x97-^i\x00\xd0hP\xe1\xe6\xb6o7\xa9\ +\xe3\x0fs\x81\xba\x00\x86#\xfb;\x00\xfbL\xca\xa7\xb6\ +,'bk\x04\x90\x9732@>\x0d\xc3\x17\xf1\xce\ +\xdd\xd5\xa9\xd7\x0c\xb9w\xa8a`\xd0\xd9V>\xe3\xcc\ +\x15\xf6q\x18\x17'j\xf4\x86QX\x18\x040\xfbP\ +\xd3W\x83\xc8\x1bF\x88!3\x8bN^\xc3H\xe59\ +\x16\xa1\x91\x03\x95^\x9aT\x00U\xce\xcc\xecS\xf4Y\ +7\x88\xfb\x01\xa4\x93\xb7\xf1{\xa83\x01`\xe9D\x93\ +\xafq\xfe\x93\xef\xf6\xea\x15g \xedXGa\xfcs\ +s\x9e\xea\x5c\xf4\x82\x1d\x80\x17\xf5|\xc4\xfd\xc8\xcf8\ +G\xa97\xc9\x03aZ\xf2\xca\xd73:E\xa3\x92z\ +\x8d\xc6\xa8\xf6{_O4\xa0\xd0\xae#\x7f\x07x\xe2\ +sR\xe7\xea\xb9\x82\xc1\xec\xe2\xe3<\xd7\x8c\xd0\xca\xbd\ +\xc5g\xf9\xd5\x08u\xb1C\x00\x14\xee\x13\xbf\x87\xe7\x92\ +\xfaS\xf9\xcdd\xd9\x96\xef\x0dvz<\xd8JP\xbc\ +\xa0\xd1\xcc}I\x03\x17\x16\xa21\xaf\x0a\xf99\x82\x8a\ +?\x9a\x00l\xfc\xd1\xceo\x9e\xd0\xe1\x03\x00\x90\xba\xb3\ +\x17\xc4\xf4\xf7\xb1u\x00\x88\xe0\xcfl@\xf1\xdf\xff\x1b\ +\x0aR\x128\xfe\x9d\x9f\xcb\xfb@M\x11\xb1?T_\ +\xa1\x10\x81\x90\x08\x01s`\x00\xf1\x90?\x0a\x00Y^\ +\xd4~\x90#>/\x859\x0b\x14\x00\x81\x9f\xc3\x82\xeb\ +\x03\x1d\xff\xeb\xf3\x8d\xb5\xd0\xf8\x5c\xfc<\x0a\x196\x22\ +\xae+\xafs\xf7\x5c\x10\xe6\xee!C$\x08\x0b\x05\x8d\ +\x868\xa2\x01\xa3aeu\x92\xd7\x97\x98\xdf\xc7\xd4I\ +\x9f\x22\xa4\x17\xbb,\x1dd\x14\x80\x8e\x043k%\xaa\ +\x8cop\xfc=35\xd8\xd9\xe0\xab\xca\xfbGE\x96\ +\xeb\xc5ue\x16\x1d\xbb\x17\xcd\x8a\xf9\x03\xa6\xfb\xe0~\ +\x9b\x5c\x07%\xee\x9e(\xce\xa3\xf5.?_\x0a-\xf7\ +o'A\x10\xc5\xc6U\xf7\xcb\x7f\x01\xa1\xe4\x00b\xc3\ +`\x03\xd4l\x8e\xab\x823\xc3\xf7\xb0Ec\xc883\ +\x01\xfb>\xd4\xf3E1\xf7N8\xbe\xc9\x88\xc4\xb0\x01\ +\xb1!\xf3\x9c\xb1\xa1a?\xa2\x7fw\xb5^\x1d \xee\ +\xef\x0bR\xac\x0d\x8e\x99:W\xd7\xd7\x0c\xa9\x8b=\x22\ +\xde\xc6\xa8\x07\x89)\x9d{\x89\xf1\xb9\xca\xbd\x00\x02f\ +h\xdd6\x8c\x9f\xa7\x11\x01\x07\x02D\xed\xc6\x16\xcdU\ +\xc9)$\xed \xbf\xa9 \xc9\x17\x14$\xf9\x95Z\xc8\ +9u\x8fB\x0f\xb1\x1d\x0e\x5cf\xac%\xa2G\xe2\xe2\ +3\xb2\x00)P\xe7a\xac\xa0b\xab\x83\xcc\xa9\xa3}\ +J>\x0c\x1dQ\xa0\x9d:\xc8\x01\x87X\x0b\x8c%:\ +\x9b\xa2\x90\x17\x09\xbd\x1d\x02\x85\x8e\xe7\x1b\x00\x0d\x0a=\ +\xeb\x8c}\x85\xbf\xc7\x16\x13J\xafD\xef\x00.\xd2q\ +\x16\xe5\xf7V{\xb6;e\x1b\xa6\x02l\xbc\xab\x985\ +t\xda\xe9D\xe0\xe3\x0e\xa3\x02\x9fc1\x1b\xc6\x0b\x8c\ +\x17\x1c/\xd0\x00\x1f\xee+\x89W\xe9$\xffF3\xfc\ +K\x17[\xb8\xabl=\x94\xb4\xe5\xbc\xd01\xc0\x1d\x00\ +\x7f\xed)\x16\xa1C\xc3~\x80\xdd\x9aD\xf2(\xb8]\ +=_@Z\x9a\xd1\x22\xff\xfd\xcc\x16\xcd^ntR\ +M\xdca\x10uw[\x041P=7\x9eh+\x01\ +s\x86\x86\xa5-\x7f\xd0\xe7}M\x0c\xa3\x8f5?s\ +f\x03\xd9\xa6\x99\xed\xf4\x91\x0a\xc4_e\x83\x08\xe3'\ +\x17\x16\xd3Y\x01\x04\xb3g\xf8\x80ExN`\x86\xb0\ +\x8f\xd9\xea\xb9V\x0c\x8cO\x07\x1b-FG\xd0|P\ +\xe20\xdc)G.\xf8F'\xe7\xf8Z\xeb\x1c\x17\xe0\ +\x7f\x85\x90\xc0\xda\xae\xbem\xe9\xe4U\xc6\x17v\x86{\ +\xa6O\xa6O6\x91?l\xc6\xa0\xf2{gp\x16\x8b\ +\xfc\xef\xc3j\x9b\x89\xa8\x97\xdb\x88\x22\xde\xc9\xfa\xd7\xfd\ +\xa1\x83\x02`A\xe1\xe4\x9d\x22\xd4\xfb\x05\x04\xa5W,\ +z\xa3\x84\xa1\xc1\xe0\xefK\x00\xe4x1\x8b\xc6t\x02\ +\x10\x1d\xdcl\x11\x00o\xf6\x01\xed_\xf8\x81\x17\xd1\xb6\ +\x95\xb5/\xed\x13\x0a\x11K\xb7no\xa2\x81\xbe\x9fj\ +t\x8d}\xcd\xa4nM\xec6]m\x11\x1a)\x07T\ +\xfb\xde\xee>\x8b\x90\xcf\xc0\x5c\xa3#\x85\x18\x19\xe7\xb6\ +\x9eS\x9eO\x18l\xb8*\xf8\xbe\xa2\xe7x\xbcq\xed\ +\xe0sn\xa4\xe9,\xdas\x86\xa8+b\xbb.\x0a{\ +\xad|\xe6\x054t\xff\x91&\x80]\x8f\x15\xd5\x01]\ +R\x1d\xe1]$\x9a\xfbJ\x1b\xa5*\x05\xf2\xd6\x121\ +\xde\x5c\xcc\x8f-\xda\xbe\xd9}\xc1\x22\x88\x0d\x8a\xda=\ +\xba\xccB\x9a\x01\x875u\xf7\x02\x80N\x0d\x0d\x05\x03\ +(\xb6\x0e3\xd5V\xc0#z8\x97\x80\x91/h\x94\ +\xef\xc1\xe0\xe6\xf0O\x8b\xfc\xf3\xffl\x91\xff\xfc\x7fu\ +F\xdf\x01\x81)\x16\x0d\x18c\x96\xbc\xdb\xd7\xa2uT\ +}TQ@D\xfa\xadE\xdb\x8f\x0b\x03\xe6\xdda\xb6\ +\x9e\xfb\x09@\xaf\x06\x86\x8b\x122\xbb\xcf\xf3,f\x1d\ +\xb3\xfc>\xf3\x0d\x19vn\x0b\x01\xcck\x84s\x86\xfc\ +\x1713\x18tb\xee\x16\xd8k\xe1\xca\x80)\xe2|\ +\x00H\xe45\xa2\x0a\x8f\x0f\xb4(\xfb\xfc\x02\xb6\xcf\xbb\ +=\x9e\x1a\x19^`\x03h\x03\xc8\x7fg\xe2\xbbE\xd3\ +F\xfbt.\xfb\xcb(d\xd1\xeaY\xae\x896c\xbb\ +\xdbM\xb5\xc8\xaf\xdbt[w[7\x06\x8d\xbb&]\ +b\x11\xf2q1\xa8\xe8(#\x1a\xe9\xd7G\xf9Wp\ +\xe5(\xf9\xafw\xe0\x05\xe0\x22\xb2\xe7\xcf\xbf\xec\x0f\xbd\ + c4\xcb\x06\x04\xb7j\xa2\x85.\xd6\xacF\x91\xe7\ +\x03\xdc\xdf\x97-\x82;\x85\xec\xab\x07?\xb5\x08\x8c7\ +\x0aU\x1b\xa5\xf9x\xa3\xe2\xbb6\xd2\x01\xca\x8bh \ +P\xa0\xc2\xc0\x85\xe9\x00\xa3\x99\xff(\xb4\x050\xa0\xb1\ +\xe3y\x9dF\xb7\xbc@\xc7\xa6\x0e[g\xf6s1\xfa\ +|\xff\x81\x12\xcf\x88\x10\x85:y:\x859\xae\x03\x14\ +\xa8\xd2.\xf0\x91lD\xcda\x1e\xc2\xbcD\xbb\xe9\x0e\ +\x8b\xd0\x81\x07\x18\xe9\xd7U\x88\xc4\xad\x98\x91\x06\ +\xf9\xd0\x85\xf0\x9f\x0b\x02N\xc7\x1e\xd1%(0\x88B\ +\xb0\x90)(\x00\x0c\xee\xac\xb3x\x83\xf7\x88i\x00\xc5\ +C\x9d\x07\xa8BN\x85\xed\x17\xfe\x14\xb2,\xc0\x81w\ +\xfe+\xa0@\x01\x97\xf4@s#)\xdc\xf9\xfaq\x8f\ +\x91\xe0\x19\xa7\x8fI@\x91a!\xd4\xcf\x03\xb2\xc9u\ +\xe4>\xa0A\xd0(.\xc5\xc78/\xb2\x8a\x98n\x22\ +\xa4\x8b\x8d\x8f\xeb\xa9\xf7\xeb\x9d\x1e\xfcG\xe9L\xfeX\ +j\xfe\xdb\xc8\x97\x5c\x9d\x10_\xb8 \x89\x14\xbaB\xa6\ +\x9d\x22*\x7f\xe3\x89\x8f\xab\x937\xd6\xe7\x13\x92\xe5\x85\ +\xf9+\xb2}b\x06\x8a\xc4\x11\xaa\xbc\xec\xd4P\xdf\x1f\ +\xfcNj\xccPPq'\x10\x22\x8a\xbao\xff\xd55\ +\x0c\x10ud\xd4\x01\xe6\x08\x07\x09\x1b\xb2\x90\xe5\xee\x0c\ +\x8b\xa6\x82\xcc\xf3\xe0\x1d\x02\x18\x13*\xb0];A\xaa\ +\xa1n\xb7\x85?/# @\xf5f\xed[<\xb7\xdc\x0f\xb4\x0b\ +\xb8\xffb\x96x\xe7\x1e\xdb(\xd6\x1d\xef\x83\x8e0\xb6\ +F\xea\xe88b\xad}\xc6?\xa7\x18\x03N\xf1\xe5\xba\ +sP\xa0>\x0cr\xcc\x01\xc4\x8c\x1e\xd4miXP\ +`\x0d\xfe&\x7f{\x18\x0c\x008\xfb\x95h\x80\x05\xa2\ +\x7f:h\x9cQ#\xdb?\x1f=Bl\x08@\x82\xcf\ +\x83=\x10\x8c\x0d\xd9\xfe\xd1Q\xcc\xc5Y\xe9<\x96O\ +5\xb7\x983\x7f)\x1a\x1eE\x1c\xc9\x13\x04:\xe1\x02\ +\x94\xdc\xe6\x0c_j\xf9\x7f3\xc3Na\xca\xaciY\ +g\xcb6[\xbfb\xaf9\xa7|\xc0\xef\x0a\xf7\x89\xce\ +1\xeb\x19\xc0\x8c\xf5\x00\x02\xaf\xe7\x82\x0e\xabi\xca\x9b\ +\xaa<\xa3:\xe9\x12\x8bF%N\x0fY\xe4\x02\xe05\ +\x8b\xfc\xfe\xaf\xb5hb\x9fnC\x8a\x9d\x0f\xe2`7\ +\xe6\xb8I*\xf6_\x0d\xebG\xd7\xdfU\x83\xb5\x1e\xd3\ +\xa5\xe9\xb2tY\xd9w\xca>\xc5\x8ce\xba\xab\x8a\xda\ +y\x82\x88\x0b\x89\xdc!\x10\x11Mo\xb7(vr9\ +\xda\xba\x1b\xdd4\xba\xc9\x18Dv\xf7\xd2sAtO\ +\xda/.\x82\x87\xd6\x841\x14\x9e\x16\xa5\xf0\xd0\xd6Y\ +\x85\xca\xc9\xa8@\xda\xd5\x22\x7f\xfdt\xfa\xbe\xeb\xd5\xb1\ +\xbd\xa8\x02\xb6hT0c\xee\xa3J\x9a\xb5O7X\ +\x14\x86J\xd9G|\x86[\x22\x98~\x9e\xae\xaa\x99\xc8\ +\x95U(\x7fN\xfe\xf4C\xcd6+At\x06\x04\x9d\ +;f\x92\x11\xaf\x95\x9b\xc0p?\x8b\x90`\xa2\x0a\xae\ +\xe7\x11\xea;\x1a\x0f\xee*\xb0\xb1\x85\xdc'\x1ej\xeb\ +\xccN?\xeb\x8c\x97B7'\xc2\xa3Ss|#$\ +rP\x86\xed\xa7\x7f\xa8u\x96\xd0\xbaI7[\x04\xc6\ +\x0fR-\xbbW\x11Mwa\xc2>Q\xd7\xb5\xaf\xcd\ +\xe2\x1a50\xeeH\x88\xf5\x1c\xa4\xafY\x84\x11>\xb9\ +\x0a\xa4\xcd-\xf2\x9f7\x93V\x80\x0a\x90\xe1m\x16\xad\ +c\xd4\xbdl\x91_o\xb0\x08\xaa\xdb\x00\x02\x14T$\ +\xde\x00l\xb2\xb7L\xdf\xb7h\xae\x0f\xb9L\xaf\x1dq\ +\xdc^\xfe\xad\x8e\x1c\xccH5$P\x85\x1f\xbd\x9c\xe3\ +%\x15\xe4/\x141\xc6\xd9\x8b\x18\xa3\x8d\xa6\xe4\xf77\ +\xba\xd6\x22\xbf\x1ee\x11\xecU\xe9\xa0\xc2pc\xe4I\ +y`\x11\x8d\xb5\x06\xc1\xcc\x16\xa2XOm\xa3_\x0e\ +\x00\x5cR)\xfd\xa3\x8d,\x1a@\xe0\x05\x8e\xfc\xe3\xdd\ +~\xf3\xe3\x16a\x84\x0a B\x05\x15\x89\xbc\x17\xe2\xe4\ +\x05h\x8bP \xabS\x8d\xa8\x18\x8c-\x5c\x87\x1c8\ +\xe6\xf7\xb0\xfe\xd1\x9eQ\xfeU\x1a\x0c\x8f6-\x90b\ +\xaf\xf6\x93 \x92\xfc\x8cE\x03\x18\x00ZK\xd6\xb3h\ +\xdd\x0f\x0a@\x85\x18\xa9f\xe3\xfd\xfe\xd1h\x10\xf3\x8d\ +\xf7?\xde7\xc7\xa7\x1a\xf3\xcc\xc5\xf8d#\xc9\xf9:\ +\xfc\xcc\xf0\xe0\xe1\xc1m\x06\xbb\xfbH\xb7S\x97\xf7\x9d\ +\xd1\xf6\xa3\x1dF\xdb\xe7\xd7dQ\x80\x80wuuF\ +\xbd\x00+\x85YrB\x03D\xc8\x8bp_\xa2A\xe3\ +\x89\x0c\xd4|\xa9\xfb\xfbsJ\x83BL g,i\ +\xd4\xca\xf3\x07\x00h=\xd7\xe9\xad\x16\xa1q w!\ +\x17\xe1E\x5c\x91\xfdB6\xb50\x7f\xdd\xedI\xd7\x1f\ +\xca6\xc0\x9a\x8b\x0d\xf2\xbe\xfb\x05\xb1\xf6\x07\xef\xb0c\ +o\xa9FU\xf7\x8c\x85\xce\xcfS\x02\xc3KZS\xde\ +\xf8\xa4.cD\x13\xc6\x1fb\xd9\xd8\x15J[\xc4\xed\ +Ea~0\xfa\x06\xb3@\xa3\x18\xfe\xef4(`\x9a\ +\xc0\xeccD\x11\x97*F\xfbX\xd7\x8c\xa0\x8aQ\xe4\ +*\xf6\xda\xe7\x06\x9f\xb0\x08\xcf\x91\x00b\x18\xb9}\x17\ +\x832\xaa\xb1YiL\x14\xa6\xa4\xd7K\xd8\xcd\x92/\ +\xf65\xcf\xc8\x97\xb1\xc54\xd1\xd2/\x14\x0d\x87SM\ +#\x87\xe7\x1f\x06%\x22\x8d6`VF\xcc\x00\x0e\x04\ +\xe4\x226\xe8n\x12\xd4\xa30\x01\xf8\xfc4<\xd5\xb8\ +D#\x0a-\xa6\xbe\xb6\x9a\xffG\x83\x95\x86/\x801\ +\x9f\x17&\x0c\xf7\x01`b\x0d\xd5sj4O\x96\x89\ +\x89\xff\x93\xdf\xe0\xf5\xe1\x02a\x07H\xe1\xde\xf3W,\ +x\xc4Z!\xf1\x05\x00\xc8\xe5\xfa\x00u\xfee\x9b\x8d\ +\x9f\x17\xf80\x0dZ\xa7\xbav`y\xa5\xa0\xef\xbfR\ +\xa8\xf6l\xfb\xa6\xf9\xfd,\xf8>`@A\x1d)\x98\ +\x0b\x85\xd9E\x0a(>\x1f\xc0\x03\x88\xca\x8b\x8e8U\ +\x04h\x1e\xbd\xff\xbeV\x00\xea\xe4\xcc\xe83s\xcf\xfb\ +\xe4\xfd\xf1\xf9\xfb\xef\x0f\x06\x00\xc0\x00\x88\xd3\xcb\xfa\xfd\ +\x14T,\xa4\xbe\xaa&\x89\x01\x14\x17\x16:_7t\ +\xa6E\x05\x0a\x00$\xfe\xa9\x9f\xcb\xef\xe5}\x00\x1c4\ +@\xa2\x02\x0a0(\xe6P\xa2\x05\x13\x83\xfb\x08`\x01\ +\x95v\x0e\xdd/\x90(l9@\x9cq\x09\xa0\xf3\x09\ +U\xed*!\xeb\x8f\xc8^m\xceJ\xfduq-\x89\ +\xac\x8d\x1fp[\x97\xaa\xfa\xba\xbb\x90T6>D\xa5\ +t@\xb9\x88\xcb^\x9aI\x15\xc0`i\xba%\xeaP\ +\x8c\x99mt\xb1%u\xaesZPD\x99\xa6Y7\ +P\x85\xb9~\xbf\x16\x05j\xde\x9a\xe8\xf8\x8c\xfe:\x12\ +KTg<\xaf\x96J\xc5F4\xaf\xe7\xd7\xe9\xb3^\ +\xeaD\xe2\xd7\xce:B]\x9c\xc4\x1fq>\x128T\ +\x939\xd0\xa1v:BJ\xc2\xc2\xcc\x16\xeb\x9e\x8d\x89\ +\x99$\xee\x13\xb3IP\xf0)\xec\xa1^\x09\x11w\x11\ +Jm@\x06\x9b\x15\xe0\x0c\xb15\xae'\xd4Q\x00\x11\ +f\x1b-\xc1\xd8\xb7\x01 \xd8\x90\xb9:>\x94YD\ +\xd8\x98\xf9F\x1c\x91\xc4\xa0\xad\xff\xba\xd1C\x09\xd6\xcc\ +\xa9\x8b\xd7\xf4f\xbb\xbc\xf3K\xc1\x09\x13\xa0?\x0a\x05\ +B\x0bp\xa8\x0d\x9f\xc2\xc4)\x97\xb2]t\xea8\x85\ +\x10\x85J\x8fb\x89\x06\x85\x8b,\x91`0r\x828\ +\xcc\xd1\x16\xe1\xe0\xd1\xfav\xaa\xad\x12!_\xc7h\x0a\ +\xe8\xe7\x8cwVGT\x07.*\xdc\x14\xba\xbe\xdf\x98\ +rB.\x5c\x86\x9b\x0e7\x19\x9a\xe8\xd9\x0e\xdd\x87\xbb\ +\x1d\x02Sf\xa6\xf1,\xe6#\x9e\xcb\x88\x1bK!q\ +\xfa\xc4i6\xd2\xc3\x81\x84\xdf9v~\xa5C\xfbZ\ +SEw\xe0\x8b\x03W\x09\x8b\xfb\xa5o7\xf8P\xf1\ +\x81Gd\x92u\xaa\x02\x16`\xcb)t\xd8\xe9\xe8\xa0\ +\x06\xd0J\x17Z\xe4\xd7O\xd6\x8e6\x22\x82\xa3[-\ +\xf2\xfb\xff\xb0>\x17\x9dP\xa3\x14\xaf/[\xaf\xe7\x1b\ +\x15\xb4|\xdf\x8d\x8d\xd9\xe3\xcf\x01\xe2K\xcc\x90\xa3:\ +\x7fb\xedP\xf9\xf9\xa5\xd1\x04\x00\xa2t\xa6E\xb3\x0b\ +u\xe6\x8d\x12\xc5\xe1\x1d\x16\xc5\xe61Gs7(\x1a\ +&\x97\x89\x91\xf1\xa50S-\xc6OI\xd8\xed:\xde\ +j\x91\x7f\xce\xae9vQ\xe7\xec\x82\x96\xc0\x97\xc2\xff\ +c\xf9\xdf7\x1cn4\xdc\xa8u\xbe\x06\xb3Z\x14@\ +\xb7\xda\x12\x02\xc4\x9e\x5c\x0bp\x0aP\x80\xc3\xb4LZ\ +:-]\xd4\xd6+sd\x8d\xaa\x12\x0f\x03\x0c\xe0\xd5\ +\xa9\xc1J\xac\xd3\xa6\x16a\x84A\xcc\x05\x7fnX\xf7\ +\x00\xf1PbQ\x87G\x9b\x06\xc0N\x1dY:\x8b\x83\ +\xbfY4\xfbL\x07~\x99\xc5\xd7\xe8\x08\x00b\x11\xf7\ +\xdb\xa4ilx\xe7Gb\xa0\xddy\x16a\xe4\xcd\x98\ +A\xaf6\xe6HZ\xd1\x22\x9c\xf3\x02\x8aqK\x00\xd8\ +q\x0a\xb94\x08\xdcu\x06\x11<\xa3\xce\x1f\x1a(\xe1\ +\x88\xd2\xed\xdf\xed\xd7\xed\xd7Fy\xd2\xcd\xe9\x96tK\ +\xd1\x00\xd9*mU~\xfe\xeai\xf5f;\xe8\xa2\xab\ +\xda'\x1c\x90\xc6]\x00M\x1b\x80\xf8\x17\xea\xe8A\x11\ +\x91<\xb2\x01[\x14F\xe9z\x8b\xc6\xd8\x80\x99\x96\xcb\ +\xb3:\xaa\xc4(\x22\x9d4\xce\x0b\x15\xe0n\x83+\x91\ +\xbc\xf4\x0e\x8b\xbc\xfe^\xca\xf1\xa2\xa8\xc7\xa6\xc9\xb3n\ +\x8eu\xa4Uc\x80\xc5\x7f-\x82z>@\x90D&\ +]\x94\x0c\xc6\x8e\xc1/\xeb\xc9\xee\xf6\x9ef\xcf7\xda\ +\xcf\x22\xff\xf9\xe7\x16M\x83(=h\x11F0`\xf0\ +0\xbb\x8c\x9a<\x89=\x9df\x00z\x00\x5c18\x5c\ +\xed\x7fi\x8b\xc0\xf0<\xb8\xe6\x03\x83\xdf\xa8\x83\xcc\xf5\ +Q\x01bYF\xc93\xc8\xe7\xd8\xe7\x18\x11`\xb6\xde\ +\xca\xca\x1f\x06\x06\xa6eQ?\x09\xae9\xd8J\x02\xb4\ +K<\x94\x91)o\xfc\xa0\xb9\xc4\x0c9\xf9\xf7o*\ +\xa5\xdf\xf3]F\xe6,\xdb|4\xb8\x85!^\xads\ +\xcf\xc57\x0f)\x06\x95U+\xc9\xb4+\x8e\xeb\x8e\xef\ +\x8e\xcf\xd7\xff)\x8b\xfc\xe7\xcfu\x87t\xf99\xefV\ +\xb1\xc8\xaf\x9f\xb0\x08\xae\x0b\xb2\x15\x841\xea\x1dl\x18\ +\x8bP\xd4\x19\xb9\x83\x19\x83m,\x1dW\xe5\x974\x8c\ +\x9c\xe1\x0c\xd0\x88]\x1f\xfb\xb2\x0a\xed\xc1\xb3\x16m\x06\ +\x9f\xc6^\xfa\x89E\x189\xa6\x81\x08\xe3\x12\x91H\x13\ +\xbf\xfcu`\xbej\x1f\x18\xafd\xd1\x00\x0d\x17\x1dF\ +\x1c\x12\xd1A\x01\x80\xdd\x99\x16\xadS\x9f~-\x80Q\ +\x8c\x80\xee\xa3\x16\x81\x81\x04P\xaf\x82\x13\x1bhoL\ + \x06MA\xcf\xe8\x1d\x80\x80F\x01\xbc\xc3\x0f\x83Z\ +\xe7+\x9a n\xeb\x08p\x00 \xcfsH\x01O\xa1\ +,f\xa5\x03\x03\xd8\x91\xd3\xf9gt\x01\xa6\x03b\x8d\ +\x00\xe4=[E\x17\x0dT>\xe5\xdaR0T\xd4\x80\ +\xc89Pet\xde\xa3\xc6 \xf9\x16y\xa2\x1a\xb3\x9c\ +;\x007>Jv\x86F54\x82\x09\xa0\xea\xf5\x1c\ +@\x1fu\x1bu\x10\xf5\x19\xf9\x1en\x120\x94\xd5\xe0\ +\xa1\xa3\xef\xa2~\xda\xafq\xb7\xf2\x86\x13\xccLD\x1d\ +%\x0e\xea\x22\xe5\xe4k\x88\x0e2\xda\x8b\xc8\xb9\xea\xbe\ +I\xb7\xff\xb1rwaQ/?\x11(\xfd\xf8`B\ +e\x81\x02J\xe1\xc3\xac\xbf\x0a\xdb\x92~3\x0b\xff\x9f\ +p\x03\x11\x17D\xcc\x0f\x1fc\x0aK\x0aC\xc4\x08)\ +ty}\xa5\x94\xde\xad\xd0\xa4P\x05\xf9\xe0\xef\xe9\xf8\ +\xf7E\x04\xf93\x1dr\x80\x00\x80\x03\x80\x00\x0a\x7f\x0a\ +\xc7y\xd49\x83:\x0f\xb0\x80(\x1f\x07\x1b\x85\x83D\ +\x1c|CEs\x00\x00\xa0\x8f\xdc\xb0\x00\xd9\xe0\x85\xa0\ +\x99\x14S\x11c\xdaB\x80\x0c\x94\x96\x15E\xe1\xe0\xba\ +B\x89\xe9\xd9\x1cr\xa0C\xbd\xf1\x02\x15\xc4\x0c\xfb\x0c\ +\xae\x1b@\x00#\x07\xa8|By\x86\xc2\xe2@\x8c\xec\ +\x8a\x9e\xae\x1du/\xc8\xae\xb7hL\x006\xb2\xc1N\ +\x12\xf1\xe2?\x80\x8a\x9bD%\xa2\x10\xd3\xe7p\xbf\xe4\ +\x15\xaa&\x85S\xd7PG\xa6#\x07\xd2,\x11C\xef\ +\x94\x22\xf6\xc6\xa8\x00\x08#\xf7\xf7\x00\x1d\xa4\x88\x92\xdc\ ++\xe4\x91\x03\x06\xe6\x84\x90\xe3\xf1Z\xb2\xb7\x132\x07\ +%\xd2\x115\x1d$\xccT\xf9\x06\xb0O\x9dA\xf6\x0d\ +n\x19\x01E\x123\x19\x1f`\x11\xec\xd3\x0e\x12b\xbf\ +\xd8x\xd1\x222\x85X\xe2\xc5*\x04\x8f\x10\xf5n;\ +\x15p0\x1ct\xdf\x07\x13\x959\x91\xd3\x80\x8a\x18\xff\ +L\x22\x89\x14\x80R\x01v$\x96N\x19\xaf\xa8\xfb\xcb\ +\x17\xd9\x8ee;\x98\xfd\x80c\xb6\x89\x0e\xa3\x5c*\xdc\ +\xf7\x9c\xd9t:v$P$\xd8\xda\xb0\x06\xff\xb4h\ +\xd7\xdb;\x5ct8\x10\x1b\xe2\xf9\xa1\xf0F\xcd\x16\xe4\ +]\xeb\xd8\xc5\x11)\x9c9 \x10u\x02\xe9\x16\xa2\x0b\ +\xf5\xd0\xfdX\xb1uAD\x07J'\x85\x00\xf6m\x88\ +\x98\xbd\xdb\x22\xacw1K\x5cE\x17d\x99\xd1\x00\x18\ +\x0ct\x02\xf9w13H\xb8\xe8\xe8\x0c\x1e\xb7\x08\xd7\ +\x89\xfd\xee[\xb5\xb0\xe4\xef),]\xf4L\x1b=\x85\ +\xb6\x1f\x98\x88\xab\xc9\x87\xd6Gx\xd8\xb7e\xcb\xe6\x1d\ +\x10{*o\x12\xa5z\xd6`\xdf\xa6\x9f_\x00\xe3\x5c\ +\xe0\x0f\xf7\xb6\xd0h\xd4\x1f\xd5\x91\xfb}\x99M+\x80\ +Q\xf7d\x8e'\xd4\xc1\xb8\xb5\x01~\xc3\x0b-Z\xc7\ +\xb2\x00V\xf9\xb9JW\xe4\xb8<\xd8^\xa9\xb3\xe1\xfb\ +\xac=\xa7\xf7\x96\x83\xf4/\x85\xc1\xf0\xfb\xf1\x9d\xe3\xdf\ +\xbf^\x05\xbb\xb8\x81\xe8\xc0w1@\xae\x07\xae#\xa2\ +|b\xdb\x97\x8e\xb6\xc8\xafgY\x04\xdb<\xad\x8b\xd1\ +\xa5\x16A\x1b\xc3\x12\xd3\x93\x82f\x85\x00\xad\xb4\xb8E\ +p{\xa0\xc3\x83_\xb4:\xb3t\xb0\xbd\xd0\x17\xb0\xe3\ +\xda\x06\x8cJ\xc1\xa4\xd2\xbf\xa7\xe9-\x04\xc4\xe5\xfb\x94\ +\x96\xcc\xb1D\xb35K\xfbX\xb4?\xfb\xfe%q)\ +\x17\x1d37\x8d\xbd\x8aH\x5cU\xc9\xb7\x02\xf1w\xe5\ +y8\xc8\x9e\x87\xb4vZ'\xad\xd3F\xe5\x06\xebX\ +\x84\xf5$\xca*\x09\x9d\xfb\xb5\xc3\xa0\x92=\x5c\xfaq\ +\xfaQ\xfaQ\xd0\xf4\x90\x0b\x03\xcf!\x9dT\xb7q\xd4\ +\xf3\xe7\xa2\x8f4\x0e\xc4 \x02\x10\x05\xd0\xed\xd6\xb0\x08\ +\xe7\x92:y\x0e\xac\xa2Q\x80F\x09\xcc+\xceM%\ +X\xe9\x0c\x8b\x22n\x98\xa3\xa9\xef{\x9ep\xee\xc4w\ +\xcaL\xb5\x80IF\xc8\x109D;\xa0\xb8\x1e\xe4\x84\ +wx\xaaE\xfe\xfb\xa3,\xda\x88\x81\x8b\x182\xb2\xc2\ +\xe8\x8dD\xbd\xf0\xa9vJ\xae\x0a\xc9\xf2\x1c\xd9\xfd=\ +\xdb\xa2\xed#>\xf2\x82\xf8\xae:\xc3\xe9\xb0\x0a\x18\xa4\ +\x0d,\xc4\xa8\xf9CH\xc8\x11\xbf\xd2H_\xb7r-\ +\xbc\xdc\x95An+NIU\x82\x89\x0b\x05\xf7m\xf8\ +6\x8b\xa0\x9e.\xf5j:\xa8t|\xdd\xe5\x86\xd9z\ +\x8d\x0euo\xb5\xc8?\xef\xf4\x1c\xdfT\xe7\x7f\xf6\xc2\ +\x8c\xc9\xd1FL\xb0\x03\x1c\xaf\x9dc\x9d\xf6|\x8ef\ +\xb5\x90\xcd\xe6\x16!\xef\xa2\xd1B\xc2m\xa7\xdb\x9bZ\ +\x02]\x00\x85|~u\xbbY\xb4\x02`x\xa4E\xd1\ +\xba\xc8\x11\xf2\xaa\xde\xf9H>XF\x99\xae\x0a\xff\xce\ +\x0c\xb5|\xe9\xfd}Q83\x1a\x88\x88\xae\xf2\xbb\xf1\ +\xc1\x15\xc8\xf2\x99l\xdd/\xa7^\xcb\x16\xb8\xfb\xb1E\ +\xd0LB\x9b\x07-\x07\x98\x92r\xf3rj\xb9\x5c\x8c\ +\xfc\xcf\xf8\xb3#\x9eL\xe3\x00\xd17\xf2B\x0a\x09\x00\ +u\x1ag\x88\x1aj?\xf1\xd1\x0c\x03\xe0\x8e\x08\x22\x9e\ +Z\xc7\x00\x1a\xa3\x0bF\x17\x8eLKa)\x8b\xfc\xfa\ +C34\x0cZ\x12\xd2^\xe2\x9c\xa0\x81\xe1\xa2\xbf\xd8\ +j\x0b\x98,\xf6\x91g\xbe\x81m\x1f\xf5\x04\xcc1\xee\ +\x0b*\xfa\x12/t\xa0\x8b\xfcF\x1dz\x1fa\xa2\xc0\ +W\xfe\x96\xb6\xb7\x08\xfb\xd7\xb8\x96\x13\x8c\xac\xf9L;\ +\xf6\xc6\x88\x98j\x7f\xeck~a\xb7\xe9ZK\x88\x5c\ +K[\x8a\x11\x1b\x1a\x1d\xc3\xe5,\x02p\xc0\x8f\xfb\xa9\ +E\x00X5\xe2\xe8\xa2\x83\xfa9\x9e\x870\x12\x85\x9d\ + \xf9\x17\x8d\x08\xfe\x03\xe8\xa13\xaf_\xe8u\x01b\ +\xc8\x00(4\x18p\xdd8\xcb\x22<\x1f4^$:\ +\xe8b\x84\xeaT{c\x05&V\xdf\x0e\x9a\xd9w\xc4\ +\x12\xc50\x80\x99\xc9:s\x00\x82\x06\xc0\xdd\x16\x85!\ +X5\x0a\xe8\x8c#F\x8c\xfd!\x0cI4\x5c\x10\xaf\ +\x85\xd1\xb9\xb2\xf6\x97\x19U\xb7\xc2\x88\xa2\xc0\xe7?\xea\ +9\xea\x1c\x98\xa5j\x049\x93\x11\xe63\x05?\xf9\x17\ +\xff\xa1%\x05#\x82:\x02\x97/\x8d\xe6x#\x0f\x97\ +\x03\xea)\xec\x199G\xb9\x8ej\xc0N\x82\x9c\xfa\xc2\ +\x80Z\xc4\xc6\xff\x88EH@\xa1,\xb0\xc1>[\xa6\ +2\x9b\xef\xa5Q[\xee\x0a#\x04\xf8\xad+\xb1\xf17\ +\x02\xb3\x00\xbb$\x0aP\xfd\x1e\xfc\xcd}\x94\x80\x07\x1a\ +\xc0\x81\x0b\xffR\xf5\xfd\x9df&\xa4\x0f\x14\xf0\xf7$\ +\xde\xbc\xf6U$gPGM\x1d\x8f\xbci\xbf\xde\x1f\ +\x92\x0e\x1f\x1d\x7f\x901\x0a{\x98\x12\xbc\x1f\x0au\x90\ +!\xfe\x8c8\x09\x14\x5c\xc4\x22x\xbf\xcc*\xdd&\x84\ +lk\xf9\x86K\xb4/_\x9dbG\xe1Z\x04|^\ +n0\xb61\x12\xb7\x1al\x5c\x0b\x16/\xec\xe5S\xee\ +3>P\xf3\xf8\x8f\x0e\x95\xc4\x01]\xbcH\x1d4\xae\ +g\xdeN\x8bz|.\xd2j\xa7\x1f@\x86W\x80\x06\ +\x12\x8e'\x04@\xf0\x00p\xdf\xfb\x0f\x906\x0c\x93\x16\ ++\xe2b$x z\x8c`,$\xa6\x05#\x1d\xba\ +/n7\xc7\x06\xc5z\x05\xb8\xb9W~\xc5\x8c\x0e\xa0\ +V<\xa3E\x13#\x84\x82\xd6Mo\x91_\xdf\xa5Y\ +@\x0e6u0\xfc~\xcf\xa5\xd9S:~t\xa4\xa0\ +\x84I,-?U\x7f\x1d\xff5P}\xee\x92?'\ +\x8c\x8b\xc9\x1eS\x03\x91\x18Q\xc2\xf2O\xaf\x1b$\xe2\ +.\x12i\x1b\xef,\x91B:\xec\xf8\xc7\x92\xb8j\xb9\ +\xfb\xfd\x86\x1a\xa7\xd7\xee:\x8b\xe0S\xcf\x81\xab\x0e\x08\ +\x85S\x7fv\xd7;\xb20\x04H\xd8\xd9@\xe9\x98\xd0\ +\xc1G\x95_6\x7f\x14ftL\x98\xcd\xf5\x0e\x04\xbe\ +\xe9t\xba\x99\xf5\xe7y\xb2\x89\xec\xbb\xc3\xcc\x22\x94s\ +(d\x00\x89h|\x90\xd8p\x82\x92\xe8ac\xc8\xef\ +\xe7\xbac?\xa8\xce4\x9a\x05\xfe\xfe\x98\xf5\xc4F\x09\ +\xed\x00\x10\xe99-\xc2\xac\x1a\xb3\xcah94@\xac\ +\xce\x9e#j'\x9fx\x7f\x8e\xe8\xd4\xcei\xd1\x18'\ +9\xed+bX\xfe\xbe\xd4\xf9B\x8c\xd1;\x9d\x003\ +\xe7\xea $\xb1b\xdf`t\xe5\x83\x13\xdb\x16\x80I\ +\xd7\xdd\x01\x19\xcd\xa0\xa7wZ\x84}\x0a\xffh~\xbe\ +\x90\xf1\xa2b\xffR\x10\xb7\xd2\xe5\x1e\xcdb\xd1:o\ +\xe9\xc5\x1c\xff\x12\xd0\xb8\xa1\xd4\xc7?\xac\xfb\x9b\xf7\xcd\ +\xb4\x9fE\x10'U'\xc5\x0b{\xbdO\x12o\xa8\xf2\ +\x0e\xf8\xe0\x9f\x8bj\xb5\xf6kf1Id'\xff`\ +\xd1:o0@\xd2O-\xda:\x1fM\xb1\x08~\xf3\ +0\x1aT\xb8\xba\xb8\xe2\x9fkB\xe7be\x9a\x01w\ +\xa0F\x22]\xe9a\x8b7\xa0\x8cCee\xa6\x1d\x97\ +\x07+\x04\xcfi\x1d\xe4R@\x9d\xd6f\xe2\x0b\xf5\xff\ +\x12Q\xeeon\xd7\x8f\xfb3|\xc0\x0c\xed\x82\x9a\xf8\ +\xab\xea\x5c\x0b0v-\x0e(\xa9\x8cB\x00\xf8\x1dQ\ +\xf7\xb5t\xa3E\xd1\x80\xa9\x85\xbf\xd6k~\x97E\xa5\ +\xdf\xed\xf8\xa6\xb7hZ1\xfes\xa0\x1ck\xb6\xd1\x81\ +-F\x8f\xd0\x00\xd1\xfd\xf2\x8e\xf39\x16\xf9>\xcfh\ +\x91_7\xb1\x08\x22\xb4\x12\x97\xf5\x91\x16\xb4X\xfec\ +\x11\xdc'\xf4~\xd3\xfc\x16\xad\x03\xed\xfb#@=\x9a\ +)&\xba\xb4[K\xec\x87\x8f\xe4\xf8Kp\xb1@M\ +\x1b\xd1M\x98D\x8bV@\x97\xce\x1a\x1dy\x07\x10q\ +\xd9\xd8\xf6\xf5\xaa\xfaN\xd9_\xc2\xa2\x8d\x16\xd0Y5\ +\xc2t\xb1\xb9D;F\x80%\xa3\x1f\xc3\xafY\xb4\x0e\ +\x92'\xfe\x02\xde\xba=,\xc2\x88\xe4\xbduF}x\ +\xe1\xf0\x22\x03\xe8&\x96\x99X\xca\x80\xea\xd1^\x16\xc1\ +\x8e\xf1\x05\x8b\xfcu\xe5\xbf\x06\xd89\x10\x0b\x13R\x1a\ +\x08\xe4{\xe2\xa9\xd12\ +/\xd0aX\xe1\xbbM\x9eH\x81\x0aP\x09#\x8e}\ +\x8c}\x18f\xdc\x1c9\xe6\x94\x06\xc5\xb7\xc2L7n\ +L\xea\x18;0\x8f\x8f\xfc\xaf-\xc4\xf4\xd8K\x9d\xe0\ +\xcb\xc3\xc8\x9b\x01\xbc7\xb4\x02\x83\xe7\xa1\x949\x1ft\ +\xa9\xeb\xd60\xe1\xbc\xfe\x8aE\x98=\xc6\xb5b{\x8b\ +\xfc\xf9\xcf\xee\xce\xe9\xcen\xbf?g\xaf\xb7Y\xfe\xda\ +\x1dg\x91_\xef\xed\xee\xeb\xee-\x8d\x85\xe2\x8a\xd4\xfd\ +\xcb\xa2\x00\x08\xe5\xfe\x8e?'\x95\x7f4\xa1\xc8\xd3\x99\ +\x85\x86\x0a\x8d\xcb\x91\xf2\x1c\x00}\x1f\x99\xa3^\x80\xf1\ +G\xfeA\x9eL\xc3\x0e\x1fw\x80C\xd6\xc3\xdd\x16M\ +C&}\xd6\xa20\x9b\x96M\xcb\x96\xf3\xef]\xe9]\ +\x81a\x8b\xca\xfd{42\xb2\x85\xde/\xd4\xebk,\ +\xa6u;r7+\x89\xd5\xc2xt\x11N\x80l\x89\ +\xff\xfa:\x06H\xc2\xce\x14 \x0a\xe0\x0d\xf1j\xed;\ +0O\x5c\x1cW\xdd\xfao\x07\x00\x00 \x00IDA\ +T\xcfA_\xed\x1f\xe0\x00\x80\xdf\x99\x97\xca3\x1cp\ +Q\x83\xcd\xc5\x02i\x94\xf0\xdc\xc1dE\x14\x16q7\ +\x18\xd1\xfc\x85\x185>\x0a)\xa0\xd6\xeb\x02:\xda\xe4\ +Y\x8c\x1c\xd0ha\xa4\x15\xbbg4\xbc\xb8\xefP\xe2\ +a\x8c\xc1$aT\x93\xbcS\xf5\x0f\xae\x13\xf7\x1b\xf780\xa8\xf9\ +\x5c\xd4\x814t\xe52\xe6\x0c6\xb4\xcaxe\x04\x85\ +Q\x0b\xf2f\xf2T\xd6\x0b\xef\xaf\xef.@\x1eL~\ +\xab\xe7\xdc\x1b\xb74\xeci\x80\xe3\x02P\x1e\xe3\x8d\xa4\ +b\xf9\x96\xb0@\xa1\x922\xc3\x0d\x85\x96N6T\x1b\ +\x0a3n\x18\x17>\xaa\xe4O\xb6\x05\xe5o\x0cM\x01\ +\x12ofM\xedc\xce\x13~\x1e.\x00}\xaa\x06\x05\ +\xd2\x94\xd2\xcb\xaa\x05\xfc\xf4\xe1\xc2\xf3\xa0\xd3\x89\xd5\xfb\ +\x9ff6\x9f\x07\x98\x02\x9d\x0b\xfd\x9c\xc4\x1bH\xe4\xf8\ +\x5c}\xb7\x00:\xea\xcc\xa6@\xc1\x82\x0a\x05#\x80\x8d\ +\x9d\xc2\x9a\xf7\xaf\xc4\xc6\xa90P\xcdXx\xf7\x09q\ +\x86\xa2\x0c\x02\xcb\x0c\x0fH\x1cj\xb2}w\x02(^\ +C\xa9\x9b\xb2\x00\xa0\xa6P\xc8k\xe6\xcc\xaf\x0b\x9f\xef\ +)=p\x14(P\x98\xb8o\x93\xba.\x14\xae\x5c'\ +>/\x88\xe1\xd3\xe3\x7f\x8c\xff\x11\x00\x1d\x00#(|\ +\xb2M\x19\xcc%1\x1b\x90|6\x004\x076\xb3\x08\ +\x07\x193\xf8\x1c\xb0\x5cw\x00\x95\x0f\xea\xdfy\x80\xd5\ +\x81\xce\xc5iu\x1fP\xc7x<\xa8\x1d\x18\x90\xe9B\ +}\xbe\xb1\xd9\x1d1k\xd5\xad\xa9\x8e\xd3\x92\xa2\xaao\ + qD\xc4\x10E\xcdw\x11.\xc4\x97\xe4\x0f\x8f\xc8\ +\x10\x0f\xaa\x8b\x02}_3f\xa8g\xaf\x90\x96O\xcb\ +\x97\x0d\xae\xda\xeb@1\xdcM\x85)\xaa\xb5\x88\x89\xd1\ +1\xd5,\xf7\xc4Oj\xa1\xed\x0c\x10f\x89(TQ\ +MFLD\xeb\x80\x0e\x18\xfe\xc1\xeeW/D\x1c\xf1\ +\x1d\x0a'/T\xf0E\xa5\xb0e\x06\x89\x83\x9b\x8d\x1f\ +D^*\xa5\x14l~P\x22rD\x87\x1e*!\xa3\ +\x10 \xed\xac3\x10\xe27\x15U\x80\xa6Y\x82\xcd\x11\ +\x05;\x85-\x1b>Z\x15\x88\xe7\xf1<\xf2|\xb1\xc1\ +\xa2\xae\xcb\xfb\x04\x09\x86b\x0cE\x1f\xb10D{d\ +3\xe3\xc8\xae\x80\x1e\xa8\xe2}F\x80#\xbb\xa8\xe0\xd3\ +qa\x1f\xa6\x80\x5cI.-O\xab\xc0\xb8\xa1\xce\x8a\ +{!\x85\xf4\x87\x9e\xfb4\xb3E\xe8\xd8\xeeW;7\ +\xdc\x07\xf7{\xc7NO\xf7\xbd(\xc1\xe0\xd7\xfc\xce\xd6\ +As \x0d\xd5u\x012\x0et\xd1\x19\xa2\xb0\x16\x00\ +C\x87\xc8\x08\xcbFY&\x01q\x91+\x0a\x05\xddO\ +fs\xcbs\x93\xaf\xcb\xe4\xa9\x16\xf9\xb6\xbfl\x11\x80\ +\x16FQ\xa0<\x02\xf80\xfb\x09\x05\x18\x86\x00\x094\ +\xebA\xfb\x9cw\xde%V\xe5\xe2x\xe4}\x88\x95b\xef\ +\xcb\xbeOG\x95\xbc\x89\x82\x84\xfc\x0c\xb5z\xdc|`\ +\x18\x1ea\x11\x0asF\x07\xc9\xab\xd0\x1ca\xfd\x1dc\ +\xd1\xc4\xcb\xc8C\xdcN\x98\x91\xca\x0d-B\xa3\xed~\ +\x8dNJ\x94\x93\x11\x0b?\xd7u\x0e\xb9\xd8/y8\ +\x1a2\x14\xb0\x889\xabS=\xfa\xc0h\xeb\xd1\x07\x82\ +\xf6\x82\x8d\xea\x1c\x1c\xb4&\xe4&\xd1\x9dmQ(\xe2\ +\xb5c\x8a\xdb\x8f\x001\x07x8\xe7\xe9\x00#F\x87\ +X0\xa3\x06\x8ch\xc0\x1c\xe4\xeb\xb7\xb3\x08\xf9$\xf5\ +\x8c\xd6\x8d\xef\xc3\xb2\xe3K\x9f\xb0h\xf9P\xda3\xed\ +\x95\xf6*Z\x069\x82\xad\xde\xa4\xc5\xb4y(\xb3\xf4\ +^\x08\x038#\x0e'{\xd7\xc1\x1f-B\xbe\xc4(\ +!\x0dR\x00#\xce1\xf2'\xd6\xd1\x87*\x80\xc3\x08\ +\x1d\x80\xd2\xc4N%\xda\xf9\x80\x88,\x80\xbdl-\xd9\ +O}$E\xf9\x8ek\x94)\xaf\xf3\xc2\x93\x8e\xb44\ +K\x1c\x08\x22\xaf\x82\xb1\x22\x06\x87\x03F\xbc_\xb4\xab\ +p\xbd\x80\x99\xc6u\xa0!\xc1\xc8\x00u\x0f\x8d\x1d\x5c\ +\x90\xd0\xe8B\x9b\x84\xbc\x0c-.\x1a\xa9\xcc\xda\xeb\xfb\ +\xdd\xce\x11\xd7\x1f\xf2\x04\x00[5\xbe\xc6\x7fS\x83N\ +u\x8d\xab\xff\xf3\x5c0\xca\xf0d\xce\xe2\x9f,\x7f\xae\ +\xef\x9bF\x8d\x18\x13\x88\x94\xbbx/\x8d\x0a4\xd0`\ +\x22\x08\xf0\xf3\xcf\xcf\xf3%\xad\x08\xff\xb9\xdc\x1f\xce\x0f\ +\x1a\x8f\xacsioy}\x8d\xe8.\x00\x00\xf5\xb1~\ +\xfed9\xf8\x16R!\xb1~X\x88v\x19\xdf\x12\x12\ +?\xa9\xa9\xfa\x8d\xfcg\xc1`\xf1;\xd9\xe1P\ +\x10\xf3~y\x10(\x8c\xef\x91\xba)\xff\xf5\xc4\x16\x0c\ +6)\x0b\x03\x8a*\x00\x05\xbf\x07\x80\x81\x0e8v\x88\ + ;|N\x0a\x8f\xbe\xe6A\x9f\x82\x06\xe2C\xa1\x8b\ +m#T0\x0acfn\xb9\x9f\xeb\xd5\xc2\x8d\x07v\ +\xf0\x0e\x15\xfas\x0a\xd0\x99_T\xe5\xd5\xf5\xfd\x00\x10\ +0\x04(\xc0\xd8@\xd9\xa0VVa\x09sD\xc88\ +\x85\xa2\x1f\x18 aWK\x85\x94\xebpM~\x1c\xae\ +\x11\xb3a\xe1\xb0q\xaf\xab\xef\x7f\x97\x80\x0b(=l\ +8\x00U\xd8n\xf0\xfba(\xf0\xf5kj\x9d\x01(\ +0\x13\xc3\x88\x00\xb38\x93\xb5\xe3\x80\xb8\x8d\xdb\x05\xed\ +T\xc5j\xba\xb9\xbby\xbay\xda\xe7q\x8d\x07\xcd\xcc\ +\x93\x10S\xa8\xd1\xa1\x86\xb2>\xba\xdc\xa2l\xb8%\xc1\ +\x1c\xdc%\x8a\x9f\x0e\x1e\xa7\x86\xce\xa0N\x19\x9dq\x90\ +\xf7\xe9,\x82\x0f-\xb3\xdf*\x1c\x01,r2Q\x12\ +V\x17\x85\x93\xfb\x82\xcf\x00\xaa\xa0&\x01\x82\xca\xee\x9d\ +>f\xa0P\xc9GE\x1a\xb17\xbeN\xa3\x18\xd3\xb8\ +J\xf0<\x02\xc0\xf1\x00\xd1\ +\x1a\xa9\x03(q\xb1*4\x05\xe6Ls\xa5\xbc\xbfO\ +nk\x91\xff\xbct\x9d\xcdg\x9d;\xc0\xa7\xeb\x95f\ +\xb2\xc8\xef\xef#\xe6\x17P\x0a\xdd\xdaa\xf9G\x9d\x85\ +t\x00\x13@X\xcfO\xfe\xae\xea\xb6\x80\xbb\x0a\xcf/\ +\x89\x15\xeb\xe1[\x16\x01@X\xc0\x22h@\x90\x08\x89\ +\xf2\x88J\xbd3Y>k\x91\xff~\x8d\xf4\xf6\x94\x9f\ +\xff\xd1\xfe\xa3\x03F\xf9\xfe\xa4\x0b,\xc2s-f\x0d\ +\x0c\x02T\xd2\xcbu\x9el#Ai\xf1\xb4XZ\xac\ +\xd8\xa1Vw\x061\xde\x9c\xb2/FGzs\x8e|\ +?\x87{Y\xa8`\xce\x85k\xfa\xab\x85F4\xcei\ +\xc0\x0c\xcc\x8a\xd1s\x16\xb2\x09\xdc\x22\xec\x87h#A\ +\x0d\xbfm\xe2v+\xe8a\xc4p\xae3\xb2\xe5\xb3\xf1\ +?\xb6\x08\x00\xb0\xf2\x18\x07p\x94\xa8\x1a\xbf\xc3\x18\x1e\ +n\xf3\x86\x9d\x98:`\xcc\xee2R\x02\xf3\xc0)\xb2\ +\x1a\xa5\x1b}\xaa\xce\xc8\x03\xb0\x0cO\xb4\x10\xf3\xe1\x91\ +P\xf0BE%\xd1\x84\x0a\xfd\xaa\xce\x01\xc4\xe8\xa4u\ +\x80\xed\xe5h\x95\xd1\xaa#\x9b\xf9\xbe5\xc7-m\xc4\ +\xa0[2\x87Q\xc4\xbf\x9d\xe3\xcc\xe6VSF\x84\xae\ +\x08LT\xad?\x07\xc8\x044\xba\x0d\x1e\x9dQ\xcd\x10\ +; \x09\xf3\x02\x11c\xfe\x9d\x99\xf2\xd3\x0d\xb2\x09\x9d\ +O\x0a=F\xfdT\xb8twX\xb4\xf3\x86Y\x7fw\ +c\x11\x90\x83J>\xfb\xc7x\x05\x8b\xe0\xbe`\xe7\xc3\ +\xb5\xe5\x9c-\x9f\xa7t\xfe\xe7h\x05\xb5\xc1$\x06\x94\ +\xb8j\xb8\x0ayW!W\x01\x0a\x80\xe9\x9dU\x01\x99\ +\xe3\xd5s\xbc\xad\x89\x1b\x96\x81\x81\x9d\xf5\xf3\xd6\x0a\x00\ +\x05\xa3\xba\x9c\xf3\xe4\xe9\xe4\xf7\x14\xe2\xfa|\xec\x07\xdd\ +\x8e\x16\xf9u\xd9n\xb9.\x9f\x7f\xdd^\xdd\x9e\xdd\x9e\ +M\x03\x05\xa6d\xb7\xb4E\x10\x9b\xc4\x9e\x15\x11i\xc4\ +\x86\x19Y%o'\x7fT\xe1\xef\xe7\x18@\x06\xb3\xe7\ +\xd4\x13\xe4\xa7\xea\x90\xfb\xf9\x80\x084\xf6\xa7\x14\x8cP\ +\xa8\x95'\xc0\xd0JOY\xe4\xf5\xbe\xe5p\xab\xe1V\ +\x81\xa9\x013\x08-\xab\xfb\xa4\x11\xf2Q\xe5\x17zu\ +\xc0\x1f\x00\x0a\xe6\x026\xc9\xb2Qv{n\xce{:\ +\xdd\xd4!\x0f\x88\xf1\xab\xbc\x0e1U\xdc\xa8l\xf5\xd8\ +\xfaa\xc4\xa9\xbb\xd7\x22\x00\xa7b\xaa\x8d\x97\xb2\x08\x9d\ +\x7fF\xd5\x00\x8cT\xb02\x12\xe1\xa3\xb7=J\xbc\xdb\ +\x0d\xe2\xf6C\xa1\x0b\xf3P\x8cSg:c\xc3\x07#\ +\x06\x11J\x89\x9ez#\xaa\xff\x9f\xf2\x14g\x84\xd08\ +a\x9f\xa11\x08\xd3\x17\xea=\xa3\x14\xd2`\xf0\xf5\xcb\ +\x88\xa8\x1a\x89\xe3\xf3-\xc2\xf7\xb1\x0e?&W\x08\xea\ +0\x18\xa7\x00G\xb8\x04<\xa4\xe7\x06\xc6'\x94\xfe\x9f\ +Z\xb4\xbc\xdb\xed:i\xc4\xd1\xe8\xa1!\xa1\x9f7\xbe\ +\xcd\x22\x00\x83h\xb6\xf0\xef0,\x10\xb3\x06\xe0\xc4m\ +\x01\x91j\xfe\x9d\xfa\x8f\xfa\x9az]\xfb\xe7d9\xee\ +f\x0a\xd4z\xc4<\xac\xdc\x9e\xbd\xcd\x80\x96\xaf\xa3\xf0\ +\x9eQ\x09\xfd\xcc!\xb1\xa7\xd0\xb3\xff\x7fM\x89\xc90\ +\x14\xfeP\xd0xCv\xdbVS\xc2\xbc\xdc\xb4@\x80\ +w\xdey\xe3$\xfa \xa0\xfd\x82\xdc\xca\xe90\xcb\x01\ +\xc5\xd0;{ B\x02\x06\xfc\x06\x91\xb0\xd3\x99\x06\x11\ +\xa2\xc0\xa0\xb3\xdc\x9f\xe1\xa7\xe0P\xe7\xba\x5c\x9dY\x82\ +\x08^_\xe4\xb0_\xd0\xcf\xfbz\x11Af\x1a\x1dH\ +\xa0cM\x81\x8f-\x17\x85\xbdD\x95\x5c\x9d\x95W:\ +\xc2\x14v\xa8\x06\x8bZ\xe2@\x03\x85?\x851\xc0\x02\ +\x89\x9bf\x0a\xfd\xf7\x00\x0c\xb0a\xf6\x0bp:\xee\x8b\ +\xeb\xef\xb9>\x00 P\x96\xfe5\xf1\xa24\x1d\xaam\ +\xdbb\xa2\x98\x99[\xef\xda!\x81\xdb@\x22j\xd8\xb7\ +\xb0>\xf8\x1c\xfc^\xc40@\xbcX_|\x1d\xd7\x11\ +J'\x07\x0e\xd4\xb2\xa9%\xbcc\x00\x95\x94\x84h\xb4\ +\xf4h\x99\xd12\xad@\xa3SR|\xbd\x7f\x15~?\ +\xe2?\xdc?:\xa8\x87j\xb6\x1f*\xef%\x95\xba\xe4\ +b2\xbf\x90\x1d\xdb\x8f*\x95-\xff\x94j[\xa5Y\ +Y\x9f\xf5A\x1d\x14\x7fO\x80\x184,@\xca\xf93\ +\x07(T7\xa8@P\xc4\x10\xafc]\xc1` \xa1\ +`4\x88\xc2\xbe\xeb\xd9Qr_\x01\xd8\xe8\xc8CA\ +\x22\x01\x91H\xa3\x1f\x08\xba\xde\xeeo\xba\x87\xc5\xb4v\ +yt\x94}&\x92\x8e\xaa\xd4p\x1d \xa1\xe3\x07\xa3\ +\x80\x8e\x07\x09\x0dL\xa2\xde\xf5p$\x95\xe7S\x88\xb4\ +#\xceGI\xdd{=\x8952k{H\x896\x8a\ +\xc0>\x81j\xef\xc9\x16af\x9e\x99K%tPC\ +]\x14\xca\x12\xcd\xd3\x9b\xe6@\x9a\xd7\xa2Q\xf6\xb9>\ +P\x86]\xc3A\x1a\x07\xaeFL\xe1\x89\xed\x18\xa3\x19\ +\xff\x90\xf8\xdd\xbfD\xad\xfe\x8fE\xd0f\xf8\x9df\xbf\ +\x99\x01\x84q\xa0\x9f\xc7\xc8\x81\xff\xc7,\x1a\xc0\x15\x94\ +B\x00H\x80W\x89U\xb9\xe8\x0c\xda\x1c\x14\x80B\xfc\ +\x07\xbf\x1d\xdcV|\xdc\x0d\xb6\xca\xcf\x81M\x9e\xdb\xec\ +9Z\x05\xec\xe3\xcc\xce\x01\xa4p=\x07'Y\x04\xbb\ +LD!\xc5\x00!1\xf0\x0e\xaf\xa8\xd1i6\x8bf\ +SW\x80\xb4\x83D!<\xba!\xf4\x9c'.\xd2$\ +\xdb\xbe\xc9\xcf[\xe4\xc7bq\x8b\xd6\xd1q*\xaeD\ +\xe2\x06WZ41.l\x06\xe9\xc4\xa6\x03-\x82X\ +\x15\xae\x15*t\xcbhBN\x1c\xd2\xf9\x16\xba\xeeG\ +7@6M\xe6\x98N\xb3\xaa\x97\xe9\xf9\xdd&h\x0a\ +l\xa3\xfdS\xa2T\xee\x12\xa0\x99|\xff:\x89\x5c\xf9\ +H\xd0^Z\x07\xd8\x8f\x01 ]\x94\xaf\xdfEEd\ +\xf0\xdd&\x8e\xe7\x14\xd1\xef\xcb\x9e\x0f\x8a?\xa2Y\x88\ +J\x0a\xa0DL\xce\xb5\x05\xf8\xfboY\x14m\x84\x13\ +\x8b\xba\xff.%\x85\xf6\x0eU\xfa\xafEs\x95\x18\x9c\ +\x22?k1x\x0a\x13k\xfd@q\xb7Y\xf1\xb5\x9b\ +\xfb\x01\xda\x0e\xfd\xd9\xe4\xc2$9M\x14\xd0ue\xdb\ +\xf4\x5c87\x10\x054J\xedo\xb4o\xcf\x1b\xec\x0d\ +5\xbaA\xe25\xdc\xd0\xa2\x00\x0a'X\xe2\xe6Tl\ +f\xbe\xe9\x90!\xde\xa6D\xb6hJ\x9c\xac\xfb\x7fz\ +c\xa4\xa4\x9d,\xf2\xcf\xfd\xacE\xfe\xf3n\x16\x81\xb2\ +\xab\x8e\xff\xe4u\x16M# \xfd\xd9\x22\xd8\xbf\xadj\ +\xd1F\x06\xe8\x9c\x8fg\xb7\x08\xb3\xb3\xda\xbf\x8b\xb8\xbf\ +1\xe2>[\xa9\xda\xf9)\xabL,\x01<\x83\x9bk\ +\x012\xd8C\x05\xcb(\x9f\x0e\xa3\xe6\xceb\x9e\x09\xa5\ +\xc0}\xb4\x8ab\xc2\x0c\x80\xda?:\x7f4u4\xb5\ +\xa8\xc1\xe7\xc8\xaf\xa7\xe40\xad\x83\x8fY\xa8S\xf8=\ +\x01\xa8y\x9f\x1c~\xd3B\x9d\xe8e%j{ap\ +\xdb\x80\x81&\xaa\xb73\xeb\xac\xecz\xb8\x89\x19\xc2\xcc\ +sqGS\xcb\xbfT\xc0\xf3\x0f\xdbu-\x1d\xdc-\ +d\x07\xb8B\x181\xe8\xab\xdc\x03\xe0J\xa5\x9e\x82\xce\ +\xeduU\x98\x8f\xcf\xb3\x08\x9a'\x00\xbe\xd8ri}\ +tW[\x84\xd9m\x89\x8a:\xa5\xdel\xe2\xf6h\xcc\ +I\x17w\xfcB\xe1\x0a:\xe0LG\x94\x11\x86\xc2+\ +\xd8)\x00\x19v\x1a\xae\xf0\x06L\x07\xec\xfd\x00\xbc\x99\ +)\x86\xe2\xbf\x9aE~\xfd\x89E~\xdd\xc7\x22\xdf\xcf\ +\xcf\x8f\xbe0\xb2\xfdpo\x8b\xb0\xde.\xb7\xc8\x7f^\ +\xae\xda*\x8e\xaf\x91\xe6\x12\x05\x14\x22\x8a4(.\xb3\ +h\xcc0\xb7ETa\xebZ\x16\x14x'X\x84\xc2\ +\x19\x8d\x06\xd4\xdcq=\xc0\x9eX\x0c&o`\xd0q\ +\x17\x13\xcc\x0b\xc63\xc4|\xe0<\xc7EE\xa2z\xc6\ +\x93)L\x19>\x07u\x023\xf34\x16\xa9O\xe8\xfc\ +\xd2\xa1\x87a\x0b0\xa0\x8e2\x9a\x04~\xeeH\x5c\x97\ +|\xd1\xeb\x07i\xc3xA\xca\xfdF\xbd\x9ezF\xa2\ +\x96>\x22Kc\x8c|\x8d\x9f\xc7\xfb\xc0\xc6\x11\x8d\x08\ +D\x08\xdf^\xeb\x00\xb7\xa7D+\x89\xd1:\x01\xad\xfe\ +}\xdcW\xe5S\x8cZ\xc0\x84u\x0d/Fy\xc8\xcf\ +pC\xa0A\x8a&\x17\x0d\xe0\xbe[\x1aT}\x98\xa6\ +\xaccu\xd2]\xccP#\xbe~\xbf\x10\xab\xc6\x9eP\ +y\x83\xd7\x9b\x000\x5c\x1f~\x1f\x8d\x13\xfe\x83\xb9B\ +a\xbdJi\x89\xb6\xd1\x19\x98\xd6\x00\xa2r\xc9\xf2u\ +A\x1d\x02#\x88\xc6\xb4\x5cE\xd87\xfc\xfb\x01\x0e\x18\ +u\xa1\x1e\x05(\xc0&\x17\xe69\xeb\x84\xfb\x8dh\xa2\ +\xf6\x93\xc9R\xb0wa\xc1R\xe0Gq\xbeY\x02\xe5\ +\x15q\x1c(\xb2 \x86\x88\xfaE\x11\xbe\xe9\x02E\x9f\ +\xc2\x91B\xd3\xca\xb9%C!\x87\xfa7\x1b\x18\x08\xcf\ +\x9bE\xed\xa5\xa0\xa4\xe3\xc8\xef\xebt\xf0\xb0``\x00\ +\xf4\xc5\xfe\xb8P\x14\xe2\xfc\x9c\xfe\xdf\xb3\xd0\xe8\xc4S\ + \x83(\x82\xb4PPb\x8fG\xc7\x9a\x82\x0b\xca\x0d\ +\x055\x9f\x93\x02\x9c\x07\xab\x0f\x8c\xb0\xa0##b\xfe\ +P\xa8p}g\xd1\xfbo\xae\x0cu\x16\x9c\xce\xbeD\ +\xc1\xfc\xc1X^\x09\x0d\x1b\xc9r\xfa\xbe\xbe\x8a\xfd\xb2\ +z\x9fh\x1f\x00T\xf0{aH\x80\xcc\xb2\x91\xfdS\ +\x1b\xe7=\xa2\xc4\xb3\xf0\x01\x86xpY\xf0\x14\xaa+\ +\x97\x9ec\xa3\xeccc\xc6z\xe9\xcd\xf6{\xc7\x84\xef\ +\xef\xbb0,\xa6?\xf7\xde\xb7S\xae\x98\xd5\xc4&D\ +\xbe\xcd\xb9\x0c+\x1d\xe9|-\xaa\x86\xc0\xc5\x15\xd1D\ +\xfc\xa8Ph\x8f\x0dL\x0e:\x8b0\x12\x98m\x7fV\ +\xff\xfe\xf5\xfa\xa0\xba}\x8df\x96<\x81bv\x8f\xc2\ +\xe9O\xeah\xe0\xafzn\x9d\x89b&\xce\xfdQ\x99\ +QGT\x86\x8d\xaagw9\x8dm$\xcf3\x1bA\ +\x14\xdd\x9c\xfd\x0d\xecD\xe8\x00C\x05C\x04\x06us\ +u.H\xc0q\x1dp*8T}\xd6/\x14.\x0a\ +tf\xddU\x90\xf9\xfb\xc7~\x08\xf5Y\x98\x04\xba\xee\ +\x88\xc3\x90(\x00,9\xd5\x1a\xaa\x14\x07\x00j\xad\xea\ +`\x0d\xce\xca\x05\xd5Y\x81j\x08\x05\x0e;/\xdc\x17\ +\x98\xcdV\x87l\xf0'\x8b\x00`\xa8\xd0\x1dln\xd1\ +f\x07]\xad\x5c\xf6u\x9exj\x84\x02\xe0\x85\x82\xcf\ +\x99\x03\xa2\xb2\xe3\x07\x8b\x1a\xb2\x1f\xcc$j\x02l\x5c\ +\x0cL\xb63\xcet`\xa6Q#\x02\xd3\x8cf\xbdZ\ +\x9f\xdf\xc1\x19\xb9\x10?C\xaa\xe8\x7fW\xe7\xe5\x8e6\ +c\x8c\xbd#\xcf\x95\xdb\x1f1\x12\xc6>\xc5\xe8FT\ +\x97~:$&\xcc\xaa\xd2i{\xa2\xa8\x80x\x22U\ +l\xe2\x96\x0e\xcc\x1d4+\xe4Z\xe1\xb6E\xd7V\x8a\ +4\xcf\x19Z\x1d\xc5m\xe0\xc6\xe6\xa2\xe1\x1d$\xad\x03\ +43\xd2?,\x1a\x95\x9f\xc2\xc9;\xb8\xd2\x0a`\xa4\ +\xc3\xc5\xa8\xf0\x99FUZ\x89N\xda\xda\x22_\xd6[\ +,\xf2\xd7\xbf\xd3\xa2\x8c\x12\xe5\x08\xa3+\xa2@v\xe7\ +X4\x06\x80S~9/\xa4\x11\xe1~\xd2\x02\xc4\xb8\ +?\xc3\xc5,ZG\xd3]/lto\xd5\xe0?n\ +\x94s\xa3t\xdfg\x91_O\xb6\xbfi\x09\x9c\xaf'\ +:bh\xdd\xb0\xae\x01\xba\xef\xae\xfb\x91\xbbA\xc0\xbc\ +a?\xbf \x17L?n\xfb\x953=\xe88\x09\xa0\ +J/[\xb4\xf7\xe3\x8c\x03\x00+D.\x11\xaf\xbb=\ +\xdd\x96n\x0f\xe7\x1d\x22\x8b\xb6\xbe\xac\x13\xbe\xb7Ex\ +_\x88\xf1it\x02\xc0\x8c\x0e\xae\x8f\x1e\x98j\xf5\xfe\ +at\xceD\xd5\xa6\xe8\xe7\x1e\xde(\xce^\x10rN\ +\xc3`4\x1e\xc8~\xea\xcc\xfc2\xf8\x87\xab\xc3\xc7z\ +\xa5P\x1d/n\x11ff\xd5\xf1\xf3Yx\x89\xb29\ +#Jj\xe7\xdd\xe69\xde\xdf\x80\x05\xf67\xc4%\xd9\ +/\x0b\xd3`\xc9\xa6\x01\xc1\xa8\x08\xda\x1c\xe5\xba\xdal\ +\xf5\x9aU\xbc\x161L\xc4\xc5\x5c\xa5\x9es\x1f\xf1`\ +i>u\xebv\xebu\xeb\xb5\x042=Y;\xa1\xa5\ +\xd0\xdaC\x9d\xae\xcb\xcbl~\xed\xb8\x8b\xa9\xe5\xcc?\ +\xf6\x07\xf6gD\xf1\xe8HK\x8d\xdc\xedV\xb5\x9f\xa6\ +\x8fZ4`\xb3\xb8\x0d\xac\x16l\x81\x19E\x13\xb0\x0e\ +%\xb8\xa4\xd5f\xff\xf9\xa2Fq\x0cx\xbbB\x05\xdc\ +)\xca?\x8c\x80qR\x8e\x13\x9bjx\xb9?\xdf\xd6\ +\xb9\xf4\xd6f;X\xce\x9f/4&\xa0\x8f\x8e\xc8\x0d\ +\xc7g\xa0\xd1\x12\xd0~N\x9eP\x00\x8dS\x82v\x8d\ +\xf6U\x17\x05\xd4s\xdf\x1dm\x11:\xb9\xd2H\xe0\xeb\ +\xdc\x0d\x80\x7f7\x97\x86\xb7h\x7fzk\xc8\xa3\x195\ +`\x04\xcb\xde\xcf\xbd:\xcf\xff\x1d\x80 c>\xdc\xa0\ +\xbc\xc0\x00\xe2W,\xc2\xfd\x83\xdaM\xbe\x86h\x9b\x00\ +\xab\xd1\x9e\x16\xc1.\xf5\x1d\x16\xf9\xf5\xd0\xees]~\ +\x0eG\xbf2c\xd2\xa0\xf9\x02\xf0i\x80\xcb\xa6\xe5\x5c\ +,\xef\xd3\xcf\x11\xddG\xf6\x17w}\xd1HC\xf7\x19\ +\x8b\xa2\xa2\x7fsws+p\x9cA\x08\xa3C\x85\xb3\ +\x17\xbbN\x1e\x09\xb3\x01\xbbE\xf2%\x98\ +\x17\x8c\xe4\xad\xdak\xcc\xc1\xcc\xe4\xbe\xa9\xf0u\xad\x22\ +\xde\x1fn\x03r\xddp\xbb\xc2\xbd\xab\xdd\xb4\x17\xc0b\ +\xe493\x97|O\xe2\xe3\xfe\xfe\xd0\xe0\xc1\x85Ab\ +\xa6\x8c\xf48 \x0c\xa0\x81\xd6\x18\x1dv\xea\x11F\x06\ +d\xcf\x8c\xe6\x9b\x038b\x82:\xb3\x83<\x9f\xbc\x1b\ +\xd1k\x00U\xd9\xf2y\xfe\x87\xf82\x0d\xe8\xf5-\xc2\ +\xfba\xc4\x80\x11\x10\x18\xb3\x1a\xad\x02\xa8\xf3:\x92Q\ +\x02\xf2e\x98\x08t\xf4\x07\x12\xb7\xd7\xffX'.\xb2\ +\x08@\x22F\x8c\x8b\xb1r\x9d\xd1\x02\x90\xe6\x94\x8b_\ +\x8aa\xea\x0c\x86\xc6\xa4\xae#F\xca\x1b\x9d\x11Cc\ +\x96uF}\x86X8\xee:\x02\x88&\xbd\xb3\xd7W\ +\xd9\xe7\xef\x958\xfa\xc6\x8b\xad\x1b#\x01\x14\xf8\x14\x1a\ +\x14\x1e\xf6\xf7\xfcy&!)s\x84B\x9e\x82C\x8c\ +\x03f\xdc\xfc\xe0\xa0\xc0\xe3\xeb\xfa\xb6~\x14\xee\xd6\xdf\ +\x9f\xae1\x0e\xbc\xc0EM\x9cN0\x1dS(\xe0P\ +\xda)4\x11c\x83B\xbf\xaa\x17\xee5\x01^\x5c\xef\ +\x8f\xc2\xfc==\xca=>\xf3\xcc\x8a\xd0\x19\xe4\xe7C\ +\xa9g\xe1\xf4}\xcd\xf9\xdc}\xed\x00\xa8~\x5c\x0f\x0a\ +\xff~\x81\x07\x13\x83N9\x94x:\xbd\xdc\xb7\xa5\x02\ +\x00\x13?O\x1bA\xa8\xd7\x1b\xaa\xa2\x0a\xe4\xbc:j\ +\xe7\x97\x07\xe7_J\xf0\xfb#\x0c< PTyp\ +(\x08f}\xbd\xfa8j\xb5\xd3\xd8>\xf2\x00s\xbf\ +\xf9z\xae\x1b\xeb\x82\x9fG\x01\x89]\x22\xb3R\xbc\x0f\ +fj\xe8tP\xe8\x22\x86\x22$\xd8\x0f*\xc4\xd6d\ +o\x05u\xc9GX`V\xd0\x91\xd7\x0c538l\ +\xa8\xdd\xfd\x16a}\xdco\x11\xd6#\x07\x884\x09\xba\ +]\xbb]\xba]\x0a\x22y\xdd\xf8\xba\xc0X\xb8J\xb3\ +B\x88\x8d<\xa0\x8dR\x85\x9a\xab\x86s=\x98Q\x82\ +yAg\x9b\x0d\x8d\xe7\x1c G\x8886P\x0eX\ +\xb1\xee\x98m\xc3\x0e\x90\x03\x0f\xb1\x18T\xbb\x11\xbd;\ +\xce\x22\x8c\x90\xa0\x02\x0eu\x18\x84\x94\x83\x00@C3\ +QnG\x0a\x80\x06\xf0\x86:\xbe\xd9m\xbd\x16\x10|\ +\x0ex\x0a~\x98\x17\x1c\xa4\x1cd\xfb\xe6\x8du\xdf\x90\ +\xf0K\x1d\x97\x84\x8e\x03\x85\xc2\x9d\x99\xaf\xf1^\x16A\ +\x1c\x90\x02\x05\xc0`\x1f\x1d\xa8\xf2\x9ffC\xf7Yu\ +\x00?\x00\x01\x01\xa9i-\x8b`\x7fy\xbe\x80\x00\x89\ +\xf4a\xf3\xe53\xfaR{\xf6Q\x94Wu\x1d\xb8\x9e\ +\x9a\xe5\x1c<\xab\xce\xffz*\xac\xd9\x07Ix\x9e\xd6\ +Ao\xc7\xc9\x83AD\x89\x99xl&W)\x98v\ +\xeb\x1cH%\xb7P\x09\x97,n\x159ZG\xd7\x81\ +\x8f\xbd-\x02p\xc1\xbek\xeb\xff\x810\xdaBB\x85\ +\x8d\x17#!Praz\x88\xb1\xe0L\x17D\x97V\ +\x91\x0f4\x09\x86\x01\x98\xcb\x06\xe0M\xbf\xa7\xbb\xdb\xa2\ +\xcd\x10#R\xc9\xfa\x1f~\xd2\xa2=G\xe9\xd2\x1c\x97\ +4\xc0\xc1\xca!+\x88H\x14\x86\xdf\xb1h\xaa\xd1\x14\ +\xb8\x9e\xb0\x01dj\xe61=g\xd1\x12~\xdf\xef\xa1\ +Vj=\x02H\x14&\xc8<\xf2Y\x1f5\x9b\xb5\xf4\ +h\x8e\xc7\x82V\x0b\x80\xa0\xae+*\xe0\xcc\xa8\xa6\x07\ +\xd2A\xe9\xa0\xfc~\xffh\xd1\xc4\x8e\xfcU.\x0b\xe9\ +m\x16\xa1\xe0\x96\xdfq.\x9f\xca\xe8\xc1`U\x9dG\ +\x9a=tf\x96\xf6i\xd7\x1c\x90\xb6\x80k\x8d\xe8\xfc\ +!\xa1w\xd1A\xce{\x80\xc2\xe6o^m\xf2\xee\xb7\ +h\x89\xa6\xbb\x05h68}\xc8B\xfb\xef\xed*H\ +\xafl\xf6p\xdd\xb99\xce\xd1\xa8\xd6\x22\xed\xf3\xf8\xac\ +\xe4\x1d\x16\x8d*\x99\x8e\xb3\x10\xa0\x9b\xdfG\xf7x\x8e\ +'\x82\xc8\xaai\x14\x5c\x11\xf6cK\xaf.k\xc0j\ +Z\xc6\xa2\x89\xc0\x99\xf9\xa1\xd9\x1f\x16\xe0\xe9i\x9d\x83\ +\x0f\x06J\xf4[s\xbc-0\x12_\xb0\xc8_\xff\xb1\ +\x1c\xbb\x05\xc0\x0c\xbb.\x15FP\xc7\xe9x\xfa\xba0\ +\xf1\xc8[\xf49\xe7T!\xbe\xae\x98\x8ey\xdf\xe8\xe6\ +\xb4\x08\xfb!\x1d#\x0ati[\xb8\xfd\x98\x9e\xb3\xb4\ +\xb6E9_\xeb\xbeA\x83E\x80.\x14\xd6\xa2M\xb1\ +O\xc8\xabt\xeev\x8fX\xc8\xfe\xed\xbbA\x8c\xecg\ +\x95\x19\x03\xc3\xa1\x00\xf3\xc6\x8c\xda\xdcB\x9d\xdb=\xf5\ +~\xd7l\x85\xbd'\xe8\x88\x8b\xaa\x10\xf4Yx\xad\x9b\ +\xf2\x1c\xdc\x15\x0a_+\xa87\x0f\xb6\x9e\x12W\xeb\xbe\ +f\x11\x0a\xc78\xb2\xf8\xa0F\xaa>+1\xb5EB\ +\x03\x83\xbcK\xfb\x16y\x036\xa4\xbe_SPqN\ +\xc1TR\x9e\xe0\xfb>.O|=\x1dEF\xf24\ +\x92\x82\x8a}\xc9\x92\xe6n\x0d\x8a\xf1\xbc\x16\xe1<\xc3\ +\xe6X\xe7\xb8\xbf?\xb4\x114\x22\x93\xd6\xb3(#5\ +k\xd8H\x8d\x8b\xa8\xa9P\xec\xd6\xca\x91\xdf\xf7h\xe3\ +\x1c\x1b\x15\x1b\xba\xb3l$c\xf4\xe6\xd1\xfc\xa3\xbc.\ +\xbb\xb5\xeb\xbf\xe3\x8a2\xfe\xaaEc\x00x\x81\xa2\x91\ +G\x1f\x15C#\x03\x97\x0alFit\xe0\xd6\x82\x9b\ +\x87\x00?\xb7\x97D\x5cS\xc0\x99\xdb\xa1agG~\ +\x83x*\x85?y%\x14i\x98\x04o\xb2h\x85:\ +\xb3\xf3\xe3'\x04\x00\xb0n\xf8{\x80\x1a\x1a\x1a\x88O\ ++O\xf0sV\x1a\x05\xde8\xa1QA\xe1G\x1e+\ +\x0a\xfc\xf8+\x16\x01\xd0\xe1\xdf\xb7\x94\xbd \x0d-u\ +\xd2=\x8f}\xa2\xe6\x91\x83]\xc5\xe4\xa3\xae\xa0\xa3\xcc\ +\xe8#\x1d\xe4\xfd\xa4\x85A\x1e!\xed\x17\x98\x07e\xff\ +<\xb7\x01\xbc\x0e\xec_\x5c\xa2}N4[\x04\xfcz\ +\xc7\x1aw'\x0ao\x01\xdf4\x5c\x9c) \x80\x86\x06\ +\xa0S\xdc\xa1\xd4s]\x01Li\xb41\xa2B\xfeE\ +#Gy\xbaS\xe9{#\xa9>\xe2\x83\xfb\x17\x807\ +u\x05L-\x5c!\xfa\xcc\x11\xea&\x98\xbf\xbbH\x8b\ +@b\xed\xae\xcd\x82\xc6\x12\xf6}h\x17\xa0\x0d\xc5\xe7\ +\xa7\xa0\xe7s\x03\x90\xa8\xb1\xe3\x8d;F\x05x\x7f\x1f\ +\xb0(b\xe89\x82\xdb\x0a\x80\x17\x9f\x0b\xf7\x0b\x03\xb6\ +/\x0b?G_7\xe9\x85)\x22|\xff*\xa5]\xdb\ +\x80\x223`\x86\xd09'\x01F#`\xae\xa2\x7f^\ +\x0b\x90\xd9\xc2\xe8\x80\x95\x83\xb1\xe3\xce\x1bc\x16\x83\x03\ +\x0b\xea77\x82\x02\x04D\xac_\xf0\xf2A\xfb\xb3\xf1\ +$V\xfc\x1c\x12F\xc4\xc1\xf0;\x07\xb9\xe1\xeby\xa5\ +P^@\x09\xfbb\xfaz\xa8Z\x14\xf4,\x04\xa8?\ +\x14\xc0\xff\xab3M'\x9bY\x1f\xa8\xfd\x00\x05} \ +\x80\xef\xa3 f!\x0fu?8\x88\xa0\xdcb\x83\xc7\ ++\x0b\xf7y\x89\x19\x02L\xcc\x15D\x17\xa3\xa6\x03\x9d\ +}\x0a4(o\xa2\xdc:\x00\x03r\xf9\xb8\xben\xcb\ +*21\xf8\x91E(\xd8)H@\xa0\xe8D\xf6U\ +2\x11\x0f\xe4\xef\xf9\xfd bP\xb9\xb9\x9f\xbcO\xbe\ +\x9f\x0e5\x05\x00\x09\x0ab\x1a\xac\xdb\xd7t\xbd\xfe\xad\ +\x99*6\x08%\xf0n\xc3\xa6\xcf\xe1\x07\xe1\x14]\x1f\ +!\xe3%\xe4\xd7\xa8s'5\xdf\xee\ +\xd3\x16-1\xc8\xe9y\x01\x10\xa0\x16R \xf8,\xa9\ +\x12\x15\xdf\xbf\x00\x86T\x98\xe3\x17\x9f\x9f\xd9\x02\xd0\xfa\ +\xf5\x98a0\xa3\xcd\xf6\x96\x0e\xf6W\x83h'\xf6;\ +\xac\x17\x10{F\x07P!\xd7\xc1?\xf8\xb5E8\xa8\ +\xb9?\xa8\x1eO\x1d\x9f_\xb4\x1a63\xf9\xb56\xa3\ +\xec\xb3\x93t,\x98\xe9\xa7\xe3AG~\x01\xd9\x17\xf2\ +\x9c\x9e6\xf1\x8d\xc2\x5c\xd0>\xe1>\xe6{X\x84u\ +(jn\xf7W\x8b\x06\x08\xa4\xe3-T\xb0?\xabN\ +\xd2q\x8dz\xdeMZ\xb4\xce^Z\xcd\x22\xccRj\ +d!-l!\xd7\x8c\xfc6\xf6\xb3\x08\xbe\xd6\x88\ +J\x8aI\xc31\x8f(\x18bH\x88\xe1\xa5\x87,B\ +\x22\x0b\x85^\x9dGi0\x0d\xc39#\ +\xc6\x97\x03\xe1t\xd6\x00F\x19\x11\x90\x0d\xb3\x8f(\x00\ +\x84JS\xc0\x1b\x0b\x8c\xacH\xec\xab{\xc0\x22\xbf\x1e\ +f\x11\xf2)\xfd\x1e\x00\xe6t[\x8e\x87[G\x8f\x91\ +(\x00\x97\xee%\x8b6B\x00\x80:\xde1\xc7\x87u\ +\xfe\xdby\xf1/\x8bP\x08\xea\x5c\x82\xf9\x04p:Z\ +s\xb4\xd6(\x9f{\xa3\xe5G\xcb\x8d\x96+\xcc\x88\x8b\ +\xbb\x8b\xcb\x08\xd4b\xddb\x81\xd9\xc1\xac6\x0c9\x89\ +&\x0e^\x123\x03\x8a\xff\xd4|>N-\xe2\x9a\x8f\ +\x1b\xa0\x99w\xed\xc3l\xdfvf\x08\xa3\x02\x14nb\ +h\xd19\x1d\x7f\xd4\x22\x9c\xc7\xdc_\x15\xbc\xde!\xa5\ +`\xd4\xe8\x9e\x03\xe10U\x04\x80QP\xb98\xa9F\ +\x10\x5c\xf4\xed\xb7\x95\xda\xef\xcf%\x0c\x03\x8d\x9c\x8c\x1f\ +\x91f\xccH\x0f\x1c\x852\x80\x04#\x00\x88\xc8\xd2(\ +\xa3\x11D\x03\x92\x02\x8dz\x85|\x11\xdbR\xf2_F\ +D\xd5\xf1eD\x81\xbc\xb6\xdb\xd8\x22\x8c$\xa02O\ +c\x8f\x0e4y6u\x84\xd6\x89I\x1e\x9a\xe8!#\ +:\x9e7\x008\xa0!\x00\xa0Ac\x10W#4:\ +hHQ\x87\xc1t\xe6\x95\x9f\xcb\xcc;\x0d;\xde'\ +u\x22\xfb.\xeb]v\x81\xfes\xa9\x93\xd8\xe7\xb8\xae\ +=\x11x\xa7\xfe\xf7\xdd2\x18]\xa5\xee\xa2\xbe\xc5\xe6\ +\x96\x86\x11\x22\xef\xb8\x96!\xe6-\xa6\xe1\xf8r\x8bP\ +\x9f\xf5D\xe3\xbd\xee@t\xd3\x18I'\x85\xc6\x19\x8c\ +\x1c\x80\x9eoX\xb4\xf5\xe4u\xb2\xae\xaf\xbb\xf5\xb0~\ +`zR\xa7\xbd\xe0#\xea\x95\xf1\x8bX\xb5\x00\xc8I\ +G\x1c,=\x5cQ\x85\xf5\xcc\xe1\x82\xc6N\xfe\x1bQ\ +\x8b\xe9\xec#\xde\x07b\xf5\xbff\xde\xf9\xb9tty\ +\xa5 \xb5?\xcd\x17\x0aH\x00\x00\x0a~~\x1e\x0b\x03\ +\xa4\x9c\x03\x0d@\x83\x82\xbc_\x98\xb7\x02\xbf\xbe\xf2\xef\ +\xed\xf7\xd5\x84\x1d\x8a\xffj\xba\xe0\x14\xe8\xbc\xd2\x19\x10\ +\x05\xd3\x7f>7\x88?\xf7~\xbf\xcf\xd6\x02@\xb0\xe0\ +X\xc8,\xe0\xbf\xe9\x81\x7fI\x853\x07\xb5\xfe3\xb3\ +\xc5b\xef\x07\xb2\x09e\x1b\xc4\x8e\xdf\x8f\xb8\x06\x1b$\ +\x9a\x08cmTt\xa0A\xf8\xa6W'\x9d\x8d\x0cD\ +\x9c\x02\xfcFQ\xc4\x1e\x16\x95tY\x8dF0\x1b\xce\ +udcfc\xe1\xfd\x00,\xf5gk\xe8D\x83\x88\ +3\xab\x02E\x1a\xe0\x05f\x83\x10`(\xc6\x8e\x88\xb2\ +\x833\xda\xc0}\xe6A\x84\xd2\xf6\xb2E\x13\xe9\xa1#\ +\x85*\xb2\x8b\xaf\xec?>`|@\x13\x91rJ\x15\ +H\xbf\xee\xcfx\xc6\xf12\xe3e\x8a\xc8\xcf+\xe3W\ +\x82m\x16\x85)\x94o\x89\xb0\x8cg\xb0\x08\x1b'\xb3\ +\xef$J\x97\xa4\x8b\xd3\xc5Ad\x0d\x00\xedP!\xe3\ +\xcc\xc2\x01\x18\xc1p\xe0`D\x04K\x9f\x0b\x0a\xe1\xe8\ +\xef\x98\x16\xeb\xf0\x00\x00 \x00IDAT\x16\xc5'\ +:G\xf0?\xa5\xf3\xa0\x8e\xa9\xab\xbc\x0b\x99eV\xd7\ +\x13M\x0a;f\x96\xb1\x0dT\xc7\xd3\xdd\x078@5\ +\x0b\xee.\x0el\xc4P\xeb\x99\xad\x12\xf5\xcb\xdd0\xd0\ +,Pb\xc7l\x99\x17\x88\x5c7\xec\xd8\xa0\x80\xe3b\ +\x00uT3\xf1tb\xbc\x10*\x9c\xed\xf0\x5c\xc2x\ +\xa2PT\xa1\xea\x9dOF\x16\x10-d\xa3\xa6\x90f\ +V\x8b\xef\xe3}\x90\xf8\xa8s\xe7\xaa\xf3\xd8\x03\x8a\xda\ +\xe6\x09\x13\xbf\x07_ZD\xb4$ZC\xe2Fa\xd9\ +\xdf\xf8\xd3\xa7k\xe7\xd7\x11\xf9\xeb\xf5\xdcj\xff\xf5\x0e\ +\x14,g\xb9Y@\xd5EK \xed\x9avI\xbb\x06\ +\x80\x0d\x9bA\x9eO4\x1e@\xd6\xa1\xbcI\x0c\x94\x99\ +e\xee#\x9dN\xdf\xa7\x1e-St\x95\x8a{\x96\x00\ +\xa1}B\x87\x1e_\x5cl\xca\x1e\x1c<`\xa3\x19\x0e\ +\x9cL\x0e\x86F\xe5\xcf?\xe5\xb12\xf3\xb9\xfex\x03\ +\x9b\xb1\x9f8\xbb\x90M\xdbl\xb0\x00\x8b\xe1\xca\x16A\ +t\xee\xb4\x02\x19\xf8,\xe9\xf89\x8b\x96`\x15\x11\xa8\ +'\xa5\xee\xbe\xb0\x0e\xfc'\x05\x1cNm\x8c\x19\xec\xa8\ +\x985\x1f\x9ef\x91_\xa7X\xe4\xfbt\xb2E\xeb\x10\ +t\xbb\x1a\xd7'\x7f\xfd\xbbr\xbcS\x00\xc5'\xa4\xaa\ +\x9e\xd7\xdd\xf0\x08\x0b\x8d\xa0\xcc\xd0F;\xd2\xe19\x0e\ +k@\x9e\x8b\x11.\x90c\xc1\xd6\xf9C\xb5>\x1d\x9f\ +\xbe\x9c\xbe\xdc\x0a\xf9\xe1\xea\x16%\xd1,\x89\xb2\xdb\x95\ +\x1e,\x17\x8ay\x94\xf8\xac\xaa\xf3I\x94[\xfc\xee\xd9\ +\x07\xe9\xbc\xf9\xe8\x0f\x85\xe3\x99\x16!\x91A<\x89\x91\ +\x12D\xeb$\xe6Vf\xfbM\xeb\xe2\x15\xed\x9bjD\ +\xa4\xabs\xfc<\xf8\xc0+!Mf\xd6\xd25`\x8f\ +\xc2\x09\xe0\xc9\xf3\x15\x80F\x15\xa0\x05\xa8\xfcL\x03\x98\ +\xba/[\xe4\xef\xbb:\xc7U*0\xbe\xde\xf6\x01\x07\ +\xd4>U\x19CE5\xfan\xed\xb7\xcb\x04\x8a9\x0c\ +\x1f\xed\x9fi\x86*\x86H\x82\x9f~`\x11ft9\ +w\xf8\xbc\x02\xbcK\xc7\xfa\xce\xb6_8\x05\x15\x91R\ +;\xefn\xacb{f\x83H\x07\x0c\xd1\xca\xf2\xdb\x9f\ +\xd4~\xbb^\xf8|\xb8b\xb0O\x1b\x10z\x5c\xd0\x0c\ +\xd2L*\x9a\x0d\xe9J\x8b`\xe7'\x06\x22\xf6z\xe4\ +=^\x80CYeV[\xcf\xd1\xc4'KL\xa4\xd7\ +,\x02S\xe5\x11\x8bV\x90\x99\xa9\x9a\xd9\xaaQ\x90\x17\ +\xd7\x1d\xf3\x8b_\xcfBT\xfd\xcb%b\xb7z\x00\x8a\ +t\xfe;\xa0h\xefr\xd3\x90GQx\x00<\x1a@\ +\xf56\x15P\xa3&\xeeF\xa1\xde\x1d\x94\xe3\xd3af\ +\xdc\xf8c\x87\x85\xfc\x8c<\xd7\xb2\xb9\x05\xa7\xd5~\x81\ +\x1a\xed\x85\x05y\x0b\x8d\x1f\x9d\xdf\x0eD\xd3\x01\xee\x8d\ +x\xba\xd8%\xe7\xbe:\xa1\x8c\x94\xf8s\x8f\x0d\x19\x1d\ +w\xd6\xd3\xe2ex\xb3u\x94/\x1d_R(\xf8\xb2\ +\x97s;4\xf3\x9d\xcf\xd7\xa9{6\xc73E\xd3`\ +}\xd34\xc8\xa7\xfc\x0dELX\x0c\x86n/\x8b|\ +?f\xb6\x90\xcd\xdf9Atn\x89\xfa\xbe\x00\xfc\xd1\ +H\xe1\xbcM\xdbU\xa6N\xda*m\x99\xb6,\x22\xa4\ +\x85)3XH\xe2\xe3\xffWd\xd4|$u\xf4\x90\ +Eh\x84\x08\x90\xf6\x0e,\x850\xf5\x02#,+\xf7\ +\xb4\xa7\xc8s\x1b\xa3\xb72k\x99\x8d\xe7:\xe0&\xc0\ +('\xdfG\x1d\x01C\x09\xd7\xa8\xe3j\xe1?\xbeJ\ +\x00\xc3\xa7+\xd3\xa9H*\xee\x5c(\xf0ET\xd6\x0b\ +;\xd57>\xca\x81v\x04#W4\xec\x86\xfa\xbd\xd2\ +\x08B\xeb\x87\xfb\x00 \xe9L\x1f\x1dj~/\x9a\x0c\ +hO\x00H\xb0.\x01,\xb8Ot\xf4\xa1\x9e\xf1\xdc\ +\x02\xe0\x00\x98\x08pH\xabX\x041E\xde\x07\x07\x0c\ +\x9f\xafg\xcb\x89=\x0d\x94L\xbe\x8f\x19\x7f\xf7#G\ +\x14J3r\xd8\xfa\x8c\xbf\xa5\xd1\x93\xa7\xbb\xd2)\xcc\ +OU\xb1?J\x7f\x96\xcf<\x8c\x0d\x89\xec\xe5\xe4\xa6\ +R\x14\xb5\x8e\x5c\xbb\x84N\x8a\xf9oo-5\xe0\x9d\ +CGB\xfbjI$\xc3\x88\x88?\xf7z\xdf\xdd:\ +\x16\x01\x80\xf9\x7f\xc2\xce\x04\xfe\xd6\xa9l\xff\xbf\xfd\xec\ +}\xcc2\x14B2dV2'R\x88\x0c\x0dTf\ +\xcd$\x95!\xb3\x14\x07\x95(\x0d\xc6D\x19\xa2\xc1P\ +H\x992\xa7\x88B!\x09\x87\xb7x\xbd\x99\x87d:\ +\xfb\xd9\xffu\xad\xe7\xfa\xdeky\xfc\xdf\xff\xdf\xfdy\ +\xdb\xef\xef\x9c\xdf\xf9\xfd\xf6~\x9e\xf5\xacu\xdf\xd7}\ +]\xd7\x8d\xb9\x14&qt\x8em\xe6\x97M\x98~[\ +\xa8\xe4\x99\xa2\xfe\xddj]\xd3\xb1\xb8m\xea/\x02\xd8\ +\xe2\xdc\xb26;(\xc5\xb8\x9fS@1\x96n?\xc5\ +\xd4\xd4\xb4w)lBtC\xda\x1e\x8eM\xa1\xb1d\ +?P\x94\xc2\x84\xe78\x17rgY\x9a\x92\x12\xfc\xf6\ +8E\x95x\x83\xe0\xe3\xea\xafD\xf8\x89L\xc1O\x91\ +\x01\xbd\xf3\xb3\xa4\xc0\x80\xc4\xcc\xa5\x15\x15\xb1K\xee\xee\ +g\xa7\xd7\xcbR\xa4\xc2w\xb4\xaf\xa22\xa9\xb3\xc4$\ +K\x0d\xd2:\x1f~mx\xc4\xf0\x88b\xda\xa7\xf4Z\ +\x09v0\x9f\x9e2\xf2o\xf3Q:s\x83\x17\xbb\xc2\ +\xbc\xf9\x9d\xa2\xb8\xf13_;\x9e?\xce/\xbc3\xd0\ +\xf4\xbf_Qu\xb8\x9an|\xea\xe0{\x8a\x8a1p\ +T\x07<\xc4\xf3\xcd\xfeD\x81\xeb\x0ek61\x13 \ +p\x9b\xa2J\xe0L%\x1f\xee\xad\xb04c\xbf\xca\xf4\ +\x92)%GtL)\xdc\xe8\xc3\x5c\xd4&nQ\x98\ +\x18\xa0@\x1a\xd4\x9c\x9d\xe2gE2\x14S-`\x9a\ +\xc0t\x80\xfa\x8bv\x13\xb7u\xa6\xc0 \xed\xfaqg\ +\x02\xdb<\xa0\xa8\xf6\xc9\x13<\x87\xfePw\xb4\xf7U\ +d*vg\x8a\x87\x89\x99\xaf/\xc0x\xee\x84\xbe\xc3\ +\xf7\xfd\xf3U\xde\xa1\xdd\xe4\xdb\xde\xff\xf7*c\xecB\ +s\xebB9?\x0fWT\xd4[}\xfeQ\xd5\xb1\xc6\ +|x(\x08-\xbd\xef\x97\x15\xa5\xa0\x84\xba\xccX\xc2\ +`\x0c\x99a\xd4\xce\xa6(&\x82\x01\xfc\xba\xa3\x9e\xcd\ +\x13\xe7\xa8\x12w\xf6o:\xa7.\xe48\x17\xda\xd7(\ +r\xfe\xd3\x01\x8b\xcfw\xcfU\xfb\x85\x14{\xf9\xb9\xbf\ +\xa1\xa20\x8b\xf9q}u\x0e0\xfd\x05\xc6\xe21y\ +\xc0b\x99\x9f\xce\x1cn$\xab\xf6\x04\x08f\x07\x92\x1a\ +\xc6\x85\xb2\xbf\xbbsK>\x90M<7\xa8\xdc\xfb1\ +\x0d\xb4K{\xdawST\x92\x07\x80\x14\xc6q\xe1\x01\ +\xc1\xfb4\x93)K\xfe\xae\xca\x9d\xf7\xbc\xcf\x06\x10\x8d\ +\xf7\x86\xf3\x80\x18\xef\xc6\xfcu\xceU\xcc\xd6\xce\x93M\ +g\x01^\xda\x03\xda/\xb6\x07\xd8\xa5\xfeo\xc5T.\ +K\x01\xa6\xe5\xf5\xd1IR\x06i\xdf\x1d\xe4|z\xc5\ +\x9cO\x8b\xb8\x9f\xce\xbb\xf6\xe5vf\x9b\xd6E{^\ +{n{n)\x98\xa3\x90%o\xbd8GHF\x9a\ +\xbd\x9b}dn::lt\xf8\xe8\xf0,\xd9\xd9F\ +@\xc0`\x87\xf4~w\xa8\x80\x22\x03Ci\x17\x19h\ +\x1fi\xcePd\xa9V.p\xd3oOQ\x8d\xb9\xa5\ +c\x8c\x97\x09\x8d\x1a\xa6X\xf0<\x92/\x01\xc8\xd3\xf1\ +g|\x1a\x00\x0c\x9db\x1aDL\xb1\xf1\x98\xc9hP\ +8\x0f\x11\x9c\x92=B`\xb01u\xe2\x80n\x1f\x8e\ +\xe7\x85<\xc4&\xcfa\x8a\xc7s\xea1\xa4\xb8\xc3\xe3\ +\x95\x10\xf9*\x8c)>\x07\x00\x91\x01\x96\xe8\xec\xba\xfe\ +i\xf7V\xa4\xd7\x0d\x15\x15\x83\xe3m\x8ab\xd6\xc84\ +\x06$vQ\x90z}\x0e\xaeRT\xd3q8\x1fx\ +\xdf\xce\xf3\xb3\xa7\x8a\x18\x1fk)*\xc6v\x9fQ\x8d\ +\x04\x94B\x9b\xfa\xa1\xdf\xf8\xe5\x95\xfc\x01\x13V\x00\x06\ +\x9e_\xf2?L\x97\x91~\xd8$8\x0a}<\xa3\xdc\ +\xa0\x8d\xbf\xa7\xc1J}I\x03\x04\x09\x83\x9f\xe3`0\ +\xe0\xa5@}\xcb\xfa\x83yL\xbd\xc64\x07\xd6\xd5\x1b\ +\x0dD\x92\x97\xe2\xb9\xc2\xefe=\x98\xa9\x1a\xfb\x18S\ +\xb0`,\xb8\xe1\x82GR\x5c?\x00\x0c\x1aj\xd4\xa3\ +6\xc9\xa6\x01\x19\x8dw\xd7qx\xd2\xd0\x98\x1b\xc5\xc2\ +\xc7d\x80\x0b\xa4\xf2w\x9e*\xc1\xe2\x8d\xeb\x7fg\xaf\ +\x0ab:\xf35C\xa0\xbe\xc0.\xe8\xa3\x83\xca\x0d\x06\ +(\xe8\xbb\xe5Sp\xd7&\x84sTZ\x1e\xc6\xcc\x81\ +\xf4\xa2a\x87\x01\xc0\x85\xe4\xcf\xfb\xd4\x10(!\x14\xc4\ +t\xa2Y\xc0\xad\x0bE\xfe\xe3\xfb\xe9\x80\x81\x10\xa2\x81\ +\x872f\xaaFP\x85\xb7v\x01\xee\xb1\x19\xf19(\ +\x1cM\xd9\xa4\x13\x18\x094\xd4\x11\x80\x8f\xdeuF#\ +\x17\x9a\xb2]<\xcei\xa7nlE\x98a\xa0\x81\xc2\ +\x8d\x9d\xf9\xe4\xe7(\xaaB\x86\x07\x86\xcfIg\x0e\xca\ +\xfb'\xbbqhP\x8a\xe8\x5c\xf3\xe0q \x85+8\ +@\x87\x13\xad\xf67\x8a\xbc\x90;WU\xcc\xbf0\xc9\ +r'\x16\xcay\x148t\xd2\x91\x10\xb0\xa0\xf1D\xc0\ +%\xdc&OhG\xa1\xd8\xd1\xa1m\x16UT&/\ +\xb8\x98\xa3\xc5G#\xb8\xd0d\xc1\xc9\x82\xf9}wn\ +\xfd\xack\x0a\x0e\x10[\x0e\x1e60\xc6`\x9d\xa8(\ +\x09jP\xe2p\x07\xc7C\xc0\xda\xea\xd0\xb03o\xd9\ +\xe6K\x91pl\xdf\xbd\xff\xa0\xba\xb3N\xb9_\x14\x8e\ +\x14\xee\x1c\x1c0/X\x1f\x98~@\xcd\xc6\xb5\x9d\xe7\ +\x83\xeb\xca\xf4\x08\x5c\xd3\xcd0\x88N\x1e\x9aQ\xc6\x8e\ +\xd0A\xe2`\xe5\xf9c\x1f\xe0y\x03\xf9\x04qf\x9d\ +\xf3\xf7\x1cd\xdcw\x005\x80\x04\xbf?\xb4\xa91\xe6\ +\x04O\x03\xd6-\xc0\x1d\xa6\x9d\x8c\xdb\xb1$!\xbcA\ +<\x16\x08\xed3\x05\x14\x9a\xe8XWL\xd1\x80r\xce\ +\xbe\x84\xa9\x1d\x1e\x05\x8cG\xe4\xe70\xee\x0c\x86\x04\x07\ +\xa1\x0f\xac\x18/'\x85\xdc/\xbc\x9e\x1e\xa8\x0ar\x03\ +-\xedg\x14\xd5t\x09\x17R\x8c\xd1\xe3\xcf\x03\x08x\ +\xbd\xa2\x8c\x89\x0c\x8a*\x09\xa75{\x98\xe7aJ\x15\ +\x00!SL\x00\xf6<^24f\xf2\x12xG1\ +\x1f\x8b\xfd]\x9f\xfe\x93\x9e\xb3\xbcu\x05\xc8\xba\xe3\x1b\ +\x09\x83)\x9c\x14@A\xc97\xd2\x1ds\xb81wT\ +\x99\xf8\xf52%!LnL\xb9\x0c\xc4\x1b\xe0\x05\xc4\ +\xdc\x85[\x00Jx\x0c\x18\xd0\x88\xf5\xc0\xf8DME\ +x\xa9\x14\x8a\xed.\x8a\xca\x84R\xf0\xd2;Kb\x9a\ +\xe7^\x7f\xd2\x12\x98O\x17\xe0%4\xc4\x22\x94\xdeP\ +\xcc\x0e\x01H\x9a\xb7*\xa6\xa6\xa6-\xaaH_?\xab\ +(c\xcf\x9aM\x15\xe9x\xd9I\x91\xbe\xfe\x95\xa2\xea\ +\xa8\xdb\xccl\xb8z\xd7\xc1g,`\xb3\x92\xa2<\x9f\ +\xed\x82\x8a\x8a\xa1f&K\x8cC{{\xf7\xbc6{\ +)*\xa6\x8e;\x16\x83\x03\x15\xc5|\x08)\xc7\xf0Z\ +E\xfaw+(*\x80\xcc\x85?@C\x00\x15\xbco\ +\x006\xa8\xabx|P(\x8a\xc9\x91\xce\xb9\xe1\xb3)\ +\x9e\xa9\x12%w\xf2\xb3t&\x15>\xcd\x9b\x14\xd5\x18\ +.\xa6-x\xaes0\x00Lqo\xcfPXS{\ +\xb4\x0b\xd1\xf7\x14\xaa?@2\xfb[$\xfc\xdewH\ +\x80q\xfbnOP\x14\x97t\xe6P\x03\xe0\xc2\xa8j\ +\xceR\x143\xbb\xd0`\xfe\xc1\xd4\xdc=\x14\x058\x12\ +\xbf@\x9d\xd9\xf6\x1aEa:E\xc7\x16\x00\x9d\xf5\xcb\ +\xfe\x87\xb6\x17\xad\xac\x0b\x9d\xf6@E)\xc8s'z\ +\x17\x03\x99\xe7W^\x13\xbf\xe8\x18f\xe9\xdc\x5c93\ +\xea\xdc\xe8\xa1\xa0\x09\x13C{\x83\x84\x8b\xff\xc2\x8a\x8a\ +R\x0c\x05\xf6NO\xb1\xe0| \x9f\xf4\xfb\x8f\x8e!\ +\x00\x0b\xfb\xa1\x99i\xed\x99\x8a\xaaCI\x07\x93\xfc\x14\ +Wl(\xed\x9f\xc8s\x22\xf2>\x9a\xcdz\xf5\xd3o\ +*\x0c\x88\xc9\xa6\x0aK \x9f.\x1d\xca8\xbf=\xdf\ +\x9ei0\x93\xed\x15\x15\xc3\x87\x0e\xba\x00\xd9\xdb\xcc\x98\ +z\xa0\xcc\xb5\x8f)2\xe4#t\xee\x90\xc0\xf1s]\ +\x88\x85)\x9e\xd7]\x00\x08\xd6\xf4O\xee\xf0\x98\xc0\xbb\ +<\xed\x87\x0e$\x0c8\xaf\xcf0\xe93\xe3\x80\xfa\x9b\ +\xf3xp\xaf8R\x95\x14\xcd\x12\x9c\xd8\xef0\xc54\ +P\x99\xca\xc1\xac\xad\x0e\xe0\xc2\x9e.\xe9\xdeu\x92\xaf\ +#\xbb\xfd{\xb2\xae\xa2j09oa\xffh>\xd7\ +\x99s6\xb7t\xfb\xf8\xf0\xef\xc3\xbb\x87\xe9\xf7\x0c\xe7\ +\x1d\x1e4\x9c/\x9b{\xde\x9c\xcd=\x01\xb8\xac\xe9\x0e\ +\xcf\x071\xe86\xce\x05z7\x1e\xee\x0f\x8a\xaa12\ +\xa3\x1b{\x1b\x8d 7R\xc2c\x8a\xc2\x9f9\xee0\ +9`\xce\x92\x0fq\x8e\xbb\xa1\x15LR\x17\x5cq>\ +\xd8$6\xf2K\xcc\xa5=\xcdf\xb2\xba\x5c<2\xe0\ +\xb6z\xf6\xf2\xc0\x9b\x07j=y\x08c\xb7\x99\xd6@\ +c\xd4\xbf/=\xff]\x9eh \x15`\x00\xa0l\xf0\ +\xa0\xa20H\xa3ad&IL\xaf\xbaHQ\x8de\ +\xbcZ\x91\xfe~\x03E\x05\xdc\x1cmI \x00?\xc0\ +\x09\xcc[\xf2\x1f\xa4\xb0\x98\x02\x93\xc7\xe1\xd2\xcf\xc2\x83\ +\x91A=\x06C\x9a<\x8f\x86#\xf9+\xf5\x18u \ +y(\xf5\x17\x0dZ^\xb9\x8e0\xab)\xbc\xe9\xb8\x03\ +\x94Q\xe8\xa3\xed\xa7\xbes\xbe\x8cd7\xcc\x06\xfb\x12\ +h\xbc\x08\x18kh\x89[\xfc\x1e\xf63\x9eK\xcc\xaa\ +/\xf1:\xa4p\xbf\xd7^\x1eH\x82,-\x8e\xb1\x93\ +Hm\xa8\x0b9\xef\x90\x92~VQ\xf2\xfb`x\xc3\ +$\xefK\xd0\xb9\x8ex}\xc1\xa4&?\x82\x19\x8e\x04\ +\x86\xba\xd2\x9f\xa7\x89\x1bF\x07\xbe\xaf\xb1\xe7\x95\x84\x1d\ +\xb35\xb4Q\xfc\xc7\x85z6\x0fz+\x08\x86\x13\xfc\ +\xa0~B\x09\x87r\xce\xab\xfe\xf4\x89j\xc3\xe7?\x0a\ +\x9di\xd9\x86\xe6\xd5^\x04$\xfe\x14\xca\x14\xe8t|\ +\x99\xd3\xe9\xceZ\x8c\xf9\xe0A\xe5\xc2Q\xe0\xf39@\ +\xdcYp 9WX\x83\xc48\x97\x93;D\x06\x97\ +\xccT&\xbf\xbb\x95Y\xcac\xdd\x86\xda\xe6\xff\xd2\xdb\ +\xb9m|\xeb8m\x8c\x9a\xaa\xab\xb9\xba\x98\xbd\xe5\xce\ +SZ\x18\xe3\x1b\x14\xe9\xcf\xff\xadH\xafKk\x12n\ +\xd1\x8c\x84I\x09\x09\xbe\x91\xe5\xf6\xaf\x8a\xf4\xefoR\ +T\x1b\xc0,\x8a2\x9f\x95\x0d\x91\x86~{\x88\x22\xfd\ +\xbb_+R~\xb6\xee\xccuf\xa6\xc4p\xe6\x01\x8a\ +\xf4\xfa\x95\x99\x87\xcfL\x09\xd5\xcb\xfb\xceL\x91\xbe~\ +p\xe6?g\xa6\x8dt\xbc\xd8\xf8\x0d\xe3\xb4\x10\xc7\xef\ +\x1c\xaf7^/\xbd>\xadH\x7f\x7f\xe8\xcc\xe93S\ +!?s\xc3\x99\x1b\xccL\x1b\x84~\x9a~\xde\xf8\xc5\ +\xf1\x0b\xe3t?\xc7\xd3\xc7\x87\x8e\xd3A6\xbeL\x91\ +^?\xa7H\xdfw\x8c\x22}\xfd\x90\xa2r\x99\xbd\xa9\ +\xeb\xb8G\xe1\xc2\x1cx\xc6G1-\x02\xb3\x1d\xc6\xb8\ +\x19\x89\xc6\xe4\xa5]Q\x91^\xff\xa8(\xd7\x07m\xfb\ +d\xbb\xee\xe0\x9f\x5c\xdc\x8dac\xdcMt~\x9c\x08\ +\x85\x19\x93\x0b\xf2\x18+\xe6\x82\x9aqut<\x03\xe1\ +\xc7\x9c\xce.\xd1 \xd0\xb113>\x08m\xa8\x0b\xdd\ +\xc9\xbcN\x14\xbcq\xa0\xa9D\xbb?~J\x91~\xdf\ +*\x8a\xca<\x86\xe7\x13\xca\xa1\xdfgl\xa4$\xce\xb8\ +q\x8f\xbb\xb1\x83\x83\xdb\x15U\x87\x9c\xe7\x07WU\x90\ +W\x00\x19\xbc\x19@<\x99^\x80F\x8a\x7f\xc7\xf3\x0d\ +\x15\x09\xc0\x8c\x0d\x96\xe7\x0f\xe0\x86B\x0aJ\x1b\xda0\ +\xa8l\x06dBC\x8b\xa6\x95\x0d\x17)\x08\xff1\xd6\ +\x8c\x02\xc5s~\xfb\xf3\xe1\x83\xb9\x03C\x07\xe6\x01R\ +\x1d\x0a$\xc6u\xba\xf0\x8f1A\xd6\xfeF'\x12\x0a\ +\x1d\x1dJ\xff\xbb\x18W\xa9m\xff\x98\xea\xe0\x03\x08\xc1\ +\xbc\x12\x13 '\xaa\x9182\xe6\xd4\x00\xc4\xf0o\x8a\ +\xb4\xed\xfdT\x91\xbe\xfe\xa5\xa2t\xf4\x18\xd7\xc5X#\ +\xc6p\x010\xc8jRf\x93\x9a\xf2\xae9\xef\xb1\x8f\ +\xfdTQ\x12\x98x.\x98c\xfd_\x93\x7f\xe4\x84\xf8\ +\xe5nr3\xb7\xa2tj\x9b\xdd\ +\x15\xc5\x5c*\x7fN\xcc\xa3\xdeY\xdc\xea\xd1\xf2\xc1D\ +\xca\x00\xc2\xf4r\x10g\xd3\xc6\x94H\xa6\xf46\x855\ +\xe9)\xd1\x1e~]Q:\xd6H\x0c\xc2\xad\xd9\x059\ +\x94\xfei/\xa7H\xd7m\x969R\xa4\xf3v\xb8\x9a\ +\xa2\xac\x17\x18\x03\xcdS\x8a\xf4\xf7\xb7)\xd2\xd7\xfb4\ +\xfb6\xfbVR\x06\x17\x9e\xa3g\x15\xe9\xe7>\xabH\ +\x7f\x7f\x9e\xa2\x00<\xcd&\xcd\xa6\xcd&\xd9|\xb2s\ +\xa3\x87\xb2\xec\x0eO6\x17L\xeb7\xa5\xeb)\xd2\xeb\ +\xf1\x8a\xf4z\xa4\x22\xbd\xbeW\x91^\x9fW\xa4\xdfw\ +\x8d\x22}\xbd\x99\x22}\xfdVE\xf99\x8c\x81$Q\ +\x1d\xee\x9e\x22\x15\xbe\xa3\x1f\xa4H\xebzx~\x8a\x0b\ +\xfc\x5c\xacf\x17\xfbt\xde\x0c/L\x91\xfe|\xf8C\ +E\xfay\xdb)\x8a\xfb\x7f\xf3AE\xe5\x16o\xb3\xd1\ +\xe6\xb7\x8aJBc\xa6J\x06\xf6\xde^Qh\x01\x86\ +\xefS\xa4\xdf\xf3\x06E\x06VR\xa4\xd7O\x0dw\x1a\ +\x0a\x80\xf9\xa8\xc2\xc0\x84\xae\xe7\x1c\xc3\xd9\x87i\x9fo\ +\x8eS\xa4\xafOT\xa4\xd7\x9f(\x0a\x00?\xfc\x88\x22\ +}\xce\xc7\x14\xe5\xbe\x0d\xd7S\xa4?\xff\x94\x22\xbd~\ +Z\x91\xfe|[E.\x98\xee\x19\xdeS\xd6\xd1\xe8\xde\ +\xd1}\xa3\xf4\xfeF\xd3\x15\xe9\xf5\x96\xd1\xad\xa3\x94?\ +\x8cV\x18\xad8J\xe7\xd9\xe8dEz]]\x91^\ +\xefT\xa4\x7f\x7f\xbd\xa22\xc3\xbbY\xe1i\x122\x97\ +\xdc\x5c\x91\xbe\xef_\x8a\xf4\xba\xddp\xfb\xe1v\xb9P\ +K\x91^\xbf\xacH\xdf\xf7ZE\xc5\xa4\x22q\xc4\x8c\ +\x13\xaa\xb2\x01#\x00\x11L\x12a\xd2M\xde\xad\xa8\xc6\ +\xdaY*\x15\xfb\x90\xe7\xdb\xe32\xdf~\xbf=\xa9=\ +)\xefGi\xe7\xa8\xa4N\x8f)\xa3*\x8c\x07:\x82\ +\xed\xe2m\xf6F\xc1\xe4\xaf]W\x91^\xefM\xa1<\ +h\xd3\x14\x9b\x14\x8a\xef\xf8\x08Ez\xddC\x91^\xff\ +\xa3H\xdf\xb7\x92\xc2\xcc\x07\x01&\xe7\xa68\xa7Lw\ +\x09\x09\xa7\x01\xae(\x84\x90\x82\x91?\xc3\xb0\x80\xaa\x8c\ +\xc7N\x1f8&\xff\xf4~\x94g]-T\x01\xc8\x9e\ +B\x13\xc0\x16?\x9f\x82\xc9&\x9b\x14\x0e\x8c\xa9\x85\x19\ +Cc\x22\x0a?\xbc,\x5c\x08L6\x9dl\x96\x01\x92\ +%;wx\xf6[\x98\x98y\xccg\xca\x13&\x07M\ +\xbe4\xf9R\xa6pw&\xae\x1eO\xdb\xacl@s\ +\xa9io\x9a\x96\xf2\xd4i;N\xdbaZ\xca3\xa7\ +=1\xed\xf1i)?\x18}LQ1\x8d\xd8\x07\xdd\ +9\x07 \x8f\xe98\x0b(\xf2x\xd8\xdb\xf3xX\xc6\ +8\x92\xd7\x1bp\xd2\xbb\xc9\xef\x87\xbc\xc3\x85\x1c\xc0V\ +\x5c\x1f\x1aS4\x9c<\x8d%\xcc\x8a\x19okF\x16\ +\xccM\xa8\xe9\x83\xbb\x0chm\xe2\xf1\xc4\xceG&\xef\ +\x9dl>\xd9<{\xf2t^\x17\x06\xc4'\xcb)\xcc\ +<\xda\xa2\xcak(xi\xecQ\xe8a\x92x\xbb\x1b\ +0\x14\xe4HD\xb7\xe9\x98{\xed\x9d\x8a\xf4z\xbc\x22\ +\xad\xd7\x19\x8a\x947\x1f\xac(\xd2\x8c\xf1%\x8a\xf4}\ +\xcf+\x0a\xa3\x06\x0f\xb0\xd0\xccojF\x0e\xe7\x9b\x01\ +\x06\xea\xc0\xf0\x1000\x8d\x97\x04S\x1f\xc2\xe4\x96\xba\ +\x8c\xfa\x91\x86\x18\xcc\x22\xce\xd1~\xa7\xbf\xf6\x8e[\xb0\ +\x02D`\x06\xc2\xec\xe6>\xd2\xc8\xe19\x02\xc81c\ +-\x1a^\xe4\xb7\xe4o4^(\x98\x91\xc4b\xae\xce\ +\xfb!\xcf\xa5\xb0\xc7\x0b\x00\xa6/\xf7\x0d\xca\xbd%d\ +\xdc\xc7\x90D\xdfdST\xbc\xbdhX\x9bQ\x81\xc9\ +.@v\xe4\xbb\x5cw3\x84#\x0f\xe4sp\x9d\xdd\ +\xe8\x0a3~\xea\x1d\x18\x044|\xf1\x0a0s/\xa6\ +7\x00\x901m\xc8\x8c\xccQ \xc9\xb8\xc3\xfa\x86e\ +\xca\xd8,\xd5\x0d\x03\xc1\x7f\xde\xf3\xdb)\x8c\x19#\xf8\ +\x9f\xec\xbf^\x0a\xf8>r\xe2\xef\x8f\x85\xe8\xce\x7f$\ +r\x14\x0a/e\xf2\xf9+\xbd\x05\x16\xf6\xcf{\xa1*\ +D\x84\xeb<\xf7\x7fI\x9c\xf9\xbd\x00\x0d\x14\xf2\xdch\ +:\xe9\xd6\xd2BMd\x83\x88\x05\x09\xc2\xe2\x7f7\xf9\ +aW\x80\xe2\xde8\xfe\x94\xa2\xd2.{\xcc\xde\xd4\x8f\ +:\xe4=\xbf\x9b\x07*\x93C\x0a\xa0\x03\x8d\xb0Y\xab\ +9\xf8BG\xa5I\xff\xb6[\xb0\xdf\xf6\x01\x8b\xd6\x7f\ +\x93\x0e\xc9\x8eN\xed*^\xe8P\x97\xfen\xc4\x09\xd3\ +5\x16$\xe6o\xb3\xb9\xe3KAed\xb8\xfdy{\ +^{^\xe5r\xceX<\x03(\xcc\xd1\x9e\xda\xab{\ +\x10S\x9a\xd8uFvPd\xadu6\x91\x8a\xff(\ +\xd0\xb8\xce~@\xa5l\x95\xb6\x15MJl\x0c\xb8>\ +\xa39\x07\x81}t\xf0\xc8\xe0\x91\xcc\x94\xe8:\x1e\xd6\ +X\x86\xbb\xfb\x1d]\xa7c0\xbf\xb5\xa8F\x92C\xdb\ +\x05\x22\xff\x16#\x88\xbf\xea:\x84\x8c?\x02\xb1\x8e\x83\ +`\xa3\xee`\xe6\xdf\x0d\xbe?8Ys\xb7\xd1\x00\xe7\ +qQs\x96u1\xd9OQi+\x0d\x98\x05\x95\x14\ +\xc4\xddZ\xaa\xe8\xcc\xe3\x86K\xa2\x846~!KZ\ +\xfe\xdc\xb9wO\xedi\xed\xb8\xef\xe3d\xdcu\xa0&\ +\xef\xf7\xf8\xa0?\x9bI\x80\x86\x0ai\x01\xd4 O5\ +\x88\xf9\xa72\xfd\xd9\xb1:\x80\xbd\xaec^:\x9a/\ +?\x8f\xcc\xa3\x0fJ\x945\x92\xcc\xf7\x8e\xce\xbb)R\ +\xd1\x997%,6f\x90w\xa6\x0b\xd8\x8c)\xdc\xe1\ +\xd1\xc6\x19\xf8\x08/\x0d(\xbc\xbc\x0f\xa8\xb1$\x5c\x00\ +\x8b\xec\x17\x98\xb1\xb0\x0f@\xc9:FQ\xb4\xec\xd1\x99\ +&a\xa03\x89\x99\x1dT8(\x83H\x02\x98\xa2\xe1\ +\x8dv\xf2\x9c\xa2\xea,\xb3A3\xa5\x80\x8e\x82\xb5\xd3\ +A\x81\xfbF\xda_\xbe\x91;\x0a\x9d[\xfb\xa9\x8aj\ +\xee2\x1b<\x80\x8c\x994\xd9}\xfcWEk\x1b\xfb\ +(\xeb\xf9,\x85\x13\xd6s\xabu\x0d\x13\xcan\xf4\xa9\ +\x5c\xef\x18&\x1cd\x1b*JA\x1f\x92\x22\xf6\xff\xe9\ +\x83C5o>\xe6U\x9b\xc2\xcb}\x89\x03\xce\x85O\ +$\x5cHS\xdca\xc9<\xa3\xf7WT`\x17\x12x\ +\x0d\x04\xa0KG\xcb\x8c\x83\x00<%=\xf8h6\xbd\ +\xca\x1d\xa4\xe6\xb3\x8a\xc2\xe8\x80\xf268@QMc\ +\xa0\xd3i\x06\xd0\xf0]\x8a\xf4\xfa\xb9\x14\x9f-s\x8c\ +\xc3\x8cR\x09\xe7]e\xde|hC\xbd\xdeR\x01\xbd\ +\x89\x0a\xe8\xb8\xdf\x98\xeeX\x13L\xc7\x98}\x10\x93\xbe\ +X\xd7\xea\x87,\xed\xc4\xff\xf2\xf4>\x0eMqX\xd5\ +\xe1\xc5]\xde\xc0Ph\xde\xddQKw\xb7s\xbf_\ +EQ\xcc\xf6\x9a\xed\x15\xa53>\x5cI\x91\x13\xb5\xa3\ +\xb2\xf7\x04\x8c\x9f\xaff\x15\xab\x00\xb6\x0e %Q\xa0\ +\xc3hFRt\xc0\x19\xa7\xe6\x84)\xcc\x07-\x09\xc2\ +\xd44\x9fF\xab\x94\xfd\x5c\xfd\xb0\xdc\x11C\x22dM\ +s\xb3\xb7H\xc1\x15c\x81\xf3\xe0Q\xed\xf8\xa5#\xcd\ +\x18\xbd8\x1f@\xac1S5\x90\x83wK$\x8e\xfe\ +\xfc\xd1\xc9\x87\x99@\xfe\x82\x99\xa4\xa5a\xcd\x1f\x14\xe9\ +\xb8\xdbH\x91\xa5^\x9dD\x00\x8a\xf0\xc5\x06\x22W\xee\ +\xce\xdbf\xc7NZ\x92Vef\xda\x0c\xce\xe8:c\ +\xc3-\x14\xe9\xef\xafP\xa4\xd7\xd7(\xd2\xeb\x0d\x8ar\ +\xde\x05\x05\xf7eE6OK\x91\xafo7\xc6\x91\xf1\ +\x9d0\x8a\xe8\xf8\xdce\xca)\x09,\xde(\xe4\x03\x8b\ +w\xc0\xe4\xe4\x84\x8e)\x03\xe3\xaf\xddAQ\xcc\x183\ +3\xe1\xc7\x95)\x9f\xa4^KTf__W\xa4\xd7\ +\x05\x14\x05\xf8\x8e\xfd\x13\xa6\xcdE\x8aJ\xa2f\xa0s\ +\xb2lW\x00\x85\xb9\x15\xde\x09\x92\x08\xcc[\xf67\x0a\ +\x93\xf6\xd7\x8a\xca\x94\x95D\xfb\xbf\xec\xca\x8e\xb6\xf9\xe8\ +\x1cQ\xc8\xb1_Dg\x9f\xf3\x0f s\xc1\x14z\xff\ +\xa7wct\xc3\xed\xdd\x05E\x98\x14>\xa3\xa8$\x85\ +0\xfdv\xc9\xa2\xa8\xae\xb0X\xab\xd2\x86{\x1f\x9b,\ +\xaf\xc8\x85q\x8aj^;c\xfbF\x06B%\x15X\ +\xbf\xf2\x0ab\x1dR0\xd1XC\xaa\xc9\x94\x1c\x8f\xff\ +\xccV\xa6'T\x0c\xa8O\xf6\xe6\xae{\xdfGR\xd9\ +\xee\xa4H\xe9\xd7\xef\x15)]_3Ez\xff\xe3-\ +\x14\xe9\xdf\xcdHq_>\x87\xcf\xd69\xdc\xde\xa1(\ +\xa6\x85\x9c\x9b1u\xe5\x1d]~\xd2\x1c\xa40S\xea\ +\xc5\xfc\x5c\xe6`\xaa\xd8\xae\x85B\x9a\xcb\x91\ +;\x0aB\x0e\xf5\x92\xb1Bq_\x1e\xf2\xc2V\xdfr\ +\xf5\x0a\xc9\x16U\xf8\xa79\x91\xe8\x10\xd3\x8b\xbaN)\ +\x14\xe2\xc1\xe9\x8aLq\xfdQ\xf3\xa3\xcad\xcf\x9a\x93\ +\xc1e\xa6\x5cR\x10\x19\xd1J\x87~\xd7Y\xf5}\x0c\ +\xad\x12\x0f<\x85\x14\xe3@~\xedB\x06M4@\x11\ +\xda\xb89| 6^\xb8g(J\x01\xcd\xfb\x9c\xfa\ +\x86\xdd\xd7\xdd\x19\x0dM\xaa\x1154q\x93\x83\x15\xf9\ +\x01\xc9\xf79\x95\xa7\xb9\x90\xc4\xf4-\xdd\xab\xae\xc3\xcb\ +\xd8C\xc6\xf0h\xec\xcf~J\xc8m\x06F\xe2@'\ +\xe3rSX\x99\xbfm\xf7\xee\xa93\xbb\x82O\x16:\ +\xd9D\x87\x8d\xd7n\xf9lhY\x03\xb7}\x99\x13;\ +8\xca\x94A\x9b&\x05b\x8c\xcb\xa7\xb5\xdfyl\xd4\ +jvK\xdf\xbc\x9a[JG\x84y\xca\x98M\xd9C\ +\x81\xc2(\xd6\x09\x00\x0f\xf3Sm\xe2\x05\xc2\x1eZ#\ +w\xd2\xd1\xb2\x86\xe9\x09\x1e\x0bv\xcd\x0d-\x13\xdac\ +\xc64Q\xc0\x03\xf80\xee\xca\x9d\xfb(\x14\xa1z\xa1\ +\xa5g\xa3\x03\x89\x05H`#d#\xe7\x00d\x1f\x22\ +\xb1\xe2\xcf\xfd\xbe\x90\xac\x80\xdc\xd2A\x8c\xfd\x81\xfd\x09\ +\xa4\x98\xcf\x03\x10\xc88\x22\xbb\x93G\x87\x07\x8a\xadM\ +\xbd\x90\x14\xc48,Kb\xe2?\xdcq\xef\xe9\xc6K\ +\x85\xc6\x0d\xca(ce\x9c\x08\x06\xd5\x8f\xf1z\x00\x09\ +\xac\xcf\xddm\x1aC\xa7\x01\x0f\x0aSl\x07\x0bX\xf2\ +pnW\x10\xc4Aw\x86\xe7(\x9f\xd9u\xc4\xdas\ +\xba\xe9\x13A%3P\x92\xd2\x9d\xf7N\xde[\x15\xe2\ +_\xea\x0e\xc0\xc1\xd7\xcc\xa0\xf8\x84\xe7\xd3Z+\x1cR\ +\x11\x12\x8b\xf7\xa5\xb4\xfe}\xd5X:\x80C\x9bI\x86\ +\x16\xdc\xfb\x1a\x9d\xc4\xcc\x078\xaf\xfa9\xeac}\xca\ +\x05\xe4\xde\xd9\xcb Ee\x0e\x05r\xee\xfd\x1c3B\ +y\x98\xcb\xc5|\xf4\xb0\x22\xbd\x9e\xa2\xc8\x85\x5c\x0a\xe7\ +#\x832\xfe\x08/\x9bl\xe6\xf7S\xaf\xdb\xc5K\x87\ +9:\x13\x14^x\x84@UU\x87\xf5\x9f\x85\x02\xcd\ +~\xdf,\xac\xa8\x9e?'\xf8a\xea\xf73Ee\xf6\ +\x85&\xdc\x9d\xc7\xa0\x98\xaf\xa3(\x00\xcf\xe0\x0ekS\ +1\xa9\xe2|3\x95sx\x88\x22#\xfe\x1d\x00\xbd\x87\ +\x81E\xef\xaf\xb9\xbcY\xab\x02L\xbco\xb2\xbe\x9a=\ +\x15\x95\xab?\xd2%kZ\xf3\xe7N\xcf\xf9\xe0\x1f)\ +\xfeY\x99\xfd\xe9]\xad\xa8:\xd0\xee85\x1b\ +)\xd2\xfb\xbeVQ$q\xc1L[\xb1\xbb.\x93S\ +'\xa7\x89\x09\x17\x1d\xa8\x07'\xff\x94$\xb1\xddL\x91\ +^\x17R\xa4\xd7+\x15\x15\xe0\xe7\xd78G-Ec\ +\xaaC\x06\xe8\xee.\x85\x09\x92\x99\xbc\x1b\xdf\x91\xb5\xea\ +/K\xab\x0e\x856\x9b\x07\xfe\xbaL\xe7\x08O\x031\ +\x9d\x1e\xf3yv\xae\x19\xa1\xd7\x1a\xc8>\xcf\xe3\xcfN\ +\xaf\xcc\x0f\xed}\x82\xd7O\xfb\xb8\x22\xbd\xce\xadH\xaf\ +_V\x14 2\x5c\xde\x19\xe3\x05S\x95B\x00\xd3Z\ +\xce\x07\xa4\x890\xeb\x9c\xdfI\xb8\x22\xe9J\xca\xb6R\ +F\x9e\xf3\x85\x0e\xa8\xf39\xd3\xbeK\x91\xbe\xef6E\ +\xba/\xeb\xa4X\xb7L\x19\x19_\xa7H\xdf\xf7\x8d\xf6\ +\x9b\xed72\xe0\xdau\xce\x1f5`\x8e\x94egE\ +\x19\xaf\x9b\xb2\xc03\x94\x07\xe6\xbc\xef\xb2\x0c\x14-\x91\ +=\x81\xd0\x82\xcbyE\xeb\xe9\x0d\x8a\x8a\x22o\xc0;\ +\x0a@\xa4\x18\xd3=\xad\xc8\x92\xd0\x18G\x86\x87\x88\x01\ +\xe6\xb8~\x92\xb4]\x9f\x19\xb0\xcb\xb4\xcbTL[\x18\ +\x92\x06X\xc2C\x07)\x22&g\x00*HT1\x81\ +\xc5$\x19\xd34\x9e\x1f\xcc\xda\x98\xf2\xc0T\x08\xbcK\ +\x0c\xa8\xc5\xfezx\x8e\x92?x\xbfE\xea\xc1\x98Y\ +$\x13\xb1\x7f\x18\x90\x0a3K7Ba\xc4\xc5\x187\ +\xa6E\xb8\x80\x03@\x22\xaf\x88F\x1fR\x08\xc6v\xd2\ +\xc8\xc3\x84\xd7R\xe4\x18\xf7\xcat%\xc6F[J\x14\ +\xa6\xd1\xae\x8b\xda\x9f(*\x0f\x94\x7f(\xcaT\x95(\ +L\xb9~P\xce)\x88\x91\x84\x92\xd7!\x0d\x18\x84\xeb\ +F\xf7\x1f\xd2o\x1a\x0f\x009\x98\x04\xba\xe3\x1f\x85<\ +\x85;\xcf\x0f\xc0\x01\xf7\x13 \x84:\x16\xa0\xe0zE\ +Uo q\xa6Q\x84&\xde\xde\x0f\xd1(\x85\xc1\xca\ ++\xd3\x16\x90\x22\x92w\x19\xd8\x89}\x18i\x0a\x00\x03\ +u)u1u-\x12\x053S\x03\xc8vc1\xc6\ +\xd4B\xe1'\xefD\xf2\x82\xa4\x82\xeb\xdf\xf7\xe0C\xea\ +L~\x83\xf4\x093H\x9b7\x8f\x22\x81\x12\xa1ho\ +\xdf\x90e}\xf0_Z\xe6|G\x81KBJB\xc3\ +/\xeei[\xf2r\xaa\xb5\xe8\xc2)F\x06\x0cf7\ +23\xa8<\x06\xe8\x08BY\xe0\x81\xa4\xd0\xc0\xec\x0c\ +\xea\x0e\x9dB6x\x12\x0e:X\x98N\x99\xb9\x00\x02\ +\x19L\x06\x1eh\x95\x8dW\x96\x0d\xa4]CQ-|\ +4p\xa2\x9c]X:\xbe\xcda)\x0eu'\x7f\x9b\ +\x8aj\x84K\xb2\xc6c\xecUuv(0\x7fm\x84\ +\xc6\xd4U6\xf0\xf6\xf6\xf6/\xed_2\x10\xd0!\xfc\ +*\x17W\xad\x1e(4\x80h\xd7\xd1xZ\xdb\x19\x09\ +(\x05\xf5\xcdS\x7f\xcc\x9d\xcd9}\x7fx\xdf\xcb5\ +\xcb7\xcbWT\xda}\xec\xfel\xcdZh,\xa1\xb6\ +m\xdf\x99\xd4Da\x06\x90s\xad\x178?\x1f\xf7v\ +\xc6\xe3\xb1!c\xf6\xe3\x8eb\x5c\x7f\x5c\xd5\xd1J\xa3\ +Q1Cbr\xb8\x91N\x12n\x80\x1c\xa8.\xc36\ +\xb7\x00\x00 \x00IDAT\xa5\x00\x18\x14\xf4\xcc%\ +\xe6s<\xa0\xc8\x89cW8\xb9\x93\x11.\xc4\xf7\xfa\ +\xc1d\xbe\xf1\x12\xde@0Gy\xc1n\xf2\x98\xeb0\ +&\x8e\x8e?\xe3\xaf\xce\xee\xdc\xbf\xa7\x8e\xeaL\xf0\x02\ +\x11t'#}\xba\xdcqJ\xf7\xbd3-\xc4\xcc\x0d\ +\x8d\x94\x0f\x1a\x0a\xef\xa08\xe1\xe6\xea\x82\xa2YF\xfe\ +\xe0%!\x0a\x97y3KbC7eR\x8aBi\ +\x0a\xa3\x80f\x1dB\x99B\xe3\x8b\xe6\x17\xc6\x89\x99\x04\ +Pi\xe3~\xf3s\xe8\xc4C\xd1\x22a\xe5?\x12g\ +6\x5c\xcc\xdb\xd8\x17\xd8\x88\xd0\x8e\xb1?\xf0\xb9\x19\xdf\ +\xe7\xc2+\xb4\xa6\xbe^\xe1eA\x07\x17\x06\x00\xd2%\ +\x17\xb0\xb9\xb3\xf8h\x19\x07\x15\x1aq\x7f~\x0el\x5c\ +\xf9\xc3\x93\xc3\x05\x16\x94\xf3\x90\x18p\x90\x19\xa1\x1f\xcc\ +\xa5\xa8\x10u\xf6%\xc6\x03r@\xc0$\xbas\xea\xaf\ +554(\xb50_\x0e\xed\x9e\x8f\x98Fa\x134\ +\xe6\x1f\x879!\x07\xce\x1b\xac\xc9c\xae\xbd\x0b\xf8\x18\ +\xe3\xf6\xe9\x0ex\x1a\x5c\xec\xfd\xe1\x12w\xd0\xe8\x5c3\ +\x9d\xe0\x80t\xff\xd3\xf3\xd6>\xe0y\xdd.8B\xeb\ +\xcb~z\x97\xa9\xa9\xa7t\xeb\x1e\xcf\x00\x0a\xff\xe6\x02\ +E\xa6\xa2f\xedd\xee\xdb}\xab\x5c'\xcc\xf9\xe2\x00\ +\xe6\xc0\x06\xe9g]\xa4cT\x9a\xc4|\x0elk\xa6\ +\xd3j%\xb1\x01XDS\x19\xae\xe5\xd6Ls\xbd\xf8\ +}\xc3\x03R\xec_1t\xb4\x1e62\xa5\x7f\x9b\x8a\ +\x8a\xebu\xdc\xbcW\xe1\x84k\xf7\x8ajg\xd7\xe5p\ +\x93FB\xa3\x82l\x09\x9b\xf1\xbc\xcf\x85\xd1\x8f+\xad\ +\xb3v\xab}*\xea\x9e\x01\xa6f3Ez\x7f[*\ +\xf2\xfd\x5c,\x03\x8dH[\xf6\xb7'\x04\xeb\xda\x09t\ +\x05es\xa8\xa2H\x1dB\xbab\xe6@\ +Pk\x9d\xe8\x0d\xee\xeb\xb4\xc0\xcc_\x06\xb0\xa0\xb3?\ +Y\xcbs\xd1\xdd\xc0\x98<\xa4\xa8(\xd8nh4C\ +Ez\x9d_QI\xb48\x9f\x9c\xe8\x87)\xaa\x99\x10\ +\x01\x8cjz\xc0e%ac\xbc'R\x05:1\xc3\ +}\x15\x05\xa0n\xcfQ\xe4B.K\x87\xdaK\x15\xe9\ +\xfb\x8e\x1b\x1e;<6k\xaesbF\x9e\x80\xe4/\ +\x95_\xdd\xb8H\xf2/\x98\x80\xebt\xfb&\x8c\x95v\ +.Ez\xbd\xc7\xe3\xe4\x8eQT\x1aW3\x8a\xda\xe5\ +\x14\x85\x92\x9f\x0b\xb9\xb4o4\xc7*\xaa\x8e\xad\xa5:\ +\x91\xa0\xb3_3\x96\x0f\xf7p_\xa7\xe6\x87\x8aj>\ +\xba\x01\xd6\xf6;\x8a\xea|d\xfa\x94;\x8ea\x96\xb6\ +\x86]\xdb?i\x89\xd5\xaeN\x88\xfd\x5c@\xb1\xce?\ +\x7f\x95\xca\xbd[\xe5\xd0\xd1\xd5si/\x9e|\x9a\xec\ +\xe5\xdf\xffm3\xd1\xce\xae:\xf3r\x5c\xf9Y\xd5\xe0\ +\xf0}n\xb7Q\x14\xc0\x82\xf1o\x91or\x0eS@\ +\xe2\xba\xeds\x02\x86]L3)\xdeF\x1d\xe3\xca\x1d\ +i\x80\xcc8\x0f\x9cw\xc1\x0c\xa5\x03N\xe3\x861y\ +\xc1\xb4\x90\x06|\xd6\x8a\xd9\xe0\x86^\xfbX\xfbx\xfb\ +X\xf1\x9c\xd1\xd3\xa7|8\x03\x87w\xe4\xfd\xe2\xa4\xbc\ +_`\x96l\xf3\xcf(\x18\xc8\xf7h\xac\xa0Ew\x83\ ++<\x8c\xc8Oa\x9a\xe1\xa5 \xb8\xfe\xcejJ\x04\ +RG\xa4\x956%e\x5cezZ\x9f\xd2\xf3:>\ +:E:?\xdb\xed\x14E\x22\x12\x1a{\xa6\xd0`\xe3\ +H~\x08\x83\x81s\x12`\x85\x86\x1f\x8d*\xb4\xe2L\ +\x19\x00\x98\xfe@\xc7\x98\x8c\xfd\x93\x82\x16\xb3?:\xc3\ +\xf6\xe8\x09f\x08\xe7\x01\xd3C\xec\x99\x15\x9e\x09h\xbf\ +\xcd\xcc\x0cf\x13\xe6\xce0\xac\x90\xdc\xe0\x95c/\x80\ +\xf6#\x8aJ\x9a\x01`\x82$\x8eN\xb0\x0b\xe9\xd8\x97\ +\xec\xad\xd5|HQ$\x130xh\xd4E\xc1\x8a\x09\ +\xb0\x81\x03\xa4\xa5\xed[\x15\xd5\xe7rC\xa0\x0f\x84\xc7\ +\xfd\xe1\xfa\xd0\xc0\xe9\x15\xe6\xaf\x9a\xce\xc6\xf3\x03\x10\x00\ +\x03\x80\xc2\x97\xc62\x00\x82\x1bE0~\xe2\x5c\xa6@\ +\xc6S\x0b\xaf\x10L\xc4\xa9\x0fi$\x01`\xf0{h\ +\x04!!\xe7\xef\x91\xd4\xd2X\xe2\xfbl\x06;\xb5Y\ +\x8e\x22I\xa1!NC\x8b\xeb\x00\x13\x81\xc2\x9d\xe7\xdc\ +\xccs\x9e\x8f0/\x84Y\x09`\x00\x80E^O^\ +\x0a \x80w\x13\xcc\x17{\x98\x00\xdc\x07\xe0a\x0f&\ +\xf2\x9a&\x17\xbc\xab\xfb\x82=l\xc4\xed\xbf\xabq5\ +\xba\xe1\x0bV\x0b\x18\x17u_\xe0\x98s\xca\x8d\xf1X\ +\x06\x12\xb2@\xbc\xd8\xa0d\xa22{\x99k\x9d\x17\xf6\ +V\x15%T\xbf\xe5\x84BUC\x0b\x13\xd4\x1b#\x81\ +\xed\x06\x8aB}\xe0\x81k\x1bE\xdaH\xeeS\xa4\xaf\ +\x97U\xf8\xdf/\x95\x0f\xc6\x14\x95\x06~\xce\x14\xe9\xfd\ +\xcc\xbcE\x91^?\xa5H\x7f\xfe\xc5\x14\x07\x16*N\ +6\x1b\x92\x06\xf2\x07\x8at\xe1>\x90b\x8b2\xb7\x19\ +\xe4\x9fB\xae9Y\x91\xbe\xff\x22\x85\xb5vic\x1c\ +\x9e\xacH\xeb\xec\xc1\xd1C#i._T\xa4\xaf\xef\ +\x1e\xfd}\x94\x16\xe2\xe8\xc5\xd1K\xa3t\xc0\x8e\xe6\x19\ +\xcd\xab\x0e\xc2\xe8\xdd\x1dEq\xda\xd1\xd3\xbe5-%\ +\xd4\xa3_\x8c\xce\x1f\x9d\x9f\xbe\xbe\x7f\xda\x03\xd3\xd2\xc6\ +>\xfa\xf6\xe8;\xa3t\xb0\x8e6L\xdf\x99\x12\x9c\xd1\ +\xe6\x8a\xf4\xba\x96\xa2zmF\xc3QJx\x86\xefV\ +\x14\x8d#\x89^J\xdf\xb3\xe6t\xf0\xben\xce-\x14\ +\xfb\xc1\xddN\xfcOR\x14\xaa\xf7\xe0\xd4\xc1i\x83\xd3\ +\xaay\xcfN\xa0\xd0r\xe1\xea\xdc<\xa1(Z\xd4\xa0\ +`\xfeTQi\xaffQ\xe4\xc23\x1f\xe0\xcdc\x8a\ +L\xb5\xce\x1bYP\xf4\xdcY\x08M\x16\x0c\x92\xdf\x1b\ +\xc1\xe3\x81\x00 \x01\xb1\xfb\xb2\x916:\x9d\x14\xaa<\ +\x98\x8b\x98\x81\x02u\xff\xa3\xee\xb4\xd1Q\xb5\x0b|\x14\ +~Ow\x85\xc6\xd4\xa9\xa6\x8ec\x02\xe4\xc24:\xc6\ +F\xc6c\xdc\x07\x9a\x1d\xb4\xf8\x8cY\xe1 E\x12A\ +g\x95\x02\x13\xd7z\x98\x11 \xf7vO\xc7\xbc\x04\xb3\ +\xb1fcE\xd1\x06\x82D2\xc78\xe6\xdc\x82@\xc2\ +X05=\x12\x01\x10iL\x85x\xbfl\x90h\xe8\ +\xa1\xd8\xd3\xc9\xc6\x9d\x14f\x83\x13\xf0(h\x90\x06\xb1\ +ABM\x82\xaa\xe4\x0dn\xf0\xbc\xa2Lc\x88N\x04\ +\x12\x0a~\x9e\x91\xcd\xe6\x1eE\xe5\xe2n\xf3\xa1f\xac\ +(.\xf8\xc3o)\x0a\x851L\xc6\xbe\xa6(c\xdd\ +\x82\xca\xe8u\x83&9\xcc\xc7\xb8\x1fP\xfa\x9d\x08\xc5\ +\xc1 \xc9\xc6\x9f+S!\x03+\xbc/\x9e\x97\xa0\xd0\ +\xa3\x8d\xb4\x97@\xb8\xf1\xfa\xf9\xe2\xb9 a\x88\xe7\x88\ +\xef\xbf\xc2\x894\xf7u\x1f\x03f/v.\xca\xcd\x99\ +\x8aJ\x0b\xfc\xc2\xf0y\xed?\xc39\x14\xe9\xf5\xca\xe1\ +U\xc3\x94\xb8\x0e\xa7\x8b\xa4\x9e\xff>\xefO\xc39\x15\ +e\x1e\xfcpqE\xde\x0fO\xc9\xfb\xe1T\xf60\xea\ +4\xc7\x7f,\xdf\x97\xb7\xe3\xb6$\xe6\xa1\xe1\x9e\xd1M\ +%\xc8\xe3\xf5\xd2\xb9\xd0<\xa9H\xaf\x97(\xaa1\x97\ +\ +\xf9W1\xa7\x9c|OQI\x1ct\x5c?Vi\xfc\ +WM\xa1\xe7\xf0y\x85\xc7\x02\x9eR\x80%(\xf4\xe1\ +6\xfc\x88\x0fn{I\x0co\x18\xde8\xbc\xb1h\xbb\ +\x87\xffP\x94\x82\x12\xb3\xc7,$\xb8\xbc\x14\x10!\x1d\ +1\xe5?\xa8\x7f\xb8s?\xa7(\xcc!4\xc1QX\ +\xd9\x8cm\xf2\x09E\x91\xe65\xefI\x91\x9e\xc7\xe6F\ +\x85\x9f\x93\xa5\x8b\x89\x11\xa6\x94\x98\xeb\xa1%\x1f\xed\xa5\ +H_\x7f?\xc5IU\x82\x0b\x85\xdc\xfbPs\x8e\x22\ +}\xdf\x9b\x15\xf99\xcd\xeb\xa5\xd9\xba\x93\x184ol\ +\x16o\xd2:k\xbe\xaf\xa8\xe6\xa0[\x82\x10\xe7\x0b\x1d\ +\xfe\xf5\x9b\x0d\x9a\x0d*3\xbe\x1d\x14\xe9\xf5rEz\ +\x9dCQ\x9dc\xec/\xee87\xe7*\xd2\xeb\x12\x8a\ +\xe2\x010m>\xc5\xd4\xd4,\xcb\xcd\xb2\xec,)\x9f\ +\x98v\xeb\xb4[\xa6\xa5|at\x94\x22\xbd\x9e3:\ +{\x94\x0a\xcbf\xf6n\x0c \xe3d\x07\x07)\xd2\xcf\ +9S\x91\xbeo\x1bE\xfa\xfa\x9b\x8a\xf4\xf5\xcc\xd1\xcb\ +\xa3\x94O\x8d\xde\xa8H?\xf7c\x8a\xf4\xf5\x8d\xa3\x1b\ +F7\xa4\xaf\x7f1\xed\xe7\xd3\xd2s?\xedW\x8a\xfc\ +\xfd9?\x98\xf6iEz\xddx\xdaF\xd3R~0\ +\xfc\xb3\xbd\x06\xf0\xa08\xa4\x99\xdeL\xcfS%.\xd7\ +T\x89\xec\xadpa\xfa\xf3\xfdS\x1cPiR5U\ +\xe2o\xee@.S\x5c\xe9#\xc1%1\xa7\xd0\xc7\xd3\ +\x04\xc9\x91\xa7+\x84\xc6\x9as\xf2\x94NJ\xc7\xf8\xc8\ +\xe1Y\x8aj\xfd\xc0\xacY\xd1\xe7\xbf\x1b\x1b\xe4\x19\x9c\ +\xe7\xe1\x01\xf0\x0b\xcf\x9d?R\xe1\xbcr\xcdJ\xd2\xa5\ +\xf3\xf0\xd3\x85q#'\x87\xec\xe5\xf0\x0dEz\xddP\ +a\x93\xc5wTce\xfd\xfcF\xc7\x0d\x06\xa4\x18+\ +\x8f\x97\xfc&\x18\x8d0uH\xc4\x01z\x01\x8c`\xe8\ +\xd8{\x01\xe0\x9d\x84>\x1874\xb6\xf0\xa2qG7\ +\x98?\x8c\xdf\xfd\x8c\x81}\xcc\xe2\xc6\x8a\xf4\xfa-\x9b\ +\xb9\xa9\xedqcU \xba\xb37\x9c+\xed\xd7\xba\xee\ +\x0b\x0d\x17\x1c\xa6\xe7e\xb4\x85\x22{S<:J\xfb\ +\xcd\xe83\x8a\xf4\xba\x9d\x22\xaf\xb7\x14U~(\xaf\x93\ +\xb5\xab\xbc\x0c\x8a?\xf9\x14\xfb\xaf\xa5\xb9\xd1IU9\ +v\xae%x\xdf\xed\xc6VfO\x1e\xcc[\xbd\xaeX\ +\x7f\xf99\x14Sv\xf3N[?\xb5~\xd7`\x00\xd8\ +\x093^\x98 \x14\xf8\xdb\x1a\x80Z\xcf\x85\xfa\xae\x06\ +d\x9c7\xa53\xa2\x1b\xbfF!O\xde\xc7\x1413\ +\xb0\x02\xb8:\xa39\xbd9\xbd\x9a\x9a\xe4B\x10\x93\xc6\ +\x90\x08\x02\xb8\xe3\xf2o\x00\x01\xe0\x1f\x09E\x98.\xd3\ +\x10\xa3a\xeaF\x01\x0c\x22\xc6\xc5b\xae\x1a\xf9'\x0c\ +1{\x8e\xc0P\xe2\x9c`?\xa6\xf1\xd7|Z\x91~\ +\xdeo\x15e\x7fi\x96R\xa4\xaf\x8fQ\x94s\x97\xf1\ +\xaf\xc1d\x83\xe1\xc6\xd4\x1c\xa6\x1f\xd9kK0\xb2\x80\ +d\x80\xf70\xa7\x83\xd1\xeb\xe7p\xb2\x80\xa22\x17D\ +*@\x87\x9b\xf1\xca\x00^t\xc6)\xc4)\xd8\x19\x8f\ +\x8a\x87\x15\xd2\x83\xbaq{Ei\x88h\xc6J\x9e\xb2\ +\xc2XAKx\xa3!\xe3\xc6a0Th\x1c\xd1\x10\ +#\xff&\xdf\xa3\xb1\x050\x08\xc3\x99|\x97:\x83B\ +\x9f\x86\x16\x8d2\xcc\xba)\xf8i \xc1\x90\xe6s \ +5\xe0z\x00\xa4\xd0\xe0C\x12\xc6\xf8k\xd6'?\x9f\ +\x06\x1b\x8d\x14\x80\x1e\xf6\x1f\x80Z\x80m\x80\x22\xaf\xb3\ +\xd1\xf8\xeb)\x8e4\x12\xf5\x96jA\x5c\xddQ\x8f\x82\ +\x12\xe8\x8eE\xb3`\x8a\x05\xac\xfd\xda\xb7\xa2\xf2K\xf3\ +\xb5Gq{\x0d\xb7T\x10/\xcc\xfa\xb4\x1c~\xef\x82\ +a\xc5\x8a\x22mJ\x0fcU\xe2\xc2\xd9\xb5;'*\ +\xbf\xa9\xcce\xd0J`\xc6\xa0\xfe\xf0\x93\xd64N/\ +\x94\x8c(``(\x90\xb0A\xc9\xed\xb0D\xb7?\xab\ +\x02\x9e\xf1M\x1a\x17tv\xe5\x9ejm\xe9`\x0e\x9b\ +\x97\xbc\xabsI\xc65u\xf0+w\xda\x16s\xa7f\ +\x86\xc7CA\xf1a\xae\xb7\x91\xa2\xe1\xaa\x9d\xf9S,\ +,\x0a@\x90(>\x07\x05&\x854\xe64hR\xb8\ +\xd1##Vl8/\x98z\xe6\x8eQ\x14~Py\ +E5\xde\x8d\xa9\x15.\ +\x8cB\xd2\xc3\xe7cn/[\x8a\xa8\xd1\xff\xc8T\xe9\ +\x9b2E|\xb5\xc1\xaa\x19\xa0qa\xca\xc1\xcdA\x1a\ +\x00)\x9e\x0b\xaf30pw\xa7\x01\x0e\xaa9\xee\xe3\ +vE\x16\xff(3\x90v\x1b\xec>\xd8\xbdrg\xbf\ +?\xfd\xfd\xfdE:\x13\xa6\x95'\x0eN\xc8\x9e\x1a\xa6\ +v3\xdf\xb7\xd9\xad\xf9|\xb3[~\x0e\x07\x19\x10\xdb\ +9\xa5\x01;\xe7\x84\xf7\xea\xcc\xf4A\xebw\x99\x19\x05\ +\xbf\x1d\x5c7@Sy\x95\x99H\x97\x15\x8a\xbf\xf83\ +\x99A\xc3\x186\x12\x06\x80\x11\x5c\xfaEM\xdc\xb4B\ +\xc4Mq\xc5\xe5\x82\x02f\x03\x85\x18\xaf\xef\xea:\xa0\x14\xc0\xc1\ +LSB\xbew\xc5\xd8\xa1\x93\xe3\x04\x0b\xb3\xde\xf6!\ +Ez_\x7fM\x91\xf6\xf5\xe1\xcd)\xfeXI\x18\x18\ +\xfb\xf7\xd7\x14w\xba\x90\xbc\xab\xea\xf0\x7fQQ\x8d\xa5\ +\x03\x084\xd0E\xe7?<>\xc66W\xbdf\xb0\xcf\ +`\x9fR\xc0G\xa3\xe1\x22wB\x1f\xb6\xeb<\xc03\ +\x80,\x9d_{\x95\xa4\xa7!\xff\xdc\xf1\xb5\xe3k\xc6\ +\xd7\x14\x06cs\x9f\xc7a\xbe\xab\x03,\x908)\xfd\ +\xcf\x05\x00@\xa3\x19_\xc3\x13\x9d\xa0\x1f\xd6\x15\xd4\xcd\ +\xa5\x8a\xc20\x9c\xdc\xd0iQC\x02\xc3X>w\x8e\ +\x9a\x9d\x14\xc5+ $\x09\x00\x99.lb\xce\xb9M\ +P\x83\x99\xe9}2\x12t\x9b\x92\x0dN\xeb\xd6+\xe3\ +\xad\xdaw*\xd2\xef\xfb\x8d\x22\xfd\xbe'\x15e\x8aA\ +\x9e\xa90\xa7\x13\xe3C\xcc\xec\xbc._\xa7n\xdf\xa0\ +#\xaf\xf4\xfbV'\xcc{eI[\x8aj\x5c'\xfb\ +\xe8M\x8a\xf4z\xab\xbd\x80\xdcQ\x82a\x01%\x1f*\ +||\x9f\x98A\xdf\xac\x12\xf7\xf3'\xd9\xc5?\x0a\xfb\ +\x89=op\x89\x7f\x9b\xa2\xd2n\xe3\xbdc`K\xd9\ +K\xd6\xce\x03Tx\xbc4\x1a\xf20\x85\xd4\xfdy\xbe\ +\x98\xddf\xcf\x83#+w~3cd\xbd\x9c\xcd\x97\ +\x97Qx\xdf\xdb\xad\xda\xcf\xdciD\x9a89PQ\ +\xe5;\x00\xd3\xb8\xa6\xdb\xc3\x00\x13U\xbcN\xa2\xc0\xc1\ +\xd3\x81\xfc\x18\x97\xfc5;&K\x1e\x83\xf8\x85\xac\x19\ +\xef<\x05h\xcc\x19@\x0cF\x83\x19\x0a\xcd\xd7\x14\xe5\ +\xfd\xe6\xa9OgW\x0c3\xa4\x1d\xd6\xc0S8\xd1\x00\ +\x00@\x08\xe9\xa6\xf7\xdb\xf0`\x22?p\xa1\x16\x0d>\ +Q\xf8o,\xfbjP\xe89\x8ft>\x1eTM#\ +\xa1\xc1\xc1X\xcf\xab\x06Wfi\xa9=\x99\xf0\xd8\x89\ +\xf9\xf2>o\xe9D\x87\xa4\xd2L\xb7\x94cv\x1dQ\ +\xf2\xb7y}\x1d\xaf3\x83\x99\x02hK3O\xf76\ +\xb0\xeeFG\xe4\x05\x97\xf8\xfdQ\x8f Ab\x0c\xb6\ +\xa4\xbbgVu\x89%\xc9\xe1\xa2O\xc7\x9b\xfc\xc7\xd2\ +\xc7\xc8K\xc8o\x00\x8a\xfe\xa7c\xf6\xc4\x986\xa4\x9c\ +0\x05\xbd?#\xe5d\xdf\x8c\xbc\xcb\xe7w<\xc7\xec\ +?\xe4\xe7x<\xb9S>Y\xd4\x0c\x8c\x0fu\xbf'\ +\x1a\xa8^o\x0011&\x9a|\x9a\xc2\xd1\xfbV\xec\ +c\x1e\x7f\xce\xfa\x8b\xf3\xd2\xd7':\xe2\xdc\x17>\x17\ +Tu(\xec0\xf1`\x8c \x09\xa2\x03\xcf\xf5\x87\xd1\ +\xc5XR\x1a\xd0\x9cc\xd4M0U)\xa0i\xb8\x99\ +\xf9\x1cR;\xf28\x03\x0a1F\x0f\xaf9\xf2^\xa8\ +\xfc\x5cG3F\x03\x18\x82\x810\xb7?'y\xceK\ +\xa9\xeax)7\xce\xc7YZ\xf6X\x16\xe1\x14\x00\xc1\ +T\xbc\xfet\x14\x00G\xbc\xb3b\x9a\x9b\xaf{\x98\x9f\ +s\x7f\xecuBC\x0a\x86o\xd4o\xd4\x83n\xd0\x01\ +(\x8cf\xde\x94\xe2\x0f\xa5c\xc7\x18\x16MWW'\ +\x87\x03zx\x8a\xa2h\xf5\x029\xf7k.\xbc\x0f\xab\ +\xa8\x86\xd2\xa6\x9cSQ\xbd\xd1\x22\xa3\xe5\xf7\xc6\x1b\xd2\ +\x03\x95\xb7_\xb4&\xe5c\xee\x00\xde\x5c\x16H\xb8/\ +r#eR\xf7\xf1\x8a\x12.\xc4\xfd\x98\x0a\x91\xb2\x86\ +4~\xaf\xa5\x0dyyL\xb3\x1b\xe2\xbc\xbe`?\xaa\ +:IF\xd2\xc2T\xca\x85\x95\xd2\x12%&1\xc7\xdc\ +\xd4s\x0eD\x16zP\xd2)\xf4\xe9\x14\xb9@\x8a\x1b\ +\x08\x15\x05\xc0\x05\x13 :\xa9\x14\x98\x14\xf4S\xe6l\ +^\xd5\x1d\x84Y\xf9vG\xb5\x11\xd0\xf1f\x8e3\x1a\ +\x1b\xb8\x9e\x8b\xba\xc0\x01\xe1{\x8fM\xdd\xdei\xaa\xf9\ +\xda\xfe\xbd m\x1c`hj0=\xc3d\xce^\x09\ +\xe9\xbdw?\x17\x0d\x1b\x05+\x9al\x00\x03\xa8\xf8\xeb\ +\x18y\xf7\x98;\x1e\xf8\xa0\xbc0\xd7\x1d\x8d\x15\xf7\x1b\ +\xb7\xd2\xf9\x9cx3\xaf\x17*\x0c?\x87\x0d\x8f\x8d\x08\ +\xe0\x073\x9a\xcbM!\xdf\xd2\x08\xfc\xcb.\xdc1S\ +\x92g\xc3\x8c\xaa\xd0\xe7`\xa6@d\x83\xe1@\xc1\xcc\ +d\x11\x9bY\x22\xc1\xa0Pf\xe3\x83\x02\x8f\x16\x90\x9f\ +\xc3\xcf\xe7z\xf3{\xf8s\xee\x1f\x1b)\xf7\xbb?\xef\ +\xd6f^\x01\x8c\x000x\x03\xe4\xe0\x08\x0a\x1e\xa6:\ +h\xadA\xd8\x9d\xd8\x87\x86\x1fJ\x19\x85\x08\x1b*\xe6\ +9F\xd0\xe3s\xc3\xac\xc0c\x83\x8d\xf0\x1b\x96H\xb0\ +\xf1\xb3\xee)\xac\xcdh@\x82\x81\xe9P\x144F\xd2\ +\xc3\x15\x19\xa4\x13\xcd\x1e\xae\xf9H\x1b\xe8\xa0\x98Z\x9a\ +\x12\xfe\x14N\x18\x1f\xaf\x10|:\xe7h\x06\x01\x9e\xa0\ +|1\xff\xd6\x85Q|^\x7f\x9e0?D\x02\x03B\ +\xee\xf7\x89yZ\x8cWDCm\x93\xcd`r\x18\xd0\ +\x0b\x8d\xe3\x87\x0d\xf0\x00\xa8\x00\xf41V\x08\xa6\x0e^\ +\x01P\x1956\xed;\x198Y?\x03'\xda\x91\xa6\ +\xb2\xe4\xe8;\x92\x1c\xb1_\xe5\x82\xe7\xb4\xca\xcc\x8b\xf5\ +\x05\xa0\x85\x97\x03^%\xdaW\xd6)\x7f\x1e\xd4w\xcd\ +\xa9>\xab\xcc'N\xa7AN\xb4\xc3\xcc\x8a}P\xe5\ +\xdfg\x5c\xc8\xfe\xa8\x92\x94\xa9\xd0z\xc6\x8c\x90\xf4>\ +\x9aGR\xc8\x9d|\xff\x14)\x91\x1c]\x99\xe2\x0aw\ +\xf2\x8e\xaa\x12RL[\xe900\x96\x0b\x00\x15@\x14\ +\xc0\x0f\x8a#To\xc1d[U\x85\x15L\x1d%R\ +\xbbU\x09*@\x9a\x0b\xb3\xd0\x8a\x93hQ\x983\xbe\ +\xd3\xe3\x0b\x91\xb6Q`F\xc7\xfc\xb7\xcd\xf5\xcd\xf5\x99\ +9\xa4(\x80\x0e\x0c\xab\xfb\xbb\xcfG\x87\x1b`.:\ +qx@p\x9f|\xf0c\xae\xd7\xdck\x06\x0c\x8c\x88\ +;\x15\xd5\x18^4\xc6\x9eZ\x12\xee\xdb^\xd7x\x87\ +\x04\xd0\xee1\x8eY\x88#\xed\xf5\xc1\x0a3\x93\xbe^\ +\x98\x99\xa1Q7\xd0\xdd\xdc\xa4p'USknT\ +T\x8c\x97\x8b\xba\x04\xa6\xb9N\x91^\x91t\x5ca&\ +\x1a\x9d?:3\x9cohZa\xea \x89C:\xe4\ +)&h?Czb`\x8f\xce>\x9d1\xa6\x01\x00\ +\x1c5?W\xe4y\xe6\xb9\x03\x0a#ex\x83\xa2P\ +j)\xb4\xa7\x1e\xc9Q\xd6\xa3\x13\xc5\xd0\xcc\xba\x80o\ +\x8eVTfO\xa6\xde\x87\xf4\xd1\xa6w$\xb4\xed\xaf\ +\x14\x95D\x08\xa6\x8a\xaf3\x00\xe5\xf8\x1f\x8aJ2i\ +s^4\xbf\xd1(0\xf0\x92\xb2\xa0\xee\x5c\xa2C\xe6\ +\xf3\xb19RQ1\xe2\xd8\xcf\xdd\xd9\x8e\xc4\x1bm?\ +\x92)\x00T\xa6\xc0@\xad\xbf\xc5@\xaa)\xc6x\x1c\ +\xc4\xf4\x22\xc6\x96yZ\x11\x05I\xfb\x8c\xa2\x9a\xfe!\ +\xad\xfe\xd9U\xc3\x86|\x80\xc6\x01L4\xf6\x17\xdf\x0f\ +\xf6\x850\x09\xa6\x00eZ\x8b\x19\x1a\xd9e\xfd\x8e\xca\ +\xc4x\xfd\xdc\x83.\xc0\xca\x11\x8a\x8a\xd9*i\xe7\x17\ +\xaa\xe7\xa2\x97\xef\x84\x16\x1cI\x18\x94f\x00r\xae/\ +\x1ao\xcc\xcc`\x16`\xce\x8a\x97\x81)\xf51&\x0e\ +\x09\x00\x0d\x05\x9f\xa7\xc3\xcf+\xbcOL+\x05!\x1d\ +c\xa6`e\x1e\xd5u\x15\x93\x00j;\x05\x93\xa7{\ +\xe5u\xf3P\x95\x87\xd8\xec1\x0a\x0a\x00\x0c\x9f\x03\xac\ +\xbf\xb8\xde\xf5\x14\x8eu*)\x84\xcf\x99\xf6\xbb\x8aj\ +\xfa\xc0|\x93\xf9\xf3\x94\x9bou\xde\x07\xc1\xf4t\xbe\ +\x14\x00\x19\x9dQ\x98\x7f\x1f\xb7D\xf0\xfd\x96\x96P0\ +\xf2\xfe\x98\xbaC\x01\x84\xe4\xc4\xd2&:\xdb\xcd\xdb\x14\ +\x19\x98:n\xea\xb8\x0ah\xf8\xaa\xd7?\xd2,\x8f\xe7\ +c\xbc[Lq\xe0\xb9?\xda\xef\xdf\x00BH\xf80\ +'\xb5Y5\x12R\x00\x95\xf0bCz\x81t\xe1\x90\ +\xee9m\xb6l\xb6\x10\xe38\x80/\x982x\xce\x9c\ +l\xf3j\xbc9\x98\x86\xc4\xf4\x04\x8f\x0bn7\xee\xc6\ +y\xb7[+*\xef\x10\xc6\xfb\xe2\x81D^O\xdd\x00\ +\xc0\xc7>\xc7\xef1c,\xcc\xb7\x91\xa8\x91?\xd84\ +\x1d\x80<\xf2C\x17\xceQ\xe8\xbb\xae\x8a\xf5\x06\xc0N\ +\x1e\xcft(7\xb8\xa2\xe1Cc\x89F_\xdf\x0c\x9a\ +z\x8b\x06\x1a\xef\x13\x09\x07@\x0d\x0dQ\xf2m\xa8\xfe\ +0\x12(\xc8\x91\xf6\xd0\x18c]\xd9\xfc:\x95\xf1\x9d\ +y:\x85<\xef\xc7\xf5Q\xec\xa3H\x1e\x1f\xce\x90\xf6\ +T\x1e>\xfa?y\xff\xea\xbc\x01\xb8\x0e\xd4\x09\xe49\ +\xd4\x93H\x1f\xc8\x97i\x90\x01\xb8\x22)\x06\xd8%\x7f\ +d\x0a\x88\xef\xdb\x88\x82'S\xa0n\xa94\xb0l\xe4\ +\xc2\x055\xae\xee\xdf\x0a\xcf\x19^\xa0\xa2\xcc}WQ\ +ikM\xc1\x08\x13\x0c_\xa0L%Y\xac\xba\xf0$\ +PZ\x16\x97\xb8`}]\xf5\x80c\x16hWV\xb4\ +\xb1P,\xf3\xf29\xd5\x09\x99\x0a\xf9\x97:\x8a+\x1d\ +\xd2\xdc\xf9\xdb\xa0\xea4;\x11\x03\xa1\x0d\xf36\x9b(\ +Eb\xcf\xdc\xf4;\x14U\xa7\x95\x0e\x15\x05\xff\xd3.\ +\xe8,\x89\x88i\x06l\xf0P\x9bA\xbc\xe8\xa8C}\ +\xe6A\xa00\xe4\xcf\xb9\xf1ku&\x16\x03:F/\ +\xb9 Y\xcaZ\xe8\x9ftS\x0c\xd8h\x03Y\x86\xc2\ +\x02\x95\x1a@\x81\x83hI\x178\xa6LG\x07\x9a\x0e\ +6\x05\xbb;\xd0\x03\x1e\x18kP\xa3\xd3L\x81\xcb\x83\ +\xca\x03F\xc1\xcbF\xec\x8eo\xda\x86\xbb1\x1e\xe5\x01\ +\xec\x0er\xc6{@\xd5\xe2\xa0\x04\xd1\xa7\xc3\xcf\xfb\xc7\ +\x5c\x12\xa0\xc0\x07`\x004$\xe2$\x06\x14r\xdc'\ +\x0e\x04:\xe9\xbd\xe9\x10Q\x08\xd5S/\x9e\xaf\xee\x13\ +L\x86\xfbl\x0e\xb2\xa27\x8a\xbe9]\xdf\xf5\x94?\ +\x07(\xc1\x04\x84\xcf\xc3\xef\x81i\xd1\x1f\xc7\xc9\x81\xc0\ +\xfa\x00 \x01\xb0\xe1\xf3\x18\x81\x8e\xa9\x08\x00A\xfc\x87\ +\xfb\xb6\x0b\xc5p\xb7e,\x0d\xa6w\xb8\x01\xb3\x01q\ +\x9f\xf9\xfd\xac+(T\xb8\xffSx\xc1\xe8\xc0D\xcc\ +\xe3\x83b\x9ds@S\x08C\x99\x83\xca\xbc\x93\x0b\xe3\ +#\xed\x05p\x5cw0\x07\xd2n\xcaTtn\x01\x1a\ +M-&\xd1D\x0b\x17\xde\x01xA\xf8\xfb\xe2\xe7Q\ + \xa2\xc9\xc4l\xd3\xd7\xb9YKQ\x8d\x9d\x83\xf1b\ +\xb3\x9c\x18g\x84\x1b\xb9\x81\xb8\xe6\x13\x8aBi\x0fs\ +M\x8d=\xfbJu\xbd\xe9\xf8\x22\x89\xa1\x93\xeey\xbc\ +\x00\x01\x83EL\x89\xe3y\x81\x0a\x87\xa7\x08\x09\x18s\ +f\x9fN\xff\xea\xe9j_\xf5ud\xdew>\xd0\x8f\ +\xae\xb4\xde\x8c\xc9\x01\xb0\xa1\xc0\xf18<\x0d\xa1\x93\x9b\ +;\xd3.\xf21\xf6\x80;\xb1s\xe6\xf7}\x96:\x86\ +\xaf\xa2\x002}E\x1d\x86\xcd\xcaX\xb2\xc1\xfc)\xe6\ ++\xeb\x0c\x89\x95\x08\xd5\xa2T\x87\xb4\xea4K\x8e\x90\ +\xd2\xf8s \x99\xa0\xc0\xa4\x90j\xf7I\xb1\xb7;\x88\ +k\xbb\xf3\xf7\x97\x0a!\x7f.s\xb6\xca4\x15\x12\x81\ +{3\x97\xa8P\xea|N\x05p\x03\x83\x0a\xca\xae%\ +89\xfd\x9b\xe1\xf5\xb2\xa0\xcf\x9d\xab\x8b\xc6\x9e\xf9\xc4\ +\x5c\x97p\x8f\x7fSW\x88\xc2\xf8\x81*\x8e;{L\ +\x15\xe1\xf9q\xc27\xd9K\x91\x19i\xd9\x0cW\x023\ +I\xcc\x9ai\x8a\xca\x95\xfe\xdf\x8a\xca\x05\x1a/\x02\xb4\ +\x9a\x98z\xfa\xbc\xe3<\x8712y\xb3\x22]\xcfy\ +\x15\x9e\xa6\xa0B\xf9\x0b\x8a\x8a*\x0au\x15\xca&\x92\ +\x9c[-\x05;\xa09\xb090\x03\xf6]\xe1\xc29\ +`\xa9J\x00\x01\x1e\xdf\x18SYL\x19\x0d31\x03\ +\xf5\xb1O\xb8\xa3\x16\xe7\x17&Q\xbe^\xe1\x15c\xef\ +\x15\x12\xfd\x90\x8a\x98\x22>\xe0\ +\x83\xea\x01u\x9d\xa9\x09l0t\x8a\xd7\x8e9\x9a\x1d\ +\xf5\x9c\x02\x7f=\xff^\xc6\xe4\xd1y\xe6\x81\x07i\xa7\ +`\xa6\x10]\xcd\x89\xd8\xdcA\xc5\xea\xae3\x07\x08\x1a\ +\x18\xfe\x1d\x0f\x0e\xd7\x85\xdf\xc3u\xa3\xb0\xa5clJ\ +\xed\x04\xea\x0c\x0f(\x12\x09\xc6\xbb@1g\x03\x00\x98\ +\xc1\xad\x9aN/\x80\x03\x88\x22\xd7\x09-$\x14{L\ +\x85@8\xd9@8\x80\x1e\xeb\xe6\xa8\x0f>l@\x86\ +\x84\xc0f\x92A\xf5cCE\xf3T#\x81\x0fW\xc8\ +!\xeb\x88\xcfM\xe7\x11*-\x00\x03\xeb\x98\xb1\x9at\ +4A\xf4\xb9\x0el\xd0.\xfc\xc3\xcc\x10j#f7\ +\x8cS\xc2\xcd\x98\xe7\x0d\x00\x08*:\x85\x22\x8c\x1bw\ +\xea\xa2\xe3\xe9\x82\x22\xe6\xea\xba\xe0\x0df\x05\x1b\x18\x85\ +;\x8c\x1a(q[xc\xe3\xfe\x01\xa0\xa1\xb9d}\ +s\x1fX'\x8c\x99\xf3T\x0f:O\xb1\x1f\xf8\xfa\xe5\ +N\xf3#\x155\x15\xed>\xa6\x8c\xeeH\x86\xc9\x0f\x9e\ +\x06$Jt(\xe9L\xc2X\xc8\xffU\xe6d\x14\xca\ +PC\x197\xe3\xc4\x11jf$\x00\x00\x0cN\x5c\x82\ +\x02i\xa6\xc3\xe4\xab6\xc7\xc4|\x13\xed!\xe3\xdb|\ +@\xa5g\xf7=\xf9\xf9\x05\xf9\x85\x22\xe7\x83\x9d\x0eA\ +\xbb\x97\x22]\x8f\xaf(*\xc0\xceT|\x00\x88\xc1\xc5\ +\x8a\xf4}\xdfNqt\xa1\xe8\xe3\x9e\x1b\x1e\x08>\xb8\ +\xc2,\x88\xc2\x1fSE\xdf\xc7fKE\xfaw\xfbv\ +&\xa4h\xc3\x87\xa7**\x8a\xe4\xfb\x14\xd5\xba\xc0\xec\ +\x89N\x1e\xfb!\xde4N\xcc\xb3\x19Z\xda?f\x1e\ +\xa8H\xcb\xe8\xac\x142\xc5\xfb\xbd\xc2\x88\xf9^\xd5:\ +d\xcc\xa1:\xab\xef\xad$\x1d\x1c\x98\x98\xf0\x1c\xa7H\ +\x7f\xffUOCp\x01\x82\xb6?\x17\xf2\xab\x96s\x89\ +\x0e}\xcc\xd5>\xaa\xa3\x1e\xb6\x17(*\xcd/\xc02\ +\x14y\xa8\xf4\x87+\xf2T\x82\xcchI\xa7pW(\ +\x00\xb0\x7f\xcf\x89\x1a\x09\x8b\x13\xca\xc1\x7f\x14\xe9\xdf?\ +\xab(\xd2\x85\xa0\xc8\xf3\xfa\x16K\xff0\xfb\xb2\xe7\x08\ +\x00B\x98\x9f\x02\x08Y\xd2\x15\xe3Y\xbd\x1f4\xbb(\ +\x8ad\xa7YH\x91\x0b\xe9\x1b\x067\xa4\xfb\xfa\xb0\xa2\ +\xea Au\xcf\x0f~\xe5\x1d\xe3\xf1y\xd1iF\x0b\ +\x0c \x09\xb0\xe8\xf1\x9c1U\xc2\x8c $\x84\x01|\ +\x5c\xa8\xa8\x00\x00S\xf8\x87\xe7(\xf2T\x89N\x12\xb0\ +i7\xe6q\xf86E\xfa\xfa\xc0\x0e\xb0\x8095\x5c\ +PQ\x0a\xf8l\x02|\x98\x01\xac\xf9+ c\xba\xa5\ +\x02\xcc{v\x87\x98\x8e1\x05!\xc07\xd3\x03\xda?\ +)\x0a\x93\xa6\xb9LQ17\xdc\x19\x1co\xaf(\x09\ +6\xa6N\x93G&\x8fN\x1e-\x89\xfc\xe0\xf5\x8aj\ +\xca\x8f\x19\x0e\x98xNf\xf7s\xf2yE\xfa\xb9\xd9\ +$\xa508\xdb\xb5\x15\xd5\x14\x0fk\xfeCz\x03\x80\ +\xed\x82\x891\x87\x12\x94JR:\xf3\xb0\x99\x87\xcfL\ +\xd7g\xbc\xb6\xa2\xb8\xe7\xc7\x982${+\xbb\xe1\xe0\ +B*\xc6\xe9\xd1\x81\xc7\x84L\xa6q\xdb\x999y{\ +5\x8d\x88\xce?\x14Y\x99i\xed_u\xbc-e\xa3\ +\x10\x8a\xf1l4\x86\x94o\x9e\xe2\xe7|a\x03u\xbf\ +)\xf9\xd5\xf0\xdf\x8aj\x0c\x9b%ZH\x1c\xc6\xb3*\ +<]\xe0\xf1\x8a\xc1\xe5s)\xee\xcf\x9e\xd6\xf0{\xce\ +z6\x95\xfee9\x8f\x98\xde\x10\x92\x19K\x08\xc3\xfc\ +\x14\x86\x13\x0d.\x17\xe6\x1a\x9a\x9c\xc7&c\x12\xea\xfd\ +\xb8\xddCQ\xcf\xbb\xef?\x05\xcd\xe4>K=\x9e\xb3\xc7\x8a\xcf\ +\xa5`(\x92\xafR\xe8\xd2@D\x9a\xc9T#\xc6-\ +\xf3{\x98ZD\xde\x87\xf4\x90\x82\x91\xf7\xbd\xb8\xf39\ +L\xdc\x00\xacy%\xaf\xb6\xa4 \xf2?$\xa3\x00\x0a\ +\xbe/!\xc1pGvp\x8e\x9f\x1b\xc6/\x1b\xb8\x0d\ +\x13G3\xae\x02\x10\x85\xd9\xc99\xcet&\xf6a\x1a\ +\x160O`\xb8\xc1\xb4\xf39\x16\x1d~37\xd7\x8fN}_\ +[O!N\xbdB\x1dF\x1eK^E\xbeo\xd3\xcd\ +`\x14\xa0\xf1G\xea\x00\x13\xe0\xd1n\xbf\x0e\xc6\xc7\x0c\ +\xef\x87\xdeO\xc3S\x83)?\x06\xa4\xe2:\xd2\x18\xe5\ +\xba{\x9d\x86I,\x8dC\xe7\x87\x01X\xc0\xf8uc\ +r4\xed&E\xa1\xd4\xa1\x0d\xcb\xfd\xe4\xb4\x11\xb7K\ +(\xd2\xeb\xd5\x0ao0\xbf\xaf\x16\x0as=M\xc5o\ +\xe6U\xa4\xd7\x7f(\x8aY\x16\x88\xd1`\x7f\x85\x13\xc6\ +\x7fy!\xefTu\xec\xb9\xc0F\xee3^xU\xd5\ +\xb1\xf3\xf8\xb7\x8c\x00]^LP\xa2\x83\xa6\x03\xf4\x89\ +\xca\xfc\x81\x8e4\x9dq\x108:\xc4,\x10\x0a\x07o\ +\xd8\x98\xd4\xa4t;w\x944\xac/wz\x00\x14\xb8\ +Qv3\x0df\x01\xdam\x16\x1c\x05:\xd4\x9a\x1e\xd5\ +;\xc6\x1e2\xce\xa4_(S\xb8\xd1Y\xa13\xe5\xc2\ +#(\xc1t\xd21\xef\xe9#`s\xba\xa0\xa4\xb0\x84\ +Q\xf0\xb8\x13`\x1e\x80\xdeF\x10\x7f\xee\x8e7\xda\xb3\ +\x98\xb2\xc0\x03\xcb\x03o\xc9\x02\x89Ml\x00$\xd20\ +\x03\xfc\xa0E\xc7ruE\xb5\xb1\xf29\x19\xefeW\ +\xf4\xa0p\xed\xec\x9f\xbb\x8b\xaf\x17\xd7\x03\xcf\x84>\xb0\ +\xc2\xfb\xe0\xfa.\xedBgY\x17\xfc|?\x9dmo\ +\xf4q\x90mn*\xfbB>\x10\xfc\xef\xc3u\x9eD\ +\x10\x0f\x006\x12\x5c\x96\xd2\xfcN\xe3\x8d\xfb1\xe6\x8fPLm\ +&\x1c@'\xa6L\x06~\x02\x18\x058\x86\xd1@\x07\ +\xe99E\x01\xfa\x9aY\x15\xe9\xf5\x96\xe6O\xcd\x9f\x0a\ +01\x5cVQ\x5c\xfbc\xec\xa4\xc74b\x1e\x98\xcd\ +\x7f?P\xeeC\x00P\x06\x96\x9b\x0b\x15UAb)\ +LP\xc3\x01<=v-\xa6\x95X*\xd1\xfcBQ\ +\xad\x7f\x03\x9d\xed\xc7\x15\x95\xbb>\xde$\x14\xfa\x9e\xd2\ +\xd1\x5c\xad\xf0x\xbb\xeb\x8a\x14\xa0\xfd\xb0\x22\xbd\xde\xaa\ +H\xaf\xff\xddy<\x84\x19%\xfb\x01\xd3\x1dzT\xdb\ +\xd8\xc7\xbc\xce\xda9\x14i\x1d.\xa7H_\x7f\xa2\xfd\ +d\x9b\xce\xafvOE\xe94F\xc7\x9e<\x86\xf1\xb3\ +h\xcf\x01$\xc5@[\xb92\xd9\x9c7\xb7\x0e\x82\xb1\ +3\x99Sa\xcd\xb5:\xfc'\xa48\xbe\xbc\xaf0\xc1\ +\xa33n\xa0\x224\xbd\x00\xd5x\xce8\xcf\xcd\x0c\x81\ +\xd9\xcc\x5c\xdb\xb6\x92\xfe`\x02KG\x0f\xe6\x89\xcd\xb5\ +\xc2\xcc\xd2\x05xP\xb8\x19\xb3\xe5B\x0b@&\xa6\xb7\ +\x00\xf0\x93\x7f\x92\x8f\x99)\x1a\x0c'(\xd7\x9a2t\ +v\x01\x8e\xe2\xb9`N\xbc\xf7\xf3\xf8\xfc\xa2\xca\xcb\xf3\ +g\xff\x14\x07\x94\xf1\x85\xf9\xb4\xdd\xa0\x92\x9ap\x0e\x1a\ +\xd0\x8c\xb1\xc9\x14\xbeP\xae\xb5\x1e\xbeR\xc6X\x02\x8c\ +f\x09\xed|\x15\x15\x9d\xcf\xc5\xb8?\x99\x00\x1eS\x80\ +u^E\x8ca%\x7f\xa3\x11h\xc6H0\x05\ +\x90x\xb8^\xa1\x81\x12\x9ap3)b\x1c\xb1=\x94\ +\xf8\xbdLOi\x0fUTSQ\xe6ST\xd25\xf2\ +1\x1axh\xdf\xa9o\xcc\xac\x0b\xc6\x0dR\x07\xa4#\ +\x98\xf4RP\xd3\xd0#\xdf\xa3@f\x9c\x1e\xf5\x18\x12\ +R$Q\x14\xf2\xdcW\x004\x8f_\x8d|\x84B\x9a\ +\x863\xd37\xf0\xe0\xa1p&\xef\xf4\xd8\xd8\xf8\xfe\xdf\ +\xf5\xcc\xc2\xbd~\xc2\xcb\x81\xebB\xc7\x1cF4\x80\x00\ +\xff\x8e\xf5\xde\xeb\xd4\xc7z%O\xc5<\x94\xeb\x89w\ +]\x9f9\x82$\x1c\x89%\x0d\x01\xbc\x17\x18\x8b\x08c\ +\x87\xf7\xc1\xcf\xe1\xf7s\x1f\xc9\x17\x19\x83h\x001\xa6\ +\xfa\xb9A8\xca\x07\xf2\xefMI\xf9H\xe5\x06,-\ +Z:\x98\x86\xbfH\x91.\xe0\xf0\x87\x0a_\xf0?\x1a\ +\xe1\xf8[5w\xd2c\x03\xa1\xf0\xe16K\x07$L\ +\x098\x10t\x9c\xcf[\xdd\x90\xb9\xb2M\xcd\x94\x86P\ +i\x0cU$`\xccS\xe4\x83\xb93\x1b&V~\x1f\ +a\x06\x08\x92\x07B\xe2\x05M\xc7 \xc6o`J\xe5\ +y\x89\x81\xac\x00\x1c\x90P\xad\xe6\xce?\x0c\x02\xccP\ +\xa0v\xb3\xb0q\x07\x85\x8aHA\x09\xc2EbN\xa1\ +\xcb\xef\xa3p\xa2P\xa3\xf3\xfd\x92\xe7\x113\xd6\x82q\ +.\xb8\xb0C9\xa7\x90\xa6\xd3\x0c\xc3\x81\x05\x8b\x86\xea\ +\x8a\xc9\x95\x93+\xab\x84e\x86\x0b%\xcc\xf1\xbc\x11\xa5\ +4\xbd3![\xdb\x14+6\x5c\x12\xac\x05\xba\x0d2\ +\x12\xab-\xba\xf1)\x91\xa0Q\xf8\xf1\xef\x00^\xf8\xbc\ +t\xc0\xf9{\xfe\xe3\xfd\xf2\x00Q\xd0\xb1!\x81\xe4r\ +_W7@\xb0\xbc\x0bv\x80\x16\xae_\x1f\xf8\xc1\x83\ +`q\xcf\xa5_\xd2\xc0\x00\x1au\xee[\x9fR\xcf\xef\ +\x07\xa1\x5c\xc5\xdf\x87\x84a\x0d\xdf\xcf\xf5\x5cx\x00\x5c\ +P\x88\xf2~y\x1f\x00\x0c \x91P\xe2\xd9\x08|0\ +\xd0\x11`>7\x7f\x1f\xda]Lr\xfc\xbc`f3\ +\xb9OQy!\xf0y\xe8\xdc\xd09G\xa3h\xc0h\ +\xb0\x91\xa2\xeax\xbb\xc3\x1a\xe3\xa0<\x8d\x831N\x9a\ +\x12\xafNix\x07\xd0!\xe2s\xfb`U\xbf:w\ +\xac\xf1J\xa0\xc0\xc6\xec\xc8\x89nt\xf88\xd0\xb9\x8f\ +}\x06\x07\x92\x1a\xae\x1b\xeb\x04\xe0\x08$\x94u\x09\x83\ +\x81\xc2\x86\x8e3\xdaX\x0e\xea=rLM\xde\xa2\xa8\ +\x0aA\xe6\x82\xe3.l\x09NJ\x17;\xb3E\x8f\xe1\ +\x89\x0e7\x07\x0d\xc0\x13\xae\xc3\x14\xe4Hu\x90\xaaP\ +\x90\xa3YuG \xc6E\x02\x04\xb1\xaf!A!q\ +\x01\x105\x956\xfd]\xde/D\x04\x16\x15\xb8\xf9\x9e\ +\xa2*\xfc\xd87\xd9\x9f\x0cl\xb0\x8fQ\x90\x00\x8c\xf0\ +{\xc23\x80\x04\x90q\x85H\x1d\x98\xdaa\xa6B{\ +\x99\x22\xbd\xaf\x83R|\xc9\xe7\x84:\x8fK**\x80\ +\x13\xc9\x08\xcf\x1b\x07\xf9\x96\x8aj^6\xc0$TR\ +:@tL\x00\x80\xfd\xbe\xc2lv\xd7\xec\x0f\x1dR\ +\x0b\xe6\x9e\x93 \x0dwVTT>K?\xb2\xeb\xfc\ +I\x15 \xadD\xf7{~n\xb6\xf3\xbe\xfcPeF\ +gSI\xbc&&\xdfTT\x9d\x12<'~\xda\x15\ +\x16\x83\xcf+J\x82\x11c\xa3\xa0x\xffl|\xf6\xf8\ +\xec\xbc\x9fv\x12:\x17\xda\xa3\xfdG\xfb\x8d\xf6\x9b\x9a\ +\x92\xf7\xbb\xdc\xdf\xa1\x80\xe3\x09\x93\x0a\xdb\x14\x95\x84\xcd\ +\xde h\xe3\x9b\xe7\x9a\x7f\xe7i\x00\xf3Yzq\xf6\ +\xd4\xcf\xb2w\x85\xc7\xc3\x85y\x9d\xa8\xf2k\x97NV\ +s\x8d\xa2*\xf0\xc5\xb8\xfb`%Q\xf0~\xd3\x1c\xd1\ +\xad\x1b9\x1d\xc8\xeb\xa0Y\xb6Y\xa6Y\xa6x\xc6\x00\ +$\x0c\xe7\x1f\xce7\x9c\xaf\x9c\xc7\xed[\xac\x11g\xbf\ +@:h\x89P\x14DW\xbb\xf3{\x84\xbdx\xacq\ +\x9e\x9a\xb5\xdb\x17\xe8$\xca\xd2R\xa6\x96H\x19c\xfa\ +\xc4|\x8aBa\xe7\xf9\x18\xfeT\x91^\x17UT&\ +\xc0\xffT\x94\xb9\xe7\xcd\x92\x8a\x02$\xe0\xc1\x92\xcd\xd6\ +\xce\xa9\xceg\x9f+\x5c?\xcc\xe2&\xb3*\x0a\x10\x0b\ +\xd0\x80\x04\x01fHP\xea1YC\xd2\x04\xc3\xa87\ +U\x06\xc6B:\x83:-\xaa\x81\xeb\xf1)\x8aB\x81\ +\xa7\xa3\xd7n\xeb1w7*\xd2\xeb\x99\x0aw\x8a\xce\ +/\x89f\xfbsE1\x0bk_P\xa4\xd7\x1f*\xaa\ +\xb1\xa8\x96&1\x85%\xbc$\x9cO\x06E\x99\xf1o\ +\xafQT\x85\xb5\xcf\xaf\xe1\x95\x0a\x03\x13w\xa7\xdf\xf3\ +\xaf\x14\x8f\xb8s\xf6\xa4\xbd\x136-@_\xfb9E\ +\xe5\xa6\xaf]w\xc9\xea\xf3`J\xed}'w\x86\xcf\ +u\xc2\xfc\x07\xaf\x8f\x8f\x1a@}\xa6\xa2Z\x9b\x91\xd5\ +\xde\xadH\xaf\x7fU\x14fY\x8cw#a\xc7\xa3\x08\ +\xe9%\xf9\x0e&\x8fH\xae<\x05 \x98\x08\xfe\xbe\xc1\ +\x9c]C\xa5\xf9\x91\xa2\xa2\x0c;_l\xafm\xafk\ +S\xe2>\xf3g\x8aJ\xb2\x87\x04\x02\xa6\x83:\x8b\x8f\ +U\x05\x13T\xf6\xc7\x14\x15\x03\xc1y{\x00+\x96:\ +p\xbe\x04\x00e\x93\xb1voE\xf1\xfc\x82A\x07\xe3\ +\x85s\x81\x02\xa3\x9d]\x91\x81\xa6\x14\xe9\xcf7\x16\x07\ +*\xad\xc7\xaf\x8d\x8f\x18\xa7\xe7\xb6\x9dG\x91\x01\xe2N\ +\xe2\x01\xe3\x8d\xf1m\x00\x00x[`\xb2H\xdeH\xc1\ +\x09E\x1aww\xa4\x8a\x8cY4\x00\x16\xe3'\xf10\ +2\x107up\x8e\xa9\xc9\x19\xfe\xbcL\x9b\x81jm\ +o\x81\xf0\xc0\x22\x9f\xbf\xd8\x9e0\x8f)\xf2\xdc\xf9\xce\ +\xa3\xc3\x8d\x84\x18_\x8a\x84\xc0\x92\xe9\x94\xd3t\x0c9\ +\xef\xf3\xe11C\xc1H\x9e\x88\xd4\x92B\xd6\x85iH\ +\x87\xbc\x0eC\xba\x86y1\xc0\x0b\x1au\x18\x0c\x14\xb6\ +H\x22\xdc\x09\x9el\xaa\xa8<\x03\xecq\x10\xf9)\xf5\ +\x1a\x0d\x00\xde\x1f\xf9\x16&t\xe4%0\xea\xc8\xcfh\ +D\x91\xc7\x91O\xd1@\x86\x11\x04\xc3\x85\x82\x9e\x82\x98\ +\xbc\x1b\xc0\x84\xfb\x0d#\x80<\x8dF\x1by\x05@\x04\ +\xd7\x15\xd3J{!D^H\x9eIc\x03\x066y\ +\x07@\x04\x854\x9f\x13\xa0\x88\xeb\x02\x93\x17\xc0\x03\xa9\ +\x04\x8c\xcf>\x93\x07\x00\x81F+\xd7\x07\x00\x0c\xf3A\ +\x00\x08$\x10?4\xd3\xf2\xa6\xee\xba\xd3 \x8bF\x8e\ +\x1b\xb2\xe1\x99a\xcf\x88hH\xf2\xeas~\x84YP\ +\x14LN\xc4&\x17*\x9c\xd8\x9fW\x15\x0e\xdc\xf8U\ +r)T\x10\x96Zk\xbeR\x95\xd8R\xe8\xcf\x9a\x8f\ +\xe8RPQ@\xb3@\x8c\xfc\xe4\xc4\xe5v\x9b\xd4\x1c\ +Z\x8dK\xe1\x81\x86\x1aC\xc7\x82\x0b\xe6\x1b\x15\x1dR\ +\x16>\x9dg\x106\x0a\x7f<\x08\xd8\x08@dy\xdf\ +\xb8>\xdfn\xc4\x0f\x97_:vt\x1ap\x036\xc2\ +\x16\xc8\x177\x94\xc2\x07j6\x05?T$np\x8c\ +S3#`\x1e\x17l\x5c/:q\x98DP\x18\xb0\ +\xc0y\xf0\xfa\x9av\x16\xaa\xa7\x00\x80\x08C\x01\x8d\x8e\ +\x99\x11\xa1\xc1\xba\x06\x10\xb8\xaeP\xae\x18Sf\x0du\ +\x5c_\x0a^\xbe\x96\xc5\xe3\xecUG\x9a\x02\x8d\x8d\x9b\ +\x04\xbe\xc7p\x88\xf5\xc7k\x7f\xc3\xe0\x81\xe1\xbe\x83\xa4\ +\x16\xea\xfb\x82\x83\x053p\xd3\x01\x01\xb3\x98i\xe0\x8d\ +L}\xba|]\x01v\xb8\xde\x14\x1e$\xfaP\xf5\xb9\ +/\xefu\x87\xf7\xb5\xbe\x8e\xfew\x01\xe4 \x91\xe0\xe7\ +\xf2\x9cP\x98p\xbd\xf8{\x9e\x13\x18#h\xf5)h\ +8\xd8`\x0a0E\x81\xebB\x07\xe3DE\xa5Y\xc7\ +u\xd5\x05\xf2\xe4tE\xd5\x89\xa2\xb3\xdbc\x16\xc4\xf5\ +\x04\xc0\x01\x88\xc2\xd4\x84N\xd5\xdb:O\x0a\x12\xd1\xa0\ +\x9a\xe2\xbd\x00\xd0\x01 \xd6Gj\x91\x18\xd8D)\xc6\ +$\xc2 \x81Z\x07U\x1ef\x0b\xcf?&\x87\x00\x00\ +\x1cd<\xb7t\xfc9\xe8\xb9\xbe\x8c\xe5q\xc2\x1d\x94\ +Z\xc6\xaai\xec\xe9\xc3\x15\xd3\xc4\xee\xfa\x01\xb80\x9d\ +\x00M/\x94\xeb\xc7|\xe0\x00\xfc\xf1{90\xed\xce\ +\xcb\xc6\x8cF\x11W\xea8\xd8]xF\xa7\xc2c\xb6\ +\xa2\xe0\xe7\xb9\xe2@\x85\xc1\x02p\xc9\xcfy\xd4\xfb\x00\ +\xeb\xc7\x07P\x98HQxp?\x19\x83\xc4\x5ct\xbb\ +\x95G\x87\x1d\xaf\x02u\xea\xd3\xbe\xd1\xdc\xa5\xc8\xe3=\ +o\xcd\x9an\x9b\x9aa\x0e\x15\x94M\x0eP\xff\x9e\xfc\ +\xb4,Wu\xd0\xd1\x94\x02`06\x12\xb3G4\xdb\ +P\xd8\xefVT\x80\x0d\xc0\x05\x1aO\x00G\xf6/\xc6\ +2\xea\x1c\xd8\xca\x09\xc29\xd5b>\xfb\x9e\x8aj\x9d\ +\xad\x9dw\x98\x8e\x81vi\xd1\xe4\xa6\x04\xfd\xda\xf6\x9a\ +\xaap\xf5\xfe\x10\xf7\x13f\x0c\xe7\x03\xc0\x00\xd2\x19\xa4\ +g$\xb0'w\xde\x12\xdc\xbf(h\xbe\xd9I\x08R\ +\xa1\x9d\x22m\x93\xe7*\xd2\x9f\xcf\xab\xa8\xcc\x8aLY\ +\xee3\xa2p\x1b\xe6\xba\xe6\xd3\xa2\xb5w\xc5oJ\xc7\ +?L\x1e\xcd\xd8k6J\xf1\xee\xd2\x09l\xde\xa8(\ +\xaf\x01\x80\xfcV\x91\xae\xdb\xd2\x8aL\xadOQ\xae\xff\ +`\xa7n?b,'\x8d\x81\xa0D\x1a\x08FKO\ +b.\x87\x89\xec1\xf1\xa1n?\x08\x0a\xf2|N\x94\ +m\xe2Ha\x19\x09\x22SC\xae\xb2\x19\xe8y\x0a\x8f\ +\x87L\xd7i\xb8\x99\xa20Y\x86\xf7(J\x1e\xd1|\ +Y\x91\xfe\xfc8E\xfaz=E\x19\xb3*^\x86\x98\ +\x19Q\x98\xdf\xa9\xa8\x12;\xf2#?'\xed\x19\x8a\x02\ +\xb8\x04S\xd2\xae\xfa\x93\xfd\x15\x05\x08\x98y\x85\xa2\x9a\ +fb\xe6K\xb8G3\x1et\xc3n\xfc!\xe7\xf9d\ +K\xbb\x89\xfb\xb9\x8b\x82~\xaf\xceU\xbe\xddPQ\x0a\ +\xb4\x0c$\xa5\xfd\xbb}\xbf\x22\xbd\xae\x9eb\xb5\x8ab\ +\x8f\x04\x12\x13a\xc68\xee\xa8\xa8\xcc\xb1\xcc\x00\xcc\xf3\ +\xe9g\xa9\x0a\xc9\x1b](|\xb6\xa3\xbc\xa7O\xdf\xcd\ +#\x7f\xb0\xcbk0c\x0b\x0f\xa9\xe9\x1dC+\x15\xf5\ +\xb9\x13*\xd8>\x03\xf7\xec7\xd3\x14e\x1f\xcb\xcc\x88\ +\xd5\xdc\x99\xfcSit\x00$\x8e\xffKa\x09\xd9\x0d\ +E\x92\x9aO\xd7[\x8aI[P\xa9O\xceO`\xc9\ +\x1b1\x1b\xa3@D\xdb\x8b\x04\xcb\x92\x84`>\xe1\xad\ +\xb5\xb1\xa5?O(\xaa|\x8ds\xc3\xc0\x05f\xacx\ +S\xe0-\x13\xf9\x09\x0c\x193u\xa3\xb0\xb0+}t\ +d\xd1nS\x888\x8f\xe0\xf7\x87T\x01\xa9\xc5\xca\x8a\ +\xc2h\x9b|WQM\x058^Q\xf6\xd7,5y\ +\xc4\xa6\x8d\xe9ynWRTS\x11\x00\x8a\x1eL\xf1\ +O{\x87\xccSy(X\xfa\x06\x13\x8c<%\xe6\x98\ +\xfb\xbc\x0f\xcd3\x9dX\xf6y\xea\x06\x1a&t`1\ +\x7f%\xef\xc0\x84\x18\xef\x1b\x03\xcdq\xbe\xc1\x00\xe0<\ +\xf1\xdf\xa7r\xbd\x9343\x86\xf2\x18_\x0f\xa8\xf8\x06\ +n\xd9\x1f\x82y\xe6u\x13\xde\x11+**\x09\xd0i\ +]\xe3\xa6\xdf\x80\x0c\x13H\xcew\x0aR\xce\x01\x18\xb3\ +\xe4\xc9\xe4\xe3\x06\xa8b\xec\xddGm\xf6\xf7\x8d\xc9Q\ +\x92l\x07\x80\x02\xe0A\xa3\xc6\xf9m0\x89X\xcf\xaf\ +\xf14\xb73\x14\x15U\x9c\x86\xdd\x13=\xa60\xfb\x1b\ +\xaf\xe4\x1d\xfc\x07\xb3\x01 \xa3\xc7t\x89\xff\xa8o\xa0\ +\xec\xc30\x80\x99D\xe1O\x81\xdf\xff\xf9\xe4\xd30\x83\ +\x0d\x18\x07\xa3\x80\xe7\x19\xc9\xab\xf3\xc0\xb8\xeeL\xd5\xc1\ +\x84\x9c\x8e\xbd\xf3Q\xbc{\xa2\x90F\xaaI}\x03`\ +\xc6\xd4\x16~\x1f@\x05&\x844\xa8a8\xb0n{\ +ub\xdcg\x00D\x00\x17\xf2\xc0\x9b\x0c\x90\xdc\xde]\ +\x97\x90H\x00Hr\x9fx>\xd8\xa7(\xfc{\x12\xe3\ +Qv\xbb\xdf\xdf7\x1am\xcb\xbc\x95\xcb*\x9d\x1b,\x1b\x00\x0b\x8b\xf5b7\xe3\xf0\x14\ +\xe0\x01\xe7\xfb\xd8\xc8y\x00\xf8\x9a\xc2\x94\xdfC\x81\xca\ +F\xc1\xd7}\x13\x0f\x00\x01\xfe\x9c\xfb\xc5\x06\xca\x86\xc1\ +\xe7\xe1`\xa5PG\xba\xf1Ak\xcfW2\x02\x07\x80\ +\xc4\xba\xa6\xc0\x7f\x93\x91\xe0\xe2}\xd0\x8d\xa5A2\x80\ +\xe4c\xf3\x00\x10:D\x95y\xa8\xee\xe8E!\xc7u\ +\x07x\x82R\x0ds\x86\xce\x82\x0f\x880\x9d\xb4y\x1d\ +\x14&Y\xda\xc8\xd4&\xae#\x9d\xf3~\xc1\xcf+\xd7\ +\x9d\xf7\xd7\x1fK\xc8\x7f~\x9f\x14h\xcc#\xa7C\x15\ +\x089\xff\x8eD\x07F\x00\xd7\xc9\x85<\x07ML1\ +\xb0\xdb~\x00]\x98\x8a\x9a\xc2\x89F\x981fA\x89\ +c\x0c\x13H:\xf3\x98\xd1\xc43v\x87\xce\x5c\xdf\xac\ +\x85\xc4\x81\xfd\x84\xbf\x87i\xc4|k\xdc\xf2a\x02P\ +\xf0\xa3I\x07xt\xe7\x80\xc4<\x12W{\x17\x04\xa3\ +\x03\xf3>L\x00a\xee@\xb1f\x7f0\x90\x81\x0bu\ +\x98\xd0\xb1\xa1s\xa0\xf2\x1ca\x82\xc3\x7f~\x8e&\x07\ +M\xbe89\xa8blaV\x86\x07\x04\xe6\xa7$\x98\ +\x9bg\xd1Ky\x9e\xaci\x9b|{\xf2\x9dl\xfa\x85\ +\xfb\xaf\x19\x04x\xa0\xc4xB\xb4\xd9\x06\x04\x9a}\x14\ +\x95\xa9\x9e5\xa5\xd1\xb9d\xcc\x17\xe7\x0e\x9f\xc3\xcc\x0c\ +\xc6&F'\xfd,Ee\xbe\x88I\x1e\x89\x8b\xe0\xac\ +\xd7d*\xfa\xf1\x99\x19 \xe6\xc7>\x95;\xba;Y\ +\xed\x9fS\xfc\xa5\x98\x9e\x0dnLqC\x01\xbc\xda?\ +(4\xf9\xb5\xa2\xca\x8b\xe9\ +\xbc\xfb\xbc\x0c\x8f1~\xbf\xaf\xe7d+\x9b+\xaef\ +\x93?\xf22{K\x05\x83\xd2\x1a\xfc\xf0\xfc:\xcdf\ +\xda\xac'\xf2,\xc6\x08n<\xd9h\xb2QaR\x06\ +\xe3\xcd\x92\xe9(\xd4\x00j\xc9{1\xb9\xe6\xe7!-\ +\x04\xd0G\xc2a`\x7fr\xca\xe4\xe4\xc9\xc9\x95\xb7\x83\ +\x99\x1d1\xed\xc3\xf5\x07\xd7m\xf2ZE\xc5\xb8\xc0\x94\ +\xd0^\x1a1e\x8b|\x90\xfb\xc0\xfb\xa1\xe1\x03#\x82\ +u\xdd/\xfc\xfb\x8d>^i\xdcY\xc2\x15@\x10\x8d\ +\x1b\xef\x8bQ\x80\x93\xaf\x22\xcd\xa5\xb1\x05s\xd2\x8c\xd9\ +\x00\x80\xe8\xc8\xf3\xef\x90~\x93?\xdb[(\x0ad\xd7\ +\x09\xec/\xe1\xb1\xc3}\xe1\xe7P\xcfQW\xf0\xca}\ +\xeb\xbdF\x81\x0e@G]\xc5z!\x8f\xe3\xdf\xf5\x81\ +\x00\xea[\xa6\xf4\xc8\x13\xe7\xc7\x15\x00\x84\x04\xdf^v\ +\xe4\x89\xc1\x08\xb0\x07T\x5c_<\x89\x0c\xc8\x8d\x22\xc1\ +\xa3\x13\xc7\x0d\xa6\x90\x05\xd9\xa1CHB\xdf\xe4\x92\xab\ +\xa3\xfc\xd4TU-\xdb\xf5}`\xaf_\x15 \xfe~\ +\x0e\xa0\xa0\xa2\xd3\xf9\x84\xc2\x8d\xe9\x1a\x14^\x1e|\xb4\ +\xcat`1;\x00\x19\x01)\x041\xe1k\x0al\x8f\ +\x11\x8bB\xaa\xef\xce\xce\xe7\x9d\xe9\xcf\xcfu\xc0t\x0c\ +m2\x0b\x05\x8d'\x9aj\x90Dn\x1c\x0fH\xff\xc1\ + A\xe3\xc1\x01a\x03\x00\xa10]\xc7\x1d[\x17\xfc\ +!a\xe0:-\xef\xcfIa\x05\xd0\x01u\x84B\x0c\ +D\xf1)\xdf\x1f\xa8)w\xb9\xc3\xe8\xc2\x1a7\xca\x18\ +\x87\x06\x80CaHg\xd9\xdaf\xc6\xac\xc5\x83\xc1\x83\ +\xc0\xef[\xd0n\xd8\xac+\x16:\x0b\xbfO\xed\x070\ +\xe9\x9bs\xf0}\xdc\x97\xa1\xbf\x1fO\x036\x18\x0a\xfb\ +\x85\xbd\x1e\xe6\xf2\xfb\x00\x08\x80\x19\xc1\x7fs\xf4\xfe=\ +\xaf\xb3\x18\xd8\xa0\xb0\x02\x00\xc0|g9w\xec\xe9T\ +\xf7=\x1b\xb8\x9f\xdc\xdf\x15z\xe3\x15\x01n\xf8{\xd6\ ++\x07\x96\x0b\x84p\xf7\x849\x80+6T}\xc6\xa6\ +0\xff\x93\xc2\x1f\xa4\xb7gZ\x17\xef\x97\xdf\xcf\xfb\xe2\ +\xfdr\xfd\x00\x84\x00\x8ex\x7f\xac\xab\xbe\xab.f6\ +\x1bu\x07\x1d\x1a\xc9\xa0Tq\x1d1\x83\xa3\x90ub\ +\x18\x1b\x19\xa6H\xb8\xddC\xf9\xf3\xfbE\x0b\x1c\x1d|\ +:\x9a\x98\xc4Y\xe3\x97\xa9\xdbr\xe5o\xbb\xb9\xe2\x00\ +$\xaf\x02\x98\x98\xe7ji\xcddyEe\xe6\x87\xb9\ +\xd2cUg\xfd\xc5B\xa5\x8e\xeb\xc2\xfa\x02\xd8\xe1`\ +\x82Z\x0f\x03\x02F\x01\x1e\x1a6Q\x0bm\xd8Q\x1d\ +r/%\xaf\xb4\xbcQ\xb8\xb9\xd3\x83\x99jh\xf9\xbf\ +o\x84\xbf\xb83\xbf\xf2\xf9\xe6yD\x1bf\xd7\xfa\xc9\ +\xdb\xa4\xba.\xa6]1\xfd\x00\x00\xcc\xeb w\x1c7\ +\xb4\xeb\x7f*\xa8\xda\x0dRl\xe8\xc4~\xb6\x8a\x0a\x07\ +p\x80K>\xe3\xea\xd6\xf4\xd8\xc6\x8d\xbb\xf5\x9a\x0b\xc9\ +=\x0bP\xcb:n6ST\x0c.wTb\xec+\ +\x09\x12\x1e\x15\x8cg\xb5\xe7Fh\xddm\x92\x94\xef\xfb\ +\xd8&\x8e\xb7T\xd3\x14\xe8\xb0\xb9cI\x01\xd9n\xa5\ +H\xaf\x8f\xa4\xf8W\x01b\xe8d\xe7\xe3\xf3\xbaR(\ +\x0d\x16\x11\xd9\xd9\x8c\xa1\x8d*\xb3,\xe6Y\x8b\xd1\xb3\ +\x5c\xd9o&CE\xeeXfs0\xb4\xa0\xb1\x8e9\ +\x8f\xd8\xf7\x9d\x80\xf1>Sr\x99M\xfd\xda\xf5\xba9\ +\xef\x83];\x93\xd3\xf6^E\xfa\xbe\xcf(\x0a`F\ +a\x8d\x869\xa4@\xcc\xe5f\x5c\xaa\x13\x8a\xdc\xd9\xdf\ +\xa8$:\xc1\xbc\x10E\xfe\xf0B\xedmNUT\xde\ +\x1f\xf6\xb0hno\xeeh\x04\x00\xcc\xae(\xc0\x09\x89\ +g\x8c\x13\xfe\xa1\xa2h\xec\x87\xcb(J\x22\xdb\xbc_\ +QIY\xe8`\xba\x83\xd7\x9c\xa2\xa8\xbc\x17\xfc\x9c\xc6\ +\xf89S\x9cI\xe8BZdm}P\xfb\x9fP\x94\ +\xfd\xa9\xf9\x9b\xa2\x98\xee5\x87(\xca+\xcf\x0d\xeb\x1d\ +\xd3<\xb4\xa61udAE\xfawW**\x8d8\ +c7]H\x02xN\x16QTTSk\xa5c\xda\ +\x01S&\xfc9\xf1*@\x03\x0eu\x99}a\xe6\xe7\ +\x14e=\xc4\xf3\x81W\x0f\xccF$V\xad\xcfC\x00\ +H\xcc\x98\x17L\xb1P5\x17\x9d\xf1ytL\xe9\x80\ +\xc1L\xa3\x01\xf0\x90\xa7\xbax,)\xa6\x834\x0aB\ +{\x8a9\x16\x9eP\xbe~\xed\xdf\x14\xe9uKEa\ +^\xc5\xb8h7,&S\x96\x14\x90g\x01h\x0cr\ +)\x1a\x8c\x0b\x98V\xf1\xbe\xc5K\xbb\xbfj\xf8\x00\xf0\ +\xfeV\x91~\xee2)\x96\xad:\x80\xaf\xcfv\xca\x92\ +\xcc<'\xc9L\x98\xd7Q\xc8\xd3Yw\xc7\xbc\xbdE\ +Q\xbcM\xa2c\xcc4%3\x9f&\xdb)*\xa6\x18\ +\x00\x00\xfb\x81\xa7M\x91\x17\xb7\x07)\xd2\xeb\x07\x14\x06\ +\x22\x97\xae\x12\xfe\x05\x14\x15\xe3B\x05SZ\xc7\xed\xd7\ +R\x1cQ\xf2\xe0\xf6\x9e\x14\x7f/yJ\x98\xb9q\x1d\ +\xc9\x1b|\x8er\x9eG\x03l67\xf8\x0c\x5c\x847\ +\x90\xcd\xe4\x02\x800 \x1f\x85$\xe7?f{\xe4=\ +\xef6\xc3\x0f\xad>@\x15\x85\x1ay%\xeb\x96\xf3\x9b\ +\xbc\x82\xbc\x8c<\xdb\xf9\x12\xe6\xb5q.2\xae\x17\xe6\ +/\x051\x9av:\xe5th\xf1\xbc@C\xcd\x14\x05\ +\xea\x03:\xe6\xe4e\x17\xba\xe3K\x81\xcc\xe7\xa4qs\ +\xb0\xa7\x09aR\xea\xf1\x8eQ/!\xbd\xc5\xfb\x82s\ +\x95\xba\x81|\xdau\x10\x05;\xd4}\xc6\x1f\x07\xf3\xc4\ +L\xc3\x00\xa6\xec\x0d\x14\x0c1\xea\x22L\xc0W\xef\xd6\ +Y\x98f\x02l\xe15@\xc3\x06\x86\x0f\x80\x08\xd4|\ +\xea'\x1a(\xd4\x0b4\xcc\x5c\x87p\xee\x87\x06\x1e\xa0\ +\x09\x09&\x8ch\xf2\x16\x00\x82u=6\x9c\xcf\xcfT\ +\x00\xf2.\xdeG\xcf|=\x1aq\xbe/\xc1(\xa0\xf1\ +\xc3\xfb\x06\x08e_c_p\xfe\x19\xf7\x1fIB\xdf\ +\xec\x9e\xfc\x84\xffx\x9e\xa8\xc7h\x18\xd3\xf8\xc1,\x10\ +\xe6\xa9v\xa5\x19\xf9\xf7?\x90\x7f\x7f\xdd\xa9\x7f\xa6j\ +\xbc\xc0h`,\x22\xcc\x08\xeaS\xcc\x9e\x01,\x5c\x1f\ +L\xbe\xaf\xa8<\x87\x18Si\xe0m\x84V wj\ +W\xf5Bo\xab\xb1\x1aN|\xa33\xc6\x85\xf7\x0d\xcb\ +\x08\xdb\xb6\xde`\xef\xab:\xf8kd\xbf\xfcR`\xf4\ +\x0b\x0d6\x02\x0a\x12\x90\x1f\x0a\x7f\xa8+\xb8c\x92\xf0\ +Sx\xd2\xc9\xe7\xf7\x01L\xb0\xf0\xd0\xdc\xb3\x80\xe8\xf4\ +QX\xd1a\xeb\x99\x07\xa5\xc3\x91\x07\xaf;X\xb8\xd0\ +\x98nPP\xf1\x1f\x00\x0a\x85,\x0f\x00\xef\x87B\x81\ +\x02\x91\xdf\xc3\x02\xc7dl\x0dS\xec\xfa\xd4\x9f\xbe\xa6\ +~\x0e?h\x13\xff~6\x92\x7fx\x01\xdf\xec\x84\x1f\ +\xa0\x02S\x0c\xde\xc7\x22v\x95\x7f\xad\x01\x947\x1ax\ +\xf0\xf5\xe0\x01\x1b\xbc\xc3\xd7\x8d\x0d\x08\x00\x03\x97o\x0e\ +\xae\xb7\xfa\xf7\xd3\xd9/\xd4\xffW\x02)\xbcr\xbd\xd8\ +\xe0y \xd9\xd8y\x808x\x00\x00^r\xa2\xc1\xe7\ +\x1e\xf5\xa8Qe\xdaB\x87\xacs\xfd\xfa\x1dR\x80\x80\ +\x9e\x16\xe9Uc\xff^\xf0\xab\xa5\x13\x01P\xcc\xdbC\ +2\xd9\xa8\x01\xc8x\xe5~q\xbf\x19\xcfg\xd3\x93(\ +\xa49\xc8(\xa8\xfb\xae\xa5\x00^\xb8\xee\x03\x841\x96\ +\xd2cV\x02\x08\x80Y\x00\xd2\x8c\xb4\x01\xd7z$,\ +P\xaf\xe9\xa41\x0e\x13I\x02.\xb3t\xbaI\xd8\xa0\ +\xa2\xda%?\xc6*!90\xf5\x99\x04#\xb4\xfd\x1c\ +\x9c0\x88\xd0Nq\x1d\xb9\xee~\xeesGgs\x9b\ +\x10I\xab\xebi%\x99\xb9\xddV\x1d~#\xac\xe1\x8e\ +\x0b\x80\x84\xc4\x07f\x85\x11\x7f\x5c\xf5\xc3k\xc1s\x88\ +9\x18\xd1p\xc7\xbe\xc2\xfeCg\xca\x94\xf6\xc1q\x83\ +c\xd5YN\x9f\xfa\x8c\x8c\xac\x9a\xf2\x8f\xa9R$\x08\ +\xcc\x03f~\xbb\xcd\xb5x\xdft\xa2\xb9_\xcd:\x8a\ +\x94\xef\xdc\xa1\x09\xd5Y\xbb\xdcu\x84\x01\xb6\x18;\x88\ +y\x18@\x87\x7f.\x94\xf4@\xf0y.9X\xd6J\ +\x9fr\xad\xb2O\xb5\xd7\xa4\xb8\xbaP\x9b\xdb\xf7),\ +YZ\xd0\xebr\xe1bR\xd9\x1c\xaf(\x9aX\x12\xfe\ +X\xcf\xecG>\x981y\xcc\x09\xf62e\xac\x1f\xeb\ +\x1a\xe6\x0a\xe6jq\xbe \x15\xe2\x9c`\xbd@}\x05\ +01\xa5\x1d\x8akx'\xb8\xa3\x94\x7f\xdf\x89\xa6\xb6\ +\xff\xd0\x05\xd0\xbf\x0c$\xec\x9f~\xdd\xad)$i\x98\ +\x91\xe2\xbe<^5E\xe9Dg&\xce\xba\x150\xe4\ +D=\xb4\xff\x1a\x9f\xf8L\xc5D\xb0\x17F.\xa4\x16\ +\xacL\x1dM\xedF*\x11\xe6\x96HKp\xb3\xc6$\ +\xd7\x8c\x96f?\xb9\xe9\x14\xb3\xbe\xe80\x03\x04\x014\ +\x01\xe8aV\xb9\xe1`\x83\x0c\xe0\xb8c\xaf>z\xee\ +\xa4\x03\xec\xcd\x9bw\xb2\x0e\x08PG\xe2\xe8\x14\xdf,\ +\x9d\xef\xdci_\xb2tn\x07\x07+J\xc1\xa4\xbek\ +\xeeX:\xb1c\x0a\x00\x05\x13T\xd9fWEz\xfd\ +\xa4\xa2h\xefa,\xb4\xdb+\xaas\x9f\x8e9\xc0\xbf\ +%\x13\x8c\xd9k\xceTT\xd35\x18\xab\xb6\xba\xa2\x92\ +.-\xdf\x8d\xed\x8a\x0e=\x1d{\xdc\xd3/S\xa4?\ +_]a\xa6\xc8\xf1\x95\x96\x9b\xf3\x84\x0e\xa1\x81\x9c\xa0\ +\xa0{z\x01\xe7\xd3\xf8\xb7\x8a\x8a1p\x81\x22\xbd\xbe\ +CQQT}\xdf\xc2\x8c\xcf\x80\x02R\x05\xa6*\xcd\ +\xbcM\x91\xfe~\x07E\xa5\xa1w\xe7\x1d\xe6NL3\ +\xf1>\x1e\xe3\xc7\xccHd\x9c$\xda\xf2\xe6\xf5\x8a\x0c\ +\x84d\xd3\xca\xf6\x84\xb7MP\xcd=\ +f3\x80\x7f\xf2.\xbc\xa5\x98w\x8f\x97\x87\x99\x22\x91\ +\x871\x1d\x00\x86\x87\xcd*1k\xe4sb\x96\x0d3\ + $SH\x08\x0d\x94\x85\xe4\xe4K\x8ab\x1eM!\ +\x18\x8d\x16k\xe7\xc3\x83\xe1\xa8\xa9#\xf344L \ +y\xff4\xec\xa8\x83\xb8oH\x11\xe8\xa0\x03\xd0`\xf6\ +\x89\x04\x87i\x024\xb8\x5c\x98GG\x9a\xc6\x1af\xd0\ +4J0Q\x06 \xc0\xd3\x82\xfa\xa8\x9fo\x03\x04\xc1\ +X\xa0n\xa2`'\x8f\xa0\xee#O\xa4\x1e\xa1\xa0\x07\ +\xc80s7$F0\x11\xa8\x83\xf9y0\xd50\xe9\ +\xe3}S\x07\x22\x89\x05h\xf0ud\x5cg0\x03\xa8\ +?h\x98r]\xf5\xa7wW\x8c!\xa6\x11\xf1{\x18\ +7\xca\xfebF]\x8cE\xf6>\xcbt\x88Xw\xbe\ +\xce\xa3\x8c\x8c\xdcS\xe6\xb7\x86\xab\xb7<\xb3\x8f\xad\x0a\ +\x11\x95\xc9\x8b:\x91|\xaeJ\xdc\xa1\xc6\xd0\xc1\xa0P\ +\xa4\x10'\x91C\x8bM\xe7\x9e\x7f\xc7\x0d\xa6\xc3\xa8~\ +}MA\x86\xf2\xc1\x03\xdf\xef\xa8R\xd8\xf2>\xf9y\ +\xfc=7\x9c\xef\xe3\xe7\xe1\x9a\xbf\xa6)\xddl\xe0\x14\ +\x9e\xbco\x0e\xe6\xda\x13\xe1\xdc\xde\xdc\xd8\xa7+\xea\xc9\ +\xcb\xd1\xa9\xee\x12Y\x90H\xa8\xe6NL2\xd1\xec\xb5\ +\xd5\xe7^\xc6\xef\x97\xc2\x83\xf9\xf6H\x0d\xf8},\xec\ +\xff\xf8\xc1\x04\xe1\xba\xaf\xd3\x9cE\x018\xf6\x03\xb9\xb5\ +M\xde\xa0\xe2c~G\xc2Na\xc1\x03\xcc\x01\xf8\xb4\ +\x13\xb0\xa7{\x05>\x9d:>\xdf*=\x93\xb6b\xe6\ +\xd7\xbd\xf25\x0b\xb8h\xb9\xbaB\x9c\xdf\xc7\xc2\x07\x10\ +\x80\xe2\x86\xa9\xc53\x1d\x92\x19\x9dm\x10W\x1e0\x1e\ +t\x0ex\xee\x03\xbf\xb7\xff>\xf8\xbcl\x00\x14H$\ +\x9e\xcf\x86iFw\x9d\xd9\x08\x01\x06\xf8\xf9\xfc\x1c>\ +\x17?\x1f\xc0\x81\xaf\xf9\x0f@\x82\xe7\xa4\x0f\xb0 \xad\ +\x00\xc0\x00H\xe0s\xb1\x01\x02\x14\x00\xac\x01D\xb0\xde\ +\xfa\x7f\xbf\xd4+%\x0b!\xf9\xe0\xc0b\xdd\xf1\xef\xf8\ +\x9a\x8d\x1b\xa0\x00i\x0d\x00\xc2}\x8ar0\xe0v\x1d\ +\xc8\xbe\x9f\x9b\x002l\x96\x15T:\x98'\x98e\xf9\ +\x00\x8b\xa9\x05\x1e\xb7\x16\xda\xd0U:\xea(\x9d\xbd\xb8\ +\x9e|~\xdc\xecAFm\xf6\x12\xd4X\xcc\x07\x91\x0e\ +x|]\x00\x09\x14\x9a\xac/:n \xb1hZ\xd5\ +\x17\xbe\xb6P!\xb3\xeb\xf2\xfe\x15\xf5\x8a\x84V\x85\xd7\ +\x99\xe5\x00@s\x1f?\xc7c\xa0\x06\xe7)*\xf38\ +\xaf\xb3\xf6BE\xd5\xe9E\x82\xc2\xfdD\x22\xe51\xa8\ +\x81\xa4\xb3\xde\x19{Y\x98:\xa3<\xa5\xc3\x9dn\x0a\ +\xe8\xdc\x079\xc5\x12\x00\x01.+)\x8a\xa6\x1e-\xf4\ +\xe0\x81\x14\xf7\x97)1\xaf\xf2\x1e\x99a\xea\xdd3N\ + \xcd\xdch\x97S\x14\xd7\xee\xe6\xb3\x8a\xd2q\x0e\x93\ +\x1cL\x80\x8e\xcbQ\xc6qB\xf5\xb3\xf4\x84\xceS\xbb\ +\x9e\xa2\xeaXz\xbdD\xa1\xc7z\x13\xfct\xbd\x13\xb5\ +OV\x80\x0e\xae\xec\x14P\x9e\xff\x1e\x07\xf5\xe1\x0a\x9b\ +#}\xbd\xa2\xe0\x22\xf1Y/\xdb\x7fv\x05\xe2\xa8J\ +\x80\x90j`\x12\x86D\xed\x04kt\xd9g\x163\xe3\ +\x02\x13C\x03:!q\xb0\xc9]3\x9b\xdd\xeb\xcf\xe8\ +\xa6\x094'\x9b\xe9\x82\xf4\x86y\xdcL\xb30\xc3\x82\ +\xf3\xbcYQa\xd3\xc3O\xa7\xaf\xf3\x7f\xe9\xefwO\ +\xb1[\xe5b\xedy\xde\xd9\x04\xf0m\xd5\xfd\xb7\xe6}\ +\xb0c\x078\xe2\xd6\x1f@\x94\x13b4\xed\xc3\xb5\x14\ +\xe9\xeb\x0d\x9a\xf5\x1bi\xeb\xd7TT\xe6\x80^O\x00\ +\x83\x01,\xed\xac\xa8\xccM\xe9\x90\xc34\x01\x18\xf9\xb3\ +\xa2\xa2\x9e\xdb\xbc\x91\x840\x183\xce7\x9as\x14\x15\ +\xa0\xe1\xbfo\xeeU\x94\xf1\xb2\xd1\x01\xa4 `_'\ +\xf1\xa3\xf3\x8b\xb6\x93\xc4\xce\xf7\xb9\xddIQ\xbc\x08\xda\ +\xe5\x15\xe9u1E\xa5\xa5\xf6\xb4\xa1<\xaf~F\xa1\ +j\xb7\x07+\xaa\x7f7R\x94N0\xdaw\xb4\xed\xe4\ +5\x937*\xaa\xb9\xe3\xben1.\x8fB\x06\xe9\xc1\ +\xb6\x1d5zp\xd1\xe0\x97\x83_V&\x86\xf2\x82\xb8\ +\xbcH\x9ab\x8c\x18f~0\xcf|\xfe\xe1\xfd\xc0\xb9\ +\x8c\x09h\x00u.\x000\x95\x0d`\xd6\xe7v\x14\x98\ +\x00\xe5tf\xdd\xc9\x9f\xac\xa9H\x9f\xff\x08\xf5\xb4\xf3\ +\xcf\xeb:\x93\xee\xe42\xa6:\xcc\xcbV\xcb\x10D\x97\ +o\xce_\x9d\x7f\xe4'\xbd\xe9-1]\x0a\x00\x033\ +:\x03\x0d\xd1\xd1\xe7\xfcGZ\x81)\xae\xf7=\x9e\xf7\ +\xd8\xdf\xe9\xb4Y\xd2A\x811\xf9\xb8\xa2\x00\xd3\x93\xb1\ +\xa2xH\x85y\xde\xb9\x8a2\xf6\xb1=]Q\xfe>\ +\x00{3\x9fb\xae\xbb\x0a\xcd53\xa5}+I\x91\ +8\xc7\xc2\xb3\xe3\xa3\x8a\x8a\x19\xb0\xa6\xa2\x9a\x22CA\ +\xfeh\xca\xbe\x1e\x5cg_I\x00\x00 \x00IDA\ +T5\xf3\xf5'\x95\xcb<\xf9\x02\x9eB\x14\x82h\xa8\ +\x97\xb0\x94\xc3\xf9\x18\xd3\xb3Ry\xdby:\x90\x0f1\ +e\x82\xba\xc0\x80\x5c*B\xbb\xeb\xcb\xef\xe3(\xfe$\ +Pxop\xdes\xfeR8?\x1f\x8c\xb0W\x9a\xec\ +\xb2\x8e\x98\xb6\x03u\x9d\x82\xca\xcf\xfbd3E\x95g\ +y\x1c\xd7\xf8\x1cE\xa1\x86\xb7\xf7+*\xf7}M\xd1\ +\x10\x05<#C\xe9\xf5\x9d\x9d\x14\x04 \xac\xfd\x9d\xa2\ +\xd2\xf6\xda\x1c6\x5c\xcc1U\x84i\x08\x13k7\x9b\ +\xa3\xad\xe3\xe7Y\x9e\xe1\x97V\x9du\xa6\x97Nt\xac\x7f3P\xb2\x04e\x8d\x8ai\ +\xe3\xc2`,f\xe5\xdd\xfe\ +M\xdd\x01@\xb1x\xd4W]]\xc6uA\x9aj&\ +n\x00B\xacc\xf2i\x00\x13\xd6?\xd7\x97<\x9c\xf3\ +\x043`\xb5\x95\xfe^1\x10\xa8\x0b\xb8\xbe\xe4\x030\ +\x02\xd8\xbf\x19k}r\xe7\xfd\x10\x0cT\xa44\xde\xef\ +\x06\xf7(\xca\xfb\x0dO\x0c\xaf\x8f\x86\x8d):B\xa2\ +\xc8\x9c\xe5\xce\xd9\xd5^\xe0\xb3Tf\x22P\x89\xd4\xc7\ +8\xa1\xa2\xc6\xeb\xb1\xfeOu!\xea\x02c\x96 f\ +\x97\xffF\xb9G\x5c\x1e\x5c.<\x1d\xfe\x85\xac!\x07\ +\x99\xe1\xc2\x82\xe4\xb2\x91P\xa8q\xe1\xb8a\x5c0.\ +4H\x0f\x1d>Lb\xce6\xa2|\xb1)\xb3 \x7f\ +\x1cp\x17*\x8ay\x08\x9d\xca(x\x8f\xceQ\x90a\ +\x5cY]\xb8\x84\xab&H\xe3\x1d\xdd\x98\xbd|\xb5\xfe\ +\xf3\x8a\xb9\xf4\xdd\x82\xa3\x80p\x82\x13\x94\xf3\xe2%\xf0\ +J7M4\xf1\xe3\xe8\xa8w\xd7\x85\xeb\x01\xb5\x8a\x05\ +\x85\x89\x0d\xd7\x89D{Z\xaf3M\x01\xff\x9a\x1e\xd5\ +\x86?\xe7\xf7\xf1\xef\xfb\x0f\x14\x05\x01\xd2\x07\x00\x8c\xc5\ +_)9\x08w~\xee;\x85e\xcf\xcc\xaa\xcc\xc1\xf0\ +Jj^i\xca\x18\xeb\x84\x8e\xb9\xc7gE\xe2\xd6_\ +'\x14\xd8<\xc0\x1cT<\xb0\x14\xfe}\x0a5\x05\xff\ +\xcb\xfe\xdc\x5c\x87\xb6\xf7\xfb\xfa\x85=\xc0\x93\xc7;\xc5\ +\xc6\xd4[\x97\xa1\xc5Bc\x09\xc5\x0b\x0d\x10\xd4n\x90\ +p\x10A\xdc\xbf\xf9\xf7\xd6\x96\xc7x 4]\x98\x82\ +`\xfe\xc2\xfb`\x9e0f*\xfdy\xf1\x5c?\xee?\ +\x89\xb9\xc7\xd2\xc48\x1cw\x06\xd1\x8e\x87\xf6\x08\xb3\x12\ +\xd6\x09\x9f\x8b\xf1y\x14:\x98\xe3\xb1\x0e\x01$\xd8\xf0\ +\x9e\x98<\x9e\xdd\x8c=\xf6\xa7}@Q4n\x009\ +\xb8\x80O\xe6PTfJ\x1a\x03\xa5\x84{\xe1.\xa1\ +\x0c\xcd\x9c==H\xc4\xda/*\xca\x01G\x22\xd7\xbe\ +C\x91^\xe7S\xa4\xd7\xb7)\xaa\xb1\x88\xb8\xd8\x82\xf0\ +RXP\xb8r\x90\xfa\xfa\x86\x1b?\x1d\xdb\x0b\xba\xfd\ +\xa6\x99(\xd2\xeb\x03\x8aj\xec\x12s\xc8\xad\xddf\xce\ +:\xae\xfcP\x9a\x9b\xa5\x9b75ra\xbf\xa8\xf9e\ +sQ5\xd6L\xe3\xfcN/\x05]\xcc\x1d&\xc1\xb3\ +&\x98\xceC{A\xc7@\x88\xcf\xbb\xa8\xa2 \xed\xed\ +m\x8a\xea:\x00\xf0`\xb2\xe4D*\xc6\xbb\x19\x10i\ +\xbf\xa9(c\xf9b\x5c\x14\x1dG:\x1c\xa6\x22\xe6\xf1\ +_\xef)\x89\x7f\xcc5\xa70zBa\xf7i\x8dA\ +\x9c\x9e\x22\xdd\xaf\xf1w\x15Ug\xf5\x1cE\xe9\xb01\ +\xfe+\xa7\xe1{T\xfb\xd3\xaa\xb9\x04\x0fM)\x14`\ +y\xad\xab\xa3\xdd\xbcUQ\x99\x02\x9e\xa6(\x7f>\xfa\ +\xf0h\xabQJ\xb0\x86\x07+\x8aIks\xb2\x22\x03\ +/\x9d\xe9\x1f\xf7\x03\xe0f\xb6\xae\xc0\x9f\xda\xc4@\x0a\ +\xe3\x9d\x98+\xce\xf3I\x07\x0e7x\x00\x01?\x87\xa1\ +\xe9\xbf/\xfd\xdc\x19UBjI\x0d\x14Y:\x82\xcd\ +Q\x8a\xc2(\x80B\x1en\xf8\xffl\x1el\xd2um\ +~\xacH\x9f\xeb\xbf\x15\xe9\xf5'\x8a\xf4\xe77+\xb2\ +D/\x17&h\xcf\xa1\xaa\x0fnUT\xd3|,E\ +\x18\xce\xa6(n\xfc1f\x0f\xa6\xc3\xc1\x8aJR\x81\ +\xf4\xc2S&(<\x9b\x0d\x15\xe9\xe7,\xa7H\xd7\xff\ +u\x8at\xac]\xa8H_?\xa7H\xaf;)\x8a\x07\ +A\xf3yE\xb9\xfeQ\x10\x90\xa0\xf6\xbd|\x18\xdbF\ +!\x06\xf0\x0e\x10\x8fT\x8b\xfd\xcb\xeb\xb7=MQ\x80\ +x\xc6\xe8\xb5\xb3)\xd2:\xdd]\x91\xbe~V\x91^\ +\xdf\xaaH\xaf\xb7+\x0a\xe5{\x87\x87(\xca\xf8\xc9\xe6\xeet.\x08 [\ +\xbfc\xea\xe0\xf9\xf1\x0aO\xb0\x99\xf9\xfeu\x1e\x05\x1e\ +\xbf\x1c.\xf8\x02L\x8e\xad\xe6\xc9\x7f\xd9&\xddh\x91\ +\xdd)mVST\x9e\x08\x00\xe0x\xc7\x5c\xdbI\xb7\ +\xf0\x10\xc2\xf45\xa6k\xd8L\x17`:\xed^\x9d\x14\ +\xeb\xdf\xfe9\x0b\x1a\x08\x94G\x8a$G\x7fR\x94\xfd\ +mx\xd9\xf0\xd2\xe1\xa5\xd5y\xf9\x95\xe6\xf0\xecq2\ +R\x14\x13\xd9\xc1\x7fu\xe7\xe1\xe0z3\xc1\x9c\x97 \ +\xe5\x0a\x93L\x9b\x9f\xc6\xf3\xcf>m\x5c$$,6\ +\xed\x8b\xeb\x01\xa3\x8d\xe9'\xce\xcbhHF\x9e\xc28\ +b\xbe\x0fs\xc5\x8b\x14\xe9\xeb\x7f*\x8a9g\x8ck\ +\xa6a\x81\x04\x80i\x17\xaeS\x82\x92\x0f\x10\xee\xf5C\ +~\x15\xa6\xaa6_\xe69\x8b\x82\x97\x02\xb6?\x86\x99\ +<\xbf\xdf\xe9\xa7N\xe1\xfb\xfcux\x94x\xaa\x09\xfb\ +{\xec\xbb}I7\x0c\xed\xbew\x1a_\xf3Z\xc6\x95\ +w\xc0A\xaf\x1e\xa5\xe1\xf2*):\xfb:\xdet\xd4\ ++|\x9e\xd2\x10}\xa5\xc9a\x1f@\xe87\xbc{\xa6\ +\x87\x01@\xf4?\x1f\x92$\xc6t\xca\xec\xef\xac\x8a\x09\ +I\x07\xdf\xf7-\x98\xb5\x06j\x028\x83\x89\x85\xa9(\ +\x8cB\xaf\xdf\xd8\xa7\xdd8\x1b\xf1\xff\x04r\xa2\x02\xe5\ +Aw\xb8~]4>\xb1\xc0@4ef\xb3M\xd5\ +\x91\xe2\x83L\x8c\xc1Q`\xa9l\xc0\x1d\xfe\x89\xffG\ +\xa7\x93'\x87\x0b\xc3\x0d`\xa1A\xf5\xa6\xe0z\xaeG\ +\xcd\xe6\xe7A\xb1@\xb3\x01E\x88Nu<\xa1~5\ +\xb2\x9a\xca\xf5\xf3&\xe7\x15\x8dc0\x01\xf8|hK\ +\xe8\x5c\xda\xc59\x0a:(!,t\x12\x07\x0a\xd6\xfe\ +X\x86\x1e\xb2\xc4\x18\x8eX\x98\x00\x03\x14\xb6,\xa89\ +z\x0f\x16\x05r\x9fj\x0e@\xd1\xf7\x1c\xb0\xebf$\ +\x90\xdc\xb1\xc6\xae\xd3\x1e\xc7\xc5<\xe1\x00h\xfa\x8c\x8d\ +\xf9\x14\xd5u\xa2\xe0G\xba\xc0\x03\xdd\xd7\xba\xfbA\x1e\ +,\xa6\xa8\xae+?\x87\xeb\xc6\x83\xc4\xef\x85\x12\xdf\xff\ +\x8f\xebM!\xcf\xf5}\xc8?\xc7\xd7\x991H\xd1\xe1\ +\xa7\xe0\xef\xbf\xf2s(x)\xe4y\xedo|\x14\xfe\ +\xfc\x07\xf2\xc7\xbf\xe7\xfd\xc0\x8c`\x03\xe0\xcf\xfb@\x15\ +\xeb\x9c\xc4\x8c\xeb\xef\xe7$\xa8\xb1\xee\xdc\xa2\x09\x8cy\ +\xd9P\xd5\xbf\xae\xa8\xd6+\x94|k\xe0e%&3\ +1\x10\xc4\x90\x8e y\xf1\x01\x12\x9dE\xccix\x7f\ +|>\x10a\xa8Xt\x18`\xc4\xd8\xcc.\xb4\xe9\x00\ +\x00 \xbdL\xf5\xb062\xae\x0f\xbf\x0f\xb3#:!\ +.\xb0\xdb\xb7(*\xea;sr\x8fV\x94\x03/\xa6\ +)\xb0\xae\xb8\x1e{(\xd2\xcf\x19+\xca\xf8\xa1(\xc8\ +1\x8f\xe2\xfd\xf8\xfes\xdd\xe3y\xe4\x00\x01\xe1e\x7f\ +\xe2\xf9\xeb\x9b\x8cb.\xe4\x0eDx\x06\xb8Pf\x1c\ +\x5ct\xb4\x00,\x0d\x10\x06\xd5\x11\x97\xe0_\x19\x10\xea\ +\xbb\xc7\x02\xec<\xd1\xbd\xef\xb8\xfe\x00XP\xea='\ +=\x12 \xcc\xec\xd6P\x14\xa9\x05\xe6\x7f\xd9e}\xbf\ +j\xdf\xc2E\xda\x07S\xfb\xbc\xa2PT#\xf1\xa3\x83\ +\xcbA\xb9\x8a\xcd\x1d\xddY\x9b\x5c\xa2\xa8:\xe9>\x97\ +&\xbb*\xd2\xcf}T\x91\xbe^AQ:\xa3a\xd6\ +\xf3nE\xd5\x09!\xb1\xf9~\xb6K\x0c\xea\xf1\xe4\xab\ +\x0a\x17\xba\xd3m\x0a\xf7x\x95\x90\xba#\x99%\x09\xa7\ +V\xd3\x0c( \xfc\x1c\x85\xc9\x90\xa9\x99\xcd{\x14Y\ +k\xbe}\x93\x12\xbef\x05E\xfa\xbe'\x15\xa5\x83\x14\ +\x09\xbc\xf7?\xf6[$\x1e\xcd\xc6\x1d\xb0\x83\x09\xa5\xfa\ +\xf4\xea\xd4\xe3>\xff*)\x8a\xb5\xad!Y\xe0~\xcd\ +\xdf\xed\xcf\xd9\x94q\x9a\x13\xe9\xc6\x85\xf3\x7fW\xd4}\ +:\xfc6\x05\xec\x03\x11\xcd\xd5\x8a\xf4\xfab\xf3R\xf3\ +Re\xb2i\xca|\x98&2\x1e\xf0\xc3\xdd\xb8?y\ +\xff\xcb\xfd?\xc62\xda\xdc1$\x1a\x97*\xd2\xf7m\ +\xa1H\x09\xfa\xef\x14\xe9>\x7fUQ4\xf2\x9c\x9bx\ +\x9d\x04\x83\xcd\xe6T|\xde\x98.p\x85\xa2\x024\xd8\ +\xd70\x91\x9bMQ4\x91\x937+*\x0d.\xf3\xa1\ +\x01\x96\x916\x92\x8f\xf4)\xaftfY\x0f0\xcf\xfa\ +\xdaO(\xdf\x06\xb6\xc2\xa5\xdd\xcf\x7f\xc6\xfb\x9a2&\ +0\xc6\xf3\x1d\xaf(_\x8fWP\xa4\xaf\x97T\xa4\xd7\ +\xed\x14\xe9\xf5\xaa\xf6jyy\xb4\xfb\xb7\x07\xb4\x07\x14\ +\xa0!\x98\x09$f\x8c%=\xa4\x9bO>\xd9\xc2n\ +\xf3\xf6B\xc9\x9a\xfc\xd7V\x85\xa5\x0a\xa6T\xd0\xb6\x0b\ +\xa5X\xa0\xf2\x98\xc0\x8c\xd1\xcf5\xd4\xffXG\x98.\ +\xfby\x9f\xbcm\xb2\xf6d\xed\xec%\xd31z\xe80\ +{\xda\xc0\xc0\xf9I\x00\xc5tB\xd9\xb7\xc8W\xe6\xb7\ +w\x854\xf6'\xd9\xb3\xe3\xc7\xbe\xee\xa3\x8a9f\xa0\ +0L\x8d\xf5\xd3\x17\xac\x12g3\x05\xa2#j\x13X\ +\xce\xef\xf0\xecp\xe1\xde\xae\x9bb\x9d\xaa\xc0\x7fC\x8a\ +\xc5*`\xf2|E\xfa\xbe\xc3\x14\xd6\xe6\xefY\x18H\ +\xecs\xed\xb2\x8a\x0a`\xfd]7\xcd \xa4\x09t\x02\ +\xdd\xb9\x0d)\x06\xd4f\xce]\x9f\x0bH~\xf0\x8e\x19\ +<\xa5(\xfb\xce+$M\xb7Wn\xf84\xfc\xec\xf9\ +\x93;\xab\x8bU\x00\xac\x81\xf3\x18kff\xd6\xe0\xa6\ +t\xbfo\xca\xe7^7\xdd\x8b|o\xef\xb4\x0f\xefm\ +\xe9\xe4\xb3\xb9\x91\xb3tn\xe4P\x18\xfa|\xe7<\x8e\ +\x0e\xed\xd3q\x8etS\x09`>\x95\x8e~\xf6$\x0b\ +\xc0\x88s\x87\xbf\xc7\xdc\x94\x0e\xf7\x9f\x067g \xf4\ +\xc9\xb4/<\x99\xff\xdd\xaf\xf5\xef2\xa3d\xd9\xcc\x90\ +\xdaY\x0c)\x00\xe1(\xcc\xc8\x9f\x91\x0c:\xff\x99z\ +\x9f%\x01gxJAO\xb2\x17@\x0d\x0d\x1e\x9fK\ +\xb1?3\xdd\xc8\xe3\x1ec\x1c\x22\x8d\x07\xdc\xfc\xa1\xfa\ +\xd3Pd,#cM1\xf1\x83\xe9\x88)\x9f\x01\xbd\ +\xe8\xb8\xe39\xc0yj\xa6b\x14\xd6\x9c\x83\xf6\xba\x09\ +\xc60\x926\x0ak\xf24\xea*\x1a1=\xd3\xbf\x90\ +\xe4\xd2\xf88FQM\xb3\xa0\xf1\xc4~H\x83\xcc\x12\ +M$\xa0a\xe6GA\x0b h\x86WH\x01\x183\ +l@1\x98b\xfdB\x9d|\xbb7v0\x98Y4\ +\xce\xfaLe\xf2(\x1a\x9b\xd4i0\x91x\xbf\xe4W\ +}\xa9.\x124\xde\x1f\xcfm_\x82\x8b\xf7\x07\x92\x0a\ +\xbc+\xf0\xf4B\xda\xb1\x8f\xa22\x8b\xfe\x93\xa2z.\ +\xa9C\x00Hx\xdf\xd4\x9bH\xb5\x90\xe8p]\x9c\xa7\ +\x8e(\xb4\xc2T\x82\x8e'T\x12(a\xff\x93\xe2\xe1\ +J\xab \xab\x81#\xab_L\x82\xdd\x9f\xd3\xc9\xeb\xdd\xafh\xf1\xc2#\x82\xf5\x83\x17\xc1\xcb\x1d\ +\x10\x96\xca\xc4N;\x08\x00\xc3F\xc3\xf5a\x9d\xf7\x0b\ +\xc0\xbei\x09\x054\xeb\x89\x0e\x12c\x9bV\x8a\xf1\x8f\ +\x1d@\xc2u\xe7A\xe6\xfe\xf0\xf3y\xce\xb8>$\xaa\ +P\xb6\x99\x97\x8d\x89\x9a)\x8b\x01\x18\xe0f\x8f\xbb\xb5\ +\xdd\x8fA\xf8I\x98\xa2\x80\x07\xf8\xe2\xf7\xf0>`r\ +\xd8]7\xb4\x94\x8c7\xc3\x0b\x04\xe4\xd5\x9d\xa1\xb8^\ +v\xe7\xa5\x80\x08\xc9\x0cH6\xe6&h\x09I(\xd9\ +H=6,\x5c\xa4\x99_\xfd\xedN\x93\x18\x07\x02\x09\ +&\x055\xae\xdf\x96\x00\xc4\xcfEk\xbf\x82\x19+\xfc\ +Gb\x0a\x95\x0df\xc4\xd3)\x11{\xba\x98\xfcEG\ +\x94\xc2\x89\xce\x01\x07\x1f\x0c\xa2\x95\x14\x85\xc2\x05\x93\x01\ +$\x17\xca_\xb3\x8c\xa2\x00HA-\x7f\xca\x1d9:\ +m\xa2\x96\x9fbJ\xe4\xda\x99\xc2\xfbr\xa6\xf0\x92\xa8\ +\xdb\xfc\x0c\x86\x12\x9d\xd4`v\xb8c\xd3<\xab\xa8L\ +\x15\xd1\x00\xb6y\x07\xea\xd6\xf5\xbcUAC\xc7\xda\x9a\ +\xe5\xe6\x19E\x01X\x9a\x19\xdd8\xb6\xf0l\x80BJ\ +af`\xb5\xddZQL\x07#\xe1b\xcc\x92\x99\x05\ +\xcd'\x14\x95;\xfe\xba\x8a\xf4\xf5\xa9\x8aj\x0a\x82\x99\ +\x1f\xd9\x1c.\x1d\xa0\xed\xdd)R\x816<5\x85:\ +l?S8\xc1;\xb7\xeap\xaa0\xbe\xc7\xcf\xcf\x19\ +\xee\x84\xee^$r\xc3S\x86?\x18\xfe '\xe2\xf9\ +\xf72&\x90Nu\x98\xfc\xd9sA\xfdtu\xd4\x87\ +\x17)\xd2\xeb\xdc\x8a\xf4\xe7\xb7*\xf2\xfd\xc9\xfbu6\ +7\xd3\xfe\xb7\xa7\xa2\xc0\xd4\x89\xfe\x18\xee`\x0c\xf3\ +\x9c\x92W\xf2\xbe\xa8\x83\x00\x08\xc8G\xc8\xd7i\xe4x\ +\xff\x05\x18\x8b\xbc\x17S:3\x14BjC\xbd\xc5\xcf\ +\xe3\xdc\xa6\xc1D=\x87\xe4\x80q\xa4\xec\xa7\x00\x0aH\ +t\x00f\xa9\xeb\x00(\xc8\xb7_\xed1\xd6\xad\xbb\xfe\ +ko\x9cd|\x7f\xbf\xb1\x8c\x07\x19\x0d\x1b$\x07H\ +\xc6h\xf8 i\xe8\x8d/\x8dF\x04L^\xea\x10\x98\ +\xc5\xd4\x07\xd4i\xe4\xcb|\x1e\xce\x17\xea\xa2\xbey9\ +\x8db\xbc%8\x7f\xa8+{\x12\x84WMa\xb1\x14\ +j\x94\xf1\xc6{*\xe4\x80q)P\xf4g\xcb\x03@\ +\xca\x05WY7\xaf\x1f\x90Y+\x13\x0f\xdc\xcd\xf9@\ +\xbc\x01.\x10\x1b\x03Z \x16\x1c\x9e\x02|@\xa8\xcb\ +\x14h\x14@\x5c\x10\x0a>\xcc\x18\x5c\xe8\xd1\xb1\x8a\xef\ +gas\xa1\xfa\xd3\x02x\x9f\x0b\xf8\x95\x7f\xc7\xfbd\ +\xe1R8\xbas\x16\xf3\xd6\xd1\xd4\xf1\xef\xa0\xf0\xffo\ +\x85oo\xbe=T\x9f@\xa8mr\x12.\xfc\xa6`\ +F\xc2\xd1_\xd8<\xd0K\xf9\xf3\xee\xee\xec\ +W\x83\xeb\xcc\x98s\x823\x98\xc3\x1d]\x9f\x8fa\x1e\ +\x08\x05\xd1\x9a\xc40\xd9s\xc2\xcaz\x1c\xbe]Q:\ +RAa\xc5\xb4\x8d)\x04W(\xaa)\x04\xfb)\x0a\ +\xe5\xb7]@Q\x8dA\x82\x09\xd7;G\x19\x7f\x17\xfb\ +8\x05\xac5\xc7\xb1\xafPhp\x8e\xd1x\xe0\xb9\xa4\ +\xa0\xa5\x13\xc9\x18O\x98]\x8c3\xb5\xd92\x14\xcf(\ +\x08\xed\x8a\xdd\xde\xa0(^\x19!aA\xba2n\xd3\ +\x7fY\x9asA.\xe0^T\xa4\xef\xbbE\x91\xbe\xfe\ +\x9c\xa2\xca{\xf7l\xf7h\xf7\xc8\x1d\xe9Nk\xeeq\ +\x89\xc1\x84@R\xe6s%\xc6\x1a\x93pS\x00\x88\xf2\ +|{%\xe5\x80\xd9GAC\x1e\xc4\xbey\x8d5\xc4\ +vI\x9f\xbcK\x91\x0b\xed\x9cH\xe3\xf9\x12\x05\xe8\x9b\ +\x15\xe9s\xac\xab(\x80\xdf\xf8\xb2\x0e\x00hgmg\ +iE\x91\x1di\xa0f\x05$\x08\xa0\xfe\x8f\xcf\xe9\xb9\ +m\xce\x96\xd6\xf1d\xf1\x14K\xf8\x5c\xfc\x89=\x91\xd6\ +\xa8\xa4t\xe41\x9c\xd3*\xb3v\xb1\xe4\xeb\xe6RX\ +\x05\xa3M0\xd2\xef\xbd\x1ew\xae\x0a\x00\xf6s\xc6\xe8\ +\xf1|\xcfTT\x14mL\xfa\x98z\xc0t\x80}'\ +\xfb\xc8|.$k\xea\xec^]\xcc\x0f\xe9(\xc7\xd8\ +J\x8f\xcb\x84\xf1\x16\xe7\x1d\x0c^{3\xc1(\x09\xa0\ +\xc2R\x90\xf6>EJs\x9eO\xf1B1\x01D\x92\ +\x15\xcf\x01\xe7\x9e=o\x06\xb7+*f\xa7\xf34\xce\ +\xef\xa0\xe8[\xda\xc3\xfb\x0f\xa9\xad:\xb5W\xb9\xd1\xb5\ +A\xb5\xde0\xa9\xc4\xbd\x1c-\xbc\xc7\x7f\xc6\xfd\xb9\xb4\ +\xf3\xa8\x18\xbcG6~\x9en\xb0z\x91\x02\x06\xf0\x89\ +\xc6\x1ei!\xf9+\x0d\x1e\xce\x93\x8b\xa6~\x95\xa7\x17\ +`\xa6\x88\x19.^g|?\x8d\x12\x98\x8c\xf6J\x88\ +q\xa7\xd4#P\xf6\xc9\x8b1\xd7\xf3\xf3\x1e&\xd5L\ +U\xc2\xdb\x86|\x17i\x00u\xd0A9J\xe7\x9b\x02\ +\x92\xce\xb9=$\xa2Q\xc1x?\xcc\xab9\x8f\xff\xe4\ +\xc2\x94\x8e\xb2\x99*Q\xdf\xd0@\xa1\xa1C\x83\x86\xb1\ +\x89x'\xc1Ht\xa3\x12\xc0#$\x7f0\x0d\x5c\x80\ +\xc6\xb4\x03\x80\x06\x1a\xbd0\xa6iH\xc1\x90\xe2\xf7\xc0\ +l\xc0\xc4\xd9\xdav\xce\xfb\xa8\xfb\xc8\xdb\x904Q\x80\ +\xc34\xa0\x80\xa7\xc1\x87T\xce\x8d\xe3\xd8\xaf\x91\xe0\xe2\ +]`iE\x8c\x85\xe4:Q\xc7\xf2|P\x98\xf7\xa7\ +U\xb0~y\xff\x00\x00\xbc_\xa4\x22\xb7\xd8\xc5\x9f\xef\ +\xe3\xf7p^0\xee\xcf\xa6\xc9\xd1\x08\x85\x81\xca\xf5\x07\ +H\xe1\xfd\xf1{\xa8_\xa8\xb38\x10\xc8\x0flR=\ +\xcai\xff\x95Frf\xb8@}\xc9\x09\xeab^\x90\ +\xad\x0b\xe8%\xfc\x03\xdf\xe4\x02rZ\xd5\x91\x060\xa0\ +\x13\xa62dE_\xa8E\xaa\x7f\xafc\xa2B\x94^\ +U@C\xdd\xe4\x8d\xf6\x0bE\x0ai]\xa6\x7fV\x0f\ +\x0c\x086\x1b\x06\x85\x10\xa6|\x1c\xe0t\x06p\xe9F\ +\x83\x8e\xf9 \xbf\x07*\x96\xcd\xffb#\xc1\xb4\xe3z\ +E\xfa\xf6O(\xaaN \x8c\x81\xfe\xd87\x0aS\x0a\ +L:\x05l\x080\x01@\xbe@\x90\x18\xdb\xf7\x063\ +\x1e\xe8H\xa3q\xa7@\xe5 \x02\xf0\xe8S\xe9)\xe8\ +JaL\x01\xfcJ\x80`\xd8\xd3\xdc\xf7\xdd\xfd\xfb\x1e\ +\x01|=\xf1\xff\xbd\xf4J\xa0#(\xc7\xff\xf6\x83\xd8\ +\xa7\xeas\xdf\xe8\xb0\xf4M\xe8\xfa\x8c\x03\x0aZ\xa6*\ +\xc0\xdc\xc0$\xcd\xd7+$)}m\x12\x89 \x80\x07\ +\x05\xeb\xff\xe6\x05\xc0\xfb\xe6\xc1\x84\xd9\xf2\xb0\xa9A}\ +)\x0b\xdaI\xae7\x05-@\x06.\xad\xac\x13^Y\ +\x97$V\x98\x15Aa\xc7\x9d\x16\xc0`\x13E9(\ +B\x9bf\xeaU\x00\x0cvY\x0d\xa6\x0a\x897\x7fO\ +\xe1\x0a\xf5\xfa\xef\x8aj\xbc\x1c\xda#\xee3c\x90\xdc\ +\x19\xa0s\x18\xee\xc6\x1c\xec\xa6\xf8\x06\xe0\xc5|`\xcc\ +\x92\x9chJx\x93\xa576\xad\x8b\x82\xcd\x85.\x1b\ +;\xe6xy.\xfa\xe9\xb9\xa3\xb6\xbf:j\xe1\xf2~\ +I\x8eB\x91wb\x0aU/\x0a~\x12T#\xcf\x01\ +\x0c\xf8z\x90\xe00\x16\x0f\xc47\xc6\x839Q\xa1\x13\ +\x1a\xeb\x08\xaa\xbe\xcdp\x98\x86\x10\xe3s\x000Xg\ +<\x1f\xa6\xa2\xc6s\x8b\x94\xc2\x09W\xb8R\x7f\xcbR\ +\x0fk\xc91\x15\x0b\x00\x06M\x1d\xf7\x8f\xb1:\xd6\xdc\ +O\xa6{\xfe\xbc\xb5\xa3\xcdr\xcd\xf2\xcd\xf2\x15\xc3\x80\ +\xce\xce\xb1S\xc7i\xfaK*#>\xdb~\xb6B\xb4\ +]HA\xd9\x0e\xef\x00<\x0d\x5c\x085\x8b*|\xb0\ +\xdf]\xf6\xd90M\x84\xd2o\x0a3Z\xdd`f\xf0\ +\xbc\x02\x80\x8c:jo\x86\x8d\xb6\xa9\xcc\xc9\xa0\x1eb\ +\x12\x05u\x10\xd3Ak\x17\xa3\x10w\x82\x07\xc3\xa6\xb9\ +HQ\xa6\x11\x0c\xcfR\x14\x0d\x7f\x86U\x97r\x22\xbb\ +F\xa1\x02C\xf5\x8fm\xd4\xe3\xe8R\xe1|\x84\xcc\xd2\ +\xb2\xb2\xfa\xbcj\xbf\xf0\x9c\xe6\xa0\xca\xe3\xe9\x00\xee\xf8\ +\x91N\xf2\x11\xf3\xd3\x0d\x90\xc48\xc0\x9b\x14\xe9\xcfw\ +S\x94\xf5\x84\x17\x04\x8c4$,\xcd\xf9\x8a\x8a\x0a\xbf\ +D\x8a%\xed\xbe\xff\xbbb\x22\xc8~\x15\x9d\xfek\x9a\ +k\x9bk\x8b\xe4ax\xbb\x22\xfd\xf9\xa7\x15\xd5\xf8=\ +K\x13B\x0a\x81vw\xe2\xfd\xc2\x92\x9d\xd8\xdf\xdd\xc9\ +\x07(BB0\xb4kg\ +WoL\xb0u\xaa\xff\xb3H\x04c]\x9a\xaa\xdd\xbe\ +WQ\x18\x1d\x01\x1c\xf9\xfe\x07C\x0aJ\xb6\x99e0\ +:(t\x03\x00\xc2[`\xc7\xf4\xfev\xac\x1a\x19\xec\ +\xef6_\x8b\xe9\x02\x1eg\x19\x8c\xba]R|\xda\xd7\ +U\xf9\xc7\x1eS\x9d\x87\x89\xff>\xa6Ex\xca\x00\xcf\ +Q^g_N\xaf[(\x8adKB\x10IA\x82\ +\x01\xf0\xb8\x22\xbd\xbe\xa0\xa8\xf6O\x80?3\xfa\xc87\ +\xd8GS\x11\xbb\xa3\x0a\xd9\xc9\xce\x06J\xe8\x8c\xebT\ +[\xa1\x00\x22\xf1\xdcz\x00\xc2\xb4\xd3\x80\x07\x8c\xb6\xf0\x0e\ +\x83\xb9\x00\xa3\xc0\x05^\xb3\x8d\xa2\x00\x8e\xe9|\x9f.\ +\x13\xc8\xf0R\x82\xe2~\x83\x0bk$16e\x0e@\ +\x9f}\x95\xc6\x1c\xf9+\x0d\x19\xf2|\x03\xb2\x8c\x81\x06\ +P\xe7\xdc\x89\xf1\x82\x00\xba\x8c\xbf\xe5\xf3!\xc5\xe6\xcf\ +\x9dwD~\xc4\xfe\xdb\x97\x9aR\xa0\xf3}\x9c\xf7\x00\ +\xb9\xec\x07\x98y\xd3\xc0\x02\xc0\x04\xa8C\xea\xcd\xdf\xe3\ +5E\x9d\x07 H!M]\x8bt\x9a<\x17/\x15\ +\x00\x0c\x98\xcc\x8c\x99\x944~\xdbJb\xd1\xaf/\xf8\ +\x5c/\x1bH\xa0\xf0'\x7f\xe4\xfc!\x1f'\xef\xc5K\ +\xc9\x80WHy\xdc@\x86A\x14\x85>L\x0a\x98\xab\ +\x00:\xdcO_\xd7\x11\x89s\xee\x8b\xfc\xd6\x0f\xe6\xe2\ +U\x81JanS\x94\x9c\xd6<\xe4B\xb6v\xc3\xf5\ +\x06\x1a\x89\x0fTn\x1e$\x5c\xa4)t\x98g\x0e\x15\ +\x87\x02\x90\x05\xc8\x85#S\xea\x17\x8a.\xe4\x82\xf2\x84\ +\xdb6\x9d\xed\xbe\x06\xa4\xa7\x05\x09\xca;\x85;\xef\x8b\ +\xf7\x03c\x80B\xbag\xf6\x10\xbf\x97\xce!\x0f6\xbf\ +\x97D\x96\x05\xc2u\xa4\x90\xb5\xabs*Z\xbb\x8dd\ +y\x7f=\x0e\xaa\x0a\xe3\xf7\xf2\xf5\x08\x97z\x0a9\x5c\ +K\xf9\x5c\xdcX~\x0f\xee\xac\x98^P\xf8R\x90S\ +\xd0\xcf\xd53\xb5@\x12\xc0\xfb'\x11b\xc3\x86\x8aO\ +\xc1Mb\x05P\xc3}#\xf1AC\xf3\xa0\x1fD\xcc\ +\x08gxl!@\x10\xbf\x07\xa0\xa5\xef\xb6\xdf\xa7\xd2\ +\x03\x0cP\xd8\x17\xc6\x07\xd2\x82\xee\xe7\xcd\xd9\x1b\x0b\xc8\ +\x03\xc7\xbab\xbd\x951i\x9d\x19\x87\x01\x98(\xa8q\ +\x97\x85A\xf2\x90\xd79\x0f,\x09/\x080\x05\x1d\x05\ +'@\x15\xf7\x01\xd7v:\xc0t\xc6\xfb\x0c\x89\xde\xf7\ +\xc7:\xe4}\x83,\xb3\xd1q]8\xa8@\x9a)\xa8\ +@\x12m\xfe\x09\xa51:\xf1\xa8\xf8S\x89\xbd(\xac\x0a$\x14(\xb9\x95\x09\x04\ +\x87\x0e\x12\xa0\xa4N\x90>2\x1c nu\xd1A3\ +\x97\xfc\x0e\x99\xfe\xcb\xc3\xaa\x80\x19\x0e\x14e\xaea\x8b\ +\x1d\x9d\x17VA\xf9B\x16\xf6\xb6\x1c\xb0\x0e=|\xea\ +y5\x04\x90\x03\x88\x0a\xe9\x96a\xe9\xeb\xb7f\x1b\xf6\ +\xc3\xd7\x96\x16\x0c'\x0a\xb4\xdf[\xed\x81D/\x0e\x08\ +\xd0\xbc\xf9s3S9\xd8Ta0\xa2\xa3\xe6\x9a\x99\ +T--\xf4\xe6\x12P}:\xac\xea\x1d\x87\xe3 Z\ +\x1e\x82\x1d{\xbfd\xfb\x16\xb9;X\xef3[\xf6\x86\ +\xd5s\x8f\xd3\xebEJP\xbd\xb9\xea\xa1\xa4B\x88\xae\ +\xf1\xb6byF\xb7\xfc\x81\xb0J\xdd\x00\xc7\x88D\x0d\ +\xf3\xe7)\xedk\xdf\xc8VzmUiu\xe5\x1c]\ +{\x91t\xd1\x13\x0b\x89`wSX\xba^\x18V\x90\ +\x10\x99\x05?\xc8\x1fWK\x16\x89\xc8\xe9\xb0j\x1c\x81\ +\xba\x8a\xd4-\x93\x86\x1d[\x12=\x06J\xed\x11VU\ +\x00iu\x81\xf5\x9f\xf1\x05\x99\xa0\xe7o9At\xe1\ +\x854 \xc0\x9a\xde&\xac\xf4\xb6\xc3Q\x03\x87\x82\x03\ +xt\xa9\x81\x1e\xabw\xd9\xb2r$\xf0\xb5?\xd2\xca\ +eG\x0d\xc7\xa8\x90\xde\x0e\x89;\xfc\x05\xcey\x12p\ +@\xab\x91o\xa4\x92\x05)\x9e\x90\x01&ed\xdfR\ +\x02\xdbj!J\x08\xd1\x13nRP\xb5N\x11\xf0\xc3\ +q\xd2/\x1aV\x02\xf7\xc92b\xfb\x874p\xd7\xb0\ +\x8a\xfcRP\xf3\xf1\xdf\xc6\x7f\x1d\xff5\x07\xd8\x19\xfa\ +?>j \x95\xeb?\x15V\x02%\xc8:\xfb\xcf\x85\ +\xa5\xeb\xfa\xc96\xd0\xba|\x7fE\x82\xaa\x16\x82\xf1\x19\ +\xc9\xd2\xe7\x1e_\x1aV\x91wr?\x0a\xe8a\xad\xef\ +\xbf\xd9\x9f\xdd\x9f\x9dIT\xb3la\xbfN\xbfn\xbf\ +n\xf5~\xc1%\xb0L\xd9\xff\xfb\xa3\xc2J\x00aY\ +\xb4HC\x9eT\xe9\x9e_\x17V\x12)\x99\xe5\xfe\xa4\ +*\x11\x80\xc3\x1b8\xb7#\x0a\x22 76E\x82c\ +\x89dK\x0edky?^l\xb2X\xbfx\xc5m\ +\x15\xd0\xe6\x03\xc5\x15\xb1]\x09p\xf2}]\xac\xde\xfd\ +H\xb8\xcc\x09\xab\x02\x1e\x9d\x1bN\x98(\x906W\x09\ +,\xea\xf8\x93$(i\xf9\x04\xf9G\x80B\xaf7\x05\ +$%\x9eG\xdd@\x867\xd9)\xac\xa2\xb2\xa2\xc7\x98\ +}_\x95hz\x95\xfb\xc3\xc2\x94\x98\xf9g\xd5bq\ +Z\xb2S\xd5\xa2\xb0PU\xe8\xd2zc=w\xd7\x87\ +\x15y;\x93\xd1\x1e\x19V!\xc9\x82s\xe0\xd1\x9c\xb0\ +\x1f\xce\xeb\x19A\xd5c5.\xac\x02F\x04\x9e\x87\x84\ +U\x85\xb9\xc0\x19\xbcK\xebs\xac@\xef\x86\x8aTQ\ +\x85\x05Z\x1f\xd8WiQqBS\x5cc \xf5\xfa\ +\xcb\x92}/#\xda\xbe\x13\x886\xfc\x94\xcc\x8d\xf1\xb0\ +d\xef\xf6\xab \xf6\xf8m\x04\xf6\xc8PR1G\xed\ +\x86\x848\xc8\xbe\xaf*\xc1\x0bBK\xad\x8b\xfc\x1d\xb2\ +\x9a^\xe7 \x9ax?\xfc\x04*\xd9$r\xe06 \ +1\xc49M\xfc@e\x19\x19J\xa9\xbe\x98+\x89\x84\ +\x19?\xd7\xdf{>\xe2\x97SyG\xb6R\x9f\xcfj\ +\x16\xf8\x9d\xfc\xc3\x1f!\xee\x81\x03E\xfe\xd6\xe4\xf4\xb0\ +\x8a\xd4\x9bx\xa4\xe5\x16h\x91\xca\x14*\xf1\x9b\xf1_\ +\xf1w)\xc8\xb5\x88\x5c\x10\xc1\xb4h+.3\x07\x02\ +q\x81\xe2\x1b\xce\x17W\xce)\x18+ \x9eK.\x90\ +x\x09\xce\x038,\xe4\xcf\xf9\xfe\xb9?>'-\xab\ +\x14\x0ci\x95\xa5\xc0I\xbcAa\x8dqf\xbcZu\ +\xaeV\x06\x9c\xf8K\xdf7\xc7\x17\xf7\x0d\xb2\x8b\xf8\x83\ +\xf3\x9e\x04\x8b\xe2\x85\x99\xfc\xe7\x0bU\xd0(\xdep\xcd\ +\x0cJ\x1f2\x1f\xafQ`\xf7x\xf9~v\xff^\x5c\ +\x1d\xb8\xca\xf0Z\xce\x8f\x00\x86^[\x02>\x0eF\x1c\ +F>0P\x0d \x11\xdc(\x196&\x02l\x8e\x04\ +\x14\x04\xec\x1c\xe8\x04BZX\x90\xca\x90\xa92\xe9\xc8\ +\x93\xcf\x0c\xf8\xac\xdfL\xaf<\x90\x1c /d\xb0D\ +\xfe\xe7\x8d\x82\x01&\xa0f\x22\xf0\xe0\x09\xd0\x08\xe4\xf8\ +\x1c\x04\xfa$Z\xe6(@,\xbd\xe2C@N\xef0\ +\x0f\x90\x0a1\xcf\xe9\xef\x96\xf1x&\x84\xe4\xaf\xc3\xfb\ +\xe3\xd0\xf3>\xeem\xe7~\x17|\x96\x8a>\x0b\x95\xdf\ +\xe3yr\xe5y\xb1\x91\x14\xfd\xd8\x5cAw/=\x15\ +l&<\x8e\x18\xea\x02$t\x18\x17>?\x01\xcd\xe3\ +N(\x0c\x95\xf6\xfb\x14h3\xbe\x5cI \x80\x84\xa0\ +B\x0f\xd2A\xe3\x84\x5c\x92\x03\xe1\x86\xac\xc8\x9f\x0b\xcf\ +\x17yD^\x97\x859\xa7\x91\x17\xc4\xb1\xe4k\xfe^\ +\xdf\xf7x\x10\xb8A\xea'\xee\x0d'\xc8\xd8\x08\xa8\x9c\ +\xb3n\x80\xf8\x16D\xc5\x90\x00 #\x0a\x84\x8b\x0d\x86\ +\x16\x0a>\x9f\x02Z\xaf'6X\x90\x00@\xb1\x04\x09\ +sk\x0a\x99y\x1dH\xceH2\x1f\xe5\x98{]\xd0\ +\x0b\xc8\xeb\xeayB\xbeb\x96a\xd8\x96y\xdedF\ +\x09\xa8\xd1A\xff\xc3\xe8\xa6\x0cQGm\x04\xddX\x0e\ +N\xa0_d\x88\xe5`;a \x0e\x81\xc9iaU\ +\xa5\x9by\x8e\xc3/\x88\x9f+\x1e\xf46\x07\xf7\xc9\xfd\ +\x15\x1b0Pq\x1d\xc0\x90.\xe5\x80r\xbf\xd2\x8bo\ +H?\x95o\x05\xee\xaePQ\x11\xc0\xe1\x82\xc4Q\x09\ +\x1c\x93R\xa9\x02\x09\xf9\x8b\x13Rr\x8ca\xb5\xf6\xfb\ +\x80\xa8\x00\x09A\xef\xa5z\x02G+k\x7fc\x9fb\ +<5?\xba\x97\x84\xe5\x84\xc1z\x910\xa0\xb5\x03\x16\ +l\xcfo2\xee\xb7\x87\xa9\x97\xfbs\xea%\xfd\x8cT\ +SN\x17K\xf6)r\x8c\xb7U`\xfd\xf9\xaa\xe7\xfb\ +\xe4\xb0\x0a\xd2\xaa}\x8a\x0a\xb7\x9f3\xf79= \xcd\ +\xa2\xfe5\xda\xab \x10\xa8\xb0\xe1\xa8\x9aK\x05\x04G\ +T\xe8\xd3\xb9\xd3=\x16\x96\xaeo\x08K\xd7\xa7\x06r\ +;\xf7\xd4\x86c\xba\x96\x12C\xe9\xf5\xba5\x92\xc5:\ +:7\xd99j\x11\xf9\xbf\x5c\x09\xcf$z>\xc76\ +\x90<&*.\x9a?\xdd;\xc2\xaa\x04\x0c\x89$A\ +v\x0d\x99\xbfet\xf3\xe8f\xb5\x8e\xdcX\xc8 }\ +\x1e\xd1\xe3\xc9|\xe5\xe7pL(\xc3\xef\xc0\xfa\x07\xc9\ +~X\xa9F\x04\x99_|\x9eYa\xe9\xe7\xdf\x0d+\ +\x90\xfc\xe4\xbe\x0d\x09\x09\xb1\x0e\xbb\xc7\xfe\xe6\xb0\xc2M\ +\xd0=2\x90\xedM\xed/\xe4\x87\xf6)zzA\xae\ +\x98\x04P\x15M\x02i\xcemX\xcd\x0dq\xd4\xfe\x03\ +\xf2\x01\xa4\x11\x88\x08\xf7B\xeb|1Y!\x09@\x90\ +\x87$\x08DNg\xa8,\x90eZ\xc5p\xd4ph\ +\xd9\xf7D\x8e\xea\xdex\xee\x8b\xcal\x03\x1due\x85\ +\xf3\x18\x04\x00\xb2_\x07\x86\x95s'\xc2\xe3\x08\x90A\ +\x08\xb97\xffua\x22\x9b{y\x09@\x09\x9c-\x1f\ +G`\xb7KXr#N\x0aK_\xbf),}\xfd\ +\x91\xb0\xf4\xf5#a\xe9\xf7\xd7\x0dK_\xbf,,]\ +\xbf\x14&\xbf\xe0O\x95\xca\x89 \xdb\xfd\x89aEn\ +\x8f\x1e~8\x0a\xc67\x86U\x9c\x05T\xeaEF\xdb\ +\x1f\xd0\x1f\xd8\xa7\xcf\xdb\x9f\x17\x96\xaeO\x0f\x08\x85\xfe\ +\xbe\xb0\xd2\xc3l\xddu\xce\x0b*`$\x9eI\x10R\ +Y\x83;\x85\xe7\x1di\x80\x9b*2=\xdd\xf7\xe8\xc8\ +\xb0\xf4\xfdu\xc2\xb4o\xa5se\xb2M\xb2\xadK\x82\ +\x01\x12Y\xfbq\xf2\xff&\xc7'\x8b}\xf3\xfd\x03)\ +]n\xc9H\x01R\xbfWX\xba>7,\xfd\xde\x1b\ +\xc3\xaasZ\xd0~\x02\xdc\xa9\x83\xb2MM\x16\x08\xab\ +>\x1f\x88O!\x83,\xabK\x01j%q\xf0Hm\ +\xc1l\xf2\x1b\x8b\xa4q\xcf\xb0\xb2\xef\xf6\xdf\x0b\xab\xce\ +\x15\xf9S\x93\xeb\x93\xddP\x9d3\xb4@D\xa0w|\ +\x05\xf5\xa6U\x10n-\xc8\x03u\x1e!\x87\xda\x9d\x1f\ +\x96\xae\xbb${\xab\x90^\xcbU\xe4\xbd\x14\x12\xa9\xf8\ +\xe3\x0f\xe1\x8f\xd3*\x8c\x5c\xa7Z\x0c\x5cq'\x11\xc7\ +\xf7\xe1\xe0\x10\xd9g\xee\xc1?\xaf\x9a\x07\xb1\xee\xd2\xfc\ +\x0f\x8d\x9aP\xa91y\x1fr\xbd\xa1&\xf0k\xc9h\ +\xaf\x98\x13\xe2\xdf\x8f\x84\xf8d\xcdt\xae\xae\x999\xc7\ +\x86\x84\xd3\x99\x92M\xbbR\x15cZ5\x95\xa0\xc8\xad\ +\x06\xebe\x04qNx\xc6,\xcaj?$\x1e\x91\xbf\ +# \xa3\x85\x80\x00\x19\xa4\x15\x09e\xe2%\x10\x91\xf8\ +]\xf8o\xc4\x13\x14N\x94\x884\xb2\x10\x88<\xd0\x7f\ +%&\xcd\x0d@\xa2r\xab\xe4\x95m\x95\xcf\xbf\x01\x09\ +\xf5\x80\xfca\x9dW\x961\xd7}P\x00\xb2:\x12\xad\ +\x12\xc8/\x1e\x93\xad@\xcc\xdb\xd6`\xce\xe9\xb6\x82\x8e\ +\xbf\xaa\x0a\xb8I>\xf1\xdb\x88\x8b\x08\xe0_\x1dV!\ +q\xf1\x87D\xde\xeb\x80\x9b\xc2\x01\x89?\x90\xb8\xfc\x9c\ +\x82&-]@\xf6g?S>}.59\xae\xac\ +K\xee\x9f\xd6\x0bH\xf8\x88;(\xf86\xdc\x15\x8e\xfb\ +H@\xd3\xa3O<\xb5\xd1\xd4\xcbr\x8b/q\x0f\xe3\ +\xd7\xca\x7f\x13\x07\x83\x9c\xe5\x1c\x02\xd9B\xfc\xa4q2\ +2\x92\xfb\xc5\xef$\x9e\x02\x19!\xffu&o\x7f\x1b\ +\x08\x01\xf03=\xb8'\x14P-\xaf^\xfc\x7f(@\ +Z\xaab\x8bd\x81\x02\xfd\x87=\x15\xf9\x15e\xfe\xb2\ +\xe3\xf3\xd2*c\x13\xd3\xf8\xdbU\x00DE\x91\x8d\x9f\ +\x00F\x81\xae\xd96\x09(4\x80\x93'\xc2\xfe\x0b\x99\ +\x16\x13\x8f\xf7c\x80Xh\xe8\x98\xf2\xa0\xe9\xe1\xd0@\ +;P\x91\x83\xe5\xca.\x10~\x02@^\x9f\xfb\xa5\xe2\ +\xd9\x90\xaf\x01\x953d\x98\x09\xc0\xc4\x01\xd2O\xc6\xa8\ +\xc9\xf4\x8c\xb8\xff5\x94\xf9\xe3\xe78\x1c\x0fk\xe2\xdf\ +\xa1\x00\x0a(,\x01\x8e\xd8\x8f\x93\xe3\x9f\xac\xea\x15\xe2\ +u\x10hd\xa2\xf3y\x80\xac\xb0q\x10H\xe0\xf0\xab\ +\xd29Z[\x7f\xcf\xfd\xd3j/v_W\xa0Y\x90\ +,\xf8\xf9\x9b\x96\x04&(\xdc\x0fT\xd6\xef\xd1\xf8\xdf\ +\xae\x055K\x09\x136\x86\xdf\x0c\x0eL\x0aW34\ +\xc9\xffHH\x90`Y\xa4I8p_\x04\xea<\x07\ +2\xefk\xaa\xc2\xb4\x95\xe6\x1d\x1b\x06\x19\xd8%\x94\x89\ +c\x9c\xa9\xbc\xb7\xac\xa2\xfc\x9c\x8d\x86\x8d\x03\x87\x80\xca\ +\x00\xe4\x1d\xbc>-\x0e\xa86\x90\x19\x06\x81\x80\xc3\xa0\ +\x8a\xbd!\xf4\x92%2Y_\x93\xc8\x82U\x98\x83\xc2\ +z\xf5\x22\xa1s\xc2\x80u\xae\xde[\xb7$\xb0\xde\x08\ +|h1X8\xacJL@vIB\x8a\x8dZ\x95\ +:\x07\xdc@\x0090\x19G\xd6\xd1\xdf\xb4\x01\xb2\x1f\ +\x1c\x11V\xcd'2\xc6\xbc\x1f\x89\x0d6z\x10\x00$\ +b\xd4\x0b\x8d\xfc\x0c\xa4`F\xf6\xa8Bk\x87\x84\xfb\ +\xa0\x05\x83L0\x1c\x05TD\x0f\xcfV2\xe2bY\ +w\xa5_\x1c\x08\x93]\xc3*H\xac\x1cs\xb35\x8b\ +,\xcc\x81\x05\x89'9\x04\xae\xa0\xc3U\xc0s\xa0\x05\ +\x84D\x0c\x8e\x09\xa4q\xc8\xb1\xc1\xee\x8f\x8e\xfa\xf2\x83\ +>}\xb7UX\x86\xa8\xdf\x15\x10\xf5\x5c\x81;\xb9\xc8\ +\xa1R\x99\xf6\x01\x052c\x9909\xc4\xdbT\xebv\ +\xab\xbcr\xca\x95V\x18\xe4\x9d\x22@\xbe!\xcb`=\ +\xd6\xff\xbd$\x10L\xb2\x08{-\x0e\x9f*\xd4&i\ +\xa4wS\x90u\xe6_\x97\xff\xa5\xeb\xfca\xe9\xfa\xfb\ +\xb0\xb4\xed.\x91,d\xe1\x0e\x0c\xab\xd4E\x09\xc8%\ +\xf3\x9aW\xc9+\x14\xb0\xce\xae\xa0\xa58\xcc\xc8\x02n\ +/(\xec\x0e\xa3\x1dG;V\x8e\xb3\xd4\x04,\xab\x85\ +,\x0f\x01?\x9c\x1b\xe7\x08\xcaK\xa5\xe5\xba\xe1y\x8e\ +\x0e\x0a\xab\xf6C\x1c\x08\xe6\x91*\xebv\x94Y/z\ +>\x99\xa3\xe6\x01\xe9\x9f\x1f\x5c\x91\x0f\x06\x12\xe3\xcf\x95\ +\x0c\x1a\x9c\x04_\x1f\xc8\xbe\xec\xb8p.B&\x05\x9b\ +\xf5-\xc3\xfa\xea\xf6\x0c+\x15x\xa0\xb1\xdd\x8b\xc3*\ +\xb2?H\xfb\x84\x90\xe8\x0e\x09\xabd\x89P\x07\xd0\xf8\ +\xd0\xb2\x00\xc4\xdc\x08)\xc9\x8c\x19\x9a\x0e\x92\x86\xf3G\ +\xe4\x83f_\x86dq\xa1\xb0\x8a\x04\x92\xd6\x02\xf6\x0b\ +\xce+\x10\x80$\x98H@\x82\xb4#\xb0\xc1qV\x02\ +\xd3rZ\xf27\xac\x0b\xaf\xc4\xe3d\xcb\xb0\xa2\x0b>\ +>/\xacR\xb3P\x85\xd0\xf2r@~?1p\xb5\ +\xb8\x07\x5c\xf2`\xfd\x95a\xe9u\x16\x0aK_\xcf\x0a\ +K\xd7\x97\x0c\x15v'\x02\x9e\x0c\xcb\xac\xfb\xc9\xd2\xd7\ +'\x87\x09\xb1\x12\x15\xc2\xfd\x92}\xb8\xdag\xee\x0e+\ +-*\xf8I\xfd\xad\xc9n\xa9\x90X\x04( U\x90\ +\x0b\xa35\xe0e\x03\xcb\xbf\xe5TQ\x15\x90\xbf0y\ +2\xac\x90\xe69\xc0\x87\x13\x0a\x87\x9f\xf3\x9fV\x0d\xb8\ +K@\xae\xe8|!Aj$X$\xe8\xce\x15\x14\xfa\ +\xb0\x12\xf0\x1a\xb1\xa5\xd6\x95\x9c\x08\xfe\xa2\xc8M_R\ +%\xfc\xf1{B\x042\xfd\xfd\xf8\xf0\xb0\xea}\x84\x08\ +\xec\xdf\x12V\xc8qM\xbe)N\x02Z\xea@\x5c\x98\ +d\x96\x02\x05\xebK\x89\xc2\xc9\x1aaUe_\x09\x1b\ +T\x228w!\x83\x9c|&\xac\x92\x83\xc3\x1f\x93:\ +\x03$\xdd\xfd-\xfd\x10 |i\xeaK\x93\xcdE\x0a\ +zm\xe5\x97Gb\xf7;E\x1d\xa1\xfbuX\x85\xd8\ +\xd9|(\x00\xa4pc@\xf2L\x84\x04z[\xb2]\ +\xca8\xb9\x17\x192:\x02\x16\x02C\xbe& \xe29\ +\xe3\xa7?\x92\xb1mC\x81m\x9dJ\xcf\x1d\xd5\x98&\ +\xa1\x1ax\x98@\xc40\x0e&\xcd\xd3\xb9h\x92Oq\ +\x1e\xd8o\xf9\xca\xe8\x8c,\xe3M\xeb\xd0;\x86u>\ +YL\x89\x9b\xa7\x86V\x8f\xa9\xd3\x86\xd6\xa34\xab\x86\ +\xf5\xbd\x80\xfct\xfc(\x91\x962\xef\x0d\xc1\x07\xb1\xa7\ +\xc4\x0f\x08C?o\x02:\xfc~\xfcm\x90\x17\xf8)\ +\xda\x87i\xfdb\xff6d\x9f\x82\x0f\xeal\x0a\xe0Y\ +\xef>\xd8\x8e\x18\x900\xd6\x85\xa7\xa7\x9c\x04\x01\xff(\ +8\xe1\x87\xd2\xe2\x84\xac1\xdf'n`?\xa0e\x82\ +\x82\x9f\x90o\xde\x1f\xf0w)\x18B.M+,H\ +\x0a\xa9s9\xaeb^\x00\xfd\x07Q\x0c\xb2\x93\x16\x06\ +Z2\xf0\x9by\xbd\xdf\xa9\xb7\x9e\x16\x08\x02kH%\ +\x09\xe0\x19G\xfe\x11\x97\xb9b\xad\xc2T\x8bl\xe6\xfd\ +\xf0gi!@\xe6]\xad\xe1~\x7f\xceqZ\xd3h\ +=\xdf&\x9d{\xdbT$\x83p\x07p\x0e\xf3\xf9y\ +\x7f\x0a\xe5\xc4\x05:7\x8d\x00j9\xdfH\xb8\x89\x93\ +\xc3\xfb5\x85~\xc5A3\xae|\xea\x83XnC\xac\ +\xce9?w\xb1&\xfa\xc6\xd5\x07\xc3\xd1F\xc6\x8b\x83\ +4\xf2\xf9!/\xf3\xe9d\xc7+s}\x9c\xc8{\xa2\ +\x97\xec\xb8d!\x7f5_X\xd5j~nX\x95!\ +\x85\xe5R\x10\xac\xbc-\xbcP\x8e\xf0\xeeU\xa0\x8b\xbc\ + \x0e\x122\x0a\x0c\x08d\x1eT\x00Y\x98\x04\x10,\ +P\x02\x17\x12\x09dl\x08\x00`\x81\xa7g\x16\x92>\ +\x1c\xde\xbf5\x90p^\x97\xc4\x08\x89\x00X\xde\xdb\x1e\ +{\xde\x87J\x06\xcf\xa5\xd5\x8d\xc4\x81Y\xc8z\xf7\x13\ +\xf5\xde\x0f\x959\x12\x03@\x87\x80\x18\xb3\xd0\x09\xb8\xd9\ +\x88\xff\xac\xc4\xc5\xa2\x0aX\xefR\x22\x81\x00\x88\xf7o\ +\xe5\x1bW\xd0\xfd\xb7\xc8\x06\xbe\xc61\xe5\xf3\xb1\xb0\xd9\ +\x08o\xd5D\xbfY\x0b\x89\x8d\x91\xca\x0c\x09\x87[D\ +\x8a\x089\x11\xe3\xd4\x90\x5c\xc0r\xe9\x0d\x86\xd7!\xb0\ +\x07\xe9A\x80\x0d\xbb3?g|\xf8\xf9\xca\xba.\xa2\ +\xcf\xb3d\xd3\x1a\x01\x14\x87\xcf\xdb\xb2\xf17\x99O'\ +\xa08\x08\x99/l\xa0$\xb4\xe4H\xce5\x9e\xbc>\ +\xf3\x16DJ\xf4\x02\xeeU2~\x0e0\x9a\xde}#\ +\x0c\xa8\x98\xbe'\xac\xea\xd1\x05\xa9\xc1\x06\x0f\xb2\x86\x03\ +\x14\xe4\x82\xc8\x04\xa9\x90\x98$\x0br\xc2F\xd6\xd1\xfa\ +\xb9\x8c\x1f\xcf_\x07%\xeb\x13}o\xb7\x1c\x90\xc0 \ +\xd1\xc1\xbc\xa5\xc2G%\x9e^~U~hU\xf0\xef\ +\x03\x85\x22\x13Oo<\xe3\xc9\xc1\xa8\xf5\xe5V\x1b\x02\ +Q\x12H\x8c;\xc8\x072\xbe\xac\xc7\x96d\x92\xcf\xc5\ +z\x87\xccQ\x95O\xf4z\xe9u\x9e\xbc;\xac\xaa\x00\ +\x80\xd8@\x07\xfa\xd4\xb0\x0a\xb2H\xc6\x5c\xe3\x04\xd4\x90\ +@\xca\xbd\xe1@\xc7\x7f.\xd2:d\x9f\xc4^\xef\xca\ +\xecJi\x9fX)\xeb\x22O\x87.\xb2\x0f.th\ +\x8f\xcfVz\x11\xa9\x08\xb0\x0f\xd3\xfb\x0eK6\x10H\ +\xc8\xf8p\x0c\x04\x81\xcd\xe7\xc3\xa7\x87\xd6\x97\x98W\xa3\ +\xef\x8f\x06\x0e\x07d\x08\xa5:3\xbdwXu\xf0\x89\ +\x04g\xf4\xe7\xb0J\xc7\xf9\xfc\xb0\x920\xee\x8e\x0b+\ +$\x83\xb9\xc7?z\xce\x1f\x0aS\xe2\xeb\x83Z\x17\xaf\ +\x97\xdc\xd0\xd2U\xc0\xcf\xbc\x8f\xc0\xe8\xe5e\xbd\x8c\xbe\ +9:{\x94\x02\xf7n\xaf\xb0\xac'\x9e{\xe0\xbb\xf7\ +t;t;\x14\xc4\x8a9\x06\xf4~\x96\xcf\xd3\xf9\xea\ +sV\xf2P\x9e\xbfO\x84U\x951\x02!\x90(Z\ +?\xa3=\xc3\xaa\x8az \x1e\x16\x12B\xe7\x8b\x052\ +Ke6(\xe0\x82\x04\xceH\x1b\xce\xeb\x7f\x0f\x8e\x8d\ ++H\xa3D\ +&\xfb>$\xa8N0\xd2\xba\x82\xaa\xcb\x17\xb3E\xc2\ +l\xbb\xdc+\xfc\xc0\xe4\xc1\xec\xf0o\xa7\xc2\xc4[\x86\ +\xe7\x87\x0a\x0d-anQR\x02htoXf\xcf\ +\xff\xcb$\x90\x8d\xcbO\x96\x9b,WU\xb4\xe4\xf7d\ +n\x87%\xcb|\x9c\xbc2\xac\xf2+\xe3i\xbdU\x09\ +\xb1%*\xb2]\x1c|zf\x95H\xca\x9c\x04\xd3%\ +\xc0\xea\x9e\x08\xab\xb8\x14\x90o#\xa0\x00\xa9\xd6\xfa\x09\ +\x9a\x97\x9e\x87JP\xbb\xe2\x8a\xec\x1e\x15W\xed?&\ +/\xc5\x1f\x00\xb1\xa0\xc4\xe5\xe4\xd1d\x8f\x09I\xf8p\ +i\xfd\xcal\xf9\x1f\x13\x09\xe8[\xab\xd6\x80\xc0\x9b\xac\ +] \xc9\xe6\x84\xd9<,]\xdf\x19\xa6\x16\xa2\xbf\xe5\ +\xc4\xcay\x91X\xf1:\x8bUul\xb5\xefK]\xc3\ +-\x81py\xa06B\xe5\xfa\xd0\xb0\x92\xf81\x990\ +\xeb\xf97aU\xa2\x9d\xe7\x82\x1f\xcfsF\x16X\x10\ +\xef\x9c\xe8o\xf1+\x1bR;\xef\xd3\ +\x04\xea\xf8\xff\xf8;\xf4\xec\xabE\xce\xc8&\x90\x19\x14\ +\xa4(\x18\xe0\x87\x13\xc7\x800\xa0\x92La\x8d\xf8\x00\ +\xbf\x9e\xf3\x0a\xd5\x15\xe2\x0b\xe6--\x01\xbc/\xa4|\ +*\xa0X.\x90\xf1\xc0\xff'\xa0F]\x00\xbf\xab-\ +\xb8\xd1bK\xfc\xd6\xca\xb0\x12X\x93\x90\xe2\xfb\xfc>\ +\x09N\x0aI\xfc=\xe3\xc3\xe7\xa5\x15\x0d\xbf\xb0\xe5\x96\ +An\x0f\xd2l!x}\xdf$$\x18\x17\x05\xec \ +\x04\x8d\x90h9\xd1Z\xc4/\xe3\xa7\xc4\xad\xc9\x11I\ +\x00P8\xe2s\xe2\x97\xb2\xbf\xe8y\xccP\x81r\xaf\ +\x14\xb2\x1bb\x97\xce\x99\xb8_\xaa\xe2\x92\x1c\x84\xfe7\ +a%C\x99\xc9\xbe\xbe/\xf2\xa98hOJvr\ +\x05]Te\xbc?$\xd9\xc1\x95\x1e\xa726\xc8\x1f\ +\x01\xbdecA&\x05(\x06\xba\xcc\xd9\x8d\xfcf\x09\ +d\xb2N\xe2\x875A\xceT\x0f\xc4\x8f\x95p\xb8F\ +\x03\xb1d\xd5z\xc0\x81N\x00H\xc0\xc7\xc2!SD\ +\xef\x0f\x1b\x10:\xdcb\x85E?\xddP\x112T\x04\ +\xa0\x04\xaa,(\xf4p\x95!7\x1b<\x0f\xea\xc5\xea\ +\xa9}\x81\x02]\x02\x01\x1e\x18\xbd.\x04f@Z\x08\ +t\xd9\xd8\x08\x18!\x13\xa4\xd7eu\xdd\x1f\x81t\xc3\ +F\xee\x80\x15\xc8<\x1b\x0b\x13\xb5\x09\x90G$$\xd6\ +\xd7\xdf\xf39%Oh\xc81\x01\x10?g\x5c\xd8\xa0\ +u\xa0\x07\xb7k\x0eP\xd9`X(Z\xd8@\x1f=\ +\xbe,|\x16\xe2s\xc4bN\xcb\x07\x90[\x02|\xc6\ +\x05\xb2E2\xf2\xfc\xbcM\x04\x00\x1d\xe2\xfb\x04\x80$\ +\x04\xa8\xec\x93\xa1S\x02\x06\xfde\xf7\xf8\xf2\xb95\x9e\ +\xf9\xc0~\xb4\x0a\xf4\xd9\xc8\x99\x97\xccC*p\x22\x93\ +\x82\x84\xc4\x07\x0c\x8e\xb9\x107\xee\x99\x05\x0a\xcf\xe7\xc5\ +\xa1eCa\xde0\xef98\x98\x07\x04\x06\xcck\xc6\ +\x09\x87\x99\x8a?\xf3\x17rM\x05\xfeN4p \xa2\ +\x22\x00R\x81\x9eqA\xfb\x8c0\x10\x07\xc2\xe8{a\ +\x15\xbb1\xea\x01bo7b\x80\xc0\x18\x19;*J\ +\x04\xa6\xb4\xf4\x88\xb5\xdd\x01\xe4\x1da%1\x00\x02\x82\ +\xd6\x18\xcfW\x10\x10\xb0\xdb\xf2\x9cy\xee\xcc\xe3\x96\xe4\ +\x85\x0dW\x81\x9a\xd7;\x89G\x109T\x12\x09\x94\xe9\ +!$\xd0A\x7f^\xbd\x9d\xa3\x13\xc2*\xf95\xa0\xdf\ +jA\x98^1\xac\xf4n\xe2\x90%\xf7.#\x1d\x1c\ +0S\xe9V\x85\xc6\xe3#\xe4\x08l\xcaQ\xd7\x8e\xca\ +\xb69\x0c eT\x02\xc2\xac\xc0d\xc4q\x84\x98\x9f\ +8\xbc\xb0(\x9f\x92\xec\x0br\x84\x8e\xaa\x12\xb5gL\ +\x9d\x11j(\x11^\xe5\x00\x9c\x84m\xa8\x00lV*\ +dF\x88\xbd&\x831\xa7\xcc\xca\xa1\xcal\xf7\x83\xb0\ +4\x0e\x1f\x0eK\xd7\xcb\xc2\xd2\xf5\xc5a\x82\xf4G\x85\ +\xf9Wa\xd5\xfe\x16\xb8\x8d\xc3\xaa\x83\x96\xd6\x94H\x8b\ +\xc5\xb8\x9f\xad\x80\xff\x8e\xa1\x97\xdf\x81}\xf4\xd4\xaf\x96\ +\xc7)#o\xd2\xe9\x9a{t\x81\xbewW\x85\xa5\xeb\ +_\xc3\xd2u\xbb\xb0\xaa\x02\xbf\xd8\xc0\xc1a\xc7\x1a]\ +o\xe9\xa9O\xef\x1cV\x12]\xee\xb5}*\xacB\x14\ +(\xc1\x9b\x03\xa4\xe8\xf9\xbf \xd9\xb7J\x00\xe7\xcaR\ +t\x84F\x80\xb9sX\x91\xd1\xb4^\xf9\x09\xaa,n\ +\x19V\xf6\xaf\xd19a\x159\xdd\xd2aUe\x96V\ +\x19\xc9\x86\xbaUF\xf3\xcc,\xe1J\xa8\xe1\x10w[\ +\x87e\xf9\xc4d\xe9\xfb\xfb\x85\x95}\xb4\x7foXU\ +\x19\x81\x1cL\xba\xc9F\x02Q\xb1g\x5c\xc5\xc5a\x87\ +\x8e\x84+=\xfa W\x04\xad\xb6C\x087\x8dz\xe0\ +\x9d\xcfc\xdf\xe5\xdc\xa3\xc5\x07d\x0d\xdc\x14\xc8-\xd1\ +\xcb.\xc7/\x05\xea\xc9\x0a\xb4\xbf_;\xac\xb4\xea8\ +a&\xbd\xef~\x95\x81\x1c\xb3\xffKX\xba\xfe9\xac\ +\x82\xdc\xaf\xde\xaf\xd6\xafV!\x0024\xa2\xa8w\x98\ +M^\x8esN\xd8|\xbf$\x98M\xd6\x8aC)\x7f\ +\xc2\xea\x00\xb0\xf6\xc7<\xd9\xa9\xe2F \xb1K\xe5Q\ +=\xee\x0eT`;\xbfH\x01\xc6\xd1C\xcf4*\x22\ +\xfd\xe7\xfb\x93\xfa\xcf\xa7\xaf\xaf\x08K\xbf\xff\xea\xb0,\ +\xeb\x97,\x8d\xe3Ea\x05\xeaku\x95\xd7\x8a\xf4\x96\ +\xf3\x86\xc4\x8e\xb8ZL\xfex|\x0e\xe1\x86yq\xa4\ +*\xc2{\xab\xc2\xfa\xbd2.>'y^\xd1\xaa\xb1\ +my_Z\x05\xe6\x9c\x1b\x96\xeeo\x8b0\xb5\x5c\xbc\ +\xad\x9c\xefNh\xf2\x0f\xae\x02\x12Vja1\xdb?\ +\x81?rn \x04`\xadG\x86\x10\xee\x01Z\xc0\xd4\ +z\x17\xe1k\x04\xb0\xfd\xec\xb0J\xe6Q\x09U\x10+\ +~.\x04\x8ab'77E\xa4S\xf6\x1e\xd4\x86b\ +?\xe9\x0e\x08+\x5c\x04\xf9\xf9\xa4}\xb4{wX%\ +\x8bM\xe0A\x02M\xcf\x81\xc0\x1e\xb5\x11\x07\xb6\xf8\xf1\ +\xac'!\x18]\xb9W\x01#\xab#\xac\xae\xc2\xde\xdb\ +K\xa2\xc7\x05\xc0`\xf3?FH\x8a\x1d+h:\x09\ +3\x91\xadA\xe6\xe8\xdf[*,]'\xc9\xbd\x9a\x94\ +\xc4\xbe\x91\x1a\x14,\xd6\x92_Mb\x05\x0e(Z/\ +\x98\xd7 \x81(\x90P\x00\xc5\x8f&@\xa5\xa2\x8f\xff\ +\xces\xa0@\x07\xb2\x09\x84\x91\x9e\x8b\xf75!\x8f\x91\ +\xdb3\xb9,~\x12\x09\x94 \xb7\xdc\xadB\xfe\x810\ +d|\x09@\xa5.\xc2s\xb1\xaa@C>G\xa2\xd0\ +-\x9f\x04\xba \xfe(X\xd1jB\xa2\x02\x7fU~\ +\xa7+\xd2\xbc>\xfe\x01\xfe\x12~\xd1\x0da\x15\x94\x9f\ +\xd6\x11\x90\xd8 [HX\xd0\xe2\xc1\xeb\xcb?4\x92\ +\x96\x82+\xe7:\xfb\x16q\x8a\xfc`s\xf6@\xd2\xca\ +\xfb\x92@\xc0\x0f\xa7`\xd8\xa8|q\x8e\xe5\x16\x9b\xeb\ +\xab\x84\x06q\x08~\x22\x90|\xc9(\x13\xbf8\x10\xe7\ +\xf7H\xfc\xd0\xcb\x0f\x12\x8b\x84\xda\xdd)B\xba[\x08\ +\xbc[\xaa\xfb\xe1\xf3Q0\xe3}\xf8\x5c\xc4GM|\ +\xe2\xcf/\xae\x80\x999\xeb&[\xa7\x82\x22\xfe5w\ +\x8f\x0f\x95\x95\xe9\x02m\xcco\x17\x01\xc4'\xb3\x0d\x95\ +\xac\xaf\x149\x99\x0c-K\x07x\xf7\x8f\xb0t\xbd&\ +\xd9\xb5\x05\xe2\xe1\x1e\x18}0\xe4\x81\xc8 \x01\x11\xb3\ +<\x0f\xbdz<\x10\x0er\x0e\xe6\xa8d\xcd\xd6\xc0\xde\ +\xac\x8d\xee\xf7\xba\x9f\xf9$\x832R\xc0\xf0\x8dj#\ +\xd2\xc2\xa0\xf2\x95I\xad\xbe\x94{\xae\xf6\x89\x8a\x903\ +5\x0c \x13\x8b@\x87\xaf\x09\xdc\x98\xe8L<*\xe4\ +\x1c\xb0L|\xc8\x96\x80J\x13`\x90Y\x9aW\x13\x8e\ +\x00\x03\x12;\x027\x02P\x1e<\xe4P@\xd3\x09\xd8\ + _$Q@\xe2\x02n\x06\x10\x06$\x0e\xda+\x01\ +b\x1b\x00?[e\x9f\xf1`\xdc\xf8<\xf3(p\x90\ +\xc3m\xd2&\xc6\x05\x15\x03\x02\xee\xbbu\xc0\xd0\x1a\xc0\ +\xeb\xb2`P_xt\xf2X\x0e\xa0_\x16]\xab9\ +\x00\x1b\x02\x0f\x16\x06\x0bjI\xddwK\xca\xb1\xb1\xe4\ +\xefV\xd3x\xbcY\xe4Qp$\x88\x8d\xdb\xbd\x5c\xa3\ +F.\x102@6>\xee\x93\x00\x90k{\xff$\x02\ +\xc8\xd0\xb5H\x016Z\xc6\x91\x83\x9b\x0d\x13\xd2< \ +\xafT\x98\x91\xbf\x94\x1a\x80+\xe0lh\xf4\xe2qP\ +!\xf7wqX\x15h\xd2\x0aC \x0f\x14\x99\x83\x91\ +D\x10\x1b\x0a\x1b\x1e\xef\xc3\x95\xe7\xcf=\x90Iz\xff\x13\xb7\x07\x95\xdft\ +\xcae\x16~\xd6W\xaed\xcf\xaa\x02\x17\xf6]!Y\ +3\xc2\xec\xc2\x8a\xdc-z\xfd\x8fW@\x91\xee\x7f\xbc\ +LX\xba\xfe;L\x09\x80\xf3\xd2\xd7\xefK\x16\x5c\x00\ +\xbf\x0a\xabZ<\xd0i\xa7'\x9a\xf3\x11?\x90s\x9d\ +\x0a\xa9\xf6\x17\x90\xa8p\xff\x80\xcc1+\xff\xfb\xa4\xbe\ +\xa2\x16E\x12;\xa8_\x10\xf0v\xc7\x87\xa5\xcf5o\ +X\xfa\xfe1\xc9>YA}\x81p\xc3&\x8e\xdf\x00\ +\x12\xed\x1bC\xebO\xe6\xdaI\xd7\xe9\x95\x93\xad\x94^\ +\xf7\xf9\xc9BVs\xc3\xb0\x12\xb8\xd0\x8a\xe2\xe7\xab\xc2\ +\xc1\xe8\x07a%\xe1g\xce\x8b(\x90\x9d^\xb8WL\ +\xaa+\x99T8\x14\xfac\x93\x1dW\xed/\x0a@\xb3\ +\x0a\xc0^%\xa0u\xcb\x8d\xd6\xa3\xf7\x03\xfc\x09\x029\ +\xc6\x1d\xff\x8dy\x8b?\x0b\x92m3\xc9\xcc\x0a\x89\x87\ +\x1a\xc0\xe4uaU\xc2\x90\xd6;\xce\x09\xfc4\x10\xac\ +\x04\xa0 \x1bo\xd3\xf8K\x95\xc3*9j\xb1\x04\xd9\ +\xe4y\x81\x9fH\xa2\x96\xf3\x01?\x1b\xff\x98\x04\x1c~\ +RC\x9amh7\x09\x02\x90\x03$\x9c\x84@0\xc2\ +\x0b\x889\x89\x1dZ\xacy_*\xf6 \xe1\x848\xcb\ +\x05\xde\x93\x0aw\x91IP\xf1\x8bx\x1e\xf8\xc1\x14\x98\ +\x16|&b\x99\x16.\x12\x8e\x8e\x9bZ9<\xfc\x0e\ +\xfce\x105\xec\x17\xfc\x1dl\xfd\x90\x11Ry'\x01\ +@K(*\x17\x04\xf2$b\xf9\xbc\xc8\xd9\x12\x1f\xb2\ +\xbf5\xc8n\xabC\xd0R\x80\xdf\xce\xfaoT\xd9(\ +\x88#\xff\xee\xe7\xcf\xe7h\xf7\x0b\xde\xef\xb14\xdb\x1e\ +\xab\x10\x09\xf8\x95|n\xe2\x0b\x90\xbeR\xb71\x92\x80\ +V\x1c\xde\x07RH\xf9\x873\xd3\x8f$K\x13\xba\xfb\ +C\xb2\x9bJ\xc5<\x03\x13\x0f\xd4D\xb9\xadd\xea2\ +9\xd0\xc1\x05jE\xe5.g\x02?\xa6@o\xcd\x01\ +\x12\x92\x91\x04\xc1B\xbfH\xb5\xd1\x13\xf8\xb2@\xa9\xf4\ +\xe2\xb0S)W\x05\xd9\x90\x1022\x04\xa2q|T\ +\xb2|L\xfcn\xcd\xb0jC\x16\x1b\xacIaD\xca\ +\x02[4$\x87\x93-\x92\xbd&Cr\xf3\x06C&\ +\xd2\x95i\xc8N\x080 \xe3#s\x83\xac\x10\xbd\x1a\ +m\xa0\x07Y\x0c\x10\xe3\xcd\x95\xd1\xa6\x02\x01\xe4\x85L\ +\xd5\xba\xaaH\x11`\x90iba\xe8#\x90\xdf\xb8\ +\x22\x13\xa4\x87\x1b\x16\xf6W\xaa\x02]T\x17\x06\xa8'\ +\x5c\x0e+4-\x02T\xe8\xe5 Yf\x8f\x0a:\xd7\ +\xc7t\x00\xf0y9\x10\x9a\x05V%\x22\x06\xc7\x9f\x03\ +\x88\x00\x1a\x07\x88\xe7J\x0f\x13\xfa\xea\xa8#\xf0\xdcH\ +`\xf0\xfa\x92#2T\x8e\x8dG\x8e\xa03\xba$\xce\ +p\xbc8\xb8a\xdf\xc71\xd1F\x0c\x14\xd9\x01\xbcz\ +\xec\xfc:\x04h\x82\xdeW-!\x03B\x80u\xcc\xf3\ +e|\x99O\xf4\xea\xaa\xf2i\xc7\x84\xbf\x87\xf5\x1b(\ +\x16\x19iH\xf7 \x89\xa1\xc5\x81@\x9a\x1eq\xd6\xa9\ +\xf6\x15\x93\x0e\xe9\xf7]I\x17[\xac\xe5\xf6x\x1eT\ +\x06`k\x16I\x953\xf4 \x08 +\x05\x9a\xc8\xe7\ +D\xf7\x18\xf2F\xc9\xd0Y\xb6\x05D\x03\xf3\x91\xe7\xa9\ +\xf9\xd5\xad\x1cV\x05\xe8@\x8f\x91\x9bZ6\xacb\xf9\ +%\xa1C\xcf#\xfb\x12\x07\x10\xeb\x90\x1ef8U4\ +?I\xa8e\x08\xea\x02\xf9\xf7\x07\x0e\x98P\xc5\x0e\xc8\ +\xfbij=\x00\xf9\xa1\x80\xdePv\x02~}\x9e|\ +\x1eM\xaa\xf1\x14D\x14\xe4\x94[+\xd4\xb3j(1\ +\x89\x01\xcd7WZ\x05)\x8c\x06\xb2,\xe7'\xa4\x06\ +\x95\xc4n\x81\xb0\xc2!A\x0f \xe4M\xb0rgr\ +\xb9\x03+v\xe0\x22\xc73\x9c/\xcc7\xed\xd7\xfd\xb7\ +\x93Eba\xd7d\xbb\x15\x07\x81\xd6\x85~\x8f\xb0R\ +\x016Y\xdd\xaa\xd2\xfb\xbem8\xe8\xfb\xab\xfb\xab\xfa\ +\xab32\xe0\xb4L\x8aGo'\x09^\xf6#\x10?\ +\x92\x1b$p\x22\xc1nh\xae\x90\x07\xdd\x1da\x22\x05\ +zM\x81Z[mA\xd0\x7f\xe6\xbf!\xd6\xe20\x98\ +\xbc<\xacp\xf0\x98U|\x8b\xa1\x97\x15=\xe4\xfe\xe8\ +\xb0\xca\x91\xe29\xab\x15b\xb2\x95\xe4(\x81\xda\x02\x8d\ +\xde<\xac\xb0\xb7\x9b+B\xba\xf7\xfd\xbb\xc3\xca\xefw\ +/\x08K\xdb\xe3\xb5a\xe9\xebk\xc3\xd2\xf2\xb8=,\ +\xfd\xfe\xd7\xc2\xd2\xf5\xd5a\x95#\x8b\xe3D\xa5R\x89\ +;\x02v\xa0\xa9 \x17H\xc0MV\x0c+\xb2|\xfd\ +_\xc3\xaa}X\x01\x22\x0eW\xff\xeb\xb0B\xe2\x87\x03\ +=g\x1c\x96\xae\x17\x85\xa5\x9f\xbf#,]\x7f\x1fV\ +\x05\x18\x22\x9f\x83\x05\xbc;:\xac\xac\x1f\xf4\xdd\xe9\xc5\ +Na\xf9@\xf2\x08\xb2A\x81\xd3\xd4\x16R_ \xa1\ +\xaa\xf3\xcd~\x0d\x10\xecp\x1f\x1f*P\xfa\xdczy\ +\x9c\xe6\xd5\x17+\x99\xb5\xaff\x1e\xf3\xe2Wi\xff\xcc\ +\xfe\xd0\x169`:!\xcb\xe7\xdd\x91YxJ\xab\x16\ +2\xab \x85H|n#\x087\xe7\x0d\xfb\xa1H\xff\ +hE\xe8\xdf\x16V\xb1Vk^\xc1\x9d\xe1\x8a'\x15\ +R\x15\x98\xacw\x7f\xe9\xe0\xbfu\x1f\xea\xf6\xe9\xf6)\ +\xadJ\x93YaJ\xe8F\xc2\xf4\xd1d\x8f\x98\x13\xe1\ +\xfa\x00\x00 \x00IDATU\x95\xf8\x08\xa8\xd3\xfd\ +\x8f\x0f\x0bK\xcf\xed\xb3\xc9\xd2:\x99ssX\xfa\xfe\ +\xb7\x92\xa5y\xd5\xff(\xac\xb4j\x80\xa4t\xa0\xc5\xf9\ +\xa6\x80\x8d\x0a\x9cI[\xe9E&`!\xc0\x22Q\x02\ +\xb2J\x1c\x11\x19y\xb0ME\x86\xaa\x82\x0e\x9c\x22\xa3\ +?\x84U\x09`q\xa3\x18\x81\x81\xdf\xa2\xd6\xa9\x8c\xa0\ +\x89D\xf3\xe7\xb3\x19Z\x9f\x13\x98\x1f*\x89\xb7\x8c\xc3\ +;<\x8d\xe3\xc7\x93\xa5\xf1\xe8\x8e\x18\xd8\xfd3\x92\xe3\ +\xa2\x0a\xd1G\x01\x83\x8a\xb6H\xf0 \x0bM{\xce@\ +R\xaaDO\xdeWNQ\x22m\xed\x0aq\x01\x87\x8d\ +\xd6/-]\xfd\xcea\x159\xa8\x02\x1bs\x1f\x08Y\ +a\xd9>\x05\x9a9\xf1qL\xa5\xc2\xa0\xe7\x9fv\x9f\ +W\xc4\xfec\x9d{\x0ax\xf8!\x8b\xeb\xbc>}H\ +|gR\xb6\x97UHNz\xe7\x09h\xf1\xe3\xd4\x02\ +\x99\xeef\x80\xa6\xab\x85\xca\xaa]\xe2\x0c\xc8\xf1\xd2j\ +\xd5\xf9N\x85\x5c\xf2\x8fN\xa4\xe2_\x13\xc7\x90x\xc6\ +/\x13\xc7\x84\xfd1\xe2 \xce\x7f\x02l\x0a\x18p\xc6\ +\xa8\x05\xc3-\x0c\xe2\xfc\xb0\xfa\x88\xfcq\xb7:S\xd9\ +'q\x06I\x1f~\x9f\x0a`\xae \xef\x12V\x05\xaa\ +T\xf2\xf9\x9c7\x0f\xad\xbb\xfe\xfb\xf6\xf3\xe2\xe7\xc1\x8e\ +\xcf\xf7\xd9\xcf[R\xbe\xa6\x12\xef\xc4\xea\x04\xad\x0a\x00\xe3Of\x8ey\xdbr \xb0\ +\xce\x98\xff\x8c+\xe4\x98\x82:\xb9\x95`\x95\x86\x04\x92\ +\x84\x0d\x1b+\x81\xa0\x1c\x7fW\xb0\x19g\x1dd\x0e@\ +\xd1\xa5\x07\x1a\xaf\x84@t4GO3?'ps\ ++\x0c\x9f\x87\xfb\xe1\xf5\xd9\x90\x1b\x19?C\x9ah-\ +hZ\x13\xd8\xb8\x0c\x91g\xe3#1\xc8?\x9e\x13\x9f\ +\x1b\x84\x0b\x0912\xf1p\x1c\xc0Y r>CJ\ +\xe9M\xa4\xc2\x0c\x87\x00\xeb\x1b\xc7K=\xa4\xb9\x97r\ +\xfb\x8a\x04\x92\x8d\x94\x83\x96\x96!\xe9-\xb3\x0e\xbb\xa5\ +\xc3\xaa@\x93\x03\x1aG\x99\x96\x08zh\x09\x84U\xd9\ +\xb7\xce:\xcf\x03\x99@\x1c\x12 \x95\x90\xa61\xefH\ +,\x08Zl\x87\xed\xa1a\x9d\xf7\x8f\x87\xa5\xfb\x9b/\ +\xacJ\x18\xc0\x01s\x82\xc8\x19a\xd5_J\x89^\x1d\ +\xec\xaep\x8bL\xd2\xad\x05\x221\xcc\xbd\xd0\xabT2\ +q\xb4\x1c\x81,\x89^\xe1\xdf\x146\xdb\x9c\xd6\x09\xf2\ +\xa9K\x93]\xa2\x9e\xed[\xe5\xf0\xdeXZ\x1d\x18\xcf\ +n&L2`'W\x81\xfb\xb1\xd9J\x02h\x81\xec\ +\x8a\x0d\xf3s\xa6B\x8aE\x98|Z\xe9\xbd7\x02M\ +P\xcf\xee\x9b\xc9\xce\xae\xf4\xd3\xa3\x82\xbc\x89Z\xc8\x8e\ +\xc9\x0e\xf8\xee\xa3\xdd\x8b\xdc\x11d\x96\x93\xcf\x86U:\ +\xd7r\x90\xbb[\xba[\xbb[J\xe0\xe7\xc0\xfc\x9d\xea\ +\xb9\x86\x14HPO'\x8cx\xce\x90=\x82\xcc\x22!\ +\xc4\xbc\xa6\x027\x09\xab\xe6\x89\x1cv\x02\x9e\xcc*\xfe\ +\x81\xaa\x82\xa9\xca\x85\x1dgU&\x92[;8\xda\xb0\ +\x97\xc3\xd2N\xe5\x8f}\x8b\xfd\x1a\x0e\x0dX\x87\x91\x89\ +To9\x8e\xa4\xa1\x9br\xc4\x8d4\x90\x0eywP\ +X\xban\x12\x96\x1e\xdbG\xc3\xd2}\xff#,m\xaf\ ++\x84\xa5\xdf\x7f\x7fXu\xce\xb3\xcfj\x1f\x03\x1aK\ +k\x0bl\xd7 \x0e\x1c\xd8R\xb8\x90>\xb6!\xf2$\ +F\x14\x90\xb9\x07\x9b\x80\x96\x8a\xa0*\xb1\xfdZa\xe9\ +\xfa\xd6\xb0t\xfdcX\x96\xc3K\x96\xae\x07\x0e\xac\xf8\ +f\xfd\x96\xdf\x93e\xe5\xd2\xf96\xfd\xee\xb0B\x9ak\ +d\x12\xc8\xcbSG\xa7\x8dN\xcb\x90\xed\xa1r\xa5\xf9\ +a\x84\xc7f\x92\xa5\x02\xfa\x8f\xfca03\x1dZ\xad\ +3\xed\x0b8\xee8\xc4\xe6\x22\xd1:r\x85O\x89\xbb\ +\xfe\x17)\x00\xfbE\x91\x1dD_\xdd\xfb?\xe7\x0a\xbd\ +\xaf\xcfW\xa2\x0c\xae\x01%N\xa9\xdcZ\x8e\xebCa\ +\x19I\x93\xf7\x8d\xc9\xb7T\x89\xa3\xb7\x9c\xdeqZ\x12\ +\x94\x00\x98ZO\xe7\x152\x8c\xbb\x0cH%\xb76P\ +`\x22\xf0\x8b]q\x8e\xce\x8dYJlEk\xc5\x06\ +\xc9\xd2\xba\x1b?\x15\x96\xbe>+\xd9\xd7\xa5Vpo\ +i\x85r\x0b\x1b\xc80A\xa9\xfdyA\xd6\xa0\xd2B\ +\xab\xe9i\xd9\xca~O\x00\xadD\xd5\xe8Ga\xe9\xba\ +zX\x9a\xf7\x9f\x09+\xef\x0b\xc4\x18\x19@#\x9f\x94\ +\xd0\xb3|\xb0\xc8\xd8@\xd6t\xdf\x0bK\x9f\xe3\xdc\xb0\ +*\xe0a\xdfC\xeeV\xdc\x0a\x96\xd3F]\x06n\x9e\ +\xef+\x01N\x05sf4\xcfh\x9e\x8c4\x1c\xfe>\ +X\xf6\xff\xaf\x9a_b\xc1\x9f|br\xe4\xe4H\xf9\ +OO\x14RqC\xba/\x10+}|\x9a\x0b4\xae\ +?)\x89\x93\xf1EaUk\x9a\x10\x1d&\xcd\xd4>\ +\x02\xa7\x96\x912\xbbM\xde\x9e!\xf1\x8d\xfc8Pz\ +\x93T\x12\x98\xd3\xaa\xf0\x1a\x91\x0fo\xaf\xf3X\x9cJ\ +F>\xa0\x1aEb\x15\x99\xbbcT\x89\xd7\xfegR\ +@\xfc\x03!\x1e\xdc\xfa\xd1\x90};\x11M`GA\ +\x8e\x96_\xf9Y\xa8K\x10\xe8\xa7O\x99,]\xdf\x1c\ +\xf6_z\xd2\x89;hi\xc3\xef\x05!\xcc\xfd!#\ +x\xf6@F\x8b\xbf\x07w\x8c\xe7/\xfe;du \ +R\x1a\x8e)\xc7}\xb48@:Nb\x9b\x82.\xe3\ +\xa2\xfd\x93\xc4\xbde\xa8\x89c\xf0\x97\x19\x1f\xe61\xfe\ +\x0c\xfe9\xcf\x9b\xb8\x01\x7f\x94\xd6\x03\xfc\xa0Y\x8d\x1c\ +8\xfe~](\x9e\xf5_\xfc\xcc\xd2b<\x5c\x1b\xff\ +\x1b2e#\x01\x18o\xee\x97\xf7\xe1s\x910!P\ +\xa7\xa2\xafx\xd0\xa4\xd4\x14~o\x1b\x0a\xf0sqE\ +\xe8\xdc32\x12?\x01\x7f\x88\xc4\x0b\x89\x80\x96\x0cQ\ +\x05\xdc\x99\x5cw\xbe[\x0e\xf4\xcd\x0ad\xc6\xffE\x1e\ +a\xf5\xdcE^*u\x0bf\x019\xb3\xf3:\x03J\ +\xa5\x92\x80\x00\xe8\x05\xbd\x0a\xf4\xd4\xd1#\xcc\xc0\x00\xe5\ +C\x9f\x9c\xbf[\x22+\xd3O!W\xe8\x07\xc4\x03i\ +I\xe8\x98\x08\xb0\xbcS)Uo\xa7\xe5\x8e\xa8\xd4\x13\ +\xc8\xcdh\xe2\x00\xc5\x91\x83e\x96W\xe9\x88\xa2\xd7i\ +=n2\xb2T\x12\xe9ag\x02\x01\x1dg<\x09|\ +.\xd7\xc6\xb2\x9e\xc6eS!\x02$w\x07D\xdb\x13\ +\x5c\x81l0(d(=\x09\x13&\x06\x0b\x1eR=\ +2\x99\x92\xf91T|^M\xa060e\x1c\xc8\xb8\ +C\xd2\x02D\xf1QU\xbc\xdb\x8a8=\xfa$\x02X\ +\xf8\x04\xc4+5\x1c\x01-\xd9\x1e\xd0\xd6e\x07H_\ +\xda\xa4\x86\x8av\xe9\xb9\x1f\x9e+\xcf\x9d\xd7\x99O\x01\ +)\x1b\x0f\xd0|\xe4\x1d\x19\x8f\xc7t\x9f8p\xbd\x12\ +J8\x8e\xad\xec \xf3\xb1\x85\xe6\xf05?\x7f\xb2I\ +p\x90 `\xe1\xb3\xd0\xf9\x9a\xde|\x16.d\x92$\ +N\xb8_^\x8f\x8d\x86\xd7\x05\xf2\x05\xd4\x88\xdet\xf5\ +\x9c\x01\x15\xf5?\xc8\xa9\xd0\xe9\xde#\xacT\x04,\x97\ +\x16\x5c\x19\xd7\x96\x9eJ\xb7\xc8\x00]\xc6\xa1\xe2\x00\xe3\ +y\x12\x90\x00\x11\x93\xce\xb7\xa1\xdf\xc8M\x22\xa3\x09d\ +\x9e\xbf'qE@\x0eD\x94\x1e09\xde\x0e\x80\x19\ +\x07\x0e\x04\xae\xfc\x03\x89C\xe5\x5c\x1b?\xd05\xa0\xab\ +\x86n\x0b\x09`\xbd]Z\x8f\xe8E\xc6\xb1\xd581\ +\x0e\xaeT\x13\xa0\xf1>\xd2#\x86\xe5\xdc\x07\xdb>a\ +e~\xb3\xbf\xb9w:8T.\xaf\x0eh\x12\x90\xec\ +;\xaa\x9c\x91p\xb4C\xad\xf95\xfa\x9e\x12\x17r\x8c\ +\xa7\xd6\xd0\xbe\x09G\x04z\xf5\xeb\x0d\xdc\x19A\xc5\x95\ +\xa1\xe3\xd7\x0c\xcf\x1d\xa8\xa7\x1d\x8f\xdb\x15\xe0\xa1\xaf\xfd\ +X\xc6\xbc\x84L\xdd-90\x8f^\xfeS\x8a<\x1c\ +\x0ej\xf7\xab\xb0\x12\x98\x8f\x1eI\x16P\xba\x8f&;\ +\xa4\xea\xd5\xfe\xce\xc0>=Zw`\xe1v\x0b\x84Z\ +A\xe0\x88\x80\xd4\x8f\x80i\xfa\xec\xb0\x5c\xa1JV\x91\ +\x0b\x82x\xda3\x9b\xf7g\xf4\xaf\x0d\xf9_<\xa7\x0e\ +\x1d\xc8\xe7\xe36*\xaf\xaf\x09S\xa5\xf0Q\xf5\xde\xae\ +Y\xb1M\xcb\xe1\xe2\xfc\xe8\x17\xe8\xe7\xef\xe7\xcf\xf3q\ +h\xc193,\xbd\xce\x1ea\x05\xe2\xdd\xff \xac\x22\ +}R\xc2\xc7dd8\xde$\xdeH\xa00\x8f\xd4\xe3\ +n\xa4\x0e\x01\xda\xcaC\x05}2\x1dV\xd4z@\xa6\ +\x00\x857\xfbyS\xe9\xb3\x1a\x0dPR8\x17\xd0\xdd\ +\xfeXXv\xd0\x87\x0a\xbb*\x8c\x0el\x90\xed\x13\x12\ +nr\xcd\x00\x91\x04\x92\xef\x96@\xc8\xb9\xf4\xdc\xe9\xdd\ +\xa5\x82\x0e\x82\xa3_\x22,\x1d#\x9f\x18t\xeb\xe1x\ +\x012\xd9\xfd+\xac\xb4xP\x18\xc8-~]\xe5\x90\ +k\x5c\xc7G\x87\xa5\xd7=8\xacJ,\xaa\xc2E%\ +\xb5\xffIXq\xf0\x09P\xc6W\x85U\xd0\xfby\xc2\ +*$\x1b\xc8\x00!\x18\xfb\x1f\x87\x15\xee\x84\xfe\xd0\xb0\ +Ra\xef\x8f\x08+\xeaBN\xec\xee\x1fV\x1c\xfb\xe9\ +\xbf\x85U\xf3_\xfbq\xb7\xe5\xb0\xee\xfb\x03\xc5\xf9A\ +\x02\x80D!\xbf\x0f\x99\x99T\x9b&{\x87U\x8ev\ +\xcc\xf7\x9f\x97s\x01\x8e\x00 \xe8\xec+\xd6K\x17{\ +=\x89\xab~\xfb\xb0t=.,\xaf\x83d\x05\x91\xd1\ +_\x1eV\x12\x22\x13\xa0\xfc/\x17{?*3z\x1e\ +p\xd7\xa40f`\xc9'\x00\xb9',\xbd\xce\xa5a\ +\xa5\xb7\x1c\xe4\x0dl\xeb\x93\x93\x87D\x05\x10d\xb7\x84\ +\xc8\xeft\xa5\x19}u% \xfaU\x93\xa5\xf1\x1e\xbf\ +;L\xad.KW\xbd\xd3T\xe0Id\xe3\x87\x80\xe0\ +:.,\xfd\xfe>a\xda\xdf>Z!\xc5t\xae[\ +UB\x89\xe6\xeeea\xd5\xb9\xa9s\xbe\xdf-\xac*\ +\x90P)$A\x8d\xac\xdf\x0e\x0a\xf8\x08\xd0iyc\ +\xdf\x93\xdfM\x22{\xfaUaU\x00J\xc2\x93\xf1h\ +T~\xfc\xf9a\xb5\xff\xaa8\xb7\x14\x98sn[\xfd\ +\xe4/C\xe2\xd7$\xe0\x9c\xe3\x0f\xa9\xc0\xb1\xbd\x10\xbe\ +\xec\xcf\xf8\xeb\x14\x8e(\xb8\x814\xde#}\x8a=\x8a\ +\xff\xd0o\x1eVq=@f\x07\x12C2\x9a~\xfd\ +W\x0c\x85J\x93\x9f\x22\xd3\x88|*\xfe\x02\x89C\x10\ +\x11<\xbf\x87\xc4~\xaf\x9ey\xef\xbb\xaf\xd3f\x1c\xdb\ +\xde\x9c\x16\xc9\xd0&L\x08\xf0Y\xd0\xca\xb0\x02\x81\x82\ +L\xd3\x01=\x1b\x122\x86p$p\xbf\xac\x07\xe4X\ +\xd4{G\x00\xef\x0a\x0d\xcf\x1f\xa4\x04\xbd\xdd\xcc;\x10\ +6$\x5c\xf8}\xd6\x09\xe3\xcfsTe\xce\x013\x09\ +:\xe6\x1d\x099%\xd8\x9c\xf0\x83\xad\xfe\xa4l\x85M\ +z}\x07\xa4\xc3\xfd\x09\xb2\xe6\x00\x1d\x07\x8bL7\xe4\ +\x8d\xaa\xd4\x19b\xcf\x86L\x02\x85\x1e\xf9\xf7\x86U\xd0\ +/\xc6\x9f\xfb\xc5\xc1A\xeeJ\x07=\x09\x0f\x1f\x5c\x04\ +4l\xbcdNA,\x01\xb1\x03\x02\xcd\xf7A\x06\x90\ +Y\xe5\x80\xc1\xd1`\x1fa]\x01\xc9g}\x01%\x14\ +t\xdf\xbd\xb28j\xf44Rq\x22 T\x8f\x1b\xbd\ +\x8c^\x7f K@\x16\xb1O\x82\xbc\xd8T\x5c\x0cb\ +\xe9\xf6\xfe@\xc6\x5c\xf2G\xb9\xf2\xf2\xb9*AA\x8f\ +\xbbH\x0b\xa7\xdf\x1b\x96Y\xef\xdf\x13$Q \x052\ +\x14\x7f~U\xa4/\x97\x9cb:\xe8\xbbC\xc3*D\ +\xd6\x12\x81)(\xec\xfdY\x9f\xfe'\xa5\x17\x99\xf7u\ +O>z\xcb@\x06\xe9-V\xef:\xbdl\xf4V\xf6\ +\xc7\x84U\x8e\x8dX\x9d\xbb\xc5\xc3\xd2u\xc9dKT\ +r\xb71\x0b\xf6\xa9\x9e\x13l\xc8\xb4\xbe\x08a\x83\xee\ +:\x95\xb7n1\xbd\x1e\xf2w;\x0c*\x00\xdd\xe1a\ +i\x9c\x16\x0e\xab*x\x92\x91\xb2\x0a\xc3h\x98\x1e\xe6\ +\xb6\x00\xe2\x09\x22@\xd3\x87\x807\xab6\xdc\x92!\xe3\ +\x83\x9a\xc3\x95C\x051\x7f\x8e'K\xa0\xe4\xc0\x92D\ +\xf8\x13\x99%\xc5\xe7\x9f{\x5cQ;R%\xcd\xfb\xd6\ +\x87\xc3\xb2\x03:8\xf4 _\x80.S\x89\x22!\x8e\ +J\x04\xfb\x22\x8e\xb0*o\xfdo\xc3J\xebN\xbfr\ +X:N>\x1aV%\xd0\xc5u0~(\xacp\x15\ +X\x8eW\x8eZ\xb7\x5cXz\x9d\xab\xc2\xaa\x80\xe1\xde\ +\xb0\x8a\xdc\x92}\x10RB\xf4\xe1\x09\x14\x91aS+\ +\xa0\x91\x00\xb4B\x80\x08\xd0\xfe\xeb\xdf[5\xac o\ +`W\xef?\x14\x96\xbe>*,}=\xff\x90(\xea\ +\x9f\x08S\xab\xcdc\xb9\xd2\x9d,\xefc\xc3\xbcV\xab\ +Zt\xbcG\xcf{\xb7MXr\xcc\xbe\x16Vz\xfd\ +\xbb\xa3\x86\x96\x81\xc9\xa2a9\xd16\xb0\xe3\x8f\xc3\xd2\ +\xcf\xbf\x18\x96~\x7f\x930\xad\x97\xbd\xab\xf3W\x8e\xbd\ +\xc9\x19\x91\xcd\x13\xd7\x81?\x878\x13\x90%\x04Q`\ +\xd2\xc1\x9b\xc3\xd2\xf5\xb9aU\xa5\xff\x05\x034\x9b\x0a\ +u\xb7\x96\xf6\xd1\xe7\x0f\x89\x8a\xc9\xb9BL\x1c\x1eV\ +\x05\xb8\xf4d#g\xa6\x8agK\xe2\xdb\x7f\xa9\xffr\ +\xff\xe5\x1c\xd8g\xb5\x8a\xc9\xca\x03\xfb>\x09\x9c\xfe\xae\ +0Ud\xaf.\xe4\x91\x99c\xe3!A\xed\x93\xbf5\ +~c\xb2t?\xfd\xab\x92E@\xf9\xfa\xb0\x8a\x14\x12\ +\x7f\x88\xc4\xfa\x91CE\xdbj\x04\x82\xac{\x1eh\x9e\ +\xfb\x1c\x95\x7fc\xe8\xbe*\xeb&=#\xb0\x93\xec\x9f\ +\xd5A\x94H\xf4\xbe\xcf\xbe\x0d\xdb\xff\x99C`\x1a\xda\ +\x07Y\xfd\x80\x80\x90D\x04d\xb8 \xfah\x95\x10\xd9\ + \xcf\x1f\xd2O\xf7\xd2\xcb\xafu\xcf\xb3\x0az\xc9G\ +\xb9+\xfb)\xf87\xbf\x16y\xe6\xfb%\xb7G@|\ +\xae\x029*\x90\xec#G\xaa\xe7\x5c\x014\x89\x13\x17\ +\x0cnNv\x8b*\xed\x7f\xc8~J\x96#to8\ +2\x96z\xae\x90\xdbZ~\x97D \x90\xfak\xd4\x92\ +\xc8y\xc6y\x0b\xa4\x1d\x04,\x88A\xe2\x09Z\x03\xb6\ +VbV\x81\xbb9B~\x16V\x9d\xef\xc4\x11\xf8\x8d\ +\xa8\xf8\x88\x14\xd7j*\x04\xb0 \xab\xf9}\xc8#A\ +\x8eh\xdf1\xd2D-K\x86\xfe\x1f5\x90i\x9ae\ +\x9f\x80\x18V\xffS\xf4\xfe\x90\x96#\xf3G\x8b&\xe7\ +\xa8\xf6o\xb3\xea#\xe3\xc7|'\xce\xc0\x9f\xc0_%\ +\xe0&p\xe4\x1ca\x5c@\x92\x82D\xc5\x0f\x01i\x00\ +\x82\x0c\xe4\x18\xf3[~\x14\xfbLV\xb1Y\xf0\xbf\xa8\ +\x07P)\xe7\xf5\xb8R`#\xe0\xc5\xaf'!\x03b\ +\x81\x16#\xd4*hm @\xa6`[Z|\x878\ +\x81y\x8f?\xd7\xaa\xc5\xb5\x08a\xfe\xbe\xe50\xe0k\ +\xde\x87\xf1\xc1_%\x1e\xb8>Em\xd7W\xe3H\xfc\ +\xc5\xf3\xe1>\x98W\x90z\xaa``\x04\x02\xfb=\x85\ +Y\x90\x17\xcc\x03\x90\xabB\x80\xcc\xe4@|\xad*\xe3\ +\xb0@\xee\xbe\xb6N6\xba\xa1\x96\x05\x8c:\xde\xe6\x82\ +t\xa2\xdb\xf9b9\x0ak\xcb\x91yQ\xd9P\x9c\xf1\ +\xa1\x92\x1d\xcb\xae\x0e\xd8\xc9,\x12\x90\xe2h\x93)\xa5\ +b\xc8\xef\xb7\x90p\x12\x13@M\x81\x06\x83\x00 p\ +!Q\xb1\x92^g\xb6\x02\x13z1\x09\xa4\x09t\x09\ +Tu\xdf\xddj\xdd\xea\xdd\xea\x15\xf4\x85\x9e\xf1]\xc4\ +\xe6\xfa\xce\xc9\xee\x93\xdd\x8bLI\x0a:\x06y\xa7\xcf\ +\x0crEN\x04p\x1fd\xaa8\x08q\xc8\x81\x00\xe2\ +\xc0\x93\xe9a\x5c$/\xe2\x9eT2~\x90S\xb4r\ +nlt\xb3Dr'\xa8\xe1\x5c\x10{2\xa9\x0a\xa8\ +\xcc\xba\xfbz\xf5\x1a\xad-\x87\xf2y\x0a\x80Zd\x87\ +\xe4\xa8\xd2k\x0d\x15|\xc8\xe3\x08\xa0\xe8\xd5gA\xd0\ +;\xcd\x02b\xe3f\x03h{\x80\x80\xfepeA\x90\ +\xa9\xfc\xbb\x16.\x01#\x89\x8bi#\x04\x06\xcf\x8e\x0d\ +\xae\x95M\xe4\xda&\x06\xf8=\x1c\x5c\x10\x1c\xaaT\x8c\ +^\xa4^}6,\x16 \x15\xf3\x96$\xa8kZ*\ +\x94X \xc3i6m>W\x93)4\x84\x8e\x8d\x8f\ +q\xa0\xc2\x08\xb4\x1ch\x1e\x8e;\xeb\x85\xf1\x83,H\ +\x0e\x94\x13t\x04\xb8\xac7\xd6-\xe4A@\x05i1\ +\x10\xe4\xda\x81)\x811\x818\xf3\x83\x8a\xedn\xd9J\ +\x85D\xec\xdeN\xfc\x10\x08Q\xd9`\x83\x84;@:\ +\xbe\xb9\x22}K\xf5\x5c\xa8@h\x9c\xdcz\xd0\x90\x0b\ +r\xe0\xba2\xc8z'\x13\x0dI\x98\xa0\xdd&\xb7!\ +S\xcc\x01F\x8f*\xf3\x95\xfd\x82\xf9\xb1kX\x95\xc8\ +\x80\xe3\x83\x0a)\x88\x19t\xe5\xe9\xad\xdfz\xe8\xedu\ +K\x80\x90\x03T\xaa\x8d\xc0\x82\xf4k\x97\xa1\xb7\x1f\xc4\ +A:,\x07\x84\x88\x12\x19\xee!>\x7f\x08\xb0F\x17\ +H\x07\x99\x03\xe1\x85\x92\x13\x8c\x8a\xc7WJo)$\ +\x90\xddya\xa5'{\xba\x0fK_\x9f\x18V\x12'\ +\xdd\xfea\x95\x0e\xfb\xc1\xd2}\x87\xac\x11D\x89\x9e\xeb\ +\xe8\x95\xd2\x99V\xe5{\xfa\xada\xe9\xeb?\x85U\xa4\ +GT,\x15\xf8\x18\x92\x8a\x1a\x04\x8e\x1eH\x139\x08\ +\xdd}a\xe9\xfa\xd2\xb0t\x9d\x13V8'\xba\xcd\xc2\ +\x94\xa8X\xbcZ?p\x1d\x88L3W*\xef\x94\xc3\ +\xbd\x958O\x96\xce\xcf-\x07\x04\xc8\x01N\x1f\x1e\x96\ +\xbe>9\xacJ\x0cl\x11\x96\xae\x7f\x09\xcb\x01l\xe6\ +p\xa0u\x8e\xcc<\xe4\x8d\xfd*aU\x02K\xeb\xbd\ +{*\xac\x9a\x97\xaaxg\xc8\xf2}\xe2xH\x0ea\ +\x7fzX\xfa\xfdu\x92\xad[H\x22sb-\xc80\ +\xe7I6S\x12\x0c\x04\xd0\xd3{\x84U=\xe0\xcfU\ +\xcf\xfe\xf3\xc2\xca\xb8r\xbe\x18Y\xa0D^\x0a#3\ +ky\xdf\x85\xa5\x9f\x1f\x15VT*\x1cP\x01i\x05\ +\xba*\xf2RW\x1aI\x08\xab\x95\xc0\x89FX\xc5\x09\ +\xa4\xa8\x9cP\xb9\xd4yf\x08+\x09C\xd8\xb0EN\ +\xc6\xe7\xeb\x7f\x17Vq\x02\xe0p\xeb\xdc4\x0b\xb8>\ +?,\xfdT\xea\xe0j@\x9e\x0f\xb2\xa8~\xdf0q\ +HD/\xf9\xbb\xc4u0\xbfz\xf4\x17\x9d,2Y\ +\xa4J\xd4#\xeb\xa9\xf3}\xfa\x96\xb0\x22\xcf6\xbdS\ +X\xda\xa6~=\xfe\xcd\xb8\xe2@\xf1sxj\xf4\x9f\ +\xd1\x7f\xcaz\xc8\xbd\xdc\x1f/\x90\xfd,w\x17\xf3n\ +\xdbdi~\xf7W\x86\xa5\xaf\xf7I\xf6\xc1\xca?[\ +6yA\xcb\x16\x87\xbe?*\xac\x22\x0f\x03J\x0a)\ +*\x8e\xa7\xc6\xdb\xf2\x80\x8b\x84\x15G\x13\x12D\xb7\xc0\ +\xec>\xf8IN\xb0\xc0\xa6M\x05\x1b\x04\x16\xa4\xbf\xbc\ +>\xe4V\x87\x84\x95@+\x1a\x16\xa3e\xd1\x90\xedH\ +d\xbcX\xba\xe9\x1b\x17\xf2\xc3\xfe\x8c\xb0\xb9\x13P\xfd\ +:\xc9\xd6\x15R\xe2l\x91V\xbe\xa4\x14vr\xeb\xcc\ +\x07\x0b\xc2btxX\xfa\xbb\x0f\x84\x15\xbf\x05\xc4\x12\ +\xaa/\x96S\x04\xda\xac\x84z\xff\xd1\xb0J\xdd\x05\x19\ +VZ\xf3(4\x90X&\x91\xa9\x163\xfc\x0e*\xfb\ +\xf4:C\xf6\xe8\xf3F\xef\xc7<1d\x1c$\x0b\x01\ +\xa3\x12\xe4F\x9c\x81$$\xb0\x0b\xef\xe12!_>\ +]\xd8\xfas\xc0\xbbg\xf6\xb7\x86\xc0\x07H=\x88+\ +\x02\xe5\x86|\xcd\xfe\xeb\xf2\xd9\xf3.\xfe\xc6$c3\ +\x8b?!(~\xff\xc6\xb0B\xee\xcdya6{T\ +,\xee\x9d\xdc7\xb9\xb7B \xcb\xef\xb5z\x0d\x016\ +\xe3\x0a\xd9*\x95\xed\x1fHM\x81}_2\x9e\xcfh\ +]\xae\xc8\x94\xad\xc3NA\x06U\x10\x15\x1e]\x99'\ + \xc5\x8fT\xaf\xbc\xb9$Hl\x0by\xec@\x0eh\ +\xbe\xe6\x89\x11\xc1 .v\xcd\x16\x09\x9f!a\x112\ +\xb6\xcb\x14\xb2\xe8\xb9\xe4\xc8\xdb\x16\xd5V\xb6\xb8\x95\xd1\ +#\x80m\xe5\xcay]\xc6\x91\xc4\x0f\x81+\x014\xfe\ +4\xdf\xa7\xa5\x07\x12D\xe2(\xdd\x9f\xb9\xaf %%\ +\xde\xc1\xcf%\xe0\xa6@\x83_H\x82\xa0\x91a7\xeb\ +>\xfe\x1a\x5c$\x90\xf0\xd1\xbaF\xc1\x99\xf1\xe1\xf5\x89\ +\xbb\xf8>\xf1@\x13\x87X%\x82D\x13\xbfG\xa0\xcf\ +x\xf25~=\xad\xbeR\xd3s\xc1\x8e}\x96x\x91\ +\x7f$$\x1ayB\xab\x92\x90\x18\xc1\xcf\xa7E^\x1c\ +pnQ\xe1>5\xee3&\xed\x8bps\xb1\xaar\ +D\x85.\x96\xd1\xd2:(\x16\xaf\x1c]\x02\xfe\xf52\ +\xf8\xb4T0\xf9;\xc8,\x08|\x08\xcc\xa8<\xc2\xba\ +\x0ek9\x0b\x8d\xc0\x9f\x07\xd3&\x02\xb8\xe2\x08B\xfa\ +F@K\xc0B\x05\xf2E\x0a(\xd8\x18\x08\xc0\xe9\x05\ +\x07J\xc5\xebZ\x7f}`\xeb\x1f\x91\x89\x95L\x96\x03\ +4zZ\xd5{\xc9\xc2s\x05\x81\x8d\x87\x85\xb5Q\x03\ +m'\x03\x87\x9c\x19\x8e\xd2\xd1\xca\xf4~C\x1b\x0d\x07\ +\x22\x15Y\x02j\xc83X\x00T\x16I,\x1c4\x90\ +lM\xa9e`\xc4\xdf\xf1y\xa8\x10\x91(\x00\xb2G\ + \xcf\x02\x1c\xb9r<\x8c\x1b\x7f\xaf\x84\xcd\x08\x07\x9c\ +Js+GH\x80\x86\x03\xc7\xc6\xc8\xf8\xa9\x17\xd0=\ +{\xcc\xafVm@\x0b\xd12{k\x8b\xa3\x80@\x95\ +\x83\x93D\x02-\x1d\xad\xec\x06=9\xed\xc6\xd7\xb2\xb2\ +>\xd6\xb4<\xb0\x80\xc9\x84R\xb9\xbe^\xac\xd6\x90\x1b\ +\x92H\xd3\xd5\x1b\x1b\x813\x1b\x00\x1b)\xefK\xc0\xcc\ +Bg\xbd\xf0u\xab2p\xd33[=\xfc\xb9\x17l\ +\xc8\x13[]T\xf4P\x99?:\xa0,\xd7\xa6\xden\ +g\xc6\x997\xfckd-\xbd\xaeH \xb1\xbe`o\ +\x96\xae\xbbe7\xe1\x06 !\xa0\xde:\x02\x00\x0e~\ +\x93\xfb\x89\xb4nt^X\x95 \xe0y\xab\x92\x91\xd9\ +\x8c\xbf\xf9_dsH0\xd1[\xcas$\xc3\xadL\ +y\x96\x13\xdd??\xc7dU\x82D\xec\xc3T\x1e\xac\ +\xe7{|XE\xd6\xf3\x85\xc9\xc9y\xbd\xef\xa3\x8a2\ +\xadBkg\xe5\xe5\xe2\xd8h=[\x1f}\xde0\x91\ +\xd4\xa5\xf5\xda\xbd7,\xf7\x00gH\xba!\xd8\x92\xbb\ +\xb2\x9a\x0a\xfb\xc9\xde\x03;t\xa85g\xa89\xc8\x19\ +\x02\xe2-\xc5\xce\x0fD\x5c\xe34\xbd\xe2\xf4\x0a\xd3+\ +\x082\xfa}\x91\xf3\xad\xad\x80q\x97\x92`\xc9H\xeb\ +\xb4\xa1M\xef\x96,9\x1c\xdd;\xc2\xd2\xf5\x9cdg\ +\x97\x03\xde\xf7\x7f~X\xba\xae\xdf\xad\xd7\xadWZ\xa3\ + ]\xc31v\x02\x88u\xc8A\xcf>L\x22\xeb\xa6\ +\xb0J&\x96\xd6\x17\xb5vY\xbe\xea\xa4\xb0\x8a$\xef\ +\x87\xc9~Pz\xf4\x98W\xb95\xe1\x11\x91\x97\xedP\ +\x12\x03A}\x95\xc9\xaf\x94p\xe8\x16M\x16\x08\x86\x9f\ +\x86\xa5\xeb\xd9\xc9\x82}\xfb\xd8d\xc7\xa5\xebNa\x95\ +\xaa\x0b\x15\xf5\xc7\xc3J\xa549\xa6\xf7f\xc7\x14H\ +\xe6F\xe2\x98\x90\xbc\x1e\xf2\xaf\xc8z\xa1V1}L\ +X!o\xccz\xe43\xd5\xb8\x118k\x1d\x8c\x1e\x0c\ ++\xaa\x18\xfd\x9d\xc9\x22\x11r\xe7 _\x98!\xb4\xe9\ +\xfc\xc8\xf1y<\xcf\x97$[\xb7\x9cw&\x8b\x02Z\ +\xfa\x89\xa1\x92=\xf9\xb5\xb8\x02n\x09\xab\x020\xc9i\ +\xd1\xe3>u\x86\xf4\xa2\x05\xd56\xe9\x14\xe7\x12\xe71\ +\x09\xd1C\xb3\x15((\x0e\xaf\x12\x03\xfd/\xc3JK\ +\x0dH\x0a'\x82\xd8\x7fXg\x22\x97#1\x02)\xa1\ +\x03\x22 \xe6\xc8\xf4\xd1C\x0c\xf9)\xaaC\xb4\x04\xf1\ +w \x1c\x90\xadEv\x0c\xf5\x04*\xe0\xda\x17\x18\x0f\ +\xe4\xfchere\x9d\x8a\x14\xe7\x07,\xd4\x97k\x1f\ +9\x7fr\xc1\xe4\x82Ry\x9e\x5c2\x04\x0a\xccs\xef\ +\xb7\xec\xff+\xab\x80\x02\x82F\xfeI\xf7\xb7\xb0\xc2\x06\ +\x9e\xdd\x94Qi\xcdr\x8bU$rB\x1e\xef\xfe\xb0\ +\x5c\x89\xfejT\xa2-;\x097\x81d\xcb\xf8\xba\xff\ +EXQ\x91\x81T\x0c\x0e\x0cz\xfa\xe1\xa8\x80}\xbf\ +{\xed\x90\xc8\xec\xaf\xee\xaf\xe9\xaf)\x1cNT\x02I\ +|\xf5+\x84U\x81\xbdZ\x12'\xfb\x0e-\x0bV=\ +\x81\xf4\x0d\xd9\xc3}\x92}P\xad\x17\x87\x17\x8e\x83\xfe\ +\xefa\xe9X<%\xd9\xa9E\xe5\x82V\x84p\x03 \xc3\ +(2L\x12]\xe6\xa2!\xf1IK\x14\x08=U\xea\ +=\xef\xf1\xb7\x80\xe0\x93\x10@\xc6\x0f\x841\x5c\x14p\ +\xac\xe0\xdf\xe0wm\xa0VB\xe2\x05H\xcb\xa9\x18\xcb\ +\xbf\x8b]&\xf6\x19W\x84)X\xcd\xfb\xcc\xd6Z\xcb\ +\x88C&\xd9\x16\xe4h\xd9TK\xb4\xfdK\xfc-\x9e\ +\x1f?'\xd0\xc5\xaf&\x1e\x02*O\xdc$\x84\xb4\xdf\ +\x8f\xc0\x15\xff\x97\xc4\x02\xa4\xe4\xacc\xd6\x0f\x05F\xee\ +\x03D\x04\xaf\x03\xb2\x01\x7f\x96uE\xe1\x12?\x91\xf8\ +\x13\x7f\x91\xf8\xa1\x913\x9f\xabE\x80\xdf\xe3\xca:m\ +\x90\xa1 \x0a=o\xf1\xf7\xe10 \xb0\xe7~\xf9\xbc\ +\xa8\x1c0\xde\xac7\x9eK\x91=\x7f\x06y\xaf\xe3l\ +\xfd|\xc6\x816\x8e\xe3r\xca\x04G\x18\xb6lU!\ +\xe6J\x80\x07\xb4\x9f\x1ef\x1cR\x02D\x0e|\x1c\x00\ +2B|Me\x9a\x00\x92\xc0\x8f+\xef\xc7\xfdqm\ +\x11\x03|0>(\x0f\x92\xdf_F\x90\xac\xa5\x87\x0c\ +\x997\x06 \x9fp\x0fP\x81\xa45`%m\x98o\ +Q/\x0f\x13\x83\x81e\xa0\x950\xb1\xacJ\xe8M_\ +Y\xd8\x8e\x0d\xb1\x22\x13L\xc6\x0f2\x10\xe4G\xc8\x1c\ +S\x81W\xaf\xb0\xa1\x90 \x03\x80\x8a1\x01\x81\x84\x90\ +IS\x8f\x90e\xa8\xce\xd1\x03_W\x9f\x8b\x04\xc1\x8a\ +\x1a'&$\xbd1\x97\x84\x15d\x84\x11\x05 \x00\x80\ +\xb8\xf1\x9cF\xba\x0f6\x222h\x04h\xfa@X%w\xa9\xc4Q\ +NT$Gt\xfa\xc80\x05\xfagHG\xf9j9\ +\x86\x7f\xaf\x1c\x12\x12[\xef\x15g\x8eH\xf8\xc6\x9f\x09\ ++\xf7k5\x91\x13\x85p\x03\xa2\x7f\xcb \xe3\xd7\xcf\ +\xeeW\xefC5\xe8\x87a\xc5\x91\xe6\xbe\x81&{\xbf\ +\x91\xbc\x22rz\xdd\xf5a\x85\xb3\x83\x04\xb19\x84H\ +0\x90h\x15\xe2\xc6\xbd\xa4\xe8^C\x1e&(\xa49\ +/\xd8g\x84\x901\xb9\x1d\x90[\x12\x0b\xc8\x17j\xbf\ +\x9cz\x7f\xb6\xc2j\x0fG\xf1ja9\x00\xdby\x12\ +z\xec\xaf\x08K\xdf\xdf)\xac\x90\x04\x9aC@\xd0w\ +#\xed\x08|7\x1d\xe6S\xff\xbe\x81\xecp\xf2\xde\xa1\ +\x97\xdf,\xf6p\x09\x88t\x18\x12<\x10\x07\xe8\xc7S\ +\xa1\xec\xceJv\xa6\xb8\x12\xbeR\xe9\xcb\xef9\xf4\x5c\ +O\x16\x0a\xabZ\x18\x80$\x0brl\x8e\x8a\x95\xc2\xaa\ +\x96\x14q58!'\x8e\x8c\xc9\xb2a\x99\x0bcH\ +\x8c|=\xac\xac\xa7\xd1b\x03\xe2\xc6\x01\x13\x89\xa4\x7f\ +\x85\x15\xee\x0e\x10\x02>\xb7)t\x808\x11\xc7A\x0e\ +_~Y9\xd8\xb4\xa4q\xbe\xe0\x07\x12x\xe1'(\ +\x107wB\xcc\xae\x1d\x0b\xe7I\x0e\xbf\xce\xd19>\ +\x9f\xfc\x9ee*d\x89\x909\x19)\x15$s\xaf\x0e\ ++\xea\x13$Z\xb9o\xf4\xb9MNIbK\x9c*\ +\x9e\xbf\xf8\x8dj\xc5!P\xa5U\xd0Pfz\xc7\x91\ +\xb7f?\xe5<\x86\xb5]r\xa1\x04\xb8n\xad\x80L\ +\x14YoZ\xff^\x9e\x9b\xc5\x0a\x07\x96\xe4\x0e\xad.\ +\xc1?\x10\xab\x04r\xf8ej\xb1A5\x83\x82\x92\xfd\ +\x11Z\x22\xf1\xdb\xe1\x16\xe3\xdc\xa5\xa2\x1e\xa2\xad\xe7V\ +-\xb8\x8c\x83H<\xa9\xdc\xa7Q\xdf\x22\xc6\xdd\xad\xbe\ +\xdc7\xad6\x14\xf8\xf0G)|\xac>\xc4\x0b\xae\x14\ +\xa3*@\xe2A\x89W\xb8+\x1c\x88i\xfd\xfb\xbc\xa7\ +\xc5\x82x\x06\xe4\x05\xf3[\x89<#!@\x1c\xd1s\ +O%\x9dD\x05\x01?\xf7MB\x80\x04\x0f\x08'\xd6\ +\xc3\x22\x0a\xa0\xf1'i\xb5U\x82\x88s\xd1\x9f\x8bx\ +E\xe7&\x89S\xcb\xe2I\x16\xd5\x85#\xfc\x22\x0aK\ +\x5c\x89\xdb\xa84\x13\xaf\x90\xe0\xa1\x82ME\x9cx\x8b\ +\x80_\xeb\xd2q\x97\x0ak>G) \xe3\xbf\xf3\xfc\ +\xf0\xdfXW\xac\x0b\x10'<'\xfcD\x10`\xc8\xa5\ +\x92\x08\x80\x04\x11?\x9bB(\xf1\x07\xe7\x1b\xad&\xad\ +\xfa\x07\x05\xb7\xb6\x15\x9b+\xdf'\x0e\xa0W\x9f\xbf\x7f\ +6\xd5\x01\xc6\xa7\x95\x0f'\x01\x0d\xe2\x80\x04H\xcb\xf6\ +\x8f\x9fO\x02\x03\xb9p\xc51V'Q\x9c6\xe3\xcc\ +\x06\x01]8L\xab+S\xb8\xd2\xb3T\xe0W\xac\xd8\ +\x9e\x81j\x128\x93\x89j{\xc9\xa9\xf8\xab\x22\xe3\x8d\ +\x99\x8c\x04\x0b\xa8M\x0c0\x01\xa8\x08B\x16G\xc0\xcf\ +}\xf1\xbed8\xf9;\xc9\xcc\xcd\xd5:\xc0\xe7\xe6\x01\ +\xf15\x13\x80\x05H\xe0\xdfB\xf2\xf9;<\x006B\ +\x1cc\x05\x0el\xc0\xae\x80\x92q\xa5\xf2\x0d\x94\x87\x8a\ +022@;\xd8\x98`?\x85\xa4\x84\x00\x8c\x8d\x98\ +\xfb\xd78s\xa0$w=oD\x96\xeb!\xe1\xa1^\ +@C1[r=\xe4\xf9T1\x19}a8\xa8\xfc\ +\xb9\x9b\x83\xd9\x0e\x12\x908\xb1\xdb:\xb0\xe6\xf3\xb5=\ +\xd2d\xba\xa8\xb8\xb3\x80\xa8\x8c\x93P \xd1\xc1\x02!\ +\x90E\x17X=\xd2\xfe{\xc6\x83\xdf'\xd0#\xe0\xa7\ +'\x87\xd7o\x7f\x9f\x1e}\xe4\x0bii\x99\x9dV\xc7\ +\xec\x8a\xaba\xbef\x81\xb3\xa1\xc3=\xc0\xc6\xcf\x06\xc6\ +\xef\xb1\xf0\xb9\x92X\xe29\x14$\xc30\xdf\xda\x0c\x22\ +j\x14r\xcc8\x98\x9c`i{\xcf\xf9\x9a\xcf\xdfp\ +\x168\xb3\x0c\xc7\x05\xec\xb6\x92\x093k0\x10wU\ +\x96L\xa6\xc7\x06\x0c\x12\x80\x03G\x0a\x8a~\x00\x00 \ +\x00IDAT\x9e\xe7\xca\xfb\xb7\x09\xbe6a\xc7\xe7\ +\x04\xe2\xab\xca\x8e{\x1c\xe9e\x93\x9e2\xe4d\xc8\x8c\ +\x19\x92FB\x93\x80E\x0e\x92\xd7\x1d\xf3\x98J\x0c\xe4\ +\x95jQ\xb0\xce\xba*\xd0Nl\x02\x81U%\x9f\xc4\ +\x1f\xe3g\x04\xcdg\x84h\x104\xd7$\x80\x0a\xd4\xba\ +o\x87\xa5\xebua\x85U9W\xd6\xa3\xd2\xfc\xdb\xb0\ +\x5cQ\xcf\xba\xe6\xe9UW\x1d\xc5>)\x87h\xf4t\ +\x16.*\x95\xbf\x03F\xfb\xe7\x04\xe3\xeb\xa7^\x97+\ +\xc4!otz\xa9\x00\xd0\xc3\x9f\xc5\xb1~+y\xbb\ +uJ\xc0\x98\xb9]^\x5c\x02\xca\xa8\xdfw/\xa9\x1c\ +696\x90\xe4\x99%\x18\xf2\xc5\x80\xc0\x9eW\xd6\xd9\ +d\xe5\xb0\x8au\x1e\xf6uH\xac\xd0{\x16\xebz\xff\ +XX\x99\x07\xdds\xc3\xaa\xc0Q\xe3\x0a\x12\x0492\ +\xc8\xa1L\xe6\x14u\xd4\xcb\x8a<^V\xd1\xd8\xa8\x04\ + $\xd2\xc6\xbf\x0b+\xb2cYO{\x9e\x22\x17\x9b\ +W\x7fT:7\x0eK\xbf\xb7yX\x99\xdf\xfd*\x03\ +\x94\xd8\xeb\x07\xf9VUH\xa7\x97\x08+\xc8\x9a\xfe\x8e\ +\xb0\xaa\xc5B\xf3\xb6\xbb2\xac8>\xe3\x87\x87\x1e\xf8\ +\xf1\xfaa9\xe0\x1f\x9e\xc7\xed\x83\xec\x9f\xb96H\x14\ +\x1d\x13V\x91)\xaa\xf5g\xf4TX\xba\x8f\xd7\x85\x95\ +\xf3c\xfa\x82d\xe7k\xfc7\xa9z\x86c]\xec#\ +\x95\x86\xdf\x96\xc4\xab\xe7\x17\x15P=?*\x7f\xdd\xbe\ +a\x15\x89\x95\xf6\xfb\xd1\xb7\x06H4-\x09\x04:\xf4\ +\x80\xc3Ear\xc0w\x86\xa5\xd7{UX\x09\x94\x9d\ +\xd0P/i\x7fPX%;\xa5DO\x7frX\x99\ +G\x90\xdb\xd9\x91\x05\x82\xaaJQ\xf7\xa9\xb0\xa2\x16\x82\ +\xba\x05j\x13T\x1cY\xe7$\x88\x5cQ\x15\xd2\xd0\xf2\ +~\xd7\x0d\x8e\xa8\xa1\xfe@\xb5\x15\xd09\xe1-\xc7\x8c\ +\x84\x7f\xff\x9d\xb0t]?\xacB\xcc@\x22(2C\ +\xe4\x83+R\xc5\xe5'\xcbWz\xef\xb4\x12\xc0~\x8e\ +\x9a\xc1\x86\xc96\xaa*c\xe1\x0e\xfe\xb3@B\x09\xb8\ +\x02\xaf\x90\x11\x0b\xe20p\xa5Id\x98p.8P\ +\x7fOX\xa5> 9\xbb\xfe#\xfd\xfe\xfd\xfe\xd5:\ +\x82\x9b\x08\xce\x12\xfc*\x90SJ\x9c\xb3?'\xeff\ +@,\x8c\xd5\x8b.\x0e\x87\xa9\xf3D\xceL\x0f5\x01\ +\xfeC\x99\xbe\xcd\xe7u\xf6\xbb\xee\xa9\x02\xcf\xe8\xf1\xdf\ +R\x01\xc9_\xb4\x1fl\xa2\x96\xaa-\xe4/\xcd\xaa\xfc\ +\xacH\xf8|R\xe7\xe8]\x95\x7f\x03w\xc4\xc2\xb9\x99\ +q\x80\xa2\xffT\x01\xc9#U\xc5\x92J;-\xa8\x22\ +\x9fd?\x9bl\x97l\xfb\x22\xc7\xe8\x0a%\x08\x18\xfc\ +#\x05(\x96\xa3\x03\xf1\xc0\xfc# \x80M\x1e\x7f\x81\ +\x16T\xfc\x0e\xcd\xd3\xd1\xfb\xc2\xaa\x00J*\x18F\xe2\ +Q\x98\xa2\x12M\x85\x9a\xd6\x02\xb8Q\xa8D\xae\xa4\xf8\ +`\xcfL\xdfWZ\x93P9\xf8gX\xd5\xf2\xc3\xbe\ +\xcf\xeb\xe3o\xc0\xb5\xb2A\xae]\x97\xcf\x0fg\x01\x89\ +v \xee\xcc\x17\xfc\x18~\x1f\x7f\x82\xc4\x86\xfc;\x17\ +\xb4h\xc1\xbbW\xeb\x92\x82\x9b*\xeb\x93\xf3\xc2\xd2\xf5\ +?a%\x9027\x8f\x90\x92pn\x90\x004\x92\x96\ +y*\x8e\x07'\xb0\x09\xc4\xe1\xaaQ\x82\xcc\xcf\x9d\x9e\ +\xf4\xab\xb2\x95\xca\xb5\x10%F\x08\xe8yy?\xc3\x0f\ +\x14\xa7\x99{\xfbu>x}\x810\x82\xe3\x888\x05\ +?\x11?\xdb\xc8\xe7\xa6\xc0IA\x0a?\x8d\xb8\x0b?\ +\xae\xa8\x8c\x0d~w\x8b\xe0nY\xf6\x89\x1b\xf0s!\ +\x1d\x87\xfd\x9e\xf9E\x02\x81y\x87\xdf\xcc\x15\xff\x1d\x7f\ +\x1b\xff\x13\x7f\x9e\x04\x09\xaf\x03\xa2\x96\xcf\xcb\xf3!\x11\ +\x009\x1fq\x02d\x95\x92\xc3u\xc0M\x5c\xdb\x22\x94\ +\x19\x87\xf6}\x18\x17\xc6\x91\xe7\xc6\xfb\xe0\xdf\xb3~\x19\ +/\xc6\x91\xd7A=E\x85\x19\x07\xf2\xbc\x1e\x05I\xc6\ +O-fF\x0a\xb4\xad\xc4\x9ao3\x1eP\x1e\xcc\x12\ +\x92Y\xe3\x06x\xe0dD\x22\xb0[\xad\x82\xda\xe3\xf0\ +\xc7\xffkV\x13\x85\x0fB\xcf\x0c\x81;P}&P\ +[\xf9\xe5\xba|\x13\xb8\xb7\x08\x81\xf6\xda\xb6\x0c@\x06\ +H\x8b\x00\x99Q\x02\x22\x02/\x1e(\x13\x92qh3\ +25GB;^K\xfc\x17\xb6z*\x9e\xcd\xc6d\ +}\xcas\xb2\x05iZ\xee\xf5u\x22D\x13\xc6d(\ +\x04\xd6g)0#\xc3\xcdAJ\xef*\x8e\x1c\x99<\ +\xf4\xa4\x17\x0b\xcb\x0bp\xb8_\x90\x02@\x1f\xd1I\x17\ +)\x19\xb2\x89\x0e\xa0`\x91\xfcrX\x91\xe5r\xcf%\ +\xd0Q\xc8\xbap@\xd0\xddT\xc6\x9e\x1e>'\x8cD\ +\x0a\x07\xc4\x88\x9ecC\xde\xb8\x0f\x12B$Z\x18O\ +z\xdb\xc9\xec\xeb\x00u\xa5\x9d\x80\x00\xf9\xc4\xbfi#\ +\x18\xa9b\xaf\x8c\xbc\x03@*\xfd\x04\x86,dm\xb8\ +\xae\xb4\x83x\x99'\xfdV\x0d\xb9_b\x98/\xc9M\ +\xcb\x15F\x1f\xac-4\x9f\xcc\x1f\xf3\x90kKn\xc9\ +F\xcc\x95\xf9\xc6\xebq\x90B\x12\x87\xec\x1d\x15Hz\ +gi5a>\xb3!\x91)\x04B\x04y\x0fd\x97\ +\xc7\xa8\xa2,\x16|;\xc4\xef\x09\xab\xee\x97D\x81z\ +\xbbLB\x86C\xd4=S\xe6\xd2\xfb\x00\xd0\x7f\xf6\x0f\ +\xd6/\x0e\x0a\x0e>\x9f\x1f\x99\x14\x90\x0bB\xb88c\ +\xad\x0d\x8e@\x83L\xbb\x13]$\x10u\x10\xbbB\x03\ +\x92@\xefg\xd21\x1c\x13\xa0\xca\xb4(\xc8A\xc7\xc1\ +\xb1\x8c\xa02\xea\x86z\xe3\xd0QqP\xa0BEc\ +\xb4\xf7\xe0\x90\xd1\xeb\xeb\xca+\xe4d\x87\x87\x15\x04\x90\ +{\xd6\xaeO\xf3;*\xa3\x07t[uo\x90\xfc\xe5\ +\x12\xa5\x22M\x82a.\xddYA\x1b3\xe4\xff{\x95\ +\x1a\x84\x9e'\xfb\x0dH\xa3\x9c\xde\xea\x05\xe9]\xaf\xea\ +\x89%\xe1\xc3z\xd7s\xa3\xb7\x8e\x9ehZ?h\xad\ +\xf0}\xa8\x07\xd4\xf7I\xc2V\xf7\xeb\xc0v\xdd\xb0L\ +\xb6\xb7X\x86\xe2\x8f\xc3\xaaV,\xb1\xb9\x1b\x11\x00\xe4\ +\x16U\x05\xf6\xf5\x18\xb5k+\xd2\xba\xed\xb3\xe0\xd3\xa0\ +\xe6\xf0m\x05\x14\x91\xa096Y\xb0{\x7f.\xd9g\ +\xcbz\x99\xccI6.\x01|n\x018\xb6\x92\x89<\ +a\xd0I\xcf\xbd\xf5i\xdf\x98\xdek I4\x04\x17\ +\xb2\xa7=\x07\xb2Gsi\x08\x1a=\xb9k\x90\xfd\xea\ +g\xf5\x0b\xf5Q\xc9\x9e/\xac:\xbf\x94\x98\x1am\xad\ +y\xbb\xafZH~7$\x88\xd0)g\xbf4\xa9\xe2\ +<\x92\xed\x22!C+\x82\xce\xa5\x5c\x89_S\xad-\ +\xe99\xf4\x97$\xbbTP\xf9\x1fV\x15\xfd\x0d\xc2\xd2\ +\xcf\xff\x14V*\xb8\xfd'\xc2\x0a\xd2\x8aD\xd6\xe49\ +\xea\x95_H\xd0\xec%\xc3\xd2\xf5/aU`,\x12\ +1*\xf6A\xe9\x96I\xdd\x1a\xc7\xdc\x09<\x02x\x91\ +\x9e\xf5\xff\x0c+\xfa\xe0\xe3\xf5\xc2\xaaD \x9c\x1d\xb4\ +L\x00\x85\x15\xf4x\xfc\x91\xb04t\xe7I\x1c\xa8e\xc0\xe7\x112\ +\xc5j\x99sb\x09?\x89\xc4\x0d\xff(|\x11\xc01\ +\xdfX\xa8\xf3\xaa\xe06\xaf\x10fR\xc7\xf0?\x12$\ +\xac\x1b*\xe2\x9c\x87\xf8) u\xf1\xb7@Z\xc3i\ +\xa0\x04\x89\x0b;Ma\xd7\xfe-~\x1c_\x13\x18s\ +\x1f|\x8e\x16\xcaN\x05\x1b\x7f\x14\x0e\x10\x12\x9f o\ +\x08\x9c\xf1\x83\x81\xf4\x93H\x81cA-ks\xb5\xf0\ +\xe2\x7f7\xb2\x80\x9c#\xf6\xd7H\x98\x82\xb8\x01\x89L\ +\xe2\xa1U\x09\xe0\xf9q_\x86\x067\xaac\x04\xfc\xac\ +\x7f\xf6a\xe2G\xfc\xea\xb6\xe0\x8c?\xc7\xfe@\xc1\x9b\ +\xcfG\xa1\x95\x84\x07\xaf\x0b\x02\x83\xc4H\xd3:>\xf3\ +\xac\x99\x99\xa6\xd2kr\x97\xd6ag\x03Y6\xd3\xc8\ +\xcc\xf5\x81\xdc#\xc9\x06\xd9\x06\xfel\x8c|\xdd\x06\xfc\ +\xe8J\xb2@\x0b\xa9\xdc3\xb8\x04|e\xa0\x18x&\ +`\xdb\xa3\xc1}2Q\xf9\xbcm\x8fxK\x82\xd1\x06\ +\xfe-\x84\x83\x80\x95\xcf\x81\xcc\x1dPz\xa0Jdl\ +\x98\xf0\xf4\xda\xa3gO@/R-C\xc0\x99\xc0l\ +\x0cd\xf6 m\xa1\xe7\x0a\xb93\xf5^\xc1V\xea\x0d\ +\xe6NU\xae\x08\xd4\x14\xf0\xb8\x87\x89\xef\xe30\x8a\xbd\ +\xda\x1b*\x8e\x15\xbfG\xcb\x07\xe4m\xdc'\x10\x1b\x02\ +[\xc6\x85qg\xc1J\x16\x06\xdd\xfb\xc9n\x22Q\x93\ +j\x81\xd9\xb1\xd1s\x86\x1d\x9f\x83\x196Q\x91\x8dA\ +\x124:4\xac\x82p\xffQ\x90\x995\xb4P\x98'\ +7\x09\x89\xc0\x82b\xfe\x91)\x04j\x1a\xac\xc2\x0fW\ +\x07\xc3=\x0a\xa4\x81\xa2w\x9a?\xad3^ ^x\x1d\ +~NO \xbd_$F\x18\x7f\x12\x1a\x04\xd6z>\ +\xd6/\x96\x5c\x9d{\xde\xe8u\x93\xe3\xe7\x1e\xfcV\x0d\ +\xa1=\x98\xd8\xb8Z\xc8\x18\x88\x1c\xe6\x1f\x81\x10d\x85\ +\x82\xdez\xbe#\xdf\x89\xe3\xde\x92EBbG%\x00\ +\xc8\x1e=\xe6\xdc\x1f\x07\x0bP) u\xac\x17\x12\x86\ +\xa8XPq !\x05\x0b\xb4\xa0\xef\xd63g\x87\xf5\xa2i\xe1\x08\xf2\xaf\xc32\x1b\ +y2q\x02\x9c\xad\xf1>D\xf3\xf7\xe8L\x06wU\ +\x96\xc5{K\x0a<\x82\x94\xef\xac\xf1\x1b\xc6\xd1\xd3~\ +\xa1\x12@B\xb2\x90\xa8h\xf5\xe9\x8d\xb8Q\x22\x97\xc0\ +\xb7{IXI\x1c\x04\xc5_N\x90\x1c6\x90\xbeu\ +G\x0c\x1c\x06Y\xbe+\xcd\xab\xee\xe2\xee\xa2\xee\xa2B\ +\x8e\xeb^le\xfe\x1d\xc0F\xc2a\xfe\xaa\xf2\xc5\xfe\ +-G\x82\xca/=\xc8\xe8\x8b\xd3\xca2Y/\xac\x22\ +wC\x97{q%\x9e!q$\x80Df\x8e\xca \ +\x95G\xc8\xae\xd4z\xe3\xf5\x8c\xca\x07~\x07\x9c%\x0a\ +\x08\xc7\x0b\x86UPP\x12\x06m\xe5E\x09\x01\xc6\x97\ +\xf5\xd4\x7f-\xac\xc8\xa6Mo\x1b\x96~ogA\xf9\ +\xf5>\x96K\x95\xcc\x9ae\xed\xd4\x02dr\xb3\xcf\xaa\ +Uiv#\xc7)\xf5\x05\xcb%\x8a\xcc\xb0\x9f\x1d\x96\ +\x9fGv\xb0\xad\x1a ]\xfb~\x8d\xb0*\x00Y`\ +@\x18d\xf9\xc4%\xb5\x8f|U\xfe\xc0}\x92G\x1c\ +\xe5}\xe3[y\xdf\xa0\xf5F$\x88Y\xa6\xf3\x0bZ\ +oi\xff\xecO\xedO\xebO\xcd\x89\x9c\xd7\xe6\x969\ +\x1c[\xd8\xea\x059u\x02\x87\x84?\x88\x97\x97\x0d-\ +o\xe9\xb4\x1e\xe4\xcft\xce\x8ev\x1d\x90#&\xfb\xd3\ +9\xc3\xfe\xcc\ +\x8f\xe4\xbf\xfcB\xfe\xdc\x22\x8a\x7f(t\x82\x0c\xe6>\ +\xf0\xc7\x09\x1c\xb9O\xfcR\x02E\x02I\xfc`\xfc\x7f\ +T\x11\x84\x10r+\x17\xea\x19 }@|\xb2\xef\xe2\ +\xe7\xf2>\xadl9\x89\x01\xde\x97\x0a5jb\xf8\xf7\ +p\x16\x00\xed\xe7_\xc3\x95e\x92?\xfc;\xe2\xa4\x16\ +\xa9\x8d\xbf\x8e\x9f\xd8\xa8\x99\xf9>H,\x10\xf8\x93(\ +\xe1\xbeA\x00\xb6\xe4\x87\xfc\xc3_m\x0b\xc7\xc4\xaf\x14\ +\xc6h\xa1\xf8\xb5\xf6\x99\xf9\x9b\xdf\xe7y\xd1\xc2Db\ +\x86u\xc7\xfbS@\x03\x89\xb7\xea\x80\x1cu\x82\x03\xe4\ +\x87\x9eKA\x00D81\xaa\x06\x84\x17\x8c\x8f\x1d\x07\ +\xcb\x03Cf\xdbl\xfb8\xf4M/\xb4\xff\x91YQ\ +F\x1f\x07\xb0\xaa\x98\x0e\x0b\xa8\xcd\x94<\x1b\x1b;\xef\ +C\xa0\xd1\xb2\xb4\xb7\xba\xf6d\x00E>a\x99\xbf\xb6\ +\xc7\xba%q\xe0\xfd[28\xde\x0f\x0f\x96\x07\xc8\x06\ +@%\x97\xaf\x09\x08p\x5cp\x08X\x88\x0a\x5c&\x0f\ +\x0e\x07\xa0\x1d>\x02\xbfe\xf4{\x0b7\x89\x8d\x05\x9b\ +\x09\xb4\xb4\xdewU!5\x80|\xe9\x00N\xceA\x0e\ +4F;\xaae\xa0p3\x0c\xefs\xa3\x02_ \xf5\ +\x90\x9e\x01\x89\x06\x99\xc0\x04D\xbe\x83\x8c\xa7\x12\x18d\ +|\x0d\xb1neE\xd8`\xb9\x22;\xb7\x97*\xca\x07\ +\x8a\x14\x06\x1dz\xd8+UY1\xf4\x89\x80\x19\xd6y\ +\xe6\x13\x905\x91\xed\x18\xb9\xc2x\xeb\xa0\xb4\x1c\x17l\ +\xa3d|98T\xc9w\xaf\x1c\x1b\xaa>\xb7\xdf\x97\ +\x80\x9b\x0d\x96\x8d\x9c\x16\x97\xf9u 4\xa4*\x9e\x7f\ +\x04\xae\x8cS\x0b\x11j\xd7\x05\xf3\x9c\x8d\x87\x0d\x89\xf5\ +\xd0Tr\xdc\x93\x0f'\x00=q\xb0-S\xa9g~\ +\xf3>-D\x9f\xfb\x83\x8d\x98^>\xe4\x90T\xd9\x82\ +D\xc8\xf7\x01\x04\x8b\xf5\xc8\xbcnXJ\xbd.x?\ +\xc6\x09V]As\x0d!\x14\xc4\x0d}v\xb7~\x10\ +(\x00\x81\xe2\xf7p\xac\xe8\x91\xa4\xa7\x0f\x04\x0d\x0e\x17\ +\x15h\x12F\x902Q\x19#\xa1\xc4\x81\xa4J\x17=\ +\xf0N\xbc\xf0\x8f\x0a$\x07\xbd f&\xc3\xe3\xf1\xd2\ +J\x01\x87C\x13\x88\xe3\xf0\x846@\xa8\x03\xb0n\x90\ +\xfd\x1a\x9d\x14|\xf4\xe9\xfa\xc7\xb0t\x9d?\xd9\x02%\ +\xf1:\xba(\xac |H<\x18\xa1#Vg\xcbs\ +\xf1\x5c\xf4\xdc\xdc\xa2\xf0\xcb0\xc9[\xde\xa4\xca\xe02\ +\x0a(\xa2\x027oX\xc5\xdd (9\xcf\x8f\xf92\ +\xbdIX9\xa0!m\x84\xdb\xa4\xbb$\xac\x1agA\ +\xb6\x8d\x1c\x99\x95\xb1L\x83\x03\xff\xe9\xc2Z\x9d\x13r\ +Q\xa9\xfekX\x95PV\xa2r\xfa\x88d\x87W\xa4\ +\x82\x22C3\x89\x11\x01\xce\x07\x93\xedS\x91H\xc2N\ +/\xc7c\xfa\xf9a\x85E~t\x7f\xb2\xfb4\xde\xc9\ +\x81\xeb\x97L\x96\x02\xdb\xf1f\xe3M\xc7\x9bfGw\ +\xe0\x90\xa0\xf5J\x15\xbbn\xcd\xb0j\xfe\x93\x08\x96\x83\ +\xe8\x96\x0c!X\xd2n\x9b\xd9\xe8A\x8cL>\x1fX\ +\x85\x5c)\xffR\xae\x94\x9f\x991bS\xd3o\x0a+\ +\x10i\x02^*\xe3\xf9\xf3}P\xfc\xcfS\xb9\x82\xb5\ +~\x1e\x07A!\xb3\xe3\xbbqa\xb57\xc9\x97\xe4\xc7\ +L\xba\xb6\x95\xa0\xe7GH\xd7\x1aH6PLH\x01\ +\xd9w\xa8\xe0@\xae\xa7}\x91\xdeJC\xf1\x91\x83\x22\ +\x81\x86#\xa7\xc4|N@=\x5c\x9dW\xec\xdb$\x04\ +9\xd79/\xf9G\x0b\x1a\x08\x1d\xed\xdbp\x03\x00a\ +\x9f^0,]O\x0fK\xdf\x7f\xd3\xc0\xd9\xe0\xf1\x10\ +\xa9\x9c\xe5\x1b\xa5\xa2\x90\x19\x93\x96-\x90c\x90w\x0e\ +\x00\xe5\x07y<\x85\x98\x9a\xfc\xef\xe0\xd8\xd3\x02\xd1\xbf\ +7,]\x1fJ\xf6`!\xaf\xeb\xcf\x0cK\xd7\x0d\x92\ +mXZ\xa0\xd0\xbb\x1f\x9d\x15\x96\xee\xe3}\x037H\ +\x0a\x9a^\x95\x03'\xd4\x8a '\x8e\x00\xfb\x0c!\xf1\ +\x22\xa1\xf4\xc4\xe8\xf1Q\xf2kF\xdf\x1d]<\xfan\ +\x0eXr\x22\xccz\xdf\xda\x07'\xdb\x84\x15\x92G\xc8\ +\xe6&7\xca\x01\x95\x5c]:\xbb\x87\xe7\x1f\xdeS\x04\ +\xf8\x9c\xff\xe7\xe8\xfb8\xd4$\xd6i)\x83\xd5_\x10\ +\xf7~\xc3\x01\xd9\xd2\xff\xa1\xff}\x9f\xe6M\xff\xb2\xb0\ +\xe2wfR\xcc\xe9\x8a{A-\x93\x90\xae\x86\xd6B\ +\xa8-\xa0\xae1yAX\xa5\x1a\x10\xf3y\x85\x8aM\ +;\xf6\xb5[\xe4\x90/&N\x86W\x95\x80\xd0\xad\x99\ +$\x0e\x94\xf8\xf5\xfb\xa90\xe0D\x97\x10 \xfd\x0ea\ +U\xe2\x98\xc0\x16\xff\x99\x1e|\xb8\x9d\xd8w\x84`s\ ++\x00\x09\x12!\x1a\xfc\x9c\xe9\x0d\x97\x9a\x82\xb9\xa6\x98\ +\xdf\x0a<\x1d\xe8\xe27r^\x89\xb4\x0f\x0e\x03\xb7d\ +\xea\xf7\xe0\x000\xd9\xab\x02\x0a\xfc\xe1\xd1\x8b\xc2\xaaJ\ +\xff\x0f\x92\xfd\xb0 ]|\xdf\xc8`\x86|c\xf2+\ +\xbbE\x92-Z8\x00\xbc.\x04\x057\xa9 \xbd\xe0\ +@\xb5\x99\xc8\xf8?\xb7\xa5p\xf8\xb6\xaauE-\x10\ +\xb4\xae\x9a\x94\x90\xc0G\x89\x13\x93\x02\x0a\xe9hrP\ +d\xd3\xe0*B-\x00.\x1b\x90\xcf\xc8\xa1\xd2\x92A\ +\xeb\x05\x1c^\x92!\x9dl\x1fVZA&\xc7\x84U\ +\x9f\x8b\x80\x16D&\x9f\x8f\xc0\xb1\xad(\x13P\xaf\xa8\ +\xf9w\xb4\x10\x90T\xc2\x19'\x0a\x0f\x90~\xd2\x9b\xcf\ +>OAC\xadF\x0e\xcc\x19W\x02[\x02h\xee\x03\ +d3HnZ\xbf\x19\x17\xe65q\x0f\x1cO\xcc\x13\ +\xb8\x89H,\x10\xa0\x820\x00\xa9\x00\xe2\x13\xe4\x1a\xad\ +\x9d\xc4\x01\xf8\x99\xf8\xd1|\x9f\xcfA\xe1\x0d?\x98\xc4\ +\x09\xfer\x8b@ AHA\x0b\xbf\x17\x95.\xc9z\ +;1\xc0\xb8\x90\x88\xe3|\xc1\xef%\x10g\xffk+\ +\xf9m\x81\xac\x90\x87/\x98\xaf\xe1\xe5\xcc\xaa\xe2d\x0a\ +o\xc4\x07\xac?Zc@4S@j\xd5\x07xn\ +\x8d\x1a\xc1\x0c=ay\xfa\xdd\xa37\xfaO5P\xe8\ +%\xc7p\x18\x8en\x1b\ +\xe8\xc0\xee\xa8L\x85I\xda\xa8`\xf2\xfb|\xc0\xc7\x1a\ +97\x02e\xa0\xbf\xf4\xd8\xf2w\x04xY}u\xe9\xe2\ +\xc0\x99\xf4\x0dn\x022\x89\xaaL\xa3G\xef\xca'\xd0\ +kA\x9a\x0c\xf1\xe7\xa0c\xdc\x08\xf0\xd4Km5\x85\ +C\x85X\x10\xcb\xba+\xf5\xf4bS1e>\xaa\x22\ +\xe7\xf1a\xc3\xa3\x17\x19\x96\xdd\xb5\xb4\x01!;'\x99\ +\x17o\xb08\x8ad\xd4y\x0e|.\x12@\xcc'9\ +\xe4S\x9b\xa9B\x86\x8c$\xb2\x88\xf4z\xf19_\xa7\ +Jx\x0b\xe1o3\xa1-2\xa5\x9d_-I \xeb\ +\x02\x19)\xc8s\xd4\xabd\x08#\xdc\x0d\xb0G\x13\x80\ +\x93Qg\xde\xb6\x5c\x16$\xdaZ$L\x9b\xb1e\x83\ +c#l7\x1c~\x9f}\xa0%?\xe1\xe7\xd7ic\ +\x17D\xcf\xad&\xea)$\xa3K/\xba+\x16\x1c\x1c\ +\x90\xa3\x09\xf1bVf\xa0m\x1c4B\x1aPYs\ +\xcf\x17\x90E*#$\xb8`\xbfEW\x5c\xc8\x04#\ +Uh! \xd0\x04Z%H\xb4I\xaa\xb4\x9e\xfbS\ +\xc3J\xef<\x15\xdd\xdc\xa9\x7fz\xc5\x1a\x0c\xa9\x96Z\ +$2T\xfd\x7f\x8b\xfeywk\xf7\xc7\xee\x8f%\x10\ +\xccP\xcc\xcb\xc4\x8e\xbdo9\x88\x0cM\xc4\xd1\xe1 \ +S\xa0c\x073\xc2\xb2\x1bu0\xa7\xcf\xd3\xdd\x15\x96\ +\xae\xff\x0a\xcb-J\xc9\xd2\xfd\xdf\x16V\xe9\xb6+c\ +\x9d\x9f\xea\x0b\xab\xe7\xcc8P)9@r\xa8\xda7\ +\xd8oq\x08,_\xb6jXq\x84-\xb7\x86\xba\x0a\ +P\xe1\x90\xe9Z\xb7\xe8YS\xa9\xcf\x89\x94\xb3*r\ +7\xcd\x9f\xee\x8daJ\ +\x05\x02\x95\x8c\xec\xe8\xad\xc9v)l\xd3n\x1dQ\xcf\ +z\xc6\x8f|\xad -\x1cH\xc5}\xa7@\xa9\xbf1\ +\xac\xea\xb1\xd5\xfe\xdf\x9d\xd6\x9d\x9a\xc9\x11w\x0b\xcb=\ +\xc8Y\x1e\x90D'\xcf\xab;3LP\xed#Je\ +\x8fD\xae\x1d,\xf6\xd9HX.Q\x05\x0a\xd1c\xbc\ +]Aj\x19\xb2\xfd\xef\xb0*`\x01\x9aN@\xa8\xc4\ +\xa8Y\xbe\xd9W #\xd3z\xb0\x1c\x9ez\xc3'[\ +\x86U\x10f\xf6\x19\x1c3\xe49Y\xff\x9c[p\x0c\ +h~\x8d\xae\x0b\xab\x1cY\xf6%\x1cd\x1c>UN\ +y\xaevp\x919\xc3\xe1#\xa1\xd2\xb22\xf3\xba\x5c\ +iQ\x94\x1cg\xf7\xfa\xb0r\x1f\xfd9a\x15I\xea\ +\xb1a\x05\x09\x10Z\x1d\xa1\xd6a.\x96\xb3\x14\x08#\ +\xff\x85\x83\xa8\xfb!A=\xb9_\x81\xce\xcf\xc4^\xff\ +\xcb\xfe\xba>*\xa4\xd7$\x0b9\xc1\x9f\x86\xa5\xeb6\ +aB\x06\xa4\xe7\xd7\x1f\x10&\xb9\xc5\x91\x10\x18/\xa9\ +X\xcdI\x84\xd2\xca!\xce\x00C\xc1\x83j\xecb\xed\ +\xebS\xe5\xdc\xef\xde\x1c\x96^g\x8d\xc9\x9a\x935\x0a\ +\xa4\x9c\x9evZ\xca\x8c\x8c\xa0\xf5\xe1\xd2!\xb0\x98\xac\ +>\x99=\x99]A\xd1\xff<$\xd4\xa6\x16V\xeb\xc3\ +%\xe2,\xf8sX\xba\xce\xd6\xef\xab\xa7\x1b\xc4\xdf\xf8\ +\xde\xf1}\xe34.\xe3\x0d\xc6/\x1d\xa7\xf5\xd0\x7f>\ +\xac\xaa8\x07\x07\xc9ZE\xa6\x90\xe7\xe1\xc4$P\x7f\ +X\xd2\xd9\xe7\xfe\x98\xb1\x7fE\xf5\x22\xde\x7f\x8dJ\xfe\ +u\xf9\xe1\xfe<\x8fIX\xc5W\xbf\xd7\xf98U\xb1\ +\x8d\xeb|\xee\xff/\xac \x1a\xf0\xf3\xfa\xa3\xc3\xd2u\ +\x99\xb0\xaa\x97X\xad\x9f\xad\x9c,\xf3\xc8\xf2\xae\xb0\xe4\ +s\x1e3\xaf\xb5/\xb8\xc5A\xe7\x99\x0b%\xc8\x0b\xd2\ +\xaa(\xce\x04'\xbaH\x18i\xbe;\x11\x00\xf2\x10\x7f\ +\x1d5\x07!kL\x96\xc7}\x90\xf8\x82C\x0a\xf9]\ +U\x86sK\xd1%e\x9c}\x1e\x0a\x8a\x9c\xe5K\xef\ +\xad\x021\x123$\x82\xb4\x9e\xddB\x04\x07\x87\xf6\x9b\ +\xc9\x8a\x93\x95\x22\x91\xcey\xe0\xc4\x1e\x1c\x11\x04<$\ +4\xe0\xf2\xdaP\x89\x7fZ\x10\x89Ch\xf5\xa3@\xa6\ +\x00\xd2-\x1f*\x18Pxpk\xa5\x12\xe5F\xc6\x08\ +\xe2\x0fw\x94\xfd~\x0a\x82\x08\x82\x81\x82\x14\x9f\x8bV\ +_q\xf2\x18aB\x02\x98\xc0\xb9U\x8b\xe2<#\x10\ +V\xe0\xedu\xc6\xe7\xc2O\xa7\xa0\xc4\xd7\x90\x07\x92\xb8\ +!q\xd1r\x8f1\x0fH\xf8\xa9\xa0\xeds\x82\xc4\x07\ +\x89\x02\xee\x97\xf7i\xc9\xc2\xd9'\x80\xd6\xf3>\xc4Y\ +\x8c\x9b\xf6;\xaf\x1b\x12\x0b\xf8\xf7\xc4\x05-\x92\x1dn\ +\x12\xc6\x85\xc4\x0f\xf1)\xe3F<\xcb\xf3j\xb9\xf4\x14\ +\x8f\x10w\xdb\xaf\xd5\xe7\x9a\xf1\x00\x84\xfb~\xbf^p\ +\x89\xb9Y\x98\xf3W\x8fVP\x8b\xc8(^]\xd4\x02\ +\x80$\xb8\x12\x10\xf5\xb6\xcd\xf4\xc0\xd7\xaa \xc7\xca\xb8\ +\xb8\x02C F\xe0\xc0\x8d\x13`p\x1f\xe8&\x92H\ +\x90\x03\xe9\x01\xa4\x95\x80\xcc\xd4T\xd3\x02\xc0\x83\xe1\xf5\ +\x08\xc0p\x0c\xda\x0a%\x81<\xac\xf7@b\x81\xea\xb6\ +2\x0f\xed\xdf\xb7\x0f\x88\x9f\xb3\xc0\x99\xc8l \x82\xc6\ +9\xc3Z\xf4\xec\x87\xf1YL\x01%\x90x\xd87\x19\ +w6\x9a\x97\xab\xb7\x89\x1e'2s\x85]\x7f\xb8\x0f\ +\xc6\x0b\xd6\xd0't?Lp\x02x\xbdNr\xfb\xb3\ +\xa36\xf5)A\x1f_1\xe8x;`a\x5c\xf8\xbc\ +/T\x85|\xa9f\x82Jw\xdc\x1b\x80Z\x1f&Z\ +0\xa3-E\xaa\xd2\x22*X\x00l\x94\x1dVz\xec\ +Id\xc2V\xcd\x01\xe9\xf9\x0dB\x04\xdde\xb1\xcf\x13\ +\x98\x18\xfa|\x5cX%[(\xbdy \x80>\x10\xa8\ +\x0c\xfd8\xac\x92\x09R\xef7\xf7;\xfd\xe3\xb0t]\ +nz\xf9\xe9\xe5\xab\x00I=i\x04\x06\xfc}rF\ +.\x08\x87\xc4\x01$\xa4\x85\x1f\xc8f\xee\x90I?\x99\ +\x04\xb9\x16\x90\xe3L>\x98\x02\x9dn\xd3\xb0\xaaWR\ +=\xa1\xe3_\x85\x95\xfbb\xbf\x19\xfd8,]wK\ +\xb6\xabz\xe8\x8f\xad2\xd0\xb0\x1d/9Yj\xb2\x94\ +\x9e\xd7\x9fT\x91\x0b\xf2\xc1\xab\xc3*\xce\x05 \x94r\ +\xcc\xfa=\xc2*\xc4\x82\x12\xc0\x0eh\xe5\xc8\x02\x05f\ +\xfeuW\x85\xa5\xd7\xbd\x22\xac\xe2:\x08n\x83\xae\xcc\ +\x0f*s\x99-}\x9b\xd2s\x9eIjgUP\xbb\ +\x1ay0\xab\xb0[[\xd6\x88\x96\x19Z\x99\xa2\xa2\xb2\ +Wq\x5c\xf3\xb8\xa6\xe70sSX\xfaz\xb3d\x9b\ +Wj4p\xaf\xa0\x1e\x02\xa7\x0b\xfb\x16\x8e\xc8e\xe2\ +<9op<\xd1\xa7\x1f\x7f9\xac\x92\xb5\x03\x9aL\ +\x22dGUz\x90\xc9\x83,\x8e}E\x10\xdc\xfe\x82\ +\xb0\x82\xd4\xe8\xfe'Y\xb4t\x5c\x11V='zC\ +\xfbA\xfe\xd6\x8e\x0c\xbd\xa1\xf4NBz\xcb\xfe-\x96\ +{s\xb3\x100\xc0AA\xa2\x04\x19\xc7\xe7\x87U$\ +\xba$\xf4\xb4/\xba\xf2\xcf>J\x00\xc3\xb9\xda\xfe#\ +\x91\xc9\xbe\xa7}\xad\xfb\x7fai\x9d\xad\x12\x96\xbe>\ +0\xac\xea\xfc\xbb',\x8d\xc3\x09a\x15\xa2E\x08\x15\ +\xe42G\xab\x8ff\x8ff\x97V\x01\x9f\xc7b%\xc7\ +Qt\x22fW\xa9 H6nr\xea\xb0/\x02\x91\ +&A\x95\xe7\xe9\x8e\x8d\xec\xe0\xa6\x85; \xb4\x16B\ +m\xc1\xfb\x81\xd8\xf8\xfb\xef\x86\x15n\x01\x90R\x91>\ +\x8c\x04\xa2\x0b\x0d\x82\xa0\xc3i\xe2\x84\x19~\x93\xce\xb1\ +\xf1\xa7\xc2\xd2\xcf\x0f\x08+\xf34\xb9\xd1C\xcbG\xe8\ +\xb4\xcf_*\xa5pS\xa0\xfa\x11LG\xc1ud6\ +r\xfcJZR\xa4\x8e\x01\xb2f\xfc\xded{Ud\ +\x8e\x8ff\xfd\x9d\xa1\x92y\xa9\x12`\xebT2\x87\xea\ +\xe5\xcf\xf2\x8f\x1b(\xd1q\xa9*\xbc\x9f,\x81H\xbf\ +H\xb2t\xfe\x8e?\x14V\x12(y^\x1eR\xee\xd3\ +\xe7\x0e\x1c&\xad\x03O\xcb\x07P~H\xb7\xe0\x5c\x22\ +\xa0$\x90W\xc5\xde\xc8.*\xc2\xb0\xb0\xa3jBK\ +\x1c-0\xf8\x11\xf8K\xac3T*\x04\xd9\xef\xd7\x0b\ ++\x89-\xf7\xf8\x13\x98h=\x12\xd0\xb2/\xbb\x95\x05\ +\xee\x17\x02*\xb8\x13@\xaa\x80\x10\x80\x1b\x00U\x1a\xa9\ +\x84d\xce\x97Wh\xdf\x9a\xbf\x22\x01\x04\x89!\x04\x8d\ +!\xfc\x9c[\xda\x9f'\xcf\x09\x13i\xe5\x86sC\xb0\ +Q\xbd\x98z\xdb\xd4\xae\x91\xa8\xcc\xb3\xf6\xf9\xd5\xfaV\ +B\x05RN\x12\xed\xa8f\xf89\xac\xafVR!\xea\ +\x18\x0f#BA\x16\xa9\x85\x81\x16/s l/D\ +\xc1\x93M\xcf<-3\xa8\x90@\xa6LA\x09D\x01\ +\xf1\x16\x01=\x95\x7fZS\x90\x83\xa3\xf7\x9c\x9f\xff<\ +\xed\xe6?\xaf\xb8\x05\xe0B ! \x7f\xcd\x95j\xb5\ +\xca\xb8@FB\x8b\x00\x93\x04\x04H\xd6\xd2\x22;\xdc\ +\x1f\x88\x09~\x9f\xf8\x8cyG+\x08\xb2~\x04\xce\xfc\ +\xc3\xef\xc3\xdfm9\x89\xd8\xa7[\xb50~\x0f?\x94\ +\xc4/\x017\xeb\x102U\x12\x1d\xed\xcf\xf9;\x02{\ +\x10\xe1$T\xe0T\x22\xc0'q@\xdcI\xa2\x00\xb2\ +=\x10\x08\x14\xbc\xda\x16n\xfc[\x12\x11\xdc\x07\x09m\ +\xceE\x0ae\x5c\x19\x07\x10\x0b\x04\xfe\xf8\xd3$\xb0\xf9\ +=\xc6\xaf!\xc7w\xbc\xc0\xb8\xb7W\x9ec\xf3\xfd\x19\ +\xb3j.\x96C\xcc\xd2k\x1f\xc3\xfb\xa0n\xfc\xeeJ\ +\x160\xa6\xc5\x1d\xd5\x07\xc3A\x8e\x1e\x83kT\xe9\xd9\ +S\x95\xb4\x9a\xa5\x9f\x80\x81J\x14\xd0|6\x1e\x1c\x09\ +>H\xdbcCbA\x95`\xcb\xae\x91H\xe0\x03\x12\ +\x90\x93\xa8\xb8Bd\x17\xab\xa9\x12H\x8f\xb12\x84@\ +\x8e,'\xc7\x83mY\x1c\xdb\xca1W&\xee\xdc\xac\ +\x8f\xc3\xcfy`\xfc\x1e\x81\x14\x13\x93+\xa4\x17\xc8\x98\ +A^\xc8\x02\x22\xa0\x02\xaa\xcc\xcf\x09\xb8\x80\xea3~\ +\x0b\x98\x84c\xb8/*\xe8\x04\x8c \x10VlT\x14\ +Xx\xdc\xe7\xd2\x9a`lx\x04,\xf4\x8e\x13(\xb5\ +2u+(P\xa7%aY\xc9\xb2\xadb\xd2\x99\x01\ +\xe2I@\xdb\xb6`\xf0\x1cI\xe8\x00\xc1\x07A\xd2\xca\ +R\xee\xac\xde\xe0\xfd\x86\xca\xa0\x1dV66\x1c\x1dH\ +\xe1Z\xae\x02*B<\xff\xe7i<\xd88\x09\xc0\xf9\ +\xfd'\xcc\xa6?\xc8\xcf=98vfMo\xc8\xfe\ +,K\x07\x14\xbd%\xafd!\xf3yH<\xa9B\x98\ +\xc9\xcb\xb6\xaf\x10\x19\xea\xb9\x9a\x5c\x16V\xe4\xf2L\xee\ +\x88\xea\x03\xcf\x15\xbdm\xc6\x13\x16^H%\x1bh\x90\ +3\x9bl\x5c$\xd08\x18\x9a^<\xf7V5z\xa9\ +@\xcf\xdcR\x82\x9c \xd0w\xd8\x89A\xe8\xf0\x0f(\ +\x18\x09\x0a2\xc1$\x0a\x98wr\xc4 \x07\xb3\x0c\x0f\ +\x08\x02d\xa8\xd4Ci\xae\x08\xd4\x03`Y&\x80 \ +S\x0c\xe9\x1f\x953\x8d\x97\xc9\x8e\x98\x9f\xb0\xb2\x8b\x95\ +\xde\x07\x18-\x06@^I\xcc\xb0oB\x0e\x87\xae9\ +\xf3Drq@\xeb\xe8\x95\x8e\xce\xde\xe8\xed\xcd\x10\xb1\ +\x05341W\x1a\xbc\xee\x04\xd9\x05R\x9c\x82\xd2\xa1\ +\x12\xff\xb1\x8c\xb1\x99\xea\x8fO\x01\xcc\xf1%Q\xd4=\ +\xaf[\xb5{^\x96\xb3:?\x93\xab\xd1S\xab\xca^\ +P\xd2\x05)\x1d=\xeaf9&\x01\xa3\xf1f\x9dQ\ +\xb91\x84\x15\x16fX\xc6\xbf\x92\xec\x8c*q\xa0^\ +x\x02\x07\xf61C\x9e\xdf?\xc8\xa0\xd1Z2\xd9#\ +\xac\x90\x8e\xb9\x12\x81\xac\x91\x02uH\xb0\xe8\x0d\x06\x9a\ +\xdc\xdf\x1fVd\xc62\xb2\xe8\xc3%`\xebnL\xf6\ +\xfb\xe2\xd8\xe6\x0e\xd2\xd7\x16V\xeb\xdc\x22\x90\x1c\x85\xf1\ +9\xc9R \xda\xbf>\xd9\x96\xda\xdf\xc7z\xae\xbf\x91\ +#\x1b\x89\x88\x95\xc2\xd24yQX\xfaz\xbed\xe1\ +\x18\xdf\x9e\xec\x8e\xea\x5c\xa4\xa2G\x05l\x13\xb54(\ +\xf1\xc8:\xe9N\xe9\xbe\xd0}\xa1@|\xad\xdb.\xf5\ +\x88\xd1W\xc3\x8az\xc3\xf4\x99\xd3_\x9dN_\xe7\xe3\ +5\xcd\x9b\xe9\xbb\xc3\xd2\xcfg\x85\xa5\xeb[\xc2\xb4\xce\ +\xef\xac*\x868\x1c \xb0\x82\xed\xfcg\xd5\xfa\xc0\x11\ +:@\x95'\x1cu\x02\x0d\xce\xf1\x8dD*&\xa8\xbc\ +\x13)Z\x0f$\x8c\xdc\x12\x11\xdc\x0c\xe9\xf9v\xeb\x87\ +\xa5\xeb\xcf\xc2\xca}\x98u\x9b\xca\x1b$\x81\xec7p\ +\xd1\xb0_\xc0:\xcfyB\xe2\x1d\x04\x93\x12x\xa8%\ +\x98\x8b\x81\x8a*\x01\x0b\xfb\x10\x08/!T\xe0\x940\ +\xf4}\xdf\xa9\xfd\xa6\xf6\xab\xc8i\x15\x00\x182O\x85\ +\x99\xca\xd8\xfb\xc3\x04\xd5\x7fU\xc5\x01\x11\xa4~\x7f\xaf\ +\xe6\xc3\x0eai\x9a\x1d\x9a\xecc\xaa\xa4\xbe\xaf\xf4\xac\ +C\x9a\x0b\xd4\xbd_6\xac\xaa\x8c\xef6\xf4\xe6w\xa7\ +\x85UP`\xfc\x15\xe4\xe2 \xb5\xd4>oD\x01\x08\ +\x18\x91s\x1aY\x06\x19(\xe3\xadsir\xc8\x80\xc0\ +\x1am2\x8c\xa7efAr\x01u'QKo\xb6\ +\xf6\xc7\xd1\xa7\x95p\x17gJ?N\x16\xaa\x1d\x9fK\ +\xf6\xf9\x82\x00t\x0b\x93\xd6\x8f\xcf\xad\xa8\x03\x9fP!\ +\x85\x02\x11\x96\x02\xb8\xf1\xa9\xc9N+\xea\x1ay?\xfa\ +J\x95\xd8\x15\xd9\xdd\xf4\x8f\xc2\xd4\xca\xb8o\xe5G\xa2\ +\xfb\x0e7\x13\xaa8p\xb9\x90X\xd2\xbe?\xfapX\ +\x91s\xed\x8f\x0bK\xdf\x7f(,}\xfdhX\xc5\x09\ +\xc1\xeb\xd3\x1a\x86\x0a\x06\x1cZ\xb4\xc4\x00i\x07\x09\x09\ +B\x16\xee\x03\xb85h\xa5\xd4\xfb\x91\x80s\xc2\xe5A\ +\x91U\xd2\xa2\xab\xe7kH\xb7\x10i$,\x80\xe8\xfb\ +\xf3*\xe1n\xd2@\xd6\x19d\xba\xf2\xd3Ln\xab\x02\ +J\xff\xcb\xb0\xca\x1f\x15B\x0c\xa4\x89\x11] \x8c@\ +\xecQ\xc1&\xd0$p%\xe1\xdc\x9c\xdbn\xfd\x834\ +\xf1=J\x80\xaa\xe5\xcf\x01,r\xb1\x04\xa2\xf8m\xcc\ +Oz\xef\xf7R\xab H=\xda4A(\xd1\xf2\x07\ +9\xa1\xe43=/\xf9\xbc\xac\x7fqy\xf8\xfc\xc7\xff\ +\x04Q\xc1\xd7\xb4\xd9\xe0\xf3\xbe\x00\x00 \x00IDA\ +T\x0a\xac\x9a=\xe7\xf0\xb7\x86\xfdH\xad\x0bNl\x12\ +w\xb0O\xe3w \x8f\xcc\xfcb\xbff\x01?\x9f\x03\ +\x95\x10q\xba\xf8\xf7\x09\xf0\xf1\x9f\x9b\xd7\xf7\xf8pn\ +\x92\x10\x8dQ\x7f\xa2:G\x99\x07\xcc\x1f~\x8f\x04\xfe\ +\xb3q\xd8\xb5\x08^\xe2P\xe6\x89\xc6y&/\xa7\xdb\ +\xab\x808*\xf4w\x14\xc8\xbf\x17\x86*\xc6\xd9\x91_\ +\xa9\x92\xbf\x88<\xf0\xf6\xeaY\x5c\xa7:x\x91\xe3x\ +2\x87\xa0fYu\xa0\xc0\x83d\x02\xf0>8 @\ +\x17\xc4&\xed@\xa6\x85L\xb7\xb2i\x0c\x04\x99\xb9\x22\ +\x9f6\xfc#\xc0\xe3>\x08t[6E\x1e \x81\x1a\ +\x95\xce\xf6A\x94\xbf\x07\xca?\x1c\x88\x8fh#i+\ +\xea-$\xbc\xd1yto\xd9-jy\xd8^l\xf8\ +\x0d7\x02\x19Q\xebh\xf2\xf7, \x02\xba\xbb4A\ +\x95\x19\x8c:ET*\x8c\x08\xe0@#@\xe5\xb9\xb6\ +\xd0s\xc8\x099\xf0\xb5 \x80\xb8\xd0\xb3\xea\xf1\xc5\xb1\ + \xf0\x93C\xe8\xe7\xb8\xba\x12\x1a\x04>\x8c\xcf\x06z\ +\xdfF\x86\xc4\xafCe\xa5\xd6\x91]\xbdb\xb1\xe5\xf3\ +q\xe0\x11X\xaf\xaa\xc4\x03\x89\x12\x02j6<6j\ +66\x91$z\x03\xd4\x06\xef\x9eo\xc6\x89\xcc.\x09\ +\x026:\x1c\x02\x024\x16,\x018W\x02\x01\x12\x01\ +\x0d\xf2\xc4\xf7\xcf\xf7I\xf80o8\xf8\xc8\x04\x83\xb4\ +Qo\x1a\x157z\x00\xd1\xedv\x05]:\xd8\xde\xd0\ +\xa8T1_H,\x80\x88@\x15\x00U\x04z\x0e\x05\ +\xf5\xa5\x02\xe4J\x1f\x99q\xb8% ?\xa3\xb2'\xc8\ +\x99\x13\x16\xb0?\xbft\xb2\xc1\xe4\xa5y\x83\xcc\x89\xc8\ +,3w~U\xd1&q&\xc8\x9d\xe7\xc1'\xb2\x95\ +@\x05G\x81J-\x1b4?\xe7\xc0\xc6\xd1\x82,\x93\ +\xfb\xc6A\x84C\x04\x87\x83\xcc:\xfb\x04\x89\x11\xf6!\ +\xa0\xf0kf\xccN\xe9\xed\xe2\xe0\xc1\xd1\xc3\xb1\x82\x84\ +\x10r\xb3\x9f\x86\x95\xde[\xd4\x1e\x1c`\x13H\xd1s\ +\xaf}~\xf2\x1d\xe90\xdf\xd5\xdf\xd9\xdfY\xfd=\xbd\ +\xa6\xa8\x15D=5TH\x1e\x08+z\xed\xf4\xfc_\xa0y\ +\xbe\xfb\x00\xdd\xeeN\x0c+$\xac\xdd)a\xe9\xfa\xee\ +\xb0t}yX\xba>',]']\xdfM\xcas\ +\x1e}.,}?\xff+\x81 \xadA\xdd\xeea%\ +\xf1\x9f9\x0d\xd2\xba\xea.L\x162\x95\x8b'\x0b\x15\ +\x86\xcf\x87\xa5k\xc6\x9e\xa7\xebC\xdd\xc3\xdd\xc3\x95\x03\ +\xa8\x0a\x1cd\x8d&\x11\x93|\xe5\xe8\xde\xb0t='\ +\xac$6\xbb\xc7\xc2\xd2\xf5\xdfaU\xe5_\xfb\xb8I\ +i\x09\xfc\xe5\x80\x8eN\x0b\xab\xd6\xc1k\xc2\xd2\xef\x7f\ +,\xac:g\xa9\xd8\xe0\x00\xf1\x0fYK\xb5L\xf4\xa7\ +\x84\x95\xf5G\xa2h\xbcr\x98\x02\xf0C\xd3\xf5\x95a\ +\xe9\xfbg\x87\xa5\xaf\xdf\x11\x96\xbe\xde.,#)\xbe\ +\xd5G\xa5\xf9\x03C\x02\xcb\x0e\xf1\x9e\x82\xa4\xbfT\xe7\ +\x17\xb2\xad\xdc'\xfe\x84\xa0\xeb\xb0\xf0g\xe8\xff\xe3\x95\ +\xbe\xfa\x83\xc9\x1e(\x01\xb5\x13\x84\x0a\xa4\xfb\xd7\x84\xa5\ +\xeb\xf7\xc3J I+\xc3\xcc\xc6a\x95^\xba\xf4\xd4\ +\xddB\xf7\xd3\xb0r\xbed\x96\xfd\x934\x7f7/\x15\ +n\xcb\x06\xd2\xdb\xce\xf9\xf9\xb8\xfc\x13*\xc8\xa8!\xc8\ +a\x0f\xef2\x10\xa0@\xa4IH\x98\xd5^\xa4g\xdd\ +<\xddL\x97\xfc\xbb>\xd4\x00'\xd5\xfd\xec\x96l\xd7\ +\x0a\x92\x1d\x89\xa1\x03\xab@F\x89\xd0\xfe\x8c\xb0t\xdd\ +3,=\x9fk\xc3\x0aW\xd1\xf4\x85a\xe9\xfb[\x84\ +\x89[a\x83\x92\xc8E}\xc4jE\xc8/\xd3\xdb\xcd\ +<\xe3\xdc\x04\xc9#\xe4\x97+\x87\xb4V\xde\x11VZ\ +E\x9c@\x22\x80\xc8\xff\x0a\x02\x82\x84x\xbfmX\xd5\ +\xe3\x8e\x7f\x8b\x7f\xa5}\x1b\x7fh\xb2IX\xd5\x22$\ +H<\xe76\xad\x06'\xf1A[\x98\xe6\xef\x187\xe2j\xc6\x89q\ +W|8\x93\xd9\x8b?\xa1\x85\xb3k\xd1\x89\x9d\x8b\xec\ +N\x81\xc8\xe4\xc6\xb0\xc2\x0a\xecL\x11\xe4`\xd1C\xf9\ +\xd6*Pl\xd9\x10[\xc8B\x0b\x8d\xe7\xca\x84\x86\xcc\ +\x8d\x0d\x0d6xX\xd8\xe9a\x02RI\xc5W\xbd&\ +)l\x1c*\xc6k>\x93M\xde\x99\xbe6\x81\xd0f\ +L\x90!\x11\x9b-=NsAW\x18\xf0\xa7\xf5\x00\ +zXw\x1a\x19\x08\x02\xeb\xf9\x05\xf9 \xf0\xe5\x81\xea\ +\xf3:\xe0\xa5\xa7\x8f\x07\xfc\x90\x0eZ\x16\x0c\x13\x92\x09\ +\x02\x94\x84\xabu}\x86\xcfCf\xcb2u\x1c@\x90\ +<\xca\xc16\x84x\xad\x06\x92\xdf\xea\xd8\x13\xa83\xb1\ +\xda\x9e\x96\x96\xbd\x9e\xf1g\x83\xa1\x15\xa1\xd5\xb9\xe7\xfe\ +\x99\xd0\x5cy]\x12\x09\xb48P\x19g\xde@r\xc8\ +\xf8\xae\xa3\xf9\xc3\xbc\xd3\xeb\x9b\xd4\x92\x00\x9b\xe7H\x00\ +\xf1\x8e\xb0*\xc3K\x22\xa9\xa8a\x0cH\x84V\x07\xb4\ +\xed\x95o\x13\x02$6B\x7f|\xde\x0a\xf2\xd7\xaaI\ +\x80\x08`\x9d0O\xdb^(6\x1eH\xf0xnz\ +=Xm\xad\xd3\xab\x80\x82\xc0p\xae\x0c\xe2T\x930\ +ccf\x83e\xe3\x17\xc4\xd3$]\xb0\x09S)\xda\ +7\xac\xfa<\xa8)\xc0%\xf2\xc1\xb0J\xcf\x18d\x07\ +\x81:\x19q\x02\x0cU$\x81\x82{\x1dh\xfc\x080\ +\x9cY\xe5\xf9\xf3\xfe$\xc6\xc8\xc8\x02%\x13T\xd0\xe4\ +\x868\xa4\xc7\x85U\xf3\xb8e)f\x9e\xf2|\xb9\x7f\ +\xd4\x08\xc2-\xda:\x1f\xb0\xe7\xc6\x01\x9be\xe5\xaa\xd6\ +\x09W\xc48P\x90\xc3\xc2\x01\x5c \xacRI\xb8q\ +hypK\x07\x19y%\x82&\x8f\x0f\xfb\xd4\xf8\xac\ +\xf1\x99\xe33+Gl\xa7\xe1\xb9X\xa5\x00\xc7%\x8e\ +\x9d\x87\x0a$\xb0[>\xac:h\xe0\xd0\xe0\xc0\x8d\xd9\ +]\xe9\x91{\xbe(\xa0\x19A\x82\xa9\xe7bn\x10*\ +\x8b\x04\xce\x22\xa7\x1bo\x1cV\xe6\x0b\xbd\xcfS\xc7\x0a\ +q\xb0\x92\x12\xcf\xe2\x0c1\x22\x86\x8a\x04\xbd\xf2p\x97\ +h\x9c8Hy\xbf\xd1O\xc2\xaa}\x9f\x1e^\x052\ +\xfd\x8b\xc3*\xd9\xc5_\x0e\xac\xd5\xd9\xc1}\xbbzz\ +?\x99\x03\xbb\x0fD\x22`\xb4{X\x15P\xdc\x16\x96\ +\xc6\xef+\xc9N\xd7\xfcI\x01\xdb\x9c\xd9aJ\xd4\x5c\ +PH\xf6\xba\x15\x92\xadXZX\xa8\x94vgu_\ +\xeb\x92#\x9b\xfe\xffz\xf7\xf5\x22\xc3\xd7\xfd#,]\ +\xdf\x1eV*\xe6\xd3k\x87\xa5\xaf_\xd0\xad\xdd\xc5\xf5\ +\xdbC\xc51\xb9\xfb9Q\xe9J\x94\x12-\x93\xff\x09\ +\xab\xf6;\x91\xb5\xf9\xdcd\x9f\x8fzzp\x14\x5c\x1c\ +VZ\xd3\xd2\xabf\xd9\xd8\xd1w\xc3\x0a\xb2\x06}l\ +\xf6\xa3\xd1\x02AG\x99\xae\xf7\x04\xdfw\x85$\xd0y\ +evq=\x17\x93\x1e\x0a\xd9\xd3}9,\x8d\xf7\xbb\ +\xc2*\xf23A\xa7\x09T\xbb\x83\xc3\xd2<:s\x98\ +\xef$\x0a\x9c\xb8\x83<\x93\xf3_\x88\xa7\xee\xc7a\xe9\ +zPXzN\xbb\x85\xa5\xd7Y+\xacB\xc2\xbc:\ +,}\xff\xcda\xe9\xfa\xea\xb0t\xfd`X\xfa\xbb\xc3\ +\xc3\xd2\xd7'\x8c?3\xfeLi\x991g\xc5\xd6\x03\ +Yb\x7fC\x7f}\x7f}\x86\xb4\x0fH%\x12\x8c\xaa\ +\xf0g\xc8q\xec\x83\xbb\x0cry\xdd\xfea\xa52\xdf\ +\xff0Y\x0a\x94\xfa\x05\xc3\x0a\xa7\xcd\xe8\xb2\xe1\xe7&\ +\xb7\x84\x0c\x10\x128Ux\xfb\x83\xc2JO}\xb7d\ +X\x15\x98\xabBH\x22\xb4\xfbaX\xd5#,\x84P\ +N\x80\xed\x94\x13\x11\x0f\xf5\x0f\xa9\xa5hR\xe9\x9f\x13\ +x\x90\xf8P\xc2\xde\xb2\x81\xcf\xed\x97\xed\x9f[Z\x0a\ +\xd2\xb8$+\x09\xe6\xc9SR\x09\x987\xd9\xaa\x05p\xa1\xd0\xf3\xce\ +9\xb9\xadZ\xb3\xf0+\xf0\xf38\x7f( P@\xe2\ +9(\x81\xe2\x80\x92B\x15j\x22*\xe8X\xc5\x04?\ +\x05\xb5\x1b\xb5L:\x00\xd7~a\xa4\x11\x95n\x90\x11\ +p\x07\xa8\xc5\x95\x96 \xfbm\xf8\x09\xc8\x8b_\x98\xad\ +$\x06x=\xe2\x06\xfce\xfcz\xfc}\xfcu\xe23\ +\xfcC\xfc6\xd4Z\x08\xd8Y\x07\x8c\x0f\xbf\x8f\x7f\x89\ +\xff\x8c\xff\xdd\x92\x88\xb7\x81>\x89\x03\xee\x83\x00\x1b\xae\ +\x158+(\x90\xb5\x15\xff&\xe1\xe0V\x02\xee\x9f\xf1\ +$\x90\xe7kH\x83\xdb\xd6\x03\xe20\xfc1\xbe\xe6s\ +J\xe5\x22\xefs\xb7WHP\x10$\xfc\x1eqg\xcb\ +\x15\xc6\x15\x7f\x9fx\x80\xc41\x85\xdf6\x1em\xe3\xa7\ +\xa6\x90<\x90\x00\xa2\xbb\xfb\xa5\x0a\x12\xbc\xde\xa0\xdf\x9a\ +\xc3\x8f%\xe5\xf8.\xa5\x0a\xcf\x8aUo?\x81\x07\x10\ +Y\x0e\xde\xd8\xa87\x17t}\x8d\x0a\xc2DE\xee\xd9\ +\x12\x01\x0a,Mj\x87~)\x01$\x95k\xaeTR\ +!\xef\xd0\xd7\xa3\xd9\x0ap\x08\x0c\xdb@\x116tz\ +\xe8I \x10pqm\x03#&\x1c\xff\xc6\x86V\x0c\ +\x01:\x0f\x0a2\x0b*\xf5\xab\x87=\xa3\xf7ex\x10\ +,4\x02k\x02`\x1e \x13\x90\xf1\x99\x98-~\xa8\ + \x92x\xa1\x02\xcf\xfd\x92\xd8 p!\xc1\xc0\xeb\xb3\ +\x90\x99\xa87k\x22\xde\xae\x89\xdeV\x9a\x05\x0d3\xf9\ +#\xcf\x8f\x16\x05 \x98<\xdfU\x14\x88\x130\xb1\x81\ +,\xdd\x90\x0e*\xe3\xef\x80\x95\x00\x9e\xd7'\xd1@\xe0\ +\xcb\x02\xe1s\xc2\xae\xbd\x84z\xc77Q\xe2bY9\ +\xb8\xe2 \x08\x91\xb4\x5c\x99\x5cO\xf3\x84\xf9\xa3\x8d\xd6\ +r:\xb4\x82\xf0~dFI\x84\xbdA\x15X\x02)\ +\x12M\x22I\x9az\xfd@\x02\xe7\x04\x0a\xf3\x0e\xc7\x1a\ +\xa4\x09=\xe1@\xf0hMi\x13f\xbc/\x81\x0b\x1b\ +C\x9bX\xe2\xf7q\xecY\x0fd q@h\x8dh\ +e\xb6@V\xe8jU\x0az\xd89\xf0\x08\x9c\xd9X\ +Y\x97:\x9088}\xc0\xf1\xfe\xfc\x1d\x07\x0d\x19\x7f\ +e\xbc\xdd{\xc9|\xe3\xf9K\xdf\x1e\x87\x8c\x00\xc0\xf3\ +\x8dD\x0c\x1b!\x07\x0a\x09\x18\x12\x5c\x90\x05B\x92H\ +\xab\x8d\x02~\x1f \xcfB\x02c\xc4\x04\x81\xa4\x12\x13\ +nAb\x9e\xb0\xfei\xb9 3\x0c\xd2\x05yN\xb8\ +\x0bH`\xf2\xb9!\x05\xd2\x86\xed\x96\x05U\x90\x8c4\ +\xbaH\x01\x84Z@\xdc\xbb\xaf\x831\xf7\xe6\xefV\x91\ +x\x11h\xd1\xe2E\x85\xe3\x7f\xb2\xfeFqhcU\ +\xae]\x02\xd5\xec\xce\xff\xa0BF,\x95WT\x81\x8a\ +\x12\xf8\x07\x14\xf4\xfa\xe2\x80\xa1\x0e`\x194A\xe4 \ +i4\xf2\x8b\xfd\x82J\x07\x10F!\xc9 At\xeb\ +\x81\x12\xd0\x8cK\xb7kX\xda\x16\x8e\x0c+\xaa\x05N\ +@K\x05\x80DU\xae\xbc\x9fP\x1c\x01\x10.F\xac\ +\x11\x08\xf3\xfc \xa7\x04\xe2\xb7S\xb6\x12\x80\xae\x1c\x96\ +\x96\xe5&\xc9\x22\xb0\x7f*,\x07\xc0\x0b\x84\x1aC\xf7\ +\xe9d\xd1;}BX\xfa\xfeU\xc9\xae.\x95{\x9e\ +\x939\x14\xb6\x1a\xb8/\xa8p\x9b$P\xac\xcd\x96U\ +T/:\x8e\xecd\xbe\x08\x99JB\xaa[\x22,]\ +\xcf\x0d+\xf3\x8e\xf1\xc5a\x9e,\x94l\x96\x02\x91/\ +\xa8\xc5fs\x05\x02\xdf-\x09)HZ\xd1%\x1f-\ +\x1fV!H\x84D\x1b]\xa8\xe7\x85,\x14\x8e\x96\x9e\ +swhX\xba\xee\x15V\xb1\xfa\xeb\xf9C\x06\x092\ +\xc0\x90a\x1c\x1c\xb8o\x04\xb1\xb6<\xa5\xe6\x89I\xbb\ +H\x08\x92\x98\x90\xa3\xde]\x19Vdy\xe7\x5c\x15\x96\ +\xae\x1f\x08K\xc7\xf9\xeda\x85L\xab\xffc\x7fk\x9f\ +\x1c\xba\xf1-a\xe9zuX\xfa\xfeg\xfa\x13\xfb\x13\ +\xd3\xd7\xbf\x08K\x7f\x7foXz\xff\x95\xc2J\xc5\xb4\ +?=,'0\x86\x00\xfa\xa5a\xe9zQX\xba\xee\ +\x18V\x90*y|\xf7\xa9\x12\xa7\xb1\xab\xa5}\xf7\xe9\ +\x9f\x86\x15\x7f\xc9\x81\xf3m\xaa\xe0R\x89\x02\xe9#\xae\ +\x13#\xaafO\xd6\x082\xb6~\xd3~\xb3>\x05\xaa\ +s~:\xe7\xda9\xd7\x96\x9e\xe8\xc9\x16C\xc2c\xf4\ +T\x08j\xa6\xfbX%,}=\x19\xb8\x1e\xf2<\xfe\ +t\xa9\x0cG]7#\xc3.\x1c\x12\xa5F\xb6(P\ +\x9bl3yc \x8f\xfa\xb5\xc3\x0ai\xe7x\xc7\xb0\ +\xf4\xfe\x9f\x9ds\xe2\x9c\x13+$\x01\xe4\x95OL\x1e\ +\xcf\x09\x8b\xbd\xc3\x0a\x12#\x93'\xbeZ\xebs\x83\xca\ +\xdf\x5ci`\x95\x1f\xef\x1cV\xce\x85\x99e\x92\xa5\xf5\ +\xd1}.\xd9\x89b\xe9O\xfb\xc1\xf8\x82d\xe7W\x89\ +\x96\xc3\xc2\x92{\xf7\xbe\xb0t_\x97\x85\xa5\xeb\xff\x86\ +\xa5\x9f\xdf\x10V\xf9-$\x02n\x1d\xe6\x85\x0bB@\ +\xb2\xf1\xd3\x98\xaf\x90@\xe2'\xb1_>\x1dV%r\ +\xd97\x95X\xcb*+\xc15\xf1\xfb\xb0\x9c\xc09\xb8\ +?8W\xee\x07\x8e\x05!O\xdc\xe3\xae}\xa9\xffx\ +\xb2\xc3\xf2\xdfg\xd5\x8f\x14t\x0d\x01\xde\xe6\x99\x16\xba\ +\x90\xb0\xceI6.-YNX\xe0\x17\xaaPC\xab\ +W.\x84\xbc\xb3\x1awU\xea\xdd\x22\xb9Q\xc6x\x16\ +\xf9U\x15\xac\x9c\xf8C\xae\x15$\x02-K\xeb\x0er\ +\xa6\x90[\x82\xb0h\xc9\x87\x19\xa7\xfeJq\xe7\xfcB\ +\x5c\x04p\x81\xa9E\x16\xf2BW\xfe\x09\x14O\x19\xe4\ +A\x8d4$\xf0\x83\x14\x11\x92\xe0\xbd\xc2\xca8M>\ +7\xf9\xec\xe4\xb39\x01\x95\xff\xce\x1cFJ\x8c:.\ +\xa0\xb5\xe2\xb3\xc3\xef\x9b\x04\x14\xff\x08?\x16\xa4\x80\x12\ +\xf3. \xf0s\xfc[\xfc\x17\xfc\x10\xe2\x01\xfcAd\ +S\x85\xf0\x81<\xd2\x1c\x08\xb4>\xd0\xc2\x00\x14\x1f\xff\ +\x88\xe7\x86\xbfC\xcb\x1e\xa4up{\x81\xf0\xa2\x22O\ +\x82\x8bB\x07\xfe7$\xa1\x14\x84\x08\xf8\x81\xcc\x13\xf0\ +R8\x82\xc3\x05.\x02\x02[\xfcc\x02~\xfc)\xfc\ +[\xd6\x17\xf7\x8d\x1fJ\xc5\x9fyI \xce\xfb3\x8e\ +-B\x80D%?\xa7\x90C\xa2\x01\xff\x0d\x84\x08\xe4\ +\x84\xbc\x0e\xbfG\x00\xcf\xd7\xc8TR\xe9\xbf3c\x8a\ +\xcb\xfd\xf2~|\x0d\x92\xb4\xe6\x02xNu?\x1a?\ +sU5-\xc6.\xfc\x91\xa0\xe293~maU\ +\xfb\xd1\x8c\xa1u1\xdc\xffRFguA\xf8\x96\xd6\ +\x1fv\xd5D\xd6F\xe3\xaf\xb9\x91\x08\xbbg\x17\x1d\xf6\ +\x0c\xc4:\xb5\x0aX\x98\xe0\x91\x97^N\x13yQ9\ +2K\xfd\x97D\x00\x99%\x02\xd8\xb629n\x02\xee\ +Vu\xe0^U\xba!Wb\x02\xb1\x11\x13\x98\xb6\x19\ +.\x06\x88\xdf'!!\x87\xc7\x01\x07\x95\xebe\x15X\ +/\xa6\xd7\xe5\xef\x0b\x92`\xb8O\x160\x0f\x86\xca0\ +\x018\x9f\x13Y\x1c\xa06 \x026T\xa01\x8f\xc6\ +sQ\x8d;\x1c\x0c\xd2\xeb\xb5|]\x0b!a\xfc\x0a\ +\x94e\x08\xc8\x98\x88 <~'9\x99\xed\xd4z@\ +\xe2\x80\xc0\x9cq\xe6\xf5\xa8\xe4\xe38k#\x06\x02:\ +\xb5\xa92\xe3<\x7f\xc6\x99\x89K%\x1fR=\x9e;\ +\xe3K@\x0b\xa7\x00\x7f\xc7<\xe1\x8aG\x1b'\xf3\x96\xfb%\xf0%\x00\xa0\x17\x1d(\ +\xdb\x9f\xc3\x0a\xe4/\xfbC\xe9\xf5G_\x0b\xab\xe6\x09\ +\x1b6\xf7C\xa6\x5c\xba\xeb\xee\xb1\x22\x11\x86<\x0a\x08\ +\x04\x02\x1fm\xf0F\x06P\x01ouFI\x00\xb4\xc8\ +\x09\x02a\xe6\x15\x81\x10\xe3A%\x8c\xcf\xcb|\xc6\xc1\ +a|Y'\xfc\xe3u9P\xf9\xbc|~\xfe\x9e\xf9\ +A\x8b\x886z \xdb\xee\xb9\x07\x99\x80\xee-\x19x\ +\x1dd\x86\xcc\xf1\xb9\xc8\x80Kf\xcb\xec\xe8\x04\x90\xcc\ +\xc3\x96$\x91\xfbf\xdc\x80\x04s\xe0\xf0y\xf8=6\ +\xf2\xe6`\xf1\x01\x0a\x99\x99z\xd8\xddkI/\xf17\ +G\xdf\x18}\xa3\x92\xd1\xa2\xe7\x8c\x16* \xea\xe2.\ +0k.\xcf\x8bD\x04\x9c\x1f\xec'@\xfb\xd4\xb3h\ +\x04\x05j\x00J\xdc\x8e\xb6\x0a+\xd7\xee\xab\x03) \ +$G\x96\xfd\xbaC\xbd\xe8\xc8\x1dj=d\x88\xffF\ +\xaa\xd0\xa7\xfb\x1f\xfd\xbfd\xff\xaa\xd8\xaai\xe1\xb85\ +\xd9\x1f\x05\x05\x9d\xb7z\x1eJ\x8cY^H\xe4m\x19\ +\xb2\xf8\x91j=*\x01\xe1@N\x81\x06\x89\x14\xd4\x01\ +\xccb\xfd\xc5\x81\xfc\xc8\x0e\x8ezG\xfbu\xc3\xd2\xe7\ +\xfcmXa\xadw\x80\xadD\xcb\xf8\xd00\x91\x80U\ +z\xcb\xa3\xa9\xa1\xc0\xe7@\xfb\x1bz~ \x0c\xd4k\ +;\xba+\xacT\xb0\xdc\xb3\xbeu\x98\x12+K\x14\x87\ +\xb4\xfb\xbf\xb0t\xbd3Y\xfa\xbb\xe9C\x92\x1d\xacJ\ +\xe6N\xe5\xb9Y>S\x88\x11\x12\x90\x86\xe4?\x1eV\ +9\xac\x22\x0d3i$\xeb\xe4\x95J$\xa1\xca\xa2\xca\ +\xf1h\x9e0\xc9\xc0\xee\x98\x13=K\xe4\x04\x10$f\ +\xe1\xb6^\xad}\xe79\x85\xbc\xcc\x15>*\x5c}X\ +F\x02dd\x1a\x09#\xc8\xbe\xa8D\xd2\x022z\x89\ +\x12\x02p,<\x1a\x96\xae\x8f\x87U-\x0b\x7f\x0bK\ +\xd7\xef\x84\xa5\xeb\x0ea\x15d\x1a\x04\x89\xc8\xc2|~\ +\x91\xe8?0\xac\x92-\xa3\x12\x08\x1b\xb8 \xbcFP\ +|5,\x1d\x8f;\x85\x95@o\xce\x85a\xe9\xfap\ +XE\xcew\xf2\x90P\xe8\x97\x0b\xcb\xb2hC\xcb\xc0\ ++\xc2\xd2\xbc\xda%\xac\xc8$\x1a\x82\xfff\xc9\xbf\x1d\ +'\x19\xb6\xfb\x07\xb2\xbc\xfeUaUO\xbc \xe3\x90\ +\x0fv\xdb\x86\xa5\xf9\xf2\xbb\xb0\xf2\xfas.\x0e\xd3y\ +\xff\xdcR\x11\xee?\x11V\x05\xcaJ$x\x9f%\xf1\ +\xab\xf9\xde?\x1cVZy\x0c\xed\xd7\xfd#g\x98\xc2\ +\xf2U\xfbh\x95\xfb\xf8\xd4aS\x01\xe1^\xaa[\xba\ +\x8b\x80z\xcb\xee\x0d\xdd\x1b\xaaD\x1a=\xd5\xc8\x12\xee\ +0\xb0\xb7G\x9d?\xb8\x08\xc6\x1b\x85ev\xff{\xc6\ +i^\xce\xb9f\xce\xd5s\xd2|\x1b\x9f\x14V%\x06\ +\xa3\x82\x7f\xb48>N\xaf \xf4\xb4Z!\xeb\x1a\xa4\ +t)\xb0\x1a\xcf\x0eS+\xc69\xa5\xf5\x86q\x9c\x9e\ +\x95l\xa1\xb2>\xc6\x17\x87\xa9\xe2\xbb\xbf\x10\x5c\x7f/\ +\xa4\xa3\xddYa\xe9\xef\xb6\x09+\xe3>\xfeRX\xa5\ +\x16\xa5yn\xee\x12\x91\xcd9\xe0g^\xaa\xa7\xde\x09\ +.\x05\xd8p^\xb8u\xa2ie\xeb\xce\x0b+\x90|\ +\xfbKp\xc2\xac>\xf4\xc8G\x9a&\x125\xb4\xdc\xa1\ +\xf3\x9d\xc9AW)\x89\xa0\x9c \xf8gA~\x82\x9c\ +\xf0>\x0b\x92G\xadB\xe9y\xc7\x13/\xe4\xab\x11\x10\ +\xc7\xf3\xdd \xac\xda\x17\x91\xa7Em\x06\x99L\x90\x09\ +\xf3g\x8c\xeb\xc0\xe1\xd0Wr\xb4\xe2^\x02\x09\x17i\ +\xa9\xac\xc6\xc0y\x09\xc2\x07$\x0b\xa4sR/\x19\xed\ ++\x99\xe9\xd3\xc5\x01\xf2\xe1\xa9\xfd\xf2>\xf6@n\x16\ +\x9c\xcaa~\xac\xd7\xeb\x06U\x8d\xe4K\x0c\xf2\xc1\xe7\ ++\xa1K\x0b(\xe7\x99\x12m\xd6\xb7W`\x0e2c\ +t\xea\x90\x88ua\x83\xcfA%\x1d}z*\xf2\xc4\ +%p8\xa9\x90\xe2\xc4\x01-\x93\x9c\xe7\x14\xa2\x08\x1c\ +A\x92\x00\x05\x87,\x92B\x09-\x9d\x87\x84U\x08\xca\ +#\xc2J\xc2\xdf~=\x05G\x90\x11\xbc\x0f\xfeh+\ +OG\xfe\ +<\xe3\xcc\xf8s%AB\x82\x06?\x1d\xbf\xb7U3\ +\x00y\xf9\xf7\xb0*\xf1\x03\x09`\x9e\xaes\xaa\xde\x1e\ +\xa0\xe7Q'_O/\xbc\x80\x06|\xe1\xaa\x82\x0e\xc9\ +UCZ\xe6\x0d\x0b\x07\x9c\x00\x8e\x00\x10$\x01\xfa\xde\ +\x04zL\x98\x96\xcdp\xba\xe9\x09'p\xe6\x81\x81@\ +\xe0\xc1\x93\x01\xd1\xfdLn\x14Y\xe0\x1b\x05y'\xd0\ +lU\x0e\x98\xe0,\x18\xee\x9f@\x9a\x09\xc8\xe7\xe0~\ +\xa9\x94\x13\xb8\xc2]\xb0\x9cH\x8fVR\xe0\xdc\xfe\x1e\ +\x01\x0b\x01\xf0\xc2\x9a\xd0}C2\xc8}\x14\x1d\xc8a\ +\x82\xf0\xc0\xc9\xc01\x9e\x04vl,\xad,!H\x04\ +\x02?>\x17\x09\x0a \xd2\x04>Tb\xb5\x90\xdd#\ +\xccA\x07G\x03-\x1a\xad\xbc#\x0b\x9dyA\x06s\ +\x9e\xa6\x92\xcd\xf3\xe6~\x09\x98\xe8)\xa6u\x80\x9f\x93\ +\x81\x94\xc3R!C\x86D\x01\xaf7K\xe3\xca\xfb\xb3\ +\xb0\xf8\x5c\x92\xf1\xf3\xf8A\xd2\xc7\xeb\x93\x08\x88\xca\xdd\ +U\xa5\x87\x89^9\x02x\xb3\xcc_<\x1c\x10N\xa0\ +\xa8\x02\xd9\x92\x16Z5\x00\xf6s*\xf1 Q\x18O\ +\xe6\x07\xf3\xee\xd9Zg\xd8@A\x8cPq\x07\x09\xc0\ +\xb85\xac\xb1\x0et\xe9\xcd\xd2|\xb0\xec\xa6d\xbaX\ +o&\xefD\x9e\x91\x03\x15.\x04\xee\x8f\x0dH:\xc5\ +v\x94\xd88\xe9\x81\x87=_\xac\xf0\xbeO\xd69\xf3\ +\x91D#\x9f\x07d\x10\xb2\x92T\xe2q0\xa4\xcb\x8c\ +\xc3\xe5\x0d\x9d\xccp+/\xa6@\xde$\x8a\x90\x13\xd2\ +*\xa2\xcaD&\x87\xfaP\xa5>\x81j\x87*\x86\x99\ +9\xe5\xa9\xc2\xdao\x07\x8b\x0a>\xeb\x96}\x8f\x8a\x00\ +\x95$\xd4\x0c\xc8\xe8RI\x80\xb4\x11\x96g9^ \ +:\x0c\xc5\xee\xc2\xca\xeb\x8d\xa6G3\xa3\x99\x02\x11\xb6\ +l\x90\xae$\x0e\xfb\x17\x85Ul\xe1\x1b&\xdb\xa8\xb4\ +zY\xb6O\x15_\x93Q\x81\xfc\x10+\xbd\xffA\x9e\ +\xb5U(\xc6k\xde\xdc\xa3\xf1\xb8\xa4\x0a\xb4q\x00p\ +\x5c\x80\xee\x8b\xcc\xcf\x07\xa3\x0e@\xb7\x10\x00I\x052\ +;\x13V*\xb0\xfd\xa2ae\x1d\x8c\x1f\x0cK\xdf\x9f\ +\x1dV\x9eWr\xcf\x1f\x0a\x07\xbd{\xb0{\xa8K?\ +\xef\xce\x09+\xb2\x8b\xd33a\x05*\xce\xd73/\x0f\ +K\xdf\x7fO\xb2w\x97\x8a\x96\xefg\x85\xb0\x92H\xc9\ +P\xeb\xbf\x95^\xc8\xfe\xe2\xb0\x82@\xebfwkt\ +kT\x15\x12A\x7f\x9d\xf0\x90\x83A\x00\xdb}\xaa;\ +\xaeK\xebfz\xdb\xe97M\xa7sm\xfa\xdba\xe9\ +\xbajX\xfa\xf98\xac \x14\xba+\xba\x1fvW\xe4\ +\x16\x81o\xe7\xde\xfe\xed\xc2\x04\x85\xffI\xba.\x18V\ +8BF\x17\x84U\xf2dG\xabU\x08.\x06%2\ +L\xa2\xc5y*\x08m\xda-3\xe2\xa4\xfbSX\xba\ +\xfe'\xacT\x96\xadr\x91\xff\xa5\xeb%a\x15\x09\xe0\ +\x93a\xa5\xc5\xc2\x89p!+,o\x09\x84\x15\x84\x10\ +\x0e\x90\x02\x01W\xa4\x95\x18\x1a\xaf\x18V*\xf0\x04\xc8\ +\xd3\xab\x87\x95\xc4\x0a\xaf\x0f\x97J\x0a\xd7r\x80c\x92\ +\xca\x17\x86\x15?\xa3\xbb=,s\x95\x0c\xe3v\xea@\ +*\xd7\x9f\xdf\x9f\xd7\x0f\x81G\xbe\xffn\xb7\xa1\x85c\ +\xf2\xf6\xa1w\x9a\xca7\xb2j\xdd\x8a\x03yd\xb7\xeb\ + \x17Ieq\xfa\xb1d\xe9}\xa7\x9fN\xf6\x94d\ +\xd4\xee\xabH %\x8f\xdc\xdf\x1d\x96>\xe7\x9c\xb0\xca\ +q\xdcZ\x01\x8f\x90\x1a\xe6\xf2`?\xa6\xe5\xed\x15a\ +\xe9uN\x0e+\xe7\xc1\x9c.\xac$0\xcdV\xff\xf1\ +lS\x91.\x88\x84A\x0a\x93r@\x04T>W\xdc\ +\xd3\xd7s^6g\xe39\x1b\xa7\xaf_?~\xdd8\ +dR\xd7\x1c\xe4\x06\xcd\xe6\xces\xc3\x0f\xe1\x5c\x8a\xdd\ +\xf0\xdb\x82\x8a\xa7\x00y\xfc\xfb0\xe9\x86\xa7\x80l\xe6\ +\xdd\xc9\xde\xa5y\xb5\xb2Z\xdbf\x97\x84^4^D\ +\xeb\x85\x03\xa2\xbds\x17\xf7P\x99\xbfJ\x01\xcb\x85U\ +\x22\xe0\xf2\xb0\x82X\xc8j\x0c\xf3\xaa%a\xde\x12\x08\ +\xe6}m\xab\xca_\xa4'\x9a\xf5\xa1VX\x12]\xac\ +\x93\xb9\xfc^\x02\x02\xf6\xb9\xa2\xb2\x91\x13npn\x80\ +\x80\x0af\x97\xe0v\xc9\xb3\xe2'\xf9\x5c\xbe7Wn\ +\xa5j\xd3M\x87\x95\xf3\xba\x7fKXI\x10\xf5\xbb\x87\ +U\x1c\x0a\xda7s\x9a\xe7\xb0\x92\x8047\x83\x02+\ +Z,\xd2>\x10\xe6V\x02\x17P>6\xc89;a\ +\x0bd_\xe7]\x7fHX\x15\x08.\x94YqL\xda\ +\x98\x91\xa0/,\xe7\x97Uk\xba\xb0* W\xc2<\ +\xb7\xe6}*W\xe8?\x97+\xee\x22\xe14RO\x08\ +\xaa\xfe\xec\xb0\x0aa\xf6v\x91'B*\x0c\xe4\x1b\xf5\ +\x15\xfcgT\x88\xe4W\x99TX\xaa\x08$H\x1c\xe0\ +\x8b\xd4\xd3\xf2\xc4\x22\xbf\xb5\x9f\x8f\x7f\x84\xdf\x81_\xa3\ +\xf1t\x9c\xc1\xf8P\xa0\x22\xbe\xc2\x1f\xc2\xdf\xa3\x10K\ +AC~\xe6h\xcf\xb0\xb2\x7f\x99\xa4W\xc8\x06'Z\ +.\xac\x90!\x9bW\xfb\xab\x90\xc4\xae\xe4\x13\x7fP\xf0\ +\xe1k\xfci\xfe\x0e\x999q\x958\x1e\xc4\xef-\xfe\ +\xfa\x7f'\xbf\xc6\xef\x94\xba\x89\xfdF\xde\xaf%Y\xc7\ +o\xc0\x0fn!\xf2$\x0e\x09\xcc\xdb\xde\x7f\xbeO%\ +\x9f\x02\x1b\xef\x03r\x8dx\x12\x7f\x96\x04@\xe1X{\ +f\xe0O\x8f\xff\x9d\x93\xbb\x82\xeb$\x87\xff\x7f\xaa\xd6\ +9\xefG\xfc\xda$\x10\x8c\xe8!.j[!x?\ +\x0am$\x9e\x987|\x9f\x82\x01\xad\x10\xb4\xa0\xe0\xef\ +j\x1cf\xd0\x81vF%\xfdY\x86\x80\xa4\xb0#\xb3\ +l\xc7\xe3]U\x81\xdb\x22U\xc0\x88c\xdc\x06\x94\x5c\ +9xx\xc0z}\x93\xcd\x11\xd8\xf0s\xe4\xdd\x9e\xd7\ +\x90\xb5\xb5l\xef\x04\x90\xad.:\x0f\x8c\x81\xe0\xf7[\ +y;\x0e\x1a\x02\x1a\xc96\xb8\x12\xc7\x04h\xf5\xd8y\ +\x10-4\xa5y?;\xf2\xf4\x9c\x93( \xf0\xa7b\ +\x09\x84\x96\xcf\xc9\xeb\xe0\xe0\xcf?\xf4Pz\xc1\xf0w\ +-Y\x1c\x07\x09\xe3\xb6\xba\xde\xe7\xf9\x0dI\x1e\x01$\ +\x812\x01\xf5\xfa\xda\xc0\x91\xed\xe3\xf9\xf1{\xfc\x1d\x1b\ +\x0f\xe3G&\xae\x95\xb5\xc0\xf1\xff\xe7\x90\x11Ln\xc2\ +@:\xc6xi\x5cG\x8b\x09\xb2OE\xba%w\xfc\ +\xff\x84\x9d\x07\x94-E\xf5\xf5\xa7\xfb\xce\x03\xc9I\x14\ +$\x0b\x82\xe4\x9c\x05\x89\x0a*\x22Q$KN\x02f\ +\xe1\x0f\x86OI*9\x09\x08\x92L\xa0 Y\xc5\x00\ +\x82\x22\x08J\x0e\x0f\x05D\x11E\x04\x89\x0ao\xba\xfb\ +\xabS\xb5\x7f\xa7\xea\xd5c\x96o\xaf\xf5z\xdd\x99;\ +\xf7vWWW\x9d\xb0\xcf>\xccG\x22\x88\xf5\x02\x92\ +k\xe4\xa7\xcfX\xcf\xaf\xfb\xce|\xe2}\x9co\x19\x88\ +J\xb5\xf6\xd3\x97|\xc0\xe4\xc8b\x85i\xfc\x08\x14\xd1\ +M\x00\xd5d\xc4\x04\xd5\xd6\x05j!\xb5g\xcd}\x86\ +\xe2\xba\xa0v+#\xe4\xedg\xc8\xfcSbA\x89\x01\ +\x01\x01Q\x1b\x9dQ\xc0\x86E`\x89\xf9\xc0\xb8)P\ +\x07u\x17&\x83\x8f\x03\x94\xf1_G\xe4\xda2\x98\x0b\ +\x12u\xabE;=b\x0a\xa5\x0bG\x95\xebc!\xa3\ +\x06\x11\xe6\x08\xe7\x8bz\xf0\xc6\x86\x22\x12Mf\x9d\xc0\ +\x095|\xcck\x02:\x04\x940\x5cY\xd0YH1\ +\xf4\xd8\x00\x10\xa5\x81\xe1\xa2\x0d\x0aub\xc4||\x5c\ +\xd9@X\xe09?\x9eW\xa8wP\xef\xa9u\x87\xaa\ +\xae\x8d\xba9#9\x00\xcd\x90\x0c9\x1f'm .\ +\xc6G{\x22(\xe7P\x09\xd1 `ce\xbeP\xc2\ +\x81\x0at\xcd\x94a\x1d\xba\xceP\x18H2\xc48\xcf\xd8\x86\xf6\x9e\xc2\x00\ +C\x9b\x02m\x1c{\x9a\xa7\xc8\xc0\xbbN\xcf\xc3\x83\x85\ +*\xfa\x15\x01?T&\xe9\x82\x9c\x91\xed\xbfa\x88\xa5\ +$\x019\x80\xe7\x81S\xed?\xed\x0f\xda\xcb\xdb\xcb\x0b\ +\xe6\x8a\x1c\xbf\xfedC.\x81\xf0\xc0\xb2\x02\x1f1\x00\ +\xb0\xad\xe6\xfd\xf12\xc4\xcfP\xcd\xe6\x15E\x09\x1a\xb5\ +\xa0\x04bd \x0d\xd7H$\x0c\x15q\x95$8\x13\ +\xed#\x12\x01&\xe0\x87a\x86\x96\xc2\x0e\x86\xac\xc9A\ +f\xde\x1d\x07J3\xe8\xee\x00\xe5V\x81J\xcf\xf4\xb3\ +~\xc28@$\x12\x86\x0e\xfb?\xda\x15b\x04\xb0_\ +\xb6;\x1b\xf2y\xa2\xad\x80\xe3\xe3\x01E\xcd\xcfn\x95\ +n\xe5n\xe5\x18\xa89\xb696\xcc\x8f\xdb\x0dQ\xf4\ +\xf1<\x13}\x1c\xfbd\x84\x05\xa8\xa2\xfa\xbe\x85\x01,\ +\x10\xc0\xfe\x1d\x1f\x8f`_\xf57\x1a\xf2\xe7\xe2\xb82\ +\xef(a\xe8\xcf6\x84\xe35\xfd\xd5\xfd\xd59@7\ +\xbe[@p\xf4\xfa\xf5\x03l?6\x82\xb3\x89 \xfe\ +\xc4\x90\xdb%\x8e\x1fb\x08\xcb\xcf\xbb\x0d\xc1N|r\ +\xe2\xaf\x13\x7f-T\xd2\xe9\xa6\xa2\x80\x08\xed\xc6\x9c\xf1\ +\x80X\xa9\x98\x090\x86\x9c\xd2N\xa9\x0f\xdd=\x14\x88\ +\xe8\xee\xee\xfe\xd0\xfd!g\x9aM\xd2\xcfD\xfd\x5c\xd3\ +@\xd4\xf0\x98\x8eyV\xe2\xc3\x7f/\xc4\x0d\xc5\xe0\x8a\ +\x8c\x9aoi=\xfe\x8a\x0c\xe3\x07\xf2|oo4\x88\ +\xb9\x12\xec\xcavcC\xf8\xfe}\x02\xf6\xce\x14\xf7a\ +e\x83\xce\xf3\xd1\x82\xa1i\xcf\xd5\xc1E)\x1f\x193\ +Q\xe4\xbd\x8b\x0d\xea\xfa\xaa\xfdE\x94s\xd8\xc8P\xb4\ +\xe1U\xc9U\xec\xd2`L\xa3/\x18\xc2\xf15\x93%\ +\xcc\xa5080\xed\xe1\x86\xacu\x85(\xa1?\xf7\xec\ +W\x88\xdf*!\x84\xa8g\xfb\x1eC\xee\xee0<=\ +\xfc}x\xbaX\xf7p\x00e/\xc2\xa4\x89\xcf\xd3\x95\ +a\xfe\xeei(\xb4*\xd4\xee/\x86\xf7\x1e*\xda3\ +\xc2hBtQTv\xba\x908s\x0b{\x82\x0c\xba\ +\xec\x17o\xbf\xc6\xfd\xa0\x84\x8f\xc06\xed\xfa\x08 \xd0\ +\x15\x86\x1a~\x18F\x9a\xb7\x1eHQ\x1bPj\xf8\xc7\ +n\x0d\xab\xc3\xad\x85\xda\xbc\xeeg\xb8\xbbi\xdfY6\ +%\xb6\xfc\xba\xe4 \xb9}D\x97\x1d\x1cC\xec/\xfc\ +\x02j\xc6\x15\x88\xa7\xcd\xa7\xfb\x010sYo\xf9|\ +uS\x1a;\x22\x22\xdb\x1d\x94^\xc3\xc8\xa3$N\xcc\ +J\xef~Rk@\x91\x18AL\x10\xcd\x88\xc3\x0dE\ +\x02\x8a\x00\x0e\xe2\xcah\x04\xd0}\x80\xc0\xbb\x9ewO\ +\xfc\x91\xa8\x10\xe3\xc4\x1dGj\xf5k\xf1A\x98y\x04\ +lH\x10\xe1\x10S\x1a\xa0R\xc0\x19D\xee\xf8\x87\xc3\ +\x8a_F\xc2\xb6\x16\x9f~\xc0\xb5\xca\xd2yr$\xa0\ +JB\x08\xc6\x04\x81T\x02\x95d\xf0k*>\x8e=\ +\xa5\x1dt\x03\x802\x8f\x9d^\x97n#\xde,\xc6i\ +\x0cK\xfc\xb5\xb0\xcba\x0e\xc0@\xc5_D<\x9f\xe7\ +\x83\xef\xe1\xfc\xeb\x12\x08\x02\x00\xd8}$$\xabR\x0c\ +\xd7,\xe0{8\xdf\xba\x14B\xf3z<\xf6-\x7f_\ +\xe1\xb8\x9b\xfb\xb8\xb8\x22R\xebdM\x00\xcf`\xe3\xd0\ +\xd6\x19b6\xdcYb\x07\xfa\xbc `\xf8r\x828\ +Ru-8\x99\xc2:\xa3\xc5\xe7\xe3h\xf2>\x1eP\ +2sd \xa0\x8e#vE\xdfy\x0c\xff:\x80A\ +f\xac\xae\xd1'\xc3\x88\x03S\xab`N\xd6\x16\x90\xd7\ +\xaf\xcb\xa1\xad3\x0bYE\x9c\x8c\xf5\xf4\xb5\xf0|\x1f\ +\xd7M\xa0\x84q'\xe3K\xe0\x03\xb1\xbd\xb7)`B\ +\xc0\x80\x1akJ:\x18'\xc6\x8d\xef[D\x91S-\ +\xc8\x1eH \xe2\xa8\x0c\xb4))D-\x85\xba\xcd\x22\ +%!\x95#\xe95sh\x00\xcc\xa4\x85\x91y\x01E\ +\xec\x1f\x12/d\xfc\xb8\x1f\xcc\x93\x9a\x89Q\xd7\xf6\xe7\ +\xcc}z\xcdx\xd6G\xde\xc7\xbc\x85\x99\xc11S\x95\ +\xd2\xbc\xc3\xc1G\xe5\x9f\xf9\xc5u\xf3~\x8dk\xbbV\ +2\x0c\xdcq>W\x06\xaf\xfa;\xfbF\xc6FCw\ +\x09jAa\x0a\x90!`\xbef&Kz~\x10\xd7\ +\xa2\xb6\x9cR\x17\xc4lh\xdbG\x9fi\x16z\xd5\xd8\ +\xd3\xfe\x8b\xdao\xcf\xe0\x89\x1a\xe6\x81\x06E\xa4\xfd\xef\ +\xe8\xb3\x0ee\x95\xc0\x1e\x0b\x1d\x91s\x22\xa2\x88\x1a\xd1\ +\x07\x98\x00\x1d\x1b\x07\xdd\x07X\xd80DY\xe0\x99\xaf\ +<\xf7l\x1c0\x16T\xeb\xea\xa2\x8d\x88n\xaa\xa6\x14\ +\xb1?\x8fxrT\xed\x1f\x01\x0b\x16\xd8\xd8\xae\xc8\xda\ +b\xddn\x90j\xf1\xb9\xc5\xc6ED\x98\xf6\x88\xbf7\ +\xe4\x0d\x98\x0d\xd33\xdc\xb4\xf5#P\xb2\x8e!\x8b\xdf\ +5\xb7\x19\x8a\x0d\x95#5[D\xcc1\xa8\xd8\x909\ +*3\xec\x99\x8b'\xa5\xbeN\xa6\x08\xad\x01\xfa\x19\xcb\ +\xd0!3\xdc.\x93(\xe7\x88\xf2\x91\xe9\x85\x82\x1d\xee\ +\xd5\xf2\xf1~-\x19\xc9\xcby\xfe\x11\x18\x5cs,\x06\ +<\x5c\x1b\x05&\x8c\x0c\x0dw\x1c\xe4`\xf5\xf1\x9f\x0c\ +\x98\x15e <\xad~\xdfs\xa8\x96\xf8\x80\x223)\ +\x15v\x0c\x182U\xc3\xce\x86\xdc\xad&\xce\xdf\x1f\xa8\ +F\xff\x09\x95$\xbd;\x8bMQS;:\xdd\x10\x8e\ +\x8b\x1a\xc2\xcf\xef2\x14m=\xc9\xf0(\xe3\xe6\xa2R\ +\xf4og]$\x00E\xc0\x90\xda\x5c\x0cK[-\xd7\ +/\xba\xe9\xd8j`\x01\x15\xdbg\xb7T\x06\xfc=E\ +\xed\xba\xd6\x012\xa0\xec_\xa3\xc3F\x87\x8f\x0eS&\ +<\xbc\x7f4\xbf\xa1\xa0\xf8\xfeN\x8e\xbfjsa\x14\ +\xf4\xdb\x1a\xc22\xfb+C\x16\x17l\xd75\xe4\x0cX\ +s\x85\xa1\xd8\x8f\x08PX`\xe2\x8a\xec\xa0\xf7\x8b\x1a\ +\x8a\x0c\xbd2\xdf\xb4-#\xe3\x18\xf3\xca\x17E\xcd\x8f\ +\xe4\xd8?\x91\x02Jau\x8b\xa2L\x04><\x10K\ +\x00W]0<0\xc5:#1/\xa8\xcd\x9e\xd9C\ +\x15]\x06\x13\x19[/\xd1a}\xc3~ \x10\x85x\ +\x22\xfd\xc9\x09\x5cI\xc3\x80\x92\x0f/y\xd2\xfa\xe8\xf7\ +_\xfb[\xbb\x87!;V\xed#\x86\x1c\x90\x80zK\ +I\xcd\xb0\xed\xb0\xcd\x10\x9e\x8b\xfe\x03\x86b\xbc\xa4\xf9\ +\xd2,\x9fJ\xc8\x9a\x1b\x92hj\xbfp\xbfH\xbfH\ +\xa4\xcc\x07\xc4\x0c\xf4#Qk\xe3\xf1\xe6\xb1\xe61\x89\ +9\x86\xf5o\xfc\x9b\x86B\xa3H\xf3\xc9\x03vdv\ +^\xd7\xba\xb8\xc6\xb0\xda\xb0\xda\xd8\xd8\xb4\x8b\xa6]<\ +\xed\xe2\x82QD7\xa0\x8d\x222s\x86\x00&\x86?\ +v\x08\xe2\xa1\xb41\xc4\xbe#\xc0\xfb\x5c\xa2\x86\xb7\xcb\ +\x1b\x8a\xcc\x9d\xd6\x8d\xfe\xbd\x06=\xef\xfb\xe5R\xb7\xd1\ +\xaf\x02n)\xe6\xd1\x22\x01\x8b\xca@\xff\xb3\x12Gs\ +\xe5n\x02P\xc3\xfb\xbb\x02\xee,(\xe8\xd87\xa2\x10\ +\xb3>\xc6\xef\xddB\xfb\xf6\xdb\xb2C9l\x1e\xf0\x9e\ +\xa2]\xa2\x18\x08\xdd\xf1\x86b}T\x8d\xbc\x97\x96Q\ +\x02G\x82I\x01\xea\xf6jC.\xfd\xe9\x7f\xdb\xdf\xde\ +\x87\xe7\xb4_R\x9a\x0aZ\xcf\xfb\x8f\x19b)\xcf\x09\ +&\x12\xeamf\x15@\xee\xbfj\x08?\x7f\xc1Ph\ +qH\xd3`X\xccP0\x05\x09\x0cc7\xe00I\ +\xc5\xdezqX7\x8e\xd1\xa1\x86\x22\xb1e]*\xde\ +\xa7v\xa0\xc6\x0c\xb8\xd4 \xe6\xd6qq>\x06\xe4\xee\ +,8\x98&Ih\xa2\x84^\xda\x86#\x0b\xa3\xd5\xdc\ +\xac\xbb\x0b\xa6!\x89+\x95 z\xb7\x152\xfe\x88\x87\ +\xbf\xdfP\x04\xfc\xf9\x5c4\x92H\x88 :\xaa\xc4J\ +\xd8-6\x8f\x22\x96\x88\xfav\xca\x8c\xeea(\xda%\ +\xb2n\x13 \x11C\xd0\xdb\xfc\x11\xf0\xa1\xa6\x9e\xc0\x04\ +\xf6(~\x10\xb5\xe7\x04\x10h\xabI-\xfa9\x11\x99\ +\xa2\xcf~M[ii\xb0\x10\xb0#\xd0\xca8\xb8}\ +\xc4\xfa\x8c\xfdB\xa9&\x0e\xb2\xf6w\x18#.V\x0b\ +\xf3\x11;\x1eG\x19\x07\x90\xe7\xfa\x97\x119\xe1\x8a\xfd\ +\xa6\x84\x8f\x9f/\xf6+]\x1f$\xc6\xeb\x8e3L\x06\ +\x1cl\xba\x06\xf1\xbd\x8c\x03\x0e~\xad50Y\x17\x00\ +\x02\x03\xf8\x07d\xfea& \xcaGi+\xa5C0\ +\xd5\xc8\xe0s>8\xe48\xc4\xf8y\x042j\x87\x9c\ +\x12s\x9e'\xae\x87\xc0\x02\xdf\xcf\x8e]U\xd3\x8e\xe1\xef%\x038\ +\xbc|\x1e\x8e\x18\x8e\xa0\x1cC#\x96Gj\xf9Jr\ + p\x8fc]b\ +\xc1Qm\xb6\xfc\xf78\xc8u \x85\xf1\x80\xb2\xcf\xfb\ +\xf8\x1c\xee\x8f\x22\xad\xe1|\xd2k\xde\xcf}XW\x91\ +\xcbet\xfe\xdco\xee?\xc7\x5c\xb3\x9f\x8e\xbc\xe6\xf7\ +Lx\x02\x04\xfc\x9e\xf9@\x00\xa5>\x92\xf9G=v\ +\x0d\x8d\x1f\x81\x82,Z\x92>\x1f\xc7\x13\x83\x92\x0d\x04\ +m\x00\xda&B5\xc4\x90\x92H\x93g\x18\xfe\xa0H\ +*\x0b`\xdd\xf5\x81q\xe0\xb9\xa9\xda\xcb9\xc5\x87\x05\ +\x08G\x9a\xf9\xc8\xdfi^y?\xdaZ\xa4Q\x99\x1e\ +\x17\x09C\xd5\x9e\xf6i\x12q\xf1\x0c\xb0(\xc4\x1e(\ +a\xa1\xa5\xef2\xf3\x82\xe7F\xcf\x83wE`c\xa8\ +j\xd8\xa2\xe37{!\xaa\xa4\x8d\x90vh\xee\xf8S\ +\xaa#*\xaa\x07\xa2\xc8<\xe0\x982\xcf\x090\xb1 \ +\x13hQ\xdb9Ds\xdc\xc0\xe5\xfc\x89\x04\xb3`W\ +%9\xd44\xe28\xd1\x1e\xd23\xa5\xcc\x1f\xc6\x81H\ +?5\x92\xdap\xa0p{\xdb'\xd6A\xc4!\xa1\xf8\ +q\xff\xa4\x9d\xe0m\xc5\x10UT\xbfv\x18,\xed\xc1\ +\x86\x1c\xd0\xa1\x8d\x9a)\x00\x98\x06\xc0\xd8\xf7\x94q`\ +\x1d\x14S(\xf6\xa1\xbf.\xbc\x7f\xd5v\x95v\xd5\xd8\ +\x8f\xfd\xd5\xd8\x8f\xfd\x87\x86\xe8(-\x15\x1d\xa5\x9f6\ +7\x9a\x01\xc5\xfd\xf1\x8c\xbf\xad\xb7+\x17\x19Z\x22\xe2\ +\xa2\x5c\xf6+\x1br\x9b1s\x87L$\x8c\xe7\x15u\ +{\x7f~\xb9\xdf\xea\x9eB\xc6\xd83@d\xe6\xa2\x80\ +\x84\x02H]\xa6\xfa\xb7\x1f4\xe4\x80Z\xa4\xe6\xffV\ +\x19\xfb{\xf3<\xf0\x08\xbf\x0258N0S\xbc6\ +S\xea\xd5\xb4M\xa3t \x16\xc0\x98!\xb4R\xc0\xca\ +\xc5zi\xf7wGu\xcf\xd8\xa1`\xec`\xc0\xd8v\ +\xfc\xf7\xdc]\xa3\xff\xa8!\xafK\xb1\xfd\x9ae6\xdf\ +\x1d\xb0Q\xe1\xa8\xcbp\xebw6dG\xb6\xbd\xdf\x90\ +\xe7a\xbb\xa1!\x8b\x04\x0d\xd7\xa5\x8cOl\x8f\xf6z\ +f|\xb4\xef\x0d\xd8\x22gdc&\xe8\x82\x22Pe\ +%(Wd\xea|\xbf\x8e\xa1(-8J\xdd4\xd6\ +\x1b\xd6\x1f\xd6/\x02\x83\x88I~F\x1a\x06\x12\xef\xf2\ +\xee\x03O\x1b\x0af\x01\x22_\xab%\x07\x15\x8d\x07\xa7\ +B\xd3\xc6\x12\xc7\xf6(C\x0e\x0c!\xb6\x86\xe3\xe5\xed\ +\xef\xe60\x14\xedOE\x85\xc4\x11\xa0\x1f;\x99L2\ +\xec\xec\xcf\xfd\xff\x19\xc2\xf1\x05C\xeejB\xc6\x14\xc6\ +\x0e\x01&\xba\xd9\x0cW\x192\xa3\xc6\xdb[J\x1cp\ +\x98\x18\xa6\x0d\xd3\x0a\xed\x0f\x95H\x8c\x1d\x161\xd6\xad\ +`\x08\xef\x1f\xef\xa7\xf4S23e\xb4\xe2h\x85\xd1\ +\x0aY\xcc\x12Gc\xf4\xa1\x80m\x14h\x0b\x8e`\xfb\ +1C8nk\xc8\x0c\xad\xa2;Q\xb4[^\xdf\xd6\ +\x10\x1e\x9f\xcd\x0cy\x9di\xfee(\x1cOQ\xd5\x9d\ +\xe9\xc2sA@\x8cuW\xfb\xb1\x8bB\xa29$\x11\ +\xc7aqC\xa1\x9eN\xe0\xc0\xf2U\xf7(\xe3\x7fa\ +\x11\xd0\xba$\xe0\xe2\x82jM\x9b;(\xf72\xec\xbd\ ++\xc8\x06\x86\xdc%\xc0\xc5 \x09\x94k\x9f\x89\xed>\ +W\xcc\x8eR\xff}C\xae\xf9\xee?n\xc8\xa2_^\ +\xf3Mi\x8f\x02\xc8\xfc\xf3\xeb\x83\xc9\xa2\xfb\xda\xfe;\ +\xe0\x85XZ\x16\xed\x83\xfe\x0cC8\xeea\xc8\x1a \ +<\xa7\x88\xfa\xb9\x08\x1e\x8c+\x18m\xec#Z'x\ +\xde\x83\xdb\x9aJ%vV\xe6\x17\x11P\x02\x9b\x04l\ +\xd1\x22\xa2-#\x8c\x03\xb5U$\xf0\xca|\xf3\xf5\xda\ +2\xcb\x87\xa9\xcb\x8b1\x9e\xf6\x0f\xd8O\x01\xbaU\x94\ +\xf1\xbd\xa3X\x97an}\xd0P0\x0f\xa1\x22\xab\xf6\ +\xdc\xfb\xdd\xe3\xf0\x04\xab\xbe\x99;\xd9\xb3\xc3\xa1\x85\x9d\ +\xce~\x8cH*\x01v\xec/\x05\x0e\xdb\x8b\xac\x81j\ +\x18\xd7\x8d\xfa\x8d\xfb\x8d\xd4\xdd\xe6\xd39cN\x9bC\ +_\xe7q\x90\xc8\x98\x12(W\xc0\xc7\x03*$P\xa8\ +\xa1\x17\xf3\xc0\xedI\x05f\xdc\xa1F\xeb\x081<1\ +\x94\xdc\xfe%\xb1\x81\xddG\xbb<\xd97\xbe\xdfK\xdc\ +\x91\xc0\x02v\xc2p\xb4!\x1c\xe7\x19\xe6\x1e\xe6.\xba\ +< \x0aw\xb8\xb4\x10\x98\x8f\xd8i\xd8C\x7f_\xb7\x11d<\ +\xf8\x1e\x02%8\xec\xdc'\xfcL\xfcF\x98z\x12\xf7\ +\xf4\xf3\xc7\x9f$\xc0\xc5\xb83\xde\xd5q\xdco8\x8e\ +5\x0f\x1c_\x88\x03\xc4\x02?w\x93\x1eT\x1c\xbb\x9a\ +\xb2Of\x10\x07\x87H\xbfQ5\xe7-\x1c\x15nd\ +\x1d\x01b\xa3\xe2_\x9d\x09\xe6\x1f\xefc\x22P[\x03\ +U\xff\xdd\xaa\xe9\xe7\xfckG\x18\x87&g\xc2\x93#\ +L\xa4\x9b\xcc+\x11^\x1c\xf8\xff\xd5oq\x9aGj\ +\xd2\xfb`\x140\xa1\xb9\xc18\x18\xfc\x9c\xeb\x9cW\x8e\ + \xe7E\x00F\x8e\xb6S\xc9\xa1\x02\xd5\x81\x1a\xde\x07\ +\xf5\x9d\x8d\x83\x05\xab\x12m\xf4\x12\x02\x1c\x17\x1c`\x1c\ +\xd2\xda\xf1f\xdcV\xac4\x03\x10\x05$0\xb1\x92~\ +O\xe0\x88\xda\xf9\xe5U\xe3\xbez\xd5\x8e\x8fvyP\ +\xa09\x7f\x0c\x0d\xce\xbf\x9e_\x99\x91\x90\x98\x1dsL\ +r$\xa3\xcf\xdfs\xbfabdm\x8b\xf4y\xdc\x9f\ +\xbat\xa4n\xb7\xc7\x91\xfb\xc7\xbc\xe0\xef\xca\xb6\x9a\xab\ +\xcdX3\xe4\x0b\x0d\xea\xbal0\xfbF\xe4\x9a9\x16\ +\x5c\xee\x1f\x11q\x02B\xa8\xa9\x8b\x8a\x88\xe1\xe3]\x06\ +\xd8\xf0\xc8\xe0\xa0.kbJ\xdf+D\xef\xb8\x0fD\ +<\xb9>\xfa\xe1\x92\xb9\xa2\x9d\x0e\xd4Z\xdaN\xc1`\ +\x90A\xe5ba\x88\xba\xd0\x96O\x1b\x89G\xec\xa9i\ +\xc7\xd0b\xc1\x84\xc2\xcb\xfb\x17b\ +e\x88\xeb\xe28\xb1\xaf/\x13\xac\xcde\xa2\x18\xee\x9a\ +V\xdaEf\x9a\xf5\xbc\xffT\xffik+\xe8\x8e\xb6\ +\xecU\xdf\x97\xd0D\xd0\xb8\xbb\x06\x18\x01r\xc4w\xb1\ +\xbbH\xc4\xac\xaf\x80\xa7\xf6=Op@\xe9\xe6\xfe\x93\ +\x18Cl\x8f\x8cp]\xfb\x8e_\x82\xa6\x02\x22z\xea\ +z\xe1\x0e\x22\xf6\x04\xed_/4( \xb3\x7f\xa1n\ +\xbf\xba!\xdb\x17\xae^\x8fF\x00\xcc\x00\xf9[^\xd2\ +\xa0\x8c\xbf;\xd4\xd8\xa3\x04h\xc9\xa4\xd3\xde\x0f\xe6\x00\ +m~\xd9\x8f8_\x1c\x7fJ\x22a\x0eP\xa2A\xa9\ +\x00\x99y\x1c\xde\xcaQ\xf7\xef\xe5~\xd4L\xebZc\ +\x81\x80\x12\x09\x18\xbe\xa7v\xe4+\xea\xbfg\xf29\x8f\ +\xba\xb4\x96\xef\xcdZ\x0e\x7f\x8a\xf6!\xea\xfe\x040\xf0\ +G9\xc2X@\xcb\x00-\x1a\xcec\xb2\x00\x08\xe7\xc7\ +y\x90`VI\x95\xfb#\x04\x1c\xb0S\xf1\xe7\xf1G\ +\xeb\xd2\x0a\x98jJT\x8fGC\xe4\xd6\xc2Q\xe0\x0f\ +xpJ\xca\xf3\xdb\x8a\xdf\xe3\xf0\xe0\x88\xcd\x1c]\xa7\ +\xbc0\xe2\xb0\xebHF\xc7k\xb6\x89D0\xc0\x1c\xab\ +\x01\xf4\x8c\xba({30\x00p\xdc8\xdfY\xd3\xf9\ +\x0c\x0f\xa6\x9a\x94f=\xd5\xec\xf3\xfe\xda\xa1%\x82\x85\ +#\xc9\xe7p\x9d,\xf0,\xacL<\xae\x8f\xefg\x1c\ +\xe6H\x91\xdb\xe0\xac&\x87\xba\xd6:\xc0\x81\xc6\x91\xa8\ +\xfb\xdd\xcfR\x94R\xccR\xa8\xca\x92\x89\x87q\x013\ +\xa0\xee\x9a0\xcf$\x19p\xae\x1f\x878\xbf\x7f\xfa\x9a\ +k~\xceu\xe1\x181>\xfc\x1cC\x1d\xc7\x1f&\x05\ +\x8e=\x11O\x18\x01u-7\xe3\xc2\xfba\xa2p$\ +\xc0T1O<\xd3F\xdfr\x1cV\xce\x9b\xf1\x9a\xc3\ +\x903x>\x9e\x04\x9aXh\xf8;\xae\xbf\xd7\xfc\x9d\ +E\xe7\xc9x1\xdf\x09\x00\xf1@\xb10\xf0\xb9\x04\x8c\ +\xa8\xbdc#g\xc1\x15\xc5\xdc\x0dz9\xb8^\xbbE\ +[6\x9e\x0fm\xa4\x1e\xf8\xa1\xbf5\xfdr\xd9\x18\xa8\ +U\x86\xf2\x87\x98 \x99\xee\xf7Dd\xe6\x0e\x19\x156\ +X\x02\x0d\xa8\xdf\x12\x00 r\xaf\x05\xc6k\xdd\x15\xa8\ +\x88\xed\xc2>Z\xfc\x1d\x81!\x027l\x18d\xe6q\ +\xac\x09\xcc\xa1\xe2/\xea\xbao\x9c\x8c\x0f\x01C2\x1f\ +\x0f\xa6\x8d\x06\x11\xc1\xe1\xeb\x89\xba\xe9\x94\x7f\xe6\x0b\xf3\ +L\x9f\xef\xd40\x16J\x16rEHQ\xbd\xf56\xa6\ +\xcc\x0f\xadC\xde\xaf]\xa2P\xce\x84`\xa3\xa6\x96]\ +\xea\xd1\xde\xa6G\xb5\x9f\xc3n\x860=6j7\xb6\ +\xccn{k{K{kA\x81\x16\xc5\x19\xe6D\xf3\ +]C\xce\x946'\x1b\xb2\xa1\xe5\x0e\x1f5\x93\xb4m\ +b&\xf6\xeb^$r\x9f\ +\xbc;\x82\x07\xc0\x98\xf7\x18jP7\xe7\x0e\x98\xab(\ +\xad\xc1\xb1Y \xaa\x85$&\xc3\xf6\xb9\x1dn\x5c\xfd\ +\xd7Uf\xe6\xba\x9c\xb9\xa5\x1f7\xaa\xf7\xa3\xd5\x0d\xe1\ +\xb8}\xc0\x0e\xf1\xe7\xd7\x8e\xae\xcd\xeb\x16\xed\xe7\xfc9\ +G\xa4\xec\xf80\x0b\x8e\x8f\x86\xcb\xa3\x16\xf0\x86j\xed\ +\xdd\x10\xb4\xce\x0c[\x1b\x0a1\xae\x8f'\xc3\xb5\xbf\xc8\ +P\x18\x9e\x12\xe9\x82\x993\xac\x1d`\x81\xab#\x0da\ +\xbc\xbfd(\x1c\xe47\x8b\x09\x01u\xd2\x1c.S\x0f\ +\xbf\xdc\x90_\xb3\x7f4\x7f0\x14\x94_\x89PB\x09\ +\x87\x22\xdfon\xc8\x94\xee\xd1\xd9\x86B\xad\x5c\x19i\ +k\xb2\x17\xdb\xec\xc9 wC\x8f\xfd\x84uZ\xfb<\ +\x99\xf0\xf6\x1cCQ\x9bo\x14\xf2\xbbr\xcd\xbd;N\ +\xf4)\xff\x9b!\x07\xb2\xfa\xbd\x0dE\x86\x13m\x081\ +\x18\xda\x07\x0c9\x03\xef\xa2\x9e\x18\xb2\x0a\xd08\xc3E\ +5\xea\x13\xfb\x18\xf2\xfaJ\x7f\xf6\xd1\x1a\xa35G\xe1\ +u\x7f\xaa!\x97\x80\xb5w\xa66\x93\x13\xe7\x19\xd4\xd5\ + 8\xec\xfdR\x01a\xfd\xeb\x1e\x0b0G\xfb\xbb\x86\ +\xe80O\x98\xc3<~\xa1!\xfc\xfe\x01C\x0c\xe0\xc7\ +\xfd{b\x9b\x89m'\xac}\xdf\x1f\x0d\xe1\xf7\xef7\ +\x84\xd7\xef3\xe4R\x90\xe1Wj\xf7F\xb7\x14\x98d\ +\xd22\xf1\x92\x98K-\x87\x1f\xfe\xee\xea\x94\xe9\xa6\x8d\ +nl\xc7\x17\x1c\x9c\xee\xcc\x803\x92\xc3\xd2\xaf\x9e\xc4\ +=c\x00\x90\xee$hKX\xc1\xc8\xa6\x99\xc9\xe4\x89\ +\xa4_\xab\xe6\xdbJ\xe8\xc2\xf3>q\xbfAm\xd6\xec\ +\xef\xcfH\xed\x1b\xe9\x0b\x1e\x03B\x9f\xce\xe7\xe1\x01U\ +\xee\x07\xcf\x0d\xa5-Z\xd7(\x01\xf1\x9f\xb3^\x911\ +^\xd1\x10\x8e_5\x14\x8e\x11\x0e\xe1{\x0d\xe1\xf8\xb2\ +!\x5c\xe7)\x86\xe2\xf3\xc8\xbc\xe2\xa0\xfeR\xdaAZ\ +\x0f\xdd1`\xbf\xd6\xb1\xbd\xc4Pd\xa8U\x1aA\xe9\ +\x93\x97`\xee\x1a\x91\xa8\xfe\xef\xcf\xfb\xa3;\xe2\xac\xbb\ +tUQ\xc0\xc2K\x0e\xac\xfb\xd1\xcd\xb9}\x1dZ\x02\ +.\x0e\x89\xe3\x87\x16\x87\x89\xbd\xbe\x5c\x94\xfa(A\xe4\ +\x8c9\xba'\xa05\xb0\x5cX\x97\x96\xcbb\xb4\x94,\ +\xc5\x82\x8f\xb9\x0b\xed\x00\x1c\xeb+\xc7~\x143\xeb\xa3\ +\xb0\xab\x8d\x8a\x12J\xc4\x94a\xf6\xa2\xe9\x01S\xcb\xb4\ +\x07\xae-\x18\xa00\x1b\xefP\xd7\x99mR\xa9\x8e\x07\ +l\xa8\xc5W{C\xda\xdf\xba\xfa>\xf7\x05\xaa<%\ +\x04\xdcw\x18\x0e\xf8\x11d\xd4\xa1\xfa\xeb\xf9\xf1\x00K\ +\xad\xe9D\x17\x13\x05\xca\xdc1E\xf4Tv\x833*\ +\xd63\x14\xfe\x0av\x13\xfb\x18\x09'JHq\xcc\xf1\ +\xbbpHa2\xe0\xd8\x8b91\x83\xe3\x8f\xbd\x83=\ +\xab}\xd2\xedE\x0280\x02\x09\xf0\x13P!P\x88\ +\xfdE\x8d\xbe\xee\xb7\x97\x82\xd6vh-\xe6G\xa0\x82\ +\x00\x8d\xba\x1a\xb9\xc6B\xdd\xd5\xacj\xbf\xe7\x19t\xec\ +=\x02\x18\x1cy\xbf\x1csg\xa8\xdd\x16F\xef\xb6h\ +G\xfe3\xda\x918\xeeu\xa9\x02\xf6\x14\x19\xff\xaa\x06\ +\x7f\x86\x80\x01G\xc4\xd4\xd97p\xec\x19\x0f\x12\xcfu\ +\x8d?v.\xdf\x8f\xbf\x0bi\xf2\x15C\x9eg\xadS\ +;\x9e\x1c\x92\xfa\xbfM\xdf\x97\x8bL;m\x00\xcdM\ +\x9a\xf3\x0d(\xd68\xb2\xf3F=\xd2\x19\xa9\xd9L0\ +\x22\xbf\xa8$\xd6T\x0b.\x90\x1b\xc6\x83\xc0\xc4\xad3\ +\xa7P\x1c\xf8\xfb\xac\x02\x99\x06\x86\xbf\xffg5\xd08\ +V\x88\xd11 \xb5\xda\x22\x0e\x0b\x0e \x0e,\x19r\ +2\xca\x95C\xdd\x10\xa0\xe0}\x04\x0e*\x87\xd63s\ +d\x9a\x998\x9c7\x0f$\x13\x88qc\xe2<[\x05\ +L\x9e\xd5\xf8\xf1\xf7PG\x18\x97\x9a\xb9P\x07j\xea\ +@F\xcd\xb8\xa8)\xfa\x18V\x04&Xp\xa8A\xc3\ +\x11\x5cM5[8\xa48x01\xaa\xbfC\x15z\ +lyEb\xab\x12\x13\xff\x9cZ%~ae^\xcb\ +\xf98\xef\x1b\x04~\x08dd\xc6F\xba\xef\x8c\x17\x0b\ +\xf1\x1cU\xad?\xf7\x8f\xef% \x81\x83\xc5\x03H&\ +\x91\x07\x94\x8c8\x14f\xb5\xa5\xf3\x8d\x8e\x05\x9by\xc9\ +\xe7\xe9>\xa3\xda\xed\x22Y\xb4]D5\x9f\x0c;%\ +\x18Y\x842\x05\x96\x98\x7f\xf4\xc9F\xac\x84\xc8\xab\x0c\ +!7<\xa0rc\xe0\xa0\x9e\xce\x86\xc1\x86F\xe0\x84\ +\xf3\xe5y\xa1\x9b\x81(\xb6~\x1f\x18\xe7Z\xdc\x91Z\ +D\xc4\xa7\x94\xb9\xc3\x80sC\x0d\xaa\x1e\xfd\xa0\xc9\xbc\ +\xaa\x14\x00\x83\xc6)\xa3\ +O\xe9\xaf+\x0d\x06\xc4\xc3|\xe3#\x92\x7f\xb1\xfa\x9d\ +c @iW\xdb\xd3f\xb5(\xe7\xea\xea\xe8\xed\x9f\ +\x0d\x91\x11q\xb01\x22\x9a+\xa4\x01\xc1\xfc\xe7z\xe4\ +\x88\xf7\x0f\x19\x8a\xb6XS\x125\xb9\xff\xa9!\xdc\xce\ +\x97\xbb\x97\xba\x97\xa2\x01\xb9\xa9\x19\x90\xdd\xa3\x86\xf0\xfb\ +G\x0c\xe1\xb8t\xc02\x91\xd2{\xa99\x04\xa6\xe5\x1d\ +\x03\x06\x0f\x87\xdf\x9b\xba\xf6\x9b\xfb\xf9\xfb\xb0~t\xbf\ +\xe8~\xd9\x05\x87\xa7k\xbbQ\x17\xe6\xd3\xc4\xdf'\xfe\ +1\x11\xd6\xf7i\xd7\x19\xc2\xcf\x0f0\x14\x81\x05\x19\x9c\ +\xd1\xf0\xfarV\x93.De\x93\xa6\x8dJ\x03\xbc=\ +\xe2\xcf\x83c\xf5s\x19\x9ckf\xed\x89\xe1\x1d\x86\xec\ +\xe0\xf7'\x182\xf5=\xb6\xc5\xba^\x14\xcb\x8f\x17\x91\ +w\x1c\x16\xeb\x7f\xbd\xba\x02i\xdfS\xa6#\x18\x08\x13\ +7\x06\xd88-\x13\xb0\xb4jK\xbfP\x18Vrt\ +1\xf4\xdcQZ\xa9[\xb1[1\xd7\xf2\xc7\x84\xa7\x89\ +u\xfd\xde\x10\x8e\x17\xf4\xe7\xf7\x17\xe4>\xedN\xf5D\ +K\x83\xe7\x8b\xd2\x12\xa8\x9e\x0b[uu\xf8\xfb\xdd\x0c\ +\xe1s\xaf0\x84\xe3\x9d\x86\xf0\xf3\xf9\x02\xe6\xcd\x0eg\ +\xf8\x96\xf8=\xfdQ\x01F=\x9d\x96(\xec\xc1\x8c\xdf\ +\xd22\xac\x1ex\xa4\x0d\xda@u\xc6\xd0\x0cM\x0eH\ +\xfax\xea\xfc\xbb\x8b\x0c\x85\xf8#%\x02[\x19\x8a6\ +\x8e\x0a\x14\x8f\xb61\x84\xe3\xbd\x86pyK\x1a\xc6\xc6\ +\xa6\x1cc\x08\xcb\xfa\xc3\x86\xb0\xfc\xedi\x08\xc7\xf3\x0d\ +a{\xdd\xc5\x10\xde\xf7\x92!\xcc\xff\xe3\x0c\xe1\xf3\xe7\ +7\x84\xf38\xddP\x04\xb2\xbef\xc8\x06|\xffIC\ +8\xfe\xc4\x90\x19D\x8c_\xff+C!\xda\xf7\x94a\ +\xc6\x8c\xd9\xe8\xc7\x86p\xfc\x8f!\x1c\x8f0d\x07\x0d\ +\x83>\xaa\xd4\x07\x07dt\x87!\x06\x14b\x89\xc7\xf8\ +\xcd\x86p\xdc\xc0\x10\xaf\x7f\xa9\xf1\xa5\xc2\xf1\xa8\xf1\xa3\ +\xc7\xc3}i\x9f2\x88y\xf2JbX\xc5u\x1c&\ +\x98\xd4\xdb)\x0d\x9a\xb2\xa1!\x1c\x173\x84\xf1[\xd3\ +\x10\xc6\xeb\xeb\x86p\xdc\xdd\x10~\x7f\xa4!\x1c\xcf2\ +\x84\xf3\xba\x7f\xf4\xc0\xe8\x81\xa89\x10\x1d\xc2\xf0T\xee\ +\xdf\xed\x1f\x9e\xd3\x8fM;dZ\x18\xafiS\xa6\x8d\ +O\x0b\xf3n\xe2\xf2\x89\xcb&\xac\xfd\xdf=\x06u%\ +\x08\xfbP\xf7vCQ\xc3~\xd3Xl\xaf;z\xc6\ +\x10\x8es\x06\xcc!\x91\xd5\xcf\xe5\xae\x18n\x88\xdbj\ +g\x14\xf9/\x19r\x80{\x987`>\xadO\xe3Y\ +T0j2\x1c\xadn\x02\xb3\x16\xf3\x14C\xf9\x94\x88\ +\xccl\x83)\x22\xbb\xa6\x9d\xdb\x10\x99U\x01\xd9\xc1\x1e\ +;6\xc2K\xfe\xbck\x13\xcc\x1bJ\xbc\xd0&@\xc4\ +\xf3\xaf\x86\xf0yK\xb5K\xb6K\xc6\xef\x89\x89\x0c\x98\ +5\xedY\x86\xf0\xfa\x0eC\xb1o\x8b\x19\xd0\xbf\x12\x10\ +\xf6\x85\x89\x13\x03N\x0a\xe3\xb9E@x\x0e\xbbu\x0c\ +Q\xac2 \x1c/0\x84\xe3\xbb\x0c\x99\xb9\xd1\xff\xd5\ +\xa0\x80\xe6\xdcY#\xc1\xdb\x94Zi\xcd\x8f\x8b.1\ +\xda\xaf\x9b\x93\x9bS,\x00\xdd\xeed\x08\xc7\xdf\x1b\xc2\ +qGCx\xff\x96i=\xe8\xa7\x19\x22\xb3\xe1\x9f&\ +\x868\xbc\xd9P$&60\xc4}8\xed7\xd2\x98\ +\x22\x00\x1fE\xe3^\xd4>\xf1\xff\x0a\xfb\xef\x09\xf9\x0f\ +Z\xff\x87\x9f\x0e7Z\x1b\xe6\xe1\xbc\xe1\x9b\xc3y\x85\ +(\xeb\x8d\x17\xe7\xab~\xc4a\x92\xa5\x0c6\ +\xa5\x0a\x8c\x1f\x0e\x1dG/v\x133\x82\xeb\xe5\xc8}\ +\xc2\xd1\xc6\x01'SO\xe6\x9a\xf1\xc4\xb1\x22\xa0\x82Z\ +\xff[S;%\xaf\xc9\xa6\x9b\xc1\x92\x9a_+\x8aQ\ +\xc0\xf8S\xdb\x8e\x08!\x8e\x1e\x19`\xe6#\x8ep}\ +\xffk\x11@\xe61\xa5\x11D\xd0?(\xca\x1b\x9f\xa7\ +\xebp\xb1\x1aDx\xb8\xef8\xba\x04\xb4\x1872\xd1\ +\x04\x12\x94Ao\xd76\x14\xd4q\xae\x83\x05\x08\xa6\x84\ +\x0c\x17\xcf` \xba\x06\xc5\xdd\xec\xed\xa1\x98\xa7\x8c3\ +\xb5I\x95\x1a=\x9a\x02.f\xc4yVb\x94.N\ +\xc4\x86\xc9\x86VG\x1c\xb9\x1fl \x8ax\xbaH\x1f\ +\xef\xe3\xefpH\xb67\x14\x144\x98\x0a\xda\xc8<\x10\ +\x80\x18\xe5\xcazND5tUaj]\x09\xc8\xb1\ +\xe0b\x90\xa9f\xd6\x0d8\x16N\x9eK\xe63\x14F\ +(\x82\x18\x020%\xd8\xf0\xa0\xb4QkG\xe0\x8b\x80\ +\x0ab\x81\x94\x1aP\x1b-C\x8c\xe5\xc1)\xc3\xba\xaf\ +P\x9a1\xe4\x9dJ\x0aS\x82ZQ\xad\xab\x8c/\x81\ +\xa1v?CA)^$9|^\x03(FI\xbb\ +\xa5!Ru?fT\xdd\xa8q\xf0|A!\x94A\ +\xd4\xdcl(>G\x19\x0b\xcf\x8c\xcd\x91\xa8\xac\xdd\xf3\ +\x01\xcfE&\xc0\xef\xfa\xdf\xc5\xe7\x22\xd6${_g\ +\xee\x83\x1c\xc8\xfe\xac\xd4N\xd07\xdc]\xe4\xd0\xa3\x05\ +1U\xe2g\xd7\xcb\xb0\xfa\xb92\xa2\xfb\x18b\xff\xf8\ +\xd6\xfa\xc7\xb7\xff\x0ax.\xb7\x87s\xa6\xc4Q\xc1\xec\ +>*\x8b\x9c\xd1\xdd\x81~\xe5\xcd\xdcz\xbe\xa9\xb1T\ +\xad#%\x0e\xed*\x86,v\x163J7\x16\xb5\x9d\ +f\xfe\x1fW\x88L\xd9\xfc\xdb)g\x14\xfay\x03\xe6\ +S\x9b\xc7\xcf\x8ar\x1e\xe6e\xfb\xd1\x80=\xa3z\xfc\ +7\xdb\xf3\xf5\xf9\x07+P\x12\xe6O\xb7x\xb7X\x17\ +\xd6\xbd\xf6hC\xf8\xdc\x8f%U{\x9f\xf70\xb2\x08\ +\xa8/i\x88\x0ek\x0c\x14\xf9>\xc4\xfc\x16\xb3g8\ +\xd5P\xf4w\xc6\xf0`]\xc0\xc0\xa4\x14G\x0c\x04\xda\ +\xaa9\xd5\x98}\x1d\x83\x8f@<\x01\xc2\xdbuDL\ +\x8b\xee\x12\x9b\x1b2\xa5\x19\x8d\x11\xda?\xa2N\xdd/\ +c\x08v\xcaO\x0c\xe1>\x7f\xd1\x10\xc6#\xaa\xbe\x85\ +\xcb[\xc3P\xa8\xb9\xab+\xc9\xe8XC\xae\xd9\xeeV\ +5\x84\xe3\xd3\x86L\xf5\xee\xd60\x84\xe3M\x86\xdcV\ +\xcck\xfeU\xa3\xdd\xbd\xc5\x10^\xbf\xcb\x90q\xca{\ +`\x00\x00 \x00IDATK \xb8\x9e\xfe\x97\x86\ +\xa2\xc6R\xa2\xa7^\x9b\xae\xc4\x02\x0e7\x81P4L\ +\xba\xe5\x0c\xe1x\xbe\xa1P\xc1G\x83\x021>Je\ +`8)\xb3\xea\x81\x94k\xbbk\xbak\xb2\xe8\xe0\xc4\ +5\x01a\x1c\xbb\xfb\xbb\xfb'\x0e\x8a\xcc\xb2\x9d\xe2:\ +\xf4P\xf3`\x13\x8e\xa3\xcd\x0c\xd9\xc1\xc4Q\x19\x1dm\ +\x88\xcbQX8\xc2y\xff\xb7\xfdO\xd4\x02\xf9\xba!\ +|\xde\xd6\x06\xcd\xdf\x8f\x86\xf7\xbf\xdf\x10~\xfep\xf7\ +Hg\x81\xbe\x03\x0d9\x90\x16U\xd9\x7f\x1d\x99O1\ +\xf3\xdb\xcf\xde\xcf\xd6\xcf\xa6\xfd\xe79\x05\xa0\xef.2\ +\x81\xa2^w\xff2\x84\xe3\xfb\x0c\x1a\x87}\xb4\x9eu\ +E\xc9\x96\x99\xe1Oj\xbf\x5c!w\x01\xe9\xffl\xc8\ +\xa2\xd6\xc3\xa2\x01\x8bIKd\xc7\xa2]\x9f\xd6!g\ +\x8e`W\xd0\xaeZ\x01\x00\xda\x8e\xf6k\x19\x8aL\x9e\ +\x02\xa5\xb4!u\xc6#\x86<\xf3\xa2R\xe1w5\xf6\ +c\xd4\x1eUmT\xdda\xf8\xd1p\x95Q\xc0\xa3v\ +\xc7uE\xad\xbf\xa8\xd3\xfdI\x06\x05\x1e6.j\xc5\ +-\xbc|\x8e\xf6\xcb\xb3\xd4\x85\x82\xd2\xbb\x1fF\xf1\xd8\ +\xd8m$\xae#\xabd\x11\xba\xc8\xdc8\xbb\xc8`?\ +\xa4\x1a\xe7\x0f\x18T\xcb\xfd\xbb\x18`\x09\xaeu^G\ +\x5c\xdcWv<\xf6Gd\x0e\xad\xad\xbf\x7f\xbf2\xea\ +G\x88\x09\xf9\xce\x82\xd1H\xf7\x1b1T\x86\xa9\xc1\xe1\ +\x9c\x1a\x03\xa9q\xffi6m6k6\x8d\xddb\xa2\ +\x16D\xb3q\xb3Ql\x1bl\xab\xe9g\x0a\x91\x5c2\ +\xea\xa7\xa6\x121k\xbek\xedw)\xc9p\xbb\x8e\x12\ +\x04\xba\x19\xbc\x942\xc5a~\xee:\xecZ$P\x94\ +\xd8\xf4\xb6\x8c*\x01\xf1L\x04#\x01\xa6'%\x94\x04~q\xdc\xeb6\xd1\ +\xd8\xa7\x04$\xd8\x87\xf1W\xb0\x9fX\xdf\xd9o\x10\xff\ +#p@\xd7\x1e\x98N*\xc1vG\x19\xbb\x03\x07\x9a\ +\xe7\x02G\xb5\xce\xf4\xf3>\xec2\x1ca\x1c\xe3\xba6\ +\x7f\xb2\xc41?\xafKr\xf9{\x1cp2\xfdU\xd7\ +7\xff~\xc4\x1ea0PZP\x07\x1ep\xd4\xeb\x12\ +z^\xb3.\xf0\xfd\x044p\xec9o\xbe\x1f\xbf\x16\ +\x7f\xb0\xee\x1a\xc6\xf9\xe2\xb7\xe1g\xd7\xe7\xc1u3^\ +|\xae\xf6\xfdq\xef\xbb\xad\x05\xc5)t\xcb\xc6\x06q\ +)S\xbbp1q\x868\xe5s\x0d\x82]\xd6\xf3:\ +\xf1\xd9\x8a\x08\x03'\x88\xc1R\xaag\xfe\xa50\x90q\ +\xe81\xc0\x09\x08\xe0P\xd6\x19\xf5\xbaT\x80\x81\xe5|\ +x\xc0j\x0a{\xad\x22\xcf\xf5\xcc]\xa9\xf1\xd7\x14}\ +2\x98P\xe5\xeb\xd2\x03\x1c\xe5\xber\xf8\xb9!#\xfa\xc3\xc2\xcf\x91L?\xda\ +\x02P\xf7h\x8f\x03\xd5\x8c\x1aHQ`\xa9\xf5\xc4q\ +\xf3\x00\x97\x02\x8d\x1e\xd8P\xa0\x07\x95u\x8fT\xabV\ +\xcc\xc5\x9c4\xef]\xe5\x9c\xfb\x01\xd5\x8e\x8d\x92\xeb\xa4\ +4\xe61m\x18PE%\xaa\xd7/\xdb/\xd7/[\ +0A\x9e\x08\xdb\xf5\x13\xc5F{^0\x19\xc3}n\ +\xfeh\x88\xb5\x86\x07X\xad!m\xe9\xfa\x8b\xfa\x8b\x8d\ +B\xdeo\x1d\x10\x9e\x83\xee\xb3\x86\xf0\xfa\xd3\x86\xa2+\ +\xc2\xc9\xcdI\xcdIE&\x00\xa6\x05\xcf\x09ba*\ +\x01i\xdf\x9e2cq\xb9\x09\xebN\xfbp\xaa\x85\x0e\ +\x8ep@x}[\xaa\x05\xa7\xcf\xb4k(\xa0\x82n\ +\x86\xe6;$\x86f\x0c\x87\x7f\x07<\xaf\x9a\xfb[\xe5\ +\x18Z\x89\xc5L\x86\xa2\x06[Z\x188\x9a\xa3M\x0c\ +\xe1\xb8\xb2!\xbc\xef\xca\x80\x1f\x15\x0c\x122L\x12\x9b\ +\xf3\xc0\xda*\x86,\xc64Z\xdc\x10\x1e\xff\x83\x02\x82\ +\x834\xbe\x88A\xa5\x15\x1b* \xf5\xa5\x22\x93\xb3x\ +\x0a\xe0\x19\xf1\xdb\xa8\xdf\xa3\xfbF\xf7\x8f\xee\x0f\xc7\xf9\ +\x0c\xe1\xef&\x0cEw\x17\xba\x80(S\xdaol(\ +\xb4D\x94\xd9l\xe75\xe4\xcc\xb6\xd7p+#\xd9\xbc\ +\xdd\x10\x8ew\x05\xfc>\xd7\x18\x93\xe9\xf2\xb6}F\xcd\ +\xde\xbbpXV7\xeeC8~\xcc\x90k\x82\x87\xf5\ +\x13%\xb5?\xa5\x1f\xf5\xa3\xbc\xbf\xb7\xa7\x1b2\xb3\xa8\ +;\xc1P\xac\x1f\x88X\x91\x11T\xc6\xa6=\xdf\x10\xc6\ +\xe1\x1d\x86\xac}1Z\xc2\x10^\xafc\x08\xe6\xc79\ +\x86\xf0\xbd\xb7\x19\xc2\xe7\x9fb\x08\xc73\x0c\xe1\xf8\x9a\ +!\xb7=\xeb\xbfl\x08\xc7#\x0d\xe1\xf7\xdf0\x84\xd7\ +\xb7\x1b\xb26@\xff\xa2!\xb7y\x1b\xbec(\xd6\x1d\ +i\x0bPc\xed\xdd+$6GW\x03\xda\x81M\xac\ +`\x08\xc7i\x86\xa8\x16\x1f\x90\x19(\xdd;\x0c\xe1x\ +\x9f\xb9\xf2\xe1x\xa3!\x1c?f\x08\xc79\x0c\xe1\xb8\ +\x97!<\xf6\x9f\x0c\x08\x8e\xd0\xb4\xd5\x02\xc2\xf7L\x9c\ +k\x08\x9f;G\xc0\xec1\xa3\xbb\xd3\xb0Sv`\x08\ +p\x8f?h(D\xf1\xd4\xbe\xaf\xfd\xaa!\x8c\xefo\ +S\xbb\xc3\xee\x19C1>_7\xc4\xf9\x1e\xc5\xe0&\ +\xee5\xc4@\xd8\x8e\x16\x88m\x0eo>n\xa5T0\ +$`ZDQ<\x0b\xf0^\xd6\x5c\xde\x5c\x16k\xcd\ +\xa3\xc3\xde=\xd2M\xed\xa6\xc6\xf6\x92?3\x87\xb6]\ +\xa4]\xb4]X\x9a\x06\xdb\x17\xedM1d)}\xb2\ +\xb0\xe1G\x0a\x8d!\xd3P95g\x9e\xa3\x98\xe5\x95\ +E\xa0\x1e\x87\x00{\x13;\x15M\x1c\xb4\x1b\x94!\x1d\ +.2\xe4\xcc\xab\xb7\x1d}\xaf\xa1\x08\xcc\xc0\xe4Q \ +\x8by\xe3%\x02\x04\xd2\xc8\xe0\xb2\xce\xbeI\xe7\xa1.\ +<\xee\x10a\xd7q\xde\x0a\xbc\xb6\x8f\x1b\xb4?\x9eS\ +\xd8\x93\xb4\x835\xc7\xf5\xf8\x22\xe0\xaa\xd2\x94\x18\xe6=\ +\xa4(]\xc1N\x87\xf2\x0f\xb5\x9b\xda\xeb\xaf\xa6R\xb2\ +\xe8\xfe\xfdC\xb5\xf9_\xc8\xf6P\x0c\xac,Zhm\ +\xa8\xbb\x11\x01\xe9\xf8\x1c\xec\x17k\xe5?\x1ek\xe5\x7f\ +=\xf6\x1b\xcbx7/J\x5c\x12F\xe4\x13\x01\x8f\x17\ +5\xeb\xb4\xc1T\xa9\x84\x8b\xe7\x0e\xc1\x0c\x1d\x8a}\x8e\ +\xd2\x0dJ\x17T\x1a\xe4v95\xe3\x04\xde\xd1\xe0\xf9\ +E\x0a\x98\xe0\x7fP\x9a\xe1\x99Z\xda^\xab\xd4\x92n\ +\x00\xdcG\x9f/\xf8\x0f\xb4\x03\xa4K\x10\x8cI\x89z\ +B\xfdg\x7f\xf3\xb6{$\x16\xa0\xb4\xdf\xa4\xd2\x1a\x95\ +bE)\xf6\xa5\x8a6\xc5h\xdb\x10\x908\xd9\x90E\ +1\xfd\xfea\x0fc\xb7\xe2\xaf\xd4btU\xad\xbc\xb7\ +\xf1\xc3\x0f!\xd1\x81}\xc1\xcf\xf9\x1c\xecC(\xfc\x94\ +\x02\x90\xe9\xe7}8\xda\xcck\xde\x8fC\x8d}\xc9\xf9\ +\x10\xb8\xe6<\x09@@\xc1\x97\xa6\x8a\x8b\x1e\xd6Z\x00\ +8\xb8u\xed\xfbd\x0e5\xe7G@\xa2b\x8a;\xe3\ +\xd2\xc2\x94\xb7\xc5\xe7\xea\xde\x18\xa8x*\x8cF)\x1a\ +X1\x14(]\xf7D\x1e\xe7Y\x1f\xf1g\xd1\x22 \ +\xc0X\xdb\xa1\x9c?\xe7\xc7\xf8\xf3<\xe0\x87\xf2>>\ +\x0f\xcd\x1a\xfc\xe3\x8a\x01?\x8ejj\x9c6\xcb\x14\x13\ +\xe6\xd5\xd8\xc9=S\xd0\xb5\xa0\xb9\xc1F\xdb8\x22\x12\ +8.8\x8c\x18xd\xd6y0_\x89\xae\xe9\x8c\x22\ +z\xa4\xc4f\xaaD\xd8*&\x80\xff\x1c\x87\x94\x85\x8c\ +\x88\x0f7\x94\xf3 R\xc3\x83\xcb\xfbj\x95I\x0c\xe7\ +\xaa\x0d\x1d}z=\xc3Y\x978\xe46\x82I$G\ +}/Q\x05\xf6\x12\x04\x02\x09o\x96c\x8b#=\x83\ +\x86\x80\x16\x16\xdeO\x06\x98\x0c4\x11M\x1c8\xc6w\ +C9\x08\x8b\xe9\xbe\xd4\x01\x0d\xd4\xe9\x97\x93x\x11\xcc\ +\x07\xa8D\x8by;\xc1\x14)\xe4~\xd65\xf28\xe6\ +\xfc\x1e\xcd\x81\xb9\xfd\xfd\xc9\xf1\x9f]\xd7Q\xab\xf4\xd7\ +\x0c\x01\x0cY\x22\x979sO{\xbf\xf4y\xb5\x18#\ +\xf3\x84n\x11|\x0e\x0c\x02\x16B\x8e\x8c\x1b\xa5\x07t\ +\x17\xe0:\x98\xd7\x94fl\xa4q\xe1\xfd5\x93\x80\xbf\ +\xe3\xfe\xe1H\xa3\xaa\x0b3\x81\x08.\x81&\xc6\x83\xf9\ +F\x80\x08J\xff{\x0c\xc5x3\xdfq,\xcf7\x14\ +\x14D(Sj\x1f\xe3m\x8a\xe4`\xe3p\xfb}\x85\ +\xc1p\xb1\xfa\xe32\xae\x04L`\xfc\xa0\x09\xc2\xbca\ +\xa3\xa2&\x0e\x0d\x02\x98\x0dl\x10\x188dv\xa0\x8c\ +i#E3\x80\xf6^^\xda\x00\xd3\x00\xca\x1b5f\ +\xaaQG\x1c\x8f.\x06>\xff\x15\xe9vq\xc9\xcf\xc6\ +\x9ck\x9e\xf7t?\xd0u\xa2\xd2\xed\x81O\xd6\x07\xe6\ +\x07\x94Rj:\xe5h\x0f'\x19\x0a\x83\x89\xcc\x11\xd4\ +=u+i\xdfo\x08\xc7\x93\x0c9\xd3B\xfb0\xfa\ +\xb8{?g\xfaA\xab\xb6\x9a\xcfm\xee5\x14\x0c\x02\ +\xfaA\xff\xc3\x10\xd5\xd0\xa3xb\xcc\x8cl4\xa3\xc3\ +\xd6<\x93\xd4\xc5\x9b}\x9a}\x9b}c\xedh\xca\xec\ +\xd2\x86ieQ\xe9\xff\xa8\x0d\x97\xc0\x10\xeb'\x81\x95\ +\x8d\x0d\xb9\xad \x86\x14m\xaa\xbaO\x18\xc2\xebw\x1a\ +\x8a\xc0\x18\x94\xbe\xcf\xc8\xb1U?w\xafa\x17\xe3\xa3\ +]\xd8\x10\x1e\x8b\xf5\xc6\xd7\x1f__\x0e\xb8-\xdf'\ +\xa5\xc0A\xfb\xa8!\x1a|'F\xaa\xe5F&\xefZ\ +\x88\xf2\xd1\xbe\xd2\xd4\xc5\xaf\x96Z\xf5\xddE\x06\x8b\x0c\ +\xef=\x06\x05\xc6\x82\xa3\xd9.n(\xba^H\x8c\xb2\ +\xdd\xccP\xb4\xe9c\xbdQ@\xcdk\xaa\x1f4\x84\xf7\ +\xad\x9eJ,\xc8\xa0\xc5\x9a\xe8\xeb\xc3\xe7\xfc\xc8\x905\ +\x06\xa2\xc8\x9e1/\xe6\x0b0j\xf1G\x0c\xe18\xd5\ +\x10\x8eo5DQ\xbac\xdac\xa2\xa3\xbb\xf4hi\ +\xb5G\xfbU\x0c\x8c\x04\x14%@P:\x0f\x8d0\x87\ +'\x19\xce{\x19\x0a\xf1H\xe67\xfb%\x1a#\x18\x1e\ +0^\xd8gl7,\xb5oX?)\xbd\x11u\xd2\ +\xa9\xefr\xa4\x99\x7f\xfd\xf3\xfds\xfds*\x09\xd94\ +R\xf9\xe7\xea\xe7\xcaL\x96nw\x83\xda\xd9\xfd\xa6(\ +\xb1\xa1\x16V\xcc\xa5\xd11\x86\x1c\xe0\x1c\xcdc\xc8\xeb\ +\xc6\xe8YC\xa1\xea-\x11F(\xf8\xdd\xc9\x86\xf0\xfa\ +\x1b\x86,j\xd6\xaff\x08\xc7\xff\x18r\x02\x05\xa6\x00\ +\x8ec\xbf\x9f!S\xa1\x87w\x19\xb2\x88\xa3\xff\x9e\x00\ +\xc0\x9f\x0d\xe1\x83\xb6\x8d\xc8\xd4\xf1o\x19\xc2\xf1iC\ +\x0e\xc4M\xdcg\x08\xdf{\x9c!\x1c?n\x08\x9f\xbb\ +F\xbff\xbffn\x13\xd7\x9dg(\x1c\xfe\x0b\xbbo\ +u\xe1\xf3\xfa\x83\x0c\xe1\xf5\xcf\x0c\xe1\xf3n1\x84\xe3\ +s\x86p\x9c\xc5\x10~\xff\x87\x00\x0b`\xacj(\x18\ +V\xf7\x1b\x8aL0b\x97\xd2\x0e\x99\xb2\xa0!\x1b\xdc\ +\xdd\xb1\x86p\xdc\xbe\xdb\xae\xdb\xae\x10}\x5c\xb6_\xc6\ +\x9e\xfb\xd1i\xa3SG\xa7\xe5}\xa9\x19%\xe6O\xbf\ +e\x80\xb5\xff\xfb\x90!;FP\xf2\x11\xe3s\xe6\xd4\ +U\xc35\xd65\xa1\xdb&\xc0\xdaY\xdeb\x08\xef;\ +\xce \x06\xc9\x0e\x85F\x944*\xa24\xe8\x01E\x22\ +\xcbv\xb9Us`\x89\xae\x02\xd1\x0dy\xb0\x10MC\ +DMv\x90\x97\xb8\x88Y\xe3]R\xc4\x98j\x7fe\ +(\xc4\x11\xc5\xb0C\xbc\xb2\xdb\xccPd|I,\xe0\ +hI\xeb\xc7\x1d\xf1\x0f\x8cmeL\xb3\xe0\xce\x9dd\ +\x0e\x9d\x15R\xc5\xb6\xc1V:\xb9Z\xb1\x8f\xa9\xd4\xcd\ +\xbbb\xb1/C\xa1\xb7\x12\xb2\xcbs\x89!\xed\xb8\x87\ +S\x0c*u8Y\xfb\xe1\xda\x99\xd9D\xe0k\x86\x84\ +\x07\x0e\x11LB9\xa2\xd1\x1a\xfa~.]\x89\xc4~\ +DH\xcf\xcd\x8e\xaa\x07\xfc\x8d\xb2\x1f\xae\xbf\xdf\xc6\x10\ +\x03&\xa9[\xc0+\xf2/nV\x06\x19\x86\xa8\xf6\x05\ +\xbaw\xf4\x0f\x1b\xc2\xe7\xbc\xd3 \xd5\xf5\xfb\xa3\xe3}\ +a@n\x0f*\xad\x052\xff0\xbe\xb0#\x10\x7f\xf5\ +@\x0c\x01\x17T\xeee\xcf\xc1$\x83\x11\xe5\xf3\x03\xc6\ +\xa5\xa8\xfb0\x81\xdc\xa1\x22\x81@\x8d;~\x91(\xf1\ +\x04\x0c\xc9\x9c\x13H\xf7v\xcb_\x15\xe3@\x19\xf3a\ +Ki\xaa\xa8[\x83/T\xca\xb4\xfby\xf3\xfeK\xc4\ +\x1c \xa1D\x02\x80\xfd\xbc\xd6.\xc3\xcf\xc3\x9e\xc5\x8f\ +b\xdf&\xa0 f\x97\xab\xfa\x93\xf1\xc7n\xad\xc5\xac\ +qxq\xf8a\xa0\x12\x90\x82zO\x02\x85y\x86\xc3\ +J\xa93%\x8eu\x9b<\x1c`\xfc7\xf6\xe7\x9a\xea\ +\x8e\x7f\x85\x1f\x88c\x5cS\xecI\x04U\x22\xf2\xfe\xfe\ +\xdc.0\xb5#\xe5\xfd\x04&\x18\x07\x1c\x7f\xed\x07>\ +\x0e5C\x80\xf3\xae\xcf\xbfv\xd0\x09(\xf09$\xb2\ +\xf8;\xae\x97q\xaf\xda\xd8\xa31\xe3~o\x1dx\xf0\ +\x00\xc0\xb3\xb1\x9a<\xfd\xe2\xae\x82\xaa\x8b#\x8a\xc3W\ +epQ\xa1\xf4\xcc>56\xcb\x18\xa6SYO\x0e\ +$\x06\x06\x99XJ\x0ep\xc8\x90K9\x82{\x1dk\ +}\xbd\x9d\xd7b\x89\xf1\x12k\xd4\xd7(\x1c@4\x15\ +X\xc7.L\x06\x155\xce.~\xb7\x8d\xda\xbb\xfd#\ +\x8d{\xff\xcd\xfe\xbc\xde\x1c\x92\x9f\x18\x8aH>\x99\x10\ +2(\xe7&\xa6\x88\x07F\x16k\x17m\x17-\xbaT\ +h\xdd\x0a^B\xf8W0:\xa0\xf8\xa2>\xac\xae\x02\ +\x04N|\x83<=\x22\xcf{Q\xd4\xa3\x83h}\xd8\ +\x8f0\x88\xa2\xffQ9\xb0\xa7\x17\xed\xded8C\xbd\ +lT\xb2\xde\xceb\xc85\xbdd\x10\x11\x8b\xf3}\x8f\ +\x8c\x85\x1c[\xcf\xa0[\x89F\xd8\x88\xdb\xdd\x03v\x0b\ +\xcbET\xe7\xd2|1j\xef\x89\x86d\x98\x0e7)\ +\xe05\x7f\x14\xc7\x8d\x0c\x91\xd8\x06\xf0\xa79@\xd5\x1c\ +f\x08\xef\xdb-\x22_\xbf\x02\x00\xfd\x0d\x86\xbc\xde\x8e\ +\xde3\xda|\xb4y\xb1\x9f\x92A\xe0\xfe\xaa\xe4\x06\x07\ +\x0e\xa6\x86\xb7\xe13\xe6\xc9?\x8b\xcc\x07\x9fCF\xcc\ +\x18\x0e+\x17\x8c\x00\x89s\xf5\xdf\xea/\xecM\x5cn\ +=\x83\xc4.7\xce\xeb\xb0\xd7\x8c\xf2\xfc\xea\xfey\xbb\ +6\x02\x11Z\x0f\xc9\xccY\xc5\xb9\xd5\x9c\x13\xd8\x1c\xbd\ +\xd9\x90\xf7\xf9\xd8\xce\xf0\xbd93\xea\x19$\x026t\ +\x1b\x103\xa2\xff\xa1\xa1h\xb7\xf7nC\x0e, \xba\ +\xd8\xdfi\xc8\x19\x14\x17SD\xdb\xe3\xc2t\xbd\xde\x9d\ +\x02\x03\x9a\xae\x15\x882\xaa\xd6\xbd\xff`\xbfUo\x1a\ +\x07\xbb&1\xd0\xee\xc7\x86p\xdc\xb9\xdb\xa5\xdb%j\ +i\xbc\xd2\x05\x03\xb0;\xa8;\xb8;\xb8\xd0\xda\xf8\x8a\ +!2WRm\xf7i\x86\xf0\xf3g\x93z\xfcDo\ +\x08\xcb\xd2\xe3\x86\xf0z?Cx\xbd\x83!3,\x9c\ +\x9a-\x8d\x85\xf6\xba\xf6\xfa\xf6\xfa\xa2\xc4\x91@\xd5\xe7\ +\x0c\xe1x\x81!w#\x18?\xc1\x10^/a\xc8\xa5\ +B\xf4\xcd\xee_\xeb\xff\xdb\xff7jP\xa4\xe7\x97\xf9\ +r\x85!\xfc~d}C%V\x18\x9e\x83\x89\xa9\x86\ +l8\x8fV3\x84\xf3\xfduwkg\x22\x87\xab\xb5\ +\xabZ[\xd2\xd1y\x01sg;\x22\x96n\xdc,\xd5\ +\xee?J\xf4\xeb\x85\x82RMM;\x0e6\xcf\xf9y\ +\x91\xd3\x94\xed\x94J#\x89n\x1704\xdag\x0d\xe1\ +\xfbO0\x84\xeb\xbf\xc5\xa0y\xf6\x98\x02B\xeb\xe7R\ +(\x0fx\x93\xd9\x16c\x89\xee(.r\xf9kC\x0e\ +dSZ\x82C\xeeL\x04D4\xb1\x07\xb0;9o\ +\xf6C\x12\x0c$\xa8\xeeU\x86\x92}[\xe2}\x88\xf0\ +y`\x17\x0d\x12\x1c<\x9d'\xfb\x94g@o2\x88\ +\xb2\x7ffQ\xe3M \xdc\xa4\xea\xce,\x98\x7f\x88\x01\ ++#\x8f\x98\xe5\xd8W\xc7\xbe\x16\x19\x0a\xb3'\xc6T\ +\xd4l\x98\xb7(%\xa2\xbb\x8d(\xf4\xae\x95 \x8d\x81\ +X\xd2\xb0c\x0c\xbc\xed\xdb\xef[\xd8C\xea\x02\x84V\ +\xce\xd8\x89r\x80\xc7%>\xaa\xeeH\xce\x88\xbc)\x95\ +\xb4y\xa2\x02\x06\x1f\xfb:b\xba\x8c\x7fU\x13\xee\xed\ +\x98\xb5\x9eb\x07\xc0\xf8q\xbb\x90\xee'\x88\xda\xe1P\ +*\xb3\xee\xeb\xa1\x02+^b\x8d#\xa7}\xc5E\x22\ +\xf59\xcd\xef\x0c\x856\x06\x99z\xec_\x12\x9cu-\ +\xf7\xe9\xf5\xb2\x1a\x17\x1c2\xd4\ +Q\xdf!Uz\x98\x03U\x0d\xbc;\x1c+U\x81\x02\ +(\xedD\x84\xf9;\xbe?\x9foz\x8d\xe1\x88cO\ + gng\x08L\xaf\x09Q\x97\x80(\x10\xd4\xbc\xcd\ +\xdb\x14&\xc7\x9d\xef\xcfb_i\x1e\xf0}\xf5\xf7\xd6\ +\xed\x1ey\xff\x12\xdef1\x05\x08j&\x02\xe7K@\ +\x8a\x0d\x17G\x9f\x88]\x1d(b\x81\xc5\xb1\xa2\xdf9\ +\x9fO\xa4\x98\xf1\xe5>0\xaf\x19g\x18\x018\xe6\x88\ +{\xf1\xb9,$\xccc~N\xc0\x00&\x02\xf3\x10\x0a\ +;5\x5c,\xd8P\xefp\xf8\x11\xaba\xbelj(\ +Tm\x09<@iS\xad\x1c\x86\x86?\x87\x15\xb3\x80\ +\xccilWuh\xce\xc4\xbb\x01\xba\x86\xa1\x08(!\ +\xca\x83\x06\x88\xda\xe3 \x8a\x88\xd8\x9f\x8b\x90)\x22\xee\ +\x99\x00\xe6\x15\x11T\x02*\xcc\x03e\xea\xc8\xc4[%\ +`\xac\x05d\x83\xa3\xc6\x0eqJ\xf5\x1b\x8f\xaa\xf2\xb3\ +\xe5vj\xb4\x97\xf3H6]\x01p\xf8i\xcf(G\ +\x95\x80D\xf3EC\x9e\x17\xb4\xd5sC\xe8BC\xa6\ +\x16\xd3n\xab\xddP\xaa\xfc\x0b\xca\xb1F\x9cja\xb5\ +\x11|\xb9y\xb5y\xb5\xb8\xef\xa8\xe4J\xb5\x1e\x0a\xa2\ +\x97\x86h\xdd\x22\x83=\xcc/\xea\xacD\xde\xfa\xc3\x0d\ +\xe1mw\x1b\x0af\x04\x06\x95\x1c|j\x5c\x9d\x89\xf0\ +j:\x8f\xf6\x87\x86\xac\x02\x1f\x0c\xfb\xd5\xdb\xd5\x0b\xc7\ +\xf4\x13j\x17\xa5\x0c\xeb\xb0@\xc0[s\x7fu\xef\x82\ +@\xa0\xf4\xe4\x08\xbfon \x8b\xea\xde\xedg(\x1c\ +K\xa9\x88GF\xc6\x89\xb9_\xbak\xdf\xe8\xb1\xf5\x00\ +\x9c\xfea\xa8\xf7\xcb\x1a\xc2\xdf\xff\xd1\x90\x03ad\xf0\ +\xfd\xef\xb9Oj\xfb\x18\xd5\xb3\x7fY\xac\xd3\xb6+\x8d\ +\x17\xa5?G\x8f\x1dmb\x84\xb1\xed\xe2u\x91\xe1\x92\ +\x18\x0d\x94\xd8\xe0@\xa9\x14\x04\xf5yo\xbb\xa6\x0c.\ +\xda\x17\xce\x5c\xbaE\xe2R\x8dJi\x94\xf1\xf2\xf6R\ +\xf4\xc5\x96\x83J\x06\xd6\x9a\x05Z\xbb@\xafm\xd5:\ +\xd5\xdef\xc8\xf3>>5\xdb\x14\x81B\xc4\x9a>\x98\ +\x98<\xc3\x9fS\x06\xa4?\xbd?\xad\xb7\x9a\xdc\x97\x0c\ +E[P\xa9s7\x97\x192\xa5\xba\xfb\xbe\xa1\xf8~\ +\x95\x02\xf8~\x88\xfa\xb5\x98k\x04\xb8\xfa\x8f\x1a\xc2\xf1\ +1C\xf1\x5c\xa3\x86\x0e\x93\x09\xb1Q\xb5\xedd^\xf7\ +K\x18r\x0d~\x7f\x9f!w#p\x8d\x05\x95z\x10\ +\xc0\x81\xaa\xdbw}\xf8\x17_'\x07J\x01\xd6~m\ +Cv\xb8(\xed\x08\xf7=\xae\xb7\xfd/\x0c\xe1\xba\xf7\ +\xe8\xf6\xec\xf6\xcc\xe2x8\xfe\xdd.\xdd\xce\xdd\xce1\ +\x03\x1aE8\xbb\xf3\xbas;\xa3\xf4\x9f\x99\xb43b\ +\xbb\xbe\xcd\x82\x9dwS@ph&\xb62\x84\xe3\xe2\ +\x86p\xfc\xb3A]\x01\x82c\xd8\x9f\xd3\x9f\x1b\xbbh\ +\x5c>\x5c6\x5c&\x91\xd0\xadr\x0d{\xfb\x0bC\x0c\ +\xe4\x04\xe4R\x93\xd1V\x86p\xfc\xb6!\xfc\xbcM\x01\ +;\x1c'\x02\x9e\xc1:\x8c\xddK\xfa+\x93\x83\x0fE\ +9\xb6\xf3\xb3@\xc6%\xfd\xa5\xfd\xa5\x91\xf9\x10K\x05\ +`\x02L\x9ce\xc8\xfb\xcfh\x91\xd1\xa2\xa3\xb0\x1f\x8c\ +?n\xc8\x01\xd4(n\xb7\xaa\xd4\xfe\xef\xcbZ\x0e\xe6\ +\x0e\x9aCH\xfbC\x18\x5c\xb1k\x8bi\x95\xec\x94J\ +\x1f\x9c\xf1\x86\x9a\xbe\x0ce/I!3)\x83|\xf4\ +5C8\x8f\x9d\x0c\xe1\xf5'\x0db\x84\xad[\x94\x84\ +H\xb3\x82\xed\x8e}\xac]\xd7\x10~\x7f\x9d!\xbc\xde\ +8\x05\xc4\x10\xb7$\xf0\x14v\xb3\x0f\xd9~\x86\xd8$\ +\x81\x01J\x89\x9cI \xa6\x86\x97\xa0\x11p\xa5\xb4P\ +%f\xb1+\xc6\xbb\x0a{\x82\xfd\x18;\x10\xca8v\ +\x10\xfb\xa1\x1c\x14\x0fxk\x9d\xf5R\x08\x0b\xf8\xac\x91\ +\x19d&\x1dk\xe2\xb11\xd0~l\xe1\xa0(P\x0e\ +s\xc2K\x12/\x19\xbb(\x8a\xd5v\xc1\x0d\xeb\xb2\xfd\ +\x83v\x843\x8cD\xb5w\xa6\x03\xa5n;)\xb0\x22\ +M)(\xfb\xde=\xe9$i$\xa1\x05\xf3\x9b\xe6\xb6\ +\xe6\xb6(\x8e\x97\xdaSbo\xd2\xbd\x87D \xf6\x1d\ +\x8e\x17\xe3\xc1z\xb5\xbb\xec\x1c\x95\xf6\xb8\xfdA\xe0\x9b\ +\xeb\x86\xb9\xc8\xf5\xe2G`\xc7I\x8b\xc6\x19\x0507\ +\xcf6\x14\xf6\x0e\x81\x1c=\x1f\x88E\x13\x90\xa4\x0d\xae\ +\xfb7^3)\xbb\x94}\x95\x0c>\x0e7\x19wj\ +\xf0\xd1l!\xd0N\x1b<\xd6_\x1cf\x8e8\x9a\xd8\ +\x9d\xd8U\xb5\x83\x8b=J\xed`\xc3@E^\ +5\x89\xed\xfb\x0c\x05\xd5_L\x84vWC\xce\x144\ +g\x18r7\x10o\xbf\xf6\xebT\xeb>\x1cT\x89\xc2\ +A\xfdU\xfb#\xaf!D\xcbA\xf7yx\x7fj\xd3\ +4\xf1CCX\xbe\xben(\x9e/Q!c\xbb\xbd\ +G\x8a\xeb\x95\xa1\xde^g\xc8mA\x9b\xae\xe9\x9b>\ +jL\xa4@\xcdH\x81\xe0\x85\xd2\xfc\xf2vF\xcap\ +7{\x05\xec-*\xff=E\x80\x87\x8c\x96\xfd~\xaf\ +\x82\xe9\xa4}(j\x11\x04\x07\xd4\x08\xe8FA'\x93\ +\xe7\xed\xa0(}\x11c\x05\xc6\x05\xa2f\x04f\xfa\xfb\ +\xfb\x07\xfa\xfb\xa3\xaa\xf6\xda\xa6\xaa\x8dc0e\xaa!\ +\xbc\xff\x10C\x91\xe11\xf7t\xd1\xac\x0e\x1d\xcd\x8f\x9f\ +\xa9&\xf7\x84\xac\x15\x10\x9f\xca7I\x5c\xf2\xfd2\xd0\ +n*\x0c\xb0\x9de\xc8\x8a\xca\x8e&\x00\x81\x08\x0f\x08\ +\xa1\x95@\x00B%\x01\x94\x22\x10\xd8\x1c\xden\xc8\x99\ +\x09\x0f\xfc\xa9\xbdT\xff\xaa!\xfc|AC\xf8\xbc\xf5\ +\x0c\xf9\xfe\xb1\x0eD\x02\xed\xaf\x0aM\x0b\x9b\xef\xc7\x14\ +L\x1ai'\xf4?\xe8/\xef/\xcf\xa58&Mg\ +\xe2t\xc3\xe2\x86p\xdbo0\xc4\xfb\x9c\xa8\xc3h_\ +\x88i\xc6\xfcin4\x14\x9a&<\x9f2D=\xd0\ +$\x83\xba{\xc8\x10\xbe\xe7(C\xf8\xf9E\x86\xa2?\ +\xb7\xf6\x91aMCQ\xbb\xae\xb6h\x04V\xa0\x1a\xa3\ +a\xe15\xfc\x12a\xa3\x94\x00\xd15\xfa\x80\xf7\x1b\x89\ +Y\xa0\x80\x82\x1b\xde\xbfH\xc7\xfejCn#\xd6<\ +\x91J\x05\x10\xcfD\xd4\xad\xfb\xad!\x1c\xef\xe8n\xef\ +n\x8f\xdd0\xc2\xa3\x13~\xbf\x8aA\xea\xef/g*\ +u\x1c\xdfk\xe5\x18\xaf\x5ctqP\xb7\x05\x02\x16\x13\ +\x8bO,1\xb1D\xfe\x1e\xda\x91\xd2\xf6\xb2\x99\xb3\x99\ +\xdd\xda\x16\xb7\x1f6\x84\xe3\xeb\x86|_]\x5c\x0c\x0d\ +\x12\xd9I\xcd\x84!\x1c\xbfa\x88\x0c\x9fXR\x83\x06\ +O\x14\xc1\x9c7S\xcc\xdb\x9b\x0da9\xba\xcc\x103\ +\xbd\x91\x9aO\x17\x12g\x06\xc1p\xd3\xf7\xc6\x92\x19\xd3\ +\xbe8\xd1\x10\xe6\xd1~\x01\xfb\xc6.\x19\x01\xe1\xf8\x9c\ +A\xf7\xedS\xb9\xebJl\x17j\x01\x95/\x05|Q\ +\x86\xb6=\x07\x1b\x06l\xa0\xe3\xbb\x0b\xb1J9 0\ +\x1fF7\x05\x84\xfb7\xbe\xb1!\xefk\xd2\xba\xcb\x0e\ +$5\xd20\xd9`\x0cY7\x890\xcf\xda\x0b\x0d\xb9\ +\xff|s\xad\xa1\x10o\xa5\xc4T5\xf4\xccc_\xcf\ +U\x13\xcc}CD\xd0\x99{\xa2\xca\xc7\xf5{39\ +\x02\xaf\x14\xe2\xc0\xb4\xe9\x85j\xbe\xb4!\x97\xdcD1\ +\xe3\x0f\xc8!_\xf1\x0d\xf6c1\xd4<\x10\xa1u\x95\ +y\x1d\xc3@\x97\x15LL\xecY\xe3\x81\xec/\xbb\x7f\ +\xe6\x22\xf0\xad\xe7`X\xca\x90\x03\xe5\xfda\x86\xbc_\ +\x0f\xd7&q_\x17\x7f\xfe\xad\xc4\xe4\x08\xe4)\x83\xce\ +:\xe7\x22\xc2\xd8\x15\x88\xca\xe9\xba\x9b\x87\x93\xc6N\xb3\ +\xa9T\xf6\x95hp\x11\xe2:\xd1F\x22im\x05R\ +`\xa6!\x12I\x02\x84\xf5\x1d;\x10F\x22\xdd\x88\xc8\ + \xf3\x1cA\xd1\xaf\xa8\xeb\xc3{\x0cE{\xc8\xf1\x14\ +8\xf3\xf3S ?\xb6\xd3]7\x07~}\x1fW\xe0\ +\x18\x11T\x0f S\x9bO[A2\xfa\x94tT*\ +\xf9\xee\xb8\xe2\xd7\xe0W\xf0\x8f\xd7\x9c?\xfe\x12\xcc\x94\ +\xdc\x95,e\xf0\xf9<\x1c_\x18Z\xb2\xb7\xd0\x90\xf2\ +\x84\x14L\x00\x18\x04\x87\xab\x0dy\x9c\x9cQ\xf0\ +\x8c\xa1`\x8c\xa8\xafq\xbbSr\xf4\xfa]\xfa\x9d\xfb\ +\x9dsf\x9dL\x80S\xc4\x7f\xad\xda\xc4\x0b\x0c\xb9V\ +\xb1\xf9k\xd2\x16h^Q\x7ff\xc6s>\x05j\x9e\ +Q T\xa2k\x13?N\xea\xeb\xdd\xf7\xba\xefv\xdf\ +\xcd\x14_\xd6a\xdaU5\xcf\x192\xb3\xa0\xd9\xccP\ +t-\x80JI\xdfpi(\xb4\x9f1d\x11'\xd6\ +=JY\x86\x13\x87\xafG\x8a<\xa2N\x0a\x80\xe1\xc8\ +#\x0e\xe9\xa2[\xea\x9a\x80\x8a\xbb3\x14\xe8\xb2q\x93\ +\xa10\xbc\xec\xaa\xe7\xc9\xeb\x9a\xd7\x82\xcb\xa1p\x0a\xf8\ +\x03\x16\x0a\x08\x7f\x7f\x9a!g.\xd0\xe8\xc0\x01\xf7\x9a\ +H\x89\x12\xc5\x80\xde\xb2\xa2\xce\xde\x5c\x94\x18X\xc6\xfb\ +\xfb\x85\x18\xa4T\xbb}\xfe\xff9\xcd\x9b\xfeo\x86\x9c\ +\xa9wf\x8c\x1c\xe6\xf6C\x86B\x84L\xa5 d\x9e\ +\x86]R;\xcc~\x01C\xec\xf2\x90\xc4\xbf$N\xd5\ +\x1eh\xc8T\xd2\xd1\x81\x86\xa2[\x07Z\x13\xb4\xb9\xa2\ +\xa6\x1aq'\xd9\x0b\xb4\xeb\xea_2\x14\x06\x0b\x99\x1e\ +\xb4e0\xc8\xe8+\xfe\xa1\x94Ac~S\xe3N\xb7\ +\x02\xdf\x07`\xd2p\xa46X\x0e&\x1a\x0d\xd3\xae5\ +\xe46w\x88qZ\xfe\xcf2\x80\xde\x96O\xed\x06Q\ +S\x1f\xd62d\xe6\x03\x22\x91h^\xe0\xa0\x90 p\ +1@ep\xbbC\x0d\x91\x92|@\x1f\x1c\x83~\xaa\ +\xda^J\x85>\x98\xb5I\x04naC\x11\xd0\x17S\ +\x04fQ\x7f\xba!\xf6\xf1\x8e\x86\xbd)&\x98fB\ +w\x95\xa1H\xc4Y\x80\xe2\x11iO<\x1cE\xf5N\ +3Q\xbdX\xea\xf2\xb9|>\xdd\xec\x86\x98QOm\ +%\x95I\x8e]:\x9e/2m\xba/\x94\x10\x0d\x0b\ +\xa5\xf3\x1cf3\x84\xcf\xfd|\xff\x85\xfe\x0b\xc5s\xa5\ +\xe7\xae\xfd\x8b!w\xc9\x18\x8e0\x14\xeb\xbc\xee\x1f\xcc\ +\x19\xa8\xef.\x96)\x07kt\xb6!\x8c\xc7n\x86\xb8\ +\x9e\xa4\x92%\xba\xd9\xa8\x96}bIC,\xb5\x8am\ +L\x83\x1b\xf07[G\xfb\xdd\xfb=L\xac\xb0{\xad\ +\xfbo\x17\x9e\xdf\xfe#\x06\xf5C\x0f\xe3\xd8\xbd`\x08\ +?\xff\x8c!\x1c\xc3]\x8a]\x0a\xacd\xe3T9Z\ +c\xca(/\x99\xc5CM\xa2\xceD\xeaF\x8f\x06L\ +\x8d\x1a+\x1b\x9b\xfa\xfc\xf0\x0b\x83\x98k?*\xec&\ +\x1c\x17\xd9\x11&ehb\x860\x5c\xbc\xa4\x8d\xc0\xab\ +\xd6+\xdf\xcf`\x92i\xff\x8a\xed\xf3\xfe\x99\x18B\x01\ +f\x97\x98E9\xd6\xed\xdb\xed\xd7\xed[\x94\xee\xa1Y\ +\xa4\xfd0j\x09l%\x15\xff\x87\xf2>\x15\xd6\x84}\ +cF\xfa\xed\xb1\xa82\xd7\x9e\x93i\x15\xb5\xdb\xf8\x19\ +\xfd%\x05\xc3E*\xfb^\xeag\x8c\xa6\x9b\x8aZ\xe7\ +m\x0c\xb1$, 2\xc6b\xe0\xb8no\x1d\xdd\xa3\ +\xbf';\xd8\x1c\xb0\xe6zC8>\xde\xcfEp\xf7L\xb5\xefa\xd6\xcc\ +>\xcc^\xac?\xb4\x0bElU\x81`o'\x87}\ +\xa4@\x12\xa5;^b!\xbb\xc4\xed\xb9\x17\xb5>\xd1\ +V\x96\xae>\x94\x18\xe2\xb8\x8b\x1f\x0ffT\x00\x00 \ +\x00IDAT\x89\xe6\x8e6]\x08\xc8\xf8#\x02\x5c\ +\x89F\xa3\xd1\xe2\x8e\xa8\xb5\x93\xbd.\x07|\x9c\x91\xa2\ +\xc0A\xec\xca\xf5\x9f\x18\xc0H\x99r\x89\x01\x12\xf8\xf6\ +\x12\xa4+\x0d\x85C\xc9\xe7\x10\xf8\xc4n\xc6\x0ef\xbe\ +r^$\xb4\xb0\xef\xf9y\x9dX\xac\x1d\xe37\xb9\xe8\ +w\xb2\xd3\xf9\xfbJ\xc4\xd9\xfd\x16\xeck\x1cX\xfc\x96\ +\x8a)\xe0\xaf9r]\x1ck\x0a\xfcd\xe2~u\xc2\ +\x15-\xb7qCQ\xc2A\x22\xae\xd6\x9a\xc3/\x9a%\ +\xca\x9ag?\x04\xfb\x9c\xd2r\x18\x078\xfe\xecs\x5c\ +'\xe7W\x07D\x103\xac3\xfeu\xbb\xfb\x9a\xe1\xcb\ +u\xd7T\xff\xbad\xa0.\x81 \x10\xc0\xeb\x8aA0\ +\x1e7\xe2\x8f(\x82\xb5D~\xc0\x22\x11y\xe9\xa26\ +\x1d*x\x9d\x99\x7fKt\xf9\xf2D\xc3\xe1\xe7X?\ +\x10\xf5\x11\xc7\x90\x89G\x06zfW\xa9O7\x8a\x09\ +\x86CC\xc4\x0dG\x8a\xf7\xe1h\x93\x09&\x80\xc1k\ +\x1c]\xce\xaf\x9e\xe8\xb5\xca=\xed{\xc84c\xb0\xd5\ +\xe7Yg\xae\x87\x8abR\xb7\xa1 \x22\xf6\xb4n|\ +-J\x88\x8a\xbf&\x1a\xd4R\x0f\x140\xd1)\x91\xa0\ +m\xdd\xfa\xa2LM\xabj@r\xc9\xc2\xf4\x94\x10\x8e\ +eW\x87\x7f\xbf\x818#\xff\xea\x05\xa1\xee\x16@\xc0\ +\x03\xcb\x85\xf73>\x99i\x92\xc6\x8d\xd7\xf98}\xd7\ +\x06\xee\xcflZhT\xdb\xe5\x0b\xea\x8b\xa9\x9d\x8b;\ + <\x88\x8c\x0f\x7f\xcf\xf9\xb1\xe0\xf0\xfd\x8b%\xc6\x88\ +\xb7M$\xb0\xc5}%\xf2O\x00h;CAAb\ +\xc3BE\x15\xcd\x01\xfa\xdd\xb2\xd0\xf2~\x02&L\x0f\ +\xd5Fy\x0d\x18\x8e9\x141Du\x10\x07\xa4\xe6\x8f\ +\x0cD\xad\xfa\xca\xf9B\xe9\x97\xc3\xef\xa28Z\xb0q\ +\xb4]U\x9e\xb6wdJ77\x14\x0e=\x948\x18\ +\x1el\xb0\x12Mq\x86\x09%\x0c\xfc\x1d\xcf7\x99\x12\ +\x02y\x88\xea\xc8\xd0\xf1Z=\x98\x14\xd4x/\xad\x92\ +\x15\xd6\x1b\xee\x0bbyd\xf2+*8\x11\xfa\xd8\xe4\ +\xed\xf3\xe1\xf5\xad\xcd-\xcd\xadE\x06^\x0b\xa2\x8ba\ +\xf1<\x8az\xec\x99\x19\xda\xc4\xa1\xf2\xae\x9aV\x8fP\ +S\xd2\xc1\xbc\xa7v\x0e\x95a\xd5H\xfb\xfd'\x93\xa6\ +\xe7\xb9\xbd\xdd\x90\x1d\x1a\xefs\xaf\x9aR\xd3\xd87\x95\ +}\x0c\x80\xe6\xf7\x86B<\xa9\xeefA\x9bP\xdaS\ +\xe1\xd0\x89\xc9\x80\xf8\x11]\x08\x86E\x92\xe1\x1f\xbc\xc8\ +\xb6kcMq7a%\x01G\x1b\x0a-\x82\xef\x1b\ +\x0aq\x1e\x9e3=\xa7^\x93\x88J\xb1jpY7\ +\x9b>9\xaa^\xfb\x88\xa8\xa4Q\xfe\x17\xc8\x86w\xf3\ +\xf5\xe6D\x13=4\xe2f\xa4n\xee\x12\x1b\x04z\x06\ +m\xa0X\x9f\x00\x015\xb3_\x92Z\xf3\xb7\x93\xd8\x12\ +\x94_jG\xbd\xfd\x94\xb4(b\xa6\xf8\xe2\xcc<\xe8\ +\xec\xb2'\xb2\xb8!\xa2mS\xd61\x14\x0c\x0c\x02\xd2\ +\x88W*\xf3\x8e\x03\x11\xcd\xaf\x1b\xd4\xbdb-1\x1c\ +.\xc8\xf7\x9d\xb6\x95\xd1\x00x6\xab\xbe\xf7\x7f2\x84\ +\xef\xf9l\xaa\xc1\xc61%\xb0\x14fy\x0aL\xb1\x8e\ +\xd1\xb6\xef\xa7\xe9\xfe\x0e;J\xacn\xd9\xd4/\x1c\x86\ +\x06\x86a\xbb\xb4!k\x07\xb8\x08\xa2\xda\xd7\xf9>g\ +\x0c\x98o\xe89]\xbe0(X\x8f\xcd,\xbd\xbb\xd0\ +\xec\xa84<\xfa\xbb\x0d\x05#\x09\x0a\xbc\x028\xfd\xae\ +\x86\xa2\x0b\xc15\xcd\xd5&\xde\xe85\xb5\xacCz\xee\ +X\x9f\xa8\xb9G\xb5\x7f\xe2\x0aC\xb1\x1fR\xb2\xa4\xfb\ +N\xa0\x9eL\xb7\xd7\xb0*\xe0\xec\x8e\x0e\x0e>\xea\xed\ +\xea\xb7N;;j\x81\xfb\xbd\xc4\x14xHL\x81\xab\ +\xfbk\xfap\x1f\xbb\xdbS\xe6\xbe\xff\x83!\xdf\xc7\xfe\ +\xe5\x14\x18\x19&$*w\xb4\x18\x0a\xf3\xab\xef\xfb\xd7\ +\x92\xb8\xa7wK\xf8\xa3!3Y\xa2#i]\x0a\xc2\ +\xb7\xf4\x96\xe9\xbf\xd4\x10^\x9fo\x08\xd7\xff\xf3\x800\ +\x9e\xd3\x8e\x99v\xec\xb4\xb0\xaeO,0\xb1\xe0\xc4\x82\ +q\xdb\x8b\xcc\x01\x18$\x04r\xfbk\x0d\xe1\xf7\xbf7\ +H4\xf3\xaa\xecPxw\x12\xa3\x90\x1bC\xea\x9fI\ +Dt\xf8\x8f!S\xcaG\xdb\x1b\xc2\xe7]e\x08\xf3\ +\xe8>C~_\xbb\x82\xa1\xe8\xbap\xa1!\x8b\xc0:\ +3\x0f1T1\xd1\xda\xe7\x0ca\x9a\x9db\x08\xaf\xb7\ +j?\xd0~ f\xe2o\x1e\xdd\x1cE\x08\xa3Xb\ +\xbf\x89!S\xa2\xbb\x7f\x18b\x7f\xfb\xa7,p\x16\xc5\ +\x1e\xc3|\x1c})\xc0D'7\x0e\xd8$\x8b\x11\x22\ +\x96\x17K\x13\xc6cI\xd5\x86\xadQ\xf1\x9f\x0e\xf8\xbb\ +\x02vg\xcbA\xdb3\xf6\xa3\xff\x7f\x03mc\x1f\x93\ +\x9d2\xa5\xd8\xc7\xd9\x87)\xa1D\xdc\x92\xfd\x04\xfb\x19\ +\xfbSv\xac\x85cc@\x96\xb6\xac\x12\x0d\x1d^7\ +d\x11Y\x98+8\x8e\xaeE\x22\xb5T\x0f\x5c\xcdn\ +\xd5\xf5\xe1\xf8MC\x0e\x5c\xb7\xeb\xa5R\x84\xe1\xfc\xe1\ +\x82\xa8>/\xc6R\x0c\xc8\x9e\x98K9\xda\x87\x0c\x85\ +\xe6\x05\xcc!e\x8c\xbd\xfd\x1c\x8e\xb8\x1c\xed\xf6o\x86\ +\x5c\xbaB\xd7\x0ewh\xcc\x0a01\xe2\xbd\x87}\xcc\ +\x8e\x89m!w\xcb\x99\x7f\x17k%\xe1\x80\xb8\xe0v\ +\xa9\x94gl\x0b\xed\xaf{K\xd3\xe35C\xd1\xb6\x95\ +\x00z\xc5$sf\x07\x81<\xd5\xb6C\x91\xf6\xae%\ +\xb2\x83\xbc\x0d\x22\xaa\xf4\xb5\xfd\x8a\x9dK\x82\x07\x11f\ +\xecf(\xfc\x95\xb8\xaa\xefw0[`zp\xbd*\ +\x1d\xa0\xd4\x93\xf6\x84a\xd5Kv\xe6\x1c)A\x04E\ +\x1f\xfb4\xce\xe3\x1f\x14\xfb@e\x7f\xfb}\x80\x12_\ +\x89\xed\xb9C\x88_U;\xaeu-y\xedX\x93\xb8\ +\xaa\x13Y\xb56Z\x95H\x9b\xa1T\x16?\x8a@\x02\ +~\xd7d~U\xad\xc5\x86}\x8f\xff\xc8s\x99\xbb\xa3\ +\xa1\xed5\xbdf\x18\xdf7G\xd5N}\x8e\xd8\xc7,\ +\xbd.\x19\xca\x5c\x1f\x0c\x10\xd9\x87^:1S\xd5M\ +m\xb2\xc4e\x1d\x18\xe1>\xd4\x01\x03\x02\x1e\x04\x02\xf0\ +\xcb*\x06\x80?\x0fu\xdbC\xdeW358\xca~\ +\x1b\x8f\xc3\xdaj`\xe6\xac(\xe8\xf3\x16\x03\xc0\x05\xf2\ +\x0f\x07\xb1\xce\x5cc\x18\xd6\xea\xfa\xf5D\xe8+\xd1\xbc\ +\x89I\x1c\xd6\xfa\x82\xea\xc8G\xdd.\xefe}?\x03\ +\x8b\xe1B\x00\x83\xc0\x01\x996(\xed\x944T\x8e\x95\ +gRi\xf3\x86\xa1\xcd\xc4\xc7a\xa1o:\x99@\x16\ +\xfe\xb9*\xd1;&v\xa6d\xa4q\x81r\xc2\xef=\ +\xd2\xa6\xcc\xf2\xecr\xecs\x06>\xdd\xa7\xc9\xda\x1d2\ +\x11\xebZ\x97\xbe\xba\x0f\xfc\x9c\x09\x9b\xdb\x1a\xa6\xdfO\ +8\xb3a\xfa\xfb\x5cSQ\xea~\x9dD\xbc\x98p\xdc\ +\xc7<_\xd2\xb1\x16\xb3x\xa9*\xa9\xa8\x17 \xe6W\ +\xad\x92\xc9\x91\x08\x1a\x86\xe9m\x86B\x94\x90\x00\xd6\x22\ +r(\xd9\xa8T\x934\xdc\x9c\xc4q\x9a\xb5\xc4\xf4`\ +\xe1@\xed\x9e\xf1g\x9c\xea6\x228D\xa2f!\xce\ +\xe6\x94yQ\xc6\x9d\x0a\x85\xe8\x956nog\xb8\xaa\ +\xa1\x10Q\xf9\xb2\xa1\x88pk~yF\x89\x12\x11~\ +\xcf\xa7\ +D\x1e`\x08\xaf\xbf\xa66I\xcc;6VQ\xfa\xfb\ +'\x0dy\x9e6G\x18\x8a\x8c-\xa2\x82\xdc\x179>\ +8\xbe\xde\x8e\x91\xcc(\x86\x05%\x03d\xfa\xff\xa8@\ +\x84\xc6\xa7\xb9\xc2Pd\x1e\xf4<\xf4\x8b\x192\xf53\ +\xb87\x91\x0a\xda\xafa\xc8j\xe2n\xf0bX0\x9f\ +\xd1`\xa0+\x01\x19\x15j7\xef2\xe4\xccLs\x81\ +\xa1\xc8\x8c_\x9d\x1c\xbdae\xd5\xb6NK\x86.\x14\ +bg\x18\xd0\x17{\xbe\xd8/%Q\xff\xfeVdh\ +\x8c\x02\xb9^\xcc\xd4nb\x99\xda\xd8\xdf\xfa\x9bE\x80\ +D\x14p\x0clg\x16(c\xd5\xcdo\xc8\x9a\x03\xce\ +\xd4\x10\x83\x05\xaa1L\x90\xe6nC\xd1nO\x81\x11\ +7`L\x12\xeb\xdaH1\x0dPI\x841d\xee\x0c\ +\xf8]a\x90\x99!\xf8\x9b\xec G\xb3\xc42x\xb7\ +\x18\xa2\x8a\xfaiQE]b\x86\xb1\x97\xc5g\x0a\xd5\ +\xf4\x17S)Z\xbf\xbf\xa1PU>)\xad3\xb1\xad\ +\xe0\x069S>\x1a7D\xc7;R\xea=\x90\xa6\xda\ +^2\x5c^\xba\x22FA\xac4>\x5cL\x8a\xaf\xe5\ +\x00\x12%>\xfd\xdb\x0d\x0a\x10n\x165\x1d\x02\xb2\xba\ +\xbe)<\x98\xc6\x83\x97\xde|9\xc2\xdb\xe01~P\ +g\xfb\xed\x0c\xd9\x80\xc6\xb0\xa2T\xc9k\xa5\x95)\xee\ +F\x86p|\xd2P\xacS\xdcw\x05\x16\xda\xd7\x0ca\ +\x1c~i\x08\xaf{C\xae\xcdf\x7f\xa7\xc4\xcf\x1d*\ +eh\x09\x10t\xa7\xcb\x91]\xd6\x10\xce\xe7_\x86,\ +\xc2\xe7\xa2\x8a0\x04\xb6\x15E\x7f#Cv\xec\x19\x07\ +\x7f\xae>\x90\x02\xaa\xc3\xf7\xd4\x07]bk\x88\xfeE\ +G?\xab\xd2\x02\x12H$\x02\xb1\x0fQ\ +\x87\xa7\x86\x1b\xc6\xdf\xf6\x11\xdef\xb4?\xd6P\x88N\ +\x1e\x17\x1c\xec\xe3r \xc3\xf7;\xd9K\xc3\xadr\x84\ +\xb1\xdb\xb0\xf7\xf8|izx\xc9\xc2:i\x9c\xdb\xed\ +\xdam\xdbm\x8b\xdf#f*\xa6\x0f\xe3\xd3\xfc\xc7P\ +\xd8m*ap\xedn\x05\x02\xba\xad\x0dE{O\xba\ +\x05\x90Q\xaf\xed\xbc\x9a\xb9\x8c_\xa0\xc4\x87\x8bPR\ +\xc2\xa8u\xd9Ed%\xea\xeb\x89SJ\xd6\xaeI%\ +\x22.b\x8c\xf8\xb2\xd4\xff\x87O\x1br\xc9\x94wS\ +R \x09;\xd3\x03\x0e\x88<^\x96\xb4?\xdc\x9eR\ +\xe0\xd73\xe2\x9c'\xf7\x19*>\xd7[\x8b\xfa\xd1\x15\ +\xaej\xd37\x83\x88z\xed\xe8\xe3\xb7\x10\x10c\xdcH\ +\x90\xe0\x0f`\xef\xc0\x04\xa54\x83\xd7UI.\x8cR\ +g\x82\xe0\x87\xbc\xe25\xfd\xe9\xfe\xd5\x01\x80\x1c\x08H\ +~\xda<\x91\xdb\x9c\x13\xcd\xd8\xff\xb5\x03]1\x9a\xfd\ +s\xb8\xceY+\x865\xf3\x04\xff\x8cq\xa9K+\xea\ +\x00\x01\xc7\xc9\xfc\xdf\xc9\x18\x00\x9310\xaa@\xc3\xb8\ +\xf7IU\xed\xbe;\x06D ^O\x14\xa4\xe8N\x8e\ +\xf2\x85P\x1b\xe7j\xf1s\xfa\x00N\xdf>\x8e\x9f3\ +1\xb8\xb18\x02u)@U\xc3\xec\xd4v\xce\x0bC\ +\x9d\x09\xc7D\xa2/1\xef\xdfR5euD\x0b\x8a\ +4\x99^\xa8\xd1LD\x1cp\xce\x8f\x1bS\xab\xd6\xd3\ +\xa6\x8e\x89\x98'd\x8a8\xd5j\xf4j\xbf\xe7\x19P\ +\xae\x83\x8c\xe9\x02^\x9b>]\xad|\xc3\x03\xb3\xde\x0c\ +\xcc\x894\xae\xf5\x04\xab#QuD*3\x14\xa6\xcf\ +\xec\xd7Z\x04\xbc\xef\xbf\x95\x98\xc6dG\xc6\x89\xf3\xa9\ +\xd56+\x86\x81S\x8b\xb9\xafD\xec\x18\x17\xa8\xe8R\ +\xa3\xf6~\xf0\x9c7\xf7U\xf3\xc5\xe7\xa3DZ\x9c\x8a\ +\x8a*\xfeO\xa4\x12O\xfb\xb7\xe7\xb4\xe0\xdc%*\xdc\ +\xe3r\xe0t\xc4\x10\x88\x86\xd2\x0e\x05\xc5\xb1n\xd3\x81\ +\xe3\x89a\xc0uP\x9b\xa3\xcc\x92\xd7\x8cQ\xcb\xa7\xcc\ +\xad\xab\x9b+C\xe8\x1b#mc\xa0\x10\x22\xea\xc7\xc2\ +\x8a\xa3\x0f\xd5\x161A\xbd\xf6\xd2\x01\xdak\xc9\x00\xf5\ +\x00\x84(\xda>\x9fY\x90\x98_0]\xa0\xaa\xd3\xef\ +\x98\x8c3\xd4{>\x8fy\x87\xc3GM2\x99\x7f9\ +\xd6~\x7f\xa0N\xd1\xd6\x0fJ\x22\x99~\xae\x8f\x9a~\ +4:p\x90\xa0\x06\xd3oW\x99\x03/\x81\xd9X\x9a\ +\x00\x88\xcc(\xd3\xea\xb5sP)\xe9\x1f\xad\xda~\xcf\ +\xa0\xa8-\x1c\x94r\x0c((\xc4\x9eQW[\x1fo\ +\xaf\xf7yC\xc1`\x10\xb3\x81\x0d\x93\x9aL\x1ci\xab\ +\x98\xb6\x9ai\x98\x09\x04\x18\xda\xab\x0cE D\x99w\ +2>\x8c\xbfo\xe0D\xbaE\x99\xa7\x86\xd7\xa9\xabs\ +\x19r-#j\xe0c\xfb\xc7FN\xb9\xc6\x8e\xd2-\ +\xd6C2\xc4hDP\xa2A \x88\xc0\x1d\x99\x17(\ +\x91\xac\xb3r\xf0\xbd\xbf\xed\xf5IE\xdakBUJ\ +\xd2|Jm\xf7\xb4Na\xc0\x0e\xf7\x0e\xf7Eq\xae\ +\x87e\x88PBD)\x82\x1c>JsplF+\ +\x05\xac\x5ct\x17`\x9e)\xf0F\x1b7\xbe\xdf\xdb\xf6\ +Y\xa0\xe2\x1a9\xd4\x96\xe9\xf9J\x84\xcf\x0b\x1c\x1c\xda\ +\x22F\x0a\xeb\xe5Y\xfd;J\xe3=\x90\x0d<\xc6\xcb\ +\xc5\xd5\xee\x0c\xb8\xab\xc8\xb8\x8bQ\x04\xc5\xb6YE\x81\ +?\xce\x93\xc0\x0d\x01\xb3A\xcb7\x0e\xcc\xa5\x86\x98\xf9\ +\x0f\x08\xd7\xfd\x8c\xa1\x08\xccl\x9d\x0c\xd1\xe1\x00C~\ +\xfe\xa8\xb5wm\x0a\xd6'cr\xfc\xbb0\x1cq\xd4\ +\x8db\xbdsQ\x0a!\xf1K\xc4\xb0\xf8\x1cJ\x8a\xda\ +\xb9\x0cY\xe5\xbc\xd959\xf0\xfdY\x86\xa2\xd4\x06\xc6\ +\x8e\xdaU\xf6'$\x06Fsa\xca\xe8uk\x19\x8a\ +6`\xec\x9fWD8\x03\x88\xb6\xa4\xa3}\x0cEm\ +\xac\xd6\x07~N\x00\xc0\x19\x12\xdao\xc9\xf4\xd3\xe6\xb2\ +\xdb6\xb5\xbb\xeb~j\x08\xe7\xb5\x9b!\xd7\xda\x13\xd0\ +\xa0\xbd\x1d\xa5\x10\xae%p\xb3!\xff\xdc\xd5\xb5\xc9\xf0\ +\xd0\xdf\xdb\x9e_+U\xf8\xb1!\x1c\xef5\x84\xe3\xf7\ +\x0c*\x118-2t\x92&\xc0\x8a\x86p\x1c7\x14\ +\xf6\x83\xe6\xbfg\xfa\xd5\x8d\x81>\xe9\xce 8\xbe?\ +\xce\x1c4_\xc7)\x9d\xd4:\xe4%mjc\xdc.\ +d\x08\xc7\xcb\x0c\xb1\xdbJ@\x0e|\xb4\x97\x1b\xc2\xe7\ +n\xd0o\xd8\x87\xfd\xa7\x9d\xb9\x9d\xa9\x9d)R\xa9?\ +1X{\xd0\xef\x1b\x22\xb3!\x8d\x93\xa8\xcb\xcd\x97\x0c\ +\x99\x12\xdev\x0a\xd0,\xd9.\xd5.\x15\x1d\xe1\xc4x\ +\xa3T\xf7\xff\xe9\xfd\x1b\xa6}\xb0]\xceP\xa8\x8b\xc3\ +\xe8\x82R.\xd1\xe8f\xa3D\xe1\xef\x8e\x17\x83\xe0\x07\ +\xa6V\xa1\xda\xdb\xbf\x8a\xb9\xf0\xdf\xdc\xfe1je\xdc\ +\xabn\x05W\xe5L9]2`\x88\xc1\x94\x88O\xd5\ +\x81\xaa\xf9\xfeN.\xf9q\xfb\x07\xc6\x14\xed\xe0(\x05\ +Cs\xe5\x22C\xd6\xa4\xf0\xc0*\x99f\x05\x8c\xda\xbd\ +\xdb}\xda}\xe2:\x1c\x1d5\xe6A$\xa4\x9f\x9b_\ +{\x80\xd2x\x82\xc1^\xea>g(4i\x08\x98\xeb\ +\xfe\x1b\xbf\xcc\x18f\xc1&K\xaa\xff;\xa7\x12\x22\x18\ +Nv\x17\xed>z\xc9\x9cJ\xa9\x9a\xa3\x0cEm\xba\ +i\xf1\xec\x98EJ\x9d\xaa\x7f\xc2\xf0\xb5\x18\xb0 \xc1\ +\x00\x83\x00\xa6\xe3z\xd2\xe4!A\x80\x16\x8c\x02\xe0\xe1\ +)K\xe3\xbe\xba\x98\x8ctg\xd1>\x8bC\x0cC\xc0\ +\x03\x14*}r&\x22\xa5\x81\x12\xf3s\xca>\x09\x0a\ +J\xeb\x08< \x9eK`\x8b\xf5\x1f\x91a\xba%`\ +g\xd2]A\xa2\xad\xce\x18\x86q){\xd2\x03\x0a\xd8\ +K$n\x08\x80b\xe7h\xfePZ\xe1\xfe\x04v\x1a\ +\xccC\xecN>\x8f\xc4\x1d\xddH\xb4\xffc\x97\xf9\xf8\ +\xe3\xe8\xe3\x97\xe1\xb8\xd6]\xae\xf8\xfcZ\xe4\x8e#\xf6\ +\x1d~\x1d~\x04\xfe\x10v\x04\x81\x82\xaa\x16\xbeY\xd4\ +Ph\x01\xd4\x09\xbe*\xb1\xea\xcc\x09\xfc1\xce\xbb\xd6\ +\x98\xab\xff\xf1\xf3\xc9\xda\xcc\x93\xd9\x97\x18\xb0\xdf/\xfc\ +\x11\xfc\xc1\xba\x14\xbav\xfck\x06C\xed\x97\xd5\x89\xda\ +\xfa|s\xe25\xf9S\xf5\xf1\xb5I\x12\xb1\xf8\xb7u\ +\x80\x80\xd7\x8c+\xf7[~\xcc\xb8G\x06,\xceyG\ +V\x19\x8d\x86\xc9\xf6\x05\xc5\x1f\xc7@\xa2\x1e\xeeP\xf2\ + \xd7\x91\x9d:BA[\x11\x1c?2\xefd(q\ +8\x09\x18T\x8e\xbd_@]\xcb\xc0\x80d&\xc0\x1b\ +\x8b:\xd4Tw~\x8f\xa6\x00\x19F(\xd5\x88\x99M\ +\x16\xa0\x98mz\x0a\x89S\xf0\x11-\x99L\xfc\x0e\xc3\ +\x0f*)\x9a\x095U\x85\xef\xafksr\xcd\xce<\ +\xd3E\xaa&{ h\x8fC\xc6m-9\xd25\x05\ +\xa5\xee\xa7\x89\xa3\x9bkSR\x8d\xb6jW\x82\x9b\x95\ +j\xab_\xd2\xfc\xa9EC\x18'&4\x0b\x04\x91^\ +\x16F(\xe4\x88Hr\xbd\x5c?\x81\xa0\xdb\xe5x\xa1\ +\xa6\xcc\xf7\x91\xc1\xa6\xaf\xaf\x02Z\x9e\xf1\xc2`\x14\x85\ +\x11j\x12\xd0\xab\x17\ +:\xe6\x0d\x1b\x16\xeb\x15\xa26\xa2\xea\xba\x96\x04]\x04\ +x\xbe\xd9H\x08\x18\x110\xc1\xa1\xfa\x84!S\x1d\x9b\ +\x9f\x1a\x8a@\x04\xe7\x8f\xa1\xcc\xf5\xd3\xf6\x09M\x07\xee\ +;\xb5xD\xaca\x1a)\x03\x0e\xa5\xde3\x00<_\ +\xd4\x18\xde\x98\x0c\xad0\xdf\xd3x\x8bA\x82\xe3\x14\xc5\ +\xe5\xbeZ\x04b\xbf\xadZ_\x8d\xeb\xb0\x88\xa10\x8c\ +\xe8\x0aA\xbfd6Z\x1c{\x1c~\xc4\x92\xc8x\xb3\ +\x9e\xb0~\xd7\xe2\x97\xca$x\xc0D\x0e\xa5\x8b\x8b\xa9\ +/\xba\x97\xc6\xa0\x9d\xa1\xfb\xe3L\x8acS\xa6\x83\x1a\ +\xde\xb0\xc9&\x91\xa7\xc7\x140P;SWu\xa7\xbf\ +=\xeb\xaa\x9e\xbf\xf6\xc5\xf6\x856\xcc\x8b\xf1\x8d\x026\ +.\xfa\xc4\x07\xb72\xb6\x95\xb2\xeb2\x86\xcf\xc5\x01\x17\ +e\xc6\x02\x86i;[@0\x5cF\x97\x8f~0\xba\ +a\xa8?8<4<\x143\xf0q\ +\x03-4&\x92\xe3\xcf\xb8O\xab\x1cR(|d\xee\ +q\x98\xd90q\x10\xd8\xb0\xa8u\x87\xc2\x86\xfa>\xe7\ +M\x06\xbb\xaeQ\xa2\xa6\x15\x8a?\xdfC[\xcf\xdc\xa1\xae\x7f\x86!\xab\ +\xc0\xf7\x1f7\x14\xedCQ\xb1\x96V\xc8\xf0_C\xc1\ +\x9cP\x80uX\xd9\xf0\x06\xfd\x97\x11\xa9TM\xfb\xf8\ +R\x86p=\xdf2\x14b\xb4\xec\xcf\x9aW\xc3\xbc\xa9\ +\x8d\xa4S\xc3\x158CD\x8f\xf3\x0cn\xf8\xeb}\x18\ +\xa7~I\x83\x02$\x07\xe6\xda\xe3~/\x83\xa8\xda\xe7\ +\x15\x81:\xb5/\xe3y\x8f\xfbU0\xc0\xfb\xff\x06\xfc\ +'\xb7\xdd\x84\xda\x8e\x88_\x7f\x89!\xf7Qw\xb1\xbd\ +\x95\x0d9c<\x5c\x90D\xca\xfa\xfb\xfb{\xfb{\x14\ +\x90y4;.\xb1=\x9d1\x05\xec\xdfDv\xe0i\ +w\x1a\x09\xd5\xe7\xe5.5P\xee\xfb\x85\xfa\x85{\xd3\ +\x0c\xf9\x8b!\xfc\xferC\xf8\xfb\xcd\x0d\xb1\xc4\xe5\x1e\ +\xfb\xbe\xd1\x19\x01\xc1\x01j75\xe4u\x17\xc7\x16\x8a\ +4m\x02q\xec\xe3\xe36d\x86T\xbb\xa8\xa1\xe8\x1a\ +\xa1\xc4\x91;\xd0\xca\x90\xbaA\x0c\xf3\xea!\x95\xe4\xc0\ +0\xd8\xd9\x90\xdbS\x22\xce\x88xn\x7f\xb4!3\x01\ +\xfa\x93\x0d\x85F\x04j\xfc\xe6\xb0n(\xb1\xc1\xf5d\ +/\xfdY]n\x0e\xd2\xfa\xf7\x82\xd4\xfc\x8f\xce\xed\x22\ +\xfd:\x11\x7f\xa3\xb4J\xd4l\x0fHJ\xa3\xc53\xd7\ +\xb4Kc\x7f\xeb\x83\xd5\xda\x17\x1a$\xb4\xd5E+\x88\ +\xb6\xbd\xb6\xbe\x1f^0=d\x1ft\xbb\x07\xecV\x94\ +\xa2\xd0v\x90\x801\x012\x95\x5c\xc5B\xe0\xf9\xa2\xfd\ +6\xd5\xec7g\xae\xa9t\xc9\xdb\xe0\xd25G\x8c\x1c\ +\xd6)\x18\x19\xfd\xf6i\xbd\x1b>\x9a\xba\xf8\xf4\xdb\x1a\ +\x0af\x85\xda\xcaZ\xf8$\x8e\xafT\xf1q\xf0=\x91\ +B\xc9\xde\xff\x8d\x1d\x19`\xf3<\xb5\xe9\xfc\x90!k\ +\xcap\xc4n'\xe0\xe5]\x16$J;\xef\x15\ +(\xf6\xc0\x0a\x22\x7fh\x91H]~X\xcc\x90U\xec\ +y\xed\xdaf04\xc5\xecpF \xf6\xa3\xeci\xb4\ +g\xce\x16S\xbcY\x1b\xa0.\xe1\x9e\x8cY]\ +9\xea3\xfc\x9b\xec\xf7\xff\xeb\xe7\xf5\xef\xeb\x9f\xd7\x1a\ +v3&\xac\x93_[\xb5\x0f\x1c\xaf3\xd5^+]\ +\xf5\x07\x9d\xe1\x04,^2G\x91)c\x03\xe5D\x18\ +0\x06\xbc\xce\xe0S\x1b%ub\xa7.\xa3\xe6M\xad\ +v\x95\x81\x9b!#\xca\x91\xc8\xc7\xccU;\xc3\x9a\x82\ +\x91E\xe5\xa6\xaf\xd5x\xa36\x88oz\x83\x89RO\ +\xacz\x5c:\x17\xd9K\x8eI\xae\x8dO\x01\x11\xc4\xc4\ +\xf4\x80\xbbX\x1c\x0e*\x81\x93\xbaf\xa3\x0e\xa8\xc0\xa8\ +\xa0M!\xaa\xea/zF>\x8d\x1b\xf7\x81\xfbD\x00\ +\x00\x03\x8d\xc8b%j\x88\xc1\xe3\x01\x1a\x023K\xa6\ +\xee\x10lX&u\x15\x1d\xd4\xc1kYR\xc4\x8e\x8c\ +\x19\xa2x\x9c\x1f}i\xb9\x1e\xc6\x11\x87\xf5o:\xaf\ +g\x14\x09~\xa1\x0a\x04\xa1\xda\xcau\xdc)J\xd3R\ +\x0aL\xec\x956X\x9fGP\x93\x890#rG\xfb\ +\xbd\xb5\x949\xc6q\xe4}\xfc\x9c\xb6\x89\xa2\x5c\xb9\xa8\ +\x14\x8e\x18\xd7\xa3\xe7\xc5\xef\xa7\x16~o\xdf\x87#\xad\ +\x9aZw\xb8\x09\xa8h\xbe\xd3\xe7\xd6\x1dw\xbaoP\ +\x22\x00\xb3\x80\x12\x16\x16f\xd4iq\xbc\x88X\x8b\xaa\ +\xe7\xcc\x08\x19\x0c\x1e\xd1e# @C\xad\xf3\xaf\x92\ +\x16\x82\x7f\x1f\xcc\x82:B\x8f\x18\xa3\xa8\xe9\x1ep\xe1\ +\xf7\x04\xa6\x94\xa9\xf2\xe7G5\xf0\xc3:\x86bc%\ +C\x8f\xe6\x00\x1b\x0b\x7f\xc78q\x7fQ\x89\x97C\xe7\ +\x8e.\x1b\x95\xda\x0fz\x1fh\x02\x07rpa\x00x\ +\xcd\x9c\xd4\xe5}c\x91C\xe0\xed\x94\x08\x04\x10\x10d\ +<(\xb5\xf8N\xca@\x91IG}\x96\xbe\xf6\x88&\ +\xa1a\xd0\xaea(\xa8\x8d\x88=\xfd(\xd5\xb0B\xe9\ +\xed?\xa1>\xd1\x94N0/`\xca\xf0\x9cK\x9c(\ +f\xbe\xf7\xcd\x94Fg\xae\xb0\x1e\xa1\x8a\xaf\x1aN\x9f\ +\xc7\xdc7\xda*\x12\xa8\x92X\x94\xdfg\x9e\x03\x1c\x0e\ +2V\xac?\x18>\xf4m\xa6\x06\x91\xf3\xa7M\xd3\xf1\ +\x11Y\xccT\xaa\xf70\x08\x9a{\x9a{\x9b{s\xe0\ +\x8an\x14\xedj\xed\xaaV{>\xbe\xa1\xa1\xc8\xf8^\ +\x1ep\x994\x18\xfe\x123\x8f\x0bE\x15v[\xe5\x1e\ +\xcf\xed\xe3|\x1e)\xc3\xec\xea\xf2\xb4\xe9:\xdbP\x88\ +\x0c\xc2\xac\xc0\x81\x91\xf8h\x0cSl#\xa6\xc0)\x9a\ +g\x16@x\xde\xa0@P0\x94\xfa\xf7\x1ar\xa6\x80\ +\x0cx\xbbb\xc0\x0a\xe1\xfc\x9f3\x84\xe3|\x86\xa2\xa4\ +GL\x17\xef\xff\x8c\x8a\xf5\xa7R\x09Bp\xf3RW\ +\x0d\x1ca\xdaq\x8a\xf9\x13\xdb\xa1-\x11\x19.S\x87\ +\xa9\xb9V\xdf\x99\x07\x1a\x87v\x1bCVuw\xc7N\ +\xd4o\x02\xd7\x91\xfa\xbd]d\x94M\x8b\xb5\xdf\x0a \ +!J\x15\x03\x03\xab\xe7\x8c)\xd4v\xaf1\xed|\x9f\ +NL&=\x7f\xd4\xbe\xb3^\xf5\xbf4\x14\xf3v\x8a\ +\xf6\xe7/&\xf1\xc7f\xaeD\xd5l\x0e\x96\xc6\xc3\x7f\ +%V\xc7\xf70\xffN0\x84\xaf=\xdcPdLO\ +0D\xb1\xb9\x80p\xfc\x8f!\x1c\xdfl\x88\x01\xb1\xf8\ +wd\xc4=\x10\xa4}\xcd3\xdb\xcb'f\x83g \ +\xe9\xde@\xfb\xc9\xf5\x22\xc9\xd9\xff.\xb6\xf5[9\xab\ +\xea\xf7\x9b\x05l\x9a\xa9\xe0P\xb2q\xe8\xd1\x12\xe9v\ +2d\xb1J\xd6\x89\xe1\x12e\xf6\xcf\xee\xbe\xd1Y\x17\ +\x8fm\x0d\xe1\xef\xf6M\xa2\x85Q\x84\xd4^?f\x08\ +G\xfb\xd7\xe5u\xae;+ \xcc\xf3~\xa7\x80\x0fg\ +\xa6\x883V\x148\xed\xcf5\xa8\xcd\xdezYkd\ +\xb4\xb0!\x8c\xdb\xc7\xdaC[\xeb\x8a\xf0\xb4A5\xf7\ +\xafd\xe6\x00\xf3\x8b\xcf\xf5\xc0\xe6\x16\x86\x5c\x92\xe6m\ +-\xa5\x95\xd2\xbf`\x88\x81\xd66\x06ZQ\xbd\xc7N\ +!\xd3.\xd1\xb3\xfeSj\xe3\xd8\xa8\xc2\x11;V\x81\ +PJ\xbb\x5c$\x15\xaa=\xda(\x0a\xa8:\xe5\x1dG\ +\x04M!e\xc8#\xd5\xfe\xa8b~By7\xe6\xc0\ +\xea\x99\xd2\xed\x19g\xf5\xb7'c:\xccm(\x1cp\ +\xbaT,j(J\x0eY\x8f\xb1\xbfd\xef6\x07(\ +\x90\xfe\x9d\xc4\x00\xf3\x0c\xbc1\x19,\x00\xf2C\xb5W\ +T\x09Z\xbb\x85!k\x0d\xc4\xedm(J\xc4\xee4\ +\x14\xb5\xdeWFd;\x8b6\x8a\x16\xe0:\xa8`\x22\ +\xc8\xf1\xa4\xc4`\xec\xf3\x11\xb9K\x8d\xba!\xb4\xf3\x18\ +\xe2\xf5-\x12\xafo\xa9\xa8o\xef\xeb,\xe2\x87\xfd\x89\ +\xa9]\xa5\x97\x9c\xc9\x01\x1f\x9e\x95j\xfaU\xaa]W\ +\xe0\x91D\x8f\xaf\x8f\xac+\x042\xd5\x85\xa69\xb99\ +\xc5\xd6g\xf612\xfb\x04>\xfa=\x0c\xd9\xdf\xb0^\ +bMYj\xcc\xe7\xab\xbb\x8e\x8b\xd0\xa2)$F\xa9\ +\x078\xd1\x10\x12\xa5\xdfK3(\x19\x90C\xea\xf6\x0f\ +\xfb\xac\x02Xq\xf5\xde\xb1\xf8~\xf6M\x1c_\xf6q\ +\xba\x07\xf0{\x12\xb8\xd8%\x04\x08\xb4\xafz\x17\x02\x02\ +J$\xb4\xe8vA\x97\x229\xea\xbe\x7fK\x03\xc8\xfd\ +2\x12I$`j\x8d\x084\x04\x98\xc7\xfc\x5c\x09\xaa\ +\xe1g\x86\xc2\xf1g\xdei\xfd\xf1\xd2M\xba[\xf1\x1c\ +2N\xf8\x0f\x1a\x0f\xba:x \x8d\xe7\x06\xff\x15?\ +\x0e\xc7\xbd\xce\xc4\xd7\x14|\xc6\xb9\x165\x9f\x8c\xaa?\ +\xcd\xb5\xd2\xa6\xd7\xb0\xab\xb5\xecf\x14eO\x7fWk\ +\xa4M\x96\xe8\xee&\xd1p\xab\x03!\x5c'\xfe\xd5\x8c\ +b\xeb\xf18\xee\x8e-T\x92\x97\x0d\x99\xba1]\x84\ +\xa1)\x06\x12\x8a\x09\x14\xddRto\x5c\xbf\x9f\xafX\ +\x80\xb9\x00n\x1c\xff\xa8I\xc1A\xc5\xb0\xae\xfb\xb0\x93\ +\x19\x82\x8aQS,r&\x9e\x0c\xfd\x1b\xd6^x\xc4\ +\x12jN\x9d\xc1G\xa5\x15\x15p\x1c\xb5Z\xbc\xb0\xbe\ +1\x04&^\xf5\xda\x8b\xe9K \xb8\xa15\xc5\x99\x00\ +\xc7s\x1a\xc7\xac\xfe\x98(\xf7d\xe4\x11\x85\xc3!\x82\ +\xb2\x22\x86\x01\xb5\xc9\xde>\x11J\xfa\x8aZ\xc0\xd9\xc0\ +d\x80z\xed=\x13\x87\xf3\xe7\xc1\xa85\x11\x88\xdc\xf1\ +\xbd\xd6\xa5\xe0\x95\x98Q\x8a5\x81\x18V\x1e\xe8\xa0f\ +\x866*\xbc\xe6\xfcq8\x98G\x1cs7\x89D\x91\ +g\xfe\xe0\xb8\xa39A\x84r\x09\x1di\xe3&\x83\x10\ +\x03\xd83\xf2\x8c\x07\x8e>\x22\x8d,h\xbc\xa6\x1d\xe6\ +r\xca\x80\xbfW\x0e<\x7f\xc7\xf3B$\x15\x07\x97\xeb\ +\xa1v\x9d\x08>5\xe6\xa8\xe4\x13Y\xaf\x98'\x1e \ +\x115\xdf\x19\x05r\x04\x9cQ\xa0\xfe\xae\xdeF\x8d\xe7\ +\xa4\x0e q\x1f\xc9\xe0\xb2\x80r\x1f\xb5\xe0z\xa0\x07\ +\xa6\x01\xf7\x89#\xcf?\xcc\x15\xfa\x0b\xd3\xee\x07\xf5\xdb\ +\xcb#\xdc\xc0p\x07\x8b6|\xba\xae\xd8F\xc9\xday\ +\xcdn\xc8\x99I\xcf\x5cH|\xc7\x1d|\x1c!9\xaa\ +\xb4S\x22\x80@&~\xec\xea\x88\x5c\xda \x0d\x04\xd4\ +\xe5\xd1\x0e@m\xdf)p\xac\x07lD\x18\xa2t]\ +@+\x81\xeb\xdeG\x94k\x02\xb0R\xf3\xf7\x9aV~\ +\xae\xf53R\xa4\xbfQ8\xfe\x88\x01\x12\x98\xd1x`\ +\xc8D\xe6\xb9\xd5\xc0\xafm(2\x01\xcb\xa5\x1aoo\ +kC;Cj2i\x07HM\xb36z\xef\xf2p\ +\xbc2\xb1\xe7$\xc7\xc3k\xb0\x09\x5c\x10p\x92!\xe1\ +\xf3\x91\x8c\xa8\x0cc\x1c\x02\xef\x0bM\x06C\x14dT\ +\x8f\xa1\xf6\xfa\xfe \xc3\x09\xc3\xb79\xd2P\xa89\xcb\ +\xe1o\x7ff\x88\x01\xad(\xea4\xf6\xb5\xf4\x9c\x90\x09\ +lO7\x84a8.\xe0\xd8\x1c\xb8\x8a*\xdf[\xaa\ +6\xf34\x05tN\xcd\xea\xfc\xed:\x01\xeb\xca\xf19\ +2\xb7\xc1\xc3!h\xd74d&\x84k\x07@\xc1\xa5\ +o1\x19A\x95\x1e\x09@\xf0\x00\x00 \x00IDA\ +T^\xb8\xa3oOa\xd1\x05c\xd8\xc8\x90\x03\x11Q\ +u\xfd\xeaBk\xc7\x1c\x90\xa99\xe0\x1e?\xa7\xa8\xbd\ +\xf7\x8c\xf7\xf1I\xf4\xcb3\x9e{\x1b\x0a\x0d\x03=G\ +\xd4\x1e\xb7/\x1abF=\xce\xffHU>\xb40\xf4\ +\xa9\xe1~(1\xa0\xfc\xf3\xd61\xe4\xf9\xd5^d(\ +\x18{\xca\x94\x0d\x87\x18rF\x0a\xca1\x99\xc1\xc8\xec\ +\xfbC!\xa6%j\xbd\x97F\xac\x93\x98*\xfc\xde\x0d\ +o\xd6y\xf6#\x18O*\x1dr\xea\xb1J#\xbc}\ +\x9a\xc4\x17\xdd\x90\xc51\x11\x13\x10\xa6\x85I\xc1\x99\x18\ +\x1c\x22Q\xedF\x86B\xd5\x9e.\x03j\xc3\xd7\xfe\xa5\ +}\xb2}2\xd7\x06\x0f{\x18\xc2\xef\xe71\xc4n\x00\ +\x0f\xf6\xf6\xbc\x1ej(\xba\x90Pr\xa5\x00\x0b}\xec\ +\x11\xcf\x8b\xcf\xe5\xb5\xb9\x1f{\xbf\x96!\xdb]\xfdz\ +\x86\xfc\xb9\xfd\x0a\x06\x05\x0a\xacf\xfb\xb4\xd46\xb0{\ +\xaf!\xbc>\xc5\x10\xcc\x8aE\x0c\xb1\x8dg@\xf8\xfd\ +\xdf\xbb\xa7;s\xc4\x977\x84\xe3'S\x00\xb1\x7f\xa7\ +A\xf7\xd3\x18\x05\xb3\x07\xccV8,\x16\xc8:M\x0e\ +\xdd!\x85\xc3\xa9\x00Y\xff\xa6\x80`\x0f\xb4\xe7\x19\xc2\ +\xeb+\x0c\xe1\xf5\x1f\x0d\x85(\xe4\x8b\xd2>P{\xd1\ +\xd1\xa5\x86\x22\xb3J)\x884\x01\xccm7\xc7\xbdY\ +A\xda\x03\xdfn\xbf\xd3\x86\xf9\xd1~>1]\x9ai\ +\xaa-\xd7:O\x97\x1a\xc4\xf5\x10m\x0c{Q\x0c\xd4\ +3\xbe0\xa3\x9c\xe2\xac.Q\xee\xe8\x18\xef\xea@\x05\ +\xa8?#m\x91s\x94Q\xdeF\x99\xe2\x93sil\ +\xcc;\x1f\x19\x03?\x01\xb2\xbbn/\x02\x07\x04\x8c(\ +U!\xf0\x8d\xe1\x8e\x88\x9a\xe6!%\x11>.\x04\x0a\ +\xa41\x01\x93m\x86.BR\xc9'\xd0\xebmo\xc5\ +D\xf3\x84\x04\xf3\x17F\xd2\xa7\x0d\x991\x13\x99\x13\xc1\ +\x9e\xed~l\x10\xc3\xe1]Q\xeb$\x05P\xd6\x1a[\ +\xdb\xec'\xb7\xef\x9f\x8a)\x9a\xb1\xe6\x01\x93o\x8c\x01\ +\xee)\x16\xe0\x0ekn\x5cw\x9d\xc1\xa7\x12B\x02\xaa\ +..\xab\xc0\xaf\x8b\xb4\xde\x9e\x9eW\xc6\x13\x11a\x1c\ +9J\x09\xc2\x1e\x92\xec\x0fi\xee\x0c\xbb\xa7\xe71\xac\ +\x05I\xabDv\xb2\x97>\x11\x98\xdeLZ\x0b\xea\x22\ +S\xb7k\xf3Rd\x12\x1fjs\xccz\xc8\xbe\x86\x1d\ +\xe9\xa5&\xec\x0bu\xdbl\xec:DZ\xf5\x5cG\x89\ +\xc5\xcf\x15b\xe40\xec\xe4\xc8\xfb|\x81!b\xd6\xdc\ +\x0bJ\xf4\xacZtu\xaa\x12!^\xba\xac\x80\x95S\ +\xfaI\xe0`\x0f\xca\xaf\x80\xa9\xcd|q?\x84\xf7a\ +Or\x9e\x04\xeaI4\x11\x88\xaak\xde+\x91L/\ +I\xd0\xfa\xed\x81\x8c\xba\xcd\x1f\x89'\xb4\x17(UC\ +\xdb\x03\x11N\x02\x08\x04\x14\x080\xb0/\xa3a\xc4\xef\ +k\x11\xc0\xfaX'X\xeb\xd7U\x97/?\xd6m\x07\ +kG\xbev\xf8_\xfb\x1f\xe2\xe9\xf5\xb1>\x8f\xda\x7f\ +\x9c,0Pk\x05\xd4\x1ao5s@\xfb\xfc\xb8;\ +\xb45\xa5\xa1\xae\x99\xb7\xe1\xf8w\xd5\x9e\xa0\xe8[\xe8\ +\x19mS\xeb\xddU\x8e\xf2\xf0\x06\x22\x0aD\xca\xb90\ +\x1c j\x9a\xa9=F\xe5\x1cF\x02\x91.\x0c\x05&\ +*\x0b\x22\x8e%\x01\x82\xc9\xd4\x18'\xcb\xe0\xd7\x03V\ +\xb7\xb5\x9b\xac\x1b\x01\x0f0\xd4D\xc4t\xf8\xbc)U\ +\xbb\x8aZS\x80\x7f\xafi\xe2\xbc\xec\x01\x81\xe9' \ +\x19{\xae\xb7\xae\xb1g\xc2\x22*\xc2y\x12\x99\xab\xba\ +88E\x9eL2m\xf1x\xd0\x09\x08\xe9\xc1\x22C\ +\xe9\xe3K\xe6\x9a\x8dm\xe6*\x10C \x07G\x98\xcc\ +.\x8er\x9d\x91G\x03`59\xd0dpQ\xf9\x94\ +\x01\x12\x9c\xbb\xf4w+\xc8aY_j\xaf\x1f\x96\xc3\ +(J\xb7\xd7*\x110 \xa3YwO\xa8\x19\x12P\ +\x8c\x11y\xe4\xfdDl\x11y\xa1\x04\xa0n\x87\xc2\x02\ +\xc7sS\xab\xf0\xe3\x90\xb3\x00\xe2\xb0\xc9Pv\xc7\x13\ +\x07\x9e\x0c/\x01\x92\xba\xdd\x0a\x9a\x12\x94N\xd4]\x22\ +\xe8^\x81(!b\x89\xb43\x84\xb2\xaf\x8d\xcf\xdb\x06\ +\xb2\xf1\xe1\xf8\xb3 \xf1\xbccP!\xf6\x86\xb8\x10\x1b\ +\xa5(r\x9e1V\xdfo\xa7\x86\x11Q\xe69\xe1\xf9\ +\xe6z\x99G\x04^`P\xd0\xdf^b~8\xee\xee\ +P\x12\x99\x86J)\x8a\xb5\x8b\xe8QzDw\x0de\ +\xa0\xbd\x06\x10\x03\xe1\xec\x88\x9c\xe9\x86\xb9A\x9b2\x02\ +\x97\x95x\x22]C|\xfc(\xf1 3B\x0d+\x8d\ +\xa8\x11c\x92\xa1C;1\xa7\x02J5\xd8\x19\x0e'\ +F\xe4\xefe]@D\x91\xe7^\x06\x01\xb5\xd7N\x8d\ +\xc6p\xb1|\xd5\x07\x8b\xc0\x1d\x01\x146`9\xb8.\ +\xc2C\xe9\x06\x19b\x98$j7\xe6\xfb\x87j\x10\xbd\ +\xc6\x12\xb1@4\x06\x94\x11\x22\xf3\xde^i(j\xe9\ +\xe4\x186\x87(\xa3\x84\xa1c\xfc \xcb\xcc\x9e\xd5\x9c\ +\xd9\x9c\x95\xdbrE\x0d\x88\xa5\xd5\xe7\xfb\x80\x9cqi\ +/4(p\xf6^\xd5\xbe\xee\x97\x19\x19.\xc6\xf8E\ +CA\x0d\xa5\xdd\xa02\xbc\xde\xb6\xed\xb3\x86\xf0\xb93\ +%\x91\xb3vkC8\xdeo\xc8\x01,\x02\x09\xed\x13\ +\xed\x13\xd6\xe7\xda\x9ev3\xc0#\x83:\xac\x93\xed\x8e\ +\x01;(\xd0pB\xd1~\xac\x8b\xdc\xb1L\xdd?\xd2\ +\x10\xe7}\x9c\x1fP\xb7=c\x88\xfa3L0\x8dw\ +\xffmC\xbc\xbf\xa9\xab\xc4~\xc9A\x08fy\x12\xb5\ +<#\xd5\xa6\xf6\xef1\xe4y\xe3q\xfeCS&\xd7\ +\xc5Z_0\x14\x19lQ\xd0Yg\xa2\xc1n\xe2n\ +\x97\x19\xe4\x00\x1c]\x04\x90\xa1tJ\xab\x84\x12\xa8a\ +v\x054TS\x1e\xfb\xdb\x9bC\xbdM\xd2@@{\ +\x81L \xf3\x0f\x11?\x98o\xed\xc8P\x94P\xec\x9e\ +2\xa1\xed!\x86\xc2!PW\x0cW\xb7\xff\xb8!<\ +F\x7f2\x84\xe1\xbf\xcd\x10~\xffWC\x0c\xd0\xc4.\ +\x2284\xb4I\xc3\x91\x1e>\x9d\xda\x1e:\xd3\x8d\x12\ +(\xa8\xbf\x94\x16\xa9\x9b\x81\x07\x0a\xd5\x8d\x84\x0c\x18\xeb\ +X\xbf\x88!\x06\x16\x02\x8an\x07\xdb\x1b\xd4\xde\xee\x89\ +\xac\xe6\xdf_n\x08\xbf\x9ff\xc8]<\x9cj}p\ +\x12=\x8d\xab\xe6f\xea\xf3n\x22\x80\x9f3\xe8{\x1e\ +TI\xd7\xf7\x8b\x04\x97\xd6\xb1\xf6\xf8\x80\x13T\xaa\xb0\ +\x932\x88k*\x807WfJ\xb4w\x1b\x14\xe8\xb0\ +\xd7\xefJ%+\xe1\xde';\x0d\x86\x18mt\xa5\x15\ +\xd3\x9fh\x08\xc7\xa5\x0cQ;a\xf6~\xf6\xa2\xf4\xe9\ +\x99\xd4u\xa0\xb9'1\xa9\xdao\x1b\xc2\xeb{\xc5\x08\ +\x22`+\xe6\x1b\xdd\x05|?]1i\x04\xf4\xfb\x1a\ +r`\x92\xbe\xf6.\xda\x8a#\x04\x93\x05\xca7\x1a:\ +\xb6j\x96\xa5s$\xa4\xea\x9a}\xfaz\xa3\xd6\xfeV\ +C\x161& \xe8L\x22\x95,\xf8s\xbb\xbd\xa1\x08\ +hp\x1e\x0a\xd8\xf7\xd7\xf7\xd7\xf5Ids?\x13\xd9\ +\x1c\xce2\x14\xe2q\x94\x02\xe2(i\xbd\x8f\xeb\xdc\x9e\ +a\xfc\x0e\x0c8 ?\xa7n\x87i\xff\x1d\xedaP\ +`\xf0\xe1\x22p\xb4\x91\xa1\x10/T\xa6\xde\xb5\x8f\xd0\ +\x008\xbc\xf9\xb8i\xd54\xf7\x19\x0a\x91M\x1c\xe1\xf1\ +!\xed\x0f\xc1}\xb7R\x08\x17\xa55\xb7\xf0_\xd1~\ +~-\x8a12nh5\x1dd\x88\x0c\x80g\xadm\ +\xaa\xef\xaf\xeaVA\x86\xd8_\x13\x98\xc1\x1f\xc1\xc1\xc7\ +\xef\xa0= ]\x9a~n(4\x99Hhh\xff\x1f\ +66\x14\xf3\x8d\x84\x84\x18x\xde.\x19\xfb\x1a;P\ +\x8e\xb9g\xa4%&\xe8v:m79\x8f7\x1bb\ +@#}\xcf\x8d\xb2W$\xee\xea\xfb>\x01%\xecI\ +\xbe\x8f\xf3& \xaf\x84\x17\x09\x86\x19\xfa\xcc\x93\xd8\xc4\ +.@\xdc\x95R\x02\xfe\x0e{\xac\xf67p\xe8a\x88\ +\xe0/b\x07I\x04q\xb8\xc1P\xd8\xaf\xf8\x83\xec\xeb\ +\xd8\xc3\xcc\xdb\xba\x0b\x00%\x0a\x04\x22\x10\xd7e\x5c)\ +yU\xc9\xa6;\xd00=\xf9{\xfcV\xecY\xee\x03\ +G\x98\xd9\x0a\xf0\xbbF\x13\xd7\xc9\x91\xf3\x22\xd0A\x9b\ +T\x02\x19u\xd7\xb2\xfa8\x19c`\xc6Dr\x1a\x07\ +^O\x16P\x98\xecX\x7fn\xcdd\xd0s\xdf\xc6\xb7\ +\xff\xa7\xb8q\xf4\xef\xc5\x81\xa3\xe6\x9f\x13\xe2\x86C\x1d\ +\xe6\xc6\xe0hZe\xc8\xa3\xc5\xef\xd9\x18\x8d@\xf3\x8d\ +\x22\xf2\xc5\x89\xaa\xf6\xc7\x0dk\x1c\x1bMX\x1ed\xff\ +~\x1c{\x1c6\xa8.D\xa6jM\x83:\x100e\ +\xfa\x9a\xf2\x19J\x088r~D|\xea\xc8L\xdd\xee\ +\xb0\xce\xf0\xe7\xbe\x97\xe9zf\xf6~\x951\x00\xe0\x0e\ +\xd3\xdc\x95\xba?\x0f\xdc[\xaa.\x03P\xa4q\x8cy\ +\x80Y\x90\x10A\x93%g\x84O\xa3|\xfa\xc4\xc5@\ +\xc7\x81\x9cW\xe3D\xd7\x022\xe9U-\x8f/\xa0D\ +\x04q\xe8q\x14e\xc8\x07##9h[\xa7\xda]\ +Woga\xe3\xbap\xf4p\xfc\x97n\xde\x11\xfbg\ +\xd7\x19t\x8e\x04|r\x89E\x1aW\xc6c\x19e\xe0\ +\x17\xd0\x02^E\xf4\xbcO&\xf7'\x07z\xd2\xb1\xbe\ +\xffuM\x0d\x0fn%:2CI\x8b\x162\xef\x0b\ +J\xa6]\x99w\x8fh\x92\xe1C\xe4\x8b\x05\x8c\x0d\xea\ +\xe6\x88\xbc B\x8d\x82\xfa\xc4\x82\xcd\x82\xceF\x00s\ +\x82R\x01\x98\x02\x94\x22\xc0l\xc0\xf1\xadKi\xb8\xfe\ +\xccHI\x0b%\x0e;\xf3\x89\x85\x16C\x97\xf66\xaa\ +\x95\xf5\x8d\x12J\x1a\x0b,\x81\x11\x9e\x17JC\xe4\x10\ +\xd0\xfe\x8d\x1aB/\xb1\xd0\xfa\xe0\x0e?b\x8a0;\ +\xd0\xaa\xa0\x1d\xd8\xe7\x0c\x05\x95\xfbtC!\xfa\x87\x03\ +*J\x9c/\xdcP\xfdU3J\x86\xd1U\xcaE\x1d\ +o\xae4d\xb15kbe\x99\x10\xa7\xb6\x91!\xad\ +j\xac\xfb\xa9\x86L\xc1\xc6\xd0\xa7/:\x99<\xab(\ +\xb6\x9abj\xce\x11\x15\xf4\xf9S\xcfS\xd4\x8d\x95\xd1\ +\x82\x02\x8e\x9a3}\xbe\x9d\x82\xc8z0\x12sH\x99\ +`j?]%\x19\xc7\x1e*\xe6\xb7RM\xb1\x8b\xec\ +\xb0\x0f\xd4Z1d\xaeQ\xd5V\x8d\xb3\xf7\xfb\xc61\ +W\x0d)\xfd\x97\x09(\xb9\xa8\xa12aQrvf\ +\xad\x1b\xab\x14\x99\xf0\xcd\x026\xcd\xeb\x00b\x89\xfe\x1c\ +\x90)4j\xa3i-\xdc`(D\xee>\x90\xfa\x8c\ +C\x11\xb7U\xc8\xd6!oK\xf8mC\xee\x97\xee\x8c\ +\x12\xbd\xa6\xdd\x1d\x14\xc9\xf6L\x83J\x8b\x96M?7\ +5s2\xa5\xedO\x0c\xeaW}\xa1JB\xac\xff\xf6\ +u\x06\xd5\xca\xfe\xb0\xd0\xb0\xe19\x223B@\x87\xfb\ +\xa96\x86Pu\x11\xd7u\x0a\xa5\xf6]\xba[x\x89\ +\x95J\xa2\xbc\xb6\x1d\x87C\x06\xb9\xcf#9\xd8\x88\xb3\ +E\xea\xf7\xbaE)\xc7R\xe9\xf9\xa5\x1b\x01\xebW,\ +\x91\xd8#\x07\x1a\xdd\x01\x92X\x96\xf7-W\x0d6\xed\ +\xe1&\x0e\x98\xd8\x7fb\xffp<\xd8\x10\x8e?\x9b\xb8\ +q\xe2F\x89\xe2Y\x0d\xfb\xbf\x0da9\xde\xdb\x10^\ +\x9fm\xc8T\xf2\x81\xc0#L$\xbe\x8f\xf6vjw\ +\xd8\xfe\xc9\x90\x1d\xca(Y\xd0\x14\x81\x9d\xf7\x19R\x00\ +\xa7}\x22\xb6\xa1\x0bP_\xf9/e\xc6\x88gze\ +\x00\xf6\xb7\x18\xf2\xf9zm\xb9\x02-\x91\xb1\xb1o.\ +5b~\xb57\x1a2\xc5\x98\xe7\xd4\xcd\x91Y\x0d\xe1\ +\xd8\x19\xc2q~C8^c\x08\xc7\xab\x0d\xb1\x8bA\ +R'\xd7\xfe\xea\xa5hZ\xe7\xdbs\x0c\xf9:\xc6\xb7\ +3\xa8\x04i\xf5\xaceB\xd7\x86\xd7?i\x08\xdb\xc3\ +\x02\x01\xc1\xfe\xe8\xae\x0d\xb8F\x81\xb6\x03\x8b\xc0\xc3!\ +\x86p\xbf6\x08\x08\xf3q\xe2\xd1\x80\xb0\xceM\xbba\ +\xda\xf5\xd3\xc2\xe7L\xbbo\xda\xbd\xd3\x82]8m5\ +Cx\xff\x92\x86\x82\xba}\xbb\xf6C\x05Ba\x80\xf5\ +\x8f\x1b\xe2\xfa\xb8K\xbfK\xf8\xbb9\xbb9\xba`\xcf\ +uo2\x84\x9f\x7f\xc1\x90\xcf\xb7\x9b\xa9\x9b\xd2\x05\xbb\ +\xae\xbb\xc1\x10>g\xe6T{O\xe9\x1e\x14\xf28/\ +\x9f(4\x05`\xd6\xc1\x08\xc5\xc0\xd7\xf3\xe2mj\xef\ +0\x84\xe3\x84!\xff]l\xdb\xfa\x8b\x1c\xb8\x87I\x81\ +\xc3\x8ax%%@\xdcG\x1c\xcb~6C\xd1\xfdA\ +Z\x12\x91\x19\x12\xec\xb9~+C\x0c\x04_d\x81`\ +D }\x9d\xdcP5\xf3t\x99`]\xa6-\xecN\ +\x86\xbc\xefz\xe6\xfd\xbb\x86\xac\x81\xe2mL\xc5$k\ +\xcf2\x84\xf9r\xb7!\xbc~\xd9\x90\x19OP\xf0\xfb\ +\xa7\x0c\xd2\x16\xd8=\x1c?o\x08\xc7k4_\x10%\ +\x0c\xee_\xd4V\xf8c\xff\xa7\xfeO1\xb0\xb0\xb1\x05\ +\x16\xfai\xfdD\x14\xd141\xc6#\xd4\xa5\xe1\x07q\ +\xbfK%6\x94x<\x95\xd6\x11\x0f\x80\xdd\xab\xe7\x8c\ +\xfb\xfa\x92J\xb2p\x84\xe9\x82B\xe0\x07\x916\xec2\ +\x12\x0c$\x86HD*\xe0\xe0]f\xd8W\x14\xd0$\ +!fJ\x06Q\xcb@\xeb\xa3w\x07`\xdca\x0a\x92\ +\x80\xc2\x01e\xbdV\xe0\x88\x92=J7\x87\x83\x92\xd6\ +\x11\x81\x16S80\x8d\x03\xb7\xd7\xb0\x93\xf9\x1e\xe6/\ +\xa5,uW\xb2\xcc\x94\x9d\xbe\xbb\x0f\x81,\xfc\x0c\x8e\ +\xb5\xd6\x19\xccG\x18\xd1$0\xf9\x1c>\x17\x06-\xcc\ +-^\xe3\xa7p\xde\xd8i\x94X\xe0\x8fp>\xf8u\ +\xecW\xf8o\xf8U$Da\x00`?\xe3\xb0\xd7m\ +\x0c\xf5\x1a\x91g\x0f8\xd4\x81\x00\x18\xb4\x1c-,\xf5\ +l\xf1}\xf8\x7f\xbc\x9f\xbf\xafE\xeak1\xf5\xdc\xee\ +\xfd\x8dK\x09\xfe\x17\x85\x1f;\xaf.M\xe0s\xeb\x80\ +\x01G\xce\xa3\xee\x0aP\x95\x22\x8c\xc7\x88\xd9\x0a\x8a\x84\ +\x95\x8e9\x13\x08\xea?'X\x0f\x80\x99\xf5\xcf\xe8\xf7\ +}\xacI\x0b(\x0c\xc3%U\xebc\x86\xd6\xf12\xdc\ +\xd7.D4\xa0\x08\x13\x11B\x5c\xa2\xd6\x12\xe0\x01b\ + \xab\xbe\x92\xeeh\xae&q\x8cz\x22s\xfe\x0cL\ +\x9dY\xe7\xa8\x07\x86\x1aO\xa7:\xe3\x18s\xfd/V\ +\x0e\xe0\xcb\x15\xc5d\xb2\xb6\x0c\x88\xf4q>YD\x83\ +6\x83\xc9\x91E4M\x11O\xcf\xac\xf2\x80\xb1a\x89\ +\xd2\xd3\xf0 \xce\xed\x0c\x81t\xdd\x04\x08\xf8{\xc4\xdb\ +VU\xe6\x1f\x87\x91\x0c+\xf7\x85\x9ao\x16\x16\x1c\xf1\ +\xeas<\xf0\xc0\xf9@M[S\x94r\xa8\xc5\x18\xe6\ +u{D\x16\x12\x8eKj\x1eP{\x0eu\x7f\x09\xbd\ +\x1f\xa6\xc1d\xd4\x196@\x1cP\x16\x042\x91P\xf6\ +\xa5.>\xe9\xfd\xa2\x84\xa3R#\xf5\x07\x92yE\xc0\ +\x89\x0d\x85\x85\x80\xf9\x84\x03\x0f\xc5\x0c\xed\x04\xf5\x0d\xae\ +K0\x9cB\xad\x8d\x88\xc0\x8bg\xae\x11\xaf\xab\xc7\x8f\ +\xeb~\xa9\xd2~\xa8K \xb8_\x04r8\xc2\xb8A\ +\x83\x80\xfb\x8cA\x84V\x04\x0b.\xf3\x96\xf1\xd1\xf3\xe8\ +\xa2\xa0\xa7\xa4\x9a;\x0f\x10\xa1\x85\xc0\xf7(c\x0f\xf3\ +\xa3y\xcd\x903v\xceTP\xe6\xccE\xfd(\x01\xa0\ +?\xba(\xa6\xd4\x86\xfb\xba\x85\x16\x00\x1b;\xa2Ej\ +\xf3\xe2\xd44\xe6\x0d\xe3&q%/\xd5`\xdda=\ +R\x06\xb6\xf9\x8d\xa1`\xfc\x90A\x87\x19C{@6\ +\xfc\x91!;\xf4P\xf3\xfb)\x86\xac\x1e\xee\x81\x0f6\ +n\x02\x9c\xfc\xe3>H\xed\xd87\x06\xe6\x01\xf3\x8e\x0d\ +\x90\x0d\x9b\xee\x04P\xe4\x10\xcd\x9c9r\x7f\xdc\xf1 \ +#\xee\x01\x5c6p\x02x\x88\x85\xd2F\x91\xf5C\xb5\ +\x90Q\xb3~\xcf<\xdf\x9a]\x0c\x99\xe2O`p\xd8\ +\xd1P\x9c\x87\x98\x181\xf3x|<\x8fXR1\xda\ +\xd7\x10\x8e\xb7\x07\xdc\x11?\xe7\x09\xcb\xa0\xd2\xb6\xaf=\ +\xcaPhz`\xe8\x92)z%\xe0e\x05\x98\x1e\xcf\ +\xed\xc1\xe2(\xfd-\x8a1F\x91\xb2fE\xddG\x02\ +g\xf4\xf9\xa6\xcd\xdc\xef\x0d90\x02c\x80>\xcd^\ +\x1b\xac\x1a^\x17%\xc3!\xbb\xd0\xa0\x00\xc4\x9bs\xdf\ +\xea\xd84o\x9f\x22\x90N\xc9\x94\xc4C\xbd\x14\xe1\xc8\ +T\xb3myg\xcb\x80\xb1\x89f\x0c\xa50\ +\xd8\xe7\xf8M\x9c'\xf6\x0cG\xaeC\xfb\xbek\x1f\xc0\ + %1%?\x8e\xc0\xba\xcf;\x1c}\x18\x178\xfa\ +\x9c\x9f\xbe\x07\xe6\xb73E\x09P\xd4\xdar\xfc\xc3\xb1\ +\xc7n\x91\xfd\xef\x81\x9f\xba\x04\x16f\x00\x89\xa9\xda\xa1\ +\x7f!\x95`\xd4%#\xce\x8c\xa3\xc4\x01\xfb\x1e;\x99\ +\xcf\x99$@0\xbcb(\xfe\xae\xa6\xf4cg\xe2_\ +L&6Xk\x18\xb0\xf1b\x0f\xd6\xcc\xe3I\x12\x97\ +\xe3\xb1\xd6em-|W\xc4~\xac];\x91k\xee\ +\xa0^s\xe2\xde'Q\x0bb\xbc\xecg\xb5\xf0\xad]\ +8Z6\xbdW\x12\xa5\xffK\xc5\xc4d\x02\xf1\x1a\xaa\ +\xc6K\x95\xb8\x1b\x8e\x18\x13\x92\x9ak\xfee\x95v\xda\ +\xa3M/\xde\xc7@p\x03\xc8\x941!j\x8a8\x81\ +\x05>\x97.\x078\x22\x9a\xc8Naya\x06\xd1>\ +\x98\x01\xd3\xd7\x9e\xd4\xd4\x0c\xce\xb7v`\xff\xeb\x91\x19\ +\xde\x87\xe3\x99\xcek\xac\x8a\x10q\xbe\xca\xd4\x8c\xb5\xa2\ +\xd0\x93\x11_^\x86\xfb\xf2\x8a\xc4Q\x8b\xbe\xa4\xa1P\ +\x11\xe5A\xa7\xff\xaf2dd\xf8\xfdz\xa1\x92\xcb!\ +\xa0\xed\x94\x1b\xfe,\xc0\xafWm\xe0\xb8\xdf\x04.\xc8\ +\xd8\xc14\xa1\x14\x80\x85\xe0-3\x1c\xd3\x83\xcf|\xa1\ ++@\xa6\x0a\xc5\x8cf\xd8\xfe\x13\xe5\x0b\x87\x93L\xb9\ +\xfe\xde\xdb\xd5\xa1\xa5P\xb7\xab\xac#t\xfd$\xd4\x9d\ +:\x03\x9b\x99\x09\xd33\x05\xea\x9a\xa3\x9a\xca\xc3\xdfs\ +\x1e,\xb0\x8c7\xef\xc3\x01eA\x83\x9aL\xbfX\x22\ +\xd3\xfc\x9cR\x1a6,(\xf4|\x1e\x1b\x05\xe3M\x1b\ +K2\x8fh\x0f\xf0w|\x0e\x01\xb0\xbad\x82\xf7\x91\ +1\x81\xaa\x8e\xa3\xc9\xfdc\x83\xc1AG\xa5\x96~\xc2\ +\xea\xb7\xee\xea\xf9\xbb\xa5\xbe\xe1\xd4\xce9\xe5\x5cm\x09\ +=2\xcf\x06\xa9\xdaL\x17?T\xc6\xd6E\xfb`\x5c\ +\xe0\x98\xf3\xfc\xd3\x8e\x10\x87\x1f\xaa2%)8\xfc\xd4\ +\x8c\xa3\xfe/\x87\xcb\x1d\xb4\xa3\x22\xbc=\x1e\x19u\xff\ +=5\xc2:\xe2\x08x\x9fwQ\x0e\x11\xe7\xf2R\x10\ +\x0c\x056\x0c\x98\x06P\xf4\xf9=\x01(6B\xcd\x0b\ +\xd7\x00 \xf0\xc3\xfc\xe4\x1f\xcf'*\xc7\xb4\xf7C4\ +R\x8c\x07\xe6\xf1\xb0\xab\xa1\x08\xe4(\x93\xf4\xff\x09;\ +\x13p]\xc7\xb2\xfd\xaf\xe7y\x97!\x193%dH\ +(3\xf5Q\x88d\xaa\xc8\xf0\x99\x87\x0a\x89\xd4\xa7\x0c\ +Q\x19R\xc8\x98\x22D\x86\x06\x99\xbeJ\xc6\xf0Q\x84\ +\xc8\x9025\x19\x922\xa7\xbdml\xd3~\x9f\xf7\x7f\ +_\xf7s\xfe\xae\xfb^\xd7\xb6\xfe\xed\xeb8\xf6s\xac\ +\xb5\xde\xe1\x19\xee\xe1\x1a\xce\xeb<\xfd\xf9okV\xe6\ +\xbb\x93[\xa1\xab\x8b~1\xf2N\x92\xf5s\xf2\xbf\xe3\ +\xfb\xe7\xd1\x8c\xcc2\x0b\xfe\xfb\x0dR\x9cv\xbb\x9c?\ +i/4\xab\xb8\x1d\x18\x0f 3\x80\x5c\x1b\xe2\xe0\xf0\ +\xaa\xc2\xae\xf5\x06\xee\x0489\xac#;;\x84$\x92\ +a\x9bF\xae\x8d\xd6%\x90kT\x96\xa4\x02@\xe5'\ +\x93\x9b=W\x91\xf4i\x1e\xb6\x0f$\xfbc&IK\ +\x96\x8e'\x9aU\xf7\xc1\x18\x18v\x91\xee\xb4\xb5|\x5c\ +\x9c\xec\x22\xb1K[\xa0w\xa4Y\xe1\x8e\xf0y\xa4q\ +\x8d\x9a\x03r\x8c\xeeh@\x8av\x8eY\xfa\xde\x8b\xcd\ +rE-\xcb}5W\x99\x15D\x83Wh\x04}v\ +r3\x1cS\xadC\xdd\x8f\xba\x1fvi\xdc\xb7G\x99\ +\x95@1\x7f\xeb4\xcd\xd3\xcf+\x91yKE\x9e'\ +\xf5\x10\x10\x00\xce\x9a\xaf\x84\xa8\xf7\x00\x0bR\x0bB\xc3\ +\x1d\xb5\xcd\xa52@\x8f3\x8e\x98 \xd4@\xc3\xdb\x03\ +\xda\xfd\xdb\xfd+\x12>\xd6mZ\xf5\x14p\xcc\xd8\xd4\ +,\xcd\xc3if\xe9|^4+\xac\xfb\xddqfU\ +\xe2\x82\x8a\xf3J}O\xbes)(\xa0\xe8\xce6\xab\ +\x0a;\x96h9\xb5B\xfa\x18\x02 \xdd\xcf\xee\x97f\ +\xe9{N\x1e\x9e2<\xa5\x22\xb7T\x02\x00\xb6l_\ +\x97\x98\xd7\x1fSb\x12\x7fIr\x99\x04\x04\xed\xb4\x9a\xedg\x96U\x1e\x92eD\xc1\ +\xd9\xa3\xea~4757\x9b:\x84_\xd7\xdd\xe9\xbe\ +\xde\x9d\xfe~\xa2Y\x1a\x1f;\x9ae\x95\x8c~>\xcf\ +\x92A\xff\xf6\x9cz2\xb9\xff\xd6\xbe\xb0_\xdfC\xef\ +\xea\x0d\x8b\x88\xad\xff\x8fj={J\x89\x1c\xfcv%\ +\xd4\x5c\xa6\x90\x04\x11\xe4\xac\xe7\x9aU\xfe\x00\xfe\xb1\xfc\ +Z\x90\x18\xbe\xbf\x92\xb8\xe1\xf3A\x0cP\xb1f\x7f\x04\ +\x91\x03\xe2\x89\xd6dZ\x0aY\x87)t\xea<]\xbe\ +T\x1c8.\xd7x\x85Y\xe1\xaa\xf0\xf1\x0e\xe7\x03r\ +\x82\xc4O\xa8\xf8\x90@\x10\xf2\xceY\xfeE6\xec\x05\ +\x01\xd6I\xe2(\x12{\xc8\xf0\xe1/\x10PR\xc0\xc1\ +og\x1c\xe27\xc8O\xf6\x82.\xfe)\x054\xfc>\ +\xf9y\x9e\xc0\x82{\x00\xff\x10\x7f/\x92Y\xf2w\x0a\ +\x97 \x13\xb9\x1e\xfcF\x0a\x0f\xb1\xd5\x9b\x9f92?\ +\xf49\x8c\xf7\x99\x02~\xd6O\xfc)\x0a\x1a\xc4\xb3 \ +o\x89\xebb\xa5=\x22\xc2#2<\x90\xb4\xcf\x94\x10\ +`=+\x85\xe4\x89\xf1\x22\xdf\xf7\x9fz\xf8c\x22 \ +\x92\xd8\xf39\xc4\xb3|\x1e\xe3\x9b\x04\x80\x93\xa9\x1c\x9f\ +\xcc\xd8r\xff\x99\xec\xf1B\xea\x02\xa41\x87)\x0b\x95\ +\xdeC\xef\x1dU%\x18\x99\x89,\x9b\xb5\xa9~\xbfz\ +\xd5\xbbmy\xaeS\xab\x00\x0a\x15\x00\xa0\xad\xb5\xce\xe2\ +\xdc\xaa\xbc/Z\xf58j`\xf9\xc6\x18\xf5\xe6G\xa1\ +7\x85\x81D\xe0\xc3\x03 C\xc5\x83\xa7G\x99\xc0)\ +\xb2j\xeb\x86\x8d\xb4\xd0\xa7\xcdv\x22+?\x0f\xae\xf4\ +\xc2OT\x0f\xe0A\xbd:1\x11\xe0\x9c\x01T\x82\x0b\ +\xc7\xc0DH\xc7\x8b\x81\xb4\xa2\x0c\xb0\x89r\x82\x0cL\ +\xfe\x8e|]\xec\xc9\x8f\xad\x06\xfc\x1c3j\x9cwl\ +\x1d(\x81x\xff{\xce\x93\xc0#B\xd6I\x1cD=\ +\xca8\xc0\xf9\xb9\x04\xbe\xfd\xc6\xfa\xa0\x10!o\xd5\xc2\ +\x01\xa7BT\x05`B\xf1\xfc\xd9\x98yN|.\x13\ +&.\x84s\xe8X\xe4\x1c'rF\xc4\xc4\x0b\xf7\x9d\ +\xcfg|E\x1dS\xde\xc7F\x11\x03a\xee'\x5c\x07\ +\xc8i\x22wC\xcb\x04\xec\xd2 BH\xa8\x80t\xd0\ +u S\xe5\x95\x12 \xfcp\x17\x908`\xbcF\xf9\ +\x10\x16jZ>h\xf5\x00A\x00d\x8e\x0c0\xac\xea\ +\xb0\xd2\xabW\x9e\xde:6>\x7f\xbe\x8c\x0fX\x97\xb5\ +\xc1\xba\xc3\xce\xc2\x0f\x99\x16\xa4B\xb0\xdb\x8b\xd5\xd8\xc9\ +\xe3 \xf5Sf\xd9\xd9\xfea\xe3\x87,L\x8e\x10$\ +>\x04\xd8\xd6\xe9k\xbd\xbe\xfe\xdc\xb6\xee\x11,\xce&\ +\xac\xcao\xae$\xbfT*\xff\xae.!\xc7\x0d\x07\x1c\ +H;\x89\x04O,\x88\x03\xc0\x03\x0cA{\xdd\xe1\x17\ +b\xc2\x03\x1b\x91D9w\x02\x15S\xa0\xe1\xac\x07\x8c\ +g\x12\x8b\xb0\xfe^dV \xf9.\xeb(\xb96\xce\ +\xd3\x03\xf6\xd5\xd4\xb3\x08\xb9\x9d\x9e\xab\xf7b>cV\ +%\x0aIP \xefC\x82J\x8e\x9d; J\x08y\ +\xcf\xa7\xd8\xb8\xdb\xa9f\xe9\xf47\x1cl4H\xfb\xcf\ +\xe0\x80\xc1\x81\x83\x03s\x8f\xf0\x19\xd6#\x9c\x13.w\ +d\xb2\xb6\xf5\x8c\xac\xad\xbd\xc6,\xfd~\xaaYAx\ +\xb8\xbc\xe3\xb7\xfaJr\xeeIO\xe7\xdd\xde\x9e\xec\xb7\ +\xe9x\xabY\xfa\xfd\x13fU\xcf0\x08# \xbe \ +\x08H\x141\xaf\xa8\x10\xf0\x9c\xaeIvu\xd5\xfa\x81\ +#\x06\xa9\x94UD\xd6\xabHHqtV\xcbJ\xde\ +=\xa9\xe4P\xea*\x8b\xeb{\x1e-\xac\xd4y\x9cM\ +\xaf\xc6\x0f=\xd4S\xfb^\xfc\xe6h\xb3R\x81r\x96\ +i\x91l9\xc9\x93*\xaa\x9e8c\xbd\xa7%\xe8j\ +\xb1`\xc3\x0a.\xb9\xbd\xcc\xf2\xbfMi\x85\xf0\xfb\xa0\ +\x16\x19\xde\xefl\xe7pD\x1c\x92\xec\xd0Jv\xd2\xdc\ +\xc2?I\x8eka\xe9\xd2o\x5c\xd6\xff\xe6WfE\ +\x0d\x01y+\xd43\x5c-A\xac\xf2\x83#\xcc\xd2\xf3\ +\xfci\xfb\x93\xf6'\xf9\xb9\xfe\xd6\x9e/-I\xbc\x7f\ +x\xaeY\xfa\x9co\xf4\x15|\xc8!\x87\xf3\x99U\xeb\ +\xb5\xd6W\xa0\xd93^7K\xaf\xdb\xc0,\x07\xbc\xcf\ +Z\xc0;c\x17\xb3\x9c(x~\xf8|\xc5\xce/\xf2\ +B\xc8\xf9r\x02\xf6\xbeBr\xd9-m\x96\xde\xb7\x5c\ +\xb2\xe40\x0f\x176K\xbf?\xc2,\x1d/2+$\ +\x8c@\xb5\xbb\x85\xcdJ\x8fw\x0ax{28Z\xf2\ +\xa4\xb2\xd2~\xd7\xac q\x084QU\x18leV\ +A\xd1\xd73+\xe4\x9d\x04\xce\xed(\xd9\x98\xe6\xc5\xf7\ +\x04]\xde\xb3$\xc0\x86G\x99\x15\xf2\xc0\x19G\x99\xa5\ +\xf7e\xb6\xd2t\xdc\xc3L\x5c\x0eoV\xcb\xc9\xb6U\ +\x0f5\xb2\xb1Z\x97\xfcg\xf3\xae\xe6.\xaa\x17.\xeb\ +(.\x16G\xacX%t\x86Z\x03\x8e\xa8\x12\xc7\x96\ +\xe0;\x22\xb7>$\xab\x12\x94\x0aHs\xfd\x7f_\x91\ +\x88U\xac\xeb\xb4`x+\x91*\xd7\x04v\xb4 \x8c\ +\xa6\x9b\x95\x84\x82\xf7\xf0s^\xc8B\xaa0\xe6\xf2s\ +p\xae(@\xf5\xc2\x8bd.\x1d\xd9B@\x0a\xb7\x0c\ +\x81\x1e~\xd4[\xb2\x00_\xe1\xea!@\xa5U\xed\x00\ +\xa9\x80\x90p!\x907\xce\x86\x9d\x0aYcV\x95\xd8\ +\xbc$\xb2s\xc3\x9e!S.Kvy\xf1\xab3\x22\ +b\xa1*\xf1\xb1S\x1aW;U\x89\x02\xad/\xed\x0d\ +f\x19\x89\x97\xb96\x9a\xd5\x9b5\x9aJU\x04\xb2L\ +\x0a=\xb4,\xa4\xdd\x22\xc7\x19\xcd\xbc\xcd<\xcd\x10\x1b\xf8W\xf8\x85T\xa6I\xb0\xa0\xa6\x02\xe9\ +\x1f\x95v\xc8F!\xdd\xd5\xf3\xf5\x849\x15q%\x96\ +\xf2\xdd\xb6\x04\xeb\x0f\xd2j\xfe\x83J]\x81\x842\x08\ +1\x0a\xad\x90Y\x92\x00\xa0\xe7\x9d\x16K!T\x9c\xd3\ +HH\x9fL~{r%\x9b,\xff\xc1[K\xaf\xcc\ +V>\x0fv}\xf6;\xe22\xb8\xae\xa6\x9aU-\xdc\ +\xf8\xcb\xb1\x22=\x1e8\xce\x22\xd7\x19qCP\x9bs\ +\xd5\xb9y4\x1e\x84|\x9dTu\x8d\xef\x89\x057\xfc\ +\x1e\xfcW^\x8f\x9f\x1e[P)0\x13\x07\x96\xd6\xda\ +>1\xc4\xcf\xcf\xe8\xf5EU\xad\xf7\x0f\x89;b\x22\ + V\xd8\xe31&\x0c\xe2\x91\xcf\x8b-\xe5\x81\xf5\xdf\ +\x91!\xc49Q\x15 \xca\xca\xf3\x1cbk\x80\xbew\ +\xbc\xfdk\xb2\x07\xab\xdeU\xcbD\x9d^U\xc0YP\ +mz,ZX\xfe\xb3N\xe7F\xd5\x82\x0fT\xfc\xac\ +\xcc\xdf\x5c\xc8;`\xff|>\xd7\xcc\x0b\x0b\xa8\xc8B\ +\xdca\xe0\x01w\xb9\xf6\xda/D\x17*C\xb4tE\ +\xd6$H\x88\xebV\xcb!eAN\x83\xac'E\xa3\ +b\x0f\xb4$\x90\xaeyF\x0b\x07\x8d@\x15\x08(\xef\ +\x83d\x8d\x0c\xd9\xaa\x1a\xa0\xf3\x85\x1ez\x02'&\x06\ +\x03\x8d\xc0\x9b\xc0\x86\x07KE\x7f\xb2^\x8e\x17g\x1a\ +h\xfd@*,\x95SkR\xc6\x99\xd4\x02\xc8H\x93\ +q\x02\xa1\xc0\xe7G\x92\x08\x8e1 \x0f=\xee$V\ +F\x7f\x91\x9a\xc0\xda\xaa\xb8\xc7\x05Td\x1a\x9eX!\ +\x03\xa7\x8d\xc1I\xef\xd6\x11\x99\xde?5\xf1\x1e\xd1}\ +\x9cC\x90\xf2\xfb\xfb\xde`\xef\xf5fA\x89\x13'N\ +\xa0\x98I#\xc1\x81#\x0c4\x8a\xe7&HX3\x87\ +z\x9dh\x9d`\x02\xc5V\x13\xc6;\x130\x9eO\x9c\ +\xc0LL*\xf0a!\xf4D\x0c\xe3\x84\x0c+\x81\xb6\ +\xa0\xd4N\x02C\xe6t22C\xc6\x1d\x0bj\x84\x14\ +E\x19\x11\xfe^8\x22\xfa\xfb\xc4\xf9-<\xb15\xc5\ +\xef\x1f\x0b/PV\x02\x0e6\x0e\xc8e\xa4\x07L \ +\xef\x0b#\xf3\x05\xf9.\xcd?\xc8\xba\xa8\x04\xd3\xdb\xeb\ +\xb2~\x22\x93B.\xca\x03R*\xc2\xb0\xd8#\xd7\xc3\ +\xba\xa3\xcc\xbbC\x14E\x06\xe5\xac\xfa\xdco\x02~*\ +\xff|\x8f\xe9\xa0?^*9l\xf8\x04\xea\x04\x94\xf4\ +\xf4\x03\xfd\xef\x0e4K\xc7\xcf\x9a\x95\xfb\xde\xfc\xd8\xac\ +\xe8\xe1z\xc2\x83\xfb\xcc<\xa6\xb2\x8b\xc3\xca8\xe7\xf9\ +\x11\x98\xefhV\xa0}N\xba\x86^;\x09B\xd6C\ +!\x03\x1c\xaa:\xa3_\x07\x1cz+\xce\x04\x02T'\ +\x09\xfcl\xdf\xab\xe8\x1b9\xf2ZT<\xb4^C\xf2\ +\x87\x9c\x1c\x10\xef\xc1c\x83\x7f\x0c\xd2|\x1f,3x\ +\xe7\xe0\x9d\x19\x22\xff\xfd\xe6\xfb\xa5\xf2M\x0bR{\x97\ +Y5\xde\xe8\x89gc?\xa8\xaf\x0c\xe6\xe7\xfd\xb6R\ +\xf1\xf0D\x0d\x90z]7l\xf5\x8e\xf4PO\xabs\ +\x04\x08*\xeb\xcf{+\xb3\x02)\xa7\xa7>\x93n\x9d\ +T\x12\x12\xed&f\x22\xfb\xab\x1d)H\xfd\xc4\xa1@\ +\xcfr\xfbm\xb3\xc2:N\xc2rtB\xb2\x13+u\ +\x07\xe6\xcd\xadr\xd4\xa8h\x08\xea\xe8Po*0J\ +\xe0\x00\xd1f? 1\x90\xc2\xe2\x9c@ \x01b\x1c\ +\xd9\x99%[\x95M\x12\x1d\xec\xfb\xed\xd3f\xe9\xf8\x82\ +Y\xc5\xd1\x012\xc7\x02\x9a\x07K\x82\x89\x84\x1b\xfa\xde\ +\x90\x9ee\xf6q#;\xdb+\xd9\xa7E\xea\x97\xfc\x03\ +S\x95\xb7\x8ac\xb7Y\xb2\xcdE\x1ah\x15\xf1s\x93\ +}\xbf\xa8gd.\x81\x7f\x94\xc0w\xb0\xd3`\xe7\x81\ +\xad\x87\x9f\xce6\xd6\xbclVZ\x00\x1d\x09\xa6\xf5\x00\ +R\xbe\xe1\xb2f\xa55\xa2;\xd3\xac\xc8\xe4yo\xef\ +\x1d\xdd\x9d\xdd\x9d\xb9\xe2\x9f\xac\xaa\x1c\xdflV\x90\x81\ +\xc8\xfc\xb9\x1f\x03\x82\x0a\x87\xdb\x18]n,\x09\x93\xee\ +u\xb3\x8c\x00HV\x05\x9a\x82\xf6\xe7\xe1\xd3d\xce\x85\ +\xac\x060\x5c\xc9,\xfd\xbc\x88\x99\xc6\xc7\x09% q\ +rA!}\xe00q\xb2\xbfe\xd4S\xfe\x9c\x99X\ +\xf1\xd7\xaa\xa0\xd4\xdc\x1f\xfc\x1d\xd4$v2K\xf7y\ +\xe3d\x96 \xb9\xc5,\x1d/5K\x9fw\x96Yz\ +\xdd*f\xe9\xb8\xa3Yz\xfd%f%\x01\xd4^\x9d\ +\xec\x9a\x0a\xa9F`\xa2\x841z\xef\xe3\xc7\x9aU\xeb\ +\x08\xfb,diBbd\xe8\xf3\xc9\x92[;L\xaf\ +?\xbc\xe8\xba\xc3-3\xda;\xd9^\xda\x97_\xa8*\ +\xae\xbf\xeee\xe12\xe3\xc0\x87\x94\x109\xb4\xb0\xfc{\ +]\x82@\xcb\x1a\xb2\x0eT\xe2\xeb#\xda?g\xd1\xf5\ +,YZ\xc9 ;#\x91\xe6\x89_!W=1\xcc\ +>\xa4\xe7\x05\x09\xe6L\xbd\xc9\xd3\xe5\xff-\xa6u\x8f\ +\xf1\x85j\x8b\xf6iO(\x88$\xae\xdd8\xd9F\x0a\ +\xfcnQ\x0f\xfe\xa1\x15\xb0\xf1\xbed\xf7\x97\xc4\xbe#\ +\x88\xe0\x10\xb0\xf0\xf0\xf6\xea\xbcQ\x97R@\xda-d\ +\x96\xbe\xe7\x1bf\x19\xd1v\xa0\xb5\xac\xb5+\x98\xe5\x84\ +A\xdfJ\x80n=\x95\xd8\xadU\xc9\xa75\xc2\xd6\xf9\ +\x0d*h\xb8\x90+\xa3m\xcd*\xee/\xce\x03\xae\x03\ +\xd4\x11T\x00\xe9\xfelV\xad\x93B`\xb9j\x10\x10\ +t\xcd\x1b\xff>Z\xa5\x80\xea\xe3\x7f\x81\x8c\xa5\x05E\ +\xad^\xee\xcf\x91\xf0\xc6\x0f'\x91\x0c\x07\x84\x10\x09\x04\ +\x92\xdd\xaef\x15\x07\x93\x15H?\x5c!\xae\x02\xb9 \ +\x9cE\x8e\xb4\xa3\xa5\x8f\x00\x16Y_\xc6\xb1\x90\x86\x8e\ +xF\x0e\xc4q\x00\x00 \x00IDAT\x05Y'\ +\xff\xc7\xd5+\xf0O\xf9<\x10\x9a\x81}\xdf\xfd\x82\x88\ +@\xe5\x18I\xf1b\xa1-\x22^\xa3|]@\xd4\xba\ +\x9c.\x08\xc4\xc8\xb2\x1f\x11\xd3\xfc=\xb2\xf5\xf3\xbd\x14\ +\x18\xf1Kc\x81$p\x5c9B\x84\xca?q\xdb3\ +\x81\xfd\x1fdA\x84\xfe\xff\xa7\xc0\x1f\xbf\x0d\xa46-\ +\x0a1\xa1\x10[\xc5\xff\x13\x89_<\xc6D\x00~u\ +\xeb\x1ct}b$\xc43\xe3@\x1a!\x07\xf3J\x08\ +\x81#7\x94@\x02\xf6T]\x90\xf7\x14*\xe3J\x06\ +\xd2Y\xb0w\xcf\xca\xecc\xcd\xe5\xc9\xaeH\xe7s\x82\ +Y\xa5\xb3\x1a\x1dR\x02mA\xb8\x5c\xbe\xee \xb3\xb2\ +A8Y\x15\x0e(\x13\x0b\x87\x9f\xf3'\x10\xe2\x81\xc4\ +\x0c\x12\xbd\xec\xdc zP\xe8\x85&\xf0\x092q\x95\ +.k\xff`\xe4\x98y&\x8b\x09\x0fR\xe2\xf9\x10\x80\ +\xbf\xae\xefg\xa2\x95@vB\xc6\x08\x16\xe6\xe6\xbfT\ +\x19\x8e\x90\x93\xc9X-#\x04\x05\x07\x93\x1em*\xcd\ +\x5c\x1f=\xea\xb0\xf5\x12\xb8\x93\x11c@r\xfe\xdc/\ + UL\x94\x08u\xe1\xf9\xf29$\x02\x08p\xfe\xa6\ +\x9f\x09|\xe7V \xcb\xe7\xd3[\xae\xf1\xe6\xaa\x051\ +\x13\x17'T\xfc{$md\xa2\xb1\xf1\xb2\xd1<\xad\ +J\xf9\x06\xe2@\xe0~\xb3 \x11 3\x0e\xd88\x98\ +\xa0\x91\xf4#\x90{\xa0W\xea\x95f\xde\xcfxb\xfc\ +\x93`\x02\xaaO HOv\x80\xe8\xbbZ\x06\xb20\ +\xf4f3\x0e!s$\xb1\x113\xac$&\xf8\x99\xeb\ +\xe5\xb9\xb1p\xe1\xe0r^$B\x08\xd0\xb8\xcf\xac\x13\ +b\x8d\xf7\xeb\x07\xeaME\x9e\xf1\xc1\x86H\x82I:\ +\xd9\x5cG;O;o\x86\xb8J&\xc7\xc9\xd9\x1e\xe9\ +{~\xe1F\xa0\x82\xe8P/\x02c\xb1\xbf\xbb\x1c\x0f\ +,\xdd\xc8\xf7\xd1S\xacy\xe5l\xe0\x04P \x05T\ +i\xf6\x0dQ\x89\x12\x02\x07\x12\xa9\x90uA\xc6G\x02\ +\xc0+\xd5\xb06\x03Ad^p\x9fU\x19rV|\ +\xe9<\xbb\xe3\xc2\xf5\xf1\x0f\x0e\x0f*\xb6\xe8\x1c\xd33\ +\xfd}\x05\xd8\x0aXI\xa08\xb7\x02\xac\xcd\x22\xe3B\ +\x1e\xd1\xc7+\xac\xc7p)\x10\x08\xca1\xc9\xadc\xc6\ +r\xbf\xa8Y\xae\x0c~\xaa\xfdT:~\xc0,\xed\xc3\ +\xb7\x0en\x1b\xdc&5\x917e\x99\xb9\x1f\x98\xcc\x5c\ +\xba\xab\x0f\xe6\xfbJ\x8f\x1e\xf3S\x89\x09*j\x04b\ +\xed\x9ef%1\x94\xc9\xd4\x92\x03\xd4\xde\x99\xec\x8e\x8a\ +T-\xca\xf8\xc0\xd1\xa0\xfbD\xc5\xd4+\xed\xaa\x8c8\ +\xb9\x97t\xad\xdb\xa3\xcd\xca\xf3\xf2q\x01W\xa8*\xa0\ +\xc8\xfa\xf9\x86\x8f\x1c\xa6\xd6\x01S\xb76}\xeb\xe6u\ +3\xc9\x96\xa6\xf9\xdf~:\xd9^\xa5R\x9e\xa1\xda\xc9\ +\x11n\x1eN\xf6H\xd1\xad\xb6\xc6\xba\x9c/\x8e>\xfb\xed\x0c\xf9\x87\xb3\x07D\ +bt\xf8\xb9\xafr\xecM\x04\xd9\xe4\x1b\xdb\xdf\x9b\x15\ +\x04\x182\xb8$~\xba+\xcd\xaaJ0\x9c?V\x08\ +\x99\xab\xf8G\x14^\x5c\x9df~\xb3\xf4\xf7\x03\xb3\x95\ +\xb8`\xfdlc\xcd\xbf\xc4a\xc1\xfe\xad\xd6\xbc\xee`\ +\xb3\x0a\xf1\x8a\xdfC\xc0\x85\xdfC\x80\xaaD\x94\x93\xd9\ +\xfe\x97Y\xf6\x9b\xb2\xdc\xb3\x8f;\xf9#&\x8ei\xf2\ +\x98\xf8{\xde+\x8f\xfc\xa8\xe2\x07\x12\xabN\xb6\x8c\x9f\ +\x85:\x0e\x81\x1d\xadu\xf8A\xb4\x1aB\xe2L\x22V\ +\x09\xc8X`I\xbbu\xe6*\x1a\xfdIH\x06\x15.\ +@*\xf9~\xfd\xe5l\x05a\xc9\xfe\x07\xd4\x1e\x04(\ +?\x13\xc0q\xdf@&\x90\x00`\xdfc|\xe0W\x92\ +\xe0\xc3\xef\xa6\xf0\x85\x7f:\x89L\xb4\xb7^\xf3}\xec\ +\xa7$$\x90\x93V\x8b\xad#Y\x88\xe7x}\x84\xbe\ +\xc7\x1e\xf9X\xa9\xe7\xef\x93\xc9\xf9\xe1gG2\xf7\xd8\ +j\xcb}\x88\x85\xcd\xd8#?5\xc4S\xcf\x05Yv\ +\xce\x8b#\xbf\x8fq\x0f\xd73Y\x5c\x12\x7f\x1f\x13\x06\ +\xbc.\x90\xf5M*\xf7\x17\x03\xff\x88\xac\x8e\x89\x00\x12\ +\x22\xf2\xf3\xc7\xb3\xdb\xbeX\x91U\xf2\x1b\xbeP\xee\xc2\ +.\xd0Z[\x90g\xad&\x8c\xe4}\x9c\x8cHz\xd9\ +\x90\xff\xe4\x0e\xc5sJf6'\x00.\xafn\x98*\ +\x99\xa3\xb5\x92\xad)h\xd2\xe5\x85\x8c#;`\xfbV\ +\x0e\x0b$V\x90h\xa9\x12\xe3=:\xe8\x82?m\x96\ +\x03\xf1\x0c\xed\xf7\x0a&7\xe5\x15-l\x1f\xec3\x90\ +.\xff\xa0\x0a\x99\xf7L]d\xdd\x98\xb9\xa2\xd6\xb3\xa8\ +\xb2 0P\x99x\x90m\xd1K\x0f\x09M\x99\xa8}\ +\x80\xc9\xc0\xe1\xc1\xd3c\xfeJ\xc8l\xbd\xe8\x19\xb4\xa8\ +\xff\xf8\xc6l\x92\xf1\x01\x8f\x5c\xc5`\x229\x9e\xc8\x94\ +|\x22\xb3`P9& \xd4\xd1[.\xe0\x0c\xa0\x22\ +\xcc\x00\x82\x9c\x8e\xc0\x1c\x07\xf1\xc5\xc0\x22O\x80M\xa2\ +\x80@\x16\xd6|\x12\x0e,\x80o\xcb\xe0\x1b[\xa8\xa6\ +\xe4q\xf9|h\xb9\x98\x1e\x16\x02\xbe\x07$\x04\x9fG\ +\xe2\x85\xc0J\xa4$\xa3\xbb\xcc*\xdd{&2\xf7\x93\ +\x05\xf3\xb1\x00\x09\x22\x11%h\xaa\xb3\xaf\x22\x9b\x18[\ +>\x22I\xc7d\xad\x0f\xc3\x90\x08\x8al\xa0\xfc\xccs\ +d\x1c\xd1\xc3N\x0f$-\x01 18\x1f\xa0\x91\x22\ +\x13\xf2DYlE\x00!\xc1\x06\x0c\xdb\xbf\x1cr\x97\ +\xa3CnO\xd0:?O2\xaa\x22\xc3B\xcf\xd73\ +\xd6\xaa\x04:9\x13\xeb\x88\xe6\xbb\xcf\x1f\x1c\x99\xb9\xcd\ +J%r\xb4\xcc\xe8\x1d\xa3e\xaa\x1ep\xfd\xdd\x9f\x0f\ +\x81\xbbZ\x00\x80\xc2\xfa\xf3e\x9c\x93\x10\x14w\x85\xeb\ +\x8b\xab\x12\xe0H\x02\x1c'\xc6\x01rfp\x89h\xbd\ +\xf0\x0a\x87\x12\x0b\xdd\xd5fE\x05\x80\x04\x9bC\xab\x81\ +h\xab\xe7\xcf!\xf8\xb4p@\xda\xb4\xa1Y\xd5\xfb\x07\ +4\x10G\x89\x8c5\x9c\x07\xaa\xfc\xe18Y\x98\x9d+\ +\xd9J\x88\xc0E\xd0\xeemV\xc6?\x8e\xab\x07\xc4\xf4\ +\xf6\x8b\xeb\xc5I\x13!\x0f\x05\x91!\x07\x1a\x04D{\ +A\xff\x5c\x06\x0f\x0e\x1e\x1a\x98\x1e\xf8/\x92\xa5\xfb\xd0\ +\xbe\xa3]\xbaM\xf3cp\xe7\xe0\x8e\xc1\x9d\xf9\xb9\xcf\ +;\xa1w\xcf\x80\x9b\xb7\xa8\xb2\xf7\x9d\xaa\x03\x09\x92E\ +\x12%T\xac\xe4\xc0\x0ev3K\x9f\xff\xc1d\x06\x89\ +\xfe\x96Y5.\xc4\xf5@\xe2\xc6\x91\x1c\x90\xbd\xe5\x7f\ +\x15g\x00\x09\x0fA\x90\xfd\xf5\xdaO\x9a_\x9bU\x9c\ +\x0e\x90\xc5\xae\x9d\xec\xfdE\xcd\x81\xf1\xd3\xae\x9bl\x9d\ +\xaa\x12\x81^1j\x07\xba\x0e\xe4\xdbr\x18\x7fHa\ +o\x1f\xdc\x9b\xec\xber~\x8d\x966\x13\ +g\xc6\xc5J\xc8\xec^\xfc\xc3\xee\x063\xf9\x9b\xcf\x88\ +\xf3c\xb1\xaa\xb5E${NB\x0b\xb2\xcb\x12[\xb3\ +\x89\x93\xe2\xdd\xe2.\xb9\xb3T\x9e\x9d\xd4\xf2M\xc9\xe6\ +P\xa2m\xf7J\xc7\x1d\xe4\x9b\x0ak\xa8\xe4d.\x85\ +\x83J\xaf\xbd\xcf+%\x8e]]\x85}\xf9\x05Uf\ +\xa7j\x1f'0\x03\xfaM\x85X\x89>\xdf_\xe5\x87\ +{+\x98\x12\xbb\xed[\xcd\xca<\x01q\xd7\xcdg\x96\ +~\xff\x193\xc9\xb8^_\xb1\xa7\xbf.2P\x02S\ +%pH\x18z\xa1\x88@\x95D\xbf\xf6\xa3\xd1/{\ +\xb9\xcb\xb13{n\x19\xe6\xa7\xab\xf4\x80\x04\xc6\x0f@\ +\xf7]\xadj\xde\x82\x88<\x1d\xd0\xfa\xd8\xc3.\x84\x82\ +\xcb\xb8r\x7f(,\x11\xa8\xe3\xe7i\x7f\x80;\xc9\x91\ +\x00p\xa0\x14r\xc2\x9e,X\x89bG\xe0\xe1wR\ +A\xc7\xaf&\x1e\x90\x9f\xce~\xe1\x05K\x91\xf7\x8e\xfe\ +\xc7\xac\xb4\xea\xb9\x9c(~\x06\xdcET\xc6\xf1\x7f\xa3\ +j\x18\xd7\x83\xffE\x01\x92\x96AdPI\x5c@\xb2\ +\x1e\xb9\xd6\xb8\x9f\xf8\xad\x04\xf0\xbc.\xf6\xacG\xbf\x9c\ +\xc07B\xec\xf1\xff\xf1+\xe3\xe7N\x86,\x88\x81t\ +\x0c\x88y\x1d\xbf\x8f\xaa]\xb1`\x19e\xf5J \x0d\ +\x22a\x22\x12\x9a\xd7\xd3\x82\x8e\xcc'\xf3\x90\xf3\x8f\xc7\ +p=\xdeJAa&V\xfc\x09\xfc\xb9^\xfe\x1eY\ +\xfb\xa3l`L\x04L\x96\x10\x88-\xdd<_\x1d\xc7\ +s\xa5\xfb\x9d\x85\xcc/\xb3\xdd>T\xf5\xea\x19k\xf2\ +\xecU\x80 U\x00\x97\x17\x81\x04N\x0f\x0a\xe8a\xd6\ +\xb95(\xe1\xbf\x93=Wz\xb1\xd8\xe8\xfc\x02\xe7\xc8\ +`\xef\xa2B H\x0d\x8et\xbe-S\x0a\xc4\xcf\xd4\ +]\x8d\x9c\x86\x8cc\xce\x07\xfew\xb5\x80\x01\x91V\xa6\ +\x9f\x05\xd2\x11\x098\xda\xdb\xf4\x1b\x98WL\xe7\xd1B\ +BO\xcc\xbfT1\x7f\xa4'M\xb1\xce\xcc\xac\xe7\x8c\ +\xac\x12\x0f\x86\x89\xc8D\xe0\xc6\x8b\x0b`tO/\xe7\ +\xd5l\xa2\xc0\x82\x85\xb2\xb01Ndi,=\xe4\x13\ +!\xf9\xb3\x06\x08\x07\x0e4\x01\x81\xa0\xafc\x0b\x0a\xa9\ +0O mCe\x00\xf9\xbf\xb7\x06H7G\x10\x01\ +\x04J\xb1\xd7'\xc8*\xa6\xed\xb2\xcf\xd4o \x88\xda\ +K\x1a\xd8S5q\xd0oEv-\xcam\xcc\x9c\xe1\ +{1\x1f\xb9\x9fOj\xc1\xf8\xbb6\xc6\xc7\xf53\xd0\ +8\x02@\xbf\x0fZ\xf0C\xcb\xc1L,\xe9|/\x9c\ +\x02L\xb0\xc9z|8_\x12'T6\xf8\x5c\x9eG\ +\x84\xda3\xe1\xe4yA\xda\xe3l\xfe,d,\x10d\ +\x5c\xf9=\x01?\x15_\x16v\xd8b!7\x84\x1b\x80\ +\x05(\xf6\x8c\xd3kG\x0b\x0drV\xf4fJv\x8e\ +\xca\x9e\xeb\xd4\xb3~\x88D\xcdIl \x87\xe3{B\ +\x0f\x1e:\xc6@\xfd\xbc\xf7\xfcX\xb3\xdc\x13gV\x12\ +G\xb0g+\xd1\xe6\xac\xda@\xfd\xa4GL`\x0ci\ +as\x96Y\xa9Tx\x05J\xe3\x82\x00\xd5\x135\xf4\ +dBV\xc8\xefE\x9a\xe4\xcf\x0b6tA$\xfd\xf9\ +\x00)'\xa3\x8f\xc3\x0f\x94w)\xb3\xcaA\x80\x94\x0b\ +\xb9\x1f*\xf2\xf4p\x0a\xca\xe7\xeb\x93\xe6\xa1\x07\xfc\x90\ +n.eV\xe9\x1e+\x91\x83cD\xe0\x0b\xb4\xb4\xfd\ +q{^{^\x9ew=\xf4\xfb\xd1\x9e=\xdfe\xac\ +\xb8\x7f\xaa\x94@\xea\xe9\xe4{\xffeVA\x8d!\x85\ +\xa5\x85\xe2$\x91!>,\xd6uU\xfe\xc77\x1f\xdf\ +l|\xf3\x8a,\x0c27\xc6\x09\x15\x02\xc8\xf4\x0c\x1a\ +{tE~E\xc2\x19\xb9*\xc8\xef\xe8}\xd5\xf7\xe7\ +\xba\xc3_\x15\x90n_A?\xf9|\x1068T\xaf\ +i\xbd~H\xf3\xe8\x96l\xa5\x07\xf3.\xb3\x8a;\x03\ +\x12C\xe9!#\x83\xd9}\xcf\xac\x90\x10zB\xca\x02\ +\xa3\x07\x94 \xfbr\x81\xba\xba\xc3%\xc7\x16\x96y\xd7\ +\x01\xb7^\xfd\xab\xcb\xf3\xcd\x09\x87g\xaauL\x01\x04\ +\xd7\x83\x1c\xde`\xb1\xc1\xa2\x83Es%\xbf\x1f_Z\ +\xaf\x9c\xc4\x0c\xae\x9e\x8f\x9bed^\xcf^\xaeu\xd5\ +T\xd6Mg\xddecW1K\xd7\xf3\xdb\xbe\xb7\xbe\ +}\xde\xac\xaa\x0ci\x9f\x03\x02OO\xb8s\x12\xa0\x13\ +\xfe\x15\xb3\xd2\x0a\xe4\x0e\xae\xd4\x11\xf8\xbcn5\xb3\x92\ +X\xf4\xdeF\xed\xab\xed2m\x96Qd\xbf\xcf\xeb\xc1\ +\x0d\x0a\xe8\xcf-\x0e:\x95V\xc8\xc9\x1c\xf9r\x89Y\ +A\xb40\xaf\xba\xb5$g\xb8e/O\xe9-\x1a\xeb\ +\x99U\x95u\x91/z\xc2Z\x95p'\xa9\xa3\xd7\x9b\ +y-V\xeen6\xb3t\xfc\xefd\xf6\xbc\x1e\x96\xec\ +\x19rnB\x864\xd7*\xf1(\x12\x5cz|\x91A\ +\x1b\xcej\x96\x8e\xfb\x8b3d\x9dn\xed.\xcd\xd3\xe1\ +\xcf\xcc\xd2\xf3_\xd2,'T\xf2\xb8\x85\x15\x1fR\xb5\ +\x1c\xa0\xa6}h\xb8\x99Y:~\xd9L\xfa\xee+\xea\ +\x9c\x14\x90_!\x0f\xc7De\x03\x88,\xe7\xdc/\ +\xc6\x01\xe7\xcb\x82\xbf\x84\xae\xab\xc8(N$Ed\xe2\ +\x84\x05\xc4\x03y\xc6\xdfd\x997\xae\x8f\xf1\xc0\x02A\ +e\x99\x84\x04\xbfg!\x88\xf2{d\x1e\x81\xdc\x07\xae\ +\x09\x1cs\x7f?\xe7\x03\x04\x92@\x9bJ\xa4\xc8z\x9c\ +\x14P\xcf\x17\x88\xb1\xcbO\xa9\x22\x1c\xd9v\xdd\xc1\x82\ +\x9c\x10\x16^\x16rz\x94#g\x07\x09&\xfe~\xb1\ +#mr\xef\xba/\xdc\xaa y+\x8e\x1c\xa6\xee\x0c\ +\xb3\x02}n\xcf6\xabte5\x1eX?\x9a\xa7\xcc\ +\xaa\xe7\x07\x09\x1c\xb2\x84l|\xe8\xdc\x03\xf5c\x5c1\ +\xce\xa9\xbc\x08*\xec\x95\x1c\x91\x13y@\x89\xa3J\x22\ +Rl\xef.W\x04\xd4\x92\x0d\x81\xf1\xce\xf8\xa0\x05\x80\ +\xe7/2\xae\xe4h%\xab\xd8\xfcia\xa0\xe5\x01N\ +\x13Z\x0a\x80d\xd2\x1aA\x85N2xT\x8e\x9d\xf5\ +\x1e]l\x02|\xf5\x10z\xa5F\x01]{C{c\ +{c\xd1Go\x16J\xef\xb7\x9e\xd05\xdb\xffj\xd7\ +,\xfa\xc9\xed^fUE\x04\x87\x04\x87X\xeb\x8b\x07\ +\xa8b\xa7&\x10\xf6\x1ex\x93\xef\xfbMIL9\x0b\ +\xaa\x0a\x8c\x05\x88\xe7\x98\xa5\xd7\xff\xc3\ +\xac8x\x0e\xd8\x11\x82\x84J'\x95\xfb\xe6x\xb3J\ +\xbe\x897\xd0B$\x87\x92\xcfu\xa4\x05\x9c4\xda?\ +\x86\xa7\x9b\x95J\xdc\xe0gf\x15\xa9\xa01\x1b\x1c\x9c\ +\x9e\xfbuf\xe5{\x9b\x97\xfbD\xf4h\xff^\xfe\x8b\ +\xc0\x8d\x84\x15\xb2\x88\x8cKWi`\xbd\xd3\xb8D\x7f\ +\x1cr3X\xf4\xd3\xb7\x1c\xd7\x1cW!\x1d sS\ +\xc5j\xf8\xb8Y\xf1\x13\x9c\x15\x1c\x99G\xc6\xfd\xa9\xd9\ +\x5c\x9e\xcf\xe5\x13!\x1b\x14\x94\x9d\x84\x81\xab.P\x09\ +$\xf1e$\xc5\x1b\x97\x16E\xaf\xa0\xcdg\x96\xaec\ +)\xb3\x0a\x91\xf6\xed\x1e\x12>Z\xd3\xb0\x85U\xc5\x18\ +\x08\xbd\xb81\xa8\xb0{\xa5_\xd0| \xbb\x99\xa4\xf1\ +\xed\x05\x19\x90V\x93^\xd6\x14$#P\x7f\xe3\x06?\ +\xb2\x92\xb3D\xa5\x83D\x9d\xb8B(\x8c\x0c:\xb3\x8a\ +\x04\x0e(<\x888\xf9%\xdd\xd3\xdd3\xdd3\xe2L\ +\xd8+\x17D\xae\xc9\xc8\xa2\xc5R\xc0\xb0X\xf2K\xf3\ +\xbf\xf4\xb9[\xb7[\xb5[g\xb2\xb8>\xc00\xe4^\ +r\xf4\xbb\x8b\x93]&r\xb8\xabJ\x00\x9c!\xd1\x9b\ +\x97\xfd'\x93\xaa~\xa1R\x83\x00Q\xa1\x0a5\x09\xaf\ +n\x1b\xb3t\xfc\xb8Y\x15hni\x96~?\xddL\ +\xdc\x0d\xe7\x16\x84\x13\x09\x93\xdc\xaa\xf579\xd4\xaf\xe9\ +>\xdd\xa9\x00\xe5\xc6\xa2V\x91[A\xd2\xfa\xd0\xbd=\ +YZw\x07\xc7&36\xf5\xef&;\xa3\x0aP\xf4\ +~\x97g\xa4\x15\x02R4\xf9\xa1\x99\xc4\xf4|\x05\x0c\ +\xb3\xa9g\xfe/\x15\x12\xce\xc2\x9f+\xb4^\xaeW\x12\ +\x91\x9eH&@\xa2\xd0pd\xb6\x82,\xa1\xf5B=\ +\xfe\x907z\x00$\xb2:\xe7\x8cP\xc2\xb1{\xd6\xac\ +\x04:^a$\x00F\xce\x1a\xb2lH!\x975\xcb\ +\x89\x9edU\xe0\x072\xc8\xb8\x0f\xf6.,\xf6\x8e\xd4\ +\x93\xaa\x80C\xd4\x8d\xa5\xfe\x1b\xfa\xfc\x7f\x96\x046\xeb\ +m\xde\x85_\xcfrz\xbbZ\xebE\xb3\xb7YQE\ +\xf1\xc4\xf8\xce=\xd7\x81'\xbe5.\xbc\xe0\x81\xdf\xaf\ +J\xb9\xfb\x0f\x90&\x0a\x89\xe3\xea9\xefW\xc0|z\ +sZsZ\xd5zK\xeb\xdf\xea}\xe2\x22\xcd\xe6^\ +\x86\x96\xc4\x13~\x1f\xfeE\x84\xb6\xab\xe0\xe0\x08\x02\x0a\ +\x88\x22\xe7\xf5\xca9\xfe!~\x08\x89?X\xfa\xd9\xdf\ +\xf17)\x94A\xc2\xc7\xfbb\xab(\x09\x1cZ\xd0\xa4\ +\x12\x80:\xceh\x19\xb3j\xffF}\x86\x96\x19Zx\ +i}\x10\xe2\xd9\xfd\x05\xfc\x07\xce\x87\x16MH\xc7\xc5\ +\xa1\xe1\xeb\x16\x08f\x0ae\xfc\xc3\x7f\xa4\xe0A\xc1+\ +B\xfa\xf1\x83_4\xab\xee3\x05\x94\xa8\x92\x15\xa0\xfa\ +\x90\xa0;\xc2\x82\x8ax,\xb8q]\x059\xdd\x7fN\ +\xe4\xceb\x1f\xfeO\x81?H\x09C\xbc=\x99\x13#\ +=\xd2\xf5\x01q \x10\xe0\xc7\x00\xbcp\xb3\xf5\xe7\x81\ +\x1f3\x09\xe2\x81\x84\xb8\xdf\xc7H:\x18\xfd\xfd\xd8\xc2\ +\x10Z\x95\x91\xab\xf5\xfb\x11\x03\xfc\x18WEY\xc0x\ +T\x5c2\xee\x01\xd2[3\xcfzM\x8a\xd6\x0f$\x02\ +\x7f\x06>?\xe3\xc0Q\xe1#3\x06\xe4\x176r\xf4\ +\x98\x8f\xeb\x1d\x0b\x0f\xc4\xb8\xc1L\x1c~\xc6\x91%\xe0\ +\xe4\xc1\x92\xb1\xd2\xeb\x9bk\xcd\xb2c\xd1\xf7\xf4J6\ +\xafy\xa6y\xb6y6C~\xfa^=2E|\xce\ +\xa7\xfa\x05\xb1\xb9\xb8\x87\x9e\xd9\xab\xf3\xeb\x91\xf9P\x85\ +\x0f}g\xd7K~O\x0f\x1d\xa4\x97\xcf3\x9a\xc7\x98\ +U\xbd\xd1\x0a\xa8\x1d:\xcf\x04\xe3\x01\xffQ\x13\x85\x01\ +\x81\x83\x1c'\xe2l\x81\x95\x9f\x81A\xe0@@\xc8\x82\ +GF\xe9i9\xbe\x8fi\xa0\xcd\xeb\xcf\xad\xcfT\xe2\ +\xc8\xbeO\x10y\x12\x1f\x90B\xa9\x12\xe3\x89\x0d*Q\ +<\x0fZ\x01\xd8\xe0\x8c\x9c\xe9\x9f\x99\x04\xaa\xd7\xd1f\ +ad\xa0r\xdf\x09\xa8\xa3,\x05\x0b\x09\x01\x00H\x06\ +\xc9\x1c\xa5E\xa4\x7f?\x90\xc2A`\xd5\x9fK\x19@\ +\x12 \x8c_~\xe6u\x9cG\x84\xf8p\x8c\x19\xc5N\ +\xe7\xc7\xfd\xa6\xe2\xcf\x82C\xe2\x84\x05\x83\x05!\xf6\xf4\ +\x10\xe0\xd3S\x05\x22\x81\xcf\x05z\xc5}e\x01c\xa1\ + \x13,6^H\xe6\xfc\xfeQ\xf1\xa4\xe7\x94\x85\x9d\ +\xfb\xa0\x1ez\xcf<\xab\x02C\xe2b\xf41\xb3J\xbe\ +\x08v[\x12\x0d\x90cR\xf9f\xc1\xa1\x97N\xb2u\ +\xf4\xb0\xc2\x8e\x0f\x89\x9b\x07\xb2\x0a\x00]\x15\x84\xcaN\ +\xe4\xb2\xe0\x1f\xcf!pT\x8c\x9d\x90m\xac\xfb\x81Y\ +\x05\xa5T\xc5\x95\x00\xbd\xfd\x93Ya\x09\x06Z\xed\xb2\ +6\x0a$\x9c\x8b\x84\xe7I\xe2\x83J\x80\x02\x99\xecP\ +_\x5cA\xfe\x81\x5c\xb3\xd1Q\x81V \x83#\xec\x9f\ +\xcbsg\x1e0\xef\x91\xdd\x93>4\x9c\x04N\xce\xa6\ +J\x13\x8e\x14H\xa8\xe6R\xb3\xf4\xfe\x8fg\xf3\x1e\xff\ +\x14\x0e$K\xc7\x97\xcd\x0a\x09 \xeb\x91C\xeb\x91\xdf\ +\x13i\x1d$\x93\x04\x8c\xe9\xb7\x19\x090x\x9fY\xe6\ +\x98\xc8\x81y{\x88\x99H\xfb~P\x90=\xed\x87\xcc\ +\xaa\xf1)\xddk\x9eWN\xf0^X%\xf4\xd4\xba\xe0\ +\x95}*\xfdr\xb0\xbd\xd5$\xc8Of\xd5\x87\x03+\ +\xfdlH\x0a\xa9\xc4\x90p\x92\x83\x8fN\xba\xaf;o\ +\xc9\xa9P\x1fo\xa8/8\xfb7\x0e\xbbt\xa7\xdbc\ +\xcd\xaa\xc4\x08\xf2y `\x0e\xecI\xb02\xb0\xf9\xa7\ +}\x02\xc3\x12\x89\x8c\x7f\xd65\x87T\x1b+\xf7\xc7D\ +\xda\xfa\x0f\x91\xa4]\xadD\xd8\xff\x96\xf5\x17\xce\x08\x90\ +\x159\x80H\xfb\xc3`\x8dd\xef\xc9\xb2X\x19\x82\xcf\ +\xba\x82\xaa\xc4\xe8\xcc\xd1\x19\xa33re2'\xac\x1c\ +\x19\x22\xce\x07*\xdd\xdd\x01fe\xde\xc3\xe1\xd0\xfc\xd1\ +\xac$\x9cs\xef}\x0a8\x87\xcb\x9bU\x01>d\x9d\ +j\xdd\xe2}Y\x0e1\xdd\xd7v=\xb3\xf4\xfe\xad\xfa\ +J\xfbp\x0e\xb3\xd2\xa2\xc5\xefq`\x9b{\xcc\xaa\x0a\ +\xadz\x87s\x22b\xaf\xd2\x92\xd4\xd9\xbfQ\xe5@\x09\ +\xb9\x03\xb4\xbf{\x9bY\xbaO\x17\xf7\xad\x03T\x9e\x5c\ +g\x1e=wz\xa1\xef\xe9{\xee\xd1\x1d\x1f\xdd%\x92\ +:\x02\x81}TH\xa0\x05F\xb2\xc1\xb0\xa1\xe7:\xec\ +y\x22\xf1\xdb\xb0pD\xa4\xc0|k\x0b\xcc\xbd\xb5\xe8\ +I\xb3\xa2F\xe1j&\x04\x92\x0a\x84\xda\xc3\xcd\x0a\xc7\ +A\xbb\xa0Y\xba\x7f/\x0d_\x1c\xbeXz\xde\xbb\xf3\ +\x93\xfd8\xab/]i\x81\xbe\xb9\xb9\x99\x04Q\x89\x10\ +\xc39\x18\x89`wJ\xb2\x93\x85\x08xSi\xc5\xc8\ +\xe4\xccGV\xea*B\x12\xb5\xeb\x9b\x95@;\x9d\xc7\ +\x1d\xa6\xc6\x012\x12yH\x10Z\xb9g~\xbc\xb0\xe3\ +S\xa0i\xcf5+\x81O\xf7\xddd\xa7\x17\xce(G\ +|(\x90\x19\xde\x95\xecw\x85\x0b\xc0\x91\x19jM\xf1\ +u\xef\x95d/\x17\xe4'd\x8f\xc6\xa8\xd0\xdd\x5c\x12\ + \xd9\x0b\xbd\xbb\x9c\xdf\xd81\xc9\x8e-\x15l\x12\xd2\ +\x99\x0c\xf6V\xf9?\xabW~\xa8\x12\xc5\xae\x03o\x80\ +\xec\xefW\x81\x1d\xc8\x0f\x12K\x227\xb4\xd9g\xf3/\ +\xabj\x1d\xafV\x83\xa3+\xddv*\xd4\x0a\x80F\x9f\ +\x1a\xed\x99Y\xfc\x85\xc0\xf1\xc48\x10t\xfcR\x02}\ +*\xb0$\xb6@\xd0\xa8\x05$\x87\x8d\xebW\xe4o\x86\ +\xcb\xbb\xb5\x9a\xaf \xe2\x08\xf0IT\xdddV=g\ +\xd3\xf4\xba\xa2\xf2cLf\xf1\xc7\x15\x97\x87T\x0d\xdc\ +?\x86\x04qa\xb3\x8a\x1b\x84q\xc1~\x89\x0e\xbd\xfc\ +wo]\x11\xb2\xa9\xd9\xacOX\x8f\x0e\xe8[\x15\x9a\ +\xaf\xf7\xfb\xa1\xfb1\xa7\x08\x09 n\x14\x0f\x80!\xc3\ +\xa3R\x0e\x195-;j=\xf4\x04\x0d\x10{\xfc\x0b\ +q<8r\x0b\x7f\x83\x00\x1e\xae\x06\xfc\xee\xd02\x9b\ +\xc3\xbe'\xb4\xafL\xc9\x88\x80~\xdd\xbfT\x95o^\ +\x87\xbf\x80\xca\x12H\x16\xb5h\x92\x90p\xd5\x15\xb8\x16\ +\xf0\xab\xb9>8\x0c\xd4\x0a\xe8-\x5c\xf8\x83\xf8\x971\ +\x00'\xb0\x06\xa2.\xf2p\x1f\xf7\x04\xfc\xf8\xc5\x04\xfc\ +\xf8\xb1\xf8\xa5\xa8\xa2\xa9un\xf4\x07\xb3\xff\x0f\x19w\ +`\xa9\x87l\x97u\xd9\xef\x0bqN \xeb\xf3\xf3\x85\ +\xb4\x0f\x84\x02\xe7\xc7uE\xb6\xfb\xd8k\x1f\xae\xdf\xc9\ +\xc7\xa9\xd4s\xfd\xba^G>\xc0\x19\x12?\x1f\xff\x95\ +\x16d!\x85<\x9e\x8b\xdc\x01\xc4} J(TD\ +\xce\x03\x10}R\x19\x99\x09q\x119\xc6\x22\xd4?\xfe\ +\xe3uA=a<\x9f~\x9d\x81`\xe3\xa3\x22\xcaD\ +`\xa2(\xb0r\x96m\xf4\xe2\xf9\x82pc\x9c\x0d^\ +\xba\xcb3\x91\x8d\xd1\xfb\x8b\xa3G\xa0G\xcf=\x0b\x1f\ +\x15~d\xbf\xc4\xfe\xcc\xc56\xf3\x8b5\x96\xca5\x01\ + \x81+\x0e8\x01\x10\xbd\xbe \x05`\xff\xa67<\ +\x04\xbc\x9e!\x87\xdd\x19h\xe6o\xd4\xfb\x182<\xde\ +k.\x99E\x9f\x98o\xd3\xf5*3\xeb\xf7\x05h\x1c\ +\x81\x0f\xa4\x14\x0fkC@\x16L\xa4G>\x11U\xe9\ +wG\x13\xd23*Np\x0dL\x9f\xc8\xceI%\xc6\ +\xcf\x8f\x05\x09\xb2\x1b\x16,2z\xdco\xc6?\xf7-\xaa'D\x12A\xe2f\xee\ +\x0f\xe79\x19'@\x94W\x9f\xec8\x89|\xe2\xb8\x9f\ +\x10\x81\x0d_\xc8\xdb\x18\xe8l\xd8\xc66\xbe\x84\x16\xb2\ +wU\x81\x10\x8ez\xec\xd1\xc0\xa1\xe3s\x80\xa6\x00\xe1\ +\x00i@\x80\x22r3_(\x158\xd0\xab\xea\x991\ +nh\xd1\x99\xec?\x9f\xc0\x9f\xc4\x02\x81-\x88\x05X\ +\xe4a\xe1\xa4B\xc7\xc0c\x80\xf0~\xce\x8f\x0c\x1c$\ +<\xfb\x00\xedV\xef*\xf7\x8d\xc0\x19n\x04A\x8f\x1c\ +1 \xfdS\xd7/\x1d:\xdbk\x7f\xbf\x80\x8c0\xa0\ +\xfe*\x07\xf6\xad\xca\x14^ y.\xa0\xe7_\xd5B\ +\xfe>A\xe2y\x8eT\x1a\x7f\xef\x0b\x10\x99\xad~@\ +\xd2k\xa3LqlM\x80\x15\xdb\xcf\x83\xde\xa3\x98Q\ +\xe2\xf5\x826\xbbn\xf8\xa7\x9a=\x9a=\xaa@=\xb2\ +\xee\xf33\x8e>\xe3\x83\x04\x0e\xe3\x83\x05\x85\x89\x19\x11\ +)\xdc7d;\xd0AUB\xc2\x11\x19\xeay\xf3\x05\ +\x9f\x0a7\xcf\x97\x00\x93\x80\x81\x85P\x89\x93\xe4F\xf5\ +\x99gAx\x9b\xafI\x96\xf2\x96\x9el\x92\x9e4\x1f\ +G@\xf3\xaf\xefIp\x9c\x94\x90\x85\x8e\xf1\x05\x89\x0c\ +\xad\x16\xe8\xe0\x929ga\xd0\xf3$\xf3\x0etw&\ +\xce\x0b*\xf3TV\xe1^ \xa0f\xfe\xe1\xd0\x93\xa0\ +\x81$\x86\x85\x97\xfb\xcf\xe7\xc3\x0e\xbf\xa2\x90\x1e\xcc+\ +H\xfb\x14h{\xcf\x98\x1c18\x08`\xf3E\x8d\xc0\ +e\xef\xb4\xc1y@\x02\xd9\x1a\x10M\xb5\xa6\xf8\xf9\xf3\ +\xbc\x81\xfa\x93@\xd3\xf5t\xff\xec\x1e\xef,\x81rc\ +sCsc\x05!\xe7\xfeC\x8aC\xc2\x06rG\x1c\ +\x7f\xc8\xffx\xfe\x8c\xffc\xb3\xf9\xf9y\xeb\x13\x95\x10\ +\xe9K;\xa2\x80\xf9\xc7\xf7P\xe9\xc31\xc2\xe1\x91\xfc\ +\x17\xdf\xe3\x15P\xad\x0b\xb9\xe2\x95\x9eG;\xabY\x0a\ +\xf0\xbf78s\xf0\xbd\x1c\x10f\x92\xb9\xf6q\xb3t\ +<\xde\xac\x90\xbb5\x7f3\xabz\xfe\x81\xa2\xf3\xfc@\ +v\xa0J@\x80.Vbt\xa1\xe9\xd5\xe6}\xed\x96\ +fy\xfe\xe6DH\x0el\xd7V\xcf\xe4.3;\x16\ +N\xba\x05R\x81V\x10\xd6ok\x08;\xbd\x04\xda>\ +\xae`Y\xd7\xbe\x92\xd9\xfe\xcf\xd7z\xb3pE\xe2D\ +\xc5_\xe3\xdcI\xde\x90\xc7\x13Y\x1a\xa4r\xe9\xee\xde\ +\x9e\xef/\x89\x08H4\x03Y'\xbd\xa9@\xcdA\x06\ +\xb8\x03gnV\x0a@Ld\xcdX\xdcq,\xe9\xf1\ +\xf7\x0a/\xfb\x8c5\xb0\x1c]\x12t\x99\xbc\xd13\x09\ +\x81\x00\x00 \x00IDAT\xd0\xc8\x13o7\xab\xf6\ +5\xd6#\xe3\x0c\xffz\x95p\xb2t\xef\xe3%\xc1\xd2\ +=\x99\xec\x89j|h\x1c\x80X\xf1\x16\x15*\xeej\ +e\xf0J\x85\xa0\xd3\x9e\x08W \x97f\xcf\x13\xf6\xb9\ +\xdd\xb6\x16B\xe6\xfd\xe8\x11\xdb\x8f\x9a\xaf\xa7\xc0\xb5\x97\ +1\xeb\xa1\x92\xacG\x92!# i\xdfmV\x90>\ +\xdd\xcefU\xe2\x84\x04\xbc\x10v\xcd\xbf\xcc\xd2\xfb>\ +n\x96\x03\x8f_fR\xcac\x9b\xe3l\x9c\xa0sO\ +\x82\xc8e\xb6t\xbf\x86\xfb$\xfb\xac\x12b7\x89|\ +\xf2\xaar>\xdd\x0f\xcdJ`\xe6\x89C!\xf7\x5c\xd7\ +\x9d\xd6\x04\x15,F\x87\x99U\xf3\xc1\xd6\xaf\x9d\xb5\xee\ +~\xb0\x04\xdaN\xc6i\x01\xf8\x99\x157\x848\x142\ +\xf7\xc1\x12U\xcf)\x90\x7f\xad\xc3Y\x1e\xf1\x8b\x05A\ +\xd3\xe6\x7fi\x9e\xdf<\xb8epKA\x8c\x0c\xdem\ +\x96\x03\xcd\xac^0\xd86\xd9v\x0a\x14\x8eL\xf7\xe1\ ++\xc9\xd2\xef\x87\x03\xb3\xf4\xbe\xf5\xfa\x04N\x96\xd9\xdb\ +\xa4R)Q\x85\x96\xd6\x02*\xf2\xdd\xb7\xcc\xd2\xf1\x22\ +\xb3\xa2b\xd2}\xc1,\xbdn\x0b%J\xce\xebI$\ +]\x7f\xfe\xe3f\xe5\xb9\xe4\x9e\xffUK\xe5\x9b\x96\x96\ +\xd1\x82f\x15\xf4W\x08\xa8\xe1\xaf\xcc\x0aWHV]\ +H\xe3wxJ\xb2t^\x83\xb7$\x9b\xbfBV\x19\ +i\x9c%\xecn0\xab\xb83D\xde\xd9\xbe\xcd,}\ +\xceN\xc9v\xceH\x99d\xe98\x9bY\xc5U\xa3V\ +T\x02D\xe6-\x05\x10\x0a\x0f\x90\x03\xa2\xf6\xe0\x15x\ +\x12@\x9a7\xbe\x8f\xc1=A\xc5Y\x08;*y\xa8\ +\xba8\x02\xea\xd9\xcc6U8Rh5\x03b\x8f\x9f\ +\xa5\x96S\xefe\x17\xe7\x8d\x93a\xb2~IU\x81\x96\ +4G\xfe\xa1^C@Hk\xa0\x10\x14\xf8)\xee\x1f\ +Qa~*\xad\xd2OUP|\x0a?\xf8\x83\xf8\xfb\ +\xab\xaa`\x83_\xaay\xc3z\xe6\x1c]\xec{T\xe6\ +\xf1\x93I,\xc2\x9d@\xab\x81d\x01=qIb\x99\ +\xc4\x8a\xc6\x9b\x07\xf4J\xe8\x8f\x0e6\xab \xff\x04L\ +VV\x5c\xb9*\xc8Pp\xd8\xdc;\x1c\ +\xdb\xb9*\x07\x17\xc7/d\x1e\x9aA\xb2V\x19\xd5\xe5\ +\xaa\x00\x9d\xdeZ\x02\xff(WA\x86P\xe4T\x1e \ +\xf1\xc0I\x5c(0N\x17\xd9\xdf\x00\x1co&\x0a\x81\ +\x22\x89\x05*\x9aou\xbd\xf9\x89\xd0\x1cn$\x89\x05\ +*\xd9,\x80\x9c/\x81(\x0fdaq\x12\xec\xae\xc0\ +\x97\x85,BE\x90a#\x00\xa7RJe\x15vw\ +\xb1'{\x82\xe5\xed\x0a\x80VPO6\xbd\xd3\xfb\xf6\ +\x90\xed\xd1\xf7\xb5\x00\x12\xe0\xe18r\x1dp&\xd0\xda\ +\x10\x07\xbc\xa0kc\x1fR\xc5\x98\x8dn]\x05\xca+\ +\x8b\xbc\x90J\x1d\x90u\x10!r\xb0\x9d\xdb\xe0Z\xf5\ +\xc2\x0aZ\x0c\x09\x8dg\x8c%\xaf6S\x02(\xf4P\ +\xb9#\xaf\x0d\xde\x13\x16@\xd5\x19\xaf$>x.,\ +\xec\xea\xb9\x03j\xe4\xe4{T\x9a\xc9\x94r\x1e\x05\xd2\ +\xff\x5c\x9e\x80s\xe6&\x83\x99[\x08\xa8\x04)a\xe1\ +\xe4x\xe8O\x83\x5c!S\x8aZ\x05\xb2J\x92u\xf3\ +\xdezd\xde\x80\x86\x13\xe8\xf2\x1c\xb9\xaf$X\x08\x90\ +\x05\xb9\xf7\x84Y\x94\xd7\xc4\xd1\xa0\xe7\xadp\x1f\xf4\xb2\ +a@\x02\xf9\x1c\xe6'd\x95\x82\xee97\x08\xc8\x1b\ +80T\xa9sD\x10\xbd\xe9\xcf\xf5r@^\xd1\x84\ +,\x8f\xf3\x17\xf2\xc1\xd9\xf0\xa5\x7f\xeb\xe3\x17\xc7\x00d\ +\x0c\xeb\x03\xf3\x09=zH\xf4\xa8@\xc0\x06\xac^Y\ + \xe5d\xca\x9b\x0b\xcc\xaa\xf5\x8c\xde]\xee\x17:\xcb\ +r\x5c\xad\x131\xf7\x22\xb2\xfe\xd0\xebO\x85\x08\x0e\x13\ +6L\xf5\xa4{\x86\x1e\x19Dz\xd6\x15`x\x02\x0a\ +(\xbaz#\x9d\xd3\x00\xf6~\x93\xaf:<-K\x9b\ +\x98\x95\x8ab\xbb\xafY:\xfe\xc5,\x1d\x8f2+\x09\ +\x09g\xbfW\x0f2\x81\x16\xd7;\x9a\xdd\xac\xda(@\ +\x5c\xd1JB\xc5\x01\x08$\x0e\xc9\xfefU\xc2\x84\x8d\ +q\xf9\xb1w\xe5\x04+*\x0cb\xef7\xea\xb6\xac\x0a\ +A\xa5Y\x95C\x10\x19\xed\xa6fe\x5c\xb9o\xd0\xf1\xb4~\xf7\xeb%\ +\xbd\xd0T\xc6\xb4\x9f\x22\xef\xe7\x09\xf5/h\xde\x8b+\ +\xa2\xbb\xd7\xac\xba\xae\x1f\xf5\x15\xb1vW\xb3\xea>\xad\ +f\x96!\xe3\xe7\xb4\xe7\xe4\x16\x96\xad\xad\x85\xc5!\xad\ +\xda\x17\xba\xcb\x93]\xa6\x16\xb1\x85+\x99@\xf5\xd6w\ +\xd7'\xbbN2\x97S\x0a\x17\xc3pk\xb3B\xb2\xe7\ +\xfe\x85ZT\x08l=P\x83\x13\x80\x96\x22c\xe7\xbe\ +\xba\xec\xb7\x0eu\x06Q\xb1d\x8f(qYF\xfc\x09\ +\xcd\xa7\xf6u\xb3t\xfcJ\xfb\x95\xc1Wz\x95\x8f.\ +\xdd\x87\x19\xbb&\xdbE$|\xafdY\xcc\x1f\x9a,\ +\xe6\xe0P\xb3\xdc\xe2\x94\x13\x17\xdd\xb5f\x15\x92\x83\xa3\ +\x12R\xed\xf2\xc9\x96\xab\x12>\x90\xcci^tG&\ +;\xaa\x8c\x87\xee+f\x95J\xc0~f\x85\x1c\x8c\x80\ +!\x93\x18\x1a\xcb\xff'\xcd\xc4\x8a\xbfB\xe1\x82\xe8~\ +bV\xf9\x03\xacw\xfc}\x11\xb3\x82\x10\xcbr\x97\x9f\ +\xae\x10A\x22\xa1E\x16nx\x9dY\xfa\xb9M\xd6(\ +\xc0M\xe3|\xd8\x99U\xc86*\xdebu\x87\xab\x03\ +N\x92\xee\xd7f\xd5zC\xab\x93\x0a.\xf9zv\xab\ +\xb8/P\xd90/\xe0f\xa99l[\x05\xa8\x0f\xe7\ +Zt\xbf\x9e\x9d\xa8}\xef\x80\x8a\xcb\x8a\x1ef\xaeK\ +\xad\x93\xae\x1fO \xc2\xbe\xae\x04\x84'\x18\x8d\x0b\xa3\ +U w}\xd5;O\xcf62\xa5\x04z I\x09\ +\xd4I\xd4\xaf\xa2}\xd2\xc2\xd2\xa5+?\x98\x8a2-\ +\x05$\x00\x94\x90\xf3\x84\x04\xc8_\x12\xb5\xc8\x9d\xca\x7f\ +kW0K\xf7\xef\xebi<}='P\x7f\x9ce\ +--\x11\xb6f\x85\xf0\xc3Of\xbd\xc1\xdf\x22\xce\x93\ +\x1a\x8e\x9f7~\x1b\xe4\xdb \x17i\xc5\xdd\xca\xac\xcc\ +_\x13\xd7\xcb\xf2zp P\xe0\xa1u\x8e\x84\x0e\x05\ +-\xfc\x84\x0d\x94h7\x86\x82\xaf\x16\xe4\x80\x9f/\xfe\ +\x1a\x81\x1b\xa4\x8d\x223\xf6\x0a;$\xc2\xb48\xd2\xb2\ +Le\x9b\x16A\x02A\x12\x84#\xde\x88=\xfcQ\xde\x90\xc4T\xac\ +\xf4\xf3\xfb\xa8\x16\xe7$\x803\xb2\x10B\x7f\xe3_\xab\ +\x02~\x12\x02\x91\xb5=\x92\xdc=\x9fs+\xe5\x81s\ +\xc2d4\x04-s\xddy\xfeQ\xf1\xa5\xb2G\x80\x0e\ +\xf9\x972\x9c^\x11b\x80\x11\xd0\x93xh\xf5y1\ +3\x14\x8f,\x88,t\x04\xc6,\xa4\xb1W\x9d\x8d<\ +\x9e'\xac\xd1\x90\x93\xf1:\x90\x04\xe8z\xeedV-\ +t\xb4\x0e\xb0\xb0\x13@\x12P\xa8B\x08D\xcd+\x85\ +J@\xf8\x82F\x86\x1a\x92&\x16.2\xb2\x04n,\ +\x8c\xf4\xf2\x83\x90\xc0A\x86\ +\xffq\xd4\x98\xc7\xacSb\x95v9\x22d\xc8\x80\x84\ +\xc3\x22\xae\x0a?$L\x90\xea9\x09\x14\x8e\x10\x89K\ +\xf5\x96{F\x9c\xc4\x06=\xf1\x82H\xb7O\x9a\xa5\xe3\ +\x1cf\xa5\x12\xdaN1+=\xb1\x90\xaa\x82\x04h\xef\ +7K\xc7\x95\xcd\xd2\xf1_f\xd5FDB\x8d\xf9\xa1\ +\x9eVw\xe4\xe9\x855\xbd\xf9\x87+\xe8+\x09\xb4\xeb\ +\xe50\xb0\xbe\xfd\xa0w`\xba]\xfb\x8a\xeeh\x15U\ +\x9e\xae\xee\x13\x85\xcd\x89\xcd\x09\xcd\x09\x19\x12\xde\x8f\x07\ +\xa0\xc27\x9ae\xe8\xf3Q\x06}\xce\x7f\xb7\xde\xc1\x83\ +\xcc\xca\xf3\x18\xfc\xd8\xacp\x05\xb0n\xe5\x8a\xea4]\ +\xcfBy~\xf6\xbd\x9dj\xfd\x00\x99\xe0\x89B\xd4\x12\ +$w\x05\x97\x80W\xf0\xdf\xa5D\xd9\xf5r\xb8q4\ +\x19g\xb06\xab\xd7\x9b\x84\x88\xb3\xd8\xa3\x0eA%N\ +\xe3\xc6\xc2W\x0b`\xf3>\xf7\x9e\xaa\xb5L\xfb\x92#\ +q\xf6Nf\x95\xd7/\x98\x15\xd9\xdc\x5c\xd9J\x1b\x7f\ +{I\xb2K\xabu\xc6\x10c{\xa9%d)%\x10\ +\xe6\xabX\xfa\xe5(t\x17\xf6\x95\xdbt\xee\xbd\xe3-\ +\xce\x82\xee\xeffU\xe0.\xce\x9e\xee\x0ffU\xc0\x01\ +y\xa1\xd4>\x90\xb5k\xe6h\xdel\xe4{YU\xe0\ +\xf0\xc2\xb9\xe0d\x8f\x82\xa8\xe7\xf9\xb7Oi\xc5q\xd9\ +Q\xc8\x10I\xf8J\x06\x0e.\x89\xf6\x08\xb3\xb2Nz\ +\xe2B=\xe9\xcc\x9bn\x09\xb3\xc25\xd0~\xcfL\x10\ +\xfd\xf7\x8a\x9b\xe1\x17\x05\xb92\xfc\x82\x99\x12\xd9\xc8n\ +}\xaejyR/\xbe\xcf\x0b9\xbc^!7\xd9\xbc\ +\xcf\x08r\xff\x8d\xd2[N\xcb\x95\xcbv\x81\x944\xca\ +\xb53\x94\x88<\xba\x92%=\xa1\x9f\x17\x83\xfd\x93\xa5\ +\xfd\xa4]\xb6]v0\xbd$\xe2s\xa0yA\xb5\xde\ +\xaa\x85a\xec\x0b\x82|\xffA=\xbe\x90\xdd\xc1a \ +\x07?;\xe2\xd3\x0a\xb9g{\x85Y\xba\xfe5\x92\xbd\ +G\xaa\x01\xc6M\xb1G_\x98\x18\xbe\x92\xec\xe5j?\ +\xd6\xba\x8d\xea\x80;\x9e Z@\x12\x09*\x0e\xb4\xde\ +\xc9$Mf\xf0\x8ar\xfe \x1e\xbb\xab\xcc\xd4\x0a1\ +\xadJP\x87\x02\x07\xeb]\xb7\xadY:>!\x04\x8a\ +!\x11.N\xe7\xb5S\xb24\xcf\xdbk\xcc\x94\xf8\xfa\ +\x9b\xe6\xfb\x0d\xaa(N+\x09%*\xf1\x8e\xf8\x01i\ +bP\xffY\xca\xf5t/\x9b\xa5\xe3Jf%\xa1\xe4\ +GHi\x81\xd0C\xba&2A\x0f\xa0\x80\xd6SH\ +\x81\xec\x8f\xc0\x0c\xff\x09\xff\x06\x84'\xfe\x04\xbd\xcdG\ +\xa4\xf9uDE\xf2\x072LP~\x97\x85\x95\x7f\xe2\ +\xac\xf8\x04\xcc \x0a\xf1\xe7c\xeb&\x886\xc6;\x09\ +\x0e\x10o*@\x81\x94\xa4R\xea\xc8\x88\xc5\xb3\xee\x92\ +\xa9\xc7\xe4\x04\x9c\x07\xc6J\xec\xf9\xfe\xc6?\xb8\x0c\x08\ +$y\xfe\xb4\xec\xd0\xfaH\xc1\x81\xd62\xf6\x1b\xfe\x81\ +TXY\xf3e\xd3^\xfe\xd4\x0b<\x5c7\x01\x0f\xba\ +\xf4\x22\xfb\xf4\xfb\xa6\xfb\xee\xf3G*\x1e^8\x00Z\ +\xff\xb9\xb1\xcff$%\xf1\x05\x81\x1a\x09\x18dy\xc5\ +\xd9\xe3\x05B*\xdb\x22u\xf5\xca1G8\xa0b\x00\ +Mb\x88\x82\x83\xf6\x1d/\x0cA\x168\x87YI\xd8\ +\xfa\xfd\x86\x9b)\x14\xfa<\xd1\x03\x12\x81\xe7\xa1\xd6T\ +G\xb0\x90\x00\xa0\xf2\x0f\xc2-\x06\xba\x9c?\xe3\x88\xfb\ +\x85_\x8e\x9fCa\x93\x84\x05\x05\x05\xfcx\x0al\xbc\ +\x9e\x80\x97\xfbL<\x11\x03\xdf\xd8\xeb\xce\xdf\xa3L`\ +\x84\xf4G9\xeeYDbO\xe2\x80yH\xc5=\x22\ +\xd9\xa3Lw \x01t\xee\x06\x12$\xf1\xba\xa2\xdaY\ +L\xb4\x90\xe8\xe6}\xbc\x0e\xbf5V\xf8c \x1f\x13\ +\x00\xf1\xf7\x5c\x0f\xfe~\xad\xe6\xd7\xda\xdb\xf8E\x94O\ +\xb0\xed\xf8\xe5\x99\xc9\x18`+u\x92\xbbZ\x16\xee\xcd\ +U@\xcd\xfb\x08\xe8x\xc0l0<\xd8\x98\xc9d\x00\ +\xf3`\x98\xe01\x01\xc0\xf7\xce\xa5\x81\xcf\xcf|^\xb8\ +P\xff\xbe(g\xc7@`\xe1\xe1\xfd\xb3\x07\xd6}\xfe\ +\xaeJ\x7f\xaew-_\xf5\xa0\x93\xa8\x00\x1a\xc4\x03#\ +\x10V\x00\xee\x90K\xce\x87\xfbC\xa5X=\xe08D\ +\xb9\xe5b\xc9\xc2\xaej\xd4[F\xbe\xc5\xc2\xe1\x01\x1d\ +\x13\x96\xc4\xc2\xacBdPI\xa5\xe2M\x02\x00H\xb7\ +*\xeb\x0e\xb1\x03\xca\xbe\x8eW\xfe\xfb\x04\x03\x0b]D\ +\x00HN0\x85a}\xaf\xbb\xa0o\x1e\x00\xd2\x03\xce\ +\xfd#@a\xa2\xf3=\x9c\x1f\x9c\x12\x1fRb\x02\xf6\ +Y\x91\xb69G\xc3m\xcaL\x16\xce\x87\x89\x95c\xee\ +/\x95\xda5\xd4JBF\x1a2I\xc9\xb1y\xa6\x16\ +\xee\x0b\xc8\x9f\x9e\xd7\x84d\x81%\xc0Co|\x03-\ +\xc0\x8c+\xc6)\x95I\x05\xe8>\x9e\xd9\xb8\xb8\x8f\x8c\ +{\xa0\x84\x9b\x98\x95\x0a\xbb\x07\xfel\x9c\xaa\x98\xb8\x1a\ +\x05\xf7\x97\x05\x1d\x1dw\xf5~g(\xf1\xd7\xaa\xdet\ +\x90&,L,\xa4\xe2J\xa0b\xea\x1b\xbf\xc8=a\ +W\xcf\x88\x9eAE.\x06\xc4\x5c=\xd3\x1e\xe0j\x9e\ +\xe7\xde\xc9]\xab^qA\xe9\x09\xd0F\x1f1\xabX\ +\x9b\x974+z\xbc\xee\xb0\xd3+H@N\xc2\x85V\ +\x086Dt\x83\xd5\xf3\xee\x8e\x05\xe3\x15(2\x1b/\ +duld$\x82\xb4\xd1\xd13\x1b\xa1\x9f\xde\x8b\xc8\ +\x86(G\xc8[\xae\x80\xd8C\x02&\xa8\xb4q\xb8\x1b\ +\x8b;d[\x04\xfeTf\xdb\x87\xcc\x0a\x9b{{\x8f\ +YI\x04Pi\xcc\x81\xa2\xf5\x86\x9ffV\xe6K&\ +\xf9\xda\xa4\xaa\x10,\xa5\xde\xd09z\x120*\x19\xce\ +\x05\xa0J\x0f\xef'\xf12\xda\xa0\xd71\xf7\x80\xfb\xbd\ +\xa35F&\xcf\xba\xb8Y%\x07%\x95\x83\xc1\xef\xcd\ +\x0a\xd9\x99\xaf\xdb8R\x97\xe5\x9a\xbb\x91\x7fu\x99d\ +\xd4\x12g[T\x90l\xf5\xe8B\x22\x07G\x8a\x93\xc5\ +\xc1M\xb2\x83*\xe4V\x81\xbeD\xa4mw\x94ub\ +4k\xb2\xd9\xc4\xc2\xfbT\x95\xf0#\x91E\x85\xcb*\ +\x8d\xa6W}\xb3Y\x86\xb8'+\x88\x0a\x10\x14\x1e \ +\x03m\x06) \xc7\xba}\x87Y:^d\x96\x8e\x7f\ +M\xf6`%k\x08\xf4\x96#\xfb\x8b\xd6\xa5\xeeP3\ +\x9d\xffg\xaa^W#\xdf[\x5c\x0e\xde\xfae_\x1e\ +\xec\x9b\xec\xf3\xa5gy\xf4I\xb3r~\x8e\x0c\x82\xfb\ +\xe9\x85\xee\xc5\xee\xc5\xd2\x0a\x90\xc6pN\x84u\x1f6\ +K\x9f\xb7\xe0`\xa1\x81\xa98\x9chV%^~h\ +Vz\xd7a\xf1oN4K\xaf\xff\x81Y\xd5sm\ +\x15hS%\xf8W\xb2g\x0br\xa5\xbd\xcf\xacpX\ +8\xa2F\x89Uz\xf2\xe1l`}#\xc0n7o\ +?f\x15\xfe\xe4\x84\xf5\x81\x8d\x10)\x1e`\x1arf\ +\xbf\xf4\xf3\x9cf\xe9xY\xb2\xcb\xab\xd6\xabo%\xfb\ +\xb6\x12\x97_\xaa81,0\x5c\xb18\xc0\xdd.\xc9\ +v-\x0e\xb6;\xdc\x86\xd0;P\xad%k\xe8u\xbb\ +T\x8e\x1f\x08\x1e]o&\xd1\xbcH\x89\xfd\x9b+$\ +\x94\x8d\xba\xb4\x8e\xb6\xb3\x9b)!\x99\xaeo\xfc\xa3f\ +b\x01\x7fG\xc5b\x8f\x9c\x1cd\x8c\x92\xa3\xcc\xd7\xf3\ +\xad\x12\xd0\xb3\xfe\x0e\xb7\x1dn7\xdc>\x1dw\x1f\xee\ +6\xfcd\xe5\xb7PX\x80\x15\x1e\x04$\xb2|\xfb$\ +\xfbl\xc5\xb9 $\x04\xdc\x00.\xb3\x8cL\x9d\x10[\ +\xdd\xcdf\xe9\xfb\x167+\x89\x80\xe1\xebf\x15\x09\x9c\ +\xcd\xc7\xe4\x87u\x9b\x99U\x88A%\x9a \xaft2\ +?#-49\xc5k\xcc2\x17E\xb2Je@\xeb\ +zV\xb1\x98\xa3jQ\x83\xd4\xf5\xf4l\xc5\x9f\x05q\ +h\x95\xe3O\x88\x8c\xda\xd44>\x97\xcc\x12d\xbfK\ +vw:>h\x96\x9e\xcf\x95f*\xb0\xec)\xe4\xc1\ +\xb5\xf2S\xd6\xad\xfc\x17\xdb5g\x94\x1eug\xfdf\ +\xdf\x82\xfb\x82\xc4\x0d\xe3I2\x8d\xbe\xae\x8a\xb5?\xad\ +\xb6\x1b\xd8z\xdb\xedoV\x90G\x90\xf5\xe5\xb0\xec\xe1\ +\x0aZOK\xc0qf\xe2\x9c9K\xeb\xf8\x86\x95\xfc\ +)\xeb0\xfe\x09-\x10\xacG\xa8k\x91(\xd6}\xf3\ +\x82\x02\xfe\x98\x12\xb5\xcd\xf2)@]>#8\x0e7\ +\x04\x87sz0\xde\x08|h\xa5\xa42~\x96Y\xf5\ +\x9c\xf0\xe3\xd5\xfb\xee\xfb\xa3\x90\x1a\xcev\xcf\xf9n\xa6\ +VE\xed\xfb$l\xbdB\x0e\x09\x22\x01\x1b\xc8\x07Z\ +2 ]CFR\x09N\x9e\xbb\xb7\x18\xe3\x1f\x10\xe8\ +QPc\x7f\xd4:\xe8\x7f\xd7\xfe\xe7\xf1NTm\x82\ +\xa4\x0fN)~O\xa1\x83\xf3\xe2\xf7Q\xd5\x0a\x8e\x00\ +\xb8 (\xa8\xa1\x16\x81\x7f\x88\x9fN\x81\x83}\x97\x80\ +3\x06\xd4 \x11(\x1c\x82\x0c\x10g\x86'\x04\xe0\xd0\ +\x22>\xa1RM\xe2\x00\xe4\x06\x85L\x8e\x11:O\x01\ +\x8c\xca8\x8eR,\xfc\x11\x00G\x12\xc1\xc9\xe4\xedb\ +\xc5\x9e\xb8\x22\x16\x10#9\xf7\xcb\x13\x11\xd0\x1e\x97\xf2\ +o\xb2@\x9b\xef\xe5\xbc&!\x03\xf4x\x8c\x9fC\x1c\ +\xec\xeb\x05\xaf\xe3\xfe\xf0:\x10\x0b\xc4\x911\x1e\x0d\xad\ +\xb0\x1e\xefr_\x99\xef\xa1\xe7\xdf\xef\x8b\xaew<\xbb\ +#uf\x80/\x8c\xec\x91\xb17c\xb2\x07\x22r$\ +\xcf\xec1 \x09\xb8\xf9\x9c\xd8\xd3\x00\x89!\xbd\xc4@\ +s\x82\xee\xbc\x9fg\x84\xfaG\x99\xb7y]\x06\xaf?\ +2!\xb8q\x1c\x09\xec8N\x96\x10\xa0\xe7x\xf6\x9e\ +\xbd\xd2\x03\xbb%\x84\x5cXU\x0b\xc5\x12\xae^\xd0\xdf\ +G\xee'\xb2\x82\x04\xba\xb1\x85\x80\x8a\x01\xe4k\xfc\x9e\ +\xde#\x02>2r\x0c\x5c\xae\x83J/\x01\xe6\xfc\xfa\ +\xbe9\x03\xc4^\x8e\xa7'p\xf8\x5c\xc8\x04_\xec{\ +\xd5\x9a5\x04\xed\xe4\x1f\x08\x07-8NRG\xa0\x8b\ +\xc3B\x00\x0e\xe4\x89\x09\x84\xe3A\xc0\xce\xc4\xe7\xfcY\ +\xf0\xe8\x11%\xd0\xd5\x86\xea\x15\xa4\x0f+\x10`\xc1[\ +H\xd7U2|\xfd\x84\xe0z\xe1\x90 \xd1\x01D\xdd\ +\x1c\x80*\x80\xf1\x84\xce\x22\x0a\xd4\x19\x07\xc8/\xc2^\ +\xcby\xac/\x99\x16\x16`\xce\x9b^sz\xec\x19'\ +T\x1a\xc5F\xef\xf2HM%o\x95\x11\x01;U\x1c r\xac\ +\x91_\x1c\x9dj\x96\xee\xe77\xcd*\x15\x01!}\xda\ +]\xcc\xd2\xf1\x18\xb3\xaa\xb7\x1d\x1dn\x1cc\xc9\xa4\xb6\ +\xb7\x9a\xa5c\xce$(\x11\xbb\x8c\xa0\xdf+V\xe4M\ +\x9a_\xf9z\xcfP\x82\xc5\x02\xe6\xf9\x93-\xa0\xd6\x91\ +\xbb\x8b\xac.\x10m\x12\x1aT^\xdb\xe3\xcc\xe4\xb0\xfd\ +\xae@\xc7]5A\xcf\x81\xca|s\xa8YU\xd9\xd3\ +\xe7\xa13\xef\x81\xfc\xf4^-\xa2\xdb\xdd\xac\xc8\xfa\xe1\ +xz\xe0)\xbf\x02\xc8=d].\xc7\xf7\x94YN\ + \xefk\x09\xe4\xf6\xa8\xf6\xc8\xd6\xc8\xea~\xdf#\x0d\ +\x90\x854\x06\x1b\xe3\xb0\xe9\xee0+l\xe9\x90\xe1\xf9\ +\xbe\xa8\xfd\xa6;\xb6;\xa63\xee\x8d\xd7\xcd\xd2\xebN\ +1+\xfb:dv\xf9<\xe6\x15\xf9\xda\xb2j\xb5\xf9\ +W\xa9\x10\xb7\x7fHvO\x91[\xcc-\x1a\x17\x09!\ +\xf1X\xc5\x09\xa0\xde\x7f\xc8\xe1P\x0b \xd0\xa2r\x9a\ +Y\xed\xbf[%\x18\xd5Z\xe2\xeb\x1e\x1c!\xfc,Y\ +G\xf6;\xa3,6\xd2\xe2\xe6@\xb3t>\xab\x98\xa5\ +\xf3;\xdbL\xad\x0cSK\x82t\xf4\xe9\x1e\xa9\xc6\xfc\ +E\x9d\xa2\x1d\xeb\xc7\xdf\xebg\x9b\xe5\xf1\x99\xf7\x97\xe6\ +\xcdfU\x05N\x15&81\xbc\xb5\x07d\x88\xcdw\ +#\xf1[\xd1\xac\xf2\x0bH\x8cR9F\xdd\x09\x84\x06\ +\xec\xee\xbc^\x89\xee\x19\x07\x9b\x95\x16(o\xc1\xa0U\ +F\xebe\xb7\xa8Y\xba\x8e\x95\xccJb\xa7[9\xd9\ +Je\xbcv\xe3\xc9f\x91\xfa\xc9e\x05i\xe7$\xb8\ +\x91\xbc\x1a\xe8\xb3]\xe5\xf2\xe59:\x04\x1c\xf2W!\ +A@\x98\x0c\x175K\xe7sW\xb2\xdf)auz\ +im\xf1@\x9b@\x1c\x95\x09\xc6\x07-C \x86x\ +\xdd\xdb\xdc\xaf\xe8\xd5JXWQ\x0f\xa0\xe5D-m\ +y\xbf~\xb2\x92\xd5\xb3p\xea\xde\xca\xef!\xf1o\xe9\ +\xf9O\x16\x95 \x12=\xa8\xdd\xb8\xac/2\x9c\x9a\x7f\ +N\xd6\x07+>\x5c\x0d\xf4|\xd3\x12\x087IdQ\ +\x0f\x88I\xaf\xec\x92\x10\x07\x1a\xcf\xf8\xc1\x9fFE\x0b\ +\xff\x1eD#~\x85\xe2\x02\x0a\x16\x8e\xcc\x99\xa6\x8a9\ +\x89\x03\xfcz\x8do\xe7r!\x00$\xf1A\x02\x8c\x8a\ +\xabZy\xdc_a\x5c\xa3\x16\x13e\xf4(h(\x8e\ +\xc9-[\x0f\x95\x00\xd8\x0bf\xf8\x9b\x04\xb0\x14TD\ +\x06\xee\xad\x99T\xe6\xf1W@&P\x99\xc7\x9f\x22\xd1\ +\x1c\xfc*Gl\x82(\x16\x87\x07j,3\x15\xd4x\ +^\xdc\x17\x02L\x9e\x17\xfb>-\x03\x9c'\xad\xb1J\ +\x10\xf8\xf9\x91\xb0\xa0b\xcd\xfe\x0cI5\x88\x0f\xfc\x0a\ +\xb8\x09\xf8\x1cH\xbe)\xc0\xe0\xaf\xc1\x1d\x85\x1c&-\ +\x0b%`\x9fH\x82\x17\xd9\xf0\xe3\xef9\xf2>\x02u\ +*\xfd\xa8\x8cE\xb2>\x12\x14\x04\xca\xf1{b\xbc\xcb\ +s\xe1u\xbc\x8f\xfb\xce\xe7\x81\xf4\xe1\xfa\x82\xda\x80'\ +\x16y\x1fqrT'#N\x8d\x88\xf5(\x0f_\xb7\ +\xec\xcf\xf2\x06\x5c\x00\xf2\xff\xc7\xf3\x8fm\x15\xa8\x929\ +\xe0\x8d1\xe3PW\xce\xe7\xac\x16^\x02~\xabg.\ +P\xbd\x9e\x09\x1b\xa1=\x93\xf44\xcc$C\x17{\x1e\ +&#\x89\xe0\xe7\xa8;\x8f\xec\x84t\xa4]_\x93\x1b\ +\xc5\xf5\xc6\x1bI\x80\x14\x13\x01\xdc\xc0\xd7\xf4\xc0_P\ + >ebo\xc7h\xaa T\xda\xe8\xfd<\xdf\xac\ +\xcf[V\x1b\xf0BZhD\xaaU]O\x7f\xbd\x91\ +#\x81\x81\xc3\x02A&\x8f@\x88\x04\x80*\x7f\xbe\x10\ +\x93 @/}1\xfd\x9e\xf3\x99\xa6\x89\x06t\x9e\x89\ +\x0dr\x83\xfb\x8an\xf8\x0a\xe22 P%\xd0%\x01\ +@\xa0\xcf\xc0\xe5\xfc8\x8fH\x0e\x89\x83Ob\x01h\ +\x1d\xa4x\x82Ly\xef\x15\xcf\x8d\x0d\x88\x0d\x16\x87F\ +:\xce\x1e\xa0\x13\xe8\x13@/\xe2\xdc\x11pV\xf4\x13\ +\x84\x8a\xfc\xbb\xd5\xeb\x05\x07\x05\xf7\x15G\x07\x08>\x09\ +\x10\x16^\xee7\xf7\x8b\xf3\x01\xb9\x00)\x22\x01<2\ +\x9a\xc8\xc8\xf1~-\xe0\xde\x0a\xc3\xe7\x93\xa9\x07\xc9\x81\ +\xbc\x1a\x0b\x18\xe3\x87q\x8b#\x84\xfa\x81z\xd4=\xa1\ +\xc0\xf3Cw\x9b\xc4\x08\xe4\x80\x8c3\xf5\xc4yf\x9f\ +\x1e\xb9=\xcc\xaa\x05\x9d\xf7!\xef\x85\x5c'\x1b\xbc\xc8\ +~\xdao\x9bU\x88\x04\x8d\x07H~\xbc\xc7\x9bJ\x92\ +H\xacx\xee\x0e\xc1e=\x00A\xa1\x9ed\xc8\xa9\xa8\ +\xc0\xfb\xfa\xc1\xf8\xdcJ\xdc\x06$t\xe408\x97\x83\ +\x02!\x02pz\x06\x1d\xf9\x80l\x9e\x1ca\x87\x9a\x82\ +<\xd0\xbcA\x9e\xaf\xb9\xc8\xac\x0a0Uan\x974\ +K\xc7\xeb\xcc\xc4\x0e\x7foEn\xa8\xf1\xea,\xea\x92\ +es\xc8\x99\x9e?\x0e\xb1\x93\x8c\x11\xe03nX\x07\ +E\xc2\xd8~\xd6\xaczn\x8b\xa9\xc2sq\x7f\x9e\xa3\ +\xa7\xfa\x0ag\xf7%\xb3\xcaA\x10\x14\xb0\xfd\xb3Y\x05\ +\x89\xc7\xb1\xa2\xe7U\xe4\xa3)\x5c\xdc\xcc\x02FZE\ +\xe8\xd9\x051\x82\xec\x99\xcbIJ\xd6\x91\x84\x96\xcb\x90\ +\xc1\xc1`\xe9\x94\x93\xa4\xf2p\xae\x10<\x07V\x88\x92\ +{F\xf7Z\xa5\xc5:vsK\x82H\xbc\x5c\x06\x11\ +\xe4\x83\xe4\x10y\x1e\xedSf\x15\x04\x13]o8G\ +\xf8\x1cA\xe0\xdb\xbd\xcd\xaa\x8a\x94\xa9\x01l[\xb5\xc4\ +X]k[\xcd\xd7u*G~\x8f\xdcM_\xc8\x8a\ +l\xb6/\xab\xe73^\xc8\x872\xe9\xd3i\xe9\xd7\xa7\ +&\xfb\x8e\xd6\xd3w\xa9\xd7\xfd\xfa\xc2\xd6\xce\xbc\xcf\xdc\ +\x11g\x15n\x88\x9c\xaeZC\xdf\xff\xfe\xaarD\xef\ +\xdf\xa3f\x19\xba\x9d\x03Wg\x8bW\x22\x87\x84\x9f\xb3\ +\xfa+1\xd9\x1daV%\xca`Y\x17$9\xdf\xbf\ +es`\xf1\xdd\x91\x9d\xffJ\x83\x15\x07+eh\xff\ +%Y\xcd@\xbd\xee^\x11\xd4\xba\xd0\x9diVq'\ +\x08\xa9\xe5\xea2p\xab\xd0\x83\xfbq\xb3Bv\xe7\x81\ +\xe2YfJ\xd0\x9d\x93\xc7cf\xb7\xee\x96\xef\xde\x95\ +\x13\x05W&K\xeba\xfb\x9edkh\xbf\x9f\xb5\xcc\ +\xfb\xbc:\xedX\x90'\xa8u\x98\xc8_\xe6L\xd8\xa9\ +o=\xf1\xc0\x13\x07\x139O\x108\x04\x98\xda\xafr\ +K\xd8ze\x1f\xf4\x84\xc7/2&c\xac\xfd\x96\x99\ +\xc8\xd2\xf6.\x89\xa3\xc1\xdcf\x99\xcc/#-\xe00\ +i/j/n/\xae*G\xdf\xcdf\x7f\xefe<\ +\xafn~a-\x11\xdcG\x02\xff\xe1\xfafUe\xdc\ +\x12\x1di\xdc\xcd\xf8{\xb2G3\xf7\xc3\xb5\xb9\x15D\ +\x099\xf4\xc9Y7\x90\xef\xf2\xf5\x1a\xfdw*\x95\x1a\ +\xe7\xedRf\xea\xe1\x1f\x09\x91\xf1\xcb\xd2\x8a\x93I\xfa\ +\xd2>\xd0\xfd\xc3,\xbd\xee\x1ff\xe9}\x03\xa9\x1d(\ +\x81\x97\xe5\x0c\xdf'RB\xbbo\xaf%{\xb5\x90\xc8\ +v\xcf\x9b\xa5\x9f?`Vz\xf8\xb37\xf5R\x15\xc0\ +INmtR\xb2o\x15\xa8}\xde\xc5.)\xa4\x85\ +$\xd6\xf8\xfb\xe0=f\xc5/\x18mmV\x05(\xaa\ +\xf4;b\x0c.\x05\xf9\xb1\x90vz@\x06r\xcd\xe4\ +\xc2\x9eP%w\x7f\xad\xf3k\x95\xf5`\xf4\x16\xb3\xaa\ +\xd2{e\x1a%W\x16\x0e\x95\xdc\xd3\x7f\x8c\xd6\xef?\ +W\x09;\x91\x12\x83\xb4s?\x87D\x10\x89p\x05\x8e\ +\xec\x8fp\xf38\x82\x82}~\x9a8\xc2n\xca\x8a\xe9\ +\x96P\x7f5'\xd4\xf1C\xf0\x9bQ' \xa1\xc0\xfe\ +C\x82H\xd7\xef\xac\xf5$\x02~+\xff\xe2\x1eq\xe8\ +(Q\xeb\xaa\x01\xf2\x17\x5c\x1d@\x81\x9c\xb3\xcfS\xa9\ +\x864P2\x99.\xa7\x07W\x84\x12\xb2\x90M\x82\xe0\ +\xa1\x85\xaf{\xd6\xac\xacsp\x16\xd1\xaa\xe7d\x90\x14\ +>\xf4\xf9\xee\xff\xc0\x99\x03\xe2\x94@\x1b\xf2<\x8e$\ +\xa8\x09\xa8\x81\xd6#k\x88\xbf\xc5\xef\xf9\x19\x04,\xdc\ +\x00\x90\x05\x8ak\x84\xfd\xcf\xe31\x127\xfcL\xdc\x00\ +\x02\x83DM\xd4\xb1\x07\xc1\x00\x12Mr\x9f^\x08\xe1\ +\xbc\xf8\x19\x84\x00\xf1\x02\x15\xef\xc8vO\xa0\xcb}\xc1\ +O\xe5{\xa3\x1c\x1e\xaf\x8bl\xfb\x14tb\xc0\x1d[\ +\x92'\xfb}\xfc;~!\xe3\x0a\x12>\xae/~\xff\ +\x7f\xfa\x5c\x8e5\x92~zE>H\xa1-\xdew\xee\ +\x0f\xd7O\x9cI\xfcD\x1cM`\xcf\xbc\x8b\xaaz$\ +\xb0b\xcb;\xbf\xe7\xa8\xdf\x8f\xcfD\x92\xf0F\xc77\ +\x0a\xb0#\x0ba\x84H\xc4\xdf\xf3/\x06\xee\x91\xe5\x91\ +c\xa8\xdc\xf9\x83 \xa3B`\xca\x0d\xe2F\xb2\xe0q\ +\x83\xc9\xbc\xe8\xc1\xba\xec\x1d\x03\x88\xef\x89d\x13\x91\x95\ +\x12\x96Id~\x80T\xc7\x16\x04\x12)\x0a\xe8]>\ +D\x09\x04\x0fp\x91\x03\x5cq\xa2\x1e\xa8'\x1a\xf8<\ +\x05<\xde\x9b\x89\xac\x1b\x90\x1c\xc9=y\xa5\x96\x8d\x86\ +L1,\xedK( ^I\x01\xf1j\x82\xf4/\x16\ +\x10\x1a\x91\x03\x81\xfb\xf0\xa2\xee\xff\x8b\x92\x9f\x19\x0a\xaa\ +\x1e!'\xdc\xd7H\xf6\xc1s%\xb3\xaa\x0a\x04\x8e\x85\ +#\x04\xc8p\x02=S\xa0\xeb\x014\x81\xf8+\x8e\x1c\ +\xe9\xcfO2\x80\xe9\xa9\xf4\xd0w>\x07\x08\x17G\x12\ +\x05\xb2\xf0\x9cfV\xddoq4\ +\xc0~\xedz\xeb\xfcC\xad\x82\x8a\x82*\x03^q\x00\ +\x09\xc0\xbc\xd5\x06\xcbuxO\x1d\x81%\x15\x10\xb83\ +\x18\xa7$B\xb4\xf1y\xe5\x12\x0e\x096\x10\x02`\xa0\ +\x92\x223r\x1diH\x18\xc9<\x0bR\xce\xfdu\x92\ +\xa7\xa3\xb2\x95V\x05\xddG*\xba8r 4\x5cf\ +J\xfa\xd3\x0e\xd1c#\x86\x03A\xac\xdf\x04$\xae\xe3\ +\xad\x80%\xf7\xac>Z8P\xda9\xcdJ\xef=\x09\ +\x1e\x0f\x1c\x95\x81\x87\xbd\x9c\xf9\xee\x95}H\x0e\x8f4\ +\xab\x1c;6b\xa0\xf2\xf4\xf0\xd2\xe2\x02BE*\x06\ +\xee\xd8\x0b\x9a\x9d\x82\xc0\xbe\x07y59\xfe\x1fV\xaf\ +%=\xbb\xaa0\x0c>i\x96\xae\xe3\xa3fU\x02\x09\ +\x07[$b\xe9i\xf4\x09\x03s\x0b\x1eS\xe2e\xd3\ +\xaa\xf2!\xe8g\xee\xc9|\xacJ0\xc1\x8d@\x80\x84\ +#\xa2\xd6\x90\xdc\xe3\xbd\xb06\xcc'*\x88\xa8*/\ +\xcd\xbc}o1\xf7\x9bD\x8e\x8f\x032\xed\xaa\x9c\xfb\ +z\x07i\xa0\x12)\xdd\x96f\xd5\xfa\xcbs\xfe\x9dY\ +\xb5\xdei\x1c3\xcf\x9c\x93\xc2*m\x17\x14(mN\ +`\xedV\xedc\xb6\xca\xccU\xf5\xf0\x0a\x22\x0eG@\ +C\xa2U\x8e\xf6h\xf1d\x8b\x15\xb6\xf6\x1c\xa8]3\ +!\x91\xd9\x934\x1a$\xf7\xd3R\x03\xf9\xa6X\xb9?\ +\xa6Jer\xa8\xc7/7K/_\xb1\xaf\xb8\xb2~\ +u\x9b\xf7\x10\xed\x14\xe6\xf6\xbd\xc7\xaa\x8c\xd1\xe2\xe0\xac\ +\xe2j}\x01\xc1\xc1u{\xa0n-\x1cS2\x9b}\ +cl\xf6\x5c\x87\xd5S\xad\xa2J\xa5\xb4\xdb\xca\xac\x22\ +\xab\xa45K\x8eL{\xa0Y\x85d\x80\xeb\x04\xa4\x88\ +\xd6CH\xea,\xbd`\x09\x86\xee0\xb3J\xbe\xef_\ +B\xbe\x08\x81D\x05\x8f\xde\xe0\xe6\xabf\xb9\xb7y\xe1\ +L.\x08'\x06\x156\xb5\xe4\x8d\xde\xd1\x07\xba\xce\x19\ +\xa3@\xd7+\xacT\xc6\x90\xf3T\xe2\x80\x16\xa8\xb1\x1f\ +\xaaW\xfaD\xb1\x94\xabB\xeb\x89\x5cA|\xa9\xd0\x92\ +\x00e]\x1f\xdcd\x96\xae\xef\xfb\xdd\xc1\xdd\xc1E\xae\ +\xb4]\xdc,\x1d?e\x96^7\xafYi\xc9\xf3\x1e\ +|\x90 w\x99\x15\xc4\xd9\x8c\x1b\xcc\xd2\xfb\xd66K\ +\xdf;\xddLP\xf4\x03\x0a\x22\xc8IC\xe9\x85V`\ +F\x22\x08\xb26\x13\xa14\x19J\x906\xae&`H\ +\x8d\xe4/u\x87'\xfbj\x91\xcf\xcc\x88\x03k\xc9x\ +\xcd,\xb9\x15O\x9b\xa5\xf7\x7f\xd5L\xfb\xd0o\x8b\xec\ +\x5c>\x8f\xd9J\xebH\xba\x1f\xc9*\xd6|+_<\ +Z!\xf0\x8c\xd1e'\xb5\xaal\xac\xc0\xf3\xbc\xea9\ +\xc1N\xcf\xbe\xafV4\x12\x0f\xa8\xeb\x18wC\xbbl\ +E*\xb7\x9aYA\xa8\xc1\xad\xe2\xfb\x1d\x85\x0ed\x12\ +!\x8f\xe4>Z\xba\xe1(!\x81\xe6\xaf\xc6\xab8+\ +\xe0\x10\xf1\xbf\x8f\x8f\x06\xa3qA\xe4\x7f^U\x8a#\ +\xa2\x94\xca=-\x81\x9a7\xbe?R\x10\xc1\x8f\x0a\x01\ +\xa6't\xd5\xeaAb\xc9U?\x8eW\x0b\xc5\xe1i\ +\xde\x1c^\xf6I\x0f@\xe7\x90\xff\x0a4\x5c\xaaD\x8e\ +|$ \x81\xad_\x88\xd3\xb4\xba/aj\x19\x1e\x98\ +S\x00\x00\x92\xaf\xf3\x86\x1b\xc1\xb9\x80\xf0\x9bH\x04\xb0\ +\xff\xc1=\x04)/\x01\x12\x09\x15\xfc\xb75\xe5_\xd2\ +z\xa0\x96\x0e\xe4\xa1\xf3x=\xbc\x92\xad\x14G\x92\xb7\ +\x06\x820\xc5\xef9.[\xf1\xe39?Z\x07Q[\ +\x10r\xa4\x92\x1b\xec\xf7E*\xe6\xf4\xec\x13?\xc0\x19\ +E\xc1L\x052\xb8/\x1c\xc1\x84\xda\x05\xfe,2\xe6\ +pZ\x05\xe8=\x894/\x14\xb1\x9f\x92\x08 0e\ +<\xf1\xb9\xf8C\x90\x1f\xd3\xe2\x80\xff\x05rA\xeb\xa2\ +'\xbc!\x15d\xbd\x8cq\x02\x08\x8a\x18\xf0\x07\xb6\xff\ +\x99Z\x03bB \xca\xf3\xf1\xb9\x14l#2\x22\xca\ +\x0f\xf2\xfe('\xa8\xcfs\x99aZm\xf8\x9e\xd8R\ +\x10[\x05\xb8N\xfc\x90 \x1f\xef~o\xe4\xca\xe3\xfa\ +x~1\xe0\xa7`\xcf\xf3\x06\xa1\xc5sF6\x94\xf8\ +Y\xdf;\xee'XgF^\xaa.\xc4\xfe\xaf\x7f\x9e\ +\xac\xe7\x22\x927pC\xffS\xa6$~^\xbc\xf1d\ +D\xc8\x10\xb1P\xe3\xb8\x81\x1c\x90\xc3\xd9\xac%\xe88\ +\x81\x1e\x90\xb0\x08\xb1\xe0{8O\x02\xdd\x18h1P\ +C@\xec:\xef\x0441P\x0c\x0bl\x93\x00\x00 \ +\x00IDAT&\x90\xa3\x82\xcf\x82\xcb@\xe1s\x19\ +\x10T6H\x10\xf0z\x16L\x02K\x12\x06,\xfc|\ +>\x08\x8c\xa8\x92\x00\xcb$\x89\x0b\xc8\x18q`\xe7\x9a\ +\x04Z\x12'\xd8k\xfa\xdci\x139!|\x02\xc7\x00\ +\x96\x04\x0c\xbd\xd7\xfc\x1e2\x18\x10\x22\xa55\xa0GD\ +,\x17\x8e\x5c\xdf\xebA\xf6\x83\xfb\xfc\xa4\xbe\xe7i\x9d\ +\x07\xe7\xcb\xc4\xe0\xbe\xf0}\xdc\xef\xdf\x8f\xdd\x9d'.\ +\x13\x1bG\x9a\xf3E6\x11yA\xc6\x09\x1b-\x13\x0d\ +Vo\xd4\x1d8?\xbe\x8f\x8d\x80\xfb\xc9s\xd1\xc2J\ +&\xdb\x03Q\xdeG\xa5\x1b\xc8%\xcf\x8d\x85\x19\xe8>\ +\x19e\xd8o!\x1fd\xdc\xc4\x85\x82\xe7Eb\x8b\xcc\ +\x22\x89\x0a]\x87;\xae\x0aHq\xc4M\x1f8\xcbt\ +Q\xf9\xa6WP\x1bTs\x9bYI\xb4y\x05W\x1b\ +\x96\x07\xb2r\xb4\x1c\xb2(\x96sw\xc4\xd1\xad\x17\xab\ +|;\xc3\xacJ\xbc\xb1\x10\x0bj\xe9\x0e\x01\x95\x03\x91\ +\x0b\x02\x19wd\x00\x1b7\x15Q9\xd28\xda.O\ +\x08t\xf7\xd0l\xde\x8a\xe3\xbd\xbe$\x08\x84,\x82\x8b\ +\x03\xa8(\xf7\xa5\xbd\xc0\xac\x90s\xd1Z\xe1\x09!A\ +\x87]\xb6\x0b\xb6fq/L\x80\xae\x1eQ\xcd;\x02\ +\x07*\xe3@2Uy!!\xe5\xf7Ud|\x0e\xf1\ +'\x11\xf2\xf5l\xde\x9b\xedrC\x1a/\xcebN\xa5\ +\xfc|\xb3t|Y-\x0a\xcb\xb4\xefl\xdfYU\x9e\ +\xd4\xab\x09\x94zx\xfb\xf0\x8e\xe1\x1dY'~\x9b\xac\ +\x13/G\xa9\xbd-\xd9\xadZ'\x9e\xae\xa0\xe7\xb0\xd8\ +\xef\xd5\xedm2e^\xc9a\xfe(3\xefl\xf2\xf3\ +\x9bU2\x85\xc6\xad\xb0^q\xd4P#\xf0\x04\x9d\x9e\ +\xb7\xcb3)\x00\x80\x9d\x9aD1\xa4\x92\xdez!\xa8\ +\xb6\xab9\xf0:U\xd2\xda/\x9b\x15\xd2=o=\x10\ +Y\xa9\x07\xcc\xc8\xefY\xc0\xbbY\x05U\xb5U\xca\xae\ +\xe3/fUE\xf25\xb3*q'\x96u\x02t\x12\ +m\xce\x8amn\xf0\xddU\x22\xc1T\x08\xeeM\x01\xde\ +\x15\xc9R\xe0?\xf8\xbcY\x197\xc3\xfb\x86\xf7\x0e\xd3\ +\xdf\xbb\xfb\xcdJ\xc2\xa1\xfd\xa3YN\xbc\xf5\xf7\x079\ +-\x1c|*\x19@h%\xc7\xd8^kVZ\xf9\xba\ +G\xcdJ/.\x08\x06\xd4\x13\xbc\xc5a9\xb3\xf4\xf7\ +\x1b\xcd\x8a\x5c\x18\x01\xae\xebT\x8b\xa4\x93\x80\xa3{\xc0\ +,]\xc7t\xb3B\xee\xc6\xbc\xa5R\xcf\xf8\xa6\xd5\x01\ +\x04\x07\x09\xd0\xf6\xbbf\xe9\xe7o\x98\xe5\x8a\xe2\x072\ +R\xf0\x8a\xb1+\xcd1\xb6\xb4SN\xbe\xc7\xf8\x1ey\x9d\xeaIw\x91\ +Q3\xe4C\x0a\xb0\xba\xf3\x93] \xd2FC\xc8\xdc\ +\x9f\xec\x81*p\x05a\xc4\xbe\x82\x9a\x06j\x1d\x7f6\ ++\x01\x82\x93 \x8b[(?\x8dC\xc4z\x9f\xf6\xb5\ +n\xb1d\x8b\xe6\x04\xd1B\x96 j\xa66\xcf[\xcb\ +Cw_wow_\xe1\x14@\x95\x22\x93\x04nS\ +\xb5\x1a\xa2\x8ea\xea\x1c\xff(\x09%\x97\xcfTkP\ +>\xbb\xdb\x0b\xcb\xfe\xe8p\xb3BF\xe9l\xfe8\xe0\ +$2\xffj\x96>\xf78\xb3JfW\xc8$d5\ +q\xfb\x08\xe0\x8di%s\xad\x808\x04\xc9\xc8\xb5\xf9\x8e\xed\ +\x13\xc9+8\xcc\xfc\x02\xe4?\xd3(\xcc$\x9c\xa3]\ +\xcc\xde\x80]\x9dJ\xab\xc8\xf8\x1cy\xf9\x7f\xaa\xac\xcb\ +\xcfE\xc5\xa1\xfb\xb3Y\x95\xc8@\xb6S\x88\xd0\x8c\xe8\ +8\xa9\xec\xfb\xae\xf6\x04\x92\x0b\x04\x06\x05%*\xe1\xf4\ +\xa8\x7f~l\xdf\xb1}3\x22\xb3\xe7\xc4B^\x11N\ +\x9as\xcd\xca\xe7z\xa2\x86q\xcd>LK\x00\xfe\x10\ +\x9ci\xa8\x8b\x90\xf0\xc3\xef\xa0\x92\xcey \x1b\x0d\xd2\ +\x0e\x84\x1f\x019\x015\x03\x8e\xc0\x90\xc2\x22$\xb3 \ +-D\x86\x0a\x14\xdfI\x8a\xdf\x9b\xad\x14\xa8@\xec\xc1\ +\xc5\xa3\x16\x14\x0fl\xf179O\x02|\x12h\x8c'\ +\x12\x17\xe1\xe8\x90\x7f\x10\x10\xb1g^-\x22>\x1e\xe0\ +\x16\x88\x9c\x011^\x8b\xdcn\xfc>\xb6\x96\xc7#q\ +Dl\x1d\x88\xb2\x82\xb1@\x1c\x0b\xd1\x9c?\xe7\xc71\ +\xc6\x97\xc4\xcd1!\x81\x1f\x17\x13\x01\xc4M\xc41\xf8\ +\xe7\x9c\x07\xcf\x9f\xeb'\x1eQ\xbc\xeb\x05\x1d\x90\xc4 \ +?\xe1\x8a#!\xa3\xf5m|\x02\xcb?\x1725\x90\ +2<\xff\x06$\x0a$\x06\xb8\xb0x\x81Sg\x82\xc4\ +\xf7\x15x \xb7\xf1\x06\x11\xf0\x07\x92\x04gu\x8f\xdc\ +\x04\xdc n\x0c\x15\x10\xb1\xec{@E\x06+f\x98\ +x\xa01QA\xa2\x81\x09\x1a38\x81\xb3\x80\xcc\x97\ +\xf7\xd43\x10\xc84\x11h\xab\x92\x06;f\xb3\x95z\ +\xd2\xe9Ey6\x04\xb0$8\xd88x\xa0\xb1\xa2<\ +\x8b>\x9f\xcc\x90\xf4.\xfd\xbaI4Py\xa6\xf7\x99\ +^w*\xdc\x5cWl\xcd\x88\xe4\x11e\x00O\xe8m\ +\xf1\x81L/\x0f\x90} \xecd\x0e\xc9\x8c\x03\xddg\ +\x9c\x90`\xa8\xf5lgL \x95\xe9+\x9c\xb0\xbb\xe3\ +\x880a\x1eR\xcf\x95\x16P'u\xe1u\x8c\x1f\xd8\ +zoL\x0b\xdd\x8dUe\x9a\xd6\x02\xbew\x8a\xc6\xa1\ +*@\xcdz\x1aO\xa1\xe7\xcd!\xbb\xf4`\xd1\xf3F\ +\xe2\x81D\x0e\x19S\x16n\x02r\x12\x0e,\xf8$b\ +\x98\xf8@\xeb\x08pU\xf1\x86\xad\xd7\x13\x0c\x913\x83\ +\xf1\xc2\xc6G\xa0\xc8\xf8\xe1{XP\xe2\x82\xc8s\xe1\ +\xf7@\xf5\x81\xc2\x8b\xa3\xc1\xc9\x065\xde\xbc\xa7\xdb\x1c\ +\xc8\xfb\xab\x1e?t\x91\xe5\xd0\xf8<$\x00?\xde\xac\ +\x9ao\xdc\x1f\x02T\xc9\xfc\xf0:\xaf\xa0\xf3> \x99\ +$r\x08\x18\xb8/l\x8c\x82pZ\xbd!W\x1cP\ +_\x90\xbc\x92\x93\xd0iA\xf6\x84\x0a\x1c%$@\x04\ +\x9duh\xacH\x0a\x9bY\xccJ\x8f\xb8\xf7\x082\xfe\ +\xe5\xe0\xb8\x9e\xbb\xa0\xdc^i\x84=\x175\x07\xe6\x15\ +\x90]\x05\x96\xae^\xf0\x88Y\xc5\xaa\xac\x8d\xd7e\xda\ +T\xf1G\xd5\xc0\x03\x7fU*\x9c\xedZ\xad\x1bN\xea\ +\x08\xd4}]\xb3t\xbc\xd3,\xab\x0e\xe4^\xe5\xf6z\ +\xb3t|B\xfa\xf3\xf3\xa6Y6of\xcb\xfenf\ +\xcb\xfe\xd4\xd8\x9e\x19\xea\xbe~_1F\xf5#m\xf3\ +\xff\xcc\x1b\xbd\xb9\xdf?-\xa4[8\x1a.\xcf\x05\xdb\ +\xbc\xd4N\xda\xdb\xcd\xd2q-\xb3\xd2SOb\xa7]\ +\xc3\xacp\x0dP\x01\xa4\x22\x09\x82\x88\x84\x94s\x00H\ +\xed\xc4u\xe3\xe9\x91\xa7\xd2,h7\xf3\xd6\xa1\xc6\xcc\ +gZGh\xcd\xd08\x1c\x1ddV\xce?\x93Z\xfd\ +\xa4\xda_W\xcd\xca\xd9\xbd|\xe6bB\xd2\xecY\xd6\ +\x95ns\xb3\xaa\xb5\x85\xca4H\x1b\xc6\x1f\xfa\xe3\xf3\ +\x98\x15\x07\x17\x12\xcfv\xaaY:nlV\xd6{\x02\ +\xe5\xe1}f\x0a\xe0\x7f\x9e^\xf7\x96d\xf3W\xeb?\ +\x10\xd3\xd3G\xa7eh\xae\x05r\x96\xd8\x19\xef\xf5\xe6\ +\xd3X\xeb\xb99DN\xe7\x15-\x90!\xb8\x0a\xd8\xe7\xe0*\ +\x10\x19\xa8\xcbQ\x92\xa0\xa0 \xc5\xef\xf9>\x12k|\ +.\xaf'\x81\xccz\x19+\xe1\xf8\xd1$\xae \xcd#\ +A@|\x1a+\xee\x11\xa9\x8e\x7f\x1bU\x01\xf0\x9b\x89\ +\xcfb\x02!&\x02\x22\xa7\x00\xdf\x1bI\xeey\x1e\x93\ +\xa9\xe7\xe1\xf7F9@\xfc<\xe6\x03\xe7\xc1\xe7\x05\xf2\ +>?\x9fXH\x05\x11O\xbc\xc7\xf52O\xb8.\xf9\ +\xff\xe3\xce\xea\x8f\x1c\x1b=\xfc\xc8\xfb=\x9fy\xd0\x9d\ +L\x87#\x0e\x93W\xac\xb9\xc0:\x910\xa5\x0axb\ +\x0f\xc5\x8b\x01\x8a\x01\x19\x03\x81/\x1b\x9c\x06\x9cC\x9c\ +co\x08\x9fG\x85\x9e\x89\xc3@\x89\xec\xf2\xf1\x01\x11\ +(\xd3k\x0eDP\x95H\x1f\xa0\x5c\xcf\xcc\x19\xa8\x1e\ +\x81\xc0\xfb\x80\xaa3\xb0\xd8X\xe8\xe9\x06\xda\xb9\x9e*\ +\xc6\xd35\xa0\x08\x9c\xa5#\xea\x99\xc4\xd9B\xaf\x07P\ +\x0f\x1ed\xa3D\xc4\x03\xaat\xbcCl\xeb\xdcw\xae\ +?\xb6B@\xb2\x17\xc9.\x22\xeb\xe4X\x90Y\x8c\xcf\ +-\xcaz0qK%\xbd\xff\x99\x80\x93\x01\x8eC\xa5\ +L\x94\xebIGH\x0b\x89\x1d\x91\xd387\xc4\xdcz\ +]\xa9\x98\xf7\xe7=\xb7z\xdd\x95y\xf4\x8a1\x09\x16\ +\x9e\x7f\xe4\x10\x18\xea\xb92A\x9f\xf4\x1e\x9d\x89\x89\x14\ +\xae\x87\x8c,\x09\x14\x16.62^\xcf\xc2}\xbbY\ +\x95\x98`\xa2\xb2P\x0b\xea\xe5\xcf\x85\x05\x8b\x05\x82\xfb\ +\xcb\xefyn\xcc\x17>\x8f\x0d\x94\xf9 \x04\x80#\x15\ +\x04\xdd\xf4\x85\x84\x85_\x1b\xcf\xe8kf\xa5B\xef\x01\ +#\xf3\x17\x07\x8f\x05\x9c@\x81\xf9\x00d[\xec\xe0\x9e\ +Y>\xc1\xacr0\xd4\xb3G\xe0\x0c\x19\x92\xcfG \ +nT>\x81\xda\x22\x17\x0a\x94Q\x8e\x07rx\x0e\x05\ +\x84\xdd\x98L=\xe7\x8f<\x1b\xf3\x11\x99 \xee3\xf7\ +\x97\xfbH\x0f#\x0e\xb4\x12\x92\x90tA\xea\x07\xc9Y\ +{\x90YF\x1e\xfc\xc1\x90\x07 \x85\xa8\xfa\ +\xde\xe1_\xcdr@\xd8s\xb2l)\xe4\x0b\x880\x0b\ +\xe7~\xa3y\xb3\x98dG\xa7\x8ad\xef\xe7Z/l\ +\x1e\xfd\xc1\xac\xf81\xdd\x22f\xa5\xd7\xdb9lt\x1f\ +\xbaOw{\x19r'\xb7\xa8\x5c\x9b!\xbf\xbd\xc3\xaf\ +\xeb\xf2J\xae\xf6\xf3n\x9ddk\x17U\x94\xeej\xb3\ +\xc25\xc1x5\x06\x07\xe3p\xc8\xc8\xab?\x17\xa8;\ +\x10\xf9\x8c\xcb\xd9\xbd\x92eU\xc2\xc8\xc9\xcc\xf0\xafH\ +\xdc \xd3\xa7\xc0\xcfeh\x05\x81\xf7\xf5\xc9\x90\x0a\x8b\ +\x15\xa4\x19\x09K\xd4r\x80\x86{`\xcf\xban\xe3\xe0\ +^A\x9e\x7fS\x90+3\xf9\x8f\xec;\xa8\xfc\x80\x10\ +\xb3\xce\xfe\xbf\xe4\xf3~2\xfb!\xaa\xdc\x22\x0f\x0dY\ +n^W~UH\x1f\xb3\xb8\xeaA\xf2\x8bN\xacX\ +\xd9Y_L\x8e\xf7\xc2\xd2B\xe1\xaa:\x04\xf8\x1f5\ +\xd3~tVQ\x19qn\x19+S\xdc_\xfc\x99L\ +nyP!\xbd\xf4\xebS\xe2\xc0\xfd\xbau\xfbu\xcc\ ++\xeb\x1a7^\x10P\xa2\xacY\xa3\xafd\x8f>\xa4\ +\xfd\x1e\x92dZ\x84\x08\xa8A\xba\x81\xdc#1\xa1y\ +\xe8-$\x8aS@0x\xef=\xa4\xb8\xa6\x0aq\x5c\ +\xe5g\xfe\xde\xac\x92G\xc4O\x84;\x08\x7fN\x09'\ +\x12\xec\x1e\xc8\xb3\xae\xe3\x9f\xe3\xcfP\x88`\x7f\xa0\xe0\ +\x03\xb4?\x06\x82|\x1eH5\xb8\x13h\xc1\xa4\xa2.\ +H\xbdC\xf0IX \x17\xaeu\xc2\xc9\x1f\xe1\xda\x01\ +\x99\xb6\x8bY\xd5\x22\x02\xa7\x05d\x80\xf8\xbb\xf8\xcd\xec\ +'$FA>\xc1\x81\x01\x82\x80\xc4\x05\x08\x02Z\x1c\ +H\x0cp]\x8aw\x1c\x09C\xbc\xc5}\xe0\xfb@n\ +p\x1e\xa1\xd0\xec-\x06\xcc\xf7\xd7&V\xfa=1w\ +\x93Z\x19b+{L\x1c\xfc\xa7D\x00\xfes$\x19\ +$>\x05\x01\xa2D\xb5'R\xf8{D\x10@R\x89\ +\x0a\x1c\xfe\x18*X\x0b\x99U\xf1\x16\xef'\x91\x81J\ +\x1b\xe7\xcd\xfa\xc2\xf8\x8d\x5c\x02\x8a\x9b\xc6}\xe0\xd9i\ +\xfc;d,\xa6U\x08\x00~\xae\x7f?mBo\xc5\ +\x0b\xde\xbb1\xbd\x0a\x0c\x0ai^\x7fbQ\x0f\x91@\ +\x8f\x1b\xc8\x00 \x80\xa2r\xae\x09\xe0\x09\x87(\xd7\xc0\ +\xc6FK\xc0\xad}\xcfX\xf3\xc9\x9e4\xc3\x1f\x08r\ +Cr4}\x80s\xa3\xe8\xf5g\xc2)\x90\xf2@\x92\ +\x1bN\x80@/\xf7\xb2\x1a(\xfc\x9d\x1b\x1e\xd5\x08\x08\ +\xcc\x86\xba?\x0c\x00\x068\xd0oZ\x0c\xb8\xde\xa9z\ +\xe0L\x08\x1e8\x01 \xbd\xfc\xb1\x97%\xb6\x5c\xbc:\ +S\x0f\xcdD\xd2\xc48p\xc8\xa0\xf1yz~\xa3g\ +{9\x90f%\x0f\xc8\xfb\x00?\x06\xb6\x9a\x00\x1e\xf8\ +\xf2\xfc\xb9\xde\x18\x00Syc\xe2\x8d&\x8e\xa3\xf4\xaa\ +\xbc@\xfb\xf7\x92@\xe1s\x81\x94\xe9\xfd\xfe\xfa\xf7\x89\ +\x9d\x9fLYD6<\xa1\x00\x9b\x80\x98\xf1Db\xe8\ +\xb1\x1e\xa2\xd4|P\x01A@X\x00a\xf2\x0d\x8f\xfb\ +\xc0\xf8\xe6\xb9\x82\x18\x81\x8d\x99\x84\xc1d\xf7\x01\x07\x92\ +\x8c^$\xc5\xe4\xb9\xb202o\xb8\x0e!\x01<\x81\ +\x22\xb22\x0f\xd4E\xe2\xe5\x19m\xee\x8f\x02Q'\x0b\ +\xc2\x91\xd0B\xdd\x9dmV\xc6\xa7\xf7\xb0\xc3\x96+v\ +o\xef\xe1\x83\x0c\x11\x19.\xc9\xc5y\xc5\x1drF\x02\ +nZ\x1bV2\xab\x1c\x04\xc6\x11=~\xea\xa9\xeb\xce\ +1\xab\xf4\xe5y\xae{g+\xac\xf3\xf4r\x8b\x05\x1d\ +H\xe1L=V\xb4\xe4\x08\x22\xcc\xf3h^1+\x89\ +\xbc\xe6\x14\xb3J\xffW\xad\x07\xdd\xaf\xcd\xd2\xf1\xd5\xee\ +\x95\xceH\xab\xce1+\x95\x1a\xd7\x91g\x1c\x00\xadT\ +\x85\x09\x04\x05z\xee\xedg\xccJ\x05\xc3\xe5\xeb\x14\xa0\ +\x22\xe3\xd6^jV%(\xa8\x14\xbf\xa7G\x8c\xb8\x8c\ +\x98\xd4\x0a\x5c\xbf\x9by\xaeu\xd8\xcf\xe3)\xe9\x92\x93\ +\xc8\x94*\x87\x93\xf51OT!\x81\xa4\x0a\xc4B\xfb\ +\xf3\xbeg\xb5Y\xa5\xbd\xa3\xbd\xa3b\x9b\x06\xaa)\x07\ +\x04\xae\x05\x12U\x8e\xa00\x84\x85%\x1cri4\x1d\ +o0\xabd\xd0\xe0\xf0\xb4J\xfa\xa2Y\xbe\xae?o\ +\xc6\x15\xe3\x88\x0a-\x15\x0fZOp@Y\xf7\x14\x18\ +\xb47\x9a\x15\xd2\xba\xe6Y\xb3J\xdeK\x01\xa8\xb7\x88\ +\xa8\xb5\x09\xee\x04\x02\xca\xacO\x7f\x95Zk\xd6\x15d\ +\xf4\xbdU\xe2\xd2\xf0\x02\xd7\x17\xb6\xf7\x0c\xe1\x9b_\xcf\ +\x03\xee\x99\x97\xab\xdeTA\xbb\xe9\xc5\x1e\xfd(\xd9y\ +%\x91\xd9\xfc\xc6L\x89\x9f;J\x02,CP\x7f$\ +\x15\x87\x8dE\x06\xb7^\xa9D\xc2>O\xa5\xd6I\xb1\ +XG\x84\x10\xf1V\x00!s\xdc\xa1<\xd4\xacT\xd6\ +F+\x9b\x15\xf2\xca\xee\xa3\xddG\xbat}\xed\x8f\xda\ +\xf3\xda\xf3$+\x9a\xe6\xc3h\xe9\xbe\xb7\xbe[\xdf\xac\ +\xb4\x82x\xa5_H\x00g1GvPd{\xc3o\ +\x9b\x95^\xf0nn\xb3\x9c\xd0\xec!\xc5\xbf\xe9\x1d\xe4\ +\xf6K\xed\xc1\xad\xc9\x18vfe\xfft9\xc8?\x9a\ +\x95qH\xcb\x9cC\xbf%\x17\xea\xad?w\x9bU\x81\ +\x01\xfb\x0f\x09\x0f\xd6M\x90z\x90r\xe1(\xc3a\xa2\ +\x8a\x1d\x898O\xdc\x00QG\xae\x0d\xf5\x1d\x90\x0cB\ +\x9c\xb5\xb3\x98\xa5\xe3o\xcc\xd2\xf5\xcfjV\xf6\xcd\xcc\ +\xa6\xbfr\xe6\xaa\xc8\x90\xf4\xe6\x04\xad{\xd6Z\xf6;\ +%f\x8f\xaf\x10\x0f\xebg}\x1bW[q\xf2N\xe4\ +=\x81\xc0\x8b\x94\xb5\xfb\x9aY\x19\x97\xa3Kz\xa4Z\ +Z\xfd\xfb\x84\xaf\xf6)\xe6\xf5\xe8e\xb3\xd2\xaa\xd0\xbd\ +\xcd,\x1d\xff \xb5\x88\xd5\xcc\x0a\xa2\xc6\x03l\xc9\xe8\ +\xe1\xe0\xe7V\x18\xab\xbco\x97l{%\xec\x8e.\x01\ +>j\x0d\x8e\x14\x80\x95\x1cN\x13\xf5\xa4\x8f\xbe`V\ +\xf5\xa4\xd3\x0a\xa4\x8a\xb9\x89\x9f\x9a\xfc\xa3\xcfwz\x98\ +\x09,h\xbd\xe0\xba$\x93\x96\x03\xcfiU`M\xe5\ +V\x90\xf1Qk\x96\xb9%\xde\x91\xe5\x1f\xed{\xb7U\ +\xa5{\xab\xfc\xfei\xb9\xc0\xb6\xba\xe91\xcd\xcc\x0e\xef\ +\xfa\xe1\xb6K\x1f!\xee\x94S\xab\x16.\xad\xcb\xb9\x10\ +b\x15\xd9\xcb\x93]Q\x15\x92\x08$\x09\xf4 u$\ +!M\x8b\x87\xfcU\x97\xbd\x14I\xe6\xd8]J\xb4\xc3\ +\x11\x80\x9fCA\x04h<\x85\x19H\xaf\xa3L\xb7\xfc\ +Fz\xd4\x1dbO\xa5\x9f\x80\x99}\x86\x0a3\x88\x07\ +\xc8'A\xdc\xa80\xc3\xbe\xec\x88`\x158]}\x08\ +\x04\x06\xc8\x10\x12\x96p\xb20^\x98\xd7\xccs\x02\xd8\ +\xe3\xb3\x95\xc4\x8c\x02_O\xcc)@\x1b]eV%\ +\x96\xf0\xbb\x89\x03x\xae$\xf0@@\x13\x18\xb3\xfeB\ +>\xc8\xf8\x03\xda\x0f\xc4\x9e\xf3\xa5PD|\xa0\xd6\x10\ +8\x0dF\xa7\x98\x15\xff)\xf9'\xaf\x9a\x7f\xc2\xfa\xe3\ +\x95v\xc8\x9c9_\x9eW,\x80\xb1\x0f\x91\xf8\x84\xfb\ +\x81\x04\x07\x05?~\xd6\xf3\xf3\xd7S\xb0\xe1s\x89\x0b\ +\x09\x88Y\xffA<\xe0\xdf\xe2\xefF\xe8}Dx\xc7\ +^\xfc.p\xd4q\x8c\xf2~1\x01\x10\x8f1\x81\x10\ +e\xe6cKyD\xbaGD=\x01=\xd7\xcfsD\ +\x15\x89\xc4\x14~4\x9c\x0e|\x8f\xe2\x03\x1f\xef\xe2d\ +q?\x83\xd71\x8f\xe4\xef\x8c\xcf\x04e\xb6@w\x85\ +7H\x04D6\xc4Z_\xb1N\x04D\xd22n\x0c\ +z\xa0d\xbe\xe7\xe9\xc9\x9a\xfcBq\xcc\x08@8a\ +\xa0\xd4,0\xb1\xb7\x9b\xf7\xb1`P\x19Fv\xef-\ +\xcax0\x809\x1f*\xc2\x90\x95\xf13\x81)Pu\ +\xf5\xa2\x93ar\xa8x\xac|\xc6J9\xf7\x83LV\ +\xd4{\xe4A\xf3~\x06r\x18\xc0\x90\xdf\xf8\xc6\x05\xe7\ +\x00\x15v\x06b\x94\x7f\x98\x1e\xa0*\xe5\xb9\x81\xc4\x00\ +\xea4\x91d#N\x0c&\x12\x89\x22&4r6\x04\ +\x96\xf4 E\x88V\x84\xc8P9\xe692 \x09\x90\ +\xe9\xd9dA\x1e\xb8\x1e\xe7\x04d\x82#\x19\xd62\xab\ +\xbe\x0f\xe4\x07\xc8\x09 lq\x023\x9e\xc9\xa8\x91X\ +!\xb1\xc3F\xb9\xb4\xde\xcf\xf3\xe2\xf9\xc5\xe7\x08T\x89\ +\x8a\x1f\x09\xa3X\xa1\xa7\xe2\xc7}\xa0\xa2\x1d\x13\x01$\ +\x14he\x09\x89\x1d\x97\xf5\xa3\x82\x0d9\x11\x9c\x01\xc8\ +\xc5\x91\x98a#G\x1f\x1b\x08\x18j\x061\xa1\xa1\xde\ +V\x02\x19g\x9b\x87\x8d\x97\xcc\x7f\x90E\xf1J=$\ +\x7f\x82D\xb7?3+dl\xb9\xd2tiE\x9a\x03\ +r\x87L)\xe4v8\x0cdzUIt\xd27A\ +\xf2\xa9P\xb8\xe3\xaeLx\xbb\xa3YE\x8a\x82\x0e\xb0\ +6\xf0\xe6&\xb3\xea{\xf5\xdc\xd90\xd9\xe0\xb8\x9f~\ +\xdeT\xfe\xb8\xef\xea\x81\x06\xba\x0d9\x19\xcf\xc3\xc7\x8b\ +\x1c8w\xd4\x98/\xb0\x86\xabw\xb1\x1d7\xcb\xa4s\ +we\xd29\x90\x17@\x18a\x9f\x07\xb9%H\xa5#\ +\x91 ;e\xfe\x89u\xd93\xf4\xe8\x10\xf3\xfc Y\ +\x13\xb2\xc0\xc9\xce\xce\x15\x92bA\xad\xb7\x91\xedw\xe3\ +\xe4\x16m\x9c\x13;+\xda\xbe1\xdaa\xb4\xfdh\x87\ +j}dc\xd7\xbcr\x19=\xb5\x10\xb8\xea\x84 \xe3\ +.\xd7\x09\x94^z\xd0\xd9\xb1\xfax\xd5\x1ava\xcf\ +v\x9e\xd5\x00\xbe_\x91\x14)p\xf2\x8a\x87z\xe3\xba\ +\xd3\xcd\xaa\x8dQ\x8e\x87\x07~\xe2\x08`>\xb5\xb7\x98\ +\x95D\xc8hA\xb3\xca\xe1U\x05\x8a\xc0\xd7\xe5 \x95\ +\x88\xf0\x0a6\xb2\xabV\xf1\xde\xb1$fX\x17r/\ +\xf16Bv\xac\xa2@\xe6\x0b\xd5>\x08y\xa3%z\ +>X\xf4\xe8\x1d\xd9#\x92Izz\x818;D[\ +\x8er7\xbfYI\x00x\x80#\xf22\x10\x01\xd9\xe1\ +\xfa\xa7ZwV\xab\xf4\xbfa\x7f\xb7\xd9s\xb2\x1c\xc4\ +\xf4\xb9\x83\xf5\xccr\xe0\xb6z\xbbzf\x9fOVU\ +\xe8H8\x09\x99\xe6\x1cT\x1f4K\xc7\xd7\xcdr\x0f\ +y\xe6>h\x9e\xe9\x13-$\x86\xbc\x12&\x07\xa7\xbb\ +\xd0\xacJ`\xee\xdeW\xc8\xbb\xbd\xbb}\xba}\xf21\ +Y\x81\xaaCz7\xfa\x92Y\xfay y?\xado\ +m\xfe\x97\x8e7\x99U\x15j\x91dz\xe0\xa6}\xbd\ +\xdd\xc8\xac\x8c\xb3\xe6\xe7fU/+\x95FU:}\ +~\xd3{\xcb>\xcc\xf8\xe6\xbcP\x05\x11\xf7\x82W\xa8\ +\x19\xd7\x0a\xc8<\x01r\x8aT\x17\xd6\x16\xd9\xe8@\x89\ +>*\xc1\xc8}\xaaE\xa3\xdb\xd0,'.z\x12K\ +[-\x8e\x94l\xa2q/\xec\x97,=\xafn]\xb3\ +\x22\xa38:\xc3\xac\x82\xca\x93\xc0S+Lw\xabY\ +\xd5\x93N\xab\x95\x1cQ'\xa15\xa6\x88\xb3\x0b\x14\xdb\ +\xef\xab \xf0]\x9blPZ\x03\xb2\xec\x9fq\x05\x5c\ +iV\xf5\xee\xb3O\x09\x09\xe3\xea(\xf4\xa8S\x19%\ +\xe0 @\x93\xaa\x83\xeb\xb2\xd3kM\x82\x9f\xc4\x81\xd6\ +\x13\x0f\xdc\x94\xc0\x06)\x02\x22\x06\xf9\xc0\xd1\xc7\xd4\xda\ +r\x83\xe4\xfb\xd4\xe2@+\x87\x17L\x14\xf0{k\x86\ +\xd4\x13\x5c\xeet\x9f\xb1}\xb2\xfa\x83y1\xdf(\xfb\ +\x1f\xa4w\xce\xb9\xa3D}\xe6R\xb0\xfb\xf5\xa1d\x1b\ +V\x08?\x90\x22\x22\xb5\xcb\x8c\x09\xfbV\x08\xa5-\xb2\ +\x95\xfdZ\xad&\xbe\xae\x0bq\xe3\xeb*\x88\xb4\xc52\ +\xcd\xb2\xb7\x22\xfa\xfb@P\x81\x14\x80{\x00N\x01\xf6\ +k\x10 \xd1\xef\xc6\xff\x0f\x95P\x0f\x8c\x85\xb4\xc2\xaf\ +r\xbf\x1c(=\xe7\x89\xdc\x1fHF!y \xe7\xf5\ +\x040~\xa7\x12\xfc\xee_S\xf9\x96\xff\x0f\xb9\xb6?\ +7\xf9g\xec\xf3\x1e \xe2G\x88k\x86\x96\x1c/\xcc\ +\xc0I\xc4|\xa7\x10\xa0\xf3\xc7_\x85k\xc3\xfdXZ\ +\x01\xf0KH\x04\xc0\xf9\x02\x02\x83\xf1\x8e_\xc0}\xe5\ +\xfc\xf0;I\xc4ARk\x89\xb3\xed\x0aW\x05\xc8\x19\ +WI\xa3 CB\x87\x02\x14\xeb\x97\x9e\x9b\xf7\xee\xd3\ +B\xc1\xfc\xa4`\xc4:\xcd|\xa7U\x80J=\xd7E\ +\x9c\x84\xbf@\xa0\xcf\xefc\x80\xccxe\xfc\x84\xc4\x81\ +\xfb\xf5S\x84H\x9f\x16\x02\xedH\xf6\x1e+\xfd\x91K\ + &\x06b\xe0\x1fI\xef\xbd2\xa1cl]\x8f\xa4\ +\x86\x11\x19\xcf\xf53\x8eb\x9c\xc48\x04\x89($\xa8\ +s;p\xfd\xc4\x89\xfc\x833BjV\xe3y\xb8=\ +'\x07\xfb\xf97\xc8PD\xb2>\x90\x02\xe8G\x8a\x84\ +%C\xd6\x97W\xa5{\xbe\xaa2\xbeP\x16\xba\xeb\x1f\ +\xd0\xdc\xd5\xc0\x81\x0c\x8cJ\x1b\x15O.\x94\xcc9\x81\ +/\x5c\x00d\x16ac\xe7g\xc8\xe5\xa8D\xbdW\xd0\ +:\xe49\x98\xf8,4q\x01\xe2\xfb\xc88\x02\x95\xc0\ +qe\x81\xe5\xfb\x98\x08@C\xc9\x88\xfdM\x90\x17\x02\ +;\x1e$\x95\x01\x02W\xd8\xef\x19\xc8|\xdf\xd3!\xd0\ +d@3p\x18\xc0\x0c\x1c\x16\x0c \xf5d\x80\x08\xc8\ +\x99@\x05\x02\xdf_\xff\xf3!a\x13\xa1\xfd\xbc\x9e\x09\ +\x19e\x13gOOi\xf6*\xd1\xf2L\x08\x8c9\xf2\ +\xbcm\x9cP\xd8\xbd\xe2P\x11I\x92\x07T\xd6\xc3\xffd!\ +\x9dl\xb75S@\xbcD\x85\x04\x92L\x97;T@\ +/\xb5^\xfay\xe9\xfa\xa9\x9c\x909\x8f\x01&\x81\xce\ +`>\xb3R\xf1u\xbdq\xa0\xc3r\x14\xdb\x0f\x98U\ +\xf7\x8d\xe7\xa0\x1eb \xa9\x04x\xccK\xc8\x183t\ +\xf4F9\x8e'\xc9A=G\x01\xfc&z\xfd\xc2B\ +\xa8\x5c_X\xb9s\x0f\xfbl\x15\x92f\x8a \xe1\x03\ +\xb3t|\xce\xacb3\x9f#\xd9\x9bT\xc1\xda\xb8@\ +!i\xfd\xeb\xbe`VHF\xbb\x07\xcd\xaaV$%\ +\xc0\xda\xfd\x93\x1d (\xf1\x06\x82l\xa7y\xdb\x9e\xd2\ +~\xa75\x12\xc4\x0f\xb5\x1b\xb6\x1b\x96\x0a\xee`\x1d\xb3\ +t\x5c\xc4,\xfd\xfe\xdf\xeds\xedsy\xfd\xca\xeb9\ +\x95c_\x07A\x80\x80\xacy\xa9\x99\xdeL\xaf\x1c\xef\ +\x1fI\xed\xe4\x9e\x9e\xd4\xd0\xe5\xd0\xa6\x0b\xb2\xbf\xc8\xe8\ +m#K\xf4\xccc\x96~~\xb3Yz\xdd\xabf\x15\ +\x04\x176\xf33\x9a3Mud\xf0\xf9\xc1\xbe\x83\xff\ +I\xc7\xb7\x9b\x95V\x14\x87\xd6\xaa0\xe2\x8e\xb7\x02\x1d\ +\xc3\xc5dd\x0c\x10j\xb8^\x84\x00\x02\xd1\xe1\xd0r\ + \xb3\x14\x18@\x04\x10\x18\x89\x15\x9c\xf3\xf7uY\x0e\ +\xfe\xf0N\xb3\x02\x85\xef66K\xbf\xff\xc9\xf0\xa7C\ +\x93?\xbc\xcb\xac\x9c\xa7\xe1\xdd2\xe2\xedZ\x05D\x9a\ +\xc7\x19r\xbfNU\xa1T`\xe5\x01\x81\x1c\xc4\xcc*\ +~\x5c\xb5\x7f\xc1\x0e/\x95\x00Z\xba\x1c\x92\x0e\xe4\x9f\ +\xc4\x15\x81\x00:\xed\x86L\xb9\xa5 \x97|\xfe\x8a4\ +\xaf[\xdd,\x1d\x1fI\xf6p\xba\xae\x1d\xcc\xd2s\xf9\ +\x99Y\xfay?3\xb5\x00M+\x89/8CF\xf3\ +\x99\x15\x95\x0aOp\xd1\x12@\x05\x8d\xfd\x06\x84\x05\xa4\ +\x82\xcc_8=\xe0\xac\x10\xd4~\xf4+\xb3R\xa1\xf6\ +\xd6\x0d\xb5`x\xe0/\xe4\x8b#\x82\xa4\xd2\x03\xd7\x8d\ +'@L\xd5c\xf1\x0aQc\xf5\xcd\x0f\x09\x9am\x01\ +\xf6\xbefe\xdd\xf7\x84\x05\xadb\xec\xe7\x90\x92*\xf1\ +K\xeb\x8e\x07p\x90)\xc3\xa2O\xe0\x88\xca\xc0V=\ +\xe2\xc0\xc9\x02\xaf\xcc\xb4\x97c\x99\xe9\xe3\x90<\xef~\ +l\xc8\xa1\x9cF\xdc\x22'*2\x02,\xdd\xbb>`\ +&P%\x11\x00\xd9\xdd\x9e\xfd\xfa\x99\xc3\xaf)U\x02\ +\x87D?\xfb,d\xdd\xf8\xcb\xb3\xca\xaf\x89\xea\x06\xf8\ +\xa1\xf8\x87\xec\xeb\x0a\xc0]\x05B\x09Z\xf7O\x08\xc0\ +\xb4\x8f\xb3\x8fu\x0f\x99\xe5}l\xff,\xc3\x08g\xc9\ +>\xd9Ja\x02\x0e\x14\x12\xca\xf8?\xc8\xc3\xd2\x22\x19\ +\xd9\xf2\x99\xbfT\xb8\x99\xffj\x05r\xf2TCp\xfd\ +\xa8\x22\x07$0\xe4\xfd\xdc/\x0a\x0d\xf2\xa3\x9d\xe3\x08\ +\xee#\xc8\xf7 \xeb\xe3\x08\x14\x9f\xf7\xf3\xfcIP\xcb\ +/\xa5\xa5\x8b\x80\xd7\x91\xa2p8\x91\x08\x00\x91\x0a\x12\ +\x82\xe7\xc2}f\xbfg\xbdD\xc5\x80\xfb\xc2\xfb\xb8.\ +\x12u\xac\x8b\x8a\xcf\x1c\x89\x10I\x10\x89\xa7\x1479\ +b\x85\x84\x03\xe7\x83\xff\xf1\xb7\xccBQ\xfc]\x0ao\ +\xcd\x19\x81\ +\x8d\x9f^\xfd\x97g\x96\x1d\xf3\x00\xca\xdc\xc4\x7fW\x15\ +I*\x9fV\xa1^\xb9\x0a\x88\x98\xc0\xf40Ra\xd5\ +B\xdb\xcciV\x91\x94Q\xd1ga \xb0!\xa1@\ +@H \xc4\xcf@#\x16\x96\xce==u\xdcHz\ +Q\xe8\xf5\x91\x5c\x95\x9f\x07\x15[\x16\x22\x0647\x8e\ +\x1bO\xe2\xa0d\x98&p\x1d8\xa7\xc2F\xaa\xc4p\ +\xff\x0aY\xddDy\x0f\xfe!\xd7\xb7|_\x01\xf4\x0a\ +~\xe8\xf1\xf0\x16\x06t\x91c\xc0H\xa0Ib\xe0)\ +\xfd\x9e\xf3\x8d\xa4\x14\xcf\x87\x80\x16\x87\x98\x00\x92\x80\x9d\ +\x89O\xa0n\x15\xc1\x05+\x12\xc3\x7f\x052C\x12\x17\ +\x9c\x17\x13\x8e\xf3%\x80\xe5sy\x9ez\xde\xc9\xed\x9a\ +\x92\x11)82\xdc\x0f\xb5B8\xf2@\x15S\x0f\x18\ +y\xee\x0c|\x9eO\xcc\x14FN\x00\xc6\x09\x13u6\ +\x8d\xdf\x19\xce\x0d\xd0\xb3\xce\xabU \x8d\xf1>0\x8c\ +\xa4\x85\xc8G\x91\x88\xa1B\xcfBA\x80\x15\x9f[\xbc\ +O \x0aP\x09\x00\xe9\x108\x12\x9c\xf4P\xac\xe73\ +e\xd4Y8bF2\xea\x89\xb20\x90\x00\x83L\x86\ +y\xa8qO\xc5\xcceP\x04\x09o\xee3\xabz\xc0\ +\xd5;J\xef\xae\xf76\x02\x85c\xc3\x85\xbc\xe7\x08\xb3\ +J\x1f\x98\x00\x9f\xeb\x84\xed\x97\xfb\x0d\xc9\xa1\xc8\xf2\x1c\ +\x12/\xe8\x1f=\xe1~\x1e\x81]\xbd9\xcc\xac\x92\x8b\ +\x94\xe3\xee\xeb\x13\xe3\x00Vht\xc1a!\x86\xccL\ +\x0b\xafW\x1e\xd1!\xa6e\x81\xf5\x8d\x04%\x09\x16A\ +f\x9dkD\xea\x0b\xb02#{\x87<\x9e\xd5Os\ +\x05\x15\xc4\x02\x15A9\xa8^\xb9\xa4r\xaf\x8d\xb5\xf9\ +\xabY\xd5R@\x225@\xc9<\x90&\xe1\x81\xc3\xc2\ +\xfaC\xef%d\x8f\xeb7\xeb\x99\xaeyr\xe3s\x05\ +\x11V\xec\x9c\x98\x9b;\x07\xaa\xb3\xe5@\x95\xe7 \xe8\ +5\xaa\x0c8\xdc.\xc3&$\x83'\xf6DV\xe5\x90\ +ic\xe5\xdf\xa7\xa8#t;\x9bU\xeb\xf1G\xb3\x8d\ +5\xc7\x98\x95\xca\x15\x811\x01\x9e\x93\x92\xd2\xfa@\xef\ +\xad\xbd\xefX\xdd\xaf\xbfT\xfa\xf6_7+\xa4z\xae\ +V\x00\x12\x80q\xaaV\x00\xe4\xce\xbc\x02\x0dI\x96\x1c\ +\xcd\xf1\xc3\xcc\xaa\xc0\xd4\x98i\xd6\x90\xe3b\x95\xa7\xff\ +3\xab\xd4[\xe6M6\x8f\x12G\xcfT\xb2y\xfa\xd9\ +\xf7mZv\x80\x14\x1b\xf4\xd9zm\xf74\x13\xa9\xdb\ +g*\xb22\x80^\xb0\x8c\xcbq\x87\xfc\xcd[T\x8c\ +$\xf1*\x05\x9e\xcb\xab\xc5\xe42\x91\x0anRZ\x0e\ +\xda3\xcd\xd2}\xbe\xc8,\xfd\xbc\x8dY!7\xc3\xa1\ +\xb6:\xbdU\xea\x87\xc7\x98\x95V\x92\xf6\xf4\xf6\xb4\xd6\ +\x10\x1a\x874\x876\x87\x14\x99I\xc8\xe7\xd2\x1e\xdd\x07\ +\x04\xab\xf4\x09\xabv\xa7v\xe7v\xe7\xac\xfb\x9e[M\ +\xc66\xea\x13\xfdTV\xbbg\xccJ\x0b\x8cW\x0cg\ +5+\xeb`\xf7=\xb3t\xdc\xd4,=\x9fs\xcc*\ +\xb2b\xb8\x83(x\x10`)1\xe1\xea\x1a\x90\xbc\xe9\ +\xbey@\xc6\xbc\xa2\xd7\x97\xf5\x17\xc7\x1a\xf6v \xd8\ +_4\xab\x9e\x13\xe4\x94J\x98tK&3\xd2\xc3\x0d\ +\x87\x1b\x0d\xad\xe7\xfe\x09\xb3\x12\xd0t/\x98\x15\x88\xbd\ +#\xa3\x84\xcc\xca\xe4\x87\x17\x95\x0an\xb7\x94\x99\xc6\xcd\ +2\x0a\x10\xee\xa8\x1ce\x12\xd3\xec\xab\x04\x1c\xe8\xb7\x93\ +\xd0\x96j\x06\x1c\x0d\xbe\x8e\x12\x80l\x90\xc2\xee\x0d2\ +R\xa5\xe7dQ`\xe4\x95\xec'\xcd\xd2\xf1w\xc9\xde\ +\x92\x8e\xff2K\xd7\xf9\x9aYz\xde\x0b\x9a\xa5\xe3\xd5\ +f9\xf1\x94\xacj\x11\x10\x89\x9d\x93\x1e\x92\x90\x01\xd2\ +\x8dz\x82\xee\x8b\xb70\xd1\xe2)\xae\x14'g\x83S\ +\xe3\xbe\x9e\x0c\xcd\xd5Y\x14p\xbb\x7fAk\xe9\x0ef\ +e\xfe9\xe2U\x08\x0b\x0f\xb8\x90'\xc4?\x92_\x9b\ +!\xe9\xef\xaft\xc8\x85\x08s\xbf\x81}S\xfe6\x1c\ +&\xdcw\x12U\xc8`\xb6\xd7\x98U\xe3\x17\xf9F\xed\ +\xbb^qV\x0boG\x86\x93\x00\x00 \x00IDA\ +T\xc0h\xbb\xd1\xb69\x01t\x9b8E \xfd=C\ +\xadRj\xed\x18;O\x81*\x08\x15\xf6\x0b\x12a\xf8\ +a\xcbh\x7f\xc6\x8f\xc2\xdf\x11\x02\xcf\x03\xce\x1fd+\ +\x05A\xfc\x0e>\x97\x00\x1a\xf2f\x91w\xba\xdc!P\ +w\xc8M/\xea.\xee..r\xb2\xa33Gg\xe4\ +\x04\xb0\xa5\x9dw+-!\xce\xdd\x22?\x9c\x04\xbe\xfb\ +\x85$\xc8$\xe7\xc9\xfe\xea\xe7\x83\xdfH\x81\x89\xc4\x04\ +\xfbf\xe06s\xf2L\xad\x83\x8e\xc4\xa3\xd5\x82\xf5\x01\ +?\x8c\x16\x0e!\x11\xbcb\x0e\xd2\x01\xa8\xbd\x8e\xde\xb2\ +L`MO=\xf3\x18\xbf\x90\xf9H`)n\x0a\x90\ +q\xceQd\x5c\x11\x17Tj\x1e$\x18\xf0\xc7@Z\ +\xd2B\x02\xf2\x16\xf2@\xbe\x87\xc2\x0a\xcf\x93\x82\x15\xdc\ +P \x03H\x040Nhu\x88\xfe2\x08\x82(S\ +\x88_\x1f\xe5Xi\x91\xb8G\xe7\x1f!\xf7\xc4c$\ +V\x08\xc0#\xf7\x1b\xe3O\xad>\xfe\xbaH6\x18+\ +\xfd\x11)\x10\x13\x01\x90\xfa\xaa\x15\xcd\xe3\xc2@Z\xee\ +\x09\x12\xae\x97x\x9c\xc2\xf5\xf6\xd9\xca?\xfcv\xe2\x85\ +\xd8\x0a\xa1\xf15\xee\x17@\xcf\xf44\xf5\x1eA\xaa\x04\ +\xc4\x9f\x05\x9d\x8c\x22\x01y\x9d8x\xf9\x0d\x12\x09\x5c\ +\x00'B\x86\x18\xf252Kd\x9a\x03dy\xa6@\ +1Vty\xf0l\xa0\xf7i\x22h\xa3\xf5^\xf1H\ +\xa6\xc6\x06\xc1\xf53 \x22\x99\x03\x90-H2\xf8G\ +\xc5\x93\x9e\x1f \xe7\xb3\xcba\x8e$ l\xfcL<\ +\x02\xde\x05t\x1f\x05\x15L\xdbO\x0f\xe1%\xc0\x9f\x1a\ +d&X\xa0\x08\xd8\x9f\xd1\x91\xeb\x223\x06\x84{]\ +}\xce\x14\xaf\xfc\xf7Pjz\xf3\xa9x\xab2\xe3\x1b\ +\x1b\x89*d\xd1\xe8M\x9c-dh\x9f\xf5\x16\x92,\ +S\xe3\xe7]\x12\x10\x13!\xf2\x8f\x8a\xe4p\x19}\x1e\ +\xe3\xaa\x9c_$\xc7\xe8\xaf\x97\xfb\xf6\xa0\x16\x927\x0b\ +\xd2\xfe\xa0\x12O\x1f\xe8\x03\x92\xf4\x8c'\x92\x12\xf2\xfc\ +\x22\x17\xc1d\xac\x9a\xf1\xf9?\x1b8)\xe6U\xc5\xe4\ +\xde~\x83s\x8e\x06\xee\x1b\xcf\x15\xe8'\x0b\x15\x95w\ +\xc65\x90*\xce\x93\xcf\xe7}\xfc\x9d\xf9\xc1\x86\xc2\xf8\ +\x0f\xbd<3%\xacbb\x22\xb2\xfa\xd3R\x13{\xf2\ +\xb8\x0f\xdc\x7f\xf4\xd9\x09\xcc\xa9d\xd2\x93\x0d\xe4Y\x01\ +\x11\x0e\xb1\xf7\xce\xb2A\xb0\x11\xbd\x90\x05\x1c\xcb|\xc6\ +aPE&9\xf6\xc9\xaa\x8a\x0e\xa4\x84l\xb0\xf4.\ +\x82<`\x9e\x91yf]aa\xa4\x07\x93\xde7\xe4\ +\xd3\xa8h\x91\x11\x17\x14\xd5\xc9tX\xd0\xd9\xb0\xa8\xec\ +\xd2\xe3)\xb6\xdf\xee\xc3fU\x85@\xe4A\xb0\xae\xbb\ +\x8c\x9c\xe4\x84 'tH\x22\x8e0,\xf2\x5c\x97\x12\ +y\xed\xacf\xa5\xa7\xde\x11\x01\xb42P\x01\x82\x0cK\ +\x1b\x9a\x070$4Yw\x81\x80\x92X\xe5\xfb\xd8\x90\ +\x91\xbfSE\xd8\x03x\xa0\xfa\xf4|\x03\xf9|PH\ +\x17*\xac8Jd\xee\xe7\xd5\xfc\xc7\xb1\x03\xa2*\xa8\ +xs\x8dY\xc5\xb5`\x1b\xe1@\xad\x16\x97U-)\ +V9\xdb;\xdd\xef\xb5\xba\xf7uki\x83[T*\ +\x0b\xfbV\x81\xd4\xdc\xb9\x09\xac\xb4~\x08\x89\x92\x1cY\ +\xb3\xb1\xf6~\xb3\xf4\xfb\x93\xcd\xaa\xd6\x03\xb1\x95C\xb6\ +\xc38\xb00\xd3\x02\xcd\xe6A\xb3\x8aDR\x89#\x9e\ +\x07\x01\x02\x01\x8d1\xcfd\xee\x19U\x18]\x0d\x82\x8a\ +#\xeb\x04\xeb\xa4\xcd\x8e\x87\xb4A\xbf\xaaJ\xe2*r\ +\xd4\xaf\xa9ZR\xcc\xed\xb6\x9e\xf7\xdd\x92\xed.\x87b\ +Fa\xcfw\x12\xac#\xcd\xca\xfc\xa2\xe7\xd5+\x99J\ +0\xb9CC\x85\xc5:I\x7f]\x9d\xa7\xad\xba\x8f\x95\ +\xf5\xbf]\x22Yz\xdf`e\xb3\xdc\xdasI{I\ +\xd1\xa1o\xf6\xec{\xc7\x93s\x9e\x03\x9dnU\xb3\x0c\ +\x09\xde6C\x825\xee\xb3\xac\xdb\xb6e\x02\ +p\x02~\xd6\x0b\x12\x0e@\xf0I\x88\x83\x00\x80l\x0f\ +$\x13-\x09\x8c#\xfc>\xe2:\x9e\x1b\xfe\x0e\x09O\ +\x9e3q\x07\xcf\x07?3T\xd8}\xdd#\xf0\x7fv\ +\xa2\x1f\xef\xa4\xcf$\x14\x09p\xa3\xdc!~\x22~2\ +\xd7Cb\x84\xf3\xe0\xfb\xe1\x0e\x90\x9f\xe6\xdcL \x10\ +\xf0\xb39O\x90\x22\x8c_\xbe\x9f\xfb\x13[\x0d\x88#\ +\x19\xbf\xf8\xcb1\x01@\xa0\x1d\xe3\x0b\xfc\xd5\xc8\x91W\ +\x90\xd5\xfd~C\xbcL\x01\x9d\xcf\x8f\x1c\x07\xf8\xf5\xb1\ +\xe0\x17\xef\x1f\x9f?>Q5n<\xe7I\xfe,\x08\ +\xee|z\xa0M\xe5\x18\xc3B\x88\xdc\x17\x0e;'F\ +\xc0\xceq\xde,\x08UZ\x01\xf8\xfddd\x09\x93\x91\ +&0\x91&\x93M\xe0\x81\xf0\xfe\xa0+\xc9\xf7\xa6\xc7\ +\xdb\x93\xae\xad+\xa85\xff\x08\x80\x80|\x01\xcd\x87\xf5\ +9\xb2r\xf2`\xa8\xe0\x89\x0d\xdb\xe5\xba\x16P\xc0\xc1\ +\xf9\xc7\x81\x8f\x03@\x80G\xe6r\x15Aw\x17\xd6\xc2\ +Yd+\xc8$MLx0\xf0\xb8/\xcf;\x19\xe3\ +D\x99\x89Br\xd7\x0f@\xae'f\xc8\xa8\xf4\xc3\xae\ +\xcf\x84\x0e\x01\xa2o\x08T\xe4\x0b\x1b\xe7\xc4V\x02~\ +&pfb\x13\xb0\x12pr\x1d\x9cg$\x7f,\xa4\ +\x16}\xc2\x00\xd9;\x12EA]\xc1\xc7\x03\x9c\x0f<\ +\x0f\xeeG\x9c\x80\xb1\xe7\x87\x0c\x9f2\x9b.\xeb\xa7\x04\ +\x87o\xa8<\x9f\x97\x03\x8b>\x10v\x02.*\x03p\ +k\xc0\x1d1\xcd\xefO_\xe1\xa3\xf5\x80\xef{2 \ +6\xb8\xaf\xcc\x1b\xc6!\xf7\x93\x85\x82\x80\x17.\x016\ +\x5c\x16n\xfe\xb1\xe0\xf3\xbe(;HB\x06h\x12:\ +\xd7_\xc9\xe6\xec\xcc.\xdfFo+\xe7\x05\x19\x0d*\ +\x1eK\x9bU\x1b\xfd\x1d\x22'3U\xe6\xeb*H\x9c\ +\x12\x0d\xddQf\xd5\xbcc\xbe\x81p\x10\x19\x98op\ +\xbc\x0e\xf219\xc4\xb0\x89{\xa0\xa7\x8d\xaf\xb9\xde\xac\ +J\x04\xf0<\x84dp\xd2D\x05\x0a\xae\xe7.G\x91\ +\xc0\xb7;\xc5\xac$\x02\x80\x9c;\xe2\xe3\x80\x1e\x22\xef\ +$9\xf4\xc2\x92\x00\xa2g_\xa4q\xcco')\xfc\ +\xaeY\xa9,y\xe2\x80\x8a\x12\xf3\x00\xd9*Ul@\ +h8\x12\x086`\xf5\xb2{B\x8c\xcfa]\xd93\ +[\x81\xc8\xab\x92N\x05\x1d\x12\xa4fZ_\x01\xf7^\ +mH\xd1\x90i$\xe1\xa1@\xba\xd9\xd8\xb0P\xe98\ +G\xb27U\xa4k\xf9_:^l&V\xf6m+\ +\xb9;\xb8>4\x7f\x08\x5c\xc6\xbe\x9cm\xac}\xd8L\ +-%\xe6\x10mf&\x87\xe9\xfc\x12\x004g\x99U\ +\xbd\xe98\xd2\xb0\xc4\xa3j\x007\x80t\xc1\x9d\xfd\x5c\ +\x89\x05\xaf\xe4\xcaA\xecn0\xabX\xf9\xe5(:)\ +$\xf3N\x15\x1b\x97';\xcc,\xbdn\xb6\x1e!\x91\ +\x81\xc1[\x8aK\xe0\xb0\xaaG\x19\x9dk*\xcb'\xf7\ +=\xdf\xc3\xdd\x92\xed\xae\xca\xe6'*\xf2/\xd3o\xff\ +Giyk\x8eN\xf6\x8d\xb2~t\x9f0+\x08\xb5\ +\x0c\xdd\xbeRl\xe0\xafi\xfd}\xa4\xec\xdf\xae2!\ +\xce\x99\xc1\xa9f\xe98w\xb2\xf4\xf7\xb6\xb3\xe6\xd8t\ +\xfc\xb5Y\x95\x08\x15i]\xb7\x87Y\xb5\xce\xe8\xbe{\ +`\x0e\x19\x97Z$\xdaM\xcc\xd2\xf5mgV\xd6S\ +\x9f\xbf\xcb\xa6Y\xb9l\xc5\xbd!rO\xbe\xdf{\xc7\ +w1\xab\xe4\xf0\xe8\x91%\xd0$\x90\xa5\xc7W\xcf\xc3\ +\x03\x83\x1f\xaa7\xf7\xed\x22\x07\x9b\xdf,\xb3\xe2\xe7\x9e\ +\xef\xee\x00\xb3\x8a;B\x89\x11\xe4\x1e=\x11\xa5\xc4\x1a\ +\x88\x04*\xbfp\xa0x\xe0\x16\xb8\x83\x08LS\xf8\x9b\ +\x91$\xdd\x91f\xe98\x8bY\x91\x95\xb3:\xa7U:\ +\x1d)\x80l\xe0'\xb4>=\xd0\xdd\xd7\xdd\x9f\xe5F\ +\xc7Ln\x14u\x09\xb8\x00\x5c\xae\x8c^d\xed\xf7p\ +Q\xb4w\x99U\x899\xd4\x14\xd4\xb2\xc4z\xe1\xe4h\ +T\xa8A\x86.\x93k\xc0e=?\xa0G\xc0\x8c\x16\ +0\xab\x02\x19\x91\x81:BD\xba\xef\xc3\xbd\xcc\xd2y\ +|9Y\x1a\x1f\xc3\xe5\xcd\xd2\xcf\x0f\x98\x89Sc\x87\ +\x22\xebI\xcf\xb7\xef\xe3\xac\x07$&\x08\xe8\xe0\xc6\xd0\ +\xf3\xee\xe6\xee\xe62\xd2\xc8\xd1b\xa3E-\x01\xeb2\ +\xa28\xf07\x08j\xcd\xf3! \xa7\x22\x0b7\x0d\x81\ +\x12\x81\x18\xdc\x02T8\xd9\x0f\xad5e\xce\xaab+\ +\x12;\x97\x17e\xbd1\xb9\xc9\xab*\x92QK;\xee\ +\xad\xf94g%\xb3h\xf3\xfc\xe8\x8c\xf0\xf8`Fx\ +,0Z\xd0\xeeowgwWwgN\xdc_\x90\ +\x13\xf7\xa8\x83\x5cn\x96[hzD\x90*\xe4i\x14\ +\xad\x90\xc7\x11\xcf\x07\xd2M\xf6\x1f*\xb4\xfcS`\xea\ +-N\xf4\x1e3\x8f\xd4\x82\x94\xc5\x02wy\x83B\x04\ +~;\x89i\x05\x9e\xcd7\xcc*\xbf\x8e\x00\x9c\x80\x87\ +\x7f\xf8]\x22\x87\x8b\xea].{\x18\x02!'O\xd4\ +\xfa\xe12\xc4?6\xab\xfcZ\x12I\xc8E\x8e\x9bU\ +\x09w}\x0e\x885G@\x0ba\xe7\x09\x22\xe4\x0eI\ +\xb0+q\xe1l\xfd\x8c#\x8e\xdc7\x12\x01\x81l\xdd\ +\xc9\xf3x\x1d\x88\x04*\xff\x04\xb6\xb4\xbcP\x89\x07\x22\ +\x8f\xdf\xc4\xe7\xe2\x8f\x83\x08TB\xd5[\xe7@\xfe\x11\ +\xe7P\xc8\x8a*'z\x1e\xcebO\xc0\xcd~K`\ +]\xb7\x92O\xa9~\xcf\xcf\x8dg\x95\xe3\xb3\ +\xaa\x1bby\xcae*\x07\x92\xcc\xb9\xa0\x82\xdeSl\ +i\x80\xe5\x0aKq\x0e\x17\x86\x15\xd4\x9f\x0b\x22\x90\xc7\ +Q\xe7\x02p\x0c\xb8\x915g\xc0B\xd5\x91\x1e@e\ +t\x1c\x92\xce\x0dbA!\x90!\xc0&\xf3\xaa\xc0x\ +\xa4\x07\xda\xac\xaa\xef!P\x8a\x81V\x80r\xfb\x03\xa0\ +\xe2\x0f\x09\x1f\xd0a\xce\x93\xc0M\xd7\x9b\xb6\xb5\x1eb\ +\xb5\x90\xa0\x82\xcb\x09z\xcayG\xf6~\xc8\xa2\x96U\ +e|5-|T\x8ab\xa5\x96\x07\xc9q01\xb3\ +\xe3\x09\x84\x9740\x99h\xdc\xff@^\x01\xc2\xc1\x03\ +Q\xee\x0f\x19\xdc\xc8\x9a_\x02\xe9\xfe~q\xff`\xd3\ +\x9fK\x03p\x102[B\x95\xb8\x00\xed\xc6\x01!\x80l\x1e\ +0\xcb\x95\xb5d\x95J\x80\xc8~|~\xd1+&d\ +\x85sO\xa0\x92 U\x04Z8\xa0\xf8jW%\xa0q`\ +R\xdbOu\xe2\x0a\x90\xac+\x80\x87\x80\xd3}>,\ +l~}EXG\xd1'*(\xb3\x9e\xd4\xc4\xd2\x16\ +0\x0f\xb3\xc6\x92#\xb7yG\xd8\xfc\xfa\x95\xb0N+\ +\xe1Ka\xab\x08\x9cq\x9f\xff\xff\xce\x9b;wZ\x0f\ +\x98\x02\xaf\x0d[3mU\x9b(\x00V\xcbH\xcb\x82\ +\xf8\x1e\x0ap23\x8aR\xfa\x8dV\xf4\xb3\xf6WV\ +Z\xa0\xfd\x18\xd1\xc5\x04j\xb6M>\xff\xe9Va\xf3\xeb\xabf\x9b\ +\x03\xe0\xe9#\xb3}x\x9eg\x87\x1f\xb8\xc4\x81Kt\ +Z&\x80\xa6\xf4\x13\xa6\xa3\xc3:\xc6Y2\x17\x8a!\ +Ac\x83v\xc7%\x9bGV@X\x05\x86\xff+\xac\ +\x03\x16\xac\xc3\x175[\x81\xaf\x08x\x1f\xd6\xf9C\x00\ +\xfe\x04$\xab\xed\x9fZ\xe4A\xfb\xa6\x95r\xdc\xbcc\ +\xca\xa5\x16L\xf9\x9f\xc9\xb4\xa8@R)\x83\xef\xa1\x09\ +\x90\xcc\x92V\x9a\xf2\xf6\xb6\xbf.\x19|%J\x12x\ +y\xfe\xef\x9e\x12\xd6Dg\x1bs\xad\x02n\xfbq2\ +\x8f\x8a\x22\x7f\x9d\xdd\x91\xbb#;\xc6\x93\x0c\xa3s\x8d\ +\x1f\xfe\x89\x14\x7f{j\x96\xee\xe9\x1e\x93%X\x02\xe4\ +\xca\xe4\xaa\x89w\xee>8\x81\x19\xe7t\x02\xd4\xf5\xb3\ +Lt\xfa7%\xa2\xc8\x9f\xa0\xede\x1f\xb6\x1f\x8d\xea\ +\xea\x18\x98\xa8\xea\xc6U\xc9\x1f\x06\xa7q\xf7w\xfc\x9b\ +\xac\x9d\xafv\xc4\x09|\xb6y\x1e\x1c\xf8\xa7\xb0\xb5&x\ +{\x93\xd9n<\xbf\x1e\x98\xed\xcc\xd4\xde\x98\xafk\xef\ +~\xb3\xddw~\xfd\x8f\xb0\x0c\xc0\xaf\x9c\x8euhi\ +\xbc;\xac+M\xc8}\x8dC[\xdd\x122#]]\ +\x90\x9e\xbdd^\xe7\xabm5\xd2\xbb''s'\xf7\ +\x9d*\x09\xb8\xd4\xa2\xe6/\x80\xdb\xbe\xedo\x9d\ +\xd8\x97\xda\xfc\x9bv\x99j\x22a\xd9\x0e\x14\xa3\xa2\x9d\ +\xdb_\xcb}\xedM\xb9\xdf\xcf\xfbe\xf4p\xd8\xce\xfb\ +\xd1\xf6W\xc2V@H\xc0\xb3\xf9\xde\xe6\xf4\xcd\xe9\xdd\ +\xf7sHe\xea2#[\x22\xa0\x02\x92\x14\xd9\xac@\ +/\x99|\xd3\xf5g\x9b\xcf\xc9\x03\x0f\x0c\x9b\xff\xee\x0f\ +\xc2\x92\x22\x7f\xcb\x15\xe0\xa8\x12\xb1\xd4\x1e\xf2\xf7%n\ +Ge\x9d\xc3\x9dm\xcb\xaad\xf7\xee\x8b6\x05\xd1\xd1\ +\x0aPi\xcf\x00r\xf3\xbe\x1a`\xfd\xc0\xcc8\xff}\ +\x07\x10j3xX\xe7\xdf\xed\xba\xfd3N\xcf\x07\xaf\ +@gui\xa1\xfeM\x04VI\xc4\xe8we\xe0\xab\ +\xebB\xed\x97\xd6_\x9e[\x9bK-\x8c\x14\xa5.\x05\ +\xa0\xe5>8\xbdw\xd1X\xd8\x9cwI\x98\xec~'\ +\xb5\x1a$\x160\x1dt-\x00\x98:g\xc4\x07\xfc\x16\ +b\x802\xc97LM\x95\x0c@\x0a(\xc1<\xb9k\ +X\xd7\x16\xcf\xb9\x9e%|M\x81\xe4_Zi\xc4\xc2\ +p\xe1'\xc9\xf0\xe6|\xa9R\x9e\xcc\x14W[B\x0c\ +\x13q\x09\x7f\x5c\xa9\x0a-\x1a\xe7\xad8'\xfd\xf0\xaa\ +MW\xd2\xe2\xbah'd\xe0\x8b\x01S\xcc\xdd\xa7\x85\ +u\x09\x11\x8c\x04}\xef\x03@|s\xe7?`\x06\xca\ +\x8c\x0b\xdc\x9d\x87\x02[\x80\x15\x7f\xd2u;\xff\x01\xee\ +\x02m\xaf\x02^@\x81\xc0\x9b\x7f\xe4\xef\x01%\xe2\x19\ +\x1b\xb6\x00\xda:&2\x87a\xc9\xdf\xe0\xdf\x01\x0a\xc6\ +\xdaw\x0c>\xc0#q?\xdfk\xfc\x01\x04\xb4\xd6\x00\ +1\x02p\xf1\x86D\xab\xe7\xf5\xf9\xa5D\xb8>o\x0c\ +\xfc\xc5W\xda\xb4*i\x1d\x01\x88!\xae*\x91CZ\ +\x0d\xe2\xde\x11\xb0p\x7f\xae\xc3\xf7\xbb\xaf\xff_\xbbB\ +\xf1\xed(b82\x1fF\xe6\xaf\xbf\xf3\xdf\xc8,\xf0\ +\x1c\xc5\xbf\xe7\x19\x12\x94\xf9\xfb\xfd\x95\x91\xf7\xe08,\ +(\xc3\x1ednd\xd5\x1e\x22\xa9L\x150\x11w\xd0\ +\xbf@\x80\xc4\xa9\x03\x13B`!\x83{\xea\ + N\xe1?\x01\x0e\x87|T\x81\xdf\x0d\xd4xH \ +\xe4\xc9\xf5\xd9\xc8\xf4\x99\xd7\x7f|TA\xc5$\x18\x81\ +\x9d\xb5\xbd\xe4r?c)\xc19\x01\x0ej\xef\xf2\xfd\ +s\xf0\xfc\xad\xbe\x0dem\x94\x02u\xed$\x7f\x92\x9f\ +\xfb\xb5|\x9f\xe7\x98\x01Xm\xf4\xa8\xca\x97\xcf\x05\xe4\ +z0D\x8c\x8b\x85\xe4\xf7\x02n\x99\xe4\x97g\xbb\x9f\ +\x0c$\x0bh\x01@\x08\x0c2\xa3\xa0\xefxm\xc42\ +\xed\x02|\xe3\xb9v\xb7X2\xbaT\x8dQ\x01\x05j\ +J;\x00m(o\x99\xd9+\xf5bm1\x95$\x8c\ +\x99w\xcc\x15\xebfd4Dmb'\xc2W}\xbc\ +\x13P\xe0HV\xe0\x9e5\xad\x95y\x10\x90'\x85P\ +M\xa9\x0c(u\xe3\xda\xb0\xb3\xedR\x05\xe0j\x02\xb3\ +\x04\xa0D\x8a\x922^\x0eK\xde\x97Lv9\x1e\xe6\ +W:\x5c\xe5 \xa5\x06\xc8\xf4\x8a\xb0\xae\xe6\x8b\x06\x8a\ +@\xcd\xfa\x91\xe1\xe5\xf8y\x1e\x0e\xca\x0clj\xfe\x1b\ +O\xefK1\xaa\xca\xd8\xa3`\x9b_\xbe\xc7Af\x1f\ +6\x8f\x13h\x92\xb1*f\x85\x83\x13\x1e\x96]\x08J\ +\x1d?\xc7\xad\x1c\x0a5\xcb\x1c-\x81\xc1X\xba\x05\xd0\ +\xe4\x88\x09\xd4t\x05xBX\xd7G\x98\xca\xbe\xf9C\ +TN\x9b\xb4T\x1b\xaf\x0c\x0b\xd1\xd6\xa4\xf8W \x9c\ +\x8ex\x01NJ\x0dR\xdd~\xfb\xb7\xb3\xbd\xb6\x03\xf4\ +d6\xa9i'\xe5\x9a\x9a\xf3\xee\xeb\xbb\xaf\x85\xe6\x86\ +\xccm\xa9i\xdfnw\xfb\x10!\xabZu\x19\x9a<\ +O\xb6/\x0d\x9b_/\xbd\xbd\xcc\xf62\x9dC\x08\x10\ +S\x13\xfa\xa0\xb0.\xf0\x91\xa9N\x95rL\x9d\xdd+\ +\xc3\xe6\xcf\xbbaXW\x02\x93\xf3\x87c\x5c\x80\x01\x00\ +)\x01\xac\xcaTg\xc6x:|\xb6\x8b\xaf\x80\xf1\xf4\ +\x90\xd9\xe6\xf5u\xe6=\xc2Vq\xba\x12\xeb\xbb\xdd\xd2\ +\xa5\xa61\x1e\x1e\xb9\x02\xe8\xd5\x8d#\xc5\x00Q\xd81\ +\x86\x1aS)(\x86/Z\xa8\xba\xd3\x95\xc3V\xed\x95\ +9\xdaH\x9b\xeb~\x98L\x0b\ +\xcfQ`m\xdcJ|3\xc5\xef\xa6\xbf\x0a\x9b\xa7\xf5\ +\x0b\x92\x89@3#5V\xa6\xcb\x84%\x93\xe3\xf1\x1d\ +\xc3\x04u\xf9ZK\x86\x93&\x87\x9a\xf9\xea\x92\x90m\ +\xf2j\xbc\x7f\xb0\x94t\xf8\x9e\xbd\x1b\x86\xcd\xbf?o\ +\xd8\xfc\xfa\xdcE\xc4/\xf2\xc3\x91!\x9e\x8e\x9e\xfe\xa4\ +e\xa6\xf3\xbe\xe6\xab}\xf9\xf4\xf2\x06\xc8-\xda\x0d(\ +\xb8\xd7YJ\x83\xaa\x1b\x00\xc6\x0bq8\x998\xe7\x09\ +\xd1=\x81\xe1\x8f\xd2\xaf\xca6\x96\x0d\xce{\xef\xca\xd8\ +\xd1\x85\xa1\x05\xa2\x8f\xef\x80\xd1\x5c\xa7m?\xbcb\xee\ +kw\xcdy~\xf7\x15\x18\xdc^-\xac\xa3\xe4\xdfr\ +{\x8b\xc6\x10\xf8\xce\xf6\xbb\xdb\xefvm\xf9\x92\xd9\x85\ +\x82^\xe7\x0du\xf9\xdc\xaf1\xaa\xd4\xf0\x97(_2\ +\x8a\xa6g\x84\xcd\xcf\xf5Na\x19\x00|\xa2\x89\x0a\x86\ +U@\xb8\xff\x97\xc3\xba\xfd\x12`J-^\x97\xa9\xa4\ +Z\xeb\xd61\xbdv\xb6\xbf\xe92\xe5\x12Kq\xba\xbd\ +&\xaf\xe3\xde\xeb9W\x8c\x8fG\xb4F\xa8%\xc2Y\ +\xebW\x06/\xd2P\x17\xe9\xda\xb3:w\x89\xb9\x12\xa9\ +\xb3?%\xf0d\xde\x95\xbf&Q\x935\xfc%\xc2\xaa\ +\xad\x1e\x11\xbfC\x9b,\xf2\xbe\xdd\x8b\xc3\xd6\xd2\xc3\xca\ +\x10\xcb\xe8\xbez\xa1\xa6O\x9fI@\x89\x0a\xf9I\xc9\ +\xec:e\xd1\xba(\xad\x0d\x9a;\xfc3\xfe\xa4\xc0\xe7\ +oSd\xf2c\x99\x19\xff\xc3fk\x06\x5c\xbbE~\ +\x94\xfd\x0f\xc0\x92\x19\xcay\xf4\x16\xbf\xc0\xf7\x00\x14<\ +O\x19\xd6\xd7\x85u\x0c\x1f\xe3\xf6\xbf\xc2\xd6\xf5\xb2\xef\ +\x1a\xa9I\xe0y\xf0\x8b\xf9I\x02W~\x1c\xbf\x07\xd0\ +\xc1\xaf\xcb\xae?\x18\x0c\x80\xeb\xda\xcfQ\xed%Z\x9c\ +\xe3\xbe\xc7y,\xe0$2\xa8=\xa4\x00S\x89\x84s\ +\xd2\xf5*Y\xb1\xee\xc5\x03\x98\xbe\xee\xcfyC$O\ +\xa6_\xe0<\xb6\xe1\x13\xa8j\xd7g\x9e`\x068\xff\ +\x05\xc6c\x1f\xfa\x7f\x0a\xeb\xfe\x9d\x7f ^s\xfd\x9e\ +\xe7\xa8\xf2\x0f\xa0\xe0\xc7\x10\xf5\x93\x90\xf0\xfe\x91j\x8f\ +\x99\xf9\xb1\xf9\xfd\x1f\xeb\xc6\x7f`\x04\xd4\xe7\x8f\xb5\xfe\ +>\xef\x9c\xbao\x8d\xdd\xb9\xfc<\xb6S\x1f\xdb\xa4\x03\ +\x1a<\x07\xaf\x03\x00Q\xebF\xe9\x87\xf9=~\x9f\xeb\ +\x19^i]\x14\x003t;+\xb1\xc7\x5co\xe5\x97\ +y~\xfc\xdf\x12\x01\x14p\x08@\x04\xf4\x1ed\x22~\ +U\xfbn\xa1\x98H\x02W\xa5\x04D\xe3\x82\xcarj\ +\xd7^O7\x81\x98Vg\x1c\xac\xb6N]\xb52\xf9\ +\xaeG\xe0(c%\xc0\xb6\xc0\x88\xad\xf8{\xdf7f\ +\xb4\xc7\xda\xef\x11I\x19k;L \x88\x95\xff\xa8d\ +\xd2\x04\xa0I\x80rm\xe3\xb6P\xd2\x01)Q#\x94\ +m\x8e>\xe6\x00\xe6\xc2\xc8\x98\xf0\xc0<\x97R\xa3O\ +J+\xc0\xc2\xf3\xb1\xb1\xb9o\x13\xc4\xf3\xdc\x9f\xaf\xfe\ +\xddx\xd8P\xc6\xf1\xb8\xe8p](\xd6!\x1e\xf5\xe3\ +\xae\x0d\xdfX\xab~\xfa \x0e8Rm\xbewVq\ +\x93\x83\xde\xe7\xf3,\x08\x99\x96\x13\xb3\xa6\xd9\xf5\x1f\x18\ +\xbaX\xe4FVj\xff\x97\xce\x9a:\xe3\x07i5\xde\ +WI \xe0KI\x9d\x07\xd4X0\xde\xe7\xb9\xa2\xfa\ +\xff\xdfDF\xbf\x94\x1b0`\x89X\xcb\x17\xb3T\xe5\ +\xee)^\xa7\xff\xba\xcc;\xca\xb4\xf5\x07I\xcevo\ +Eu\xf3\xbd\xe6\xbf\x0c\xb2@\xf2W\x9b\xadb|(\ +Z\xe6\x89\xf14\xffdH\xd5\xf0\xe5\xfa-QK\x8e\ +\x0a\x874U\xa0\xab\x8d\x9f\x00\xe9\xf1a\xf3\xef\x1f\x1b\ +\xd6\xdd?\x84\xdd\xbc\xd577\xc5tJ\xccO[\xa6\ +\xac\x11-\x95|\xaa\xfd\xda\xe9e\x86\xaa\xe6\xf1\x1f\xef\ +{zk\xe3\xf7\xf0\xb0\x95JX\x99\x04\x07X:\xac\ +\x1c\xba\xca e\x8d%\xf1\xa4\xe9\xa4\xb0N]_\x8d\ +n:\xac\xda\xae\x15r\xae6;E~\xd4\xce\xd7\x01\ +C-\xd9x\x8c\x80\x9a\xd2\x8d\x1c\x07\x14\xf6rX\x1d\ +\x14\x03\xd5\xae\xc4\xb7d\x0c8\x06\x00\xc5t,9T\ +\x9b\xef\x87\xad\xa2\x82\x15\xc8\xe5~S\x80\xa5\x92\x05\x8e\ +Dvo@\xd5/1<\x94y\x19DL\x8fC\xc2\ +Vf\xc1\xf6!\xa9F\xff\x92\xf9\xea_\xb2\xd6HV\ +[\xa6\x07\x87\xad\x19\xa7&\xfa\xf4\xf4\xce\xd1\xbe\x7fX\ +'Fe\xde~'l~\xfdV\xd8\xfcz\xae\xb0\x04\ +L\x8f\xecj\xb8_\xbad\xf01R\x88\xa5\xd5\xbc\xca\ +\x8cj\x01\xcd\x00\x0b\x14\xd5\xac}\xb5/n\x7f\x1a\xb6\ +~\xf5\x02\xc6F\x00\x00 \x00IDAT\x7f1P\ +\xd4j\xfea\xd8Z\xd2Q\x01\xed(\xda\xe3\xb9\xbf1\ +l\xdd\xa7KL0\xfb\x93O\xff\x106\x7f\xef%\xc3\ +\xbaLr\xd6\xc6n\x9f\x1c\xd6\xf5SOGB;\xc8\ +3\x1f5\xdb#\xf3\xbe_\xbbjW\xec} \xaci\ +\x95\xdc6\xb4J\x9a\x86\xc3\x03\xb3\xf4\xe7\x11\xabXb\ +\xfb\xf9Q\x09\xf4\xbdm-Ai\x14\xf0\x9b6q\xb1\ +\x0f\x85\xb8\x18J|s[\xef\x91\xeb\xeb\xf1]{-\ +\xc0\xce\xab3P{\xc7\xfc9\xef\xce\xda\xe4\xbd<'\ +\x22\xb0\xbfiX\xae\xb7_^Ki6o\x0d\xeb\x02\ +\x8e\xa4\x88O\xef\x0e\xeb\xba\x18d&\xfd\xc0\xad\xc3Z\ +\x1b\xb9&~\x86\x99R%\x07\x11 \xbf)3\xcd\xbf\ +\xbb\x96P(M\x99\xae0]q\xbab\xd7\xa5\xc2>\ +\xcc\xcfIM\x8f\xe9\xa9a\x09t\xbeo\x15\xa3S\xda\ +q\xe0\xfda\xab\x98\x1d\xbfdz\xdf\xf4\xfe\xe9}\xab\ +h\xda\xbc\xdb-\xa2z\xdae\xca\x98F\xe0<\xef\xfb\ +\xd3\x09a\xab:9@\xb2j\xc2\x89\x88r\xf4\xed[\ +I\x81\xad\xb6\x9f\x01\xfc\xfdI\xe7\x9fx\xbdmk\x9c\ +\xb8/\x9b\xb9,\xcc\x8d\x9bt\x01aj\x9a(\xf9\xac\ +\xfd7\x03\xef\xed\xfd\xc2\xe6\xd7\x8bl\x7ff;\x9f\x8f\ +\xdboo\xbf\xb3\xfdNWR\x10\x80I\xcc\x8b\x17\x84\ +u\xed\x17\x83\xa7\xf0\xa6u\xbe\x17 @\xfb\x00\x93!\ +\x18\x19\xf3<\x9d.=\xdbe\x92Yu\xbbn}g\ +w\x8c\x06\x1c\xbfz\xcdX\xebNQ\x1a\x22\xba\xd0\xa0\ +\xee\xe7\xfe2\x1d\x12\xb6jcT\x9b;\x09\x96d\xbc\ +4\x80\xec\xe1\xc9x\xb9J\x03\x0ao\x17L\x91\x12\xeb\ +K\xa0F\xc9\xc3\xeeg\xc3\xba\xd2\xa2\x0ff[=\xe7\ +f0,N\xc9\x0c\xfe\xf5\xd6\xf9\xb0\xbbsXW\xbb\ +\xee\x1cK\x00\xb22\x97\x80\xd1\x04Vj\xbf\xdc\xcbu\ +\x95\x80\x01 \xa6\x02\xe9\x14\x1b\xec\x12`K`\x96\xda\ +4m\x1et\xc0v\x01\xed\xd7I\xa6\xd6\xaa\xdd\xb3\xf8\ +?2\xcb\xb4$\xf8'\x12pc\xe9\x03\x7f\x87\x7fp\ +\xfcr\xbe9\x0f\x0a(zJR\xf9\x89\xd8\xe5\xfa\xdb\ +\xdd:l\x05Nh\xe8T)\xd1\xc5\xc2\x1a\xd0\xb9\xec\ +\xe3\x1fH\xe0\x0e\xe3G{J\xddi\xfc7\xf6\x83\x17\ +\x88\x01\xc2%\x1e2\xc3\x8c\x09Z]D\x8e\x08\xeb\x80\ +\x18\x81\x9f.H\x98n\xc46\x05\xb8\x09\x1c\x16\x83B\ +\xe9)`\xc8\xf7\x0a\x10\x05\xc4\xfcW\xd7;\x8a\xe4\xd9\ +\x0f\xf8\x13\xe2\x18\xf3\x09\xb0ALP\x80L,u\x0c\ +\x90\x05\xf0\xe2)q\x00?^\xbbL\xf1\x95\xb8f,\ +\xb9\x95\xd0\x10\x10\x0b\xe4G\x15~\xd7\xe9g\x0c\x04\xed\ +\xc9%f\xfc;`k\xd4\xf0\xc20\xc2<\xe0W\x0d\ +\x80R\xfd\xddPj^\xfe\xb3\xeb\x05\x98\x8c\x1a\x01y\ +~\x1c\xc4x\xf2j|\x013\xde\x0f\xa8\x18\x01\x871\ +\x0e\x1d\xb5\x03Ff\x81\xd2:%\xaf\x09\xe0U\x09\x16\ +f\xe2\xd8V0\xfd\x91\xfd\xed >\xfdl\xc4&\x04\ +>2\xb1\xe3\x84\x10\xc8\x0b,e\xb8Fu\xc3\xb1\xdd\ +Z\xfc\x7f\x97\xd9-&\x80\x8dwP\xf3<(\xa3\x0d\ +ir#\xfe~\x10y8\xa8\x1f\xa3\xf7\x8d\xda\x042\ +t&\xb8\xfbW\x83m\xc3B\xad\x96\xd9\xbfTX\xb7\ +Q\x0a\xcc\xb2\xcd^!{\xda\xd6\x11SLJ\xe0\xe6\ +\xc8\x85BZ\xdfc\x5c\x8d\x8bq[\xdb\xe9\x9du\x82\ +\xd8\xc8\xc7L\xb5\x83\x9a\xe3\xd9k/\x5c\xa0\xbb\xbf}\ +\xd5u\xe1,\xa5\x0f\xd5\x0dA\x1b\xb1o\xe7\xfdx\x0e\ +\x80\x1b\xafc_M\xd7-c\x9c\x99\x8b\x9a\x90\x18\x00\ +\xdf\x1aJ<\xcc/\xf7%\x03.\xd0G\xe9N\xaaM\ +Q\xf2\xa9\xf1\xaf\xf3p\xf9{\xe3\xea\xfeQ\xa5\ +-\xf3W\xe6\x9d\x83&\xe07\xff,L\x8c\x1b\xf7o\ +>\x01\x00d\xfa\x01O\xa8\xe1\x19\xb8pD\x8b\xb2\xe6\ +\xe0\xb1\x8e\xcd\xaf\xb1\xcb\x83\xd7\xb1\xad\xa0\xe7\xe8\x80\xb4\ +\x01*q\xc0\xf40.\xe6\x97\x0d\xd6\x01Gm_\xc0\ +\x9f\xed\xb3*S\x0aP\xd3\xa7[`\x9d\x01{1\x00\ +\xb4\x1f<6lU7\xae@\xe0\xa8\x85\x9a\xdb\xa8\x9c\ +w\xef\xe6\x1b\x15\xe8p\xdcn\xd7\x95\xa8h\x9f\x95\x99\ +\x9d:\xb0Q~\xb3=\x9dLH\xd5\xd8S\xe9G\x99\ +D\x89\x03xp4r<\xab\xb4!\xc7\xa3j\x04\xf3\ +`\xaa\xb6{\xc4\xf1^\x14\xd6=7\x01\xfdIa]\ +i@^O\x89\x19F@\x7f\xd4\xda&\xae2\xfa\x9e\ +\xaf\x03IW\x82\x0c(Ku\xd9~!\xc0\xc5\x94y\ +y\xd8J=.M\x80g\x86\xcd\xd3\xe5\xfca\xab\xfa\ +\xfd\xee\xba\xb3cv\xdd\x16 \xbe\xa5Q\x1e\x93\xaa\x1c\ +Z\xd3A\x8d\x0c\xa2pP\x85\x05TM\x9c\xea7:\ +\x84;T\xb2\x0f\xed\xda\x19&\xa3g\xf3\x81\xb0N\xcc\ +J\x0dvP\xd2\xdf\xd5e\x9c\x887F\xb7\x86\xfbv\ +}\xc1\xad'\xeb%\xfb\xd3\xef\x1e\x12\xd6\x05\x1eG\x87\ +\xcd\xf7\xf5\xc6\xb0\xf9}\x8f\x0ck\xcf\xa9\xd5\x84O7\ +\x0d[\x9fSe03\xf0\xa9\xdaH@\xac\xccQ2\ +>\xec\xdf\xa5ys\xa3fk[\xb7\xf6\xdf\xfc=\xc7\ +\x84\xad5\xb7\xda\xa0m>\x15\xd6\xb5w\xcby\xd5\xba\ +\x03\xdc?\xc5\xd6\xae\xbc\xee\xe3\xad\x86\xfb\xe6\x19\xf8\xdf\ +6\xc5\xaa\xfewS\xb5?\xb9i?<7\xac\x0bh\ +\xb4\x93\xcc@k\xf3\x96\xd9\xde\xdc\xb5S\x8b|\xe0\xe3\ +:Q\xb9\xa0F\xdfy\xcd|afl\xce\x0c[\x99\ +X\x00\x8a\x12\x83\x03\xe4\xf7\xb5\xb1\xdf\xc8}\xf2j\x9d\ +\xc8g\xd6FO/\x9d^6\xbd\xac\xd3\x9c0\xaf.\ +\xbf\xac\xff\xe9\xa1a\xf3\xeb\x0bf{~:D_\xcc\ +\xb6\x8c\xdbt\x88\xff9\x01\xc7\xf9~\xb6\x7f5\xdb\x09\ +kW\x13\xfb\xc2\xe6\xa9a]\xbb\xb7\xac=\x9e\xae\x1d\ +\xb6\xd6\x86\x97z{f2\xa7\xd3\xa6oM\xd1\x87\xfd\ +7\xa6{F\x1b\xb6\x03/\x0b[\x19\x1b\xda\xdb\xd5\xf9\ +\x7fz\xee#oZ\xc4;7\xa7\x86%\x83\xe3.k\ +\xe9\xc7\xa4\xd4\xe1\x84\x044\x94\x08$3\xa42\xd3Y\ +r\x12\xb0N\x1b\xff\xec\x9eP\xda?\xc9X\xb1\xef6\ +\xe0\xe5&\x09L\xc6\xbay\xf3l\xff'k\xed\xffs\ +\x0d\x80\x002\xdb\xc7\x87uL\x90\xdc\xbf\x883n/\ +\x1d\x96\xeb\xe4\x7f\xb7v\x9d7\x9c~\xb1+\xdd\xd0\xfe\ +\x8ex^\x06v%\xb6\xa64\x898\x1f -\x0aV\ +B\xad\xff\x1ba\x9d\xb6\x88v\xb0\xfcM\x00e\xf6\x89\ +\xdf\xde4l\xfe\xdc\xd3\xc2\x1a\xe3\xa1\x01\xd6\xa5\xa5\x90\ +T\xff\xe9\xeba\x1d0\x22\xc1\xa1\x16;N\xbdO\xac\ +\x89\x96\xaa\xd5\xf7\x9f\xf3E\x1fy\xa5 \xa8\xdb\xd67\ +q\xc2\xe0\x1f<\xb7\xebrBd4\x01\xdd\xdd_\x87\ +\xad\x80E\x05\x024A\xb4\x8f%\x02\x19\xe1\xfe\xe5\xbb\ +\xee5\x98N\x00#\xe2m2\xf9\x00\xde;,%\x81\ +Jh\x94\xee\x14 \x97\x01\xfc\xe6\xc5a]I!\x7f\ +%\xfd\xf9bZ\xf1\x1bd\x22\x89\xd8a\xa69Od\ +\xee\x93IQ\xea\xfa43\xcc\x13\xc0\xb1\x12\xbb\x04\xf2\ +J\xbd\x9f\xffa|t\xcbzS\xee'WK\x7f\x8b\ +_, \xcc\x92\x90\x12\x85L\xca}1h\x12H\xae\ +\x9fS\xab\xc6y\xa9Mb\x05\x904\x1a\x12\xe0\x020\ +WB\x030o~\xd1Z\xc2P\xd2\x0dBI!\xe6\ +\x9c\x84\x83\xb8\xca\xb8f\x09V\xf9\xdd\xee\x8f?)\xf0\ +\x1f3\xdf\x98{cI\xe3P\xc3^\xe3I\xd5?\xf7\ +\xc1\xda\xa7\xf9\xd3\x98\x13\xfcU\x99x\x9f\xe3}\xae\x83\ +\x7f\xe4:Q\xf9]\x1f\xbf\x11\x00 ~\x0a@\xf3#\ +)\xee\xf7\xf1\xee\xf7\xfe~`\xa0\x97\x08\x1e\x00\x09\x03\ +\xc3u\x8d5\xfd\xfc\x22\xe2\x83D\x10\x01@\xe2\x93\xa1\ +\x9d\xf7A\xdd\x08\xdc\xe7\xa8\xc2\x0f\xb8\xf8dXw\xfd\ +\x02\xf91\xc0\x1f\x9f\x87\xb8X\x89\xad\xeb\x1a\xdb\xcb+\ +\xdd\x14\xdfI\x08J\xd8\x8f\x8c\x82\xfc\xdc\xfd\x07eZ\ +\x95\x04\x10\x15\xa2\x9a(\xd3,\x83\x08\x09\x12\x08\xa6\xa8\ +\xd0Am\xd6\x04\xe0\xa3\x8a\xfcH-\xf1>\x13])\ +\x81\x0c;\x00a\xac\x05?\xa7\x9au\x01\xbf\xeb\x03\x18\ +\xa0\xf2g\xe6\xe4 q6\x9f\xefsmlc\xcd\xae\ +\x89\xef\xfd\x02$\x13\xd3\x83\xe0x\xca,\x13\x03DQ\ +w\xbd\xdf;k)\xc2\xec<.\x7fg\x9cP\xfcO\ +\xcd\x9f\x01\x0d\xeesd<(\x8d\xc8@\xba\xb5\xe1:\ +_GM>$\xef\x03Xb\xfc<\x873\xcf\x9aY\ +\xaf\xeb\x1ck|F\x0a\xff\x99\x83j\xeb\x88T~k\ +h\xafH\xe4Nm>\xf5z\xd7\xe1U\x00-\xd0\x04\ +\x10\xec\x1f\x98\x22\x9fHd\x11\xd5^[\x18\x9fo>\ +\x8d\xb5\xcd\xa7\x16\xd0\xb2dTm\x846N\x94'\x81\ +\x92\x92\x185\xdf\x02'\x8e-`\xc6\xfbG\x06\x82\x0d\ +K\xed4\x06\x03\xb1?j\xf2\xe6\x19u`\xaf\xbe\xcf\ +\x06`\xbc\x8d\x0f@\x02`f\x1d'\xd5\x92\xa8\x5c=\ +?\xebc\x14_\xc1\xe8!\x22w\x8f\xb0n\x1e\x99\xef\ +\x10\xd1\xdc\xe8J\x157k\xf4J\xbd\x5c\xad\x97\xcc\xa9\ +vw\xe90U@\x95\x14g\xe2}u\xf0\xff\xf7B\ +\x15\xc6@\xa8\x0c\x9d\x0cGR%Q\xec*s\xaef\ +\x9dH\x17\xaab\x06\x80j\xb9\xb5\xa5+\xc7\x94\xba\xaa\ +\x0d\x1bb\x9f\xed\x99\xaa\xdf\xbb\x0c\x08\x80\x09\xf5.\x19\ +D(\xc7\xa5\xb6O\xb5\x9f\x83`\x9fI\xcajT\x9a\ +\xb7\x9a\xf4\x9c\xf7\xb4\x16\xaa\xcbC\xb6\xe3\xac\xef\xcf\x1a\ +\xd3R\xb3'.\x08\x88H\x8d\x8d\xcd\x0f\xc3\xba\xfd^\ +\xad\x22 Cf'\xa9\xb8-\x00|K\xb7\x8f\xe5\xe7\ +GEt\xd4D\xcfNb\x9b\xbfj\xfb\xa7OL\x1f\ +\x8f\xccg\xeb\xfe\xb1\xd7j\xa7\x1bPP\xd4\xf2\xe7\xa6\ +\xdaq\x02\x1c-\x83\xf5\x80\x8eR\x99\x07\x99u\x8a\xa9\ +\xd1*u\xef\xde\xd5H\xa2@\x07\xb5\xe6\xfd\xf6\xbf\xc3Z \xb1\x04\ +\x84\xdb\xe5\x1c\x0aByc^|f\xfa\xec\xf4\x99\xb5\ +DG\xfb\xafj\xbf\x97\x1a\x15%\x92x\xfd\xa4\x10\xa7\ +\xa8h\x05\x88\x80\x9eo\xe4\xfe\x9a\xf3\xb6j\xab\xf3\x5c\ +\xd2\xeex\xf7;a\xeb9\x0a\xe0\xa1\x191\x9d\x18\xb6\ +2\x11[&\xf0\xa4\xd4\xa08.3a\xa76 \xef\ +\xba\x01\xe4\xd59\x99\x89\x05\xc0\xb3}a{\xcf\xb0\xf9\ +\xf5\xb9a\xcdo\xfbJ\xf8m\xdb\x13\xc2r}\x1c\xd1\ +i\x168\x8f\x04B\xce\x9f\xdcW\xcd\xd79,\xbdg\ +\x0bL\xffy\xf7\xce\x08\xac[I\xcbC\xba\xc0\x87#\ +\xaeM\xdb\x85\xc2Z;\xbf\xcbD;\xbf\xfd\x87\xec?\ +\xd7\xfes5\x80\xf2\x02\x01PV?u\x8e>&\xc5\ +]f;\xaa\x01\x88\xdf\xdai\x93|\xf2\x0aT\xb50\ +\xfa\x0b\x0b\x10\xd1\xda)\xca@\xf2[b\xf6gms\ +\xdcw\x01\x80\x02(\xd4f\x01\xae~\xf3\x80h\xe3,\ +#\x98\x8c\x88j#'q\xe1\xbc\x05|Ew\x9a\xbb\ +e\xfb\xbe#\xd6@\xbf\xb4)\xa8\x9c\x13\x1b\x04@<\ +}\xd1\x00\xa9RV\x81=\xbf8\xba\x83<\xa0c8\ +\x1d\x1b\xd61\xf7\xeco\xb9\x0e\xed\x07\xe5\x87\x02b\xce\ +\x1d\xd6\x8d\x87nP\x18\x86w\xcf\xef\xbd\xfa\xe2\x17W\ +\xd7\x8c\x04\xf41\xb3\x00.\xf5=\xc9xtn\xef\xae\ +\x1d\xd61\x16]?\xe6\x07\x7f\xc9\xbc\xc1\xa0\x1bE\xae\ +\x05\x5c\x18\x02\x12\x7f\x02T\x81\xb5v\x8a\xd9&\x95\x18\ +\xed\xeeFa+@U\xfeM\xb6\x17\xdc<9,\xe7\ +\xdb]\xd6\xebq\xce\x95\xf6\x83\x126\x8cF\xf1\x8b\xc4\ +^\x96r\xd5x\x8f\xb5\xf7\xe2\x07\x01(qn\xd4q\ +\xf7\xaff\xde\xbc\xf3:\x8a\xdda.\x8a\x8f\x94\xc2\x8e\ +\x8ce\xdf\xaf\x9d\xe1\x900\xac\xf980\x16\x0ej\xe3\ +'\x90\x16\xc8+\xc9\xf9@\x02\x0c\x9f\xcf@|\xa4\xd6\ +\xd3\x04\x00\xa8\xf0_G\x91\xf6\xb1\x06_\xa9\xa9\x00\x1d\ + \xe0\xdf\x8d3\xff\x8c\x7fg\xbc\xc6\xeb\xf6=\x18\x0e\ +4\x0d\x8c\xb7\xeb\x928\x13Gy\xce\xe2\x04\xfe\x0dm\ +\x01\xcfslS\x08\x90C\xf9\xd7\xe5\x88\xc6\x84\x12\x22\ +\xf7-\x9e\xca\xef\xdb_7\xd8S\xc0\xbf\xd1}\xf0\x8f\ +[\x8e\xb8\x10\xfa\xdd\xc9\xb3}\xa5\xab\x91\x17\xf8\xed\xcb\ +`r\xac1w\x83\x10~\xbf\xef)\xe3\xbd\xea\xbc\x81\ +\xf6s\xa9\xb5\xe0\xc8\x14\xf5\xfb\xec\x03\xcd13=f\ +\xa8}\xef7\x866kc\x86\xdb\xefM0\x03\xc8\xd1\ +\x1f\x11\x1a\xc8Q^O\xa9\xd4\xda\xb8\xd5\xee\x028\xf4\ +\x7f\x97\x09Z\x17\xd4\x12\xd8\x12\x0d\x14\x88\x9b\x18\xa9\xee\ +?o\xb2g\xad\xb5\xf7\x1c\xa7\x1c\x97C\xce\xda\xef\xb1\ +\xa8Y\xe7\x1aJ\x00\xc6\x80\xff\x9c^\xbd\xcf\xdf\x09l\ +\x1d\xe8+2\xbc\x5c\x87\x85\x8eZ\xf3\xcdR\xfd_\xc6\ +\xdd\xc6\x82\x09`\xdc}\xce\x08\xc0\xd8xlD\x16\x00\ + \x80(\x9f\x8dAm\x91\xb6,(\x80\xc4\xda\x00?\ +\x00\x1d\x07\x95\xcf\xb5\xb0}\xaf\x8d\x11\x85Z\xe9\x83\x9a\ +o\x1b\xb1n\x0c\xae\x13\x90\x90\x81 J\xad\x0c=\xf1\ +\xa2z\xfe\xc6\x13P`\xc3\x80d\x1aw\x88+\xc7\x5c\ +\x06(\xdb\xb4U\x97\x0d\xea\xbf\x02H\x1b\x0f*\x1aj\ +\x22Ds,m\xf1\xfc\x01\x1b68\x0e\xce\xd0\xff\x98\ +J}\x05\x98Y\xbbV\x01{\x8e\x8b\x8cn=_\x07\ +\x97\x8c\x81\xf5\x0c\xe9\xbf|R\x1b\xef\xb7P\x1e\x0b\xb8\ +\xf2\xfc\x8d\xdf\xbd\x16\x07)\x08\xa3\x11\xa8\x95\x88[\x06\ +\xba\xd5\x97\xd9<\xa3\x95\x90\x01\x7fQQm\xd8\x02\x96\ +T\x9b6\x8e\xfa\xdc\x17\x85^[\xb7\xcc\x18W\xc6\x9c\ +\xe8c\x96B4\xf1\xb5\x9btb^\x00>\x14I\x99\ +-\xeb\xd9\xba\xcd\xda\xe1bL\x00\x22\x00|\x99\x19\xae\ +\xc0\x1f\xa2\x9e\x0eW\x95\x22a\xa8\xa4\xfa?\xa0\xb5\xc4\ +\xb40\x02\x8c\xcb\x13\xc3Z)\xcbR\x02r\xa3\xc5\x01\ +\x9a^4\x1d?\x1d\xdf9\xd6\x87eIR\x04:\xef\ +l\xed\x01[i\x88\xcc\xd8\xf6\xce\xdb\xbbl\xef\xdc\xe6\ +\xcdr\x90]r\x01\xc8\xaa_s\x96\x88m\xdf\x156\ +\xbf\xfe(l~}{\xd8\xdao}{\xe4\xf6\xda\xdb\ +#\xd7\xeb\xe2\xd8\xaa\x0doL\x80o\xad\xda\x13\xb5_\ +\xd3\x84H\xc7\xad\x02\xfflgX\xa5\x22j\xc3\xb3f\ +\xb8\xa8\xb1\x09\x1f\xa6w\xcc6\xaf\xab\xed\x9f\x86\xcd?\xff\xaf\xb0\ +\xf9\xe7;\xce\x16\xf7w\x97\xd9\x8eZ\xc5|\x0b\xb8\xc8\ +}q{\xd9\xb0\xf9}\x7f\x146\xff\xfc\xcc\xb0\xf9\xe7\ +\xff\x136\xff|\xfc\xf6\xc5\xdb\xe330\x8fy{T\ +\xd8\xba\xde\xa6\xe7\x84u\xe3@\x84\xf6\xd3aM\xeb\xa6\ +Q\xe1\x05\xf6\x00\xb3\xe9\xa3K\xbb@\xe7C1\x1c\xec\ +\x9f\xf6\xbf?\xda\xf7\xd4\x10\x83\xdb\xfbv\xd8|=o\ +\x0b[)\xe7\xa5A\x11\xe7\xd2\x13\xd6uX\xcfG\x82\ +b\x0e\x07\x03\x80j^\xca\x07\xbaR\x06\x89\x01\x99\xff\ +8\x8d\xdf\xd5u\x83p\xdd\x19`\xab]\xafn&(\ +\xec2\xe0\x1cu\x22\xb8Y\x9a3\xcf\xe2\x97\xb7Z\xf1\ +we\x0d8\xe0\xf4\xfa\xc9\x8c{~\xb3U;\x8a_\ +E$\x10\x13\xe1\xe1\xcb\xb8\x14\xa3+\xb5\x10\xaa\xa6\x9e\ +\xa8]\x96 T\x00J\xc4X\xbb;\x9a:\x11\x07\x9c\ +\xdc1\xfd\x00\x15Jz\x13\x90\xa8\xaeD\xe9\x9f\xd5\xbc\ +M \xa2\x98w\xc4\x05e.\x8d\x83\x80\x12\x80\x7f\x5c\ +X\xd7\x8d\xc0x&\x93\xae\x80\x02\x9f+`\xe3\x1f\x88\ +\x03$<\xc6nc\x00)~Ej:\x95\x88e\xfa\ +\xebJ#\xeb\x5c\xf9\xd7\xb0n?\xcd\x12Y\x0c\x22\x22\ +\x81\xc4\x91\xa3\xa7Nt\xd5\xa9s9E\x07+\x10\x95\ +\xf0\xe0\xe7\xf9O\x80\xca\xbfT\x9a!\xee\xa29\x03\xa8\ +\x128\xfa\x1c~\xadL4\x7f\x10\xf0\xcd\x1f\xc0\xc8\xf5\ +~\xe3F\xab\xe7\x82a\xf3\xfb\xdf\x14\xd6e\x9as\x1e\ +\x00\xb2+\x90\xa6A\xe0\xbaG\x8a\xbd\x00\x9a\xa6\x97n\ +-\x02\xff\x93\xf2z?;\xbf\xfb\xb3\xd9%\xe6\x94N\ +\xc3\x00\x10\xed\xbe$`\xf8q\x80\x00\x81{\xce\x8bb\ +\xfa\xf8;T\xfe1\xb0\x07\x14x\xbf\x8c\xbb\xb8P<\ +8\x02.>\x8f?\xe6:F\xad%\xf1\x0e\xf1q\xcf\ +a\xfc{\xf7\xe5\xfb\xc6\xb6\xe9\xa3v\x1f\xbf\xda\xf3\x1c\ +J%\xf6w\x22s\xcb\xc6A\xb4\xef|\x8d\x1c\xbd\x04\ +H\xe7I\x87y\x9bH\xd4\xb9\x06\x0a\xf1\xfen\x82\xfa\ +b\x08\xa9Z\x93\x5c\x80\xc5 \x08\xdc\xefj\xdd\xc2\x14\ +@\x09p\xb6K{\xb7s\xcc\xec\x8f\x81\xfd\xf8:\xd6\ +\x94\x1b\xe81s}Nb\x84\x1c\xf3\x91:\x81\x22\x06\ +Au]\x1eh:\x82\xc5`\xb8nX\x17Xz\x90\ +\x10`\x94@\xfd\xeb\x87\x92\x87:\x90\xae\x95\xe2r\x87\ +/\xb5y\x15\xe8'B\xbf\xfb\xf6\x22\xfePj\xef\xdf\ +=\x87\x1a{@\xc2*\xce\xb7|\xdf\xd8wrdr\ +\x9cSi\xc2\x1a\xe0/\xe3e\xc1\x8f\xdd\x0a\x5c\x0f\xca\ +\xfe\xda\x8eb\x19\x7f\xcfeP\xcd.\x07\xde\xb8\xa0r\ +e`[\x1a\x15\x1cD\x0c\x8bCs\x1e\xd9\x18\x05\xb0\ +\x0e\xca\x0b\xe6\xfb\x04\xb8\xe6\xab\xb6p\x9e\x9by\xe3 \ +\x80\xe4+m\xb8MX\xb7a\xe4\xf7\x94\x03\xfc\x0b\xf9\ +9#SC\xe0k\xe3\xb9@]\xf7\x82\xa8\x8e*\xad\ +D`\xa8\x89\xcbp\xa7CU\x8e\x94\xef\xb1Q\x08L\ +\x06\xb5YT\xd2B\xf6\x1d\x14\xdaQ\x01JP^m\ +\xcc\xbaI\xf8;\x88\xb9\x0c\x22\x8agf\xb6+\xa0\xb4\ +\xce1\x1a \x94\x9e\xb7\xbe\xb9\xd9o\xba\x80\x0c\xf3\xed\ +\xdf\xf2 \xf8\x9bT\xe7\xb5\xe1\xd9\x08i\x91x\x8e\xc4\ +\x00w\xf9?\x99n\xfdvSL\xa9D{R%\xb8\ +\x80\x0fj\xc2ki\x0f\x15\xfce\xc3Ub\x02\x183\ +\xbf\x92\x9a\xb9\xf9\xad\xb0\xce\xa1!\xeev\xfb\xb0\x95\xca\ +^\x22Q\xf6\x1d\x01\x8a\xf59jt\xd8\xc8\xbf\x94\xa2\ +\xaboO\xaae>\xef\x16\xf0=k\x15\x01\xdb\xbc3\ +l\x15\xedBI-\x0d\x01\xa5%\x98\x19\x99\xc9\xa8Z\ +\xf5\xbfK@\x84x\xd5\xdfd\xe9\xc4\x03\xc3\xda\x01\xb5\ +\xccO\xed\x0d\xb5\x17\xdc\x0b\xeb\x02\xc6\xc3v\x17nm\ +\xb4\x1c\x9c\x09tl\x1e\xb6yh0Q\xaa\x9d_\xb6\ +\xb5\xdb~,l~\xfdt\xd8\xfc\xbe\x7f\x0fK\x87\xff\ +\xd2\x9d\x03\xae\x86\x14R\x8e\x19\x93baM\xa3\xe2q\ +\x9d\x83\x92\x00[\x89\xeaiG\xe89S\xfd~R\xaa\ +\xd4\xeb\x12\x90\xe3\xb8\xef\x8f\x9b\xed\xdb\xfde\xd8<}\ +\x9f\x1d\x96]\x08\x9e\xd2i\x0d\xc8\xb8Y\x87\xbe\xdf\xfd\ +\xe7>9]>\xacc\xcah+\x09\xa8\xd0w\xfc\x17\ +\xc3\xd6@\xb22\xf7\xe9\x08W_\xf4;\x85\xad\xed3\ +\xb7\xc7\xcev\xdc\xfa\xfc\xed\x1b\x959MJ\xe9\xf6\xf0\ +\xb0N\xfd\xfd\xb4\xd6\xb05\x02\xae\x96y\xdf|1l\ +\xcd\x0c\x1e\xf8B\xd8\xfc\xefo\x0e[\x01\xc5VS=\ +\x8f[(A\x84\x16\xc4\xf6\xcc\xb0\xf9\xf5\x12a\x1d3\ +\xcd9\x9a}\xc6[\xc0z\xadl\xe7\xda14Z)\ +\xda\x91\xab\xf8\x1c\x7fcwLX\x024\xdb,\xd1\x8b\ +\x12\x87\x8b,\xed\xfcZ\xf8\xf0K+\xa5\xbaD\xe6r\ +\x7f\xda^<,\x03\xe1wt~\x8f\x1a\xe8\xdc\x977\ +?\xdc\xfch\xf3\xa3\xceQ\xd6\x9e\xf4\x93a]\x00\x9a\ +L\x9d\xe9\x22a\x1d5\x9f\x88\xa0\xefGq\x16\x08\xad\ +\xe2X\x8b\x98f\x02]\xd5\x05\xc6\xf9\x93]\x15\xaa\x84\ +\xe4ma\x1d\xf0\xfa\xaee~Vf4\xa9\xdcMK\ +\xe3gr}\xde4\xe7\xe7{:\x86@\x00iO\xca\ +\xe7r\xae\xf5y\x16u?\xfc\x93\x13;\xca\xb9\xd29\ +\xcc\xa2d\xf6(\x19\xdc~(\xac\x01\x0f7\x0f\x86\x8a\ +.\x15{7\x98\xed\xfa)\x96\xf7[\x9d\xc8c\x04\x10\ +o\xec\xc4Is|\xab}\xdf\xb9\x17\xcau\x01z\xba\ +y$P6?\xb3\xf6\xdc\xa6\xef\x86u\x14}\xfbw\ +\xe4\x7fo\xd2\x89\xdd\xda\x87\x89\x9e\xc5\xe9\xf2\xfd.\x80\ +M\x00\xa1\x02`\xe7\xaf\x8c\xe4\x9d\xc2V\xbf\xa4(\xe1\ +\xfc\x1d\xfb\x07\x07\x1e\x83\xc2\xfe\x99\xfbfQ\xff\x93\x01\ +\xd8\x02\xbfOt~\xb0},\xd2\x04\xd7\xee\xbaK\xfc\ +W\x0b\x85V\xe0@\xf7\x1a\xa5LJ\xbf\x04\x14oO\ +*\xb9R<\xfe\x94\xc0\x9d\x7fHd\x10\x00-\x11\xf1\ +\xfaE\xe4t\xdf\xa53\xb3\x7f\x85,)H?kw\ +\xfc\xeeE\xbb\x17u\xe7\x22?-\x99H\x8d\xa9\xf0\xeb\ +\x9d\xff\xf4\xda\x14\x0f\xd6%EiB\x02\xe4J\xe6\xaa\ +[\x0c`D\xa9-\xff\x81_\x09\xc8\xb7>\x94\x0e\xa5\ +\x86\x0cf\xdf\xd8\xad\xa3J+]\xafq\xf0y\x00\x00\ +\x1a4\xc9\xa0\xabRB\xfe\xb4\x80\xdc\xbeNTw\xd0\ +d*\xa6\x87\xf3\xdby\x90\x01[\xf9\xb39\x0e\x05x\ +\xa4FR\xf9\x07\xa3\xba;?ddr\x9a\xcf\xa38\ +\x9d\x84&?z\xd4\x02\x00\xb8\x88W\xc4=\xa36\xc0\ +\xd8n}l\x97..\xe2\xdf\x1a_q\xe3\x080\xc8\ +\xe0\xab\x91w\x1d\x1f\xcf\xf3S\x5c\xf1\xb9\x06\x01\xac\x09\ +(\x19v\xa5\x03\xe2\xab\x91\x91-\xd1\xe5~\x05\xc2c\ +\xb7\x01\x9f\xe3\xdc\xe6\xf7\x02\x18\xf8\xc9\xe2\x1e~\x9a\xf8\ +y\x04\x04\x00\x0eC\xc2\xb8\xe2\x1f\x808\xc0\xc6\xf3r\ +]#\xb3\xc0}\xd9o\xc6Ri\xfb\xb3\xebr\xbe`\ +v\x02r\xb3\xa4c\x7f\xd7W}\xa5\x8e\x9f+?\xf8\ +lT\xf4\xab\xf6=\x96\xb3\x80\xf5\x8c\xbc\xd1\xae\x9d]\ +[\xa6\x17\xce\x0c\xdee\xba\x09?R*\xce\xa9O;\ +\xd1\xc0\xb1-\xa0\x85\x7f\x0e*\xf3Eq\xa6\x8e\x7fN\ +\xd4~\xafc_xb\x1a\xa8\xcc\x02<\x99t\x0f\xd4\ +\xf7C\xf0e\xe8|\xae\xebt\x7f\x02<\x1b\x98\xcf\x13\ +\xb8^*\x03S\x99\xe8\xab\xe6\xab\x85\xfd\xf9D\xa0r\ +\x02G\xb3\xa7V\xa3\x7f\xbd\xdch>\x97\xd7\xe5\xd5\x84\ +\xc9\xeb\xab\x12\x0e\xe3\xe2\xfbm\x80\x9e\xcb\x08\xb4\x18\xdf\ +\xd3\xaa\x04a\x99\xe8\xa8t\xda\xfd\x11_\xfc\xceP\x9a\ +0j3x\x0eJ\x18\x06U\xcd\xfa<\xd7)@\x1c\ +\xdb\x93\x18w\xcfK\x9b\x95\xf1\xf9\x9a\xb7\xf7\x0e\xeb\xc6\ +\x9f#\xea~d\xdc\xf3\xfa*\x80\x17(8\x90\xc7\x12\ +\x16\x0b\xd6:\x11H\xa4\xd8b\x01<7\xcbL\xff\xd0\ +7\x17\xe5\xb6\x1c~\xd43\x07\xb1\xcf\xf3\xbc\xfc\xbdy\ +\x91\x817\x04Z\xdf\xd9Z\xa7\x10\xe2\xf1\x005>\x9e\ +\xbf\x00]&&\x1d\xd1\x12k\x1a5\x11ltj\x9c\ +\x88\xf9e\x97\x90:\xd0\xac\x03\xa5\x0e\xd4\xa0G\x0a\xde\ +\xad\x9bU&\xbeT\x823\xa3\xaa\xdfzQ\x7fS|\ +\xa9\xae\xdf\xfcp\x10\x99g\x0e\x92D\xd87\x1f\x0b[\ +\xa9\xe2\xa5\x82m\xbcQ\xed2\x83\x22\xb3\xa46\xb8\xda\ +\x00\xc9\xa4\xd0\x04Q\x9b\x9cT\xec\xdd\x9f\x85\xad\x99\xea\ +\xa2\x10\xe6\xf3\xd1W\xbe\x80\x14\xcfY7\x83\xaci/\ +GX&\x01\xa0\xf2\xd5dXx\x1e\x9eO>/\xa5\ +\x1a\xba/T\x97\x86\x8f\x875\x0a\xe6R\x13\xfc\x909\ +\x00\x8f\x8c\xf4'\xc3\xe6\xd7\xd7\x85u5\xe1Y\x0a0\ +]c\xe9\x1f_\xa5\x19\xf9\x9c\xdd\xf7\xde/\xec]w\ +o\x1e\xaf\xedU\xc2Z\x0d\xe4KZ\x0d\xa4y\xc2\xb1\ +\xfe\xf9h\x04\xd72}\x9f\x8aL\x9fL\xef\xf6aa\ +\x1dP\x91\xf3\x01\x95\xb2D\x04\x95\xe2\xc4\xd3\xdef\xad\ +\xf1\x0d\xd7u\xb8\xf9hX\xce\xa3g\xae\x8e\xcb\xe6\x1f\ +\xc2:\x07\x8b\xe31\xcew\x8c\x0e\x19W\x0c\x9dt,\ +\x89\xbb\xe9\xbb=\x87\x17\x0b\xf0\x91\xb5\xd2\xe5`d\x89\ +I\xd5^g\xc6]fk\xbaM\xd8\xfc\xfa\xb9\xb0U\ +-;\x94a\x9a6\x8c\xd2\x9b\x0c\x18\xa7\x7f\x0e[K\ +f6'\x86\xad\x99\xe7\xed\xdd\xc3\xe6\xd7\xbf\x09\xebD\ +\x12e\xc8\xa2\x0d\xd8\xe5R\x9c\xec\xab\x9d\x16G\x02$\ +\xd3\x07\xc3r}|<\x81\x86\x98??Z\x02\xe0\xa2\ +t\xdf-\xac\xd5\xe4\xbf4j\xf2\xa7\xb7\x87\xad\xccA\ +%\x06\xadm\xe3+3\x80\xb9Z\x07T\xbck\xb6w\ +\xa7\x7fq\xe8\xdaV\x0d01\xfdz\xd8*J\xda\x00\ +\x8cc3\xc0yh~\xce\xa3:\xf12\x80\x15QC\ +\x00j\x8c\xf2-\x12Xy\x7f2\x1c^\x9c\x00\xdc\xec\ +\xc0O7\x08\xeb\xf6\x958\xcd\xbe\xd6\x89\x8b&\x95x\ +\xfad\x8a\xf9e\xd7\x0b}\x9eK\xbb#\x03`\x01]\ +\x89\xff\xdd=\xac\xa3\xa6\xffcfbOH\xc6L\x8a\ +\xb0\xed\xfe`\x11\x81+\x0d\x8a\xcc\xe4on\xb8dZ\ +\xe3i\xc4\xf3\xd8<\x7f\xa9\xe9/\x15\xf2\xac\xd9\x9e\xde\ +:\xbdezK\xa7\x86\x1e\xfd\xdd\x9f\x9c\xe2y\x97^\ +\x99\x112\xfe\xd3\xf9\xc2\xd6\xfd\x08\xd3\xa3J\x8a\x82q\ +\x12\xeb\xfb=\xb3\xbd\xb7+I\xa1Z\xae\x16=U\xd7\ +\x89\x80\x01$\xb6'\x85\xcd\xff\xfe\xc4\xb0\xae\x9bB\x8e\ +\x9f\xb6\x8b\xd3%\xc2\xb2\x94\xe1\xbe\xeb\xfeV\x01\xbc\xfd\ +7\xfc\x9e\xcf\xaf\x0c\x1f\xe2\xb5\xe6\xc9\xf6~\xdb\xfb\x86\ +\x18!\x0a\xb5\x12\xb2rx\xb3$\xa2i[\xcc\xe7\xf3\ +\xde\xd3\xc2\xe6\xf7}8\xac+\xdd\x09x\xfc\xc4\x8e\xa9\ +\xa6M\x9d\xeb\xe1\xef\x84T\xdd/-L\x93V\xda\xa1\ +\x96\xdc\xf9,\x01\xa4\xfd(\x87\xdc\xb9\xa1\x14F\xdfz\ +\x22\x8b\xb9/T\x8d\x7f\xb4[\xbdP\xd3\x10ZJ\x02\ +R\x9ct\xf7\x99\x14y;.\xdb<\x12\xc9\xa3~\x9f\ +\x1a@%v\xfa\x84%0.\x8d\x12\x00\xa6\x9f\xb5\xfd\ +s._1\x03n\x19\xe1\xfb\xed\xee\x1b\xcf\xa7\xfc9\ +\xfe\xc0\xf73p\xa1\xb1\x22pv\xfe\xf2\x87\x00\x12\xba\ +\xa6`L\x02\x80\x88\x1ff{\xd2\x0a\x0c\x05.\x00\x00\ +\x22\xca\xc9<\xaeR\x17~\x93}\x9d\xf6Q2\xdfZ\ +\x97\x87\xd7v\xdaH\x02s\x19\xf7\xdc\x07K\xc4\x8f?\ +\xc7o\xe1\x97b@\x0d\xcc\x83\xcd\xe3\xc2:\xca\xbf\xf3\ +\x96^\x8bs\x88\ +6&#z\x7fe\xfa\xfb6b\xe7\xeb\x90\x85<\xa8\ +i\x02T\x7f\xd1\x0b\xcdv\xc1\x1c\xb0\xcfw\x01\x84\x89\ +\x09\xf1\x0b|\xa8\xaf\x85\x16\xc0(\x19\x18U\xb2}\x0e\ +*\xcb7\xc2\xba\xcc\x9c\x1b\x15hB\xc8\xc7\xccu_\ +\x9a\xd0\xf7\x87\x17px\x1fG\x1a5c\x10\xe3\xd3\x06\ +\xa4\xa8\xfa\x1c\x0c\xd7\x09Q\xf4\xf9(\xb9J\x00 \xe7\ +\x0e\xb4\x0c\xf0\xe6\x03~\x11)\xbbA\xd6\xb4\x1e\x95\x99\ +9\xaa\xd4\xd7]\x02\xb6\xca0\x5c\xb8\x02\xd7\xe5\xfa/\ +\x97\x99;\x00\xc6\xa8\x22i\xe1\xc8\xf0e X\x81\x85\ +\xda\xea5\x13\xbf\x000jO\xbe\xb4\x88lm\xae\x91\ +\xdd\x05\x12\x01\xae\xf1>'\xd1\xc5\x11\xd8Q\xdb\xaeM\ +\x16ue\x07\xc6\xf9\x86\xae\x07\xc4e\xb2\xdd\x5c\xf5\xd9\ +\x06\xa0\xd8\x90\xdc\x97\x0dGw\x03\x1a\x03\xaeS{\x15\ +\xa2$\xae\xf7\x94\x1c/\xb5i\x00\x05\xe3\xf1\x93\x018\ +\x1a\xdb$\x9a\x7f\xe3\xab\x85z\xee\x04\x18\x94r\xd8\x08\ +F\xca\xd9(\x068R\xee\xbe\x10\xd6\x01LD\xe1\x1e\ +\xba\x04n\xc5<\xd1n\xc7}\xa3\x22;\x80\x1d\x8c\x0e\ +\xd2k$\xe3D\x17\x01\x01(`\x04\x95\xc8:\xd6-\ +\x808'\x87\xa1\xba)$`\x85\xb2o\xa3M\xea\xfc\ +A@\x83\xbe\xc6\xe9\xf0T7\x01\x99\x09\xed\xce\xb2\xcd\ +U=\x7fm\x10\x89\xaa\xf9O{\x15\x227y\xe0\xcc\ +niS\x13\x17\xa0\x95\xba~\x1e0\xb5\xaf\x10\xdf\xb1\ +?\xc9\x10\x187\x8eO^W\xd5\xf6\xdb\x172\xe3\x84\ +y@E_\xedoe\x22\xd4\x84\xd3>\xc8\x80\x02s\ +Gf\xb9\xc4\x9786C\xe9F\x01\x81\xde\x07i\xd7\ +\xbeI_y\xc0kR^\x0b\xe8|N~\xae\x83\x9d\ +\xe8Q\x8a\xf3\xd5A6j[\xa0\xdef`\xbcw\x9b\ +\xbd\xdb\xee\xcd\xdf\xb7}ZX\x0b`\xaf\x15\x01\xac\x0c\ +b\x1d|\xe6]\x96*\xb4\x1a\xf5\x10A\xfb\xbb\xb0\xee\ +\xa0\x16\xc8\xe8\xd7\x9dm\xd9J\x859\x99\x05\xda\x1b\x02\ +\x18\x9a\xa8[0b>\x18\x96\x8e\xed\xe3\xba\xee\x152\ +\xa5\xc4C\x83\xefq\xbb.3\xea>\xed\xa3\x19 \xed\ +\x9e\x13\xd6\x9d_\x1c\x0bmo\xaf\xb4d\xc4\xa6\xff\x0c\ +K\xc7\xfc\xb8\xaeV\x96f\xc3\x97\xb3\xdd[2u\xa6\ +/\x86e\xe9\xc1\x7f\xa5Z\xfa\xf3;\xc7/Kad\ +d\xab\xdd\xa6\xae\x0c\x18\x14\x18:\xa8\xb7\xd4\xb2\x93\x9a\ +\x5c\x1a\x06)b[\xcf%\xf2\xa1wYk|\xb7\x7f\ +\x14\x96\xeb\xf1eM\xbd?\xac\xb4H\x1a\xa0\xf5\xdc\x14\ +\xef:\xa4\xab\x08C\x05\xd6\x96S;\xc1\x14\x89,&\ +\xca\x1b\xc2:Ub\xfb\x00\x8ac\xee/\xd3%g\xbb\ +Tf\x02o\xbf2\x146o\x9e\xed-]\xb7\x1b\x14\ +\xe7\x0c\x84\xb7/\x0b\xeb\xf6\xb3\xdc\x7f\xa6\x0b\x85\xcd\xaf\ +\x17\x9b\xed\xa2\x1d\xd0g\x7f\xcbu_m\xfe~>l\ +~\xffWg;%\xef\xef\x94\x06\x844\xed\x8c\xddm\ +\x96\xf1\xb5\xce\x0e\x9c\x18\xb6\xaa\xeeO\x1f\x0b\xeb\xa8\xf3\ +\x18\x00\xaf_\xf6\xf3\xd9\x9d\x5c(\xbe7_\xe6\xc7\xee\ +\xb0\xb0\x06\x90\xde\xa0\xf5O\xd7f\xf9\xdc\xa9\x01\xa0d\ +\x89\xdfC\x0c7\xdb\x1f\xeen\xb4\xf4?\x0f\x18 \x80\ +\x80\x06\xcc\xbc4\xfd\xb4\xd3\xbb\x1aj\x00KP\xfb\xef\ +\xb2\x96\xb6\xd4\xf9\xaa\x94Q_z\xfb\x08\xc6\x99\xf6w\ +\xf7oV\x22\x9cU\x22\x94\x0c\x91b\x00d-\xbev\ +\xbbD\xdc\x9a\x98\xe0\x1cp\xee\x1d2\xdb\xb9\x92\xa2\xfe\ +\x8f]\x06\xfb>\xcdV\xa0\x0f#\xc3>\xa5\xfdh\x96\ +>L\x8f\x9c\x1e5=2\xbb*\xbc\xb4\x01\x96\xf7\x0a\ +\xc0\xb2\xf5\x85\xff\xc5\x8eJl\xde\xa5\xc3\xbc\xbd\xd8l\ +\x17\xcd\xf9\xf7\xd1n}\xfcm\xd8Z\xdaT\x8c\x0a\x1a\ +%1\xbbNN\xa0\xa0\xeb\xaa\xd0DG\xef\xb7\x9e\x7f\ +\xad\x96\xfd\xb2\xdd9o?\x00\xc8e\x09\x0d\xaa\xf7\xee\ +)s\x00\xf9\x94\xb6_/\x0e\xbc\xf3\xce\xb9\xfc\xbe,\ +!\xbc\xfb2OG\xe6n\xcd+]\x91n\x90\x81\xae\ +L\xa7\xda{\xfb\xbf\x00H\xc0\xc1/\xbaRR\xf1\xed\ +\xdbj\xfd\xf9\xc1\xce)\xb5\xef\x98\x0eJs\xf8\x012\ +\xc1\x98w\xfc#\xa2\xc8\xba\x04$\xa0X\xccL\xfbp\ +\x9eC\x80\xe0Z\xaf\xfcc\xb5\xf42\xdd\xc9lC\xad\ +wno\x7f%l\x15o\x15\xbf\x94\xffO\xcc\x13\x15\ +?\xe7_i\xe2\x08\xc4\x04\xca\xba\x82\xe9\xc2d\xdc\x5c\ +\x97\xd2\x05\xe7\x05\xffK\x00\xcc\xaf\xd1\xc6\x11cA)\ +\x5cj\x0b\x15p.\xd0\x16\x1f\xb9n@\x0b\xa6\x06\xbf\ +\xef;Cb\x0dpe\x1d\xf0C1\x16$\x0a]\xdf\ +\xd0\xc7\xbe\xfe\xce\xbcY3\xf3\xcb\xfb\xf8\xdf\xa3\xea\xfe\ +;\x96\xd2\xa9\x0a@\xcd3\x81<\x06\xb4\xee\x16\xe3\xf5\ +\x8c~\xb5\xf3\x96\x18\xde(\xa6w\x0e\xea\xfb\xc5\x10p\ +\x7f\xfe\x9d?e\x9c\xc4+\xfcH%\xb1\xbeG\xe0\xed\ +\xfb\xc6\xb6\x82_\x1fJ\x9bGq?q\x99\xfbp\xdf\ +\xd6\x99\xf8sd\x10(q\xa0\x85\x90\xf1Q\xc5o\xd6\ +\x1b\xa6\x91u8v\xedp`K\x98&\x00\xb8\xbf\x85\ +\xbb}\x9b\xbc\x98F=\xc5\xdbD\xf6 >\xbbP0\ +*\xe3\x9a\x81[s\x08o\xd6!v\x10\xc0\xf8\xff\xbe\ +?\xa4@\x13Ruj\x93\xb5;8\x83\xaa6\xdbF\ +\xe8\xfb\x05hc@?\x8a\xa1\x8dj\xf52\x9e>_\ +\xad\x85L%\x87D\x00\x7f\x93\xcc\xfc\xa0\x80\xa4zh\ +9t\xd4\xbd\x05\x0c\xfe.\xfb\x8a\xd7\x86\x86\x22s\xfe\ +\x0cp\x8d\xe7y\xf2\xefR\x85\xbe>g\xbd\x8fe\xa1\ +\xbb\x7f\x0fX\xad\x94@\xcb\xefm\x9c\xbe\xcfx\xa2f\ +\xa12\x09\xe0 E\xc6\xd3D\x94\x01u=k?\xcf\ +e\xfc\xfc^\x86,\xdb\x05\xd5s7\xd1,\x04\x07\x8d\ +\xda8\xb5\xb6\xda\xf4\x09\x949\xde\x16B\x8e\x98p\x8d\ +\xa2\x00\x00 \x00IDATs\xd5\x12\x09h\xa9\xb4\ +s\x5c \x8f\x00+\x0b\xceu\xa6\xc3R\xc0\xcb\xf5\xc3\ +V\x07l\x1e\xcbe\x01\xa9\xad6.?\x97\x01\x8f\xf1\ +\x04 XP\xe6\x9d\x8d\x03p$\x907\xeeJ\x19,\ +H\x084q\x1a\x81\xa6q\xf2\xfcQ,\xef\x1b\xb6\x22\ +\xc8\xc5H\xc9\x0cX\x1d\x08\xd4\x911\x0b\xd4\xfe\xeb\x16\ +`\xe3WZ\x92\x8e\xa5\x0cq=\xafq\x9d\x8d\xa2/\ +\x80\x12\xd7\xed\xb9\x00\x0e\x86\xb6\x95%\xbe(P\x01\xec\ +)\xb5xtXG\x95\xe3h9H\x8d\x1b\x0a\xa7\xf1\ +UCo\x9cQ\xb7\xb4O\xcc~\xc3E\xe1=v\xe9\ +\xf7\xadf\xba\x00\x04\x07:\xe6\x05\xb1/\x0c\x0a\xea\xb7\ +\x1c\xef\xd4\xfa\xa8@\xcc\xfaDAt\xdd\xe6\xa3q\xcc\ +\x7f\xdf\xfcS\xd8Z\xbb\xa9+\x00\x87c\xf3gaM\ +\x1d|\xb6.3r\xf3f+\x00\x94m\xe9\xb6\xff;\ +\xac\x03\x1a\x95x\x10GR\xfa\xa1mh\x8a\xaaUF\ +\xdc\xe7j+& \x11`\xe6\xf5n\x0e\x0b[E\xda\ +\xb6\xb7\x0e\xebT\x92Qr?\x90m\xaf.9\xcf\x8a\ +Kf\x0d\xec\xdd\xb3;\xc3\xffXk\x98Q\xcc\xd5\x10\ +N{a\x8d\x1azLPCK\xbb\xe1\xcb\xad\xefF\ +1\x5cZ[\xaeG\xcc\xd3\xe0\x0da\xf3u|8\xac\ +\xab\xe9\x03\xa0D&\xf7aY\xca\xf2\xae\xb5\x06\xb3\x98\ +*\x99\xb9\xa9\xe7\x9a\x7f7;yK[\xa1C\x1b4\ +\xb9\x1c\xc8_O\x87\xf6g\xbb\x1aq\x07t\xeewT\ +\xfc\xe7=\xeb\x88\x96\xf1\xc3h\xc9n\x03j\xbaw\x97\ +\x0c\x9b\xef\xf7\x11a\xd9^\xec\xca\x9dj>\xed\x01\xfb\ +\x9e\xcc\x95\xefA\x8d\x05\xa0\xe5~J\xa4s\xfb\xac\xb0\ +\x95b\xbe\xbbj\xd8\x1a\x00m_\x17\xb6R\xaa[-\ +\xfe\x19]\xfb\xa9\xb8\xfb\x7f\xef\x02\xa2\x18\xb7\xa7\xa6f\ +\xc7\x07\xd7}E\xcdx\xcdo\xd4\xd7\x0b\xb6\xe2\xaa\xca\ +,\xaa\xad\x9fn\x1f6\x7f\xff\xcf\x86u\xfb\xce%\xdb\ +LY\x1c\xcc\xaf\xa7\xa6I\x88\xf4\xfd~\xd8\xfc\xbeo\ +\x87\xcd\xbf\xbf\xe3lw\x98\x7f\xbe\xd8l\x17]\x03n\ +j\xcf(\xd2\x02P\x99\x9c\x16\xc8\xcf\xe7\xca\xf4[a\ +k\xbb\xc9\xed\xed\xc3\xba\xfd2\xb4\x0e\xe2}7\x99\xed\ +\xc6\x19(\x9c\x91\x0e\xd5\xec\xc8\xee\xdd5l\x05D7\ +gl\xbe\xb7\xf9^\xa7\xde\x9f\xa2\x8a\x07\x1e\x15\xd62\ +\xd5\x8b\xf8\xa4s\xef\xaa\xbb\xab\xb46r\xff\xbah\xa6\ +\xa89/\x0d\x8dK4U\x8cu_W2\xa9\xadb\ +\xb6\x1d\xab\xb6pw\x08k*\xe4\x0d`\xa9\xcc\x1e \ +/z8\xbcd\x05\x84\xac\xaf\x906\x9c\xcel\xcc\x86\ +O6\xb1\xce\x04.[\x89\xcb\xbbV y\xf7\x98\xd9\ +\x1e\xdd\xed\xe7\xce\xe3\x9b\x87\xad\xc0\xa6R\xa2\x127\xd5\ +U\x02\xe3k\xa8\x09\xde;!l-y\xd9~v\xb6\ +\xcf\xad\x99\xe9\xe9\xe2aYk~\xc3\xc64hb\x87\ +\x05P\xe4\xfc\x97\xe1\xde^+\xec``\xd9}LG\ +N\xd7\x99\xae\xb3\x96\x98\xd5\xf9\x91\xcc\xafb\x82\x01\xba\ +\x05\x9c\x00\x10\x8e\xbb\xf3I\x89\x9b\xfe\xf5\xb9Oa\xf2\ +\x95\x1f}\xa9\xa6\xd2\xb4jC\xf1\x13\xd2\xc1o\x94\xf0\ +_H\x06\xd1M\xd7\xf3A\x09\x5c1\xc6\x00{\x9e7\ +`2\x19d\xfb\xde\x99L\x05\x81\x11\x7f\x05p\xcd_\ +$JJ\x83\x08\x83&K\xfd\xf6=\xabYig\xec\ +~\x12\xd6e|\x89\xef%\xe0W%.\xce\x19\x001\ +\xb1f~\x83\x80\x09\xb0/\x90\x07\x5cP\xf7\xa7\xb1\x92\ +\xa5)\x95\xe1%\x0e\x99~\x0c\x11_\xe7s\xb5\xd5\xcc\ +\xd2\x1f\xdd3\xecG\xc4v1@\xab\x9b\x83\xd2\x0d\x81\ +;\xad\x1f\xfb:m\xa5\x04\xdaJ\xb5\xdf\xf31\x1e\x18\ +_\xe6\x17\x7fA`\x8eyI\xac\xd8s5\xcf\x00%\ +y\xceK\x08\x1c$\xb2\xce/\xe3_\x8bc\x8c\xb3\x8c\ +\xf2\x98P\x15\xb8\x0b\xc8\xdd\x9f\xcf\x13p\xa2\xc8\x0b4\ +\x05\xe2\x18\x08\x02Z\x9f\xef\xdf\x05\xd2\x83\x96@\xf9\x9b\ +C \x5c\xf1\xd6O\x8a\xd9\xbcd\xfa\xf9\xed\x00\x971\ +\xb1\x098\x18_\xc7\xc0\x5c\xbcf\xde\x8a'0 \xac\ +g\xf7OL\xd4\xfa1n# b\xdcF`F)\ +\xe2X\x220\x96B\xfb\x5c\xf7\xe9\xf3\xc6\xd2\x8c\xb1\x1b\ +\xc3\xc8\xc8\xe0o\x8a#\xfd\xacD\x14\xe0(\x1e3\x7f\ +\x5c\xb7x)\x81\x82\xfd\x07\xa9\x0f\xc6c\xf9\xc9\x90Q\ +\xfeR\x22N?\xd7MX\x14\xff+5\xccpA\x22\ +\xae\xdcQ\xfe1\x0bL\x18\x8e\x7f\xa8\xf4~33\x05\ +W\xcd\x07\xfd\xfd\xb3\xa1\xa0\x0b\x84l\xd8\xb4\x08\x00\x03\ +\x02.\x13a\xa0\xacC\x9e\xd5\xeeT\x80\x22 \xf3\xb3\ +\x80\xc6uR\xdf\xf5\xf7\x10E\x81\x9f\xf7\xbbN\xe3\xa4\ +\x86E\x1b=\xd4Q\x80\x87Z\xfb\xb5day`~\ +o\xc2{?\xc0\xe2\x5cy\x9d\xa8\xdb\x97J\xca\x07j\ +Y\xaa\xa8n\x8eH\x0a\xfe/d ;\xaa\xc0\xbb_\ +\x01\xbe\x83\xca\xc4\xf3\xfd\xfa\xc3\x02\x14\xceI\x8c\x11\x15\ +[f_\xc0d\x9c8\x862f2\xf6\xc4\xe9\xd4d\ +\x09\xac\xf3\xf3\x89\x8b\x8c\x07\xd7\x08\xec\x94\xda+\xc73\ +\x03/\x19(j\xb9\xa5\x92m\xe3\xf5y\xc6O\xc0\xcf\ +\x01\x00\xf0d\xfb\xb1bn\xc8\xa4\x0aH\x1dx\xc6\xd9\ +\x86\xec\x80\xbb~\xb6\xd1\xb9Q\x8a\xe0`\x22\xa0\x04\xcb\ +Lf\xedy\x05\xb4\x0e\xae\xbf\x0c\xeb(z\x164\xe0\ +\xc7\xfa\xb0Q\xd8\xe8\x00B\x02\xfd\xac\xf9)\x15~\x81\ +\xee\xd8Fs`\xb0\xd4|\xe1\xb8\x8c\xc0\x90y\xc5\xe1\ +p`y\xdfX\xf21jJ\xf8\x8f\x83\xa3TB{\ +@\x1b%GF\xbfW\xd7\xe3~\xad\x0b\x1b/J~\ +R\xe7\x0bh1\x7f\xec\x1f\xaeWfM\xe9\x07\xed\x00\ +\x00W\x02\x14\xd5\xbf\x9e\x83\x92\xfbC\xa9\xf8'\xc5\xbd\ +T\xbd]G\x06\xf2E\xb1'\xd6\xa7=\x1c\xb1\xc0T\ +\x17\xafL)\x8a\xa1n\x00\x90\xdf'o\x9e\xb2yJ\ +{\x9e\x0bp\x90\xe2>\xda\xbc\xd5\xfaJ\xaa~Q.\ +\xad_\x07R\x02\x0e\xadM\xda^\xd7v/K^\xaa\ +\x0bB\x06\xa6u\xdd\xfaL\xebO\xfe\xeaE\x13`\xf3\ +\xa1\xb0\xd5\xe1\x89|Vd\xb4J\xa3\x22\x1d\xe2\xa2:\ +_e\x09\x88\xa6\xf3N\xe7\x9b\xe6\xf9t\xe0\xa8\xb0\xf9\ +\xdf\x9f\xd9\xac2\xa1{w\xd9\xbb\xf3\xde]\xe6\xd7g\ +\x86\xad\xcf\x7f\xfb\x9e\xb0Nk!\xef\xb3\xba[D\xf8\ +\xf5\xd0\x0e\xa8\xcdLT\x01\x801\xba\xf7^\x81\xb5F\ +\x88;\xbe[/\xfa\xa0\xa7\xd8\x13\x00\xa4\xd4\xe4\x058\ +4320*J^\xcekj\xeb\xa5\xaa-\xd3\x93\ +\xed\xa3J\xd5;\xff~zXXf\xbc\xdf\xdcQ\xc8\ +\xb3\xdf6\x87V-\xf2\xf4\xea\xb0y<\x1e\x1b\xb6\x8a\ +XN\xc7\x85u%\x10YZA\xb3\xa0\xfa\x94gf\ +\xf2\xc0#\xc3\x92B\xfd\xdcU\x0c\xb1\xda\x92\x05\x0c\xf1\ +\xa0.\xc0TcM\xf4\xf6\xad\x0b\xd3\xa6\xf6\x9d\x8b\x84\ +\xad\xeb\x02\xe0Q\xc0\x0b\x8av\xa8\xe4\xcf\xebk\xba\xd2\ +lW\x5cE\xf3\xea\xfbB\xbc\xef\x8e\x1d\x80\xb6?l\ +U\xa1\x9f\x8e\x9e-\xe6\xe9\x13f{b2WNM\ + \xe5&k\xa9E\x01\x8e\xbf\x1b\xd6e`\xae\xda\x8a\ +\xed\x96\xae\x00\x8fZ\x81\x14\x80\xf0\xf6Ja-\xe0?\ +c\xf3\xfdN+$\xbbF\x10\xf5\x8c&\x85\xad$\xe2\ +\xfd\xd3\xfb\xa6\xf7u\xe7\x00Ut5\xffJa\xc2O\ +\xf8\xf6\xd0\xb5\xe5\xe2\x9d\xa3\x06(\x1e3\xc1\xce\x9b\xff\ +\x935\xc2\xda\xbe\xa9\xedT3\x9e}\xe0K\x03!J\ +\x03\x02\x88\xf9\xf7\xb0\xf9\xf5Ma\xa9\x85\xf2\xc4n\x1f\ +\x02\xac\x04\xe5<\xfc\xa6cf{f\xb6e}\xfc\xca\ +\xac\x10\xa0U\x86\x103\xcau\xda\x0f\x1f\x1f\xb6\x02?\ +M\x03\xe07\xe7\xf5\xfc\x9a\xb0N\xc3\xc19'\x10I\ +`p\xf3\xab\xd1\xb0\xae\xa3N\x03l\x01\xcc\x029\x8e\ +\xaf\xc4\xcb\x89I\x8d?!\x8aQ\xda\xcf\x8d\xe2\xbf\xf9\ +\x5c\xd8\x9a\xa8\xd9>(\xac\xd5\xa6\x87\xad\xe3\xaf\x06;\ +\x99Pu\x9f\xf6M\x0c\x0c\x9a\x0e\x11\xe8\x7f\xa7u9\ +\xf9\xb3\xd6\xe6/N\x95\x9f\xc9\xf3\xf8\x0a]\xfb\xb6\xab\ +\xef;\xa2\xcd\x8b;&\x80\xf0\xd4\xb0\xd5\x9f\xadZ\x7f\ +\x81\x0a\xb1>\xc0\x1f?\xe1W\xb2}\x1d\xb1\xcb\xa3\x9b\ +\xad\xfb\x0c\x112\x01#?O\xdb:\xa5\x0eDw\x05\ +z\x09\x9cWB\x84?l\x9e\xd1~9\xa6Y\x95x\ +\x1cT\x83. \x01x(!\x11\xb8\x00\xcc\xd3\x9f\xa3\ +^^@\x07\xa6I\xb6u,\xbf&\x99mU\xc2 \ +0\xd7\xce\x17\x95\xffr\x8d#\xbb\x9e\xf7\x98A^e\ +\x88\x93\xa2_\x9a<\xba\x09(9Q\x92\xa7\x1bG\x8e\ +O1\xe4r\xdeVi\x07\xf1A\xc0\x9e\x00\xd2\xf8\x8e\ +}\xe6\x01\xf3\xc4\xff0\x14G\xd1n\xfe\xb4\xe7\xc9o\ +\xe6\xa7\xf1\xe3FQw\xdf' Gq\x1f\x02\xfa\x0a\ +\x98Q\xd7e\xbe]\xe77J\xc4{y5~2\xe5\ +\x02Y\xfe\xbe\xbfs\x1dcw$\x81\xbeD\xa5x\xce\ +}\x89\xab0\x110M\xf8}\xff?@\xc0\xeb\xd8\xd5\ +\xc0\xcf\x80\x02\xe3\x8eI\xeb}C\x5cW\x80\xc70\x0e\ +\xf5\xf7\x12P\xc6A\xc0.\xf0\x17/a\xa0\x18\xe7A\ +<\xb0^\x95\xd6\x02\xc2\x8c\x97\x84\xdbP\xba\xbf\xb9t\ +X\x02\xe5w\xec\xfc]\xfe\xb5\xfd\x00\xc3%\xe3\x9a\xfd\ +\x07\xb5y \xea\x17n\xf5E\xbav\x80\xa8\x89\xd9F\ +\xa9\xe5\xff~6k'\xaf\xd4\x01\x01\xdfo\xd5A\xcb\ +\x00}3\x0f\xb0\x0b&B{\xd1\xae\xab\xc0\xd8\xaeN\ +`\xc1171\xfa6f\xbb.0\xb0\xe1\x0b\x08\x04\ +\xac\x026\xd4\xf3\x14{\xa9\x80\xceF\x95mx\xea\xfd\ +j\x8d/\x9f\x14\xf5^\x84\xe5\xc8\xeeg\x07\xb0\x85\xb9\ +\xb6\xb7[\x00\x94\xf1\xe7A\xa3\xe0\xa0\xc0\xeb\xa7\xf9\xa0\ +,\x00\x9f;\xb6\xf7\x18\xbb\x1b\xacb\x87K@|z\ +\x96f\x5c'\xef\x13\x15\xde\x84E=I\x04\xb7\xdaR\ +\x8d\x99\x7f\xcf\xe3Z\xcb\xf3\xde\xa1\xfc\xde6\xaf\xdb\x01\ +iA\x10\xb1H\x04\xac\xc6\xd9\xe7\x1ao\xe3(s<\ +\xb6\x17\xa4\xe1\xf0\x82D\xd8\xf7e\x009d\xd27\xb7\ +\x0c\xcbL\xdb\x11]\xdb\x0b\x1b;\xaa\x9f\xd7,\x99(\ +Q\xbf;\xe5\x02\x11\xc8'U\xae\xc4\xfa \xd8\x00\x01\ +\x81?*\x97\x9aa\xf7y\xa5<\x98\x06\xb1\x9a\x0a\xfc\ +\xb3/}\x89\x89\xc9\xe0k['\xe0\x17\xa0\xa3\xc8%\ +\x22_m_Pw\xb2\xcdI\xeb\x17}Tw\x9d6\ +*\xeb\xc3\xdc\xddw\xb6\x7f\xab\xe7A\ +\xcc4\x1c\xac\xcb\xac\xa5\x0d\xbb{\x85\xcd\xdf\xff\xc6\xe9\ +\x0d\xd3\x1b\xd6\xeb\x9d\xae3\x1d9\x1d\xd9iId\x80\ +\xb5\xbbDX\xb7\xaf\xff[\x935]\x80\xa4h+\xf6\ +\xf5\xb0n\xbf\xccy\x5c\xc05\xbf\x88\xe3)\xa0|\xc4\ +l\x11\x98\xddw\xb6\xd9\xb1\x9b\xde3\xdb{\x9b6\xc0\ +[\x9b6@\xee\x13M4noe\xba\xc8\xbcV\xfb\ +1%S\x00t\x01}\xc0\xe3W_)\xc7\xe6[\xb5\ +\x11L\x80fzZX\x97\xd9\xcc\xf9f\xbc\xb6\xff\x15\ +\xd6\x18/W\x09\xc6\xcb\xec\xce\xb7\xee\x0d{\xbf\x1d\x96\ +\x19\xf7\xdbu\x00\xf0\x9b\x9bUI\xd7\xbck\xdd\xb8\xed\ +[\xd9V\xb1\xba\xfad\x1bN\x9a1\xa5\xe9\xa0]h\ +f\xba\xaa\x0b\xc1\x03s\x7f\xbcz\xb6\x19\x05p\x12]\ +\x94a\xcfs\xa2\x02'\x8c\x9b\xfbg\x17\x1a\xcf7\xcf\ +\xcd\xdd]ww\xdb\xdd\xb5+\x8d\xe0\xa7\xd8\xf7\xaf\xbe\ +\xec;\x98\x0fU\xea\x98\xa5'\x15\x98\xe4z\xa9\x80\x19\ +\x05\xf8\x86K\xa9\xc7\xbe\xdb\xe4\xf8\x12qu\xfe[\xff\ +T\xd9\x89\xec\x0a@1\x00\xb4?\xc4\xdc\xd2\xc5GI\ +_\x06\xbcu\xce\x02\xd0\xf3\xdc\x22\xb6\xac\x94\xadj\xdb\ +1\x12F\x7fW\xa6\x1f\xb3\xcc>\xed\xfc\xe6\xa7\xd9\xf7\ +\x92\x01U\xfe\xb3n\x0d\x80\x12\xf7\x0385\x9e2\xf0\ +Q\xb0pB\x17@\x11\x1b$.i?\xe3\xc7<\xae\ +Yuw(f\x0e\x862\x06i\x8a\x06\x97\xb8+ \ +(\xe7\xdd\xee\xdba\xdd\xbc\xd3^QW!\xf7\xabd\ +X\xa9'\xe0\x00 \xe2\x5cs}\xe6\x8f\xf8\x80\xdf\xdc\ +\x8b\xa5o\xcfF\xa4[|!\xbeCmW\xfb\xcf?\ +\x07(\x08H%R\xc6@}\xc8\x5c\x1fTS?R\ +\xe3\xc5\x07\xce\x83\xec\x8aP\xa5\x15c\x80=\xc6\x03\xbe\ +\xe7\xff\x17\xf8\xbb\x0f\xf7\xc7\x9f\x11\x90\xbb\x1e\xdf7\xc6\ +g\x80\x10\x80\x81\xbf\x93y\xf7\xf9\xd4\xfd\x8d\x9f\xf8k\ +l\xa38v!X\xbb\x9d-\xdf7\xb4??(\xd3\ +O{@\x82T\xe2\xcb\xfd\x8e\xf3\xa1O\x90\xf7\x89-\ +\xf3\xc1\xf7\xf9{\xe3\x9c\xe7\xf7\xfe\x86\xfc|~\xcd\xb0\ +\xd7\x01K\x04\xf0\x87M\xb7}\xbd@%\x02\x90\xc1l\ +\x13T\x07\xc7\xa0\x9e\xd9\xb69\x99\xfd\x1fw\x0f\xd8\x85\ +\x8c\xed\xe5\xc6\xcc?\xe4$\x06\xfe\x0b\x07\xb7\xa5+\x87\ +\x10b\xce1\xa1\x0e\xcf\x81\x16\x80\xca\xf8r\x1c\xf5\xb7\ +\x15p\xa0\xc4B@\x05t2\xfa\xa8aY\xdbX\x81\ +\x95@uh\xe7p\xd0\x82\xb4\xf1g\xbb\x92\xfa\x5c\x0e\ +\xc7H\xe50qe\x02\x8c\xef\xa1\xf5\xba\xfa\x1e\x0c\x13\x07\ +)\x07\xd0\x81\x84\xc2\x03\xb14\x1f\xad\x0b\x01\xaa\xfe\xf1\ +\xda\xd0A\x06\x01\x00\xe7\x94\xe97\x7fG\xed\x83Q\x8c\ +\x11`d\x9d\x8e\xa58\xe3\x86>\xae{\xdfc\xde;\ +\xd8\x05T\x90\x7f\xeb@\xe0\xac\xcf9\x0a\xb1Z\xf7\xa4\ +dj\xd7S\xb5\xbd\xba\x19\x10\x0bB\xf9\xa5\xa6~\xff\ +\xb0n\xbcSd\xca\x01T\xe2\x91\x90\xf9\x1c\xf7\x02l\ +|\xbf\xfb0\xbfs\xdeU\xe6 \xe7S1\x92d\x1a\ +2\xa3Z\x00\x04\xd1\xc1l\xe7&#^\x07l\xae\xbb\ +\x12\xa7\xcc\xda\xceZ_\xf6%%\x13\xaeG-\xaf\xd2\ +-\x19h\x8eH\x96\x06\xd4\xbe\x80\xea\x8cz\xa9t'\ +3\xe1\x9b\xdf\x0bk\x1a\x0fK\x06\x89\xc3\xa5\xc4\xc0x\ +\x13\x93\xfa\x9f\x8bh\xd8\xee\xf0\xb0y{9>l\xfe\ +\xf9\xb6\x0b\x85v{\xea\xf6\x9b\xdbo\xaej\xefQ!\ +\xbc7\xcf\xcb\xbdG\x85\xcd\xbf?4\xac+9\xe2\xa8\ +b\x14\xa0Hg`0:\xb2\x05P\xd0\x0e\xb0\xefa\ +\x5cEe\xe3{;F\x80L@\xd6\xd8\xcd\x81\xc3\x03\ +Cdn\xf3\xd5\xd9N\xe9\x1c\xd0\x1c\xcfr\xa41.\ +\xd4\xc4g\xd7\x9b\x0a@\x93\xa2\x0a\x90\x9c~;\xacc\ +\x0e\xa0Zg \x0f\xb9\xaf\xae\x0a(\x87\xd9\xb6O\x89\ +\x90\xd2\x19\x01uu\x83q\xff\xa8\xba\xf6Y\x8e7\x00\ +\xdc\xf7fm\xf2\xe6~a\xdd\xb9i\xfeh\xa3\x96b\ +\x97\xf6\x95\xcap+e\xcay\x5cm\x1a\xd3\xa1ij\ +\xed\xa7'\xa0\xf1\xf65#1\x1d\x1b\xb6\x02\x12\x18A\ +M\xcb\xe0\x9d\x19\xa8F\x80\x7f\xab\xb0\x15\x88h\x00\xdd\ +\x7f'\xb3 J\x0e\x9e\x1f\xd6i\x85\x04\x0c\x18@\xd7\ +\xf9\xc2:\x8a\xae\x92\x19\xcf1E;\x9b\xf2\xc1k2\ +P?&3\xe7O\xc9\xfe\xea\x87%\xe0w\x99u\xff\ +k\x22b!\xae\xf7\xdfa\xf3\xebcg{L\x8a\xd8\ +^#\x9f\xdf\xa7;\x8d\x16\xe3\x7f\xc9\x85\xf2O\xb4\xae\ +JE\xbcO\x0dz\x026u\x1e\x13\xcdJ\xf1\xb9&\ +>xdf\xc8o\xdb\x05\xeejr\x05(\x97\x0e\xcb\ +\xfd7\xf6\xf3W5+q9\x8efi\x94\xd8\x8f\x9c\ +G\xba\xb4Di@\x04\x8e/Z\xd4\xdf\xa3\x19]k\ +G\x87\xe2\x9b\x19\x5c\xa5\x07\xa5\xf1a\x9e\x11\xad\xcd\x12\ +\xa4\xedG\xc3\xd6R\x14m\x04\x95.i\x83\xa9\xbb\x06\ +\x0d\x88Ph\x08\x8d\x86*\x91\x02t\xa1\x9a;o\xd4\ +\xc4\xe6|8\xf0\xa5\xb0\xf6\x1c\xbe\xd2\x9eC2\x06\xf6\ +\x1e:\xdbC\x12@\x0e-\x86\x7f\x0e\xeb\x18_\x02\x5c\ +\xddn\x0e\x0d\x9b\xaf\xe3\x1f\xc2\xb2\xdd\xf0\xd3\xdb\xbe\xbb\ +d\xf6\xb3\xcd_\x9d\x9f\xd6-\x00Mb&\x03\xef\xdd\ +\xb3\xc3:\xbf\x09SD\x1b\xe3[-\xfeC\x05\xc2y\ +\x1d\x95\x81\x06\xe4d\x06\x1cU\xbej\xf0u\x7fA5\ +\xd7\xf6\x13\xa3\xe0\xa4\x5c\xb7\xda\xb5\xe5x\x15\xc0l\x1e\ +a(8'\xbd\x8a\x0fd\xcc\xb5\x1f\x94(\x10@\xab\ +\xf9\x17h\x09\x80\x04\x82\x80\x15~\x9fsY\xb7\x03\x94\ +\xfc\x0b5\xcfm\xdd\xe7\x01FO\xcd\x12B%8\xfc\ +9\xfb\xb9\xeb\xc9\x84Q\x13%}W\xa79\x91\x09\x18\ +\x22\x9f\xe5\xdf\xd0p\xc8}\x03\x93\xa5\xb4\x15\x00\xfd\x02\ +\xfe\xb1K\x96\x9f\xbd\xa6\x08a\xad+m\x22ex%\ +\x16\xf2\xbc-M2q\x03\xa6,\xe6\x88\xf6\x87\xce3\ +\xfb\xc5PC_@\xb2\xc0p\xd4\xec\x1a\x03a\xfb\x88\ +\xd2\x04\xff\xce\xff\x14\xe8\x8f\xa2}\xfc\x01@\x81@\xdc\ +x\x0ad\xad[\xfe\xfe\x18\x18\xfbQ{\x8e\xd2\xa4\xa8\xe5}uX\x17(8\ +\x08\x89\xe89\x08l\xc8\x80N\xf3^\xdb\xbb\xcc<\xd6\ +\xe7\xc8\xc0fMve\x12\xad\xd7\x03a]\xe6@\x06\ +'\xf2\xb8\xaf\xcf\xfd\xf8{\x1d\x80$\xd3\xc0\x01\xf8V\ +\xb6\x01\x95\xe9\x96\xd1L\xb1&\x00m\x1dD\xfafs\ +\x00\xf5\x7f\xf6\xef\xc4~\xd2q\xdc\xde<\xac\xd3\x10A\ +\xb5\xb5\xafB\xbe\xa9+\xa3\xac\x9a\x87\xc7,@\xc6t\ +\xc8t\xee\xe9\xdc)\xcav\xb1\x95)\xb1\xb9Y\x96\x1e\ +\x1c\xbb9ns\x5cs\xc0\xff)\x1c\xf0\x02\xce\xd4\xd6\ +\x07\xb3\xe0\xad\xdd|\xb2\xeeS\x14\xccyP\x14\xfe\x5c\ +\xf7E9\xcf\xf6r5\xbf=GL\x1b\x07\xb4\xe7L\ +|S&,\xdc\xb5Wv\xed\xbc\xb2\x94\xa1\x80\x18\x8c\ +$\x99\xda\xcc@m\xde\x1f\xd6\x95\x0a\xe8:\x22\xe0}\ +\xdb\xd2\xce\x110e\xff\xa1\x86_b\xa0\xd6\xb1L\xa1\ +\xfe\xdd\xc4\xd2\xa8\x90\x0bhQQ\xdd\x97y\x9f@\x89\ +\xfdp\xf7\xd0\xb0\x15\x18\xd7\xdda{\xbd\xb0n\x9cu\ +\xb9@\xd1N&T9\xc4\xd6\x83\x00\xe21a\xf3\xbf\ +\xff\x5c\xd8\xfc\xdcO\x0b\xeb\xfc\x02\xed\xdf\x12\x10\x95\x11\ +\x93\x19\x9d\xae\x11\xd6\x89\x8e\xe5\xf8\xec~?\xac\xbb\xde\ +\xd4*\xd8\xee\x85u\xaa\xeaY\xd2#\xc0\x04\xf0\xeb\xca\ +P\x9f\x03\xe8\x08\xf8\xe7\x1fV\x91\xceb\xe6X\xbf\x01\ +8\xfc\xdfU\xbd}\xfapX\x96\x10<&\xc5\xc9\x8e\ +\xea\x02\xe3\x5c\xa7\xd568\xbb\x80TA\x1d\xa0D{\ +\xd5\xa3\xc3\xd6\x00\xbb\x12\x0b\xe6\xab\xfdZ\xa0\x12\xffM\ +\xb9Nn\xd5uqr\x1e%\xc0\x09pjj\xff7\ +\xe9\xda\xa0\xa6\x9fPj\xf9\xc4\xfb\x88\xdaq\x84\xff \ +\xac\xcb\xbcg H\xc4UM~\x01Q)2\xd8\x98\ +\x09\xf7\xed4=\x94\xcc\xa4\xe6\x846q\x8d)\x83)\ +q\xc9n=&Sb\xf3\x95\xb0\x0e`\xbc\xcc\x02\xac\ +M\xffw:i\xea\xdb\x7f\x9d\x9c~\x94@@\xbb\xbe\ +\xdf\xcb\xae\x0d\xday\xa2|\x7f\xa5\xa5\x04\x96\x84\xcf|\ +]\xdb?\x0e\xeb\xda\x9a&c\x85v\xc6\xf4\xd9\xb0\xf9\ +\xf5n\xd3\xafOwk\x89\xa9/\xb6\x04\xda_dw\ +\x97g\x84u\xa5\x0a\xa8\xd2\x1crm\xb0e\xc6\x01\xc4\ +\x12\x1c\x09XT\xa6\xfe\xf7\xb3V\x1f\x10\x90*\xf4\xa5\ +Y\xc2\xe1O\xc0\xb0\xba\xc4\xd8\xaf]1\ +\xdb!\x02\xb60\xf4\xb4\x81\x05\xc8\x00\x9a\xf9;\xfcN\ +%\xd1\xbai\xc8\x8c\xdb?s\xff\xaf}\x83\xbf\xe5|\ +U\x8a\xc5/\x03\x1c\x8e]\xb0\x8c\x1b?\x8c\x9f-\x80\ +\x1d\x135\xfc1\xc0=\x11=\x01\xff\xd8\xde\x8e\x7f\xe6\ +U@\xae\xc4\x8a\xdf&#>\x96\x1c\xf3\x07\xa9\xfb+\ +\xb5\xf1>\xe35\xd6\xc6\x8f\xaf\xfc\xaf\x91R?\x88m\ +\x17 !\xc06.\xae\xc3u\x89g\x06@\xe3 \x91\ +u\xcfe\xecR'\xb1\x82\xc1\x80\x91\xea{\xc7\xda\xfe\ +QtQ\xe6_|.\x0e\xe5\xdf\x8a\x070%\x88X\ +\xd2H\xa3yd}\xb8\xfe\xa1\x8d\xe4\xfev;_\xc9\ +\x89r\xa0s$\x83\x22~\x85.\xd0\x09\x07\xf4\xa2\x83\ +x\xdfi]w\x00\xd4r%\x01&~\x9fa\xdc\xdf\ +\x05\x1a\xf1}?\xcd\x8c\xf1\xbf\xe5\xdf]\xa5\x0b\xc8\xbc\ +\xa2d\xa3\xde\x1b\x00\xea\x87\x02z\x01\xc3\xd8\xc6n\xac\ +I:\xbd\xfa\xd1/\xff>j \x08\xc4=(\x99\x0f\ +\x01\xa4\xc0\xd3\xc1,\xc0u\x1d2\x98\xf9=\x9bk\xe6\ +\x04\x1b\xa8*\xb5\x91d[\x97y\xdb[(\xe5\xeec\ +m\x0f\xb1<\xb0C\x12\xf9\xf1\xf7\x02\x7f\x0b\x9d\xa3\xad\ +\xbdP\x8a#\xd5\x86\x8a\x19!p\xff\x85t\x10\xb4\xef\ +s\x1f\x00\x02H\x97\xf12\x0eDd\xd48c~|\ +/\xc7\x99\xa3\xb2wVd\xb1j\xbce\xe6\xb5\xcd\xd0\ +\x06\xc5\xe78\xb8\xbc\xde>\x1dk\x99w\x01V\x1eD\ +\xe5p\xa3\xa2\xbb_\x99x\xa5\x04#R\xc7a\xb0\x11\ +\xfa\xcf\ +d<\xd5bz\x0e\x02\x8d;\x84um\x99\xb2\xd6\xb4\ +\xd6\x01\xca\xa9q\xc8\x8cYQ&\x0fi+\x7f\x01>\ +n\xdc\xda\xbf\xfdG\xb4\x7fkbu\xff\xdeeb\x01\ +W\x0e\x5c\xfbM\x06\x0a\xd3\x89a\xdd>\xa1T\xc2\xc1\ +x\x9fEl\xabjm\xcd\xd7d\xa8\xecn\x156\x7f\ +\xce\x8b\xc2\xe6e}\x8f\xb0\xb5\xff\xb7\xc0\xb2\x02I\x81\ +\xea\xf1\xe9\x80^bqP\x0f\xbc\xe8\xc0_\x1c\xf8\x8b\ +\xd5!\xdf\xfe8l\x9dO\xdb\x9f\xdd^\xa6\x89\xc4)\ +\xe9H\xf1\xbc9\xec~U\xa3x\x9a?\x17N\x0d\x1a\ +5p\xfa4\xe7\xf9UbC\xa8\xd42\x81\x03\xd0X\ +\x99\x00\x19!\x80\xdc\x08\xb8\x11\x0b\xcaZ\xd8\xaa\x81\x8f\ +]\xf0\x0a\xabVLe\x922\xf0\xaeZ\xfa\xcc\xf0\x15\ +\x10\xa3&\xcf\xe7j\xe3\x95\xaa\xdb\xba\xc8X\xde\xd5\xf7\ +=\xfbfW@\xa0]\xa2n\x1a\xda\x13\xa6\xc8\xa4Z\ +\xef\xcd\xcd\xc2\xbav\x84\xb9\xcf\xa8\x11/-\x85\x07,\ +m\xc7\xec_\x9ew\x89\xc8\x0a\x8c}\xaf.\x1d\xce\x0d\ +\x0e\x9b\x00\x07\x03'\x03\x1f\xa54\xa5\xd1\xe1\x1c\xe70\ +\xa5#Sm\xe4R}\xbee\xd6\x03\xc8\xfa\x95\xb0\x15\ +\xe0\xaa\xee\x0e\xc4\xe72\xc0i\x22f?N`\xe5\xad\ +\x9d\x86B\x88l>/K\x8b\xde\xb9\xb6\xa1k\x15\xdf\ +o\xccu{\x8b\x14=\xfc@\xd7\xee\xf2\xa4\xb0\x04\x9c\ +\x7fm\x05\x000\x03j\x1c\xe2\xd4\xb8n\x9e\xe3\xe7\xea\ +\x1cjT\xe6\x98?\x8fJ\xa0\xf3k)\x1e\xf8\xfb\x19\ +8>\xb3\x03\x8cST\xb0\xfc\x10\xffatD\xa9\xc4\ +\x0f\xd6.\x12\xd5\xb5 \xba\xc7\xbc1\xaf\xe7\xc6]\xa9\ +@2:\x89in\x7f5l\xfe\xbb\xdf\x0c[3\xee\ +\xa59\xa1\xed\xa1\x8c\xaf\xb6m\xc7\x84u\x99f?\x13\ +/\xcc\xdapb\xa6\xc5\xcc1_\xf4\x85\xc7@\xc9\x12\ +9%Y{\xf7\x99\xed\xbe\xdd:\xcf@\xafu\x1bx\ +\xc2\xcap<\xf0\x1ba\x1dP\x99\x00\xe3\xeeJ\x8b\xa8\ +\xe6\xee\xee\xf9=\x02\xf9\x87gI\xd0K\x97\x00tz\ +\xdf\x81\xdf?\x10\xc0\xcf\xed\xe7\xf1\xfbH\x07l\xa5H\ +\xe8\xf6\xb8\xb0\x8e\xfa\xfe\x8e\xb0\xf5\x9c\xaay\xfc\xee%\ +\x83<}$lM\xd4\xec\xde\x94\x9a\x0cJq\x12\xb8\ +\x8d6\x82\xbb\xbe\xadn\xde\xff\xeeU\xa9\xb5\x81Q\xf8\ +\xf0d\x00<7\xac\xd5\xf8/\xb5\xe7\x09X\x15\xa3G\ +\x00j\x9f\xfe\xd5\xb0.`\x03\x84\xd0\x08\xf8\xd3%S\ +\xbd\xfb\xcb\x04B\x1f\x9c5\xeb\xfc=\xb5\xd1\xa8\xceY\ +*P\x22}\x7f\x11\xb6\xb6\xcf\xab\x1ah\xda\x1fJ\xa1\ +\xd4\xca'\x83\xa6\xfcK\xcc\xb4\x04\xd6\xcc\x1f@~\x9d\ +\x1f\xf6\x05]\x84\x04J\x1fL\xbf\xe1\xed\x0b`Z\xa5\ +v\xc76[\x03\xd0\x8b\x85\xad\xc0\x7f\x01\x16\x18\x82\xba\ +b\xe5~^\x8c\xc2\xec\xd2R\xfe\x15QVm\x89\x05\ +nD\x14uk\xfa\xb9\xb0\xd5\xef\xaeR\x07\x016?\ +P\xe0\x08 \x02\xc0{\x8e\xee\xc3\xf9\x0d\x90\x10\xc7\xd8\ +O\x5c\x878\xc9\xbf\x8fLNq\xc4\xa8\xc6\xcf\x1f\xa3\ +\xa9\x05 \x1d\xba\x07\x94f\xd69\x04\xac\x07\xa9\xd4\xf3\ +\xaf\xfd\x9d\xef\x1b\xc4\xc0\xeb\x15\xd0\xa0\x0d\xe0\x18 \xfb\ +\x1e\xafC\xa0_\xda\x05c\x9b\xbc\x91\xc2?\xaa\xf2\xfb\ +=\xff\x94\x1f)\xa0w\x9e\x197\x9f\xeb\xfaF\x00b\ +hW\xcf\x0f\xa9\xfb\x1e\xefc\x00.\xea>\xf8o\xbe\ +\xc7x+u\xc5\xd0O?\xae\x804\xdd\x8f\xf8\xcdJ\ +30`\xc6\xfb\xc9\xeb\xdc_\x0f\x9ac\x18y\xd3\xf3\ +\xa7\x83\xfd\xed\xbc\xb1\xbe\xaf\xe4\xd7\x1a\xb6\xb6\xbe\x8f\xd8\ +\x9f\x09\x1enU/\xe6\xd7S\xfc\xa7\x0e\xf9\xce>\xce\ +\x07\xd5\x04\x0b\x8c\xfc\xdcS#\x8f\xe8\x1c.j\xfb\x1c\ +\xd9\xa1\xed\x5c\x054\x02\x19\x0b\xc4\xab\xdf\x0b\x5c\x92\xea\ +^\x94i\x03\xd6\xdf\xf7\xd7\xba\x09=\x8a\x09\x0a\xc8}\ +.$\xe7\x13\x999\xe6H*=\x00 \x5c \x1de\ +\x8e)&\x84\xf1\xfca\xde\x87\xb6\x19Yr\xe1~+\ +\xe3<\xd6\xf0_<\xaf\x8f#\x0e\xa0\xf0\xb9\x07r\xa2\ +\x98\xf8\x00\x11\xaa\xe1\x00\x03\x07\x92\x9f\xafp\xd6\x8c\x7f\ +\x89+\x11\xd7\x92\xc1\xf6\xdc\xdf\x9d\x01\x8aL5\x11\x19\ +\x01\x12\xe6\x81\x1a~\x19\xce[-\x19\x8d9,\xbbE\ +\xa3:\x13\xfb\x1bj!\x0b\x10q\x9f\xa8Z6N\x14\ +{\x07\xcaa\x19\xb0\xaeT\xa4e\xbc\xcd3\xd4\xab\xa4\ +\xfe\xcdW\xb1\x04\xde\x97\xcd\x8c\xf6\xfe\xfc\xbb\x9f&\xb2\ +z\x85\xa1T\xe0\x22\xf9|\xcf?\x94h\x98\x1f\xbew\ +lSi>\x00\x04 \xf5\xe67\xc6\x00\x80\x03\xe5\x1d\ +\x02?\xf4!\xae\xf5\xe0\xc0\xb0\xf0\xad\x8bQ5v\xcc\ +\xf0\x9b\xef\xa3h\x8a\x8c5-\x03\x19`\x94q\xa2g\ +\xda\xf48\x90O\x0ck\xed/\x17m\x04\xf3\xcc\xbc\xd0\ +\xee\x8d\x83\x90\x81_\x95\xc8\x00@\x942\xa8I\xd6\xff\ +Y\xcd\xa5L4J*\xe0\x89\xfa\x7f\xd6\x0a\x17\xd5U\ +\xe0\xa6$ \xfb\x0c\xd7u\xe7\x01\xaf-\x91\xdao\x19\ +\xc9\xa2\x8c;8r\x1e))*@$D\xc4\xce\xc8\ +\x1a\xe4\xd7t\x81)\x91\xb0{\x87\xcd\xd3\xe2O\xc2\xe6\ +\xc7wfX\xb7_\xc8\xe8=>\xc5\xb8>5\xbb\xc7\ +\x9fZkb90\xd5\xad\xc4<\xa2\xfe\xab4\xc0~\ +\x97\x01i\x05\x8e\xdf\x0a\xeb\xba\x10\xfcQX\xa7\xf6\x9f\ +\x14\xcb\x0a\x00\xd5\xb4\xa2\xb4f\xa6\xbe\xdaSb&d\ +Fp:WX\xeb\xc3\xde\xda\xfc\x01&6_\x0bk\ +\x0c\x83\x9b\x05\xc3\xa02)\x19\xc0V)E\xf6U/\ +18\x9a\x0b\xee'\xdb\xaeU\xc6\x9b\x88\x97ZZ\xeb\ +K\x1f\x5c\xeb\x85\xe8\x15`\x09\x90\x02\x90\xb3\x1f\x0f\x8e\ +\x896{\x95\x01\xbfu4\x88K\xed\x86c\x93y\xf2\ +\xcf\xd9w\xfe\xf6\x9dVJ\x06D\xd5O>k#\x95\ +F\x94\xf6\xc3\x0f\x97\xb6s\x9eK\xd5\xb8\xaa=\xcd\x0c\ +\xe0\xf4\x81\xb0\x14i\xfb\x83\x0e\xd0\xc9\x80tze\xd8\ +\x1a\x00\x94\xe8\x99\xf5\x95\x1a\x14\xa5\xae\xfd\xd1\xb0n\xdf\ +Ju\xf6*yB\x09\xd5\xdd\x83\xfa\xb6\x9a\xff\xecZ\ +\x00\xc0!\xd6\xb7\xf9nX\xa7:.\x80\x97\xf9!\xaa\ +\x16\x01u\xd7\xadb:&l]\x872\xd3\xd5\xbf\xfe\ +\xc4\xb0\xce\xe1\xcd\x12\x0cb\x82Ml\xef\xbb\x1d\xb5;\ +\xc7\xa9\xcd\xfb\x97t\xfe\x88\xf6[\x1c'\xd7w\xe5\xd6\ +'f\x15\x15\x0bo`^\xe7\xd3\xc7g#vur\ +\xb6\x97\xbc\xf9\x0a \x94_d\x1f\xb2\x8fdw\x85r\ +|\x03\xe8xR\xd76\x94\xe3h\xfd\xc6iz\xd1\xae\ +mr\x94(\xbcj\xfe\xfe?\x9a\xed\xa9\xf3\xebCg\ +{XR\xc3\x9f\xd6\x8d\x93\x12\x81`\x9c\xdc,\xa9\xc9\ +\xaf\xeb\x1c\xe0PVx~\x02?\x0f\xec\xb4\x0f\x04&\ +^\xad\xbfd.\xe9ZQ\xe7L\x02\xe5\xc58\xc1\x5c\ +\xd2n\xefw\xc3\xba\xf7\x0fb\xc7\x98-\xdb\x87\x84\xcd\ +n\xc3G\xc2\xe6\xdf\x1f?\xdb\x8b\xe6\x9f\xffe\xb6\xf7\ +\xe4\xbe\xf6\x8a\xf9}\xd7\xdc^k{\xcd\x8e1s\xbd\ +\xd0\xd3\xef2\xbb\x18\x1d\xce-\x8c\xcd\x0be\xe9\xd7\xbb\ +\x12\x90\xca\x80\xbe\x02r\xd4w\xe7j\xee\xcf\xdb_\x0b\ +\xebJA\x12(\xa5\xa1\xb49l\x99\xff\xd5\xfe\xef\xe5\ +\xcb~*S]\xcc\x89\xbfM\x91A\xe7\x04*\xef\x95\ +3\x10\xc5\xe4\xb1\xcen\x9b\xf3\x04\xe0\x97\xa5C\x05\xc8\ +\xe4~\xae\xff|\xf9\x1d\x17\xcc}\x0eS\x0ep\xaet\ +\x01\xa0 \xa3o=\x0em\xc7\xea\xb9\xa7\x86D\x95\xa2\ +\xd14\xca}qw\xa3\xb0\xae\xdd\xdc\xf7\xc3\xba\xee\x07\ +\x18\xa5\x12\x05(\xfeJ\xab\xee\x18\xd6u\xff!~\xcb\ +\xcf\x91H<%\xbb\x5c\xbc3\xbbO(\x8d\xc4\x80\xe0\ +o'\x80Z~\xc5/\x86u\x8c\x09\xda6\xe6\x0b-\ +\x14\xe7\x15\xe0\x00\x83\x8d\xbf\xcf/\xcdyQb\xc1)\ +\xea\x5c\x00A\x02\x92\x80\x8b*=\x13W8\x87\xf8e\ +2\xf4\xfc(\xd7\x9d\x00\xe3\xe6ua\x9d_-N\xb0\ +?a(\x0e\x22\xe6\x15\x07\x09\xf0S\x9c\xfc\xa0v\xe1\ +\xe2\x1c\x0c\xb2\xb1=\xb5\xf9z\x0e\xd4|\x1aI%r\ +\x08\x00V\xf2-\x8e\x14\x90\x0fZU\x95!\xc7 \xf0\ +\xef\xde?\xb6\xf7\xf3\xbdj\xfdG\xed\x02\x7f70N\ +\xcb?0\xbfGf\xba\xfb\x1c\xda\xcfW@\xee\xf3F\ +\xad\x03@\x02\xc6\x1f\xc6\xcb\xf8\xefc\x89\x83\xd7s\x12\ +14\x0e\xfe\xdeuIl(!!\xea\x87\x19\xa3\x14\ +\xd9}\x19\xb7\x91\xf1\x9e\xf3b\x7f}\xb1\xc0[\x9b\x19\ +\xfd\xe2e\xf4m\xe0\x81\x1b|\xa7\xd3\x06\xe8k\x85\x0f\ +t\x9f\x03 \xf0w\xe7@\xa1o\x81\xd6\xcfw\x81\x0c\ +\x8a\xf5\x11\xa9\x96\x8aJ\x1c\xd3~{\xaaV\x00\x00 \ +\x00IDAT?\xda\xc3\x5c4\xacC\xe8F1\xb1\ +\x11\xe9\xf0\xb3\xc0\x5c\x00\xe4\xbaG\xca\x8c\xc0\xc9\x06=\ +\x8a\x9fq\xc8\xfd,p\xf4z\xc8Yk\xeeQh*\ +\xd0\x15\x88{\x7f\xf6\x89\xaf\xf6b)\xd2U\x01\xb4\xeb\ +\xfe|N\x88\xb1\x96\xc9\xc4Z\xfb\x84R;?\xab\xea\ +\xbf\xfb\xe6\x00@\xee\xd4\xecK5\xd9@\x92\xda>\x1f\ +s\x0b\xd0\xe2{\x92R_\xe3e\x1cN\x1b\xda\xfe\x8d\ +\xa2\x83D\xf8l\xf0YS[\xa5\x1a\xe3\x06F-\xf7\ +\x0e\x09\x0c\xdc!\x03\xbf\x0c\x88+\xe0SS\xf8\xbbY\ +s\xfc\xf4\xc5a-*4\x00\xc0\xf7\xdc?3\x5c\xc4\ +\xaf~93Jj\xeaP\x9b\xd7.\x0b\xcb|\xb4\xb0\ +\xccc\x8c\x83#\xf3\xa0z{\xf6\x97F\xb1\xf5\xbd\x18\ +\x17\x9e7\xa0\xc0\xef\x01\x03\x02r\x0b\x1e\xa2\xe9\xfb\x1c\ +\x106\x16\x8e\x14dP\x7flTu%\x0c\xee\x83#\ +\xd0\xb7\xfb\xec\xdb\xcb\x8cT)\x0e\xfe\xed\xc2\xba\x8d\xcf\ +\xf5a28h\x00\x1a>\xd7\x06d\x03\xb5A>:\ +\xac\x03\x18\x00\x07\x19x\x0a\xf0K\x1c\x0f0$\x93\xa3\ +\x94\x22\xfb'\x97\xb8\x91\xf6n\x1c\x07\xf3]M6\xf1\ +-\xeb\xc1>\xe5\xe0\xc8\xb6w%2\x95\x9f\x8b!Q\ +\xea\xc4Y;[5\xf4\x02)\xb5\xfd\x09a\x9d\x98\x10f\xcf\xd1\x8b\x08]9\ +`\x00K\x8e\x1e&\x09G\x11\xc5\x91\x1a\xb6}3\xf7\ +\x8b\xedo\x85\xad\x99\xe4\xdd\xd1\xd9e \xf7\x91R\xa7\ +\xbfkX\xa7F\x9d\x8e\x07Q\xad\xca\xb0e\xed\xaf\xf5\ +\xd72\xc2/\xef\x10k\x14\xcfp\xe8\x1f\xbc\x06BD\ +\xf4j\xbf\xb2\xefe\xa9G\xb51\xc3\xc8\xc8L}e\ +\xa2\xb4\xb7\x1b\x19\x06\xd6\xf7\xa0\xedQ\xe7\x0d\xb1-\x8c\ +\xa2\xc8s>k\xa5\x98\x96\x88\xde\xfb3\x80T\x03\x99\ +\x99l\x94\xbb\xca\x94\xd0\x98\xa1I\x91\xe3R\xc0\xd0\xd3\ +\xf7=\xad\x05R\x98\x1e\xcfmV\x94\xdc\xfa\xdc\x17\xce\ +\xc7\xfe\x0b;G\xea\x8eM_|\x09\xd4\xae\xb4\x8a\xeb\ +\xd9\xaf+\x809wX'\xca\x87qD3\x05s\x0b\ +C\xcbs\xa7\x05\x91\x7f?\x9d\x1a\xd6\x01{\xee'\xdf\ +\xb7\xbdkXG\xbd\x04dk#'\x93#\x00\xa5\x09\ +\xf0\x8c\xb0\x96\x19\x9d\xad\x0b|8\xe2\xd6\xb3\x92\x87d\ +\x84M\xbf\x166\xff\xfc\xb0\xb0\xb5m\xa3v}\xa8\xd0\ +\x80\xc5\xea\x96!\xc6~\xfblo\xeb\x80\x808\x95\xbe\ +\xbf\x96<6\xf5\xf4?X\xcf\xf7V+\xff\xf8N4\ +.v\xdd\x1b\xa5_\xb2\xcd\xf5\xf3\x8d5\x83>\xfdk\ +XW\x8a\x14\xb3\xed\x06\x9d:\xb4\xf3\xd9\xfe\x7f\xab\x06\ +\x85\xd7\xe7\xb4\xfd\xf31\xf3\xe7\ +\xac\xa3&\xbf\xb5\x15\xd3\xac\xfbpj!\xd4\xbaM*\ +w\x95\x04\xc8\xe4\x0b\x1c\xf3{+\x00\xa3\x96O\xec0\ +\xcf\xc1\xed7\xc2\xd6\xd2\xb0\x12a\xd3f43\xa7\xce\ +\xa1\xedO\xc2\xba\x9a\xef\xf0O>4\xff\xfe\xe4\xb0\x96\ +\x88h@L\x01\x98\xc1d\x9b\xfd\xa4\xe9[\xd3\xb7\xa7\ +owj\xf0\x18:\x02;@\x9c\xf3\xcb\xbe\x90\xeb\xb7\ +\xda(\xfe\xc3\xee\x9fb~\xec\x9d{\xef\x5c{\xe7^\ +E(K\xf4\xd3\xf9\x9d5\xfa-\xdd\xf5\x83n}\xe4\ +\xbc#\x12\xb9\xbbz\x02\xa4\x03\x80Vm\xa1o\x97\xfe\ +\x02\xe0\x92c\xafV\x19\xd3\x87\x08\xab\xf3_\xdf\xf4,\ +1\x8b^\x1a\xed\x5c\xf59\x02\x08%T)v\x87\x91\ +\x00\x90\xaf\xf7+I\xc2\x94\xc3t\xa3}s|\xb3\xd5\ +\xdf\xcb\x0cx[/o\xef\xb4A\xae\x99\xfeF^\xdf\ +\xee\xada\x9d\xa6\x83\xf3;\x01X\xeb\xaf\xb4\x1e\xf8\x1f\ +\xda-\xd2h\xcaR\xd4\xd24\xc0p\x10\x00\xf37\x9c\ +\xef\xd6Q\x02\x17Urr\xb5\xb0N\x1c\x90\xdfI\xe4\ +M\xe9\x9e\x9a~\xdd\xa40\x04\x93\x09W\xc0Ljt\ +\xd4\xf5\xeb\x82c?O@\xa2\xba\xa9\xf0\xc3\xf8]\x02\ +_q\x8csA7\x03\x1a\x0b\xb4.\x8c+-\x04\xfe\ +\x95\xff\x00\xdb\xe2!~\x1a&\x8aq\xb2\xeeGqr\ +\xef\xe7\x0f\x0e\xd4\xf6J@\x0a\xb4\xdf\xddR|\xcb\xf3\ +\xfdP\xc7\xcc\x1c\x13K\x03\xb3\xba2\xde\xa3\x86\x00\x7f\ +\xcc\xab\xf5B\x1c/K5\x0f\xaa\x99\xc7\xe8\xf5\x0a`\ +U\xc3\xef\xf3\xc6\xf6\x84C\xe0\x7fP\x89\xea\xf8{\xef\ +\x07D`\xf2\xb9?\xcfcdR\x18\xef\x01x(\xea\ +\xbe\xc4\x95\xf7\xf9;\xfb\x95\xb6\x84j\xf8\xf9G4\xf8\ +\xf8E\xe2\x17\xfe\x9bq\x12\xafy\xde\xe9?\xedo\x1f\ +/\x83\xda\xab\xef\x0b0W\xb5\xf9\xb3\xaa\xd7\xfby\xac\ +m\x0f\xb7\xfb\xc7\x9dF\x80\xff\xb6\x8d\xcc~\xb0\xe8D\ +q\x1c\xf3\xb5N\xe2d\x08\x08, cIU)\x15\ +{\x13\xdauC\xcaL\xd8\xec\xcfZ\x01\xa8\x09)p\ +Y\xdb\x94\xfd\xe4l\xbb\x13X\xb0>\x172\x0f\x80\xb8\ +\xde\xd0vo,A\x00\x04\xa81\xe6x\xaebh\xeb\ +\xf8l\xcfF\x1cm\xacU\x07@\x5c/)C&\xaa\ +\x05/3\xad;\x00U\xea\xebe\x00\x07\x81t\x9dc\ +\xbb\x11\x1b\xd7\xc3\x1fR\ +\x92\xc2o\x04H\x0d\xddp\x0a(\xf5~\x9a%\x00g\ +\xffn\x9c<\xf7!s_%k2\xf8\x02n\xf7\xc5\ +\x8f\x1d\xe3F\x9f\xa7\xf4v\xbc\x1f\xf7?\xfa\x81\xc6\xc9\ +\xeb\xa8%0\x8a\xa3\xfb\xbd\x00^`?\x96\xc6\x8a\xbb\ +\xc6.\x0b\xfes?\xe9\xef\xeeo8\xd4ws\x22\xf4\ +}\xe8{\xb5n\x01\xea^\xd7&P\xa6v\xdfY&\ +\xf3\x8a|\x0bh\xfd\x07\x10\x88c\xb8\xa7\xe8\x8f5\xfa\ +\x90\xb1139P\x97!HE\xd5\x1e3\xf2\xe3@\ +\x8e\x13}\xacq\xf6:\xfe\xfb\x18\xe8\x8cm\x1cLt\ +\xdf\xe3\xa0\xb4 \x93*\xb594\xac\xcb\xc8\x09\xfc\xd4\ +\xf8sP\xdc\xef*R\xb1|\xdf\x853\xf0\xe7\x98~\ +7\x17*U\xd0_\xca\x8c\xb8q\x13\xe8\xe4\x81\xbc\xef\ +?3Ci\xc31\xe1F\x918\x19g\x13\xdcx\xcb\ +\x08\xdf4k\xaa\x87\xae\x02\xfb\xde\x91\x0b\xe1c\xb9\xe0\ +P\xe69:\xc6/\x1d\xae\xddqI-;O\x22Z\ +\xc9\xfc\xa8\xdaq\xd7\xff\x83|\x0e\x90M\x1b\xb8\xf6,\ +\xf9\x9c\xeb\x00\x92\xc9\xd7\xbeIm\x17\xeaZR\x83\x0b\ +H\xa1ep\xb3\x0cX]\xaf\x1a`\xaa\xf3\x97\x0d\xeb\ +6h\x19\xf6A\xed\xbf\x00\x06\xd79P\xe4\xab;\x05\ +\xb1G\xa2\x10\x5c\ +\x8e\x0f@\x08U8\x0f\xda\xd2\x0c\xe0\xd8\x99\x1f\x1c\x86\ +\x14\xdb*\xed\x03\xa5\x05\x02K\xcc\x0b\xfb\x85u\x90@\ +\x15\xf15bYu\xdd\x18\x0b\xd4US|\xae\xfa\xb0\ +\xe6\xc1\xbc\xb9mX\x97\xd1q\xe0ynC\x1f\xdeb\ +\x84\xd8\x0f\xb3\x8bA\xd5\xaa\xa3Hf&F\xe9\xcf\xee\ +Ia\xeb}\xee~+\xac\x050\x8b\xa6\xc01\x0b\x00\ +R\xd4\xd6\xac\xc5\x9c\xbe\x11\xb6\xb6\xdd\xd2\xd6O`\xb3\ +}V\xd8\xfc\xf3?\x855J~\xcb\x84\xed\xce\xc8L\ +\xa5\xeb\x96)\xd6\x0f[\x86\xf82a\xad\xdd\xd8\xe2\x80\ +\x1d\x97\x14\xf3\xf3/\xfb`Tb7@\x83\x0a\xf6{\ +R[$\xe0\xb3_\xe8(\x9b\x00\xc7\xdc\xdfK\xf5\x9e\ +\x98\xdf\xd8\x06G\xe6\x86c\x17\x04\xfb\x1f' \xf8\xae\ +n\xbda\xa2y\xb5\xbe\x00>y\xfd\xb5.\x05\xe4\x97\ +\xdf].\xa8\xd5\xfb\xee\xb1\xef\x7f4f\x89\x0cE\xac\ +\xd2'\xb6L\xdb\xd2\xcf\xfcR\x8b\xca{\xa9Fc \ +d\xc0\xb4{r\xd8\xfc\x1c.?\xdb\x15\xb2k\xc2\x83\ +\xd6\x12\x87]tG<\xb0\xde\x8fvh\x05\x1ce&\ +\xac(\xc0\x09DN\xff\x12\xd6e*1\x0f\xa6\xeb\x87\xadm>\x8d\ +\x17\x15v%\x1bT\xf6\x8bb\x1c\x81\xdc\xa3:\xaa1\ +\xc7\x9d\xa3\x1b\xf0\xc5\x1b\xd2\xa1\xfbB\x06.\xbf\x93%\ +\x15\x7f\x95bj7^3x\x8dq\xf1\xcd\xb5\xff\xfa\ +t\xd5\xb0u\xfc\x0a\x108eQ\xc9\xc7\x18h\xcc\x85\ +'t\xe7\x8b@1\xb4'.\x90\xb5\xcf\x8fH \xee\ +{])\x88\xf1\xb6Or<\xedSJ\xd4\xbc\x02\xea\ +\xb4\xb1\xca\xfb\x9d~/\xac;\xd7C\x22r>\xbf\xa7\ +{\x85u\x01[j\xd3\x94\x16\xc6\xf3g\x9b\xf7\x89\xed\ +o\x86\xad5\xb0\x07\xa6\xb0n\xdd\x03`\x1e\xb50\x99\ +\x0e\x5c,l\xd5Xr\x1eT`\xc3\xcf\x12`\xe4<\ +\xdc|:\xac+!t.%c`\xfb+a)\xda\ +:\xad\xe2\x84\xdbkm\xaf\xbd\x9d\xfd\xab\x03'\x865\ +\x00t\xb6\xe6\x80/\x99H\x99e\xdf\xcb\x0fR\xcbO\ +<\x8e\xc8eR\xd1\xab\xb4R\x02\x8c\xe8b\x96dT\ +\x00\x96\x01{Q\xfaiN\x5c$l\x9d\x8f%\x02\x9c\ +\xd4\xfb\xf2\xf3\x00\xf1\xdan\xf2\x17\xf8\x09\x128\xc6\x9b\ +Hi\x94\xbe\xdc\xa2\xd30\x11p\xd0n\x92\x19\xcfq\ +\xd4^\xb5\x00\x8ed\xfcl\xfe;\xac\x03D\xd3_(\ +\xd1D\xf7\x9fb\xd4\xa5\x0d@K \xdd\xda\xe9\xeda\ +\x1d\xe0\x81\xf1\x95\xa5i\xbb\xeb\x85u~\xba\x9am*\ +\xfc\xa3h\xb6q\xe1\x9f\xf3\x13\xcc7\x00\xf1\xa8\x02\x8f\ +\x99\x00@S\xf2(\x10u\xae\xf1[$<$\x16\x1e\ +\x12\xb6\x02\xa8\xbb\x1b%p\xac\xed\xb48@)\x0d\x06\ +\xa8.Y\xfc\x0c\xf1\x89\x04\xc97v\xdf\xdc}\xb3k\ +\x13\xce\xaf\x13_I\xe0\xbe7\x19&\x98\xbdcfZ\ +|\xc4\x0f\x10\xaf\xc8\xbcc\xa4\xf1#\xed\x17\xae\xc7\xe7\ +\x08\xdcG\xd1x\xd7+\xc3\xee9\xd0\xfc0n\xde/\ +A\xa6$\xc1x\x9b\x8f\xf6\xdbQ\x13`\x9c\xe7##\ +`\x0c\xa4\xfd\xfb(\xb2h|\xf8\x03>w\xd0\x18(\ +\x06\xc3XR>\xc6\xab\xba\xaa\xd1f\x10?\x0d\x89\xa5\ +\xa6\x8d\xf2\xc4\x8e)\x9ab\xa2\x98\x05\xd6g\xad\x1f\xcf\ +%5O\xf6\x1f\x14\xd0s\x8c\xd5>z\x15P8 \ +9\xe8\x11\xdeP\xdb\xef)\xcd\x16\x98\x01\xea\x03\xfe\xd3\ +Wm\x81\xb3\x94\x1a\x5c\xb9\x0b\xcc8\xdcjI|>\ +`\xc1\xf7\x18H\xd7\xe3\xc1\x8d\xfdHG\x00`T\xfd\ +\xcf\x8cyM\x8cQ\x0c0\x07\xbe\xfam\xa3\x1a\x9bP\ +\x1c\x1bb\x1e\x02i\x1b\xa6q\xf4\xb3\xff\xbe\x9f\x0b\x08\ +\x92\xa8\xc6Z-\xb5\xf1\x16\x90\x0a\x14\xc6\x12\x06]\x05\ +\x04P\xc3\xb8W-\xd25\x93\x82\xe5\xfelh\xbe\x87\ +C\xec\xef\x95\x12Xp\xfe\xce\xc2\x86\xb0\xd9\xf0L\xe0\ +\x0b\xe6D\xb5!\xaaENu\xd6F\x94\xbcQ\xe7 \ +Z\x00\x90\xb7\xcf\xe4\xdfe\x1b\xc3\x1a\x8fl\xfb\xc2\xa1\ +\xab\xcc\x90@7\xef\xa7\xfe=k\x897/\x0a\xeb6\ +\xceQ\x8c\xef\x16\x99\x19\xe4\xb8\x1ao\x01\xfca9>\ +\x1c!\x9a\x026l\xdd\x058\xdc\x16\xaa\xd2\x03\xcc\x00\ +\x00\x01\xc4\x8e8\x8e\xcc\x8a\x03_\xb7\x00\x8c\x09\x0c\x06\ +\x0c\x04\x07\x86\x03\xc8\xfd;p\xbf\xda\xf0\x11\xa1\xbc]X;\x8f\x9b&J\ +i6\x00\x92Stu\xbaY\xd8\xfc\xf3\xcf\x84u\xa2\ +s\xc4/3\xc1$\xd0\xd9\x9e7\xac+\xe1\xd0\x15\xe1\ +\xc4\xdd\x87\x03\x08\xa7\xd1\xb1\xfbA\xd6\xa4\x9f\xb4\xf8?\ +\x15\xd0+\x1d\xa3=\xa3\xc66\x03\xef\x02\x12\x7f>E\ +\x17\xf3\xf3\xf6\x9e2\xdb\x93[\xdb\xd2\xd9\xd6\x1a\xed\xed\ +\xe5\xb6\x97\xdd^\xae\xbb\x9f\x1b\x85u\xa5I2\xd7\x19\ +\xf8\x16\xa3\x8c\x98dj\x05\xec\xce\x13\xd6\xd6\xeb\x12(\ +\xab\xd9O\xc6P%\x92\x00\x85J\x04\x9c\xcb\xc4\x19\x01\ +\xf0\xba\xa3\xf0\x8f\xadOm\xee\xf8\x172\x98\x98aY\ +zS\x00\x10\xc6@\x8a\xe4\x15\x10{\x8f\xb0\xb5\xddg\ +\x01\x05\xba\xf2\xf0s\xec\xb3\xce%m)1u07\ +]\xafL4\xea<\xbfL\x09C2\xfd\xa6\xff\x08\xeb\ +\xba\x88d\x9b\xc4\x12\xa7\xc4\xb4J\x86R\xa9\xff\xdb\xb7\ +\xf8\xab\xfc\x07\x1a1\xc6\x93_\xcbop.\xf0\xf7\xf9\ +'\x80Y\xff>t\x93\xa9\xd2/\x8c4~\x95.S\ +\x12)\x006\xd7\x15\x05]wl~\xc5\xe2\xb7\xbd-\ +KM\xf9\xe3\x09\xcc\x96\xd6\x11M\xb0\xf0\xeeNI?\ +dQ\xaf\xffRK\xd0\x01\x1cOo)\xc4\x88?\xce\ +H\xa6\xe8\x81\xe6\xef\x8b\xafh\x84}k\x00D\xf8\x8f\ +\xfcf\xe7\x93\x04M\x96ZT\x00>\x8a4;7\x9c\ +\xab_\xae\xc4\xe1r\xbe\xf2\xf3\x04\xda\x98\x99\xfc[\xe3\ +F\xfc\x18SYm\xbc\xf1u.x\xaec\x97\x80\xa1\ +\xc4\xa1\x98\x09C\x97\x86\xb1\xdbUi\x00\x09\xa41E\ +\xc4\x95\xe2Q\xfe\x91n\x08\xae\x03\x03\xd4x\x8c\xcc\x89\ +\xb1+\x9d\xfb\x177z\x0e4Z\xac\x17\xdf\xcb\x7f\x19\ +E#}\x9f\xfb\xcf\xf7\xef\xaf\x07H\xb4\xe6\x86Y0\xbdb\xb6\xe8:\xb0\x9dm\ +o\xcd\x94\xfa}e\xe8\x22\xdf\x12\x99\xe2\x17\x84\xcd\x1f\ +\xf7\xec\xb0\xae\x84 \x19$\xc5\xc4Rc\x9f%'%\ +\xde\x9a%6\xc4\xc9\x0a(w\xee\x02\xac\x9c\x97\xc4\xd9\ +\x883\xe6z\xa96}T\xf4s?\xab\x8c\x1c@\xd3\ +\xfe\x92\xa5\x03\xf5\xfdY\xeb\xbe\xef\xf5\xcd\x8aQ4}\ +=l\xfe\xf9saM\xad}\xb6N\x13%\xf7\xdb\xcd\ +\x97\xc3\xe6\xcf\xb9f\xd8\xban\x8a\x92\x9c\xcc\xb2\x12\xf9\ +J\x06\x80uM\xab\xc0\xfe\xb4\xf9\xf8l\x1f\xeb\x1c\xd4\ +\xb1f7\xf7\xef\xe6'}'\x81\xe2\x0b5\x80\xecy\ +-`\xcb\xcf/\x87\x16\x93%\xd4\xd5\xef\xb8\x9es\xd3\ +s\xc32\xa09|\xedV\xb2\xdb\x0b\xebj\xd0\xb3d\ +F\x17\x055\xd0\x9b\xbd\xb0\xae\x8f|2\x14\xa6\x0f\x86\ +\xb5\xf6s\x8b:\xab6>E\ +P\xa7\xe3\xc3\xe6\xcf\x99\xc2V?\xa6\xba\x93\xf0\xf7\x13\ +\xf8o\xe2\x97\x0f]\x81\xbcjS\xcdOv}\x00)\ +\xe3\xec\xfc\xd7}e\x14%\x15\xf8\xcb4\x0b\xe4\xa8\xfb\ +\xf3k$*%\x88\x9c+\xfc)~y\x8adW\xc0\ +&\x00\x14\x10*\x81\xf9\xeb\xa1\x0b\x84}\x8f\xe6\x90\xb6\ +\xbd\xf6\x7f\xa5\x8f\x02\xf2\xdc\xd7\xaa\x14Af=\xb56\ +\x0eR\xab\x1fk\xf4GM/\xfe\xffP\xe2Y\xafC\ +\x09w\xa9\xf8\x1bG\x01\xbd\xf7\xf3?\xc76\xe9\x02W\ +\x81\xf5X\xda!`\x05\xac\xf0\xcf\x94L\x02\xaa\x88\x18\ +Z\x07\xee\xd7\xf3\x90\x81W\x02\xe9\xf7\x02w\xfe\xc9\xa8\ +- >\xe4?\xf2\xa7=\xbf\x91A0\xb6\xc9\x1e5\ +\x0a\x86\x00\xfc\xa0\xee[\xd6\x8d\xcf\xcbq\xda\x1c\x16\xb6\ +\x02_\xfc\xbc\xd2\xce\xc2\xc0\xe3\x97\x12i\x07Tx\xee\ +\x12d\xf9\x5c\xf7\xd7DC\xfd\xa0\xe2\x7fF\x22CJ\ +\x03\xd6\xfe\xf5g\x15E\x00\x04\xb8a\xff\x19H\xff.\ +\x00\x1e\x99\x05\x87\xb6\xc6i\x8b\xa3xr\x06\x5c\x97\xed\ +&\x98\xbf\x07P\x0c\xfd\xcc\x0b\x19\xf2}(\xc3\x83\x98\ +C\x01\x13\x10\xb2\x91r2\x8a6|5\x1f\xac@i\ +\x14\xef\x1b\x11\xad\xb1\xef\xba\xfbs\x1f\x90+\x0f\x00B\ +(\x13)\x00\xe18\xb9\x0f\x0b\xd1\xfd\xf9\xbc\x1f\xe5\xe7\ +\x9d\x9a\xcfC\xdf\xd0\xf7&U\x14\xd5\x5cM\xd5H\xdd\ +3\xa1\x896\xfdW\x06R\xc4\xcc\xc6\x0d\xeery=\ +\xc6\x8d\xc3G\xd4\xe9\x8bY\x92!`\x06\xd9\xc8$\x5c\ +=\x03\xb4{df[\xe6\xd4\xfdB\xe6o\x98\x01\xed\ +\x8d\xa2cq\xa7\xea\xca\x91\xb6\xd09\xe4jQ\xdf\xb5\ +\xb4\xe3\xa9\x8dg\xa4\xf8\x1d\x1d6\xbf\xef\xf7\xc3:\xed\ +\x06\x8e\xf6\x15\x13\xd1\x15\xb0\x1f\x91\x01\xf5\xf5\xf3}6\ +\x1e\x01;\x04\xd6s\xb7`-l\x00\x81\xc0\xd4\xf3E\ +\x85u\xf0b\x06(eA\xf97\xcf03l\xcc\xe6\ +\x7f\x0f\xa0\x9d\xbf\x9b\x17\x9e\xaf\x0d*\xe7-\x8d\x86\xaa\ +uv\xdf\xae\xd7su`\x8f\x9a\x01\x98\x1c\x0eH\x1b\ +*\x910\xe2>\x09L\x14\xa3'3\x062i\xf5\xfd\ +#\xd3\xc8\x019\x00i\xd5\xef\x16\xe5\x90\xb6\x80\xe7\x00\ +HH*|\x89\xb7\xa1\x1e\xaa\xe9\xe7\xc8\x10\x91\xa4\x9a\ +n\x1e\xdbg\x1cT\x0eD\xf3\xd4\xf8s\xe8\x05\xe6\xd6\ +\x97}TF\xff\xae\xcd\xea\xf7\x05\x0c\xa4C]\x9a\x01\ +\xc4[\xec\x07\xe6\xab\x80[\xa6.\xfbt\x170\x05 \ +0\xaf\x13\xa0)U~\x80\xab\xae\x16Y\xb3\xbb\xfbA\ +\xd8<].\x18\xd6e\xfa3\x10F\xdd\xd5\xfem\xf3\ +\x8fa])@\x96 T;\xbct\x0c\xb5\x0d3\xbe\ +\xd5\xb7=\xbfo\xf3\xc5\xb0\xce\x01:\xb14-Z \ +0=rz\xf8\xf4\xf0\x1c\xd79\xb0\xd9\xbe\x22\xac\xcb\ +\xfc\xca,\x01\x88\x92\x1a\x18\xcd\xb6Z\xdb3\xb5\xf5\xcf\ +h\x5c\x85\xca\x846\xaa\xee\x81U\xe3\xc0\xfe\x5c\xaa\xf7\ +4\x1b\xb2\x96\xbc\xda6f&\xb42\x92\xe6cR2\ +\xab\x9d\x1e\xa6\x02\x07T\xc9\x11\x91\x9eG\xef\x1e\xd3\xa8\ +\xae\xe9\x10N\x97\x99m\xfe\xdc\x03?\x99\xed\xa7\xab\x06\ +B\xdb\x05\x8e\xec\x006\xc0L\xf6\x15\xaf\xe7\xc4Q\xc7\ +\xac\x88\xeb\xb9\xc8\xaaeR}\xd7e\x003\xe3\x0c\xc8\ ++\x80\xd0\xb9\x98\xb5\x952\xef\xf6\x09\x99\xe5\xcd3\xc3\ +:\xe6\x81\xfb\xca\xcce\x01NT\x88\xf5/N \xa5\ +Jpr=\xec\x1e\x17\xd6\x05\x98\x00M\xe7,G\x08\ +`\x95\xb5\xbd\xf5\xef\xe6\x9b\xee\x1a\x8f\x0d[\x99\x0a\x1c\ + \xda\x185OQ\x9bed\x89\xaa\x01(\xfd;\xc7\ +2\xb5\x83\x0a\xc0\xfaq\x83\xd2WG5\xa8\x9c\xf3\xf9\ +\xb2\xdd\x9bm~\x0e\xd3\x9f\x87\xad\x01)?c\xf3\x89\ +\xb0\xb5\xed\xe1trX>\x9f\xe7vm\x94\xb5O\xbb\ +_\xb35p\xe4\xc8F>\xfa9\x19\xf0<`\xcd\xe0\ +\xc6\xaa\x89uS\xa2\x94(\xe2Y{?\xfdMX\x97\ +\x01M\xb1\xd0V\x12\xf0\xf8u\xbf\x9a\x1e\x13\xd6\xb5\x99\ +\x03\x04\xfdN\x8a\xeb\xd2\xee \xde\x8b\xf1\xe1\xfd$\xacc\xc8q\xd4\xf9\ +o\x09\xfcL\xef\x0f[3\xa2\x18T\xb5\x7fEW\x83\ +\x9bw\x8c\x8e,\x15\xd9>'\xac\xdb\xbf\xcf\xb3\x8ck\ +1b\x22l\xdf\xad\x8c\x84\xe9\xa7a\xf3\xe7\x5c!\xac\ +\xeb\x06\xe0\x1c@\xa5\xbdm\x02~\x01\x9b\xfe\x5c\x0b \ +\xdb\xbc\xd9=`y\x0e(\xbc\xdb\xdf\x09\x9b\xaf\xf3\xfe\ +a\xf3\xcf\x17\x09k\xc0\xc5S\x1ap\x91\xc0\xee\xf4\x9f\ +a\x1d\x80\x93\xfbV\x01t\x18\x8d\xe7?kw\xa8\xe9\ +\xd5a\x9d\x7f\x95@F\xf9\x15\x80i\xe7vv\xad\xa9\ +\xc0?\xbbsT\xa6\x9e\xbf\xe5\x9c\x128\xd0@\x01\x10\ +c\x18R\xbf\x07\xccY7\x18C\xfc#~\x8b\x00Z\ +@Hd\x92_\xab\x9b\x08\xc0\xc0y\xab\x942\xdb;\ +\xd3\x9e\xa9\x80\x1d\xc0\x8c\xa1\xe1y\xd1\x02\x01\x08\x0a\xdc\ +\x89\x5cSK\x97\xc9u]\xee\x93_\xce\x1fRK\x9e\ +Z$\x05\xc0$0X%H\xe6\xafn4\xde\xcf\xaf\ +\xe0\x0fH\xc8\xd9\xdf\x9d\xf7\xfe\xde\xef\x01\x94\x9e\x7f\xae\ +\x7f\xfeT1\xee\x22*\xfb^+%\xf9\x9b\xa6a\xa2\ +6\x9e_\x8b)\xc5\x0f\x1c\x13\xa2\xf6Yq\x89\xff\xf8\ +c\x83\x98y\xf9Y\xa9-qP\x977~7\xffP\ +i\x0a\x8a\xbb\xef\xe7O\x0e\xed\x09\xebs1\x80}\x9e\ +\x00\x1a\xa0\xe1\xef\xc5'\xfcX\xf3\x8d\x9f\x8a\xe1#\x03\ +\xcf\xbf\xe5\x7f\x88\x0f\x87\xae$\xc5\x00\x00\xe0\x8a\xf3\xf8\ +\xd7\xe2X~\xff\xf8_!\x87\x83\x96\xdb(\xee=j\ +'\x18o\x09N\xa5\x02\x03\xa3\xb44R\xde\x1c\xd6i\ +\xb9\xd0\x22\xf3\xbc\xccs\xd7\xed\xb9\x03,\x0a\x00\xa0\x01\ +\xd0\xab=\x9e\xb6\xb6\xbb\x89\x8a\x91\xa8\x19\xa9\x0c#\xc7\ +\xf2\xec\xc4\xcc\x0e\xc9\x0b>m\xadI\xab\x1ak*\xc1\ +\xde/\x80\x11\x08\xa0\x90\xa2$\x13Q\x1bK\x0fFj\ +\xf2\x80\xec\x94\xc8\x9e\xfb9'5\xc7Q\xd5qP\xc3\ +,\xb1\xb2\xeb$\xb3`T\x87\x84\x0c\x99@\xe3\x00{\ +\x00\x102\xc8\xea\xa0\x92Y\xd4J\x81\xfeH\xf9\x10`\ +\xa3\x14g\x1f\xe9\xda\x98\xbd\xda\x80\xc7\xda)\x00\x83\x0d\ +\xe9s\x05\xcc,\x13\xe3\xb0\x1a\xd7E\xa4C`r\xe3\ +\xcc\xf8\x0a\xd0\xdd\x8f\x8c\x10J\x93\x0d\xf8\x87\xb9\xa1\xd8\ +\xe0\xaf:\x88#]&3\x8f\x027\xed\xf8,<\x14\ +\xf7w,\x22H\x8d\xe2\xfb\xa9.\xf3\x9a\xa5\x03\x95I\ +M\xb1>\x99\xf1r\xb8R\xed\xb9\x18\x03\xb9\x01\x97\xb8\ +\xdf\xaf\xa6\x03|\xb1\x04t\x5c\xcfU\xb2\xcd\xde\x1a\xb0\ +/\x19z5\xad\xc6\x97\xc3\x83:g\x03r\xdf2\xac\ +c\xfb?\x07#\x04\xdc\xebXr\xe0\xf7\x80\x17\xeb\xcc\ +\x86i\x9e\x01\xaa\xa8\x91\x0a\xf0\xad3\x7f72n \ +\x91\xae{@\xfeK\x9d\xda\x9f\ +{\x01\x17\xfa:\xab15\x8f\x1d|\x90\xee\xdc\x17J\ +\xec/\xa9t\x15\xf0\xa2\xc2\x8d*\xa8\x00+\xbf\x07\x18\ +\xa0\xb4;h\x04j\xe9pQ\xeb\xd7\xd6\xae2|\x1c\ +!\xfbS\xf6\xc7\xae\xcfs\xe0'pP\xc0!FJ\ +:\xb25\x1f\x9f\x14\xd6i#\xbd\xf9\ +|\xd8\xba\x0eK\xcc03\x9d-\x80\x8eR\x8a\x9f\xce\ +vf\x02!\xb7\xcasb\xde\xf7\xa6\xaf\x86u\xe2\x8d\ +\x09Xl?\x16\xb6\x9e'\x9b\x7f\x0e[\xd7\xc9t\xf3\ +\xb0\xb5\x86\xdc\xf5*\x15\x00\x00\xb4R\x83c\xd6\xf1\xd4\ +\xce\xb1\x05\x90s\x807]<\xacsLs?\xad\x00\ +3EE\xa7w\x87u\xe7\xcc\x8b\x9aU\x00\xa6\x0bI\ +\x01\x88\xb4*r\xff\xb0\x7fU\xa9\x8b\xd2#\xfb\xae\xae\ +8)&\xc9\xff\xd8<=l\xfe\xfc3f\xfb~W\ +\x92\x84\xc1\x13\x0c\x8d\xcfw~@\x06\xa4\xd3o\x86u\ +m\x04\x05\x0a\x09dM\x8f\x0b[\xe7\xf3\xf6\x1ea+\ +si\xef\xc9{O\x0a\xaa\xfe\xbeW-m\x13\x1b\x93\ +cv\x90\x0f<8\xac\x95\x00-\x99\xf8\xc7.L\x02\ +\x8c\x91j\x1b'\xf0\xfc\xce\xe2\xefM\xb7\x9cn1E\ +\xad\xfbu\xc2\x1a\xd5yQ\xd1\x8f.\xf4\xc1\xdc\xbal\ +p\x05\xe6\xeb\xb8\xd7\xf6\xde\xdb{%S\xea\x89\xeb\xb9\ +\xcf\x7f\xc3|\xa9v\xb1\xc9\xac\xa8\x92\x94\x5c'\xf5>\ +~Qj\x10\xd5\xfb\xf8\x03\xfc\x13\xfe\x87s\xd2~\xa7\ +]`2B\x04\x98\xb4B\x00\x16\x05<\xa4\x18o1\ +\x14\x13\x18\xdb\x1d\x1f\xb6\xbe\xaf4XP\xec\x130\xaa\ +\x921\x0c\xb8\x81\xaa^\x8c+\xc0\xa4R\x04\x0c\x01L\ +H\xf7\xc5\x1fOF`1h\x88\x0a\xd2\xc6\x91\xd9\xa7\ +\x09\x90\x0c\xddb2`0\xd1F\x90\x10HFZ\x9d\ +W\xfcn@\x80\xd2<\xa2\x7f\xc6\x95\x1f&\x10\xe4o\ +\xfa\x19\xa00f\x96\x95*}`\xf7\xc1&j\xf7\xf9\ +\xe6\x91\x97\x1f_\x8cb\xfe\x9f\x00\x90\xa6\x81Zxq\ +\x8b\x80w\xecZ6\x00\x19\xa3\xf8\x5c\xd5\x96\x8b\xa3d\ +\xd8\x05\xa2\xe6\x91\x04\xa7\xfb\x05\xdc\x89\x83\xc6\x04\xb0\x00\ +\xda\xbe.\xe0\xe5gjG8\x02\x08\xde/Cn_\ +q\xfd\x00\x1d\xdao\x87\x84u\x81\xb6ye\xbde\xdc\ +Z\xed\x09\x8d\x93\xfb\xf0\xbd\xee\xcf\xcf\xa7\x9eU\xf3\xa0\ +\x12\x5c\xe7\x09\xeb4D\xf9<\xf6\xd7\x00x\xd5\xde\x0fB\xb4R\xe4\ +\x97\x07>\x8a\x88\xf9;\xc8Q\x02\x07g\x11\xb9\xfa~\ +\x17@\x1e\xdeH\xd3\xa0\xd3\xc4\x00\x00 \x00IDA\ +T\xe1\xab#7f\xcc9\x1c\x90\x13\x13tU\xb9_\ +2\x0e\x1e\x98\xc0\xc6\xe7\xa0F\x8d}\xcd}\xde\xf8\xf3\ +\xf8\xba\xaa\xa4\x9fU\x84\xd0\xeb\xa0\x9a^\x0e\xff\x8d3\ +cm\x03\xb3\x80\x5c\xaf\xeb\xf1\x9f\xc0\xdd\xb8\x9a\xf8\xee\ +c\x9c8~oB\xd8XG\xad\x81C\xf2{\xbdz\ +N\xdf\xa9\xcc\xe6Y\xd5G\xc7\x00\xf3\x12\x19\xa8\x8em\ ++d\x22\xbc\xcf\x82\x92\x91\x1c\xd5\xdb9\xa0D\xf7\xbc\ +?\x0f\x96\xcd\x9d\xb3f^\x1b5j\xe6\xcf\xccZ\xe3\ +\xa4\x18\xd6}\x9f\x985EI\xbd\xacya\x1e\xd90\ +s\x83\xdf\xfc]X\x17\x80\xde-\x91n\x9f\xe7>/\ +\x9d\x01\xdd\xc8\xd8\x18D'k^\xe5sE\xb1-Q\ +G5a\x0e\xba\x91!\xe09\x0a\x9cr\xden\xce\x1b\ +\xd6\x8d\x9b\xe7\xee\xf9\xc88\xa9m\x15Hr\xf8 \xa1\ +\xda\xea\xd8\xb0\xae\x13\xd6m\xe8\x80$\x94{\x99k\x1b\ +\x02\x80\xc8\x86;\xf6M\x07\x5c\xe9\x96\xf0\xdc\xb0\x0e\xb9\ +6\xaeT\x96m\xd4\xda\x08\xda\xa0\xcdG\xf3\x1d\x12\xae\ +\xc6;\xd5\x99\x8b\x89\x91\x19Y\x81w\x89z9(\xdd\ +? 0kQ\xabO\xbc\xda\xcb\xb5M\xd1\x22\xe2\x97\ +\x8eW='Te\x815\x11?j\xc6Yk9\x87\ +u\xb3u\xf3\xc2\xba\x06x\xf8\xd9}\xfa\x8f&\x02m\ +\x0a]&\xf4\xc35\xdf\xd5\xf2\x03V|\x0f\xa0\x80\xa3\ +\x97\x88w\x95:\xa0Lj\x0b\xc8q\x7fv\xd8\xda\x17\ +\x5c`#3*\xa3V*\xed\x09\x5c\x10\xbb\x12\x90\x95\ +(\xdf\x13\x17*n\x13\xb9\xbbd\xd7\xae\x89\xa3\x84\xaa\ +O\xad\x9eH\xda\x1b\xc2\xd6u5}(lm\x9b\xb7\ +9aQ\x87\xdf\xdee\xb6\xa3\x1au\xb9e\xae\x8a\xf2\ +\x9a\x8c\x99\xcd\xbd\xc3\xe6\xbf\x7f[X\xb6\xa3;$3\ +\xfe\xbf\xbe\x06p\xe5 (U!N\x96\x8e\xde\xee\x8e\ +ak&\x07Sa\xfe\xde\x85Q@\x0d8)\xb62\ +\x14\xd55\xe16a]f\x0b@\x88\xca{\xdb\xddm\ +v\xb7]\x1d\x97\xe9\xcda\xf3\xf6yZ\xd8|\x9f\x8d\ +\xab\xdf\xed\xdf\x91?\xbd[\xaaf\xdf\xba\xab\xb1&\x9a\ +\x9b\xc8\x7f\x0b\x1co\xb12\x03Z\x9e\xef\xb9]?v\ +\x0e\x16\xa0\x96\xea\xbc\xcc\x12\x00@f\x88\xcaw\x02\xba\ +Uc\xee\xfe\x9d\xbb\xf6]\x0c\x9aT\xab\xe7h\x13\x0f\ +,\x07)\xcf\x89\x9a7\x98(\xc4T\x01\x822\x1b9\ +O\xec7\x18$\xf5{\x00}\xae\x0f\xaa\xf1\x9b\xa7\x86\ +uL\x1fL\xa3,\xed)\xc7\x1ee\xd69n_N\ +fI\x95\xb0\x98\xcf\x09\x5cW{J\xb5\xd1\x02\x89\xbf\ +X\xda/6\xb8\xf0#\xf9|^9?\x9f'\x87\xad\ +\xebS)\x856\x87M\xf4\xf1\xf2k@\xaf\x1b\x83\xda\ +dby\xd3\xb7\xa2\xb1\xddZ\xeb_\x22_\xe7n\xaa\ +\xb0\xf9\xe0f\x0e\xb0\xf6\x9e\x19\x96\ +m\x83\x7f\xa9KxD\xef\xab\x93\xdb\xf3}y{\xbe\ +\xf7\x5c\x98\x89\xd6i1a\xb2\xad)\xe0t\xf3\xc6\xb0\ +\xd6\xee\xb0\x8d\xa7\xc0w\xfb[\x8bH\xe1\xde'\xf6>\ +\xb9\xf7\xc9&*y\xa3\x10\x95\xac.%9\xff\x88\x8b\ +\xce\xd7\xf7\x81\xb8\xbe\xdd\x99\x8b\xd8\xa7\xee\x02\xbbk\x85\ +u\x01\x92W\x81\xa7RN\xdd=\x9c\xdb\xd6\x87\xfdD\ +\x82\x22\xdb\xf5U;\xdf\x00\x8e5\xc61\x5c\xd3\xc1\x81\xb1\x8d\xa4\xa8\ +\xd5c[=\x81\xab\xcf\xf3\xbd\xaek\xcc\xf0\x7f3\x03\ +\x0a\x81\x8c\x03\x18\xe0 \xf0\xf0\x0a\xb1\xe2`\xb9>\x13\ +S\x80\xa8v\x9bx\x05*#\x87\xdf\xf8\x8dH\x8e\xf1\ +\x1f\x17\x1c\x8a\x8c\xe7Gd\x09c\xe0\xb0\xa5\xcfs\x01\ +\x02j\xbb\xbf\xbd8\x8a\x9b\x0b\x85\xad\xb5\xfa\xb5\x11e\ +_\xe2:xm\x80\x16\xb8\x83F\xfb\x1fTI\x1b\xa3\ +\x0d\xb4\x9f\x07\xf1\x9c\xce\x08\xeb\x16\x98q\xf8Ri/\ +,\x8c\x8b\x9c\xa0\xd5\xbe\x05\xa5\xfe!\x8bXL\x1d\xac\ +>\x070#\x10A\xad\x8f\xf6F\xef\xed\x02\xd0\x03C\ +\xbfzm\x0b9\xacj/e\x88\x88&\x02\x86r\xfc\ +k|\xc7\x8dwl\x1b2\xb6\xcb\x1c)U\xee\x9b\x86\ +\x85q5o\xad+\xed\xbe\xd2\xc1+\xd1A\xdfk^\ +z\xbe2\xcfy\x90\x16\x03\xc1z\x1d\xfb\xae\x0a\x943\ +\xa3]\x1bdnh%z\xc9\xa1\x00\x108 W&\ +\xc8\xb2\x01\xfa\xd9\xf7\x0d\xda\x03\xc5X\xf0\xb9\x0eF\x1b\ +l:r\x02@\x94\xc0\xca\x1c\xa7CP\xeb\x1c\x02j\ +\x9e\x12\x15D9\x06<\xfdvXW;\xe69\xa3\xb6\ +\xca r\xf4\x89v%\xe5\xaa\xa8\x8f\xe9\x90\x15cD\ +-&`OF\x8c\x9a\xbc\x1a\xef\xa4\xae\x17\xa3@@\ +\x020\xe3\x98\x08\xa0s=n\xde\x13\xd6\xdd7&\x01\ + *3\xde\xbb\xeb\x87\x9d\x8d\x98NR@\xdd\xff\xf6\ +\xd3\xdbOmc\xfe~8l\xad1\xab\x0c\xb4\xb6P\ +\xb9\xbe\xa6c\xc2\xba\xe7\x0a\xf8B\xd5\x16\x08\x9b\xf7(\ +\xaay@\xa9}\x9f.\x11\xd6\x98L\x8d\xd2\x08\x10Q\ +\x8b=\x9dk\xda?\xed\xb5\x80\xf8\x7f4Jq\xb4\xdf\ +\xbc\xee|\xbdw\x0f\x9b\x97\xe9g\xc2Vq0\x80\xc0\ +\xee~\xb3\xdd\x7f-\xfd\xd8\xfcd\xb6\x1fw\xe3\x82\x02\ +M|N\x9b\xac\x7f\x09\xeb(\xff\x02\xa6\xb0MWk\ +/\x90\xd4\x0f\x9b\xc6Bf\xce\x1ba\xf8\xd1+c@\ +\x9b6%K\x07\x0e=p\xe8th\xeeK\xd1e\xe0\ +\x83a]Mr\x9c3_\xcas\xe4s-C\xb58\ +\x90\x91\x9f|l\xee\x1b\xdf[\x9922\x95M\xca\xf0\ +\xa8\x0c\xb0/\xdb\xd5\x8ajog\x7fN\x91\xb7\xaa\x15\ +tn\xe4\xf9N,\xaa\x05\x86G\xac\x8eH\xcd\x83\x0c\ +\xfc\xb7\x17\x0b\xeb\x98\x22\xb9?\x0b\xbc\x05L%^\xa9\ +\x9d\xa5\xcc\xbe\x1a\xe4\xcc\x0c\x97\xe3\x93\x81E\x89\xd0i\ +c\xc8\xf1\x93\xc1\x02\x0c&\xe0\xbe;!\xaccr\x08\ +\xd0\xf4\xf9V2\x80\xf2>\x88.\xa1\x14O\x97\x0e[\ +\x1d\xc5\xedaa\xddz\xc8R\x09\xfb)\xf1\xc6\xb6\xeb\ +|1\xcf\xddK\xafT\xe4F1\x0f\xed\x94\x93g;\ +e-%\x99\xae1\xdb5;\x95x%\x00I\xd5n\ +%\xd0QR\xf0\x86\xb0\xf9\xf7\xdf_D\xech\x19T\ +-4\xc0\xc5\xb8\xa76\x80sxw\xdb\xb0\xf9s^\ +\x1e\xb6\xb6/\xc5P\xa9R\x83\xd7\x87u\xe7\x1e\xff\xe1\ +\x90\xb0\xb5TB\x89\xc3\xe6%\x9b\x17o^\xdci\xd2\ +v\xe0?\xc2:\xd1O\x00K\xde_\x95\x00\xbd\ +05\x1a\x1e\x15\xd6\x02\xe3\xa5\xbb\xc4K\x97u\xd3\x9e\ +\xff\xc9\xab\x08f\x05\xc2I1\x9e\xbe\x1dP\xcf\xaa\x82\ +\xcf\x8f,\x86\x8b\xd2\x04~\xc0X\x92\x97\xc0K\x89g\ +*\x81\x91\x00\xc8@\xb2\xfe]\x86<\x01\x96\x1aoL\ +1\xb5\xfe\x02\x1aT{%\x1f\xb4w\x9c\x9f\x11\xf6?\ +weB\x94?\x07\x08HF@e\xdc\x9d\x0bc;\ +p\x9a*W\x0e[k\xf7\xab\xfb\x89@\x0f\x00\xa8+\ +\x08?N\x80\x0c\xe0VSO\x03\xc0~\xa8\x84,\xd7\ +K\x01\x9b\xfc\x07\xfb\x03Q;\x00\xa5\x8c/\x919\x89\ +\x15~\x15&\xa7\xf3\x9f\x1f$\x00\xc6\xa0\x14\xffD\x18\ +v\xf2\xd9P\xe8\x9d\x9f\x9fJ\x7f@ \xa84\xd0\xfa\ +U\xca$\x11\xa0T\x12\x803v\xfb\x92\x89\x17`\xf3\ +\x0fFJ\xbey6\x96`\x8fq\x92\xcf\xe1\x7f\x8b?\ +\xf8\xe1\xee\x1b\xb5\x1f\x03\xd0}\xf2\x0b\x07M\x9b\xf2\x03\ +\x01\xd4c\xad\xbdsKbo\x0c\xd8\xc7\xaeS\x98(\ +\xa3\x88\x9e\xc4\x97\xef\x1d\x02\xf5b\x10x\xee\xe6\x878\ +o\xec^\xe7|\xd2\xee0\xe3\xa7\x02l\xc4kc\xa2\ +\xc8\xabq\xf79\x02y\xa5\x08\xbe/\xf7\xb9\xea\x923\ +>G\xdf#\xee\xf4}\xe6\xe3\xd0m`\x7f\x0b\xab\x89\ +\xec\x08\xb4\x0ft\x816\xf1=\x1f\x04\x18\xf0\xaa6\xce\ +\x7f\x11\x86\x5c\xa0\x0b\x84=\x08\x81\xadR\x01\xaf\xda\x06\ +\x0a\xf0\xbf\xdft\xf1\xd7\x004\x11\xb5\xb3db\x0f\x0c\ +\xa2\x84\xfb\xbb\x80{\xac\xc50\xb1\xd5\xe8df\xa5j\ +\x96-\x10\x01\xca\xd8\xde\x10\xf5L\x8d\xe7\x8d3\x03\x0b\ +)Tc=\xf4]\xad@O\x80\xe6:m\x10\x98\x0e\ +\x0et\xd4{\x01\xf7@\xd5,G)\xdbx\xcc\xe1\xc3\ +\x92\x01\x95y\x1d'\xa4\xb6\x0f\xda\xf1\x1c\xc8\xf1\xfdq\ +.\x94\xb1[\xc0&\x17\xe2 \xceQ\x01\xa7\x00\xe1\xf0\ +\x0cP\xaf\x9a\x14r\xe3ka`@\xa8\x05\xa7)\xa0\ +=\x1fJ*\x91%\x144Z\x04OX\xc4\x84\xf6}\ +(3\xcbwX2\xce\x15\xe0ZP\x16\xb0\xbe\xce\xe9\ +\xf0\xd4Fe\x01\xa5C\x5cT[\xe3\xeey\xf8\x1c@\ +\xc5\xd0Nn\xf7\x96\xec[\x8b\xe1\xe0}\x02uH\xaa\ +\x80xh\xa78?\xaf\xd9Z\x9b\xc1\xd9\xba\x0d\xcc\x86\ +c~\xfd\xcb\xd2\x06\xad\x80&\x07\xb9UrB\xacL\xa6\xda\xba\x1a\xfb\xbb\x02RR\ +\xf4\xa9\x9e\x8b\xc0\xd6\xbcPr!\x83\xe7:\x1c\x00\xc6\ +\xc1F*\xc3\xa5\xdf0\xf1\xc2\x9c\x972|\x9bw\x84\ +u\x01\x7f\xd6\xe06\x11\xaf\x8fw\xfb\x89\x0d\x15\xf5_\ +\xa6\xd7\xab\xe7\x93\xff^\x019\xea\xa5\x00f\xa0|W\ +\x8d\xb6\xf5\x22\xd3F\x0d\x19\x00\xf6\xdd\xb0U\x0c\xa8\xe6\ +\x07\xc7\xeeFa\x1deR\x86\x8e\xe8\x1dja\x02\x0e\ +{\xbf\x146\xbf\x9e\x14\xd69\xe6\xeeO_i\xd4}\ +\x1a\x0ew\x08\xeb\x1c\x1f\xedMuW\xb0\x0f\xa4\x83\xc4\ +!\xae\x9ax\x94c\xf7c\x1f\x94\xd9\xfeN\xd8\x0a(\ +\xcc\xeepkC\xb6;\x22\xc8\xeb\xf36u\xde3\xcf\ +w\xe6y\xd7\x00q{\x9f\xed}\xb7\xf7\x99\xef\xe3\xc4\ +\xd9>\x9c\xdd\x13^\xbe:\xdc\xa5\xee\xado}f\xa6\ +\xa7\xe7\x87\xcd\xef\xfbBXG\xe9\x95\xf1#\xa2F\xd3\ +\xc0zxm\xab\xb6\x5cK\xe1r=6\x80)\x18\x0e\ +\xc7\xcdvlj\xaf\x5c\xa5\xfb\xbeC\xa7\x16\xf8O\xb7\ +\x0a\xcb.\x087X5M\xa6\xe3\xc2\xe6\xbf?%l\ +\xfe\xf7k\x87\xcd?\xbf2l\x15\x19\xac\xee\x10\xfa\x9a\ +\xebW\xcd\xb1\xe3\xb0r\x10\x95\xc2\xdc4l\xa5\x00\x17\ +\x95\x9c\x03\x96\x94\xdfR#\x7f\xf6l\xd1\xb6\xed\x8da\ +]Mn\x06.%\x96'\xa3\x96\x81\xb1>\xf6E\xd5\ +\x94y!b\x95\xaa\xf0\xc5\xe8@\xcd\xbdh\xd8\x0aP\ +\x15\x10\xeb\xef9\x9c\xf6i\x99Hm\xdb\xacc\x0c\x07\ +\x19\x22\x80\x0f\x0d\x80\x1co\x99\x1c\x01\xf5\xf4\x96\xb0\x95\ +\xf12]3\xac\x13WU\x8a\x12\xe7\xdf\x85;\xd1>\ +L+\x89\x07\xfb\xd9_\x85%\xc3\xea\x1e]\x17\x90\xc8\ +\xc7^\xfb\xff\xd1u\x1f\xe0\xb6\x9dU\xb9\xf8\xf7Z\xe7\ +\x10\x08\x09BBob\x08\x10P\xe9M\x90\x1e\x8a \ +E\x05T\xda\x9f \xc5\x0bB\x08\x0a\xa2\x80\xa0\xf4\xce\ +\xa5)^\xef\xa5\x83@.\x0a\xe2U\xaf \xed\x02\x82\ +4A\x10)\x89t\x08 \x10Z\x02d\xcf\xf5\x9f\xe3\ +\x9b\xe37\xe6w\xbe\x13\xf6x\x92\xf5\xec}\xf6^k\ +\xceo~e\x8cw\xbc\xe3\x1d\xd9\xdes\xf6g\xf6\x7f\ +7l\xfe\xbc{\xcdv\xcfU\xa4\xb0\x05j\xefXE\ +\xf9\x00\xb2\xb5_\xc8\xe4\xea*\xa0\x8f{f\xf4e\xf2\ +C\xba\xae\x89\xd7e 6\xfdQ\xd8\x0a\x84\x96\x88_\ +\x8a\x9451\xb6\xb3\xd7@\xc6\xfb\x15P\x9d\x00\xc5\xee\ +\xf1\x0b\xe5\xba2Q\xef\x0f\xeb\xa8\xb7\xe6[d\xe6\x1f\ +\xb5fX\xa7;\xcd\xf6+\x1dc)\xf2\xa6WHq\ +\xd3G\xaf\xc0G\x9bm\xbf\x98\xe7\xe8Q\x9dX\xe5\xa3\ +\xc2\xd6\xe7]\xe2o\x19\xd8N\xb7\x0f[\x999\xdbk\ +\x85\xcd\xdf\x1f\xbb$@\x9a\x7f\xf6\xc5<\x87o\xd2\xa8\ +\xfaw\x0f\xaa\xfe\xee\xcaK\xc9\x03\xd5\xfd\xf2\xb3\xbc\xef\ +\x0f\xc3:@\xef\x9e\xcdj\x1f\x9b\xb6q\xe5\x0d n\ +]\x12\x94Fh7w\xe0\x1ea\xf3\xbf\x7f;\xacK\ +H8\xe7\x94\xba\xe6\xfa\xde^5l~\xdfW\x86u\ +\x01\xbe\xf3\x96\x1f\xac\xf6_\x00*\x00\xd6\x1e4\xc5\x15\ +\x8bi\x96\x9a\x06\xa5\xa9\x84I\xe0\xfcP{\xed<\xd2\ +\x9d\x89f\x08\xf1\xe2l\x87X\x9f\x1f\x05/\xef\xc9\x8c\ +\xec?\xae\x0c\xa8\xf2\x8f\xf8\x15Y\x22H\xbb\x84\x16B\ +1\xafr\x1f\xae\xf3Fi\x80\x04\x9b@\xd1\xb9\x91\x0c\ +\x84\xba^\xe7\x0fF\x22\xca\xbe\xf3\x9d\x16\x00\xd5t~\ +\x92@\x16\xb0$S\xcd\xbfp\x1e\x8e\xed\xef\xfc=\xbf\ +EI\xa5\xfd\xf89\x0b3k\xf7\xee\xdd\xbb\x1a\x93f\ +\x14\xc7\x1b\xbb3\xc9L\x0bP\xf9k\xf6u]6\x88\ +\x1a\xaby\x1f\x13NJ\x0f\xc6\xf6\xde\xee\x93\xff)\xee\ +\xe1O\x09\xa0\x07q\xbf\xc3\x98\xcc\x02H\x19z\x01\xe8\ +\xc8\x00\xe5\xf7\xf8<\x81\xfd\x90p*?\x98\xbf*n\ +\xc3\x8c\xf4>\xeeK`;\x06\xe6\xde\xc7uzN\xe2\ +O\xcf\x87(&\x00h\xac\x95\x17\xa7b\x0c\xf0\xb7=\ +o\xfe\xac\xe7e\x1c\x8d?\x00\xc4s\x19\x19\xc4#\xa3\ +[\x22\xda\xfas\x9f\xeeK\xf7\xa9,\x8d*\xe6\xaau\ +a\x5c]'\xbf\x1d\x102$Z+\xe1T\x00\xc0\x07\ +\x1b\xb9\xba\xfa\xdeV\xc6\xbe\xa7\x16_t\x15\xc5\xa9\x1a\ +t7\x14\xc3v\xa0s\x0c\xa9\xfa\x13\x7f\x8b\x0d\xf8\x98\ +\xcc\x80\x1f\xdf1\x0c\x5cXj\x06\xb4\xcb>\xf2p\x07\ +s\xbc\xe0\xca\xa4Z\xf0\xfa\xd4\x13\xf9C\x0d\xfeIT\ +\x7f\x13\xd6\xc0A\x86z1\xc4\xb3\xbb\xbf\x87\xecy`\ +\x1f\xcf\x05|\x91\x9c\xb0\x02\x00\x08&\x0a2\xb1\x16\xf7\ +c\x03\x19j\xa2\x0b\xa1\x1a2\xc351m\x14\x02O\ +\xaa\xdc\x00\x09\x80\x83\xf1\x1c\x17\x82\x0d\xd8\x84\x10\xe0\x12\ +\xe3\xb10\xfc\x9d\x89mc\x12\x08\xa3\x04j[r\x85\ +<\xb8\x5c\xef52\x00\xe10\xaa\xb5T+\xa8\xcd\x91\ +~\xd4T\xbbex\x05\x90\x02g\x08o^\xf7\xe6\xbe\ +I\xa5L\x8a\xf8\xe6\x16a\x9dZ\xf8\xaf\x85\xad\xe2\x87\ +\xf5\x95\x14\xaa\xdd+v\xaf\xdc\xc5\x81J+\x000\x83\ +\x99q\xa9\xa1\x14\x00\x22\x87\x0a\x07\x08\xf9\xf5\xcd]7\ +w\xed\x020\x0c\x0e\xf7k\x83\x1c3\xff2\xee\xc6u\ +D69Z\x09\x04\x94\x03\x8a\x8an^\xca\x5c\xe9B\ +\xa1t\xc2\x81l\xbe\xda\x80lH\xe6\xbd\x0d\x96*\xb9\ +\x1av\xa2}\xe69\xc6\x04\xc0\x80\x16\x88q\xb6\xb1\xaa\ +\x01NuR\x19\xd9\xc3\xda\xe1\x01\xb6|\x8d\xed\xd5d\ +\xf6\x8c#\xc7\x83*\xbc\xf9\x07\x10\x18\xa8T\xf5\xfec\ +\x97\x0d\x07\x18\xd1\x1ebf\xe69d\xda~\xe0\xbeG\ +\xaa\xb4\x03\xd7s\x1c\xf7\x09\xdf\xfb<\xfb\xa7\x0d\x9fc\ +\xf2\xc2fk\xa6\x84v\xc9\x93\xc3\xba\xb6c\x1c\x09\x81\ +\x0b\xf5y\xd7O\xa9\xd2>=\xac['\xd6\x1d\ +Q%\xfd\xeb\xb3\xcdX\xcdC\xe3\xc31\xa5\x1dA\xc4\ +\xe8\xf2\x0b\xa5r\xf7\xc0\x85\x01\xb1\xff\xd6\xfd\x7f\xda\x0f\ +\x15\xefG\xee\xff\xfe\xfe\xef\xaf\xf3~{\xff\xb0\xf59\ +\x1f88\xdb\x81\x04~\xfe\xbeeB\xae\xd7\xa8\xdd\xf7\ +\x98\x03\xdf{\xac5\x94M}\xfc\xd4lk\xf6\xb7\xeb\ +>\xd8\xda\xf2Em\x7fS\xd5\xe9\x1c6L\x0e\xcc%\ +\xe2ZI\xa5U\xd3\xbd}y\xd8\xfc\xfd\xd1a+S\ +a:\xfft\xd4t\xfe\xc3\xd5\x81\xa7\xf3\x85\xad\xe3\xbd\ +}_X\x07P\xc9\x10\xbf\xa0Y\x89\xb7\xd5\xfaM@\ +\xac\x98*\xf6\x95\x9c\x07\xa3Xje\xb2e\xa2t7\ +\xf8^\x8aI\x09\x5c\xa2\xc6\xfb\x9e\xddy)\xf0\x06\xa4\ +df\xad\x05\xee\x17\xed\xb4`\xec\xa3\xf6\x0f\xda7j\ +\x9fC\xe5\xfe\xb9\x9d\xe8Wf\xca+\xa0M\x00\xb7\x02\ +\x17\x80\xc0\xe8\x08g)O\x95\xe28\x7fdnR\xdd\ +}\xba\xc2t\xfct\x85\x8e\x99\x03 \xe3\x90%\xd3h\ +\xbaV\xd8\xba\x7fn\xff)\xac\x0b\x8c\x95\x04\x10\x85\x0b\ +\xa0\xbe\xeb+]\x14\xf4|\xff\x06\x04\xfdi\x96\xa6\x9c\ +7kG\xe3\xf5\x8c\xd9\xbe\xb2\x06l\xd3]\xc32\x80\ +\xb9D\x97\xf9\x0d\xc0\xe0y\xa9\xd9\x10j\xf9\xfb\x0bE\ +\xbc\xce\x95lWZ\x00\x00\xd1(\xeb\xf41\xcd\xea\x1c\ +Qk\xef\xfe\xa6\xd3\xc2:m\x84\xacuo\xfb\xcb\xad\ +: >5aJ\xf4-kP\x89\xb8\xca\xcc\xd7~\ +\xe1\xdcTC\x0e\x00Nq\xcaj\x0b\xf8\x99\xd9>\x9d\ +\x00\xc4kR\xdc\xf4\x81\x9d\x1a;\x06\xe2\x05g\xfb\xa9\ +n\xdd\xd2\x82\xb8LS\x13Z\x02\xb5\x8fu\xb5\xedQ\ +\x00s\xed\x14\xad|\xc6\x0a\x9cU\x09L\xc0u7\xca\ +u\x1d\x1a\x0d\xcf\x9f\xed\x05\x87tkxwc\x9ea\ +\xfc\x9c?\xac\x03.\x93\xd2]\xa2}\x09\x88\x16\x10\xf4\ +\xe2\xb0\xae\xab\xc5w\x17\x7fY\xe2\x05 ]]\x03h\ +\x18\xe5\xf9\xbd\xbd\xde\xf6\xfa\xdb\x10A|\xda\xd2Ub\ +\xfb\x87a\xad\x9d\xe0\x0d\xa7\x1b\xe6\xfc9\xa3[7I\ +\xa5\xaeR\x00\x00\xccH\x85\x97 \xe0\xf7\xd9o\xb5\xe3\ +\xcbuY\xdd-P\xa8\x9d\xc3\xf6i\xddu\xa8\x90+\ +\x8d\xd2}\xc6\xe79w\x95$\x02\x08s\xbf\xdb\x1d\x0c\ +\x9b\xbf?6\xac\x0b\x04\x13\xd0\xc48*\x8d\x1c\xa5\x0f\ +\xda\x0e\x9b\x8f\x03\xe3\xb5\xfcc\xcf\x93\xa6\xc7k\xc2:\ +\xaa\xfd\xa8\xbe\xceo\xe7w\x11\x9b\xb6o\x02\xd8h2\ +\xf0\x13\x05\x8c\xeeW\x89Y\x96T\x14\xb0i?\xe6\x8f\ +\xb9_\x81\x1a\xa0\xdf>*>p\xaeZ\xf7j\xc0\x89\ +\xa2b\xdeY\x7f\x12,\x12Q^\xf9\x83\xce\x1f\xfb\xf9\ +\xa8Zo<|\x8d\xb5\xed\x03\x95\xbc\x18\xbf\xc6\xd3\xfd\ +8\x9f\xcc\xbb\x91\x01\xea\xf3\xc4#\xe2\x9c\x91Q-\x00\ +\xe6o\xf1\xc3F\xed6\x01=\xb5{q\xa9xh\xd0\ +.+\xcd\xa7\x8c\x9bj_\xe1\x9f\x19w\x09\xc41\x80\ +7N\xba?a\x06\x1aO\xd7\x87\xd1i|F\xad\x85\ +\xb1\xbd\xb5\xe7J\xcc2\xcf\x9f\x8a#\x89\x83\x03\xd6$\ +h\x8c\x03\x80\xc2\xf8\xfb\xf2\xb9~\xee\xf32\xdee\xb6'w\xdd&.\xb4;\xa6\x01:W\x0e\ +[oK)E\xd3\xe6\xbfl\x9b\x1f\xff\xde\xe6\x87\xc4\ +F\xec\xb6\x0fYK)\x8ccS\xeb\x7f\xe0Zs\x7f\ +\xe0Ua\x9d(W\xf41\xff`\x9b\x97\x97o@\xd5\ +3\x13\xc8\x94\xb9\xce\xf9P\xcc\x99\x9co\xd3\xbf\x84u\ +])\x94\xdc\xf0#OY\xf6\xff\xcd\xfe\xa2\xda\xbd\xbd\ +l\xd8ZZ\xb6=f{\xa1\xed\x85V\xe6\x91\xf6\x9e\ +\xa5i\xf0\xd8\x04\x04\xf9\x0b\x029~\xc6\xaa\x95\xb4\x00\ +\xe6J\x85h\x9d\xf0\xcb\x94\xb0Q\x8bW\xd2$p~\ +\xd3\x222W\x8c\x03\xe2|\x02\x1b\x81\xce\xfb\xe6p\xe9\ +}]\xe0\x9f\x9a\x0f\x95\xb8!\xee\x8bYt\x89\xb0U\ +\x9b\xa2J\x1a\x95&\x00\x5c\xd5\x5cg[\xc9b\xf6(\ +\xe9\xf0y\xfc\x0e\xfe6\xed \xe3b\x9f\xbcYX'\ +n\xcc_\xe3o\x090Q\xfb\x01,\x98\x8e4\x10r\ +\xdd\x14\xd0\x0d\xe0\x12\x10\xda\x9f$\x0a\xfc\x1e`l\x0c\ +\xb0\x13\xf0.\x118\xfe\x00\xbfx\xcc,\xf3\xbftO\ +\xb0\xbf\xf2G\xeds\x02\xecL\xec\x956\x19\xff\x1b\x90\ +\xaa\x1d\xde\x18\xef\xf0\xdfF\xed*\x7f\xcf\xef\x15\xe0\x0b\ +\xec\xc53\xfc0~\x22?P\x1c\x02pq\xdf\xe2\x0d\ +\x9f\xebs\xdc\x87D\xc8\xa0\x09P\xfb\x0e\xad\x1a\x01<\ +\xff\xd0\xe7\x01\x8a\xd2\xba\ +\x1a\x1c\xa3\x0a\x14\xb4\xf9\x02\xa4*\xc5Hq\xad\x0aX\ +0\xa8r\xde4*\xf3|\xdeL7\x0f[\x81\x9c\xed\ +\x9b\xc3\xba\xd2\x19\xfbo\x06\xee\x95\x99\xf3\x9c\xf5\x03\xcf\ +\xb6\x8a\xda,V\xbfw%Z\xd6+\xb1Dj\xeb\xd4\ +\xb8\x89u\x86\xd2\xc8\x83\x92\xa9r\xc5\xb5\xedU\x05\xee\ +\xdf\xcfs4\xa8\xf5W\xedj\xe2\xbf\x985\xa7oJ\ +J\xf4\x9d\xe7\xf0\xe5\xce\xad\x9f\xf8}\xa3\x9fx\x05\xb0\ +/\x0f\xeb\x1co\x0e=10\x99\xaed\xdeL/\x0b\ +\x9b\xff\xee\xd5a\xdd\xfa%\xc6\x97\xf7\xb9\xbdUX\xa7\ +^\xae\x8d\xa3R\x00\x19\xff<7\xb6\xb7\x0b\x9b\xe7\xf9\ +\x83\xc2\xe6\xcf\xf9\x9fa+\xf5x\xfb\x98\xb0\xee\x9c\x02\ +\x98\xd2H\xc8\x8c\xaa\xc0\xab\xb4\x00\xa2\x8b\xc3\xd9\x1d\xa3\ +B\xe9\x84\xdfK\xbf\xa7\x02\xf7\xd4N*Uum%\ +\x95b\xe4\xbeZ\x00\x92\xd2-\x0c$\xfb^\x02\x9d\xd3\ +#\xc3\xda\xfa\xfb\xf5\xe9\xd7;F\x81\xf9\x8a\x81B\x14\ +,*\xb5\xe7\xfb\x9e\xde\x1a\xd62\xf6\x0b\x10D\x8b\xe2\ +\x96!\xab9\x7f\xfeG\xc3Z\x97\x8cg\xb6..\x7f\ +\xd6lo\xf3\x9e\xcd?o\xde\xd3\xce\x9b3\x9avS\ +\xee\x8f\x95\x89\xcds\xae\x18.1\xcbo\xb3\x8a\xe1\x01\ +X\x0f\xfc\xef\x03\xa7\x1ex}'V\xad\x0d0\x86]\ +2\xaf\xa6/\x86\xad\x00L\x93F}\xec\xca *-\ +\x16\xeb\xe3\xab\xe9\x0f\x9c\x93\xe7\xd7\x1b\x97\xf9\xb9\xbdR\ +\xd8\xfc\xf9\xdf\x0dk%d\x8d\x11@\xdc\xb2\xbaG\xe4\ +\xfe9\xef\xe9K@#\xd0\xd4\xa5\x09P\x90\x00D\x95\ +r\xfcBR\xfc\x7f+\x19<\xd9}C\xf7\xa9\xca\xa8\ +\xf3\xf3\x88\xf2\x12\xedLQ\xd8\xa2\xc8\x13\xf5\x0c\xd1\xc4\ +\xbb\xad\x00`\xb5\x1f\xfd\xe0\xd2\x1dA\xc0?] \xac\ +c\xfe\xd8\xbf\x88\x14\x0a\x90\xf8\xab\x00e@\x22\xa0S\ +@\xac4\x81?.\xf1\x96\xfeD\xcd/~M\x8a\x88\ +\xee\x9e\x1e\xd6\xads\x09\x12\x0c\x86L\x10T-=\xbf\ +\xde8\x0f\x9a*U\x1a)\xf3O\x9c0\xe7A\xf9q\ +c\x22\x92\xff\xc1?\xa2R/p\x15X\xbb/\x09\xcb\ +\xd4\x8a\xaa\x00\x15\xa3A\xe0\xce\xdf\xb4\x9f\xe9\xe2a\x9d\ +\xf2\x17\xc5#JW\xc7\xb6\x80\xa3\xff2v\x07\xf0\xef\ +\xfc:\x09*\xfe\xe0\xa8\x81\xa0\xe4\xd3\xe7z\x150;\ +\xd7\xbc\x9fx\x85\x9f\xe7}F dd0\xf8|\xef\ +\x0bPr\xbd\x12j\x02\xfdQ\xd4\xdc\xfd\x01\x84\x93Q\ +P%^\xe2$\xcf\x1b3\x8b?g\x1e\x03<|\x8e\ +\xe7\xe8z%\xde\x5c\xf7(\xca\xc8\x8f\xe4\x7f\xb9\xefL\ +|V\x97/\xe2\x93\xe2\xb4\x91\xb9a\x1c\x8d\x1f\x00\x83\ +\x1f]%\x00\x97n:\xe8\xeb\x85\xa1\xf4\x0b\x5c\xbc!\ +\xc7\xda\xc4\xf0\xef\x02W\x0b\x94#\x1e\xef\xf6\x8d\xceA\ +N\xaa\xa1\x80\xa6\xc4\xb7\xd4T\x9a\xa0\x16\x8c\x09\xd0S\ +&\xce\xd39\xb6\x16\xe2\xd8n\xcd\xf5\x8d\xd4\xeb\xb5?\ +\xec\xf2\xf7\x80\x06\x0bu\xcc\xdc\xab\x8dv\x1d\x90$\x0b\ +f\xc8p\xd6\x04\x12X@2\x89\xd5\xc9\xa8`\x1cx\ +\x1f\x99T\x80\x81@\x85\xc3\xe8>,\x14\xdf[04\ +\x04\xbe\x12\xd6\x1d\x10\xf9{\x9b\x9fN\xd5e\xe3\xf4\xf6\ +\xdc\xd0L\xac[e\xbb,bf?\x9b\x220(\xc2\ +W,\x06\xc0\x02 d\x86i\xbe\xc7\xe5`z~T\xca\xd5(g\xa0*p\ +SR`^m\x9f\x146\x7f\xff\xa7a\xeb}\xd5|\ +V\x9a\x93\xa2H\xd5\x8eFF\xc2\xab\xfe\xe9\x19\x80T\ +-|\xaaWW`,\x90\x05lx\xfe\xc4k\xb2T\ +\x083\xa1\xa9\xdf\xdf\xa2\x03>/\x93\xa2|7\xc8\xb6\ +\x5c/[\xc4\xde\x04\x80\xbb\xb3\x96\x00'$\x03C4\ +\xb0\xda\x80\x9e\xb59{sVjw\xfc\x9f\xf9\xf5\x89\ +a\x9d\xd8\xe1\xb77\xdf\x8aZ\xdcj\xbb\x06\x90\xe2\x88\ +Q\xa7\x07\x8c$\x05\x7f\xba\xc2lW\x5cK\x96\x1a\x05\ +{?\xc5\xc1\xe6y\xbf\x7f\xd5\xfd\xab\xed\xff\xfc\x22\xf6\ +\xb7\x7f\xd4\xea\xe0\x97\xf8\xe2\xc3\x92y`|\xf3y\xd5\ +\xba\x95\x11\xc9@\xad\x9eK\xaa\xaa\xef~q\xb6\x1b&\ +\xe0\xf2\xc7]@\xadf\x16PH\x93\x81c\x90\x01m\ +Q\x9a1\x84dv\x9f\xd9r\x9c+\x95\x1a\x83C\x9b\ +\xadG\x87\xa5\x9a\xfd}\xd3\xb1\xf9\xe2\xb9t=\x91\xa9\ +\xe3\xe0\x01t\xa2\x96\xfd\xd2\x87\x97\x10\x16U:\xe7I\ +\xcb\xa4\xdf.3\xc6w\xe9J\x1b\x9cC\xdag%5\ +~\xfe\xd9RC~\xc5\x80\xac;m\x09\xed\xcc\xacw\ +\xfb\x12`\x01\x13 \x03\xd9\xe8=\x11\xdd'Z\x9b\xbf\ +\x1fw\x94u\xe2`\x02\x88\x1c\xbf\x12\x1dD\x8d\x96\x89\ +\xcf\xeb\x9dN\x09[\x99*%2\xf9\x9c\xb0.\xb0N\ +\xf5n\x81\xfa\xde\x1f4[k\xf3\x89\xdfb\x8c\x11\x8f\ +K\xed\x04\x14`\x80\x81n\x01\xd5O^\xc9F2\x84\ +\x002\x05p\xd8\x87\x89\x88a>\x5c+\xac\x03j\xac\ +W\xdd\x12\x92\xf2Z\x22x)JU\xaa\xdc\xd6/F\ +\xc5\xf9\xb3\x04\x01s\xc2\xb9\xa7\xa6\x99\xe6\x07\x80u\x93\ +\x99\xf6\xeb\x84\xad\xb5\xf4\xb4\x84t3p\x9f\x05\x08\x9c\ +\xbe\xac\x9fVS~\xd6\x1aP\x17\x83M\x00\x17\xb0[\ +\x88->e\xb6\xa7v\xfbX\x9e\xdbJ@\x0aX\x7f\ +\xdd\xee\xd4\x16 ~)\x031\xfb\x9b\xf5\x96\xa2\xa3\xc5\ +\x04\xa1\x8e\x9f\xe7p\x89L>7l\xfe\xfd\x97n^\ +\xb6yY\x1b\xb7\xb6\xef\xef=iy\xdd^:le\ +\x8c\xec\xbd$K\xa98\xf0\xe7\x19\xba:\x090\x9c{\ +\xbaT\x9c\x1a\xb6j\x0al^\xb70\xbbv\xf7\x0c\xcb\ +\xb6~/h\x8c\x9c\xa61!\xa0\xd6\x05\x83&K\x05\ +P\x80D\x89\xb2l\x0bX\x09\x97d\x10\x0b\x80\x0bp\ +\x14p%@|\x98H,@\x0b\x90\x08\xa0\xfc\xf5\xb0\ +N,\xd0>\xc5\xdf\x16O`\xfeHp\xb8>%h\ +\x00j\x81\x1e\xff\xdc\xef\xa7\x86Hi;\xe49\x5c\xa5\ +p\xfc6%\x0048\x04\xe0\xfc\x13\x8c\x1c\x00P\x02\ + N[v\xc2\x00\x00 \x00IDAT\xc5X\x00\ +\x1c\xf1G\xc4I\xfc(\x81\xab\x84\x0d\x00\x00\xc0\x9bL\ +\xe5*\x91\xf3{\x00\x03\xf7\xc5\xbfs\xdd\x12k\x00\xa2\ +\x11\x00\x10h\x8e\x89X\xd7\xe5\xcb\xbc\xe3\xcf\x8a\xaf\x86\ +vv\x87% \x8d\x0f\xff\xd5~f\xfc.\xdb\xf5@\x5ce~G\xea\ +4\xa0e\xca\x89\xc6\xd1\xfaB2%\xfc\xfb\x9a\xe9^\ +6\x12%\x0a\xa7%5\x15\xd0sz\xce\x03\xed\x832\ +\x10\xd8\xbbcR\xd3tq@Q\xcb\x9aG\x8e\xf1\xe6\ +5a\x9d#d!h;\xa3Ot\x8a\x8fm>\x12\ +\xb6Ru\xab\xb6\xd6\x86\xff\xa1y;\xfdP\x87\xcc:\ +`\xcc\xc3q\x1e\xd8H\xcc+\xed\xb6\xb4\xd7\xbbBX\ +G\xd51\xcfm\xf4\x9e\x97\xf7\xb5 \x05\x98\x00\x22\xc8\ +\xa2\x83\x1ec\x85\xf6\x83\x80\xd5\xb8\x13W\xb1\xf0e\x9e\ +\x07\xd5\xeb\xc3\xbab\x8c\xc8\xf4Ojg8je\xd8\ +\x88mx\xees\xa0\x1e\x95V\x81L\xbf\x8d\xc8\xf8Z\ +\xf7\x0eJ5\xa42\xe1jM\x89\xe4Q\xd5\xb7~\x01\ +H\xa3X\xd0(\x16\xf8w\xcd*c'\x00\x10\x10\x14\ +c\xe56a\xdd\xfdC\xb0\xfb\x12\xa7MG\x9dtP\ +d\xa0Y\x1a\x19\x11\xf0=l\x0d0\x0a\xa8I\xf5\xf8\ +\xaay\xf4\xb99_\xeb}\xa8\xf9\xa2\xf2\xc9 *\x89\ +\xe1 %\xd5\x9fJ\xbe\xcc\xf5\xf6\x95a\x9d\x16\xc0\xbf\ +\x87\xad%/U\xeb\x88!\x91\xeb\xad\xc4*\xb5\x9dI\ +q\xba\x02\x1a\xde\x17\xd6\xed\xcb\xf6\xb9|\xee\xfa\xb1\xab\ +I\x16x\xf8\xbb\xcah\xc9\xa4\x0b\xf4d\x90_\xb00\ +s\x88\xb1MGMGO\xf3~\xbd\xf9\xaf\xb0\xb5]\ +\xd5\xee\x05a\x8d\x0a\xde\x02\xd5\xcd\x19\x9b\xafm\xbe\xd6\ +\xfa$7 \x03\xe5|s\xc7\xb0y<\x8e\x0dk\xeb\ +b\xb9_%\x122\x85_\xdf}\xa3Q\xc7e*\xaf\ +\xb2;\xa1\xd5`\xa7\x03\xb6\x7fVX\xb6\xed:\xa79\ +\xaa\xad\xf6?`\x80\x00\x02\xf6\xbf\x1d\xb6\x06\x5c\xdb7\ +\x86e\x06\xfa.m\x9d,\xe3\x84\xc1! \xc7\x90\xd0\ +\xe6*\xd5\xf0\x95\x8e\xc8\x107\x86\xc0\x93\xd3\x01\xfcP\ +\xb6\xb3zD\xb7\x0e\xb53L\xaa\xb7\x1a\xdaV\x02\xf4\ +\xe6\xd4\x10\xf8\x95\xee\x5c$\xd6\x99\xc0\x8eL[e\xba\ +1\x84\xa8\xf6g\x17\x8e\xc6\xc8\x09F\xc8\x83\xc3:-\ +\x0a\xe7U:\x9eJ\xd2J3 \xc5P\x0b\xe8\xb1\x9f\ +\x115$\xaev\xd7%\x00\x00\x18\xcc\xc1\xea\x22\xf2\xfa\ +\xa8\xac\xb5\xcf}\xbc\xd4\xd9o\xb6\xbbyP|\xcb\x01\ +W\xf3+\x13\xa6\xdf:\x00\xd9\xf9*c\x9a\xedb\xab\ +o}jfx\x9f\xdd/\x85u\x9a\x0a\xfc\x17\xc0D\ +\x02D\xf5s\xed\xc00w\xb2\xcdfe\x1c9\x94\x19\ + \xd0 \xb0\xff\xdb\xef\xe6\xc0\xb3\x89\xe4N\x97\x99.\ +;]vm'\xb8yw\xd8\xfc\xf3O\x84uT~\ +%7\xba\xa7\xc8\xb8\x12k\xc4\x90\xb8\xe9\xcf\xf5\x88\x83\x00\x0c\xfcO\xfe\ +\xc2(\xe2\xe7\xfe\x94\xccj\x83;\xc6c>\xd7x\x09\ +\xf0\x01\x11\x83&L%H1!\xb9\xbdI\xd8\xfc\xfd)akFY\ +iL1 \xae\xb2\x9c\xfbs\x98\xbf\x00-o\xdc\xfb\ +\xeb(5A\xd1\xb6\x8f\x14\x10\xa5[@\x02]\xf5|\ +\x5c\xb7\xd2\x92\x14\xdb-\xff\xc3\xba}hX\x97\x01N\ +G\xbb\xc4\xe9P\xa2s\x1dWw\x17L\x9bl\xa7\xd8\ +\xba\x10,\xb5\xdc\x8d\x92\xee>7\x07\xc3\x9a\xb8\xda\xd2\ +F\xf4?\xc3\xba6\x85\xb9?oo\x1e\xb6\xce\xd79\ +\xe8=\xa1e\xca\x9c+D`\xdf\xdfl\x15\x9b\xbb_\ +\xd8Z\x1a!\xd0&\x96\xb7\xb9T\xd8|,\xbd\xe3\xc0\ +\xdb\x0f\xbc\xa3\xf3K\x7f\xb3\x91\xe0#\x93\xf6\xa5\xd6v\ +1\xe7\xcd\xf4\xbd\xb0U\xcb\xa3\x18\x00\xcf\x0c\xeb\xe6\x9d\ +\xf6x\x98\x12\xa91\x03\xf0+\xed\x88\xcc\xfc\xf1\xb3\xcc\ +\xffz\x1e\xf6g\xe7\xa3sw\xa4P;\xd7\xa3`\xe6\ +j\x1d\xa3\x22\x98E\xc1\xe0\xba\x7f\xd8\xfc\xef/Z\xda\ +\x1a\xd6\xfc$\x8aj\xdf\xca\xf3\xbf\xfc\x5c\xa5c2\xf5\ +D(\x9dG\x18\x18D\xec\xf8\xc5\xfc\x94\xdc\x1f6\xff\ +-l]\x0f\x98\x97\xa5i\x82\xb1\x97%\x1fJ\xe7j\ +\xbfs\x9e\x0f5\xe2\x15p:\x17\x05\xdc\x18<\x18\x01\ +4\x04\x04h\xb4\x06\x9c\xefD\xf70$\x04\x8c\xb4\x81\ +\x00\x82\xfc9\xdd6\x94\xa4*]p.\xcb\xd0\xf3\xbb\ +\x89\x02\xabi'\xca\x98\xf3\xb5\xae\x83\xbf\xce?\xe5\x1f\ +\xf0\xeb$b\xec\x7f\xf6{\xfe\x9e\xf1\xe0'y\x1f\x01\ +\xee\xa8U \xde\xf1\xdc\xbc\xd2\xfa\xd05\x81\x7f$n\ +\xe0/\xf0\x0biX\xf9\xbcQ\xccO\x9c\x90\x09\xa3\xba\ +\xfe1\x9e\x1c\x13\xcd\x12P\x00\x9e\xa1+\xcea\x80\x01\ +\xff\xc5\xf5\x02H0\x11\xbc\x02&\x04\xee\x12\x8d\xc6\x13\ +\xb0\xc6\xdf\x1d\x99\xbe\xa3V\x00 IW\x0a\x09]\xcc\ +K\x9f\x03(\x95`\xe1\xef\x9b\xd7\xde\xd7>\xf4\xc3C\ +\xe3\xb2\xc3J\x8e\x01\x82\xe9\xcf\x8c\xcc\x84\x835aF\ +*\xc1\xd8\xd6\x80z\x7fL\xd3\x1fu\xc8\x06\xa4\x82\xd8\ +\x15\xc70\xde\xe5\x07\xb9\x01\xdc\xb4\x0bHd\xb4d\xf2\ +d\xa0\xc7\xeb\xe8\xa9\x1f?\xee\xc4\x06\x7fR_\xf5q\ +b\x0d\xe2z\x951\x1c\xfb\xab\x8f\x99\xd0\xb1K\x80\xc0\ +\xcb\x04\x00dx@\xc6\xc9\xdf\x99x\xaeo\x0c\xa4-\ +\xd4\xa1\x9fq\x1dP2\xdf(\x95~\x0f\xf5\xdb\xc4\xb3\ +\xf1\xd9\xd8<7\x14\x11\x0b\xde\x81\xa0\xc4\xc0DJ\x11\ +\xb0\x12\xf5\xa3\x09p\xc5\xa4\x16\x1f\x97\x9f\xb7\x22K\xcb\ +\x84\xda\xe6\xb8\x19\xd7\xef\xe5}Z\x98\x80\x8ec\x13\xd0\ +\x11\xc8\x0b@o\x99\x1b\xe5\xe5\xf3\x00\xf0s\x01\xb3\x05\ +\x06a\x13\xc0\xdf3)dwI\xaa\xbeyI\xac\x85\ +\x18[f\x0aK\xec&_\x0b\x89M1\x97\xca\x08\x99\ +O_\x9b\x97\xef\xd7:\x00\xc5\x02s=\x9fM\x91\xa0\ +w\xa6\xa3\xa0\xf6\xdaAk\x83\x06\xec\x18\x1f\x1b+\xa6\ +@RA\xeb\xefez\xcd\x135\x9eY\xc3U\xd71\ +f\xccm\x04\xe6\xb3\xf1B\x0dG\xe5\x97y6\xce\xe6\ +\x81\x8d\xddF\xe19\x8f\x01\xb0\x83\xc2Ae\xfe\x8e\x22\ +D\x0e\x06\xcfq,\x092\xcf\xd2AT\x83X@\x0c\ +\xa4ul\xebb\xbe\x03\xb4\xac\x0b\xa5$\x18.\x18&\ +\xae\xd3\xf5[\xaf\x80<\x0e \x11\xd0\xdf\x09\xeb~\xdf\ +:\xf2e?A\x95\xcdZ\xc2R\x91\x8d\x9a\xd2{u\ +\x9f\x83\xc2\x0d\xd1\xd6\xc6I_r\x81\x1ajd\x1e\x00\ +\xbb+\x87u\x99\xe1\xcc\xacT\x0d\xa6\xfd+\xfbwW\ +?\xe7\xcc\xb8U-\xfaYak\xa6\x7f\xfb\x8e\xb0n\ +\x1eX\xf7\x9e\xbb\xfd\xc0~\x88\xba\x09\x08\x13\xd0\xa3\x98\ +fF\xae\xc461q\x1cT2\x83\x19P\x9f\xf3\xf5\ +\xb0\xd5\xb1\xad\x12\x97\x0c\x0c6G\x87\xad\xb5m\xc4\x8d\ +\xb4\x0f\xdb\xfe[\xd8*\x06\xa7\xa6t\xf3\xae\xb0u\xbd\ +\xce\x01\xf7l\xf3\xef?7l~\xfd\x8f\xed'\xb7\x9f\ +\xecD\x1e1=\xbe\xbd\x04J\xfbG\xed\x1f\x1dT\xfd\ +\x02r\x88\x22\xa6\xd6Fc\x16\xdcd\x05p\xa6\xfd\xb0\ +\xf9\xf5\xcea\xf3\xeb\xd5\xa6\xabOW\xef\xd4\xac\xd3\xf1\ +\xdd\xdeb{\xe2v^\xd7\xdb_\x98\xed\xfaMt\xee\ +\x9e\x919\xc5\xac\xc0\x00+\xaa\xb6\xfd\x83cj\x1e\xa9\ +EL11Z!\x9b\xd3\xc2:J\xa5Lx\xc0\x86\ +\x7f\xb60\x83Z\xe6\x0b\x15\x17\xe5;\xde\xf5\xe2-\xf3\ +\xb1\x00M7\x9d\xef\xf0\xa6\x99!~L\x02WWY\ +3_\xd3\xc1\xb0\x06\x90\x5c\xa1\x01$Y\x8b\x8dr\xbd\ +}\xe9l/\xe9\xf6\xdf\xbc\xaf\xed_\x87\xadm\xec\xa6\ +\xe7\x84\xcd?\x7f\xea\xf6i\xdb\xa75\xea\xf7\xe20\xe6\ +>'\x00-@ \xdb\xe9\xaaE/\xd5q\x8e\xae\xfd\ +5\xef\xab\x80+\x01\x05\x87^f%\xf7\x1d\xcc\x12\x8e\ +\xf8\xe6WS4\xf5\xb8\xe5\x1c\x9d\xde\x1b\xb6\xfa%\xa1\ +\xc5\x1e\x14\xf1\x12\xb3\xd3>\x0c\xa0\x9a\x80\x03@z\xfb\ +\xbc\xb0n\xdd\xcb \xb9/\x14|\xeb\xce\xfa\xcd\xf1V\ +\xbb\xafM\xe5t\xad\xe9\x9a\xd35\xd7\xf6w\xda/R\ +\xff\x9f~gz\xd0\xf4\xa0.p#\x8e\xa8t\xc5\xf5\ +F\xd7\xf1ou\x81\x1b\x87Q\x80\x92b\x7f\x15\x80\xdf\ +1\xac;\x7f\xac\x7f@,?\xc7y\xf7;\xcd*@\ +\xaan\x0e{\x0d\x97X\xba\x80\xfcv\xd7\xce\x8a\xb8h\ +\xb4C}Q2!n\xd91\x19N_\xba,\x14 \ +'\x93}\xf5\x04j\xb5\x95\xcc\x00\xca\xfe\x8bI\xb1}\ +F\xd8\xfc\xfd\x1d\xa6\xdbOwX3\xfd\xdb\xfb\x86u\ +\x22\x9b\x01\x8b\xfeB\x03\x0e\xef\xdd\xd6'*?Q\xca\ +\x04|6/Z\xaes\x0e\xbb?\x1e\x81\xf7\xf6\xb6\xf3\ +>\x16Z+w\x0ek\xc0\xdaK\x03X\xab@>\x9f\ +\xc7\xe6%a\xdds\xcb\xf6\xa2\xfb\x9f\x0d[\x9f\xc7\xee\ +\xa2a\xdd\xbe\x97@\xd7\x81O\x87u\xfe\x8f\x8c:\x7f\ +[\xa6\x5c \xe1\xdc\xd5\x15\x07\x03\xc8\xf3L\x80\xbc\x02\ +m\xcc\xab\x0c\x841Ji7\x94(-\xbf\x0e\x85\x1f\ +\xb0h\x1e\x8d}\xeei2\xe4:\xaa\x8c\xb9\xf3\x84\xbf\ +\xce\x7f\xb6\x9ed\xf8\xf9\xbb\xb9\xbf\xcb\x84\xd7\xfba\xe4\ +\xd0b2>\xba#\xc9\xf4\x8emR1\x123!P\ +\xfb-\xbfK`,\xf0&\x8a8\x96\x18\xd8O\xf9?\ +\x02O~\x11\x86\xeec\xc3V\xd1C\x80X\xb5\xc5u\ +^\x02\x02\xdc\xbf\xf1\xe1\x8fYg\x18D\x98\x03\x12%\ +\x99p\xa8s\x1bp\x93\x0c9\x00]\xdd'\xd1\x5c\xe3\ +\xc0O\xe3\xf7\x8c\x00\xc0\x18\x97\xf1g\xc5K4\x12\x8c\ +\xc7(\xfe\xed\xfd\xbc\xff\x18\xb0J(f\xdb\xf7\x0a\xfc\ +=7\x81\xb5q\x19\xdb\xe9\xf9\xb9\xcf\x97\xf8Qb4\ +2U%*\xc6\xdf\xa7\xb1\x00 \xf0\xef\x09\xc4W\xc2\ +\x13\xd0\xebs\xc7.o\xba:`\x12\x8c\x00\x02?\x94\ +\xbf;\xb67\x14?\xf1\x030\x8d\xc4y\xe2\x13~\x83\ +q\x14\x0f\xf8\xb9R\xe8dR\x15@6\x94^\x1c<\ +D\xb4\xeckyC\xe7\x1d2\xe2?>\x97\x1a\x83\xbe\ +-\xdfw\xba>\xab\xda\x89\xc52\xb8p\x17@\x998\ +\x9fhU\xe1\xd5\xc6\xa5e\xc6n\xd8\x89\xae\xc4t\xec\ +\x03\x08\xaf\x06Hi\x82\x80\xc3\x00\x8cT\x11\x0b\xd2\xc4\ +\xb7\xe1\xc4_\x1d\xd1M\xc41\x13\xae\xfb@R%\x0e\ +k\xb3' 0\x11\x0d\xbc\x00\xc2\xfb\x8e\xda\x04\x16\xa8\ +\x9ar\x1b\x1f\xc7\x05%\x0c#@\xc0\xe6\xba\xdd\x97\x09\ +\xa6\xd6(\xafgsBX7q\x86\xcf-j\xba\x8c\ +\xa7\x89k|\x05N9^jD\x8a\xba}\xe6\xd0\x0f\ +se,,\xf3d\xd4\x8a\xb8@^7f\x87\xbf[\ +\xb5\x1d\x0e\xd5\x940\xf1!\x87\x80\x10\x01\xc5%\xb3/\ +\xb7\xfb\x82\xe0\xe6\x010\x1fk\x8dzlTi\x1d\xdb\xcd\ +\x10\xdf!\xd2w\xb7\xb0\x8e2\x9d\x01}\xd5\xd2\xdb\xe7\ +\x00,J\x03N\x08\xeb2\x082o\xff_X\xb7\xbe\ +Q\xc2\xf4+\xfen\x93=[\x196\x80\x90'5\x8b\ +\x00\xee\xa6-\x80#\xd2\x96\x8e\xc1\xf4\x91\xb0y\x19\xfe\ +eX\xf6\xd9\x8e\x00\xef+a]\x09\x82\x83@\xc6c\ +\x10\xcf\xa9\xb6\x8e\xc9\x98j\x94\xf3\xdf\xefD\xde\x8c\xe7\ +\x7f\x86u\x0c\x96\xbf\x09\x9b\xb7\xab7\x87\xad\x0e\xed\xf4\ +\x92\xb0\xae\xe4\x09\xf0\x92\x0e}1]\x00XG\x86\xad\ +\x0e\x96@T\xfb;\xda\x0a\xdb;\x84\xad\x14\xff&\xe6\ +\xbf\xbfv-\xa9\x0c\xc5y\xb2$\xe9\x22\xbb\x0b\xef.\ +\xdc(\xfc\x8b8Z\x060\x07\xee\x1a\xd6\x95\x16\xa4C\ +\xb2\xff\xc4\xfd'\xed?q~}\xed\xfek\xf6\x83\x8a\ +\xfc\x0fa\x0d\x88h\x19\xdb\xbd\xc7.\x81V\xf3\xff\xe7\ +yw\xe0\xb2a\xf3\xeb\x95\x0f\x9cp\xe0*\xe9X_\ +yU\xb9W\xe2\xb1;r\xb6\xf3\x95p\xcf:\x9f\x01\ +\xe5\x02H\x81\xdc\xbd\x9a\xad\xe7\x04\x8d\x08\xfd\xb2Cz\ +\xed;KF\xaf\x9d\xa3\xf6q\x9a\x09A\xb5\xbfS\xab\ +A?e\xef\x94\xae\xe4#\xa9\xfa\xd3wg\x9b\xff~\ +{\xe7\xd9\xee2\x7f\xff\xf1\xb0U\xcd\xbe\xae\xcf\xe7\xa6\ +\xe6L\xab\xd9\xbdk'\xa2\x95L\x9f\xd6\x0e1\xfa\xb8\ +\xbf{\xe9\xe2P\xe7R\x9e?Jd\x88\x90\x95&@\ +\xce+\xd4\xe36\x0f?\x90\xa2h\x7f\xd2\x95\xb4\xec\x16\ +5\xf5Z\x17\x18\x85\x1cr\x0e\x93\xbe\xd9\xe9@\xd3\xc0\ +\xd8\xbbS\xd6jg[7]\x18\xa6\xb7\x85\xcd??\ +oX\xb7^r\xddU\xe0\xff\xe6\xb0n\xfde\xc0Z\ +\xfb4\x80\x15\xf0\x9b\xc0a\x05^\x9ecR\xaf}\xee\ +t\x9e\xb0\x5co\x8fL\x0a\xf4\x1fu@Av\x83\xd8\ +\xbdx\xc9`Ww\x085\xd5\xda\x04*\xadp\xffD\ +\xd2h0\xe9\xbe\x83\xf1\x02\x08\xcb\xfb\xab\xf6\xbc\xba\x0b\ +9\x17i*\xa0\xa2\x03&%J\xee\xddl-U\xc1\ +\xa0H@\xa8\x00P\xc0/\xbf!f\xfb[\x1a\x03\xa9\ +Qa\xab\xb4\x80\xd8a\xb6\x03,\x8d\x07\x99g\xc0\x03\ +\xc0 E\xff\xb4\xf5\x0c\xe2\x7fP\xff\xa7\x9f\x0dk\xfb\ +y\x13\xc9\xdc\xfc\xd9\x22\x22<\xefB\x8d98\x9f\xe2\ +\x0b3MW\x9c\x04\xa26\xbf\x176\xbf~as\xbd\ +\xd0z\xe9\xda~\xbeb\xfb\x8a\xa6-q\xf2\xee\xe4\xb6\ +o/\xaa\xfbD!S}\xbe\xc4Y\xf3y``\xe9\ +jR\x8c\x9f\x04\x5c\xec\xf7\xd3\xfb\xc3V\x00\x88\x1f2\ +\xff\xeb\x02\x9c_\xde\xc7\ +\xf9\x02\x08\x13\x18\xe9:%Q\xc6\xff\x1cD\xf06\xb7\ +\x0e\xeb\xe6\xa7\xd29\xe2\xa12\xea\x02E]j\xf8;\ +2\xf3c@\xcd\x9f\xe1O\x0d\xa5\x9eU\xaak\x1f\xc9\ +\x92\x881s\x5c\x22\x85\xe2\x22\xa5\x8a\xba\xf1diS\ +\xf9\xb1\x12@\x18\x89J\x83\x01\x0c\x18F\xc6\xc3\xf3\xa4\ +\xf1e\xbe\x8cm\xd2\xf9K\xae\x0fsJ)\xc21a\ +]\xe0/\xf0\x1c\xbbP\x8d\xfe\xfd\xa8\xfd4&^\xc5\ +\x0f>\x97\xbf+\xfe\x19\x03U\xef7\x96\xd6\x1a?\xbf\ +\xe7\xba\x00\xaa\xfcI\x9f?v\x87\xc2\xf0S2\xca\xdf\ +\x02\xac\xf8\xbb\x911\xcb\x0f\xf4\xea~\xfc\xde9\x87\x8a\ +\xbe\x17\x93U<% \xa7\x89A\xf3\x0ds\xc3\xf3\x94\ +@\x01\xdc\xdb\xbf\x00\x04\xa3\x9f\xedz18\xf9\xcf\x00\ +p\xc0\xca\xc84\xf0s\xcf\xcbs\x1a\xfd\xdc<'\x0f\ +\xb6@\xf7\xf3Iu\xba\xe4\xb9\xbc\xd1\x88\xe0\xfc\xa8\x91\ +\xc1\xd7\x07\xebA\x0b\x07\xe3\xbb\xa3\xbb\x80\xce\x07\xba1\ +\x99\x88\xcc\xec\xd7\x80FF\xf4\x16\xdd\x0d\x0e\x81Y\xa9\ +\xe1\x07\x02s\xdc\x0a\xee>\xb3\xfb\xf4\xee\xd3\xdd\x83\ +S{(\x90\xbb\xfc \x227v9\x18)\xdaC-\ +s\x89V\xc8\x90B\xc8dDmt\xbe\x1f_\x05\x92\ +6p\xb5\xe8\x1c\xa8\x8b\xe7u\xe4A\xb8\xc1$\x00\x5c\ +\xb8^\x07\x81\xf1:o\x02\x09#\xa5\xdc\x84\x13\xb8\x8d\ +52~o\x04\x96\xbe{(\x02\xba\xfb\x83\xb0n!\ +\x02\x00\x04\xe8\x0f\xc9\x00\x1fu>U}\xf7N\xcdZ\ +;\xf3\xc3\xfdC\x8c\xaf\x96\xcc\x93\x9fK\x118\x81\x16\ +\xf1;\x19\x155\xf7I\x15\xac\xfb\xca\x85\xbd{K\x22\ +\xf0S\xd5\xdc,\x0b\xcf\xfcW\x13~\xbb\xac\xd9w\xfd\ +\x1c}\x81\xbf\xe7\x01Q\x971\x92\x09\x16\xb8\x12\xd7\x12\ +\x809H\xc6\xf9\x0e \xb0\x01\x18g\x1b\xbdy\xed~\ +\x1c8\xe6\xbd\x0d\xc7\x86h\xde[\xcf6^\xaf6\x22\ +\x01\xba\x0d\xde\xba\xf4\x0a\x081\x0e\x10w\x07lRx\ +\x8b\xca9R\xcf\xf4q\xd5\x15\xc1zu@\x10\xe3\x13\ +\xa0\xa3Rj\xfbw\xfff\xeb\xf8\x0c\xb5\xc2\xa5\xc5\xe0\ +y\x13\x0d\xcc\x00\xd8<*\x0a2\xed\x87\x7f\x0d\xeb\x02\ +%\xfb&\x91,}\xdc\xf3\x00G\xdd\xad\x92\x17\xcfO\ +;\xbf\x1fm~\xb8\xf9Q\x0bx\x9e\xde\xa8\xb8\xc4b\ +R\xe5]\x86\xa1\x98\x14\x99\xe9*\xa0\x82\xb8S~.\ +\x91\xaa\xed\x0b\xc3:-\x80g\xee=\xa39z\x00\x98\ +l\x93V\x8c\x0d\xb5\x99O\x08\xeb\xf6=\xed\xc42\x80\ +\xd3\x16o\xff!ak\xe6wzu\xd8\xfc\xb9o\x09\ +\x9b\xbf\xff\xefak\x8d\xf1\xf6Zak\xa6\x7f{\xd1\ +\xb0\xb5K@9\xaaD:s?\xdc|.\xac{\xee\ +\x99\x01\x9b>\x14\xb6\xb6\xb1\xdc|j\xf3\xc9\xcd'\xb3\ +]\xd8Ow\xfbV\xce\x7f5\xb7\xa5Z\x9f\x94\xf4\xa2\ +f\x1f\x156\xdf\xd7-\xc3\xe6\xef\x7f\x14\xd6\xc4\x83Z\ +\x80\xbe\xbdO\xd8\x1c\xf0\xbf/l~\xbd\xd9\x81\x9b\x1f\ +\x98\x9f\xc7\xf6\x01\xdb\xfbo\x1f\x90\x0c\xb7\x9f\xef\x02\xda\ +3\xe7\xf7?\xb3\x9b\xf7\xd6\xcf\xb1\x8b\xf6\xce\xe6:\x9b\ +\xeb\xb6\xcc\xde\x13wOh\xe2\x85\xd9\xa6\xb1\xf6\xf1\x1e\ +0\x88\xfbyj\xb3\xea?]\xf7\xc7\x11{y\xb3X\ +\xb7\x9fm\x99,\xdd$\x92y\xb1\xf7\xb4T1\xcf\xf5\ +>])\xac9\xf0\xf7\x09\x07\x9e\x83[\x0c\x8et\xa0\ +\xa7'\x85e\x80\xf3KyY\x9b\xe5\xbc\x9e.\xb4\x02\ ++\xdb\x03a]\x863\x81e\x01QQ\xa6#0\xfd\ +xR\xc2c\x7f\xbb\xc6l\xd7\x5c\x99\x86E\x81\xce\xcc\ +j+A\xbc\xe4\xfa9T\xd3\x0b\x10\xa1ZNSA\ +\x1b%\xcc9\x9a \xc4\x14e\xc6\xb4MLFN9\ +R\xf63\x0e\xf8w\x16\x07\x92\xb6NQ\x97ex\xd2\ +\xb1\xab\xfe\xf1\x00\x93d+K\x86N^\xbb\ +.lO\xde>d\xfb\x90\x15\xf8\x9b\xf7\xe6\xa5F\x5c\ +\xdb\xbb,\xb9\xc1\xac\x9c^1\xbd|zEw.\x1d\ +\xbf\x00\xd4\xbb\x1b,\x00Tug\xc0\x00C\x05\xe6\x8f\ +\x5c\x22\x81\xe5_\x5c4\x93\x88\xbb\xee\xfe8\xac;?\ +P\xcdS\x05\xbfJ\x90\xf8gDA\x9dg~\xee\xfc\ +\xe5\xd7\x0b0\x9d\xc7\x02\xc9\x0b\x86u\xa2\x90\xcei\x00\ +\xd9)\x090\xf27\x00\xf4\x02\x5c\x81\x19\x00Z\xe0f\ +>*Q\xd1\x9dG\xcd\xb2\xd2N]\x93\x00\xe17X\ +\xba\x1c\x94\xb6\x88\x80\x9d\x9fp\xd7\xb0n?\xe4\xbf8\ +\x871_1K\xf8\xa9g\xb6TR\xfc\xfe\xe9\xed\xf7\ +\xd5\xdek\xd7\xe6~\x00\xb5\x00\x18\xdd\x9bn\x1e\xb6\xae\ +\x7f\xfbt\xf9w\xb4@\xf8\xc1\x80\x12\x09\x0f\xeb\xcc\xf5\ +\xa2\xa6[\xe7\xb4\xc8$b\x92\xe1Z\xcf\x83\xb8e\xd6\ +\xba\x97\x88!\x06\xa0\xaf\xb1\xa4\xc0~\xc7\xdf\xb6\xef\x8d\ +\x09\xd3\xf1\x95\x9f\xef\xf7\xc6D\x93\xf90\xc6\x8d~\x9f\ +\x7f9\x02\x01\x122\x00\x97,u*\x80\x05 \x99\x80\ +]\x01H\xfcP\x818?w(\x09\xd8}/\xac\xdb\ +\xd7G\x11D\x89A\x09\x1e\xed_\x8d3\x7fV\xbc\xe6\ +\xf3\x01\x0f\x9e\x97\xebq?\xc3|\xa9\xf8X)Z2\ +\xd86\xef\x09\xeb\xc6K\xa2od\xea\x8f%\x99\xee\xd3\ +s\xe5\xc7\xfb\x9cd$\x1cl\x97\x19\x07\xdf\x1c\xbe6\ +J,\xb18\xb5\xff}\x1f\xc8\x83]\xc0\xbc\xcb\x0e\xe9\ +\xc9\x18h\x99\x025\x0b\xd7\xe8\xda\xf6\xb9P\x14%\x0e\ +JL\xab)\x07\xa4\xef\xef\xe8\x02\x01\x01n\x5c\x8d\xbf\ +\x1a\x91x,\x17\xec\xd4\xce\xd5\x16\x0b\x08\xc6~\x88j\ +\x14\xb5-4a\x05\xe0\x02]\x01\x12\xc4\x07\xf5\x11\xb3\ +\xc1\xfd\x0b\x84\xdd\x97\x071\xaaI\xca\x9c\x1f\x99\xf7A\ +\xec*\x11\xb9r\xc4}\x09L\x04\xae2s\xde\xdf\xc1\ +\x90\xa5\x13\xd5\xb6Pf_\xa0\x9e\x1b\xf8\xe6\x02\xe9\xe8\ +\xa1\x928(\xd4\xa2)\xc9\xc8Z\xb79\xa8^2\x09\ +7M\xca5\xa6\xc2@\xc1\xae\xcc/\xc7\x94ce\x1c\ +-\x18\x19\x02\x80\x82\xeb[\xa9\xe1\xcbs\xfaN\xa9v\ +.\x1b\xdf\xdf/\x07\xfa|\xf0-\xd7+\xf0MG\xa8\ +\x02\xb0\x14\xa3\x91\xd9\xa9v/\x02}5m\xe6\xb1\xb6\ +nj\xf1\xb5\xcb!z\x94\xb5l2\x9dU\xc3\xf6\x9d\ +\xa1$\xc6F\xb67\xd4\xdc|.\xe7\x95@Z\xe0\x02\ +\xb8\xc9\x1a\xeb\xda\xf0 \xe8(:\xfeN)\x80\xf9i\ +\xbez\xb5q[7C?\xd7\xda(S\xbc\xeb0F\ +\x8d\xfb\x10\xd09\xf8\x00/I\x0d-\x06\x84\x8d\xcb8\ +\xca`Y\x9f6<\x88\xba/\x81;`\xe2;\xb5\x1e\ +\x96\x8d;\xa9\xaf\x00\x0e\xb5\xd0\xd5\x15@@\x0d\xe0\xd2\ +\xce\x09\x03CM\xa9\x8d\x17\xc5\x1f\xa5\xcb8igG\ +}=)~\xa8\xe6E\x0d\xce\xb6k\xd5\x97;\x9f\x7f\ +Q\xe9R\x0c\xac\xe6\x9d\xb6s\x0e\x10\x22I7_\x1c\ +\x92B|\xb3\x06\xb6\xee_\xcd\xb2u\xe39\xa0\xd4z\ +>\xfa\x12C\xec\xed\x8b\x1cg\xcc\x81\xcb\xa6j~R\ +b\x05NE\x09\xce\x12\x80\xe9/\xc2Z;\xb3Wm\ +^\xd5\xc6\xe5\x96m\x5c\x82B\xff\xac\x8e\x99\xa2]k\ +:\x86\xb3;|\xb9\xa6\xd6\xae+A\xce\xdb\xe9\xc9a\ +\xf3\xeb7\xc2\xe6\xd7S\xc3\xe6e\xfd\x8e\xb0\xd5\xef\xaa\ +LT\x22\xe7\x18K\xda\xee\x1d\xb8FXG\xb9L\x87\ +\xdb\xbc\xda\xde)lu\xd4*\xa3\x98\x99\xe5\xe9\x82a\ +\xdd\xf3xq\xae3\x19\xef\x0f-\xe3\xd4(\xbf\xf7^\ +\x03\xc6\xea\xbf\x8d\x02}\xe1\xa5&y\xff-\xfb\xff\xb4\ +??\xc7\xfd\xd3\xf7O\xdb\x9f\x0f\xe8\xfd\x9b\x84\xad\x01\ +\xcd\xf6Ka\xf3\xeb\xa5\xc2\xe6\xeb\x7f\xf9\x81W\x1c\x98\ +\x1d\xfc\xed\xff\xdb\xbek\xfb\xae6\xee\xafn\xe3\xfe\xbd\ +\xa4\x9e>gv\xc0\x9e\xd31B\xac\x07\x07\xb4\xfd\xf8\ +qY\x1a\xf1\xa9\xcd\xa77\x9f\xca\xf3\xe2\x98N\xa5\xff\ +\xc9M?\x1c\xef\xaa\xa8\xd3\xcd\xdd\xfb\x8d|\xdfc\xbb\ +\x0c4\xa0MI\x94~\xd6?^jjw\xbf[*\ +\xd1m^\xcda\xd2\xb3\x22P\xda<\x22l~\xfd\xcb\ +\xd9^\xdde\x94\x01}D\xcd\x88y\x05\xe18\xfa\xb5\ +\x9f>-\xa2\xaf\xda\xec\xd1\x00xh\xd8\x1a(\xa3\xf2\ +N\xff1\xdb'Wu\xfd\xe9]a\xebs\xdd\xfe^\ +\xd8\xfc~g\x86\xcd\xaf\xef\x0d\xeb\xee\x87\x03\xf9\x9c\xbd\ +g\xef=\xbb\x13\x0dL\xc6\x05Q\xbbR\xb3\x07\xe8\x1d\ +\x17\xd6\xad\xbb\xdc\x9f\x01T\xed\xdd\x9e\xdd1\xf48\x82\ +2\xea\x09\xac`\x0al~9lu\xfc\xfd\x9e\xc0_\ +\x9b\xca\x12\xb7\xc2\xe4{m\x8a\xfd\x05C\xe6\xa5YS\ +\xfc\xb0\xd5Q/1\xcdk\x86u\xdd\x08\xd4\xf4?\xbc\ +\xd9\xde\xee\xc4\xb0.\xb0#\xbe6\xa8yW\x22!\xf7\ +\x8d\xcd_\x85u\xfbx\x02\xa2\xd3c\xc3\xba\xee\x03j\ +\xa29\xb4DP\xdf\xd4:\xc7\xaf\x01t\x06\xf0%\xa2\ +\x08\xf0\xa1Q\x90\x81}\x018\x09|W \x9f\xedW\ +\xabd\xea\xb9{\xcf\xdb{\xde\xba\x9e\x89\x5c\x96h\x96\ +qRB\x90\xe2\x9f\xdb\x9b\x85\xcd\xf7q\x9f\xb0\xc68\ +i\x9a\x02\xbb\x8f\xe6\xfd\xe798=q\x01\xb2\x88l\ +\x05\xad\xa4\xedW\xce\x87\x8b%E\x1f\xa0\xf2\xa4d\xf0\ +$CA\x9b\xda\xd9\xfbm\x81\xf1\x81\x97\x86\xad\xdd\x14\ +\x04\xe8\xd3\xe7\xa6\xcfO\x9fk%\x8cM\x14\xb4\xc4^\ +\xb3\xeb\x12M\x83*\xa10^\xee3\x19+\xa5.O\ +\x94\x92_\xc5\x9f\x10\xf8\xff~\xd8\xcal)1=\xa2\ +\xaf2\x8b\xce\xe7\x04f\xaa{M2\xadJ\xd4\xd19\ +C\xa5_\xc0\x91ZE\x05\xe8\xf0\xbb%\x96\xeco\xfc\ +\x1e\x81\xb4@\xd7\xf9,\xb0\x19U\xe6%\xd4F\x8d\xa9\ +\x04\xce\xeb\x5c&B\x09hwn\x19g\xa5\x0b\xcei\ +\xfb\xa2\xcf\xc7\x1c\x120\xfe\xcb\xfc\xff\x7fi\xfe\xcc\xb7\ +\x9a?#\xd1\xa7\xcb\x11\x119\xf7\x03\xd0\xc0XS\x9a\ +A\xf3\xc3\xfd\x8e]\xbf\xf8\x8d\x00\x00\xef\x831\xa1\xd4\ +\xda\xbe\xe3\xfa\x004\x18\x8e\xb9\x8fT[F\xe2\x87y\ +\x9f%\xee+N\xe0W\x8e\xa5\x9fc7\x80\x91\xf2o\ +\x9e\x09\xa0K\x14<\x03Z\xf1\x0f\x00\xc0\xfd\x89\xab|\ +o\xfc=O\xfe\xa3\xeb\x18\xfa\xdb\x97V\x0cf\xa5\xe7\ +\xe0}\xf8\x7f\xa8\xf6\xe2H\xc0\x09\xe0F)\x94yz\ +\xb8?\x7fh\xf7\x03\x1aI\xc7\x86\xadZ6\xc5`\xf1\ +>\xe2Bq\xdf\xf0\xf9\xe5\x8f*\x85\xe2\x07J\xf0\xea\ +\x02\xe4y\x11\xe1\x95 \xe2'\xba^\x09;\xe3..\ +\x00\xb8aB\x98Wc|\x9d\x7fw\xb0\x85[\x9f\xe9\ +2\xf2Y3\xd0\x02\xcb+v\xb5\xfcS\xd3\x81?T\ +M\xff\xa8\x81Z\x7f\xbe.\x00\xf0\x00u\x150PK\ +\xc8thFc/'\x14\x95\xc8/\xe6\xfb_\xa0\xcb\ +x\x8cT!\x81\x92\x00s\x18\xd0\xbaa\x07\xb7\x0c\xbb\ +>\xec\xd9~\xa72\x89&\xba\xbf\xb7PQ)e\x5c\ +\x89\x8e\xb9?\x0e\x04\x8a\xa3\x80\xd9\xf7\x0eV\x0b\xce\xc2\ +\xb7@l@\xfaz\x9aX6*\x01[\x1e\xf4%v\ +\xe6\xc0u]\x0eT\xe3\x94\x81B\xf5\xb3\xbcm\xaa\xa6\ +\xda\x90\x8d#\x86\x05\xca\xdb\x08\xa4`\x06\x8c\xed. \ +\x83\xa8\xee\x02\x13\xcfC\x1b8H\x9d\x8d\xa7\x07\x90v\ +\xed\xb9-\xd7\xfb\xf9\x9c\xc8\x02\x1d\x8e&\xe0\xc1\xefs\ +\x9c\xc7\x9a\x1a\x1b@n0U\x12\xc1\x81\xf3\xbe\xd9\x97\ +\xb7\x1c\x89D\xb2\xab\xd4\xc1\xe7\x0d\xe2|{\xef\xca\xda\ +\xa4c\x12\xf8\xb9X\xce?\xf3\xce\xc2\x04\xf8\xa8\xa1\xfc\ +hn<\x1c\xb3/\xe7\xbc\xbcV\xb6\xe3r0\xa0\xb6\ +\xca\xf8)\x81\x00d8P\x05\xc4\x90G\xeb\xc0<[\ +\x99\x19\xcb:\xf55\xaa\xbc\x8e\x8c\x00\xf3\x7f\xd4\x02\xb1\ +\x9em\xd0\xe6/\xa0\x07U\x1e\x15\xce\xfb)11\xcf\ +iA\xa0\xe6{\x7f\x1b\xbc\x80:\x01\x8b\xa20\xda'\ +\x12\xd1\xd6\x86O&\xab\x9eW\xae\xd7\xaa\x19\xce\xf5\xb4\ +\xfb\xed\xb0n\x83L\x07\xac\x02~\xa2x)\x8aV5\ +\xfeJ3\x00\x812\xef\x007\x01x\xaa\xe9\x13\x03*\ +\xb1\x22\xcf\xc1\xbc\xe0p\x99O\x90\xdf\xbc~\xc0\xab\x9a\ +\xffR}Us(s\x02\x10\xcc\x8c\x18\x87w\xef\xcf\ +\x9b\x15@Z\xfd\xc1usM\xb12Z\x19M\x1a\xec\ +\x0d]-\xe5\xcb\xf7^\xd62\xc5!\xb1\xf8\xe0.\x80\ +\xa4r\x9dj\xda%n\x96\x01\x12GGF\xb8\xfa\xd9\ +\x03\xe2d\x22\x92y\xb1\xd9\x86\xad\x81s\x95P\x10\xb3\ +2\xcf\x89`fm.\x11@\x22\x88u\xff/\x0e\xeb\ +\x982Y\xba\xb2\xbdcX\xd7?\xf7\x87\x9b\x1f\x05\xa3\ +b\xfb\xd1\xb0\xae-cf\xce\xa7\xe3\xc2\xe6\xd7\x07M\ +\x0f\x9c\x1e8oo\xaf\x0f\x9b_\x9f\x1f\xb6:\xf4\xdb\ +\xd7\x85\xcd\xfe\xe8U\xc3\xe6\xd7\xaf\x86\xcd?\x9f2\x13\ +\x98\xfd\xcd\xa3`\xa9\x95,=o\x09`JlK\xa6\ +*3\xbbU\xc2\xb4\x1f\xb6\x06\xe2\x15@\xdegwR\ +\x0b\xf4\xe2T\xf8\xbf\xad;\xc1\x95wW\xe9\xa8\xe5\x0f\ +\xdc=(ju7O\x9f\xedi\xdd\xfa\xfcj\x93/\ +\xddk\xdd\xceo\xdd\xe6qk\xc3[\xcc%T`*\ +\xd6\xa8\x88\xe6\xf5\x17r\xbd\x9c\x9a\x19\xd7\x08\xe8^\xbb\ +\x9eO\xbb\xdf\x0b\xcbZ\xee?_\x993\xdb\x8b\x87u\ +]\x05R\x5c\xb0\xd5`\xff\xd6\xdae`\xf7?R\xcc\ +\xf1\xf2a\xf3\xeb_\xcf\xf6\x865@.\x06\xc8\x9bf\ +\xfb\x9b\xae4e\x7f\xe9\xc2\xc0?hb\x8a\x8fY\xcf\ +\xe5\xa0\xd5\xb4\xda\xf3\xa7\x86uj\xf4\xb9\xbfb\xc2\x00\ +\xf6\xcb\xb1B\xd5\xbdNf6\x7f/\xdb\xc8\xda\xa78\ +\xca\xf6Ym\xf6\xb2\xc6\xbb(\xe7D@1Jr\x9c\ +\xa7\xdf\x09\xeb\x00\xce,y\x89J\xfe\xa8\xe5Hos\ +o\x00\x00 \x00IDAT\x9f>\x1b6\xbf\xdek\ +\xb6(1\xf8\xfa\xa2\xfe>]\x22\xacS\x95\x1e(\xff\ +\xad\xc6\xfe\x01+\xd0\xdd\x02\xee\xafd\x86\xfc\xf5\x19\x08\ +>\xa2\xcb$\xc6l|\xfe\xda\x8e\xb49\xb6\x17\xce\xfd\ +rvl\xa7W\x85u\xcc\x08\x81\x17\xc7\x11\x90-@\ +\x93\x00\x11\x88\xa2\xecg\x8d\xfc\xf4\x96\xb0\xae\x0b\xcf\xb5\ +\xc2\xba\xfd=\xe0\x987\xb4\x84\xc0\xf29\x00\x06\x8e\xf2\ +\x87\x93\xa1\xe5\xfcr\x1e\xc8\x94\xd1\x8a\xc86\x88\x80\x8a\ +\xe9\x95a\x9dv\xc6\x0f\xc2\xce\x85\x91\xf8\x9a\x14\xa7\xcb\ +\x9a\xecR\xb7\xcf}C\xa01\xdd%,\xdb~\x9e\xaf\ +\xb5\x1bm\xef\xb7\xfd\xde\xf6\xbb\xdby]m\x9f\x1e6\ +\xff\xfc\xef7\x7f\xb7\xf9\xbb\xf9\xfb7\x84\xcd\x7fw\xf7\ +\xb0\xa6\xe6?\xdb:\xbf\xe7]\xa0\x016\xf6e%\x11\ +\x9b7\x86u]~\xf8{\xa8\xe5\xba\xac<\x22K\xb2\ +\x9c\x97\xb9\x1e\xab\x9d$m\x87l\xe3Y\xf3$\x19i\ +\xad\x07\xc4\x83\x9a\x7f\xb4\xf8kcW.~\x02\x91\xe5\ +\x1c\xc7\xdd\xaf\x85u\xcc\x83\x07-\xefC\xb5\xbf\xfc\xe9\ +\xd4&)\x7fZ\xbb[\xed\x06\xf9\x13\x02\xaf|\x9e\xc5\ +\xc8\xf3\xefC\xad}\xd5\xf8\xfb}~>\x7f\x8bV\x81\ +\xf9c\x9f\xf5\xc5_\x1aK$\x05\x92\xfc \x09\x0f\xfb\ +\x22\x80`\x14\xcdv}\x00\x12%g\xa3\xd8\x1c\x7f\x8c\ +\x1f\xca\x8f3>\xfc}\x01#*9\x80A\x82\xc8\xab\ +\xf7\xe3_\x01\x06\xd2\xbf\x1dK\x1f$\x026\xb7\x0a\xeb\ +\x80\xa0\xa1=\xdc\xc8\xd0-\xc0\xd2\xef\x0d\xa2}\x15\xaf\ +\x8c\xed\xf8\xc6\x12m\xe3\xe6{q\x80q0\xee\xf6\x17\ +\xfb\x8duo\x9e\x0c\xcc\x91\xf23e\xe0\xfb\x92\xf6\x8e\ +\xda_\x89c\xf3\xc6\xfe5\xd6\xce\x8fq\xe4X\xf2 \ +\x0e\xb2\x7fx\x9e?\xa9M\xa2\xfb1\x9fF\xb5~_\ +\xd6\x9b\xd2\x0dm\xcc\x89kb\xd6H\xa0z_\xfb\xd9\ +X\x02a\x9c\xf8\x99~_\x82%E\x01\x0f\xd6\x85\xec\ +\xb7\x5c\xec\x1a\xa0S\xdb\x17\xd8\xf7bdGw?'\ +\x0a\x08\xe1\x80\x98p\xd0\xbdo\xe0)Gt\x81e\x84\ +\x09\x1d\xd5\xa3j\xce\x83\xe2\x7f\xb9\xc3U\x0c[\xb8q\ +\xe9\xcc8\xfct71d\x86\xbf?\xdb\x0f\xba\xcc\xb4\ +\xbf\xf3*\x00\xf7\xe5\xc1\x8f\xb5\x12\x16\xf6\x88\x10\xa1\x16\ +'\x95\xb1\x1c\xf7TS\xad\x8d\x05\x00p\xcd\xa4\x9c\xaf\ +m\xf6\x0eA\xfc\xaa\x86\xdf\xdf\x8db\x12\x19\xa8\xa3\xb2\ +\x96\xa3\x22`\xf4@s\x01A\xa6\x0a9r \x8fm\ +w\x04n\xee[\xa0\xabF\xf0\x9f\x17JT\xdd\x17\x84\ +\xe9\x139\xa1\xd4\x80g\xcd\xdb\xe6vK\xe6c\xdel\ +\x16\xc7\xdd\xb8\xb9\x1f\xaf\xe7\x1d\x16\xea\x18\x90\x8e\xb5G\ +c\xbbF\xf7oc\xb1a\xfb=\x0b\xcf\xfb\xfb\xb9Z\ +C%\x00\xcfm\xb6n\xb8cfz\xecO\x7f\x8f\xb0\ +\xae\xc4 \x19\x18\x9b\xab\xe6<\x93\xe1CUK\x07\x9c\ +\x08O\x1dh\x9e\xb3\x80\xf5\xba\x19\xe0\xbf{9(\x8a\ +\xa2*`r\xe0\x98O\x10\xc9\x04Z*\x10U\x1bL\ +[\x82\xe6C\x22\x96\xc5\xfcp\xc0\xfbr\xd0\xff\xa4~\ +\xab\xc6\x03\xc5\xda\xdf\xdb\xb0Q\xc4\x89\xff\x00\xb0D\x9c\ +~\xdfs\xca\xfbG\xb9\xab\x1a*\x1be~ne\x12\ +\xd4\x82kwi\x1d\xa3\xeab(\xa4\xf8h\xed?\x0e\ +\xcc\xa1\xd6\xafj\x08e\xb2\x1c\x10\x98\x01\xd9\x9en\xcc\ +H\xe9O]@\xc5\xa7\x97R\x1f}\xbew\xf7\x0d\xeb\ +\xf65\x14F\x81'J\xbe\xf6B21\x19\xe0m.\ +\x1c\xd6\x8d\x0f\xf5t5\xda\xd9\xd7\x1du\xdb\xfb\x95\xf8\ +\xa0u\x9e\xfd\xdd\xab\xbf}\x02\x9c%\xa2\x85\xb9\x93\xc0\ +F\x05\xa2\xe9\xc0\xcf\xa3\xfe\xc2&\x1at\xff\xb0\xaeV\ +9\x01\x9d\xe9\x01a]&\x12\x05\x8e\xc3}L\xd8\xfc\ +\xfa\xe9\xb0\xb5\xc6\x7f\xd3\xbe\xe6\xd77\x84u\xa2|\x98\ +\x122\xa4\x7f\x1c\xb6\x066\xdb\xaf\x86\xad\x81q\x84\xef\ +\x11\xc0c\x86T{\xc5tX\xb4G\x9b\xdd\xec\xa5]\ +\xe0\x1d\x97\x00k\xf3\x90lWw\xbd\xa4\xd2\xe6>3\ +\xfdM\xd8\xfc\xf9\x7f\xb8\xb4\x97\x9bn7\xddv\x9a\x1d\ +\xee\xe9\xc6a\xf3\xf4\xbew\xd8\xfc\xfd\x0f\xc3V&\xcf\ +\xf6Va\xf3\xeb\xad\xc3:1\xc2\xf7\xa5\xa8\x0f\x15l\ +\x19L\x81+FC2\x90v\xb7\x0e[\xdbPm\xfe\ +OXG\x11}\xfc\x12\xd8\xcc\xcfv\xd9W?6\xef\ +\x06A\x91\xbfmj?`\x86`\x90].\xf7\xc9\xeb\ +e\x00{\xeb\x85\xa9P\x19\x5c\x00\x00\x87U{8@\ +\x0dq6\x80L\x02D5\xbfC\xb3e\x93m\x5cO\ +o\xc0\xc5\x8d\x1a0\xc9\xf1\x14\xa0\xca<\xe9w\x9fZ\ ++\xbb\x03\xbbm\x88\xa05\xc9\xa8\xe8_\x7f\xc2t\xa5\ +iv@\xa7\x9b\x86u\xf3\x91C.\xc0\x8eu{\xf7\ +\xae\x168\x01\xbd\xe9\xdba\xad\x96{\xb6\xf9\xf5?\xc2\ +\xd6L\x8a\x1a\xfa\xed\xf3\xc3:J\xbf\xe7#S\x9f\x81\ +_\xf0a\x1a#\xe6\xda\xcb9Q\x0c\x13\xfb\x22\x87t\ +\xa8\xc5D)7?\x88\x09\xaau\x9e\xfe<\xac\x1b\x17\ +\x80\x04\xa6R\x8a\xc0M7\x0c\xcb\xda\xe3\xf7\xaeTS\ +\xc0H\xf9\x1fW\x99\xedgW\xffl\xdeM\x1e\xd7\x02\ +\xb1\x08\xaf\xff\xa4\x0b\x5c3c]\x09\x94\xc8\x93\xbf\xa5\ +SsO-\x80\x1a\x97\xe0\xd9E\x09\xcd\xe7\xc3V`\ +ms\xe9\xb0\x8eY\xe3\xbc\x0c^\xd4\x8dW\x00Q`\ +\x01X)\xad\x0b\xfb2G\xda>\x9a\xfb\x0bfL\xf3\ +*\xbe\xdc\x01\xe8\xfc\x00\x8e5`\x10 +\x93GS\ +\x85\xe8\x97/m\xed\x1e\xd6\xacj\xdc7\xa7\x86ef\ +\xf7[\x1d\xc0\x0a\xb8\x93i\xcc\x00r:%l\x15\xc5\ +\xdb\x1d\xb10>\xaa\xe4\x93_|\xf7,\xe5\xc3\xf8\xd3\ +fU\x89aj\x09\x94\xdf\x81\x09@\xcd\x9f(\x18\xe0\ +\x9f*|&p\xaa4\xe1\xeaQ\x1c\xd3\x02\xb1%\x00\ +\x91!\xc4\xa8\xbb\xf1\xd2\x16u\xbaMX\x07\x14f\xa6\ +\xb6\x98<\x02\x81\xaf\ +\xae\x87h%-\x14\xfb\x09\xa6\xe0P\x82^\x9f\xef9\ +\x88\xf7\xac7\xeb\x0a\xa3$\xf7\x9b\x835\x01e\xca\x05\ +N2\xfccF\x91(`\x1c\x83_\xe9\x90\x92^D\ +\xed\x12k;\x8bR\xfb\x07($u\xb1\xda\xfb\x99\x08\ +\xda\xd5E@\xf1\xf6\xae\x9f\xae@\xd4DHJdM\ +P\x07\x85\x01\xec\xa9+?<\x97\x1a>\x01\x8a\xbf\xff\ +ne\xa0\x0f\xed\x8bi\x02C\x5c\x04\xa0&\x98\xc0\x0c\ +\xa5>\x1d\xf0\xa2\xd4\xcb,Ry\x17\x90\x98\x08&\xbc\ +\xc0p\x0cd\xd5\x88\x9b\xc8\xa8\x9b\x0e`\x22+\x90<\ +\x01T\xaa\x16Wf\x07\xc5=k\x96\x0a \xb0AA\ +\xd4-Dm\x93\xfe='|\x8e{\xa9\xac\xcb0}\ +?7\x0a\xe3>\x06\xde\xc6\xcf\x828\x98\xe3v\xc4\xa1\ +\xd4\x9a\xfa}\x8e\xdf \xc2W\xc8\xb8\xf6\x8d\xe6\x9b\x83\ +\xd28Y\xc060\x0ba\xd4\xb4\xb0p<\xef\x11\xa1\ +s\xb0d W\x8e\x90.\x022hO\xc9\x0c\x93u\ +\xa1\xf6L@\x955\x8aUS}\xd5\x1c\xe7;$E\ +OmZ\x06\x04E\x15\xb3aCpG\x8a\xfew\x06\ +\x07\xc9\xba3\x8f\xac'\xf3tl\x9bB\xe4F\x00}\ +\xb3\xb0n\xde{\x7f\x0e=1L\x81\xb0\xfd\x02\x10e\ +C4O]\x97\xf9\xe09\x0f\xc8e4c\x8bvl\ +\x15\x98\xca\x1c\x8c5\xf9\x02\xd1\x14\x19\xf3|\xd4\xf4\xab\ +A/\x8a\x9c\xbf7n\xc6\x11%\x90*\xb2\xeb\xca\x8c\ +A='\xf3\x060\xe6\xfd\xac;\x19q\x8c\x80Q$\ +\xd4s\xd0\xd6\x06\xa0\xf1/\x87\x06\x88U\x13H\xcc\x92\ +\xb8\x95\x83\x8c\x83tr\xb3\xaa\x05-F\x83\x0c\xb9n\ +\x12\x1c]T\xeb\x14\xf1*\x00(\x81\xc8\xaa\x19\xc6 \ +\xb1\x0f\xaa\x99\xa6b\x1d\x19\xe5.0\xc4\xa0\x9an\x1f\ +\xd6\xd5\xf4\x0a|\xf4\xe9NM\x8b\xcd=\xc3\xe6ip\ +\xed\xb0\xf9\xfb\xa7\x84u]:\xb4}\xcb\xccx\xf5\xbb\ +\xcdR\xa4\xcdw\xc3\xba\xc0\xe7\xb6a]\xc6+)\x8f\ +\xda\x7fm\xa6\xb0n\x1e\xbf4)\xda\x7f\xb0\x04\xf8\xbb\ +\x9f\x8d\xd0)\xfb\x81\xffm\x03x\x1a\x00;\x87?\x8d\ +\x92/3\xbc\xff\x95\xb0\xf9\xf5\xed\xfbo\xdb\x7f\xdb\x9a\ +\xa1=\xb0\x09\x9b?\xef\x94\xb0uz\xcf\xabg\xd1`\ +xxRP\xd3\xa1\xda=7\xac\xa3\x0a'#iw\ +\xcb\xa4j\xdf/l~\x9f\x0b-%\x08\x80\xa8\x0a\xb8\ +\x95\x8a\x9d\x94%.\xe6Sj\xa2\x10\xaf\xdb\xbc?\xac\ +\x9b\xe7\xb9\x9f*\xe5\xa8\xc0\xe7\xec\xb0F!?\xb2Q\ +\xc8\x1f\x12\xd6\xa9R\xcb\xa8\x02\x04\xec\x1b\x1c\x0e\xfb\xcc\ +{\xb3\x9dQ\x8a\x1f\x96\xa3\xaf\x0d+Q<\xb5\xcc9\ +\x7fdN\xf7\xee\xbd\x9c[%\x8a\x98\xa5<\xd3\x8bg\ +\xfb_\xf9\xdc#!\xf0\xba\xb0\xf9\xe7\x8f\x0b\xeb2\x88\ +w\x9d\xed\xd7\x93\x02=?\xc7\xed\xc7\xc3\xd6@`\xba\ +S\xd8\xba\xae[\xc9\xc6\xad\xd7\xcf)\x86\x8c\xda\xdf\xdc\ +\xcf\xaa[\x06\xd5{\xeb\xd4>:RO\x9310\xfd\ +fX\xc7\x88Qz\x93\xe38\xfd\xc5\xc2\x98!\x1eW\ +\xe7r\xae\xdfb*\x05\x00r\xe2Z\x0a\xe1\xf9\xb5\xd5\ +\xff\xd0\x0e\xf0\x01\xe0\x13\x91\xda\xe5~\xfb\xc6<\xaf2\ +#^\x80\xac\xbe\xe7(\xf9\x02\x04\xda\x10\xdaAJ$\ +\x00\xb2Q\xbb\x95B\xe58l\x1e\x19\xb6\x06\xca\x9b\x93\ +g{H\xd7\x85\xe4\xe8\xb0\xf9\xf5\x8c\xd9\xbe\xdaJj\ +.\x1c\xa2|MC\xe0f\xdd9\x89\xc2\xce?@\xe5\ +\xd7\x9f>\xa9\xeb\x05\x9c\x0a\xf0s\x9c\xb5Um\xf3\xe6\ +\xc5\xab\x9fP\x80\x03\x06\x0d\x11\xd7\xd4\x8e(\xff\x02U\ +\x96\xc6\xc9\xeb\xb3\x14\xe2\x09\x8b\x86\x90\x8c\xf9\xe6\x8a\xcf\ +\x11\xab\xc4\x80\x10H\xf3c\xdd7\x06\x0c\xffJ\xa0K\ +SD\x09\x0f\xe0;\xd7A}i772v\xc4\x1f\ +\x02Z%7\x12&\xfc%\xfe3?n\x14\xfb\xe3\x87\ +\x8a\x1f\xbc\xaf\x7f7\x0e\x83\x08\xa0\x04o\x05\xf6\xf9{\ +\x95\xc8\xd2V=\xbb3\xd5\xb8\x89\x0b\xc6\xee\x04\xae\x17\ +\xa3\xd2\xb9\x0f\x90\xc9\x03\xba\x02\xf0\x11\xc8\xe0\xc7\x8b\x8b\ +\xc47\x12\xa6\x12\x9d\x98\x18\x83\x98_\x893\x12U4\ +\x0e\xe61\x07\xc1\xefK,\x1b'\xe3\xcao4\xde\xc6\ +\xcf\xfb\xa7\xc6\x0a\xe6\x8d.@\xf5\x9c\x00\x05\x00Q\xf7\ +i\xfe\xb8n\xe3\x04\xb0\xc8\xf8\xe7`\x05`j\xe9\xcf\ +\x1f\xb2H\xe9P\x1c\x7f.\xea\xf7.4\xdc\x91^\x95\ +P\xcd7\xf1\x1a\x8eH \x98!\xbaw\xd4lGw\ +\xe2}\x90\xe9\x83-4\x5cn\xe8\xfby\xc0]\xb6s\ +L\x01\x07&\x94\xc0\x92\x03o\xa0]\x17\xc6\x81\xbf\x1f\ +3\x9c\x02B\x03(\x10\x84D\x8eb\x82\x02d%\x04\ +y\x1d\x95\xb9S\x8b\xe8\xc19X>\xb5\xd4\xfe\xd6\x04\ +'\x1e\xa1\x1fc\xd6\xbeo\xae\x96*\xbb\xda\x82x\xcd\ +\xf1\xacL\xb4\x00\x98C>R\x96\x00\x1b\x99\xb1\xad\x83\ +M\x0d8\x84\x98\xc8\x8ev+\x00\x01\x81\xbd\x8c\xaf\xfb\ +\x96a<\xdf@\xf5G\x81\xbfh~o\xa1R\xf9>\ +\x7f\xaax\xfftf\x8c\xd7\xf6\x14\xe7\xde}a\xacQ\ +\x11\x90[\xb0\xee7\x91\xdeB|\x05\xb0\xd4\x87GJ\ +\x97\x8dC\x80\xea\xfe \x812\x08\xa8\xd1\xdeW\x0d:\ +\xe4\xec\xe9\xbbg\xec\x9e\xd1\xa8\xe3K\xe0%`\x15H\ +\x99\xff\x80 \xc0\x8c\xfb\xca\x8c\xc3\xe6\xda\x0b\x05\xb22\ +\xa1j\xbe\x89\x1cq\xf0\xb4m\xe3\xd8\xfb\x82\xe4j\x7f\ +\x97\x81\xd6a\xa2\x99\xb91Ui\x83\xc0Ti\x8aL\ +\xbe\x8d\xc9\xb8\xdbX\x8d\xdf(\x82\x02H@\xa5\x02\x00\ +\x8c\x00\x9b\xaf\xb1/\xac\xeb\xb0\xbe\x1cH\xd9\x97\xb9\xd6\ +\xb5u\xe6\xfe\xb4\xc9\xd46/\xa9\xf6%\xe6i\x1fp\ +?\x00C\x07\x96\xfd\xcbz\xc7,\xa1\xea\x9f\xaa\xbf\x9b\ +\xbf\x08\xeb\x1c\x1d\x1a\x05\xd7\x0c\xeb\x0eT\xd7\x9d\x14\xe4\ +\x02\xa6\xd4&\x0a\xacRE\xbcJ\x0b032\xf3[\ +\x8e\xc7\xa8u\x90\x94\xf9\xa2v\xaa\xd1\xb4\x9e]w:\ +b\xd5\xdd\x22\xa9\xb5\xd3W\xc2\xd6\xc0^{\xb6\xda\xaf\ + \xc3\xf6C\x14\xcb\x04\x10\xb6?\x08[\x19H%j\ +5\xd4p{\xdc%\xb6&\xc3\x92\x99\xe9X5m\xdd\ +h\xfb'c\x9b\x8e\xea\xf6\x9da\xf3\xf7\xdf\x0e\xeb\xfe\ +\x9e\xd6\x09\x8ai\xb6\xc3\x9bn\x12\xd6\x1c\x9f\xd6>u\ +\xba\xc6\xd2\x8e\xaf\xc5\xe7\xd1\x16\xe9|a]\x1f\xea\xa4\ +\x10\xcf\xc7\xf8R\x9b\x9e\xe2[4\x18\x88\x06V\xa0\x03\ +\xe0\xb9[R\x94\x8f\xca6\x83\x9f\x0a[\x01\x8f\xea\xff\ +\xfe\x84\xcd\x137O\x5cj\xdf\xa7\xd3\xbbZ\xd7\xe7\xa6\ +H\xe2.3c\x99APS\xbc\xb9oX\x17X\xdc\ +p\x11\xf7\xda;'\x81\xc3\xccd\xd5\xba\xca}\xb8\x1c\ +z\x8e\x04\x06\xddy\xc2\xda\xe7\xb7\xcc\xe7\x1c\xf6.\xed\ +\xb2\xbe\x96\xeb\x99\xa8\x16\x87\xfb\xa5\x0b\xc0\xb4{^X\ +'Z\xfb\xff\x85\x9d\x8b\xb8\x9c\xfd\xec\xbe{\xbf5[\ +\x88P>n\xf3\xb8\x06\xd0-\xcf\x17%=\x99!\xa8\ +\xeb\x98\x1bJ!\xb6\xff\x1a\xb6\x8a\xcf\xed~>l\x05\ +\xd4JM<\xba$\x1c\xb9RL\xa7mX\x07p\x87\ +\xc8\xdb\xf9\xba\xfb\xba\xf2R\x1a\xd1\xe6\xe9\xcb\xbb\xcc\x89\ +s!v\xad\xef\xad\xcc\x11\x99\xd7\xdd+\xc2\xba\xdai\ +\xa5t4\x03\x04\x22\xd6wR\xb2\xa7w\x84\xadT\xed\ +\xa2\xa2\x13%\xcb\x0cf+\xa9\xfcF'\xbe\x18\x85d\ +\xc1\x80\xfalX\xaa\xad?k\xbd_\xa5\x0b%\x8a&\ +\xa0\x110'\x10\xbay]X\x9e7\xd7Z\x19\x92\x15\ +`\x08\x80\xb5\x9b{V\xd8\xaa\xe1Q\xb5\xff\x023\x99\ +Vm%\xb3/z1#\x04 \x18J\xba\x0d\xa8\x09\ +\xc7lL \xadJ\xd7d\xc2ti\xe1\xc79\xdf0\ +$\xbf\x97\xfe\xdfw\xd2?\xa4\xd5\xf0oy?\xce\x19\ +m\xce0\x1c2\xa0\xdc]'\xac\x03:\xb3\xcbJ\x14\ +>F\xe9c\x95\x84\xa4\x88`\x9dw\x1c\xf7\x97e\xed\ +\xb4\x9a\xe6\xdc\xaf\xb4%+\xc6\x02 I\xe9I\x96L\ +n\x7f.\xac\xd3lHF\xcb\xf4\xcd\xb0\xf5\xef\xaa\x94\ ++3\xc9\x80\xc2\xfa\xbc_m\x16Z!\x0b3\xe3a\ +\x0b\xf5\xb7\x98\x02\xc4WuW8'\xack\xa7I\xfc\ +N\xe9\xa5\xf3\xce\xfcqN\xf2\xeb\x8c\x03\x11b~\xa0\ +@\x8a\xbf\x84\x19\x99*\xf6\xd6\xfb\xe69a\xf3\xdb>\ +'l-\xa1\xa8v\x8a\xda\xf6)\x09\x10\x80\xac\x22\xb4\ +K\xdb\x5c~\x06\x7f!\xcfE\x89\x94j\x0f\xe7\x95\x88\ +'F\xae\xf9;R\xd9\xf9\xcb\xb9\x7f\xd5\xbe\x96\xf7S\ +ZP>_\xa0\xf4\xa5\xd9\xfb\xfc\xd2\xb9\x88\x7f\x0b4\ +\xf9A\x83fX\xf9\x1b\xee\x93x\x1d\x00C\xe6\x7f\xcc\ +\xf8\xf2{\x00\x07\x02\xecL\x18\x16\x00\xa6\xb4@\xc9\xa3\ +\x9at\xfeUvu(\x00\xd0z3\xaeC\x97\xa3z\ +\x1d\xbb\x09\x98'\xe2$\xebdh\x1f\x5c\xb5\xeb\xeec\ +;t\xf7\xe2\xf7\xf37\x866\xed\x05D\x18\x8f1\xc3\ +>\xb6Q\xf7<\x00\x0b\xba#\x00\x86\x9c\x97\x83\xa6\xc9\ +\xd8\x85j\x04\x8cv\xef\x0a[\xdb\xfcYW\xc5H\x18\ +\xe3\x15~\xb2\x9f;']\xb7}\x9b\x83\xe4\xba\xc7\xee\ +\x13\xce\x15\xe3f\xdd\xb9?\xcc\x1d\x89H\x09u\xfbj\ +&\xda+\xb1l\x9c%\x9c\xb4\x8f\xc4\xc0\xf1{\xf9\xbc\ +\x0fVF>\x86\x7f?\xc5\x90\xce\xce\x83\xf0R\xe7R\ +\x83\x1f\xd3\xec\xe8t\xe4/\xd69\xdaq\xd9\x17\xc8\x1b\ +\xfb\xa9\xee\xef\x04\xc4\xc4\xf4\xae\xbb\xa8\x1cW I\xcd\ +X\x80}\x5c\xeb\xcc\xbbl`\x17[\xd5h\x7f\x22u\ +\xfc\xdc\xba\x15\x9c\xdd\x95\x18\x18\xe8Q\x5c\x90\xc8\x06\xca\ +\x0d\x87*3\xb8\x85\xac\x99\xc8\x02\xa2#\x06\xd5{\x0b\ +\x06\x80\xe0:dZsbu\x1a\x06\xcb\x02\x94\xb1V\ +C/\xc3h\x03\x16(\x090\xc7\xf6\x81\x00\x8f\xb1]\ +\xc7\x18\x88\xd9\xc0-,\xe3\x08!\xa3\xb2,\xa0\x15H\ +\xde)\x1d\x22\x01\x96\xee\x01\xaeo]\xe0\x87f\x98m\ +\x0c_^\x16f\xd5\xe2\x1b\x7f\x7f\x07\x01\x83`i\x0b\ +'\xa0\xf7\x9c8\x02\xe9\xa8\xa1\xe4WM5\x00\xcb\x82\ +\xb6\x11\xf6b\x93}\xfbD\x99\x1f\x07%\xe4\x0feF\ +\x0dV:\xc6\xf3\xd54\xb5\xddB\xd0\xcfLd.\x03\ +!\xfd\xcb\xeb\xf9\x8d\xcc\x11\x1b\xe0\x0fr|\xd2a\xa1\ +\xe2^\x07\x86\x830\x99&5\xee2p\x1c*\xef\xeb\ + r\xc0\x0b|\xbd:H\x1cD\x90|\x81\xb7\x8c\x8f\ +\xee\x1a\x18\x0e\x98.\x9e3`\xcb\xc6\xe4 \xf0\x5c\x1c\ +@c)\x8b>\xb5\x19\x98\xd5s\x1f\x19\x0b\x10\xd7Q\ +\xecP`\x93\xa5\x17\x9b\xcf\x84u\x88\xb5\x1ap\x19\xcb\ +a\xe3\xac\xf77\x9e\xfa\xb7rt\xacg5s\x10S\ +\xc8\xbc\x0d\x9b\x8a\xae@\x89v\xc0\x0d\x97\x00\xb4(\xad\ +\x894W-\xf2\xc5\xc2\xd6>\xc8\xa5\xa2\x9f\x19\xb7\x02\ +\x061\x0d0@dz8\xd6\x19\x00\x175\x9f#\x88\ +\x19#\xd3\x93\x01\x88L\xac\x12\x80\xe9*a\xdd\xc1/\ +\xf3HdRfU\xbb'\xc0T\x8aum\x1f\x1d6\ +\xbf\xcf\x15\xc2\xe6\xdf\xfbq\xaa\x90'r>\xfdIX\ +\x07|\xa4\xd8\xd0tB\xd8\xfc\xfdo\x84\xcd\xefs\x5c\ +XW\xab\x99%9\x95\xc1\xca\xfe\xd1u\xa0\xca\xe0\xea\ +\x86\xa1\xfd\x1fF\xc0\xd7\x17\x8a\xf5\xf6\x92\x8b\x96\xc0\xee\ +\x9da\xad\xe6\xb9\x89\xd7\x15\xd3D\x06^&(\xd5\x90\ +k_\xce\x0c\x8f\xc0\x1a\x93\xa1\xb4$\xcc\x7f%\x1d\x9e\ +[f4w!\x1b\xb6\xe9\xdeO\xa0\xc4\xb1\xa1\xf6\xcf\ +a\xfb\x85\xb0\x0e\xa9\x7f\xd0\xde\x03\xf7\xc2\x01\xbdn\xb6\ +%\xbd\xe8\x12\x08\xec\x9e\xbd\x04l\x9b\x0fl>\xb8\xf9\ +`\xa7rO\xa3\x87F\x05\xa6\x8eu\xf8\xc5\x5c\xff\xbf\ +\x9a\x99\xadc\xb3DN\xe6\x0b\xd0`>(\x91\xc20\ +Q\xaa \x93a\xbd\xd9OQ\x8e1\xdb.\x94\x80o\ +\x94\xa6\xfc\xc2\x0a\xcc\xed~\x10\xb6\x02\x1d\x9b\xef\x87u\ +\xed\xecr\xbd\x08|\xf7\xbf\xb4\xff\xe5\xfd\x10U|\xf2\ +\xf6I\xdb'w\x01\xae\xccYfT\xab-!Q\xae\ +\xa0*\xbff\x15\xe3\x9b>\x19\xd6\xb57\xcb\xb6p\x1c\ +\xf0\xc6$\xf9\xa5dj|/\x99\x09G\xae\xe7\xf8\xf6\ +Ga]{R]h8~\x09\x00\xed\x8e\x0a\x9b?\ +\xef\xfe\xb3=\xa0\x13\xfdJ`\xaf\xcd\xeb'\xaf5\xcb\ +\xd3\xaf\x85\xadb\x81(\x9dUB\x020s\x9d2\xbc\ +\x18P\xb4K\xf4\x19\xcf\xeb\xdb|x\xb6\x7f\xed4\x9c\ +\xa2\x14\xf2\xfb\xeb\xf8\x97(h\xb6\x83l\xf3\xa6\xeb'\ +_\x01\x03\xbf\xca\xbc\x00|\x00\xdc3\x81\xd1\xb4\xee\x9f\ +\xd1\xb5\x01\x94\xb9\xe6p\x03vN\x9d\xedu\xb9\x0e>\ +\xdc\xcd/\x8ev&PZ\x89\xd2\xb3\x1ac\xa4\x8dg\ +\xed/\xfb\xe9\x80cJIH(\xd9\xd0\xfdDI\x00\ +m\x04\xe74`\x83\xdfc\x9e;\x17eV9\xf8\x02\ +5\x81:\xed\x0e\xc0\x14\x7f\x110\xa3\x94\xd0s\xcby\ +\xa6$\xafD\x1fu\x95HM\x90\xdd\x1b\xc2:`\x8a\ +?\xf6\xb1\x0c`\x5cG\x8e\xef\xee\x96a\xdd\xb9\xa4\xa4\ +\xed\xc2K;S~a\xa9\x99\x0b\x84u\x1fJ?\xc2\ +\xe7VbC 42\x1f%R\xbc\xf9A\x9e\x1f\xbf\xdb\xbek\xdf6_\ +\x13\xb0S\x92\xb6\xfb\xdb\xdd\x9bZ\xa2'\x01>\x9a5\ +\x95\xe9\xe7?\x09\xa0\x04T\xeeW&;\x81\xc7\x8ao\ +\x92QY\xe78\xffu\x14#\xf7\xfe\xfc2\xd7/\xfe\ +q\xbf\xe6\xe5P\xbb]\x01\x9cW\xfe\xfd\xc0\x04.\xa0\ +\x0c\xe5\xff\xb7\xc2\xba\xdf\xb7\x9f\xb9\x0eq\xcb\x9805\ +Od\xc4\x95<\x89g\xf8\xcd\x02\xe2\x12\x1d\xcax\xc4\ +\xfb~\xe7\xd0\xee^\xe5\x0f\xfa{\xef\x07\x081\xef\xc4\ +\x0d\xae\xcb\xe7x_\xe3j\x1e\x1b'\xd7-\xfe\x1b\x13\ +\x8aJ\xd5\xf35M\xe9\xe8\x96\x83/#=\xb6\x19\ +\xcc\xef\xcb\xa1\xb5\xc1{^\xa7g\x8d\x18\x91\xc1[\xe4\ +\x81\xfb\xd5\x9c\xc0\x1c\xcd5#\xba\x04\x86\x80\x0d\x99h\ +\x08\xe1\x85\xd3q\xb9h\xaa\x8b[\xc0\x02@\x0e\xa6\x83\ +C\xffk\x07\x0eJ\x0c\xa0 \xd5\xdf\xabV[\x9b<\ +\xcfym+\xb8l,\x16\x88\x0dG\x1b\x15\x0e\x161\ +.5\xdb\xfe\xfd+\xd96H\x9fr\xef\xebK\xe0o\ +|\xa9bg\xedd\xb5\xf9{a\xf6\x93\xfeH2\x0f\ +\xb2\xbdN!\xe9D\x7fh\x15\xa8\xed\x170\x99O\xb9\ +\xfe\x0a\xe1\xb7\xf1\x8f\xd4\xa3\xdc\x80\xd4\xa2\x16U]\xa6\ +\xd9s\xf3j\xdc8\x1a\x9e\x8f\xf7\x05tqP\xf4\xfb\ +u\xd0\x8e\x1a\x1b\x19`\x17\xe0b\xdd\xd9\xe0{\x00\xf0\ +r\x9d\x0a3@\x0e\xd5?\x1d\xbd\xda(1Ld\xd8\ +\x87\xf5rH)\xd2%;\x87F_{\xa5\x17\xf6\x0b\ +T>H1\xa6\x83\x0ct\x1eh\xb5\x0f\x09\xb88\x86\ +\x0eJ\xed\xd8P6\xb5\x19\x22v\xa5\xd4\x00\xc0\xe5\x80\ +\xa7\xb6\x8c\xba\x9b\xcf\xaf4$\x94\xe4d\xa0\x5c\xc0\x90\ +\x1a\xd2\xa4J\x17\x95\xf4\x9d\xcdV\xf1\x9etH\xd4\xb6\ +o\xee\x18\xd6\xa9\x07\xa7*=\x07\x95\xc8\x9e\x1a\xeb\xa2\ +b\xffa\xd8Z\xaa\xa0\xb6\x190X\x19k\xed\xc6\x92\ +R\xba\xbdC\xd8\xda\x8e\xab\xf6\xef\x074[K\x06\xfe\ +(\xac\x03d\xb4y\xca\xda\xd4\x0a\x1c\x92\x9a\xba\xf9x\ +X\x0b\xc4\x16\xaa\xb9\x03\xf5\xc4t\x98\x1f\xd7,jf\ +g\xebjW\xdd\xaf}\xe9\xb7\x96\x8c\xb6\x92\x8b\xe9:\ +ak\x06\xb7(\xff?\x1f\xd6\xa9\xbds\xec\xb5\x7f{\ +C^\xf7\x81\x5c\x7f\x09\xdc\x95\xd8h\xaa\xa6C\xecK\ +\x0b\xe3_\xc2:`I`\xf3\x83<\x9f>\x96\x00\x91\ +\x92\x89\xd3\xf3\xba\x01e\x02#\x19\xf8\xdfN\xb1/\x80\ +\xa3\xf5\x0e\x00t}\x97\xcb\xfdJ)\x19\x86\xc9\x11a\ +\xab\xd6\xc5\xde\xef$\x00\xf5\xa2E\xec\x0fPf\xdf\xac\ +\x8c\x89\x8c\xec\xef\xed=\xbc\xa9\xb8\x7fn\xf7\xd9\xa0\x92\ +o_\x1b\xd6\x89\xc2]9le\xc2M\x8f\x0ckT\ +\xe1\x8b5\xb5\xf5\xb7\xed\xde\x1e\x8e\xd8\xf4\xb6\xb0\xd6N\ +\xf1\x01\xad\x9d\xa2\x9aV\xd7\x99m \x05B\x1c\xb7\xe9\ +\xdea\xf3\xbf\x7f\x22l\x15olb\x83\xc7g\x008\ +;\xce\xd3\xbf\x85u\x01&-\x90/\x84%s\xe7\x85\ +]\x86\xdez\xca\x0c\xa1\x92\x145\xf3\xd3\xa5\xc22\xd0\ +zc\xa7J~\x8d\xa5f{wLX\xb7\xfe\x13H\ +\xd5\xbd\xa6\x02\xdb\x0c\xd0\x94H\xb5\x1a\xff\xc76\x07\xf1\ +\xab\xcdA\xe4\xf0\xf9\xe2\x8fe\xc6\x94\x98\xe0\xee\x8f\x17\ +m\x80\xb6o\xf6\xed\xa5\xb2\x04\xa0\xc4TS\xc4\xb1\xad\ +\x96?^\xf7\x7f\xda#\xc5H4\x7f\x9c\x8bw\x08\xeb\ +\x00\x0d\xf3\x1d\x93&`\x9bwu\xcc\x22][\x1e\x13\ +\xd6D\xecfK\xa0\xf1I\xed\xba\xde\xd9J\x13\xd2o\ +\x99\xc3\xcf\x851#\xb0V\xcb\x9e\xfb@\x05\xc6\xce_\ +\x99\xbc\x14\xf5,\xc0/\xc5Y\xa9\xf5\x17\xa0\xe8\xfc\xb5\ +\x9f\xebOo\xdf\xb6\xdf\xa4\xf6\x04fO\x01i\xc9\xec\ +\xaav\xc1\xb4\x0f\x94Z\x00`\xc6\xf6~\x0f\x5c\x00\xbf\ +\xda\xcf\x13HV\xab>]?lm\x7f\x8a\xf1R~\ +\x0bm\x03m\x1b\x01\x01)\xb2(\x91P%v\xfc)\ +\xfe\xdd\xb3[\xbf\x8c\xbd\xe0\xef4\x06\x8f\xfdI\xc68\ +\xfd0\x99F\xc0j\x01<\xf6\x9b<\xef\x8b\x09\xcb?\ +URB\x5c\x16\xe0b\x5c\x13\x88*qC\x014\x80\ +\x8f\x06\x89\x00Q\xc0\x22\x10\xc7\x5cH@\xb6\x00m%\ +-\xfca\x81\xd0(F\x1c\x0ab\x97\xed\x02\xe8\xd4*\ +)\xa0K\x8d\xbf\x80\x8e\xdf2\xb6Q\x1b\xdb\xb9\x8d\x19\ +u\x01\xa2\x84\x90\xc0x\xd0:(&\xeaP\x82[L\ +^\x8ca\xcc\x07\xd7!\x11\x03\xa8\xb0N\xad\x07~!\ +\xbfN\x80i\x1c]\xbf\xef\xf9{\xfc\xc6\xec\x8a\xd3\x98\ +\xdb}\xfb9~\xf4O\xeaF5\x96fc\x18\x1a\xc7\ +\x91I.\xfe\xf2\xf9\xff\xad\xd9z\xfd\x806\xcc\x0c\xef\ +o^x_\xe3=\x02\x0a\xfe\x9d\xa6\x82\xf1\x13o\xf8\ +\x5c\xf7'!G\xcbi\xd423\x8e\xde\x97\xff\xe7\x15\ +\xc0\xc2\xbf\x1b3\xfb\xa3\xea\xbfy0&\xec<7\x80\ +\x83y\xe2\xba\xdd\xbfy`|\xac3\xfe\xb9\xe7\xeb\xbe\ +\xcd\xbf\xbc\xdf\x83u\xa1\x97h2u\x8b\xc3\x7f\xa0\xa3\ +\xfc\xa0\x9eDXx\x99\x14\xef:\xbeS\xf7\x8f\xcb@\ +\xfd8\xd0\x0d\xbc@\x90h\x1fD\xc8\x85\xc7\xed\x9e\xd6\ +\x01\x0f^\x05\x1a6\x9c3[\xce\xf5p\xd5r\x0f\xc2\ +\x0d\x1905\x88q\xdd\x9f\xe84\x04\x04\xe6_h\xfa\ +\xc6\xeb\x03\xb1\xa1\xf4m\x99\xce\xec(;2\x882\xe4\ +\x1cX\x14\x8c\xdch+@\xb0!\xad\xb5\xefK\x00e\ +\x03\x00<\xa8\x89\x1f\xbb\x09XP2\xd6\xb9\x01\x94\xe3\ +\xbfR\xf0\x0f\xd5n\x183\xb0~\xcfB\x92I\xbe\xd6\ +\xb2QW@\xe8\xe7\x16\xa2\x00\x10\x05I\xcd\xfeG\x12\ +\xd9\xbaL\x06H2\xc8D\xd18\xae\x02\xf6\x0b\x0c\x0b\ +\xccs\x91q\xe6\x08Y \x17J\x07\xe3\xf8D\x80\xd5\ +\x86\xa3\xbc@\xda<7H1U\xeaW,\xd4\xd6\xcd\ +\xaf\x84\xad\xd4c\x19\xa8\xa6h\xb1\x88\x88,\xefc\xdc\ +0*\xcc\x0f\xd7\x03 \xc1`@\x9d\xe6P\xa3\xea\x9b\ +\xe7\x1c1\xaf\x02\xd0\xa4:n\xfe6\xf4\xacW\x95\xdf\ +\xb1f\xb7\x00 \x945\x81\x95L\x9f\xdaT\x8e\x98\x9a\ +x_\x9e3\xf18%#\x18\x03\x9e\xaf\x0djP\x0f\ +\xadu\xe9\x00\xb5\xde\xbc\x8e\xc8\xab\x8d\xd2|\xb1\x8f\xd8\ +\x08\xc7v\x9c#\xa5\xcbu\x11\xbf\xd1\x17\x97\xa8\x0f&\ +\x06\xd5\xec\x04T\xaa\xdfkR\xe4\x050\x150\x9b\xf7\ +}-\xdf\x09\xddx{^\x99\x09\xad\xc0\x95C\x98\x99\ +\xef\xca\x80\xa5c\x83\xda\x5c\x0e\xaf\x0d\x19\xd0\x91\x81r\ +\xb5\x1d\xcb\x80\x92\xa3\xb5\xf9\xb7\xb0\x8e*K\x83A\xe0\ +\x8e\xda\xa7v\xd2\xe7\x01\x9e\x04\xf6\xa8\xa7\xa9\x8e\xbfw\ +\xbb\xd9\xcd\xba\xdd\xba\x8f\xc8P\x95X Q\xb4\x04&\ +J\x0d\x9bCMS\xc0xY_\x098M\x8f\x08\xeb\ +\x1c_\xe2}4\x10\x9e\x1d6/\x9b\x17\x87\xad\xed\xf1\ +\x8c\x93\xb6\x8a\xf6\xe1\x12\x9d\xc2\x98P\xeb\xaf\xf6Ui\ +\x81\x9a\xda\x14\xed*\x11\xb8l\xd7Y\xed)\x89ne\ +\xfb\x16\xd6\x89rr\xf4\ +9B\x021Z\x1ey.L/\x08\xeb2\xc1\x18$\ +\x19\xd8\xed\x0e\x84\xa5c\xf7w\xf9\x93\x01zu\xdd\ +\x90a\xa5\xa1@dT\x89Td\x18\xef\xd31\x89\x04\ +\x82\xfa\xd2\xd3P@\xc5\x97\xa1\x0cQ\xbd#\xd6\x92\x9c\ +\x12\xcf\xa4y@\x0b&\xf7\xd7\xca$\xa7\xaay1_\ +\xcc\x0f\xda\x0c_\x0a\x9b\xaf\xeb\x19a\x1d\x03 \x03-\ +j\xed\xe5\xb7\x08`\x01%\xc4N1\x8b\x94\x86\x01^\ +\xed\x87\xc9\x88\x98\xf6\xc3\xba\xfd3\x9fw\x95^\x00\x04\ +\x128\x01\x80\xc6.\x13\xfb\x0c@p\xbaYX\xa7q\ +\xa3\xcd\xe4\xc3\xc2\xba\xf6~Y\x12G\xe3\x003\x87\x08\ +\xa0\x12\xa8\xddK\xc3V-\x83\xda\xf7WQ\xc1\x05 \ +\xbdsXw\x8e\x10\xf7U\xb2@\x03\x82\x86\x05\x0a\xb7\ +\xb6\xb0\x98A\xa9iS\x89\x14\xfb\x0e`;\xf7\xfb\xea\ +\x16\x83jMM^\xc2\x8c\x06\x8e\x00&\x19\x19\xf5\x1c\ +3\xb1U\x19\x5c\xda)\x12_\xe9\x7fT\xb7\x82\xf4\xf3\ +6?\xb39\xae\x01\x96/\xd9\xbd\xb8\x95\x1c&\xa0\xb2\ +\xbbgXW\xea\x07\xa0\xb6\x9f\xf3+F\xd5v\xfe\xbc\ +\xb8@ \xca?\x1ak\xe7\xfd\x9e\x04D2\xe9\x0e\x13\ +w\x168\x8f%\x9aC\xe2\xaf\xf6]\xa2\xca\x12Q\xe2\ +$\x01\xa5s\x8a\x7f'\xd1:\xb6K\xe6\xbfY\xaf\x18\ +1\xbeF-\xb3\x11\x00\xf0\xb9\xce\xa5\xb1\xe4z\x14\xc1\ +\x1bK\x05\xcc7\xe7\xa7q\x13\xc0c\x0c\x9b7\xee\xcb\ +\xb8\x03d0:%\xb4%\x90\x8c\x87\xebs\xbf\x12a\ +\xfcw\x00\x05 `(m-&\x90\xf7\x137\x10\xc7\ +&\xb6\xe7\xb9I\x0c&\xc0^\xf3@B\xcc\xbc\xe7\x97\ +c.\xa5\x9f\xbc\xf9jX\xd7\x05\xc4ss\xbe8O\ +0`\xec\x9fc7\x05\x9f\x97q\xe2\xc1\xf6q\x9f\xeb\ +\x02\xc7\x1f7R\xf7\xfa\x07&\xbe?\x94\xa9\x170\x08\ +,\xb4\x0b\x14\xf8X8D\x03Q \x05\x80\xd1\x0e\xec\ +\xb8n\xc34!\x22\x0c\xef\xa9\xdc\xae\xc3D0Q<\ +h\x81\x18\x04\xed\xb8\xd6\xd8dos\xc5\xb053\x82\ +\x82V\x01\xbfL\xb7\x81\x17`\x8e\x88\x9f\xfb\xf7w\xd7\ +:T\xdd\xbf>\xc7\xcf\x01\x09#\x82\xe3>QN\xbf\ +\x95m\x88\xd4\x22\x09\xf0M\xb4\xa1v\xba\xda\xf9\x01\x22\ +\x042^\xf5\xe5\x94\xf1%\x0ef\x82\xaf%\x02\xcb\xc4\ +\x1e5\x10\xc6\xd2\x0a\xe3\xe2\xa0\xf6\xbe\xa8\xe2\x9f\x1b\xfa\ +\xd2k\xe3wZ\x06\x82G\x1c*f\xd1\x0a;.\xdf\ +\xdd\xd7i\xe9\x88\xa8\x9d\xd1e\xe0\x9d\xb9\x01\xe4\x01@\ +t\xa9\xfa\x98\xca\x88\x0b\xc4\xcd\xbf\xff\xcc\x05\xfc\xc1\xcc\ +\xe4\xda\xd8!\xce\xf7\xc9@\xf1\x97\xd2q2\x1e\xc6\xcf\ +\xc11\x8a\x22^&\xe7\x89\xf5! \xb6\xf1\xff`\x10\ +Ct\x7f\xda\xeb\x08@?t\xa8\x98K\xfd=\xe4\x16\ +p\x92\x0e{\x05\x9a2\xd1\x1c)\xc8\xb9\xeb\x11\x18\xa8\ +\xe1\x05Dq\x9c\xdd\x9fye\xdd\xd8\xb8\xad;\x9f/\ +\x10t_\xe6\xefOh\x13S\xf71\xaa\xf4\x8e]\x07\ +\xc6\x0d\xc8z\x00\x14\xf8\x02$\xb8/@\x93\x8cI\x02\ +\x1b2\xb4jTeZ\xea}s\xdek\x0bW5\xa7\ +6v\xeb\x19\xf5\xcf|\xe3\xd0\xa4\x03P\x8c\x01L\x02\ +\xfd\xb7\xed\x0b\xe6\xb7\x80.\xdb\x0e\xc98\x13\xbf+\xca\ +\xa0\x8d\xd9\xb8\xca\x0cG{\xb3\xfeze\xb41\x03d\ +(\x93\xcaW\xcc\x97\xd7\x84u\xcfO\xed\xe4\xc5\xc3:\ +\xad\x06\x99C\xcfK\xbb\x99l\x17H-^f\xad\x1c\ +kTj\xd4G\x07q\x0252\xf1\x02t\x22XU\ +C\x9d%\x05(\xa2\x1c\xf7\xfd\x0f\x85\xad\xef\xb79\x18\ +\xd6Q)}\x8eL\xea_-5\xc9\xfaf\x0b\xc8\xf7\ +\x1f\x1c\xb6\x028\xb4\x10\x8a\xe9\x90\xf3\x91X\x976g\ +\xfb\x1f\x08[\xd7S\xb5m\xfb\x95\xa5\x8f\xf4\xf6\xac\xb0\ +\xf9\xf5za\x9d\xea\xbb\x00\xd3\xbej\xbe\x03\xfa\x00\x90\ +\x19\x18\x95\xf6K\xeec\xc6\xbb\x00\xb5T\x1fW\x22R\ +\xb5\xbd\x09\x90l?\x16\xd6\xf5wV+\x9e\x01\xda\xf6\ +\xa9a\x9d\x98dR\xb0\xeb\x15\x85\xff/\xb3\xddY\x06\ +xUj\x82\xa1c>k\x9f%\xa3H4\x0cS\xe6\ +\xf5\xcb\xf5\xd6\xbe\xef\x5c\xe5\xb0\x00\xd2\xb4\xa5S\xe3\x7f\ +\xfd\xdd\xf5\xda}\xe5\xfa\xda\x7f]X\xa3\xe4\xfe\x9f\xa0\ +\xe4n.\x16\xdc\xb0\xf9\xf5C\x9b\x0fnb^\xbf2\ +\xac\x03F\x9f\xd3\xacD#\xab\x0f\xbd\x8c\xbcvg\xda\ +\xfb%\x15Z\xa6^&\xa9\x02\xfe\xacqG\xd1\xdf\xfc\ +MX\xa7\xbe\xff\x8d\xd9\xfe+\x99\x04\xf3\xba\xdf\xbe:\ +lm7Wm\x1e9\x9a\x00d\x99\xe8\x00\xb2n\x9b\ +m5O\xces\xe1\xc8N3\xfb\x17'\x89\x00\x00 \ +\x00IDAT\xc4>\xae\x04\x120\x93\xcf\xa5\xf1*\ +\x8fm\xfb\xce'\xdb\xb9(`\x90\x01\x8f\xfd\xf0\x89\x1d\ +@\x08\x98\x0a\xe6\xe6i\xc9\xa8\xb8X\xa7\xc1\x93\xaa\xe6\ +\xb5.\x00N\xa9Y\xb0y[X'z\x955\xe9\xa5\ +\xfd\xf1\xc9E\xd3\xa82LD@\x95&\xf0\xc3h\xb4\ +d\x97\x85j\x8b\x1aM\x18\x9f\xda\x01\x9d\xf6\xf7l\x03\ +\xb8{o\x8a+^?K\xb4\xec\xd3\x80,\xa5+2\ +\xcb\xce\x89dpl^\x1a6\xff\xd9\xff\x9b\xde5\xbd\ +\xab\xd3\x92\xc8@\xb7D\xd30$u]\xb9ZX7\ +\x9f\x01\xd2\x80\x19~\x10`\xc4\xbe\x98\xed\xf4\x04\xb2\x9b\ +\xbf\x0c\x9b_?\x1f\xd6\x01\xbb\x18j\xce\xdd\x04\x94J\ +{\x22\x03\xe7\x86\xfbl\xd6\xae*U\xea\xa8\xcdl\xce\ +\xfb\xed\x8b\xc2:&\x94}\x83\xc6\x84}%\x01\x0d\xa2\ +u\xd3\x17\xc2\xd6\x00\xbe\xb4\x1c\x120)F\x06\xbfG\ + \x96\xda\x01\xd5\xf5\x05\x13)KT*P\xc60p\ +\x0ezn\x12\x1a\x99\xd0\xaan'\x02\x13\xcf!K\x18\ +\x00y\x05t\x10\xe3\x1c2\xf5D\x89k\xbejo\xa8\ +\xb4O\x17\xa1\xd4\x9a\xb1?\xcc{\xe4m\xda>\xa9\x14\ +0\x13]\xc5\xeczxX\x07\xc8=5\xac\x8b\x0b\xec\ +\xf7\x02>\xf7;&8\x05\x82J)\xd4\xfe\x0b\xdc\x89\ +\xb6I48\xb7%B\xf8m\x12q\xe6\x8f\x04\x8e\x9f\ +;\xc7u\x19\x91\x18\x13\xa0\xdb\xe7u\x03\xc2\x08\x11\xdf\ +`p\x8e\xe2\xd2\xee\x8f\x7f\xed\xfb\x91\x81`\xddx\x9e\ +c{\xbd\x01\x00\xa8\xfb6\x9e\xfcD~I\xee\x9f\x05\ +4\xf9;%u>W\xa2hd\x16\x88\x83$\xae\xf9\ +\xab\xfcY\xfe\x1a&\x83\xbf\x1f\xc5\x0f\xcds\xcc \xfb\ +\xbc\xdf\x07\x0c\xf0\xa3\xbd\x8e\xdd\x08\xd6\xf6\xe0KI8\ +?jl++n\x1c47*\xce\x04\xc4\x8f\xdd\xe0\ +\x00\xec\xd6+M)\xa5\x08\xc6\xd5\xbap\xce\x17\x03\xc0\ +@\x10\xf5s\x90\xf9 \x019\xe4%\x06\xe4\x8c\x8e\xe2\ +\xdc\xab\xee\xff\xb8s\xe8\xfb~\x89\xdf8\x97\xday5\ +\xfa\xa3X\xd8\x11-t\x5c\xa9\x12\x19\xf8*A(u\ +\xfd\xab6]\xf5\x15(\x80\xdc\x8c\x80\x85\x1b\x170B\ +\xc88p\xe3\x83\xf7~2\xd0\x02^j\xa1\xa8\xc6\x80\ +\x0e\x01\x93\xfbB\xad\xf1\xe0\xfd;\x0a7\xc4\x0bre\ +\xfcl\x1c\xfe\xce\x84\x1e\xfbR\xba\xde\xb1fg\x14_\ +s=\xfe\xdd\xc6\xe5\x80\xb3\xa0\x04\x8e\x90G\xe3e\x03\ +Z\xafk\x99\x904\x0cLx\x0b\xee\xcbKfv\xf3\ +sam\xe1\x1f\xda\xc6\x91\xf8\x1fd\xf6S\xc9\x1cH\ +D\xab\x9e\x8b\x80[\x86\xd8\xab\xe7g\x1c\x7fm\xc9\x84\ +mn\x92%\x18\x10h\x8e\x94\x0c\xbe\x9aQ\x01\xc5M\ +S\x8d\xf8\x929_\x04\xdc\x00\x06\x07\x9a\xf1\xd3.\xe8\ +\xfd\xb9\xd0\xcc\x1b\xf3M`e\x03\x5c3\xe3\xcb\xab\x0c\ +\x8d>\xed\x9fOU}\xed\xb986\x16p\x06zU\ +\xc3H\x957\xc5\xb9P\xa3\xeb\xb9\xca,\xf9^\x1f\x5c\ +\x8e\xb9\xbf\xcfR\x92\xa2\x949\x90\xac\x13\xa2<\x1cS\ +\x1b\xb7qP\x03i\x03\x17X\x9cg`\xb2\xe4\xbc.\ +\xf5\xd5\xb1K\x84\x0d>\x03\xber\xb0\x88\x9e\xc8\xf0\xa3\ +\x22\xaa\xb5\x07D\xa5\xc8\xd0\xe6\xc9a+\xf5\xb7\x1c&\ +\x99\x1c\x81\x03d\xd7u\xc9\xac\x13\xcd\x1b3\x04\x99\xd9\ +\xb4\xfe\xcb\xf1\xb1\x0e\xc7~\xbc\x0e\xc0tl\xb7'\x86\ +u\xed\x06\x01<\xe6\xad\xe7\x9c\x07\x7f9\x1cJ\x08d\ +\xd6\xcdG\x07\xbf\xf1\xf3\xf7\x1cC\xb5\xb8(\xd2\xa9\xa6\ +]\x07H\xf6\x85.\x07_\xa6\x13`CLI\xed\xb7\ +\xfb\xb2\x0f\x08\x90\x8f\x0e[32\xdb\xdf\x0d\xeb4\x1e\ +\x04\x9c\xa9\xd2]\xe7G\x06\x92\xc5\xa8\x02\x80f\x006\ +\xdd2\xac{~\x0e.\x801\xa0\x07S#\xc7\xad\xb5\ +G\xfb\xeb\xae\x9db\x96\x90\xec\xbd\xb0\xd9*\xfe\x95\xed\ +\x1f\xa7\xbf\x0f\x9b\xa7\xe3\x8b\xc3\xd6~\xf4u\xa0\xe7\xb8\ +n\x9f\x176\x1f\x8c\xb7\x0e[\xa9\xe45.\xceG\xda\ +\x09\xc4\xc6\xb2\xe4\x01\x95\xb5\x02D%3j\xd1\xf5\xcb\ +&Z\x98\x0c\x89r\x04\xae\x96\xfd\xc8\xffG\x8ai\x11\ +u3\x9e\x09\x04P\xe5\x9e^\x17\xd6e:3P\xde\ +\xfc{X\xc7P\x11 \xa8=\xd7FqpX\xab\x9b\ +\x06\x07H\xc9\x15\x87[\xa0}rv\x11 \xda\x88\xd9\ +\x92\xd4\xd1\xed\xed\xc3r\x1f\xf9\xd1\x9a\x81\x9f\x1e?=\ +a\x0a-\x83k\x87\xad\xfb\xe3\xf6-a\xc9|8\xaa\ +\xcb\x04\x13\x13\xa6}\xf0\xfc\xb0Uu~szX\xcb\ +\xa4\x1e\xdf2\xa9\xc4\x16\x950r$\xd3\xcf\x99N\x0e\ +[\x19\x1f\x05\xccxn\xa9\xbe\xee\xdc\xde>2l\xfe\ +\xf9\x85\xc2\xd6\x00TiA\xed\xdf\x02\x95\x5cO\xc43\ +\xa7o\x855\x91\xc1P\xd5\x89\x00z\xd1~p\x9e\xbf\ +\xbf\xfd$\x98\x15\xa7\xeeNm\x00\xe6\x05[\x89\xa0\x9a\ +\xddc\x96\xaeG\xad\x14\xed++\xb0\xd2$\x9a\x8f\xcf\ +s\xf5\xecN\x9c\xed:\xad\xc1l\xb4\xb7l\xcc\xa9\xf2\ +W\xf8EYbS\x22\x7f\xff9\x8f\xdf|~mO\ +\x0a[\x03\x04\xd4r\x81i\xb5\xa9\xb5\xce\xf3\x1c\x9a\xfe\ +2l\xfe\xf7/\x85u\x14~m\x163C\xbe\xf7\xf2\ +d\xba\xfci+\x86[\xa9\xc6\xf7\xdf=\xa0i_\xd8\ +'\xf2\xb9W\xfb;j\xf8\xa8\xfd\xda\xbe\x02\x82h\xb4\ +\xc8\x88\xf1\x1b\x8d\xc7y\xd2\xef\x04\xf0\x8f\x22g\x02\x16\ +\xc0\x18\xe6\xd9\x0f\x93z\xcf\xbf\x010\x13\xb3\xe3\x97\x8c\ +\xe2j\xee\x83f\x11\xff\x11\xa0\x9b\x19\xfa\x02\x9c\x93\x81\ +4\x9d\x19\xb6\xfaK\xc5\xe0\xfb\xb9\xd6Hp\xf1g.\ +\xbbv\x85)\xff\x81?\x99Z1\x9e\x0b\xed\x95R\xe9\ +\x07\xc8eW\x90R\x8b\xe7o\xca\xb0\xf3\x03\xec\xff\x00\ +r@\x1b\xa0@\x9bN%\x94\x98X\xce\x15@\x22\x0d\ +\x1b\xe7\x99\xaf\xb1D\xd5u(\x91 \x1e\xc8\xffH \ +\xb8\xba\xc0\xd0\x8eq\xde9'\xedg\xce?\xcf[b\ +`\xe8\x12P\xfb\xbfqM\xe0\xd1>V\x99^L*\ +ZM\xae\x8b\x9f\xc4\x0f\x12\x17\x98\x1f\x98\xb9>\x7fL\ +8\xf2\x8fi\xc2`<`\xe6\x8e\xd4v\x99{\x19m\ +\x0c%\xf3\xcf\xe7)\xd5\xa2\xfd\x80\x09\x0d\xa8\xc5<\xfd\ +I]\xd2\xdc\x9f\x00\xdd\xabq\xfbB%\xfc\x0e\x01(\ +J\x94nL(\xf2\x0f%\xc0\xf8S#\x85\x9e\xc6\x05\ +\xbf\x0c\xb3\xceu\xf3;\xf9\xbb\xc6Y<\xe2~<\xe7\ +1p\x17x\xbbn\xfe\x1b@r\xd0l\xd8\x1c\x13\xd6\ +1<]\x87\xe7\xe4\xfd\x8d\x1b\xf1\xea(\x9d\xbf@\x17\ +g\xb9\xef1n3O\xb5\x0b\xc6\xa8\xa2A\x97\x80\x17\ +\xed\xa2J\xac\xdb\xaft\xc9\xd06\x13\x93F\x5c`\x5c\ +\x87\xc0\xdf\xe7\x1f\xac\x89\xa7\xbd\x9e\x05I\xe4\xc7\xc4\x1e\ +\x10\x9e\xca\xe4\x13\xd7\x12H\xf4\xfd\x22\xcf\xe86H\x1b\ +.\x80\x00\xb5\xdf\x00@tm\x1b.\x87\ +83H\x95A0\x9e\x0e\x0c\x9f\x8f\x22\x98L\x1e\xed\ +\xf66\x7f\x1c\xd6e\xa6\x1c \x0e\x06\xeb\x13R\x9a@\ +\x09\x87\xbd\xdaU\xd9\xb0}\x9e\xfdC\x1f\xed\xbf\x09\xeb\ +\xda#\xca\xe4k+\x93\xd4\xf8Z\xef\xe6\x95\x03L&\ +\xcc\xc1n\x1er@Q7\x07\x95\xe2\x12\xb5{HX\ +G\x9dW\x83\xad\x16\x0cc k\xb7\xe7Y\xbc\x00\x1f\ +\x1cR\x8e\x12 +\x03\xc7\xda\xe7\xd5\x94\xdf,l\x15\ +s\xda|$\xackOh\x1e\xa8=M\xea\xb2\x1a\xe3\ +Rc\xe7\xf0fW\x03m\xe8\xec\xeb\xa5\xbe\xad\x06\xd0\ +\xfa\xb4\x0fq\xd41\x0b\xf29V\x0d*`13\xe4\ +\xd3'\xc2V\x80n\xff.a]\xcdyv\x9d\xd8~\ +;l~\xbd\xfb\xf6n\xdb\xbb\xcd\xd3\xf3\xcda]`\ ++\x83\x05\x80\xfc\xcbdD$\x05\xb8j\xc3\xcd\xcfd\ +2\xed^\x94\x01\xbcZ<\xd7\xad\x9d\xd6C\x9aUI\ +\x83\xf3\x88H U\xff\xe9>a\xf3\xf5=7\xac\x9b\ +\xbf9N\xe6a\x9dg\xce\x87\xcc\x0cT\xa0 \x93\xa2\ +6\xd8\x17`\xdbyk\x9fN\xe6QQ\x91\xd5N\xa7\ +\x06\x84\x00\xbc\xf6\x89K\xe4\xf9s\xd1\xcdE6\x17i\ +L\x99\x16xLI\x81\xde\xdch\x0e\xd8n\xb4R\xc0\ +\xa77\x85um\xfc\xc2[\xf8Z\xd7\x8f\x1d#\x03\x15\ +;\x01\x04\xc0\x9dy\xba9>\xac\xed[\xe7\x8f}\xab\ +\x89%\xbd\xa3\xfd\xbc\x95*N\xd7](\xf9\xba\xad\x94\ +J\xf9e\xc2\x9a\xff\xd1\xfc\x94\xd0\xea\x0f\x80\xa12\x99\ +\xa8\xe29^\xd3\xc5\xc3\xd6\x00\xb4\xf6Q\x80I\x06\xfe\ +\x05\x84\x04\xa3\xe7\x9c\x8e\x01\x82\xb2\xfa\xe1\xa6\x02\x13\x8e\ +c+\x91 \x12Z\xcc7\x01\xc5\xe0X\x16\xa5\xd49\ +\xf6\x1f\x99\xb8\x01\x94\x85\x18\xe5^W\xcb\x9c\x80\xf3\x98\ +\x00\xd1~\xae2\xe22\xa4\x98MJNr~N_\ +\x0e\x9b\x7f\xefea\xd9-\xe1\x0e])e\xb8\xa1\xef\ +X\xc5\x07KS\x80X`\xec\xcb\xcf\xcf\xf6\xb7\xa1\x19\ +\xf0\xc1\x90\xb5l\xfb\xdc\xa7\xda\xf5\x7f\xb8\x15\x9f\xac\xed\ +Ro\x90\x80#5}@K\xb6m+J2\xeak\ +\xce\x97V\xa2\xf1\xfc\x0e \xca>\xf6\xb5>\x9d\xcf\x09\ +\x88\xd6\xb9\xe3\xefe\xde\x88\x15\xde%Kl\xd2Q\xde\ +\x5c0\xec\xf0\xda\xfa\x12\xd9#\xda\xca\x1f\xb0\xdf\x13\xc3\ +\x05\xa0(1#\xbeHD6\x99E\xbb?\x09\xeb\x80\ +\x9b\x81a8\xdd9,\xbbu\x9d\xbfK\x9c\xf0w\x94\ +*\xf2gi|\xdc~\xef\x97\xdb>FC \x01\xe9\ +\xba\x1f\x22\xab\xa8\xf5\xc9\x1c\xa8s\x1b\x00\xe9\xbc\x90y\ +\xd45EW\x0d\xf3\x88h\xb4.8J\xa6$j\x9e\ +\xd6l=\xf7~8t\x87\xe2\x7f%#J@T\xa5\ +\x9d\xd9\x86\xb1\x12\x1d\xce\xbd\xb1\xc4q\x107\xacs\x5c\ +@k\xff\xf2\xbc\xac\x7f]\xb8\x00\x7f\xfc\xdc1\xc1\xc0\ +_\x07\xa8H88\xb7F\xc6\xa4\xf1\x1c\xb5\xc1F\x11\ +\xe7!#^\x89&\xf3\x98?#\xe1\x04p\xf1s\xa5\ +>\xa9%U\x81\xe5\xd8\x15\xca\xfb\x1b\x8fM\xc9\xc2/\ +_C\xe2\xa6\xce\x19\x8c$\xb5\xec\xaeObs\xbc\xef\ +Q{m\xd4r\x13\xd7y\xfe\xfc\x0a%\xba#P\xc7\ +\xaf\xe4\xdf[\xcf\x9e\xbb\xcf\x15_\x9a\x07\xc6\x87\x9f\xc3\ +O\x1f\xb5\xaf$\xa4R\x94\xb4\x18\x07\xae\x0f \x96\x0c\ +\xb2\xfa\x1c\xc0\x968\x93\x1f\xc9\x0ft~\xf3\x9b\xf9\x7f\ +\x02w\xa5\xbe9_\x89WV\x09%`,5\xd2:\ +f\xde\x92\xd0s\x9f\xd6\x81\xe7f|\xc4\xf39>\x07\ +K\xe4-jH\xae\xd8\xb5\xe9\x13\xc0\xc7\xe3\xef\x91 \ +\x01\x02\x87\x0b5\xdc\x86\x91T\xb7j\xdfg\xc2\xf8{\ +\x94v\x22z\x91y>\xa1\x9b\x00\x1e\xc0UZ\x88\xba\ +~\xd9\xe0zU\xc9\xefv\x1a\x04c\xad\x8d\x07bA\ +r\xb8-\xa0\x9f\x19(\xda(\xb4\x02\x19\x0b\xdb\x01j\ +\xe2\xa2\xd6\xf8<\xc8\x17\x15h\x818uy\x7f\xe7\x81\ +\x08\xd8\xd3\xf1\x8d^\x0bM\xe4\x0f\xd00R\xfb]\x8f\ +\xeb\xf3\xf76x\xcf\x03\xf5\x10\x05\xd2\x836a\xd5p\ +\x09\x90M\x8cKe\xc6=\xdb\x12\x16\x8b`\x9b\x1b\x81\ +\x0d\x92ch<\x1cL\xa7\xe7\xc4\x86h%@P]\ +\x1fn\x94\xc8\xaf\x05\xa1\x86&\x03\xa5\xed\x83\xc2\xe6\xdf\ +{OX'\x02&\xb3\xa2\xe6K@\xa3\xb4\xc1\xcf-\ +$\xcf\x01\x12F,\xeeb):8\x22\x86\xe6\x85\xeb\ +\xc9\xf6\x88\x95\x01F\x113o\x8f\xae~\xb3\xcb<<\ +O\xd6\x16\xa1\x9a\xdf\xf3\xd0\x9a\x22\x8eGe\xce\xce\xcc\ +\xbe\xc9\x073c\xaa\xd6P\xc67k\x0c\xf5y%j\ +Hdl{\x97\xb0\xae\xf6\x1d\x90\x82\xa2\x0e\x915o\ +\xb2\xadUe\x9em\xa46t\x0c\x17j\xa2\x10|\xf3\ +\xca\xc1l\xbd\xd9pG\xca\x94\xdf\x07,\xd9\xb8\x89\xe9\ +q\x8cm|\xe6\xa5\xdf\x13\x88\xfa\x1c\xeb\xf1rC\xfb\ +H\xf3U\xf7\x8aT\xa3\xad\xfe\xf2\x97\x0b[\xc5\x80J\ +\xe3\x025Z\xd7\x07%;6Z\x19R\xfb\xd8\xe5\xb3\ +M\x9c\x03\xc7\xbc\x97\xc1\xc9\xae\x04\xf5\x05@ \x96#\ +C\x0b\xd1\x05\x14=}j\xfat'6\ +y\xaf\xd9\xee\x99\x00\xef\xdd\x12h\xfetG\xdd\xff\xe6\ +\xe6[\x9bov\xa50\x7f\xb2\xf7\xf8\xc8\xc06\xd1\xca\ +G\xb5u\xb6dLR\xb3h\xf7\xc2\xb0F\x11\xfdD\ +\xa3\x88^}~ZW\xef\xa8\xe0\x18[\xa9\xa5\xb2\xbb\ +\xd4\xee\xd2M\x1c3\xe7\xeb\xe6\xb4\xcd\xe9\xd1\x87y\xfb\ +\x98\xb0\xee|\xce\xfb\xa9\xfd5V\xcd\xe7r=\x9c\xd4\ +\xa8\xf67l\xed\x01\x13H\xd5\xfe\xb1\x02)%b2\ +\xd8\x023~\x83\xcc\xaa@\x0cc\x08\x93B\x89\x87s\ +\x8b#\xca\x1f\x91\x01\x04\xa4\x03\x14?\xb8\xfbPcx\ +\xdcu>\xf7\xee\xda\xf9\x13\xf6oTw\xa5\x22\xb1\x1b\ +\x87\x0a\xf5Kf{i\x07\xec\xbdb\xf7\xcaFi\xff\ +\xfc\x02\x0c\xec.\xbe\xbbd\x88w\xee\xdd2K\xd7|\ +\x1e@1\x03\x86\xdd\x1b\xc3\xba\x9aym\xf1\x00f\xc9\ +\xa0\xb2\x8f\x15\xd5\x9bx0\xf17\xe7\x93\xf9\xa8\x1b\xca\ +\x09\xd9G{\x9b\x1a\x10\xd7kE\x06%:\x0ah-\ +\x86\xa0\x80\xc0>\x879\x96\x80\xdc\xee\xf2a\xdd\xb9\x07\ +\xa8\xb4_\x00\xae\x05\x84\xfc\x0d\x997\x80\xad\xf6v\x80\ +\xe8\x0c\xac\xa7\xdf\x0f\x9b\xa7\xd1=\xc2:\xc6\x81\x92U\ +\xf3\x93?\xeby\xf13\xed3\xceM\xe7\xec5\xe6\xb0\ +\xf5\x1a\x0d\xb8{P\x03\xee\x00\x10\xf6\x05\xd7!\xb1\xe5\ +>\x9d\xbb\x02v~3\xbf\xd2}b\x12[\x0f\xceA\ +\x9a\x17\x80u\xef\x87b?\x94d\xd4x\x11\xbd\xcb\xef\ +k}*\x91Q\x1b\xfd\x7f\xc3:\xf1`\x81\x90q\x8e\ +n\x1f\xdf\xed\x983\xfc\x17\x81\xe0&\xff\xcb\x00\xaf\x00\ +[\xe3\x22\x0e\xa0\xee\xcf\x9fQ*\x9a\xfb\xc4aZ^\ +\x80\x86/\x0e\x8cY\xaf\xfc\x8b1\x03\xef\xdf\x01\x1a\xfc\ +f\xdd.\xf4\x9d\x17\x90\x02\x9e\xed\xdf\x002\x80\x87y\ +MTPi\x9aL\xf2 \xeeY\x00\x80x\xcc\xbc\x05\ +X\x8c\x94}\xcf\x1d\xe0 \xb0\xf6\xef#\x03`\xa4\xe2\ +{\xf5{\x02\xf7\xb1\xa6_\x1cB\x9b\xeeca\x1d\xe3\ +\x18C\x1d a\x1d\x1b\x7f\x19qq\x9b\xeb\xe0\xd7)\ +q\xf2s\xcfedj\x8f\xcc\x0e\x09&\xcfA\xbbM\ +\xfb\xaf\xfb\x02L\x00\x02\xac\xd3\xfc\xbb\x12\xdd\xcd}\xbc\ +\xe2\xf2\xbf\x0e\xeb\xdaAZ\x07\xf6\x1d\xe7\xb8qr\x7f\ +>\xf7\x82\x15\xaf\x1c*v\x0f\x00\xa8\x80\xd9\xc0\xdb0\ +\xe2m\xfe\xab[\x00\x16\xae\xf6~\x83\x9ac\xb5\x93\xe3\ +@\xefe0\xd9\xf7]<\xa6\x1b(Z\x03\xe1~\x1f\ +\xd9MH\x03j\x00c\xb8/\xd2m,c_\xc8\xf8\ +\xf4\x9eBb\xe3[\x03\xd2\xe5\xbe|\xaeW_&6\ +\xea\xc6\x91\xd9\xbf^\x00b\x01\x99\xf82\xf3\xfe\xddu\ +B\xa2\xdc\x07\x8a\x8d\x83b|\x15Hz\xbf\x0b\x0e\xdf\ +[\xf8\x16\xa6\xcf7\x11m\xc0\x10C\x81\x8a\xe7b\xe1\ +jwa\xa3\x85p\x9a\x80^\xd7\x8d@\xbb\xc3e\x9c\ +\xc7\x0da\xec\x0b\x8a\xea\xbfI\xc7\xc7\xc1|\xfe\xbc\xee\ +QCA \x8fa\xa1\xb6\xcb\xc6l\xbe@XQ\xa8\ +\x89\x03R\xb1\x16PB\xb68J\x17\xcd\xf1W\xe3H\ +\xf58U\x80k|\xfd\xdd\x88\x1c\x0bd\x1f\xbcd\x8c\ +* \xbbj>\xdf\xbbf\xe0Hl\xcf\xfd\xfdj\x02\ +\x11\x80\x07\x94d\xda\x10\xd4\xde\xf5\xaf\xcf\x00@_\xdf\ +\xcd?\x86u\x07\x8c\xfb\xcf\x03\xb4\xfa\xbd\xcb\xb0x\xbe\ +\x1c>\x07\x92\xfb\x93\x09\xe48@8\xd5\x9c\xd9`\xa9\ +\x19[_\xc6\xc5\xfa1\xcf\x1cl\xa3\xba\xed\xd8\xaeR\ +\x9b\xaa\x0c\xb4\x8br\xe8\xc0\x02\x08\xca\x5c\xa1\xeaff\ +\xad\xe6\xcbX\x8b6\x00\x0d%\x02\x97\xd4\xc0\xfa|\xe2\ +\x9c\x00(\xd4\xf1\x5c72\xcd\xf5\x5c9\x0c2\xef\xda\ +\xc0\xe8\xce\x90%$EI\x06\xbc\xdc3\xac\x13\xbb\x82\ +\xe0\xda?\x87\xf1\x96\xd9)m\x07\x0c\x1d\x8e\xb6\xccS\ +R\xbe\xd5\x92C\xd2\xf5\x81\xad\xfd\xc0\xbe%\xc3\x94\x94\ +\xcf\x12\x89\x03\xb0\x9e\x14\xd6ep\x01\x05\xae3\x01\x04\ +b\x93\xe5\x90'#\x05C\x0c \xa5\xd6\xb5(\xa3y\ +\xff\xa8\xeds\x983[\x07\xec\xa4\xe3H\x94k\xfb\x83\ +\xb0\x8e2\xec@\xcf\xeb\xdb<7\xac\xa3\xae\xaa\xdd\xe6\ +\x90\x0aH\x88W]c\x01\xb0\x8aZ;\x96V\xe4|\ +j\x04\x89\xc8\xa4\xbev\x09\xdc+SF\xd4Ki\x88\ +\xcc\xbf\xfb\x97\xc9\xfc\xc7%`+*\xde;\xd3a\xa4\ +z\xae\xf4A\xf7\x81\x7f\x0e\xeb\x1c\x86\x04\x9c\x0a \xa1\ +zM\xdcP\xe6\xff\xfeK;\xc0*\xb9\x00\xec\xa2|\ +\xaa\x99\xa5:\xfe\x1ba]@\xeeD\xdd\x88\x84\xd5\xbe\xcbAJ\x86B\xb5\xeb\xb2\ +^\xb5\xcd:.l~\x9fg\x86u\x19\xef\xd4v\xa8\ +\x12\x15\x0c\xa5\x0b,\xc0\xc8\xee\xfd\xbb\x0f\x848\xd1\xee\ +W\xc2\xe6\xe7\xf1\x84\xe9\xf1Q\x0a\xb0\xf9t\xd8Zk\ +\xbb}MX\x02\xd3\x97j@R\xeb\xf3]\x22]\x09\ +p\xec\xceY2\xec\x95\x91\xbfO\x8a\xd0\x05@\xf1\xe2\ +U\xbc\x8d_b>\xed\xae\xb2\xcc\xd3\x02 \xb2\xc6\x1d\ +\x13\xa2\xfa\xd5c\x02f\xfbQ\xfb\x80\xcc\xeb\xee\xe5!\ +;\xbb\x96RT\xfb\xb3\xdc\xcf9f\xd1\x0c0\xa8\xca\ +2\xa3\xd5\xd5B)\x8e}\xed\xac\xc1Q\xb6\x7f\xc8\xa4\ +I\x18d)X\xcdo\xddr\x00\xbaj\x96\x05\x5cc\ +\xe9Tf\x94\xd4~W\x89\xca_\xec\xfegc\x16=\ +~\xf3'\xd1n\xb2\xf6\xcb\xb3\x97\xb6\xd0\xed\xfa\xe2:\ +~3\xbb\xda\x9c\x7fa\x5c\xb4\xa6\x87\xc1\xac\xb8\xeb\x02\ +\xe0`\xf8T\xa9\x83\xf9\xa3\x1b\x0e\xffM7%\xeb\xe3\ +z\x09P_m\x09\xa01\xd3*sL4\x8fx]\ +f\x86\xab\x9bB2\xa5\xa8\xfe\x17\x80\x9dL\xbd\xf9\xb9\ +\xcf\xd6\x80\xd9\x7fn\x0c,\xfe\x92\x0c\xb9\xf3\x99(\x1b\ +?k\x04\xa2%\x1e\x00\xc7j\xe1\x05\xc6\xb9\x0ek^\ +\xa1\xb4\x13\xffs\xbe\x09\xa8\x9d\x1b\xd6Qv)\x99\x1e\ +\x166\xdf\xd7g\xc3\xba\xf3\x8d?\x801\xe1s\xd3\x7f\ +\xdb<:\xac\xebn\xe2<\xd0\x8d\xc6~\x8d\x99\x93\x0c\ +\x9a\x0a@\x5cO\x8a\xbd\x1e\x06\xcc'\x83BM\xb9\x12\ +\xa8\x0a\x84\x05\xa2\x00\x0eL\x14\xe2\x9d\x18\x879\xee\xbb\ +\xdf\x0a\xeb\xf6o\xe2\xc6\xce\xd5\xdcw\xf8\xaf\xba\xcf\xc8\ +\x84n?\x1c\xd6%\xe6\x00\x9c\x027\xe7\x1d?fL\ +\x14\xeeg\xfc\xe0>\xf9\x03\x80\x8b\xb1;\x96\x9a\xfb\xbc\ +\x8f\xcdM\xc2\xba\xfb\x17\xf8Z\xbf>\x9f_\xees\xf9\ +\xed\x02C\xbfo\xbd\xc8\x0c+\xc5\xfa\xdcR:Z\x00\ +7\xe0\xd0:\xc2t\xd1\xbe\x0e@d_7\xef\x04\xe8\ +cbqdF\xf3\x03\xc5\x1d\xfc\x0d\x09\xb71\xc3n\ +\xfc\x05\xa2\x00\x8eQ\xbc}\xd4\x962\x1e~\xee\xf3\xad\ +?~\xb9x\xca\xfb*\x85\xb0_\xfb\xc2h\x1f\xda\xed\ +\xd5\xab\xae$\xc9X\xaay\x010\x18\xc5\xe5\xc7\xf8q\ +()\xa9\x12\x01\xa5\xb5\xe2d\x9aO\x9e;F\x97q\ +\xb2\xafH\xa8z.\x9e\xbbyG\xfb\x0b\xc3\xc3\xf3\xb7\ +\xce\x00B\xc6\xc5\x97x\x16C\xd2\xf8y\xcd\xfb;X\ +\xc8\x12\x0a\x17\xca\xbc\x05!\xa3\xaf\xed\x9f\x07sFR\ +\xf68zb\xfe\x10q\xfav\x97\x81\x8b\xc79u\x03\ +\x13\xc3&p\xb8H\x1el\x97\xed\x02\xff\x14\xf1\xab\x89\ +\x19\xc3t\x5c'\x1ax|\x0b\x05\xd7\x7f?&\xc5r\ +\xc6\x80\xd9\x84\x1d).#\xd5\xa5\xd70\xf8Q7\xa0\ +\x02\x1d\x13D\x061\xfa\x95^\xfb\x5c\x90]\x1b\xb0@\ +\x065ih\xbbW\x19\xda\x8b\xe7\xcf\x05Pc\x1fy\ +\xefk\xe1\x98\xd0\x02d\x07\xd2X\xdb\x02\x900\x9e&\ +\x9a\xc0\xd6\x81\xe1s\xf3\xf36\x07S%V\x09\xc8\x8f\ +\x07QDm\xf8\x1c\x14\xfeN \x96\xa5\x04u\xddj\ +\xbc\x0fff\xb1~\x9e\xe3O\x8c\xc4\x86\xed\x15\x85\xd1\ +\xf3\xb5\x10\xff5k\x9a^\x95\x8e\xab\x8d\xc2s\x90A\ +\xd5^\xd1\x86\x8cr.c\xacm#\xca\x97\x8d\xd88\ +\xa9\x05\xfb\x83T\xc7\xfe\x9d\xa5\xafsi\x0a\x9c\x1c\xd6\ +\x89\x11\xa6\x1aoQ\xe3\x04t\x02<\x81k\xbf\x07\ +\xe0f\xb7\x83j\xaf\xa6\xf4@\x00\x91%&\xdb\xbb\x86\ +\xb5\x9a\xdd\xa5\xcd\xe2\x91\x0b3czn\xd8\xdaN\xad\ +\xb4I\x04\x1a\x0f\xdb;e\xef\x94\x96\x19k\x0c0\xa5\ +l-\x8f\xfd\xf9\xa6)\xf1\x82P\xffo\xbd\x81z\x07\ +K;BZ\x0a\xd7\x98\xef\xfe\x1a]\xa0J\xfd=\x00\ +\x8cw\xad\xebF\xe9C1\x90~9E^e\xca\xbf\ +\x92\x8e\xa0}\xec\x82\xe9\xd78\xcf\xae\xbd\x00\xca\xbb\x13\ +\xc3\xba\xd2\x9d\xdcgK\xbcT`\x97\x9a-5\xbf\x00\ +\x01\x008L%\x00'\x07\xff\x84\xf9\xf4:a\x05\xb6\ +\xaa\xd6\x1b\xf3\xe7\xcas@}\xe5\xb5\xc4\xaf\x00\xab\x17\ +\xe4x9wi5\xe8Z\xa2\xf6?\x19A\xbb\xdb/\ +m\x9b\xa7\x7f\xca.\x0e\xf7[\x183T\xfa\xf7~)\ +5\x17\xee\x98\xf3]W\x93d\x0cMW\x0d\xeb2\xc0\ +\xd6\x155l\x80\xf7\xe3\x9b\xad\xa5\x1f\xfc\x1c\x99{\x89\ +\x8bd\xd8U\xa6T l\xbft\xfep\xa4\x13`\xa3\ +\x1e_\xda\x05y\x1f\xe5\xf7e\x89B\xa9\xf5\x03J\x94\ +R\xf1\x0be\xe2\x93\x01T\xe7r&\x12J\x149\x19\ +e5\x8f\x5c\xcf\xd8\xee\x1a3\x05S\x03SI)\x0f\ +1B\x00=\x00#\xe7I\x01\x8b\xbax87SK\ +\xa4\xc6ol\xcf\xa6\x94\x0f`\xebyf\x80Z]Q\ +Fm\x0d\x22\x99\xf6I\x8cGL>\x09\x95<\x7f\x9d\ +\x1b\x05Lg\x80T\xfb\x15\x11\xdcO\xb6\xa2\x99U4\ +0\x01\x89\xc3\xfa\xa3\xf33\xf8)\xe6\xc5\x988C\x81\ +\x07\xec?-\xac;\xbfi\xb7`H8\x9f\x00\x04\xbe\ +w~\x00\xc2S\xeb\xa4\x9e\xa3\x80\xda\xbc@\xb5\x97\x80\ +s\xae\xf0\x0f\xf8A\xfe\xdd\xdfY\xd7\x02\x5c\xfe.`\ +c\x14]\x17\x17\x0dm\x9dG&\xef!]\xdd>\xd3\ +%\xe6\xc6nR#\xe3Ab\xc3\xfd\x8e\xaa\xf8>\xcf\ +\xdf{\x1e\xfcATw\x1a\x10c\xfbA\xf1\x9b\xfb\xa5\ +\xe5\xa1\x94J)\xe6\xc0\x04\xa8q\xf3\xb9\xa3\x96\x81\xf7\ +s\xce;O\xfc\x1c\xc0)\xfe\x04|e\xa2\xcb\xba,\ +\xe6\xad\xb8a\x04\x00$v\x88\xc3\x03\x02090\x1d\ +\xf8\xb5\xd6;\x7fX\x9ch\xbc\xc7\xae\x159O\x0f\x1e\ +\x22\x9a\xf1\xd5s\xa1L\x1c\xd1\x1a\xc1\xad\x99\xf8\xb1\x8f\ +\xb7\x00\x17\x22\x92\x22>\x15p\xba\x10@\x80\x0b\x82\xac\ +\xec7\xf2\xf9\xb2\x81\x1d\xd5\x05\xf4&@|\xda\xf9\x86\ +\x8cd\x1f\x98\xf7\x81\xfa7\xbb\x00\x06\x95\x09\xb5\x97\xc8\ +\xdd\x85Z\xee}]\xc8\x168\xea\x8d\x89l#@U\ +\xc2lp\x10[@6n\x81\x80\x052Nd\x19v\ +\xedw.\x94\x8e\xecU\x87\x1a\xf5qA\xa1\xb6\x08\xa0\ +\xf2\xf3\xaa\xe4\xc2\xc2\x01h\x08\xec]\xf7\xf9\xc2\xba\xeb\ +\xee\x9f\xc7\xae\xabu\xc9\xb6>\xd5\x06e\xa4h\xdb\x88\ +;\xdb\xfd\x99\ +\xe06D5g\x02h\xd4F\xe3\xc01\xf5\x9c\xc7\xc0\ +\xd4\xab\x80\xd7\x01\xa2-#u\xe4\x01H(\x8a\xe1\x91\ +\xcbB\xdd\xdc!\xb5\x06NY\x1c\xc1\xbdc7\xb35\ +\x84\xb5\x1d\xc0\xd5F\x10\xa5>\x1d\x09@@9\x1eT\ +\xd1Q\x92\xd4\x0e\xbb\x9f\x8b\xe4s\xb9yff<\xa7\ +\xcc\x18\xb9\xae\xaa\x1d\xb7\x91\xa6#P\xa2P\x1c\x17\x01\ +\x87L\x87\x0d\xdcFi^@\x82m\x94c\xc0n\xa3\ +3/\xcc[\xf3\xd9A\x8e)a\xa3\x14\xd8\xd8p\x88\ +\xb7$\xe5XF\xb3\xc4\xb18\x18>\xc7\xf5\xd9\x98\xc6\ +\x8d\xcb\xb8\x99O\xbe7o\xbd\x9e=\x88M\x8e\xaf\xe3\ +~f\x1f\xb1^\x1c\x00\x0e$\xed\x9d\xec\x07\x09\xbcl\ +\xde\x12\xd61\x0bd\xe8\xb5\xc7RB\x82\x19\x00@\x90\ +\x09\x02 \x0a\xe8\x01PD\xf1\xd2a)\xaa\xbd\xf9\xe1\ +:\x94\xb8\xa8\x19\xb6\x0f\xd0I\x7f\xa6\ +J\x97\x1e\x1e\xd61q\x94\xcc)a\xf9\xe7\x0c\xfc\x04\ +\xce\x00\x03\x00\x05\x06&@\xc5\xf9\xe7U\xbb\xbe\x046\ +; k)\xad\x13\x17$\xc0R~\x8a\x00T\xc0\xa8\ +\x94C\x80\xe9\xf3\xf8}\x02T\x00\xab\x00\xcf\xf7\x98\x03\ +\xfcr\xc0\x00\xbf\xdd\xbc\xf4yD\xedhN\x8d\xfe\xbd\ +\xf9|\ +\xb5{\xa0\xba\x0a\xa4\x03\xdf\xda\xaf\xbc-\x1d\xeb\x8bd\ +\xa0z\x8dn\x22\xc74\xf9\xfe*\x02\xd8n\xb3\x13\xa1\ +\xa8\xbe\xaf}\x9f\xcd\x1e\x19\x01\x04\x08\xa8\xb4_\xd0v\ +O\x8d>\xaa\xb5W\xb5\xd5\x16\x06`ad$\x8c\x07\ +\x86\x1a\x8f\x9bg\xe6\xcf\xefA\x92\xbc\x8f\xf7\x95Y\xce\ +\xeb\xac\xbf\xff\x85\xb0\xce\xb1\xf7\xe0m(\xbe7\x11\x8b\ +\xaa1L\x1c\x13\xeb'\xf57\xb5\x90\x5c\x7f\x8e\xeb\xe6\ +\xc4<\x98\x5c?\xf5v\xa5\x14j\xd0W\x84x\xd9\x08\ +=\x0f\x19_\x13\xd5\xc2\x1b?_\xe0\x89\xfa\x92}u\ ++\xd3iC\x94!\xd3\xc7\xf6\x22Y+v\xde\x04B\ +\x00\x0e\x1c\x16\xe2{2\xb0\xefY\xdew\xef\xac\x14%\ +\xf4|3\xc0(\x11>\xfdn\x93:]\x011 \x03\ +\xe0\xf3\x95\xbc\x9ft\x90\xabdB\x8d.\x91\x1b\xed\xed\ +dB1\x0e\x92\x82Z\xb5\xc1\x9e\xeb\xaaM\xb0|?\ +\xb6\xdb\xb3n\xa9\xc1\xea\xbb\x9e\x01W1'\xfc\xfe\xda\ +&r\x99\x0f\x1c\x0e\xaf(\xf2\xef^(\xb9\x85<\xda\ +\xe8\x86vv\x15\xf8\x99g\x00\xa0\xf1@I\xc7cs\ +\xf1\xb0\x8e\x9aj\xbd\x0c\xf3\xea0\x00\x0b@\x96j\xbd\ +\x02\xd2\xc32\x9aj\xe8\x1dT\x0e\x08\xfb\x0b\xb5_\x07\ +/\x00\x0d%\xdcA \xf3\xce\x91s_\xc69E\xce\ +\xd4P\x97#\x9a\x94\xf3\xd2\x04\xc04\x00\xe8@\x8c\x1d\ +(\x0eF\xcf\xd9\xfa\xcb\x8cJ\x89ri\x87f\xdd\xa4\ +\x0a~\x89/\xa9\x09\xa4\x01\x92Z\x00\xb5NP\xe82\ +\xa3\xba\xd9\x86u\xfbjf\xf4\xca!\xb5/&\xf5\x11\ +\xb5\xb92\xfe\xda\x0d\x01\x989\xeej\xb6\x05\ +b)\xdeV\x9a\x22\xe9Xo?\x13\xd6e\x94\x93)\ +X\x80?\x00m\xd0\xec\xa9\xfdX@\xa8\x94Gf\xdf\ +\xb9\x9a\xe2\x85\xf5=f\xe8\x83\x93Y(\x10\xc4\xecs\ +\xee\x99\xcfJ\x07\x88\xfb\x12\x03\xbb\x5cXW+o\xbf\ +\xe6\xe7e\xe9T\x95\x10e\x1b\xd6\xf2W0\x0a\x92J\ +_\x22\xcc\x00\x13\x88\xcf\x1a\xe4\x00\x00 \x00IDA\ +T\x01\xaf\xe7\xe5<\xc2\x04\xe0\xa7\x98?\x02\xa0<\x1f\ +\x0a\xf8\xcc\xfb\xaa\xf3\xc3\xfe\x91%F\xbb\x1b\x85\xad\xeb\ +\xb2\x9e\x17`\x10\x13\x03#\x22\x99;\x00\xc8z_\x80\ +:?\xdd\xfc\xfe\xc2|\xba\x7f\xa1\xab\xe9\x17 JX\ +\x00\x840$Q\xc8\xc5E\xfcq\xf7'P\x04\xac\xe7\ +\xe7\x948\x1b\xff\xc1\xfeN\xb4\x9a\xc6\x0b\xffAf\xde\ +\xe7IT\x18o~\x95q\x1f\xf7k\x19h~\x8bR\ +e\x7f\xef\x8b\xdf4\x02\xd8\xe2\xa0\xf1\xf7\x87\xc4j\x89\ +\x97\xe69U\xf71j\x04\xa4\xbfY\xfb\xaas\xf3'\ +u\x03\xf0\xca\xcf\x1f\xafC \xcbo\x18\xbb6\x8c]\ +\xdc\xdc\x1f\xe0\xdcx\x8d]n\xc6R\x0c\xc0\x81\xdf\x97\ +a\xd7F\xd0\xe7\x8e]\x13>?\xb4A\xb7\xcf\x9b7\ +\x02\xf9\x11h1O}o\xfc$V\x00\xdb\xdf\x0a\xeb\ +\xfcU\xd7-\xf1s\x91\x14\xdb%\xce\xcd\xb1\xc1\xcc\xa6\ +I\x05P\xf150;\x0e\xb6\xe9\xf8\x91\xce1?\xab\ +a\xef\xcbD\xf9\x5c:\xce7\xe8\x0e\x16\x08\x97\xc04\ +\xf0\x8b\x8b'\x95\xe42]\x00\x8d\x12\xe8{\x19\x89\x14\ +\xe3)\xc7^\xe6\xfe#\xa9\x8e\x8bq\x10a\xe2\xd7;\ +F@|\xfa\xd1\xdd\xe7\x09\x04t\x01\x88\xd7\xf3u\xbf\ +\x97\x80\xc6a\xb5\x0f\xeeC\x80\x06\x81\x19(\xdbE\x81\ +D\xe1\x1ekf.vh\xadyQ\xff!\xaf>\xc7\ +\x01>\xaav\xfa\x1a)\xca\x16\x96\xf1B!\x93\xb1\x11\ +\xf8\xb8\x9e\x11\x11\xe2\xd0\x8c\xd4\xe9\x111\x1ak\x5c\xc6\ +\x059\x04\xfc\xb5@\x5c\xbfR\x89o\xa6z\xba\xf7\x15\ +\xc8\x9cw\x00\x1e\xce\x97?'Jtlv+\x90\x81\ +\xa3jl\x03\xe7\x18;p\x89\x96\x09l\x1d<6\x0e\ +\x19^\xd7\xeb\xf79,\xa8s\xaf^\xfa\xc6\x175[\ +\x0d%\xc7|T\xf3G\xc91_\x5c\x9f\xe7\xea\xa0$\ +\xae4nX4\x0b\x92\x02X\xfdw\x8d\xa3\x0c\xb9q\ +\xb2^\xf2\xe7\xdb\xeb\x86u\x07\x14\x84x\xd4d\xb0\xc1\ +98\x04\x92\x09\x1c\x15\xd2\x0f\xa0\x18\xd4@\x0fk#\ +\xe9y\x9b'\xae\xcf\x81\xe8\xc0\x11\x80\x11\xad\x92\xb1P\ +*`=\x08\x98Q\xd5\x940\x98\xdf\x17\xeb\xc4\xba.\ +\xdc\x05<\xf6\x09\x0c\x93\xb5=\xe3\xa1\x19~\x07\xa5\xeb\ +2>2\xfb\xfa7\x0b\xa8\x5c\x87\x00B\x86;\xf7\x81\ +\xcap\x9a\x1f\x83:w\x05\xce\xc6%\xa9tU\xa3\x9b\ +\x99\xffz\x9f\xb1v-\xfb\xf6F/\x8b\xd6\xcdB\xdb\ +\xc1\xac\x1d\x97IB\x81\xae~\xcc2{)\x0eU*\ +\xef\x00\x9a\x14U+\xe0\x81\x98\x95>\xf62)\x0e(\ +\x99\xe5\x14\xcd\xab\xae\x03\xd9G\xbd\xd6\x15\xaa1j\xb6\ +LY\xaa\xab\xd7\x17*\xbavMjA9>\x00\x1e\ +\xcf5\x9f\xc3\xe6\xb2a]F6kQ\xd5\xc4\x8e\x00\ +L9\x5c\xc65\x1d\xf8\xe9YakW\x04\x00\xe3\xf6\ +\xc1a\xf3\xeb\x11a\xdd\xbc#\xf6v\x8b\xb0\xaek\x8a\ +\x0c\x81\x1az\xe2\x842?\x98\x18\x98\x0d\x1cb\xfb\xbe\ +\x03>\xe7W\xb5\xe9K\x06\xd4\xee\xf8\xb0\xce\xd1\xcf\x80\ +\xa4\x1c]\xe3\x9d\xeb\x1d\xf5\x96\xda\xb6u\xbe\xbdNX\ +'\xe2\xa9;\x80\xbe\xd0T\xab\xd5\xb4c\xa8\x98\xc7\xda\ +\xa7\x0d\xda9Dl\x0b0\xa0\xce\x9f\x8c\x87\xcd+\x97\ +}t\xf7\xd3a])\x02\xc6\xc0\xfb\x13\xe0\xccv\x86\ +\x15\xe8\xd0\x8eP\xf3|\xdf\xb0\xb5dh\xbayX\xa7\ +\xfdr\xd2\xde\xbd\xf7\xee\xdd\xb4D\x96\xebH\xc0\xa62\ +\xd2\xff\x15\xd6Q\xda1o\xae\x94\xe2o\xf9\xbe\xbb\x1b\ +\xa5\x88\xe3\xffL\xe0\x17\x93M[9\x0c\x16\x22r\xba\ +](\xd9\xd2\xbd!\xbba\xd4\xf8\xdaw\xff%\x9f\xeb\ +\x85v\xc7\xec\x8e9\x04\x08Y\xf6+%^\x8f\xcd\xfd\ +D;\xdd<\xf7\xaa\xc4\x03\xf0/\x83\x9a\xeb\xa7J*\ +\xf4\x83\x16he)\x8dn0\xdb\xeb\x85u\xeb\x11c\ +&\x01\x9cb\x02\xfc\xaf\xb0.\xf3\x9d\xda\x0c\x02\xca\x22\ +Z}83U\xd9vw\xf69\x16\xbf$\xdb\xbb\xe9\ +\x12P\xfe\x89\xfd&\xcfy\x81j\x01\x04\xda\xea^.\ +\xd7\x9f@\xccsJ\xad\x0bT\xfdr\xe8\x89\xbf)\x19\ +#\xa6\xea\xfa=o\xa2\x95\xc6\x1b@`\x9fH\xa0\xc3\ +\xfa\x9b~9\xac\xab\x95\x05\x14\xd0\xc8p_\x12IJ\ +{d\xde\x93\xca[\x99:\xedz\xed\xc7\x8f\x0c\xeb\x00\ +\x84\xd4rQ\xe2\xb7\xbbSX\x97\x11\xb4\xdf^\xba\xc4\ +\x99\x97}'\xbb\xd4T\x06\x9d\xdf\xc4\xbf\x03\x8c\xea\x8a\ +\xf3\xf2\xb0\xee\x5cJ\xcd\xa5\xda\xa7\xec\xbf\xa8\xec\xba@\ +\xfd]X\x07\x5c:_\xf9\xc1\xceu]50\x8e\x9c\ +\xa7\xf2K4[t]p\xff(\xd8J=\x9d\x0b\xfc\ +_\x01\xb1\x00\xd2~\xec\xdf\xf9\xdf\x122\x8f\x0d[\x03\ +U\xc0T\xcd\xef;\xb4\xfe\x13+\x03\xd1\xfb\xf0o\xf9\ +S\xfc<\xfb\xb3\xb6\x8fJ\x08\x88p\xf6\x09\xd3\x00\xee\ +~/\xack\xffx\x9d\xb0.\xd0\xa3-B-\xde\xfd\ +\xd1\x12PR\xeb\xfe\xee@\xad\xafv\ +{~>f\xecs^\x94f\x89\x8c\xb5yIS\xc6\ +\xd7X\x9b\xcf\xbf2\x1f\xd3_\xac\xd2\x06~\xe1\xc0\x00\ +\xad\xfb\xe6?\x8f\xe2~\x02x\xdfK\xc4\xf0\xe3\x9d\xf3\ +\xbeF\x0d\x81\xb1\x84bH\x04\x95_m\x9e\x8e\xed\xb9\ +\xc7\xb6\xd5\xfceZ(\x98\x0b\xe6\x83}\x83\xff\xdf'\ +\xb0\xbf\xd9%&=?\x9f\xcbO\x010e7\x98\x1a\ +\x1f\x80\x81\xf1\x96@\xf4\x0a \x95h0\xef\xc5\x85\x09\ +\x90\x14\x131\x99\xee\x87\x95j\x00RF&@\x95\x00\ +|*\xdb\xb1\x1c\xd5\xe4\xdf\xd6\x80&\xd5^\x0f\xc9,\ +\xee\xe7\x00\x9c\xdd\x05\x08212P+\xe5\xf9\x22\xcd\ +\x91\x8fp\xe3\xb8N\xbc+\xa8\xf4\xc7w\x9f\x03I\x13\ +\xd8\xf7T\xf2\xf3t\xb5\xf1Wh\x9do\x97\x0d\xf7j\ +\x1d\xf5H\xa9A\x84MW\xea^c\xdb\xbe\xd2\xbaQ\ +\x16\xf5\xc5\xef\xcb\xe0\xdb\xd8\x04 2\xdc\xc4\xc9d\xd8\ +{\xa6\xc1\x0f\xba\x890\x0c\xe8a\x03mb\xdbHM\ +@\xed\xaf>\x9b\xd45\x1b\xcb@\xe5\xdf\x5c5\xd5{\ +\x05DcM\xccO\xca\xe4C\xce\xd5\x9c\xfc\xdc@\x85\ +\x19\xa9\xf5#\xc2\xe9\xdfG\x06\x80\x85\xe6s\xf6\xa4\xd4\ +\xf2\x95\x8a\xf1g\xb3\xdf\xbdZ\x17\x07\xd4\x89I\x19\xbd\ +q\x22\xc1\xda\x84\xa9%\xbbS\x22\xef\xa7\xa6\xc3\xf9\xee\ +\xac\xb5\x85\xa4\xfevX\x170\xa9\x1dW\x92\xe0\xc00\ +\xfe\xe3\x02::\x01\x81\x0fe\xbb\xc2\xc7\xa4h\x8e\x9a\ +O\x07\x8f\xf6MY\xb3\xac\xadY9\xb2\xb7\xca\xfb8\ +\x98\xcfs\x05Z\x96\xf9\x9f\xd4\xc5r\xe03\x13[\x0c\ +\x82/\xe4|\xf0<\xbdo\x22\xc8U\xd3&\xc02\xef\ +P\x87=G\x07\xef\xa8\x05!\xd0w\xdf\xe6\xdd\xa0\xa6\ +_\x9f\xdf\x03\x80gu\x07\x95\x0c\x8d\x1a&@\x89\xf5\ +0\xf6_\xb5.e\xf2|>\xa4U\x09\x82\x9f\x8f\x22\ +\x82\xbd\xb6\xc71\xe7\x02\x94\xc9\x5c\xa7cX\x22\x7f\xa8\ +\x80j\x149>J2\x88\x1b\xf9\x1c\xf7\x95\x8c\x86j\ +\x03\xa8\x9f\xb2}\x09\xf3\xc6x\x99_\x00\x0d\xcf]\xc6\ +\xc1}\xca\x80Q\xfbN\xaa\xf4\xe6Va]\xc6\x0a\x13\ +&\xc5\xfa\x88C\x95\x08\x9b\x12\x8eq\xbf\x85Ts0\ +9$\x1c=\x9f+#\x91\x19\xd5\x12\x09\xe3\x18c\xf2\ +\x10'4\xee\x1f\xa8\x00n\x09t\xfd\x9cc\x811\xe3\ +\xba\x04\xae\xda\xa7\x119\x03pq4Qb\x1d\xf4\x1c\ +3\xc0 *{\xd6\xf0\xeen\x12\xd6\xfd\xfd\x1f\x85u\ +\xcf\xc3\xe7\xa3rf\xe0\xa5\xfb\xc7\xf6\x15a\xb3\xbf\xfe\ +\xa3\xb0U\xfd[\x86\xb3\xfam_0K\xc3\xcc\xff\xcc\ +\xb0ViBf|\xf7~}\x09\xb4\x8b\x22\x8ez\x8c\ +\xe2\x0bp\x22\x02h\xbe\x08$\x86\xae0\xc5T\xb2^\ +\x88\x07a\xfc` Yw\xe98\x08Pk\x9c\xcdW\ +\x8e\x8a} \xc5\xf8\xaa\xd6\x9bh\xa0\xeb\xd1\x06\xd0u\ +\xa5\x83Q\x8c\x86\xdc\x97\xeby{\xff\xac\x8d/-\x02\ +\x80\x86\x92\x8d\x040h\x0f`T\x14u7\x03\xcd\xcd\ +?\x84\xad\xed\x1b\x89\x06\x16\x90\xf7\x1b\x1587\xe6H\ +\x13\xdf{E\xabM^\x02\xc1\xa7\x87\xcd\xef\xf3\xc2\xcd\ +\x9fn\xfet\x1d\xcf\x0a\xc4Po\x89h}<\x1dl\ +j\xcbj\xc5\x89{\xbe5l\x15\xc3$\x1e\xbb{\xef\ +\x02 \x8f\x9a<\xb5\xfe\x1e\xbd\xcc\xf39\x1cZJS\ +\xcc\xeb\x04\x10vW\xc8\xf1A\x91\xd5\xee\x8d\xe3h\xff\ +p\xde\xd28\xb8AX\xb7\x0f\xda\xffi{dFt\ +\x0e\xabZ 1}o\xfa\xfe\xffO\xd8}\xc0[\x97\ +UU\xa2\xafs\xeb#\xe7\x5cDA\x82\x80\x22\x056\ +\xa0dE\xe1\x81?\xf0\x89\xa2\xb4\xa2\x980\x80\x8a\xb6\ +\xad\x04\xa1\x11EA\x01EKTZ\x05\xb4\xc1V|\ +\x18@A1P\x82\xd8 \x08\x02\x02%k\xef\xf1\x9f{\xd5\xfc\xaa\xde\xbb\ +\xeb'\xd7\xfb\xd5\xbd\xe7\xec\xb3\xc2\x5cs\x8e9\xe6\x98\ +\xfb\x8f/\x99\xd4\xb5\xe4\x808\xa0\xae\x1b\xbf\xbf\xb6\xb5\ +\xdd\xff\xd4\x18\xc7\x7f\xff\x891\xb6.\x17\x87\xef\x0d\xd0\ +\xf2\x92d`\xaf0\xc6\x94!\xbe\xc5\x0a\xe8\x96\xba~\ +\x806v\xa2\x00O\x0c\x1e\xaf\x9b\xd2\x8b\x12\xf7\x04$\ +\x03n1\x96N\xc6\x98\xce\x93\x802\xf3\x80\x09P@\ +\x80Z\xf2\xec\xbf\xcah\xa7t\xaf\xce\x07\xc0\x0f\xa0\x97\ +\x0cmiJ\xc8\xf8?~\x19U\xd2U\x81\xea\x8f,\ +c\xd3\xc4\xb0o\x02(T\x80\x1e*\xbb\x04E1u\ +$\xc4\x00`\x02\x05\xe7\x85\x7f\xa5\xcd\x99@\xcf\xfb\x04\ +h\xac{\x023A\xa2$\x22\x99U3O\x8b\x81\x1d\ +Wr\x22\xd1\xd5\xb4th\x7f\x01\x8a\x8a\xf9#\xe0\xd3\ +\xbe\x0f@\xc5\xee\xea\x0e\x92\xc0\xb72\xa7\x02\x9c\xdc\xcb\ +\xbb_\x19c\xa3\xe8\x17\xb0\xc8>6\xcave\xb6%\ +z\x00!)\xd1,\xc04m\xee\xaa[\xcb\xff\xbbj\ +JT\xf7\x9b\x8f\x8c\x91\x04\xcd\x0c\x18\x8b3\x04\xf6\xfc\ +4\x19l\xf7\xa3\xf5h\xf7ni\xa7\x014\x94B\xf1\ +\xc7\xf9\x072\xb0\xfcc\xfe\xa5\xc0\xb4\x97\xd8\x0a(\xf9\ +;\xfe\xbb\xfb\x82\xd8\x9c\xc0\xdc\x7f\x9f\xc5\xd5?3\xf9\ +{\x0d\xe8\xa9\xcf!\x0e\xf2\xfb\xe2\x8fN\x89\xef\xed\xd2\ +=gg\xa0\xfa<\xf6\xb5\xcf\xd1U\xf5\x01\x02\xfdg\ +\xeb\xd2\xe3)\xf6\xd6\xe7\x13_D\xdb\xa4\xf6\x0d\x7f\xc2\ +\xbc\xbd\xbbi\xa9\xc8\xa4\xdb\xb7M\x0d\xbf\xd6\x91\xff\xe6\ +\xf7\xbd\x8e\xc4f/i\xe8%\x18\xb4\x9e\xec#\xfb\x9b\ +\x9d\x03\x00\xf8\xff4\ +0\x18t@\xa0\xf6\x95\xfdB'\x16\x99\xb6V\xf5z\ +\xdaaET\xad2\x09\x18\x09\xc9H\x9cV\xeb\x98Z\ +\xce\x0ax\x94\x98\xc8\x0c<\x7f\x8c\x89\x92|\x89\x00\xb1\ +W\x5cv\xf6\xd6\xfe5\xc0]\xb5\x17\xa4a@\x0c\xa9\ +\xf7-V\xcb\xce\xdeP\xcd\x0f\xd3\x00cB\xdf\xf7\xb2\ +\xcb\xa8q\xda!z}\x8e,1\xaa\xd4n\xee\xfem\ +\x8c\xe34\xd5\xfa\xe6\x82\xafZV\xdd\x1d\ +\xec\x07\xe2t2\xa9\xeca\x1c\xd5\xdd\xcb\xc6\xd82\x9c\ +\xc4\xc6J,H\x86@\xe9U\x98\x22\xa5E\xe1\xdf\xd9\ +G5\x8b\x1cB\x19\xf0\x001\x95\x19Q\x8b\x1f*q\ +9\xbc\xd4\xc6\x95\x18\x10\x15\xa3\xb6\xec>\x09\xd3\xe5p\ +\xc91&\x86\x16\x00\x9ec\xf7\x13a8d\x9f\xec\x1e\ +9\xc6\x04h\x9f\x1b\xc0\x84\x1d\x8a\xbd=<0\xe7<\ +\xd4\xea\x02\x5c\x95\xa6h\x9bH#&\x22y\xa5\x9a\x9d\ +}$\xa0\xac\xe7\xb9\xe7z^vOY\x19\x1c\xd5\xef\ +\x1d\x13\x92\xdd\xfcDJ\x91^\x19\xe0\xe7f\xb9Gn\ +\x9b\x8cr\xc4D\x0f\xe7\x8dq\xfc~\xfd1\xa6~\xe6\ +\x00\x05\xda\x16\xec\x95u\xe1(\x0aX\x05p4Dr\ +\x1fTfP\xe0\xff\xd21\xa6\xc0\xea=\xa1\x8c6\x0d\ +\xa4\xc3\xa5\xc7\xd8\xce\x7f1\x8eP\xed1R\x00\x18)\ +y(qP],\x00\x97\xce;\xe6\x04\x06\x09\x0a~\ +\xbaI\x94\xffC#A\x17\x0d\xedE\xc3\x00:\xdcn\ +\x8c\xe3\xf7\xb3\xc7\x98\x80+\xf7\x13\xe6\x98\xfd\x1e1\xbe\ +\x12e$J+`\x95xP\xfa\x80\xf1\x84A\x12\x91\ +\xc5\xb2\xbb\xc4R1?\x88#*\x8d\x89]\xaf\xf6\xa5\ +D\xf4\xbc\xbf\x12\xbck\x8f\xb1e\xf2\xab\xbd\xa0n\x02\ +\x12!\xec?\x00O[S\x0c/\xe2\x81\xfc<%\x04\ +\xec\xa6\xfb\xcc}`\x9e\xdd\xdb9\xb7C\xeax\x88\x1d\ +\x13y\xdc}\xc9\x18S-\xbf\xcc\xbd\x0c\xb2{\xb7\x8b\ +,w\xf1>\xcf\x85\x81\x891\xe6\xef\x89\x0b*\x99\xc2\ +T\x12 \xb9\x7f\xbb\xff\xec\xdf%\x9e\x88\xf7\xbee\x8c\ +\x09x\x09P\x5c\xcc\x99\xdc\xcfeW\xd9{\xf7\xb1R\ +\x8a\x9e\xa1\x05\x10(=\xe5wa\xd8\xd1(\x00\xf8\x12\ +\x9b\xa4\x0d\x12\xbf\x89\x1d\xaa\xf3#\xa1\x02(\xe8\x81\xb3\ +\xb8\x83]\x90\xb1\xef\xe2\xd5\xeeW\xf1\x8c\x00\xb71\x01\ +\xca\xaf\xf3\xdc\xda\xd5\x8aC\xdc\xd7\x00\x0e\xfe\x0d\xff\x90\ +\xffk?]\xa2%\xbez<\x85\x99`\x1f\xf3\x07g\ +\xed\xb7\x0bNoWY\xf3\xd6k\xfd{\x22\xd2\xbc\xf9\ +\xb9\xc7A]D\xd1\xbc\x9a\xe7\x0e\x1c\xf0\xfb\xec[\xf3\ +\xf4\xf6\xd6\xe6\x5c|\xe8\xcb\xfbw\x80\xa6kfy\x1e\ +\xbf\xc7_\x13\xaf\x01f\xbc\xbex\xc6}\xce/\x04\xc4\ +\xf8\xf2\x5c\x9fmq\x88\xb8\xac\xcf\xf7\xd6\xfe2\x1a\x00\ +>\xb8\x05\xbd8q\x015\xf9\xbe\xae\xbfT\xb3\xd5F\ +Z4\x03\xae\x9f\xc0\xfe\xec\x89\xd2\xdfE\xac\xd2g\xb3\ +\xa8\x882r\x0e\xe4\x1c\x08\x9f\xca\x82\xce\xed\x17\xfem\ +\xe94\xbb\x22\xfd\xe7N\x99\xbbk/\xe4\xb4\xd3\xdb}\ +\x5ciu\x5c\x8b\xe2\xe4\xe2\xb7\x91M\xa0\x85\xe4\x90\xa8\ +\x9d\x22.22k\xffi\xcap2D(\x9c\xd4,\ +{\x1b\xb8^K\xe5\xc0vJS\xcf8^+\x81\xc7\ +u\x939\xe7\xf8\xb7~\xb2\xb5\xc0\x0e\x8a\x8d\xe2\x00\x03\ +,|\xbe\xaeF\xdaE?\xcc\xb3\x8d\xd2E0:\xb2\ +\xf8\xe9\xbc?C\x0a\x99\xf4>\xd4S\xb3\x0f\x8e\xee\xc4\ +\xa2\x82.\xd0-$8\x8e\xe8\xee\x1b\xc7\xd8j\xbbN\xf6\ +\xbb\x00\x86js>\xf7\xee\xcc1&\x03-c\xa0\xa6\ +L\xdb\xb6\x88\x02VF\x94a\xb3/9\x90\x97n\xed\ +\x1c\xad\xa3\xe7\xeej\xfb\x1cK\x172&J\xba=\xa0\ +\x90\x96c\x80\xe2\xc4\xc1\x80x2l\x10T\x81\xa8u\ +\x12X\xdbO\x182M\x9d\xb5\x80\x03Ty\x7f\xcf!\ +\x0bu\xb2D:=\xbf\x0c\x0a\xb5v\xfb<\xf3\xb0\xfb\ +\x9d1\x8e\xdf\x9f:\xc6DUt\xf1\xb3{2(\xa8\ +\xf3\x02o\x17&\x80\xe9\x7f,c\xa3\xda\x0b40\x14\ +\x88n\xa5\xcdT}\x1e\xeb!\x13\xe8\xe2\x81d\xcbp\ +\xb8\xd89\xd2\xda\x80\xf9=\xea\xd7\x02h\x19\xe4N\xa5\ +\x8c]\xd8\x9d7\xc6\xb6?\xaa\xf4@@\xafF\xb9\xb7\ +\x85\x04\xe4\xe9\xa3\x1d\xaa){.\xb0\xa9}\xfd\xa61\ +&\xed\x0d\x0eC\xfa2\xef_7\xc6\xe4\xe8\xc6\xee\xec\ +\xde;\xc6\xf1\xfb\x15\xc6\xd8\xe6\xb7\xa8\xca\xec\xbbZ\xed\ +\x94B\x9c\xfc\xec\x18\x13\x22\x1eGWMq\xa9\xe7\x86\ +*_\x14O\x0e\x06Q*5\xacj5S\xbb\xab}\ +\xe4\xe1\xfb2?ah\x000\xf7\xe7\xee_\xba?w\ +\xa9i\x7f\xe4\xa8i?y\xee\x18\xc7\xe3\xf5\xf61\xa6\ +L$@\xe9\x01\x87\xaf=<`\xa1\x04\xdfu\xa1\x04\ +s\xa49\xc8\xbe\xe7B\xdf\xed\xc7\x98\xeeU\x19`\x81\ +\xa9}\x8b\xe1\xc6^\xa4V\xbd\x18Q\xd4\xb8e\xccS\ +\xb2\xa1t\xa8\xdaw\x0a4\xec'\x99STd\xaa\xff\ +\x98\x10J\x95\x04\x18\xa9E\xacR\x0e\xed\xf7\xee9\xc6\ +\x14\xf0\xc9\xc0p\x98\xf8\x05\xf6\x9f@\x22\x8es\xf5o\ +\xcf\xbe\xc7\xac)-\x89\x00\xcbE\x09\x0f\xe0\xa0\x8fr\ +Q\xa1\x03\xac*\x11)\xbb\x8di\x84\x91\x10-\x035\ +\xb0\x877\xa5V\xf3\xa6k-m\x01x\xbar\xc8\x00\ +\xb1\xabj\xf6\xd54k#\x17G\xb0\x98\x12a\xce\x9d\ +\xf1?\x13\x90\xb2g\xec\x84@\x05\x80c\x1f\x09\xbc\xed\ +\x0bv\x01c#\x1a\x02\xd5\xe7\xfc\xad\xb9/^\x94@\ +?\x0c\x05\x81h\x05lY\xdf\xdd\xcf\x8c\xb1\x05\x02\xc7\ +\xf0za\xde\x09l\x01,\xa5=\xa1=\xe7\xffHi\ +\x05\xfb\x16\xc0\xb2\xec\x0e\x86\x0f\xe6\x13\xb1\xe3d\xea\x0b\ +\x08P\xa2\x13\xe6F\xf9i>\xaf\x0c\x1b\x8d\x0c\x19B\ +b\xbc\xd4\xed\x89\xd4\xca\xcc\x03J\xf9/\xe6\xe9'\xc6\ +\x98\xfc5\xf7\xa5\xf3\xc3/\x22\x1e\x8cQ\xa6\xcb\x0b\x86\ +\x09q9?k\xf3\x19\xf1\xb8\x02x\xb6nGk\x80\ +. \x88?c\x7f\x95\xc8\xa0@@\xb7\x92h\x5c\x94\ +\x9d\x08\xa3\xab4{\xbcn\xfe\x0e\x90:\xd2\x13K\x82\ +\x82\xfd&\x96j\xbd1\x90\xe2\x8f\xd4\xfe1\x0f\xeem\ +\x89\x1f\x80\xbd\x00\x8d\xdf+\x80\xd4E\x82\x08(`\x89\ +f\x0a{,\xf0o\x01%\x00\xad\xd6\xeb\x1d\xc5\xac]\ +\x99i/\x1ec\x02\xa8\xb45\xcd\xfd]vP\x09E\ +\x98\x97\x80\x82\x12\x03\xe5\x9f\xcb\xe8\xa2\xf0\xa3r\xf3k\ +\xf8=\xfc\xe6\xdc\xf3\x05\xf4\x84\xf1VvIw4_\ +\x02L\xf73\xffY\xe0\xaf\xc6\xdb\xf9\xf1\xbe\xf6{g\ +\x12\xb8\x17\xf9_\xfcT\xfb\xd8\xba\xd8o\xfcP\xfe\x8c\ +\xf5\xf4:\xf6=?\xad\x97\x16\xfb\xf2\xfb\xad\xfd\xdei\ +b\x80=P\xed\x19u\xfeO\xffw\xfeO\xff\xde\xbb\ +\x0d\x88s\xd8\x85*Y\x8e\xd6S\xe2\xb9\x9a\xbf\x9e\x10\ +\x16\x0f\x8b_\xf8\x83\xe6\xb3\x03+\x98\x9c\xc4\x16\xed\x7f\ +\xf3(\xf0\xf7<\x9e\xd7|\x03J:`\xc2\x8f7\xef\ +\xce\x83y\xe1\xd7K\x8c\xf9\xefM\xe4\xaf\x97\xf6\xd5\xf7\ +*\x01`H\x5c4WYtg\xb7\x00\x0a\x02\xa1=\ +\xdf\xc0\xb5o\x9a\xff~\x8dF1\xf9`2\xbf\xe7N\ +\xea\xc4\xe9\x93\xb8\x84\x13\xb7\xdd\x98\x01K\xcd\xda\x1fG\ +M\xfd\xfb&\xc4\xa2\xd7\xea\xdb\xc0\x1b\xe5|\xfd\xf2\xfb\ +]\xe5\xd1B\xfa\x5c~\xcf\x84\x8dex\xcf\xf4\xfa\x18\ +\x06\xfb\xf4\x03\xb5A-\xd8\xcc`\xf8\xc8\xf4z\x9e\xa7\ +#f\x98\x0a\x0c\xa5\x00*mxj#\x09\xb8\x05B\ +\xe6Q\xbf\xdf\x9b\xa5d\xc1\x01\x15\xf8@\xec\xba\xea~\ +\xef\x9f\xd9\xdab\x1c\xb21v\x9f\xdf\xd43\xbbj\xe6\ +\x86\xb8\xae\x07\x9f\x01\xd82\xc6\xab\x83i\x83\xf9\xfc\x7f\ +\x7f\xe1\x9a\xd2j\x0f\x98\x00\xa6.\x14\x06\xf2\xb2\xabH\ +\xa06Pu\xf0d\x96\xf2\xf3\xee\x85cL\x01\x04\x15\ +[\xb5\xf2\xe6\xe7f\xf99\x14E5\xac\x95\xa9\x11\xb8\ +\xfb}\x19\x10\x17\x9c\xcc\x98\x8c\xae\xfe\xce\xa1\x84V\xed\ +\x7f\xa7ZQ5\xfe\x97\x00\x5cQ%\xae\x1aw\xed\xf6\ +d\xbc\xec\xaf{\x86\x92\xad\xeb\x02\xf5\xf2\x04FD\x91\ +\xaa\xcd\x10\xd15\x14w\x99K\xe2T\xbd\xeb\x04\x03f\ +\xdf0\x1c\xf6s\xaf\x0d\xf2\xb9\x94\xc28\x87\x02\x8a\xd6\ +V\xa5\x02\x7f\x19X\xfb\x98\xca)\xe6\x87\x80\xc0yb\ +\xb0\x00B\x1c\xe7\x00U\xb5n\xce\x09\x03\xab\xf6\xf8\x1e\ +c\x9c\x8e\xc0\xd6\xbc\xf8\xdc\x02\xca\xcc'\x07\xa3\xfa\xd9\ +\x9f5\xc6t\xa13\xc02).v\x99\x17\x1a\x12\xf9\ +\xbb\x12\xe1L\x80_}\xec\x95\xa8p\x94]\xfc\xa8\xb1\ +\x02\x19\x0e\x07\x07\xd09\xe4\xa8i\x0f\xf8\x981\xa6\xfe\ +\xf3Ja\x88A\x09\x9c\x1e\xbc\xd6J\xef~d\x8ci\ +\xde\x05\x90J ~t\x19\xdb:\xa38rP9J\ +\xd1@)\xa4\x9a\xfd\x00\x90\x09\xd4\x020h{V\x00\ +\x83v}\xce\x9d\x9aG\xea\xdd\xa8\xd3\x02\x0c@\xdb?\ +\x8d\xb1\x89\x88\x16%\x1b%\x97x'\xe6\x0f5o\xf7\ +\x0cjl\x1cs\xcf_\xb5\xd4\x00\xc78\xb0\x050\xa2\ +\xfa\x0a,\xa8\xa9S\xb5W\x93~\xcb\xac\x17$?}\ +\xca/\xf8\x8e1&\xd1\xc1\xb4\x89\xab\xdak\x99\xcb^\ +\xe3y\xf7\xa5/\xc8\xa6\xeaO\x03\xe1\xc3\xf9\xef\x18G\ +\x0f?\x86\xe1\x0f\x9f\x02!\xf6\x10`\x06\xb0\xe3`\xb0\ +o\xee\x0bv\x90\xa3\xed\x9et~\xdd\x07\xde\x8f\x83\xcd\ +n\x00\xc2dV\xdd\x83j\xf2eFQ\x8a\x03\xacU\ +7\x0a\xf7\x07\xc6KD\x0fK\x9d\x9a\x8ay\x13\xeb\xad\ +L\xb1@\x08\xd5\x18\x93\x80\xca\xb7\xf7\xf1\x9c\x80Q@\ +\x82\xaf\xb4\xf3\x04\x98\x12\xf9,\xad\x0a~\x8f\xf5\x97A\ +\xd4^1\xc0\x986\x83\xc5\x10\x03\xc4\xa4\xa6\xbb\xcey\ +\xda\x0f\xf2\x03t\x998\xae\xdd\x12\x98\xaaU>\xfcZ\ +2\xd4iCX\x80\xe3oD\x1d\x1aS\x83CH$\ +\xed\x0fVJ\x7f\xd99\xa5O\xcf\x19c\xb2\xff\x18\x0d\ +\xcf\x1dc\xd2\xe8\x10\xb0\xea\x7f\x0eHV\xf3\x9b\x8cs\ +\xd9i\xc0\xeb\xbb\xd6\xc0\xa4\xd4\xcf\xd9\x0f\xed\xeft\x15\ +q\x0e\x03(U\xbfw\x813\x0an\xfa\xc9\x173\x87\ +F\x85\xf9\xc4\x10c\xa7\xf9[\x00w\xf3l\xde\x05N\ +\x00\x13\x19k\x9a/M\xbc\x13\xc3@b\xa2\xc4\x18\x01\ +\x01\xba\x8c\xd8\xc7\xb1g\x95\xd9\xedbd\xba\x83\x10\xc3\ +\xd5\x86Om\xb9{^F\x19\xd0\x9f{\xab\x80m%\ +lJ\xdc$\xb2\x00\xcb\x022\x99wZC]\xac\x10\ +S\xd0<:\xff4\x110\x00\xb4e\x8d\xa6D1+\ +\xbe}\xed6\xc1\x8eT\xf7\x05\xa2\xbf\xfc\x0a\xc0=\x00\ +\x8c=q_\xf0\x17\xc3P(\xbb!c\xca\x0e\xc9t\ +c\x80\xb9\xdf\xddW\x80\x82\xd8S\xf7s\x95\x8e\xe8^\ +\x10\xcd%\xa5o\x02\xf9\xb2/J\xdch\x179g4\ +J\x94\x22`\x0a\xd9?\x02<\x80uJP\xeb^\x07\ +<\x11\xe7LB\xab\xb4\x19\x04\xfe\x00fZ\x164/\ +\xf8K\xfc\x01\x01\xfe\xc5\xf5\xb7\xf7\xdc\xad\x94\xb7\xce\x01\ +?\xc0\xeb\xd2\x88b\x1f\xd8\x95.\xca\xb7iY\xad\xfb\ +l\xd7J~}y?L\x05\xfe\x93{\xa43\x98\xfb\ +Wgp\xfb\xfd\xae\x11\xe0{Ot\xf2\xfb\x9c\xcf\xc6\ +\x00\xd0\xe6\xbe\x9e\xcb\xbc\xf9{\xf7\x99\xcf\xef\xde\xc3L\ +\xc0\x80qnzB\x94\xdd\xf4\xfa\xde\xbf\xb7!t\xbf\ +c\x96\x5c\x9cf\x81\xfd/Nunz|\xec\xb9\xc5\ +\x8f\x9d\x19\xd0J\x05\xfa:l\x00\x80\x17 \xa2\xc7Q\ +\xf7\xfd\xf2K\xf5\xf4\x16(\x0f\xb3\xf2\xa1 \x19\xff2\ +!\xb7\x16\x08\xb26(\x8e\xcf\x9a\xc4\xc8Fm\xd6\xb7\ +Mm\x978\x9c\xdaj\xa1vqXh\x0fxN\x19\ +\xdbh\x02T{A\x0b\xd3\xc5\xf7<\xbfL<\xf5\x7f\ +\x1b\xd8\xeb\x0e7\xe9j\xd3\xcf\x97]\xaa\xb8\xb7\x00Q\ +\xa6Y\xc0\x0d\xa1\xb5P\xbdO9\x07\x8c\xc1\xd4\xef\x99\ +\xa6\x80\x85\x13\xb8\x09x/5\xc6\x12\x00\xac\x0e\xe7Y\ +\xc5\x04X\x1d\x19?{}\xef\x07\xe0pP\x05\x9a\x0e\ +T9\x96\xb9PzM\xbf\x83\xd6\x914\x07\xcd\xc6\xe4\ +P\xba _\x15\xa0C\x80h\x9ee\x0a\xf5\x9fva\ +\xde&T\xd5g&\xd0\x12\xd0(\x1d\x81T\xa2\xcc\xca\ +\xb0Z\x07\xdf!\xb8\xa8\x8e\xb7\x1dc\xaam\xf5wg\ +g\x1eo\x12\x80\xe0F\xa9I\x0b\x93@\xc6}\xf7k\ +cL\x06\x9eA\xb1\xbe\xe6\xc9E\x85R\xcd\xe0\x09$\ +1\x1e\xa8\xc8\xff\xfe\xaa\xbe\x5c\x17\xfc\xdf\xc4!1\xcf\ +\x0c7\xd1\xb3\xb4O\x12\xe8\x96\xc3\x0f\x99&:\xe9\xbc\ +h[c>\x00$\x0c\x00\x00\x82\xa1\xb1\xdf\xecg\x17\ +\x90\xefj\x15\xbd\x1ej\xacvh\xc4\x95\x000\xc4\x82\ +\xcc\x17J\x1f\x877\x81a\xf5\x81v\xf19\x7f]\xc5\ +\x9c\xba6\xd5\xfe\xa6\x06[\x0et\x183U\x12\xa1\x86\ +J\xe0\x1f\xd5\xf5R\xf1\xa7\xa2\xed\xa2\xb7\xce\x09\x08\x04\ +`\xc5\x98\x91ijmZ*\x13\xc0\xf1@\x99\x0f\x05\ +\xbb\xd4\xd1\xd5\xda\x03\x18\x05\xe0>\x8f}\xe5<\xaby\ +v\xc1\xa7\xe6T\xe0_\x01.\xd19\x19z\x8et\xc4\ +\xf7\xea\xfcd_\x10\x8d\xdb\xfd\xc5\x18\xd3\xf9Q\x13.\ +\x03\x8c\x22\xc9\xf1\x018\x00\x0c\x00\x81\x9e\x8fc\xe8\x02\ +4_\xec\xffS\x96Q*\xd8\x1c\xda\x02,\xd4\xfc\x03\ +\x0a\x94\xba8G2/2\xcd\x02\xcd\x88\xcd\xed\xde:\ +\xc6T\x13K\xd5:\x81\xf6\xe1\x93c\x1c\xbf\xff\xf2\x18\ +[&\x1c3\xe3\xe4\xb6cL\xda\x1b\x187\x80\x0a\x81\ +^\xa8\xcd\xbb\xaf\x1bc\xa2zf?\xedo1\xc6\xf1\ +\xfbo\x8c1\x9dW_\xec\x10\xca>`OM\x7f\x80\ +\x82\xba\xf7d\xdc9\xbe\x02\xa6+\xaf\xc0\xbc\x8c]\x01\ +\xa9\xda\x83b\x16\x08\x90\xa2\xb6]Tn\x8e\xa7{\x81\ +&\xcf\x1f\x8c1\x01\xb7\xfa\xc5'\x80\x10\x10\xd4\xf9v\ +\x9f\xc5q\xaf{\x9f\x1dr\xce\xb2\x8e\xc5\xe8\x12\xf8k\ +\x1f\xa7o<\x87\x9d=x\xf826\x86\x00\xca\xb0\x12\ +\x00@\xc9\x15\x9bV\x80}i\x9f\xba\xc7\x9dg\x8e\x98\ +\xdfC\xb1\xf4\xfb]\xcc\x8a\x16B\x02\xb9\xfd\xbd\xc7\x98\ +\xc4\x16\xedw\x8e$\xd1'\x0c\x1c\xf63@\xd3\xe1\xd4\ +\x18\x1bp\xb1;o\xa5,\x1f\xc3\xdbu?\x9c\x93\xfb\ +\x01P\x9c\xc0\xa1D@\xdd\x87\x1c\xf7d\x90*\xf0\x11\ +\x80\x05\xc0\xa4\x05\xc2\xd9\xae\xc0\xf1%\xbb?\xdd\xfd\xe9\ +\x94Q\xce\xfa\x97\xe3\x8c\xc9\xe4\xde\xe7\xa7=`\x8c)\ +\x80 \xe6\x19?F7\x9b\xfa\xbcj\xf5\xf9a\xa1\xe6\ +\xd7>H\xc0_\xc0w\x98!\x98;%\xe6\xe9u\x01\ +tJ\xe6\x12X\x024\xea>\xa6r\x9e\x80l\xff\xa2\ +1\xa6\xfb\x1b`\xce/\x92q\xb5\xef\x00Ni#W\ +v\xdc\xfe!\x92\x88\xe2\xaf\x1b\x85\x04\x81\xfd\x9f\x80\xb9\ +J|\xd8K\x19\xef\xbc\xaf\xb6\xa4\x05\xa0\x0a\x04P\xd9\ +S\xbaP\xed\x88\x01}\xbd-s\x12\x09\xd5\xbe\xd3\xfa\ +D\xb3\xa0\xeei\xc0t\xee\xd1\xd2@\xd1\xc6/\x0c\xab\ +b\xd6\x862_v\xd4\xbd\x8f\xa1I,3\xa5\x0b\x98\ +(\x05 \xd3\xba\xc08\xa2\xa5b\x9f\xd3\xdc\xc1\xb8\xc1\ +\x90\xc1\x08!\xce9n\x87s\xb2\x8e\x9f\x98\xd6_\xc9\ +\x8a{\xd0\xfdN\x0b\x81\xfd;g\x8c\xad\xb4\xb2\x9eC\ +\xd7\x01@\xa2@\x8f\xbfd\xbf5Fc\xb5\x87\x04\xe8\ +\xf6\xf6\xcb\xfcR%\x16\xbaz\x00ni[`N\xb9\ +\x07t\xaf\xe0\x7f\xf7\x80\x19\xf0\xd0\xc5\xe7\x00O\x98/\ +\xfcJ\xff\xdd~\x8f\xff^m\x11\xbd\x0f{\xd9\xb5\xa1\ +|\xae\x0e\x00\xb4Z\xf2\xf2\xff\x95`\xda\x9f=s\xee\ +\xef\xbd\x9e\xf7c\x7f\xfa\xfb\xf2\x0f\xbd>\xff\xc6\xeb\x02\ +\xe2\x89\xe0\xf5Zwq\x9a\xe7\xf2y; \xe5\xf9\xbc\ +\xaf{\xc0\xbc\x09\xe8\xf9m\xfe\xbd\xcfK\x17\xa7\xb6\x0e\ +\xfc\x22\xef\xefs\xf9w\x9f\xc7\xcf-!D\x8b\xe34\ +\xe6\xa8\xe7\xedLn\xf3\xe9\xdf\xbd_\xd3\x048u\xa1\ +L\xc1\x95\x13X^m\xa3\xb0\x94c\xc9A\x1a\xff\xfd\ +*yam\xf6\xde5\x01\x03\xb6\xeb\xb8>\xcf\xca\xc6\ +\xba\x5c~\xbe\xeeDI3a\x1e\xf0\xa4\xc4\xd3\xd6\xdf\ +\x1f\xaf7\x8b\xea\xcd\x14\x92\xcf\xb4\x9a{\xea\xf4\xef\x9d\ +\x02~\x8euGj\x04@W\x8e\xe8\x13\xb1B\xdd\x09\ +\x00\x0f\xfav\xcbH\xa2Tvq\x08\xc0\x83\x80^\xa0\ +N\xfd\x9cc\xe1s\xf8Y\xa6\x01\xa0\x91\xbe\xf4j\xc7\ +/\xd4\xe5`\x06\x0az\x9fL\xf3\xd6\x03\xfe\xde\x06C\ + \xe2\xdf{\xc6\xff\xe3UB\xb0\x22U\xefL\xe9\x83\ +\xfe\xc2\xd6\xc9Ap\xb08:(\xb2wY\xa9\x97g\ +<:\x81\x03\xe4Y[\xb6\x04\xcc\xbb\xa7\x84z\xcd\x81\ +c\xa8\x04\xf0\xf6\xa5\xf9D\xed\xbfq\x02\xdc\xfc^\xb5\ +%\xb1>~o\x13\xcdX\x01\x0b\xcc\x8a\xdb\x87\x99\xe0\ +\x02\x120\xc7\xc1*5\xe0\xc7D\xad\x99\x08\x8d6n\ +j\xfe\xb4\xf7\xe1\xb8\x0b\xa8\xa2v\xbc{\xfa\x18[\x0d\ +h\x01D\x02m%&\xda\xa6\xa9\xbd}\xc4\x18\x93\x83\ +\xa6\xcdT2\x5c\x02\xe9\x12\xe9\xf2y9\xfe\x90g\xfb\ +\x8c\xe3\x11\xc7\xa4\xfa@38\x11o+q.\x06\x88\ +#b}\x894E\x1c\xab\xa8uj\xe2e\x22\xed\xcb\ +dv\x0bP@\x91L\xa6\xad\x02|\xe7\xc0\xba\xd3\xa2\ +\x10\x98\xea\xd6\xc0\x90B\xc4\xb5#\x8a\xe8Se\x04Q\ +\x8f\xaf<\xc6\xe6\xb0Sow.\x8b\x92l_\xca\xf4\ +&\x00\xab\x1ax5\x99\xda*u\x86\x04\x95\xed8H\ +\xb5>2\x872\x0f\xe9k]\x8c\x0f\xf6@\xedt\xa8\ +\xe9\xd5>\x13\xe0##\x04\xa0\x88cY%4j\xce\ +\x9c\x17\xa2\x81\x9e\xef\xe5\xcb\xd82\xf1\xce\x13G\x85C\ +\x9b\x0c\x8b\x1a\xd0:?\x02\x0e\xf6\xdf\xbeb\x97\xd4\x88\ +\x87\x02\x5c\xd4\xd2\xab\x8fq\xfc~\xeb1\xa6\x00\x15e\ +?\xcc\x86\xca\x10(Up\x81\xca\xf4h\xb3\x94\xccH\ +\xed\xd3\xd8\x8bbV\xa1LFdl\xff\x981\x8e\xff\ +\xfd\x7f\x8d\xb1]\xdc\x15\x90\xca\xe8q\xf4\xe20V\xad\ +\ +\x22\xda\xe6\x9e\xc2H\xca\xd7\xee\xab\xc6\xd8\x00\x99Z7\ +5\xdf\xa8\xfa\xda\xcc\xc5A\xde\xff\xea\x18\xd3\xfa\x08\x08\ +Z\xf7\x9bbB\xb1{\x98\x072\xf0\xda\xfc\x01DP\ +-\xd9\x1d\xf7\xa2\x00\xc6}\x0fPA\xd5f\x07\xddg\ +\xce\x81\x92\xb2\xcc+1\xca\xda\xa7\x00g\x99\xd5\xdd\x18\ +\xd3\xfd\x9e{\xe1p\x95U\xf3\xa0\xd4\xdb\x05\xd6J}\ +\xa2\xf9Q\xf6\xd79S\x1a\x98\x80\xa64\x14R\x02T\ +\xc0\x84\xfb\xdc\xf3+\xe5\xa1\xae\xae\xa4 \x1a\x1b\x05\xf8\ +\x0b\xccQ\xd9\x13\xc0\x958\xa4R\x12\x01/?\xe1\xbf\ +,c\xeb\xfe!s\xaf\xfdd\xee#\xf6\xeap\xb3\xd8\ +\xc9[\xc7\x8e_%\xa5L)\x11\x90Y+@\x86\x1d\ +w\x0fp\xb0e\xe0e\xaaQ\xd7\xdd\x7f(\xd0\xec\x8b\ +{CI\x0a\xca<\x7f\x8b\x080\xa0\x08\xd0\x0d\xb8\xb1\ +\xff\x02`\x16`\x8a\xba\x9e@\xbc(\xfa\x02\xbd\xd83\ +\xedD+\xd0\xf3<\xf6)\xed\x92h\x1aTFOi\ +\xa2\xdf\xb3\x1f\xd8\xd1\x96\x98\xaa\x04\x82R\x18\x19`\x00\ +*-\x8d\x88(\x96\x88\xf0\x15Kkh\xf5\x13\xf9\xd5\ +\x123I$\x9c\xd6\x95\x0b\x13.\xda\x06u\xde\x01m\ +\x00\x06v\x98\xf8!\x8a\xbf@1\xdd>J{\x04\xe0\ +\x88\xe9\x10\xf1\xc7\xdaw(\xd7\xfcA\xcc\x00@\x07&\ +\x0b-\x08L\xaf\x9be?\x8d[\xec\xaf\xa7n\x09\xfc\ +\x0d@~\x9e\xafJ\xfe\xc2\x84\xa8@\xafkt5\xc6\ +p\xdd\xa3^\x8f\x1d\xea%&2\xbc\xf6\xa1}\xc3\xaf\ +\x13\xf8Y\x1fZ;D\x22o5\xc6Tj\x14\xa0\xa3\ +\x12K\xde\xcf\xba\x9a\xef.\xeej_D\xf4\xb0\xfc|\ +\xfb\xce\xebt\x0a:\xe08\xfeQuG\xb2\xde\x02Z\ +q\xd3\xc5\xf5\x95\xbf8\x11\xbf^\x1a\xe1\xfd\xfd\xbe\xd7\ +\xf7z\xee\x87\xde.\xb0\x03\x00^\xbf\x05\xccU\xd2\xd7\ +\xb4\x9f\xca\xae\xf2s\xd9\xf5^\x22\xe1\xdf{\x17\x02~\ +(\xc6\x1b?\xaa\xcf\xaf\xe7n%\xe1\xe5\xaf\xfa=\xeb\ +\xe3s\x00\xd4\x01\x02\xbd$\xb7u\x07*\xa0\xcd\xbe\xf5\ +\xf9\xbaVB/\xe1\x16\xb7\xb5\xda\xffM\x03`\xb8\x83\ +\xd7I\xc0|\xed\x89\xf2/\x10\xbe\xc5B\xaa\xde\x0cI\ +\x0f\xdc\xcf\x08\xca\xecb\x12\xe8\x0f\xf3\xac\x9d\xde-s\ +a\xff\xa7I4h\xc0\x0a\xf7\x8a\xba\xf0=&\x15\x5c\ +\x1b\xbd\x07\xee6\xc2\xd8N\xef\xce\x04\x5cv\xab1\xa9\ +@\xdd\x02\xdaX&\xca\x81\x04th/x\xad\xa5\xda\ +~\x0bDlL\xefoA\x1be\xa4j\x91\x18\x06j\ +\xa7\xd4\x929D\x1c\x92\xaen\xees\x9a\xb7\xcbT\xc9\ +\xc2\x85\xdb\xe7uD\xcb<\xf4v\x1d\x1cY\x01\x9f\xcf\ +\x03\x08\xe9\xed8l\x94M\xecq=\xa8gf\xde>\ +\x99L\xe0\xcbcP\xaf\x11j\xe7\x8d\x13p\x9b\x97[\ +%\xf0\x16X\xdf4\x14\x5c\x0e\x7f\x10\xde\xdd\xb7\x84*\ +\xf7u\xe9\x87L$\xe8\xb9\xcb(\x11\xad\xbaP\x04\x18\ +\x80\x0b\xf3\x06(\x91\xa9\x04(\xa0t;\xe0\xdd\xf0u\ +\x11\x12\x86\xca\xc1\x85\xb4\xa1^& ?:\x09\xabX\ +\x99\xf3\xc0\xf1\xd0\xb6I__\x8e\xa9\xcf\xa3\xaf\xad\xf3\ + \xd3\xc5P\xdd>\x019\xe6\x81ur\x11p\x9c8\ +D\x022\x19R}Z[-\xae\xb6ge@\xf4G\ +\xff\x92X\x0c\xe7\x00\x00 \x00IDAT\xd91\xa6\ +\xbe\xbcj\xa1\xccoj\xe0\x8bjm?\xf9\xef2\x93\ +\xa8\xe5j\xb5d2\xe3h\xd6\x05\xedy\x19N\xc8)\ +\x11&\xc0\x01&\x82\xd2\x8b\x9b\x8f1Q\xb7d\x5c\x05\ +\xae\xf6\x9ds\xca\x80\x03j\x04v\x80%\x8e\x1eq\xad\ +\xd6\xb6\xaf\xec\x04\x0a,Q\xab\xb4\x13*\x0a\x9fL\x85\ +\xfd#\x83*S\x92u*\x8aa\xd6\xa1T\x95\x01\x03\ +\xc4\xa8\x9cG\x81\x00\xd1L\x19,\x19\x14\xa2^\xdaN\ +QQ&b%\xb3f^\xa9=c@$S^\xe7\ +\xc7\xe77oD\xe9\x94d\x10Ac\x9f\xf4\x83\xff\xa5\ +Ue\xbd2*Qu/G\x185[f)\xb5\xaa\ +%\xf2\xe8|\xb0\x83(\xf5\x80\x0av\x14\xb59\xe2\x8d\ +\x95\x01\xbd\xcd\x85\x81\xb4\xeaZ@m\xdd=\xc1\xee\x00\ +\xa0\x02\xd4\xed~|\x8c\xe9\xfc\x0al\xcd\x83L\xa0\xae\ +\x05\x1cv\xeb\xc3a\x97\xb9&n\xc6\xbe{?\x0e\xa0\ +\xcf\x97L\xed\xfe\xb1c\x1c\x9f\xe3\xf2cL\xd4q\x0e\ +\x05\xe0\xd6\xdf\xb1\xcf\xee\x07*\xdc\xf6\xab\xd2\x0b\x19?\ +\xfb\xfd)g\xbc\ +\x1a\xba\xc39iK\x91L6*]m\xe0\x04\x02j\ +\xda+\x93\xee};\x82\xe5\xbb\xcf\xed\xbf\x03dh.\ +\xb8\xd0\xed\x8f\xb9T\xe4&S\xdf\xdd\xc7\x05\x19\x97\xa9\ +x\xd22\xc6\x05\xb1\x06\x80\xdap\xdc~\x8cI\xdcC\ +\xc0\x0b\x00J\xff\xebR\xdb5\xcf\xbd\x7f\xa7\xcc\xa1\xf9\ +p\x91\xffF23\x1cb\xd40\xefC\xb4Hf\x99\ +\xa3\xae{\x82\xb6\x96\x02\xd3\x5cH\xd5\xf6\xc8yE\xe9\ +\xf4z2)\x007\x8eW\xa8\xd1u\xf1;\x0f\x02#\ +\x17\x15\xe4\x19b\x8e\xe2\xcd1\xee5\xf4\xc4-}\xa1\ +\x0a\x03:8\xacjN\xa9\x5c\xd3\x04P\xea\x10\x06F\ +\x9dg\x80\xa4\x8bI\x06\xccE\x99\x00\xb8\x1c\xca\xd4\xfc\ +\x95\xc3\xcd\x1e\xd8w\x0c\xa7\x0bQ h\x9f\xa0\xfe\xc5\ +\xe1\xac\x1aZj\xefj\xefe`P7\x9f\xbb\xf6K\ +\xafL\x9c\xd7w\xc1s\xb08jD\xe8d\xba]\xa0\ +\x17\xc7@JFE@\xe6\xc2(\xc0G\x86\x98CC\ +\xcc\x89\x83\xea<\xaa55?\xa9\xa5/\x07\x93\xba:\ +1=\x22q\x1c\x99\xec\xdf\xea~ `\xb7^\x1c5\ +\x17\xb4}\xc5\x81\xd1_\xdd\xfeE\x81N\xbfw\xf3w\ +\xf2\xf01\xb6\xf6N'w\x1dcR\x0f\xe6H\x03\x84\ +\x88Ni?\xe8\x9cr\xb49\x86\xfd^I\xa6\xb4\xda\ +\xa7\xa9Y\xe7\xa0\xca\xb0\xa91\xe6\xb0\xa3\x06\xab\x89\x8c\ +\xbd\xad\x1a\xcf\xd4d\xd6\xbcrT\x95fpd\xdd\xcb\ +\x02\x7fZ\x11\xc3}\xfb\xf0\xb4\xdf<7\xe6\xc7\xe0\xc7\ +}vy\xae\xbfY\x98\x1d\x09\xec\xab]\xde\x1f\x8d\xb1\ +\x89`\xd6:Z\x0fv(\xd4\xdf\xaa\x89Fq\x96I\ +\xbf\xfdZ3\xed>\xdb\x9d3\xc6\xd6\xf7\xbd\x80~\x81\ +>\x06\x12\x86\x15\xa0C\xe9O\x80\x95\xea\xee\x22\xe0W\ +\x02\xa3\xd4\xc1\xbeJ\x80\x5c\x00\xac\xfe\xdd_\x1b\xaaz\ +\xc4\x0a\xf7\xef\x1a\xe3\xf8\xf7_;\xc6\xf6<\x87\x87\x07\ +8\xe1\xb0\xb3\xa3\xeeU\xa5\x0a\xda\x01\xfe\xe6\x18S-\ +45\xef\xd4\xa8W\xbbH\xc0/\x86@\xae\xf9\xc3U\ +\xc6\x98\xfa\xa7\x03\xb6\x9c\x1f\x19Z\x80\x96\x8c\xb9\xd2\x18\ +\xa5)2\xde\xee\x17\x19Z\xf6\xa3Q\x9e\xcbn\x10o\ +\xfc\x8eP\x91\xddS\x00\x10\x0e0Uz\x19}\x0cP\ +\xa2^\xa9\xf9&\xf6\xa9\xcb\xc3\xe1\xeecL\xc0\x16\xcd\ +\x06\xdd\x18\xf4\xabV\x93\x1c\xcd\x92j\x9b\xc7>\x02\xa2\ +Q\xa3\xed;\x01j~\xde\xbfo\x8c\xc9\x0fh\xa2f\ +\x80X]<\x8a1\xc3\xfe(m\xe2\xcf\xb0\xcb\xa8\xe8\ +2\xd2\x98\x82\x18\x06\xec\x19\xe6\x9c\x12\x05v\x99?\xc3\ +^\xba\xaf\x1f7\xc6d_=\x07\x00\x8cV\x88@\xc1\ +\xb9\xf7\xfeJ\xa2\x94\x18\x01Ls\x1e\xcb\x9eX'\x9a\ +\x0d\xee\xc7\xf8su\x0e\xcc+\xfb+\xf1g\xdfj\x8f\ +\x0b `\x8f\xdc[I\x90\xb0\xbb%\xfe\xaa\xf4\x81\xa6\ +\xc3\xe7\x8fq\xfc\xf7\x9fZ\xc6\xf6|\x18Q\xfc\x13%\ +O\xda\xfb9\xdf\xec\x9a\xef\x02o\xf7\x09f\xa1\xc4\x83\ +@\xd6\xbdj~\xa3IV\x00_\xc4n+\xb0\xff\xd7\ +\x12\xdf\x5cK{\x9c\x07T\xf9^\xb3\x0f(r\xaf\x02\ +F18\xf8u\xd6\x0f0\xa1kA\xee\xc9\x02\x1c\xf2\ +~\x98\x8a\xc5\x14\xc2\x00\x04\x98\xb5R\xb5\xde\xc6\xf0\xb4\ +\x0c\xb38\xc0~\x13\xbf\xf8\xef\xe2\x16\xfe\xbc\xe7v?\ +\xfa\xea\xaa\xff\xce\x9b\xf3\x03X\x008Xg\x0c\x1b\xcf\ +\xd5EM\xfd,\x90\x15\xf8{}\xdf;\xc0\xd3\x03|\ +\xf1\x8a8\xc3\xe7\xf5\xbe\xfc\x99d\xf3\xa7\xb4\x01\x22\xa9\x1d\x9a\xf5`\ +\x90\x9dW\x17\xb2\x0b\x89\xb8\x8c\xbe\xf0\xa8Z\xce\x1b\xe4\ +=bv%\x1e\x04a\xa7\xe6\x1c\x0au\x05\xd2\x09\xd8\ +\xd4\xd6U\x86\xd2~r\xee\x18\x5c\xb5\xf0\xc4y\x9cc\ +\xcf\xe1\xf9\x01E\xfaGs\xa09J\xe6\x0bS@\xe0\ +'P\xa5\xfa\xcf\xb1p\xa1\x08L\x94\x8e\xb0C\x1d\xb1\ +N`R\xa2R.\x06\x0e\xb5\xcf\x85\xea\xad\xf6\x17U\ +\xfcacl*\xf5E}\x17\x10;gj\x0c\xd9\x07\ +\x8e\x9c\xc0[)\x8fvs\x00\x89\x00G\xa5\xda\xadM\ +\xdb\xd5\xc7\x982\xec\xa8\x9b\xb4\x15\xb4\x1d\x8c\xc8\xe6\xee\ +\x11\xeb\xb9(fJ\x1cR\xe7\xad\xba\xc3p\xc0\x88S\ +\xc9`\xab\xf5\x04|`<(\xd5@\x19\xb6\xdf\xa9b\ ++9a\xe7\x05F9\xc7EE\x96\xd9\xd5\x1eQ\xe0\ +\x95\x00\xd59<\xdct\x8c\xad+\xc4\xe1\x13c\x9c\xde\ +\x06\xabT\x90\x9d\x07\x00\x1f`I \x89Q\xe4\x9e\x88\ +#}\xe6\x8d\xc7\x98\x02E\xd4G\x14q\xbf\x7f\xbd\xd6\ +-\xa6\xd9Y\xcc\xb4\xa2\xccc\x94\xc4\xbe\xd4\xfe\xb2?\ +hnD5\xbf\x80\xa4\x04>\xc7\xe0s\x0d\x1c\xdd?\ +\x80@Tyj\xe5\x00\xf5\xd4$W\xcd.;\x1eQ\ +\xb2R\x9d\xe7\x80\xb9\xb71\x8e\xbc?\xc6IT\xfcK\ +$N\x00\xcc.\x01\x16\xe2\xf0\xd8\xdf\xbbSc\x1c\xbf\ +\x9f\xac\xfe\x07fP\x95\x92\x01\x1e\x04\x04\xec\x83n\x0a\ +Jo\xf4\xa5'>\x18\x11@\x00K\x05\xce\xe9\x9eP\ +\xa5\x02\x1cP\xebr\xcd1\xa6\xae\x00\xee\x07\xfb\x94\x1f\ +\xa4$\x08\xe9\xb2\x89\x0dV\xfbH\x80\x16\xfb\xd1\xc5\xf2\ +\xde\x19\x87\x95\x9d\xe7/\xbc+\x00\xe7\x9ds\x1f&p\ +\xc3\x08R;-\x90\xaf\xf6v\xd4\xe7\xb3\xfe\xfb\xb7\x8d\ +1\x89\x00\xab!\x07\xec\xa6\xe6\xba\xf6oJ<\x0a\x90\ +\x04\x5cG\x1b\x00\xc5Y\x97\x97\xc3\xf7\x8d1\x89\x11\x0a\ +\xc0\x9dc\xe7\x9e\xdd\xe4\xbf\xb9\xb7\xd4z\x0b\xd4\x00k\ +\xceUJ\x80vo\x1ec\x9aw\x01 G\x9c\x1d\xf6\ +~\xda\x9a\xb2\xe7J\x01\xdc\xbf\x80,\xa5'\xce\x0dq\ +U*\xfc\xdah\xb2\xdb\x80r\xf3\xa24\xc9\xfd\xc4\xdf\ +M\xe9_\xad\x87@N\x80&\xe1%\xa1&C\x1d&\ +\x10\xff\xaf\x12I\x02$\xa5'\xfc\xbf\x00R\xcey\xd9\ +\xc5\x88\xbb\xba/\x89\xef\x15\xf0$\xd0\x95p\x02l\x01\ +\xac$\x10\x88\xd5\x01T\x89\x11\xda\xd7\xce\x05\x06\x14\x0d\ +\x12\x01y\xd3\xe4\xd2F\x9a\xc6B\x01\xb2J,\xf8\xdf\ +\x98\x8c\xfc\x18v\x8b?\xc3\x8f\xb3\x0f<\x07\xfb\x8d\x8a\ +\x0f\xc0\xf3\x1c~\xdf:Y\x87\x9c\xbb\x12#\x94\xc0\x8a\ +\x7f^\xf7\xa0\xd7\x07,\xd3v\xe0\xdfZ\xcf^\x93\xef\ +|[\xc7\x88\xd5\x9e&\xaa\xc7\x0f\xe9]\xe0\xf8\xb7\xec\ +\x07{\xdd\xe3\x17\xfb\x9d\x06\x81\xf7aW\xf8a\xfc\x0d\ +\xef\xe3u\xc4Q\x9dq\xdd\x99\x00\xde\xa7\x8bp\x9bW\ +\xf1#@\xb0\xb7\x0d\xf4|\x006\x81=?\xcd\xdfw\ +\xbf\xac'\x1c%\x82\xa2\xa9R\x80T\x8f;|\xce\xae\ +\xa5\xd6\x19\x09\xfe\xbby'F\x0e\xe8\xe6\x97c\x98\x8a\ +\x0f\xddW\xbe\xceo\xa2\xed\x9d\x09\xdf\x13\xdey\x8eS\ +%v'\x80\x17P\xf5\xda\x93\x11Fi\xb7v\xdd\xa9\ +\x16_\xed\xfd\xd8.W\x9c\x0c\x8f@r\x98\x9f\x8f\xe7\ +\xfb'&G?\xb5c\xbb\xeb\x8f1-\x88\x80\xd9s\ +\x8d\xe9\xbc\xd4\x14\xc02\xc0\xc4\x0a9.\xbd=\x83\x05\ +\xb0\x902\x97\xd4Y\xbb\x98\x1e1\x155\xa5\x16\xf2\x13\ +K\x87\xdf\xf5\xf3\x5co\x12\xeb\x08B[\xed\xc7\x5c$\ +]\xa5\xdf\xc47\xf1\x85z\xde\xde\xe7\xd2E\xf6\xcfk\ +\xbb\xa3\xdd\xe7%S/p\xf1\xbc\xe6K\xa6)\x1b\xbb\ +6\x86y\xbc\xe4\xc5\x94\x14|hE\xe6\x8f\xff\xb7\xce\ +\x17\xa6\x02\xb11\x01$\xea'j\xe8\xe5\xe3p\xb4\xcf\ +S\xaa\xf9A\xbaw\x7f<\xc6T\x03\xafD\x02C\x04\ +\xc2\xed\x22\xec\xdd\x15\xfa\x01\xee\xb5@>\x8f\xc0\xa6\x89\ +3\x96\xe8\xd1hOy\x83)\xc3\x12\xc7\xbb\x1c(m\ +q\xee\x1c\x86\xc0\x17\x8d1\x19\xd4\xde\x9e\xd2sR\x11\ +\xc7d\xb0?\x893Q\x97M&\xba\x10m\x19pH\ +\xb2\xf3e~]\xb4\x1fj\x19\xe2\x1e\xb8sp|n\ +\x99\xbbd\x8e\x8aq\xe0\xc0\xa3z\xab\xc1\xd3>\x8a\xe8\ +\x0d\xc0\x8f\xfa<\xf1/\xeb\xc1P\xba(9\xc6\x80\x0c\ +\xfb\xd8\xbca\x12\x00\x92\xd8\x05\xef\xc3\xa0\x09\x08\x5c\x10\ +\x1c\x03@\xa4u\xeb\xc0\xa4\xcc]o\x07\xe5\xc2Q\xa3\ +\xec\xf9\xcc/\xe0\xc8\x05h?\x09\xe4e\xf4e\x22\x9d\ +3\xe7\xc8y\xd3\x05\xc0E\xddjV\xeb\xe2\xe48\xc8\ +\x04\x08\x00\x92\xd1\xa8\xee\x02\xba\x09\xf8\xf9\xbb\xc7\x98\x9e\ +O\x86$\x19\xd6\xaa\x09\x0d\xe3A\x86r\xf7\x87c\x5c\ +\x84\x1a\xb5}F|\x8f#\xcfaQ\x83+\xd3\x22s\ +\xaef1\x0e\xbc\x8c\xc8\xc9\xe5\xc68\xbe\xce}\xc6\x98\ +\x02\x1e\x14\xd9\x88?U H\x0d\xfb\x0a\xb9\xf0#\x8a\ +\xa9t`\xe9\x11s\xdb\xed\xe2\xab\xda\xdb\x04\xd4\xfa<\ +\xef>6\xc6\xd4V\xd1\xfeuN0x\xfe}\x8c\xa9\ +m\xa2@\xc1\xba\xb3\xff\x01\x0e\xcaQ\xec\xed\xe8\xa8\x91\ +\x07\x98\xdb?z\x8c\x09\xd0\xb1o^\xbdR\xcb+ \ +T\x12\xc0qM\xa0F|\xb4\x00F\x08?\x8d\x8dd\ +*\x87T\xdb\x22\xd6v\xf31&\xe0\xc9\xfe\xb6\x8f9\ +P\x00\x80\x04\xb0D\x0b\xd5\xe6\x96\xfa;j;\x06\x03\ +@\xdd\xfa\xb13(\xd5\x18\x02>\x07\xea\xef\x95\x0fW\ +:\x8cL\xd6\x13W\x8d\x82j\xcf\xa8\x9f\xba\x92\x16\x19\ +P\xa5I\x9d\x82\xa9\x0f;M\x14\x01\x8c\xf5|Lj\ +\xb8\xcf\x8b\x88\xee\xff3\xc6\xb4\x9e\x02}\x19O\x0e\x90\ +\xc0\x0f\x03\x11\xa3/\xa5G\xe6\xb7DN\x1ft\xf8\xc6\ +\xc3\x83\xd2_\xfc\x8c\x09\x80\x06\xa8\xa0\xc8'3\x5c\xfb\ +\xe1!cl\x8c\x943\xef0\xc6\xc4\x90r_\xc4.\ +W \x04\xa0i\xea\xd3\x95\xa9\xb4\x0e4?^:\xc6\ +\xd6=F;\xbd\xc3-V\xb1=@\xdc\xe1\xd2\x87\xcb\ +\x1c.39\xb4\xec\xaaZ\x7f\x99\xf5t\xb3\xa8\xf6\xae\ +\x02\x10\xf6\x9d\xfdTC\x1f\x06I\xd9\x09\x806\xad\x8f\ +\x9b\x8c1iu$p\xdc=s\x8c) f\x1f\xac\ +\x9f\xcc:`@`\xee\xfc\x01\xb8\xe3\x07\x94\xf8g\xc4\ +C\xf7?8\xc6&\xe2W\x80\x92\xf6\x81\x80\x9a\xa8\xfc\ +W\xc6\x99\xa6\x0b\x7f\x8d_z\xe71\xa6\x0c\x9c\x12\x16\ +~W\xcfT*\xbd\xfa\xd11&\xa6\x82L\xad\x9a\xfb\ +\x9f\x18c\xaa\xfd\xe6\x9f\xba\xef\x01o\x80I\xfd\xe5\xa9\ +\xe4\xf3\x83r\xef\xef\xbef\x8c\x89\xa9\x90\xe7+-\x8b\ +\x9e\x19f\x1f:\xd3\xc9\xf9S\x0b\xaf\xbdl\xecF\x89\ +\xac*\x9d\xca\xf9\x04\x0cU\x09\x0aM\x0f\xdd7hW\ +D\x13\xa5J=\xe2\xd7\x1cO\xf3ZBK\x9bD\xdb\ +\xcb\xe7\x06\xe0\xd3\x86\xb5\x89\xf6V\xfb@\xfb\xda:\xf1\ +\xa7\x00\xf3\xee{\xc0\xa0s\x06H\xe5Ob\x82\xd8o\ +\x18\x05\x18\x91\xfc&\xf7x\xf73\xf8=\x80G\xf7\x7f\ +\x03\x12\x0aP\xec\xfe\xbe@\x90_\xc3\xbf\xe3G\xf1\xef\ +\xec+\x09\x15\xfb\x8d\xfd\xe7G\x8b;\xba\xaa?\x80\xc4\ +\xfbv \xa0\x97\xca\x12]M\xdb\xd5\x9ao\xaf\xcf>\ +\x9bG\xf6\xd6\x00\x0d0\xe3\x1e\xf2\xf9=_\xef2\xe2\xf5{\xe0\ +\xee\xf3vM\x01\xeb5\xc7\x8f\x9f\x98^\xaf3\x11|\ +\x9e\x16_\x14SGbK\xc2%\xa2\xa1u\x8e\xed\x93\ +.\x16i>[\xbb\xc6\xdd%\xc6\xd8\x183\xa7\x16\xb3\ +\xf2\xd1L\xd0<\xb1\x90e\x07h\x10no21\x02\ +\x88\xfe\x09\x10\xde\xb1t\xe4\xdc\xd4\x0aC\xb9.GK\ +M\xb0\x85P\x1b\xa1\x96\xbe\xf7=\xe40\x0dG\xf5\xda\ +\xd9\xe8\x97\xcb\xf3}j\x12\x09\xecb\x196\x96\x89E\ +]\x9e)\xbe\x97\x8f\x039\xd7\xe2\xe79+S\x08\x81\ +\x0a\xa5\xacD\xabP\x91\x05|\xbd\xe6\x1e3\xa1\xf7_\ +\xb7\xc0=\xf0\xb7ql\x98\xde\x07\xb2\xd7\xf4\xd88\xde\ +w\xab\x8d_\xd5]\xf5\x15\x06\xac\xf4\x0d,p\x92\xb1\ +&\x1aG\xcc\x8b\xe8D\xda\xa5U{1mg\xd4\xb2\ +{\x7fb\x89O\x1bc\xeb\xdf]\x19\xae\x93\x5c\x98\xe6\ +\xc5E\xda\xdb\xcc\x09\x10}\xb7O\xd4\xb2\xa3\x0eBT\ +u\x95\xa0\x19\xc0`\x09x\x82\xf0Vf\xcdz\x99w\ +\x06\xcf\x05`\xbf\x0b\x80\x88\xdc\xdcs\x8c\x89\x82\x97L\ +\xdf1\xecZUwQ\x1fo\x12\x0a\xef\x8f\xad\xfd\xc8\ +w\xbf\x97\xcf-cE\xc4\x8d\xc3\xf0Ccl\x81J\ +\xd5L\xff\xd6\x18\x13#\xe4\xafC\xc5;\x7f\xf7\xa9\xdd\ +\xa7&\xf5`\xed\xe68\x0c)E(\x0a\xbc>\xe7\x0c\ +=\x07\x18\xa5\x9a\xc3\xc1q\xb2\xbf\xd4\x08\xba\xc8\xed\x13\ +\xa2=\x1c@\x089G\xd3\xfcrD\xf4\x95\xbf\xd7\x18\ +S\xbfe\x17\xb4\x1a\x5c\x81\xb1}\xce\xa0\x01\xa0\x88U\ +AZ}y\x7f\xfbIm\xa9@\x80\xdd\x91\xd9\x00\x8c\ +\xb9\xb8:\x22\xeb\x02v\x8e\xd4\xea\xb3[2\xc3D\xc0\ +\x88\x84\xc5A\xab\xc0JW\x00\xed+='{\x04 \ +\xfa\xad1\xa6\xf3\xec\x22d\x7f\x89\xf3\xa9\xf5\xe7\xa89\ +\xbf(\x9d(\xdaj\x82Q+u\x9dP\xea\x01\xc8\xe2\ + \xeb\xa6\xd0\xb4H\x8a\x01\xa1v\xf6rcL\xfd\xd6\ +us\xa0\xaa\xaf\xfda\x02\x90\xb2G(\xe0.\x5cb\ +\x7f\x10\xed\xde\x16\x08\xa5.\x19Y@G\x89&\x06\xe0\ +\xa2\xca_5\xf8\xecf\xf6{e\xee9J\xdax\x09\ +\xa0\xedg\xfb\x8a\xe3\xe7<\xa8AW\x1a\x93\xfbl\xff\ +\x8c1\xa6\x1a\xe9\x931\xb6\xff^\x9f#\x81\x7f\x05\x1c\ +\xc9\x80\x95\xe8\x1eU\x7f\xc0\x8bL\xbb\xd7\x09\xa3\xa0D\ +\xf9\x02\x90\x14\x90\x02P\xeb]Y\xd83\xeb\xab\xa69\ +\xf7\x15FV\xa9a+\x01\xd0^\xeb39w\x7ft\ +a\xd1\xd3\xaaEO\x86\xae\x02t\xf7-\x87\xeb\xe6\x11\ +eMW\x8e\xda\xf7\xd65\xda\x22D&Q\xeck\xff\ +\xd3\x10\xe1?\xa4\xc4\xe9\xb8\xfbV\xcd\x05\x0e\xe0\x19\xc9\ +\x5c\xa2^\x0al0\x0c\x9c\xffNU\xcd\xbd\xa5\xdbE\ +\x01+\xd1:\x00XW\x80\xae\xcd\x98\xfbB\x80\x1a@\ +\xe3p\xbd1\xa6R\xb3\x94\x8c\x14#E@B\xacP\ +\xc6\x1bP(\x83\x1e\xc0\xb9\xda\xa6*E\x88]V\x82\ +\x82\xf9\xb2\xbb\xe3\xca\xf0)\x00;\xfbe\xff\xc11\xa6\ +{\xffzSi\xe6\xf56\xfb\xbf\xff\x871\x8e\xe6\xec\ +\xfb\xc6\x98\xa8\xba)i\xab\xcc\xbd\x80\x0f\x85;\x22u\ +\xe5\x17\x11\xc9\x8a\x98\xea\x80\x1d\x16\xe0A\x86\x92\xda\xb8\ +uO-}\x05p?~\xc6\xe3\x87\xd8\xdb\xe1I\x87\ +\x9f^\x18)\x02a\xe7\x12p\xcb/\x89_\x06 )\ +qN\xe2yj\xad\x05\x94\xee\x19~\x88{7Z\x13\ +\xda\xb2b\xfe)e\x008\x10\x8b\xac\xeeL9?\x95\ +p\x10\xd8Xg\xf7\xad\xf3\x000\xe7\xafx\x1e\x7f'\ +`\xb4\xaf\xf9G\x18|\xec\x89Zc\xcc!\xb5\xe2\xd1\ +H\xc1\xb0\xac\xf3\x8e\x09\xa0\xbd\xa3\xd2\x9b\x88\x92V\xc0\ +\xe6>\x0d\xa3\xb1\xda\x13\x12W\xd6\x0d\xe4\xdecL\xf7\ +\x88\x80\x9c\xdfa}tM!\xa6\x0b\xe0\x0d0\xc4\x0e\ +\xd6=\xa4\x8d+\xc6\x0f\xa0V\xe0\x1f\x8d\x83:\x8fJ\ +^$R\xd8;\xf3$\xc1\xa7\xdb\x89@\x8b\x7f\x82\xd1\ +(0\xc4\xd8{\xe2\x18\x93\xa6\x04F\x81\xee\x14\xba'\ +H@```Nx\x1f\xccP\x00\x00\xe08\xc0p\ +\x89\x0b\xbao\x04\xac\xf6\x07\x8d\x11\xaf\xcbn\x89\x1f\x9c\ +\x07\xfb\x99\x1f\x03@f\x8f\xf9a=1\xda\x03\xd6N\ +\xdd\xf7\xef~\xee\xed\x00\xbd\xbfx\xcb~u\x8f\x9b\x07\ +\xf7\x12\x7f\xce\xe7\x14`\xf7L9;\xdd\xbb\x02X\xd7\ +\xaey\xe6y\xc45\xfc%\x09\x0f\x80\xc5\xd6\x9e|\x8d\ +\xff\xbaf\x9a\xcf\xcb\xff\xf3\xb3\xbf\x13\xe8\xfb}\xed\x00\ +\x95\x04;\xdf\xfc6\xbf'~i\xdd\xabNKh:\ +\xf7\x17\xb4\xb6\xea\xbe\xdf\xe6\xc2\x89\xd3*!\xb4?\xc4\ +\x97\xe2\xca\xc4c\x05\x10t\xa0\x92\x9f\xa1$#\xf7\xdb\ +\xa9%\x1f\xf8g\xa7Ss\xb5\xf7[\xa6\xf5\x03\x17\x11\ +p\x8fk\xe00=\xc0\x08\xd7>\x98\x7f??\x0b1\ +\xd4\x88\xbf\xe28\xee\x99\xcc\xc4\xe7N\x13e\xe3{\xd0\ +\xf1\xbf\x02\xf4+\x06\xc1\xbb~k\x1fq\xc6E\xa8T\ +z\x7f_\x16\xb4g\x8eM\xac\x05\x03(\x10\x03\x1ca\ +\xc2\xb5\x12\xc8_#T\x8c;N\xd4\xd1\xd4\xee\xd5\xfb\ +\xf56\x82\x02H\x19\x83.&\xd8\xdb\x5c\x08p[?\ +\xd1\xaa\x89\x8e*\xff\xe1\xdf#rw\xc3d\xce\xe7\xe7\ +\x9fkw,\xb4\x8d\xaa\x86\xa8\xb5\x0b,\xb1<\x08\xb5\ +\xf9\xe1(~\xcf\x18[\xdb\xb2\xdd\xdf\x8f\xb1\xb4-:\ +\x8e\xed\xfdJ\xac\x042+\xf0y|(\xff\xe6\xa1\x8b\ +}\x5c\xbe\xa9\x88\x9b\x07\x0e\xf7\x0bC\xf9\xfal\xd6\x9d\ +a\xa1\x0e\xeb`\xaa\xf5C\x85\xf39~u\x19[\xe0\ +-\xd0\xe1p\xbf,\xdf\xef\xbf29\xf4\x01/\x0a*\ +\x87\xfd\x17\xc7Xj:\xefq\xb8\xc7t\xa0Q\x1a\x1f\ +\x18\x07\x01\x95]@\xfe\xc0\x00Z/\xdf=c\xf7\x8c\ +I\xf4\x092\xcap\xc9\xb0\xbc#\x17\x0bG\xcd\xbcP\ +\xb3\x97AI\xfb\xc2\xa2\xbe\x85*Z\x8e\x89R\x1a\x80\ +\x8e\xcc^o\xe3\xc8\xa1\xd0\xdf\xde\x85\xab\x1f7F\x83\ +\xe7\x95A\xe3\xa8\xa3D\xa7F\xb0\xd6\xa7\xf5\xed\xad@\ +Z\x9b\xcf\xd7\xec^\xbd{\xf5$\x12\xf4\xb2\x88\x03&\ +\x83\xaaox\x89/\xa2\xc4c\xe4\xf8\x5cy\xae\xba\xc0\ +9\xac\xf6\x11\xc7@\xe0\xae&_\xa0\x03\x18\x00\xbc\xb9\ + \xe2\x80\x16\x95\xddE~qm\x0a\xad7\xed\x82\x9f\ +\x1e\xe3\xf8\xef_?\xc6\x94!\xa6\x9d\xa14\x88\x03\xa3\ +-\xa0\x80\x98C\x85a \x93,\x13\x04\xf1\x8f\x18\xd5\ +\xc9\xad\xc6\x98\xe6\xf9\x81cL\x14J\x0efj +\ +\x93\xf8\xcdcL\x8e\x97\x0b\x0fp\x93\x92\x0b\x19F\xfb\ +f\xc0O\x0b\x00\x85\xe2O\xebA c\x9d\xbf\x7f\x8c\ +\xc9N\x10\xb3\x91\xb1\xf29zW\x14\xf6\x08\xc0!S\ +\xc7\xb1\x96\x89\xbc\xcf\x18S \x9c\xf9)\x91B\x0e\x16\ +\xf1I\x17_\xef\xc2\x00`J\xc0U\x81\x0e\xb1\xafd\ +&K\xe4*\xd4\xe0\xfd+\xc7\x98\xd4\xd4\x89\x9f)i\ +\xa0\xf5\x829\x85\xe9\x91\xda\xeaZ\x97\xa6R\xac\x96v\ +w\xd51\xa6\xc0\x92ck?\xd9\x97\xbd\x7fr/!\ +1\xaf\x02\xbcd\xf6\xaaDE\xe0\xc2\xde8WJ\x8b\ +\xd8\x8bP\xf0G\xbe\x7fd\xfcK\xc5\x1f J\x9c\xee\ +\xe9k`P\xa2x\xee3v\x97\xe3\xcd\xa1G\x99V\ +\xea\x83R\xac\x06X\xcd\xe2\xd9i\xab\xe7>\xbff\xce\ +5\x8a\xb8@X\x80%\xe0F)\xf69d\xa0e\xd8\ +8\xec4\x5c\xb4W\xd5NM\xa9\x0b\x0am\x00[\x0c\ +\xc0R\x95\xa7!\x93\xcc\xd1\xfe\xd7\xc7\xd8T\xe4ii\ +T@p\xd91&\xf1F\xf7\xa2Lw\xee\xf1\xea\xe2\ +\xc0^i\x13K\xb4\x0f\x95\xfd\xfd\xe9>\x11\xe0\xe3\xf0\ +\xe4\x94\xcc\xbc\xff8f\x0d \xe7%\xcf\xb1\xbf\xdb\x18\ +\x13p' \xec\x8ey\xec\xfb\xfe\xf5cLvZ\x0d\ +\xbf\x1a\xf0\xb4\xfd\xab\xf6j\xd4\xc6G\xad\xf3\xd7M\x94\ +p\xe7X\xb7\x0d\x1aAJ\x86\x00\x9e\xc4\xde\x94\xf0]\ +a\x8c\xa9\xa6_\xf7\x97\x009\x87\xab\x8d1\x01\x102\ +\xd2j\xff\xd5\xa0K\x14\xfc\xf0\x18SIQ\x0f\xb4z\ +\x1fz\x00\x0d\x8a\xae{\x03\xf0\xfe\xec1&\x0d\x00\xfb\ +\x8e\x1f\x22S\xcfO\xf3>\xec\x1d\xbf\x90\xc6\x86{\xd9\ +\xbe\x90\xc1\xc5Dq\xff\xe6g\x8c5]50\x1f\x94\ +\xbcT\x0d\xff\xa3\x97\xb1Q\x99\xd3\x9e\xba\x00/5\xe7\ +?2\xc6\x04\x08\xd0v\xf1\xc5\xdf\xed\x99L\xed\xfe\xec\ +o\xf3.\xb3\xca\xbf\xe5\xa7\xaa\xb1g\xff\x01m\xe6\x9b\ +\xdf\xe7}\x04\x9e\xee-\xcc\x0d\x81\xbb\xdf\x07(\xe6^\ +.\xa0Z;E\xcf\x8bA\xd0\xfb\xd6K\x08t-0\ +\xbf\xe7\xfe\xf6s\xd3J\xaa\xdf\xf7\xfa^\xd7w\xf7\x00\ +\xbb\xf8\xfa1&\xc6\x01\xbb.\xde\xea\xed\xe1\x00Q\xf6\ +\x99\xe7\xe5G\x9ag~+?\xb0'\xd8\x04\xfa\x18\xa1\ +(\xfc\xbe\xdc\xa7]\x83\xabS\xf7{\xc9\xb1\x9f\xfd\x1d\ + \xc0\xe7\xeaL\xed\x0e\x04\xf4n\x03\x9e\xb737\x9d\ +\xe70\xcak_\x98\x0f\xcf\xe1\xef\xfd]\x07D:\x13\ +\xc2\xba\xa3\xfawF\xa7\xcfe>{\xdb\xc5N\xc5\xbf\ +8m:\x99\xfc^\xd2.\x0e\xb7?tiJ\xa9g\ +\x01A\x00\x02\xcc\xc9\x8f\x8d\xb1u\x93:|f\x8c\xc9\ +\xef\x97\x08\xc9|\x9f\xaa\x9a=\x07|\xe4Mn\xbe\x89\ +#T\x86i\x5c\x1fo\x8ec}\xf5\xd6\x0f\xfe\xeaM\ +\x84`?m\xcc1\xdd\x17\xb1\xd1j\xe2-\xb8L\x94\ +\x8d- \xf7zc;\x9cl\x1a\x02\x15\xd8\xa2\x12\xeb\ +\x06\xe0\x83\x7f\xfa8\xd4D|\xfa\x22\xda\xe4\x05\x00X\ +T\xaao\x94\x00j\xca\xa4\x96A\x82LwJ\x87\x05\ +f\xd0-h\xef\xcf\xd8\x03\x7f\x8e\x8c\x0d\xd3k8z\ +\xf7\x82\x0b\x22\xde\xf7\x96P\x8e?\x7fU9>\xad\x0d\ +\x84\xd7u\x00=\xaf\xef\x1c\x00\x1b\x90h\x97\x1a\xfd\x18\ +N\x99\xaa\x0a\x08e\xa8\xd3\x8e\xae.v\x22h\x02\x1f\ +\xfd)9\xd66vo[x\xa9|\xffx\xa3N\x9d\ +\x97\x03\xfb\x81v\x10e\x90\x5c\x14\xbdf\xfb\xa6cL\ +\x19\xe0\xff8\xbc\xef\xf0\xbe\xa9T\x03\xb5V\x9f]@\ +\xc7\xef\x8d1Q\xc2\x1cp\x00\x021\x18\x86\xc3\x17\xe6\ +C7\x14\xa8\xa5\x09D*\xc3\xaf\xbf:j\x19Q)\ +\xf3\x1eG\xaa\xceC\x1cnj\xef\xd3E\xb3\x1a6\xc8\ +\xa1\xf3\xd6\xbbC0\xcc\xce\x93@\x8f\x83\xd7\xc5N\xd4\ +\x1ar,\x04\x00\xdf\xb4\x8c\x12\xb7\xaa@J\xa6\x80\xea\ +\xb1\xe7\xc1\xa0\x09 sx\xd4\xe1\xd1\x87G/\xc0\xca\ +ZC\xfa\x05\xe97l~\xdf\x93\xf9CqR\xcb\x1e\ +\xaadQ\xbc\x05n\xd4\x98\x19x\x81\x11GR\xe9\x03\ +M\x01\x17\xa0\xf3\xeb9\x9d\x03L\x06\x17\x13\xe4\x9c\xa3\ +\x05\xb1w\xae\x01\x10\xa8\xd1j:\xd5LR\xd5\xbe\xef\ +\x18\xd3\xba\xa0lb\xd4\x08le4\x5c(\xf6\x9fu\ +R\xfbI\x1c+\x01\xcc\xeeucL5\x8cD\xc9d\ +je\x1c\xb2\xff\xbb(_1d\x5c\xbc\x1c\x12\xef\xcb\ +\x81U\x12t\xef1&f\x8c\x8c\x1b\xc0Lf2\xa2\ +t%2\x0a\x08\x90\x11\x8fCY\x8c\x10vIm\xb2\ +}\x95\xc0\xb4\xb4\x0cbW\xaa\x16\x98\x18\x1b\xaa2\x87\ +\x1f\xb58\x81Fe\xc0\x02\x04)U\xa8\x0c\xb8\xfe\xcc\ +(\xaa\xda\x13j\xbb\x99\x0co\xb5\xf7#\x02\x18\xeap\ +iu\xa8Qgg\xa8\x83G\xb4\x8e}\xac.\x1a\xec\ +5\x80\xce\xfd\x97\x80t\xf7wcL\x192\xaf\xcfA\ +\x093\xa9\xda\xf7\x01\xc8\x12hV\x8d4\xc7]\xdbC\ +\x94\xfco\x1fc\x0a\x08d\x5c9\xae2\xdbJ\x97\x04\ +\xfa\xd4\xba[\xb7\x0e]XN\xae5\xc6v\xbe+\x90\ +w\x0e<\xcf\x17\x8fq\x11\x22\xa3\xb9wQ\xb7+\xc0\ +xQj\xb0_\x9aL%\x0ar\x98\x1d\xe5h;\xc7\ +\x98E\x80)L$]5\x128\xb2\xdf\xe5\xdf\xc8d\ +>h\x8c\xa9\xad\x19*\xf1G#2\xacM\x9f\xd2\x15\ +v\xd7}@\xcd\x1c\x00\xe5\xdf\x93\xf9?|\xee\x18\xdb\ +9\xdd\xfd\xed\x18\x13\xf5\xdf}\xa0\xa4\xf0\xd5\xb1\xd3\xda\ +\x9e\x12q\x0d\x00\xb7\xfb\x9c\xa3\xff\xf29\xcb<\xbcn\ +)\xe9\xbb\xd9\x18\x1b\xd5\xff\xe4*cL\xfe\xc8\xe3\x97\ +\xb1\x95f\x84\x12Zm\xef\x12\x10\xee\xfel\x8c)#\ +\xce\xc1\x06X\xd2\xb8H\xa9\x0f\x86\x9b\xc0\xb3\xd6A\x22\ +\x09\x90\xc1\xde\xdb_)-)\xaa\xbbL}\xba\xb0(\ +u*\xbb\x13F\x01\xa6c\x01=\x80y\x14\xfe0(\ +t\x8b(\xa6\x9b\xfbZ\xcd:;\x02\x98%\x82'q\ +\x90\x92\xb9\x02t\xfc>\x8d\x12T\xf1\xfc{1E\xd9\ +\xb5o\x1ac*\xad\xb3\xdf\xf8\x85=S,0\xf6|\ +\x18\x8a\xfcE\xdf\x05\xea\xa18WW\x1d\x01b\x02\xb7\ +b\x0e\xa9\xa9w^\xf8\x1b\xec:@\x02`\xe7|\x02\ +\x9ah\x00\xf1\xcf\x05\xf6\xbd\x84H`\x22\x90\xd1=\x05\ +\xe3\x8d\xff\xc1\xdf\xcd~\xac\x0cg\xe2\x91\xca\xc0\xd3\xd0\ +\xd1.\xb1\xf7i\xf7\xdc\xfc\x0a\x9a?\x00\x17L1~\ +\x11\xff\x1a\xb0'\x91\xc5\x1f\xe2\xf7\xb1\x87\x02@\xeb\xce\ +^\x09\x8c\xbd\xbfZ}L.\x09\x1e\xf7\xf8\xe6\xe7\xae\ +\x22\x93\x12t\x1dx\xe8\x14u\xfe\x87{\x02`$\x91\ +\x0a@\xd66Y\xd7\x1d\x01\x7f\x07\x00\x9c[\x8c\xda\x8f\ +U\xfb\xef\xf5\xbf\xf3\x7f\xbaV\x92\xb8\x82=\xeb\x81z\ +cv\xd7\xf7\xce\x0c\xf0~\xfe\xbe\x03\x00\xfd\xbb}h\ +\xbdh\xea\xf8\xfc\x9eO\xc0\xdf3\xf9\x18 \xbd\x0d\x9f\ +\x9f\x9d'\x0c\x02\xaf\xefs\xfa{\xaf\xd7\xbb\x1eX?\ +\x89I\xbf\xe7\xf9z<\xe8{/\xd1\xe6\xaf;7\xfe\ +\xdez\xf3\xefh\x22\xf1\xa3\x88\xb8\xfa;\x09i\x1a?\ +\xe2a\xe7\xc1s\xa6$\xe7T\xd5\xa8\x84\x8a_\xea\xc2\ +\x10;H'\xf5\x7fZ\x00\x1c\xec\xe1\x0e|t\x0a\x8c\ +| \x0b\xa32a,\xcb\xfb\xa7\x83\x7f\x89\xb5\xbd\xcb\ +\xf2\xb1\xaf8\xd5\xd8k\xd3\xd7E\x18>\x13u\xe3y\ +\xe3\xcc\x22~\x0e\x16q\xac\x81w\xfc\xc3\xc4\x1c\xf8\xc0\ +\x12Zn\x0b\xcf\x90\xb9\xc0\xc7\xf5t\x9d\x5c\x5c\xa36\ +\xeeZ\xc7q\xd6D}\xb2q=W\x17\xab\xf0:\x00\ +\x82\xa6\xee_\xc8\x0c\x8ad\x17\xd1\xf0\xfa^\xcf\xeb\xb7\ +\xb6\x17\xd5\xe7\x99j\xb7\xbf\xb7\xb0\x0e\xa4\xc0\xdbEL\ +5\x9d\x81\x96q\x0cet\xf7\x1dcLT\xbf\xab\x15\ +\xb5z5@\x11[\xab\x00\x8b\x03u\x9f\x04\x08\xf6\xc3\ +\x8dR2\xc2\xe0\xa6op\x19\x14\x07\xe0-1\x88o\ +\x8a\xc1\xb3/P\xa4\x89\xc1\xc9\xec\xb8\xc0\x19\x125\x95\ +\xfa\xfd\x02\x18\x9e\x96\xda>\x06\xda\xfee\xe0=\xe7\x0b\ +\x92\xd9\x22\xde\x22`B\xe5N\x9b\x1c\x94\xc2\x0a\x84?\ +\x12\xea#\xf1\x1f*\xd8\xa9M\xad\x1aX\x99r\x0ee\ +.\xf2\xddS\xc68~\xff\xb71\xa6L\xf2/\xa6o\ +m\x0c\x92\xb6'\xbb\x17\x8d1]@\x02\xd7\x04\xac\xe5\ +\xc8\xa5T\xa1\xda\xce=d\x8c\xe9\xe2\x96\x11'\x9e\x06\ +\xe9\xd5/\xb7\xb7\xd7\xd1~\xe5\xd9c\x9c^c]H\ +\x22&\x8fZ\xfcP\xed8\x84\xfb\x9f\x1cc\xca\xb0E\ +#\xe2\xe4\xc9'?s\xf23\x8b\x83\xbd\xae\xc7s\xe3\ +8\xa3\xdc\xb98\x9c\x1f\x0eD\xd6\xafJ\x1d \x9bD\ +\x990B\x048\xd9\xe7%v\x96\x0b\xa5\xd4\xd8\x892\ +\xc98jo\xe6\xe2\x06x\xe9F\xe0\xa2C\xd9\x8ba\ +-\xc7O\xdb@\x80\x82\x00X&*\x0ete\x8c\xcc\ +\x1b\x00\x8f\xe3\xc0\xc1{\xd8\x18\x13\x00\x10G\xb4\x98!\ +\xa8\xff\xf6\xb1\xf9\xe3p\xb3\x97\x02$\xfd\x9c\x05\x94\xd6\ +\x1b\x93G[M\x22\x96\xda5\x09\xa8\xd9\x0b\x1a\x11\x1c\ +:\xe7\xcd\xebc\x08\x00\x8ac\x7fj?Z\x1f\x0e\x0f\ +\xea\xae\xdaS\xaa\xd9(\xda\x98I\xba3\xb4\xda\xd5\xd2\ +\xb6\xe8]JP\x99\x7fm\x8c\x0d\x88\x01t\x95\xca5\ +\x07N\x1bD\xe2\x97\x111,\xea\x1f\x80\x98\x18\x9e\x0c\ +\x9d\xf3E\x5c+5v^\xbf\xda\x0erh\x04\x96\xce\ +\xc5\x9d\xc7\x98j\xf8\x017\x00\x1e\xeb\x90\x80\xcb\x05^\ +m\x17\xb5\xa3T\xb3\xcc>\xca\x18\x03\xf4\xd8\xb7dZ\ +\x8b1\xc0A\xe50&\x90-&\x8aR\x1d\x22t\xba\ +\x5c\xa4}V1\x22\xder\x5c\xcd\xb7L\xfb\x0a\x00\x9f\ +.@E\xfd\xe7\xf8\xb9'9|\xf9\xbb\xfd\x13\xc6\x98\ +j\x90{\x17\x1a\xf7\x19\xd1>]\x1e\xdc\x97\xf6\x15\xb5\ +\xf6\x87D\xfd\x9e\x9fB\x93\xc29AQ\xc6\xdc\x88\xe3\ +Vv\x83\xbde\xf7\x01'\x02A\xe7T\xc6\xc9\xf3\xbe\ +*m\xd0h\x9d\x8cB\xca\x9bn\xb5\xf3\xb5?#\x12\ +\xb8{\xc2\x18\x13cH\xed>\xd1\xc90T\x0a\x80\xd2\ +\xc5#L\xc5\xc3\xb5\xc7\x98\x98\x1f\xb440Z\x9a\x18\ +\xdd1\xdcZ\x81\xeb\x7f\x1ac+\x0d\xa9y\xe6\x07&\ +\xf0\xd9\x7f\xf3\x18\x13\xd3HIC\x12\x08\x98\x08D\x91\ +\x0b\x00C\xa5'vG\x8b\xc0yB\x9dw\xbf\xa0\xc2\ +\x13\xf5\xcc\xe7*M\x12@z\xda?\xd7\xba(Y\x15\ +8\xd9\xcfD\x121\xd4\xdcS\x80L@q\xceI\x95\ +P\x01^\x04\xa6\xf6\x9d{\x8f\xc8#`I\x80\xe1\xdc\ +ZG\x00\x86\x12S\xef\x87\x89\xa2k\x8d\xd23@\x8b\ +\xc0\xcbztm+\x01\xbc\x9as\xdd;\xb4\xe3\x044\ +\xb7@\xa7\xfcE\x8c\x22\xf7'\x0d\x86\xf8\xa1\xd5\xb5\xc3\ +\xe7\x15\xd0\x13\xe7\xc3\x8c\x05\x18\xbb\x97\xc3X<\xdc)\ +\x80\x8c@\xea\xbf-ck\xdf\xe8\xde\x03\xe4Z\x7f\xc0\ +#\xf1\xe0\xc6$\xaa{X\x00\xe6>\xc6h\x00\x9c\x0a\ +\xd0\x05\xb6\xfe\x8e\x1f\xc9\xbf\xc4\x80\xc0\xd8\xc2d\xf1\xef\ +]\x1c\xb0Q\xc5\xeb\xfe\xe5\x9f\xc9\xfc[\x9f\xfeyz\ +bF\x89\x87\xd7w_[\xe7\xa6\x15R\xeb!\xf0\x95\ +\x10\xc9\xb9*m2\xfe\x0e\xf1;\xf3\xc7>\x8a\x87\xf8\ +\xe5\xf6\x89\xc0\x95=\xb5~\xe6\xbbS\xd7{\xad;-\ +3\xef\x0b\x10p>z\xc9\xf7\xc5\x01\x00\xbd\xcf\xbd{\ +\xaa3\xbd\xbb\xd8\xbb\xfd\xed\xb9\xcd\xa7\xbf\xd3\xcd+]\ +\xd4*\xe0\xb6\x0e\x1d(hm\xe0k]\xec\xa3\xa6u\ +PT\xfd^\x9b\xcf.\xf1+\x95\xa6\xe6\xf9v\xae\xb6\ +\xd1\x00\x00 \x00IDAT\x0a\xb0\x0b\x93\xa6>o\ +\xefV\xc7\xaf\xeb\x0c\x02?\x03\x14\xec\x9b\xd6\xc6\x1c\xc0\ +|\xaa\x1e$H0\xd5\xd2\xca\xbc\x8e\x9a\xad7N\xb5\ +\xd6\x9f\x5c:\xc4o\x17](\x90\x15h\x12\xff\x1b\xc7\ +\xffs\xa6\x89\x1c\xee\xf4k/\xa2\xbf\xbb\xdf'\xbfs\ +\x99\xa5\xd3\xfb\xa6\x8a;(\xa4\xff\x9c\x8b\xf8\x0ey\xff\ +OLm\x08-\x88\x85Z\xbc\x93\x89\xca\xcf\xe0\xf9\xbb\ +\xb4+,\xea\xc4\x98\x96\x1b\x04\xc88k\xa2\xd4\x0e\x06\ +\xc1\xa7S\xc2\xf0\xe5\x17\xd1w\xd1Bx}\x86\xc5A\ +\x10\xc8\xb7\x1a\x90\x12\xa7\x8b\x88M\x1d\xc8.:\xe1`\ +\xf4\xb6\x82\xef\x0d\xe2\xf7\xa6\xb5\x96nw\xe5\x88\xf6m\ +\x07g}\xbe[\x87\xc1\xe0\x02rq\xd9\x18\x90p\x01\ +^\x10\xe2\xdd\x7f\x1bc\xa2\xfa:\xa82_2u2\ +k\x97\x1bcy\xbe\xd5\x91\xba \xf3\xe2\xf9!S6\ +\xb0\xf7M\xdb\xc0\x12\xbbs0\x18l\x01&\xea\xa3L\ +/\x046\x9fgw\xf3\xb4\xc3;;53\xf6\x97u\ +a(o\x1a\xa4\xfa\x8f\xa2:\xebb\x8a\x01>\x9a\xcb\ +\xd5a\x89\xc3\x5c\xf3\xf0\xc9\x00/D\x92dxb\xe8\ ++\x93O\x0c\xec\x01iC\xa5O\xfc_\x8d1\xa9C\ +G\x14\xa8~O\x86\xe11\xbb\xc7\xee\x1e;\x05\xf0O\ +\x1ec\xa2\xd4\xa1\xa0\xf66aj\xd2\xd4Z>~\xd5\ + \xa8\xdag\xe7\x94v\x83\x1aS\x0e\xba\xf5E\x95\xef\ +\xdd\x12P\x86\xd5NC\xe4e\x1c\x04\x06\xce\xc7w\xad\ +\x94mbD\xfb\xf7\x8cq|\x9dg\xac%\x11'\x7f\ +9\xc6\x92\xa1[U\xb3\xe3\xc0\x1d\xff\xff5c\x97>\ +\xdf\x95\xf1g\xd0\x9d\xd7\xd8\x8br\x94d\xd8\xd5\xe6s\ +\x00\xed;L\x02\xf3m\xff\xbb\x98]\x14\xd4\x9e\xbd\x1f\ +$\x15\xa5X\x09\x81Zb\x19n\x80\x9a\x12\x0c\xed\x0b\ +\x01e\x9eG\x00\x9fv\x8e\xc4\xc7J\x8c\xaf\x89\xba\x14\ +\x15?\x0ek\x05\xc4\xd6\x11\x03\x83}\xe5\xc8\xf8\xf7\x07\ +,\xe3\xf4\xcc\x81\x8b\x8a\xbdTR\x92\x9a\xeaj\x0f*\ +\x83\x96\x9a\xdd\x12qC\x81\xed%\x14\x02p\x813\x0a\ +\xa8\x0cQJ;*\xa0\xb3\xdf\xfc\x1e\xc4\x1aE\xd3\xfa\ +\xb8W8`\xe6S\x86\x98\x96\x8c\x0c5f\x10\xf1O\ +\x8eJ\xd6\xa7\xce\x97\x1a`\xf6/H:U\xf6\xca\xfc\ +\xa0\xcc\xca\xe0\x06\x88\x92\xc9\xad\xe7\x89J}\x01J\xa8\ +\xed\xecVc\x8a\xe9BR\xf6\x04 \x9d\x00T\xfb\xbe\ +\x02b\x88\xc6q\xb88\x9a\xda\xad\xe9b\xe0\xdf\x89\xd4\ +\xfe\xc2\x18\x93h\xa8\xf3.\xc3%pbg/9\xc6\ +\xe9\x0c\xaart\x94\x04q\xd8\x95h``x\xbd<\ +\xe7\xee\xb2cd~\xbf4\x01\xca\x97]\x84\xa8-\xbb\ +\xce\x1f\xc8\xeb\xee\xdf:\xc6d\x0f\xf8\x0d\xb9\x0f+\xf0\ +'\xbah?\xda\xd7\xa8\xb52:\xad\xad\x15 \xe4\xe4\ +\x96c\x9cN\x81/\x87z\xf8\x01_1\x95\x00\xa4\x0b\ +A\xedK\x89\x02~\xc1\xd6\xcdh\xdd\xe7\xda\x94]\xe9\ +\xf8\xf4W\x9a\xd4\xef%,\x92Q-qH@\xc5\x90\ + \xfe\xc4\xe2\xb8\xddj\x06\xecKs\x00%^\xdb5\ +\x0c\x14L\xaa\xd4R\xef_1\xc6\x06\xdc\xa9\xd5\xde\xdd\ +)%\x8e\x98{>\xbf\xfb\x13#\xc8\xfd\x1d\xbf`\xff\ +\xfe1\xa6\xf6e#ar\xad\xa9\xcd\xa8\xda\xef\xa8\xc2\ +\x97\x06\x06\x00\x0b\x80\xc2A\xe7\x90\x07(-\xe6\x0d&\ +@\x188u?+\xb5\x02D\xfd\xfc\x18\xdb\xe7-\x7f\ +\x02\xf3EF?\x99\xe2\xdd\xaf\x8f1\x01,\xd9\xf7E\ +=O\xe6Xm\xfd\xee\x87\xc6\x98J\xaa0<\x00\xb6\ +9\xff%~\x0a\xe8\xb0\xee\xfc+\xa5JD\xdd\x88P\ +Ry\x07\xc4\xb3o\xb4`P\xfe\xddk\xd6\x87=\x97\ +\x88\x08\xe3\xa7D(\x05\xf2O\x1fc\xf2\x13\x01\xdc\x80\ +E\xcc0\x81\xb3\x84\x93{\x1eP\x8dA\x07H\xe1_\ +\xf1w\x9d\xeb\xeb\x07\xe0\x04\xb0Y\x07\x80d\xda=\xd6\ +\x17\xbf\x17#\x82\x9f)p\xf7] \xc6\xdfv\x8f\xf5\ +\xf6\xb8\x9dj-\xc3n\xde\xba\xdf- \xef\x22~\x80\ +\x07\x7f\x0f\x902\xbf\x02[v\xc7\xbc\xda\x17y\x9d\xaa\ +\xbd\xe6w\xf9=\xaf+a\x84\xa1\xe1\xf3\xf8|\xbd\x94\ +\x16\xc0\xd0\xdb\xfb\xb9\x0f\x89\xe3\xce\xed\xd5\xdf<\x05\xba\ +]\x8c\xae\x8blw\xca\xba\xc0\xdfs\xcd\x09\xde\xb9\xc4\ +\x99\x96\x02\xc6\x06\xbf\xa3k\x03\xf8\xea%G\x1d\x10p\ +_y\xbf\xfe\xdc\xd6\xb33\xad\x1bC\xb7\xe2Y\xcc\x07\ +\xafC,\xf3\xe2\xb4\xd7\xac\xafD\x87\xd7\xf5~~\x8f\ +(* \xc8\xe7v\x1f\xf4/\xa5\x1a\xf6\xb1{/\xa5\ +q\xe5\xff\xe7\x9e\x00\xdcW\x82\x11#U|'\xd1\x85\ +\x11\xe8\x9e\xb4\x9e\xe6\xdf\xbc\x06P9U\xaa\xbe\xa3\x96\ +\xeb\xfc)\xe0\x1d\x8f\x7f\xde$\xe6B\xf5z\x88\xcc\xdc\ +`\x0a\xf0\xb5\xfb3A\x02m\x08\x10\x04z\x04\xe4W\ +\xcb\xc5}V\xda:]g:\xf8\x80\x85\x8f/\xe4\xf0\ +\x0b\x1f\xd4\xf7\xe7b{aT\x94\xbf\xa2\x05\xcc\x9f\x9c\ +\xfe\xee\xf2\x8bN\xfd\xd6\xad\x00\xe5L\xfbB\x19\xc4A\ +\x1d\xbfI2%\xb7\x9bJ\x0bz;\x0a\x19\x8c\xae9\ +\xa0f&T\x1em\x96\x8a\xba'\xf0\xb7\xb1 Pj\ +|\x1dPm?\xb4\xb9b@{\x8d\xac\x83\xd1\x11\xac\ +\xd7\xc7`8\xa8\xa1\xb0\x1d\xaf\x9f\xb56\x5c\xa0N}\ +_\xa6\xc3\xbf\xdfz\x8c\xe3\xf7\xf7\x8d\xb19N\xa5\xee\ +\xcd\xa1O\xednQ\xdaQ6\xd5\xf8\xdec\x8c\x8b\x10\ +;\xfc`6\xb8\x8c\x04\xaa\xdb\xcb\x1aE\xd2\xc64_\ +\xf6\x13\xc3\x8f\x12\xfb\x8cd\xb8n\x1c\x11\xb6\x9f[3\ +\x1a\x959T\xe3K\x94\xf1J\xe9\xee\xf0\xc0\xd5\xe1/\ +C\x90\xcc\xde\xeef\x11\x9bB\xc9\x0c\x82}\xf8\xc5d\ +\x92\xef\x996s>\x8fvPJ\x08 \xb0\x01\x12\x0a\ +\xe0\x91\xe1\x15\x18\xa2\x18\xca\xc0C\xc0\xads\x0c9F\ +@\x89Y\xb9H\xac\xfb\xc7b\xf0_\x1dG\xff\x05\xc9\ +\x94\xc8\x5c\xe599HU\x83\x0a@rQ\xb9@\xec\ +7\x01\x06\x83\x8cB\xfb\x90U\x94\xed\xe8\xc4\xad5\xb4\ +.\x12\xb5\x9b(\xeajE_\xbc\xff\x93\xfd1\x10\xdb\ +\xbfy\x8c\x89\x8a\x98\xb6t%\xd2\x06\x89\xfcL\x0c\xa9\ +y\xc4<\xe0x\xcc\xe7\xf7\x16S`\xdd\xda\x10V\x80\ +\xde\x80\x91\xb2\x13\x1cQ\x99\xfc\x00\x0a\xd5\xfe\x8eA\x8f\ +\x03[5\xb8\x9d\xe2\xcb1\x03\xa8AV\xed\x0f\x0e\x8c\ +\xf6I1\xecE!e\xf0e\x040\x0e\x18j\x94\xd8\ +P\xa1\xabM\x98\x8b\x0d\x95\x13\xf5\x14\x80\x91\x8b\xa3\xb4\ +!t\x15@\x91\xb5\x0f\xcdGG\xe2}\xce\xae\xee\x0b\ +\x90\xe3\x18q`0R\x00\xb5\xc9\xb0WF\x10U\x1c\ +U\x0d\xb0\x81I\xa0\xb6\xfc\xbacL\x22\x98\x11c+\ +\xad\x02\x99\xc1\x9eA\xe0\x90\xb0\x0f\x1c\x02\xeb\x1a@\xa0\ +4-\xd8\x17\x0e\xd2s\xc6\xd8\x00\xb3\x02\xd2\xa8\xe3\xcb\ +\x10&\xb0.\xca\xb7\xfd\x95Z\xd5\xd3\x80K\xe7\x95\xa3\ +\xc6\x91t\x01\x0b\x5c\xe3\x10\xee\x9e5\xc6D\xcd&f\ +\xa6=\xa3\xcc\xb5\xf7u^i3`n\xd1pH\x06\ +\xaf\xa8\xffM\x94\xaa\x1c|\xf7\x19f\x065w\x81\x86\ +\xd2(v\xf5\x0bRz\x86\x11%!@M\x1d\xf3C\ +\x0d.,^`\xa3\xdbB\xba \xb8\x7f\x04\xe0U\xc3\ ++\xe3\x1cq\xbb\x02\x8ceT\xecw\xe7/\x81w\xdd\ +\xa7\xec\x1b \x04\xd5\x1cS\x88_r\xe6\x18[\x00\xb8\ +\xff\xa616\x11\xc8\xd2\xfeA\xbd\xa4\x8e\x8e\xd9\xf3\xf4\ +el\x0e\x1e@L\xa0d\xbd\x88Qj\xa7(\x80w\ +\xef\xff\xc0\x18\xd39\x02,\x01\xc0\x06\x8f\xf1\x8dK\x06\ +\xf9\xc7F\x06Y\x09\x85@\xaa\xdas\x12\xc7\xbb\xe2\x18\ +\x93VC\x00\xbb\x0alQ\xa5\x01ZY\x9f\x93\xc7\x8c\ +1i+\xd0\xf4\x01\xfca\xde\x08(s\xcf\xee\xbfa\ +\x8c\xa9\xb4\x04\x00i\xff\x87\xa1Q@\x11`\x89}v\ +o\xb2\x1f\x01B\xf6\xbf3\xc6\xd2m\xe28\xa6\x0c3\ +\x80\xee\x09cl\x0c\x16v\xa5~\xc6paG\xac\x9b\ +\x12\x03b\x93\x80\x03\x8c\x97\x88\x04\x1e\xfd\x8a\x15P\xbb\ +\xc1\x85\xb5w\xaa{\x11\x07\x5c\x868\x14\xf8\xd2:!\ +\xca\xe7\xfc\xbb\xbf\x05\x9a\xb1\x1be\xc7\x7fn\x19\x1b\xb0\ +\x80\x91& \xc4\xa8boz\xe0\xe7\x5c\x08Xe\xd2\ +\xf9\x17\x806~\xa8\x8c\xb9\xfb\xc7\xe7`\xdf\xd9S\xf7\ +\x1a\xc6\x02\xa0\xa8S\xdb\xdd\xdba.\xd6|G\x04\xfa\ +\xf0+\xd1\xfe\x083\xa9\xceM\xebo^\x19\xfc.:\ +l\xde\xbc\x1f\xff\xf7\x83cL\xf7CS\x81\xaf\xe7\x00\ +P\x12\xc9\x8e\xc6S\xcf\x18\x173\x85\xbfFt\x11 \ +\xe1s+\xcd\xec\xf7\x12\xfb%#\xaf\xc4\xc0z\x08H\ +\xdd_\xb4\xaf\xb4\x09\xb5~\xf6[\xa7\xcewm-\x00\ +\xb4\xb8\x03\x10\xdf\x99\xc0\xe6\xbb\xd7\xc0\xb3[\x9d\x89\xec\ +\xfe\xe7\x17\xd9\x0f\xe6\xd1\xbc{\xdd\xfe\xfa\xd6\xc1\xeb\xfb\ +\x1c^\x07 ~q\x00\x80D\x9e\x7f?\xbdm\xe9\xba\ +\x8f}\x0e\xcf\xefu\xfd\x9e\xae`\x98-\xee\x07\xfeT\ +\x17\x03\xf49z\x8d\xbf\xfb\xdd9k\xb5\xfd\xd5\xe5\x81\ +\x1f+~\xe9\xcfe\xfd\x00\xbc\xce\xa5u\xfap\xeb\xfe\ +\x05\x18\xe0WaLi\x7fM\x9c\x99\x96K\x17Y\x07\ +\xd8\xb0\xfb\xe2\xa2\xc4\x05\xa7\x0a\xd1\x1b\xe6F\x7f\xca\x0f\ +LH\xdb\x1c\x90\x9e\x91\xda\xc3\xf3\x92)\xba\xe5E\xa8\ +\xb9\x8f\xc7\xb9q\x0c\xc6M\xa7\x0f\x92\x0f^\x08\x85\x8b\ +Af\xf1F\x0by|\xfb\xd9s\xc9\xd8E\x84\xb0\x10\ +\xf39\x90\xbf\xe9\xa4M\x80\x190\xf2r7O\x00q\ +\xf6\xd4\xfe\x8aJ\xae\xcc\xd2\xf8\xbbkN\x9f\xb3\xb7\xa5\ +\x10\xc8s\x9cQ\xb2\xfc>\x03\xe3\xf7\x1c\x98^\x93\xdf\ +\x91<\x1b\x9f\xe3FsA \xeds{}\x07\x80\x01\ +\x94\x11\xb5\xc1<\xdf\xe5\xb2\x1e2\x7f6\x1cC!\x83\ +\xc7\x90\xeb\x03/\xb0Ca\x91YAM9g\x8c\xcd\ +a\xa8\x0c\xb9L\xa3\x0b\x1f\xa0\xe3\xc0\xf4\x8c\x88}\xf2\ +\xae\xccK\xfa\x0f\x1f\xe7b=\xf8\x97H;\xa8\x1fO\ +\xa6\x00`\xf25cL\x99\xd4\xb4q\xe2\xa0\xa8=.\ +1\xad\xeb\x05P\xe1\x88]\xe1\xc2\xd4\x98r\xecS#\ +XTB\x17\x846z/\x0c\x22\xef\xf3\xc8\xf4\xcbd\ +8\xe8\xc4\x80\xd4`\xc9\xec\xc5\xf0W\xa9\x82\xdf\x178\ +s\xfce\x94\x9c\x0b\x0e\xc2\xf3W\xaa\xe71\x8c\xb9\xdb\ +\xeen\x0b0q\x1c\x13U4\x81H\xf5m\xff\xdee\ +l\x19?\xfbX`\xe2bc\x981~\x9c\xb7|\xaf\ +\xcch\x0c\xd2\xeeN\xa1(_6\xe7\x99a}E\xb4\ +\x19\xb2\x8f\xf6\xcf\xda?s\xff\xcc\xe5\x22_\xdb\xa9\xe5\ +\xf3\xee\xde\xb1\x96\x19\x5c\x8e\xa2~\xf5\x80*\x81\ +5\x03\xd73\x05^\xd7\x05\xc0\xf0\x0b\x80]\xa0\x02;\ +\xff]\xc0\xafo7j\x1d\xea#\xa0R\x06\xd3|[\ +g\x99\xddPZ\xab\xcd\xa06m\xa8\xc2\x80\x0c\xaa\xcb\ +\x18&2O\xf6\x8b\xc0[&B\xe0\xc3\xf0\xcbhq\ +\x88Q\xc3\xbd\x8f\x8b\x8d\xdd@y\x95\x91c\xa7P\x11\ +Q\x22\xffb\x8c\xa9K@\x80\xddz}H8\xca\xbf\ +n\x12\x98)\xa8\xd4\x02p\x99 \xaa\xf7C\xb4\xec\xfd\ +\x8b\xb6\xc1\x93\x97\xee\x1d\xef<\xda\xc3\x01\xa4\xbdx\xf7\ +\xa2\xdd\x8b\xa7\xcc\x98\xc0Q7\x0b\x19\xffP\x8e\xcbQ\ +\x05\xf4\xc9\xfc)] \x9aI\xe5\x1e0\xc2N'\xc3\ +\xa9D\xe0p\xd6\x18S\x8d\xb6\xd7\xc7\x18\x11\x10\xc8\xa8\ +{\xbf0}\xea>\xc8\xf3\x08\x10\xaaT\x84\x18\xe7\x7f\ +\x19c\xeaf\xf0\xc11&\xaa\xba\x00\x80c\xc6aF\ +=\xe6P\x00\xf6d\xb09\xd4\xee\x8fF\xed,1;\ +\x22\x97qd\xaa\x14\x90]\xe7\x98\x01\x12\xbb\xe3\x9eZ\ +\xfbz\x1f\x01\xae\xd2)\xcf\xa3\xdf\xbb\x9a\xdf\x00\xa6%\ +:\xa6\xa6\xd1\xf9N\xe9\xc7\xfe\x1dcL\xf7\x96\x92\x8b\ +\x00{g\xfc\xf426;\x8d\xd1\xc0\xb1\xe6\x989\xa7\ +\xec\x02\x8at~&\xc2Xm\xed\x02\xa8\x15\xa3A\xc9\ +\x96} \xf0\x93\xf1\x05Tp\xdc\xf8\x199gC\x19\ +eh\xa3T[Ev\x02e\x1c\xf3F\x00\xc9!\xc7\ +\x98Q\x1a\xe7\xbef\x17\xc3P\xa3\x8e\xef\xbc\x01\x1e\x86\ +\x94\xed\x10\xb3%~Wj\xd1\xe9~\xb1\x7f\xc4\x18\xdb\ +9\xacn\x097\x1ec\xba\x9f\xec{\x0epJN\x0a\ +\xe0\xd0\xd6\x0f\x10\x1d\xc6O\xed3\x80\xa9\xfd\x8f\xd1\x95\ +@\xa9\xf6\x91{\x1b\x83\xc8>K\x80n\xbd1\xc6*\ +\xc0\xe2/\xf1k\xa2\x99\xa1\x94\xa8\xba\xb9\x00&\xdd\x8b\ +\xda\xfa\x12\xe1|l\xa8\xea7\x1ac\xd3\x9e(\x86\x0f\ +\x95n\x80\x1a\xed\x0b\xc0\x846\xae\xfc'\xbf\xa5\ +\xc7i\xbd;\x00\x80\x08\xf3\xc3\xf3\xf0\x1f\xed\x1b\xdf\x01\ +A\xe6\x97\xbd\xe4\xd7\x8a\x17}^\xfb\xc4\xba\xbb\xc7\xc4\ +q\xd6\xd7}'!F\xe4\xb3w\xbf#\x8e\x98n^\ +\x87\xab\x8eq\xfc\xfd\xe7\x8e\xb1\xc5\xcd\xa7J=\x98\x18\ +\xde\x08\x9co6\x05\xa0\xdd\x01\x90)\x1f\xdb\xe9\xb2\x17\ +\xa1\x82/\x10g\x88Q\xb5G\xe6\xee\xd6\xd3\x07\x10\x08\ +p\xc0 \xe7\xe3\x7fo\x99\x07\xbc\xd9\x94\xc9\xd7\xb6\xcf\ +\x84\xb9X\x87V\xf5\x13&\xe0B\x00J\x9c\xd0\x025\ +\xea`=\x1ffB\x07\x00\xba\xca\xb2\x8d\xd03\x81\x02\ +'\x7foa\xfd^\xcf\xb4\xf92\xaf\x16\xd6\xe7\xb2A\ +}\x0e\xcfcc$p\xaa\xf9\x120r8\x01(\xde\ +\xcf\x01\xe6\x98\xe7\xe2\xaaLL\x1c\x0f\xed\xb7\xea\x00\xa3\ +\xaa\xfe\xcd\x18\x93\xa3\x02\x994\x1f\x9f\xcd\x81\xfbD\x0e\ +To[\xe399l6t\x17\x0bI\x7f\xf0\xe3\xf5\ +\xb9\x04.\x87oKF\x01`\xf2#\xcb\x18\x99\xa45\ +\x83\xf0\xafa\x14h\xcb\x17\xcao\x89\x04\xbd$*\xf1\ +\x0f\x1dc\xa2X\xa1V\xa7-]\xd5(]b}\x9f\ +\x93\xcf\x1bc\xa3\xa4/\xe1\xc8\x08H\xfev\x8c\xa9V\ +\x17\x854\x14LbN\xe5\x18\xb8\x98\xff,H\xb1\xcc\ +0J\xa0uu\xe1\xa9\x05\x95!\xd5\x0f4\xed4\xfd\ +\xdd\xc9\x17\x8e11\x11\xbe?\x19\x9a8b\x95\x11$\ +~\xe3\xa2\x14\x80\x02\x22\x9c[\x0e7\x83\x08)|X\ +\x80\x045{\xdf1\xc6\xe4X\xd9\xbf\xdf\xbb\x06\xc2\x17\ +\x01\x9d\xce\xa5\x0b\x03\xd58\x01\ +i\x01\x8c\x80\x8b\xcc/\xe0\x92\xe3Ym\xe2\xfc\x9e\x1a\ +L\xd4\x5cm\x9b\x04\x122\xa1\x11\x81);\xd1\xa9\xc7\ +\xecH\xc4\x06\x0f\xb7\x1fc\xca\x98z\xfe \xf4\xbb?\ +\x1c\xe3\xf8\xf3#\x96\xb1\xd9;%\x05..\x0e$G\ +\xa8uy(\xc7\xde\xbaE\x83\xa2\x02K\xd4\xf08l\ +\x1cU\x17R\xbd\xfek\x8e\xb3\xf0\x9a\xe9\x22E\x1d\x95\ +\x91D\x85c7\x00Vj\xa2\xb5\x07UZ\xe2u\xec\ +W\x81\x1e@B\xadq\x18-\x95Y\x0d\x10C}\x5c\ +\xe0Y5\xcd\x1cl\xa2\xa9\xfd~\xe1\x90\x00\xda8\xc6\ +D\xd6\x88&\xaa\x99N\xc0\x05h\xad\xf6\xa3jn\x95\ +\x00q\xb4\xba8\x94v\x97\x1f\x1dc\x12\xb1\xe5 \xab\ +1&\xaa\xc6\xb1T\x93\xef\xfe\xe0p\xcb\x5c\x02\xd48\ +(\x18\x83\x11\x1f\xab@\xc7\xbd\xc4A&\x96Id\xd8\ +\xf9\xa2}\xc0\xcep\xc0d\xca\xd9\x19\x8e|\xb3\x03\xa5\ +\xa2\x9fR\x8cb\x22\x00\xb8Q\x97\x03X\x95\x88\x9a\x00\ +\xc79J\xdb\xb7\x12\x99\xd4\x9d@@\x84\xa2\x99\x12\x9f\ +\xb2\xdb\x9e\xf7\xeb\x97\xb1i*\x040\xdd\xfd\xe0\x18\x13\ +@\xcc\xce:\xc7\xb9\xc7\x0e\xa7\xc6\xd8J\xaev\xef\x1a\ +cc^\x15p(\x90a\x9f\xbb\x06\x11q\xac\xdb\xa4\ +[B\xee[\xea\xf8\xbb\xb7\x8d1\x95HP\xef'\xb6\ +(`w\xde1\x0f\x88b\xe5\xf7\xb4\xd3\xdd]0\xc6\ +T\x8a\xa4]\x9b\xc0\x5cW\x04\x8c=\xf7\x14\xe6U(\ +\xabu^\xed\xa7\x9c\x8b\xaa\xc9\x05\x8c\xdfs\x8c\x899\ + S\xcd\x1e+\xa9\xd3\xef[\x89\x1b\xfb\x1e;E3\ +\xa9\x00:\xf6\xdb\xf7hy\xec.=\xc6\x06\x10\x96\xa6\ +B\xb4r\xd4\xf0\xdbw4\x15\x0a\xf0J\x9b\xd4j#\ +(aA\xcbG\xc6WF\xb93\x08_px\xe1\x00\ +\x88\x8baB\x9b\x05\x10\xc5>\xf3\xef\xfa\xfep/`\ +\x1a\x06\xf8\xa9\xfd\x07(\xc48\xe8\xed:\x95\x028\xcf\ +\x00\x03\xcc2Z\x134Qd\xe8e|\xd9\x0f?\xdb\ +\xc7\xee\x87\x88O\x97\x7f(0\x160\xb2\x972\xe8\x18\ +\xa3\x98L\x98F\x9d\x19f\x1d\xd9{\xfe\x02\xbb/\x93\ +\x0f\xa0\x918\xc4p\xc5|\xe2\x9f\xa0\xee\x03b\x94\xa4\ +\xda\x7f2\xe1\x02L\xeb\xe2\xbc\x0b \x05\x9e\xce\xab\xbf\ +\xf3~\xec\x12\xbf\xd9\xef\xdb\x0f\x80\x18\xe7S[l\xcc\ +>\xfe1\xbb\xdb\xf7\x83\xf5\xed\x99v~\x00{\xe6\xbc\ +\xc7\x9f\xae\xff~A\xf9\xf7\xeb\xcf=\xd0\xed\xa2\xd4\xe6\ +\xa1we\xea\xeb\xe4\xf9:\x00\xc0/\xee\x0c\x80\xceT\ +\x14\xf8c\x16\xdb\x8f\xe2/_\xbd\xb4\xfa\x9d\x95x\x5c\ +\xfd\xe2.\xe6\xd7D\xeaK\x14\xb0\x97z\xf0\xb7\x00+\ +\x9d\x99\xc8\xfe\x98'\x80\x81\xef\x128\xfcF\x89_v\ +\xd5\xfb\xf1+|w\xcf\x07\xc0\xa5-wZ\x17\x83h\ +\xb4\x10o\xad\x04*F_\xfc\xe5S\x15\xf8C\xb4#\ +\x82\xb7\xe4\x8bn1\x05\xda\xc9 \x95cuQ\x81\xfb\ +\x17\x04\xb1\xbd\xf1\x96\xd1_\x02\xb3\xebO\x99x\xea\xfe\ +&\x0e\x12\xe4\xc19\x1a>\xd0\x98\x8e/mj\x87\x97\ +\xbf\x08\xb5\xfc\xb1}.5m,\x8c\x06\x8e\x92\x8d\xd6\ +U\xd2\x87{u\x85I{\xe0b\xfa'V`\xdcE\ +\x18\x86y\xb9\xd4\xb4\xb06\xdc\xd6\xb7\x98.\xc1\xfa\xdf\ +{\xfb@\x81\xb1L\xb7\x0b&\x14\xde\xaa\xd1\x22\x12\x84\ +2(c\x89\xba\xcd\xe0\x91]\xecm\x06!vD\xf6\ +\x22\xfaX\x07\xc3\xf3\xa1\xa2G%\xbb2\x93\xe7Fe\ +\xf4\x89\xbb'\xed\x9e\xb4l\xe0\xd5\x80\xffK6\xfa\xbb\ +\x83h\xa6m\xa1\xf5)\x07\xed\x1f\xa7\xf9\xba\xf4\xe9\xd4\ +I5C\x0c\xf4\xfeG\xc68\xfe\xfd\xa7\xc7X2\xde\ +kM#\xe4\xf4\x9b\x83\xc8\x0b\x08\xb4\xe3#\x86w\xaf\ +53\xb6\x7f\xea\x18\x1bC\xa0\x0c{\xfa2\x13\xfb\xdb\ +=x\xcdT\xec^;\xc6r \x17\x80\xe4\xf0\x8d\x11\ +\xf1#\xf6#\xf3\xf9\xcbcL\x8e\x0d\x07\xcb\x05L=\ +w\x88h\xfd\xf6ra\xbdm\xb9\xb0\xceJ\x80\x80\xe9\ +@\x85\x5c\xe0\xe0\xe2\x87\x1c\x02\x96 \xb0\xb7\x18\xe3\xf8\ +\xbe_\x99\xcc+G\xf41\xa1\x98\x9bW\x17\x95\x00*\ +\x19\xc6\xe3\xa7YT\x89\xab$$m\x19\x0f\xcfI\x80\ +F\xc4Q\xa0G\xec\x09%\xcf>\x0dUu\x7f\xde\xfe\ +\x1f\xf7\xc7\x0b\xea\x82\xb3/\xb8\xcd\x05\xb7\xd9\x02\xa33\ +\xbfu\x8c\xe3\xfb\xfc\xea\x18\x1b \xa2\x7f\xb1\x0c\xfa1\ +,Xk\x9c\xdf\x96\x9a\xa9\xff\xb8pM_e\xfc\x9d\ +\x17\xc0\xc8w&\xc0\xb4\x1f\x1e3\xc6d7\x04\x18,\x00O\x99\ +[\x99$\x0e\x94{!\x17c\x89\xf5\xe5\x5cU\xe0/\ +\x00\xc7\x10aG\xd2&\xb0\xfa\xf0\xdel\x8ci?\xb1\ +\xf7\x00o\x8e/\x0a\xa9\xee\x19J~\x00N\xce=\xca\ +)&\x80s\xd0\xef\xb1Y\xb3\xe7\x1f&*\xb2\x0c8\ +F\x91.\x1f\x1cu%*\x00\xa7\xb9$\xef\x93\xa7\xb7\ +\xd3,\xbb\xc4\xf1G9\xf5\xfb>\x9f\xfb\x1d\xb0c\x9f\ +\xd2,\xd0\xd5\x85\xea\xbd\x8c\x95{\x17\xb0\xd5\xefa\x0e\ + )\x81{\xad\xaf{Q\x1bJ\x00\x87\xdap\xeb\ +\xa1\x9b\x82\xcc\xb5y\x05\x94\x01D0\xe6\x92\xe1\xac\x00\ +\x22\x22\x8d\xce3 \x04e\xbb\xce/G\x15\xe0\x92R\ +\xbab\xb0\x9cS\xb5\xbf\xe6\x9f}\ +\xe0\xefz=\xfb\x1b\xd0\x85\x09\x96\xee\x03\x05\x94\x08\x80\ +\xf8\x0b\xfc?\x99y\x19p\xf7\x87\xee\x08\x18\x17\xd6\xc1\ +\x17\xc6\x86\xfb8\x01\xee\xe1\xfc1\xa6s\x04p\xf2>\ +\xbd\xb6_{B\xf7\x9b\xc0\x97\x1d\xc4p\x02\x08\x08\x5c\ +\x05\xca^G\x89\xa1\xbf\xc7\x04\xd1\xd6\xf1\x8b\xc7\x98\x80\ +%\x80\xa4\xd24b\x8d\x98\x0d\x80\x18\x80\x80\x00\x0dC\ +\xc0~3\x8f\x00\x00\xf7\xb0\x0cr\x18\xaa\xb5\x9e\xces\ +k\x0bY\xcc\x0a\x01\xbc\xfbM\x06\xbc\xb7\xcdc'{\ +\x8d=Q\xe9\xec\xbf\xfa\xfd\x06 \x9e\xc6d\xec\x8c\x86\ +V\xe3_\xcf\xebg\xbf\xef\xbb\x04\x98s\xda\xc4\xf2\xaa\ +\x84\x80\xf6\x0f-1\xe7\xb7'b{\x1c\xc5\x0fe\xff\ +0\xa2\xbc/\xc0\xc0\xf3{\x7f\xf1\x10\xe0\xcd\xef\x8bs\ +\xec#\xbfo\xbf\x01\xa6\xec/\x9fS`\xee\xdc9W\ +~\x0fPe\xfe\xec\x1b\xf7\xa7DM\x98\x9c'w\x1a\ +cbHu\xa0\x8fh\x7f\xee\xf9\xbao}\xc7\xd8\xfc\ +\xefcL%\xdf\xfe>~\x0dm\xa2S\xa5\xa6?\xa6\ +\xfb\x92S <\x8bh])\x17\xf9U\xa6\x0b]\x86\ +}\xb8\x95\xd7\x9a2\xe92\x06\x0c\xc2\x08\xcb\xae:m\ +\xbc1\xfd\xef\x8aay\xc7\xb4\xb0c\x1bN\xe2\x1c\xd4\ +\x87w\x7f1F\x1c\xdb\xebN\x1b\xb6\xb7\xf5\x9bU\xf4\ +gj\xc5,\xbe\xd4\xbf\xef\x1bueV\xf1\xa7)`\ +\xe2,8\x87\x11\x03\xe0d\xa9r:\xad\xb6\xb7\x9e\xcf\ +\xc2{\x8e.r\xe1\xf7\xfc\x1c\xca[\xf5\xf5\x96\x89\x10\ +\xd0\xa1\xea\xa2\x0cr\xcc P\x1c%\x07\x025,\x81\ +I\x01\x08\x1cJ\x17ID\x85*\xa3\xe5B\xa5r\xfd\ +W\xa1\xca\xa1V\xfe\xd5\x8a\x14\xef~n\xf7\xb3\xbb\x9f\ +\x9d\xc4\xae\x18\xcc\x9b'\xa3\xf3\x86\x18\xb2\xf7\xc7\x10\x94\ +c\x18\x0a\xd3\xdf\xa6\xa4\x83\x01~[\xd4\xb8\xa9\xf3\xa2\ +\xcc\x08\x0c\xa2)\x80\xeax\xf2\x811\xa6\xda\xca8,\ +\x95i\xfd\x9a\xc3\xfd\x0f\xf7\xdf\x90\xfa\xfd9c,5\ +\xd3\xab:\xf4\xc3\x0e\x0f=<\xf4\xf8\xfb\xe7\xaf@\x03\ +J\xfc\xc9\xdb\xc6\x98.X\xea\xed\xbf1\xc64o\x1c\ +N\x81\x97yGyKf\xa6\xa8\x94q\x10v\xbf\xb3\ +{\xde\xeey\xc7\xef\xaf\xda\xbdr\xf7\xca\xc9\x800<\ +\xe6\x9f>fj\x95\xf7O\xdd?e\xff\x94-P?\ +\xf3\xbecl\xa5\x01\x80\x8ac0\xb52m8X\xdf\ +\x90\xc0&%\x02\x95\xa1\xe2\xd0[7\xcf\xcf\xd0P\x01\ +\x07L\x84\xb2}\xc1\xd3\xc68>\xcf\xfb\xc6\xd8\xfe\x8e\ +\xbdR\x0aQ\x99ym\x1ae@\x89\x9c<'\x06\x90\ +C\x88rx\x871\xa6\x8b\x8f\xfd\x08\xc0U\xa5\x10\x1c\ +\xb6\xd8\x9b\xc3\xdbs!|l=\xb7\xc4\xbbJ\xdd\x9d\ +X\x9b\xdap\x81_\x10\xe4\x02\xbe\x18hL\x80\x86L\ +W\xe6VW\x0f\x0c\x1b\xfd\xc6}^Z\x06j\xb5\xb4\ +AcO\xac{\xec^i\x05\xc8l\xd1(\xe00\xb9\ +\x00e6\xad\x1b1\x18\x011\x87\xc9wv\x0e`\xab\ +\xa4 \x8eoe$d\xc41)\xb4\xdf\xa3)\xd1\x01\ +<\x0e\x1f1\xae\x9c\x8f\x12i\xe4\xf8\xa9I\xd6\x0dC\ +\xcd?\xe6\x8c\x00\x99\x9a|\xeb\xeeP\x99\x19\x19\x10\x14\ +\xd6\xdcG\xbb+\x8e1\x05p\x80\x1eb|\x98?\xa8\ +\xf8\xf6\x8d\xf3\x916J\xa5f\xae\x7f\xf4p\xd8F`\ +3\xbe\xce\xd8\xceA\x05x6\xbc\x0c?5x\xf3M\ +\x9c\x0b#\x82\x16\x82\x0c61\xc90\xe3h\x10\x1c\xee\ +4\xc6\xb4^\xd6\x9d\xfd\xdcjl\xd7\xf7\xd7\xce3\x00\ +\xcc\x05\xef\x18c\x02\xd6\xd5\x14'#\x80\x19\xb5{\xfe\ +\x18\xd3\xeb\xda\xe7\xd6\x03\x03\x81x\xa2\xee\x04\xeei\xfb\ +[\x89I\x1cTm\x1cK+\x87\xaa\xb6\xfb*%\x0d\ +\x00\xa1\x02\x80\xb5\xd1l\x0c\xbb\xc3\x93\xc68~\xdf\x8f\ +11\x87P\x82\x03\x10\x95]Q\xea\x94{N\x9b9\ +\x8c\xa0r\x88\x05z\x01\xb0\x0a\xd0\x89\x06D\x01;J\ +\xbb\x00}\xf6\x93\x8c\x0d?\xc1}m}\xdc\x132\xdd\ +\x11\xf9\x93\x919\x5cc\x8c\xe3\xf2\xfc\xfb\x18\xc7\xf7y\ +\xf9\x18\xd3\xf39\xdf\x18g)!\xea\xc0c\xed\x13\xf3\ +\x0a\xe8A)\xd6_\x1e\xc3\x02\xd3\x09\x80\xc3a\x95\xa9\ +\x95\xa1\xe2`\xa3\xdcr49\xe0W\x1bcc\xd4\xd5\ +\xbd\xa1M\x1f\x86\x96\xf6\x9a(\xfe\xfc/%\x84\xb9W\ +Jm\x1f\x83\x85\x1a6\x80\x100\x0d`\xb4\xbf0:\ +\x88N\xb2_JF\xd9\x1f\xa5g\xc4!\x1b\xd3H\x86\ +\xb92\x7f\xbf|\xc6\xaf,\xed\xe8\xd8\x9d\xb3\x0f\xb7>\ +\x8cR\xb0G\xe7\x9e`\xffhd\xb9?03\xfe\xef\ +1\xa6\xcc\xb9\xf6o\xad\x16\xbc\x18a\xdft\xc6\x83\x16\ +@TBA\x00%`\xe1\x1f\xf0#\xf9\xbd\xbd\xbd\x9e\ +\xfb(\x00Su\xa1Q\x22(\xd0\xe2_\xf9\xee\xdf1\ +u\xcd\x0b \xa03\xc4\xd8\x0b\x01\x12@\xc5}\xcd~\ +\xf3+\xbc\x8e@\xcc>S+o\x1f\x02\x90\x04\xd0^\ +\x07\xe3\x8e\xa8\x9e\x80\xb7\xa9\xf8\xd7\xba`l\xe9\xf2\x82\ +\x01B\xd3\x02CC\xdbV\x8c\x03\xf7#\x0d\x90^z\ +\xd3\xd7\xa3g\x94\x05\xea\x18\x0e\xfc\x18?{n\xe7W\ +\xc2\x08\xf0!\xf0\xef\x80\x8c\xf7\xf1\xb5\xf9E\x17n'\ +\xde\xd5\xea\xbbx\x9f\xfb\xdb\xfe\x11\xbfx~\xaf\xe3{\ +\xff\xfdN\xc1\xf7ws\xfc\xf4\xf1\xd33\xd3U+\x0f\ +\xf8\xd05\xc7z\xb2\xfb\xf6\xb7\xf8\xc9w\xfb\xcds\xd9\ +O\xce\x13\x7f\xd6\xef{\x1e\xf3\x06\xb8\xa0\xc1\xc4\xcez\ +^\x01\xbb}\xe7\xfe4\x9f\xf6\xa7\xcf\xdbU\xf7\xbd\xbf\ +\x12\x19]\x1f\xac\xf7V\x02\xbd>\x8f\xf6\xbf\xbf=\xc6\ +\xf1\xe7\x1f^\xc6\xe9\xc0\x81}\xc0^;\xef\xfc\x0c\xcf\ +\xcb>\xf2_=\x17\x80X\xbb\xf2t':U\x0f\xf4\ +\xd9\x85\xcc\xbd>\xe0\xbeQ\xfe\xb4e\x98)\x1a2\xdf\ +[\x7f\xf7K-\xdf\x19\x90N5\xb1\x01!v\xa83\ +&\xd2\x07\xce\xc5y\xf2\xdd\xc7\xf1]\xb9\x00~w:\ +\xe0&\xc4\x85\xd7\xdb\xe7\x8d\xe9\x7f\xdf\x04\xc6\xd4\x9f\x96\xc3r\x83\ +1\xb6~\xc9%\x86\xf8\xf0\x15\x189\xff\x97\xa7\ +\x8d\x0f\xe0K_`\x99\xa6\xdb\xac\x22\x85\xfb\x0f\xac*\ +\xcc\xbb\xb7\x8e1e\x16\x9c\x07\x08\xa2u\xf8\xd9\x95\xf2\ +W\xb5\xb6\xcei\xc4\xe3\xcex\xc226ud\x17\x0e\ +\xeac.N\x19\xd2\xfd_\x8c\xb1edO\xde7F\ +\x98\x057\x9c\x02\x0e\xb5\xcd\x1c\xb9\x9f\x0eE\xf4\xc5\xc9\ +\xe8j\x0b\xc7\xe1\xf1y\x9f:\xc6\x94\x19G\xe5T\xa3\ +\xb9\xcb\xeb\xa7\x8dU\x01\x8fj\x81e\x12\x128\x94f\ +\x05{`_Rc\xeev\x8ac\x82\x09\xf0\x95cL\ +\x0e2\x80\x87\xc8\x19\x8d\x11\x01\x12\xc3\xec\xa2#\xde\xd2\ +\xc4\xd7\xeabE1\x94\x11\x0ee\xbe2\x9b\xd6\x15C\ +\xe1ycL\xe7\x0a\x10E\x9d]\xad4j \x95\xd8\ +?\x19cj\x7f\xc7\xbeh;\xc5\xb1\x06$\x08\xc0\x12\ +\xc0U\xed\xa1@V\x09N\x181U\xab\xaf}\x96\xf6\ +\x8d\xba\x19<)\x0c\x22\xf3\xd83\x07\x1c\xcbd\xda\x0b\ +\xb8\xf9\xfeel\x00\x89\xe7\x96\x09\xa5\x82\x0f\x80QC\ +~\xef\xb4)%jG\x04\x0cc\xc4\xbe\xb1\xff0^\ +\xf4\xf1Vr\x11`\xf1\x8co\x0b\xf0\xea\xc2\xed\x99\x16\ +\xd4\xde\xa1\x1d\xf2\xc2\x88\x85\xddw[\xbf\xa2\xc2s|\ +\x04\xa6\x11\x03\xc4\xf0\xa9\x0c\xacR\xac\xa7\x8e1\xad\xb3\ +\xe7v^\x02\x98\x1e\xbet\x8ci~d\xd80n\xde\ +;\xc6d7\x05\xaa=\x00\x00(\xa3r\x03\x8aP\xd6\ +\xe30\xd7\xba\x09|i\xda(\x99\x22F\xe8\xfd\x04\xb2\ +\x01p\x01\x0b\x05x\xa0\xc0\xb3\x93\xce+\xc7HW\x0e\ +\x8e\xbb?\x88\xf5\x11\xcf\xf3<\xec\x05\x8d\x05\xfe\xa1\x12\ +\xbb_\x5c\xc6\x06h\x03\x048\xf82g\xda\xc8\xa2\x9a\ +_\xb0\xfa\xc5\x185\xfb\x8f\x8c1\xbd/\xa6\x8a\xf7\x8f\ +?`\xbd\x00a%JHL\x93Z\xba\xfd\xa8t\xc2\ +\xbd!\x80\xe7G\x02V0\x19\xba\xf8\x99\x00\x08#+\ +\x0c\xb5z}\x8c#mUSZX\xcf\xaf\xb4\x8f_\ +\xa9d\xc0=\xa9\xdb\x17J\xbf\x80Q\x97\x22\x8c\xaa0\ +zh\xdc\xc8D\x02\x1e\x8b\xe9C\xc4\x0f\xf0/\xb0\x11\ +(\x03\xa8\x04>\xf17+P\xc4\x8cp\xff\x09\xcc\x00\ +t\xbdk\x13\xbb\xc9\x0fT\xd2\x12\xff\xb7\x98\x86\xee/\ +\xcc\x91\xd8\xb1\x02\xd2\xc4)\x9e\xb3\xf7\x81\xb7\x9f\x00@\ +\xe9\xaeS\xfb\x05\xa0\xe2\x1c\x13%\xc5\xd42\xdf2\xc5\ +^_\xc0\xd7D\x17\xcbo\xef\x14s\xa5P4\x17\x00\ +w\x17\x17 [\xcf\x8f\x94\x7f{\xe1.f=\x10o\ +\xb5\xf1\xf5\xb3\xfbH\x9bi\xfez\xef\xd6\xd0\xdb\x96\x03\ +\x861\xdb\xc4\x8f\xde\xdf\xf3\x89O\xdcS^\x97}2\ +O\x1d\xd0\xf0\xdf\xf9\x85\xb4\x0c\xcc\x8b\xcf%\x9e\xb2\xff\ +\x9c\xbb86W]\x1c\x1b\xa2w\x80\ +\x14\xea\xea(\xc9\x02\x15\x94`\x00\x10q\xb9\xdf\x1cc\ +\x02\xc2\x014\x98\x1f\xde\x17\x85[@\x9b\x9a\xedb\x5c\ +\xa4$\xab\x98`OY5N\xca\xf1s\xef\x86\x8a]\ +\x19\xdb\x00>%\xea\xa6v\x11\xc0b~\x04\x0aD\xeb\ +0\x1d\x94fE\xdc\x0e#\xad\xfa\xbb'p\xacs\xca\ +.\x098\x88\xe6q\xd0h\x0c\xa8\x19\xf7\xef\x98\x10\x80\ +,\x0c\x14\x81\x00q$j\xe5(\xa8\xa9\xc1\xac\xfb,\ +\x81\xfei\xfd\x9a15\x1e\xba2\xc7\xaa+B\x18\x1e\ +\x87\xef\x1bc\x02\xe0\x04h\xfc\x8e0H\xdc\x17\x98\x00\ +\xfb\x9b\x8f1\x9d\x0f\x19Ov\x86\xea3FBj\x98\ +\x8b\xb9#\xa0\xd2\xad\xc2\xfb\xb5Z\xda\xea\x12 \xf0\xce\ +z{\xdf\xfa{\xddF\xa8\xd0\xbb\xef\x01z\x00\x92\xdc\ +W\x15\xc0\xd8\x7f\xd7\x1fc\x12-S\x0a\x882\xabm\ +\x96\x92\x09\xa2|\x029\xf71{\xe0}\x05rJ\xa2\ +\x1a\x85\x1a\xe5\xbc\xdal\xea\x0a\x82R\x0d &\x96\x8a\ +\xe1\xe0\xfe\x09P\xc0\xbe\xd6~\xbc^\xfc8@\x8b@\ +\x1f\xb0\xabd*]\x84$j\xaa\xad-\xf1\xd4\x07\xa5\ +\xa4P\x80\x03pt\x1f\x01z|\x018e\xc8\xfd\xbe\ +\x80\xbfw\x03\xf0y\xc3p\x18\xcd\x85\x97\xf6\xc2\x8f\x1f\ +\xb2\xca\x0b\xa0\xfc\x9dK\x97!\xa53\x11\xd9,@\x1a\ +p\x82q\x0d\xa0\xec\xa2\xcf\x80j\x01.;\xc2\xdf\x0e\ +\x93r\xf7\xfbcL\xcc\x0b\x0c)\xf3\xeas\xc8X\xda\ +\xf7\xadt\xb5\xfcG\x8c<\x09(\xfe\x81\xfd\xde\x03-\ +\xcf\xc3\xce\xb3O\xd1L*\xa0\x07#\x85\x1d\xb1\xaf\xdc\ +'\xfc\x01\xff\xde\x80\x8a\x0a\xbc:\x10\xe0y\x01\x00\xbe\ +\xffs\x95\xce^\xb8ma\xcbP\xd7w~<&\x82\ +\x80\xd4s\x8bc\xc4\x03\xbe0\x09\xbc\x8e\xf7cW\xec\ +\x1f\xf6\xbf\x89\xc8U\x82\xe2\xe2\x98\x03\x02jm\xff$\ +<\xf9\xf3~\xaf\xfbY\xe6\xc9=-\x0e\xc1Ds\x1e\ +:C\xc1\x7f\x17x{~\xaf\xd7\xdb\x0eJ8\xd3\xfa\ +\xf2\xfe\xd6\xc1\xb9\xf7\xf9\xfb>h\x00\xcc\x22\x82?k\ +O\xb8?0\xc40\xe6\xbc\x9f\xf8\x86_\x0b\xe0!Z\ +\x1a\xed\xa5\xdd\x9b\xc6\xd8\xee\xe9*\xed\xc6\x9c\xc8\xfb\x96\ +\x18\xa7\xd7\xf3\xbc\xf6\x9b}\xe9\xf9\x00<\xe2U\xe7\x22\ +\xcc\xb8S\xfa\x22v\xaan\x05\xc0\x02{\x13~\xf9%\ +\xc7\xbb!5\xfe\xfd\x12KU\xb3\x0a\xf4u#|p\ +\x9aX\x88\xc8\xc7\x16Wi\xcb\xb8w\xad\x01\x19\xc7Q\ +\x9bw\xeb\xed\x22\xd8\xfd\xca\x18\xd3\x856\x8b\xe1|v\ +Z0\x06\xe5m\xa9\xb9\xb6\xf1\xe2\xd0\x16\xf3@\x9b\xaa\ +\xb3\x8e\xe3\xda\x13\x10\xd1\xd5!\xc7\xb4\xbegB\xea\x94\ +&p\x8c\xbfdi\x90\xb6Mp.\x96Z\xa0\xe1\x06\ +|\xd1\xe4\xb8\xc9d\xa6\xddUe\xae\xffu\x8c\x89\xf2\ +\xa7F\xe8\x8e\xab\x03\xb3\xfb\xe8\xee#\xbb\x8fL\x81P\ +\xa8\xe5\x05\x140\xdcqH\xca\xf1\xe9]\x00d\x86e\ +& L\x02M\xc0\x0e\x83\xe4\xb9\xb5\x13z\xf9\xea\xf8\ +V\xcd\x0ef\x02@!\x19\xb8B\xf0!\xda.VH\ +\xaa\x03\x15\x95\xfbe\xb7|p\x11\xd1Y\xd5\xed1\x14\ +\x22\xd6%3]\xa5\x11\xbf\x9d\xf6M\x1f\x1dc\xebW\ +\xbd{\xe6\x18\x1b\xc5\xb5\x1c\xe7\xd4\xdeW\x0d\x96\x1aC\ +\x99\xbb\xd4H\xee\xce]\x19\x04U\xd3x\xc1\x18\x1b\xb3\ +\xa0j\x90\x89=}\xf9\x18\x1b\xd2\xbd\xff\xfe\xfd\xc3\xf7\ +\x0f\x9f.lm\xaa\xbel\x8c\xeds\xef\xbf|\x8c\xc9\ +A\xa2\xbe\x9cvy\x95\xd1J\xfb,\xb5\x9b'\xdf4\ +\xc6\xf1\xf7>4\xc6\x94\xc1c\xf8\xd5\xf8p\xac\x01G\ +\xf6\xa7v\x81\x11\xd3;\xfe\xd7\x85*\x0a\x98\x90\x19E\ +\xb5-\xed\x85O\x87\x02y\xc3\xc3\xe7,\x19$\xfd\xc1\ +\xa9\x14s\x189<\xe9\xd2P\x06\xfc\xb51|\x1c\xd9\ +\xd8\x9dcp\xbb\x9e7\x17\xfa{b\xb8\xdf\x17J\xbc\ +\x8c\xb1\x8b\x1b\xb5^\x89H^\xaf\xa8\xd4wM@\xb4\ +\x8f%\x02\x10\xf4\xf69\xf6%C\xe9\x02\xe95\x5c\x1c\ +K\xed\xd5h'0\xbc^W\x09\x8a\xf5 :\x94\xc0\ +z\xf7\xaa1&-\x95dh\xf6\xcf\x1dc:7\xda\ +Q&\xf0\xab\x8b\x8f\xe3l\x9e\x05\xe2\x1cU\x0e\xbe6\ +v\x80\xa4Pow?=\xc6\xc6h)\x95~\xa2\x88\ +\x8f[\xc6F!\x93i\xfd\x891&f\x03G3\xfd\ +i\xeb\xf3\xbbx\xcc\xa3v`\xd4\xb7u\x9b@\x15\x96\ +\xc9\xd3\x8e/m\x99\xd4\xda\x97\xc6\x02\xc0Qi\xd4\x8b\ +\x0f\x7f\xb2h\x10h\xefv\x83\x00V\xf6\x1d @F\ +[\xc6\x85\xc6\x0d\xea\xba\xcc\xaaL\x17`\xe6\x8b\xd7\x8b\ +\xf7x\x0a\x16\xf5\xdcrL9\xe6(\x9b.R\xfb+\ +\xe7\xa3\x1c\x0c\xc0\x83\xfd\xc61\xb1/tG\xf8\xea1\ +6\xe6Q\x05\xda?<\xc6D\xa1&\x1a\x08(q\x8f\ +\x10\xfd\x94\x11\xa6)\xc1q\x91\xe9f\xf79f\xb44\ +t\xe5I\xa6\xad\xba\x14\xb8\xb7\xa3\x12_\x9f\x07\x00F\ +\xd4\xb4\x8b/\x02\x048\x1e\xec|\xa8\xd0\x02.\x0c\xac\ +\xd2\x84\xc8=_vO\x065\xa5@\xd6\xb7D\x0c}\ +^\xeb\x87\x91\x02\x10\x03\x00\x10\xbdC\x89\xe7\xf8\xe9o\ +\x0f\xa8H\x86\xbf\x981\x80v\xc0\x9e\xcc\xb0{T\xe9\ +\x09\x11@\x8c\x12\xf3\xcc\xeeq\xc0\x89\x9a%\xf0\x22\xb6\ +v\xd8\x8d1e49r\x98O\xeeq%\x19\xeeg\ +L\x97\xd8\x9d\x9a_\x81i\x1c\xdf\x0a\xbc\xf9A\xce\xb9\ +u\xa1\xceO\xdb\xa2u\x8d\xa9\xf5\xe1\xf8K\xa4H\x94\ +\xf0;\xd8\x0b\x81\x806\x9aj\xdb\x9d\x17@\x91\xf3\x10\ +;R\xda(M\xc5\xbc\x02\x7fmgu\xcd@\xd5\xe6\ +\xefq\xb4s/\xb1[5\x8f\xfcO\x9a8\xe9\x86P\ +\xc0\xbe\xcf\xcd\xdf\x91\x09\xa7E3J\x1e\xffj*U\ +\x94\xc0\xf2\xbe(\xe7D/\x1f6\xc6\xc4\x84cot\ +\x1b\xa0\x99b?\xe9v\xc0\xaf\x96\xf9\x94\xf1\x93\x99\xc6\ +\x84t?Y\x17\xbf\x0f8wo\xa5\xd4o\xf7\x82\xdd\ +\x1f\xee^0\xd9\x13\x9a\x15\x00Q\x897\x7fo\xbf\x10\ +\x13\x0b\x93\xafD\x0e1\xd0\x04\xfe4Q\x04\xc2\x09|\ +\x01\x8d\x05\x8c\xf5L\xab\xc0\x1a\xf3\x0b\xd0\x04\xd8s~\ +\x00\x9c\xec\x97@\xd9\xb9B\x9dg\xb7dp\xd9_\x0c\ +=\x99\xd0\xfb\x8c1\xdd\xeb\x98\xb72\xa9J\x8b\xd8\x11\ +\xafg\xdfbd\x00&h\x01\xd8\x8f\x9d\x22\xcf\x1e\xb3\ +\x9b\x98\x0c^\xd7\xf9\xf0{\xf6\x95\xd2\x05L\x09\xf7Q\ +\xcf\x10\xf7\xf6\xe5\xbd\xd6\xdf\xfb\xf0w\xba\xa8h\x07\x00\ +\xf8\xff\xadk\xcc\x85\xda\xa3\x9f?\x01\xa9\xf6co/\ +(\x8er\x1f\xf4\x92\x09_\x18_s\xaf\xcbn\x02dtM\xe8\x80\x8e\xfb\ +\xd9\xefw\xc0\x06\xf0`>\xd8;\xcfk\x1e\xdd\x83\x00\ +eL(\xf7\x91y\xee\xed\xa8\xed\xf3<\xf7\xee\xd7\xc6\ +X\x12v\xc71\xfd}\xf7Cu\xb3\x90\xc8\xe4wX\ +\x1f\xf3\x0d`\xe8%*>\x87\x12\xee0\xbbNU\xad\ +{\xda\xfcUF\xdf\x82\xc8\xec\xaa%\x98E\x18>\xd8\ +\x16\x90(\xd1\x15[\x7fR\xb5C\xe7O\x0e\xf2\xa0\xbc\ +\xdf:\x01\xde\x1db\x18\xef\x1a\x0a\xeb7&Cv\x0c\ +\x98F\xf8\xb1\x04 \xc3=\xb8\xffE\xb43\x82 \xd1\ +(\x10(\x0c\x82\xd73\xb2\x81>69\xd0.P\xa2\ +H\xc3!y\xfbD-\x1e\xcb6m\xa4\xc5l\x5c3\ +\x8e\xdfY\x13\x2292,\xe7\xa46\xf6\x81\x93\xc8\xd9\ +\xa04?m\xca\xfc\xeb+\x1e\xb1\x1dj\xb4U#\xa9\ +\xcd\xde_\xee^\xba{\xe9$\x82\xa6=\xde\x9f\xa7\x16\ +\xea\xd7s\xf1Q\xc5\x85\xd8\x12y\x10XA\x8e8d\ +\x9f\x13dJ\xa0\xce\xd1u\x80ch\x89\xc4\xd4\xc1\xf3\ +\xfbj\xb1\x04\xf0\x10)\x81\xfb\xad\xd6\xc0\xbf\x10w%\ +\x022\x04\x02%\x86L\x0d#\xc7\xfc\xd9\xd1\x22\x00\x5c\ +\xbc&\x0e\xf6{\xd7\x03S}\xc1\xa3V\x8ejl\xf9\ ++\xd3\x18J\xcb\xe1\x8b\xc6\xd82\xf7\x87[F4\xef\ +~\xbb\xfb\xee\xee;!\xf0\xad\x9d\xe3\xe1\xd2\x87K\x1d\ +.5\xcdG\xdeo\xff\xa7c,m\xec\x8ec\x0b\xa0\ +\xf6??\xc6\x16\x00\xed\xef0\xc6\xf1\xfb\x7f\xdd\xff\xd0\ +~r,\x8f\xd7\xe5\x92\x81\xaf\x8b^\xff\xdd\x00\x19\xbb\ +\xb7\x8c1\x89p\x01\xc2\xbem\x19\xd5F\x07\xb5\xb4\xd4\ +{\xd5L^e\x8c\xc9Pf\xffW\x86\x14\x857\xff\ +\xbe\xfb\x871\x96\xf7Y\x1d\x1c\x00\xc5]\x0fw9\xdc\ +e\x02rd\x86\x01\x17o\x0e\x05\xef.\xeb\xef\x1d~\ +\xee\xf0\xb4\xa1\xfe~r\xb71&\x07\xc7\xbe\xd3\x960\ +\x0eE\x89[>y\x15\x9d+\x83\x0c\x88q\xd1\xbb\x00\ +\x89x\x11C\xc2\xf0\x81\xd8\x13\xcbK\xe0/\x13V\x01\ +\xd1m\x13\x089\xf7.0\x14@*\xe6~\x9f!\xd7\ +\x06\x8d*\xab@R\x0d(`\xcb\x05\xe9\xf3\xca`A\ +\x94\xd9\x19\xf3)\xf0\x90\xf9w\xd1P\xd1Vj\x14\xb1\ +\xc2\x9a/Z\x052v\x1c\x03bF\x09\x9f\xfb\x85\x1f\xe4\ +\xbe\xec\x9f\xd3}\xeby\x04\x8a\x80\x15\xeb\xef\x0b\x00\x22\ +@\xf4\xbd\x07\xd6\x98\xc6\x98\x9f\xe6\xcb\xfe7\x9f\x02n\ +~\x84\xe7\xe9]\x1cz\x97/\x01\xa8\xff\xee\x5c\x9a\xf7\ +\x1e\xf8\xfb\xde\xdb^\xfa=_\xd6\x9b_\x07\x08\xea\x09\ +\x09\xcfg\xbe\xac\xbf\xe7\xe8\x8c\x0a\xef/a\xa0\xa4\xc9\ +z\x03\x0c\xcc\x9fD\x88\xe7\xb4\x1e\xec\x1d\xa0\x0a#S\ +\xe2\x16\xa0\xc8\x9e\x89\x9b\xac\xa3\xf9\x02,\xb1o\xe6\xd3\ +\xfc\x89\xb7\xedW\xfb\xae\x8b@\xb2\xd7I\xc4\x9cB\xbd\ +/\x87tV\xcb\xbf\xdc\xd4\xf6\xcf\x07\x1dn\xd7\xdf\x86\ +\xca\xf8\xb2I\xf5\x18\x05~\x5c'\xff\x94\x9a\xc3\x87\x06\ +\x81\xfd\xd2I\xc4O-\xaa6L\xc3\xcd\xbc\xf3$\xa6\ +\x93\x8c\xe7B5\xfc\xd6\xc9Q\xa0Q\xf0\xe9%\xd7r\ +\xd1\xaa\xfa\x97\x9b\xba\x13\xc8x\x9aP\xc8<\x83\xe9\xef\ +\x94*8\x98\x10\xd8\xcb.\x1d\xcfk>v'\xbbu\ +\xe2\x8f\xee\xe8\x226\x15\xa4y\xff7\xc7\xf1\x8a\x5c\x90\ +W\xde\x02\xfd\xca h3\xf6\xe1\xe3\xf8\xd0F\x09\xde\ +\xfdQ\x18\x00o\xcd\xc1\xfe\xe3P\xff\x1f\x16G]`\ ++\x83\xfd{\xb9`\x05\x96\x18\x08i\x97S\xeb\xe7K\ +\xa0\xcePe>\x16\xc6\xc3Y\xd3AF\xb1\xb4\xbe\x9e\ +\x17\xd5$\x99\x92B\x8a\x89\x04\xba(\xd4\xfc\xbcqE\ +L\x8fn\xca\xedv\xb7\x9b\xa82\x0c\x90\x03\x91>\xdb\ +U\xd3\xe7\xc0Q\x19\x7fY\xc4\xa2\x1c$\x9f7\xb5\xab\ +c\x1dv'\x8b\x8a\xe8j\xa8\x5c \x025H\xf4\xe5\ +\xc7\xd8\xbaR\xec\xff\xea8^\xb69\x9c\xbbw\x1f\xc7\ +\xbb\xa6\xda\xaf\x0f\xc7A\xa3\xf6\xb5\xb5\x7f[\x0f\xb6\x8c\ +\xb2\x8b.\x99\x85\x0b^5\xc6\x22\x22\xb7\x22\xd6\xa1,\ +V`u\xbfUsA`Sm1\xcd#$W\xa0\ +#\xf3\xf2\xa4d\xac>\x96\xae\x0c?\xb6\xaa\x0f\x97H\ +\x916w\xa1\x82\xee\xffd\x8c\xc9\xb01\x94\x0cG\xce\ +Ue\x5c\xed\x1f\x99\xa5\x0f\x05\xf9M\x0d\xe6R\xf8\xb2\ +_\x1c\xe1u\x1f\xbf,5q\x90q\x01\xa0\xcc\xb7\x0b\ +\x98\xa3\x82\xda)\xc0v\xa1=+\xed\xb2\x88\x9e(]\ +\xa0M\x11\xa0\x09\x93\xa3.b\x0e\x1e\xcd\x82/\xcc9\ +g\xd0e\x9c]\x8c\xf6\xb5@W\xe0\xc1p\xfb\x8e:\ +\xd8\x02\xd9\xa28'C[\x88j\xaf\xbd\xd3v\xcb9\ +\xb5\x0fe\xfa\x89B\xa9\xa9M{.@\xc3\xe1\xf3\xc7\ +\xd8\x80\xc1:'\xd6K-u2\xb5e\xc8e\xa88\ +\x16\xc9\xfca\xa6T\x97\x8a8\x98D\xb2N\xab\x91\xe3\ +p\xa2\xa4q@d\xea\x04\x98.B\x19.\x01\x0b\xd1\ +.\xcf-\x03w\xad1\x96\x92\x9c\xe3\x98\x02d\xaf\xcf\ +\xae\xa2\xa4+Q\xc0\x10\xb2\x1e\xad-T\x05RD\x07\ +#\xae\xd5U\x82\xab='m\x02\xfbA\xa0, P\ +\xb3\x1cJ\xff\xe1\x0b\xc68\xfe\xf7_X\xc6F\xf5N\ + _\xa5'T\xa61\x85\xb4CD1\x06\xa08\xb7\ +2\xae(\xf1i\xfb\xb7\xdc>\x1f\xdfDTGO\x8c\ +\xd1\x15C`)\xc3T\x80\x06\xcd\x0c\x0eBj\xfb\xab\ +\xc4\x81\x03\xc7\x0e%\xa0.{\x91\xd7\xaf\xb6d\xdac\ +\xaa\xd1e\x97\xdd\xa3\xec%F\x95\x1a\xea\x04H\xbb\xab\ +\x8f19\xbe\xce\x15 \x22\xcc(\x9a(\x05\xa0\x87q\ +U\xb5\xeeJ\x00d\xf61\xf4\xd2\xed\xa1jY\xa9y\ +\x03\x9ah\x9a\xb8\xb7^\xb9\x8a\xaaV\x1fr%9)\ +Q9\xad_4\xca\xb4@\xde\xfd\xed\xbc\x12\xe1\xec\x0e\ +\xac\xd2\xbd\x88\xb3\x96V\x04\xbb\xa0d\x0be\x97\x8a\xb8\ +\xfd\x16&\xe2\xe13cL\xef\xaf$\xadev\x0fw\ +\x18c\x02\x06P\xe1\xdd\xdbJ6\xd4>\xa3\xc8\xcbL\ +r\x80\xd3\x1e\xb6J\x1d\xfc=\xf5s\x00\xbd\xfd\xc3\xb1\ +e\xd7\x946\xe9\xbeCC\x81\x080&C\x02\xe6j\ +\x0f\x98\xf3T\xda7>\x07\x7f\xb3\x97\xbeiol\x9f\ +\x03\xd6\xd8\x858\xce\x87\xbf\x1cc\xb2\x0f\xf6\x0d\xffE\ +\x00\xcc\x1fT\xe2\xc2\xee\xe9n\xd34\xa6JS\x838\ +\x9f@\x8d?\xa3\x14\x00\xb0Ds\xe41cL\xf7\xba\ +Zp\xc0\x92\xcf\xc5\x1f%J\x8a*/C\xac\xad#\ +@G\xe6\x0f\x83\xca=\xe4\x1eh\xa2\xac\xf5:\x02j\ +\x80MDBKl\x92v\xca,\xd2\xfd\xce\xe9\xf5\x7f\ +\xe0\x8c\x87\x8f\x12\xa8\xc3\x9f\x1d\xfe|\x01\x88\x05,\xec\ +t\x12\x15\x12w\x80\x0e\x80q\x05\x1c\xec%\xa0\xc7\xf9\ +s\xff\xcb\xa0\xca\xb8\xfb.\xe0\x02H\xd0@P2e\ +_\xb8_\x04\x5c\x98\xc2\xcem\xf7\x8b\x88\xec\x12\xc5\xcc\ +\xe7\xd8]{\x8c\x16\x1fL\x22z5\x9f\x12\x18-`\ +/?\x03e_@*\xd0\xb4\x1f\xbb\xc8-\xff\xc2\xfb\ +\x08\xfc\xfd\x9e}\xef\xbb@O\xa0\xebs\x0b\xd4\xf9\xd5\ +>/?\x9d\xb8%\x00@\x00-\xf3\xefsy\x1d\x80\ +\xb7s\xd8\x03\xcf\xde}\xa0\x07\xd4]D\xaf\x8b\xe4)\ +\xd9\xb9\xc4\x18\x93\xfdl\x22\xe9\xf5{\xdat\xd2\xd0\xe1\ +\xd7x\xff6\x8f5O\x9e\x83\xbf\x08\x18h\x0c\x00\xdd\ +\xc20\x9c\xab{\x98\xd7\xe1\x8f\xf66\xbf\xecd\xef\xfe\ +\xe6\xef\xf8W\xe6\x87\x9d:o\x8cI\xbc\xb6'\x88\xba\ +\xd8}/mwN\xcd\xaf}\xeeg\xcf\x09\xc0\x8d\x1d\ +\xc0\xc0;\xb58\x96\xd7\x8d\xc3r\xd7-\x90\xad\x8d3\ +\xde\xee\x03\x13\xe5\xca\x86'\xd62\xfa\x8c~Y\xd4\xcd\ +\x7fi\xd3\x0aX\xfc\xb9\x93\xc9\xe0\x07PXDPn\ +5!\xf52d1\x8c\xe50~\xd52\xb6\x05c\xa0\ +.Y\xb5\xbe+\xe2a\x22\xba(\xce\xfb\x16\x12\xf1\xa6\ +b\xcd0\xf7\xda\x97\xb9V\xf4$\x7f\xf7\xde\x18\xe6\xb7\ +N\x1bc\xb8\xf7W_\x11\xf0%CB\xf4p\xb8\xc9\ +#\x83\xf2\xf7\xc7\xf1\xba\xadm]\xd5\xa6\xden\x0d\x88\ +w\x0f\x1e\x8d\xe6\x8e\xdf\xff|\x8cE\x8du\x11\x03\xaa\ +\xcc\x97\xe7\x93\xb1\x0d\x02J5\x5cF\xaa\x9e\x97\x81\xb3\ +\x81\xaf\x94\x8c\xc6g\xb2a\xfc^S\x07=\xbc'%\ +\x1f\x8fMM\x97\xf94\x1f6\x9c\x03/\x80T\xdb\xa7\ +\x86\x15e\xca\x05~\xa5PTd\x80\xce\xc9\x85/\xb0\ +\xf4\xfaj\xfaP\x9d\x01A.L\x06\x87Ae\xf0t\ +\x11xh\x1c\xde\x94\x00\xd4\x85\xa0\x7f3`\xc8\x058\ +\x02\xa6\xffh\xb5\xd6\xdf\x92}\xf5\xce)\xb3J\xed\xf5\ +'\x0fOX\xa8\x83WM\xed.\xb5\xe9\xb7e\x1fQ\ +\x19\xee\xedl\x9e\x15\x111\x9f\x83\xc3\x04(1O.\ +~5\xd4\x18.\xe6\x07e\xf7\x0d1\xfc\xd7L\xcd\xfc\ +\xdd\xc7\xd8(\xb0\xa8l\xfb7\xee\xdf\xb0\x7f\xc3\xe2p\ +\xadTp\xfbB&\xe3\x1ak\x86\xd2\xba\x94#\x7f\xbd\ +1\xa6\xd2\x16\x81}\x02\xe6\xca\x18?6\xea\xd1\x1c\xd7\ +0\x00v\xaf\x1ecr\xc8\x19(\x81:5j\xcc\x8c\ +\xf4S'\x82T\xb5\xc02E\xb17'\xf7\x1dc\x02\ +\x16\x5c\x98T\xef/\x1d\xbb\xf4\xddy\xdf\xff\x1c\xc7Q\ +\xed\xbcLN3\xb4\xa5\xf2/\xe3\x22`Q\xf3\xee\xc2\ +\x93\x91\x92\xf1\x97\x19\x9f\xed\xca\x94y\xa9\xcc\xdc\xcc\x18\ +\xba\xd6D\x1d\xf6\xf9Q\x5cQY9\x1c\xff8\xc6\x04\ +\xa8p\xa0\xd9=\x01fk\x9b\xb6\x7f\xd3\x18\x1b\xf0q\ +\xf2\xf81\xa6\x1ab\x883M\x0f\x08\xb3y\xb1^j\ +\x14\xbd\xaf\x7fOf\xbb\x1c95\xaeOXKt*\ +\x90\x8d\x06@9\xe2\xe6!\x81F\x01\x08\x1c\x02\xc0\x1e\ +\xbb\xc5\xfe\xd0H\xb0^\x02*%Q\x1cv\x80\xb0L\ +6\x8a+\xf165\xf1cV^\x18j\xf7\xe3&\xd1\ +:\x17l\x98S\xa3\x99\xe6h\xa7)p.\x07I\xb7\ +\x82\xbb\x8f1e\xecCa\xafZ=\x14V\x99\xa1\x88\ +\xbbU{\xb5\x88D\xee\x1e7\xc6dOte\xc1\x9c\ +z\xdb\xd1\x8a\xbcm\xd2\xb8\xb8\xf1\x18\x13\xb0\x90}u\ +\xb8\xfa\x18S-0fV\xd6u\xff\x811&M\x03\ +m+\x05\xb6q\x04N\x9e2\xc6\xe6\xd0\x02\xb00\xa4\ +j_\x13q\xcb\xfa\x16 \xa6\xbb\x8c\xee#\xb1k%\ +.\xe6\x1eQ\xfb\x9b\xf3^\x9a\x22\x09\x00\x8b\x8a\x1d?\ +\x81\xe3\xbb\xbb\xf9\x18[\xbb\xd6\x12ido\x05R\xc9\ +8\xd6~1/\xc4\x04\x03\xc4U\x1fu~\x83R\x0b\ +\xa2l\x00\xae\x94\xd6T\xb7\x0e\x22\x80\x1c\xff\xdc\x83%\ +\xb2\x86\xb9 \x83\xdb\xd4\xbe\x0b\x90\xc1h B+\xc0\ +\x1c\x8c\xb3\xff=\x9do%_\xb4s\x22\x1e[@\x17\ +?H \x8b\xc9\xc0a\x0e\xc5\xbfJ\xe5\xd8\xa3\xdco\ +%\xfa\xfb\xeeb\x18\xae\xfd\xe2\x1f9\xc6\x04\x88h\xbb\ +\xa7]\xa8D\xcfW/c\xcbD[g\x80\x03&\x8e\ +\xf9\x22z\x18\xe6\x0fm\x9e\x02\x86#\xa2\x08\x10\xab\x92\ +\x04\x00Z\xfc\xc1\x12\xedJW\x22\xcc\x86*]\x10\xb8\ +`\xc0i\x83\xd5E\x99\xed?v \xef\x8f\x9a\x0f\x00\ +<\xdc\xe8p\xc3\xc3\x8d\x16\xe6\xe9\xd7.Z\x042\xc7\ +\xe6\xd3\xfcIh8\x0f\x18+\xfc^\x99w\x0cK\xf7\ +\x0cJ/u~\xc0\x18\x06\x8e\xf6\xa8\x02|\xedU\x05\ +\x12\xf6\x81\xf3\xd0\xda\x8c\x95_\x04\xd0\x16\xe8*\xdd\xf3\ +\xf7J\xb3\xd8a\xfe\xbd\xcf\xf3G\x87?^J\xcdr\ +\x8eO\xa3\xac\xe7\x9e\xd9]y\x8cm\x9d\x01\x15\x18-\ +\x00\xac\xc3%\xc7\x98\x02\x11\x1a\x02\x98\x80M\x15_\x80\ +\x5c\xfb\x11\xa0\x8f\x01\xc6O\xf4\xdc]\x03\x8b\x18^\xde\ +\xa7\x98/\x18&\x18\x95\x02G\xf3\xc0\x8f\xb4o\x04\x90\ +\x18x\xde\x9f\xbf\xe790\x19\x04\xfe\x9dz\xde\xc5\xfc\ +\xbc\x1ef\x03\xd1M\xf71?\xa5\xd7\xce\xcb\xf0b\xd6\ +:\x1f\x02D\x00\x80\x84f\xd7\x04\xe8L\x09\x81\xab\x00\ +\x9d?\x0a8\x13\x0f\x98_~\x02\xbf\xa8\xff\xbd\xfd\xe1\ +g\x99\xe8\xff\x18c\xfa\x1c\xba:\xf0\x03}\xb5\xee:\ +5?~\xcf\x7f7\x7f\xde\xaf\x07\xc2\x80\x00?\xf3C\ +\x004\xe6\xcd\x7f\x07\xec\x01\xa4\xac\x97\xff.\x1ei\xda\ +\x0c5?\xec\x838\x13\x13F\xfbL\xf3\xf7\xdd\xcb8\ +cw\xf91&\xbf\xd5\xf3\x01\xce0\xf1\xad\x83}i\ +\xbe;\x10a\xbe\xbdO~ow\xa91\xa6\x84p\xec\ +\xe0\xa9\xe5z\xbb\xce\x14@\xa3\xd2[`\x07\xb2\xab\x10\ +\x0e\xb7\xf1\xaf\xe3 \xbf$\x8e\xde\xa0^\xde\xf98\xee\ +2\x19,\x8e\xe3U\xc6\x98D\x04M\xd4\xc0\x03o\x18\ +\xc7\xfb\xfa\x9b\x18`\x89\x05\xbez\xd1I?\xbdV\xc4\ +s\xf9\x82\x88;\x80D\x9cl \x19]\x01\xa6\xd71\ +\xa1Ta\xd5Zq8G\x05\xeb\x83S[y\xdb\x8b\ +h\xe7\xa5\x16\xf0_\xc6\x98\xd4\xe2\xb5\x7f\x92\xf9\xa0b\ +\xfc=\xa1\xbc&sXHz6D]\xe8(\xfd(\ +U6\x84\xcc\xa7@\x11\xf2\x0dQ\x87\xd0\xdf{\xed?\ +^\xe2\x02\ +\xf3\xd4t\xcb\xf4\x17\xd5\x97\x03\xfbKcL\xfd\xeb\xaf\ +\x90\xe7\xd1&\xea\xb3\xa5\xa2\xbc\xeeS\xfb\xe1$\x0e\x8f\ +\x0bRFV\xe9\x00*\xa7@\x1c\xe5W\x00\xdb\x91d\ +\x94g\xfd\x821;\xb4\xa3S\x93O\x0c\x8b\x83\xf3\xcb\ +\xcb8\xe3\xe4?\x8f\xb1\xcdoej\x13\x88U\xed.\ +\x8a/\xc7\x80\xbak\x98/\x18 \xbb\x7f\x1ac\xab\x99\ +\xafL\xbd\x00\x07u\xb7#\xf7(\x992\x95\x98BJ\ +\x0fd \xb4E\xb3_\xd5\xe8\xa2\xba\xa2r7\x86\x80\ +\xe7+\xca\xa8\xcc*\x07>\xafG\x03\xa0\xec\x99\xc0\xbf\ +k\x05\xe8\x8a\xe0\x22\x96\xf9>{\x8c\xcd\x8e\x15 0\ +\xec\xf6\xd9[\xa6nw\xee\x18\x9b\xbax\x9d'\xe7\x00\ +\xf5W&\xdf\xc5\xcf\xd1F\x91\xe6\xe8\x9b\x07\x7f\xaf4\ +G\xc9\xc4o\x8e1\xed3\xa2[D\xdb\xfe\xdb\xe1q\ +Kfp\xb4\xed\xbc\xe3\x04\xd0\xa5\xa6\xbb\xec>\xa6\x0e\ +G'\x19\xed\xfd3\xc7\xd8\x02\xe4*\x81P*\xf5\xf5\ +cL\xa2]2\xf8\xd9\xd7'\xb7\x1b\xe3\xb8\x1d~t\ +\x8c\xa9\xbbE\xba\x19\x14\xb5=%\x01\xa5U\x90\x00\xe7\ +BL\xbe\xbbL\xedEs\x1e\xa9\x81\x17\x10\xf0Kc\ +D\xe3\xe7\x0b7\x06C\xd9yj\xed2\x93\x02\xc1h\ +\x14U&\x14\xc3\x8e\xe3%\xc3\x1e\x0d\x89\x0adG\x82\ +\xe2\x1eS\xed;\xc7\x13\xc0\x07`P:\x13\xc6N\xb5\ +\x0f\x03\x10c\x1eahe\xfd\xab\x1d\xa4\x8c9\x8d\x0e\ +5\xf9_2\xc6\xb4\xafs\xaf\xd7}\x91}\xb3\xbf\xcc\ +\x18\xc7\xd7\xfb\xe71&{\x96\x12\x87\x02\x101/\x04\ +\x94J\xe7\xd8+\x80njsK\xbbC\xb7\x02\xfb\x83\ +\xe6K2\xf7U\xcb\xec\x1e\xe6O\xe4\xf3+\x1d(M\ +&\x01<`L7\x14L\x1b\xda$\x18\x98\x9e3\x01\ +\xd7\xe1\xf3\xc6\x98~\x9f\x1f\x10\x8d\x1a\x22\x99\xb4\x12\xca\ +_\xc0h\xa0uA\x13 Z\x14\xa5\xe1\x00`\x22\x92\ +\xc8\xcf\x91X\xc2X\xe30\x03\xb0\xb4\xf9}C\xee\xb1\ +\xf3V&\xa3R\x9d\x02\xf4\xd9M\xb5\xf0\x09\xa40V\ +\xaa\x14\x15 \xa1\x9b\x89\xd2\x87\x00\x0a\x98_\xc5\xf0\xc0\ +h\xb4\x8e\x80U\x81)\x11>\x09:\xc0\x04G\x85\xbd\ +\xa2&.\x80\xc4\xc8\xf9\xe216\xf1\xc9:\x9f\x02E\ +\x81\xb7{Gi\x9f\xc4\x85\x1ae\x22\x8d\xee}\xfb\x9f\ +\x1f\xc1?A\xb1\x17h\x0a\xb0\xcc\xa7x\xa2\x05\xc2\xa7\ +1\x18\x04\xc4\xbe\x13U\x95\x98l\x01\xcfi\xfed\x18\ +\x03\x15\x17\xf8}\xc0\x0bqL\x098\x00< \xfd\xbc\ +1N?\xe7\xf5\xf7\x80\x0c\xf7\x92\xcf\xd3E\x84\x01\xc6\ +\xee\x93\x00\x08\x1d`,\x7f\xa3g\xaa[\x80[Z\x09\ +\x98\x12~O\x5c\xd3\xdb\xea\xf5\x9a\xff\xdeF\x9d\x7f\xd3\ +\xbb\x97\xf1'\xfd\xdd\xc5h\x02\x94\x7f\x85\x92\x0fPw\ +\xce\xcc\x87@W\xe0\xdaK\xbb\xed\xe7\xb9\x8d\xfb\xcch\ +\xb0\xbe\x9e\xbbk\x0f\xf8\x1c\xbdM\xa0\x84.-8\xeb\ +d\xbe\xf9\xe9\xe20\xf3g\xde\xda\xbe\xa8\xd7\xed\x1a)\ +\xde\xc7\xf9\x05L\x8b\x1fSrW\x09E~\x958U\ +|\xec\xbc\x89\xcf\xbb6BgpX\x1f\xffn>1\ +\xa9\x93\xb8=\xdcm\x8c\xe1\xa6\x8em\xf4\x8eL\xf0\x1d\ +\xa6\x0d\xf1\x86%\x07\xb9m\x5c\x07r\xd4\x0e\xfe\xe5\x94\ +9\x22\xf6\x91\xcc\x10\x11\xb2\xe5\xef_\x7f\x11b\x05\x02\ +\x0c\x1fD\xe9\x00\x06\xe7X\x98\x7f\x0d\x05\xe3\xf2\x99\xe8\ +7M\x08\x9d\x05\x19\xc7\xec_\xa7\xd7\x198\xe7\x9fF\ +\xa4\xed9\xdb\xcfK\x1e\xea\x87\x034\xdc`2\x982\ +Q.F\x0e\xdb\xd0\xe4\xd9o\xd4\xfa\xc5\x11\xbe\xdb\xe4\ +\x88\xa9\x8d\x0f\xf2\x5c\xb5]\x1c\xc6\x18\xe8\xddK\xc6\x98\ +DR8\xe0=\xf0\xe3\xd8\xb90l`\x1b0j\xb2\ +\xbb\x0f\x8e\xb1P\xc7W\xd1\xa8\x1b\xae\x99\x84\xe3\xa6\x5c\ +\xd7\xeb&\x01,P\xb7C\xe5\xdc\xddp\xedSN\xec\ +\xb1\x0c6\x06\x06G\xca<\xda@\xe6\xd9\xcf6<\xea\ +%D\x0bB\xed\xf7\xac\x13d\xfe\xbf\x87\xaa\x97\x12\x8b\ +\xbap\xee\x19\x80\x03pCLH\xc0f\x1f\xa2\xec\x12\ +\x85\xfa\x9fc,\xe22k_\xe1;\x8f1\xa9\x8a\x0f\ +w\xe5\x86[\xf7\x8a\xcaH\xc70\x16\xc5\xf6\xbacL\ +\xed\xf9\x5cLCE\xff\x07\xe2\x08\xff\xcd$f\xf7\x8a\ + \xe2Tq#NW\x8c\x8fd\xa2\x8b\xa2O,R\ +\xad\xf3[\x1aUK\x89\x80\x0c\x12D>@\xd1\xee\x89\ +\xd1\x0eh\xfdb\x8b\xa2\x1c1\xc23~7\xfb\x8e\xa6\ +\xc5s#\x9ad\x9f?\x22\x99\xc9\x5c\x94E\x11\x95\xa1\ +\xb0\x1f\x13PT&\xfd\x0aq\x08\x04\xaeY'\x99\xcc\ +j\xb3\x98\xcf\xab\xfda\xbd/\xf1\xa0{\x05pH\x00\ +IDH&\x89\xc3\xab\x0b\xc6\xe1\xc1c,\x22=_\ +y\xf8\xca\xcd\x81- -\x81\x0bq\xbb2\x94\x1cM\ +\xfb\xe7Z1\xa4\xa72\xaf.,\xf6\x8c#)\x80\xa4\ +\xb2J\x0c\xd5\x85e\xff\xd8\xff\xce\xad\x8b\xdeE#\xc3\ +'\xb0\xd5\xee\x88\x8a|\xf6\x17\xb1\xc7r\xf4\xbc.\x03\ +N\xfd\x1feTfA_k\xed\xc8\xa8,\xa7=\xe1\ +\xe1\x83c\x04\x80\xbd\xf3\xb4\x9f\xd3\xee\xa8\xd6e+m\ +Y\xd7\xd7\x85\x05\xa8\xa1\x89\xa1\xc6\x15\x13\x84\x98\x9f\x8b\ +V\xcd?\xbb\xedy\xb3\xae\x98\x0a\x05Tr,Q;\ +1v\xe2\xa8\xa2\xe0\x17\x15VI\x0c{(\x93%C\ +\xe8\xf99\x12\xb4Td\x12\x83\xec\x17\xe3J\x0d\xb1\xc0\ +R\x1b\xae\xa8\xf5\x16s\x09\xa5\x9e\x03\x8e\x9a?\x18\x5c\ +\x0f\x9e\xf6\x91\x8cF2\xf6\xd5\xc6\xab\xabQ\x03\x90\x22\ +\xa6W\xed\xc0\x00#D\x0e\x9f\x7f\x9c\x85\xe7/\x19\xb4\ +5 =\xb3u1\xd0\xae4%\x08\x05\xbc\x10\xb9;\ +\x19cz\xdew\x8d1\xd5\xd4+\xb1\xf3~\x18\x0b\x80\ +T\xf7\x80\x8c(\xa0\xc6\xeba\xe6\x014s\xcfU\xa9\ +\x8f6\x99\x80s\xef\x83\xf2k\x9f(\xcd\xb2\x9f\xac/\ +\xc7\x0e\x00/P\x22\x0a\x86\x8a\x9fy.\xb1\xd2h\xa4\ +\x14\x15\x99&\x8e\x84\x05\xc6YJ\x0e\xca\xcer(\xe3\ +\x07(\xcd+\x00A\x09\x84\xfb\x8d\x03&P\xa4\x19\xf0\ +\xb81\xa6\xcf)\xf3\x7f\x9d1\xa6\xe7C\x81\x16\xe0\x00\ +(\xc2\xc4\x02\x1c\x9f|\xf5\x18\xd3z\xd9W2\x9a\x00\ +w\x0e'\x87\x9a\xa3\xec\xbf\xc7\xee\x14\xd5_&?\x00\ +\x94..\x80\x82j\xdb\x85\x89\x03\xf8p?c\xb4\xe9\ +\x0fo\x9e\xad\x13 g0A\x9f>\x9d\xcb\x94\x84\xd5\ +\xb9\x17\xb8\xf1\xb7R\x92\xe8\x5cb\x1a`\x86\xd0D\xa9\ +L.\xed\x0a@\x02\x15\x7f\xfbB@\xae\xfd\xad\xdas\ +\x94u\xfb\x8c\xff\xca\xee\xca\xc8nm\x97W\x7f\xe4\x8d\ +\xc9\x98*\xe9p\xde1\xdf\x94\x9e\x11\x17\xd4\x86P\xa9\ + \xed\x9dh\xb2\x94\xff\x08\x18\x90\xf1\xa7\xf5\x10FP\ +e i0\xb0\xd3\xe6\x95_\x0d@\x01\x10\xb0?\xa8\ +\xe5\xee\x17\xfb\xc2\xbd\xa7K\xcc-\xc7\x982\x89\xfc-\ +\x01\xc6}\xd7DD\x01\xc4\xee=\x01\x85n\x22\xc4B\ +\x05R\xec3-\x11\x19L\xfbT\xf7\x04\x01\xbd\xe7E\ +\xf5\x17\x10\xf7Zy\x19w\xef\xd3\xc5\xf9\xac\x9f\x80\xd4\ +\xfa\xba\x7f\xd8\x1b\x816\xa6\x1e\xfb\x12\xbb\xa8\x04\xb12\ +\xce\xd6\x01@*\xb0\x13@\xfa\xce\xff5O\xecP\xef\ +?\xaf\xe4\xd8\xf9\x95\xd0\xec\x9a\x02]L\xd0\xbd\x95\xfb\ +\xbe\xf6\x83\xf5s\xef\xb8\xa7\xac{/i\xf8P\xeb\x8e\ +d\xbd\xf9\x9b\xf6\x91\xc0\x9c\xbd\xe4\xe7\x8b\x9f\x00\xa9\x9f\ +\x1d\xe3\x22D\xd4\xed?\x80\x8b\xf5\xf1\xbe>\x9f\x9f\xed\ +\x0f\xcf\xcb\xce\x89\x1f/N$\x100\xd2\x81\x05\x8c\x18\ +\xe2\x94\xe6\xd1:\x01b\xcc\x9b\xf7\xb7\x7f}\xf7\x1cM\ +<\x100T\xe2\xd0\xbd\xdb\x1c{o\x1f\xb0\x9f\xee[\ +\xeb\xed\xde\xc5l\x93\x88b\x87\x95\x18\xf0\xd7\xc5G\xf6\ +yo\xa7\x0c a\x9f\xf9}\xee\xe5\xdcg\xa7\xaa\xc6\ +\x90\xa37\xa6\xe3\xed\xad\x0d\xc7[&Us*\xd1\xe3\ +\xdf\xff1\x81\xc4\x17M\xfd\xe9\x89tAh\xc7\xf4]\ +!\xb7\xff\xac\x8aLt\xf0\xc3K\xf5\xf5z` d\ +\xff8\x05*\x02Q\xdf-\xc8\xf8\x98\x9f\x986\xf8\xfb\ +\x97\x06`\x9b\xf8\x1f\x87I\x9b\xaa\x91W8g\x9a\x08\ +\x081\xf5\xf7\xb7\x1d\xc7[\xa7\xb6w\xc4\x00\x1f\xb2\x8c\ +\xedb\x94\xb9\x97Y\x83\xd4s|, \xf1\xbfo\x0d\ +\xf5\x94\x9a\xaf\x85\xb7p\x1co\x8e\x89\xcf\x07\x18pa\ +\x00 \x9e\xbdR7\x88{\x1d\xe7d\x05\x0a E6\ +`2a\x87\x1b\x1d>\xf7\xf0\xb9K\x1b\x97%p+\ +\x11\xb8P@\xd4pR}\xaf\xf9\xecb\x13\xd6\xb5\xf7\ +\xcd\xe4\xf8@6\x19j\x142}\xb1}\x99\x1f\x9fG\ +\xc0&\xd3\x83\x22\x9e\x0b\xb0J \x22>#\xa36x\ +&\x83i2\x9a\xda,mm\xfe-\x07\x9c!\xa6\x05\ +\xa0\xc6r\x88x|(\xaa\xd2_\x9cy\x7f\xf6$.\ +\x15\xd1\xc9\xa2\x8cF\x9dy\xff\xbc1\xb6@\xfe\xe4~\ +cL\x22Q\xbf5\xc6\xe4\xc8\xdc>5\x83\x0c\x0c\x84\ +\xf7AiK\xf8w1\xf4)!\xa8\x80E\xcd\xb9\xfd\ +\xf7\xcf\xa9\xad\x8ccV\xff.3\xaef\x16\x02\xfd\xb2\ +\xcc\xf3}\xd2~\xe8\x9c\x5ch2/\x1cZ\x81\xa8\x80\ +\xfd&)\xbdI\x7fr\xe2w\xf6\x0b\xc7g\xf7\xba1\ +\x8e\x9f\xff\x91'\x8f:y\xd4TS\x8b9\xc3Q$\ +\x82$\x03\x96\xcc\xec\xc9\x15\xc6\x984+\xbek\x19\x05\ +x\x94\x08[\x1ca\x86oY\x86\xc3\xd4G\x9e\x98\x9b\ +\x8b\xff\x03\xb9\x10\xcfMi\xcam\x8f\x8e\xfcm'q\ +6\x88-\x00\xc5\xef\xdd=\x81>\x83\x88z\xce\xa0c\ +p\x5c\x9c\x1ao/I\xe2`\xba\x009\xdc\xa9m\x03\ +\x14\x9a\xc7\xa2.+\x85\xc1@\xf0:j\xd9\xd58s\ +(e\xe8Q\xb1]\xa0qP\x0eO\x1dc\xb2\x97\xec\ +`(\xe5\xe5\x18;w\x8d\x11Q\x81\x86\x0b\xd6\xeb\x03\ +\x80\xd3W\xbc(\xda\xd4\xccQ\xb7\x03TV\x80\xa3\x0b\ +Bj\xdc*\xb3\x1cM\x8c\xa2\xbc\xbb\x7f\xb4\x15\x92Q\ +\xcc\x85W\xb5\xf7j\xd98\xc0\xee)%\x0b\x02R\xfd\ +\xc6\xdd7\xc4L\x01\xa02\x802z\x00\x19\xf3\x80j\ ++pE\x81g\x8f\xa8\x9dc\xde8\x87\xa99/q\ +Jb\x8e2\xc5j1\xf5\xe7\x06`\xc9\x0c\xe8\x1b\x1e\ +\xb1\xb2R\xd5O\x86t\xc0b\x03\x18\xab\x9a\xef\xec\x0f\ +\x19k\xda\x0b\xa5\x91\x10\xad\x0d\xebu\xf2mcl\x00\ +\xb0\xe7+\x95|\xf3 \xc3E\xbb\x03\xf0\xc9nd\x7f\ +U;C\x22i\xda\xc0*m@\xb5\x8e\x83G\xfc\xa8\ +\xdaE\x861Q5\xe8\xa8\xe5\xceW\x1c&5\xddu\ +\x9fh\xc7GLL\x7fs\xeb\xae\xad\xedm\xc7\x98\xfc\ +\x13\xf7jS{.\xad\x07]R\x88\xb7]c\x8c\x09\ +\x90WZ\x91\xee/\xa7\x95\xc8y\x1e\x01\xb8\xdax\x0c\ +\x88\x88@\x09\xcc\xab\xfb@\xe6\xb5\xf6\x19f \x07\xd5\ +\xb9\xcc\xbc\x17`\xe5\xdf9~\xf6\xa3\xfb4%f\x95\ +q\xb5\xefi\x5cD4\xb7\xba9\xd0\xe6\xe0\xd0\xba\xa7\ +\xdd\xf3\xfc?\xeb\x86\xca\x8er\x0f\xb0\xe0\x90\xdb\xdf2\ +\xa9\x18(\xf1\xab\xf6\x1f\x1ac\xd2\xc8\xf1~J^R\ +\x82U\x00\x13\x8d\xc03H\xe9\x00\x00 \x00IDA\ +T\x1a5\xfb\x98\x92\x02<~I\xd7\x1e\x0a\xf3\xaa\xba\ +\xa7H\xb8\x98?\x01\x1aFA\x98\x19\x05\xb8+A\xb1\ +\x7f\xdc\xef\x01vJT\x8f\xf6\x00\xc7_i\x0b`$\ +\xf6\xa6D\xa0\xf9m\xc4-u\xed\x91@\xc1(\xd1V\ +\x8cz\xb8\xf5\x01\x00\x08\x8ch\x0e(\x01\x10@\x0b\xb0\ +\x04\x12=1\xc7\xee\x01\x8a\xdd\x0b\x02\x8dh4T\xa0\ +\x048\xc7\xb0\xf1{\x12\x0b\x80BL\x82\x94\x0eV\x82\ +P@\x84\xd2\x8f*\x0dhh%\x00\x15 {N\xeb\ +* rO\xa3\xb8\x0bT\x05n\xc4^\xd3F\x19\xc3\ +\xac\x80k\x00\x06`\x09`\x98\x92\x93\x02\xac\x01\xdf\x80\ +\x0b\xeb,\xc0\xed\xb5\xfa42\x94\x04\xf8\xdc\xeey~\ +\x0c\xff\xb9\xb5\xc3.-\x00\x81\xa7s\xee\xf3\x0a\xb4\xbd\ +\x9f\xd7\xf1\xf9\x15\xb4?h\x11\x01\xc6\xb5S\xd5\ +\x1d\x84\x08\x15F\x9f\xfbM\xc9\x1a\x91\xce\x06\x9cTW\ +\x8c\xf8%\xfb\x97\x8d1\x95\xaa}$m~\xed\x0f\xfb\ +E@\xc3\xce\x01\xc0\x94\xe6\xb0O\xecXJ\x84\x04\xa4\ +\xc5|\xd3\xae\xf0~cL\xcf\xa7M\x1f\xbbF{\xc0\ +y\x91\xd8P\xe2\x94\xfb\xa3J\xb3\x00\xad\x00)m*\ +9\xe4\x12\x1a\xce\x09\x00[{?\x7f\xa7\x9d\x18\xbfP\ +i\xe55\xc7\x98\x98OJ\x0b$\x1a\x04\xf6^\x8f6\ +K\xceO\xad\x0b\x80G)\x93s\xa7=(\xff\x85V\ +\xc1\x99c\x1c\xbf\xdfd\x8ci>u\x97\x900Q\x8a\ +E4\x8c?\x11\xc0\xa4\xba\xc9\xb8/dp\x01!2\ +\xe3J\x02\xd8e\x0c$\xc0\xcc\x93\x97\xb11\xb4t\x07\ +\xe8\xdd)\xf8\x11\x18\x0e\x98q\x02C\x01\x98}\xcb\xcf\ +\x044\xa9\x8d\xa6]\xd1\xa9\xdd\xd6\xe7\xd0\xda\xec*U\ +\x15\xf8\xd8\xaf\xfc\xb6\x00\x1a\xe5\xdf\x01r\xf8\x0d\x98\x1d\ +\xec\xa8\xfbB@\x8c\x09\xa4\x14\xce\xfe\xd2VM\xc6\xdc\ +\xeb\xc9\xf8\x02\x0a<\xb7\xfb\xd3\xbd\x84\xe1'\xc0\xf3\xfb\ +\x98#\xf6\x8f\xe7\xb3\xef\x00\x12\xfe\xde\xf3\xca0\x0bD\ +Q\xcd\x01s\xbd\x86\xdc\xdf9\xbf\x98YiOX\xfe\ +\x95\xccv\xefV\xd0\xdb\x9f\xb3\x17\xee\xd1N\xa1?\xf3\ +\xc2\x8cH~\xedi\x99y\x9fK\xa0.\xb04O\xe2\ +\x91\xde}\xc2\xfb\xf8=\xfb\xe6\xe2\x80\x01\x81\xb8y\xf0\ +\xfe\xe2\x04\xaf\xd7\xbb\x1a\xb0\xdf>\x87R\x08v\x06@\ +\xd3\x99\x0e\xfcV\xf1\x8cs\xd0\xbb\x16\xd8\xdf\xbe\xfb\xfb\ +\xce\x00u\xae\xed?\xf7\x82\xcf'\x1e\xf63&\xb3\xd2\ +,\x00\xa4\x84\x97v\x9cJ\xb0\x12wVb\x14\xb0\x87\ +\xf1b]:P\xe39\x94NGC\xac\xe6'\xe7\xe0\ +T]\xb4\xc4\xff>\xb0\xe4\xd46\x8a\xca\x9b\x97\x06`\ +[\x06\xf8S\x8bK\xbd\x8at\xfd_\xc9,~\xc1d\ +\x88\xf6\x8b^\xfa\xb6A\xc6\xf4\xed'Cb\xc3\x9e\xb9\ +\x90\x1c\xb7\x9f\xc7\xb6\xb8\xe1t\x10\x94\x10p\xf4P=\ +\x00\x02W[\xaa\xd17\xf1>\x1b\xa6\x19\xb23~r\ +\x19\x9b\x08\x0aJ3\xb5q\x8e\xb3\xf6k\x03\x1f\xb9\xe5\ +D\xc1\xfb\xdeel\xb5o\xc9\xc4V\xad\x19\xc4\x9a\xd8\ +\xcb9\xa9e\x95\xe9\xbdG\x1c\x0e\x8e\xa4\x8c\x08\xaa)\ +\x87\x94A\xebm.\xcc\x8f\x8b\xff\xff\x10v\xe7\xf1\xfb\ +\xedS\xdd\xf8\xcf\xbe\xce\xd7p\xe2\x84c\xaa\xcc2\xcf\ +d(3eH\x08?Cq'\xb7\xe8\xa4\xe9\x8e\x06\ +C\x85R\x87FE\xe6\x84\xcc\xa1\x92\xc8\x98\x88t\x17\ +R\x99B\xc2\x91\x84c\x8a\xd31|\xaf\xeb\xdek\xef\ +\xf5\x5c\xfb}\xd6\xf7|\x7f}\xd6\x1f\xd7\xe33]\xd7\ +\xde\xef\xfd~\xaf\xf1\xb5^\xab#\x05\x04\x96X\x9c\xad\ +;\x92:\x10\xb4\x07\x86\x0c\x19\xfa>\xdf\xb3\xf7\xdc\xd8\ +P\x0e\xb2W\x0e\x93\x0cm\x06\x1a\xc55\xe0\x80\xf8\xbb\ +\xdc\x88\x05!\x15\xe0R\xf46h\x1a\xdaR\xe0\xa0v\ +\xc6\xa4\xa9\xac\x806gF}\x0e\x8f\x96\x1eK$s\ +\xb5\xbe\x02\xd6\xdc\xa7\x0b\x84\xf7\xbe\x1bds\xe9\xb5\x7f\ +\xc0V\x11\x5c*rO\xd9\x14\xf3\xd2\x0b\xf8\x87\xc3\xfe\ +f\x08\x90\xd7q\x08\x9e\x97\xd0\xb0\xcb\xe6\x98\x9c$\xd3\ ++6c\x90\xd6$E\xab\x84\x92\xeb\x14xJ\xa4P\ +\xe0\x14\x0c(\xfdm\xd2\xa1M\xc8\x9e\xe9\x05\x87o\x0a\ +\x19X\xb0\x7fr\xad\xc8\xedn\x1f\xb2\xad\xd7\xee\xc1!\ +\xf3\xeb\xd5B\x86\x80_\xef=C\x9e\xec\xd6\x05\xa9~\ +CB\xa8;TL\x00\x9f\x90w=\xbcE\xeae?\ +\xc9\xac\x0b\xe4)&\x95\x0b\x8a\xff\xd3\xb9\xff\x1f\x9a\x01\ +\x94\x9e\xde'$\x9b\xfb\xdd\xd6\x00\xf4\xf0+\xe9H\x83\ +\xc0\xe7\x9c\xf0B\xe2p\x90\x90U\xdei\x80\xea\xe7\x01\xc6n\ +_\x15V\x8e\xd9:\x8ai}\xb0_\x19 %\x1c\xb9\ +`/\xbf\xe46]\xa0\x02\x02\x1bME,*\xc9\xef\ +\x1f\x16Z/e\xb8\x8d7\xcc@\xf2\x8a\xc3\xc6\xda-\ +&f}\x9f\xb1GB\x02A\x851[\x04\x16\xb6\xe2\ +\x9b\x0f\x06\x89\xc2I\x07xw\xe9\x90\x81\xb5\xdb\x03t\ +\xd0d\xe6\x90\x1d]/d\xa8\xe0K \xa4\x03S\xa4\ +Z\x1c\xd6]\xeb\xf1\xb4~z_\x19r\x1b\x06I\x9f\ +\x16\x82\x9ei\xf2\xe0[\xc6\xaf2\xe1\xc6\xf00@\x1b\ +I\xdc\xfa\xf7\x1d\x22d]\xfb\xc1\xf5\ +T\xaa\xf4L~o\xc8p\xfd\xbf\x90\x01\x9e/\x8a[\ +\x06\xfcV\xb9\x1fp6x~\x8d<\xb1\x02\x14\xd0h\ +\xe4W7_!t\xfb)d\x1b\x9fSl\xe5\x09M\ +>\xf1\xa6'\xde\xe4\xc4\x9b\xcc\xdb\xeb\xf1\xbb\xdf\xd9\xcd\ +\xfbvw\x8b\x90\xf9\xf7\xff\x1d2\xf4d\xca\xbc\xaa\xe0\ +H0\x19\xd3iL\xa1\x1eb\x8e\xd8\x1f$\xbb?r\ +\x97$\xf9\x011R\xc1\xdb\xbd#d~\x9fK\x85\x0c\ +dB\xc6=%\x17C\x9dK\xfb\x12\xd4\xd4\xf5}c\ +\x9b?\xfd\xf6\xcc\xec\xaaH\xaaP#_bh%\xe6\ +\xce\xca\xc4\xa3sD\xf1\x83\xb4\xeb\xe5K\xce\x80J\x08\ +H\xc8px\xe8%\x06\xfa\xd5\xe9`H\x8c\x22\x81\xfa\ +\xe9u\xeeyA4\xb1c\xcbH\xfb|\x09<=\x81\ +\x02\x0b\x1c\x10GB6\xe8\xf6t\xf9\x90\xe190x\ +\xce?\x83N\xaf \x03\xcc@\xb1z\xd8%j\x194\ +\xe44\x12z\x12@\xbd\x02\xe0\xff\xd2\xe0\xed_\x1a2\ +\xbf\xff\xf7\x87\xcc\x1f\xfb\xb7![EO\x02l\xfah\ +\xc8\xc0\xa9b\xdc\xa1\x8a\xa3\xfd\xc7qQ\xe9\xa3?\xf4\ +p\x83\xcc\xab\x94i\x810\xde\xca\xbe\x91\xc8r~\xfd\ +\xff\x833\xe1\xf2\x91\xd4\xf3\xa9\x97\x0f\xb7\x0a\xd9 \xaa\ +\x87\xf3\x84\x0c,\xdc\x02G\xe4`\xec\x11}\xe5\xf72\ +\xf4\x19\x80V\xcb\x81\xdei\xffG\xdfk9Ihv\ +\x9d7\x0e\x86\xfd\x99\xc8\x10\xf6\x85\xbeb\xb7\xe8\xa5\xb2\ +7\xb8($*\x93\xec\xa7\x10\x09\xa0\xd5\xc1u\xf2\xe0\ +\x81sC`\x0a\xe2\xddI\x84$\xf0\xb5*\xbc4d\ +\x98\xef.\x81#\x80\xc5\xad\x90\x1c\x14\xa5/\x9cw\xbd\ +\xf5*\xa0Z\x12\xae\x19\xb2!_\x90\xac\x16\x04W \ +\x9d\x0eZ\xb1\xa8s\xa8\xb3\xe5\xa9*\x80\x12\xc1\xf7\x9d\ +\xc3\xdc\xfb\x0eS\x15T\xd0\x9dC\xf6\x0b\xb4\x5ce\x18\ +\xe4?\x13D\xf4\x8e),e\x07\xb5\xae\xe49\xde\xff\ +i\xc8\xb0\x1e*\x9f\x99\xf8\xae\x9e\xf0\xb4;Z\x15 \ +\xe1\xca\xcf\xe0\xe8z\xaeo\xc8\xc4\xc0)\xe9/8\xf7\ +\x02#\x01\x07\xce\x90\xb7'{\xfa\xdf\xa7\xbf\xc21F\ +\x86\xa7U\x93\xde\xf8\xfaB\xa3\xba\x06\xb4\xd7\xcd\x96\xb8\ +\xabg\x02\xff\x9b\x87\x84\x11$\x01\xff\xe0\x01\x8bl\xd0\ +i\xd7/\x91@\x1f#\x7f\x15P\xb9\xfe\x0c\xa4\x8b\x94\ +0\xd7Q\xe0\x5c\x1c0\x02`\x10sH!\x01$H\ +\xb9\xe7\xaa\xd5\x89\xbdT\x11GJ\xaa\x95M\xa22\x11\ +'\xcbT\xa7wm\xef_\xc8\x00\xc8J\xfb\x8a^\xec\ +\xa4j\x12\xaa\x12\xbb\xd9\xa2S\xad@\xec\x97VG\xc8\ +)\x81\x98s\xa1u\x82\x9d\xe3g\xf6\xca\xa4\xf3\xc9\x1f\ +\xa3g\xd8\x17\xe4\x99\xcew\x0f\x0c{\x02\x80\xfde'\ +\x14\xa2\xfc\xdc\xff[\xb7\x8e\x04\xed\xfe\xd1Xhy\xea\ +\xb0\x1f\xf4\xd6\x0b\xa4!\xbe\x8c\xfdt.\xd9;\x811\ +{\x0a\xf9iJ\x80\x84\x80\x8a;\xbb\xe6\xb9X\x17\xd7\ +\xafe\xc14\x15\x09\xf5\x8f\x87\x0c\xe7E@'AA\ +\x8fA\xd2HP8\x7f\x0d\x09P~\x89W=\xe48\ +,\xbc\xafs\xe1\xff!7\xd8\x8f\x0e\xd9\xe7\xf7J\xec\ +\xf8;\xf7\xdd\x136\xbd\x80H\xcf\x0bd\xddg\xff\x9c\ +\xder\xe1U\xdc!n\xf0%\xae\xf0\xf9\x0d\x09\x5cH\ +)\x7f\xe7~\xdb\xb8\xdfJPI\xd4\xd0\x17\xf4\xa2\xfd\ +\xd7+\xf4\xf6\xb1\xc0\xbe'6\x5c\x97}\xa10\xe4\xb9\ +\xf3\x1f\xdc\xb7\xfd\xef\xb5\x7fNG\x80x\x15\x0f\xb1'\ +\xec\x0b;\x9a\x89u\xadG\x90\x01\x85\x00\x91X\xb0.\ +\xf4\x02}\xddI\x18}a\xff\x7fj\xc8\xc6\xedU-\ +\x7f\x19\x8f\x1d\xa9\x03}\x81e\x90\xdc\xfa\xa0\xce\x1c\x1c\ + \x90J\x068Y\x95\x175y\xcd\xe1 \x87y\xba\ +\xf0\xb0!:\x19\x03\x16R\xbd\x19a\x9e\xbe!Y\xd8\ +/4\xcc{T\xa1\xc5\xee\xa9\xa7\xdfuf\xafv\xf5\ +Z\xa9(\xa9\x80\x9c\xbc\xd0\x97\x9d=\xc0\xdd\x0f\x81_\ +@\xf0\x7f`\xab\x94\x14\xbb/.\x83P\x9f'\x0f\x0b\ +\x09\xca\xc4\xa1S\xb9\xb0.XY\xfb\x9c\xc6\x0ey\xb1\ +AU\xaeT\x82\x12\xc2V\x0a\x88c)\x91\xe0As\ +\xd49:H\x85\x04F\x0c\x91\x0d\xe2\xba\xb1\x1f\xeb\x81\ +\xb4.=`\xa0 zF\xc9\xab\xf5\xb7!\xfd\x9d\xf7\ +Q\xa9\xa0`|\xf9\x7f\x81O\xfb\xfcr|\xb3\xf7j\ +zI\xc8\xb2_V\x07\xe6\x09\x09ET\x09\xd73y\ +\x8f\x84z\xa6\xa3X_\x14:Vr$M\xa0\x7f\x14\ +@\xa4y\xee\x96\x8a\xe4|\xc9\xba~\xdd\xa1\xa2\x10\xf9\ +\xf6?\xdd\xc8\x04kl\xd3\x7f&\xd4\xe8\x19\xd9\xfb\x9e\ +\x01\xe6\xe11!\x03\x82\x01\x19\x911\x8f\xff\x1a\xb2|\ +\xde\xaa\xd08\xa0\x12\x1d\x09I\xe4\xb8[\x17\x09\x87\xfd\ +]\xf6w\xdd\xdfu\x98\xaf\x9e\xbd\xf0*\x8cH\x09\x97\ +\xbb\x0a\x08\xedi+\x89`}.v[\x06\xd0:\xd8\ +\x9f\xf6\x01C sI\xb1\x1dIC\xce\xd1\xd4\x13i\ +\xdc\x1f\x87P\x22\x81\xe3e\x9f\x0a(9N*\xe9I\ +FU\x09\x1e\xfbXe\xfc\xbf\xcbp\xaf\xd7\xa7\x92\xff\ +\xf96\xdf\x97\xa1\xf6J\x01\xf7V\x94\x7fl={9\ +\xbe\x12\xe9\xe1\xe1\x95\xc9Ap\xc1\xbc\x8fw\xa6!\xb5\ +\x1e\xafJ=(q\xc3\xa1\xd4KN\x0fq\x10Lw\ +\xd0k\xe8\xfc\x0b\xc4\xbe|8\xf3p\xe6\x02%]\x03\ +g\xdc\x1e\x9e\x87u\xd2\xfb\x9cz\xa3\xc6\x19\x8d\x9c(\ +#\xf9\x8bu\x07\xb17\xad@\xe6\x99\x83\xc00\xa9\x1c\ +\xe7\x18\xc1j\x19\xc0A\xa2\xd7\xf7K!\xf3~|[\ +\xc8\x86,\xaai\x04\xc8`%\xbe@Q\xe9\x07zc\ +\xe3\xaeX8\x04\xea~\x18f\x0e\xa5\xc4\xa8}\x0b\x12\ +\xae\xd7\xdf<{\x09\x00\x89\x1e\x0e\xa2\xd64\xf6E\x85\ +He)\xa1\xe4\x85\xd4\xe1\x90\xea\x85\xd5\x92\xe1|\xa7\ +\x9e\xac\x16\x0e\xfa\xb7A\xb1\xab\xd2m\x9fi\x0d\xcas\ +^\x1c2H\x8a@\xe4\xd9\xd3\x0e\xb9\x96 \xf2<\x93\ +]\xbe\x12\x85\xf4\xa8\x00\xc9\xfe\xe4@\x22\xaf\xca\x80C\ +/\xfa\xfe\xac\x90\xa1\x82\xa9\x92\xaa\xb2\xc9\x8e@ny\ +\x9f;\x84l\xff/\x11\xb0;#\xe4X\xc4\xd4\x82\x98\ +>\x0c\x0e0\xbbmL\xdcWC\x86\x04P\x8e\xc3;\ +\x9c\x142\x04\x9e \xf5\xfe^o\xa3B\x84\xf1\xc4\x12\ +\x1b\xd9;yx\xd8|\x1d\x0f\x1b\xec\x8b\x04\xad\xb1{\ +\xec\x86\xe7h\x7f\x08XTR\x04\xcc\x99\x18\xd5\xf2w\ +\xb8\xf2\xe1*\x87\xab\x0cS\x19Tt%\x18\xb1\xa3\xdb\ +\xdfZ$$\xc0Tz\xe8_\x01\x19\xfdL\x1f\x0a\xa8\ +\xe9I\xf6\xd6\xff\x09@\x04^\xbf\x9fs\xdb%\x80\xec\ +G\x88G~K\x87\x0c\xc7\xdd\x7fxx\xde\xc8\xed|\ +\xee\xcdsl\xf4\xc9\xe9/I\xbc\x09\xac\xdb\x18\xd6:\ +O\xfc \xe7\xd39O\xa4f!. 0\x9e\xb4\xc8\ +F:\xa8\xb0\x01\x09\x95\xef[\xd0{-w\xf6\xbf^\ +\xffO\xa5\xe3\x9e\xfa\xb3\x12}\x02\x88\xb4K\xd3\xedB\ +\x8e-`\xd4\x182\xe7\x94\xe3\xefy\xf0\x8f\xf8\x1d\xa0\ +\xea\x19\xd0A\x9e\x142\xc1\xfak)H\x7f\xa1\x90\x83\ +*\xe7\x02\x01\xfe\x0fd\x9b\xc4\xba9\xe8\x9ec\xae\x1f\ +v\xf1\xf2\xb7%F\x04\x98\xae\xd7\x97}\xd1\x03MH\ +,\x10k\xfe\x9f\xdf\xf7\x9em\x81Y\x83\x9a\xd7\xfe\xf8\ +\xe9E\xb6\x84\x8ds\xe6\xfd\x9d\x0f\x81\xbcu\x96\x08h\ +\x81j\x15\x96\xb4\xcc\xb07\x02&\xa4\xccX\xfa\xd9\x07\ +~\xb2\xcf\x91``?=w\xfb\x95\xdf\x0d\xa2\x0fA\ +'\x0e`O\x8fG\xde'\xb1`_\xf0'|~G\ +\x08\xb8_\x85I\xfb\x19\xbb<\x12@\xcf\xc1\xe7\xb7\xeb\ +,=\xe2\x5c{.}*P\x1b\x8fwL\xe0\xec9\ +j\x89\x0dN\xad/\x9cC\x8bA\x1f?\xde\xa7\x0e\xb4\ +\xc4T]\xbf\xf3f_\xba\x1e\xd7+\xc0\xf5}o\x05\ +\xf0{\xd7m\xfdz\x22\xa0\xb5:\x14BL\xa0\xefy\ +9\x07\x12\x1d\xfd}}o\xbd\xd8;\x89^\xe7\x10w\ +\x91\x847\x7f\xcd9\xf4\xff\xfdyt\xae\x05\xd7'\xae\ +\xf4\xbd\xbf\x93\x98p\xbd\xbe\xb2\x00Q\xdc^\xc9\xa1\xc6\ +n\x1f9\xdb\xbc\xcc/\x0f\x99\xc9\xc8X>n`m\ +O\xc7v\xba\xc2,W\x1cz\xd7C\x8d]uP\xf0\ +Z\x09\xe21\x1d\x19\xb8\x00<\xa0\xd8\x06#\xd9DT\ +\xd4>{\x08s\ +\xbetA\x83@8\xf3\x01\x14) \xb2\x86< \xd3\ +\x9f\xe7\xd8\x14\xcfE@E\xf1Q\x90\x14\x19\x07\xd9\x86\ +\x90q\x92\x98\xa0\x089\xfe\x1d\x222\x15\x1d\xe3\xd9\xbf\ +\xf7\xda\x13\x04\x0e\x08\xc5 \x91!\xe0\xf3w\xfe\xcfA\ +\xed\x95$\x06\x01\x1b<\xc8*E~\xd24KTD\ +\x92\xcb\xe1\xeek\x8f\xe8\xfc\xb7K _=\xc3\x1c|\ +\x07c\xdc'/\x19z\xd3(F\xad+*\xba\x0c2\ +\x84\x87\x16\x98\x08t\xbe<\x8c\x05\xe3\xa8\x1aC\xa8w\ +\xfd\xc6\xd9k\x7f\xb1$\x8bb\xe0\xf4\x88\xa9PP\x1c\ +\xef\xca\xca\x1eh\x99\x03l.|Vj\x0f\xb7^+\ +\x93e\x80s|\x0f\xc5X\x09\x80\xf3\xad\x86>N\xe5\ +\x12\x80%d9\x80\xf3\x01\x9d\xc7\xa1P\x15\x0d\x81\xa1\ +\xf5\xf7\x1c)F\x01\x8f\xb9\xda\x1c\x7f\x86\xdez'\xf2\ +\xc0y\xad\xf1\x8e?\xb8\x224T\xe0\x0ew\x0a\xd9\x12\ +\x1eH\xb5\xf6\xcf\xdc\xff\xfe>2\x9e\x7f:\xbd|z\ +\xf9\x80d0G\x5c\x8b\xcc\x09\x05\x01;\xbb\xe2\xfb\x97\ +\x0cl\xce\x97\x81;2S\xa4i\x14rft+@\ +\x82@9\xe4~\xe7\xf8~\xba\xc6\xd4\xac\xef{\xc9l\ +Q\xe08Q\xb0 \xfe\xc6\xae!\xbf3\xc6\x0eI\x17\ +d\x91\x8a\x0c\x83\xef\xfbG\xe5\x9c\xe4\x1c\x87\xb5{_\ +\xc8\x96\xb1-\xce\x04\x89W\xd7\xadR\x06\x22\xde!\x9c\ +\x0c\x88\xca\xb4\x8a\x13\xc7\x04\xf42\x912u\xdd8N\ +T,\xb1\xed\x83\x5c_e\x0dp*@\xcb\xca\xd9\xee\ ++!\xf3\xfb|2d\x80jg\xa0^\xeb\xe7\xbc!\ +\xcb\xd2B\xa5\xd7U\x8f.\xc7\x8cc-\x80\xc0M`\ +\xec\x9cD\x0a\x07\xcc9\x12\x80[\x1f\xfa\xc7\xf9KG\ +\xbf\x12}\x12\x15\xf6K\xb2\xc0\x17\xf4_e\x8aC\x95\ +\x86\xbc\x1cq\xbd\xfa\xc8+\x91w\x19;\xe5\xfc\xe9\xed\ +\xcbDQqdh\x81\x10\xa8s\xa0\xcd\x9f\x07\xad\x96\ +\xe0p\xbf\xf4>RG\x01-\x0e\x0b\x81kB\xb2%\ +>T\x9c\xaaUGb\x04T\xb9!s P\xaar\ +!!\x95\x8e\xec\xfe\x0a!C\xcb\xe032\xe04\x07\ +\xfc\x82!\x1bI\xe0\xfe\xa7C\x86\xd6\x86\xe4\x9e\xa8\xca\ +\x8b\xc09\xc9\xdfJ\xef8\xf7\xa9'\x8a[\x81\xdf\x80\ +\xed^BN\xc0\x94\x01\x1b\xc7\xacZ\x1c2AZP\ +\xfc\xd4;\xc5\x81\x90\x09\xcb\xc3\xf25|\x9e\x96\x04\xfb\ +I\xcb\x80\xf5\x055\xb7?!\x12\xdc\x8f1\xbd \xd2\ +\xf4\xb1\x96=\x011{e\xdd9\x8e\x02Z\xe7\x8b]\ +o\xbd\xc0\x95\xf0\xd3\x1a\x85\xab\xc6u\x0b|\xed7\x8e\ +#rG\xcf\x9d\xff\xe1\x1c\xd9\x87\x1cW\xfbP\xa2@\ +\xeb\x02\xfb\xc7\x8f\x90\x90\xe8\x90Z\x09[H\xb3L\x04\ +H\x08\xd6\xfe\xe7\x90C\xd4H\xa8\x81\xf2+\xd0\x08\x00\ +\x1b9\xa7\x80\x1b\xb9t%8\xb3\xf2\xca.A4U\ +e798\x0e?\x152\x04Z*\xb6\x12\x19\xfc\x1a\ +\xd7\xd9\xc7Sf\xa2\xbb\xc8\x5c\x91|A\x86\x0ahq\ +/\xb0\x13\xa6\xa8H\xec\xe0\x9c\xc1\x8d\xa45\xa0Ux\ +K\xff%\xf9\xe41\x95s\x81\xbc\xe7# \x02\xc5\x16\ +8I,4\xee\x99\xb2\x9b\xecNG\x0c\xf4W\xef\x8f\ +\xebA\xab\x88\xff\x93\x00\xe3\x87\xb8\xbe>\xd6\xcd\xab\x00\ +\x91^\xe8\x89e\x5c-\xfe\x9f\xfdu\xbd\x02{d\x80\ +\x120\xe9\xcf\xd7\xbe\xa2\x97%\xf4\xbd*hh\xa9\xb1\ +\xbe\xf6\x9b}\xcd\xbeIp\xf8;\xefk=\xad\xb7s\ +\xd5\xc6\xff\x15R\xa0\xb5\x22V\x00\xdd\xd8\xe9\xcb^\xf5\ +9\xf5\x9d\x1d\xde\xb9\xf4\x9c|\x1e\x04\x95\xf5\x12\xc0w\ +h\xba\xf5\xef\xa4\xc8\xbe\xb7\x7f\xd8\xe7\x9e`\x11Ot\ +\x88\xbf}\xe0\xf3z\x02\xc3\xdf\xd1K\xce\x9f\xf8\xc8\xfe\ +\xb0O\xdd\x97\xe7`\xdd\xacS\xab\x9c\xd7u\xd1\x97\xd6\ +\xc7>\xf2s\xe7\x16\xf7\x0d\xb2?H\x1d\x08E~\x8c\ +\xc2OrxhE4\xde\x9a_Q\x856\xfb\x0cB\ +\x12\x19\xa8\x82\x85\xeb\xd2\xba\x90H\x90)\xe3'\xebj\ +j\x0d\xff\x89\xfd?\xe2\x0d\x96\x1e\xb2w\xa5\xa2\xbc\xf2\ +0\xfe,\xf2\xafO\xce\x9e\x98oN\x07\xf8&\x83\x83\ +\x16\xe1\xc1\xe5\x07\xc8\xebm\x97\x01o[ \xda\xe7\xbc\ +\xcbh\xc4\xf6}\xd7`P\xc2\x9d|\xf80\x9f4\xe6\ +i\x9f\x9cck~\xb4U\xf6\xfe\xfd\x1cH#\x9e\xb7\ +tc\xd7\x98\x1b\x8e\xef\xf4/\xb3|`\x0b\xdc\x16\xe8\ +\xe2K\x06\x85\x89\x0b :e\xa3\x87;\xeaq\xff\xbd\ +\x91\xbb0@\xc5R\xcb\x11@^\x03\x9a\xf5\xb2\x90\xc1\ +`\xea\x91~{\x22\x19l\xdc\xbc\xee\xaax\xda\xf8\xd9\ +c{\xb8MV\x88\x8cW1.\x89!w\xc0:\x84\ +\xdfA\xe40\xb9\x0e\xeb\xdb\x03\xfdN\xfa\xe7\xab\x1fd\ +\xeb\xd4[5\x1c\xd0>\x86\xe6x\x9f\xd3\xd9H\xfd\xbf\ +\x03j_\x80\xfc\x9f?\x0d\xd9S\xf2> #~x\ +e\x8f\x9f\xfefz\xeb\xf4\xd6\xa1g\x8e\x81\x92Y\x0f\ +*\xbc\xeb\x0c$Zzn\xb5~ 7\x0c\xb5qV\ +V.@\x92/\x9e\x8a\xf3\xf77h\xec\xe2\xa8\xdf1\ +I\xb3~y\xbb\x8d\x82\x18\xffa\xb6\x1e\xbc7\x1d\x03\ +\x8e(H?\xc3g\xeeyB\x7f\x0a\x1a\x98\xbd\xf8*\ +\x8d5\xee\xab\xcd\x7f\xae\x96\x14\x86\xe4\xf69\x8d\xe0\x9f\ +C\x06G\x0a\xabvB\x92\xa7G\x86\x0c\x8e`\xef\x81\ +\x83H\xd0\x0b\x07\x81\x03\xb2)S-\x01\x80e;!\ +\xb0\x87\xef\xceq\x8a\xaf;\xe1\xf5'\xbc~\x0b\xac\xa6\ +'\x86\x0c\xac\xd8\x09\x09\x06\xe1\xe6\x08\x179\xa6J^\ +B\xd1+!\x80}\xf9#E\x96\xb3\xde?\x03\xa0\xa2\ +\xd8{\x167\x83\xbb\x06H\xb7\xcc\xc4e\xaf\xf00\xa8\ +\x99\xa0\xa9\x8a\xa0\xded\x0e\xbd^\xc3k\xe7\x1cs\xe7\ +\x07\xc9\xd8\xbb\xf2}\xfc\x9f\x002[\x06\xaa\x15\x02\xd7\ +\xc4\xf5\xd7i\x03\xb3\xba^\xc9\xc58\xf6\xae\x8b\xa1e\ +\xd0\x9cg\x09W\x01\xb3sI\xdfJ\xcc\xa9\xb4\x08\x94\ +8\x98\x0c\x99D\x10\xe8%R\xb8\xfc\x9c\xfd#B\x86\ +1}\x99\xa0:\xf1Y!C \xafB\xc9\x11\xd7s\ +f>\xb7\xa9\x0a\x02H=\xc9\x12\xb6i \xcb\x8e8\ +\xc7\x12P*\xff\x1c\xb5\xfb\xaf\xd3Uj\x1ci\xea\x11\ +\xd3,\xca\xf1h\x0eRA5%X@|!vT\ +f\xf5t\xe7\xb8\xb2Z\x7f$q\xd9\xb3\xa7\x12^\x88\ +9\x15s\x8e\x97\xf7\x17`\xe7\x98\xb3\xaaDJd\xe2\ +\xc8\xc8\xfb^\x10I\xd7\x19\x02A\x15\xc1\xd4\x0f\xc55\ +b\xba\x83q\x93\x1c\x17z\x5c\x0b\x9a\xf5G\xf6g\xdd\ +|n\x22\xdb\x90\xc2U\xcbHr\xe0\x98V\xa2\x02\x0e\ +\xa2[$r*\xb7\x129\x1c\x16-S\x90\x16\xa0\xf2\ + \xfc\xf9\xf7\xd5\xba\xe5>\xb4\xca\xb1\xef\xf63\x07\xf7\ +\x96\xcbI\xde\xc8mU\x889\x86\xce\x05N\x8b\xfc\xbb\ +B\x0ch\xb5\xc9y\xcc\xd5\xaap\xcf\x90\xa1\x22\xc7\xde\ +\xfbz\xc8\x22\x9b~7\x05\xc5y4\xdd\xe3!!C\ +\x02\xb8\xb1\xd5\xd7\xb4\x88l]\xaa\xf5\x15\x18\xa98s\ +\x08\xf5\x80\xe2l\xf1%a \x11\xe8z9\x90Y0\ +\x81|\xa8\xdeQ\xf3\xd99\xe6\xfc\x05\xad)z\xba\x05\ +\xa2\xce\xa7\x0a\xb9\xfb\xe5\x00K\xc0\xe0\xf0\xf8\xc7\x22\xe9\ +=\xe7qU\xecy\xda\x9f\x0a\xd8p\x03A&\xfd\xc2\ +\x22\x85\xe8\xa8i\x13\x89\xa8\x98~)d(\x98\x08\x90\ +\x9d[~\xa8\x04\x0a\xf2d\x89\x92\x84\x22k\x01\x9a\xfe\ +,d8o\x99\x98\xaa\x84\x1a\xa4\x02\xbb\xc2\x0fc\x07\ +\xe8\xd5\xc6z.\xe1P\x5cH\x89H,\x12d$\xab\ +\xecP#{<\xbc'd@\x0e\xb1\x87\xf6y\xef\xed\ +\xee\xd0n\x89Q\x15J\x01#=a\x1fH8\x09d\ +\xfd\x9c=\xed\xbd\xeb\x02\x5c\x90\xee\xde*\xd0\xc9\xe0 \ +Y\x9d\xeb\x9e(\xf0\xff\xae\x8f\x9f\xd8\xa0\xd7\xf5y\xfc\ +G\xf7\xedyK\x8c\x09 %\x02\xf818b\xb4\xac\ +(<\xe1xp\x7f\xec/\xce\x09\xdc?\x12\xdb\x9eW\ +\x9f\xfa\xd4{\xda\xfd\x9d\xfb\xb0Oz\x0bh\x0f\xfc!\ +\x17$x\xe9\xa5\xbe>\x9d\xcd\xbe\x8d\xb9\xab\x9ev\xa4\ +\xe1\xa6\x9b\x9c\xafq#a\xff\x97\xa0\x10wI\x048\ +\xbf\xfc\x0d\xfec\x0f\xfc}/\xf1`\x1fu\x840\xbb\ +JO\x88g\xdc\x9f\xff\xe3\xaf\xf5\xc0\xbfC\xe1\xfb\x18\ +B\xfb\x05R\xa4\xaf_\xbf.\x9f\xd3\x111\xde\xcf\xf3\ +\xe1'K\x5c\xf3\x9f\xc59\xae\xcf\xfaJ\xb8h\x19\xe7\ +\x17\xf3w\xb5\xe6B\x84\xf9<~\x14\x12J\x89\xcd\x96\ +\x08+d\x89\xc45N\x18\x09g\xe4\xa2\xece^\xdf\ +\x91\xc3\xb9g9\xd7\x0a\xad\x8fq\x1e1uu!\x0f\ +\xa3(\xb5\x06p<#<\xbdd\xbe\x0e\xe44\xe5\xf8\ +8\x80\x14\xb2\x050\x97=.\xffmI\xfe\xf6\x93\xdb\ +\xfb-\xf3r/\x9d\x95\xd8o\xdf\xc8\x8a\xa6G\xcc\xf2\ +\xf3\x1bTca1\x1e\xc7\x98\x08L\xc3-\xbbB\x1a\ +\xb6\xe7\x0f\xec\xc3\xe1`\xfcX\xf6\xec}\xcb\xb0ab\ +\x1b\x9d{\xb8\xfe\xa0\xc2\xb9\xea\x9a@X6\xe6\x0d\x16\ +\xa9\x03\xab\xc7H%\x07\x89W\xf5(\x0a<\xf4\xb8<\ +2!\xa0\xa0\xd72\xd0\x0f\xceL\xf2\xdb\x12\x02\xa2\x02\ +`j\x80\xccs\x1a\xea\x9a\xcb.\xe1\xc2\x11\xea=\xff\ +-\x93[\x06O\x80\xee\x80\xf4\xc0\xbfW\xfa\xfb\xc1\xf2\ +=G\x80B\xa7\xc8:yPo%\xe8?w\xdd\x14\ +\x96J\x8d^\xd8\xec\xa1\xae\x8c\x1a.\x04d\x82\xc8\xa8\ +\x92\xc5~w\xc3\x90\x05b:\x7f\x0d\x15\x83\x11\x12=\ +\xe5\xb8\x9a[g\x06\xed?\x07\x84F\x84G\xaf\x1b\xf6\ +At\x94\xbdypX\x22\x0c\xfd\xee\xec\x99}\xc8\x00\ +A5=\xe1\x89k\x02i\xde\x9d\xeb\x98\x8eW\xb4\xb9\ +\xc0Q1}\xd4\x00\x19\xf6\xbc[\xa5\xaa*\xbd\xd8\xc9\ +\x91I!\xbbz\xe6J\xfa7\x9d>}|\xfa\xf8V\ +\xe1\x8f!\x881\x06\x11\x84\xbd*\x05\xe6\xa6g\xa5Q\ +\x85\xb2zL9pH\x98\xf2\xfdT\xf0\x0e\xdf\x1a2\ +\x8c\xc5y`\x92hr\x04s\xde|U\xc8 b\x12\ +\xc2\xb8\xbbh\xc8\xfc\xfd\xd7B\x06E\x1bZ\xe3\x12\xdb\ +\xfe\xa9^X\x88\x15\x156\x90\xa93\xd2\xc0\xe1\xdc\xa0\ +\xf8@\xed\x9d\xff>\x1e\xce\xfdy\x9f\xab\xe7\xba3 \ +_\xcd\xe7\x9b\x08\x82\xd9\xa9Y\x03\xe0?\xcb\xf1\xa3\x14\ +\xb1\x80Z/&\xce\x88\xac\xe4\xec\xee\x1028\xae\x14\ +\xf0\x13\x13)\xa4\xf74[\x09\xfc\xff\xee\x8fw/\xdb\ +\xbdlI\x00\xcc\xb2@\xbf\xd7\x04C\x83\xf4\xd58T\ +\x19dl\xb1\x97\x0e\x19\x90@\xee\xcb\xba\xa8L\x82\xc6\ +\x0a\x088\xfe\xf4\xbbs\xf9\xfaL\xdcp8S\xdfV\ +\xe24\x11\x14\xbbk\x84\x0c\x81\x08\x87\xe7\xae!\x83\xfe\ +7N,\x13;\xd5\x02a:\xc5\xadC\x06\xfd\x04\xca\ +\x0ba \xa1# \xbeq\xc8\xc0\xae\x9cS0\x8a\xa5\ +^\x05\xf2\xfe9\x1d\x82>\x16\x10;w\x02\x08H\x17\ +\xe4|\xd8\xc59\x08\xf6\x13H\xb1D\x8e@\x17\xa9,\ +H8\xe4Q\x06&\x85t\xd0\x9a#\xd0I\xb2\xccr\ +,\xac\x87y\xe7*\xc6\xc6\xb6\xb1\xabX\xb0/\x14\xb2\ +=\xe7B\xb8\xbc!d\x08\x08$d\x04\x0a\x1cE\xd3\ +j\x1e\xb5\x8e\xf9<<+d@\x12\xe8\xe1\xc5\xd9\x03\ +9$\xc0L}\xbc\x7fn\xc8\xfcz\xd3\x90\xf9\xef\x9e\ +\x192\xbf>%d\xfb\xfc\xfd?\x85l\xbd\xd3\xd5\x83\ +hzD\xf6\xf0#\xb7\xab\xc4#\xbb\xc1\xce\xd0\x0b\x19\ +\xf0\xd6T\x96$\xd9\x9b\xfe\xb8\xef\xc9\ +\xca\x8b\x07\xfa\xc9<`}>\xb7\x03\xe1z\xfax\x8a\ +\x1e\xd0w\xb2\x0f\x1b\x85\x82\xef\x95\xfa\xfe\xea\xffzF\ +\xcc\xc1\x1a\xc76\x9e9|\xbe\x04C\xe7\x10\xe8\xf3x\ +9T a\xc6\xb6\x09(\xcdW\xc6\x0e}J\xee7\ +\x95\xcc\x84J\x1a\x0f\x84\xc3azS\x8e\xb5S\xd1\xb9\ +\xec,1\x86\xe7\xdff\xf9HB\x9b\x9f\xb8\x8d\x7f\x5c\ +\x02\x85\x1f\x1a*\xff\xa3\x029\xb3eV?\x95H\x91\ +'.\xad\x08\xb3l\x01\xd2\xee\xd2\xbbK\xed.5\x04\ +\xf0\xa62`5\xe6\xa0\xa8\x1c\x08P_\xbc\xde\xdf\xf4\ +\xe8\xb5\x82\xa1\x92^\x10\xdcdY?\xfcQB\xf9T\ +z\xde\x9e\x19l\x0efBZ\xb5$L\xf7\xcfqO\ +\x0f_{6\xcb\x919s\xed5\x07q\xae^\xe6\x84\ +\xc2\x1e\x18\xba\xf7g\x8fc:\x82\xfbW\x85\x0c\x0e\xa4\ +\x96\x99tL\x05\xa2*\x8c\xbb\xeb\x85l\xec\xd6\x158\ +\xc8`_t\xbe\xfb\x8b\x0e\x19\xe8\x9b\xa6\xa1e\x88(\ +\xb2$\x89;\xfcx:\xd0\xf4\x8cV\x09\xe3\x09\xf5J\ +\xa7\xc1/\xc7\x13\x09\xa4\x8a\x0b\x87\xcas\xd6+\x0d2\ +\xfd\x9e$I\xc2Q\xa0rc\xac\xd5\xaf-\xb2!x\ +\xae\x9b\x10/\x08\x9d\x8f&\xc4\x1dg\x85\x0a\xaf\x8ab\ +\x92\xa4M\xfb\xe9\xe8tt\xa8\xdc\xaatqD\x9c+\ +\x8e\x0a\xfd&\x01\x98\xf7[S2\xe8Yz*I\x02\ +\x91G\xd6\x98\x1cS\x02\xccK\xff\x93\x90\xe1\xb9\xa4C\ +\xb6\xff\xb7\x90\x8d$N@\xb7\xfb\xad\x90\xf9\xfb\x0b\x85\ +\x0cH\x06\xfa\x09r!\x13#\xc8\xfe\xaa\xc2\x92\x0e\xb7\ +\x04Q\x052\x9e\x83i%\x12\x03\x10\x17\x99x\xae\xc0\ +\x19\x89d\x06 e\xd8p\xa8\xd0\x9f\x1cXzMB\ +\xc7\xef9\xda\x12\x5cH\x00\xb3rX\x1c\x03?\x1f2\ +T\xce\xd21\xa9\xc0K 'p\xc9^\xe9\x82\x82'\ +\xcbz%\x00=\x8ft\xcc%\x90\x05:5\x95\x86C\ +\x01\xb9`\x1f\x9aZ\x90-\x0c\xd5\x22\xd7\xa7\xe5p\xf4\ +9\x80~\xef\x9cAVH\xa8\x80\x14\xa7=\x9b\xee\x1c\ +2\xf4\xc8\x0b`@\xddS\xaf\xd9\x07\x87\xc7\x86\x0cd\ +\x80IJ\xb8\xff\xcb\x90\xf9\xf5a!\xc3\x98\xc4\xec\xed\ +.\xb2\xaf\xeb\x9c}\x8c*\x8e\x82\xea\xf96v\x96\x83\ +\x85e_\x05U@\xe4\x9c\x83\xf0\x9a\xbe\x92\x1c\x15\xfb\ +\xcf\x85\x0c\x0e\xad\xc4\x1d\x87W\xebE\x92CV\xa0\xd1\ +\x1dP\x8e\x7f\x22;\xf4\xe4\xd6\xff\xd1\xa7\xe6\xca\x9b\xee\ +\x91\xcf\x1f\x22\xab\xc6\xb9\xe1\xdaP\xa1\xd1J\x96\x88\xae\ +JX\xb8\xceD\xaa\x18SX\x1c\x1e\x0a\x06z\x9fA\ +\xdd\xf5\xd2\xd3\xaf\x0fZdk=\xe0\xd8\x9ag\xcd1\ +\xcfB\x82\xe9\x0f\xc5u\xc2\x9f\xd0\x13L\x1f@0h\ +\x95\xb2^\x1cp\x0e\xab\x04\x85D\x1f;!\xc0\xf2\xbd\ +\xeb\x90\xc8H$Rqi$\xe2\xb3\xc6c\x0a\x1cT\ +t\xf9+\x0a:\xde\x0fifNg\x81\xc0\xa81\xbb\ +\xc85\xd9\x03-L}\x1c\x1cn\x05\xfe\x0f\xbf\xc7s\ +J\xbf\x07gU\xb5\xe6\xd1\x8bX\xf3!@z@\x0f\ +\x02,\xd0\xf6\x9c\xb4x\xf0\xab$j\xf8\xe7\xfcG\xd7\ +\xd7Y\xd2\xad\x13\xbf\xc2\xfev.\x90\x07\xd2{\xbez\ +\xc2\xcc~\xf2\xf3\xfez\x9c9\xf3\xf5=?\xd0\xd8\xc1\ +\x8e\x04P\x81\xf7>^\xdb\xd8\xbc\x0a|\xd8m\x898\ +\x15v\xefG\xdfi\xc1\xd4\x22\x01!a\x0c+\xd2\xdd\ +>v\xd6:\xf9\xfbLT\x95_d]{\x0b\x83\xcf\ +\xef\xbd\xe4\x02\x7f\x90{v_\x80*\xa1\xe0\xb9yu\ +\xbfm\xbd+0\xed\x1cN\xd6\xc1yl\xe36+\xbe\ +a?$h\xac\xb7\xeb\xf1\x7f\x9d\xcc\xdb\xbe\xff\x9f\xb8\ +\xc4\x9c\x13\x9f\xd7\x9f?\x7f\xc2\xef\xfb\xf4\x82\x8e4\xe8\ +-\x05\xceC\xe76\xe9-\x01\x9d\xdc\xd1\xe7\x89\x97|\ +\xae\xfb\x95\x90B\x02\xed\xb9\xf4\xe7\xa3\x10#\x1e\x90\xc0\ +E\x9e\x9f-\xe0E\x8e\x0c\x19&\xf1\x8e\xb3,\x13\xd9\ +\xd5\xca\xc3\xcfH\xfb]\xd3\x83\x14\xa8\xf89\xaeC\x01\ +\xd8:\xb9\x8e,XH\xa4\x1eY\x1e\xc7W\xf3\x1f\xc6\ +J}\x0f\x08\x91\xe9\xb51\x0c\xc8F\x16\xc0\xef\x00\x11\ +\x5c~;\xce\xfb\x0e\x88\xdd\xa9i\xe8\xaf=\xf4D\xbd\ +w\x01M\x9f\xb0\xbb_\xc8\xfc~'\x87\x0c\xac\xed6\ +\xa8\x80=\xeaD\x97\x19\x1c\xe74\x9cUI\xc3n\x1b\ +\xee\xf2\xe5s\xa1\xae>\xf4b\xc8\xfc\x82\x982pI\ +\xaaR\x154=\xe1*\x89\x14)\x05\xcb1w\x00,\ +p'\xe9\x11h\x09P\xb0\x0a\x7f&!L\x0e*\xee\ +\x00\xd0\x7f\x07\x8c\xc2\xb0\xa19p\x0eXO\x00\xf4\xd7\ +~Pz\x80\xdf[\x00z\xc5\xbee~+\x01\xa2\xb2\ +\xe4\x95\xc1\xee\x0a@ \xdd c\xf5\xf7\x1c\x08\x10\x5c\ +\x86o\xab\x18\xaf\x86\x1e\xeb\xb7\x0c\x9a\x0c\xfa\xc3\x8a<\ +m\x1dsu\xda\x9axQ\xf9^\xc2\xe4\xe8u~x\ +\xc80\xc6\x12\xe4U\xcf\xe2\xbb\x16\xf0\xf7jH\xbfq\ +\x08\x8cBM\x8c=\xb39\xe6\xb2*\xeb\xcfY+\xf4\ +s\xe0\xfdC\xd3\x0f-\xfbg\x85\xc8\x0a\xb8<\xc7\xbf\ +Z\x06\x1fm\xcf\x93\x03\xf5\xbaLl\x80^\x22\x1b\xb3\ +\x0e\x14\x89\xe7\xdeIa\xfa<\xd4\xbb&K1\x05\xd0\ +\xa1\x96\xb8\x04@`\x05\xc8\x9fIC\xfaS\xc9\xb9p\ +\xc3\xc3\x8d\x0e7\x1a\xc8\xfdT\x8a\xa6\xec\xf0xE\x06\ +\x0a\xcf]\x13.\xd3-\xd7\x80\xb3\xd8\x8c\xb14\xeb\x99\ +\x13\x80q, >\x909\x19 \xf2\xb5\x90\x132\xb2\ +\x89\x9e\xa5\xecy\xcd\x0a\xed\x1cv\xaf\xef\x7f\xaf\x0c\xe0\ +\xbc/GF\x05K\xe6\x93\x81\xe6\x88=&d\xd8\xef\ +\x7f\x93\x0e\x06\xc8\xa7\x1e`\x86\x22\x1dO\x95\x98\xe9\x1d\ +!\xf3\xeb\xc7W$Fq\xa1$\xf4\xf5p\xeb\xc3\x82\ +\xa4\xf2\xb9\xd3\xe3C\xe6\xd7\xcf\x86\xcc\xaf\xcf\x0e\x19\x9e\ +KB\x12\xcb\xc1\xef\x90[\xbd\xb8\xd8\xff\xe9-\x89J\ +\x09\x80F\xcaYs_\xb5\xc6\x80zkMP\xe9G\ +\x0a\x97c\xd3\xf6\xaf\x0c\xd9\x0cLq'\xa8(\xfd\x5c\ +\xc8\xf0\xdc$N]\x87\xb1`*\xe0\xf42\xee\x02\x9c\ +\x1bH\xb7\x04\xd22\xf6*~\x029\x06\x0fR\x04\x12\ +#\x9f\x939\xf7\xd5+k\xacPBf;\xa9`%\ +^2\x11P\x9c3\xd7\xca\x96\x0e\xe7)\xcfG\x9d{\ +\x81\xad\x9ey\x95N\xf6\xc2\x98-\xe4e\xce\xf3\xaf\x84\ +\x0c\xf6BbC\xe5\x80c\xe3y\xd0G\xce\xbf\xbf\xcb\ +\xd6\x9f\xc3\x8f\x85\x0cv#\x11\x03\x95 \xa5/T\xca\ +3\xf0<\xdc.d \xc1\xe3\xe0i\x19\xb2\x1e9\x0e\ +p\xff+!\xf3\xdf?#dH\x10\xdd3d\x0b\x84\ +\xaa\x02\x9a\x81\xd6\xd1\xdf\x0e\x19\xb8#\xb2\xc2_,\xe4\ +\x1c-vR\x82\xe7;\xd7sS\x01!\xa8\xbd}\x93\ +-r\xf5\xfc\xe87\xe7\x5c\x8b\x95\x16\xb2_\x08\x19Z\ +\x09L\xd1I\x92\xc7J\x1cq\x1c!- \xa2TN\ +Ur9\xd8Y\xa9\xad\x0a8\xc4\x00\x04\x8c\x96\x16\x09\ +K=\xdfZD\x044\x107\xa7\xae-m\xe5\xc8\xf3\ +#\x5c\x97J\xa5\xa9\x19\x12\xbf\x02n\x09\xa9\x5c\x97r\ +\x18% \x14(\x92]\xbf\x1cD\xfa\xe5\xbe!C\x05\ +\x1a\x84\xbfU\xf6@\xe0%\x0e\xab\x85G\x02![\xbe\ +\x90\x95J\xb8\x14y(D\x9f\xfbt\x1eq7\x99\x86\ +\xa0\x152\xc7U\xf1/p\xd2T\xcf\xfc}\x179\xe1\ +\xf0\xb4\x90\xf9\xe7\xd7\x0e\x19\xcegrK\xd4z;\xa7\ +\xf4U\xfe\xbc\x10\x9d\x900z\xc2\x1f\x162\x04\xe0\xf6\ +\x87)M\x12\xb6\x9d$\x8d]\xef\x81 \xff\xcd\xfa#\ +KT\x10\x10\x90\xd0\xd7\x9e?\x84@\x06\x88\xd5*g\ +_\x08\xd0$6!u}\x9eD\x05;\xa3\x97\x9c_\ +\xca\xfe;O8\x87\x90\xcc\xf9\x1cz\xc8\xfd\xf6\x9e\xfc\ +q\x9c\xf7\xc8)\xe4\xdc\x98\x02\xd2\x13\x00\xbe\xf7\x9c:\ +\x12\xc0~\xe9\xad\x05\xfc z\xd3|t\x9f\xeb\xba\xad\ +\xabu\xe0\x7fy\xed\x10v\xc8\xbbD^V\x82\xda\xef\ +}\xb9n\x95~\x89\x10\xd7-\xb0\xb4>\xfd>@\xd3\ +U\xfc{\x82\xa6\xb7\x04tn\x00\x09)\x85\x996\xdd\ +\xa8>\xbf\x93\xea\xd9\x9f\xee\x9b\xff$@g\x17\xfc_\ +OD\xb8\xfe>\x16\xba\x15\x00\xcb\x8f\xeb\x89\xb1>U\ +L\xc0/\xae\xf0\xbd\xeb\x14\x8fX\x7f\xf1\xa7\xf8\xa5#\ +\x00:\xe2\xc0\xf5\xb9\x7f\xaf\xd6\xd9}\xb9_~Lk\ +!\xa9\xf3\xe0\x1c\x88c \x0c\xed\x07\xf6\xdc\xf3\xcd\xc2\ +\xde\xeef!\x03\x17\x90\x84l\x16\xb4\xca~C\xae\xe3\ +\x14b\xcf\xad\x9f\xb1\x9b9\xdd\xa9\xec\x8cD\x8f\xfd\xce\ +\x0e\xf1gn\xb9\xc8\x09A\x9d\x1e\xe4\xe9\xbe?Rd\ +Fo]{\xaa\x177\xff<\x15\x0c\xae\x0b\xf9\x95|\ +\xe0\xe38\x07\x99\xab\xc8\xc8\xbeu\x98\x0b+P\xcf1\ +(z$\x8b\xad4\xc7\xc5\x14\x9bu\xf4>\xdd}\x98\ +\x93\x1aa\xf3\xb7\x0c\xad\x07\xc91 \xa0_\xd4\xf7\x95\ +\xb2\xc2w\xc5\xc11\x14pp (V\x0a\x91\x82D\ +\xbe\x82\x84\xc7\x02\xea\x15\x04\x85\xc4\x1a?V\xc8O\xc8\ +@\xe0\x9f\x87\x04\x04\xc8!\x87\x96\xc3\x94\x95\xaa\xda\x80\ +\xc9j_l\xea\x9d\xd5\xd4u^.\x11\x0f\x0cZ\x8e\ +O\x19\xe6\xea\xae\x8eq\xaf\xd0\x1f\x8f|\xcfk\xef\x9d\ +\xe9\xbd8e\xe9\xdb8@\x0a\x99\x01I\xe8WA\xcf\ +\xad\x83\x83K\xe1\xc9\x88\xf69\xf7*=\x17h\xe3\xdd\ +\x1cx\xd7'\x81\x92\x8e\x226\xdc\xeae\x81\x88H\x07\ +\x11{\xb9\xcc\xda\x12hE\x05\xf9\x8b!\x83c\x8dD\ +\xea\xc8\xf2$\xd6\xca\xe5\xb5\x07\x05=\xceC\xfd|*\ +\x82\xf3\x0f\xfb\xd2x\xae\x1b\x84\x0c\xf3\xde/\x9a\x8aT\ +\x85\xf5\xae+\x12\xe5\xf0\xb2\xc3\x1f/\x95\xdaP\xdb\x1f\ +\x1b\xc81U\xf8\x91\x91e\x80\x163*\x96\x96\x12\xcf\ +\xe7:\x99`\x01\x05\xfa\xb7\xcc\xfc\xda\x97\x1c,H\x9a\ +\x84xV\xe5\xea\xeeY\x11\x7f\xf9Z\x11\xd9_#d\ +P|\xe9pT\xc5>+\xe7\x87k\x1c\xae~\xb8\xfa\ +\xe2h-\x8e\xeb\x89\xa7\x86\x0c\x99ql\xe9z\x8c.\ +\xb1:\x12\xc5\xa2\xaf\xe2\xcb\xc1\x93\xa9\xa4h\xb1\xfff\ +\x8fx]\x0f\x16\xf2\xdbg\xc0p\xed5\xb1S\xe7Q\ +O\xadD\x9c\x80\xd9\xf7\xf6U\x9f^\x22\xc0L\x8e\x91\ +\x0a\xc4\xcc\x8d\xbe}r\x18\xa4\x1e\xa8\x1ekc$\x7f\ +8\xc9\xe2\xfc\x9f\xf1\x87ze\xb3\x92xxAVj\ +o\x97\xd3\x1f>\x172\x90\xcd=.\xd9\xc4U\xa8\x18\ +.\xeb\xd3\xc8,k~\xb2\xcc\xadJ\xa7\x80\x92\xe3\xd6\ +\xb89\xca!r\xee\xb3\xe2]s\xe0\x13\xd1\xc0\xd1\xde\ +\x7f&d\xd3\xd7\xbb\x9f\x0f\x19\xd8\xcb\xb3\x17\xbc\xf4\xfa\ +\xef\xaf-)*i\xa5\xffA\x8c%\xe0\xe8\x0f\xe4^\ +\xf4\xa3D\x86\x9e6\x01/}H_\xa8\xc8\xbe0d\ +H\xf8\x0a\xc0<\x07\xbd\xf4\x12\xc6\xb8*\xe8C\xe4;\ +\x9e\x17\xc74\xc9\x0dk\x1e:\xb6\xf9L\xe0!\xcf\xa1\ +G\xaa\x82\x0b\x81\xe4:\xdb\xfe\xadD\x86\x80\x034U\ +\x85\xd6~f\xb89n\x1c#\xfb@\xc2#\xa1\xa9K\ +\xcb^ \xf3^\x142@>A\xcd\x19\xfc\xb4\x83E\ +Z\x0aR-\xe1\x81\x14\xef\x5c![\xa2\xaf*\x9c\x99\ +0\xdf_;dK\xcc\xefO\x0b\x99_?\x1f2\xb4\ +,\xe9\x1d\xe5\xc8a7\xbfi\xc8V\x917M\xa5\xf6\ +=\xc7W\xc5\x98=u\x1e@\xefUP%X\x04\xd0\ +*\xf8*\xe68WT\xe43\xb1\x06\xb9U\xdc(\xae\ +\xc39\xe4\xc8\x83\x96_>dH\xb0p\xb09`\x12\ +\x1a\x12\x8e\xf4\x8cD\x14\x7f\xc4\xf3\xf7\x9cMC\x12(\ +?dmy\xab\xfd\x00\xfa/\x11\xa1\x02\x0b\xa9\xa2u\ +\xe2\xd2!\x83\x9dL\xbf%\xf0_\x0b\x02\xec\xb4\x90a\ +\xfa\x8f\xf3\xc0QE\xf6\x0c\x99\xa0\xd5FA\x87\xc3M\ +\xbf\x08l\xac\x97\x8a\xfc%C6.\x9bBvz_\ +\xcf\xd1\x18b\x0e\xba\xc4\x0dD\x9a\xc0\x0b\xa7F^w\ +\x8d\x97M\xfd\x5cv<\xf5\xcc\xf4\xe2\x90!\xc1\xe1\xbc\ +\xbbN\xcf\x85=H\xc7\xb7\xecg\x06\xf6\xf5\x1c\xf4\xf6\ +J|\xf3W\xed\x03\x897\xe7Ub=\xa7\xa3\x94\xdf\ +\xd4\xc6&W\xe0\x96\xfb\xb4\x10?\x90\x07\x12\xc0\xfcW\ +~\x18\xbd\xd2\x03Y\xfew\x92\x9a\x95\x1f,\xb1\xe6\xfe\ +\x04\x8a\xec\x01\xbf@\xa2V\xa2\x84\x1f\xe6z%\xbe$\ +@\xecK\x813;\xde+\xf3\x0a:\xf4%\xbf\xca\xfb\ +t\xb2@\x9f\xe7\xb5\xbfo\xe7\x00h\xad\x00u\x0e=\ +_\xeb,\x90\x15\xa0A\x82\xb8\xfe\xfey\x1dQ\xab\x00\ +\xc4\x0f\xb3\x8f{\x80\xcc^uh~O\x00\xa8 \xe3\ +.p\x1d\xb8\x16zE\xf9x\x09\x00\x5c=*\xfd\xf4\ +\xa7u\xf1w\xfd\xf3\xe9e\x89!\xcfE\x02\xc0\xb9\x11\ +\xdfurA\xeb\xe8>T\xec\xfb\x18J\xfb\xdf\xe7\xf5\ +\x9fw.\x10\x9f\xc7\x7f\x11G\xb0\x7f\xd6\xbf\xb7:\xf6\ +\x16\xe6\x1e\xb7\xf8\x7f\xf7\xdb\xa7\x98\x89\xa7\x90\xe7A\xa2\ +\x09}\xd9\xf7>%\xa3\xef\x1b\xdfw\x92B\xc85\x88\ +\xc6l\x05\x9d\xfe&d~\xbdp\xc8\xa0\xe7}~\x1f\ +w\xe9:}~\xdf\x8f\xee\xd3\xf9\xea\xebb\xbd \xfe\ + \x092\xb1u\xa4H\xc9\x5c\xd8\xddB\xf2\x01\x7fa\ +\x1b\xf70]<$\x17\xec_\xf3\x83\xbf\xba\xf5\xf4/\ +\x06\xf3r\x0b\xf4x\x96\xc1\x112.#\x03r\xbd\x9c\ +U\x11\xfb\x87\x90\xcc\xe0\x7fv\xeb\x818f\xbc\x12\xc7\ +.\xcc\xd6\xd8\xdb\x1b\xb7q\x95\x01B\xe7\xd5\x0d\xdb\x00\ +z\xb7\x8c+\x94!W\xc1\xc3\x96\x08\xbaO\x91R,\ +Y\x01\xaa\x0a\xa1\x0c\x13\xc3\xcb\x80`\xc1f\xd0\x05\xaa\ +W\xc9Lb\x87l\x9cwu\xd8\x0a\x81\xf0\xc2\x84\xbe\ +\x83\x16{?\x7f/\x83\xd6\x15V\x0f\xe0\xff'd@\ +'\xeb\xe3\x90\xf5^}\x8a\xc2\xc6\xa4\x90\x1cp\x1b\xd3\ +}\x22\xa9\x13\xf83\x9c\x0c\xa9uKGu\xbaQ\xc8\ +\x00\xc9\xda\xaeg\xbd\x0e\x90H\x99\xf9\x13C\xb6\xc0\xf1\ +\xf0w+d\xb1\xe6Ng\x85\xb2*&\x12\x0az\xa2\ +\x03:\xfd\xd2\x81\xad::3\xdf<\xf4\xd8\x22g\x92\ + \x8at\xcc\xe5\x86^E\x0aJ@\xee~\xae\x95\x81\ +\xba\xde\xb1/\xce\xea\xec\x8b\x83\x81\x08\xb7\xe2\x83CO\ +v'\xbb{l\xc8R\xd9Y+LwLvp\x09\ +\x06\x81\xa9\x8a\xf6_\xad\x1c\x03\x05\xb9\xde\x85\x0c\xf7\x0f\ +\xaa\x99\xfb\xe8p\x91\x846\xde\x7f%\x15\xac\x00\xf7\x81\ +\xd3\x03b\xca\xc5\xfc\xb9+\xf2@B \x11\x17\xbb\xf3\ +\x85\x0c$E*ZW\xca@\xf8\x86\x89\x94i\xe4\x84\ +\xe6\x99VB\xcd9dHTP \x04|\xcf\xf1\x04\ +=v\xbe\xf4\x80[_\x19Z\x7fo\xff\xd9\xafH{\ +\x9e\x93\xd0\xe6\xd7d\x86\xb5O\xcb8o\xf6\xc4\xd9O\ +\x09\x81\xadi\x1d\xa0\xa3\xdf\xbd>\xa7\x82\xe4\xde(\x11\ +\x12_\x0f9\x9b![\xa7y|m\xfa\xea\xc2}\x90\ +\xd3\x0cfu\xbf\xf48\x0b\xa4\x0bj(\xd1'ps\ +?*\x0fm\xecR\x91\xb7\xf5\xb1\x9f\x9d\x9cS\x86\xd9\ +9U\x01U\x11\xbco\xc8\xd2k\xb68\x90z%\xa7\ +\xc7\xe7\x18\xc2;$\x84\x1a\xa7\xc1kC\xb6\xb1tg\ +\xdb\xd7\x1f\x18\xf6\x1dG\xc8kB\x95\xa7\xef\x08\x19 \ +\x97zI\xb3\xe7\xbb\x1cX\xd7\xcb1Qy\x93 5\ +\x86I\xcb\x15\xc3k\x8a\x01\x04\x1a{\xa3\xd5D\xa0\xc6\ +\x91\x80\xa0\xc9\xd6\xb6b\xff76\x13\xc4\xfb\xb7B\x86\ +\xc4!=\x92\x15\xf5\xd2\x07\x10c\x09)\xaeD\x91\xff\ +\x03\x19u\xee~&d\x83\xf6\x07~hA\x10q\xf4\ +=\xef\xacp\x96\x83 \x80\x01q\xa7\x8f\x8d\xe3\x94\x08\ +\x91\xe0\xc8\xc4\xe0\xfe\xb7B\x86i8\xd9jU\x015\ +\x84\x9b\x80!Z\xa8f}\xb7\xbfE\xc8\xf6|\x0aR\ +\x9e\xd3\x0e\x8a\xb3\x01\xf4[`\x92=\xe6\xf6\xab\xb1k\ +\xc5\x9d\xd0\xc6F\x15\xe9!\x08\xb8\xe7$q\xa37\xd7\ +\xfa\x7f[\xc8\xa0O9\xbc**\xd6#\xa7qTK\ +\x86\xc0M\xc0yr\xc8\x90@d/p\x0ep\xd0\xd9\ +E\x05\x83dw\xaf\x04\x90s\xca!\x96\xd8\xe2\xc7\x18\ +s\x9b~\xc2\xac\x1df\x19\x90%\xce/h5}\xe2\ +\xf3\xf9!}\xcc2\xe8h&\xc8\xaa\x15C\xa0\xe7\xdc\ +\xb37\x90\x5c\xc8(\xbd\xafD\xbb\x965\x81?\xd2\xaa\ +\x9c\x06U\x08\x03\xfb\xebz![B\xbbz\xa3\xe9Y\ +z\x8d\xbf\xc1\x8f\xf3=\x922\xdc\x0f\x99(<|_\ +\xc8\xd0\x03\x8e\x83\x00\xf7\x87V9\x8e\xb2\x16$\xcf\xcf\ +\xfb&\xe9i\xe9\x17\xeb\xac\xa5\xd5sE\x22\xd98\x00\ +\xf6/\x09\x19Zu\x04^\x02b\xf7\xa9\xe0\xd1[\x1d\ +\x9dgz\x14\xd9e\xea\xc1\x1ak\xec\xfc\xf3\x97\xf8\x89\ +\x9e\x7f\xda\xa1\xea\xddv\xee\x91\xd2\xe68\xd5Jh\xc4\ +x\xed\x0b\x0e\x899=\xfa\xce\x17\xbd\xc9\xafQ0c\ +?z\x80\xeb~%\xee!nz\x00/\xb0\x93@\xf0\ +>\xbd\x82\xdf\xc7\x10\xfb\xff\x9eP\xf0\xf7\x12\xdb\x02\xcf\ +N\xd2\xa62\xcbOu\x1fm\xdaD\xf5V[\x07\xef\ +\xe3>]\x7f\x0f\x90\x15\x1a\x9c;\xeb\xdf!\xf9mJ\ +BU\xe8\xfd\x1f\xfbf=\xfa\xf8=\xef\xe3{\xef\xa3\ +\xa5\xc1\xfb\xdb\xf7\xae\xb3\xb3\xdfK`\xf4\xd7\x8e$\xa6\ +\xf7zk\xb0\xfd\xab\xe5$9W*q\xd1\x11!=\ +q\xcd/\xf6\xda\xc7\xd7\xf5\x0a\xbd\xd7N\x06\xd8\xfd;\ +\x01\xed\xf1\xc8\xc6\xfbT\x08\xdfK\xdc4$@A\xfa\ +\xad\xa7\x96\x04-h\xceE_gz\xbe\xb7B[\x07\ +\xcf\xd7\xb8X\xf6Mk\xa8\xd6-\xcf\xc1\xf9\xb4\x0e\x1d\ +Ib\x9f\xfb|\xeb\xc9\x8f\xcaD\xb1\xd6\xcb\xf2\xa7\x15\ +Z$.MI\xc9su\x04\xf9\x8eJsed\xc3\ +\xfc|i\x80\x16\xc7\x81\xff\xcc\x06\xa9_\x1c\x97\x17d\ +\xa0q\xa3-#m\xe1T\x0c\x96\xde\xb1\xa8\x10\xfdm\ +H\xf6T\xfe\xc2@\x22h\xfc^\xa8\xed\x13\x871\x06\ +*\xbd\x1c\xc0\xf8\xfb\x11\xd2\x82\xbd]\xb8k;0\x00\ +2\xb3*\x1a\x19\x90V/\x1b\xe8]B\xcc\x0aj\x8b\ +\x9d\x1b\x22\x82\xe2\x06i\x05\xe1\xc0\xca\xfb\xbe\x90!\xc3\ +\xa3\xc2\xa5\xc7\xff\xa9\xc9*\xaa\xd7C\xa5\xf7\x8dk\xcf\ +ze\xaa%\x08$\x1eT\xde(\x1e\x99\xad\xdes\xdf\ +\x03\xf6N\xbew<\xa4@o!\xe8\xff\xef\x95#&\ +s\xe7\xe0\xe8A\x05\xb5\xd4\x9b\x99=\xb4\xd3\xf3C\x86\ +y\x98\xa0{?\x92\xeb\x9e\xe3\xe28<\xc6\xb7!_\ +\xd2\x837\x87I\x8b\x83\x17\x1d\xfd\xd1\xd3_\x0e\xfeS\ +Ox\xca,\x05i?\xdc8dcq-H\xaf@\ +(\xdc\x9f\xbbo\xfb\x119\xdf\xf2\xd4\xfe$+\x1aO\ +\x1a\x1c\xf6p\x9b\xee3\x04\xe8Q\x09\xbe\xcfP\xf9\x96\ +\xc9O\xc58=8\x1d\xbb\x93W\xce\x8c\xfd\x17\xf7_\ +\xd8\x7fa\x98\x03o_\xc7\xfe\x7f\xc4\x10p\x810\xe7\ +x\xb6\xca\xe3<;!\x89\xc6\xb6%\x19\x9c\xb1m\x87\ +\x07%\xdbv\x06t\xfb\x1f\x08\xd9\x12-\xd3\xe7\xd6\x04\ +[Uz)\xf0\x0f\xae\x8a \xa6^L\x97\x1dH\x16\ +\xb1\x9b\xe79\xdd\x9d\x1a2\xbf>/d\xe8\x85L\xc7\ +\xa9X\xc5\xef\x9c\xec\xf7\x8fZY\xd5\xab\x15B\xab\x0d\ +\xc5\xabrAqRp\x9de8\xc9\x00%\x22\x0b\x1a\ +e\x1a\xc1I\x8d\x0b\xc3>\xf5\xff\x14)\x05\xf8\xd7\x09\ +-\x04}\x97Q\x05\xdd\xdd\x85\x0cc\xba\x9e\xb8V\xaa\ +\x90LV\xa0\x05\xa2\x8a\x0d\xba\x93ke\xaf\xef\xf4\xc5\ +\x90\xe1\xbeT\x1c?\xbe\x06p\x12.U\xa9|r\xc8\ +p\xce\xe8\xbbt\xf8\xaa\x97\x7f#/\x5c\x0d\x1a\xc3\xcd\ +0\xfaBn\x97-V\x05\x19U)v\xfd\x02\xf7\xd3\ +\xb2R\xf7\xc6\x95$h\xbab\x226\xae\x9f=\xb5\x12\ +]Z$\x90\xe6I\xb0\xa6\x1e\xaaD\x1erJc\xf4\ +\x04\xc6\x10X\xf4\xb7\xe7\x84\x83\x01k7\x87\x8ba\xd4\ +\x02\x00y\x22q\x8bl5!\xf1\xe6lW\x05\xd9\xb8\ +>\xf7+\x01\xd0H~\x8a-\x17\xe4\x5c\x82\x8b\xe1\xed\ +c\xce$*\xed\xa3\x8f4D\x0e$H\x1a\xf8\xe9\x1f\ +C\x06\x87N\xef\xfb=\xd6\xb1\xa6Z\x99\x8aM_\xab\ +\x07\xc7>\x03\xf1\x82Bg\xa5pzN\xc8\xe0\x00\x08\ +\xc4\xddg\x9e\x1b\x90\xfd\xe9\x0b!C\x8b\x0e\x92P\x09\ +\x03\xd0s\xf7o\xca\xc75C\x06\x8e\x83\xe4\xf0)D\ +\xc1\xf7\x1f\xee\xbd\x04\xe6\x02\xc9\xe4\xf8(\x88v\x92\xef\ +\x15\xe9\x1c\x085\xbd\xa0\x22\x0e\x82-@\xf4\x9cz\xe5\ +M`!A\x9e\xfb\xb0\xe6\xa5[?\xfb5\xc7\x10\x1e\ +N\x09\xd9\xa0\xee\x87K\x84\x0c\xfa;+\xe7\xb5\xaf\x15\ +\x18\x14\x08:\x17\x87\xd6@?\xe7\xd0\xda7\x12\x1b\xf9\ +\xbe\xc8\x14\xa7\x8b\x84\xcc\xaf\x9f\x08\xd9\x12\xbfZ\x04\x90\ +\x0d\x97\xbd\x97\x98\xe1\xf87\xe8k\x9d\x1bzP\x82\x9f\ +\xe3iJ\x87uI\x87\xb6*\xf6\xc6\x85\x82\x82[g\ +\x89\x0d\x09\x15\xf7%\xc0\xe7\x10\x0b\x08\xed\xa3\xceN\xaf\ +\xd5\x89#\x0d1\xc8O\x93(1U)\xa1\xf7\x87}\ +\xc8\x80\xd8\xca\xca8\xa4\x11\x12\xe6\xd2'\x12\x1d\xee\x93\ +]\xcb\xe9,\xc6\x9aFzsIpz\xae\x90\x1f\x1c\ +k\xfbI\x8f=\x92b\xd3\x86:\xb7F'A\xeb,\ +\xe2\xce12A\x5c%\xa6G\xd0\x17\xd9R\xa1%\xc3\ +\xfa\x09x\xab a\x9fu\x12=vC\x22\x07\x02\xc9\ +:xn\x12\x15\xfc=\x89J\x09e\xeb@_\xb1{\ +\xc9\xfdQ\x094\x08\x1cvW\xe0\xc2>y\xff\x9e\x98\ +\xee\x81}O\x00H\xf0I0\xf4\xdf[w\x097\x81\ +\x91\x9f\xb3\xfb\x02t\xe3\xc6\xbd\x9f\xc4\xaf\xf7\x05\xf1\xf6\ +{\x88\x11\x81:\xfdc};\xd2\xa0#G%\x1a@\ +\xfb%p\x14>ZB\xff\x18R@H\x856\xd6\xad\ +\xde\xa7\xb7\x08t\xce\x05\x819\xe4\x98\x00W\x22\x8a_\ +\xa2\x80\x22\xbep^%\xec\xc4\x17\x9e\x9b\xcf\xefc\x1f\ +=\x17\xef\xdb+\xfc=\x11`\x7f4\x0e\x91\xda'\xfe\ +\xcf\xfeq=^;\xf9_\xff\xf2\xbe\xae\xdf\xfb\x08\xd4\ +%\x92\xac\xabB\xa5}-\xc1\xc1\xee\xd3\xf7\x12\x11\xee\ +\xdb\xfb\xf9\x1c\xd7o?\x8a\x0f\x0f!\xf3\xeb\xd7C\x86\ +}\x85\x13\x8c?\xc3\x9eH\xbc\xf6\xf3\xc1\xdf\x90\xd8\xb4\ +_=W\x05L\xd3\x9a \xb4\xbd\x8f\xc2\x8f\x96\xc0$\ +\xe5=\xb2\x90\xa4\xfd\xdb\x90\x11\x05Q\xb6\xd06\xac\xb1\ +\x19\xa0u1\xbf\xfaJ\xdb\x984\x0axw\x9f\x90\xf9\ +\x02\x9e\x14\x92\xa4Q\x0c\xfaI\x03;+C\x96\xe4\x7f\ +g\x1b\xe7\xf0\xd5!\x01\xa1\xf5\xa0\x1f\x94\xc8\xab_`\ +X\xd0\xd8\xc6'\x0f\x1c\x01\x1c\x89X>\x90\xe3\x0f\x0f\ +s\xbb%\x18\x18\x82\xdes\xef\x80\xa6c\x18\xd3\xcac\ +^y\xcdu\xbe\xc9JZ7\x9d/d\xd9@k\x8f\ +\xf0\x7f\xe4\xfa\ +\xea(\xd8\xa0\x1c\x01\xff\xef\xe7\xfe\xcfA\xeaP\x1a\xef\ +\xd3\x91\x00\x0e8E\x98\x10\xf12\x8cH\xce\xb2RS\ +\x89\x94\x84\x80R\x9c\x02\x87\xe9:k\xc5s:!\xc9\ +\xab@\x8a\x91P1h\x8fM\xa84C\x18\xbd\x81\xbf\ +6\x90\x14\x85\xf9|F:H\x7f\xcb\xc0vY\ +\x9e\xc3F\xbeT\x86&+\xbb\xc5\xba\xca\x90\xe64\x82\ +e\xdf^hp\x88\x04\x22X\xa0\xdb\xfa\xe9\x89\xac\x8a\ +\x0e\x85i\x9d\xd2\x91(\xee\x00\xcf\xf7\x89\xd9\xebz\x8b\ +\x90\xad\xa2,0\xab\xf3\x99\x95\x02l\xeaH\xde\xa6\xf7\ +\x86\x0c\xad1\x97OrK=\xdd*\xe3\xdfT\x8e\xc3\ +z\x1fX\xeb9z\x0c\x16\x05\xeb\x8b\xbeA\xe2\x97\x15\ +\xd1\xe9\x8fC\xb6\x00\xa5\x1cX\xebuf\x83V:?\ +\x02\xb3N\xa2\xd7\xc6\xf8TEN+\x07G2\xcf\xdd\ +\xf4\xc1\xe9C\xd3\x87\x86\xc0\xd59cX!\x812\xa0\ +\x98\x9d\xe3\xff\xbd\x90\x12^|\xfa\xa6@HUB\x90\ +\xe3\xd5Z\x1e\xe6\xa0ju\xc0\xfe9\xf7S\x22\x10J\ +\xf1\xcb\xd8\x0a\xec$~@\xc9\xac'\xc3MO\xebA\ +\xcf\xc0\xb2\x12\xba\x12M \xfa\xd6+\x11\x00\xfb'\xed\ +\x9f\xbc\x8f1\xafGWr\xc2\x05\x1fu\xe1!\x91\xa6\ +\xf2\x0f\x01B/BPH,$)\xe1\xf4O!\xc7\ +\x929\x96\xe1\x12\xc0\xaa@\xfa;\xe7Lb\xc3\x97\x16\ +\x17\xff\x87\x0b\xc4\xe7c5F\xa2\x99sn\xcb\x11\xa4\ +\x0f\xfc=GW\x053\xf5W\x8d\xd9\x02\xf9\x87\xb4\xa0\ +\x07=O\xad\x1c\xee[o\xb3\xfd\x0dz\x8f\xeb@@\ +b_\xba?\x89\x8e\xe4\x22){\xc8Q\xa2o\x05\xc8\ +9\x87\xbc*\x9f\xf4\xab\x04\x8d\x04\x97)2\x19\xb0@\ +0@\xf2\x1d\xbe\x122T\xe6%t@\x03!\x0f:\ +I\xa1\x00\x08\xdb\xbb\x04\xeb\x8f\x9f\xf0cKk\x88\x80\ +$\xf5\xea\xfe\x1d!C\x05W\xc0\xe0\x1c\x0a(;\xdb\ +\xbcD\x98\x9f\xb3G\x1c\xab\xac`T\xc2 \xeds!\ +Z@\xf7\x91<\xda\x07\x10\x0a\xfc\x02\xbd\xee\xf9\xba\x7f\ +i\xc8\xa0o\xb4\xf0i\x9dA\xba\xc4nt\x12b\xd7\ +I\xeftR&\x8eb\x87t\xb3\xbb\xd6\xdf\xf5q@\ +\xed?v\xb7\x8fm\x15@\xeby\xa6\x17$8\x8d\x9f\ +cW\xba\x9eq\x0e\x8c\xf1\xa3\xe7\x90@\xffz\xc8\x96\ + \xd5\xc2R\xe3_qm\x98J\x91d\xb3\xecH\xdd\ +\x0f\x04O\x0f8qEd\xa2Iok!>\xb0_\ +Kx\x5c $\xc6&/\xb2\xf5\xc6\xe7\x18\x5ccc\ +\xab\xd2\xeey\xf5DF&\xbc$J\x0f\x0f\x0c\xd9\xde\ +\xbf\xfe\x1f\xb2\xcd\xf9\xb6O=\xd7>\x06\x90\xbf\xa5\x00\ +\xa5b\xaf\xb7_+\xa5\x8a\xbd\xd6\xa0t\xd8\xab%P\ + \xa4\x00\x90d\x91\xd3\xb7\x87\x9cC\xc0\xdd\xa6\xc4\xd4\ +\xbeq\x9d\x19\xb8\x16\xe4_\x82J\xc5\xd0\xffi\x953\ +\xe5\xc2\xfd\x09\x94@\x8d;[\xd5\ +\xa3\x8f\x05\xb4\x7f\xfbkO\x10\xb0\x8b\xfe\xdf\xef}\xd1\ +W\xae\xaf#\x99{\xe2\xad'\x18:\xf2\xc0\xe7\xb41\ +z\xb5~\xfd>\xedk\xeb\xe4{~\xb8W\xcf\xd7s\ +\xc7M&\xe1{\x93\x90!1\xce\xdfW\x18\xa5\x17q\ +;\xb1'\x9d,S\xc1I\xc2\xcb\xe7\xf5\x16\x11H-\ +_\xb8\x19\x8c\x15\xcf\xb8\xe5H\x91\xfe\x09pb9>\ +\x99s\x92\x7fq\xfb\x07\xac\xbbK\xa7\xdeM\xb6\xca\xd8\ +\xf4_!\xf3\xeb\xb9B\xb2\x82\xf8\x7f\x87\xb9\xe4\x0cM\ +\xdc\xce\xd1\x81t/\x90\x07\x17\x1e*\xff\x91X\xf8|\ +>\xc8\xfdP\xd9\xf7\x00\xb1\xb3\x8f\x19\x91Ol\xe3.\ +\x16Ev\xb5\x81\xac\x90\x02\x91YI\x03[,\xd4\x1c\ +[\x06\xce\x98\xbf\xbf\x08\x19\x1c+$I\xa0\xc81\x96\ +\xf0\x11\x8b\x22\x5c\x1c\x99\xe9\xf7\xd6@\xaa\x02j\x99h\ +\x07\x09\xcb+\x08\x1a\x88\xa8\xccO\x0b\x80\x8a\xedYO\ +*\x12#P-d66\x8eg\x1f{\xd6 \x98E\x22a\ +\xac\x95y\xc7\x1c]\x89\x07\xeb\x9d\x1bYe\xbf\xd8\xc9\ +\xbf\x1c\xb2U@\x90UL\xaf\x08YH\xa8\xaez\xb8\ +\xea\x86$\xd9\xbf8di\x15y\xe7\xf4\xce$\x93\xf9\ +\x5c\x8ew|P:\x96oX*\xd0!\x1b;:E\ +\x99\x15\xf1\xa5\xd2\xf7\xae\xa1\xc2\x15f\xe2}[&\x14\ +Tx\xe9%\xfc\xc3LL\xbcts\xc4@qK\xa1\ +\x06\xf5\xd1\xfd\xf2y>r1\x08\xebAE\x1aw$\ +\xd7\x95\xe2\x0a\xb7\xff\x94a?hu\xe1\xa8\x22wB\ +.&\xd3,\xc1\xc0\x81\xf1\xf9\xd9\xc2P\x89,\x0e\xa4\ +\xb1s\x0c\x83qX\xc9f^\xeb\xaeB\xf4\xb2\x90\xf9\ +\xf5\xcc\x90\x01\x91`?\xf8\x02I\xa7\xe0\x9d\xafw\xa7\ +#\xfa\xe9\xcc\xac\x82N\x81zs\x90\xb3\xa7x\xbaU\ +B\xc8\x91u\xda\xd7 \xb7\x0fXY\xc0\x8b\xac\x8f#\ +\xdc\xc9g\xec\xcf>\x07\xb8\xf7z\xfdyV\xda\x13Y\ +R\xe7\xfb\x0d\x19\x90\x98\x07\x9f\xe7\xac\x02S\x01\x96}\ +\x9d\x95\x81\xfd\x9f\x87ls[\xa7\xdbM\xb7_\xe6b\ +\xcb\xa83\x1c\x9e\xbb\xef\x8d\xfbzi\xee\xcf\xaf\xe4:\ +z\xff\x0c\x80g\xf7n\xa9\xa4\x97AQQ\xc0\xf1 \ +Pf\xe0@\x99\x9f\x9e\x0e\xfc\xaffo\xec\xdf\x87\x0c\ +\x95\x5c\xe3\xf1\xfe`\x91\x0dy\x90\xad+\xbb\xdf\xdc\xfd\ +\xc6\xee7\x06d\x08\x04\x87\x9ex\xadOz\x85\x8d!\ +t\x9e\xe8\xb1\xec\xd5\xae\xca\xa5\xc09\xe7yW\x80j\ +\x1c\x96\xb9\xe2\x02\xa3'\xb3\x92W\x10x\ +\x89)\xfbG\xa0\xcc@Z\x1fdW\xdf\x142\x04*\ +\x89\x0c(\xb2\x22\x09\x17\xec\xffZX@\xe2\x91\x94r\ +\x04\xecCs\xeb\xb5\x0c|G\xc8\x16\xd8\xd49q\x1e\ +\x04B\xc8\xef\x90\xe1\x820\xd3\xbf\xf4\xb7}\xcdAg\ +?sN\xfb\xb8D\xaf\ +\x9d\xcb-\xcf\x0b}9}:d8\xc7\xde\x8f_\x87\ +\xdb\x8c^\xb4\x9e\x9d\x93\xa3%\x02\x8eI8\xd0/}\ +\x1a\x9b\xf3\xfb\x94\x151]\x89\xd7L,\x1e\xd9\x7fm\ +\x96\xbe\xe0'\x0f\x07@%SF8\xd8f\xaf\xb0\x19\ +,s\xd9Ox\xc4,\x11`\xbcz\x96P\x1c\xa7\xcd\ +\xf2\xd8\xbc\xe1\xaf\xe5\x0d\x8e\xac\xfeWZ\xba\x88\xb7\xf9\ +\xee\x01\x85\xbc\xf5\x90\x80\xa0@ \x07\x8c\xeb\xf3 \x22\ +,8ex\xf5s_ ;\xe16\xde1+Gw\ +\xdb\xc6\x0cU mA8`>\xd7\x83r\xbd\xde\x1f\ +\xeb-\xf2\x86L\x90\x14\xe4]\xc5\xc7\x03\xe0 \x0b\xa4\ +\xbd\xaf\x03\xdc\x1c\xbb\xe9\xcd!\x83\x03\xee\xa01l*\ +\xa12W\x0e\x0e\x87\xd3\xc1\x860\xb0A\x12B]\xa4\ +1Y\xe9*h\xb7\xbf\xa7\xe0:\xb4\xcd~p?\xfe\ +\xde\x17H\xaf\x8c\xa5\xfbdX\xb2\x17\xb8\x0eJ:\x82\ +\xd3\xbf\x84\x0c\x15\x9a\xcf\xa6\x22\xd4:\xf0\x1b!\x8b!\ +^{\x89A\x9a\x03\x00\x1a\x8e\xdd7\x86dE\xea\xda\ +\x998\xb9\xdf\xd0\xcb\x88\x5c\xea\xb4EV\xc5\xfb\xef\xc3\ +\xf3W\x11\x8d^\xb93\x06\xb6m=\xda\xe18/\x86\xccA\ +f\x90@&!QTf( \xa4t\xef\x0b\x19\x1c\ +\xfa$9\xac\x1e\xbf\xcb'\x1bv\x1a\xea\xda77\xc8\ +D\xc0-\xf29] \xcf\x97\xf3\x9ac=K\xe1\x08\ +(9\xf2\xa0\xf6\xbe\x9c\x0b\x8a\x1b\x99Pg\xe3e\x98\ +\xd2\x11\xab\xfb3\xd6\x8c\x22?\x9a\x86,\x03\xcf\x9a\xe6\ +\x90\x10\xa6\x22_1\xb5\xa3C\x12)4\x06A\xa2\x87\ +b\xf7j\xcaCB\xfc\xcb\xa0\x22\xa1\x04\xc1\x7f\xf5Z\ +qRY.H0$\x82\x1e\xb8\x9b\x87\x0c\x8e&R\ ++\xe7\x17\x19\x99\xfbt~\xde\x93\x89\xd5\xf3\xa5\x81\x15\ +\x08\xd9G\x0cZ&@\xccy^(N\xaf8Th\ +\xae\x9e\x95,\x9f\xe7\xbaTp\x7ffe\xad?\x86D\ +\x07\xe4Z\x05(\xa1\xe9\xfb\xc7\x86\xcc\xdb\xeeGw?\ +\xb6\xfb\xb1\xad\xa2V\x01-\x87C\xe5\x87\x1e\xcc\x04@\ +!\x13rn\xf9\xf4\xcd![`\xbe\x8cc\xbd\xcb\xc6\ +\xe5P\x09\x04-PYi-\xf2.\xfb\xb0M\x071\ +\xe6+\x86..c\x17\xcdS\xa7\x07\xac\x83qj\x02\ +D\xfb\xc6T\x00\x10{z;+|\xf4\x07\x0e\x8d\x82\ +^B6A\xde\xa4\xde\xab\xf9\xd7\xbd\xf5*\xd7\xad8\ +s\xeck\x01\x18\xd6v\xfa\x15\x0b:D\x0d=\x89\xc5\ +\x1c\xa4?{\xedU\x12J\x7f\xe6\xcf\xeb\xbc\xb2[H\ +\xf9\x04\x0a\xe9\xe0!5\xac\xca^\x0f\xf0M\xb1x\xd1\ +Z9\x98\x1e\x97\xd0t\x90n\x01\xa1\x82\x00\xf6\x7f=\ +\xe5\x12\xebZ\x03r\xcaGU\xdaA\x10!\xb5\x12\xf9\ +u\x8c\x03\xcc\xae\xb1\x9f\xfc\x12z\xd6T!\x091v\ +#9w\x8a\xd3\xc0~\xa6\xbf\x8c\xe3\xa5\xb7@\xdf\xff\ +2d\xe8\xedF\xb6\x97c0k\xec\xa71\x0c\xc8\xc6\ +\xc8\x00\x00 \x00IDAT\x8e8U\xdc\x9f\x04\x80\ +\xe7\xca1\x93H\xa1'\xdc\x07\xf2;\x95\x18\xe3\x8b\x05\ +\xb2\xe9g\x08L+1\x88#\xc6\xf8L\xfb\x1b\xe4[\ +%\x15\x22,I8\xab\x95\x0a\xe2@+\x89V\xcdD\ +\xcc\xa8\xdc\xd7yO\xfb8\xfdr\xc8F\xfa)\xc0,\ +D\x08}!\x81\x07\xe9A\xff\xb1\x7f\xaeS\xcb\x82\xfd\ +\x0ai\xd1Z\xc1J_h\xcd1=)\xed\xba\xf9\xda\ +E\x1a\x98\xe3\x80\xcb/\xc9\xe7\xb8\xf8\xa5\x8f\x18\xc6E\ +\x1a\xbf\xa8\xd5@gd\xee\xe7\xb2\x17\xf9\x7f\xd3\x8f\x86\ +\x0c\x0e\xbf\xc0\x8f_vbK\xf4\xbb/\x89>\xf7%\ +\xe0\x13\xc8\xb2[\x02i\x89s\x09\x93|\xff\xe9\xfe!\ +C@\xd7\xa1\xca>\xdf\xfaj]pc\xf4\xbf\xdex\ +\xfa\xb1\xf7\x16\xf7s\xa8G\x9e=m\xe4xEN)\ +\xc1\xa95\xd4\xf9\xe6\x7f[/\x81\x18\xe4\x8a\x00\xcbz\ +\x1c\xa7\x15\xe0\x98\xa9\x02m\xea\x00\x7f\xb6\x02g\xef\xcf\ +\xbfV\x08\x11\xa85r\xbd\xfa\x7f\xbfw?\xf6/\xa4\ +\x8f\xe7\xc8\xbf\xed\xe3\xe9\xfa\x5c\xfb\x9e\x08\xf0\xb9}\xfc\ +\x9f\x84\xb5\xc0\xce\xbax_\x85\xd96\xd6\xaf\xec\x90\xe7\ +*\x81\xe4s\xfa~k$\x8d\x95X\x95\x00\x10\xf0\x8b\ +s\xd8{\x7f\xdf\xa7\x18\xf4\xca\xbf@\x1a\x09\xe4\x97C\ +\x86sc\xfd|/\xf1\xd3[\x00\xe8}\xe7\x89\xfe\xe0\ +\x7f\xb3\xb7\x10A\x10x\xfcg\xeb\xd4I ]\xbf/\ +\xfa\xd8\xdf\xf9\xea\x5c\x0f\xd6M\xdc\xe5\xbc\xf9\xb9s\xec\ +s$\x1a@\xfc{\x5c\xd69\x5cL\xc5\xca\xc4UM\ +\x8bs~\xc4\x03\xe9W\xd4\xf9\xb7\xcf:'C\xe3\xa0\ +(2iv?\x0b1\x90VG\x8c)\xc2\xc2\xbf\xb0\ ++\xff\xccP\xb1I2?\xbd\xed\xd3\xdbB\xd2\x91\xfb\ +\x9e!\xb3\x10f\xe5:\x19\x90\xbc*/\xe0\xf4\x81\xc5\ +\xff\xa4\xa5{w\xab\xd8\x08\xa0<\xe0\xa8\x90^p8\ +H\xb1\xad\xdf?\x8c'\xf4\xf7\xe1~^9\x0d\xd4\xb7\ +\x0d\x8ea\x84\xcb\xdf584q=\xc6:\xa9\xa8|\ +r\x08\xa0\x8c\xb7\xca\xcaqe\xcc\xf5\x8cS 2\xdd\ +\xa6\x16\xdc23\xe7\x0c\xbf\x8a?('\xc4\x83D\x81\ +\x00T\xe0`#S\x04\x1cu\x8a\xdf\xfa\x08T(\x06\ +\xf7O1\xf4\xc0\xd2\x06\xf5\xe09\x86 ~z\xc0e\ +\x0c\x13B9\xfdl\xc8@Z\xc8a\x02Y\xa3\x10\x8c\ +\x11\xd3\xc2\x81\x8d]\xa0&\x03\x8b\xa4G\xe5\xe4{B\ +\x86\x04\x12\x08\xab\x8a\x9eu\xfe\xadd)\xfe\xd7Tp\ +\xa7\xae\x19\xfe\xc3\xd1\xb5\x17\x90\x033\xbd ds\x00\ +\xf6\xef\x09\x19\xd8I\xc3\x01\xfd\x8b4\xf4\xbf8pU\ +\xa8D\xc6j\x7f=\xaf\xff\xc5\xc3T\x87`h\xb8m\ +*\xb8O\x0d\x01d\xf4\x8c>:I\xccn\xbcA\x12\ ++\xa1\x04\xb2\xf3\xb64\xd0WL\xa8&EF1\xa8\ +\x00J\x84\xe0\x960&\xacC\x9e\x182\xef\xc3\xe0$\ +\xa9\x9c^\xfe\x22\xe7\xd1#9\xad\x81\xcc\xf4\x07\xd3\xb3\ +\xa6g\x0d$tH7A\xd4OIvm,\xf7Y\ +\x19.\x07\xca9\x02M\xa2@\xfb\xb8\x11\x99L\x90I\ +\xeba\x7f\x1aG\xe2\x1c\xc8\x84\xe68G\x0e\x05\x92\xa9\ +c\xc8T\xce]\xbd\xefk\xe0\xf6\xf6$\x8d\xbbWB\ +u\x9d#\x89\x01\x95\xca$M\xe3\xe8\x15y\xdd;r\ +\xdd\xdf\x9b\x95\x8b\xe7\xe48&\xf7g\xdd)\xd6L\x80\ +\x16\xe48\x1d\xa3\xe9\xf1k\xe2s\xfa\xcct\xc6t\xc6\ +\x90`\x82X\xd0\xcb\x98\x09\x86\x9a\x12q4\x13c\x0c\ +\x80\xd6\x0c\x15g\x0a\xfc\xe4\xach?i\x9d3~\xc2\ +\x952@\xf6\x5c\x18\x12dd\x128\xb9\xbe\xf3\xdd/\ +\x8eE\xf5\xe6g\xe0\xb0\xbfh\xc8b\xb8\x16\x07d\xfa\ +p\x92\xdeqHT:8\x06\xd6U\xc0\xaab\xcf@\ +\xa9H\x22\x7f\xd5r\xa1\x12k:\x8aD\x90V\xb2\x84\ +\xb4\x17\xb2\x0a\xf2@%B\xa2A\x22.\x1da\xadX\ +E\xde\xb7|\x0d\xe4g\x90*\xf4/\xbd\xc8P'\x09\ +#r\xbb\xc3\x15B\x06\xe4K#\x93\xaa\x96\x1es\xc6\ +Me\xe1\x08\xab\x809\x07\xa0}\x9f\xccV0\xe7J\ +\xc0\xcd\x81\x82X\x80\xcc\x90\x90\xe4\x10\xe1\xa8q\xfep\ +QxN\x10I\x1c\x0b\x09W\xc8\xbc\x1c7)\x80\xab\ +\x96\x90\xeb\x86\x0ccQ\xd9%\x15\xbf\xe4\xc08\xe1w\ +\xf3\xd5\xf4\x0b\xef\x8fL\x97\xfe7vR\x0b\x9b\x8a\xb4\ +V\x08\xf3\xce%\xb4\x8d?S\xb1h\x81@9\xb6\x1c\ +3\xfe\x80\xc0 95 \xe4\xea\xb9'R\xaa \xe4\ +I\x16+\x917\xbd?d\xf8?\xeb\x97\x09_SP\ +\x0a\xe9\xf8\x93\x8blv\x00R\x22\xf7\xcft\xe7\x90\xe1\ +\x1c\x80\xf0\xe2\x1c\x02=g?s\x9d\xabE\x05\x19h\ +\x06\xd6\xfb\xdb\x86\x0c\xd0}\x10\xc8\xce\xfd\xa3\x22\x9d\x01\ +*\xbb\x8d\xdb\xa1\xc8\xa5\xe8-\xd0q$\xaa\x02\x0a\xe7\ +VE?\xa1\xa9\xe5H\x9b&\xd3\x10g\x15\xf8C\x1c\ +\xd8\xff\xa0\xfaz\xe4\x05l\xf4\x88}\xacP \x90I\ +\x92\xbeB\xb8\xf1w\xb2u\xc8\xf8\xbfBt<:d\ +\x18\x0b\x98H\x86\xc3mB\x06;\xcbObg\x04F\ +\x89\x94\xabV)z\xca\xbax\xee\xc6\xcf\xba\x1f\x81\x96\ +\xfb\x11\x00xP\xbd\xd5H\xe0(\x90r\xee;\x14\xda\ +\xfa\x0a\x14\xe9/\xfe\x91\xf5Hn\x97\x0a0\xd8\x09\xcf\ +\x8b\xdf\x09\xb9'\xc0i\x81~\xb5$d\x22\xbaZ\xcb\ + \x17\x04\xc6\x12\x5c\x10\x84\x99\x80\xac\xf3\xd9Y\xc7\x05\ +v\x12{\xd6\xc1\xba\xf4V\x00\xeb\xe1\xb5\xcf\x97\xef\x1c\ +\x07Z,A\xed\xd9g\x019\xbf\x97^\xe1WB>\ +\xd0\xcf\x02n\xebg?6\xb2\xc0\xf2\x03<\xaf\xb1\xa5\ +x\xfc\xbb\xde2+\xd0u}\xae\xab\xb3\xf7\xdb\x8f\xae\ +\xcfs\xb2\x8e\xd6\x8b\xffn\xfa\x85\xcf\x95\xc8\x810\xf1\ +>\xfc3~\xa7\xf5\xb5\x9e\xdeW\x02@\xe0o_\xf3\ +\xdb\xe85\x7f\xdf\x13/\x90\x1c\xecUg\xf3\xb7\xfe=\ +\x01\xe0\xef\xfb\x18@\xd7\xc7\xdf\xed\x89\x08\xe7\xb9\xeb\xc3\ +>\x1e\xd0\x97\xf7\xed\xd3\x19<'\x09\x86\xce\x11\xe0\xfb\ +N\xaa\xe8\xfd\x5cW\xdb\xc7\x85\xbc\xca\xc2\xc7\xf4\xd7!\ +\x83\xdf+\x11\xe7|vrT\x88\x1d\x89\x00\x08a\xbf\ +\xef-\x17\xceEKt\xd4T\x0c\xadE\x10\xad\xd6\xdf\ +\xfeI\x7f\xe4\xc8\xb4\x0f\x19 ii`\x96\xdb\xb8\xcb\ +\xaaP\x17\xc7\x19\xfbv\x98\x85\xc7\x0c\xec\xe3\x02g\x10\ +\xe4\xc8\xe7\xdeg8\xf8}~\xa6D\x80\x80W\xc0\xe1\ +A\x9f\xb2\x84&\xab\x02\xfd\xd6ac\xdb\x189\xa7}\ +\xba\x5c\xc8\x00\x1d\xbe\xde2\x81}}\xdfK\x0c\xbd\x96\ +\xe6\x84F`\xf8\x9a\x81\xdc+\xc2\xe6\x7f\xd8 Q5\ +g8\x10\x0c\xaf\x1e\x0c\xd6\xf5rl\xe0U\x12\xda*\ +\x80\xc9\xcc\xf5\xf4\x84\x90\xc1\x11\xa7\x18\x05&\x12\x08}\ +<\x05\x05ic\xfbr\xe0\xfc\xdc\x86\xe9\xf3.m \ +\x95#\x0f\x18R\xc0\x01L\x07fzp\xc80fF\ +\xa5Ie\x0a\x19_\x92\xbbQ\xb4U\xa1F\x82\xa5\xb2\ +\xee@0\x8c*v\xbf\x182d\xac)\xa8D8\xd4\ +8\xc8{'\xc9\xa1\xca\x93\xca@&T\x0e\xf7\x5c\xb9\ +%T@w7\x0cYz\xb0WN\x85\x93B\x96\x0d\ +\xbe@1\x17\xe8\xd6?d\xa0q\xef\x0cx\x82\xd5\xfb\ +>!C\xcf\x1fh\xa6\x9e\xca\xf8\xe9+\x87\xff\x03\x95\ +\x0c*\xc0G\x0c\x0e\x05\x85*\xf1%\xf1\xa3\xc7Ye\ +\xb7\xf7*y\x9e\xd9RP\x10\x7fd\x86\xc6\xbbe\xef\ +bA\x0d%b8\xce\x0c\xb4\x00\xf0j\x894q>\ +\x8cG\x03\xedd\xe0\x93\x84l\xfa\xef\x90\x81u\xfa\xd6\ +\xf9\xbe\xa6\x05x\xff\xcej\xcaA\xa7h\xfc^\xe6\xf2\ +\xd1\x87G-d\x8a\x14\x1d\x12\xbf\xef\x0aY*q\xcb\ +\xf3*r#\xbdQX\xe1\xad\xdf\x06\x99_\x0dg\x1f\ +[y\x99L\x8c1\xf8\x0c7\xbd\xf1\xfe\x0c\xd8\xee\x95\ +\xec\xd1\xc6di]\x01\xadG\xf2\x98\x15v\xe3\x8a\x8a\ +\x1c\xea%\x19\xd8\x80\x90>\x22+\xc7\x902\xce\xe1\x0f\ +%\xe4\xd9\xfe\xf6\xbc\xdc\x87\xfd\xff\xa6\x9c\xd6\xd0\xa7j\ +009F\xaf\xc8\xf3\xb0\xc5\xaa \x99\xb6@_x\ +\xfe\x17\xca\xfb~^\x8e\xdd\x92\xe8H\xe8Y\x91\xb6\xbd\ +tu\xe4\x0e\xbf\x93\x15\xd3\x84~!\x85+\xf6k\xbd\ +\xae\xeeG \xce\xd0$\xa7\x03(|\xb1\xc9\x1b\x97\x97\ +c\xf9\xf4\xd2\xfa?\xdc\x12U\xd1\x86\x00\xd0\x13\xa7\x22\ +\x89\xc4\x93\x03\x92\x01]02,\x9c\x0cZer\xbf\ +\xef\x9f\x16\xb2\x05\x02\x87[\x86\xcc\x7f\xff\xca\x90-A\ +X\xe7\x1cd\xfe2+\x99\xa8\xc4A\x91\xb3f+\xc8\ +\xe1q!C\xc2@+\x88V\x08-F\xf4}\x9e\xbb\ +\xc3\xadC\x06$\x04\xae\x88\x5c\x9fc\xa0\xa0\x1c\x09c\ +i\x8dwTA\xf9\x83\x90\x0dAQ\xe4\xb3*'\xdd\ +QV\xb9\xcd\xf3Wc\x17\xb3\xc2m\x5c\x9a\xc4\xb5D\ +\xad\xf1pU!\xf8\xd9\x15Ir\xb8\xd3\xe1\x8e\x87x\ +NO\x0e\x19\x12#\xf63\xfd\xc5q\xa4\xff\x04\x86I\ +\xceh\x7f\xd7u\x0a\x94\xcd#\xe7\x98\xa9h\x98\xce\xe2\ +\xe7\xd6\xcbT\x0f\x89F\x8e\xbe\x0a\xaf\xe9\x04\xec\xa0\xf1\ +\x91*\xba\x02\x13\x09\x0ac\x03%2\xe8\x9b<\xe7\xc8\ +\x02\xeb\xbe\x93\xe5\xbe\x02P\x89\x07z\xdes\x11`\x1a\ +\x93\x99\xfe\x8d\x16\xac\x1a?(\xe1\x82<\xd7\xbe\xe2\xe7\ +d\xa5'\x98\x86\x82k\xa8\xae\xc7\xf8;\xc8 \x95\xf1\ +\x8b\x84\x0c\xcf\x81\xff#\xd1l\xdcjw\xfc\x1b\xc9\xf0\ +t\x83\x90aj\x00\x88:;F/\xf9\x9c>\x1d\xc9\ +y\xf2<]\x07\xbd\xc5\xef\x13P\x08\xb0\xe9M\xcf\x1d\ +\x82\x02\xa2R\x01$\xc9V\xab\xd7\x1b\xa4\x9f_\x93\xcf\ +\xa1\xec\xa9J\xe1\xb5C\x86\xe7\x9cd\xbe\x0a\x141\xf4\ +\xf60\x92\x07B\xea\xe9\xa5e'\xad\x1b\xfd\xc0\x9f\x03\ +\xc17\xcdI\x81\x88\xfe\xe9=\xc9\x9du\x1f\x82\x0c\xa2\ +\x05\xf7Q\x06\xecH\xb5\xab\x977[_k\xdc\x18\xbb\ +\xd1\xb94 \xf7@\xc4%\x12\xdc\x9f\xb1\xce\xb8U\x5c\ +\x8f\x00V`\x01\xa1\xc0\xbfU\x89l\x90\xe6\xaax\xda\ +g\xfc\xd7F\xce}\x8c\xfe\xc2=\x00Y\xc4\xcf\xe8\xf3\ +\xe6\xed;\xfb\xc7\xf5v\x8e0~\x91\xd6;\xebEO\ +\xf6\x04\x84\xff\xef\x10}\x81\xba\xeb\xe6'\xf9\x5c\x7f\xdf\ +\xd9\xed\xed\x7f\xc8\x88\x8f\x85\x0cz\xab\xb5\xf8\x95}\xe8\ +\xd7\xc3\xdf\xe1g;\x8f\x10\x0f}<\xa4\xc4\xb5\xcfs\ +\x1dg\xb5\x96\xc3\xe3!W \xb2/\x132\xb4\x8aH\ +\x9c\xd8\x17\x9e\x7f\xef\xe9\xef\xe3\xfcz\x02\xa0\x93\xfd\xf5\ +V\x01~\x12\xfb\xe8\xf9\xd3\xb3>\xcf\xdf\x89/{k\ +\x86\xfb\xf4y\x9dl\xda\xbe\xf5\xda\x11\x0a\xbdE\xa0C\ +\xeb;r\xc1uA\xec\x99\xeaa|2\xbb\x06\xa1\xe0\ +\xfa\xfbxD\x88E\xcf\xcf}\xdbg\x1d\x81\xd1[\x04\ +\xfc\x1e\xf9\xf4#B\x86\xfd$.\xcc\xfdp\xa4.\x94\ +A\xa7\xe0\xe7\xed0\x9d?\x83\x80o\x1b\xc8\xf9:y\ +\x85J5\x07\xcd\x81\x0f\xf7\xf4\xc2\x83B\x84\x04\xe8\x86\ +\x87A\xd0\x8b\xe6\xfbP\xb7\xdf1\x90\x89\xb9p7H\ +\xc1q\xbc#\x0c\x1e\xe7\xc3\xc72\x7f0\x15\xfe\xb93\ +\xa3{\x83\xacX\xdf;\xe7!\xdfg3`\x15\x00 \ +\xff\xdaz=V\xe8\xe3\x0733s\xdb\xac\x80Qp\ +*~6\x90\xfb\xb0\x0e\x9d\xad\xbf\x8f\xe9\xb3\x11\x1c\xc8\ +\x9e\x08\xe8\x19\xc6\x9e0\x10\x00I\xb8\xb8\x7f\x19l\x0e\ +5\x87\x9eCr\xe5\x90\xc1\xf1\xcd\xde\xa7\xc3\xa5B\x86\ +\xb1sXx\x91\xda|%{w.\xbb\xee\x93\xe9\xa9\ +!\x0b\x19\xcfj`^\x9b\xd0\xfeO\x85\x0c\xa4`2\ +e\xe6y?7I\xab$\x96(n\x90\xc7d\xbb\xaf\ +L:h\xe4w\xed\xbfs\xff\x9d\x83Cc\xbd\xc3\x1c\ +\xfcg:\xce\xcf\xccJ\xd8\x1d\x86\xca\xa4@Z\x05\xde\ +\x97\x96\x06S\x02\xa2\xe5\xe0\xd7\x07\xb2!\x81TB\x9a\ +j\x8e\xba\xc4\x93J\xa0\xde1\xcf\x07\x92C\xa2Ee\ +\x10\x9b\xaf\xdeO\x867\xc7\x1cN/\x0c\xd9*\x00\x05\ +u\xbe\xf3\x22'L\x0f\x0dYXEW\xd2\xb6\xac \ +\xd44\x0f=\xcf\xe6\x8c\xda\x97\xa0\xbc\x90\x02\x9e?\x04\ +\x87\xe7\x9b\x8eyq\x0b\xd8\xbfm\x5cN\x84\xfd\x11\xf8\ +\x1f\xbe~8z8:\x8cO\x93\x80\xd2\x0bE\xbf<\ +=9\x0b\xb0\x93f\xc5\xa9\xa0\xe2*{\x90'\xbb<\ +_\xce\x19G\xf2C\xe9\xb8p\xfc\xb0\xbe\xab,\x1f]\ +\xaf\xa7\x1c=\x01\x8fDW&N\x0e?\x122\xf4\x9a\ +>|\x0d\xa0O85+\xbc/\xcf\xe9\x0d\xe6\x5c\x0b\ +\xb0\xaf\x97,\xea\xc6\x1b\xeaE\xbb@\xc8\x00e\xd7\x13\ +n|\x1b}\xa2%@\x05\xfe\x07\xf2\xf9\x0a\x8c8\x9c\ +z\x8d\xb5D4CW\x99^\xac\xf2\xdf\x192\x18p\ +\xdc&9\xeem\xff\x9b!\xcb~Z\x12b\xd3\xbb\xd6\ +\xf1\xab\x0b.\xea\x93\x83\x03o\xdf6\xa4QA\xda\x9d\ +\xe3'\x85\x0c\xad\x12\x1cO\xfa\x13I\x97\xa92Z\x03\ +\x12ivxh\xc8\x90\xc0\xe4\x10I\xd8$kz9\ +\xb0\xdf\x14\x92\xdc\x1fs\x80\xb6\xff\xd7\x90A_\x09\xec\ +\x04bz\xd2q\xb8\x18\xbb\xa5\xd7\xf7.!\xdb86\ +\x15\xe1B\x86\x81\xbc\x9b\x12@O=|\x91-\xe0\xf4\ +\x9c\xb3B<\xfdI\xc8V\x11\x9f\xee\x182\xe8q\x86\ +\xde:KP\xff^\x22=\xd89\x10f\xfb\x1b\xe9*\ +\x88\xad\xc0\x88\xa3\x92\x81\xf7\xf4\xd2\x90\x81\xcc3\x03\xc8\ +\x22/\x14@y>z\xb5A~\x05^y}\x87[\ +\x85l\x8e\xe5\xfec!\x83\xdd\xa7?\x91\xf3\xe1@\xc8\ +\x8an\x05\xbc\xdd\xc1\x95P\xe3G8\xe7\xbe\x97`\x94\ +\xb0\x95p\xf1\xbe\xa0\xce\x12\x0cX\xd5\xf3>\x8b\xcc1\ +{\xc5\xcb\x8e\xd1w\xecf\xae#\x16\xfb\xe9\x1bB6\ +H}Ma\xc8\xf3Pc\x82;9\x16n\x03\xd7\x05\ +)\xa7\xf79\xcfK%\x14\xf8Q\xe9\xbfT\xa2]\xc0\ +\xaa\xb2\xce\xbf0\xa5%[\xc1*a\x93\xf7+\x81\x86\ +\xe5\xb9\x90]\x10b\xbd\xf7\x99>\xf1\xfeZ\x13\xcc\xa7\ +\xcf\xc2\xc6B\xa2\xfb\xaa\xe1\xf9I\xa48\x97\x17\x0a\x19\ +\xa0\xfc>\xa7\xebm\xfb\x9d_\xc4\xf1e?qR\xa4\ +\xfe.\x081\x8e\x96|^\x85\xc4\xe2\x17\xf2\x17\xd9)\ +\xf6:[\xe8\xa6_\x0a\xd9*\xda\x87\xff\x152\xb4&\ +\x05\xa7\xd0g7\xa4\x5c\x05\xc4\x9e\x87@\x93\xa3\xcdo\ +u\x9f\x8dl\xaf\xceg&,*Qc\xbf\x09\x18\xda\ +|\xf1\x22k\xd5j\x02\xd2\x9d\x9f\x87\xb3\xaa\xd6U\x22\ +.\x03\x84\xc3_\x87\xfc\xffTDM\x19b_%4\ +\xfc\xbd}) \xe3\x8f\x0aX \x14\xec{\x01\xa9u\ +\xb1\xee\xf6\x8b\x80\xc4z\xb1\x0f\xde\xf7x\xe3\xe2\xfa8\ +\xc5\x1eh\x09\xc8z\x0bAO\x5c\x08\x84\xe9o\x15}\ +\xd7\xeb\x1c\xf8\xff>\xef\x1eb\x00\xe2@\xe2\xa0\x93/\ +\xd2\xbf\xde\x8f\xdd\x00\xd9v=\xf4z\xe72\x10\xc8K\ +\xbcK<\xd0\x7f\xec\xbc\xcf\xf7>\xec\x9c\xbf\xd32\xda\ +\xa74\xf0\xdb|\x89\x9bz\xbc!n\xc0\xe9a|\xbb\ +}\xe4\xf3\x5c_\xaf\xd8{\x9e\xfc\xcd\xff\x89\x0b\xc0\xf3\ +\xee\x7f\xe7\xf3:B\xc0\x17\xbd\xd1\xa7\x9e\xf8?\xf7\xd7\ +\xed\x89\xeb\xf6\x9cz\x22\xa2%(j|\xa6\x04\x1bh\ +~\x9f2\x873\xc4z\xb4\x02F\xc5/\x125\xc7#\ +\xb9\xa5G\xfa\xf5\xbb\xdf\xce5\xe06\xcb\xe9\ +\xc7V\xaaK\xa1 \x0dqp.\xb3\xd4\xe2\xd6\x00\xe1\ +Z[E\x93\xe3\xb3\x98\xa3\x07\x0c\x0fd\xcc,]h\ +\xf8~\x1cO\xb7\xdf\xc8\x00\xb5\x02,\x0a\xf8\xaaC\x0f\ +\xa3\x0c\xa4JN\x18\xc0\x7fL\xa8\xf7\xa3\x06C\x10\xcb\ +\xf1\x91|\xb0g\x0d\x81\xf0_-\x93\xd3\xd7J\xdb\x13\ +\xb6L~\xcd\xafe\xa8\x92$\xa8\xd8s\x050 \x98\ +*\x8f\x16\xda\x06\xa4\xe8d\xae:T\xa5\x7f\x1do\x1c\ +\x9f\x9f\xf7\x8a\x7f\x7f\xedl\x986\x8euw\xa0!3\ +\x5c\x0f\xc3\xcd\xc1P\x01Ir\x9d\xca\x5c\xeb%\xfc\xa9\ +dIW)\x02\xad\xd4K\xf7\xfc\xac$q\xb0\xb3\x02\ +[d4\xdf\x95\xa4ww\x08\xd9\x02\x93\x0a\xf8r,\ +N\x8d\xc32.\xefWB\x16\xc3\xb7\xf6h\xdfg\x0d\ +\x94d&\xf7\xf7]\xc7\xde\xed\xaf\x182$\xb0\xb4b\ +\xbc{\xa1\xa7\xdb <'/\xa0\xea5\x11rRN\ +\x19\xf8\xb5\xdc7\x01uz\xf4\x22\x1b\xe7Dg\x01E\ +b\xc9`\xc6\xa7\x0cdj \xa6\x8b\x03\xf0\xfa\x9c\x0f\ +\x1f\x8e\xccMB\x06\x07\x9b\xa1\x02\xbd\x05\xb1{]\xc8\ +@.\xf5mIZ\xf9\xe5\x95\x9cO\xd2\xa8\x02\xff\x5c\ +\xbfB\x5c +Lva\xc8\x87j\x91\x91\x89\xe4\xb8\ +\xeb%\xc7B\xaf\xf7M \xaa\x22e_\xe7T\x86\xaa\ +\xc0\x81B\xabdd\xa6\xbdH2\x7f7+\xca\xa6C\ +\xe8eTYR)\xe2\xc8\xf4^\xdfoL\x87\xe1\xbf\ +\xd2\x80\xc9|3P\xd6=\xa7p\x147\x81\xfd.`\ +\xc3\xe9`\x9c\x99\xfd\xcd0v(\xde\x97\xd2\x80\xe7\xb8\ +\xb3j\xb9\x00u\xceqN\xd3\xe9!\xc7B\xb7\xca1\ +\xf8\xd7t\x9c\xb4\x14\xf9\xbc\xb7e\x80\xa5E\xe0\x0f\xd7\ +\xf5\xe4\xa8\x96\x83,\xf3\x0e\x8a\xc9\x00\x08\x18s\xaez\ +\xe9\xd3l\xd5\xaa\xfbMGz\xff\xa8\x90- \xa9\xc4\ +\xcee\xf3\xf9\xbf(\x11./K=\xef\x8b~N\xee\ +\x81\xc3i!\x1bD\xb6 \xe4\x02F\x0e\x005\xa6G\ +;\xd7C\xc2\xa9\x12\x02*\xdb\x1cd\xad#\x0cf\x06\ +\xaaH\xc1\xf4\xb4W\x05\xdf\x98P\xbd\xd4ZsRm\ +\xee\xee\x1b\xb2%f\x04L\xf4\xcb\xe1\xe2!\xc3\x18\xb6\ +DlTbB\xa0\x9e-b\x95`\xca\xcao9x\ +\x1c8\xe3\x85\xb2RR\xe3\xca\xf4(7r\xd4\x22E\ +\xc5\xc5a>0\x08yB\x93+A\x91\x5c\x09\x15\xd8\ +I4q,\xe89\x10\xf5\xf7\x84\x0c\xa4\xad \xceX\ +\x88\x9dc\xad+ \xd7\xe6\x92Kd<2\x11>\x02\ +\xa4s\x87\x0cco3 \x86\xa0;\x5c8d@t\ +\xa4\xdd,27z\x86#\xd6z\x98K\xbf\xaa\x94\xd9\ +\xd78\x04\x9c\x87$\xa1-\xa8;\xce\x03\xbd\xe0ml\ +\x13\xb2\xc4Jd\xd1\xbf\x02dzN\xc2\x0b\xa2%!\ +\xbb\x02\xbb\xfd\xdbB6\xa4\xdct\x9e\x90\x01\xaa\x0eY\ +\xc0\x1f\x11(e\x02W\x80S\xd3\x84\x8c\xbf\xbdk\xc8\ +\x10\x90C\xc6i\xd1\xbcW\xc8\x80\x0c\x91\xc0\x81\xac\xd1\ +z\x83$\xcfT\x0b\x08\x82\xbf_[\xa7\xcaqT\x88\ +\x01\xad?\xff\xb4\x16|\xf2y\x144\x9f>J\xfdQ\ +\xc8\x06\xef#\xd0\x93\x08\xb2\x8e\xde?\x03\xdf*\x04)\ +D\xf8;~\xa5\xc4<\xbf\x8a=\x87\xa4\xe2'\xb1\xcb\ +*\xeb-\xa1P\xc8\x0c\xfb'\x13\xebUx\x90(t\ +\x9e\xd9\x0d\xfeQrET\xeb\x11\xae$\x81W\x0fd\ +G\x92\xdfq\xba\x8f\x9e\xfc\x9c\xfeT\xfb\x9b\xfdG\xfa\ +\xeb\xbc\xdb\xdfZ(\x15\x0a\xb4\x92H \xd0K\x02K\ +\xeb\xe9\x5c\xf5\x16\x00\x81\x89\xca\xbc\x96Q\x09\x19\x01\xab\ +qq\x9dm\xde\xf5\xaaD\xf7^t\x09nv\xd4X\ +\xeb\xde\x22\xe0<\x08\x90\x5c\x9f\xe7\xda\x03;\xaf=\x10\ +\xecd\x81\xf4^\x1bOWP{z\xaf\x93\xf0\xf5\xc0\ +\xdfzj\x81\xb0\x1e\x12#\xa0\xe4\xf6U#\xf135\ +\xa5\xec\xbc\xcfm\xef{L\xe2\xa1\xbfo\xe3\x88\xaa\xc0\ +_\x02\xc3\xfa\xf7\x04\x07=\xe6s\xed\x07\xcf\xdfz\xdb\ +/\xbd\xa2\xcep\xda\xbf\xfc\x18\xfb\xdduz\xedd\xad\ +\x9d\x85\xbfW\xf8\x8fW1\xef\x09\x00\xfe\x8c\xbf\xeb\x08\ +\xf2\xbe?|\xf58\xc8\xf9\xa4_\xda\xf4\x85\xe3\xb60\ +X/\xf7)1\x9a\x7f_\x08?\x10\xfb\x13C\x86\xa9\ +\x1a\x09\xb9W\x00-D\x1cD5\x92d\xfa\xd1u\xfa\ +\x9e\xfe\xb7\xbe\xae_bJ\xa2\xc8s\x96\x10p\x1f\xf4\ +\x90D\xf7\x83\x169\xe1\xe8_\x86l\x88Wv\xe3\xc8\ +\xfe\xed\xb3\xfc}:\x12\x1f\x1e\xd8\x95C\x0d>;Y\ +Z\x1f\xb7\x8d\xaf\x8b\x8e\xd7\xe93Ya\xc1\x06;\x90\ +\x18M\xaf\x9a\xe5\xd5[\x05k!\xd9\xf8\x8f$;\xba\ +A\x1b\xb7\xf7\xc9a\xe3\xc5v\xf8\xea\x10\x80\xb9!\x8e\ +\x12\x08{\x00\x98\xfezP\xdc8\x08\x90\x15\x06g\xf4\ +wl=\x94\xd5\x03\x1b\x7f\xff\x0fC \xe1@R \ +\xe6(\xca\x80\xffV\xc8\xd0C\xf7sk\xaf\xfc\xe1\xf4\ +\x15\x9a1\xbdxz\xc9\xf4\x92s \xfd\xa0\x80{\xc5\ +^\xe0\xde\xd9\x8d\xbd\xf6\xc0\xbf\x8f\xe9\xf3Z\x1en\xfb\ +\xb9\x8d\xe4\xf3\xfc\xbcCM\x1cP\xd7\x9b\x1b\xac\xd67\ +Y\xea\x8d\xdb;\x5cvu\xb89\x5c\xd3\x9dB\x06r\ +#smA\xf4\x12A\xb2\x7fS\xc8\xc6\xfa\xbf\xfbP\ +\xc8\xe2\x18/\x19\xee\xe9E!C\xef_\xf6zW\xa0\ +\x80D\x0e\x09Q\x06\x0e\xd3\xe7B\xe6\xf7;\x1a\xb2A\ +\xf6\xf6\x8f\x0f\xd9H{\x0e\xa7\xce\xf2#C\xa5\x8c#\ +!!\x14-#\xd7\x19*T*\xba\x1c\xf5\xa0\x88\xba\ +\xe3Py1'9\xcc\xc1\x07\x93<\xec\xe4a\xffG\ +\xddr \xcd,27\x95\xa0\xdeS\xef\xfb\xf8\xeb7\ +\x0e\x07]\xaf\xb51J\xd9C\x5c\x95V\x10\xc7_\x0b\ +\xd9\xc8'k\xba\x82\xa9\x0b\xee\x97\x83\x7f\xad\xac\xfcg\ +\xcb\xc4\xbc\x06k\xa569\x17\xe6\xbf]{\x11\x9d\x07\ +\xe7T&<\xc7\xe5i\xbdP\xf1\xda=o\xf7\xdc\xdd\ +s7\xa8v]'E&\x13\xaa\x07\xda\xf3p\xff\xdf\ +\x90\x0e\x94\xf3H\xf1\x9a\x03\xf2\xbe\xac,\xa8\xac=4\ +{M%\x02\x9b\xe3\xbf\xffR\xc8|]\xdf\x142\x04\ +\xa6\xc6\xa4\xe1$\xf0ss\x9fA@9F\xe7I\xc3\ +\x93\x81j9P\xf4\xe3\x1fe\xa2\x89\x81d\xd0\xe9\x03\ +\x81:\x92\xbb\xf7\xad\x0e\xe4\x1c.-\x89\xad9\x08[\ +\xa7|p\x84[\xe5\xa2\x0c\x12\x07\x0c\x94W/\xe0\xaf\ +%\xc9\xd9?e\xc6\x1f\x14\xfa\xde\xeb\xf8\xac\xc3y\xd7\ +\xe7$a\xb7{l\xc8p\x9d\xcfM\x07\xf4\xd7r\xcc\ +$\xc7\xaag\xf6o\x9b\x09\xbc\x87gbG\xa2\xd8\xfb\ +pD\x8c9\xcd\xc4`\x194\x09\x12\xad\x01\xd9\xe2\x22\ +!X=\xd7\xf6\x03\xc8iV\xe8\xcb\xb1\xe1\x98%\x02\ +\xa0\xc8l2\xc0\xae@\xe7\xd3!C\xc0\xaf\x92(@\ +`\xf8%4\x91\xfdeB\xaa\xb8\x0a\x04\xf4\xc6\x01Z\ +\xff\xec5\xaeV\xa6L\x90\x97#\x00z\xa7'>\x1d\ +.\xf7[\x81\x12\x16t\x81\x96\xc4\xf1\xef.\xb2\x05\x1c\ +\x02\x1d\x09\x8a\xdb\x85\x0czJB\x0fi\xdb\xe7C\x86\ +^\xe2\xadgq\xed\xa15\x1f<\x03k\x9c\x00\xc7\xb0\ +|\xab\xb0\x1e\x8a-|\xd1g\xb5~\xf6)\xf2\xca\xeb\ +\x84\x0cS\x1b\x92\x83\xc1\xf4\x8dJ@\xe2\xaa\xe0\x00\x0a\ +\x0c$\xee\x9c?\x0e\x1b\xd2?\x81\xbf\x845D\x04\xf2\ +G\x89\xdf\xb4\x07\x90\x0d\xd5\x1b\x9e\xa4\x7f\x87\x9b\x85\x0c\ +=\xef\x12\x99\x02\x17\x0e\xb2\x16/\xdf\x83\x12\xe7\xd8\xb9\ +\xb2\xafI*\x5cc\xeb\xb4@i\x0d\xdcZqV\xc4\ +\x9a\xe7\x0b1)\x90\xc6\xb1\x83kH\x05:{\xd8K\ +\xffArq\xd4q\x1fh\x11\x90p\xfb\xc1\x90!a\ +\xa0r/\xb0s>\xb1\xcb\xb3\xb7\x100\xa6\xd9\xd0c\ +9N\xb2\x10$\x1d\x02\xcfq\xef=\xc5\x99\xd0\xab\x16\ +\xbf\xee\x87\xf0\xbb\x129r\xb8R\xc8\xd6\xeaP\x89\x8b\ +\x0c\x9c*\xa1\xdd\xc7f\x09\xc4\x05\x12\xec\x03\x8e\x03\x5c\ +\x0e\xf41\xc8=d\x8cD\xa6u\xed\xad\x19\x1c\xeb>\ +6-\xcf\x97q\xba\xf5\xff\xce\x1f\xbb\x0e\xa9\xe8\x1cK\ +\x90v\xe4\x12}\x09\x09\x06\xb1g\xdc\xb4\x02N:\xf2\ +\xa5_\xf4\x0c;?\xf6\xad\x1er\xdc.\xf9\xdc\xaa5\ +\x92\x9d\xa6O\xd8\x81\xce\xf5\xa3\xd2\xa82,a\xae\xb0\ +\xc1~\x99\xf2b\xbf\xe6\xff\xd5\x18\xcd~}\xddO\xed\ +_\xf6\x89\xeb\xa27Tjq[\xf5\x9ew\x01p\x1f\ +\xbf'\x80\xee$y\x90m\x12\x07\xfe\xdf}\x8a\x1b$\ +\xda\x9c\x8b\xb47\xc7$bA\xb4\xad\x8b\x9fw2@\ +Sf\xb4D\x09\xf0\x04\xfc>_\xc0\xc7\xdev.\x06\ +\xd7\xe7\xfe\xdcw'\xb9\x13\x1ft$\xb1/~\x87@\ +\xda\xfe\x10h\xba\xfeN\xda\xd7\x9fW\x1f\x07\xd8[\x00\ +\xfc\xbe\x93\x16\xf7)\x04\xe2\x9d\xe3%\x00:G\x96\x84\ +\x81\xf3\xe9s\xb5bd\x01\xa0\xd6\xa9\xb7\x98\xb8\x1e\xf1\ +\x94\xd6KH\xaeD\x86I\xfcV\x9c\x069\xaf\xa5R\ +\x5cJ/\xba\xbe\xeeg\xf1\xff\x5c\xa7\xfdk\xbd\xfb\xfe\ +u\xbe >\xe8S\xd7a\xbd\xec\xe7\xf4\x17\xe6(g\ +\xf1\xdf\xf77\x0aY\xfc\xa6\xa5\xf5\xe9\xc8\xd1\xcf\x87\x0c\ +\x99\xab\xd8\xc6\x1fI\xc3\x13\x8e\xdf\xedC\xe6\xd7\x8f\x87\ +\x0c\xe4\x13nL\x86\x92a\xb0qA;\xc7\x00\xf9\xdf\ +\x87\x83\xfe\xb9\xc5%Y/\xf43\xc3\x83\x88\xdb\x18\xc6\ +q\x14\x841\x80\xeb\xdf\x92\x95\x88\x08 \x9f9\xcb\x1f\ +\x0c\x9c\x04\xa1&\xaf\xb5\x8d\xfdY\x96a\x97=\x9c\xbf\ +\xb7\x90v\xcd\xb2A\xfd\x96\x8c\xcc|0w?<\xcb\ +\xa9[F\xbd8\x0d2#kL\xda\x02\x10\xbf\xfb@\ +V\xf5\xeb\xc9nl=\xf4&\xe9\xc1t\xc0<\x10\x0f\ +\xdc\xcf{+@\x0f\xecm\xc0\xff\xe9\xb5\xff}\x8ec\ +\xdc 3\xeb\xdc\xe7c\x0e\x0a\x83\x06\xb2\xad\x87\x1b\xb7\ +\xc3=\xd61I\xc5\xe2l\x03\xaa\xe82 YI<\ +\xfcv:z\xafHG\xeaR\x99\x89\xcd\xb9\xcc\xfb\x9f\ +\xde?d\xff\x90\x05Q\xb1\x90\x03\xee\xce\x15\x12\x95\xb4\ +\xec\x15v\xe0\xb1[\xbbNS\x1b\x1c\xec4\xf8\xbb?\ +\xde\xbdl\xf7\xb2\x0da \x90<|[HB\xa0^\ +\xb7%\x9a\xca\xb1\xe0\x80\x09,2\xa0_:\x02_\x90\ +\x0a\xf8\x03\xdbX\xa3e\xff\xdd$+*\x11\xc0=j\ +\x96G\x0e\xf3\xb5\xcf\x1b\xa1\xd6\x10pD\xe2\xe1\xd4\xa1\ +\x97P@/0\x87\xb4\x90\xd1\x8f]\xf1_\x03t\xcb\ +u\x81\x1eAL\xa4\xe3\xa0\x97\xb4\xa0\x91\x12o\xd9\xe3\ +;}4d\xa8\x5ckU\xf8\x96\xe4\xda\xd8\xe5>\xf9\ +h:p\x0d2Y\x08\x17\x0e\x09\xb2(\x81Z*\xa0\ +\xe9\x1d!K\xe0\xbf@\xffk\xbc \xa8n\x06.e\ +\xf8%XN\xce)#\x9e/}\xf3\x9a\x15\x9aX\x8e\ +\x11\xbdb\xdf\xbe6\xdfW@\xdc\xa0\xc2eh3\xe3\ +)\xb0\x9b\xfe=dpX\xdd\x17\xf2\xb9\x1c#\xa3\x22\ +W\x10f\x81\xd5\xfd\xd6@}\xd6\x1eK\x8bPq,\ +\xdc,\xcf\xcb[\xd3q\xbcx&\xfe@\xaf\x1e\x9d\x0e\ +9hlB\xc7O\xb8O\x06\x16\xa0\xf2\x0c\x0c\x03\xe4\ +\xfa\x1a\x99\x8f1\xa5\xa5g^4\xef\xd6\x17.\xfar\ +%\xd7\xd4c,Qs$d\x0b|*Q\xc7\xf1U\ +)5\x95\xc1\xe73P\x0c(C\xf2'9\xb6/\x12\ +\xbc\xaf\x1a\x02j\x15oP\xdbl\x95\xa8V\x1e\xad(\ +*H\xc6\xed9'*\xd9\x1c&\x5c!\x02s\x0e\x17\ +\x07\x14\xe4X\xaf,\x83i\xfb\x03Y\x9aJ\x0d.\x05\xa4\ +\x81\x12L\xe9\x10\x17\x19\x9b\xeb\xa2\x07\xe8\x7f\x0e\xfb\x8f\ +\x87l\xeb\xb0{X\xc8\x90\xd9\x970\x11\xf0e\xe5\xa1\ +Z\x91\x12iS\xf3\xdb?>\x9d\xbe\xd8\xefO\xccn\ +\xd0'6\xf2\xc1Jp \xc3=#I-\xd9\x15\x15\ +;\xe4yz\x0a\xd9\x0b\xd0b\xd3\x07\x8c\x094\x1eV\ +O=\x04\x80u\xe5\xb8hI\x13\xd8!3\xc3\x85\xd0\ +\x13\xfd*\xba\x02j$\x8b\x19\xc0W\xe0\x94\x88\xa5Z\ +Oc\xfc \xae\x92\xc3\xa2Z\x08;I\x14N\x95\x8b\ +\x87\x0c\xd7\xaf\xa2s\xc3\x90A\xaf$\xd2gzZ\xc8\ +\x90\xa8\x90\xc8QI\xd4\x0b\xaaeO\x22\x1d4;+\ +\xdf\xeeo\xfa\x81\x90!`\x92H\xa5\x1f \xa8\x04\xc4\ +\x90Z\xf7\x09\x19\xb8V$t\xac\xbb\xc0\x19R*\xfd\ +\x01S\x1cT\xec\x0b\xe2*\x91\xad\xd0BO\xd1\xc3\x02\ +\x06v\x9c^\xd3\x9b\xcf~\x0b p:d\x02\xac\xec\ +6\xbdd\xbdZ\x00VSO\xe8\x97+\x84\x0c\x81J\ +\xaf<\xea\xa9\x15(\xf2S\xad\x13\x92\xcf\x0c\x04\xabe\ +\xc7\xba\x0a\xbc\x9c\x83\x1e\xa0 \xf3\xc4\x1d4\x92U_\ +e }\xcc}\x87\xa4\xb2\x12\xe3\xc8\x9a{\x85\x9b\xdd\ +\x13 J\x80\x09\x14$tr_T\xa2B\xc2P\x22\ +B\x80\x8b\x84L\xe5>\xa7Dh1*$\x96\xe7\xc6\ +_\x95x\x05\x89v~\xe9s\xfb\xdbs\xf5{\xdfK\ +\x9cI\xd4I4H\xa4\xd03\xbd`\xc6\x9fm\xbd\xd1\ +\xc7\xb4Ry>\x02\xa5>U\xc0\xf7\x12m\xce\x0d{\ +\x02\xc1 \xfe\xf1{\xc8.\x95ySt\x8c\x13\x95\xc8\ +\x948\xf2\xdcz\xcb\xc8\xf1\xc6\xffYW\x81\xbfu\x94\ +H\xb0\xff\xbd\x0aX\xfb\xcf\xd9\x11\xff\xc7\x0f\xea\x1c\x07\ +\xd6\x8f\x9d\xe9P\xf3NJ'a\xe1\x1c\xf1\xbbz\xab\ +\x85\xdf{.\xc7k\xed\x90\xb8\xfaR\xc89\x04\xc2\xad\ +\xa5y:o\xc8`\x97\xf7I\x06\xees\xdcOo\xb1\ +F6\x9e\xd3\xae\x22\xfaY\xe2\x1f\xf7C_[\x97>\ +m\xc2\xfb\xd0\x8f\xe2\x5c\x896\xd3\x82 \xac\xedC\xfa\ +YB\x11\xa2I\x5ck\xbfw.\xb8\xceA`\x9fZ\ +\xe7\xc6\x11Q\xf6\x10y\xa8s\x9e\xfa\x1d\x92\x8b\x7fS\ +cV\x13\xd1\x7f\xf8@\xb6Z%\xb2\xec\xc8\xd1\xaf\xce\ +\xf2\xb5\x0c\x80\x9e7\x04\xbc9\xa6\xaf \xc6\xffg\x91\ +m\xecS:2\xbb{\xcd\xf2}Ce\xc8\x86\xbc\xf7\ +B\xf3\xb6e4\x83\x84\xe3\x03[\xc6\xa3\xe62c\x9b\ +\x0c\xf7\xf3\x8b\x0d\xd2qd\xabD/\x01\xd4\xed\x07C\ +\x87\xfd6\xae\xe3&\x83\xa3\xcb\x10\xe7\x98\xa9\xc5M\xb9\ +\xc9F\x1eX\x8a;\x80\xaf\x7f\xb4\x05\x84\xd3/\x84\x0c\ +\x01\xa7\x00\xd9\x81\x95\xb9\xbcp.x\x92\xa9`9.\ +\xb6e\x0a\x18\xe4\xcfF\xe5 \x22=\xb4a\xfa\xb8\xa3\ +\xe3U\xf6{\xc0\xdf\x11\x04-S6\xe9%<\xabq\ +\x0d\xf8\x7f\x1b\x8ea\xe3\xb0\xea)L\x16\xf1\xaaL \ +g\xc4\xce\xfd\xba\xb5\x129==d#\x9b\xab\x00\xf2\ +\x0d\x99\x196\x8e)+\xcc\x87\xbf_{\xdd\xccC\x9e\ +\xb7\xeb:\xfe\xe8\x01\xd9ja\xdc\xa0\x03\xd9\xc7vl\ +\xac\xcb\x8bB\x9d\x9f\xda\x12\xf8\xecn\x152\xbf\xefc\ +B\x06C\xaf5!\x1c\xb8\xa7\xa6\xe2\xfa\xd4\xd6\x12\xb2\ +\xb8a\xc8x>\x9d\xfb\xed\xef\x86\x9e\xce\x08\xeccN\ +\xe7sfy\xf6\xf0\xbe\xc9)P\x09\xa5\x18Cx\xad\ +\xa1\x87\xcd\xfa\x824sl\xbf\xb2L\x80?{O\xda\ +\xe7\x06\x12\xc3o\x9f\xe5;\x86\xc01\x1d\xb4j\x0d\xc8\ +\x8a\x15\x87y\xfa`\xc8@*\xc5!\x069Ta\x03\ +a\x97\xe1\xb6\x1f(\x1a\xe4@\x1c\x9ft0*\x10\x83\ +\x00I\xe8{)\xc2LhL?\x1c\xb2\x18\xca\xf5\xbe\ +84*\xee\xae'*\x8a\x87\x01Y\xf0\xfa\xb5e\xa2\ +8\x0c^\x9c\x8e\xf3\x88\xd4\xb8\xde`\x909\x16}\x1e\ +\xaa\x8a\x8bq`9\xdf\xbb\x12\x13\x1c\xd1\x96\xa1\x9e\xce\ +\x1d\xb2)\xe2\xfd\xa3C6\x87\x12\xe7B9\x06\xce\xeb\ +\xb3\xd6\xf5\xa8\x9eO\x0e\xbd\x9e\xfcthK_\x22A\ +\x94\x90\xd9\xe6#\xaf\x95Yc\x95.\x96\xefs\xd2\xd9\ ++8\xe5 \xa4\xe3\xb5\x04\x881\xdd\xe1y9~T\ +E\x22\xe7\xb3c\xb7\xdf=%d\x18\xd7\x95P\xf9\xc3\ +\xe33 \xe2\xd0v\xc7Y\x0f\xab\x84\xc7\xe5R\xff\xbd\ +?\x1d\x22\xe3.9|\x09\x09\xaf\xe7\x82\x1cO\x05\xd2\ +\xe7\xd0\x7f\xce\xb1/\x95@=\xa4\xaeW\xc6\x1b\xc4\x92\ +\xe3\xa1b\x9f\x01\x8esxL\x8fnKh\x80\xdc\x16\ +T\xfd\xbe!\x83#I\xef;\xaf\x89X\x90@\x04\xb9\ +,\x87YeO\xcb\x82\xe9*\x02/\x01\x16}\x0c\xb1\ +\x92\x09\xa0J(k\xe1I\x03_\x154\x10\xd3\xab\x85\ +\x0c\x89D\xe7CK\x8c\xc4K\x9e\xab\xfd7\x84\xcc\xcf\ +\xffz!C\xe0\xf6\x84\x85\xe7\xff\x84\xc3\xcf\x86\x0cs\ +\xd2!\xbb|\x81`K\xd8dk\xd1\xe1\x16!\xc3\xfa\ +z\xaeZ\xe7\x8c\xcfcG\x04\x1a\xec\x1f\xff\xc0\xbe\xce\ +sS\x15J\xf6\xb3\x93\x02\x82f\x0b\xb4L\x13\x00\x9d\ +\xe6\x98\xbf`\x91-1!\xe0\x80L\x80\xd0H\x84\x80\ +\xf1\x85\xbd7\xb9\x02\xe0H\xf0\x9ewp\xf4{%\x06\ +b0\x11Y\x95\xb8t\x1f\xf4\x8d\x96\xba;\xae\xe4\x8a\ +\xf5w\x10QZk\xf8!\xb8K\xf4\x86_+d\xa8\ +8J\x18{5\xe6WBGb\x83^\xd2\xf3\x0da\ +p\x8b\x90\xe1<:\xc7\xc6Vf\x8bU\xd9\xefLP\ +\xd4\xf9\x14\x00r\xa4\xd9g\xfeD\xda\xbd\x22\x15\xd4Z\ +\x90\x89\xf5\x0aH\x91\xb2z\xde\xe98W\xef\xb3\xe7\xa9\ +\xa7\x99\x1d\xc8\xfb\xab\x00\x9e\xc3n\xbd;\xdb\xbcVV\ +\x01)G:\xc9\x00\x8b42\xc9\xb7j\x9e\xbd\xfb\x82\ +\xec\xa4\x1f\x04L\xfc8\xaf\xf4\x9a\xc4\x9f\xc4\xa1\x80\x81\ +}f'r\x9cjM\xa7R\xf0\xe2\xcf\x09\xfc\x04\x0c\ +=Q+\x90\xf3\x1c\xd9A\xfb\xde\xba\xf2K<7\xe7\ +Q`kZ\x07\xbd\xe7}\xd9W\xd3?\x9c{\xf6H\ +\xe5Y/:\xb2A\xe7\x5c\x80\xd3{\xdc;G\x01\xbf\ +\xd4\xbaJ\x04t\xd27\xff\xe7\xe7\xfc\x8c^a\xef\xbd\ +\xf6\xbe\xa7\xcf\x90\xac\xa9\xf4\xb3+\xf6\x8d\xfb\xf6\xbe\xbd\ +\xf7Zb\xa0\xb70\xf4\x16\x83\x8e\x00\x00AG\xaa\xf7\ +\xee\xe2\x04Z\x03S\xeb\xe3\xfb\xf6\xb9u\xdd\xce\xbd\xcf\ +\x13HK}]:\xc2\xa0\x05\xb6\x15x\xf7D\x80\x80\ +\xd6ss\xbd\x9e\xab\xc4\xaf}\xe4}\x9d\xfb\x9e\x00\xea\ +\x5ci\x12m\xfc\x05\xebg\xfd\xad\x87}\xe1\xf9\xb8\x1e\ +\x09\xbc\xde\xc2\x84\x8b\x89\xbd3mJ\x01$\xa7\x9b\xed\ +.\x1b2p\xd2\xd8\x07\xcd\x0f?fz\x8fs\xc5\xff\ +\xea\x5c\x14\xa7\x87\x0cz\xda\xf3\xa0'\xeckc-M\ +\xff\xca\x16\xf69:[\xb9\xd8\xb4\xe0\xa6?{\xa4 \ +V2\x14\x14\x88\x0f\xd0C\xf0\xc7![O\xe2\xee{\ +C\xb6\x0c\xda\x89w\x0a\x19z\x17\xcdO\xcd\xb9\xb9\xa5\ +\xa0(n=\xb3\x12\x02\x99i_n\xff\xcc\x06\x09:\ +$\xf4\xf5\x0d\x1b\xb4M\x22\x00$\xb6~\xaeg0\x13\ +\x16 \xed\xcb]\xcd\x06ww?!\xc3\xa1\x00\x00 \ +\x00IDAT\xc9Y.1\xb0\x7f\x9b\xbf\x9b\x99\xf8\ +\x1a\x8b\xd2\x0c\xc3\x90\xc1]\x1d\x8d\xc6\x9aY\x19\xc1$\ +%*\x87\xa0g\xc4\x5cWg\xcft@\xbdo\x0f\xf4\ +\x8f\xc7!\xd0\xb9\x04\x90\xe8\x1c\x1dZ+\xber\x0e=\ +:\x0e\x86\x8a\x22\x05\x9e\x95\xec\xfd\xcb\xf6/\xdd\xbft\ +s@*\xa1\x91\xff\xa7%b\x0e\xf2\x17\xc32}=\ +d\x08p8\xe2ypk\x0cS\xb2\xc0c\x89>\xbc\ +%d \xaf\xba\xe3\xda\xfbv\xf8\xb7T\x80\xc8\xb6\xee\ +\xben\x5c\x88\x94\x9a\x07\x9c\xff\xb7\xd4\xd1g\xc3\xb8\xfb\ +\xcb\xdd\x1bwo\xdcH\xb58\xc2\xd3[gyK\xf6\ +Z\xdeeHTH|\xfc\xed\x92\xa2X\xaf{`\xdb\ +]\xcc\xe7\x19\x03\x14\x152\xc08\xcc8vc\x80\xa9\ +\xd2-C7\xce\x83\xfdH\x92\xe7=z\x80\x1a\xa7#\ +\xbf\xf4*_p\x81x\xae\x8e\xdb\xd7\xf29\xa5\x81\xd0\ +R\x80\x04\xaa \xb3Y1\xady\xcfw\xcdq\x8e\xf6\ +eBxg\xa3xvEh_\x9c\x91\x8a\xe7\xf44\ +<9\xf7\xfc0\x85\x0cdi\x10\x1f\x10/\x12\x0e\xe9\ +h\x83\x06\x16\xf4\xd5\xfem\xe42\xb5\x0f[F\xbbH\ +\xd0\x04\xda\xa9\xa8\xcc\x81\x9f\xcf\xc6j\x18\xde\x93\x81r\ +\x1f'\x85m]O\xe3\xfd\xd6\x1e~$(\xd5\x9a\xd0\ +{\xe2\x04\xba\x999\xd5\x9a\xa2\xc7\xbe\xc8\xf1T\xa2\x9d\ +O\x15#\x09R\x10q\xe3\xedTh\x1c\xd7\xcc\xc0V\ +\x0f7\x03\x9c\xf7\xb5\xe0P>8T`\xe8\xe3}\xee\ +\xc3O'$=\xd9\xe6\x0fW\x09Y\xeek\xed\xd5\xc6\ +\x86\x7f\xb1\xc3E\x0f\x17\xddZi\x8a\x9c\x10\xe4Y\xa5\ +\x91~wN\x05\xee\xf4\x90\x00$\x03\xb3\xe9\xd1\x81}\ +\xd9\x12<\xc6(\x16W\x87\xdeU\xfaS\x80c\xbd8\ +\xac\x1c \x06\x9eC\xc5 K\x1cd\x02\xa7\x02)\x95\ +vv!\x13C\xc5yq\xf7\x15\xb1Tc\xca$\xb4\ +\x04\xb2*iw\x0a\x19\xa6\x8d|o\xc8\xa0\x179`\ +\xf4\xae9\xbaz\x88]\x87\xf1\x86\x10\x0e\x12\xd0\xaf]\ +\xa4\xa6%\x94C- \xfa\xd6\x90a}sz\x81\xf3\ +\xe8s*\xd1\xf0\xf7!\xc3\x186c\x03\xbd\xaf\x169\ +\xe4\x8a\x99\xf9\xdf\xffl\xc8\xfcz\xe7\x90\xd9>?9\ +d\xd8\x9f\xa9\x87+\x90V\xd96\x8d\xc2\xf4\x86$\xfb\ +\xdc\xffz\xc80N\xf0k!\x83#,\xe0D\xaa\xe9\ +\xe8\x11\x01#(,?O\xc5\xdbs\xb5\x1f\ + 6\xd2\xfeW\x02\x09d\x1fR\x8ec\xae\x05\x8b^\ +T(\x10@\xd0\x13\xfc-\x81?\xfb+\xd0\xb3\xff<\ +W\xcfK`\x82d\xd5\x94\x0c\x81\xbdD\x1f\xbb\xea\xf9\ +\xf9\x9e\xbeP)\x94\xd8\x93\xe8\x17\x90#\xcbt\xdf\x9e\ +\x1bH;\xe4+\x92^\xef\xdf\x02^P\xe4\x9a\xde\xa0\ +E\x91?\x03\x81\xcb\xbf\xec\xfb\xc8u\xd2\xd7\x10M\xce\ +\xb1\xcf\xb5>\x9d\ +\xbf\xaf{\xee\xdb\x0ap7\xbfp]O\x810\xfd \ +!-\x81\xe1}{E[\xc0\xde\x13\x00}\x1c\xa4\xf3\ +\xeb\x5c{\x9e\xae\xb3\xb3\xf5\xf3\x1f;\x89`\x87\xc2K\ +\xc4\xf9\xde~\xe8\xcf\xc9\xcf\x9b?x\xcc:\xb5\x82m\ +\xedw~\xa0i[GB\x86@\x1by\xac\xf5\x85\xf8\ +\xf3y\xfc\x22z.\xd7\xa5\x9e7\xa4G\x9f\xc6B\xdf\ +Zw\xe7\xd4\xbag\xc2\x7f\xfaJ\xc8\xfc\xfa\x96\x88\x80\ +\xb6)Q\x87\x0b\x86\x04\x09 \x88q\x98\xe7\x0f\xe4B\ +\x1e\xdd\xa0\xf66\xd0\xd2k\xfc\x82\x84\x02\xcf\x01\xf5\xfe\ +S\xb3\xcc\x1byw\xfdYf\x85\xb3\xbfn\xc8\xfc\xfd\ +\xbbCr\xe3\x9c?3\xd0\x17\x1bz\xe3\x1e\x95\x8e$\ +\x12\xb0p?/\x90\x19\xd9w$d\xeaF\xb91O\ +\x1c\xe6\xb2\xcb\x80!\xe7\x8b\x80\xff\xbe\x19\x08\xdd \x15\ +\xf6s\x87\xca$\x87A\x056\x8e\xd9G76\xd5\xe9\ +\x19!\xf3\xebkB\xb6\x9e\xd0\x82\x1a:\xf0\x0eD\x1f\ +\xdb'CGqg\xe5Ce\xa8z\x02A\xb4s~\ +}\x19\xe2\xad\xd7\xf9\xec\xbd9 \xb1\x1c\xf3^\x01\xef\ +\x5c\x01=\x83\xda[\x09\xfa\xfb\xfb\xe2@\xea\x05MG\ +O\xa5v\x0e,\x16$\x08\x16t\x81\xc4t\xc6:O\ +\xbe\x0c\x22\x85\xf5\xe2d\xb1\xbfz\x8e\xb3\xa28\x90E\ +\x9d\xb9\x92\xd9\x81(\xd7\x81JG}\x7f\xb7\x90\x8d\x15\ +}w\xf1\xdd\xcdw7\x8f\x83\x96\xfb\xe6>k\xe0t\ +\xf8\xee\x90\xa12+\xf3\x85lG\x86\x0fD>\x8e\x13\ +\xb6\xe6O\xe7\xef\x07\xc5Z\xad(9\xe5b\x81\x1e\x9d\ +4@IUz\xa2\x92\x19\x95\xbdW\xcc\xf2gC\x00\ +\xeb\xe0\x81\xec\xab(q\xac\xf5*\x87c\xff\xa2\x01\xf2\ +\xe9 \x83\xea\xcb\xc0\xaat\x80\x96cE7- \x03\ +\x8c\x1a\xb3f\x1d@\xd0\xbf\x92\x86\x91\x02\x7fg*\x0e\ +\xcfC\xe0i\x7fS\xe0zg?\xbb\x1a\xac\xd9\xbd\xff\ +\xfa\xe1\xeb[E\xaa Yzy\x19\x98\x9f_\xc7\xe4\ +M\x97J\x96\xd4\xbbg\x0b\x8c\x0ae\x83P\x95\x03\xd0\ +Yw9f\x10\x08*\xb6I\xbag\x1a\xc7\x1cd\xaf\ +\x0e*\x92\xbcdu\xaeJ\x0b\x92=\x90\xd0\xaf\xa6\x82\ +\xe4 \xba\x7f\xeb-\x13\x9b\x90\xe6b\xcfW\xe9\xfcb\ +\x06\xc6\xef\xad1<\xebu&\xe2I\xeb@U\x98\xf4\ +t\x0a\x14\x19f\x09\x84\x1e\xf8\x1c*s\xbd^\x17}\ +\xe5\xfc#C\xcc\xa9\x19\xd5KO\xf1\xcbD'\x1b\xfe\ +aZ\xc7\x9eM7\x0f\x19>/\xf7UA\xd1\x93\xc4\ +\xac\xd6\xd9>\x80\x10I$B\x8d\x81\xcb\xd6\x91\xe2@\ +1\xad\xc2\x18/d\xad*\xd7\x9d\xd4\x8dC\x88\x84\xea\ +^\x8bl-\x13\x9d\xe5Z\x80\xfe\x96\xc3[\x0fo\x1d\ +\x127\x02\xe9{N\xf7\x98\xeeq\xec>\xa9V\x08\x09\ +B\xeb\xc0\xe0'I[U\x92\xe9\x09\x8e:\x07\xd4\xfa\ +\xe6y\x0dj\xd3\x85\xdc\x14\xe48\xedA\xf5\x04\x1a\xe3\ +g\x1d9 \x02I\x89\xa9SB\x86\x8a\xb7D\x96\xfd\ +\xa3\x22\xaab\xeb\xff\xb2%\xa0\x8f\x09+{\x03y\x80\ +E\xdc\x98\xb3\x18\x87\xfa\x90-Q\x0f\xba^\xcf\xc9\xbe\ +\x10\xa8f\xa0\xb7\xbfc\xc8\x90\x18\xce\xc0\xac*\x11\xf4\ +\x98\xca`g\x07\xd7\xe3\xce>\xb0{*\xb0\xce\xb5\xc4\ +\x0f;\xeb}\xd8\xc7\x87,\xb2\xed\x1b\x01\xbeJ\xb7\xf5\ +\xe3 \xf9\xbf\xb1\xa5\xf0\x5c\x83\xe3%\x11\x86\x13\xc4\x18\ +J=\xf0Z\x11\xe8)\xc8?z\x0c2\x0c\x09\xa9\xb1\ +\x9b\x12\x99\x12\xda\x89\xfc\xa9V\x0d\xf7\xc7\x01\x05M\x87\ + \xfb\x99\x90\xf9\x98\xfd`\xc8\xfc\xff\x9fM;+\x11\ +\xe0\xfe\xadc\x06\xea\xb5\x8ez\xb1AO\xb3\x90\x03\x1a\ +^\x15\x7f\xfb\xda}uR8\x01*H9\x7f(+\ +\xf6\xd5\xcbo}\x1b\xc2&f\xa4,SR\xfas\xa5\ +\xcf\xf4,K$C\xce$\xb7G\x8d\xeb3]%\x91\ +\xa6\x95\x08\xca\xf5\xabD\xaa\xc0\xc1\xf5\x08\x04z\x02\xa0\ +\x8fQ\xe3XkE0\xdeT\x8b\x0e=l]$6\ +:\x94\xb7\xf7\xf0b\xe5\x97@\xc8DE\xad\x8b\x84g\ +\xaf\x14\x0b\x00\xda\xd4\xa0\xb2\xdb\xdd\x1f\x95p\xca\x00\xaa\ +\x9e\x0bd\x91}\xacE@E\x142\xc6\xff9\xf7y\ +\x0e\xea\xff\xfa\xd4\x02\xfeD>\xefj\x09\xf0<\xd9o\ +\xeb\xd0{\xd7\xed\x87\x1e\xa8\x09d\xfa\x187_\xf6k\ +O\x04t\xc8\xb9}(\xe0\x17@Y_\x89-\xd7\xd1\ +\x91\x01\xce\xa5\xd7\x9e\x08`\x7f\xac\x0b\xc4\x898 \x03\ +\xfaj\xc1\x12\xd8\xe3b\xea\x95y\xfb\xb3C\xd3;\xe7\ +\x02}\xdb\xb9\x0b\xfc\xbf\xeb\xb2\xff\xfb\xfb{\xa5\x87{\ +\xfc \xe1e\xbd\xecg\xf6%\xa7\xa2\xd4\xbe\xc4}c\ +\x1f[\xbf\x8e\xd4\xf0}\xaf\xd4\xfb\xdeu\xd9\xf7\xd6\xd5\ +\xfe\x99Z\x01\xb3'\x00\xfc\xbc#\x10\xec\x1f\xef\xcb\xef\ +\xb4\xce\xd6\xcf\xf3\xb1\x0f\x04\xfe\x9d\xbb\xc0\xfe\xd2\xc2\xa0\ +U6\x11a\xfc\xa3\xe9\x89![\x22\xad\x12\xca\xae\x83\ +\x1e\xe9\x89\x0d\xd7\xef\xbe=\xbf\xee\x1f[o\x08x\xe7\ +\xa7s\xaa\xb8~\xfeG\x22\x18w\x7f\xb9{\xc3\xee\x0d\ +\xcb4\x9c\xbb\x1d\xee\xb6!\xa7\x8e,=\x93\x17\xce\x0f\ +\xfeLfbg\xc3\xbd\xff\xb3Y^\xb19\x90\x0b+\ +\xeeC\x12\x92\xf5\xc2|}\xfe0f\xea\xee![\x0f\ +\xd7\xc2Z{\xcf\xa1\x22\x18\xea|\xb7e\xe0A\xc7\x17\ +\xa0s\xf4\x9c\x9f\x16\x92\xe3r~/\x1f\xdc\xf92\x00\ +\xba\xc507Z\x85\xd5\x83I\x07kv\x08\xef\x19,\ +\xb9\xc56\x9b\xa4X5\xfe\xe0F\xb3\xdcp\x98\x83\xfd\ +\xa4\x90\xad\x82j\xfeq9 \x16\x14K\xee\x8d\x02\x9c\ +=dr\xff&\x1d\xfa}\xf6\xa8|,\xc9\x81\xfc\x1e\ +\xb4O&H\xa0g\xfc\x91\x1eJ\x99u\xffg\xc3\xda\ +\x08*\x0c\x02\x96\x1e\xc0u2\x8e\x0e\x95\xf2\xff}\x1c\ +\x8b\x0d\x9e\x0e\xf1\xf4\xa7!\x83\x03\xfa\x8f\x99\xd94\xa6\ +\xe8\xce!\xcb\xd8\xb65\x10\xbd\xe4\xaa\x00\xa7\xa7\xadc\ +\x00w\xaf\x09\x99_\x1f\xb4\xfb\xd1\xdd\x8f\x0e\xbd;\xc9\ +\xb6]\x99\xc3tH\xcb0\xaa\x84g 1}2d\ +#\xa7\xdb]$d\xbe\xad7\x84\x0c\x8e\x0f(\x22\x12\ +\xaa\x9cF\xb0\xbfm\xc8\x16H\x16\xc4W\xe0\x9a-\x0d\ +\x8b\xc3\xf7\x81\x81l(\xc6\x80=}\xd8\x07\x9d\xe5\xf8\ +\xcbK\xadv\xdb\x1f\xa0sQ!~\xfc\x00\xad\xcf\x03\ +W\x15,\xac\xe7\xd92`\xac\xdf\x12\x80\xae\xdb\xf3t\xae\xd8\x1f\x81\x11\x07\xfa\xab-\ +\x01\xee\x5cC\x8aaw\x87\xd8t?H%!D\x8c\ +a\x15\xb8C\xb0\xd1C\x9e\x9f\xef\x9d{\xfa\xc3\xf5\xd1\ +\xdfZT\xf8i>\xb7\xcfSw\x8e\xe8O\x9f\xd3\x0b\ +>\xee\xcf~\xa2_!\x04 \xb7\xd8\x99\xee\xd7\x0a\xd8\ +[\x22\xa7Z\xda\xecW\xe7\xd7\xdf\xf9\xff~n\x9dK\ +\x15\x7f\x09U\xf6]%\x9c\x9ei\xfe\xa9\xc2\xdda\xf9\ +\x1a\xb8y\x8c\xf5\xf5\xb9\xdd\xcf\xf5\xbd\xdf\xdb\x8f\xf4H\ +O\xb4X'\xcf\x87}n\x89\x80\xda'\x02s\xf7\xef\ +~\xed\x07\xc8\x09\x7f\xe79J\xd4\xf1#\xd9E\xaf>\ +\xd7\xf58O\xf4$n\x00\x08\x91\xde\xbbn_\xf7\x84\ +\x06\xfdOo\xf6\x84S\x87\xcc;\x97\xce\x0f\x7fHb\ +\xc0\xb40\xeb\xec\xbe\xdc\x87\xeb\xf6\xff\xc7#\x03\xec\x5c\ +\x0e\xfc\xb9\x8e\xe4\xf0\xfc\x04\xfa~\xde\x13\x00\xfe\xafO\ +\x15\xa0\x1f$\x84\xecc\xeb\xe3\xf9\xd1\x1b\xfeN\x5c\xd4\ +\x9f\x93\x84\x92V#\x08\xac\xf4\x07b&WL\xe5\xda\ +\xdd,d`\xf9\xef\x082\xf7\xd1\x91\x10>_!\xd9\ +9\xf1\x9c\xfd^A\x8b~\xf0\xf3\x9e \xf3\x80\x91|\xe1\xedKm\xee\x84\xfd\x9d\ +B\x06\xa8r\xe4\xdb\xa3%\xe01!\xdb\xc2\x83&\xa8\ +\xd0\x0a0A\xfe\x19\xee\xddEC\xd2\xd1\xf9\xf6\x8d\xcc\ +o\xe1\x8e\xff\xa1\xcd\x11\xaf\x8c\xae\x0c'\xa8y@\x8b\ +\x9f\x94\x0eTT~\xee6K\x042\x8f[\xe4\x84\xdd\ +UC\xe6\xf7\xfdb\xc89\x8cY\xb9t:\x80\xc6\x06\ +\xe1\x08\x90\xd1\x01\x01yX\x8e\xc5\xcaqr\xd3{C\ +\x86\x8dD!\x09\x108\x94\x02\x00\x9f\xeb\xa0R\xd0\x10\ +\x01\xfe\x9eA\xb0\x81\x19\x06?\xefs\x5c\x8d\xa7HR\ +\x8cr8(\x00\x81\x98\x1e\xd5\x0c\x18\x0e\xa7&\x89\x93\ +\x1eL\xa4n'\x85\xcc\xaf\x7f\x142\xbf\xfd\xa5B\xe6\ +\xd7\x8f\xee>\xb6\xfb\xd8\xe6\x88\x1a\xb7\xb4\xff\xae\x90\xf9\ +\xf5\x07C\xe6\x9f\xff~\x22/n\x96l\xe1\xc8\xa7>\ +\x10\xb2\xb1\xda\xefn\x1c2\x8c\xe3\xd1#\x0e\xda\x9b\x8e\ +\x0fh\xea\xe1\xfc\x87\xf3\x1db\x5c\xc7\xb9f\x99\x0f\xdc\ +\xfeE!\xe9P}<{\xee~o\xe8\xe5\x1c+\xe0\ +g\x0c\x0aV\xc6\xda\xfa\xa4\x83[\x95\xfdx\xba\xbf\x94\ +\x01~\xb0\x8a^t\x96\x8b\x0c\xac\xdf\x0cm\x1c\xd3K\ +\xa6\xa1\xfel:\x8a\xef\xc9J\xe7k\x92\x9c\xee\x13C\ +K\x88^\xa3\xf7N\xef\x9b\xde\xb7\x19@\x10\xf3\xe9\xd3\ +\xebX\x91\x9a\xc6\xa1\x22o\x8c\xd9\x89\x09\xb9\xfeD\x22\ +\x22\xde\xb1\xf68\xd64\x01\x06\x97BKh\xfc\xfe.\ +!\xf3\xcf\x9f\xb6H\xbc\xef\xf2|w\xb7\x0d\xd9z\xea\ +\xab5\x01\x12\xe6\xbci(8n\x1dZGAu\xc3\ +\xdd\xa0[5\xc6\x0aT[E\x99AQ\xc1\xf6|p\ +\x13Xo\x8e\xab\x0c\xee\xed\x92\x9c\xeb\x05\xb9\xaf\xdd\xef\ +cB6hs\x05P\x144\xc3/a#Q\x04\xc2\ +\xca\x90&\xa2\xe3\x84\xab\xe4\xbe\x10hf\xa2\xa9H\x18\ +\x19R\x8e\x83i\x0b\x19\xb8\x14\x89\x99\xf3\xc8\xa1p=\ +\x0c\xa4\xb1a*c\x0c\x98Jh\x92\x03\x16$\xbb\x8f\ +\x91\xd1\xf3\xff\xd6\xacL>d\x1doV\x86\x93\xdeP\ +!x]\x22L.\x97\x150\x81\xe9I\xf9w\xff\x99\ +\x86\x94c\x02\xcakL\x9d\x9e_\x813\xfd&1\x03\ +R,@\xc4\xd1a\xbe\xf7\x13\x16\xda\xd6\xb8\xbf\xb5B\ +\xc8Q\x92\x00\x15\x18J \x5c0\x7f\x9e\xcfS\x22\x02\ +2\x05\x8bz\xbd\x8f\x04\x22\xc4Vf\xea\x05\xccAQ\ +\x1a$\xa5\xe5\x08\x1bW\xf8/!C\x00\xaf\xc5\x83\xfd\ +d\xf0\x9d\x7f\xfb\xd7\xfd{n*\xa9\xd8\xc8%\x84U\ +P!\xe4 \x02\xd8W\x01X\xee\x07\xad\x07\xd3\x9bB\ +6\xfbZ\x09\xf6$\x05\xadi\x03I\x0aW\x09\x94\xac\ +\xd0\xd7|zd\x82?\x9b\xd3n k\xb4\xc2\x5cc\ +M\xf0\x19\xc3X\x8e {c\x9fp\x8c\x04\x1e\xecW\ +'\xedd\xaf\x05v \xe7\xc8.\xe9a\xadx\xdd\xe1\ +l\x15\xc6\x1a\x9b\xa5\xf5\xca~\xa6\x87\x9c+\xcfE\x85\ +$\x03\xea\xfd\x0bCf\xbdw\xe5\x90\x01\xb1\x93~P\ +!K\x8c\x99\xcbVGS\x0ej\x0c2\xfd\xc5\x81\x96\ +\xe0\xf1y\xec\xb2\xc4\x04\x92\xd8\xec9?\x5c/d(\ +\x18(x<~\x91m\x1f\xf3s\x8c\x034\xd61{\ +\xe6\x8bDP\xe2\x93?\x93\x88\xb2\xda'\xc6\x22j)\ +\xe3O\x08\xd4U\x8e=7\x88\x0b\xeb\xe3\xb9*x\xd0\ +\xab\xd6\x9f\x1fC\xcf\xd0k\x02\xc3$\xdd,\xfd%\xc1\ +\x89t\xd0\xb9\xb2^\xf4/\x87\x97^\xee\xa4d\x9e3\ +\xbd\x03\xb2,qE\x0f\xbc5\x11F\xe9\x0f\x96\xde\x86\ +p\x13\xb8w\xae%\xd7\xc3\xfe\x81\xd4\x9b\xde@\xff\xb2\ +\x7f\x9d\x8c\xcd\xbe\xa7O\xfa\xbe\xe4\xef\x09L$\x1a\xf8\ +%\xbd\x95M`\xe0s\xdc\xb7\x16N\x95D\xcfKE\ +\x5c\x22\xb3#\xf3\xe85\xeb\xc9\x8e\xf5\x9ew\xef+\xe0\ +\xc7Q\x93\xad\xa4e\xb7%<<7\xf7\xe3\x9c\x18;\ +\xaep\x03\xe1\x03\x11\xd8\xa1\xe0}.|\x1bs]\xe7\ +\xa4\xb3\xa8\xf7\xc0Y\x22\xa5\x8dq-?\xc6~\xe1o\ +{~\xf4zo\x9d\xf3\xd5\xa6(\x1d3\x06\xb0\xb5V\ +T\xc0n\xbd|\xbe\x84\x8a\xf3\xe7}\xfbx8\xfe\x0b\ +\x96{\x09\x19\xe7\xcd\xab\xfb\xf5\xbc\xfb8N\xfb\xa9\x8f\ +\x0d\xec\xa4{\xee\xb7s2\xf5\x0a\xb7\xe7!\xbe\xf1\xff\ +\xae{K\x18\xac?\xe7g\xf41\x90\xde\xaf#?\xc4\ +/\xce[O\x00H\xc8\xf5\x16\x11-\xc6\x92j\xfc\x8b\ +\xce\xd9`\xbd%\xbc\xdc\xe7O,\xb2\xf9\x01\x0a\x87H\ +Z\xad_\x8f\xb3\xac\xdb\xf1\xc8\x11\xfb\xf3\xf1\x5c\xd8;\ +\xad\xc6\xf4i\xe7\x88\xa3\x9f Z\x1f\x18\xb2\xd9s\xe3\ +\x09\xa7\xdf\x0d\x09\x0e\x80\xec)Ui\xd8\xff\x9f\x90$\ +\xab\xb9\xd3P\xd9\x8a\xe5\xffZf\x8c\x7fy\x83\xa8\xed\ +\xee0\xcbw\xa7\xc2z\xff0n!\xa0\x91_H\x83\ +\xf1\xb7ih\xffq\xa8`\x04\xf0\xfc7\x13\xa2y\x8b\ +\xac\xfc\xfe\xc7\x96\x09\xdf}~\x96/dE0\x1c\xf7\ +g\x85\x0c\xe3iL\x15P\x89\x8d\xc0\xf5\xa7\x87\x07\x1e\ +\xee\xf9U\x92\x0c\xeb[\xe7\xfb\xba\xf9,7K\x08\xfa\ +O\x0d\x10\xef4\xac\xbb\xff\x08\x19\xc8\x9bp\x19\x80|\ +f\x8b@\xb1F3\xd027\xe6\x00w2\x07\x0aU\ +\x80\xc2@\xda\xe06\xaa\x07\xc8\xd1A\xda\xc4\xc0\xf5\xb9\ +\x96\x14H\xb2\xb8\x1es\xf0l \x8a\x8e\xc1\xe2\x90\xf5\ +^&=\xa0Y\xb98\xbc {ps\xa3O'\xae\ +\xbd-\x1ca\x89\x93\x13_\x162\xff\xfcGB\xb6\xde\ +\xb7\xe9\xda!\xdb:\x16\x87\xc2\xdd\x0f\xf78\xdcc\x81\ +\xb2\xac\xac\x959\xe7\xbe\x02\xddW\x87\x0cd\x8eYI\ +(r,\xd0\xba\x9b\x9f\xdd1:\xbco\xed\x0d?<\ + $\x15\xf7\xfb\xd3\xc0\x8d\xf3m\x91\xf0q\xbc\x1d\xa4\ +\x08\x9bN\x19\x14]\xac\xca\xb9\x86\x0c/H\xae\xde\xe6\ +h\xec\xb8\xfa\xd0\xea\x02\x92n.k\x84s\x17N\x87\ +\xe2\x1b\x86\x8c\xdc\xc8\xda\xffG\xdb\xd8\xa5\xe9?\xf3`\ +\xbe+d`\x13W\x09\x16(\xde*\x1dx\x88\x80\x8b\ +dO\xec7\xae\x0a\xa5\x02\xcb\xaf\xa7\x82T\xb9R9\ +\xe2\xd8\xffb\xc8\xe6\x00\xec\x9e\x192\xbf\xdfSWD\ +\x87\xf9\xdd\x05\xe5\xbe^V\x8e\xae\x94\xbd\x89\x90\x0e\x14\ +'\xf6\xd3\x07,\xb2Ms`\xf0\x18\x00P\xfe\xa7%\ +)V sn4 Q\x16\xf2\x81s \xb1\xc9\x80\ +a\xff\x17!\x89\xd8x\xda0\xdf>[\x15\x0e\xdf\x9f\ +P\xed\xd7\x85l\x89\x92\xe2\x8a\xf0<\xed\x7f\x15\x1aS\ +\x1dr\xfd\x0a\x12\x9cc'k<\xa6\x00(\xafw\xff\ +\x1b!C\x02\x07\xf4\xb7\xf7v\xbd7\x15\xf8\x19yn\ +\x19:\xfa\xca\xf58\xdf\x1cT\xbd\xe4\xc6\x8d\xb9o\x06\ +\x1f\x12&\xa1\xad\x93) \x1c\xb1d\xd9\x86x\xaa\x16\ +\xa8\x8dlj\xcd\xb9\xbe5+\x8a\xff\x99\x09\xcd\xa7&\ +\x9b\xb9\xfb\x10\xb0\xa7C~\xf8\xb3\xec\x9d\xfe\xee\x95\x93\ +\xa3 \x8b\x02J\x09R\xfb\xd6\xb9\x12 \xa9\xc0\xd1s\ +o\xccW\x88\x0f\x86\x9aAf89\xc4\x1c`\xeb\x0b\ +\xa1\x81\xf3\xe1\xfb2\xf0\xb9E\x8e\xdd\xc3\xa2\xfb\xb4\xe4\ +\x14\xc1\x02\x9e\x9c\x01\xd3\x1f\x86\x0c\x15@\x95H\x09f\ +\xfb\x5c\x02'3\xe8EF\xab\xb7\xdf\x97uSY3\ +\xb6I\xc2*\x13\xc5\x95\x00\xcb\xf3V\xbd\xbf\xce\x9d\x0a\ +;\xc3o\xacVN\xe5)\x04\x8a\x84\xf6s\xd7\xb1\x9c\ +\xecY\xb5f\xe0\xdc\x91\x98\xd1J\x00b/!\xf7\xeb\ +\xebX\xc8j\x9d\x10H\xe4\xba\x1e\xbe5dI\xe4\xce\ +2$\x80\x90\xa7\xa5>;\xfcj\xc80eF`#\ +\x81\xcb\xa1\x16\xc0s\xf8%:TF9\xc4\xcd1\xab\ +\x0a\x1d\x07\x99\x9f\x22\xa0\xf1\xf7\x8d\x85\xbb\x90Z\x02\xb0\ +\xc6\xdd\xb0\xff\xed\x90!\xde{v\xc8\x10\xe8\xa5\xbd-\ +H:\x04\x8b\x7fHn\x82\x22\xfd\xe4Hj\x99s\xce\ +\xd9\xe3\x5c\x97z?\xcf\xdb\xf8\xbf\x1c\xaf8\xfdE\xc8\ +\xfc\xfa\xc6\x90\x8d\x83\xa5\xc6b\xe6\x94\x86\xb2g\x89\x0c\ +)\xbf$\x11'\x85t0\x16\x11\xbb\xbc\x96-\x8e\xb5\ +\x00\x84\xff\xe1>@\xf7\xadw\x1f\xbf\x95\xf6\xad\xa0\xcb\ +\xa6\x06eo\xec\xe1\xb3!\x03\x12G\xa0b\x1c!}\ +\x07\xe1a\x1a\x03$)\xa4\x81\xd6\x9b\x1c\xbfW\xd3\x0a\ +\xfa\x18S\xcf\x85\xfd\xe7\x17\x09\xcc\x04\xa6\xf4\x9b\xff\xb3\ +\x8e\xfc'z\xd9\xfd\x0a\x9cT\x18\xf3\x5cU\x0f?\xff\ +\x87\xfd\x930\xc5\x81\x22\xe0\x15X\xd0o\x12\xb8\x10\x00\ +\xf4g'mK{:\x9d\x1c2\xf8\x95\x9e\x13\xff\xd0\ +\xfe\xb7\x0e\x99\xb8\x81D\xaby\xe6\x90*\x90\x82\xf4\x9d\ +\xffs\xff\x1d\xaa\xdf8+\x8aS\xcc9\xb7\xce=\x81\ +`}{\xa0\xd4\x03\xfa\xe3\xfd\xbcs`\xf5\x1et\xd7\ +\xdb\x03:\xc8L\xbd\xf1\xfc\x0c\xeb%\xd0j=\xf8\xa5\ +W\xfc\xbd\xcf\xe3\xef\xb3[\xd6\x9b]\xf2\xfc\x1b\x09b\ +\xb5P\xf8}\x9ff\xe0\x5c8\x7f\xae\xc7\xef\xc5\x09\x90\ +\xb5\x12\x08}\xcc`G@\xf8\xbdu\xb2\x7f\xed\xe7>\ +N\x5cE\xb9C\xfa{ \xdf9\x06z\xaf~G\x00\ +\xfc{\xfe\xdf\xb9\x1b\x94\xdd~h\xd0\xfbjm=\xa1\ +=o\xe7\xa6#\x00\xfc\x1f;l\xffY\x7f\xfa\xc9T\ +\x98+f\x9cG/\xbb\xce\x8e\x001\xe5-\xe3\x81J\ +\xf8\xf1\x97]\x87\xe7\xd3\x13\x15\xec,}\xd5\x11\xb1\xd6\ +\xcbz(\x0c\xd1\xb7\xce\xa7x\xa4s\xbcY?\xfaC\ +\xcb[\x92\x8aO\x97\x09\xc9\xb8\xfd\x0e\xb1\x5c\x11\x96~\ +\xcb\xfc\xff?\x122\xbf>.d\xcb$-\xec\xc0w\ +\x1c\x14A\xa8\xcb\xb7e\x8f\xec-\xe7\xf3\xf9\xe6\x90\xf9\ +\x0d\x1f0\xcb\x03s\xa3\xbfy\x1b\x9b\xb3\x90\xe1\xfd\xfa\ +\x00\x95\x8b\xca\xcc#\xb6\xc0y1\x94?\x90\x01\xfe\xb3\ +\xb7\xc0\xa7 \xc0H\xc9\x22S\xfc\x8c\xa1\xc2\x06\x92\xea\ +\xc1\x9c\xb4\xb8\xd4[\x06&:\xe1\x9e\xb2A\xcd\xf6\xff\ +\x12\x92\xbd\xc2O\xcf}:\x8c\x97\xa8\x0a\x90\xf1f \ +l\xa7\xe6\x9c`\x9c\x056DB\xba\xabW\x0d\xc2\xc1\ +\xe7\xa7\x83W\x0f\xa4C@z&\x91B\xb4q8\xc8\ +\x0c\x93\x8c\xad\x83\x86\x1d]\x80\xc7P\xb4\x0c66m\ +\xf3\x8bAA@0\xe7\x80|\x96\xe5\xb9,\xe3\x9d\xf6\ +\xaf\x0e\x99_O\x9fev\xe8v/\x99\xe5\xa5Ke\ +hI|0\xb8\xbb\xf3\x84\x0c\xf3\xb7\x13r]\xa4{\ +\xb7Y\xd7\x8f\xa3z\xe2\xc7C6\x123\xf7\xb1{\xce\ +\xee\xd9\xbb`\x97?+9\x02\xbe\xbaV\x02@\xd8\x8a\ +M4\x1d\x5cs-\xf77\xdd\xdf$\x10)\x1c\xb6\xa3\ +_9z\xd6\xd1\xb3\x86\x007\xc8\xac\x9e\x90\x09\xa3'\ +%$\xfbB\x83\xc2\x8a\xb4\xc6O\x0e\x06&\xc2\x83\xd3\ +\x87\xf1\x91\x19\xe0\x17\x040\xd2\x18\xf7\xcdD\xd77\x0f\ +\x86\xf3\xf2!\xc3A3\xae\xe8\xb2\xb3\x5cn\x80\xe2\xc5\ +~~\xc1\xd2Bq\x97h\xa1\x90HA^\x16\xf8\x91\ +@\x90\xecn\x172@;\xb3\x12=\xfd\xea\xda\x22S\ +=\xa7Y9U),\xd6\xe6'f\x05\x15iX&\ +L\x18\x08\x0e\x1fGx\xf7\xb9\x90\xa1\xf5\x82\x02\x14\x80\ +`\xcfF.\xa4\xd2\xa7GRb\xab\xcf#6\xae\xcc\ +~\x06\xd1\xcdV\x8d\xc3\xcf\x1d\x1ezx\xe8\xa0\xd0\x1e\ +\x96\x0e!\x03%@\x908\xbao\xf6\xca&\xc4\xf5p\ +f\xc8|\xfd\x0f\x0d\x19 \xd8\xff+\x13N\xbf\x90\xad\ +,\xce\x1f$\x83\xf3\xc7\xb1\xb3~z\xe8\x13\x82;]\ +(\xe7:\xab\xc0\x9f\x16\xb2\xf5\x8c\x1f\xbe\x10\xb2Ae\ +\xed\x03\x89\xa8\xe9\x15+R\xa3z\xeb.\x9a\xadD\x99\ +H\xab@\xb6W\xca\x05\xd2\x1c\xb4\x84p\x97C\x0cB\ +\x9f\xe4q\x87d\x95\x9en\x96\xfb\x11\xf47Y\xc5k\ +\x9a\x00\x87>\x13\xa8\xceI\xb1\xf9\xbf`\xad\xb4N\x0f\ +\xcci\x0e\x12P\xf4\xef\x9f\xaf\xe3\xb7\xa6S\xf3\xf7Z\ +\x9f\x9e\xb9B\xc4\xabU\xe4\xba\x99`\xb1\x7fT\xf0\xfa\ +\x180\xa4\x89\xff7+T \xc7\xf4\x16GY\xe0\x9a\ +\x0ei\x91k\xa9 ;\xbf\xde_+\x00\xb2;\xadV\ +2\xf9\x8f\xcf1c\x9f:{\xa5\xac\x02B\x8e\xecO\ +\x84l\xad/*\xa5\x85t@\xba\xa9r\x0dJ\xcda\ +\xa2\xdf\xdd\x8f\xb1t\xa6\xc7h\xc1PI`\xb09z\ +\xecE\x06F\xb8)v\x1f\x0c\xd9HW\x8b,\x11\xd9\ +jN\xe3\xa8\x00^%79^jz\x01G\xd8>\ +\x83\x14\x83\x00HD\x06\xd6z\x01wUj\x05\xe8\x1c\ +H-8yN\xaa%\xc4y\x93\xf8PQ\xd33\xef\ +|\xa8hK\x00h-R\xd9\xef\xa4M\xce\x05\xc7\xd9\ +~\xe0\xf0\xf6\x9e\xe5>\xffY\x05\x9b\x1d\xf7JO \ +7\xd5\x02\x91vT/}!\x85\x92\xeb\xa5\xc6\x1e\x0a\ +\xf4S\xffV/\xa8\xdeM\xeb\xd5\xe7\xc5s\xc0U\xd2\ +9vH\xf3r\xac`\xad\x87\x00\xfe6!\xc3y3\ +\xee\x0f\xdb?\xae\x0f\xebij\x91\x04\x85V%\xfb\xcf\ +:r8\xb5\x04\xe0>0&S\xe5:\xf5W!8\ +{a\x01\x02\x05\xeb>\x96\xff_\x0e\x19\xae\x9b\x1d\x10\ +\x80`\xff\xbf\xff\x22\xc7\xce\xe9\x96\xd0A\xc6\xd5\x13\x87\ +mlp]W')\xc3\x01\x90\xe32\xeb\x1c@\x8a\ +\xd9_\xde\x97C\xafB\xaf\xa0\x22\xb1\x0c\xc4\x9a\xad\x10\ +\xc7\x90\xdf\xda\x9f\x99(*N\x02\xf7g\x7f\xd8G\xf4\ +\xe7q8\xa0\xca\xeeA@\x99\x16\x04q$\x90\xe7'\ +K\x98\x09\xd0\x9d\x0f\x88*\x08\x9e$\xc5\xadu\xb4\xee\ +\x12\x14\xfcMzZ\xc5\xdf\xfbJl|\xb8Z\x11\xd7\ +\xfb\xf3\xc5\xcf\xe8\x89\x8d^i\xee\x81\xbf\x9f\x8f$\xe1\ +'\x9cC\xc2@`\x08\x01(\xe0\x17\x08\xdb/\xbd\x97\ +^\xe2\xc0\xfaI\x00x\xa5\x87\xb4P\x82l\xbbO\xcf\ +\xd3~\xe1g\x18\xfb\xe7\xfc\xdaW}l\x9f\xbf\xb7O\ +\x1a\x99a\xbd\x0f}\xc6\xbe\x88K:\xe2\xa1'\x00$\ +\x14\xd8\x17\xfb\xcd\xf3\x10\xe7u\xf2;\xcf\xa5#\x1dz\ +KB\xe7\x1e\xeb\xbd\xf4gf\xc5[|)\x81\xd5I\ +\x1e\x91`\x7f)\x03\xf8\x1e\xe8\xe2$\xf8\xef\xd5\x0f\x9c\ +\x7f\x07Y\xb2\x06\xf4\xa6x\x9cu\xf6\xc2\xd3\xe1\x13\xb9\ +n\x90\xa5\xa6\x93|x\xb5o\xd3\xe5\xd2\xbf\xe0\xc7'\ +Y\xf1t\xebDJ\x19?j\xca\x1c\x7f\xdb\xf5\xe3\xfe\ +\xea\xf6\xe7\xcb!\xc3:\xdag\xbd\x87\xdf\xfbX/\xe7\ +M\x5c\x97\xa4\xfc\xe57\xb0\x17\xf4\x91\xe7)a\x9dq\ +\x22\xae0\xe3\x97\xc5\xb9G\x16R\xa9\x07lc\xc8\x8c\ +\x8f2>kz\xf0,\xd1{x\xbb\x90!\xc0MV\ +\xfd%<>5!\xb9?\x92\x0a\xe6}Y\x01\xfc\x95\ +!\xe0w\x83\xa1\x1e\xfe\xba\xf28\x1b\x09\x1bE\x95\x07\ +q\xff\xbe\x90\xad\xa7\xf8\xc4\xef\x0f\x19\xd8\xadc^\xf1\ +g\x87\x96\x81ps\xde\x9f\xe3\xb4\xde\x93\x99\xc8Y\x01\ +\x1d\xbd\xd9,7]X\xedg\x99\xff\xefq!\x1b\x14\ +r\x81\x06\xff\xf2\xe6\xe0M\x9f\xcd\x8a\x9f\xde|\x86\xd1\ +F\xe6\xf8\xc8\x14\xca\xbc2\x94\x145C\xdc\xa1[\x9d\ +\xe5\xdf\x81\x05\xad\xd3\xcb\x97c\x8a\xea\xe0\x0b\xb8\xd2\xc1\ +\xac\x0a\x1eEl\xdc\x14\xe8G\xfe~\xff\xa3\xfb\x07\xed\ +\x1f4@\x9a\x13*X\xf3\xc2\xdf\x99\x10\xe2\xffX\xa1\ +O\x0c\xfc\xee\x87g\x99\x9f\xeb\xee\xf7\xd7\xca\xf0\xecv\ +~h\xf7\xa1$}\xbc\xfe\xc6\x1e\xbb@\xe0\xe7\x83\xb6\ +\xff\xe9\x90\xf9\xfbK\x87\xe4\xd8\xbc\xd9Q>\xf2\xc8\x90\ +\xf9\xfbG\xae\x90\xffBr\x08H\xee\xb8V\xd8\x0e\xff\ +_\xc8\x10x@V \x9f:\xac\x89\x9a\xfd\xd1\xfd\xd7\ +\xf7\xf3\x819z\xeb\xa3\xb7:\x1ac\xff\xae\xb8\xbf\xc2\ +\xfe\x0aCB\x84c\x10\xdc\x03\x17\x1b\x1cOS\x0c@\ +\xf2\x91\xe9E\x9d\xe56\xe9\x18\xfek\x1e\x9cs\x0f\x81\ +Y\xafdR\x90 c\x01\x01\xfd\xed\xc1\xb0\x86[\xf1\ +\xa1\xad\xc2>]3dp8C}\x5ce0\xb4\x7f\ +\xb3N\x13\xd8=o\xf7\xfc]\x04`\x97\xcc\x00\x9a\xa1\ +\xc1z-\xa0fX\xb0\xa5')\x1cr1\xf3\xe6q\ +f\x18\xe3g\x1c\x17\x05\xb0\xbbb\xc8\x96\xc8\xa9^\xeb\ +\xe6\x88N\xd7\x0fY\xd6q\x85\x88ZO$\x92\x1c \ +\x8e>\xc7\xc5y\xe7 \x80\xa8^5\x11\x14X\xcf\x19\ +\x82\xbf\x0a\x19z\xdb\xf5\x5cQ\xf8\x14!G\xb1\xb1\xe3\ +\xbb\xef\xf9.\x17\x16\xf3\xea\xe9\xcc@\xbd\x90\x05\xd8\x91\ +\x05n'\x85l\x10\xfe\x22\x93;}\xfa\xd8\xf4\xb1\x85\ +\x04k%\xd5\xc2\x9e\x0f1\xe0\xfa\xd2\x81\xde]#d\ +\x81\x02\xaf\xbd\xdb\xf7J\x124\x81e:`5\x16\xcd\ +}P\xe0\x12\x02\x1c\x0f\x81\x90@9\x03\xc6\xd9\xe0\xcd\ +2@\x85\xcfZ\x03\xfa\xe9\x0e\xbb\xdb\xecn3\x18\x00\ +\x0e\x1f.\x08\x0e\xbd\x8a\xa5\xe7\x93\x81\xc4\xf4K9\xc6\ +\x142F\xc2\x87\xbe\xa7\xf7^\x9f\xd7%#\x0f\xca\x0b\ +\xd2~\xbdl\xe5\xc8s3]<\xc7\xbd\x9e\x92\xfa]\ +E\xd94\x07\x5c*m\x9cQ9l \xdd\xa0\xa2\xc8\ +>\xedSzT\x02*\x13\x94\xe5\xf0\x80\x90\xaa\x04\xd0\ +\xdb-\x81|xU\xce\xa9f\x90\x91\xa9%\x89&\xe4\ +RA\xc1\xb3\xc2\x1dT\x84\x0b\x19a\x0f\xe4\x1a\x1by\ +A\xa99\x9e8\x0f\xee\x91\xef\x9b\xc8\x1fd^\xa6Q\ +\x94\x83\x81\x15\xbd\xcd\xaf\xaeV\x86\xab\x85\xcc\xaf\x1f\x0e\ +\x19\xc6\x88fkOU\xea\xef\xb6\x92\x00U\xa2\x017\ +\x8a\x9eks\xe0#Qy\x97\x81\x94\x94c\xa22\x0d\ +\xb9\xa3\x82\xfa{\x8b\x14\x19R\x9d#\xd3yz\xe0%\ +\x10\xe7\x90r\x9c\x8d\x9b\x13\x90e\xe0[\xfa\xd0\xdfC\ +4\xa9\xa4v\xf6\xfb^\x01V\xb9\x06I\xa7W\x05\xc0\ +\xf4\x16\xc7\xef\xebI\x82\x9a\x89\xd9\xb2G9\x96\xb8\xd6\ +!\x03\x9f\x9a\xf7\x0e\xa2n<#\x08\xb9\xb9\xf0\x1c\xd3\ +\xce\xd6n\x0c\x1c\xc4\xa1\xd6\x15v\xdd\xbea\xb7$@\ +\xf8\x13\x9e\x13D\x0dd\x01\xc4P\x221\x0aQg\xda\ +\x83\xc2\x85\x16,\x8e\xa4i\x16Y\x18\xaaDZ\xee\xdb\ +r\xf8qY\xe4\xf3\xaa\x84\x83V\x13\x8e+\xa4\x1e\xae\ +\x97\xd3\x16\xa9\xe91U\x88\x91`\xc2\x11d?%B\ +\xa4\xa6+\xb1C\xce??I\x02\xc3}ld\xaag\ +\x9bv\xa25\xe3p\x89\x90a<_\xdeg\x05\xd6\x0a\ +.\x02<\x01\xd0\xcdWdQqS\xf9j\x95\xc6c\ +HE\x05L\xf6\xa1\xd7>\x95\x85\xff\x019\xd3\xc9\xf1\ +\xf8\x99\x0d1P-k\xfe\xdf\xe7\x0bH\x9c;\x09\x9c\ +\xde\x93\x9d\xf6\xa3\x10\xb2>\xd7y\xe2\x0fy\xb5>\xf4\ +\xb4s&\x11\x80\xe4\xf5\xac\x90\xad\x85\xb4\xce\x9d\xeb\xeb\ +\x95\xfc^1n\xaf\xb8\x01\x8a+\xc0\x9c\xf8\x1e@\xd9\ +\x17\xa6\x13\xb8\xdeN\x96'\x01\xd0\x9f\xb7\xd7\xb4'\x85\ + \xb2\xff\xe9?\xeb\xe7\xef\xe9)\x09i\x15gz\xca\ +\xef\xf9\xff\xaeG`\xd8\xb9\x09:R\x81\xbd\xf4\xb9}\ +\xca@O\x04x\x9f\x0d!\xb2\xee\xb7\xf3g\xc2\xbas\ +!I\xc45\xa4d\xed\xef)\xff.\x0b\x08\xb3\x17\xb7\ +\x22\x10$\xd0p:\x9c\xb5\xfa+\xf3\xff\xae\xfa\xdf\xff\ +\xf7\x04\xf0%3\xce:\xe4\xfe>+\xe3\xad/\xe5y\ +\x13\x7fu\x0e\x08\xad\x95\xae\xef<\xe9'\xe0v\xb9t\ +\xc8`\x7f:\xb9\x9e\x9f\xa7\xdd\xd0:[\xeb\x8d\xeb\x88\ +=;m\x9d\xd6\xb2\xb4\xc2\xbfj\x98\x02\x04\x19\x86\xc3\ +\xa5#\xbc}^'i\xef\x5c\x16\xceAGbd\xe0\ +\x7f\xb8q\xc8\xf6\xbc\x8d\xf9\xab\xc45\xbf\x86\xfe\x93\x08\ +\x80P\x804\xcc\xf8\xed\xc8B\xe2w\x9baNzl\ +\xcb\x8fm\x0b\xb7@\x0c_=T\xde\x05\xc4af\xde\ +\x98\x8a\xf4Y\xe9\xd0^!\xc9\xc4.7T\xccA\xc0\ +e\xa8\x22\x8c\xbap\x06dwJ\x85\xf1\x96\xc1QN\ +\xc8\xff\xfe\xc2\xb3\x9c2\xf4H')\xa0\x8a\xf5\x89\x0f\ +\x9b\xe5\xe1\xc3\x81\xd0;\x14P\xba\xe0\x22x\xc5,\xb3\ +\xc3\xb3\x7f\xc6,O_\xc6c],\x02\xc2\x82X\xaa\ +\xa8\xc9l'\xeb7\x96\xe4\xe97B\x06E\x05\xe2\x85\ +mY+C\xb6,T\x80\xce\x91\xf0\xe0=p\x1c\x00\ +\x14'\xc5\x84\xe4\xe9\x11k\x05\xbe\x14U\x92\xa1UE\ +I\xa6<\xd7\x15\x84\xa8\xc6\xb8`qM\x88\x07$\xc7\ +~Z\xf7\xd7\xfew\xf7\xbf\xb3\xff\x9d\xad\x12\xa9W|\ +\x09\xc3\xdf\x9b\x90\xee9\x00\xdf\xbd9d~\xfd\xa3\xa8\ +\xfd\xcf\xeb\xfc\x9b!\xf3\xebgB\xe6\x9f\xffL\xc8\x86\ +X\xd8\xdfh\x7f\xc3\xfd\xbc^\xfbk\xef\xaf\xb3\xbf\xce\ +f\xc8v/\x0f\x19*\xd9Z7lh\x15\xa8\x0c\xd0\ +\x90\xb5\xcdN\xd1\x12h\x0a\xcc\xf6_\x0c\xd9\xe6`\xd7\ +\xba\xe4\xf8:\xc8\x86\xe5\xf9^4\x13F\xff;\x0d\xf3\ +M\x87^\xe0\x9c#]\x06\x93\xc2\xe4\x08z.\x0e\x0c\ +\xe8\xbe\x80\xea\x94%\x84\xd9\xc8)\xbf\xb6\xa8\xb4J\x1c\ +,dbw\x1dC\x5c\xf9O\x00\x00 \x00IDA\ +T\xa6\x0eph\xd3\x913\x16\x13\x04\xb3\xa0\xf6/K\ +2,\x15P\x86\xd4sW9\xf2\xea+\xc9\xff\x82\xf3\ +=X\xdf\xb5>PP\x87\xab\xac\xf3\xe0\xf7\xb7\x0a\xd9\ +*\xd7*\xd5\xd3{\xa6wO\xef^*U\xcb\xfe\xab\ +}\x01\xea\x0f\x12x\xfb<\xc7\xd7\xcd\x04\x8b@\x077\ +\x82\x16\x06H\x08\x8eG\x87p\xa9|f\x05\xea\xf0\xb9\ +\x90%\xe1\xb1N\x0f\x10\xa0rP~3\xc7M\xfd]\ +Vh\xb0]\xab\xc8K\x0c\xddt%-\xac)\x16\x12\ +]\xd9\xf3\x8c\xbd\xbd\x02\xa2t\xb0\x04\xac\xd8\xd5%\x08\ +\xab\xe2vF\xcdO^\x1cj\x95\xe8\x82|\xf5^\xde\ ++&\x99\xd5\x17\xb3R\xc2a\xe7 0\xc4\xf4\x02N\ +\x11?\xf7\xbc\xe93\x95\xfeLh\x1c\xfee\xfd\xfc\x82\ +\xfa%\x19MM\x17Q\xe90n0[r\x8a\x05Z\ +\xe5\x8e\xa1Gr\x05\xca\xed<\x80\x9a_\x22\x0d\xc8\xe7\ +\xf2zr_V\xe5Zf\xf9z\xd3u\x17\xd6h\xff\ +\xaf\xc2\x9bz\xb0\x12\x99\x1cY\x8e\xdd_6\xa8\xb7\x8c\ +\xbcW\x15\x17\x89B\xfb\xc9zI\x98\xd0'\xa9\x8f*\ + \xe4\xb8t2\x1d\xd0\xbd\x9c*RvIE\xce~\ +\x15\xa8\xaa\x9c\x1a\xff\xfa\xdf\xeb\xfb\x98\x22c\x0e|9\ +\xee>\xd7\xfe\xe0H\xd0\x83\x99P\x99\xb5\xd5B\x8ez\ +8\x12\xac%\x8ba^\x1c\x08\x01`\xb1\xf4\xab\xec\xbf\ +!d\xd3\x83*\xa8ZN\xa6\xe4\x02\x99\xbe\x162\xb0\ +\xa7\x9b#\x9f\xe4Du^\xcc\xfd\x96\xb84]!\x13\ +\xfd\x87\x8b\x84l\xd0\xffr\xe8!\x80ZkN\x052\ +\xf4\x1e\x88\xa2\xfd\xd0\xf5\xbe\x0a\x96\x1e\x7f\xdc\x08\xc6\x07\ +\x22\xd9\xb3\x0f\x9c\x0bH\xa2<\xef\xc6\x19\xd5\xf9\x81\x98\ +@\xc6\xc4\x1e\xd3\xeb\x10\x1e\xa0\xef\x12$\xc8\xd32A\ +r\x0c\x02Q@\x98\xad!U1\x95H\xd4\xc2\x80#\ +\x087P\xee\x13H\x12\x89\xa0J\xb0(\x10\xb0K\xec\ +\x10d\x9fu\xd4\x13\x0f\x11HO\x19\xbb\xab%@\xeb\ +R&\x84:\x22\xa2\x10\x00\xc9\x0dP\xa4\x99\xc66#\ +E\x16\xe0\xe0\x8ap\x7f\xf4\x06?\xca\xba\x0b\x90\x92<\ +UA\xa4\xfc\x91L8h\x11+\xe4\x8a\x04\x94s\xc3\ +\xbf\xe4\x10\xb3\x07\x12yH\xb8\xec;\xe7\xacW@%\ +\xa8\xad\xaf\xeb\xb4\x8e\x12&\xc9\x89P\xe7\x97}K\xee\ +\x87c\x02D\x05\x1f\xfb\xca\xf9\xa1\x9f$\xe8\xe9\x0f_\ +\xf6\xaf\x00\xc8>\xa6\xaf\xfc\x1e'D\x9b6R\x01\x83\ +W\xfb\x99\x1e\xe4\xf0+\xf6\xa7\xca>{\xe7<\ +H\xe0\xf1g%\xf6\x90WBFx\xee\xbd\x92\xdf\xd9\ +\xe3\xe9e\xaf}\x9c\x22n\xa7\xce\x11\xd0\xc7\x16\xf6\xe7\ +i\xbf\xd8\xef^U\xda\x8d\xab\xb5~}\xec\x9f\xbf\xef\ +\xec\xf2\x12\x1fZ\xbf\xe8E\xfb\xd9~\xed\x01\xbe\x04@\ +\x9f\x1a\xc0\xbe\xa7\xdfTz\xb1\x07\xfa\xbd\x22\x7f\x1c\x12\ +\xc4\xc3\xc73P=W\x8e\xa9;OrJ\x9dX\xfb\ +\x8c\x7f\x03\xd1\xb6\x16>\xb4\xf0\xd8'\x90!\xf4\xbc)\ +\x18\x90\x0e\xc6\x1b\xb3\xbf\xd6Q\x22M\xa5\x7fj\x5c\x00\ +\xde\xb7\xf7\xce\x1f\x8f\x0b\xc04%H\xea/d\xc2V\ +\xabX\xdeg\xb5\x1et.\x06\x89\x11\xfe\x91\xeb\xb5\xfe\ +\x0aAy\x9f5m\xaesW\x89\x17:\xb9\xa2\xf3\xea\ +\x1c9W\xf4W\x9f\xce\xd0Y\xfe\x13\x89\xabU\xfap\ +\xcd\x90\x0d\x89V\x88%\xad}\xe2o-\xa6\xa9W\x8b\ +C/\xf7\xf1\x11=d\xfb\xf7\x87\x0c\xbdV\x14J|\ +\xec\xffk\xecM\xc0u\x1d\xcb\xf7\xff\xf5\xbck\x99\xa7\ +m(c$C\xf4\x8dH\x86\x92\xa1P\xca\xd0@\x19\ +JI#\xa1P\xa4Y\x92\x8aJ\xbe\xe6\xa9Yd\xac\ +Dd*)\xbed(d\xc8\x14\xed\x22\xe36\xech\ +\xaf\xe7\xf9\xdd\xd7}\x9f\x9f\xeb\xbe\xd7\xb5\xec\xe3\xff\xdf\ +\xd7\xe1x\x8f\xb5\xbc\xeb}\x9f\xe7~\xee\xe1\x1a\xce\xeb\ +<7n\x1c\x11\xab,o,=\xe2\x0f6:\xa0\xe6\ +h\xef\xd4@\x82-_\xb1\x97\xe4Zv\x96#\xf8\xb3\ +Z\x81\x02\x0a\xed\xba\x8a['{\xb32d\xb75\x90\ +[*yfC#[\x22V\xf6\xee\x12\xb3\x9a)\xcf\ +\x95\xd7\xcf\xa7\x8f}_\xb2\xf7\xa7\xfb\xfaz\xb2\xc3s\ +E\xef\x01\x83\xa2\xe7\xe3l\xa7\xa6'\xd4*\xa4\xe9\xe7\ +\xfeJ\xb3z\x10\x8f\x8e4K\x7fw\xa3z\xb2\xf5\xf9\ +\xdd[\xcd\x9a\x8a,\x19|\x1e0\x07\x0a\x07\x19\x0b\x03\ +\x92\x19\xd8\xa7a\xf9d\x83\x12\xa7@\x0a\xdb\x0b\xc9\x10\ +\xd0: \x9b_\x12\xb9 \x19p*\x92l(8\x96\ +\xea%\x84\xfd\xba\xdf\xb7\xdf\xa7\xdf\xa79\xc0\xf9>*\ +\xbc&\xfb\x92\x02\xbe\xd1\xbf\xcd\xd2\xeb\x07\xad\x99#\xcd\ +\xcb\xd7\x99\xa5\xd7\x7f\x98\xa5\xdf/jV{\x0a\xfb\xd7\ +\x9b\xe5\x89\x98\xc9\xa1\xfa\x9f\xf5g\xf5g5r\x7fT\ +\x9eaG\xfec\xa9t{\x85\x9f\x0d\x8a\xeb\x17\x84n\ +\xf2z\xb3\x5c\x19\xc8\x99\xb8\xfe\xa5f\x99m\xbf\xf4h\ +?+(\x0d\x99,\xab\xbc\xac\x9fY\xe8\x935\xec\xd7\ +\xc6u\xbd\xbb\x16\xda3\xa7\ +:\x5c\xde:\xc3\xbeOb\x89D\x91\xc8\x94\xfc\x9cg\ +~\xf3y\xb4\x82\xfd\xaa\xb4\xa48\x12\x81u\xc6\xb9K\ +\x22\x8b\xf3\x99y\xc9\xbc\xa0\x22\xad\xd6)\x02\xfa\xf4\x5c\ +\x925\x5c/\x04\x9e\xb4\xfe\xa0b\xc3\xf81>\x04\xd8\ +TN!\xb3\x03\x99\x22\xb2FG\xfc\xe0\xc0\xf39\x8c\ +\x13\xe3\xc9|\x22P\xe2}\x04X\xf4Z\xc3%A\xab\ +\x82\xb8s\x5c\xe6\x92\x044\x88A\xf5\xfa\xc3y\xe2-\ +^$\xd6\xa5\x02\xe4$\x98\xecS\x90\x10\x92\xd8\xd3:\ +\xf5V\x0fz\xcb\xe1\xc0\xc1\xcf\x01\xf1D\xc0\x05'\x04\ +\xad\x89\xf2S\x86\xd5\xcc*\xe2\xd3\x9f\x1b\xe72jN\ +$\xc6x\xbe\x04\x00\xecK\x04\x18\x9cSp:\xf1\xbc\ +iiA\x1d\x88\x04\x10~\x1b\x01+\x89I\x02|\x02\ +U8A\xd0g\x87\xbb\x01\x04\x07\x15A\x02w*\xd6\ +\xf8{\xf8\x97\xfcG\xee\x8f\xe7\ +\xa5\xca\xfcp\xbb\xe4\xedF\x81L\x8e\x02\x07\xeb\x8c\xfb\ +\x88H\x0b\xae?\x92\x92\xf3\xbc\xea9P\xc6q\xd1\x10\ +(\xf3\xfc\x9e\x0dj\x00Q&/\xb6\x14\xf0}$.\ +\xb8\xdeYZOpa-\xec,\xff\xc5\x8f\x98\x1d\xe6\ +\x05\xd7\xc9\xbcc\xdd0\xdf\xd9\x17\xb6+\x05\xa6\xb1w\ +\x15r`\x9fG\x90\xf6\xc6\x84\x1c\x81<\xfe\x07\xf7\xc9\ +u2N\xb1u\x22&\x04XoB\x1e9\x82\x14\x12\ +X\x9d\xc7N\x22\xcc:c\x7f\xc7\xef$1\xa0q\x9f\ +ph\xa2\xa0\xcb\x9e!\xc0\x11T\xa69\x07*3u\ +\xb0\x1d\xdc\xb07\x1f\xa4^\xde>w\x85\xd6\xca8=\ +J\x96\x11>L\xad\x02\x1fk\x0ePn\x90\x89C\x0f\ +\x95\x0242\xf8\xfdo\xccjE\xcbY\x89O*d\ +N\xa3\xd3\x92\x9dZ+G\xfd\x91\xc9\x8eH\xaf\xcf&\ +\x9b\xad\xc0zo\xc9\x18\x1eP\x03\xa4\xfe\x163\xb18\ +Z/\xfc\xa6fMf\x1e\xa8\x1b\xe4\x7f&k\xb8S\ +\xa3_\x0diN$\x95a\xc1\xd1\xa3M\xcf-rT\ +@\x9c\x97\x1f\x96\x1b\x96\xcb\x99\xf2\x02M\x07:\x0b\xe4\ +\xf19AR\xe8A\x99!6wH\xd6\x94\xe9\x19f\ +\x0a\x0a\xfa6\xb3\xea\xa8\xf5'\x98\xd5\x1e\x19\xbf~2\ +\xe8d\xf2\xaf\xec\xae0\xe8u\xf7\xa7\xee\xc6.\x05.\ +\xa3\x1f\x8aDj\x09\xb3\x9c`\xc9djY\x8cq\xb3\ +\xfa<&\xb73K\x9f\xbfl\xb9\x0f\xd8\x9b3gD\ +\xa3\x02A\xe5\xaa{\xc4\xac\xb9\x7f*\xfe8\x0a\x0al\ +q\x90'\xd71K?\x7f\xc0,'\x18\xce\xecm\xbe\ +\xbd\xdf,\xfd\xfc\x05\xb3\xa6\x22E\xe6\xcd\xd2E\xe7)\ +\x81tx\xb3\x81\xb3\x10\xad\x0e\xf7\xa3\xe6`\x00\xc2n\ +\xee\xc6Z\xf5s\xbc\x97\x1dH\xf4\xbd\x19L]*\xb3\ +\xe6\x88\x7fz\xf8tv4\xd2\xf1g\xf4\ +b\xb3\xfc\xbeL\xe64\xdau\xb4\xcbh\x97\xa6\x02~\ +R!\xc7\xf3L!\x0e\x0d\x07\xa9*=^Yf\xc3\ +\xba\xaelP\xfd7EJwq\x81p\x02-\xee\xf6\ +5K\xafk\x9b5PjZ\x11\xa2\xbe9z\xd6\x82\ +<\xbb\x1c\x1e\xfb\x02\xe3\xf2f\x91P\xee[z\x92r\ +bp\x8ff\xc3_\xa7\xcck\xaf\xfc\xabg\x8e\x0a\xbe\ +#!jOr\xa9\x10\xf0|v+\xdc\x0a\x1e\xa8\x03\ +\x19\x03\x82+.\x80\xe1\xadf\xb5\x95dt\x8cY\x0e\ +\xf8\x8acw\x80*\xa7;\x8a,\xeeMf\x8d\x8c\xa0\ +6\xe84*E\xa6\xcf\x9e\xa3\xa9O\xecnV{:\ +\x87\xa7\x86Y\xc3\xac&#\x0c{6\x01\xea7\x14\xa0\ +@\xb2\xc8\xfc\x02\x19A&vi\xb3\xe9$M^9\ +\xa1Ei\xc5B:HE\x96}\xcc\xb9\xba\xa3\xab\x0a\xa7\x93\x9d\xe2\x18i\xbfu\xc4Q\ +\xe8as\x1dj\x1co\x90\x1d\x04\xfe \x0a\xc6]u\ +\xa1TXnV\xef(\x95\x7f\x12\x11\x91\x05\x99s\x82\ +\x0a\x0b\x99z\xd6u\xd4\x8d\x86\xecG\x01\x89s#\xd0\ +\xdaE\x82\x81}\x83}H\x90d\xbf\x0eA\xdb\x9dl\ +\x8d\xca\x22\x15\xd7\x7f\x9b\xa5\xcf\xff\xa4Y\xad\x98z\x00\ +\x83\x83@\xc5\xf6s\x82\x88\x03\xd9E\xe5D\xa4a\xae\ +#-\x87\xa7\xdb\xdc\xacrT\x10\x88z \xc6\xbc\xa4\ +\x95\x85\x96\x82\xfd\xcd\x9a\x84\x04\x01}\x90w\xf4@\x8f\ +\xf3\x0aG\x97\xdek8\x10X\xff\x90#\xe2\xe8\xe0\xc0\ +0\x1f\xf8{z+\x094`\x09\xa7\xb7\x9b\x00\x8bV\ +\x0b\xd8\x90\xe12a\x1f\xa4r\xc7x\x8b\x84sX\xd9\ +\xac\xb9N\x1c%\xedO\xec\x07\xeeW\x90\xf8!Q\xc4\ +\xf5 \xbf\xc78(\x01\xec\x08\x0bT>\xbeh\xd6 \ +EX\xcfT\x92\xb9\x7f\xbe\x8fy\xcb\xff\xa7R$\xe4\ +\x8f\xcb:~\xd9\xac\xa9\xdc\xf2w8\xa4\xf4\x1a\xa3\x8e\ +\x80\xc3Ja\x04H=\x88\x22\xce\x03 \xa1@\xdeQ\ +\x05 Q\xc7:\x92\xbf\xe0\xd0R\xd6\xd9.\xd9j\x80\ +A\xa0\x16Z#=\x11\xc1~O\x22\x01\xf9I\x102\ +T\x91\xacz\x02\x80y\ +\xc9\xfag\xde\xb1\x1f\xf3\x1cX\x97$8\x1fw\x88\xf6\ +\xd4\x96Q\xfc\xe6\xc8\x92\xce\xf7\x83L\x89$\x85\x91\xb5\ +\x9f\xc4\x16\xeb\x8e\x966ZH\x08TY\x0fRK\xe8\ +\xd61k\xf6Y*\x8cT\xcc\x090\xe3\xba`^\xb1\ +\x1f\x92\xd8 \xd0\x8a\xff\xe2\xfd\x11\x00\xf2y-\xa9\xf3\ +s/\x90\x00\x88\xaa\x1f\x01\x02\xefH\xba\x90\x00\xf0V\ +M~\x8e\x15t\xe6[L \xa0N\xc38\x82l\x0a\ +\xe7\x91\x07\xe8\x11\x92O\xeb*\x09\x98\xa8.\xc0>\x18\ +\xc9\x0dy\x1f\x812\xfb/\x09\xb1\x07\xc3\xe7\xce\xd4\xf7\ +\xe9\xf7\x0d\xfb\x7f\x19/\x12\x00\x8c?\xfbb\x96!\xd49\xb11:it\ +\xe2\xe8\xc4,\x1f\x97I\xecF[\x9b5l\xb8\x97\xbb\ +\x8ep\xa9\xf0\x12\xf0\x9d^*\xf6\xce\xe2\x0f\xf4\xff\x91\ +\xfe\xdf}\xda`\xfb-\x0a\x84\x9d\x0aV~\x8ew\xab\ +\xe7\xcb*\xdbK%[\xb2\xd9H\x98\xf0$h\x8c\x0a\ +\xed\x13\x8dcen\xe4\xaf\x9b\x9e\x9e}\xcc\xe4(\xbf\ +Z\x19\xb2\xad\x1b\x8e\x0bT,8\x10Q\x9f\xe0`\xb6\ +0\xf8\xe3Uv+\x07\x8e\xe9>G\xb3\xcdj\xc5}\ +|\xad\xf1\xb5\xc7S\xe0\xdd\xddn\x96\xfe\xff:\xa3u\ +G\xeb6\xdc\x04\xef\x10\xab>\x1bN\xdb\x8a\xb0@\xb3\ +\xc1s\xd0\xc2\xee,2\x10w\xb4\xd5R\xe2\x09\x18%\ +\xf4\xba\x93\xcc\x9a\xdeyX\xfb\xa9\x84+\x01\x03\x94\xd8\ +\x03\xa2\x97\x97V\x02O|i\xdez\xcf\xab\xe6\xd5\xb0\ +\xa7\x02$\x12\x15\xacweZ\xc9\x88\xbbn\xbd\xd8\xc4\ +\x87\xff\x166Tg3_d*\xf2\x01\x07\xb2_\xd6\ +,\xfd\xfa\x03fuc\xed\xd75kd\x0c\x15\xb0;\ +{?\x19t*\xa7d\x8aW\x91c3\xab\x04\xf4@\ +\xc5\xba\x1b\xcc\x9a\x8a+\xbd\xe88\xaa?T\xcb\x08\x09\ +\x00*\xb8\x04\x9c\xc7\x89\xfc\x94\xca\x98zY\xbd\xf2\x07\ +\x8b5\x15N\x1cI\x12\x88\xd2i\xa7Be\x0c\x1e\x99\ +\xc3\x03\xb6\xf9\xab\xcd\x9a@\x10G\xb2\xf6\xc4\xa1\x93\x0e\ +y_A2\x90\x11\xe6\x00\xe0\xc0\x9fO\x07\x90\x12F\ +\xee\xb8*\x00@\x16o\xec\xfdr\x98\x85\xe8H\xbbh\ +a\x13\xe7{qp\x08\x0c\x8cl\xf5\xe4f\xfe\x92\xe9\ +\xe7~q:\xf4\xe2|q\ +\xc80\x15\x14\x1ce\xee\x9fJ\x86z\xc2=\x80\xa6%\ +@\x95~\xef\xa9\xdf\xde\xac\x06\xfe\xce=\xc1\xfc\xa15\ +\x89@\x85\xf5\xc79\xcb\xfc\xa3b-.\x1c\x1f'\x91\ +\x22B\xf24,f\xd6T~!e[B\x01\x17\x81\ +5\xc8@\x1c3\x90\x8dT\xe6q\xd4\x18g\x02\xd8\xc0\ +r\xef\xf3\x5c2\xbb~\xfe\xb3\xbe(\xbc\x04\xa8\xbd\xab\ +.p\xce\xc3\xbd@\x85\x18n\x0d\x12u$\xb2\x98\xf7\ +\x04\x14\x04&\x8c'\xeb\x94\x80\x92\xde\xfc\x8f\x9a5\x81\ +\x00\x10o\xc80\xf9^\x12\xb5\xb4P\xf0{\x12\x83@\ +\xc9\xb5\x8e\xbc\xc2\xaf\x8aEu\x0d~\xc6\xcf\xe0\ +\x1c\x09\x81\x1d\x85\x03'Gf\xfd\xf29\xf8\xa1\xec#\ +\x04rT\x8e\xb9\x8f\xc8\x01\xc0\xba\x9c\x9b\x8c\x5cH\x88\ +\xf9+\xff?\x06JA-\xc1\xc9\xfa\xb8N\x12\xbc\x91\ +\x5c4\xb6\x02\xc4\x0a=\xd7\xc18\x81\xccd\x9f\x06\x99\ +\xcbs\xe6_L\x90\xf2JB\x02n\x01\xfc?\xde\xcf\ +\xf3\x8a-\x10\x8c+\x89\x88\xa7<\x80.\xf3\xe8q%\ +\x0e)\x98\xdc\xa9D\x16\x81/\xf7Eb\xc1\xa1 \x8a\ +k\x80\xe6\x93\xb0\xc7/#!\xc6u\x90\xb0b\xbc\x98\ +\x97Q\xe7\x9ey\x19\xf6\xa3t\xd6\x97\xfbe><\x13\ +X\xfbg\x07D@d\xfd\x9f\xdf\xa1\xf5S\xd5\x06\xe6\ +\x960b~\xd5V\x90\xf2\xfb'\x02w\x07\x1c_\xb7\ +\x9a5H\xbbY\xdd\x93\xdd\x93M\x22\x10\xff\x81\x04#\ +q\x05\x08Y\xee\x97D@$\xfb\x8b\xec\xfd\x8c\xff\xe0\ +,y\xe5\x1f\xf7E\x81R~\xc2\xb0\x9eY\xe54!\ +Q\xcf>\xec\xe70\xeb\x0c.\x17%X'\x1c\xba@\ +\xe5\x02Y\xa0Gs\x97\xb5o \xd9A\xbe\xaf\xca{\ +\xf5\x8b\x9b5\xec\xb8\xd6\x8b\xd8\xf6\xcc\xcf\xcaC\xeb:\ +\xb9^\xd1\xb2L\xf3k\x1bY\x02s\xc8>\xdc$\x02\ +\xd0C6\xf2\x9d\xcf6=+\xb0/\xbf\xba\x04\xe4\x19\ +\x09\x90\x1c\xa6~\xbfd\xfb\xeb\xc0\xd8L\x07\xe7Y\x0d\ +\x04\x0fd\x02\xfa\xd0\xd6k\xff\xb94\x0fnNvS\ +\x86\xbc'K\xaf\x0f%{X\x8e\x95]\xe7e\x05\x9a\ +\xd5\xdd\xa1\x03\x9f\x07\x13!J\xbc\xf2\x80\xe9\xc9\x13\x94\ +\xad;\xce\xacB\xe1\x988\x04L\xe9\xb7\xbb\x0e\xbb6\ +\x0e\x04\x9c\x02,p\x02\x11\x91=\xf9\x82\xe0\x80\x01b\ +dH\x87\xbd\xe4x\x9f\xd2\x04x\x90\x01Y\x05kO\ +\xf5\x88\xce\xc9\xec\xfb\xc9\xd2\xeb\x8df\xb5\x02\x92[&\ +\xbe\xde8d3D\x0a\x03\xe9\xd4\xcb\x87\xd5\x87\xd5s\ +\x22&\xf7X\xbb\xae\xe4]f\xe9\xf3\xce\x1b\x9d?:\ +\xbfV\xae\x1c\xb2\xf9\x8a\x02\xd1w\xb6e\xd8\xcb\xe9%\ +\x94\x834\xbc\xc5,\xbd\xae?\xbcfxM\x130F\ +\x9dT\x12e\xb0\xdbSa\x86LP\xe4i\xddif\ +\xb5\xa2\x949*^\xd6l\xe8\x1c\xf8$~H(P\ +\xc1\xb2yy\x85z\xe4\xee\xd6\x866[\x0e\xe1\xb6\xe9\ +~\x97O\xb6B\x95g\x1a\xddm&\x19\xae\xf4\xf9\xe3\ +\xc7\x8e\x1f7\x9e\x9e\xffxo\x96\xa1\xa0\x19\x92Nb\ +`\xd8r\xd8b0v\xf1\xd7\xe8~\xb71k\x1c\x0c\ +\x0en2\xa4ldr\xdc\xfb\x1f\x985\x8e<\x09$\ +\xc8\x00\xd5\x0b\xec,\xdd\x97\xa8\xc2L\xc5\x95\x00\x84u\ +\x0bT\x96\x8a-\x07\xa8\x90\x18^\x99\x5c\xb8[\xa8[\ +(\x93\x18&k \x9a\xc6)\xb2eS\x81\xa27\x10\ +\xce\x02q\x15\x00u\xee\xf7\xe9\xf7\xed\xf7M\xe3\xb5\x97\ +Y\x96\x85L\xd6\x90\xd3\xb1\x81)\xf0\xc2q\xcb\x89\xbe\ +\xe5j\x22\x10\xa8\xff\xe8\x0b\xa3/\x8e\xbe\xd8\xc8t\x82\ +\xac \x80\xe3`\x84\xf5\x7f!\xb3&@\xad\x01M9\ +\xc0\x81XQI:\xb6T\x84]\x8f\xfd'fM\xe5\ +\x04\xae\x01\x12F\xcc/\x0eD\x02\xd6\x08%D\xb6O\ +-\x0f\x90&\x0d\x0a\xc0\xd2\xdeZ*\xe2$\x1cp \ +8\xa8\xeeR\xab\x0dP}\x1c\x82\x97\xea\xc0~\xb1\x1c\ +T\x9e3\xd7A`\xa5\xca\x11\xec\xe0\xb4\xf0\xb8|\x18\ +\x08\x1e\x12w ~V\x95\xfc\x1d\xf7K\x06\x9eq\x8c\ +\xfa\xdc\x90\x01N\xe8\xc0c\xff\x8c\x89\x81\x7f\xc91z\ +@\x8e\x11\x9c\x08TBc\xa5'\xeac\xd3\x93~\xb5\ +\x9e\xfb\xef\xd43z\x82\x124\xc7\x0by\x82\xa3I\xc5\ +\x82\x04\x04\x8e\x18\xfb=\xf3\x98y\x98\xffU$C\xf7\ +.\x9d/'\x985\x9c\x1d\x1c\xdc\xff'\xa8\xfb\x8c\x12\ +P&w\xb4Td\x8e\x11d\xfbH\xf5f\x8b\xad\xd7\ +\xaf\x83\xf9'\xd5\x07Z@@\xae8)$dfr\ +\xc0\x5c\x96\x90\x00\x00\xa8?\xe7\x94\xd6\xa7'8X\xf7\ +\xaaDwG\x99U. _/\xe2\xca\xc9\x1c;i\ +\xbe\x8cN6kz\x10q\x84\xe0\xde p\x86\x0b\x88\ +\x04\x0b2\xa1\x04\xfa\xc8\x97\x02i\xa7\x05\x86}\x0d?\ +E\x01\xbe\x17$@\x00p.\xc0:\xafJ\x88\xcb\xaf\ +\x02\x19\xe7yS\xe0\xe0\x9c\xc31\x82d\x11N\x11\xe6\ +\x91\x02\xe6\xac\xeebH\xa1E\x86E\x87Es\xa0X\ +\xc8\xf8@\x9a\xd1\xea\x01\x99\xa3 \xe8\x99\x94v\xe9\xa6\ +\xf7\x9aD\x02\xe7\xf7\xb7\x8b:\xc5\xe8\x15fM\x05\x95\ +u\x0c\x92\x90\x0a6\x09!d7\xe1L \xd0We\ +\xde\x91\x1b\xec7T4\xa9\xc0\xb3.\xa9D\xf3\x1au\ +\xc3qd!\x93\xd49\xed\x01\x11\xe7\x12$z\x14\x92\ +@\x0e\xe0_\x12H\xf0<\xb8^\x12\x1a\xe8i\xf3\xfd\ +$\xdc\xa8D\x13\x80\xc2v\xcf~D\xc5^\xeaF\xde\ +\xd2\x02\xd7\x05\x89\x17%\xc8\xfd\xbeA\x5c\xe2p\x13\xb0\ +\xc3I\xc5\xfeL\xa0D\x8f\xb3\x12S\xdd\xeafM\xe0\ +N\x22\x80\x84+\xfb\x12\x092\xc6\x85q\xe5\xb9\xb0\x8f\ +\x01\xe5_\xc6\xc9S\xa7\xca\x00Fh<\xd7\xcd\xf3\xe4\ +{\xd9\x87I<\xf3\xfb\xe8\xc72\xffx~\xb1\xb2\xcc\ +\xdf\x87J\xa5\xcf/\xb5\x06\xb8Z\x13~E\x94\x8b\x83\ +\x0cO\x89\x98nA\xb3f~\x10\xa00\x0e\xdc',\ +\xea\xe8\xa4?\xe9\x01[9'\x080\xb9\x9f\xf8\xcaz\ +\xa7 \xc1\xb9\x89\xff\x17\x03\xfd\x18\xf0G\xce\x92g\x03\ ++=\x09\x0f\x02\xe3\x88H \xf1\xc1\xfb8\x9f\xf4\xb3\ +#&\x98_Q\xfe\x96\xf7\xc7\xef\x8d\x89\x00\xee\x8b\xf1\ +\xc1\xdf \x10\xfeG\x98\xc7\xe2\xd0\xca\xdaW\x0f\xbc\x00\ +\x19]US(\xeb\x1b\xff\x81\xfd(\xb6 \x12\xe0\x93\ +\xb0\xe2<\xe7\xfb\xf9\xff\xf8\x1f5!R\xee\x93\xf3\x97\ +\xeb& \x07\xc2\x0f'\x13\x7f\xc7\xf5\xf1w\xf3k\xfe\ +\xb0\x1fq]\xf8\x09\x8c?\xfbODNp}\x14\xd8\ +\xc4-\xe6d{\xf2K\x8d9\xcb\xb8\xb3H\xd8x\x9c\ +C\xe1T\xf7\xe7\xf3\x5c-s\xd3Z\x18x\x9e\xb1\x95\ +1\xcabF\xd2O\xc6\x8f\xb8\x80u\x0f\xb92\xb2\xc6\ +\x22\xaf\x85|\x1b\x99l\xf7\x07\xf4w\x13\xee0\x18\x84\ +\xf1\x13\x15\xf2\x9e\xf3\xf5\xd7\xd7\x8a\x02\xf2k9\xc0z\ +\xa7\xc8<\x8c\xbd\xfcp3]P\x9b\xd1\x93\xe3\x9b\x03\ +\xbc\xd5U\xc1[.C\xd6g\xe6\x85d\xe1\xf5\x15\x8d\ +ceu\xa0\xd3\x9a\x1eFdn\xec =\xaf\x92\x1d\ +\x11\x888\xeb\xf9\xe1\xb9\x0byl4a\xd6\x1c\xb0B\ + \xe4\x80\xe3\x83U\xe7}t\x7f2\x93\xb7{\xde,\ +\xbd\xfe\xd9,}\xfe\xbd\xc9\xee\xabz\xd0\xdd7\xc6\xcc\ +\xac\xf2Y\x0e\x04\x16\x1e\x0f&flp\x80\xd9\x08T\ +\xc9\x039@\xe52]\xf5\x92\xc3\x92y\x01\x95L\x13\ +\x88\x07\xa0\x1b\x82\x5c\xfb\xc4\xc4\x11\x15D\xce\xee&\xdf\ +\x0f\x99~Au3\x19\xdc\xf8\x0b\x90\x8a\xcd\x93k}\ +\xc5\xa1\xb8\xac\xb9\xfeoe\xf3\xf1&pC\xa6m\xf2\ +\xb1\xc9G'[\x16\xcc\xf9\xd5zA\xaf\xc9\xddfi\ +\xfc>;\xfa\xfc(M\xac\xd1\xea\xa3\x97\x8fZy\x8c\ +\xe3\xb3U\xd2\x17t\xde\xd1I'\xc3-=\xe0n\x9e\ +\x22\x8f6\xba\xd4,\xf9\x1b\xdb\x8fo7\xbe]C\xc2\ +\xa5\x03\x86DH\xbfH\xb2\x85\xd3\xcf\x8b\xca\x113\xf7\ +\xe7\x07z\xceK\x89{bW\x8d\xfb\xee\x0d\xe9\x10\xb2\ +\x80d\xfa\xda\x83bR\xc8\x93\xab\x9b\x0d\x83\xc0\xce\xdc\ +\x95W6\x0b\x8e\x83\xd3\xd2<\xefW\xe2`\xa9\xaa\xaf\ +9Z\xc0,\xbd\xben\xb4\xf1\xc8\xb8#\xae1K\xaf\ +\xc7\x14Vc\xc8\x96\xba_t\xbf\xec~\xd9\x90$\xdd\ +\xa5y\xc4F\x18\x1d\x04A\x09\x9d\x14\x11\xe8.\xe4f\ +;\x985$C\xb0\xef\xd3\xd3JE\x86\x80Oj\x0d\ +\xee\xb8\xe0p\x89\x94,\xfdW2\x9c@X\xaf\x17t\ +\xbcW\x00D\x8b\x8c\x1c!\xef\xe5\x94\x83\x0b\x12\xc1\xf5\ +\xc8\xf9\xffbq\xc6\xd1\xee\xbfl\x96\xd5\x10\x925\xc8\ +\x11\x1cx\x1d\xcc\xc8\x8ez\xeb\x91\xd6;\xfa\xe7\xb0\xfd\ +[\xe3Jn]\x89P\xd6\x13\xca\xbc\xec?n\x96!\ +\xfd\xc9\x1aD\x03\x10\xd6\xabJ\x800\xfc@\x81\x08\xad\ +7\xbf\x16\x94\xf3HU\xde\x15\xc0\xf8\xc6\xce}\x02\x0d\ +\x87\x1c\x91\xe7\xc8\x81D/\xe6\x1d\x92\xb1\xbaQ\xfb \ +\xb2b\x040rl\xbbW\x8f\xd6\x1e\xad\xdd8\x16\x1c\ +\x84U\xf7\xba\xcc_%\xf2\x1c\xfa\xcf\xc1\xc4\x81\x81#\ +\x87\xe3E\x85v!An%\xdf\xea\xff\x1fy\xb6?\ +\x97\x00<\x8dj\xee5\xf7\x8a\xdd\xb9\xaa\xd8\x11\xf0\xb2\ +\xff\x13\xc0\xc2\xbd\x81cE\xcb\x0e\xfb\x13\x0e\x22\x10h\ +~\xcf\xfd\x110\xce\xf2\x0c\xfeT\xd2\x9c\xfaZ\xf6\xb5\ +g\x83c|\x95\x12\x00\x93r\x04\xe9\x05$`\xa42\ +\x8d\xc3\x1cI\x87\xb8\x1f\xd6\x0f\xeb\x92\xbfW\xa2wX\ +\xd7\xac\xb2\x01\xfb\xf8\xe3\xc0\xea`F\xff\xd7er\xff\ +$\xc4\xc9O\x05\x8d\xa7B\x09t\x1a\x07\xe7\xbf.s\ +T\x02\x01\xd6+\xd7\xcd\xf7\xe8s\x1d\xd9G\xe5\x9b\xf7\ +\xc1\x9e\xce\xbc\x81\xb4\x8es\x98\xf9\x02d^\x15Z'\ +\xc9\x95\x1f\xc0\xbe\xedj\x14 \xcdH@\xea\xfc\xcb*\ +B\xfb5\x01\x12-`p) \x0f\x0c\xa4_$\x9e\ +\x9c\x17\x90\x93y\xaf5\x81\xe4W\xc5\x99@k\x1d\xe7\ +0\xec\xec[\x995\x90k*\xcd\xf7If\xf7\xe3\x22\xd3\xa3R\xaf\xca\x8c\x07`r\ +\x90i\x91\xc9\xeaI{6*B$j\xa8\xc0\x12\xe8\ +\xef&\x19T%\x8a\xfd\xfd\x8c;\xc8+\x12.:_\ +\xa9l\xfb~\xca\xe7r=\x81\xf4\xd2\x91\x80\xcc\xef \ +{\xe6\xf3\x11\x84\x0b\xa4\x84\xeco\xec\x1b\xa8J\xc0E\ +\xc0\xba!\xd1\x14U3P5`\xbf\x81SA\x89\x1e\ +\xd4\x00\x1ca\x04\x82\x84@\x8ds\x1ah;\x81(\xe7\ +8\x8e\xbd\xfc\x97\xe1\x1df\x8d\xcc.-<\xe8t\xc3\ +=\x83\x5c5\x05\x9aJ2VZ+@\x0e\xb0n\x08\ +\xe0%o\x06\xc2\xcc\xc7\x1d\x15\x16\x026\xe6#\x9fK\ +\x0b\x1e\x9f\x1b{\xe5y\x7f\x94\xd5\xe3}\xf4\xec#\x97\ +J`\xc3~\xc1\xf3#\x00\xa1\x15\x0c\x04!\x09\x0f\xd8\ +\xdcQu`_\xe6\x95\x02\xc9-f\x0d\x89 \xf7\x15\ +*\xd7\x1e\xe8\x92\xe8\x06\x81\xc1\xfe\x1a\xe5\xb0\x99/\xec\ +\xc7\x04\xf0Q\xae\x8f\xff\x1f\xe5\x02c\x22\x80\xf3?\x92\ +\xe4\xc5WZ\xde`s'`&a\xc8\xf7G\x12\xbc\ +\xd8KN\xc2\x0c\x04\x22\x1c\x10\x8f\x85@\x16\xe4\x1f\xe3\ +\x16\xc9\x04I\x141\x9eQ\x1d\x81\xf5[I\x03Kb\ +\x81yG\x85\x9d\x9ew>\x17dK$Y\x8c\x09\x8c\ +\xfa\xff\xa7\xaa\xabD5\x17\xe6\x13\xf3\x90u\xcd\xbe\xc0\ +\xbc\x85c\x8by\xf4O\xad_\xc6uA\xfd\x9eq\x8f\ +\xc8\x0f\x9e#\xe7 \xf3\x87\xf9\x1d\xfd\xa3\xe8Gs}\ +\xcc\x93\xa7\xa6\x22U\x9cdQ\xcf\x81\xf9\xdf\x1d\xd6}\ +\xb5\xfbj\x83x\xe1\xf3\x02I\xe3\xb4\xfb\xfdO@&\ +\xc48\x92\x7fQv1\x16\x9a\xa3\x8a\x08\x89%\x10s\ +\x8c\x1f\x05\x0a\x10Sj\x05\xa0\x10\xdf\xedf\xd6$\x00\ +\xe8\x89\xa7\xe2\x98u\xc9\xdfUe\xc1\xdca\xd9\xc8\xac\ +9\x98\xad\x9e\xf7\xb9\xda#\xe9\x8e\x1e\x19\x0a\x16\x80\xd4\ +\x01\xfc\x81\x02\xc5&\xf3\xbeh\xa6;s\xfda'[\ +\x03\x82E\xcf\xb1u\xd4\x9c\xde\x04\x94\xe6\x9elZ+\ +\xb49\xb10\xb3V>8\xb8G\x1b%{\xad\xe4\xe7\ +NK?\xefc&R\xbb\xe4\x10\x8d.J\xf6\xebt\ +\xb9\x9f3K??&]\xf4w\x985\x19\x13\x0e\x1a\ +\xdd\x97\xeb~\x03\xdd\xe1@V@\x044\xc3\xef\x0bG\ +dUM \x0e`\x02vH\x86\xc4E\xe0\xe4kr\ +x\xbaC\xcc\x9a\x9ec\x022z%\x81\x923\x91!\ +\xf9\xb1:\xcf\xf6\x82\xaa\xadY\xd9#\xfb\x97\x9b\xe5\xca\ +LI,,h\x96~\x7f\x91Y\xe3h\xe18_\xac\ +\x03V\x0b\xd8U\x12^)\xc7X\x81+\xd0\xee\xfe'\ +f\x8d~7\xa4w\xe7\x9b5\x8e\x14\x81\xe2)\xdd\xa9\ +\x9d\xc9\x0d\xfe\xc7,\x93\x16\x16\x12\x9c\x19\xe5\xef\xfb?\ +\xf4W\xf7\xe9\x00\x98|\xb3Y#7\xc3\x82\xa1B\xff\ +\xefL3R\x1c\x85\xe5\x1a\x923\x0058\x18d\xfa\ +\x99\xb7\x90\xf1\x90\xf9\xe7\xfa$\x13\x98!\x8f\x1f\x11\x97\ +\xc5\x9eM\xaf4\xe4z\xcf\x9b\xa5\xd7\x09\xe9\xbc\x03\x05\ +\x139^^W;6\xd0Z6 *\xa2\x7fV\xc5\ +Y\xf7;mC\x83LH\x09\x90a'\xb3f\xfe\xd0\ +\xebK\x80\x89,\x89d=\x1d\xea\xca\x06\xc8\x86\xa5\xc4\ +\x92\xb3\x7f\xaf]\xe6G\x0a\xe6J@&\x127\x97\xaf\ +\x92\x83ii\x22K\x1494\x92^u\xd4,\xf4\xf9\ +\xa3/\x985\x0e\xe1f\x9a\xdf\x90\xe8\x01\xa1:\xb5T\ +f\x987\xe3\xef0k \xcd\x04\x02\xab\x0b\x81\x22\xf2\ +\xaf\xd1\x0f\xcd\x9aq\x07\xda\x079\x22\x8e\x99\xc6\x91\xca\ +--4c{KO\x15\xc7\x03H\x1e\x0e\x18\xba\xd5\ +\xa7+\x81t\x97\xc8PO\xe8\x8e\xef\x8eo\x02\x13\x12\ +C\x81\x15\xd7\xf7+T\x16h\xed\xe1\xe0\xa4\xd2w\xbf\ +\x0ef*\x8e\xb4\x1cA\x8a\xc6\xe70_U\xf9t\xb2\ +\xc1\xbe\x09\x80\x9fm \xb78|\x1c\x98\xcc\x0f\xb8\x1f\ + \x07c\x1d=\xac\x03\x86\x1e\xdc\x9dD\xe6\xb9\x8a\xe4\ +a\xcf\xef\xce\xeb,!{\x9dY\xa3B@ \xc9>\ +O\xe5\xfaj\xb14+C\xdfm(d\x8b\x12\x0e\x0e\ +\x99\x059\x05\xa4\xf0\xc9 \x874\x19z\xe08 9\ +hc\x8f\x1c\x89\xb2\xcb\x95\x109Yj\x07\xec\xe7<\ +'\xc6\x9b\x839\xb2P\xd3cH%\x8e\xc4%d]\ +R\x91\x18\xbbl\xea\xfe\xe1\xf3\x87\xf1@mf_\xb3\ +\x1c\xa8\x14\x87\x92\x1eB\x12\xdb\xea\xe9\xf7V5\xf6\xf9\ +\x09\xef\xd1,\xcf\x8f\xeb\xe1\xe0'\xc1J\x8b\x0cr\x95\ + \xf0t\xee\xa2B\xe2\x08**\x92J`\x83@\x80\ +\xbc\x14\x87\x07N\x10\xe3>\x19>]\x91.N\xd6\x8b\ +c\xa2\xf3\xc9{!I`\x130\x13\xf0\x8b{\x08n\ +\x0b\x0f\xe0\xb8?\xa0\xd5\xec\x0f\xc8\xcd!\x17G L\ +k\x0e\xf3\x86uw\x8cY\xd3:#\xc8\xa4;\xe4\xe8\ +\x96S\xb9\x17\xf2\xd1{\xa8\xcf(\x01|\xf75\xb3&\ +1\x81C68\xbb{q\xf8p\xdc\xaf\x93\xfe9\xeb\ +\x89\xe7\x8f\xe3H`\xae\xc0\xc9!\xeaBx\xf4\xdb\x9a\ +5\xfb9H&\x023\x91B\x0eG\x995\x01:\xe7\ +\x85\xb8YL\x0b\xc6\xd4`\xf0\x0b\x5c\x1e\x8e\xf9\xcb\xba\ +c\x1d\x11\x18\x9c\x93\xad\x06tU6\xac\x04.\xbc\x1f\ +\xff\x0e\x0e\x01!>hmrR9!\x99\x15z\xcb9G\xf8;\xe6+\ +\xe7\x1a\x01#?\xf39\xacG\xd6=\x7f_\xd9\xf39\ +\xa7\xca8\xa1w\xcfx0\xbe5AR\xc6!\xb6X\ +\xb0oq\x1d1\xc1\x10[\x9dI\x90Q!\x8f\x01.\ +\xf3\x83u\x1a\x12\x5c\x9e\x18'N\x0c-<\xee\xaf\x04\ +\xee\x06\xe2T\xff=Px\x108\xec\xffT\xf8c\x0b\ +\xd3\x22Z?\x5co\x0c\xa8\x19/\xee\x9bq\x82\x1c\x14\ +\xc4\x12\xef\x8f\x05\x8c\x88< \xa1\xc2\xf7=\xef-\x15\ +e\xdf\xc4\xdf\x8c$\xc6\xac#\xe6/\x9f\xcb|\x00\x09\ +&\xe4\x17-q\xceQ\xa3\xf1\xec\xee4k\xc8\xa0A\ + \xc9\x7f\xa6`3\xd1-j\xa6\x0a\xc7\x9a\x82\xba\xcc\ +\x14\x09\xda\x0aM\xc0!G\xc7!\xbal\xc0TF\x09\ +h\x9e\xa0wT\x00\x00 \x00IDAT\x09D\xed\ +v\x9a\x8a\x92;\x22T|\x95\xa1t\xd6T6\x1cc\ +\x03\xfe\xa96\x9c-\x9a\xdeZ\xe4\x81\x0c\xb0u\xa6H\ +\xa9N\xd6F\xfd\xe3\x06\x12\xbcN\xb2uk\xab\x80W\ +nl\xb9\xce\xd7@\xf3\xd5c7z\xbbYz\xdd\xc0\ +,\xfd\xfe\xfb\xaa\x88\xb2 \xf6\xc9]\xe4\xe6\xc0\x94D\ +\x04\xac\xdfs\x8a^\xedp\xc4\xf0\xcd\xe1\x9b\xb9\x15\x22\ +C3q\x88]\xce\x09\x87\x09\x87X\xf2l\x90\x22\xe2\ +\xe8\xb8\xde\xae\xb9\x89\x97H\x9e\xee\x87JD\xbc\xbd9\ +\x80 '[\xa18\x0eY\xc4\xef\xb6f\xfc\x04\x09E\ +\x85\xc1\x03V=\xafL\x9a\x96\xfe\x7f\x7f\x90Y\xd5\xe3\ +N\xc7Eq\x10,\x0c\xbd\xa9y\xceL< \xd9\xe8\ +\xcb\xab\xb2\xd1on\x96{\xcd3d\xd4+\xce\x82x\ +\x8e\xbee\x96^\xb7*:\xe5\xe8\xd6{\xe5\x04\xf2*\ +\x91\x94\xf4\x8f\x9aU\x12&H\xad\xe0Np\xf6\xe99\ +\x19\x1cT\x02\xd0\xb5\xb4`\xc7\x1b.\x8bC\xcd\xd4r\ +\xb2\xb1\xe6\xdd\x81\xaaH\xd8\xf3=\xa2\xc8\xcc\xe5\xde\xe0\ +\xcf\xd6@3\xf7\xde\xfeU\x8e\xe7[\x9b\xca\xa4\xb9\xb5\ +\x1b( ;\xb0V\xf8]>\xc9\x18\x076\xac\xb2\x83\ +\xddi\x96r\xaa\x15ew\x8c\x1489\xb4~+\x91\ +\xd1\xbd\xac$N\xfc\xa0_\x5c\x1b$\x1b\xc5\x9f\xe4\xa0\ +,)\x04\x09=\xc8\xba\x0f\x87\xfc\xb2A\x0b*j\x0d\ +\x06\xd6b\x90\x82\xb3\x02\x95%\x81s\x9bY\x13\x800\ +\xff8\xc0y\xee\xb0\xc4\x8al\xcfI\xa4\x8e\xd0|\x86\ +\x93\x03\xb90\x10EZ\xdf\x0e\x15\x85\xd5\x9f^\xcc\xf7\ +k\x1d\xeeR\x90\x1a\xc3\xa6\xc3&\xc3&MO&\xdf\ +G\x0b\x07\x0e\x13rj \x1f@\xda\x88]\xd6\xd9\xd3\ +\xe5h\xfa\x01\xa6Jr\x8f\xec\xd2Vj\xb5AN\x08\ +\x12\x17 \xd8\x1c4T\xa0\xe5\xd8{\xc0\xac\x0d\x15\xd2\ +K\x7fN8<8\x0e\x1c\x101\x80\xe4 \xb9]\x88\ +!\x9e\x1b\xf2\x85\xe8\x1a\xff]\x99z\x12\x04\xf4\xcc\x03\ +\xddWb\xc0I\xacbO\xef\x02\x01\x1a\xc7\x01D\xc5\ +\x93\x03\x82\x03\x08\x87\x99\x7f\x1cD\xec/\xeb\xa9\xe2\xfb\ +\x0b!\x1f\xa8\xa0\x89\xcc\xcc[vv-\xadM\xb0\xfd\ +z\x0b\xd6\xceJ\x5c\xd1\xb3\xca\xbe\x22\xee\x06\x87Fs\ +\x80?$\x87\x8c\xf1]\xcc{\x05\xcb\xf3\xa15\x00\xf5\ +\x009\xf2\x8cC\xb7[ii\xc8\xbb\xf8\xbe\xd51\xf1\ +\xde\xc89A\x9f\x98\xcfe<\x80H\xc6\x9e=\x1c\xd5\ +\xaf\x152 '\x93\x5cK\x81\x0e\x89<\x1c\x00\x1c\x14\ +dz \xe5\xc1\xf1Q\xe05|H\xfb#\x90\xe5\xed\ +U\xd1%\xc0\xe0{A\x80\xa9e\xc3e\xeb\x90\x89%\ +\x90\x22\xf1\xacV\x1f\xaf\xd83\x1fa]\xe7\xfaHH\ +\xa9\xc7\x1f$K\x7f\xa0Y\xc3\x22/\x0e\x018\x0f\x9c\ +\xf3\x81\x96\x14\xb5\xd6\xd0\xe2\xe5\x10D\x02t\xb5\xc4\xf5\ +/6\xab\x1c#Fu\x9b\xc9n\x83\x1c\x99s\x18\xd0\ +\x22\x00\xf4\x1d\x87\x97\x84\x16-e\x8d:\x0c-<\x0b\x86\xc2\x00\xcf\x83\xf9\ +\xc3u\xb1\xef\xa02\x06\xd2\x12\xe4Al=\x5cD\xbf\ +\xa7\xc0\x11[L\x98\x171\xc1\xb3\x80\xfc\x0eZ\x85\xf8\ +=-\xae|~l)\xe0\xf9\xb3^#\xf2#\xce\xd7\ +\x98\x18\xc0\xcf`\xbd\xc25Ak\x1c\x89aq\x80\x81\ +\xa0%q<\xba\xdc\xac~\x8f\xefo\xda\xd7ATM\ +x/9,\xe87ga\xa6*\xcf\x226]X\x94\ +q\xc8\x9ddf\xb7\xcc\xd3]!:\xcf\xe5)Y6\ +\xc2%\x1aH\x02\xac\xba\xfa\xbb\xdc\xb3h\x01{\xc6\xec\ +VG\xb4\xfb\xbdYC\xe2\xf6p~d^A\xf1\x0d\ +\xc5\xc2\xaaC\xd5;v\xa8\x1c\xf2\x9b\xf5}\xe7\xab'\ +\xf1\x93u\xc0\xbaM\xcd\x9488\xb1\x09<\x0d\x82\xfc\ +\xe5\x9c8\xc8\x10Nw\xa4\x80\xf0\xb1Q\x9f'\x07\xed\ +\x8b\x82,\x9fmV+\xea\xa3O\x8e\xf6\x1dY/\xf3\ +\xfe\xa3\x03FV\x89\xb9\xdf,W\x16\x8al\x17\x13\xfa\ +.m\x80@a\x81\x92\x91A7\xc4\xc5s\x82\xb0\xef\ +\xa2\xfb\xba1\xfd\xbc\xadY#\xe7\xc7\x06\x0f\x14\xdd\xb6\ +\xeb\x17U]\xe4\xfc\xbe\xcb+\x02\x22\xd7\xa3/\x96\xa3\ +|\x8d\x02\xc9\xa5\x1a\x96ge\x88a\xbfw\x125\x0e\ +\x142\x8e8\xa2T(\x15 O\x9e9\xc0\ +\xfd\xa1fy\xc2\xe7\xca\xc6\xe8\xd5fr\x04\x0fiH\ +\x01-\xf1\xb3N\xfay\x85d\xcbW\xc7\xd5Y\xbdQ\ +u@N\x8e\x03\xb9u\xac^\x80$#osw\xc8\ +!\xb8]\xd0\xd0\xe3j\x05k\xf4>\xb3\x0a\xb1\xe4>\ +\xbb?w\x7f\xe9\xfe\xd2 d\xa8\xfc3\x7fq\x84\x98\ +_:\x80\xac!\xc0Z\x02\xdc\x91\x80|gM\xb3t\ +\x7f\x1b\x9be\xc8b\xee\xb9\xf5q& D\x7f\x15\x95\ +\x88w\x97\x04\x0a2y^\xa9&c\xfc\x22!0>\ +nV\xe5\xf0\x1c\xdaI\xc0\x8a#N\x8f?\xbf\xdfX\ +=\x9f\xab\x0b\xda\xcfF\x06\xa7\x03\x15R\x90C\x8f(\ +C\xf9a\xb3\xccyP\xd8\xbaq8t \xf5\xd7\x9a\ +\xa5\xf1\xdd\xde\xac&<@2\xa0\xd7\xed\x15|2\xe1\ +Tty\x8e8\x14<\x87'\x0a\x946\x05\xf4\xa5\xf7\ +\x98\xfd\xe1\xa7\xaad\xe3\xd8j\xde\x0e\xe7\x88\xac\x8f^\ +d*\x9c\xbb\x16\x1d\xed\xb1\xb3U1\xd3F\ +}\x9f\xce\x93\xee\x8bjU\x82\x14\xf5OE\xc6\xd6e\ +|g\x05\x0e\x17\x1cj\xceq>W-\x00\xc3\x1b\xcc\ +\xa6pg\x94uK\xa0\x07\xf2\x8f\xc0\x8d\xeb\x052/\ +N\x06Tu<\xf0g\x9fe~\x90\xe8\x8aPb\xae\ +\x87\xf1\xe3\xff\x83\xcc\xa4u\x86\xe7@\x8b\x05\x8e/P\ +|*\x83\x9cg\x04>$\x1a\x98\xff8\xbaT\xeey\ +\xae \xf8\xe0fP!\xc4IT\x09\xd8YO\xef\xca\ +V\x03\x06\xce[\x12\xe6\xa8\x8b\xc0\x150\xe1d\xa8e\ +}s~\x80\x08$QGB\x00$\x19\x89W\xd4\x82\ +x>\x04 \x13\xae;^X\xd8A\x8aq\xbep_\ +\x1a_\xaf\xd8\xe3oE\xb5\x18>\x9fD\x0c\xc8S\x9e\ +#HK!J|^\x91\xc0\x88\xaa\x1d\x04@\xec\xa3\ +@\xf3E\xd6\xdb-a6\xbdB\xec\xad\x11\xe8\x92\xb3\ +\xeei\xed\xe0y\xf3y\xa8D\x00\xa1g\xfcy>\x5c\ +?\x89j\xc6\x8f\xeb\x8b\x81>\xfe2Pm\xce\xd9\xc8\ +\x05\x10Y\xd4\x99\xcf\xcc[\xe6i\x84r\xf3\x1a+\xf2\ +\x9c\x13\x91d\x91y\x8aZ\x87\x90\xc8\xbe\xcfp\xdd\xec\ +?\x95\xa4\xaf|oL\x04<\xe4\xea\x00\xe5\x15\x16\x7f\ +\x12\xd6\x14\xfcf{e\x99D@\xf9\x99V8~\x1f\ +\xef3\x06\xa2$xP\x09 \xf1\xc7z\x8f\xa4tQ\ +Uan\x09\x80\xc9\x808`\x9d\xb3OI\xdd\xc3?\ +\x8fu\x1a\x02|\xf7\x03\x22\xc9`@D\xb8\xaaU\x9c\ +\xdf\x04\xec\xb4\xc0EY=\xfc#\x9e{L\x90\xc0i\ +\x03\x19-\xc8lZ\xe0\xc4A\xe6-\xa4!\xe0\xe7\xfc\ +$\xc1\xeb\xf3\x82\xb8\x9b}Q\xf3\xa9\x1b\x995$\xd8\ +\xf8\xe3\xb4\x9a*\xc1\x09r\xc7\xe3X[g\xd7g\x8e\ + \x8b8\xc7\xfa\xed\xfb\xed\xfa\xed\x1a\xa4=\xf1\xc0\x09\ +\xc3\x89\x16\xff\xd2\xd24a\xf5\xeb\x5c\xc1\xc6\x11%\xc0\ +\xc3qfC\x04Z&\x1d\xfa\xee\xc6\x22\x1b\x97!W\ +\xe7*\xc3\xfc\x86\xe6\x01\xe1\xd0\xe0@l`\xd6d\xd2\ +\xf5\xf9\xdd\x05\xc9\xac\x17y\xbed\xf362\x84d\xce\ +\x80\x06\xa2\x87\x0c\xb4\xf3\xc5fJ(\xec^\xa1\x8d\x04\ +\x94\xae[\x8al\x9b\x1d\x18\xe7TD@\x7f_\xb2\xb4\ +\xf0&\xf77\x13\xdb\xec\xd1\x95}\x19\x07\xa8?\xa1?\ +\xbe?\xbeNXz\xce3T\xfe\xc2\xa6\xb2.\x92\x10\ +Hg\xba\x05\xbb\x052\xc9\x89z\xf0=p?W\x01\ +\x03\x1b&P#M\xac\xfe\x17f\x15\xea\x81\xa39\xfa\ +\x93Y\xfa\xdcG\xcd\xd2\xeb\xad\xc9n\x11\xe2\xc2X\x80\ +\xcfJ\xf639\xe27\xd4\x9es\x97k\xd3\xe7wg\ +$;\xb3\x8e'\xbd\x92\xa3\xc7\xcc2Iav \xbb\ +\xbf\x99U\xb9\xba\x14\xe4\x17\xa4\xc2a\x05\xf2\xe9=\xe8\ +?\x96\x03\xb0\xb4z\xdf\x80\x1e\xaeW\x02%*N\xfd\ +\x13f\xe9{\xce\x17I\xa0H*8\x98\x08t\xc6\xff\ +a\xd68\xb6s\xccr`\x91\x1d\xec\xb4\x0c\xb3\x83\xd3\ +\x9flV\x13F\xce\xfam\xb3\xf5O\x95\x04\xcf!\xa2\ +\x1c\xe8@\xfd\x04\xf9\xca\xbd\x7f\xfb5\x01\x06\x10rZ\ +Ql\xfb\x98\xa7A\xb0\x88T\xd23\xca\x13\xc9\xd2\xdf\ +\x8d\xb60\xcb\x88\x80\x1cHw\xf7\x18\xab\x849\xfc\xa3\ +d\xb9\x85\xe3\xa1\xee\xa1\xa6\xa2\xc3\x06D+\x03\xe4q\ +d\xd2\xc9\xdc\xc9\xd1qd\xc4\xdf\xd5k\xba\x7f\x91\x83\ +\xf3\x03M\xef\xf7\xd6\x14\xa0\xc6\x1c\xb4\xdc\xbf\x1c~'\ +\x15So\xfb\xf0\x9062*\xf7\xe8\x10sp\xb2\xb1\ +\x01\xe1}\xa3Y\x0e\xb42\xa4\x8bV\xa1nQ\xf5>\ +\xfeN2tr`\x86\xf5\xcd\x1a\x87\x84\xfb\xa5\x82\x85\ +#\xab\x00\xd0+\xc9\x90\x9c!\x0f&rOwP \ +\x8d\xa2wZ\xa4f\xb9\xe5\xe7{\x0d\x84Y\x15\xa7a\ +\x19\xb3\x1c0\xae8\xac\xd8\x8c\x1f\x99[\xf6A6\x5c\ +\xae\x93Wzm\x95\xc0\xeb.4k \xae\x1c\xe4d\ +\xb6\x09\xcc_l\xd68\xe0\xcc7\x02\xc4\xdd\x05\x01\x07\ +1\x01\xd4\x9f\xfd\x98yr\x8d*\xf6\x17\xab\xc5d\xd9\ +\xa9\x95\x22\xaf@\x8a\x93\xc2+\x8dd\xcaao\xbe]\ +\x8e\x18\x19n8\x09~\xa9J\xd1/\x95\x00\x02\x0a\xcc\ +9\x80c\x07\xfb\xbaH\xe9\xd23\xc8\x09\xb6\xe1\xcc\xa2\ +&\xe1\x09\xce\x1d\x8a\xba\x85\xab\x09\xc8AO\xbb\xd5\xd9\ +\xc3YM\x85\x12\x07\x8b\xc4\xd2\xc8\x1d+\xc8\x80\xa6\xca\ +XA\xaa\xf7S\xe9\xc7C\x9e\x8a\xc3\x0e\xfb;\x01\x0b\ +\xe7\xd2\xbd\xba\x9f'\xf5\xbc\xa3\xdc\x13\xe7\x0e\x0e\x1e\xd7\ +C\xcf2\x95\x12\xd8\xe8!\x9be\x1c\x80\x22S\xd1\xe0\ +\xb9\x81\x00\xbbN\x15D\xc8a\xa9x\xaa\xc2I\xa2\x9d\ +\x0a\xb7\xcbP~S\xe7\x8a*\xbc\xc8\xe2\x8e\xe6\x98\xa5\ +\xd77\x17\xf5\x95n^\xb3\xf4\xfey\xccjE\xdd\x13\ +g\x90Y\xaa\xf2\xe7\x10w*!p\x91\xa8\xe2\xc1>\ +\xe0$\xb0p\x00\x88\x9b\x03\xe4C\x7fC\x7fc\x7fc\ +\xe3\xb0\xa12\x01\x89\xd2\x16\xea\xc9G\x0dF\x01\x8aW\ +\xb4x\xae\xaf\x97\x9c\x1d$\xb6\x8c?\xaa\x17\x04,\xec\ +K\xf8\x13$\x8eX\xef\xccO\xc9\xe3\x11\xa89\x99\x17\ +\x01*H\x87\xebE.I\xeb\xdbcr\x089\x9fE\ +\x229\x86\xe3:_\xe1\xd0\x81\xa3c\xec\x16\xe9/\xbf\ +x*g\xc3p\xad\xd6\xff\x9a\xf2G\xc6\x02i\x1b\x8e\ +9\x8e7j\x0e sp\x90\x09\xfcq\x8c!\x1bD\ +\xae\x15\x99_\xed\xf3\xc3)fM/8\x0e<\x0e?\ +\x90Z9\xea\xddbf\xcd~\x83\x83\x8a\x9fBB\x9c\ +u\x0291\x15x*d\x04\x8a$\x04qx\xb9n\ +Z\xfe\x08l\x91\xaf\xe3\xfc\x86\xbd\xff#f\xf2k\xce\ +j\x1ce\xf6{ \xfa\x04h\xb4\x8a\xd0:A\x22\x96\ +\x80\x1b\xb9RZ\xa3hE\x80\xbc\x92\x00\x015\x08\x12\ +v$\x92\x08Py\x1eT\xe4\xd4\xb2\xe3\x81+\xef\x8b\ +\xf2\x98\x9co\x9c7\x91\x8c\x95\xc0\x03\x92N\x90\x09\xf4\ +\xcas\xff$\x90\xa8\xdcs.3\x8e\xb4z\x00\xfd'\ +AA`\x16\xf4\xc5\xbd\xd7\x9d\x16\x09\xee\x9f\xf5#\xf2\ +KoIb\xbc!\xf5\xe3}\xec\x8f\xdc\x0f\x09\x13\x12\ +4\xdc7\x89S\xb8&X\xc7\xba>\x9f\x87\xf3>>\x8f\xfb\xe2~\x08\x5cc\x85\ +\x9f\xfb\xe0\xbac\xc2\x83W\x12>\x5c\x1f\x9f\x13!\xe9\ +\xff\x7f\x13\x00\xf8\xbb\x5c\xef\xdc\xd4,H\x900\x9f\xd9\ +/\xa2ZF\x0c\xd8ye=\x91x\xe3{h)\xe0\ +\xba\xb9.>7\xce\x13~\x0fR\xf0N!\x16\xd4\x02\ +;\xbcF\xad\xdd\x14\xea\xe0\x98\xe2>\x18/Z\x1e@\ +\xf6\xc0e\xc5>\xc1\xbc\xe1z8\x7f)\x08\x92\xb0\x03\ +\x01\xafx\x0b\xf2]Z\x1f\x9c\xa3@\x9cl\x93\x1f\x9c\ +\xdccr\x8f\x86K\xe1\xef\xce\xa5P\x12%$.?\ +\xd0\xed\xd1\xeda\xc3\x05\x14Y\x15TgW\xd5\x06\xeb\ +z\xd3\x9f/\xfa\xc5T\xf2\xf3\xe5>S+\xcby;\ +\xb8\xb7\x0e`\x7f\x8fY\xba\xa0\xbd\xccjO\xb4\xcfO\ +\xb1{\x8f\xde\x98l\x8b\x06\x1a\xc9\x06n\xef\xbeH\x13\ +\xfe\xfeF\xf7X\xe4F@L\xad\xce\x9a+\xad\x06\x14\ +\xbb\xa0\xe9\x85P\xe5\xd6\xa8\x1b2y\x03\x90s\x02\x00\ +{\xdf\x17\x14`\xfc\xa7\x92\x82\x8d6,\xe4\x80\xdd\xbf\ +\xcc\xaa\x9c\xd0\xe4Uf\xe9}\xd7$3(\xf1cf\ +\xaa\x04\xffM\x5c\x02\x17\xaaBk\x99\xd1o\x9b5\x07\ +\xbd\xd5\x17\xde\xad\xccMC\xca\xc4\xe7\xd3*\xd1?k\ +\xd6\x90\x1c\x0a\xaa\x98I\xe4\xc7\xa5/?R\xc5\xe6\xab\ +r\xa0\xf7P\x22b\x9d\x9a\xc0\xc8\xe4~\xdfhz\xe8\ +\xfe\x13*\xa4r\x8c\xe1\x16\x18\xad\xe9\xe5\x84\xdc\x08\x92\x22*w\x92\x9f\ +ca\x8f\xc6\xcdr \x99\x0f\x82\xe1A\xc9\xc7-Y\ +\xc6c\xf2\xa9\xc9\xa7'\x9f\xae\x90\xb4\xfe\xb5f\xaa4\ +\x7f\xbc\x09x\x99h\x90\x09\xc9!\xf2\x83.\x1e\x1cl\ +\xdc\xe6\xc6\x9c\xd5\x90ZZ\xde\xf2EM\x86\x12(%\ +\x89\x1f\xcdGO\x08\xff\xb6\xbb\xb2\xbb\xb2qt\xb6.\ +\x90\xdc\xb1\x0d\x02\xd4g\x0d\x8d\x0b\x95x\x12]lh\ +l\xb08\xc2p\x13|Y\x10\xc7\xd8\x1b\x0c\xb4\x8e\x0a\ +B\x95_+\xc8\x136X*\xe1\xf4n~C\xe4\x93\ +r\x14I4\xf8\x86\x0bd\xeaYgs-\x81\xed\xd7\ +E\xa6\xa4\xd6\x01O\x1c\xd0*$H\xba\xb7p\x1c\xaa\ +}\x03G\x00R9X\xfe\x09\xacD\x1a\x85\xac\x15j\ +#\xfd;\xccj\xc5\xda\x11I\x90\xb3\xac,G5B\ +\xc6\xc8\xe0\xae*n\x0a\xe9o{\xe6\x16r)\xad\x87\ +\xe1\x00\xb3f~\xaa\xd7\x16\x19\x18Z\x91\xba\xeb\xcd\x9a\ +\x00\x0av~\x0e0\xe6\x1f\xad\x0f@(\xf7V\xe5\x9e\ +\xc0\x9c\x9e\xe35%\xcb\x85#\xcd>H\xe2\x13\x84U\ +\xed\xcd,\x1b\xf9\x1e\x0a\xa0\x81\xc6\xe3\x98\xc1\xaa\xces\ +\xa4\x07]rE\x0e\xe5d\xbc\x98/\xcc\x1f2\xf78\ +\x1c\x90\x81\x92\xc8D]\x04\xa89\xad\x12d\xb2\x95X\ +\xf4D\x92X\xff\xbbc\xcc\x9aD\x9cze\xbd7\x90\ +\xef\xe7\x80\x0c\xec\xb9\xde{H`Me\x8f\xf9\x0fg\ +\x04\x89\x1a\xd6\x15\x89\x92.@\x199`\xa9\xbc?0\ +\x15\xf2\xef\x15\x5cT\x09\xbe\xa2\xd6\x22\x1c\x7fzg\xd9\ +g\xa8\x90\x91x@\xff\x9b\x00\x8f\xfb#\xd1Hk\xdb\ +W\x84\x88\xa1u\x02\xae\x17\xe4\x18?k\xd6\xc8\xecm\ +W\x10a\xbe\xbfRQ%\x90\xa6\xa7\x9a\xfdU\xad\x01\ +\xde\xd2\x14\x1cr\xdf\x97\xe8\x85\x9f\xd7,=\xce\xd3\xcd\ +\xaal\xa2s|\xfc\xa0\xc8a\x0ek\x16\xc7\xc4[\xcf\ +h\xd1\xb9N\x9f\x7f\xa9\xe4(\x95 \xcc\x0dT\x076\ +\xady\xa8A(\x11\xd9\x1d\xd4}\xa6\xfbL\xf3\xdc\xc4\ +\xc1\x90\xee\xa2\x04\x828\xa6\xa8\x94(1\x0c\xb2\xc0\x11\ +\x1f\xfc=\x09\x19Z4\xe0\xaa@\xe6\x94\xca\xeb\x8f\xca\ +u{\xcf\xf3rf\x0d\xb7\x0d\xadC\xccs\xc8\x15I\ +tA\x9e\x0a\xb7\x05\x15\xbc\xc7U\x09\x82\xcc\xf3\xcd\xdd\ +\x9b\xba75\xfb\x04\x90p>\x9fJ=\x0e \xf3?\ +:\xae\xcc\x1f\xe6\x17\x15V*\xbf\x04\xe2p4<\xe2\ +\xac\xdfe=\xe3o\xe1\xff~\xd4\xac\x91\x07\x84TV\ +*\x06\x9e\x18 \xf0%\x80c\xfe\xb0\x7f\x13\xf8\xd3\xa2\ +\xc5|\xc4Ag\xff\x12Y\xa9\x07\x0c\x04\xf4$HI\ +\xd0\x10\xf8\xe28_R\xe4J\xbd\xd5\x10\xd2F\x12\x99\ +\xcb(\x81N -\xf5)\xbf~\x0a\x02\xb4\x0e!\xe3\ +(\xf2\x5c_\xd7|\x0f\x88\x8a]\x84\xf8b\xfc\x09\xa8\ +H@\xc5\xc0\x83\xebe\x1f\x8d\xbd\xdd\xfc\x9e\xe7J\x80\ +\x17\xa1\xe0\x8c\x07\xdf\xc3\xbe\x05\xb2\x8c\x84\x0c-\x03\x04\ +p\xb4\xa4\xa0\x96Q!\xe3\xe5\xfa\xd9\xefA\xd6F\xce\ +\x04\x02&H\x02\xb5\xcf;\xb7\x07\x10p\x12,\xf8#\ +\x140\xd8\xefX'\x909C\xde\xc8:\x22\x80E\xe6\ +\x1b\xa4\x04\x01\x19\xfb8\xeb>\xca\xdfE\xf6{\xc63\ +\xfe\xe3\xf3\x22\x0b{$\x99\x0b\x9f\xeb\xeaS<\x17\xc6\ +\x89\x82\x01\x89\x1e\x1c@\x9es\xec\xadg\xfd\xf1\xbd\xf8\ +\xe3\xd1\xdf\xfbGP\x1d\xe0\xf9\xf2\xb9\xcc\x13\x9dG\x8e\ +\xcc\xc5\x8f\x8d\xd0q\xee\x97s\x8d\xcfa\x1d\xc3}\x00\ +\x226\x22\x1eb+\x05\xdf\xc3\xba\xe6\xf3c\xc0\xcf\xcf\ +\x8c\x0f\x7f\xc7:!\x90\xe7\xf9\xb3.\xb8N\xf6\x0b\xee\ +\x87\xeb\xe1\xefX_$\x0a\xa2\xccp\x94k\x8f\xf2\x81\ +\x91T\x97\xd7\xb8N\xf0\xa7\xd6(\x886\xceC\xe2\x1c\ ++\xeb\xe5\xc2^H\xacy\xc2\x94u\x1b\x90=\xd3Z\ +]\x22\x87\x04\xeb\x9e\xfb\xa5\x80'.-cD3N\ +4dRIt\xd3R\xda\xff\xd3\xacr\xd1\xf9<\x82\ +\xbbG\x88\x92\x09\x0f\xf8\x09\x80\x08\xfc\xa9\xe4\xc2~\xcd\ +\xc6\xa6\x00\xa8\xbf\xcc\xaca\x11\xa7\x97\xd8t\x13\xd3\x02\ +\x99\xbc\xdf\xacB?G\xab\x98\xa5\xf7\xff3\xd9L\xf5\ +\x84\xbf\xa9\x81\xce\xb6\xa44s\x1aVv\xab\xbc\x1e%\ +\x87h=\xf5\xea\xbd\xb7^\xe7\xb0\x95Ys\x90\x001\ +\x85|o\xc8\xa0\x98r YEcc\xb3\x9a\xe1\x85\ +]>\xebm\xa7@\xa6\xbf@\xf2F\xdb\x8e\xb6\x1bm\ +\xd7,\x0cd\xce\xe40\xf4w%\xbb\xb3n\x8c\xce\xea\ +l\x95\xf9[\xc5R|h\x13\xb8\xc1~l\xef\xffq\ +\xd3\xcb\xcbu+\xd1\x91+\xb3\x9b)\xf3}\xb66\xa6\ +\xc73\xa4m\x9b\xbe\xb5\ +9\x00p\x98X\xa0\xcc7[\xee\xcf\xa9\x12{\xbbz\ +\xe5~\xae\x03u\xd9\x1ah\xe6\xe3\xba\xabdV\xe86\ +\x9b\x98X\x96\x13S\xab\x06\xdc\x0d\xce\xeaNo\xd9+\ +\xe5(\xb2\xb1-#G\x15\xd2 \xae\x1c\xc8@\xa5\ +\x84\xa0\x80\x85;m\x0e\xe5\xe0\xc1\x81\xc0\xe1eC\xe1\ +\x80\x90\xc3O\x80\xeb2\x83pR\x10\xe0\x88\xec\x12\x96\ +i*\xd9\x0e\x0d\xe7\xa0\x07\xaa\xa6\x8d\xd2\xd9\xab\xa9\x14\ +\xf1|q\xec7\xd5\x86\xf4\x06%L\xc4\xaa\xed\x81\x09\ +\xba\xd5\xb0\xd4r`Q\x99P\xc2\xc6+\xf7\xaa\x04\xb9\ +\x5c\xda\x03f\xf9\x00+\x19y\xe6\x01\xfb\x14\x0e0\xb2\ +\x83\xb0h\x7f\xbb\x7f\xbe/dA\xc5q\xb8M\xfa\xd1\ +TF#\xfb;2\x89?\x90\xcc\xd6C\xe2\x1a@\x8f\ +>B\xd3\xc9\xe4\x12\x08\xbeJ\xcf]2:\x1e0\x13\ +\xb0Q\x11\xe7~;\xd3\xf3hzg\x09T\xce\x13\x87\ +\x04\x01R\xedI-r|\x04\xd0Ri\xc8Z\x18K\ +5\x8e\x02\xf7\x03\xf9\x13\x10Z*|\xc8\x0d\x8a\xbb\xc4\ +\x0f. \xac\xf4\x90\x81\x8c\x00\x19\x80c\x03\xf4pS\ +\xb58P\xa9e>\xe3(\xe2\x18q\xff\xf4h3.\ +\x1c\xdc\x1c\xe4\x91D\x07\xe8\xee\x1f\x94\x10\x01J\x0b\x02\ +\x83\x00\xea\xe4l\xb57}5\xb5\xfa@\xc2\x08D\x12\ +5\x16\x028\x1c`\xc6\xe9\xcbf\xcd|\x92\x0c\x9cs\ +\xb8\x00\xb1g<\x08\x88n\x90\xe3J L`\x15\x03\ +\x02\x91\x7f\xbaz\x03\xb2\x9d \x80\xd4\xcb\x8d\xc3F+\ +X\xff\xef\xfe\xe1\xfe\xe1\x1a\xa88\xe4\x1bd\x93\x12V\ +\x8e\x84\xa0\x05\x87uJB(\x92\x15R\xa1#q'\ +\x089\x88\x1f\xbfOZ\xa9 \xc3c\x9e\xa2\xf2\xf1\xd8\ +T6d\x127\xde;M\xcb\x09\xdc\x00rl\xbc\x85\ +\x80D\x13\x89\x0ad\x03A\x16\x90 [\xb3\xec7N\ +J\x8a\xe3\xc5~\xc2\xbc\x87O\x00\x95\x08\x1c\x22dj\ +\xbf-\x84\x17\x81(\x01$\xba\xd4\x042\x8c\x8f\x12z\ +N\xd2\xa9\xc4\xa5'\xf8\xd6W\x02\x07\x87n1\x05\xb2\ +\x8c?\xeb\x03\xc7\x91\xc0\x22&\x00x\x7f\x94\xfb\xc2/\ +\x01IA\xe2\x22\xaa\x1f\xe0\xb8\x93p \xe0\x08\x81\x97\ +Ct\x03I\x9dC_#\xfb5\x95]8T\xe0h\ +`\x9f\xc7a\x85e{\xf1\xa9\x09\x00?7\xb8>\xee\ +\x9f\xd6\x13\xe4\xfe\x90}\xa6GW-1\xa8\x18\x0dG\ +\xeb{y>\xc8\x86\xe9z\xd3j)\x1c-<\x0f\xde\ +\x07\x97\x83\xce+\x12\x5c\x8e\xbc|`\xaa<\x1a\xc8\x01\ +G\x04\x90x\xc3Q\xe79\xb2\xbeI\x5c\xe0\xdf\xd1\xaa\ +I\xc2\x06\xf5\x86\x18\xe82\xfe\xb4&R@b?\xe6\ +\xfd\x04L\xbc?B\xd6y\x7f+\xcb=\xab\xd9Oc\ +K\x00\x7f\xc7\xbc\x22Pe\xbe\x11G\x9fX \xc4\x8e\ + E\x06\x8d\xf9\xcc>\xf7\xe8T\x04\x8d\x07\xfe$\xe6\ +H`0> 0\xb8\xde\x18\xb8\xb1\x8eb\x8f5\x89\ +\x12\xe6wl\xe1\x8a\x5c6QW>\x90\xe6Mk-\ +`^\xc6^}\x12\x06\x9cS\x8c#\xe3E\x02$^\ +\xdf\x93\xdebS\x02\xcc\x0aq/\x09\x07\x02\x7f\x9e\x07\ +\x81vL,\xf0\xf9\x91\xc5\x9fq#@\xe6\xf7\xbc\x9f\ +\xf3\x1c\xc8?\xfb \xd7\xcd\xf5\xf2\xbd\x04\xc2\x04\xf4\x5c\ +/\xd7\xc1<\x89\xeah\x91c\x84D\x0b\x81v\xbcn\ +\xae\x8f\xf37\x06\xf4\x8c;\xf3?\xca\x09V\x8e\xa02\ +\x8f\xf0\xcb\xf8\xfb\xe8O\x10X\xf3=\x8cW\x9c'\xac\ +c\xc6\x15\xee\x10\x126\xacc\xc6\x91y\x12[\xa8H\ +\x00\x90 \xe3\xf7\x11\x01\x82\x1f\xc9\xba\x079\x80l\xaf\ +!\x8e'j\xa2\x92D\xfd\xf05\x15\xe4$C\x0cb\ +\x16D\x90\xfb\x17\xa8\x84\xe9yLt'\x9b5\x19<\ +\x1e\x00\x19\x05 x\x82VB*\xd6\xdfk\x96\xf6\xbb\ +\x97\x17\xf9\xb7\xdc\xb3\x96\x1c\x84\xfe/\xc9niH\xbc\ +V6\xab\x81\xab\xd5G-\xe0\xcc\x1d\xfe\xeb7\x01?\ +7\xae\x07\xc1\x0d\xf6\xcb%[\xb6r\x0a\x10\x10\xd1\xeb\ +\x98+\x8d\xafo \xf2\xb0\x95\x7f.\xd9g\x1b\xf6F\ +\xe4\xcf\x94i\xcf-\x09\xe9\xfb\xfb5\xcc\xc4\xf6\x9d6\ +\xb69\x1f6K\xf3\xe7cf\x8dc\x08\xb9\x8d\x02\xe1\ +L\x8e\xf8\xc9\xf4\xf7\x1f1k\xa0Krl!I\xca\ +\xee\xf5*\x8d>4\xbd\x18\x22A\x22S\x9e!\xf1\x9f\ +mHa.Mv\x99\xa0\x1e\xab5do\xca8\x8d\ +f%\xb3\x8a\xfb\xdbF\xdbg\x12\xc3{\x92\xa5\x054\ +\xfa\xca\xe8\xd0\x91\xf5r>fV\xa1\xd1@D\xbc\x22\ +\xf7y\xc9\xd0\xedY\xa0\xa4\xdd;[%\xbfb\x83\xe4 \ +\x9c4k\x0e`\xa0T@0\x09\xc4\xe8\xbd\x85\xd4\x89\ +\x8d\x17\x0e\x0f\x1c*z\xff\xd4\xeb\xeb\x1b+\x8e\xe7\x92\ +\x0a\xfcTy\xea\x8f3\xab\x9c\x0a\xc3\x98d\x07\x81\xfe\ +\xdd\xae\xc4\x04\x07'\x0e0$Xjm\x1an*\x15\ +\xa9\xfe[f\xcd\xf5@\xbeyv\x09\xd4\xa9\xf89\x0b\ +4\xea\x08\xdf2\xcb\xfbGN\xa8\x8c>d\xd68\xda\ +\xcf\x05\xf6]\x12~\x0aP\x86\x8dD\xd6\xa5@\x1f2\ +8$\x80tr\xc0\x12\xf0A\x9a\x06\x94\x95uJ\ +E~^U\xf87\x11\xd7\x0a2\x93\xb4H\xa8\xa2g\ +\x0c,\xb9\x07\x0d\xc8\xf2\x1a\x82\x8e\xe2H/%\xc7\xb5\ +\x0f\x19u\x1cVz-?\xa7J\xf4\x8e\x1a\xd7\x8b\xcc\ +\x9a\xf9t\x8f\xc6\x07\xfdx\xc6\x05\x07\xa1\xd7:\xc0\xf1\ +\xb9[\xf7I\x22\x9c\x9ecz:I \xa2\x8e\x03\x99\ +\x11\xac\xfaT`\xe1j\xb8B\x10\xe2W*1C\x82\ +\x82\x04\x07\xeb\xf0\x019Rp\x82P\xb1S\x02\xad\xfb\ +h\xd9\x9f\xbd\x97\x1bGP\xe4O\xfd\x86\xfdF\xfdF\ +\x99\x0c3\x93|\x8e\x0e4K\xaf\xef1\xab\xdc\x1e\x8e\ +,\xc1\x91\x10\xe7B\xb7\xafY\xc3\xc1\x00\x19\xa1H\xc3\ +\x1c9\xa5\xf3\xc7\x13\xd9\xbfQ\x00\x0c\xab:\x0e\x10\x01\ +;\x8esPUh\xc6-'\x8a\x09\xf4\xbd\x92\xc2\xbc\ +\xa3U\xe0|q\x08\xa9\xb5\x87y\x9dfqQ\x93\x80\ +\x1c3\xca,E(l|\xc5q\x04\x11\xf7RU\xce\ +c\x056Vf\xd9\x7fp\xcc\xb8O\xedg\x0e\xc9\xe7\ +\x9c\x9cW\x01\xce?\xa6\xf6\xf2\xe2\x17y\xa2\x085\x18\ +\xe6\x09\x01\x1c\x8e6\x01)\xad:\x0f)\xd1\xb3\x99\x02\ +R\xd8\xdfQ?\x08rm\xd3*\xa3\xec\xf7\xac\x07%\ +<\xba\xb5\xcd\x9as\x8a\xfd\x86\xe7K\xe0E\xe0Ok\ +\x1cr\x85$>)8p\xceA\xee\xc8\xbe/u\x19\ +OD@\x86z\x9f\x12\xcd$\xc6a\xf5\xc7\xf1\xa6\x05\ +\xf4Dcs\xaar\x90\xde\xaa\xc1\xf3\xe7\x5c\xfa\xae\xd4\ +\x12^\xa5D\x1d\xc8\x02\xa9Jt\x1f\x12i\xac\xce\xb3\ +\x5c\xc0\xba\xb5\xf1#\xd9\x97@\xa0\xca\x7f\xf2D)\xfb\ +\x0a\x81\x0e\xe3J\xa5\x93yO\xc2H\x95\xef\xee\xedf\ +\xcd\xe7\xc2\xc6\x8f\xff\xc7\xe7\x93x!p\xe0y\x92\x90\ +'pb\xbfg\xde\xb0\x0fF\xb6r\xe6\x01\x89\x1f\xfe\ +\xae\xee\x83e\xdf\xe4\xb9D\xd5 \x12\xb7$\x88\xd8\xaf\ +\xe0\xc6\xa1\xc5\x0c\xae\x04\xc8\x17A\xb0q\xee\xb0n\xf8\ +\xfe\x88\xf4\x88\xdc\x14\xb1R\xcfz\x8c\xbd\xf9s\xe3\x02\ +`\x1f\x22\xb1J\x0bL\xe4\x18 \x11\x13\xbf'r\x03\ +\xc4\x8a;\xd7\xcduF\xc8~\xe5\xd2)\x89\xe4\xa7\xd5\ +\xdb\x1d\xc9\x14\x1f\xd4:\x9f\xa9}\x9e\xfd\xfe_\x8e(\ +\x9a\x8a(\xe0\xf7\x5c\x0f\xfb\x1b\xf30\xca0\xb2\x8e9\ +\xe7\xe6\xc6u\x10e\x0d\xe7\x04\xa4\x01\xf7\x15Ux\xe6\ +sh{\xf99&\x00\xf0\x9f\xf9\x99W\x12\x0e\xcc?\ +\x12i\xfc=\xfeU\x90W\xf4\xe7\xc2>\xc6\xdf\xf1\xfc\ +x>\xfc\x1d\xf3\x89\xfb\xe1\xbc\xe1\x1f\x7f\xcfsa\x9d\ +\xb0\xffFN\x04\x9d\x07~\xae\xc1]\xc3\xb8\xb2\x8e\xb8\ +>\x12^\x9c/\xb4z\x82h\xc4_\xe3}\xf4\xfc\x83\ +\x98RB\x7f\xb8\xbd \xb0h)\xec\x0f0K\xaf\x7f\ +5k\xde\xaf\x82\xe5\xe8\x03f\xf5\xbcG\xe5g\xc2+\ +\x85\xd2\x83\xf7\x8c'\x15\x1f\x16\xaa\x02\xc9\xfeX\xb3\xda\ +\xfb\x05\xb4m\xf8\x8cYe\xdbE]`\xf4\xbff\xe9\ +\xe7W$[\xb3q8\xad~\xf0\x03mLs\xb4\xd1\ +,)\x07iI\xf5\xc2](\x12\xc2m\xd2\xf7\xdef\ +\x96>\xef\x0ff\xf5\x86Fk\x98\xa5\xcf\x7fW\xb2\x1d\ +\x9b\x0c\xeb\x22Y\xf8\xc1\x1d\xb3L\xaa\x95\x02\x8fn\xa5\ +d+\xd6\xcar\xffF3\xb1\xa6\x7fT\x15\xd2O\xa9\ +\xd7\xe7\xe1\xda\xbb\xea\x95\x10c\x8d?\xb8\xfe=\x89\x8e\ +\x9c)\xb7\x16\x80\xf9\xcc\xa4/\xfetMT8\xb4\x93\ +\x0a5\x1c\x09\x8b%3r\xa4\xc9dV\xd9_\xd2,\ +\xbd\x1e\x93,\x8d\xdb\xf8:f\xfa\xff\xe9\xb9\x8c~\x92\ +\xcct\xd2\xffj\x96\x91\x0a\xdb\x8e\x8c\xf3\xe0\x0f\xc9\xd2\ +\x012\xda[2\x87\xdf3\xab\x13\xaa[\xd8,}\xdf\ +\x8e\xc3\x0e\xc3\x0e\xf9\xb9\x96\x80\x8c@Y\xcfe\xd8v\ +\xd8\xc6\xc6;\xcd\x89\xd2#'\xd9>\x97\x81\xa1\xd2J\ +`\xa0\x83\xb6{\xd2\xacV\xa8|\x02\x87L\xabC\x04\ +\xb5\xf0!-\xf3\x83D,\xcf\x1eH\xa9w\xd6D\xd7\ +Lvm\xf4.\xb3\xb4\xbf\x1c7y\xec\xe4\xb1\x15\x91\ +\xe2rR\xb4\x8eP\xf9Z#\x83\xed\xeb\x86\x186\xe8\ +\x1c8\xfe^\x95\x86\xf5\x9a\x8d\x9c\x83\x1b\x99\xcc\xcd\x92\ +m\xdeT\xc4\xd9\x80\x8ca\xe1\xe3J \x1d\xdf\x04\x9e\ +\x83t\x07\xc9x\x13\x00\x93\x90\xc0\xb1\xf8e\x0a\xe9\x93\ +\xa3\xdd\xfd]\x15\xed\x17\x995-\x13lplL\xf1\ +\x95\x0d\x8d\x83A\x07\xa0\xf7\xfe\xfdO\xb6\xaa\x03j\xeb\ +\xf0\x15M\xc5\x1b\xc8.r+\xc8c!cH\xa6\x9e\ +\x0d\x15\x08\x13\x8e\x18=\xee@\xcaEv\xe8\xac\xcd\xf4\ +\xd4\xd2\xeb\x8c\xe3\xac\xcf\xcd$\x9c_\xaa\x8eg\xf7\xb2\ +\xe2\x18\x0f{\x89\x84\xf4f\xc9\x94\xe1\xe8\xf1|VR\ +b\x12(!\xec\xd8\xaa\xd8\xba\x0a\x87T\x19\x9c\x8c\x88\ +\xe7\xafqq\xe86dnTT\xa8\x00\x12\xb8+\x90\ +\xea~gV\xd9\xcf=\xa0#\x80\x13;7\x15+*\ +&\x90\xacq\xbf\xeeh\x00!\xe7 \x97\xce\xfdp\x91\ +Y\xde\x973\xe7\x8a?_\x02\x16\x0e\xa6\xbb\x95\xb0]\ +\xd2\x13)\xc5\x01D\xbe\x93\xbfS\x8b\x84\xb3\xc8\xaeS\ +\xd6q\x1a\xed\xc2\x9e\xcb\x01\x85\xe3\xc5\xc1\xc5\xc1L%\ +\x17Y/\x1cn*\xa6\xaco\xe9kw\xfb\x9bU\x84\ +AVw9\xa3\xb9>\xa0\xf8\x8c3\xfa\xf1\x11\xd1\x02\ +\xd9\xe0\xb8\xde\x8f>\xfbE\xc3\xaf\x07k)\xbb\xc4\xac\ +\xe9A\x05\x0a\x0a\x02\x07\x0e\x01\x12\x088\xb48\x9eR\ +\x8fH{A\x81\xfa\x01mf\xbd\x12x\xd0\xca\x01\xa4\ +\x9e\xfdI\x07\xb8\xf7\xee\xd1\xc3}\x89\x90\x0f\x11\x22\x0a\ +i\xa2\xe6\x87#7p\xe8\x19\xd7[\x95Hf}H\ +\xdd\x82\x96#\xbf>\xa9`\xf4{\x98eu\x9b\xb3\xba\ +\xb3\x9a\x96\x0dz\x9e\x09\x88\xb66kTP\xf8|\xe9\ +\xa0\x0fo3k\xf61!\xf82i\xef\xf2\x95\x03g\ +\xec\xb4lu?\x84\x95\x98\x16)\xfe\x7fX\x9f\xeeX\ +\x82\x94\xa0\x85\x83\x84$-*\x22\x17s\xf6r\xde'\ +\xe4V\x0as\x8b\x0a\x00\x95\xd8Xy\x8a\xac\xcaB\xec\ +t@\x8d\xe9\xe5\x05\xa1E\xe5\x1a\x04\x8f \xe6$v\ +\xfd\xfd$\x00\x98\x17$\xae\xa9hs.\xe2\xe0\xf1o\ +\xb6\x1c\xe5\xeb\xcb\xf7yK\x03\x01+*\x06o\xd4>\ +J\xe1E\x09\x0e\xc6\x85y\x91\x1b\x1e/\xc8\x01i!\ +\x05U+\xa1sg\xe0\xe0\xd2b\xb1\xb0\xd6\x13\x0e/\ +\x01\x17\xd0qUn=\xc0\xdd\xd0\xac\x99\xb78\xfc \ + \xa8\x04+\xf1\x84\x1a\xcc\xd8\xbej\x85\x02\x19\x03\x0b\ +=\xe7{\xe4l\xc0\xd1f>\xa3n\x01\xc9*\xad0\ +\xac\x8f\x8b\x0b\xe2\xc5\x0b\x0a\xec\x9b1Pc\x9fg\x1d\ +\xfeM\x81\x05\xf3\x8e\x84\xc9y\x92\xeb\xbbA\xf3\xe0{\ +\x05\xe9\xe5$\x8e\xef6\xcf\xb2\xa9\xe0Q\x09\x07\xa1\x12\ +\xc9\xff8\x97\xd9\x87\x98\x07\xec\x93\xfa\x1e/\xe1\x8e\xee\ +\xca\x00\x00 \x00IDAT\x08\x91(\xc7O\xa0\xf7\ +\x9d\xf1\x823\x87}\x91\xf9\x1cY\xe7c\xe5\x97\xe7\xcc\ +9\xc1u\xb1\xbf\xb3^bB\x8cqf\xff\xe7s\xb4\ +o:\xb7\x16\xfb3\xaf\x04\x9a\x8c\xcb\x82A\xee\x96\xeb\ +\x8crx\xf8\x87|O<\x87\xf0o\x9e\x0a$\x9a\xa1\ +%\x00\xae1\x0fH\x99\xff\xec\x07\xa1\xd7\xda\xd7\xed\xdc\ +X\xda#\xd2 &\x00b\xa2\x81qg~+\ +\x09$\xb5\x94\xd9\xa9k\xe7\xaes\x87(\x9e\xa6\xa0\xd7\ +\xedg\xd6\xcc\x13\xfc?\xb8v\x90\x0de]P0!\ +\xced\x7fe\xdf\x16\xa9w\xbf\xb4Yz=\xc7,\xbd\ +~\xdf\xac\x92\x83;'\x1e\x9cA\x9b\x99\xd5\x16\xe0\x09\ +\x9fp\x824\xe6\x9e\xff\x03r\xa51\x07&T\xac\xfb\ +\x0b\xcd\x1ah\xb0Xh\xfb\x1d\xcc\x9a\x03T\x8e\xb5\xcb\ +\xfc)\x11\x90\xa1\xff\xff\xac\x17\x92\xdd\xbe\x95\xc5\xca\x7f\ +R\x03\x19\x03\x01`*\x04{)\x11\xf1\xc7\x0a\xf9\xf2\ +\x03\xfae\xc9Vn\xc8\xf9F\x05:\x0b'@\xceD\ +\xaeS+\xf0T\xf42\x82\x80@o\x91P\xd1\xbaV\ +\xad\x0d\x976\x8e.\x15\xd4\xcbsMb\xac\xff\xb4Y\ +z\xdd/Yrp\xfb;\x92\xdd)\xc8\xe4\x8e\xe9\xe7\ +\xb7\x985\x951\x135\xfb\x8e6\xc0\x7feY\xaa\xdd\ +L\xb6)'\x08fe\xce\x81\x0dG\xd6k\xf7l\xb2\ +4\xc1G\xbfL\x96\xc6}\xf47\xb3\xf4\xba`\xb2\x85\ +*\xb9\xdbh\x1e\xb3\xfa G\x87\x98%\x7f\xe7\xca\xf1\ +\xdf\x8e\xa7\x093~\xe1\xf8\xaf\xc6\xad\xe2f5a`\xf5\x97\x5c\ +\x81\xe1\x00\xc4\x91 c\xcd\xc2cAi\xe1\xbb\x8c\x1a\ +\x1b\x0a\x8e\x0f,\x9a1\xe3\x87\x9c\x17\x5c\x14r\xb8\xbb\ +c\xd4\xbbm\x00\xce\xc3\xeb\x86\x07\xa4\xd4!\xeaj%\ +\x99\xd6\xab\xc9\x81\xcbF\xc5F\xc8\x86f\xcb\xfc\xb6\xe6\ +\xc0\x97z\x82\xf7\xac+\x90\xcd\x1c\x16\xc9a\xeb\xce6\ +k\x02aU&}\xc1\x03\x8d\x83\xf4\x0e\x8e\x80#\xcd\ +\x9a\xf1\xa4\x02\xc7\x82g\xe3\xe6\xe0\x8f\x07M$\xb1a\ +\xc3\xc7\xd1B^K\x15\xd7a#\xb3\x86=\x9e\x9e\xc7\ +\xbbr\xb7k\xdd\x80\xe2\xf7\xf1=dhi\xb5\x11\xdb\ +\xba\x93\x87\xc1Z\xce:\xb7O\x99O\x81\xc05\x8d\xe3\ +\x86cB%^\x953\x1c\xeb\xeep\xb3\xec\xb0\x95\x1e\ +~z\xc5U\xe1\xcf\x0d\x1b\xb77\xec\xcf\xcc'H\xbd\ +\xc4R\xde\x7f\xc8\xac\x81:\xb3\xf12_\x99\xbf\xd1\x81\ +\x84\xa4T,\xf6\x04H\xa3W\x985\x89'S!\xf9\ +jC\x92v\xa6Y\xdd7\x1d2\xba\xb1\x02\xdc\xc3%\ +\x1b\x07\xa4\xf4=\xe5\xf3=\xb0\xa7B\xc5A\x06\x94\x9d\ +\x9e~2\xd1$\xe2\xa8\x5c\xbe^$\x9fT\xa49\x18\ +q\xe8\x08\xb4\x090_#\x84\x02\x15\xde\x09'm+\ +\xf7\x7f\x9f*\x18\x1c\xd4\xcc\x87\x93\xc5>N\xa5\x0e\xc7\ +\x1drH\x02N=W\x97\xf7c\x1e\xd1\x0b\x0a\xa2\x05\ +\x87o~9\x0eT\x10Vu\xc8~\x99'<7\x12\ +\xd2\x04\xda\xfc=\x0e\x0b\x09/%P\xfc{y\x1f\x09\ +,\x10[@>q\xd8 \xd7\xe2{p\x14\x99\xb7\x82\ +\xdc{b\x19\x88\xfe\x01\xa5w\xde\xc7\xe5-jI\x8a\ +\xb2R\xac/\x05\x9e^\xe1\xc4aS\xa5\xcf+i\xe2\ +\xcap5\x8d\xcd\xd5b\x01\xc9\x0f\x01$\xbd}@\xf7\ +Q\x8bP\xef\xf2\xf0~\xb3\xaa\x8e\xe1rf\x07\x9a5\ +\xb2z\xb4\x96\x08\xe9\xe7\xf3z\x8e\x10A\xdf\x14\x12\x00\ +.\x01\x02\x00%\x00\x5c\x0e\x92\xd6\x09\x90k$\xe4@\ +\x16@\x86\xf8\x9aBb4\xbcEjC$(%c\ +\xea\x88#\x90c\xac\x0b\x02'\x12y<_\xae\x87\x84\ +\x0f\x0e\xd3\x12\xa5\x222\x5c\xa5\xf7\xf1y\xac;*\x9b\ +8\xa4\x90\x8ar\x1f\xa8\x0f\x80\xf0\xa3\xd2-U\x88\xee\ +\xbdv\xb27\x8e,\xec\xcf\xef,-V\xf4\xf6:\xa7\ +Jt\xf4Q\xcf\xb8R\x08=\x02d\xd6;\xe7\x95\xe4\ +`\xbd\x85E\x01>-\x88>\xdf\x08P8O\x99\xf7\ +\xec\x03+\x88e\x1e\x92@\xf6\x09\x1c\xde\xdf\x985\xac\ +\xd7$Th\xe9a\x1f\x13G\x8a\xfbI$P9\xff\ +\x99\xef8\xdc$\xbe\xf1\x13@\xe2\xc0\xb1\xc3\xfd\x9c+\ +\xae\x8b\x8d\xd5\x12\xf3\xa8\xb8\x14\xe8\x11'q\xca\xf70\ +\xeew\x9a5\xe7+-|\xecS\x04\x02\xac\xc7\x0b\xf5\ +9\xec\xbb\xec7\x8c\xd3\x9d\xba\x1f\xc6\x8f\xfb\xa0\xf2\xcf\ +\xe7\x0ea\x5c\x02'\x8c\xffL\xa1\x82\ +\x9f\x09\xec\xf0\xef\x02\x12\xc9\xfd\xa5\x18\xd8\xb3\xfe\x9f\x0c\ +\xf2y\x8f\x05\x16\xfd\xd9\x9e\x00(\x092\x12l\x8c\x07\ +\x05\x15\xeeO\x5c\x22\xbe\xfe\xf9\x9c(\x13\xc8\xf5\xf0\xff\ +\xf1\x83cB\x00\x8e\x02\x12\x93\xf8e|\x1e\xf3!&\ +\x18\xf8{\xce;\xee\x97\xfb\x8c-\x06\x5c\x0f\xa4\xa6\xb0\ +\xd2\xf3<\xf9;\x12\x85\xcc\xb3\xc0E@\xc2\xc0\xd7#\ +\x7f\x17H\x93\xc7\xe0\xe2yV-e\x90\xaeR\xb0\x03\ +\x09,Y?\xe7j\x89H\x15\xee;\xf6\xfa\xcfm\xfe\ +0?\x22g\x01\xf3E\xe7\xf3\xb0\x9dY%\xd9v\xe4\ +/\x08\x1d8Gx\x1e\x8c#\x89r\xe6\x15\x05\x05\x12\ +f\xb4\x84\xeb}\xce\x815\x8fY\xa3rD\xab\x9dZ\ +_Al\x0e\xffc\xd6\xac\x13\xfch\x9d\xef\xc4\x19N\ +^\xad8f\x22\xe7;\xbf\xdfTP~\x91\x15\x9eK\ +\x05g\xbfL\x9e\x95\xac\xc9\xe4\xab28\xeceV\x03\ +\x8d\xee>\xb3\xda\xd3O\x06$gF~\x96^\xfbd\ +C\x03\xad~.\x0bW\x14\x87dc\x91\xeb][3\ +\xff\x93\xe7$;\xb7:\xee\x8e$@\xe7\x1b\xf2&\x0b\ +\xd4g\xd7J\xb5\x1f\x94\x0c\x84\xb9\xa1\x96\xd9>$\xd9\ +\x97\x95\x89=]\x09\x8c\x93k\xe5\x16r\x98\x5c1\xfc\ +\xbcX\x1e\x7fQ\xff\x1eR\xa7\xc9\xd7\x9a\xa5\xeb\xfd\xba\ +Y\xa3\x83\xbe\x9c\x99\x1c\x86C*\xe9P\xf7\xb3dg\ +f\xa8\xfd\x9e\xb9\x82\x08y\x99\xe9\xc1__\xc9\x03\xc7\ +/N\x96\xc6u\xfcZ\xb3\xf4\xfa\xe3d?I\xff\xff\ +\x9df\xe9\xf5\xebf\xe9\xef\xfe/Yr\xe0\xc7\xdfl\ +\x96^\xf7\xb3\xee\xff\xf4\xffO1k \xbe8>L\ +tAx\xe9U$\xe1\xe2\x09\x9a\xbf\x9b\xd5\x0a'\xbd\ +-\x96\x0e\xb0\x84\x80\x07\xd4\xb1g'\xf6\xf6p\x80\xf2\ +\xca\x81\xc3Bb\xa1\x06H\x96\xf7\x22s0\xb1\xf1\xc1\ +ZO\x0f<\x8e8\x19}K\x07\x5c\xde\x04\xd83\xb2\ +\x02wq\x08\xdb^2\x90'l\xac,H\xd8\x83\xd9\ +\xb0\x80\xb0\xe2\x18n\x91\xad^\x1f\x5c\x10\x16\xe8\xfd\xac\ +\x22G\x80\xd4PQ\xa37\xdb\xc4%M^\x92\xf1\xf7\ +\x96\x9b\xf7\xc8a?\xa9\xf4(\xe7\xf9\xb1gFhd\ +\x198o\xc1!\xc3\xbd}\xd9x|\x839VPv\ +6b*\xb5@\xbb\xb8O\x1c\x86\xed\xb3\xd5@\x8b\x0d\ +\x8b\xff\x8f#anN\xcb\xfe\xcc:b|\x09\xccx\ +n\xa8\x83\x98\xac\xc8[*G\x87\xab\x0c\xf09\xd60\ +\xf2\xce\xa67\x13\x08\xe4n\xd9\x8c\x1c+Y%=t\ +G\x8f\x83\x9d\x8a\xdb\x8d\x9e\x10(\x95A\x8d\x93#\x1a\ +@0}\xa9\x90\x81B\xde\xe2\x10j\x91\x97\xd1\x22\x93\ +\xd5G\xe6k2\xbc@4M\x9d\xc480v4K\ +\xeb\xeb\xc7f\x0dY\xd1\x8aEE\x80V\x9f~\x86Y\ +\x9d\xb7@\xb0\x9dC\x05\xc8,=\xe4J\x08x%S\ +dV\xc3Af\xe9\xe7#\xb39\x82al#\xed\x9b\ +\xccS\x12\xb4\xac\x13\x1cp\xe6+\xac\xf8\x1cd$\xda\ +\x08,\xef\xd4\xb2\x89d4I\xbc(\xe1\xef\xc8\x85\x8d\ +\xcdr\x0fu\xf6\x1b|\xffR\x02\xccI\xd5v\x90\x5c\ +\xe7\x15J\xf0\xf3\x8f\x16\x8b\x07K\x82\xc1+\xfeTF\ +\xd9\x97\xf1;\x98W\x90\xff\x09\xe1\xd5\xad'\xd9K\xc6\ +\x95\xc4'\xcf\x9b\x00\x8a\x9f9\x7fp\x0c\xab>{I\ +|\xdc%\xb5\x0c\xe6;\x9f'\x87\x7f\xb8\xd9\x11R%\ +\x01\xb5\x9a\x12!\x01^\xd0\x8bw\x87\x9d}]\x9c\ +\x11\x9e\x00b\x1er\x0e\xf3~\x1c[\xe6\x07\x01,\xfb\ +\xf7KT\x99'\xd0\xdeP\x09x\xae?\xcab\xb1\xdf\ +\xc3\xf5\xa4\x16\xbd\xb1o(1BK\x10PX\xb1T\ +\xfb\xb8\x8f{\x82\xab$^\xb5n\xdc\xe1\x06\x91\xc8>\ +@\xa2P\xaa?\xbe_\x80\xc0\xc0\xc1\xc6\x0f\xbc\xc7\xac\ +I$\xf0{*kZG\x9e\x90\x15\xf7\x8b#\x91H\ +\xf4\xb1\xbfQh\x22\x91\xb3\x8edE!\xc3\xe5\xdc\xa4\ +\xc5\x03\xff\x87\x7f\x044\x0a\xec=1zS\xb9>d\ +\xb8\xa6\xb5t\xd5\x96\xadr>3\x7f\xd9\xb7\xf0\xebb\ +\xe56\xf6\x5cG?,\xbeF}w\xfc:\xd6?\xf3\ +\x19\xff\x8d\xeb\xc0\x1f\x81\xd4\x16dh\xec\x11\xe7{\xb8\ +\x1f\xee\x8f}\x15\xa4\x15\x09i\xf6yUP}\xff\xc3\ +\x9fg\xfe\xc5\xc0.p\xef\xf8:\xe0\xf7\xf8\x991\x01\ +\xc0u\xc6\x00\x94\x9fck\xc0\xe3J\x8cQ\xf9\x8dr\ +q\x14\xb8\x96\xea\x96\xec\x96l\xdew\x87\xfc\xcc{t\ +\xaeT9\xd2\xf2\xdc\x90\x07\x0d\x15v\x0f\x14\x9f\xf2J\ +t\xf9\xf9\xe1\xc0\x15\xc0y\x1a+\xfb\xb1\xc2\xcd\xfd\x06\ +\xf2Q\x9f?\xac/>\x9f@\x9b\xf7\x83(\xa40\x10\ +9\x0e\x86\xc0\x01\xc0\xba\x8a\xbd\xf5\xdc?~\x14r\x96\ +A\x8e\xd2\xff\xf1\xf7|.?\xb3\xafp\x7fQ\xc6\x97\ +\xdf3\xbfY\x9f\x81\xf3a\x9aJ\x03\xeb\xe7?.\xab\ +X\xd6'\xe7\x0b\xfe\x86H\xf3\x87W\x96\xc0\xbb;\xcf\ +\xac\xb9\xce(\xbb\x188\x1c\xbc\xe5\x07?\x8e\xb8\x83\xe7\ +\x89\xdfK\xc1\x01n\xac]K\xcb.\x05.\x90\xe4>\ +\xaf\x19\x17Z\x11\xc5\x81\xe5-\xc0\x9f+d\xfe\xc4!\ +\x139o\xbf\x97 \x8dW\xaab}T&\xa3\xea\xac\ +\xa2\xde_b\x96~^\xc4\xac\x91\x17\xdb;+p\x17\ +\xd6\xe5w6\xd0-A!\xbc\xd2\xf9\xb7L\xf3U&\ +\xe8\xccf#y0w\xbb\xb8\xdeu\xae\xf8\xa7\x00\xb9\ +?-\xd9\xa9\x15J\xcb\x80Ar\x84\x0e|\xae\x18[\ +\x05\xf2\xa9dO\xd7\xc0\x10y\xa5\x0cD\xdeV\x13\xeb\ +\x9e\x86\xcd\x93\xde^9\xf8\xb0$fh\xfaM\x95\xc4\ +\x0eR\xa1\xec\x08\xbc\xb4A0X\x0b\xc1J\x82$\xfe\ +oU\x1d\x00\x82\xe9\x8e\xb6H\xe2\x80\xac\x8fnJv\ +\x83~o\x0e\xd7\xc3f\xe9\xf7G$K\x07\xe8\xe8\xf4\ +d?M\xe7\xdf\x1f\x93\xa5\x83ttR\xb2\x13\xd5\x12\ +\xb0T\x95y\x1a\xdfs|\xaf\xf1\xf4\xbc\xc6g\x8c/\ +>\x9e\x0e\x82\xd1&\xa3MG\x9b6z\xf0\xf4\x1a\xd2\ +\xcbK\xc2\xe6u\x1a\xcf\xafd\x1b\xebN4k\x12'\ +@\xcd\xb4\x10\xfc\xa0dc\xa22E\xc5\xa0:FS\ +YUYx,$2\xe3\x91\xfd\x93\x03#\x92\x11\xb1\ +Q@\x16\xa7\xcc\x16\x15\xe2\xfe\x15f\xe9\xf5\xa6\x22;\ +\xd5o\xd2\xbf\xbe\xb7\x04\xd2K\xcc\x1a\xc8\xaa\xd4\x19<\ +Q\xf5\x85\xc2y\x80\x8a\x05\xd0\x18\x87\xdc\xd1\xabF\x05\ +C\x08\xfe\xdc\x03~d\x93\xd9\x85\x04\x10\xbdm*\x0f\ +\x96\x19\xdc\xb6!\xbf\xdbOl\xda;\x94\x96\x0b'\x97\ +A\xaf\xf7\xe2\x02]\xf6\x1ew*\xe8\x04n@^\x0f\ +\x96\xcc\x18\x15*\x1cbz&\xd9\xc8a\x93\xc6\xd1`\ +\x83\xa6\xc7\x88\x0a\x19\xe4i$Rh\xbd\xb1c\xde2\ +\xf0\x1f.l\xe4T\xf8<0\xb6m\xf3\xc9\x86\x0b\x81\ +\x8d\x0b\x08-H\x8b\xc7\xb2\x80V%\xc1\x5c-\xbb\xc8\ +U\x8e\xcb\x10\x12\x9bk\xdf\xd8\xb19@\xd9/P\x89\ + \x10#3\x1a!\xb6T`\xe7\x11\x09\xca\x0c\xb3\xaa\ +>\xe0\x10\xa9\xff5\xab\x81Hw\xaf\x12\x95\xac\x0b*\ +\xab\x04\xea\xfa>\xf4\x94I\x00\x8c\x9d\x92\xcd\xb8\x11\xe6\ +\x0cs*T\xd6U;\x94(%a\xe7$\x8e\x1f+\ +\xec\xda\xb4\xd6\x0c\xcb\x0c\xcb\x0e\xcb6\x07\x11\xf3]\x95\ +~\xae\xdb9\x15\xc4\x0d\x91\xae\x22CQ\x1d\xc2\xcdz\ +c\xa6R\x91\x05j\xcaAD\x8b\x97\xe4br\x22\xf4\ +\x90\x9cx)\xfb\xe0\xcb\xbaU\xbaUr\x22\xb5\xb0\xb8\ +\x83\xac8$[m\xf5x\xbb\xd9\xf4\x16\x1dd\x9a\xba\ +\x93\x94\xd8\xe2yQQ\xa3R\xc7\xf3\xac\x15\xf9\xf2\xba\ +\xa8\xe6%\xfb\x00\xba\xd8_\x09\xaa\x11<\x1f\xed\xdf\x0e\ +i\x97.xwnwNwN\xc3-\xc2>\xc3\xf8\ +\x92\xe0\x06R\x0c\x02\x84@\x89\x8a\x08\x95yS\xad8\ +\xb4\xb6\xf2t\xdbj\xbf\xf8\x1f\x91d^\xaa\x0a)=\ +\xdcB$\xe0\xd8:\xc7\x01z\xf3\x90\xf0\x80\x10b\x9f\ +!\xe0Qo\xbeW\x14\xc4]`\xe9\xe3\xcc\x11\x22\xce\ +\x95n\xa2;\xbd;='h\x8b\xda\xc1\xcf\xd5BD\ +B\x84\xd6'*\xd8 G\x90+d\xfd\x90\xd0#\x80\ +<1[\x1d\x97O\x15YGwH\x90\x19e\xff\xa7\ +2\x8c\xec\xdd\x0c\xedk\xea\x81t\x1d{\xb8\x1c\xa8\xa0\ +\xc5\xd6\x92\x18\xc0\x10\x10TR\xc52\xbe$|A\x00\ +\x00\xad%a\x80\x83F \xad\xf5\xe0\xbd\xd4Tt\x09\ +\xac\xf8\x87C\x07\x99(\xad<\x90drn\x11\x08\xd0\ +2\xc5\xfaZE\x015\x0ee@zxK\x15\xd7\x8d\ +\x83\xaf\xf3\xc4+\xa9\x8c\x0b\xf7\xcfx\xf0\xb9T\x88A\ +\xa6\xd4\x16\xa0\xa9\xb2\x88\xec\x0b\x91-\x9b\xf1\x86\xf4r\ +q%\x9c\x80\xe8\x9f\xa3\xfb]\xaf\x901Z\xc3[\xde\ +\xa7#\x0b\xf8o\x15\x90]\xa6\x84\x0e\xeb\x059@\xf6\ +\x05\xfc\x0f\xe6\x13~\xd1\xaa\x22\x9d\xc6\xf1&\xc0$p\ +\xe7\xfd8\xb2\x11\x92\x8ecL+\xc2\x0d\x05\xaa\xef\x1c\ +\x1c$\xacH,\xcc\xe3-\x10\xa5u\x84\xdeX\x90#\ +!P\xf0D\x9d\x90H\x16\xceuKV5\x0aWw\ +\xe0\xe7XI'` `\xc4\xaf@V\x15\x19U%\ +X\xbb-J\x00\x9d\xfd\x95\xbb\x9b\xde\xef\x90\x18\xea\xd6\ +R\xe5\x94\xdfs~DRG\x02\x9d\x9a\x08(\xaf\x0b\ +\x07\xc8>\x81\x11\xff\xf8{\x02H\x02b\xfe\x81\xdc\xc0\ +\xaf\xc0\xefA\x95\x84y\x0c\xd2\x92\xe7\x88\x7fH@\xc2\ +\xf8\x9c\xc9H\x0em\xbfN\xb2u5\x90\xdb\xd6\ +\x9e@\xe4\xb6\xac\x9e\x9a+\xaa\xc8\x15^n\x0a\xf5\x95\ +\xdcb\xf4\xf6d\xef\x90\xa3\xf8\xc1\x17\x80N\x0b\xd2\x8d\ +<^vSOk6e\x96\x131gX\x22\xc6\xaf\ +[\xb2s\xc8a\xc2\xce=\xba\x7ft\x9f\x916\xba\xae\ +\xb7\xa0\xf4N\xd2%N\x83ag\xc9WQA3R\ +\xac\xf3U\xd9\xf8E\x95\xed\xf4\x8c-${'d\xab\ +\x1b\x1c\x9fKB\x82\x0c\xe4s\x99Nl\xac{\xde\xac\ +\xb6\x9a\xf8?\xc6\x91\xc0\x0aGK\x81\x9do@\xcc\x83\ +U\xb30\xd7\xd8\xf0\xfdd?h\x12f\xc8\x19Z\x03\ +I\x9ag\xdd\x0f\xcd*t\xb9\xbb\xda\xacq,\x90\x99\ +\xa4\x17W\xad#\xde{&Hm\xbfa\xbfA\xbfA\ +U\x05\xb0p6\x07\xb4\x9b\x98\xa5\xf7\x1d&\xee\x00 \ +\xf8@\xc9\xe0Z\xd0AJ\xe0\xd2-Zt[\xbb#\ +\xccj\xef\xf3\xe4\x09f\x0dtU\xe4gp~\xb0\xc1\ +\xc2\xb5\xe0\xdc /)H\x01Zg\x90\x91sG\x9e\ +\xca\xef\xba\xea\x99\xfd\xec\xd8\xc1c\x07\xe7\x0d\xbe@\xcc\ +\xde\xac\x84\xe4\xc1\x85c\x05\xd5\x06\x9f\x9f\x046\xf4\xb0\ +\xbf\xcf,\x1f\x1c\x85e]2v\x99\xf4t\x83\x8a\x04\ +I\xe1\xe9\xce\xdd\xce\xb9\xa7|\x8f\xc1\x12\x97\xbb\x97^\ +r\xefq\xfbu\xe9\xb1w\x87\x0a\x87\x03\x87mo\xf5\ +|\xb3\xcf\x82(\xa2\x87y\xad\xe2\x08z \xa5\x8a.\ +\x89\x15\x97+S\x8f \x0e\x8e\x07\xe4p\x0eP\xc1#\ +`\x22a\x89\xc3\x07$\xfa\xab\xe9I\x1f\x96\xde\xffI\ +\xb3f\xff!qG\xcb\x0a\xe4\x8d$<\x09\x00!G\ +\xe5`_|X\xc2HPS\xd0\x92\xf7\x8f4\xfe\x05\ +\x99\xf1\xb1\xb1=\xc7\xf6\xcc\xf3\xbf\xa8\x0f\x10@\xe3\x08\ +\xb2O\x90\xf8`\xfc@D\xb0?\xaf(\xee\x94\xed\xc4\ +R\x8e\x8c\xa4z\x0a\x9d\xb4gyA\x1ca\xdd\x07\x09\ +\x02;=\x81\xeeL\xb1\xfe\xdf\xa1@G\xeb\xdcI\x0b\ +i\x89\x00\xb1\xc78\x00\xc5\xe5\xff3\xaf\xb8~\xeeG\ +\xa4i\xee@1~\x0b\x05\xf23\x9e'\x81vd\xdd\ +\xae:\xd2\xc5\x01\xa6\xe5\x80\xde\x7fz\xcf\x09`\x1e\xf1\ +\x9e\xee\xa9=\xa3|.H\x16AB\xd3\x9c/\x81\x9d\ +\xc84i\x85\xc8\x8d\x80\xab4\xfa\xf3\x15\xb2<\xb5\xe2\ +\x16\xe5\xbe\x98\xf7\x8f\xe9\xf7@~I$\xc5\x0aT\xd0\ +I\x9f\x86\xe4\xe0\x1f\xe3\x1ce\xe1\xa2<\x1c\x8e<\x01\ +\x14\x95S\xbe\x97q\xc7A\x8f=\xc0\x9c\xbb@\xe2A\ +\x90\xcc\x90C\xcbu>\x10z\xfc\xd5\xaa\xe1-Jz\ +\xce\xe9T+\xdf\x0fr\x94\x04$\x01\x14dV\x02\x19Z\x9a\xc4\xf5\xe0\xeb*B\xa8g{\xcb\xe5\ +\xd4\xfb]\xc4_\x0bdz\xe1n\xa1n\xa1&\xd0\xae\ +\xf3&_\xb7\xab-\xe0\xffq\xfe\xf3~\x10?$\xda\ +\x09l@\x96\x92X\x81T\x92\x1en\x0ap<\x1f\x12\ +9 /\x08\x94\x09\xe8\xa3,\x1b~#\xf3\x80\xf5\xc4\ +\xf3e\xbe\xc7\x84A\x94\x9b\x8b\x5c\x00\x04\xd6\x0f\xe9\xfa\ +H\xc00\x9f\x22w\x01\x7f\xc7u\xc5\x00\xb1\x92B\x96\ +\x04\x1d\x1c3\x04\x9c\xc4\x1b\xdc\xef\xe3S\xd5R\xfc\x95\ +^{\x02~\xf6O\xd6k\xac,s}\xb1\xe5,\xaa\ +(h\xbe\x0c\xac\x03 \xf7T\xde\xf9\xdc\x7fi=\xc7\ +\x96\x82\xd8\xe2Bb\x92\xf1e\xbf\x89l\xfd\x9c#\xfc\ +\xcc\xf3!a\xc7\xbc ^\xab$\x82\xa8\x94\x90h\xe6\ +\xef\xa7\xf8%$\x16\x9a\xfd\xad\xbc\x8fs\x82u\xfa\xe4\ +T$\x85\x8f+\x09\xa7\xd8\xd2\xc3:\xe4~\x19\x0f\xe2\ +\x05\x0aa\x13A\x9d\x86\xcf\xa3\xa0\xc1\xbeMa\x04R\ +L\xee\x1b?Dq\x8dsZ\x80\xbcSb\xc9\x0b\xa1\ +\x22\xc9vu\xaf\xaf\x179oO\x9c*\x81\xdf\x1d\xd5\ +}\xa7\xfbN-4z\x0b\xa7\x10m\x13\xfd\x12f\xd5\ +\xc1\xf0\x8a\xabd\xda\x86e\xacfU\xf5\x7f\x91e\xf1\ +\x8c\x83=\x96\xa5j\xe5\x10\x04@7\xcbL\xd0\xd4/\ +\xd7\x85\x97\x02\x9a\x9d-\xa0\xc9\x01}\x9ap\xfd^f\ +\xaa\xd4\x1d]\x0f\x96\x1c\xf8\xa6\x8dh\xf4\x7f\xc9\xae\xad\ +,\xc1\xc3\xdaf\x0d\xfb\xbee8.\xcf:\xf1K\x9a\ +N<\x81\x80;\xea\xe6\xce\x9d\xa0J\xd1\xcd\xb5\xd2\x98\ +\xa1\xef\x8b5\x95N\xab .\xdel\x5c\xf6oL\x01\ +\xc5\xaa\x82*7\x95\xa7<\x8d\x9eh*\x968,\xe8\ +\xeb\xea\x80A72\xcb\xf4\xedW+\xffl\x8c\x04\x84\ +Y\xfe)\x05\xe2\xa3\xf7&\xdb\xad\x22\x1d\xc6\xef\x1e\xbf\ +g<\x05\xc4\xe3\xef4K\xbf\xcf\xffj\xcf\xb9W\x0c\ +\xff\x5c\xc8\x18\x9d\x8c\x89\x8a)\x1b\xecN\x85\x8c\x8d\x1e\ +\xae\x9c0y{#\xa7\xa6\xde\x96\xdc\x10q|\xae\x5c\ +\x16\xc8\xbf*M\xc9M\xdd\xbe\xdb\xbeq\x18q\xccq\ +\xec[\xb9\xbcQs\x00\x91\x88`A\xb2\x11\xb10\xd9\ +8\xc8\xd0\xab\xe5c\x98\xdf\xac\x92\x7f\xf4G\x9b)1\ +pX\x86\xde$k\xa0\xddB\xb0d$\xc9\xde\x9aw\ +_l\x1c\x0fz\xb5\xd5\xca\x90{`\xbe$\x12\x8e3\ +\x9b\xf1\xe29\x22\xef\xc1\x02e\xa3\x87-\x185\x8a\xc7\ +\xcdT\x99\xdcM\xf3s\xad\xdc\xd2\xf2\xc7\xde2\x83\xcb\ +\xda\x0a\xaa\x81e\x0a\xfc\xe7\x8c\x8c\xd3\xe0Q\xb3\xca\x0a\ +\xef\x10\xe7s\xc5\x01\xf0a\xb3\x8c\x1c(\x1bA\xd4;\ +G\xc6+\x1e\xd8\x04p\x22\xf1\xf2\x8a\x05\xbd\x8e?,\ +\x10xz\x813\xb9\xe4d\x95\xe7\xca\x89\xb5\xcb\x1b\xd9\ +.\xc9\x1c:\xf9\x18\x1b'-\x22\x0a\xe4]o\x1aH\ +9\x10_e\xf6\x0b\xde_{\ +\xea\xcb\xf7<\x1f\x0a!\x04\x18<\xbf*\x13W~\x16\ +R\xc0\xc9\x5c\xe1\x1c`\x1e\xf0}\xccW\xe6\x1f\xcf\xbf\ +\x062%\xb0\x81\xf41\x06\x5czM\xe1E\xe1\xf0\x02\ +\x190\x84\xc4\x11HC\xc6\x15\xb2:\xbe\x0f\xb2H\x10\ +\xb2pIQ\xf1F\xf6\x16\xbf\x0b\xbf\x86\xe7\xc3\xe7\xe3\ +\x97\x92h\xbbK\xf7\x8f_\xc8\xfd\x83\xd0\x84\x93\xcb\xf5\ +\xe6\xa5ZU[M\xcb\xf3\xe5>\x94\x10A\x9djZ\ +\x02 \xaa\xf7\x00\xd5\x9f[\xc5\x9eq\x8e\xf2\x82\x04\x96\ +\x04\xfe\x8f{\xeb%\xdcI%\x00\x8f\x1c\x06|\x1e\xfe\ +\x0d-\x031Q\x1adic\x82`\x1a\x02 \xb2\xea\ +\x07\x19Q'\x0b\xfc\x8bs\xf8\x94\xf5\xf2\xb0\xcb\x15\x96\ +\x84\x04\xe7pl\x11a_\x89r~O\x07\xc4\x01\xad\ +2\xfc\x7f>\x17\xff!\xca8\xb2\xbf?\x17\xb8C\x08\ +\xc49W\xea>P\xfc\xday5\xdeB\x14\x0e\x0f\x97\ +\xfb\xebVS\x0bRD \x83\xf0\x88\xa4\x8cpP\xa0\ +\xfe\xd1\xaa\x86ML\xe72\xf3\xc4$\x05F\xf6\x0d\xce\ +!\xe2\x1f\xc6\x0d\xae9\xces\xfc%\xa9W\xd1bN\ +\xa2\x00N\x9eas!\xe9X\xbf\xab\x98)\x8e\xde\xb9\ +\xe1f\xd3zs2X\xe2\x03\xe6\xbf\x12)\xa3\xe5\xcd\ +2b1#`'\x5c\x17\x9c\xde\x04e\xf22\x1b\xf0\ +\xdb\x9b@\xda\x80\x9f\x87\xa8\x02\xba\xb9\xc8\x9d\xde_\xd9\ +\xe8\x81\xc8\xe6\x0a\xfb\xe1\x82\x02\xad\xa5\xcfM\x13\xa9\xdf\ +\xca,\xbd~\xdbL$z) \xeeoOvG\xad\ +\x1c\xe6\x8a\xf8\xfb%\x8bwPuXs\xcfn\x9b\xf9\ +\x17\xc4\xb8\xdb\xc7,\xbd\x9e#\x08(\x010\x10Q2\ +&G%\xfbn\x95\x0b\xcc\xdf\xb7J#\xc3b\xad\x00\ +\xafi6\x08s\x07\xdf\xa0\xff\xbf|\xe3\xc0\xaa\xc2\x94\ +3\xe4\x174\xa4\x10\xb0\x8d\x0b\xea\xdd\x8f\x9bU\x95\x02\ +\xef\x91%C.rB\x90\x01\x16\x1e\xe6\x84\x809\x88\ +\xe3Y\xef\xfb \xbb\xff\xd1\x1fG\xd7\x8c\xac%\xe0x\ +\xb3\xaa?\xee\xac\x93\xe8\xd7J7|\xf8@\x81\xc0\x8f\ +\xbdG\xa4\x87TvT\xd1\xe9\xbe!\xb5\x07\xb1\xf5\xa2\ +r\xe0\x99Az\x92\xe9\x91\xff\x9d&\xaad\x98\x9cd\ +\x8c\x0d\x17\x871:T,|\x0e\x22\x16J \x1bj\ +\x02\x9eR\x11\xa4\xc7o\xd7\xb1]\xc6,Q\xb4\x93&\ +\xbaz|\xdd\xcfQf\xb4\xdf8\xd9\xeb\x85`\xf9x\ +v\xbc\xcf\xcf\x89\x09T\x0d\xde\x9clk\xc9\xbb\xddS\ +\xa1\xd0\x1e\x10\xb2`\x81 \x1a\xc0\xf3'\xe9\xff\x7f\xcd\ +\xac\xb2\xcf;4\xd0\xea\xeb\xdfiZ^TI\xcb:\ +\xe6?n\xc6c\xc1\xbce9t\xa7\xfb\x95Y\x930\ +\xc2\xc1\x80\xbc\x036k2\x88T\xc6\x94\xd9#\x00\xa7\ +\x15&\xa7\xdd\x96j\x12*\x5c?\x81\x1a\x95YA\x81\ +\x86\x1b\x84\xa0\x11$\x18U\x8a\xee\x16\xb3\xa6\x92\x8c\xa3\ +\xcf\x81\xc2\xe7\xb0q\x01\x0d'\xd1\x15z\xcc\xfd}\xf4\ +\xfa\x8b\xfd\x1eD\x82\xcb\x90\xfc\xad\xc8R\xd2C\x9b\xae\ +.\xf7\xfcC\xfa\xe3\xeb\xf1\x8cd?m\xa0\x8f8\x12\ +\x8c\xd7\xc1\xa5\x12?\xecf\xd6\x90\xa8\xd0k\x0fK;\ +,\xda8\xa0\x1cp\x04\xbc\xdf*\xc8\x89\xe1\x8de\xc3\ +E\x16\xd3+\xca\xa1\xe7\x1ad\xc7\xd8\xd7\xb2U2,\ +\x0e\x5c\xcdwG$\x00\x05\x85\x1d\x9d\xe7Do\xd7'\ +\xcc\x9a\xf5\x00\x94\x9f\x03\x88\x8c1\x8e\x0c\xd7\x0f\x9b\xf5\ +7\x87#\x86#^\x80\x0d\x9a\x03\x9c\xfd\x0b\xd9.\x12\ +\x14\xd2\xc1v\xf5\x0e\xd8\xe3\xe9\x1d\x83[\x00\xb97\x12\ +\x09$\x86\xc4Ma8\x02C\x12t?0\xab\xb2\xa9\ +\xfe3\xe3\x82\xdc,\x99\xf8\x85\x9c\xac\xb0\x1c\xf8\x04\xa6\ +\xf4\x00S\x89\x04R\x8f#\x03\xb2`\x19\xad\xc3\x8dT\ +9\x06A\xa4\xd6\xb2i=\x9e8P8\xc6\x04\xaa\x1c\ +\xec\xc8\xbd\x1e\xa9\xbf'A\x01\xd4\x11\x87\x0c\xe83H\ +\x1a*\xac \x92p \xaf\xcf\x18\x85J\x22DK\x92\ +\xf6\x09O,\xf0\xbcP\xb3\x10\xb2\x0c\xf2I\xd8\xfeS\ +PU\x1c(\x02,=G\x87\xba\xab\xc7\xdf\xd9\xfd\xd5\ +\xd2\x96\xb9\xda\xf7h\xe4\xbb\x08\xb0H\xd0\xe0p\xe1\xc8\ +n\x9b\xad\xcaX\x82,\x82\xc3\x87yE\xa5T\xf2V\ +\x1e\xa0\xdd\x15\xc8\xd3\xa2\x1c\xd3\x7f\x9c\x9d\xba$\x1ep\ +\xacy^\x91d\x0dG_Pf\x87R\xc2NN \ +Kk\xc9\xbdr\xdc9\x97\x1eq\x88g\x99o\xb1\x15\ +\x8d\x9f\xd9\xf7\x22r\x81\xf1\xa6\xc2\xca\xbe\xc7kt\xbc\ +\xf9G\xa2\x84\xfd\x8bqc\x9cT9t\xf9Q\x1cM\ +>\x97\xf5\xc0zg\xdf\xe0\x1c\xe5:c`R\x11\x19\ +e\xfc\x22\xcb\xba\x12\x11\xecK\xde\xf2\xb7@\x90\xe9\x12\ +\xf7\x05\x95)\xff^\xc9Pz\xc0\x8d\x8a\x03\xec\xf5\x04\ +N\xac\x0b8=8\xe7\xe3\xba#\x90!a\xc0}3\ +~\x04\x16\x04\xa2\x91\x9d\x1d\x84\x04\xfb<\x15Z\xf6C\ +\xcd;\xaf\x10j\xdf\xf3\xf9\xc9\xf3\xe0\xfe\x08|\xa3>\ +7\xfb\x16\xf3\x06h=\x5c\x00\x91\x5c\x8c\xeb\xa6\x90\xc0\ +\xff'\x11\x04\x12\x83u\x1dz\xa4\xfd\xfe\x19'\xe6w\ +\x0c\xa0\x08\xb0x\xee\xf85\xd3+\xb0\xe5\xfb\x16\x0c\xad\ +\x00$\xea\x9e\x09r\xc2\x15*\x0eR\xa4\x5c\x1f\x15j\ +\xb5\x8et\x9b\xab\x05\x80\x16\x13\x9e3\xe7+\xf7\x81?\ +\x01\x97\x05\xe4\xb1\xb7\x14\xf9E_\xffc\xdeRQ\xe6\ +\xf5\xe5\x81CdaUJo\xf0\xfb!\xa115\xf1\ +\x87_\x14\x13\x00\x11a\x83?Z[e\xcaz\xe3\xf9\ +\xf3\xfb\xb8_,\x1c\xf6\x93H\x9e\x18[y\x98\x17\x8f\ +\xe7'V\x0b\x0a\xac\xeb\xa8r\xc0:\x8c\xfbL\xdc\x9f\ +8\xdf\xf8\xff|\x0f\x95e\x91\xb9\xfa\xf8\xc7\x9e{\xee\ +\x93}\x84\xfb_,$2\xb8\xaf\xaa6\xc4xNM\ +$q\x1dB\xd09i\x22\xdf\xc3zc>\x918\xe3\ +_\xafuC\xab\x0d\xf3\x94\xf9\xc1}\xc7\xeb\x01\xe1K\ +b\x9ds\x01?\x8b\x04Hl-\xe2\xbc\x89\x88\x0e\xd6\ +)\xaf\xac\xcb\xd5\x0a\x82\xc9\x18w2\xe7\x0e\xeb\x83\xe7\ +\xc6|\xe7>\x19g\xfc8Z\x1fh\x11\x04i\x8f\x7f\ +\xfe\x0a\xb3\xec\x07d\x19\xf0~3\xb3\x86#\x0a\xbfL\ +\xfe\xa4s\xcb\xcd1k\xe6\x07-\x82*\xec\x8d\x1dT\ +Z\x01\xbb\x03\xbbOw\x9f\xb6\x04\xc0\x11r\x1c\xd9 \ +\x04\xe5\xcfy\xe6\xbf\x0aZ\xf1\x0f-\x90\xc7k\x85/\ +W\x5c\xf6\xc9\x1fx\x90A\x0c\xe9]t2 e\xb6\ +3[n\xba\xa1\xfe\xb7\xc9R`0y\xb4\x99*Y\ +\xc7K\x97\xdb\x02\xdb\xa7\x93=%Hsr\x98G;\ +\x9b\xa5\xd7\xa7\x93=\x95!\xaa\xbbg\x07\x88\x7f\xd7g\ +\xd7\xaa@\xfe?\xdcp\x0c\xd8r\x5cD\x9f\xb3\xba \ +\x12\xebi\x02\x8cD\xca\xb6N\xed\xad\xcd\x1c\xc3\xe9\xfa\ +\xfbS\x92\x9d\x5c\x03\xb7\xd1\x01\xc9\xf6W\x00\xb0\x9f\xf4\ +\xda\xcfh*\xc0;%K\x01j\xbfM\xb2\xb7\xd6\xc0\ +\x1f\xc7\x18\x879##>$u\x82[*\xa4#\xab\ +\x01\xbcW\x15\xa5\x0b\x1aY1d\xfbn\xean\xeen\ +\xce=\xcb\xc9\x9a\x16\x03\xf4\xce\x1f4\xab\xec\xf1\x19r\ +\xfd\xfd\xe9$G\xee\x90\xbeT\xcf\xed;\x0aT\xa8\xf4\ +oeV\x17\x82\x93AqpR\xf1:4[] \ +w\x05GXl\x9d\xae\xf7K\x06-\xaa\x03\xfc\xa3$\ +\x84\xa6\xe9~\x92\x09\xbd\xab\x90iM\xee;\xf9\x89\xc9\ +\x14\x10M\xbebr\xcd\xc95s\x80_\x16\x86z\xa3\ +}\xfe=\x91\xe9Q\x1c\xca\x8eZ\xc30\x8fYU\x93\ +\xf0q\xa1r\xc0\x01\x0f\xb9\x14\x01\xfdg\x92\x1d\xd4\xf4\ +\xc0r\xfdV\x7f\x5c\xbfA\x80\x18\x07\xf5\xfa\x8d\xe3\xa6\ +\x8d'?\xd7\xdd*\x09Rn\xedH\x01\xech\xa3\xd1\ +kG\xa6\xc7\xf9\x90Y\xad\xbc\x22\x8b\x88L\x9a\xcbo\ +r\x9d\x9f\xcf\xb4\x1dc9\xed\xf0\xed\xcc\xc6\x9d{\xd0\ +!\xdbLNW\x81\xe6\xc3\x99@F\x91\x8a6\x07\xe1\ +1\xd9\xea\xab\x85\xad\x87\xa9\xb5\xe2\xa4\x9a\x10!\xf0p\ +\x96vZ\x1e\xc8PR\xe9g\x83$ \x9b\xcfL\xad\ +C\xdb\xaau\xe6\x97\x9a\x07\xf3\xd4\x8dq\xb8\xca\xac9\ +\xd0\xf7\xcdf\x89\xabd\x22-[^\x81\xc9\xf9\xcd\xc6\ +\x8cL\x1c\x90O\x1cA*{\xefT\x8f?\x19P\xf5\ +L\xa3O\xcf\xba\xf3\x8a\xa9\xb8N\xd2&\x9c+\xf4\xc3\ +G\x0a\xe2\xc2+U[\x8b\xc5\x9d^i\x126\xcf\x8a\ +\x05Wd*\xce\xd9\xa0\xc4\x0e\xcf\x9f^H\x97\xfd\xa3\ +%\x83Jk\xd4\x17\x87eW:\xd4|?\xbd\xdd9\ +\xb1u~Sa\xe4\x00$\xc3M\xe2\x03\xd2\xb9\x19\x05\ +\x11\xe0P2=?g\xef\xa6\x1c-\xad\xfa\x00\x00\x1f\ +\x15IDAT7\x1c\xc7x^\xb3\xda\x92\xe1\xf7-\ +\xee\x0c\x97\xf5#\xc1u\x9c\xce\x09\xd6\x11\x15z\x02P\ +\xb5@x\xc2\x80\xde\xf6\x08\xc1$\xf0\xe5\xe0\xc4A\xa0\ +\xd2\xc9A\xc6\xf5\xb0\x1f\x01\x89\xa7\xb2\xa9\xfbA\xb5\xc1\ +\xcf3z\xb1!\x09\xc31\x09\x10=w,H\xc0\x9d\ +-r\x1d\xd8\xfcq\x9c\xa8 0~\x8c\x03l\xc7G\ +\xea<\x95\xee\xb8; \x90\x5c\xc9\xe1\x83\xed\x9e\xf1\xc9\ +\x8d\x05{\xd6\x84l\xf7\xfb\xee\xaa\xee\xaa\x06b\x1d\xa1\ +\x9dT\xde\xb9\x0f\x1c}\x12F\xec\xaf\x8c+\x8e)\x95\ +\x08\xb5\xb6\xf9\xfcd_\x80]\x9fD\x17\x9c\x13\x9f\xd7\ +|\xe7\xfbxnU\xc7=\xcf\xeb\x9c\x08\xfd\x898\x82\ +\xf6\xce\x88\xbbB\xe6\xc7y\x12\x022\x0f|\x08(\xb9\ +^*\x9dK*\x90Y$\xa89p\xbf\xc8*>T\ +Z\x01\xcd{\xe8Vi\xc6\x09h4\x01\x0d\xdf\xcbu\ +\xe3\xf0v.\x9fG\xa0W\xd6\x97\xd6+\xfb|\xb7\xa5\ +\xce\xd3\x08\xd5g\x7f\x13\x0b\xbd\x01\xad3\xd4\x9as\x07\ +\xc8;?s}\xcc\xbfXQ\x8c$esC\xc8\xe0\ +\xf8\xc7\xfb\x99\xd7{`\xa7\xb2\xc2\x13\x18\xb2\xcf1\x8e\ +OL\xed5\xf6\x16\x0d>7\xb0a\xbb\x9c\x9d\xf9A\ +;e\xf5\x89B^\xcb>\x17\xd8\xec\xbd\xa5\x08\x84\x98\ +\xd8\xbb;z\xa7!\x97\x04\xd9\x81\xc3M\xe0\xad\xf1p\ +.\x9dg\x5c\x9f\xbc\x8c?\xe3\xc0y\xce\xf7\x07=q\ +d\xab!\x9d\xf4\xc47\xe4\xb2J` O\xec\xf3\xb0\ +\xf7}\xab\xecG\xb1\xc5b\xbe\x90\x00\xa8$n\xe5\xba\ +\xd5\xc2\xea\x5c\x03\xaf\x15Y\xf3R\x0a\x5cT(K\xbb\ +\xf5\xe3\x99t\x90J$\xfe\xd6|\x81d\x99\xe7\xf4\x90\ +\xe65\x09\x80\xa8\xde\x13\xd50\xf8\x99\xc0)\xb2\xb6W\ +\x12\xba2\x1f\x229*\xe7U\xe0<\x18~SH\x01\ +9\x07\x90\xf3\xf5}\x8b\xe7YIV\x8b\x9a\xc6_$\ +\xbfKb\x9f\xc4Q\x94o\xe3\xbcg}@\x06\x0aR\ +\x88\xfb\xa9\x89\xc9\xf2\xfc#'@l! P\x9e\xe5\ +\xd0\xf02\x8f\x22\x12`\xa6\xd6\xdd\xb3!\xe1\xc6z\x8a\ +\xe377RH \xeb\x8f\xa4\xf9\xfeHs\xaep\xee\ +\xf1>\xe6OD\x04\xb0/D\xce\x0f\xde\xcf~\xa1\xff\ +\xef\xac\xfdU\x8e\x91\xfb*\xcf5\xee'\x11\xea\xcf\xfc\ +\xe3s\x09\xb4\xb9\xbf\xda\x82R\xaecY=\x17\x12\x01\ +\xcc\xd7H\xaa\xc8\xf7\x92\xe8\xe3}\x8bj~\xb2\xee+\ +\xa7F\x99\xdf<'\x10,\xec_\x8c\x03\xe7\x08\x08\x10\ +\xd6\x1d\xcf\x1d\x0e\x87\xa74\x9e\xec\xc7\xac\x0b\xfc}\xfc\ +|\xe2\x16*\xfe\xbc\x7f;!\xf4v)\x85J_\xcf\ +\xb4\x8c3?\x22B\x89\x02\x0bjz\xdf\xc9V\x0b\x9f\ +\xdc\xc7\xc2\xf2'6,\xaa]\xc3\xef\x8b\xdf\xecP\x7f\ +\x0a\xca OQK\xd0~\x9b\xd5\xe4\x92\x9f4\xfa\x88\ +Y-\xf0\xc0i\x02\x99\xfe\x84\x07vFm\xb6Q\xf3\ +@\xcc\x0dZ\xbf\xb2\xc4\xe7\x1e\xe3\xfb\x15\x98\xfc\xba\x92\ +\xdf\xe5\x0a\xf3\xc5Un\xa8\xdf\xc4\xacn\xa4\xfd\x1b\x92\ +\xbdQ\x1b\xf35\x92\xeb\x1bW\xc5\xeb\x93M`l@\ +\xe0\xd7*\x00\xfd\x96d\x05O\xd0\x81o\xbdK\x07$\ +\xfbT\x93\xf1\x5c&\x83*\x9d\xb5>\x93\x91\x9c_\xf5\ +\xba\xa9\xf8\xe6@p\xdeZ\xc1\x803\xa0\xffr\xb2C\ +\xd2\xfb\x7f\x93\xec\x12\xf5\xfe\xbf\xb5q\xe0\x9f\xcc[l\ +\x81\x08\xff\xa4\xea\x81;\x8b\xa9\xb1\xb5\xef\xd0\xc8\xe5h\ +\x01e6\xf3\xadU\xf1\xbd\xa0B\xd23;\xfa{*\ +i\x0a\xbd\xc5&f\x97\xe5\xec\x8a\xabW3D\x820\ +\x22\xdfD\xe6\xca\xd5\x16\x02d\x13\xf9\xa5\x9c\x909\xa8\ +\xe99!\x03\xa5\x0d\x90\x89\xe0,\xebL$\xd4\x1b\x8c\ +\xf4\xee[\x0d\x17\x00\x1b*\x07\x01\x01\x18\x1b(\x1b\x02\ +\x07\x03\x07\xcf\x87\xa4\x8f\x09\xc4]\x15\xfc\xccz\xda\x90\ +\x9f\x0d\xa7\x995\x15\xfd{\xcc\xd2\xeb\xc9fi\xdd\xbe\ +{\xf2]\x93\x06E\xde2\xd9VU\xc6\x0e\xf9-\x87\ +\xcc\x18i\xd8!\x8d\x8c\x91\x05\xaa\x877\xa44\x16&\ +\x9f]{\xe6\x9dt\x8d\xfb\x00\x92\xcc\xf5[\x98\xf4\xf5\ +\xda\x9b\x8bc\x8b\x83\x9ee\x97N\x90\xc3mH\x8fc\ +\x93\x1d\x97\xfe\xff\xcd\xc9\xfe,\xe4\xc0a\xcd\xb8\xe1\xb0\ +S\xa1\xa4'\x1b9\x10U\xb4\xc8\x5c\x0e\xeb\x0c\xaf\x1a\ +^\x95[\x08\x96\xcb-8\xe2h\x18}\xcc\xacqh\ +\x0e\x16K<\x10.XA\xe9\xa5\xffCI\x08Py\ +\x1c\x9e6K\xafK\xa8\xc7Y:\xa4\xfd\x92f\x8d\xec\ +U\x80\x0cw\x17\x9b\x09Q\xf1\xa6Lr\xb8_\x86f\ +\x93\xb8\x81\x15\x9a\xfd\xe4\xde\xdc\x95^!\xeb\x0a\xe8s\ +o\xfe\xebk\xaf\xb3\xcf/U\x90r]\xe6\x7f\x14\x00\ +\xbf\xa5!\xb1\x13\xf2!\xdd\xef\xc1\x06\xf1\xcf\x0d\x00G\ +7=\x8e7*\xc3\x0a\xd9\xcc\xc9E]al\xe5\xe2\ +\xe0\xb9\xbe5\xf2\x91\x1c\x5c\xa7h\x1e\x1cS8Mx\ +N\xc3\xfaf\x0dY\xe0\xa9\x92\xcb#1\xb3\xa1\x02\xa5\ +7\xe9\xfa\x0e1\xab\x88\x1c\x97u$`\xe1@\xd6\xfe\ +\x13Y\xac}\x9dB\xb2G\x0b\x85Z\x5ch}\x00\xe2\ +\xedri\x1c\x94rl\x1d\x09\x04\x22\x02h;\x08\x05\ +\xe9\x84\x0f\x13f\xb9r\x93\xc9\xbe\x9c\xbd\xfdB\xb3\xf4\ +\xba\x87Y\xe5z\xf1\x84H\x1f\xc8\x9688W\xd5A\ +\x89\xa3\x07\xb4S\x01;\xe4O\xce\xa6\xcd|]\xdc\x03\ +\xbc\xf29\x04\xecW\xa8\x95\x80\xca!\xd7q\x9c\xd4/\ +@R\xe0 \xc0B\xfe\x0d\xb3&\xc0\xc11\xa2W?\ +:68V\xacS\xa0\xef\xc86\xc1}\xf2=\xb3\xdc\ +JSz\xff\xb7\xc9V\xd5\x07 7\x83\x5cS\x09\x00\ +O\xb0#\x8f+\x15\x86.\xb3\xec\xa6\xd7\xbd\xcc\xd2c\ +9\xdbLd\xb17UD]n\xdc\xda9;\xf6\xc5\ +A\xa2rI\xe5<\xca\x83\xe1HE\x9d\xefH\xeeE\ +E\x22\xe80{kKP\x8b\x99\x16@\xe2\x18Uy\ +\xc5B\xf2F\xab\x8a\x10F\x9e\x18\x00r\xa9\xf5\xe4\x15\ +S\x1c\x1e\xfc\x0e\x1c\x5c\xce\x13\x1c\xae\x08i&p\xfa\ +\xef\xd4\xca\xd1\xa0V\x9dnE\xfd~\x09\xdd_lA\ +\xc0\x81\x1es\xb2\xa7\x12X\xe0@\xc2\xde.\xe4\x9b\xcf\ +\x13zQ\xf9<\xe6\x17\x889\x10\x16T\xd6Af0\ +n\x0f\x05\xf6{^I\xdc0\x9fq\xfc\x09|\x08H\ +\xd8'p\xa0q0\xe5\x18\x0f\xcf\x15\x04U7\x8fZ\ +M\x987\x04H \xb5\x18\x07\x90\x00$\xf0Qca\ +\xbc;\xedSp6\x09I\xe6\x09a\xb8T\xf6VB\ +\x9a\xe7\xc3\xf8\x10\xf0s\xdd@\xff\x97)\xc8\xc4\xe4;\ +\x96y\x0bR\x0b\x8e\x00\xc8A\x09\xd0\x187\x12\x0c\xec\ +?\xdc\x17\xf7\xc3\ +\xe5{\xb8\x7f\xdbG\x1fV\x02\xa0%\x0f\x8b\x892~\ +\xe6\xfb\x18\xb78\xff\x9e\xf1\x1e\xe7r>BZ\xa8\xf5\ +\xeb\x1c.\xcc\x0f\xe6\x1f\x9f\xabJ1\x09\x01o\x19V\ +\xc5\x94\x1e\xfb\xe1V!5\x18\x17Z\xff 7~&\ +T\x9c#I ?\xc7\xf9V\x13y%\x00\xad\xb2o\ +Se\xfb\xe6qR\xear\x9eE9<\xd6\xdb\xfd\xe2\ +n\xf9\xbb\xe4\xfcX\x97$\x22@ \x91\xb0\x89r\xa4\ +\xfc\xe3z#\x07\xc0\xbfC\xc2\x81s\x88\xf907$\ +\x00\x09\x8d\x88\x04\xa8\xfa\xf5S\xb9R*4\xbf\xfc\xfc\ +T \x1f|&\x9c\x83\xab5\x1cX-\x07PE\x1a\ +\x95}\xaa\x22z\xcb\xf7\x91\xe0Q\x00\xeb\xd7M\xe0N\ +KWLp\x92 \xe5\xdcb\x1f\x06\x19@\x85\x9d\xe7\ +\xca~\xcaus\x8eT5\x96\xb2_\xf0y\xacK\x12\ +\x01\xacw\x9d#\xddK\xd5\x82\xb5\x8e\x10\x8a L)\ +<\xb0\x8f\x81\xec\x94\xbcq\xb7\xa2\xd6\x03\x1c\x22)\x92Y\x0f\xeccA\x83\xfd\x8c\x04\x0d\xf3\ +6\x92\x8d\xb2\xcf\xd4\xc0\xa7\x5c\x0f\x15\xd6\x89\xd0B\x12\ +{\xfd\xb9>\x90F\x14j\xa8Lr?\x04\x18\x15\xb9\ +1u=s~i\xbf\xa3\x90\xd7\xa8\x03\xcc\x9f\xaf\x7f\ +\x22\x87\xc2\xf5\xf3\xe0\x9e\x00*M\x22\x17$\xccc\xc3\ +\xa3\x19\xa1\xb0I\xb7i&\x01d\xddp~\x12\xd0\x92\ +H\x81s\x02\xae\x05z\xe4\x85\x00\xf0\x00\x09\x99\xbcJ\ +\xbaY\xde\x17I\xfc\x18\xe7H6\xcd\xb8FDO$\ +\xc1\xfboH\xe0\x10\x902\x8e\xffv\xa4UAT\x92\ +\xb8\xa4\xe0\xf6xH(\x82@\x93\x1a\xcd\xb4\x04\x0b\xd7\ +A\xc2\x91\xef\xe1\xfc\x8f\x89\xd9\x7f\x84y\x1ee\xea\x9e\ +\x09-\x00\xcf\x07\x84\x0c\xa4\x81Q\x96\xf4\xd9\xa0w\x1f\ +\xc9\x15\xa9\x98K\xfd\x00\x04!\xe3\xc4>\xe3\xaa\x18 \ +\x9e e&\x81\x81\x5c-r\xc3p\xab\xb0?\x8f\x85\ +\xf1\x08-\x93\xfe\xaf\xaa\x84\x94q&\xa1\xa0\x02\x86\xaf\ +o\xf6\x01>\x8f\xbfc\x1d\xb1^y\x0e/Q\x02\xf2\ +\xe5JpP\x80XL\xf3\x88}\x89\x80\x1f\x8e$~\ +\xc6_\xa5\x05V\x05&\xd6\xb1\x93\xcc\x22\xe7\xfbp \ +\x81d_`\xdd\xe3_!\x87\xad\x16Yd\x93\xe1\x86\ +\x813\x0cym\x12\x02\xdeB\x02)\xbf\xd4\xea\xe0\x9e\ +\x82\xc3\x89V\xccaM\xb5\x16lS8\xfe&`G\ +\xcf\x15\xd6-\x9b\x8d\x86\x83^$\x7fSH\x14 \x95\ +hHhr\xe0\xbf\x85z\x19\x96V&\xf3\x06A\x1e\ +\xfe\x92\xf5\xceO2\xa8\xb1\xf7> \x0f\xc6B\xa6\xa2\ +C $\xb2\xbf\xecf\x9d\xd5dN\x041\x1d=j\ +\xa6\x00\xc6H\xa0VN\xf62\xbd\xcf&\xea\xf1\xc9\xac\ +\xe7\xf8Z\xb3\x86\x0d[\x15\x99\xc9'\xcc\xd4{\x9f&\ +V\xbf\xbbY\xfa\xdc[\xcd*\xe2\xc1\x91\x01\xe6.\xa7\ +\xf1\xe9\x97M\xf6\x9c\x10\x0e\x17U\xb2D\xaftQ\x81\ +R\x807Z\xdd\xacV\xf22\xc4\xf7\x96\x06\xfa-\xb6\ +r*r\x99\x03\xfc\xe0,C\x95\xd9\xc2\xa9(\xd2\xf3\ +\xda-\xdb-\xd3-\xd3l|L \x16\x10\xbd]\xc8\ +F\xe9\xc0\x87\xa4\x88\xf1\x06\xb2\xe2=\xac\x90L\x91\xf1\ +\x94\xce\xa8W0\xd0\xd1\xc5\x91a\xc1\x11\x98R9T\ +\x86\x98D\x032\x8b\xdeZB\xcb\x80\xe4$\xfac\xcc\ +*y[\xbf\x9cYz\xfdg?\xb3\x9f\xa9\x80\xdc\xc8\ +\x14\xcfIf\xad\x17/7\x13I\xd1jj\x0d\xd9\xbd\ +\xc9T\x1b\xd2b7U\xa2\xbf\xd2\xe8I\xf3\x8f\x8a.\ +\x81\x10=\xb8\xb4\x12@\xa2\x06$\x87\x85\xfb'\xf5\xf2\ +\xaa7\x1bH\xb6'\x086\xcc]\xe2c\xfd\xc3f\xe9\ +\xb9\xdfmVI\xcf\xfa\xcd\xfaM{\xe3\xb2\xf8\x83Y\ +\xd3\xdb\xb4\x8f\xa0\xb2[\xa8R+rAO\x84\xd8\x82\ +\xdfL*\x03\x9fn\xc6Q\xb2h\xb0\xe4\xa7\xd1\xce\xad\ +\x1c\xf5Y\ +\xc3\x9c\xe4\x03\xb9|\xfe\x86R\x8d8\xd7L\x08\xb6\xbf\ +4\x81\xfe/\xcd\x1an\x1c\xb5\x148\xe9\xa7*\xff\x9e\ +\xf8\xa3\x97\x96\xc4\xac\x12\x0d$xA$@\x16\xeb\xe7\ +p\x94\xef\xc2\xd1e\xfe\xd2\xfb)d\x91C\x9a\x17\x09\ +\x95\x99\xc0\x19\x81\xec\xe5\xb0\xe3\xf0\xae\xe1]\x8d\xea\x00\ +\xeb\x0dD\x00\x09L8\x08\xd05\xc7QSB\x12D\ +C\xff\x16\xb3\xea\xc0x\xc0\xc6z\xc6Q\xa3\xd2S{\ +e\x8b\xc3\xcdy\xc7u\x10X\xe1\x08G9-\xd6\x17\ +\xdc\x0b\x22\xb3s\xff\x83\xfd\x84\xbf\xe7\x95y\xf5GA\ +\xc9'\xa7\xf6\xc4\x12\x90\xf99\x88\x03\x8b\xc3\x0d\xb2\x81\ +\x82AhU\xf2y\x17Z\xa8\xa6\xc9\x99\xf1{\xae\x07\ +\x7f,\x22\x86\xf8~\xc6\x8d\xdf#\xa7E\x80\xc0\xf5<\ +-.\x98\xab\xc5\xe6N+\x0a\xf7O\x05\x90\xf1\x87\x8b\ +\x83\xc2\x8d\xb8(\x06\x10b\xd7\x8a\xcc\x8d\xebP\xeb\x81\ +' 9\x85s\x87\xeb\x88\x1c\x0f\x9c\x1b\xb5\xd2[\ +\x1c\xe4\xc1\xd5h\xca\xf8)\x11\x00\xf2\xa9#\xe0\x22\xa1\ +B\x00+\xa4\x9b\x93\xa3\xf2\xbcY?\xf1\x1c\x81\xcb\x80\ +\xf1\x8f$d\xe3A\xf6\x8f\xdf/\xe1\x01D\xf9\xbc(\ +o\xcc8\xf2y\xac7\xf6\xab\x08\x1d\xe7>x\xde\x8c\ ++H\x84y\x03\xd9]\xac\x10s]\x8c+\xe4\xca<\ +\x0f\x02_>\x87\xeb\x8d$s\xb0\x9b\xb3\xbfr\x1e\x80\ +@\x8a-+$\xe2\xee\x0e\xdc\x1b$\x92\xaa\x0e{\xb9\ +^\xce+\xe6s\x9c\xe7\xa8\xa6\x10\xd0\xea\xf3\x5c\xbd\x8a\ +\xbf\x8b-\x18\x8coL\x84\xd6\x04\xc0TRR\xfeq\ +^A\xba\xc9}S8\xe0\xdc\xe1\xb9\xf1\xf71\x01\x14\ +_\xf9\x17\xe5\x07y\xae\xac\xd7(\x8b\xca:\xe4\xffk\ +\x1f\x19\x9e)\xf3\xda\xb9\x1a*\xe9\xe1\x14\xb9E\xdfw\ +\xa2\xba\x00\xe7\x03\x89\x04\xc6)\x14<\x5c\xae\x91\xff\x0f\ +r\x15\xa89\xadY\x8c\x0b\xd7O\xa1\x10\xc4\x08-p\ + \x0f\x9f\x17)]D&\x13g\xe0\xf7\xf1\x1c\xd9'\ +\x80\xfc\x8fk\xdc\x03y\xdf\xb4D.\xe3\xc1\xfa\xe2y\ +\x90\x00`\x9c\xf1\x1f\x91\x13F\x1e<\xa8\x1a\xb8\x7f\x83\ +_|@\xb6\x9a\x18\x8e\xfbPx\xae\xde\x82\xc8\xbc\xc7\ +Oe}\xc0\x95\x81\x7fF\x81i=\xb5\xd4\xf0\xfd\xfb\ +e\xb3\x16\xdf\x82\x148\xb7\x14\xee\x883(x\xb9\xdc\ +\x22\xad\xc6\xfc\x7f\xb5\x1a\x8f\xddR\xe6\xf5\x04\xf2^@\ +\x92\xe8]\xf6\x8d\x8d\xc0/\x85\x9d\xdd\xb2\xcdF\x12e\ +\xdc\xd8\x88ff\x90O\x85\xb4\xdbv\xbfL\xe3\xd8/\ +\x9es.\x95\xdd\x13\xa86\xbd\xa7\xf6\xff\x17\xab\xbd\xf5\ +Y\x8e\xeb\xc8Z\x89\xe960\xab\x15B\xc8-\xc8\x5c\ +\x0fk\x9a\x894!9\x90\xa3C\xcd\x1aN\x01!\x03\ +\xfaO\x995\xe4HGf\xab\xbd\xc8r\xc8\xfa;\x93\ +\xdd\xa1\xc069|\x93\xcb$K\xe3\xd5\x1fn\xa6\x84\ +\xc7\x8b\x9a\x07*\xf2$\xdfP\xa88\x9b\x83\xf4\x16\xf5\ +*\xefP\x03_d\x8fL\xcd<\xf7P\xa3S\xab\xeb\ +\xe9?i\x96\xae\xfb\x0bfMe\x1e29X\xc6\xbf\ +R\x1cz\xaf\x18\x1dn\xd6d\xacXh\x22\xf1C\xf6\ +\xb1\xa9\xb8\x16v\xe8\x1fI\xe7\x98\x00?f\xe8\xf9=\ +\x89\x22*\xb5\xea\x85\xcd\x10mK`,j&$\xc5\ +ZM\xe5T\x19\xe5\xfe<\xb3\xf4z\x99Yz}i\ +\xbfR\xbfR&\x87\xdc?\x07\xac\xea)\xcc\xf3\xf2\xf7\ +5\x91\x90'\xf8)5\xa1\xe4=\xce\xdc\xbfd\xaf\xfc\ +@ p P\xa5e\x81\x8a\x00\x1b\xf9\xbfr\xd7c\ +\x9d\xc7\xfc\x1d\x07\x1f\x89\x16zu\xf73k\x02\xae{\ +r\x0e\xbb\xf6D\x1f\x98k\xd0\x9e9e>\xa5\x80\xb8\ +\xb0\xe0\xabB\xd2\x1df\xd6\x90\xe2hcGu#\xcf\ +\xa2f\xa3f~\x0c\x0b\x98U\x04I\x7f\xadY\xd3\x22\ +a-\x06\xeb\xd7\x04Z\xa6\x80\xbc\xb0\xb6\xb6L\xe9\xcd\ +\x9f\xd5\x04\xa8l\x5c6\x1b\xde\xa1\xde\xe0ckB\xcf\ +\xf5\x9d\x09\xf0\x0d\xf2{\x80\x90\x14\xeb4\xf3\xcd\xc2\xc2\ +\x95K\xa2,\x8f\xdfJc+\x19R\xa7\xdb8\xd9\xeb\ +\x9b\xf7-\x9a\xbb\xbe\xca\xfaY @\x99\xe7\x9fBR\ +T6v\x1cc\x02\xec\xdffe\xea\xea@\xd2c\x05\ +\x84Y\x89\x12H5\xfd\xff\x9f%v\xe7\xd8{\xce\xfd\ +\xf7\x0e\x15,\x8e\xa8\x02j\x0f\x04\xc4\xd2\xda}\xc4\xac\ +\xe1B\xb8\xa4T\xf0\xbbu\x05}\xa4%\x81y\xca\xe7\ +\xe2\xa8ANF/\xe0\xaa\x82\xaeo\xa3}\x84\x0c\xfc\ +\xa9\xaa\xf8GY!\xf6\xafPQH\xdb}\xa9\xcc\x81\ +|\xb9\xae$\x18\xbaET\x09\x82\xa4\xc9u\xa4\x0b\xe2\ +f\xecaANq\xb0p\x84p\x10'\x83\xfc\x15\xfb\ +^\x95m+\x8e\x1cH\x11\x02F\x12t:o\xba\xf9\ +u_\x1f\x95\x1a\x81\xc8\x14\xbb\x9b\xcc\xf2s*\xeb\x08\ +\xb6_\xf6S\x10a\x5c7\xf3V\x081\x97I\x84\x94\ +\x8c\x04\x84\xc8\x02\xe1B\xe9^T\xc8\xc0\x5c\x9e\x8a\xf5\ +w\x8e\xd4'\x80\xfas\xbe\x91\xe8\x14\xe9\xac\x07\x0c\xea\ +\xf9\xebN3\xab\xdc,@\xf9\x9c\xdb\x05\xf2L!O\ +Xg\xec\x8b\x1b\x15\xd2K*9\ +N\xc6\xaa\x04w\xf7~\xb3\xc6q\xc4\xb1\x01\x82\xf8\x81\ +\x92\x98\xed\x8e\xb3T|\x95\x19\xcd\x1c<\xeb6\x0e.\ +\xfb1\x88)*\xda\x9cWT\x9cx\xdf\x12r\xb8b\ +\xc0\x82\x83\x1fu\x9d\xf9y\x8e\xfb+S\xc9\xba\x22\xab\ +6\xf7\x11\x10G\x9e\xb8\x02\xa2M+\x0e\xfa\xec\xf4\xae\ +\xe2\x98>\x1e8J\xe8qGf\x95\x80.\xf6\xfc\xb2\ +?D\xb6p\x1cV\xd67\xf3\xf6\x1e!;\xf8\x1c\xae\ +\x93\x80\x93u\xa2y\xef\xebSdm\xae\xae\x22r\x5c\ +?\xa7\xf5|P\xe5q\x15\x1a\x90q\xeaI\x1d\xbbV\ +H\x09\xf6M\xceS\x1cwT1.\x16\xb2\x00R0\ +9\xd2^\x99\xe6|C\x8f\x9c\xe7\x16+\xea|\xcfo\ +uN^\x1cX\xc9q\xfci\xad\xbbY\xcfi\xed \ +[\xcc\xf8\x13 _\xa7\x04\x91\x12\x8ei\xd6-\xd1-\ +\xd1\x04\x1e\x9c\x03\x11\xb9\xc1}\x12\x08D\xb2\xb9 \x03\ +\xea\xeb\x8c\x843\xf7\xc9\xf9E \xc1}\xb2\xff\xf2\xf9\ +\xb1\xd2\xcd\xbc\xe1\xef\xd9\x87+{\xfa\xd4\xfd\x99\xbf\x8f\ +\x88\x93\xa7\x82\xccf$\xb3\xe4\xef#\x1b\xbc\xf6q\xff\ +\x99u\x83\xfc4\xd7\xc7\xf9\xc6\xba\x8d\x81\x7f@\xb88\ +\xb7\x12\xfb\x13\xf1\x02\xfb?\xfe]\xe5H@\x8da\xea\ +}\x05d\x83\xff\x9e\xf7\xf3\xa5p\x03@\xaa\xe2\xd0\xc7\ +\xf3\x0b\xd7\x87\x1f\x5c\x17h\xbf\x8b\x81\x16\xfb\xab\x0e\x06\ +G\x16l/\x92R\xf6=d\x1c\xe7QB\x81\xca\xc8\ +\xef\x94\xa8\xd2~\xe6\xfb\x9a2\xf0\xcc/\xef\xe9\x07\xca\ +N\xc0\x00D\x1f\x088\x81\x22P6\x1c\x16\x12\x09\x90\ +\x0c\xea\xfe=\xc0\xbcU\xbf\x7f\xa5\xf6\x1d8\x19Hh\ +\x89\x1c-\xddc\xe9\xe5_]\xec\xf4\xeb\x15\xe4\x87C\ +\x06\xa5\xe2\xe2,\xff8\xd8\xccO\xf4\xbbIx\xd0S\ +L\xe6\xbcV.K\x05\x17\xc7\x8d\xcc\xbf\xc6\xdd\xf7\x0d\ +\xd8\xb9\xa9\x0cS\x11\xe0\x1c\x5c\xdb\xac\x81\xbcC2F\ +\x80uD\xe1J\x19\x0e*\x08&\x10I\xbeo\x9f`\ +\xd6\x90X\x1e_\xc8W\x81\xfc\xf9x\xdeiV!|\ +\xdd7\xcc\xd2\xfb>SX{\xbd\x22\x86\xcc\x11\xfa\xec\ +\x91u|\x96\x93\x83M\xed\x81\x04i\x80\x03\xcd|\x8f\ +\xb2fQ\xef\x9a\xfd\x91\xcaG\xe4T\x90\xa3?\x9cY\ +*\x0c\xdd\x09%\xe0GM\xc1\x11XT\xa2q\x8cA\ +bp\xfe\xe3\x80\xaa\x97\x96\xeb\xf4y\xa3}\xca\xc2\xb2\ +n\x09q\xc9\xbc\x10\x0b\xff\xa4\x93O\x11\xb0\x94\xfb\xe0\ +\xfbq\xd8\x9e\xf6\xbf+\xe3\xc6}\xd1*G\xc0\xbe\xae\ +\x12\xee\x04\x22\xf1\xfc\x00\xb9\xd2\x07\xb2*t\xb49w\ +\x1e\x95C\x17\x137\x91\x9b \x92\xf9\x05}o\xd7\xa3\ +\x8f\x15\xc9']\x17\xbe\xack\xe6=~\x0d\x81\x0b\xa4\ +\x8b\x7f\xd3\xb9\x00\xe2O\x883G\xe4\xf0\xf7\x92ev\ +d&~\xc0\x05\xda\x8fh\xf9\x0a\xd0o_\xb7\x14\x0a\ +x\xde\xf8\x19\xc8rB\x1eGO6\xfb\xd1s\xa1\xb5\ +\x83y\xce\xf70\xcf\xab\xdc\x1f\xd0\xe2\xf2\xfeJ.\x9a\ +\x91})\x0c)r\x8b\x90uEU\x86g\x9d\xfd\xbe\ +8\xfc\x97\x0dW\x18\xf2\xd0\x91*Q'\x5c\x8ex.\ +\x8c-\xd3\xcb\x11>\xe5s\xb9\x7f\xf6\xb5\x7f\x86\xc4\x02\ +-\x00cz\x1f\xad5\xec\x0b\x0bi<\xf8GB\x83\ +u\xc1\xe70>\x8b\x065\x0a\xc6+\xca\xe6\xe1\xbf\xf1\ +\xefiO4\x95\xfdj\xa1\xa0F\xc1x\x8e\xa9\xa7|\ +\xb6\xfc\x10\xbe\x07\xff,r,\xf0\xbc#g\x01\x9fG\ +kV$\x1f\x5c\xde\xe3\x9e\xb2.\xe6\xf6\x8fq\x10\xa2\ +\xb4\xbb\xc1\xaci\x95D\xdd\x8d\x16m\x02\x7f\x9e\x1b\x05\ ++\xe2Y!l\xbc\x10%\xd2q'\xf9C\xb5\x0d\x99\ +x\x9d{\xdd\xdf\xbb\xfb\xbb\xfb+\x12s\xb4\xebh\x97\ +\x91q\xef-!\x0e\xaf\x8d\xa5\x1a\xf0\x22\xb3\xf4\xff/\ +5k\xc8y\xaf*\xfb+-\xf4\x13\x0e\xbd\x9f/w\ +[\x14G\xe0\xbf\x954+os3\x9a\x05D\x85?\ +B\x8d\xa8\x94\xf03\x90\x06Ao3+\xee\x82\x95\x9d\ +\ +\xe4~\x82\x8a{\xc5\x8e\xf9\xad\x03\xcbI\x01!\x0d\xfd\ +NwTwT\x93\xe8BnN\xf3\xd3\xdc\xdf\xbc\xee\ +\xa8\x04\x93\x08#3.\xf5\x04w,\x09P\xe0p!\ +\xe0\x0e,\xc0>?\xb8\x7f\x91\xe5\xf9\xbc\xa0B\x1e\x13\ +\xc8\xa17\xd6\x1d6\xd6\xa7'\x22\xca8v\xcb\xea\xf9\ +\xe1H\xc3!\xb3\x9a\xe6\x1b\xad\x058\x0e\x91\x94\x91^\ +Q\x1cJ\x9e\x0f\xd0|\xae\xe7Q}\x0f\xf7C\xe6\x9e\ +\x1eC\x9e\xbbT\x0b<\xb1\x87#\xa5\x046\xfbw7\ +\x9fYz=\xdb\xac\x22#\xc6N\xccV\x03\xcd\xf1\xe0\ +\x003/\xd8\x97\xa8\xd4D\x96\xe8\xc7\x83\x5c\x18\x8e(\ +\x7f\x8f\x03G\xe0r\x9bZ_\x90!\xa4\x95\xe6\xaf\x22\ +\x8d#\x11qEI\xb8\xd1\x92\xe4\x89v>\xff\xc0B\ +N\x0b$\xd4\x13<\xe8\x87\x03)e}\xe0P\xc7\x04\ +&\x15%T[\x90uc\xfe\x90\x00\x88dS1\xa0\ +\x0c\xec\xdaN\xceI\x85\x8a\xf9p\xaf\x1cp\xe4Q\xb9\ +N*\xdb\xa8\xff\x18\xb2i\xe3\x17\x90\xaf[\xdau\xdb\ +\x0b\x12@\x89;'w\x8b\x15\xe0JN\x88.v\xe1\ +P\xa1\x85\x8f}3\xb0\xcc;w\x01\xaf\x17D\x8a\xa9\ +9\x9d\xd3p\xb8(\x11\xe7\xcf\x83\xe7\x0cd\x96\xe7\xc2\ +\xf7\xd5D@\xa9\xd8\xb1\xbeY\x9f1\xe0\xa8\xbd\xc9\xe5\ +\xb9\xf2\xfb\xb8\x7f\xf7A~\x8c\x9fW\xd4}\x10\xf0-\ +V\xb8m\x08P\xbd@\x12+\x99\xac\xff\xe9\x81ty\ +\x9e\xb0\xce\xeb\xba\xfd\xbc\xc6\xdf\xe0\x9c\xab\xac\xf3\xe5\xba\ +\xa8,\xa2\xf6\xa2D\xab#8a\xd3\xe7\xf3\x90O\x5c\ +\xd6\xac\xb9\x9e\xf1\x10\xa8\x00\xe5\xfeo`]'a\x11\ +_\xf9{\xae3\xec\x1f\x03\xf3\xc0\x0a\x05\xff\xa9~\xa0\ +\x93?\xc3\xc5\x22\xff\xcd\x11\xa4@\xd2\xe1v\xe2\xfd\xc7\ +\xa8\x00D\x85\x93\x00\xf0>\x91\xdc\xd2c\xcf\xbeE\xa2\ +\xed\x81\xc0R\xcf|t\x1d\xe8\xf0\x1a\x03\xfe\xf83\xaf\ +\xeco\xb1\xd50\x92\xe9\xc5\x96\x84H\xdeGbq\xde\ +\x90\x18b\xdf\x8d\x88\x8d\x98\x00\xe0\xfcb_\xa3\x95\x8f\ +\xef\xc1\x8f\xe5\xe7\x08\xb5\xe7\xfa \xcb\x9b7\x90\xdd=\ +\xec\x89\x9c\xf2>\xbe\x8f\xf5\xc0z\x82\xbb\x01\xd06\xfb\ + \x9c\x0c114\xcb\xc9-\xcb\xfe\x0cgR\xec\xbd\ +\xe7\x1f\xb2\x93\xffu\x8e\x95\xf2\x1c#\x19\x1f\xeb\xb7\xca\ +8\xe6\xef\xf5\xd6K\xce}\xd4\xca$\xbf=M\x9d\x84\ +\xc2\x152\x80 \xae\xb8o\xc6\x95\xf1\x80\x03\x8cx\x95\ +D\x17\xdcN\xbcr^\xae-$\xb0\x0a\x17\xd3HZ\ +\xa3\xca\x01\xfb/~%\xfb&~\x9a\xc8\xc8\xbdE\x8d\ +\xd6\x02H\x8f)(H\x0d\x0e?\x8c\x04@\xb7\xa2\xc8\ +\x0b\xa5&\xd0\xdfb\x96\xcf\xa5\x8c8uYz\x0a\x88\ +\xb4|i}\xfc?\xc4FS\xb5f\x9b\xe1I\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x03\ +\x00\x00x<\ +\x00q\ +\x00m\x00l\ +\x00\x11\ +\x05\xba\xd1Y\ +\x00q\ +\x00m\x00l\x00s\x00u\x00r\x00f\x00a\x00c\x00e\x00g\x00a\x00l\x00l\x00e\x00r\x00y\ +\ +\x00\x0d\ +\x0e\xfc\xe9\x87\ +\x00h\ +\x00e\x00i\x00g\x00h\x00t\x00m\x00a\x00p\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x0c\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x004\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x86\xe4\xfa\x81v\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/datavisualization/surface/doc/surface.rst b/examples/datavisualization/surface/doc/surface.rst new file mode 100644 index 0000000..65674bf --- /dev/null +++ b/examples/datavisualization/surface/doc/surface.rst @@ -0,0 +1,23 @@ +Surface Example +=============== + +Using Q3DSurface in a widget application. + +The surface example shows how to make a simple 3D surface graph using +Q3DSurface and combining the use of widgets for adjusting several adjustable +qualities. This example demonstrates the following features: + +* How to set up a basic QSurfaceDataProxy and set data for it. +* How to use QHeightMapSurfaceDataProxy for showing 3D height maps. +* Three different selection modes for studying the graph. +* Axis range usage for displaying selected portions of the graph. +* Changing theme. +* How to set a custom surface gradient. + +For instructions about how to interact with the graph, see `this page`_. + +.. image:: surface_mountain.png + :width: 400 + :alt: Surface Example Screenshot + +.. _`this page`: https://doc.qt.io/qt-6/qtdatavisualization-interacting-with-data.html diff --git a/examples/datavisualization/surface/doc/surface_mountain.png b/examples/datavisualization/surface/doc/surface_mountain.png new file mode 100644 index 0000000000000000000000000000000000000000..ba965239400ec63371b90fcad0d2daa80ca5c9c6 GIT binary patch literal 152571 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%0AsK#pe10?%<{700IGGCOgX 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 gT{-T= maximum: + maximum = minimum + 1 + self._axisMaxSliderX.setValue(maximum) + max_x = self._stepX * maximum + self._rangeMinX + + self.set_axis_xrange(min_x, max_x) + + @Slot(int) + def adjust_xmax(self, maximum): + max_x = self._stepX * float(maximum) + self._rangeMinX + + minimum = self._axisMinSliderX.value() + if maximum <= minimum: + minimum = maximum - 1 + self._axisMinSliderX.setValue(minimum) + min_x = self._stepX * minimum + self._rangeMinX + + self.set_axis_xrange(min_x, max_x) + + @Slot(int) + def adjust_zmin(self, minimum): + min_z = self._stepZ * float(minimum) + self._rangeMinZ + + maximum = self._axisMaxSliderZ.value() + if minimum >= maximum: + maximum = minimum + 1 + self._axisMaxSliderZ.setValue(maximum) + max_z = self._stepZ * maximum + self._rangeMinZ + + self.set_axis_zrange(min_z, max_z) + + @Slot(int) + def adjust_zmax(self, maximum): + max_x = self._stepZ * float(maximum) + self._rangeMinZ + + minimum = self._axisMinSliderZ.value() + if maximum <= minimum: + minimum = maximum - 1 + self._axisMinSliderZ.setValue(minimum) + min_x = self._stepZ * minimum + self._rangeMinZ + + self.set_axis_zrange(min_x, max_x) + + def set_axis_xrange(self, minimum, maximum): + self._graph.axisX().setRange(minimum, maximum) + + def set_axis_zrange(self, minimum, maximum): + self._graph.axisZ().setRange(minimum, maximum) + + @Slot(int) + def change_theme(self, theme): + self._graph.activeTheme().setType(Q3DTheme.Theme(theme)) + + @Slot() + def set_black_to_yellow_gradient(self): + gr = QLinearGradient() + gr.setColorAt(0.0, Qt.black) + gr.setColorAt(0.33, Qt.blue) + gr.setColorAt(0.67, Qt.red) + gr.setColorAt(1.0, Qt.yellow) + + series = self._graph.seriesList()[0] + series.setBaseGradient(gr) + series.setColorStyle(Q3DTheme.ColorStyleRangeGradient) + + @Slot() + def set_green_to_red_gradient(self): + gr = QLinearGradient() + gr.setColorAt(0.0, Qt.darkGreen) + gr.setColorAt(0.5, Qt.yellow) + gr.setColorAt(0.8, Qt.red) + gr.setColorAt(1.0, Qt.darkRed) + + series = self._graph.seriesList()[0] + series.setBaseGradient(gr) + series.setColorStyle(Q3DTheme.ColorStyleRangeGradient) + + @Slot() + def toggle_mode_none(self): + self._graph.setSelectionMode(QAbstract3DGraph.SelectionNone) + + @Slot() + def toggle_mode_item(self): + self._graph.setSelectionMode(QAbstract3DGraph.SelectionItem) + + @Slot() + def toggle_mode_slice_row(self): + self._graph.setSelectionMode( + QAbstract3DGraph.SelectionItemAndRow | QAbstract3DGraph.SelectionSlice + ) + + @Slot() + def toggle_mode_slice_column(self): + self._graph.setSelectionMode( + QAbstract3DGraph.SelectionItemAndColumn | QAbstract3DGraph.SelectionSlice + ) + + def set_axis_min_slider_x(self, slider): + self._axisMinSliderX = slider + + def set_axis_max_slider_x(self, slider): + self._axisMaxSliderX = slider + + def set_axis_min_slider_z(self, slider): + self._axisMinSliderZ = slider + + def set_axis_max_slider_z(self, slider): + self._axisMaxSliderZ = slider diff --git a/examples/datavisualization/surface_model_numpy/doc/surface_model_numpy.rst b/examples/datavisualization/surface_model_numpy/doc/surface_model_numpy.rst new file mode 100644 index 0000000..b5b91df --- /dev/null +++ b/examples/datavisualization/surface_model_numpy/doc/surface_model_numpy.rst @@ -0,0 +1,24 @@ +Surface Example +=============== + +Using Q3DSurface in a widget application. + +The surface example shows how to make a simple 3D surface graph using +Q3DSurface and combining the use of widgets for adjusting several adjustable +qualities. This example demonstrates the following features: + +* How to set up a QItemModelSurfaceDataProxy with a QAbstractTableModel + backed by a numpy array. +* How to use QHeightMapSurfaceDataProxy for showing 3D height maps. +* Three different selection modes for studying the graph. +* Axis range usage for displaying selected portions of the graph. +* Changing theme. +* How to set a custom surface gradient. + +For instructions about how to interact with the graph, see `this page`_. + +.. image:: surface_mountain.png + :width: 400 + :alt: Surface Example Screenshot + +.. _`this page`: https://doc.qt.io/qt-6/qtdatavisualization-interacting-with-data.html diff --git a/examples/datavisualization/surface_model_numpy/main.py b/examples/datavisualization/surface_model_numpy/main.py new file mode 100644 index 0000000..f439701 --- /dev/null +++ b/examples/datavisualization/surface_model_numpy/main.py @@ -0,0 +1,189 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtCore import QSize, Qt +from PySide6.QtDataVisualization import Q3DSurface +from PySide6.QtGui import QBrush, QIcon, QLinearGradient, QPainter, QPixmap +from PySide6.QtWidgets import (QApplication, QComboBox, QGroupBox, QHBoxLayout, + QLabel, QMessageBox, QPushButton, QRadioButton, + QSizePolicy, QSlider, QVBoxLayout, QWidget) + +from surfacegraph import SurfaceGraph + +THEMES = ["Qt", "Primary Colors", "Digia", "Stone Moss", "Army Blue", "Retro", + "Ebony", "Isabelle"] + + +class Window(QWidget): + def __init__(self, graph, parent=None): + super().__init__(parent) + self._graph = graph + self._container = QWidget.createWindowContainer(self._graph, self, + Qt.Widget) + + screen_size = self._graph.screen().size() + self._container.setMinimumSize(QSize(screen_size.width() / 2, + screen_size.height() / 1.6)) + self._container.setMaximumSize(screen_size) + self._container.setSizePolicy(QSizePolicy.Expanding, + QSizePolicy.Expanding) + self._container.setFocusPolicy(Qt.StrongFocus) + + h_layout = QHBoxLayout(self) + v_layout = QVBoxLayout() + h_layout.addWidget(self._container, 1) + h_layout.addLayout(v_layout) + v_layout.setAlignment(Qt.AlignTop) + + model_group_box = QGroupBox("Model") + + sqrt_sin_model_rb = QRadioButton(self) + sqrt_sin_model_rb.setText("Sqrt& Sin") + sqrt_sin_model_rb.setChecked(False) + + height_map_model_rb = QRadioButton(self) + height_map_model_rb.setText("Height Map") + height_map_model_rb.setChecked(False) + + model_vbox = QVBoxLayout() + model_vbox.addWidget(sqrt_sin_model_rb) + model_vbox.addWidget(height_map_model_rb) + model_group_box.setLayout(model_vbox) + + selection_group_box = QGroupBox("Selection Mode") + + mode_none_rb = QRadioButton(self) + mode_none_rb.setText("No selection") + mode_none_rb.setChecked(False) + + mode_item_rb = QRadioButton(self) + mode_item_rb.setText("Item") + mode_item_rb.setChecked(False) + + mode_slice_row_rb = QRadioButton(self) + mode_slice_row_rb.setText("Row Slice") + mode_slice_row_rb.setChecked(False) + + mode_slice_column_rb = QRadioButton(self) + mode_slice_column_rb.setText("Column Slice") + mode_slice_column_rb.setChecked(False) + + selection_vbox = QVBoxLayout() + selection_vbox.addWidget(mode_none_rb) + selection_vbox.addWidget(mode_item_rb) + selection_vbox.addWidget(mode_slice_row_rb) + selection_vbox.addWidget(mode_slice_column_rb) + selection_group_box.setLayout(selection_vbox) + + axis_min_slider_x = QSlider(Qt.Horizontal, self) + axis_min_slider_x.setMinimum(0) + axis_min_slider_x.setTickInterval(1) + axis_min_slider_x.setEnabled(True) + axis_max_slider_x = QSlider(Qt.Horizontal, self) + axis_max_slider_x.setMinimum(1) + axis_max_slider_x.setTickInterval(1) + axis_max_slider_x.setEnabled(True) + axis_min_slider_z = QSlider(Qt.Horizontal, self) + axis_min_slider_z.setMinimum(0) + axis_min_slider_z.setTickInterval(1) + axis_min_slider_z.setEnabled(True) + axis_max_slider_z = QSlider(Qt.Horizontal, self) + axis_max_slider_z.setMinimum(1) + axis_max_slider_z.setTickInterval(1) + axis_max_slider_z.setEnabled(True) + + theme_list = QComboBox(self) + theme_list.addItems(THEMES) + + color_group_box = QGroupBox("Custom gradient") + + gr_bto_y = QLinearGradient(0, 0, 1, 100) + gr_bto_y.setColorAt(1.0, Qt.black) + gr_bto_y.setColorAt(0.67, Qt.blue) + gr_bto_y.setColorAt(0.33, Qt.red) + gr_bto_y.setColorAt(0.0, Qt.yellow) + + pm = QPixmap(24, 100) + pmp = QPainter(pm) + pmp.setBrush(QBrush(gr_bto_y)) + pmp.setPen(Qt.NoPen) + pmp.drawRect(0, 0, 24, 100) + pmp.end() + + gradient_bto_ypb = QPushButton(self) + gradient_bto_ypb.setIcon(QIcon(pm)) + gradient_bto_ypb.setIconSize(QSize(24, 100)) + + gr_gto_r = QLinearGradient(0, 0, 1, 100) + gr_gto_r.setColorAt(1.0, Qt.darkGreen) + gr_gto_r.setColorAt(0.5, Qt.yellow) + gr_gto_r.setColorAt(0.2, Qt.red) + gr_gto_r.setColorAt(0.0, Qt.darkRed) + pmp.begin(pm) + pmp.setBrush(QBrush(gr_gto_r)) + pmp.drawRect(0, 0, 24, 100) + pmp.end() + + gradient_gto_rpb = QPushButton(self) + gradient_gto_rpb.setIcon(QIcon(pm)) + gradient_gto_rpb.setIconSize(QSize(24, 100)) + + color_hbox = QHBoxLayout() + color_hbox.addWidget(gradient_bto_ypb) + color_hbox.addWidget(gradient_gto_rpb) + color_group_box.setLayout(color_hbox) + + v_layout.addWidget(model_group_box) + v_layout.addWidget(selection_group_box) + v_layout.addWidget(QLabel("Column range")) + v_layout.addWidget(axis_min_slider_x) + v_layout.addWidget(axis_max_slider_x) + v_layout.addWidget(QLabel("Row range")) + v_layout.addWidget(axis_min_slider_z) + v_layout.addWidget(axis_max_slider_z) + v_layout.addWidget(QLabel("Theme")) + v_layout.addWidget(theme_list) + v_layout.addWidget(color_group_box) + + self._modifier = SurfaceGraph(self._graph) + + height_map_model_rb.toggled.connect(self._modifier.enable_height_map_model) + sqrt_sin_model_rb.toggled.connect(self._modifier.enable_sqrt_sin_model) + mode_none_rb.toggled.connect(self._modifier.toggle_mode_none) + mode_item_rb.toggled.connect(self._modifier.toggle_mode_item) + mode_slice_row_rb.toggled.connect(self._modifier.toggle_mode_slice_row) + mode_slice_column_rb.toggled.connect(self._modifier.toggle_mode_slice_column) + axis_min_slider_x.valueChanged.connect(self._modifier.adjust_xmin) + axis_max_slider_x.valueChanged.connect(self._modifier.adjust_xmax) + axis_min_slider_z.valueChanged.connect(self._modifier.adjust_zmin) + axis_max_slider_z.valueChanged.connect(self._modifier.adjust_zmax) + theme_list.currentIndexChanged[int].connect(self._modifier.change_theme) + gradient_bto_ypb.pressed.connect(self._modifier.set_black_to_yellow_gradient) + gradient_gto_rpb.pressed.connect(self._modifier.set_green_to_red_gradient) + + self._modifier.set_axis_min_slider_x(axis_min_slider_x) + self._modifier.set_axis_max_slider_x(axis_max_slider_x) + self._modifier.set_axis_min_slider_z(axis_min_slider_z) + self._modifier.set_axis_max_slider_z(axis_max_slider_z) + + sqrt_sin_model_rb.setChecked(True) + mode_item_rb.setChecked(True) + theme_list.setCurrentIndex(2) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + graph = Q3DSurface() + if not graph.hasContext(): + msg_box = QMessageBox() + msg_box.setText("Couldn't initialize the OpenGL context.") + msg_box.exec() + sys.exit(-1) + + window = Window(graph) + window.setWindowTitle("Surface example") + window.show() + + sys.exit(app.exec()) diff --git a/examples/datavisualization/surface_model_numpy/surface_model_numpy.pyproject b/examples/datavisualization/surface_model_numpy/surface_model_numpy.pyproject new file mode 100644 index 0000000..598a654 --- /dev/null +++ b/examples/datavisualization/surface_model_numpy/surface_model_numpy.pyproject @@ -0,0 +1,4 @@ +{ + "files": ["main.py", + "surfacegraph.py"] +} diff --git a/examples/datavisualization/surface_model_numpy/surfacegraph.py b/examples/datavisualization/surface_model_numpy/surfacegraph.py new file mode 100644 index 0000000..c0c1ace --- /dev/null +++ b/examples/datavisualization/surface_model_numpy/surfacegraph.py @@ -0,0 +1,295 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import numpy as np +import math +from pathlib import Path + +from PySide6.QtCore import (QAbstractTableModel, QByteArray, QModelIndex, + QObject, Qt, Slot) +from PySide6.QtDataVisualization import (Q3DTheme, QAbstract3DGraph, + QHeightMapSurfaceDataProxy, + QSurface3DSeries, + QItemModelSurfaceDataProxy, + QValue3DAxis) +from PySide6.QtGui import QImage, QLinearGradient +from PySide6.QtWidgets import QSlider + +SAMPLE_COUNT_X = 50 +SAMPLE_COUNT_Z = 50 +HEIGHT_MAP_GRID_STEP_X = 6 +HEIGHT_MAP_GRID_STEP_Z = 6 +SAMPLE_MIN = -8.0 +SAMPLE_MAX = 8.0 + + +X_ROLE = Qt.UserRole + 1 +Y_ROLE = Qt.UserRole + 2 +Z_ROLE = Qt.UserRole + 3 + + +class SqrtSinModel(QAbstractTableModel): + def __init__(self, parent=None): + super().__init__(parent) + + self._x = np.zeros(SAMPLE_COUNT_X) + self._z = np.zeros(SAMPLE_COUNT_Z) + self._data = np.zeros((SAMPLE_COUNT_Z, SAMPLE_COUNT_X)) + + step_x = (SAMPLE_MAX - SAMPLE_MIN) / float(SAMPLE_COUNT_X - 1) + step_z = (SAMPLE_MAX - SAMPLE_MIN) / float(SAMPLE_COUNT_Z - 1) + + for i in range(SAMPLE_COUNT_Z): + # Keep values within range bounds, since just adding step can cause + # minor drift due to the rounding errors. + z = min(SAMPLE_MAX, (i * step_z + SAMPLE_MIN)) + self._z[i] = z + for j in range(SAMPLE_COUNT_X): + x = min(SAMPLE_MAX, (j * step_x + SAMPLE_MIN)) + self._x[j] = x + R = math.sqrt(z * z + x * x) + 0.01 + y = (math.sin(R) / R + 0.24) * 1.61 + self._data[i, j] = y + + def roleNames(self): + result = super().roleNames() + result[X_ROLE] = QByteArray(b"x") + result[Y_ROLE] = QByteArray(b"y") + result[Z_ROLE] = QByteArray(b"z") + return result + + def rowCount(self, index=QModelIndex()): + return self._z.size + + def columnCount(self, index=QModelIndex()): + return self._x.size + + def data(self, index, role=Qt.DisplayRole): + row = index.row() + col = index.column() + if role == X_ROLE: + return float(self._x[col]) + if role == Y_ROLE: + return float(self._data[row][col]) + if role == Z_ROLE: + return float(self._z[row]) + return 0.0 + + +class SurfaceGraph(QObject): + def __init__(self, surface, parent=None): + super().__init__(parent) + + self.m_graph = surface + self.m_graph.setAxisX(QValue3DAxis()) + self.m_graph.setAxisY(QValue3DAxis()) + self.m_graph.setAxisZ(QValue3DAxis()) + + self.m_sqrtSinModel = SqrtSinModel(self) + self.m_sqrtSinProxy = QItemModelSurfaceDataProxy(self.m_sqrtSinModel, self) + self.m_sqrtSinProxy.setUseModelCategories(True) + self.m_sqrtSinProxy.setXPosRole("x") + self.m_sqrtSinProxy.setYPosRole("y") + self.m_sqrtSinProxy.setZPosRole("z") + + self.m_sqrtSinSeries = QSurface3DSeries(self.m_sqrtSinProxy) + + image_file = Path(__file__).parent.parent / "surface" / "mountain.png" + height_map_image = QImage(image_file) + self.m_heightMapProxy = QHeightMapSurfaceDataProxy(height_map_image) + self.m_heightMapSeries = QSurface3DSeries(self.m_heightMapProxy) + self.m_heightMapSeries.setItemLabelFormat("(@xLabel, @zLabel): @yLabel") + self.m_heightMapProxy.setValueRanges(34.0, 40.0, 18.0, 24.0) + + self.m_heightMapWidth = height_map_image.width() + self.m_heightMapHeight = height_map_image.height() + + self.m_axisMinSliderX = QSlider() + self.m_axisMaxSliderX = QSlider() + self.m_axisMinSliderZ = QSlider() + self.m_axisMaxSliderZ = QSlider() + self.m_rangeMinX = 0.0 + self.m_rangeMinZ = 0.0 + self.m_stepX = 0.0 + self.m_stepZ = 0.0 + + @Slot(bool) + def enable_sqrt_sin_model(self, enable): + if enable: + self.m_sqrtSinSeries.setDrawMode(QSurface3DSeries.DrawSurfaceAndWireframe) + self.m_sqrtSinSeries.setFlatShadingEnabled(True) + + self.m_graph.axisX().setLabelFormat("%.2f") + self.m_graph.axisZ().setLabelFormat("%.2f") + self.m_graph.axisX().setRange(SAMPLE_MIN, SAMPLE_MAX) + self.m_graph.axisY().setRange(0.0, 2.0) + self.m_graph.axisZ().setRange(SAMPLE_MIN, SAMPLE_MAX) + self.m_graph.axisX().setLabelAutoRotation(30) + self.m_graph.axisY().setLabelAutoRotation(90) + self.m_graph.axisZ().setLabelAutoRotation(30) + + self.m_graph.removeSeries(self.m_heightMapSeries) + self.m_graph.addSeries(self.m_sqrtSinSeries) + + # Reset range sliders for Sqrt&Sin + self.m_rangeMinX = SAMPLE_MIN + self.m_rangeMinZ = SAMPLE_MIN + self.m_stepX = (SAMPLE_MAX - SAMPLE_MIN) / float(SAMPLE_COUNT_X - 1) + self.m_stepZ = (SAMPLE_MAX - SAMPLE_MIN) / float(SAMPLE_COUNT_Z - 1) + self.m_axisMinSliderX.setMaximum(SAMPLE_COUNT_X - 2) + self.m_axisMinSliderX.setValue(0) + self.m_axisMaxSliderX.setMaximum(SAMPLE_COUNT_X - 1) + self.m_axisMaxSliderX.setValue(SAMPLE_COUNT_X - 1) + self.m_axisMinSliderZ.setMaximum(SAMPLE_COUNT_Z - 2) + self.m_axisMinSliderZ.setValue(0) + self.m_axisMaxSliderZ.setMaximum(SAMPLE_COUNT_Z - 1) + self.m_axisMaxSliderZ.setValue(SAMPLE_COUNT_Z - 1) + + @Slot(bool) + def enable_height_map_model(self, enable): + if enable: + self.m_heightMapSeries.setDrawMode(QSurface3DSeries.DrawSurface) + self.m_heightMapSeries.setFlatShadingEnabled(False) + + self.m_graph.axisX().setLabelFormat("%.1f N") + self.m_graph.axisZ().setLabelFormat("%.1f E") + self.m_graph.axisX().setRange(34.0, 40.0) + self.m_graph.axisY().setAutoAdjustRange(True) + self.m_graph.axisZ().setRange(18.0, 24.0) + + self.m_graph.axisX().setTitle("Latitude") + self.m_graph.axisY().setTitle("Height") + self.m_graph.axisZ().setTitle("Longitude") + + self.m_graph.removeSeries(self.m_sqrtSinSeries) + self.m_graph.addSeries(self.m_heightMapSeries) + + # Reset range sliders for height map + map_grid_count_x = self.m_heightMapWidth / HEIGHT_MAP_GRID_STEP_X + map_grid_count_z = self.m_heightMapHeight / HEIGHT_MAP_GRID_STEP_Z + self.m_rangeMinX = 34.0 + self.m_rangeMinZ = 18.0 + self.m_stepX = 6.0 / float(map_grid_count_x - 1) + self.m_stepZ = 6.0 / float(map_grid_count_z - 1) + self.m_axisMinSliderX.setMaximum(map_grid_count_x - 2) + self.m_axisMinSliderX.setValue(0) + self.m_axisMaxSliderX.setMaximum(map_grid_count_x - 1) + self.m_axisMaxSliderX.setValue(map_grid_count_x - 1) + self.m_axisMinSliderZ.setMaximum(map_grid_count_z - 2) + self.m_axisMinSliderZ.setValue(0) + self.m_axisMaxSliderZ.setMaximum(map_grid_count_z - 1) + self.m_axisMaxSliderZ.setValue(map_grid_count_z - 1) + + @Slot(int) + def adjust_xmin(self, minimum): + min_x = self.m_stepX * float(minimum) + self.m_rangeMinX + + maximum = self.m_axisMaxSliderX.value() + if minimum >= maximum: + maximum = minimum + 1 + self.m_axisMaxSliderX.setValue(maximum) + max_x = self.m_stepX * maximum + self.m_rangeMinX + + self.set_axis_xrange(min_x, max_x) + + @Slot(int) + def adjust_xmax(self, maximum): + max_x = self.m_stepX * float(maximum) + self.m_rangeMinX + + minimum = self.m_axisMinSliderX.value() + if maximum <= minimum: + minimum = maximum - 1 + self.m_axisMinSliderX.setValue(minimum) + min_x = self.m_stepX * minimum + self.m_rangeMinX + + self.set_axis_xrange(min_x, max_x) + + @Slot(int) + def adjust_zmin(self, minimum): + min_z = self.m_stepZ * float(minimum) + self.m_rangeMinZ + + maximum = self.m_axisMaxSliderZ.value() + if minimum >= maximum: + maximum = minimum + 1 + self.m_axisMaxSliderZ.setValue(maximum) + max_z = self.m_stepZ * maximum + self.m_rangeMinZ + + self.set_axis_zrange(min_z, max_z) + + @Slot(int) + def adjust_zmax(self, maximum): + max_x = self.m_stepZ * float(maximum) + self.m_rangeMinZ + + minimum = self.m_axisMinSliderZ.value() + if maximum <= minimum: + minimum = maximum - 1 + self.m_axisMinSliderZ.setValue(minimum) + min_x = self.m_stepZ * minimum + self.m_rangeMinZ + + self.set_axis_zrange(min_x, max_x) + + def set_axis_xrange(self, minimum, maximum): + self.m_graph.axisX().setRange(minimum, maximum) + + def set_axis_zrange(self, minimum, maximum): + self.m_graph.axisZ().setRange(minimum, maximum) + + @Slot(int) + def change_theme(self, theme): + self.m_graph.activeTheme().setType(Q3DTheme.Theme(theme)) + + @Slot() + def set_black_to_yellow_gradient(self): + gr = QLinearGradient() + gr.setColorAt(0.0, Qt.black) + gr.setColorAt(0.33, Qt.blue) + gr.setColorAt(0.67, Qt.red) + gr.setColorAt(1.0, Qt.yellow) + + series = self.m_graph.seriesList()[0] + series.setBaseGradient(gr) + series.setColorStyle(Q3DTheme.ColorStyleRangeGradient) + + @Slot() + def set_green_to_red_gradient(self): + gr = QLinearGradient() + gr.setColorAt(0.0, Qt.darkGreen) + gr.setColorAt(0.5, Qt.yellow) + gr.setColorAt(0.8, Qt.red) + gr.setColorAt(1.0, Qt.darkRed) + + series = self.m_graph.seriesList()[0] + series.setBaseGradient(gr) + series.setColorStyle(Q3DTheme.ColorStyleRangeGradient) + + @Slot() + def toggle_mode_none(self): + self.m_graph.setSelectionMode(QAbstract3DGraph.SelectionNone) + + @Slot() + def toggle_mode_item(self): + self.m_graph.setSelectionMode(QAbstract3DGraph.SelectionItem) + + @Slot() + def toggle_mode_slice_row(self): + self.m_graph.setSelectionMode( + QAbstract3DGraph.SelectionItemAndRow | QAbstract3DGraph.SelectionSlice + ) + + @Slot() + def toggle_mode_slice_column(self): + self.m_graph.setSelectionMode( + QAbstract3DGraph.SelectionItemAndColumn | QAbstract3DGraph.SelectionSlice + ) + + def set_axis_min_slider_x(self, slider): + self.m_axisMinSliderX = slider + + def set_axis_max_slider_x(self, slider): + self.m_axisMaxSliderX = slider + + def set_axis_min_slider_z(self, slider): + self.m_axisMinSliderZ = slider + + def set_axis_max_slider_z(self, slider): + self.m_axisMaxSliderZ = slider diff --git a/examples/datavisualization/surface_numpy/doc/surface_numpy.rst b/examples/datavisualization/surface_numpy/doc/surface_numpy.rst new file mode 100644 index 0000000..8a921a4 --- /dev/null +++ b/examples/datavisualization/surface_numpy/doc/surface_numpy.rst @@ -0,0 +1,24 @@ +Surface Example +=============== + +Using Q3DSurface in a widget application. + +The surface example shows how to make a simple 3D surface graph using +Q3DSurface and combining the use of widgets for adjusting several adjustable +qualities. It requires building PySide6 with the ``--pyside-numpy-support`` +option. This example demonstrates the following features: + +* How to set up a QSurfaceDataProxy from a 2-dimensional numpy array. +* How to use QHeightMapSurfaceDataProxy for showing 3D height maps. +* Three different selection modes for studying the graph. +* Axis range usage for displaying selected portions of the graph. +* Changing theme. +* How to set a custom surface gradient. + +For instructions about how to interact with the graph, see `this page`_. + +.. image:: surface_mountain.png + :width: 400 + :alt: Surface Example Screenshot + +.. _`this page`: https://doc.qt.io/qt-6/qtdatavisualization-interacting-with-data.html diff --git a/examples/datavisualization/surface_numpy/main.py b/examples/datavisualization/surface_numpy/main.py new file mode 100644 index 0000000..f439701 --- /dev/null +++ b/examples/datavisualization/surface_numpy/main.py @@ -0,0 +1,189 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtCore import QSize, Qt +from PySide6.QtDataVisualization import Q3DSurface +from PySide6.QtGui import QBrush, QIcon, QLinearGradient, QPainter, QPixmap +from PySide6.QtWidgets import (QApplication, QComboBox, QGroupBox, QHBoxLayout, + QLabel, QMessageBox, QPushButton, QRadioButton, + QSizePolicy, QSlider, QVBoxLayout, QWidget) + +from surfacegraph import SurfaceGraph + +THEMES = ["Qt", "Primary Colors", "Digia", "Stone Moss", "Army Blue", "Retro", + "Ebony", "Isabelle"] + + +class Window(QWidget): + def __init__(self, graph, parent=None): + super().__init__(parent) + self._graph = graph + self._container = QWidget.createWindowContainer(self._graph, self, + Qt.Widget) + + screen_size = self._graph.screen().size() + self._container.setMinimumSize(QSize(screen_size.width() / 2, + screen_size.height() / 1.6)) + self._container.setMaximumSize(screen_size) + self._container.setSizePolicy(QSizePolicy.Expanding, + QSizePolicy.Expanding) + self._container.setFocusPolicy(Qt.StrongFocus) + + h_layout = QHBoxLayout(self) + v_layout = QVBoxLayout() + h_layout.addWidget(self._container, 1) + h_layout.addLayout(v_layout) + v_layout.setAlignment(Qt.AlignTop) + + model_group_box = QGroupBox("Model") + + sqrt_sin_model_rb = QRadioButton(self) + sqrt_sin_model_rb.setText("Sqrt& Sin") + sqrt_sin_model_rb.setChecked(False) + + height_map_model_rb = QRadioButton(self) + height_map_model_rb.setText("Height Map") + height_map_model_rb.setChecked(False) + + model_vbox = QVBoxLayout() + model_vbox.addWidget(sqrt_sin_model_rb) + model_vbox.addWidget(height_map_model_rb) + model_group_box.setLayout(model_vbox) + + selection_group_box = QGroupBox("Selection Mode") + + mode_none_rb = QRadioButton(self) + mode_none_rb.setText("No selection") + mode_none_rb.setChecked(False) + + mode_item_rb = QRadioButton(self) + mode_item_rb.setText("Item") + mode_item_rb.setChecked(False) + + mode_slice_row_rb = QRadioButton(self) + mode_slice_row_rb.setText("Row Slice") + mode_slice_row_rb.setChecked(False) + + mode_slice_column_rb = QRadioButton(self) + mode_slice_column_rb.setText("Column Slice") + mode_slice_column_rb.setChecked(False) + + selection_vbox = QVBoxLayout() + selection_vbox.addWidget(mode_none_rb) + selection_vbox.addWidget(mode_item_rb) + selection_vbox.addWidget(mode_slice_row_rb) + selection_vbox.addWidget(mode_slice_column_rb) + selection_group_box.setLayout(selection_vbox) + + axis_min_slider_x = QSlider(Qt.Horizontal, self) + axis_min_slider_x.setMinimum(0) + axis_min_slider_x.setTickInterval(1) + axis_min_slider_x.setEnabled(True) + axis_max_slider_x = QSlider(Qt.Horizontal, self) + axis_max_slider_x.setMinimum(1) + axis_max_slider_x.setTickInterval(1) + axis_max_slider_x.setEnabled(True) + axis_min_slider_z = QSlider(Qt.Horizontal, self) + axis_min_slider_z.setMinimum(0) + axis_min_slider_z.setTickInterval(1) + axis_min_slider_z.setEnabled(True) + axis_max_slider_z = QSlider(Qt.Horizontal, self) + axis_max_slider_z.setMinimum(1) + axis_max_slider_z.setTickInterval(1) + axis_max_slider_z.setEnabled(True) + + theme_list = QComboBox(self) + theme_list.addItems(THEMES) + + color_group_box = QGroupBox("Custom gradient") + + gr_bto_y = QLinearGradient(0, 0, 1, 100) + gr_bto_y.setColorAt(1.0, Qt.black) + gr_bto_y.setColorAt(0.67, Qt.blue) + gr_bto_y.setColorAt(0.33, Qt.red) + gr_bto_y.setColorAt(0.0, Qt.yellow) + + pm = QPixmap(24, 100) + pmp = QPainter(pm) + pmp.setBrush(QBrush(gr_bto_y)) + pmp.setPen(Qt.NoPen) + pmp.drawRect(0, 0, 24, 100) + pmp.end() + + gradient_bto_ypb = QPushButton(self) + gradient_bto_ypb.setIcon(QIcon(pm)) + gradient_bto_ypb.setIconSize(QSize(24, 100)) + + gr_gto_r = QLinearGradient(0, 0, 1, 100) + gr_gto_r.setColorAt(1.0, Qt.darkGreen) + gr_gto_r.setColorAt(0.5, Qt.yellow) + gr_gto_r.setColorAt(0.2, Qt.red) + gr_gto_r.setColorAt(0.0, Qt.darkRed) + pmp.begin(pm) + pmp.setBrush(QBrush(gr_gto_r)) + pmp.drawRect(0, 0, 24, 100) + pmp.end() + + gradient_gto_rpb = QPushButton(self) + gradient_gto_rpb.setIcon(QIcon(pm)) + gradient_gto_rpb.setIconSize(QSize(24, 100)) + + color_hbox = QHBoxLayout() + color_hbox.addWidget(gradient_bto_ypb) + color_hbox.addWidget(gradient_gto_rpb) + color_group_box.setLayout(color_hbox) + + v_layout.addWidget(model_group_box) + v_layout.addWidget(selection_group_box) + v_layout.addWidget(QLabel("Column range")) + v_layout.addWidget(axis_min_slider_x) + v_layout.addWidget(axis_max_slider_x) + v_layout.addWidget(QLabel("Row range")) + v_layout.addWidget(axis_min_slider_z) + v_layout.addWidget(axis_max_slider_z) + v_layout.addWidget(QLabel("Theme")) + v_layout.addWidget(theme_list) + v_layout.addWidget(color_group_box) + + self._modifier = SurfaceGraph(self._graph) + + height_map_model_rb.toggled.connect(self._modifier.enable_height_map_model) + sqrt_sin_model_rb.toggled.connect(self._modifier.enable_sqrt_sin_model) + mode_none_rb.toggled.connect(self._modifier.toggle_mode_none) + mode_item_rb.toggled.connect(self._modifier.toggle_mode_item) + mode_slice_row_rb.toggled.connect(self._modifier.toggle_mode_slice_row) + mode_slice_column_rb.toggled.connect(self._modifier.toggle_mode_slice_column) + axis_min_slider_x.valueChanged.connect(self._modifier.adjust_xmin) + axis_max_slider_x.valueChanged.connect(self._modifier.adjust_xmax) + axis_min_slider_z.valueChanged.connect(self._modifier.adjust_zmin) + axis_max_slider_z.valueChanged.connect(self._modifier.adjust_zmax) + theme_list.currentIndexChanged[int].connect(self._modifier.change_theme) + gradient_bto_ypb.pressed.connect(self._modifier.set_black_to_yellow_gradient) + gradient_gto_rpb.pressed.connect(self._modifier.set_green_to_red_gradient) + + self._modifier.set_axis_min_slider_x(axis_min_slider_x) + self._modifier.set_axis_max_slider_x(axis_max_slider_x) + self._modifier.set_axis_min_slider_z(axis_min_slider_z) + self._modifier.set_axis_max_slider_z(axis_max_slider_z) + + sqrt_sin_model_rb.setChecked(True) + mode_item_rb.setChecked(True) + theme_list.setCurrentIndex(2) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + graph = Q3DSurface() + if not graph.hasContext(): + msg_box = QMessageBox() + msg_box.setText("Couldn't initialize the OpenGL context.") + msg_box.exec() + sys.exit(-1) + + window = Window(graph) + window.setWindowTitle("Surface example") + window.show() + + sys.exit(app.exec()) diff --git a/examples/datavisualization/surface_numpy/surface_numpy.pyproject b/examples/datavisualization/surface_numpy/surface_numpy.pyproject new file mode 100644 index 0000000..598a654 --- /dev/null +++ b/examples/datavisualization/surface_numpy/surface_numpy.pyproject @@ -0,0 +1,4 @@ +{ + "files": ["main.py", + "surfacegraph.py"] +} diff --git a/examples/datavisualization/surface_numpy/surfacegraph.py b/examples/datavisualization/surface_numpy/surfacegraph.py new file mode 100644 index 0000000..c9f6e75 --- /dev/null +++ b/examples/datavisualization/surface_numpy/surfacegraph.py @@ -0,0 +1,253 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import numpy as np +import math +from pathlib import Path + +from PySide6.QtCore import (QObject, Qt, Slot) +from PySide6.QtDataVisualization import (Q3DTheme, QAbstract3DGraph, + QHeightMapSurfaceDataProxy, + QSurface3DSeries, + QSurfaceDataProxy, + QValue3DAxis) +from PySide6.QtGui import QImage, QLinearGradient +from PySide6.QtWidgets import QSlider + +SAMPLE_COUNT_X = 50 +SAMPLE_COUNT_Z = 50 +HEIGHT_MAP_GRID_STEP_X = 6 +HEIGHT_MAP_GRID_STEP_Z = 6 +SAMPLE_MIN = -8.0 +SAMPLE_MAX = 8.0 + + +def fill_proxy(p): + stepX = (SAMPLE_MAX - SAMPLE_MIN) / float(SAMPLE_COUNT_X - 1) + stepZ = (SAMPLE_MAX - SAMPLE_MIN) / float(SAMPLE_COUNT_Z - 1) + data = np.zeros((SAMPLE_COUNT_Z, SAMPLE_COUNT_X)) + for i in range(SAMPLE_COUNT_Z): + # Keep values within range bounds, since just adding step can cause + # minor drift due to the rounding errors. + z = min(SAMPLE_MAX, (i * stepZ + SAMPLE_MIN)) + for j in range(SAMPLE_COUNT_X): + x = min(SAMPLE_MAX, (j * stepX + SAMPLE_MIN)) + R = math.sqrt(z * z + x * x) + 0.01 + y = (math.sin(R) / R + 0.24) * 1.61 + data[i, j] = y + p.resetArrayNp(SAMPLE_MIN, stepX, SAMPLE_MIN, stepZ, data) + + +class SurfaceGraph(QObject): + def __init__(self, surface, parent=None): + super().__init__(parent) + + self.m_graph = surface + self.m_graph.setAxisX(QValue3DAxis()) + self.m_graph.setAxisY(QValue3DAxis()) + self.m_graph.setAxisZ(QValue3DAxis()) + + self.m_sqrtSinProxy = QSurfaceDataProxy() + fill_proxy(self.m_sqrtSinProxy) + + self.m_sqrtSinSeries = QSurface3DSeries(self.m_sqrtSinProxy) + + image_file = Path(__file__).parent.parent / "surface" / "mountain.png" + height_map_image = QImage(image_file) + self.m_heightMapProxy = QHeightMapSurfaceDataProxy(height_map_image) + self.m_heightMapSeries = QSurface3DSeries(self.m_heightMapProxy) + self.m_heightMapSeries.setItemLabelFormat("(@xLabel, @zLabel): @yLabel") + self.m_heightMapProxy.setValueRanges(34.0, 40.0, 18.0, 24.0) + + self.m_heightMapWidth = height_map_image.width() + self.m_heightMapHeight = height_map_image.height() + + self.m_axisMinSliderX = QSlider() + self.m_axisMaxSliderX = QSlider() + self.m_axisMinSliderZ = QSlider() + self.m_axisMaxSliderZ = QSlider() + self.m_rangeMinX = 0.0 + self.m_rangeMinZ = 0.0 + self.m_stepX = 0.0 + self.m_stepZ = 0.0 + + @Slot(bool) + def enable_sqrt_sin_model(self, enable): + if enable: + self.m_sqrtSinSeries.setDrawMode(QSurface3DSeries.DrawSurfaceAndWireframe) + self.m_sqrtSinSeries.setFlatShadingEnabled(True) + + self.m_graph.axisX().setLabelFormat("%.2f") + self.m_graph.axisZ().setLabelFormat("%.2f") + self.m_graph.axisX().setRange(SAMPLE_MIN, SAMPLE_MAX) + self.m_graph.axisY().setRange(0.0, 2.0) + self.m_graph.axisZ().setRange(SAMPLE_MIN, SAMPLE_MAX) + self.m_graph.axisX().setLabelAutoRotation(30) + self.m_graph.axisY().setLabelAutoRotation(90) + self.m_graph.axisZ().setLabelAutoRotation(30) + + self.m_graph.removeSeries(self.m_heightMapSeries) + self.m_graph.addSeries(self.m_sqrtSinSeries) + + # Reset range sliders for Sqrt&Sin + self.m_rangeMinX = SAMPLE_MIN + self.m_rangeMinZ = SAMPLE_MIN + self.m_stepX = (SAMPLE_MAX - SAMPLE_MIN) / float(SAMPLE_COUNT_X - 1) + self.m_stepZ = (SAMPLE_MAX - SAMPLE_MIN) / float(SAMPLE_COUNT_Z - 1) + self.m_axisMinSliderX.setMaximum(SAMPLE_COUNT_X - 2) + self.m_axisMinSliderX.setValue(0) + self.m_axisMaxSliderX.setMaximum(SAMPLE_COUNT_X - 1) + self.m_axisMaxSliderX.setValue(SAMPLE_COUNT_X - 1) + self.m_axisMinSliderZ.setMaximum(SAMPLE_COUNT_Z - 2) + self.m_axisMinSliderZ.setValue(0) + self.m_axisMaxSliderZ.setMaximum(SAMPLE_COUNT_Z - 1) + self.m_axisMaxSliderZ.setValue(SAMPLE_COUNT_Z - 1) + + @Slot(bool) + def enable_height_map_model(self, enable): + if enable: + self.m_heightMapSeries.setDrawMode(QSurface3DSeries.DrawSurface) + self.m_heightMapSeries.setFlatShadingEnabled(False) + + self.m_graph.axisX().setLabelFormat("%.1f N") + self.m_graph.axisZ().setLabelFormat("%.1f E") + self.m_graph.axisX().setRange(34.0, 40.0) + self.m_graph.axisY().setAutoAdjustRange(True) + self.m_graph.axisZ().setRange(18.0, 24.0) + + self.m_graph.axisX().setTitle("Latitude") + self.m_graph.axisY().setTitle("Height") + self.m_graph.axisZ().setTitle("Longitude") + + self.m_graph.removeSeries(self.m_sqrtSinSeries) + self.m_graph.addSeries(self.m_heightMapSeries) + + # Reset range sliders for height map + map_grid_count_x = self.m_heightMapWidth / HEIGHT_MAP_GRID_STEP_X + map_grid_count_z = self.m_heightMapHeight / HEIGHT_MAP_GRID_STEP_Z + self.m_rangeMinX = 34.0 + self.m_rangeMinZ = 18.0 + self.m_stepX = 6.0 / float(map_grid_count_x - 1) + self.m_stepZ = 6.0 / float(map_grid_count_z - 1) + self.m_axisMinSliderX.setMaximum(map_grid_count_x - 2) + self.m_axisMinSliderX.setValue(0) + self.m_axisMaxSliderX.setMaximum(map_grid_count_x - 1) + self.m_axisMaxSliderX.setValue(map_grid_count_x - 1) + self.m_axisMinSliderZ.setMaximum(map_grid_count_z - 2) + self.m_axisMinSliderZ.setValue(0) + self.m_axisMaxSliderZ.setMaximum(map_grid_count_z - 1) + self.m_axisMaxSliderZ.setValue(map_grid_count_z - 1) + + @Slot(int) + def adjust_xmin(self, minimum): + min_x = self.m_stepX * float(minimum) + self.m_rangeMinX + + maximum = self.m_axisMaxSliderX.value() + if minimum >= maximum: + maximum = minimum + 1 + self.m_axisMaxSliderX.setValue(maximum) + max_x = self.m_stepX * maximum + self.m_rangeMinX + + self.set_axis_xrange(min_x, max_x) + + @Slot(int) + def adjust_xmax(self, maximum): + max_x = self.m_stepX * float(maximum) + self.m_rangeMinX + + minimum = self.m_axisMinSliderX.value() + if maximum <= minimum: + minimum = maximum - 1 + self.m_axisMinSliderX.setValue(minimum) + min_x = self.m_stepX * minimum + self.m_rangeMinX + + self.set_axis_xrange(min_x, max_x) + + @Slot(int) + def adjust_zmin(self, minimum): + min_z = self.m_stepZ * float(minimum) + self.m_rangeMinZ + + maximum = self.m_axisMaxSliderZ.value() + if minimum >= maximum: + maximum = minimum + 1 + self.m_axisMaxSliderZ.setValue(maximum) + max_z = self.m_stepZ * maximum + self.m_rangeMinZ + + self.set_axis_zrange(min_z, max_z) + + @Slot(int) + def adjust_zmax(self, maximum): + max_x = self.m_stepZ * float(maximum) + self.m_rangeMinZ + + minimum = self.m_axisMinSliderZ.value() + if maximum <= minimum: + minimum = maximum - 1 + self.m_axisMinSliderZ.setValue(minimum) + min_x = self.m_stepZ * minimum + self.m_rangeMinZ + + self.set_axis_zrange(min_x, max_x) + + def set_axis_xrange(self, minimum, maximum): + self.m_graph.axisX().setRange(minimum, maximum) + + def set_axis_zrange(self, minimum, maximum): + self.m_graph.axisZ().setRange(minimum, maximum) + + @Slot(int) + def change_theme(self, theme): + self.m_graph.activeTheme().setType(Q3DTheme.Theme(theme)) + + @Slot() + def set_black_to_yellow_gradient(self): + gr = QLinearGradient() + gr.setColorAt(0.0, Qt.black) + gr.setColorAt(0.33, Qt.blue) + gr.setColorAt(0.67, Qt.red) + gr.setColorAt(1.0, Qt.yellow) + + series = self.m_graph.seriesList()[0] + series.setBaseGradient(gr) + series.setColorStyle(Q3DTheme.ColorStyleRangeGradient) + + @Slot() + def set_green_to_red_gradient(self): + gr = QLinearGradient() + gr.setColorAt(0.0, Qt.darkGreen) + gr.setColorAt(0.5, Qt.yellow) + gr.setColorAt(0.8, Qt.red) + gr.setColorAt(1.0, Qt.darkRed) + + series = self.m_graph.seriesList()[0] + series.setBaseGradient(gr) + series.setColorStyle(Q3DTheme.ColorStyleRangeGradient) + + @Slot() + def toggle_mode_none(self): + self.m_graph.setSelectionMode(QAbstract3DGraph.SelectionNone) + + @Slot() + def toggle_mode_item(self): + self.m_graph.setSelectionMode(QAbstract3DGraph.SelectionItem) + + @Slot() + def toggle_mode_slice_row(self): + self.m_graph.setSelectionMode( + QAbstract3DGraph.SelectionItemAndRow | QAbstract3DGraph.SelectionSlice + ) + + @Slot() + def toggle_mode_slice_column(self): + self.m_graph.setSelectionMode( + QAbstract3DGraph.SelectionItemAndColumn | QAbstract3DGraph.SelectionSlice + ) + + def set_axis_min_slider_x(self, slider): + self.m_axisMinSliderX = slider + + def set_axis_max_slider_x(self, slider): + self.m_axisMaxSliderX = slider + + def set_axis_min_slider_z(self, slider): + self.m_axisMinSliderZ = slider + + def set_axis_max_slider_z(self, slider): + self.m_axisMaxSliderZ = slider diff --git a/examples/dbus/listnames/listnames.py b/examples/dbus/listnames/listnames.py new file mode 100644 index 0000000..2240a06 --- /dev/null +++ b/examples/dbus/listnames/listnames.py @@ -0,0 +1,53 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the QtDBus listnames example from Qt v6.x""" + +import sys +from PySide6.QtCore import QCoreApplication +from PySide6.QtDBus import QDBusConnection, QDBusInterface, QDBusReply + + +def method1(): + print("Method 1:") + + session_bus = QDBusConnection.sessionBus() + reply = session_bus.interface().registeredServiceNames() + if not reply.isValid(): + print("Error:", reply.error().message()) + sys.exit(1) + values = reply.value() + for name in values: + print(name) + + +def method2(): + print("Method 2:") + + session_bus = QDBusConnection.sessionBus() + dbus_iface = QDBusInterface("org.freedesktop.DBus", "/org/freedesktop/DBus", + "org.freedesktop.DBus", session_bus) + message = dbus_iface.call("ListNames") + reply = QDBusReply(message) + print(reply.value()) + + +def method3(): + print("Method 3:") + session_bus = QDBusConnection.sessionBus() + print(session_bus.interface().registeredServiceNames().value()) + + +if __name__ == "__main__": + app = QCoreApplication() + + if not QDBusConnection.sessionBus().isConnected(): + print("Cannot connect to the D-Bus session bus.\n" + "To start it, run:\n" + "\teval `dbus-launch --auto-syntax`\n", + file=sys.stderr) + sys.exit(1) + + method1() + method2() + method3() diff --git a/examples/dbus/listnames/listnames.pyproject b/examples/dbus/listnames/listnames.pyproject new file mode 100644 index 0000000..9015cef --- /dev/null +++ b/examples/dbus/listnames/listnames.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["listnames.py"] +} diff --git a/examples/dbus/pingpong/ping.py b/examples/dbus/pingpong/ping.py new file mode 100644 index 0000000..8dd741c --- /dev/null +++ b/examples/dbus/pingpong/ping.py @@ -0,0 +1,39 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the QtDBus pingpong example from Qt v6.x (ping client)""" + +import sys +from PySide6.QtCore import QCoreApplication +from PySide6.QtDBus import QDBusConnection, QDBusInterface, QDBusReply + + +SERVICE_NAME = 'org.example.QtDBus.PingExample' + + +if __name__ == "__main__": + app = QCoreApplication() + session_bus = QDBusConnection.sessionBus() + if not session_bus.isConnected(): + print("Cannot connect to the D-Bus session bus.\n" + "To start it, run:\n" + "\teval `dbus-launch --auto-syntax`\n") + sys.exit(-1) + + iface = QDBusInterface(SERVICE_NAME, '/', '', session_bus) + if not iface.isValid(): + print(session_bus.lastError().message()) + sys.exit(-1) + + argument = sys.argv[1] if len(sys.argv) > 1 else 'Hello' + message = iface.call('ping', argument) + reply = QDBusReply(message) + if not reply.isValid(): + error = reply.error().message() + print(f'ping: Call failed: {error}') + sys.exit(-1) + + value = reply.value() + print(f'ping: Reply was: {value}') + sys.exit(0) + diff --git a/examples/dbus/pingpong/pingpong.pyproject b/examples/dbus/pingpong/pingpong.pyproject new file mode 100644 index 0000000..cad30b3 --- /dev/null +++ b/examples/dbus/pingpong/pingpong.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["ping.py", "pong.py"] +} diff --git a/examples/dbus/pingpong/pong.py b/examples/dbus/pingpong/pong.py new file mode 100644 index 0000000..cdb610c --- /dev/null +++ b/examples/dbus/pingpong/pong.py @@ -0,0 +1,44 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the QtDBus pingpong example from Qt v6.x (pong server)""" + +import sys +from PySide6.QtCore import QCoreApplication, QObject, Slot +from PySide6.QtDBus import QDBusConnection + + +SERVICE_NAME = "org.example.QtDBus.PingExample" + + +class Pong(QObject): + def __init__(self, parent=None): + super().__init__(parent) + + @Slot(str, result=str) + def ping(self, arg): + print(f'pong: Received ping({arg})') + qApp.quit() + return f'ping("{arg}") got called' + + +if __name__ == "__main__": + app = QCoreApplication() + session_bus = QDBusConnection.sessionBus() + if not session_bus.isConnected(): + print("Cannot connect to the D-Bus session bus.\n" + "To start it, run:\n" + "\teval `dbus-launch --auto-syntax`\n") + sys.exit(-1) + + if not session_bus.registerService(SERVICE_NAME): + print(session_bus.lastError().message()) + sys.exit(-1) + + pong = Pong() + session_bus.registerObject('/', pong, QDBusConnection.ExportAllSlots) + + print(f'pong: {SERVICE_NAME} running. Now start ping.py') + exit_code = app.exec() + print('pong: terminating') + sys.exit(exit_code) diff --git a/examples/designer/taskmenuextension/doc/taskmenuextension.png b/examples/designer/taskmenuextension/doc/taskmenuextension.png new file mode 100644 index 0000000000000000000000000000000000000000..a1fe22e051560f7ee84433231dec453d0d2f4e21 GIT binary patch literal 142848 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

f|NKNhk~!CtA8vH% z=^h9Kq5lI_rST&7TK;`<*;2tq_AO&>2)DAx=s(uJ=JR!*AC+FppH0DEwwIJQ@}42j z!V1e8uOVD?F7PvwSa17fA2Tse{7M0pmAKgCq-%$4Mb@7DlPezP;DNpRpP4mP^}ug- zOf2tkrU`*m*g0ji?U308%+;O=O+O{E!*1XclLWFlv9dBfqO*6+e_F~@SOj&&Cg#*1 zN}9yDc7c0>AjG*j6OL(qNn7QNP_?M_>H&^XjKosCn`Bua+!C_|CL*}AB&3duhV>rQS z+M|InTFae2d~?hm6ttG@4-8$G9%-G0C5J+qh>g!hk*lE<0|5?0b;UJG4lCQafNzLw zXmjTLH%@2Airbt)DNhj*J(ni5MgeeOh4TWIEb5)pGvBC7W6_OlPX7$GK&I;jwCUyB z7kz}0H~N=UgmFisZ%LW3uvB_?Xing5k27vsh%$VUUU$T86E~*f+3>G3@&CiXkmRRm zVvavtIc?H^CQ-o{QXT%w(O$Q zQf;OcxzE@vKc1Ux9XP8eaLPmijV0aA+w3v*tLNh~N_(N9*hVXnx$j4J9QKT==7NjY z@iy|`6KcsUOS#%uOQs#U)4DZ2eb#R^|1PExh`!WJw0%>c?_Yc~l&C`#C!hLnI3a<- zLC?a}tIMDo=yF7k;GR`SL#jn7m%9GX*KOUvc{#vh*hll?GR|607pijruIl`fYG1hl zvZs(qFvW(<5qHQGO!y5i{i=`b44@aA0%|jGX_I&U-tUyRGyM)l-U#<}|3XVG=W8lR zWMLLq;sVAr+2O|C<%x&%Q}7QB${1{bxHiS+Oa~UYHZ9+4zQ6=YGv7JLdIH4R6wnhM zZ4QyJdN%;DjW~K9PnB7i!`TQ)&~w5r|1znbwmMMo_fCIcxYXWh57LI2a)JmgSbLOB zC*6y0m@*z(T~(&gJSwhofklg2FbBslqylY>o(rmpG7e8M&s6RF$!QX`)BPX8i9P`H zP;~qrIY+hs&YCq|`oiLmOH@Ou{loJS=(9|1xIlmzNaXHDt074?`cCtOX3A0^^lJhh zpq~xegR?otF6a8%u;iot#4oU&de^2gbGF;QesY~5Ib2LJlTR-&cvbT|e??{nX3h!H z@&DC7VS6t(n3|P_iuJtuEU{C5yS;2Ss~O|)i85wE)5sAZgh@6MR`enxUBZuy^wP_P zM83SEY8fp(qGhcGj1H^I98*~CB64G2c{={Qc5D*gteL2)3|3N$-IdBX0Ff~eGqect z_B@VZ4df+Rla5i;2i4xa=^cLZ>RYl;X!vM2=Ww8|^v+TQI24JOkVyldJeaM-UU?&< zU-8L)wF-r}VU|U8gCtO|L6BA>(zW_d1Upjbuli+ymVISDO`g6X?5*(-PaRi(w7&S> zpFScNw$1%Vc$|7xYFSFDn$I57$_jryv5}E zFwRC)YTvDI>iML_kS$J!#Ua2;;8S)y6CVC83k;PyhM;=;HHnuuFQ=&z+j*@r=LQk` zAF)I%t+ECVh2I>3#jAgFVIy83Ob5GHS-q)_kiU~ye+s=D*FXElx^sFI6L8@M^e04m zW~hP6Zqs3pA#?#wZrVLzTFx+Sw0(zj1(F4-GM`63U_mA)+y#YwGi!;IZ_UT9CKh3L z^^?!9l{-cwaQo}F|HB%sBBMOgZPbnmv(H90mhQuaaL@6N7lz)O->rg@hKYX>&=qqK z&=wyw%mLNG-Dq8*XT_0Ffok4L2ep#jp9vmAfx)najl@hpOP{nXB8x_@q_U^dv#$L# zL0*rHu9iE@jMj`;oW455xs31<2HonlIGldNQ|3#3+mI3Hd{^Ik7>xFo108SLtMm4L z{O>wXLE#1vhDF+hV^kdh0labLr}LRp3BM$e>(zheg0wIOeRDcr>K3^}F7GF^92N1Y zW73tW2Kal!Yn172rs#R_w$N)=?KOzRo z5oFZsOoKjQ(tL|2j`5Q9eGF!j##fTb;@`X5+9QiobC*wIyai;}X+k4MEfAlpTF2<~ zKCQZM-a`6^@FSuQx^k_k;1uyM0~1NkTxp8&t6xf}2Ch<77t7{yvOz-PUH9)&!US#H zpwW)H6~7*R`uodA0nt?vUB(G$<~rrh%MvcGCra0f(}A9+}6uk{$O zg9?}HO9;bpY=#{6p+EJWXK%MHNcZ~F{(fvo)2oz0o;}@sbXBtdq z$^~?mvZtdfN;w|yjsC{{AyPRW`RV)lGd``$VAjZFvbX2*S|K!0gBWDPMyhreXhVQIP>BWnVVHA zo@zb)?q^l+G``*2lhR@TduMg~Vu(6R=9iCFp#|(Vd5p#K3na&taL9;`9p;~VzUnUC zw@3YJ06T27W{?;JBx4If;lA=}R}1pJ)7ixu&4Ql3UA2&Jjgm*z{2RF=AG!V{_0Z2m z)X|cw4ttV69ATByhIjv$vC8K1R=biZlK;0mmAwo}E)YYouOO4ro`pQWf^z>Aqy>P8 z+@|Z@VAjo=?0E$+uG)lwB^>giv|{$DIIXzp6{;2I#&9OW4EqmAB&1l5kM!tZ0FfvaV93jQO>LTlLph1=jk!8s4o(dN)fq`NeVDNM5zpdDAb zbdPe45lQDTXjeCKLW>=IY2GFQvO^y%(s^;@J>?O&Y8v(%-B}4*O}Af~XTr5CBHhEO zHsriTF~pVOqX(pxz)LZN&gCl%P53ikp1$1)uW6Pvvz{_iTlsk6429Y+1C!#N^hO9y zn|+p7lUETmXzH)-yR2K@ADCne$}^jv>#|iCq{$FzSyFkBmyvj_1QtI1hlGI~Murg1Uvf5z3N7C5o(d56 zJG{B&Sy(L0$9vN!OfM-TtECpFNplqRf9?WYVUlDis9XfS%*cptmPSWw#WkmXVsX!X z6B?@BsKM=(N)=WFxk{;WabT$_wZHbgb`QE{s=FY{(|IbJVF770V#afz2Et~D4xJvl zD(!-SU`O{l)_!6wBsDyxLv+Et;lNZsIscZt!;_#q-_KjUcl3M7w2Q2U5_fji+VwE# z%Nl|@rFdk^r(_d_zrjjit+*YnxCt*2+>;=L!luqLMB-)OG&03&Eke+3UAu;*0%C39 z6H^B#c0P5#y7Dx?GBU)9xVN@b?W^X9?Fc*}k0UgtdJ4LDTagI0R@eKw;i`WXm3z=b zWVA0akp-)_Ri{a{#HsK}JFpELOv?)i1|gVMKFwWN!U4xxyQh!d?312N6hez8td8T4 z9rlglZ9wW-&)V6$ld8b2v8k_Nl@dg#DA4aVvWx4-UR0H zsl=A%1pw^XC)Rv$V(J0aJ&5(X8b|GlvNve=xL}*tbKN96-#SD8Zafh6!qD>F{TqKd zi2fiK{o#cAdF%gc?W>~V=z?ys1QOic5(sXA1cw9(4grD$7(5W%2Zum#cbDM7h5$ha z2|BpL;O>JDu77|3y>IvRzRX&^)~wUrb*fM8UFX!U^W4+bBeS6Uyp&saQhmVBbm14X z6jj4H8y>LngYbMk<9T}t9bx6}62~Oz?g#;>(6x#rfJR-NL!xXpq^CC>imj+V8pZ9z zigztPF15I>eUoT>XpNGKILqj z2f!K~HVIO!6g#dDq%MHjTm1HU$CoPP(B6ah4 zEKN(5d%V9UC)^o+H2NXkg-Nk{u(P*d)^gVGaC5NDY;Q;-_v|0>WxltY07$OsB}+OZ z@$fI00B}emYyN@+|45`aZw)=@o)O1)Vanbv}V+=k=O4l(K zm0}aXlube$&i34=^{;ov3fk#DU9&i?0jPDv)H+;M?GQdd(frZ!_s>gXYE1BfC3Ah} z^*sjM(*C4pla$O%sqihESaIlbJ>4g{P~pED46TPtt|84QX=KgZ2(j*M0CDASYaoFg zFj;WuC*jFE3c3Q%+RT|+YZyi3(z^VeiI~c4XJK3(wX3J-*Zzu{q*7b{F6T{lUzN$R z@fUZ}K@W@}&6u9&|6ad)5@VcsUHhjSRAYHL=xBc_&dqJK?Jd2MKMG$sFilSSvmuj> zQP5#Bq>V)|Y|P91Bk$X&DwYkG2)qYuM*}bIKj3843;6q?8)UHcHal(YV$Ovo>|pKj zQaX*Rg#%%0o%1)-Vr(UJ?q8yOa(>>pMez8$?CM#rl*w|LLsq49(v*ooS8vfdQkou{ zdW%TaFh#(sqDdMR^Xi7V;-QBkJ}xK1EnM?%&*sjSBh=6c>ZMfJej=IyM5PW;#_-w% z!*5~|z|t01zW{Z*y@!t5Js7$t;=-XiMM4+T!bO3*PH3h!9%yp+%=P5w+VNRsz>Z?hP}$1L;OlIB zd4#kr2N6SHQs%b1%kkTsv`uRC(Xoxg=2}cm4rrqfW&2tI96tH??e~lj2qNma`$^Y0 zxkuv$g~XEgmCKkA#WHO9lLZ0p%vbC8^@J*EMESk-avhxIWLKQnFh@u+a5O$`o>6RK{RZEShIx-ET~XPEUm`$i9D&$w zt4F`aIZnA=c&QGVc`9Yw@73a_=kn`>y3n7v9uptDIJO4I57eg_u4~%{e)RWO%BJP} z{#<_gz|!MNz>0C81VoKGkTC<|q1>#BNm7L9X z!>3~u4`m(`qqxU}WQ9ySry;bVa9nDA{oou=MxYYkgB3MXWfK8$}I8KEm8}Bbd?VI0V!4_Xg`H z>|=MWp}JiP5fR#)%i_4{Oe;k!LVmQmvek*p4i%T@eOSf049(&*yQTj|mR zo20|_LK+B5dA(_v>>YGsE}hycPWcD6NQVt>mebvOT&R{0En=P6uA zLL~BV_N|iAU(OeCRRqE755ck5u3IiS$CA?R?QUu$S^&|QRwmIGK7VKR%PMqol5=Kq_u0q6MM5xHNoq*jU zbn_Ck)7#?@k~PKNuIY$FPIysugn-uv=LVDN@upNc0|}Q{FXE^&jty++3N5yos$m)a zgM(IJlHzT8e=O+NIXk3c6&#krgnC9A51MCh|7Z|mVO?WFi2oy-XL0+f0-yK|7`-uqior>QptQ#X6q?R z=D1&&`kI6APv}yi@ma2j8sJUL`XXkuTIWiMT~;y$+e) zwwpzhTpFvM7hg0;H@2`UKFVd0VP^VJ&j)w&^xdXuSWomZTb(<&VXe0Zqwvz@cAI(Z zUb?*#z#=YX613>$eMJ_c`l~{P>Ge>AzJ$b5q}o+Y+}BrYZ#Z7!_u0Fx@8XS{SLDNAs5=lb zEC9G3TPgQ+{?Nt8d)E^jEZ5Le>@&FcA1*k*@vc7aeV;?h9b;zcK2v!zn&z4~^o`7l zzw6)}e`CBNLUKjc1Pbn{BF@hN>_%Bc61m6hC+?PFXe1bWB^IG`B>>gUEKV}zuKO?) zKDo8m$Uj`C?y3Sa^K`UJeMwEgv_zsq1aC^uU@#5htsCf4(-EO_K|F~@9R4?z3Q(&N z9z$aQULb8aMjE^Z(Q7v72h+8Dno~deOU}cTltH^z#n7*y6>%6gq*?RObnUudS-x zFDKWm?&pYo>F7n9!6(qtDKs$Oi#w3t@^@*M>?jCl&@CaV*dFSl)t zcx2dsp+4BJ-X9zaT3!7;)xGMv#&M{P)FLe+VPomh@Jdgkg*j!5qVEEe=GD4{n;YypN)ftmF&WYX^wyjwXBj zkFMvj6u5W}b5_uL=f*$RlIV?gLzU|FCsZWV6t4 zX%W7{lMX1L2fMF;HN1KZ%nra4WYaY18}GCjg17Ttvk;D2cCoI z>j1{vhgL0>=*r&)HvXe`a>pBanXv2O>&!G%Y>v-288J1ivTrhaMQu*Ht2NK-uk15l z5Sre_q0FtXt7bLq_>Ee>84$$GDH*;by8&gmJAD+TRjFgseJ7CJq(cjI8~!7w;`qN13mgCU)qu5ZA)M0h{pqW_E^px_7b2wKl>8QjE0Gu3&^m*ZQ{)3std;Q_6so z=HjVg*6#6){ya5?ssEP-0DKo``1}6Vj6k$JLuda_mfZ-~)5|S)Vedm+GJEd4t27T$ zAKj1GOK-=b4rthmYP|J@tumFxqg;l<*x1lDJ06Hf4muYOF^um7=2_L zjd+4)8~5OCcYvRCJ{*SD_e3B?H&6z8w73;NRsp5*eT;^gzSu=i_1TK-uF2)F6b$@eCPTO8Or9;(+l8&M^6Kk&r85Q;s+k zEA_-vwntdq(_qdCx9U}vu@G-i-kwj5Pq_Q`$__wf4zLgH!F=V#Nw4Bnolm!!xubkL zVZ^y_iF03DbXVhI%DH?*Ul<{fzi~|EZ{dI9o=;lu>obXoqI+|I-!R4C0--UCP3?f7 z0+lX80zQtFvdK%=GU%=#*jN;FV3~d8Pq%H{k>OStzMSFe=LJ6? zt4JJsv}O+P(!Ug_gCO3%cS+Qd^oma9X&Wd5q*`o@@jQ9aC6qOvoSkyY!)CcvCrl)o z2S!;8*OPfh&Q4aH+AhZ6P5$usZNGH1n~%odpNA|{f$XHFeqzW+YOs4#O#)_6>w{}B zJ_GqJ(sHXVZa3(Rp7u)SZdB3Tx#S4>WE|B)?D(U@9t2^^3G&x>(ZA_lIqsl7KAlgRsxVgD^;GDp^)cu(zv z+Qimg_gg(=?pyd-+SiP&9%TFWj-X-Z;s*1?N{q#q71J@CY-4|{r3ufCdC}i+5=o&O zG;hqBNPIx8^LP79g&W3P?GJLJAToEN7V#&ERP8DN?QW=jYKMLP^=?!UM9!efwcZg?`Ab~HsjO!n)`qMzG=+uzd! zUBxIPLGkK%__T$-zkf#A{X|m|6sDMiX|~29F8~6GyjYzU=klG`Dr7jKhJZxk-^5AD*q)PiPXm_Aq!xq)n97CwG~SCE#`QSSQ)S>G20 zE0LB{kvt?L5O-Z_j1kp_ft;s#1z{iX-Ai(af5>IH>5M_4e_?1fatSb!)#t)sR+X zTQ9{(?QLHzIex$f5=&CiR6$TtKJ+)XpThwL1u$rSTjI}_mXBMc65^G6rgwruruuSu6kgr zv>d|=eNJnebYg65+{uyMI~!sm%URr8{8bn9tD&`IeUwZp$-wX-kE~P;@hsi>O7k|GjEt>C`Za@_*dix!>M^%YW0*H;vd=^hs_?7H*+! zi$GVCD_NNw^n0@R$!N%jTQ`TSHRz61)KGxRcI%|V1^_^ppb-(3y|y%XjKn{F4B85y z=vXpQZg1N2dor+L5~8sv<>`I8J11{>xbbG1=ug3q_h9dEHhspSJ4Z!|8%05 zs&e2Hd+x-dDnMDje<2li_TRXO=0(GdH68k=4E-6BfIQw1cjQ{Ui)F;Vah$G0f|1Y3 zt5lY%<+)caTEY;O-u_>i$-{vY<9nyBgkujuQ4F-&-aVP0ti3KPqU$qDcisNa(`pD% zZbU~qoPJ$*@hR}biB(5}oZkt!#(s1Z>L%S0sq)DJ*)0tKyk^YR0A9K4Mn(1fd2PDq z_5?D@Bb4_yXHXIvEiS0|J9c&iudw4+__t+G2QEcrkP zcZf9+O~&OFOn{xQBCnk^lat4LO!^Jq*kVwgToSshv$A6|euH}8;2V~^HFyx3iULp- z1Lh`lb+ceF8nt$epO<+dN-qmh8d^BC9B=Q`&uv!`sGhG`(p~$Img7iXS~SpWV?aV& zYQ@b0;ZLF3iR{+OdWi-g#_T@;v2zU)DPwCU$X6y}(9%$hS1$25?)Cf<8najVl=3R0 zIL{k5iaS!Rgom$IOdmeF5LN#nh!!Nxw7t&SP!m^MoepS2ihCyhEwiPOZh9%2k~g>@ ztMj`yAO4b&{WYovbFitOXATFp&glh)^@^QVp#84Lg0C`jF=b}!TpE65ApGoXY#CEw zgy|1)H1!a85^uyb1Hs>;%B1A;xTJ~igU5ydfQ9m6;Jq^*!~5h+@+h9|a(jTZ-hLGaW66;zAM zQLT||3H>RGXI#Jgl`43a`@g4R@44Sc3xR*&XTM9%RHuBCps8G3yjS1M?p0ZA^}RWy z##p$`;H)BeI7JlJpBSn-S>>fLq%A?F@uG+%eOlmAmZ#)0r||U@cO^dKzA{>&b;Or9 z(e_{3jK?}mMhqFgV>D$new-?G?D?D03ZzcHRoMihOW$2@=k5G)U{c_kF?rUim+475 zNC0i_-0L9DT6_xoD-rY^&R{fGG$uEb&onsL3|OF~ zN_AXBMPDu#IZkoLZ3c08uFeG29!R0LU{i{apilx_2Eau?aLPT(-k5KWZ+h4=%fVVfSGp%Sst&_MFpw8Nr7Cao|h3b@AsD9+Olk|DttXS zTKYPT$m|fnxx_nK0~B50VhcA+`=%MYb);{rabgaC8PwTFGF_!18fRZ*&H_O^HpO#R zXu#j^(m}{`m9Rzon|?bskWV^=k@5AkL!6w1yLj)-`SP4W6C4V+VxWUv zy0RzCnXqCjij0m&+PhsG_X+R3P(jFj3^kHix0TLk2^FV3Jv+am6skwqwCV`#xX)qi z%`t((!Kyg9>zFJ?zuIfno(~6qN4u$lC}tEBo;(+7y<>WE-bfWH0AIS6xgAKTE3Pro z9;6G%VaD*z3hOqEmXS*f?jm-#FiQ+q!@Ej^?oJUtVvlTsC2ztq`LJwOr^km5UTh@e z7Lu}WuPdZS={?ZUiS?y-#q!UKDvptVztkaG=TJg3C&mHobS&YY%*;YLN2-V@u<|I~ z7Nrc>CI;C8oh0$a&rukS90xD1b_Nj0Yl=O}ZJ-jCaI`|AXDgf|YBZL=o)=IreS7Lk z^X!_7p3pz7qXRWW8+DR6Hn*|p60Tom(9Hcr25LX;W6 zj#z^s)PQ2?${8SB(F{>?#2SB955}EB>wF|A!OPh^q&{}CF{R=-_&8ZN9}~(7cz(BQ z)}yPSC7#4bAn8Gt{QXEY4LG1iaV^&NCRH9wojX0aP9enPPq}*%y~Mp7PK7Hmv@T=m zs=v}NT3Q0`=42b%ZBAl?8A8r zf^b+>WvN?ASU1x*$w^_P_f(m}$L?xU%xjg<#|AoNA4(QRV2ViKuAmwdi2frvq$!un zkP>rxwpF{RI=XRqWhN`;o}-ykSE-&lazKElm5Qx6~Ol^52I_!8w;9%qxx?Z$3NFwnzPYza_&xXG#8+z{S}*0FABghdl@mXvp)`w_&;eM z4rph)V1klso#&QAs>8&{ieF-Y+D8&zBUJ{vmtvPPHIDb~+)`6wBEEQMTb?gaQe*zl z0Bbyf>BGJZ+_f`+mjxf_Ljbu;2iU>o84f@g-_nDOnX9FG`;F7d0*rsO$@4rMwnkk> zjgcO`+QeV}iev~PsFVkAs#Rg>sG#%NC*Vb>Ps;J zBt)CFb9=(1u+)`^7~E3mF+xlTc<+C-AHcB~Wy%v!tO#B_W9$aME~o`sMw9^uyMhSv z*@+nbe_jmZ5lnB60u2BvD@xtIzeblKZTb-uMj-X2;1Aw#l@4{jA*#kTGZPbVXD2F+ zotfHa8nY9u7c_uaSe;GW7+C$Hc!?S z4Cr;Co}-ahtsXX2(N?L2T{v;V+QR+c+k9gmM`P0(CDTk4X&^(@Q1O^*bx;MIqRG_l zJ2St5An5A7HQ9_;tO9uo@JPkF4O(5WT!c7w`3ZP(n*$rLP4#5~RM%Ip!oE@;q(98y z1>w~Tzr#M}m=<*3;j;<=?09pAR`?}#+6(=lXn#Lq+J?%Zl!Wu$2~g|@(4?1;0sQclIt|=s#}L6BGl8PE2jM=}X4$ znSw8S&AxVvjVCqZY4W8XFUq6~=TZ8DWvlNZX}W`m|!>CY6w?^K~-B+ok!xUv&j)=YLd?; z*xfapoP%YWg#X=h{@1gF#1$$wGKx$({L(FkTQ6US;5`o(@pmdNuAtP9u8cvfi6#_4 zqV9$(Ztnah6QxvW(b?W(mpf7&hfKPoQvXTp zmw816%62`7DoC0@Nz%|eN`PkjKV{<&Lk$nW%vV6?igytYDBL@3_Y0mJL;aFu%enGz z99W3LF>Eeaw$yei&BY2i5nB1du~yIEE)5rTh^B&gcY(f;FOTB`q8UHn0xIQDsOa~M zVz?WqN@IZ2xf(^9?b{~p#iA^mmM)$z7n5@(XJvQwVtXio)Q20;?a7u%15`V#YFKR8 z2zw_kJ3d3yLO`V!o2MC4V!NO^JUrZEyD);nR>PRUxIolTdl*!js=wclT|wU1dR=Kcd4C-Tz@2#b+j z{q2WFcU*(&qc@_*Y4jMBZMIhCXZDs6i}g*SLT4*H{=2`Xn&TtT3&|!uTpTL4mbf{8 zX*;?$Hf(9=R`0ZjHh~5D^d&n}8MP=VZaRSDnnAxCF3_0VTS}Namo_MF$e~e6Yc?;T z)e&x%q$%#2GuUzW_^c&0T#J)!2L1Cceub!Cay!;(6F+|^ z*2VTOkG6?0cDvjhs^(zwZg5`06D*KNpP?y2%-!Gb*JiuUqYd&W6C90=jHU_Ebj3l& z6r2mxO9lO&@v4lyN8CupVEZ$WQ)BnnaXJU63o#f9)vH(Bm3=`Jyjjxuys+eftlFvP zVN+gOM4rW}b|4~(Tp`f1sad(|4i}&%P-;r22{i#~SP{eVo=n5mpzx3EI+>?R={ts- z+DgS_sOiNlHU~N9%?90PF`+YuonDF6WyueZ|2+NDNT`KIa}Be+pDxg((PXgHD@~WA zZs1C8CZu%Obcn zwRA4@JfBc%g`A|V1Z&wYniYK2DQd3N-H~7n`Ylr$aK7kNpj0{|{fJY3fmXP9!b94!SS$SVa-vm>7CJ)(CpGE6$H=JGXqZcr8I1zi&^#I({I&aED{z%tW zIe%(CI$G*mtJ2yX35UK)bFFn<9IvF%>hhfK&8SP0&Kmi^vriEHa$aS{N&%y)Ek-kX zsW30LY0|%jN*G6#Cy{P;r1sN>wusBcqLbQ}gW8i$abC(B!=RE?F9>Cd&9_aX^FTzC zG3z^!;FE^!%(RyoJrT|S4iTN}Fa89s<}QiWBPr@E_|sFZ4xcXWmHY)p)tH^{!%w&` zoMwA~4dTalk||dMop^f1Se-LpH4OSHV=?}!ss3r2eD!IAaf>c87+>~?N4u>UY(h$n z$>u|Il%1T6@EdSo+|;8A?ueJfZFD3wEroEf(!F9>V+i`5rLiQ3sQVP*_N~&Lo;gQz zzjct!L6*Jpi{S0M_GPp-)6@$+;^0_Pyp&YY@BhWj?|)6r7=mG)+R|&)x`XDe+DfHL z)uUY6Ga3y_WyKm?mLj%~htbcQ;Mnnt8#k7!ob@06WPL+?F+vX081GD8Hb`srvhcT|s?{fB?H{%R;{o%KlNWqoG5%uwt! zD{x*ZNI}&YdDy~nOckwHXBS{UtS16y>$mw(UKUxmmr3<@1#vV^btThHYl4~v5^ryzk# zwu0(SAdLxH=AhYq_PxupLhOo((fRYKWj*c2%xqMxJ>8HXARa=03$PB9-Xo~!KIbYn zl4)8|SEGDJ18_daw07TxZh`vMY9F8VjfJQ6*Et8Uk8~iQy~>$cdCpOJf~Z+dv1~ Zu>+ QRectF: + """Override from QGraphicsItem + + Returns: + QRect: Return node bounding rect + """ + return self._rect + + def paint(self, painter: QPainter, option: QStyleOptionGraphicsItem, widget: QWidget = None): + """Override from QGraphicsItem + + Draw node + + Args: + painter (QPainter) + option (QStyleOptionGraphicsItem) + """ + painter.setRenderHints(QPainter.Antialiasing) + painter.setPen( + QPen( + QColor(self._color).darker(), + 2, + Qt.SolidLine, + Qt.RoundCap, + Qt.RoundJoin, + ) + ) + painter.setBrush(QBrush(QColor(self._color))) + painter.drawEllipse(self.boundingRect()) + painter.setPen(QPen(QColor("white"))) + painter.drawText(self.boundingRect(), Qt.AlignCenter, self._name) + + def add_edge(self, edge): + """Add an edge to this node + + Args: + edge (Edge) + """ + self._edges.append(edge) + + def itemChange(self, change: QGraphicsItem.GraphicsItemChange, value): + """Override from QGraphicsItem + + Args: + change (QGraphicsItem.GraphicsItemChange) + value (Any) + + Returns: + Any + """ + if change == QGraphicsItem.ItemPositionHasChanged: + for edge in self._edges: + edge.adjust() + + return super().itemChange(change, value) + + +class Edge(QGraphicsItem): + def __init__(self, source: Node, dest: Node, parent: QGraphicsItem = None): + """Edge constructor + + Args: + source (Node): source node + dest (Node): destination node + """ + super().__init__(parent) + self._source = source + self._dest = dest + + self._tickness = 2 + self._color = "#2BB53C" + self._arrow_size = 20 + + self._source.add_edge(self) + self._dest.add_edge(self) + + self._line = QLineF() + self.setZValue(-1) + self.adjust() + + def boundingRect(self) -> QRectF: + """Override from QGraphicsItem + + Returns: + QRect: Return node bounding rect + """ + return ( + QRectF(self._line.p1(), self._line.p2()) + .normalized() + .adjusted( + -self._tickness - self._arrow_size, + -self._tickness - self._arrow_size, + self._tickness + self._arrow_size, + self._tickness + self._arrow_size, + ) + ) + + def adjust(self): + """ + Update edge position from source and destination node. + This method is called from Node::itemChange + """ + self.prepareGeometryChange() + self._line = QLineF( + self._source.pos() + self._source.boundingRect().center(), + self._dest.pos() + self._dest.boundingRect().center(), + ) + + def _draw_arrow(self, painter: QPainter, start: QPointF, end: QPointF): + """Draw arrow from start point to end point. + + Args: + painter (QPainter) + start (QPointF): start position + end (QPointF): end position + """ + painter.setBrush(QBrush(self._color)) + + line = QLineF(end, start) + + angle = math.atan2(-line.dy(), line.dx()) + arrow_p1 = line.p1() + QPointF( + math.sin(angle + math.pi / 3) * self._arrow_size, + math.cos(angle + math.pi / 3) * self._arrow_size, + ) + arrow_p2 = line.p1() + QPointF( + math.sin(angle + math.pi - math.pi / 3) * self._arrow_size, + math.cos(angle + math.pi - math.pi / 3) * self._arrow_size, + ) + + arrow_head = QPolygonF() + arrow_head.clear() + arrow_head.append(line.p1()) + arrow_head.append(arrow_p1) + arrow_head.append(arrow_p2) + painter.drawLine(line) + painter.drawPolygon(arrow_head) + + def _arrow_target(self) -> QPointF: + """Calculate the position of the arrow taking into account the size of the destination node + + Returns: + QPointF + """ + target = self._line.p1() + center = self._line.p2() + radius = self._dest._radius + vector = target - center + length = math.sqrt(vector.x() ** 2 + vector.y() ** 2) + if length == 0: + return target + normal = vector / length + target = QPointF(center.x() + (normal.x() * radius), center.y() + (normal.y() * radius)) + + return target + + def paint(self, painter: QPainter, option: QStyleOptionGraphicsItem, widget=None): + """Override from QGraphicsItem + + Draw Edge. This method is called from Edge.adjust() + + Args: + painter (QPainter) + option (QStyleOptionGraphicsItem) + """ + + if self._source and self._dest: + painter.setRenderHints(QPainter.Antialiasing) + + painter.setPen( + QPen( + QColor(self._color), + self._tickness, + Qt.SolidLine, + Qt.RoundCap, + Qt.RoundJoin, + ) + ) + painter.drawLine(self._line) + self._draw_arrow(painter, self._line.p1(), self._arrow_target()) + self._arrow_target() + + +class GraphView(QGraphicsView): + def __init__(self, graph: nx.DiGraph, parent=None): + """GraphView constructor + + This widget can display a directed graph + + Args: + graph (nx.DiGraph): a networkx directed graph + """ + super().__init__() + self._graph = graph + self._scene = QGraphicsScene() + self.setScene(self._scene) + + # Used to add space between nodes + self._graph_scale = 200 + + # Map node name to Node object {str=>Node} + self._nodes_map = {} + + # List of networkx layout function + self._nx_layout = { + "circular": nx.circular_layout, + "planar": nx.planar_layout, + "random": nx.random_layout, + "shell_layout": nx.shell_layout, + "kamada_kawai_layout": nx.kamada_kawai_layout, + "spring_layout": nx.spring_layout, + "spiral_layout": nx.spiral_layout, + } + + self._load_graph() + self.set_nx_layout("circular") + + def get_nx_layouts(self) -> list: + """Return all layout names + + Returns: + list: layout name (str) + """ + return self._nx_layout.keys() + + def set_nx_layout(self, name: str): + """Set networkx layout and start animation + + Args: + name (str): Layout name + """ + if name in self._nx_layout: + self._nx_layout_function = self._nx_layout[name] + + # Compute node position from layout function + positions = self._nx_layout_function(self._graph) + + # Change position of all nodes using an animation + self.animations = QParallelAnimationGroup() + for node, pos in positions.items(): + x, y = pos + x *= self._graph_scale + y *= self._graph_scale + item = self._nodes_map[node] + + animation = QPropertyAnimation(item, b"pos") + animation.setDuration(1000) + animation.setEndValue(QPointF(x, y)) + animation.setEasingCurve(QEasingCurve.OutExpo) + self.animations.addAnimation(animation) + + self.animations.start() + + def _load_graph(self): + """Load graph into QGraphicsScene using Node class and Edge class""" + + self.scene().clear() + self._nodes_map.clear() + + # Add nodes + for node in self._graph: + item = Node(node) + self.scene().addItem(item) + self._nodes_map[node] = item + + # Add edges + for a, b in self._graph.edges: + source = self._nodes_map[a] + dest = self._nodes_map[b] + self.scene().addItem(Edge(source, dest)) + + +class MainWindow(QWidget): + def __init__(self, parent=None): + super().__init__() + + self.graph = nx.DiGraph() + self.graph.add_edges_from( + [ + ("1", "2"), + ("2", "3"), + ("3", "4"), + ("1", "5"), + ("1", "6"), + ("1", "7"), + ] + ) + + self.view = GraphView(self.graph) + self.choice_combo = QComboBox() + self.choice_combo.addItems(self.view.get_nx_layouts()) + v_layout = QVBoxLayout(self) + v_layout.addWidget(self.choice_combo) + v_layout.addWidget(self.view) + self.choice_combo.currentTextChanged.connect(self.view.set_nx_layout) + + +if __name__ == "__main__": + + app = QApplication(sys.argv) + + # Create a networkx graph + + widget = MainWindow() + widget.show() + widget.resize(800, 600) + sys.exit(app.exec()) diff --git a/examples/external/networkx/networkx.pyproject b/examples/external/networkx/networkx.pyproject new file mode 100644 index 0000000..cc7a74a --- /dev/null +++ b/examples/external/networkx/networkx.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py"] +} diff --git a/examples/external/networkx/requirements.txt b/examples/external/networkx/requirements.txt new file mode 100644 index 0000000..370ba57 --- /dev/null +++ b/examples/external/networkx/requirements.txt @@ -0,0 +1,3 @@ +networkx +numpy +scipy diff --git a/examples/external/opencv/doc/opencv.png b/examples/external/opencv/doc/opencv.png new file mode 100644 index 0000000000000000000000000000000000000000..e3edcab47b44516d195c1cfc7f2ccf432f866b96 GIT binary patch literal 132069 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⪼?U0t?Wmf9c;enE}+@pFG*RiIU3K?uUigC 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

quN3r zXw6L2_Y^Gj%KY*68HP-$4H}>X@LG8ilu5>`7 z)i+s#x}PCJpOL81D%?D|{J9W451UGz?kk5>pY_iXF3 z643llv?E5Jy;a#Kg=RJS)1*RUddlcXv^J?H0X```J~K=$)2N-R?|zP0t!*i=8(Y*8 z`-$icdXNpWPN)XG={CFtBcEaPhUxno~vQgvftNybe2G5v2P^++&Nc zR#;5+{#`emK2&I2H!oa<;FPdmA95}N7+7=2RiX1oR8=}_Y&43>^$aSt02QtFCt4oL zDq0>tGeW2oNmNuoy#0(6_o_Q+J0izYQeN+!A5M<#?iZu~4lHe7_?;%iY*$y@9YG~m z;x;zs>aqU<(C4=b94)1tas2#C=V+zSJ^WIg8*Y=>BI4%UZ2eIhWj!~vze1qb*Prn0 zlrb;V9wRPz7>tlv3upMjzwz;%fUCdHZMsf-VKa#yVyVlTZ<~hCPELsQl8|HL!{4=u zgBg7PI_kCN60wJ;ritaBPd!jOVkyEug-!Laf{qf|brzNPrfxdkn|ON9M5C%Y2RsCL zP>C#o*NchAHl5m2XCg)+a=2#G1R~Wg-aDUOTH~&=t+}U4vPF>@Ti2vx=KWX*YDfH| z-lQhus^;mN$a6gj5n!59F%r118EIwKy43-UR}qAbI;E{wy@fLVE+HKr1F3IV&A_bZ z$^gn*nUfZoXb@-73uSGFXaJ~OATHNeOru+fL@_-8uSw#*DNf9rm-r>$!16MyQy=Ia zr6&>ek2FGmYJ!u*Zu!ICA8gPp5cz96aov?j*P@=W{hp{h#oyo1TFHG{%qzbPU&&^& zvdkjgSlc@=2mO;*`>XZ)Gp=Fm(ruTJRuP3`m@E0B7^wLsy~q-wpVMcxb|IPQzgS*G zCA^t2=lgRbQ6H{0ruAxnuh@PRggLW4*?FbrKn0+u86C>}#ivBMu zdPKU&zUyPCe{XHsrEYL>p#Sl&+gsM8`+LooBgK~^|BW%k(4@=p%YnI%&n?}F4vwSI zWEN4I?l9{xDFyn`t@Q!T8Uk_RAuOF2E(JcrZXlbe-|CR&8I?l+#7|aoFsM=^=VfYI zX0=`Io2Rrh#arE&KS*Y{lmgVB=_K*4RmZ||EoK7n)zu5-vJmq~@y!#ote%#hCo_8I6od5-@C&V~TR;{`Cac^1RejL|2>iJO zaZjzY@{E{|=h7z6qHI&FV&mE(EE9IHCnp;f=C!67Y89?*ul-xLE#1;+?*^<@-v zXoDL1E2?Ux`eZ)w;&f3Tin?V`ukrqKw?H6w3(T`}q94s@Sr-y{%E%hZ_LLRcp9e*Q z9C^!Io%5NLLSe(Ck5IPZ0XH4c&x?qkhzgpyV}1s?5}ng}`IM|jBY!0T zU17mFC7fQS#6nU*98yAS%B5P0ro^RfDWJMluO$xI?6%wS-T7kFEZnW#Jf2CFI#f4J zGLzJ#zAA5i$U``mD+9jT-1vswwMH3a7)MtEHC_EPg!Qt7!8U3m2*8v_e36^@&ME3) zPt1|^p1ljpH^hM#hDH_Li17+uAO3w)tbxU2F+tF!+m_5ssqb8=J z2I?dspeg?xzHSTWg@vdI<{q#5FxI`f+Px%X@2sZyrAl1N`d#qD|7rFYJsr?W7Y?A6 z&71t1{A4sVIE;sviDz7Oy+=($>2>+U&Wy86SI-~SI;g44e3S02zlm!KLNVF~OdA}e;OziV*-citAA`Y68K z+f$63V;zfazy3SPN0r_%bmMBmL|9MAr25(DvJp~j+?He7X(OZv>64$Nd-SRIe*ScP zg~}_DABtX&#>hj{4{sn9U8V|IAZNd5s#6}QESHQI#?irlSa#WizY1R>=R=e^QYkB@ zT;k67jo$@R?l9ezmcpi2G@qh%3~J^l(pFy!8|9+#6LVnJoZcsgT*mEkqi1H?U{Xy91134CLz)ssU{ZpfDJ|Nt!I<}l5aza6TOhuE>jY&RAbnd- zTT1&OLmg}>0F(@UhDs8)pe$>d)o}g%B?Qxav*yzhma$|;E4LL>kWu1SVJ>XCW$akZ zU6u=q+*D0cB$`*aH^!aplP;hI;4|B0_6M#_E`qUEmcAN~Z=S}U7RP3w>b>16#Vlj> ztX+xz5Yok3eZ7{B_P_R{t-eB*+)Wa)luBv#D>0+93y)!U?5FaXret1GZ{yRR#P*CI z^aFF?WM#|IQVY4-F+bC-rLDR;Prx5%EzX&sx~!^Y=b zr^QgR#?&&~yB5my1Zn}QOYlw0T0Nh?`1btDz+2QC(9c%-G%oCUyGDVa20GK|LnDkc zM62{M8~3_=922yWRyQS*qSj9V`N?W&?+IV<2P ztBD?Ej!#y>jBkT^YuNU#m$y>am#D28b(D;PoE$92Kf~CL8Oj?$Vkcx~HVe5k_|Lx$ zvxvq1vI;#b7Y*BA4BokDcKwL@I=8ceU>_11@%0O~e6(z&~ExHyPtb|B8xV%HO${ABNC>{1m9`TTQCWx4sNQr8J0nv+*61O{gwtX zDrX^dX-h?HMHMFOr|JeGduGd%4xL-!it40S#8h*a5W)(wpSQNOurU-isd3REfq;zM zjEM4A+|IX5h#BxF-Lq^)fR{i`Cn^Ne9&|HhQe&%DlF1ZI#wad9R$7u92rP+6qiHb` z9_D6|S+nQRoFJindRLCg*1j1k7<+X4bNKG=N%6uaUfAQG3zrxUGuF=Y(mPw!;2)oS z3UzL5)`~-r1b1#??(HUd(cGtzmBZCldvZoI{B!w?Eka}#oLX{sa>;Xl#lIA13z~8n zN^}8Fc;^E(H4Wrt>TluR>>m=$Q-adO8f327W&SmF3f?IXHnkYeR8}!?o!6w+hm{+z zFrG<~`_rGP7>ubp@^p+neNLIh5t>~z)%QaCNzpq`upub!{WQ3+shh*|S1MGB5zU}vG)0yNU1oOa!c^VQ;5V( zZdxuJyD^dUMBj6-sW5*u=VyI~fy~vDdVqda=5`o6{D^Sn6&~Q|2!lKVlbKq$nygh@ zfMD|%7YBM{jUH}wuBe^*cp>9?K(vwI1`*|rrZ1xB#`+O1*5s4hw^o+PsZWX|@)YT? zM0Vl( zGZt;wxAm3Hi?q@V-?4c-;?B*C2s*{jxwS3Q(%!~B8}ow}P8*W`iF}R)kOr}6fO9zl ztgq}x_(^|t;*Z*+;*5Mn>#7BDSIE!?Z?NDh(SJujOo4prSwpq+tYPJ2Dz&!;kQCg5 zGIT{+AV;S5u2bqlDZ%o~b(YoTodv%+wZWyO+ ze->|%MJp>R`tRzNa!Oj$MGr^D&2uQdWV>IoiKCoGR4@eePQYMGJr>#ZF06Y;bICKn z8)oyUyTnh=BHM>9KQcj*VI5(7Fd${iuBkRPINQ>XsBKw{udXJEgfpXi?NUZSv~b$e zCT2<$;hjm&18P$4%*k263ue%WNPiwpdSKB|<#9+z0sJA+DGY-R=63D*>hpYhCaku0 za3DVT?2HgP$0Eip91vhxC)M;?sYoH5JL<#Ev1fc)trXb)sMOS<&QU9oo5G82sF!EN zBAQx*C_b?t9nV2e}cdz1>%!>W@e7iN!Mp%-72v=8z zDs83uRv>hbd~(0kNIB6*A4f)rv_E9ZG&CI$ljIP zW=iNry--tI%Nv+}BAUr)z&G?mv)CIauNowHyE40sNeS$$JwP}#q*@c^^Y&sJV4vpa z;8jpkpU8H>122Lna>5;wjs=|TOWe^raY?s+&E`LoBe*L$57${v4`Je*>!Vd$&hWFJ5(H!BDa-Q6M zmh2s}dXMD);L8$z@wDse_#=4_5tupt51mDQ{`~st5<(J!$1K^@nLfua%w5e)^!DY1 zJfq+p;LRv-%4|sm3wknvoJK&Z?PL--WQaDznU@C&c07s%h$l~JyjSBIAtB>_ZGSZ4 z)ag=+x?{mRfW>>MViK;M1c)5`de5EN&v>pLgM~O(w^HVaTbMlx zVRZDs&Vu-6@Y%*~HnmG%N|M_?ii&<*Xm#_h7ZnlN?C?i3I@iEpu%LNbW$h{Y)%5~{ zH#Ip~FN0g$G38urfN@A_v>{uEV!s^k+>f+KD3hqJ_RanbUyO*|3eX;H#7n>Wr?cu& zDj4Y4m>{L?ItoRas%4Ua&V`4g`T!cmK+oY{={~@Vj{1~!+Z3>)*dg-cZ=53LpJqr0|+o_?%yY zc{Yifvydkf2_tKH^UF10)TuzD`J?G%Tn<%@6l`2^|8KIWfTNd)cMQbmKrterbyk4P zmg)%P3f>vn7&3U=MIQ!)z|pLvh)Kl@WK;r4me@NIo^k|bVzUB7?mDsfY!kbK9T;%0 zdj!It?7)DlZtdG~opn1KuT*EPtZc%LCIcSxV_<2j)D}*2Oi)LH|7d+G(KMSU%QYSZca9m_Mq;o=Tt82VOP8W?@y_y)`=U0PK@Z zgU2;Zr<)m!%3PkApXj>($4*$GPR(~u zEOt3iwm2gY>bt)C%?NH@PR0lolRlsd;;S>yCuRzn3M7=Q48$VV#6=2j(j|@8M3D~%pWU}@d<)vkV;X^XZa=`ifeL?p;vwcN`?WS(c3_&L zgoakTDF3U)k~e%lV&(9e1_k`%h<$PpnQgqR!$q2b>x%K8yCg9gIIGOcLab|%p>|rJ zb$}Z3v^QN-?DWIu^7j2x(7Xql*yYTfoo8Ug&r++TXXNzMGwSsVWxdt6t6w`&oX!q&~Y&d0rrii+w@YyM9G{Ri6;iJm5s{r^)x#4{o6A4~W@`m1GnBI@xU z^@I7pZsr5wuqqjvuf-h&Wg`Koxj#_Lk+O4F78_(nJS`iA7<**er+^29xe{X3l4SU~ zC?m$e63z_Ji=)dx3zN3D-mNI?&z=0%#=%9u`&re3r8Im)Gjd$3y36w1pg( zZ9ji;Gr)AI)m0l)rES?o*S$M1v`qO?cRVgOk!*n@2~&gJNm+)W3grCd4ZA z5>q#Mo`P19woVL_Y&i`JZiWEJI}s#OD@MCYT1%DPkQxw$$2ci!Og%uMm(N^|LY_q4^d-k&q{fbfl&Kz7+pa5j@NI{5o{KA;;v zi81?lba;w@vy%^f_F(?jIu1%*O+dD&lry#FNSUH2^ZliLvGCvnM!!-D$tSaedlr46 z>k(QfcpdRyB39ViRJ+D6<|5FxB>PkB-j@=$!>fx>vpL~>36hs7y1A(;rBb-)Oqm2G zjjmbZiO{a0Q?#ss zHIotJ;eW`a4d#x*w70_Ml7YC|hQVO(=DQ4NGG*{!uCYF{#HAFv25975#bRyT?L9r4 z`JhO9*0(ItfoftJ*|4#w*ILsdZ6U;!1^)c{JlyHkP2^8Uc!Z4KY`7R(uJe)pQJm&Z z9|-H3L?X0bBUzVjggVu__?#7;lLRe0Rz+E0F$M`EYA2@}F@oH>GQi{t3k#t=PDEQX9s2W5!Cv>Y4JiNa*mVsK6%w!3!B> zY5UQatBZ=)wx7u5R}}T`DLIl%P_`I9fo>?hbill2s{VTSF1{jHg`7- zu8$0eWN`Q~QCk;;Y3)AJ={`br<5AbG#Z8VUDacX6~b??#c{Qvo){U{S8WP90F+$nny2)zwQqDrz!ht?iVDHA&Bdg!^~dd}J_E&M?t!$6(3cwYKh2J!x4${z%SVcWYWiimiUf=DE4v zr>#H^0!q19opT!6Fpr|dwTYYg2R-9C!qr9o$Hz5}RE*WaO|zpe_f@DBKUDJwPSPM6 z&-#UP?ULG6BXFYVH=cDl?|31LT{*K_ij^Pk!qC)qXu2noAomm=8g6Q8Mo>A)q=kLT zVgSC?HD`8caDRyYOUecJr*tTG3P)C|D;XD3)lj%&(w8h)ocZ?>Z-r zrMD*~ZZxLqM!o};r)a@osbMc?bDY5pCs+{*1GSch*}TY5pOyTE$lo`9kWhX|)S~7t zH<@dJ3J$uYkY*qQ8=eVF4L&2LYW0kTD%~!1W+wK_`m<+q+Ap0KY{`|UHnkYpNePsb zL}W0z+CELJQy8W@1ONMtJ!o&oTu0dXjtUeGy(W+x{Ch=(UXuBp<-5ySxXPJY$8kBs z4#$n%X}U~E+BH9Ov{Go_;+mou*f5T2XTQUd-@=I>zi|<4K4F}L`=RtmmqtzNX$s^^ zyT=;)-TP18j~zFbTL|FaBV=c*?fLP>m=oh%CIEJVbHh)4K6ZVz!bV$sCwX5NeUZ>tDOG)@~}rXlElq>kvAZs+I^z8LxOKOCVg ze@6>73kcLpyGl1Gd;U{{=wE-V-n3l0AnGQM>ngqRD=gh-&fzD{O53CS4BRAdD-|V% za?QUFvD=}QwaV4s5ydvtye}lDpTJD?FH*q0-1BM>Gd_3k&beFa`U_^iIJPVjMnxRNYAaRxs0emkYPaCdApnD;D#?-@1)6zoO1cif(>L zUc>vo$;?4#(_24l23$cw&9`J}3}y>eP($o(hn#Mo=Yjo!8kwXKYRW?2DFTQ!TU*r^ zUhND0J}z(E5o_^vT26*TaV?K4pbIp1`rEZ&jdGyO0Mjb=vw^L$NyWSaio&UmDFH}a zgLp>iKm~v(d#y4*6b^oAMFL_xlWDR2@F`V>mIw;(`m;?@#mqtJPr50=4 zwr7;xwBTYqa~CJfqn#bGh6K>-g)%S$QmcPHa<}j3N_KT|V-XjEwdI&n`x#3mGs_H$ zG18K{dRBS0TBIwwQMR_2&gJ$3c@zD2Mx|1x1p|xCpQ%9;kcCqM2#FzN6epxil7egv zIOwyD3e|o}`cgk0E^^a6nQM{$`tQx>!+9vLfPWj~Gcy>`kh4h6cz^~cVPqb3=lRkv z4}Am7dWk2qz~^o()@sRvIaMlX`v&=Fx{V#0U50WQv6^e=pW~yE3G*u%&NWJ6)KZ=PLDx45UKUY1hjk4JS>+ox#PATGsHNC2gC3$C|jEqH2L(2z<* z^Q^(-^`()uBuP2vbCE@)1h=5OS}u`1)n=uT9HfS$%_)Y!Ww~=(+MunWwIQac6now* zVwvhYn_NbcUb2LKWL_T8QfNoZw-6N`lgb_TYVX8&=Y%?1KP0C_pl~a|IX{w#;g(5zeg@w@0{5xZQ4c+*ngvaW2)#5ZY?zwOhOI1OYrM^OD)A<2cB ze^mUS=+MPA>2LgB>XMhg7+mwq<*S7rj=Q*Oahg9B_r9LEO|YF3zbRJ4&uYMXCwJO@ zgTF@?_cEb%hK;iV!(m|r=P?Y#e4)#olZUg*Pfnz5ItchtGE~Hj#lMVG`AqhrP6v9A z`^`UwyQ9;(Hx43>k6e_Lc&P8Y=L9#+<+)wjfWQIh!p+~|4;WnZGxMK+Gp@iqsGf2N z4X&kgv?I;A{A|D%r}t1r>EP6oz$M}1^Qox2F~~qoSMLcbk<9)o)}?i zXJ4nCn!%dhi$ z?LrSWSEef49IUWEl8*;JyUiWvncpFceCglHMm#$(vG1jm6gCiWRgGANCo;|yT8>_i zB2QSiynQyX`Wg#}=?&|^qe1(G7;88195D#}F^65UJHx+@UT!=72uWyYkuBj|ZIlVlB<&GW%6nrp#r%Y(LeC^&%G zA+o}{UfP-aHCLscz0f`Rdp{r*?>Tv%{0UxmNO_uJcc2AJv+<=Rh><-rv1Jz(6=^or z&g9foq9d_OHA+H2LFF|&x1Sawy}FJDL`9jC=e%tQ>DO23#0l*B=;Bz2M~!p_hV&{ZxUiOgOn36UFhE~gd~D$lQIoE-$> zt^(4(U#o6DW}JM|^I$+X+Kw)v1fdNn1LmoN>RLvHHQdoal}xr8guDdMv$>UoNkwZu zYiba<7n%ea93D%EAAu(1!PTBn#RPoA1qLqsE_m0&-lwo~alM?`Yo#kcsY1eWgKom! zoV3Sc>|9wV*9CHiCeu2_*Y4gwEc?a8K_nWcVLBA71EAJl2_j;(jkq|}W35Wa5f%0z!Xg7Sh?1U#*p*3^bBejEAdPOm1%Laq-F5qc z`MDg!e)?{-vb&`u$qj!|a)xt+&Wj`xQbxc{E^20rhX^PMN3O#g*H!vvuX{S zXG2F#IV*i2Ky?eFeVfcQMw;*V2F|!@Y^~{|sE)4AnFR$UIiH-9(o+zG968^HyjkrKul@hVQ^s1AQl0G#^cA5 z{ke4s%l2sPOt?jMqlS+@Pf0U_J}3sk$M?icR3AMU#Yjoa9Fv{T$MbYH12>>t67JII9EfJvO!7*K2k10`Q^O)3T2b zZ^z&06@U8Ur?cz&h{-TcT>{`)HPEm*~f4dUFz}@Ml{iO1iDKt!lPYP zzh#$FKGr%L$eGeWjex7fKqi zz)v<5X#?5i%9Ri*PX#j?H%Kx>0BRsyoymMapMJC$RmkH1(kE}`2NRNsPF1R!gws|f^pa()_TFpBQ($WEt+J z2j?Do)rtU)ufX!5^A8oFDHXe63+)6}j0cK>;4 zsZH%07bH|;essniTbrE#)&a}HtM%2)+gvOeUK2J~d$R5vsd@oqB%ldzXI_U+G8ERd@wMQbvD#YxRW*rPvlnl!{mT&$v8_1Y}B;P)m{~G0}DyF_XqG zn$-vWTQS!^o3(P!A=>A*Wc!Da_1?S0w0C79?92G-ll$B&;m`MLramVF3}4(c$!*pzn>K>N5ZKLLF)iU+}8!7bG6W=CS?|F4glzL zzgFQX$>nlLGgr}g!RY%gxuv1nef2~^)5g;xs&?8b;6?%@O)gOl!B*MQigl!4&RW~q z(Z6GDW7Bo9mhIK{y#7sPf!@+y-_LVf$w4nPn&@XAX>t}_#J{WB5`LFbQ@wFHpM1UA zeaQlt_uRATzFIrj!8A1;(l6qdyRX`=XYv0!-|n?|Vm@oweO&YMLa> zSasyL+Xf$hYhlYSWA_SZ>nqqhwznt>ZBW2xxuX-=_&} zfp@EQ1846`3ZIl!Y+Z;a9W1qJXIOPXheSFqM`zieOSMe=Y?c(hWw}byoE#KKnUjE!F2~!?yaQX znSbmC-Qhr+q4+Tz(hShfHVg-2|u! zQgdHbBet zQhIPEw6#8GHbRVQf}yTPsI<@+T((u*T%ib2n9qQE+l0!~bv{n3C120w+W-!QwPCWLTgMCL1?IcEtPR^HX|s<;fw;8}$brgz&B1yOrk*hN zqK<~!+G=qJ|1yZprb`~4&+t{o*-yicmldz@-i__;0~5nk?yk-b>`p6DNb}s=RBsh2 zF=&d~v8Kk%xIJM=g<8}g!Gl11$w5$W7iZ^NB%iNX#V^*ctT*ijeTdp&vKS=9VV}lO z^8GhP;xDl`DZ^*3<0d)OU?y+KVVw3L%`|)V`;9@S(6*dRd7`rkv$)fB+PSxmH2YQ# z>)1Q-7PS#79~G*cDC!Qm?wocOC2EG%9J-g{5jQv+m9dh@*u3IGB}@RuK=EpADD0BI zSSh%5CvGOFG>4-D`;(sL8MUvj!;eNA;W_s$6SfZjhD7`He!WiG`RlVL9Cz7X*pWqv z3ze0BJ%rEmYsp&ZaF|bHEllpDbtwx5iTk}f+I@AkRWs*mRB(KLb0ibai2j<++VhwB z<>nL(xr}FuR0y!eeNTahttJ-^n;FZ3s`Uen%TuXc9P!|OU}`-;-Q7B$pfwD^A#&#t zd7aDjGa>I)t-L2WXftQ?RT74NXq#w*;o6yoG%uykI$YuCUb=|#713-vwBaBNA4hIR z$Ub-fSXH&jMu7P8gw#d%jcNG(-}I=~z=yjH|L6yn*Pklki-r{=iy#xP#VMokx~6e? zd)lrqCUU6nB(A^zJ@&pn_aGo0Y$-ln$8PFdHe55sE7GF<_oKn(LGNPTX3RNr?;VNh zczHhIs!n))+9^omaa^_b+w@N-94{3ZjhKpb-@9|7_S9*{jq@ZY*LB=O+}aGT(d}1< zWXqGv8w`h)+nr=9$q$riJ{FEvHuAy4b#am;Wr%OikjnJe2wd2c{frdFa>uVm)b&!X zsUQV?(t?|Am3KTu>=g5xnKO^xZwkrIK}rvPauq{+ICPyjc94NPM`DLtU)uwkSCPCt zGJ512t5HxF1@-;wny9u4m*l?)Bs*VPcJYn%i&wrJ^H0Pu<;D4~|6$_{_^SmmxVE|P z!%`#G*bHNn1%cSV@01lBNbkI$0SQW<_(}^db_pY+H#no?Xjz)ShF>ulQ~^21W@X)Yq4pvZnVU#zXqg>@ z^5UmMhB{8>^ZaA7Cq_4bN9uLzGruMqu_>453e{+l3homkMrZx{sGhdJYP%u%)~v0R zUX*Y+eW+I`Xf~g5c5>0NhaV`ZFZ9AxeB!Xzr-H#CO1pN$@t5C{)LsMShUbCyDG-|r zZ4%=wMW^Hrf2l#H;Jv=#@7hHZ5>xaP!u@@N!hDIUyh12j$mO3^q7zK|+l+>xghTn* zNKh$5eZBW$S751@kO{|k8%?t9cod8IB=}?efdd_S>tXD;j#kB ztTNCQejObd+P6uue8xJo8MSc>9TminR&}lC^q8Ygr|I%VKGwahGF`lM;}^R5OFF*m zaPKSu4_@M&zIJ}L`RUerbb=V)KScwy%091DprB4gD6@(p&&CM+jvWy&ck$XdGf(;2 zj{5V(LAG(zc62>fb*TEY&T1c8nrZH`cR4>kioy21$$f%9SGoL+idYe;nHaDyT7I%& z6#1UX+qk!H`tRt2tEpeJ@W!8Jv~{rcq1D+pG&C%vJ-n9!r(;pMl@WEl;XKh;zu&zXniHG8aIMr^?|nUa zlZ13+s6@)qDUl3lteaQZRQ)o-&pX7-PQu^O)Y7un$gDE&>HI((;t#jWUQ9!V*R=)PD&NvlcJf8%TRrD?62(r zIbzB7sI9VD>gw6%fhmJ5D!^h6CWJh}cuJon&#BT62W~nlsfU%+OL>}Gv*6cpYR@b% zq|aIQ0YXkJc)F>Iu0`;u=W#be2NO1U3HA5zSkEQTk0Lgek}u70GHct$+6%y%Th!by z8C^XsU00Uz_4XSq6B9MnvI=r@+6-FO-G)hkm))4wWXC2O9tIGWURD46xFFfgdr=Zb zC>ISM=y?3%dy>otSt?w|*0;7%Sx)1l=&2-Q!KNxCRQGH8YFM}T9O+YU)0!G=fk;;M zY;w}Cl`<5n6O)!Rlib?b**^b#&;2$`ugv}gga^E1E4LASqp`kL`fx$mET71x4B=USvFt?Ia7AXdurI^U~j!dfBy3onaZB(bZZ}= zx|*0z$?4tVAM0giM-ldE99@acbc|CSy@OEBq6U`2og!+R(eYjaaR4n=9`z*ZOhCfB zvDg$NF8MTWb^W{?5hF(bR>M9>;?^YGK@HOP9bJ>~W7 ztcR*2Bb;#Gn}v~insu`@;>=US4o!0Od@_=v{JkSg-Riu?_;4pulUBnGWc&!|fO|U_ z;P5!`xTh0;WuLXk`{Fg*zDZZ%tOMP;?v2=qvEge5W~4)vqXKxt{#%~5H|k|}3Mgo{ z???GBiH9bHSD4YXd?!(3Kebmf36MkZ`Bu+uLFHmnf_Z~`3fYBsEl%WTz>wey+a~G; zm?@1ftlg4itM;9kIEafZ!wU8=7=5GsR;D;|#ed29YjzXMJ6$rZk~*Jyaek);Ssjfn zBq1!o`p&Xf+x_P|@%0Z+MlsHd+vqMy?x8#XI+Uv!e!0K`WXZyB1|e4kI9r( z_ta%H(yMv&O6iFd%8An){|4tZIMAm{r5~)OS9TXtX;v3{Juqrs$D|gHOC4uW7_K|w zul&|gp8+|O83gB-rK%Fm=iR4^ELZErNvXLCOn|u>Ah0mnReB#+cLT{f= zoplzxL}1Cd%=s8{esp94*c$Nt9!Vo~0Q~itU?5;7zr=^kK_? z3aQ%6 KQ*+c243(d-PFm5^=165ab?XTbi#~w!$?8r7N12NV#z2%v0JK# zd=gi=lBk(CZJF>^UaUap%6^A|jePo#W2?O@583^K@##y4Me@PQ z)nq$h29#zx2h>!{WD$E8e)OXA#yow~eU6(t93x%CtkCBOgxkx;rM$H5QgYei)G@KG zveO*oKbK9}rScnGa?@>G5|%nVuaIWn+1Cy1c3G!Fe^G|3lte!*Gpcp1+()g36;*sB zYx0N*wEm|wQXiP#r;y|CxXx!Oi_;9e|GGJ*LwYrzxA$=PQx)$O!%4_hx(#t$PY6K^ zGgDRxgcm}2F0VhGI_YKE&*%L#-;El0`_s3|E&wi5CXg+VtvhvneJcnsq-(F5gx$6f zuMvOzoaEOIyMk2!MXvP8*U zax)nv+HT8TVY<&B^9h$s#8(2T?0x4R$53jwE|T#`Qx}okiuh!-^*Y!Oerg(a9Up!* z6n^Oy{`u+zV|gc%qyj|${*|Y@?nb<`dj?nVo-ap1TqTX2Hd+og+%6_TipX+jhK2H4 zY}JkrHc!jwC+aq}dRB5_{0>hp3R?Fv%@8?$- zaD$Ye@^HmfY0+>En&a4c%1tGAQ=pS@a-Dql?B} z;ixRW!7NI)A+!Zg8ut$Uw0p(hxgD12E2T^l*0;5U@LMg*O}E#D)(GZB2sHDm^9>Fp z3axXe??TR5p1{cF$AE6p-7f@dOND$9+pijpRNp%%hAZ=bhI5rBHBzV=4JPC&@w3Jq$evb&yC0 zUPm2&UVIkBLyG%KEt0jdHuh=Cv9Z6gLV5t4G)u&X4R+Ps!7L4OzSz~n zX)jrJ$s3xodeIR8`|izN-u~gSL5l&8LQpl&GHTY+EHJI6p4`ObQHlJ^lt>a^ZB_JG z>rSvTh58=SI|Sp`|7N5rqroP}POB!aaIf(LE!&d$RC;-W3Yu~H+2~h`^nUPN7_gF> z%VAi~yHix#tZmP%X6se3@aoxb{F2gcv<-nBoQ_2y1PZH|c; zv1AD#`6v{>i^Wv9o^YpdM=k)G$R4mpTpr2)Qo2>J0~6sJqIoBodW!av4iyoLRr`{Z znfRi`=DkxUqY4SEZ!ox0d75}j;#C)SH0=xhc7_Z%zc0`1RH*B`gQzCl5fG2s__TZJ zw*DocoJp-^mW1ct4Kib($qca4y!yFeXoVaO`3U`Z6}(M9eZ24-YqJ+-bNb6K6%_Tv zMR2%3YV?+vW%IpLF7ObqKX{|+0@CSE z&CD>wj%G$%bmIR22SND00E<}bOq?W4LkJUjdKpk9FOVY{%IHz z8`rH`+H}TX5oG|wwMQ?OjY=VezHO>*1V5Xb!=IpHUrYdA3Io-8^PayZ<@|`R{y(6i zF$O6a;S}f#089j|#0Y}SNGFkhousp>ii)ZbvG-n8!ZaL*@d9Rj-F_*(e>fAezqqUf0poW?xrsTfM*@>axgV>T`qCcRpdHk|0(mu1zxe$!N93NJdQPp2)5h?Hrg3m^u%Xc|*d#H{#XFbC*?0NQk zT``TFLwmdqOe26H5##F}93ma-FTDX{;{QK+q zFV^bwyIiDsTuk$-RO8Q&7tRhsUnc;+(yf$Yt!dk)S{YWopq!nF>wP!NZ%#w8(|<)l z5mYq+3ZfcjNog9V{r-4(dXhZ#jz9kNpWMr{mD| zzH2%J21SIVs%-c;3{!|i>|E=c7BB(86k^G#ZMw~>W5b8T6qEG**13-QJWMH0$L*>k zh;iEAKklx#tG~Xx`|0Bk$K(F6KkRn9t8sku?i)oUGOP8f=^7+zn)Y!&b*(qfA@LNZ z5DPLt?WXTP+#43ly4kdA-vEF@Q2;j3v<=am=4(n;A_l2utB^~XrZ~oY|M>ieKm0`8 zuhv&!ZHW8(huz)Xl_PGuwR0_Ki7^poLyDL;o0YZp;qloy+jf0OLP{}4RbaMAm~)IV zpIXvH&UtSe=5ZK@&8ok7b2lBnwRuR>G!3axBV^GSh1|A4WP}JAF@ZNAsJp}Ht)?u) z6vpFGBxg}`9Eb>zm`zIQIE)_6_WG*nSI5IqMc>}NF~*1#=SLM#6gIbao9o+e`aTOhKRz9wT1I0a5;EzyN>hls>VD6MaV-FnrpS1WET2!SC{2q8IO zW1L#eDFTuxlu{6Z0CLu8ijR*6Ynzm%?^jF?6p@r^4%UTnnux)Bn@h0Pyv9tm<0b!M zYj#He^*(*wl%3^(qFPx31SiD;N{BIuZyV=qh=r*}0WyF}5fR8GBLW*^tx**zg&9#u zM5|NLS3Lbo+%DY5|3&}73vuvrKMObgx(=y|EYBv4FJz$^-7ZVqI)zx4C1(@Q7gNh+ zyL#D;p3|DnL>+t$fL?;G&Vd8Ch-gJ-0)UisDgBgFo;}XdU_?|6J(p3zGwxh)S59{F z^Kn+p6l0nBGZpVHKfTvT{gr*{427#$cA9c6mb^Cr8e?(p)QO*!yJyzW>2zxTz+wpS ziVn1-7@d{er$I_JC#_7UoaG#9Hcxx7I_0Z^F_kiOa!i_I%U<{XXV?vMzaLH(t1pw2 z*Avc{$gsH*IKybHp$c_eFc)&K^Qz$-!2D85ombK6vR1|O%x+rV6t&b5nb#P;_5#9l z+VL{&?xe>!Pp<0B=f$?Du8^6ER`+nRV*mBR-+#^axee&t+Mn-*FSh^Zq=?sr+^={5 z@YM#?I3miq#)Y!Awvr;f?5*!wD>(@Rf-<3Ro333~zvZUy!Ze8h8>5tnz&n#m@y>PLZMNH#b1LOGaQczSr; zJwCL3e>{#crmo#s=cZva-F4GnuU9R>7><4l;h+Bb$D8eHv)ZiI8_>iUmIXmwP zaZDkE2r>G0>k>6>r|Oz^4^OcO6xE04K@r!zyV^Fs=~K#DimCvTwbpspwJm}msU@Vg zK?E(;!JSgBylay)9miB;*j(M-+`jvCuOB`<9*^VIX8Zo_+rD2(nIumo$8j8`aE!5O z8fFG$X4aUCXf7q?(lnl#ylsxd#N^nRkVj`+*YsnXo_5E>FkG*i&FyvE=@?R!(sUcw zZpV~jnW`SG6lslZHqKH$96o8xUE3SibZu{$vJ~fh5sfJtV+1tkoE5q0opY#g*zKKh zZQG6GXiNeCK}@+g!#M;-Dk-NBnfaS{@540x@Xvqz@Zp21-n@DH_M2~Aw?@!!-hYER zvm_=7`$xaxw%wq0WPM6y93!eI8fU$AtcqjGhiPcMy}NtQ`~a#k70axsAqL2q35~LM zu323*U1y9T!womKU6FTLN|}Op1_1#G0CUd70HA~<1(;pQsH%EMB_RTrT!C5&W5l@|O#MrJz$)D=9$Ejv@0L;QSC5DY=x4SeXL_Rjpy`cnU%Q-dSUe zsv;pFrIboZuCdk`1uc?|F-WWcDo{%L3Z{SQqksznJ^V>u5&Z0*FZoRuKb^61ZKW@& zju(J?f!IFpUoH}|;5BLC)mzlxx!8j-1b{J?`Pj|?NYB~>387XOH7AP@Yu4;59kYn$ zTxR2)GD&YPijd-xwuRfT&k)uV>FaeU476=K3|JzUlBDwX(n(8~QtJNx{wA<|vakJTwWf3)X}=b#Z6DL~kq^VL>08@&Bchb7 z0AV;zT2R$Fr>f&PmQoBeSo`M9-OoS${ORYP-~HydN=(*I!(p>sL%KWepG7quN4AaS zx5%gj$Kkl&9jbj*DJp;>225uVUDGs;W7kc?a6CLbA18()#6YUV0?3Gl$QpLekg@Dr z)3$}Ib8Z-8%7sut#VC}LjIHx`Q2@h+(123TQVQf;L=>1#p}US%VLVQK*D<1MAwnem zGaw8W{*23}tS(wKDks;IDgZctb)9;XDW!3kLYSn8YC%+MxNE&-1Q7r=h7A)c7`9QQ zlu}+|Km>r9jTRMAQT<8*`h~XtFAB?lKNwj?!`85^FE#96ksr=RmU5<)yb_Ntg#6@MTu|QrrCnHp@kk003tf|5tvp zvpQTAN|~8Xb!wq!w|lJ9i3Li=*=%%~wag4lLCd`Gmh;z(vB_cx_IbhfO8jshU%+{; z^53zZ{~Y}<4{w<-@tXehV#c)`(9P>-7TA0(0DgrV5i@hnQc6w5kwh|BN2Z1@M9^`t=g0Z0BHI( z;Dhtc?d`1s8pA1NW6XAYbvPVyiW|QzDTZkbF%gk5X0zGkln^n7DTFvZJ>0%|+pjmi zF~@N_>^>6P9QMy>fQ+%8m_bh-4PE1o$D?(Pb36_sdXGrnayDk&ucRmvzkmC#Y5Q>s zO~0~D=L}0uAr6pbyLof{=9}&9yZ`q8{Fndw4}VB0fBWwC_U7iNAAcCeqhD?NwsFoX z$S{s2ljHzO>s5DkRX*O|ivp5IL@5QyS!QBYLvVB5<}@(o&FY$&Lx^?AK*kao@0~I* z@sRR3PJP!`jHs&4IU-h6<80Hl{c1f8X-v|uuMZCo{l*LvhMZQ+Ox6%6TLnM|SxZti zT5PkTj9DfiHpXd5<23bTt@AidIi~BI>zs?TF6Xp+er%fV_UdZ8-RuvCl#?-Lnnp56 zs3O9M4A}T)9LDW>-8c`3cqm6fA;NSoL55B*ej{E8G zv~5?RBm$L^a@4l#tZzdpQjlCv;MiN!_||sFeoX29r)MeCcHJ|T!#J#a>)42Dk*rc0 zZ%yliXiv`W|Wp1%TRf)bF1ca&*oVu`~vq;KwmsADv3x{>kf0yrDRZX)~>ov0aF3ztcZvt zA|Oygu+|dMG>(YabzLoKa!%ZP6&;3=(6mh}^6(W;{{jmD{9+UFPrd%9{&qnknlYQciQa=Nx3d@$fjwL~84zXI;!T`K*vT>#f%|P>9j=ti*Rb4^76_zysfHG61 zde@Mz+A}_vBAWB*N5&A5##p9FYi8}tKdHgM_23slvsIT&0QvLMt9F;qJ#|@(P%g8L zXSH-?;LN8PLbjHj;}}aR5<*5a&dp1(yqE(V@8fY1J0L_JM`Zj_M_FZH|G}aw{^^P7^m-@N)8=&D7x}xd z)_Ex>(vG#Kl~51tf}=I-U(aRXyz)=$@byQ1S@AA=|Mgj3gSsyKf4*q%_NN;BpAS_o zKIcW$+I%C_MD5GK@0sv()+UT8MB6V+sS7JWa=(0u#g(YOCHDb&iQlNpRR7LI}oC*Lh;frKFT%2u#@b ztFCKB)O(+EQiYsSNunu^!rAHbo$%q&Y_^Kt4#g z-%VZXo6X(-^uPX}k3aqJ<4-?=!r%O-Z?~K6_dkAr4Ee6T0#V5YMZIMvo3eUGo3-0+ z+AJF5w0jDjyK4NV@%}WSF7mY7$C$HV17qfX+8f$Dkl0IZd{2LDO-+LqZW5$MO03NlI!O-#X8R5wP(MDmr6hjK-M0>%I5; z{o(uXzI*c*ziYZpE{O}Il=jEt4pmrk|8BYvTyfwO!|$F2s^3E zyVe*(Oej)ic|>q8VoWdiScz3Rs4C}N2O;UsY@rPSH_pD}xuIp(o``PE*1 zIVsYrswbsXXFJn0#Tcz2LpB%5Dz<=kwo1X6&{@NTA|*vFBGy_4Mgmpw-aBjKG{ul+ z+VIyW=P#Q7v#`e3lUWpP7#f<06^1lg?+Ut4hsS6 zyk}Lae^LdM*1|c#_vN;oEhCqHrgKwviQbl{RzasR#7s5Ts*-Swq1XL^SA?ZAj60bi zE%e{`xwGor;IAaEl<5-FXDb@ z$DtZKurv{ZMT+*nNbk8AhJ%)flCy{*Qa~win2tnnI2>Bv z-`(D&lwuq|9Us^0e!aQs+n$X@g6X&~Ds9_qNik;zB*ZC1R<+(+07Fzt*&p^)ElH(x zU1QukV19mn4%3)Zlu|ZV*VeaaoFOQn3M6Dn1vPnNLDF$ICO1w~GS(LnY+FVF5H{TR z?fw0I({+vSoMA0FY9Xe!U$yJCYB}tljv>Cgd;8b7Z~jqXcYONecRy}>AEx;6;X|`| zt0|LJZzv;!f}pgXy48(!oE4rQpHm#Jw#~ZpjWs!j7%QoXrRe>`y|ez!n``gelH%jz zW7GQ9H`R>A7~XCh>tzZtq?^MriK6fPcDo{m(FsA4sE6a8IeU9$xJfCix_-5?*0f#s z`1CwYW6M@mjWJErJU{RE`{Qc0_P$MNIv$5ovf&E*O5b-SZ^9v~zC?v#+v{uJG$kh_ z>$~-v_kUrmmr@Q-_k;+>A7e>E1#AexH*pLx#nN|8yXpaSIPR0A{Sb?|ZgcIJ8H=WA z*#C5#c38$$-w}f`h=d{q4HEJ&rI-p4s%JJHNTpOItDe5Jc(ySiA|hhuQVJq^=UU$v z)#ErCW4f*}_3NUf+65#;6$Qnn@iBv9anAV0Az}z2#+VC)5Wf}xzi1-R3>0R*#^+O} z#VeP5n;F)8-h-^DXx8=4K<&(=$0fE{=Aq6zyl{eF5{HaAwQraB@-qwkS6$R<&bV}{ zsanqp)@vM9_4=GC@9^UGC?a4j8^bvl5lIP+se!e!XrG^Cqc#8Q?EEul4^ws3oNv}T z<`p?v`kY&~FD{&O9c3+vaMRdo!AFEOIg3b3!Ia9Gh5v$I>$f>k9ly-3HK$3%xd50C z?-iA6uGuOtw-Tb3nZa<*|AH4w{$&I*06@+!SK;jP^eTFGX=i-qEWMC?7FhO$*>%=4 zyy$N0J{Li9a|8ZVMwX&8scCjDs-vD7dNud*&w~P)pP65hTFr0wij#J>&sTVzjP@t` zH8TV1BAWLS{r{U(w-?D6OEZbNFH|d^Mb&{{6!yTvB5YQcseW|<`Za$U)J1_r$cBlk z2~Qv*V``oj5rPsHIr#%3h+=gIEFv00)Eujc$!_;#StW<#ZogS=8sAPK-rwIhja7kB zrpEEAUzNt~cPWn3Kzn1Ob&UYzl#$sQizjB1X}gvUfrykmP1EDk(>NY?&rdm~Ro}gP z_r_UgjcxmlnWo$88%unD|MNIa!*LW~vb&~RUtQlS%9L|ValPI)mQlr78jnd(B^Py^ zQ-Zc<#1w-R-0z=u&(DPHy=xkm5@gkansw8 zpaK(>B8Y_`qvY1NZ|>ICwZl~(!{{tHh8)M7a!JKCZnM66mP1PSVG7=xH*ap*t{skr zusXMBwbw8Pw;P{Q-*onAH>RAgZ?5}Q8{%|$M$&NH6_GLya5$L80RayqF?(aU?>hy2 zdVY4!dFw|GfJld79LK}q*!NvZaU4egMZ?A#>nJN5+f3j}DJ?n@AcWS_@#(3k=In}) zb-uQpy>|^!EYH&rWg7CZKkj#gI)!P!KLFBd-LKbcM2s=U6r09+&tWiEJ^3Pc}B7g!C8Zxt4o?%A7x+`mqwXW~lDFjt9 zh>i0^XqZ$*L6{H`b7lGg#2Ap2$f`(;K}DH47a_v7X}==rUvv$ya7>?j>VM7ybYT;I zYBA0|;8Nsl!TG9}Ik)+jmBZ38bJ@IH_J-l?E;_d-tKsI^#Ph|su@pT!)y$zzC!|%i zt#$urA!#)Tdd0FRr4ANe7}9e>*=#^rAHOpj{(=&<;8IumI5`JPZ~Miksx?;ZoCBbx z;2D-(#?8*8l&a;e5(Q&Uyp#}5)T2_Ql#1A2v;_5I&w0u7saB^t6M+`Ycw9uS>9Qqk zEyY+~k9XjVV(SM|nMF_vEDD2VbvNseU;ep7sI|se3U)uAR=qAVUj)t8(%Fto&u2{l zQk4J|oi8u+B05@`VabYFl*F&bO7%)zgjX!5G)o&?KC7}X*!D|v+p~G=Ws=&z2WNlr z&+8RjPM^-pX|7vnS>7*d`S9y5t~YFtX;#IYAh;1fB;2Ar2v46 zB2i8mL7n$goT|Gys^k<)3OUE)a6~}o?9KJ{yLWHAYh%pQ5LMI~;;UPcBq}*2RV89X zbjHMKl$^Y8O3B8#Ro5Jk!_)KA!^5ZXaLhS<_~Cm)JRE$Oj<+{=S9fm-(U397jc>mF z=G!SuyTkF*!|wZk{(egNH^2Su+qZ9=voXc&O>1%8uMk*cAfo&G-H#7H#gwPpgKPRQ z4V&!^6YY-!5fgUITyo5cg-n^E^M;K(9H%nHwd+h19zT8f>Bpbm-d+FZx4-jEb37gm zPmEp3#ru|>NjZQ9kW4_{s5icGOi)ssy!SbCPTBjuY0}-@?S8)-hU0E$w(C{b^-W_> z2arWniX?ytIDPx=&F!1@{%~wt=RB6|R?XTngz-3zsT3K;DMY_sH6k#D6jSV1tETm9 zSr-M6>IXq>(~aZw@bFk+pL1-TQz?Y%ET^duIp=!S(KudjZjOgf>#mu?upf3H-k@{P zQaPrSiE+rs;rSsQcRC&8@fc%b!ZE}GNQm8P<-H$ zEh!y#J1IGic|JB3u^LW@@U0o58B8Mcz&NyH8 zyZ!DFK>@^f8`EwZi)aitE!n2;x3+0Y$yrOY+89eFh(W*Jylq^|n&bG;uW#+z!~w?f z={W4ydGacyl&oiXje$vL}T_0~1k za*^D4+ceG@!^8@D7Lb*af@{6CmWd_Dm?9`Mp|h^-z7_z#coxvI68JYw55CAln1fE| zhU@3QxdeY-m_*~LcUvv+UwuQBSKw@JxDsha@G%xuwU#SVUyQ|G-YzAnvVSA{9nMfqc*?Tsll$p3c!|PIJvd~LfEu7s^>)S0^AF!a>pYz2|^;qQ>&HVeN8`8qH z^F-7+GsSgzH7}l8i#l!j?D~R?b;&zg4uuxZ2QNoHix%n-riyOQG^baq@oa+w%L1={ zT(d9jf*G%$d+980ftPcsJfib<>8H66HsCCnf&ZX5FkHynmqFTRjXMC~c@%?Zqu5u9 z_G-J`{vZF_-#KG{{PFw0|G)qK!w)~aegEyZzx~Ubn_FX` zlwhpcY}Qvdw{PB+)#`_T`28P#{NekONAH*jhuuT#+tyq==O;?L-C_Uf!+w7t=8wDk zZoTc-*D~$4H@DY)H^mf=&%`E45uo+W8)X|}K;*l3?=@YO<1;X>uXca<$A56n|Msum zwyVv47&fayDkUp7EC9|qLI5o>ObpDG4vsK|$c21k$0>;>-`G2|F_foq(p--F!8g`g z_Kg!o0rA!tXQw#D65jOY%5;_zvVulusIyJyo5r|5e)sXy{caqGVQ_idi-NIUH4W2P zR7y#uNGYgL8fV@0HJiipZnr-ik-#`>Y?E>*IZ;i5E!z0L1XX9YZ;W6Oh^sJ8!=oXM zX`%^oI0#Tc84u54c*HUto}S}z$D&u;jVV|ljH0HJ**NDd5;ZGZidEAWv>~Q2 zMa-#bXx*F$P5F75RCVTjD(D)cJ41C?mzF#>Sq?ssz^WzD2gCj=|9F8L`(&{rcE(2 zb1sD#HrthR4Uy)Yo#no3PvYZTkjPpyg~?cGTidtZ7|v2@0}|*+A1NuvR+Uv5@ zIfK7tpYP9iB9~BXc546JuM;laLSd=&{o-yf*!-1`vF!BMUhf>83om+ulYTdZQk{j) z>B4Z98Jzeq3%oSjID#=~ZFRbY+4!ZZHtU%h^9rrj!>F|TW&YIi6PisG=iJ#jMXRD@ zBDD6DSq5-!v{>j4`M5QbnAj&0f6lm&}ujQ&W;^n^U5YVg$$vS)>$2(410EAq)pqHDn8BV?7ZwXc~@E z61#S{+ohEI)y7(15MqpM$U9q*QV|hkkr*Zw@z#Ver7*U>)f_V56vA-WNzPCbYRRFI zToB=Z{=5HiI1IbP@rUpK>EZFG&3b)vd(-zT(X2V3lq;q5oyVBed@BA@Q6X_$b>8q1t>7He!wF{Y_$ObFBAcv!90Y%G&@ z>$Vgld1#$&n_d(Z$~28YnVFDrj4=Z$5|Lp7@2G1i=RA&+F|KJ`jI5mxnNt&Y0dXVf5CkufsBbsT z`gRzeo%4NTESX^pIq#nj!MLXHSJ&HKSN7w_KkkMA30q^EZX?L-tVkv{DV6#_ZJQ?K z{Nqp0Ki%K2H!It8h*(PU#ys4A91gp`{>$H8ZMG^U$LOtLY!DSmtYaYP*Ig-k9FLpL zN)c-k#Waoms*8COLJT3~7#n9LP1884NWa>&Mu+1=p+Sly#UaGLTQ^;6Y`fm{L;R% zxSvMrtfBxb8}QyDibw_!Ym6~Qw1|qaHkYEBz2m;IjWb#jGxmKOLLy=$H;v<0JpD`D zW@D2XFwKx|IaazT2`*emmU5H}^8FbaUhqt2T7}NuL4T?kSXi*X?BLA2*K@m97y4Z| zBl44v%^Cil_EWK4DK(m4PA^_^jV?ggl2D-{wdr1=9#&~@wF#Pi66eo$E~u82z1sNC zSr^9twWCk-$)4Zq|KNfB!aL=|u^*yMO7AXO57B@Mh>>se${cUudU*`sV(zs;KO*$nhGuN}_@B(F?Y ztA@K8{>-*Q^N9dJDWEE69ADFv>HNMrGqRTBsaaM&-zMku09g3sEW7M49;wE>l%}6g z)hLrH~M(_HjX`FBFA0BsyL)Sy^Y}A4U zEn8&^?29B&$O6+iJvliTDa90m^X~5MrfFLsJdWf3 z`GH89))66F7h(pm$To%qK!5wUe>V=}r=LGQ+#hlpV$ApVp9oR4AY#)t%;w6j5jl&B zl;h)1PrHKvt+&@Vw|7myCgYC7am>=LuS~Zs0khc6sw)(uPTzj>{=fYF|Ml?r;F@NA zcO8h3Q5ob!$xtaMMPtl)5|Ls($0RuekqJ{mDqU-=HQrO4+GNURvu)cB2%dKLPtT9t zYDMTC9*@ogI~Fke{gG7L#+SlSN{qSW#AKVsTwiaF*hbasSpn#%E#sMM#GFu{J zjL#(u3Gl*okLdi zR;O^-rMTW~`c;RZvmgoGi<5GEwPy1qj+l1oZ4rZ^767~&L*Z`$|o-=_lK z{>ASeKHWdw-#`5P1Cluo$NQf?ka5lC8gkK*6ik^yHtgMvu{Oq7a%4*&Qp%uZLJ%qC za2N@|7&i=K9H75mt*te_U0tnx9D_471PLJkSOf_nhA?f`>#l3rXxld9a43bW zG2VM3QpFGgF&o1oKx9;_bIR$7J&&#b6bIvsz3BCm9cLBe`O!|qB&C#6sy;5I)U8$+ zP^2)UNI}q&6Ejz95kR!oq!hh3h<3f{jKQ1}A~xI{FoMMZR0h0e|XoaOxPxEObw`lA&c)}5a-cV7YDxzstosV+$)^)s&1 zfO&iYFtg$D4D|Ipb5LVmFy(@DUR^A?9_=htt$=t2g3CS6b~n{O>`a)^^Vyvwyi2LT z%p|Fu;|iu{RrkWL=@rv`{wSdObrelW&H{;-RW@IU<eU9?KSd9I5#&rtt#hh=v z2=AM3F=HzC8yD$j__;m6*8<>IwNcWi?D~ z+lWl1#BowGe!c15mAl>Z!!#Y4DW+*-T4Su17(-UkRG{%@oYFW>)--+JU0+{6K0cO` zkvxDPfk;vyBp`;IqqBAxM$LMA)vm7I3@Cp6^!VvR%EkL;d$pzGv_A|FkM{-2-P`x( z-Mb(E@J}1dZPOT{90O=hS^}|adNq8^xe(vJ|DCbCT6ya|8X|*-!zU^F&HHbQ$bPq* zhVkyr9Y{IscVvulR#NKvO-!Y28{f2Y+=u;c8isyzWemockxNM0cm4L}9hz2=$HT6V zV~XjAKmOh|KlyfJT<`ns_4a1HX&ja??#h&?sC8@+Qwb`;kRoC=vqE;IXp)S8&M{cm z^gWVQ5X4f_1R{j20ETT&Rg#$5P<_-I!*j7c`}X9VjWHrxN~xrO5m7j)`923>b9Z)W zI&tyS^A}`w0fbo?XAFDq5x`Eiw*6FV%nhm(LQqxbY_$!ovtQ>;uWf}>h+0YlRA#Pm z!lGQ{D+TD6__RNPo@IL1MMwWa_P0!5T80G8eZ+;S=nHC}LG4A8at8Oa)5}a$m~H;y z#Y=J7gM4KNG(+U2OXK|eOWyyCr+Q^6JHEQvgejyXqL7Q^TmXoTXA@FMQyc_2mDsjT zN_HCK?pYppAN!5@tH1i@-Q9+%#CV)aG{&fcZ`zo1&Prsq+x9R2^4s0+*)WD_90z9z zRfWKi<)SbQVHiV9dA~oT7*UI8PBCltT1p5b8!9YSI7ooiDL!!T(naUA-tS#LIMJJYP(X0`q1Z`$=Lm$KhK z8I-oQs6j!D^{e$}z23xWLRF9ql24K~fVN!~fu>!>oUQ2fX47}w^ZnzepMGZB*tQqd zDdZ%Whgbx_^?vh)U033mr^EBZr>76!Wf29lx_a}Q|NK9!T9-((FlI4|Mt}hgjzSS7 zr5ufO%sgeyK-M+RIYzXWEi1E%YA!ja36Vw0W_@LC`{~m|jAP$7>-8#^;G33+nzjX% zQc8@m*4V}vYptr*SBy1tlfK@Se?|oSr-T9L$F$T&7@XodGBY6oh^mS)r*4+_Zi(l- zw?vS00YcGaEh0J*Q7r&kQ;I7c5Ct?B)dF9)U*L9T1OJOjL;5;_PCw@hEyb@DGS>Ft zoYi%~saOK~8F|;H?B~`f7wdl!M}?J5K0}k4=wFd*g`2A29E(UwvK(BTOn@YR8%da>xvyQ%I7K<{};i}AO%Y- zWUlV2t|K$!@Wb59RFxkr!qYRWX0Ticgfh*_PgUKKQ63&1;qR%w19Ik)O|+cI@{4P= z6~Lu_tLWp`8TJK^FNC2C=F7RtnRBL`S!=9obM5(-!Z(j<< zm|rSg9S4Wo@;rTc4@a;IC9=uWSq@S@n|i zdOcCFUWUAI+N^o(i*%#E_C5b^K;COJ!1@EU9__Cw&8qb6tJ`Mv)t%ut0`S|}0O0kD zxnu>Fd1SeuiCDOF0bT~*bh zKtQz7+8DXc24c$E7^NW2v({j(1LFY1d9O`nTuqr!DPr=K7nYRc7^X~;Ga0AR)W``9 zY__jN9hhjG`iF;y+x_j{SKjK%nPWeqckQMjQ1xcJ1rX~LaOEvSrW8Ac?JgWoeN}m@ z)$#E$BhEoyt{xAMpoln)W31b)wf5$wGlnT;05#9S8m&=V zW3;t#2*-X@pz69|;+PVMbX}uSS%V-Hrg6Kehhehb0kT z{U*<2|9Gezcx~o6hq;d-4Fc0N$CTnQ07U>)N^iEiAAb5B=qid$%G-Kp>ITw`<1`LO z%5hU0t=0bKb~v4LrkpdSs1T=du$8ZTg~qf^m#JhqLzw3n)6I74j5(jq_4ZJU(j;K0 zZg0d`N}{btN8Z-+@R(vy3Mz|Q;hb{pKfU_{P2>3L``>|fDXW}CLfur(LZ})$4G>dq zH+yIOFa_3jyV*BwXRN6!tBoSg^E73Oz+|*1X6L=p7E$eQcDHvoH~am$KRIWJl19Y@ z{AAlL0lSwV|Ej8XyZtzg@=U9sz6$!kbZV};LggvW53VIO3WzDjs6=umjXK6yBEMLc z$}sJmB_aXQs6+?=6^arO;FQZa;KE6)wIIB#HNO4)J$~o^4e0P<74Smy^W{^mmH-!V z&esY@FPQatBvH2#O?CB4Jc}G%8nR#&Cocjyi?yFP0AM=R34@1=!0p z+m)N*Ip%XeZZ_MtYh#Y{Jk41IP`fGxdOQrDJ|Bi*-rwwmp&tg$Q<%<`ztIM_+b+zr zwffv2GEukLSCtiRa*WHDNL~35=6Q~X<8U5kV{O;fH@CNK+vGG4!xcGV`x;O;O_z!0 zoD&l&pp-c0w(TAcKfn9=m*4%nN)ao|?e-ODBauXzBnB94)iusIp!<1Jk}L1BC{aY= ze7=8g>(;p@g{UA}*M|87hD37Jv^RHe!%Uo1v)ONN-qh`;@|APedUHJXL{WhlXN@ro z5MxR}TBG;w=4M}2b*5;nPC1q=W@AhUp|0z)(Ml=hoaTAnZns4pq|xf)7Uv=WFr~e# z++E7*;7ic9peTt2uW9KuAzOc_yWZDOKQ_8ON-zFu}sJQtWfWuz=+NeiDXGuM@FM}3i;sMf`| zi`HVvT6sH z8S7pGvRSQXr72N){&EaUh7U933|BG9q8Ga4&=;-ITE0TWrR1yZ>sDt;DFwz{tiw5T zc@D#6{MB)iOP0@2mm$f>RfEBqBKz062%s3Zk4Pt<^ecf2j{Eri&$Ers$Lw zUDJBEaK+_IAkPzUe_jyrL>-scb>%Z^4ON$2!7}V$k~aZ>2(PK2u#V_i#`f3P`!)K1 zmglqfvM>Mi!ZZq|FKVmh3VE>vxKg{t9RG}feHHZo+k`hSqMw!qj2DEYloPL5(=!*x zbIS_+hFc%aw|m0!RbHS5Gjj?1zZzePlSX*)OR?4(6*5bTi85JRd8>d4(10dmv{pJN zMsNkwhhY-REHuyaJO>3}t<&06O*@Z03p=NU@_0U#&TdvfL@AMT&S-0$0~TwoCI;iV zAD9yQj?nhQIZa{HG|Du#;;r*d+o8bp@bLche%tMp){3b=eLyW}8&WnTrHwa36y|fE z71B%`#cDCu`2Fi2GyuYhNsjHfqDW`V3_1>Nj$CRQq zri{3ZR>xyMPV+F%XtK5z&*zlFcGGli&6Jr*qXXb+nw)c>*jnqopJNtgZN0MfIZ&Ha z=PHGbv+cv@hd+J(_50ViG0brqU%lPAx=RhFEqwa;@c8(7w`tn8%UGRe7R918h@?4) zNTgXQZt9vf%;Pbq{NdMMe|`6!a~hPYtIAlT6kDwAQkWcsThj0!l{`3$3lW%ro4x~kNC(0{RY3Be{N|7jmVy(4v&KRRmGs!rf zy|0@F>e{Cq1u~)`%GUavvjY8eFBf5EYpu0*nx# z1Sl@$UpeO(W0@V!Q)Hrfo@0hftI^VZT7CsZD=kWx3BZ(NE16&^=JHe_%mT{$`r5zq z?dR|Q=d0J!nhdO%z*+;dHn~2@44(h)GcK`6@K<{PSjk0XrSo}42Fm348q$9mV85UW zOFGRpZ2oeD*9-Mx1}&8W1;82ega_px&`F= zH3*C5=Y`eyIj)s!DA3F5=r0!w3&$(Ze+>hbYn$?ud42u8y0FTnc6xQ*E-R50u!b*n zK1&fqxgP#T6~Mm%_pdkutXq?>;;6qSC4I)LR|>r+9}9fZ(D#i1{FZM6*Dcs(1_??O zh?2#mb=jpU04ADajwz*-lo+c`CJ|8@jnYPOX382QO=I5=(>Qu(6-s~V`~Jv8)_OEr zTbo(huC1!tXk9loUd=-xMan5Dr4&j`i82}s#yagPF%YBDbp}P?(3`9b=QL-alw%0M ztWf8~F(%Ntj8}3TPLIa~&ej{|(4WUJ&tVv+FjZ}1jG5;UrlGCts%{R)(>w(xaMl}Z z4K{VtJ$$-yjPGpDX~wyIoR-`w81ZnxR*i-wRB0c6U0j#%WJe@;KIVZWs@b2_r@rqssGI%1X=>%1(RG79 zu?fV@uB*He6fzAHgW`EO55q^LaJSnKWv1Y?+O|zf>BFzT9u9}LsYSpND+@8i&Q{LV z&Uvl1wazM?LO@_^Fs9jByW8!4dH2h^pZ~JIeSP=p%{&fK#gI@NFKAF}A)X>-LRD{S zZIi&1AB*e!bUb``|BEwK*KQu)|LmL*%n$t`GH!3biy3D!U^`WH=-aBFZb;&W?49+yzrXK4_wl&n^M1e1c|D(su3hbJNRVrM z;@1c}GXzKruJ5reR{HT54hX!|D(>LA)|dP}2TI8)4c+n@wKjREMXjErUKf_0^Z_gd z^2E*! z-hC>7LvxA;qIMI2tYtN_dmB_(B9(;FrTHcpXqoPfx%E@Vz*a+y-gCl|Op)TQXm(r8 zuD@Yk6P@)w$4tf|NIKU>A_`zT|`j;l2>M6004W2H|r+!_OD)B^j=whe$OOr?-a@!jD3Y_%&|bf*<@Ys zcXa9b{BJ3&&kY>CsvBu+3H&_@5Z+X4Dr%?^-=Y3zmnR^_FleW-DgR!o-|F8op`|m% z%JKLL@~z|Ow{`p(C;l}2`_)Pp;Pqbq>#&HtbHbwUD)9j&AV%NB7qn+5=_yby^FvKj zq|YQ$yb6;9zD43PhHy&cn9B8aM>5&ruu?C`fJ1z~>a=qx*^5 z{=?fE%z53#-ScBTG~j_vzZYxvF)0=|7 zQC}9SxSR}dN=`k{<=}4RI|hkEL;5pdc-mGhu!=UDJr>hdSAtn4CEoQbXPYB*jOp8$ z0}9EngSG76;!aQ(&d2SmEEydOL$g@6noUQ@t1-WLwW%%?f zu8d|0^?dN1qPn(4OEB&&LG%Yt79XDcU(v%mG}az*vD`4cJ{N*B3!oermS1=fF|&o3 z2d#VX6@CKe`x9_wegUI3_|Bh)s9S)FqtQ+ev2E+w8g3{5a%j6ts(^t&oCi-yt3Eys zoRinPfiMMXxm+F#u9HR#HzvKP_SmRJM+JL6yb~1HKo}2$=*!uGveKK@pfeek7HPku zrb&0Xx&2NifzbesD*3rCZ>`EZiKuOobj(@(dG}@Z)y$vptK@k;4&c%BBT-$kaR}=^ z>ouF3&78eY)k(VlP8?->aoZ|~95%gZLv|Cmr%~C_fH+5jZ+!SW13od96Y;03RrFPA zrSkVICr$EN{J@Bmm9jXWrXu%g({3r357v1AaTA+!-AHznsOt>@JN?sND8j$&$y#~V z-AM`hiAkH+>Bex0`rKclC#-MtDoWg7bF6KBdW|X0F4LArLaeuzTnLXQEP=)bS)gIC zg!1(&lT=~sU#PZqBpVpNFA|4&zftw&OpF<(lv=8wLf>Qic5UE(zClOO^-q(*J&n3E zLWs`My!XZL8s8HD%LBuVL+t{A**>wy~X)N3r!y&0ZCQKjia8N7ZgP zqdASx8?#pf4jh|b=frld5KZ66nV0IhtMAgE+Jd@N-ZT&(IljQ3g_*0UE!-wc%OiaC?Aj$V2b5V4>>^J=)tB0_H6yS0uSzuq={ zNyBEmZHq9vp+ujdSUE^n?2Z5N!%JZkr6?N@1k|E*GE21J^UMQmtFCxOALh-?&31$p zTr5oiCzn{KTI!U#SuKkr=)2kECMb>`T+UyMjXqoEox*X&Cp5qo=MfKV5cjz%R>KIe zdsT7lvE_Px2BVX5n@d~_u#=ZINW|bMMKmlH5|#s;Tb~CN*NPhee<+i^i-NKRuzi=i`7i#pO6ik zDf6qmNj6(PFss7uV$YcH*z5Pf#ysiAKK*A7t?*P?hd-)45krGyQ14kW(Wcuab|`wd zTuoW+<($YcFbzBgISEucU$VP|<2M`8-A!j}HKot)8gFG}pzTSX%|bPW{vw)gXusQO z+!2mOP2FobFXZa@8gVwn*XdXt`$hRP;{1Fuk(|4+&2)}QvN&rji!UoXiJOV7ppZEl z%U*1dQ87~A_K;uTIHyM%*~5jDDbMh86&#*D6C3{mD-H-APhyrGQWU2i2cx9PUGV4B zjX47i+-1l!UE`sy!;4w-eoAI$<{*I`DnW@s|L2@QElvGF2ZO;s);B1uAw#i+1pzt_ zByMN{6!r0P@m=0%KNv3{)o*LU$rSVWPG3~OWpBk*zkq^;`AhT+wN&PX%;J5E_4>O} zdDpM1gqD@UqUhZ1HawfMj@DCJOzK!HZnraBO7$90D@y)c01H8ZEY`jKDcuKj4N_L` zgc)nyJ?QolYAW+xx};{(hFArH&`1w7UipE?W>TvlUM5zw zqKyCx1E%#r@_|PCchq^70(AM^%hr?pP!dl zL!V=!$mp6>%&C*mocHmA2OXxN$f3 z0UXZ&_3Lw*Y?gEF4IM(mGLIo7hzT)>&?(y46cW_!*F^V<_3NCH`80_S4m_M zsz5rnKRLsh6E;J-nV(dZA&ODIS66BL{+^u%76I<0H5_+u9nOmjB>RQ#hcAYbebNiK zFa;WnLKR*@5A;dpaCvMjJ#>G^w{+4PqR0HLQ|zfH(cn!_@5>g|=<`r*^%d{|>9z5s zsOd`lyZ!J2|LRKm1R6Ex4WVkC9G{Im8JP_#GgIXmMZ_)W&Bi;AF4yZ}^a%yIqR%DV ztxZh{=Hub|Zc`3Cq_8|7@ghFv{=4qWO_884{Kz~`u% zD)_VH-Y|hHKK!+t085_ctfkd7JF?65?=;VN^MQb*o=n>+z{SvEwIezfmve-Rmb&u$N5v^f=| z*YSge$}n6yJnbMWN3zH7hK!g;rIZrK>wT=7Tp8+%e@P=tjGu%AMVZulV*!FR@@k@=rFh6;+4ra6|8&l`j`?1#>^MtJ|t3S>tQ4j+C z5c9yqx5z(z2tYJeH6LPR@*$`2&*Uv642i}hTSC2h=@0xos&Wu6#HOUMbcgl@|Ka$X?r3?QoBolZ1^@63WDIAsUCi;( zrXSa%1=Yc@@biN@v{fKSS{go+c=HvbkzgSx%jbd3aOnb>IkKY$)?c1g{^2u+Uyfo_ zhkoUg|6N=>wmEOp+Z`2frc`ki`sdc05XMiV4o%kaKgFG(>98rB@=c)Ozd*&P$eugh z|FJCg_06|w=OltyUcL1vmxS5%uCwFFypijGZ<||N)74wS5KGbzX04p|Ag9N)#{9#z zVikU_uW=rD6Ag_VN90`Xymtj#T$ppZjn#_Ka)InexfQ&FOs$Vk*Y@H9qH7z?l476Q zBvza~D94Kc3OgR<`qcBVGn4B5R~U<+^*wG?Y-ItMxLL~up9}K(`5mJHl40pTe4*X^ zbRSQ30DRq#oWhYd`AFm4dZ5)xY17**rjW1y>Qxh3NWffpCgi?9}itI1YM zd+6G@ys{ujz8uBpR12uTKC`{%z8u`qoQjYCz{Q-hI-h9hq}q46blu9wRr*iE<`(Xr zFZKtS!9OCRwakJvP6bV3v5L61?v&;SRz_v$32d3>7P2-5Y`E4)JsG$c_)|5}w9wop`0A)$F?;hbSOfiJ;*Dnz~0D<8?|7AsxF$5I%%#@u4 zNUdoSX2+o58$_0Tv2i(Y4>@$qyQA^@daf)VH%ivaOPP%%U;;pcQMwOYnr&bsbvk1` zl0zU)yh@Xn?bbcl3aO8eigecNX`U@BGA`EwO7_7mm^m&(2})S;ztF#0|9_&-M=xKY zqmxqP_qAUAq5OvYUH=uJnaj!nb+pZ52@7hWn|DSMo3Ag6R3!30%7KHxLI9yCF}j< zbm3V4Q}?`3lp~o&B3M9SL~zrCYsCSCbzTLmmb>pQSZB#eDB!7$B@6GvGhs(e4apt4 z)^(U#%uV&GK#+z6s4o6l?#r;OiY@}reeNqwRIC41d8}P(YrMD3Et6ANun75{o}>$t z=&!6$@LAA_~%xy3ov#{GMxceFh9iE|#qnk(YZ%(OfVp=TRfCz?)l5;X6b z+o2prW@-~HC%3lj@>n+n(G6$6{HdG%PQA^n-NT{h8KunLZ%jDNy5Hx`?%(}#@$O)A zM4u=B%UH}tLm4X01;6)#OjC)Dx(n#B< z{M!ihRYMbGUI>#<-`VBa;)QoN@#1{Hdrd{O?)jdye)+;Ro|OkWf7y(_n+3gs#{`5B zc|YkDkKuTF*F4$wPk@QQRp2MzBJfKL?-a3n#&q-1{8Rp^vS)8Sg2B6|d^xquxad&5 zU4~@zG~q>(1eo^Q+S0X^01oCAMJglrQGn!nASgux$ zlB8$Le3V9M5V%~93tg6$@eLacBYQG)fLV44w*H-|DT_eMsIgwa--)4O8)N0=UK!B= zpxb?ZNbYGKhXD2Z(P~1RCYO=v!mSnptH#cFjZiH^J!tBn2-S!Ada1GjhYq--Zd)58<;^Ly^M`<+^#>4o~N6ezc zA8+&2YI7=3|JEX}mauZ^BkYst7I5Ew*v7Sc5HBl2?M4l?J zc_|c=on)uJWPC(JFy37@(oqg)X|w&Hxj!ZaH(tqVrr!#hdmgKfKocMo^e<_V?JiFk zNA(1?x_C82lhg#_6o;BNo{3Z6CHpp6Ks6E?5DMA+D`?k;^dYCh0`@<4$&>}TpaiH4 zPvN_7?M)3_9;SU*-?ZKPA(m;#vc_+aGcK%R8rV2XqyiN18QeO7yXsSQgSHcyr zzL_*#A*+pW(Ofbv0IfmIzqB&De0aWqaaIkoiSY4cOpWIR=Vt#~h@EA|Q9o>@J9Y+6 zHD)}(w4W`KNFQSnyC=r9Yq_ygZq!LRq$@HZqnv1Z+Xgt+`^!IQ?3x*RB8RyWkjyoX?YgJ zqqmJ&!Yq06epOR$mtE<6o{6A^sSKx{9f1>`>6R*H6~A}hkXnIZ@G@G>$;-}GZp?lEZGCUpuqI@dH|K8*V8_-xmwU)$;7Q6QNlg9Y;lA}EP;xZDFQHKj zl5*Yi8xMNYo?envJ_4)K`Y3OFIFR+)r*|sBiGJEY+yAe8ZTA(oKj%&W z={XfFKSYKdmh{c`dy7Z>aeAGx9QdcJzHU)k7C8yqCVwTjT)X>~$(;zp8jl|Hf=8vx z7pIT!{7$?R)3Mk_icVkVjxy#>A-s9aW>o10skzicd6PFkiV+<|J?wetmG6~rc!_ta zyiLa^FfT%B2{kn86kjy?)HK*wfhnzapt#onjN25LV!t4V*IRH-iJD4B(f* zfx$qY2N_VU0yQ>!j~~;L{NDG@DlO_Q@l{U|(t0E2RnKJ@E>2G}EfL?GoNoSWYA|W< zkGxzV*N_lW=l5f`3W{;Z)-;Jx?Ht45x=GSZM9b)`rw%Q zhRafiIIWNWu^9836xP2;LKUc6Bq8O4SKt3Ud@-Lg*C({Q0dN28l1-CLoeClp?RRpn z63v^VR%HDkbvuc|_uJ&cA~v2a$sN@!6$HE+53^&r@yZ=-OgCq--8)@<;Q5jgjX_qD zy;`OVu#r*n#f{l6UNw$IKF9kbuk&siNC<0oP<}68ajWr zreF0}kN#9aZ%Qi%9 z?(4?N^Wb5*zOUs)`x*D9&Gp&d*4tRIhdwl}l<<57|L^$|6A%>AD9>5{GF0b4>K%4N z{ZafMPJ93a>X|XZS{A$Z;y+IFYmHt*TIsp0>`aeO;k(S7eCK3rU&ht@E5oZbCS4oY z?md1n666t6(?z$G=vX~PEPYBSh(!wWR!cOOHQ&8Viy^r8(k_@u%I^XE=^=#b%FDk0 zUH9kg+|w5-QWLFPY*yEfrQ#l}dm2207mv}4ygibYP*}N?K(^m{xgntU`EyEF9%_1Hus4v7@Co^!A)qqbONiT8kqng%ZHw)OP%T z`ghjbmW6*J)hhQy?5n7tgN5>RS%8-zk}md;aZk9oCZVXfOM#{U=|4qaw*!p_^(V4#vb6zk9+AtXca)-~2WzL%%nVoF;D&{DMJkK3XzLC^f zQa@!ySVZSYHlKRHJWWjJP6);i)AmqAA2)wK6j5B06W_+Yql49F1PNlaS+M#gPQ$&19NgeysS3REnVIZ zP`~7E7QTD(Mx_QE8@r#@ycEgkL`l)RxR^XCP@`BfaQa3@;(#Qt)89`eU2H);IW=GNqI15VXdzP(N z3vf8n2B0*wfho`MgyOMP-t5b>>8tYxA^+^|CsT%+4TMwMdKO+vu9X6F`JQx!Ta?~Z zpJ}<+F`+)3GBOqO(&Dn$L3hS!^SqQ28lmh5iKb-a(nDx1p~mX>XrI-3rvrsVDD3}x@r4{d5m2beCifgW1ljdISl zY^%IaA(-bWTP4?ezQmLfbH2R9GxAcHMP4|VvA?U8QuMy7A?I&-AGWlx>U7IIfp}S@ zHT2ntcEr*>&2p1Yh@JJ0=fi|6-e36*E-O{mq~^|rr8>=RAMp0bH(Pk>H1yBe3W*Fy zN*?NU9%;%5%YAc@d)My!XI6B#b(-!_!1K!$o|AX6d%P4U=pRe~|8dPisF;1ZuRS~~ zKmq4$fIa;HgvBXd&$9kSjZv?VSYh*cr<8cA691}wxCr90(IA%MAB5jLelhocYr0rW zuVs6}oyRCF`I`OK+*Y89x?Y*}{8pv+^L;X@SDiMNEcKf03~wcF?=S5yf6tIHj5*DZ zAt01fkf2xvy>V{Mwt3f=e=;t(G&HBGJ7<3o23i;Y)+`ynHmEV&W;(t@R`FalmquT0 zw>K}6&)3<>K)#8m6@lX*dUvZC+~1=P{-5aWiEH9B-rh&uQG5n9iH0>pXJ<vo^mi(ISvb|C8d57en_LqoE4u& zKxPIU=yp>l2QRPnJB!Ansuw4{@CQTDMM*Ma#pC9=4__NtAU>E` zAkLrMPAIj>soxwgRejiZ*4jdVQ?;oK$;JnV;7t)in3%(oNu?F*j{nFV6)|PHo5rlK zAI}K>d6XhUkT+1au|%sE6co(zCri`1_t>**+EbAj0&XX?N_QaW0sDL@*IU}6KmiVv zGd?8U?S*nDi;2A9nd8&Q%Y(JnR-Ai)A|H;q%NrkLV`Dy=19hZ{|I^5_T4z|Q8dJZq zKD}{gp@)1!y-<9?FILhj&7MVLt(@&V_OB5`$G@T{L3dM7RBwQejS`^SA{5SYAJDy7 z?Q!uy`r`P}rJXs1{q6g4$E$MhU%<1N!V?Z_41;_A5SvOkdytBbT~qOMw;X%nv6$>e ziIa+xSo8E3)U(!RH)pgolfonS`tz_Nu&?z1-|_r`IgD30`ddHa_-Sd#>mvRx>`13}~_+Y@}LNFE6^I;?VdT&h8 zt{ra*r`yi0c&k5yK`Vj{Zni~JCgblR=`pZ9{(6nxCNnS0UqJ}aUuV$nw>ac^fCVg$ z9QMl@iBI2boSXg48WPN1uVPa(gMI(D40Q^N6V%QBap<2tJ?H!;a!2Ln(d=RWKdkP< z3Bd!HrmZ6&RKWq= z{q=#PBBo{V+_j(S>dF9s41G;P-4a`AbZ`}*u}90hs#V1a;R>PJ1KAbw$v^>7w>HYb z;pdd&4+YKBsAnw#VTD|KLlYSw{)m-ze$>DUUI2@bj z-AD*4G6J&HKOpd+6`3xULY3U*4v(J97JZ#a^{WPH1_}i@B1nqYV9y-UM+;)Yqe9Q# zeRn5cOP`Ybhr8x2rfTK6UIN$#tf%J@_!c!hA$JC%1=rDO^vu7TlWne9k;9^HV!*HE zsODr7bg`3v1Q|nZbXDgV)C6qy1}QMO!GlaK%Ta=1+a&?}e9!8@!c||n8u$~yl#dHm zJy1ln`5fISKqwoLrI18Gn!5P)Pf)OtjgYO~y%84*@zH;nKrROARGQh+i+|T){XE#V z+2FC@yTb?{+gp#T@!-LnJ;kSE6j4rTPn)`IQd~(>n#<(f{+TN;#nCGxYvWr=Pa4p( zn@WpQc&_uD^-V%>hzz|MF>!ynp?K@g)rIQC-Uxa8nxVhEy%2dFrh0o~+!`%CAlx z8`IX{XCuflatLuV56PJLl*OC)gsPF8E%&d_M6z}#W$Mijj^O!qF~I`ncohcZ zqkh*)NG=rj2Y%k)H3>Ljebo2;OQYWstETba0bTw{p7(Ykw02=n^CZj%^IvSkJ=0)P z5AwkA1TAI^mxiQLA$4{hR#dQd`nRpkB2t%fVvpv2xB#hgCvn5`SJJHk;j|jHFnXlO3aKH5iJDGX^C0WV8>R-b(l4c72s)~`(n zD8=+{9O2%xeR?2S53HUA&pYE)Ba3RV4IQfLsYCeF-TlO~jQ+mMt$TI|lv(rkQMD&F zXH^quoO-L0#kjF}Y&+(PiHtzHIO~s$3=O@&8ix49>^1QM#~&MN1WkvM98(D<{EYl= z%QH^Tj9V`t64HdCyH5`cJ<-on5DXm5ePj=+We=SEYVQ zDx}VlAylD+hjL(5-+9RIJFT=DjAuZW$;EPj7T_k8?9gGlSeZ{by&Yh`f|o71E%Kmu zlwU<|fm#$qs*p%De|YoTlm;n*)bW> z7B_Z3=c^ANUhm$#jG$J%+RG=SB%Hmw5Hs>m8u%(|Pu6BK>^*57S7yHzG%g%}Awx@m z6d1_r|3Ud#J!f8h!!l{F_=)TBOgoP$tAQVlC_L{k$~c*Y;+tsI@aH>ZcIe7JHJ#QV z_(8f;9hDiRm-)0_c>1Z0tEH*wbdZh6!MLTPgONZSxdzV;AF46D18D)s!ZjN(PjbOS zTo?jf(C((k)PPtOc|p4xo{Wn{syzqMuoy#diqFKVq~m>+m?-(n8$U}M2r7*l!Fe_Q z@+`J36!@5ah^b*MtNFJe#SD(rkKJV##>#N@LA(`(y9{QhU)%?nczlAHE2FQ_B<_@V z?ZOiK+b`Tl?9z;Y?EIh2=L10R?0&k2y+%DROnFvQkkBkS`Kz&4#r5M4`agCF)#mXR z0}jr;@fPB5XGjQk>8{a}QshS^i?x6L(!wzLy+?1Zf^KfIj)dN?ix1+K{m=#46fb$U zA%x$EJK>%e+q~Woat^f4ZPph^Ilm}s?Q9AR<>|G%@{PJkZocMWX`}isc8Xe@bC$JL zqA*tzHQCxzv65SDQj{d*7Hn_}h(1jDSuGq}`}NHReWY0c{Y+1tmN>Pc%e0}~p{GR* zYhZ5kx)gkyfO7$as(-j-xA#H>z0XYZKOec1r(Lx{eKb1N-N!#OA1t1=Fmhq~E%1Kn zi8#9J*^5cOQ99R^T@toW}$6+@#6IIa*64R6cf$2KZKp??Z0BWB3{`dY~kvk zSv4dUZ^P~aD1?15tx74hpHRjv5;X-}`*Mf-zwdKV*ViFT*9ulqY99Ypr~WLe-yNq+ zd0VEz>;QF0zN7k(&)_8{x|IlbWBCTY_hBD}LK0wX%qxC8?8pGu?)g+FpAw2szzIRG zMxd3669dv6At$!Id4*kwkbjUZ>`}fI?MzE6<5IV^_IehsaCQ|l);R0!V`v&A#u`WK zmva`Ss44xqu@KXJT<6KkCgNg`6^j{tK&Hoa?D}3zXKI|!q z@n&!z2E|wvPYA6?!2asiB|c}e8s3F2ri9Bx5w+8oSKd^DKLLFq&$L5q`b~dEw%)jP zO_7RHZHXaAr<+nSp3-P8xS|YbPlXXxnIOpwmiTCX;89MrMlJN53N$?8Krvk@+CD15 zosjy^_lc#K=ezj%iT=owb7@Z}yWX(HVC7NJV9v^mYNP6x8VgF!!}}6!-+n^{%PAcy z=ZZH{Z!2?pw;K;3Rm`olCS*9ac&C- zoZP1$kbhoz^l63|a9_td+pM`=+SkQDg@CyOG(Y2P3NAIjeXfBV(t2tYR7KxQqHeAZ zKF~7xlrmm7H`6TIt`H8VA($48YHC+D(Pre-GbcB%s%TT;e&%Xlh|2dtmpK10&A6k7 z@QudlUG4-kg~geKE!}l7No2T7MCZxFFc_ed9dPX z9;b)vmQ22{nXGO*`IT;GQXfclzJ1?@<{36~3~vz{*=?fZvS$7Gv$Jla=tsZpLqP4o zA9?KhFe1W??Ly?w)dc#Y0p?_*DrH9xP9eB6+(%zDSJP!AhM8{dB`@p`HaD353h2C= zqhMfh+3oDY3B`y5E`L5=8Y+Rh)lm+NLb62CYMJFg`Hhn*z^WS*@mh)`&Cj3RQ@75> zP9=a^Y?uBa$G$OanWfSH$PAT%94N(?armOWL8nI$DJs=CS>V%}KLvE~nWIixh~;+- znZ@{kgq{kfjoyZ)aYnlG{C1aEOaf&;H>$wCPfIL>?|A#u#U8lb`hgT zu)689WO*Jkp>`!w^OFI5*}7xC9m}Ozi=?f|7H~tL1w#LZgl$v*lB>#g;KQH#%az{w zH-B_=MAM=bPjZ-&C40!Xi@08DFJ+6rVp2~v60Bl#_@Y_wo6dqnR?!AH_@NiQBj7(M z#>vPI+b(+;91apDP|;Shd&ZAjQnTXXkiUxv^}!KVkIv8dmi39(DA{td6ZV(t!S}14(P&g4cppWc2jRUIdZWg= zzNodY*@Wy@cgi3V;E2>T#IQOWkIl@Js~dF_{a8|J1U*~^Y5S8SviUSbU32()@x_B9Q8NH&)nX?_0{ zlrBq+HVXAxKnCC^PdcjD1^G^std>Fzj^|;F zxT1ECxKrM1f0#Z{hpQjh@zUE0{1>TDTlaMb+^J>u_4k*qzH%OP=_hjuJ0(nXEp3ED z;D=!;mnanM6*MDQ@~}DggH7>AU~agfO=73y_f<%xS;KZ$@*9sgYSxy^w6Ufid$M^{ z(O8+__hwJuwH@UjT4vYuC4?O21T;xLm`=#HRaI85By$}22S zwe(h+{n+-u`VDIV<^Hl1lN%oTH?1@p3BJB1G1d-#VH`}N8@4CVTeff-Yc}i%STYM| zK4R2KQ`icvlwY;3TFP+2?X_`@uokA0&zw2mx!xUlz)YuU&CMoWrAA~?H+P@R_^(*% zV{EaQ%{6w-rJ3dYtCT&y*Ur1|%3(|Id^VCA^=b)&(qAn7CFx_{!UNSbj@eL8AXBJCRYd5p zxi)~Ze07LZbV7}}7*w*q{e^;{szjfBtB(lko^eGc)p)pO<%IIYe*h@&g+}khvxWIp=N1s~>=jLuPlTTALtm7_AHrCBBkv>!+ID z(g41xT^8<{{bx?z=sNMg+}T+p^dmkxn+$Jv_(U_`*vC#VVfo&&b)7Di_C;JR$6Ot5 zU+rIxNZD;|jSqFtN1xU7U(O1Sk}AsZ&cYKV>`oGZ3K@QaeD~(oMNX|VYaUmH>A2W~ zAuvuGLV*Ms0G(I4Qb5s+vMk;TQK_J+sgvsPSX;?_DYDvGw4{~5^BS{WSU62Do5KFs zr+fbPo%GyE*+d-=3~@7+08mMIe9Io&{JddWyo#tP)J=_Y5&h@u`N0W$i_ zr(QX8?)qRik~LmV&|j&AI~>3?$& z{nR4HK01)LchX!m?%nr7b6tJc^cKgW`sS#{u9?-O9d`#I^Qd*lmc3dki-WquC6uk7 z7$Ny$2wKlm+x#)arfKDi)TAxEFz&PY^~vNYtva5kZ^tzo%(R6BL3wnB0Zl>Cy--7r z2k`z=PKqwODrM~9{dJxD9DDBzC~cOX&m84XFuNTZcZmhwxd9BVHzf7 zJZtq2s#4>g^1W-TWoMz-nfv6vlra5nU8z^SN{(fwMJFm9Q=d@OBuizRS+Ndq@H>uS zp}aYaMbjDSa7fCYdGs(X^arY)|qJ{HDsw%$;Ad`*C8iaR$2%MO_IJ_zw7zF zeL*a~nVm=KR{tlqT8`g@$vcIYS7?C6aG)y(Kr0zslg-kSqftg%^?TrjHhIO)$YfHE z$*DllQ4-|{5zs64R%WR1fdPgK;p3U0;EsUf#AWQ-0`H<8A zR57C_aW@hepJXDL)Tx)Ri!)8&9{uROY#C%|VeZkp2m#^NLV*waP9zy z=ctt9G|+0GQa&`tOd?*GsYYG1sJiZbXO1A?$wuVnbmr%PeP6cB0YOpRKj`fQ2NT#E zC<4!o$nq^(4J%UHStV<-RuyVc#-kvQinecHPD%Szd0gr(@gme+1YbUv23Nuexze%7 zZ!{AGsT=X-PEhCFK(!K97{D$XH(yXeSd!V$)8uoY(k8D4a#8wVy9aPG$8@k}M`+BR zlkcIq{jlDC2LBSSy4T_taY(BB_vxNCOu0EFIb?pVA7U$x?ZD zCfj~j8{Jer(fv2{ljp{pAt#=#$-+Lf{|w)>A5z+WZ0oTPZ8oOtTfZfxzj)96>_yu9 zu13S2x_HBPu|LJ1rr3_!+V-sNw}yiB!;{OJlDx#P39>E~nPjqBHPknjn^u3dDwgH_=jQco@?o<2Sij9Gq==&x%Y z-1%cih**0A-zIT3K(w?Pe#E3|tAI1s7)X9{=-k{!_a9c+bd0MW-|E9wruz3T3He>A zL7g07K}S2KIi2nUsWhwPUvN=>NXqF#xeCs02QQ!aMuvU{@>IQ;oNYJ9{F<>ewCGMwAP_YedJfJa1WOeXwBVvxgEqjwRppsg#zjbzJ@y^z5 zM!QF^UiANo@q_UVtOl#zBHb{3hI{VUsl*j^n-=kc0EU*--+$&_>;ma!^g zXvKXMLz@|ENhc!g1Equ@3JM+O?*X zz7VQ>mc`7W0RV!8YINY{zZ$)|yQ6Ay9z|ZVCVsT!%%zx-eq3S07?#et7v9|uCUve6 z*)(Q4@G9h=`6rglGM&mZX&qwl_SJ!5-18pEXPKkbG5cE=s-@ePPeprX+kM>n`pW$g zIHY#Z2OqDSx;oo`HZID@9<)!)WXb&cTO){&o5BW!IAFd_!4jokmW7O|By!y~I<)6N zdlWq(J0F4_C`>bRpp!T*@XT(B?q=nv{PcMf08M9xeDRo3ig+-w~FI09SC z)*B8lC*^FEqnjdn4PQ$iCc>Po3w2La9By(ReF}hXRXlNwDkQjW!iNd+k1Po*gp{eb z?Dy8GwXXmC@`%>_>)WPSmHzkrH!MnNoo0Akv!2kZbQCuhU>q+<31GwW_;{bzCanO; zX{C=adHt{zop^eE_q1^HsUuj5Ssmd1D*YiPI*@2+<#>bMitYQxw~v^YmnT*e7iEO} zZA-;#=Xr&H_di8y?!%0O>Mz2Nn>qtVu6y1m+PIs@|3k2JNDQoWxixET>v}JQe@x0t zn!OW7yJOc2_!{@b0fA?I1EPu5a9oyn@r&$RtS5HT3a(gdAaS)qGU<1L>m9`p9yA+6 zg!fNX_-|l5>pzhAmuJ-ES7oobjkO-x5AT# zN}V`#Yr=fx9fcLheLlL33Mw)K(M3ZnEdjxUo(-oUA=zpdC7qV(S*-gt88Nt4M{3x9y7 zxRJm6sLkf?K=w85ahD_g*8cf*T)Vzgo8vfLlD2;mk9?Lf5>Tm~3-up{Jm06&1<~}h z>Nh-tr#pY<2Wqy##5H`-1UdbEm5I98$A&mMsO$Ks_A~_ACgPN-twzN?N#0u}C~E4F zQBEj%O)-*l;|;tCWIRlgl{KGPNK-`1rXq*192ndlG=6tjjtQ3J%|NT{l-82ahD35~ zBV0MC)Fhr!v1uG~4^!WKZZ^D9E__Ml1-v^;)raYW+_7!#m&z4`rQ>+tjhBm?2QzcRkQwo|uZhZ#%oDmD3= zXwFoco`~g?shb}l-nsG|-5OcSZhQA&o_9~F+!07PZg7>4;uXcz=HqXndc~ss6`pw7xv|L|u+xJPY?~nCr*(#XQRH zVj?lBMw)VXH}GU{WyE!c;=`%R@6qlHeFJ|bru-56Hd$N_14vU7Rr5_W@`7C9RIV!1 zrue6zd|{(;B_H4-a3*Q>XK@W~pVbeG8RVY`9(dXmKOAy?Cph^*!`iZgH1qYXXY~eq zq$Eughh+DZhoCmqM%E{26q@mf^xx`ua(X|CX~d7q<`t6O^$ zFcDk&H^O1zVY9G00&rH|bngM>{{S&T&c4gm#+~(}x|Azb9DglcWXV;yUJ+b7GAV^x z(^bv#M>c%>FP{UDbC^PrfyQ^EjTz3CVuSq6H_wI*g|Hk;%SS=Zd#b~Xya#mISFQG!o zC~4O>NOT!TrA^~((^x{bzOh!9QbGvcJ3=JHP1_<;sgG156r)XMl?rN5h@erNF^}=G z98oONmi6NzOxfDbu^3G98C4|&6q>%LX<~xu3@qA7lSRzG4Ddkmcsx0mQ z7X#ci`mg^|Ck82{z&9}$zhwizyGsKs@=anq@8E3t^r&lnsro}HrnpHm%t;K~`^MYf&QiZOuGA`)3 zqPof_SqSmZL%VPZ8Cbf`%jDsO3+Liwk~8Nl))F(+-fHcXFOA+S;)mx9kY`*MrD$pT zE;+kv_`cx3H4_7_x&+u)i;wL)@_HOoTbsH2Is+sum})_;8wM^&L-y_9uA zvgE~H0lmOeEW=Cs$_k+_ZGNc}gBO8ib$u2I??Qa4{H}HNwbEKVb;qxmd$AS5Yjl9* zT&fC!2p2=7W%X9KR$2KdJf*W;6SSk`l~(Yzk^GXv27 zKXbVnZLwbXy3gwx!b@vcS;fOW`+%=^?;_M*GnB5rQnKd$tqXv!2M*r~fIr$JgrwDs z1lCwCA_xfRoh!_UsEq*xhA1oooCW&rzTa#?#8|DhE;&xqWjLM+NJ^PNy2hn2Ybvdy zDNLD#OMbQODD@vc{(MQ3Awh|Vrj+sX$77gA?HuQl<2YT8$GcCb;~~t`rw<=*ZuUy4 zV~eA>ibPe89-9Xz(mR-nV1oUW0B+e za=y&Q@4ox#UDvcADCEzlFLA!4%fl>i39$g~Z*NP~OV@SIyBNc8 zagA@{eA466(i@EwB^l$Ib{j6I z>2zm|osM7PX_#k0?NR%t+c(sI|CfK2a7xqt-N(P5&xc{0yDqXw%*8f4GED+sv=-IH zOmm3i6i(*}H7aYg2Ii7gK}Kubn9f?0Qfi6&bnPZMA zF=3p87^}Ljd3bo}y6rs0uG@%U3|W|(rX#fD_%P3*ZQD|^^XB%|P1|{q?0n;WbH1Fv z;pyLD0RUeI{eF!jS6$BqD?jVAE~sk-L~v0MR>z)2R=ZG*ujYoZN?%&yeq~KMf=AZ) zGjc^em@8#jz8Vocs{s}OS1onj*T>t6EnuCQE-lP8>ar9?lT&O)Sq!4FwE z##H!7DLuOi>#(q;DPFt0bq-JuzD7X-tknolO5d+$hwIx&1>et>^s27_0I-&p3;m*^ zTNi}zq*9Re%3LA)Qw^}tOV(47Wl5EyTF$LEBdi>CuHAi93RB`L2zE{_P5s)!U&^)$ z^w*t~>m`$=W_aN%r5=;pv8Kx{di14+x$f;{t(MfeT4+kGd=`h?uZyl_OZ;YO@qaAN z>sh2!p6?L3y4*e{16Wo?zad{VAqUQeOXSE)2IbB(`P2M8>m>m}s7jv$tu{KwV- z|Ci4Jz}l}QrF4Zaf}oT_h4n@Xgsccr2}5QerL|HtDs1V zVIowmwM2RxgA#uKX5Te%|K;;EovrP*eP2qxzrVlxa@TKnsqlwie?A}XhRZMvBLE-1 z9O4{(=sybH3y( zM0%W4y37p7WI_hAo7eBYZ+sVHCd40huX6gSCQNJ z`|gMHhk^5)!k7+s0Z$t)Z@+)16sLIr25VYidAR@Rtl`a;sX$SvjQ8F*O^%~(_EXNf z7Qc_Aat%HbSj1}<%KuXD4 z8)MX3=bTf{TB#U9&TOnFmXwMBlF~6nBCRwLfmR5>O6mQ6ueAC6`E!hUw|_kjb19X! zp+ktJu(d{O%B6U3o7Mpo5!S}A;ANP;;pyKy9cTqRp0(K5B7p^BuG{?ZoR40yX7$j# zV&x}Y<|-BnRrR3WT_^PV;O*OA-s zEVuwyB%;SG4rZw`_veTGRLZVJI{?o{eBTOyKib1+)C54FwX)XaT%<4|aL!yx&M~FP zr2sRRqE$5*N%I^*GLbT-PjLu=H7MV-VLZh!J{<2)$A?mq_ifkpo37(hQ0Qj6*)~nd z`7)fHw%XEmvmL`2LWpzBiO2I%vN$3DdUbQ#b)5iw|Kp$LISk`;bBnKDzqYpf$A^!{ z<0WOddpHgA(DnAa@89osJAoSfo;gb?JWum54A%MG?&dOtITg~LoGD-#eNhcsNx7KD zYuoTVv^VtLZWW3~PH_-1hc6%g{ogg+|9nzu9)aF-9vuan5M1l~Qf%XOxse%uy2| zVN98{2B6HW#8~6KHz0R4eno31GEQ?!DJvEbonkRov0y0-2uMJPiJ3sGqR0|+%B4!F zOiCpeK}1D>g2FNk<2078X*X@(Bjl8Pw-HW~F2iZa^I)yZq5usk?Tj09 z*E`{dyU$@bM{ zxQ8%Z?mxEu*6oxs|+ZgbI{7&zImUgw^fq?$(8Zm3pJGH7jtv19>_%LD*_E5YT(HvuB% zoF5(@LI_>gS!+`cAqHz~-}lCtaUAOqAcR0fIcFlpEaMoaIg)AxDCQzSqztp55)oF~ zXvIol%_X?Gy}7^tTL@W1rYXc2=Q${XoLMPlo#&F;*7tqWwvI@MG&3B>@&52_0`PkT z{jd_DteM|WdVn>6SSUAZ^s{g(mSn31AFM5Iszc?{;aNh^sHqBD9ceP4aAd0Pwg7Rn}Ys)E0xzm5h6laFBCw zEu~)ad6wvgrC54?=X}(l*Ia_%BJKX#2kHH}{9b{oR8IZf|Z9V<`V{uARp5bRPcx^Z&lTKm6%Wf4bT4rEuG}*4Pl@ zFpP-M_r0;!B*<7$H-RZ6*eK8FrW|rY?KEI3M)mvNxczv3V2KR!?z_Lfdi4%C8bzn$ zY)tp&?FLc$esaDW$MN_u_S@~lak|+zP1hffXTP6J(`Tl_<#c*D91g>9+VA_D-8P0% ziXvA8NRx;p1+?q^v7CWp(>73;3~5EcEW#;?JMO+&_0DJ+3O2(grMI-W#wDcJap zC7j!+DWF%G)tVhFsBqQr}O%){l5!b`d7RTQgl~BIciQ#;nz{fhP4K#d zyQT#%#yHC_ia?CzN}*ZYMP6{+VdaL7E1J!tnIk+CK|bZGR%^xDjJyUX*4BOnUbOJ| zmzM2f%DL`tGBYAE*Yf+(b!Ux|uhyRgPlhv3Chp4<>VRUAU|wetPcx8e4{8i4_2f_q zPkFHw_&(#j1d5G`U`& z>rGqMhC*v)#edQ`|5`1uNVM0bT|M#o?{&A-Nyz#Wdi7>~(g1v2Cp^ED&x~bXe8y{q zxpqOV@Z(zn@W*__I1&~B1j#wg0AQ_SrZi7VBSA65BFIl}SG7E30pY?#ia=Y}cmuD#$&T}VSNF>9q&(OU1e8*7}_ zMi2{wYdawlRL=V!fBdO!w}*$*w)21a=f5iN?(XhY(gxjjbMx?U2KYq^G~N@b6jRQ* zX&Y`46jRAl2n0e}PxHLLd9Agi z6ak7c7PZP*O39@Zq8b(^&S~#lDk;t>^Q;t=%nC&$W0~VHD1;Ep!^64j_FPI90{H~8o#l|6e-rYzUxTRaJ;{L`<-_Lc@WlAL@A?DWn`9OjLv!5-Ryq! zwtzBzqjZDHw#u@|`7(}Uh>2qoZ^#%MQtBFQG-^$xAmzwhUnC8~MFjeOqm+&@rj&*2 zx8oz(4gj>)BC=S2t_?uf5Y1ZKG|i_^pK{KxUcG8tzuj!wwwTq%057c!D?VG=z}0MIVF~?aHtiy9 zT?_qm9ND5r!1s3aj1G|u81^` zXmv3rS{mRB7P_)cq;_GijeLA=G_-b&e5L?iK-gl}^BgiF5gMbel?m0P+l8>CHRep$ z^szN+m$gXr1xsq-8ZD_(l@Rg*?ysFCR|kn#4#^{%f9<<^?P2p;PViNoxu~w;8Yj2D z={+T9RajpG9E_Zt`DYfaZ){^OfIpKO5Eu&OO#HRyP3t1n8J z)w`^((b`b|3H|>j=7!&hV3V&uTvgm$gPH4)r@rj6wO%}b9lWqSZIP^e&EZ+J5b)&t z^k_9(%46fH1}t1Z6kLzz8wKbO`zR%88+v|rpB6^{l0Cx&2DcSKTaXA^t&5UW}0KuskiUn_uJj)FL#RVci+8p-hTY>F$Dek z)vI5B`DGf@@i+{Zp=q4a+FH{z&S)CPi=b}17PK+SyT(VcQ{Zum%3AGc7zWDZ7>bB6 z*tYLBE#&Rt^FLA|;K(`k-EJCAcc)9=b+@;-#u^Xex{ZjW9D&q%nCvkA=p7MC;b|I& zap=45X5U*)F$^e}V^qo*rHF(%r7!{TX1gsMIf0;(ELkLkptXjQO9H%pMIn;WxZ8N6 zDaN7@thE4hoF}Clp#mVrshitfmaG(7ZRUBB0z~AjtqgKtDY=}_=Q)hK+ih#~=>#do zd7hfCMHFTZG3FTGyty?-mBO_vT#e`JSD^PUCoCx`5<<>g09Y$_nt`&GLLiz{ zAw|X(Chxl(1xcYkFz8(1e7YbhO$t#6AXk&cW`lc=OSWr{h*G)~+$t=6QiB7$iO zBI3Pw&Xpo5l}*1D!D$MWUPYwp4YykUE2UCO%v=|Ckp#TpST{}c{rBJ3I$^WfIB)vC zpU3HVf8fH~-BxQIW6U|%8A2%~rA&&9aWQfTk&JV$O{E|aX$1((pg{?VR-_yu0U$Sx zCt`tuB&8HYvQ}?Z+qC}nb}RCT{zYIK!^81{%BTDdPXAt6Kx^{MmCgZc=k*tj$roS$ z3qGh&Y!ziCl?bsI4qkinysmGTmT*O@F9Zflw^b=btj0Sv%Jf<)^fF>}sUSNa$%wf1|dka1y|*D+m%=1W;siAgV9AYW7z zFT$a|#%k-!RO#u9QRcEZ%VBE`S682>=KYITtFf{b^VRuDwF+JN+{@w$x?sem9$1Q# z>$^Ys%q$DOb}?Gnl0Kc_QrE5QCZ*~et|?t|Ex^{^P>)WO*WCgDkJ(<=LWpuMM6#+R zaq$#dvYeNs+f}aC(=so%wo6}pAv@JUL7h8Uiwgo@r@XBd6l+1ti&E-0JMLf41SB!e3b!Sznv^zL@9y<`}S!m6piug`)$|<`Iomq# zeCrPnU)ruWmRw_Fj4_t|?o}>v8t2cSKPn~O+nfF7{daFS-6rKS$6~#lr;}-K`u%$; z0)#A}Nr6ZzrD-f`n&T`St;VkJV~}Rk59fQ3;;c$sL@VX&m?B=zuV23+BC8tbT}ly2 zWwhfw0YHo)7l<(s;_ZIlb?)Kt88~@oMMPVxt<5>*7*O&&%o;K(1wcePB~FZ`6yuy$ z`mxO-KWKu*-NEl<}xorAPjFEF8R4k&5 z(Z<-;#SELx=5QRWFeV7^8Epwytx|Ij6#fxftUJC}*DLFvnty z_7({WDQTS1*y%DUK;3L&5~Tr@<&v~-yX{RR9>H1PBrBX5}qqVNJhqH>13Rjj9k|G8WsIGN@NGz-rX-(QF z>vYQ5d83t6N*PPm>QeGB4AwfO^fZMqCjrWd5!E*^{RgN7zVJPIfbFW356${pCq1GW+A`QPl zq6;pp+@W;>?m`x-9FoWT?jt7~0cee)mYm%M`Y$MOu?l?=!gZB8yyS(8$U495>&|hF zQCn9LRXb4&t=|f1lFEJm8n9jOSGcs6SH8rLt?q@9{~}FxofJ_Eyk*`}ZHra~-eMso zFPws}iU@{hvAA-b=inOeE?%pv0D(sXS&>CQ{TSqIty=EJOUm2zHKBSg)QVz($je-4 z-H%^3*kU~TAHe8GztJVd;)OKg>(AQq5nIr?{FYF9(WES=Q29t}een7<7f-FawQ6DW z;{Dfk-SgBxM3n1DioPN{!IjPgYfsy61;8Kep%6+*S2q#?VM1`mXwphJ<_v;LJ2Ywz zImG0gZ`-cc;wdIX5GV)&BGWV>fVI|IXN(hcsEujN&0Fkt@5l4~-REB;^BBv%cdu@@ z-~aGkDR4TD=hMk3R4DT_XswFKr!QZQ=d;LX`{~o}=5@E-zI*>}+qHnGHFA#AcrIKv zeUoCAEU#a^3Sl0Gp_?W`VNRD}Je|(YIj!_O4Z}DMQ9426x{M8g>ADt_o)(+%&%T=PnQS4qz$#c zzxa`J2_dFrb1qHOREU{Ua?T;*G)-Eolv3YP+c@Vk;t*5xjUxgP77=TFV`1m)>2zde z3%W2T>zX;uuH6_17YXL*&!-1w(8i@0P&Hgij75>%c8vfjr3p)nQwnDSBt$M4C8o`(Y|C!X-p+)!Q1WbJLNtehcN!X?7hj4ELm1Jc!oRJ+ZjE&TrV>T)k>mXBX$^W_5n;>wdr6ANnTG)?WC zW2SK&dK!jdPyp|%oO9pzA_ApbiKt33iFE)(F{Py9kzz_Y#gq~un)}ao70E~Ai$uf# z$_T2-I!z~#+8=;VnxPpB;wf-(0-E2XVIdELy<O5zHJ&^=P#@C%rs!6fOQpb3>$wn>3rZ=woPmKeaH1N@#A8>K?VcMLnVuuhJNp zavqK+b{fYv_5MpmQ8x4BhB>E5y=k2}E%@VC*;_1q=4H=M>c>yj*D<*5k=NFn)44gn z>$tX4`~tpNflNHBqpJAP^dFi@cdv)- z)gcV|YTY&UYOz`^7KSmV03eQZu~;-seg5>xZo9p{x{f((>OcSVdcVHDSaxUU=d8JF zsw^^QQ5ElyD+eS=G8uFE?D=Z3Xez&1-}L?F_3N9eaw&)XzRzUC=yq#Hw*cEURn>>l z5UrMHS#TUjBtolM(;-GOmYB~jpQd3TRA)W2<{WBfNjZ+evv&mB-ByTwrws7q$y4J! zfK7)GLh8EKIaZ}*_oQuFB;4)yNUREE%%bTek9III49?mZ(|+G0anp7&=W&c_Gzb~l zC=#M7s!EE1m?{xbBv6u^0g;eX%95jRJt|nXB7%TSCa0XD0MMb2%ViVO$kq+RVN40V zRA>R!Sb6rWy}NtG7@hCD_k#@k!(qAXB&%d?+eM7S;m{+ZwT6hTvBRN{F*;|@&llHs zYs11U#K=IZiO3k+R@5lk5F)VKkHHvbwrU-K6(j&S>~<=;yr|jvq(*`2##>v(B>ga? zI1p=2eH=$rL?8uWHDS0NhP%vQyQTL{*ESGWGW4QiEM8u82T3n~^uwxKBALr>S+Abl z+};i;8D@+jr;tRMO_C5(QiZl{UES5~LfHt~x@j{|N*R?Dj4{@;6XS-s^Og0E0CLm# zs`6QSHYQ0THg(-tR~1J*CYw?=CIV(Q2pI^-voVOHsAgfrx^f~JGy{kTS!+Zx6Xcwb zP@(jwG9o%_3{#9DjL92eFm>H_O?&7MDJREPnPbdE1`*g;Bm;yQ^uGIAjD7(PTLJ>f zSrei#+bL%V^q$B^K+btWWRzhT#$gEKAWDZmjN@>(-iM$eV(Wa{cJJ`?m-KPMRd}n< z_lXpE#*TQv{qTnGCl2y_zuSWK1~)RL#+3X}TY6 zg)~N)xbG(;i%Iy)Jk>Th>))4y)5)4lFmY}ZIZ^Ou8C7s(p5WxqGgoTP2~o$hh2!w# zEx@k8_c@h+#{7Xd6Lx3M>#?eNFnFB;$IFqOSq5d6a>DsJNxYh56{PWm{-j=- zO4+H^J)4tE6B3-II=m$|cwUuFgNw3jX2wtt9HA4`{#H8B%zA4wFvV%l{G^0|$H$pV z?N4saqhEUb+Sf@EQ!1!}{!4j$l1%)r0Ql-W;ushS5sL$_8YCoyteHX8Fv&gf4%k#k z27p8m&?riV3^|Q4NE`v<&~Mjw*UplH8^XTz?QVM))En!84KRE5Y@5aMJRj~LY@IhE znGk*DD&vQtzgge)AuPjUwOFj$?)l{a$NizPfs840vz*{nq*#b3g8{hV7lJ&Maz5 z%=UN(n(o$8hL1 z1p*bNoCn0rU^oXE`v^HZi{9rfDZ?1EcLJEZWz%wf+vjoUKl%8x-PsvXm5r~v)zA-> z!6z4IQd;YjfYkbGv0MO|Eb6@Fs%2}ksI?B!)=YwV>_tRk9KA#Dp!V2Qj+ux(TO+F7 za?y1QV=O2cPS)na&xvs?gEcl(c~d*TU2nRkt9&)YgQ5}(0)dh$0VpFWW+KWVCc>(! zRAs%s1J$~!i8v>XQL4sEmi=zmE;=SgX4M3WS;SaZ)lG<5Rhp(jQbTBn3>$Ae0mc|Y zIvC5=8&#F82!y~X=E6L(hEyb`lvAjy>g?=Xfw$W+#vue1VO22JH+B6ENq-5U|69EL z-vs?LAMsNopc$C~P7(v=kav$(4o>?1SXK4lxUiC*Dh9@BP$Td18Qcrr{=|bjcY(l6f3172L|9pjuShLXa z=Ukw0KULMO-AIb8~;EZyQXMfWjDkNh{MD2Bav%L^e6T2PipU3>b4#$ z5St{i9-`vru#e~fYy|*F zOkk_3^^J$F4jT(;pVKHRNs={H-82`M7l*#z?e_?9)-BFftHq+dy67!m&sk)@>#we^F3*-17Z+o{yScs^ z_Wiy;AdSNiebtz%1JvAeTQ5aN>7(y11WnXr45F=L!koewA*$ptvSz~y zn6o(N@9wsre)jVEZeKTD9I5)5x^gC^zHMqo*!KtLn-Ka%R~-)h#rb*8sqYWgnfXjy zMT{|$A?M5%&Q@K_qh=*gytiq?Bmm0JRwl*N??5xC;{8VmIagO_7odXd**9YVk!X#{ zl6RXs(7arA!`P3zTPAFpE@#{w4moSG1_>lawq%&IXvh$RkSo_L_xn2sP__P}7f%B$ zGPFvTETCIr4} zD`OeKSm$#rOjT7-L}X)#$ryh5^6K^L*Q?d){On@0J6vyX`k_C&SdHV5MXa@z^`d%n zdxy%tsiKH=ZnIrmYZqPH_aiYOg0rUb9!mi*^e%HfibD}C?fav-DmrIU$^b>WeIF`Z7H$$!7p=un3Np3-@h99VoxDex z?~4Ru?hA>di;lkS=HlbD<9qC0633>Hil3zXK1PqxWCv6(VJfZXDwpYUN@0A|i{Jm) z<3KlkT<1L6HuHl|5e@Ljz82ry67LFtugXUPk%A&fOd_hzIZ+HLIwmHgDnQ7_0vlBY zRAOW%P=TBXL?t5vTZ75A-QwBv_r|a{*0I6;VQ-BWO_Bp3ph3&Ph!)A2%BE&>yA4C{ zn1CRsXuZF@ynJEp=I$=VwB7GFo6Y(8YOz>kl^ElPAG{9$*EhF6`t;Kf#&3M%qsrRV zqTTGap!xj#0(6(NUoE;g44-^@v+Sz6_Fdb>AbXL%A7a=qR#*XT?rwJLtJUSx#bVWU z7pQa?APzYj>+0GYKPC+!#Bm&lgEMfxs@ke45rj!}7-PRb42O7geKo{XwM&cW*pQ+j zLIFk! zAR#gdNg>g?i4(5_iLC*uzL-R`iHzP>oC7d2+k zei-}xZa*BD8OYY&xyBw2{b)U%Um{Xv9UGGs6c7*q1u!*@S*_|42|tc~O5yTixgUp= zk|7S`NW{mkCyHbsZQ8~;x8Lu^VYl6Hoi{{yeRFlUxkJ+BvNg=aRs_eCtYttcZiQ@( z_kI|L&p-dXJaZWO7y}^GO>Lc7-);cF7(>kK^?JQtua@UT8_P68F?-*4fghv_=u%*#Ld%M*$NJ z=EOMsggi6nvCKMx4@mLILB|OfmB#f~hY)+fh1SqSBaWevqinYnY?4>7!!uWZ%wMVTDO` zzY~u0f&2I26L|wXL_O%dN|~+s18HZbRJk|eE3*ao330#2vI+q1Cl~<5zP6n6MCh8U zAaoXbt;gffCU)Qa7b+-Ubi>?CI7*h;~t5-jM^)gzb^Yf?Y zmroS0Qx4stjwx)n>kx;2f45z~KEHT!e)-HaE9Iq88uqHOYZm7q>|M85oQ>lFAhrw7 zki&4uSyM_$aTr4G?+)9I@y?+bNFzx2a`CjP+|Bj1w}!~F^}EBEQpzHR*!!9|r36 zNupsI#(|BIJnI^#x(0-D0m_^NB`97oN{1PIKAK_KOvK*$Jp-&`;lj>C=_&$=2Bjj?A-&(>@Y zl4D>5U%9fLAw|Q+Is=%UM`K*uIRfzBW{KV!=S)u7TSr6yTGql*|0I8ADgCQvQn77D%Oy-YzPU}ISbi4 z&j65fV&+5YLD5<(qA{dl2%GJps%vX$=%Z76dv~|r?U5`fGAS`Ojj5}56M(PGSYS@r z(4SB+Ja9rLe!MXc%|f{6UhB+4{@!L}PPSo&dFOS`JkI$(qIKfpGZ%NdViP12i@m@a zV+sJex2BoVSMDt%XQn+c`vQ-{2a*~3p3F(%K1UYjM2lnfa*uJRlIDJ(Nq9n-nN#-X zw2jHEy(l6IWo1U1dNBDZ>r*V1jyb*$z3|zI>74C7tHkcVTae{A=29;evFv=N;T#v- zIXje2t2e*2N&jlheYhCR1h2E|2RUmrMGsrQG=$K}u zIZH`Pm?2kLfUhJ4h{+gL$f9JZY#$;r#sHBbs0xx{=9p4Sf)t1;r-Y!E z5d;m9F&KsGrc+7#!|wL_y6=aa<8as<_G1K8vWGE*abQB$h-qjYTb9bXFa|tBG4jeWpbkU7-fXs;LrAZD+h0DVwpvOO&CwE|^K6~1ZOCC5$0)$o zWMD-KDJXEaJln;6j?r6dQCTI2VT`P5K!uP}jtn{m4JnaYWQWE|Mo}dNAVg*oQ@kU{ z*z!6vmSc=r5@ThoF~Hu}b=8pJF@!@O+jb#3?)$j!Z|bIL+M0=&jS^Y0tIluTbnTCJAfz{Pe)cei1`A3pu`ix)30f7ZXKoBD9Lv(}F3Q2A!HS`Pi#5Bt9F zz4vuptBSP`qj5IOoK-ar(K+ueTY~~f2!zPQXeh-D0K~}5ki{@LTdBYp4~WLNdN=gI z4v5=!fr|ZZlfu|~V-{`dH;!xPeOvo4Hk-qK-?j_T1W3jhHa=yHnH<;3+H{Mvx z?}>mw)>~k1#-VB)A~dyi&ec`5-)|R-#xkp_wRRlG!Wm5|60`T-hzTK1IEKhBmyLqD zVO*?M7Z*=nUwwYqZ*tCtdFX>NRu!_Oe&|IcjH4**_kGSfjxmIoMI{9V%{d+p$vNLN zZA!A)Zrg5odHG}acpjzk1Zs7l6|k|3t4*0MDwgp{))5)vEh zh&YVNx)hS^`?%Tc0FViD%9Uf|Oy$wLcLl(gdIA7%5;jiU%4d`neWU07P!HrRj}?an z&ELClicoAso~d*3*cX2=?wtF{%salSkkWlvZ2@G~ zVvJL0D;!(15A^Y4@42WH9voCAKKh&Xh;KNhzJ*>gHQ-OW?B$7q^NxAO_wid(v_e6~ zbFuP?ICVY{D07mk;t)85oU+opSMVVUM67_mLTeoniv$ta?GJdYi5XR( z)a!-`MRJN!VkCqd69TCsk^#XiX&lq*t1HL+!Sm<* z4mo01pPw&{B~?XKNolv;I$OQ}{)bF%ci7)vU$5`(Uj5Vmd$wGD^o?&gYr1Z+&7zW3 z0FtQ0&F!e7sv48TEJS9pY?jN9ZmzFhAzj~GbG5X-tLloJv5r|A=PK@ppk3E3nR!2K zudlD(d%syNnjz3`bBkOXUq#_z9AipD2!=h9L8dqib-QR5zJd{AKMaS^@5aN{G9q(- z*ddu1M}>5prIBM}nSqIjRREN;WMTtgo3uJD414ctUpa+53`12_)|%aJQ&m<(VvL1N%gp_L5287S zwsN6zITEp=Y6dYx&Rfu!Vsw^+CTloJ24prq(J+Rg56OEEh$`7zK3jBqjm}_>YEaP` zV%+U^F^oB+TzCIqQgPr7cAvLF+ZMP%zNli`Y88M@d<6w=k zmaEDlw#F3GPh>U-_kqM!<#Wyoqhu(qcZtBdDyH=M_3NzUtP3#_QH+5Qo2G8Ns%b51 zdnPht7bE&NMM0sy?{5U30Rh9OzY z&e7cX{}|NpK+T%s(x&2MDhiHkPAB$0CvbnR7cX~t9#U3P%;pmkn7K$zuBnChe>7Ls zWAqiy_*4(MVDlru(O#B_j1g5np6zsy2eX}dDRn&51LbB;f11{3&ewXgsGhF$7>M!6 zV`@rQm>Ce=?`KtrF&jfgw>=w_JxINaVB@VX$0=oRF5^Dgw9F6E^W*tI&Jbgs#u{_> ze;N3Eb#uVpX#j{34KW#8Ws#J`7#CHM#1Ipa+y|+nF^<^)Xo{JT*xDRph)Dn#NHQ|9 zA#07Pz1I}Cch_}gn zubr!_Zdo@=pdY>Zm;dqcC;xnVxBK?DztuJE*bg9L4WsI?=?&Z3Rq@aVQ6-d|aw6~i z+3Kt^-e28B35&*5jolymnAG};scKf|_1Qbgb*WUPIivH}qjGg<4982WL?hO4R?L*DQEyY;@Q9o`C} z5NM3!(s@u#F&*EX#W@pWD16zNGGl)J?7aVPU;osZySwYxSJ$`e?dr@rW3t5Zxz!K* zwp|d_H#gVg*n97cVI+{8ku=0XAy=+$yBd^{%os*O1qSB~Gdb@>5{LjK$z#?WLXRlS z29(5lH8ukpV-VC?j>7>`w5$Y~h=~YHy$4iNZO|=@iWmeT^dJEVJqSnuk&bi-J%Cb0 z2)!v?xL_jH_2}tiCU7CnArQY*?-@X6(vsf#K#p2}TJTuRknZ0K= z2^t%@D~_QoXJWGNT=!`)BDrR5IqOd_SA)G@c$jk}Xk%-}{8ZBZ^IG3^mS^`S_};lV z$KhJ$gnxBFe9Yp4wm#b)YG+B>iBqX3BvP{M1qs@as$WZg9c8eLCk6jamk4_u)RvZ= z({S6GQnXH8mCIS8$$^dt+Zqc6^*{9FpF+j9c`RiLcljS!CVoDj*aU*4B=Xr5+`*GzY zKlDF-4KsW$71Ei6rsI7b&r}qNSHJ$`r zb&b}k`1-kjjamUOgHM*ek71a|_6+8Yxa!ijhS<3rRC%y;IH-HEmKn4$OTt~&TcHaO2u(3$) z)bne_S}vt!+@#C}kdd#&uL|KV`D7DB0N1@`s$w`-n=ZlD>0;cI^67nEnxM zFcaARWM_59VTQLq_Qchfs+#PYrO|ar9VR`ov^)@U@*w1V-`c%Vn$+we5s3|Wp*{Jx z!*nuByKR6hH@haafNW~I*weea8d1%&A|gUU{#t#4>oLi7tjl+>JNDYO3_fh(Lzg?< zmES7)qa3hS>)EKnXEivFaT9T+udm1`8{i83@eRrw!~Z&g6~|vW;)n!xP@NRr@IlJ#d_4+}`s;Ab{7) z#EB{$CVwd&MLwV4Z0qh;Nink_sgv6ea{l~d$8Rt2*Bj42O!h>Ha5xu?zC40aR4;wM zXG8g|iP$wZ=dfFiQld~>@-7<#YkYf2-i4zi zj0)u4f-ZR`_b#q2>egRs^ynK0avsNiA8!%~LZ}_;2LK_{PWd62x`2h8y3|jO$$^MaAiqFK-8wzl`KDyZAs= zuXFdDcdopfOz-cj+3Y_x>&pwYTKbGmDEPON-lCIqq8?l$15~zfYe{=Um|`P$m4jNP z$KBzeC*r6oO_J67?qbT4uE{Db*gfx_QamZIr3uM-+Yia04e74-uXgmj|GWYadZU$IhWxTlDi>>3$ zyZpPhc-0|)^IIYP~U; zo@AuXmDjN_lGio&A7kOsw`*b6Dzq(tK-r7t>Z1jkWUE+p5E&l*Ey7|{;C;_5h^)XC!so<-&)n_!l{r*%Xhl`u)neP33_|edY2#-GM51s6ii` z@P}L$w-Vg8eb%!6g>u1TB^KI9GQj7)bFzJLDHM@Qo>4ZXkzds#ULXN%u=C^H@_+Bu z$X$80wamVFG`o9x?8d6hw86AHee-UXGCJn5;fL`*JKrW7NT$o3Q<++y-L+(KPF@ZE zsf2}>ASkuoSy;B5A1=OV{oARqw*>aJth5aJWZCwFS?_E)orlqf z@-(JavnIPYjWH&51t6PV7$*OoCoK;;PKj{&y@HQ#H9Kgn|1}mwAz5B-4noTxc6}8F zS_tp1U|m~ZHC+CUv^*b`KY!lL+T7(gDgaE&%$hMZ5ZLe-1c1fqmDK(*Mv4k!b& z5`R>XMa8PWo)%!#bl%Q}k&)9VJJfCZo>@_n_p*N<_Ikj1ok=%2U_Xx*M#qAtiM66x z%lh%Afu$ zAtM2yf0P4+*B2UF*fs5>ayxGP3sB7Fkix++=35!jQ6U&LYDO`_*c+4OuQryRw64eZ zLZ1iG3CQ8_QYzopu5UO?&zDK6=ZL;sfBk|gjV9l5$9f4TluCWGcePup&2lZn?_G!3 z+jLzSok2exwyZakB7p9w=MY6x)78irJS0#>>VY1w_@q0P=L0IC5_`&-X)}XpW+9Vd zTW49Foy=^xxi=w*k)ed!YiKC; zjP4C?D2hHP)UfbOGC%$qJ93#PFCPMRZTNL|u}1J6^G-mR8x`~U@N~pKqFY?hCb66T)aAaak>8D^2qY)Ay5kjCUOR^ zbj31-96Sm+__vXFHMn<x7>g;hwi<-K3kBUX9cO3-6kwO$hgl(>tF*2+r=_1VR)FcD1RUT5~; zX>4r&LA7h7)na^0Ev2#IUl;l(BGu*7hC_=VwCkp-U&vjYgj}2h_4o1d^PnQc zBteTclfJ}%6qavN@icrd8~4Wpbo2ZhKV$*!wSAF)GGG$$4=Q}r!4qa7^x(6}9gB{1 zLo_xGqhTunb<3#%;v)k@fhvQticts8kqD8mT-l{kL-A=106|>*IsX&1u?-gGFlxQd zp%P{jUBy9?z_#cC7LM)28!{wR*1cxV5CBFMU?!wWx@JtTy&;LUzxlVXAqS@)87xa# z>&owJj(k76o7PWem|phEhR(!j{vH*e%g5FY<1U*Gf9O}|cQGCR%pzO9?X&rq_wN12 zj|b2=1RczJbc_Uyrl%1nr2!91&YsB9u%I75BnYJI35MQPiqK|@#9yaj=T8b{WD<*2 z)}o3_7NFcI$Hjg4R-w{twg|9x*~)Wlu34KIwK`_`3=0ie7@ah`Qg%!`Ed@1fcUKA% z=QwKJVX<$ceoEjdi}(vN!1Ojy>WMGMzlewgN_d3Thczze-KW_iRjZTu zGF1li+?7G~-_Ga*x9UmB&0BjRuWjgQIq1sl9!4ZsM3wEGSphhu1W~!i-hN|fF`(_w zxW_OJq7Ej4#=C!ul-oTH0m)r;9*fBuXFq@kuv0OwQb^7}1Yfq3xQ8JjOd`8!*OmXhY=~w&%1a zspg@*=mpbU*kBnf$}?xz=C}ObGSe3+$&A5h)vH>kleH2d+ahcVjW*R*`wil@O_YozD{^nw;Vc&F;0aHqty z=^7XB(pTu|P+bKNsXUrbJNRlXE^{4|-PB>%WJ&yy)p_CPecVWO%9%&_z`d3OabCFc zg`hwM!p^cnC<^w7j#ZoGxGYtmbM}_i}aU>U=2V=xGQ8$>pK$)ge>x64T}J zi>u=_Ks57etLAbm?{YJ*^`vD_Hstc0DP*7N>Nhp;bNPe1^&n?YV&igDo{Qu z<{D|QQ;seAjS8JjVkJKZjEq5l05m3c$DI|es%kb~ea~};dvpDlTR;$ZhtJe}T;zbq zbk*Pk<@&wI;5xO=0z*kk*(i+g=fD=VP9TB^IgHCQ6)+tgZ}ef7?BPyt&o5#+ zYdbDylKa9i2XoOsBnOPvzuK5RaT^?Lb{hsS0mxr%Yq_a1ozh(|c167bNyCPa{biF6 z=5xEpk?95!hN>=cN^=_|nd)T-%8n(HxAy{n2SbjVcP*e12M4irq7>N9V%Pg`+B+5M zbxN5hrQZ|%DwG2KgHt^|HwEvOi`K`L@vpcrvfHqeS*u(p(Ho)6ylF&ZXw84e`=)R! z$KEw%qw-YiZ~CNSw4p`{T&fhMPV8&L%;thwU{!9%yOvMIOWdJq-!l`*^+nX5c&JZM zb-Y#{d;(CBP=ifXEp?EUm!1Lhf=u%!o=*fRXRPiKCEmf%0yOK{*d?&n&+dy~&jrky zr(7Bb^=HM{`6Wx}4RDh7d!G@i)bAH}!TGM)CwJCCuZe!#cJ)2EFwPj${p#&F`^F8X zG*U1T!P}tSEF*uS-EU+hDAgEo^iKl%I6P{2Ey!3@ZO`0d8jAFcGQ39qzBqVF9=LJK zpCxx3hff~_AFj-9PcDeigceDx3LnN2Lw;YzzMQ)Fy%KL}*`m59f4X=%Kq;WfDcK_9(=<_uoqi;o61? zbmjK=(b4+aMvcn5^7F2>a8IEwlGjPGPpP}Cpr`rOPD*Z5yqfjK0(o*l#|_kS3E51s zLPQ#6>PUBpZCz|l_1X5e_tWmi1Ew_A$G`8GZBV{P_&~Z7Xhk%EZYElifp1^5Vluh! z^8r&%`R%?YpnCk&;S@!cuM0A%&T`BIXFe&|Xo#Cl^{EMT2Q}a@RkXa|?n+F>(*E+qI z^seuwj$MP=cxy!V16J17Ph*w;!qP@|xGs$xUg!t5yjHE6PQ54zt9HlAGSX zwG-SB2ix;&&A~bP(kfEHSPaa~Hys?LOMYru%^r;HM!L!@J{|3M^>2y&G5k9Q_vLp! z(ogN$Y2L-(|8|j+#gMC#|HQP&jhw-FDX87K^x?skt!y_vS_LL6+s!>15m0 z#omoCC&1f_kh58!G4R3SDG;R`4cHyTU;T}L!3F?U13TA9Y#^ZIs8II8*NV|vya^+U zYV5>D*NRW&+vScdd#p5xR@{^(3EH#X%5x{O*WD(zD<&+v_q`sOVUEez+Lst&zJ}s@UaWHn@>km0jZuQ?qj{@7JH%eNHP#)w`!w z_xb$yw)_#r;_2~KgR$(t;f)$VM|p^;f8F_B>&Z?pH{HDX;@rX$1{@zMKEy_PyRLayNi%WJInKOg0~cCJ>`<);7pFg5o1b@WYpK@$m90J_ zf}?C%Q_jxb_*4LIA}$ep_r=hY`O#S0$)?6e`wB+G2qj$- zS_2&oBhS9K>JAZd>;-lWE-X)LW*BT-xBVdz51zHPetLF-?u$`*ljA`@KosF9!lzH0 zR@_#)_qevllSbczLlu381LABjSZ-=0N2p)iB?5J%zJ^RyEu}_4r1dyew*1;!pYMc^ zQBdm5VaQ_rxQE~6p^ES2=dHnlk%T(o8!ToI9qub=7Qb)R|8jK7$d&EwU0Y{G>|;q3 z#@!HoJkiYEQ3wU~Y2z1IlbT6y1DF+dIAAZEZk#@upYL^DFto$%gF$$)qeoxX0I}Jr z!8{I4%AROGJ}9{Yr3)*KiSl%#TnP>lc99Fba_;Y%o|HQ$0&JH&`GCEPlLg++;<8F^ zd**8^;M0y*p3NaaEdcEOD^mW`0^11K8u`_gLNutT|jOclhW{Q(02o4sdrACQ@)T@!f8_A#J>!w;X&bxyNjW}7TYO8 z{p!C%o3)e^yZ4Qyj=U(!`EcuXzxI@^o0v8u5-2J*iY^{pMKhbde@ClDi@I4BK99{IfSB{@^UQ}^`1Ju)`*OAPFV<Wzr(61S z7RmWg(D}%Ni;=vG>AZ_`Ai~+m3%Q)%3qE-oy!P~R>E7kiT7TMLQ(ax%W_PZ9$mO3k zO_Ept{;VDP>E%AqZS`A~zg&^O{N>vw9YU0{uM7`>(Q7<0iiT@-DzwIL3N=)66SYiK zuHo+x()AMK95We5lbi}yjwhlxC7X?RBWV&JeR$N|(c{wM`5MYychcze3TpZJDqrD) zMYpcJU(0M{{GR}(A*NKg-EH_g?sX~HYEe)RY$W}TyY1E%_Fv%@W6iVRPZs}O*mik! zo=ngub3#S4xBSk{_wEx$xb#Ah@bo8-g);%0AU(f}EkZ4EQoHMue5F#`L8~o?;lHby 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 literal 0 HcmV?d00001 diff --git a/examples/external/scikit/doc/scikit.rst b/examples/external/scikit/doc/scikit.rst new file mode 100644 index 0000000..29ebbdd --- /dev/null +++ b/examples/external/scikit/doc/scikit.rst @@ -0,0 +1,9 @@ +Scikit Image Example +==================== + +A Python application that demonstrates how to use Scikit Image +to apply filters to images based on a Qt Widgets. + +.. image:: scikit.png + :width: 400 + :alt: Scikit Image Screenshot diff --git a/examples/external/scikit/requirements.txt b/examples/external/scikit/requirements.txt new file mode 100644 index 0000000..391ca2f --- /dev/null +++ b/examples/external/scikit/requirements.txt @@ -0,0 +1 @@ +scikit-image diff --git a/examples/external/scikit/scikit.pyproject b/examples/external/scikit/scikit.pyproject new file mode 100644 index 0000000..5026c86 --- /dev/null +++ b/examples/external/scikit/scikit.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["staining_colors_separation.py"] +} diff --git a/examples/external/scikit/staining_colors_separation.py b/examples/external/scikit/staining_colors_separation.py new file mode 100644 index 0000000..b0aa143 --- /dev/null +++ b/examples/external/scikit/staining_colors_separation.py @@ -0,0 +1,147 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +import numpy as np +from matplotlib.backends.backend_qt5agg import FigureCanvas +from matplotlib.colors import LinearSegmentedColormap +from matplotlib.figure import Figure +from PySide6.QtCore import Qt, Slot +from PySide6.QtGui import QAction, QKeySequence +from PySide6.QtWidgets import (QApplication, QHBoxLayout, QLabel, + QMainWindow, QPushButton, QSizePolicy, + QVBoxLayout, QWidget) +from skimage import data +from skimage.color import rgb2hed +from skimage.exposure import rescale_intensity + + +class ApplicationWindow(QMainWindow): + """ + Example based on the example by 'scikit-image' gallery: + "Immunohistochemical staining colors separation" + https://scikit-image.org/docs/stable/auto_examples/color_exposure/plot_ihc_color_separation.html + """ + + def __init__(self, parent=None): + QMainWindow.__init__(self, parent) + self._main = QWidget() + self.setCentralWidget(self._main) + + # Main menu bar + self.menu = self.menuBar() + self.menu_file = self.menu.addMenu("File") + exit = QAction("Exit", self, triggered=qApp.quit) + self.menu_file.addAction(exit) + + self.menu_about = self.menu.addMenu("&About") + about = QAction("About Qt", self, shortcut=QKeySequence(QKeySequence.HelpContents), + triggered=qApp.aboutQt) + self.menu_about.addAction(about) + + # Create an artificial color close to the original one + self.ihc_rgb = data.immunohistochemistry() + self.ihc_hed = rgb2hed(self.ihc_rgb) + + main_layout = QVBoxLayout(self._main) + plot_layout = QHBoxLayout() + button_layout = QHBoxLayout() + label_layout = QHBoxLayout() + + self.canvas1 = FigureCanvas(Figure(figsize=(5, 5))) + self.canvas2 = FigureCanvas(Figure(figsize=(5, 5))) + + self._ax1 = self.canvas1.figure.subplots() + self._ax2 = self.canvas2.figure.subplots() + + self._ax1.imshow(self.ihc_rgb) + + plot_layout.addWidget(self.canvas1) + plot_layout.addWidget(self.canvas2) + + self.button1 = QPushButton("Hematoxylin") + self.button2 = QPushButton("Eosin") + self.button3 = QPushButton("DAB") + self.button4 = QPushButton("Fluorescence") + + self.button1.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) + self.button2.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) + self.button3.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) + self.button4.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) + + self.button1.clicked.connect(self.plot_hematoxylin) + self.button2.clicked.connect(self.plot_eosin) + self.button3.clicked.connect(self.plot_dab) + self.button4.clicked.connect(self.plot_final) + + self.label1 = QLabel("Original", alignment=Qt.AlignCenter) + self.label2 = QLabel("", alignment=Qt.AlignCenter) + + font = self.label1.font() + font.setPointSize(16) + self.label1.setFont(font) + self.label2.setFont(font) + + label_layout.addWidget(self.label1) + label_layout.addWidget(self.label2) + + button_layout.addWidget(self.button1) + button_layout.addWidget(self.button2) + button_layout.addWidget(self.button3) + button_layout.addWidget(self.button4) + + main_layout.addLayout(label_layout, 2) + main_layout.addLayout(plot_layout, 88) + main_layout.addLayout(button_layout, 10) + + # Default image + self.plot_hematoxylin() + + def set_buttons_state(self, states): + self.button1.setEnabled(states[0]) + self.button2.setEnabled(states[1]) + self.button3.setEnabled(states[2]) + self.button4.setEnabled(states[3]) + + @Slot() + def plot_hematoxylin(self): + cmap_hema = LinearSegmentedColormap.from_list("mycmap", ["white", "navy"]) + self._ax2.imshow(self.ihc_hed[:, :, 0], cmap=cmap_hema) + self.canvas2.draw() + self.label2.setText("Hematoxylin") + self.set_buttons_state((False, True, True, True)) + + @Slot() + def plot_eosin(self): + cmap_eosin = LinearSegmentedColormap.from_list("mycmap", ["darkviolet", "white"]) + self._ax2.imshow(self.ihc_hed[:, :, 1], cmap=cmap_eosin) + self.canvas2.draw() + self.label2.setText("Eosin") + self.set_buttons_state((True, False, True, True)) + + @Slot() + def plot_dab(self): + cmap_dab = LinearSegmentedColormap.from_list("mycmap", ["white", "saddlebrown"]) + self._ax2.imshow(self.ihc_hed[:, :, 2], cmap=cmap_dab) + self.canvas2.draw() + self.label2.setText("DAB") + self.set_buttons_state((True, True, False, True)) + + @Slot() + def plot_final(self): + h = rescale_intensity(self.ihc_hed[:, :, 0], out_range=(0, 1)) + d = rescale_intensity(self.ihc_hed[:, :, 2], out_range=(0, 1)) + zdh = np.dstack((np.zeros_like(h), d, h)) + self._ax2.imshow(zdh) + self.canvas2.draw() + self.label2.setText("Stain separated image") + self.set_buttons_state((True, True, True, False)) + + +if __name__ == "__main__": + + app = QApplication(sys.argv) + w = ApplicationWindow() + w.show() + app.exec() diff --git a/examples/gui/analogclock/analogclock.pyproject b/examples/gui/analogclock/analogclock.pyproject new file mode 100644 index 0000000..cc7a74a --- /dev/null +++ b/examples/gui/analogclock/analogclock.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py"] +} diff --git a/examples/gui/analogclock/doc/analogclock.rst b/examples/gui/analogclock/doc/analogclock.rst new file mode 100644 index 0000000..a1ede41 --- /dev/null +++ b/examples/gui/analogclock/doc/analogclock.rst @@ -0,0 +1,8 @@ +Analog Clock Window Example +=========================== + +The Analog Clock Window example shows how to draw the contents of +a custom window. + +This example demonstrates how the transformation and scaling +features of QPainter can be used to make drawing easier. diff --git a/examples/gui/analogclock/main.py b/examples/gui/analogclock/main.py new file mode 100644 index 0000000..12303cd --- /dev/null +++ b/examples/gui/analogclock/main.py @@ -0,0 +1,77 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtCore import QPoint, QTimer, QTime, Qt +from PySide6.QtGui import (QColor, QGradient, QGuiApplication, QPainter, + QPolygon, QRasterWindow) + +"""Simplified PySide6 port of the gui/analogclock example from Qt v6.x""" + + +class AnalogClockWindow(QRasterWindow): + + def __init__(self): + super().__init__() + self.setTitle("Analog Clock") + self.resize(200, 200) + + self._timer = QTimer(self) + self._timer.timeout.connect(self.update) + self._timer.start(1000) + + self._hour_hand = QPolygon([QPoint(7, 8), QPoint(-7, 8), QPoint(0, -40)]) + self._minute_hand = QPolygon([QPoint(7, 8), QPoint(-7, 8), QPoint(0, -70)]) + + self._hour_color = QColor(127, 0, 127) + self._minute_color = QColor(0, 127, 127, 191) + + def paintEvent(self, e): + with QPainter(self) as p: + self.render(p) + + def render(self, p): + width = self.width() + height = self.height() + p.fillRect(0, 0, width, height, QGradient.NightFade) + + p.setRenderHint(QPainter.Antialiasing) + p.translate(width / 2, height / 2) + + side = min(width, height) + p.scale(side / 200.0, side / 200.0) + p.setPen(Qt.NoPen) + p.setBrush(self._hour_color) + time = QTime.currentTime() + + p.save() + p.rotate(30.0 * ((time.hour() + time.minute() / 60.0))) + p.drawConvexPolygon(self._hour_hand) + p.restore() + p.setPen(self._hour_color) + + for i in range(0, 12): + p.drawLine(88, 0, 96, 0) + p.rotate(30.0) + + p.setPen(Qt.NoPen) + p.setBrush(self._minute_color) + + p.save() + p.rotate(6.0 * (time.minute() + time.second() / 60.0)) + p.drawConvexPolygon(self._minute_hand) + p.restore() + p.setPen(self._minute_color) + + for j in range(0, 60): + if (j % 5) != 0: + p.drawLine(92, 0, 96, 0) + p.rotate(6.0) + + +if __name__ == "__main__": + app = QGuiApplication(sys.argv) + clock = AnalogClockWindow() + clock.show() + sys.exit(app.exec()) diff --git a/examples/httpserver/afterrequest/doc/afterrequest.rst b/examples/httpserver/afterrequest/doc/afterrequest.rst new file mode 100644 index 0000000..0e81a67 --- /dev/null +++ b/examples/httpserver/afterrequest/doc/afterrequest.rst @@ -0,0 +1,5 @@ +HTTP Server After Request Example +================================= + +A Python application that demonstrates the analogous example in C++ +`AfterRequest Example `_ diff --git a/examples/httpserver/afterrequest/main.py b/examples/httpserver/afterrequest/main.py new file mode 100644 index 0000000..e68c992 --- /dev/null +++ b/examples/httpserver/afterrequest/main.py @@ -0,0 +1,36 @@ +# Copyright (C) 2020 Mikhail Svetkin +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the /httpserver/afterrequest from from Qt""" + +import sys + +from PySide6.QtCore import QCoreApplication +from PySide6.QtNetwork import QHostAddress +from PySide6.QtHttpServer import QHttpServer + + +def route(request): + return "Hello world" + + +def after_request(response, request): + response.setHeader(b"Server", b"Super server!") + + +if __name__ == '__main__': + app = QCoreApplication(sys.argv) + httpServer = QHttpServer() + httpServer.route("/", route) + + httpServer.afterRequest(after_request) + + port = httpServer.listen(QHostAddress.Any) + if port == 0: + print("Server failed to listen on a port.", file=sys.stderr) + sys.exit(-1) + + print(f"Running on http://127.0.0.1:{port}/ (Press CTRL+\\ to quit)") + + sys.exit(app.exec()) diff --git a/examples/installer_test/hello.py b/examples/installer_test/hello.py new file mode 100644 index 0000000..a981947 --- /dev/null +++ b/examples/installer_test/hello.py @@ -0,0 +1,71 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +""" +hello.py +-------- + +This simple script shows a label with changing "Hello World" messages. +It can be used directly as a script, but we use it also to automatically +test PyInstaller or Nuitka. See testing/wheel_tester.py . + +When compiled with Nuitka or used with PyInstaller, it automatically +stops its execution after 2 seconds. +""" + +import sys +import random +import platform +import time + +from PySide6.QtWidgets import (QApplication, QLabel, QPushButton, + QVBoxLayout, QWidget) +from PySide6.QtCore import Slot, Qt, QTimer + +is_compiled = "__compiled__" in globals() # Nuitka +auto_quit = "Nuitka" if is_compiled else "PyInst" + + +class MyWidget(QWidget): + def __init__(self): + super().__init__() + + self.hello = ["Hallo Welt", "你好,世界", "Hei maailma", + "Hola Mundo", "Привет мир"] + + self.button = QPushButton("Click me!") + self.text = QLabel(f"Hello World auto_quit={auto_quit}") + self.text.setAlignment(Qt.AlignCenter) + + self.layout = QVBoxLayout() + self.layout.addWidget(self.text) + self.layout.addWidget(self.button) + self.setLayout(self.layout) + + # Connecting the signal + self.button.clicked.connect(self.magic) + + @Slot() + def magic(self): + self.text.setText(random.choice(self.hello)) + + +if __name__ == "__main__": + print("Start of hello.py ", time.ctime()) + print(" sys.version = ", sys.version.splitlines()[0]) + # Nuitka and hence pyside6-deploy fails on Python versions <= 3.9 + # when this module is used + if sys.version_info.minor > 9: + print(" platform.platform() = ", platform.platform()) + + app = QApplication() + + widget = MyWidget() + widget.resize(800, 600) + widget.show() + if auto_quit: + milliseconds = 2 * 1000 # run 2 second + QTimer.singleShot(milliseconds, app.quit) + retcode = app.exec() + print("End of hello.py ", time.ctime()) + sys.exit(retcode) diff --git a/examples/location/mapviewer/MapViewer/Main.qml b/examples/location/mapviewer/MapViewer/Main.qml new file mode 100644 index 0000000..f4ae7ea --- /dev/null +++ b/examples/location/mapviewer/MapViewer/Main.qml @@ -0,0 +1,460 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtLocation +import QtPositioning +import MapViewer + +ApplicationWindow { + id: appWindow + property variant mapview + property variant minimap + property variant plugin + property variant parameters + + //defaults + //! [routecoordinate] + property variant fromCoordinate: QtPositioning.coordinate(59.9483, 10.7695) + property variant toCoordinate: QtPositioning.coordinate(59.9645, 10.671) + //! [routecoordinate] + + function createMap(provider) + { + if (parameters && parameters.length>0) + plugin = Qt.createQmlObject ('import QtLocation; Plugin{ name:"' + provider + '"; parameters: appWindow.parameters}', appWindow) + else + plugin = Qt.createQmlObject ('import QtLocation; Plugin{ name:"' + provider + '"}', appWindow) + + if (minimap) { + minimap.destroy() + minimap = null + } + + var zoomLevel = null + var tilt = null + var bearing = null + var fov = null + var center = null + var panelExpanded = null + if (mapview) { + zoomLevel = mapview.zoomLevel + tilt = mapview.tilt + bearing = mapview.bearing + fov = mapview.fieldOfView + center = mapview.center + panelExpanded = mapview.slidersExpanded + mapview.destroy() + } + mapview = mapComponent.createObject(page); + mapview.map.plugin = plugin; + + if (zoomLevel != null) { + mapview.map.tilt = tilt + mapview.map.bearing = bearing + mapview.map.fieldOfView = fov + mapview.map.zoomLevel = zoomLevel + mapview.map.center = center + mapview.map.slidersExpanded = panelExpanded + } else { + // Use an integer ZL to enable nearest interpolation, if possible. + mapview.map.zoomLevel = Math.floor((mapview.map.maximumZoomLevel - mapview.map.minimumZoomLevel)/2) + // defaulting to 45 degrees, if possible. + mapview.map.fieldOfView = Math.min(Math.max(45.0, mapview.map.minimumFieldOfView), mapview.maximumFieldOfView) + } + + mapview.forceActiveFocus() + } + + function getPlugins() + { + var plugin = Qt.createQmlObject ('import QtLocation; Plugin {}', appWindow) + var myArray = new Array() + for (var i = 0; i { + stackView.pop() + for (var i = 0; i < providerMenu.count; i++) { + providerMenu.actionAt(i).checked = providerMenu.actionAt(i).text === providerName + } + + createMap(providerName) + if (mapview.error === mapview.NoError) { + selectMapType(mapview.map.activeMapType) + } else { + mainMenu.clearMenu(mapTypeMenu) + } + } + + onSelectMapType: (mapType) => { + stackView.pop(page) + for (var i = 0; i < mapTypeMenu.count; i++) { + mapTypeMenu.actionAt(i).checked = mapTypeMenu.actionAt(i).text === mapType.name + } + mapview.map.activeMapType = mapType + } + + + onSelectTool: (tool) => { + switch (tool) { + case "AddressRoute": + stackView.pop({item:page, immediate: true}) + stackView.push("forms/RouteAddress.qml" , + { "plugin": mapview.map.plugin, + "toAddress": toAddress, + "fromAddress": fromAddress}) + stackView.currentItem.showRoute.connect(mapview.calculateCoordinateRoute) + stackView.currentItem.showMessage.connect(stackView.showMessage) + stackView.currentItem.closeForm.connect(stackView.closeForm) + break + case "CoordinateRoute": + stackView.pop({item:page, immediate: true}) + stackView.push("forms/RouteCoordinate.qml" , + { "toCoordinate": toCoordinate, + "fromCoordinate": fromCoordinate}) + stackView.currentItem.showRoute.connect(mapview.calculateCoordinateRoute) + stackView.currentItem.closeForm.connect(stackView.closeForm) + break + case "Geocode": + stackView.pop({item:page, immediate: true}) + stackView.push("forms/Geocode.qml", + { "address": fromAddress}) + stackView.currentItem.showPlace.connect(mapview.geocode) + stackView.currentItem.closeForm.connect(stackView.closeForm) + break + case "RevGeocode": + stackView.pop({item:page, immediate: true}) + stackView.push("forms/ReverseGeocode.qml", + { "coordinate": fromCoordinate }) + stackView.currentItem.showPlace.connect(mapview.geocode) + stackView.currentItem.closeForm.connect(stackView.closeForm) + break + case "Language": + stackView.pop({item:page, immediate: true}) + stackView.push("forms/Locale.qml", + { "locale": mapview.map.plugin.locales[0]}) + stackView.currentItem.selectLanguage.connect(setLanguage) + stackView.currentItem.closeForm.connect(stackView.closeForm) + break + case "Clear": + mapview.map.clearData() + break + case "Prefetch": + mapview.map.prefetchData() + break + default: + console.log("Unsupported operation") + } + } + + onToggleMapState: (state) => { + stackView.pop(page) + switch (state) { + case "FollowMe": + mapview.followme = !mapview.followme + break + case "MiniMap": + toggleMiniMapState() + isMiniMap = minimap + break + default: + console.log("Unsupported operation") + } + } + } + + MapPopupMenu { + id: mapPopupMenu + + function show(coordinate) + { + stackView.pop(page) + mapPopupMenu.coordinate = coordinate + mapPopupMenu.markersCount = mapview.markers.length + mapPopupMenu.mapItemsCount = mapview.mapItems.length + mapPopupMenu.popup() + } + + onItemClicked: (item) => { + stackView.pop(page) + switch (item) { + case "addMarker": + mapview.addMarker() + break + case "getCoordinate": + mapview.coordinatesCaptured(coordinate.latitude, coordinate.longitude) + break + case "fitViewport": + mapview.map.fitViewportToMapItems() + break + case "deleteMarkers": + mapview.deleteMarkers() + break + default: + console.log("Unsupported operation:", item) + } + } + } + + MarkerPopupMenu { + id: markerPopupMenu + + function show(coordinate) + { + stackView.pop(page) + markerPopupMenu.markersCount = mapview.markers.length + markerPopupMenu.currentMarker = mapview.currentMarker + markerPopupMenu.popup() + } + + function askForCoordinate() + { + stackView.push("forms/ReverseGeocode.qml", + { "title": qsTr("New Coordinate"), + "coordinate": mapview.markers[mapview.currentMarker].coordinate}) + stackView.currentItem.showPlace.connect(moveMarker) + stackView.currentItem.closeForm.connect(stackView.closeForm) + } + + function moveMarker(coordinate) + { + mapview.markers[mapview.currentMarker].coordinate = coordinate; + mapview.map.center = coordinate; + stackView.pop(page) + } + + onItemClicked: (item) => { + stackView.pop(page) + switch (item) { + case "deleteMarker": + mapview.deleteMarker(mapview.currentMarker) + break; + case "getMarkerCoordinate": + mapview.coordinatesCaptured(mapview.markers[mapview.currentMarker].coordinate.latitude, + mapview.markers[mapview.currentMarker].coordinate.longitude) + break; + case "moveMarkerTo": + askForCoordinate() + break; + case "routeToNextPoint": + case "routeToNextPoints": + mapview.calculateMarkerRoute() + break + case "distanceToNextPoint": + var coordinate1 = mapview.markers[mapview.currentMarker].coordinate; + var coordinate2 = mapview.markers[mapview.currentMarker+1].coordinate; + var distance = Helper.formatDistance(coordinate1.distanceTo(coordinate2)); + stackView.showMessage(qsTr("Distance"),"" + qsTr("Distance:") + " " + distance) + break + default: + console.log("Unsupported operation:", item) + } + } + } + + ItemPopupMenu { + id: itemPopupMenu + + function show(type,coordinate) + { + stackView.pop(page) + itemPopupMenu.type = type + itemPopupMenu.popup() + } + + onItemClicked: { + stackView.pop(page) + switch (item) { + case "showRouteInfo": + stackView.showRouteListPage() + break; + case "deleteRoute": + mapview.routeModel.reset(); + break; + case "showPointInfo": + mapview.showGeocodeInfo() + break; + case "deletePoint": + geocodeModel.reset() + break; + default: + console.log("Unsupported operation") + } + } + } + + StackView { + id: stackView + anchors.fill: parent + focus: true + initialItem: Item { + id: page + + Text { + visible: !supportsSsl && map && mapview.activeMapType && activeMapType.metadata.isHTTPS + text: "The active map type\n +requires (missing) SSL\n +support" + horizontalAlignment: Text.AlignHCenter + font.pixelSize: appWindow.width / 12 + font.bold: true + color: "grey" + anchors.centerIn: parent + z: 12 + } + } + + function showMessage(title,message,backPage) + { + push("forms/Message.qml", + { + "title" : title, + "message" : message, + "backPage" : backPage + }) + currentItem.closeForm.connect(closeMessage) + } + + function closeMessage(backPage) + { + pop(backPage) + } + + function closeForm() + { + pop(page) + } + + function showRouteListPage() + { + push("forms/RouteList.qml", + { + "routeModel" : mapview.routeModel + }) + currentItem.closeForm.connect(closeForm) + } + } + + Component { + id: mapComponent + + MapComponent { + width: page.width + height: page.height + onFollowmeChanged: mainMenu.isFollowMe = followme + map.onSupportedMapTypesChanged: mainMenu.mapTypeMenu.createMenu(map) + onCoordinatesCaptured: (latitude, longitude) => { + var text = "" + qsTr("Latitude:") + " " + Helper.roundNumber(latitude,4) + "
" + qsTr("Longitude:") + " " + Helper.roundNumber(longitude,4) + stackView.showMessage(qsTr("Coordinates"),text); + } + onGeocodeFinished:{ + if (geocodeModel.status == GeocodeModel.Ready) { + if (geocodeModel.count == 0) { + stackView.showMessage(qsTr("Geocode Error"),qsTr("Unsuccessful geocode")) + } else if (geocodeModel.count > 1) { + stackView.showMessage(qsTr("Ambiguous geocode"), geocodeModel.count + " " + + qsTr("results found for the given address, please specify location")) + } else { + stackView.showMessage(qsTr("Location"), geocodeMessage(),page) + } + } else if (geocodeModel.status == GeocodeModel.Error) { + stackView.showMessage(qsTr("Geocode Error"),qsTr("Unsuccessful geocode")) + } + } + onRouteError: stackView.showMessage(qsTr("Route Error"),qsTr("Unable to find a route for the given points"),page) + + onShowGeocodeInfo: stackView.showMessage(qsTr("Location"),geocodeMessage(),page) + + map.onErrorChanged: { + if (map.error != mapview.NoError) { + var title = qsTr("ProviderError") + var message = mapview.errorString + "

" + qsTr("Try to select other provider") + "" + if (map.error == mapview.MissingRequiredParameterError) + message += "
" + qsTr("or see") + " \'mapviewer --help\' " + + qsTr("how to pass plugin parameters.") + stackView.showMessage(title,message); + } + } + onShowMainMenu: (coordinate) => mapPopupMenu.show(coordinate) + onShowMarkerMenu: (coordinate) => markerPopupMenu.show(coordinate) + onShowRouteMenu: (coordinate) => itemPopupMenu.show("Route",coordinate) + onShowPointMenu: (coordinate) => itemPopupMenu.show("Point",coordinate) + onShowRouteList: stackView.showRouteListPage() + + TapHandler { + onTapped: { + } + } + } + } +} diff --git a/examples/location/mapviewer/MapViewer/forms/Geocode.qml b/examples/location/mapviewer/MapViewer/forms/Geocode.qml new file mode 100644 index 0000000..885357d --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/Geocode.qml @@ -0,0 +1,42 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtPositioning + +GeocodeForm { + + property variant address + signal showPlace(variant address) + signal closeForm() + + goButton.onClicked: { + // fill out the Address element + address.street = street.text + address.city = city.text + address.state = stateName.text + address.country = country.text + address.postalCode = postalCode.text + showPlace(address) + } + + clearButton.onClicked: { + street.text = "" + city.text = "" + stateName.text = "" + country.text = "" + postalCode.text = "" + } + + cancelButton.onClicked: { + closeForm() + } + + Component.onCompleted: { + street.text = address.street + city.text = address.city + stateName.text = address.state + country.text = address.country + postalCode.text = address.postalCode + } +} diff --git a/examples/location/mapviewer/MapViewer/forms/GeocodeForm.ui.qml b/examples/location/mapviewer/MapViewer/forms/GeocodeForm.ui.qml new file mode 100644 index 0000000..cb56370 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/GeocodeForm.ui.qml @@ -0,0 +1,136 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +Item { + property alias goButton: goButton + property alias clearButton: clearButton + property alias postalCode: postalCode + property alias street: street + property alias city: city + property alias stateName: stateName + property alias country: country + property alias cancelButton: cancelButton + Rectangle { + id: tabRectangle + y: 20 + height: tabTitle.height * 2 + color: "#46a2da" + anchors.rightMargin: 0 + anchors.leftMargin: 0 + anchors.left: parent.left + anchors.right: parent.right + + Label { + id: tabTitle + color: "#ffffff" + text: qsTr("Geocode") + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + } + } + + Item { + id: item2 + anchors.rightMargin: 20 + anchors.leftMargin: 20 + anchors.bottomMargin: 20 + anchors.topMargin: 20 + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.top: tabRectangle.bottom + + + GridLayout { + id: gridLayout3 + anchors.rightMargin: 0 + anchors.bottomMargin: 0 + anchors.leftMargin: 0 + anchors.topMargin: 0 + rowSpacing: 10 + rows: 1 + columns: 2 + anchors.fill: parent + + Label { + id: label2 + text: qsTr("Street") + } + + TextField { + id: street + Layout.fillWidth: true + } + + Label { + id: label3 + text: qsTr("City") + } + + TextField { + id: city + Layout.fillWidth: true + } + + Label { + id: label4 + text: qsTr("State") + } + + TextField { + id: stateName + Layout.fillWidth: true + } + + Label { + id: label5 + text: qsTr("Country") + } + + TextField { + id: country + Layout.fillWidth: true + } + + Label { + id: label6 + text: qsTr("Postal Code") + } + + TextField { + id: postalCode + Layout.fillWidth: true + } + + RowLayout { + id: rowLayout1 + Layout.columnSpan: 2 + Layout.alignment: Qt.AlignRight + + Button { + id: goButton + text: qsTr("Proceed") + } + + Button { + id: clearButton + text: qsTr("Clear") + } + + Button { + id: cancelButton + text: qsTr("Cancel") + } + } + + Item { + Layout.fillHeight: true + Layout.columnSpan: 2 + } + } + } +} diff --git a/examples/location/mapviewer/MapViewer/forms/Locale.qml b/examples/location/mapviewer/MapViewer/forms/Locale.qml new file mode 100644 index 0000000..9ba7dd7 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/Locale.qml @@ -0,0 +1,45 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtPositioning + +LocaleForm { + property string locale + signal selectLanguage(string language) + signal closeForm() + + goButton.onClicked: { + + if (!languageGroup.checkedButton) return + + if (otherRadioButton.checked) { + selectLanguage(language.text) + } else { + selectLanguage(languageGroup.checkedButton.text) + } + } + + clearButton.onClicked: { + language.text = "" + } + + cancelButton.onClicked: { + closeForm() + } + + Component.onCompleted: { + switch (locale) { + case "en": + enRadioButton.checked = true; + break + case "fr": + frRadioButton.checked = true; + break + default: + otherRadioButton.checked = true; + language.text = locale + break + } + } +} diff --git a/examples/location/mapviewer/MapViewer/forms/LocaleForm.ui.qml b/examples/location/mapviewer/MapViewer/forms/LocaleForm.ui.qml new file mode 100644 index 0000000..9e1ec18 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/LocaleForm.ui.qml @@ -0,0 +1,116 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +Item { + property alias clearButton: clearButton + property alias goButton: goButton + property alias cancelButton: cancelButton + property alias tabTitle: tabTitle + property alias languageGroup: languageGroup + property alias enRadioButton: enRadioButton + property alias frRadioButton: frRadioButton + property alias otherRadioButton: otherRadioButton + property alias language: language + + Rectangle { + id: tabRectangle + y: 20 + height: tabTitle.height * 2 + color: "#46a2da" + anchors.rightMargin: 0 + anchors.leftMargin: 0 + anchors.left: parent.left + anchors.right: parent.right + + Label { + id: tabTitle + color: "#ffffff" + text: "Locale" + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + } + } + + Item { + id: item2 + anchors.rightMargin: 20 + anchors.leftMargin: 20 + anchors.bottomMargin: 20 + anchors.topMargin: 20 + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.top: tabRectangle.bottom + + GridLayout { + id: gridLayout3 + anchors.rightMargin: 0 + anchors.bottomMargin: 0 + anchors.leftMargin: 0 + anchors.topMargin: 0 + rowSpacing: 10 + rows: 1 + columns: 2 + anchors.fill: parent + + ButtonGroup { id: languageGroup } + RadioButton { + id: enRadioButton + text: qsTr("en") + ButtonGroup.group: languageGroup + Layout.columnSpan: 2 + } + + RadioButton { + id: frRadioButton + text: qsTr("fr") + ButtonGroup.group: languageGroup + Layout.columnSpan: 2 + } + + RadioButton { + id: otherRadioButton + text: qsTr("Other") + ButtonGroup.group: languageGroup + } + + TextField { + id: language + Layout.fillWidth: true + placeholderText: qsTr("") + } + + RowLayout { + id: rowLayout1 + Layout.columnSpan: 2 + Layout.alignment: Qt.AlignRight + + Button { + id: goButton + text: qsTr("Proceed") + } + + Button { + id: clearButton + text: qsTr("Clear") + } + + Button { + id: cancelButton + text: qsTr("Cancel") + } + } + + Item { + Layout.fillHeight: true + Layout.columnSpan: 2 + } + + + } + } +} diff --git a/examples/location/mapviewer/MapViewer/forms/Message.qml b/examples/location/mapviewer/MapViewer/forms/Message.qml new file mode 100644 index 0000000..583bc2d --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/Message.qml @@ -0,0 +1,21 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +MessageForm { + property string title + property string message + property variant backPage + + signal closeForm(variant backPage) + + button.onClicked: { + closeForm(backPage) + } + + Component.onCompleted: { + messageText.text = message + messageTitle.text = title + } +} diff --git a/examples/location/mapviewer/MapViewer/forms/MessageForm.ui.qml b/examples/location/mapviewer/MapViewer/forms/MessageForm.ui.qml new file mode 100644 index 0000000..426c727 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/MessageForm.ui.qml @@ -0,0 +1,69 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +Item { + id: root + property alias messageText: messageText + property alias messageTitle: messageTitle + property alias button: button + + Rectangle { + id: tabRectangle + y: 20 + height: messageTitle.height * 2 + color: "#46a2da" + anchors.rightMargin: 0 + anchors.leftMargin: 0 + anchors.left: parent.left + anchors.right: parent.right + + Label { + id: messageTitle + color: "#ffffff" + text: qsTr("type") + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + } + } + + Item { + anchors.rightMargin: 20 + anchors.leftMargin: 20 + anchors.bottomMargin: 20 + anchors.topMargin: 20 + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.top: tabRectangle.bottom + + ColumnLayout { + id: columnLayout1 + spacing: 20 + anchors.fill: parent + + Label { + id: messageText + text: qsTr("message") + Layout.fillWidth: true + horizontalAlignment: Text.AlignHCenter + wrapMode: Text.WordWrap + textFormat: Text.RichText + } + + Button { + id: button + text: qsTr("OK") + Layout.alignment: Qt.AlignHCenter + } + + Item { + Layout.fillHeight: true + } + } + } +} + diff --git a/examples/location/mapviewer/MapViewer/forms/ReverseGeocode.qml b/examples/location/mapviewer/MapViewer/forms/ReverseGeocode.qml new file mode 100644 index 0000000..31122a2 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/ReverseGeocode.qml @@ -0,0 +1,38 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtPositioning + +//Reverse Geocode Dialog +ReverseGeocodeForm { + property string title; + property variant coordinate + signal showPlace(variant coordinate) + signal closeForm() + + goButton.onClicked: { + var coordinate = QtPositioning.coordinate(parseFloat(latitude.text), + parseFloat(longitude.text)); + if (coordinate.isValid) { + showPlace(coordinate) + } + } + + clearButton.onClicked: { + latitude.text = "" + longitude.text = "" + } + + cancelButton.onClicked: { + closeForm() + } + + Component.onCompleted: { + latitude.text = "" + coordinate.latitude + longitude.text = "" + coordinate.longitude + if (title.length != 0) { + tabTitle.text = title; + } + } +} diff --git a/examples/location/mapviewer/MapViewer/forms/ReverseGeocodeForm.ui.qml b/examples/location/mapviewer/MapViewer/forms/ReverseGeocodeForm.ui.qml new file mode 100644 index 0000000..1d937ee --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/ReverseGeocodeForm.ui.qml @@ -0,0 +1,103 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +Item { + property alias clearButton: clearButton + property alias goButton: goButton + property alias longitude: longitude + property alias latitude: latitude + property alias cancelButton: cancelButton + property alias tabTitle: tabTitle + Rectangle { + id: tabRectangle + y: 20 + height: tabTitle.height * 2 + color: "#46a2da" + anchors.rightMargin: 0 + anchors.leftMargin: 0 + anchors.left: parent.left + anchors.right: parent.right + + Label { + id: tabTitle + color: "#ffffff" + text: qsTr("Reverse Geocode") + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + } + } + + Item { + id: item2 + anchors.rightMargin: 20 + anchors.leftMargin: 20 + anchors.bottomMargin: 20 + anchors.topMargin: 20 + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.top: tabRectangle.bottom + + GridLayout { + id: gridLayout3 + anchors.rightMargin: 0 + anchors.bottomMargin: 0 + anchors.leftMargin: 0 + anchors.topMargin: 0 + rowSpacing: 10 + rows: 1 + columns: 2 + anchors.fill: parent + + Label { + id: label2 + text: qsTr("Latitude") + } + + TextField { + id: latitude + Layout.fillWidth: true + } + + Label { + id: label3 + text: qsTr("Longitude") + } + + TextField { + id: longitude + Layout.fillWidth: true + placeholderText: qsTr("") + } + + RowLayout { + id: rowLayout1 + Layout.columnSpan: 2 + Layout.alignment: Qt.AlignRight + + Button { + id: goButton + text: qsTr("Proceed") + } + + Button { + id: clearButton + text: qsTr("Clear") + } + + Button { + id: cancelButton + text: qsTr("Cancel") + } + } + Item { + Layout.fillHeight: true + Layout.columnSpan: 2 + } + } + } +} diff --git a/examples/location/mapviewer/MapViewer/forms/RouteAddress.qml b/examples/location/mapviewer/MapViewer/forms/RouteAddress.qml new file mode 100644 index 0000000..3676c13 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/RouteAddress.qml @@ -0,0 +1,105 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtLocation +import QtPositioning + +RouteAddressForm { + property alias plugin : tempGeocodeModel.plugin; + property variant fromAddress; + property variant toAddress; + signal showMessage(string topic, string message) + signal showRoute(variant startCoordinate,variant endCoordinate) + signal closeForm() + + goButton.onClicked: { + tempGeocodeModel.reset() + fromAddress.country = fromCountry.text + fromAddress.street = fromStreet.text + fromAddress.city = fromCity.text + toAddress.country = toCountry.text + toAddress.street = toStreet.text + toAddress.city = toCity.text + tempGeocodeModel.startCoordinate = QtPositioning.coordinate() + tempGeocodeModel.endCoordinate = QtPositioning.coordinate() + tempGeocodeModel.query = fromAddress + tempGeocodeModel.update(); + goButton.enabled = false; + } + + clearButton.onClicked: { + fromStreet.text = "" + fromCity.text = "" + fromCountry.text = "" + toStreet.text = "" + toCity.text = "" + toCountry.text = "" + } + + cancelButton.onClicked: { + closeForm() + } + + Component.onCompleted: { + fromStreet.text = fromAddress.street + fromCity.text = fromAddress.city + fromCountry.text = fromAddress.country + toStreet.text = toAddress.street + toCity.text = toAddress.city + toCountry.text = toAddress.country + } + + GeocodeModel { + id: tempGeocodeModel + + property int success: 0 + property variant startCoordinate + property variant endCoordinate + + onCountChanged: { + if (success == 1 && count == 1) { + query = toAddress + update(); + } + } + + onStatusChanged: { + if ((status == GeocodeModel.Ready) && (count == 1)) { + success++ + if (success == 1) { + startCoordinate.latitude = get(0).coordinate.latitude + startCoordinate.longitude = get(0).coordinate.longitude + } + if (success == 2) { + endCoordinate.latitude = get(0).coordinate.latitude + endCoordinate.longitude = get(0).coordinate.longitude + success = 0 + if (startCoordinate.isValid && endCoordinate.isValid) + showRoute(startCoordinate,endCoordinate) + else + goButton.enabled = true + } + } else if ((status == GeocodeModel.Ready) || (status == GeocodeModel.Error)) { + var st = (success == 0 ) ? "start" : "end" + success = 0 + if ((status == GeocodeModel.Ready) && (count == 0 )) { + showMessage(qsTr("Geocode Error"),qsTr("Unsuccessful geocode")); + goButton.enabled = true; + } + else if (status == GeocodeModel.Error) { + showMessage(qsTr("Geocode Error"), + qsTr("Unable to find location for the") + " " + + st + " " +qsTr("point")) + goButton.enabled = true; + } + else if ((status == GeocodeModel.Ready) && (count > 1 )) { + showMessage(qsTr("Ambiguous geocode"), + count + " " + qsTr("results found for the") + + " " + st + " " +qsTr("point, please specify location")) + goButton.enabled = true; + } + } + } + } +} diff --git a/examples/location/mapviewer/MapViewer/forms/RouteAddressForm.ui.qml b/examples/location/mapviewer/MapViewer/forms/RouteAddressForm.ui.qml new file mode 100644 index 0000000..ee92270 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/RouteAddressForm.ui.qml @@ -0,0 +1,160 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +Item { + property alias fromStreet: fromStreet + property alias fromCountry: fromCountry + property alias toStreet: toStreet + property alias toCity: toCity + property alias toCountry: toCountry + property alias fromCity: fromCity + property alias goButton: goButton + property alias clearButton: clearButton + property alias cancelButton: cancelButton + + Rectangle { + id: tabRectangle + y: 20 + height: tabTitle.height * 2 + color: "#46a2da" + anchors.rightMargin: 0 + anchors.leftMargin: 0 + anchors.left: parent.left + anchors.right: parent.right + + Label { + id: tabTitle + color: "#ffffff" + text: qsTr("Route Address") + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + } + } + + Item { + id: item2 + anchors.rightMargin: 20 + anchors.leftMargin: 20 + anchors.bottomMargin: 20 + anchors.topMargin: 20 + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.top: tabRectangle.bottom + + GridLayout { + id: gridLayout3 + rowSpacing: 10 + rows: 1 + columns: 2 + anchors.fill: parent + + Label { + id: label1 + text: qsTr("From") + font.bold: true + Layout.columnSpan: 2 + Layout.alignment: Qt.AlignHCenter + } + + Label { + id: label2 + text: qsTr("Street") + } + + TextField { + id: fromStreet + Layout.fillWidth: true + } + + Label { + id: label3 + text: qsTr("City") + } + + TextField { + id: fromCity + Layout.fillWidth: true + } + + Label { + id: label7 + text: qsTr("Country") + } + + TextField { + id: fromCountry + Layout.fillWidth: true + } + + Label { + id: label6 + text: qsTr("To") + font.bold: true + Layout.columnSpan: 2 + Layout.alignment: Qt.AlignHCenter + } + + Label { + id: label4 + text: qsTr("Street") + } + + TextField { + id: toStreet + Layout.fillWidth: true + } + + Label { + id: label5 + text: qsTr("City") + } + + TextField { + id: toCity + Layout.fillWidth: true + } + + Label { + id: label8 + text: qsTr("Country") + } + + TextField { + id: toCountry + Layout.fillWidth: true + } + + RowLayout { + id: rowLayout1 + Layout.columnSpan: 2 + Layout.alignment: Qt.AlignRight + + Button { + id: goButton + text: qsTr("Proceed") + } + + Button { + id: clearButton + text: qsTr("Clear") + } + + Button { + id: cancelButton + text: qsTr("Cancel") + } + } + + Item { + Layout.fillHeight: true + Layout.columnSpan: 2 + } + } + } +} diff --git a/examples/location/mapviewer/MapViewer/forms/RouteCoordinate.qml b/examples/location/mapviewer/MapViewer/forms/RouteCoordinate.qml new file mode 100644 index 0000000..003556c --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/RouteCoordinate.qml @@ -0,0 +1,41 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtPositioning + +RouteCoordinateForm { + property variant toCoordinate + property variant fromCoordinate + signal showRoute(variant startCoordinate,variant endCoordinate) + signal closeForm() + + goButton.onClicked: { + var startCoordinate = QtPositioning.coordinate(parseFloat(fromLatitude.text), + parseFloat(fromLongitude.text)); + var endCoordinate = QtPositioning.coordinate(parseFloat(toLatitude.text), + parseFloat(toLongitude.text)); + if (startCoordinate.isValid && endCoordinate.isValid) { + goButton.enabled = false; + showRoute(startCoordinate,endCoordinate) + } + } + + clearButton.onClicked: { + fromLatitude.text = "" + fromLongitude.text = "" + toLatitude.text = "" + toLongitude.text = "" + } + + cancelButton.onClicked: { + closeForm() + } + + Component.onCompleted: { + fromLatitude.text = "" + fromCoordinate.latitude + fromLongitude.text = "" + fromCoordinate.longitude + toLatitude.text = "" + toCoordinate.latitude + toLongitude.text = "" + toCoordinate.longitude + } +} diff --git a/examples/location/mapviewer/MapViewer/forms/RouteCoordinateForm.ui.qml b/examples/location/mapviewer/MapViewer/forms/RouteCoordinateForm.ui.qml new file mode 100644 index 0000000..88ff94d --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/RouteCoordinateForm.ui.qml @@ -0,0 +1,136 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +Item { + property alias fromLatitude: fromLatitude + property alias fromLongitude: fromLongitude + property alias toLatitude: toLatitude + property alias toLongitude: toLongitude + property alias clearButton: clearButton + property alias goButton: goButton + property alias cancelButton: cancelButton + + Rectangle { + id: tabRectangle + y: 20 + height: tabTitle.height * 2 + color: "#46a2da" + anchors.rightMargin: 0 + anchors.leftMargin: 0 + anchors.left: parent.left + anchors.right: parent.right + + Label { + id: tabTitle + color: "#ffffff" + text: qsTr("Route Coordinates") + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + } + } + + Item { + id: item2 + anchors.rightMargin: 20 + anchors.leftMargin: 20 + anchors.bottomMargin: 20 + anchors.topMargin: 20 + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.top: tabRectangle.bottom + + GridLayout { + id: gridLayout3 + rowSpacing: 10 + rows: 1 + columns: 2 + anchors.fill: parent + + Label { + id: label1 + text: qsTr("From") + font.bold: true + Layout.columnSpan: 2 + Layout.alignment: Qt.AlignHCenter + } + + Label { + id: label2 + text: qsTr("Latitude") + } + + TextField { + id: fromLatitude + Layout.fillWidth: true + } + + Label { + id: label3 + text: qsTr("Longitude") + } + + TextField { + id: fromLongitude + Layout.fillWidth: true + } + + Label { + id: label6 + text: qsTr("To") + font.bold: true + Layout.columnSpan: 2 + Layout.alignment: Qt.AlignHCenter + } + + Label { + id: label4 + text: qsTr("Latitude") + } + + TextField { + id: toLatitude + Layout.fillWidth: true + } + + Label { + id: label5 + text: qsTr("Longitude") + } + + TextField { + id: toLongitude + Layout.fillWidth: true + } + + RowLayout { + id: rowLayout1 + Layout.columnSpan: 2 + Layout.alignment: Qt.AlignRight + Button { + id: goButton + text: qsTr("Proceed") + } + + Button { + id: clearButton + text: qsTr("Clear") + } + + Button { + id: cancelButton + text: qsTr("Cancel") + } + } + Item { + Layout.fillHeight: true + Layout.columnSpan: 2 + } + } + } +} diff --git a/examples/location/mapviewer/MapViewer/forms/RouteList.qml b/examples/location/mapviewer/MapViewer/forms/RouteList.qml new file mode 100644 index 0000000..8dbda7c --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/RouteList.qml @@ -0,0 +1,50 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import "../helper.js" as Helper + +//! [routeinfomodel0] +ListView { +//! [routeinfomodel0] + property variant routeModel + property string totalTravelTime + property string totalDistance + signal closeForm() +//! [routeinfomodel1] + interactive: true + model: ListModel { id: routeInfoModel } + header: RouteListHeader {} + delegate: RouteListDelegate{ + routeIndex.text: index + 1 + routeInstruction.text: instruction + routeDistance.text: distance + } +//! [routeinfomodel1] + footer: Button { + anchors.horizontalCenter: parent.horizontalCenter + text: qsTr("Close") + onClicked: { + closeForm() + } + } + + Component.onCompleted: { + //! [routeinfomodel2] + routeInfoModel.clear() + if (routeModel.count > 0) { + for (var i = 0; i < routeModel.get(0).segments.length; i++) { + routeInfoModel.append({ + "instruction": routeModel.get(0).segments[i].maneuver.instructionText, + "distance": Helper.formatDistance(routeModel.get(0).segments[i].maneuver.distanceToNextInstruction) + }); + } + } + //! [routeinfomodel2] + totalTravelTime = routeModel.count == 0 ? "" : Helper.formatTime(routeModel.get(0).travelTime) + totalDistance = routeModel.count == 0 ? "" : Helper.formatDistance(routeModel.get(0).distance) + } +//! [routeinfomodel3] +} +//! [routeinfomodel3] diff --git a/examples/location/mapviewer/MapViewer/forms/RouteListDelegate.qml b/examples/location/mapviewer/MapViewer/forms/RouteListDelegate.qml new file mode 100644 index 0000000..680318a --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/RouteListDelegate.qml @@ -0,0 +1,42 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +Item { + id: root + property bool checked: false + property alias routeInstruction: instructionLabel + property alias routeDistance: distanceLabel + property alias routeIndex: indexLabel + + width: appWindow.width + height: indexLabel.height * 2 + + RowLayout { + spacing: 10 + anchors.left: parent.left + anchors.leftMargin: 30 + anchors.verticalCenter: parent.verticalCenter + Label { + id: indexLabel + } + Label { + id: instructionLabel + wrapMode: Text.Wrap + } + Label { + id: distanceLabel + } + } + + Rectangle { + anchors.left: parent.left + anchors.right: parent.right + anchors.margins: 15 + height: 1 + color: "#46a2da" + } +} diff --git a/examples/location/mapviewer/MapViewer/forms/RouteListHeader.qml b/examples/location/mapviewer/MapViewer/forms/RouteListHeader.qml new file mode 100644 index 0000000..4f83080 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/forms/RouteListHeader.qml @@ -0,0 +1,47 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +Item { + property alias travelTime: travelTimeLabel + property alias distance: distanceLabel + width: parent.width + height: tabTitle.height * 3.0 + + Rectangle { + id: tabRectangle + y: tabTitle.height + height: tabTitle.height * 2 - 1 + color: "#46a2da" + anchors.left: parent.left + anchors.right: parent.right + + Label { + id: tabTitle + color: "#ffffff" + text: qsTr("Route Information") + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + } + + Label { + id: travelTimeLabel + text: totalTravelTime + color: "#ffffff" + font.bold: true + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + } + + Label { + id: distanceLabel + text: totalDistance + color: "#ffffff" + font.bold: true + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + } + } +} diff --git a/examples/location/mapviewer/MapViewer/helper.js b/examples/location/mapviewer/MapViewer/helper.js new file mode 100644 index 0000000..a420405 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/helper.js @@ -0,0 +1,44 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +.pragma library + +function roundNumber(number, digits) +{ + var multiple = Math.pow(10, digits); + return Math.round(number * multiple) / multiple; +} + +function formatTime(sec) +{ + var value = sec + var seconds = value % 60 + value /= 60 + value = (value > 1) ? Math.round(value) : 0 + var minutes = value % 60 + value /= 60 + value = (value > 1) ? Math.round(value) : 0 + var hours = value + if (hours > 0) value = hours + "h:"+ minutes + "m" + else value = minutes + "min" + return value +} + +function formatDistance(meters) +{ + var dist = Math.round(meters) + if (dist > 1000 ){ + if (dist > 100000){ + dist = Math.round(dist / 1000) + } + else{ + dist = Math.round(dist / 100) + dist = dist / 10 + } + dist = dist + " km" + } + else{ + dist = dist + " m" + } + return dist +} diff --git a/examples/location/mapviewer/MapViewer/map/MapComponent.qml b/examples/location/mapviewer/MapViewer/map/MapComponent.qml new file mode 100644 index 0000000..9874552 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/map/MapComponent.qml @@ -0,0 +1,497 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +import QtQuick +import QtQuick.Controls +import QtLocation +import QtPositioning +import "../helper.js" as Helper + +//! [top] +MapView { + id: view +//! [top] + property variant markers + property variant mapItems + property int markerCounter: 0 // counter for total amount of markers. Resets to 0 when number of markers = 0 + property int currentMarker + property bool followme: false + property variant scaleLengths: [5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 50000, 100000, 200000, 500000, 1000000, 2000000] + property alias routeQuery: routeQuery + property alias routeModel: routeModel + property alias geocodeModel: geocodeModel + property alias slidersExpanded: sliders.expanded + + signal showGeocodeInfo() + signal geocodeFinished() + signal routeError() + signal coordinatesCaptured(double latitude, double longitude) + signal showMainMenu(variant coordinate) + signal showMarkerMenu(variant coordinate) + signal showRouteMenu(variant coordinate) + signal showPointMenu(variant coordinate) + signal showRouteList() + + function geocodeMessage() + { + var street, district, city, county, state, countryCode, country, postalCode, latitude, longitude, text + latitude = Math.round(geocodeModel.get(0).coordinate.latitude * 10000) / 10000 + longitude =Math.round(geocodeModel.get(0).coordinate.longitude * 10000) / 10000 + street = geocodeModel.get(0).address.street + district = geocodeModel.get(0).address.district + city = geocodeModel.get(0).address.city + county = geocodeModel.get(0).address.county + state = geocodeModel.get(0).address.state + countryCode = geocodeModel.get(0).address.countryCode + country = geocodeModel.get(0).address.country + postalCode = geocodeModel.get(0).address.postalCode + + text = "Latitude: " + latitude + "
" + text +="Longitude: " + longitude + "
" + "
" + if (street) text +="Street: "+ street + "
" + if (district) text +="District: "+ district +"
" + if (city) text +="City: "+ city + "
" + if (county) text +="County: "+ county + "
" + if (state) text +="State: "+ state + "
" + if (countryCode) text +="Country code: "+ countryCode + "
" + if (country) text +="Country: "+ country + "
" + if (postalCode) text +="PostalCode: "+ postalCode + "
" + return text + } + + function calculateScale() + { + var coord1, coord2, dist, text, f + f = 0 + coord1 = view.map.toCoordinate(Qt.point(0,scale.y)) + coord2 = view.map.toCoordinate(Qt.point(0+scaleImage.sourceSize.width,scale.y)) + dist = Math.round(coord1.distanceTo(coord2)) + + if (dist === 0) { + // not visible + } else { + for (var i = 0; i < scaleLengths.length-1; i++) { + if (dist < (scaleLengths[i] + scaleLengths[i+1]) / 2 ) { + f = scaleLengths[i] / dist + dist = scaleLengths[i] + break; + } + } + if (f === 0) { + f = dist / scaleLengths[i] + dist = scaleLengths[i] + } + } + + text = Helper.formatDistance(dist) + scaleImage.width = (scaleImage.sourceSize.width * f) - 2 * scaleImageLeft.sourceSize.width + scaleText.text = text + } + + function deleteMarkers() + { + var count = view.markers.length + for (var i = count-1; i>=0; i--){ + view.map.removeMapItem(view.markers[i]) + } + view.markers = [] + } + + function addMarker() + { + var count = view.markers.length + markerCounter++ + var marker = Qt.createQmlObject ('Marker {}', map) + view.map.addMapItem(marker) + marker.z = view.map.z+1 + marker.coordinate = tapHandler.lastCoordinate + markers.push(marker) + } + + function deleteMarker(index) + { + //update list of markers + var myArray = [] + var count = view.markers.length + for (var i = 0; i { + if (event.key === Qt.Key_Plus) { + view.map.zoomLevel++; + } else if (event.key === Qt.Key_Minus) { + view.map.zoomLevel--; + } else if (event.key === Qt.Key_Left || event.key === Qt.Key_Right || + event.key === Qt.Key_Up || event.key === Qt.Key_Down) { + var dx = 0; + var dy = 0; + + switch (event.key) { + + case Qt.Key_Left: dx = view.map.width / 4; break; + case Qt.Key_Right: dx = -view.map.width / 4; break; + case Qt.Key_Up: dy = view.map.height / 4; break; + case Qt.Key_Down: dy = -view.map.height / 4; break; + + } + + var mapCenterPoint = Qt.point(view.map.width / 2.0 - dx, view.map.height / 2.0 - dy); + view.map.center = view.map.toCoordinate(mapCenterPoint); + } + } + + PositionSource{ + id: positionSource + active: followme + + onPositionChanged: { + view.map.center = positionSource.position.coordinate + } + } + + MapQuickItem { + id: mePoisition + parent: view.map + sourceItem: Rectangle { width: 14; height: 14; color: "#251ee4"; border.width: 2; border.color: "white"; smooth: true; radius: 7 } + coordinate: positionSource.position.coordinate + opacity: 1.0 + anchorPoint: Qt.point(sourceItem.width/2, sourceItem.height/2) + visible: followme + } + MapQuickItem { + parent: view.map + sourceItem: Text{ + text: qsTr("You're here!") + color:"#242424" + font.bold: true + styleColor: "#ECECEC" + style: Text.Outline + } + coordinate: positionSource.position.coordinate + anchorPoint: Qt.point(-mePoisition.sourceItem.width * 0.5, mePoisition.sourceItem.height * 1.5) + visible: followme + } + + + MapQuickItem { + id: poiTheQtComapny + parent: view.map + sourceItem: Rectangle { width: 14; height: 14; color: "#e41e25"; border.width: 2; border.color: "white"; smooth: true; radius: 7 } + coordinate { + latitude: 59.9485 + longitude: 10.7686 + } + opacity: 1.0 + anchorPoint: Qt.point(sourceItem.width/2, sourceItem.height/2) + } + + MapQuickItem { + parent: view.map + sourceItem: Text{ + text: "The Qt Company" + color:"#242424" + font.bold: true + styleColor: "#ECECEC" + style: Text.Outline + } + coordinate: poiTheQtComapny.coordinate + anchorPoint: Qt.point(-poiTheQtComapny.sourceItem.width * 0.5, poiTheQtComapny.sourceItem.height * 1.5) + } + + MapSliders { + id: sliders + z: view.map.z + 3 + mapSource: map + edge: Qt.LeftEdge + } + + Item { + id: scale + z: view.map.z + 3 + visible: scaleText.text !== "0 m" + anchors.bottom: parent.bottom; + anchors.right: parent.right + anchors.margins: 20 + height: scaleText.height * 2 + width: scaleImage.width + + Image { + id: scaleImageLeft + source: "../resources/scale_end.png" + anchors.bottom: parent.bottom + anchors.right: scaleImage.left + } + Image { + id: scaleImage + source: "../resources/scale.png" + anchors.bottom: parent.bottom + anchors.right: scaleImageRight.left + } + Image { + id: scaleImageRight + source: "../resources/scale_end.png" + anchors.bottom: parent.bottom + anchors.right: parent.right + } + Label { + id: scaleText + color: "#004EAE" + anchors.centerIn: parent + text: "0 m" + } + Component.onCompleted: { + view.calculateScale(); + } + } + + //! [routemodel0] + RouteModel { + id: routeModel + plugin : view.map.plugin + query: RouteQuery { + id: routeQuery + } + onStatusChanged: { + if (status == RouteModel.Ready) { + switch (count) { + case 0: + // technically not an error + view.routeError() + break + case 1: + view.showRouteList() + break + } + } else if (status == RouteModel.Error) { + view.routeError() + } + } + } + //! [routemodel0] + + //! [routedelegate0] + Component { + id: routeDelegate + + MapRoute { + id: route + route: routeData + line.color: "#46a2da" + line.width: 5 + smooth: true + opacity: 0.8 + //! [routedelegate0] + TapHandler { + acceptedButtons: Qt.LeftButton | Qt.RightButton + onLongPressed: showRouteMenu(view.map.toCoordinate(tapHandler.point.position)) + onSingleTapped: (eventPoint, button) => { + if (button === Qt.RightButton) + showRouteMenu(view.map.toCoordinate(tapHandler.point.position)) + } + } + } + } + + //! [geocodemodel0] + GeocodeModel { + id: geocodeModel + plugin: view.map.plugin + onStatusChanged: { + if ((status == GeocodeModel.Ready) || (status == GeocodeModel.Error)) + view.geocodeFinished() + } + onLocationsChanged: + { + if (count === 1) { + view.map.center.latitude = get(0).coordinate.latitude + view.map.center.longitude = get(0).coordinate.longitude + } + } + } + //! [geocodemodel0] + + //! [pointdel0] + Component { + id: pointDelegate + + MapQuickItem { + id: point + parent: view.map + coordinate: locationData.coordinate + + sourceItem: Image { + id: pointMarker + source: "../resources/marker_blue.png" + //! [pointdel0] + + Text{ + id: pointText + anchors.bottom: pointMarker.top + anchors.horizontalCenter: pointMarker.horizontalCenter + text: locationData.address.street + ", " + locationData.address.city + color:"#242424" + font.bold: true + styleColor: "#ECECEC" + style: Text.Outline + } + + } + smooth: true + autoFadeIn: false + anchorPoint.x: pointMarker.width/4 + anchorPoint.y: pointMarker.height + + TapHandler { + onLongPressed: showPointMenu(point.coordinate) + //! [pointdel1] + } + } + } + //! [pointdel1] + + //! [routeview0] + MapItemView { + parent: view.map + model: routeModel + delegate: routeDelegate + //! [routeview0] + autoFitViewport: true + } + + //! [geocodeview] + MapItemView { + parent: view.map + model: geocodeModel + delegate: pointDelegate + } + //! [geocodeview] + + Timer { + id: scaleTimer + interval: 100 + running: false + repeat: false + onTriggered: view.calculateScale() + } + + TapHandler { + id: tapHandler + property variant lastCoordinate + acceptedButtons: Qt.LeftButton | Qt.RightButton + + onPressedChanged: (eventPoint, button) => { + if (pressed) { + lastCoordinate = view.map.toCoordinate(tapHandler.point.position) + } + } + + onSingleTapped: (eventPoint, button) => { + if (button === Qt.RightButton) { + showMainMenu(lastCoordinate) + } + } + + onDoubleTapped: (eventPoint, button) => { + var preZoomPoint = view.map.toCoordinate(eventPoint.position); + if (button === Qt.LeftButton) { + view.map.zoomLevel = Math.floor(view.map.zoomLevel + 1) + } else if (button === Qt.RightButton) { + view.map.zoomLevel = Math.floor(view.map.zoomLevel - 1) + } + var postZoomPoint = view.map.toCoordinate(eventPoint.position); + var dx = postZoomPoint.latitude - preZoomPoint.latitude; + var dy = postZoomPoint.longitude - preZoomPoint.longitude; + + view.map.center = QtPositioning.coordinate(view.map.center.latitude - dx, + view.map.center.longitude - dy); + } + } +//! [end] +} +//! [end] diff --git a/examples/location/mapviewer/MapViewer/map/MapSliders.qml b/examples/location/mapviewer/MapViewer/map/MapSliders.qml new file mode 100644 index 0000000..d9c8381 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/map/MapSliders.qml @@ -0,0 +1,282 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +Row { + id: containerRow + + property var mapSource + property real fontSize : 14 + property color labelBackground : "transparent" + property int edge: Qt.RightEdge + property alias expanded: sliderToggler.checked + + function rightEdge() { + return (containerRow.edge === Qt.RightEdge); + } + + layoutDirection: rightEdge() ? Qt.LeftToRight : Qt.RightToLeft + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.right: rightEdge() ? parent.right : undefined + anchors.left: rightEdge() ? undefined : parent.left + + AbstractButton { + id: sliderToggler + width: 32 + height: 96 + checkable: true + checked: true + anchors.verticalCenter: parent.verticalCenter + + transform: Scale { + origin.x: rightEdge() ? 0 : sliderToggler.width / 2 + xScale: rightEdge() ? 1 : -1 + } + + background: Rectangle { + color: "transparent" + } + + + property real shear: 0.333 + property real buttonOpacity: 0.5 + property real mirror : rightEdge() ? 1.0 : -1.0 + + Rectangle { + width: 16 + height: 48 + color: "seagreen" + antialiasing: true + opacity: sliderToggler.buttonOpacity + anchors.top: parent.top + anchors.left: sliderToggler.checked ? parent.left : parent.horizontalCenter + transform: Matrix4x4 { + property real d : sliderToggler.checked ? 1.0 : -1.0 + matrix: Qt.matrix4x4(1.0, d * sliderToggler.shear, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0) + } + } + + Rectangle { + width: 16 + height: 48 + color: "seagreen" + antialiasing: true + opacity: sliderToggler.buttonOpacity + anchors.top: parent.verticalCenter + anchors.right: sliderToggler.checked ? parent.right : parent.horizontalCenter + transform: Matrix4x4 { + property real d : sliderToggler.checked ? -1.0 : 1.0 + matrix: Qt.matrix4x4(1.0, d * sliderToggler.shear, 0.0, 0.0, + 0.0, 1.0, 0.0, 0.0, + 0.0, 0.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 1.0) + } + } + } + + Rectangle { + id: sliderContainer + height: parent.height + width: sliderRow.width + 10 + visible: sliderToggler.checked + color: Qt.rgba( 0, 191 / 255.0, 255 / 255.0, 0.07) + + property var labelBorderColor: "transparent" + property var slidersHeight : sliderContainer.height + - rowSliderValues.height + - rowSliderLabels.height + - sliderColumn.spacing * 2 + - sliderColumn.topPadding + - sliderColumn.bottomPadding + + Column { + id: sliderColumn + spacing: 10 + topPadding: 16 + bottomPadding: 48 + anchors.centerIn: parent + + // the sliders value labels + Row { + id: rowSliderValues + spacing: sliderRow.spacing + width: sliderRow.width + height: 32 + property real entryWidth: zoomSlider.width + + Rectangle{ + color: labelBackground + height: parent.height + width: parent.entryWidth + border.color: sliderContainer.labelBorderColor + Label { + id: labelZoomValue + text: zoomSlider.value.toFixed(3) + font.pixelSize: fontSize + rotation: -90 + anchors.centerIn: parent + } + } + Rectangle{ + color: labelBackground + height: parent.height + width: parent.entryWidth + border.color: sliderContainer.labelBorderColor + Label { + id: labelBearingValue + text: bearingSlider.value.toFixed(2) + font.pixelSize: fontSize + rotation: -90 + anchors.centerIn: parent + } + } + Rectangle{ + color: labelBackground + height: parent.height + width: parent.entryWidth + border.color: sliderContainer.labelBorderColor + Label { + id: labelTiltValue + text: tiltSlider.value.toFixed(2) + font.pixelSize: fontSize + rotation: -90 + anchors.centerIn: parent + } + } + Rectangle{ + color: labelBackground + height: parent.height + width: parent.entryWidth + border.color: sliderContainer.labelBorderColor + Label { + id: labelFovValue + text: fovSlider.value.toFixed(2) + font.pixelSize: fontSize + rotation: -90 + anchors.centerIn: parent + } + } + } // rowSliderValues + + // The sliders row + Row { + id: sliderRow + height: sliderContainer.slidersHeight + + Slider { + id: zoomSlider + height: parent.height + orientation : Qt.Vertical + from : containerRow.mapSource.minimumZoomLevel + to : containerRow.mapSource.maximumZoomLevel + value : containerRow.mapSource.zoomLevel + onValueChanged: { + containerRow.mapSource.zoomLevel = value + } + } + Slider { + id: bearingSlider + height: parent.height + from: 0 + to: 360 + orientation : Qt.Vertical + value: containerRow.mapSource.bearing + onValueChanged: { + containerRow.mapSource.bearing = value; + } + } + Slider { + id: tiltSlider + height: parent.height + orientation : Qt.Vertical + from: containerRow.mapSource.minimumTilt; + to: containerRow.mapSource.maximumTilt + value: containerRow.mapSource.tilt + onValueChanged: { + containerRow.mapSource.tilt = value; + } + } + Slider { + id: fovSlider + height: parent.height + orientation : Qt.Vertical + from: containerRow.mapSource.minimumFieldOfView + to: containerRow.mapSource.maximumFieldOfView + value: containerRow.mapSource.fieldOfView + onValueChanged: { + containerRow.mapSource.fieldOfView = value; + } + } + } // Row sliders + + // The labels row + Row { + id: rowSliderLabels + spacing: sliderRow.spacing + width: sliderRow.width + property real entryWidth: zoomSlider.width + property real entryHeight: 64 + + Rectangle{ + color: labelBackground + height: parent.entryHeight + width: parent.entryWidth + border.color: sliderContainer.labelBorderColor + Label { + id: labelZoom + text: "Zoom" + font.pixelSize: fontSize + rotation: -90 + anchors.centerIn: parent + } + } + + Rectangle{ + color: labelBackground + height: parent.entryHeight + width: parent.entryWidth + border.color: sliderContainer.labelBorderColor + Label { + id: labelBearing + text: "Bearing" + font.pixelSize: fontSize + rotation: -90 + anchors.centerIn: parent + } + } + Rectangle{ + color: labelBackground + height: parent.entryHeight + width: parent.entryWidth + border.color: sliderContainer.labelBorderColor + Label { + id: labelTilt + text: "Tilt" + font.pixelSize: fontSize + rotation: -90 + anchors.centerIn: parent + } + } + Rectangle{ + color: labelBackground + height: parent.entryHeight + width: parent.entryWidth + border.color: sliderContainer.labelBorderColor + Label { + id: labelFov + text: "FoV" + font.pixelSize: fontSize + rotation: -90 + anchors.centerIn: parent + } + } + } // rowSliderLabels + } // Column + } // sliderContainer +} // containerRow diff --git a/examples/location/mapviewer/MapViewer/map/Marker.qml b/examples/location/mapviewer/MapViewer/map/Marker.qml new file mode 100644 index 0000000..c7494cf --- /dev/null +++ b/examples/location/mapviewer/MapViewer/map/Marker.qml @@ -0,0 +1,64 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtLocation + +//! [mqi-top] +MapQuickItem { + id: marker +//! [mqi-top] + +//! [mqi-anchor] + anchorPoint.x: image.width/4 + anchorPoint.y: image.height + + HoverHandler { + id: hoverHandler + } + TapHandler { + id: tapHandler + acceptedButtons: Qt.RightButton + gesturePolicy: TapHandler.WithinBounds + onTapped: { + mapview.currentMarker = -1 + for (var i = 0; i< mapview.markers.length; i++){ + if (marker == mapview.markers[i]){ + mapview.currentMarker = i + break + } + } + mapview.showMarkerMenu(marker.coordinate) + } + } + DragHandler { + id: dragHandler + grabPermissions: PointerHandler.CanTakeOverFromItems | PointerHandler.CanTakeOverFromHandlersOfDifferentType + } + + sourceItem: Image { + id: image +//! [mqi-anchor] + source: "../resources/marker.png" + opacity: hoverHandler.hovered ? 0.6 : 1.0 + + Text{ + id: number + y: image.height/10 + width: image.width + color: "white" + font.bold: true + font.pixelSize: 14 + horizontalAlignment: Text.AlignHCenter + Component.onCompleted: { + text = mapview.markerCounter + } + } + +//! [mqi-closeimage] + } +//! [mqi-closeimage] + +//! [mqi-close] +} +//! [mqi-close] diff --git a/examples/location/mapviewer/MapViewer/map/MiniMap.qml b/examples/location/mapviewer/MapViewer/map/MiniMap.qml new file mode 100644 index 0000000..f8fc515 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/map/MiniMap.qml @@ -0,0 +1,78 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtPositioning +import QtLocation + +Rectangle{ + + function clamp(num, min, max) + { + return num < min ? min : num > max ? max : num; + } + + function minimumScaleFactor() + { + var hscalefactor = (400.0 / Math.max(Math.min(mapview.width, 1000), 400)) * 0.5 + var vscalefactor = (400.0 / Math.max(Math.min(mapview.height, 1000), 400)) * 0.5 + return Math.min(hscalefactor,vscalefactor) + } + + function avgScaleFactor() + { + var hscalefactor = (400.0 / Math.max(Math.min(mapview.width, 1000), 400)) * 0.5 + var vscalefactor = (400.0 / Math.max(Math.min(mapview.height, 1000), 400)) * 0.5 + return (hscalefactor+vscalefactor) * 0.5 + } + + id: miniMapRect + width: Math.floor(mapview.width * avgScaleFactor()) + 2 + height: Math.floor(mapview.height * avgScaleFactor()) + 2 + anchors.right: (parent) ? parent.right : undefined + anchors.rightMargin: 10 + anchors.top: (parent) ? parent.top : undefined + anchors.topMargin: 10 + color: "#242424" + Map { + id: miniMap + anchors.top: parent.top + anchors.topMargin: 1 + anchors.left: parent.left + anchors.leftMargin: 1 + width: Math.floor(mapview.width * avgScaleFactor()) + height: Math.floor(mapview.height * avgScaleFactor()) + zoomLevel: clamp(mapview.map.zoomLevel - 4.5, 1.0, 5.0) //(map.zoomLevel > minimumZoomLevel + 3) ? minimumZoomLevel + 3 : 1.5 + center: mapview.map.center + plugin: mapview.map.plugin + copyrightsVisible: false + property double mapZoomLevel : mapview.map.zoomLevel + + // cannot use property bindings on map.visibleRegion in MapRectangle because it's non-NOTIFYable + onCenterChanged: miniMapRectangle.updateCoordinates() + onMapZoomLevelChanged: miniMapRectangle.updateCoordinates() + onWidthChanged: miniMapRectangle.updateCoordinates() + onHeightChanged: miniMapRectangle.updateCoordinates() + + MapRectangle { + id: miniMapRectangle + color: "#44ff0000" + border.width: 1 + border.color: "red" + autoFadeIn: false + + function getMapVisibleRegion() + { + return mapview.map.visibleRegion.boundingGeoRectangle() + } + + function updateCoordinates() + { + topLeft.latitude = getMapVisibleRegion().topLeft.latitude + topLeft.longitude= getMapVisibleRegion().topLeft.longitude + bottomRight.latitude = getMapVisibleRegion().bottomRight.latitude + bottomRight.longitude= getMapVisibleRegion().bottomRight.longitude + } + } + } +} diff --git a/examples/location/mapviewer/MapViewer/menus/ItemPopupMenu.qml b/examples/location/mapviewer/MapViewer/menus/ItemPopupMenu.qml new file mode 100644 index 0000000..d559aca --- /dev/null +++ b/examples/location/mapviewer/MapViewer/menus/ItemPopupMenu.qml @@ -0,0 +1,19 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +Menu { + property variant type + signal itemClicked(string item) + + MenuItem { + text: qsTr("Info") + onTriggered: itemClicked("show" + type + "Info") + } + MenuItem { + text: qsTr("Delete") + onTriggered: itemClicked("delete" + type) + } +} diff --git a/examples/location/mapviewer/MapViewer/menus/MainMenu.qml b/examples/location/mapviewer/MapViewer/menus/MainMenu.qml new file mode 100644 index 0000000..3523b5c --- /dev/null +++ b/examples/location/mapviewer/MapViewer/menus/MainMenu.qml @@ -0,0 +1,122 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtLocation + +MenuBar { + id: menuBar + property variant providerMenu: providerMenu + property variant mapTypeMenu: mapTypeMenu + property variant toolsMenu: toolsMenu + property variant plugin + property alias isFollowMe: toolsMenu.isFollowMe + property alias isMiniMap: toolsMenu.isMiniMap + + signal selectProvider(string providerName) + signal selectMapType(variant mapType) + signal selectTool(string tool); + signal toggleMapState(string state) + + function clearMenu(menu) + { + while (menu.count) + menu.removeItem(menu.itemAt(0)) + } + + Menu { + id: providerMenu + title: qsTr("Provider") + + function createMenu(plugins) + { + clearMenu(providerMenu) + for (var i = 0; i < plugins.length; i++) { + createProviderMenuItem(plugins[i]); + } + } + + function createProviderMenuItem(provider) + { + var action = Qt.createQmlObject('import QtQuick.Controls; Action{ text: "' + provider + '"; checkable: true; onTriggered: function(){selectProvider("' + provider + '")} }', providerMenu) + addAction(action) + } + } + + Menu { + id: mapTypeMenu + title: qsTr("MapType") + + Component { + id: mapTypeMenuActionComponent + Action { + + } + } + function createMenu(map) + { + clearMenu(mapTypeMenu) + for (var i = 0; i 0 + onTriggered: itemClicked("deleteMarkers") + } +} diff --git a/examples/location/mapviewer/MapViewer/menus/MarkerPopupMenu.qml b/examples/location/mapviewer/MapViewer/menus/MarkerPopupMenu.qml new file mode 100644 index 0000000..338f238 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/menus/MarkerPopupMenu.qml @@ -0,0 +1,38 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +Menu { + property int currentMarker + property int markersCount + signal itemClicked(string item) + + MenuItem { + text: qsTr("Delete") + onTriggered: itemClicked("deleteMarker") + } + MenuItem { + text: qsTr("Coordinates") + onTriggered: itemClicked("getMarkerCoordinate") + } + MenuItem { + text: qsTr("Move to") + onTriggered: itemClicked("moveMarkerTo") + } + MenuItem { + text: currentMarker < markersCount-2 ? qsTr("Route to next markers") + : qsTr("Route to next marker") + enabled: currentMarker <= markersCount - 2 + onTriggered: currentMarker < markersCount-2 ? itemClicked("routeToNextPoints") + : itemClicked("routeToNextPoint") + } + MenuItem { + text: currentMarker < markersCount-2 ? qsTr("Distance to next markers") + : qsTr("Distance to next marker") + enabled: currentMarker <= markersCount - 2 + onTriggered: currentMarker < markersCount-2 ? itemClicked("distanceToNextPoints") + : itemClicked("distanceToNextPoint") + } +} diff --git a/examples/location/mapviewer/MapViewer/qmldir b/examples/location/mapviewer/MapViewer/qmldir new file mode 100644 index 0000000..359ca02 --- /dev/null +++ b/examples/location/mapviewer/MapViewer/qmldir @@ -0,0 +1,27 @@ +module MapViewer +typeinfo mapviewer.qmltypes +Main 1.0 Main.qml +Helper 1.0 helper.js +MapComponent 1.0 map/MapComponent.qml +MapSliders 1.0 map/MapSliders.qml +Marker 1.0 map/Marker.qml +MiniMap 1.0 map/MiniMap.qml +ItemPopupMenu 1.0 menus/ItemPopupMenu.qml +MainMenu 1.0 menus/MainMenu.qml +MapPopupMenu 1.0 menus/MapPopupMenu.qml +MarkerPopupMenu 1.0 menus/MarkerPopupMenu.qml +Geocode 1.0 forms/Geocode.qml +GeocodeForm 1.0 forms/GeocodeForm.ui.qml +Message 1.0 forms/Message.qml +MessageForm 1.0 forms/MessageForm.ui.qml +ReverseGeocode 1.0 forms/ReverseGeocode.qml +ReverseGeocodeForm 1.0 forms/ReverseGeocodeForm.ui.qml +RouteCoordinate 1.0 forms/RouteCoordinate.qml +Locale 1.0 forms/Locale.qml +LocaleForm 1.0 forms/LocaleForm.ui.qml +RouteAddress 1.0 forms/RouteAddress.qml +RouteAddressForm 1.0 forms/RouteAddressForm.ui.qml +RouteCoordinateForm 1.0 forms/RouteCoordinateForm.ui.qml +RouteList 1.0 forms/RouteList.qml +RouteListDelegate 1.0 forms/RouteListDelegate.qml +RouteListHeader 1.0 forms/RouteListHeader.qml diff --git a/examples/location/mapviewer/MapViewer/resources/marker.png b/examples/location/mapviewer/MapViewer/resources/marker.png new file mode 100644 index 0000000000000000000000000000000000000000..2116dfdf51bfb8ac9556af035d598cf2c68c44e3 GIT binary patch literal 752 zcmVP001Be1^@s6=bY090008FNklP9F+g_dGL z7b4wOL~YbX6}NhC`Y^Yem;_BVH^=jjGv%gj-gDq^?<8~n@6OCQGh-NK7!h@__p?7@ zAHg%1%k{H&7`2$=I6)SB$ey9%mf^nW7pw@t0liA$uW3=@<{h$6c2acLUNScZ#1n1& zj{lW0thX!xPr(xr5KoZZd4{Yl+b9~?SDiKsYw4jl=ahsz49ascH$lOp{)gvA{a+7Rbz6(!?wYhMaEN_*&FvlTY+Qe#GeLd5Y`1f1;(W)TxhmI&f zGMmlT7dqEPnL5c-$rEwKC^iKt`y;L(O{LEFOX&6M`3tgeo|g$ok3Ur@d#&7y#A^h6 z?>^6`UFq7fPoGtQPnFzO*2?UlncYoA0W+aJ?(31K(tFo2L@iE#B&)%{`ZRITEx!AZ zU)hx!$Bv5w?bcmR&+YjDzHG#=UYFZb?pf8h$W$s-$07?*nr~~*-vC?M)D-<;udDUC zx(`a(n9X1Re>5i2b#_ic_8U43M<~(&X=?Gdk$OC$)?v`lX*}=K5dL}Zz8b-2L$~o) id-3sdrSb5U8~YFSpzHYmbwF4E0000P001Be1^@s6=bY09000OXdQ@0+Qek%> zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3yqa^$!Ug#Ysta|Ce#m*aq2#N6N=e?CyM+jiS+ zcf>2XiZVr!ATp5v-TL3Z+x^2Qh|exbsk!BR@kuSUpxo5!{AwP9kv87{7JbGm{qpODmo)wBr-y%YxxI(E$Y1sL6THB#V9de{L(YB~1t5MuxXE$w%k{v2z2T2h zH8ITGT-l&r{hp$W|HZ9%aE^=<+B<~2EAyEE7qPZrjE^92Wgn3lf0Yo5_xP~_kYag= zDRdCqeUZLSl{uY+6*nN=e{PNfi#ML`fo&rAT$s zM03n3OU}7u6FDuhq#`AkQfg^MYpkhC&9&58Th$g?L<6PeR$6VXsRpMkq|Bv^S9*Hr zv8OIQ_tI-`T?h0TX~@W$}4L0x>8=I@Fpi>n1NVG9>j|w0HK3nc2%EJFysug ztC`A4z(_G{-1LSR5T@mWZ2yYgFXVoNo0Iw@+`@OrIfL&1ft&-n-*Ni{wP|^79K`M@ zG@o9P=;QgS>OxgZYWlI=edjjQ2~;U_?nG=(x*1=?X?mqU2*y`Fuj+1OgClKXTk*T}&tfNSKbs@7{G1bp- zIju9#E=Y9Twj{SMJHn05dP^{E-#*d_Z^{@eYnOs8dTrQu@J*Bl?yD6(wxYb3`(lQq z(9F-uOcTd0R>;W5SvTD4Zg%2H$VL0JVcU^0WWksn*BffvK3wZ*;Y&c@feN=@6Uwm+G^7~Z z*{>M|+$J<6s6!C=?DK(OmurmnN3kmad=Cf)=Z zBsZ*lZvduEBmJ0Hd7|F$s8ak)9c|kxlXN8Jg0w?UYuzr)11=nD``fJQob0XZsz$|`w>aks6$5+7592*6lP#y!ppX9YnSzj2-W zZa|FqXu$Tm2#|qFv_?5s08~tJP~%mLEa&5z&$2sIk_h)x3tS^Yqtqx%y)2oS8OT@` zqn%e9ndpTEi*oVDLHk+T%;G}Kkuco$ksuwIuBfQ3x6+Ija;4x!A;~;W#lxvtVzpEt zPfoD(FhFHEcmsX8Q;e5}cS~nB<|?Q&IXK7eTRXfcGc-i<)39?th)+s9k{o^ui}if& zZEYmCS|XB-0D<&yI}?zC{+tAMoZhJXPJ%*R&s4S-9u7Druq9h~77B%g%=d=Ip*c=T zsg_!GPakRy(e_HZt~)I8{5`-_s`x+o-+cl^Kp0dO`C)ZSUn^NC<`OCPdq)P0-JJ@D zB%!q#rExYc*pbTPV|01jTR6FcZNjxHBBCa;tfAp$h`QW;NysUD>8PlpF!pAmlSs-&dT5%%^#X68U(qLUC&sKVEE3wCy8?urk zlS!3Wc9ROCWCX{~V^EFkPIM&dMr5-?wmx^ohfckl2dh~ZRn5WJ-biGz{`uZF2D-dta`wRh@@Et3=GvaB{`bgOFd z)&*k3CZ)n?Py&*yUgjDG6O>k8Yce>|v$DZ7@9rU-dl*Mms9GU4 zp`|8dCxGDPxLy8jA>h8DqbY_}w^ryv9Yl0f@8C{uBHJvSGe#*>9Hq;gmfHa!QI3%- zAsB@%TuC;vu@7QDGndXmO|w?9v-?;e%|;)}xl>RPJMFrcHgBZ-_f?Mja#L?O*Z`eM z7}t@NY8z>DM&az!?Uc{nj2G@cAAsvg3zY3YHKK4nX;icS0SY_r@jLbst^fc5gK0xU zP)S2WAaHVTW@&6?004NLeUUv#!$2IxUsI(b6$d+rI%KGwEQpFYY88r5A=C=3I+$Gg z1x*@~6cTxwGn1Ytju4B*4pustl}wFzia4rj zI^_#lk5$fFoV7}gweHDZ7|!b}%Uq{9f+QBP1PLM()KEqRHsZAEq*zGPe!|B;Xpmh$_#gc4)+$U+cuC;|(EZ{#AEQ8M7iiWU=lj@knkPW;8MxBh{%Ql5 z`6RvG)}lv1|2A-O-PV*n;Bp5Td@^KHcBLRqp-=$c&*+oCCl(PC6V(6!1Dr`jK~zY`t(I+Qm1P*m zf7kt-c238gvA1yP@&zi4X_GbegASn=M)ZQ#`rrqtki!;Cd;ZsbJ=b*^(~zVm zfF@u*5C?LSdVqH4+%aY=@BLy)`z2*HwX)v({gM_Jie&}9{1sp~Kv(xDZJ%GGIOeKr*}$dtg_Nfp zW@gTNzYbvE!8FPE+yMZ|xMSbJbpC%^>zs3s0i64J7_*`t* zj$-P&)46=r);LK?fSz7oR7gIanI)Z>jQ}KXx1vHO#T#)zA3%LwNl_vBc#`^D2;nTi zx>X6J;sB(vc;k?>E{dW90L|+YWOJb?kZdl{ygq>>q9{7x#%U+lHYQk78!HNANo|a^ zjS0-`14$7D!5aC~)roNb#^_*q_#m)N#B#p?Pv zW_El$?tk+{Qe0B6nWY|m?lPUfjLaBv&(att+U5hKz4v#-VzJx}L(6-AuXFBVdML1L zefN|T@p=u9h|X{Bq@pYWXfU%MZx~ttQ55|Oypc*e_P?0u_(in53hLhEF} zRExw9z?v6d@8^rJhp=08&Ig;~e6+io5JG1ZMRn8NR>~w@H8biS?q+bXu%kqYaq-&) z`Nt|V>%ZCjze%gMeiiP&?9BiLA>;S+8E|y@vJzg~n!pWJo-d_gd5I()%Xf}xFL!yR(`hR$E$s!W9@^ByrQb&<&K50g^!u$d`kvzQ0Q!A5BY=y!U&HIv+v^ x9g_6^hgb6sE>LWF?-xq)k`zLaq}u7e`!B7<*_eGtCV&6{002ovPDHLkV1ha1#8UtO literal 0 HcmV?d00001 diff --git a/examples/location/mapviewer/MapViewer/resources/scale.png b/examples/location/mapviewer/MapViewer/resources/scale.png new file mode 100644 index 0000000000000000000000000000000000000000..c4f08122ada97f0848409a7b4de914274d04d55e GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^ra;Wb!3HFgIj$80DNRoo#}JF&PQ<|Z&(Z(QQpe}ECj@=zX;NfjIC%2Ts>e~;XMma*JYD@<);T3K0RYVMA4vcJ literal 0 HcmV?d00001 diff --git a/examples/location/mapviewer/MapViewer/resources/scale_end.png b/examples/location/mapviewer/MapViewer/resources/scale_end.png new file mode 100644 index 0000000000000000000000000000000000000000..94510b1258e33726e65d4d5f539b8dc1dea5c905 GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^OhC-W0V2~}Z=?b#6;Bt(5RU7~DID*U6A}^<1tu^B pAL2^zV(}^D?rhdzjZ-+uz+kqK@vYpot*Suv44$rjF6*2UngECF7V7{2 literal 0 HcmV?d00001 diff --git a/examples/location/mapviewer/doc/mapviewer.rst b/examples/location/mapviewer/doc/mapviewer.rst new file mode 100644 index 0000000..d305449 --- /dev/null +++ b/examples/location/mapviewer/doc/mapviewer.rst @@ -0,0 +1,12 @@ +Map Viewer Example +================== + +The Map Viewer example shows how to display and interact with a map, +search for an address, and find driving directions. + +This is a large example covering many basic uses of maps, positioning, and +navigation services in Qt Location. + +.. image:: mapviewer.webp + :width: 400 + :alt: Map Viewer Screenshot diff --git a/examples/location/mapviewer/doc/mapviewer.webp b/examples/location/mapviewer/doc/mapviewer.webp new file mode 100644 index 0000000000000000000000000000000000000000..6571a6c8967835c08113110a96fd1e8854c56bbd GIT binary patch literal 79588 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]+l1iWG?DL)F+8i}-p332JMIfF%v*a>5L z(`Wcg^qHzdI}9i2Y2ztyVKpWRX@?ao|BaTH*^tPe0nPM5@(c`QFl35X)Ju>@xyIYs z(3Vs}h~Xs_nUx$q>(<^TMpH~qDWf{Jj%ySn3RF$fe)u*cvRN__^UVrK5qBFQ^U-u% z;Al$Ds?Ei)Bs5$2JSwvOVe!zS;w?l zg44(}o~BfLFkbDsa3$iJe1IwfK#NdhH{440X)rcWUA`2B{qo+y(<;ykZf z{4W$og*XuKaMWgO$#5g7NYU=C)f}oTTJ7h8!L;uK%@;X@ZeN}si5=Y)4bm1cAoe1? zD)6wO-s11-;MsF1$5iN4lDZ(D!XQN~>?%6)2K33jngo^1IQ!|y81eS00@%f;UsNs| z_Iu7ryLpWk<7$3AI-rHiRs_RWmJCU)Ux=U{JC`Fd!!ImXEr6Icw(A3~MBq8VF~*d- zuXX@;l}>#8%sYghAIkC{BzE)y-O9w%+aBlai4x`7>96YWo|39XSpN`&^E`MB5BE9y zvDPUpxwp=V-2;dy1tOG^g4l^iltg2ry-f)GUslR35F6`gcth^_Jg2%_3eXzo^*22! zGtUj}G%S~D`9li))vvQVJcAnM^guqiq|q-DmpNuU$p1?yGmyyD@Z_CYHq~UY~4<)aUd8U$Z>knlY%x zF`DXbg#zFqma$>R+~3+%+}|OCVkjy8hTukfwH$k?6qtsnvFfafcBV(!TIyYabrhPQAi}B#@BoWz@v|OapKL++Rv_V)kKB$ zw5d6U&=b5T47%0wTu5feG_-=l;27ZeTs+CbM=fulS6zj*iD7rEoC1xvy8!pb@S${u z`5%1Vi@9pu!)u>J!or&kH%KbORASJQ;k&abauvjwCu|}mWfZ;Nm%013@$rsH0Wm8( zuRe0UM#EKWoX7{NqUX_V>gzACPsjLQ?wbNIc3Aax)TOy_deG>Z&To4nkzVeZjHcc( zV)H^${LA|}F;!mSw3-##GM_qNs;!}&1SJYoywPJ_{?!fHfW*~eh>aAhHOw(fs|sS8 zAR?r#2pD^09gA8nmU^anON_Gk8|>N2Xq>E@v9|uMGgq=1r?W7wQkXKx>=j2O%(`;` zN!UmPuNjI7x~KaC*gQ1rrBjp3V|mB1i%=q?@jHA^0B95=*BaGi{J=Oq6%MG+*S0GU#Z>r^o97e`6g|`1D!f z?Hp0c7`*TE%a0Y+7-tIK!f z5SGZ<_ENz0+#XfZMG&%w0n)kyDcFDD>>n;xFE>?I)&Ro|Bu^x9?+>uDpyuUYZBd!W3qy3 z&K(*<(iL?MPcUaRpaVV{r2O3T#jB>~s1I{Ah(X~qZZWLbWmI<>Su_7I@6O;?0Dm{G zwm&e zk+CQ0U1qh~agCnYkz-)!HoT2mO-;493G{NQX7PYIxx`%zqarh ztMPT>V`j%MG2kA5?rUYh0voRTZp45vla6U~t(j7kYM8#|u3x2Ot-iR1=SDb`(4YZZ zKQgoX_p8|3E)|D0-Q2G3{0c?Ws)EBVxqR%w+y^_t1AcHKwfffEj4GGp;7R9Z1IVaB z?l{py{8^h+F(BqL`5Vj_2!e85Q?Efd{1h=%gtI8}1NBX_l$1a#2D(P^C4mq`?+g(l=Re6~-E6F}O9bSh}NJ?$7|$ z(uOBGJDbwAER?EPpa&0XUa=cpb$)!nF_t17IG!9kzW@JGgyx8`gY%s%k{81m!*)|w zy19%p{M&Oo?Zx1oSz*V2JJS0pbeL`rsJHlav zB?iM;eJdo)#04!-L&7q5JfJhKLUr*B(wZScI;+}-h?}}&KT%XZDF7w4jBh3eCjZnQ z++jA9JoshP7X~MCXDF?KHOz=r0Wt+eZB`0+L56mMUD@oA@Hw)*{+N%?W}OXG24l64 z-f9oWdQY6Q^boDv&hLiYWR#-d(uFW}o0VzRkBBS|{5O4J%>$zVcg+rJ8LaPtd64Fk zu`=X_NIAguFdza_=grUKxM>J*ypOztye~uLA2Y#p`o&P@gC1`jSw#vCfR>KHK3C@x zU~Dv=6TXtu_3jrmo%Q@08M*GU3Jjtj5keAQm|&+#;F9|$JjLm{$57i>5uqR#v3mvv zv|pY;tff_&1Tyv4?Z>S=zMgdhO73zqTH*^E_r+5Ydmyg0GtB6p5In-B24EjuS;q{t zT37fRR&uVbaLblF_Z@$cL%h!l2;Muig&9_)a%9u?iYUL2Uw;dMvs#2BTQ}~rBM7F! z%K#g;-m6+{bgoHDE$V%swVlOg3rC_TGmdw5K8VtnB&M6)Z+$4qx~n{bajMM<>2X?7 zLm1Z@dD=INp&X&~cG&Z3EP4(=9<8bXX!bqOFNNbHBLKLZ?c zvfqBwhU6N($8^C2EDh4`cL#9MP)#JuH3kI5Oo*(21zTkp9tu$IWp81wr)D*g)NT=9vD&F-zmtp2t08=^I4&-!G|J2z~15^py_M?P$XfXr=|no{Jto*++I@T;J|rrJms|in4PMoe-JU(^;qdA1 zU1q<{0bV3h`Jwt>W#v4Of^7XMUb_HV7F*Y$MGtT)S4?e8+TCv6ked2mYWd-{W+$_F z#Gy9!7Ct-42WVO7AIg&yh4VlT)(uG-+IHV_qfjXBM27@pN+rikVpy$LX%bKo9n8im zEJ+%cQJsj?7D>dDyFa=E=JvVwm-$-&B4E*0>iBquJyn52UuDr;*(N`XE)RqIZdnmQ zIAa7BR2>H+dZApf336TT_kmBw)8;SZ(Z|)58!X*sk58xRdPPn8H>I*VM4KiUaKMW? zuW(!*&MIUB0KSIi4V2T^T6Fp!C+b>C1Fog%JVC%sSI~nr2f$CLNU@?EC;MW6+dW^> zQ~8oIdVlTGQEs7ygC!p&Ma3$OeKEE_)(XY@lV22kr!Y_Ol?5~oHpivn4{l5aeLWt+pu>QZihy`$N#-km}~4@g-3vnYn`nU1tZE0V_L35=qmFSy_s?BuFC z!UCs_YLRM#nVq_bV&6_qaP*GyOCvS39IN4I>9_g|{3#adKMqM|vF_ZE(0gY38F(t{ z4fk#`Q6`$Dd|yO`JQjW8U<36MeaErX!uk0`xTSoQFZHgD3<2Eo^h>l6(tM{9!ifYI za?;-azj0Gl@WQ7wM=?;kfdZf_doKqXkzVR$aNO$1B#I`ZCq_#IHvsimu)%1{WmaIw zy>b=uu%_;d8!&>?EbM)i>#Yczk3)lL(3Ea?W_XC(=`Wv-uR-a1xEqTv?}8r^6a)c# zK;QY;ofQL1dfh#0WqgXfSM9{CG%}_$dmXcTquyS~QTZ(^+}=;Yd~G8yK-=nR%Yt)= zUOw>njgneW-y$o8mBMQ$$M5#%`ZHOS2>yKfQ~FtFu|wk&KI|Ed^2l96X$b^!9^ZN^ zI{2F3I&D&0Z2RP5bWm#ImL!T!X*+33OxD;F&2Y>tGP;bd!bqPy{8y!`+lm!`@*h;S zkYxsT7G+tT^7C1>^mk)>FFmPTf~1Ae{}3;hec`iI)mp3L9CP%@s-n(*xN}v*OnxaP zGht+%-8t7%Iv=@2<7v;*gr3u%J#oY?P^=Kn=e5xF*q9|BHfR}{a&5Ym+k!+ef4L!r zyi+jFCVFFU3zxut>892&ADQ))pB3!XrJ?jVZt*u7Z>;DH!Jm=(w#U zCLB$!QS&Wb`O5IhcyrgB$VvTAKFS~%f$}fIyJ%E!j0bDYPUFkK4&=FQ!bZtW z1>?9uY1wUB<6#z=ji2iZVx)_vBCvUK&p|l)@!mmQ7&nJ`sf#7mC5->eez?ooO_=Lq z%y{|gzQL0PsDnE`kwuwo9FKNYmZ>t8Y(8k7BV}d}&EWDcGd#M)+_PvL;hOO0h>U}_ z{~7k`*j66Yh-7zw93e1Z(4T3vx}ptbXo#t}+=rEQkW+5dg`W%z#pKg_|5r}rIbR!8 zkZ?p3#ge6Zfj-mX={gUY_ga~k3l|!c`Uk!*nSP2v{0#k9=8@6<7*xMluv~)1tzI@R zGp~{yX8Yc0828{wiz)m=>iC@xp|`{n8%gXGw!=C zJ_6xjrrfeh@YHT)98*0OFhd3jC?E)n=;=hIO98>3yB} zU@Wc^^o~;Q3T!Z=vsJl#&y|WOSd`zV(!#fi7+D>_knu*YctdEYhy^@E#48n~QjMGz zi~WH3vVQfBb-C@vGNz z1_p9fS`}w|BVfbG9kneEr zFz}ZwhG@ZhaQnq}ekf|tX@|JfAsanlq+E^Cm)eA0nv6Yf)`!yxUhGlfYygLQ`Niz8 z>q9e7*Gxro#?I5vch99Fch!;l4oqnB{&g1~%tZ&$+x5?v<8HmE7-c2TtuA2O#5ws_k-Gj0I@@KHdKOXH-` z9Zp9QoIN*#DZ2f9$FKrvGv(v@p8~lq)4YtB8L_>YZ~jEn^^?}<(K#kGd)(<2AR?qh zG6Xk7udGAcXxPhE#xt#0F7`juhC&4ngK1yOR<&ejwa5j$!%TLCFOu-@d>6SHFcv+1 z3suj;BRDMjm3%8b?^qK1k-stwm-gf7Qhy)rdd@tNpJQgWYg4q+&w&z=AM3bmlEFK{ zOqXAE{UYuCDEJt*_|VW&Wg$*YwzkEWpzdgM4QvJ$u4cd~(%vnBxS zDPG0;Nr)tTs&DGE7<(A_&cUWjkrSi!ssUbZS0Qixx~(e@$mlS%XPPT_-oV?9`a!2w zG`4L`cXOnS1!4*J^pnXV1u8k>->bAab(DAFY(rKlh?MkU8vtCCXz_<@vNrBZg}sbu zouBQ)H#!0N@XJE!yW9y{CaiL+7)T*;75|(Wk26LAO3*b3nx%#hy{7eJKBrJ4Q4Q_C z)$g<1rZxzhOI>tD`d1+<_nHeT=j#`CD6`>cR9Gr;wl!0fPz{_`1HQ2XVv zhP#(8GkMdLOcQqnEiqv`(U0zH6K5`PohMn;7iyUZ8*)ZWm)%2xS&a~5M(A3KpzKiJ z%@}L}bB3?7uK)Y_7*{lbryk18@_2z%iSfyV2ZBr&edJ|+kmb(pam2{i>l*Iw(6lKv zI44=(4U?dMxCpUNEoC^~7sqY#(^g zWU2MkHi+A_kmj&A0(I$PTsWJ4>TSFnapm6_1kA1Uu=!BH83w{I^^M4doGD6+s3LX3 zKQswAE-=tdiJ|7s44NnihiZ6|JU&h1lTnD`8zNX(L(^S(2_c1yPonh%Dt zQgc=DPT}YV*nx>4xj3%BI993vo*=NYnz3ycQTAztWiTWQz@D-VnCAabr-z7SVXQ0; z)0iggD>N8v`Bd=A0 zT(hH7Fty=iY=pnFa{BGNEhl}=o-`51;9=&zp$jpI{J;|y@Ct5=piE3tk zK23Wq;qKz4O7#=~$sPrCx{qBRVEAl*%54%!I&8kAiWV06YMAHbm+bUg&|mn|H{(D>&*&jT^m>9{ zA`1l6wEgQvpWWOsPc;{S_&f-h)=S*%w}SLZ(1^~HUgao@qx8Oy6{@Ahoi0c=8aY(? zLxPFu45a&_0pGot;X@sHSUA~sj3<2;ro>dg*#83;@ig7xE^R*X!%xde(=@68f2wpkLB=nX#wwNV_FudYjn6X8%u=|V3m(^UIx-a0H0!OGLeu{v)zHv8m8}d!Vgh7oc zvv4@Q&Tt)aZ3?8vZdj$T#b+T`LG70l>4%;2YkOhX<_U!=?Qw=9b7Ah_N9jHbupYP zT!pn%DFe4<>w>0Jg$lSu*b0cceZFEygq{mx%vnb{FS9I7={hvN<+*9c)!DJ1Fw<-z zAfvbq0e_EGCvCp*iMcH%4ddds;nc77DUCfWNyiDZh0!zd@i-ycxdS-a%4gH1gv(GS ztqh*Lkdo)kP-Q2SLVnG%m;!v#EN$zBntCqS)%u*8sd1N&l^YP~CFm}~tDJjdLQ6~t-B|AJ% zeb*vA+Y+E?qjb4`VYV>FsBpDFU#OPm1!Vd!8$N@Y)UI&h$%Rp~Is@s$H|AU5hCLdK zNxj8;h;A&V=`oDluBt`sWxd)6SlhQ)Sua&%1a{af^QD}drgbt>4hS#T#fBH?of^mh zHL-@g@|yCDdFYo2yYwits>pc0H|d^pe7(Of*RqP%*)g6cCPeU`P-UfFy^DRHJU-Bn z4LM@YJIQepVfIN71|~ zu)em*2K}U`#Nq<*XSaRL5h~uBzzyTty7>^t4PL>|u<(JY|E-uL?6hNn`>FsN z@+{xZ)us@Sj`Z!&x5uplaKFD1tq_wE&sQ>T3qx(-Sb>^GNjN5=)8}eUj(0Pn%XB;W zQRU%m`js={X*|gkQ2DEcuQlR|i8? zo(qO}a6*?UP0JVVPJB1bQlM=;5@x{bSU%LsJij`3dIqQ`Qx;zm`^ZbNhkFAZ^0Lb~ z6Bhl3a5P08^*g^%4d^ZqsYBEM@U;#i#VQuky$EwdVp{2FiQ3~e{6g~?q}~W!*x9?w zimKM8+Dl+UOu27&kWs~#L<{J=sEwr4RfTh|^`nr@a(cD=J3S-3HhkVcfa$xZW!~MzhAUBs zG+&{R2!$TIq_z!A25>fT#x)_ii#~LC_mXZIcy7j!>f_ptlT)6ucyA?2t3nC<^T%w8 z-m>rMqKIXMB0M&JGd5uJGQX*4nPA_z zg09T^M^Wovn^qOx_38VSHWy*Kd=;;*J!-vGul~*a#z6mInEX0LIbl!pd>)h=ml=1%h&SMv?ISS z1;0WH4c7aZn5A&&ZbarI*_hu7n?b#r(j5>9=%YWyixi>9q0tbP`B`B3RVMMWEK?k7 zR#xjhZu6Qaox>f`y^;nKRPEXAoeO_1zU_NGb^<>pHMUw*)rBMZ*q(uC-b1*oX8rn=n933ydF@UIQ8DCnB z#drTDJ&H3@TWZDt*LXV7Ivi!M&LU>+QWmTu3XOnJkr1ddmg@xm5JPp3zoJp^3FIVU z7f=VrrLSdGZDm^L<+H0uw{KRb)#>(XZK+LPEr>Ia>&b22IrenvXN$xR>ayuiBf%30 zUs;n3whCQ}AWP(>-|-lf2(pti<_m3u5lssUhAsyV;^qRV>NXvE0l0DN+N{49L-9J^iJNWXWY1hBm()e?!Gu@T53mBcRl4Ak(3b|2U z?*vJCV`5(C*@_#%_T(g}3yfvaV(n#2dm7~9=$hVwG3R&8z0m?QRu8WB6ROx2O|@K0 zq?uZDe3&S^%6SVRX#E)}U^F*Fxr%J-y2KX|tM2hH*R%Q3bC?`ouD=j%BB#0Z+ml^W z{vjdfiYYA=vW)5a7|VwDsOcqgP-gFx&Hxd3$_c8ie~k*kK;f*4D!v|wj2|Yx z0gg~I+w^?Vx2S&bo{66t5AwB1x%ABN8l1z5ebYQQmU3ikIX?aBL}v&98QZ~jppuwZ z?~($e5z;P$Fp2P*NWx~yRO7`yE2A$KdHSdb3b;q1eqE_jrevdHRz_zpm#T&Cj!w)o zAdsCUz^}3RM~tW=UA?@7(T-5JEA0{{`mZLuLnq64ZI}$C{a)@7#Ve)~dBG_1R=UC+ zq`fxT;Z_=q8y|fO`cmA%H~&ZkOq-;Wm1OHF5^{{i0GzRK=5XaC(oQeSVzGDmr8Ghf zSY`+O;(VHZ(a-_gWre+FE93pKuZ#6-W*=hyb3~`xugk^(4H-nTIKj!GkJX`@(?|IF zt5@n}h>g~+)eU*%o50@;ovXG-?&<7MSO%i6*L}6ftZ85Clfrw#l*iI^L_~6y0KU_& zlBH+ok|fz)J%^{73EaWR-3(Vy#wRr{f+t~fO3|-(q9IL#Cw^2>@MI)zkLw`4Q$YxF zt(XvPc5GY|)_T!(rrBBoBBbz< zLfMIp|6VlfHpxCGVfOAd3$4_qQPCT&H1VJ9<8w(wBC=Ll2lT=kvB0d=Ug0i(Iy(MYsl(HI0l5J!Zm|V3&7j?s|lM%t?1YFCM%GM!ekNg<6 z?!yvFDA(=e$R(QBVxX>!s?xg-!2#4pCd!0l74Km-isYNRUiM4tlFaHe4a8pU&o{Q6 zM!pRU`aY;kQ1_b}xmcbj{mCyVTml-RW%fvl+pbB5ox*=VEKsTtnRx3`1bMnwFy+m8 zn|s|(N}d6IEe964?VxFLER2=yPG`U`Fm1TwRfR|((>0xh*?GBm*MbFQeT4`gY=6M` zgfc5ZC_4#&wXM|Xlv-nek~xP4A@KTrc5OtsiWk%s(0#}UB83obs!y@j#&h5vr6>1` z&JQTL8<+qgS`Q)>nCm>ico})6Nl{>na4yAI^A`%m&BU~emkLnV!uHMd@>~$)^l`G^ zu~RRk%d*G!{aF+C#Dv!Hw4WQN+8E=^Mvw?UUM`#TQdRUYBsiOp?pF)g{269#}GI24`z@X-{7r+00Vu5uhsu zjJoQ#-hfJkV?>@}F5|g?i+LINch(xcK8lmig{M4>v7nbN=)q($@uT2(VZ&X7wT1OR z=)q&5fRZc(DTiY#uz{5u|36&i`qvU!Uq(mz;0a^jF2E~5EOVleJ@iz#7C zgoY^i-PWuavh|!vP;sG4BS<1rKIme3O+Qo|z$ySoK)AoGKBIIiR(Qb8S*#@Hic4~k z02zBhRp+U-_+8&jTN$e_H9@Ja1Tu^(G;H}!O4Em!dS9Upv`4O-dQ_=zT;igZV&eDv zYZikb@F8`ZdgsYX{+cPhH&61cKQGP%#!NwgV{&}%>P$?=7wD~k0r1lVN>D672C`3~ z2zKRG;u?+MJe~Eb7fNbgvO}L#o(h6uMzWrh6h?t;FFU&L19{K;q)_ZHiux3p25wmVbS+<^hrU%Gc?W1_A!Wj60vu zOC+M|mFK}IrpsqSkBGX17f1tLYnNV2%erniT^0!xRqs4FGj~!=IUhxlZO^6gL7>S1 zv=98GcCCanvBnR=ldZXq{Jv_kG@)n|^5x^WZ5xA}WHn!h0boTOore;F*iEqGIHO9bQZyULL~~pNoIVJ}@&KU>L>8 zc0#`oBBI8WSgIn5q>01*lC{p$ar>nIn+qDqmvE$J2H->96ViPWM$`|ZHD6lEm%0}& zwrD>WvFR2F@TCVT))&QR`!l^2bw3$TN>OMI?mq|Aw?t~Y^SfO-qoJKkOoM^A*fCfDzXzfxF@YY#Bivv4f?oCw9mHW7#y$|4ECrg-d{U)b6 zf=+=lAS&&KfS@Qd)0iE1mt0A?ulf!<)E}A_;(Y&>^c>@6KG=@>zWM@-P8_N91^(_i zuEe}9P8niN%&5lkfi6|@dd+3EYYoLgCvSI*9w(lFnemKi{4Y;N_F2heiQdAAC(7;m zEE+>uJy9slM!ja#CK+q7VS3DW*_=$Py}4^hv!{h1rzgF!3WqP}Fc<-~Y;i;NE!U;o z!aMW4KX;KpR{APLG#+6zN9|FhVONjxP5hL}YaVmro;jF9%tt*NJ*(ejFpGTTIKE2C zO`=2QL1{(xO+Iw>XinhfnYupRsT2$kW31@9IZzs8jQE5tl8Gv`h_1$%ZS3s`?J9wD z`4FLHdi?=V?3CfxjQc}KIty;iXz+&-+~}c!oj3Rh*7)9_`uekqF9}IwagS}{ty?G+ zLrumHVREDtXuqu(xM6FPc3DTHj&o8x)rVH$KVQ_k>t{>$u-a)WGzlKekIC`qLv2*f z@o)zG*4bg>lO=#{w|Np4%ttizHIGh4@MuFPREy_%EKlJyeG?dBel!QtDVo@kYc{bx zPL&>4(LJ2>#)Ab5coN`+@);5(ojvzcUGY`&&2IW@5U4pS5LqSs?kN-;{On5*-YEe@ za&3=%c5ymc3*6$aLRfDnvUF1y3?Dq!1fR0O1;6qKj zI^c|vL;rp=a2#ls2^f1J2VDK2CAFZxg8iC{c(R85Afry#KE(WZ4bn0m!kx_Cs=AEI=Udx$9nU15t3!kUgLgUQ!MZ3(eDgQ=lxKMeUntl z{^!>=%f+rV@#0#eyhqpoe495`tBkaez6}v&x3OA%&Oc72n3go)y%0rm_0=Vu>Bp2Y z(2&^<<6AISrLxYy9TTa0dQz$97^*rod;*$fS|_sA8oG=AS8cDC@ymWrN^f>KR>&Xu z)$g_@Sd)i4?I~qqR^q7r_TZXcX4u@dc0USG>C3Wewl_=$Di2|oyog#fMT_mD*)5Rq zKZ(#}&-ANwwyn%i$^cB|e!UOZd4(;uL3VEj(b0h{2IrJpP?ABE?{;~Zk>-|c;4AGPzE1Da^N?7>3p|{4LH--qIz}<(A+G3bbTma%-}{)K`WGfo)V!ULpF8Qq!m+mlSFF8K@dmH78!sANhj77gw+jHEVs%&*r( zY@5U$!YFcm(}*=hSQnr~Fl-=jJ7jd}_g)~{H<+Tl+YbCb0d;(fZn(!3=0T>*c8<== zX10&?yJrlQ7EEUrfO75?9;)?V%H`isIs8leSLuDOs*$dRS~&JA8Peu?nX?UoeY>PV z;X0D`LBoO-eY9GcG6BpVw6|#)>JyasaCzecmHiv|JUchHL#^^*e&6M%w4Qz%)W7?~ zh$y;(b2eJAL#a^8b-0Gmh0m^A2aDgRVn=N+J1Vp3~6aN z4577XO;=@xAN}qcSeWAwPUdHTTaE#7#k(d~W<<;^OafexQ9fPr2TMzhEqgof=OvTb zZ~Sm20Bc1hfo7T9j9OaI1^!@6t`G;BIa+wwhK7T10J`Z)l}~b7V?PIGo*7{UB^Zj! zwzSw=Jskfb8>5jb9zPA6So>hAwE=|<7X$(M+v2M>|4Us~0n!`)#9~HzorL+*Mi456 z%^q`r$2-37Dki(bJNtyFJb-J?cvt0tS?{}X*@roS$yxD!43zuOXXznO`;do3u^aVG z!9}p|_9eKNpV@wZnbYoW^UIqo@!!TFn6TiVCJpF|3+vmKAXz2-{Qs2A=yZ%-v9L%- z**pUWDReQ$uE%=S&pzE50cjw(K7ZH1FfX7dI8M~|VYj|y#Dh^I0u0-G15jl`1K7^n zp|yr!KG!;>8X)eKsWkNk&D;-(b4FxknnAA7%uBSmXXh+T_jq@r7&e(xqQ0ClEh&lg zs&UhN8R}_GRHmy~c3I~&y%a5kSO6$U;bpU4k5LD73W{pY&+$=1P21vcQ4*i^DprQs)a;{1jv)$dU zo-g~wS_xeK7gu_9NcRLp^U%9a19{{9VgR81t!6h)+G9&uWAGIpz-(|AhO48ZQkBGe z;wix=&=fY0)nk2XLXC$rPaP@IdIr#bCo8U+_A&dM>CEUSnBLDbiD|&=xvOIpNIX8O z3k3}kOmtG!h8PQGC#v`jIZCC$W_LF1;84n;Q?9EJ(?KyB7hs_+oc}=K`IgB0?Ue1K zTAxxjVgeyKVs-?;?vsPS0A&W5VYD*6*;90Jn|S$p>2uy(;JzShg+yZM1&MZvG-AjP zi>3}BSDmek)z-czgwV1&{hp||>Rv`ar?8|kzD=C-$LB*Xp8v`TyyidE=uK+(x#lKWl?J^aRoa^>$2+FC#P zihZUF&|64t1E4w&8Fg~|FOy4KBRy$gAwJWC)0mB!F(pCXP9G_T-OPJKgRnm{%A7GX z8R)UoJ*=PAbGHQKs5tVV$?(``bp^O^AWpOB2YkRF-uy@Uz$1NA#Kxg^Fhf;kT`Q3^ zH>!_@(3kvoSMaGpseWrd(plh>#yj%6F!7pehTHhc3D{YgxYJIBPbDi1{4i@y5=3;)Kx{>b1;oT;SFnoi0>F{7qB0abOw3gD7!1RY`!TFZX{Jh zwb!9i(6_%V{iAW5j0L_Lw3}oG);x+ zsi%K}at##-9A?``GXbaIeFIt~&(k>UB-x@xb_g@+U{Pd>Cm&Tdj2@%tHafh@Qeg@)uN^_)@V%_+G0n;Z}^~ z22e$(j_@b4{&o=z80Ex6aEBzM z4wBV7X`2g)Ec-k3qcb3FXkz?{cYjJPDy9pyj^7rQQ5{4?xVEJ5$;Iy~J7e`X=|&CerFgDTq(DSdS9oR}kh!*50+&p-^97M48|4P_S-FIu<^ zh-yVxTI({;G5ai>_rv2|`tF)`Y;WZf?W4P9<#41vPyaMVbWj zTgdhkWw%8d9V!C6lmbm|cS{8cS02CtJD@e4h}3tG&PKLJUYrgXC7BcLAEX?SwOl=` z$VF-_(^Ad3@$#>PW!3Tv!pS?*ty-E*e^iHHd#hOdyAX*wdedfRVhRr|HmtAj-vZ3K z(!nEACa9Swg+-ADN2MiBfwEs3qgl5rHC(vhs)OzqroqP=)0vTt6hlce3uWKk@rATD z=}(VBCYZb+nM5~*^?0pbb(l25Q7mJXwlPJhOfZ_&C`NG4dUZ~}HM~t=^Ii#ziW_2} zoajkOj6ky)k)O1^Lm0Rh*=PCI^@skQ0R5kRcw}&fxU)*nkUzfTUs!WmA@Tt>`^2>M z7{f&z8`}r4wQ@D95O1}5n4GgDdTnePgxw^=mip^|SQ!sZ6W4F?lJHh%i zQj+b$z8l*7;TCQtg9Q-eFe`4p^L^#0=JsU_PVx3rEIp@*R&Kg#&~KHpmYtAMZ?d}h zPi7o~r0lO58mN|!S`$BHm?jxl9wnMWUOF9Q{r!lSKVoFCOU4?sBU>&-@{-eW^8h=` z^A7#-=DRu%Y6?66OjSu@a9gWNBXrYDN$TmkE_0@bw+6`5r#4%go-hn=DW;1@?Y*8o@XL?4THp(rlU_YhGk(7W^0c;5JxH1ds%UUh zOG2X6{7-rxfG-SI&2z0ixsrgUCv`u}2?iCwk*Y$$++pr^5Y)K;e}h;=c=m7x&k&8I zSX9EF&|?ldkYze9d1d}+wvQ$$MPPN>jxV5%h!%OSSf7$C_nZP)1ZUl#TNat{K-j5E z_W;3UC^2o=im1$HuEdeNM8W~B+^r|{9DMg+aMu`A>9G=Y4~&A*f`=`4MgHA~(mAes z85C%)JnCHYHGx75m5l}7_=I6CD8iHTkP5G2GEMnSh+%4A=6YLuJ*{k`7gf>pG<1 z{^?L@g{NV|QitdX&lm^m(I8<~J7aD5VkUf?c}+Py42<7_#*Hcu2>DxM&#iOpMt9*H ziWH3${MH@U6b6jWWrBzO=M`#G=_+s`NB~Q3Q8N782o1bjz*z{H_Atw{z1sE2AgK^N zfm*xHiGa*~!DPl4eNYQwWJ{#7_O!VIqr;RBb+-p_H$Zl-Fqo`hsG04tS7yus!GJQU zX;SRh4$wc_);WIrBaw1na4IHWap#T@YiWdInL0S53xUPY7&Kh702T5QI~%`2Y{+<*L>k1_~!$om#G8<6M1acjo!EHf)PnKISGEqQ*AhC zP%en(Jgt6C-?%?50#GJO%ObT2cnPgAB&jdc{lY5o%j77|V7KVNiRI$&GQBV(q9yn6 z%1i%lQ|f+^@<$kp2+=sux1N{z+NBO)c=E@#dyh%qU1Oq7-^4OuHyAl!YmE1_%K)My z-sQqW5=UTv`$S3K__lxZ{d)lpjtb~w_|t5oS2g;qid5xXDn*;HnK-!=PQV%qs2KVT9=|O>odo6 z(#MjfOyE2CfkaV4Hs(UTf;%hMlFlTD-(7*p5WDJ)j81EJnpU}TV6EtK-T3nSjz3Ig zWPCDG*yy@}j|#mB0eNHVYA~8NV(z%w#f;YPy0@5$8ia1Qqk!ONAahxnajP5IQ%iP5 zodX%frB8Ea=h#+-xHsCM4nq!jqa-2ZP#q+MzG&R}r02d>wB&@#&Y}{3KWpi0qk=Cq zd=#C9X*$Zpwj!fVXkAWq|LVM?SL zU31^C+KnI3w60DT#S*(IkP3a5E7A&8CFpuJr1>dOWp&wq#VnVz(-lho*`+-==B8SB z@*y}k(M>*P3pR&}>S-Q2eU8*_gN*!vf4xTA7>lanW5}^-$AfopgFk|-DLxTfJ~#Vh zc&UNY@%3wBqo0akU^bEogax0cyKMqP2f6Ky0~y*ClL(g%CLsst=e~d72q(ODlhoH9u}|4#=-zcu!{*}chFcpU#PQLrd2Iw4#q6K! zzkU-0or%MTpk);r{!{GLXZ;Fw0yooRlJqWMO3$rW^0a0*yX$^6<#i zKbzU?^r?i0f3PJq+CB)y)569#`MqgJc(I^I06>>Eh06R1a)H~sfL6k|?Ube0a+4kK z6l1~9TEck>Xy8o)rUUB8wM1=4d9d>Z#fyi)85AnKjGFXb#KBD&^haK{=M`C7?g*;&yYdX9KW&jG#m1$%kL z`qR}hA+TBr%X2dB+)Eb1JB)M}v@?1B;*ykwn@Om-`O!dBmA7F_+T!PDx6)C3L39W9 z3|fP4y@#bdPbNT+KBHEH2~0%Jnv~Hzioa>l&lGW`T;JHcTTHQS4uwpDZqs;!Da#nv zkh(@&a~O*6Q%Y0SaQL9h7H**CL#tW8DO6;+XXUShDW?c5RkDTZVE(V7j57^xjc+84 zrTJHw2q5ppq5fy~3dfhPA(Ft}K$fn>ysgUp-5*NR#;FNJc=VY8N-*&~hLzuZV$wQ@ zsrOVUKCy`%Drs^wDmQKqQ7D1gDyY-pn#&$+_UZpdMD=MJZT$hLTW;nLjru8ds*e^@Hrso%vv&6uS ze_9SjoSNZVNMIJ}r<}W2s8$6Jo2`ZpIn#WIqlLG_2$DxG@`ik?HSt5wL8}H|`8&s( zreTtW$lN9;rXA48b~kI~zj8cdB7ey+)Ppa$PE>qYx$umK^J5qy^07P>*Qb#a{b=1s zcF3lv(n+;%a>T&2G(V&O8mB|xkdFChgD&w&6criQw})%C5&zV6px-E}fR~hJkxacp z@I|03CPvH)MhGlsTz%a?WY@^`u6>uwK**5%a(42lF$s#i;8}p3cZji4NUtmbwr1t7{3sxsxMM;9N4C6`k1L0FFO{kJ)+m{RT>>+YRk~SJ{X-G<(6{umW|AwH-C|}g$x&sl|<{p~>b*v3oT8%~3O)~l^p<=xj?SBo;=3bJYC<#rJ=Cl5wbj?Am~_*)4S<`gFx^ zYylmp6W}OcTyqUG0t1kko(5O5L8{nvEW=|SeTYCXEIc+yI{;eA#Q0+z=%}S!gxKtB ztrjB2#R=I3Pk?nkzUA^nf_mN0u#nnXMU>Q$R6kt-i03$8SK+UhiQoFvfKo~S^1F_< zs_`t{7ciUiN&Y5UsB$TFxC_BXRQFrB)``VcQg^5nbl!Yt)wY_q*+OyPSn5Rh)OKzt zm+IEvNM7XnrmyT2#xh^XfkEZCRG5Co;T!d4ieoEOF$OO7CFg%iRe7tHS+lf6Kt+fWyx2%*pW@EkPb7Vtxs5;eVxPf@u>(-Tyo`j#9$tKWboJqj6Y zSD}fROP}VNCuj!d;hVJc@6km4yb}b{!vZ6yrae+{3y}z#xPFXk=TL}$tOZe8C)TQx zg1hV*I@5)P;Q)9|Dn^l4`x~M{`&qS~7Qw-F6SE`{hKYJ`VJA4#=;>WNb8wQ^WD|p2 z;DznqZVz^*Tz))KAM|evX0+dmrh$10-S}Yc)ptr={MGGDQu!xlY)3zE=@1#<+)8dB z5Aoie*a)2ez-VQq^cbf1<{~6>#fY;}WnI9em-Lk2qceP>C%2d|()2E3ql>#_CPbWp zds?CWS2C)LRX6CIN0T)+x{_Jpz66CYvE1O12O2kx_OKkCZ#&|K!I6}H>Mb)VAYlWz z8yp2*|CjlqKhGie0Xi)nXLVj*qGIGQA%7kWq1M9YfK9BewM(HvG@F8zk4DUaIC;4M z?|r%JbB}@=x{et{H9-7lB&7Nzg@Z;X~n>F!BsIdzA0C6PVtLkiv11JgkAuB#z5q@4!} zo(sT^*X00`E(O{YFmJjo6}Z#h4X2HPvm1S%Wpz z$l#}}Xk-PM3*oog79|*(PB(qdg-YvE`%8yaKXPi4cBb1xjWv46-$U;I5T6%rE9P+| zhGHXsNp2l)-bFj?gG47#r64s- zT7i`$MC^N4)?ogyq8~~0&n&eB(KM{d(y<|v;22brvkxE4EnDRcI6v~SZTa*dwNrea zcD)quP&<$p{bhk9wIT+K3pBB4MS7lE@vz@EP|3^B^AX>PBhm2tP{Cc>S6&;QenLwA z-1mnysaJ|_w$V$dc;(1j=DvilQvxjbc0H7b6v*9{^p-HPZF&ks7ir{5BduQAvA3R^SgYj>`{INRpuL_>uKYfv2C>jd3^WJfdz$T`xDE_m=*G2`7VFUK-Zm)r&D~4e?`&G$<2>_(h`@D~DtvslEwNQD1Qp!9n{#PvGC z68rW_dP{zZ;nZ~fn-RSbkgR*i1rFl~s`!_`0L(Am9C+#=s-TH=Y1!}jY?_ATuBKp@ zv)CS&Fm9US#Gy}$PSeOu62wbF6cl*`=3dD^sjK~ercKLczKY3T)4oyG5xxRCFf`I< zVbsX}pYga*L`#y}+k| zg3?(C(klIUm!K`hzB88WbT2H|HpSJ0r3<<{n_1>uBW4ndFhlxd-{(j$a{oatZN9Za zW25>C?>EohBi;J_d==(d9NWJxshIaboE#O^8F^PViV7$4nP;jvib_r8jPbObB3+bh zDrS6CH3&h5qSH@UzKA5ZN)EoKx%a*iRSBGLz?C~u_ubS&K}Wi#R;RSg-M-F)a%BXb zSi5j3kjnqP59dbN&dDwFs|}UjzXqlRclB=T)NC-l^W{ADckx$R2N@{euB7vzqC*pT zEAO`|RCG9uf-I(bE~0GQK;DC;BO@M-IAEU%jyC-*mc z>^C>U!`|RMv+!2z1I>*Xo$AXCr(m7+kpo=OR19 za2>Sx9x>Hph57cyRv06GbjdunlR3^^b>wgXSO2RQaPAN#gc{?LQ5xB|Mng+%Z3Hf< z_dXT5?h#~Ny_ zU}MW00{J<6<}YISAWvXZbGwcMurTiHD_#!4h~6<55z3l_#UIEZP%Fx9 zGsXr$7lhFbQ#OFN6n+eNqz-+U1GsG*B&Rv2Sex=uSM!SyO|}QDf;txr>>HxBl(#3V zhM7tWf<|O}!@6OK%8`*{*1hL&1JuSH(>()qlp|N;1qhs!d5j`x(OOa|F6(W0;gvTG z&PY^_)FPfsStXO6pavHp%V8f*I9OW;@!$$KfS#xf?Qjt+u+RMu{gj)8!3is(Ox>iK zKE@Ru%{vt$*h847&fdOQqbzgh&K2m+&zw_T;kkYOWw~*+QGuMqL-Yx^mGc~NkxZ?n zy(2ppB@k-zgaT8k&gK^QZ*_&xNbtmxUnL&6hJtp>U>VJ6WC}cv|4k;g3W9cai6a(y zK;l8uWgP)O;MroW^JYv{B37UQnMMiD0yg2Z)XnQkzS1&)%eW9PF~e2Eba+h|DglpJ zJufMS(m?RFo~y@0YTE z!8`(ZMN1M1UPy%f=c@D;rA3tvK>yirKC8q%rUvkPWF0WZrc%M%M#4EaM{6wE?*g#o zGmi)Qtb)fQD$g|FXhT%3yoPSo6bIr(jbP3u2yUh4ja#vmUxgD>rUcEdW zA{Xpkn+y1H@4_bhtl6u5W1_3}A>@yOcZraoZf+F6cIsGS#thO3se0s^#3Mx^#_=+> zl}1V7h3v`4b_f-~^Yj`T{3v)ac|yr}IWcX0Iu~;nea9e~h=1isNT7j;2Z>Ws%Q?oZ zKkBel#OcMNbl`%fA&ELJf{UBtIYf-?RT~m8?PqR$NmX#<32C$h!XIm2PtzWOm0cM~ zfKATIjxMiLiqU1Gtx&j`%;*YBc{W5E?LMmm^9d;#Fm@)7)KJ6*;6@Z=WhjQ4%(!MK z+01gw&T=T(Oy*JIt~}w4-t`$0t<`I4weLoa-%5v(!YIA=czs$d{o3YK6E}^f`v@L_W z8MeC>h26xP_uNg51#7l{0)B<#*-ZI7*Oo@N`e)#SH8kFI%2(bDp2c5Mc0?S`SO9=a zBUN`S_Y8R%6yGeAj;=1=s%OSpW*)(>vozu^6ip;9+;^#hg@q0bSk7XHh#rmHb3U`y zW9(UKfdepMMVkdIodJxH1=r`bg^S%@4Y7s|v?Zo-!8S8MvN7bSeWO=wlc_mH#MmJ) zD=ZH~;KO$y$|EUU_RyTinPWPY7n?R|!9B+tyhv#WKzB}({5J?)QEEnA1K^$=8(zK5 zv-$C>FRg<=6PY6f;CB)DT+)P!OAr9hMGCeX^!3a%SP9eQ+$r}!&dhP2W5pM+-Lvq~ z4<5RsUNoge1M|Syk@|$+N^Ce#Y#TPbGh0d{JfMmjlb0oeinr-=&A|4cDZG zUhypP8wBNR@@^fdoi0d!beb!#2CrT~X5x2mrOplnc%(zN%DnPDiJb-I(Q1Nfh}`pN zRb)7A_Bk^AN$Te)&7F!Q3iBwbWS_HfjrPjfoIh~?9T1D;qjSX+3rP$B-_DfN{8W<9 zO4p1GZ>GeoCmlQO8oo>jZ6sc%P_N|OlE!I7ZxmEgs!r=NxWFA^tn;g;sOW~cqEefa z(m|v(q8#rhcHXzDMzFMINwk=M;UNT2z*{P~Db`fq_y{pn1=CWss1^-4H$x9+fj2Z& zJAO7>p|2cmt^9F9=kJolT&p63RVn=DGeW5`rau`b_vYFIIPY`obgOc9mMXZbL&EDD-rES`n~K9GeuY697q3HJGli|f3WTuO zI|)y$ouleKczm}V{59>wdDSLHwzjY&>`)oOblL$9B?5Rdz<4QqYyu?>Bc!xq#j|$0 ze{hxjeMdwUvu>qv-Zy%S;u^tXAW~q4&W1zq*m#gL$>AS@eJ>2bMk~MX*ABbZz0_Yi z?qj*5^w<)!VQuep=d2BeUqWNaR3oZ#UawQWup+TI3zto=6}UP-*xS(CatcMrXO$Y) zTegr6;$Sg>vlzwuf^-Pvpo{U1e?XrcIgtcH@j{mKwQHrcHT!E;w64fCrxsy=DK7%k z8nIA)JcOF^(%)%mlCY*!BcyNXIdH@nM88#M#c>_~gW(d9jt8atcUsCKtPFDksnjkx zdp1o?Wq7_Phn5Vj#z+4y$7#LP^Wm-}?rez;4|`p$4=>|36K$71^Gc>X9dJMN$G}*T zLsxi)ld7VzjzU$$aohJ_HSMhQKS7^xfkEK=f|`6VpXkG2*SQpoPNOM+DP#hOZgiv-T&tl{N zB_`ClGQW;Cy|)^Zh{mD_1Rut~l}h8#Z6o-1wx7)HP`kY;_*1SoFOsY>FHLTNFOQ(N-Qepo1YYMp?+g~wh@N$=$Ijk&q zzo1$=#6Y*fE@?1hlWurG43eG%PG5~|tMltMYw2*M4zu*lihTN@ssJ4AVx{w(`wUA+0p8)(zw&Q~4#+bG1OBvV+~dF)5o8JKK#6 z>5(Sh!j-=YxI6*yzffmz6shCLLYZgnxq~dG>0fgX_8sLf5d)rV>;gvZxaqWw77qT_9;bWxG`S z+jB`W_)II_m|z4c1!W0wLS6Di6~OruC+#zt3q<;b{HqFI6i$m&`1H-mUWaV?d%C8F zNbr*6g^V$u;2tEJqVmga$#73gk|_m^i}bDZB0&>aZr}TVm>2Y;Y)C=XYDudz3Er-n zQ8KFQ`Be{hNe0de#J>Xn2^tx-V^Bs#V(h?CULyAf1F^2Nt69JD8X4(3M~tg1%f0s@ zolXV!2_mZw&$r80Os%beEJ2^vpwR8|p`Vh$_WXfQ@h4t5E8$;Zvm ziM{NS+B{Y71oW13NSW*=pU?rx!equpY??z+n#msTF>{(|Ynf~ZdgAT4TN$vLDNQsZ z@_R)~3*L+$3nO{^Oz4+KaMvW6^$hMoIi%%${0dz|PRpLmn8ztjG?tm3D_yyh+sx9& z9Za?R5Xn9sJ?##PbVsm?8s`ZIKE*W=ElVb9pzgizs0u<a+-C~N-%M# zA#rhV$7du}C&z9a)S7)yf1F}Yuwia4Oi-f>9-?hvF5z@hCEp;_;)P8yH@S@- z{YP0RZldeRhcl710NUGuc^Y5NCO);BtE*Wa=z^0<0xQ|diqHep^@nWgd2L{ zR0pLfYjI%0M#D<3oWGHTZ9oP( zGcOBd?Xv5qL8JG>C!_0iV0Q*=C6Ag$2FI2$N>~gsX}=U1GU}{-D^3Ytx#ySm99LJF zl;A*3-6Lt+)vYay_a+MHC(V#~PP9@K9vTgC!<&stgs!oJ9e~V?1+sdg^@iLWAt-{w z?N)6%bF(DKSQglnx`c`Ch1Qt)qHTz|Q->3Ga-V}mhXx7Jm0_!51Pa=+N_PlMYD?e{ z_Zau+o?m~iV;Kfp^P-c5P)^~k7(d% zRQ=AnD;`RYPk{v zU)-ipUpD^09J`?7S>|_2u<2DBV<`CX11QR}Q49wo{%a;rNnQ>y1MW(v7WuXoDg3-HT~4(Y*+$P_r~B1Cp7qU30|^XQCWImS>$P7o7OJ zD9d9cCRKkS1=@IAL@b3EDzMC@1Qqit{r*ua9LCvJ%n26UKmxeLqU!#3m zbtggDJtuRK%VV#~+?We!clSuH-XTsCBFC|p}3|b3G_V;;}56XEa&~)%JUyYQwd=nj@?&CeCsBmf1v~sNFBl+ z6#zF1IyS%5(27?Ktumpos?ARz?B>)Xg3c2f$}ZjFPPtn?4c=BBvMpqeEjer5!?iDz zQR!*KGr~fLu+X8Crl-}ba=&Erxbppg+TL{!OA68)1ZjKLiZgU4`9NA5G8pW*X{gwQ zX_pcUh?%X@cW$co>kOAE?O=28(2@thv&a(K)DV#>(D*Sq8^=n>&hh927i3O#!y zJV$G}5&H`CL;Pz!nq_~VofQx#alLvnLncP1=h@Qvo7I}8hpFMccsT{|1IQq02xk_J z7702kw(8Z61?{rqkl?q=Cv7?3>ISq$%@DUB;r#_zD>nP*Br%I{Gq#p#b7ZWbCBGu# zhB?CG`_1lw*~KzasCdcXrb!$NSPJ0;iG|p-W>nB_=|CT+%Ne#t2{+jOM5Dq}%}=9% zGpQ)7lvQc^YS*dMR&B;1aK5D2L$b&`b4Jw6u}_(&DhDn2M9Qmqb&*e=a@l##3mp&5 zrT2HBA!YZyhgOTHP{$U>D_%_>%)ndCuys2wo91QDq(~?ZK*|~rgeN`m@thKZucBmk z<;l&JqPVt|2N&*=A#c$9TKUqs@hrphRp}Z=KgA`#UcruHSLMzYYbaLaOv$P!Xn{JA zHj#>}(O1==HcosCMUq*2!`UP*2eYmC?wAj;Vwgy$>dz{&OPmrRK`P~+;z#tX7=_V6 zU>22zMUp%lw4k2Iw`@<+mYKEji}|X<*2~r~k@_&sVW`H7=STZJg%1=WLS@ znWRmjz^w&nrVLX+%0JAOB3IDDUQGhxm3xi>VbL1_kY{sMuLs`Q%MoUi8!9f@2A)=j z!y6WZkl*`Thnp#m+J9e{H~0rp3P5)WG;&c{1=2v`Ba9*~32hpW7(!- z1i6x;g_`qgsQLk&kyG{?PZEGl@4d37-KI_HFHthQFmY2uN9&C0_h*g`xD74+S|h`G z*Em{6VHSgaJz);yw1iUEHMNn6?WmjA<>JdP&**_C$uSiTXVq2?yX~^-{4LSAFt%BS zyfsgJ+zHW3R}te{RIfTd8szL)@9Q-Sm(YD|H0MnN1U49%?}u&lnC2g1Y;trW><@9Z zBwnlPn+7QGS_c~zrD)taO;nfkC?_meEuVRIyq?7Ow%6{jSy>8assdGj$eg(x4J z2z4v!FFUoHw=biyB#+dvFSuLOQJuzuUeYQO_%nl%_&`^dSV;>`AD_HT9W&pwsC$39 z#U;E&J|>YxbKp=^5sVa@b>X|&XHxWQKq#2u#ZhME;@Ob91--JZ92D^@-gt89bEt1+i<^<8u#%0?}M%fi4o!~69 zfD?SSYg5od)15kaUJF z)UWd5Xf4-KpY@(}9k{kK^u#oNfxFy~lkNK_6YG&hSlb8(saMKIUWahm*n8>kp-8+J z0tWVNuA2Csh10O5<)j2-D5R{sdkD16>quu*f6YHxS)Ic7%pGHfmoWtN3_=^ON;d=G zc^N!U7lDu!=Qh0FiA<39-qG_dcWlzl1Hi{rkv$A1FUS&~^=HQ&LD5 zk@jkFJx{Ft6nKrAKO+wY?`k7#k)A|E(-6oi`WCAA#q42S%MgzldMj1o~J9ENS z8q;Q7K84i%iefL7=cfI8St4u0U}($H%hPMer)cr$WbUBr0?8}m1X&d6FzKQm9Hjw$ zvUf6VwuE;>i0>GREhyfX0)feA-?Wb!hdn$l&1qTqj$JGo>PzF_@mAs4wfU1fF_oAg zfGlb&P&SsgZ zv&+uP@tGC35AiFJ7M%?ekSeByS54UQ$S#%Gu`coeRr^`7VP)(Hvd6)P5aSBpAQ2GQ zDz9Y=!3o}{R=nbZSfyxE#JA$SyxUGFjDQ?6xD3md(+(X?D4b4hVX)}MQ5=-#Wqj^| z`UVjRr{CbHMt6YhPBTW0LeL=?(}HAu=WF-hE`72pT}_9-`c)lj9b;D^L)gMb|FJ16 zA>;yia&0XGkgl?a_F8_VwjJ)9|2gc(l9S97-s9zjQx(XOSeqs}Ug?WPS;V|+MO+R4 zxtI(-Ur3GeP-m~`CJrgiSC+MOGvozv&%USQyyAm=8wK6|Un+|p&96qURyh*d#ie1U z-?k4B(9-}(K(@bLuQEGG^O3li+}&buAFP7$2#7`xpTwHSJ3&!!_MXKwN2WI z(v&GB6SW^i5B)vw0CXTw?!~BCbggrzN%0dfhGxWAJ9cG6P=8)Li(GCUR5(+9>M@r< ziqgFWRpQ~9Kn7`PC1s|UVRJvCO%~+g3vKL+Z1l|8TOBLHKLg$;!PUJ!SR-8as$f{p zCGt{SfN+1WB8%7?uiIynxqf(nXdtAn%3#Y5EU6 z!Cyv8<5x#F14U;p6;?3kjAiLF4%!6~$5ec<@{m_}mC{+<9;Ri##a-V~D zfK4_8_;d3*z~nqDHoTh0<#RF((O5MkY}6@Zd(s$W8#|)f$x;Jb9WnzK_4#<$Rt4A{ zez8i>nMSQ!=)oNf zgjUN~`V?5r>Q43?og*NhXG^W!h&;Y);~R0aC-i7T^#hpHsHG*pcuTMiN|ddn8-0q< za**ugf9%X=WWVQHzE)1vS^sRZvjwu))D_+7`|kt}&zHJVo@ylhIU53F8379akyG{_ zHWKt!xbhqmFG_aKN)lIn>{<^<=<7n*e}5PW{LgJsLt!K0yqy=X@1LN(@XXmK_rrp7D7DaKJ^Li-zAQ`7;>gri$t>yYoE*#1 zgS7x-8<}rx@(Wco#4n_-ilzEgMyCe|yzkaj(YLgdmvnvD7cYO%{}q7X8OQelX3mMaZn$w38`IfCsN4L%a~v z`0v2x{G3d=Pu3kh)usm8-+N9l-|clHyN5kmmqdl(8#6Q;vn-K~W;?e9lZB1elxOd< zw-az_y$^~+DB~SLrNfID92B}tRSp%{gxd+?0Jf?7c4?>Rl zMv=Oi+-9$4c~Nmf-i+716e0V4tE=EPNP=GN$TA`@aucDvkz%Im{AyCK9i(w$JBIIk z?+Gsb0Ah58MiZ6(^m{HBjHu0?Am;aAS``<9b^%>9TH~z6 z-d5o`*Qhe`o_?k3As8(-m!ey-r+TY_kfehtIOk8@?rt)E)w^VDThnb^e$EtSQ z+X+J{X*ulvtGc>=xn>2Gq@)aI)8K@M&7`gUtR~1~U{Hby?5jhp&M^Y89oO&d>_%$i z)B9Fcmh*~;a0Xt765_K3?@E`nH{-!!UY6OO^m@CGWd?TK9Wis`_eVyG_t+rPhT(IJ z33PZZA+@bq9_BTkLgs0&CN)r)9DL;g?df=(3dK~v$jmm3cq1+@KRsn0<&jz$n^pwiy5T35SCVI9xYz8GMd~qiPms zY&-n3gN)cgr{&;#tG=K4g3PG#=s@m5X~O3S>RzY0^#?)rod zk+h~CTxRKP9uE;)5?0B~N-2KxBAKR=L59KHt(i`~MOm_CEvVuwTS7uECJ9iFl#fP@ zYWXL2B=dVcJ)t@mu<$cD&QbkhkuvHRnLM z9i$=vx_*JT((8M}ps&1$y^?I;s5c`aF6~YpFEwX)uFqPl2kh$7P5Yls;MNEGfEQ8R z4B$U(`b0hCUjKy}Hl5pak&DxY=AF8g1;3Y?1h1;8AZgyVzLf%CPlqj6DME$wfVXMc zAB9mV8qzkfgn9$BG2+ZLqReSayraRn;BAr3{szaBubX292{j^EZOhpE7oe%PI1d+3 z`=D73vKuWK_UTOUOKb-%$#Ob2tX#A7{=7iDz4Wk`CS*vV}%5lHr!c+n%2~ zfvXY=x&1K5*_p_|jl1)YT9@TK)PxbI%jZ`2z2+nNB|UN9Wyil)sN8wWC|i#^w-+$Q z@tcwjo%uW{$W;S%y{tbKyZ6brL$?HZaB+=ducFvBgz^O7>*wuPUd(+&6uuI&dE2qo z=4=_|D`WcQ zqQ8T9GC@1R79{|ggH9&;7gc}2=*OJ|RD0dOCIQ^7oRKe%`FtZgYFIZr;H+OD;=Tn1H}>-{OT_ z*QE8>zDB;q$2I@fFv3Kr#Y1_~Wl^yuEB zKz%6A8l{vHv_S&NOvd2I)PNdHbpVuPZfiiR60R+sMg|{B)5VunS8%PIEBac%komPL zx%VXCs>3lmC*ywoxY=Rlt=)Gv@<`x3yFnr>Z#fAnH=Gsy{f0eN)(enm7a)mNtXaKN z-zErbep3|8O{PTAU~hqZSR654j6%#k5qC5AExoZ4{aS8S!R% zC{%~1bTuk-ZHJQzd+{Q|B{h5*on&9{Gu*qyKN3vTVjeTOc3duuzplfq2#G1^-76xQ ziYGz)Kx9ph6EvAx2iCLb0+RRlaJlAqXJL;wKqGy%^9e7ifQ zeCK>?^c047VDaWAwx*M2XgPs~KXOffBPbW^j*q&7S+<)7ltv1ty<~^hL9P3dXh&8T ze)H)8#X62$*h=Z_h!(=in2Nk{{TIXC@D(vWgENhA^!P4YIQ7dYfa(?wLwoqQD)XCX z_;@TLv*r|dIvD@v^lp&%DGoOfLXFXT3C+WZ7;{yRQSDUk`k=y-ffxnO_A~r2Ofs0m zD@@y;g#k8-&oAQ`920K0|g_Pt>fAk87=m@$TOJ-Zy~}}M{eW}rVWNeMnwBR zp(npxV$W>=HjWx(UB*UNRx%AX z_S1;Ug}r|+5<#r#M1Eyabj!vL;!OxJm3lcl0*$he36}J0-e$2UyL;0Yi10uh z=`_@XV&Qh&Dg38ay2jOH4nx5eQbxI3o6|=MfOfw?===AcI^Gb|;5ZNK6F$hros-a1 z0VeO22aq?!1@A-39jnyg>gb)*>%MRrE?1ZuOZcn9Q(JrVpF_~vK&e>E@b@n2LhAvU1GcP^e|&a0U-*2eL*?W zp7vP9=vu(V6VZ!5BUGwjOznNPI?>>r_+15>XC2D#0KH1vw{(JL|gG`XZBx1b4GUavh|cLnAB2I`5iuM}XjCnv7bfq4%7+x><8> z^c`(*Lce#>vc%n_#8O`{CcBWEMh2x>>MQCCP8JNL ztlLDA72Q#y(Uj_kQuNC>SEfMI3nEUn8gjLR5D3-#y=J-F;ors`r)lznZ)j!sn)}68 zL9wr~A@$9Y3uvS+@&DDq%g8(MVQ6<-DhZllKKl%?eD3&o=zGuUE*+whI=T~UfHgr~qx{^z7b-<>FF}jm{wj$m9 zU{!4<-=O8?8=;|twS(=<$8rw$m6BO9AEwFo2TH}U_HTLs9^H%fe@lpUzS!ig`SyV` zo9Go4G_7f-9GEeXLPLMEI2T;0uTv>>FP<<2CSzf zvgBq$L8iQNQ6CYm;2#DCI7lxc?v_8t9?jjx#O8wvfs3p9nz`7Ck+RqCv!Gw41ag@v z2eo`I(~^(LW3RvVl(>E(v%C6|0PWnOaa#DeU2cE2_YAbt5nOikg51fw{H5iWF_U&s zwJMaimroq|=9LddN*~wd-WL9Goq*spd-sMvvP;giRGsr60w6+H^)ISPiGx!vU#OJq zQ7ivcJa+_WVS$EzoNNIn1zU{wEF6aUhL*8=+7M{pjo;F*ze&SA+qpckN1)%s$m3IH z3cEjTW1J7`JJEllTX zW(-h+zXyo7LML>t$#Qnjl5IULOpHFX)~PL=LuVxYe&WsNBk;yK40@}@*kF#A)BJW#hJwt zL)U<(39y*0Pb^BwXB}PD1_z+)ii)TpGTH!S8U;7kcZ%uxL`)Co*MFaGO6T<<_Rii; zpqwKfAF7qPA$EMr-Je41d7r32;o@RR9d&O$KnRZB#ju z*geprKgTuZ?~UQ^CGx<>d1iS68_5K0hD|@_`V7|y05SeJy?|(6wm4Srj|{r}oibtS zXVsD@3Plv;!01R!Q!eaKH7zS*r@cfZo;gWPiFbFD58Qh9w!W!I(&!s(QIcIHzxD9N zQP&%CH9m&ANnVzbWQY3sGrtPS2Us~9Ef~}Zd9t_hvF^6y&ArNg`0!ILbkK3ChK5>g z%1#%U(|~6sBdGye%xrHkJ-ea%nM~u2tq$&&apY#E4ow?C1}MGZKUbVoF{5BP!xID! z{H<qAVGPQ^2Ebl7G-OST3c9yy!j5ajRb29WPJOx85JVQ8-_A-k0Q$vs4Wrd-W(` z4W=q4e-)ZXKW!sI5H<@?Y33NZZNI@vx?N+**-B#RZ_R@W2x8;NPUOts&CJWah+Pwh z5P{_aD2%~DK|u=IL2SBg{H;)_uZS^c{eH!(n5cfTZzrHs?!!aYR@RG!tc^@zrS6iw zLfS3lt{xe96#bO;nS3`C8c!s5J;pk_ws|YAm)Eox>h_LtPdFh+7EFd7d-^gg9DP9< z)*k)MMpy@Ao{FuNFYq*UNTSInBw1u9DhSH%qMG&MvGyFYH$DqCQ`jT??K5fnC7mtg z(ju$CNg&%M*_Y9KjM`LmFLINe0GmAHspW6QR~FM^c;AT4_z;?jGd1{evLI1`x`)u! zG2Jd4pifmWl`pk4Dw{_}?*isd#U2%y`rgh07yirS2D)9FFJC+1vC$51)xZU|&Zl!^ z)?-gbaZNwpNLXQ$V>sQzy&d3(6hZgQmL-;ubTW!XZfradWth+z`qz$!yyk)O(sA3+ zej~_2@a$`cEs?_-wR^F&3cFhgBE_@w8%9K0qF2Cr6(l-`S$ExkU4i!^FAD z+y*5~rCl+h4FM_np^WIVnIUI-EC0ulBNk(O%k}Fak#4E0&s*G0VdE72jWRWM#c$#e z^MuchnsP^hZE`^bTIwNn_u=V?cuK||LlqfaQ{-D+BvEq^Cw0 z|1sYeKi_tuMXd@0a>!PM%4Hn8g8Co3s#NJ&UTc>wIpnSCnu~TKJ8RlL>#-luFjV)H z2$m5Nr-A^HD5kpm_9Jtq7ny@v6u(#&DIN$PMftXpvXr7cjrB3tKI`#jP7Y#Xr97LN zIXf&pf8RH13E>}CbBRnyLRp>NhfbF;b|_~? zQLGz-wQKy#U6_VQpRHsyk~KV|)xk7V5sP1?T|9p354#)Wc!66^!0Ims&h)rkp8Ta= z$4QTfizA1i5L4><93s^Y@VL(aTKghNyv4T2{#O39-4-ucM5?{mY)K#D{}G0VnM55gjbujv{`@=Pf-;?*1P z4hi04W;t)X1eI~{@Ddy)@%bAW=_I)G`oZy^xBJY|IdfI`0mJ0{oz&tht9H-$hWg%- zEpW+S>4E+5cBV*rh2pMi;ex#g0g0ETd+*N3Gulz(e)tbSl4S%{LHc> z9^}|o?>rFy(kb}J_^c)@5I{3V(Za&vBxSa?u{-Jjev9{zhw<4cXqX9c2-k9GsF81O zbWh`Op;?*+wovN7zaElJ`Iq3BU?N zP}age*aB8pL&xCj$i|dZK4q)emnOZY!&Vdfi^=-8hHOW8Mk$0xWpZRh`&O4Z`@hW4 z!q7F^ws{|=!sQsm$~sU4K54+`Gq5$4pTkXlHohtk!R}4vK^;ukU-fd37OwwwoD$Y_ zghKYmbOp|06o+Lhnz6J5k#adh-?OY<5+4>Z5*t>uLpO|ieEFLD!=Rz#d!=K-sNCaXaQ^?tFoIFgH$ta=QefJrf% zW8F<-)Gr$mmMK`~HuR5AhpVfcu|RY#}` zqxz4B3o+eX<1wakRLwZ02m7cI5_=b_XGUiF9wQ2fU(Z#f4`_%z!*ph@sbO&!T-Oi9 zzZ8Ia_mbW57E7LWDu*xlcRn|G#ag{_CFTF8hB)?gq{M+nay@A3vvs;1)>@phLfX)7 zc049p*Ic=6K*mSx_neT1M}mhW6(nzQzcB8|k-7ZyH$^W-E%E5e|BxD*Q{veWd-~1% zn>gBC`~WR1KFdIoA9bIp&Yi#8alF@6q0g2rdtgBjKAJLYCijcl=SG!mflF{) zk%bct5Nap*u(5!=S{`10E@Ewp0ydftD5;Agrv>dYPL|3`Z6UoxvY77`H*L)tT1`Z( zx6}mwk6`OJpSWjdmM`9uaHCpp-&(vaBaLX>Zt6cAb~JMOm{zcC`~4fjr2cJJw$Z;S z&t@0j@5u&Z@oWJlruVp6*tX^uNFJ3_ht@210^>R69M;uB6y_EaT*oB4zDt|VqtlE! zAi=@bAEqlM&lKTu9EXTQdumjfjWKkUldjv90m+zl66%y5l(iMF~yy@CCE zvN&=0T2HlFfB}zRbpqD(H>+K08k<}-6yx09EzRrR0i`9)A_tIuV(JY<_AEC<#-FZ+ zae|kC8V9GlXj)VK)K{!t0F)0D$e&-omM&L~cMWZCcL#Oxb3B7|6v|O@7j!e~i^tQh z*6+{+Z-?N>yOsvj|A~?JHl~@>B_7re?Cf*XXU)MA>A##af{Jlxa~>wU2!?<{EPTn% z#)){9m3-JsSDTAVD2kUe!m8eTPT!mO##&wV4feurZ>F|=$W-Id-z_=C%Bm&Sg7?e= zF!36fM2&mj2{;s1#$wn7p_vBU=|P{`ub(@bM%cbKuj$E)ua%h72IjOmB>a_GZiP&& zc(+nQ#UlcY7z-3=b0f;2m~1qLVmqe&51URQyd)YgkM9OG%NXI*{7Cz) z5x4(7qM{M9`1L?b_DV_%(r-MHszdM-#vC@ju;B##cN$w%pKBrJqF`to3~~^2He$6y z6Q?7g3%i}xJ<{BgkL=-9WiCx$hWn7Rg110`Qq0ak@Dg<3n7~i1Z?4z#Sc3hxJHeh~ z^m>aQ;L>%?lzf@bnQ)}$%$^Xc0xER84#!L<1wjUX0MoVYQj_21KB(=AXD(>&x1Z5U zbZdEhU0_McU0GU{-t}psRG|`UNC;Yr35w>Bo%6$Pqy7QkL$oE}cB|Fan;G=DGDcee z3o)#r81-)qkUt9kX#_8*atXvown|bmG8`Jv+l-OGpO{H1Ars8PM z+|MglW5o=r1u(j$!Hi+{83A9?BLHx@MFw>4iu@Fezq;=(aoVQqcvWo;L+Z zy+qw;_Rj5PQM%{P3wKU3D=pZo7I~y9Y;yoK4tIT2*sdGr@jaVR058qH!`Qedt`-@d zX<`$Wy5@kD9=PnhyTg-4 zg)hM_xjy;BiikgMA**v)VjqF@s z#KQz%7{F8Y_mDRyj~6ke8$8NOds?_RiqA~5*H678e{>ct^~zp$@DJgk&;vHlV6DHo z&M@5pvF$l~n{<3xK|ms)XM*j+5t{pDJm;`7J&dz^AQ>R%&PwING|z4uRHwuTkZ4Uk zVN5xrYe5YW&U!x12Vf_%yqWcnHS)MZ2`w7+tk(Sm*l6qExDxWfalG^AR3SrSOEeH; zEfj3Z%oxt18}yxJs!R}g`}@`-KscK=59MnlvLHp!Q9Gsk%hfdtJZq#_igm8bA~xj8 zlx~EOnWTJQ;*ZY&wf^q=7dz>B|%oRRKpSDg9K1 z^%O0khxX~THF-=SO^Hd%CrseRANzq9>D#ou`V^KIT6;9LhYM$B%)-58zZ^5#Q65I% zZt@Sqyb|&jJ~PxwYeJi=x@i*Eu(mF(^E}6YLkBH=dN`vNPMCm+n{maihB^62v|_ib z@qW_$$*3{ z2Asbtt_CCB-4u%2XimVh>^X4NE)`$!L+(j4&oeR;PJyjMe!0Did#b)JG@VVUeViL$ zf2P`&mw8CI)=2)j5n~&XbZ-|p9?%%3E6)Nx&vDN@pm9h)9etqUoyqm1(F1CREU78u z`~^=K$ZH#NuL*?kWj}av@DMbfTB|nMGlc*7)NvKpqOLNM_BCC_(zI2m31=wczFsp| zY9S6MuZny5L?R=w=ww;xw7saUN>tBmIPK4TP34h--qIZq`PC{_*rt5&>@P$AFSZt4 zXVF@Y>T|1Tw0~YED(O)txOusXCY~W1>cw)YiDMZq#)x+BTnt_MAwQ`-O+`J(L{ZqlislzzdZ1-s^(ZuRSB`$5phQAtsK2Fbqbf;aAM`gvB-2Em|`E+}( z;9P2W9v}%>#uzz~9^sYwPu6+B%e+#;{fvoJiK3n}p1nKtjZml@7n}t3u+96Ek1YG04rni!O3x)~RBC${mnBKvh;d`l)$#eVz z4!$}ZYtw;yeFy{=TYIGg@g5Cz5g<%*Is=b{tav_cQju7QC*FN%K53Fq)$r1-XsSI+ z)LfbON>xS_N5l2`=Xbqv(n8gF0^uwp|53yI_84r{-~rY-I@=<+p2jp3C}xy3+#Ly8 z7XsP{t=7ABlU&znca~60MFu{kq`T$z;VKoHd@O zYG5K=X`_^AgTo=0pm~M|4EHu*;X>C#ssS}CX8cCsjh_RnD89#%{cit8o5M+020no9 z(Jcax>lB%u<{YyF$57*y&U80$hxLC1Q=xmj)>S7uqa$kew$muuVP9N#MWSxrET3T`R=GN;&psi>^5ZU+OPMY*Qt6Mv zuUt5x%(0*(NldgEa1~H-H}tDHCwiS^P2T39uHvTgp+Nmj_zw#By=dSUVfTaxV+SAe z*U5kKhA*BB_cY(g<1+xjfsDV?IcEdXka)#-={(oXV>UI1T!*M>->46sT}`w-=S*+` zj*-ctsjO;1odZhMQ*!bH1v57`)0)pGQAbEaEAqdXwwU(&Auhx$V587f9pyrJhkx!O=GarM9QFx3x-*yVr~}xL zVwI1U5I+R!_@M#Pu_RuCN1WjQ;{ z72%3FJt0U!D@Ua)g5TaP=`)_kTXM7)q`|1lfhHS+&O7qh-l_MGm_3rCJcsC{P8qQg zrz{Vo#~kM&bnaCyb3juni8B@ytTaSxSUQwdITw1cE>|jSeeli6lR-YCHmStK2mty} zOX`8^qelt4WeXRZY%ZLnqw~?x6w1AzMa6OK;_$RIQ}PFmWxlo%j~GG$~r}7~{%*RO&eRzKf6s&Ac<6Rw#77Q{~8Kxf{{_VVL?PwBx>h?yg4sH8aJY=~s&g zE>$~kvYco8Oa7^ez8A|4bvnHuNZ^sVeB!nu?A%EX~^l}0*Y z*0N+-ud-5A2TcAu3xqRB-k%(vcL+h*KY8^bI_&E)?^eM>(!`EqgK%EJ0Y4(#A0U8R zct1J-+*}OZ0FN0*AB)D)&V*64d#J|5jPdkYR{UL*EE7fKp`@X+G4LcEL zkMeyuan4~DKD!QCT(yH2N76%wucKlwU!#DV(NDJoAV^9h7qs~DKlDWJ$O8vM@89Ig zD8Tw(4wEGp3JN_8yM=@AAyoc7ybc~n9kbh#Ld9g6ZDEuVF8i{nt|>H6C&5%BB)ehwhmT1E#Ib!L@O54O^A)Cm$f<>=~O9FGpk$W4;aE zjv^-&uF0{RmB_A&8qLdUadZ+0C{5qZKjmVN33~6x{ZdN`%3VXyzavhdcw-yT-OFUo zMc}+5ozK4fRuZQxhj>eZp@$ssJhFthGZXw>lOGsaq~3)%=pg z>W}!lU(Ab%upD4;o0apRk(FA|pT4Pi?N4AN{U95U+_jiW;_Ovs!3(c_=MlDy7e$fy z#*n-+uU2XCP0$L#4%8T)f2{>AJml80h2LxkEG%(PCyj;x^%ChRR_>Hx0d`%rZ+Ns z#;o;u8k_O&U~zTy_tNpdGQi$Zw^bv}A{4#net(R!CCCY7x~@Mj;Lk-7l1+~x;p5+% zez*>mnB0}Cy!1kP3*$^FjPBk2%QU%o>boIh4c66+$ppLO1+RdmHjp(j+@$d=}F5#a-wtw z=QI-nG&a#5Kg`yuE<#9~;G8~~T~59{86CHqcywo&iP-DC$yR?L`fU2vUDT7dmaMW2UJzh3p|MNHtpdTO{Cj3fP~X4 z%2L<5MRx0?{eApK<-^50d>$TUvd!4`8>}CB4|oz5-f&2uD@;nBZls~C@(K6ezyPkK zen90Xnnuf&%zdU`Iw6X%B3nR^{E3I>jQ?Yd203u!Wn)x+hwHN{61f;Fh`*7U0IrY- zVuj!1UFjKT8g649RexBMgUx?I%D$PoKp>wf?V+7Z8RaUk%ap&@n<>!uBR=u<&;XR8a4Vf6=>tdjF1Q~+92zp6RJqpsYZ$+)N?3um_DVzw0&Ajt%M7iIf|(6#Ejg;y6^YfyH< z7WVG%6lMg^+C$verkff7g#UrH;2EwhP5eShi$M2x+7kmy;7~CSB2%uTj&Mw?>z?Xi z!14vuJ!gOWMe9wF-x`EapeF09L8$+ks+~!k9z}hS`nTVRX-UJb4?O?<6bRzTAEbL# z9Tfc0kAkj>u`pKC3zsHiv`;szSy&;0sJKVH%W{(j-P1Ls#Btw;>8K|QDm^CpoWmhM zkz14!)`Tmy4Y!#g9a!9yvQU_yVYO$QnEx0j&^k_>g$jcXAfJ16nw^R=W;Bbz%J{saeQO4wbW7 z7TZ9?x|7$QIeHdM}za;+NhiGu*K&9>RHiEbYV5-X-Mk(Xo^lg^KP!HlQD2 zz!ub)koX3y-h;|EJ3}zONpr;mE{B*!+}(U2r8vw23!(l6bgp6OJI>w$^!Zr9E4UDP zJ%GH?t9g>bHF2&{JU3*mpi-~JgD~S8APzbDroCp$=<#k>_XtF^^Ln)Gi?(H zcSUngyDiq>ZvL|FodL-v73wF&uOL-;I4x7ak5Npan#b_0vFxW;0o&)P*G_6UVxTcK z`XFbb01@(u)z56(GjR(vrmvlDELe?fhcEh@*R-r?9dzoHm*c>0z^UZ1HVmI9Kq?EB2H7neyTu}N>KB0@*|_m9PiYH%iDqb~E7Gz> z9^*IC?w5O1`3amVv*L* z6Bg6B6Q~d6-7u3-x+0we>ty$}1IjvV7~ZmtoU3N;hiqKktW4V?+RhZMOj>~(Za4>E z)n|i*VL3lfo+Soz;JA>pOi>oh9;k@$Ru(^8ehp#H& z*B?k>K@QrkcIz&EY}}73eUOlGr&1TTJjt<}v}iIt>Wwx-;aX(+&&YrM`5G`uN^&XH z;?0VQFy6NxyM2fCNr#XJ92V5b{I+lR8voF9);c|6&^zOldeY&3p)_p1yqNE?Cn?tC zIC@>UEXzR4(OCzX7+ZQPk9OJbbFEM>x$g{Qb;&e)Gyp?IP${87k$SYDzzSx}hH!oS zlHDfoXmNrIW&^^&b81q?(Q$~=L5v-IDr_)Bko;?!NuW2HU$C@2y^9j~l5=oME4CE* zX~k@Y(sH;dDs}U(Vwv@A9QLVHCrptJ%-W7MWDxt@7K?|;<@X%l$mX{42dqTt zBbW5x(bO6jEF1VH6xA?ZdFz`9t93kKZX`aRK8bqV? zMl4|X6Aqco;|Tbj??xMAX0Ba#%BwF#lc3_Az@*ZH6$SM^to~c3LXtmVc@v)B>7kF( zs3X?Tb+a6G?I&x zf(JFN{BMRAE>9o_q5h1DNZyb}Nt@y2T5HU#!bg_~!M{br@xs}S#l<9~H;X^#BX2^=nMENButlhL#d>-I|A-+t=Wf0S15x$ zN1r@q`Ci*-85LN4lO^j`jhJI0jvXoZW1cY{wK<(tlYDA_ncVVxJI7Wl

qvideowidget.h
+ 1 + + + + + + recordButton + clicked() + Camera + record() + + + 647 + 149 + + + 61 + 238 + + + + + stopButton + clicked() + Camera + stop() + + + 647 + 225 + + + 140 + 236 + + + + + pauseButton + clicked() + Camera + pause() + + + 647 + 187 + + + 234 + 237 + + + + + actionExit + triggered() + Camera + close() + + + -1 + -1 + + + 154 + 130 + + + + + takeImageButton + clicked() + Camera + takeImage() + + + 625 + 132 + + + 603 + 169 + + + + + muteButton + toggled(bool) + Camera + setMuted(bool) + + + 647 + 377 + + + 5 + 280 + + + + + exposureCompensation + valueChanged(int) + Camera + setExposureCompensation(int) + + + 559 + 367 + + + 665 + 365 + + + + + actionSettings + triggered() + Camera + configureCaptureSettings() + + + -1 + -1 + + + 333 + 210 + + + + + actionStartCamera + triggered() + Camera + startCamera() + + + -1 + -1 + + + 333 + 210 + + + + + actionStopCamera + triggered() + Camera + stopCamera() + + + -1 + -1 + + + 333 + 210 + + + + + + record() + pause() + stop() + enablePreview(bool) + configureCaptureSettings() + takeImage() + startCamera() + toggleLock() + setMuted(bool) + stopCamera() + setExposureCompensation(int) + + diff --git a/examples/multimedia/camera/doc/camera.rst b/examples/multimedia/camera/doc/camera.rst new file mode 100644 index 0000000..8ef9f67 --- /dev/null +++ b/examples/multimedia/camera/doc/camera.rst @@ -0,0 +1,12 @@ +Camera Example +=============== + +The Camera Example shows how to use the API to capture a still image or video. + +The Camera Example demonstrates how you can use Qt Multimedia to implement some +basic Camera functionality to take still images and record video clips with +audio. + +.. image:: camera.webp + :width: 678 + :alt: Camera Screenshot diff --git a/examples/multimedia/camera/doc/camera.webp b/examples/multimedia/camera/doc/camera.webp new file mode 100644 index 0000000000000000000000000000000000000000..11ed187920287c2d3c354a727e4a2fedb31cebaf GIT binary patch literal 11666 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 DgW-Rd literal 0 HcmV?d00001 diff --git a/examples/multimedia/camera/imagesettings.py b/examples/multimedia/camera/imagesettings.py new file mode 100644 index 0000000..9ca1d92 --- /dev/null +++ b/examples/multimedia/camera/imagesettings.py @@ -0,0 +1,56 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtMultimedia import QImageCapture +from PySide6.QtWidgets import QDialog +from PySide6.QtCore import QSize + +from ui_imagesettings import Ui_ImageSettingsUi + + +def box_value(box): + idx = box.currentIndex() + return None if idx == -1 else box.itemData(idx) + + +def select_combo_box_item(box, value): + idx = box.findData(value) + if idx != -1: + box.setCurrentIndex(idx) + + +class ImageSettings(QDialog): + + def __init__(self, imageCapture, parent=None): + super().__init__(parent) + self.imagecapture = imageCapture + self._ui = Ui_ImageSettingsUi() + self._ui.setupUi(self) + + # image codecs + self._ui.imageCodecBox.addItem("Default image format", + QImageCapture.UnspecifiedFormat) + supported_image_formats = QImageCapture.supportedFormats() + for f in supported_image_formats: + description = QImageCapture.fileFormatDescription(f) + name = QImageCapture.fileFormatName(f) + self._ui.imageCodecBox.addItem(f"{name} : {description}", f) + + self._ui.imageQualitySlider.setRange(0, QImageCapture.VeryHighQuality.value) + + self._ui.imageResolutionBox.addItem("Default Resolution", QSize()) + camera = imageCapture.captureSession().camera() + supported_resolutions = camera.cameraDevice().photoResolutions() + for resolution in supported_resolutions: + w, h = resolution.width(), resolution.height() + self._ui.imageResolutionBox.addItem(f"{w}x{h}", resolution) + + select_combo_box_item(self._ui.imageCodecBox, imageCapture.fileFormat()) + select_combo_box_item(self._ui.imageResolutionBox, imageCapture.resolution()) + self._ui.imageQualitySlider.setValue(imageCapture.quality().value) + + def apply_image_settings(self): + self.imagecapture.setFileFormat(box_value(self._ui.imageCodecBox)) + q = self._ui.imageQualitySlider.value() + self.imagecapture.setQuality(QImageCapture.Quality(q)) + self.imagecapture.setResolution(box_value(self._ui.imageResolutionBox)) diff --git a/examples/multimedia/camera/imagesettings.ui b/examples/multimedia/camera/imagesettings.ui new file mode 100644 index 0000000..8c59ca0 --- /dev/null +++ b/examples/multimedia/camera/imagesettings.ui @@ -0,0 +1,123 @@ + + + ImageSettingsUi + + + + 0 + 0 + 332 + 270 + + + + Image Settings + + + + + + Image + + + + + + Resolution: + + + + + + + + + + Image Format: + + + + + + + + + + Quality: + + + + + + + 4 + + + Qt::Horizontal + + + + + + + + + + Qt::Vertical + + + + 20 + 14 + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + ImageSettingsUi + accept() + + + 322 + 272 + + + 44 + 230 + + + + + buttonBox + rejected() + ImageSettingsUi + reject() + + + 405 + 262 + + + 364 + 227 + + + + + diff --git a/examples/multimedia/camera/main.py b/examples/multimedia/camera/main.py new file mode 100644 index 0000000..fd4dd32 --- /dev/null +++ b/examples/multimedia/camera/main.py @@ -0,0 +1,17 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the QtMultiMedia camera example from Qt v6.x""" + +import sys + +from PySide6.QtWidgets import QApplication + +from camera import Camera + + +if __name__ == "__main__": + app = QApplication(sys.argv) + camera = Camera() + camera.show() + sys.exit(app.exec()) diff --git a/examples/multimedia/camera/metadatadialog.py b/examples/multimedia/camera/metadatadialog.py new file mode 100644 index 0000000..97d0a36 --- /dev/null +++ b/examples/multimedia/camera/metadatadialog.py @@ -0,0 +1,86 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtMultimedia import QMediaMetaData +from PySide6.QtWidgets import (QDialog, QDialogButtonBox, QFileDialog, + QFormLayout, QHBoxLayout, QLineEdit, + QPushButton, QScrollArea, QVBoxLayout, QWidget) +from PySide6.QtCore import QDateTime, QDir, Slot + + +IMAGE_FILTER = "Image Files (*.png *.jpg *.bmp)" + + +def default_value(key): + if key == QMediaMetaData.Title: + return "Qt Camera Example" + if key == QMediaMetaData.Author: + return "The Qt Company" + if key == QMediaMetaData.Date: + return QDateTime.currentDateTime().toString() + return "" + + +class MetaDataDialog(QDialog): + + def __init__(self, parent=None): + super().__init__(parent) + + self.m_metaDataFields = [] + meta_data_layout = QFormLayout() + for i in range(0, QMediaMetaData.NumMetaData): + key = QMediaMetaData.Key(i) + label = QMediaMetaData.metaDataKeyToString(QMediaMetaData.Key(key)) + line_edit = QLineEdit(default_value(key)) + line_edit.setClearButtonEnabled(True) + self.m_metaDataFields.append(line_edit) + if key == QMediaMetaData.ThumbnailImage: + open_thumbnail = QPushButton("Open") + open_thumbnail.clicked.connect(self.open_thumbnail_image) + layout = QHBoxLayout() + layout.addWidget(line_edit) + layout.addWidget(open_thumbnail) + meta_data_layout.addRow(label, layout) + elif key == QMediaMetaData.CoverArtImage: + open_cover_art = QPushButton("Open") + open_cover_art.clicked.connect(self.open_cover_art_image) + layout = QHBoxLayout() + layout.addWidget(line_edit) + layout.addWidget(open_cover_art) + meta_data_layout.addRow(label, layout) + else: + meta_data_layout.addRow(label, line_edit) + + viewport = QWidget() + viewport.setLayout(meta_data_layout) + scroll_area = QScrollArea() + scroll_area.setWidget(viewport) + dialog_layout = QVBoxLayout(self) + dialog_layout.addWidget(scroll_area) + + button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + dialog_layout.addWidget(button_box) + + self.setWindowTitle("Set Metadata") + self.resize(400, 300) + + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + + @Slot() + def open_thumbnail_image(self): + dir = QDir.currentPath() + file_name = QFileDialog.getOpenFileName(self, "Open Image", dir, + IMAGE_FILTER) + if file_name: + i = QMediaMetaData.ThumbnailImage.value + self.m_metaDataFields[i].setText(file_name[0]) + + @Slot() + def open_cover_art_image(self): + dir = QDir.currentPath() + file_name = QFileDialog.getOpenFileName(self, "Open Image", dir, + IMAGE_FILTER) + if file_name: + i = QMediaMetaData.CoverArtImage.value + self.m_metaDataFields[i].setText(file_name[0]) diff --git a/examples/multimedia/camera/shutter.svg b/examples/multimedia/camera/shutter.svg new file mode 100644 index 0000000..1849336 --- /dev/null +++ b/examples/multimedia/camera/shutter.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + diff --git a/examples/multimedia/camera/ui_camera.py b/examples/multimedia/camera/ui_camera.py new file mode 100644 index 0000000..92e115c --- /dev/null +++ b/examples/multimedia/camera/ui_camera.py @@ -0,0 +1,232 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'camera.ui' +## +## Created by: Qt User Interface Compiler version 6.5.0 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient, + QCursor, QFont, QFontDatabase, QGradient, + QIcon, QImage, QKeySequence, QLinearGradient, + QPainter, QPalette, QPixmap, QRadialGradient, + QTransform) +from PySide6.QtMultimediaWidgets import QVideoWidget +from PySide6.QtWidgets import (QApplication, QFrame, QGridLayout, QLabel, + QMainWindow, QMenu, QMenuBar, QPushButton, + QSizePolicy, QSlider, QSpacerItem, QStackedWidget, + QStatusBar, QTabWidget, QWidget) + +class Ui_Camera(object): + def setupUi(self, Camera): + if not Camera.objectName(): + Camera.setObjectName(u"Camera") + Camera.resize(668, 429) + self.actionExit = QAction(Camera) + self.actionExit.setObjectName(u"actionExit") + self.actionStartCamera = QAction(Camera) + self.actionStartCamera.setObjectName(u"actionStartCamera") + self.actionStopCamera = QAction(Camera) + self.actionStopCamera.setObjectName(u"actionStopCamera") + self.actionSettings = QAction(Camera) + self.actionSettings.setObjectName(u"actionSettings") + self.actionAbout_Qt = QAction(Camera) + self.actionAbout_Qt.setObjectName(u"actionAbout_Qt") + self.centralwidget = QWidget(Camera) + self.centralwidget.setObjectName(u"centralwidget") + self.gridLayout_3 = QGridLayout(self.centralwidget) + self.gridLayout_3.setObjectName(u"gridLayout_3") + self.captureWidget = QTabWidget(self.centralwidget) + self.captureWidget.setObjectName(u"captureWidget") + self.tab_2 = QWidget() + self.tab_2.setObjectName(u"tab_2") + self.gridLayout = QGridLayout(self.tab_2) + self.gridLayout.setObjectName(u"gridLayout") + self.verticalSpacer_2 = QSpacerItem(20, 161, QSizePolicy.Minimum, QSizePolicy.Expanding) + + self.gridLayout.addItem(self.verticalSpacer_2, 3, 0, 1, 1) + + self.takeImageButton = QPushButton(self.tab_2) + self.takeImageButton.setObjectName(u"takeImageButton") + self.takeImageButton.setEnabled(False) + + self.gridLayout.addWidget(self.takeImageButton, 0, 0, 1, 1) + + self.exposureCompensation = QSlider(self.tab_2) + self.exposureCompensation.setObjectName(u"exposureCompensation") + self.exposureCompensation.setMinimum(-4) + self.exposureCompensation.setMaximum(4) + self.exposureCompensation.setPageStep(2) + self.exposureCompensation.setOrientation(Qt.Horizontal) + self.exposureCompensation.setTickPosition(QSlider.TicksAbove) + + self.gridLayout.addWidget(self.exposureCompensation, 5, 0, 1, 1) + + self.label = QLabel(self.tab_2) + self.label.setObjectName(u"label") + + self.gridLayout.addWidget(self.label, 4, 0, 1, 1) + + self.captureWidget.addTab(self.tab_2, "") + self.tab = QWidget() + self.tab.setObjectName(u"tab") + self.gridLayout_2 = QGridLayout(self.tab) + self.gridLayout_2.setObjectName(u"gridLayout_2") + self.recordButton = QPushButton(self.tab) + self.recordButton.setObjectName(u"recordButton") + + self.gridLayout_2.addWidget(self.recordButton, 0, 0, 1, 1) + + self.pauseButton = QPushButton(self.tab) + self.pauseButton.setObjectName(u"pauseButton") + + self.gridLayout_2.addWidget(self.pauseButton, 1, 0, 1, 1) + + self.stopButton = QPushButton(self.tab) + self.stopButton.setObjectName(u"stopButton") + + self.gridLayout_2.addWidget(self.stopButton, 2, 0, 1, 1) + + self.verticalSpacer = QSpacerItem(20, 76, QSizePolicy.Minimum, QSizePolicy.Expanding) + + self.gridLayout_2.addItem(self.verticalSpacer, 3, 0, 1, 1) + + self.muteButton = QPushButton(self.tab) + self.muteButton.setObjectName(u"muteButton") + self.muteButton.setCheckable(True) + + self.gridLayout_2.addWidget(self.muteButton, 4, 0, 1, 1) + + self.metaDataButton = QPushButton(self.tab) + self.metaDataButton.setObjectName(u"metaDataButton") + self.metaDataButton.setCheckable(True) + + self.gridLayout_2.addWidget(self.metaDataButton, 5, 0, 1, 1) + + self.captureWidget.addTab(self.tab, "") + + self.gridLayout_3.addWidget(self.captureWidget, 1, 1, 1, 2) + + self.stackedWidget = QStackedWidget(self.centralwidget) + self.stackedWidget.setObjectName(u"stackedWidget") + sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(1) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.stackedWidget.sizePolicy().hasHeightForWidth()) + self.stackedWidget.setSizePolicy(sizePolicy) + palette = QPalette() + brush = QBrush(QColor(255, 255, 255, 255)) + brush.setStyle(Qt.SolidPattern) + palette.setBrush(QPalette.Active, QPalette.Base, brush) + brush1 = QBrush(QColor(145, 145, 145, 255)) + brush1.setStyle(Qt.SolidPattern) + palette.setBrush(QPalette.Active, QPalette.Window, brush1) + palette.setBrush(QPalette.Inactive, QPalette.Base, brush) + palette.setBrush(QPalette.Inactive, QPalette.Window, brush1) + palette.setBrush(QPalette.Disabled, QPalette.Base, brush1) + palette.setBrush(QPalette.Disabled, QPalette.Window, brush1) + self.stackedWidget.setPalette(palette) + self.viewfinderPage = QWidget() + self.viewfinderPage.setObjectName(u"viewfinderPage") + self.gridLayout_5 = QGridLayout(self.viewfinderPage) + self.gridLayout_5.setObjectName(u"gridLayout_5") + self.viewfinder = QVideoWidget(self.viewfinderPage) + self.viewfinder.setObjectName(u"viewfinder") + + self.gridLayout_5.addWidget(self.viewfinder, 0, 0, 1, 1) + + self.stackedWidget.addWidget(self.viewfinderPage) + self.previewPage = QWidget() + self.previewPage.setObjectName(u"previewPage") + self.gridLayout_4 = QGridLayout(self.previewPage) + self.gridLayout_4.setObjectName(u"gridLayout_4") + self.lastImagePreviewLabel = QLabel(self.previewPage) + self.lastImagePreviewLabel.setObjectName(u"lastImagePreviewLabel") + sizePolicy1 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.MinimumExpanding) + sizePolicy1.setHorizontalStretch(0) + sizePolicy1.setVerticalStretch(0) + sizePolicy1.setHeightForWidth(self.lastImagePreviewLabel.sizePolicy().hasHeightForWidth()) + self.lastImagePreviewLabel.setSizePolicy(sizePolicy1) + self.lastImagePreviewLabel.setFrameShape(QFrame.Box) + + self.gridLayout_4.addWidget(self.lastImagePreviewLabel, 0, 0, 1, 1) + + self.stackedWidget.addWidget(self.previewPage) + + self.gridLayout_3.addWidget(self.stackedWidget, 0, 0, 2, 1) + + Camera.setCentralWidget(self.centralwidget) + self.menubar = QMenuBar(Camera) + self.menubar.setObjectName(u"menubar") + self.menubar.setGeometry(QRect(0, 0, 668, 19)) + self.menuFile = QMenu(self.menubar) + self.menuFile.setObjectName(u"menuFile") + self.menuDevices = QMenu(self.menubar) + self.menuDevices.setObjectName(u"menuDevices") + self.menuHelp = QMenu(self.menubar) + self.menuHelp.setObjectName(u"menuHelp") + Camera.setMenuBar(self.menubar) + self.statusbar = QStatusBar(Camera) + self.statusbar.setObjectName(u"statusbar") + Camera.setStatusBar(self.statusbar) + + self.menubar.addAction(self.menuFile.menuAction()) + self.menubar.addAction(self.menuDevices.menuAction()) + self.menubar.addAction(self.menuHelp.menuAction()) + self.menuFile.addAction(self.actionStartCamera) + self.menuFile.addAction(self.actionStopCamera) + self.menuFile.addSeparator() + self.menuFile.addAction(self.actionSettings) + self.menuFile.addSeparator() + self.menuFile.addAction(self.actionExit) + self.menuHelp.addAction(self.actionAbout_Qt) + + self.retranslateUi(Camera) + self.recordButton.clicked.connect(Camera.record) + self.stopButton.clicked.connect(Camera.stop) + self.pauseButton.clicked.connect(Camera.pause) + self.actionExit.triggered.connect(Camera.close) + self.takeImageButton.clicked.connect(Camera.takeImage) + self.muteButton.toggled.connect(Camera.setMuted) + self.exposureCompensation.valueChanged.connect(Camera.setExposureCompensation) + self.actionSettings.triggered.connect(Camera.configureCaptureSettings) + self.actionStartCamera.triggered.connect(Camera.startCamera) + self.actionStopCamera.triggered.connect(Camera.stopCamera) + + self.captureWidget.setCurrentIndex(0) + self.stackedWidget.setCurrentIndex(0) + + + QMetaObject.connectSlotsByName(Camera) + # setupUi + + def retranslateUi(self, Camera): + Camera.setWindowTitle(QCoreApplication.translate("Camera", u"Camera", None)) + self.actionExit.setText(QCoreApplication.translate("Camera", u"Quit", None)) +#if QT_CONFIG(shortcut) + self.actionExit.setShortcut(QCoreApplication.translate("Camera", u"Ctrl+Q", None)) +#endif // QT_CONFIG(shortcut) + self.actionStartCamera.setText(QCoreApplication.translate("Camera", u"Start Camera", None)) + self.actionStopCamera.setText(QCoreApplication.translate("Camera", u"Stop Camera", None)) + self.actionSettings.setText(QCoreApplication.translate("Camera", u"Change Settings", None)) + self.actionAbout_Qt.setText(QCoreApplication.translate("Camera", u"About Qt", None)) + self.takeImageButton.setText(QCoreApplication.translate("Camera", u"Capture Photo", None)) + self.label.setText(QCoreApplication.translate("Camera", u"Exposure Compensation:", None)) + self.captureWidget.setTabText(self.captureWidget.indexOf(self.tab_2), QCoreApplication.translate("Camera", u"Image", None)) + self.recordButton.setText(QCoreApplication.translate("Camera", u"Record", None)) + self.pauseButton.setText(QCoreApplication.translate("Camera", u"Pause", None)) + self.stopButton.setText(QCoreApplication.translate("Camera", u"Stop", None)) + self.muteButton.setText(QCoreApplication.translate("Camera", u"Mute", None)) + self.metaDataButton.setText(QCoreApplication.translate("Camera", u"Set metadata", None)) + self.captureWidget.setTabText(self.captureWidget.indexOf(self.tab), QCoreApplication.translate("Camera", u"Video", None)) + self.lastImagePreviewLabel.setText("") + self.menuFile.setTitle(QCoreApplication.translate("Camera", u"File", None)) + self.menuDevices.setTitle(QCoreApplication.translate("Camera", u"Devices", None)) + self.menuHelp.setTitle(QCoreApplication.translate("Camera", u"Help", None)) + # retranslateUi + diff --git a/examples/multimedia/camera/ui_imagesettings.py b/examples/multimedia/camera/ui_imagesettings.py new file mode 100644 index 0000000..aa7505f --- /dev/null +++ b/examples/multimedia/camera/ui_imagesettings.py @@ -0,0 +1,94 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'imagesettings.ui' +## +## Created by: Qt User Interface Compiler version 6.5.0 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QAbstractButton, QApplication, QComboBox, QDialog, + QDialogButtonBox, QGridLayout, QGroupBox, QLabel, + QSizePolicy, QSlider, QSpacerItem, QWidget) + +class Ui_ImageSettingsUi(object): + def setupUi(self, ImageSettingsUi): + if not ImageSettingsUi.objectName(): + ImageSettingsUi.setObjectName(u"ImageSettingsUi") + ImageSettingsUi.resize(332, 270) + self.gridLayout = QGridLayout(ImageSettingsUi) + self.gridLayout.setObjectName(u"gridLayout") + self.groupBox_2 = QGroupBox(ImageSettingsUi) + self.groupBox_2.setObjectName(u"groupBox_2") + self.gridLayout_2 = QGridLayout(self.groupBox_2) + self.gridLayout_2.setObjectName(u"gridLayout_2") + self.label_8 = QLabel(self.groupBox_2) + self.label_8.setObjectName(u"label_8") + + self.gridLayout_2.addWidget(self.label_8, 0, 0, 1, 2) + + self.imageResolutionBox = QComboBox(self.groupBox_2) + self.imageResolutionBox.setObjectName(u"imageResolutionBox") + + self.gridLayout_2.addWidget(self.imageResolutionBox, 1, 0, 1, 2) + + self.label_6 = QLabel(self.groupBox_2) + self.label_6.setObjectName(u"label_6") + + self.gridLayout_2.addWidget(self.label_6, 2, 0, 1, 2) + + self.imageCodecBox = QComboBox(self.groupBox_2) + self.imageCodecBox.setObjectName(u"imageCodecBox") + + self.gridLayout_2.addWidget(self.imageCodecBox, 3, 0, 1, 2) + + self.label_7 = QLabel(self.groupBox_2) + self.label_7.setObjectName(u"label_7") + + self.gridLayout_2.addWidget(self.label_7, 4, 0, 1, 1) + + self.imageQualitySlider = QSlider(self.groupBox_2) + self.imageQualitySlider.setObjectName(u"imageQualitySlider") + self.imageQualitySlider.setMaximum(4) + self.imageQualitySlider.setOrientation(Qt.Horizontal) + + self.gridLayout_2.addWidget(self.imageQualitySlider, 4, 1, 1, 1) + + + self.gridLayout.addWidget(self.groupBox_2, 0, 0, 1, 1) + + self.verticalSpacer = QSpacerItem(20, 14, QSizePolicy.Minimum, QSizePolicy.Expanding) + + self.gridLayout.addItem(self.verticalSpacer, 1, 0, 1, 1) + + self.buttonBox = QDialogButtonBox(ImageSettingsUi) + self.buttonBox.setObjectName(u"buttonBox") + self.buttonBox.setOrientation(Qt.Horizontal) + self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel|QDialogButtonBox.Ok) + + self.gridLayout.addWidget(self.buttonBox, 2, 0, 1, 1) + + + self.retranslateUi(ImageSettingsUi) + self.buttonBox.accepted.connect(ImageSettingsUi.accept) + self.buttonBox.rejected.connect(ImageSettingsUi.reject) + + QMetaObject.connectSlotsByName(ImageSettingsUi) + # setupUi + + def retranslateUi(self, ImageSettingsUi): + ImageSettingsUi.setWindowTitle(QCoreApplication.translate("ImageSettingsUi", u"Image Settings", None)) + self.groupBox_2.setTitle(QCoreApplication.translate("ImageSettingsUi", u"Image", None)) + self.label_8.setText(QCoreApplication.translate("ImageSettingsUi", u"Resolution:", None)) + self.label_6.setText(QCoreApplication.translate("ImageSettingsUi", u"Image Format:", None)) + self.label_7.setText(QCoreApplication.translate("ImageSettingsUi", u"Quality:", None)) + # retranslateUi + diff --git a/examples/multimedia/camera/ui_videosettings.py b/examples/multimedia/camera/ui_videosettings.py new file mode 100644 index 0000000..c84c93d --- /dev/null +++ b/examples/multimedia/camera/ui_videosettings.py @@ -0,0 +1,178 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'videosettings.ui' +## +## Created by: Qt User Interface Compiler version 6.5.0 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QAbstractButton, QApplication, QComboBox, QDialog, + QDialogButtonBox, QGridLayout, QGroupBox, QHBoxLayout, + QLabel, QSizePolicy, QSlider, QSpacerItem, + QSpinBox, QVBoxLayout, QWidget) + +class Ui_VideoSettingsUi(object): + def setupUi(self, VideoSettingsUi): + if not VideoSettingsUi.objectName(): + VideoSettingsUi.setObjectName(u"VideoSettingsUi") + VideoSettingsUi.resize(686, 499) + self.gridLayout_3 = QGridLayout(VideoSettingsUi) + self.gridLayout_3.setObjectName(u"gridLayout_3") + self.buttonBox = QDialogButtonBox(VideoSettingsUi) + self.buttonBox.setObjectName(u"buttonBox") + self.buttonBox.setOrientation(Qt.Horizontal) + self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel|QDialogButtonBox.Ok) + + self.gridLayout_3.addWidget(self.buttonBox, 4, 1, 1, 1) + + self.groupBox_2 = QGroupBox(VideoSettingsUi) + self.groupBox_2.setObjectName(u"groupBox_2") + self.gridLayout_2 = QGridLayout(self.groupBox_2) + self.gridLayout_2.setObjectName(u"gridLayout_2") + self.label_8 = QLabel(self.groupBox_2) + self.label_8.setObjectName(u"label_8") + + self.gridLayout_2.addWidget(self.label_8, 0, 0, 1, 2) + + self.videoCodecBox = QComboBox(self.groupBox_2) + self.videoCodecBox.setObjectName(u"videoCodecBox") + + self.gridLayout_2.addWidget(self.videoCodecBox, 5, 0, 1, 2) + + self.label_9 = QLabel(self.groupBox_2) + self.label_9.setObjectName(u"label_9") + + self.gridLayout_2.addWidget(self.label_9, 2, 0, 1, 2) + + self.label_6 = QLabel(self.groupBox_2) + self.label_6.setObjectName(u"label_6") + + self.gridLayout_2.addWidget(self.label_6, 4, 0, 1, 2) + + self.videoFormatBox = QComboBox(self.groupBox_2) + self.videoFormatBox.setObjectName(u"videoFormatBox") + + self.gridLayout_2.addWidget(self.videoFormatBox, 1, 0, 1, 2) + + self.horizontalLayout = QHBoxLayout() + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.fpsSpinBox = QSpinBox(self.groupBox_2) + self.fpsSpinBox.setObjectName(u"fpsSpinBox") + + self.horizontalLayout.addWidget(self.fpsSpinBox) + + self.fpsSlider = QSlider(self.groupBox_2) + self.fpsSlider.setObjectName(u"fpsSlider") + self.fpsSlider.setOrientation(Qt.Horizontal) + + self.horizontalLayout.addWidget(self.fpsSlider) + + + self.gridLayout_2.addLayout(self.horizontalLayout, 3, 0, 1, 2) + + + self.gridLayout_3.addWidget(self.groupBox_2, 2, 1, 1, 1) + + self.widget = QWidget(VideoSettingsUi) + self.widget.setObjectName(u"widget") + sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.widget.sizePolicy().hasHeightForWidth()) + self.widget.setSizePolicy(sizePolicy) + self.verticalLayout_3 = QVBoxLayout(self.widget) + self.verticalLayout_3.setObjectName(u"verticalLayout_3") + self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) + self.groupBox_3 = QGroupBox(self.widget) + self.groupBox_3.setObjectName(u"groupBox_3") + self.verticalLayout_2 = QVBoxLayout(self.groupBox_3) + self.verticalLayout_2.setObjectName(u"verticalLayout_2") + self.label_2 = QLabel(self.groupBox_3) + self.label_2.setObjectName(u"label_2") + + self.verticalLayout_2.addWidget(self.label_2) + + self.audioCodecBox = QComboBox(self.groupBox_3) + self.audioCodecBox.setObjectName(u"audioCodecBox") + + self.verticalLayout_2.addWidget(self.audioCodecBox) + + self.label_5 = QLabel(self.groupBox_3) + self.label_5.setObjectName(u"label_5") + + self.verticalLayout_2.addWidget(self.label_5) + + self.audioSampleRateBox = QSpinBox(self.groupBox_3) + self.audioSampleRateBox.setObjectName(u"audioSampleRateBox") + + self.verticalLayout_2.addWidget(self.audioSampleRateBox) + + + self.verticalLayout_3.addWidget(self.groupBox_3) + + self.groupBox = QGroupBox(self.widget) + self.groupBox.setObjectName(u"groupBox") + self.verticalLayout = QVBoxLayout(self.groupBox) + self.verticalLayout.setObjectName(u"verticalLayout") + self.label_3 = QLabel(self.groupBox) + self.label_3.setObjectName(u"label_3") + + self.verticalLayout.addWidget(self.label_3) + + self.qualitySlider = QSlider(self.groupBox) + self.qualitySlider.setObjectName(u"qualitySlider") + self.qualitySlider.setMaximum(4) + self.qualitySlider.setOrientation(Qt.Horizontal) + + self.verticalLayout.addWidget(self.qualitySlider) + + self.label_4 = QLabel(self.groupBox) + self.label_4.setObjectName(u"label_4") + + self.verticalLayout.addWidget(self.label_4) + + self.containerFormatBox = QComboBox(self.groupBox) + self.containerFormatBox.setObjectName(u"containerFormatBox") + + self.verticalLayout.addWidget(self.containerFormatBox) + + + self.verticalLayout_3.addWidget(self.groupBox) + + + self.gridLayout_3.addWidget(self.widget, 2, 0, 1, 1) + + self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) + + self.gridLayout_3.addItem(self.verticalSpacer, 3, 0, 1, 1) + + + self.retranslateUi(VideoSettingsUi) + self.buttonBox.accepted.connect(VideoSettingsUi.accept) + self.buttonBox.rejected.connect(VideoSettingsUi.reject) + + QMetaObject.connectSlotsByName(VideoSettingsUi) + # setupUi + + def retranslateUi(self, VideoSettingsUi): + VideoSettingsUi.setWindowTitle(QCoreApplication.translate("VideoSettingsUi", u"Video Settings", None)) + self.groupBox_2.setTitle(QCoreApplication.translate("VideoSettingsUi", u"Video", None)) + self.label_8.setText(QCoreApplication.translate("VideoSettingsUi", u"Camera Format", None)) + self.label_9.setText(QCoreApplication.translate("VideoSettingsUi", u"Framerate:", None)) + self.label_6.setText(QCoreApplication.translate("VideoSettingsUi", u"Video Codec:", None)) + self.groupBox_3.setTitle(QCoreApplication.translate("VideoSettingsUi", u"Audio", None)) + self.label_2.setText(QCoreApplication.translate("VideoSettingsUi", u"Audio Codec:", None)) + self.label_5.setText(QCoreApplication.translate("VideoSettingsUi", u"Sample Rate:", None)) + self.label_3.setText(QCoreApplication.translate("VideoSettingsUi", u"Quality:", None)) + self.label_4.setText(QCoreApplication.translate("VideoSettingsUi", u"File Format:", None)) + # retranslateUi + diff --git a/examples/multimedia/camera/videosettings.py b/examples/multimedia/camera/videosettings.py new file mode 100644 index 0000000..5aab973 --- /dev/null +++ b/examples/multimedia/camera/videosettings.py @@ -0,0 +1,161 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtMultimedia import (QCameraFormat, QMediaFormat, QMediaRecorder, + QVideoFrameFormat) +from PySide6.QtWidgets import QDialog + +from ui_videosettings import Ui_VideoSettingsUi + + +def box_value(box): + idx = box.currentIndex() + return None if idx == -1 else box.itemData(idx) + + +def select_combo_box_item(box, value): + idx = box.findData(value) + if idx != -1: + box.setCurrentIndex(idx) + + +def to_formatted_string(cameraFormat): + pf = cameraFormat.pixelFormat() + format_name = QVideoFrameFormat.pixelFormatToString(pf) + w = cameraFormat.resolution().width() + h = cameraFormat.resolution().height() + min_rate = int(cameraFormat.minFrameRate()) + max_rate = int(cameraFormat.maxFrameRate()) + return f"{format_name} {w}x{h} {min_rate}-{max_rate}FPS" + + +class VideoSettings(QDialog): + + def __init__(self, mediaRecorder, parent=None): + super().__init__(parent) + + self._media_recorder = mediaRecorder + + self.m_updatingFormats = False + + self._ui = Ui_VideoSettingsUi() + self._ui.setupUi(self) + + # sample rate: + audio_device = self._media_recorder.captureSession().audioInput().device() + self._ui.audioSampleRateBox.setRange(audio_device.minimumSampleRate(), + audio_device.maximumSampleRate()) + + # camera format + self._ui.videoFormatBox.addItem("Default camera format", + QCameraFormat()) + + camera = self._media_recorder.captureSession().camera() + video_formats = camera.cameraDevice().videoFormats() + + for format in video_formats: + self._ui.videoFormatBox.addItem(to_formatted_string(format), format) + + self._ui.videoFormatBox.currentIndexChanged.connect(self.video_format_changed) + self.set_fps_range(camera.cameraFormat()) + + self._ui.fpsSlider.valueChanged.connect(self._ui.fpsSpinBox.setValue) + self._ui.fpsSpinBox.valueChanged.connect(self._ui.fpsSlider.setValue) + + self.update_formats_and_codecs() + self._ui.audioCodecBox.currentIndexChanged.connect(self.update_formats_and_codecs) + self._ui.videoCodecBox.currentIndexChanged.connect(self.update_formats_and_codecs) + self._ui.containerFormatBox.currentIndexChanged.connect(self.update_formats_and_codecs) + + self._ui.qualitySlider.setRange(0, QMediaRecorder.VeryHighQuality.value) + + format = self._media_recorder.mediaFormat() + select_combo_box_item(self._ui.containerFormatBox, format.fileFormat()) + select_combo_box_item(self._ui.audioCodecBox, format.audioCodec()) + select_combo_box_item(self._ui.videoCodecBox, format.videoCodec()) + + self._ui.qualitySlider.setValue(self._media_recorder.quality().value) + self._ui.audioSampleRateBox.setValue(self._media_recorder.audioSampleRate()) + select_combo_box_item(self._ui.videoFormatBox, camera.cameraFormat()) + + self._ui.fpsSlider.setValue(self._media_recorder.videoFrameRate()) + self._ui.fpsSpinBox.setValue(self._media_recorder.videoFrameRate()) + + def apply_settings(self): + format = QMediaFormat() + format.setFileFormat(box_value(self._ui.containerFormatBox)) + format.setAudioCodec(box_value(self._ui.audioCodecBox)) + format.setVideoCodec(box_value(self._ui.videoCodecBox)) + + self._media_recorder.setMediaFormat(format) + q = self._ui.qualitySlider.value() + self._media_recorder.setQuality(QMediaRecorder.Quality(q)) + self._media_recorder.setAudioSampleRate(self._ui.audioSampleRateBox.value()) + + camera_format = box_value(self._ui.videoFormatBox) + self._media_recorder.setVideoResolution(camera_format.resolution()) + self._media_recorder.setVideoFrameRate(self._ui.fpsSlider.value()) + + camera = self._media_recorder.captureSession().camera() + camera.setCameraFormat(camera_format) + + def update_formats_and_codecs(self): + if self.m_updatingFormats: + return + self.m_updatingFormats = True + + format = QMediaFormat() + if self._ui.containerFormatBox.count(): + format.setFileFormat(box_value(self._ui.containerFormatBox)) + if self._ui.audioCodecBox.count(): + format.setAudioCodec(box_value(self._ui.audioCodecBox)) + if self._ui.videoCodecBox.count(): + format.setVideoCodec(box_value(self._ui.videoCodecBox)) + + current_index = 0 + self._ui.audioCodecBox.clear() + self._ui.audioCodecBox.addItem("Default audio codec", + QMediaFormat.AudioCodec.Unspecified) + for codec in format.supportedAudioCodecs(QMediaFormat.Encode): + if codec == format.audioCodec(): + current_index = self._ui.audioCodecBox.count() + desc = QMediaFormat.audioCodecDescription(codec) + self._ui.audioCodecBox.addItem(desc, codec) + + self._ui.audioCodecBox.setCurrentIndex(current_index) + + current_index = 0 + self._ui.videoCodecBox.clear() + self._ui.videoCodecBox.addItem("Default video codec", + QMediaFormat.VideoCodec.Unspecified) + for codec in format.supportedVideoCodecs(QMediaFormat.Encode): + if codec == format.videoCodec(): + current_index = self._ui.videoCodecBox.count() + desc = QMediaFormat.videoCodecDescription(codec) + self._ui.videoCodecBox.addItem(desc, codec) + + self._ui.videoCodecBox.setCurrentIndex(current_index) + + current_index = 0 + self._ui.containerFormatBox.clear() + self._ui.containerFormatBox.addItem("Default file format", + QMediaFormat.UnspecifiedFormat) + for container in format.supportedFileFormats(QMediaFormat.Encode): + if container == format.fileFormat(): + current_index = self._ui.containerFormatBox.count() + desc = QMediaFormat.fileFormatDescription(container) + self._ui.containerFormatBox.addItem(desc, container) + + self._ui.containerFormatBox.setCurrentIndex(current_index) + + self.m_updatingFormats = False + + def video_format_changed(self): + camera_format = box_value(self._ui.videoFormatBox) + self.set_fps_range(camera_format) + + def set_fps_range(self, format): + min_fr = format.minFrameRate() + max_fr = format.maxFrameRate() + self._ui.fpsSlider.setRange(min_fr, max_fr) + self._ui.fpsSpinBox.setRange(min_fr, max_fr) diff --git a/examples/multimedia/camera/videosettings.ui b/examples/multimedia/camera/videosettings.ui new file mode 100644 index 0000000..3c1f71f --- /dev/null +++ b/examples/multimedia/camera/videosettings.ui @@ -0,0 +1,213 @@ + + + VideoSettingsUi + + + + 0 + 0 + 686 + 499 + + + + Video Settings + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + Video + + + + + + Camera Format + + + + + + + + + + Framerate: + + + + + + + Video Codec: + + + + + + + + + + + + + + + Qt::Horizontal + + + + + + + + + + + + + 0 + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Audio + + + + + + Audio Codec: + + + + + + + + + + Sample Rate: + + + + + + + + + + + + + + + + Quality: + + + + + + + 4 + + + Qt::Horizontal + + + + + + + File Format: + + + + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + buttonBox + accepted() + VideoSettingsUi + accept() + + + 322 + 272 + + + 44 + 230 + + + + + buttonBox + rejected() + VideoSettingsUi + reject() + + + 405 + 262 + + + 364 + 227 + + + + + diff --git a/examples/multimedia/player/doc/player.png b/examples/multimedia/player/doc/player.png new file mode 100644 index 0000000000000000000000000000000000000000..f751d4a82c8e743923ba247eac0f1b13457ca960 GIT binary patch literal 2804 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 literal 0 HcmV?d00001 diff --git a/examples/multimedia/player/doc/player.rst b/examples/multimedia/player/doc/player.rst new file mode 100644 index 0000000..fdf5fa9 --- /dev/null +++ b/examples/multimedia/player/doc/player.rst @@ -0,0 +1,9 @@ +Player Example +============== + +Media Player demonstrates a simple multimedia player that can play audio and or +video files using various codecs. + +.. image:: player.png + :width: 400 + :alt: Player Screenshot diff --git a/examples/multimedia/player/player.py b/examples/multimedia/player/player.py new file mode 100644 index 0000000..88be50c --- /dev/null +++ b/examples/multimedia/player/player.py @@ -0,0 +1,194 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 Multimedia player example""" + +import sys +from PySide6.QtCore import QStandardPaths, Qt, Slot +from PySide6.QtGui import QAction, QIcon, QKeySequence +from PySide6.QtWidgets import (QApplication, QDialog, QFileDialog, + QMainWindow, QSlider, QStyle, QToolBar) +from PySide6.QtMultimedia import (QAudioOutput, QMediaFormat, + QMediaPlayer) +from PySide6.QtMultimediaWidgets import QVideoWidget + + +AVI = "video/x-msvideo" # AVI + + +MP4 = 'video/mp4' + + +def get_supported_mime_types(): + result = [] + for f in QMediaFormat().supportedFileFormats(QMediaFormat.Decode): + mime_type = QMediaFormat(f).mimeType() + result.append(mime_type.name()) + return result + + +class MainWindow(QMainWindow): + + def __init__(self): + super().__init__() + + self._playlist = [] # FIXME 6.3: Replace by QMediaPlaylist? + self._playlist_index = -1 + self._audio_output = QAudioOutput() + self._player = QMediaPlayer() + self._player.setAudioOutput(self._audio_output) + + self._player.errorOccurred.connect(self._player_error) + + tool_bar = QToolBar() + self.addToolBar(tool_bar) + + file_menu = self.menuBar().addMenu("&File") + icon = QIcon.fromTheme("document-open") + open_action = QAction(icon, "&Open...", self, + shortcut=QKeySequence.Open, triggered=self.open) + file_menu.addAction(open_action) + tool_bar.addAction(open_action) + icon = QIcon.fromTheme("application-exit") + exit_action = QAction(icon, "E&xit", self, + shortcut="Ctrl+Q", triggered=self.close) + file_menu.addAction(exit_action) + + play_menu = self.menuBar().addMenu("&Play") + style = self.style() + icon = QIcon.fromTheme("media-playback-start.png", + style.standardIcon(QStyle.SP_MediaPlay)) + self._play_action = tool_bar.addAction(icon, "Play") + self._play_action.triggered.connect(self._player.play) + play_menu.addAction(self._play_action) + + icon = QIcon.fromTheme("media-skip-backward-symbolic.svg", + style.standardIcon(QStyle.SP_MediaSkipBackward)) + self._previous_action = tool_bar.addAction(icon, "Previous") + self._previous_action.triggered.connect(self.previous_clicked) + play_menu.addAction(self._previous_action) + + icon = QIcon.fromTheme("media-playback-pause.png", + style.standardIcon(QStyle.SP_MediaPause)) + self._pause_action = tool_bar.addAction(icon, "Pause") + self._pause_action.triggered.connect(self._player.pause) + play_menu.addAction(self._pause_action) + + icon = QIcon.fromTheme("media-skip-forward-symbolic.svg", + style.standardIcon(QStyle.SP_MediaSkipForward)) + self._next_action = tool_bar.addAction(icon, "Next") + self._next_action.triggered.connect(self.next_clicked) + play_menu.addAction(self._next_action) + + icon = QIcon.fromTheme("media-playback-stop.png", + style.standardIcon(QStyle.SP_MediaStop)) + self._stop_action = tool_bar.addAction(icon, "Stop") + self._stop_action.triggered.connect(self._ensure_stopped) + play_menu.addAction(self._stop_action) + + self._volume_slider = QSlider() + self._volume_slider.setOrientation(Qt.Horizontal) + self._volume_slider.setMinimum(0) + self._volume_slider.setMaximum(100) + available_width = self.screen().availableGeometry().width() + self._volume_slider.setFixedWidth(available_width / 10) + self._volume_slider.setValue(self._audio_output.volume()) + self._volume_slider.setTickInterval(10) + self._volume_slider.setTickPosition(QSlider.TicksBelow) + self._volume_slider.setToolTip("Volume") + self._volume_slider.valueChanged.connect(self._audio_output.setVolume) + tool_bar.addWidget(self._volume_slider) + + about_menu = self.menuBar().addMenu("&About") + about_qt_act = QAction("About &Qt", self, triggered=qApp.aboutQt) + about_menu.addAction(about_qt_act) + + self._video_widget = QVideoWidget() + self.setCentralWidget(self._video_widget) + self._player.playbackStateChanged.connect(self.update_buttons) + self._player.setVideoOutput(self._video_widget) + + self.update_buttons(self._player.playbackState()) + self._mime_types = [] + + def closeEvent(self, event): + self._ensure_stopped() + event.accept() + + @Slot() + def open(self): + self._ensure_stopped() + file_dialog = QFileDialog(self) + + is_windows = sys.platform == 'win32' + if not self._mime_types: + self._mime_types = get_supported_mime_types() + if (is_windows and AVI not in self._mime_types): + self._mime_types.append(AVI) + elif MP4 not in self._mime_types: + self._mime_types.append(MP4) + + file_dialog.setMimeTypeFilters(self._mime_types) + + default_mimetype = AVI if is_windows else MP4 + if default_mimetype in self._mime_types: + file_dialog.selectMimeTypeFilter(default_mimetype) + + movies_location = QStandardPaths.writableLocation(QStandardPaths.MoviesLocation) + file_dialog.setDirectory(movies_location) + if file_dialog.exec() == QDialog.Accepted: + url = file_dialog.selectedUrls()[0] + self._playlist.append(url) + self._playlist_index = len(self._playlist) - 1 + self._player.setSource(url) + self._player.play() + + @Slot() + def _ensure_stopped(self): + if self._player.playbackState() != QMediaPlayer.StoppedState: + self._player.stop() + + @Slot() + def previous_clicked(self): + # Go to previous track if we are within the first 5 seconds of playback + # Otherwise, seek to the beginning. + if self._player.position() <= 5000 and self._playlist_index > 0: + self._playlist_index -= 1 + self._playlist.previous() + self._player.setSource(self._playlist[self._playlist_index]) + else: + self._player.setPosition(0) + + @Slot() + def next_clicked(self): + if self._playlist_index < len(self._playlist) - 1: + self._playlist_index += 1 + self._player.setSource(self._playlist[self._playlist_index]) + + @Slot("QMediaPlayer::PlaybackState") + def update_buttons(self, state): + media_count = len(self._playlist) + self._play_action.setEnabled(media_count > 0 + and state != QMediaPlayer.PlayingState) + self._pause_action.setEnabled(state == QMediaPlayer.PlayingState) + self._stop_action.setEnabled(state != QMediaPlayer.StoppedState) + self._previous_action.setEnabled(self._player.position() > 0) + self._next_action.setEnabled(media_count > 1) + + def show_status_message(self, message): + self.statusBar().showMessage(message, 5000) + + @Slot("QMediaPlayer::Error", str) + def _player_error(self, error, error_string): + print(error_string, file=sys.stderr) + self.show_status_message(error_string) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + main_win = MainWindow() + available_geometry = main_win.screen().availableGeometry() + main_win.resize(available_geometry.width() / 3, + available_geometry.height() / 2) + main_win.show() + sys.exit(app.exec()) diff --git a/examples/multimedia/player/player.pyproject b/examples/multimedia/player/player.pyproject new file mode 100644 index 0000000..2e16f45 --- /dev/null +++ b/examples/multimedia/player/player.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["player.py"] +} diff --git a/examples/multimedia/screencapture/doc/screencapture.rst b/examples/multimedia/screencapture/doc/screencapture.rst new file mode 100644 index 0000000..69b1ec1 --- /dev/null +++ b/examples/multimedia/screencapture/doc/screencapture.rst @@ -0,0 +1,35 @@ +Screen Capture Example +====================== + +The Screen Capture Example demonstrates how to capture a screen or window using +QScreenCapture. It shows a list of screens and and displays a live preview of +the selected item using a ``QMediaCaptureSession`` and a ``QVideoWidget``. +There is a button to start and stop the capturing. + +Application Structure ++++++++++++++++++++++ + +The example consists of two custom classes. The UI and all screen capture +functionality is implemented in the class ``ScreenCapturePreview``. The classes +``ScreenListModel`` serves as model behind the ``QListView``. The main function +creates a ``ScreenCapturePreview`` object, which in turn creates an instance of +``QScreenCapture``, ``QMediaCaptureSession`` and ``QVideoWidget`` in addition +to all the UI widgets. + +The list model is populated with the return values of ``QGuiApplication.screens()``. + +When a list item is selected it is connected to the ``QScreenCapture`` object +with ``QScreenCapture.setScreen()``. The ``QScreenCapture`` object is connected +to the ``QMediaCaptureSession`` object with +``QMediaCaptureSession.setScreenCapture()``, which in turn is connected to the +``QVideoWidget`` object with ``QMediaCaptureSession.setVideoOutput()`` Thus the +screen capture output is previewed in the video widget on the right hand side +of the UI. + +The start/stop button calls ``QScreenCapture.start()`` and ``QScreenCapture.stop()``. + +A ``QMessageBox`` pops up if the ``QScreenCapture.errorOccurred()`` signal is emitted. + +.. image:: screencapture.webp + :width: 600 + :alt: screen capture example diff --git a/examples/multimedia/screencapture/doc/screencapture.webp b/examples/multimedia/screencapture/doc/screencapture.webp new file mode 100644 index 0000000000000000000000000000000000000000..2723b1d53fba68d558129eea86bf02eac1fd40a5 GIT binary patch literal 20604 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༠w|8RDv>DI*Z+fc&k< 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 G@ZSJ*X?zR- literal 0 HcmV?d00001 diff --git a/examples/network/downloader/doc/downloader.rst b/examples/network/downloader/doc/downloader.rst new file mode 100644 index 0000000..1ae7a33 --- /dev/null +++ b/examples/network/downloader/doc/downloader.rst @@ -0,0 +1,9 @@ +Downloader Example +================== + +A Python application that demonstrates how to create a simple downloader +application based on Qt Widgets. + +.. image:: downloader.png + :width: 400 + :alt: Downloader Screenshot diff --git a/examples/network/downloader/downloader.py b/examples/network/downloader/downloader.py new file mode 100644 index 0000000..f989adf --- /dev/null +++ b/examples/network/downloader/downloader.py @@ -0,0 +1,178 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtWidgets import ( + QWidget, + QApplication, + QMessageBox, + QLineEdit, + QProgressBar, + QPushButton, + QHBoxLayout, + QVBoxLayout, + QStyle, + QFileDialog, +) +from PySide6.QtCore import QStandardPaths, QUrl, QFile, QSaveFile, QDir, QIODevice, Slot +from PySide6.QtNetwork import QNetworkReply, QNetworkRequest, QNetworkAccessManager +import sys + + +class DownloaderWidget(QWidget): + """A widget to download a http file to a destination file""" + + def __init__(self, parent=None): + super().__init__(parent) + + self.manager = QNetworkAccessManager(self) + self.link_box = QLineEdit() + self.dest_box = QLineEdit() + self.progress_bar = QProgressBar() + + self.start_button = QPushButton("Start") + self.abort_button = QPushButton("Abort") + + self.link_box.setPlaceholderText("Download Link ...") + + self._open_folder_action = self.dest_box.addAction( + qApp.style().standardIcon(QStyle.SP_DirOpenIcon), QLineEdit.TrailingPosition + ) + self._open_folder_action.triggered.connect(self.on_open_folder) + + #  Current QFile + self.file = None + # Current QNetworkReply + self.reply = None + + #  Default http url + self.link_box.setText( + "http://master.qt.io/archive/qt/6.0/6.0.1/single/qt-everywhere-src-6.0.1.zip" + ) + + #  Default destination dir + self.dest_box.setText( + QDir.fromNativeSeparators( + QStandardPaths.writableLocation(QStandardPaths.DownloadLocation) + ) + ) + + # buttons bar layout + hlayout = QHBoxLayout() + hlayout.addStretch() + hlayout.addWidget(self.start_button) + hlayout.addWidget(self.abort_button) + + # main layout + vlayout = QVBoxLayout(self) + vlayout.addWidget(self.link_box) + vlayout.addWidget(self.dest_box) + vlayout.addWidget(self.progress_bar) + vlayout.addStretch() + vlayout.addLayout(hlayout) + + self.resize(300, 100) + + self.start_button.clicked.connect(self.on_start) + self.abort_button.clicked.connect(self.on_abort) + + @Slot() + def on_start(self): + """When user press start button""" + + #  http file + url_file = QUrl(self.link_box.text()) + + # destination file + dest_path = QDir.fromNativeSeparators(self.dest_box.text().strip()) + dest_file = QDir(dest_path).filePath(url_file.fileName()) + + # Ask a question if file already exists + if QFile.exists(dest_file): + ret = QMessageBox.question( + self, + "File exists", + "Do you want to override the file ?", + QMessageBox.Yes | QMessageBox.No, + ) + if ret == QMessageBox.No: + return + + QFile.remove(dest_file) + + self.start_button.setDisabled(True) + # Create the file in write mode to append bytes + self.file = QSaveFile(dest_file) + + if self.file.open(QIODevice.WriteOnly): + + # Start a GET HTTP request + self.reply = self.manager.get(QNetworkRequest(url_file)) + self.reply.downloadProgress.connect(self.on_progress) + self.reply.finished.connect(self.on_finished) + self.reply.readyRead.connect(self.on_ready_read) + self.reply.errorOccurred.connect(self.on_error) + else: + error = self.file.errorString() + print(f"Cannot open device: {error}") + + @Slot() + def on_abort(self): + """When user press abort button""" + if self.reply: + self.reply.abort() + self.progress_bar.setValue(0) + + if self.file: + self.file.cancelWriting() + + self.start_button.setDisabled(False) + + @Slot() + def on_ready_read(self): + """ Get available bytes and store them into the file""" + if self.reply: + if self.reply.error() == QNetworkReply.NoError: + self.file.write(self.reply.readAll()) + + @Slot() + def on_finished(self): + """ Delete reply and close the file""" + if self.reply: + self.reply.deleteLater() + + if self.file: + self.file.commit() + + self.start_button.setDisabled(False) + + @Slot(int, int) + def on_progress(self, bytesReceived: int, bytesTotal: int): + """ Update progress bar""" + self.progress_bar.setRange(0, bytesTotal) + self.progress_bar.setValue(bytesReceived) + + @Slot(QNetworkReply.NetworkError) + def on_error(self, code: QNetworkReply.NetworkError): + """ Show a message if an error happen """ + if self.reply: + QMessageBox.warning(self, "Error Occurred", self.reply.errorString()) + + @Slot() + def on_open_folder(self): + + dir_path = QFileDialog.getExistingDirectory( + self, "Open Directory", QDir.homePath(), QFileDialog.ShowDirsOnly + ) + + if dir_path: + dest_dir = QDir(dir_path) + self.dest_box.setText(QDir.fromNativeSeparators(dest_dir.path())) + + +if __name__ == "__main__": + + app = QApplication(sys.argv) + + w = DownloaderWidget() + w.show() + sys.exit(app.exec()) diff --git a/examples/network/downloader/downloader.pyproject b/examples/network/downloader/downloader.pyproject new file mode 100644 index 0000000..af1dbb3 --- /dev/null +++ b/examples/network/downloader/downloader.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["downloader.py"] +} diff --git a/examples/network/fortuneclient/fortuneclient.py b/examples/network/fortuneclient/fortuneclient.py new file mode 100644 index 0000000..b695c2e --- /dev/null +++ b/examples/network/fortuneclient/fortuneclient.py @@ -0,0 +1,125 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the network/fortuneclient example from Qt v5.x""" + +import sys + +from PySide6.QtCore import QDataStream, QTimer +from PySide6.QtGui import QIntValidator +from PySide6.QtNetwork import QAbstractSocket, QTcpSocket +from PySide6.QtWidgets import (QApplication, QDialog, QDialogButtonBox, QGridLayout, + QLabel, QLineEdit, QMessageBox, QPushButton) + + +class Client(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + + self._block_size = 0 + self._current_fortune = '' + + host_label = QLabel("&Server name:") + port_label = QLabel("S&erver port:") + + self._host_line_edit = QLineEdit('Localhost') + self._port_line_edit = QLineEdit() + self._port_line_edit.setValidator(QIntValidator(1, 65535, self)) + + host_label.setBuddy(self._host_line_edit) + port_label.setBuddy(self._port_line_edit) + + self._status_label = QLabel("This examples requires that you run " + "the Fortune Server example as well.") + + self._get_fortune_button = QPushButton("Get Fortune") + self._get_fortune_button.setDefault(True) + self._get_fortune_button.setEnabled(False) + + quit_button = QPushButton("Quit") + + button_box = QDialogButtonBox() + button_box.addButton(self._get_fortune_button, + QDialogButtonBox.ActionRole) + button_box.addButton(quit_button, QDialogButtonBox.RejectRole) + + self._tcp_socket = QTcpSocket(self) + + self._host_line_edit.textChanged.connect(self.enable_get_fortune_button) + self._port_line_edit.textChanged.connect(self.enable_get_fortune_button) + self._get_fortune_button.clicked.connect(self.request_new_fortune) + quit_button.clicked.connect(self.close) + self._tcp_socket.readyRead.connect(self.read_fortune) + self._tcp_socket.errorOccurred.connect(self.display_error) + + main_layout = QGridLayout(self) + main_layout.addWidget(host_label, 0, 0) + main_layout.addWidget(self._host_line_edit, 0, 1) + main_layout.addWidget(port_label, 1, 0) + main_layout.addWidget(self._port_line_edit, 1, 1) + main_layout.addWidget(self._status_label, 2, 0, 1, 2) + main_layout.addWidget(button_box, 3, 0, 1, 2) + + self.setWindowTitle("Fortune Client") + self._port_line_edit.setFocus() + + def request_new_fortune(self): + self._get_fortune_button.setEnabled(False) + self._block_size = 0 + self._tcp_socket.abort() + self._tcp_socket.connectToHost(self._host_line_edit.text(), + int(self._port_line_edit.text())) + + def read_fortune(self): + instr = QDataStream(self._tcp_socket) + instr.setVersion(QDataStream.Qt_4_0) + + if self._block_size == 0: + if self._tcp_socket.bytesAvailable() < 2: + return + + self._block_size = instr.readUInt16() + + if self._tcp_socket.bytesAvailable() < self._block_size: + return + + next_fortune = instr.readString() + + if next_fortune == self._current_fortune: + QTimer.singleShot(0, self.request_new_fortune) + return + + self._current_fortune = next_fortune + self._status_label.setText(self._current_fortune) + self._get_fortune_button.setEnabled(True) + + def display_error(self, socketError): + if socketError == QAbstractSocket.RemoteHostClosedError: + pass + elif socketError == QAbstractSocket.HostNotFoundError: + QMessageBox.information(self, "Fortune Client", + "The host was not found. Please check the host name and " + "port settings.") + elif socketError == QAbstractSocket.ConnectionRefusedError: + QMessageBox.information(self, "Fortune Client", + "The connection was refused by the peer. Make sure the " + "fortune server is running, and check that the host name " + "and port settings are correct.") + else: + reason = self._tcp_socket.errorString() + QMessageBox.information(self, "Fortune Client", + f"The following error occurred: {reason}.") + + self._get_fortune_button.setEnabled(True) + + def enable_get_fortune_button(self): + self._get_fortune_button.setEnabled(bool(self._host_line_edit.text() and + self._port_line_edit.text())) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + client = Client() + client.show() + sys.exit(client.exec()) diff --git a/examples/network/fortuneclient/fortuneclient.pyproject b/examples/network/fortuneclient/fortuneclient.pyproject new file mode 100644 index 0000000..fb68469 --- /dev/null +++ b/examples/network/fortuneclient/fortuneclient.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["fortuneclient.py"] +} diff --git a/examples/network/fortuneserver/fortuneserver.py b/examples/network/fortuneserver/fortuneserver.py new file mode 100644 index 0000000..d84c9dc --- /dev/null +++ b/examples/network/fortuneserver/fortuneserver.py @@ -0,0 +1,82 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the network/fortuneserver example from Qt v5.x""" + +import random +import sys + +from PySide6.QtCore import QByteArray, QDataStream, QIODevice, Qt +from PySide6.QtNetwork import QTcpServer +from PySide6.QtWidgets import (QApplication, QDialog, QHBoxLayout, + QLabel, QMessageBox, QPushButton, + QVBoxLayout) + + +class Server(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + + status_label = QLabel() + status_label.setTextInteractionFlags(Qt.TextBrowserInteraction) + quit_button = QPushButton("Quit") + quit_button.setAutoDefault(False) + + self._tcp_server = QTcpServer(self) + if not self._tcp_server.listen(): + reason = self._tcp_server.errorString() + QMessageBox.critical(self, "Fortune Server", + f"Unable to start the server: {reason}.") + self.close() + return + port = self._tcp_server.serverPort() + status_label.setText(f"The server is running on port {port}.\nRun the " + "Fortune Client example now.") + + self.fortunes = ( + "You've been leading a dog's life. Stay off the furniture.", + "You've got to think about tomorrow.", + "You will be surprised by a loud noise.", + "You will feel hungry again in another hour.", + "You might have mail.", + "You cannot kill time without injuring eternity.", + "Computers are not intelligent. They only think they are.") + + quit_button.clicked.connect(self.close) + self._tcp_server.newConnection.connect(self.send_fortune) + + button_layout = QHBoxLayout() + button_layout.addStretch(1) + button_layout.addWidget(quit_button) + button_layout.addStretch(1) + + main_layout = QVBoxLayout(self) + main_layout.addWidget(status_label) + main_layout.addLayout(button_layout) + + self.setWindowTitle("Fortune Server") + + def send_fortune(self): + block = QByteArray() + out = QDataStream(block, QIODevice.WriteOnly) + out.setVersion(QDataStream.Qt_4_0) + out.writeUInt16(0) + fortune = self.fortunes[random.randint(0, len(self.fortunes) - 1)] + + out.writeString(fortune) + out.device().seek(0) + out.writeUInt16(block.size() - 2) + + client_connection = self._tcp_server.nextPendingConnection() + client_connection.disconnected.connect(client_connection.deleteLater) + + client_connection.write(block) + client_connection.disconnectFromHost() + + +if __name__ == '__main__': + app = QApplication(sys.argv) + server = Server() + random.seed(None) + sys.exit(server.exec()) diff --git a/examples/network/fortuneserver/fortuneserver.pyproject b/examples/network/fortuneserver/fortuneserver.pyproject new file mode 100644 index 0000000..b97b415 --- /dev/null +++ b/examples/network/fortuneserver/fortuneserver.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["fortuneserver.py"] +} diff --git a/examples/network/googlesuggest/doc/googlesuggest.png b/examples/network/googlesuggest/doc/googlesuggest.png new file mode 100644 index 0000000000000000000000000000000000000000..cb2e91d4da74b0ba4e47e42d69a4d266ff4204eb GIT binary patch literal 2467 zcmZvec{tly7sr2^LCdIDtW`^m*osG+T1#xLwMdDM4kfm!ozjw25bX?|w6U~0ma1rr zXtkx51{KvQs`jze7GfGgV~bdmh~$mVAMZc!A9p$Te(yP-bD#U%dvO;%oTMa_B>(`B za&bQI1pp#D!oJ<%L&EyiX_*JYM&!DelRZ#9pu!LuKZM!2+W|mrjwCNgRA?W$=KRZb z007@OC?eFW>S*DZxyyMwZ*;)w4ECbjqG}gwZ-h~ft&~ZgcaqhQ(fJaIt7I<^LSh=m zw6%+Bdwx6<^9s>*gV^@qiHYv*gu5qB@XhIWJ^|u~y2D2bU3Bt_lBOauG*ktr&Oi7N zk6KYZUnN3e*6&TP)ni(w!4_l;k9<{UdTn#19&-$hvB*V7_wO#$t`^smVCh*g)D|*5 zxSbfA56AaS86ZuDWAmMmn@HpS0j0U-A;-BAz- zBp2gqCThjJA2$ghOqB{+yBKzuQ|1;H-EdJL-N23!D=F3(ZTPIvPqt786!U7kY#z=^2sogL5Nx2Wg|KV#9}l&uYd^dZ1DzpPx5osXcx zat!-sYd3#QQv!hUH~Zt33iH_U`ta`Ioj`FLF#zx~mp5-kGo)efD)&f# zG5f)n-&9#w`{LKg$h$^DEeb@3Ina(5KdRZ~&$IpspF+Ib`S8}D)4iP} z@=Z>UF^;LXAXqA*sioc6@!#IN8gz3zHm0Dcn@e1L{3*EwSbQA5|T-@4&u44falfvFv@9#90txu&NZch z9q6}rM{vX0s`r^vlNy$L+t?Ckc3OUv&Rs&7y07SY_+{QlH;E4^DpfpYLY`_o`hbFF z#`J`>G9ihyL1R+~$B;{lR7&#tm7%W-r9LHT{Po(!?9u46zL%1#v%ub=8ji4Syj{}dP8RSgbS}IkOd&Zp=(obEddAgfc1O75sM0uBh_yXM z5s8;}bV@@#U0dbvs)7g0@}`d`U9ma&JFBYAJl-32$;NFYm75!ZPvWiIXLv<-&%eCu zFj}S8;DyokIL&PGLn4Q=8Kl?nkMW;x7?MJihn*%Yh!NaKK<^E_%9}m?=<(YUM;AQc0w3@ZE7Sr6I`QP7W9S9o~Z0uuST6T@=qPt zW8tUte}Z_r$p)Q?z8%^JrT1zCE?AH*NFc&-!ELi)D_XF+wWiCnDadGvN>yXSE~R^Y zfzISVPF*d!iopWVCpEedDo%KeN|-4N*ErlqbyA5H$8!XXX4`JbteSi=P;DVNr_0f) ztf6x*{#Q4KV5MyNE4=aoIrC4KaDQ;Cll`%68->2Vz?xyF27@pQ;ZUxM?`>=CxeWzI)rb(H0V8Yl=?Hk zLo;w;V6rrpP=@Tq!=Fjxj?3&Q%{>}ZRa~}I^B$~kUhNRQ3WZRef*-6(00}+A9e#BL zVh@5kS)(zBNowfu`GNA*ER0~YId!ieJCU;1=r_yj=U0m`t%4*8W%Eyl39Lv65 zD-0NJaV1kVD01N10OBv%phITYN9UGM23gR$-6*_lR=6+f%Ii3U?>>1R@qRcLePm87 z&j-l$Hr1w@eq%hh+A|4_1*?C1&rXioq>?_>{Zq7Ga%)3UNBIs*xvHyJ&A0BB* zbAN|Ks>lqSnIYXgvZ%2$0fm=3W3u&?W*>{?O7NFPjHk8vZL+cpq@Hwn#T9NNoG?VY$Cpn`ZnlFRvH1 zc6q5|m%N?iH{LnWNR4kx+~PGaefH!j*EI)qp9MmjD2;KOPK<)HECd44-rhbQrmJ#v zkUr9cs#RQ~VdVip$xBBKn#GAx-%7ZfU_h{9LQAwO9LkiA!>lF zud@}9-jFMN*(3fZ?3BeWj~P06W&(h%#KWzN(YJN174Ervcx*Lor8v>-K=(1MsXx|rtaZVg$K*J#enl`51M)8ym;4`H8e50P0#UryDe12Nmj|W+O zLcT`CGH@CX&t`l7ZfIQvtcjxh@1)%MV$1>C7mA(l- PR)C9x$N6gez}x=?0n5GX literal 0 HcmV?d00001 diff --git a/examples/network/googlesuggest/doc/googlesuggest.rst b/examples/network/googlesuggest/doc/googlesuggest.rst new file mode 100644 index 0000000..ada2243 --- /dev/null +++ b/examples/network/googlesuggest/doc/googlesuggest.rst @@ -0,0 +1,11 @@ +Google Suggest Example +====================== + +Obtains the list of search recommendations by the Google search engine. + +The example uses the QNetworkAccessManager to obtain the list of search +recommendations by Google as the user types into a QLineEdit. + +.. image:: googlesuggest.png + :width: 502 + :alt: google suggest program screenshot diff --git a/examples/network/googlesuggest/googlesuggest.py b/examples/network/googlesuggest/googlesuggest.py new file mode 100644 index 0000000..3cb9f75 --- /dev/null +++ b/examples/network/googlesuggest/googlesuggest.py @@ -0,0 +1,137 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from typing import List + +from PySide6.QtCore import (QByteArray, QEvent, QObject, QPoint, Qt, QTimer, + QXmlStreamReader, Slot) +from PySide6.QtGui import QPalette +from PySide6.QtNetwork import (QNetworkAccessManager, QNetworkReply, + QNetworkRequest) +from PySide6.QtWidgets import QFrame, QTreeWidget, QTreeWidgetItem + + +class GSuggestCompletion(QObject): + def __init__(self, parent=None): + super().__init__(parent) + self.editor = parent + self.popup = QTreeWidget() + self.popup.setWindowFlags(Qt.Popup) + self.popup.setFocusPolicy(Qt.NoFocus) + self.popup.setFocusProxy(parent) + self.popup.setMouseTracking(True) + + self.popup.setColumnCount(1) + self.popup.setUniformRowHeights(True) + self.popup.setRootIsDecorated(False) + self.popup.setEditTriggers(QTreeWidget.NoEditTriggers) + self.popup.setSelectionBehavior(QTreeWidget.SelectRows) + self.popup.setFrameStyle(QFrame.Box | QFrame.Plain) + self.popup.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + self.popup.header().hide() + + self.popup.installEventFilter(self) + + self.popup.itemClicked.connect(self.done_completion) + + self.timer = QTimer() + self.timer.setSingleShot(True) + self.timer.setInterval(500) + self.timer.timeout.connect(self.auto_suggest) + self.editor.textEdited.connect(self.timer.start) + + self.network_manager = QNetworkAccessManager() + self.network_manager.finished.connect(self.handle_network_data) + + def eventFilter(self, obj: QObject, ev: QEvent): + if obj is not self.popup: + return False + if ev.type() == QEvent.MouseButtonPress: + self.popup.hide() + self.editor.setFocus() + return True + + if ev.type() == QEvent.KeyPress: + consumed = False + key = ev.key() + if key in (Qt.Key_Enter, Qt.Key_Return): + self.done_completion() + consumed = True + elif key == Qt.Key_Escape: + self.editor.setFocus() + self.popup.hide() + consumed = True + elif key in ( + Qt.Key_Up, + Qt.Key_Down, + Qt.Key_Home, + Qt.Key_End, + Qt.Key_PageUp, + Qt.Key_PageDown, + ): + pass + else: + self.editor.setFocus() + self.editor.event(ev) + self.popup.hide() + return consumed + return False + + def show_completion(self, choices: List[str]): + if not choices: + return + pal = self.editor.palette() + color = pal.color(QPalette.Disabled, QPalette.WindowText) + + self.popup.setUpdatesEnabled(False) + self.popup.clear() + + for choice in choices: + item = QTreeWidgetItem(self.popup) + item.setText(0, choice) + item.setForeground(0, color) + + self.popup.setCurrentItem(self.popup.topLevelItem(0)) + self.popup.resizeColumnToContents(0) + self.popup.setUpdatesEnabled(True) + + self.popup.move(self.editor.mapToGlobal(QPoint(0, self.editor.height()))) + self.popup.setFocus() + self.popup.show() + + @Slot() + def done_completion(self): + self.timer.stop() + self.popup.hide() + self.editor.setFocus() + item = self.popup.currentItem() + if item: + self.editor.setText(item.text(0)) + self.editor.returnPressed.emit() + + @Slot() + def auto_suggest(self): + s = self.editor.text() + url = f"https://google.com/complete/search?output=toolbar&q={s}" + self.network_manager.get(QNetworkRequest(url)) + + def prevent_suggest(self): + self.timer.stop() + + @Slot(QNetworkReply) + def handle_network_data(self, network_reply: QNetworkReply): + url = network_reply.url() + if network_reply.error() == QNetworkReply.NoError: + choices: List[str] = [] + + response: QByteArray = network_reply.readAll() + xml = QXmlStreamReader(response) + while not xml.atEnd(): + xml.readNext() + if xml.tokenType() == QXmlStreamReader.StartElement: + if xml.name() == "suggestion": + s = xml.attributes().value("data") + choices.append(s) + self.show_completion(choices) + + network_reply.deleteLater() diff --git a/examples/network/googlesuggest/googlesuggest.pyproject b/examples/network/googlesuggest/googlesuggest.pyproject new file mode 100644 index 0000000..a8cb576 --- /dev/null +++ b/examples/network/googlesuggest/googlesuggest.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "googlesuggest.py"] +} diff --git a/examples/network/googlesuggest/main.py b/examples/network/googlesuggest/main.py new file mode 100644 index 0000000..1efda08 --- /dev/null +++ b/examples/network/googlesuggest/main.py @@ -0,0 +1,14 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtWidgets import QApplication + +from searchbox import SearchBox + +if __name__ == "__main__": + app = QApplication(sys.argv) + search_edit = SearchBox() + search_edit.show() + sys.exit(app.exec()) diff --git a/examples/network/googlesuggest/searchbox.py b/examples/network/googlesuggest/searchbox.py new file mode 100644 index 0000000..9cbe20b --- /dev/null +++ b/examples/network/googlesuggest/searchbox.py @@ -0,0 +1,27 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Slot +from PySide6.QtGui import QDesktopServices +from PySide6.QtWidgets import QLineEdit + +from googlesuggest import GSuggestCompletion + + +class SearchBox(QLineEdit): + def __init__(self, parent=None): + super().__init__(parent) + self.completer = GSuggestCompletion(self) + + self.returnPressed.connect(self.do_search) + self.setWindowTitle("Search with Google") + + self.adjustSize() + self.resize(400, self.height()) + self.setFocus() + + @Slot() + def do_search(self): + self.completer.prevent_suggest() + url = f"https://www.google.com/search?q={self.text()}" + QDesktopServices.openUrl(url) diff --git a/examples/network/loopback/dialog.py b/examples/network/loopback/dialog.py new file mode 100644 index 0000000..673afce --- /dev/null +++ b/examples/network/loopback/dialog.py @@ -0,0 +1,151 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QByteArray, Qt +from PySide6.QtGui import QGuiApplication +from PySide6.QtNetwork import (QAbstractSocket, QHostAddress, QTcpServer, + QTcpSocket) +from PySide6.QtWidgets import (QDialog, QDialogButtonBox, QLabel, QMessageBox, + QProgressBar, QPushButton, QVBoxLayout) + + +class Dialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + + self.total_bytes = 50 * 1024 * 1024 # 50 MB + self.payload_size = 64 * 1024 # 64 KB + + self.bytes_to_write = 0 + self.bytes_written = 0 + self.bytes_received = 0 + + self.client_progress_bar = QProgressBar() + self.client_status_label = QLabel("Client ready") + self.server_progress_bar = QProgressBar() + self.server_status_label = QLabel("Server ready") + + self.start_button = QPushButton("&Start") + self.quit_button = QPushButton("&Quit") + + self.button_box = QDialogButtonBox() + self.button_box.addButton(self.start_button, QDialogButtonBox.ActionRole) + self.button_box.addButton(self.quit_button, QDialogButtonBox.RejectRole) + + self.start_button.clicked.connect(self.start) + self.quit_button.clicked.connect(self.close) + + self.tcp_server = QTcpServer() + self.tcp_client = QTcpSocket() + self.tcp_server.newConnection.connect(self.accept_connection) + self.tcp_client.connected.connect(self.start_transfer) + self.tcp_client.bytesWritten.connect(self.update_client_progress) + self.tcp_client.errorOccurred.connect(self.display_error) + + main_layout = QVBoxLayout() + main_layout.addWidget(self.client_progress_bar) + main_layout.addWidget(self.client_status_label) + main_layout.addWidget(self.server_progress_bar) + main_layout.addWidget(self.server_status_label) + main_layout.addStretch(1) + main_layout.addSpacing(10) + main_layout.addWidget(self.button_box) + self.setLayout(main_layout) + + self.setWindowTitle("Loopback") + + def start(self): + + self.start_button.setEnabled(False) + + QGuiApplication.setOverrideCursor(Qt.WaitCursor) + + self.bytes_written = 0 + self.bytes_received = 0 + + while not self.tcp_server.isListening() and not self.tcp_server.listen(): + ret: QMessageBox.StandardButton = QMessageBox.critical( + self, + "Loopback", + f"Unable to start the test {self.tcp_server.errorString()}", + QMessageBox.Retry | QMessageBox.Cancel, + ) + if ret == QMessageBox.Cancel: + return + + self.server_status_label.setText("Listening") + self.client_status_label.setText("Connecting") + self.tcp_client.connectToHost(QHostAddress.LocalHost, self.tcp_server.serverPort()) + + def accept_connection(self): + + self.tcp_server_connection = self.tcp_server.nextPendingConnection() + if not self.tcp_server_connection: + self.server_status_label.setText("Error: got invalid pending connection") + return + + self.tcp_server_connection.readyRead.connect(self.update_server_progress) + self.tcp_server_connection.errorOccurred.connect(self.display_error) + self.tcp_server_connection.disconnected.connect(self.tcp_server_connection.deleteLater) + + self.server_status_label.setText("Accepted connection") + self.tcp_server.close() + + def start_transfer(self): + + # Called when the TCP client has connected to the loopback server + self.bytes_to_write = self.total_bytes - self.tcp_client.write( + QByteArray(self.payload_size, "@") + ) + self.client_status_label.setText("Connected") + + def update_server_progress(self): + + self.bytes_received += self.tcp_server_connection.bytesAvailable() + self.tcp_server_connection.readAll() + + self.server_progress_bar.setMaximum(self.total_bytes) + self.server_progress_bar.setValue(self.bytes_received) + self.server_status_label.setText(f"Received {self.bytes_received / (1024 ** 2)} MB") + + if self.bytes_received == self.total_bytes: + + self.tcp_server_connection.close() + self.start_button.setEnabled(True) + + QGuiApplication.restoreOverrideCursor() + + def update_client_progress(self, num_bytes: int): + + # called when the TCP client has written some bytes + self.bytes_written += num_bytes + + # only write more if not finished and when the Qt write buffer is below a certain size + if self.bytes_to_write > 0 and self.tcp_client.bytesToWrite() <= 4 * self.payload_size: + self.bytes_to_write -= self.tcp_client.write( + QByteArray(min(self.bytes_to_write, self.payload_size), "@") + ) + + self.client_progress_bar.setMaximum(self.total_bytes) + self.client_progress_bar.setValue(self.bytes_written) + self.client_status_label.setText(f"Sent {self.bytes_written / (1024 ** 2)} MB") + + def display_error(self, socket_error: QAbstractSocket.SocketError): + if socket_error == QAbstractSocket.RemoteHostClosedError: + return + + QMessageBox.information( + self, + "Network error", + f"The following error occurred: {self.tcp_client.errorString()}", + ) + + self.tcp_client.close() + self.tcp_server.close() + self.client_progress_bar.reset() + self.server_progress_bar.reset() + self.client_status_label.setText("Client ready") + self.server_status_label.setText("Server ready") + self.start_button.setEnabled(True) + + QGuiApplication.restoreOverrideCursor() diff --git a/examples/network/loopback/doc/loopback.png b/examples/network/loopback/doc/loopback.png new file mode 100644 index 0000000000000000000000000000000000000000..2b1bd4a0f2ab65c8369c871e76ca298abf0c903b GIT binary patch literal 6195 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 literal 0 HcmV?d00001 diff --git a/examples/network/loopback/doc/loopback.rst b/examples/network/loopback/doc/loopback.rst new file mode 100644 index 0000000..0a40b57 --- /dev/null +++ b/examples/network/loopback/doc/loopback.rst @@ -0,0 +1,10 @@ +Loopback Example +================ + +Demonstrates the client-server communication on a local host. + +The example demonstrates how the clients and servers on a local host communicate with each other. + +.. image:: loopback.png + :width: 208 + :alt: loopback program screenshot diff --git a/examples/network/loopback/loopback.pyproject b/examples/network/loopback/loopback.pyproject new file mode 100644 index 0000000..957714c --- /dev/null +++ b/examples/network/loopback/loopback.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "dialog.py"] +} diff --git a/examples/network/loopback/main.py b/examples/network/loopback/main.py new file mode 100644 index 0000000..d684b6b --- /dev/null +++ b/examples/network/loopback/main.py @@ -0,0 +1,15 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtWidgets import QApplication + +from dialog import Dialog + +if __name__ == "__main__": + app = QApplication(sys.argv) + + dialog = Dialog() + dialog.show() + sys.exit(app.exec()) diff --git a/examples/network/threadedfortuneserver/threadedfortuneserver.py b/examples/network/threadedfortuneserver/threadedfortuneserver.py new file mode 100644 index 0000000..6090070 --- /dev/null +++ b/examples/network/threadedfortuneserver/threadedfortuneserver.py @@ -0,0 +1,116 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the network/threadedfortuneserver example from Qt v5.x, originating from PyQt""" + +import random + +from PySide6.QtCore import (Signal, QByteArray, QDataStream, QIODevice, + QThread, Qt) +from PySide6.QtWidgets import (QApplication, QDialog, QHBoxLayout, QLabel, + QMessageBox, QPushButton, QVBoxLayout) +from PySide6.QtNetwork import (QHostAddress, QNetworkInterface, QTcpServer, + QTcpSocket) + + +class FortuneThread(QThread): + error = Signal(QTcpSocket.SocketError) + + def __init__(self, socketDescriptor, fortune, parent): + super().__init__(parent) + + self._socket_descriptor = socketDescriptor + self.text = fortune + + def run(self): + tcp_socket = QTcpSocket() + if not tcp_socket.setSocketDescriptor(self._socket_descriptor): + self.error.emit(tcp_socket.error()) + return + + block = QByteArray() + outstr = QDataStream(block, QIODevice.WriteOnly) + outstr.setVersion(QDataStream.Qt_4_0) + outstr.writeUInt16(0) + outstr.writeQString(self.text) + outstr.device().seek(0) + outstr.writeUInt16(block.size() - 2) + + tcp_socket.write(block) + tcp_socket.disconnectFromHost() + tcp_socket.waitForDisconnected() + + +class FortuneServer(QTcpServer): + fortunes = ( + "You've been leading a dog's life. Stay off the furniture.", + "You've got to think about tomorrow.", + "You will be surprised by a loud noise.", + "You will feel hungry again in another hour.", + "You might have mail.", + "You cannot kill time without injuring eternity.", + "Computers are not intelligent. They only think they are.") + + def incomingConnection(self, socketDescriptor): + fortune = self.fortunes[random.randint(0, len(self.fortunes) - 1)] + + thread = FortuneThread(socketDescriptor, fortune, self) + thread.finished.connect(thread.deleteLater) + thread.start() + + +class Dialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + + self.server = FortuneServer() + + status_label = QLabel() + status_label.setTextInteractionFlags(Qt.TextBrowserInteraction) + status_label.setWordWrap(True) + quit_button = QPushButton("Quit") + quit_button.setAutoDefault(False) + + if not self.server.listen(): + reason = self.server.errorString() + QMessageBox.critical(self, "Threaded Fortune Server", + f"Unable to start the server: {reason}.") + self.close() + return + + for ip_address in QNetworkInterface.allAddresses(): + if ip_address != QHostAddress.LocalHost and ip_address.toIPv4Address() != 0: + break + else: + ip_address = QHostAddress(QHostAddress.LocalHost) + + ip_address = ip_address.toString() + port = self.server.serverPort() + + status_label.setText(f"The server is running on\n\nIP: {ip_address}\nport: {port}\n\n" + "Run the Fortune Client example now.") + + quit_button.clicked.connect(self.close) + + button_layout = QHBoxLayout() + button_layout.addStretch(1) + button_layout.addWidget(quit_button) + button_layout.addStretch(1) + + main_layout = QVBoxLayout() + main_layout.addWidget(status_label) + main_layout.addLayout(button_layout) + self.setLayout(main_layout) + + self.setWindowTitle("Threaded Fortune Server") + + +if __name__ == '__main__': + + import sys + + app = QApplication(sys.argv) + dialog = Dialog() + dialog.show() + sys.exit(dialog.exec()) diff --git a/examples/network/threadedfortuneserver/threadedfortuneserver.pyproject b/examples/network/threadedfortuneserver/threadedfortuneserver.pyproject new file mode 100644 index 0000000..c0d401d --- /dev/null +++ b/examples/network/threadedfortuneserver/threadedfortuneserver.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["threadedfortuneserver.py"] +} diff --git a/examples/networkauth/redditclient/doc/redditclient.png b/examples/networkauth/redditclient/doc/redditclient.png new file mode 100644 index 0000000000000000000000000000000000000000..013450a9e8d1db7bed5ef99d4dd39d855373d8ab GIT binary patch literal 40526 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 literal 0 HcmV?d00001 diff --git a/examples/networkauth/redditclient/doc/redditclient.rst b/examples/networkauth/redditclient/doc/redditclient.rst new file mode 100644 index 0000000..48b720a --- /dev/null +++ b/examples/networkauth/redditclient/doc/redditclient.rst @@ -0,0 +1,21 @@ +Reddit Example +============== + +Demonstrates authenticating with OAuth 2 to access Reddit. + +The Reddit example uses OAuth 2, as supported by Qt Network Authorization, +to sign in to Reddit and display the Reddit posts (in text format) associated +with the authenticated user. + +To use this example, a consumer key from Reddit is needed. +To register the application visit https://www.reddit.com/prefs/apps/. + +.. note:: + Choose installed app when creating the application. + +.. note:: + Set the redirect URI to http://127.0.0.1:1337/ in Reddit settings. + +.. image:: redditclient.png + :width: 400 + :alt: Reddit Example Screenshot diff --git a/examples/networkauth/redditclient/main.py b/examples/networkauth/redditclient/main.py new file mode 100644 index 0000000..e88e32c --- /dev/null +++ b/examples/networkauth/redditclient/main.py @@ -0,0 +1,28 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the networkauth redditclient example from Qt v6.x""" + +from argparse import ArgumentParser, RawTextHelpFormatter +import sys + +from PySide6.QtWidgets import QApplication, QListView + +from redditmodel import RedditModel + + +if __name__ == '__main__': + parser = ArgumentParser(description='Qt Reddit client example', + formatter_class=RawTextHelpFormatter) + parser.add_argument('--client', '-i', type=str, help='Client id') + options = parser.parse_args() + if not options.client: + print('Specify a client id', file=sys.stderr) + sys.exit(-1) + + app = QApplication(sys.argv) + view = QListView() + model = RedditModel(options.client) + view.setModel(model) + view.show() + sys.exit(app.exec()) diff --git a/examples/networkauth/redditclient/redditclient.pyproject b/examples/networkauth/redditclient/redditclient.pyproject new file mode 100644 index 0000000..6ac1969 --- /dev/null +++ b/examples/networkauth/redditclient/redditclient.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "redditmodel.py", "redditwrapper.py"] +} diff --git a/examples/networkauth/redditclient/redditmodel.py b/examples/networkauth/redditclient/redditmodel.py new file mode 100644 index 0000000..de81ceb --- /dev/null +++ b/examples/networkauth/redditclient/redditmodel.py @@ -0,0 +1,70 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import functools +from PySide6.QtCore import (QAbstractTableModel, QJsonDocument, QModelIndex, + Qt, Signal, Slot) +from PySide6.QtNetwork import QNetworkReply + +from redditwrapper import RedditWrapper + + +class RedditModel(QAbstractTableModel): + + error = Signal(str) + + def __init__(self, client_id): + super().__init__() + self._reddit_wrapper = RedditWrapper(client_id) + self._reddit_wrapper.authenticated.connect(self.update) + self._live_thread_reply = None + self._threads = [] + self.grant() + + def rowCount(self, parent): + return len(self._threads) + + def columnCount(self, parent): + return 1 if self._threads else 0 + + def data(self, index, role): + if not index.isValid(): + return None + if role == Qt.DisplayRole: + children_object = self._threads[index.row()] + data_object = children_object["data"] + return data_object["title"] + return None + + def grant(self): + self._reddit_wrapper.grant() + + @Slot(QNetworkReply) + def reply_finished(self, reply): + reply.deleteLater() + if reply.error() != QNetworkReply.NoError: + error = reply.errorString() + print(f"Reddit error: {error}") + self.error.emit(error) + return + json = reply.readAll() + document = QJsonDocument.fromJson(json) + root_object = document.object() + kind = root_object["kind"] + assert(kind == "Listing") + data_object = root_object["data"] + children_array = data_object["children"] + if not children_array: + return + + self.beginInsertRows(QModelIndex(), len(self._threads), + len(children_array) + len(self._threads) - 1) + for childValue in children_array: + self._threads.append(childValue) + self.endInsertRows() + + @Slot() + def update(self): + reply = self._reddit_wrapper.request_hot_threads() + reply.finished.connect(functools.partial(self.reply_finished, + reply=reply)) diff --git a/examples/networkauth/redditclient/redditwrapper.py b/examples/networkauth/redditclient/redditwrapper.py new file mode 100644 index 0000000..f889a93 --- /dev/null +++ b/examples/networkauth/redditclient/redditwrapper.py @@ -0,0 +1,91 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import functools + +from PySide6.QtCore import QJsonDocument, QObject, QUrl, Signal, Slot +from PySide6.QtGui import QDesktopServices +from PySide6.QtNetwork import QNetworkReply +from PySide6.QtNetworkAuth import (QAbstractOAuth, + QOAuth2AuthorizationCodeFlow, + QOAuthHttpServerReplyHandler) + + +AUTHORIZATION_URL = "https://www.reddit.com/api/v1/authorize" +ACCESSTOKEN_URL = "https://www.reddit.com/api/v1/access_token" + + +NEW_URL = "https://oauth.reddit.com/new" +HOT_URL = "https://oauth.reddit.com/hot" +LIVE_THREADS_URL = "https://oauth.reddit.com/live/XXXX/about.json" + +class RedditWrapper(QObject): + + authenticated = Signal() + subscribed = Signal(QUrl) + + def __init__(self, clientIdentifier, parent=None): + super().__init__(parent) + + self._oauth2 = QOAuth2AuthorizationCodeFlow() + self._oauth2.setClientIdentifier(clientIdentifier) + self._reply_handler = QOAuthHttpServerReplyHandler(1337, self) + self._oauth2.setReplyHandler(self._reply_handler) + self._oauth2.setAuthorizationUrl(QUrl(AUTHORIZATION_URL)) + self._oauth2.setAccessTokenUrl(QUrl(ACCESSTOKEN_URL)) + self._oauth2.setScope("identity read") + self._permanent = True + + # connect to slots + self._oauth2.statusChanged.connect(self.status_changed) + self._oauth2.authorizeWithBrowser.connect(QDesktopServices.openUrl) + + def modify_parameters_function(stage, parameters): + if stage == QAbstractOAuth.Stage.RequestingAuthorization and self.permanent: + parameters["duration"] = "permanent" + return parameters + + self._oauth2.setModifyParametersFunction(modify_parameters_function) + + @Slot() + def status_changed(self, status): + if status == QAbstractOAuth.Status.Granted: + self.authenticated.emit() + + def request_hot_threads(self): + print("Getting hot threads...") + return self._oauth2.get(QUrl(HOT_URL)) + + @property + def permanent(self): + return self._permanent + + @permanent.setter + def permanent(self, value: bool): + self._permanent = value + + def grant(self): + self._oauth2.grant() + + @Slot(QNetworkReply) + def reply_finished(self, reply): + print('RedditWrapper.reply_finished()', reply.error()) + reply.deleteLater() + if reply.error() != QNetworkReply.NoError: + error = reply.errorString() + print(f"Reddit error: {error}") + return + + json = reply.readAll() + document = QJsonDocument.fromJson(json) + assert(document.isObject()) + root_object = document.object() + data_object = root_object["data"] + websocketUrl = QUrl(data_object["websocket_url"]) + self.subscribed.emit(websocketUrl) + + def subscribe_to_live_updates(self): + print("Susbscribing...") + reply = self._oauth2.get(QUrl(LIVE_THREADS_URL)) + reply.finished.connect(functools.partial(self.reply_finished, + reply=reply)) diff --git a/examples/opengl/contextinfo/contextinfo.py b/examples/opengl/contextinfo/contextinfo.py new file mode 100644 index 0000000..37c5f5d --- /dev/null +++ b/examples/opengl/contextinfo/contextinfo.py @@ -0,0 +1,262 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the opengl/contextinfo example from Qt v5.x""" + +from argparse import ArgumentParser, RawTextHelpFormatter +import numpy +import sys +from textwrap import dedent + + +from PySide6.QtCore import (QCoreApplication, QLibraryInfo, QSize, QTimer, Qt, + Slot) +from PySide6.QtGui import (QMatrix4x4, QOpenGLContext, QSurfaceFormat, QWindow) +from PySide6.QtOpenGL import (QOpenGLBuffer, QOpenGLShader, + QOpenGLShaderProgram, QOpenGLVertexArrayObject) +from PySide6.QtWidgets import (QApplication, QHBoxLayout, QMessageBox, QPlainTextEdit, + QWidget) +from PySide6.support import VoidPtr +try: + from OpenGL import GL +except ImportError: + app = QApplication(sys.argv) + message_box = QMessageBox(QMessageBox.Critical, "ContextInfo", + "PyOpenGL must be installed to run this example.", + QMessageBox.Close) + message_box.setDetailedText("Run:\npip install PyOpenGL PyOpenGL_accelerate") + message_box.exec() + sys.exit(1) + +vertex_shader_source_110 = dedent(""" + // version 110 + attribute highp vec4 posAttr; + attribute lowp vec4 colAttr; + varying lowp vec4 col; + uniform highp mat4 matrix; + void main() { + col = colAttr; + gl_Position = matrix * posAttr; + } + """) + +fragment_shader_source_110 = dedent(""" + // version 110 + varying lowp vec4 col; + void main() { + gl_FragColor = col; + } + """) + +vertex_shader_source = dedent(""" + // version 150 + in vec4 posAttr; + in vec4 colAttr; + out vec4 col; + uniform mat4 matrix; + void main() { + col = colAttr; + gl_Position = matrix * posAttr; + } + """) + +fragment_shader_source = dedent(""" + // version 150 + in vec4 col; + out vec4 fragColor; + void main() { + fragColor = col; + } + """) + +vertices = numpy.array([0, 0.707, -0.5, -0.5, 0.5, -0.5], dtype=numpy.float32) +colors = numpy.array([1, 0, 0, 0, 1, 0, 0, 0, 1], dtype=numpy.float32) + + +def print_surface_format(surface_format): + profile_name = 'core' if surface_format.profile() == QSurfaceFormat.CoreProfile else 'compatibility' + major = surface_format.majorVersion() + minor = surface_format.minorVersion() + return f"{profile_name} version {major}.{minor}" + + +class RenderWindow(QWindow): + def __init__(self, fmt): + super().__init__() + self.setSurfaceType(QWindow.OpenGLSurface) + self.setFormat(fmt) + self.context = QOpenGLContext(self) + self.context.setFormat(self.requestedFormat()) + if not self.context.create(): + raise Exception("Unable to create GL context") + self.program = None + self.timer = None + self.angle = 0 + + def init_gl(self): + self.program = QOpenGLShaderProgram(self) + self.vao = QOpenGLVertexArrayObject() + self.vbo = QOpenGLBuffer() + + fmt = self.context.format() + use_new_style_shader = fmt.profile() == QSurfaceFormat.CoreProfile + # Try to handle 3.0 & 3.1 that do not have the core/compatibility profile + # concept 3.2+ has. This may still fail since version 150 (3.2) is + # specified in the sources but it's worth a try. + if (fmt.renderableType() == QSurfaceFormat.OpenGL and fmt.majorVersion() == 3 + and fmt.minorVersion() <= 1): + use_new_style_shader = not fmt.testOption(QSurfaceFormat.DeprecatedFunctions) + + vertex_shader = vertex_shader_source if use_new_style_shader else vertex_shader_source_110 + fragment_shader = fragment_shader_source if use_new_style_shader else fragment_shader_source_110 + if not self.program.addShaderFromSourceCode(QOpenGLShader.Vertex, vertex_shader): + log = self.program.log() + raise Exception("Vertex shader could not be added: {log} ({vertexShader})") + if not self.program.addShaderFromSourceCode(QOpenGLShader.Fragment, fragment_shader): + log = self.program.log() + raise Exception(f"Fragment shader could not be added: {log} ({fragment_shader})") + if not self.program.link(): + log = self.program.log() + raise Exception(f"Could not link shaders: {log}") + + self._pos_attr = self.program.attributeLocation("posAttr") + self._col_attr = self.program.attributeLocation("colAttr") + self._matrix_uniform = self.program.uniformLocation("matrix") + + self.vbo.create() + self.vbo.bind() + self._vertices_data = vertices.tobytes() + self._colors_data = colors.tobytes() + vertices_size = 4 * vertices.size + colors_size = 4 * colors.size + self.vbo.allocate(VoidPtr(self._vertices_data), vertices_size + colors_size) + self.vbo.write(vertices_size, VoidPtr(self._colors_data), colors_size) + self.vbo.release() + + with QOpenGLVertexArrayObject.Binder(self.vao): + if self.vao.isCreated(): # have VAO support, use it + self.setup_vertex_attribs() + + def setup_vertex_attribs(self): + self.vbo.bind() + self.program.setAttributeBuffer(self._pos_attr, GL.GL_FLOAT, 0, 2) + self.program.setAttributeBuffer(self._col_attr, GL.GL_FLOAT, 4 * vertices.size, 3) + self.program.enableAttributeArray(self._pos_attr) + self.program.enableAttributeArray(self._col_attr) + self.vbo.release() + + def exposeEvent(self, event): + if self.isExposed(): + self.render() + if self.timer is None: + self.timer = QTimer(self) + self.timer.timeout.connect(self.slot_timer) + if not self.timer.isActive(): + self.timer.start(10) + else: + if self.timer and self.timer.isActive(): + self.timer.stop() + + def render(self): + if not self.context.makeCurrent(self): + raise Exception("makeCurrent() failed") + functions = self.context.functions() + if self.program is None: + functions.glEnable(GL.GL_DEPTH_TEST) + functions.glClearColor(0, 0, 0, 1) + self.init_gl() + + retina_scale = self.devicePixelRatio() + functions.glViewport(0, 0, self.width() * retina_scale, + self.height() * retina_scale) + functions.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT) + + self.program.bind() + matrix = QMatrix4x4() + matrix.perspective(60, 4 / 3, 0.1, 100) + matrix.translate(0, 0, -2) + matrix.rotate(self.angle, 0, 1, 0) + self.program.setUniformValue(self._matrix_uniform, matrix) + + if self.vao.isCreated(): + self.vao.bind() + else: # no VAO support, set the vertex attribute arrays now + self.setup_vertex_attribs() + + functions.glDrawArrays(GL.GL_TRIANGLES, 0, 3) + + self.vao.release() + self.program.release() + + # swapInterval is 1 by default which means that swapBuffers() will (hopefully) block + # and wait for vsync. + self.context.swapBuffers(self) + self.context.doneCurrent() + + @Slot() + def slot_timer(self): + self.render() + self.angle += 1 + + def glInfo(self): + if not self.context.makeCurrent(self): + raise Exception("makeCurrent() failed") + functions = self.context.functions() + gl_vendor = functions.glGetString(GL.GL_VENDOR) + gl_renderer = functions.glGetString(GL.GL_RENDERER) + gl_version = functions.glGetString(GL.GL_VERSION) + gl_lang_version = functions.glGetString(GL.GL_SHADING_LANGUAGE_VERSION) + context_surface_format = print_surface_format(self.context.format()) + surface_format = print_surface_format(self.format()) + + text = (f"Vendor: {gl_vendor}\n" + f"Renderer: {gl_renderer}\n" + f"Version: {gl_version}\n" + f"Shading language: {gl_lang_version}\n" + f"Context Format: {context_surface_format}\n\n" + f"Surface Format: {surface_format}") + self.context.doneCurrent() + return text + + +class MainWindow(QWidget): + def __init__(self): + super().__init__() + h_box_layout = QHBoxLayout(self) + self._plain_text_edit = QPlainTextEdit() + self._plain_text_edit.setMinimumWidth(400) + self._plain_text_edit.setReadOnly(True) + h_box_layout.addWidget(self._plain_text_edit) + self._render_window = RenderWindow(QSurfaceFormat()) + container = QWidget.createWindowContainer(self._render_window) + container.setMinimumSize(QSize(400, 400)) + h_box_layout.addWidget(container) + + def update_description(self): + build = QLibraryInfo.build() + gl = self._render_window.glInfo() + text = f"{build}\n\nPython {sys.version}\n\n{gl}" + self._plain_text_edit.setPlainText(text) + + +if __name__ == '__main__': + parser = ArgumentParser(description="contextinfo", formatter_class=RawTextHelpFormatter) + parser.add_argument('--gles', '-g', action='store_true', + help='Use OpenGL ES') + parser.add_argument('--software', '-s', action='store_true', + help='Use Software OpenGL') + parser.add_argument('--desktop', '-d', action='store_true', + help='Use Desktop OpenGL') + options = parser.parse_args() + if options.gles: + QCoreApplication.setAttribute(Qt.AA_UseOpenGLES) + elif options.software: + QCoreApplication.setAttribute(Qt.AA_UseSoftwareOpenGL) + elif options.desktop: + QCoreApplication.setAttribute(Qt.AA_UseDesktopOpenGL) + + app = QApplication(sys.argv) + main_window = MainWindow() + main_window.show() + main_window.update_description() + sys.exit(app.exec()) diff --git a/examples/opengl/contextinfo/contextinfo.pyproject b/examples/opengl/contextinfo/contextinfo.pyproject new file mode 100644 index 0000000..0758180 --- /dev/null +++ b/examples/opengl/contextinfo/contextinfo.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["contextinfo.py"] +} diff --git a/examples/opengl/contextinfo/doc/contextinfo.png b/examples/opengl/contextinfo/doc/contextinfo.png new file mode 100644 index 0000000000000000000000000000000000000000..c7911f162d720c7ab1be0cb6cf9d5ef6d9a41063 GIT binary patch literal 35022 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

_dL$^(i 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 ge>~&slDrPk& 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 E7vni_bN~PV literal 0 HcmV?d00001 diff --git a/examples/opengl/hellogl2/doc/hellogl2.rst b/examples/opengl/hellogl2/doc/hellogl2.rst new file mode 100644 index 0000000..1223e13 --- /dev/null +++ b/examples/opengl/hellogl2/doc/hellogl2.rst @@ -0,0 +1,9 @@ +Hello GL2 Example +================= + +The Hello GL2 example demonstrates the basic use of the OpenGL-related classes +provided with Qt. + +.. image:: hellogl2.png + :width: 400 + :alt: Hello GL2 Screenshot diff --git a/examples/opengl/hellogl2/hellogl2.py b/examples/opengl/hellogl2/hellogl2.py new file mode 100644 index 0000000..ce871cd --- /dev/null +++ b/examples/opengl/hellogl2/hellogl2.py @@ -0,0 +1,439 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the opengl/hellogl2 example from Qt v5.x""" + +from argparse import ArgumentParser, RawTextHelpFormatter +import ctypes +import math +import sys +from PySide6.QtCore import Signal, Slot, Qt, QSize, QPointF +from PySide6.QtGui import (QVector3D, QOpenGLFunctions, + QMatrix4x4, QOpenGLContext, QSurfaceFormat, QVector3DList) +from PySide6.QtOpenGL import (QOpenGLVertexArrayObject, QOpenGLBuffer, + QOpenGLShaderProgram, QOpenGLShader) +from PySide6.QtWidgets import (QApplication, QWidget, QMessageBox, QHBoxLayout, + QSlider) +from PySide6.QtOpenGLWidgets import QOpenGLWidget + +from shiboken6 import VoidPtr + +try: + from OpenGL import GL +except ImportError: + app = QApplication(sys.argv) + message_box = QMessageBox(QMessageBox.Critical, "OpenGL hellogl", + "PyOpenGL must be installed to run this example.", + QMessageBox.Close) + message_box.setDetailedText("Run:\npip install PyOpenGL PyOpenGL_accelerate") + message_box.exec() + sys.exit(1) + + +class Window(QWidget): + def __init__(self, transparent, parent=None): + QWidget.__init__(self, parent) + + if transparent: + self.setAttribute(Qt.WA_TranslucentBackground) + self.setAttribute(Qt.WA_NoSystemBackground, False) + + self._gl_widget = GLWidget(transparent) + + self._x_slider = self.create_slider() + self._x_slider.valueChanged.connect(self._gl_widget.set_xrotation) + self._gl_widget.x_rotation_changed.connect(self._x_slider.setValue) + + self._y_slider = self.create_slider() + self._y_slider.valueChanged.connect(self._gl_widget.set_yrotation) + self._gl_widget.y_rotation_changed.connect(self._y_slider.setValue) + + self._z_slider = self.create_slider() + self._z_slider.valueChanged.connect(self._gl_widget.set_zrotation) + self._gl_widget.z_rotation_changed.connect(self._z_slider.setValue) + + main_layout = QHBoxLayout() + main_layout.addWidget(self._gl_widget) + main_layout.addWidget(self._x_slider) + main_layout.addWidget(self._y_slider) + main_layout.addWidget(self._z_slider) + self.setLayout(main_layout) + + self._x_slider.setValue(15 * 16) + self._y_slider.setValue(345 * 16) + self._z_slider.setValue(0 * 16) + + self.setWindowTitle(self.tr("Hello GL")) + + def create_slider(self): + slider = QSlider(Qt.Vertical) + + slider.setRange(0, 360 * 16) + slider.setSingleStep(16) + slider.setPageStep(15 * 16) + slider.setTickInterval(15 * 16) + slider.setTickPosition(QSlider.TicksRight) + return slider + + def keyPressEvent(self, event): + if event.key() == Qt.Key_Escape: + self.close() + else: + super(Window, self).keyPressEvent(event) + + +class Logo(): + def __init__(self): + self.m_data = QVector3DList() + self.m_data.reserve(5000) + + x1 = +0.06 + y1 = -0.14 + x2 = +0.14 + y2 = -0.06 + x3 = +0.08 + y3 = +0.00 + x4 = +0.30 + y4 = +0.22 + + self.quad(x1, y1, x2, y2, y2, x2, y1, x1) + self.quad(x3, y3, x4, y4, y4, x4, y3, x3) + + self.extrude(x1, y1, x2, y2) + self.extrude(x2, y2, y2, x2) + self.extrude(y2, x2, y1, x1) + self.extrude(y1, x1, x1, y1) + self.extrude(x3, y3, x4, y4) + self.extrude(x4, y4, y4, x4) + self.extrude(y4, x4, y3, x3) + + NUM_SECTORS = 100 + + for i in range(NUM_SECTORS): + angle = (i * 2 * math.pi) / NUM_SECTORS + x5 = 0.30 * math.sin(angle) + y5 = 0.30 * math.cos(angle) + x6 = 0.20 * math.sin(angle) + y6 = 0.20 * math.cos(angle) + + angle = ((i + 1) * 2 * math.pi) / NUM_SECTORS + x7 = 0.20 * math.sin(angle) + y7 = 0.20 * math.cos(angle) + x8 = 0.30 * math.sin(angle) + y8 = 0.30 * math.cos(angle) + + self.quad(x5, y5, x6, y6, x7, y7, x8, y8) + + self.extrude(x6, y6, x7, y7) + self.extrude(x8, y8, x5, y5) + + def const_data(self): + return self.m_data.constData() + + def count(self): + return len(self.m_data) * 3 + + def vertex_count(self): + return self.count() / 6 + + def quad(self, x1, y1, x2, y2, x3, y3, x4, y4): + n = QVector3D.normal(QVector3D(x4 - x1, y4 - y1, 0), QVector3D(x2 - x1, y2 - y1, 0)) + + self.add(QVector3D(x1, y1, -0.05), n) + self.add(QVector3D(x4, y4, -0.05), n) + self.add(QVector3D(x2, y2, -0.05), n) + + self.add(QVector3D(x3, y3, -0.05), n) + self.add(QVector3D(x2, y2, -0.05), n) + self.add(QVector3D(x4, y4, -0.05), n) + + n = QVector3D.normal(QVector3D(x1 - x4, y1 - y4, 0), QVector3D(x2 - x4, y2 - y4, 0)) + + self.add(QVector3D(x4, y4, 0.05), n) + self.add(QVector3D(x1, y1, 0.05), n) + self.add(QVector3D(x2, y2, 0.05), n) + + self.add(QVector3D(x2, y2, 0.05), n) + self.add(QVector3D(x3, y3, 0.05), n) + self.add(QVector3D(x4, y4, 0.05), n) + + def extrude(self, x1, y1, x2, y2): + n = QVector3D.normal(QVector3D(0, 0, -0.1), QVector3D(x2 - x1, y2 - y1, 0)) + + self.add(QVector3D(x1, y1, 0.05), n) + self.add(QVector3D(x1, y1, -0.05), n) + self.add(QVector3D(x2, y2, 0.05), n) + + self.add(QVector3D(x2, y2, -0.05), n) + self.add(QVector3D(x2, y2, 0.05), n) + self.add(QVector3D(x1, y1, -0.05), n) + + def add(self, v, n): + self.m_data.append(v) + self.m_data.append(n) + + +class GLWidget(QOpenGLWidget, QOpenGLFunctions): + x_rotation_changed = Signal(int) + y_rotation_changed = Signal(int) + z_rotation_changed = Signal(int) + + def __init__(self, transparent, parent=None): + QOpenGLWidget.__init__(self, parent) + QOpenGLFunctions.__init__(self) + + self._transparent = transparent + self._core = QSurfaceFormat.defaultFormat().profile() == QSurfaceFormat.CoreProfile + + self._x_rot = 0 + self._y_rot = 0 + self._z_rot = 0 + self._last_pos = QPointF() + self.logo = Logo() + self.vao = QOpenGLVertexArrayObject() + self._logo_vbo = QOpenGLBuffer() + self.program = QOpenGLShaderProgram() + self._proj_matrix_loc = 0 + self._mv_matrix_loc = 0 + self._normal_matrix_loc = 0 + self._light_pos_loc = 0 + self.proj = QMatrix4x4() + self.camera = QMatrix4x4() + self.world = QMatrix4x4() + if transparent: + fmt = self.format() + fmt.setAlphaBufferSize(8) + self.setFormat(fmt) + + def x_rotation(self): + return self._x_rot + + def y_rotation(self): + return self._y_rot + + def z_rotation(self): + return self._z_rot + + def minimumSizeHint(self): + return QSize(50, 50) + + def sizeHint(self): + return QSize(400, 400) + + def normalize_angle(self, angle): + while angle < 0: + angle += 360 * 16 + while angle > 360 * 16: + angle -= 360 * 16 + return angle + + @Slot(int) + def set_xrotation(self, angle): + angle = self.normalize_angle(angle) + if angle != self._x_rot: + self._x_rot = angle + self.x_rotation_changed.emit(angle) + self.update() + + @Slot(int) + def set_yrotation(self, angle): + angle = self.normalize_angle(angle) + if angle != self._y_rot: + self._y_rot = angle + self.y_rotation_changed.emit(angle) + self.update() + + @Slot(int) + def set_zrotation(self, angle): + angle = self.normalize_angle(angle) + if angle != self._z_rot: + self._z_rot = angle + self.z_rotation_changed.emit(angle) + self.update() + + @Slot() + def cleanup(self): + self.makeCurrent() + self._logo_vbo.destroy() + del self.program + self.program = None + self.doneCurrent() + + def vertex_shader_source_core(self): + return """#version 150 + in vec4 vertex; + in vec3 normal; + out vec3 vert; + out vec3 vertNormal; + uniform mat4 projMatrix; + uniform mat4 mvMatrix; + uniform mat3 normalMatrix; + void main() { + vert = vertex.xyz; + vertNormal = normalMatrix * normal; + gl_Position = projMatrix * mvMatrix * vertex; + }""" + + def fragment_shader_source_core(self): + return """#version 150 + in highp vec3 vert; + in highp vec3 vertNormal; + out highp vec4 fragColor; + uniform highp vec3 lightPos; + void main() { + highp vec3 L = normalize(lightPos - vert); + highp float NL = max(dot(normalize(vertNormal), L), 0.0); + highp vec3 color = vec3(0.39, 1.0, 0.0); + highp vec3 col = clamp(color * 0.2 + color * 0.8 * NL, 0.0, 1.0); + fragColor = vec4(col, 1.0); + }""" + + def vertex_shader_source(self): + return """attribute vec4 vertex; + attribute vec3 normal; + varying vec3 vert; + varying vec3 vertNormal; + uniform mat4 projMatrix; + uniform mat4 mvMatrix; + uniform mat3 normalMatrix; + void main() { + vert = vertex.xyz; + vertNormal = normalMatrix * normal; + gl_Position = projMatrix * mvMatrix * vertex; + }""" + + def fragment_shader_source(self): + return """varying highp vec3 vert; + varying highp vec3 vertNormal; + uniform highp vec3 lightPos; + void main() { + highp vec3 L = normalize(lightPos - vert); + highp float NL = max(dot(normalize(vertNormal), L), 0.0); + highp vec3 color = vec3(0.39, 1.0, 0.0); + highp vec3 col = clamp(color * 0.2 + color * 0.8 * NL, 0.0, 1.0); + gl_FragColor = vec4(col, 1.0); + }""" + + def initializeGL(self): + self.context().aboutToBeDestroyed.connect(self.cleanup) + self.initializeOpenGLFunctions() + self.glClearColor(0, 0, 0, 0 if self._transparent else 1) + + self.program = QOpenGLShaderProgram() + + if self._core: + self._vertex_shader = self.vertex_shader_source_core() + self._fragment_shader = self.fragment_shader_source_core() + else: + self._vertex_shader = self.vertex_shader_source() + self._fragment_shader = self.fragment_shader_source() + + self.program.addShaderFromSourceCode(QOpenGLShader.Vertex, self._vertex_shader) + self.program.addShaderFromSourceCode(QOpenGLShader.Fragment, self._fragment_shader) + self.program.bindAttributeLocation("vertex", 0) + self.program.bindAttributeLocation("normal", 1) + self.program.link() + + self.program.bind() + self._proj_matrix_loc = self.program.uniformLocation("projMatrix") + self._mv_matrix_loc = self.program.uniformLocation("mvMatrix") + self._normal_matrix_loc = self.program.uniformLocation("normalMatrix") + self._light_pos_loc = self.program.uniformLocation("lightPos") + + self.vao.create() + with QOpenGLVertexArrayObject.Binder(self.vao): + self._logo_vbo.create() + self._logo_vbo.bind() + float_size = ctypes.sizeof(ctypes.c_float) + self._logo_vbo.allocate(self.logo.const_data(), self.logo.count() * float_size) + + self.setup_vertex_attribs() + + self.camera.setToIdentity() + self.camera.translate(0, 0, -1) + + self.program.setUniformValue(self._light_pos_loc, QVector3D(0, 0, 70)) + self.program.release() + + def setup_vertex_attribs(self): + self._logo_vbo.bind() + f = QOpenGLContext.currentContext().functions() + f.glEnableVertexAttribArray(0) + f.glEnableVertexAttribArray(1) + float_size = ctypes.sizeof(ctypes.c_float) + + null = VoidPtr(0) + pointer = VoidPtr(3 * float_size) + f.glVertexAttribPointer(0, 3, int(GL.GL_FLOAT), int(GL.GL_FALSE), 6 * float_size, null) + f.glVertexAttribPointer(1, 3, int(GL.GL_FLOAT), int(GL.GL_FALSE), 6 * float_size, pointer) + self._logo_vbo.release() + + def paintGL(self): + self.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT) + self.glEnable(GL.GL_DEPTH_TEST) + self.glEnable(GL.GL_CULL_FACE) + + self.world.setToIdentity() + self.world.rotate(180 - (self._x_rot / 16), 1, 0, 0) + self.world.rotate(self._y_rot / 16, 0, 1, 0) + self.world.rotate(self._z_rot / 16, 0, 0, 1) + + with QOpenGLVertexArrayObject.Binder(self.vao): + self.program.bind() + self.program.setUniformValue(self._proj_matrix_loc, self.proj) + self.program.setUniformValue(self._mv_matrix_loc, self.camera * self.world) + normal_matrix = self.world.normalMatrix() + self.program.setUniformValue(self._normal_matrix_loc, normal_matrix) + + self.glDrawArrays(GL.GL_TRIANGLES, 0, self.logo.vertex_count()) + self.program.release() + + def resizeGL(self, width, height): + self.proj.setToIdentity() + self.proj.perspective(45, width / height, 0.01, 100) + + def mousePressEvent(self, event): + self._last_pos = event.position() + + def mouseMoveEvent(self, event): + pos = event.position() + dx = pos.x() - self._last_pos.x() + dy = pos.y() - self._last_pos.y() + + if event.buttons() & Qt.LeftButton: + self.set_xrotation(self._x_rot + 8 * dy) + self.set_yrotation(self._y_rot + 8 * dx) + elif event.buttons() & Qt.RightButton: + self.set_xrotation(self._x_rot + 8 * dy) + self.set_zrotation(self._z_rot + 8 * dx) + + self._last_pos = pos + + +if __name__ == '__main__': + app = QApplication(sys.argv) + parser = ArgumentParser(description="hellogl2", formatter_class=RawTextHelpFormatter) + parser.add_argument('--multisample', '-m', action='store_true', + help='Use Multisampling') + parser.add_argument('--coreprofile', '-c', action='store_true', + help='Use Core Profile') + parser.add_argument('--transparent', '-t', action='store_true', + help='Transparent Windows') + options = parser.parse_args() + + fmt = QSurfaceFormat() + fmt.setDepthBufferSize(24) + if options.multisample: + fmt.setSamples(4) + if options.coreprofile: + fmt.setVersion(3, 2) + fmt.setProfile(QSurfaceFormat.CoreProfile) + QSurfaceFormat.setDefaultFormat(fmt) + + main_window = Window(options.transparent) + main_window.resize(main_window.sizeHint()) + main_window.show() + + res = app.exec() + sys.exit(res) diff --git a/examples/opengl/hellogl2/hellogl2.pyproject b/examples/opengl/hellogl2/hellogl2.pyproject new file mode 100644 index 0000000..331d835 --- /dev/null +++ b/examples/opengl/hellogl2/hellogl2.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["hellogl2.py"] +} diff --git a/examples/opengl/textures/doc/textures.png b/examples/opengl/textures/doc/textures.png new file mode 100644 index 0000000000000000000000000000000000000000..ff80a7d8f1743401b73164b515a0264439f471b8 GIT binary patch literal 38108 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 literal 0 HcmV?d00001 diff --git a/examples/opengl/textures/doc/textures.rst b/examples/opengl/textures/doc/textures.rst new file mode 100644 index 0000000..80bf204 --- /dev/null +++ b/examples/opengl/textures/doc/textures.rst @@ -0,0 +1,9 @@ +Texture Example +=============== + +The Textures example demonstrates the use of Qt's image classes as textures in +applications that use both OpenGL and Qt to display graphics. + +.. image:: textures.png + :width: 400 + :alt: Textures Screenshot diff --git a/examples/opengl/textures/images/side1.png b/examples/opengl/textures/images/side1.png new file mode 100644 index 0000000000000000000000000000000000000000..68fd4336d407d8a3abaddeaa14a3925c918519dd GIT binary patch literal 1044 zcmc)IdrZbk>xq7)G zgjnH%&?tl`l2XW-PC`mujEICA!fhfxGZYYRP)vA0DZz$|Y`C%nuK0nJ;KDU7 z$aqjCfGQ!>5HU~}1NCC4Plo$MIw*-8Q00Ic!_#8WTm+32bW+gEz*qyudN2`6=vG3X z8u~OaMCiey2dfFJeK0~;;5#t_KmgbwFsmw^9MvUV5SvM&V6tw}rmRPZK07>gqbR5A zQ_tSa4xStCFLCqnqI?dgGVfv5KDT`qha>Gl=j%)E8B4htO<(d~)m#0wdz5eH=&q0Y zk$p(%_AH!u7AvhL?&svdKO5}u;LE+(vrm>KVw*DC5!jpTBxN;MHwV8!qgx+!sH$9K zf+z2K;&agvpQA}*74F#1sd;ZUAYr4efzsW6*uueg&zkkE98a+gT5ryj3C!_GFATL1w}J(-2s~dDNK^Dz8Ais z;Z)o;NngOXycIOx#q=-x>F4Cs(BYvlq zw>)k>uixo%M^J;t|1rPBm^(J{Z~u4UCgD3LaHKzPo|k$+(v|rdT|S6wlX1R3&(~8u z;NmyF+mDw_iK80Py~tm;nr68Q&zJ5|^%OItKT6XWSGjoD)M794&_%4F2aEcHMy+w>-1oL?$iGHgBvIM N;r#8P@=fB?zX5W6naThF literal 0 HcmV?d00001 diff --git a/examples/opengl/textures/images/side2.png b/examples/opengl/textures/images/side2.png new file mode 100644 index 0000000000000000000000000000000000000000..b12d30d497620e0fa8b3098ebeed08b8031a1c72 GIT binary patch literal 1768 zcmb8v`BT%^769=3O=1E>c3x#OW|W5rR8$ZmvP2VWf-DhPi_ow8G@~qNI}w~F@Rv^6=*PQ0)f=W5(9<=zl0|CA85~f?mc(T%)N8ZFXs{? z^suRky$Jxoluo0D0|4od5HLdPQ+iWOgg%upf+G$ABnKd{5dvEn6x$-jL<6o1!rf(1 zK|(6X20R+VV;D5XAdO6emQKV7T`M%S zE{p~b8}u*!^Kd3aRyUWrEXUv8{rl3zT|q->QAQ5n`L|07^%-~Ud$o9WBV(R0Jov1S zU3EDYrR01@$&DU!<2msj`^+Cj29Qi z0>A3j)Z4jUCKIydBAN6TBG@^Vv!%BWa;bA+Ak;%SBStWJEOuqnHc;UQqU?ci^QGi8AcXyjpPuC$FGtGvzMqMrX|)SZMPo^?%{xZ_X*jDS9rpkJfuVIX)In z*lI2rGiC<%M+cOS?y`#*fWAD(ATei}i#W#F1CTDSb}I3*VD>J!{v6W1x;R7$6cAPk zL^H;S-MTVzI_wSLf2EUlib86trpOKxM+np7x1J1iWm^wDhMxKLe3S*`+G1L2O_f@@ z`sJ)e{EoeuaBA?{q!)%*XR6$1-j?r~ObeL)4Xe3@dnEh6l%lpd{y&hHq7_9~8g~Pi zFHX#RG;q)fhZ{1q@FXb>&YIiOV-tl*0ZlK<7n|>)EYskWjQ)cBqZM4NX4$-*-^F5S zz9ib-X_0@=#|}$55%<|FDhg~V#jPh;--)+$6;1!Lh0>U7ECyl`D>(rz-hLvk4X~sdVf?jP@l$;>^l7ePNm$2CQmGY{r_16 zwZNmqq&5ZG`8)c_5>6m>eXANq4|pnU%2uqHEPaK93-HmWtTArn5^f>`i*puT>1c}v zA#h9x$1xVXeUOSLZe-s-Jd=VJ1|6;Oi-hruphgB-A|G#b#!JQtssSmGbeb9UM}g&X zR7Ii>ZDil6!W|ZLnD!zHB*J6ob6nueaK^|>uXbhmH+!vNbL0@Yy(gIX~@KYj4{8qBKk+7esHcf&W)VA9+t0-+b;ah(uI?bk$RfQS@~ecRaL7uy!nQzbtn9J znX1(p&PMYB4{77r6i{%*SLdXOi~X-^t|hGX&W9sb{PLr=8uK}wEa+e8ta#k9)~=?9 zE4#iL?;7bS(jsoJ7Qb73`gL>ZO=IQ2Iebu?>{(G|d(l&Y{fTv&Dd4X3{&;Mx$=#e- zZWp+=kK9xz3LMScdJ{Yk{{{)AJCLb2r)m~9;pE7hk%QTY*}aWCV!>>%EnK9UI*W;i zeHj+(S;MQ-fE6@(56{qE8wB;Wn)|3*)yaFwcijtWfgA3xxynm2l0hWkj%&=sHD=&k wGH|?v&wNh)?V-zbgEK!(>vfcXQeZ z0HW9;KpC%y{XBm^MSNj;`Z-4fh$;{usti$em_mjr^I-}Frchyu0Zdmggz3gGod(la z!Yl=Am_>(K_ArY9xe88@>jt@=kjsR{3VyKI9~QG=F$W41f}tP;3PPbE910Z4=c-0HRGqa-4$(8pG z^)?ypwk_-Wv%|I4VwIICqam3A2)`Lrg_8k7#*7%e6*2$4`af1)GG9GlPlmbt@WxDn z$(Tv5+2$rzjB^?uZE={PWf#&sk^=TrTVaFz%==#NJvSZP@rWQEnX@$cbxF&^%4$8V z*FP!)yGGBCByeYGLeWlbQ!Q_>T`%9hKVr)O6%=n#`I|p&)!ptIg6pGLCwmH|*g#h8S+e zDc@ddi`w-JRu-IBm!3Zo(?hgGBU`~If)0j!o7WcO2Oc+288QwIE@EUvdbkqA8U;;1 zwKXw!GC1Z0@=n_?S)pZsv@0j4PBzW05Fl<#kal6|?d}JhFJl?WV8D zr`3#cOFCJrdyj6Yd6qb7OI63-NaV-s_cI%j*c%|^=if)(tYcHv2;9L)hb>k_SvRPi zI{V4oEC1vL+PPoDzw{g(7CZI?MqJ)z|HXlSr-p#hR!pb`;=)7iXSGt)(6M@^_Zc-b z;&?XI^Ks~W#_}m<=#wwd=tUcuCb|RA-X$)6(PUO?q0rJ9dNt!A0P814^$ukn{FpQ zUz!X+*`EVuNkRgk&_|3c`?Wx3QTT~^XLEOtd#muU!4!4BDH~xvA_{Kn&&HjFM1RwY za*Ek`sidv zbV>VcjIU7rqden`B^st8?$>9O5u#IR=oD7m8nf3XZnHxX1z$WlK)kT&jbnZ8Rb3x~ zu;C1C)%N~AP#fbZ7OF%GUJJ~kghIFr|votJXb=rlIOMh7-S)?2tG8yX+ z^GU`A&F`A4iVD=jpB}sKC5o%9c)_3RLu!9~C^gUOk?M0ki9lKzT-W^fd=>B zmiXagr`cW&r`_lAj!J?S&y#e7SPgZTZnKdDtqXkmjBo<|aDY_C&sVl7qph((KYH*G z^#qE^m0#gM4yD|Em5rx3U`8V!rjs_A$mk(lQ2i?Y$Uxi3t5}SPL-6R>k5xnE=2PPG zz(N%|XqaH}|9Yg&Z}MCR*8Io}n!~ioUHf6;g0!_f!O{Xp1KOpbxA$ed;Z7dv*F^U) z@SI#}_EU>vwt3tA--;HK+SzG#=z(+5{k>5`Nm0%BSYPP0Uw}aX-uqtkt?lDAe~yxz zs~?Q_D&p9RE9(%@OT5_=O{@iXXt(n9@f>`J;96|Kxzc;1_%eCh3mLC&F{deH%GDQK z21BNWdCC4UBurKMY-gtbHAG4rm6)4I*nmSqYYu+AcItIk4S7)6$mdYRrEk_h4;>_8 ziVuaSx#bF0;X8dBvWMwUr!heu?2LYm%n!}X%% z4<$V>16SvI)?PGNx-oltrfqz0nd4T>HO+X>87)P7{_hwlh|v3|U`OYWyVm^fVDiwI Y&gWFukWRh775xr?yR)|we=R5BKW?))oB#j- literal 0 HcmV?d00001 diff --git a/examples/opengl/textures/images/side4.png b/examples/opengl/textures/images/side4.png new file mode 100644 index 0000000000000000000000000000000000000000..19829d2d6debc1ffac9c3780f43bf93ec06b5ae9 GIT binary patch literal 1342 zcma*nYfuwM902gWT#^froCpeso@rowK(tgWViXzZ& z6+iWa?~e}Qj-1%z%gISlfxcZ7Y4`QdFwSmY&4>v@Z5M&LS$xZQ4rEqn_+AH5&9Iic z4q`@y#?&T(oC=L?c7gCz&00JogMsTPhnj!*_kv3jC{K&6E+Q8s1+n7XBKK^Yl2r%xqNHuO=qiiPeT zca{XqDi5Bn4n7-X07c57LPd(qlxrDCmB9X?^OI$i_hKTsenA2#lBX+Z?&mT}Mv1?} z*;+U#s<$Z}pU^*YR*<}9QGOX|3b#h`pwFLqeE4^Jk*SABW z^S6O2A_kaW#E&)zb2XgD3)%+uCYeCoXz=y4RmFZ5*s^j8cxLOjo_fVq9@t zSKiJGPU8KmF|Js_D8DYJr4mlnT~m+#JUeVTDy4=kM_Q^gc$4!Nxmzq%S0iN!e$sWR<$uE*Xf4FrQWit+v7E*lJ zuu{8m>}wk7{>Fh&bOmLP;DzSo;ZSZ^-u_Ou z`~tCfo$%@$ZU?Q4nZuRS{C3)_s%@3(FaFERKb)m$iGTMHWsQtldY>p>lot~tu!x8 zx9aRfy+>A4zU-^5Zas`}gdOgjOguj(6(dV7E&h_>z7m>tb8swKv!BY3X|^UV51ZmU z*J5hY3saa$cY^+@O(yc=q1x2{Q?4U>^uYbH(s@caH&Wza)1OK@qb`^4FAl(e3Yed| LFy))Mmh!&<$8RVO literal 0 HcmV?d00001 diff --git a/examples/opengl/textures/images/side5.png b/examples/opengl/textures/images/side5.png new file mode 100644 index 0000000000000000000000000000000000000000..3843b1229db89f2e601512cd6022661fa9d4485f GIT binary patch literal 1959 zcmb8w`#Y3*9|!R7-HaJo#^jJ$Av(yZnuMg0TT-k;qb7$;i*iibu|?!`vsR+w$zg?E zhZP!fi10Xd7g3FBRu034d#%SY3^~k`d$OkgV6W@-z22W6zt`u7&-)hB@uZxLstf=? z&erDmX#k*&5dzYLjR-7vWo^VAraj9#3MJM`y;98)UE)9&YETD}F^ zYDt9HY* zAQ}G^tfI_nII`bXUf31NK2%QbJVNx!W%z_UIfuM=Z2VLaG|gowhi4vDk7;+JiOBCl zR_c6I8#@NBbjH|Hn2XQ43_6U5=nlN$BX?)Q$?FG1!vA;dKlvj9e#LxkDAWQd@)e|D z1Zy9LlSux%$vSA>NV?eAH4b77K$qyK`~Y;04r__+sj@=58-OCl?Z3Q8rAYC|$aJ5W zZwjHyI>>GdR71v-Cy#L{9Hu(v6oN2A5ZC2;V6tP;AsS&V-(qTq+bB^|%UZXh9qrCl zs>IIru@Th>C-GjUWek*ogXNoIblrrw{!#j~CGA9Tu3Ab!=KrjN^>~jNVuM8nue;>p zy>=(1gxLA*tq~P7A6M&w?iVkd?Kjd`UL+X#0k8cdPjuiS4K$q1a8}oJlE;>1u~H5A zI!Rb$26N5eVl%kH3@$K3PxV5MTtYgRz~T~mxCA3Ep_Z6$3YVC{m8Rf~I--b-g6wI~ zI1Lh}LGd&gVUepgoFxm&C>R@0Te&9N((*7ccUGV>L=Rd$@Yb<%8p&4^r;4{~AL(jb2MV6Dfog)%gmb3-+daqQw>%*U_`&t}) zS*HVn>mek6er=jwlTNj+^3G-pEJn^)uNZr1p>D;cK_A==hASx8E>m-c$2LTGd4b~t z-aS{0|26b1K<<58b6yb?`hQoBs`AFWe9b}DbK4qsIV43lgX2QLVw0>#pMd<=6K>TC zz?C5NyE_??D$A1TgFI0n;OPM)8an5t3}nfgItyFB;cLxkuj&K;{EV6hI3Q%ybS)Ov zmS*?2&i`4w?{2{%zuKiSas!n*>KM6@6L@vKuj68Kng%xiWpme?ilJ*$BU=p}ACOH` zZchF&`CY5s($6<74bZi)#G{WcKTa;OkSfnm#~xK1=Cwu#mQ?2dH~__kZxQcl{SXHj z^1^{~PPB3Gt}1WxERByt7c%x7i?SF@?-^jAFLiehuRtqUv+WcV>GLPXc-m^wZE{k1TkFiti%qoI>F^lA~`I= zcYO;d=BFq1=l1BsdbPiV(TSSVRip)QhyVPyO4J8jq8bs$7cx*KTN>I#*KWFAH)k~g zG?CSa!Ou}?v7w$W$XP=|?PwDFV%T3g-rD|2js4D6>wpgYEZCu)9AhD+$9sRC#eB{) zzxD3}6WBxm4Sw3zKjC<5uO|&Osp2zl{bYzD2uKN6AI)5imeOsFAj)EG(Z7YR#g{fP zz+~a6hX`nnZU~Q_IlA(WcSdtx^V1#LyF$H0i$C1BR>K>yP>FF?CSlzopJC?E7P-i1 z)YgH9B%UM9nIHfvcf!xIZ7{R+}s|m7HiA3O;!QJCk$7Vimaxdk&5f} zq_N;I3;l*g&HDeevQ!S!(O$;&ojUu>$svn$+9uzsoynG9)-}5+#Ab1N^_RiSfHAhd z!h6n1o)zrSZ^*5&QS&#}ZG|;LwTs`IaRy7n++cG%on-?h=Ti*Jo&4 z&1C$pmZjbQ;9&MtP1NI$1GNIiGqc7iqs?>0$$31PQ|aYt;-ZSAY(?d~V4ayA_X|q| z#uYmLb$QW)1wF|RUWe{?Q)`Ie@lE}XbcD3ku3kwU>z&Z((2r>W5cS`H0jue2(a6C= g$zMwbo|^H{jXs%s+d}=rMyUZ?Yscdi$2{Zy0sGB{O#lD@ literal 0 HcmV?d00001 diff --git a/examples/opengl/textures/images/side6.png b/examples/opengl/textures/images/side6.png new file mode 100644 index 0000000000000000000000000000000000000000..798a9bb667e6a33520a57c7af226e7572c2812c7 GIT binary patch literal 2446 zcmb8w`9IWa8wc?FJ2NsI$JT;WCdnZ=DU}fBXfRW=Vg|8iZg`==|-!_DPq)upNc zfS+kpiWdL~Rw96i$0C^LzA; zp$QwVWkU-L7jERjEnK*j3(1&#NXduPeCV1FJuoHEy9D}_K)({mz*ND*RghT)L#kjX zh7Tk7Foq9f`4GhjV6p(F3Lr}W*%%?r6hf{L<_TdwMhpwZutW@bVpxUggSCB--v=A| zpa3I*tr94dK#>HBF;dtqg?&=^QVJy)8GJ8;QW+eTK^X?Zukgp2g*`lb3HEoDQ0m@r zEUEvw&h5eW01zoO%5UB=17oj(eFvzEfQ0OYD0%aQ+qDjw(+mAd8H?|xG63y~LSZ#i zP(N0u5q>V)qCM|B?=;scdnQ}&CpGsaI1=~)J;HDV1Ts2^uuA2c0Qvtgz6B1srMPRn zdh+){F!`ZA_e;O$hIva)F@GaLU~p$$xIquaa`m5oX-K9j-QT`PD@t_&(bM$|OUHo? z?}WI9=r8Lp=QqXJ<$!m$I`n(FxlS7S(QCE)NBEsMnQdUTxW~D+2|e39>U*2|9GT-W znc=IqXGuo$R<%WKK5(zpYTuY!{a!`v@`9t{O3R>mpBrCqJEV^?m=uM)E9mst>*@{**7KkydO_(NPxpFGu9)p1H z_^6;a6TxRTTM;m*hHeOi4)|4Ipl~8Vp9OR?h7-Op2!ahx`(!!Uh=<`~)COyHEmILU zNJNh$5kfVb!J@QJ1`GnI20qv$M!EIj0SlZY1tJkF5Slh&pz@T69v-@~M!B)7SzE~$)uxh{@3o}wx! z;-H%{kQ2`jhFoI}DX+vyJtn>2|T+}Td;ZDWZ2 zvvAp@NnvldvsH`rwpYlsR8M!V_dpb{FL1gz~I z+^XPY?Hy4QGiK%1KoFWc>r3}M2IyUN1hoBv`DbBBkXq;iIA->E8W}fQFQVIkvam^s zUGVX1PimE9dzBx2pTEhvbm;6ooXF??%S!59Q>&q1RhdXWbetBgbZ3(iKj8WW6BUV| zccFw{Ywyt5WN>%KV6OYU+ZkLzLVVZ4eB&!K@O#VW&taX9Llu(+*TL1<{`9Qg+rxGz zl61_Gi?eoet%8;1Vf2N&%@Mx-cSCFcGh9io{zN2UORZ5uliq>#G2L1cbe&@Lqt-Q7 z1zDFt?4+M{Pp|FZhnr3j1j(AF&9;8=qFoE`Eyazt+vsqM|9RP|Dd22on-anW6(K0U zR_EKJI#D2zR6SQwb4=LsT`6`rHnXk5qgalFu8j_Do2zo+XvmSO!2$bkHFVbwx~{Dw zZnstVH1CE1m??=(91%@$>^|-Xhl`>HecWxIYoK~x3>U4Pcba38Hw#>j)?O8M`5cju zk}Vw$%qLB&@L+xmEkp$%&DG zpL`uqoh7J5>#wiv&B^iLC#-HX{ctdNL3Yb;&F^*v9sERGU!Rmzrf1&Sp=_(nP@<{W zUtV!~)^i(r@1>zdzWr!M3b2dHZ8#Kb_txfxl2o0XepUa(O=i6u|B?m?w^Vf~nRqx-UhHg; zrmy~b8z7$~@^6I}hT0hc0E7P_^>RMivx7iyf2k(F@SO8Ae<~=cu@=o7jeDk-F`<>L z1Wt8>;{Ky?r1t2Irb=8-tIi^3w7l68T< zrSI^4-sr{03?P_U_F{O-tRZtH37~J@JStMqhhF(5BA|9*?qP@cg6XIS0AWO$xiS>x z@>7pU2xzDihvl@d+ksLMAdp;{r0y+VCXCydhzD@cOtfo(SCK#Yj`ldV+Zh9QMcQZP zszpPu^a-3O0sxZxQ76mJ`x%e)RdX}83WuMRcC-ZwzIl#olGBp`5&fSr)}VnZKQ?&$fRR910 literal 0 HcmV?d00001 diff --git a/examples/opengl/textures/textures.py b/examples/opengl/textures/textures.py new file mode 100644 index 0000000..79f7761 --- /dev/null +++ b/examples/opengl/textures/textures.py @@ -0,0 +1,211 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the opengl/textures example from Qt v6.x showing the use + of legacy OpenGL functions with QOpenGLVersionFunctionsFactory.""" + +import sys +from PySide6.QtCore import QPoint, QSize, Qt, QTimer, Signal +from PySide6.QtGui import QColor, QImage, QSurfaceFormat +from PySide6.QtWidgets import QApplication, QGridLayout, QMessageBox, QWidget +from PySide6.QtOpenGL import (QOpenGLTexture, QOpenGLVersionFunctionsFactory, + QOpenGLVersionProfile) +from PySide6.QtOpenGLWidgets import QOpenGLWidget + +try: + from OpenGL import GL +except ImportError: + app = QApplication(sys.argv) + messageBox = QMessageBox(QMessageBox.Critical, "OpenGL textures", + "PyOpenGL must be installed to run this example.", + QMessageBox.Close) + messageBox.setDetailedText("Run:\npip install PyOpenGL PyOpenGL_accelerate") + messageBox.exec() + sys.exit(1) + +import textures_rc + + +class GLWidget(QOpenGLWidget): + sharedObject = 0 + refCount = 0 + + coords = ( + ( ( +1, -1, -1 ), ( -1, -1, -1 ), ( -1, +1, -1 ), ( +1, +1, -1 ) ), + ( ( +1, +1, -1 ), ( -1, +1, -1 ), ( -1, +1, +1 ), ( +1, +1, +1 ) ), + ( ( +1, -1, +1 ), ( +1, -1, -1 ), ( +1, +1, -1 ), ( +1, +1, +1 ) ), + ( ( -1, -1, -1 ), ( -1, -1, +1 ), ( -1, +1, +1 ), ( -1, +1, -1 ) ), + ( ( +1, -1, +1 ), ( -1, -1, +1 ), ( -1, -1, -1 ), ( +1, -1, -1 ) ), + ( ( -1, -1, +1 ), ( +1, -1, +1 ), ( +1, +1, +1 ), ( -1, +1, +1 ) ) + ) + + clicked = Signal() + + def __init__(self, parent): + super().__init__(parent) + + self.clearColor = Qt.black + self.xRot = 0 + self.yRot = 0 + self.zRot = 0 + self.clearColor = QColor() + self.lastPos = QPoint() + self.funcs = None + + def freeGLResources(self): + GLWidget.refCount -= 1 + if GLWidget.refCount == 0: + self.makeCurrent() + self.funcs.glDeleteLists(self.__class__.sharedObject, 1) + + def minimumSizeHint(self): + return QSize(50, 50) + + def sizeHint(self): + return QSize(200, 200) + + def rotateBy(self, xAngle, yAngle, zAngle): + self.xRot = (self.xRot + xAngle) % 5760 + self.yRot = (self.yRot + yAngle) % 5760 + self.zRot = (self.zRot + zAngle) % 5760 + self.update() + + def setClearColor(self, color): + self.clearColor = color + self.update() + + def initializeGL(self): + profile = QOpenGLVersionProfile() + profile.setVersion(3, 2) + profile.setProfile(QSurfaceFormat.CompatibilityProfile) + self.funcs = QOpenGLVersionFunctionsFactory.get(profile) + self.funcs.initializeOpenGLFunctions() + + if not GLWidget.sharedObject: + self.textures = [] + for i in range(6): + image = QImage(f":/images/side{i + 1}.png") + self.textures.append(QOpenGLTexture(image)) + GLWidget.sharedObject = self.makeObject() + GLWidget.refCount += 1 + + self.funcs.glEnable(GL.GL_DEPTH_TEST) + self.funcs.glEnable(GL.GL_CULL_FACE) + self.funcs.glEnable(GL.GL_TEXTURE_2D) + + def paintGL(self): + self.funcs.glClearColor(self.clearColor.red(), self.clearColor.green(), + self.clearColor.blue(), 1) + self.funcs.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT) + self.funcs.glLoadIdentity() + self.funcs.glTranslated(0.0, 0.0, -10.0) + self.funcs.glRotated(self.xRot / 16.0, 1.0, 0.0, 0.0) + self.funcs.glRotated(self.yRot / 16.0, 0.0, 1.0, 0.0) + self.funcs.glRotated(self.zRot / 16.0, 0.0, 0.0, 1.0) + self.funcs.glCallList(GLWidget.sharedObject) + + def resizeGL(self, width, height): + side = min(width, height) + x = int((width - side) / 2) + y = int((height - side) / 2) + self.funcs.glViewport(x, y, side, side) + + self.funcs.glMatrixMode(GL.GL_PROJECTION) + self.funcs.glLoadIdentity() + self.funcs.glOrtho(-0.5, +0.5, +0.5, -0.5, 4.0, 15.0) + self.funcs.glMatrixMode(GL.GL_MODELVIEW) + + def mousePressEvent(self, event): + self.lastPos = event.position().toPoint() + + def mouseMoveEvent(self, event): + pos = event.position().toPoint() + dx = pos.x() - self.lastPos.x() + dy = pos.y() - self.lastPos.y() + + if event.buttons() & Qt.LeftButton: + self.rotateBy(8 * dy, 8 * dx, 0) + elif event.buttons() & Qt.RightButton: + self.rotateBy(8 * dy, 0, 8 * dx) + + self.lastPos = pos + + def mouseReleaseEvent(self, event): + self.clicked.emit() + + def makeObject(self): + dlist = self.funcs.glGenLists(1) + self.funcs.glNewList(dlist, GL.GL_COMPILE) + + for i in range(6): + self.textures[i].bind() + + self.funcs.glBegin(GL.GL_QUADS) + for j in range(4): + tx = {False: 0, True: 1}[j == 0 or j == 3] + ty = {False: 0, True: 1}[j == 0 or j == 1] + self.funcs.glTexCoord2d(tx, ty) + x = 0.2 * GLWidget.coords[i][j][0] + y = 0.2 * GLWidget.coords[i][j][1] + z = 0.2 * GLWidget.coords[i][j][2] + self.funcs.glVertex3d(x, y, z) + + self.funcs.glEnd() + + self.funcs.glEndList() + return dlist + + +class Window(QWidget): + NumRows = 2 + NumColumns = 3 + + def __init__(self, parent=None): + QWidget.__init__(self, parent) + + mainLayout = QGridLayout(self) + self.glWidgets = [] + + for i in range(Window.NumRows): + self.glWidgets.append([]) + for j in range(Window.NumColumns): + self.glWidgets[i].append(None) + + hue_div = (Window.NumRows * Window.NumColumns - 1) + for i in range(Window.NumRows): + for j in range(Window.NumColumns): + clearColor = QColor() + hue = ((i * Window.NumColumns) + j) * 255 / hue_div + clearColor.setHsv(hue, 255, 63) + + glw = GLWidget(self) + self.glWidgets[i][j] = glw + glw.setClearColor(clearColor) + glw.rotateBy(+42 * 16, +42 * 16, -21 * 16) + mainLayout.addWidget(glw, i, j) + + glw.clicked.connect(self.setCurrentGlWidget) + qApp.lastWindowClosed.connect(glw.freeGLResources) + + self.currentGlWidget = self.glWidgets[0][0] + + timer = QTimer(self) + timer.timeout.connect(self.rotateOneStep) + timer.start(20) + + self.setWindowTitle(self.tr("Textures")) + + def setCurrentGlWidget(self): + self.currentGlWidget = self.sender() + + def rotateOneStep(self): + if self.currentGlWidget: + self.currentGlWidget.rotateBy(+2 * 16, +2 * 16, -1 * 16) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + window = Window() + window.show() + sys.exit(app.exec()) diff --git a/examples/opengl/textures/textures.pyproject b/examples/opengl/textures/textures.pyproject new file mode 100644 index 0000000..1ad3043 --- /dev/null +++ b/examples/opengl/textures/textures.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["textures.qrc", "textures.py"] +} diff --git a/examples/opengl/textures/textures.qrc b/examples/opengl/textures/textures.qrc new file mode 100644 index 0000000..efa9e9c --- /dev/null +++ b/examples/opengl/textures/textures.qrc @@ -0,0 +1,10 @@ + + + images/side1.png + images/side2.png + images/side3.png + images/side4.png + images/side5.png + images/side6.png + + diff --git a/examples/opengl/textures/textures_rc.py b/examples/opengl/textures/textures_rc.py new file mode 100644 index 0000000..a0676a3 --- /dev/null +++ b/examples/opengl/textures/textures_rc.py @@ -0,0 +1,762 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.2.2 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00\x04\x14\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x01\x00\x00\x00\x01\x00\x08\x03\x00\x00\x00k\xacXT\ +\x00\x00\x00\x9fPLTE\xf8|\x00\xf8\x80\x00\xf8\x80\ +\x08\xf8\x84\x08\xf8\x84\x10\xf8\x88\x10\xf8\x88\x18\xf8\x8c\x18\ +\xf8\x8c \xf8\x90 \xf8\x94(\xf8\x940\xf8\x980\xf8\ +\x988\xf8\x9c8\xf8\xa0@\xf8\xa4H\xf8\xa4P\xf8\xa8\ +P\xf8\xa8X\xf8\xacX\xf8\xb0`\xf8\xb0h\xf8\xb4h\ +\xf8\xb4p\xf8\xb8p\xf8\xb8x\xf8\xbcx\xf8\xc0\x80\xf8\ +\xc4\x88\xf8\xc8\x90\xf8\xc8\x98\xf8\xcc\x98\xf8\xd0\xa0\xf8\xd4\ +\xa8\xf8\xd4\xb0\xf8\xd8\xb0\xf8\xd8\xb8\xf8\xdc\xb8\xf8\xe0\xc0\ +\xf8\xe0\xc8\xf8\xe4\xc8\xf8\xe4\xd0\xf8\xe8\xd0\xf8\xec\xd8\xf8\ +\xec\xe0\xf8\xf0\xe0\xf8\xf0\xe8\xf8\xf4\xe8\xf8\xf4\xf0\xf8\xf8\ +\xf0\xf8\xf8\xf8\xf8\xfc\xf85u\xa4p\x00\x00\x00\x09p\ +HYs\x00\x00\x00H\x00\x00\x00H\x00F\xc9k>\ +\x00\x00\x03\x1bIDATx\xda\xed\xddas\xd2@\ +\x10\x80\xe1\x8b\x10#\x1a\x01#il\x0b\xb1\x80\x0db\ +\x10b\xe8\xff\xffm\xb6\xd5\xd1\x92\x12r)8r\xbb\ +\xef~\xce\xb0\xec3\xc9]\xb8\xd9\x1d\xcc\x9d\xf20\x00\ +\x00\x00\x00\x00\x00\xdc\x19\x85\x01\x00\x00\x00\xec\x02\xa8Z\ +\xfa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x80\xff\x18E\xae\x1a \x1by\ +\x91^\x80\xf5\xb8w\xff5\xdeh\x05\x98\x0d\xbd\xa7\xbd\ +;\xca\x00\xf2K\xbf\xd2\xbc\xa4\x09\xa0H\xc3\xe7\xdd[\ +z\x00n#o_\xfb\x9a\x12\x80\xfc*\xa8\xe9\xdf\xd3\ +\x00P\xb9\xf5\xb5\x01\xcc\xab\xb7\xbe*\x80\xaf\x89\xdf\xd0\ +\xc2*\x19`\xf5\xf8\xc2\xa3\x15\xa0H\xdf[51\xcb\ +\x04(\xa7C\xcf\xb2\x8b[ \xc0v\x1eu\xec\xdb\xd8\ +\xc5\x01dq\xb7U\x1f\xbf,\x80\xec\xc2o;\xc8 \ +\x08`\x91\xbc~\xc1$\x87\x14\x80\xace\xf5\xb2\x00\xb2\ +\xd8\x7f\xf1,\x8f\xf3\x00\xe5l\xd4=f\x98\xc9m\x80\ +\xcd\xcd\xf0\xd5\x91\xd3\x5c\x0e\x03\xe4\xe3\xbew\xfc8\x9b\ +\xa3\x00\xe5\x97\x8b\xe04\xf3|.\x02,'\x03\xefd\ +\x03\x8d\xae\x01\xe4i\xe4\x9b\xd3\x84\x83\x00\xab\x0f\xa7*\ +\xdeQ\x80\xcc\xae2/J\x02\x99\x00\x0b\x9b\xf2;\x97\ +\xeb\xfb\xd3\x00_$\xc0\xb2\xb9*\x7f\x5c<^\x9a\x88\ +\x04\xf8\xdeTS/-\x7f_:\x15\x09P\x1e\xae\xe8\ +\xdd\xb4\xd5\xcd\xe2\xe26x\xe8\xc9\x1e\xdc\xeel\x182\ +\x01\xfa\xf5\x0b\xff\xb2r&*\x13 \xae)?^\xb5\ +|Z\x5c\x05Hk\xf7\xbd\xbd\xa9\xe5\x01\xecY\xda\x82\ +\xc9\x8f\xda\xd4\x02\x7f\x0bT\xcf\xbb{7\xdb\x03\xa9\x05\ +\x02\x0cwJ\x08g\x87S\x0b\x04\xf8\xfct\xdf\xcb\x9a\ +R\x0b\x04X\xffY\xf8G\xdf\x9aSK<\x0f\xf8\xf5\ +&\xd0IV6\xa9%\x02\x00\x00\ +\x06\xc0IDATx\xda\xed\xdd\xdbb\x9b8\x10\x06\ +`K\x85B!f\xa1&\x1c\x8a\x03\x81\x9a@!\xf0\ +\xfe\x8f\xb7\x17\xbbm\xe2\xc6\x18\x8c\xf5\x13\x81\x86\xcb6\ +\x17\xf83\x16\xd2hf\xb4\xeb\x15\xbfv\x04@\x00\x04\ +@\x00\x04\xd0\xef\x14\xbc\x08\x80\x00\x08\xe0\x1c@\xa9\xa1\ +\x8f\x00\x08\x80\x00\x08\x80\x00\x08\x80\x00\x08\x80\x00\x08\x80\ +\x00\x08\x80\x00\x08\x80\x00\x08\x80\x00\x08\x80\x00\x08\x80\x00\ +\x08\x80\x00\x08\x80\x00\x08\x80\x00\x08\x80\x00\x08\x80\x00\x08\ +\x80\x00\x08\xe0\xae\xabC\xde|\xd7I\x0f\xf0\xccv\x5c\ +7\xac\x07\xc7;\x04a\x9c\x1d\x7f\xc4Q\x18\ +\xf8\x07\xcfu\xf6\xb6e\x1a\xba\xc6\xd9n\xc7\x7fI\x0e\ +P\xf2\xc1\xcc,\xc65\xdd0M\xcb\xde;\x8e\xeby\ +\x07\xff1\xf8\xf0\xf9\xc6/Gr\x80\x00\x9d\xe0fH\ +\x0e\x10\xa1\x01|\xc9\x01\x124@&9@\x8a\x06h\ +%\x07(\xc0\x9f\xdf\x94\xfd5X\x82\x01<\xd9\x01j\ +0\xc0\x0f\xd9\x01Z0@!\xfdL\x10\x0c\xf0Kz\ +\x00\x0e\xfd\xfcL\xfe\xc5\x90\x0e\x05\xd0\xe4\x070e\x7f\ +\x0b\xa2\x01l(\x80%?\xc0\x1e\x0a`\xcb\x0f\xe0\xaa\ +\x0epP\x1d\xe0Qu\x80Pu\x80X\xf5\xb7\x006\ +\x22\xf2M~\x80T\xf5\x89P&yH\x14\x0e\x90\xab\ +\xbe\x16\xc0\xc6\xc4V\xb0\x1a\x04\xc7\xc4\xe4\xdf\x1a{Q\ +\xfd-PA\x7f\x01\x95\xfc\x00\xf5\x87\xfd\xc0\xff6\x04\ +\xff\xec\x08\xfaA\x18Fq\x9c\x1c\x8fi\x96\xe5Eq\ +*\xcb\xb2<\xfd,\xf2<\xcb\xd2\xa7c\x92\xc4Q\x14\ +\x86\x81\xef\x1f\xbe{\xae\xeb\xec\xf7\xb6m\x99\xa6\xf1U\ +\xd74\x1e\xf5\xf2\x034g\x00a/\xdf\xb5(@\xa4\ +\x1e\xc0y\x5c\xadl\ +\xb2\x8b\xa7?\x05\xac\x95\x1d\xe0\xad\xb12\x9f\xbe~k\ +\xa7\xaf\xa0r\xd9\x01\x82y\x11\xfd'\xbe\xdc\x82\x00<\ +\x0f\xf0\xd9\xacp~5q$\xb0d\x07\xe8\xfb\xca\x99\ +\x15\xc9n\xa6-#Y'=@\xdf\x9ffEo:\ +k\xa1\xc9 \x1e`\xe6\xd5\x1a\xcb\xcc\x04\xa4\x05\xe8\xeb\ +)K\xe9h\xc3\x00\x93\xfa\x90y[\x06\x98\x12S\xb7\ +7\x0d\xd0\x8d\xbf\x0c\xcdM\x03L\xd8Z5\xb6\x0d0\ +\x1eT\xd66\x0e0:\x0e\xf2\x8d\x03\x8c\x86\xd5\xd9\xd6\ +\x01b\xd5\x9f\x80\xb1\xa8\xaa\xbeu\x80\xb1\xf6\xf4\xe6\xe6\ +\x01b\x95'B}?\xda\x94\xd4\xd9<\xc0\xc8)%\ +\xde\xf6\x01\xf6\xe0\xbcI\xe9\x01|e\xe3\x01\xff_\xd7\ +3\x0d\xab\xed\x03\xe4\xe0\xd6\xd2\xd2\x03T\xd8i\x80\xfc\ +\x00\xbf\xc0\xfb\xc3\xd2\x03\x5c=\xaf-Q\x00\xe0j\x92\ +I\xad\x00@\x8f\x1d\x02\xd6\xfd\x04\x84*\x004\xe0<\ +1\xe9\x01jd@p\x0d\x00W\xea\xce|\x99\x01*\ +WPaK\x8a\x9c\x07\xc3\x00Z\x9f\x89*p\x8b\xd6\ +\x98(\x19\x7f\xd9\xedv\x5c\xcc#0|^]&+\ +\xc0\xb3!2\xa1\xdd\xc4\xc5CA\x00\x7f\xaad\x98\x88\ +\xc6\x07\x1d\x03W\xcd\x88\x07x{f\xff\x11p\x7f\x83\ +\xb5\xb7Z'+@*\xb4\x97x0\x04 \xea\xb0\x06\ +\xf1\x00\x8d\xd0\xc2\x9e\xaf\xc0e\x00j\x104\x04\xe6\xf1\ +\x95\xc0\x14I\x18\xc0\xbb0&\xbbw\xb6\xeeC\xe7\x00\ + \x80\xf7{\xda\xfa}\x93\x81v`W\x80U2\x03\ +\xb4\xe2\x8a\x5ccx\xe1(d&h\x8a\xba\xd7VC\ +\xff\x000\x00g?\x5cv\xc7p5\xf0\x0e\xd4d/\ +\x9f?\xef\x9b\xc1g\xff^k\x86\x5c\x04\x00\x01\xda\xf3\ +\x1b\xd7\xe7N\x89-`\x18\x00\xbb\x1a\xfc\xeb\xceg\x0a\ +\x04\xf8\x01\x00\x05\xf0\xf7\xad\xebs~\x05)\xbe{\x04\ +\x0c\xe0\xc3~\x9ev\xfb\x84\xa8\xb8<\x00\xe8\xa2O\xa9\ +\x80\x00\xbc~\xb8y~\xeb>\xf6\xcf\xcbS .\xbc\ +\xbf\x22&$va\xf8\xf2ozt\xb3\xcb\xdf?\x17\ +\x7fV\x15\x06\xe0\xd2\xf8e\xdeP\xdd\x11\x0d|~\xc0\ +IM\x18\x80\x8b\x9b\xfa,\x98\xf8\x104\x03\xb9q\x1a\ +\xe2\xa0&PTx`\x04\x9b\x14\xc5\x18\xaa\x9c\xd4!\ +\xbdEA\xfb\x02Ci\xdeF2\xf6\x14\xa4C\xe9\xc1\ +\x06\xa6\xb7*\x08\xe0qx?+\xb8\xf2 \xb7\x91\xbe\ +T\x1790\xc0\xd5\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x01\x00\x00\x00\x01\x00\x08\x03\x00\x00\x00k\xacXT\ +\x00\x00\x00\xa5PLTE\x00|\xf8\x00\x80\xf8\x08\x80\ +\xf8\x08\x84\xf8\x10\x84\xf8\x10\x88\xf8\x18\x88\xf8\x18\x8c\xf8\ + \x90\xf8(\x90\xf8(\x94\xf80\x94\xf80\x98\xf88\ +\x98\xf88\x9c\xf8@\x9c\xf8@\xa0\xf8H\xa4\xf8P\xa4\ +\xf8P\xa8\xf8X\xa8\xf8X\xac\xf8`\xb0\xf8h\xb0\xf8\ +h\xb4\xf8p\xb4\xf8p\xb8\xf8x\xbc\xf8\x80\xbc\xf8\x80\ +\xc0\xf8\x88\xc4\xf8\x90\xc4\xf8\x90\xc8\xf8\x98\xcc\xf8\xa0\xcc\ +\xf8\xa0\xd0\xf8\xa8\xd4\xf8\xb0\xd8\xf8\xb8\xd8\xf8\xb8\xdc\xf8\ +\xc0\xdc\xf8\xc0\xe0\xf8\xc8\xe0\xf8\xc8\xe4\xf8\xd0\xe4\xf8\xd0\ +\xe8\xf8\xd8\xe8\xf8\xd8\xec\xf8\xe0\xec\xf8\xe0\xf0\xf8\xe8\xf4\ +\xf8\xf0\xf4\xf8\xf0\xf8\xf8\xf8\xf8\xf8\xf8\xfc\xf8\xce\x99\xaa\ +w\x00\x00\x00\x09pHYs\x00\x00\x00H\x00\x00\x00\ +H\x00F\xc9k>\x00\x00\x04?IDATx\xda\ +\xed\xdd\xe1v\xd2@\x10\x05\xe0\x0d4\x05\x91b(\x82\ +\x14$\x16S\xc4\x88\x18\x13\xd3y\xffG\xf3\x8f\x9e\xee\ + %\x9b\x9e\xb6\xb6s\xef>@\x0f\xfbA\x93\xbd3\ +\x13p\x02\xbe\x1c\x01\x08@\x00\x02\x10@\x1c\xe0\x22\x00\ +\x01\x08\xa0\x01\xa0.}\x04 \x00\x01\x08@\x00\x02\x10\ +\x80\x00\x04 \x00\x01\x08@\x00\x02\x10\x80\x00\x04 \x00\ +\x01\x08@\x00\x02\x10\x80\x00\x04 \x00\x01\x08@\x00\x02\ +\x10\xe0\x05\xac\x9f\xd9|8\x02\x05\xa8\xf3t\xd2s\xce\ +\xb9\x1e @\x91\xcd\x87\xd1\xdf!\x96.\x16@\x9d\xa7\ +\x93\xf3cc<\x08\x00\xea\x8d\x07\x03\xa8\xf3\xf42>\ +9\xc8e\x18\xa0<\xfe\xc6\xc3\x00T\xbd\xa0Q>\xbb\ +\x00S\x87\x0dp\xe3\xb0\x01\xaa\x18\x1c`\xe2\xb0\x012\ +\x87\x0dP\xc6\xe0\x00c\x87\x0d\x909l\x80\xf2\x0c\x1c\ +`\xec\xb0\x012\x87\x0d\x10t\x07\xb0\x0cp\xe9\xb0\x01\ +2\x87\x0dP\xc5\xe0\x00~\x06\x88\x00\x01T\x08^\xe0\ +\x01\xa8*P\xbf\xc6\x03\x98\xf9\x1b\xdc\x0a\x1c\xc0\xd6\xdf\ +\xdfL\xe0\x00\xea\xbe\xb7\xbd\xb8\xc2\x03\xb8\xf2\xb7\x97\x09\ +\x1c\xc07\xff\xb6\x97\x08\x1e\xc0\xc0?\x02\x14x\x00+\ +\x7fsK\x81\x03(:\xea\x08\x80\x07\x90\xf8{\xdb\x08\ +\x1c\xc0\xda\xdf\xdaX\xe0\x00T\x08\xec\x14x\x00\xaa\x13\ +\xba\x128\x00u\x06\xfes\x05D\x02Pg`\xf7E\ +\xe0\x00\x96\xfe\xbe&\x02\x07\xf0\xc3?\x03wK<\x00\ +u\x04H\x05\x0e@\xd5\x81\x07\x02\x07\xa0\xeb\xc09\x1e\ +\xc0\xfc\xa0\x0c\x84\x06\xb0\x8b\x0e\xca@h\x00C\x7fO\ +k\x81\x03P!h(p\x00\xea\x0a\x18\xed\xf0\x00>\ +\xf8;\x9a\x0b\x1c\xc0\xa9+ \x04\xc0\xf0\xb0\x10\x0e\x06\ +\xf0\xd9\xdf\xcf\x85\xc0\x01\xd4\xe7\xf7\x9e\x011\x00T\xfb\ +;\x118\x80B\x0d@\xec\xf0\x00\xc6\xf7\x94AP\x00\ +6\xee\x9fV\x18\x16\xc0\x9b\xfbS \x04\xc0\xb5\xbf\x97\ +N\x09\x07\xa0\xcb \x0b\x81\x03P\xb7\xc0\xb3\x0a\x0e@\ +\xdf\x02S\x81\x03P\xcfD\xf5j8\x80\xdc\x9d\xa8\x03\ +!\x00\xa8\x14\xd8\x178\x00=\x11~\x03\x07p\xdb?\ +U\x08\x04\x00\xf8\xe4\xf4D,\x1a\xc0\xaf\xb8)\x06\x1b\ +\x07P\xcd\xf0\xa31\xd86@\xd9i\x8c\xc1\xb6\x01f\ +\xcd1\xd84\x80>\x04\xcf\x04\x0e\xe0}@\x0c\xb6\x0c\ +\xf0\xdd\x05\xc4`\xcb\x00\xe3\x90\x18l\x18@\xa7\xa0T\ +\xe0\x00FA1\xd8.\xc06,\x06\xdb\x05\x18\x85\xc5\ +`\xb3\x00\xdb\xc0\x18l\x16`\x18\x18\x83\xad\x02lB\ +c\xb0U\x80ah\x0c6\x0a\xb0\x09\x8e\xc1F\x01.\ +\x82c\xb0M\x00}\x0b\xd8\xe3\x01\xbc\xf3_\xfc\xa5\xc0\ +\x01\xe4\xad\xaf\x00\xc6\x00\x92\xb6\xb7\x00c\x00;\xf5\xda\ +\xbf\xe2\x01LZ\x1e\x02\xad\x01\xec\xa3v)\xc0\x1c\xc0\ +\xac]\x0c4\x07P\xaa\x0f\xc05\x1e\x80\x1a\x88\xe9\xd6\ +p\x00U\xb7E)\xd8\x22\xc0*\xbc\x19d\x12\xe0\xf6\ +\xbcu\x0c\xb2\x05\xa0\x1e\x0b86\x16o\x1d\xc0\xff~\ +\x1c7\x128\x80\xb6\xa5Ps\x00\xe3\x07\x1d\x82\xec\x00\ +\xec\xdb5C\xec\x01\xa8SpO\xe0\x00\xf4!h\x8d\ +\x07\x90>\xfc\x03`\x03\xa0\xe9\xb7b\x1ey\x15/\x0d\ +\xe0\xe6y\xf7\x1f\xd2oz^\x80\x04\x1c`\xef\xc0\x01\ +\xe6\xe0\x00u\x17\x1c\xe0\xda\x81\x03\x0c\xc0\x01r\x07\x0e\ +0\x05\x07\xa8\x22p\x80\xbdC\xff\x17@\xff\x04\xc8[\ +^\x04\xc1\x01Rt\x80-:@\x89\x0e 1:@\ +\x82\x0ep\x85\x0e\xf0\x08\xaf\xc4\xe0\xb3\xc3\x04 \x00\x01\ +\x08@\x00\x02\x10\x80\x00\x04 \x00\x01\x08@\x00\x02\x9c\ +X\x0d\xbf;\x5c\x9b\x07h()V\xe6\x01vO?\ +\x10\xf6\xb2\x016\xa7\x01r\xf3\x00\x0d}\x95\xcc<@\ +Cgmi\x1e\xa0a\xc84\xb1\x0e\xd04^\xd0\xb5\ +\x0e\xf0\xb1\xa9\x07\x90\x1b\x07h\x1c\xb3\x9e\xd9\x06X7\ +v\x81\xba\x95e\x80*`\xce~i\x19 d\xba$\ +*\xec\x02\xac\x82Z\xa1\x83\xda*\xc0\x22\xb0\x19\x9c\xd4\ +&\x01\xf6\xa3\xe0v\xf8`g\x0e\xa0\xdeL\xda\xcc\x17\ +F\xd3\xfc\x15\x03\xac\x96\x07k1\xbdh?]\x19'\ +\xf3\xbb\xbfP\xbc*\x80'\x18%\xdd\x12\x80\x00\x04 \ +\x00\x01\x08@\x00\x02\x18(\x8a\xfe\xafE\x00\x02\x10\x80\ +\x00\x04 \x00\x01\x08@\x00\x02\x10\x80\x00\x04 \x00\x01\ +\x08@\x00\x02\x10\x80\x00\x04 \x00\x01\x08@\x00\x02\x10\ +\x80\x00\x04 \x00*\x00\xda\x22\x00\x01\x08p\x07\x80\xbb\ +\x08@\x00\x02\x10\x00z\xfd\x06\x0eL\xb1gp\xf4v\ +\x0b\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x09\x8e\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x01\x00\x00\x00\x01\x00\x08\x03\x00\x00\x00k\xacXT\ +\x00\x00\x00\xf0PLTE\xf8\x00x\xf8\x00\x80\xf8\x04\ +\x80\xf8\x08\x80\xf8\x0c\x80\xf8\x10\x80\xf8\x10\x88\xf8\x14\x88\ +\xf8\x18\x88\xf8\x1c\x88\xf8 \x88\xf8 \x90\xf8$\x90\xf8\ +(\x90\xf8,\x90\xf80\x90\xf80\x98\xf84\x98\xf88\ +\x98\xf8<\x98\xf8@\x98\xf8@\xa0\xf8D\xa0\xf8H\xa0\ +\xf8L\xa0\xf8P\xa0\xf8P\xa8\xf8T\xa8\xf8X\xa8\xf8\ +\x5c\xa8\xf8`\xa8\xf8`\xb0\xf8d\xb0\xf8h\xb0\xf8l\ +\xb0\xf8p\xb0\xf8p\xb8\xf8t\xb8\xf8x\xb8\xf8|\xb8\ +\xf8\x80\xb8\xf8\x80\xc0\xf8\x84\xc0\xf8\x88\xc0\xf8\x8c\xc0\xf8\ +\x90\xc0\xf8\x90\xc8\xf8\x94\xc8\xf8\x98\xc8\xf8\x9c\xc8\xf8\xa0\ +\xc8\xf8\xa0\xd0\xf8\xa4\xd0\xf8\xa8\xd0\xf8\xac\xd0\xf8\xb0\xd0\ +\xf8\xb0\xd8\xf8\xb4\xd8\xf8\xb8\xd8\xf8\xbc\xd8\xf8\xc0\xd8\xf8\ +\xc0\xe0\xf8\xc4\xe0\xf8\xc8\xe0\xf8\xcc\xe0\xf8\xd0\xe0\xf8\xd0\ +\xe8\xf8\xd4\xe8\xf8\xd8\xe8\xf8\xdc\xe8\xf8\xe0\xe8\xf8\xe0\xf0\ +\xf8\xe4\xf0\xf8\xe8\xf0\xf8\xec\xf0\xf8\xf0\xf0\xf8\xf0\xf8\xf8\ +\xf4\xf8\xf8\xf8\xf8\xf8\xfc\xf8\xd6\xac>\xe0\x00\x00\x00\x09\ +pHYs\x00\x00\x00H\x00\x00\x00H\x00F\xc9k\ +>\x00\x00\x08DIDATx\xda\xed\xddk[\xda\ +H\x14\x00\xe0@R\x01\x05T\xac\xc8J\x11a-V\ +\xa4\x5c\xaa`\x15\xb9\x88`\x00I\xce\xff\xff7\xfb\xa1\ +\xbb\xed\xb6\x0fs\x83\x990\xc9\x9c\xf9\xacy\x987\x99\ +\xfb\x99\x19\x0b\x0cO\x16\x02 \x00\x02 \x00\x02\x80e\ +`B\x00\x04@\x80\xdf\x01\x8c\xaa\xfa\x10\x00\x01\x10\x00\ +\x01\x10\x00\x01\x10\x00\x01\x10\x00\x01\x10\x00\x01\x10\x00\x01\ +\x10\x00\x01\x10\x00\x01\x10\x00\x01\x10\x00\x01\x10\x00\x01\x10\ +\x00\x01\x10\x00\x01\x10\x00\x01\x10\x00\x01\x10`\xf7i\xe5\ +N\x86O\x0f\xdd\xce\xa3a\x00\xf3\xe7\xbb\x9b\xf2\xd9Q\ +2\xfe3\x96\xa7\xb84\x04\xc0\x1f\xb7/s\x1f\xd6D\ +3%\x9f\xa2\x0f\xe0\xf5\xafO\xe2\xe4\x80\xae\xaa\x17i\ +\x80y\xbb`3B\xda2\xe3\xc8\x02\xbcw\xf21\x8e\ +\xa0\xbex=\x9a\x00\xe3\xb2\xcd\x1b\xd7\x98\x9bE\x0f\xa0\ +w,\x12\xd9\xe9\xb8\xd1\x02\xf0;i\xb1\xd0\xd6F\xb4\ +\xbe\x80{\xc1\xec[\xb5H\xd5\x01\xfd\xachhs%\ +J\x95\xe0\xec\x9c#\xc7v6_\xba\xaa7Z\xedN\ +\xbbY\xff|\x1d\xa1f\xd0\xaf3j\xfeX\xa6\xf4\xb5\ +?\x8f\xec`hD\xff\xfa\xd3\x95\xdeR\xfd\x8f\xd8\x1d\ +\x80_\xa3u{\xb27\xaf\x11\x1f\x0e\x8f)\xaf\xdf\xa9\ +\xbcD~>\xa0A\x1e\xf0\xa4\xdb\x1e@\xc4\x01\x16g\ +\xc4\xec\x1f\xf5\x0c\x98\x11\x1a$I\xd9?\xe8\x9a0%\ +\xd6\x22}\xfeN\xc37`N\xd0\xbb \xbd\xfes\x17\ + \xfa\x00\xee\x11!\xfb{]\x00\x03\x00^H\xc5\xff\ +t\x0e&\x00\xf4\x1dB\xfe\xaf\x01L\x00\xb8'T\x7f\ +N\x0f\x8c\x00h\x10^\x7fr\x02F\x00\xd4I]\xbf\ +\x19\x18\x01pK\xc8\xff\xe1\x02\x8c\x00 \xe5?\xb3\xd3\ +\xfc\x07\x07@*\xff\xe99\x18\x01\xf0\x8d\x90\xff\xc4\x0c\ +\x8c\x00x\x22\xb4\x7f\xf6\x08\x8c\x00x!\xf5\x7f\xba`\ +\x04\x80K\xea\xffV\xc1\x08\x00\xef\x90\x90\xffc\xdf\x0c\ +\x802i\xf8?\x03#\x00\xda\xa4\xf1\x7f\x1b\x8c\x00\x18\ +\x93\xe6\x7f\xf2`\x04\xc02EZ\xf0\x9a\x99\x01P\x22\ +\x15\x80:\x18\x01\xf0\x9d\x94\xff}\xdf\x08\x80e\x82\x04\ +p\x0fF\x00\x14\x89\xeb\x1f`\x04\x00\xb1\x00X\x0fF\ +\x00x\x07\xc4\xc5_0\x02\xe0\x86\xf8\x01t\x8c\x00p\ +\x89\xf1\x1f\x09\xcf\x08\x80b0q^\xda\x02\x8c\xc8\x11\ +\x10S#\x00\xc81\x0090\x01`H\xfe\x00\x9aF\ +\x00\xe4\xc9\x00\xae\x09\x00\x94\x0f\xe0\x18L\x00(\x90\x01\ +\xaeM\x00\x98R\x82\x00\x07&\x00T)Q\x80\xbe\x01\ +\x00+\x87\x0c\x90\x07\x03\x00\x9aVH\xaa\x00U\x00\x19\ +\x0a\xc0\xa3\x01\x00cZ\x14\xf8\xc2\x00\x80+J\xfe\x93\ +\x10}\x00?i\x85\xa5\x0eT\x03\xf0D+\x01W\x06\ +\x00\x94h\x00-\x03\x00\xf6h\x00\xfd\xe8\x03\x0c\xa9[\ +\x81(+b\xb3n\xbd|\x9aM:v\xccN\xa42\ +'\x17\xf5\xee$\x94\x005\xeaF0BG\xf8\xadu\ +\xbe\xee\xc3q\x0a\x8dq\xe8\x00\xa8\x9b\xc1\xd6\xb6\x82\xab\ +V\x8e\xb6}\xac\xee\x86\x0a\xc0\xa5\x96\x805\x93\x01n\ +\xd5al\x9d\x8c\xe5\x07!\x02\xe8P\xf3R\xf8\xf3\xcf\ +\x17\xd58\xcf\x86\xd9\xfc04\x00ejF.\xff\xf8\ +\xeb\x96cq\xa6\xe2\x22$\x00i\x81\xad\xdfS\x91s\ +\x03\xf6\xeeB\x01\xb0\x10\xd8\xfb\xdf\xb6-\xa1t\xbe\x0a\ +\x01@\x8f\x9e\x87\xff\xad\x0az%\xe1[\xc1\xb2o\xfa\ +\x03\x5c\xd1\xb3\xf0ko\xc8\xfch\x83{\xd1\x12C\xed\ +\x01>\xd2s\xf0\xf3(\xa4\xd7\xd4F7\xc39C\xdd\ +\x01\xf6\xe8\x19\x18\xfd\xd7_v\xac\xcd\x923\xd6\x1b`\ +\xce\xf8\xfd\xff\xee\x8a\x7f\xb6\xadM\xd3\xde\xab\xd6\x00O\ +\x8c\x9f\xffc,\xd4\xdf<\xff\x96\x95Y\xe9\x0c\xd0`\ +\xfc\xfa9\x00\xc0p\x9b\xfc[VQg\x00V\xd3\xb6\ +\x04\x80\xc9\x87-\xef\xc8lj\x0cp\xc2\xf8\xed+\xca\ +\xf6\x01\xee$1\xccV:\x00\xabq\xf3\xe0=km\ +\x9d\xce\xb4\x05\xf0Y\x07\xc2\xf9\xfe\xa9\x8c\x8bb{\xba\ +\x02\xccX\xbf\xdc\xafH\xb9)7\xe5k\x0a\xf0\xcc\xfa\ +\xe5mIw\x05\xb75\x05\xb8c\x9e\x87(\x09\xe0\xc0\ +\xd7\x13\xe0V\xb4>?\xbd\xbe\x1f\xb9K\xdf\x9bO\xba\ +\xb5\x93\x98\xc0\x7f~\xd3\x13\xa0&\x92\xfb\xf8\xf9\xc3\xef\ +\xefq\xd1\xcap\xff\xf3\xa1\x9e\x00\x97\xfc\xd9\x8f\x95\xd7\ +\xb5\xe6=n\x82\x17-\x01\x8a\xfc=\xfa\x11\xa1!\xad\ +qV\x13U-\x01\xb8\x1b\xf9\x229^z\x98\xe0\x9b\ +\x1b\xf1u\x048\xb4$\xbc\xbe\x19_1x\xd4\x11\xe0\ +\x80/\xff%\xc6\xc4*\x97\xc0\x95\x8e\x00|\xf3\x5c9\ +\xd6\xd7;\xdf\xe7\xa9Et\x04\xe0*\xbe6;\x5c~\ +\xccS\x13\xba\x1a\x02\xec\xc9:\x17\x98\xa7\xcb\xdc\xd1\x10\ +\xc0\x966\x90)\x04s\xc0\xael\x80\xb8\xb4\x17\xf7\xc6\ +\xb6\xcci\x08 \xb1\xfd\xae\xb3g\xc8\xc3\xf9\x05|\xe6\ +|\x94\xc7\xaeP\xa7\xfa\x01p,wp\xc7\xfd\xb0G\ +\x96\x0f\xfa\x01\xb0\xdf\xda>\xf7\xb3VL\xcdV\x18;\ +B\x02U7s\xf6\xac\xa6\x1f\x00\xfb\xa8|\x81\xe9\xcc\ +\xf1\x96=\xea]\x00d\xa5v\xdfXO;\xd5\x0f\x80\ +\x19\xf2\x22\x14,\xfeE\xfdh@6\xc0Gf\xb4\x97\ +\xc8\xd3Xe\xe0 \x843B\x15\x99ujR?\x80\ +\xaa\x8c\x81\xd0\xaf\xf4\x89\xfe\xb0\x0f\xfa\x010\xfb\xafb\ +\xe7\xc7\xb5\x18\xd3\xca\xfa\x01|c\x01<\x83\xc4J \ +\xa6\x1f\x00+@\xc4\x12\x8bo\xf1\xe9c\x0b[?\x80\ +\x17\x16\x80\xe0\x11\xa2\xf4\xc9\xc1\x84~\x00\x0b\x16\x80\xe0\ +\xbd)\xe7ak\x06\x99\xc3A\xc1\xe3Sja\xeb\x08\ +1\xbb\x82\x82\xab\x19-\xd1\xcd\x07;\x07`\x05I\x09\ +>\x8e\x1ey\xfcQC\x80\xba\xdc\x220\xa0>\xec\x93\ +\x86\x00=v\x94\x98H\x9a\x86m>\x80\xf1\x8b\x85\xb7\ +N\xcfU\xc7\xc9H\x07`t]DWs\x96|\xa1\ +\xe7\x1a\x01\xb0\x9a\x01\xc1\xad\x90\x1eG\xe0\xb1f\x00\x8c\ +\xf1`\x7f\x83\x1fH\x1c\x0a\xf8:\x02te\x8e\x06\xc1\ +W\xbd<,\x1f\xc0\x95:\x93\xbd\xa2=\xab\xac%\x00\ +c\x16\xa7&\xb1\x12l\xeb\x09\xf0If\xac\xff\x5cb\ +\x85\x1a\x14\x00\xbd\xfb.x\x9c\xecD\xedl\x80\x12\x80\ +\x99\xcci\xbc\xbe\xda\x91\x80\x9a\xed\xf3\x19\x893\x22\xb4\ +6\xe5VW\x00\xfa\x18\xfe\xbb\xd0\xb3\x9aj\x17\xc7w\ +q\x84\x86\xd8IZ\x94n\x95\x9c\xb3\x89U\x00\xd0\xd7\ +\xc8\xc5v\xbb(?\x96P\x09\x00\xf5\x04\x01\xb1\xd3\xf4\ +(\xab\xcdc}\x01\xe8s\xe3\x22\xa7a\xac\xc8;\x08\ +\xd2\xa0/\x00\xec\xcb\xaa\x04\x06\xca\xf7\x0e\xaa\x01\xb8\x91\ +\xd5\x15\x22\xefCuV:\x03\xb81I\x8bC\x05\xc5\ +\xbb\x05\x94\x1d\xa8x&\xa7\x0c\xf8\xb6\xdaN\x80:\x80\ +\x9e\x9c8\xb1'\xf5[G\x15\x01\xd0\xbb\xc3\xdcqR\ +\xc4\x1dH\xb1\x89\xee\x00\xf72b|=\xe2:\xdb\x05\ +\xe8\x0e@\x8f\x97\x1bn\xa9h\xbb\xfa\x03\xdcI\xf8\x04\ +\xb2\x0a\x17D\x94\x03\xf8\xe9\xad\xa7F\x1f\x89\x1b\x0e\xde\ +C\x00@o\x08\xb8\xb2p\xa4p=$\x00\x00\xf8k\ +\xcb \xd7\x96\xea>\x90j\x00\xd7\xd9\xaa\x10\xb8\xa4\x83\ +F\xd2^H\x00\xa8\xb39\xcc\xfbf}\xd2\x19\x93\xf1\ +\x11\x84\x05\x00r\xd4\x00\xa7\xd9f} \xc9w4)\ +\x05\x98Q7\xd1\xa5h\xbd\xb9\xab\x00Z@\xf5\x00\xe4\ +\x86\xec\xc7\x88\x96\xb8PJ>h\xa4\x08\xa1\x02`l\ +\xfb\x89\xd5\xd6O\x8f\xcd\x89\x87\x11\xe5\xbc\x90\x01\xb0v\ +\xbdd\xd74\xe9~\x93\xd8|\x9c\x84\xe1D\xc9?\x12\ ++~>\xd7\xfb\xfd\xa5\xbe7\xc8\x8b\xabg\x0a\xeeh\ +S\x0e\xe03w\x108\xa5\xce\xf8GQX\x0e\xbe\xe6\ +)\x116E\x15\xb7\xb3(\x07\x00\xbf\xcc\xb3\x9f\xdaI\ +\xa5\x93\x8c \xd3\x8a\x92\xdbi\xd4\x030\xa6Hy\x93\ +\xad\xe8\x96\xd6 \x00\xa0ko\x9d\xff\xcc+\x84\x18\x00\ +^3[\xe6\xbf\xac\xec\x8a\xca`\x00\xc0\xfb\x1c\xdb\xe6\ +\xf5+\xbc\x94! \x00\x80\xe1\xe1\xc6\xa5\xffV\xe5\xdd\ +\x5c\x81\x01\x00\xb4\x13\x9bd?~\xa1\xf6v\xc2\x00\x01\ +`u+L`\xff\xad\xfar\xc6 \x01\x00\xbc\xb6\xd0\ +q\x9a\xc9/K\x80H\x01\x00\xc0\xe0\x92\xf3HY\xa7\ +\x1c\xc8}4\x81\x03\x00\xf8\xdf+\xccS\x06R\xa5^\ +@\xb7\x12\xee\x00\x00\x00`\xda\xb9\xcc\x12z\xfd\xb1\xcc\ +\xe5\xdd\x1b\x04\x96v\x04\x00\x00\xe0\xbfvo\xab\x85\x5c\ +&\xe9\xd8\xb1\x98\x93<\xc8\xe6\xce\xaa\xcd\xc7i\xc0\xf7\ +Q\xee\x10@\x8f\x84\x00\x08\x80\x00\x08\x80\x00\x08\x80\x00\ +\x08\x80\x00\x08\x80\x00\x08\x80\x00\x08\x80\x00\x08\x80\x00\x08\ +\x80\x00\x08\x80\x00\x08\x80\x00\x08\x80\x00\x08\x80\x00\x08\x80\ +\x00\x08`*\x80i\x09\x01\x10\x00\x01~\x01\x98\x9b\x10\ +\x00\x01\x10\x00\x01\x8cN\xff\x00\xf3k\xd4\xa5uQ\x85\ +3\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x06\xe8\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x01\x00\x00\x00\x01\x00\x08\x03\x00\x00\x00k\xacXT\ +\x00\x00\x00\x8aPLTE\x00\xfcx\x00\xfc\x80\x08\xfc\ +\x80\x10\xfc\x80\x10\xfc\x88\x18\xfc\x88 \xfc\x88 \xfc\x90\ +(\xfc\x900\xfc\x900\xfc\x988\xfc\x98@\xfc\x98@\ +\xfc\xa0H\xfc\xa0P\xfc\xa0P\xfc\xa8X\xfc\xa8`\xfc\ +\xa8`\xfc\xb0h\xfc\xb0p\xfc\xb0p\xfc\xb8x\xfc\xb8\ +\x80\xfc\xb8\x80\xfc\xc0\x88\xfc\xc0\x90\xfc\xc0\x90\xfc\xc8\x98\ +\xfc\xc8\xa0\xfc\xd0\xa8\xfc\xd0\xb0\xfc\xd0\xb0\xfc\xd8\xb8\xfc\ +\xd8\xc0\xfc\xe0\xc8\xfc\xe0\xd0\xfc\xe0\xd0\xfc\xe8\xd8\xfc\xe8\ +\xe0\xfc\xe8\xe0\xfc\xf0\xe8\xfc\xf0\xf0\xfc\xf0\xf0\xfc\xf8\xf8\ +\xfc\xf8`;^\x10\x00\x00\x00\x09pHYs\x00\x00\ +\x00H\x00\x00\x00H\x00F\xc9k>\x00\x00\x06\x04I\ +DATx\xda\xed\xddaw\xa28\x14\x06`Ba\ +`\xa4\xba\xd0vtuQ*2Pb\xf8\xff\x7fo\ +;\x9d=g\xdb\x01\x14\x85$7\xe4\xcdw\xcf\xe9}\ +*\xe1\xe6\xe6&:\x8d\xe5\xc3\x01\x00\x00\x00\x00\x00\x00\ +4\x8e\x85\x03\x00\x00\x00\xc0W\x00\xab\xa6>\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00&\x1eU\x9e\xae\x93(\xf4]\x971\xd7\xf3\x830\ +J\xd6iV\x08\x1b\x00\xc4q\xf3\xe8\xf6u,\x06\xf1\ +\xf6\xc8\xe7\x0cP\xed\x1e\xd9\xd5\xbe\xcdp\x9d\x8bY\x02\ +\xf0\x7f\x16C{W\xd9\xea \xe6\x06P$\xec\xa6\xfe\ +]7\xc9\xe7\x04p\x8c\xee\xe8a\x0eR1\x13\x80\xe3\ +\xe2\xce6no\xcbg\x00PD#:\xd9\xdd\x9d\xe9\ +\x00u2\xb2\x99?8\x1a\x0d\x90\xba\xe3\xcf3,k\ +c\x01\xca\xc5$':\x1e2C\x016l\xaaC-\ +O\xc2@\x80\x89\xfe\xfd\xff\xcd\x04\x95q\x00S<\xfd\ +\x9f\xdf\x88\x85Y\x00<\x9e\xfah\x97{4\x0a\xe0\xdb\ +\xf4\x87\xdb\xd8\xc1 \x00.\xe3x\x1f\xcb\xcd\x01(\xa4\ +\x1cptO\xc6\x00\x1c\xe5\x1c\xf1\xf4*S\x00RI\ +\x87\x5c\xbf\x0bC\x006\xb2\x8e\xf9\xbe\x18\x02\x90\xc8\x02\ +p23\x00\x1e\xa5\x01x\xdc\x08\x80@\xdeY\xf7\x17\ +#\x00\x98<\x00V\x1a\x00\xc0\x1d\x89ci\x00\xc0\x80\ +<\x88\xb9w\x7fK\x0a\xfa\x00\x97\xf2 o\xb5\xcd\x8a\ +\x8f\x99L\xf0\x22\xdb\xae\xbc\x9b\x01\x12\xfa\x00\xbdy\xd0\ +b\xdb~\x82\xcbMx\xe3,\xc0\xc9\x03t\xe7A\xee\ +\xba/\x93=\xc57=\x0f\x7f\x93\x07\xe8\xca\x83\xbc\xdd\ +\xa54\xb6\x5c\xdeR\x1e\x22\x0f\xd0\xde\x09`?\xceW\ +>\x93\xdd0\x19T\xd4\x01ZyP8`\xe6\xae\x87\ +\x7f\x09v\xd4\x01\xfe|\xa2\xe3a\x8b\xb8\xe7\xa1\x00\x8f\ +\xc4\x01\xfe\xcc\x83\xd6C?\xb8\x1e\xfa\x1e \x0eP\xdc\ +\x19\xff\xf0U\xe4O\xda\x00\xaf_\xfe\xd8\xbf\xc6M\x9f\ +\x9d\xe3@\x1b\xe0K\x1e\xe4\xdf\x94\xb6\xd4\xc3v\x13\xd6\ +\xb4\x01\xbe<\xca\xfb\xdb>{\x18\x04\xb0\xa2\x0d\xf0\xf9\ +I\xf6\xc7\xe7\x10])5m\x80hL\xfd\xe24\x04\ + \xa4\x0d\xf09\x0f\xba}3cH>\xe4\xd3\x06\xf8\ +\x94\x07\xb1\xdb\xeb\xd8C\xf6\x14\x5c\xd2\x00|d\xf9\xc6\ +W\x99\x09\xc9\x00(Ff\xed/\xa6\x7f\x03^G\xa6\ +l\xf9\x80\xe28i\x80t\xec\x1f\xca\x14V\x04d\x00\ +\xac\xc7\x96\xef\xae\xa7\x02\x11i\x80dl\xce~}Q\ +\x98\x90\x06\xf8\xf4\x0f\xbc\xaf\xc3oo\xf8Z \x18\x9b\ +\xb0\xe5\x86\xaf\x06\xd9\xd8\x7fT\xa9poD\x02\x00\x1f\ +\x93\x07\xff^\x13\x9b]\x11*\xc6\xe4\xc1\x1fC\xa8{\ +\x09\xc8\x00\xc8\xc6oc^\x03\xd8\x90\x06H\xc7W\xaf\ +\xaf\x01\x1ci\x03\x04\xee\xc8\xa9\xea|m% H\x03\ +|Lc?\xf3C\xba\xbd\xfb\xd3\xca\x0abD\x8f\xce\ +VW\x00\xf6s\x078\x19\xbf=>rd\x97\x01\xe2\ +f\xee\x00;e\xef\x00\xa2\x00/\x8a\x0a\xa2d\x01.\ +\xd7\x03\xb6\xf3\x07\xb8\xd8*\xe1\xf2\xd9\x03\xd43\xe8\x14\ +\x95\xf7\x12`o\xf3\x07\xb88\x07>7\xf3\x07\xb8t\ +\xde\x90U\xf3\x07\xe0l\x06\x07&\xc6\x8c\xbd\xbaW\x00\ +M\x80XM\x7f\x1cY\x00\xe1\xaah\x0b \x0cp\xa9\ +G\xe6d\x03\xc0JQ\x9f\x00\x00\ +\x07\xccIDATx\xda\xed\xddiC\xdaL\x10\x00\ +\xe0\x1cP\x90\xa3(-R\x81\xaax\x03\xe5\xa8\x82\x22\ +E\xa8\x81\x0a\x91d\xfe\xff\xcf\xe9\x87\xbe\xafr\xe4\xce\ +&f6\xb3\xdf#\xd9G\xc81;3+@\xcc\x87\ +@\x00\x04@\x00\x04@\x00 \xc4p\x10\x00\x01\x10\xc0\ +&@\xac.}\x04@\x00\x04@\x00\x04@\x00\x04@\ +\x00\x04@\x00\x04@\x00\x04@\x00\x04@\x00\x04@\x00\ +\x04@\x00\x04@\x00\x04@\x00\x04@\x00\x04@\x00\x04\ +@\x00\x04@\x00\x04@\x00\x04@\x00\x04@\x00\xac\x87\ +\xae\x0cZg\x95/\xf9tR\x96\x04)\xf1)\x9d-\ +V\xce[}E\x8f\x03\x80\xd2=\xfe,\x99\xa4,J\ +\x85Zg\xc63\xc0\xea\xae\x96\xb2M\xdcLUo_\ +\xb9\x04\xd0\xee\x0e%\x87\xc9\xab\xd2\xb7\xbe\xc6\x1b\xc0\xe4\ +Xv\x95\xc0\x9b8\x9fs\x04\xa0\xff,\xb8\xcfa\x16\ ++\x13N\x00^\x1b\x9f<\xe6qW\xe7\x1c\x00\xa8W\ +\x09\xef\x99\xec\xd2\xf9\x0a9\xc0\xab\x9f\xe9\x0b\x82 d\ +\xc6\x98\x01\xb4V\xd2w9\x83x\xa6\xa1\x05\xb8K3\ +\xa9\xe88X\xe2\x04P\xf7Y\xd5\xb4\xa4\x9fQ\x02<\ +\xb0\xab\xea\x91\xc7\x18\x01\xae\x18\xd65%\x9e\x10\x02\x1c\ +\xb2\xac\xecJL\xf1\x01$Y\x02\x08\xa9%6\x809\ +\xe3\xea\xbe\xa2\x8e\x0c\xe0\x8eu}\xe3\x052\x80s\xd6\ +\x00\xe2\x04\x17\xc0\x01\xf3\x12\xd7}T\x00\xba\xcc\x1c@\ +\xe8`\x02\xf8\x1d@\x95sJG\x04\xd0\x0d\xa2\xce\xfb\ +\x16\x11\xc0I\x10\x00yD\x00\xf9@J\xfd'h\x00\ +4\xd1\xf4n\x96\xab\x5cw\x87OSE\x99\x8e\x07\x9d\ +\xcb\xf2\x9e\x1b\x80K4\x00c\x93\x17\xdb\xb3\xe1N\x8c\ +k\xd9?q\x1c3\xcc\xa1\x01h\x19\x86yGf\xf7\ +\xcca\xd9\xa1\xc0\x1c\x0b@\xd5 \xc4k\xb9\xe8\xa5T\ +\x1c\x01\x0c\xb0\x00dv\xbe\xbc\xb61\x8dQ\xd6\x01\xc0\ +\x15\x12\x80\xe5\xf6\x89\x9f8\x88l\xaej\xf6\x00e$\ +\x00\xc3\xad_\x7f\xcf\xd9a\x0d[\x80\xcfH\x00n6\ +\x977\x86N\x8fk\xdb.\x13 \x01\xd8\x08\x87\x89\xf7\ +\xce\x0f\xbc\xb0\x01H\x22\x01\xd8\xb8\xb1\xf7\xdc\x1c\xf9\xc5\ +&(\x80\x03\xe0\xcf\xc6\xf5\xcf]$\xcdz)M\xc6\ +\x01\xd0_\x7f\x81\xd1\xfc\x5c>\x90\xfe\x04\xd6~\xc9\xa2\ +\xdbx\xf6\xca2\x9a\x9c\xc6\x01P\xf4\x13\xca\xb4\x0c&\ +\x16q\x00\xbc\x87\xc3\x92\xee\xf3\x9d\x9e-S&P\x00\ +\xacM\xe1\x07\x8b\xc7\xe8\xb5q\x83\x02\xa0\xe7/\x8ag\ +\x15L\x1a\xa2\x008};\xdf\x06\xebp\xe2\x12\x05\xc0\ +[J\x98\xacz9\xfc\x97\xf9\xfc\x0b(\x02\x22\xda[\ +>\xe4wO\xc7\xbf\x84\xf76\x1c\x0c\xc0\xd3\xdb\xf9z\ +\xcbkP\xcd\x01~\xa3\x00h\xfb|u\xd3C\x5c\x1c\ +\x0b\x04\xa0\xeas=W3\x05\xe8\xe1\x00\xc8\xfa\x8c\xe2\ +/M\x9f\x83\x91,\x8d\xfd\xec\xfd\x1b?=\x1e?\xe3\ +bq\x94]<\xed=\xae\xaa\xc7\x04\xc0,.\xf6\x0b\ +b\x02pl<\xff\x13\x88\x0b\x80\xf1\xcbPN\x8b\x0b\ +\x80qz\x99\x1cL\xbal\x14\x01\x9a\x86\xc1\xd0\x07\x88\ +\x0d@\xce\x08\xe0\x07\xc4\x06`d4\xff\x06\xc4\x07\xa0\ +\x18B\x1c(\xca\x00\x06I\xf6b\x07\xe2\x03\xf0\xba[\ +d\x22\x0f F\x00\xbb+\xe4{S\x88\x11\xc0nf\ +MI\x85\x18\x01\x0c\xb6s\xcb\xa4V\xc0\x9f\x18-\x80\ +\xbb\xed\xf9\xe7~C\x9c\x00\x1a[\xf3\x97\xae\x83o\xa8\ +\x10!\x80\xe5v\xa6\x5cQ\x09\xe1S\xa3\x03\xd0\xdbZ\ +\x14N\xdf\x85\xf2\xb1Q\x01\x18l\xa5\x16\xcbW\xdc5\ +P\xb0\xfa\xf2\xb7\xb6\xde\x7f\xa4\xfa2\xac\xcf\xfex\x00\ +\xa5U\x92vj\xe6\x07S\x95S\x00u\xf9\xdfX\xcc\ +\x95\xa7A\xab^4\xcd\x08J\xee\xd7\x1a\xc3\x05o\x00\ +\xaa\xe8\xb6l\xba\xda}\xe1\x09`\xe0\xa5H\xa2\xd0\x5c\ +p\x03\xe0\xb1\x8eF\xac\ +\x89\x92w\x81\x1aF\x80\x7f\xa9O\x99\xf2E\xe7a2\ +W5\x00\x00m9\x1b\xf5\xae\xca)\xf7\x02S\x84\x00\ +\xfae\xf1\xfa\xd1\xb8\x80fq[q\xf9\x94\x5c\xe1*\ +*\x0c\x00\xa0\xdf\x1f\xbayL\x10\xe7\xbc\x01\x00\xc0\xfc\ +\xd8\x05\xc1%\x87\x00\x00\xb3#\xe7-\x85\xb8\x04\x00\x18\ +8\xee&2\xe6\x13\x00\x96\xa5p{\xcbE/IJ\ +\xaf;\x03\xf8\xcc+\x80I\xa6\xe8\xeeP\xb9\x05\xb0\xa9\ +\x1f\xff\x7f\x8c\xf8\x05X+\xbc\xb4\x18-\x8e\x01t'\ +\xcd\x18O9\x06\x80\x85\x83'\xe3\x12\xcf\x00N\x96P\ +\xf2\x5c\x038\x08\xa0\xa6\xf8\x06\x18\xd9GE\xf8\x06\xb0\ +\xff\x0aH\x9c\x03\xd8\xe6R\x88\x9c\x03\xe8v\xad\xc9\x93\ +\x9c\x03\xd8F\xd13\xbc\x03<\xda\xa5\x0e\xf1\x0e\xb0\xb2\ +\x89\x0f}\xe5\x1d\xc0\xee>p\xc4=@=\xc6\xef\x02\ +\x00`\xdb\x5c\xb1\xc3=\xc0\xd0\x1a\xe0\x89{\x00\xc5\xfa\ +9H\xe3\x1e`\x11F\x8f\xe9(\x03\xbc\x0a!\xb4\x95\ +\x8b2\x80n\x09\xd0\xe6\x1f@\xb3\x04x\x89,\x80\xfa\ +\xc0\xa8\xd6}i5\x7fV=\xa5\x18\x03\xa8\xf7\xe7\x05\ +\x91U\xd3?\xcb\x9d\x9a\x1aQ\x04\xb8\xcc\x8b,\xff=\ +\x13+\x80Y\x14\x01\xde[\x1f0I\xe7\xec\x87\xb1\xd1\ +\x02S\x80\xb3\xb7\xf3;`qn\x8d\xe0\xef\x01\x8c\x01\ +\xd6v\x17c\xd1\xf3\xe5\xbbE4H\x8b$\x80\xc26\ +h\x9f\x0d\xa3\xb1$\xdb\xbb\xc0\xda\xeeZ\xfe\xb7D\xb2\ +\xb8\x0bJQ\xcd\x13\x5c[\xd2K\xfb\xfe\x92Z\x84\x85\ +\x19v\x15c\x0bp\xca\xf2[j\xbe\xdf\x864\x8f*\ +\xc0zC`\xf9\x8f\xcf\x07\xe1D(\xade\xd9\x02L\ +\x18\xe6t\x9b\xff\x02\xd2Zd\x016\xf7\xd7\xf2\xd7\x01\ +\xe1K8[\x0d1~\x17\xd8\xb8s%\xfd4\x01\x98\ +\x06\x9c\x17\x10\x10\xc0\xe6nQ\x87\xc0\xea/\xad/\x0a\ +\xcf\xa2\x0cp\xbdy\xb2M\xcf\x7f\xc8\xbc\xc2\xae\x0fQ\ +\x06\xd8\xbar\x89\x9e3\xb9\x0a\xc1\xae\x06\x04\x060c\ +T\xe1e\x9a*X\xd0\xa2\x0d\xa0oW\x81\xecy\x8a\ +\x5cM\xcc\x8aI\x12\xacw\xdbc\x1e\x12\xdb\xd9h3\ +\xeb\xe1\xb1]5\xdbcCb\xbd\xbf\x04{\x80\xddm\ +\x06\xb3\xae\x9f\x085\xb3,A1\x80\xdeJ\xac\x01\x0c\ +\x82\x18)\x97\xfdp\xf5r\x88\xad\xc5\x99\x03\x18=\xc0\ +&\xee\xdd\xfc\x85U)\xe88h\xa0\x00\xc6\xc5\x81u\ +\xe7\xd7\xee\xc5~\xc0\x05\x02\x01\x03\x80\xf1\xf5;\xeb\xb4\ +/\xfa\xd0\xb4b\xa4\x098\x00\xcc\xf6[\xae:\xb9\x16\ +\xae\xceLC\x00A\xf5\x96c\x0eP5\x9dB\xdd\xf6\ +\x91\xe0\xd6\xb4\x8221\x02,\x00\x16\xb1l\xa9j\x95\ +\xd3\xa0\xf7r\xe6\x11\x80g@\x03`\x9d\xe0\x99\xbd1\ +y6\x9e^X\xd4\xcf\x1e\x06\xd8\x5c\x8f9\x80m\x8d\ +x\xe6\xe4v\xeb\x85v\xd1\xaf[\xed8,\xfd\x00@\ +\x04\x00Nj\xc2\xe5B\xe5\xac\xd1\xe9v\xdb\x8d\xcb\xea\ +\x81M\xa5`6\xd0\xbe\xca\x01\x00\xe4\x05\xa6\xe3x\x05\ +\xc8\x00\xaa,\xa7\x9f\x1f\x03`\x03h\xb0\x9b~\xa2\x8d\ +\xb1\xaf\xf0\x03\xb3\xf9\xd7\xc2\xe8\xac\xca\x1e`\xceh\xfa\ +GS\x00\x94\x00\xeb+\xa4\x9e\x87X}\x06\xc0\x0a\xe0\ +\xbfa\x96X\x9b\x01\xe0\x05\xf0\xdb/)\xdb\x5c\x00`\ +\x06\x80\xc7o\xde\x9b\x86\xc9\xdf\xc7\x10\xea\x08&Qr\ +q\x93\xf34\xfbro\x05\xc0\x03\x00\x00L/2.\ +[\xa4\xd5\x1f5\x08\x7f\x04\x99*\xab\xb4J\xce\xee\x08\ +b\xae\xd6V\xe0cF\xc0\xb9\xc2\xfa\xb4]\xcd[)\ +\xc8\xd9Js\xb4\x82\x8f\x1b\xa1$K\xcf\x87\xdd\xab\xe3\ +\xc3b>\x9dL\xc8\x92 %R\x99\xfc\xfe\xd7\xf2i\ +\xb3?Y\xc0G\x8f(g\x8b\x13\x00\x01\x10\x00\x01\x10\ +\x00\x01\x10\x00\x01\x10\x00\x01\x10\x00\x01\x10\x00\x01\x10\x00\ +\x01\x10\x00\x01\x10\x00\x01\x10\x00\x01\x10\x00\x01\x10\x00\x01\ +\x10\x00\x01\x10\x00\x01\x10@\x80\x00q\x1b\x04@\x00\x04\ +\xf0\x0e\x10\xdfA\x00\x04@\x00\x04\x10\xeb\xf1\x17\xe9\x89\ +Gh\xda\x1b|\x00\x00\x00\x00\x00IEND\xaeB\ +`\x82\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x09\ +\x0a\x84\xa4\xa7\ +\x00s\ +\x00i\x00d\x00e\x001\x00.\x00p\x00n\x00g\ +\x00\x09\ +\x0a\x88\xa4\xa7\ +\x00s\ +\x00i\x00d\x00e\x005\x00.\x00p\x00n\x00g\ +\x00\x09\ +\x0a\x87\xa4\xa7\ +\x00s\ +\x00i\x00d\x00e\x004\x00.\x00p\x00n\x00g\ +\x00\x09\ +\x0a\x89\xa4\xa7\ +\x00s\ +\x00i\x00d\x00e\x006\x00.\x00p\x00n\x00g\ +\x00\x09\ +\x0a\x85\xa4\xa7\ +\x00s\ +\x00i\x00d\x00e\x002\x00.\x00p\x00n\x00g\ +\x00\x09\ +\x0a\x86\xa4\xa7\ +\x00s\ +\x00i\x00d\x00e\x003\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01z\xe7\xee&\xf9\ +\x00\x00\x00r\x00\x00\x00\x00\x00\x01\x00\x00\x1a\x97\ +\x00\x00\x01z\xe7\xee&\xf9\ +\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x01\x00\x00!\x83\ +\x00\x00\x01z\xe7\xee&\xf9\ +\x00\x00\x00B\x00\x00\x00\x00\x00\x01\x00\x00\x0b\xc3\ +\x00\x00\x01z\xe7\xee&\xf9\ +\x00\x00\x00*\x00\x00\x00\x00\x00\x01\x00\x00\x04\x18\ +\x00\x00\x01z\xe7\xee&\xf9\ +\x00\x00\x00Z\x00\x00\x00\x00\x00\x01\x00\x00\x11\x05\ +\x00\x00\x01z\xe7\xee&\xf9\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/opengl/threadedqopenglwidget/doc/threadedqopenglwidget.png b/examples/opengl/threadedqopenglwidget/doc/threadedqopenglwidget.png new file mode 100644 index 0000000000000000000000000000000000000000..263d7a3d1eb886341a50e401e1fedf818b7cd930 GIT binary patch literal 10616 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\x0a \x0a \ +\x0a \x0a \x0a\x0a\ +\x00\x00\x03^\ +<\ +svg xmlns=\x22http:\ +//www.w3.org/200\ +0/svg\x22 viewBox=\x22\ +0 0 24 24\x22>\x0a \x0a \ +\x0a \x0a \x0a\x0a\ +\x00\x00\x03n\ +<\ +svg xmlns=\x22http:\ +//www.w3.org/200\ +0/svg\x22 viewBox=\x22\ +0 0 24 24\x22>\x0a \x0a \ +\x0a \x0a \x0a\x0a\ +\x00\x00\x02\x84\ +<\ +svg xmlns=\x22http:\ +//www.w3.org/200\ +0/svg\x22 viewBox=\x22\ +0 0 24 24\x22>\x0a \x0a \ +\x0a \x0a \x0a\x0a\ +\x00\x00\x02\x02\ +<\ +svg xmlns=\x22http:\ +//www.w3.org/200\ +0/svg\x22 viewBox=\x22\ +0 0 24 24\x22>\x0a \x0a \ +\x0a \x0a \x0a\ +\x0a\ +\x00\x00\x01\xcc\ +<\ +svg xmlns=\x22http:\ +//www.w3.org/200\ +0/svg\x22 viewBox=\x22\ +0 0 24 24\x22>\x0a \x0a \ +\x0a \x0a \x0a\x0a\ +\x00\x00\x01\xd7\ +<\ +svg xmlns=\x22http:\ +//www.w3.org/200\ +0/svg\x22 viewBox=\x22\ +0 0 24 24\x22>\x0a \x0a \ +\x0a \x0a \x0a<\ +/svg>\x0a\ +\x00\x00\x01\x86\ +<\ +svg xmlns=\x22http:\ +//www.w3.org/200\ +0/svg\x22 viewBox=\x22\ +0 0 32 32\x22>\x0a \x0a \ +\x0a \x0a \x0a\x0a\ +\x00\x00\x01y\ +<\ +svg xmlns=\x22http:\ +//www.w3.org/200\ +0/svg\x22 width=\x2216\ +\x22 height=\x2216\x22>\x0a \ + \x0a \ +\x0a \ + \x0a \ +\x0a\x0a\ +\x00\x00\x01\x8a\ +<\ +svg xmlns=\x22http:\ +//www.w3.org/200\ +0/svg\x22 width=\x2216\ +\x22 height=\x2216\x22>\x0a \ + \x0a \x0a \x0a \x0a\x0a\ +\x00\x01+Y\ +%\ +PDF-1.6\x0a%\xe2\xe3\xcf\xd3\x0a1 \ +0 obj\x0a\x0a<<\x0a/Conte\ +nts 2 0 R\x0a/Thumb\ + 3 0 R\x0a/Type /Pa\ +ge\x0a/Resources 4 \ +0 R\x0a/CropBox [0 \ +0 595 420]\x0a/Pare\ +nt 5 0 R\x0a/Rotate\ + 0\x0a/MediaBox [0 \ +0 595 420]\x0a>>\x0aen\ +dobj\x0a\x0a4 0 obj\x0a\x0a<\ +<\x0a/ColorSpace \x0a<\ +<\x0a/Cs1 6 0 R\x0a>>\x0a\ +/ProcSet [/PDF /\ +Text]\x0a/Font \x0a<<\x0a\ +/Tc1 7 0 R\x0a>>\x0a>>\ +\x0aendobj\x0a\x0a2 0 obj\ +\x0a\x0a<<\x0a/Filter /Fl\ +ateDecode\x0a/Lengt\ +h 358\x0a>>\x0astream\x0a\ +x\x01\x9d\x92Ko\x830\x10\x84\xef\xfe\x15s4\x07\ +\x88m\x9e\xb9\xa6\xea\xa1\xbdEA\xca\xa1\xea\xc1\x05\xa7\ + \x01VBh\xd5\x7f\xdf\xe5\x15\xa2\x16\xa9RO^\ +\xef\x22\xfc\xed\xcc\x9c\xb1\xc7\x19\xb1\x82\x94\xd2S\xc16\ +D\x10J(?\xf2\xe2P\x84\xb8\x18\x1c\xd1`\xf3\xd0\ +Jd-\x04\xda\x8c>\x17\xde6N|\x91\x08j\x08\ +\xb8\xcb\x95\xfe\xe3\x07\x09\xcbj\xecR\xc8d\x1c\xd3\x19\ +IH\xa5\x90\xd6\xd8\xa4\x19\xd5HOx\x01O\x1dH\ +\x1f\xfcB\x87\x00\xb7\x0e\xb6\xe0U\xd5BO\x1d\x83k\ +a\xd0^\x1d\xe6&\xe0\xdd\xc9\x81\xeb+p:e\x00\ +\x0e;\x17\x9fE\x999\x88\xc0\x0bT\xe6}\xa8L\x93\ +\xa3lQ\xeb\xdc8xE\xfa\x8c\xc7\xb4_\x95-\xb0\ +\xab\xecXe\x0f\x82_\xecG\x82\xf2\x89\xa20\xc4\xd8\ +\xf3\xc6D\xa4\xaf\xc3\x0e(lm`\xe7.\xe1Ut\ +\xed\xa6\xa1m\xa0\xd1\xcfh\x15]\xe6\x84\xc7nx\x7f\ +I\xbb\x8e\x17E3\x1e\x9b\xa5\x05\x0e\x16\xe5,\xd0\x88\ +\xf75\xeaf\xbb;\x81oT\xd3\x16\xe4\xc3$\x18\x1b\ +\x05\xfb\x1fQ\x92\xccD\x83\xd9\x8c\xcc\x06\x9e\x9a\xc1O\ +\xb2\xaa_}\xb2;\xc7!\xd3M^j\xe8\x92D\xb9\ +\xb3\xea\xaf\x97Wc\xa6(I?c\xb6\xa3\xdcP~\ +\x0c2\xdd{\xe0\xf6a+m\xd7\xe2m\xb6\xa41\x1f\ +\x0e\x93\x94\xbe\xc5\xc9>l\x8a\x22\xb5\x18\xe5\xdd\xd3\xed\ +\xbf\x01w\xa3\xbaf\x0aendstream\ + \x0aendobj\x0a\x0a8 0 ob\ +j\x0a\x0a<<\x0a/Alternate\ + /DeviceGray\x0a/Fi\ +lter /FlateDecod\ +e\x0a/Length 1088\x0a/\ +N 1\x0a>>\x0astream\x0ax\x01\ +\x85U]h\x1cU\x14>\xbb3;y\x89C\x11m\ +K+u\xf0\xaf!\xa4aR\xad&\x16\xb5\xdbM\xba\ +\xbbM\xd8\xae\x9b\x8d6U\xaa\xd3\xd9\xd9\xeet'3\ +\xe3\x9d\xd9\xb4\x09}\x0a\x82oZ\x10\xc4WE|\x12\ +-\x88\xd0j\xc4\xe4\xc5\xbe\xb4T\xa8\x89\x14\x8b (\ +\xb4XA\x10\xfa \x0a~gv\xb2;\x1b\x91\xccp\ +g\xbe9\xf7;\xe7\x9e\xf3\xdd{\x18\xa2\xbee\xc3\xf7\ +\x9d\xb4F4\xe7\x86\x22_\xc9\xce\x1e\x9f=\xa1\xf5}\ +GiR\xa9\x9fp\x19f\xe0g\xcb\xe5)\xc6\xae\xe7\ +Z\xfc\xee\xbd\xee\xadS\x8a-7\xf6q\xac\xde\xb9-\ +\xbf25+0\xc1Z\xc1\xf0j\x819G\x94\xd2\x89\ +\x94a\xd3\x17!Q\xdf\xeb\xb0\x8f\x9e\x0d}\xc6\xef\x03\ +?\xd0\xacVr\xc0\x9f\x00\xab\xb1/ =\x98\xb7\x5c\ +K\xd8\xa6\x96\x17\xc6\x82V\x16^\xddv\x92\xb9n5\ +\xcf1\xb6\xbc\xe6\x9c\x16\xe7\xca\xd7\x1e\x8c\xfe\xa09=\ +\x89\xf7 r>W3\xc6\x19?\x05\xfc\xa1iLL\ +\x03\x0f\x01\xaf\xfb\xe1\xe1J\x9b\x93N\xb7\x9a3\xd9\xb6\ +==T\x17Gfb\xfb\xf1F\xab\xc0x\x98(\xbd\ +\xb4\xd8\xa8\xbe\x0c\xbc\x0d\xf8\xa2{\xaat,\xe6\xaf\x98\ +A\xee\x04\xf0c\xb0\xdfmXE\xde\x0f\x8dH\xdaf\ +\x87\xc5*0|%]x\x15\xe6\x83#\x9d\xacY\xe3\ +\x13\xc0\xcf\x02/5\xbdI\xcea'\xf0r0?\xcd\ +v\xe6\x7f\xbf\xd8\xc8\x95\x80\xb1\x96\x9c>c\x1c-\x03\ +o\x07\xbe\xdfr\xf2\xccG\x1cy\xc0\x0f\xcb\x1cs\x14\ +x\xcauJ\xbc.\xea\x95\xdf\xb4\x82\xa8\xc6\x01\xe0O\ +\xc3F\xb5\x10\xf3\xd7CQe\xdfG`\xff\xabn\x1f\ +)\x02C\x87\xccC\x0dQ`;\xf2\xc9\x14|':\ +OO\x03/\x89V\x85k\x7f\x02\xf8\x92!&\xf2\xc0\ +\x88\x99\xf9\xc9rgXC`E\xa1\x97R\x06Y\xe4\ +\xd1)$?/\x8f\xc3:&\x1f\x8c|\x04|\x17\x10\xb5\ +[\x01\xafx\x07Q\xdb\x91\xde\xa0VO>\xab\xc89\ +\x84\x8fC?\x83\xe3E\x19\x06\xc8\xe0oDhF\xcc\ +\x84\x1a\x17v\xb5\x06|\xff\xbd\xb7\x97\xc4k\xb6y\xfd\ +\x9d?\x12\xeapm\xcd\xb8\xce\xae>\x09_:\x96T\ +;\xd2\xbf\xb6Y\xed\xcc/\x99\xdb\x995\x1b\x99o(\xcb\xda\xdb\xd8U\xaf\x87\xbd\xb1\x03\x9b\ +YYT\xeeD{2\x87jY}\xdeQV\x9f\x95\ +l\x01\x87x\xd6aui_2\xe2\x95\xf3\xcb;;\ +\xbc\x05\xd2\xd6\xe4K\xaf\xde\xe8\xbfr\xfe\x7f5a}\ +Xg\x8b\x12\xaa\xd4\xdd\x0b\xbb|\xff\xe4\xc7\xac\xa6\xf5\ +V\xe9^\x89\x96\x86\xf4\x8b\xfa]\xfd#\xfd\x07\xfdw\ +}M\xff\x00\xe87\xe9]\xe9\x0b\xe9k\xe9\xb2\xf4\xa5\ +t\x954iEZ\x95\xbe\x91\xbe\x95>\x93\xbe\xc2\xd7\ +\xe7\xb0\xaeJ\x97\x91[\xf2\xd4\xb5OY\xe7\xf4 \xd3\ +\xf694\xe3\x13\xc6\xf5\xf0)\x0e\x88\x15`6\xd7\xcf\ +\xd6\x0d\xa5\xce`\xae\x9b)\x9f\xed\xcd+\xb0\xce\xdd\x13\ +\xddYK=\xac\xeeV\x1fU\xc7\xd5\x87\xd5\xc7\xd5)\ +uP=\xa0\x1eRw\xa8\xfb1F\xd4\x82\xba\x173\ +\xbb;*qO\xb1\xd66\xdee\xbc7\xfa\xce\xa6\xd9\ +H\xab\xf6\x8epV\x0d\xa8'\x90\xa5\x81\xbb\x9b\x17\xf7\ +\xa8\xdd\x89\x868\xa9\xfb\xa03G\xebrx\x8dvw\ +\xdb\x88\xa2\xc5\xdd\xeb\xa1c\x0d\x9aA\xc56\x9d\x8d\xb4\ +\x0b\xf0\xed\xe0\x1b\xbb\xf9\x1fo\xeeId\x97z\x05'\ +\xcb\x96\xf7\xc8#r1\xee\xc1\xac|\x00]8\xd9\xd3\ +\x8f\xa3\xdc\xa5\xca\x842\xaedIS\x06\x951eD\ +9\xca8\xaa\x95;TS\xf6bv\x0c\xcf\x89d\xf6\ +\x88\x9e\xe0\xf4(\x82\xbfOh\x9d\xc3\x7f\x8b(\xe7\xf9\ +\x0b\xc2>\xdd\x08\xb5\xfd\xba\xfe\x8c\x96\xc5o\xd2\xd2\x8a\ +\xae9<\xa4\x19\x8e\xa3ES\x81&\xac\xc0\x12\xf3V\ +m\x98\xf8\x1f\xcc~D\x7f\xbe\x18\xfd[S\xdb\xaf\x9a\ +-1\xdf\xb6Q*u\x8d\xe8_\xfa\xba\x87{\x0ae\ +ndstream \x0aendobj\ +\x0a\x0a9 0 obj\x0a\x0a<<\x0a/S\ +ubtype /Type1C\x0a/\ +Filter /FlateDec\ +ode\x0a/Length 9327\ +\x0a>>\x0astream\x0ax\x01Uz\x09\ +x\x14U\xbeo\x87\xd0\x9dJ\x9dN\xd0\xd4\xb4C\xba\ +\xac*Q\x11w\x14\x14\x18\xc5\x05DT\x04d\x93\xd5\ +\x05\x0c\x9b\xec\x81\x90\xce\x9eNo\xb5\xf4\xa9\xa5\xb7\xa4\ +\xbb\xd3\x9d=!\x81\xb0\xc8\xa2 \x9b\x22\x02n\xac\xb2\ +\xb8\x0e\x8e\xf7::\x8e\xd7\xf1\xce\xcc=\xed\x94\xf7\xfa\ +\xfe\x1d\xe6\xce{\x0f\xbe/_:]Ug\xa9\xff\xf2\ +[N\x8ee\xf0 KNN\x8ec\xe1\xec\xa7\xe7\xcc\ +\x9a{\xd7\xf4\xcd\xcb\xca\x97\xcc.[z\xcf\x13\xeb\xd7\ +-\xcd~qg\x86\xb5dn\x1c\x94\xe1r3C\x07\ +\x8f\xb1\xe7\xf6\xd9\x07\x07\x0b\x86\x9b\xda\xcf\xc9\x9f}\xd6\ +\x1b\x87\xe4\x0e\xb9q\xc8\xf8\xeb\xcf\xdc\xc8\x9e)\xb2\xe4\ +\xe6\xe4P7\x08\xf7\xdd7\xea\xde\xfb\xee\xbbo\xe0A\ +7\xc1\x93n\xca>\xe9_\x9f,!\x18\xce\xe2\xcd\x19\ +\x96S?\xe8\xaeA/\xe4\xce\x1e|\xd7\xe0\xe5\x83\x9b\ +\xad\xb3\xac\xeb\xac\xa2\x15[\x7f\xb6\xcd\xb0\xbdn;\x98\ +W\x94\xb7<\xcf\x95'\xe6\x05\xf3\xba\xf2\xbe\xc9\xfb\x13\ +u7\xf5*\xd5Cm\xa7\xde\xa4NP\xe7\xa9+\xd4\ +\xe7\xd4\xd5\xfc!\xf97\xe6\xdf\x9c\x7f[\xfe=\xf93\ +\xf37\xe7{\xf3\xc5\xfc`~<\xbf#\xbf?\xff\xfd\ +\xfc3\xf9\xdf\xd0\xb94E\xdfD\xdfN?M/\xa7\ +7\xd0et\x05\x1d\xa5\xbb\xe8\xb7\xe8\xcf\xe8o\xe8\x1f\ +\xe8\xbf\xd2\x04\xe5!\x0e\xdd\x8e\xc6\xa1\xa7\xd0t4\x0b\ +\xbd\x84^A\xeb\x90\x175\xa2f\xd4\x86\xba\xd0Nt\ +\x14\x9dB\x1f\xa2s\xe8\x22\xfa\x04}\x8f~\xb2\xe7\xda\ +\x91\x9d\xb1\xff\xd6\xce\xd9\x87\xd9\xef\xb2?h\xff\x9d\xfd\ +\x11\xfb\x04\xfb\x93\xf6\xd9\xf6W\xec\x1b\xec\xf5v\xc9\xae\ +\xda#\xf6\xb8=mo\xb7w\xdb\xb7\xdb\x0f\xda\x8f\xd9\ +\xcf\xd8\xaf\xd8\xaf\xda\xbf\xb5\xff`\xff\xc9\xfe_\xf6\x7f\ +\xd8\xff\xa7\x80.p\x14p\x05\xc3\x0aF\x14\xdcU0\ +\xb2`t\xc1\xd8\x82\x87\x0b\x1e+x\xa2`z\xc1\xec\ +\x82\xf9\x05/\x17,/X\xbb\xcc\xe4&\x9a\xaf\xaf0\ +\x8b\xc5zQ\xf2J\x9b\xfdC%E\x99M\xab|\x12\ +\xb7\xe3\xae\xde\x1e\xa5u\x1c\x8d\x83\xaa!M\xe4^1\ +8U\x8d\x17\x87\x8f$\xafD\xde\xa0BX\xd3\x0dv\ +\x87\xfa\x07u\x07\x8e/l\x1f\x15\x9f\xafz\xa5\x80O\ +y\xc5;T\x1c\x03\xf7\xf7\xe0-\xb8\xbf\xb5[i\xb5\ +\xdf\x1a\xe6\xb0.'\xb9R\x83\x0b\xcb\xb1\xe2\x95d\xd4\ +\x0c\xb2{\x13\x19Ji\xbd\xb4\xc4\x22b\xf5\xa6~\x1d\ +4\xddm\xf9\xd5r\x9d\xdbR\x17/:\xf0)y\xe9\ +4s\xa5\xe3IN\x0e`q&\xdd\xe7\x0b\xcb\xd8\xaf\ +\xd4\x15\x8b\xb3\xea\xcd\x11\x8a\x99G\x99/*\x17\xa7~\ +\xc7\xfe\xed\xe27\xe4YU`\xf6\xe3\xbf\x05\x88\xcd\xff\ +\x1fJD\xd5\x22j[h\xe8F\xce0\x9c\xb3h\xe6\ +\x8a9\xc2&\x05\xe8\x00\x0e\xcc\xa4w\xf9B\x9b\xe9\x86\ +\xe2\xf0]\xd8\x1c\xfe\xb4\xd3\x9c\xa9\xacyl2;a\ +\xfd\xd7\xe4I,|\x81\xc9m\xe1/x\x1c\xd5\xd4\x08\ +\xa6\x98\xfd;\xc2\xd6\x7f>\x02u\xc3,\x0cZ\xe8\x09\ +\xc4d\xcd\x83\xdd\xc5\xf5\x9a\xb9\x00\xcf\xe7\xf12\xd5\x5c\ +\xb1\xd2\xe9\x91d\x9f\xec\xa3\xc5I\xb4\xc67g\x17\xbc\ +\xb3[i\xca.X]\xc8\xad\xea\xe3TQ\x8d\xf4\x19\ +\xe4\x95]\xce\xdd\x1a\x99l|\xc8\x1bZ8\x8c\xf9n\ +\xc3\xda\xcbi\xea\x1c\x0e\x91\xde\xb9\xb4\xa8\xfaua\x87\ +/\xac`Q\xaa/\xde8r\xf5]\xeb\x1f\x95\xbc\xfe\ +\xea@\x0d%\xda\xa4&\x7f\xab\x14\xdexq\x19\xb1n\ +\xfcR\x8a\xea\x9a\x81\xb7\x87\x86j\x9a\x11\xc2)Z0\ +\xc7g\x97'b\xffL\xba%\x10VB~-P\xbc\ +w\xf81S\xd8\xf6\x90\xe6\xd1\x1b\xb0\x9bR\x97j\xa6\ +c\x95\xd3\xadH>\x85_\xe9\x19I\xa7q\x1f\xde\xb2\ +\xa5S\xe9\xb4\xdf\xaa\x05Une\x1f'rQ\xe7V\ +\x85\x0c\xd1\x0e\xf38\xa5\xc5\xc2\xc9\xbes'\xc8\xad{\ +\xbe1\x1au=\xaa&\x8cz.\xe4\xe3$\x1e\xe1)\ +\xaay\x9d\xd7\x19\x90d\xbf\xcc\xafj\x18I'p\x0f\ +\xee\xebus.N\x93\x8d\xa5\xf4\xea\x88\xd5\xa7Jj\ +\xd8\xd9\xa3\x91!\xf85\x1e}/7fF\xf6\xd4\xb4\ +\x92%\xe9\xa2\xd3\x97\xa6\x1d'\xf7\x5cz\xea8\xf3:\ +\xd9\x99\x99\xe4\x08a\xbf_\xc0kU\xd3\x82gQ\xcc\ +\xbe\x7f>\xdb?\xf0\xecW=VY\x91\xef\xe3\x92\xd9\ +\xe7o\xd9\xa2\xa4\xed\xb7&\xe9\x81!\xd6\xfck\x08u\ +`\x08\xe6M\xf5\xfd\x10\xb9/\xe6Ls~\xde\x5c#\ +YI\x81\xb2\xe3\x0f\x1f\xb1\xb1\x90(\xea\x82.i\xb0\ +!M\xa5\xb1\xd2\xc6RJR\x83\x0af\xf5\xb0\xae\x09\ +\x81\x1f\xad\xba\x0c\xaf\x86\xd7\xdd\x95\xda&\x96\xf9t\xd8\ +\xa3\x0f\x9a\xc3\x02\x02s\xe9E\xc5\xda \x8a^YP\ +$\xc5\xd7\xc5A\xdc\xf3\xa7Te\xb3a:\xf0\xb2b\ +\xb5\x8c\xf3KN%\x18\xdcJo\xf3\xd0\x92\xf0b\xd8\ +\xea\xc7\x12\x8etcr\xef6'\xf3zR#\xb9\xea\ +\x09\xbe\xf0O\x03\xcb\xfe\xf5\xd7?\xbb-m\xbfZ\xce\ +\xb8--Eg.N?N\xee\xbe<\xe98\xb3\x8f\ +\xb9x:\xf3\x90c\xe0\x99\xea2\x0a\xcf\x0f\x8f\xa2\xfb\ +:\x95\xfe\x07hC\xce>\xd1\xf7\xff\xe4\xdah\xbc\xcc2\x9f\ +\x987L6\x07\x99\xf9\xa2\xc0\x5c|\x01\x96\x0a\xe9*\ +\x09\x8a\xa8\xf8e\xa7\xfc \xc7\xbcI\xb8^\x07\xa1\xd5\ +\xed\xff\xf6)\x1b\x8b\x8b~C\xd0`\x9bD\xe7\x1a<\ +\x06?\xc1\x17\xcas\x15\x13IN\x98\xa1\x0e\xc5\xa19\ +\x98jm\x0b&\x06\x8a\x83\xa6$\xb9\xb5Qx\xfb\x8a\ +\x11v*\xbdA\x92w\xcayR!\x1cn\xe3C\xb2\ +Z\xc9\xa1;\xcb\xe1\x8dj\xb4!\xf4bkX\x97\xea\ +d!\xb0\xd4c\xe6?\xe74\x8bz\x1e>\xf1\xfe\xbe\ +\xaf\x88\xa5\x8bW\xa3j\xa3\x1e\xa7t\x9bR\x17t\xbb\ +\x9d\x88\xfc#\xed\xf0i\x92\x8a\x93\x94\xd6\x15&\x8e\x13\ +N\xe2p}9\xfd\x89\x05\xe6\x88\x89\x15\xbc\xec\x93\xea\ +\xe5z\xc8\x10\xdc\x18L\xe2\x04\xa5\x1e\x0d\x91\xdbu\xa7\ +!\xabi\xda\xcc\xdd\x04\xe3\x95\xd2\xce\x80\x1e\xd0\xf8~\ +\xc5\x1aR \xdc\x9cx\x8d:l\xc1Tl\xe6nv\ +\x06d) \xf3k\xc4\xeeN\x8c4\xed\ +Ke\xd3\x22\xd7\x0a\xb2W\x0ex\xe5\x8d\xdel\xa5\xcc\ +Fi\x1b\xde\xd6\xd3\xa2\xb4fo\xf6\xd3\x88\xb8H\xd0\ +!\x86\xe0\xbfN\xa5\xab\xcb\x92\xaf\xb2\x0f\xbfr\xef\xc3\ +c\xf7\xbepX@s9\x85\xf3\xd7a/\xebS\xc4\ +z\xba\xba\xc4\xb5\x98\xf2\xcb\x91@\x0b\xedT\x1e\xe4\xd0\ +1\xf3\xe6\x9fLy\xffp\xca\xa7\x1br\x88\x0d7\xaa\ +jH\xd0\xa6\xd0\x9aS=\xa6\x93\x0dx\xb7\xf6a\x88\ +\x8c\xc7\xdd8\xadC\xa5j\x0b\xd5s\x86S\x1dK\x9b\ +\xbf\xb5%\xa0\xc4I3\xe9~_L6\x02\xb8\xbeX\ +{\x11\x9b{\xf10\xea\xe5\x93\xfe\xc2\x1f\xd8*$\x94\xb4\x12\x96\ +)$\x8awsh;\xf9\xd2\xb1\xa8s\xe5\xc9\xa5\xfc\ +\xc9\xa5\xed\xabJ\x9c\xb3\x16\xaf\x9f\xefq\xeb\x86\x9f\x17\ +5\xf8\x1fr\xb75t4\xb45\xd1\xa27 \x0a\x91\ +\xb1Vq\x0b\xa7\xf0bS\xbb\x94dI\xee\xf1\x8f\xce\ +\x1e_\xbd{\xc6\x1ea\xfe\x8e\xca\xae\xbd\xce\xd7\xda\xf7\ +\x1ehl\x94\xfd!\x1e\xc5\x94\x98\x12RTy\xa8\xaf\ +\xceS\x13p/~\xe4Qs\xc4\xe3\xe6P\xaa\x82S\ +\x9c\xb2\x0a\x15\x8e\xf7\x18\xba\x18\xdd\x92\xc4\xc7\xbe8\x22\ +w\xb2\x86\x8a\x0d,4~o\xd5\xb1O\x97Y\xc5E\ +\x0b\xa53`\x13\xa0\x15\x16/\xf3\x8c\x157*\x14\xba\ +\x97>\x18&7\xab-\x026d\xdd\x0f\x7f8\xbe\xfd\ +\xed})A\x8fj\x8dz\x8cRm(8\x95C\x8e\ +\x8a\x1d\x5c*\x15\x8b7774\xd6\x08\xc4vCE\ +\x82\x8bs5B!\x99N\x06u}\xdd\x7fL\xd8\xdf\ +\xbd\xadk\x1b\x1b\x8fdSS\x17u\xbf\xe6\x89\xafm\ +Z\xd5\xb4\x86R&pzD\x9fI7\x90\xc1\x8a\xa1\ +@\xc6\x17\xc7\xaa*\xb4\x0d\xec\x9cy\xeb\xe6\x96\x08\xf3\ +\xd18:\x88\x9a\x8b\xf4\xc6\x8e\x8f\xdb\xdf:|\xb0\xfb\ +b\xb2\x91\xe9\xb3\xbcF\x0e9L\xdb\x81\x91\x07\xa6\xf3\ +\xcca\x8b\xdf\x90}~\xb6\xc2\xa5\xe9\x95\x82\x17\xbbC\ +R\xb8\xae\xd3\xd7\x5c\xd7C\xa9rP\x11E\x11\x1a\x80\ +C\x92%Q\x12\xdcU\x9bV\x97\xaf\x91%U\x86\xe4\ +\xdc@\xab]m\x89D*\xd1Z\x9d\xa8kw\xa92\ +\xb4>MSuY\xa36\xf7\xb9\xb6TuP\x9a,\ +\xab\x0a[hv'\xcb3?\xb9r\x1e&\xc9\x5c\xf2\ +T\xe6{\x87\x0bW)\xa2{\x9a\xf9\xd8\x03\xa6\x7f\xb2\ +\xf9$%)Q9\xcc\xf6\xd0*\x16\xbe$K>#\ +\x0b?!s(\x0d\x075\x99-,\xa5\xe4\x09\x9c\x86\ +\xf0\xfba2>\x029\xaeCM\xe9\xf0\xee\xf2\x94\x93\ +\xde6\xf2\xdb\x9d\xa8\xc1]U\x13u7\xa7\xa2M\xcd\ +\xa8)3\xe5\x1e\x1aM\xe6X\xa4?\xcb!sDf\ +{gN/\xb1\xe7\x92;2\x87\x1c\xcd\x1c\xbf\x1e/\ +\xd4W\xaa\x94(U\xb8ae\xaa\xd0\xa5\xbe\xa7wk\ +\x14 \x87\x90Px\xb7\xcb*WpNI\x83\xba\x81\ +\x1a8\xb8\x00\xda\x1e\x8dX(&\x8a\x80\x1c\xaa\x11Q\ +e\xa1\xa2\xadl{]\x1b$\x92\xd8J\x07%5\x10\ +w\xbd\xb1l\xdb&J\xc5JP(t\xa8\xa1\xec5\ +\xae\xb6\xcd\x03\xd7HR+\xad\xc0\xe3\x9a\xe0\x9a\xfeM\ +\x14\xbev\x8d\xb2\x86v\xfa\xd5-\x1c\xbb=bE\x12\ +\x16\x90\xa2\xf2\xe8/^:\x0d\x0bH5Dk\x85\xc2\ +\xd6D*\xd5^\x93\xac\x12\x90Y\x0c\xfddt\xa2\xcb\ +\x05\xc3\x8f\xa5Wb\xf3\xaeP)\xd69\xa9A+\x8b\ +&\xc8m\x11m\x8f\xd0\xcb\x85\x85B\x0c\xff\xd0j\xaf\ +U\xda\xce\xa5\x00\xba\xb5\xb4\xf4(\xe9\xbbi]\x82\xce\ +\x8c }\xd5\x81\xf4moi\x09&\x07z\xcd@\xf6\ +J\xd8p\xa2 \x96a\x94\xa9d\xc7\xf9\x9c]gr\ +/\x90\xbf;6\xd7U\xba*\xe35m\xd3\xb9B\x07\ +\x0e\x061L\xb0\xaa\x1a\x87\xbc\x82\x1fZ\xaa\x18\xad\xeb\ +\xac\xebq\xf7PX\x81\xc7\xb2\xd9\xec\x82\xef\xb7\xc4:\ +\x9b\xda\xe3\x94\xb6\x8a\x0bj\xc1\x90d(\xf6\xe1\xd5\xde\ +2OU\x80\x92\xdc.\xa4x\xb7\x92%\xcd\xe4\xc54\ +\xd2\x17qH\x9e\x08\xc1\xde\xd5\xb4\xab\x07\x0bShY\ +\x0c(\x12_%\xf9k\xebX\xb7'\x14\xf6\x0aH\x88\ +\x96\xef\x9e\xd9\xb5\x9a\x92aG1\xab\xa2\x90{\xb3\xb6\ +\x91\xbd\xf9\xd1\x07\x1e\x9c\xb2s\xde\xc9\x97\x84\xb3\x0b\xf6\ +\xbe\xf2\x94\xf3\xa1gW\xce\xe1\x913\x12\x88K\x0a_\ +Ri\x0a\xc6f\x95\x0a\xb9\xcb\xb4:v\xca\x8cY#\ +\x04\x84\x8f\x1a\xe47\x9aS\x97T\x84\xeb\xaa\x83U,\ +\xfa\xd52\xc4mA\x01\xce\x89\xb0\x19\x87f*e\x9b\ +\xc0:\xefH\x1aI-\xd5\xbfZ\x0a\x00\x82\xfe\xfa\x9f\ +nK\xf3\xaf\x83\x9ev[^\xe1P\xe7\xfe]M\xad\ +Z\x07G\xf9\x10\xec*\xf3\x00\xee\xef\xc0]g\x8f(\ +;X\xf4\x93\xa3r\x07\xd7\x1c\xe7\xaa\xb3\x89Z\x894\ +Y\xc9\x069\x94E\x04\x1dO\xc1\xa5\xb4LU\x94!\ +\xf9E\x1a-\xa0E%\xe4S\xd9\x0e\x1a\x02\xa8\xafq\ +W\x17\x16\xd4\xa0\x9a\xad\xa9\xa2\xc2W\x88\x01\x14\xaa\xaf\ +\xd6\xca\xd99%\x1bKV\x0bK\xe7\x97>\xfc\xb8\xb3\ +0\xe0[@#YQd\xa4\xc3K]Ok\xaa\xaa\ ++Z\xf9>4?d\xe6\x95\x00\x0a\x10\xd3\xf4\xab\xe5\ +\x9c\x82\xfcj\x8a\x0b\xaa*\x85\xbah\x88T\xc0+\xe8\ +EZF~\x05\xd0\x9a\x82\xa1\xd0j|\xb7\x9el\xef\ +d\x13I\x0fR\xb8@\x1dF$d\xfe\xd1\xf1\xe1{\ +\xef~wy\xf1\xb1g\xa7N\x9fy\x1b*\xdfW\xbe\ +\xa7\xae\x83B\xd9\xeci\xf6\xc4\x90N\xeb\x08b\xc7~\ ++\xca\xfc\xe2@\x1d\xe6\x9c\xfd\x99\xdf'\xeb\x9b\x90C\ +\x96$Q\x16\xea\xab\x90\x13RBKAX\xf9%\xa4\ +\xca*\xe2K9X\x14\x04\x87\x8e\xa9-\x08\xcb~\xb7\ +\xac\xf8x\x8f\x12\x10\xfdN\xd4\xbdc\xf7;\xd1v\xaa\ +\x85S%\x16#I\xd8$7\xac-c\xabkc\xcd\ +\x15\x02\x0a\xca>A\x0a\xca\x22\xcc}!\x04\x06@u\ +\x15Q\xb0p\x14\xf1c\x11\x056\xc18A\x8c\xca\x81\ +\x08d+\xfe\x12\xcd\x5c\xa2\xac\xe2\xdd\x12\x80 \x1e\xf9\ +#IO\x13[(6\xf5Ii\x96\xdcp\xf1\xf3\x7f\ +\x17P\xb6%\x0f\x5c\x9a\xbeVGQC]uM\xac\ +>\x85\x8cl\x90N\x81M\x92ac\x90\xa1\xa8HW\ +\x83\xa8\x12\xaf+wJ\xb2\x0c\x11\x84\x00Y\x89\x01\xa7\ +\x14\xa3\xe1\xd7\xbb\xb94@\x02dl\x865*\x01\xc9\ +\x09\xb0G\x86\x1cU\xd1P\x0d\xc3\xbb\xd6\x90\xa6\x86Q\ +\xc4\xeaGA\xd8\xf1E\xc3F\x97\x0br\x83\x5c/!\ +\xa5\xe7\x01\x1aM\x02\xf2\x93\x1d\xb7\xba\xd1\x8d\x00.*\ +PIjE\xd1\xc37 \x0b\x10\xd2!\x96[,w\ +Z\x1e\xb0\xf8\ +[+\xb6-\xc9\x1b\x99W\x92\xf7>\xf5#\xf5k>\ +\xca?\x9c\x7f\x99\xdeH\xab\xe8\x16;k\xbf\xd7\xfe<\ +y\x22x8\xf3\xe7\xc39\xf0\xf3\xd6\xc3\xb9\xc1\xc1\x19\ +\xe9\xe7\x19\xbfH6\xa2\x99\xef:\xccGI\xc4J\xbe\ +\xb5\x997\x99o9H\xf6\xc3/\xe1\xbc_l/\x0d\ +\xfcN\x1e5\xe1\xb3-s\x14>\x99\x113\xfb\xa9\xd0\ +\x9c_hN\x95\xae\xd5\x8a3\x8e\xb2\xfaJWU\xbc\ +:[*\xbeU\x9ak\xa2\x9e49\x90\x22\xad\x89@\ +s\xd1\xe5\x93\xe4\x9e\x0b\x0b/3M\x16RK\xbe\x00\ +\xc4\x0f\x9d\x1cS\x87\xd2\xef\xbd\xfd\xb1\xf3\xd3y\xef\x99\ +\xbf\x9d;%\xe0_\xc1g\x09\x0c\xe0t\x81y\xd8\xb2\ +C\xb66j\x01\xb7\x10\x9c\x124\x99\xe03\xc1e\xd8\ +\x5c\xb3\xca>\xdc-\x8b@^\x98y\x16 \x06\xd9\xf7\ +\xfb,\xcd4\xbaqW\x17nM\xf4(\x09\x96\x5cG\ +,\x07\x89\xfd\xd3i\x1f<\x16\x17`4\x09\xfb\xb1\x17\ +S3\xc9V\xc7\x87\x87\x96\xdc?\xea\xe99\xcf\x06|\ +X\x13\x85\xee\x10\x19\xad_\xe0\x1bqHO\xb2\xf0\x08\ +\xc2\xff2\xdda\x0e\x9a\xb8\xfcw5~#\xd2\xa2\x93\ +\x0a\xbc\x8d\xd7C\xb1`#{\xf5\xc4\x93\x8f\x08\x857\ +\xc9M\x99\x7f\x8f\xe7\x5c\xf9(\xf7f\xaep\x1b]\xd4\ +\x99\xd0\xdf'\xb7\xbc\xcb\xf4L\x84\x19x~\x04\x98\x80\ +%\xb5\x98\xe9y\x89c\xb6\xce\xe3\x98U\xf1\xdbji\ +\xa6\xa7\x91+|\x0fn\xfcCk\x11y\xe0\xec3\xa7\ +\x98\xb3\x99\xeb3\x19\x07@\x8a\x00_\xb7\x5c4\x7fc\ +\xf2\xeb\xeb\xec7\xfb\x159 \x04L\x9bU6 m\ +\xb6\x02\xd6\xd9\xf1\xb5\x95\xb9\xaa\x85C\x80\x83\x9b\xf5\x83\ +j\x9b\xa2NT\xcdq\xb8\x84b\xce.\xd3\xcc\xf5@\ +\xe2$\xb9\x92[\x09{\x90\xa5\xd7-\xb8\x13o\xdb\xe9\ +\xe6\xd4`P\xd3e`\x00\xcb\xafq\xa3\xa8\x93\xb9\xba\ +\xd5 \x8bO8\xf1>\x8dL\xd0O\xb6\xe3\xb7\x81\xbb\ +\xc6dh\xc9\x9e\xfe\x07\x86\xca\xd9\x82\xcejaM\x03\ +`\xb1[\xee\xcc\x9csm\x89\x17e\x96'\x8e\xfd\x91\ +\xd9O&\xb6;\xe4\x84\x9cT\x1a\xab\x09\xb3\x86|\x14\ +\xf8=\x15\xd6\xf5\x10\xe6w\x1bVM\x0d\x19x\x0eg\ +>b[\xc3\x050P\xd6\xce@v\xfd\xd8_\xdcl\ +\xa2C\xbf\xd8[FQ\x01(\xd8:\xdbj\xdb\x0b\x88\ +\xc8Hv\x9cy\x87lJ\x9f\xd7S\xa1vc+e\ +\xd8\xb4uz\x99\xeai\xbe\xff\x80\xb9\xbce\x1c%a\ +U\xd6\xd9\x0e\xdbN\x1c\xc2F:}\xfeJfT\xf3\ +\xa7j\x08\xf8\xb1\xda\x1a\xea\x01\xc1\xe0\x1a\xb6\xbd\x09\xb0\ +-\xf0[M\xd8\xeb\x0f\x03\x19\x91k\x8bk\xcd\xe1+\ +\xcd\xa8\xcb\x1c\x22\xbb!\xe9\x1a(\xc9&\xc5\xe4F\xb9\ +\x91b2\x9b\x083\x9b|Q\xfb9`\x0e\xe0\xd2\x0d\ +A(B\x1beI\x16+J\xcd\x1bg\x9a\x91\xf5\xe6\ +u\xc0\xed%7d\xaa\x9b*|\x94+j;G\x84\ +\x8f\xa6\x1ec\xded\x0e\xdd\x09\xf4\xe7\x01\x8e\xa9\xba\x85\ +f\x0e\x0d\xa3\x0b\x8f\x04\x92\x99\xe1G\xc9\xd4D\xc2U\ +t\xe0\x12\x19y\x8e\xf9\xfc\xbf\x88\xdb\x81\xe3\xc1\x18\x06\ +H\xf3u\x94\xbc\x1erF\x145\x1b\x97\x7f6\xf3k\ +\xad\xa5\x1c\x04\xb1.\xecT\xac\xba.\xd7a\x01\xd7\x05\ +\xcd\xa9O:oV\xcd\xc9\xcax^\x8aJ\x1aN\xd2\ +|\xe7a=\x0c\xb0)P\xbc6\xddW\xb6\x97\xfd\xf3\ +\x87\x10\xbbO\xfe\xbe\xec\xcb\xa7\x9e]4l\x5c\x99\xc0\ +|.\xba\xe5Z\xa9\x8e:o\x96;V\xaf\xda}\xce\ +#\x00\x9c\x8b\x06\xc3\xc1\x10\x0e\x85\xec\xc3I^\xfa\x10\ +\xe1\x0f\xb2;S\x93\x1e3\xc7\xae\xb8o\x96PX\xe3\ +\xed\xcd\x8cO{\x5cE}\x97\xc9\x03q\xe6J\x1f\x99\ +\xed0o<>\xf5\xab\xee\x84\xa1E\xf8\x07if\x7f\ +\xe0\x8fV\x0d\xf0,\xe6\x99+\xeb\xb9\xa3\xde\x83\xae\xf2\ +\xcc\xac4y&\x91\x82\x9b\xce\x93\xd1\x97&\xbd\xc3l\ +\x07V\xbe\xe8\xe7\xdb\x1c.:\x00\xd0Y8(YC\ +Z\xc0'\xe0\xe5\xc11\xf8%\x5c\x8ekq\x9d$\x0f\ +\x95Bb8\x10\xa2\x9ak]\xf1\xf5\xec\x1d\xcf\x99\xd7\ +\x99\x8f\x8f\xd8\xf5\xf8I\x81\xd9\xfe\xd1\x9e\x7f\xff\xaeU\ +\xd0\x1a\xb5&\xadYW\x86*5Jy\xa5\x93Yk\ +\xde\x95\xe7\x05R\x0a\x19\xd7\x14\xecH\xa5\x83\xcd\xe3\xe8\ +)\xb4\xae\xe8\x01,\xac\x8ae\xc5\x02\x1cvFT\xb2\ +\x08\xef\xe7\x99\x1d\xdaWQr0\xe4\x84\xaf\x81\xc0=\ +\xfe\xdfC\x1c\xcb*/\x7fF\xee\xdf\xf1\xc7c\xaf\xb7\ +M]\x1c\x12p\x03\xf6\x04=A\xbf\xe2\xf3\xd9\x87\x9b\ +7U.5s_d\x0b\x17p9}\x1f\x93\xeb\xcf\ +\xe5\xdeL\x17\x8e\xbd\xa67$\xc8\xcaT\xd1\xc7\xe7\xa6\ +\xbe\xc3\xec\x85\x88\xbe%3\xc7A,8\xfd\xd3Q6\ +\x12\x92@\x15\xd0$\xcd\xa7{#\x15\x8d\x1b\xa2\x9b(\ +\x05\x00\x19\xa8\x02!M\x17\x02\xdfXuE\xcd\x92\xe5\ +\xfaZ\xcd\xc52WFl\xc3\xb2\xa5\x02\xf3\ +\x9a\xdf\xfc\xce1ka\xcf\x89\xa3\xbd\xdbvw\x0b\xb1\ +\xb0\x16\x8c\xca\xd4\xf9\xea\x0f6MwN\x9f\xb9\xf49\ +\xbe\xf0s\xd8\xf8\x9b\xde%\xcf&![\x8e_~\xfc\ +\x04\x99\xf0\x1e\xf3)\xf3\xa7\xd0\xcfw8\xb2y\x11\xd0\ +\x84\xdd\x925\xac\xfa|\xc2blnX\x03?\x0c@\ +_\x8a\x08]\x9c\xb9\xb4\xf6ZQ\x1f\x90 \x9a\xb2\x5c\ +\x1a4G\x00\xae\x1d\x9c\xf0j\x1f\x87A@sv\xea\ +\xef\x19}\xfcO\xcdG\xc8\xe8l\xec?h^\xbf@\ +\x19)\xbb\x04\xc5\xa3\xc0K\xd9\x00z\xe3@Sh\x06\ +9d{o\x8b\x92\xbaF\xc4WE}jP\xc7\xcd\ +\xc5Z_\x84\xd8N\x83x\xb0\xf9\xcb\xe7\x1e[h\x8e\ +\x9aV\xc5\xcb\x0db\xb5\xec\x86\xd2\xd1\x84[\xa0`~\ +\xaa_m$W\x8dl\xecUr\x85\xcfq_^.\ +:\xf4\xe5\xa4\xcbO\xbd\x03/f\xff\x1f3\xff\xe1(\ +\xad\xaa,\xdf\xdc^\xd3\xd6\xd6\x92jo\xabi\xde\x04\ +1\xf1\x909\xee\x1e\x9a\xd9}+\xc7\xec}\x84+4\ +o\x94c?\x17%\x92\xae\xa2\xf7>fv1g#\ +?\xdf\xee(\x070\x03\xf1\xf6\x9a\x0c\xc9\x04K\xc7/\ +h\xe6\xb4i\xb3T\xd3\xf7\xbf\xc8s\xd5\xc0\xcaEi\ +\x07\xdd\x8a\xd3\xb8\xbf7\xa5\xd0\xaff\xd3B\xd6@\xc6\ +1\x06d\x1cf\x17\xfe[\x84\xac\x89:C\x8a\x06S\ +#\xc7\xe5Xf\xd8\xbb\xcb\xe3E\x1f\x5c\x98|\x8c<\ +r\x82\x8c=\xc5\x5c\xca\x9c\x07\xa1D\xe4\x12\xf1(\x19\ +\xfa\xb1\x930\xe5_\xcc|l\xb19tJ5\x1f\xe0\ +\xeaa\x99b\x9f\x8d\xd8*\xbe\x98\xcd3\xa7\xc7\xbfl\ +\xde9\xb9\x0a\x14\x0c\x10O<\x22\x1e\x1a\x83z\x16\x85\ +\x97\xa0\x1d\x8f\x90\x11\xe1\xaczR\xc91\xaf\x9b\xb9e\ +\xd6\xec\xec\x03\xba\xd0o\x03\xa5\xce\x07\xf5l\xbdz\xcf\ +\x02's\x1aOS\xcd!\xeb\xb3:\xd4\x00t\xce\xf6\ +\xe3 \x08Qi\xdc\xdb\x93V\xba\xfe\xa5\x9f\xc0\xca\xb5\ +\xb0\xb3U;\xa9\xf7\xf3\x7fI\xec'c\x8e\xb0{\x9a\ +F\x9bC\x96\x06oV*\x05\xc5\xad\x80\x86R\xea\xc9\ +\xa25\xd0\xb1\xb2\x0aJ\xff\x96V\xa5\xcd~\xab\x8b\x83\ +6\xf5lV\x81\xf1\x82\xf6\x14s\xc6\xd5\xf7\x8d\xd7y\ +B'\xde 7\x1eew\xc5\x1f0\xaf[\xaa\x0c\x87\ +w\x0f\xc5_\x0e\xc8\xa5\x0d\x03\x80\xaf\x9d\xeb\x03\x01\xa6\ +\xe5\xda\xe8\x85\xff6\x10\x8d9\x1f\x9e'cN\xe5\xde\ +\xc1\x15.\xa1s\xfa\xa0\x84_\xcc\xbd\x8d.\x5c\x0f\xdf\ +\x8d8Rt\xea\xe2\xe4c\xccUr=\xa9r\xc4\x82\ +Q\x1c\xe1\xb5\xb7BD\x089\x0dE\xf7\xca\xbc\x99[\ +jU\x07dY~\xa7\xed_\xd2\xd1(<\x13:1\ +\x9e\x1a4opg\xd7\x9f\xa6\xffW>\x8a\x82\xf0\xbb\ +}\xcfn\xa5\x19& \x85da6Ha8\xbb\xfe\ +\x94vJ\xef\xe1\x89%\xf6\x06y\xf4\x1d6j\x04|\ +\xba\x10\xad\x8c\x94G*\xa0\xf0d\xe5H5\xac\x19B\ +\xe0\xafV?\xb4\x7f\xdd\xefU=,su\xd2+&\ +3\xa1F\x90A\xddR\xbcT\xe1+\xde\x96\xcc\xa4V\ +\xaf\xabh\xfb\xc9\xbf\xbf\xcd\x5c\xb9\x9fc\xf6\xcf\x01a\ +\xbb\x8d.\x9c\xe6\xed\xce\x8c\xe8\xa9J\x16\x9d:?\xef\ +\x14\xb3\x8b\xc43O8T\xc0\x0f\xcd\x9c\xc0\xf4\x9aC\ +Tug\xe8\x03\xbd\xbf\x18T^9P\xe1\xf1\xbb\xf9\ +\x1a\x9f\xe4\x93\xfd\x14sJ\xdc\xe4\x99/\xad\x87\xd5,\ +\xb4\xb9E\xd1/\x09\xb2(\xfb\x82\x12p\xd9`\xd0>\ +\xfc\x03l\xf5N\xf0\x9a\xd6\xd9N\xf3\x96=/\x9fK\ +E\xb0\x1a\xe5;\xf5\xceD\xc6\ +\x01A\xac\x03\x9c2\x8d+\xeb\xc8\xfc\xd2dN\x88\x10\ +\xa6\xf5\xc3\x0e\x9b9'\x91\xb7\xa93\xf3K\xdc|\x22\ +F\xaek\xfb\xa8\x95\xca\xe7\xe9\xdc\xc6\x11y/\xdb\xf3\ +y\xe5:\x8bM\xb0\xd3I\xfa\x02J\xda\xed\x17\xec\x05\ +d\xf5o\xc8'\x8e3\xcc5\x8b\xee\x5c\xce-9\xe1\ +\x9cw\x07\xcd\x18\x14\x1c\xf4\xce\xa0\x1fr\xf7\x0d.\x1f\ +\xfc?\xd6\x1a\xab\xdb\x1a\xb7\xee\xb3\x1e\xb2\xbee\xfd\xde\ +\x96k\x9be\x9bgk\xb7u\xdb\xb6\xdav\xd8>\xca\ +Cyw\xe4-\xc9[\x91\xb7)\xaf>oW\xde{\ +y\xff\x99\xf7\xdf\xd4 j4\xf5$\x05:\x0c\xf5\x06\ +u\x90:J]\xa0~\xa0\xfe\x9e\xef\xcc\xe7\x07\xac\xbb\ +;\xf3\x9f\xc9\x9f\x9b\xbf(\xbf,?\x94\xdf\x9c\x7f\x00\ +(\xd2\xc5\xfcO\xf2\xffF\x0f\xa2\x11]D\xdf@;\ +i\x9e\xbe\x93\xbe\x97\x9eL\xcf\xa2\xe7\xd1\xeb\xe8M\xb4\ +\x8bV\xe88\x9d\xa6\xdb\xe9nz\x1f}\x80~\x9f>\ +M_\xa0/\x83\xa9\xf7'\xfa\x1f\x08\xa1\xdf \x16\xdd\ +\x82\xee@\xf7\xa0G\x07l\xbd\xd9h\x1eZ\x84V\xa3\ +\xf5\xa8\x06y\x90\x84B(\x8eZP\x07\xda\x82\xfa\xd1\ +\x1e\xb4\x1f,\xbew\xd0Yt\x09}\x86\xae\xa2\x7fC\ +\xdf\xa2?\xa3\xbf\xa0\xbf\xa2\x7f\xd8mv\xbb\xfd:\xbb\ +\xc3^<`\xf6\x0d\xb7\xdfa\xbf\xc7>\xce\xfe\x84}\ +\x9a}\xbe\xfd%\xfb2\xfb\x9a=b[U\xac!E\ +\xdeL\x92\x9et\xd1\xe5O\x99\xf1\xe4\xaf?8t\xec\ +7\xa4\xa78wy\xfd\xe6\xfa\xf2\x80\xc7\x17p\xcb\x94\ +\xff\xe5\x17\xe5\x97Y\x9f\xac\xc5\x80\xcd\x94\xe0]\x02$\ +J\x14\xf3\x07\xb5\xf3j[\x1f\xadG\x0c\xd0[\xca'\ +j\xeas\x82\xd2k\x90\xf1\xc6G\x94\x8e\xd5\x08p\x89\ +\x13\x81-\x80\xa2\xc3\xb2\xe6\x8d\x96\xc66\xcd\x00\xa4\xa0\ +\x0b\xf2\x8f\xd64\x17\xe0\xdd\x0bds\xe4\x865\xb8\x92\ +M\xd0\xab\xc1\x8b\x8b\xcaj\x00|0\xb5,h\xce\xc3\ +\xcb(\xe6\x05p\xc2J\xe5\xb5v\xd3\x22s\x94\x99c\xdex\xe0\xa9\xaf;\xd3\xba\ +\xd1\xc8wFw\xb5\xa7\xe2P\xb7T\xa7.\x86+h\ +W]eC\xb5\x9f\x12\x1b\xaa\xc5\x0av\xee\xba\x93\x9f\ +\xfb\x05%\xa9\xf4\xb6:\x0fH\x7f\xc3]\x11\xaaQ\x8d\ +DRN\xb3\x90Lu\xbc\x111m/\x94y\xfd\x0d\ +\xa2P\x13\x98\xef\x7fE\xa7\xc8\x10\xbd\xf7\x93\xdd,\x0a\ +6(\xb5Ao\xb0\x0c/\xa9\xb6\x0f\x17\xa1_\xf3\xb1\ +\x10\x0d\xcaZ\xd3?\xdd\x10\x1d\xc4\x865\x8dV\xaf\xc8\ +\x85\x9d-\xda\x05u\x07\x8fH5\x149 N*$\ +0\x149\xc5\xc8\x169\xdf\xf8e\xe6\x13\x9b\x1f\x92<\ +R\x9dX\x9f%2q\xa9I\x8eT|^B\xe66\ +|\xa8D4`^[\xa0H\x81\x00>\x90\xfe#\xe3\ +4\xb8\xa1\x1d>\x03\x9cB\xa84\xdd\xe6\xa0\xd3f\xa0\ +\xe7q\xbd6\x18\x80\xb2\xfel\xd9\xec\xd9\xeb\xd8\x06\x9f\ +\xd1\xe4\x156\xee\xb1be9-\xf9|\xcfrmc\ +\xac\x015\x04\xa2\xf7\xe5\x0f\xc8\xf5_l\x15\x10y\xc9\ +\xeb \xb6\xcf\x08\x22e\xe4\xb1y\x846\xad\xe6\xf5\x93\ +\xcc{\xcd\xb9\xe6\xdc\xd3\xf7\xff\x87\xd0\xd8\xecxn\xc9\ +Od\x02\x99\xb0\x8b\xdcs\xe5B\x97\xc9\x99\xb7\x98/\ +\x94\x98\x05O\xc1\xad\xe3\xe0\xd6\xc2\x83d\x18)\x22\x85\ +\x0b\xbex\xc0\xcc\x9bg\x0a\xa6\xc3,8\xf8\xbb\xabB\ +K\xca\xf1\xe2\x9aOH\x01\xc9o%\xf6\x93\x87\xba\x1f\ +7\xaf7\xf3j\xcc\x82i\x02\xaa\x98\xeb\xd0k\xb5:\ +\xd5\xdd:f\x87yg\xd3\xf3+\x95\xc7\xf4\x15\x9aX\ +B\xe3P\xf3\x99^r]\xeb\xef\xd5\x88\x96\x80\xca\x88\ +.\x99\x8f\x94\x93\x19{276\xa5\x5c\x9d\xae\xa2C\ +\x1f\x901\x1f1\xa7\x99o\xd2\x99\xe9\x0e\xb9\x14\x94\x02\ +h\xa1`\x22Et\xa9V\x16\xc4e^\x93\x99\xe2\x9c\ +.\x9acTs\x04\xbf\x81\x8ew\x86\x22\x98\xd7\x8e\xe8\ +$G}\x8bZ\x1fkq\xb7\xb2\xc7v]&\xb9=\ +@N\xd4\xb8\xdaH\xe9+l\xca\xdc\xa0\x89D'x\ +w\xe0c\x85\xe8\xd6\xd6`\xc2~+\x04\x88\xec\xa7\x01\ +w\x5c3\xb1\xc8\xe2<\xe6\xd2IL\x86\xb6\x83Q\x81\ +\xfd|\x9d\xad\xb4\xbe\xa1Z\x11|\x8a\xbb\xce)O\xaa\ +\xbc\xab\xeey\xea\xa9\x9au\x8f/eWT\x1f!\xf7\ +\x0b\xcc\xe9\x83\x11r3N\xf3\x18r\x08\x04\xfe\xc2\xd1\ +\xe4\x5c\xcf\xe6\x18\xb9;u\xa1\xa7\xa8\xed\xe0W\x07\x16\ +\xbf\xc6T\x91\xd1\x99\x1b\x1c\x8a\x14\xf4H\xc0\x8f\x02\xdc\xa8\xa9)b\xbfy2\x07\xb26\ +h\xcb!k\xa0\x04\x1c\x9f&u\x0fn\xe5S\xea\x81\ +F\xe7\xf1\xba\xb7^X\xbe\xa6\xea\xa5\xb5\xbc(g\x85\ +D \x92\x02s\xa8\xb7\xbd\xad\xb9\x85mo\xaaz\xd9\ +\x10\xb0\x07\xbb\xbcNY\xd9\x02\xf8C+\x8ex\xea\xa2\ +\xe5\xec\xdc\x0d\xb3\x16-\xe8Y\xb7M`\xde\xdc\xd5\xd1\ +\xd7\xd9(0U\xaa\xa1\x86T\x83b\x0e\xcdZ\xec\xa8\ +\xack\xdd{ \xd1\xdf\xd3\x91(\xaf\x06n%\xaa\x01\ +\xd0\xbe\x80\x5c\x05\xf8\xb5~\xd7K\xeb\xd9\xc2{I]\ +\x9a\xfc.A\x86\xb7\x17\x91[\x8f\x94\x1cez\x99\xbf\ +\x90\x9c\xcc\x04\xa8;!\xc8bjwc\xff\x8e\xdd\xce\ +\xfd\xabw\xcc.Y[\xb6\xb1\x1e\x928\xe4\x81$\x86\ +\xb9\xb57\xb5\xa5\xba\xd9\xfet\xe9\xea\xc5\x9bWN\xf3\ +\x08\xf0\xda\x04\xe6[\x8f\x0a\xdb\xfd\xa1\xdc\xb3x\xa9s\ +\xce\x8a\xd2%\x15\x9bC\xd1z\x1e\xcb\xcbiYrK\ +\x9a\xe0Nt{\xba\xd9\xd3\xc7^\xfb`\xdf\xfa\x1d\xf3\ +`\xb6\x7f\x01\xba\x80E\xb6\xf0N\xe2M\x91\xb3\xdd9\ +\xe4\xb6\xb7r\xdf!QG\xc8\x88\x86\x8d\x10\xf5\xf6\xdb\ +g\xbf\xf9\xdcy\xe2\xd5\xdd\xf3JV\x96\xaf\xac\xca\xd6\ +\x90\x06\xd8\x1a\xa8!]\x89\xb6t\x17\xbb\xadc\xe3\xbc\ +\x87f\x8c\x9a\xf0\xb4 +AIvj~\xabO\xd3\ +\x83:{\xde\xf6\xf66%\xc4B\xdd\xd3\xc0\xb59a\ +\xd5\xc0\xb5Q\x06\x5c\x9b\xf2\x95R@R\x02rq`\ +\xe3\xbc,\x0e\x8d\xe3\ +0\x1aIz\xb7\xe7\xf4\x91\x09\xb9\xe4er\xca\x81\x17\ +\xd1\x0b\xe6)\xeat^\x14\xcb<\x1bh\xe1\xb0~>\ +\xf4\x86Nij\x93!\x14\xfe_q\xd7\xf7O\xa5\xab\ +\x0dw\xe1N\xf4A\xab#\x16\x8f\xb7\x18\xd1\xa3_~\ +G\xee>Ir(0\x22\xe0\x88\x83!G=I^\ +U@\x87q=\xa7\xccZ\xb8\x5c\xada\x03\x00\x8c\x15\ +\xc1}?\xcc \x22\xaa,\xb8hB\xff9p]a\ +\xdf\xd8\xc6\x93~q\x87\x80\xc0\x16\x90QO\xac+\xd1\ +\x1c\x1b\xa8\x8caI\xab\xa0k\xbc.O5\xc8\xf5\x0d\ +ur5\xbbh\xf11b\x7f\xbf\xe9\xfd\xa6~\xe1\xcd\ +T\xd7\xeb\xfd\x03\xdc\x19L'\xc9\xf0\xa9\xfe\xc6\xcd\xd1\ +\x8d\x8d\x1b)\x05\xe2\x14\xd4!\x1e=\x02\xb2*\x98\x08\ +<\xb2\xdf\xaa\xa2\xc9\x10\x83\x22\x07^DKO<\x99\ +\xeeh\xd9\xd84\x9dV\x07\xe4k\xaa\x96{\x95k\xfa\ +\xde\xaa\x89\x80\xf0\xe4\xa0\xcc\xd7m\xf0U\xd5\x95\x81U\ +&6(T\xa0\xcc-U\xb2\x0dR$\x1a\x12\xc0\x9c\ +z\xf7\xca\xee\x1f\xc9\xf5N\xf2\xd8\xf3\x84\x1ef\xe6O\ +6\xedf\x09_8\xb3\x1b\x5c\x81\x01\xca\x0e:\x11d\ +\x8b\xeb\xf5\xea\xdd\xbe4\x98\xdc\xa2\xe1e\x0b\xc7\x91s\ +)\xa2\xa6r\xba\x8e\xfcp$\x97\xd8\xc89\xc7\xa7\xdb\ +\xae^\xfax\xd5\xe1\x99\x8f\xbf:\xf6\xd1'\xb6.8\ +.4\xa5\x1c\xeb\x5c{/\x9c\x8b\x7f\xb4k[\xf3\xd2\ +\xc7'{\x9eY*\x14*%\x9c\x12D_\xc9M\xe4\ +\x95\x1er\xf1\xad\xa0\x0b\x91\xc5\x99\xffvT4\xf8\xaa\ +E\x01\x81\xd3\x05T\x04\xd6\xd4\xcdu\xb6%\x13\xcd\xe0\ +t%\xc1\xe9\xc2Y\xa7K\xbf\xe6t\x95\x81\xd3U}\ +\xcd\xe9\x02\xb3j\xe7\xd7\x17\x88\x9e|Ok\xd2\xc3a\ +\x00op\x18\x05\xf8_\xf6\x00\x059A\xc69>\x99\ +{t\xfaa~\xea\xd1M;\xdfr\x9e\xd9}\xe8\xdd\ +DB\x0a\x84\xf9PVw\x81\xa3\x0aM\x1bba\x1a\ +9\xda\xe9\x88;U\xc7\xd5\x821$\xcf\x06K\xb9?\ +s\xc5\x11p\xfb\xea|5\xb3\xcd|\x13\x99\x91\x89\xe6\ +\x8dTv\x0f\x15\xa7\x04\x96d\x80\xaf\x0f\x87\xe4H\xfb\ +6\xfc\xe1\x07\xfb\x94\x1e\x16\x9c:\x05 \xbd\xd0PY\ +\xbe\xa4|18u\xa0L\x87B\xc1\xc8@\xd4\x1b\x81\ +-@\x10\xfa,K>,%\x83~r\x92)\xfd\xc4\ +\xf9\xf1\xd9N\xf3F(\xf3L\xb9\xc9\xbc4\x03\x9c>\ +5\xb8\x8a\x13\xb6-\xe7<\xb8\x81\xf5\x88Y\xd7\xcfS\ +\xb5aiE\x0d\xed\xc8\xa6X\x7f\xe7\x1b\xbb\xe2\xad\xaa\ +\x11t\xd3\x94\xaf\x01.\xf1\x06\xb2\xce@\x03\x5cR\xe9\ +\xa2$)\xec\x0b:\x0b1\x08\xf7\x12\x88\xf6lY\xd5\ +\x9aU\x8a\xd0L\x874\xacc\xbe%\x14\x89 84\ +\xc3_\x13s\xef\xe3Zp?\xee\xe9\xdd\xa9t\x83-\ +%\xa1\xda\xb6\x0d%t7\x87\xd2\x99\xa9\x8eG\xf6\xbf\ +p\xe2\xc3\xf7N~\xb7\xbfjWY;\xdf\xef\xffB\ +\xee\xc6\xd3\xcd\x87~gnz\xc6\x9cL\x892\x8a\x8c\ +\xe7\x90\x0e\xbe\x1c\x1eK\xa3\xc0\xab4\x88\xfcPd|\ +\x8d\xe5QW\x14\xa6\x01\x9e(D\xbd\xe0\xfb\xf2\x9f\xf2\ +\x17\xba\xe8=PY\x9ey\xa2\xa9\xbe\x1f^q\x03W\ +N\xa3\xc4\xdc,\xed\x98I\xf7\xfa\xad1\xb8\xd3\xed\xc4\ +e\xba\xf9\xc22'jk\xdf\xd2\xe3j]'(5\ +\x8ed\xb4\xb6\xc2\xe5\xa9\xa9\xaeq\xc7[[b\xcd\xcd\ +Ba\xc0)\x97\xfbf\xd4\xcc\xa3\xc0\x12\x01cM\xe6\ +{6\xec]\xdaR\x01F)Xe\x9a\xaa\x01\x13p\ +\xb7\xac9\x8c\x14\xac eKR\x89\xb2!\xac\x82G\ +\x9c\x22\x83\xc1$\xf6\xea\x80\xda\xc0VP\xd0b8\xb3\ +\x11\xa3c\xce\x03\x069\xab~\xc7o\xcf3\xb0^o\ +\xd4\xe9\xdeb\xf4\x16\x003\x10\xb4\xb1q:\x98T%YwQF\xd1t\xfb\xbe\ +\xb6\xd7\xf1\x16N\xf2s\x01\x98\x8a\x06\xaf\x05\xce$\xb4\ +\xbf\xdc\xba\x22\xbe\x09\x0e\xdf\x80P\xce\x16*np\xda\ +\x82\xe0j)\xe0\x8b\xc9\xe0\xb9\xfcMn\xd2\xcb\xbb\xca\ +\x7f\x1d\xb4h\xc0o\xdb\xe3jQ\xf0\x1aZ\x96E?\ +V\x1a+\xd0:Y\x90R4f\x0d\x03C\xb1n\x0b\ +!\x17%K\xa1\x81\xe0\x12c\xb4R\x8cT/\x8b\x1b\ +\x1a\x14$\xca\x01\x1f\x98p\x12XE\x1b\x1a\xea*6\ +\xb9:\xdc\x89\xf2\x1e\x19\xe8,X\xdfP\x8bt\xd9@\ +7\xb4\xd3`\x11#~\xb5\xc7\x8a\x0cp\x86\x83\xf0\x06\ +\x9a\xee\x82#\x0cX6X\xb0\xcap\x1a\xec(\xd8\x17\ +V\x85\x08\xbfJJ\xce\x91\xe9\x9f\xa3~N\x03\xfbT\ +|5k\xe9\xac\xa7d8\x96\xa4\x80\x19\x04g\x80d\ +'\xa4&\x9c\xdcBC{hp\xe1D0\xa7\x93\xc1\ +4\x1a\xcfe\x0f\x18\xa1\x0d\x9c\xa8 _\xa4\xd1\xd3\x08\ +\x9e \xd8EJ2\x0cQ`\xe0\x01\xf8K\xa9\x00\xcd\ +P'\x1c\xd9@\x10>2\xb8R\x18)\xe0\xa8)X\ +F\x01\xd8\x14\xcc\x16\xd6\xd1^VR\x90\xe1\xae\x01\x13\ +\xff\xc1\xe9OO\x01\x036\xebq\xa3$\x5ck\x03\x9b\ +\x0cA\x7f@\xe03\x22\x0d\x1cGI\x87\xfc\x961R\ +)\x0d\xa9\xfc@\xc7\x00I\x12%\xbd\xed\xa1\xf2\xcc\x8f\ +\xed\x1e\x17:\xdc\xb1\x85R{\xe8\xa0\x13\xc9\x22\xd4^\ +U\xa2\xda\xd6\x22\xe7\x22\x1a\xf3H\x0c\x803%\xa20\ +\x80\x86j\x16\xfd\x1fH\xfeq\xe4\x0aendst\ +ream \x0aendobj\x0a\x0a10\ + 0 obj\x0a\x0a<<\x0a/CapH\ +eight 626\x0a/StemV\ + 72\x0a/FontFile3 9\ + 0 R\x0a/Leading 20\ +0\x0a/XHeight 465\x0a/\ +FontBBox [-102 -\ +250 774 752]\x0a/St\ +emH 15\x0a/Descent \ +-320\x0a/Type /Font\ +Descriptor\x0a/Flag\ +s 32\x0a/MaxWidth 9\ +38\x0a/AvgWidth 215\ +\x0a/FontName /ZSHT\ +RV+NuevaStd-Cond\ +\x0a/ItalicAngle 0\x0a\ +/Ascent 680\x0a>>\x0ae\ +ndobj\x0a\x0a11 0 obj\x0a\ +\x0a<<\x0a/Group \x0a<<\x0a/\ +S /Transparency\x0a\ +/Type /Group\x0a/I \ +true\x0a/CS /Device\ +RGB\x0a>>\x0a/Contents\ + 12 0 R\x0a/Thumb 1\ +3 0 R\x0a/Type /Pag\ +e\x0a/Resources 14 \ +0 R\x0a/CropBox [0 \ +0 395.558 408.44\ +3]\x0a/Parent 5 0 R\ +\x0a/Rotate 0\x0a/Medi\ +aBox [0 0 395.55\ +8 408.443]\x0a>>\x0aen\ +dobj\x0a\x0a14 0 obj\x0a\x0a\ +<<\x0a/ExtGState \x0a<\ +<\x0a/a0 \x0a<<\x0a/CA 1\x0a\ +/ca 1\x0a>>\x0a>>\x0a>>\x0ae\ +ndobj\x0a\x0a12 0 obj\x0a\ +\x0a<<\x0a/Filter /Fla\ +teDecode\x0a/Length\ + 36079\x0a>>\x0astream\ +\x0ax\x9c\xec\xbd\xcb\xce\xed\xca\x92.\xd4\xf7S\xfc/\ +p&\xce\x8b\xd3\xe9.\x1d$$\x1a@\x13\xd1@F\ +\x8b\x12\x9a\xb3q\xa0\xc1\xeb\x93\xdf%r\xd89V\xed\ +S{\x0b\x09\x1aTii\xcf\x88\xdf\xc3\xce{D\xc6\ +\xe5\x8b\xff\xbc\xa5\x1f\xfc\xff\xff\xf1\xbf\xfd\xfcW\xff\xcb\ +\xfe\xf3\xbf\xfd\x9f\xdb\xfe\x83\xff\xff\x1f\xfe\x9b\x9f\xfdW\ +*g\xfb\xf9\xbf\x06\xe7\xbf\x1d\xff\xfd\xef\xdb\xff\xf4?\ +\x0f\xde\xfe\xf3\xbfn\xf5\xe7\xbf\xfb\xf9\xcf\xe3Gx\xf0\ +?\xe1\x7f\xea\xde\x7f\xd5\x9a{M?\xf7\x9f\xad^\xbf\ +\xcaq\xfc\xa4\x9e\x7f]\xed\xfa\xf9\xf3\xb30\x06YK\ +\x1fd\xfdU{\xfd\xa9\xfd\xd7y\x9e\x22\xc7_o0\ +R:\x7f6r\x8e\xf2S\xea\xafk\xfcO\xaa\xc7\xaf\ +\xeb\xca\xe3\xc1_G\x19m\xae\xe7\xaf\xb3\xe3\xf9\x85Q\ +\xf2\xaf\xf3\x18\xaf\xaf\xe9\xd7\xb57\x7f|\x9b_\xbf\x7f\ +\xfe\xed\xbb\x85\xff\xf5\xcf\x7f\xff\x19\x889\x02\xff\xa0\x8f\ +G\xfe\x95\xd0\x85\xfd\xd7q\xa4\xf1\x827}\xa4_'\ +{\x98\x7f\xed{\x05\x992>7\xd8\xad\x8d\x16\x1c\xe3\ +\xb1\x94\xc98\xf2\xb9\xe1\x81\x9c\xc6\x03u\xff\xd5\xfb\xe8\ +\xf0\xf1+\xb5\xfa\x93J\xfbu\xf5\xf1\xf8\x9b\xc6\x8fk\ +!\x95Gw__\xde\xd8\xbd\xb5q\xfft\xef\xce\xfa\ ++\x9d\xf9'\xa71\x01\xa9\x8e7,\x8c\xf3\x1837\ +\xa8\x03\xdf\x19D\xda\x0fRg.\xa3\x01\xe3\xe13\x9f\ +\x831\x1a\xd8\xda\x86\xe6\x97>\xe8\xbd\xfd\xda\xc7\x03\xf9\ +\xfc\xd5s\xfd\xc9y\xffu\xee\xe7x~a\x94\x9d\xa3\ +\x94\xf7\xe3\xd71\xba\xfb\xfe\xb4:\xf8\xd5\xbe\x7f\xbe\x87\ +cq\xe4\xf1\x91\x9c\x7f\x1d=\xa3\x87o\xc6Y\xc6\x9b\ +Iu\xb4\xa1\xfc\xcahy.\x5ci7\x18{\x19}\ +\xce\x153\xb3a\xcd\xd5\x13\x0f\xb4_cE\xe7k\xbc\ +k4\xaf\x96\xf1Wt\xf0E\x8f\xeeb9gt\xfb\ +J\xcb\x87\xdd\xbf\xb5u\xfft\xff\xda\xd8\x13\x07&\xa5\ +\xe3\x93\x7f~\xdet\x1b\x0d:ORm4a\x90\xed\ +\xba\x06yqE\xdd`T|\x7f0F\x13\xb7\x9f\xdc\ +\xb9\x950\xa3m\xecLL\xd6\xe8q\xb90\x14\x0fb\ +\x8cF\xee\xe3\x7f\xc6#\xef\xef\xa1Ok\x8b\xfe\xf9-\ +wq\xfb\xe7\xbdp]\x8c=\xf7f\xb44\xe6d\xf4\ +b\xaf\xecM\xdb\xb1\xb7\xb8\x8cR\xc2\xb2\x1c\x8c}|\ +y\xe3\xc2\x1a\xb3\x98\x8f\xb1\x1cy\xec\xf4\xb1\x98S\x19\ +\x8bo\xec\xaa\xabq\x0b\xde+c,\xceva\x0fc\ +\x0e\xbb\xbf\xbd\xcd\x8fs\xdb\xad\x0d\xfc\xe7\xbbX\xc6\xd2\ +\xd0N\xc1\x12\x19]|3\x8e\xd1\x97N\x99v\xeaP\xe2\x19\xfb$\ +\x87\x88\xa9\x8dO\x0e\xb1\xb0|\xd5\x9d[\x9b\xf6\xcfo\ +\xb9}\xc8\xaf\xc47\xa09\x7f~\x16\xc6X\x9f\xe5\xb8\ +\xd8\x1fL\xde\xf8k\xdf\x13{\x93O\xaf\xcf<\x84\xc6\ +\x06N\xc3,\x8f\x8d2\x0e\x93\xd4O\x92\xa3#\x15\xa7\ +\xfa\xd5y\xdc\xde+\x03G\x11f\xbb\x0f\xf6\x98H}\ +|\x9b_\xe7\x16\x5c[\xf8O\xf7\xb1\x8e\x15WN\xb6\ +\x092h\x88\xf67\xa3\x1e\x14\xdd\xa9wH\xaa\xf1\xc7\ +J\xc9~q\xd8\x87d/\xbf\xd8\xa3!~w\xb4m\ +\xe7\x82JcYk\x02\xb1m\xd2\x18\xa7\xb3'\xce\xe0\ +\x93\x1e\x8b\x99b\x1d\xab\xa0.\xdf\xd5\x14~5\xee\x9f\ +\xef\xdeh>6\xf9U(\xb0\xff\xfc,\x0ch '\ +\xce\x84\xca\xf3\xb1B\xb0\x89\x94\xe4\x1b-8\xaf24\ +\x97\xeb\xe0\x0a\x1eS\x84=\x96\xda\xc9\x01\x80\xb4\x1f\xfd\ +h>9_dJRIZ\xa5\xd0\xd6\x87\xb7\xf9e\ +\xf6om\xdd\xbf\xd4?n\xf2\xc6%\xa5\xfe=\x18c\ +\x8f\xa4k\x88\xa5Z\xf1\x17*iX]l\xed\xe8[\ +?/2\x8erm80 \xb5\xd3\x10\x85\x18\xedq\ +\xb8\x1e\x17O\xd3=c\xb3\xbe\xe9\xb1\xffF\xc3\x87X\ ++y\xf9\xe66\xbb\xf6j\xd8\xdfwml\x99\xa1\x8f\ +\xfe\xa3\x0e\x8e#\xa1\xa8\x138\x8a\xff`\xc5A\x13\xcb\ +\xfbh-\xbe]-\x14\xfa\xaf\xbds\x02\xaf\xd4\xb9!\ + g\xef`l\xc1\xa9E2e\xac\xd4\x03\x8a\xd78\ +w\x86\xb4\x1b\xc7S\xcbR\xe3\x9e\x8c\xa1Ub\x85\xe6\ +\xa1\x98\x8d\x9f\x1e\x14Gc\x91\x97\x8b\xab\xe46g2\ +\xc6i\x8d\xfd\x9ekc\xdf\x8f\xae\x97\x0d\xf2\xacx\xfb\ +X\xf7c\x1f\x0d\xc68\xa8\x8fq\xdc\xb5N-0\xe3\ +3CY\x1c\xebf\x87<\x1d\x8d\x18{\xea^\xe8\xee\ +\xb6\xb4\xcc\x97\x8f-A\xc9pb\xf3P\x89zs~\ +z\xe3\xecf\x9c\x1e\xe3\x88\x80\x12\xd3\xa3!\x0fb,\ +=\x88\x92\xf1\x1f\xf7\xe4\xd6\xb5G\xf3\x90\x1a\x99;\xa0\ +\xf3l\x1e:\x1ct\xbf\xfc\xf3{e\x8c\xc6\x8c\xf5\x8d\ +\x0f\xf1\x84\xb8v\xff\x95\xc2v{\xbc`\x1cg\xc7\xe3\ +\xe7$/\x1d\x01e\xbf\xf8\xf51\xc1eh$\xd8\x1c\ +]W\x8a\x92\xb5\x18\xb7\xdf+'\x8d\xa5:\xce\x1c\xfd\ +\xee\xe2A\x5c\xb2\xfaz\xaf\x8cq\x9a\xea;\xa1\x92\x8d\ +s\x95\xddF+\xb8L\x16F\x1az\xe8\x99.~\xac\ +\xb7BZ\xad>|\xf0\x99\xb3M\xd6\xe8\x0a\x9bW\x0a\ +?yU\x8eJ\xa9:\xf3\xef\x95\x91F\xd3\xf9\xc1q\ +C\x00\xbd\x8d]\xc8/\x8e\xbf\xb3E\xa3\x0bX[\xe5\ +\xe8\x9c\xef\xdf+\x03\xe3\x8e\xd5\x86\x17\xa0\xc5\xe3}X\ +\xe8\xe5\x1cG\xf0N\xadsa\x8d&\x9f\xfa\xe4\x81!\ +N;\xfeR\xa2;\xa0\xc6\x92\xc0\x16\xf9\xfd\xa4p,\ +\xec\x10\xb8x\x96c9\x8e@\xb6\xa3K\x9d\xba\xbf8\ +)k\x8f\x8d\xbb&\xb4\x99\x04\x9dst\xb0t\xf7\xcc\ +\x0c\xd3\xa0\xb0n\xcb\xe5#u\xcc\x11\x07\xa2\xc7\xc8-\ +\x1c\xa8\x09\x07\x0e\xda\xd2\xfc=\xdc/\xf8wjO\xf7\ +\xca\x00\x89\xc9\xabCY\xc0u%\x8d)\xe2\x99\xf0\xf8\ +\x84Y\xc1IE[\xb9\x5c\x1c\xaaq\xf1\xc4\xa6\xa8\x18\ +r\x9e\x13\x0bg\xe3E\x0f\xa2\xaa\x8c=.\xd9\xbes\ +\xfb\x95\xb1\x1fj\xe6O\x8e\xeaVh\xfd\xfe\xfe\xe2\xa4\ +1/e\xbc\x0b\x1fe#\x8e1\xeaC\xd5\xdb\xb9\x0f\ +\x9f\x14\xc4\x0fF\xf0\xec\x9a\xd8\x96\xa9/\x8e\xff\xe2c\ +\xe2l\x93\x95N/\xbf\xae\xe5\x86\xcb\x16\xda\xa6\xf3\xe0\ +I\xa5\xa6\x13s\xb6\xaa\xf1\x5c\xd9\x06\xe3\xf4\xb1g\xd6\ +\xe4\xe0^\xca\xce\x9f\x97~\xd25:h\x9f\xc7\xeb\xcd\ +\xc1\xdd}\x1c\xf4)[\x1f\xea\xfa\xf9X?\xfe\xc0\xc2\ +\xa1\x80\x1cZ\x08\xfa\x0f\x05\xe2\x8a\xc1\x1d\xb3\xc3\x95\xfe\ +dPVp\x9d\x0f\xee\x94A|\x9b\xd4\x88\xfb\x8b\x03\ +5\x92#?:rI\xb6p\xb0\xc6!\x88\xdd\x7f\x7f\ +q\xc6\x95d\xfc[\xa7>\xf4m}\xaei}\x9b\xb1\ +\x05\x07\xb2\x09ZSM\xbe.\xef>\xc9\xae\xd3z\xd1\ +\xca\x81\xb0\xd2\x02n\xda\xcc\xb8\x02A\xb1*\xa7T\xc7\ +\xfb\x8b\x13\x97\xeb2.\xef\x10]\xb8\xb3\xf0\x08m\xc0\xad\xbe\x7f~\x9d\x9b\xbew\ +\xa4\xf9\xfe\x17gc\x1b\xb9\xb2\x8a\x96\xf2|C\xd6Q\ +\xf3\xa6\xf38\x16(g\xc6\x1eb\x87\xaa7\xe6\x90\xf4\ +c\xe67^\xae_\xac\xf1\x82\xea>\xeb\xeaW\xbc\x92\ +\xc7c\xda\xca+'\x97\x13\x13=\xba\x89\xdb\x12\xee\x1b\ +\xe7\xae\x81\xcdG\x0c\xec\xc2\xc9\xe78:\x8a\xf6f\xc6\ +\x1e\xcd\x1f\xc1'z\x0bF\xb6\x9aQ\xc6\xa9\x8c\xb35\ +O\xb1\x14:\xfc\xca)!e\x8a\x05O\x09\xc96\xae\ +;\x1c\xa3\x85\x01\xc5A\xb2\xf5\xe2\xca\x05-\xd9:\x9f\ +\x8f\x89\xf4\x0f`\xa4\x18\xb3W\x8a\xce\x8b\x92N-\xf5\ +\x92\xbc\x9fWN\x09\x09D\xfb\xdaF\x9a\x9b\xa1T\xaf\ +\xec\x95SBd\x8c_@{B\xe3p1\x0fq~\ +\x07g\x9b,<\x0a\xb9\x08\x0d\xb3\x8a\xc4J\x08\xf9\x8d\ +\x15\xc3\x89-\xda\xa0\xbf!\xa99\x0d\xd8{\xbf\xc7\xaa\ +\x7f\x90\x18L\x0e\xd1x7\x07\x15\xe2\xc4]\xd6\xdb\xf8\ +\xb0\xf6-\xe4\xb7\xfe\xe8\xc3\xb4\xe0\x1a\x88EX)\x0e\ +\xc6\xd3\xcdJ\x96\xa5\xd1\xef/\x0ev\xb4V\x954/\ +\xacX\xad\xaa\xda\xac9\x9b59\xa5yi@}\x1d\ ++\x17j\x856W\x88\x91\x85\xb3QgP\xb7\x7fd\xd9\ +5\xed\x9eK1\x5cZ\xd0\xf0Sj7\xeb\x86T\xb9\ +d3\x8en\xde>\x1e\xf4\x98\x1c\xd9\x84\x8an*Y\ +7\xa5R,\xbc\x16\x06\xae\xe4\xbawJ`\xc2\xaa\x80\ +\x86\xcf\xe31%n\x96\xaa\xf5\xfe{\xa1\xb10\xb1\xba\ +\x0e_\xcdw\x9d\xbe\x07\x8c\x996\x01<9\x83T\xbf\ +\x86\xbe\x0d\xcd\x11f\x11\x0c\xf7\xb4\xcf.\x8cK\x1a\xcc\ +\xd6\xa4\x00X\xf1\xf3Q~/\xb4\xed\x1fc\x05c>\ +\xc6\xcd\xe7\xbc\xce\x9f\xb3\xc7\xb3\xa4\xb7`\x5c\x1a$o\ +\x92\x8b3\xd9\xbd\x5c\x9e\x94\x17\xd6%\xb3,,\x12\x98\ +\xad\x1d\x16\x0f\x9a\x96\x9e\x0c\xbc\x8d\x8br\x87i\xef\x94\ +U\x01V\x12I\xe4\x85qv\xff\xb4I\x87:ug\ +\x04\xad\xa3aa\x9c\xde\x02\xbbn\x8cg\x93\xa1;\x85\ +\xeec\xc6\x16\x9cSg`\xe228%\xfc1\xbbZ\ +\xbc\x0b\xe3\xc4\x19\x83\xab\xeb\xe9u\x08;zG\x0f_\ +\x8c\x9fq\xb4\xf0g\x85G\xe7\x90\xb1l\x03-H0\ +/\xbe\xe8&\x89\x84\xc5\x89e:~\xca\xf6\xc3\xc2\xbd\ +c\xae\x17F\xd31<\x9eF{%Ta\xa0\xf0`\ +\xbc\x18\x1b\x5c\x9c8\xc2\x8f\x83\x83\x11\x1f\x1e\xcbJ\xba\ +\xf2\xc2\x80\x93\x8bG\x11\x0eg,V6L\xf6$t\ +\xf2\xcd\xf9\xf1\x0d\x09~\x0f\xb4l\x92\x97\xdf\x1e\x8c\xb1\ +P\xca~\x80l\x89&\xfaB\xfb5|\xb2\xa7\x84$\ +\x5c\xf2\xf7\xca\xa8\xb2&\xe1\x02\x0d\x9d\xb4U\xaeT\x90\ +\xec\xaa\xec\xa6\x1b/\xd4\x14\xdd\x8b\x88\x5ci\xc8\xe5o\ +1\xfa\x8f\x04\xf3!\xdb\x22\xce\xb7\x9e!\xc5\x8b\x19\xe8\ +X\x85\xcd^\x12\x16f\x8c\xbcP\x9f\xc1\x826\x0e5\ +\x06\xb2\x8f\x83}A\x93/_\xf4\xfd\xc5\xc9pi\xd2\ +\xb94\xc4\xfb\xd8,\x17\xaf\xda8\x12\xa4\x1e\xfb\xcc\xc0\ +\xc5\xf3\xd85\x00:\x0c\xb1\x0bW\x12\x22Q\xb6\x1d\xa8\ +d\xe8\xcfo\xea\xea'\x0c\xdc\xf9\xc4\xddh|\xc5\xc7\ +Z\xc6\xc1#\xe30\xdc|p\xe8\xb2\x85\xa3ER\x86\ +`\xd1c\x0b%\x07\xf3\x01\xbbC\xd9\xd4\xe4\x03\x13B\ +1aSp>*\xbf\x98\xc3\xd2~\xe2\x0e\x0dZ\xfa\ +\x1a\xe8]\xd6\x92J\x83\xd9\x96O\x18\x94\xd8\xdb\x03\xb7\ +\xed\xf1\xdd\x02cx\xb9\xd4 \x9c\xff\xfc\x02|R\x99\ +|\x8e\xe9x\x8e\x8bd(\x84-k\x9eiJ\x81\x9a\ +z\xd8&f\xcf\xc3\x01\xb3\x19\x17/\x04N\xce\xb8\xe0\ +\xa5/\xfa\xe6l\xe0\xd3\x09w\x16\xbav\xf5IM\xc4\ +JJ\xca\xa8\x0d'?\x90m\xa8\x87K\xb8M\x9b+\ +\x1c\xfaU\x17\x0a\x9c\x19\xf5\x94\xc3\x94\x9dH2z\xe1\ +\x8b\x90\x05\xf4\xcbv\xae8\xd9p\xe9\xcb\xcc\x85\x83\x0c\ +\xc1\x01W\xec&\xdfG\xa6\xcb\xc0/\xc2\xfe\x96El\ +\xac\x0e\xaf-(\xbaXO\x0bI?\xec\xba\xdc\xff\xda\ +`)\xb8\xfa^\xb1=\xc6\xff\x16l\x8f\xd1\xd3z\xd0\ +9\x84i\xdd\xf7NOF\xcb\x88,\xc8\xb8T#\xe0\ +\x04a\x14\xbdQ\x898.\x84e\x8c7\xd1\xc5\xb2k\ +>qe\xd5\x8a:\xa0Va\x09\x8e\xe1\xaaY&\xc4\ +\xce\x8b\xc38r\xe1\xe5\x1a\xfalE\x04\x04N\x87N\ +\xef+f\xbf\x1d\x9c\xfb\x04\xbfYo\x0c\x0c\xc0\xc7*\ +\xa2^\x16\x06\xedc\xbb\xda5\x8eypp\x82\xd1G\ +=&\xe7\xda\xeb\x17}\xf3\xb8\xed\xf0\xd7`\x5c\xf9\x95\ +\x0cUK\xc16m|=A\x8d@\x17\xa1s\xd1M\ +8T'\xb9\xb8\xb0\x89`.M\xb8!u\xba\x9d{\ +F\xbb\xb0\x04\xaa\xc2s.\xfa\xd51\xd5\xec\xdc\xd0X\ +v\xc4\x19\xc1\xf9\xb5W\xae\xdf|A\xaa\xeay\xbd\x90\ +\xe7\xf5\xce\xe5\x0c\xd1\xb9_\xd0\x0f2\x86\x13_\x1a\xc7\ +\xdaB2,\x81\xc6\xa1\xb1H0\xdc\xbfy\x82\x811\ +\xf4H\xae>\xe8/XE\xf0\xa3\x0e\xb9\xb1\x90<\xc4\ +p\xa1\x86\x1e\x9f\xe1#\xc5\x06\xc6xA\xe3\xa0\xe5[\ +\xf4\x16\x8c\xfb\xeb\x91<\xe6\x93\x9d\x80R6\xa4\xc0\xd8\ +$Z4s\xa8q\xf5\xe6|\xc2p\x83C\x04'\x17\ +,`\x18a\x5c\x04\xdf$\x0e2\xbf\xa2 \x8e\x87\x07\ +Y\xd95\xe3\x90\xfe\xbb\x14\xe1Za\xf9\x1cg\x11\x16\ +\x22\xee\xef\x5cx\xc7\xe5U\x84vqv\x9a\x8f\x16\x5c\ +\x86\xe0\xcc\xe7\x98\x1d\x9fvc\x917:\xee\xb0\x8ak\ +\xd7\xd1\x81\xa5\xca\x97\x8d\xa9\xc7a\x95a\xa7]\xf6\x03\ +6\xd5\xf7\x1e\xe1\xae\x1arn\xbc\x1b\xe1d\x905;\ +\xe4'\x0eBn\xaaC\xde\xc4\x13\x8e\xbd\xceM5\xce\ +\xf9!\x8fi-\xc4\x22Fg\xb1\x12\xc7\xe9\xdaS\xd5\ +\x95z\x08\xd6\x0c\xd5\x80AD\xf8\xe8qr\xf1\x1e|\ +\x09&\xb4_\x07\xad\xa0]v\x7f\x84\xf7\xd1\x0c\xda\xb9\ +\x10\xb1\xb2R\xa6\x0f\xf3\xc4\xbdl\xdc.\x11\x17\x87c\ +mo\xbc3\xbe\x18\xdcSI\xcdB\xcc\x08T\xa8S\ +!a\x98'\xac\xcd\x95\x96\xb6\xde\xe1Z\xc7\xde\xe6W\ +\xf2\xc9((\x1a\xb8\xdb\xc9\xb32\x95\xc2\x93O\x03\x08\ +\x97\xd2\xe8\x097.\xf5\xe8\xa1\xca\xf2\x9b\xb0\xd6\xe0\x1e\ +4\x18\xfb\xa5#\xef\xa8\xbc\x12\xc0\xf4\xcd \xaf}\xec\ +\xd3\x8b\x8ax;\x1a/7g\xa3n\xaa\x1f\xf0\x85\xdc\ +R\xe3F\xb8\xc9\xbb>\x0e\xfe\xb1\x87\x0e\x9d\xc5Cf\ +,\x147\x14\x1b\x8c\xc0\x9f\x0a=\x1f\x82\x86\xa7\xd5\xc5\ +\xef\xc3\xe4\xd6\x19<0V\xd5\xe8\x89\xe8I\xf2\x05\x05\ +\xa7\xda\x98+\xcc]\x82\x85\x1b\x1bk\xe8\xdd\xe8\xdf\x9b\ +\xbc\xb7\x95\x03\x81\xcb\xe6\x8f\xb3\xa6$\x0ah.\x969\ +\xc6\x05!:I\xf2\xe8\xb4w\xf0\xc4\x8dq\xee?1\ +&\xad\xed\xc4\x89\x82\x11\xf6\xe8\xdeN\x1cu\xc8\xe5\xce\ +[f\xa5`\x87\x10\x85\xbfd\xa8\x5c\x5cq\xf0\x07p\ +\xc1\xe1\xc0\xc0\xbc\x0cM\x81\xad\x1cg%\xe4\xf4\xd8(\ +\x08\xf7\x8aF\xd3\xf8\xae\xe7\xc7QY\xb8?a\xa9\xb9\ +\xf8C\xc6\x15\xd2\xe5q}\xed\x02m\xa5ugp+\ +\x8dVA,5\xec\x22\x88\xa8\xac]dG\xc8\xd0\xbe\ +zAD\x0aV6\xc4p\xc3\xf5\xa20r\x80^\xf8\ +>d\x84u:\x0a\xa6\xec\x1e\xe9\x05\x1b\xb7\x0c\xd7\xea\ +uP+\xc5\x0fOh\xe0\x9d\xbe\x13\x18\xab.y\xf2\ +\xec\xab`\x84k\xa1kL\xde\x8e\x03\x87\xf1\xb62\xec\ +\xac\xa2\x17\xeb\x22#\x9d\x87\xbd)p\xa2\xa5/\xfaf\ +\x9c\xed\xb8\x87m\x5c\xcc\xfcH\xe6}\x94\xab\xb9\xe3\x15\ +\xb9\xf1\xee\x8e\xc8\xa6\xc2Ve\xdd_\x19\xca\xc5X\x17\ +\x99\x91\xf1\xcd\xbd\xa0U\xc9>\xa5\xb1\x05\xc7\xad\x81\x1b\ +\xa8\xa3c\x88H<\x13/F}\xbf8\x0cxe?\ +\xfd\xb8\xde\xa7\xfds\xe2F\x0c\x97\xde\xf8\xd2X\x12\x8a\ +\xe6\xca\x5c\xe0\x0b\xa9\x1dt6:\x9d\xd0)\x18\x85\xc7\ +\x8b\xb5\xfa\x0e\xd8\xd5\xa0\x012\x9a\x0av\xad\xbe\x92|\ +\x01\xa3\x06qn7]V\xe4<<\xd4C\xd3[0\ +\xee\xafGp\xd4\xab\x13P\xa03\x85\x03\x17\xcb\x1ch\ +\xd8M\xa6\xe3\x09\xa1\xaf\xb0\xb6%\xacS\xec\xbbv|\ +\xd1\xdaE0\x86\xf0\xcawy\x13av\xe1\xba?\xe4\ +\xf9@\xb8\x14\xf6\x04\x16 \x9c'\x14H\xcd\x0b\x08\xad\ +\xe2\xd4\x1c\x97[)\xdbA>\x12[9[\x8d\x90\xe5\ +3mV\xc7q\xef\xc3\xda\x86\xfci\x8a\x05\x81\xa0\xa0\ +\xe4z\xef\x01\xed\xa1u_p\x0f\x15\xfc\x1f6Q\xdc\ +\x81\xea\xd1qE\xe3N\xc2\x8c\xcbR\x5c\xcb\xc1\x9d\x94\ +\x19Y4N\xec\xb1W\x14\x83\xca3\x90\x81-'5\ +5D\x13\xa390\x02\xde\xf1\x8e\x8d\xa2kG\xa0\x18\ +N\xb3\xde?t/\x8c4\xc4\xd5\xe4\xba\xb8\x0ai\xad\ +\xb8x!\xb8\x180\x8e\xc8\xb5\x8b'\xdd\x90\xf2\xdb\xca\ +\xf8\x91\xa7uw\x88Qf\xd0\xd3XQ\xd44\xbcc\ +\x17\x1a\xfb\x09&9\xb6+\xe9+\xb8\x10uE\x0a\xd6\ +\xb3R@e\xaat\xbb\x87\x10j_k\x0a\x5cBg\ +\xa1\xbc\xf7\xdc\xb9\x9e[\xa9\x8e\xc2\xe8\xda\x83\xe7A\xbd\ +0]\xea\x5c\xc2^h4@\xf2\xd6\x03W\xd6P\xae\ +\x18\xca\xf0y#\xb7T\xa6DB\xc8\xd4\x85\xf0$G\ +JAOyS\xf7\x8cD=\xf8n\x989\xb5\x0c\x0b\ +\xfb8:XhX\x85\xb5x\xb4A\xf4$o\x5c\xf9\ +\x0b\xb69\x22h\xf3)\xfb[\x95\xc2\xc0\xee\xbd\xe9-\ +Lt\x8fG2\xa3 :\xef(\x10\xa0\x10\x0e\x5c0\ +s\x98q\xabL\x9e\xaa+\x1d6]S&\xed\xdc,\ +fLZ\xe6[:]\xc7\x91\x7fi7%\x05:\x0f\ +=*\xc3\xea\x8e\xafis\x8c5\x08\x91tj\xd1\xc1\ +\xb7\xc6\x15\x94\xe9\xd4\xef\xbct\xaa\x9d\x0c\x85\xcb\xcc\x00\ +x4{\x9c\xd7\x189k\x84\x99\x97E\x98\xd2%\x0c\ +\xb8\xce\xc7Y\x89#k\xd9\x09\xdaO\xeb\xee\xe0~\xaa\ +\x07\x22y\x11\xeb\xe9K\xd3\xa1\x1d\xc6\xfd\xd4\x19K\x88\ +\xdd\xb3Wn\xa7q\xd6@\xd8\x8ek\x8d\x03\xba\xa1~\ +\xe2\x1eJqRe\xd2d\x883\xf5.\x9cf\x89\xa3\ +\xd7)\xaf\xa1\xb9($\x1e\xc1\x18\xca\xee\xe0\xa5\x8b\x0e\ +\xe8\xcb&X\x84\xa5\xc0ws4\x1a\xfc\x0b\xb5\x86q\ +dA\xb7{\xd1?\x0a\x8c`\x93vD`\x8f\x9f\x9f\ +\x0a \x1f\xd3S\xd27}3\x8af\xa7<\x87\xe6\xa0\ +H\x9e\x8e\x11\x1c\xcbt\xef\x14S\x88\xb4U\xf8\x04[\ +\x04\x8f7\xd4\xc9\xb1WO\xda_\x1d\x04\x0c3\x1f\xee\ +\x13\x83\xceV.\x8b\xae\xe1\x08\x04\xa4\xe26\x86\xe9\xec\ +\xbc\x08#\xba\x9c\xb7\x86!\x07\xe8\xfe\xa8\xf3\x85\xdaE\ +\xfd\x92*v\x8c3f\x8c;r^\x18\xc1=\x1a\xbf\ +\x90\xdaH\xd0\xaa\x11\xc4^\xa0\x05\x0d\xd1\x9e\x11\xba<\ +V^\x86\x01\x07w[\x9eD\xb8c\xa4\x95\xe4V\x82\ +U\x9d\xc6\xb4\xae`\x1f\x05\x8dfu\xd1\xf4\x16\x8c\xfb\ +\xeb\x11\x1c\xf9\xea5\x84\xe3E\x19\xc1\xb52\x07\x1a\x17\ +\x1b\xce$\x82\xeb\xe8\xe4\xeeN\xe1@BA\xbf\xbeh\ +m%\x9a\x13\xe0Ao\x87\xf7\x12-\x14P\xa4\x86\xfa\ +\x0f_\xe7xb\xe3\xde@\xb0\x9e}b\xb0\x90\x5cR\ +\xd7,\xc5\x8f\xe6v^z\xc1\xd8(h\xe7lwE\ +\x18J\xdf\xac\x11R\xceC~\xe3\xeb\x0d\xaa`\xe3\xb2\ +o\x94r\xafm\xa0\xbd\xb4\xec\x0cn\xa5q\x02\x0e\xa1\ +\x87[\x89nJm\xac\xfd\xd1\x0b\xee\xa41\xe5P~\ +\x1at\xf0\xcc\xadT\xe5Bl\x9a\x13\x9c\x82\xbc\xc3a\ +\x08\x12\x5c\x8b\x87\x22\xbf\xc7\x97\x1a\xad\x1e\x8c\xd2\xccX\ +\xb8\xb8\xde3\xe9`l\xf6.\xfd\x19*?\xa6\x97\x16\ +/\xe4\xfcp\x9aa\xf0a\xf8~\xd5\x0e\x85y\xb3R\ +{H\x98\xf7mep?5g\x0f\x1cZ\x1agg\ +\xc8?&\xe9\xa2\x99\xeaMcC%4c\xf3\xf2\x96\ +\xbbB\xc9\x10\x9d\xe3\x07I\x85\x8b\x04\xe3i\xab\xa2\xef\ +ty\xc7\x8a\xae\xb8\x80\x8f\xdd\xcc\xdc\x17\x18L\xa14\ +\x82\x91\xad\xfb]r\xcd\x8c\x16\xb2s\xb0a\xd8\xf2D\ +\x03\x02\xeee\x851\xa2\xfa\x81\xde\xc8=U\xaaO\x8c\ +\xa3R\x18!\xea\x9a1M\xf9XI\xed)\xdc\xe7\xc6\ +5\x05/\x18{*1\x18Xv\xbdqlCY\x86\ +\xbd\x1a\xcat[\xa8\x1bF*zC\xa0\xf8CK\x18\ +k\x08\x13\xae\x01\xae+-\xe1\xf4~\x04\x87\xbe\x12c\ +\x90\x22U)&\xb8f\xe6H\xe3r\xc3\xe9\x84\x0f\x89\ +\xfe](\xb4m\xe3&\x84\x8em\xc6\xa4\xe5\xda\xdea\ +\x91(\x85r\xe27\xe3&\xf8\x92\x13')\x22h\xc6\ +B\xed\x8a\x18\xdeqv\xc0V\xdbw\xd9\xac\xb4\x8c\xd0\ +2N\x0f\xac\xa5\x88R\x83\x89\xaaVn\x18\xb4t\xb6\ +|\xd0\xbb\x8d\xafL\xf3\xdax\x8c\xd7\xaa\x0b\x7f\xa1\xde\ +\x87|\xb4\xf2\xb5!\xb4\xa9\xd6M\xc2]\xd5\xf6\xb3\xd7\ +\x1f\x19\xbe\xdb\x05\xe3\x03w\x14\x12!\xa0\xfe\x8c\x17\x8f\ +\xbd\xcc\x1du\xe8^\x06\xb7\x1d\xc4+\xba\x8cs\x1b\x09\ +uU\xd1\x00\x9d7=\xe4\xb4H<\x8dk\x7f\x85\x14\ +\xcdZ\x05L\xfd\xa0\xaa\x0c\x8b\xdaA\xeb\x1c\xef\xd0\x05\ +\xc1\x1aT\xc3`?9\xa47\xc2\x0a\x80\x90\x8b\xaa\xd0\ +\xef\x1d\xd7\xcd\x85\xc1\x0du\xca\xde\x03\x95\xaf\x9f\xb4\xf3\ +R\x05\x85\x96\x8d|\xbf\x85\xbe\xe99L\x14\xee\xb8\x18\ +\xe3+p\xfc\x15\xbe\x09g $\x16\x14!l\xd5V\ +ez\xd0\xcd\x83\xc9s\xfb\xc1\xab\x14R\x16\xb9\x98+\ +\x9a\x85\xd0$\xaa~C\x15\xa1I\x04;L\xf6\x0c\xd8\ +\x96\x0e\xd9\x22\xe8K\x85\xd6}\xc2c\xa6\x1f\xe8\x8d\xdc\ +Ouo\xba\x1b\x8e\xcb\x0fr\x9bv\xde\x08\xc7\xb95\ +N\xc2\x85\xd4~\x82\xee2.\x8e:\xca\x11%\x8f'\ +\x10\x14\x06Q\x0eS\x11S\xab\xa0#\x1c+\xc9\x1du\ +a\x0e\xc6h\x1c\x97r\x1e0\xe1\xd8\xcf\xec\xa3\xe9-\ +\x18\xf7\xd7#8\xfb\xa1B\xd2(\x99\x1b\xa5\x05\xd7\xcc\ +\x1cj\x5cu\xb2\x84\xd6\x99\x11\x11\x84\xceA\x99CX\ +e*_\xb4cE\xeae\xe5'6T\xc3\xe03\x1f\ +\x0e\x81b\xc8\xeb\xdc\xb8\x1b\xb0\x0ea3\xd4\xba\xdb\xbd\ +\x88\xd0.N\x0f\x0dn\x07\x83\xd9:3\xe3\x1a\xdb9\ +\xdb]\xe1\xf0;6k\x88\xd0:+\xcc\xac\x9d[\x84\ +\xbe\x0d\x8e\xe5\xd7f\xe0n\xfa\xda \xdcM\xa7m\x10\ +=\xaeOg\xebmh\x8e\xdcR\x89\xa1 \x104\xbd\ +^\xdcRc\xb7BhB\xbb\xdcm\xe8\xc6\xa1\xdbw\ +\xda\x94(1\xe9\x83\x19\xfb\x85'\x05\xdau\xe1D\x82\ +/\xa8\xd0\xf0\xc6\x03)#I7Q\x99g\xa6\x05\xe2\ +\xdd\x92\x5c\xee\xe3\x95\x94\xcf\xbe##\xfc\xe2j\xa1\x14\ +l+\xe3G\x11\xa4l\xd5XZ\xe00T\xf8\x92\x9f\ +\x22\x95\x95\xc4~*>&qE\xc67\x10\x99}*\ +\xeb\x0f\xc3\x07\x81\xc5\xb5\x8f \xdbC\x1a\x9c4&j\ +X\xb0od\xa5\xea\xe0\x93;\xa5\xca\xe8P9\x0f\xef\ +\xee\xcb\xe6\x0bv\x0d\x06\x0d\x99\xff\xe8\xb4\x80\x1d\xea\x07\ +6\xb5\xf3\xf3:\xed\xa6\x06\x05\xabS\xcd\x1d\xbb\x87b\ +\x18Ij\xedXIm&3\xae\x92\xb4\x99\xce,I\ +\xb0c3\x0ee\x08\xd70\x04\xee\x8e\xd6\x90\x9c\xd4\xfd\ +C\x9f\xe9E\xd5\x17\x09\xc4c\x92\x18\xf2\x83\x88ht\ +n\xa1a\xca[X8\xf1#\xab\xee\xa21\xef\xd2R\ +\x891\xc6\x1d\x87\xd3\x88\x807\xed\x1b&\x17b\xeb5\ +D\xeb\x891i\x07\xc0\xe1Z\x84\xdb\xd2I\x83?T\ +\xa0\xac\xfb\xc9U\x19KG\xeb\x1f\xbc\x95;\x83S\x93\ +V\x1bBy\xb9x\xb0qv\xf9\xe6\xd4J\xb4N\x81\ +^j\xa5[]\xb1\xc6B9LX\x09\x88\xe59t\ +\x8f9\xa4\xf1a9/\x1b@\xdbh\xdd\x14\xdcF\xb2\ +\xde\xedh\x8fnM\xbd\x96T\xbc\x8d\xb22\x99\x1b,\ +\xd7\xb2B\xd8\xd9\x81l\xbeT\xed\xf2K\x8c\x93\x85\x1c\ +\x87.\x8a\xa3\x0e\xe7A\xe5\xd9\x87\x86\xc9\x04\x83\xc3\x84\ ++'\xebv\x0f\x9f\x1c\xdc\xe4c<\xcf.+\xb9\x0e\ +&\x98\xe0\x0a\x852vy\xd5\x95\x1c\x92\x17G\x1c\xae\ +\x9d\x0b\xe3G!\xe2l\x17\x82i\xaf\xaa\xd4s\x5c#\ +\x90\xa9R\xf2\x17\xad\x84\x83\x9cO\xedo~\x05\xb7^\ +\xc6\x9fWN\x1aD\x15\x166\xe4@?d\x85\xd0\xc1\ +\x0e\x0eB\xab\xa1\xfb)\x98|,\xee\x83V\x88Cy\ +\xc4H\xa89\x0f\x1b.\xd89\x9c\x9c\x97\xd29Ng\ +V\xe3\xf4\xc3\x89\xc0\x1f\xe8\x8d\xdcM\x07\xcd\x10\xb8N\ +\xb6\x8a\xfd\x83\x0b6n\x9by\xa5\xb8\x99\x8e\xde\xa8>\ +\xb7\x0b\x0b\x0f\xb16\xb6\x0a\xe0s\xb0\xbe\x1e\xdcM\xf2\ +H\x88\x9e$\xb7\x13!\x06\xaa\xec\xd6p\xf2a\xc2\xe5\ +w\xc8+\xbd\xd9\x0f\xf8|\x04\x0bW\xb9\xd30.\x17\ +\xca\x08\xae\x999\xd2\x8c\x1c\xad\xba_]\xc5\xa1\x97\xd4\ +\xa8\x10\xa2\xcd<\x83K\x164\xd3\x0a{\xcc\x8e\xf7\xae\ +5v\x14?\xd3\xa8\xc3*\x98\x15\x0a[\xa5I\x7f\xa3\ +\x09\x9e+\xaf\xf6\x90o8\xe1h\xecKn\xe98+\ +\xa9\x1e\x16\xb54Z^3\x07K\xdaao\x14x\x99\ +\x9e7~\x0d\x0a-\xe2\x83yIzo\x08m\xabu\ +\x93h[\xf5\xb17~`\x95\xd0\x0d\xea\x1a\x0a\xdc8\ +\xb8\xb8\xab\x10\x1e&\xb3\xfd~\xd0\x81;T\xf8B?\ +\xd0%\xb38l\x080\xe1#\x1e\x087\xf8\xeaLk\ +\x18-\xd2\xe9]\xc5\x99\xc5L\xc3i\xc8\x15\xc4\x8c|\ +8^\x14\x0fB\x9d\xbf\xe0\xf2&s\x84\x12/\xe94\ +a\xc0\xc7\xe1\xab=n\xd0P\x87\xde\x0c|\x05s\x89\ +e\x00g\xfc%\xeb;\xaf\x1a\x9e\xa8\x95\xbeyi\xc8\ +T\x19pU\xc6W`\x99=\xa72\x05yE{>\ +\xe2\x8c\x0ejoEk\x12;\xb7'\xc7\x84%]\x09\ +3q,r\x13\xd6\xc0\x0e9\xd5l\xc6`\xdf`\xd8\ +\xa0\x19c\xd7E\x19\xae\xe01<\xc8V=?o\xd4\ +\xa6:\x1d\x82y\x9cY\x99\xf1\xb2L\x0fY\xff\xa6\xb4\ +\xa9N\xb9R+\x1d3c\x89I\xf7:9\xfaG\x92\ +\x1d\x0dWR8\xfcEO\xf2\xc6\x85\x8c\x19\xe6\xf5\xa0\ +\x83\x12n\x5c\xcc7.\xb5\xec\xe1\x9b\xd6\xa6z?\x82\ +\xa5\xcb.\xc0:\x89\x90\x10XFK}\xee\x10\x18'\ +\xb0\x22\x11\x18\xe5=t\xe04C\xb6\xf5\xd5MOR\ +[\xaa\xe1N1\x0e\xb1#\xc5\x96\xe206D>(\ +\xc5\x01r\xadB\xa19\x94A\xc1UW\x9b\x97\x10v\ +\x10\xad?\xb0\xde\xb1\x99\xb8\x22*\x91\x83\xcd\x8cf\xc3\ +\xd1-\xb3\x19\xf4C\x08O\xa4\xe1Q\xcc\xc7\xb6Z\x8c\xe8\x09\x06\xce\xee\x0c\xda\ +x\xfc\xf3\xa6J\xcfh\xae\xcc\xc7\xe0w\xd5\x14B\x05\ +NW0&}\x7fq\x22(\x07V\x1ax\xc7S\x16\ +\x22\x08B\xf4\x14\xa0\x9e\x15_\xc7\x04\xfc\xfa\x08\xfeF\ +\xf2y\xfb\xa6\xefG\xa8P\x8f8\x01\xe5\xd5mT>\ +O\x86\xd4;l\xa6f\x86\xeaD\xa8)\x94g\x05\xd2\ +\xef\x0e\xae\xecR\xd8\x1d\xc1\x88\xe1>+\x0d\xb4jv\ +\x8d\x80\x93\x19\xd1T.F\xb2@\xd5g\xa0\xccq1\ +\x92\x86\x17I\x99o\xd5J\xfe\x81\xd1\x0f\x081\xc8\xfa\ +%\x22\xc3\x90\x13\x0b\x0ft\x8e4\xdf#1\xfa\xe7\x8e\ +\xf0v,\xd6zH\xe0W\x9dL4\x9eE:\x1aV\ +\xa2\xd2\xf1N\x05G2j\x1dV\x96+Bq*\x83\ +hV\xfa\x96\x81\x92\x91\xaa\xf0\x1f\xe3\x91^\x14.\xc4\ +\xf9X\xc9\xdb\xc9\x8327\xe0\x0b\xe5T\xbc\x112d\ +\xc7\xcf7d42\xa4\x0aj\x98\x92$%\xd7\xb9:\ +2!<\x98)\x8e`\xa5|j)d\x87C\xe1\x84\ +b\x87\xf6\xaeP\x0a\xdcH\xe9\x13\x81\xabk\xc8\xe7\xeb\ +\xf8u|^\xc7\xf3H\x89\xfb\x08-\xc0\xf9\x03\x0d\xe5\ +b\xec\xd5\x930P\xc3\xb2\xe2\xff2b\xd1\xd8\x0c\x9d\ +a[\xbc\xc8\xe3//\xd2\x89\xc40\xcd`\x08\x1c\x8d\ +\x8a\x0b\x04\xc3\xd2^\xf4\xf6\xa3h+\x5cP\xc7|\xff\ +8\xe9\x808\x05\xcar~3\xbaB\xa7`sE\xac\ +\xa8CG\x11]Ds\xd0\x8b1\x839\xe9\xa9\x8d\xd0\ +H&\xd1\xff0\xcc\x92A\x0cZZ\xcf\x0el\xef\xee\ +`$\x96\xee\xfe\xe5\x10B\xfd7\x86c\xc6\x8c%.\ +\xe5?+#\xf3@k\x92\x8d\x0c*\xe2\xe6\xc0\xc5\xc5\ +qp)\xc7\xd1~r]\x80Qt\x90p\xe9;\xdd\ +\x0d:PW\xfa\x99S\xfe\x18`\x9d\x15.Cp\x15\ +\x86\x9dmo\xf2^\xfe,4\x1d\x89H\xdc\xf2J\xf5\ +\x94\xb5X\xe6o\x8e\x94}\x0e\xe6\xe9\xdd\x9a\x1d\xf2z\ +\xcdP\xbe\x85\x83!\xa0\xc7\xdd\x81p\x1c\x91m\x0e\x09\ +\x86\xf5k\xd8\x1e+,\xedB\xb0\x80\xc3\xa7\xc3q\xb9\ +0\xe0\xa8\x86M\x9a!\xe1\xf8\x9c\x93\xd9`\xe3\xd4>\ +\xda\x9bRmi\x18u\xfa\xb4rw\x82\x13\xe9\xe7\xcc\ +\x19\xe7;\x22e s\x5c\x98~\xedxbF0n\ +\xca\xc1~\xb2>\x0d\xc1\x8d\x9a\x91\xcb:\xd7\xd2>O\ +\xf4\x85\xe3\x98\xc0\x0d[\x81\x9f\xcd\x0a\x9cE\x12\xad\xad\ +J\x93\xf4\x96\xbf4\xea\xbc1\xe7\xe7\xabs\x92s\x88\ +\xdf\xa83\x5c\x90=E\xa2\x00\xf1f\xe6\x88D\xcbu\ +t\xfd\xfe\xe2$\xe5\x0f\xe8>\xc1\xd79\x9f\xa0\x84\xe8\ +@\x9c5\x05\x1a#\x11\xf8\x8a\x17\x03\xd7\x8c\xca@\x97\ +]\x96P\x84\xb8)D9Q:\xdd3\xd8}\xce\xe4\ +2\xb1o\x92\xebd]\x0b\xdf\x1bP\x91\xadL\x18A\ +\xbf\xff|qp\xac\x22;\x5c\xe7\xe85\x81\xcb$\x07\ +4\xca\x88\xd0Fxl@'\xb8O\x06C\x98\xe3\xf8\ +\xa61T\x0a\xe8\xe6\x99\xba|W'\xe9w\xf3\x86b\ +Q\x14\x1c\x0b\xc3\xc9E\x10\x95\x95\x8372\xadD\xf1\ +\xb5\x9f?W\x9f\x01\xf8\x8b\xf2\xee\xab\x84K\x8cuV\ +\xc0\xf2\x1ci/\xd5\xfb\x8bC\xad\xf8\xea\xf1\x86\xed\xab\ +\x0dl\xfdWKG\xeb\xab%\x09\xc2\xd8\x89p\xb3r\ +\x22\xd3\x1e7<\xc6\xe6\xce\xbfG0/\xfe\xa5\x1dZ\ +\xbdZ\xad\xc9P&r9J\xfcR\xcc\xa9\xc7\x0b\xc7\ +)\x1e~\xc1\xf6\xd5\x086\xff\xab\xa9\x18|eD\x12\ +^\x82\x07\xf6\x9b1\xc98\x19\xb2$@\xb2\x10s\x94\ +\xef\xa6\xdd_#\xad\xe2\x92\xee2TW\x04\xc0\x0a.\ +b\xfe;\x22\x83\x11\xa1\xa6\xf9|~\xd2\x0bem\x17\ +\x9a*-\x07\xc6e,\xde??+\x87K;K\x9f\ +\x98+mnz\xab\x10\xa4\xb7\xcfvM\xb1\xdb\x84V\ +\x81#%\x8e\xbc7'Y\x13\xc4\x1bJ\x8f\x8fo\xf3\ +\xebj\xf6\xda\xc6\xd1\xee\xc4\xd8\xed\xf3\x8a\xf3[\x192\ +ga;\x7f/\xb4\xb1'\xfct K\x9c\x8c\x5c\xdf\ +~\xee\x853!3\x9a\xa3\xb8\xbd,\xac\xbc\xde+\x03\ +\xe7\xe6\x85K\x8a\xe3\xde1JL\x8a\x095ca\x18\ +\xc8\x02\x0a\xc4\x9e\x83\xc2e\xa5\xc5\xb6C\xe4\x92\x19c\ +\x9b\x22\xbb\x86S\x5cup\x9cs\xbf\xbd\x19H\x7f\xc3\ +\x9btV\xfbo[\x9bCo\x8e\x19\x91\xde\x84\xd0\x18\ +\xec\xee\xaa\xc3\x1aI\x1c?\xf7\x9b4d\xc5\x86g\xb9\ +s\x8e\x12\x09C\x06\xb9x\xd2A\x1d\x940\x87\xe4\xd7\ +1\x8fx1\xb6\xe0P\xd9\x02\xaa\x99W\xcc!\xb9~\ +N\x19\xf9f$\xa7'\x03\xb8\xafQ\xf9\xa2Di\xa1\ +\xea\x98\x13\x0ch\x18L\xc4\xf3\xaf\x9d\xaa\xec~\xdc+\ +c\x83\xc6\x86\x85\xd0\xb4O\xbb\xa4\xbe\xf3\x13\xee\x95\x01\ +{\x13\x96\x15\xb7-\xb4\xde\xb1U\xce}.\xaa'\x83\ +W`\x0f\xb7H\xa5\xc3\x7f\xd6\xd4\x9b\x91\x9c\xe3\xb8U\ +\x09>\xa5\xd4\x22~M\xc9\x10\x0b\x83@]\x98\xae\xaa\ +\xa7\x95 &\xea\x0ez\x8b?\x1bgc,\x1b\x9e\x8b\ +Nsh9\x06\xe5\xcd\x88\xb7\xc5^\xba\x18\xd9\xbfy\ +\x0a\xee\xa9\x8a!i\xc96\x7fv\xa4\x9a\x9c\x13\xa2;\ +\xeb\xc2`t\x02\xaeOM\xd2\x93\x86\x9f\xa4\xcdn\xfd\ +x\xdd\xebO=\xce\x09\xfd\x5c\xa1Y\x92\xf9\xcd\xc1v\ +\xa2\xd6uxo\x1b\xc5$\xfe>qM\xb6\xcfO\x90\ +\x96\xc9D&\xf7\xf8TF\x1c\x22\xff4\x9e\xba\x86\xe1\ +\x87\xe7\x03\x0a\xc4\xda\xff\x16\x80\x16\x08\x94\x91\x94C\xa7\ +B\xe1U\xb2\xcc\xecf;\xd8\xedo\x0e\x03p(u\ +\x0e\xa6~D\x0a%\xf4\x14'\xc4\xe4H\xf6bN\xce\ +\xd4\xd9w\x89@\x0c4V\xdc%\xf1\xbd)D\x14\xcd\ +\xe8:k/\xa5\xe7\x9c\x16\x18\xa7\x8c\x09g\x08\xa1\x17\ +\x1d\xb9\x95\x88z\xa3L\x15\xfc\xc3|\xf8ES\xe1{\ +\x9cK\x89\x97\xd4\x1e2\xc3\xa8J\x9dKw\x9b*\x0e\ +\x8c\xbd8\x1d\xdf\xe4\xfd\xfd\xf7n\x8d8\xc4\xba\x85\xe7\ +\xa9\x8c\x9a\xcf\xbd\x95Q\x0d\x9fl\xcc\xa9\x02.+D\ +*\xd4\xba\x8e\xa8\x04\x86\xeb\xa0\xce\xe0z\xac\xb9\x1ap\ +wZ\xf0\x7f\xa4\x84\xe8\xfacy\xc0\x14\xc6\xfa\xf8\xd7\ +G\xf1\xeeU\x8a\x95\x10\xee\ +7\xbf\xa8;\xe8m\xfeY\xa7}\x9c\x15]\x9bj\xb6\ +\xe3E\xc3\x06\x0a\x8f\xe0u*\xfd\xa8W[If\x17\ +\xbb\xed\x22\xbb%e\xb7\x11b\xf7R\xb2\xd4\xd5\x14H\ +\xcer\x12\x98x\x95d\xc6\xa3\xb6\x9bw\xc9\xe5s\xb1\ +\x22\x5c\xed\x97\xd5\xeb\xd2\xfff\x86_\xb4u\xf8\xaf\x85\ +\x01+\xf2#\xe1\xb4\xce5\xf4\x1f\x81\x82\xe0\xc2<\x9c\ +\x22\xa1u\xb6p\xa6MQ`\x05\xf83s\xa3\xae\xc0\ +\x81\xd3\xc1\xb5Mx\x90@IC2\x04a\xcb\xbcG\ +?\xe0\x82^j\xf9r~\xba\xc0\x10\x8ar\xb4u\xcd\ +*Y\xd1U\x8e_s\xbe\xeb$\x84X,\x13^\xa6\xb8n\xbc&\ +\xa6\xdd|aP\xde\xf2\xd8\xcfr\x98\x97\xce\x0dC\x84\ +D\x89\x17q\xb6\xc9\x9a\x9e\xa5\xea\x5cb\xe4F\x01|\ +\x03Y\x18=\x92\x9a\x9e\x1c\xfa\xb1.\x19\xca\x18f\x10\ +\xfd \xcd]h\x18b1\x08e\x97t.\xd6\xb3\xaf\ +#K\x1f\xdb:\xd8/1\xbb\xcf\xa0\x10\x09\xdc\xb1\xe4\ +\xd3\xaf\xf6_X\xf2>]\xb0{\xb0\xe6\xfe\xfc\xac\x9c\ +d\x1c*\xa6\xda0\xa8\xc7\x8e\xa36\xcf\xaf30d\ +\xcd\xc2<\xc0s\xd2\x0dMi\x9c\x92\xcf\x09\xf9?\xfe\ +\xcb;\xb4\xa4\xe7\x0a\x979\xe7\xc1\xb0\xc1\xe6\xb3E\x0f\ +\xa3`\xf5\x80\x1e\x11g\x9b,\xac\x0cA\x9b\x08I)\ +\xecu\xd8SF7\xb1\x84@8\x10\xcf\x00\x84\xdb\x15\ +m\x22f\xbd-m\x08\x9b\xce\xab\x9d\xff\xde\x99\xf4\x0f\ +\xfb\x8a\xb0\xffd\xc4\xaf??o\x1a\xad@\x96*B\ +r\x91\xdaC\xb4\x9f\xech\xda\xe6\x15\x0c\xc6f\x0e\x96\ +\x15\x91\xa1\xb2p\xbbY\xc5\xa1\x88\xbe\x18\xe3\xc5\x8ev\ +\x05i \xe1\xe8\xf3D\xb3\xd5\xea\xd5\x02\xf5\xf3\xdd\xc6\ +\x7f\xa9\x9b\x17}\xcb\x9fn>i\x9eX\xc0\xfa\x89n\ +2J\xef\xd9M3>\xdd\xc4\xfdR\xb3\xc5\xe2\x15\x80\ + <_\xdd\x84\xd2\xdd\x1f\xbd\x8c\x07\xd8\xcb\x9f\xa5A\ +!b\x9eM\xfcWz\x89\x80\x97\x22\x88\xc2\xd6(Y\ +^\x0c\xceN\x12, #\xe5\xa0o\xd6\x83\xfd\xb4\xbd\ +\x97\x8c-8t\x09\x1c\x9eNv\xe3b@\x06\xba%\ +$n\xfc\x82\x80K\xb3\xa3\xf1D\xb3A\xe0\xdd\x04\x1d\ +\xfeK3\xff\x95\xae\x1e\xaa`\xc0\xd1b\x81\x81\x95\x83\ +\x96i[*\xa3\x1fW\x0a}u\xe7\x09y\x07g\x9b\ +,(\xd5\x04q\x82\x8f\xb6H\xc9N\xdc\x84\xc5\x9a\x00\ +\xee\xb6Z\x19\xc2\x1a\xf8<\x81\x08A\x9c\xe4K+\xd8\ +\xdf\xaf\xb6\xfeK\x1d>&0s\x92\xffd\xe1\xf8\x82\ +\x808\x00\x9d\x8f\x02j\x8a3\xe7\x0e\xce\xf69\x86\x9a\ +\xe1\x81\xb3\xd0\x84\xe2\xd6\xf0\xc1\xef\xa3\x00\xbd\xce\xd8'\ +\xf3\xef\xa70>\xd7&\xa8\xb7kC%\xda\xff\xbd\x8b\ +\xda\x7fH\x80\xc4i\x08?\xa4l\xd5\x0b\x07\x12\x93\xb3\ +\xbd+{\x16)`\xf8[\xe8\xd7\x93\xda\xa69\x15\x0a\ +\x146\x05,T\xc4\xed\xccs\x9c\x0ca\x9d\x8c\x19l\ +\xf3j\xbc\xcf\xf4\xf6\xf8\x00d\xcd?\x9c<\xe16'\ +A\x0a\xff\xf9Y\x18aq-\xc6H\x0a\xbbQI\x01\ +\xafJm\x9bh\xa3I\x90`\xb6\x9f\x05J\xa2/^\ +\xd4\xc6\xad\xf7Y\xf0C\xa5\xe7\xe4v\x83\xed\xee\x81\xe4\ +m\xe4\xbd\x8f\xaa\xf8\xafK\xccSN\xaa\xb8>\xfc\xf9\ +Y9\xa1\xa7\xf8v\x90\x9aD\xe8\xe7z\x22\x10\x98\x8d\ +\xb1\xeaD\xe4\xb2\xba\xf5\x5c\xab\x12\x99\xd9\xc8J+\xe7\ +C\xb7P\xec\xfbTD\x03\xdc\xf9\xcd\x99w\x1aI\xd9\ +\xa9=\x05\x1c\xe6\xad\xf0\x03!\xaa\x1a\x9e\xfals\xf5\ +\xb0]KG\xb9\x05\xbe\x86\xe3\xff\x81-\xd0\xab\xbf;\ +\xb7\xc0\xc2I\xc2\x7f\xc4\x0e\xe0\x00~!k\xfe\x97\x16\ +\xe9\xb5+\xc7EW\xd8\x07E\xb0\x04\xdd5\xd9\xe5\x8b\ +\xd8~\xc8\xce\xfc\xac\xfe\x87Qj\xfd\x07m\xcc\xc2\x1b\ +\xeb\xd4\xc7\xff,t\xdcnO\xc7\xf8\xd8*s^a\ +\xa8\x7f1\xb68\xe9\xfc\xf7\x80\xf79\xc3\xdb\xb50\x22\ +~'HioO\xc7\xd5\x83\xc1\xeb\x0e\x8eM\xe0g\ +\xefyi\xa8\xcc\x9c\xef\xae\xfc\xf5\xaf*\x99\xe7\xcc\xe9\ +\xf3y\xbep\xd0K\xc4^L\xb2\x18\xba\xa9\x04\xe6\xdc\ +\xe1X\x80`\x85\x9f\x07\xb1\xa1J\xd3RdS\x97\x8e\ +\xf1\x22\xe3\x98\x8ej\x06L\x1f`\x12k\x9fP\xedb\ +MN2./\xf2%v\xfb\xe0\xd8\xc0\x1a\xdb\xab\xb8\ +$\x02\x04k\xfe\xdc\x04g\x17\x96\x1eJ\xedY\xc7\xe1\ +_\x10\x8e\xa7C\xdb\x84(\xf1\xe7\xe7M\xdb\xd0Kd\ +\xaa\xb1|\xa3n\xc3l\xf6\x9bA3X\x18k\xf8\xbc\ +\x8d5-\x0eV\xbb_\xe3\xe6\xe1\x8a\x09\x93\xd4\xfd\xdc\ +e!6\xbd\x9f\xb6\x9cS\x98o=\xb9\x1c\x85vS\ +g\x8d\x00\x06\xcd\x13/\xae\x1b\xbfK@\x83\xaf\x9el\ +K\xc7X\x1ek\xe9\xfa\xbf0zh\x1fc\xa1u\xef\ +\xfb\xf3\xb30p\x0a0\x91[\xa1\xb5\xc8\xc7LJ\xbe\ +nLH\x821X\x01\xca\xe5t\xcc\xcc\xa1xh<\ +\xb7\x90\xf7\xd7\xdf\x91\x9bT9\x1c\xe3\x9bc\xf42\xa2\ +\x86\x1br\x1c8x\x872\xb4\x9a\x8cG\xc0\x00b\xbd\ +*\xe4C\xaf\x0d\xc5x|u\x86Go\xf8\xba<\x15\ +\x1f\x17\xc5\xc2\xf0\xe4\x85\xcd\xdeS\xfb0\xe1\xef6\xd4\ +\x05\x8b\x81(\xb4\xbf\xee\x04\x91\xa0\xe9\xf7\xd2\x1blC\ +\xde\xe3NO\x1b\xf3.g\xff\x11\xce\xd2\x88\xdf\xa9\x97\ +\xef\xeb\xc0\xcdA\x0e\x112y\x19\xf9\x14\xc0\xaa\xe1H\ +\x97\xe9\xbd\xf6\x19\x8a\x84\xf9\xdf\x84DR\x04\x87P\xf4\ +9F\x198\xa4\xe1\xd8\xc3\xae\xe1\xf3k\xbar\x8a-\ +\x08\xc7\x11v\x8d\x17\xe3\xe7\xfe\xe2\xb8\xae\xc5\xf4\xed\x19\ +\x8a\x13\xb4\xbdS\xa7\x84\xb99i\xdf\xa9u\xed\x9a\xc0\ +\xe7\x80\xc7\x94\xbd&\xe5\xef\x8f\xd4\x7ft\x98\xda\x8b\x97\ +\x0d\xbb\xa8\xe0\xa2'\x07\xc3\xc2M}\xb8\xf0\x02\xf2\x98\ +x4]Fu\x04G\x18\x08\x06\xedH\xb9\x1b\xc1\xa9\ +\xbe\xfe}\xbf\xff\x02\xec\xa7K\x96\x0aZ5\x11\x88\xa5\ +\xd4\xb5K\xc1E\xb8\xa6s\x87W\x9d\x9a\xd9\xc1\xbe\xc6\ +\x1c_[\x1a\xd1H\xef\xfe\xfc+\xdbZ\x15\xec\x10\x9b\ +\xab\x12e\x0b\x03K\xb5;\xbb\x9b\x0d!\xc6\x80\xfe\x5c\ +t\xd0\x81\xb1MNry\xb4L+\x1b\x7f\xcfb[\ +\xb4$\xeb\x1c`z>\x10f\x10\xab\x85\x98\xd6\xa6|\ +\x1fl\xc9\xb5A\x9c\xfa\xb5\x8d\xff\xca\xcd(\x22\xcd!\ +\xfd\x0eN\xfe\xc2\x81\x09\x94\xa9\xa4\xcd\x05`\x98\xabx\ +\xf1\xef\xfb)\x8c\xaa]\xf0\xb6\xc1\x22\xa3i4z\x12\ +\xaa\x9f:\xa32\x81\x1a\x1d\xe2\x8e A\xc3^#V\ +J\xc0\xed\xa1\xb6\xed\xab\x15\x8a\x93[\xdb\xfa\xaft\x18\ +m\xe3\xc0_*\x1f\xb80\xb0\xfd\x94\x22|\xaa\x8a\x8c\ +C\xa4\x01X\xa1\xaa3-\xd0\x05\xc8\x01\x8d\xc8|L\ +\x02#\x12\x0fA\xe0\xb1\xabea@\x05:$%:\ +\xec?\xf0*\xb1%\xcd\xb9g\x8c\xb0~\xb7\xf6/\x9a\ +\xacXv\x0f\xc2\x85Pz4lv\x19[\x90\xa8\x83\ +`\xe6\x22\xdd\x15\x99(P\x08i/;J\x08TU\ +\x91\xb0)\x81Y\xab\xa7\xdfy\x08\xc4\xae\x08g\xdc\xe4\ +\xbd2x\x178\xe7\xf3\x969\xb4]\xd5\xb8>,\x1c\ +uZ!\xed\x04\xa4\x83\xe0\xb1\xc8\xbdl\x19\x22g\x9b\ +,\xd6\xdb\xf5\xc7X}\xf6\xdd\xf1\xb0\xdf\xbd\x07\xe3\xaf\ +\x7f\x17\xc7\x16>T\x16 \xe1\x9ad\x9a\xd7\xee\xdc\x8a\ +Sf\xf9\xec\xb3\xb9\x1f\x84o\xcb^]\xb8r\x15\xc5\ +\xad\x9c\xb0\x89\xaaf\x08\x7f\x01\xc8\x90\xa4\x1c;F\xae\ +,\xf4\xad\x08\x05\xd8 \x13\xd3\xe5\x99\x1e\xa4\xda\x0c\xc0\ +W\xc45\x22\x09\xda\x8f5'\xec]\xeb\xc42E\xb1\ +\x0d\xe6=\x02\x921\xab\xa6\x8b \xd7\x5c\x9c\xc8\x7f\xd7\ +\x0d\xfb\x02\xb4&\xabsA\x11\x82\xef\x0e\x98\xeb\x99\xfe\ +\x07\xcdE\xe3\xb5>I\xca@1@\x1a+l\xe5\x99\ +\xb5\x9b\xec\x16d`\x85\x10\xc7\xa9p\x02\x92\xca\xd0\x01\ +\x17%\x15\x8a8a\xde\xe2\x17\x10\x91w\ +\xe6\x89\x8d\x09}\xa3M\xe8<\xfc\x80>\x80\xc4\xcb\x91\ +\xa6\x12\xb0XD\xc8\xa8r\xff\x12\x86\x01\x93y\x09\x0d\ +\x94@\x9b\x1dP#\xcd\x13ZY\xed\x98\x88&\xf9\xf3\ +\x93\xc3\xa0\x91\x0b\xad\x88\x19\xa2\xd3 1w\xd7\x9c\x12\ +\xb5\x96\xf0\x03\xda\xa0\xd5\x11\x09\xc2$%\xa2I\xb6R\ +R\x0c\x0d\x8a\xa4\xb1\xde\xd8,\x22\xef2\xb4\xa28\xfd\ +R\x98\xe2D\x02\xc5jVR\x0f}Z\xbbp\xe4V\ +Z\x01\x95g\xe1\x942\x9f9Q\xfd\x97\x03\xd2i@\ +2\xa7^\x91\x02\x8d\xc8t\xf8z\x00l\xdd\x1dP{\ +\xa8\xf2\x93`\x9f\x93\x8a\xce\xfb\xef\x9a\xd3\xbe\xc3\xe3@\ +\xe8mIiM\x80\x80\x1e\x97\x09\x89I}\xcd\x91\x00\ +=<\x97]\xdb\x12\xc6\x92\x00\xbd\xc6;\x91\xd0\x82\x1f\ +\xecTB\x0ei/\xf0\xfc\x9c\x5c9\x97\x10\x7fQ\xb2\ +\x84\x81n\x97\x92\xbd\x11\xbb\x94\x0eO\xea\xd5\x0eMj\ +o\xd7\xe7'\x84\x179\xbfh\x851K>\x18%\x9b\ +EV\x0eNj\x8fY\xe5\xe1\x0eH\x05\xa5L#\xd1\ +\xd9z8kbd\xe223\xe6\x87\xdb\x96\xe8\x89\xb8\ +\x0dk\x97\x02E\xa3hF\xcfC3\x9a\x88\xa3\xa2$\ +\xed\x95v\x88,\x84+\x8bs()\x12K\x11sJ\ +\x88z\x96r\xf5\x9c&}E\xa0\x97\x98\xb2=\xa9|\ +/\x1d\x9b\x82\xbbF'\x01\x10\x12\x7f\xbe\x8d\x02\x09\x0f\ +aiB\xdd&\x5c\xa66ai\xc7:\x1b\xe1\x11z\ +M\xd0#g7YOeboSh\x87\x83\x80\x8c\ +q\x8f\xdcPUcRh \x0b\xc1{\xed\xd3b\x82\ +\x91\xebU\xe3\xc4\x1f$\x95\x13S\x82\xc6\x9b\xfad\xe5\ +\x15\xe7x0\xf1/\xc9\x15\xaf\xb4\xbe\xfdSB\xad*\ +guW\x00<\x06\x85\xe6\x0f#\xa9!%\xb7\x16\x9d\ +e\xaa\xe36\x0d&\xf6v\x80s\xf6\xf2)5\x80!\ +\xe8\xb2\xcc\x1a\x80\x94B\xdfU@\x09\xf6\xf5\x88l\xe8\ +^YF\xa3G\xd4k+\x81\xf8Xm\x82L\xfb\xe7\ +\x17X\xc6oB1\xc8*,\xa5H\xeb\x88B\xce-\ +2r\x96)\x08\xed\xe7=-_\x09]T0;!\ +\xb8\x15C\xb70\x92\xcb\x9a\xd0\xdc\xdc\x05\xbfK-\xee\ +\x08\xd5\x9f\x8cmr\x10w\x88v_JC\x8bX\x98\ +\xec\x98\xf9\xfb\x8b\x13y\x0c4`0\xf2\xa8\xd5\xe8\x96\ +\xfdC\xeahe^\xf6\xd2\xbe\x85d\xe4\xcb\xda\xa5G\ +\x94|vz\x0b\x10^+/x+\x07A\xb1\x9c\xb6\ +\xec\xfe\xa7 \x1d\xbaC\xc669\x11\x12\x8f\x85\xcd\x1f\ +\xa8,Ov\xa6\xca\xbd2>\x81k\xbc\x1en\xebL\ +\xbe\xba\xec\xb8n\xbb\xc4\x08\xbf\xd7f\xdc>n\xcb\xb9\ +\x05\x9c\x8a4c\x15\xb5\xf8=g\xc1\x8c\x19\xc4G\xe4\ +\xb72s&r\x8b\x04\xed\x17\xe3\x13\xae\x99\xc3\x993\ +\xe9YT#8\x0a\xd3fR\xfcu\xcde\xa0\x0d\xab\ +P\xc8\xe4j\x97v\x11\xcc\x13\xc0\x15\x1b\xfa\xe5(\xff\ +\xf7Dp*\xbf\xa6\x8bQL^\xc0\x0e\x9b\xe6\xf9\xe3\ +\xda\x10\xac\x82\xc4@\xf4\xf3\xf2\xc1.\x0e2\x19\x88J\ +\x84H1&\xac\x98>#\xfd\xd1\x9c\x8d>\x02\x00n\ +\xccW@ ^\x9fo\x88t.\xc9\x87\xc1l\x90C\ +Y\xf3\x86\xb49q\xa5\x87\x03\xe2\x94G:\x9e\xc0\x1e\ +\xae\xf5\xf3\x82h\xe3\xd2\x0bm\xe1\xb5g\x18\x81\x12\x01\ +\xe3\xcd\xc9\x1f\xddhC\xc8\xd8\x1f\x9a\xc6\x1f'\x5c\x17\ +v\x06\x18\x17\x0c\xcd\x02\x08\x07\x80a\x0e\xa1\xc8\x0b?\ +\xff\xe0\xe9\xa7E\x94\xabU\xa2D%u\x17*\xc6\xbf\ +\xd7\x7fhW@q\x88\xfe\xa7\x89\xb7\x85\x0b\x0a\xeb\xd1\ +\x08W\x1c\x80oZeo\x0e\xde@\xdcH4\xb6\xd5\ +\xafnh\x00\xd6\xae=\xe5\x8ew\xe7\xe9\xcc\xf97M\ +\x9c\x9c\xc8t\xebZ\xccNtyPi\x96\x0d<\x03\ +\x8c\xe0\xf9\x12\xe5O\xbf?\xf3L\xbb\xe9\x82_@\xf0\ +5[\xd0\xd3\x83f\x1196\xde\x89\xa2\x93\xae\xb1\xd7\ +\xc5\xd1\xaaSd\xf5\xfc\xd6\xc5t\xa6\xf2$\x15\x10\xf0\ +\xfa\xbb\x81\xc3\xfd\xf3\xed\xc3\x98\x9f\x98\x1c7\x22\xde\xa0\ +&\xbe:\xa0\x11\x7fw\xe9\x1f\x18@vE/\xeb\x08\ +\xf8\xb3\xd0N\xdf\x85\xfb\x19\x9f\x95\x03\xae8\x8a\xfe~\ +\xd3\x1b]*\x0cu\x0e\x8f\x8cb9\xbcs\x1e\x14B\ +\xce\x9b\xa2W(`f5\xd5SB\xfa~T;\x97\ +\xe8\xf5\x97\x0aQ\x05.\xd7\xb3\xcd\xdd\xd6\x91\x85\xe1\x92\ +Z\xb8\xf1\xb2\xbc\x90\xab\xca3\xc0\x9a\xe7\xc4d4g\ +\xbb/\x8c\x9e\x1c\xb0\xa1\xc8\xf8S!\x22\xca<0v\ +\xc2\x87A\x7f5\xbe\xbe'[\x03\x15\xb3\xebt\xc27\ +\xad\x92ZY9\xea\xb3bW\x8e\x04\x807\x1d\x0fK\ +\x99\x81\xa2yE\x0e\x96\x81#\xa0\x99\x10B\xe4\xf7\xc2\ +\x81\xab\xb5\xf5X\xee\x8e\x1a\x88\x1c\xb7\x80w\x06\xf4\xb1\ +2qy@3\x1b\xaal\xcb\x12\x90\xb1\xfc\xbdH\x1e\ +\xdb\xf7#j{\xb86\x1e\xf4\xe5\xca\x18W'\x18\xee\ +%\xbb6\xc7\x82\xba\xfb\x9b\xb1}V\x02\xac\xcf\xb0^\ +\xee\xaco\xc2\xe8\x1bED?iP\xb2hU\x81\xa0\ +F\x15k*\xec\xaa\xaa\xbd\xab\xd2\x06c\xa0\xfa\xa7\x05\ +\xc0\xd7\x19:>\xf4\xc7\xac\x17\x5cZG\x1f\x12k\xa2\ +\xe8[\xd4i\xfa\xa9\xd8G,\x8a\xe2U$\xc6\xe1R\ ++\x0b\xc3\xe9\x19D*\x1e\xe2\x13\x19c\xa3K[\xd9\ +\xab\xb7\x849\xc1\xc0\xa1\x9b]\xce\x0a\xc9iry\xf2\ +\xd2\xc1\xce/\x8cm\xcc-\x11\xbb.\x05 #\xd9\x13\ +\xa0\xa8\x88\xeb\xe1\x05ya\xcc\xc7\x0f\x22\xb3\xb2\xe6\xb6\ +\xc4r9\x88^N\x83\x87\xca'\xc3\x8e\xf9{e\xf4\ +:\xab/\xc3v\x17\x8b\xea\xb0\xd5\xe8:\x5c\x93\xf4\x94\ +\x98\xbb\xa2\xa0U'\x90\xd7{a\xd8\xe5\xf4Z:*\ +YA\x00.\xdc\x1f*\x0cIc\xdd\x09\x8f\x95GU\ +s \x12\xeb}\xc8\xbb\x84\xeb;\xce\x8d\xa6\x9c:^\ +\xb2\x808\x0boy\xa5\xc3\xa8\xcc\xf2Sbl\x93\x83\ +\x80\x8b]\x961(aP\xb0\xb2\xf202\xed9\x93\ +\xd18\xe0\xbf\x17\xc6\xc6\xf4\xb6K\xc1bDF\xd9\x09\ +x^\xf6H\x95Z\x18c\xe0\xb0\x1bh(\x1e\xd7M\ +\xd4\x91g\xd4W\x82\xd1d\xd3\x8c=8\x8c1`\x85\ +(jx\x980\xc0[_!X\x17\xc6|\x1a\xd8\xcb\ +\x07#\x14\xe8\x15\x0b,\ +\x13\xd3\x11b\x83\x95U.\x1e\xf6\xbfW\x06\x5cMY\ +\xe2\x87x\xeds\x89\xe1\x9e i\xe5\x1248\xbe\x1e\ +w\xe5]\x91fJ\x7f\xcbTC\xee\x95\x81$KV\ +\x16\xbc\x84\xfd\x18\x13\x84\x93\xbdX3~2\xd2\xee\xa4\ +\x92![\x88$\xd2\x88\x8bI\xd3\x17\xbcu\xdb\x17\x8b\ +5[\xb3t\x19z\xc6\x96E\x121\x0c\xef\x85\xf3\xb7\ +\x8a\xd9\xc5\xe2\x1bo\xfa\xff\x13\x8a\x99\xf20\x0e\xfa@\ +\xff\x7f\xc5\xec\xff\x0d\xc5\x0c~\xb7\xf7\xc2x+f\xd7\ +\xac\xdb\xf2\xb28^\xa7\xcd>\xa7A\x8e\x16\xc6y\xf9\ +\xda\xc8\xd2\xa7?\x8e\xa1'\xa68\xc7\xd7\x8c-8]\ +\xe1\xb0\x97\x22\xe3\xba\xbd\xc6W\x04\xcau\x05\xde\x05c\ +\xf9\x98\xc8m\xd2\xec\xc1\xda\xc0'\x1e\x9f\x93L\x99\xa0\ +\xfd\xe7M\xc6\xd0\x5c\x82\x92\x0b\xb2O\x81\x1e\x0c\xb8i\ +\x0b\x03TYy\x02U\x7f\xb1\xab\x22\xbe40m\xba\ +1\x07u\xb5B!\x16\x99\xcf|O}|Z\xf9\xd0\ +K\xdb\xfe\xdeRv9c\xcfF\xb7?+\x03{\xbb\ +\xc9j\xdd\xfa\xdfw\x82X:\xb0\xf3eE\x91J\x14\ +C\x16^\xaetjl=\x96\xb2\xd6ji\x04`\xe6\ +\xe9ZT\x83\xe7\xf0\x97\xb7\xf9i\x8e\xfd\xda\xbc\xa7\xa9\ +\x85\x89/\x8a\xe0\xe9\xce\xbf\x88\xcc\xe2\x93\xc5\x8bd3\ +\x17\x1d\x11\x02\x11C \x1b}3\x12@@]F\x95\ +\xd9&\x881\xc3\x9d\xc0\xd8\x16.\x00\xcfJ;~9\ +?\x83A\x80\x06\x81\x22\xb9M\xda\xd6\x99\xab\xcf\x17\xf6\ +\xcb\xf1\x8a\xce\xf3\x5ch\xa1I\xa8\x89l\xd0\xc3\xf2z\ +\x18Bc\xa1\x9d\x05\xab\x0ag\xc2\x98\xe1*9\x5c\xfa\ +\xd7\xf4\x16\x0c\x814P\xdb\xaeaxu\x90JVu\ +\xcd7y\x13J\xd4A,\xc4p)\xb2$\x9c\x86X\ +|\x93\xaanO\xbb\xc3)l\xbb\xecx\xf2N\x9b\xc5\ +\x8bbq\x00^\x1a\xaa>]\x1dD}Jo\x5c\xe9\ +\x9bp\x88D\x22U\xe5]`A\xd7\x1eF\xdbm\xa1\ +\xf1\xbc\xc1\xd0\xe8\xae\xc3\xe7\xab\xdc\x15\xa7\xe0\x18_\xd4\ +M\xba\xc8\x96F\x1bT\x8e\xb2\xf7\xcc\x0a\xa8\x0f:\xe6\ +\xf7\xc3\x91{\x00\x0d`\xa5\x97.\xe0\x19\x91[\xd0\xb7\ +p\xa6\xcbg\xdbf\x01\xa9)\xeb\x22\xad\xe4M\xdcW\ +%\x9dT)\xea9 \x01\x94\xc9\xb0\x90\xfa\x80,H\ +\xf6\x8f\x14\xfb_\xda\xdf\x90\x9b\xe7K\x07\xac\x02u\x03\ +M\x07\xe7\x06\x7f\xb1\xd0\x8a4\x90\x15\xdeK \xd7m\ +\x9a\xe43k\xaa\x84\xc9\x1en>j\xd3\xf1\xb2\x14\xee\ +#Y\xebV\xfa\xde\xa6\x07\xa7\x1bq%\x07f\x82K\ +agY#{\x09\xec\xd9|\xf8\x15rj\xe5\x1c\x05\ +\xcb\x85/\x93\xb3=T\x13\xf3\xd3\x98c\xd3\xf1\xa0\x84\ +[L*\xfd\x0eo\xf2fi\xcai7\xce\x86\x825\ +\xa0\xd9B*\x82K\xc9\x1a\xb1\x9b\x8c\xe7K\x04\xa4m\ +\xa1\x7f\xee\xd9\x9f3F\xdf.\xba\xd3\x01_9\xf2\x0a\ +\xc2\xf0\x80\x18\x9c\x8b\xab3\x10H\x1dK\xce\xd2O{\ +\xfe\xa2o:_Jv\x944]3\xc5q\xb2\xda5\ +o\x06\x7f`\xefM\xf3\xc64n\x13\xa3\x1f\xf27=\ +\xb1\xab\x1e\xa0\xc16\xba\xc6KWZ\xe7\x96\xcfZ\xb4\ +*\xf2/\x1a\xfdh\xdb\xca\xf8\x91\xa7\xbd==\x7fJ\ +\x16\x8c\x07VZ'\x1d\x81\x0eg?v\x8d$\xd7\xc9\ +\xe3\xdf\x0elQ\xfd\x06\xc1\xfa\x16_\x19sY\xc8\xcd\ +\xbd\xd5\x19W\xfd\xe9\x90t\xc6X^\xe8\x9b\xf3\x1a\xe9\ +%\xda&\xfb6\xcf\x91A<\xcf\x94\x80|\x9e\xae3\ +\x0fv,\xc1\x85\xc6\x0a\xddu\x01G{\xe8\x88\x0e\xc9\ +\xebco\xa5\xef\x0f$s\xb3\xafYrgs\xc0\x19\ +%\x93\xd6\xdd\xfc\x85-\xe1\xf3\x17\x91\xec\xdf\xa2@\xfb\ +\x8b\x96C\xdbE\x1b\xe1\x99tYk\xd6~\x03\xaap\ +S\xb4'\x83t\xbb\xe3\x16\x16\x06#\xfa\x0e\x08\xd4#\ +\xc9U\xb1\x88|\xc5!\xacj\xc0_[\xf1\xf8\xa3r\ +\x07t\x9f7\x8d\x93\x8e:{\x17\x8c[\xc6\xf5\xf6\xb3\ +\x12>\xd4&\xe5\x0d\xa1\x15\x95f\xb3b\x98\x8dOL\ +\xc0\xca)q\xb7)\xd2\xfa\x0a\xd7\x8e\xcc\x84z\x7f\xb1\ +c\xc3\x8cb`\xc8\x92\xb5\x9bK\xce3@G\xeb\xa1\ +\xf8\x88/\xaed\xff{\xe1\x0cR't1\xcai9\ +\x94LZ\xaa\x85N\x89T\xd7C\x0b\xba\x048`\xf4\ +\xba4{9\xfa\xe9\xfd\xbcr\xf0$\xcc\x1a\x97\x94\xcf\ +\x129\xc6\xb8v\x00@\xed\xcd(\x08\x84\xb8\xe4*.\ +\x87@\xf2\xca\x15\xf1\xa7+\xa7 s\x1c!\xab\xc8m\ +D\xc8G\x88\xb0\x87\x22\xb8\xce\xe8\x98c({\xb0\xc6\ +w\x95\xc2\x18\xb3\xbcpJ#\xb0\x05\xdb\x04\x93A9\ +\x1c\xad\x88\xb5\xce\xcb\x939\xdbd\xa1iH0\xc2g\ +\x0a\xcc\x22\x10\xe0\xac\xe6,\xfa\xfe\xe2\xc0@L\xfb\x08\ +\xfc\xfdx\x13\xa4\x0b\xec\x190\xa12\xb4y\xe5\x14\x87\ +\xfd\x16&3]\xaa\xc1T5P\x92P\xe6l\x93U\ +\x1ca\x8d\x8f\xe3\x0e\x8c\x11Bir,K\x17,\x04\ +v\x0e\xa7\xd8/e\xa1\xe7\xd1!\xde\x0f\xd1\xaeep\ +8\xa8_C\x88K\xc2D\x1f[\xff1tn\xfc\x82\ +\xb6\x07\xdc\x16\xf7\xeeA\x7fr\xca\xa1\xd2\xae\x18t\xd6\ +[cexM\xb6\xaa\x1c\x9a\xb3M\x16z\x89H9\ +V\x80C\xb0ZU~L\xd0\xf7\x17\x07\xbe;\xf6\x0e\ +\x97\xbd\xaeAG\x91\x15\x0e\xb1J\x81,\x9c\xc2\xba\x83\ +\x17\xc7\x87\xe5u\x8aq\x03\x8e\xdd\xa52\xcd\xd9&\x8b\ +\xb1PE\xcb\x93\x05H0\xe8\xfc\xdf\x8b\xe02\x1at\ +\xa4\x8d\xcc\x972\xff\xbbr\xd0\xdb\xe5A\x7f\x0eN\x0c\ +\xfa{\x081\xe8\xf5'\xfe\xe3(\xb3\xd4\x0f\x1fIY\ +K\xfb\xcd\xc1\x97`\xfd\x85q\x93\xcb\xf6\xa0q\x18\x06\ +\xad\xd2<\xc6\xa8\xde\x1b\x1c\xf4\x09e\x0cU\xb6\xb2\xa9\ +O\xc71\xe9\xfb\x8b\x83!Ff\x00\x868y]\xa3\ +\xeeW\x81\xaaC\xa3\xd9\xca\xa1\x1d\x1b6\xf6CU0\ +T\x12\xa9\xf0\xdbr\xd3\x98\xb3M\x16\x86\x18\x11\x108\ +\xa9P_\x8eC\xdc\xf9\xe7\xa4BK\xacCv}\xde\ +\x89\x1b\x1d6\x02+9\x220r\x19\x18\x8d\xf0:|\ +q\xf7\xd5\x7f\x1e\xe1C\xebI\xe5\x99\x17\x06\xbe\xc3\x05\ +\x06 \x7f\xd2\xaaJ^\x80ru\x16\x8f\xf0A\x07\x90\ +Yl4\x16:,\x0cX\x04\x18P,\x0a\xd3\xf7\x17\ +\x07\xc3\x81\x82\xc5(\xd4\xd1\x1de\x8b\x1c\x16\x0c\xa8b\ +\x0bWNq\x9dd~\x1c\xe1y.\x13XT\xab\xda\ +C\x9cY\xcb\xc3,\x86mbm\xa0\x1e\x1b\xecV\x18\ +bo:\xd5\xe6\xc4\x18\x1f\xcf\x97\x1e*\xf7\x801>\ +\x92\xc7\xf8161\xc4\xaf\xf1\xfb2\xebP\xe6\xf8\xc0\ +>j\xf7\x10?9\xd8\x08\x8cJD\xac\x11\xbfk\xc3\ +\x1e\xa2+\x98\x82j\xce6Y<\x0f\xbdH\xb9\x1c0\ +\xa2{\x9d\xf4\xfd\xc5\xc1x0@\x16\xc5P\x8a\xc6\xb8\ +z\xd1v\xd5UY8\x18c\xce\x12\x8e\xa9\xac\xb3\x06\ +\xb6d\x0c(\x8a\x0d\xde\xc1\xd9&\x0bc\x0c,\xc6R\ +\x9b\xaa\xa2\x10\x1b\xea\xe2\xdf\xf7\x12c\xcc\xb0\xf7x)\ +\xfa~h\x1d3,z\x1d\x9c\x18\xe4\xf7\x10>L\xb2\ +\x10]\xdcm]Q_\x7f\xbe8\xc5\xe0\x81\xe5\xd2\xcd\ +\xbfD@\xe2\x15\x88\xf0\xe6l\x93\x85\xa3M\xafP\xec\ +B\xd1}:\xc8{e`$\xf4<5\x8d\x0dcy\ +z\xbdJ\xc9_9E\x98\xa4\x14\xbc\x9e\x1e^o\x8f\ +\xa9\x1c\x88\xb3M\x16\x82\x8c\xa5\xcd(\xa0\xae\xf8\x06]\ +&\xda+\x06\x976\xd3x):\xae\xb1-\x92\xa2\xef\ +\x81\xd1\xd8\xae\xc3\x17g\x84Q\x1c\x14\xcc\xc3\xd0\x92l\ +O\xc8\x9f\x95\x81P>a\xcc\xc9\xba\x13\xa1|u\x9a\ +\x7f\x9a\xf1\xaf\x83\xc5<\xa8\xa8\xf26\xd3xY\xcd\xd9\ +\xe9\xaaoN`\x0aV\xa1\xe3n\x81\xd5\xc2\x8a\x83\x0e\ +\x0e|s\x02U\x815x\x1f8\x09,$\xa1\xa8+\ +q\xb6\xc9r1\x83\x0f\xed\xec\xe5<3\x86\x90j\xc9\ +\xfb`\xd6h\xfd^9\x1bQ\x17y+q\xe1\x19$\ +\xbb\xea\xa5\xd5)\xcdO:y\xcarU\x84\x89\xaaf\ +W\x99.'\xc1\xac0\xde[\x8e\xdd\xc5\x04\xb4\x9a\xe2\ +g\xf7\x17g\x02\xe1\x09D{\xfb1\xaaEv\x22\xf6\ +\x8b\x8c\x1c\x7fO_t\xa9~P\xef_\x9cm\xe6e\ +gg\xba}\xb0\x13\xa2\x12\xce\xcaI\xdeQ\xacP\xdb\ +~&^8\xb0\x0emR\xbd\xcdo\ +k:\xd6\x16>\xd3\x01\x9a\xa1\xc6\x0f\x05\xf6\xbe\xe9l\ +\x14\x97.\xf9\x90;3\xb0\x11=}\xd3\x5c=N\xc0\ +N\x5c\xf5\xed\xb7\xc2A\x5c\xa9\x10\xc9\x98\xbfi\x90G\ +\xaeT\x92\xa9\xf8\x8bQX-D\xd9\x1c\xc5\x16\xd9-\ +*\xcc\xdc\xd3\x84\xe5r7%\x10@\x84\xe4\xbe\x90\xf7\ +\xca\xd8\xe8\xed\xb6\xc4\xa2\x16e\xb9\x99\x8a\x8bm-\x0c\ +\x84\xbfvBc\xbb.\x9d\xfc\x06\x04C\xd5\xca~s\ +\x84\x1ew\xf1 \xadPp\xab\xa1\x5ck\xd8\x0f\x8b\x91\ +\xaf\x03\x0b\xbeL\xdc\xecZ\xac|\x1a6\xbb\x86\xb7m\ +\xe5\x94(\xf9\xd3\x19\x1d[\x02\xd9[\xc5\xba\xd8\xa87\ +\x8b\xfajR)`\xccS1\x9e\x1c\x02\xb8\xad\x9fZ\ +\x9bD\xc2C,Gyl\x92\xc6\xa1(\x9d\x9aU\xe9\ +\xbb\xcd\x04t\x87(\xf39\xb4\xd3\x9c\xd5\xcf\x12\x10\xcf\ +I\xe3\x0c\xd3\xd8\xc2\x0a{\x0f\xc0\x8c!\xbd\xa2Q\xa1\ +\x5c\xdd_\x9cBTh\xd5T\xa4\xfd.\x1aUsT\ +\x16\x5c8\xf8\x06-\xfea!\x94_\xac\xce\x98\xe87\ +\x87_`\xaf\x8e\xcf\xf1\xad\x94\x93=\xda\xb4p\x98l\ +\xc6\x10\xbc.\xc5\xb3\x84\x8eq\xf6\xb9\x91#\xd4\xea0\ +\xf2\xc1\xca\x99\x83\xd9\xad`\x95\x12\x0e\xe6\xd0V\xe7X\ +\xd8\xda=i\x0b\xbc\x95\x9e\xbf\xd8>\x8f\xe46c4\ +\xe2\x06q\xd83~\xccU\xf0\xe403\x8eE\x98\x0b\ +\xc2\x077]\xab\x19My\xc5vy1\xca\x84S\xa6\ +\xf5\xbc\xb8\x1a\x10\xb3\x5c\xf3\xfbZ\x93\xe4\xcb\xfc\xfd\xb9\ +\xfb\x98S\x0c\xe1\x13\x91\xecEx<\x9f\x8c5\xc6\xa0\ +\x1f\xd34\xbc}l\xc5\xaeLU\xec|*\x9fM\xcd\ +e\x80\x13\xb5\xe5\x87\xa1\xd5\xad4\xb9\x99\xbe\xbf\x1e\x98\ +)l>\xbb\xadV\x11\x95Z\xa7\xd2\x9b\xb3}ng\ +\xcez\xc3\xdd\x8c\xaf\xd8\xc3\x96\xbbr\xe2\x9a\x9a]\xc4\ +\x09\xf7>\x85\x98\x5c\xa1\xbe\x9a59\x05+\xf7\xd2\xfe\ +4\x9c\xdaL+Z\x18\xccLv\x02--(\xb6\x95\ +\x87\x1f\xe6\xa6\xf1\xae\x5c\x1f?\xc6\xef/\xce\x5c\xd9r\ +Rna\x7f\xcf\xed\x8aa{\xd2\xb4\x8d|\xae \xb2\ +\xa7\x5c\x9fK\xccM\xe3\xac\xba\x18\xf6]\xd5I\xc0\xee\ +e\xff\xde\xe4\xfc\x01oE.\x1c\xda\xaa\xabz\x9e\xb4\ +\x99\xaf\x1c\x9a\xe0\xe3\x921\x7f^Z,\xf8\xa6\x93\x14\ +\xea\xebPp\x7f\x07c\x0b\xce\x1c\xa78P\x0e\x97\x0c\ +\xfc\xcc\xc9\x8bA\xb1\x8e{X\xd6Q\xbd\x15\x03p\xc2\ +Uf'\xc4\x8bA_D\xa7\x8c?\xfa\x9ca\x16\xd3\ +P\xe5Y;1\xb6yv\x1fQ\x1a\xd1k\xd3\x15\x05\ +\x8ekJ\x0b\x97\xd8:X\x1a\xac\x18\x0a\x0f\xf2\x86\xdf\ +kr\x9b>D\xaaW\x1e\x0b\x12s\xd8]\x06\xcde\ +\xdcb\x1d\xa4\x87+\xe6\x9c\xef\x94\x01\xc8\x154J\x8e\ +^\xd4\x1eE\xfc\xeeO\x93]\xe6\xaf\x18\xbc\x95\xd5\xe0\ +\xf2g?miO\xf1\x0b\x97E\x10#\x1c7\xae\xbb\ +P\x0ca\x0aU\xd2\xa6\x8f7\xe7\xe3;\x89\xbad!\ +\x00?;\xf6\xcd\x98\x12q/S\x10P\xfeEa\x08\ +3L\xc7\xf9,\x14\x8fI^\xd3\x1d\xf6f\x14W\xec\ +\xe2\xfd\xa1\xcfC\x93\xf0jS\xd7\xc3\x9c\xb9\xfeE\x91\ +\xaf\xfe\xf2qe_y\x8f\xe1\xdf\x8a@\xe9{hI\ +\x8c-\x9b\xa3i\xcc\xfck\xdeO\xde\x0c\x964h\x8a\ +\x9fd\xa6e1\xdc\xfc\xd4<\x1157\xd6\xb42S\ +~\xbf\xc9\xac\x92\xae\x11\xf2p\xd5P\x05Co~q\ +\xe8\xbf'\x19J\xf7S\x91\x8c\x22\xe2OU\x13\x97\x02\ +\xbb\xb8\xce\x99{\xbbp\x22\xd4\xa18|\xc5>e\xf8\ +8\x1c\x99\x91.\x1b\xf4N\x09\xfe\xacj\xc9%\x82'\ +\x9c\x13T\xda\xe7r\xf0\xe6\xc0\x0dMk\xdbaT\xce\ +Lk\xdd\xf4\xd9?\xa8\x1c\xa9Q\x87\xf4\x98\xdc\xf5\xad\ +#\x22{\xdf\x8c\xed\xf3\xad(\xa6\xd3#\x03\xbbG\x05\ +\xac\x85\x13\xb5\x8b\xa9'\xf0.\x5cie\xbc\x22\xdaB\ +\x9c`\xc4\x84\xf2&\x09\x03{\xf8V\x8b\x83-b\x09\ +@\xd9\x95ip\xef\xf1\xd7\xc7?\xef7\xdf\xdeH+\ +\xba\xd91p\xa5\x96\xe91\x0e4Y\xb3 \x9bh\x5c\ +\xac^\xd6\xc2&\xc6\xc0x\x0c\ +\xc3\xe9\xa0V\xba\xb4\x1d\x1a\x90\x8d\x8b\x09\x83\xacc\xaa\ +\xbcr\xc1\x09\x8ft\xeb\xf6\xb5\x95\x09M\x5c\x94\xb8\xbe\ +Y\x11y\xb0\x94\xbcv\xc8\xf5A\x81\xb9\x1b\xe5\xb7G\ +R\xdd\x9cH\xdd%\x01\xb2A\x07\xa0cEN\xe7\xdc\ +M\x89\xbfr\xb2\x8f\xe6\xba;\x90\xc3\x95\x04\xea\x9e\xa3\ +\x00\xcc\xc2\xa2%\x04\xddp\xc1\x1b\xdc\x9f\xe4\xf4\xf7\x98\ +.\x0c\x05#o\xf4Fpu_\x12Wuw\xe6\xda\ +\xc2\x80\x91\xa6\x06\xda@\xe5|\xd4}\xc6\x10\x90\xb1M\ +N\xb6\xaa\x87\xe6_\xb3bo\x9d\xc7\xf8\xca\xc9\xbe\xe8\ +\x80\xd6\x0cf)f\xd1\x7f\x01I\x8c\xcd\x05\x86\xe0\x11\ +4`5\xeaK\xbaR]\xddC12g\x9b\xacd\ +\xebE\xf5i\xec\xd8\xc7rE!\xf0\x85\xc1h\x0c\xb8\ +\xc4NW\xd0\x8e\xa8\x82y\xfa\xaf\x1c\x02\xecC\xc3u\ +hV\xf2]\x1fw\xf0\xa8\xa4z\xb9\xa6B\x8f:\xdd\ +\x0e\xb88\xdb4#\xeb\xc8\x0b\x8f\xc2\xca!\xa4&\xfd\ +\xa9\xae\xb4\xe9\xea\xe4\xe5\x93\xa2\x7f(\xa6\x12v\x02\x97\ +rftAs\x02\xbe\xd1\xa3?\x10\x06Q9\x09?\ +\xa090\x00\xa5uX\x03\xffD\xcb=b\xbcW\x0e\ +,#:\x99qn\xd1P\xc2O>\x82$\x85\xea\xde\ +l\xff[\x0f\xfa\x85\x96\xb5e\x15\x0f\xff~\x22.\x8b\ +\xf1\xc8\x83'\xec\xcd\x85\x91\x95\xd1\x89ya\x14\x9b\xf3\ +=\x83\xbe\xa5\x1ec7\xc4\x13\x16g\x11\xb2\x91\x8d9\ +P\xe6E\x9a\xa8[\x95\x0c\xae`\xab>\xd8~\x92#\ +p&4\x05Zp\x00\x1e\xa4C\xeeJ\xd88\xed\xb2\ +\xf8,\xac\x85\xb3\xb1$}\xeb\x8e6\x81\x8d\xaa\x5cg\ +\x04XN\x82\xd6\xed\xb1KwGo6\x03z\x5c\x01\ +)m\xce6Y\x84;\xf0\x02\x96\xbc\xf4\x19q\xedQ\ +\xfe{\xe1d\xc3\x10\xdb\x8f\xa4\xa8C-\x858\xbb\xdf\ +\x0c\x5c1\x15\xec\x12\x06\xde8Kc\xf9\x99\xb3MV\ +v\xe6tl\xa3\xac\xdaX\xa5\xcf\x93\xe9I\x83b8\ +\xc9\xb4\x08'\x01\xa9\xccl\xf7\x7f\xdb\xbe\xd6\xc7\xd0>\ +\xba\xea7\x15\x96\xaf\x82\xb31\x1b\xea\x06\x9c\x0c4(\ +\xdc\xc9\x11C`<\x00\xc2a\xed2\x9bV\xe2m\x12\ +O\xe9j\xfa\x16\xb2\xa5\x18\xb4\x09\x91\xc2\xect\x83\xbd\ +%\xd1\xbd\xeb'Y\xa8+\xc8T0x\x00\xe32\xd0\ +\xb4+\xe9\x12\xcfY\xc3\x03\x02E\xea\xbb\xee\xcd\xd8\x95\ +@\x0f\x00Ds\xd7K\x0f[\x0a8\x00\x08;\xd7\x9c\ +u\xe4&z\x08\x00\xa6\x85\x0c3\xf8\xc6\xf5\x11\x9a#\ +\x0e\xbf\x80\x02\x14\xe0\x08E\x1d\xab\x82\x8c\x06\xd2\x13{\ +\x01T^\xec\x06\xe2f!\xb8FHZ\xa7\xb0\x11\xc8\ +\xa1\x81\x83\x91k\xf2\xa1\x03\x93\x0e\xf6\xa8\xcb>u\x09\ +i\xc2xn\x1cMN*\x91\x925\xba\x8c\x89\x8e\x80\ +\xaa(\x0e\x09\xc3\x0b#|\x98(\xaa \xb9\x8e\xe0\x13\ +\xa6D2\x86\xbd!\xf9\x90\x07_\xd1O\xe0\xaf\xc1\xa5\ +\x176\xcf\xa4M\xc9:\x17]\xf8\x90pc\xed:\x17\ +\xc7\x09\xc6\x1f$\x84t\xf8\xe4C+\x0e\xe1}\x16\x86\ +\xe8WzL\x0854\xe8z(@\xd9\xe8DX\xac\ +I1\xd2\xcd\xeb\xf9d`0,\x81|\x85\x9c\xe3\x8a\ +i\xa6u\x05\x9cC\xceP\x9d\xc8\x07\x11\xa6Hc\x95\ +\xc0\xed\xc2\xf4\xa4\xac\xe0\x14m\x09:\xe4\xaa\xc3Y\x84\ +f\xc1\xb0\xe9.\xbft%\xf6\x13\xc3\xa0\xab\x9f\xeft\ +\xf15;\xaeO\x04\xc6d\x15Z+3\x91\x01'J\ +9\x15ZP\xa1q\xa0\xce\x13\xc7\xeed\x1aSf\xa8\ +\x8at\x9c\xa6n\x8cCI\xe0\x5c\x08\x05\x83{\xa8x\ +\x0b\xcd\xd0eK\xaa\xa9\x06\xe1\xd4C\xa8H7\xd6S\ +\x91\xfa\x0a\xff>\xd7\xfah\x03\xfe\x0c\x1c\x10-\x12\x9a\ +\x0e\xe5\x9eG\xa2\xc4\xd0/\x19\xd4t\xedD\xc6\xc3@\ +rI\xa0\xd2\xb5\xf6\x06\x22\x10\xa4Z%F\x8ae\xdf\ +\xcb\xf5\x0a\xb9\x15\x15\x04\x10\x92EF\x82\x83\x1c@\xcf\ +\x81f\xde+^\xca\x93\x1b\xeaz\x15]\xf4\x91\x8b8\ +%\xe0 \xb6*\xb3\xc4\xbc\xfaq]\xc6\xb6/\x8e\xe7\ +\xd2\xf9\x0dL\xfb\xa4\x91\xda\x091k\x806\x9c\x9a\x88\ +\xc3\x85\xb4(\x0a\xaa\xdb\x19\xfd@X\xd6Cq\x1c\xfb\ +\xa9\xec\x06-\xc4\x13kf3>\xb1f\xd4\x802\x87\ +\x0f\xef.+\x077L\xd22\xcb\xce\x01\xe0\x1e\xec-\ +vm\xcb\x8a/%\xebR\xb4+\xd2\xa7\xf8\x8a\xac\x9f\ +\x00b\x98\xb4\xb7-\xd4g\xcd1\x03\xd8\xe1\xe1\xbc\xac\ +M\xe4S\xa1\xc6\x97~\xa1h\x11\xc2Sv\xbf\x13\x87\ +M;f\xb3\xb8\x8f\x81)}\xa8\xd9\xc6\x89\x83\x86r\ +\x5cj\x16\xa0\xccpV )K{J\xf1\xb4\xd5\xab\ +\xfb\xb0\xf4\xeds_\x1eMO\x10\x88\x0f[\x8a\xe6\xec\ +\xa6<1mS\x8ep\x93\x08\xc5N\xc6\xd1\x0c\x09\x9f\ +\xb4\x8f\x8f\xf4\xd1\xb0\x8b\x81\x9e\xa4`')\x05\x95\xb9\ +_`h\xc0\xc7~u\x0a\x08\x07\xaf\x12\xa7L\x9e\xa7\ +\xd4\xba\xdf\xa1\x83\x94\xc9\xa6\x90\x13\xbd\xc9u\x05\x10i\ +\xdeO\xaf8y\x11\x18\x06\xc6\xae\xec\xa7\x8a\xc59h\ +\xca \x04\x5c\xef\xfa\x01\x10bn\x9d\xe5Y\x0a$\xf7\ +-D\x0f\x96/2LB:0\xc8j\xf7\xe1\xdew\ +\xa6\xba\x83A\xd4=\x9c\xa7\x8c)\xda\x8da\xb9HB\ +\x0a\xcc/\xe98$f\xde\x151\x87\xadvQ\xcb\x82\ +\xc1\xa1HK\xaage\xdc=+1\xc1\xd7e\xe46\ +\xc6\x0b\x22\x1c\xbb\x0b\xad\x0f\xe9v\x8cp\xaaL'\x04\ +\x03\x09W|\x84\xf8}\xd51\xac\xd5AttLp\ +\x7f\x1e.\x13\xadB)\x85\xa9yM\x10\x7fTh\xaf\ +\x16\x18\x9c@\xcan\xe2\x00\x1a\x17\x11\xe4D\xd4\xbc\x9a\ +A\xb3v\x22\x1b1P\xd6\xa8\x9dPg\x9a4\xa3\x8b\ +Xi\x0c}$v\xcb!\xa8\xd1F\xe5\xce\xfa,\xb2\ +MpYD\xd5\x00\x9cL\xc8&\xc5M\x10\xb7\xaf\x04\ +\x15x\x97+\x07\xca\x98/0\xc4_\xab\xe4\xf0\xa4B\ +\xd6gn~\x05I\xb5\xf12\xd2\x0d\xdaD\xf8^\xfc\ +\x02{\x0b\x96DDj\x81\xee\x8a\x93\x87T\xa7\xbeW\ +\x84\x9c\x97\xe7'\x9aQ\xe1\x10M\x08\xba\x0a\x22S\x92\ +\x88\xad\x9a\xc1\xf7\xd8\xdf\x95IU\xc2O\xac<\xfd\x14\ +\xf4I\x88LN\xe1\xc5\xa14\xf4\x9c\x82\xd4.\x0a8\ +\xa2jv\xb5\x1c\x19\xe6\xf0\x14Q?\x19\x83g\xa5'\ +\x0b\xbb\x95\xc3\xd9\x85\x12\xc8(G(z\x94\x99\xc8m\ +\xdd\x15n}2\x14.\xf0>\x19V\x8b\x93*+O\ +\x134\x97\xb9\xae\x83\xc5Y\x92\x06\x1a\xcc\x8c\xedR\xde\ +7\xdfP\xa53\xf3\x0c\x86G\xb0(\x86t\x88\xc4\x1f\ +e\xd2\x00\xba\x90A\x8f\xbd\xbchZK\x9e?I\xb3\ +UU\xab\xf3\xf2'\x0f\xad\xd5\xd4\xdd\xa6\xaa\xb5\xac\xed\ +\x9d\xed\x9aaL\x1atH&\xf1Z\xe1.yB`\ +\xf2\x93g\xf1O$\xb0j\xe0\xa02M\x99\xe9\x91\x10\ +\xe4\xf3\xef\xe1\xcc\xa1+\xcew\x0b\xea0\xd9x\xbd\xb8\ +k@\x0b\xca\x11\xaan/I&8fS\xb4l\xdf\ +\xf5\x84\x96\x22\xa0\x93E\xe7\xaeo(\xdc\x9ayM]\ +\xd7\x9f*0Cn\xda]Q\xa9\xeb\xd1 \xec\xb2\xf5\ +\xb8\xf8kKaz\xc1\xc5R\xa0\xef@\xd8(\x87\x0f\ +\xee\xcb\xf5~t\xd4\x03.\x92\xe0M\xa1\xc7\x08u\x0b\ +\x0eH\x0b\x0b\x81h\x85\x1a\xd8\xa8z\x82\xeeW\x7f\xc8\ +0\x84\xb3\x84,e\xd2c\x17F(\xcc\xaa\x17\xaaM\ +\x22\x1d/\xc9X\xd3\x02\x8c\xb8\xea\x06#\xc0\xa8\xac\xfa\ +q\xb8\xd1\x18O\x92I\xd40k\xa9\xd4t\xc7V\xa4\ +\xbe\x06\x13m\x22CBO8\xa5\xa0\xab5!\x83s\ +\x9fF\xec\x80R\x01lNh\xd2\x87\xd4\x0e\x82\x97\xa7\ +\x00?\xbaf \xd4\x19\xa1\xe6\x89\x9a\x09\x91J\x93F\ +\x98\xc8\x0a\xbc\xe5*\xf4\xdc),\xc0\xd4=?a\xd1\ +,\xb7\xc5\xdd\x9c\xa8\xd9'\xdf`\xaf3\x8a\x1cSs\ +\xfd\xfcU\xe3B`\x0a\x95Ef\xc0\xf8\x15\xa9\x92\xaa\ +\xd7\xa5\xa5\xc6\x5cu\xa8\xd1n\xd1i\xcc\xb4++\x8c\ +\xd8\xb6\x89\xee\xbajt|\xb0~\x97'\xc7\xa1\x05)\ +L\xa2\xec\x84\x9a\xd5\x04\xdf\xadn%\xea\xc0\xe5\xd1J\ +\x97(\x7fv\xa4\x09\x1d\xf9\xf1\xc8\xe9f\x12\xdc\xd8\xa9\ +\xc5\xefo\x5cs\xe8\xb8&N)O\xf3\x15\x1f\x03@\ +|\xe4\x14\x10\xc6\xe3\x89\xfa\x1c\xac\x93\xae\x80\xe7`u\ +.;XGQ\x87\xa2[C\xc1\xd8u.|*\xcf\ +\x9c\x5c\xc2\xb9B-\xd6\xf3'\xee\x02\xa0\xabo\xe2\x18\ +k\xac\x0b\xad\x17\xe5\x19\xc0\xa5\x9f\x92\xb5m\xa02_\ +\xaa\x9f\xc4\x08w\x0a\x1c,\x93j5\xabE\xb1\xf8\xa4\ +\xb4\x82\xfdP\xf2,1z0'\x00\xcbsJZ\x89\ +\xca\xf5`p\xec\xc9P\xce\x1a\xc5`W\xb05\xb3o\ +\x0f\xedf\x8543\x87\xed\x92Z\x05\x95\x9deY\xb9\ +\xdf\xab\xd4\x17\x94\x92\xb8dxiFk?\x88\xa3\x07\ +\x0e\xf4\xc3\xbcK\x1d\xdaw\xfdZ7\xa5\x12z3!\ +Z\xc8\x18\xbb\x06\xa0{\x80\xd2k|\x7f\x11\x12\xec\xf3\ +\xc0\x11\x9a\xddz\x08\xfdE\xcc7\x06E\xa3>M%\ +<66\xfd\xa5\x10l\xa6\x94\x05\xd43|^U;\ +\x9a\x98\x13P\xed\xbb\xcf\x80F\xe5\x1aX\xf1G\x9c\x09\ +$\x05\xed\x07\xb0rR\xae@\x9e\x84S\xef\x0c\x16\xe2\ ++\xefrz\xa1Y\xc2ng.C}\xc0j3\xb8\ +\x1b\xa5y\x01\xd1\xd3\xe5\x02E\x9b =\x22e\xad\x1c\ +\xcf5'\x1d\x16I\x1e\x84eL~D\xf2\x9e4c\ +\x04\xc2\x96+\x8e\x82\xbb!'\xb9\xec\xb2\x9e80U\ +i\xe6\x88\xcd\xb8\xd1\xee\x14\x0f\x97|\xe0\x1e\xdeE\xc7\ +\xb9A\xdf\x5c7ZQ\x92)e\xe3x\xebH\xae\xc2\ +QG\x82OW@\xe2s>\x02\x97\xef=G\x7fm\ +\x01!\xcb]C=\x15\x1c&\x19\x90S\x85\x16z\xea\ +\x08\x02\xdc\x1fHfk%\x0a\xe4[\x1c\x9a\x9f.\xd5\ +^G\xd2\xbc-^h<\x91\xf3u]l\xcc\xd1 \ +4}\xd2\xc9}\x0a\xae]\x11\xf80\x85\xd4\x1fB?\ +\xcb\x0a\xec\xe2FGU\x0d\x03\x88\x0f\x86\x0c%%5\ +\xb8\xcdk\x1f\xd8\xd7\xaf~=\x81\x00\xce2\xad\xaf\xc9\ +\x85\x88\xdf\x9c\x14\xa6\xbf@q=\xba\x9b4#\xb5\x8f\ +\xea*\x9a\xce\xf5f\xb9nc/\xc0\xdd+\x8bS\x94\ +Bz3R\xf6\xf9i\x17\x0c\x02\xa8\x95\xb7pL\xc4\ +\xc2Tf\x0a\x9e\x1e1\xceG\x84\xd4:\x06\xbb|b\ +j\xdf\x1c8\xae\x95\x98\xa8\xf2N)<@~\xfa\xcd\ +\x88J\xf30@\x13\xa6\xb7\xfae\xe7>\x0b\xe4\xbdY\ +\x9aXhV\x81\x90y\xb8Ze\xe0^.\x0c\x94L\ +\xa4\xf4\xeb\x84'\x0e\x13\xda\x0c\xc1}3\xa2\x82\xfb\xb4\ +\xdaweA:\x10\xe8\x96\x9f\xff\xc1I6Q\xc7\x14\ +t[\xe9?\xf8\xac\x0b\x07\x9b\x8c5\xb3\x8aqp\x93\ +K\xb2\xe1\x01o\xe5\xb0\xe3\xc7K\x8d\xbdH+=\x1a\ +lB\x1a\xf4\xb6p\xe6\xa2\xf2\xfb\x22\xe1\xb5L\x84\x8e\ +\x95c(\xe3-R\x11T\x1a\xe2\xe1j\xbb\xbf8\x88\ +N\xe0+\xda\xa1j\xe3Y\x05@\x19\xd0\xb8\xdd\x0b\x03\ +\xbe\x10Ns\xc4Ng\xb9\xee\xa6\xbfva$+\xcb\ +[\xa4J <\x91\x93\xfe\xa9\x0a\xb6p\x92\xb3\x8dK\ +\xe4\x13\xec\x96\xcb\xb5\x06\x82\xc0\xc2\xfa\xe0\xfbTAw\ +'\xdf\xfd@\xfb\x18^8\x0e\xb4\x97\x07U)\x08\xae\ +\xe6\x1a\xd9\x03/:Q\xcep\xd2\xb2\x16\xcda\xbf\xad\ +\xe9\xcd\x8c\xd8\x15\x87B,\xe7\xe0\x1dg\xec\xe3\x17#\ +\xc1z\xd1\xaa \x91\x15\xea\xb1M\xc6=\x93\x16\xe6#\ +QQ\xd6!q\x80\x03\xe7\xd0\xb5\xe9Izs6\x9d\ +u\x9c>'M7;\x07\x1e`\xcfo\x0e\xdcS\xdc\ +\xf8\x01\x1b~\xcauz\xce\xcaoMSl\x06K\xb5\ +\x1c\xda\x16\xdcG\xe1\x9aj\x01X\xbap6\xfa\xf9\xb4\ +\xa6\x22\xadE\xfe\x84\x099\xb00\xb0m\x8eO\xcat\ +(\xe6\x9b\xfd\xd1\xf7GUw.\xf9i\x01\xd0\xech\ +t\x9eLi\x9f$\x96\x17g\xfb\x80\xa7G\x84\x7fM\ +3\xb7\xd0+{\xe1 \xc6FK\xca\xadJ\xe1\xc4+\ +\x11 d\xd6\xe4\xb0\xf2\x19s\xb7\xbd\xc1wON\x89\ +\x04\xa9\x85\xc3\xa8\x18\xce\xa7\xd3s\xecF\xc9a\x22{\ +\xd3v@gF\x08\x12\x93\x8b\xb8\xb2\x97\x91O\xde\x1c\ +\xb6N\xc1|FJ\x9f\x89\xe1\x13\xd6{\xe1\xb0T[\ +S\x18 \xa7~wxH\x9a5S\x17\x0e\xb1\xe0\x08\ +Xo\xac\xf5]V\x834\x91\x0d\xde\x9c\xc0\xfbA\x0c\ +D\xfa\xc0\xff\x94i\xc4\x99\x18G\x13\xd3\xd7XL\x1e\ +\x1f'\xd8\x5c\x91\xd9\xec\xaa\x9b]\xe97\x11\xf8\xa7\x0b\ +]\xda\x03\xe9\xc3\x11c\x84\xf5bE\xb3\xee9\xf5\x88\ +Ep\x9f\xb1\xf6\xf2t[\xba\x0ec`)\xb0x[\ +\x12\xd8\x8a\x92\x94\x02\x84b\x86\x14\xc5\x1a\x98\xf8\xf4\x81\ +:A\xcfb\x0a4\x9d\xab\x87j'\xce6Y\xc9\xa0\ +\x14\x0ee\xf0\xf8\xe9\xe7\xf7\x9b\xc4\xa3\xb0\xf6\xc8;\xa9\ +?m\x8f\xc1\x8c\xb17cN\xd6\xee\xe3&\x0e\xcd=\ +\xb2\xf1\x88\x04\xe7\xf2\xd8\xb8~\xa0\xfbQ\xc5X\x07\xaf\ +]\xe3\xc9\x96\x8eyR\xa7\xf2>\xcc\x1d\xa0\x865\xa8\ +\xbbcjq\xe8\x85\xe2\x92\x84\x1f\xfd\xfb\x8b\x83\xc3;\ +\x0a\x1d\xb0\x9dqV\xa7\xae\x98\xd0{e\x81\xe6\xaa\xa5\ +\xccr\xb6\x19\x0bVM]\xe9\xc9I3\xaa\xa9X\xf2\ +f9o\xcaT\xebsT\xac\xb2>\xa6\xda\x0ax\x80\ +/x\xd3\x9b\xc5\xdc\xfb\x11'\x9f\x96\x88;\xb0\x18t\ +h\xed\xfd\xc5I\x82\xae\xd9\x22N(\x19\xb6c\xc6\x10\ +-\x0cL\x0e\xa7\xb3\x08w\x99\xe5\xf6\x1aC\xe4x\xca\ +n\xfc\x01\xe5\x8bc\xf4!\xadI;\x0e\x14j\xa6D\ +\xf1\x0c\x9f\xc8>\x11*\xc3\x05\x7f#\xafj\x9c\xc3\x0e\ +C\xfa\xcdZ\xbe\xfa\xbb~\xf1\xcd\x89\xcc\xb0\xf9\x8d\xe2\ +\x80\xde:SX\xa6.Y\x8bS\xdal\x91\xa8>\xce\ +C,\xd6\xb9\x0d\xabp\xb8\x0c@\x81\x88\x0cKw\xef\ +[\x87M:>\xea\x93\xd2\x16\xaf\x00\x1d=\x95\xde\xf4\ +\xa27\xff\xe4\xfd\x88\x85LuX\xc7\xf1\x89\xc1\xcaQ\ +/\xae\x96O\xdc\x16\xba!\x8d\xdf\x81]Lu`\x94\ +\xe2DJ\x8f \x06D\xc7c\xf0\xa2\xde\x87\xb5\x94/\ +\xce\xf6\x13%\xe05!C\xa7~\xce\x96\x03hj\x5c\ +J\x141\x119g\xcd\x85\xbf\xab\xc5\xf2C\x17\xa8\x1f\ +\xe1_|Y\x95~\xe9\xfd_?\xb2=\x16\x843\xf7\ +N\xd7\x7fVf\xfddL\xfa\xfe\xe2$!\x85\xcf\xd9\ +\x8e\xca\xe8\x9a\xed\xed)\xde\xab.\x88\xddB\xf2\xe8\x13\ +\xb1\xfeI\x87Q\xe2\xa4N\xa3e\x98\x99\xff\xb71\x00\ +\x86\x0b7p\x8f\x8a\x11u~\xbb\xe0\xfa\xfb^\x87\x88\ +\x17WWw\x9d\xc9\xff@\x85u\x15\x16\x84\xcb\xbb\xaa\ +\xc0\xfa\x8ba\xddF\x15p\x14\xdbs\xb8\x94\xbdt\x1f\ +1\xb6\xe0\xa4\x88\xe1m\xaeO\xef\xbc6\xfc\xb9\xffG\ +\xea\xb1{\x86\x12\xcbF\x11\xb5n\xe1xa\xea^=\ +\xf3w\xb9Z\x98j4\xf3w\x83\x15\xc5\x83\xdb\xa1\x12\ +\xf1I\x13\x8a\x9e\x1d\xff\x91\x06) X\xa5m\xd9\x9e\ +\x17#\xf6&Wo\x9f)\xb9\xc4\xdas\x0cW\x97\xa6\ +\x15\xac\xe40U\x16\x11\xaaq\xd0a\xc0\x92\x86\xf4\xcd\ +\x80HU\xfa\x96\xfa\xbfY\xa9\xc0B\xdc\xdb\x7fhH\ +%(\xf1\x02\x97\xb9_8*\xd9w\xba\xce\xde,\xc2\ +\xee\x06\xde\xa6\xb7\xd9b\x9fp\xa9\xca\xef\xea\x92\xe8 \ +\xb3\xb3|_\x0c\xe8\x9e\xca\xcd:9![\x88n\x96\ +2\x9b]\xf8\x18,\x1a\xce&ES\x94\x93f\x7f8\ +\x89\xab\x12Pa\xe0\xa3\x85\x96\xe1\xf4*\xf1\xf2&\xef\ +\x08\xf7\xdbh\xe4\x8cx?\xa6};\xfe~\xa5m6\ +\xa6\xe7\xc8\x07d i\x8e\x8d-\xa4\xc17\x83\x1b\xdd\ +\xea]U\xd4!-\xb0L\x0co\x7fK\xdf\xcc\xea\x13\ +\x0cX\xd15>[\x01\xca\xbb\x01\xb8^\xe4M\xa3,\ +5,\xeb\xb0\xb3NT2\xda\xd1\xc2\xf8\x91\xaf\xf1\xb2\ +7\x95!XQJj\x97$Xi\xb9\xa9p\xda$\ +\xe3QG\xb8e\x8a\xb0\xaf\x85F\xa0\x86u\xd3]c\ +\x81\x00N.i\x85\xb7m+\x83?q\xbe\x81\x81\xe6\ +\x10\xcc\xe1rj\xc2I|\x91\x0a\x9cQ\x12\xc8\xde'\ +4\x1f4\xc9\xdd\xe9\x85oR^\x5c2p\xbb\x98\xe5\ +\xab\x9c\x98fr\xfb$\xaa\xc5P'\x87-'c\x15\ +\xf8\xf97y\xab\xca\xd8)\x07\xa7P\xe1B36\xc0\ +\xfdJ\x7f0\xd3\xe2\x01\x87\xa0b\xfc\x85[\xe65\x1a\ +\x8c\xe9\xff\x93\xdb\xdb\xd0\x93\xca\xae\x93\xd6\xb5\xd2\x0a\xcb\ +Q*\x5cq\xe4_\xd5G\x93\x11\x1c\x9f\x94BS\x98\ +\x8e\x97>\x00\x91\xcc\xb5K\xca\xbdA\xc4\x0co\x04\x8a\ +\x81e\xdcp5b_L\xb5\xe3G\xe9\x89\xbb\xae/\ +\xfa\xf3\x91\x141\x80\xd5pZ\xc9A\xacfLZ\x91\ +&:\xd3\x8d\xd9\xe7,\xdb$\x1c\xd17\xa9Vi\xd9\ +;\xdb\x85\xd5\xb6\x9d\xed\x12\xe1\x95O\xfa\x16\xc6iV\ +iQ\x852z\xcd\xbbB{\xf6\xa9~\xcc^\xd8&\ +\xeaj\xee\xaa\x88\x9a\x5c\x82\xfeM\xdd\xfcue\xae\xe6\ +\xf1\xcag\x80n\xa8\xaf\xbdi\xb5G\xc5\x86\xf7_.\ +4\xf5\xc9\xfd\xdc\x16\xfa\xd1\x9a\xe2\x04\x0b\xabo\x91\x9b\ +\xb3\xd2\xb7#\x82\x086\xe0 \xebC\xc9\x84\xc9\x97\xdd\ +\x95~L\x5cZT\xc9\xd2\xa9~~\x8e!\x89kY\xa6\xb3\xcb\ +\xd2\xf7\x00U|\xd1n\x89\x13v\x14\x85\xc8\x9b\x15\xee\ +*\xd9X\x7f\x0fR\xe1O\xc0*\x8f\x81\xf1\xa2\xb29\ +a!\x15\xfb\x04\x0d.\x06\xf9t\x96W\x80\x1b\x9cN\ +\xf5{b\x1fH\x1e\xc4\xc8\xcd\x0c{\xaf\xbb\x85V8\ +\x0f\x0b<@\x05\xde\xe6\xef\xe7\x17_\xe4\x1d\x91\xcfX\ +F\x8c\x089\x95\xb1U\x22\xde\xf7Ins\xe1SW\ +\xd1\xf3<\x94\x93\x0d\x8a\x0b\xa9t\x1am*\x87A\x87\ +36=r^\xb8q\xeb\xec\xb1\x1d\x9dI\x10\x83\xbf\ +\x05\x0d\xdb\xe6\xbet=\x22\xef\xebme\xe0\x0dWl\ +}%\xbe\xed\xb1\xb1\x9dW\xba\xd07-\x0a\x1a\xf7\xd3\ +9\x97\x91\x5c\xde\x9c0\xb8\xd07-H|Is^\ +e\xf2\xc0\xca\xcc\xb8\xad\x0c\xfc\xc4\xd0\xa5,UX\xcb\ +\xe7\x09\x1f\x9b+=\x7f\xb1Q\xaa*\x056\x0eR\x19\ +CWZ\x09dM\xdeb&\xc0J\xe69\x05d+\ +\x86ge\x04\xf8\xcf#\xc9\xdd\xc6\x1b\x5c\xf5\x94\xfd\xad\ +\x9c\xc97y\xcf\xcc\xcf-4\x87bO\x0fB\x8f\x5c\ +\x97\xe1A\xdeDq\x94X5TA\x0a\xf1%O\xe0\ +\xb62\xee\x9f\xc8\xcc\xcf\xb6v\xc0\x8c\xa2q\x08\x92\xf6M\xabE<<\ +\x95\x09\x1dH\xaf\xeeP\xb4\xf6h3+\xd9\x85)\x93\ +\xdf\x16\x88\xd7\xc7\x13\x98\xc0\xe4\x1dy\xe3Q\xefpf\ +N\xcfd[\xd1\xdb\x03\xf1\x16\xabQ\xb0\xe1\xb1p\x9c\ +\x9fk\xcc\xdc\x95\xbe\x99:\xadBr6l\x96\x00l\ +\xb5\xa9\x90\xf8\xfe\xc7\x15\x89\xe7\xdc\x13\x01#,\xd3`\ +\xe48!\x1a\x9f\xa3\x96\x1c\x95\x1f\x0cMv\xeb\x13Z\ +y6\xc3Qq+\xadD1\x01'w\x1d\xc7\xd1\x8c\ +\xb2{0\x16\xfa\xa6)\x0f6\x83=F\xc7\x96\x93H\ +;w\xad\xbaO^z\xf8^\x9c\xdf\x99m\x92%\xa2\ +\xc4\x9e\xbf\xe8;\xb2\x1c\xa7\xb5.\x1a\xe9B\xa6\x0b\xf9\ +iQr\x94m$\x9be'\xa3=\xc9\xcd\xef?\xf2\ +\xe7\xef\xce/,\xc5I\x83o\xfa\xe6\x11\x7f\xe4\x09\xa8\ +J\xac\xf8\xc6\xccr\x01\x88\x8b\x0e2\x82L\xc3\xd6\x94\ +\xed.q\x94\xc2B2PV\x11\x09\x94.\x92WD\ +d\xec_\xe4M-K~]\xa5n\x84\xc9\xc9n\xde\ +me|\xee\x0d\xe1}a\x8c\xf8%\xef\x0c\xd5\x98\x85\ +VZ\x96,!g\x18\xed\x22\xf2\xf6\xb0\x9f5\xb2&\ +\x95\xb1\xbe\xd27\xd5\xccb\xeb\xa7<\xc5\x06\xef\x8d<\ +\xc8\x95\x9e\xf74\x8e\x22\xe5\xaaoY\x91Iiz\xfb\ +y\xe4Z&\xaf\x9c\xe2\x0bD\xcc\x83ov\x0b}O\ +\x1cc\x1b\xf5t\x95\x939M \xcbv\xe0\xd4+.\ +,\xf6\xd7V\x97\xfc3hq\xf1Q\x14\xf4\x16\x0c\x0d\ +\xde\xc7\xfd7=\xc2*\x98\xfb\xa2\xeeO \x95Up\ +\xdf<\x05\xd2\xc9\x0b\xb1\xaf\xa2\xe5\x03\x9bu\xd9\xd0\x15\ +\x0bD\x06\xfc\xc8p}\x93\x5c\xeb\xaei\x1aN\xa9\x1c\ +\xc8\x13N\xc4_i%\x11(\xbb\xd4\xfb\xa1\x04$\x9f\ +\xa77O\x83mL7\xd4\xcfH\xa3\x0d\x0c\xf2^\xed\ +\x11~\x11\xb7\xc1\xcf\xb7\x99Z:\x93\xc8\x9a\xd1\xf8_\ +\xe4\x1d\xf0\xfc%\xe0\xf2\x9d\xa0\x10\xfd/*\xe2\xfa\xd8\ +!\xc5\xc9F\xf6'G^\x96\xa7p!\x95\xd0\xa0\xa2\ +\xca\x91\x16\x16\x88\x13u\x02\xe6?H\xdd\x92\x99\xe1+\ +e\xe7\xb72P>E\x98\xe3\x17\xdb\x04L\x9e\xaf\x98\ +Y\xfbq\x09\x0c\xc8e\x22\xad\x9dBz\xe4&\xad\xbb\ +\x7f\x91\xe2\xcc*rx&k\xc5%\x0eM\x99\xeeW\ +Zs\xa2\xfabm\xd6\x01\xd0\xa9eg\x8d\x19\x0f\xe7\ +\xcd\xcc\xc4P\x89-b\x91a\xe9\xfc-\xb9)7G\ +\xce\x9e\xb8B:ql7\xee\xd3B\xeb\xf8\x8a\x92r\ +\x5c}\xc7e\x97\xf6\xeeKe\xd4\x9a\x89p\xb6\xa6\x88\ +\xba\xc8Z\x0dc\xf2\xae\xa0\x93\x95\xde\x94\xc5\xd4\xeb\xc4\ +\xf2\xc0q\x9bT\xa9\x5cg\xb7\xa5U\x0a\x9d0\x9f\x81\ +y\x92g\xa3\x95\x81\x17\xc5(\xa6\xd9~&\xe6D\xd8\ +I\xec!\x81,\xd8e\xff\xa6nAjhI\xdb\x1a\ +d\x83\xbcM\xe6TS.-\xc9#\x12:\xe4\xbd\x90\ +\xbed!\xb0\x05\xdcd\xdc\xdc?\xd1]\x9fWxj\ +\xc3\xac\xaf\x89\x0b\x0f\xbf}\x1b\x9b\x92H\xae\xee\xd8\x85\ +\xb8\x039\xa5\xddQ2\xd3\xf7\xc5\xf4\x05\xe3\xa7H\xbc\ +:\xbc\x99\x17\x18\xb8B\xfb\xcf\xa7\xf6(k\xbb4\xe3\ +\xd4tU\xb4bmMy\x0c\x17\x92\xcf\xf3\x8a\xc27\ +]\x86\x0c\x12\xe4\xfd\x8b\xba'p\x5c@\xee\xe5(\x08\ +}\x04\x00\xc2\x8b\x96\xa07l\xa4\x866\xd2\xcas\x0d\ +\xcc\xf5\x0f%\xad@\xd8\x8b\xa7\x152\xed\xc1-\x1b\xae\ +c\x0f\xc8\x92\xb0O\x85/\xd9\xf0&\xe1\xa7-\x067\ +]\xe8{\x9b\xd0\xec\xb8\xf3R\x83\xb3\x17\x22\xdbm\xb8\ +\xd2w\xc0\x09\xe4O\xe2\xbf\xb0\x1a\x8d\xf1g\xc6\xa4o\ +\x8e;G!;-]\xba\x14\x0ea\x9e\x13/\x92c\ +\xa4\x5c\xfdlL\x9f\xc8\xec\xcc9r\xd6\xdf\xb4\xaej\ +2`1\xd3\xf5rao\xe3\x0aY\xb7\xca\x13f\xc8\ +\x89\x9d\xd3\x04wY\x05\xb5\xf1t\xa17\xf7\x99\x0a}\ +2d\x87\x83$\xb2n\xf8\x0by\xab*WQJ\xc8\ +aT\x0d\x01f9\x8d\xdc\x8cI\x7fP\x17R(\xc6\ +v[\x07\xf6\xcb\x8b\xdc\xac\xc4\xea\x1e\x16 \xfa6#\ +(2`!oN\x0c=\x08\xba\x05j\x1au\xbbM\ +\xae\x8d\x85;\xfc9\xa5\x96\x17ob\x99K\xdf\x02N\ +y`\x8c\xcc\xf8\xa45q\x86\x1e\xa36\x11\x07\x1b\x1e\ +\x90Y\xe0M\xcb\xf2!?\x92\x13\xa8\xe5\xaa\xdb>?\ +\xb1\xef\xee\xf9\x93\xf8j\x97\xa5\xe7\xf4e\xf5,R|\ +\x9f\xa4\x10\x0f\xec\xba\xb2j\xef\xd4\xe44s\xb6\xdf\xb4\ +\xac\x13\xba>\xcb\x8e\xd5\x04y\x90\x22_\xb1i\xe6\x02\ +qGie4\xd8x`\xcf0z\xdb\x9a\xfa\xa67\ +k\xef]a\xb5j\x83\x9a\xe8;\xd3B\xde<\xff\xf8\ +\xb8\x0es\x1f~[\x16\xfcM\xd09\xe0q\x0c\x94\x91\ +\x1d\x8e2\xff\x9e\xe2\xae\xf0\xa6y\xf8^\xb6ZK\xe1\ +q\x87\xb0\x85C`=\xe9\x8f\x01\x0a\xa7\x02\xb7\xcc\x19\ +\xd8\xa8\x96'2\x11\xe5p+\xe7GE(\xa1\xc6\x9c\ +\x9a+]0\xfcu\x17?\x0a_\xa2i\xe5\xd4\xe9\x1e\ +*\xf5g\xd6l\xb6\xe2\xb1\xd0\xf3v\xe4\xe8\x93\xed\x03\ +\xc2\x12\xa8\x17\xdd\xda\xcf\xb4M\x86\x00\x09\xa1~6?\ +`7\xc5i3j0\xeeO\xb2\x7f\xe8\x0dq!\xd9\ +]he\xa1ovL\xdaJ\xf6%\xb2\xf9\x96\x7f\xc5\ +\xd5\xeaMki\xb1\xd0\x1cN\xacR&\xc2G\xdc\xc8\ +Mo\x8f+\xbae\xfd,\xd4c\x04*\xdb\xb0\x16R\ +\xa6\xbb\xe6U\xaa\xca4\x16q\xdeOo\x92\xaa\xe6O\ +T[\x0b\xfbz\x8e\x13\xe1MoV\x1c\x04\xebe\xd5\ +7@\xb6\x0eW\xf2Yh\xb5\x9f\x0d:\xd4\x80\xe6;\ +V@5G\xcaw\xd0\xf7\x17'\x07\x10n\x0d\x0d\xcd\ +R\xaf\xb6@@\x0cm#\xa0\xc20\x0a\x82\x0e\xf3\x12\ +\xb4\x99\xa3\xcc\xca=\xcd\xe8\xc1\xc5\xd8\x10-\x22\x9c\xca\ +9?\xaa\x1d\xf1\xc1M\xb0\x95\xab\xd8\xc8`\x17\x89\x05\ +\xe7\x9b\xdclx\xa7\x5c+\xc5\x9bDj}\x16P\x1d\ +\x1as\x08%E\xb7\x06;\x92J\x04\x07\x1bOc\x0b\ +u`\xfa\x89\xfe\x96\xbc\xbf\xff\xee\xc8\xb2b\xb3m\xb2\ +\x18-\xd3\xcd\xe4@\xa8\xf0d\xe6\x10\xec\xc5\x93\xb9\xd0\ +7\x85\xd9\xe1\x0b\xbd\xc4\x9f\xb5\x8d\x18\xb5\xdd\xe5r>\ +.\x0e\x9bf\xac\xc1\xe4\x09.m\xbf\xd3n\x04\xdd\x5c\ +}\xda\xf1\x5c\xa6\x8e\x84\xdeg\xa5D\x19\xebZ\x96\x80\ +7\xad\xc8\x0c\x81l; \xec\xfchi\xf4\x12/\xf4\ +'`\x04k\x12'\xf9)\x5cf\xbbqLny\xba\ +u>_p\x98<\xd3\xd8e#x\xfe[\x01\xe0\x81\ +\xaem\xd0\x14F\xa2\xb0\xa2Y\x0d:\xc8\xdb\xb8,\xc4\ +\xbe\x1d\x07\xaeCc\x0d\x84\x8dB+\x8b\xd3\x5c\xe0\xba\ +\xdf\x9e\xf4%D\x04\xde\xf6\xaa\xc0\x1a\x00&\x088e\ +\xe5D\x9c\x0f\xb6\xaa\xe2\x934\x0aG\x5c\xef\x8c'\xbd\ +M\xc4\xe8\xd4\xbc^\x22\xc4y\xa1\xef\xbfy\xe2p\x7f\ +}D\xa2\xe9r\xb7G%\xb3Y\x9ePW\x07\x98\xf3\ +\x89\xe1\xe9@\xde7y\x9b\xb1\xbd\xa0\xc6),l\x9a\ +]{\xc9\xf1\xfa\x1a\x8b\x7f\xa7,$\xb4\x7f\xe3\xc4$\ +\xd4\xdb!\x06\x90\xf0E\x8c\x1c\ +a\x11K\xf6\xcf\xca8|\xb7\x92\xb3\xc3\x17\xd8\xf0\x8d\ +\xde\x0bc\xfb\xb1\xbd<\x1e\xb8\xe2\xe2\x1f\x1b\xc2\x93\xa7\ +U<\x97pxF#\xb8]+Z\x8b\xfc\xc9\x09!\ +\xe1\xb9\xf7\xc7\xd2\x15\xc8\xec\x0b\xc379=\xbd\xcd\x09\ +\x882\xaao\xba\x7f\x1c\xcd\x10\x84\xae\xb9\x9bf\xd9\xe1\ +7c\x8b\x85\xe4T4\xdd)S\x5c\x03\x9c\xd8\x9c\x0c\ +\xb3\xd6#\x92\x90S\xef\x9a\xca\xc4\x8c\xa3f\x1b\x9fn\ +\x02D\x8d\xf0\x04\xff8\xa2\x01&\x8c\xdb\xa9\xfc\x91`\ +4Ecl\xd1\x94\xd6\x0ct\x1f\xcay\x84\x0d\x19\xf9\ +Kz\x09\xae\xcfC?\x80\x98\xc7\xa2\x9a\x11ec\xdd\ +\xac+\x82\xd2=\x16\xce\x94we\xca\xf9\xb6+\x0d\x1b\ +\x9a\x93\xef\x16L\xa2Eq\x05\xedT\xea\xa2\xdf\xed\xba\ +\xdc1\xb5{[\xfa\xf5\xdd\xef\xf7\xb8,\xa3\xf6=\xaa\ +\xefA_f\xe4k\xbe\x9e\x93\xb9N\xf5\xd7Z(D\ +;\xe2Q\x90O\x9c1\xc0\x9bQ63\x9a\x09p\x0f\ +\xc6\x06\xbb\x18\xfb\x87\xde~l\xdb\xd0\x988\xf4c\x86\ +x\x9dD\xf4K\x866t\xa4\xb6--\xbeb\xa5n\ +\xe4\xd9\xfb\xc7\xc1\xde\xc9e\xc8c\x9e\x1dc\xe68\x9a\ +86}g\x8b\xa8\x87\xf9nc\xfe\xb6\xee\xb9\x8aP\ +\xcf\x98\x9dh\x8bC\x9a}oV\xbe\xd8\xa7\xe1\x11\xa3\ +\xd3\x1d\xe0\xad\x10\x9f\xf9\xe3\xdd`\x00Za\xcf\x05\xf3\ +7\x15\x93\x0c\xca$\xa9\xf8\xe7M\xda\xdb\x10\xa1y\x0a\ +-\xfa\x00J\xbf\xe8\x0dO7\xdd\xec\xa0\xcb\xda\xe4\x9e\ +]\x1f\xe1v#\xb3s\xa5B\xb7\xf6}N\xb5*\x8d\ +\x96\xbf}\x06$;A1*\x95\xda\xf6|\xba`u\ +\xf5p\x9f\xcdU\xc4u\x149\x9c]\xd5s7,\xa0\ +C\xe8k.(\x1fum\xd5\x91(\xf8\xed\xe0\xf7\x85\ +\xbc\x17\xc6\xf6cd\xd7\x1c\xe9{\xf6\x8a\xe2V\x1eI\ +>oN\xb7\x22\xd0\x9cV\xa6\x91\xd9\xf2\x04\x01\x9ey\ +T\xe6\x84M\xf9\x0c!\xed\x88\x8e>\xd3b\x85z\xc0\ +2\xec\x94\xb7\xfb\xa7\xec6%\xa9K\x92\x9f\x81_\xbe\ +0f\x8btHu_1\x9a\xf08)\xc7UlH\ +w\x0e[\x8f\xb2\xe2\x9bb.f\xf1\xcby/Tw\ +]\x874G\xe6\xc7\xa3\xc6\x16\xed[\xd3\x14\xa1\xb6\xb6\ +4W\x02\xd7\x8dt\x8a\x5c\x22\x22\xed\xcd\xe02\xebu\ +\x96\xdb:|\xa1\x8ejQ\x81\xe4\x9e\xe5p\x89\xe35\ +\xeb\xda1\xc9\x1a\xeblr\xb4w\x0e\x9b\xffu\x03\x04\ +\x14P\x8a\xab\xd8\x83p\x8eh\xde\xe7\x19\xcf[\xdd\x1e\ +Wn\x1e\xeb\xcf]\xf5\xa8\x02\x17\x96\x96=Y\xc3}\ +\xd1\x0eC\x8d@\xe8\x08j\x8c\xe8\xa6\x17\xbd\xe1\xb7\x92\ +\xa2\xdaS\x93\x8c\x89Y\x18\x11R\x7f*\x82\xe0H\xf3\ +\xa0\xad\x02\xe4\x8d\xbc\x81^\xdc\x16*#43\xbc\x08\ +\xf6p\xe9\xc7\xdf\x1c-\x8a\xe4\x88\x0b\xf8\x9f\x85>\xaa\ +\x0da\xd2U\xc3\x5c\x97C9\xb4\xb2\x9f\x03P\xf7\xf7\ +\xc2\xf91Fl\x1c8G~\xb8y\xa2u\x8e\x9c\x8f\ +o\xc9\x9a\xc4\x81\xc3Q5\xb3F\xdftU\xa2\x19\xc2\ +'\xf0\x9d\x1a\xf7\x86\xb0\x9d\xbe\x19\xdbO\xf5ez\xdf\ +c\xd2\x1c\xf4\xadYx\xd3Ua\xd78\xf4\x0c\xfc\x8e\ +\xefd\x9a\xbe\xdf\x8c\x1a\x9e*\x05\x9e\xd4\xcf\x00\xf1\xcc\ +{\xd3G\x9a\x05\xe0\x98\x8at\xd8\xc6]\xc2\x91\xb80\ +\x9c\xad\xcb\xb0\xd9ZB@aO\xeb\xf6b\xc6\x16\x9c\ +\xd3G\x9a\x0d,\xef\xa9\xa4\x98Y&\xfb\x85\xf6 \x87\ +\xae\xd5\xd4?\x04\x16!\xba\x19F\xd0H$rk\x17\ +\x22\x5c\x040\xc9\x1eN\x07\x0a{\xd6q\x80\xab\xbcH\ +\xa2\x13\x9a\x04\x1bL\xc8#\x84{\x02\x88\x19q\xae\x12\ +\xe3e\xc3\xbd\x7fY\xd4&Z\xc8;\x00O\x89V\x00\ +`\x16\x04\x02^\xfaH\xf1g\x87 ;DV\xf9\xd3\ +j\x12M\x5c\xa7A\xdb\xc6\x04l\x0a\xe2\xa5\x8c\xab\x9d\ +0\x92\x8cW\x88\x9b\x1d\xf5\x8e\x9d\x099p\x0d\xabf\ ++Q\x95\x80\x9c\x81\x9b^\x17\xc4\x0a\x918\x10\xdf\xcc\ +zu\x1c\x8aCAuW\xc0,]\x0c\xf7R\xf5Y\ +]\x89\x180\x97\x99/f\xf4\xbc,\xf4<\xe7\x80\xb0\ +\xb2\xc0`\xc18\x03\x06<\xee,\x92p9\x19\x8c\xa4\ +\x907i!4\xe7p69\xd1>\x81\xb2\xd5\xf2f\ +\xa0\x85\xaa\xb4\xe5\x1aX\x11\xc4\xdeD\xb1$\x14?\x83\ +\xd9\xd11i@z\x01\xad\xb4\xe50\x850k\x8b\xd9\ +\xb30\xe5V\x19.\x9b\x83\xee\xba>z\x1a\xf5\x1b\xb0\ +\x97j\x16'\x15\x91\x99\xa9\xc6\x1b\xe4\xae,j\xd5i\ +,s\x01\xed\x91\xb3\x1b\xdd\xbc\x9d\xa4/\x96|9<\ +\x10\x06nD\xf8\x04\xa7\x03\xb9k\x84\xfd\xc0Q\x9e\xa4\ +\xa3\x12\x89l\x1ck@\xaa%\xa063\x9e\x81H\xa4\ +\x9e'\xa2\x5c1\xca\xeeP\xf4\xec\xeeb({>6\ ++\xbd\x0a\xf1=\xd5\xaa\x9duy\xe1\xd4'[\x8fq{\xa0\x0f\xef\xb6m\ +a\x871O\xab\xcb:\xc4\x0d\x09\xa7(\xab\xb8\x9c\xbf\ +h\xde\x01\xe3\xf4\x03\xe1g\x05\x0e!B\xa5!z\xf9\ +wc\xe1;\xd7\xb23\x15\x8b\xa9\xe7\xbe<\x00\xbe\x08\ +c@\xb8\x22E\x0d\xe6k\xe6z\xc2\xdeCo\x0c\xa0\ +\xe9\x08\xf7Q\x89\xa3F\xdf\xdb\xee\x05S\x15\xee\x99S\ +\xc0\x22`\x0f\x13\x7f\x19\xd7\x15\x94eH\xf2?\x13\xa3\ +\x94k\xae\x8a\x815\xa7\xdd\xc4\x86\xc3\xe8t\x1c\x0f\xba\ +k\x8f\xc3\xa4\xafh\x88\xeao\x00bx\xe3\x12J\xb4\ +8\xe0\xde\xd2\xe4i\x03\xc4\xd1\xfb4\xa4\x8dw= \ +\x87\xbe\x80\x12p\xc00\xa2c\x9d\x09g\x08Ca\x10\ +D#\x0a&\x9fp\xfdz\xa2q\xe1\xefY'^W\ +\x8e\xee\x99U\xcb\x94U\x15p\x83\x80\xde\xdcu\x08\x02\ +\xa0\x09\xb4\xcfD\xc1A\x93q)x\x15G \xfcp\ +<\xa7O\xd4\x8b\xde\xf4wn\xa8\xeeR\xe9<\x08t\ +(\x02\xa2\x90\x182U\xf9\xec\xb5jJ\x14\x8b:\x93\ +\xb2\xf1\x04\xc3\xe5\x10\xcf\xea\x1b\xe9\xd1\x15\x9eZr#\ +\x8djz8\x12\xf7\xfd\xf0.%\xc2\xd38\x5c\x08\x1a\ +\x05\x88\xd1\xc4\x03\xf1\xda\xabZ\xd5\x80L\x95'\x0a\xc4\ +\xe9\xd3?\x1b\xca\xec4\xf4\x15r\x92\x0emQ\xfe \ +\xbb\x5c9\xf7 \xeb\x7f#\xb4\xba\x9f\xde\xa4\x87\xdei\ +\x1d*\xbb>\xd4\xd1\xe3'DOC(\x87\x9f .\ +X\xb6k=\x05>+N\xea\xf3\xf0O\x109\x83C\ +3\xe9\xb2\xccB\xf4\xc8\x06-\xa6\xd1\xeat\xd9\x0cN\ +N;\x14\xab_\x8d\x0d\xc2\x90\xb2\xe4\x19\xa4\xf5\xab\xe8\ +\x9c\x8dO\x10\xc1\x11\x03^\xb5\x8bx\x04\x22\x1a\x89x\ +&\xba\xf5~\x02\xe1\xd4\xee\xc4)\xcc\xd55\xfb(\x8c\ +!X\xd4\x04\x9e\x99\xcd\x08\xa8\xe0t\x06\x15\x86l\x05\ +\x032\x0b\x0e\xb5\x96\xfc\x13\xaf\xd4=\xf0\xf9)\x1ev\ +AN\xab\x94\x9f\xe2B*`e\xc1 \xe4!\xecg\ +\x96b:WY!\xc4Jn\xa9&5\xa3\xc7\xf2\xb8\ +\xc3\xf7\x0e\x9f\xb2\xd9\xe5\xbe\x0e\xa2\xd1\xad\x1bJ\xfbn\ +\xddd\xc0\x88\x1dj\x17%\xb2\xe0\xdd\xfe(\x9b\x07 \ +\x99I\x90m\x04\xc9<\x14\xb0M\xe4\xd4@\xa7\xdcg\ +\xf8\x22\x96Y\xf3\xbe#\x9e\xa8b4)\xb8t'\xc6\ +\x14D\x0a\x02h\x22\x96\xa2\xce\xd2\xa9\xf0P\xc2mA\ +\x11\xa9p\xe6\xe5\x19\xb3'\xac\xd7\xdc\x05\x93\x08F\x13\ +l5E\xe7X^\xf2\xf12h7\xc5\xed\x0f\x1c\xa0\ +cn\x98u\xc2\xfa\x0eM\xf7,\x0e\xea;\x14O\xc5\ +\xd0\xa1q>\x08#\xbc\x14!p\xa2(\xd8.\xb7/\ +\x07\xe5\x22\xe6\xd8\xc62\xab\x974\x821\x1e\xfe\x06\xd5\ +\x90\xccj\x82\xd4\xa5\xa1^\xe1b\xc5\x84\xaa$dR\ +\x0cM8\x88\xebN-EQ\xb0\xb0$5\x06\x9d\xa3\ +EQ\x17mj\xf4\x0c\xc4\xe5\x06\xecF\xfcq\ +\xa8\x18k{\xd3\x8e\x89xp\x8e\x88$\xdb\x0fU\xef\ +\x03\xa0{v\xd1\xb9\x89\x81\x80_\x10\x0b\x15s\x08\x87\ +\x0cT\xc9\xae\xd2\xf3\xca\xfa4*/k\xcd\x09\xde6\ +Y\xd5\xca\xc2\x03e\x0a*\x15\xbe&\xccC i\x08\ +\xde\xa38-4\x09Pt\x0cr=\x92\xf1S\x9b0\ +Bj94486r\x22X\xb5\x9aE\x85\x1b\xf7\ +\x99\xa4\xd1$./\xfa\xb3_\x1e\xcc\xaaz{%7\ +\x8fVh\xc7*\xb2\x92\x04\x1f\x9a\x1a\xc5\xcf\xbaW\x05\ +\xda\xba\xee_\x80\xb6\x16)+\x80\x04>\x8f\x00me\ +\xa6G\x970E`\x1a\xc6\x1f\xaa\x82\x82\xa1\xce]\xd1\ +wM\xca(\x82^ \x02\x19\x16y\xa9\xeeYb\x5c\ +\xcf\x87\x86\x1e\xfe\xfc\x89u\xae\x0bZg\xa2\xd9\xf7\xb0\ +\xb2\xd1\x1a3\xc1\x95\xdbNUQ\xf89\xb8\xd8S\x07\ +\x1a\x1c\xb8\xb9a\x09:\xd5,J%\x9a\xe4\xa5\xbf\x5c\ +:\xef\x11\xa1\xc7*\x16\x97\x848n\xa1\xf4\xfb\x81\x9e\ +\x1e-\xf5\xd4\xe1\xb9\xb83\x15i\xb0p\xdbg\x06\x07\ +\x1f\x1c\x9d\x9c\x08G\xbd[\x0b\xf8$\x06$-)\xc0\ +2s}@\xbc+@\x93\x13\x01\xfc\x97]\x89ku\ +\xa2dC63\x95\xad(X\x11\x1a)u\x9cS\xc9\ +\x07\xbc\xe7\xec%\x22c\x11\xe1\xe8\xc8\xd8v\xe9\x09\x9e\ +\x08\x8a\x9e\xde>\xf9\x0a{\x99\xfb\xafY\xb5\xaaB\xd7\ +\x1f\xeb\x04z+\xf1wp\x8a\xe0Ve\xfaJ\xd9\x0b\ +]\xe5\x12\x88\xda\xe9G\xaa%\x91\x7f\x22\xd9\x85B\x0c\ +Q\xa1\x8be\x1ev#\xce\xe7\xdd}E\xd0\xdf\xa1c\ +\x82]K\xbbuF^\xe0\x8bN\xe0\xd3\x17\xfa\x88>\ +\xcf\x08\x98\x00xOW\xd4uS\x98\x1c\xd2\x10\x98\xbd\ +\x91r\xe4j\x10n\x1fO\x5c\xf4\x08>c\xd7\xc7`\ +\xb2\x1a\x06\xa6\xa5\xd8\xfd\xe7\x9b\x12\xab\x14$\x1c\x82\x9b\ +\xfe\xae*\x03\x00)\xc7\xf1\x9c>\x13F\x04G\xfc\x02\ +\xa6,\xe0\x0f\xb9\x85\xa9\x07\x02y\xad\x92r\x5c_X\ +\x14\xbc\xd1\xed\x1c\x18\x16\x05T\xf0)\x0a\x1d( g\ +\xd7\xdfYk\x84\x80\x0f\x1a\x15\xe2\xc0\xef\xc6y\xfbH\ +I(\x18\x00\xe7\xdd\x0d\x1f\xde%R\xf6K\x05 @\ +\xef\x12r\xc2\xab%\xde\xf8\x94z\xcaw'v/B\ +\x81\xe4\xd8\x95\x18\xedQ\xb6\x02\xeb\xe2\xd0T\x01\xf6\x98\ +\x96\xa3K\x95\xa3\xa0\x8a3\x1d\xe4TQ\xb1\x00\xa7G\ +\xe1t\x9a\x05N\x9d\x84H\xab\xe9\x0a\xbe\x8b\xed\x14\x8a\ +\x0a\xaaS:\x09&b\x5c\xaf*;`=B\xf3\xd0\ +O\x8a\x03\xfcd\x05`vc?\xac\xfe(\xdb\xb1B\ +\x11\xc4:=\xb9\xa7}+\xad\xbc\xb7j\x9b\x13\x96\x98\ +\xc8Rz\xa4xe#\x12\x014!Nw\x81\xd2\xeb\ +\x17\xc4\xe9F\xc3yB\x03\x1f\xbdH\x99\xef\xf2\x026\ +\x0d\xe6\xcc\xe5\xa1\x22\x0f\xa9\xd88\x0e\xb2Cd\xc2=\ +;\xd6\x89Z;\xb3\xfa5\xba\xac&\x83\xb5\x8aU7\ +z\x83{.\xa1\xa9pY\xdd\x05\xccN\xfdWZE\ +\x00\xe3r\x0b\xc9[:\x94\xecM2\xe1\xaa\xf3h\xa2\ +1\xe3\x8c\xc3\xaauq.\xdcW\xb9O\xa5V\xe0l\ +E\xb3\x8a\xd4\x8a!\xca6\xcf \xa1\xd9!\xac\xaaf\ +\x90\x85\x16\x90\xfbw|\x92\x98r\x9e\xe7\xe1\xae\x95N\ +@\x0b\xa5\x9a\xd2\x8bM\xfbIQ\xac\xeba{\x88\x03\ +yp\x1e\xfb>\x91y\xb47w\xac\x08I\xf9:\x84\ +\xab\x9e\xeb\x04\xefD\xb4C\x91\x82\xd3\x09[\xeb\x22+\ +\x00\x84JEt{b\xc7\x91!\x85\x87\xb7\x1e\x98\x07\ +(\x1f\x11\x8a~\xd6`\x90\x8e\xe4\xaa\x0fG\xab\x02\x87\ +\x1cI\xe0\xba\xf2\x8d\x97hASBV\x15U\x06\xe6\ +\x85\xf9\xc2\xb9Y\x99B\xca\xab\xc0\xe5\xdc\x8f\x12>_\ +\xc6\x01C1@\xd2\xff\xd9\x5c\x13\xdc\xba\xc4nT\x13\ +Jy\xd6\xb1m\x96\x9c\xdc\xc7%s\x99@\xd4\x12\xda\ +\x1a\xaf\xa8\x0a&\xa0*1\xe8,74L\x06\xd5\x1c\ +\xe0\xf7\x22\xaa\xa8\x9d\x1f\xd4?DrT\xbdQ\xe5\x12\ +\x08\x1b\x0c\xed\x12\xe6O:\xd6\x88\x84\xa3f\x1dM!\ +\x08\xedp\x95\xe5\xaa\xe4\xb2\x83X6\x02\xf7\x12\xf07\ +\xef\x84\x00\xa0\xdexe\x97!\x8f\x18-C\xf5t\x94n\ +\x8e\x0a\x12p\x87\x9f\xa2aX\xb27/\x8eY\x91\xdb\ +\xa4#\xa4\x12Ne\x9c\xeb\xbf\x17\xdaY\x8a\xf9\x14\x82\ +\xb3c\x04\x22\x83\xef\xde~\x5c\x17\x969\xf6\x882u\ +h\xd8\xa95w:]0\x22\xc3fc9u*]\ +\xefwo\xd1\xcf\xeb\x8a\x8d\x80\x10\xa9Z\x87\xd7\xa9C\xb2\ +*\x85\x16\xdekx\xe29\x1b\xf9WU\xc9W4\xbe\ +\x09@\x82\xdea\xb4)l\xab\xaeL{&\x1b\xcb\xe5\ +`DX\x02<\xa2\xbb\xc2+\x94~^\xff\xef\xce\xae\ +&\xc7y\x1dI\xeeu\x0a\x1dA\xfc\x11%m\xe7\x06\ +\x8d9\x82\x81\xc2,\xda\xf7\xdf\x8e\xe2'i\x91~\xe8\ +F\xd5\xe2\xe1}\xcc\xb2M\x8a\x92\xc8dfd\x84\xbe\ +Q<\xa8\xb3\xa9V\x05;\x8d\xbe\x02\xa0\x0d^0U\ +9\x9f\xa6.\x90x\xf9\xbc\x900\xf9\xf7\xb5\xb8\xfc,\ +9\xe8\xbfOm\xb3\xefU\x16\x15\x09P\xc2\x92o\x80\ +\xc2\x14\xc02\xe5=jU>\x8c6\x00\xfe\xb2L\xaa\ +\xf5\x05\xe6\xb0^Yf\xe1it\xd2\xac\xd2&t\xf9\ +\xf9\xf8\xc4\xc5S\xba\x7fa\xa1\x81E\x12\x9f^\xf0\x94\ +_\x12E\x93h\xf0\xbd\xf0%i\x1e^g\xd3\x13\xb9\ +\xb9\xf4a\xd3\x13X\xa0\xa2\xbd\xd0\x84\xbb\xcfZ\xf2\xa4\ +X$\x13u.YE\xfbC\x22K\xd8Z\xccj2\ +\xa9:\x17\xc6\xa5\x17\xc1\xa7\xae\xf3\xc42\xfd-\xe4\x96\ +.]\xab\xd0Ub\xf7\x89\xd2\x91\xa6\x12\x0c\x02\xedI\ +\x9c\x81\xf0&\x1eM\x18\x10CCMI\xd2\x0f\x1cM\ +8OA\xe48\x17\x9b\x86yx\xdb\xd3t&k\x86\ +N7\x917\xfb\xeb\xc6\xb2\xe8j\x8d\xff\x80<\xcd\x06\ +LK\xbe\xe4=\x1bP\x93W\x0d'Ev\xc7\xe7T\ +\x04\x10B\xa4\xcb\x9a4QCe.\xf5^?7\xb5\ +_\xdf\x9f0i\x14\xf3e\xa7\xdcz-#\xe13\xc5\ +y\x22\x18(\x83\x0a=\x9b\xcb*\xb98\x22u!\x1d\ +!\xf0\x97N\xba\xcc\x89F\x92\xc6\xcc\xd1\x04\xbb^\xd7\ +\x83\x949\x9dv?\x12\xcf\x9bA\x05\xa4\xe4\xcf2\xb5\ +_\xf3\x070=\x1as\xf4g\xde\xf1T\xbb$\x81N\ +\xb0\xd4\xefE\xbc\xe1p\xc9B\xe8\x9a\x98\x5c\x85\xebq\ +\x0e\xd5\xa4\xa7%\xceef\xa9YB\x83b\x8dz\xcd\ +~b\xdd\x1cv\x90\x1e\xb6yb\ +\x9f\x16*9eo\xb6(\xf1Eq\xfdvhs>\ +\x03\xceu\xeeJ\x96+D\x9c\xbd\xf1\x15\x0b\xd8\x16J\ +X\xe2\xf9\x08y\xd9\x22<@\x0e\xd4\x1f\xdc\xa8\xcd\x9d\ +d\xd1\x17n\xd7s\x17\xc3nc_\xe8\xba\xce\x0f\x9a\ +\x02\x07\xb3\xa2\x95\x98\xfc\xfb\x88\xb6\xd7\xdd\xd9\x96\x1d{\ +;\xa2\xe9\x84\xa4f\x02\x09\xf1\x89TE\xcf\xbb\xb3\xab\ +#D\x1c\xf1\x88\x01\x9f\xa3\x87\xeeb\xac\x00\x8b\xb66\ +\xae\xaas{ll\x87\xa7\xf7\x8az\xbd6\xdf\x9f\xe5\ +\xeb\x86\xe9P;\xdf\xd6\x7fX\xa7\x5cKy\x08\xf1\xfe\ +\xfe\xb2 V\xa8\xe2\x0d\xab\x078\xb2B\x04k\xf3J\ +\xc5E\xc1\x96\x08\xe8\x04a\xb0\x03\x0eQ$\xf6\x9a\x0d\ +!k\x17\xf5mKr\xe1\xcd\xa7\xe03\xf8\x0f\x82\xfe\ +\x97\x0a\xb3\xa5\xb3B\x05\xf9E\xeaH\x13V\xcf\xd9!\ +\xaeI\x11w:\x12\xd1\x0c2\xa2\x9e03ad/\ +Q\xbdD\xf3\x90.S\x9d&\xb1e\xf5\x82\x18\x89-\ +\xcb\xd1\xbf\xb8rF]]\x08\x22>\x0a\xe3^]r\ +f\x89\xca:\xb0\xa3Ky\xc3\xd3\xea\x15\x00\x10S\x7f\ +\xa5\x98\x81)n\xc4xc\x96\xaf;\xa5\xb7|\xbe\x9f\ +\xcf\xd7\xbc*\xcbJ1d\x16\xf9\xcf\x16\x8aU\xba.\ +\x82(Z\xfc]\xfb\xbe6q\x19\x96n!y\xb5\x0a\ +\xa9\x09$5\xb1`2\xef\xc1\xeb\xcb\x82\xbb\xad:I\ +8\x87\xad\xab\xe0\xa0-\xe0\xe9\xc6\xa2\x03\xa5\xbd\x84\xa6\ +D\x92\x96\x85\xac\xc8V\x1f\xf63\xf0V^\xc2Ig\ +QS!\x07}\xf8\xa6\x16\xb9\xa1[\xd5\x12\x95\x8f\x87\ +\x13\x19\xe2\x04\x92\x82W\x92\x83\x7f\x96\xf60 \x10\xb8\ +B\xd0X\xe4\xd8\xc2Nc\xa0p\x84\x830\xdfi\xe1\ +\x0d\xe2o\xe1C\xb8\xda<.\xba\xd1\xc9g\xc2\xf1\xa8\ +\xdaR\xe8\xc9\xc0ch\x0a\xa9\xf1\xcdd5I\x08\x06\ +\x86\xe3A\x86\xef\xe9\xc6\xa8\xbdtC0t\x8c\xf7\x13\ +A\xb8PD\x09Gt\xb6\xdc\x8f\xb7N\xa0!4\xd9\ +\x9f\xbcx\xa1\xb9;-\x8f7\xde\xe5\xf1(v\xc4;\ +2\xb5\xb5\xd4\xcc\xdd*\x1eX$\xfeyTG\x03?\ +m\x84S\xeb\xa7[\xf0\xa8\xef\xb9\xf7\xf9\x09\xe3\x11\x83\ +mM\xd3\xbe\x10\xf1\x15\x9d\xda\x11\xc6{vy\x0f\x22\ +\xab\xe0\xb7\xaa\xfe\xe7\xd1r \xb1_e\x8e\xd2\xe1\x1a\ +\x8b\x88c\xfb\xc1\xa2\x96\xc4\x18\xfey\x1f\x87\xa6\xde\xbe\ +ggw\xe7\xc1\x84\xee\x97\xfa\xbd\xce\x16DDC\xc0\ +F\xfbx\xf2\xb2\xd0+\x90\x18#\x95\xf2\x22\xe9\xf1\xcf\ +\xc7\xa0\xe6&\x07\xf1\xd5\xa9\x92Pra\xe4\xf2\xbf\xd7\ +\xd9\x02_\x90+d4\xc3\x07\xea\x92XA\xab\xe4\xcc\ +\x9dW\xf1\xa0\xb1\x98\x9a\x11#\x1e;\xc5@\x5c\xe0\xd9\ +\xcb\xceg\x0b\x16\xc6\xd3\xaf-3\xcb\xd5\xd4\x00\x91\x0c\ +\xab9\xe4l,T\xea\x90w_\xdc\xa7\xb6\x862w\ +\xfb\xc3\xdd\xb1\xf5\x15\xde>\xcf\xc3\x10\xc2=\xdeT\x22\ +qb\x0e\x90\x9e\x95p,H\x92\xa1}G\xfa\xfc3\ +6\xe2\xa1\xab\x9f%2Q.l|\xaf\x93!\x92A\ +q\x22\xe8\x0b\xfb\x15D\x11\x89\xd8\xec\x0f\x01~w\xf0\ +.\x138M\xedp\x02\x87^1\x90-\x0a\xc8}P\ +y\xb6\xe3!7IG\xc8\xccaI\x14\x80\x22\x07\x9d\ +\xe2aQ3\x8b\xe5\xc1\xc0I\x99\xda\x1a\xc5\xd8\xe5=\ +\x88]0\xcfd\xfa\xd1\xf7:[R\x84\xc9N\x97\x17\ +0\xa4U]^\xd7\xbc\xc5\xd6\xadio\xe2\xe6E\xa5\ +&9\x1a\x04\x03Lm\x0e\xe5\xabc\x0c\xe6\x22\x0a(\ +I\x0a\x92\x83\x19-\xd4^9\x85\x1e \xdc\xe9\xde\xfe\ +\x811W\xf5\xbb\xca\x96\xb2\xa2'\xd8\x02rO\xe5\xe8\ +T\xae\xb2\xa5\xb1\xad\xc1\xcc\x1dC\xa5\xfbd\xfc\x22\xee\ +\xe2{\x9d-x\xf5\xafl\xd4\x07\xcb\xf4\xb2\xc3\x17\x9b\ +\x85\xe4Y\xc1\xd08\x18A\xd8Y\xf1\xb4\x09\xed\xd0H\ +\xb05\xb6E\x975w\x8c\xda\xa0Ftr\x9cc\xde\ +\xebl\xe1\xdcV=\xfc\x1b\xe7Z\x01\x1a1\x8b\x84\xb3\ +\xdc\x189\x00\xc6\xa1f\x07\x00\xec\x94]\xf5\xab\xadz\ +\x89\xb9\xe3\x1f\xa6\xcf\x00u\xcb\xae\x00z\xaf\xb3\xc5\xe9\ +3\x01H\xa5\xa8|2\x14t\xf2\x0c\xf3\xa2.F\xdb\ +v\x85(7\xe9\x913\xfc\xe4\x8a\xab\xb1\xa9[4w\ +\x8a[\x94m\xcb\x8e:\xcf\x96$\xae\xe3L@\x8eJ\ +\xd28\x10\x9e\xbb\x9b\xcf\xa4\x1e\xc8\xa5\x8a\xb2\xe6S\xc9\ +%<\xc8\xd8\xd4\xfd\x99{\xfdY\xba\xeb\x0d0\xd6\x19\ +\xfe\xdd\xc7\x10+r\x92\x0e\xb7\xfd\xf0\xce\xd4\x81\x13\x1b\ +\xa3\xf1\x1f\xd7\xc0\xd4\x13&\xc3\x99\xdb\xdd\x09y\xf6\xf9\ +\x0f\xf5\xd8\xa7\x95\x94v%\x85\xdf\xb3\xc1\xe0/\xaa\xf0\ +\xf4\xfc\xc9\x1ea\x8a\xd1\xc0\x04\x8bR\x02\x87iV\xda\ +\x87R\xe1\xd5\xf3NN\x01\xcc=\x0dM\x11\xc3}\x8d\ +\xeeg9\x82oO\xb9\xfb\xf7:\x19\x22\xa7R\xb8\x17\ +XF9\xf7\x0a\x90\xd1\x00\xd6\x8d\xae\x8b\x16\xd5\xca\xde\ +V\xe3\x87\xacv9u35\x17\x8c\xf6kh_g\ +\xba\xf3\x88\x9a\x1f\xadh\xa7\x12\xbe\x0e\x0b\xfd;\xe6\xa0\ +X\x17\xe7\xcbp\x89Ht\xc9~\xd9\x82\x14\x22b\x09\ +c;\xc8\x9f\x9d\xce\x1f;\xe7\xf4N\xc3y\x12\x8b%\ +\x15\xcal\xa21{\x83H\xc8h\x0d\xb2Ql\xae\xee\ +\xba\xbb\xb8'\xe9r\xb9\x18\xa2\xf9|}\xb1)\x01\x11\ +H\xbe\xab\x93\xfc\x18\xc2]]\x0c\xbd#\xd3v\x0a\xcb\ +\xc1\xbd\xeaJ=\xc1\x8a:\xad\xbb\xe9\xd2\xa5\xbd\xa1\x91\ +\x8aP\xea\xe2\x15\xc6\x87\x09\x94\xe7q\x1b\xbf\xbc\x1b\x0f\ +wQ\xba\x99pc\xa1!Ip\xe6zb\xe4\x14\xae\ +\xa4j\x01\x00\x00\xc1\xdaQ\x04F\x068y\xf7\xa7U\ +[r\x8a2\xc3\x85\xbf\xac\xbd\xaf\xe0\x03\xdbX\xc7\x88\ +\xba_\xe6\x85\xc1jV\x01\x95D\x95\xd0\x1a\x12\x19\x88\ +\xce#\xa5L\xd4RN\x0a\x9f]\xcd\x95\x80\x89\xab\x08\ +\xf2Z\x87J\xa1\xf0\xec\x11\x11v\x86\x08\xf4\xa5[)\ +\xd4e\x0e\xde%b\xbb\xf1\xf9M\x1aT\xbb~m\xcf\ +\xfc\xf8)\xb01\xcb\x06\xef\xb7\x07O\xca\xa6K\xc3A\ +\x08\x8f\x80\xf2\xce\x89\xf7\x9e\xa3\x11L\x09S|\xff\xf5\ +\xc8*\xa1\xb9\xaf\x80N\xd3\xce\x1cv\xdb\x8eE\x17\x1a\ +\xa8%\x84D\x18\x09T\xa9A6K\xdc\xa5\xbb\xafC\ +\x16\x0c\xa7*B\x91\x06\xbb\xc4\xe0\xba\xb0\x8dyB[\ +\x09t\x1e\x97p:Te\xe0\x959\x8b\xc5`z\xc0\ +\xd2\xf8\xf0f\xe2.b\x1e\xcb\xb5/\x06\xd3\xf1\xca\x88\ +\x0aJ\xfar\xebX2\x85\xa5:\xb0\x0e^\xe6J\x82\ +b\x81\x12\xc9\xfd\xd7p\x1c]\x84\x1f\xd4$\xaa(\xfb\ +\xfe\xd8=~\xdc\x02C\x9c\x82)P\xa5\xc7:\xd30\ +\x09XI}\x8bg\x8d\xc02\xe5\xbd\x81t#\x18_\ +\xe8\xa3\x5c\xe3~&\xb6\xaf{\xe6\xd1Dn\xe7R\x85\ +>R\x8eH\xab\x5c\x02\x1a\xbf\xd6\xe5r\x88\x18\xe4\xef\ +\xb7\x85\x97)8\x91\xef'\x8aE\xd0\xc4\xaf\xf5\xc7+\ +38\x925K\xa7\x98\xc5O\x0a\x9e\x03s\xcce\x83\ +@H\xa4M\xb3\x0a\x98\xa9q\xdeXu\xc1\xfa\xa0\xca\ +[\xc0\xd4\xf0\x15EW\x9d&\x10\x89\xcd\x83/\x86\x80\ +\x81J\x83a\x8c\xc6;6\x16\x8ap\x8ed\x80G\x88\ +\x97\xd0\xec\xc6H\xb4\x01\xdfD\xd0:@\x82\x97?/\ +\xc4ia)\xe1\xa5\x93\x16\xc1\x8bZ\x0e\xb4Z\xec,\ +#\xe3\x0a\xb0\x13\xa4\x890\xe0=U`\xceT9\x06\ +\x1f\xafq\xe9b\xde~^\xcd~\x16\xc9s\x05]\xf2\ +{\x1d\xdbg\x80\xcd\xb4U]\xdb\xa4\x01dJ~\xa5\ +\x94\x96\x8e\x1c\xb8\x14W\x0b\x0e\xb6+\xb6\xef\x10-\xf1\ +\xcf\x9d!\xf8M\x9e\x94\xa1E\xa6\x9d\xf1\xcf\xa1\x1f\x0e\ +\xc7 \xf8\x0a\xfb@zWJQ_\x22-\xb9\xac|\ +\xd6\xc7\x1dG\xf7\xd3\xb4<6\x18\xa8m%\xa3h\xba\ +\xe3\xd7\xa7m\x8a\xaa3w\x98\x1b6\x81\xa9\xf9\xfa\xfa\ +\xbb%\x897y\x03f\x7f\xd8\x8e\x90\x1a\x18-\xeb\x19\ +\xb2\xf4\xfe\xf6pC\xb8]M\xb7\xec\x81 \xd8BI\ +\x18`\x91\xff,%l\xe2\xb1\xa4\x17\xf0\xbd\x8em$\ +\x9bH\xcc\xb83Z\xdd|PC)V\xd0l=\x0c\ +\x0bQ\x14\xf0\xe8\x91\x05\xb9\xaf\xd5\xa2oI\x19\xddW\ +\xbc\x87\x88\x05\xc00\xf5\xf5l-\xb1#\x0f\x83\xfb\x9f\ +\xf5_\xffp\x91\xff\xe9\xea.\xc2\xc3\xf1\x0b\x88s\xbf\ +\xd7\xc9\x80\xa8\xfc&\xdaHQ\xbc\xd0\xe9D\xed\x18\xdd\ +\xe8\xd1\xb0\xac\xe2\xc2\x10-\xe5\xbd\x8c!2\xc8\xe6\xc1\ +\x887W5\x8a\x1d\xa3\x1e\xee\x9e\x86\xb9\xb3\xa1\xe9+\ +\x9c\x07\xf8\xebK\xbcT\xa8\xcfI\x0a\xcf\xe4\xd3\x06\xac\ +\x88\xc1\x18\x95j4VA\x13\xa9\x961\xe0\xa1\xbd\x90\ +\xc9/KX\x10\xe7O,<`\xbe`5,W\x9a\ +K\x07\x9e,2\x9a\xb1\xab\xa1\xa5\xab\x9b\xc7\xf6\xfb\x8b\ +K:!\xa2\xba\xf5\xc2\xf4L\x06WE\xf0\xf2\xee\x83\ +\x13\x0e\x94\xa7\xe4/\xb1\x83\xbf\xc2\xb0\x84\x05\xd5&8\ +/\xa1\xd4\x1f;w\xe6\x06\x88\x0bL\x97/\x10\x15\x0b\ +\xb8@\x0a6\x8e\xbd\xa9\xb9\xf4\xb6\xd7\xd2q\x84\xbf\xbe\ +F\x86\xa4\x91kg\x18\x84\xdc?\x83\x81\x81\x03\x1c\x12\ +ss\x04\xa0\x10\xd6OE\xea\xd3\x99#bE\x10\x03\ +\xe1\xb6\x875\x01\x97\x81\xfdx\x13\xb7F\x22i\x8c\xc2\ +\xca\xa3\x85\xb9\xf4\xc2/\x1f\xadE\xefKt\xcf\xa3\xd3\ +<\xc4?\x5c\xa4\x9f%^\x84\x18\x8eF\x0b#\xf9\xbb\ +p\xd8\xa0|\xe01\x0d\x87a\x10\x93\x15e\xc8\x00w\ +852ba6\x87\xd8SfT\x801@$\xf4\ +R\xf6\xfa4[\x98\xa6\xb5\x9a\xf7\xbd\xc5/_\xa3\xd0\ +\xd5\xcec\xfd\xfd\xe5\x02x\x87\x1a\x1b\x81\xb6\xdf\xebd\ +@\xe8\xe0$\xe8\xfc$\xe7\x12\xdbX\x19\x11\xdb\x15i\ +\x08\xd6\x94E\xa1]'\x82P\x0f\xc9W33\xc8\x88\ +\xb24\x5cW\x11\xb9\xc0dA\x18\x0bNL\x22\x94\xb2\ +.\xf3\x08\x14\xac\x98F\xf9\x87\xebl\xac\xc7A\x10p\ +K\xd9q\x96\xa7E \x89\x8bm\x9cy\xd8n\x8a\x12\ +n\xc1H\xd4.K\xdeF~\x05\xd5eIt9\x94\ +\xd1\xc8\xda\x83\x90\xa5}}YX\x87\xc6\x08\x1e\xdc\x5c\ +^\xea8\x86\x08\xcc\x8c#\xc5\xc5\xceI\xc6=$O\ +\x02H;\x1a\xbaN|3\xb0z\xb7\xe8{\xc4\x92e\ +X\xba%\x05\xda\xc6\x8aC\xc9\x9a\x12\x1f\x02\xba\xd9\x92\ +L,\x98\xach\xc4\xcc\xdcq\xad\x1f\xb2Obp\xd2\ +\xf1I\x93\x5cA+\xcbX\xc9\x15\xc8\x9c\x9e\xd1\x0bM\ +8\xbe\xe8\x8aW;\x9eGf\x8c\x90u?\xbbTF\ +(\xd5X\xbf#\x9a\xeeo\xc9\xae\xb3\x1b\x04\xee\x22Y\ +bQ\xf7d-@\xc1S\x86\x0b6\x13e\xa2\xfe\xe0\ +\x229\xd6\xeb1\xa7\x81el\x1dk\xed\x1c\xa5\xef\xc1\ +tK\xdc\x5c\xdcV\xeck\xba\x8d\x8f\x93|6\x014\ +\x82\x8e\x97\xc8K&\x0bq\x83\x87b\x8c\x92\x11\x0c<\ +B\xd4?\xd8\xb2t\x13\xab\x95\x19nrR6\xe4o\ +\x03\xf03\x19B\x0d1\xb8\x97S0\xa7\xb6\xa0\x02\x9d\ +-\xc1\xe6\x8f\xd9Q.\xe1\x8c'\xcfA\xf6z\xf6'\ +O\xc9\x85\xec'\xef\x93\xf6\xe0$\xf6*\x81\xd1@\xbe\ +\xacS\xa4W'\x9f[\xc2\xdbS\x87\xfb\xa6\xe0\xcb\xb5\ +%\x85\x0aq\x90|\x9e\x91\x9d\xcb\xf12X\x96\xf8\xb0\ +\x9aD\x7fP\x1d\xb4\xbbgm\x0d\x1d\xdd\xc7\x83$&\ +\xda\xbc\x05\xc1\xab\xe1\x91\xe3]\x92\x7f\xf1}3\x15\xe4\ +\xc4\xf1KR\x0b\xbb\x83\x9cO\x0b\xae\xa0\x9e\xe2\xf0B\ +\xc14q6M\x93i\xd4\x83TVD\x0a\xc6B\xe2\ +f\xcf\x02$\xb6G\xf9jG\x9cs\xec\x18\xa1\xdf&\ +\xec\x18~\xf0R\x84~\xb4\x10C\x80u\x89\x90^%\ +\xe4\x99\xb3m\x82h\xbc\x14\x0d\xe6\xfb\xdb\x5c5\x89\x0c\ +C\xd6-cu\xdb\xd4\xd6+0w\xac\xdc\x9a\xde\xb4\ +\x12\x83\x99,T_`\x18\xb8\xa8\x10\x99\x8a\xcfI\x97\ +\xeb\xc1l\xe2\xa6\xc2\xbb\xc5\xba9@c\xf8`f\xb2\ +E\xcc\xed\xc8\xaf\x8d\x1dc0\x22\x02$+\xdb\xae\x14\ +\xffhA\x907\x1f\x1a\x0c(\x1c\x90o+~b\xcd\ +\x99\x149~jL\x9c\xfc\x85\xcao$\x95\xd1Nm\ +\x8de\xee\xf7g\x11\xe1V\xe2k\xe9\x89\x99,B\x11\ +\xe8\xc5\xbdh\xbf\xe4\x10\x01\x8cj\xc4\xd9i\xe7\x90\x91\ +R\x81\xff\xe8\x84\x81\xa9\xb8}\xb7\xb5)\xcd\x1d\xff,\ +Bf\x08]\x98K\xb6?\xf8\xb40\xa7\xe5\xdah>\ +2$\x8cKJ\xc5j\xc9G\x0e\x8b\x8b+X\xbd\x0e\ +\xf9x\xa8\xf7\xc3GT\x1f>\xb6\xc3\xc9\x1b;\x06-\ +\x0c\xae\x9b=\x89)f2\xb0v\xd3`Jf\xb2X\ +\xdb\xa9k=T\x01\x89\xe2D\xf2\xa2U`k\xd7(\ +\xb7\x95\x92J\xf9j\xab:q\xea\x15\x03\x01\x1a\xc3\xa8\ +\x03\x22\x19g\x8b\xf4\xb3\xb4k=\xd5n\xb8\xc20N\ +BX\x9ch\x11\x0f\xa2\x91\x03a\x85\x8fdV\x13\x8f\ +m\x8de\xeeX\xa9.\x94q2[\xb2E\xaa\xebi\ +!\xd3\x5c\x15\x19x>E(K\x9f\x1b\xca4*\x88\ +:\xc8\xf6\xb4\xc85\xd8\xc4SF/\x86jL\xfbW\ +;R]c\xc7\xfft\xe8\xffO\xfe\x1a\x22k8\xae\ +\xd4B\xd4\xfc{\x9d-L\x06c1\xac\x85\xb89\xb5\ +\xb3\xb2\xd9b\xdb\x94e\xd1\x0bK\xe5!{\xea\x05\x10\ +QQ\xcc\xe0\xbcR\xb6\xf0M'\x8b\xb0y\x82R\x1c\ +\x08\xa9\xce\x83\xd0\xc4\xcfC\xa5\xc3\xd6!B\x96*2\ +\xbe\xf2=\x1b\x08\xbcs\xc9-\xf7\x8f,\xcd\xfb\xa0\xe7\ +u{\xb1!\x17\xa1\xa6N\xed\x9e\xa4\x0f\xabf\x91\xd4\ +\x9e?Y\xc8\x97\x8cuN\x05\x1e\xe0T\xda\xb3\x1f\xf3\ +3\x18\xce\xe8\xe9{<\xf1y\x933\xf6\xf1\x9d!\x03\ +7\x18\xc4&\x13\xfa\x7f\xa2\xd6\x12\xee$\xf8\xd3\xc76\ +\x19\xab>l\xecl\x17o\x9f\x97T|\xed\xba\x1a\xbc\ +FP`\x0e\xb4Bx\x8d\x91\xa3{\xc9Y\xbc\xc4\x1d\ +\xcc'\x9a\xd3\xbb\xf4\xf9\x9d\xa6[wl\xba%\xbf}\ +8\x03\xe5\x9bw\xc7{fK2?3\xe6\x96\xc7\xa7\ +\xd08\xc2\xc1\x97\xbbSHI\xee\x8b[s\x1cD\x1c\ +\xf8\xc7\xa1\xfe\xfej\xb1h\x00c}\x0a(\x17\x0dA\ +x\xb9\x8e\xd2\xef\x8c\x82o\x10\xd2\x9c\xdc\xf0,\xcb\x0d\ +\xcb\x99\x97N.\x80\xdc3\x9f\x08W\xf7\xaaD(\x85\ +\xaf\xf9\xb0t\x9d/\x12\x1a\x96G\xef\xd6M{\x0e\xed\ +\xf7\x17\x96k\x1fO\x0e\x0c\xde`a\x84\xcc\xfd\x9f\x8f\ +\x8a\xfa\xc2\xe7k\x15\xd0\x89`\xdeR\xb9\xdc\x04\xe0^\ +\xe4\x92\x9fRm\x96Z\xb9\x14b\xb4D\xdd:5\x05\ +\x89%\x9c\xc6`\xf0\xde4\xd2\xdf_l\xf2z\xef\xc9\ +\x7f\xaf\xb3%y\x03!\xad%^\xd0dQ\x81\x12/\ +(\x09\xa8\x8e\xc5|\xe9\xb9\x17\xae\x13L@\x0a\x03\x03\ +\x1e8[\xaf\xa9\x1d\xe5\xd0\xa4\xd1\xcc)\xfa_\xfa\x00\ +\x84\x10\x9c\x87\xf9\xfb+\x85\xa2\x8c\xd1\xf4\xa0\xe2\xd0\x09\ +\xeci!v\xbf\x89b\x0c%Y\xd8\xd1y\x8e\xbbT\ +\x15&0\x7f\xda\x9b$\xa0\xe8\x040\x0d\xebC6\xf7\ +\x0f\x12Z\x13[*\x12\xbd\xd1@\x10N\x12\x92\xb3\xb0\ +\xa0~\x1cB\x9c\xd8\xc6\x81\xfeak\x91\xa0\x18\x91\xc2\ +\x07\xef\xeada4\xe0\x14\x1e]\x81\xac][\xce\xa5\ +0\xe3\x8b\x1e*o+\x5c\xf9@\xaf\xf0e;\xd4<\ +)\x9a\x87wqc4yhS\xcf\xe3\x10\x12w\xe3\ +\x06\xc3\xfe\x97>\x00m0\xf30\x7f\x7f\xa5\x00\x95l\ +\x82I\x02\xef\xa0\xa3\xec\xd3\x826\xb7\xf4M:z\x00\ +27\x97\x96*\x99\x81\x09?\x85\xc7\xd6JDT\x1b\ +\xe2\x13{\xd1I\x82\xa4\xd9\x8e\xf2\x9dA\xb5\xf2\xb4\xd0\ +\x1f?Th#\xd0\xf34\x8a8\xfd\x8ec\xfd\xcb\xa2\ +\xcbbN\xc0\xb0\x14\xd2\x18\x0dx\x99T\xf9\x91Y\xc3\ +\x99\xb8$\xc9\x9dK\x86\xc3'\x9c\x1cT\xbb\x99\x08\x80\ +?I\x14J\x01iD\x13\xe9\x97\xaeR\xd0\x89k}\ +\x18\xa8c$\xd2g\x5c\xcc<\xa4\xc04\x0f\xa3\xfc\xc3\ +mM\xbd\xc2\x091\xc2\xf7:[\xd0N\x0c\xf5\x1fD\ +M\xe0\x0dl\x9b\xeal\x93\xa1r8\x8a\x12\xa1&\xc1\ +:\xbaSI\xd0A\x9fg\xf8d6\x22!__\x16\ +\x1c\xbc\x88\x99\x84Z\x0f\x9f\x8fi\x0c\xba\xa9\xf3H\xff\ +\xb0\xe1\x1c\xbc\x13,b;\xb82M\x16& Lu\ +\xc9\x15\x09JA\x9bx?\x93\x1c\x07R\xda\xbah\x88\ +\x91\xb0*\xc6H\xc6\x08\x8ab\x04\xa0\x96cUH\xae\ +\xce,<-x\x0d\x98N\x82T\x12\x81\xa0\xd3(\xb4\ +\xe5\xccc\xfd\xc3\xe5Z\x05\x00\x98\xda\x8b\x01\x9f\xc9\x92\ +\xc8\x82(\xa1we\xe1\x92\xaa\x95\xf2\x16~\x12\xc8\x02\ +\xb9I\x80m\x177\x95\x12\xa9\x89\x0fkV\xb4+U\ +%\xc0Z\xbe\x1c\xc9{Zpb\xe0\xbc o\xc7\x03\ +\xdb4\x08]\xed<\xd4?%F\x9a\x85\xeaZs^\ +\xe4a\x08e\x06\xf2\x07\x1e\x8a\xa7\xe7\xa6j\x91\xac\xd2\ +\x0c\xb8\x80)\x0b~J1{\x0bJ\x10\xfch%\x0f\ +\x9e\xa2A\xa7\xc0\x0ds\xb6\x80T\x82\xa9\xb4J\x84\xec\ +2\x0f\x22\xf2\x22\xc3@\xff\xf0\xd2\x86\x10\x95\xb0I\xef\ +u\xb6\xa4PJ\xae\xba\xf6\x80\xec\xd78X\xf9\x5c\xb7\ +Xl%\xad\xbd\xc0\xb3:9\x18b,\x8d\xcf\xbb\x8f\ +zOKz\xa8J'\xfa\xbf\xd3 \xf4\xd6\xceC\xfd\ +\x83?a_\xbe\x02\x03@wb0\xa0)\x1d\xae\xa2\ +P\xaa\x92\x17\xf8\xeb\xf6\x14\xc4]\xfal\x1c\xbbg\xc3\ +\x97z\xd8%<\x8ep\x12'Kd\x0f\xd0\xc5\xc9x\ +\xd68\x04y\x13\xd30\xff\xe0L\xc8]\xab\x85\x0e\xfd\ +{\x9d\x0c\xc9je\x90\xfe}\x96\xe4\xd6\xec\xe3F\xcf\ +!\xf4\xa98-\xca\xed\xd9\x8f\xcc\x13\xf8C6'V\ +FK\xe4\x8a\xf0\xa3;\x0f\x0d\xe3\x18B-y\x18\xe7\ +\x1f\xae\xf4\xb2(\xb3jx\xdf\xebl\x91\xee\xb1d\x8f\ +\x93\x0e\xaf\xa4(p\x01\x87K\xbb\xf6\x22\x9d\xeb\x88\xbb\ +H\xac\xfb\xfa\x08\x16\x91\xb6\xe1\xb0\xa35[XqU\ +$6\x9d\x1b39\xe3 t\xb1\xf3P\xfft\x5c%\ +\xaf\xb7\x8b\xa3t\x5c}ZT+M\xb91\xae\x1e\x88\ +\x86\xc2?.\xe2\xe0W\x22\xfe %H9\xac\xf3\xa4\ +\xe0\x18\x86\x85\x82S\xbcf`\xc85\x8d\xc2\xeb\xcbB\ +\x06E \xfc\x0aW\xac\xe5k\x0cqZ\x1dG\xfa\x87\ +\xb5\xc9Bv\xf9\xe2\x8e\xf9^g\x0b\xda]\x85o+\ +\x9fbt\xb8\xeaZi*\xd1o\x0bM\x976N\xbe\ +\xb0\xe0\xeb\xff\x04\xe6p\xae\xd9?q95I\xd3\xc9\ +Kp\xbeH\xbd/\xbd{\xadJ\xf3 \xff\xe0 \xc6\ +\xb91s\xd4\xefu\xb6\xb0`\x92#\xd9t:\xebg\ +\xd3\xe4W)I\xd4k\xe9g\xf6\xa8J\x88\xf3\x5c\x94\ +\xb4\xb7\xcd\x07\xba\xd1\xd0\x8f\xeb8\xd9A?s\x1e\x82\ +|\xc4y\xa0\x7f\x80\x924\xbfZ\x95\xe7\xb5\xf7:[\ +\xa4)\xe9StQ\x15.p\xb0\xe8\xc6\xb6\xc3'\xef\x9d\ +\x0b\x10\x98\x81\xc9\xe9\xb1\xbe\xa66I\x1a\xd8\x9f8O\ +\xd5\xfd\xd2\xfb\x0f6\xc9a\x8c\xbf\xbeJ\x84\xa1\xf9N\ +\xe5\xd3?1[x:\x97\xea\x05a\xc6\x9b\xe4\xcc\xf8\ +\xda\x8a\xf6G\x07=\xbd\xa6\xbc\xce\x22Q\x87x\xc2)\ +\xc0\xd3\xb2+0\xe0.\x8d\x06\x96\xe6\x17E\xeauT\ +\x9a\x86\xa0\x8c\xf3<\xd01+\x91\x04\x089zVb\ +4\x98\xcf2J7\x89`\xd9\xafOQd\xa7\x95c\ +\xc2\xa8\x0a\xceS\x9dU'\x8eoh*F2u\x89\ +\x82\xc1f\xf0@vZ|\xb6D\xe9!\xc1\x16b\x8a\ +x\x02.\xb46(\xb1z\xd4NA\xc8\x9c\xef97\ +\xf5Z\xcf=\xa2^\xcf\xc8\x16\xf7\xf1^gK\xd0%\ +FN%\xb8\xed\x18\xf0\xf6\xf9&/\x1d\xe9\x11\xf5\xfc\ +\xcd\x8c\x99S[\x9e\xfb\xdc\xe7\xcf\xb2K\xe8\x8bJ6\ +<~O\x06$p\x9c\x81=(F|h\x87?\xe9\ +4\xee\xd5\x89<()\x9dT\x0dd\xd9X\x08J\x8e\ +M\xca>\xce\xfd\xddC\x10\xfb/\xb3\xa4\x85C\x18\x0d\ +$\xbeQ\x81\x13(\xc3\xc1PF\x19\xac\xd3\x9a\x1d\x08\ +\x0d\xdd\x87\x98\x05;3(r9(\x9d\x10r\x9eZ\ +\x1c\xc2\xdc\xdf\xcf\xc2\x0c\x87x'.\x8ej2\xdc\xa3\ +\xf6i\x1f5\x0a\xbbx\x7f\xc9\x8e-\xb5\xc8\x8dr:\ +\x0cT#cW\xc5F\x15\xc42S\x13c\xf8\xea\xf0\ +\x9b\xd2!\x09\x11\x8d\xc0\xa0\xea\x99fKR\xcc\xbf7\ +7W\x85\xe5\xfe|l\x87\x9fT\x9bB\x90;)i\ +fv\xf6\x94\x82\xe2n2\x98_\x10\x1f'n'9\ +\xe9\x10=\xea\x05\x9b\x87\xa9$=h\x90Q\x1d\x9f\x9b\ +s\xf4\xe0\xe2\xa8\xd2\xa5b\xb3R\x14],\xe3\xf4Q\ +\xd1j\x87\x93kX\x821Ib\xf3\xde\x09@EH\ +<\xd8\xa1\xef\xff\xdf\x7fu]\xe4\xa9\xfay\xeay&\ +\x01\x02\xd2\x8e\xc7B\x84@8\xefP{7\xea\x16\x91\ +\xa9\xdd\xc5%F\xb1\xb5{\x85\xe4\x81\xa0\x09\xa7p\xdf\ +I<\xf5:!\x1fR\xda\x80D\xabP=\xd4\xd5\xdb\ +\x8d5\xa0v\xdb\x89gl\x8bS) \xd0\x18\x09\xab\ +(\x05\x10G3\x89\xef\xbd\xfa\xd3\x9dM\x9d\xecK8\ +\xe0Q\xcc1s\x8d\xbdO\x80\xac\x00\x1d\xa71P\x08\ +\xc3\xcc\x02\x9eAtv\x05~\xe208\x03\xf5\x0b\xb5\ +\x92\xd9\x8e\x9av\xf7Gk\x11\xf0\x09\xd8\x83{M\xbd\ +\x8f\x0c\xd6Hl\x8c\x14\xe1\x5c\x22\xb2\x80\x93 f\x9c\ +\x17\x92\x89\x81.\xfeX\xb1\x16\xe1A\x1e\x87\x1a0'\ +\xf1\xcb\x83\xf5 Y\x92\xbb\xe8N\x8a\xf1\x1e\x10\x8e\x83\ +\xaa\xb4\xe6\xc8\xb8\xcftU\x84w\x846\xdeC\x86@\ +h\x0be\xb7{\xad\xc6\xf9\x97\x08\x91J\xd074h\ +\xb3E\xda\xf0\xa0\xed]\xc3\x18P\xaa\xcc\x1fo\xa6\xca\ +@,\x03\x0a\xcf\x97\xbe\x8e\xfa\x9c\xdaX%\xf2\xa2\xa1\ +\xc2-\xafF\x10\x10x\x85Vv\xeb3\x8b\xf2\xaf\xc7\ +y\x15(\x87\xcf\xca\xc6\xb2+ar\x1a\xdbU\xd1n\ +\xc4P\x80\xae#5D&G\xd5.\x11\xbf\x97hd\ +\xf1h%\x95,\xb2 >\xe3\xd6\x9ft\xb4\x0bQ\x02\ +{1\x16\x87\x89\xfd{.\x11\x91\xc1\xf8 \x86|\x9f\ +%\xc0?\xb2+\xd0\x07:B(\xdan\xe2o\xae\x92\ +5Gtv;\xd4\xc4;\x91\xc8\xfbG.\x88\x9d\x83\ +\xdb\x83\x1b\x02X\x8e]\xca\x1alB(\x0c\xa1\x08L\ +\x1e\xcee\x17\x17\xaej\xd2\xdc\x8bg\xbb\xea\x95\xa0\x80\ +,\x9fS\xcd\x8dIj5\xf5\xb0R\x13\x0d(x\xa8\ +\x16\x99\xc3\xc7Q\x96wQ\x10\x0e,J\xa8\xc8\xb9\x82\ +\xa0\xa1\x08\xd4U7VR\x91\xd8\xa2\xf2\xd7\x89\xb2\xc2\ +\x95#\xd9\x03\xe8\x94\x08\xd0)\x0c\xcd\x05\x83h3<\ +\xcbE\xeb\x01\xa9s\x87\xbb\x14\xa8\xa6\xe1\xc6a\xfbU\ +\xf9\xc9\xde+\xa0\xb3\x22%{\x10d7F\x9ePL\ +z)\x99\x85\x02\x81.8\x00~\xd9\xfbZ\x16\x00\x0e\ +U^\x0f\x0f\x96|k\xa7\x90\xe6\xf7l\xb7\xec\xc2B\ +.\x8e\xf7\x1fX\x18^\xb9\x1c\xc3=C_Ix\xfa\ +\x8c\xd2\xb2}\xef\xfc\xd7*)\xe2\xbaR\xe9\x17\x81U\ +\x08\x0b\xe0\xd9\xd8\xe4K\x19\xc5\xfbI\xdb:\xb2\xef\x98\ +\xbf\x9c\x84@\xd9-\xd20^\xaa\x1c\x81\xe9\xea\xc1q\ +\x91\xf8\x80\x91BN)\xaf\xc4^\xda\xa6\xda\xf8\xa4\xda\ +Ix\x1b\xa7\xf6\x1e\x00\xf3Z\x0a9\x0c\xf8^X\x1a\ +[\xd6\xcaa\x7f\xb1\x95O\xf3^\x03\x9a\xb9\xb8\xa2\xb9\ +\xb3\xc6\x10M\xdcr\xa4>\xa0\x07\x08\x921\x9c\xb5\xf0\ +gj\x03\x11\xa1~_b\x13\x17\x0c;;\xf9cE\ +\x1fG\xbd#0\x82|y\x13e\x93x\xbb\xf8\x04Q\ +\xf6\x0eC\x93\xbf\x06\xdf\xfa\xe2\x92\xaf\x91\xa3.\xf5^\ +\xd2\xb0\x05\xe0M\xdb\x8eX\xa5)\xf9\x8aP\xfa\xc9&\ +\x98\xa9\xb4\xa9\x12p\x88\xaar\xa4R\x80\xb2\xdc\xf9\xe0\ +\x90\x81~\x93\x90\x0e\xf8B\xa5\xc8\x81\xb2\xf5\xfb\xf1D\ +w\x1c\xecF\xc2\xdc\xdd\x82\x0b\x9a\xf6%\xe6][\xea\ +t+H\x7f\xa2\xa5\xb3R\xceU4\x13\x005\xd4]\ +\x83\xc8\x8d_A\x94,\xa9\x89\x07\xac\x8a\xac\xd4\xcf+\ +*!\xf1R\xb5\xcb\x8f7\x1d\x13\xd6N\x90\x22\xa3J\ +\x16\xc6\x81\xe4\xc27\x10\x88O\x91\x9bp\xa9$t/\ +'\x85\x99\x11e\xb9\x9c\xeb\xc4\xd7\xa1\x04\xa5J\x09D\ +l\xaa\xc4\xe3\xa6\x91G\x86v\xb8\x18\xf9\xe4\x85\xb7\xc0\ +\xb4&ElUp\xfd\xe0\xd2\x14U\xa8\x82th\x97\ +\x8b}\x8f\x1e\xc8OIm \x9fv\xe1\xc3\x09Z\x97\ +h\x02d\x89\x0c\x05\xee`a\xa8\x18\xd3\x99J\xace\ +\x17\x9e\x5c\x12PT\xe9\x0a\xd2%n\xca\xa0$>\x98\ +\x96\xdd\x01a\xd7=\x87\x08\xd7\x01o\x85\xc5\x0b\xa2\xf3\ +\x95\x84\xab\xfcm\xdc\xaa.\x83\x80\x98O\xe6\xd7w\xf1\ +0\xddn\x0f\x16\x09L\x18\x10]\xf7#\x82\xae\xe4\x8b\ +\xa0\x8d\xdf.\xd4Q#\xe0k\xe7P\xa4\x1f \x11]\ +4\xcf\x80\x08\xe8\xcf\x99\x1bb\x91\x9b\xd4\xccET\xa8\ +\xc5\x0aw_\xea\x0aE\x1b\x08\xd0\x9d>\xab\xda\x1a\xca\xce\x0au>\xfa\xba\xe9\xd8\xcc\xc8\ +g[\xd6\xf1\xbd\x88\xb3\xe4\xf3M\x81\xb7\xcd\xfeR\x8d\ +\xd3\xec\xd0&\x01\x17\xcb\xe5\xcd\xec\xa8\x92\x0bl\xf8\x86\ +\xa1?\x0dJlS\x19\xd1\xdf\xc6\xe97\xdc\xd5O#\ +\xb9v\xd4\xc4\xe3\xae\x80\xcd]^\xe1\x8c\xa0`\xf3\x07\ +\x9c\x7fkVgy\x8eP~\xedx\x0d\xd2/\xa6\x87\ +\xedR\x93g\x93N+\xe9\x16\xba\xd03KI\xe3\x88\ +7\x1a\x14+V\x14Sq\x85\xa6\xce:G\xe7\xd0\xa6\ +\xcb\x0a\x98\x98\xdc\xb8G\xbf\xc6\xd1\x8c\x03\xfbay\x02\ +\xc3h!N?\xb4\xfd\xe3\x96\xe3d\xfd\x01j\x85\x83\ +\xa3\xeb\xd9\xd6Y\x9e)\xcd\xa0\x9f+\xcfi{\xcd\x86\ +(\x83\xb0\xc6\xe9\xd0\xb1\x07;\x8dM\x98{\xcc]\xad\ +\x01,\x1f\x0d1\x84\x22\xfa\xa2\xdd\x0c{gpb\xda\ +\xb0\xc4\xe5\x99\xf5/\x8b\xe4\xba+\x1f\xf4gf4$\ +\xd3<\x17\x95\xc3\xa8\xeb%\xfa\x0e\xa0\xc70\xbe\x9f\xa5\ +3\x9b\x9d\xf1\x84\x8f\x06\x87f\xf1\x88\xf3\xd4\x1aZ\x09\ +\x115r{\x91\x81\xb8\xdc\x83\x0fG\xd0\xa6Q\xce\xa1\ +\xbf\x90\xa3\x01\xd0\x0dD]\xaa\x9f5\xf1\xfd-\xf8\xba\ +\xb9,\xcd\x00h\x03q\xf9$\xe9\xef\xc2\x19|5\xce\ +x\xdfF\x03\x99\x8b\x84\xf4\xd1\xe7\x9d\xfdK\xfdY\x1e\ +\x0d!FQ?\xda\x15\x9f\x99\xf0=\x9f\xa7Klr\ +X_k\x14n\x0d\xedX\xf1J6/\x9cX\xae:\ +?\xd6\xa7\xb9p\xa5\xe6\xfd\xb6\xc6K\xc8q|\xf8n\ +\x07\x03V+\xce\x9e\x8f\x8b\xcf~\x03\x966\x0eML\ +VLs\x91[ELV\x9fv\x87w\x99\xd7JI\ +\xb3RL\xe7\xf8l\x8bZ\xd1\xddK\xa7\x82\x1cd%\ +\xea\xe1\xc76X\xdf\x0a\xd9m\xd3a2\x7f\xafO\xcb\ +d1\xb8k\xa5\x0c\xde8\xbc\xe0\xc5z^\xc0O\x08\ +\xf5\xe4\xcbW\xf4l&k{\xd6\xe2 \x0b\xd1\x8f\xb5\ +k\x89<\xdbK'\x96\xab\xe6wK\xf2?j\xf7?\ +F\x83CD\x14\xf8\xeb\x01\x22Il,v}?\x96\ +\x90\xf0Y\x19\xcc\xce\xe30\xe5\x98\x0e\x97\xa1CCc\ +\xf0\xc0n\xdb\xd0\x8eyh&t\xb3ZE\xe7\xea|\ +\xb6\x17\x97f\xc2\xe7\xe4\xf9k\xf8\xa5\xf0\x8a\x9f}\xfd\ +,\x16\xee\xd8#\xb4;\xb6\xf1\xf3xS\x9afy\xd3\ +\x0e\xd4,\x99=\xb4\x97\x98\xa7Ch\xf8\xb4iO\xfc\ +\xd4\x9b\x8d\x86\xe4b\xacf\x96_\xebr\xecY[\xe8\ +k\xb2\xf4\xcf\x9b\x99h\x1c'\xcb\xa4\xa7+\xf9YJ\ +\xd3{\xd4#\xb5\x93\xa1\xec\xa4\x15\xd2?3J\xefU\ +\xa8\xf2h\x94f\x88\xf6\xae\xe7\xdbmD\x08\xf4\xaeN\ +\x86\xe2\xddd\xbf\xdc\x1c:\xbc\xdf\x82\xff\xfb\x1e\x15\x06\ +z\xae,\xad\xc4\x10\xfd\xcf\xe25\x8b\xdaD\xa5\xea\x05\ +\x07\x8c\x0c\x9d>\x9b\xc5\x1b\xb3\xb4F\x96O;\xf5!\ +\x0e\x86rl\x90\x8e\xb8>]a\xf6\x1eC\xb8\xc7\xe3\ +\x92J$\xcbU\x042[\xca!\xc8\xe1\xae\x1f\xb4\xec\ +\x80G\xf7l\xdf\xe39.\xd3'z\x8aN/\xc6\x97\ +\xd4\x87\xc6v9\xb7O'c\xa7Z\xeb\xbe\xc7\x86\xf1\ +:\xad\x5c4\xed\xf7x\x0dC'zg\x83*\xd2l\ +)AZ[\xb4\xf1\x97k\x93\x9b\x1b\xef\xca\xf7\x8fF\ +\x8d'Y/\xfe\x0b\xe9\x05\xc2t\xf4*6\xc3\xa0Q\ +\x04B^\xaf\xcaT\xd1\xbf\xd7\xff]\xff\xf5\x9f~\x00\ +Z_\xf7d \xbc\xc6\xc5.\x1aX_\xb89 P\ +\xef\x885\xe9{\xa4\xb6y\x0f\xfd\xbf\xfdp\xde\xfc\x85\ +\xea\x1f\x1f\x0d\x09H\xf8\xc3\xa9kGI\xca\x19\x90\x8b\ +\xff\xf6\xe3~\xb8\x0b\x89\x18\x931\x1dOK\xf8[\x85\ +\x81|\xd5S\xf0\xcf\xcf\x1e\xfe\xb5\xfc?\x80\xc7\x05\xe8\ +\x0aendstream \x0aendo\ +bj\x0a\x0a15 0 obj\x0a[/I\ +ndexed /DeviceRG\ +B 255 16 0 R]\x0aen\ +dobj\x0a\x0a16 0 obj\x0a\x0a\ +<<\x0a/Filter /Flat\ +eDecode\x0a/Length \ +336\x0a>>\x0astream\x0aH\x89\ +\xb4R[\x95BA\x0c\xab\x05,`\xa1\x16\xb0\x80\x85\ +X\xb8\x16\xb0\x10\x0bX\xc0B,`\x01\x0b\xd9d<\ +l\xffz\xa6M\xf3\x98\x99\xd4\xce`\x863\x9aq\xbb\ +\xddY\xccrV\xb3\xee#v\x80\x01\x07\x1a\xb8\xb3\xdc\ +!\x86\x1cj\xe8\xaejG\x18q\xa4\x91\x834\xde1\ +\xc6\x1ck\xec\x02\x17:XY\xce\xb4{\xa7\x85]\xee\ +j\xd7=\x9b\x0eXp\xa1\x85\xcb\x22\x8f\xc4\x92K-\ +]R\x99\x15V\x5ci\xe5p\xcc\xea\x1ak\xae\xb5v\ +)WCH\x87eh\xb9\x0az)\xd0\xc1\xca\xb2+\ +\xa8}\x8a\x80\x00W_\xce\xa6#A\x81\xae\xdc\xb0\xc8\ +\xa3\x08\x09r\xd4\x87Tfa\xc2\x82]3jV\xb6\ +cG\xf4\xbb\xdeTR\xc0B:,]\xabz8\xd8\ +\x81\x0e\x96\xeb\x5c\x9f\xd3\xa7D\xbaFF_\xce\xa6\x93\ +(\xc7\xd7\xc8\x0d\x8b<\xd2\xa2]\x9b\x9b\x0a:[\xa3\ +]\xd7\xeb\x1d\xbaZ;\xdc\x10\xaa\x10E*i7\x93\ +\xf2@\x81\x0b\xedF\xd4i\xf4N\xcbI,FF_\ +\xce\xa6\x93\xed\xf3\x1b|\xf2\xf6I\xd4'3\x9fT|\ +|\xf7q\xd6\xc7;\x1fw|\xf4\xfb(\xf4\xd1\xe0\xc3\ +\xd2\x87\x87\xcf%\x1f,\x9fi\x9f\xfev\xbb\xdd\xef\xf7\ +\xc7\xe3\xf1|>\xaf\xebz\xbd^\xef\xf7\xfb\xf3\xf9|\ +\xbf\xdf\xdf\xef\xe7\x7f\xab\xbf\x01\x00\x10q\xabc\x0ae\ +ndstream \x0aendobj\ +\x0a\x0a6 0 obj\x0a[/ICCB\ +ased 8 0 R]\x0aendo\ +bj\x0a\x0a7 0 obj\x0a\x0a<<\x0a\ +/Subtype /Type1\x0a\ +/FirstChar 32\x0a/F\ +ontDescriptor 10\ + 0 R\x0a/BaseFont /\ +ZSHTRV+NuevaStd-\ +Cond\x0a/Type /Font\ +\x0a/Encoding /MacR\ +omanEncoding\x0a/La\ +stChar 121\x0a/Widt\ +hs [129 0 0 0 0 \ +0 0 0 0 0 0 0 0 \ +0 141 0 0 0 0 0 \ +0 0 0 0 0 0 0 0 \ +0 0 0 0 0 0 418 \ +0 0 0 0 0 0 218 \ +0 0 0 0 0 0 0 0 \ +0 340 387 0 0 61\ +1 0 0 0 0 0 0 0 \ +0 0 348 376 310 \ +377 324 241 354 \ +406 192 0 0 189 \ +629 414 364 0 0 \ +297 284 263 399 \ +347 544 0 348]\x0a>\ +>\x0aendobj\x0a\x0a17 0 o\ +bj\x0a\x0a<<\x0a/Type /En\ +coding\x0a/Differen\ +ces [24 /breve /\ +caron /circumfle\ +x /dotaccent /hu\ +ngarumlaut /ogon\ +ek /ring /tilde \ +39 /quotesingle \ +96 /grave 128 /b\ +ullet /dagger /d\ +aggerdbl /ellips\ +is /emdash /enda\ +sh /florin /frac\ +tion /guilsingll\ +eft /guilsinglri\ +ght /minus /pert\ +housand /quotedb\ +lbase /quotedbll\ +eft /quotedblrig\ +ht /quoteleft /q\ +uoteright /quote\ +singlbase /trade\ +mark /fi /fl /Ls\ +lash /OE /Scaron\ + /Ydieresis /Zca\ +ron /dotlessi /l\ +slash /oe /scaro\ +n /zcaron 160 /E\ +uro 164 /currenc\ +y 166 /brokenbar\ + 168 /dieresis /\ +copyright /ordfe\ +minine 172 /logi\ +calnot /.notdef \ +/registered /mac\ +ron /degree /plu\ +sminus /twosuper\ +ior /threesuperi\ +or /acute /mu 18\ +3 /periodcentere\ +d /cedilla /ones\ +uperior /ordmasc\ +uline 188 /onequ\ +arter /onehalf /\ +threequarters 19\ +2 /Agrave /Aacut\ +e /Acircumflex /\ +Atilde /Adieresi\ +s /Aring /AE /Cc\ +edilla /Egrave /\ +Eacute /Ecircumf\ +lex /Edieresis /\ +Igrave /Iacute /\ +Icircumflex /Idi\ +eresis /Eth /Nti\ +lde /Ograve /Oac\ +ute /Ocircumflex\ + /Otilde /Odiere\ +sis /multiply /O\ +slash /Ugrave /U\ +acute /Ucircumfl\ +ex /Udieresis /Y\ +acute /Thorn /ge\ +rmandbls /agrave\ + /aacute /acircu\ +mflex /atilde /a\ +dieresis /aring \ +/ae /ccedilla /e\ +grave /eacute /e\ +circumflex /edie\ +resis /igrave /i\ +acute /icircumfl\ +ex /idieresis /e\ +th /ntilde /ogra\ +ve /oacute /ocir\ +cumflex /otilde \ +/odieresis /divi\ +de /oslash /ugra\ +ve /uacute /ucir\ +cumflex /udieres\ +is /yacute /thor\ +n /ydieresis]\x0a>>\ +\x0aendobj\x0a\x0a18 0 ob\ +j\x0a\x0a<<\x0a/Name /Hel\ +v\x0a/Subtype /Type\ +1\x0a/BaseFont /Hel\ +vetica\x0a/Type /Fo\ +nt\x0a/Encoding 17 \ +0 R\x0a>>\x0aendobj\x0a\x0a1\ +9 0 obj\x0a\x0a<<\x0a/Nam\ +e /ZaDb\x0a/Subtype\ + /Type1\x0a/BaseFon\ +t /ZapfDingbats\x0a\ +/Type /Font\x0a>>\x0ae\ +ndobj\x0a\x0a20 0 obj\x0a\ +\x0a<<\x0a/ColorSpace \ +15 0 R\x0a/Height 6\ +3\x0a/Filter /Flate\ +Decode\x0a/Width 49\ +\x0a/Length 561\x0a/Bi\ +tsPerComponent 8\ +\x0a>>\x0astream\x0aH\x89\x94\x96K\ +\x92\xc4 \x08\x86\x0f:\xbd\xe9\x1c\x06\x0e\x83\xb3\x90\x93\ +\xf4J\xaf3F\xc0\xb7\x19;]V\x85\xb4\x8a?\x9f\ +\x881\xdeO \xa6\x10\x8f\x1f\x847\xfc\xa4\xf6Bd\ +w\xd0\x1fR\xdf\xda.\x00\xa2\xf0\xe4\x0e\xd2\xec\xab\x1f\ +x\x0a+\x7fNf\xdd5?y\xc3\x1fU\xf0\xd4\xee\ +q\x9f\xa5\x82\xa7\x96F\xa5\x98\xb8\x8d\x82\xed/>*\ +X4w\xa0\xa0k\xf1T\x81\xb5\xef5\x8cqw1\ +D\xc7{\x15\xae[!V\x9e;>\x1d\x87n'\xf0\ +e\xbb\x8b\xc9C\xed\xd3\xac\x0fc\xf7\xb0}\xff4\xef\ +-\x07\x18\xb7\x99\x97\xef\xf7<\xb4\xe2\x10l7\x9a\xaf\ + \xdfY\xbc\x8d\x1c.\x1f\xb5\xd7mS~\x97ye\ +\x96\x99\x83\xf4\x89$\x96\xe8\xbf\xdf^\x9d\x9e\x86C\xd9\ +\xbd\xd9fU\xc1.\xaf\x94\x11&\x0e6@l1\xd1\ +\xfcf\xa3\xe7\x80\xc5C\xb6U\xf6\xbbI7\xe89p\ +\x8d\x91\xacU:\xb5\x1ez\x0e\x5c\x82t\x95\xd8\xa4\x01\ +^]\x05Vu\x85\x83\xfa\xa6\x12oSd\xd4G\x0e\ +\xea\x81{\x1b5z\x0b\x0e\xb6P\xb3\xe5\x94 %\xb2\ +\xe0\xa0\x03\xd8\xec\xd1\xc3\x94\x0f\x8d\x87\xb2\x83\x129\xe5\ +\xc3s>\x98\x07\xb3\xcd\x03h,\xa6|\x984D\xd5\ +`Q\x1a\xf3!\x14\x0f-\x97\xd6\xc3u\xc2\x01\xf7\x1c\ +\xdc\xc0A&\x80=\x07\xdd4USP\xd2;\x0e\xa8\ +\xaa{.\xb0\xe7`\x03\xba|p\xb0\xe7P\x12Hl\ +_\x14\xed8\x98jj\xcf(\x80=\x07\xf0\x06\xa2\xc9\ +\xf0\xfb\xdd\xf0\xc0\x90\x0f\xcd)\x90l\xaa+\x17\x82\x8e\ +\x1d\x8f\xf5\x81\xca\x08;\xa3r\x16k\xa2\x18\x8b\xf6l\ +\x95\xbf\xd2i\xaf=d_\x95\x13\x94\xa7\xfa\xd0$|\ +\xa3\xc6\x08\x85E}\xc0\xb6\x86\x97]\x95\xa0\x22\xc1\xb2\ +>\x00\xd6\x0a\x81\x9b*7\xd68;\x0c\xbe\xa8\xd32\ +\xc0\x9f\xd7iWbxV\xa7\x8d\x01\x07Z(\xb8V\ +u\xba\x8f\xfb\xa8q\xac\xd35\xee\x85C\xd7\x82[\xac\ +TG\xf0B\x01n\xeeK\xe9>\xd5\xd6\xe6\xaa\x80\xbf\ +\xbb/%\xae\x9f\xf3\xfb\x92\xa7\xe7x\xd7<\x81\xfe6\ +\xbb\xbb\x17\xe5\xbbA\xd2\xc2\xb1\x7fv\x1a\x90\xeeY\x7f\ +s~\xf4\xcf\xb8\xda\xc5Mu\xf2`1\x96Y\xff{\ +,\xee\xa7\x97\xfb\xbf\x01\x00\xad\xb87H\x0aend\ +stream \x0aendobj\x0a\x0a\ +3 0 obj\x0a\x0a<<\x0a/Col\ +orSpace 15 0 R\x0a/\ +Height 52\x0a/Filte\ +r /FlateDecode\x0a/\ +Width 74\x0a/Length\ + 160\x0a/BitsPerCom\ +ponent 8\x0a>>\x0astre\ +am\x0aH\x89\xec\x92\xc1\x0d\xc30\x0c\x03\xb9\x8f\xf6\ +\xd1>\xdcG\xfbx\x9d\x92n\x80\xa2\xfd\xa9q?\x85\ +\x0ev,\xe7A\x882\xd7\x1a\x86a\x18\x86\xdf\x92d\ +\xfa(m\xa8&\xa9\xd2\xff*\x9bJ\x01$\x92\x00$\ +\x13L\xdfT3\xc0\xa6\xd41\xd4A\xbd\xac\x14m\xd3\ +l\x93-\x88\x903}\xb1m\xc2\x17z\xa1\xabT`\ +\x5cUw\xc4\x9f\xc4nAM\xed\xdexO\xec\x0cE\ +\x9b\xd2\xe3\x97\xa2\xb5\xba\xb3yW\xd2\x98C[8\x96\ +\xc7Z\xbc\x81\xf3S\xe5>\x0astream\x0aH\x89\x8cV\ +=z\xe36\x10E\x95\x93 \x0d\xa6In\xe1\x0ah\ +\xc2ir\x85MC\xb80\xd1HS\xe4\x0aq#\xd0\ +\x05\xcdm\x8cSH\xc5\xdaM\xe2\xca\xbcN\xde\x00\xb2\ +$j\x95o\x03|\x82@af\xde\xfc\xbc\x01\xb5,\ +\xb7Fr\xc68\xc3\xd6\x1a\x0c\x9bn\xca\x5cH\xab\x94\ +q}6\x83\xf7}0\xce\x13\xd5\x03\xc3\xb7\xc4\x0bY\ +g\xc20Xc\x9d\xcf\x0fA?\x960U\xe3\x86|\ +\xe7\xe0\x8b\xad\xb3\xba\xe3\x87\x87\x87\x07\xdd\xa9\xad\x1b\x0a\ +\xddP\xe5\xba\xba\x92\x1d\x82\xd3\xef\xa3\xc2\x0d\x84\x10`\ +T}:\x0d\x17\x8f\x1b\x95\xa7ky\x09\x86\x9cJ;\ +\xd39\x8bh\xb1\x8d\x93\xad\x08\x05\x1e\xc9\xb5\xfcp\xb6\ +lB\x1fMD\x0c\xa6o\xcf\xc2\xe6;\x8f\x9e\xad\xf1\ +C\x0c~\x8a\x04\xffC\xb7\x09\x83\xd9`Gg\xaf\xd6\ +\x03\x89\x19v\xee.\xe7ED\x96\x8c\xaczc\x07\xe3\ +wY#w\xddw\x1e\x15T\xaa3\x1d\xe4\xd9\x90,\ +\xcee\xd8\x8e\x88+n\x80i\xc2f\xbb\x92/p\xd2\ +v&\xd8\xb2\xc0cC%\x98\xa1V\x1cK\x9fu\xf5\ +\xc3\xaa\xd4\x85$t\xc6\xd9I\x16R\x05\xa2N\x11\xfc\ +\x06\xa9\xa6\xfb\xde\xa7 \ +\xb4\x8d\x7f\x874\xbc\xb0(\xa5+Y\xb1\xf0\x92\x13\xa4\ +\x01\xe0\xb2\xfaw\x87\x89\ +\x7f\xcc2\xbf\xff\xc3T\x18\xf6I\x93\x0d~\xe1q\xd1\ +\x9aC\xe1\xc8Q\xc4\xf5\x9a\x86~\x08\x89\xa9\xd2H\x94\ +\xf7\xd22\xcbR\x88\x19Ah\xc7\x01\x0b\x03\x86d\xbb\ +\xcco\x98\xe0\x04\xf4\x95'\xb0\x02I1\xc5\xd4\x1f\x94\ +\xf9\x8c'\xecJ\x05\x91\x92\xd2[\x92&\x0fS\xb0\xcc\ +\xb5\x02\xac\xb1\xc0g\x84S\xa4\xde\x01\xed#\xa5\x8ci\ +\xe4#k\xe1\x93h\xb2U\x9e\x8b\xdaU]\xbd\xc6\x14\ +\xa2\xca\xa8NJz\xa2\xb6\x8b\xb4,\xc9\x11\xa7h\xbe\ +\x10\xbfQqn(\x90\xad.j\xac\xa2>\xa845\ +=\xccj\xbbe\xf5t\x11\x88tj\x9b\xb5\x06\x86\xb5\ +vT\xeb\xa1\xbc\xa3*E\xcd\xe2\xb9\xa5?^`\xab\ +\xe3$<\x869\xa6\x08]FV\x90\xd3\xa2\xb9\xe1\xa6\ +P.z\xf4eK\x05\xd7\xa1\xa4\xc71\x1e\xbe\xa4\x08\ +& \xb7\xe6(R\x8c\xe1\x15\xc2\xa2\xb1\x22\x92(\xe3\ +~,\xfb\xb7?\x9eL\x8d\xac\xbdEP\x93\xb6\xbbD\ +P\xa6\x17\x13\x1f\xd3\xe3a\x7fx\x1c\x83\x06)\x8d}\ +\x8d\x88R\xa5\xce\x08\xb0\x03\x22\xde\xbf\xed1\xc7\xf4\xa4\ +\xdc\xd4\x8cV\xa26\x85\xb2F\xe0\xb2Ew=\xc5\xc3\ +~\xde\xc71\xd5\x0b^\x19Q\xd9\xaa\xf2\xa4\xdc\xbe@\ +PRu_\x9f\xc68s\xba?\xfc\x0c\x96\x12W\xfa\ +\xe8\x9dSk\xa7\xd9\xbf\xbc\xc9P\x8b\x0fJ\xe1>|\ +\xc4C\x80\xc7\x1a\x93\xf2_\x1b\x14\x09\x5c>\xc9w*\ +\x9dj\xbcS\xe2Y\xbe\xde\x93\xb6\x81\xd2YY\xfe\x99\ +\x9e\x22\xeb\x1b\xbfT\x16)\xbe5j\x91\xaa9\xe5\xa6\ +\xd4\xabbU\x85z\xd4JY\xd4\xf0\x0a\xbfr\xfa\xf8\ +\xe3%\x80\x9c\xb2PW\xf4\xc9\x0a^\x91\xd6\x08\xe5\xb4\ +\xd4\x0d\xc9\xf5k\xf6\xfa\xaf\x83\x9c|(\xed\xf4\xa6\xc5\ +\xef}jS\xf8\xfa\x1dxc\x14\xdc05:\xa9\x97\ +\xc3\x8fG\xbd6K-\xc8\xb57\xff\x0d\xa2m\xd7\xd4\ +\xfe\xaf\x86\xd6oY\x93\xe0r\xfc;\x00+\x9eC\xe7\ +\x0aendstream \x0aendo\ +bj\x0a\x0a5 0 obj\x0a\x0a<<\x0a\ +/Kids [21 0 R 1 \ +0 R 11 0 R]\x0a/Typ\ +e /Pages\x0a/Count \ +3\x0a>>\x0aendobj\x0a\x0a22 \ +0 obj\x0a\x0a<<\x0a/Metad\ +ata 23 0 R\x0a/Type\ + /Catalog\x0a/AcroF\ +orm 24 0 R\x0a/Outl\ +ines 25 0 R\x0a/Pag\ +eLabels 26 0 R\x0a/\ +Pages 5 0 R\x0a>>\x0ae\ +ndobj\x0a\x0a24 0 obj\x0a\ +\x0a<<\x0a/Fields []\x0a/\ +DA (/Helv 0 Tf 0\ + g )\x0a/DR \x0a<<\x0a/Fo\ +nt \x0a<<\x0a/ZaDb 19 \ +0 R\x0a/Helv 18 0 R\ +\x0a>>\x0a/Encoding \x0a<\ +<\x0a/PDFDocEncodin\ +g 17 0 R\x0a>>\x0a>>\x0a>\ +>\x0aendobj\x0a\x0a21 0 o\ +bj\x0a\x0a<<\x0a/Contents\ + 27 0 R\x0a/Thumb 2\ +0 0 R\x0a/Type /Pag\ +e\x0a/Resources \x0a<<\ +\x0a/ColorSpace \x0a<<\ +\x0a/CS0 28 0 R\x0a>>\x0a\ +/ProcSet [/PDF /\ +ImageC]\x0a/XObject\ + \x0a<<\x0a/Im0 29 0 R\ +\x0a>>\x0a>>\x0a/CropBox \ +[55.8366 1.32904\ + 454.04 511.205]\ +\x0a/Parent 5 0 R\x0a/\ +Rotate 0\x0a/MediaB\ +ox [0.0 0.0 511.\ +94 511.94]\x0a>>\x0aen\ +dobj\x0a\x0a28 0 obj\x0a[\ +/ICCBased 30 0 R\ +]\x0aendobj\x0a\x0a27 0 o\ +bj\x0a\x0a<<\x0a/Filter /\ +FlateDecode\x0a/Len\ +gth 42\x0a>>\x0astream\ +\x0aH\x89*\xe4254\xd4\xb3410002\ +Q0\x00Bt~r.\x97\xbeg\xae\x81\x82K>\ +W \x17@\x80\x01\x00\xdd\x16\x09s\x0aends\ +tream \x0aendobj\x0a\x0a3\ +1 0 obj\x0a\x0a<<\x0a/Col\ +orSpace /DeviceG\ +ray\x0a/Name /X\x0a/Su\ +btype /Image\x0a/He\ +ight 512\x0a/Filter\ + /FlateDecode\x0a/T\ +ype /XObject\x0a/Wi\ +dth 512\x0a/Length \ +279\x0a/BitsPerComp\ +onent 8\x0a>>\x0astrea\ +m\x0aH\x89\xec\xc11\x01\x00\x00\x00\xc2\xa0\xfe\xa9\xe7\ +m\x07\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\xde\x04\x18\x00\x1f\x7f;\xc5\x0aendstr\ +eam \x0aendobj\x0a\x0a30 \ +0 obj\x0a\x0a<<\x0a/Alter\ +nate /DeviceRGB\x0a\ +/Filter /FlateDe\ +code\x0a/Length 257\ +4\x0a/N 3\x0a>>\x0astream\ +\x0aH\x89\x9c\x96yTSw\x16\xc7\x7fo\xc9\x9e\x90\ +\x95\xb0\xc3c\x0d[\x80\xb0\x06\x905la\x91\x1d\x04\ +Q\x08I\x08\x01\x12BH\xd8\x05AD\x05\x14ED\ +\x84\xaa\x952\xd6mtFOE\x9d.\xaec\xad\x0e\ +\xd6}\xea\xd2\x03\xf50\xea\xe88\xb4\x16\xd7\x8e\x9d\x17\ +8G\x9dNg\xa6\xd3\xef\x1f\xef\xf79\xf7w\xef\xef\ +\xdd\xdf\xbd\xf7\x9d\xf3\x00\xa0'\xa5\xaa\xb5\xd50\x0b\x00\ +\x8d\xd6\xa0\xcfJ\x8c\xc5\x16\x15\x14b\xa4\x09\x00\x03\x0a\ + \x02\x11\x002y\xad.-;!\x07\xe0\x92\xc6K\ +\xb0Z\xdc\x09\xfc\x8b\x9e^\x07\x90i\xbd\x22L\xca\xc0\ +0\xf0\xff\x89-\xd7\xe9\x0d\x00@\x198\x07(\x94\xb5\ +r\x9c;q\xae\xaa7\xe8L\xf6\x19\x9cy\xa5\x95&\ +\x86Q\x13\xeb\xf1\x04q\xb64\xb1j\x9e\xbd\xe7|\xe6\ +9\xda\xc4\x0a\x8dV\x81\xb3)g\x9dB\xa30\xf1i\ +\x9cW\xd7\x19\x958#\xa98w\xd5\xa9\x95\xf58_\ +\xc5\xd9\xa5\xca\xa8Q\xe3\xfc\xdc\x14\xabQ\xcaj\x01@\ +\xe9&\xbbA)/\xc7\xd9\x0fg\xba>'K\x82\xf3\ +\x02\x00\xc8t\xd5;\x5c\xfa\x0e\x1b\x94\x0d\x06\xd3\xa5$\ +\xd5\xbaF\xbdZUn\xc0\xdc\xe5\x1e\x98(4T\x8c\ +%)\xeb\xab\x94\x06\x830C&\xaf\x94\xe9\x15\x98\xa4\ +Z\xa3\x93i\x1b\x01\x98\xbf\xf3\x9c8\xa6\xdabx\x91\ +\x83E\xa1\xc1\xc1B\x7f\x1f\xd1;\x85\xfa\xaf\x9b\xbfP\ +\xa6\xde\xce\xd3\x93\xcc\xb9\x9eA\xfc\x0bom?\xe7W\ +=\x0a\x80x\x16\xaf\xcd\xfa\xb7\xb6\xd2-\x00\x8c\xaf\x04\ +\xc0\xf2\xe6[\x9b\xcb\xfb\x000\xf1\xbe\x1d\xbe\xf8\xce}\ +\xf8\xa6y)7\x18ta\xbe\xbe\xf5\xf5\xf5>j\xa5\ +\xdc\xc7T\xd07\xfa\x9f\x0e\xbf@\xef\xbc\xcf\xc7t\xdc\ +\x9b\xf2`q\xca2\x99\xb1\xca\x80\x99\xea&\xaf\xae\xaa\ +6\xea\xb1Z\x9dL\xae\xc4\x84?\x1d\xe2_\x1d\xf8\xf3\ +yxg)\xcb\x94z\xa5\x16\x8f\xc8\xc3\xa7L\xadU\ +\xe1\xed\xd6*\xd4\x06u\xb5\x16Sk\xffS\x13\x7fe\ +\xd8O4?\xd7\xb8\xb8c\xaf\x01\xaf\xd8\x07\xb0.\xf2\ +\x00\xf2\xb7\x0b\x00\xe5\xd2\x00R\xb4\x0d\xdf\x81\xde\xf4-\ +\x95\x92\x072\xf05\xdf\xe1\xde\xfc\xdc\xcf\x09\xfa\xf7S\ +\xe1>\xd3\xa3V\xad\x9a\x8b\x93d\xe5`r\xa3\xben\ +~\xcf\xf4Y\x02\x02\xa0\x02&\xe0\x01+`\x0f\x9c\x81\ +;\x10\x02\x7f\x10\x02\xc2A4\x88\x07\xc9 \x1d\xe4\x80\ +\x02\xb0\x14\xc8A9\xd0\x00=\xa8\x07-\xa0\x1dt\x81\ +\x1e\xb0\x1el\x02\xc3`;\x18\x03\xbb\xc1~p\x10\x8c\ +\x83\x8f\xc1\x09\xf0Gp\x1e|\x09\xae\x81[`\x12L\ +\x83\x87`\x06<\x05\xaf \x08\x22A\x0c\x88\x0bYA\ +\x0e\x90+\xe4\x05\xf9Cb(\x12\x8a\x87R\xa1,\xa8\ +\x00*\x81T\x90\x162B-\xd0\x0a\xa8\x07\xea\x87\x86\ +\xa1\x1d\xd0n\xe8\xf7\xd0Q\xe8\x04t\x0e\xba\x04}\x05\ +MA\x0f\xa0\xef\xa0\x970\x02\xd3a\x1el\x07\xbb\xc1\ +\xbe\xb0\x18\x8e\x81S\xe0\x1cx\x09\xac\x82k\xe0&\xb8\ +\x13^\x07\x0f\xc1\xa3\xf0>\xf80|\x02>\x0f_\x83\ +'\xe1\x87\xf0,\x02\x10\x1a\xc2G\x1c\x11!\x22F$\ +H:R\x88\x94!z\xa4\x15\xe9F\x06\x91Qd?\ +r\x0c9\x8b\x5cA&\x91G\xc8\x0b\x94\x88rQ\x0c\ +\x15\xa2\xe1h\x12\x9a\x8b\xca\xd1\x1a\xb4\x15\xedE\x87\xd1\ +]\xe8a\xf44z\x05\x9dBg\xd0\xd7\x04\x06\xc1\x96\ +\xe0E\x08#H\x09\x8b\x08*B=\xa1\x8b0H\xd8\ +I\xf8\x88p\x86p\x8d0MxJ$\x12\xf9D\x01\ +1\x84\x98D, V\x10\x9b\x89\xbd\xc4\xad\xc4\x03\xc4\ +\xe3\xc4K\xc4\xbb\xc4Y\x12\x89dE\xf2\x22E\x90\xd2\ +I2\x92\x81\xd4E\xdaB\xdaG\xfa\x8ct\x994M\ +zN\xa6\x91\x1d\xc8\xfe\xe4\x04r!YK\xee \x0f\ +\x92\xf7\x90?%_&\xdf#\xbf\xa2\xb0(\xae\x940\ +J:EAi\xa4\xf4Q\xc6(\xc7(\x17)\xd3\x94\ +WT6U@\x8d\xa0\xe6P+\xa8\xed\xd4!\xea~\ +\xea\x19\xeam\xea\x13\x1a\x8d\xe6D\x0b\xa5e\xd2\xd4\xb4\ +\xe5\xb4!\xda\xefh\x9f\xd3\xa6h/\xe8\x1c\xba']\ +B/\xa2\x1b\xe9\xeb\xe8\x1f\xd2\x8f\xd3\xbf\xa2?a0\ +\x18n\x8chF!\xc3\xc0X\xc7\xd8\xcd8\xc5\xf8\x9a\ +\xf1\xdc\x8ck\xe6c&5S\x98\xb5\x99\x8d\x98\x1d6\ +\xbbl\xf6\x98Ia\xba2c\x98K\x99M\xccA\xe6\ +!\xe6E\xe6#\x16\x85\xe5\xc6\x92\xb0d\xacV\xd6\x08\ +\xeb(\xeb\x06k\x96\xcde\x8b\xd8\xe9l\x0d\xbb\x97\xbd\ +\x87}\x8e}\x9fC\xe2\xb8q\xe29\x0aN'\xe7\x03\ +\xce)\xce].\xc2u\xe6J\xb8r\xee\x0a\xee\x18\xf7\ +\x0cw\x9aG\xe4\x09xR^\x05\xaf\x87\xf7[\xde\x04\ +o\xc6\x9cc\x1eh\x9eg\xde`>b\xfe\x89\xf9$\ +\x1f\xe1\xbb\xf1\xa5\xfc*~\x1f\xff \xff:\xff\xa5\x85\ +\x9dE\x8c\x85\xd2b\x8d\xc5~\x8b\xcb\x16\xcf,m,\ +\xa3-\x95\x96\xdd\x96\x07,\xafY\xbe\xb4\xc2\xac\xe2\xad\ +*\xad6X\x8d[\xdd\xb1F\xad=\xad3\xad\xeb\xad\ +\xb7Y\x9f\xb1~d\xc3\xb3\x09\xb7\x91\xdbt\xdb\x1c\xb4\ +\xb9i\x0b\xdbz\xdaf\xd96\xdb~`{\xc1v\xd6\ +\xce\xde.\xd1Ng\xb7\xc5\xee\x94\xdd#{\xbe}\xb4\ +}\x85\xfd\x80\xfd\xa7\xf6\x0f\x1c\xb8\x0e\x91\x0ej\x87\x01\ +\x87\xcf\x1c\xfe\x8a\x99c1X\x156\x84\x9d\xc6f\x1c\ +m\x1d\x93\x1c\x8d\x8e;\x1c'\x1c_9\x09\x9cr\x9d\ +:\x9c\x0e8\xddq\xa6:\x8b\x9d\xcb\x9c\x07\x9cO:\ +\xcf\xb88\xb8\xa4\xb9\xb4\xb8\xecu\xb9\xe9Jq\x15\xbb\ +\x96\xbbnv=\xeb\xfa\xccM\xe0\x96\xef\xb6\xcam\xdc\ +\xed\xbe\xc0R \x154\x09\xf6\x0an\xbb3\xdc\xa3\xdc\ +k\xdcG\xdd\xafz\x10=\xc4\x1e\x95\x1e[=\xbe\xf4\ +\x84=\x83<\xcb=GTB(\xc9/\xd9S\xf2\x83,\ +]6*\x9b-\x95\x96\xbeW:#\x97\xc87\xcb\x1f\ +*\xa2\x15\x03\x8a\x07\xca\x08e\xbf\xf2^YDY\x7f\ +\xd9}U\x84j\xa3\xeaAyT\xf9`\xf9#\xb5D\ +=\xac\xfe\xb6\x22\xa9b{\xc5\xb3\xca\xf4\xca\x0f+\x7f\ +\xac\xca\xaf:\xa0!kJ4G\xb5\x1cm\xa5\xf6t\ +\xb5}uC\xf5%\x9d\x97\xaeK7Y\x13V\xb3\xa9\ +fF\x9f\xa2\xdfY\x0b\xd5.\xa9=b\xe0\xe1?S\ +\x17\x8c\xee\xc6\x95\xc6\xa9\xba\xc8\xba\x91\xba\xe7\xf5y\xf5\ +\x87\x1a\xd8\x0d\xda\x86\x0b\x8d\x9e\x8dk\x1a\xef5%4\ +\xfd\xa6\x19m\x967\x9flqlio\x99Z\x16\xb3\ +lG+\xd4Z\xdaz\xb2\xcd\xb9\xad\xb3mzy\xe2\ +\xf2]\xed\xd4\xf6\xca\xf6?u\xf8u\xf4w|\xbf\x22\ +\x7f\xc5\xb1N\xbb\xce\xe5\x9dwW&\xae\xdc\xdbe\xd6\ +\xa5\xef\xba\xb1*|\xd5\xf6\xd5\xe8j\xf5\xea\x895\x01\ +k\xb6\xacy\xdd\xad\xe8\xfe\xa2\xc7\xafg\xb0\xe7\x87^\ +y\xef\x17kEk\x87\xd6\xfe\xb8\xael\xddD_p\ +\xdf\xb6\xf5\xc4\xf5\xda\xf5\xd77Dm\xd8\xd5\xcf\xeeo\ +\xea\xbf\xbb1m\xe3\xe1\x01l\xa0{\xe0\xfbM\xc5\x9b\ +\xce\x0d\x06\x0en\xdfL\xddl\xdc<9\x94\xfaO\x00\ +\xa4\x01[\xfe\x98\xb8\x99$\x99\x90\x99\xfc\x9ah\x9a\xd5\ +\x9bB\x9b\xaf\x9c\x1c\x9c\x89\x9c\xf7\x9dd\x9d\xd2\x9e@\ +\x9e\xae\x9f\x1d\x9f\x8b\x9f\xfa\xa0i\xa0\xd8\xa1G\xa1\xb6\ +\xa2&\xa2\x96\xa3\x06\xa3v\xa3\xe6\xa4V\xa4\xc7\xa58\ +\xa5\xa9\xa6\x1a\xa6\x8b\xa6\xfd\xa7n\xa7\xe0\xa8R\xa8\xc4\ +\xa97\xa9\xa9\xaa\x1c\xaa\x8f\xab\x02\xabu\xab\xe9\xac\x5c\ +\xac\xd0\xadD\xad\xb8\xae-\xae\xa1\xaf\x16\xaf\x8b\xb0\x00\ +\xb0u\xb0\xea\xb1`\xb1\xd6\xb2K\xb2\xc2\xb38\xb3\xae\ +\xb4%\xb4\x9c\xb5\x13\xb5\x8a\xb6\x01\xb6y\xb6\xf0\xb7h\ +\xb7\xe0\xb8Y\xb8\xd1\xb9J\xb9\xc2\xba;\xba\xb5\xbb.\ +\xbb\xa7\xbc!\xbc\x9b\xbd\x15\xbd\x8f\xbe\x0a\xbe\x84\xbe\xff\ +\xbfz\xbf\xf5\xc0p\xc0\xec\xc1g\xc1\xe3\xc2_\xc2\xdb\ +\xc3X\xc3\xd4\xc4Q\xc4\xce\xc5K\xc5\xc8\xc6F\xc6\xc3\ +\xc7A\xc7\xbf\xc8=\xc8\xbc\xc9:\xc9\xb9\xca8\xca\xb7\ +\xcb6\xcb\xb6\xcc5\xcc\xb5\xcd5\xcd\xb5\xce6\xce\xb6\ +\xcf7\xcf\xb8\xd09\xd0\xba\xd1<\xd1\xbe\xd2?\xd2\xc1\ +\xd3D\xd3\xc6\xd4I\xd4\xcb\xd5N\xd5\xd1\xd6U\xd6\xd8\ +\xd7\x5c\xd7\xe0\xd8d\xd8\xe8\xd9l\xd9\xf1\xdav\xda\xfb\ +\xdb\x80\xdc\x05\xdc\x8a\xdd\x10\xdd\x96\xde\x1c\xde\xa2\xdf)\ +\xdf\xaf\xe06\xe0\xbd\xe1D\xe1\xcc\xe2S\xe2\xdb\xe3c\ +\xe3\xeb\xe4s\xe4\xfc\xe5\x84\xe6\x0d\xe6\x96\xe7\x1f\xe7\xa9\ +\xe82\xe8\xbc\xe9F\xe9\xd0\xea[\xea\xe5\xebp\xeb\xfb\ +\xec\x86\xed\x11\xed\x9c\xee(\xee\xb4\xef@\xef\xcc\xf0X\ +\xf0\xe5\xf1r\xf1\xff\xf2\x8c\xf3\x19\xf3\xa7\xf44\xf4\xc2\ +\xf5P\xf5\xde\xf6m\xf6\xfb\xf7\x8a\xf8\x19\xf8\xa8\xf98\ +\xf9\xc7\xfaW\xfa\xe7\xfbw\xfc\x07\xfc\x98\xfd)\xfd\xba\ +\xfeK\xfe\xdc\xffm\xff\xff\x02\x0c\x00\xf7\x84\xf3\xfb\x0a\ +endstream \x0aendob\ +j\x0a\x0a29 0 obj\x0a\x0a<<\x0a\ +/ColorSpace 28 0\ + R\x0a/Name /X\x0a/Sub\ +type /Image\x0a/Hei\ +ght 512\x0a/Filter \ +/DCTDecode\x0a/Type\ + /XObject\x0a/Width\ + 512\x0a/SMask 31 0\ + R\x0a/Length 14366\ +\x0a/BitsPerCompone\ +nt 8\x0a>>\x0astream\x0a\xff\ +\xd8\xff\xee\x00\x0eAdobe\x00d\x80\x00\x00\x00\ +\x01\xff\xdb\x00\x84\x00\x0c\x08\x08\x08\x08\x08\x0c\x08\x08\x0c\ +\x10\x0b\x0b\x0b\x10\x14\x0e\x0d\x0d\x0e\x14\x18\x12\x13\x13\x13\ +\x12\x18\x14\x12\x14\x14\x14\x14\x12\x14\x14\x1b\x1e\x1e\x1e\x1b\ +\x14$''''$25552;;;;\ +;;;;;;\x01\x0d\x0a\x0a\x0c\x0a\x0c\x0e\x0c\x0c\ +\x0e\x11\x0e\x0e\x0e\x11\x14\x0f\x0f\x0f\x0f\x14\x14\x10\x11\x12\ +\x11\x10\x14\x14\x13\x14\x15\x15\x14\x13\x14\x15\x15\x15\x15\x15\ +\x15\x15\x1a\x1a\x1a\x1a\x1a\x1a\x1e\x1e\x1e\x1e\x1e###\ +#''',,,\xff\xc0\x00\x11\x08\x02\x00\x02\x00\ +\x03\x01\x22\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x01B\x00\x00\ +\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\ +\x00\x01\x02\x04\x05\x06\x07\x08\x09\x0a\x0b\x01\x00\x01\x05\x01\ +\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x03\ +\x04\x05\x06\x07\x08\x09\x0a\x0b\x10\x00\x01\x04\x01\x03\x02\x04\ +\x02\x05\x07\x06\x08\x05\x03\x0c3\x01\x00\x02\x11\x03\x04!\ +\x121\x05AQa\x13\x22q\x812\x06\x14\x91\xa1\xb1\ +B#$\x15R\xc1b34r\x82\xd1C\x07%\x92\ +S\xf0\xe1\xf1cs5\x16\xa2\xb2\x83&D\x93Td\ +E\xc2\xa3t6\x17\xd2U\xe2e\xf2\xb3\x84\xc3\xd3u\ +\xe3\xf3F'\x94\xa4\x85\xb4\x95\xc4\xd4\xe4\xf4\xa5\xb5\xc5\ +\xd5\xe5\xf5Vfv\x86\x96\xa6\xb6\xc6\xd6\xe6\xf67G\ +Wgw\x87\x97\xa7\xb7\xc7\xd7\xe7\xf7\x11\x00\x02\x02\x01\ +\x02\x04\x04\x03\x04\x05\x06\x07\x07\x06\x02;\x01\x00\x02\x11\ +\x03!1\x12\x04AQaq\x22\x13\x052\x81\x91\x14\ +\xa1\xb1B#\xc1R\xd1\xf03$b\xe1r\x82\x92C\ +S\x15cs4\xf1%\x06\x16\xa2\xb2\x83\x07&5\xc2\ +\xd2D\x93T\xa3\x17dEU6te\xe2\xf2\xb3\x84\ +\xc3\xd3u\xe3\xf3F\x94\xa4\x85\xb4\x95\xc4\xd4\xe4\xf4\xa5\ +\xb5\xc5\xd5\xe5\xf5Vfv\x86\x96\xa6\xb6\xc6\xd6\xe6\xf6\ +'7GWgw\x87\x97\xa7\xb7\xc7\xd7\xe7\xf7\xff\xda\ +\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xf5T\x92I\ +%)$\x92IJI$\x92R\x92I$\x94\xa4\x92\ +I%)%\x1b,\xae\xa6\x1b-pc\x1a$\xb8\xe8\ +\x02\xe7\xfa\x87\xd6W\x12j\xe9\xe3h\xe3\xd5p\xd4\xff\ +\x00U\xa7\xf8\xa8\xb3g\xc7\x80\x5c\xcf\x90\x1b\x95\xb2\x9c\ +a\xb9w\xae\xc8\xa3\x1d\xbb\xef\xb1\xb5\xb7\xc5\xc4\x0f\xca\ +\xb3\xae\xfa\xc9\xd3\xeb1^\xfbO\x8bD\x0f\xfaP\xb9\ +{m\xb6\xe7\x9b.y{\x8fw\x19?\x8a\x82\xa3\x93\ +\xe2S?$DG\x8e\xa7\xf80\xcb\x98'aOB\ +\xff\x00\xadM\xfc\xccb\x7f\xac\xf8\xfc\x8d*#\xeb[\ +\xbb\xe2\x8f\x95\x9f\xf9\x82\xc0IC\xf7\xdec\xf7\xff\x00\ +\x08\xff\x00\x05\x9e\xf4\xfb\xfe\x01\xe9k\xfa\xd3\x8a\x7f\x9d\ +\xa6\xc6\xfc!\xdf\xdc\xadW\xd7\xfa]\x9c\xdaXOg\ +\xb4\x8f\xc6\x08\x5c\x82I\xf1\xf8\x86q\xbf\x0c\xbc\xc7\xf0\ +\xa5\xc3<\xc7b\xf7Ufb]\xfc\xd5\xd5\xbf\xfa\xae\ +\x07\xf8\xa2\xae\x01\x16\xbc\x9c\x8a\x7f\x9a\xb5\xec\xfe\xab\x88\ +\xfc\x85K\x1f\x89\xfe\xf6?\xb0\xff\x00b\xe1\xccw\x8b\ +\xdd\xa4\xb8\xea\xba\xe7T\xabAqp\xf0x\x0e\xfcb\ +\x7f\x15j\xbf\xad\x19\x8d\xfev\xba\xdf\xf0\x96\xff\x00\x12\ +\xa6\x8f\xc4p\x9d\xf8\xa3\xe6?\x82\xe1\x9e\x07\xb8zt\ +\x96\x1d_Zh?\xcfP\xf6\xff\x00P\x87~]\x8a\ +\xd5\x7fX:]\x9c\xd8X|\x1e\xd2?$\xa9c\xcd\ +`\x96\xd9#\xf5\xf4\xfek\x86H\x1f\xd2\x1f\x93\xa4\x92\ +\xaf^~\x15\xd1\xe9\xdf[\x89\xed\xb8O\xdc\x8e\xa5\x12\ +\x12\xd4\x10|\x97\x82\x0e\xcb\xa4\x92H\xa9I$\x92J\ +RI$\x92\x94\x92I$\xa5$\x92I)I$\x92\ +JRI$\x92\x94\x92I$\xa5$\x92I)I$\ +\x92JRI$\x92\x94\x92I$\xa5$\x92I)I\ +$\x92JRI$\x92\x94\x92I$\xa5$\x92I)\ +I$\x92JRI$\x92\x94\x92I$\xa5$\x92I\ +)I$\x92JRI$\x92\x94\x87}\xf5cT\xeb\ +\xeev\xd60I(\x8b\x92\xeb\x9dL\xe7^i\xa8\xfe\ +\x82\xa3\x0d\x8f\xce?\xbd\xfd\xca\x1eg8\xe5\xe1\xc5\xbc\ +\x8e\x91\x1e?\xc0,\xc9>\x01}z\x22\xea}V\xee\ +\xa3f\xb2\xcaZ}\x95\xff\x00\x17y\xaa)$\xb1\xa7\ +9d\x91\x94\x8d\x92\xd5$\xc8\xd9\xd4\xa9$\x92MB\ +\x92I$\x94\xa4\x92I%)$\x92IJI$\x92\ +R\x92I$\x94\xa4J\xef\xbe\x9f\xe6l}\x7f\xd4q\ +o\xe4CI\x10H\xd4h\xa6\xf5}k\xa9\xd5\xc5\xee\ +?\xd6\x87\x7f\xd5\x02\xadW\xf5\x9f9\x9f\xce2\xbb\x07\ +\xc0\xb4\xfe\x06?\x05\x8e\x92\x92<\xc6h\xed\x92_m\ +\xfek\x86I\x8d\xa4^\x8a\xbf\xadU\x1f\xe7q\xdc\xdf\ +\xea\xb8;\xf2\x86\xabu\xfdb\xe9\x8f\xfaNu\x7f\xd6\ +i\xff\x00\xbe\xee\x5c\x92JX\xfcCO\x87\xff\x00\xd5\x82\xad\xd7\xf5\x9b\xa83\xe9\xb6\ +\xbb> \x8f\xc8T\xb1\xf8\x8e\x13\xb8\x94~\x97\xfbW\ +\x0c\xf1;\xd8z\x94\x96\x05\x7fZ\x9b\xfe\x1b\x1c\x8f\x12\ +\xc7O\xe0@\xfc\xaa\xdd\x7fX\xfak\xfe\x91}g\xf9\ +M\xff\x00\xc8\xeeR\xc7\x9b\xc1-\xb2\x01\xe7\xe9\xfc\xd7\ +\x0c\xb0?\xa4?'Q%V\xbe\xa9\xd3\xad\xfa\x19\x15\ +\xfc\x1cv\xff\x00\xd5B\xb2\xd75\xc2ZA\x07\xb8\xd4\ +)\xa38\xcb\xe5\x90>F\xd7\x02\x0e\xc6\xd7I$\x91\ +J\x92I$\x94\xa4\x92I%)$\x92IJI$\ +\x92R\x92I$\x94\xa4\x92I%)$\x92IJI\ +$\x92R\x92I$\x94\xa4\x92I%)$\x92IJ\ +I$\x92R\x92I$\x94\xa4\x92I%)$\x92I\ +JI$\x92S\x97\xd7\xf3\x8e&\x19\xad\x86,\xbeX\ +<\x9b\xf9\xc5rkK\xaf\xe4\x9c\x8e\xa2\xf6\x83\xed\xa4\ +zm\xf8\x8d]\xf8\xac\xd5\x8d\xcee\xf7sK\xb4}\ +#\xe9\xbf\xe2\xd4\xcb.)\x1e\xc3E$\x92J\xba\xc5\ +$\x92I)I$\x92JRI$\x92\x94\x92I$\ +\xa5$\x92I)I$\x92JRI$\x92\x94\x92I\ +$\xa5$\x92I)I$\x92JRI$\x92\x94\x92\ +I$\xa5)1\xef\xac\xee\xad\xc5\x87\xc5\xa4\x83\xf8(\ +\xa4\x8a\x9bu\xf5n\xa3W\xd1\xc8~\x9f\xbcw\x7f\xd5\ +J\xb5W\xd6N\xa2\xcf\xa7\xe9\xd9\xfdf\xc1\xff\x00\xa2\ +Z\xb2\x92RG>Xm\x92C\xea\xb8NCi\x17\ +\xa0\xaf\xebW\xfal\x7f\x9b\x1d\xfd\xe1Z\xaf\xeb/N\ +~\x8f\x16W\xe6[#\xfe\x89+\x95IK\x1e\x7f<\ +w\x90\x97\x98\xfe\x14\xb8f\x98\xebokWV\xe9\xb7\ +}\x0c\x86I\xec\xe3\xb4\xfd\xce\x85e\x962\xc1,p\ +p\xf1\x06W\x02\x9d\xaesL\xb4\x90|\xb4R\xc7\xe2\ +r\xfd,`\xf9\x1a\xfe+\x870z\xc5\xef\xd2\x5cM\ +}O\xa8S\xfc\xdeE\x83\xc8\x9d\xc3\xeet\xabU\xfd\ +c\xeaL\xfaE\x96\x7fY\xb1\xff\x00S\x0ah\xfcG\ +\x11\xf9\xa3!\xf6\x15\xe3\x98\x8fPC\xd6$\xb9\xda\xfe\ +\xb5lt~\x04\x1f\xca\xad\xd7\xf5\x9b\ +\xa7\xbf\xf9\xc6\xd9_\xc5\xa0\x8f\xfa$\xa9c\xce`\x97\ +\xe9\x81\xe7c\xf3\x5c2\xc0\xf5u\xd2T\xab\xeb\x1d2\ +\xdf\xa3\x90\xc1\xfdio\xfdT+U\xdbU\xa3uO\ +k\xc7\x8bH#\xf0R\xc6p\x9f\xcb!/#k\x81\ +\x07b\x0b4\x92I9*I$\x92R\x92I$\x94\ +\xa4\x92I%)$\x92IJI$\x92R\x92I$\ +\x94\xa4\x92I%)$\x92IJI$\x92R\x939\ +\xc1\x8d.:\x00$\xfc\x93\xaa\xddE\xdb:~K\x87\ +\x22\xa7\xc7\xc4\xb4\xa1#\xc3\x12{\x02PM\x02^*\ +\xcb\x0d\xb6:\xd7r\xf2\x5c~fTRI`n\xd2\ +RI$\x82\x94\x92I$\xa5$\x92I)I$\x92\ +JRI$\x92\x94\x92I$\xa5$\x92I)I$\ +\x92JRI$\x92\x94\x92I$\xa5$\x92I)I\ +$\x92JRI$\x92\x94\x92I$\xa5$\x92I)\ +I$\x92JRI$\x92\x94\x92I$\xa5$\x92I\ +)I\xc1-;\x9a`\xf8\x8d\x0ad\x92Sf\xbe\xa3\ +\x9fW\xf3y\x16\x0f-\xc4\xfeUj\xbf\xac=N\xbf\ +\xa4\xf6\xd8<\x1e\xd1\xff\x00}\xda\xb3\x12RG6X\ +|\xb3\x90\xfa\x94\x89\xc8lK\xbb_\xd6\xabG\xf3\xd8\ +\xed>lq\x1f\x81\x05[\xaf\xeb>\x13\xbf\x9c\xae\xc6\ +\x1f\x80p\xfc\xab\x97IK\x1e{<\x7fJ\xfc\xc0^\ +3Lu\xb7\xb2\xaf\xadt\xbb~\x8eC[\xe4\xf9g\ +\xfdP\x0a\xd5w\xd1o\xf3V5\xff\x00\xd5 \xfeE\ +\xc1\xa7\x1a\x1d\x14\xd1\xf8\x94\xc7\xcd\x08\x9f\x22G\xf1\x5c\ +9\x83\xd4\x07\xbfIW\xe9\xc4\x9e\x9f\x8cO\xfa\x1a\xff\ +\x00\xeaB\xb0\xb4bx\x80=\xc5\xb6\x01\xb1jI$\ +\x91R\x92I$\x94\xa4\x92I%)$\x92IJI\ +$\x92R\x92I$\x94\xa5S\xab\x7f\xc9\xb9?\xf1e\ +[U:\xb7\xfc\x9b\x93\xff\x00\x16S2\xff\x007?\ +\xee\x9f\xc9\x12\xf9O\x91x\xb4\xc9\xd3,\x16\x92\x92I\ +$\x94\xa4\x92I%)$\x92IJI$\x92R\x92\ +I$\x94\xa4\x92I%)$\x92IJI$\x92R\ +\x92I$\x94\xa4\x92I%)$\x92IJI$\x92\ +R\x92I$\x94\xa4\x92I%)$\x92IJI$\ +\x92R\x92I$\x94\xa4\x92I%)$\x92IJI\ +$\x92R\x92I$\x94\xa4\x92I%)8L\x9c$\ +\xa7\xb6\xe9\xdf\xf2~/\xfcM\x7f\xf5!YU\xbaw\ +\xfc\x9f\x8b\xff\x00\x13_\xfdHVV\xfe?\x92?\xdd\ +\x1f\x93v;\x0f%$\x92I\xc9RI$\x92\x94\x92\ +I$\xa5$\x92I)I$\x92JRI$\x92\x94\ +\xaauo\xf97'\xfe,\xabj\xa7V\xff\x00\x93r\ +\x7f\xe2\xcaf_\xe6\xe7\xfd\xd3\xf9\x22_)\xf2/\x16\ +\x99:e\x82\xd2RI$\x92\x94\x92I$\xa5$\x92\ +I)I$\x92JRI$\x92\x94\x92I$\xa5$\ +\x92I)I$\x92JRI$\x92\x94\x92I$\xa5\ +$\x92I)I$\x92JRI$\x92\x94\x92I$\ +\xa5$\x92I)I$\x92JRI$\x92\x94\x92I\ +$\xa5$\x92I)I$\x92JRI$\x92\x94\x92\ +I$\xa5'\x09\x93\x84\x94\xf6\xdd;\xfeO\xc5\xff\x00\ +\x89\xaf\xfe\xa4+*\xb7N\xff\x00\x93\xf1\x7f\xe2k\xff\ +\x00\xa9\x0a\xca\xdf\xc7\xf2G\xfb\xa3\xf2n\xc7a\xe4\xa4\ +\x92I9*I$\x92R\x92I$\x94\xa4\x92I%\ +)$\x92IJI$\x92R\x95N\xad\xff\x00&\xe4\ +\xff\x00\xc5\x95mT\xea\xdf\xf2nO\xfcYL\xcb\xfc\ +\xdc\xff\x00\xba\x7f$K\xe5>E\xe2\xd3'L\xb0Z\ +JI$\x92R\x92I$\x94\xa4\x92I%)$\x92\ +IJI$\x92R\x92N\x01q\x0dh\x92t\x00w\ +[\xbd7\xea\xe1p\x17u\x09\x03\x91H:\xff\x00h\ +\xff\x00\x05&,3\xcd.\x18\x0b\xeez\x05\xd1\x81\x99\ +\xa0\xe3c\xe2\xe4e?f=n\xb0\xf7\x81\xa0\xf8\x9e\ +\xcb[\x1b\xea\xbeC\xc0vU\xad\xab\xf9-\x1b\x8f\xdf\ +\xa0\xfc\xab\xa2\xaa\xaa\xa8`\xae\x96\x860p\xd6\x88\x0a\ +kC\x17\xc3\xb1\xc7\x5c\x84\xcc\xfd\x83\xf8\xb3\xc7\x04G\ +\xcd\xab\x95W\xd5\xbe\x9d_\xf3\x81\xf6\x9f\xe5:\x07\xfd\ +\x0d\xaa\xcb:GLg\x18\xd5\x9f\xeb\x0d\xdf\xf5R\xae\ +$\xac\xc7\x06(\xed\x8e?`^!\x11\xb4C[\xf6\ +oO\xff\x00\xb8\xd5\x7f\x98\xdf\xeePwH\xe9\x8f\xe7\ +\x1a\xb1\xfdQ\xb7\xfe\xa6\x15\xc4\x918\xb1\x9d\xe1\x1f\xb0\ +'\x86=\x87\xd8\xe5\xd9\xf5w\xa6?\xe8\xb5\xf5\xff\x00\ +U\xc4\xff\x00\xd5\xeeT\xee\xfa\xac9\xc7\xbf\xe4\xf6\xff\ +\x00\x16\xff\x00r\xe8\x12Q\xcb\x94\xc1=\xf1\x81\xfd\xdf\ +O\xe4\xb4\xe2\x81\xfd\x11\xf9\xbfR\ +\xa1\x9d\x83\xb7\x9f\xec\xfb\xbf\x82\xec\xd6\x87!\x82\x19#\ +9N\x22Z\x80/\xc3\x7f\xcd\x9b\x04\x04\x81$[\x86\ +\xff\x00\xaa\xd8\xe7\xe8^\xf6\xfc@?\xdc\x82\xff\x00\xaa\ +\xb6\x8f\xe6\xf2\x1a|\x9c\xc2?#\x8a\xe8\x92VO%\ +\xcb\x9f\xd0\xaf\x22\x7f\x8b)\xc3\x03\xd1\xe3\xb3\xfa6O\ +N\xa8]s\x98\xe6\xb9\xc1\x83i3$\x13\xdd\xa3\xc1\ +P]G\xd6\x7f\xe8\x15\xff\x00\xc77\xfe\xa5\xeb\x97Y\ +\xbc\xde(\xe1\xcaa\x0d\xa85\xf2\xc4FT\x14\x92I\ +(\x16)$\x92IJI$\x92R\x93\x84\xc9\xc2J\ +{n\x9d\xff\x00'\xe2\xff\x00\xc4\xd7\xff\x00R\x15\x95\ +[\xa7\x7f\xc9\xf8\xbf\xf15\xff\x00\xd4\x85eo\xe3\xf9\ +#\xfd\xd1\xf97c\xb0\xf2RI$\x9c\x95$\x92I\ +)I$\x92JRI$\x92\x94\x92I$\xa5$\x92\ +I)J\xa7V\xff\x00\x93r\x7f\xe2\xca\xb6\xaauo\ +\xf97'\xfe,\xa6e\xfen\x7f\xdd?\x92%\xf2\x9f\ +\x22\xf1i\x93\xa6X-%$\x92I)I$\x92J\ +RI$\x92\x94\x92I\xc0$\xc0\xd4\x9e\x02Jt\xba\ +\x17O\xfbnW\xa9`\x9ai\x87:x'\xf3Z\xba\ +\xd5S\xa5\xe1\x0c\x1c6S\xf9\xe7\xdda\xf1q\xe7\xee\ +\xe1[[\x5c\xa6\x0fg\x18\x07\xe6\x96\xb2\xfe\x1fF\xde\ +(pG\xc4\xee\xa4\x92IN\xbdI$\x92JRI\ +,\xde\xaf\xd5\xd9\xd3\x99\xe9\xb0\x07\xde\xf1-of\x8f\ +\xdernL\x91\xc5\x13)\x9a\x01\x12\x90\x88\xb2\xdf\xb2\ +\xda\xean\xfb^\xd64~s\x88\x03\xf1UOX\xe9\ +\x8d0r\x19\xf2\x93\xfc\x17#\x91\x95\x91\x97g\xab\x90\ +\xf2\xf7v\x9e\x07\xc0vBY\xf3\xf8\x94\xaf\xd1\x01_\ +\xd6\xfe\xc6\x03\xcc\x1e\x83\xed{\x9a3q2LQs\ +\x1e|\x01\x13\xf7r\x8e\xb8\x09#Q\xdb\x85\xaf\xd3:\ +\xfd\xd8\xee\x15f\x13mGM\xe7W7\xfb\xc2\x93\x0f\ +\xc4c#\xc3\x92<7\xfaCe\xd1\xce\x0e\x92\x15\xe2\ +\xf5\x09(\xb1\xed\xb1\xa1\xec!\xcdp\x90F\xa0\x82\xa4\ +\xaf3)$\x92IJ\x5c\xd7\xd6.\x98)\x7f\xdb\xa9\ +\x1e\xc7\x98\xb4\x0e\xce?\x9d\xf3]*\x85\xd4\xd7}O\ +\xa6\xd1,x-p\xf8\xa8\xb9\x8c#>3\x13\xbe\xf1\ +=\x8a\xd9\xc0N5\xf6<\x12H\xd9\x98\xcf\xc3\xc9\xb3\ +\x1d\xfa\x96\x18\x07\xc4v?r\x0a\xc4 \xc4\x90t \ +\xd1i\x91Z\x15$\x92H)I$\x92Jw>\xab\ +S\xbb\x22\xec\x83\xf9\x8c\x0c\x1f\x17\x19?\xf5+\xa4Y\ +_V\xe9\xf4\xfa\x7f\xa8y\xb9\xe5\xdf!\xed\xfe\x0bU\ +mrp\xe0\xc1\x0f\x11\xc5\xf6\xff\x00co\x10\xa8\x0f\ +\x1dT\x92I)\xd7\xb8\xff\x00Y\xff\x00\xa0W\xff\x00\ +\x1c\xdf\xfa\x97\xae]u\x1fY\xff\x00\xa0W\xff\x00\x1c\ +\xdf\xfa\x97\xae]d|C\xf9\xf3\xe4\x1a\xb9\xfe\x7f\xa2\ +\x92I%U\x8dI$\x92JRI$\x92\x94\x9c&\ +N\x12S\xdbt\xef\xf9?\x17\xfe&\xbf\xfa\x90\xac\xaa\ +\xdd;\xfeO\xc5\xff\x00\x89\xaf\xfe\xa4++\x7f\x1f\xc9\ +\x1f\xee\x8f\xc9\xbb\x1d\x87\x92\x92I$\xe4\xa9$\x92I\ +JI$\x92R\x92I$\x94\xa4\x92I%)$\x92\ +IJU:\xb7\xfc\x9b\x93\xff\x00\x16U\xb5S\xab\x7f\ +\xc9\xb9?\xf1e3/\xf3s\xfe\xe9\xfc\x91/\x94\xf9\ +\x17\x8bL\x9d2\xc1i)$\x92IJI$\x92R\ +\x92I$\x94\xa5\xa5\xd0q>\xd5\x9e\xd78K)\x1e\ +\xa3\xbe#\xe8\x8f\xbdf\xae\xa7\xea\xd67\xa5\x84o#\ +\xdd{\xa4\x7fU\xba\x0f\xc6U\x8eO\x1f\xbb\x9a \xed\ +\x1fQ\xfa\x7fj\xfcQ\xe2\x98\xf0\xd5\xd7I$\x96\xcb\ +mI$\x92JRI$\x92\x90fe3\x0f\x19\xf9\ +6j\x184\x1e'\xb0\x5cU\xf7\xd9\x93s\xef\xb4\xee\ +{\xcc\x92\xb6\xfe\xb4e\x12\xea\xb0\xdat\x03\xd4\x7f\xc4\ +\xe8\xdf\xe2\xb0\x16W\xc43\x19\xe4\xf6\xc7\xcb\x0f\xfaM\ +l\xf3\xb9p\xf4\x1f\x9a\x92I%M\x89I$\x92J\ +w~\xaeu\x12\xc7\xfd\x82\xe3\xedt\x9a\x89\xecy-\ +\xf9\xae\x8dp,{\xab{la\x874\x874\xf8\x11\ +\xa8]\xc6\x1eKr\xf1k\xc8o\x164\x12<\x0f\x04\ +|\x8a\xd4\xf8~c8\x9cr:\xc3o\xee\xff\x00c\ +c\x04\xecp\x9e\x9f\x92d\x92I]fRI$\x92\ +\x9c/\xac\xf8{\xaafk\x06\xac\xf6?\xfa\xa7\xe8\xfe\ +?\x95s\x8b\xbb\xc9\xa1\xb98\xf6P\xfe,io\xde\ +\xb8k\x18\xea\xde\xea\xde!\xcc%\xae\x1e`\xc1Y\x7f\ +\x10\xc5\xc1\x90Lm1\xaf\x98kg\x8dJ\xfb\xb1I\ +$\x95&%$\x92\xb3\xd3h\xfbF}\x14\x91!\xcf\ +\x05\xdf\xd5o\xb8\xfe\x01:12\x90\x88\xdc\x90>\xd5\ +\x01d\x0e\xefc\x87O\xd9\xf1)\xa3\x8d\x8ckO\xc6\ +5FI%\xbc\x00\x88\x00l\x057\x80\xad\x14\x92I\ +\x22\xa7\x1f\xeb?\xf4\x0a\xff\x00\xe3\x9b\xff\x00R\xf5\xcb\ +\xae\xa3\xeb?\xf4\x0a\xff\x00\xe3\x9b\xff\x00R\xf5\xcb\xac\ +\x8f\x88\x7f>|\x83W?\xcf\xf4RI$\xaa\xb1\xa9\ +$\x92IJI$\x92R\x93\x84\xc9\xc2J{n\x9d\ +\xff\x00'\xe2\xff\x00\xc4\xd7\xff\x00R\x15\x95[\xa7\x7f\ +\xc9\xf8\xbf\xf15\xff\x00\xd4\x85eo\xe3\xf9#\xfd\xd1\ +\xf97c\xb0\xf2RI$\x9c\x95$\x92I)I$\ +\x92JRI$\x92\x94\x92I$\xa5$\x92I)J\ +\xa7V\xff\x00\x93r\x7f\xe2\xca\xb6\xaauo\xf97'\ +\xfe,\xa6e\xfen\x7f\xdd?\x92%\xf2\x9f\x22\xf1i\ +\x93\xa6X-%$\x92I)I$\x92JRI$\ +\x92\x97\x00\xb8\x86\x81$\xe8\x07\x9a\xee\xb1\xa9\x18\xf8\xf5\ +\xd08\xad\xa1\xbfp\x5c\x87H\xa7\xd7\xeaT0\xea\x03\ +\xf7\x9f\xec\xfb\xbf\x82\xed\x16\x97\xc3a\xa4\xe7\xdc\x88\xfd\ +\x9a\xb3\xf2\xe3B~\x8aI$\x95\xf6u$\x92I)\ +I$\xa1k\xc5u\xbe\xc3\xc3\x1a]\xf7\x09Ke<\ +wW\xbb\xd7\xeaW\xbf\xb0y`\xf83\xdb\xfc\x154\ +\xee%\xc4\xb8\xeaN\xa52\xc0\x9c\xb8\xe5)\x1f\xd2$\ +\xfd\xad\x22l\x93\xdc\xa9$\x92MB\x92I$\x94\xa5\ +\xd2\xfdW\xbf~5\xb8\xe4\xeb[\x83\x87\xc1\xc3\xfb\xc2\ +\xe6\x96\xb7\xd5\xab}>\xa1\xe9\xf6\xb5\x85\xbf1\xee\x1f\ +\x90\xab\x1c\x9c\xf83\xc3\xc4\xf0\xfd\xbf\xda\xbf\x11\xa9\x8f\ +\x1d\x1e\xa9$\x92[-\xb5$\x92I)K\x92\xfa\xc3\ +\x8f\xe8u\x17<\x08m\xc0Y\xf3\xe0\xfeE\xd6\xac?\ +\xad\x14n\xc7\xab s[\x8b\x0f\xc1\xc3\xfb\xda\xabs\ +\xd0\xe3\xc0OX\x91/\xe3\xf81\xe6\x17\x03\xe1\xab\xcd\ +\xad\xfe\x87\xd30\xb30\x8d\x99\x15\xeexyn\xed\xce\ +\x1a\x00<\x0a\xc0]O\xd5\x9f\xf9=\xdf\xf1\x8e\xfc\x8d\ +Ty\x18\xc6y\xaa@Hp\x9d\x08\xb6\x1c \x19\xd1\ +\x17\xa37}\x5c\xe9\x8e\xe1\xafo\xc1\xc7\xf8\xca\x9e\x1f\ +D\xc4\xc2\xc8\x19\x14\x97\x97\x00@\x0e \x8d~KE\ +%\xa49| \x89\x0cq\x04\x1b\x14\x1b\x1c\x11\x06\xf8\ +B\x92I%*\xe5$\x92I)\xcd\xeb\xb8\x99\x19\x98\ +m\xab\x19\xbb\xdc,\x0e\x22@\xd05\xc3\xbf\xc5s\xce\ +\xe8\xddQ\xbc\xe3\xb8\xfc\x08?\x90\xae\xcd%[7'\ +\x0c\xf2\xe3\x94\xa4\x0dV\x95\xfc\x18\xe7\x8a36Ix\ +wt\xec\xf6},k\x7f\xccq\xfc\x81\x09\xd4\xda\xcf\ +\xa6\xc77\xfa\xc0\x8f\xca\xbb\xc4\xea\x13\xf0\xc8\xf4\xc8G\ +\x98\xbf\xe0\xb7\xee\xe3\xf7\x9f?Ih\xfd`\xff\x00\x95\ +m\xfe\xab?\xeaB\xceT2C\xdb\x9c\xa1w\xc2H\ +\xbf&\x09\x0e\x12Gb\xa4\x92I1\x0aN\x13'\x09\ +)\xed\xbaw\xfc\x9f\x8b\xff\x00\x13_\xfdHVUn\ +\x9d\xff\x00'\xe2\xff\x00\xc4\xd7\xff\x00R\x15\x95\xbf\x8f\ +\xe4\x8f\xf7G\xe4\xdd\x8e\xc3\xc9I$\x92rT\x92I\ +$\xa5$\x92I)I$\x92JRI$\x92\x94\x92\ +I$\xa5*\x9d[\xfeM\xc9\xff\x00\x8b*\xda\xa9\xd5\ +\xbf\xe4\xdc\x9f\xf8\xb2\x99\x97\xf9\xb9\xff\x00t\xfeH\x97\ +\xca|\x8b\xc5\xa6N\x99`\xb4\x94\x92I$\xa5$\x92\ +I)I$\x92Jv~\xacU\xbf6\xcbO\x15\xd7\ +\xf8\xb8\x8f\xe0\x0a\xe9\xd6\x17\xd5Z\xe2\x9b\xed\xfd\xe7\xb5\ +\xbf\xe6\x89\xff\x00\xbf-\xd5\xb1\xc8\xc7\x87\x04|l\xfe\ +-\xac\x22\xa0E\ +\xe2\xd3'L\xb0ZJI$\x92R\x92I$\x94\xa4\ +\x92I%=_\xd5\xb6m\xe9\xa1\xdf\xbe\xf7\x1f\xc8\xdf\ +\xe0\xb5U\x0e\x86\xdd\xbd.\x81\xe2\x0b\xbf\xces\x8f\xf1\ +W\xd6\xef.+\x0e1\xfdA\xf97 *\x11\xf2\x0a\ +I$\x94\x8b\x94\x92I$\xa5,\x8f\xac\xce\x8e\x9e\xc1\ +\xe3h\xff\x00\xa9qZ\xeb\x13\xebK\xa3\x16\x96\xf8\xd8\ +O\xdc\x0f\xf7\xa8y\xb3X2y,\xcb\xf2K\xc9\xe6\ +\x92I%\x88\xd4RI$\x92\x94\x92I$\xa5$\x92\ +t\x94\xf7\x94\xbf\xd4\xa5\x96~\xf3C\xbe\xf1*j\xbe\ +\x01\xdd\x83\x8e\x7f\xe0\x99\xff\x00R\x15\x85\xd0D\xdcA\ +\xee\x03tj\x02\x92I$R\xa4\x92I%\xb1\xf4\xc3\xf9\xcf\x1f\x16\x94?\xac\xff\x00\xd0+\ +\xff\x00\x8eo\xfdK\xd7.\xa8s\x5c\xdeL9L#\ +\xc3T7\x0c92\xca\x12\xa1O^:\xff\x00K?\ +\xe1H\xf8\xb5\xdf\xdc\xa6:\xdfK\xb3\xe3H\x1fs\x9f\xfd\xeb\x1db\ +sB\xb3\xe4\xfe\xf1\xfcZy>yy\xb2\xaf\xf9\xc6\ +\x7fX~U\xde\x85\xc1W\xfc\xe3?\xac?*\xefB\ +\xb7\xf0\xcd\xb2\x7f\x83\xfbYy\x7f\xd2\xfa.\x92I-\ +\x06u$\x92I)\xc7\xfa\xcf\xfd\x02\xbf\xf8\xe6\xff\x00\ +\xd4\xbdr\xeb\xa8\xfa\xcf\xfd\x02\xbf\xf8\xe6\xff\x00\xd4\xbd\ +r\xeb#\xe2\x1f\xcf\x9f \xd5\xcf\xf3\xfd\x14\x92I*\ +\xacjI$\x92R\x92I$\x94\xa4\xe12p\x92\x9e\ +\xdb\xa7\x7f\xc9\xf8\xbf\xf15\xff\x00\xd4\x85eV\xe9\xdf\ +\xf2~/\xfcM\x7f\xf5!Y[\xf8\xfeH\xff\x00t\ +~M\xd8\xec<\x94\x92I'%I$\x92JRI\ +$\x92\x94\x92I$\xa5$\x92I)I$\x92JR\ +\xa9\xd5\xbf\xe4\xdc\x9f\xf8\xb2\xad\xaa\x9d[\xfeM\xc9\xff\ +\x00\x8b)\x99\x7f\x9b\x9f\xf7O\xe4\x89|\xa7\xc8\xbcZ\ +d\xe9\x96\x0bII$\x92JRI$\x92\x94\x91\xe0\ +\xa4\x91\xe0\xa4\xa7\xbb\xc6\x11\x8fP\xfeC\x7f EC\ +\xc7\xfe\x8fW\xf5\x1b\xf9\x11\x17A\x1d\x87\x93xl\xa4\ +\x92I\x15)$\x92IJ\x5c\xff\x00\xd6\xaf\xfbM\xfd\ +\xbf\xfb\xea\xe8\x17?\xf5\xab\x9co\xed\xff\x00\xdfU~\ +{\xfd\xcf?\xa7\xfd \xc7\x9b\xe4?O\xcd\xe7\xd2I\ +%\x8c\xd5RI$\x92\x94\x92I$\xa5$\x92I)\ +\xec\xba/\xfc\x97\x8f\xfdS\xf9J\xbc\xa8\xf4O\xf9/\ +\x1f\xfa\xa7\xf2\x95yn\xe1\xfek\x1f\xf7#\xf97!\ +\xf2\xc7\xc8)$\x92R.RI$\x92\x9eg\xebH\ +\xfdn\x93\xff\x00\x06\x7f\xea\x8a\xc5[\x7fZ\x7f\xa4\xd1\ +\xff\x00\x16\x7f*\xc4X\xbc\xe7\xf3\xf9<\xff\x00`j\ +e\xf9\xe4\xca\xbf\xe7\x19\xfda\xf9Wz\x17\x05_\xf3\ +\x8c\xfe\xb0\xfc\xab\xbd\x0a\xd7\xc36\xc9\xfe\x0f\xedd\xe5\ +\xff\x00K\xe8\xbaI$\xb4\x19\xd4\x92I$\xa7\x1f\xeb\ +?\xf4\x0a\xff\x00\xe3\x9b\xff\x00R\xf5\xcb\xae\xa3\xeb?\ +\xf4\x0a\xff\x00\xe3\x9b\xff\x00R\xf5\xcb\xac\x8f\x88\x7f>\ +|\x83W?\xcf\xf4RI$\xaa\xb1\xa9$\x92IJ\ +I$\x92R\x93\x84\xc9\xc2J{n\x9d\xff\x00'\xe2\ +\xff\x00\xc4\xd7\xff\x00R\x15\x95[\xa7\x7f\xc9\xf8\xbf\xf1\ +5\xff\x00\xd4\x85eo\xe3\xf9#\xfd\xd1\xf97c\xb0\ +\xf2RI$\x9c\x95$\x92I)I$\x92JRI\ +$\x92\x94\x92I$\xa5$\x92I)J\xa7V\xff\x00\ +\x93r\x7f\xe2\xca\xb6\xaauo\xf97'\xfe,\xa6e\ +\xfen\x7f\xdd?\x92%\xf2\x9f\x22\xf1i\x93\xa6X-\ +%$\x92I)I$\x92JRG\x84\x92IOw\ +\x8ag\x1a\xa3\xfc\x86\xfe@\x8a\x81\x82waP|j\ +a\xff\x00\xa2\x11\xd7A\x0dc\x1f \xdd\x1b\x05$\x92\ +H\xa5I$\x92JR\xe7\xfe\xb5\x7f\xdao\xed\xff\x00\ +\xdfW@\xb0>\xb5\x0fn1\xf3\x7f\xfd\xf5W\xe7\x7f\ +\xdc\xf3\xfa\x7f\xd2\x0b3|\x87\xe9\xf9\xbc\xf2I$\xb1\ +\x9a\x8aI$\x92R\x92I$\x94\xa4\x92I%=\x97\ +E\xff\x00\x92\xf1\xff\x00\xaa\x7f)W\x95.\x8d\xff\x00\ +%\xe3\xff\x00S\xf8\x95uoa\xfek\x1f\xf7#\xf9\ +7a\xf2\xc7\xc8)$\x92OJ\x92I$\x94\xf3_\ +Z\x7f\xa5Q\xff\x00\x16\x7f*\xc4[?Z\x0f\xeb\xb5\ +\x0f\x0a\xbf+\x9c\xb1\x96/7\xfc\xfeO?\xd8\x1a\x99\ +~yy\xb2\xaf\xf9\xc6\x7fX~U\xde\x85\xc1W\xfc\ +\xe3?\xac?*\xefB\xb5\xf0\xcd\xb2\x7f\x83\xfbY9\ +\x7f\xd2\xfa.\x92I-\x06u$\x92I)\xc7\xfa\xcf\ +\xfd\x02\xbf\xf8\xe6\xff\x00\xd4\xbdr\xeb\xa8\xfa\xcf\xfd\x02\ +\xbf\xf8\xe6\xff\x00\xd4\xbdr\xeb#\xe2\x1f\xcf\x9f \xd5\ +\xcf\xf3\xfd\x14\x92I*\xacjI$\x92R\x92I$\ +\x94\xa4\xe12p\x92\x9e\xdb\xa7\x7f\xc9\xf8\xbf\xf15\xff\ +\x00\xd4\x85eV\xe9\xdf\xf2~/\xfcM\x7f\xf5!Y\ +[\xf8\xfeH\xff\x00t~M\xd8\xec<\x94\x92I'\ +%I$\x92JRI$\x92\x94\x92I$\xa5$\x92\ +I)I$\x92JR\xa9\xd5\xbf\xe4\xdc\x9f\xf8\xb2\xad\ +\xaa\x9d[\xfeM\xc9\xff\x00\x8b)\x99\x7f\x9b\x9f\xf7O\ +\xe4\x89|\xa7\xc8\xbcZd\xe9\x96\x0bII$\x92J\ +RI$\x92\x94\x92I$\xa7\xb6\xe9n\xdd\xd3q\x8f\ +\xfc\x13\x07\xdc\x00V\x95\x0e\x86\xed\xdd*\x83\xe0\x1c>\ +\xe78+\xeb{\x09\xbcp=\xe3\x1f\xc9\xbb\x1db<\ +\x82\x92I$\xf4\xa9$\x92IJX_Z\x87\xe8\xb1\ +\xcf\xf2\x9d\xf9\x02\xddX\xbfZ\x1b8\x94\xbb\xc2\xc8\xfb\ +\xda\x7f\xb9A\xce\x0b\xe5\xf2y\x0f\xcc,\xcb\xf2I\xe6\ +RI%\x8a\xd4RI$\x92\x94\x92I$\xa5$\x92\ +I)\xed:@\x8e\x99\x8e?\x90\x15\xc5[\xa6\x8d\xbd\ +?\x1c\x7f\xc1\xb7\xf1\x0a\xca\xde\xc5\xa68\x0f\xea\x8f\xc9\ +\xbb\x1f\x94y\x05$\x92I\xe9RI$\x92\x9e[\xeb\ +1\x9e\xa2\xd1\xfb\xb54\x7f\xd2yY\x0bK\xeb\x0b\xb7\ +uK\x07\xee\xb5\x8d\xff\x00\xa2\x0f\xf1Y\xab\x13\x997\ +\x9b'\xf7\x8f\xe0\xd3\xc9\xf3\xcb\xcd\x95\x7f\xce3\xfa\xc3\ +\xf2\xae\xf4.\x0a\xbf\xe7\x19\xfda\xf9Wz\x15\xbf\x86\ +m\x93\xfc\x1f\xda\xcb\xcb\xfe\x97\xd1t\x92Ih3\xa9\ +$\x92IN?\xd6\x7f\xe8\x15\xff\x00\xc77\xfe\xa5\xeb\ +\x97]G\xd6\x7f\xe8\x15\xff\x00\xc77\xfe\xa5\xeb\x97Y\ +\x1f\x10\xfe|\xf9\x06\xae\x7f\x9f\xe8\xa4\x92IUcR\ +I$\x92\x94\x92I$\xa5'\x09\x93\x84\x94\xf6\xdd;\ +\xfeO\xc5\xff\x00\x89\xaf\xfe\xa4+*\xb7N\xff\x00\x93\ +\xf1\x7f\xe2k\xff\x00\xa9\x0a\xca\xdf\xc7\xf2G\xfb\xa3\xf2\ +n\xc7a\xe4\xa4\x92I9*I$\x92R\x92I$\ +\x94\xa4\x92I%)$\x92IJI$\x92R\x95N\ +\xad\xff\x00&\xe4\xff\x00\xc5\x95mT\xea\xdf\xf2nO\ +\xfcYL\xcb\xfc\xdc\xff\x00\xba\x7f$K\xe5>E\xe2\ +\xd3'L\xb0ZJI$\x92R\x92I$\x94\xa4\x92\ +I%=_\xd5\xb7\xee\xe9\xa0~\xe3\xdc?#\xbf\x8a\ +\xd5X\x7fU\xac\x9c{\xeb\xfd\xd7\x83\xfep\xff\x00b\ +\xdc[|\xa1\xe2\xc1\x8c\xff\x00V\xbe\xcd\x1bx\x8d\xc2\ +>JI$\x94\xcb\xd4\x92I$\xa5,\x8f\xac\xcd\x9e\ +\x9e\xd3\xfb\xb6\xb4\xfe\x0e\x1f\xc5k\xac\xee\xbe\xdd\xdd*\ +\xef\xe4\x96;\xeesT\x5c\xc8\xbc9?\xba\x7f\x0dV\ +\xe4\xd6\x12\xf2y\x04\x92Ia\xb4\xd4\x92I$\xa5$\ +\x92I)I$\x92J{\x9c!\xb7\x0e\x86\xf8T\xc1\ +\xff\x00D#\xa8\xb1\xbb\x18\xd6\x0f\xcd\x00}\xcaK\xa0\ +\x88\xa0\x07`\xde\x1a\x05$\x92H\xa9I$\x92Jx\ +\xce\xb0\xfd\xfdO \xf8?o\xf9\xa07\xf8*H\xd9\ +o\xf52\xee\xb3\xf7\xacq\xfcJ\x0a\xc1\xc8x\xa73\ +\xdeD\xfe-)\x1b$\xf8\xb2\xaf\xf9\xc6\x7fX~U\ +\xde\x85\xc1W\xfc\xe3?\xac?*\xefB\xbd\xf0\xcd\xb2\ +\x7f\x83\xfbY\xb9\x7f\xd2\xfa.\x92I-\x06u$\x92\ +I)\xc7\xfa\xcf\xfd\x02\xbf\xf8\xe6\xff\x00\xd4\xbdr\xeb\ +\xa8\xfa\xcf\xfd\x02\xbf\xf8\xe6\xff\x00\xd4\xbdr\xeb#\xe2\ +\x1f\xcf\x9f \xd5\xcf\xf3\xfd\x14\x92I*\xacjI$\ +\x92R\x92I$\x94\xa4\xe12p\x92\x9e\xdb\xa7\x7f\xc9\ +\xf8\xbf\xf15\xff\x00\xd4\x85eV\xe9\xdf\xf2~/\xfc\ +M\x7f\xf5!Y[\xf8\xfeH\xff\x00t~M\xd8\xec\ +<\x94\x92I'%I$\x92JRI$\x92\x94\x92\ +I$\xa5$\x92I)I$\x92JR\xa9\xd5\xbf\xe4\ +\xdc\x9f\xf8\xb2\xad\xaa\x9d[\xfeM\xc9\xff\x00\x8b)\x99\ +\x7f\x9b\x9f\xf7O\xe4\x89|\xa7\xc8\xbcZd\xe9\x96\x0b\ +II$\x92JRI$\x92\x94\x92I$\xa7o\xea\ +\xb5\xbbr\xae\xab\xf7\xd8\x1d\xf3a\xff\x00\xcc\x97J\xb8\ +\xee\x87o\xa5\xd4\xe9'\x87\x92\xc3\xfd\xa0\x7f\x8a\xecV\ +\xb7\xc3\xe5xk\xf7dG\xdb\xaf\xedl\xe07\x0a\xec\ +T\x92I+l\xaaI$\x92R\x95^\xa8\xcfS\xa7\ +d3\xc6\xb7\x11\xf2\x12\xad(\xd8\xc1en\xac\xf0\xf6\ +\x96\xfd\xe2\x13f8\xa3(\xf7\x04}\xa8\x22\xc1\x1d\xde\ +\x05$\xee\x05\xa4\xb4\xf24)\x96\x03II$\x92J\ +RI$\x92\x94\x8b\x8a\xcfS&\x9a\xff\x00~\xc67\ +\xefp\x08J\xefG\xaf\xd4\xeax\xe3\xc1\xfb\xbf\xcd\x04\ +\xff\x00\x04\xfcq\xe2\x9cc\xde@}\xa51\x16@\xee\ +^\xcd$\x92[\xcd\xd5$\x92I)Hy\x16\x8ah\ +\xb2\xe3\xfe\x0d\x8e\x7f\xf9\xa2Q\x15\x0e\xbbo\xa5\xd3.\ +=\xdf\x0c\x1f\xda#\xf8&\xe4\x97\x04%/\xdd\x89?\ +`D\x8d\x02{\x07\x8e\xd7\xbf)$\x92\xc0i2\xaf\ +\xf9\xc6\x7fX~U\xde\x85\xc1W\xfc\xe3?\xac?*\ +\xefB\xd1\xf8f\xd9?\xc1\xfd\xac\xfc\xbf\xe9}\x17I\ +$\x96\x83:\x92I$\x94\xe3\xfdg\xfe\x81_\xfcs\ +\x7f\xea^\xb9u\xd4}g\xfe\x81_\xfcs\x7f\xea^\ +\xb9u\x91\xf1\x0f\xe7\xcf\x90j\xe7\xf9\xfe\x8aI$\x95\ +V5$\x92I)I$\x92JRp\x998IO\ +m\xd3\xbf\xe4\xfc_\xf8\x9a\xff\x00\xeaB\xb2\xabt\xef\ +\xf9?\x17\xfe&\xbf\xfa\x90\xac\xad\xfc\x7f$\x7f\xba?\ +&\xecv\x1eJI$\x93\x92\xa4\x92I%)$\x92\ +IJI$\x92R\x92I$\x94\xa4\x92I%)T\ +\xea\xdf\xf2nO\xfcYV\xd5N\xad\xff\x00&\xe4\xff\ +\x00\xc5\x94\xcc\xbf\xcd\xcf\xfb\xa7\xf2D\xbeS\xe4^-\ +2t\xcb\x05\xa4\xa4\x92I%)$\x92IJI$\ +\x92S:\xacu6\xb2\xd6\xfd*\xdc\x1c>-2\xbb\ +\xb6=\xb61\xb60\xcb\x5c\x03\x81\xf2:\xae\x05v\x1d\ +\x0b#\xed\x1d6\xa92\xea\xe6\xb7\x7fg\x8f\xc0\x85\x7f\ +\xe1\xb3\xa9\xce\x1d\xc5\xfd\x9f\xef\xb3r\xe7R;\xba\x09\ +$\x92\xd2l)$\x92IJI$\x92S\xc5uZ\ +}\x0e\xa3\x91_m\xe5\xc3\xe0\xff\x00w\xf1U\x16\xd7\ +\xd6|}\x99U\xe4\x01\xa5\xad\xda~-\xff\x00aX\ +\xab\x0f\x98\x87\xb7\x9aq\xfe\xb1\xfb\x0e\xa1\xa7\x90p\xc8\ +\x8f\x15$\x92J%\xaaI$\x92R\x96\xbf\xd5\x9a\xb7\ +\xe7\xba\xce\xd5VO\xcd\xd0\xd1\xf8J\xc8]/\xd5z\ +6c[\x90F\xb6\xbfh\xf80\x7fyV9(q\ +\xe7\x87\x87\xab\xec\xfe\xd5\xf8\x85\xccxj\xed\xa4\x92K\ +e\xb6\xa4\x92I%)a}i\xbe*\xa7\x18~s\ +\x8d\x87\xe0\xd1\x03\xfe\xa9n\xaeG\xaf\xe4z\xfdI\xed\ +\x06[P\x15\x8f\x88\xd4\xfe%U\xe7\xe7\xc1\x80\x8e\xb2\ +\x22?\xb7\xf61\xe65\x03\xe3\xa3\x9a\x92I,\x86\xab\ +*\xff\x00\x9cg\xf5\x87\xe5]\xe8\x5c\x15\x7f\xce3\xfa\ +\xc3\xf2\xae\xf4-\x1f\x86m\x93\xfc\x1f\xda\xcf\xcb\xfe\x97\ +\xd1t\x92Ih3\xa9$\x92IN?\xd6\x7f\xe8\x0c\ +\xff\x00\x8eo\xfdK\xd7.\xba\xaf\xac\xad\x9e\x9c\x0f\xee\ +\xd8\xd3\xf88\x7f\x15\xca\xac\x9f\x88\x7f?\xfe\x08j\xe7\ +\xf9\xfe\x8aI$\x95F5$\x92I)I$\x92J\ +Rp\x998IOm\xd3\xbf\xe4\xfc_\xf8\x9a\xff\x00\ +\xeaB\xb2\xabt\xef\xf9?\x17\xfe&\xbf\xfa\x90\xac\xad\ +\xfc\x7f$\x7f\xba?&\xecv\x1eJI$\x93\x92\xa4\ +\x92I%)$\x92IJI$\x92R\x92I$\x94\ +\xa4\x92I%)T\xea\xdf\xf2nO\xfcYV\xd5N\ +\xad\xff\x00&\xe4\xff\x00\xc5\x94\xcc\xbf\xcd\xcf\xfb\xa7\xf2\ +D\xbeS\xe4^-2t\xcb\x05\xa4\xa4\x92I%)\ +$\x92IJI$\x92R\x96\xdf\xd5\x8c\x9d\x97\xd9\x8a\ +\xe3\xa5\x8d\xdc\xdf\x8by\xfc\x0a\xc4E\xc5\xbd\xd8\xb9\x15\ +\xe43\x9a\xdc\x1d\xf1\xf1\x1f0\xa4\xc1\x93\xda\xc9\x19\xf6\ +:\xf9u]\x09p\xc8\x17\xbbIF\xbb\x19mm\xb6\ +\xb3-x\x0ei\xf2:\xa9-\xd1\xae\xa1\xb8\xa4\x92I\ +%)$\x92INw]\xc4\xfbWO~\xd1/\xab\ +\xf4\x8d\xfe\xcf?\x82\xe4\x17\xa0.;\xact\xf3\x81\x96\ +CG\xe8l\x97V{y\xb7\xe4\xb3\xfe#\x84\xe9\x94\ +\x7fv_\xb0\xb0g\x86\xd2\x1eE\xa0\x92I,\xe6\x05\ +$\x92I)\x93\x18\xeb\x1e\xda\xd8%\xce!\xad\x1e$\ +\xe8\x17q\x87\x8e\xdcLZ\xf1\xdb\xc5m\x00\x9f\x13\xdc\ +\xfc\xca\xc2\xfa\xb9\xd3\x8b\xec\xfb}\xa3\xda\xc9\x15Ow\ +p]\xf2]\x1a\xd4\xf8~\x13\x08\x9c\x92\x1a\xcfo\xee\ +\xff\x00kc\x04(q\x1e\xbf\x92\x92I%u\x99I\ +$\x92JE\x93{q\xb1\xec\xbd\xfcV\xd2\xef\xb9p\ +\xcf{\xac{\xacy\x978\x97\x13\xe6u+\xa2\xfa\xcf\ +\x99\xb2\x96a4\xeba\xde\xff\x00\xea\x8e?\x1f\xc8\xb9\ +\xb5\x97\xf1\x1c\xbcY\x04\x06\xd0\x1a\xf9\x96\xb6y\x5c\xab\ +\xb2\x92I%I\x89pv\x90\xef\x03?r\xef\x87\x0b\ +\x80\xe7E\xdc\xe0\xdb\xeb\xe1Qo%\xd5\xb4\x9f\x8ck\ +\xf8\xad\x0f\x86\x1drG\xb8\x07\xec\xbf\xe2\xcf\xcb\x9f\x98\ +y'I$\x96\x8b:\x92I$\x94\xd3\xea\xf8\xee\xca\ +\xe9\xf7T\xc1.\x8d\xcd\x03\xb9i\x0e\xfe\x0b\x8b^\x80\ +\xb3r\xfa\x0e\x06]\x86\xd2\x1dS\xdd\xab\x8dd\x09>\ +0A\x0a\x9f9\xcaK9\x13\x81\x1c@Q\x07\xb3\x16\ +\x5cFtF\xef\x22\x92\xeaY\xf5g\xa7\xb4\xfb\x9dk\ +\xfe.\x03\xfe\xa5\xa1]\xc7\xe9\x98\x18\xa4:\x9aZ\x1c\ +8q\xf7\x1f\xbd\xd2\xabG\xe1\xd9O\xccc\x11\xf6\xb1\ +\x8c\x12;\x90\x1e<\xe1\xe4\xb6\x83\x92\xfa\xdc\xda\xa4\x0d\ +\xce\x11$\xf1\x12\x82\xba\xbf\xac\x9f\xf2a\xfe\xbb\x17(\ +\xa2\xe6p\x8c\x13\x10\x04\x9fH6~\xabrC\x82T\ +5\xd1I$\x92\x81b\x93\x84\xc9\xc2J{n\x9d\xff\ +\x00'\xe2\xff\x00\xc4\xd7\xff\x00R\x15\x95[\xa7\x7f\xc9\ +\xf8\xbf\xf15\xff\x00\xd4\x85eo\xe3\xf9#\xfd\xd1\xf9\ +7c\xb0\xf2RI$\x9c\x95$\x92I)I$\x92\ +JRI$\x92\x94\x92I$\xa5$\x92I)J\xa7\ +V\xff\x00\x93r\x7f\xe2\xca\xb6\xaauo\xf97'\xfe\ +,\xa6e\xfen\x7f\xdd?\x92%\xf2\x9f\x22\xf1i\x93\ +\xa6X-%$\x92I)I$\x92JRI$\x92\ +\x94\x92I$\xa7\xa4\xfa\xb5\x9c\x1fS\xb0l>\xea\xfd\ +\xd5\xf9\xb4\xf2>En.\x13\x1b\x22\xcc[\xd9\x91Q\ +\x870\xc8\xf0> \xfcWk\x89\x93^f;2*\ +>\xd7\x8e<\x0fp~\x0bW\x90\xcf\xeeC\xdb'\xd5\ +\x0d\xbcc\xfd\x8d\x9c3\xe2\x1c'q\xf9&I$\x95\ +\xc6U$\x92I)J\xben\x1d9\xd4\x1a.\x1a\x1d\ +Z\xe1\xcbO\x88V\x12BQ\x12\x062\x16\x0e\xe1D\ +^\x85\xe2\xf3\xfafWOy\x16\xb7u\x7f\x9bk~\ +\x89\xfe\xe5Mw\xe4\x02 \xea\x0f!U\x7fJ\xe9\xd6\ +\x1d\xce\xc7\xae|\x86\xdf\xc9\x0a\x86O\x86\xebx\xe7C\ +\xb4\xbf\x8b\x04\xb9\x7f\xdd?k\xc5\xc1\xe3\xc7\x85\xad\xd3\ +:\x05\xf9.\x16\xe5\x83U#]\xa7G;\xfb\x82\xe8\ +\xa9\xc2\xc4\xc73E,a\xfd\xe0\xd1?\x7f(\xe9\xd8\ +~\x1d\x18\x90rK\x8a\xbfDl\x98\xe0\x03Y\x1b\xf0\ +b\xc62\xb6\x0a\xeb\x01\xadh\x86\x81\xa0\x00)$\x92\ +\xbd\xb32\x92I$\x94\xa5\x1b,e5\xba\xdb\x0e\xd6\ +0\x178\x9e\xc0).{\xeb\x1fR\x93\xfb>\x93\xa0\ +\x83q\x1e<\x86\xff\x00z\x8f>a\x83\x19\x99\xfa\x0e\ +\xe5l\xe4!\x12\x5c|\xec\xa7f\xe5Y\x90\xed7\x9f\ +h\xf0h\xd0\x04\x04\x92Xr\x91\x912:\x92l\xb4\ +\xc9\xb3g\xaa\x92I$\x14\xa5\xd4\xfd[\xc9\x16\xe0\x9a\ +\x09\xf7P\xe2#\xf9.\xf7\x0f\xe2\xb9e{\xa3\xe7}\ +\x831\xafy\xfd\x13\xfd\x96y\x03\xdf\xe4\xa7\xe52\x8c\ +9\xa2O\xca}'\xeb\xfd\xab\xf1K\x86@\x9d\x8e\x8f\ +d\x92`A\x00\x83 \xea\x08N\xb6\x9bjI$\x92\ +R\x92I$\x94\xa4\x92I%9_Y?\xe4\xc3\xff\ +\x00\x18\xc5\xca.\xaf\xeb'\xfc\x98\x7f\xe3\x18\xb9E\x93\ +\xf1\x1f\xe7\xff\x00\xc1\x1f\xb5\xad\x9f\xe7\xfa)$\x92U\ +\x18\x94\x9c&N\x12S\xdbt\xef\xf9?\x17\xfe&\xbf\ +\xfa\x90\xac\xaa\xdd;\xfeO\xc5\xff\x00\x89\xaf\xfe\xa4+\ ++\x7f\x1f\xc9\x1f\xee\x8f\xc9\xbb\x1d\x87\x92\x92I$\xe4\ +\xa9$\x92IJI$\x92R\x92I$\x94\xa4\x92I\ +%)$\x92IJU:\xb7\xfc\x9b\x93\xff\x00\x16U\ +\xb5S\xab\x7f\xc9\xb9?\xf1e3/\xf3s\xfe\xe9\xfc\ +\x91/\x94\xf9\x17\x8bL\x9d2\xc1i)$\x92IJ\ +I$\x92R\x92I$\x94\xa4\x92I%)itn\ +\xa8z}\xdb,3E\x87\xde?t\xfe\xf0\xfe+5\ +$\xfcy%\x8aBq4Bc#\x13c\xa3\xdf\xb5\ +\xcd{C\x9aAi\x12\x08\xd4\x10S\xaeW\xa3u\xa7\ +a\x11\x8f\x92K\xb1\xc9\xd0\xf2XO\xf0]C\x1e\xcb\ +\x18,\xad\xc1\xcdp\x90\xe1\xa8!lr\xfc\xc43\xc6\ +\xc6\x84|\xd1\xed\xfd\x8d\xb8LLi\xbfP\xc9$\x92\ +S.RI$\x92\x94\x92I$\xa5$\x92I)I\ +$\x92JRI,\xbe\xab\xd6\xea\xc1\x06\x9a\x08\xb3#\ +\xc3\x90\xcf\xeb\x7frfL\x91\xc5\x13)\x9a\x01\x12\x90\ +\x88\xb2\xcb\xac\xf5f\xe0U\xe9\xd4A\xc8x\xf6\x8f\xdd\ +\x1f\xbc\x7f\x82\xe4\x9c\xe2\xe2\x5c\xe3$\x99$\xf2IR\ +\xb6\xdb.\xb1\xd6\xda\xe2\xf7\xb8\xc9q\xee\xa0\xb29\x9e\ +b\x5c\xc4\xec\xe9\x11\xf2\x8f\xe5\xd5\xab\x92fg\xc3\xa2\ +\x92I%\x02\xc5$\x92I)I$\x92Jv\xfa7\ +\x5c\x18\xed\x18\x99\x87\xf4cFY\xce\xdf#\xe4\xba6\ +=\x964>\xb7\x075\xda\x82\x0c\x82\xb8\x14|l\xdc\ +\xacC8\xf6\xba\xb9\xe4\x03\xa1\xf8\x83\xa2\xbb\xcb\xf3\xf2\ +\xc4\x042\x0e(\x8d\x8fQ\xfcYa\x98\xc4T\xb5\x0f\ +r\x92\xe5\xab\xfa\xcd\xd4\x18!\xed\xae\xcf2\x08?\xf4\ +H\xfc\x88\xbf\xf3\xa7\x22?\x98g\xf9\xc5Z\x1c\xfe\x03\ +\xd4\x8f\xa7\xf0e\xf7\xe1\xdc\xfd\x8fH\x92\xe5\xdf\xf5\x9b\ +=\xda5\x953\xe0\x09?\x8b\x95[z\xd7S\xbbG\ +^\xe6\x8f\xe4C\x7f M\x97\xc4p\x8d\x84\xa5\xf4A\ +\xcf\x01\xb5\x97\xae\xb6\xfahn\xeb\x9e\xda\xc7\x8b\x88\x1f\ +\x95f\xe4\xfdd\xc1\xa6[D\xde\xef\xe4\xe8\xdf\xf3\x8f\ +\xf0\x5c\xbb\x9e\xf7\xb8\xb9\xee.q\xe4\xb8\xc9\xfb\xca\x8a\ +\x83'\xc4rKHDG\xc4\xfa\x8f\xf0Y.bG\ +a_\x8b\x7f\xa8u\x9c\xae\xa0\xdfI\xe1\xac\xaagc\ +Gq\xe2J\xa0\x92J\x9c\xe7,\x87\x8ad\xc8\xf8\xb1\ +\x12dl\x9bRI$\x9a\x85'\x09\x93\x84\x94\xf6\xdd\ +;\xfeO\xc5\xff\x00\x89\xaf\xfe\xa4+*\xb7N\xff\x00\ +\x93\xf1\x7f\xe2k\xff\x00\xa9\x0a\xca\xdf\xc7\xf2G\xfb\xa3\ +\xf2n\xc7a\xe4\xa4\x92I9*I$\x92R\x92I\ +$\x94\xa4\x92I%)$\x92IJI$\x92R\x95\ +N\xad\xff\x00&\xe4\xff\x00\xc5\x95mT\xea\xdf\xf2n\ +O\xfcYL\xcb\xfc\xdc\xff\x00\xba\x7f$K\xe5>E\ +\xe2\xd3'L\xb0ZJI$\x92R\x92I$\x94\xa4\ +\x92I%)$\x92IJI$\x92R\x95\xde\x9d\xd5\ +rzs\xa2\xb3\xbe\xa2e\xd5\xbb\x8f\x88\xf0*\x92I\ +\xd0\x9c\xb1\x91(\x92\x08\xea\x12\x09\x89\xb0i\xec\xf0z\ +\xbe\x1ep\x02\xb7l\xb3\xbdo\xd1\xdf/\x15uy\xfa\ +\xd0\xc5\xeb\x9dG\x14\x06\xfa\x9e\xabG\xe6\xd9\xee\xfcy\ +\xfcU\xfc_\x11\xe9\x96?\xe1G\xf83G\x98\xfd\xe1\ +\xf5\x0f`\x92\xc7\xc0\xfa\xc5^]\xec\xc6\xb2\xa3[\xec\ +0\x1c\x0c\xb6b|\x8a\xd8Wq\xe5\x86a\xc5\x03c\ +fh\xc8HX6\xa4\x92I=*I$\x92R\x95\ +|\xac\xfcL!9\x16\x06\x9eCyq\xf84j\x89\ +{\x1de61\xa4\xb5\xcei\x00\x8d\x08$D\x85\xc2\ +;qq\xdeIt\xfb\x89\xd4\xca\xad\xcd\xf32\xe5\xc4\ +DcfW\xa9\xdbF<\xb9\x0e:\xa1\xbb\xaf\xd4>\ +\xb1_\x90\x0dX\x80\xd3Y\xe5\xdf\x9e~\xee\x16G:\ +\x94\xc9,\xbc\x99g\x98\xf1NW\xfb\x1a\xd2\x91\x91\xb2\ +mI$\x92\x8d\x0aI$\x92R\x92I$\x94\xa4\x92\ +I%)$\x92IJI$\x92R\x92I$\x94\xa4\ +\x92I%)$\x92IJI$\x92R\x93\x84\xc9\xc2\ +J{n\x9d\xff\x00'\xe2\xff\x00\xc4\xd7\xff\x00R\x15\ +\x95[\xa7\x7f\xc9\xf8\xbf\xf15\xff\x00\xd4\x85eo\xe3\ +\xf9#\xfd\xd1\xf97c\xb0\xf2RI$\x9c\x95$\x92\ +I)I$\x92JRI$\x92\x94\x92I$\xa5$\ +\x92I)J\xa7V\xff\x00\x93r\x7f\xe2\xca\xb6\xaau\ +o\xf97'\xfe,\xa6e\xfen\x7f\xdd?\x92%\xf2\ +\x9f\x22\xf1i\x93\xa6X-%$\x92I)I$\x92\ +JRI$\x92\x94\x92I$\xa5$\x92I)I$\ +\x92JRI$\x92\x92Qi\xa2\xea\xeeo5\xb8<\ +\x7fd\xca\xee\xda\xe0\xf6\x87\xb7P\xe0\x08>Ep\x0b\ +\xb0\xe8y?h\xe9\xb5I\x97U\xfa7\x7fg\x8f\xc2\ +\x15\xff\x00\x86\xce\xa58w\x1cC\xe9\xfe\xfb7.u\ +#\xbe\xae\x82I$\xb4\x9b\x0aI$\x92R\x97\x1d\xd6\ +\xb1N/P\xb0\x01\xec\xb3\xf4\x8c\xf8;\x9f\xb8\xae\xc5\ +gu\xae\x9b\xfbC\x1ek\xfez\xadY\xe7\xe2\xdf\x9a\ +\xaf\xcea9\xb1zu\x94}C\xf6\x86<\xb0\xe3\x8e\ +\x9b\x87\x90II\xecun,x-sL\x10D\x10\ +TV;UI$\x92\x0aRI$\x92\x94\x92I$\ +\xa5$\x92I)I$\x92JRI$\x92\x94\x92I\ +$\xa5$\x92I)I$\x92JRI$\x92\x94\x9c\ +&K\x8dRS\xdb\xf4\xef\xf9?\x17\xfe&\xbf\xfa\x90\ +\xac\xa0\xe20\xd5\x89Mg\xf3+c~\xe6\x80\x8c\xb7\ +\xe0*\x11\x1d\x80n\x8d\x87\x92\x92I$\xe4\xa9$\x92\ +IJI$\x92R\x92I$\x94\xa4\x92I%)$\ +\x92IJU:\xb7\xfc\x9b\x93\xff\x00\x16U\xb5S\xab\ +\x7f\xc9\xb9?\xf1e3/\xf3s\xfe\xe9\xfc\x91/\x94\ +\xf9\x17\x8bL\x9d2\xc1i)$\x92IJI$\x92\ +R\x92I$\x94\xa4\x92I%)$\x92IJI$\ +\x92R\x92I$\x94\xa5\xb5\xf5g,W\x90\xfcW\x1d\ +.\x1b\x9b\xfdf\xff\x00\xb1b\xa9\xd3k\xe8\xb5\x97V\ +a\xccpp\xf8\x85&\x1c\x9e\xd6H\xcf\xb1\xd7\xcb\xaa\ +a.\x19\x03\xd9\xefRA\xc5\xc9\xaf/\x1d\x99\x15\xfd\ +\x17\x89\x8f\x03\xdc|\x91\x96\xe0\x22@\x11\xa8:\x86\xe8\ +7\xaa\x92I$T\xa4\x92I%5\xb2\xba~\x1en\ +\xb9\x15\x078p\xee\x1d\xfep\x82\xa9\x1f\xab=<\x99\ +\x06\xc1\xe5\xb8\x7f\xe4V\xb2J9`\xc53r\x84I\ +\xefKL\x22u \x17\x9c\xea\xbd\x0f\x13\x07\x0d\xf9\x15\ +9\xe5\xc0\xb4\x00\xe2#S\x1e\x0b\x09u\xbfX\x7f\xe4\ +\xb7\xff\x00Y\x9f\xf5ArK3\x9e\x84q\xe5\x02\x00\ +Dp\x83\xa7\x99k\xe6\x88\x8c\xa8\x0a\xd1I$\x92\xaa\ +\xc6\xa4\x92I%)$\x92IJI$\x92R\x92I\ +$\x94\xa4\x92I%)$\x92IJI$\x92R\x92\ +I$\x94\xa4\x5cj\x8d\xf9\x15R?=\xedo\xdeP\ +\x96\xaf\xd5\xcco[?\xd5#\xdbCK\xbf\xb4}\xad\ +Ra\x87\xb9\x92\x10\xeeG\xd9\xd51\x1cR\x03\xb9z\ +\xa4\xe9$\xb7[\xaaI$\x92R\x92I$\x94\xa4\x92\ +I%)$\x92IJI$\x92R\x92I$\x94\xa5\ +S\xab\x7f\xc9\xb9?\xf1e[U:\xb7\xfc\x9b\x93\xff\ +\x00\x16S2\xff\x007?\xee\x9f\xc9\x12\xf9O\x91x\ +\xb4\xc9\xd3,\x16\x92\x92I$\x94\xa4\x92I%)$\ +\x92IJI$\x92R\x92I$\x94\xa4\x92I%)\ +$\x92IJI$\x92S\xad\xd0z\xa0\xc3\xb7\xec\xd7\ +\x98\xa6\xd3\xa1<5\xde?\x02\xba\xa5\xe7\xebo\xa4\xf5\ +\xe3\x8e\xd6\xe3f\xcb\xaa\x1a2\xceKG\x81\xf1\x0a\xff\ +\x00%\xcd\x88\x0fk!\xa8\xfe\x8c\xbbx\x1f\x06l9\ +k\xd3-\xba\x17\xa5IB\xbbk\xb9\x82\xca\x9c\x1e\xd7\ +p\xe6\x99\x0akH\x1b\xd46\x14\x92I$\xa5$\x92\ +I)\xcc\xfa\xc3\xff\x00%\xbf\xfa\xcc\xff\x00\xaa\x0b\x92\ +]o\xd6\x1f\xf9-\xff\x00\xd6g\xfdP\x5c\x92\xca\xf8\ +\x8f\xf3\xc3\xfb\x83\xf3-l\xff\x00?\xd1I$\x92\xa6\ +\xc4\xa4\x92I%)$\x92IJI$\x92R\x92I\ +$\x94\xa4\x92I%)$\x92IJI$\x92R\x92\ +I$\x94\xa5\xd6\xf4\x0c3\x8b\x82\x1e\xf1\x16_\xefw\ +\x90\xfc\xd1\xf7,.\x8b\xd3\x8e~P/\x1f\xa1\xaa\x1d\ +g\x9f\x83~k\xb0Z\x1f\x0e\xc3\xbec\xe5\x1f\xda\x7f\ +c>\x08~\x91\xfa)$\x92Z,\xeaI$\x92R\ +\x92I$\x94\xa4\x92I%)$\x92IJI$\x92\ +R\x92I$\x94\xa5S\xab\x7f\xc9\xb9?\xf1e[U\ +:\xb7\xfc\x9b\x93\xff\x00\x16S2\xff\x007?\xee\x9f\ +\xc9\x12\xf9O\x91x\xb4\xc9\xd3,\x16\x92\x92I$\x94\ +\xa4\x92I%)$\x92IJI$\x92R\x92I$\ +\x94\xa4\x92I%)$\x92IJI$\x92R\x92I\ +$\x94\x9b\x1b3'\x11\xdb\xb1\xacug\xb8\x1c\x1f\x88\ +:-Z>\xb4d\xb0E\xf52\xcf6\x92\xc3\xff\x00\ +~X\x89)q\xe7\xcb\x8b\xe4\x99\x03\xb6\xe3\xec:.\ +\x8c\xe5\x1d\x8d=3>\xb4\xe1\x91\xef\xaa\xd6\x9f-\xa4\ +\x7f\xd5\x05?\xf9\xcd\xd3\xff\x00v\xdf\xf3G\xfeIr\ +\xc9)G\xc43\xf7\x07\xe8\xbb\xdf\x9f\x83\xd2\xbf\xebN\ +(\xfen\x9b\x1c|\xf6\xb7\xfe\xfc\xe5^\xcf\xadV\x9f\ +\xe6\xb1\xda\xdf\xeb8\xbb\xf2\x06\xac$\x90<\xf70\x7f\ +N\xbc\x80Q\xcd3\xd5\xd0\xcd\xeby\x99\xd5\x1a-\x0c\ +k\x09\x04\x86\x83\xdb^\xe4\xac\xf4\x92PO$\xb2\x1e\ +)\x93#\xe2\xb0\xc8\xc8\xd96\xa4\x92I5\x0aI$\ +\x92R\x92I$\x94\xa4\x92I%)$\x92IJI\ +$\x92R\x92I$\x94\xa4\x92I%)\x1f\x0f\x0e\xec\ +\xeb\xc5\x14\x09'W8\xf0\xd1\xe2U\x9e\x9f\xd1\xb2\xf3\ +\x88tzT\xf7\xb1\xc3\x91\xfc\x91\xddu\x18XX\xf8\ +\x14\xfaT6;\xb9\xc7\x97\x1f\x12U\xae[\x93\x96b\ +%0c\x0f\xc4\xf9\x7f\x16Lx\x8c\xb5:\x05\xf0\xb0\ +\xea\xc1\xc7n=<\x0dK\x8f.=\xc9GI%\xad\ +\x18\x88\x81\x10(\x0d\x83h\x0a\x14\x14\x92I\x22\xa5$\ +\x92I)I$\x92JRI$\x92\x94\x92I$\xa5\ +$\x92I)I$\x92JR\xa9\xd5\xbf\xe4\xdc\x9f\xf8\ +\xb2\xad\xaa\x9d[\xfeM\xc9\xff\x00\x8b)\x99\x7f\x9b\x9f\ +\xf7O\xe4\x89|\xa7\xc8\xbcZd\xe9\x96\x0bII$\ +\x92JRI$\x92\x94\x92I$\xa5$\x92I)I\ +$\x92JRI$\x92\x94\x92I$\xa5$\x92I)\ +I$\x92JRI$\x92\x94\x92I$\xa5$\x92I\ +)I$\x92JRI$\x92\x94\x92I$\xa5$\x97\ +\x1c\xa2W\x8f\x91w\xf3U=\xfemi(\x80N\x80\ +Z\x91\xa4\xaf\xd7\xd1:\x9d\xbcPZ<^C\x7f)\ +\x95j\xaf\xaa\xf9\x8e\xfev\xda\xd9\xf0\x97\x1f\xc8\xd5$\ +yl\xd3\xdb\x1c\xbe\xa2\xbf5\xc3\x1c\xce\xd1.2K\ +\xa4\xaf\xea\xb5\x03\xf9\xdb\xde\xef\xea\x80\xdf\xcb\xb9Z\xab\ +\xea\xff\x00K\xaf\x9a\x8d\x87\xc5\xee'\xf0\x04\x0f\xc1M\ +\x1f\x87\xe7\x96\xfc1\xf3?\xc2\xd7\x0c\x13=\x83\xc8\xa2\ +\xd7\x8d\x91w\xf35>\xcf\xea4\xbb\xf2\x05\xdaW\x85\ +\x87O\xf3TV\xcf\x83B:\x96?\x0c\xfd\xec\x9f`\ +\xfe\xd5\xe3\x97\xef'\x8e\xab\xa1\xf5K\x7f\xc0\x96\x0f\x17\ +\x90?\x09\x95n\xbf\xaa\xf9\x8e\xfev\xca\xd8<\xa5\xc7\ +\xf2\x05\xd3$\xa6\x8f\xc3\xf0\x8d\xf8\xa5\xe6\x7f\x82\xe1\x82\ +\x03\xb9p\xea\xfa\xad\x8e?\x9e\xb9\xef\xfe\xa8\x0d\x1f\x8e\ +\xe5\x7f\x1b\xa3t\xecR\x1c\xca\x83\x9c8s\xfd\xc7\xf1\ +\xd1]IM\x0e[\x0c5\x8c\x07\xe7\xf9\xaf\x18\xe06\ +\x01I$\x92\x95r\x92I$\x94\xa4\x92I%)$\ +\x92IJI$\x92R\x92I$\x94\xa4\x92I%)\ +$\x92IJI$\x92R\x95N\xad\xff\x00&\xe4\xff\ +\x00\xc5\x95mT\xea\xdf\xf2nO\xfcYL\xcb\xfc\xdc\ +\xff\x00\xba\x7f$K\xe5>E\xe2\xd3'L\xb0ZJ\ +I$\x92R\x92I$\x94\xa4\x92I%)$\x92I\ +JI$\x92R\x92I$\x94\xa4\x92I%)$\x92\ +IJI$\x92R\x92I\x12\xba/\xbb\xf9\x9a\xdfg\ +\xf5ZO\xe4D\x02t\x1a\xa9\x1aJ\xf5}\x17\xa9\xdb\ +\xc5\x0e\x1f\xd6!\xbf\xf5D+u}X\xcdw\xf3\xb6\ +WX\xf2\x97\x1f\xc8\x07\xe2\xa4\x8f-\x9a{c\x97\xd9\ +_\x9a\xe1\x8egh\x97\x19%\xd1\xd7\xf5Z\x81\xfc\xed\ +\xeew\xf5@o\xe5\xdc\xad\xd5\xf5\x7f\xa6W\xcdf\xc3\ +\xe2\xf7\x1f\xc8\xd8\x0ah\xfc?<\xb7\x11\x8f\x99\xfe\x16\ +\xb8`\x99\xec\x1eE\x12\xbc{\xee1Uoy\xfeK\ +K\xbf ]\xadX8T\xff\x005Em\xf84\x7f\ +r4\x01\xa0R\xc7\xe1\x87\xf4\xb2}\x83\xfbW\x8e_\ +\xbc\x9e>\xae\x89\xd5-\xe2\x82\xd1\xe2\xf2\x1b\xf8\x13*\ +\xd5\x7fV3]\xfc\xe5\x95\xb3\xe1.?\x90.\x9d%\ +4~\x1d\x84ne/3\xfc\x17\x0c\x10\x1b\xd9p\xea\ +\xfa\xad@\xfez\xf7\xbf\xfa\x807\xf2\xefV\xab\xfa\xbf\ +\xd2\xeb\xe6\xb2\xf3\xfc\xa7\x13\xf9!i$\xa5\x8f+\x82\ +;c\x8f\xd7\xd5\xf9\xae\x18\xe0?D \xab\x07\x0e\x8d\ +j\xa2\xb6\x11\xdc4O\xdf\xca:I)DDt\x00\ +\x0f%\xe0\x01\xb2\x92I$T\xa4\x92I%)$\x92\ +IJI$\x92R\x92I$\x94\xa4\x92I%)$\ +\x92IJI$\x92R\x92I$\x94\xa4\x92I%)\ +$\x92IJI$\x92R\x92I$\x94\xa4\x92I%\ +)T\xea\xdf\xf2nO\xfcYV\xd5N\xad\xff\x00&\ +\xe4\xff\x00\xc5\x94\xcc\xbf\xcd\xcf\xfb\xa7\xf2D\xbeS\xe4\ +^-2t\xcb\x05\xa4\xa4\x92I%)$\x92IJ\ +I$\x92R\x92IN\xban\xbbJku\x9f\xd4i\ +w\xe4D\x02t\x1a\xa9\x82J\xf5}\x17\xa9\xdb\xf4h\ +p\xfe\xb47\xfe\xa8\x85j\xaf\xab\x19\xcf\x83c\xeb\xac\ +|K\x8f\xe0\x00\xfcT\x91\xe5\xf3Klr\xfb+\xf3\ +\x5c1\xcc\xed\x12\xe3\xa4\xba:\xfe\xaa\xd2?\x9e\xbd\xce\ +\xfe\xabC\x7f.\xe5j\xbf\xab\xdd2\xbf\xa4\xc7Y\xfd\ +w\x1f\xfb\xee\xd54~\x1f\x9e[\x88\xc7\xcc\xff\x00\x0b\ +\x5c0L\xf6\x0f$\x89]\x17Zb\xaa\xdc\xf3\xe0\xd6\ +\x93\xf9\x17iV\x06\x15?\xcdQ[|\xc3D\xfd\xe8\ +\xe0\x00 h\x14\xb1\xf8a\xfd,\x9f`^9~\xf2\ +x\xea\xba/S\xb7\x8a\x1c\xd1\xe2\xf2\x1b\xf88\xca\xb5\ +_\xd5\x8c\xe7\x7f8\xfa\xd9\xf3.?\x91u\x09)\xa3\ +\xf0\xec#s)}k\xf2\x5c0@oe\xc2\xab\xea\ +\xad#\xf9\xeb\xdc\xef&\x00\xdf\xcb\xbd[\xaf\xea\xf7K\ +\xaf\x9a\xdc\xf3\xfc\xa7\x1f\xe1\x0bI%,y\x5c\x11\xdb\ +\x1c~\xbe\xaf\xcdp\xc7\x01\xfa#\xf3k\xd5\x81\x85L\ +\x1a\xa8\xad\xa4w\xda'\xef\xe5XI%(\x88\x8e\x80\ +\x01\xe5\xa2\xf0\x00\xd9I$\x92*RI$\x92\x94\x92\ +I$\xa5$\x92I)I$\x92JRI$\x92\x94\ +\x92I$\xa5$\x92I)I$\x92JRI$\x92\ +\x94\x92I$\xa5$\x92I)I$\x92JRI$\ +\x92\x94\x92I$\xa5$\x92I)I$\x92JRI\ +$\x92\x94\x92I$\xa5$\x92I)J\xa7V\xff\x00\ +\x93r\x7f\xe2\xca\xb6\x83\x99A\xc9\xc5\xb7\x1d\xa44\xd8\ +\xd2\xd0OiM\xc8\x09\x84\x80\xdc\xc4\x8f\xc1\x12\xd4\x11\ +\xe0\xf0\xc9\x97E_\xd5Z\x86\xb7d9\xdf\xd5ho\ +\xe5.V\xeb\xfa\xbb\xd3+\xfaMu\x9f\xd6q\xff\x00\ +\xbe\xedYQ\xf8~yn\x04|\xcf\xf0\xb6\xb0\xc13\ +\xd8<\x92\x9b)\xb6\xd3\x15\xb1\xcf?\xc9\x04\xfeE\xda\ +\xd5\xd3\xf0i\xfej\x8a\xda|v\x89\xfb\xf9G\x00\x01\ +\x00@\xf2SG\xe1\x87\xf4\xb2\x0f\xa0^9~\xf2x\ +\xda\xba7S\xb7\xe8\xe3\xb9\xa3\xc5\xf0\xcf\xfa\xa2\x0a\xb7\ +_\xd5\x8c\xe7\x7f8\xfa\xd9\xf3'\xf8.\xa1%,~\ +\x1d\x84ne/\xad~K\x86\x08\x0d\xec\xb85}U\ +\xa8\x7f=\x90\xe3\xe4\xc6\x86\xfe.\xdc\xad\xd5\xf5{\xa6\ +W\xcb\x1da\xf1{\x8f\xf0\x85\xa6\x92\x9a<\xae\x08\xed\ +\x8c}}_\x9a\xe1\x8e\x03\xf4G\xe6\xd6\xaf\xa7`\xd3\ +\x1e\x9d\x15\x828;A?yV\x22\x13\xa4\xa5\x11\x8c\ +t\x88\x03\xc8R\xf0\x00\xdbE$\x92H\xa9I$\x92\ +JRI$\x92\x94\x92I$\xa5$\x92I)I$\ +\x92JRI$\x92\x94\x92I$\xa5$\x92I)I\ +$\x92JRI$\x92\x94\x92I$\xa5$\x92I)\ +I$\x92JRI$\x92\x94\x92I$\xa5$\x92I\ +)I$\x92JRI$\x92\x94\x92I$\xa5$\x92\ +I)I$\x92JRI$\x92\x9f\xff\xd9\x0aen\ +dstream \x0aendobj\x0a\ +\x0a32 0 obj\x0a\x0a<<\x0a/S\ + /GoTo\x0a/D [11 0 \ +R /FitH 718]\x0a>>\x0a\ +endobj\x0a\x0a25 0 obj\ +\x0a\x0a<<\x0a/Type /Outl\ +ines\x0a/Count 1\x0a/F\ +irst 33 0 R\x0a/Las\ +t 33 0 R\x0a>>\x0aendo\ +bj\x0a\x0a33 0 obj\x0a\x0a<<\ +\x0a/A 32 0 R\x0a/Pare\ +nt 25 0 R\x0a/Title\ + (the tiger)\x0a>>\x0a\ +endobj\x0a\x0a23 0 obj\ +\x0a\x0a<<\x0a/Subtype /X\ +ML\x0a/Length 4031\x0a\ +/Type /Metadata\x0a\ +>>\x0astream\x0a\x0a\ +\x0a \x0a\ + \x0a \ + 2015-12-04T10\ +:43:58+01:00\x0a \ + 2015-12-0\ +4T10:38:02+01:00\ +\x0a 201\ +5-12-04T10:43:58\ ++01:00\x0a \ +\x0a \x0a\ + application/\ +pdf\x0a\ + \x0a \ +\x0a \ + Test Docum\ +ent for Qt PDF r\ +endering\x0a \x0a \ + \x0a \ + \x0a \ + \x0a \ + testin\ +g of portable do\ +cument format\x0a \ + \x0a \ + \x0a \ + \x0a \ + \x0a \ + The \ +Qt Company\x0a \ +\x0a \ + \x0a \x0a \ + \x0a \ + PDF\x0a \ + renderi\ +ng\x0a \ + search\x0a \ + TOC\x0a \ + \x0a \ + \x0a \x0a \ + \x0a \ + uuid:2b0\ +b68ee-0b1f-6045-\ +a8ea-7f7d134162e\ +f\x0a \ +uuid:36d03ad5-25\ +6c-474c-822b-42b\ +ac4cfe5ad\x0a \ + \x0a \x0a\ + PDF, rend\ +ering, search, T\ +OC\x0a \x0a \x0a\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \x0a\x0aendstr\ +eam \x0aendobj\x0a\x0a26 \ +0 obj\x0a\x0a<<\x0a/Nums \ +[0 \x0a<<\x0a/P (\xfe\xff\x00Q\x00\ +t)\x0a>> 1 \x0a<<\x0a/S /\ +D\x0a>> 2 \x0a<<\x0a/S /r\ +\x0a>>]\x0a>>\x0aendobj\x0a\x0a\ +34 0 obj\x0a\x0a<<\x0a/Ke\ +ywords (PDF, ren\ +dering, search, \ +TOC)\x0a/ModDate (D\ +:20151204104358+\ +01'00')\x0a/Creatio\ +nDate (D:2015120\ +4103802+01'00')\x0a\ +/Subject (testin\ +g of portable do\ +cument format)\x0a/\ +Author (The Qt C\ +ompany)\x0a/Title (\ +Test Document fo\ +r Qt PDF renderi\ +ng)\x0a>>\x0aendobj\x0axr\ +ef\x0a0 35\x0a00000000\ +00 65535 f \x0a0000\ +000015 00000 n \x0a\ +0000000266 00000\ + n \x0a0000051153 0\ +0000 n \x0a00000001\ +67 00000 n \x0a0000\ +052661 00000 n \x0a\ +0000048499 00000\ + n \x0a0000048533 0\ +0000 n \x0a00000006\ +99 00000 n \x0a0000\ +001891 00000 n \x0a\ +0000011311 00000\ + n \x0a0000011576 0\ +0000 n \x0a00000118\ +80 00000 n \x0a0000\ +051448 00000 n \x0a\ +0000011815 00000\ + n \x0a0000048037 0\ +0000 n \x0a00000480\ +87 00000 n \x0a0000\ +048939 00000 n \x0a\ +0000050266 00000\ + n \x0a0000050368 0\ +0000 n \x0a00000504\ +56 00000 n \x0a0000\ +053003 00000 n \x0a\ +0000052734 00000\ + n \x0a0000071321 0\ +0000 n \x0a00000528\ +56 00000 n \x0a0000\ +071177 00000 n \x0a\ +0000075438 00000\ + n \x0a0000053307 0\ +0000 n \x0a00000532\ +71 00000 n \x0a0000\ +056564 00000 n \x0a\ +0000053886 00000\ + n \x0a0000053424 0\ +0000 n \x0a00000711\ +22 00000 n \x0a0000\ +071253 00000 n \x0a\ +0000075521 00000\ + n \x0atrailer\x0a\x0a<<\x0a\ +/Info 34 0 R\x0a/ID\ + [<4d817246d2ed4\ +7c78e1b455cf09ed\ +407> <086f96dd45\ +7c4bbca529ed1348\ +a1b7b0>]\x0a/Root 2\ +2 0 R\x0a/Size 35\x0a>\ +>\x0astartxref\x0a7577\ +5\x0a%%EOF\x0a\ +\x00\x00\x02\xa5\ +<\ +svg xmlns=\x22http:\ +//www.w3.org/200\ +0/svg\x22 viewBox=\x22\ +0 0 24 24\x22>\x0a \x0a \ +\x0a \x0a \x0a\x0a\ +\x00\x00\x015\ +<\ +svg height=\x2224\x22 \ +width=\x2224\x22 xmlns\ +=\x22http://www.w3.\ +org/2000/svg\x22>\x0a \ + \ +\x0a \x0a \x0a\ +\x0a\ +\x00\x00\x02\x02\ +<\ +svg xmlns=\x22http:\ +//www.w3.org/200\ +0/svg\x22 viewBox=\x22\ +0 0 24 24\x22>\x0a \x0a \ +\x0a \x0a \x0a\ +\x0a\ +\x00\x00\x02\xfd\ +<\ +svg xmlns=\x22http:\ +//www.w3.org/200\ +0/svg\x22 viewBox=\x22\ +0 0 24 24\x22>\x0a \x0a \ +\x0a \x0a \x0a\x0a\ +" + +qt_resource_name = b"\ +\x00\x09\ +\x0d\xcf \x82\ +\x00p\ +\x00d\x00f\x00v\x00i\x00e\x00w\x00e\x00r\ +\x00\x09\ +\x0alxC\ +\x00r\ +\x00e\x00s\x00o\x00u\x00r\x00c\x00e\x00s\ +\x00\x11\ +\x09\x02%\xc7\ +\x00z\ +\x00o\x00o\x00m\x00-\x00f\x00i\x00t\x00-\x00b\x00e\x00s\x00t\x00.\x00s\x00v\x00g\ +\ +\x00\x0b\ +\x03\x03\x96\xc7\ +\x00z\ +\x00o\x00o\x00m\x00-\x00i\x00n\x00.\x00s\x00v\x00g\ +\x00\x13\ +\x0a\xb9\xc5\x87\ +\x00e\ +\x00d\x00i\x00t\x00-\x00s\x00e\x00l\x00e\x00c\x00t\x00-\x00a\x00l\x00l\x00.\x00s\ +\x00v\x00g\ +\x00\x11\ +\x0e\xab>\xc7\ +\x00z\ +\x00o\x00o\x00m\x00-\x00o\x00r\x00i\x00g\x00i\x00n\x00a\x00l\x00.\x00s\x00v\x00g\ +\ +\x00\x15\ +\x0f!\xbe\x07\ +\x00g\ +\x00o\x00-\x00n\x00e\x00x\x00t\x00-\x00v\x00i\x00e\x00w\x00-\x00p\x00a\x00g\x00e\ +\x00.\x00s\x00v\x00g\ +\x00\x0d\ +\x01\x1c\xbc'\ +\x00e\ +\x00d\x00i\x00t\x00-\x00c\x00o\x00p\x00y\x00.\x00s\x00v\x00g\ +\x00\x12\ +\x01\xfcA\x87\ +\x00z\ +\x00o\x00o\x00m\x00-\x00f\x00i\x00t\x00-\x00w\x00i\x00d\x00t\x00h\x00.\x00s\x00v\ +\x00g\ +\x00\x11\ +\x01\xa6\xc9\x07\ +\x00d\ +\x00o\x00c\x00u\x00m\x00e\x00n\x00t\x00-\x00o\x00p\x00e\x00n\x00.\x00s\x00v\x00g\ +\ +\x00\x10\ +\x0c\xa1\x91\x87\ +\x00r\ +\x00o\x00t\x00a\x00t\x00e\x00-\x00r\x00i\x00g\x00h\x00t\x00.\x00s\x00v\x00g\ +\x00\x0f\ +\x0e\xc2?'\ +\x00r\ +\x00o\x00t\x00a\x00t\x00e\x00-\x00l\x00e\x00f\x00t\x00.\x00s\x00v\x00g\ +\x00\x08\ +\x0c\xa7Y\xe6\ +\x00t\ +\x00e\x00s\x00t\x00.\x00p\x00d\x00f\ +\x00\x0e\ +\x0d\x8b4g\ +\x00e\ +\x00d\x00i\x00t\x00-\x00c\x00l\x00e\x00a\x00r\x00.\x00s\x00v\x00g\ +\x00\x10\ +\x00\xe9\xe4\xe7\ +\x00g\ +\x00o\x00-\x00u\x00p\x00-\x00s\x00e\x00a\x00r\x00c\x00h\x00.\x00s\x00v\x00g\ +\x00\x12\ +\x0f:\x80G\ +\x00g\ +\x00o\x00-\x00d\x00o\x00w\x00n\x00-\x00s\x00e\x00a\x00r\x00c\x00h\x00.\x00s\x00v\ +\x00g\ +\x00\x19\ +\x0d\x16K\xa7\ +\x00g\ +\x00o\x00-\x00p\x00r\x00e\x00v\x00i\x00o\x00u\x00s\x00-\x00v\x00i\x00e\x00w\x00-\ +\x00p\x00a\x00g\x00e\x00.\x00s\x00v\x00g\ +\x00\x0c\ +\x06\xeb\x9ag\ +\x00z\ +\x00o\x00o\x00m\x00-\x00o\x00u\x00t\x00.\x00s\x00v\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x18\x00\x02\x00\x00\x00\x10\x00\x00\x00\x03\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x01\xec\x00\x00\x00\x00\x00\x01\x00\x01D\xb8\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x00\xf8\x00\x00\x00\x00\x00\x01\x00\x00\x0er\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x01B\x00\x00\x00\x00\x00\x01\x00\x00\x12\x1d\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x01\x18\x00\x00\x00\x00\x00\x01\x00\x00\x10B\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x00X\x00\x00\x00\x00\x00\x01\x00\x00\x03\x10\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x02t\x00\x00\x00\x00\x00\x01\x00\x01I\xfd\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x000\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x00t\x00\x00\x00\x00\x00\x01\x00\x00\x06r\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x01j\x00\x00\x00\x00\x00\x01\x00\x00\x13\xa7\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x01\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x16\xb2\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x02<\x00\x00\x00\x00\x00\x01\x00\x01G\xf7\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x01\xca\x00\x00\x00\x00\x00\x01\x00\x01B\x0f\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x01\x00\x00\x09\xe4\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x01\x90\x00\x00\x00\x00\x00\x01\x00\x00\x15$\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x00\xc8\x00\x00\x00\x00\x00\x01\x00\x00\x0cl\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +\x00\x00\x02\x12\x00\x00\x00\x00\x00\x01\x00\x01E\xf1\ +\x00\x00\x01\x83\x17\xd5\xbe\xab\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/pdf/quickpdfviewer/resources/document-open.svg b/examples/pdf/quickpdfviewer/resources/document-open.svg new file mode 100644 index 0000000..bf23123 --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/document-open.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/resources/edit-clear.svg b/examples/pdf/quickpdfviewer/resources/edit-clear.svg new file mode 100644 index 0000000..1c35aaf --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/edit-clear.svg @@ -0,0 +1,15 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/resources/edit-copy.svg b/examples/pdf/quickpdfviewer/resources/edit-copy.svg new file mode 100644 index 0000000..9dd1687 --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/edit-copy.svg @@ -0,0 +1,15 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/resources/edit-select-all.svg b/examples/pdf/quickpdfviewer/resources/edit-select-all.svg new file mode 100644 index 0000000..5f21950 --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/edit-select-all.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/resources/go-down-search.svg b/examples/pdf/quickpdfviewer/resources/go-down-search.svg new file mode 100644 index 0000000..ae17ab9 --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/go-down-search.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/resources/go-next-view-page.svg b/examples/pdf/quickpdfviewer/resources/go-next-view-page.svg new file mode 100644 index 0000000..e453ddb --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/go-next-view-page.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/resources/go-previous-view-page.svg b/examples/pdf/quickpdfviewer/resources/go-previous-view-page.svg new file mode 100644 index 0000000..b032309 --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/go-previous-view-page.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/resources/go-up-search.svg b/examples/pdf/quickpdfviewer/resources/go-up-search.svg new file mode 100644 index 0000000..5cc1558 --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/go-up-search.svg @@ -0,0 +1,8 @@ + + + + diff --git a/examples/pdf/quickpdfviewer/resources/rotate-left.svg b/examples/pdf/quickpdfviewer/resources/rotate-left.svg new file mode 100644 index 0000000..90ce53c --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/rotate-left.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/resources/rotate-right.svg b/examples/pdf/quickpdfviewer/resources/rotate-right.svg new file mode 100644 index 0000000..7383d1c --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/rotate-right.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/resources/test.pdf b/examples/pdf/quickpdfviewer/resources/test.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0832dfbed7c8487163e0913ea99eec918a9a7c91 GIT binary patch literal 76633 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 g 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 literal 0 HcmV?d00001 diff --git a/examples/pdf/quickpdfviewer/resources/zoom-fit-best.svg b/examples/pdf/quickpdfviewer/resources/zoom-fit-best.svg new file mode 100644 index 0000000..adf3026 --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/zoom-fit-best.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/resources/zoom-fit-width.svg b/examples/pdf/quickpdfviewer/resources/zoom-fit-width.svg new file mode 100644 index 0000000..985ee52 --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/zoom-fit-width.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/resources/zoom-in.svg b/examples/pdf/quickpdfviewer/resources/zoom-in.svg new file mode 100644 index 0000000..efdc9f1 --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/zoom-in.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/resources/zoom-original.svg b/examples/pdf/quickpdfviewer/resources/zoom-original.svg new file mode 100644 index 0000000..1b4080a --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/zoom-original.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/resources/zoom-out.svg b/examples/pdf/quickpdfviewer/resources/zoom-out.svg new file mode 100644 index 0000000..fcde9e5 --- /dev/null +++ b/examples/pdf/quickpdfviewer/resources/zoom-out.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/examples/pdf/quickpdfviewer/viewer.qml b/examples/pdf/quickpdfviewer/viewer.qml new file mode 100644 index 0000000..998c41d --- /dev/null +++ b/examples/pdf/quickpdfviewer/viewer.qml @@ -0,0 +1,307 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +import QtQuick +import QtQuick.Controls +import QtQuick.Dialogs +import QtQuick.Layouts +import QtQuick.Pdf + +ApplicationWindow { + id: root + width: 800 + height: 1024 + color: "lightgrey" + title: document.title + visible: true + required property url source // for main.py + property real scaleStep: Math.sqrt(2) + + header: ToolBar { + RowLayout { + anchors.fill: parent + anchors.rightMargin: 6 + ToolButton { + action: Action { + shortcut: StandardKey.Open + icon.source: "qrc:/pdfviewer/resources/document-open.svg" + onTriggered: fileDialog.open() + } + } + ToolButton { + action: Action { + shortcut: StandardKey.ZoomIn + enabled: view.sourceSize.width < 10000 + icon.source: "qrc:/pdfviewer/resources/zoom-in.svg" + onTriggered: view.renderScale *= root.scaleStep + } + } + ToolButton { + action: Action { + shortcut: StandardKey.ZoomOut + enabled: view.sourceSize.width > 50 + icon.source: "qrc:/pdfviewer/resources/zoom-out.svg" + onTriggered: view.renderScale /= root.scaleStep + } + } + ToolButton { + action: Action { + icon.source: "qrc:/pdfviewer/resources/zoom-fit-width.svg" + onTriggered: view.scaleToWidth(root.contentItem.width, root.contentItem.height) + } + } + ToolButton { + action: Action { + icon.source: "qrc:/pdfviewer/resources/zoom-fit-best.svg" + onTriggered: view.scaleToPage(root.contentItem.width, root.contentItem.height) + } + } + ToolButton { + action: Action { + shortcut: "Ctrl+0" + icon.source: "qrc:/pdfviewer/resources/zoom-original.svg" + onTriggered: view.resetScale() + } + } + ToolButton { + action: Action { + shortcut: "Ctrl+L" + icon.source: "qrc:/pdfviewer/resources/rotate-left.svg" + onTriggered: view.pageRotation -= 90 + } + } + ToolButton { + action: Action { + shortcut: "Ctrl+R" + icon.source: "qrc:/pdfviewer/resources/rotate-right.svg" + onTriggered: view.pageRotation += 90 + } + } + ToolButton { + action: Action { + icon.source: "qrc:/pdfviewer/resources/go-previous-view-page.svg" + enabled: view.backEnabled + onTriggered: view.back() + } + ToolTip.visible: enabled && hovered + ToolTip.delay: 2000 + ToolTip.text: "go back" + } + SpinBox { + id: currentPageSB + from: 1 + to: document.pageCount + editable: true + value: view.currentPage + 1 + onValueModified: view.goToPage(value - 1) + Shortcut { + sequence: StandardKey.MoveToPreviousPage + onActivated: view.goToPage(currentPageSB.value - 2) + } + Shortcut { + sequence: StandardKey.MoveToNextPage + onActivated: view.goToPage(currentPageSB.value) + } + } + ToolButton { + action: Action { + icon.source: "qrc:/pdfviewer/resources/go-next-view-page.svg" + enabled: view.forwardEnabled + onTriggered: view.forward() + } + ToolTip.visible: enabled && hovered + ToolTip.delay: 2000 + ToolTip.text: "go forward" + } + ToolButton { + action: Action { + shortcut: StandardKey.SelectAll + icon.source: "qrc:/pdfviewer/resources/edit-select-all.svg" + onTriggered: view.selectAll() + } + } + ToolButton { + action: Action { + shortcut: StandardKey.Copy + icon.source: "qrc:/pdfviewer/resources/edit-copy.svg" + enabled: view.selectedText !== "" + onTriggered: view.copySelectionToClipboard() + } + } + Shortcut { + sequence: StandardKey.Find + onActivated: searchField.forceActiveFocus() + } + Shortcut { + sequence: StandardKey.Quit + onActivated: Qt.quit() + } + } + } + + FileDialog { + id: fileDialog + title: "Open a PDF file" + nameFilters: [ "PDF files (*.pdf)" ] + onAccepted: document.source = selectedFile + } + + Dialog { + id: passwordDialog + title: "Password" + standardButtons: Dialog.Ok | Dialog.Cancel + modal: true + closePolicy: Popup.CloseOnEscape + anchors.centerIn: parent + width: 300 + + contentItem: TextField { + id: passwordField + placeholderText: qsTr("Please provide the password") + echoMode: TextInput.Password + width: parent.width + onAccepted: passwordDialog.accept() + } + onOpened: function() { passwordField.forceActiveFocus() } + onAccepted: document.password = passwordField.text + } + + Dialog { + id: errorDialog + title: "Error loading " + document.source + standardButtons: Dialog.Close + modal: true + closePolicy: Popup.CloseOnEscape + anchors.centerIn: parent + width: 300 + visible: document.status === PdfDocument.Error + + contentItem: Label { + id: errorField + text: document.error + } + } + + PdfScrollablePageView { + id: view + anchors.fill: parent + anchors.leftMargin: searchDrawer.position * searchDrawer.width + document: PdfDocument { + id: document + source: Qt.resolvedUrl(root.source) + onPasswordRequired: passwordDialog.open() + } + searchString: searchField.text + } + + Drawer { + id: searchDrawer + edge: Qt.LeftEdge +// modal: false +// dim: false // commented out as workaround for QTBUG-83859 + width: 300 + y: root.header.height + height: view.height + clip: true + ListView { + id: searchResultsList + anchors.fill: parent + anchors.margins: 2 + model: view.searchModel + currentIndex: view.searchModel.currentResult + ScrollBar.vertical: ScrollBar { } + delegate: ItemDelegate { + id: resultDelegate + required property int index + required property int page + required property string contextBefore + required property string contextAfter + width: parent ? parent.width : 0 + RowLayout { + anchors.fill: parent + spacing: 0 + Label { + text: "Page " + (resultDelegate.page + 1) + ": " + } + Label { + text: resultDelegate.contextBefore + elide: Text.ElideLeft + horizontalAlignment: Text.AlignRight + Layout.fillWidth: true + Layout.preferredWidth: parent.width / 2 + } + Label { + font.bold: true + text: view.searchString + width: implicitWidth + } + Label { + text: resultDelegate.contextAfter + elide: Text.ElideRight + Layout.fillWidth: true + Layout.preferredWidth: parent.width / 2 + } + } + highlighted: ListView.isCurrentItem + onClicked: view.searchModel.currentResult = resultDelegate.index + } + } + } + + footer: ToolBar { + height: footerRow.implicitHeight + RowLayout { + id: footerRow + anchors.fill: parent + ToolButton { + action: Action { + icon.source: "qrc:/pdfviewer/resources/go-up-search.svg" + shortcut: StandardKey.FindPrevious + onTriggered: view.searchBack() + } + ToolTip.visible: enabled && hovered + ToolTip.delay: 2000 + ToolTip.text: "find previous" + } + TextField { + id: searchField + placeholderText: "search" + Layout.minimumWidth: 150 + Layout.maximumWidth: 300 + Layout.fillWidth: true + onAccepted: searchDrawer.open() + Image { + visible: searchField.text !== "" + source: "qrc:/pdfviewer/resources/edit-clear.svg" + anchors { + right: parent.right + top: parent.top + bottom: parent.bottom + margins: 3 + rightMargin: 5 + } + TapHandler { + onTapped: searchField.clear() + } + } + } + ToolButton { + action: Action { + icon.source: "qrc:/pdfviewer/resources/go-down-search.svg" + shortcut: StandardKey.FindNext + onTriggered: view.searchForward() + } + ToolTip.visible: enabled && hovered + ToolTip.delay: 2000 + ToolTip.text: "find next" + } + Label { + Layout.fillWidth: true + property size implicitPointSize: document.pagePointSize(view.currentPage) + text: "page " + (view.currentPage + 1) + " of " + document.pageCount + + " scale " + view.renderScale.toFixed(2) + + " original " + implicitPointSize.width.toFixed(1) + "x" + implicitPointSize.height.toFixed(1) + "pts" + visible: document.status === PdfDocument.Ready + } + } + } +} diff --git a/examples/pdf/quickpdfviewer/viewer.qrc b/examples/pdf/quickpdfviewer/viewer.qrc new file mode 100644 index 0000000..3f5fae9 --- /dev/null +++ b/examples/pdf/quickpdfviewer/viewer.qrc @@ -0,0 +1,20 @@ + + + resources/document-open.svg + resources/edit-clear.svg + resources/edit-copy.svg + resources/edit-select-all.svg + resources/go-down-search.svg + resources/go-next-view-page.svg + resources/go-previous-view-page.svg + resources/go-up-search.svg + resources/rotate-left.svg + resources/rotate-right.svg + resources/test.pdf + resources/zoom-in.svg + resources/zoom-fit-best.svg + resources/zoom-fit-width.svg + resources/zoom-original.svg + resources/zoom-out.svg + + diff --git a/examples/pdfwidgets/pdfviewer/doc/pdfviewer.rst b/examples/pdfwidgets/pdfviewer/doc/pdfviewer.rst new file mode 100644 index 0000000..1e90c85 --- /dev/null +++ b/examples/pdfwidgets/pdfviewer/doc/pdfviewer.rst @@ -0,0 +1,5 @@ +PDF Viewer Example +================== + +The PDF Viewer example demonstrates how to use the QPdfView class to render +PDF documents and the QPdfPageNavigator class to navigate them. diff --git a/examples/pdfwidgets/pdfviewer/images/document-open.svgz b/examples/pdfwidgets/pdfviewer/images/document-open.svgz new file mode 100644 index 0000000000000000000000000000000000000000..5ddde5981a404087dfe984ac97b99b723e541a99 GIT binary patch literal 4276 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 WIc{{j#}mE=d+|TU$R+}?H2?s;qk7K( literal 0 HcmV?d00001 diff --git a/examples/pdfwidgets/pdfviewer/images/go-next-view-page.svgz b/examples/pdfwidgets/pdfviewer/images/go-next-view-page.svgz new file mode 100644 index 0000000000000000000000000000000000000000..e7f7bece467193241fb8c3ba9ad4f88994a61364 GIT binary patch literal 12615 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 literal 0 HcmV?d00001 diff --git a/examples/pdfwidgets/pdfviewer/images/go-next-view.svgz b/examples/pdfwidgets/pdfviewer/images/go-next-view.svgz new file mode 100644 index 0000000000000000000000000000000000000000..2f86541ccbab05cb2f2a4ee040320830c9656d8a GIT binary patch literal 6360 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 aJlp5`>-*!|pI-m*cmE%UN$#={lmGz4Lw#fb literal 0 HcmV?d00001 diff --git a/examples/pdfwidgets/pdfviewer/images/go-previous-view-page.svgz b/examples/pdfwidgets/pdfviewer/images/go-previous-view-page.svgz new file mode 100644 index 0000000000000000000000000000000000000000..f4df6df404c1a4201627d13a687095ca2087d987 GIT binary patch literal 12602 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 DM1tNl literal 0 HcmV?d00001 diff --git a/examples/pdfwidgets/pdfviewer/images/zoom-fit-best.svgz b/examples/pdfwidgets/pdfviewer/images/zoom-fit-best.svgz new file mode 100644 index 0000000000000000000000000000000000000000..0cb1b3074dda2c1996bc5814fad345fb646cb56b GIT binary patch literal 6121 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 literal 0 HcmV?d00001 diff --git a/examples/pdfwidgets/pdfviewer/images/zoom-fit-width.svgz b/examples/pdfwidgets/pdfviewer/images/zoom-fit-width.svgz new file mode 100644 index 0000000000000000000000000000000000000000..a467f6eae2ea1e73934ec8d0c4b10bd70611df76 GIT binary patch literal 6109 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 literal 0 HcmV?d00001 diff --git a/examples/pdfwidgets/pdfviewer/images/zoom-in.svgz b/examples/pdfwidgets/pdfviewer/images/zoom-in.svgz new file mode 100644 index 0000000000000000000000000000000000000000..21d6c2ab21d6eebffce1e0ac1581f68ff9c3769e GIT binary patch literal 6033 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 L3$O|dnVSFr!6}V@ literal 0 HcmV?d00001 diff --git a/examples/pdfwidgets/pdfviewer/images/zoom-original.svgz b/examples/pdfwidgets/pdfviewer/images/zoom-original.svgz new file mode 100644 index 0000000000000000000000000000000000000000..afa79db1954e72ade61604898170d2bc5129c21c GIT binary patch literal 5541 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�i%GJQTV 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 literal 0 HcmV?d00001 diff --git a/examples/pdfwidgets/pdfviewer/images/zoom-out.svgz b/examples/pdfwidgets/pdfviewer/images/zoom-out.svgz new file mode 100644 index 0000000000000000000000000000000000000000..b6db7a144d7935181ed4055901de3e13d85f41d3 GIT binary patch literal 5420 zcmV+{71Qb;iwFP!000000PQ_%Z{tRi-{)8GoG&p>r275vcxHj!L4p7m9I%^U_gg?q zl&y;_8j?Jg=ht6V^VK9<6y=d8L0~(Hsp{%ib-h`wT>ouPfy9R1Sa|Bc6u4b@yB=XuD73W-$hXb^RBm7^Vx@svctpUX5|p) zvuU=l27QLJFF$9q{Qf>)Z(Yyz_B#)GGhfu$xSA*Kkf^nGO4yXK z7%<}P^Lm%=<91hAW2h@5giN8W!5oKmwO;`#4lc&E`m+Q1AK>4*Lj_2-`Qv7mEud$X zth3$p(=VUu#+W4Y-P{|dqJC@M){(5!`)vD=&a&;ag1i1t%lYmOxPck>@h)55-tC&t z%lU^3*dG_9_*|{vs^%k-a8{s}!}?9aBsAJst%yTuF<)!Ac|OAxez^ZoN}wvLxGV6`dqTctOvY?{t?O9!}5SF5Qodts*Ab@~v)fO+z;z75W_pFhCS zQZ9q7&volZXuh6ji!GuRRL4(TP~zI46&NQ=H$QID`4YsX!1IQj<*QXTgOf{FPwDga zqDFwB+FiM&svH!C-R|;-3Kz~}_q+nKATWjz^Uc+F^oB{!-#bta47A)mU(xp$O`m+R z*k&*>@nDW^pa;waN@eMF0N7#SR}=pnSh)HnEB; zX(utTOrjK%m(BVpkVIIJMXMUpJOk9ogmWQCvz9#rTq$q_vG`-?gut&VK3NHJ%veG=V|o%RPC+0ov)@3baiQtzRmj*L z8p&wRMn<5O`!SA;+;zkNn zFm6X!nA05_N3HR$#=`x)(6NEJ#7T}#XtvRg4a}yF>Be&ib%&mmnqlGgxN{u$p)?wu z$d(|2Gh?(Qo;E{4G&V7U8ZKLc2^Qc1WJ6NsWHC*W=n zJ}Dnjw;+O$3bYANELW6qKA{vWA_3icImR;zka0Yt%=uzAicx}WNj(qvu&+=>cbx$f zDM5=8PmqHvyh#^w(Q%nb!hnt-?(F@j`BiX!Eu~`AJICPshTq8SraQl|;7wXKG=I=N z(Tkbtj-`zdhG{ceKEaUx0rCke9FR}Vyn}RRP=oFU%SKz$Cs?ASmaHXwebhw=6=aXI zL{g?zKhz2NK^pjr7vg3)2!_y33N1teAaWCjU=`!&8c{G5+Q6fdz?fj!FGnhySFkKd z>G4cexG68SEX)ju@W|Q5TNY-Ha_(Ze+GU%XXK>bdxdzZf4qn4DU&jRooW%B@KmPsV zBtjQmVHsXdVv+rrK5np}j^H165rCSzi6s0ukU)|Yydj^=@ctj|c z^lD-Yaj%NG7bFHmR|IU?i=z+cE>rYhg&_)_LFB*y8W1kgag;4MfL7DCqij`Tl#x`n zRYVVW5yWlji1UkPP0erQ_+i!}mhnJfd~W9tgEyG*XlCnMh^e5jA*K+@8OsGV!%`~f zK`A|7Vt|t0Vl%*R==GkO)^mXqSTQAxCm0wyah`BunCIlW(8-#F8b&-^<{V-rjT)bt zYj5R*++2H&)JxJ;`8cDbr=hBRTmk*MeB2N2CzKzuvHJRKlm!2U2S(TQc=qX!F$L`8 zAnQD);B}qF*G!raLA^|9ScFea?rk47SvvnY+uh}OMA-sY)fRBW6Gez@=SF}ughLS7 z7H|;lgrn!>OAvU&=&rmVz$`ZWtuh}(@OU8i;o;d>h6YV&kpNZ0vUfD%wC49m{@{--qL5OB!E^ff;Vgl0X_U zMrccx`nZcAZu3TF+(EuVnh2@zt;{f<^S85woc<9nAdYbrd&&EU*X6yFy*F;Gj&;lr zF;1NZFxJMR^@@LFNVS;ZZ->uL;~j&)-4Q~ron#CGEZvRdi|QN#K~}7fyN-a#V|KuK z)Qoejr9HA|k}U!?7GtKCF1-_)+E~JbALoS2J9tL3e#OI>sWlvM=*`HH8E4t-W_EMv zfKRKX=toN&xc|t~nIJFVOJbFI$r-_H{B$Cv*=*61g7@d5l91GZkD-rIN=Qax8fNVy zY?Wnj&R-?P0)NLyu_)dtge-xy3e^xleoU}c7TY-Vrt!#8E!09TaYY~%{ z)n+YPV%iQUVd!6ymin90GAVqGbz(0+4rkYahD8ioHr(W!dA6yVl>2Elm8QSBE#e&+j#{^qaQpTyo##&< zE?Bn_ua{uJrlc}b^qO6e$P=xJ<)+t&>meecq_IPF<2;`|;$^1zu{i37eXslDW`hW; z^f}wKuhuk|Z;Yusme+GU$o4LOD(Hiin~zy{25k3t@8Mw6?FP>$)bVM#h7NIcA&ANz zVM>f@nYyko>S6!^19UALpYau^2tH@`O_1|p<4`6KXb9iQQStJxLm*>v}Dc@F}E_xS#Mf4>41 zS2whfk=o6m#ju;KxThDq+Bl!xFR|0~U%TaM^%G9wg-zw4%iSvb=;kaQt6faXZB#*z zx6A8kMF#ijwjs~0R&^qK7pm|!pw^_4Oig0EdXUBHvLfSc%~b&l#D!prp#i4}Ghnl^ zSdUrBVZw=PmR1wI(m-?q&L#)HQ}RR-VcBJyHL=vU36nPFJ5(<&z`vp+& z3TXR%#}K<~R+p~X3+uPLP5yg!wa(WKE0!rlm`@Ak2iv8_>m-jGb&T~6t}M}ObFaNE zP=L2eS%I%(DH0Gp-5M%HQcYlQ5RXi}$2bfIqkriK+-;)aq(X!2(pG7MTcS!7YwW7O zEADQkuvRLi(*0OBr+DurPC+{zC=VVw9X0ZF&P*e;3Eny@1yiWZbTb>;M6b}@m=jnG zXV${B@;TM??nRDX?K@RoFX=%_RT)Ps7>p0pcS=dM5V^iMNF!}qgjM^XsnPz zMxYD00mU#WI!AHwxBgh*fuPqdRgVTx;=(c1|E{94kwjlY%iZqMO*ipXwPkBqH&3Xb z(lUKMHlfsl??xb z55COxXP}AHmN2C!7|~e9gFYJKKk`Z}&J!RU{XfPhx6nQFitfp}0!ON6^epeVQ) z%5iG_+#tl1<2?e!z%@}SF%T+?otmh6=EWU zmT#7~%QZ#{KSvP6<9%q*r><-cmK*&eq7aZP5IEBS-E~lhCskq%2YK;eS~PuYpvAHR zV;S|v10k*ktS4?@(A(MsTs*-%D5E^#l=%bJAaCLt<}I)ut=UI^zh9yj8D#l@ivfm& z=LW{mL2;d=NrY4!B&C717E=K&Nen6!(+meud~5r{kz9hw;ihPm%i|mb!AXGn&ucQG>#64Iudbu7j2ad1s-l1vQ<9?TdtvHaP;4849 z)=Q!Eoq09j>ST1{!9xg2t<;CO4T#UP}mrN_>kNKyA1 zmkI8{s)s^%VIOdOD#WI>kMGTZu)@CuuaBc&RRFxP%LN&!o%0ONo3$Q7-0e~M>XoZ5 z4QeiqH!#Yb2*H?C4XAo39CdK;tQBr90p1UH&4r@$J2*%&ye(9G0d$)Ypl3ir8d%k% zaMxWQ8aYH>wz>th@Es(q#O$zdMJ;qS;;?VUM&?r9)Y_X`3#&EE;WA=d-v@F|C(5cO zfdEk$(WN@7@(19(38orQ`M1zTu7k@SP?xZ)8oS8e*a(uU^rfH|bn{@%=;eBZEMhz= zEj3Mh-0xDTBUXsNQ%JBwri?PZ+dOPpDI-8v zwoDvU+ku{jNF1aA)}0D{gx!pY3RG(*<=9cX!$EB%PkVW12VdR=lTcc`#dU8wX@pMV zOc<+LMdmNnNneqp2R97l*|c7fzcK9_(}vVz{~q$mSuZAnDSB>)Q}o))(Gv@TQ+lzs z%x4=R3Dpg#{9Bk<*MUbR8mk+-$lllpsy$?vjHVu}8NFB!hw#POJwv(HO?%w$QkYm$ zU3-N8HHqarP@ZhXDYX1jb7&mK3Q)7|4H!)liLERU8$l!*Z8iX5!9 z1jA)lprbWmoq`9AMcb4EN`3#-E8_90c#f6v$Uq%WsF0_|kLrP|#tyDGaM@B1+g`$f zdWKHT(onTitCFFA5w}&z(7(OgC|pXqeBlM=rJ41cM@sx3asV0W#Je@rr;K7o0&z~CzPC;574Nj_@~lUc z`v00z6wZ1rdn~`}Q2p7zfD_#BbMT4|45jgFWsH9__wdvQSL^L<;0Q|^vWkTCWEvhg zwIOD&YZQCS(Z-!9KfvrkavfrKjkXr3$WCJS0fTXf-T6XhX5OY1Y{i1YRjT|JEciJt z0AptixHVX1GTIuHTkWxYpD-0Io!XIe}204v0mOJ@#pgNHJPAr1=uAWzuyP*l>d;fc7z W6wU-*K8YbRm}TPt9yVM!-j!17MQWI`(~8L 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%0DcnX5+C~tnAIDeHfFbv_tPNPCZ{zVjUI9-`* zCv9>4cZaP7bqrNO-5nZZxB;CN0GmoUnW`F3JSt_rTqa%oE=#qs3W=Q3ZCzd|2xxLe zKkijlg7n(^n6eVItE}Fv;+s{B_)z$I6BrdsqS0{NCEKg%4yh;2cC?e^dv%j$Nrlp{ zm|Uw{dP!O(di0W#Tvd8W5P7s-0u|FyODMlFwFEA5t(F9CA@!>z&~6d6q=;s{YDrRU zyjqf69;KF8C-yy@X|jX!fN#p?P1(eijp72Yww^%QM8j52!9U~m>EY^IDl<#~S!G>X zO=+UJ>~pJNc^j?8Af%<0$IhHcQMZlD1P@^K2d}%Z4mdtFVq3b4AM}7Q@85#g$I-9y zfS~PaKt^ikJcILQZGez&*QkB<+EteZH5bRb>eWnyU`(nORDbY}IyiXN3fGqa?}xi$ zuPDO`4&s})Ud4N$n~VTG0}|50>Kfi%cXepu5P4PV2GGHGkhl`F{k|2oP}PY2z7-po zOLB)-Z?5i0!mpadWe=!J*wuyG z$U)l(lB)8hpcYgMU~TKwc!cyZ9+j4wwmjXf;?)uJ;_nm^%#dlHJ5XLBF=!D2)(YVN zcx8mRN;zc&NSwMt@3sZlvQ|cbu56V!sHX!p4UyPL3v4QReT3DFNIa@FqpIzsTVby@ zlE-b{+1|~&Xc9_`x47<2Ck@a^oC#x9=Q{3Fb<#KF=)nyGc{ZIb@;9b^W7?Q{+aRDkt^!XgG}aVuBL{6GsPT|p zGMWakwsk)q4&jTldxmnY+wyd`iZ`*u=PsOy)!JPM!se^VNGr9GHNgMzCKhq2Ps~f) zM&Njc%0x36_^YG{flVE6V4;?@DsiazhI-X>(y1^gJ1@CpM%9;{ zny}7Dn)%|G=snrLmtNMNM(X*AvF4L z0^|XDu@H*E$An2>2Ryw25M)k>)9~M6fUa==ANm28kQrD_AxG0f(r7?;cNk%IMgzltD`kMut*wDE<4EF0$mWki(Ou>WtXR3L)qtgAs2{a^By)sD9`tuG?XeyYIT6vy$KO^o{w1X^ApFiVN)c!|( z_6$O2P@wgZvHIYdKaysf7y4jK!ej<7Pt~Z8?j1i1PFRyhjqWgOunn3iycq=Un_yPD z8!f@fvVagf6J{KDp^1L#ge}{iu%B7;N^~=0ix=utJKt0x1nin>C+v`#-HKqk_>V2Z zqSFy=Ce@1l&ZLx(6ijWE41CXLvM|%`q+qEnh^tbO$vGKv*LCn}&&Xfg(H2ZGrfjY7 zXA?M>Z&jpf#PFYlQVqifys&d8VUMAE*A?r~If0+Zg!f=h_OW%BAQ795_pAn}I!74= z^VJ%B0?fnUfkJdznY)ix#cR%mWZq>>++&o|AMzt%LM0&7?(LvHk6`%H$7edkI~g`p z=Fa?#{Mi`@!LnvUkJOGmt5RY+g45`P<0t(b%Rl6(?S7(Eao?y;VuGz95G87z)Fr&y zX5FEK*tz}noQu!(w=I5^jLqB>-P^nz*}y^lwV&7&cdy1hMG<&SaDn%0KEL}nBAe>} HxOo5ok6;7Y literal 0 HcmV?d00001 diff --git a/examples/pdfwidgets/pdfviewer/main.py b/examples/pdfwidgets/pdfviewer/main.py new file mode 100644 index 0000000..c4765fd --- /dev/null +++ b/examples/pdfwidgets/pdfviewer/main.py @@ -0,0 +1,27 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys +from argparse import ArgumentParser, RawTextHelpFormatter + +from PySide6.QtWidgets import QApplication +from PySide6.QtCore import QCoreApplication, QUrl + +from mainwindow import MainWindow + +"""PySide6 port of the pdfwidgets/pdfviewer example from Qt v6.x""" + + +if __name__ == "__main__": + argument_parser = ArgumentParser(description="PDF Viewer", + formatter_class=RawTextHelpFormatter) + argument_parser.add_argument("file", help="The file to open", + nargs='?', type=str) + options = argument_parser.parse_args() + + a = QApplication(sys.argv) + w = MainWindow() + w.show() + if options.file: + w.open(QUrl.fromLocalFile(options.file)) + sys.exit(QCoreApplication.exec()) diff --git a/examples/pdfwidgets/pdfviewer/mainwindow.py b/examples/pdfwidgets/pdfviewer/mainwindow.py new file mode 100644 index 0000000..d37475a --- /dev/null +++ b/examples/pdfwidgets/pdfviewer/mainwindow.py @@ -0,0 +1,141 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import math +import sys + +from PySide6.QtPdf import QPdfBookmarkModel, QPdfDocument +from PySide6.QtPdfWidgets import QPdfView +from PySide6.QtWidgets import (QDialog, QFileDialog, QMainWindow, QMessageBox, + QSpinBox) +from PySide6.QtCore import QModelIndex, QPoint, QStandardPaths, QUrl, Slot + +from zoomselector import ZoomSelector +from ui_mainwindow import Ui_MainWindow + + +ZOOM_MULTIPLIER = math.sqrt(2.0) + + +class MainWindow(QMainWindow): + + def __init__(self, parent=None): + super().__init__(parent) + self.ui = Ui_MainWindow() + self.m_zoomSelector = ZoomSelector(self) + self.m_pageSelector = QSpinBox(self) + self.m_document = QPdfDocument(self) + self.m_fileDialog = None + + self.ui.setupUi(self) + + self.m_zoomSelector.setMaximumWidth(150) + self.ui.mainToolBar.insertWidget(self.ui.actionZoom_In, self.m_zoomSelector) + + self.ui.mainToolBar.insertWidget(self.ui.actionForward, self.m_pageSelector) + self.m_pageSelector.valueChanged.connect(self.page_selected) + nav = self.ui.pdfView.pageNavigator() + nav.currentPageChanged.connect(self.m_pageSelector.setValue) + nav.backAvailableChanged.connect(self.ui.actionBack.setEnabled) + nav.forwardAvailableChanged.connect(self.ui.actionForward.setEnabled) + + self.m_zoomSelector.zoom_mode_changed.connect(self.ui.pdfView.setZoomMode) + self.m_zoomSelector.zoom_factor_changed.connect(self.ui.pdfView.setZoomFactor) + self.m_zoomSelector.reset() + + bookmark_model = QPdfBookmarkModel(self) + bookmark_model.setDocument(self.m_document) + + self.ui.bookmarkView.setModel(bookmark_model) + self.ui.bookmarkView.activated.connect(self.bookmark_selected) + + self.ui.tabWidget.setTabEnabled(1, False) # disable 'Pages' tab for now + + self.ui.pdfView.setDocument(self.m_document) + + self.ui.pdfView.zoomFactorChanged.connect(self.m_zoomSelector.set_zoom_factor) + + @Slot(QUrl) + def open(self, doc_location): + if doc_location.isLocalFile(): + self.m_document.load(doc_location.toLocalFile()) + document_title = self.m_document.metaData(QPdfDocument.MetaDataField.Title) + self.setWindowTitle(document_title if document_title else "PDF Viewer") + self.page_selected(0) + self.m_pageSelector.setMaximum(self.m_document.pageCount() - 1) + else: + message = f"{doc_location} is not a valid local file" + print(message, file=sys.stderr) + QMessageBox.critical(self, "Failed to open", message) + + @Slot(QModelIndex) + def bookmark_selected(self, index): + if not index.isValid(): + return + page = index.data(int(QPdfBookmarkModel.Role.Page)) + zoom_level = index.data(int(QPdfBookmarkModel.Role.Level)) + self.ui.pdfView.pageNavigator().jump(page, QPoint(), zoom_level) + + @Slot(int) + def page_selected(self, page): + nav = self.ui.pdfView.pageNavigator() + nav.jump(page, QPoint(), nav.currentZoom()) + + @Slot() + def on_actionOpen_triggered(self): + if not self.m_fileDialog: + directory = QStandardPaths.writableLocation(QStandardPaths.DocumentsLocation) + self.m_fileDialog = QFileDialog(self, "Choose a PDF", directory) + self.m_fileDialog.setAcceptMode(QFileDialog.AcceptOpen) + self.m_fileDialog.setMimeTypeFilters(["application/pdf"]) + if self.m_fileDialog.exec() == QDialog.Accepted: + to_open = self.m_fileDialog.selectedUrls()[0] + if to_open.isValid(): + self.open(to_open) + + @Slot() + def on_actionQuit_triggered(self): + self.close() + + @Slot() + def on_actionAbout_triggered(self): + QMessageBox.about(self, "About PdfViewer", + "An example using QPdfDocument") + + @Slot() + def on_actionAbout_Qt_triggered(self): + QMessageBox.aboutQt(self) + + @Slot() + def on_actionZoom_In_triggered(self): + factor = self.ui.pdfView.zoomFactor() * ZOOM_MULTIPLIER + self.ui.pdfView.setZoomFactor(factor) + + @Slot() + def on_actionZoom_Out_triggered(self): + factor = self.ui.pdfView.zoomFactor() / ZOOM_MULTIPLIER + self.ui.pdfView.setZoomFactor(factor) + + @Slot() + def on_actionPrevious_Page_triggered(self): + nav = self.ui.pdfView.pageNavigator() + nav.jump(nav.currentPage() - 1, QPoint(), nav.currentZoom()) + + @Slot() + def on_actionNext_Page_triggered(self): + nav = self.ui.pdfView.pageNavigator() + nav.jump(nav.currentPage() + 1, QPoint(), nav.currentZoom()) + + @Slot() + def on_actionContinuous_triggered(self): + cont_checked = self.ui.actionContinuous.isChecked() + mode = QPdfView.PageMode.MultiPage if cont_checked else QPdfView.PageMode.SinglePage + self.ui.pdfView.setPageMode(mode) + + @Slot() + def on_actionBack_triggered(self): + self.ui.pdfView.pageNavigator().back() + + @Slot() + def on_actionForward_triggered(self): + self.ui.pdfView.pageNavigator().forward() diff --git a/examples/pdfwidgets/pdfviewer/mainwindow.ui b/examples/pdfwidgets/pdfviewer/mainwindow.ui new file mode 100644 index 0000000..7cfcde4 --- /dev/null +++ b/examples/pdfwidgets/pdfviewer/mainwindow.ui @@ -0,0 +1,327 @@ + + + MainWindow + + + + 0 + 0 + 700 + 600 + + + + PDF Viewer + + + true + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Horizontal + + + + + 0 + 0 + + + + QTabWidget::West + + + 0 + + + false + + + + Bookmarks + + + + 0 + + + 2 + + + 2 + + + 2 + + + 2 + + + + + + 0 + 0 + + + + true + + + + + + + + Pages + + + + + + + 10 + 0 + + + + + + + + + + + + + + 0 + 0 + 700 + 23 + + + + + File + + + + + + + Help + + + + + + + View + + + + + + + + + + + + + + + false + + + false + + + TopToolBarArea + + + false + + + + + + + + + + + + + + :/icons/images/document-open.svgz:/icons/images/document-open.svgz + + + Open... + + + Ctrl+O + + + + + + + + Quit + + + Ctrl+Q + + + + + + + + About + + + + + About Qt + + + + + + :/icons/images/zoom-in.svgz:/icons/images/zoom-in.svgz + + + Zoom In + + + Ctrl++ + + + + + + :/icons/images/zoom-out.svgz:/icons/images/zoom-out.svgz + + + Zoom Out + + + Ctrl+- + + + + + + :/icons/images/go-previous-view-page.svgz:/icons/images/go-previous-view-page.svgz + + + Previous Page + + + PgUp + + + + + + :/icons/images/go-next-view-page.svgz:/icons/images/go-next-view-page.svgz + + + Next Page + + + PgDown + + + + + true + + + Continuous + + + + + false + + + + :/icons/images/go-previous-view.svgz:/icons/images/go-previous-view.svgz + + + Back + + + back to previous view + + + + + false + + + + :/icons/images/go-next-view.svgz:/icons/images/go-next-view.svgz + + + Forward + + + forward to next view + + + + + + + QPdfView + QWidget +
qpdfview.h
+ 1 +
+
+ + + + +
diff --git a/examples/pdfwidgets/pdfviewer/pdfviewer.pyproject b/examples/pdfwidgets/pdfviewer/pdfviewer.pyproject new file mode 100644 index 0000000..cbd5f15 --- /dev/null +++ b/examples/pdfwidgets/pdfviewer/pdfviewer.pyproject @@ -0,0 +1,4 @@ +{ + "files": ["main.py", "mainwindow.py", "zoomselector.py", + "mainwindow.ui","resources.qrc"] +} diff --git a/examples/pdfwidgets/pdfviewer/resources.qrc b/examples/pdfwidgets/pdfviewer/resources.qrc new file mode 100644 index 0000000..db77763 --- /dev/null +++ b/examples/pdfwidgets/pdfviewer/resources.qrc @@ -0,0 +1,11 @@ + + + images/document-open.svgz + images/go-next-view.svgz + images/go-previous-view.svgz + images/go-next-view-page.svgz + images/go-previous-view-page.svgz + images/zoom-in.svgz + images/zoom-out.svgz + + diff --git a/examples/pdfwidgets/pdfviewer/resources_rc.py b/examples/pdfwidgets/pdfviewer/resources_rc.py new file mode 100644 index 0000000..7e386e9 --- /dev/null +++ b/examples/pdfwidgets/pdfviewer/resources_rc.py @@ -0,0 +1,3468 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.4.0 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x001G\ +\x1f\ +\x8b\x08\x00\x00\x00\x00\x00\x00\x00\xec}\xebs\x1b\xc7\xb1\ +\xef\xe7\xe4\xaf\xe0U\xbeDU\xc0\xb0\xdf\x0f%\xce\xa9\ +\xc4\x8eS\xa9r\xea\xa4n\x1e\xf7\xdcO.\x88\x04%\ +\x1e\xd3\xa4\x0eI\xf9\x91\xbf\xfe\xee\x02$g!h\xb1\ +\x00\x16P$_s\x5c\xf2b\xb6\xb7{\xfa7==\ +=\xb33\xb3\xbf\xfd\x8f\x1f\xbe\xbd:\xf9n~{w\ +ys\xfd\xd93,\xf0\xecd~}vs~y\xfd\ +\xea\xb3g\xff\xf8\xfb\x97\xd3xvrw?\xbb>\x9f\ +]\xdd\x5c\xcf?{v}\xf3\xec?~\xf7\xcb\xdf\xfe\ +\xaf\xe9\xf4\xe4O\xf3\xeb\xf9\xed\xec\xfe\xe6\xf6\xc5\xc9\xef\ +\xcfo^\xceO\xfe|u\xf5\xf6\xee~\x91u\x82T\ +\xa0\xc0\xe4\xe4o\xff\xfc\xd3\xc9\x1f\x7fxss{\x7f\ +\xf2\xd7\xab\xb7\xaf\xa6\x7f\xbe>)\x8b\xcc\x7f.e\xbe\ +8\xb1\x02p\xf2\x87\xb7\x97W\xe7'\x8a\x22\xf1\xfc\xe4\ +d:mD\xdc}\xf7\xea\x97'''M\xf9\xae\xef\ +^\x5c\xdf}\xf6\xec\xf5\xfd\xfd\x9b\x17\xa7\xa7\xd7we\ +\xd6\x8a+g7\xdf\x9e\xfem\xf6\xdd\xfc\xcb\x9b\xdb\xff\ +3\x7fy\x8a\x05N\x9f\xd5'f\xef\x7f`Q\xd2F\ +\xfe?/\xe7\xdf\xcfo\xff\xf8\xc3\xfd\xfc\xba-\xc6\xdd\ +)\xaf>~\xb9\xe1\xf1\x8e\x9e\xa7\x08\xab\xcf\x9d\x9f=\ +=\xf8\xe6\xed\xedU\xb9\xb9}uz~v:\xbf\x9a\ +\x7f;\xbf\xbe\xbfkJ\x89]\xf2\xb3J~v;\x9f\ +\xdd_~7o\xc4|\xdb\x14\xa8}\xb2\x91\xfd\xab\x0e\ +\xf1\xed\xf9\xc5\x13\xf5\xf7\xdf\x7f_\xbe\xe7\x05\x11f\xe6\ +)\xd0)\xd1\xb4\xa1\x98\xde\xfdx}?\xfba\xba\xfa\ +h\x03\xe6\xfb\x1e%\x008m\xeeU\xca\xed\xa8^\xfc\ +puy\xfdMoa\x16w\xbb\xd2\x1b{zss\ +^1}\xcc(w7oo\xcf\xe6\x17\xcd\x93\xf3r\ +=\xbf?\xfd\xe2\xef_<\xdd\x9cB9\xbf?\xef\xb0\ +i\x98\xde\x9d\xcd\xde\xccW\xe4>f.\xf1\x9a};\ +\xbf{3;\x9b\xdf\x9d>\xe6\xb7\xcfw\x0d\x1c\x17\x19\ +\x97\xe7\x9f=\xfbj\xf6\xe3\xfc\xf6\xeb\xe5\xef\xef/\xcf\ +\xef_7\xb7)\x16?_\xcf/_\xbd\xbe\xaf\xbf\xbf\ +k\xac\xe5\x0f7?|\xf6\x0cN\xe0\x04)N\x1eo\ +\xdc4\x9c/\xaen\xbe\xff\xec\xd9w\x97w\x97/\xaf\ +\x96\xe2\xe6\xd7\xb3\xe6r\xfarv\xf6\xcd\xab\xdb\x9b\xb7\ +\xd7\x8d\xb0\xeb\xf9\xf7'\x9d\x87\x1f\xb5z\xd1\x96\xb6Q\ +\xe8\xcd\xed\xfcn~\xfb\xdd\xf2\xf1G\x00^<\x15\x1b\ +\x0a\xd3\xe2\xd6\xa3V\xdd[b\xabO\x9d\xdf\x9c58\ +4L_\xddL\xaf\xe7?\xdcO\xdf\xcc\x1at\x9b\xfa\ +\xfb\xd7\x1a\xdd\xcb\xd9]Cw\xfa\x8f\xbb\x86\xdb\xe9\xf9\ +\xec\xbb\xcb\xf3\xd3/\xe6w\xdf\xdc\xdf\xbc9\xbdk\xda\ +\xfc\xcb\x9b\x1fV\xa5\xde\xbc\xbd\x7f\xf3\xf6\xfe\xeby\xdb\ +l\x96\xe2\x1b\xd4k\x15,o/D=e\xae2\x98\ +/\x5c\xc1\xf4\xe2\xf2j\xbe,\xe3\xe9\xeb\x9bo\xe7\xa7\ +o.\xaf\x1b\xc8oo\x9a\x8b\xb3\xbb\xd3\x9b\x1f~|\ +5\xbf>m\x9e\xb8jq<\x9d\x9d\xdd/\x9a\xe8\x8a\ +>o\xae_\xbd\x97\xf5\x0f\xe7o\x1a;3/\xfa\xde\ +\xdb?\xd6\xdb\xbf\xfb\xed\xf9\xfc\xe2\xee\xd1\x1a\xdak\x84\ +6\xf7\xe9\x917\x0d*o\xe6gm\xa3\x5c\x01\xee\xfe\ +\xc7\xd6\x06W\xc9\xf8\xfc\x9d\xfay\xf3uc.S\x85\ +\x93\xc6\xc3A\xfb/\xae\x11\xfc\xd8\xd4^{\x03\x16\xf7\ +a\xed\xfe\xbf>{\xe6\xb0\xce`U\xec\xf4\xe6\xf6\xf2\ +\xd5eS\x13\xbc \x92J\xbaP\xab\xa3\x03!=;\ +9\xfd\xe9\xea\x87\xa6\x0b\xfd\xbe\x9d\xdd~3\xbf]\xe1\ +uw\x7fs\xf6MK\xfe\xfb\xdb\xdb\x9b\xef\xf1/\xf3\ +\xeb\xa5:\x0d\xef\xf9u\xd3\xcego\xefo\x16\x19\xb7\ +\xf3\x8b\xff\xdb\xb6)x\xfc\xf5_\xf5\xd7{\x9e\xbf\xbb\ +\xff\xf1\xaa\x81\xea\xd1\x0b\xbcxp\x02\xbfi\xac\xe8\xcd\ +\xec\xfeuK\xb2|\xae\xfd\xc5\xac\xfel\x99\xd5\xe4\xfc\ +\xe5\xa4\xed\x1f\xa1\xc0\xc9W'\xda\x5cMuq9E\ +*\xda\xc9^\xe4>\x91\xfe\xeb\xa4eP\x057\xed\xe8\ +jz\xfb\xf6\xaa1\xef\xef\xe6\xd77\xe7\xe7\xbfi\xfa\ +\xa5\x9bo\xe6/~\x05\x8b\xbf\x87\x9f\xd3\x85{{\x81\ +\x05\xde\xdc\xfff\x09\xcf\xb4\xe9\xd4o\xef_\x5c7\x9d\ +\xfao\x1ex6=\xda\xf5]\xe3\x8a\xbf\xfd\xecY\xdb\ +\xf4\xe6\xbf\x86\x22\xcfOno\xeeg\xf7\xf3_c\xc0\ +\xf3%\xc5\xd5\xe2'L\xe0\xf9\x02\xed\xd3%\xbf\xad`\ +_\xc8\x1c\x01|\xe5\xd0\x0b}\x1f\xf2\xf21\x22\xbf\x01\ +\xf8\xd1`\xffm4\xd8\x7f\xdb\x17l\x83O\x0bl\xea\ +\x82m{`\xfd\xd5H\x7f\xf2\xd5\xbe\xfe\x04?1\x7f\ +\x12\xbd\xfe\x84\x8a\xee\x03\xfch#\xffj_#\x97\xf8\ +\xb4\x8c<\x06\xe0>h\x5c\xb0\xe8\xd4e\xdf\xa0\x00)\ +\xea\xf3\x1bc\x82\x05\x8dP\xb1\xf6\xcf{\x03\x83\xf0\x85\ +\xa6\xcd\xa8d>\xbb\xfd\xd3\xed\xec\xbc5\x95\x15\xc6g\ +7WW\x0dqc>W\xdf\xcf~\xbc{\xe2\xb2\xfa\ +\x88!rc\x0e\x8d\x11\xbeY\xa9\xba6c\xda\xb0\xb8\ +\xb9\xad\x95\xd5f\xdd4\xc1\xfd\xe5\xfd\x8f/\xf0\xb1I\ +\xdc\x5c\x5c\xdc\xcd\x1b)\xf0\xac\x9aSKi\x88m\xec\ +\xb2\x07kx\x975\xae\xb3\xf6e=\xaf\xea\xf2\xbb\xdf\ +\xb6\x17\xb3\xab\xad\xe1X\x0c\xea^\xbc\xbe\x9d7\x83\xd0\ +_\xad\xf2b\x02\x7f\x82l\x95-Q\xe8\xe2\xd6\xab\x87\ +\x8c\x7f\x5c_\xde7\xa3\xcc\xb7\xcd\x90\xe3o\xed\xd8\xe7\ +?\xaf\x9b\xd1\xc7\x0a\xc5\xdf\xab\xf1~;\xbb\xbf\xbd\xfc\ +\xe1\xd7X@\x88T&\xd0\xa6\x82d\x802!,\x9a\ +\xed\xc54\xa8\x18z\xe2\xf3\x05\x9f\xb3\xc6\x00%\x0b \ +\xa6\xe32\xa71:*\xe6\xc2\xe0\xb1\xc8\xb9X\xa3\xb9\ +X\xa3\xb9m\x87\x8bNb\x98\xdcc?\xeb&B\xc4\ +4d\x22/%\x85f;\x9a\x08\x11\xcb\xb0\x89\xcc\xe5\ +\xfc\xec,\xdfa=`!Dl\xef\xb7\x90\xfa{\x84\ +\x85TX\xfa\x10\x0b\x1em!P<\x125\x17\x16\xf2\ +\xf4\x83\xb0\x80\x85\xca\x84\x8b\xa4\x13\xc5|J\xcf\x97E\ +\xc5E\xfd\xa32,\x85\xff\xd8d\xb8\x16F`\x8c%\ +\x09}\xf6,\xa8H\x88\x09-i\xa8C\xb3\xb5E0\ +\xb1>\xdb\x88]\xad\xd3Z)L\xeck\x16\xd1[\xed\ +\x17\x8b\xbf5\x8b:9\xeda\x9dk&\xb1\x13k\xf8\ +\xcd\xf1\xec\xa5\x82\xd6o/x\x00\x8f\x82H\xc29\xc1\ +\x02\xac\xc26\x99\xb6Wh\xc6\x93\xf6\x9e)\xf8\xc4\xb4\ +\xa8\x83\xf2d*YP\x08\xa5c\xe5\x89\x163\x03\xcf\xf9T&T@\x82\xa1\xc9\ +\xa7\xb63&!bi\x89\xbch \xab\xd7\x86\xc3R\ +\xcc\xdd8\x9f\x1a\x8e\x171\x22\xb7e\xce\xc5\x1a\xcd\xc5\ +\x1a\xcd\xed\xa2mi*f\x0b\xeeA\x83\x17\xd0\xe8\x0d\ +^\x1c\x0f\x80e\xa8)P\x1b\xe8f\xea\xd2\xefx\x9a\ +Q\x9b\x15\x9a\xc62A\xd4\xa2H<\x99\x12\x96d\xf1\ +\xac\xc1\x0bba2\x0ey\x0a^\xd4\x0b\x07g\xe6S\ +\xec\x82R$Y\x19\x974Tiv\x88]@\xe3\xfd\ +~\x06\x0c\xb6\xf739s[\x1fRo1\x18\xe2\xd9\ +\xf9\xf0P\xbc@R\x12\xb0=[+\xa3\xf5\xf92p\ +Xc\xa3 \x8c\xbe\xd1\xa7\x9d\x9d\xd3\xd9\xb6\xee\x12,\ +\xd6D$\xaa#\x87>\x1bPy{\x19\xb4\xbdK~\ +\x99\xd1\xc3\xfa\xa8~\x094z\xfd\x92\x8d\x0f\xf3\xb4\x90\ +9\x0b\xb6^G\x0b(\x1a\xca\x83\x07\x02uOY\x0e\ +\x07\x88\x9b\x8b\xe0\xe2\xae8\x99\x9a\x15\xe5\xd0\xe8x$\ ++\xe6j\x12O\x1e)\xb5\xb8%y\xf5Hh\x85\xd0\ +Y\xa5v\xe5RP\x90\x02;\x1e\xc9\xc5\x04v\x98o\ +\xd0|\x7f\x13#\x83\x1d\x9aX\x0d\xf3\x87\x9b\xd8\xf0s\ +\xebm\xe3\xd9Z\xe1\xfa\xda\x16\x19\xac\x1b\xbe\xeb\xb8\xa2\ +w\xb9\xef`\xf2\x00\x00\x1f\xde\xe4Is\x83\xc9\x1f\x22\ +lU\x09\xe5\x09\x16\xb1D\x94E\x0f\x01\x8a\x16\x13\xa2\ +b\xa1\x19\x13$\xa7\x92\xd2\x0e\x8b)\xb1\x08P\xb5u\ +\xd4\xe2\xe4\xe0\xfed\xeb\x1a\x05\x22-\xbc\xda\xfa\x0a\xcd\ +\xc5\x1a\xcd\xedb\xe0\x83\xc2i\xba\xc3\xdc\x9a\xfa\x91\xe6\ +\xd64\x8f5\xb7fxt{!\xf5~{9\xc4\xec\ ++1\x1a\xda\x04\x0b%\x0aac\x14X\x1c\x16YX\ +\xd0\xa3u\x8e\x82X\xc2\xa5\xb9\xc7\xa4E\xb5c0B\ +\xc5\xd0\x95\xeb\xc0\x18\x09\x8a\x09>\x8ej\xd6h.\xba\ +4u\x9c#`\x11\xbb\xcc\xbc%\x0e\xd8\xcb\xcb\xabf\ +\x8d\xceZ\x95\x0e\x0c\x8a\x17C\xf3\x9d\xf9\xc2\xe0\x888\ +u\xdb\x01N\x1b\x8e\xc1S\xa8F\xd1\x8d\xe3\xf4)\xcc\ +\xa3\xd8\xb2\xee\xd7\xa1\xc30k\xfa\x95_\xfe\xe2\x17\xbf\ +x\xd0\xb3\x16\x14\xc3\xda\xf0\xa7w\x80sv\xf6\xdey\ +\x86\x0ah\xa3e?g\xea\xe1\xfc\xfd\xeb\xcb\xfb\xf9\xfa\ +\xc0\xa9\x0b\xe8\x03\xdf\x8f\x03@M\xf3>\x005-\x07\ +\xd4\xdc\x0b>M\xc7#\xc3W\xdb\xda\x7f\xfd\xe5\xab?\ +\x7f\xf15}\xbd\x1dD\x15\xcf\x8as\x17\xffZ)U\ +\xb7n\xe9z\x0d\xee\xcb/\xff\xf8{\x80g+8\xd0\ +\x1aDU\xc9^6\x9f\x7f\xfe.\x1b\x19@d?\xe7\ +\xbd\xc4-\xbf\xee\x1b!r\xe2\x0e\x90\xa6\x14\x16\xae\xb8\ +\x22Pa\x11\xaf\xaf0\xac(\xab=\x01\x9cR\x94\x1f\ +F6\xe3\xd5@\xd8\xa0\x07\xef\xa2\x87vT\xe0\x95\xd2\ +\x87\xe9J\xe9\xc3\xf4P\xa5\xc7\x0d\xa5\xd7\x03\x94\xde\x0b\ +%\xd7\xc2k\xfb\xf3Pe\xa7\x0de\xf7]\xcan\x9d\ +\xb2K-{\x14\x00\xa0Zx[\xfe>9\xad\xb1\xcb\ +\xfe\xa5\xf7\xaf\xfb\x22\x16\xd9&b\xa9\xb1(P\x0d*\ +\x90\x0a\x83<\x05\x98\xc8YTC\x0fT\xe4\xd8Pd\ +?p\x91s\xe9y~\xdb\xc4a\xcdJ\xe4\xeb\xff|\ +\xf9\xdfM\x01\x174\xf3\xffy{y;?\xaf\x0b\xd7\ +w_\xa7\xfe\xe8L\x1b\xf9\xb0\xb2\xf8yu\xe9\xf3\x93\ +\xb6+\x85X\xf6i\xbf\xbd|\xf1\xe6\xd5\xc5\xff\x9e_\ +\xaca\xb5(\xc2\xd7\x97U\xf2\xd7\x0d\xe1\xf2\x99\xd3\xc7\ +\x87Z\xcdNW\xb869\xbf<\xa6SEb\x87O\ +\xdb\xabVE\xe8St\xab\xb5\xf8\xf2\xe9\xf9\xd5Zx\ +;\xaec\x1d_\xfc\x8d\xa5\x8f\x03\xc7j\x07\x9e7'\ +\x86\xec+\xbd`\xec\xd2\x80\xa7.%\x08\x1c\xbcS\x07\ +P\x82\xd8\xeb\xea\x8e)FA\xc2\xac\x0d\xa1\x12}X\ +\xd5\xf2\xd3T\xad\x8et\xfaGA\xce\xbb\x18\x9d\x17\xc7\ +t\xa9-\xc7K\x04\xd6\xe6\xb3F\xd2\xe40\x14\x11\xc4\ +\xd0\xbey\x8c\xce\xba\xc7\x22\x0e\x826\x9f\xb6\xcb\x1f?\ +`\x1dk\xba\x7f\xd0:\xae1\xcf\xe1\xebx\x95/j\ +\x86=E7d%U\xba1\x0ec\x01Q\xd0e)\ +/\xd6h.\xd6h\x9a@(JZ\xa0\xf2\xf0\xb2/\ +\x95\xf4\x98L\xa9\xa4&\xc7b\x1e\x1f&P\x12\xd4\x9d\ +&^L\x81\x5c'\x08%<\xc0\x9f\x0f\xd7\xc2\xd1=\ +q\x98\xfa\x11\xcd\xca\x1f\x9e9\xa2\xc8\x8f\xbbQ\x1f\ +w\xaa\x9b~\x22S\xdd\xf4IOu\xd3'<\xd5M\ +G\x9c\xea>~\xebw:Z\xeb\x9fb\x14\xe3\xa0\xb4\ +\xc9\xd4J\xb0\xb5\xe9#\xeb\xd4\x89\x5c\x0f\xe1\xd7\xa7\x98\ +%\xdb\xbf\x98Lc\x0f\x0f\xdf\xec\xbc\xbc\x9f\xdfn\xb5\ +\x1fpI\xca$\xf8\xacyn\xfe\xa7\xd9\xdb\xbb\xbb\xcb\ +\xd9\xf5\x1f\xae\xde\xb6\xcf\x0fqh\x070\xe7_\xcc\xbf\ +\xbb\x9c\xdd?\x1e\xb7\xc3)\x8a\xd2Y\x0a\xb0\xca\x94I\ +x\xb9(`)\xf9\xa8\xf5! v\x88\xfa\xa0\x22\xd0\ +\xfe\xe1|j\xbbv\xb9\x07\x1e\x18\x18\x22\xf7o\xe6\xcc\ +:f\xe1\x22\xe1Fu3\x98x\x81\x8c\xf0\xda\xbd`\ +1\xf5\xb4\xac\x1d\x0ceAb%\xdbkRa\x10G\ +\xe3\x92\x92\x16-\x88O2\xa7X\x04\xc4M\xa2\xfa\xaf\ +B\x1c\x86\x91O\x85\x9f\x22\x970\xc9\xa4G\x0d+\xd1\ +\xdeK\x1a\x982\x86\xb7\x5cDl\xde\xec\xb6\x8eC\x9d\ +\xbc\xf2\x92*Y;\x15\xe7\x22F\x16\x9d.\xc7K\xfb\ +\x1b\xa3\xea\x05\x85\xc5\x1c\x87\xd7L33?\xf9\xc9h\ +\xff\x12'\x98\xc5\xc5\xc3x\xc2X C\xd9\x9f\xef\x8d\ +\x10\x11\xf8 BL\xbc?BYB\x12\xac\x8e\xa9\xa1\ +3J-h\x0a\xd01j\x18\x02e\xc2\x85\x1f`\xa1\ +\xa2\x9a\xbc\xd8\xa9\x02\xc58\x83|2E\xcbB\x8c\x8e\ +\x13\xcbb\x0a\x969\x0a\x1d\x19F\x07e_tH\x8b\ +\x87\xa1U\xfb\xe1,d\x81\xd5~*Mg-<\x17\ +T'\x1e\xf6k\x88%\x17\x7f\x13\xd8\x1f\x05V\xe5\xe1\ +\x99\xe4\xcc\x8f\xc5F\xaa\x85@\xb5\x8cj-\x0b\xc3\xe0\ +@\xb4\x07k\xc1D\x1e\x85\x0e\x8e\xb0\x91\x8f\xcb\xc7$\ +\x1a\x89\xc6D\xa0X\xfb\xa7\x13\xa6\x02\x16\x064\x06!\ +\xc9c\xfa\x18\xa6\x0a\x8d\x14f`\xa2\xda\xafh\x09\x06\ +B\xb2\xda~\x80\x0a#\x92\x0c\xaf:v\x14\x0a[\x80\ +C\x8b\x0d\x94\xa2\xca\xea\x93)\xc9(<|\x0b\x8b\x81\ +\xbd\xbd\x8a/\x1b}\x85\x05I\x0a$j\x85%sA\ +\x13Z\xb7\x07Sq\x0ac\xd9\xab[\x9aLu\xd9\xea\ +\x96\xadj\x99k\xa30\xd2A\x9f#\x8c\xfbb\xa4\x92\ +\x05\x0cY:\x9e7\x8b\xbbXg\xc0\x85&\xc5,\xab\ +\xe5T\x9a\xcd\x18eq4\xd5\xc8\xf9\x94\x1e`B\x06\ +\xc4\xe4vh\xc3`h\xe9\x8d=aQ`\xe5q8\ +\x0d\xfaf\x17\xa2]q:t\xcfr\xa0\x1e\xaf\x17\x05\ +\x941=\xd4O\xdf\x07\x93\xb2\x8c\xf0\xc1?\xf1>\x9c\ +\x94\xc7\xf7\xe1\xbb\xece\xe6\xbe\xbd\xcc\xba\xfd\x06\xa83\ +?;?\xf7m7\xce\x89\xc6\xb8\xbd\xcc8\xfe\x04\x8d\ +>8P\x8es\x16\x00\xa3\x1dm\x7f3\xc6\xf1\xe0\x80\ +c\xc1A\xc7\x83C\xf6\xdf\xe9\xeeB\xf4\xde\xf6\xe0B\ +\xb2}{x)M\xb2\xdd7\x04\xe6Y\x9e\xcdp\xe7\ +\x0d\x81\xca\x12\xc3\xcc\xcf\xce\x9bF\x8a;\x9e4\xe1B\ +\xb6?\x9c$\x8c\xef\x85\x93\x84\xf90G%\x8c\xb7\xcd\ +\x22\xa4\xe9\xe0\xf9l\xad\x8c\xba\x85\x0cl\xd3p\x95E\ +\x92\x07\xae\x8b\xf0\xbe\xbd\x96\xc2\xb9\xc6%\x800=6\ +\xb8\xcb\xf9\xacM\xdb\xee\xe7\x14\xc1\xed=\xf1\xf9E\x93\ +\xd6\xd0\x1ca\x1c\x9c9\xe4] -\xe6\xbbz\x17\x12\ +\xc0m\x0e^9kv[\xed\xd8\x1cH\x80\xc7;\xdb\ +\xe1\x18\xb9\xcf!\x8fx\x97;rD\xf0\x03n1.\ +\xa1.\xcd\xda\xf8\xe6\xd0+\x06\x85\xb1\x1f\xa7\x1c\xc6\xe9\ +\x90\xa3\xcb\xf5\xb1\xeb\xfa\xf8\xb6o\x0c\xdc\x1d'\x1f\x18\ +#f\x84^\x8c\x92\x861\x1a;/\xb1>\xcf\xb1>\ +\x19\xb2>cR\xa7Sv\xd8\xae\x1a\xb1\xcfAq\xb9\ +\xc3>\x7f\xc3\xb88\xa7\xad\x0f\x8a\xcb\x1d6\xcb\xcf\xe4\ +\x0c\xe6\xf2\x0e\xeb\xf7y\x9a\x9e\x93F\xd7\xcf\xedd!\ +\xdd\xe1L\xf0\xa1\xf3\xc5\x87\xcf\x22\x1d>\xe1|\xf88\ +\xd4\x83/*\xce\xec3\x7f\x07\x19m\xfe\xd3\x87\xa5?\ +\x13$\x99\xac\x98;\x14\xa0\xd0\xac\x13\x09P\x10\x03\xba\ +\x93\xca\xc5CP\xb9\ +\xbep#.L\xfe\xd0z\xee\xde\xdc\xceg\xe7\x7f\x99\ +\xdf\xbf\xbeiK?\xbfh%o\x85\x15\x940\x041\ +n\x91\x8a\x82\x86\x1c\xcde\x116\x0c\xf3Q\xed\x87\x8e\ +\xdaSZq\x05\xeft\x0c\x1e%9\x99+l(\x85\ +\x5c#\xaa\xfbp)\xae\xfd\x90\x8d\xd0\x96\xf2\x88\xde\xc2\ +\xa0\x1e\xd8h\x85E\x14\xea^V\xa7\x02\x04\x81\xb5\xcd\ +\xac\xd2\x9cui\x86\xc6\xe2P4\xd0(t\x82\xc5\xcd\ +\xdd\xbc\x9d\xe0\xa4b\x19F\x92\xed\x0f(\x11\x1e\x19M\ +6k\x01\x0f\xb4\x89\x96\x14LH\x19\xd3\xca\xc8\x07!\ +\x14\xc9\x9f[Y7l\x0f\xb2\x91\xc1\xc7\xf8V\xa6\x85\ +\xd9T:\xad\x8c\x8b\x0b\x19\xc7qZ\x1ao\xe3W\xc6\ +\xb7\xb4\xb0\x12di\xb5\xa5M\xd1\x8aYH\xd43V\ +W\x89\xceV\x88\x86\xdb\x1ai\x98\x81\xb7\x91\xb8\x12\x92\ +\xb8\xb4\x97A.,2\x81\x22\x08\x06\x88\x13\x06*\xca\ +):Q(\xa0\xaa\xa9\xa3\x1a\x1a\x1e\xb5\xa1\x15TM\ +\x8dN`\x07RHW\xa2\xba\x04\x0b\xee\x8c\xe7\xa4\xe8\ +\x10\x5c\xef6%v=PO\x85\x83\xbe\xdb\x04\x0e\xb4\ +X\x842\x07\x97\x03\x9c{\x9bv}a\x97I\x07z\ +\x9b\x8b\xeb\xacG,\x07`b\x1f\xd4X\xe7\xb6\xf3\x02\ +\x08\x0a<\xday\xf7$\xb8\xbf\xc6f.C\x1a\x03\xa0\ +I\xec\xa8\xb1\x99\xdb\xb0\xc6\x88\xb3\xdcYc3\x8f1\ +\x1a\x9bU\x8dW\xd8Z\xecp\xcc\xfa\xc5\x19^\xd0\xee\ +k\x144|\xfer\xf73\xa0\x19\x83+\xf3w\xe1\x80\ +\x1dNi>\xa3\x99\xaeU\xe6\x188e\x9boE\x9c\ +\x9f\x9f\xedl@\xb2U\x939\xbfx\xb9\xbb\x01\x89\x8f\ +\xd1\x98qHc\x07v\x80\x9d5f\x1e\xd6\xf8\xe5\x85\ +\xce\x01v\xd6\x98u\x84\xc6\x22v\x94ua&\x12G\ +r\x8b&\x0ac4\x86a\xb7\x188\xe7\xf9\xce\x1a\x83\ +\x0dk\xcc\xe1\xe7ko\x87\x875\x868\xf6\xe9\xd9f\ +f}\x072\xd8A\xd6\x17p\x9a\x92\xf2\xc4J\x06\xa3\ +(\xb6\x1f5\x99z\xf1@Ik\x7f`Q5\x0cn\ +C*\xa2\x12d\x88\x93\xa9e\xb1\x0cC{\xfe\x9eH\ +\xfe\xcd\xec\xbc{\xbe\xb6\x03\xb0v\xde\x85\x01\x17\x0d\xa8\ +S;\xab$\x17\xef\x92\xdc.(TSb\xc4{\xa6\ +\xfe\xe0\xad\xcf$\x11\xea\xca\x9c:\xa5\x1cQG\x89R\ +7>n3\x9dz\xf0\xc2\x8b\xf5\x16^\xa9\x0eU\xb1\ +@J\xe6Ci\x979\x08\x98)5\x0e\xd7\x82\x91\xc8\ +\xdc]2\x03\xe0\xa1\xdb\xe8\xd5?\x96\x1b\xde\x1e\xedE\ +\xc3!-Z\xab\xe3\x00\x13\xa5\xe7\x1f\x12);\xc8\xdb\ +o(\x82\x94\xc04\x81b\x98\xac\x12\xcf\xfbq\xd9\xb9\ +n\xc8\x22b\xa5n\x1c \xf3C\xe2\xe4\xf0\xb1\xe3\xc4\ +%\x0dA*LQ\x885\xc5?(L\xf43L\x9d\ +\xc0\xad7\xa6\xab\xaf\xe4T\x0b\xb7\xba\xd6\xed\xed\xf5\xd5\ +\xcf\xda\xdd\xe5:\xb6DF\xf1\x0f\xefqM\xb8W#\ +\xa9{^\x8c\x0ap8Rw&,\x91\x1d\x1f\xd4Z\ +#i\x15\x85\xe2\x14\x19z\x10\xfb\x99\xf0\xc1\x9d\xa8\xb9\ +\xf4*\x1f\xd0\x99\xb1)\x90\xe6\xaeu\xf6\x14\x8a\x06\x98\ +x\xb5\xc1,\xc9\xc2\x5c\xd7\x91D\x14c\x96\xf8\xa8\xba\ +Q\x0a\xdc\xe5p6\xeb,\xbf$+\xc9f\xab\xcb/\ +E\xdc\x8d\xaa\xceT\x802T>\x9cFL\x8c\x87\xf1\ +Od\xc4F9\xc1\xba,O\xb3\x10i\x80w\x0fH\ +Mg\xc2Z\xf3\x95\xe6\x11\x05\xb1B\x14\xa1\xf9AQ\ +\xe0\x03\xa1\xc0L\xd4\xa2P\x12\x15R:h jq\ +3\x8f\x8a\x06\x16\x08I\xa8\x11$c\xe1\x0e\x0d-=\ +8#\xe9\x81\xc1`b\xef\x05C\xb8\x9e/hPR\ +\x94\x14\xab\xeb\x02-\xc1\xa0\xb5\x07i\x88\xaa\x0d\x0f\xe3\ +\xf8\xe1\xfc\x10y\xc0.\xed\x15\x8a\x00\x81UOeR\ +\xc0\x0d\xa5\xbe\xd4\xa845\xd4\x87\x92F\x84r\xe0\xe3\ +\xf7(\x13zO\xf1\x87<\xc0j\xda\x82 \x10\xa1\x13\ +(A\x01f\x8b\xf7\x0bf\xe2\x92\xd6^F\x183\xf9\ +\x04\x13\x8b\x88\x11O\x8c\x0a)'\xd8P\xf8\xd1\x8e\xf5\ +\x8c\x0b\x08\xbak}G/%=\x05\xa2\xbe\x93\xe4\xa2\ +\x8a\x84\xf5]\xbfb\xd1\xa4\xcc\xfa\xa19.\xe2\xe2F\ +\x0b\x80\xcf\xae.\xdf\xfcuv\xff\xba\xbd\xf9x\xbdy\ +\x12\xff\x91\x8a\x91\xda\x1d0o\x9a\xcb\xee\xd0\xbf]\xcf\ +{\xf5\xe2\xed\xed\xd5\xaf\x7f\xb5\x8a2#\xf3\xf3\xdf\xb4\ +w;\xb3\x00w\xf7\xb77\xdf\xcc_\x5c\xdf\x5c\xcf\x1f\ +\xae\xa7\x8bO\x12\xbc@+\x92\x0a\x00!\x8f7\xda\xfa\ +lj\xfe\xc5\xed\xcd\xdb\xeb\xf3n\xe6\x7f\xdf\x5c^\xaf\ +\xe6~{\xd9\xac\xeb\xbd\xbal\xfe\xf7\xe2\xe9\xf1\xf3\xd9\ +\xdd\xeb\xd9\xed\xed\xec\xc7\x07i5w9\x07\xf1B\x0a\ +\xeaC\xf6\xda\x17\xa1\x1a\xbd\xffr2\xc5\x90\xe2l\xa2\ +\x13\xf2\x92\xc2\xae'\x9f7\xb9)%]\xdd\x9er\xf1\ +dJ\xa0\x85@\xcd'\x8c%0\xd0\xad\xc9D*\xe9\ +@6\xe1,\x1a\xe4F-\x03\x22(\xe9.1\x11/\ +\x1a\x99\xc9m\xa6\x94\xd0\xd4\x89F!\x22\xc3\x87<\x83\ +$\x9fX\x14\xf7\x14\xc8\x93\xaf\xba\xd9i%\x88@\xb0\ +e[\xb3\x11\xa0\x84\xb3G\x9b\x89\x85U\xbc\xcd\x94\x82\ +\x14\xd4f\xa2\x17\x86&\xd5\xcc\x96/*\x15\xb4\x8c.\ +m\xab\xafDA\x0c\xe4.\x0b\x14)al\x5c\x85u\ +3k\xc1\xbe\xeafW5>_f\x1b\xb2\x85B\ +(Q_<\xc6\x93\xc2\x8f\xca\xf4|\xee?\xa8\x7f\xfd\ +\x86\xd3\x17\xc8_\xac\xbde\xee\xfbf}H?+\xd6\ +\xdf\x7f\x8e\x9f\xbf\xcb\xaa\xb0*\xf7\xf3\xb3~~\xf0e\ +*\xc4\x1a?\xc3\x94~~\xb1\x81\x1f\xc4\xe7\x00k\xfc\ +\x5c\xbd\x9f_\xc2&~\xfe\xfb5~\x0f.\xb7\x1a\xcd\ +.\xab\xc5\x80zv\x99\x83\xecp\x98\xd2\xf9|>t\ +\xdaI\x97\xb5\xedp\x84\x07\xcdc~\xbe\xb6rb\xc4\ +\xfa8\x83}6\xdd\x1b\x1d\xf6\xf0\x97.k\x19q\xb6\ +\xd4h8R{4N\xdf^c\xe3y\xee\xa0q\xe6\ +\xbfQc\x91\xdc\xc3\x00Dq{8`\xf1\xb7\xfd\xe1\ +b\xdc\x03\xc7\x00\xeb\x0a\xc7\xa8c\x17\xc8Y6\x1f\xbb\ +`\xd2\x9e\xba@\xc5\xda?\xef;{\x01)\x9a[&\ +\xfb\x1e\xbd\x00\xf5\xe9\xbd\xce]\xa8\xdb\x18\xa1 Ag\ +[\xa7qAM`]y\x87\xeb\x085\xf2\xa94\x83\ +\xeb{@\xb9\xfd{\xecP\x093E'\x88\xc5m\x22\ +%\x93\x84l\xcc\xb1\xc9\x1c\xc3{y|\xff\x03N%\ +\x0a!\xa1b}e\xa2E-\xba\xf0X\x96$\x86\x88\ +\x95]\x06\x9cd\x1f\x03<0\x1a\x9e\x9f\xb0\xf1x\x0c\ +\xa2\xc3\x86{\x1b\x8f\x14\x0a\xef\xc2\x93\xd8\x96\xda\xc1\xba\ +K\x0d\xea7\xf5\xdb\xfb\x1eJ\xb2\xc5fi\x82\x09\x8c\ +R\xdd\x06U\x17\x80\x9f\xa6\xea2B\xf5\xc11W\xdd\ +\xa6\x93X\x02\x14:\xc3U\xf5\x02\x1a\x8aR\x07`Y\ +@5 \x9f\xc6\x0d\xca\xc5\x18hx4V\x143%\ +'^X1\x89s>\x8d\xc94\x0a\x18\x93\xb0\xb6\xbf\ +\xb0\x90;!\xcadJP\x88\xc4\xc9\x9aK.\x99f\ +\x9c\xfb\x0f\xda\x88\x9d\x86\x9b\x8e\xc4\x9e rQ\x0f$\ +\xad{\x0b\xa5(#i\x1d\xc4b\x97\xe4\xec]\x92\xb3\ +.\xc9\x00\x90V\x14<\xc3\xf2ax\xab\x08\x89>\x99\ +\x1a\x97\x16<\xc3\xc9\x94\xa9\xa4\x03\xa2\x8eB\xec\xa8\xae\ +8\xad\xb01hg\xe5R\x14\x03\xc3\xce6B\xa6\x02\ +\x8aa\xb5\xd5\x09\x17\xcf\x04\xb2=}\xb1\x17\x1533\ +?\x8c?\xb6m6\xb6\xcb\xdeF\x85j\x1d\x9bB+\ +\x10VM\xca\xb1\xb8+Q\xdd\xad\xda\xa58\xebR\x0c\ +O\x22\x98B\xa04H\x91a*\xd0d\xda\x82\x06\x98\ +!\x13.\x9c@\x086A/\x0c\x09\xd6\xdcV/\x96\ +L\xe3\x1a\xa5\x0d;u\x8b\xdc\xdb\xa9\xb7pdp5\ +\xb1\xb4\xc2\xceH\x5c\x9d:A\x11\xf2\x1a\x0cU\x9aA\ +\x13CwR\x89\x87f\x08\xee\x84\xe1\x13+\xaaJ)\ +6\x99JIAs\xc0Q66\xec\xfd\x15\xf1\xa7c\ +c\xcc\x07\xb61\x1a\xb61\xdb\xdb\xc6(J\x0a%\xd5\ +5Jb\x85HS\xde\x99\x89\xe5\xf0\xea\xc6\x1c\x8b\x91\ +\x09\xc8\x9e6\x86%\xc4\xc8\x95\x0fec0lc\xc0\ +?w\x8e\x151\xe1m:\xc7\x9f=\x7f/~8\xd6\ +\xf3\xff\xf4[%\xc76\xad\xf2g\xcf\xdfgc\xac\xc7\ +\xf0\xfc\x87\x8c\x0a\x0e\x14\xa9\x8c\xb11\x1a\x19]\xfc\xf4\ +\x83|\xda*\xc8\xffy\xf8\xbd\xb1-\x92\x8c\x18~\x0f\ +\xb4\xc5\xe1\xa9\x97\xf1\xb3\xbb\xc0\x18\xf1\xd2\xe7\x13\xc4O\x0f\x8d\x9f\ +}\xc4\xcb%\x8e\x1fV\xa1\x1c\xe6\x9dk\xfd\x5c^\xf7\ +\x8bx\x0fN\xeb\xf5\xfc\xf2\xd5\xeb\x86\x1e\x8bf\x90\xe9\ +\x12\xce\x87=Y\x99\xf8\xb4\x85n\xb1\xfb\xb3\xa5K\xe0\ +d\xc0e\xd9\x16t\xa2\x98\xa6\xe0\x1b\x8b\xb2\xf6\xfd\xbd\ +\xfe/\xe8\x91\xbc\xf7\xeb{XX\xdc\xd4\x16\x05\xdf\xa8\ +t\xfd\xfc^\x8f\xf6\x16\xf8\x8e\xf6\xa8\x9eB]\xed\xc1\ +#\x1d\xc5pU}\x12\xf1\xa0\xae\xfaH\xc4\x89\x07S\ +\xdf\x82{>>\xc8\x84\x892^{e>PY\x95\ +\xb5\xa7\xaa\xc0\x00Xu|a9\xed@\x85\xe5\x8c\x1e\ +`%w+\xe8\xaa\xa3\x1a\xf2\x9e\x18l\xb8\x9c,\x9a\ +b\x11\xa34\x9fO\x97>\xd4h1\x0f\xe2\x854\xb6\ +\x0d\x82\xeb\xd1\x07D\xa9_\xe3\xd7O}\xc0\xd4\xc0\xa3\ +\xb0\xd6a5[\x16%\xa1\xc7\x8d\x97\xa4\x5c\x00\xa3n\ +\x0c\xae\xcf<\xf5\x0bdZ8{>O\x1e#w'\ +\xf5lNB\xd8\x7f\xa7V\xe5;{\xf1\xed\xe5\xf9_\ +\x9bM\xe7\xf7\x7fkn\xeeX\xd0a\x0eEG\xf0\x18\ +T\xeb\xcb\xc5\xdfV{,\x87{\x9e\x90\xc9\xd4\x5c\xea\ +\xcb!s\xa9\xd3\x07\x1c\xc5\x9d\xb9s\xbcY\xd6I\xf9\ +zw\xef7B\x89\xf2^\xe3\xa1D\xeb\x07\x80\xacM\ +C\xa7D\xf7\x18\x10%F?k\xc66\x0d\xb1.\x88\ +$\xbd\xfci\x83\x05\xc9y\x9b\x06\xf9\xb3\x8b\x02\x00\xf6\ +\xcb\xa0~\x19\x0am\x1a\x94!\xc4\x90\x99\xd9/C6\ +\xc8\xf06\x0d\xcb`\x8b\xcd26T\xb3I\x9b\x86e\ +H\x0e\xe8\xb1\xa1\xbe]\xdb4,\xc3@{\xf9\xf3\x86\ +\xfa\x8eY\x9b\x86\xf9;\xe2F\x1dxC}\xcf\xb8M\ +\xc32\x02e\xa3Mq\x7f}\xdf]^}7\xbf\x1d\ +\x16\x91\x88\x9bEl\xa8\xee\xf3\x8b6m!Cx3\ +T\xb1\x01\xaa\x8b&\x0d\xcbPt\x09\x8f\xe8\x95!\x1b\ +\xaa<\xa5M\xc32\x98t\xa3\x1eB\x1b\xcc\xf6\xacM\ +\xc32T137\xe8!\x1b\x9a\x9f\xb6iXF\x88\ +\x0a\x98\xf7\xcb\xd8P\xe7Jm\x1a\x94a\x10\x06\x00\xd4\ +/cC\x9d\x0b\xb7iX\x86\xa0m\xb4]\xc5~\x19\ +\x9cm\x1a\x96\x91\x14\x1aD\xfd2x\x83\x0c\x1eV\xc2\ +9}c\x85\xab\x8e\xee\xfb\x22#2\xd3\xfbe\xf8\x86\ +\x06h\xb3\x98\x0d5\x8e\x9eo\xef\x8c;\x84d8\xfa\ +\xb9]~\x92R\xc5\xac\xb3v\x91J\xa6\xad\xac]\x8c\ +\xe2NJ}\xcb\x06\xc3\xed\xfd1Mxl\xf0~\xd9\ +\xa6}c\x9a\x88M\x87ax\x9b\x06\xeb\x15$\xa5\x9f\ +?\xf5\xf3\x7f\x99m\x1a\xe4\x8f \xd9\xcf_6\xd8\xcc\ +\xbcM\xc3\xfc\x85\x09\x93\xb8_\x86m\x90\x91M\x1a\xd6\ +\x81P\xad\x9f\x7fl\xb2\xfb6\x0d\xf3\xb7\xb4M\x9dB\ +\xe4\x86z6o\xd3pl\x99\xb1\x81?\x1d\x80\x7fn\ +\x8c]#7\xc5\x95\xd2\xa4mb\xbe\xe0\xcd8m\xa8\ +k\xc16\x0d\xcbH\xd5\xcd26\x8d#\xb4M[\x04\ +\x01\x19\x91\xda\xefK\x01F\xfbkuHS\xe2~\x19\ +\xb4A\xc6\xbcM\xc32R\xa2\x9f\xff\xa6\xfa\xbeh\xd3\ +\x16\x9d\xb3n\x0e\x00`C};\xb4iXF\xf2\xe6\ +\x18\x1cb\x83\x8c\x97m\xda\xa2\x7f\xd6\xd8\xd8?#l\ +\x90q\xd1\xa6a\x19\x03>$\x91F\xda\x14\x1ek\xee\ +\xc1#\x0b\x12\x81o\x98\x810\xf7\x12\xee\x80\x87\x9c\x87\ +\x08\xa3\x9e>\xdbd\xf4`\x1e`C\xa7a6\xda\xe1\ +\x22K\xf4\xf3\x8f\x0d\x1d7\xb5i\x8b\x81#\xf7;s\ +\x87\x0d\x9d\xdelx\xe4k\x94\x1b[D8m\x10\x80\ +m\x1a\x8eX\x95bc\x8f\xe4\x1b*9\xcf\xdb\xf4\x11\ +G\xacV\x80X\xea\xd2;\xc5\x82\xc0J\xefD\xac\xcc\ +\xd1\x1b\xb1\xaa\xf4X\xbf\xda\x86\xb0\xf2e\x9b\xf6\x8eX\ +u\x83aR\xb4i\x9b\xde\x937\xf5\x0aa0\xa2^\ +G\x9fd\x97\xb2\xcf\xb9ni\xdbO\x9c\xf3\xffk\xef\ +\xca\x9a\xdb8\x92\xf4\xf3\xfaW0\xfc\xa6X\xaa\x94\xf7\ +\xa1\xf1:B\xa6\xad\x89\x89\xf0\xecN\xec<\xec\xa3\x83\ +\x92@\x8df$\xd3AQ\xbe~\xfdVv\x03l4\ +\x89&\x05\x8a\x1c\xcb\x07a\x19\xa8\xaf\xd1\xd9\x95_\xe5\ +U\x05\xa0\xcb\x8f\x85\x9e\xbf\xff]\xce\xe2\xfd\xd7\xce\x9f\ +\x9d\x9c\xe8\xd55\xf9\xdb\xdf\xe4\x8c%n\xc1\x06+\xec\ +q\xd3\xbf\xdeg\xdc\xd1\xe5\x05\xc9\xb4\xcf=\xce\xe4\xc5\ +\x9d\x92ax\x1b2\x8c\xdf\x9f\x8c\xd5\x8b\x93\xda\xc4\xf3\ +=M\x83M\x17\xd8X\x12}\x977\xc0\xe3\xb0\xdb\xd0\ +\x11q_w@\xe4\x84_\xf2~\x80\x00\xb7\xa0C\x80\ +\xf6\xb0\x0e=9\xd9\xe3~\x80 \x0bt,\x8a\xbeK\ +:\xc8nC\x07\xeda\x1d\xe5\xdf{\xd0\xc1\xb0_\xe8\ +\xb8[:8nC\x87\xc0>t\x10\xeeA\x87\xec\x15\ +I\x09\xef\x96\x8e\xe4\xdb\xd0\x91z_\xb1C\xd2\xffM\ +\xb1cY\xe7\x05\xae\x14\xf8\xe6}\xc9\xf5\x04/\xcf\xf7\ +o\xd8\x7f\x97\x15\xdecWi\xe1\x14~~\xbdd\xbc\ +*\xd9?\xc06\x14o\x93f\x15y/W9\x86\x17\ +\xefk\x1b\x8a\x0bivY\xf4\x1d\xba\x8aY\xde\x82\x0e\ +s\xbc/W1\xe7\x8f\xd5U,\xf2\xc6\xdd\xb9\xe1\xe4\ +$`OW\xb1\xac\xba\xf1\x16\x92\xe1&W\xb1\xe4\x0f\ +\xb0\x0d\xc7\xdb\xd4\x1c\x8et_\xb6\xe1(\xbf`\x09\xe6\ +\xcc\xb7\xa1\x83\xf5\xbeJ0g\xdf\xaf\x04\xbb\xe3[2\ +3`\xfe*o\xc9|\xfb\xfd>\xa6\x1d\x12\xfc\x9b\xc5\ +m\x15\xfcNvr}\x88\xd9\xb2\xfe\xea\xe6&\x0f\xa6\ +\x1fM\xc2\xd6\x86\xeaH\x8dA\xfcb\xdd\x87\xb3\xa9\x86\ +\xde\x91\x8aq\x8d\x8a\xfe\xe9]l\xf8\x10N,\x9b;\ +\x14\x04\xf6\x07\xd5\xafz\x9aqP\xfd\x10\xd6Z\xb0\xd5\ +c?\xfd\xe7;\x8a\xde\x9e\x80\xfcf1\x15x\xee\xb1\ +\xdfdJc\x99\x96\xabK\x87\x0elm\x8b\x1b\xd6\x94\ +u\xda\x147\xa5\xb7\xcd\xeeH\x0d\x84e=\x02\xf7\xd1\ +C\xb7T\xe0Y\xef\xc3t\xd6\xfbj\xdfQ\xef\xf1\x9a\ +\xde\xf3\x1d\xf4\xde\x1b%O\x9d\xd7j\xdeU\xdf\xe9\x9a\ +\xbe\xeb>}\xb7\xad\xbe\xcb\xd4\xf7h\x00@S\xe7m\ +h\x8fQ\xfd\xc5\xea\xe4\xed\xe7\x9fM{\xa2\x1d\xbfY\ +\xbd\xf8\xfe\xd5\xea\x87\x99\x22?\xbc\xfa\xf6\xc5\xe9\x0f\x0f\ +7_e\xb7\xf0Ow\x1d\xdf|\x81\x1d\x88.E\xfc\ +\xe3\x97\xab\xbe\x01S\x7f\xcf\x7f}\xba\xe3\xd0:\xd3\x0c\ +\x9fx\x8c\xea\xbe{\xd5\xb7f;}\xbd\xea\xf1\xe0\xf9\ +\xaa$n\x0e\x9c\xf5K\xec\xc0O\x9f\xfd\xb3\x13\xbd\xeb\ +\xc8\xb3\xd3\xb3\x17\xab\xb3\x8b+\xe0\x0c\x1e\xb2^\x1f\x07\ +\xab\xbf\x91\xbc\xea\xcf\x06\x1e\x8b\x83\x8b\xb1yv\xdc\xb9\ +\x9eu\xfe\xe7\xd3\xd3\x1e\xaa\xa8\xa9\x12!\xeb\xfc\xe0\xf8\ +=\xe7\xa6$pe=\xb7V\xdb\xa9\xa9G\x04\xed\xa4\ +\xb2b\x98\xc1\xceC?\x95X\xbf$\xf0\xdd\xd9Y7\ +\x8f\x87\xaf\x8f\x7fZ\xf5\x9e\x7f]O\xdf\xac\x13\xdd?\ +N\x7f(\xda*k\xbc[MPQ\xfcv\x02'Y\ +\xc3\x91\x87\xcf\x9e\x9d\xfe\xb8>\xba\x95\xeaK\xd0T_\ +\xfc\xb9\xb7\x9e\x9e\x9d\xbe\xf9\xdb\xd9\x0a\xc4\xfe\xbe:?\ +\x7f\xf5\xed\xcb2\xf3\xfa\x1b\xf3\xea\x8f?\xd5)kh\ +L\xf8\x95\x8b\xbf\xfbq\x06\xfd\xb4\x0d\xbd\xedc\xd5\xe5\ +\x14{\xcd\xcc\xfc\xf2\x81\x9f\xae\x1c\xd8\x8c\x17\x00\xf4\xfa\ +w\x0d\xae\xde|\xb7\x13\xdf26\x9a\xde\xba\x85\xca\x84\ +\xae\xaf\xd8/\xb8\xc1\xbe=~\xf6z5qY\x7f\xdf\ +\xbfz\xfb\xaa\x83#6:\xd5Uw\xfa\xfc\x93\xcf\xde\ +\xac\xce\x8f_\x1c\x9f\x1fo\xcci\xd3\xee3\xebO\xfe\ +\xe3\xb3o\xdf>~{\xf2C\x7f5\xbe|\xfd\xea\xf9\ +\xeam\xb5\xa6\xe6\xe0\xbe\x9b\xc2\xb0H\x9c\xff\xbc\x84b\ +\xfa\x11\xc9\xd4\x1c\xce\xfc\xcb\x97\x1d`4\x17&\x96\xea\ +b]\xe6\xd1t\x9d\xed\xab\xfe\xfd\xf4\xdd\xd9\xf3\xd5\x17\ +\xb5\xa3\xda\xdb[\x5c\xb2\x5c\xab;\xe2\x9b\xafW'\xe7\ +\xff3\x0c\xeeD\xcc\xfa2\xa7\xdf\x9d\xf7\xdd\xd9~\x1e\ +~\x1a\xb16\x9aI\xd5\xf3\xe3\xb3\x97\xab\xf3\x0d\x5c\xf2\ +\xe6H\xe92v\xa3\xffRb\xf5\xb4\xd7\x0a\xc7\xbd+\ +\x7f\xfb\xef?\x93\x8c\x8dbs-k\x0b\xad\x13\xaaj\ +\xea#\xda\x1d\xa5\xfb\xdf4\x82\xe3/.jPO\x8e\ +_\xaf=\xbc\x9fq\xbe:Z\x9b\xcf\xd3\xe1o\xc0\xbf\ +=\xfd\xebtdz\x7fw\x9e\xdas\xee\xf8\xf9$e\ +\xe8E\xb1<\xefG\xc1\x05N\x8a\xdeB\x7f\xb44g\ +%\xc5\xdf\x22\x11\x05/[I\x1d\x1b=\xe5\xb3\xb3\x17\ +'\x8f\xff\xf7\xcb\xa7}s\xd0\xe7\x8f\xff\xef\xf4\xec_\ +\xa3;\x16z\xfc\xec\xf4]'\xa3G\xae\x17\xcf\x1f\x9f\ +\x8c\xd7{\xf5\xa6G\xf6Go\xbf\x7f\xf9\x9f?\xbey\ +\xfd\xd9\xa3\xe9@\xbd\xa7\x82U\x9d\xbe\x11p\xb6z[\ +n\xd0\x9d\xfa\x1f\xe7\xe7\xdf=~\xf4\xe8\xbb\xbe\xa9a\ +;={\xd9\xcf\xeb\xff\xbdyU'<\xfa\xfby\xdf\ +\xd0\xf0/%wt\xfbu?\xfa\xab\x8b\xae=\xdax\ +\xf9\xe7\x9f|\xb2\xab\xd8\xee4M3\x85=\x8a\xd7\x9b\ +\xab\x82\x22~\x9c\x0f\xceg\x95\x8b\xabw\xec\xb5\x91\xd9\ +4s\xc4\xaa,w\x0ai\x80\x8aK\x920\x8c#\xe7\ +\x92bY\x92j,IR\x8d\xa3'1\x93D\xb0,\ +)M\x96$E>yz\xc4sI\xb4(\x09Y}\ +I\xd2\x17|t\xf4\xe5\xa5>\xc9\xb2$\xe7EI_\ +\xcaW\xf4U\xce%-3N\x90\xb9$\xe9\xab\xa3\xa7\ +\xf4T\xe7\x92bY\x92\xb0.Iz\xdaiz:\xb7\ +\x02\x86eIN\xb4(i\xf8\x9bK\x1a\x19\xbf\xfc\x99\ +\xf8M\x8e\x11\xfb9F\xde\xb5g(\xab\xaa\xcf5\xf1\ +\x91\x93\xddc\x8el\x86\xa2\xcb\xb6\x18O\xe2h&O\ +p#oa\xec)\xcd\x22\x96\xc7\xbf\x1es\x89\xbe<\ +jl\xbc<\xfe\xf5\x98K\xca\xbb\x1a\x7f\xc5EI\xca\ +\xb8O\x9f\x94\x17%\x85\xc8\xb2\x9f|q\x85'\xd5\x05\ +I\xb8(\x04\xbb\xdb\xf2\x5c\x88/\x19\xf6\xc2\x92\xe1\xb4\ +np\xff\x8b\x03;i\xdac\xd4\x8c\xf6e\xa8\xdcE\ +y.D\xd6\x0c\xcd\xf8\xb8\x91!\x84o\xeem\xdd\xe1\ +\xc3\x89\xc9; \xc6\xf1v\xc4\xe07\xf7\xb4\xa4\xf1\xc1\ +\xb4\xb8\xedK\x0b'\x7f\xc11\x17\x12\xb7\xa3\x85\xbe\xb9\ +\xb7\xd5\x92\xfd\x88\x89\x88'1O\xc9\xb1\x1c\xb4\x00\x9c\ +\x16%\x1d\xc5W\x91sI\xba,\xc9|1\x90>\xf9\ +\xe2\xc9\xd1\x93K\x92\xfc\x9a\x22H|I\xd2\x91\x1e\xd9\ +\x91\xcc%]\x93&\x10u\xb1\x08\xfa\xa2?\xe6\xc1=\ +\x97\xd3\x04\x03\xd2rp\xaf\xc7\x5c\xd22\xe3\x82\xd7\xa4\ +.\xef\x0f\x9bKZf\x5c\xcdsQ\xd2\x97\xf5\x98K\ +Zb\x1c\xf7\xf0\xb1\xcc\x05\xf7\xf8\xec\xe5\xe6m/\xd9\ +\xd6\xa1\xe6|\xe7\xdd\xb2\xb31\xb3\x1f\x22\xd7\xb3\x02?\ +\xe8s\xa5\xfa\xb9\xff8\x09\x9a\xd6/N_\xacj\xaa\ +\xd3\xbd\xe8\xf9\xfao\xb3\xbc\xb3\xebf\xc2\x82f\xe6\x9b\ +\xbd\x00X\x1d\x85\x0f\x1fR\xb6\xd4`\xee/\x11\x1b\x13\ +*\xcb\x83\xf9gP\x17\x9f5\xb5H\x8d\x04\xa1a\xb3\ +\xf8\xcdo\xde/\xef\x1c?\xceT\xc7\x8d\xe6\xc7\xd7\xec\ +N\x1b\x99]\xfd\xbf\x1e0\xb7\x08\x00\xe3C\xb4\x06\x9e\ +\x10x\xf0\xf56\x8a\xd9\xc0\x22\xbc\xa3\xc1M\xd36P\ +z\xdf\x15?\xa4!mA\x05\x18k\x07\xa2\x85z\x01\ +\xda\x00\x87\xb6\x04e\x89A\xf4\x96,\x87a\xcd\xd1\x81\ +\xa5\xcb\xa9\xe3\x0cY\x18\x0b\x15V\x88\xd2ah\x0b\xe6\ +9\xc0P@I\xaa\xb3\x0c\x91\x16:?\xa1\xe3\xfe\xfb\ +\xd3\xed\x1a\xd8\x86\x92f\x1a\xcc\xd9!\x9f1Tc\x01\ +\xc0XV\xa0 \xccV\x17\x99P\xc2f\xc2F\x1d-\ +:\x9cF\xc85ld\xc8a\x1b\x0a-W\x1f\x001\ +\x19\x81\x8e\x0f\x00DFIG\x82\xc6E\x91\xb7QJ\ +\x01\x0eY\x00!\x0e\xcd\xa4\x81A\xa0\xad\x16z\xf5b\ +l#\xeaB\x8f'\xf4\xe7%\xf3b\xb0\x90d\xd9\xd7\ +\xbcH\xf0\xc1\x9dY\xfe\xcd>\xb6\x19\xc1\x99\x16\xd5\xcb\ +\xb1SW?K\x9c\xd9\xbe6.\x92\xeb\x09\xa33\xb4\ +n#b\xcb\xcc\x01\xf1\xa2\x14\x80:H\x07G\xd5v\ +\xb8hk\xd4`\x8c-l\x1eY\x88\x86m\x10\xc12\ +\xd2\xa4\x96(\x87\x1e\xeb\xa1Ln\x14YmB\xac\x96\ +\x1e\xfa v\xf3z\x1c\xc5j1\x8b^\xe9\xde\xd8\xde\ +e\xd1y\x1f\x94\xf9\x83K\xc3\xbe\xcd`V\xce\xc7C\ +o\x99\xa1e\xecM\x0c\x82d\x83D\x03Bv?\x8c\ +&\x9c\xcc\xb6\x8dd\xc0\xa8\x98\xb7t\x01\x8aC\x84h\ +\xacH\xd1E\xcd\xc0H&-\xe9\xc8\xe2\xda\xa1,.\ +\xb0#\xa9\xe4\x8a\x13\xd2i\xb2\x16\x89.>\x802\x8e\ +\x1aJ\xa2\xe2\x88T[\x00\xcdhhSjra\x1a\ +\xec \x03\x86H\xcc5\x06P\x97$\xae\xd1\x82(\x13\ +(H\xd3\xc8j\xa0\x22\xdd\x0a\xf0j\x98(9_4\ +9\x1cTG\x19f\x1e\x87\xd9\x00%\x8b\xa5\x0d\x12M\ +\x9c\xd3\xa2\x00\xa2d\xee\x080#\xd3Ad\xb3H\x88\ +\x09\xf9zN\xf6\x8e\xf17\xbcq\xfc'\x13\xa8\x0c8\ +\xe5@\xe3\xc9io\xfc\xf0|\xb2\x9f\x9d\xa1\x03\xff4\ +Y\xd3\xd5\x0fz\xd7\x0e8\xef\xb8\x168Y\xd5\xe8;\ +\x95 \xd6.S\x80\xd9\x000[y\x06\xb0\x1e&\x1f\ +D\xa7\x95\xcb\xee*m\xd8\x80t\x5c\xaa1\xbc\xb2:\ +V\xf6\x82u\xc6\x81G\x9d_\xd9\xaa\xc4USch\ +\x8e\xaez\xf9\xc2?\x17S\xb7W6p\xa7\xb2\xfe\x1e\ +\xcazd\x01C\x80\xf0&\x22]\xa9AY\x19\x95\x8d\ +\xf4\x01\xb1RvH\xbb6*[\xea\x80\xd6\x19\xa5\x1d\ +!\x96v%\xee\xde\x95\xe5\x9d\xca\xe6\xfb\x8c\xacr\x01\ +,^\xca\x06t\xd5tPVK\xa1R\x7fD\xea\xff\ +\xd5\xa8W\xa3\xb2^\xca\xd6\x19\xc3\xc8\x8a\x8f#\xab|\ +{e\xafQPw)\xe88S\xf0\xf2\x85\x8f.\x03\ +\x09m\x0c_z\x90\x1d\x05)\x0e\x00;\x98\xd1\xf4R\ +7w\xd05\x072\x1a\x0dV\x1e\xb1f\xa4\xc2\xa5u\ +\xf0\xf2u\xe7\xcd\xb5\xfe\x8f^.\xa4\x82\x1e8\xbe]\ +\x8da\xff\xec\xdd\xeb\xd5\xe3\xd5\xf7\xab\x1eJ\xea\x9b\x92\ +g\xa7\xffZm\xca\x81us\xfc8\xfb1~\xf7\xe3\ +\x06(\xea\xfa\xc7\xa0\x8f\x9f\xbd;?\xdf\xc6\xfe\xd9o\ +\xc4\xd4o\xc8\xd4\xeb\x845\xba;\xa9\xb8\x1d\x12TZ\ +\xa8\xe7\x1dq\xcey\xde\xfb\xad\x83d5#\xbd\xb06\ +\x90\xc3\x8a\x9c\xeb\x17%\xea\x17\xd7\xb3&$\xf3\xf9\x87\ +\xe0\xa7;\xcbP'\xfb=\x16\xea\xf70\xe1\xf9\x05+\ +\xd2\xfb\x9f \xdeG\x05\xff\xfb\x9a\xfeL>g\x9a\xb2\ +\xf7\x08N\x1e+\xbf\xad\xc9\xc5\xcd\xd3\x03\x22\xd7\x07{\ +\x10v\x953\xcd?\xa6\x13\x1f\xc3tb\x8f\x11\xa7\xcb\ +\x13\xc2q>\xf1\xfe\xf3\x87\xad\x99\x07\xa6\xf3\x94\xfd>\ +\xc2\x19\xc0\x95\x92\xcf\xac\xa0}\xebc\xa2\xc4\xc9Q>\ +\xaa\xfa\x7fYU\xe7[\xaa\xca\x93\xaa\x1fU\xf5\xbf\xac\ +j\xc0-U\xd5I\xd5_\xe1<`\x07\x13\x08x\x99\ +\x8ak\xd4\xf7\x07\xf3R|\x9e\x0fYn\xaa\xeb?\x86\ +r\xbcz?\x15\xe4\xc37C/\xfdp\xe2\xf5\xf1\xb3\ +\xd5\xeb\xf5\xb7E\x0f\xea\xd8\xae\xaa\xad\x06\x14\xfa\xa3\x9e\ +\xd5\x1a\x90\x99\xc5\xe1\x10\xf9\xa2\xccd\xbc\xc6\xceS\x1f\ +\xe2pf\x15E\x95\xa6\xaa\xc0\xc3\xe6(&!\xab\x87\ +4\x8b\x98\xc4\xa27\xad\xc0$(\x19\x13\xfeiN\xea\ +\xa4\xf65\x1c\x1b\xc7e\x8eK\xa2if\xda{1}\ +V_\x89\xdc\xa0\x03\xed\xaf_\xf5\xa7\xc7\xb2\xc1^\x1c\ +\xf7\xef8\x9f\x9d\x1d\xff4vmD\xaf/J\x95\xf9\ +\xc1|\xa2\x1d\xde\xa2R7\x8dQ\x02 %\xbd7\x8b\ +\xf8d\xad \x89n\x08X\x183\xa7\x8f\x95f5\xc3\ ++\x91R\xb5\x0c\xaa\xd5e\x904U@\x91C\xc3f\ +,H\xd9\xb1C\xa3\xe6!`<4\xcaK\xebY\x1b\ +\xa1&\xfb\xf6Y\xd6\xd84\x1c\xd7r\xbd!\xd5U\xc6\ +k\xa2Vs\x8c\xdd\x0e\x90\xc6\x1d\xb3\x06aX)\xac\ +1\x93\xb0\x0f\x18\x19\x90V\xc2v\x0c\x1fO\xd5\xe4\xa1\ +\x8f\x89\x0dA\xc1\xea\x8d\xd2\x92\x9c\xb4\x0a@\x000\xa1\ +\x8eqS\x0e\xc2\x83\xacFO\xf1\xf5\xa2\x84#\xe9\xd8\ +\xf0h`c\xa3\xcc\xd4m\xad|d\xa3L\xe8=p\ +m\x89\x1c^\x9c\x9a\xb9\x1a\x17\xe4\x9c\xae\x5c\x9d\xa7@\ +\x1aN\x14\xb0Q\xa1\xca?\x92\xccU\xa4\x80\x93K\xd4\ +\xf433Y\xa3.(\x86^YY\x0e\x03\x8a\x8f\xaa\ +\x88\xb8\xd98\x06,\xa3\xa0\xa2v8F\xb2\xeen5\ +\xa4\x0a\xb7I\x98\xe4\xa0\x1f\xf8\xc5E\xedPa\xe0a\ +\xbbs\x8a\x1b\xc2.\x948T\x1ax\x15\x9bT-l\ +\xe4\xbf\xb8\xa8\xb3.h\x92l\xc9\xbenp6\x8bM\ +\x03+\xb8\x8e\x94\x0b\xfaa\x8d\x02:*\xd5\xd0\xa8\x86\ +Q\xc7\xb8\x85G\x10\x96\x5c\x1fz\x84<\x8e~!\x00\ +\x1c\xce\x83Q:b\xd4\xe0\xa7:S\x87\xb0\xa5\x199\ +O\xb6\xbd#>\xb3b^\x80\xe77\xecT\xda[\xe8\ +\xec\x5c\xbb@4\xc8\xf1\xc0Cl\x88\x18H\xf2`\xdf\ +U0b\x83\x07\xef\x1dK\xca\xbb\xe7\x81$\xfe-\x01\ +d\x1e(\xcai\x1c$\xab\xd0\x0dI\x95u\xd5\x8d\x8a\ +\xeaC\x89\x8c\x9c\x96X\x96Qo\xd4\xc2X\xc41u\ +pM\x17\xc5\x0e%\xb9\x12\x0c\xb3S/\x87 \x1c\xa2\ +\x87\xb1\x00\x96\x9d\xa25#\xc8\xa4\x0a \xa2\xe8f\x07\ +\xa8c8\xe7\x8a#\x96 9\xc3\xa4\xec\x88\xc9\xeb\xec\ +\x09\xd5\xc6\x08\xa8\xbe-\xd1\x9aJD\xf8\xf6\xb5\xbd\xb1\ +\x99q\xb7\xcc\xa9\x9b\x95\xd7\xc1\x19ytj\x8f\xe0\xae\ +9\x124\x84\x90(2\x1c\x12p\x80(\x0dd\x98\x09\ +\x0a\x82\xf2p\xb2z@\x14AR\xfdA(4Z\x18\ +T%ZY\xcd\x85\xb4cuq\x8e5ff>\x04\ +*\x07\x8b\x9a\xe7Lh\x11\x9d@`34\xb4\x09\x02\ +H\xccP\xcf\x86\x12\x8e:C%Z(&\xe7\x1c\xad\ +X\xc7\xe84C\xd9[ \x88\xf8\x0cEj\x94\x1c\x94\ +\xa5W\xa1\x8eF\xe5nH\xce\xa6\x07\xa9M\xc1A\xab\ +fj\x00\x11\xaa\xa5\xbf&F\xd5\x9a\x0d\xd3\x82T\xc7\ +\xd9\xb5\xb99Z\x99H\x88\xa7QE\x03\x111+\xfb\ +\x920\xa2\xdcer?\x1f\xf4\x94e\xcd`\x88\x11\x84\ +\x8d$\x08J\xa7\x09\x15j\xa2\x9aZ:Y\xb4\x94\x0c\ +\x90-\xf4\xa8PJ7\xd0-\xd4\xbc\xb9\x93J\x14\x96\ +l\x9c\xe68\xa0\x8c\xa5\xa0qKd\xe3Z\x07g\ +lL\xaa4L\xe6\xdcI\x9c\x0e8\x9aJ\xa8\xc7\x10\ +\xc29\x01\xe4@\xac\x81&\x9a_`\x5c\xf546u\ +\x0a\xc2-\xd4\xb5%\x03a\xd6u\xc80C\xc7\xceh\ +\xb6\x84p\xe2\xdbE\x98H\xdf\x7f<\x02>\xda\xf1\x08\ +k\x8e\x95\xf3\x08\x1a{\x10nc\x12-D|\xf6>\ +\xcd\xc6\x86\x149\x96\xe2\x04L0\xce\xcb-\xc0\xa3\x06\ +\x03\x0c\xd5\x86\x94i\xa0\xc8| \xda\xdc(\xd1'\xac\ +\x06=\x9a1\x0a\xdb\x16\xca\x95\x03\xd3u\xc00\xc8{\ +'I\x1bE\xb8\xd6Hr*\xa0\xfc\x06\xec(\x11n\ +aG\xf4+\xf3k\x8a\x86D\x198\xd4O\xe6F^\ +c\x14\xe2$Y\x98eP\xd8\x01k3u-$\x89\ +\xc0\xa2\xc6\x92\x1aZ\x8ax\xa1\x0eb\xce%\xcf\x15(\ +\x0bbM\xe22\x0e\x19B\xe9p]!\x91X\xcfp\ +=\x0a\xa52\xc7t\xd0\x19*\xd9\x1c\x125g\xa8A\ +\x03%\x8f\xa1\x80\xa4&\x0cY\x86\x88\x8d\x9cI\xf1\xc0\ +\xbd\x05a \x95\xb93\xa1\x99\x0c\x13HL\x1c\xf5F\ +V\x87\xf5W4P!M\xea\x9d\x14\x0a)\x07\xc1\x0d\ +B\x98b\x90\x08FA{[R-j\xec&\xcb\x9b\ +\x00)p\x99.\x90\xa8\xea\x01gC'\xd5,\x0c\x01\ +\x1d\xfd@\xa0\xa5:\x04\x0f\x98\x92\xda\xe06\xd9\xea(\ +E\xa1\x90\x0eI\xa3DT\xb2\x01cp\xd3\xabW\xde\ +m\xd9y\xf1]\x88\xfaW7\x80\xf9\xfc\xff\x01\x9e\xd5\ +\xc9%:P\x01\x00\ +\x00\x00\x18\xd8\ +\x1f\ +\x8b\x08\x00\x00\x00\x00\x00\x00\x00\xed}ms\xdbH\x92\ +\xe6\xf7\xf9\x15:\xcf\x97q\x1c\x99\xca\xf7\xccrw\xcf\ +F\xdcL\xec\xc6F\xf4\xc6]\xec\xce\xc4~\xdc\x90%\ +\xda\xd6\x8e,)$\xb9m\xf7\xaf\xbf*\x90\x12X\x14\ +-\xd0l\xda\xdd;c\xb8\xdd&\x1eTUV=\xf9\ +\x06\x14\x80\xc2\xf7\xff\xf4\xe1\xed\xc5\xd1O\x8b\x9b\xdb\xf3\ +\xab\xcb\x1f\x9e\x11\xe0\xb3\xa3\xc5\xe5\xe9\xd5\xd9\xf9\xe5\xeb\ +\x1f\x9e\xfd\xf5/\xff<\xcfgG\xb7w'\x97g'\ +\x17W\x97\x8b\x1f\x9e]^=\xfb\xa7?\xfe\xee\xfb\xff\ +5\x9f\x1f\xfd\xe9fqr\xb78;z\x7f~\xf7\xe6\ +\xe8_/\xffv{zr\xbd8\xfa\xc3\x9b\xbb\xbb\xeb\ +\x17\xc7\xc7\xef\xdf\xbf\x87\xf3\x15\x08W7\xaf\x8f\x9f\x1f\ +\xcd\xe7\xb5\xe6\xedO\xaf\x7fwttT\xc5^\xde\xbe\ +8;\xfd\xe1\xd9\xaa\xfc\xf5\xbb\x9b\x8b\xa1\xdc\xd9\xe9\xf1\ +\xe2b\xf1vqyw{L@\xc7\xcf\xc6\xe2\xa7c\ +\xf1\xd3&\xfc\xfc\xa7\xc5\xe9\xd5\xdb\xb7W\x97\xb7C\xcd\ +\xcb\xdb\xdf\xaf\x15\xbe9{UK\x8f\x9dy/C!\ +*\xa5\x1c#\x1f3\xcfk\x89\xf9\xed\xc7\xcb\xbb\x93\x0f\ +\xf3\xbej\xed\xe3\xb6\xaa\x8c\x88\xc7\xf5\xd8Xr\xb7R\ +/>\x5cT&>\xd9\x99\xe1\xe8\xba\xf4\xca\xfeu\xfd\ +\xfbP\xe1\x1e\x80\xdb\xabw7\xa7\x8bW\xb5\xe6\x02.\ +\x17w\xc7\x7f\xfe\xcb\x9f\x1f\x0e\xce\x11\xce\xee\xce\xd6\x9a\ +\xb9'\xbf\x93\xdbi\xe4\xf2\xe4\xed\xe2\xf6\xfa\xe4tq\ +{|\x8f\xb7\xfa\x9d94\xa0j\xf8\xec\xeeM\xdd\xe5\ +\x1cv\xdf,\xce_\xbf\xb9\x1b\xf7\xcf\xcf~xV\x07\ +\xcc\x8e>\xec\xdfw\xe9\xc5CC\x08\xc2\xc3\xa1{9\ +\xeb\x87t\xa3\xd6\xd9\xd5i\xedY\xed\xf7\xeb\xab\xf9\xe5\ +\xe2\xc3\xdd\xfc\xa7\xf3\xc5{\xa8\x02~\xee\x9b\xb8zw\ +w\xfd\xee\xee\xbfj\x89\xc5\xe5\xb2\xad:\xa8q\x84\xcb\ +\xc3C\xbd\x07\xb0o`\xf1\xe1\xfa\xea\xe6n\xfe\xea\xfc\ +b\xb1\x14x\xfc\xe6\xea\xed\xe2\xf8\xfa\xfc\xb2\x8e\xf0\xe6\ +\xaa\xfe8\xbd=\xbe\xfa\xf0\xf1\xf5\xe2\xf2\xb8\xd6\xb88\ +yy\xb18>9\xbd\xab\xb2n\x8fk\xe7.Nn\ +W\x9d\xbb\xbe|\xbd\xb5\xe9\x0fg\xd7U\x8d\x1e`[\ +\x0f\x7f\x1c\x0f\xff\xb1\x1e\xff\xfe\xed\xe2\xee\xe4\xec\xe4\xee\ +\xa4\xfe^\xd1z\x8fh\x0c%j\x99j\xb4/\xfe\xfd\ +\xcf\xff\xdc\xf6\x86\xfd\xd3\xd3\x17\xffyu\xf3\xb7\xba\xbb\ +\xdaZ\x81\x93\x97W\xef\xaa\x82\x86:\xabrg\xa7/\ +\xaa\xe1\xbc=\xb9\xfb\xe3\xf9\xdb\x93\xd7\x8bf\xa1\xff\xbb\ +\x1a\xca\xf7\xc7\xe3\x81\xae\xf0\xdd\xc7\xebE\x05\xbafo\ +\x16K\x0b\xdc\xe6\xb4\xf5\xbf\xb7\xe7\xad\xd2\xf1\x7f\xdc\x9d\ +_\x5c\xfck\x13\xf2\xec\xe8\xf8\xa1\x9f\xc7\xab\x8e6\xa0\ +\xed\x8e\xe3\xa8;\xf7\xc3\x1c\xf6\x1e\x0c\xa1)\xe5\xac\xf1\ +[\xd1u\xf6\xde\x9f_\x9e]\xbd\x9f\xdf\x9b\xa1G>\ +\xdb^\xe2\xden)c\xb3\xc4u\xed\xde\xed\x9b\x93Z\ +\xea\x87g\xbc\xed\xe0Uu\x8c:\x9ef\xa0\xb8:\xfe\ +\xfa\xdd\xf9\xd9\xe2\xee\xeabqsr\xd9H\xa0\xb5C\ +7U\xd4\xd6#W/\xff{qz\xb7\xfd\xd8\xcb\xab\ +\x9b\xb3\xc5\xcd\x83$\xda8pzuqu\xf3\xc3\xb3\ +\xdf\xfb\xb0\xad\x0e\xb5\xbe\xdd\x1fx5l\xcfFsy\ +yr\xbbX\xed\xde\xbe\xb9z_{U\xc1\xbb\x9bw\ +\x8b\xcd\x11\xfe|u\xf5\xb6\x0d\xcd%\xd1D\x1e\x11x\ +\xfa\xe1\x87gs\x12\x04\x16\x11\x7ft\xb4u\x96\x02\x9c\ +)?\xc5}m\x00?q\xa8\xd6V{\xdc\xe8\xbb\x9b\ +\x9b\x1a\xf4\xabW}\x5c\xdc\x8c\x01e\x1c\xcd@\xff\xed\ +\xf6\xf1\x0c\xc7\xe6/_^}X\x1d_\x99\xd9X\xa0\ +Rqo\xce\xd5J\xab\x1e\xaa_W\xac5\xf4@_\ +\x03X\x99\x1f\xc0\x9f\xceo\xcf\xab\xd3\x8f2\x87\xadF\ +\x8b\x0a\x9em\xa0-\x92\xd6\xacY;\xc0\xe0u\xbb\xfe\ +\xb0y\xe8\xe3\x96C\x8b\xb7\xd7\xab\xa3\xf5`\xf3\x97\xc1\ +\x1f\x1e\xbb\xc0\x80\x9f-^\xdd\x8e\xcan{\xec\x98\x8f\ +\xc6z]c\xeb\xf5\xe2\xb4\xa5\xc7\x95\x981\xb8.\xc7\ +\xde\x17\x95\x91\x851>_\xffW\xd3\xe0\xd1\x8b#\xd7\ +\xfa?\xdaZ\xe2\xe3\xb2\x04!\xb6\x7fpk\x99\x9f\x87\ +<\xb1\xad\x9d\xbe\x0b\xf3\xab\x9b\xf3\xd7\xe75\x88\x0f\xe5\ +tI\x94G\xab\xd3\xe9hmpZ\x1e\x02\xcc\xf75\ +\x87.Nn\xfe\xe5\xe6\xe4\xec\xbc\x1a\xd1z\x85\xfe\x88\ +h\xad\xf5\x10\x94n\xef\xae\xae\xdb\xef\xb1tCDm\ +\x94Y\xb9\xbb\xfbx\xb1X\x1e\x99\x0f\x9e\xf7\xe2\xf78\ +l\xdf\x0d\xd0\xca}_\xacW\xb9z\xf5\xeavQC\ +\x13\xd6\x0eN\x0b\x93\xcf\x17\x86[\x84\xd1\xc8\xc6q?\ +\xe8\xcf\xe5\x88\x8bMr\xc4%\x9e\xee\xb6\xcb\xa2\xbcz\ +u\x18\x8e\xb8\x94'\x85\xad\x22\xe1W\xe5\xc8q\x9a#\ +\xe7\xe9n\x1f\x8c#\xd7\xdf\x1cG\xc8\xd3\x1c\xe1D\xb7\ +O\xcf\x16\x8b\x83q\x84\xfe\xb4\xb03^\xe4\xe2\xec\x00\ +\x1c\xd5\x93\xca\xbb\xc5\xcd}\xc5\x96M\x11\x08\x19\x03\xc9\ +V\xed\x8d\xe7\xd5\xc0\xa8\xa48\xc6\x81\x8f\xcb\xf2\xac\xc5\ +\x1c\xe9\x1e\x1eO\xbc\x81\xb5\x14\xe2.0.%\x8ad\ +\x8c\x9c\xbfZ\xfc\xcb\xc9\xbb\xdb\xdb\xf3\x93\xcb\xffs\xf1\ +\xae\xf5f3\xf8\xd6a_,Nk\x93'\x17\xefO\ +>\xdev\xe4\x9c\xfdy\xf1\xd3\xf9\xc9\xdd\xfdY\xba\xba\ +\x99\x17z\xd6\xd3\xdaK\x10\xc9\xb2\xc6\xcc\xb2K\x9fi\ +5\xae\xa8SV\xe3:\xa5HLZ\xc8\xe2 V\xe3\ +\x8a\xf9\xb40\xc98[\xe8\x84\xb0Cz\x96\xd7m\x92\ +#\xf7\x89n\x97W\xa7\xf4\x8a\x0f\xe3Y\x94\x13Y\xcc\ +2\x16/m\x07a`;\xa8\xc4\x03'\xf4\x7f\xca'\ +\x96\xdb\xc4\xed\xef\xc8\xbd\xa3\xd1\x17r4scK\xce\ +\xa7\x1d\x8d>\xd7\xd1>\xd0\x0f\xcfB \x94]r\x0c\ +4\x15%\x03\x117\xd5\x07\xf4\x03\xd7\xb2\x09E\x8aH\ +\x19\xcbV\x94\x1c\xc20lD\x1f\x1b\xa7\xa9\x8c\xca\x19\ +&7^\xbc\xb9Y\xbc\xaa\xd7+\x8fR\xe8X\xee\xf5\ +\x0a\xfc\xeb\xe5\xf9]=\xc7\x7fw\xbb\xb8\xf9\x8f65\ +\xf1\x7f/\xffz\xbb~\x8e]\xa7}\xce\xfemq\xf7\ +\xe6\xaa\x8a\xad\x8d6N+\x0f\xd3#W\x08\xebG\xad\ +\xc0a\x99\x07\x1c5\xef6\xeab_k\xd4\x14\x05(\ +\x98\xb5\x1f9\x0b\x84\xa5\xf7#\xa7\x10(\x89A\xdd\xc8\ +\xdd@5\x89\xf8\xe9\x91\xfb\xc1G\xde\x97\xfaK\xbdv\ +\xbem\xb3\x14\xf5\x9a\xab\xfd\xbc\xa8\x13\x8f\x7f(1\xc3\ +\xe7;\xd1P\x1c\xd4S\xbd\xa3\xc1\x05H\xd2\xc8:\x1a\ +\x8c\x81)\xd5\xb3\xa7\xc1\x81Y\xd5\xe2\x09\x1a\xb8\x98\x1c\ +\xca\xec\xa7i\xa8\xf357\xe7\x1f\xfe@\x80\xec\xc5\xd1\ +gX\xff\x8c{sF`\xd4\x882\x9b\x13\xa4\x98\x87\ +\xf9Nde,\xb9\xeac\xc4\x1cA\x9c4\xd9\xbc\xb7\ +\x1ar\x08J\x8d\xde_\xd0A9\xcc\x9f\xa6\xcb\xff\x0e\ +\xe8\xd2\x80\xe2\xa9\xc1\xbd\x8b\xf9\xd2\xb6\xa2#K\x0b0\ +\xf5e+\x9a6pe\xe5i\xb2\xcand!\x7f\x15\ +\xb2\x0c\xeb&\x8d,/\xa2,\xb4FVk\xf0\xe4b\ +\x93\xac6\xa3DkCosH1Z\xc0Mu\xbd\ +q\xefU+\x9c\x09\x99\x142\xa2\xb5\x0a1\x81*\x93\ +tl\xf5\x22\xb9\xf8N\x9e\xe8u;\x18[\xf3Gt\ +\xa1\x9b\xfb\x8c\x99A\xc2)*Y\x0c\xea^\x16\xbe\xbd\xbb\xb9\xfa\ +\xdb\xe2\xc5e\xbd\x7f\xbd\xfa\xbd\xbc1\xf4\x02\x81$\xb4\ +\xd4\xed\x1eo\x1c\xd4\x81\xbe\xb8\xb9zwy\xb6\x0e\xfe\ +\xf7\xd5\xf9e\x8f\xd6\x9b]\x8b\x9b\x8b\xf3\xfa\xcf\x0b\xbd\ +\xc7\xceN\xea-\xa5\x9b\x9b\x93\x8f\x9d\xb0\x86\x0e\x97\x9b\ +\xb5$\x90\xad\xe0\xadW\xa5\x95\xb5\x7f;\x9a\x13\x13p\ +b\x99q\x013t\xe5\xa3?5\x94\xc1\xdc\x9cg\x9c\ +\xc0n\x85\x1b\xa6\xe0\xe2\x16\x1dfP\x98x\xbd\xfa\x8f\ +\x15\xd6{\x8b2\x06O\xe7\xb2\x84\x83\x81\x0a\xdb\xa6\xb0\ +\x10\xd0\x08\xa1\xf5\x86\xc3\xc04\xd9;\xcc!\x85Kn\ +\x08K\x01C\x97\x9980K\xf1e\xa3\xa9\x10\x85\x90\ +g\x12`\x98\x9e\xd2\x81\x05,\x8asY\xab\xaf\x08\xe9\ +*64\xea\x08\x12\xe86s\xed\x84d\x00\x89\xb9\xf5\ +22A\x19%h\x1d,\x08ZH(\xd6\xaa\x17\x82\ +\x08G\xc9\xd6\xe88\xa0\x92\xa0Z\xc4\xb25;\x8e\xbd\ +\x14\x08Q\xcc5\x8eFl\xa4s\xac\xde\x93\x1f\x06B\ +\x12\xd8\xe0QU\x9d\xb0Q\xabc\xc3\xa3\xf6Gl\xb4\ +\x93^\x16)8\x86\xe58\xb0\xa1Q\x12\x10\xe6\xf4\x91\ +\x83updkl`$\xb65+\x01\xa1\xc2R\xd9\ +\xef\xc4\x8c:\xea\xa4\x8c\xda\x1c\xc1Q\xef\xeb\xf5G\x1b\ +\xf9q\xab\xed\xff\xbc1\x13r\xbd\x8c)\xb16\xffq\ +\x1fU~\xcb!\x9d\x99@E\xedK\x84t\xf9\xea!\ +]\xcb\xde!}S\x91\x8f\x03 \x93\x80[Z\x1f\x93\ +\x98\x14\x8a\x0a\xaf\x07@\xa6\x00$\xa5\xe8\xb0\x04.\x99\ +\x1b\x01\x90u\xc5\x7f\x1f\x00\xd9\x15,\x90\xca\x8607\ +H\xd3B\xeb\x0d{@aK\xef\xb0\x02Lh\xb9!\ +,\x0c2\xa5\xf4\x01\x90#\x80<}=\x00\x8e\xe0\xe8\ +2c\xfd.\x00\xb21\x84&\xb7\x00\xd8\x09\xb9\xf7\xd3\ +^\xc6\xe8\xd2#8:\xffX\xbd\x0b\x80\xe3\x80\xba\x98\ +4\x8e}\x8c?#G#6\xd29V\xef\xc8\xef\x02\ +\xe0\xa8\xaaN\xd8\xa8\xd5\xb1\xe1Q\xfb#6\xdaI/\ +\x0b\x1dJ\x1am\x04@F\x83@\xd4.\x00\x8e\xe0\xc8\ +\xd6\xd8@\x17\x00Y\x10\x881[\x00\xec\xc4\x8c:\xea\ +\xa4\x8c\xda\x1c\xc1Q\xefc\xfd.\x00\x8ec\xea\x02\xe0\ +~\xa7B\xf2?\xeeT\xe8\xd3!\xbd\x0fe_\xfa\xea\ +c\xff\x0b\xa3'\xaf_8\xfe\xf1\xae_\x0a\x01R!\ +\xe4C$:\xca]\x13\xdd\xdf\x0f\x81\x99\x87$\xd0\xff\ +\xfe\x09\xecO\xb7\x0eL \x96\x7f<\x0b,zH\x02\ +\xe3\x1f\xd0\x02\xed\x90\x04\xd2\xae\x04~K\x22['\xb8\ +\xcbA\x93\xc8?\xe4%'\x97\xc2\xbb\x92\xf8m*\xf6\ +\x93$\xe6\x97\xb7\xc4\x03\xdeo\x9f+B\x98&\xcb&\ +\x13_KS\xdbI\xd4\xafi\x89*\xa0\xa1\xe1\xdc\x8d\ +\x8f\xd0\x80C\x95\xbb\xf1\xb9C&%Z7\xbc$\x10\ +\xb6\x08\xebF\xe9:\xf1\xb8\xc7\xf4\xed \x84 \x16\xcd\ +v\xe3\x8c\xd8\xd1\x92f\x08$j\xc1Z\x7f\x85\xa3:\ +\xc5,@\xdd\x8c\xd1f\x8c@\xa1$\x87\x08\xabR\xbe\ +\xe9\xe1\xf3\xf40'D0Q\xcdC*B\x88\xf2k\ +\xcf\x06\x12\xe9An\xf0\xf4s\x19\xfd\x98v\x9f\xcb \ +\x07-\x86\x88\xa9\xbf\xad\xfb:^\x00\x8b\x84\xcd\xd8\xc0\ +\xa5\xe0r\xa61\x08XRK\x19\xe0\x82%\xb3\x82\x02\ +\x1c\xe9(\x81\x15\x8d\x1e\xabe\xfbm3\x22\xdf\ +2\xc7\xfa\x0f\x91lK\x80\xbb'\x1d8\xd9\xf2WO\ +\xb6\x98\x07\xba\xf5F\x84\x8fr\x14\xb9\x03\xb3c\xf6I\ +\x8a\x11c9U\x952\xf6\x8a\xb1\ +\xdb\xf3\xf7\xf4{XQ\x8c\x90\x96o{\x8c{\xf3\x02\ +\x16\xe2\xe4^\x7f\x0a\x14\x09cy>\x91\xaawU\xf3\ +xR\xc1`V4\xbd?\xa9\xa0\x04R\x93\xec_\xd9\ +b@\xc50\x19O\x1f\xb6\x96=\xed\xca~:o\x17\ +7\xda\xc5\xa6\x8a\xab\xfcb\x17l\xe2\x1f7;\xf5\x96\ +}q\xb5mo\xb1O-\xc5\xb1e\xfd\x98\xefj\x0f\ +\xa7\xa5\xc5\x16i\xf4\xb44\xe7m\xd2\x0e\xb5\x16\x01[\ +\xe4\x14Kl\x89\x9f\xcfR\xc4~,\xb1%\x7f>K\ +\xa7\xf4%YrU\x9f^\xd5Bs\x1f[j\xdb\xe7\ +\xb3\xe4j8\xc1\xd2\x8e\xd2\xf0\x10,\xed\x9e\x1c&i\ +t\xe2}h|\xf9*q\x0f\x1a\x9dt\x82\xc6Ii\ +\x87\xa7Qh\x9a%\x91=\x5c\x12%p/\x96\xc4>\ +\x9f\xa5\x97\xafl\x81_\x90\xa5\xe9\xf0\xee{\x86w7\ +\xb7}X\xd2\xd8\xc7\x96\xce\xaa5})\x96\xd8\x1c{\ +\x96&:c\xe5\xb1\x81LP8\x06n\xe7\x8e\xa5)\ +iy\x86\xb8\x934\xda.M\x0fgK\xa1\xd3\xb6\x14\ +\xfe\xf9\xb6\xf4r\xcfS\x05\xf7\xc8}l\x89\xea\xf6\xa5\ +lIXbzA0)\xfbx\xdc\xe2e\xbe\xfc|\ +\x96\x84\x95~kI\x90K\xc1)\x96j\x99=r\xdc\ +\xe9\xb0\xed\xc8R/m\x9f\x1cG\xed\xcf\x97:\xa1\x12\ +d\x9a\xb4%\xe4=r\x1c\xe2.\x1e\xf7\xd9M \x90\ +\xb9\xb8\xb8~\xf7\x89e\xaf\xb6\x0e\xa0\xec`\xc4(\xb4\ +\xb5Igv\xa5\xca\xd3\x1e\x9d\xf5\x0c\x0e\x0e\xd9\xc5\x89\ +\x90'\x92\xfb\xeeb\xc5\x87?1e'\xdbW;\xdd\ +\xbeN(\x9b\xca\xde\xeb\x8eN\xafg:\xbd.\xea\xf4\ +\xea\xaa;\xae\xd3:q\x0d;\xb5\xdc\xd8\xf4$\xde\x13\ +Q\xc9\x83>o\xf6\xa0\x9f`\xea\x97\x13\x12\x82 \x0e\ +\xf5\xa9\x99\xab\x8a\x96\x04\xf2\xa0\xb0\x9d\xd6\xac!W\xb3\ +\x90\x875k\x8a\x13\xc5L\x1c0\x8bV|N\x90a\ +%\xb0<\xffU\xd9\xcc8\xe4ZX)\xa0\xc4e\x86\ +\xe0\x8ai61\x0d\xd4\xa9\x88\x09\xb0h)\xda\xa9\xa8\ +\xa2\x84T\xd1NCd@YH\xa4\xd3\x10\x07 F\ +\x9an>\xb8yPF\xeb\xf6\xd4\x03\xa8^\xf0\x90\x0b\ +\xd2\xb8y\x88\xd8\xca\x8e\x98\x95\x0b\xc6\x8c$\xc1]\xb2\ +\xcc\xe6\xa2@\x89Q>E\xf5\xf5\xc9Y7\xe1\xa5\x0c\ +\x81(\xc6\xfd\xe4\x18\x0aXb\xf7`\xf4XtD\xbb\ +\xa2[f\xe7\xbe\xac-\xa3>i\xcb\xc5\xf7\x88\x0cR\ + \x94\xca\xe6;\x95$`\x9a\xd2\xdd0\xd9V\xb6\xa2\ +s\x83\xc2b\x9c\xb1\x9b\x93\xa8\x83\xcf\x18\xc8\x16s\xfe\ +\xa2\xce/\x5c\xec)\xc2\x02e\x0f\xc2\xe6\x8eP\xd4\xd8\ +\xa8g\x0c\x0dR\xd0zG\x9d[\x01%c\xb5\x8e2\ +5p!\xc6\xf85c_\xa0\xed8\xfc\xfdoy}\ +\xa0\xc9\xdbl\x13\xa9\xa7\xbb}\xf7\xeb\xd2u\xa8T1\ +}c\xb5\xd1Fd\xf0\xf8\xa6n\x10`j\xc1\x9c\xb8\ +\x01\xdc\xdd+\xfeUY+\x87eM\x89\x0b\x0a\xb7\x14\ +KEL\xf3\x8b\xe5X\x81\xe2\x84\xdaS\x9a\xc0bE\ +\x7f]\xc7%\xfa\xc6\xe9\xc19\x95\xdf\x10\xa7V\x00\xc9\ +\xbd\xc4\xe6\x0a\xc1\x8e\x8aB\x1d\xa7.\xa0\xa6\x86}R\ +&\x02\xb1B\xfa\x84\xf3O\x9d}m.k7\xcf\xec\ +\x16\xb5\xdb\x89\xae\x03\x9c\xd8\xa8\xb0N\xac\x048.\x19\ +8\xb5\xb6`C\x8bB\xa3e\xcf\xfb\xc0[\x17I\xdc\ +\xb6F\xe2\x9c\x0c\xac_#\xf1\x80\xa4\x89jy\xe2<\ +\x5c\x85ib\xd5\xc9~\x89\xca~\x1d\xcb\x89\xb5.O\ +\xbb\xaaO\x98\xd8\x84\xbdO\xfa\x11WB\x0fI\x1a;\ +>ii\x94\x13+Nw\xabSO\xac\xdf\xdd\xad\xf5\ +=ep\xd3~X\x12I\xb1\xac\xfc\x10A\x0b\x06\x1d\ +\x8a\x9c\xe9+;\x15\xd2\xce\xa2\x8aA\xa0\x11\xd2\xc6z\ +\xb1\x08\x22\xa4\xfa\x895eO\xb7\xd6<\xedj\xfe\x92\ +\xa7t\x18\x0fl1\xc8O[\x0cn.#\xecAI\ +}\xde\xcb\x84\x10\xd1\xf2hubS\xce\xde`\xd2\xc1\ +4(\x7f\x19\x09\x04\xc9\xee\x143\x01\xd1t\xe1\xfc\x9a\ +^\xb4q\xfa\xee\x04\x94\x8e\xee='\x0clE\xc9\xbe\ +\x16)\xf3\x82P\xac\x98\xcd\xe6\xd1~\x09\x17\xf9\xaa\xac\ +ho)\x01\xa4\x18E:V\x86\xe4\x84a\x1b\xac\x98\ +B\xbaYt\xac\xb0\xe4r@\xbf\x88\x96\x12\x87s\x98\ +\xe9\x8bn\x11\xf6\x89\xa5\xed\xbbe\xf0'\x96\xcc\xef\x96\ +\xd7\xdf+\x0f}\xcd\x91\xf3\xbe\xc9\xa5\xffLB\xff9\ +\x85\xe9\x87\xf4\xd8Y\xf7y\x06\x8f\x9d}\xfa\x0b\x19\x87\ +~\xcey\xfb\xdc\x16m{l\xa7\xbf\xcf\xb2\xf7WV\ +\xfa\x9bl>\x84\x99)a`\xfb\x7fg\xa5\x17\xc78\ +-\x8ev\xfc\xca\xca\xb40>\xd8\xedQ'\xdc_%\ +\xfd\xc7\x81\xa6U\xc2{s\xd4\x7f\x1ch'a\xba\xef\ +\xc7h\xd8\xd1\xa7\xbf\x12\xd5\x7fUj\xfa+T\xfdW\ +\xab\xf6sd\xcc\x1d\xbe)\xf5U\x1c\x19\xf7\xb7\x9a\xfe\ +Cd\xd3\x8a\xc4\x9d\xacf\xff\x0f\x91\xf5\xc2\xf4`\x9e\ +eE\x7f!G\xaf\xea\xb6\x13GV|\x0f\x8e\xa6\x85\ +\xe1vay8\x8e2\x7f!G.\x8b\xb2#G\xf8\ +59\xe2\x03r\xc4\xbf4B\x0f\xdb.\x1c\xa5\xee\xc1\ +\xd1\xb40\xdc.\xcc\x0f\xf8X\x82\xe6\xdf\xd1C\x09\x8d\ +\x90\xf6A\xda\xfak\xf5\xbe\xf9\xf8R\xb9\x04h\x12\xdb\ +\x8c\x18\xc8M\xd5\xeb{\xa5\x84\x06\xa4\x89>s\x02\xd2\ +\x88\xd4\xa3?U\xd4\x81\x84\xb4\x81i\x82\xc6\x03\x143\ +g\xc8\x92\xa8~\xbf\xdfJ\xaf~\x1a\x10R1]\xab\ +\xed@\xeaEs]\x8cC\x1a35\xe1\xe2\x10\xc3\xda\ +\x16D\x06\xc9&T[\x13\x067t\xa9`\x82\x9a\xc5\ +\x11;\xc4\xb0\x97\x9c\xca\xf7\xbbR\x1bX\xfe4(\xc3\ +V+/\x01\x06\xc2L\x97#\x11\x08F\xe3Y\x01U\ +\x0f\xb4\xdc\xc2B{\x89\xb5{#\x9f\x87\xe9\xb0\xed\xef\ +\xb4>\xfe\xde\xc8\xe6;\xad\xcb\xdd\x9bw\x17\x8b\x17\x8b\ +\x9f\x16\x97Wgg\xebo\xb9V-}\xd3\xcd/\xd0\ +\x8d\x98p\xaf\x9b\xf1\xa1%6\xf5$\xd7O.\xc6\xcc\ +\xc5\xf3 \xea\x0a\x86F\x0c\xa0\xb3\xd5\x91\x05\x812\x17\ +\xe2\x86\x11G\xe4Q H:\x96\xd2 \x95\xc2\xe9G\ +^Z-\xae\xdc\x04A6j\x0b8[\xddO\x9c\x91\ +\x83z\xc6\xc3^m\xb6\xfd+\x80mH\xb5A\x07t\ +\xc2\xa8\x0d\x22\xa4\xba{\xdf\x8b\x1f\xbb\xdd\x07\xde\xee\xb6\ +=T\x91B\x85\xa2\x0c\xf3\x8a\xe3^Q #,:\ +c\x10\x13J\xe3\xe7\x9b\xecs\xf0n\x9ea*\xf8y\ +T\x7f\xb7<\xa1\x5c66~E\xf5\xf9\xaf\xac\x02P\ +TEn&\x19E$*\xed\x01\x5cH]f\x05\x8a\ +\x17+Y\xf6WEh\xbaR\x0e\xaa\xa8\xbb\x05\x91J\ +\xce\xd2!-B\xb5\x8auH\x14\x8bG\xaa\x90B\x9f\ +r\x84@%*\x19\xdf=\xa1\x1d>\x90v~\xd7\xe7\ +\xa6Zo\xd1\xf2S\x9dA9]n\x9f\x8ax\x06E\ +\x08\xb9\xb4\x18\x91\xc4Tt\x08y\x04\x81\xec\xa5E3\ +,\x5c\xdc\x86 &@li3\x170rb\xaa\xd8\ +*\xdc\xcd\x5c!\x5c9c\xa8\x9d\x18Yk\x1b\xa4\xa9\ +J\xb6H\x16`,\xadM\x22\x84\xe2:hV\x04\x94\ +L9*\xaaCH,G\x5c@0,u\xc0\x04Q\ +m\xc4\xd6j\xff\xb8\x8e\x06\x94BDC\x84\x1bQ\x03\ +\xf2\x12\xc6-d\x9a\x9aZ4_N\x0b\x13\xde>\xf6\ +m\xe8\xe3\xf0\xa7\xa1\xbd\xd6\x9f\x88ur\x90X\xc7\x91\ +`\x86\xaa3&P\xd7\xa1\xaf\xdc8C\xd3\x98\x85@\ +\xa2\x17\x1b\xc6O\x0cA\xc5+j\xa0\xe4\x864`E\ +\xc9f\xe1\x90\x9c$1TF\x14\x5c\xaej\xe2\x84N\ +\xad\xc9h\xd9\xa1\x00F\xba\xb7\xc6\x92*e\x0c\xee\x98\ +u\xc7\x86\x9d4\xca2\xec\x8dE\x7f\x1c\xf6Y\xa0p\ +a\xe1V\xb5\xed#\x84\xa4X+M\x90\x1a$\xcd\xd9\ +\xd9\x94S\xb6\x0ej\x0b8\xfa\xee\xd4\x87\xe6\x102\x95\ +J\xe1\x990\x83\xa2\xb1\xcd\xe6\x02\xe4\x81\x99\xf6\xfc\xb1\ +\x1a\xe9\xb1\x1a\xd7\x17\xa6\xf8\x84\xd7\xfa\xf3\x8de2\x00\ +#\x02K|\xd1\x0f\x06\xf4\x16\xb4\x19\x06\xe8\xd3AZ\ +\x18\xc4\x5c\xa2R\xaf\xcd[\x15\xb3\xb9\x1e\x82%1W\ +\xd4\x00M\x1cc\xddu\x1c\x98\xac\x88m8Y\x14.\ +\x9d\xe7\xa9\x80\x16N\xe5\x0eu\x87b\xac!U\x90\x09\ +\x18\x12F6\x94\x22\xbc\x96\x0d\x03'v\xd1\x16a\xb8\ +8\x16;*\x02\xe2\xca63\x07\x16\xb1\xe0\x95;R\ +\xba\x0e\xbd\x8c\xe2\xcb\x93\x18Qp-h\xdaPt\x1d\ +\xe2\x08\x93\xba\x0eCD\xe3,[\x87\xfd\xe3Vt\xd3\ +\xbf\x99\x85w=\xf5\xb4r\x10\xff\xee\xbb\xe5.\xcb\xf0\ +H\xa0V\xdc\x07\xb4\xa8\x06Y\xd3[\x90\x09S\x1b;\ +gA\x1b0\x0a\xc5\x94\x86%\x17,\xbc\x0c\x84\x85(\ +\xc4\x9a6\xb1`\x9a6\xcc\xc3E\x07L\xc2\x82\xaca\ +&m\xcc\x0d\x0b\x0eOY\xd66N]\xa1\xe2N\xb1\ +,iE\x06\xc8027*[\x89\xb0eeu%\ +\xd2\x86\x16!v\x1e0\xcc\xa1\x93\x01D\x9aKL\x82\ +\xc2K\xc3\x04M4V\x11\xdcK\x90\x0f(\x99k.\ +KJ\xf0\x00q`\xe4Fe\x09\xd5U\xdd\x8aR\xc3\ +\x8c\x0b\x97\xd2[pH\xf8\x06T4\xa8\xe4C\xe6\xd0\ +\xc2\x03j\x89.\x1b%=%t\xca%\xa8\x00\xa2\xb3\ +\xd1\xa6\xa3\xb08!\xafP)\x1e\xd1\xa1\x82\xa0\xce\x85\ +\xac5\x9b\x94\xc9+?MUod\x18hJ\xb27\ +sO\x0b'i\x98%K\xe6\xba\xa78T\xa8X\xeb\ +Ua`%$\x9e\x99Aj\xaaSm3\x12\xc4\xd0\ +\x9cf\x8ePP\x92\xf4\xc8\x11(\xd2\x88[*7J\ +B?Rjn\x8c\xe2\x83\xeb&\xb35\xcbp\x84\xd0\ +b*\xad\xa4\x17\xb7\xe5\xe9X\x11\x1b0\x02\xe1\x94\xb0\ +&[$8K\xf3hcV\xd4e\x8f\xc4\x8b\x8a\x0e\ +\xa8\xa9\x96\xaa\xf2\x86zI\x13i\xa8\xaa\x9a\x97\x16\x10\ +Z\xd78\x1b&\xaa\xc5}\x15$\x04\xa9\x8b\x12\x0d\x15\ +&\xcb\x01E\xd2hcw\x06\x0cE\xb5\x99(P:\ +\xd2\x93\x11%\x85)\xe8\xfe\xa4\x81\xa9\xb1\x1c\x19\x8c1\ +x\x1fFX\xc5\x18R\x22\x9c\xbbX\xdaP\xc7\x94\x18\ +\xd0,\x91<`\x91\x962`\xa1\x1a\x0d*HE\xbd\ +w\xf2e\xba.\xbcD\x991\x1bf\x82\x1a:`F\ +X|k\x88\xf8q\x1b\xba\xe5|\xc5w\x8fg\xfe-\ +\x9e}\x8bg\xdf\xe2\xd9\xb7x\xf6\x1b\x8eg\xc6\xbas\ +<\xdb\xe7\xfa\xeb\xfb\xe3\xdb\x9f^\xff\xf1w\xff\x1f\x87\ +I\xee\xb2\x11\x94\x00\x00\ +\x00\x00\x19\x91\ +\x1f\ +\x8b\x08\x00\x00\x00\x00\x00\x00\x00\xed}mo\x1c9\x92\ +\xe6\xf7\xf9\x15:\xcf\x971\xae*\x14\xef\x11\xf4t\xcf\ +\x027\x83],\xd0\x8b;\xdc\xce\xe0>.d\xa9d\ +kG\x96\x04In\xdb\xf3\xeb\x97\x99%\x89E)[\ +Y\x96J\xee\xde\xeb.\xb7\xdb\x95O2\x18\x8c\x87\xc1\ +\x88L2\x8b\xf9\xdd?}\xfep\xba\xf7\xe3\xea\xf2\xea\ +\xe4\xfc\xec\xfbW\x04\xf8jouvx~tr\xf6\ +\xee\xfbW\x7f\xfb\xeb?/\xf3\xd5\xde\xd5\xf5\xc1\xd9\xd1\ +\xc1\xe9\xf9\xd9\xea\xfbWg\xe7\xaf\xfe\xe9O\xbf\xfb\xee\ +\x7f,\x97{\x7f\xbe\x5c\x1d\x5c\xaf\x8e\xf6>\x9d\x5c\xbf\ +\xdf\xfb\xd7\xb3\xbf_\x1d\x1e\x5c\xac\xf6\xfe\xf0\xfe\xfa\xfa\ +\xe2\xcd\xfe\xfe\xa7O\x9f\xe0\xe4\x06\x84\xf3\xcbw\xfb\xaf\ +\xf7\x96\xcb*y\xf5\xe3\xbb\xdf\xed\xed\xedU\xb5gW\ +o\x8e\x0e\xbf\x7fuS\xfe\xe2\xe3\xe5\xe9X\xee\xe8p\ +\x7fu\xba\xfa\xb0:\xbb\xbe\xda'\xa0\xfdW\xad\xf8a\ ++~8(?\xf9qux\xfe\xe1\xc3\xf9\xd9\xd5(\ +yv\xf5\xfb\x8d\xc2\x97G\xc7\xb5tk\xcc'\x19\x0b\ +Q)e\x1fy\x9fyYK,\xaf\xbe\x9c]\x1f|\ +^\xf6\xa2\xb5\x8dS\xa2\x8c\x88\xfb\xf5\x5c+\xb9]\xa9\ +7\x9fO+\x13?\xd9\x98\xf1\xec\xa6\xf6\xca\xfeE\xfd\ +{'p\x0b\xc0\xd5\xf9\xc7\xcb\xc3\xd5q\x95\x5c\xc1\xd9\ +\xeaz\xff/\x7f\xfd\xcb\xdd\xc9%\xc2\xd1\xf5\xd1F5\ +\xb7\xe4wz\xbb\x1e9;\xf8\xb0\xba\xba88\x5c]\ +\xed\xdf\xe2\x83|\xef\x0e\x15\xa8=|t\xfd\xbe\x1er\ +\x8e\x87\xefW'\xef\xde_\xb7\xe3\x93\xa3\xef_U\x83\ +\xd9\xd1\xc7\xe3\xdb&\xbd\xb9\xab\x08Ax\x9c\x0cB\xfb\xff~}\ +rz\xfa\xaf\x83\x92W{\xfbw\xed\xdc\xbfih\x05\ +\xc6\xc3fG=\xb85s<\xbas\x88\xa1c\x8e\x06\ +~+\xba\xc9\xde\xa7\x93\xb3\xa3\xf3O\xcb[w\xf4\xc8\ +W\xd3%n\xfd\x972\xee\x97\xb8\xa8\xcd\xbbz\x7fP\ +K}\xff\x8a\xa7N\x9e\xd7\x01R\xed\x19\x1c\x15o\xce\ +\xbf\xfbxr\xb4\xba>?]]\x1e\x9c\x0d$\xd0\xc6\ +\xa9\xcb\xaaj\xf2\xcc\xf9\xdb\xff\x5c\x1d^O\x9f{{\ +~y\xb4\xba\xbc\xd3D\xf7N\x1c\x9e\x9f\x9e_~\xff\ +\xea\xf7>~nN\x0dm\xbb=q<~^5w\ +y{p\xb5\xba9\xbcz\x7f\xfe\xa9\xb6\xaa\x82\xd7\x97\ +\x1fW\xf7-\xfc\xc7\xf9\xf9\x87Aa\xa2z\x86\xdd?\ +}\xf8\xf9\xfbWKc\x08\xe7\xd0\xf2\xe0lmk\x09\ + \x8e\x92\xf1\x13\xd4\xd7\x0a\xf0'NUi5\x7fP\ +\xe9\xc7\xcb\xcb\x1a\xfb\x97\xa7\x07_V\x97-\xae\xdc\xb8\ +\xcb]\xb1\xc1\xa4[\xb7\xac\xdeV\xf9\xacc\xb4bC\ +uw4\x0c\x00+\xf3\x1d\xf8\xe3\xc9\xd5I\x1d\xc0\x8d\ +\x8b\xf1SG~\x05\x8f\xee\xa1Cd\xacY\xb0\x1a\xc0\ +0\xf0~\xf1\xf9\xfe\xa9/\x13\xa7V\x1f.n\xce\xd6\ +\x93\xd5\xef\xd7~\xfd\xd0\x95G\xfchu|\xd5:m\ +8b\xc7|`\xebE\x8d\x95\x17\xab\xc3!\xdd\xdd\xa8\ +i\xc1rm{_T\x1a\x0b-\xde^\xfc\xc7\xd0\x15\ +{o\xf6\x5c\xeb\xffh\xb2\xc4\x97u\x09B\x1c\xfe\xc1\ +\xc92\xff\x18\xe3\xfeT=}\x13\x96\xe7\x97'\xefN\ +j@\x1e\xcb\xe9\x9a(\x8f^\xa6Z\xbda\x9c\x96\xbb\ +@\xf1]\xcd\x89\xab\x83\xcb\x7f\xb9<8:\xa9\xde\xb0\ +)\xd0\x9f\x11\xadRw\xc1\xe5\xea\xfa\xfcb\xf8\xdeJ\ +\x0f\x88\xa85\x9d\x95\xbb\xeb/\xa7\xab\xf5\x99\xe58\x82\ +\xde\xfc\x1e\xc7\xcf\x1fG\xe8f\x18\xbe\xd9\x149?>\ +\xbeZ\xd5\x10\x83\xb5\x81\xf3\xca\xe4\xeb\x95\xe1\x842j\ +l\xec\xf7F\x7f-G\x5cl\x96#.\xf1x\xb3]\ +V\xe5\xf8x7\x1cq)\x8f+[G\xb4o\xca\x91\ +\xe3\xc1\xed2\x09\x97\x82_A\xe2\xe1\xe9\xc9\xc5\xff\ +9\xb8~\xbf\xa9\xf8\x16\x13\xb46\xa0n\xc1\xc9v\xb7\ +\xfb\xa9\x8bVW\xbb\xbf\xbb\xbb\x8f\xfb\xe3q])z\ +S\xd7\x90\xfe\xf0\xfb\x87\xd6\xbd\x1e\xcf.[\xe1\xab\xeb\ +\xcb\xf3\xbf\xaf\xde\x9c\xd5\xf5\xe8\x9b\xef\xeb\x05\x9e7\x08\ +$\xa1\xa5~n\xf1\x81\x83j\xe8\x9b\xcb\xf3\x8fgG\ +\x9b\xe0\x7f\x9e\x9f\x9c\xf5h]\xb4Z]\x9e\x9e\xd4\x7f\ +\xde\xe8-vtP\x97\x86./\x0f\xbet\xca\x06t\ +\xbc\xdd\xac%\x81\xec\x06\x9e\xbc+\xad\xac\xfd\xdb\xde\x92\ +\x98\x80\x13\xcb\x82\x0b\x98\xa1+\xef\xfdy@\x19\xcc\xcd\ +y\xc1\x09\xecVx\xc0\x14\x5c\xdc\xa2\xc3\x0c\x0a\x13o\ +\x8a\xffPa\xbd\xf5(c\xf0t.k8\x18\xa8\xb0\ +\xddW\x16\x02\x1a!\xb4Yq\x18\x98&{\x879\xa4\ +p\xc9{\xcaR\xc0\xd0e!\x0e\xccR|]i*\ +D!\xe4\x85\x04\x18\xa6\xa7t`\x01\x8b\xe2\x5c6\xe4\ +\x15!]\xc5\xc6J\x1dA\x02\xdd\x16\xae\x9d\x92\x0c \ +1\xb7^G&(\xa3\x04m\x82\x05A\x0b\x09\xc5\x86\ +x!\x88p\x94\x1c*m\x06\x95*\xafE,\x87j\ +\x9b\xed\xa5@\x88bnp\xd4\xb0Fg\x13\xef\xc9\x0f\ +\x03!\x09\x1c\xe0\xd6U\x9d\xb2\xd6\xab\xad\xe2\xd6\xfb\x0d\ +k~\xd2\xeb\xa2*\x8da\xd9\x0c\x1b+%\x01aN\ +o\x1cl\x82\x8d\xadVA#v\xa8V\x02B\x85\xa5\ +\xb2\xdf\xa9i}\xd4ii\xbd\xd9\xc0\xd6\xef\x9b\xf2\xcd\ +G~\x98\xf4\xfd\x7f\xdc\x9b\x09\xb9X\xc7\x94\xd8\x98\xff\ +\xb8\x8d*\xbf\xe4\x90\xceL\xa0\xa2\xf6\x12!]\xbey\ +H\xd7\xf2\x8c\x90\xdew\xe4\xc3\x00\xc8$\xe0\x96\xd6\xc7\ +$&\x85\xa2\xc2\x9b\x01\x90)\x00I):,\x81K\ +\xe6\xbd\x00\xc8z\xc3\x7f\x1f\x00\xd9\x15,\x90\xca=e\ +n\x90\xa6\x856+\xf6\x80\xc2\x96\xdea\x05\x98\xd0\xf2\ +\x9e\xb2\xa8\xe2)\xa5\x0f\x80\x1c\x01\xe4\xe9\x9b\x01\xb0\x81\ +m\xc84\xf9.\x00\xb21\x84&\xaf\x03`+\xd4\xc6\ +i\xa7\xa3\x0d\xe9\x06\xb6\xc1\xdf\xc4\xbb\x00\xd8\x0c\xeab\ +R\xb3\xbd\xc5\x9f\xc6Q\xc3\x1a\x9dM\xbc#\xbf\x0b\x80\ +\xad\xab:e\xadW[\xc5\xad\xf7\x1b\xd6\xfc\xa4\xd7\x85\ +\x0e%\x8d\xfa\x00Xa\x83@\xd4.\x006\xb0\xb1\xd5\ +*\xe8\x02 \x0b\x021\xe6\x10\x00;5\xad\x8f:-\ +\xad7\x1b\xd8\xfa\xbd\xc9w\x01\xb0\xd9\xd4\x05\xc0\xa7]\ +\x0a\xc9\x7f\xbbK\xa1\x9f\x0e\xe9}({\xb1\xbb\x8f]\ +\xdd\x18M\xdf\xbfp\xfc\xfa\xee_\x0a\x01R!\xe4]\ +$:\xca]'\xba_>\x81\x99\xbb$\xd0\x7f\x1d\x04\ +\xb6\xcb\xad\x1d\x13\x88\xe5\xd7\xe7\x81EwI`\xfc\x0a\ +=\xd0vI mK\xe0oIdr\x82\xbb\xec4\ +\x89\xfc*o9\xb9\x14\xde\x96\xc4\xdf\xa6b\x7f\x92\xc4\ +|yO\xdc\xe1z\xfbR\x11\xc24Y\xa6\x99x\xf9\ +\x9e\x9a&Q\xbf\xa5'\xaa\x80\x86\x86sg\x1f\xa1\x01\ +\x87*w\xf6\xb9C&%Zg^\x12\x08[\x84u\ +V\xba\xce<\xee1\xbf\x1c\x84\x10\xc4\xa29,\x9c\x11\ +;Z\xd2\x02\x81D-X\xeb\xb7pT\xa7X\x04\xa8\ +\x9b1\xda\x82\x11(\x94d\x17aU\xcao\xfd\xf0u\ +\xfd\xb0$D0Q\xcd]v\x84\x10\xe5\xb7\x9e\x0d$\ +\xd2\x9d,\xf0\xf4s\x19\xbdM\xdb\xcfe\x90\x83\x16C\ +\xc4\xd4_\xd6\xba\x8e\x17\xc0\x22a\x0b6p)\xb8\x9e\ +i\x0c\x02\x96\xd4RF\xb8`\xc9\xac\xa0\x00G:/\ +\xd8\xc1\xc2M\xacb\x0a\x91\xc4U<\x810\xa2\x8c\xe2\ +\x85 \xd0\x8a\xe4B\x0dPX\xc3\x1aX\x16\xc1\x10j\ +\x8eeC>\x0bx \x17\x1f\xe4- \xcd-xA\ +\xe8`EK-*\x08\xa4\xa2R\xee\xc0\xda&\x12`\ +\xca\xe8\xe5e\xad\xe8NO\xde |\xd7\x1co\x92}\ +\xcb\xc9A\xd5\xc9u\xc1\x0a\x99\x051\x86\xe9/ps\ +&\x1b\xc0B\xe4\x9c\x15T\xb8\x95\xbe\xa3\x8ds$3\ +m!\x04\xe2\xae\xe6#H\xc8J\xba\x905o\x18w\ +\xd2R \x8a\xf1\x8dn\x05v\x22\xd1\x85!(\x16r\ +k -<*\x88\xe4Mw$ )\xea\xc8\x99\x18\ +h\xd6\xcfxo\xe9\x1c\x85\xabnc0\x22\x92[\x8c\ +*\xe6\x02\xc4\xf7\x84C $3\xca\x9d\x96h`\xde\ +\xb5'n\xa5\xfb\x86;\x82\x17\xb2B\x0b\xa9\xd2\xecQ\ +\xa8\xaa.P\x9c\x8a\xf1B\x04\xa2\x14\xc1A\x9a\x80s\ +\x94\xaf\x22\x81\xb7\xf2\x0c\x8ehC\xcc\x090%\x0e\xaf\ +\xa0\x81\x97B\x12\x83\x0b\x9a!\x9bNz\xeb?\xf6\xaa\ +\x17\xab\x8e\xadb\x07\xb1\xdb\xae\xd4\x046M\x8e\x0a\x8f\ +\xad\x22\xa9\xad\x220\xa3\xc8\x0a\x16H&u[\x83C\ ++\x8b\x91\x8dS\xe5k\xc4\xed\x16\xf9\xf3\x1a\x91\xe4j\ +\x8e'\xb8\xb9\x10U\x10\x81(4i\x11\x04\x94\x14\xaa\ +Uo\xdc\xb8t0\x98\xder\xa4\x06\xaa\x86\xbc\x08\x81\ +\x82\x99\x92\x15c0\xd3\x92w\xe0 \x8dk\xb7\xec\xa5\ +% \x93\x8d\xe2N\x11W\xd0A}P\xbf\xd9$\xf1\ +\xae\xe5?\xdc \x22\xcd\x96Q0\xd4R\x067-\xac\ +\xca1\xaa\xe0d\xa1\x81\x98\x12\x96j\x15K\x88\x9b1\ +\xb2i\x0a\x02\x99Q\xe1\xa1\xbb\x884nl\xc1\x92\x88\ +>v\x02+\x1aMt\xcb\xe4\xb2\x19\x91O\xcc\xb1\xfe\ +*\x92m\x09p\xf7\xa4\x1d'[\xfe\xe6\xc9\x16sG\ +KoD\xf8 G\x91;0;f\x9f\xa4\xc8\x13$\ +0y3IQ (a\xb1\xcd,EAPH,\ +\xef\x05\xfbLHI\xf6\x96\xa66\xc1\x96\xa6Z\x05}\ +\x9e\x22S(\x99e3M\x11\x07pXx\x97\xa6\x08\ +A\x8c\xf0\x9e|\x11Pv)\xd1R\xd5-\xa8\x18-\ +[\xb5\x0a\xee[@\x02\x16\xa9e3]\x11%D\xa6\ +\xe9f\xba\x22f@\x0c\x91>c\x11\xdb@-Q\xcb\ +X7\xa0ht\x19\xabU\xd0'-\xaarE\xd4[\ +\xd2\xda\x04[\xd2j\x15\xf4\xa9\x87\x84\xc1\x99\x986\xf3\ +\x16i\x01WQ\xdfL\x5c\xe4\x08l\x0f+\x08\x84\x0c\ +\xe2\x96\xba\x1a\xd62W\x13\xbfo\x80\x05$K\xe1\x96\ +\xbc\xd6 \x16\xe5\xdcL^d\x09Jb\xd9g/\xb2\ +\x02!\x9c\xb1\x99\xbd\xc8\x19RH\xbde\xaf\xce\x8f\xfb\ +\xf4EJ\xeb\xa6\xf5\x19\x8c\xd4@2\xc863\x18i\ +\x82\xa7\x12\xb5\x0cv\x03\x0a\x8bti\xac\xc1}.\x1b\ +\xe1@\xeb\x12\x07i\x00k\xe9s\x19\xa9\xae\xfd\xbeO\ +G\xa4\xf5(Bl3\x9b\x91\x14\xf0\x0c\xa1\x96\xcd*\ +\x167n\xdb\xcb\x8b\x01\x92\xa6n\xa63\x12\x01+\x8a\ +\xd1\xb5J\xa4Y\xd0\x0ckp\x97\xd8F\x18\xbd\xd0f\ +b#QPR\xd7\x96\xd9\xd6-\xc8\x9b\xf1\xd45,\ +\x803\xacKm\x83a,(\xd2R[\xd7e]v\ +\xdb\xfe\xee\x81\xff\xfb\xdd=L\xa4\xe9\xdf\xee\x89\x9f>\ +i\x8e\xbbL\xd3s?\x0d\xe3\xa4\xd9jf~;6\ +\xfd\xab/Ny\xe4\x97c\xc2\x19\x9c\x91\xad\xc8\x8c\x11\ +\xf3\xbf\x1dk\xab\xe1L\x80B\xdc\xffZF\x08$\xdc\ +#\xfb_\xd6 \xb8k\x1aw\xab\xe3\x85!+(\xba\ +\xe5\xb3\xc3\xc0\x22\xcc\x5c\x16\x04\x85\x0c\x8b\xd2\x0e\x1e!\ +f\xb6\xed\x1e\xd3V\xdf\xc6\x11fYS\x07\xe6L+\ +\x1dmV*j\x89\xd1\xd1\x16\x90%\x84):\xdaZ\ +\xd9mis\x16\xaf\xb4\xed\x84.,\xdf\x94.\xa2\x00\ +a\xf1\xdc\x82.F\xe0\x94\x0c\x9a\xa6\xeb\xd9\xc6\xbb[\ +le\xbc\x13>\xcf\xf8\xf9\x07Y\x08\xdc\xc8\x89K\xed\ +\xd3_.]\xb63\xba\xe6c\xac\xab\xe5\x8b\xc4XW\ +\xc7Gb,\xa7\xaaR\xc63bl\x9f\x9b\xb6\xf9\x1d\ +V\x14#\xa4\xf5\xaf=\xda\xd1\xb2\x80\x858\xb9\xd7\xaf\ +\x02E\xc2X^\xcf\xa4\xeam\xbb\xb9]T0\x98\x15\ +M\xef/*(\x81\xd4$\xfb\x9fl1\xa0b\x98\xb4\ +\xcb\x87\xc9\xb2\x87\x13e\xa7\xf2vq\xdbj\xb1\xbb\xb8\ +\xca3\x86`S?Q\xed\xcc/\xd1\x8b\xabM\xfd\x8a\ +}n+\x8e\x89\xfdc\xfeX[8\xaf-&\xb4\xd1\ +\xe3\xda\x9c\xa7\xb4\xedj/\x02\xb6\xc89\x96\xd8\x12\xbf\ +\x9e\xa5\x88\xa7\xb1\xc4\x96\xfc\xf5,\x1d\xd2K\xb2\xe4\xaa\ +>\xbf\xab\x85\xe6\x13|i\xfc|=K\xae\x863,\ +m\xa9\x0dw\xc1\xd2\xf6\xc9a\x96F'~\x0a\x8do\ +\x8f\x13\x9f@\xa3\x93\xce\xd08\xabm\xf74\x0a\xcd\xb3\ +$\xf2\x84!\x89\x12\xf8$\x96\xc4\xbe\x9e\xa5\xb7\xc7\xb6\ +\xc2\x17di>\xbc\xfb\x13\xc3\xbb\x9b\xdbSX\xd2x\ +\x8a/\x1dUoz)\x96\xd8\x1c{\x96f\x1ac\xe5\ +\xa1\x83\xccP\xd8\x02\xb7s\xc7\xd2\x9c\xb6\xe5!\xd8\x91/8\ +\xc6Q\x10\x91\x17\xcbR\x00\xb9Hz\xe5\x92\xc1]\x0b\ +\xf9\xeb\xe9Y\xc2\x86\xce\xcfEN\xcf[\xf63\x94?\ +\xeb\x88\xcf\x9d\xae\x92\x92A)\xe18\xbe\xbdI\xa5\xa0\ +\x95\xb9\xd5\xa7\x17zA\xe5\x8b9\xec\xfc\x0a\x08{\xe1\ +-I\xdd\xe5\xa2\x0f\x0b\x98R\xaa/\xb4\x80\x93\x9b4\ +\x07\xde\xf6\x8db\xdb\xbfC\xac_\xb5\xf9y\x1f?z\ +rx\x98_y,\x0e\x88,\xc5o\x9e\x1bd\xb5\xa8\ +\xac\xee\xf8\xcdb?\xe7\xb3H^b\xf7o\xe5|\xa9\ +\xb7\x90\xaey\xfan\xffhu|5~\x1b\xb76j\ +\xfb\x17\xa5\x01\x93\x8b\x8d\xb91\xd8%\xa3\xeeaB\x01\ +\xa6\xc5T\x17\x8e\x10\x98\xc1\xc3\xbb\x1a\xc8\xc1\xdc\x19+\ +J\xa0$\xa5\xc8^\x8b_\xce\xa0\x96%c\x13\x93*\ +\x81Ei\x90n\xa8\x82;g\xb1\xcd\x1a\x0d\x02#\xb3\ +l\xea\xf6A\x0b\xd9\xd0\xa2\xac\xd2(9\xb6\xd3@\xd2\ +\xc7\x16\x15\x04T/1\xa0\x09H\xee\xbaWn\xf5\x8c\ +\x98d\x11\xef0^7\xa9\xd6\xb9\x81\xda\x0d\xf8\xe7\xae\ +(\xb8\x97D\xdd\xcb\x84\x12\x81\xa9\x8b\x02\x88\xe1\xea9\ +I\x5c\xddc\xa5\xdb0\xaa\xa2\xa5B\x93[\xae<\x1c\ +\x93\x0f\xb6\x5c\x19\x0f/?\x9e\xae\xde\xac~\x5c\x9d\x9d\ +\x1f\x1dmn\xc2R{\xf6\xb7\xfe\xfc\xe6\xfd\xa9\xd4\xf7\ +g{\x0e\x9fM=\xc9u\xe2\xfd\x22-\xc9\xed\xa6\x8b\ +\x13\xf4\xc6\x22\x04g\xd1\xb1;2@\x19\x8d\xd6hf\ +0\xed\xa5\x83\xa4\xc4\xdavDd\x8ej\xe7\x9d4\xdd\ +v\xe6\x0f\x83t\x06\x8fh\x01J\xabhO\xa8\x03r\ +\xf1B\x934S\xcf3\x83+[\x96\xbd\xc2\x80\x96\x9e\ +c\x9b\x14\xc3\x91&[\xff\xc3\x14:\xc5\xbel;\x9a\ +\xb2|\x1d\xd5\x7f\x5cO\x91\xae+[\x7f\x17\xc9x\xfd\ +\x13]\x10\x0c6r\xbav\xdb P\xe6B<`\xc4\ +\x11\xb9\x17\x08\x92\x8e\xa5\x0c\x90J\xe1\xf4=/\x83\x14\ +WscL\x8d\x03\xd7\xce6\x98\x8f\x03\xc3\xea\x19w\ +G\xb5\xda\xe1_\x01Lr\xad\x15:\xa0\x13F\x19\x18\ +Ju\xf7\xbe\x15?t\x87w\xe4]O\x5c\x1f\xa5\x90\ ++\xf1\x98\xb9\x97\xe3V]\xea.c\xcf%\x88\x1a\x96\ +\xd7\x0f\xa9\xb7\x9fr\xfc@%*\x19\x1b\x8e\xffp5\ +\xedE{#\x1d\xc2\x8c}\xed\x90\xa4\xe8^\xe9`\x02\ +&w\xb4!\xba\xb9`\xa6\x0cQ\xab@\x94\xd4\xac\xa8\ +\x00j\x96\x12{\x8c\x80l\x9a9D2.\x1c\xca\x83\ +4\x11E\xf8\x10\xc9$\x0a\x0a\xad\xa3\x16y\xfa\xa0\x89\ +\x10\x84s\x0c1Y\x80\x9d\x8a\x0d\xa8\x80\xa6\xa1\xed\x15\ +\x011c]cn\xa2\xd4\xb0\x0d\xe9\x1f6\xd1\x00O\ +\xe3\x18\x87SC\x152\xa4\x0c\xb1\x918s@\x04\xcc\ +]\xb8LY>5lbb\xd8LF\xa8\xdcM\x12\ +\xe2H0C\xd5\x05\x13\xa8\xebh'\x93\x02\xa1i,\ +B \xd1\x8b\x95j'\x13CP\xf1\x8a\x1a(\xb9!\ +\x8dXQ\xb2E8$'I\x8c\xc2\x88\x82\xeb\xed\xf5\ +\x9c\xd0i\xa82bA\x5c\x00#\xdd\x87\xca\x92*9\ +\x0c\xee\x98\xf5\xc0\xc6\x834\xca2\x1e\xb5\xa2?\x8c\xc7\ +,P\xb8\xb0p\x15\x1d\x8f\x11BRl(M\x90\x1a\ +$\xc3\x10eSN\x994j\x02l#o\xe6V\x1a\ +!\x93\xd0=\xeb\x18,\x09Z\xca0-!\xe0\xc8\xae\ +\xa6\x13Cp\xe2Zbs\x87\xb4\xe9HX\xe2\xf5\xbd\ +\xfd\xda\x00#\x02K\xbc\xe8\x9b\xab\x9a\x07M\x0dfz\ +d0\x17\x88\x10\xa7\xd1\xf1\x1d\xc5(\x87!\x96\x90\xca\ +\x98k\x94KJ\x8e9\x8b)m\xc4\xb2 \x9b\x8f\x03\ +\xc2os\x93\x96,l\xb7\xa1\x80\x10c\x0c\x05\xaa\x12\ +|\x1b\x0a83\xc7P\xe0\xacY\xd6\xa1 #u\x1d\ +\x0a\x8ac\xacC\x81a\x8c\x91 -\xd7\x1d\xcf`\xa6\ +D9^\xd5`a\x8aZ\xa58\xa4\x92\x86,\xbc@\ +h\x18\xe6\x9e1\x84\x8f\xf7FA\xe0L\xe1\xebL\xe0\ +\x5c\x8a6\xacJG@\x88\x16\xcd\x0d4\x0d<]q\ +,IQ\x10\xcbFl\x08\x04Qv\x92.\x8e\xa8\x00\ +\x16w\x93\x07\xd1%D\xd3\xfa\xe8b\x10\x8a\xee\xb1W\ +\x08\x92\xb9\xc4H\xa7\xa99O\xf5\xc5\xc3\xf0\xa2\x8c[\ +gezl[\xc1m\x1c\xc2\x82L\xca}\x87\xb0\x12\ +iv\xcf!,9\xf2\x9eC\xb8\x17\xf5\x07\x0eA,\ +c\x1cg\x04\xc1\x22\xa5,\x9c\xc1H\x07\x00\xd3\xad\xd0\ +\xe0!\xa2\x12\x98c!2\xc7\x8a)\x10z(\xafE\ +U\xdc\xc8\x87\x92\xae\xea6J\x07*\x8a\x0c\x18){\ +\xe1M\xc5\x0c.\x16T\x9b\xb3\xd9H\x07-\xc8>\x9a\ +\xd8\xcc1\xc8$oF\x0f\x883Qd\xa3g\xc0\xac\ +h:U\xd9\xd6\x99\x03*^\x9c7;\xdd!\x84\x91\ +6\xa1\x04wM.\x0f|F\xc9\xd0\x1f\xf8\x0c\xa6\xe7\ +}\x9f!q\xa5\xa9\xfez\xe04\x82\xea\xdb:M\xe4\ +\x13\x9c\xa6\x10H\xb0\xd9\xdas\xc5\xb4\xf8\x9a\x95\x12%\ +\xd6\x8c\x92\x07\xa5\xef\x15\x06\x11*4bE4T6\ +1\x87\x0cE\x1a\xa2HC\x95\x81KP\xf2v\x03\xac\ +0\xa9\x8dd\x93\xa8\xae]6\x0aI\xe1\xc9v\xfe0\ +\x85\x8e{\xb12C\x86\x14\x1c/J\xb2\x84\xd9\xe8\xcc\ +\x02\x16\xa1J}(\x0aH\xd7(](\x12\x88\x94H\ +\xdb\x080\x81`\xe9B\xde\x87\xa2\x04CB\xe2\x0d4\ +\x1d0L}\x1d\x8a\x0a\xabQ\x1f\x8a\x14\xdd\xa2\xa3\xc4\ +\x0b(\x19\xf3\xd0\xa04\x90 \xb6\xb1\xa8\xb0\x15.C\ +\xc4\xc3\x08\xcc\x1c\xb0d\xe6b{\x9e`R<\xa8a\ +U\xda\x18\xd8\xccs\x13\x15\x87\xa4`-\x83\x1eT\xcd\ +\xe0i\x8a\xa6\xd0\x09\x9f4\xdd\xda'm\xd6'\xbf\xdb\ +\xbf\xfa\xf1\xdd\x9f~\xf7_\xea_?\x7f\x00\x9a\x00\x00\ +\ +\x00\x00\x15,\ +\x1f\ +\x8b\x08\x00\x00\x00\x00\x00\x00\x00\xed=ko\xe3F\x92\ +\xdf\xe7W\xf0\x9c/1N\xa4\xfa\xfd\xf0xf\x81\xdd\ +A\x82\x00\x17\x1c\xb0\x9b`\xf7[@K\x94\xad\x8b,\ +\x1a\x92<\x96\xe7\xd7_U\xf3\xd5$[\x14\xe5\x91'\ +A`;\x89\xa9\xea\xeaWu\xbdY\xad\x5c\xffm\x7f\ +\xbf\x8a>g\x9b\xed2_\x7f\xb8\xa0\x09\xb9\x88\xb2\xf5\ +,\x9f/\xd7\xb7\x1f.~\xfd\xe5\x87\xd8\x5cD\xdb]\ +\xba\x9e\xa7\xab|\x9d}\xb8X\xe7\x17\x7f\xfb\xf8\xee\xfa\ +\xbf\xe28\xfa\xc7&Kw\xd9_o]\xcf\xf5\xf6;\x0fy3_\xd4\xd8\ +\xb8\x9a'\xee\x90\xa8\xb5vJ\xd8\x94\xb1\x180\xe2\xed\ +\xf3z\x97\xee\xe3vWXc\xa8+#\x84L\xa1\xad\ +\xc1\x1c\x87u\xb5_\x01)\x0e.\xc6\xb5\xfa\xb3\x03\xf9\ +\x1f\xe0\xdf\xbaC\x05H\xb6\xf9\xe3f\x96-\xa0g\x96\ +\xac\xb3\xdd\xf4\xd3/\x9f\xea\xc6\x98$\xf3\xdd\xdc\x1b\xa6\ +\xa2~k\xde\xd6\x91\xac\xd3\xfbl\xfb\x90\xce\xb2\xed\xb4\ +\x82\xbb\xfeO\xcb\xf9\xee\x0e\xb8\x81\x19\xf7\xf1.[\xde\ +\xde\xed\x9a\xcf\xcb\xf9\x87\x0b\xd8\x1f\x17\xa4\xf8\x5c\xad\xe0\ +\xaa\xe6#\x92pV\xa0\x96\xc3\xfaM\xc2$4\xdaX\ +\xad\x88Ci1_k\xb8y>\xc3\x15~\xb8xH\ +o\xb3\xf8K\x9e\xdf'0\xed\x97\xf6\xc0\xf9\xe3\xee\xe1\ +q\xf7[\xb6\xdfe\xebb\x1c\xd8\x99\xb7M\xd7\xec\xfa\ +%\xad=\xd6\x03d\xfb\x87|\xb3\x8b\x17\xcbUV\xcc\ +6\xbd\xcb\xef\xb3\xe9\xc3r\x0d\xfb\xde\xe4\xf00\xdbN\ +\xf3\xfd\xf3m\xb6\x8e\x973`\xb5)\xf4[\xa57\xab\ +l\x9a\xcevK\x07\xb8OW\xab\xa90{a\xa6\xdb\ +u\xfa\x10\xc3\x80y\xf2\xb0\xbe\x0d\xce\xb4\x9f?\xc0\xd1\ +R.\x83\xad\xcfu\xebGh\xbe\x9eg\x8b-\xa2\x15\ +T\xc7O\x5cP\xe2\xda\xa0\x15\x18'K7?n\xd2\ +\xf9\x12\xc4\xa5\xc0\xf3\x86\x9c\xe5\xabU6\x83\x93KW\ +O\xe9\xf3\xf6\xa2F\x80\xa1\xda]\xb9\xa5\xaa\x1c\x14\x86\ +\xdd\xee\xf2\x87\x0a\x17\xcec\xf7\xbc\x02\xb2 0\x86\x11\ +\xf3\xcd\xd5w\xf4\x86I\xce\xdf;P\x0e\x0c\xb4\xdc=\ +_\xd1\xf7\x17M\x9f|\xb1\xd8f01\xf1`\x8em\ +\xa0\x07\xcc\x05Je\xfau\xb3\x91\xd0l48\x1b#\ +\xf5l\xd7\xd3\xf6\xb6\xbf\x8e\x8cNn\xaf\xee6\x19\xe8\ +\x99\xef\xfe\xf3\xf3\xff\xfc\xf4\xe97\xfb[\xac\x06\xc8\xcc\ +\x0c5\xa2n\xbf-\xa1\xbf\xae\x97;\xd0$\x8f\xdbl\ +\xf3/\x94\xc6\xff]\xff\xba\xcdzX\xbfl\xd2\xf5\x16\ +D\xff\xfe\xc3\xc5\x0e\x1fW\xa0|\xbfg6\xb1\x8a+\ +i'1\xb0L\xa2\x14\x93\x97\xcd\xfa(\x90DX\x90\ +E\xab\x1a\xd2<\x03\xd4\xc8\x84s!H\xb3\x96=\x03\ +\x5c)p\x04\xe3\xe12\x1f\xb7\xa6\xe2\x01z\xc1v\x03\ +T\x18\xb7K\x5c\xab\x15\x09\x17\xdc\x10\xdeZ+%\x0c\ +\xc0B\xb7\x96jT\x22\xb9\x94\xd6\xb6\x96\x0a\x03H$\ +\x869\xc4\xca!\xb6\x0c0\x9c\x9c\xe1\xef\x00{W\xcc\ +\xa5X,\x0f\xb3r\x85\xa5\x85f\xf1\x91)\xb3\xc5\x82\ +d\x8b1\x12\x95p\xca\xadPz\xdc\xc4$\xa6\xc3\x13\ +\xa7iz\x93\xdaQ\x13k\x06ZB){x\xe2\x90\ + \x86\xe8\x0bG'\xe9\x18\xfa\x0a\x8f\xbe\x7f\x06\xe1=\ +\x95\xad\x03\xc2{\x9f\xee6\xcb\xfd\xf74\xb1\xf8c\xe8\ +\x84\xc0\xaf*>Y\x09r\xccXB8cz\x12+\ +NA -\xb3\xdf@\xa6q\xa1\xe9\xeaU\xc8\xd8\x1e\ +\x1a\xc9h\xceFF\xa0\x95\xfb1\x8e\x8c\xe5'\x0aT\ +\x14\x0a\xf6\xcd)>R\x0d\xbb\xe5\xba!\xe2l\x8fD\ +D\x04\xe6i\x90\xd93\xba8\x04\x87\xa0\x0dt\x11\xc4\ +]\x04q7\x1f.\x90\xb0\xe0\xfb\x1cS\x95'\x91\xb5\ +=\x86\x16\x96\x0ds\xa9%_O\xde\x03&\xc6 \xe3\ +Q\xde\xe5G\x9dP\xaa\xba\xdc\xa8\x8d\xe6\xa6\xcb\x8d&\ +\xd1\xd2\x18\xde\xe2F\x0aS0nGX\x98\xd3\x1d\x1b\ +G\xad\xf1\xae\xc6\xc2\xfd\xbc\xd0\xb1\x81\xb9\xc4I\x8eM\ +h\xb6\xd1\x8e\x0d\xcc\xa6\x8e\xe9\xc6s\x08u\x87\x9e\x94\ +\x9aa\xe1\xf6\xb8s\x1c\xf7\xa14\x1a\x9d\xc8\x96 \x82\ +3c\xb4$\x9e6CA461\x82\x1a.[\x82\ +\x08\xeaPjmmK\x10)\xa0j\xc6H\x7f5}\ +%B@\xfbRI\xb8\x14\x13\x88\xa2('\xe0n\x10\ +>)\x1fQ\xb7 \x82\x90\x0a\xb4\x09O,W\x94q\ +>\xa1\x14,\x22\x01\xddz9\xc63\x0a\x90q<\xa3\ +\xcc\xf9b6\x8aQ\x82lI=\x0f\xf8\xb0\xafPE\ +w\x9d\x01\x13)A\x8b\x12O\x90\x83+\xbcI\x17r\ +\xd1q\x99H\xc2\x80\x8e \xee\xec\xfd\xa8\xf9Up~\ +-\xa5b\xd4;\xc7\xe0\xfc\x86\xdf\xc8\xec\xa6;\xbf\xb0\ +\xe0MZ64\x7f\xd0=\xd1\x8b\x99\xea\x8e\xa5\x8d\x10\ +\x86i3Z>\xc1\x90\xff\x01\xf2\x09+\x1c\x90O\xcd\ +\xbc\x83tfP\x83\xee\x06\xcbF[\xd2'X\xa2\xa4\ +\x96\xac%|}\xd4E\x08\x15d\x8f\xb3DR\xa6U\ +?\xd4\x09\xf9A\x1a\xf8\x8b\x17\xe2f9\x08\x86\xd0N\ +\x0a-D\x02 r\x13\x87`\x15\xe3\xe8\x1aQ0\x14\ +\xda\xc0\xa3\x92\xc0\x98`\xd9/G*\x9bW\xb0,H\ +\xe9\xf1LU\xb8)/\xb5,\xcc\x0c\x88\xf0\xc8\xd9\xc6\ +[\x16f\x8er\xeeb\xb9\xdae\x9b\x9agp\xd6x\ +\xb9\x06\xd0C\x0e^\xc32_\xc7\x05\x06\x9c\xc4\xf6\x9f\ +?\xfe\xfd\xe2$B\x17]a\x19^Nb\x91\xfd\x98\ +>n\xb7\xcbt\xfd\xf7\xd5\xe3\xc6[\xf4\xb1\x01\x91>\ +\xf3O\xd9\xe7\xa5[\x16j\x14\xa54\xea_\xdd\xd9z\ +{\x06\x98\xddxD(\x96\xf4jb\x0bq\xaf\x8a\xb9\ +\x17$\x06DW\x04l\xd9\x8b\xa3\x0f\xe7.S\xf4_\ +\x85!\x0a\x9eA\xe4\xc0\x00\x1a\x10.\xd1q\x94-8\ +\x80V\xd3\xb6\xa3lUb\x94\x91T\xb6UD\x0fw\ +\x11\xc4m\xe9\x88\xf3\x8bfM\xcdo\xe4\xf8a\xd6\x22\ +\x96\xf1@`|n\xe7\x0f\x837\x98\xf1hf\xeb[\ +\x88\xa9\xa0\xaf!\xa6\x10\xca\x19\xcb\x055\xc3R*\xe8\ +A)=_b\x80\x92\xdfb3\xc0o\xe8\xf5\x9e\x9a\ +\xd6s\x81\x13X1%\x8c'\x18\x18:q\x9epb\ +\x98\xe7\xe4\xba\xd0\xc9\x9a\x84\x1aF<\x5c\xe6\x1cb%\ +\x8d\x1a\x9f\x9ako\xe5\x84\xdc\x5c{\x8d\xd4K\xd2U\ +\xf98\xa3\xa4\xa7\xa1\xaa|\x5c\x01\xfd\xba|\xdc\x0f\xee\ +'\x94\x1f\xb2\xb1\xfa\xfal\x94\x04\xff\x85\x07F\xd7\xf4\ +x\xf6\xe9\x8f1\x05\xec\xe4 \xeb<\xa6\xe0u\x9d\xc5\ +\xd7L\x9a\x10A\xbdLhX\x84OM\xeem\x1f6\ +Y:\xff9\xdb\xdd\xe5xD\xd9\x02W\xd5\x16p\xc3\ +\x13E\x88l\xe7F\x804\x84C\x10\xd9\x16p\x10\xed\ +\x84\xa3\xe7\xe5K\x10x\xc3\xe8\xae\xbc \xc0,6\xfc\ +\xad2\x1fD\xf0x \xf7\xe1\xe1\xd9X\x86\x06Mh\ +\x91\x00U\xc3\xb2z\xc0h~\xbb\xa4\x0b\x84$@\xd6\ +?\x81\xd5eZ\xbc\x8asL-\xa3\x82(\xd6\xd9|\ +\xd79\xd6\xea\xcf\xe5\x1cs{\xbe\x9c\xf2\x9f\xd29\xfe\ +&\x9e\x1c{%\x9e\x92BA\xacH\x91\ +\xca\x83\xa2\xab\x16\xc0eE\xceD\x8d\xae\x98y\xc5\x1c\ +\xca\xd1\xad{\x19\xcb\xf1\x89\xc5\xd7#\xd0\xa1\xc0\x0e_\ +\x0b\xbb\xd2+\x81Q\x9e\xc1\xfc\x8a!\xfa\xf8K\xfcW\ +%\x9d=\x91tC\xc5\x0c\x8c\x13\xad\x80\x11\xbb\xbb\x8d\ +\xa5L\xa8\xa1\xd0:aHI\xd8\xb6\xb9|\xa5\xc3\xf8\ +#\x89)\xf8k\x11\x93\x96\xd5f-Zb\xda\x0e(\ +a\xe8_\x92\x96\xfa\x9b\xd22.\x13\x9e\xe4/IL\ +I_]\xcay\x8b\x9aVb])\xb5\xafK\xcc\xeb\ +)\xdeKpO\xf5\xdd\x0d\xbcJ1\xff\xbc\xcc\x9e\xde\ +\xd5\xd4\xb8I\xeb\x9d\xe1\x85\x0eg\xd7\x81\x86E\x0cZ\ +6\xdc\xe4\x9by\xb6\xa9\x9a\x94\xfbi5\x95\xa6\xbf\xb9\ +-\xe2\x1d\x19\x8eZ\xb7\x93p\xfb\xf6.\x9d\xe7O\x1f\ +.X\xb7\x11\xaf\x97`\xc0\xa6\xa42R\xf4\x9a]\x90\ +\xc8\x13\xad\x89\xe5\xa6\xd7\x88\xeb!\x22\xa1\xa4\xb1Cu\ +\xe3<\x9f=\xe2e\xa6\xf8\xb18\xea\x87}\xaf\xfb\xe3\ +f\x83\x08\xab\xf49\xdb\xb4\xaf\xd64\x97o\x8c\xa9;\ +\x96\xd7s<\xc8\xf6.\x7f*\xe8\x83\x95\x9b\x8fYw\ +\x06l\xf7w\xef\xe1`\xd3\xed\x06\xcf'\xd4\xf1i\xb9\ +\x86\x0equ!\x88\xca\x1eaJ\x8cj\x99\xba\xae/\ +\xeab\x00\x01\x03t-\x1b\x9f\xf1\x15\xa2\xbf\xa2\xc7\xe5\ +<\xdb\x86\xd7\xe4\xda\xe2\x9b\x9b|\x1fn\xcfo\xfe\x0f\ +\x047~Hww0\xc2\x22]m\x0f\xa1\xacs7\ +\x89\x8fR\xb4\xec\xf2U\x06\x227\xcb\x1a\xb7\x14i\xe4\ +\x83M\x8b-\xcb\xa3\x0b\xd2\x1e/\x04\xdd\xae\xf2\x9bt\ +5H\xe3\xfbt\xbf\xbc_~\xc9\xe6\x8d\xd7\xdf\x1e\xc3\ +\xdbq\xa9\xc2\x1a\x92\xc0\xe2*\xf9\xdc=\xe3\x95\xaf\xfd\ +3\xc2Z\xda\x08\x01L\x88\xc6I\xc3\xab_\xcb\xf5\xed\ +\x1e_\xb6\xa3\xa0\xd5\xecT7=\x07\x9a\xb2\xfb\x87\xb2\ +\xb5\x91\xa2(\xfa\xbc\xdc.o\xd0g\xf7v\x08\xb8k\ +\xbc'5\xef@q7%>\xae\x09\xb5\xe46_\xaf\ +\x9eK\xb4J\xa9\xf4u\x89\x83\xdfg\xbbt\x9e\xee\xd2\ +F\xb1T\x10.h\x951\xb9\xde\xcc\x17W\xff\xfc\xf4\ +C\x1d\x8e\xccfW\xff\xce7\xbf7!\x06\x22\xa47\ +\xf9#\xf0l\x1d\x9f\xe1}\xab\xd9\x15\xea\xd9t\xf7q\ +y\x0f\x02\x83\xf7\xf8\xfe{\x7f\xbf\x02\x15W7\xb4\x90\ +\x91\xda\xcd\xa0\xc5\xb0\x9b\xac\xb8\xa7\x17\xbc\xda8\x9f\xdd\ +/\xb1\xd3\xf4_\xbb\xe5j\xf5\x13N\xe2\x85M\xe5\xa0\ +\xcb\xdd*\xfb\xe8\xe6,\x1e\xab]L\xcbmTA\x8f\ +\xb7\xcb\xebiE\x06\xf7\xe9\xb6!\xcf\xadVu\x22{\ +\x17\xaa\xf06\xa0\xd6\xa4\x92LMb\xbcz\x90\xc5\xea\ +\xb2\x22\xe3m\xcdU\x01\x0b\xc4\x85`\x8a\xa1\x01\xa7\x09\ +3`\xb3\xb1X\x8fY\xc9a\xc2\x89k\x96V\x13\xbc\ +\xd2@t\x02\xce&\x07\xbfS\xf2D\x12a\xd9e\x9b\ +5\xb1\xd4\xb7\x09\x937 \x82\xbd`\xb0\xa9\xc4\xb4\x9a\ +\x12\x0a\x91\xe4\xfb\x05P\xf0\x0ah\xfb}\xc7\x10\xbbk\ +V\x97\xae\xd9\x0b\xeb\xb7\xbbM\xfe{v\xb5\xce\xd7\x0d\ ++\x96)D\x98O\x0b\xe5\x07\xdb\xa5\xc6\xeb$\x8f\x1b\ +u\x8c\xf5\x0e\xae,\xd1ks\xaf\xbd-P\x80\xb7J\ +Y\x81\xafc)\x12\x10=\xdd\x1a*DRM`o\ +\x10\x8fL\xbc\xc78\x0c\x06\xa3\x7f\xe9\x07\xdcm\xa2\xe1\ +\xa4B\x83\xec\xd2Vi\x83[\xa2J\x14k\xec\xaa\xbf\ ++\xeen\xa5\xb0V*\xa5\xd2\xfdX7\xa7x\xef%\ +NA;\x1d(\x0f\x1e:\x1d5\xf2t\xceL#\xb4\ +\x09\xde:+\x05S\xa8\xcct3\x1b\xdaD\xaf\xd0\xdd\ +\x98\x13X\x0cg\xd6\xc2\xb4\xf29\xd5\xf4\xeeE\xa2D\ +\xd2\xb7\xd8\xa9iw\x97M\x9c\x226\xa1\xf6\xcd>\xc0\ +\xa8M\xebs\xa0\x15\xb5fD\xa5\xc6\xd0EL\xaa\xc1\ +\xa3Y\x84wh\xac\x90BF\xa0\x0b\xb8\x01\xc50)\ +:Gq\xf1\xb7\xfeX\xe0\x81\xa0\xd7-U\x8f\x06P\ +\xe2\xc21\xd4\xff\xae\xa2\xb2\x91D_B\xcb\xdd\xee\xd2\ +M7\xf1U\xb5ekX7O\xa8\xa0\xd22}>\ +6\xa1\xd4\x82\xefF,x\xcc \x1c\x9aI+\xed\x80\ +l\xbdH!Yr\xb2B\xb2\x01\x85\xe4\x0eJ\x9a\x83\ +\xb2\xeb\xbf\x96\x18\xd4H\x01\xe5pNa\xbb\x9e\xde\x96\ +\x0f\xbe\xcc\xf5g\xa0\x89\xd4\x960\xa5'\x18\xd1X\xc6\ +\x85b8A\xfd\xdc \xc4\xb0\x13\x89\xaf-\xc1\xe0p\ +\x99H\xce\x98\x97\xbe(8\x1a\x0c\x0d\xd7\x10\x13\xd5\xd7\ +G\x1cKS<\x22\x09\xa1e\x14\x9b\xc4\x80M2`\ +\xa9\xaa\xfb!Q\x5c>\xb6@U\x0fd\xef\x1a>\xa9\ +\xba\x9b\x16\xb0\xe9G&M\xcf\xa8\xc2\xf5\x11\x82\xbd\xfc\ +\xc9\xaa\xb5\xd4\x13\xf5\x17\xd7\x88MK\xc6\xfb\x17^Z\ +\x0ab\xa09|\xdf\xa6\xa5\x9eZ\xf7sj}\xe6_\ +\xfa:\xae/\xc1\xe8\x8f\x91\x80\x80V\xae\x99j\xc0\x1d\ +\x81xPIK\x84\xbbG\xa0(\xb8\x18\xcaqj\xfd\ +\xdc \xc4\x94\xe3=\x02\xc5\xc05Q*1\x10*\x8b\ +\x9eCB\x14V*\x8d\xb3\x1cM\x5c\xe1r\xd9\xbe0\ +W-H\x86G\x885b|\x1d&\xc0\x15b\x22\x84\ +\x96o\x96\xb7\xcb5F\x0a?G\x10\xc4\xe3}h\xd0\ +\xa7\xael\x0e\x96\x1b\xfd#\xa2\x10\x90+\x108\xd3\x00\ +\xdduP\x87'Ub\x0d\x07y\xf1`Z4}k\ +\xa0\xc5\xb2\x02c\x19\xf5\xc6\x03!\xae\x06\xac'n`\ +\xd0\xdb\xda\x04\x5c<\xc1<(\xa3<\xe1\x94\xf9\x03\xd6\ + o\xe2\x1a\xe6-\xb0\x1e\xad\xd9G\x7f\xbf_\xa2\x16\ +\x19d\xf9\x80\x8b\x01\x86\x84\xe7\x06\xc6\xd0Aq\x9d\xa4\ +I\x84T\x1c$\xa5\x81\xb5\x16S\x01-I\x0c*\x14\ +\xd3\x0c\x07Q|k\xfb\xc2\x91\x5c\x82\xc9\xe1\xa6h\x94\ +\xcc\xef\x07\x9f|\x02\xc3\xc7f\xf6\xba_\xbd\xc6\xc0V\ +\xbeD\xe3}\x0e\xbc\xbc3$B\xef\x8b\x9a\x99\xa2k\ +s\x87\xe22\xe4\x8a`\x01W\xd7\x1d\xa8V7\x11`\ +cA\x1b\x80\xee\x8c\xf1\xee\xac\xb1\x85\x99\x07\xa9\x11\x0a\ +\xe0\x13*\x12\xa2-'\xca\x83U\x0f\xa8n\xcb>@\ +\xad\x02\x916\xad}|o\x06\x84\xe1\xfc\xb1\xebg\x14\ +\xa8\xbf\x1a\xe4\x8d\xef\x16e\x09Q\xa8\xa8\x01\xd3\x15i\ +5\x08q\xbf\xcf\x97\xe8\x1e\xd7\x95\xe01\xcd\xe0`\x12\ +\xbc\xc9\x05\x9a\x22bx\xa1\x10q\x91C\x15%\xc8\xd3\ +\x15\xa8z\xc0\x9eE\x0fh\x8d\x1d\x22\xe1E3\xce\xd6\ +\xc2G\x80C\xe6\x8eb\x05h\xe2:Y\xaa\x08m@\ +%6\xee\xc6\xe1s\x0bB\x81h\xee\xe6w=\xb7\x8f\ +^0\xcc\x11\x83\x0d\xd3P\x8dQW\x91\x16\xac?R\ +\x89%\x96\x92\xd1\x89J\x984\xc4\xdd*?\xe8\x1a\x87\ +F6TS\xa6\xa9-G\xae?r\xe0\x16\xd8\x1a\x9c\ +\x01\xac\x1f\xc2Hk\xf5\xe5\x00oA\x88iy\xcd\x5c\ +\x16\xdc\x1c\xed\x98\x8b%(E\xc8[\x12v\xccE\x03\ +*\xff\x16\x9c\x85\x1d\x94\x8a*\xb4\xba\xb1\x8b\xec\x8d\x8d\ + T?\x8e\xaf\xa4\x01K\xc4=X3z\xb9\x1e0\ +\x07\x8e\xaf\xf0\xde\xa1i\xda\xe3~\x97\x82\xad8\x90\xa2\ +\xe0+\xb0\xa1\xd6P\xc7Wx\xcf\x19\xfcjP\x14\x10\ +\xec\x98\xf2\xb3\xfb/n\xa3DD\xfeE\x14p8]\ +\x9b\x1b'np\x8b\xcf\x0e[\x0b\xea\x18\xaa\x84\xba\xca\ +0c\xb8\x01\x9d\xe5\x01\xebN\xb8\x99\xb2\x1b\x8f\x0aT\ +\xca\x8av\x19\xb5\xf1\xdb,\xd5\xc4*$\xf0\xee\xb9q\ +y\xa5 \xa0\xc9\x15}\x7fPY\x092h\xefC\xca\ +J\xd0\xb6\xb2z\xb3\x8aoV1\xe0C\xe1\x9dd0\ +*\x96\x04\xa3\xe1\xb0KvP\xd3\x1dSO\x9a\xf5\xb4\ +\x93\xe4\x07u\x93fQ\x892\xac\x98\xdc\xa8\x1d\xbd$\ +\xad\x12\x03zII\xaeJ\xbd$\x88\xcfP\ +\xc7\x81\xe6\x9am\xb7\xdbf\x09\xcd{Z\xdd\xbc\xbcu\ +|$q\xdd\xd2\xc2\xb9P\x86R\x05\x8bp\x8c\xc4A\ +\xf1I|w\x817\x93\xf1\x8b\x94\xc1\xe9\xd0x1Y\ +BDH\xf1\xd5\xa5\xa4R\x15@+1N\xa5\xa8\xaf\ +\x8cf\x10Xb\xc8\xc3\xb8\x9d\xa8DP-\x84F\xff\ +M\x80<\xc0,\x16B1x\x8c\x98\x04v\xc0\xea\x0d\ +\x80 sB\x9c\x86\xdf.\x0aS\xe1\xfb\x7f\x98\x07\x5c\ +Bf\xe0\x1c\x89A*\xd3\xc40\xae\x15G\x98b\xc4\ +h\x80a%\x19\x84\x7f\x1cdY\xc33\x9c8,\x97\ +\x09\xbcH\x8dN\x9d\x02\xd7S\xe2\xeb}\xd0O\x04\x1c\ +8\x15\xdc\xab\xf7\x0a}\xd8\xdd\xc1;\xe0\xa3\x22-\xaf\ +n|\xbd\xcef\xbb|\x13\xcf\x1e7\x9f\xd3\xdd\xe3&\ +\xc3j\x96\xfa,\x8f\x96C\x94\x89\x00\xe9\x8a\x1c\xac\xb5\ +\x04\xc3eW\xa0\xa35a\x9d\x82\x07\x8dE\xdb\x94\x03\ +J}\xff\xd4+\xe2\xf1\xaax\x8e\x95\xf1\xc8@\x1dO\ +\xa8\x90\xa7\xc6\x8f\xea\x81\xab\xc6\x0e\xae7p\xd9R\x0f\ +\xdb^\xc2\x81z\x86N\xcd\xd2P\xb5S\xab\x92\xa1\x7f\ +\x11\xb7U\xc9\xd0\xbf\xbd\xdb(\x5cJ\xba|\xe1\x05\xe5\ +L\x00[\xd2\x81\x17\x1e\x9c\x8e+\x08\x1b*p\x08\x0a\ +x\xbf<\xed%\xabc\xe3R\x06\x0d5\x18\x19K\xc1\ +\xb1\xf4\x1f:\xba\xc0\x91\xff\x059\xbe\xab0ry5\xba\x19_\xbe~}\xda{\ +\xbf\xd9\x5c\x8e\x86\xc3\xe5U=\x9e\xae\xde6\xf5du\ +1\xc4\xa3!$\x0e/.\x86\xbd\xbb\xde\x8f\xf7\xddu\ +\xbc\x9c\xce\xda;\xe2\x01:\xda;\x89\xa7=y8\xc2\ +\xf5E\xb3\x19\xef\x1fL'{\x01\x97\xd7\xebE\xbdZ\ +\xbf\x1bN'\xc3f\xd1\x5c4\xcb\xcd\x15\x84\xe8}\xdf\ +\xc9]\xdf\xc9\xba\x19o\xe6\x1f\x1b\xccu\xb1\xc2\xcc\x1c\ +\xb6\xbcz\xbe\xeb\xb9>X\xd7\xa7O\x9f\xeaOVz\ +\xe8\x9c\xf3P\x99\xa11\x03\xf4\x18\x5c\xdd.7\xe3\x9b\ +\xc1\xc18\x00\xd66\xce(\xa5\x86x\xb6\xed\xf6\x84.\ +\xa3\x9b\xc5|\xf9\xa1s\x0d\xf2\xb4W}\x9aO7\xef\ +O{.]nz\xd5\xfbf\xfe\xee\xfdf\xd7\xfa8\ +o>\xfd\xb8\x02l\xaaR\x95K\xf8\xe3\x09\xdf.p\ +\xb8+(\xc2l\xb1\xfa4\xfa8\xbf\x9a\xbf]4\x7f\ +j\x96c|\x0d\xde\x8e'\x1f\xde\xadW\xd7\xcb\xe9h\ +\xd9|\xaa\x0e\x06\xce\xa7\xa7=\xac\xcd\xf3\xfa@\x8bt\ +\xef\xc5\x09\x17\xb2\xdbU\xaf\xda\xdc^b\x82Ms\xb3\ +\x19N\xae\xaez\xd5\xbaY`$\xa7\xbdz\xdf4\x9b\ +\x22i:^\x7f\x18\x5c\xac\xa6\xcd`r}\xb5Y]\ +\x0cd3\xc3/\x94\xf5\xaeY6\xeb\xf1b/Lz\ +\xdeI[\x8c\xa9\xea\xcd\xf2\xa1\xdc\xd6%\xc9\xe8/\x10\ +\xb3\x14\xed\xda\x8byVU'\xd3fvUz\xe1\x22\ +\x04\xd7\xe3]\xdc_\x8f\xa7\xf3\xf1\xe2\x9f\xf9\x05\x8d\xad\ +\xdem/~]\xce7\x98\xf2\xfa\xaaY\xffr9\x9e\ +4\xff\xb6\xfc\xf5\xaa\xe9\xed\x1f\xbfY\x8f\x97W\xb3\xd5\ +\xfa\xe2\xb4w1\xde\xac\xe77\xdf\xaa\xdaF\x97\xfb\x8a\ +\xff\xe1\xd2\xf7\xb5\xabs\xf6\xb9\xaf\xfdw\xbdjv\x0b\ +\xcd\x88\xb5\xca\x1ag8\x83^\xb8\x5cg\xe5,p=\ +\xedYU\xabdC\xaf\x9a\x1c\xf6\x9a\x1c\xf6\xe2\xc2\xff\ +\xe3\xf5\xab\x9f\xce\xff\xa6\xfd\xdf\xb6K\xc7\xe2\x01\xd6e\ +Q\x0f\x5cx\xef\xf7J\xc6\xf6`\xb2Z\xac\xd6\xa3\xe7\ +\xc9\x9f\xfd\xf0\xf2e\xafZ\xcdfW\x0d4T\x15D\ +\xda\x04\x84V\x01J\xd9\xf3\x1f\xf2\x9d\x00\xbd\x13p2\ +O\xc2\xb5\xfd`\xbc|\xfe!p5\x88\ +5N\xdb\x82\xab\x89\xb57z\x87\xab7\xe8\x99\xb6\xd6\ +;p\xb5\x11\xa3y:\xae\xb9\x13\xd7\xd4\xee\x8b^\xca\ +\xe7)\xb8\xa6\xd8* \xe7\xb3\xb3\xcf\xb1\xde?.>\ +\xd8\x88\x1bA\x97\xf8\xa0Cm\xbd\x0e\x12\x1f\x10\x05\x9c\ +f\xf0\x9f\x1c\xf6\x9a\x1c\xf6\xba\x83\xd4\xa8NH\xb3\xfb\ +\xc2\xf8\x90\xdb\x03\xcc\xe7\xc6\x87\xdf\x13R\xed\xa8\xc3\x88\ +\x19\xa6/_Z\xd0\xd5\x80\xd7\xd6\x088\xa1\xaf\xc5\xf2\ +\xed\x16c\x9dj\xc5\xb8@\x88m\xaauH\x82p\x86\ +\x19\x04\xfa\xe3\xc9A\x9f\xc9A\x9f\x03|u\x17\xbeA\ +\xb5\x07\x9c\xfb\x1a\xd7\x89oPO\x0b8\xaa\xf6\xdd\x22\ +\xda\xcf\xd8\xda\x10:\xb4\xfe)!\xfcQo\x92U\xe4\ +\x19h\x1b\x5c\x7f\xffU\xee:\x040\xeb\xfa\xbe\xf6!\ +\xc4\xad;\xd1\x1a\x01\x9f\xc6Io\x92\xeb\x10L(\xce\ +\x84\x06a\xb2)\xbed\xf7\xe0\xc9\xae\xc4\x98\xces\xd1\ +_H\x04\x82\xee8\x97\x1f\xf3\xf9\xf1\xb9(\xefB\xb7\ +\x94\xf6\xa3\x09\xeeG},\xc5:\x1b\xbb\xa5t\x90<\ +}\xa6\x8e\xa5\x04\x15\xbb\xd5D\xb7{\xd7l\xcf\xeei\ +Z\xb2\x8f\x08\xf9}<\xecW\xd45\xeb\x8a)\xdf\x14\ +\xce\x85\xe3\xd9\xb2Nx\x87h}*\xba\x86\x86\x93\xd3\ +y\xba\xb2\xd9Ne3\xed\xba\xf2\xe4\xb8\x15L\x87\x9a\ +\x84\x1f\xed\x17\xb2N\xe7jg\xdd\x16\x0e\x04\x15\x13\xf7\ +p0\xcf\x08\xb1\xc0\x01\x0e\x1a]\xf8,\xdbs\x9dp\ +\xd8v\xdb{:\x1c\xb6\x1d\xcf/T\xb2\xdb\x92\x86\x84\ +`\xd3\x16\x0e\x0bJ\xb8c\xe1\xf0D)\xee\xd8\x22c\ +l\xd4\x9f\x93\x93\x98\xce\x14-\xd8/d\xe1\xc1u\xb1\ +\xf0\x10\xce\xce\xbe,'\x09\xc8\xbd\xa8\x107%_\xf3\ +\x8a\xd4V\x92\x92\xfd\x13\xc2aj\xa7\xec\xe7\x90<\xd3\ +\x99\x94\x04\xd7\xeeA\x9eL\x9e\x83kg\xdf_H\x9e\ +oKV\x16\x5c\x8e\xfb\x14M;xB\x81\x03\xd8\x04\ +\x13\xb7\x9c\xd7\xe9\xda;\x97?\x07\x8e\xce\x5c\x22t$\ +\xf0g\xfe\xa5z\x9avt$\xf0\xfa<\xba\xf3v\x82\ +\xf6\x10\x8e\x93!+$r\xc5R\xdft\xbc\x19\xcb\x04\ +\xbb\x86\xc7n\xb7\xa3o\xb0\xc1\x0f\x0dF\xbdm\xde\xcd\ +\x97\xa7\xdf\xfc\xf7\x7f\xfe\xd77\xec\xfb\xcd_\xfck\xf5\ +\xfa\xf2\xacy?\xff\x97\xdf\xd6\xcd/\xbf\xfd\xeb\x9b\xc9\ +o\x1f&y\xfa\xcd\xc9p?\xa6H\x18\xdd\x5c\x5cR\ +r%W\x9b\x0fD\xe9\xe7j\xb3Z->\xcc7\x95\ +\xad\xd5\xc0\xe4~5[\x8f/\x9aO\xab\xf5\x87J\xd7\ +\xe1\x0e\xbd\xdd\x92v7\xc8-\xa7\xb3\xd1\xbf\x9f\xbf\xbc\ +\xbb\xb3\xbdw\xde\x5cM\xd6\xf3\xcb\xcd|\xb5\xac\xd8\x1e\ +\xbf]]\x03\x89\xeb\xeb\xf9t\xa4\xa7\xde\x197\x9e\x0d\ +\xdeNfa\xe0&6\x0f\x92J\xb3\x81\x091\x1b\x03\ +\xcd\x9fNL\xefP\x22d^B\xc6\xcf\xeb\xd5\xf4z\ +\xd2\xac_<\xfb\x81\xc5\xd1\xea\xe7\xf3\x97\xd5b\xfev\ +=^\xdfV\xbeV\xeadx\xdc\xeb`\xf8\xf0\xde\x9a\ +~\xff\xf5\x0e\xff_\x88\xbc\x87\xea\xcd\xf8rt\xc6\xda\ +ps\x8e\xff_<3H-\x06\xf8\xd3\xea\x8d2#\ +\xfc\xe9\xf0=/\x00\xed\xfd\xae\x0f\xe4\xbc^M\xe7\xb3\ +\xdb\xbd\x1cG9&\xbfQi\xe4\xf3\xc8\xc5\xbf\x16\x11\ +\x87\xbd\xda\x97\xb2Z\xbf\x816\xee\xce\xf8\xa7\xc5\xe2\xfa\ +j\xb3\xe6\xedJ\x83\xf0\x1d,d\xd7\xf1\xe1J\xb6j\ +z\xb8\x16=\xd0\xe9\x8dN#\xe7F\xda|\xaf\xf4~\ +O\xc7\x9d\xffP\x95y\xb8\xf4\xd7\xafG\xe7\xab\xc95\ +k\xf9?\x9d\xbfx&\xa2&j2V\xd3\x94\x06S\ +;U\x037m\xdc \xa5\xd9\xdb\x81\x8fa\x12\xa6!\ ++\xedg\xb2\x95{\x83\xff/\xb72\x9d\x8c\xc8$\xc7\ +p;\xf3\x8b\xf1\xbb\x86\xa5\xfe\xefo.\x16\xf0uw\ +O\xee\x8f\xd8\xcc7\x8b{Z\xb1]\xde\x0f\x8b\xcd\xfd\ +\xfb\xdb'\x8b9\x8b\xd5\xa3R\xa7\xbe\x19\xc0\x93\x8e\xaf\ +\x17\x1b,g\xb6ZL\x9b\xf5@\xd7\xe3y\xd9\xfeb\ +\xfe@\xf4\xb0U\xb6\xac\xf1\xc1Z\x1e\xc7p2\x19\xfd\ +\x85\xde\xf2\x00\xbbnH>\x03\x91\xdb\xcbFd\xae\x9b\ +\xab\xd5\xf5z\xd2\xb4\xbe\xfc\x99N.\xe6\xec9\xfce\ +3_,~\xa2\xf4c\xd7q\x00\xef\xb1K\x19n\xd7\ +}\xe0\xcf\x87\xf7\x1c\xfa\xc9\xf0\xd8\xe9C\xd3v!\xe4\ +~Pj\x96\x88D\x9f\x8eC\xce\xf1\xf0\x93\xcb\xf1\xe6\ +\xbd\x047^x\x16\x9eq\xfd\xbar\x11\x09\x81\xef\x93\ +\x08'[\x9d\xb1m\xd9\xf2\x99\x97\xca%6\x5c6\x95\ +\x033\xca\xd2\xd1\x9bP\xbd\xaa@\x0d\xac\xc5S_\xdb\ +\x14+\x9b\xea\x94\xa4\xd0\x03)\x93\x8au\x0a+\xe5\x0a\ +\xe3\x22[\x1as\xe0\xcb\x85\xcc\x96\x0d\x96\xad\xa0\xa5\xa5\ +s\x92D\xc7\xb3\xe1\x9cd=F\x07\xb6B\x96\x8e:\ +\x99J\xf5U50`d.\xf4-\xdf\x1b\xa0\xe5 \ +7\xa3eM\x92)\x95T\xf9Tp\xd22\xa5\xe6\xa7\ +\xf5\xc3\x96\xf1\xa6\x0f\x05M\xd6V\xfc\x8aX\xaa\xad5\ +\xa5\xb0\x0e\x8d\xa5\x1al'W\x8bj\x80\x1c+\xb1\xd0\ +\x12\xb1r\xd9W\xd2,(jm8\x12I\x16\x1a0\ +R,\x06`\xe5\xbe\xc6\x0c\xa6\xec\x83\xe9\x9aOe\x1b\ +\xc9\xe2\x895z\xd7@g\xc8cyL\x03h\xac\xae\ +\x14st\xe2\xb5e}\xc7\xc5\x88\xe9\xb1(\xaf\xfb\xd8\ +u\x8a\x06\xd3\xb3c.\xc9 \xafC`i3x\x5c\ +k'\xc5\xa0\x0c\xd2\xa0\x95\xc3d\x11\xd8\x02,c\xfa\ +,\x0e\xe9\x8ae\xce\xd8\xc7\xe1\xe1|0Hy\x8aI\ +\xba\xe2LY\xc48\x5cK\xd9\xae6F\xe6\xe6\x8e<\ +\x93M\xa7\xadLn\x00}9\xd9J\x8eR\x8eF\xc6\ +\x05-Gh\x83\x915\xcaYc\xa9l\x18[\xc6H\ +\xc3\x16\x01\xb2g\x9dd\x8cJl\xec\x94\x85\xd7N\x19\ +\xd1\x15\xcfU@\xa1(\x1b\x99\x09\x92\xb6\x02A\xf4\xa5\ +o\xd8\xe2\x81\x86\x17duY\x1f\x08|\xf5\xdb\xdd;\ +HX\x04lt\x84\x11\xdb\xd7c\xe0\xab\xfbW\x98Z\ +\xa9\x7f\xda\xbf\xdd,\x8d\xcd]2.\x97\x0bD\xa7o\ +\xcb\xe2d\x8f\x91EL\x1a\x12\xe4x\xcf\x14\x93/\x02\ +G\xef\xd7\xcd\xec\xb4\xf7|o]\xb7$\xaf\xd5\xcd\x9e\ +\xc2\xfe\xbd\xd3\x22I\xee\x8b\xda\x99\xef\xb6\xe2v\xa2[\ +\xa7\xdd/\xccn\xa7=\xb6\xfb\xa0vv\xefa\xce\xb1\ +o,\xad\xb82\x1a\x87\x0c\xe3\x0e\xb4{Qs\x9b\xad\ +T\x19E\x99C\xa4\xa6\x89U!\x0d\xa15\xe4\x80\xb3\ +Q5,WC\xb3T\xd1\x0f\xda\x18\x8fO\x0e4Q\ +\x8b#\xf5\x01\xb1\xaaOS\xe6\x10\x9d\xa0\x81b{*\ +%\x19d\xb7eM\xf6\xf4\xa9\xa8\x81\xa5^\x86r\xce\ +\x1e6z\xac\x06i\xab\x06\xb6\xa8\x81;P\x03\x95\x8a\ +\x1e\xc4\xa2\x07\xa6\xb8\x1e\xd1\x0a\x9d\xad\xd8e\xd1T\x93\ +r\xd9\x984|8P\x98\x19<\xf9\x08>\xfe\xdb\xe7\ +\xfb\xb7\x90\xdf\xb5c\x19\x05\xcb\x0b\xa2\xe7\x89\x1e\x5c\xa7\ +\x98\xc6\x1d*\xc7\xdb\xe5&\xf2^\x97\x1f\x991t\xcc\ +\xc8<}7\xa3\xd6\x813fG\x9f\x91\xbdT\x81\x91\ +\x9eqJ\xc3ma\xca\x88\x19C\xe6\xb5g\xfa\xdfj\ +\x14\xfeO\x0ff\x8f]\xb3\xfb\xdd\xec\x16gJ\x8f\x96\ +\xe1\x85'\xf4\x83F\xd9b\xff\x96\x8e\x10\xbe\x8b\xdeH\ +\x9cb\xa23\xf2\x86g8\x88\xf0/\x121B\xdc\x06\ +\x09\x06\x02\x19ME0}\x0e\xa5\x0bC\xff>\x87\x1a\ +\x8c\x82\xf3\x83\x17\xed\x07b\x87Ae\xae2\x15\xbb\x17\ +\xbfc*v\xd7\xdc5\xe7z\xc5\xd8\x95\xe1F4r\ +(\xf8\x06\x845\xa2\x02\x8c\xe8\x98\x13\x9f\xf2Xr\xad\ +\xb1\x10\x046\xc41\xc4/]\xfd\xf5\xf7\xf7\x1a\xb6h\ +1\x1c\xeb\x81\xd7\x88\xa1\xcd|\x89\xef\x03\xafq|\x04\ +\xc9\xde\x1d\x81\x92\x97Y)\x84\x7f\xdc#\xd09\x13r\ +\x12\x06a\x16>h\x80n\x8d\x80\x9e\x10w\x12\x19\x06\ +}\x11=LDh\xf4\x07g\xf0@1S\x87b\xa6\ +\x9dY\xc0\x04\xb4\xc3\xba\x93\x98\xf4\xa4Dz\xba\xae\xe4\ +\xe9^\x8c\xf1\x8c\x8c\x8e\xfbc\x14A\x80Sa\xb7\xbf\ +\xc8\xfd\x95 \x9b<\xa31Eh\x81k C+v\ +\xf7\xc5\xb0\x84\x00\xc1Y\xfa\xc8\xfdY+\xcc\x89\xf88\ +\xec\xcf%aK|\xbbH\xf3w\xdc\x9fC\xd0O\xc2\ +S^q\xba\x94\x03\xcf\x04\xee\xea\x8cM\xc6Y\xa0\x0a\ +M\x95\xf7\x8f\x89\xab\x84L\x83\xa5d\x84\x7f\x09\xda\xf7\ +py\x9e\xf3d2\x9b\xb5\xe2\x91w\xe4\x0e\xa2\xe1\x04\ +!@c\xcf2\x93Q\xf0\xf9\x9c%$\xde7I\xa6\ +\xf4r\xf0\x11\x94\xe3\x151\x8c`r\xc0\xd0\xf9\x02\xa1\ +&WpYh\x06:b\xffF\xfc\xb3\xc1\xe6aA\ +G\x0aR\x00Dg\xd2\x0b\x1c-;\x97*\xb6!5\ +)\x9c!\x08\x0c@%\xc3\x87i>\xcc\x05?07\ +\xe0\x17\x9c\x95\xf0\x04\xc8`\xa1Z\xf4\xc3$\x9ah\x06\ +izD?r\x87~\xf0E\x8b\xe8\x87\xf5\x0c\x03|\ +O\x96\x0c\xc9\x84e\xc9\x5c4\x16\xb3\x04x\x08iD\ +(K\xc6-\xc7\x86\x0d\xdc 8\x22N>\x80\x22\xc6\ +\xaf\x7f\xd2\x85u\xa2\x1f\xc4\x88\x83\xc5\xca\x10\xb5X\x8c\ +\xd4<\x1e\x1fM\xa1\xb2\x95\xce\xd4l\xe1\xae.\xb6\xba\ +wW\xdc\xfb\xf3\x99|\xda\xd1\xc9;tx~0X\ +\xb1c\x9e\xe3=\xc6m\xb6\x8c;\x09\xe3\xe6\x91\xa1k\ +\xc0\xfc\x08h\x1a\x86\xc4\x16\xf5\x03\xe7\x0a\x16\xf1\xa0\x05\ +'\x8b\xf4@\xc3\x17\xe0\xc8\xa3O2\x91\x05\xd2JK\ +\xbcT\xd4>[;\x1b\xd9J\xa2\x13\x90\x01?\xc4`\ +\xeay\x06\xc4\xd2A\x10\xae-\x14\x02\xb2\xd5VG\xef\ +\xd1m't{w\xfd8\xdb\xb6ml[\x1f\xb1m\ +\xdf\xca\xb6\x93\x90mq)\xb0\x02\x92mK\xb2\x8d)\ +\xee\xc8\xb69 \xdbF\xc8v\xea&\xdb\xae\x90mw\ +L\xb6\xedC\xb2]\x88h\xa0\x15\x16\xae\x8d\x14\xaa\x92\ +\xa4I\x88\xb3P\x02\x9dDKBv\x845\x96\xf4\xcc\ +\x8aqm\xf33{\x94\x9f\xb9\xa3\xfcL\x17;-\xe9\ +Y>L\xcf\xf2Qz\xe6w\xe9Y7\x9b1\xaa\xdd\ +,\x83R;\xc5CL(\xc9c\x14\x8e\xdf\x92=\x1e\ +\xaf\xce\x1c\xae\xae-y\xf4\xf7\x92G\x98\x94\x11,\x18\ +\xd3<\xb3<\xce\x07\x97\xb7\xa3\xbb_\xc5\xc7aP\x9d\ +\x09s\x86\x86\xf8V\xfb\xd4\xad\xc8\xe8\x1dK\x87If\ +/\xf6\x00\x05\x05\x99I\xf2\x92\xdf\xd0\x86\xa0u\x88\xc2\ +\xe4\x92\x89\xd1U3\xec\xea\x82\xa1\xa5\x85\xc9\xef.\xb0\ +O\xac\x03^\xd4I#\xe7\xd4\x92\xd3\xc2\x1fIJK\ +t\xa1\x86x\xa4%\x95df\x9c\xe9wH\xa4\x8bu\ +\xdc\x19\x87\xde\xba\xb2\x80\xb5\xc0\xb6aQx\x0e\xd5\xc5\ +J}\x9f6\x9aJ\x8d\x00\x9a\xc4J\x81~,\xb0\x1b\ +\xdd\xa1!f\x17\xc8\xa8\xb7\x9a\xf6n\x8d\x13\xb7\x10\xc5\ +\xb38\xfaQ\xfe\xa0\xb0/o\xae\x98\xf1\x1a#\xfe\xdd\ +f#\x09\x8a5\x0c\xf3\xd6\x97\xd4\x11\x81\x86G\x8bt\ +\x16\xff\x92\x1e\xc2\xf9\x821\xd7\xd9\xd0a\x04\xc5s.\ +\xe0\x0cv\xe8\xf0\xc7|\xe5t\x09:\xdcr\x12\x06\xe0\ +9Lr\x09#\x19\xc9B\x14\x93\xa9\xdan6\xc9C\ +\xa4\xaf\x96\x22\x83\x22?+\x13\x0e\xca\x8c\x03N\x99\x1e\ +\xb3\x1c\xd3\x85K\xda\xd1@@\x00?\x98%\xbd0\xa2\ ++L\xe5J\x86\xa4%\xef\x22\x8da:G\xf7\xa8x\ +\xe9%\xb3\x8b\xc2\x88\xb0\x0fF\x8f\xac\xa9\xb9\x81{c\ +F\xa1\x99\xa9\x90\xd616{\xe6- \xfa\xec\x17\x94\ +(\x1e\x9c\xbd\xc4\x1cdw\xc0=\x1b)\x12\xc0\xbf\xa0\ +c\x8c\xc2\x908S\x02\xdc\xd8\xb2\xc7\x13\x83FrV\ +\x042\xc2\xd1\xc0\x8b\xddFU\x0c\x5cf\xabM>n\ +\xb4YLz\x90\xb0\x18\xdb\x05S\xde\xaa\x0f\x0c`\x1b\ +:\x02\x9d3+<\xd0\x1emS\x091\xa4\x04^\x5c\ +;\x0e\x93\xe6\x16$[\x04mB\xf2D{S\xe4{\ +8X6r\xa1R5\xa9\x0b6o\xa9\xfe\xcc\xa4i\ +\x898M\xe8\xbf\x96\xc8\x94@\xadZ\xb5I\x17m\x8a\ +$\x97\x89>\xc4\xe7c\x1d|%\x18\x97\xd0\x19\xc5\xb6\ +\x99R\x8am\xe7b\xdbZK,5\xce\x1co\xed>\ +G\xec\x8e\xfa\xc1\xaa\xbd\x0aYn%q\x01\xe2\xaf2\ +Uhg1$\x1e\xf87Gz<\xe7\xb71\x96a\ +\x95\xac\x1a\x9e\x80!\xdb\x98\x5c\xd4\x8e\x8b%\xa7\x82\xd3\ +\xa0\xcd\x97@h\xa8\x9f\x06X{:\x08Q\xd6H\x92\ +c\xb9IM\xd51)\x14\x85\xd5\xb1\x14\x8e8\x83)\ +\xf1I\xea\x02\xb6D\x1dV\x94\xc4\xd0@\xc0%\xdd\xf7\ +\xf6\xbe\xf5<\xba\xe5\xb8\xf3&q\xc7?\x22]\x01Z\ +\xe2L\xa2\xff\xa3\xc8/\x09%\xd3S0J\xab\xda\xf3\ +r\xfbP\xcd]\x87\x9a\xbb]\xfa\xe3\x88L\x9f?\xb8\ +U\xe2\xbd9E\x99a\xeb\x8e\xa4<\x93K\xe8\x8e\xe4\ +0\x11\xfa5(K\xdb\xd1r-\xf5>J\x09f\xcb\ +\xad\xb6Q\xde\x89u\x22K\x90m\xc4\x12c\x8d\x94\x1a\ +t\xa1OY<\x1e\x94(J\xadH~z\xa9AZ\ +\x19o\x09\x18l-}\xdd\xb4\x8c\xc8\xb2\xa0\x09\xad\xc2\ +\xee\xdb\x91\x8d\xf23^\xf3\x10\xe0\x8eBO\xf0\xe6\x0e\ +`\xfe\x84\x94\x9a\xab\xc4\xa9s\xaa2\xd3vWq\xbb\ ++b\xe2\x85\x85\x96\x1c\x5c\x09O,+\x1cl76\ +\xd8\xee\x8c\xd5\xbdR\xd2\x84\xd1\x0ddH\xbf\x8c\x97\xb8\ +\x11\xa5\x1c\xad\xc4\x07\xd1\xe3\x84,X\xc2\xb3\xc4\xe0\x91\ +\xfd\xe3\x9ea\x5c\x93$\xba\x92\xdf\xfbjj\xb0\xda\x9d\ +\xdfW\xca\xf0\x095\xbd\xe5\x80?'y\xb2\x12\x1f\x14\ +\x97V\x8b\xdbw\xabe\x81\xb9\x5c\x07o{\xd5\xe5j\ +\xbe\xe4\xcf\x0a\x1cy\x89!{\x80\xbb\x00EL\xf0\x0e\ +V8\x1e\xdf6DV\xb6\x09\x8b\xa6#\xa1\x1a::\ +o[\xdd\xf3\x07\x08\xbb\xd3q~dJVDwS\ +\x92\x88\x82xB\xaeC\x98\xb6\xf0l6\xf4\x1d\xcf\xc0\ +\xc9\xfb\x0e\xe4\x1c\xaeT\xac\xbbcvG\x91\x22\x04}\ +\xc7v5\x18\xbcEz`K\xf0\xd3z[\xe1\xad\x06\ +\xfcU2\xcf\xa1\x10af`\xd8q\xa9\x93\x07z\xc5\ +\xe8\x8bGQN\x18X\x96\xc3@\xdcU\xb4QO\x13\ +9nt\xbb\xc7\x13\xbe\x06{\xf1?\xc6\xc8&\x02\xb0\ +5\x00\x00\ +\x00\x001:\ +\x1f\ +\x8b\x08\x00\x00\x00\x00\x00\x00\x00\xec}ms\x1bG\x92\ +\xe6\xe7\x9d_\xc1\xd3|\x19E\x00\xc5|\x7f\xd1\x8cw\ +c\xd6\xde\x99\xd8\x08O\xec\xc6\xcd\xee\xde\xde'\x07\x04\ +\x822ohRGR~\x99_\x7f\xdd\x00\xc9j\x08\ +j4\x80\x06d\xc9g\x94)\x03\xd5\xd9Y\x95Oe\ +eeeWU\xff\xe1\x9f~\xfc\xee\xfa\xec\xfb\xc5\xdd\ +\xfd\xd5\xed\xcd\x17/\xb0\xc0\x8b\xb3\xc5\xcd\xfc\xf6\xe2\xea\ +\xe6\xcd\x17/\xfe\xf3?\xfe4\x8d\x17g\xf7\x0f\xb3\x9b\ +\x8b\xd9\xf5\xed\xcd\xe2\x8b\x177\xb7/\xfe\xe9\x1f\x7f\xf3\ +\x87\xff1\x9d\x9e\xfdyq\xb3\xb8\x9b=\xdc\xde\xbd:\ +\xfb\xe3\xc5\xed\xeb\xc5\xd9\xbf^_\xbf\xbb\x7fXf\x9d\ +!\x15(09\xfb\xeb\x7f\xfd\xf9\xec_~|{{\ +\xf7p\xf6\xef\xd7\xef\xdeL\xff\xf5\xe6\xac,3\xffk\ +U\xe6\xab3+\x00g\xff\xfc\xee\xea\xfa\xe2LQ$\ +^\x9e\x9dM\xa7M\x11\xf7\xdf\xbf\xf9\xcd\xd9\xd9YS\ +\xbf\x9b\xfbW7\xf7_\xbc\xf8\xf6\xe1\xe1\xed\xab\xf3\xf3\ +\x9b\xfb2k\x8b+\xf3\xdb\xef\xce\xff:\xfb~\xf1\xa7\ +\xdb\xbb\xff\xb5x}\x8e\x05\xce_\xd4;f\x1f\xbea\ +Y\xd3\xa6\xfc\xff\xbaZ\xfc\xb0\xb8\xfb\x97\x1f\x1f\x167\ +m5\xee\xcfy\xfd\xf6\xab-\xb7w\xe4\ +\xbf[\xcc\x1e\xae\xbe_4\xc5|\xd7T\xa8\xbd\xb3)\ +\xfb\xb7\x1d\xe2\xbb\x8b\xcbg\xea\x1f~\xf8\xa1\xfc\xc0K\ +\x22\xcc\xccs\xa0s\xa2iC1\xbd\xff\xe9\xe6a\xf6\ +\xe3t\xfd\xd6\x06\xcc\x0f\xddJ\x00p\xde\x5c\xab\x94\xbb\ +Q\xbd\xfa\xf1\xfa\xea\xe6o\xbd\x95Y^\xed\x96\xde\xe8\ +\xd3\xdb\xe6\xef\xf9\x86\xa7\x8cr\x7f\xfb\xeen\xbe\xb8l\ +\xee\x5c\x94\x9b\xc5\xc3\xf9W\xff\xf1\xd5\xf3\xc5)\x94\x8b\ +\x87\x8b\x0e\x9b\x86\xe9\xfd|\xf6v\xb1V\xeeS\xe6\x0a\ +\xaf\xd9w\x8b\xfb\xb7\xb3\xf9\xe2\xfe\xfc)\xbf\xbd\xbf\xab\ +\xe0\xb8\xcc\xb8\xba\xf8\xe2\xc5\xd7\xb3\x9f\x16w\xdf\xac~\ +\xffpu\xf1\xf0ms\x99b\xf9\xf3\xdb\xc5\xd5\x9bo\ +\x1f\xea\xef\xef\x1bm\xf9\xe7\xdb\x1f\xbfx\x01gp\x86\ +\x14gO\x17n\x1b\xce\x97\xd7\xb7?|\xf1\xe2\xfb\xab\ +\xfb\xab\xd7\xd7\xab\xe2\x167\xb3\xe6\xeb\xf4\xf5l\xfe\xb7\ +7w\xb7\xefn\x9a\xc2n\x16?\x9cun~\x92\xea\ +U[\xdbF\xa0\xb7w\x8b\xfb\xc5\xdd\xf7\xab\xdb\x9f\x00\ +x\xf5\x5cm(L\xcbKORu/\x89\xad\xdfu\ +q;oph\x98\xbe\xb9\x9d6|\xbf\xbf\xba}w\ +?};k\x10n\xda\xf0\xef\x1b\xb4\xafg\xf7\x0d\xed\ +\xf9\x7f\xde7\x1c\xcf/f\xdf_]\x9c\x7f\xb5\xb8\xff\ +\xdb\xc3\xed\xdb\xf3\xfb\xa6\xdf\xbf\xbe\xfdq\xbd\xe4\xdbw\ +\x0fo\xdf=|\xb3h\xbb\xce\xaa\x0a\x0d\xf2\xb5\x19V\ +\x97\x97E=g\xae3X,\xcd\xc1\xf4\xf2\xeaz\xb1\ +\xaa\xe7\xf9\xb7\xb7\xdf-\xce\xdf^\xdd4\xb0\xdf\xdd6\ +_\xe6\xf7\xe7\xb7?\xfe\xf4fqs\xde\xdcq\xddb\ +y>\x9b?,\xbb\xe9\x86Loo\xde|\x90\xfd\x8f\ +\x17o\x1b}3/\xfa\xc1\xcb?\xd5\xcb\xff\xf8\x87\x8b\ +\xc5\xe5\xfd\x93V\xb4\xdf\x11\xda\xdcF\x89\x17\xb3\xbb?\ +\xdf\xcd.\xae\x9a\xae\xbb\xc6d~{}\xbd\x987\x0a\ +2\xbb\xfea\xf6\xd3\xfd\xb3J\xad\xdf\xc2\x8e\xde\xf0\xb9\ +o\xa0l\x08Z\xd8\x1f~\xban\xe4m3\xa6\x0d\x8b\ +\xc6r\xfe\xf6r\xf9\xf9\xfd2\xeb\xb6\xd1\x85\xab\x87\x9f\ +^\xe1\xef_\xac\xe8o//\xef\x17M)\xd0\xfe~\ +,\xa2\xa5d\xc7|qv~\x00kx\x9f5n\xb0\ +&\x5c\xb2>_\x97\xe5\x1f\xff\xf0,\xfc\xdbFQ\xde\ +.\xe6\xad\xadZ\xd3\xa5\x87\x9f\xda\xae\xb9N\xc6\x17\xef\ +\xa9\xed\xdbo\x9a^4U8k\x0c?\xb4\xff\xe2\x06\ +\xc1O\x8d\xc0\xed\x05X^\x87\x8d\xeb\x7f\xff\xe2\x85\xc3\ +&\x83\xf5b\xa7\xb7wWo\xae\x1a\xe5\xe4%\x91T\ +\xd2\xa5\xa8\x1d\x19\x08\xa9\x11\xf8\x97+\x1f\x9a.\xe5\xfb\ +nv\xf7\xb7\xc5\xdd\x1a\xaf\xa6\xc1\xe7\x7fk\xc9\xffx\ +ww\xfb\x03\xfeeq\xb3\x12\xa7\xe1\xbd\xb8i\xb5\xfb\ +\xdd\xc3\xed2\xe3nq\xf9\xbf[S\x03O\xbf\xfe\xbb\ +\xfez\xff\xfe\xaa\x8cO\xc6\xf1\xd5\xa3m\xfc}\xd3\x19\ +\xde\xce\x1e\xbe\xad\x1a\xd7\xfebV\x7fT\xc2&\xe7/\ +g\xad\xdb\xd0\xfc\x9d}}\xa6\xcd\xb7\xa9.\xbfN\x91\ +\x8av\xb2\x97\xb9\xcf\xa4\x7f?{\xb1\xd6\x0b\x1a\xd3r\ +=\xbd{w\xdd\xf4\xf6\xef\x177\xb7\x17\x17M'\xb8\ +\xbb\xfd\xdb\xe2\xd5oa\xf9y\xfc9]Z\xfdWX\ +\xe0\xed\xc3\xefW\xf0L\x1b_\xe7\xee\xe1\xd5M\xe3\xeb\ +<\xf5\x94f\xa0\xbf\xb9oF\xa8\xef\xbex\xd1Z\xa3\ +\xc5\xef\xa0\xc8\xcb\xb3\xbb\xdb\x87\xd9\xc3\xe2w\x18\xf0r\ +Eq\xbd\xfc\x09\x13x\xb9\xea>+~;\xc1\xbe,\ +s\x04\xf0\x95C/\xf4}\xc8\xcb\xa7\x88\xfc\x16\xe0G\ +\x83\xfd\xd7\xd1`\xff\xf5P\xb0\x0d>/\xb0\xa9\x0b\xb6\ +\x1d\x80\xf5\xd7#\xed\xc9\xd7\x87\xda\x13\xfc\xcc\xecI\xf4\ +\xda\x13*z\x08\xf0\xa3\x95\xfc\xebC\x95\x5c\xe2\xf3R\ +\xf2\x18\x80\xfb\xa8~\xc1rP\x97C\x9d\x02\xa4\xa8\xf7\ +o\xf5\x09\x964B\xc5\xda\x8f\xf7:\x06\xe1\xad\xa4\xe3\ +\xfd\x5cC\xe4\x01?\xb76\xd6>~\xae!\xb6\xbe\xcb\ +\xfe\xac\x87\xfd\x5cC\xf4\x0f\xfb\xb9\xed\x97\xd9\xf5\xcep\ +,\xe7\xba\xaf\xbe\xbd[4s\xf3\xdf\xae\xf3b\x02\x7f\ +\x86l\x9d-Q\xe8\xf2\xd2\x9b\xc7\x8c\xff\xbc\xb9zh\ +&\xdf\xef\x9aY\xd8_\xdb)\xe1\xbf\xdd4\x13\xb25\ +\x8a\xff\xa8\xca\xfb\xdd\xec\xe1\xee\xea\xc7\xdfa\x01!R\ +\x99@\x9b\x0a\x92\x01\xca\x84\xb0h\xb6_\xa6A\xc5\xd0\ +\x13_.\xf9\xcc\x1b\x05\x94,\x80\x98\x8e\xab\x9cF\xe9\ +\xa8\x98\x0b\x83\xc72\xe7r\x83\xe6r\x83\xe6\xae\x9dE\ +;\x89ar\x8f\xfel\xaa\x08\x11\xd3\x90\x8a\xbc\x96\x14\ +\x9a\xed\xa9\x22D,\xc3*\xb2\x90\x8b\xf9<\xdfc=\ +\xa0!Dl\x1f\xd6\x90\xfa{\x84\x86TX\xfa\x10\x0b\ +\x1e\xad!P<\x125\x97\x1a\xf2\xfc\x83\xb0\x80\x85\xca\ +\x84\x8b\xa4\x13\xc5bJ/WU\xc5e\xfb\xa32\xac\ +\x0a\xff\xa9\xc9p-\x8c\xc0\x18+\x12\xfa\xe2EP\x91\ +\x10\x13Z\xd1P\x87fg\x8d`b}\xb1\x15\xbb\xda\ +\xa6\xb5Q\x98\xd874b\xdf\xc9\xf5\xd9y\x0f\xeb\xdc\ +P\x89='\xd7\xa7\xd3\x97\x0aZ\xbf\xbe\xe0\x11,\x0a\ +\x22\x09\xe7\x04\x0b\xb0\x0a\xdbd\xda~C3\x9e\xb4\xd7\ +L\xc1'\xa6E\x1d\x94'S\xc9\x82B(\x1d\xe5\x89\ +\x22\x19j\xf4\xac=P\x02QA\xd2\x9e\xd5G\xa28\ +\x93\x13?\xab\x0f\x156u\xb2\xdcC}\xe0D\xb1\x15\ +\x82\x1db+\xa4m\xda7\xb6B\x88?\xeb\x98\xe3y\ +\x04\x0dQL\xafcNH\x0aMPJ@B\xa3\x12\ +\xee\x05Q\xfdS\x18s\x98HO\xa4\x22\xe4\xc3*2\ +[\xb4i\x805n\xb2\xce\xd3\xab\x08i\xbf\x8a\xf8)\ +\x8c\x08\x14\x8e0\x8f\x09\x14!0\x91\x89AA\x08\x9a\ +L\x85\x0b1\xa8\xad+\x0cd\x84<+L\x14Ie\ +$\xaa\x0a\xe3\x85\x1d\x22\xe2Ya\xac\xb8\x03Z\xfa\x93\ +\xc2pIW\x10\xd0\xdd\x15\x86I?<\xea0\x9dl\ +\xd4a:\xe1\xa83,1\xf0!]\x04\x8a\x05\x8b2\ +\xd9`_a\xd0S\x85\xaa\x19N\xef\xc23p\x7f_\ +9\x86\x83\x96\x99\xd9:\xeb^B\xd0\xc4\x16S\x9eh\ +13\xf0\x5cLeB\x05$\x18\x9a|j\x07c\x12\ +\x22\x96\x96\xc8\x8b\x06\xb2z\xed8,\xc5\xdc\x8d\xf3\xb9\ +\xe3x\x11#r[\xe5\x5cn\xd0\x5cn\xd0\xdc-\xfb\ +\x96\xa6b\xb6\xe0\x1e\xd5y\x01\x8d^\xe7\xc5\xf1\x08X\ +\x86\x9a\x02\xb5\x8en\xa6\xae\xec\x8e\xa7\x19\xb5Y\xa1i\ +,\x13D-\x8a\xc4\x93)aI\x16\xcf\xea\xbc \x16\ +&\xe3\x90g\xe7E\xbdppf>\xfb.(E\x92\ +\x95qEC\x95f\x0f\xdf\x054>lg\xc0`w\ +;\x933\xb7\xcd)\xf5\x0e\x93!\x9e]\x0cO\xc5\x0b\ +$%\x01\xdb\x8b\x8d:Z\x9f-\x03\x87\x0d6\x0a\xc2\ +\xe8[m\xda\xfc\x82\xe6\xbb\x9aK\xb0\xd8(\x22Q\x1d\ +9\xf4\xc5\x80\xc8\xbb\x97A\xbb\x9b\xe4\xd7\x19=\xacO\ +j\x97@\xa3\xd7.\xd9x7O\x0b\x99\xb3`ku\ +\xb4\x80\xa2\xa1(\x9c\xa6{\xc4\xd6\xd4O\x14[\xd3\xcdj6h.\xbb4u\x9e#`\ +\x11\xfbD\xde\x12\x07\xf4\xe5\xf5u\xb3ti\xa3I\x07\ +&\xc5\xcb\xa9\xf9\xde|apF\x9c\xba\xeb\x04\xa7u\ +\xc7\xe0\xd9U\xa3\xe8\xfaq\xfa\xec\xe6Q\xec\xd8\xf6\x9b\ +\xd0a\x985\xe3\xcao\xfe\xe1\x1f\xfe\xe1Q\xceZQ\ +\x0ck\xdd\x9f\xde\x09\xce|\xfe\xc18C\x05\xb4\x91\xb2\ +\x9f3\xf5p\xfe\xe1\xdb\xab\x87\xc5\xe6\xc4\xa9\x0b\xe8#\ +\xdfO\x03@M\xf3>\x005-\x07\xc4<\x08>M\ +\xc7\x13\xc3W\xfb\xda\x7f\xff\xe5\xeb\x7f\xfd\xea\x1b\xfaf\ +7\x88*\x9e\x15\xe7.\xfe\xb5Q\xaal\xdd\xda\xf5*\ +\xdc\x9f\xfe\xf4/\x7f\x04x\xb1\x86\x03m@T\x85\xec\ +e\xf3\xe5\x97\xef\xb3\x91\x8a\xc8\x11\x03\xdd+\xdc\xf2\x9b\ +\xbe\x19\x22'\xee\x01iJa\xe1\x8a+\x02\x15\x16\xf1\ +\xfa\x08\xc3\x8a\xb2\xda3\xc0)E\xf9qf3^\x0c\ +\x84-r\xf0>rhG\x04^\xab}\x98\xae\xd5>\ +L\x8fU{\xdcR{=B\xed\xbdPr\xad\xbc\xb6\ +?\x8fUw\xdaRw\xdf\xa7\xee\xd6\xa9\xbb\xd4\xbaG\ +\x01\x00\xaa\x95\xb7\xd5\xef\xb3\xf3\xea\xbb\x1c^{\xff\xa6\ +\xcfc\x91]<\x96\xea\x8b\x02U\xa7\x02\xa90\xc8\xb3\ +\x83\x89\x9cE5\xf4HU\x8e-U\xf6#W9W\ +\x96\xe7\x0f\x8d\x1f\xd6,\xd0\xbe\xf9\xb7\xd7\xff\xa7\xa9\xe0\ +\x92f\xf1\x7f\xdf]\xdd-.\xeaz\xfe\xfd\x97\xef?\ +\x19\xd3\xa6|X[\x13\xbe\xbe\x22\xfcY\xda\xb5J\xac\ +\xc6\xb4?\x5c\xbdz\xfb\xe6\xf2\x7f..7\xb0ZV\ +\xe1\x9b\xabZ\xf27\x0d\xe1\xea\x9e\xf3\xa7\x9bZ\xc9\xce\ +\xd7\xb869\xbf9\xa5QEb\x87\xcf\xdb\xaaVA\ +\xe8s4\xab\xb5\xfa\xf2\xf9\xd9\xd5Zy;\xada\x1d\ +_\xfd\xad\xb5\x8f#\xfbjG\x8e\x9b\x13C\xf6\xd5^\ +0\xf6\xe9\xc0S\x97\x12\x04\x0e\xdei\x03(A\xecu\ +u\xc7\x14\xa3 a\xd6\x8eP\x89>\xaeh\xf9y\x8a\ +Vg:\xfd\xb3 \xe7}\x94\xce\x8bc\xba\xd4\x9e\xe3\ +%\x02k\xf7\xd9 ir\x18\x8a\x08bh_\x1c\xa3\ +\xb3\xee\xb1\x88\x83\xa0-\xa6\xed\xf2\xc7\x8f\xd8\xc6\x9a\xee\ +\x1f\xb5\x8d\xab\xcfs\xfc6^\xe7\x8b\x9aa\xcf\xde\x0d\ +YI\x95\xae\x8f\xc3X@\x14TW\x91\x9d\x0d\x9a\xcb\ +\x0d\x9a\xc6\x11\x8a\x92\x16\xa8<\xbc\xecK%=&S\ +*\xa9\xc9\xb1\x8c\xe3\xc3\x04J\x82\xba\xd3\xc4\x8b)\x90\ +\xeb\x04\xa1\x84\x07\xf8\xcb\xe1V8\xb9%\x0eS?\x81\ +%n}\xac\xf5\x92z\xcb\x97\xfc\x04g\xeda\x8a#\ +'\xee\x95\x13\xf7\xcc\xdd\xdb\xbc\xc6\xfd<\xa2\xf9\x0b\xb3\ +\xe8oi\x97}\xba=gQF\xaa^O\xed\xee\xf5\ +b} \x8b\x05\xc3\xf5\xf4\xfa\xea\x22'\xd0\xd7\x8f\xd6\ +\x08.v\xeaF8\xf9$\xd34\xe4\x18\x8b0<\x9c\ +\xf8iQ[\x066\x89&Y\xd8\xd0\x81p\x82\x05\x8d\ +\x9b$/\xf7\x9b\xaf\x9e:,`\x1a~\xb8\xf8\xd5\x01\ +\x88f\xd8\x1f\x19<\x18\xaf\xa8=2\xa6\x12\xd4\x07\xca\ +P\x00\x019\xeb8*\xc5\x15P\xea\x03\xe5u\x9a\xcb\ +\x0d\x9aF\x0c\x82\xe2\x81\xa4\x03\x8a\x81K\x85\xc0B\x89\ +\x86\xd0\xaa\xc7\x14\xb5\xa8'\xc7\x0e\x03\xe6\xc9cB\xf4\ +y6\xfep\xe4\x88\x22?\xedN}\xdaP7\xfdB\ +B\xdd\xf4Y\x87\xba\xe93\x0eu\xd3\x09C\xdd\xa7\xef\ +\xfdN'\xeb\xfdS\x8cb\x1c\x946\x99Z\x09\xb66\ +}b\x83:\x91\xeb1\xec\xfa\x14\xb3d\xfb\x89\xc94\ +\x0e\xb0\xf0\xcd\xce\xcb\x87\xc5\xddN\xfb\x01W\xa4L\x82\ +/\x9a\xfb\x16\x7f\x9e\xbd\xbb\xbf\xbf\x9a\xdd\xfc\xf3\xf5\xbb\ +\xf6\xfe!\x0e\xed\x04\xe6\xe2\xab\xe6P\x8f\xd9\xc3\xd3)\ +D\x9c\xa2(\x9d\xa5\x00\xebL\x99\x84W\x8b\x02V%\ +\x9f\xb4=\x04\xc4\x8e\xd1\x1eT\x04\xda\x0f.\xa6\xb6\xef\ +\x90{\xe4\x89\x81!r\xfff\xce\xacs\x16.\x12n\ +T7\x83\x89\x17\xc8\x08\xaf\xc3\x0b\x16SO\xcb:\xc0\ +P\x16$V\xb2\x83\x82\x0a\x838\x1a\x97\x94\xb4hA\ +|.s\x8aE@\xdc$\xaa\xfd*\xc4a\x18\xf9\x5c\ +\xf9)r\x09\x93Lz\x92\xb0\x12\x1d\xbc\xa4\x81)c\ +x\xcbE\xc4\xf6\xcdn\x9b8\xd4\xe0\x95\x97T\xc9:\ +\xa88\x171\xb2\xe8\x0c9^\xda\xdf\x18U.(,\ +\xe68\xbcf\x9a\x99\xf9\xd9NF\xfbI\x9c`\x16\x17\ +\x0f\xe3\x09c\x81\x0ce\x7fy0BD\xe0\x83\x081\ +\xf1\xe1\x08e\x09I\xb0:\xa7\x86\xce,\xb5\xa0)@\ +G\xa9a\x08\x94\x09\x17~\x84\x85\x8aj\xf2r\xa7\x0a\ +\x14\xe3\x0c\xf2\xc9\x14-\x0b1:N,\x8b)X\xe6\ +(td\x18\x1d\x94C\xd1!-\x1e\x86V\xf5\x87\xb3\ +\x90\x05V\xfd\xa94\x9d\xb5\xf0\x5cP\x9dx\x87\xe81\ +\x96\x5c~&p8\x0a\xac\xca\xc3\x91\xe4\xccOEG\ +\xaa\x86@\xd5\x8c\xaa-K\xc5\xe0@\xb4Gm\xc1D\ +\x1e\x85\x0e\x8e\xd0\x91O\xcb\xc6$\x1a\x89\xc6D\xa0X\ +\xfb\xd1\x09S\x01\x0b\x03\x1a\x83\x90\xe4)m\x0cS\x85\ +F\x0a30Q\x1dW\xb4\x04\x03!Y\xed?@\x85\ +\x11I\x86W\x1d;\x0a\x85-\xc1\xa1\xe5\x06JQe\ +\xf5\xc9\x94d\x14\x1e\xbe\x83\xc6\xc0\xc1V\xc5W\x9d\xbe\ +\xc2\x82$\x05\x12\xb5\xc2\x92\xb9\xa4\x09\xad\xdb\x83\xa98\ +\x85\xb1\x1c4,M\xa6\xba\xeau\xab^\xb5\xca\xb5Q\ +\x18\xe9\xa0\xcd\x11\xc6C1R\xc9\x02\x86,\x1d\xcb\x9b\ +\xc5]\xac3\xe1B\x93b\x96Us*\xcdv\x8c\xb2\ +8\x9aj\xe4bJ\x8f0!\x03br;\xb5a0\ +\xb4\xf4F\x9f\xb0(\xb0\xf28\x9c\x06m\xb3\x0b\xd1\xbe\ +8\x1d{d9\xd2\x88\xd7\x8b\x02\xca\x98\x11\xea\x97o\ +\x83IYF\xd8\xe0_\xf8\x18N\xca\xe3\xc7\xf0}\xf6\ +2s\xdf^f\xdd}\x03\xd4\xdc\xe7\x17\x17\xbe\xeb\xc6\ +9\xd1\x18\xb7\x97\x19\xc7\x9f\xa0\xd1\x07\x07\xcai\xce\x02\ +`\xb4\x93\xedo\xc68\x1d\x1cp*8\xe8tp\xc8\ +\xe1;\xdd]\x88>\xd8\x1f\x5cHv\xef\x0f\xaf\xa5I\ +\xb6\xff\x86\xc0\x9c\xe7|\x86{o\x08T\x96\x18f>\ +\xbfh:)\xeey\xd2\x84\x0b\xd9\xe1p\x920~\x10\ +N\x12\xe6\xe3\x1c\x950^7\x8b\x90\xa6\x83\xe7\x8b\x8d\ +:\xea\x0ee`\x9b\x86\x9b,\x92t\xbe\xf8\xf0Y\xa4\ +\xc3'\x9c\x0f\x1f\x87z\xf4E\xc5\x99}\xea\xef \xa3\ +\xd5\x7f\xfa\xb8\xf4g\x82$\x935u\x87\x02\x14\x9a5\ +\x90\x00\x051\xa0\x1b\xe4\x89\x02\xc6\x0a\xfe\xa4\xed\x95\xe6\ +\xc0\xe7\xaa\xeet\x8c\xe7\xaaP\x14\xc0\x98d\xcb\x83U\ +w\xe9>X\xed\x9b\x8a\x9b\x15\x22\x11\xad\x8f\x01\x95\x0a\ +a\x88\xd5\x85(\xc6\x059\x14\xb5\xa2\x97V\xc4Bl\ +\x87\x87\x0a\x1c\xc5\xc3%&SX\xb1\xf1\x1c\x11\xc1\x22\ +\xb1\xe1gt\x06\x87G&\xac\x08\xb9V\x93\x87h\xc5\ +1\xc4\xab]\x84\xc2\x86\x12\xa4V\xa37\xbe\xc2#~\ +\x06@\xe4\x94\x80\x84.\xf1\xd0|\x06Dr\xa9\x1fN\ +\xd5\xc5\xb0G9\xea\x10\xeb%\xad\xa5\xd9\x0d\x0e\x9d\xc0\ +(\x04h\x18\x01\xa0C\x110-\x22\x81HU%\x9c\ +K\x068V\x04\x88\x8bk\x98\xd4\x1e\xe2Y\xd0\x89d\ +\x8c\x5c0,W\xea\xcf$\xd7p\xcb\xa6\x8fkV\x8e\ +\xd1\xe2\xf7\xac\xf0\xb9k\xac\x9c\xd5s\xd3\xac\x1e\xeb\xf2\ +\xa8\xb1\xf3\x9a=\xaf\xd9;,0E\x0eN\xca\xe5\x02\ +S(\x8a\x1e\xea\xfb`\xb0^W&\xb6\xbeU.\xf2\ +\xcdx\xc9\x91\xb0\x88\x10r\x05 \xa2D\xa0\xf3'\x06\ +\xc3\xa0\x8d33;\xf8\xf1\x8e\x17\xf2$\xae=\x81\xc8\ +\x8au|\x03\xe5\xe2!\xa8\x5cc\xd2\xc4\x85\xc9\x91V\ +>\xd3\xdb\xbb\xc5\xec\xe2/\x8b\x87oo\xdb\xda/.\ +\xdb\x92w\xc2\x0aJ\x18\x82\x18\xb7HEAC\x8e\xe6\ +k\x116\x0c\xf3Q\xfd\x87N:RZq\x05\xef\x0c\ +\x0c\x1e%9\x99+l(\x85\x5c#\xaa\xf9p)\xae\ +\xfd\x90\x8d\x90\x96\xf2\x84\xd6\xc2\xa0\x9eif\x85E\x14\ +\xeav/\xa7\x02\x04\x81\xb5\xcf\xac\xd3\xcc\xbb4C\xee\ +*\x14\x0d4\x0a\x9d`qs7oc\x00T,\xc3\ +HV\x01\x81\x12\xe1\x91\xd1d\xb3\x16\xf0@\x9bhI\ +\xc1\x84\x941\xbd\x8c|\x10B\x91\xfc\xb5\x97u\x84\xa3\ + \x1b\xe9|\x8c\xefeZ\x98M\xa5\xd3\xcb\xb8\xb8\x90\ +q\x9c\xa6\xa7\xf1.ve|O\x0b+A\x96V{\ +\xda\x14\xad\x98\x85D=\x86p\x9dh\xbeF4\xdc\xd7\ +H\xc3\x0c\xbc\xf5\xc4\x95\x90\xc4\xa5\xfd\x1a\xe4\xc2\x22\x13\ +(\x82`\x808a\xa0\xa2\x9c\xa2\x13\x85\x02\xaa\x9a:\ +\xaa\xa3\xe1I;ZA\xd5\xd4\xe88v \x85t\xcd\ +\xabK\xb0\xe0\xce|N\x8a\x0e\xc1\xf5~Wb\xd7#\ +\x8dT8h\xbbM\xe0H\xcfS)s\xf0\x89\xd9\x85\ +\xb7i\xdf\x98v&\x1d\xe9\x81\x07n\xb2\x1e\xf1\xc4\x8c\ +\x89}Pb]\xd8\xde\xcf\x08)\xf0dGB\x93\xe0\ +\xe1\x12\x9b\xb9\x0cI\x0c\x80&\xb1\xa7\xc4fn\xc3\x12\ +#\xcero\x89\xcd<\xc6HlV%^ck\xb1\ +\xc7I\xc4\x97s\xbc\xa4\xfd\x1f\xe3i\xf8\xe2\xf5\xfe\xc7\ +\xa42\x06W\xe6\xef\xc3\x01{\x1cd:\xa7\x99n4\ +\xe6\x188e\x97\xe3\xd4/.\xe6{+\x90\xec\xd4e\ +.._\xef\xaf@\xe2c$f\x1c\x92\xd8\x81\x1d`\ +o\x89\x99\x87%~}\xa9\x0b\x80\xbd%f\x1d!\xb1\ +\x88\x9dd\xe9\x84\x89\xc4\x89\xcc\xa2\x89\xc2\x18\x89a\xd8\ +,\x06.x\xb1\xb7\xc4`\xc3\x12s\xf8\xc5\xc6\x03\x94\ +a\x89!N}\xc0\xac\x99Y\xdf\x9ee;\xca#8\ +NSR\x9eX\xc9`\x14\xc5\xf6\xdc\xff\xa9\x17\x0f\x94\ +\xb4\xf6\x07\x16U\xc3\xe0\xd6\xa5\x22*A\x868\x99Z\ +\x16\xcb0\xb4\x97\x1f\xf0\xe4\xdf\xce.\xbaG\xd0:\x00\ +kg\x03\x12p\xd1\x80\x1a\xdaY'\xb9|\x9f\xe4n\ +I\xa1\x9a\x12#v\x94\xf6;o}*\x89P\x1f^\ +\xd7\x90rD\x9d%J\xdd\x1b\xb4K8\xf5\xe8\x95\x17\ +\xeb\xad\xbcR\x9d\xaab\x81\x94\xcc\xc7\xda\xaer\x100\ +S\xaa\x1f\xae\x05#\x91\xb9\xfbT\x19\xc0Cw\x91\xab\ +\x7f.7\xbc\x83\xd0\x8b\x86CZ\xb4Z\xc7\x01&J\ +/?&R&\xc7\xd8y\x07E\x90\x12\x98&P\x0c\ +\x93U\xe2e?.{\xb7\x0dYD\xac\xb5\x8d\x03d\ +~L\x9c\x1c>u\x9c\xb8\xa4!H\x85)\x0a\xb1\xa6\ +\xf8G\x85\x89~\x85\xa9\xe3\xb8\xf5\xfat\xf5\x91\x9cj\ +\xe1V\xd6\xba\x03\xb4>\xfa\xd9\xb8\xbaZ\xea\x91\xc8(\ +\xfe\xf1-\xae\x09\xf7J$uY\xb8Q\x01\x0eG\xea\ +F\xc2\x12\xd9\xf1Q\xac\x0d\x92VP(N\x91\xa1G\ +\xd1\x9f\x09\x1f\xdd\x88\x9aK\xaf\xf0\x01\x9d\x88M\x814\ +w\xad\xd1S(\x1a`\xe2U\x07\xb3$\x0bs]\xe8\ +\x15Q\x8cY\xe2\x93\x1aF)p\x9f\xf3\x8b\xac\xb3B\ +\x89\xac$\x9b\xad\xafP\x12q7\xaa2S\x01\xcaP\ +\xf9x\x1211\x1e\xc7>\x91\x11\x1b\xe5\x04\xeb\xca\x15\ +\xcdB\xa4\x01\xde=C0\x9d\x09k\xcbW\x9a'\x14\ +\xc4\x0aQ\x84\xe6GE\x81\x8f\x84\x023Q\x8bBI\ +TH\xe9\xa0\x81\xa8\xc5\xcd<*\x1aX $\xa1z\ +\x90\x8c\x85;4\xb4\xb2\xe0\x8c\xa4G\x06\x83\x89\xbd\x17\ +\x0c\xe1z\x04\x97AIQR\xac\xa6\x0b\xb4\x04\x83\xd6\ +\x11\xa4!\xaa:<\x8c\xe3\xc7\xb3C\xe4\x01\xfb\xf4W\ +(\x02\x04V-\x95I\x017\x94\xfaP\xa3\xd2TW\ +\x1fJ\x1a\x11\xca\x91O\xa8\xa2L\xe8=\xe8\x1a\xf2\x08\ +\x0b\xce\x0a\x82@\x84N\xa0\x04\x05\x98\xf9rS\x92\x89\ +KZ\xfb5\xc2\x98\xc9'\x98XD\x8cxbTH\ +9\xc1\x86\xdc\x8fv\xaeg\x5c@\xd0]\xeb3z)\ +\xe9)\x10\xf5\x99$\x17U$\xac\xcf\xfa\x15\x8b&e\ +\xd6w1q\x11\x177Z\x02<\xbf\xbez\xfb\xef\x8f\ +\xaf\x81\x7f\xfa\xbe=\x88\xffD\xc5HY\xdf!\xbf\xfe\ +\xbe\xf7W\xef\xee\xae\x7f\xf7\xdbu\x94\x19\x99_\xfe\xbe\ +\xbdZ\xa3\x00\x8f\xef~_\xbd^\x7f\xfd=\xf0V$\ +\x15\x00B\x9e.\xb4\xed\xd9\xb4\xfc\xab\xbb\xdbw7\x17\ +\xdd\xcc\xffs{u\xb3\x9e\xfb\xddU\xb3\xf4\xed\xfa\xaa\ +\xf9\xdf\xab\xe7\xdb/f\xf7\xdf\xce\xee\xeef?=\x96\ +VsW1\x88WRP\x1f\xb3k\x0d\xbb/\xc3\x9f\ +bHq6\xd1\x09yIa\xd7\xb3/\x9b\xdc\x94\x92\ +\xaen\xcf\xb9x6%\xd0\xd2\xfc\x99O\x18K`\xa0\ +[\x93\x89T\xd2\x81l\xc2Y4\xc8\x8dZ\x06DP\ +\xd2]b\x22^42\x93\xdbL)\xa1\xa9\x13\x8dB\ +D\x86\x8fy\x06I>\xb1(\xee)\x90g_w\xb3\ +\xd3J\x10\x81`\xcb\xb6f#@\x09g\x8f6\x13\x0b\ +\xabx\x9b)\x05)\xa8\xcdD/\x0cM\xaa\x99-_\ +T*h\x19]\xdaV^\x89\x82\x18\xc8]\x16(R\ +\xc2\xd8\xb8\x16\xd6\xcd\xac\x15\xfb\xba\x9b]\xc5\xf8r\x95\ +m\xc8\xf2,1\xad\xca\x92T\xc1.4\xa8V\x14\xc8\ +d\x1dF4)dN\xf4\x0c96\x99.E\xd2\x91\ +\x9f\x1aG\xf2\x83\xed\xf8\xf7\xb3\xb5\xf6\x15.\x12\x08(\ +K\xc6\x1e\x85\xd3!\x9f\xb3\xb5\xcd\xa4\x02\x12\xe8\x13\xd1\ +\x92\xe8-[\xf3\x82\x1e\x81\x13\x85\xe2\xe1\xa4\xb6\xaa\x17\ +\x156\xe7\x9c\xa8\x16\xcd\xb0hE\xc8\x92\x94\x0d\xa9a\ +\x09f\x0eZe\xb6w-\x9b\x17\x12\x80\x96p\x11d\ +Q'\xc0N\xf6\x97\x8f\xd9(n\xcf,\xb0\xcd\xf4\x82\ +\xa0\xfaT\x94g\x9bG\x85R \xde\xabVz\x11\x12\ +\xa7G\x01\x22\xb5\xcd\xc4\x02\xae\xf1,)\x7f\x18\x95\xbf\ +w\xc2u\xad\x05`\x5cy>\xddu\xc47\xb7\x17\x8b\ +v-qcJ\xe6\xf7\xf3\xe5\xe7\xfe\xf1\xbfUd\xef\ +\xc9\x92\x9c\xdc\xccW\x034\xde\xccC\x914\x04\xb5\x09\ +\x14\x11\xc8\xa0lm\xbb\xb3\x81\xa6L\xa6O\xc6\xdf&\ +\xd3\xcc\x82\x82\xe2\x93Xzj\xa0\xb1\x8b\x99w/\xca\ +\xcc\x8e\xef\x9by\xac\xeb\xd5\x22\x0a\x08\x05\xe4\xc70\xf3\ +\xac\xd5\xcc\xef\xd8\xbe\x9b\xda\xe1k\x864\xbd0a\xe0\ +\xba\x1d\x05/j\x88\xd4\xb5\xa3\x88^<\x11\xb8kG\ +\x91\xb4\xa8\xaa\xd1{\x06\x80\xb9\xa8Q\xc8\x9a\xb1`/\ +\x22\x12V\x0d\xe9*\x13S\x8c\xd7\x0ci\xcd\xee\x1a\xd2\ +\x9a\xbdn\xdb\x98K\x0a\xbcg\x05)KDp\xae\x1b\ +R\x93\xe2\xaa\xc4\xbanH\x0d\x8a\x03Kj\x97\x85\xb6\ +\xd5\x8dL\xad\x85u3\xbb\x86\xb4f\xaf\x1bRm\xab\ +\x1bn\xda\xb5\xa4\x86\x05\x02\xdc\xb5\x0b\x8ee\x81\x08\x00\ +\x5c\x07\xd2\xad\x84\x92\x06v-ix\x81 I\xaf\x96\ +\xb46\xe4\x9a!\xad\xd9\xebv4\xa1d\x90ht\xed\ +hH1fe\xadv\xd4\xb3\xb8\x09\xba\xad\x1b,\x97\ +\x92J\xae\x1d3\xeaT\x14\x15=\xab\x19]f\x8az\ +\xb2\xac\x9bQ$*\xa8\xce\xde5\xa3\x8f\xd9\x00H]\ +3\x8a\x98\xc5\x12\xc2\xbav\x14QJx\x8a\xbcgG\ +\x11\x0a @\xac\xd9Q\xe0b\x86h\xd5\x90VT\xd6\ +\xec\xe8\xae\xbeS~~\xbe\xd3\xcfe\xe5\xf3\xa3Zy\ +\xc4\xe2d\xc1\xfa\xf3\x9a\xf9Op%;\x11\xd9\xff\xf7\ +K\xb9\x8d\xf2\x98K\xb9\xc7\x9f\xaa\x99O[K\xd3I\ +'\xc8\x5c\x00\x80&\x04%\xdc\xa8\x95t\x85\xae\x16\xec\ +\xbc\xf6w\x0a\x85P\xa2>x\x8cg\x81\x9f\x84\xe9y\ +#vP\xff\xfa\x0d\xa7\xaf\x90\xbf\xdax\xca\xdc\xf7Z\ +\xe7\x90~V\xac\x7f\xfc\x12\xbf|\x9fUaU\xee\xe7\ +g\xfd\xfc\xe0O\xa9\x10\x1b\xfc\x0cS\xfa\xf9\xc5\x16~\ +\x10_\x02l\xf0s\xf5~~\x09\xdb\xf8\xf9\x1f7\xf8\ +=\x9a\xdc\xaa4\xfb\xac\x16\x03\xea\xd9\x88\x09\xb2\xc7y\ +#\x17\x8b\xc5\xd0\x81\x00]\xd6\xb6\xc7.wZ\xc4\xe2\ +bc\xe5\xc4\x88\xf5q\x06\x87\xecK5:\xee\xf9\x08\ +]\xd62\xe2\xf8\x95\xd1p\xa4\xf6H\x9c\xbe\xbb\xc4\xc6\ +\x8b\xdcC\xe2\xcc\x9fQb\x91<@\x01Dq\x10\x8e\ +\xe1Wm\xf7\xb0\xe6qo\xf1\x86\xdf\x8f\xda\x99L\xce\ +\xb2}g\xb2I\xbb1\x99\x8a\xb5\x1f\xef\xdb\x9e\x8c\x14\ +\xcd%\x93Cw'C\xbd\xfb\xa0\xad\xc9u\x1b#\x14\ +$P\xab\x11g.\xa8\x09\xack\xcfp\x1d\xa1z>\ +\x95fp}\x0f(\xb7\x9f\xa7\x01\x950St\x82X\ +\xdc&R2I\xc8\xc6\x9c,\xca1\xbc\x97\xc7\x0f?\ +\x03P\xa2\x10\x12*\xd6G&Z\xd4\xa2\x0b\x8feI\ +b\x88X\xdbe\xc0I\xf6)\xc0\x03\xa3\xe1\xf9\x05+\ +\x8f\xc7 :lx\xb0\xf2H\xa1\xf0.<\x89m\xad\ +\x1d\xac\xbb\xd4\xa0\xbev\xba\xbd\xee\xa1$;l\x96&\ +\x98\xc0(\xd1mPt\x01\xf8e\x8a.#D\x1f\x9c\ +s\xd5m:\x89%@\xa13]U/\xa0\xa1(u\ +\x02\x96\x05T\x03\xf2y\xde\xa0\x5c\x8c\x81\x86gcE\ +1Sr\xe2\x85\x15\x938\x17\xd3\x98L\xa3\x801\x09\ +k\xfb\x0b\x0b\xb9\x13\xa2L\xa6\x04\x85H\x9c\xac\xf9\xca\ +%\xd3\x8c\xf3\xf0I\x1b\xb1\xd3p\xd7\x918\x10D.\ +\xea\x81\xa4uo\xa1\x14e$\xad\x93X\xec\x92\xcc\xdf\ +'\x99wI\x06\x80\xb4\xa2\xe0\x19\x96\x8f\xd3[EH\ +\xf4\xc9\xd4\xb8\xb4\xe0\x19N\xa6L%\x1d\x10u\x14b\ +'5\xc5i\x85\x8dA;+\x97\xa2\x18\x18v\xb6\x11\ +2\x15P\x0c\xab\xbdN\xb8x&\x90\x1dh\x8b\xbd\xa8\ +\x98\x99\xf9q\xec\xb1\xed\xb2\xb1]\x0eV*T\xeb\xe8\ +\x14Z\x81\xb0\xaaR\x8e\xc5]\x89\xean\xd5.\xc5\xbc\ +K1\x1cD0\x85@i\x90\x22\xc3TX\x9e\xad\x9e\ +\x04\x98!\x13.\x9c@\x086A/\x0c\x09\xd6\x5cV\ +/\x96L\xe3:\xa5\x0d\x1bu\x8b<\xd8\xa8\xb7pd\ +pU\xb1\xb4\xc2\xceH\xdc\x89\x92A\x11\xf2\xea\x0cU\ +\x9aA\x15CwR\x89\xc7n\x08\xee\x84\xe1\x13+\xaa\ +J)6\x99JIAs\xc0Q:6l\xfd\x15\xf1\ +\x97\xa3c\xccG\xd61\x1a\xd61;X\xc7(J\x0a\ +%\xd55Jb\x85HS\xde\x8b\xc4rx5c\x8e\ +\xc5\xc8\x04\xe4@\x1d\xc3\x12b\xe4\xca\xc7\xd21\x18\xd6\ +1\xe0_\x07\xc7\x8a\x98\xf0.\x83\xe3\xaf\x96\xbf\x17?\ +\x1ck\xf9\x7f\xf9\xbd\x92c\x97^\xf9\xab\xe5\xef\xd31\ +\xd6SX\xfecz\x05G\xf2T\xc6\xe8\x18\x8d\xf4.\ +~\xf9N>\xed\xe4\xe4\xff:\xfd\xde\xda\x17IFL\ +\xbf\x07\xfa\xe2p\xe8e|\x94g\x8c\xfe\xe0\x88\xf0\xcd\ +\xe7-:\xc6IE\x1f\x1f\x86\x1d\x1f\x14\x1e\x83\x8e\x8e\ +\x8a\xe6\x9e\x1e\x9d\xf1O\x14F\xc13\xe2I\xc9/_\ +y O\x81\xce\xcfi.8$N\x19\xe3w-N\ +\xe1\xdc\xd9V\x07Q\x1cD\xb8\xcadU *\x0e\x80\ +\xa6c\x04\xb2a\x81\x92\x0f\x15\x88\xb2h0j\xe7\xdd\ +\xc6Y \x08\xbd6\x92[1[?!\x0a\xad\xa0\x90\ +\xd1\x18\xb9v\x18\xcd\xc3\x0e\x95+l\xe9\xe8zV\xe5\ +\x83\x22\x18\xa8TMNafJ\xc4G\xb9*\xcd(\ +\xb9h\x84E\xfeT;\x15|\x9c\xa7G\xc1E\x11C\ +\xad\xbbu\x89\x04\x11\xb3\xba\xafV\xc8\x05\xb53\x89\x84\ +\xa2\x16.8|\xf2\x06QF\xda\xd3\xfb\xff\x1d\xc0\x01\ +'S\xa2\x92\x14\x99\xb6\xfc\x8a\x9e\x181bq_p\ +\xfc\xfa\x9chO\xc4\xec\x84\xa10)\x9a\xec\x150\x91\ +\x82\x99a^\xb5\x8c:$\xf3\x0d\x92y\x87d\xf8%\ +\x14f@*\x13(\xda\xa8S\xd1 \x01\xf5\x89\x14q\ +\x0a\xf5\x98 Iaso\xb0\xc3\xc8Bi\xce\xa3\xb0\ +\x93a\xec\x98\x0f\xc4\xceKZt\xb0\xe3(\x22l\xdc\ +\x85\xae*\xda\xfa\xe5y\xbd<\xd4/\x059Z@\xa0\ +\xa0\x01\x9bf\x03\x9f\x00'!O\xb8\xb0\x87\xa1\xb5!\ +1(\x98,\x18\xcb\xd7\x9d \xaa\xe68\xb5\xa3a\xbb\ +F\xf6iE.\xba\x07\xb9\xc8\xa83\xb5\x83a\xe7\xa8\ +\xc4x\xcd\x89,\x8a\xeeI]\xd5\x09\x85\xc8\xba\xd8}\ +\x9df\xde\xa5\x19\xd4!\xcaTamu\xc8\x15(1\ +&X@\xdd\x89\xad\xf9\x16L\xc0m\x97\xc3\xa5M\x83\ +\x9cL)\x8a\x90\x1b\xe0\x18\x15\xa2\x1d\xfcM\x8e_-\ +\xd7\x07\xb1\xb3],\xd7\xaf\x0f@z\xf1\x93]\x1e\x80\ +\xfc\x8a_/~\xf4\x09/\x1d\x18a\xd7\x09v\x09\xc8\ +\xff\xaa\x17}z\x811\xe2\xa1\xcfg\x88\x9f\x1e\x1b?\ +\xfb\x84\x97K\x9c\xde\xadB9\xce3\xd7\xfaF\xa9\xee\ +K\xa3\x1e\x8d\xd6\xb7\x8b\xab7\xdf6\xf4X4\x83L\ +Wp>\xee\xc9\xca\xc4\xe7-t\xcb\xdd\x9f-]\x02\ +'\x03\xae\xea\xb6\xa4\x13\xc54\x05\xdfZ\x95\x8dWT\ +\xf5\xbfd\x8a\xe4\x83/\xa8\xc2\xc2\xe2\xa6\xabh\xd1V\ +\xa1\xeb\x1b\xaaz\xa4\xb7\xc0\xf7\xa4G\xf5\x14\xeaJ\x0f\ +\x1e\xe9(\x86\xeb\xe2\x93\x88\x07u\xc5G\x22N<\x9a\ +\xf8\x16\xdc\xf3~.&L\x94\xf1\xd2+\xf3\x91\xea\xaa\ +\xac=M\x05\x06\xc0\xaa\xe3+\xcbiG\xaa,g\xf4\ +\x00+\xb9_E\xd7\x0d\xd5\x90\xf5\xc4`\xc3U\xb0h\ +\x8aE\x8c\xd2|1]\xd9P\xa3e\x1c\xc4\x0bi\xec\ +\xea\x04\xd7\xa3\x0f\x88R\xbf\xc1o\x9e\xc7\x80\xa9\x81G\ +a\xad\xd3j\xb6,JBO\x1b/I\xb9\x00F\xdd\ +\x18\x5c\xefy\x1e\x17\xc8\xb4p\xf6\xbc\xc17F\xeeN\ +\xea\xd9\x9c\x84p\xf8N\xad\xcaw\xf6\xea\xbb\xab\x8b\x7f\ +o6\x9d?\xfc\xb5\xb9\xb8gE\x879\x14\x1d\xc1c\ +P\xac?-?;\xed\xb1\x1c\x1eyB&Ss\xa9\ +\x0f\x87\xcc\xa5\x86\x0f8\x8a;s\xd4\xd0|\xd6\xa0|\ +\xbdz\xf0\x13\xa1D\xf9\xa0\xf2P\xa2\xf5\x03@\xd6\xa6\ +\xa1S\xa2{\x14\x88\x12\xa3\x9f5c\x9b\x86X\x17D\ +\x92^\xfe\xb4E\x83\xe4\xa2M\x83\xfc\xd9E\x01\x00\xfb\ +\xcb\xa0\xfe2\x14\xda4X\x86\x10Cff\x7f\x19\xb2\ +\xa5\x0co\xd3p\x19l\xb1\xbd\x8c-\xcdl\xd2\xa6\xe1\ +2$\x07\xe4\xd8\xd2\xde\xaem\x1a.\xc3@{\xf9\xf3\ +\x96\xf6\x8eY\x9b\x86\xf9;\xe2V\x19xK{\xcf\xb8\ +M\xc3e\x04\xcaV\x9d\xe2\xfe\xf6\xbe\xbf\xba\xfe~q\ +7\x5cD\x22n/\xc2\x06_\x1f>\x5c\x86\xf0v\xa8\ +b\x0bT\x97M\x1a.C\xd1%<\xa2\xb7\x0c\xd9\xd2\ +\xe4)m\x1a.\x83I\xb7\xca!\xb4Em\xe7m\x1a\ +.C\x153s\x8b\x1c\xb2\xa5\xfbi\x9b\x86\xcb\x08Q\ +\x01\xf3\xfe2\xb6\xb4\xb9R\x9b\x06\xcb0\x08\x03\x00\xea\ +/cK\x9b\x0b\xb7i\xb8\x0cA\xdb\xaa\xbb\x8a\xfde\ +p\xb6i\xb8\x8c\xa4\xd0 \xea/\x83\xb7\x94\xc1\xc3B\ +8\xa7omp\xd5\xd1c_dDfz\x7f\x19\xbe\ +\xa5\x03\xda,fC\x9d\xa3\xe7\xdd;\xe3\x0e!\x19\xf6\ +~\xeeV\xaf\xa4T1\xeb\xac]\xa4\x92ikk\x17\ +\xa3\xb8\x93R\xdf\xb2\xc1p\xfb\xb0O\x13\x1e[\xac_\ +\xb6\xe9P\x9f&b\xdba\x18\xde\xa6\xc1v\x05I\xe9\ +\xe7O\xfd\xfc_g\x9b\x06\xf9#H\xf6\xf3\x97-:\ +\xb3h\xd30\x7fa\xc2$\xee/\xc3\xb6\x94\x91M\x1a\ +\x96\x81P\xad\x9f\x7fl\xd3\xfb6\x0d\xf3\xb7\xb4m\x83\ +B\xe4\x96v6o\xd3\xb0o\x99\xb1\x85?\x1d\x81\x7f\ +n\xf5]#\xb7\xf9\x95\xd2\xa4]|\xbe\xe0\xed8m\ +ik\xc16\x0d\x97\x91\xaa\xdb\xcb\xd86\x8f\xd06\xed\ +\xe0\x04dDj\xbf-\x05\x18m\xaf\xd5!M\x89\xfb\ +\xcb\xa0-e,\xda4\x5cFJ\xf4\xf3\xdf\xd6\xde\x97\ +m\xdaap\xd6\xed\x0e\x00lio\x876\x0d\x97\x91\ +\xbc\xdd\x07\x87\xd8R\xc6\xeb6\xed0>kl\x1d\x9f\ +\x11\xb6\x94q\xd9\xa6\xe12\x06lH\x22\x8d\xd4)<\ +U\xec\xc1#\x0b\x12\x81o\x89@\x98{\x09w\xc0c\ +\xc6!\xc2\xa8g\xcc6\x19=\x99\x07\xd82h\x98\x8d\ +6\xb8\xc8\x12\xfd\xfcc\xcb\xc0Mm\xdaa\xe2\xc8\xfd\ +\xc6\xdca\xcb\xa07\x1b\x9e\xf9\x1a\xe5\xd6\x1e\x11N[\ +\x0a\xc06\x0d{\xacJ\xb1uD\xf2-\x8d\x9c\x17m\ +\xfa\x84=V+@,u\xe9\x9dbA`\xa5\xf7<\ +V\xe6\xe8\xf5XUz\xb4_m\x8b[\xf9\xbaM\x07\ +{\xac\xbaE1)\xda\xb4\xcb\xe8\xc9\xdbF\x850\x18\ +\xd1\xae\xa3O\xb2K9\xe4\x5c\xb7\xb4\xdd\x03\xe7\xec3\ +\xa1\xf9\xee\xa7\x9c\xc5\xee\xb1\xf3\xd7\x97\x97\xba\x11\x93\x1f\ +q\xc8\x19K\x1c\x80\x06+\xec\x8e\xc6\xbc\xa93~\xa0\ +\xca=\x9ci\x9f3\xce\xe4\xe2\xa8`\x18\x1e\x02\x86\xf1\ +\xee`,..\xebK<\x07U\x83M{\xd0\x18f\ +=\xfe\x00<\x0e;\x04\x8e\x88S\x9d\x80\xc8\x09?\xe7\ +y\x80\x00\x07\xc0!@{h\xc7\xffk\xef\xda\x9a\x9c\ +8\xb2\xf4\xf3\xfaWt\xf0F\xacH\xce\xfd\x82YG\ +@\xdbLL\x84\xbd;\xb1~\xd8G\xa2\x01\xc10\x03\ +\xb4\xa3il\xe3_\xbfu\xaa$\x95J\xa8\xbaQ\xd3\ +=`\x8f%\xe3V~Yu\xf2\x9c\x93\xe7\x96\xa9K\ +\xea\xf3\xe7\x07\xfc\x1e \xc8\x8c:fI_\xa7:\xc8\ +\xae\xa2\x0e:\xc0:\xca\xbf\x0fP\x07\xc3a\xa1\xe3z\ +\xd5\xc1q\x15u\x08\x1c\xa2\x0e\xc2\x03\xd4!\x07ER\ +\xc2\xebUG\xf2U\xd4\x91zS\xb1C\xd2\xffE\xb1\ +c^\xe6\x19])\xf0\xe5\xe7\x92\xebs\xdc]\xef_\ +r\xfe.+|\xc4\xa9\xd2\xc2)\xfc\xf4b\xca\xf8!\ +e\xff\x04\xdbP\xbcJ\x9aU\xe4\x83\x5c\xe5\x04\x9e}\ +\xacm(\xce\xa4\xd9y\xd2\xd7\xe8*fy\x05u\x98\ +\xe3M\xb9\x8a9\x7f\xa9\xaeb\x91\x97\x9e\xce\x0d\xcf\x9f\ +\x07\x1c\xe8*\x96X,\x1fN\x19.s\x15K\xfe\x04\ +\xdbp\xbcJ\xcd\xe1H7e\x1b\x8e\xf2\x19K0g\ +\xbe\x8a:Xo\xaa\x04s\xf6\xc3J\xb0k\xfeIf\ +\x06\xcc\xdf\xe5O2_\xfd\xbc\x8f\xf1\x84\x04\x7f<{\ +\xac\x82_\xcbI\xaew0[\xd6\xa3~\xdc\xe4\xf6\xf8\ +\xa5I\xd8:P\x1d\xa91\x88o\xf6}8\x9bj\xe8\ +5\x89\x18\x17\x88\xe8\xb7\xae\xe3\xc0\x87pbY\xffB\ +A``P}\xab\xa7\x19\x07\xd5\x17a\xad\x05[=\ +\x0f\x93\x7fz\xa2\xe8\xd5\x15\x90\x8fgS\x81\xe7\x01\xe7\ +M\xa64\x96q\xbb\xbad\xe8\x80\xadcq\xc3\x9a\xb2\ +\x8e\x87\xe2\xa6tm\xb3k\x12\x03a^\x8e\xc0C\xe4\ +\xd0-\x11x\xc2}\x98N\xb8\xaf\xf65q\x8f\x17p\ +\xcf\xd7\xc0\xbd7J\x1e\x99\xd7j^\x17\xeft\x01\xef\ +z\x08\xef\xb6\xc5\xbb\x8c\xbcG\x03\x00\x1a\x99\xb7\xbe}\ +\xddg\xc8:\xfa\x9c\x18N\xbca\x92\xbd!b\x1an\ +xUn\xcc$\x80\x1b\x8e\x11\xb0\x83Ds\xc5\xf3x\ +\xcdGL\xe5\x90\xad\x9e-\x9f\xbf\xfd\xe6\xfex\xd6\xdb\ +\xc9\xeb\xe5\xb3\x9f_.\x7f\x99\x88\xf8\xcb\xcb7\xcfN\ +\x7f\xb9\xb3\xfe\x88\xbe\x85\xdf\xda\xd7\xbf\xfe`>\x10\xed\ +d\xb2\x93\x17\xcb\xee`\xa9\xee\x9a\xff\xba\xb5\xa7k\x95\ +A\xfbwr\x06\xbe\xdf\xbd\xec\x8e\x9c;}\xb5\xec\xe2\ +\xdc\xd3eQ\x5cw\x9cuC\xec\xc1O\x9f\xfc\xa3\x9b\ +\x82}=ON\xcf\x9e-\xcf6#\xe0\x04\xee\xb3y\ +7C\xd6?\xfa\x8e\xe2g\x0d\x0fE\xcff\xb2\x9e\x9c\ +\xbc]N\x99\xff\xed\xf4\xb4\x0b\xc1\xd4T\x89\x90u\xda\ +9|~\xbb)\x09\xa4L\xbb*\xdc\x1a5\xf5\x88\xa0\ +\xbd\xaa\xac\xd8l\xb0\xb7\xeb}\x91\xf5\x1d\x82\xef\xce\xce\ +\xbay\xbe\xf3\xea\xe4\xfd\xb2\xe3\xfc\xfb\xfa\xf3x\x95\xc0\ +\xff~\xfaK\xa9\xad\xb2\xe1\xbb\xe5\x08\x95\x8a\xdf\x8e\xe0\ +H\xab\xef\xb9\xf3\xe4\xc9\xe9\xaf\xab\xde\xad\x12\xa6\x08\x8d\ +u\xd3_\xba\xd6\xa3\xb3\xd3\xd7\x7f;[\x82\xd8\x8f\xcb\ +\xf3\xf3\x97o^\x94\x03\xd4c\xa8\x17~}_\xb7\xac\ +\xa0\xa1\x90\xa9\x1a\xe3\xa7_'\xd0\xfbm\xe8m7W\ +\x1d\x9d\xd2^33\xdf\xedx\xffA\xc7z\xbe\x00\x00\ +j\xbezp\xf9\xfa\xa7\xbd\xf8\x96\xb1\xd1x\xe9\x16*\ +#\xba\x1a\xb1\x1bp\x8d\xbd9y\xf2j9\xea\xb2\x1e\ +?\xbf|\xfb\xb2\x03\x07lp\xaa\x0f\xdd\xe9\x9b\xaf\xee\ +\xbf^\x9e\x9f<;9?Y\x9b\xd3\xba\xdd\xed\x18|\ +\xf5\x1f\xf7\xdf\xbc\xbd\xf7\xf6\xf9/\xdd\xab\xe1\xe5\xab\x97\ +O\x97o\xab56{\x17_\x17\xbc\xa5\xc4\xe9\xd7f\ +(\xc6/\xc7\x8c\xcd\xfe\xce\xbf~\xdb\x01\x8c\xe6\xc2\xc4\ +R,\xd60w7\xe3LF\xfd\xf1\xf4\xdd\xd9\xd3\xe5\ +\xc3:)\xee\xed\x15\x86,\xd7\xea\x1c\xf1\xf5\xf7\xcb\xe7\ +\xe7\xff\xd3O\xee\xa8\x98\xd50\xa7?\x9dw\xa7\xce\xfd\ +\xd6\x7f\xe5ce4\xa3\xa8\xe7'g/\x96\xe7k\xb8\ +\xe8M\x91\x92e`\xa3\xfb\x06\xc8\xf2QW\x03\x9dt\ +\xac\xfc\xed\xbf\xffB24J\x9b+Z[h\xddP\ +\xd5`7\xa3\x9d\xa3\x94\xffmfp\xf8&IM\xea\ +\xf3\x93W+\x0f\xef\xee8_\x1e\xaf\xcc\xe7Q\xff\xe8\ +\xf17\xa7?lz\xc6\xeb\xcby\xea,\xbd\x93\xa7#\ +\x95\x9e\x8b\xd2\xf2\x94\x8f\x82\x0b\x1c\x05\xbd\x82\xfchi\ +\xceJ\x8a\x7fDE\x14\xe8d\xff\x9c#\x9b\xa1\xe8\xbc-\xc6\x838\x9e\ +\xd0\x13\x5c\xd3\x9b\x99{J\xb3\x88\xf9\xf9\xaf\xe7\x94\xa2\ +\xcf\xcf\x1a\x1b\xcf\xcf\x7f=\xa7\x94\xf2\xba\xe6_q\x96\ +\x922\x1e\xc2\x93\xf2,\xa5\x10\x99\xf7\x93\x87\x1f\xe8I\ +u\x86\x12\xce\x12\xc1\xcemyJ\xc4\xe7\x0c{f+\ +t\xdc\x0f\xb9\xf9M\x8f\xbdj:`\xd6\x8c\x0e\xd5P\ +\xb9\x8b\xf2\x94\x88\xac44\xd1\xc7\xa5\x1aBx|c\ +\xfb)\x9f\xae\x98\xbc\x06\xc58^M1\xf8\xf8\x86\xb6\ +j>Y-n\x87\xaa\x85\x93\x1frL\x89\xc4\xd5\xd4\ +B\x8fol\x17\xe80\xc5D\xc4\x83\x98\xa6\xe4\x98\x0f\ +Z\x00N\xb3\x94\x8e\xe3\xbb\xc8)%\x9d\xa7d>\x1b\ +H\x1f<|p\xfc`\x87\x92_P\x04\x89\xcfQ:\ +\xd6c;\x96)\xa5\x0b\xd2\x04\xa2\xce\x16A\x0f\xbb\xe7\ +4\xb8\xe7|\x9a`@\x9a\x0f\xee\xf5\x9cR\x9a\xd7\xb8\ +\xe0\x05\xa9\xcb\xbb\xa7M)\xcdk\x5c\xcds\x96\xd2\xb7\ +\xf5\x9cR\x9a\xd38\x1e\xe0c\x993\xeeq\xff\xc5\xfa\ +\xb2\x17lR\xbf\x1aP?M0n\xd8T\x8b}\xf3\ +\x8d\xe0\x0e\xf9\xe1\x88\xb9E\x00\x18/\xd0\x1axB\xe0\ +\xd1\xf7\xdb(f\x03\x8b\xf0\x0e\x0dn\x9a\xb6\x86\xd2\xbb\ +c\xf1C\x1a\xd2\x16T\x80\xb1v@\xb4P/@\x1b\ +`\xdf\x96\xa0,2\x88\xde\x92e\x11\xd6\x1c\x1dX:\ +:\xd5\xcf\x90\x85\xb1Pa\x85(-B[0O\x01\ +\x86\x02\x8aR\xdde\x884\xc3\xfc\x88\xee\x1c\xc0\xbfy\ +\xd3\xaeEj$\x08\xf5\xa7\xee\xaf\x7f<`\xf7\x08\xfe\ +ai<\x9c\xd8?\xbcfw\xba\xbd\xde\xea\xda\xf7\x83\ +\xd1\x82f\xe6\xeb\xf3\x1eX\x1d\x85\x17w([j0\ +s\x7f\x9e<\x13*\xcb\x9a\xcc\xb8kt\xfalY\x0b\ +\xcc.v=]=j\xc2\xfb\xc9\xbc\xfc\xd2kbj\ +N_\x0c\x16\x92,\x87\xea\x8b\x04oO\xec\xaeF\x02\ +`\x5c 7\x05a\xb6\x9a\xba\x11%l&l\xd4\xa1\ +edN\x03\xe4\x1a6\xd8\x9d\xc36\x14\xda\x08\x87\xdb\ +\xc4d\x00:\xbc\x07 2\x8a:\x124.\xc3\xf36\ +P)\xc0!\x0b \xc4\xbe\x99\xd4\xdb%\xd0V\x0b\xbd\ +\xb8\x18\xda\x88\xba\x9f\xe3\x11-c\x9b\xf8\x9ci\xca\xc1\ +38z\xacl\xebM\x1b\x97\x08\xf5\x07\xa3\x1b\x7f\xd5\ +F\xc4\x96\x99=\xe2\xc50\x94v\x90\x8e\x8e\xab\xed\xb0\ +ik\x94\xa8C\x0b\x9bG\x16\xa2akD\xb0\x1c+\ +\xa9%\xca\xc2c\xa5\xa8\xe4F\x91\xd5&\xc4j\xe9\xc2\ +{\xb2\x9b\xd7\x83\x8e\x92K\xc1\xba\xcb\xde\xaa\xbd\xeb\x85\ +e5\x83\x91LKg\x22\xd7\xdb\x1f\xa7\xb0\x19\x9di\ +n\xeb,+\x85\xe3\xc2[fh\x19O\x13\x83 Y\ +#\xd1\x80\x90\xdd\x17\xd1\x84\x93\xd9\xb6\x91\x0c\x18D\xf1\ +\x96.@\xb1@\x88\xc6\x8a\x14\x1d\xa9\x09\x18\xc9\xa4E\ +\x1dY\x5c;(Kz\xec\x90Tr\xc5\x0dR\x8a\xb1\ +\x16\x89.\xde\x832\xcc\x13J\xa2\xe2\x80T[\x00\xcd\ +\xa8oSjra\x1a\xec =\x86H\xcc\xa5u\xa8\ +!\x89k~ j\xd2\x0b\xd24\xb2\x9a\x9aH\xb7\x02\ +\xbc\x1a&J\xce\x9b&\x87\x83\xea@\xc3\xccc\x91\x0d\ +P\xb2\xb4\xb4F\xa2\x89sZ\x14@\x94\xcc\x1d\x02\xcc\ +\xc8t\x14\xd9,\x12bD\xbe\x9f*\xfb\x80\x19\xa7\xdb\ +;Q\xa47\x80\x17\x93hv\xd9\x9b\xfa\xeb\xec\x87\xe9\ +\x8aX$w\x17T\x87X\x8f\ +t\xb8T\xa3\x7fe\xd5WS\x8cu\xc7\x91G\xdd_\ +i\xb0\xc8USch\x0e\xfe4\x1dx\xd0\xca4D\ +XA\xfbC.~=\xaam\x9a\xf2\x89\x12\xcbQ>\ +VT\x8f,\xa0\xf7ao\x22\xb2H\xe9E\x95A\xd4\ +H\xef\x11+Q\xfbln\x83\xa8%\x0ch\xddQ\xb2\ +\x11b\xc9V\xe4\xae \xaa\xf3\x15E\xe5CD5\xe5\ +\x02X\xbcD\x0d\xf0Ej/\xaa\x968%\xfc\x80\xd4\ +\xff\xab\xd1\xbf\xb2\xbe\xafD\xad;\xfaY\x15\x1ffU\ +\xf9\x0a\xa2\x06\x5cQT\x9d\x11u\x87\x85\xe3] \xa1\ +\x0dqG\x8f\xb2\xa6\xac.A\xc0\x0e\xcch\xba\xcb\xf0\ +\xae\xe2v\x81\x8cF\xbd\xadG\xactSq\xce:p\ +w\xdcis\x8f&\x10pW\x15\x17\x88\xef\x83\xf8w\ +_\xec\xad`Yp;\xba\xbb-\x08*>\xd7\xdf\xbd\ +\x01\xe7\xcd\xe9\x9b\xe5\x10\x5c\xce\xde\xbdZ\xde[\xfe\xbc\ +\xec\x92H}\xf0\xf3\xec\xf4\x9f\xcbM\x0d34\x87w\ +\xb1\xef\xe1O\xbf\xae\x81\xe2\xae{\xf7\xf3\xde\x93w\xe7\ +\xe7\xdb\xd8?\xba\xdf\x95\xea~_\xaa+nV\xe84\ +t\x15\xf7\x93\x82\xbc\xd6\xfes\xa1\x8c\xfa\xbc\xe0\x0b\xe4\ +\xfa\xab\xd0\x99\xfag\xa8\xf7\xae\xbb>\xfe\xf7]g\x8c\ +\xc6j\xaa\xa3+\xefv\xf9\xbfME|\x03\xcb\x89\xcf\ +\xb4\xfc\xba\xbc\x98as\xbd\xfd\xc7\xaa\xd9\xa7f\x9b7\ +\xa12\xdf\xad\xff\xfe\xac\xe0\xbf\xa8\x0a~\x9c\x7f\xc3\xcb\ +\xe7\xbf\x1e\x9b\x02~\xcc\x81\xc6\xb7>\xbe\xa0\x1f\xed\xe7\ +\xc0\x02\x8a\xcd\xb3w\xc0]\xc6\xf5\xd6\x97\xb9\x1c(M\ +]]\xd8\xc0\xbd\xc2\xfa\xad\xcf\xb1 \xb8qay\xaf\ +\xb0y\xebK\x5c\x12\xcc\x0b{\x81\x80\xbaO@\xc7[\ +\xbf\xcb\x85\xc0\xa4\x8e\xff\xfc\x95\xf9e\x0b\x87\xa9\xcey\ +\x87\xfb\xb1\x93\x0c\xa8\xae\x1f\x08\x916&3\xb3E\xc5\ +\xcfI\xb3\xc8~\x09\xab\x91\xaf\xb6\xde\x1c\xe8?%\xba\ +\xf3\xe5\x90W'O\x96\xafV\x9f\x1c=\xaa\xbe}u\ +\xd5\x9d2*\xa8g\xd5\x0f\xdcx\xd1\x07\xec\xa8\xe5\xea\ +\x10\xe9\xf7\xdf\x86\xfdMU\x8aV\xb2\xad\xf2\x0b\x9b\xa3\ +\x98\x84,\xef\xd0d\xe7\x86X\xf4\xb2\xc0\x9f\xa0dL\ +\xf8\xf5T\x9d\xa3\xc0\x17h\xd78v\xb5[\x14M3\ +\xd3>J\xc7g\xf5\xd1\xc85\xda+\xfc\xd5\xcb\xee\xcf\ +=Yc\xcfN\xba\xcf:\x9f\x9d\x9d\xbc\x1fX\x1b\xd0\ +\x8b\xabYe\xbe=\xf5\xef\xf0\x16U\x80\xd0\x10\x9a\x00\ +R\xd2\xbbf\x03\xb2d\xad\xd8\x8cn\x08X\x183\xa7\ +\x0f\xf5}5\xc3\xb5\xac\xb0Z\x06\xd5\xeah\x904U\ +@\x91\x85a3\x16\xa4\xec\xb0\x85Q\xf3\x100\xee\x1b\ +\x15$\xea\xaf6BM\xf6\xed\xbb\xac\xb1i8\xae\xe8\ +zC\xaaQ\x861Q\xab9\xa4\x0c\x07H\xe3\x0e\xb3\ +\x06aX\xb9\xb31\x93\xb0\xf7Xy\x8eV\xd9\xe1\x18\ +>\xdc\xaa\xc9=\x8f\x89\x0dA\xc1\xeaBiINZ\ +E-\x00\x98P\x87qS\x0e\xc2\xa3\xacF\xe7h\xf5\ +\xa2\x88#\xe9\xd0\xf0h`C\xa3\xb7P\x1b\x84\xaf\xd1\ +(\x13\xd8\x17\xae-\x91\xc3K\xa7f\xae\xc6\x059\xa7\ ++\x17\xf3\x14H\xfd\x8d\x026\x08TiO\x92\xb9J\ +-pr\x89Z\x9ef&k\xd4\x80b\xe8U\x0e\xc8\ +\x22\xa0\xf4Qu\x1d7\x1b\xe6\x80e \xb40\x19\xfa\ +HV\xecVC\xaa\xfc\x1c\x89I\xf6\xf2\x81o\x06\xb5\ +\x85B\xaf\x87m\xe6\x14\xd7\x0a\xdb\x08\xb1P\xea\xf5*\ +6\x8aZ\xd8\xa0\xff\x84\xd6\xdf\xb5Q\x93dK\xf6U\ +\x83\xb3Y\xac\x1bX\xb1}P\xb9\xa0/j\x16\xd0Q\ +\xa9\xa6F5\x8c:\x8c[x\x04a\xd1\xf5\x9e#\xe4\ +a\xf6\x0b\x01\xe0p\xee\x8d\xd2\x11\xa3&?\xd5\x99\xca\ + Z\x9a\x91\xf3h\xdb{\xf6\x89X17\xe0\xf9%\ +'\xb1v-tv\xaeS.\x1a\xe4\xd0q\x07\x1b\x22\ +\x06\x92\xdc>4\xf9\x12\x1b\xdc\xfe\xe8XR\xde=\x0d\ +$\xf1/\x09 \xd3@QN\xe3 Y\xe5zH\xaa\ +\xac\xd6\x0e\xa8\xa8\xde\x17\xfa\xc8i\x89e\x19u\xa1\x16\ +\xc6\x22\x8e\xa9\xbdk\xba(vP\x92+A\xbf'\xe0\ +\xe5\x10\x84}\xf40\x16\xc0\xb2S\xb4f\x04\x99T\x01\ +D\x14\xdd\xec\x08u\x08\xe7\x5cq\xc4\x12$'\x98\x94\ +\x1d1y\xdd=\xa2\xda\x18\x01\xd5\xb7)ZS\x89\x08\ +\xdf\x1e\xdb\x1b\x9b\x19\x97en\xd8D\xcc\x06\xce\xc8\x83\ +S{\x04K.\x90\xa0!\x84D)\xc3!\x01{\x88\ +\xd2@\xfa\xd5\xad (\xf77\xab\x07\x944)\xc5\x0f\ +B\xa1\xd1\xc2\xa0\x0a`k@.\xa4\x1dV\x83s\xac\ +03\xf3>P9X\xd4jmDK\xd1\x09\x046\ +AC\x9b \x80\xc4\x04\xf5l(\xe1\xa8\x13T\xa2\x85\ +brN\xd1\x8au\x8cN\x13\x94\xbd\x05\x82\x88OP\ +\xa4F\xc9AYr\x15\xeahT\xee\x86\xe4lz\x94\ +\xda\x14\x1c4\x16X\xfe\x19\xa1Z\xf2kbT\x81\xdb\ +0-Hu\xd8107G+\x13\x09\xf14\xaah\ + \x22fe_\x12F\x94\xfbL\xee\xb7\xa3\x1f*B\ +\x19\xf41\x82\xb0\x91\x04A\xc94\xa2BMTSK\ +&\x8b\x96\x92\x01\xb2\x85\x1e\x17J\xe9\x06\xba\x85\x9a7\ +wR\x89\xc2\x92\x8d\x93Gl\xa2\xa7\x11\x1d\xf5\x7f\xbc\ +\x8dZ\x03\xb0\xa0\x18\xc7)L\xc2\xc9|\xe4h\xc4\xb6\ +\xb9\x9fA\x11\xac\xb9\x92\xf4\x097\x1a\x91\xa0\xe0\x96\xe5\ +\x7f\xbfO+\xfb\xc2\x1e\x03]\xbe.\x0a\xfdz\xf6\x0d\ +46\xfa\x92C\xd7|\xedc\x81\x97\xd4>\xae\xa99\ +\xd4>\x12\xe6\xa5R\x06\x02\x95\xc2(8%\xaa\x0e1\ +5\xd2\x82\x5cWz'-\xa5{\xac2_%\xa0\x9e\ +\xb0V\xd7PpD@jT\xa63\x0f\x8f,L,\ +I\xfbL\xe7I\xa8yC\x99\xce\x14o0\xd3\xcd\x17\ +\xcd\xf3\xc9O\xfeL~\x7f&\xbf\x9bI~!\xcd,\ +\xc5\xae7#\x16\xda\x81\x98\x7f\xe6\xc9\x7f\x93<\xa9\x90\ +c\xac\xdb\xed\xb4\xd0\x9d]2\x1c3\x89\xe3\x87\x99\xc4\ +\xe1\xc3Lb\xb9\x93I\x1cv3\x89\xebn&q\xfd\ +0\x93\xb8~\x98I\x5cv3\x89\xcb\x07\x99\xc4\xe9\xc3\ +L\xe28f\x92\xd9\x18\xcf\x17\xd6\x07\xf6\xbb\xaf\x0f.\ +\xcf\x93w\xc6D\x89\xd8\xdc\x16H\xd1\x22\x5c\xf8*\x8b\ +\xc18Lc\xd7\xbdO9\xda1I\x93\x95\xb7\x80s\ +y\x8b7\xab\xcd7\x17a\xce\x0d\x00\xd1H5\xb0\x03\ +\xa6\xb7\xecq%b\xe2\x02/|'\xe7\xf2\xba\xe2\x22\ +\x93s\xf8}\x9a\x9c\x13\xed\x94\xa4\x88\xadwx\xcd\xf5\ +6\xca\xf6\xe6Z\xacv\xc9pks-\xc6\xbd\xb5z\ +-\xfde\xd0?p\xdca\x1bo\xdd\xdaa\xcb\xed\x0d\ +6\xe4\x06\x8c\xd4!\x9b]\x1b\xd4\x86j\x05mv\x93\ +\xa6\xfc\xed\x0b\x9c\x0e\xfa)^\x94\xcdBh\xde\x8b.\ +0\x02\xfaR\xbch\xd7i\xe6\xdcj\xf4\xa2\x01\xf0h\ +\xae\x98\xa1k@\xb22\x14\x1a\xedz\xe2\xfe\xa5\x1d\xc1\ +\x9c\xd6\x0e\xde\xc0\xde\x1f\xa8\x5cn\xefh\xad\x01\x8a\xb3\ +\xfa\x15\xb57\xef\x1a\x9c6u\x8da\xdb\xb0\xf6:\xa9\ +\xdf\xe5\x9c\xee\xce\xc2\xf0Wb\xd5a{\x15\x94\xf2\xd1\ +\xa6\x09-\x093E\x17w\xb21\xd8P\x05\xb6L\x12\ +\xb2\xbc=_\x1bD\xea'\xf2}Csg\x9fa\xee\ +>]\xd1\x87gS\x8f/9\x0e(c\x09h\xdc\x12\ +\xd9\xb8\xf6\xc1\x19\x1b\x93*\xf5\x8b9w\x12\xa7#\x8e\ +\xa6\x12\xea\xd1\x87pN\x009\x12k\xa0\x89\xe6\x1b\x8c\ +\xab\x9e\xc6\xa6NA\xb8\x85\xba\xb6d \xcc\x1a\x87\x0c\ +3t`F\xb3%\x84\x13_-\xc2D\xfa\xe1\xf3\x11\ +\xf0\xc5\xceGXs\xac\x9cG\xd0\xd8\x83p\x1b\x93h\ +!\xe2\x93\xeb4\x1b\x1bR\xe4P\x8a\x130\xc1\xb0.\ +\xb7\x00\x8f\x9a\x0c0T\xebS\xa6\x81\x22\xf3\x91hs\ +\xa3D\x1f\xb1\x9a\xf4h\xc6(l[(W\x0eL\xd7\ +\x1e\xc3 \xef\x98$m\x14\xe1Z3\xc9\xa9\x80\xf2\x07\ +\xb0\xa3D\xb8\x82\x1d\xd1\xef\xcc\xaf)\x1a\x12e`_\ +?\x99\x1by\xcdQ\x88\x93da\x96AaG\xac\xcd\ +\xd4\xb5\x90$\x02\x8b\x9aKjh)\xe2\x85:\x889\ +\x17=W\xa0,\x885\x89\xcb8\xa4\x0f\xa5\xfd\xb8B\ +\x22\xb1Z\xe1z\x14Je\x8e\xe9\xa0\x13T\xb29$\ +jNP\x83\x06J\x1e}\x01IM\x18\xb2\x0c\x11\x1b\ +9\x93\xe2\x91{\x0b\xc2@*sgB3\xe9\x17\x90\ +\x988\xc8\x8d\xac\x0e\xabO\x88\xa0B\x9a\xd4\x95\x14\x0a\ +)G\xc1\x0dB\x98\xa2\xa7\x08FAW\xb0\xa4\xa3\x1f\ +\xf6+\xcb\x9b\x00)p\x99.\x90\xa8\xea\x11gC'\ +\xd5,\x0c\x01\x1d\xfdH\xa0\xa5:\x04\xf7\x98\x92Z\xef\ +6\xd9\xaa\x97\xa2PH\x87\xa4\x81\x22*Y\x8f1\xb8\ +\xe9\x9e\x91\xf7Zvn>\xcbQ\xff\xea\x87`\xbe\xf9\ +\x7f\xaf\xd7Z\xe4TM\x01\x00\ +\x00\x00\x17\x91\ +\x1f\ +\x8b\x08\x00\x00\x00\x00\x00\x00\x00\xed=io\xe3F\x96\ +\xdf\xfbWp\x9d/i\xacH\xd5}\xb8\x8f\x01f\x82\ +\x04\x016X`&\xc1\xcc\xb7\x80\x96([\x1bY2\ +$\xb9-\xf7\xaf\xdf\xf7\x8aW\x91,Q\x94,\xbb\x03\ +\xc7v:\xa6\xaa^]\xaf\xde\xcd\xaa\xa7\x8f\x7f\xdb\xdd\ +.\xa2/\xd9z3_-?]\xd0\x84\x5cD\xd9r\ +\xb2\x9a\xce\x97\xd7\x9f.~\xfb\xf5\xc7\xd8\x5cD\x9bm\ +\xba\x9c\xa6\x8b\xd52\xfbt\xb1\x5c]\xfc\xed\xf3\xbb\x8f\ +\xff\x15\xc7\xd1?\xd6Y\xba\xcd\xa6\xd1\xc3|{\x13\xfd\ +\xbc\xfcc3I\xef\xb2\xe8\xfb\x9b\xed\xf6\xeer<~\ +xxH\xe6Ea\xb2Z_\x8f\xdfGq\xfc\xf9\xdd\ +\xbb\x8f\x9b/\xd7\xef\xa2(\x82q\x97\x9b\xcb\xe9\xe4\xd3\ +E\xd1\xe0\xee~\xbdp\x80\xd3\xc98[d\xb7\xd9r\ +\xbb\x19\xd3\x84\x8e/j\xf0I\x0d>\xc1\xd1\xe7_\xb2\ +\xc9\xea\xf6v\xb5\xdc\xb8\x96\xcb\xcdw\x1e\xf0z:\xab\ +\xa0q6\x0f\xdc\x01Qk\xed\x98\xb01c1@\xc4\ +\x9b\xc7\xe56\xdd\xc5\xcd\xa60\xc7PSF\x08\x19C\ +]\x0d9\x0c\xear\xb7\x00T\xec\x9d\x8c\xab\xf5G\x07\ +\xf4\xdf\xc1\xbf\xaaAY\x90lV\xf7\xebI6\x83\x96\ +Y\xb2\xcc\xb6\xe3\x1f~\xfd\xa1\xaa\x8cI2\xddN\xbd\ +nJ\xec7\xc6ml\xc92\xbd\xcd6w\xe9$\xdb\ +\x8c\xcbr\xd7\xfea>\xdd\xde\x0050\xe3>\xded\ +\xf3\xeb\x9bm\xfdy>\xfdt\x01\xeb\xe3\x82\xe4\x9f\xcb\ +\x19\x5cVtD\x12\xcer\xd0\xa2[\xbfJ\x98\x84F\ +k\xab\x15q \x0d\xe2kt7]Mp\x86\x9f.\ +\xbe\xaeV\xb7\xf1\xea~\x9b\xc0\xa8_\x9b\xfdB\xe9\xdd\ +\xfd\xf6\xf7l\xb7\xcd\x96y7\xb00o\x95\xae\xda\xb5\ +K\x1aK\xac:\xc8vw\xab\xf56\x9e\xcd\x17Y>\ +\xd8\xf8fu\x9b\x8d\xef\xe6KX\xf6z\x05\x0f\x93\xcd\ +x\xb5{\xbc\xce\x96\xf1|\x02\x946\x86v\x8b\xf4j\ +\x91\x8d\xd3\xc9v\xee\x0an\xd3\xc5b,\xccN\x98q\ +5\xd5\xbb\xe5up\xa0\xdd\xf4\x0e6\x96r\x19\xac}\ +\xacj?C\xf5\xc7i6\xdb X\x8es\xfc\xc4\x05\ +%\xae\x0ej\x81l\xb2t\xfd\xd3:\x9d\xce\x81Yr\ +8\xaf\xcb\xc9j\xb1\xc8&\xb0o\xe9\xe2!}\xdc\x5c\ +T\x00\xd0U\xb3)\xb7T\x15\x9dB\xb7\x9b\xed\xea\xae\ +\x84\x85\xdd\xd8>.\x00+X\x18C\x8f\xab\xf5\xe5w\ +\xf4\x8aI\xce?\xb8\xa2\x15\x90\xcf|\xfbxI?\x5c\ +\xd4mV\xb3\xd9&\x83\x81\x89W\xe6\x88\x06Z\xc0X\ + R\xc6O\x1b\x8d\x84F\xa3\xc1\xd1\x18\xa9F\xfb8\ +n.\xfbiht\x5c{y\xb3\xce@\xca|\xf7\x9f\ +_\xfe\xe7\xe7\x1f~\xb7\xbf\xc7\xaa\x07\xcd\xccP#\xaa\ +\xfa\xeb\xa2\xf4\xb7\xe5|\x0br\xe4~\x93\xad\xff\x85\xbc\ +\xf8\xbf\xcb\xdf6Y\x07\xea\xd7u\xba\xdc\x00\xe3\xdf~\ +\xba\xd8\xe2\xe3\x02D\xef\xf7\xcc&Vq%\xed(\x06\ +\x92I\x94b\xf2}=?\x0a(\x11\x168\xd1\xaa\x1a\ +5\x8fPjd\xc2\xb9\x10\xa4\x9e\xcb\x8e\x01\xac\x14\xd8\ +\x83\xf1`\x99\x0f[aq\x0f\xbe`\xb9\x01,\x0c[\ +%\xce\xd5\x8a\x84\x0bn\x08o\xcc\x95\x12\x06\xc5B7\ +\xa6jT\x22\xb9\x94\xd66\xa6\x0a\x1dHD\x86\xd9G\ +\xca!\xb2\x0c\x10\x9c\x9c\xe0o\x0fy\x97\xc4\xa5X,\ +\xf7\x93r\x09\xa5\x85f\xf1\x81!\xb3\xd9\x8cd\xb3!\ +\x1c\x95p\xca\xadPz\xd8\xc0$\xa6\xfd\x03\xa7iz\ +\x95\xdaA\x03k\x06RB)\xbb\x7f\xe0\x10#\x86\xf0\ +\x0b['\xe9\x10\xfc\x0a\x0f\xbf\x7f\x06\xe6=\x96\xac\x03\ +\xcc{\x9bn\xd7\xf3\xdd\xf74\xb1\xf8c\xe8\x88\xc0\xaf\ +\xca?Y\x09|\xccXB8cz\x14+N\x81!\ +-\xb3/\xc0\xd38\xd1t\xf1,hlv\x8dh4\ +gC#\xe0\xca\xfd\x18\x87\xc6\xe2\x13\x05,\x0a\x05\xeb\ +\xe6\x14\x1f\xa9\x86\xd5r]#q\xb2C$\x22\x00\xf3\ +$\xc8\xe4\x11\x0d\x1c\x82]\xd0\xbat\x16\x84\x9d\x05a\ +\xd7\x9f.\x10\xb1`\xf9\x1c\x12\x95G\xa1\xb5\xd9\x87\x16\ +\x96\xf5S\xa9%OG\xef\x1e\x15c\x90\xf0(o\xd3\ +\xa3N(Umj\xd4Fs\xd3\xa6F\x93hi\x0c\ +oP#\x85!\x18\xb7\x034\xcc\xf1\x86\x8d\xc3\xd6p\ +Sc\xe6~N4l`,q\x94a\x13\x1am\xb0\ +a\x03\xa3\xa9C\xb2\xf1\x1cL\xdd\xc2'\xa5\xa6\x9f\xb9\ +=\xea\x1cF}\xc8\x8dF'\xb2\xc1\x88`\xcc\x18-\ +\x89'\xcd\x90\x11\x8dM\x8c\xa0\x86\xcb\x06#\x828\x94\ +Z[\xdb`D\x0a\xa0\x9a1\xd2\x9dMW\x88\x10\x90\ +\xbeT\x12.\xc5\x08|(\xca\x09\x98\x1b\x84\x8f\x8aG\ +\x94-\x08 \xa4\x02i\xc2\x13\xcb\x15e\x9c\x8f(\x05\ +\x8dH@\xb6\xbe\x1fb\x19\x05\xd08\x9cP\xa6|6\ +\x19D(A\xb2\xa4\x9e\x05\xbc\xdfV(}\xbbV\x87\ +\x89\x94 E\x89\xc7\xc8\xc1\x19^\xa539k\x99L\ +$a\x80G`w\xf6a\xd0\xf8*8\xbe\x96R1\ +\xea\xedcp|\xc3\xafdv\xd5\x1e_X\xb0&-\ +\xeb\x1b?h\x9e\xe8\xd9D\xb5\xfb\xd2F\x08\xc3\xb4\x19\ +\xcc\x9f\xa0\xc8\xbf\x01\x7f\xc2\x0c{\xf8S3o#\x9d\ +\x1a\xd4 \xbbA\xb3\xd1\x06\xf7\x09\x96(\xa9%k0\ +_\x17t\x16\x02\x05\xde\xe3,\x91\x94i\xd5uuB\ +v\x90\x06\xfa\xe29\xbbY\x0e\x8c!\xb4\xe3B\x0b\x9e\ +\x00\xb0\xdc\xc8\x01X\xc58\x9aF\x14\x14\x856\xf0\xa8\ +$\x10&h\xf6\xf7\x03\x85\xcd3h\x16\xc4\xf4p\xa2\ +\xca\xcd\x94S5\x0b3=,\x9c\x0bKBR\x036\x86>\x84\ +)!\x19\x89i\x98\xb4\x0f\x90U\x96\xc1>?\x89\x8b\ +\x05\xfe\x0e\xe1b\x91\xbfS\x08i\x02i\x15\x8a!~\ +x\x9b`\xa9,\xb6q\xe8M\xe3\x81\xad\x9a\xa9\x99\x9c\ +\xc9\xf3\xd0\xf3S\xecFK\xfb\xce\x08\xe1\xcb\xc6\x86\xa5\ +\xa68*\x0b?t\xefB|x\x22E*\xaf\x14M\ +\xb5\x00,\xcbc&j\xf0\x89\x99g\x8c\xa1\x1c\x5c\xba\ +\x17\xb1\x1c\x1eX|>\x04\xeds\xec\xf0\xb5\xb0;z\ +%\xd0\xcb3\x18_1D\x1f~\x89\xff\xac\xa8\xb3G\ +\xa2\xae\xef0\x03\xe3D+ \xc4\xf6jc)\x13j\ +(\xd4\x8e\x18b\x12\x96m\xde?\xd3f|Kd\x0a\ +\xfe\x5c\xc8\xa4\xc5i\xb3\x06.1l\x07\x980\xf4U\ +\xe2R\xbf(.\xe3\x22\xe0I^%2%}v.\ +\xe7\x0dlZ\x89\xe7J\xa9}}\xc8\x14D\x9e\xf2\xc6\ +\xed\x95,\xfd\x8c\xc7\x90{U\xe2+D\xdd\xf9\xc2\xc4\ +\x7fuE+\x88:\xc3A\xe37E[\xe0\xf2|o\ +t\xff\xea\x8a\x16\x90y\xbe\xc0\xfd\x9b\xa2Uo\xda\xe6\ +d\xd4\xbdi\x9b\xf3!S\xbfi\x9b\xf3\xe1\xf2M\xdb\ +\x9c\x11\x99o\xda\xe6\x8c\xc8|\xb6\x80\x83\x87L\xa1\x12\ +*\x99\xb2|\xe4.B\xbeN\x1e7/ /kD\ +\xc6\x94\xe3\xcb\xce\xd7\xc9\xe1\xe6\x05\x22\x8a\x1e*\xad\x82\ +RA({\x95\xb8<\x9f9\xb9\xdf&\xf2\x90\xa9\x11\ +?\x8a\xda\xd7\x89\xcc\xf3\xbd7\xe8\xd8\xe61\x1e\x1d\x02\ +\xe98\x8a\x0d\xae\x14P\xc8_#\x0a\xcfx\x94\x9a$\ +\xdc\x08E%7m\x5c\xeaDZ\xa6\xa5\x10#\x87\x1e\ +\xf2:5\xce\x19\xcf`\x0eAeI\x97\xe65\x1aB\ +\x94\x9c\xd3\xaa\xdc\x87Lf\x12\xcb$\xfc\xbcf\xba\xa4\ +\xe4\x9c*\xe70*_9]>\xff\xab\xea\xbf\x8c\xb7\ +C\xe99\x95\xcf_\xdc\x0f\xa7\xf4\xd8\xf3'o\x01\xa2\ +\xfd\xb8|\x8b\x5c\x9e\x0f\x99\xec|\xef\xfdi\xd2\xc5\xa2\ +I$\xe7\x94Z\xf3\xaa\x83\xe9\x94\xfde_\xf8S~\ +,\x01\xbd\xd8\xc9\xba:O\x14\xe8\x16w\xbfiD\xbe\ +\xe5Q:\xc0\xd5\xf9b5!f\xa3\x0c\xd9\x8dP\xf6\ +R\xcc\xf6q\x8cY?\xddS\x95\x17\x15\xf3\x94N\xbf\ +\xcc\xb3\x87w\x15\x1a\xae\xd2jIw\xe9u\xe6N\xcd\ +\x02\xf2\xf2\x1b\x1eE\xc5\xd5j=\xcd\xd6e\x95r?\ +\x8d\xaa\xe2`m\x9d\x89\xd5\xdb+\xec\xb5\xaa'\xe1\xfa\ +\xcdM:]=|\xba`\xedJL\x8a\x0a\x0bk\x17\ +\xe3\xd5\x0b\xa1\x13\x0b\x9ec\xa7\x09^\xc0\xd0\x98F\x16\ +\xdc=\xda\xae\x9c\xae&\xf7\x98\x1f8\xbe\xcf\xb7\xf6n\ +\xd7i~\xbf^#\xc0\x22}\xcc\xd6\xcdl\xb5u>\ +[c\xaa\x86E\xc6[\xafds\xb3z\xc8\xd1\x82d\ +~\x9f\xb5G\xc0z\x7f\xd1\x1e\x0cV]\xafq[B\ +\x0d\x1f\xe6Kh\x10\x979v\xa9\xec\xac\xbd\x80(\xa7\ +\xa9M\x07s\x05\x04\xe0O\x8a}\xcd\x1f\xf1^\xbe?\ +\xa3\xfb\xf94\xdb\x84\xe7\xe4\xea\xe2\xab\xab\xd5.\x5c\xbf\ +\xba\xfa?`\xd4\xf8.\xdd\xde@\x0f\xb3t\xb1\xd9\x07\ +\xb2\x5c\xb9A|\x90\xbcf\xbbZd\xc0b\x93\xac>\ +\xeb\x8d8\xf2\x8bM\x83\x1a\x8b\xad\x0b\xe2~\x99\xde\xc5\ +\xd7\x8b\xd5U\xba\xe8\xc5\xf1m\xba\x9b\xdf\xce\xbff\xd3\ +\xfa(}\xb3\x0fo\xc5\x85\xc8\xaaQ\x02\x93+\xd9r\ +\xfb\x88Y\x94w\x8fX\xd6\x90>X\xc0\x84\xa8-O\ +\xcc\xa6<_^\xef0\x83\x05\xf2WENU\xd5c\ +\xa0*\xbb\xbd+jk\xe6\x89\xa2/\xf3\xcd\xfc\x0a\x0f\ +\xc2{+\x04\xd8%\xe6\x1e\x9e\xb6Jq5\x05<\xce\ +\x09\xa5\xe2f\xb5\x5c<\x16`\xa5,\xe9\x8a\x10W~\ +\x9bm\xd3i\xbaMkyR\x96p\x90\xa8%j\xd6\ +\xd3\xd9\xe5?\x7f\xf8\xb1:\xe3?\x99\x5c\xfe{\xb5\xfe\ +\xa3\x9cB\x14!@z\xb5\xba\x07\x9a\xad.=`\x12\ +\xe3\xc9%\xca\xd5t\xfby~\x0b\x0c\x83\xa9\xb1\xff{\ +w\xbb\x00\xc9VU4\x80\x11\xdbu\xa7y\xb7\xeb,\ +O}\x1d\xcc\x16>\x9d\xdc\xce\xb1\xd1\xf8_\xdb\xf9b\ +\xf13\x0e\xe2\xddE(:\x9do\x17\xd9g7f\xfe\ +X\xaeb\x5c,\xa3\xbcI\xe0\xad\xf2\xe3\xb8D\x83\xfb\ +t]\xa3\xe7Z\xab\xeav\xe86\xa4\x0eM\xa2\xf16\ +'S\xa3\x18\xf3yf\xb1z_\xa2\xf1\xba\xa2\xaaP\ +xA\x08\xa6\x18z\x1a\xa0}\x0cxj\x98\x01\x8bY\ +\xc9a\xc0\x91\xab\x96V\x13\xcc\x13Jt\x02\xda\x87\x83\ +\xed,y\x22\x89\xf0#\xdc\xf9\x14%\xf1R\xe0\xac\x81\ +\x05k\xa4\x167,\xea\xf4fVSB\x85d\x1ff\ +\x80\xc1K\xc0\xed\xf7-\xc5\xebr\x17\xbfw\xd5\xde]\ +\x99\xcdv\xbd\xfa#\xbb\x5c\xae\x965)\x16\xf7\xf2`\ +<-\x94\x7f\x83\xa5\x90x\xad\x1b\x99\xb58\xc6$\x22\ +.\xd7\x97W\xe7rIX\xc0\x00o\xe4\x87\x03\xba\x8e\ +\xa5H\x80\xf5t\xa3\xab\x10J5\x81\xb5\x81\xa6\x1ey\ +\x8fq\xb8\x98\xf8\xd6K\x07i8(\xa8+\x85\xf1\x9f\ +\xf6\x14U\xa2\x98R*\xb0*\xeeR\xbd\xb2\xc6\xfd\xa4\ +R\xf6c2*\xc5;7\xa3s\xdc\xe9@\xce\xbd\xbe\ +\xddQ\x03w\xe7\xcc8B\x9d\xe0\xcd\xb3\x140\xb9\xc8\ +L\xd7\x93\xbeE\xe0\xec[\xa9a\x8f 1\x1cY\x0b\ +\xd3\xb8$U\x0e\xefn\xe7KD}\x83\x9c\xeaz\x97\ +\xc1\xd5\x09b\x13\xaa_\xef\x02\x84Z\xd7>\x06jQ\ +jFTj\x8c\x0b\x88Q\xd9y4\x8901\xad\x15\ +R\xc8\x08d\x017 \x18Fy\xe3(\xce\xffV\x1f\ +s8`\xf4\xaa\xa6lQ\x17\x14\xb0\xb0\x0d\xd5\xbfE\ +TT\x92\xe8kh\xba\x9bm\xban\xdf&+\xeb\xb2\ +%\xcc\x9b'TP\x8c\xab\x9f\x8fL\xd0\x1d\xa0\x84\x80\ +C\x10\x03sh0\xe3\xa4\xed\xe1\xad\x93\x04\x92%G\ +\x0b$\x1b\x10Hn\xa3\xa4\xd9\xcb\xbb\xfe]\xdf^\x89\ +\x14\x10\x0e\xe7d\xb6\x8f\xe3\xeb\xe2\xc1\xe7\xb9\xee\x084\ +\x91\xda\x12\xa6\xc0\x17\xc3\xc4\xba\x8c\x0b\xc5p\x80\xea\xb9\ +\x06\x88a%\x12s\x01\x80\xc2\xe1\x12<\x1b\xc6\xbc\x10\ +LN\xd1\xa0h\xb8flT\xe5du$Mq\x8b\ +$\xa5\x22\x8aMb@'\x19\xd0Te\xd2\xd5(.\ +\x1e\x1bEe\x0b$\xef\xaa|T67\x8d\xc2\xba\x1d\ +\x19\xd5-\xa3\x12\xd6\x07\x08\xb6\xf2\x07+\xe7R\x0d\xd4\ +\x9d\x5c\xcd6\x0d\x1e\xeff\x91m\x08\x88\x9e\xeap\x12\ +\xdb\x86xj$\xbd\xad\xe4\x99\x9fI\xf9\xb0\xbc\x04\xa5\ +?\x84\x03\x02R\xb9\x22\xaa\x1es\x04\xdc@%-\x11\ +.9\xa7\xa2`b(G\xa9\xd5s\x0d\x10S\x8e\xc9\ +9\x15\x03\xd3D\xa9\xc4p\xa2E\xc7 !\x0a\xd3\xff\ +\x0c\xd3\x1c\xb5_\xe1.\x88\xfa\xcc\x5c\xd6 \x1a\xee\xc1\ +\xd7\x88\xf1\x8e\xb9\x00S\x88\x89\x10\xd8j=\xbf\x9e/\ +\xd1S\xf8%\xa2\x86\xe2\x97\x0c\x80\xa0\xb8-\xda\x00\xb6r@\ +Z\xd7v\xe1\xbd\x11\xb0\x0c\xc7\x8f];\xa3@\xfcU\ +E^\xffnR\x96\x10\x85\x82\x1a ]\xe6\xa3\x1a \ +\xee\xb6\xf9\x1a\xdd\xe2\xbc\x12\xdc\xa6\x09lL\x82\xe9\x91\ +ARD\x0c\xb3t#,R\xa8\xa2\x04i\xba,*\ +\x1f\xb0e\xde\x02j\xdd\xd91Ex^\x8d\xa35\xe0\ +\xb1\xc0\x01s\x87\xb1\xbc(?pf\xa9\x22\xb4.*\ +\xa0q5\x0e\x9e[`\x0a\x04s_\xa7P\x8d\xed\x83\ +\xe7\x04s@a\xc30T\xa3\xd7\x95G\x03\xab\x8fT\ +b\xde2\xc9\xe8H%L\x1a\xe2\xbe\xaaa\xafi\x1c\ +\xea\xd9PM\x99\xa6\xb6\xe8\xb9\xfa\xc8\x81Z`i\xb0\ +\x070\x7fp#\xad\xd5\xef{h\x0b\x5cL\xcb+\xe2\ +\xb2`\xe6hG\x5c,A.B\xda\x92\xb0b.\xea\ +\xa2\xe2oNY\xd8@\xa9\xa8\x04\xab*\xdb\xc0^\xdf\ +X\x84\xe2\xc7\xd1\x954\xa0\x89\xb8WV\xf7^\xcc\x07\ +\xd4\x81\xa3+L\xe6m\xea\xfa\xb8\xdb$'+\x0e\xa8\ +\xc8\xe9\x0at\xa85\xd4\xd1\x15~y\x00\xd8\xd5 (\ +\xc0\xd91\xc5g\xf7\x7f\x5cF\x01\x88\xf4\x8b `p\ +\xba:\xd7O\x5c\xc3\xe6\x9f\x1d\xb4\x16\xd4\x11TQ\xea\ +\xd2-\x19\xc3\x0d\xc8,\xaf\xb0j\x84\x8b)\x9a\xf1(\ +\x07\xa5,\xaf\x97Q\x13\xbeIR\xb5\xafB\x02\x09\x1d\ +j\x93W\xe2\x11\x1a\xe0\x98\x0f{\x85\x95 \xbd\xfa>\ +$\xac\x04m\x0a\xab7\xad\xf8\xa6\x15\x036\x14&\xfa\ +\x07\xa5bI\xd0\x1b\x0e\x9bd{%\xdd!\xf1\xa4Y\ +G:I\xbeW6i\x16\x15 \xfd\x82\xc9\xf5\xda\x92\ +K\xd2*\xd1#\x97\x94\xe4\xaa\x90K\x82\xc8\xa3\xe5\x12\ +\x88\x98\x86XB\xfe\x0d\x89%0\x91K\xb1\x04*\xef\ +\x90X\x02\xe9\x16\x10K\x8ah\xd6+\x96$\xd5&\x17\ +K\x92\xcb\xa3\xc4\x12k\xf8\xbe\x87#Mvp\x1c\xf0\ +M\xd8\xbc\x09\x9b\xb0\xb0Q\x5c`\x16\xc43\x08\x9b\xa0\ +\xdb\xca)\xd8g\xbc<\xbcS|\x8ae\x82\x01 \xab\ +\xac\x0b\xab)M4\x97}f\x15lo%\xb5\x18\xb8\ +\xb4\xb4\xb0\xd8\x99c)\xea\xde\xde2\xc1\xbd\xb2\xf2!\ +\x97]\xd8\x06\x0c\x9f\x12\xb0\xae\xed\xc2{#`Yn\ +\xdf\x82\xd5\xc7\xd1\xae\xca\x0b\xbc\xbe\x8b\x09\x19\xa9\x9d\xf1\ +\x0c\xc6\x9b\xb5\x1e@\xdcnQ\xda\xea\xa5\xa9.\x0dJ\ +.\x8eiM\x8b\x95\x08\xc1\x98TuQ\xf9\x90\x1b\xea\ +`\xe0Y+\xdcX\x02_\xb1\xbb\xea\x5cP\xfa\x0d\x5c\ +I\xde\xbd\xcdE|^\xe8\x16#@\xce\x00\x87\xd4e\ +e\x8b\xdc\x5cwmh\xe4\x00yQ\xeb&\xd0\x80w\ +%a!f\xfbm+j\xa1\xa9\x11\xfbm+60\ +\x96\xf2&\xd6\xde\xc4ZX\xaca\x0c\x97\x11\xdb\xf8\x92\ +\x9ds\x1aQV\xd5\x01\x04\xf0\xc2\x88.\xc4Q\x19?\ +\x00\xebM0U\x17\x15\x7fsY\xe4\x1a\xb8\xe8\x01u\ +\x01\xbb\xb2\xb2\x0d\xec\xf5\x8dER\x15\xb6\x14\xb4\x82f\ +^Y\xdd{1\x1f!s\x1f\x8fJKM]\x1fw\ +\x9b\xe4\xe2\x88\xe5\xec\xef\x04\x12\xac\x90\xe9\xee6\xc9U,\xc9c\ +\x17N\xc5j\xed\x8e\xe0c\xf7\xc5b\xa4\x95\xda\xc8\xb2\ + \xff\x93\xabX\x84\xa5y`^\xe2k\x04\x8e\xf9_\ +K{\xbf\x00\x16\x95\xb9\xaf\xdd\xb7$\xb8:Q-\x06\ +\xfe*)\xfc\xc2\xaaM\xae`\xa1\x95\xb4*r\xa0\xf8\ +u\x9bE\xd7Q\xa3\xc1\xa0\xe8\xbc\xe4\x92\x19U\x9e\xd5\ +\xad>\x02E2%-\x87\x8dH\x84\xb2Bks\xe8\ +]z}\x19\xd0\xc4\ +Q\xc0\xaa\xc1\x0b\x8a\xbd\xca\xa0\xb3\x8c=cX\xd37\ +\x06\x1d\xa0pj\xba\xab\x96X.[$\x86\x83\x91\xc9\ +[Xj\xcb\xa5\xe37\xa4\x09\xee\xb8\xb1!\x16\xf7\x8d\ +TL\xccQ\x84\x86\xff\xbaK\xd0O\xd8\x92A\xd6C\ +\xc0\xa7\x18!\x07\xe5\xfe\xc4\xfb\xeer\x0f5x\xc2|\ +\xe5Q\xdb+\x0e`\xb1\xc1\x04l\xef\xdex\xdb\x17\xda\ +\xda\xb84\x17\xcc\xc1\xddm\x0ctpk\xabkS'\ +\xa1j\x88\xe9\xb5g\xa7\xe2\xa3\xf76>\xc3\xe6\x12{\ +\xdc\xe6\xdaa\x9b\x1b\xe0\xdd\xee\xfez{\x18\xdc\xe2\xfc\ +&js\x8b\xdb2v\x9f\xf4\xf6E*\xab\xf5_\xb9\ +\x12A*\xb5\xb0O\xe2\xb1\x135\xcfy\xb6w \xe7\ +J\x22\xf6o.\x19\xf4\xf2\xd0C\x89\x0a o\x80T\ +vN9\xf3\xa4\xb2D\x7f\xd6\x04\x18\xf7\x04\x0a%f\ +\xc8}\x8az\x11\x92\x9c&~\xca9W\x8b(V\xb5\ +G\xb5\xd4\xb5{z8Q\xb7\xc0\x02\xd8\xe9\xecL\xb4\ +>N\xdd?M\xb2\x94V\xc1\xc9\xd6\x19\x90\xa8\xe8g\ +\xd8\x1e\xeb,\xc6o\x8cT\xc6\x17(\xb5\xc4\xe8\x11(\ +\xc2\xef\xa4I\xbb\x076-h\xa0\xc1\x1a\xd4Sx\xf4\ +Tk\xa0W\xa4<\xb6\xc9q\xd7v\x09OZ*%\ +\xfdR\xb3w\xa9\x94\x0c\x89\xb0\x1d\x10\x86\x03\x85\xe70\ +\x02>0\xdd!w\x17=\xd4\x84T\xcf\x10\x9b\xb6\xa3\ +\x16k2=\x8by\xce\x8f1\xcf\xc1\x9a\xd7\x03\xd6\xd1\ +\xf6`v\x01\x8b,\xe0\x11\xf5;\x85\x87\x9c\xa9\xce\x08\ +\x87h\xb8\xe5Xxk\xb4O\xa0\x0b\xce\x8f#\xe3\xde\ +\x95v&\xa0\x8d\x0b^\x1c\xebp\xd7k\xab\xbe\xf1\xcc\ +\xd74\x9e\xe4l \xcd\x13\x0f\x1d\x05X\x8aW\x9c\xf3\ +G\xbc\x1f\xff\xf9\xdd\xff\x03\x0b\xb0\x0a\x0c\x99\x9b\x00\x00\ +\ +" + +qt_resource_name = b"\ +\x00\x05\ +\x00o\xa6S\ +\x00i\ +\x00c\x00o\x00n\x00s\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x16\ +\x02\x1b\xe1\x0a\ +\x00g\ +\x00o\x00-\x00n\x00e\x00x\x00t\x00-\x00v\x00i\x00e\x00w\x00-\x00p\x00a\x00g\x00e\ +\x00.\x00s\x00v\x00g\x00z\ +\x00\x11\ +\x04\xf3\xa4*\ +\x00g\ +\x00o\x00-\x00n\x00e\x00x\x00t\x00-\x00v\x00i\x00e\x00w\x00.\x00s\x00v\x00g\x00z\ +\ +\x00\x15\ +\x01\x09v*\ +\x00g\ +\x00o\x00-\x00p\x00r\x00e\x00v\x00i\x00o\x00u\x00s\x00-\x00v\x00i\x00e\x00w\x00.\ +\x00s\x00v\x00g\x00z\ +\x00\x0d\ +\x0e\xb9\xa6*\ +\x00z\ +\x00o\x00o\x00m\x00-\x00o\x00u\x00t\x00.\x00s\x00v\x00g\x00z\ +\x00\x12\ +\x0al\x90\xca\ +\x00d\ +\x00o\x00c\x00u\x00m\x00e\x00n\x00t\x00-\x00o\x00p\x00e\x00n\x00.\x00s\x00v\x00g\ +\x00z\ +\x00\x1a\ +\x01d\xbbJ\ +\x00g\ +\x00o\x00-\x00p\x00r\x00e\x00v\x00i\x00o\x00u\x00s\x00-\x00v\x00i\x00e\x00w\x00-\ +\x00p\x00a\x00g\x00e\x00.\x00s\x00v\x00g\x00z\ +\x00\x0c\ +\x009l\x8a\ +\x00z\ +\x00o\x00o\x00m\x00-\x00i\x00n\x00.\x00s\x00v\x00g\x00z\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x10\x00\x02\x00\x00\x00\x07\x00\x00\x00\x03\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x010\x00\x00\x00\x00\x00\x01\x00\x00\xba\xe2\ +\x00\x00\x01\x81\x8a\xd9\xf0\x94\ +\x00\x00\x00|\x00\x00\x00\x00\x00\x01\x00\x00J'\ +\x00\x00\x01\x81\x8a\xd9\xf0\x94\ +\x00\x00\x00\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x89\xa4\ +\x00\x00\x01\x81\x8a\xd9\xf0\x94\ +\x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x81\x8a\xd9\xf0\x94\ +\x00\x00\x00T\x00\x00\x00\x00\x00\x01\x00\x001K\ +\x00\x00\x01\x81\x8a\xd9\xf0\x94\ +\x00\x00\x00\xcc\x00\x00\x00\x00\x00\x01\x00\x00x\xec\ +\x00\x00\x01\x81\x8a\xd9\xf0\x94\ +\x00\x00\x00\xac\x00\x00\x00\x00\x00\x01\x00\x00c\xbc\ +\x00\x00\x01\x81\x8a\xd9\xf0\x94\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/pdfwidgets/pdfviewer/ui_mainwindow.py b/examples/pdfwidgets/pdfviewer/ui_mainwindow.py new file mode 100644 index 0000000..e421576 --- /dev/null +++ b/examples/pdfwidgets/pdfviewer/ui_mainwindow.py @@ -0,0 +1,259 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'mainwindow.ui' +## +## Created by: Qt User Interface Compiler version 6.4.0 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient, + QCursor, QFont, QFontDatabase, QGradient, + QIcon, QImage, QKeySequence, QLinearGradient, + QPainter, QPalette, QPixmap, QRadialGradient, + QTransform) +from PySide6.QtPdfWidgets import QPdfView +from PySide6.QtWidgets import (QApplication, QHeaderView, QMainWindow, QMenu, + QMenuBar, QSizePolicy, QSplitter, QStatusBar, + QTabWidget, QToolBar, QTreeView, QVBoxLayout, + QWidget) +import resources_rc + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + if not MainWindow.objectName(): + MainWindow.setObjectName(u"MainWindow") + MainWindow.resize(700, 600) + MainWindow.setUnifiedTitleAndToolBarOnMac(True) + self.actionOpen = QAction(MainWindow) + self.actionOpen.setObjectName(u"actionOpen") + icon = QIcon() + iconThemeName = u"document-open" + if QIcon.hasThemeIcon(iconThemeName): + icon = QIcon.fromTheme(iconThemeName) + else: + icon.addFile(u":/icons/images/document-open.svgz", QSize(), QIcon.Normal, QIcon.Off) + + self.actionOpen.setIcon(icon) + self.actionQuit = QAction(MainWindow) + self.actionQuit.setObjectName(u"actionQuit") + icon1 = QIcon(QIcon.fromTheme(u"application-exit")) + self.actionQuit.setIcon(icon1) + self.actionAbout = QAction(MainWindow) + self.actionAbout.setObjectName(u"actionAbout") + icon2 = QIcon(QIcon.fromTheme(u"help-about")) + self.actionAbout.setIcon(icon2) + self.actionAbout_Qt = QAction(MainWindow) + self.actionAbout_Qt.setObjectName(u"actionAbout_Qt") + self.actionZoom_In = QAction(MainWindow) + self.actionZoom_In.setObjectName(u"actionZoom_In") + icon3 = QIcon() + iconThemeName = u"zoom-in" + if QIcon.hasThemeIcon(iconThemeName): + icon3 = QIcon.fromTheme(iconThemeName) + else: + icon3.addFile(u":/icons/images/zoom-in.svgz", QSize(), QIcon.Normal, QIcon.Off) + + self.actionZoom_In.setIcon(icon3) + self.actionZoom_Out = QAction(MainWindow) + self.actionZoom_Out.setObjectName(u"actionZoom_Out") + icon4 = QIcon() + iconThemeName = u"zoom-out" + if QIcon.hasThemeIcon(iconThemeName): + icon4 = QIcon.fromTheme(iconThemeName) + else: + icon4.addFile(u":/icons/images/zoom-out.svgz", QSize(), QIcon.Normal, QIcon.Off) + + self.actionZoom_Out.setIcon(icon4) + self.actionPrevious_Page = QAction(MainWindow) + self.actionPrevious_Page.setObjectName(u"actionPrevious_Page") + icon5 = QIcon() + iconThemeName = u"go-previous-view-page" + if QIcon.hasThemeIcon(iconThemeName): + icon5 = QIcon.fromTheme(iconThemeName) + else: + icon5.addFile(u":/icons/images/go-previous-view-page.svgz", QSize(), QIcon.Normal, QIcon.Off) + + self.actionPrevious_Page.setIcon(icon5) + self.actionNext_Page = QAction(MainWindow) + self.actionNext_Page.setObjectName(u"actionNext_Page") + icon6 = QIcon() + iconThemeName = u"go-next-view-page" + if QIcon.hasThemeIcon(iconThemeName): + icon6 = QIcon.fromTheme(iconThemeName) + else: + icon6.addFile(u":/icons/images/go-next-view-page.svgz", QSize(), QIcon.Normal, QIcon.Off) + + self.actionNext_Page.setIcon(icon6) + self.actionContinuous = QAction(MainWindow) + self.actionContinuous.setObjectName(u"actionContinuous") + self.actionContinuous.setCheckable(True) + self.actionBack = QAction(MainWindow) + self.actionBack.setObjectName(u"actionBack") + self.actionBack.setEnabled(False) + icon7 = QIcon() + icon7.addFile(u":/icons/images/go-previous-view.svgz", QSize(), QIcon.Normal, QIcon.Off) + self.actionBack.setIcon(icon7) + self.actionForward = QAction(MainWindow) + self.actionForward.setObjectName(u"actionForward") + self.actionForward.setEnabled(False) + icon8 = QIcon() + icon8.addFile(u":/icons/images/go-next-view.svgz", QSize(), QIcon.Normal, QIcon.Off) + self.actionForward.setIcon(icon8) + self.centralWidget = QWidget(MainWindow) + self.centralWidget.setObjectName(u"centralWidget") + self.verticalLayout = QVBoxLayout(self.centralWidget) + self.verticalLayout.setSpacing(0) + self.verticalLayout.setContentsMargins(11, 11, 11, 11) + self.verticalLayout.setObjectName(u"verticalLayout") + self.verticalLayout.setContentsMargins(0, 0, 0, 0) + self.widget = QWidget(self.centralWidget) + self.widget.setObjectName(u"widget") + self.verticalLayout_2 = QVBoxLayout(self.widget) + self.verticalLayout_2.setSpacing(0) + self.verticalLayout_2.setContentsMargins(11, 11, 11, 11) + self.verticalLayout_2.setObjectName(u"verticalLayout_2") + self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) + self.splitter = QSplitter(self.widget) + self.splitter.setObjectName(u"splitter") + self.splitter.setOrientation(Qt.Horizontal) + self.tabWidget = QTabWidget(self.splitter) + self.tabWidget.setObjectName(u"tabWidget") + sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth()) + self.tabWidget.setSizePolicy(sizePolicy) + self.tabWidget.setTabPosition(QTabWidget.West) + self.tabWidget.setDocumentMode(False) + self.bookmarkTab = QWidget() + self.bookmarkTab.setObjectName(u"bookmarkTab") + self.verticalLayout_3 = QVBoxLayout(self.bookmarkTab) + self.verticalLayout_3.setSpacing(0) + self.verticalLayout_3.setContentsMargins(11, 11, 11, 11) + self.verticalLayout_3.setObjectName(u"verticalLayout_3") + self.verticalLayout_3.setContentsMargins(2, 2, 2, 2) + self.bookmarkView = QTreeView(self.bookmarkTab) + self.bookmarkView.setObjectName(u"bookmarkView") + sizePolicy.setHeightForWidth(self.bookmarkView.sizePolicy().hasHeightForWidth()) + self.bookmarkView.setSizePolicy(sizePolicy) + self.bookmarkView.setHeaderHidden(True) + + self.verticalLayout_3.addWidget(self.bookmarkView) + + self.tabWidget.addTab(self.bookmarkTab, "") + self.pagesTab = QWidget() + self.pagesTab.setObjectName(u"pagesTab") + self.tabWidget.addTab(self.pagesTab, "") + self.splitter.addWidget(self.tabWidget) + self.pdfView = QPdfView(self.splitter) + self.pdfView.setObjectName(u"pdfView") + sizePolicy1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) + sizePolicy1.setHorizontalStretch(10) + sizePolicy1.setVerticalStretch(0) + sizePolicy1.setHeightForWidth(self.pdfView.sizePolicy().hasHeightForWidth()) + self.pdfView.setSizePolicy(sizePolicy1) + self.splitter.addWidget(self.pdfView) + + self.verticalLayout_2.addWidget(self.splitter) + + + self.verticalLayout.addWidget(self.widget) + + MainWindow.setCentralWidget(self.centralWidget) + self.menuBar = QMenuBar(MainWindow) + self.menuBar.setObjectName(u"menuBar") + self.menuBar.setGeometry(QRect(0, 0, 700, 23)) + self.menuFile = QMenu(self.menuBar) + self.menuFile.setObjectName(u"menuFile") + self.menuHelp = QMenu(self.menuBar) + self.menuHelp.setObjectName(u"menuHelp") + self.menuView = QMenu(self.menuBar) + self.menuView.setObjectName(u"menuView") + MainWindow.setMenuBar(self.menuBar) + self.mainToolBar = QToolBar(MainWindow) + self.mainToolBar.setObjectName(u"mainToolBar") + self.mainToolBar.setMovable(False) + self.mainToolBar.setFloatable(False) + MainWindow.addToolBar(Qt.TopToolBarArea, self.mainToolBar) + self.statusBar = QStatusBar(MainWindow) + self.statusBar.setObjectName(u"statusBar") + MainWindow.setStatusBar(self.statusBar) + + self.menuBar.addAction(self.menuFile.menuAction()) + self.menuBar.addAction(self.menuView.menuAction()) + self.menuBar.addAction(self.menuHelp.menuAction()) + self.menuFile.addAction(self.actionOpen) + self.menuFile.addAction(self.actionQuit) + self.menuHelp.addAction(self.actionAbout) + self.menuHelp.addAction(self.actionAbout_Qt) + self.menuView.addAction(self.actionZoom_In) + self.menuView.addAction(self.actionZoom_Out) + self.menuView.addAction(self.actionPrevious_Page) + self.menuView.addAction(self.actionNext_Page) + self.menuView.addSeparator() + self.menuView.addAction(self.actionContinuous) + self.mainToolBar.addAction(self.actionOpen) + self.mainToolBar.addSeparator() + self.mainToolBar.addAction(self.actionZoom_Out) + self.mainToolBar.addAction(self.actionZoom_In) + self.mainToolBar.addSeparator() + self.mainToolBar.addAction(self.actionBack) + self.mainToolBar.addAction(self.actionForward) + + self.retranslateUi(MainWindow) + + self.tabWidget.setCurrentIndex(0) + + + QMetaObject.connectSlotsByName(MainWindow) + # setupUi + + def retranslateUi(self, MainWindow): + MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"PDF Viewer", None)) + self.actionOpen.setText(QCoreApplication.translate("MainWindow", u"Open...", None)) +#if QT_CONFIG(shortcut) + self.actionOpen.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+O", None)) +#endif // QT_CONFIG(shortcut) + self.actionQuit.setText(QCoreApplication.translate("MainWindow", u"Quit", None)) +#if QT_CONFIG(shortcut) + self.actionQuit.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+Q", None)) +#endif // QT_CONFIG(shortcut) + self.actionAbout.setText(QCoreApplication.translate("MainWindow", u"About", None)) + self.actionAbout_Qt.setText(QCoreApplication.translate("MainWindow", u"About Qt", None)) + self.actionZoom_In.setText(QCoreApplication.translate("MainWindow", u"Zoom In", None)) +#if QT_CONFIG(shortcut) + self.actionZoom_In.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl++", None)) +#endif // QT_CONFIG(shortcut) + self.actionZoom_Out.setText(QCoreApplication.translate("MainWindow", u"Zoom Out", None)) +#if QT_CONFIG(shortcut) + self.actionZoom_Out.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+-", None)) +#endif // QT_CONFIG(shortcut) + self.actionPrevious_Page.setText(QCoreApplication.translate("MainWindow", u"Previous Page", None)) +#if QT_CONFIG(shortcut) + self.actionPrevious_Page.setShortcut(QCoreApplication.translate("MainWindow", u"PgUp", None)) +#endif // QT_CONFIG(shortcut) + self.actionNext_Page.setText(QCoreApplication.translate("MainWindow", u"Next Page", None)) +#if QT_CONFIG(shortcut) + self.actionNext_Page.setShortcut(QCoreApplication.translate("MainWindow", u"PgDown", None)) +#endif // QT_CONFIG(shortcut) + self.actionContinuous.setText(QCoreApplication.translate("MainWindow", u"Continuous", None)) + self.actionBack.setText(QCoreApplication.translate("MainWindow", u"Back", None)) +#if QT_CONFIG(tooltip) + self.actionBack.setToolTip(QCoreApplication.translate("MainWindow", u"back to previous view", None)) +#endif // QT_CONFIG(tooltip) + self.actionForward.setText(QCoreApplication.translate("MainWindow", u"Forward", None)) +#if QT_CONFIG(tooltip) + self.actionForward.setToolTip(QCoreApplication.translate("MainWindow", u"forward to next view", None)) +#endif // QT_CONFIG(tooltip) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.bookmarkTab), QCoreApplication.translate("MainWindow", u"Bookmarks", None)) + self.tabWidget.setTabText(self.tabWidget.indexOf(self.pagesTab), QCoreApplication.translate("MainWindow", u"Pages", None)) + self.menuFile.setTitle(QCoreApplication.translate("MainWindow", u"File", None)) + self.menuHelp.setTitle(QCoreApplication.translate("MainWindow", u"Help", None)) + self.menuView.setTitle(QCoreApplication.translate("MainWindow", u"View", None)) + # retranslateUi + diff --git a/examples/pdfwidgets/pdfviewer/zoomselector.py b/examples/pdfwidgets/pdfviewer/zoomselector.py new file mode 100644 index 0000000..6f9f972 --- /dev/null +++ b/examples/pdfwidgets/pdfviewer/zoomselector.py @@ -0,0 +1,59 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtPdfWidgets import QPdfView +from PySide6.QtWidgets import QComboBox +from PySide6.QtCore import Signal, Slot + + +class ZoomSelector(QComboBox): + + zoom_mode_changed = Signal(QPdfView.ZoomMode) + zoom_factor_changed = Signal(float) + + def __init__(self, parent): + super().__init__(parent) + self.setEditable(True) + + self.addItem("Fit Width") + self.addItem("Fit Page") + self.addItem("12%") + self.addItem("25%") + self.addItem("33%") + self.addItem("50%") + self.addItem("66%") + self.addItem("75%") + self.addItem("100%") + self.addItem("125%") + self.addItem("150%") + self.addItem("200%") + self.addItem("400%") + + self.currentTextChanged.connect(self.on_current_text_changed) + self.lineEdit().editingFinished.connect(self._editing_finished) + + @Slot(float) + def set_zoom_factor(self, zoomFactor): + percent = int(zoomFactor * 100) + self.setCurrentText(f"{percent}%") + + @Slot() + def reset(self): + self.setCurrentIndex(8) # 100% + + @Slot(str) + def on_current_text_changed(self, text): + if text == "Fit Width": + self.zoom_mode_changed.emit(QPdfView.ZoomMode.FitToWidth) + elif text == "Fit Page": + self.zoom_mode_changed.emit(QPdfView.ZoomMode.FitInView) + elif text.endswith("%"): + factor = 1.0 + zoom_level = int(text[:-1]) + factor = zoom_level / 100.0 + self.zoom_mode_changed.emit(QPdfView.ZoomMode.Custom) + self.zoom_factor_changed.emit(factor) + + @Slot() + def _editing_finished(self): + self.on_current_text_changed(self.lineEdit().text()) diff --git a/examples/qml/editingmodel/MovingRectangle.qml b/examples/qml/editingmodel/MovingRectangle.qml new file mode 100644 index 0000000..b99a5f4 --- /dev/null +++ b/examples/qml/editingmodel/MovingRectangle.qml @@ -0,0 +1,78 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +import QtQuick +import QtQuick.Controls + +Rectangle { + id: root + property int modelIndex + property Item dragParent + property Item sizeParent + property alias text: zone.text + property alias bgColor: root.color + + anchors { + horizontalCenter: parent.horizontalCenter + verticalCenter: parent.verticalCenter + } + color: backgroundColor + anchors.fill: sizeParent + border.color: "yellow" + border.width: 0 + TextArea { + id: zone + anchors.centerIn: parent + text: display + onTextChanged: model.edit = text + } + + MouseArea { + id: zoneMouseArea + anchors.fill: parent + + acceptedButtons: Qt.MiddleButton + onClicked: function(mouse) { + if (mouse.button == Qt.MiddleButton) + lv.model.remove(index) + else + mouse.accepted = false + } + } + DragHandler { + id: dragHandler + xAxis { + + enabled: true + minimum: 0 + maximum: lv.width - droparea.width + } + yAxis.enabled: false + acceptedButtons: Qt.LeftButton + } + Drag.active: dragHandler.active + Drag.source: root + Drag.hotSpot.x: width / 2 + + states: [ + State { + when: dragHandler.active + ParentChange { + target: root + parent: root.dragParent + } + + AnchorChanges { + target: root + anchors.horizontalCenter: undefined + anchors.verticalCenter: undefined + } + PropertyChanges { + target: root + opacity: 0.6 + border.width: 3 + } + } + ] +} diff --git a/examples/qml/editingmodel/doc/editingmodel.rst b/examples/qml/editingmodel/doc/editingmodel.rst new file mode 100644 index 0000000..d76bebc --- /dev/null +++ b/examples/qml/editingmodel/doc/editingmodel.rst @@ -0,0 +1,14 @@ +QAbstractListModel in QML +========================= + +This example shows how to add, remove and move items inside a QML +ListView, but showing and editing the data via roles using a +QAbstractListModel from Python. + +You can add new elements and reset the view using the two top buttons, +remove elements by 'middle click' the element, and move the elements +with a 'left click' plus dragging the item around. + +.. image:: qabstractlistmodelqml.png + :width: 400 + :alt: QAbstractListModel/ListView Screenshot diff --git a/examples/qml/editingmodel/doc/qabstractlistmodelqml.png b/examples/qml/editingmodel/doc/qabstractlistmodelqml.png new file mode 100644 index 0000000000000000000000000000000000000000..6e181fba1777335add476892672d24bfdb7fb716 GIT binary patch literal 45810 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
-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 literal 0 HcmV?d00001 diff --git a/examples/qml/editingmodel/main.py b/examples/qml/editingmodel/main.py new file mode 100644 index 0000000..00b3ae2 --- /dev/null +++ b/examples/qml/editingmodel/main.py @@ -0,0 +1,21 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys +from pathlib import Path + +from PySide6.QtCore import QUrl +from PySide6.QtGui import QGuiApplication +from PySide6.QtQml import QQmlApplicationEngine + +from model import BaseModel + +if __name__ == "__main__": + app = QGuiApplication(sys.argv) + engine = QQmlApplicationEngine() + qml_file = Path(__file__).parent / "main.qml" + engine.load(QUrl.fromLocalFile(qml_file)) + + if not engine.rootObjects(): + sys.exit(-1) + sys.exit(app.exec()) diff --git a/examples/qml/editingmodel/main.pyproject b/examples/qml/editingmodel/main.pyproject new file mode 100644 index 0000000..71272a9 --- /dev/null +++ b/examples/qml/editingmodel/main.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["model.py","main.qml","main.py","MovingRectangle.qml"] +} diff --git a/examples/qml/editingmodel/main.qml b/examples/qml/editingmodel/main.qml new file mode 100644 index 0000000..2318ae8 --- /dev/null +++ b/examples/qml/editingmodel/main.qml @@ -0,0 +1,106 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtQuick.Window +import BaseModel + +Window { + title: "Moving Rectangle" + width: 800 + height: 480 + visible: true + id: mainWindow + + Column { + spacing: 20 + anchors.fill: parent + id: mainColumn + Text { + padding: 20 + font.pointSize: 10 + width: 600 + wrapMode: Text.Wrap + text: "This example shows how to add, remove and move items inside a QML ListView.\n +It shows and edits data via roles using QAbstractListModel on the Python side.\n +Use the 'Middle click' on top of a rectangle to remove an item.\n +'Left click' and drag to move the items." + } + + Button { + anchors { + left: mainColumn.left + right: mainColumn.right + margins: 30 + } + text: "Reset view" + onClicked: lv.model.reset() + } + + Button { + anchors { + left: mainColumn.left + right: mainColumn.right + margins: 30 + } + text: "Add element" + onClicked: lv.model.append() + } + + ListView { + id: lv + anchors { + left: mainColumn.left + right: mainColumn.right + margins: 30 + } + + height: 200 + model: BaseModel {} + orientation: ListView.Horizontal + displaced: Transition { + NumberAnimation { + properties: "x,y" + easing.type: Easing.OutQuad + } + } + delegate: DropArea { + id: droparea + width: ratio * lv.width + height: lv.height + + onEntered: function (drag) { + let dragindex = drag.source.modelIndex + if (index === dragindex) + return + lv.model.move(dragindex, index) + } + + MovingRectangle { + modelIndex: index + dragParent: lv + sizeParent: droparea + } + } + + MouseArea { + id: lvMousearea + anchors.fill: lv + z: -1 + } + Rectangle { + id: lvBackground + anchors.fill: lv + anchors.margins: -border.width + color: "white" + border.color: "black" + border.width: 5 + z: -1 + } + Component.onCompleted: { + lv.model.reset() + } + } + } +} diff --git a/examples/qml/editingmodel/model.py b/examples/qml/editingmodel/model.py new file mode 100644 index 0000000..5914978 --- /dev/null +++ b/examples/qml/editingmodel/model.py @@ -0,0 +1,157 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +from PySide6.QtCore import (QAbstractListModel, QByteArray, QModelIndex, Qt, + Slot) +from PySide6.QtGui import QColor +from PySide6.QtQml import QmlElement + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "BaseModel" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class BaseModel(QAbstractListModel): + + RatioRole = Qt.UserRole + 1 + + def __init__(self, parent=None): + super().__init__(parent=parent) + self.db = [] + + def rowCount(self, parent=QModelIndex()): + return len(self.db) + + def roleNames(self): + default = super().roleNames() + default[self.RatioRole] = QByteArray(b"ratio") + default[Qt.BackgroundRole] = QByteArray(b"backgroundColor") + return default + + def data(self, index, role: int): + if not self.db: + ret = None + elif not index.isValid(): + ret = None + elif role == Qt.DisplayRole: + ret = self.db[index.row()]["text"] + elif role == Qt.BackgroundRole: + ret = self.db[index.row()]["bgColor"] + elif role == self.RatioRole: + ret = self.db[index.row()]["ratio"] + else: + ret = None + return ret + + def setData(self, index, value, role): + if not index.isValid(): + return False + if role == Qt.EditRole: + self.db[index.row()]["text"] = value + return True + + @Slot(result=bool) + def append(self): + """Slot to append a row at the end""" + return self.insertRow(self.rowCount()) + + def insertRow(self, row): + """Insert a single row at row""" + return self.insertRows(row, 0) + + def insertRows(self, row: int, count, index=QModelIndex()): + """Insert n rows (n = 1 + count) at row""" + + self.beginInsertRows(QModelIndex(), row, row + count) + + # start database work + if len(self.db): + newid = max(x["id"] for x in self.db) + 1 + else: + newid = 1 + for i in range(count + 1): # at least one row + self.db.insert( + row, {"id": newid, "text": "new", "bgColor": QColor("purple"), "ratio": 0.2} + ) + # end database work + self.endInsertRows() + return True + + @Slot(int, int, result=bool) + def move(self, source: int, target: int): + """Slot to move a single row from source to target""" + return self.moveRow(QModelIndex(), source, QModelIndex(), target) + + def moveRow(self, sourceParent, sourceRow, dstParent, dstChild): + """Move a single row""" + return self.moveRows(sourceParent, sourceRow, 0, dstParent, dstChild) + + def moveRows(self, sourceParent, sourceRow, count, dstParent, dstChild): + """Move n rows (n=1+ count) from sourceRow to dstChild""" + + if sourceRow == dstChild: + return False + + elif sourceRow > dstChild: + end = dstChild + + else: + end = dstChild + 1 + + self.beginMoveRows(QModelIndex(), sourceRow, sourceRow + count, QModelIndex(), end) + + # start database work + pops = self.db[sourceRow : sourceRow + count + 1] + if sourceRow > dstChild: + self.db = ( + self.db[:dstChild] + + pops + + self.db[dstChild:sourceRow] + + self.db[sourceRow + count + 1 :] + ) + else: + start = self.db[:sourceRow] + middle = self.db[dstChild : dstChild + 1] + endlist = self.db[dstChild + count + 1 :] + self.db = start + middle + pops + endlist + # end database work + + self.endMoveRows() + return True + + @Slot(int, result=bool) + def remove(self, row: int): + """Slot to remove one row""" + return self.removeRow(row) + + def removeRow(self, row, parent=QModelIndex()): + """Remove one row at index row""" + return self.removeRows(row, 0, parent) + + def removeRows(self, row: int, count: int, parent=QModelIndex()): + """Remove n rows (n=1+count) starting at row""" + self.beginRemoveRows(QModelIndex(), row, row + count) + + # start database work + self.db = self.db[:row] + self.db[row + count + 1 :] + # end database work + + self.endRemoveRows() + return True + + @Slot(result=bool) + def reset(self): + self.beginResetModel() + self.resetInternalData() # should work without calling it ? + self.endResetModel() + return True + + def resetInternalData(self): + self.db = [ + {"id": 3, "bgColor": QColor("red"), "ratio": 0.15, "text": "first"}, + {"id": 1, "bgColor": QColor("blue"), "ratio": 0.1, "text": "second"}, + {"id": 2, "bgColor": QColor("green"), "ratio": 0.2, "text": "third"}, + ] diff --git a/examples/qml/signals/pytoqml1/main.py b/examples/qml/signals/pytoqml1/main.py new file mode 100644 index 0000000..5bc27a5 --- /dev/null +++ b/examples/qml/signals/pytoqml1/main.py @@ -0,0 +1,31 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +from pathlib import Path +import sys +from PySide6.QtCore import QTimer, QUrl +from PySide6.QtGui import QGuiApplication +from PySide6.QtQuick import QQuickView + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + + timer = QTimer() + timer.start(2000) + + view = QQuickView() + qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml') + view.setSource(QUrl.fromLocalFile(qml_file)) + if view.status() == QQuickView.Error: + sys.exit(-1) + root = view.rootObject() + + timer.timeout.connect(root.updateRotater) + + view.show() + res = app.exec() + # Deleting the view before it goes out of scope is required to make sure all child QML instances + # are destroyed in the correct order. + del view + sys.exit(res) diff --git a/examples/qml/signals/pytoqml1/pytoqml1.pyproject b/examples/qml/signals/pytoqml1/pytoqml1.pyproject new file mode 100644 index 0000000..e6f087c --- /dev/null +++ b/examples/qml/signals/pytoqml1/pytoqml1.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "view.qml"] +} diff --git a/examples/qml/signals/pytoqml1/view.qml b/examples/qml/signals/pytoqml1/view.qml new file mode 100644 index 0000000..af2d966 --- /dev/null +++ b/examples/qml/signals/pytoqml1/view.qml @@ -0,0 +1,36 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Rectangle { + id: page + + function updateRotater() { + rotater.angle = rotater.angle + 45 + } + + width: 500; height: 200 + color: "lightgray" + + Rectangle { + id: rotater + property real angle : 0 + x: 240 + width: 100; height: 10 + color: "black" + y: 95 + + transform: Rotation { + origin.x: 10; origin.y: 5 + angle: rotater.angle + Behavior on angle { + SpringAnimation { + spring: 1.4 + damping: .05 + } + } + } + } + +} diff --git a/examples/qml/signals/pytoqml2/main.py b/examples/qml/signals/pytoqml2/main.py new file mode 100644 index 0000000..3a3650a --- /dev/null +++ b/examples/qml/signals/pytoqml2/main.py @@ -0,0 +1,54 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +from pathlib import Path +import sys +from PySide6.QtCore import QObject, QTimer, QUrl, Signal, Slot +from PySide6.QtGui import QGuiApplication +from PySide6.QtQuick import QQuickView +from PySide6.QtQml import QmlElement + + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "examples.signals.pytoqml2" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class RotateValue(QObject): + valueChanged = Signal(int, arguments=['val']) + + def __init__(self): + super().__init__() + self.r = 0 + + @Slot() + def increment(self): + self.r = self.r + 10 + self.valueChanged.emit(self.r) + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + view = QQuickView() + + rotatevalue = RotateValue() + timer = QTimer() + timer.start(2000) + view.setInitialProperties({"rotatevalue": rotatevalue}) + + qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml') + view.setSource(QUrl.fromLocalFile(qml_file)) + if view.status() == QQuickView.Error: + sys.exit(-1) + + timer.timeout.connect(rotatevalue.increment) + + view.show() + res = app.exec() + # Deleting the view before it goes out of scope is required to make + # sure all child QML instances are destroyed in the correct order. + del view + sys.exit(res) diff --git a/examples/qml/signals/pytoqml2/pytoqml2.pyproject b/examples/qml/signals/pytoqml2/pytoqml2.pyproject new file mode 100644 index 0000000..e6f087c --- /dev/null +++ b/examples/qml/signals/pytoqml2/pytoqml2.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "view.qml"] +} diff --git a/examples/qml/signals/pytoqml2/view.qml b/examples/qml/signals/pytoqml2/view.qml new file mode 100644 index 0000000..2e9128f --- /dev/null +++ b/examples/qml/signals/pytoqml2/view.qml @@ -0,0 +1,30 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQml + +import examples.signals.pytoqml2 1.0 + +Rectangle { + id: page + + width: 500; height: 200 + color: "lightgray" + required property RotateValue rotatevalue + + Text { + id: helloText + text: "Hello world!" + anchors.horizontalCenter: page.horizontalCenter + y: 30 + font.pointSize: 24; font.bold: true + } + + Connections { + target: rotatevalue + function onValueChanged(val) { + helloText.rotation = val + } + } +} diff --git a/examples/qml/signals/qmltopy1/main.py b/examples/qml/signals/qmltopy1/main.py new file mode 100644 index 0000000..8396690 --- /dev/null +++ b/examples/qml/signals/qmltopy1/main.py @@ -0,0 +1,50 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +from pathlib import Path +import sys +from PySide6.QtCore import QObject, QUrl, Slot +from PySide6.QtGui import QGuiApplication +from PySide6.QtQuick import QQuickView +from PySide6.QtQml import QmlElement + + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "examples.signals.qmltopy1" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class Console(QObject): + """Output stuff on the console.""" + + @Slot(str) + @Slot('double') + def output(self, s): + print(s) + + @Slot(str) + def outputStr(self, s): + print(s) + + @Slot('double') + def outputFloat(self, x): + print(x) + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + view = QQuickView() + + qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml') + view.setSource(QUrl.fromLocalFile(qml_file)) + if view.status() == QQuickView.Error: + sys.exit(-1) + view.show() + res = app.exec() + # Deleting the view before it goes out of scope is required to make sure all child QML instances + # are destroyed in the correct order. + del view + sys.exit(res) diff --git a/examples/qml/signals/qmltopy1/qmltopy1.pyproject b/examples/qml/signals/qmltopy1/qmltopy1.pyproject new file mode 100644 index 0000000..e6f087c --- /dev/null +++ b/examples/qml/signals/qmltopy1/qmltopy1.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "view.qml"] +} diff --git a/examples/qml/signals/qmltopy1/view.qml b/examples/qml/signals/qmltopy1/view.qml new file mode 100644 index 0000000..b10e2e7 --- /dev/null +++ b/examples/qml/signals/qmltopy1/view.qml @@ -0,0 +1,54 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +import QtQuick + +import examples.signals.qmltopy1 1.0 + +Rectangle { + id: page + + width: 500; height: 200 + color: "lightgray" + + Console { + id: pyConsole + } + + Text { + id: helloText + text: "Hello world!" + anchors.horizontalCenter: page.horizontalCenter + y: 30 + font.pointSize: 24; font.bold: true + } + + Rectangle { + id: button + width: 150; height: 40 + color: "darkgray" + anchors.horizontalCenter: page.horizontalCenter + y: 120 + MouseArea { + id: buttonMouseArea + objectName: "buttonMouseArea" + anchors.fill: parent + onClicked: { + // once the "console" context has been declared, + // slots can be called like functions + pyConsole.outputFloat(123) + pyConsole.outputStr("foobar") + pyConsole.output(helloText.x) + pyConsole.output(helloText.text) + } + } + Text { + id: buttonText + text: "Press me!" + anchors.horizontalCenter: button.horizontalCenter + anchors.verticalCenter: button.verticalCenter + font.pointSize: 16 + } + } +} diff --git a/examples/qml/signals/qmltopy2/main.py b/examples/qml/signals/qmltopy2/main.py new file mode 100644 index 0000000..bc2e8d3 --- /dev/null +++ b/examples/qml/signals/qmltopy2/main.py @@ -0,0 +1,45 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +from pathlib import Path +import sys +from PySide6.QtCore import QObject, QUrl, Slot +from PySide6.QtGui import QGuiApplication +from PySide6.QtQuick import QQuickView +from PySide6.QtQml import QmlElement + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "examples.signals.qmltopy2" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class RotateValue(QObject): + def __init__(self): + super().__init__() + self.r = 0 + + # If a slot returns a value, the return value type must be explicitly + # defined in the decorator. + @Slot(result=int) + def val(self): + self.r = self.r + 10 + return self.r + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + view = QQuickView() + + qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml') + view.setSource(QUrl.fromLocalFile(qml_file)) + if view.status() == QQuickView.Error: + sys.exit(-1) + view.show() + res = app.exec() + # Deleting the view before it goes out of scope is required to make sure all child QML instances + # are destroyed in the correct order. + del view + sys.exit(res) diff --git a/examples/qml/signals/qmltopy2/qmltopy2.pyproject b/examples/qml/signals/qmltopy2/qmltopy2.pyproject new file mode 100644 index 0000000..e6f087c --- /dev/null +++ b/examples/qml/signals/qmltopy2/qmltopy2.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "view.qml"] +} diff --git a/examples/qml/signals/qmltopy2/view.qml b/examples/qml/signals/qmltopy2/view.qml new file mode 100644 index 0000000..4bbda57 --- /dev/null +++ b/examples/qml/signals/qmltopy2/view.qml @@ -0,0 +1,49 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +import examples.signals.qmltopy2 1.0 + +Rectangle { + id: page + + width: 500; height: 200 + color: "lightgray" + + RotateValue { + id: rotatevalue + } + + Text { + id: helloText + text: "Hello world!" + anchors.horizontalCenter: page.horizontalCenter + y: 30 + font.pointSize: 24; font.bold: true + } + + + Rectangle { + id: button + width: 150; height: 40 + color: "darkgray" + anchors.horizontalCenter: page.horizontalCenter + y: 120 + MouseArea { + id: buttonMouseArea + objectName: "buttonMouseArea" + anchors.fill: parent + onClicked: { + helloText.rotation = rotatevalue.val() + } + } + Text { + id: buttonText + text: "Press me!" + anchors.horizontalCenter: button.horizontalCenter + anchors.verticalCenter: button.verticalCenter + font.pointSize: 16 + } + } +} diff --git a/examples/qml/signals/qmltopy3/main.py b/examples/qml/signals/qmltopy3/main.py new file mode 100644 index 0000000..6a55548 --- /dev/null +++ b/examples/qml/signals/qmltopy3/main.py @@ -0,0 +1,33 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +from pathlib import Path +import sys +from PySide6.QtCore import QUrl +from PySide6.QtGui import QGuiApplication +from PySide6.QtQuick import QQuickView + + +def sayThis(s): + print(s) + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + view = QQuickView() + qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml') + view.setSource(QUrl.fromLocalFile(qml_file)) + if view.status() == QQuickView.Error: + sys.exit(-1) + + root = view.rootObject() + root.textRotationChanged.connect(sayThis) + root.buttonClicked.connect(lambda: sayThis("clicked button (QML top-level signal)")) + + view.show() + res = app.exec() + # Deleting the view before it goes out of scope is required to make sure all child QML instances + # are destroyed in the correct order. + del view + sys.exit(res) diff --git a/examples/qml/signals/qmltopy3/qmltopy3.pyproject b/examples/qml/signals/qmltopy3/qmltopy3.pyproject new file mode 100644 index 0000000..e6f087c --- /dev/null +++ b/examples/qml/signals/qmltopy3/qmltopy3.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "view.qml"] +} diff --git a/examples/qml/signals/qmltopy3/view.qml b/examples/qml/signals/qmltopy3/view.qml new file mode 100644 index 0000000..3e8a0f5 --- /dev/null +++ b/examples/qml/signals/qmltopy3/view.qml @@ -0,0 +1,66 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Rectangle { + id: page + + signal buttonClicked + signal textRotationChanged(double rot) + + width: 500; height: 200 + color: "lightgray" + + Text { + id: helloText + text: "Hello world!" + y: 30 + x: page.width/2-width/2 + font.pointSize: 24; font.bold: true + onRotationChanged: textRotationChanged(rotation) + + states: State { + name: "down"; when: buttonMouseArea.pressed === true + PropertyChanges { + target: helloText; + rotation: 180; + y: 100; + } + } + + transitions: Transition { + from: ""; to: "down"; reversible: true + ParallelAnimation { + NumberAnimation { + properties: "y,rotation" + duration: 500 + easing.type: Easing.InOutQuad + } + } + } + } + + Rectangle { + id: button + width: 150; height: 40 + color: "darkgray" + anchors.horizontalCenter: page.horizontalCenter + y: 120 + MouseArea { + id: buttonMouseArea + objectName: "buttonMouseArea" + anchors.fill: parent + onClicked: { + buttonClicked() + } + } + Text { + id: buttonText + text: "Press me!" + anchors.horizontalCenter: button.horizontalCenter + anchors.verticalCenter: button.verticalCenter + font.pointSize: 16 + } + } +} diff --git a/examples/qml/signals/qmltopy4/main.py b/examples/qml/signals/qmltopy4/main.py new file mode 100644 index 0000000..8a56073 --- /dev/null +++ b/examples/qml/signals/qmltopy4/main.py @@ -0,0 +1,33 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +from pathlib import Path +import sys +from PySide6.QtCore import QObject, QUrl +from PySide6.QtGui import QGuiApplication +from PySide6.QtQuick import QQuickView + + +def sayThis(s): + print(s) + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + view = QQuickView() + qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml') + view.setSource(QUrl.fromLocalFile(qml_file)) + if view.status() == QQuickView.Error: + sys.exit(-1) + + root = view.rootObject() + button = root.findChild(QObject, "buttonMouseArea") + button.clicked.connect(lambda: sayThis("clicked button (signal directly connected)")) + + view.show() + res = app.exec() + # Deleting the view before it goes out of scope is required to make sure all child QML instances + # are destroyed in the correct order. + del view + sys.exit(res) diff --git a/examples/qml/signals/qmltopy4/qmltopy4.pyproject b/examples/qml/signals/qmltopy4/qmltopy4.pyproject new file mode 100644 index 0000000..e6f087c --- /dev/null +++ b/examples/qml/signals/qmltopy4/qmltopy4.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "view.qml"] +} diff --git a/examples/qml/signals/qmltopy4/view.qml b/examples/qml/signals/qmltopy4/view.qml new file mode 100644 index 0000000..771b14c --- /dev/null +++ b/examples/qml/signals/qmltopy4/view.qml @@ -0,0 +1,31 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Rectangle { + id: page + + width: 500; height: 200 + color: "lightgray" + + Rectangle { + id: button + width: 150; height: 40 + color: "darkgray" + anchors.horizontalCenter: page.horizontalCenter + anchors.verticalCenter: page.verticalCenter + MouseArea { + id: buttonMouseArea + objectName: "buttonMouseArea" + anchors.fill: parent + } + Text { + id: buttonText + text: "Press me!" + anchors.horizontalCenter: button.horizontalCenter + anchors.verticalCenter: button.verticalCenter + font.pointSize: 16 + } + } +} diff --git a/examples/qml/textproperties/doc/textproperties.png b/examples/qml/textproperties/doc/textproperties.png new file mode 100644 index 0000000000000000000000000000000000000000..b14bb73d7ab698c7e397f06304524f6d63214a83 GIT binary patch literal 14082 zcmd6uc|6o@+wff!N>U<4D3LHy_T5!ND3XkkZ6svRGWI1YYX})T7qT11GWKQ4mOX>9 z3}YR;vCr6s_ow@Q-ut=l_j&K<^ZfO`{+OB1e9k$S<996I<2X*C&$ZMT&$FMWqM~9{ zfAaVR6&1}*Dyl!e&{G57jH<<&Q&CBFs6T%A(qn9GB2-`3Dl2dEuy4G)S7AYp97JVC ze?E-nreKKlP(H*u++HXDJu1+}en{{C9E&g&qXF zP%}_by+@z!Ea2>a9&r=-KO6D4DgXBzzo-1?IsW~Ke{Ab?j(=?HA9MWM5&!mRH<26n z-bL4Xdw6z^f4k>Dt7>s<79QVPJaIJPZiw~00dm2T+Y}a?Q8Slj<|7CTX8=i=T^m1Q zvzPawIAy6iiW+uXnp+vd9=3_32X|)EFxWl)RV3pw|559jC4Wt@L#@%Ub?MmkE|%@d zr_hLSna#ZVsNC$^a>gaTUIqi))JAB%UKs^|&=Zv4p>9a8T z4x8Z@P+7|i0MY7s;&+t>`mFHxiU*QZE+w)%I;8Wj>tAOeDLjA}iq2Ak%dO)>Hxo6& zYc>xee=c2VKiuEn_o{1147|n`n^6JjIUvC;vtNvkj}?n0)+K3~#x>sYcx>uAlO%+= zN|{yIegi!G_vjzC(IR7pgJ!6t+o!d#4zuDk&-JqtcSX@KLzx7VkK zs|30#Dqfo2{t=FOKjbf&fPl{n*;20#j~ad3BFEYXzz8dUN?Aw6n+Cc>YfRi}`6dPF z)>BiwaafjdudFmSw_i&?x^_W;8vjeWPv#m&OZ#U_so^$Pas z+%%Cnl#KcM0@Vwx+p)yDzpYzzB?K#O_&GgWs&FhfbWNo#U&Canmt2vRTNa(E>pS)c zYT@j(Ule!m>nXctsM+f$H(8}^^d#4@Lubj*Va;gkc#^>yVm+=vdv_ir3m+7xO0K{-E6rCIe~B9#iX3!b zhS*y58hh7P^t?@nSoTX11T*hkNGV}uq1b{^SSOzxl2zh4?mco(k-DuYhpYW3r6%sJ z&>1b?K0`C?*VKK>AUdTaz~;KFJ@3ixb-zK0r*eNQu}j?cExubs!d2@2i8m9f;$3Y5 zTU1uEacOHTR!ZFI-sTh1iX5*NGb2yS^?)^v!OpLTe{naOK;-p_orbu2-!qAcbFdKcUuSuXtc+ zj#>_nwX9K>pFcJlw;q~bPg%mB7(+Hz%p2DB-?_7$guvutwB(-~?h+CY-C*3)OtzC` z_cLHy6H7OHZ@u17UnRToz2@&-1kTredR3Co)+6|>r`Xt*pJuMGucsdoa3W3k9BKVQ zo=AODzqwea$cf~gp{pX?u0XW%Z*iAOyV zl7*<*W73z0A}$@bqeA`?)u&Vr`X$-CaY6bh$(h$Z-aEu70`~ETsfj)66{?kvr(LG8 z$fq~*2CkUpPA`0y5u_uaXEpm_+;l(AgdJkC9dq7(;ODXysC?qpci32!j7?$2%hF$k zeMySkT&!v%a8!mj3Enm3f+WG&Te0Gwyst(r?F-)XOHa#_G?WXE@p3Z~b=XgoEgyRB z=hON|&9&nZ*3`ZX!l)g4d(M}p%SK`-C4%u?x6^h)L*1XYsKIp4?Q-m?rQ+$Wf0E?; z@7qf?Cdw}+5DT8CnJ$sZXW*`#ZL4mD*_%Gydw$C8J|5pNZzSNvFhUv2H!?&8+@UE8C&TBLE@5@625YO?%Db=(r8rHig=(d_%6 ziy)Vt&Ad_?=9ets6~fSjzLLE@pD=i+2Nggm81hT&HiGRar#A)+rERZOG_qaH9=&ucpFmTK4wbL^`@!EP{vQ#x= z6l-sV9d&Qxg3NDyB{u|Z$Jqr~_y(v`c79ZTYHY|BlU#lq*MUjs*LBCBQBp6#F1y^m znbwPF%)FmcgQ-kS5Fg7jVr`To*LAI`Ju{GS=Yh=%y8OddwzZyRVKG!K&(;w-s>Mi3 z*OT-cI-A|P2lDg?W&~pBZts%DIoyTp(ZIBOn-Pk-j-^SRv25NHg#ZF~`lyY>aO#ok z6y=x2Hmmk$Z10a$F(Yr9!rSgEJ7yDR8Hdbf#Kxh1$#mhv`!fw+LY=Du2#YAFX+D0; z&BgwUeR**P&RGK797_qW=WC`fipS?XWG_=NwHlhUtJF@bI{PiV?;HYuiGh;wr%HzfKRRQRrFY13PNp268E!1;y#C?uWYi7T) zk8_D#EEKZ!y0=InptlxfKYd#l6BzHca2_5f=eP(R@j8kkYwwI!jpWpdB#gjZ?W?3n zjv1l0#ja-RC-m07N_xH&In)3EnLnWsU<_I!KB*h5xq?`4ro-EPZxQm&TNbE4ykD9{c1c`zvSQEw&ktSiWW7^0k;WIKoUZ8VE+0)!-i0Ev#Mv zxQg1Ag&+GZAvVsdaA^G1yS;FkSp~besTn~gqpgXW+*jd4nZ25?epQM4Wc5ixiVEb^ zqrcC#ciPJvsj)zqN4wYDhprZ8%+IuqDprc{@6sP1J+TfRDiF~$kZsd(b_5}L@s~R+ zXbW3kmnIcPiEwx*pQ%ceV~{Os3mY))NnKsJeeoAA%T{psK8`E#_w~A2GCBgg?UYsAfOwWAHR_=2u;h_e>KW%xc4o-QNvM4ojijCvM;&{si0xUMaPl4o-?V z17Gto$e@=k%vhZ|6dB#$Oy?9HhE3)fKTcR~t8H|5_Sb`k<{o9mgx5M;Hp8L@rSf)+ ztAZRmMjN0{*YTHsOL5R;^Ma56vzh+x)%wi#>})+joZ2Nzd+&^5FIu|#D!U;mL*^L2 zqs?~CLK8QBce(x5A-R|szr7>AbP5l{9yE(bL8z&EN5`zUwHcSCJV(*ckd<-XCbk%J z#B1F!fi^VV+RROlX^c951N*K-EhfxTczth8%NdpRkdnw<&SGxMB?{; z!`K+N62rlhuko&1YKAc}ZlMn-jb+IvA4*6mwP}Vsi~WJ#@lnKA5?%VT(5T@xjd2uV zAfG};yMNc0V|I6px_jUN$>qS-3oZVAjJ+ zbBbk?kCwS%)i143uJVdE2uhuTEiPCl_c2h=*73mV9{`|iTxIXF+S<8fHpaWZco!6p z-pi^Y&MOrUCm`m7x6uDxSK{2@mT{2qYo{|hXu zCZ8;PR2`lE+<5z7;l@RP!##FOYEKR?dJ{?%7GzWU-5;M+G~WVd2+SEefxYteUyJzA zeBD<~Jd7zANFgq;LehhSC&!Q(us*I_!xo3|RPK#KZ(^AzuGdcKWy<{L@DZ2N6Pn1k zZNZzieoal=k@%&nrMTA%bT@iGgk-DJT}-V{A-IN**q3et`Z+ZO<2%-_iN(fcm98$Z z-Z+8bYn{ch?{7O}e!n+6oxa0o<*%M@)e{UIO3pQF+Dkm2ee!IO#8ay=DN-$2u@Rov z74qaf+X?Fl*VzCGU`_=ju=elYFVt#00sLWr3iL8CH?WU0Sh*_@w=4nV4K;CD>Mkeg zzkPf4?;`+>;6c)ZsKWvA0x!QmGXRO(-#=5KIp{${=_+kGs=8VB53u0Hb&CQfX_JY` zG<|dbeE0mC$>K{Q+1Baeu1dP5wjlrU#MFGPQSw!ql_(bpK0VImi?Jq-7;9IU1>=e9E zcTns+x%b@M)5u}5E;>tM-YZUEt$1ycf4R159>PBMRE^j$jqVggysWCK#9B_illSDW zD?rqcHqW*v6p|ej>|fgKdS#XB=H{39I1_5kH`X`^2*ffe2~$6yFsnW3Ycg3Z*wJ9` z?NL{xinvU309x*x@jlh4NiK-RRoyH_{<_->#l_VaJ0v7&8wU^%*r_g?kWa)n;0e7J zFnuU&@ES;hNw%z9jyS#ox+hi1fv`kOlbnVO>5F1^Qb-rWRSYL%;`KcDU$jQ7wplUK zDtmVkChMqIRFivuZSt1f5-BNNRIeL*D}fTH?0aiN6(o`jaa>m=72kpOhZgKoU%EB* zV@7{%{k5)17Sswu`IX!qcy)Gdpi}8afL@VQm1ILHx&W0R*CP{`!=aahgUz!C4i!nI zcdT423ih%!-$kPZC0^MI9-PIN(uS)HUx7qi&BCVW+Sjf@3O?sM$|KXnueBapg5ws* zESOZe8N+NJ3@2pxyyi>Qa2;I((jJx)JQ`KN;cDrkHak(2hAzMu6oJDV1r~yCBMS!M zk^JOZ>J_Y5_Gn&FKFAYWC;zia6Hs3KC$!Dt-o)lc=;&Cn_T)M}$kwI!V3(V^gzE%I`fL&bTfohhD-qsQ1WLY-Oz%xS%SwYrR-@t2 zP2}w6%uOURk^yc&qAenoURnNp4%%~4sNTRGw}R|8WXD*acn7E zyhs}^{510|s;P;KMFULTV1(i zjb@gzr<)vi1?WAGn|wLdDqTWHS?)ODm3Vt zAr}X$BFQz6^BnxQsp+WiR z;NIJ*ulZtRTNIeGeY6UwO0^H=VIue=wz*t{0i>rqQC={XmVMxtzHRo~%-A56>Y|po z*Qi%X>8>dn#MC*Hafc!C>xF`haSEE#>GpxN*oV*Zv13Ukc=8>Z6?KQeR*0#4?Ly+t z;aKFwEc<>p`R===bl_ZRmhx7+%8)>@iUOjk$GBVvCBGk&QCMhSvSuOJe*T%%@j2B7ebG@0A zbt$R!hbE%z5sW>N*-PJz0qWd{O!=;%lyf}$_z=Yti+?L9owdvXX>NL4z3`>-g`@RP zzh*0>gI;2{aKwUlFO*Zeq}mO! zJG18-Q6Wtix+0ilQ)Ba(L0bHT6!LMV!i(ezRO@vko-jVbiH_X0Gv!+Kp@_D-%l9kyl|NM1b* zSXIq+&D}Z-FBGM^U(g@KYQ;HCLIdJ#K^Vh02}+tg&hCNr(++ohC|cH&Z#|=Pupe@a z)S2Xj=rd?aT=mtpR&7E#n3gOeuO+)UTJACwbr~$2Pi_fRFu%hIrw7=+!R>^_^!nST6CFBg?nKw5QdK3`NZ*`@jNsn&CD-zRh<&q3VN!nyx^2Gcnp1O&jgIw^FBJH~}!Kp2)bgszPaxb4@p zju**gEM5d5Fc95=x(jt0y~I%$?N718urK< z4_zSy{>V|&9_-<~THcs7b<{<@@_aKNx0b4EoUt}kECZ?S4f3*Ie=+Pc8%0Em+PG3o z3W}P(NZvibKMP7`OAZzCoLSLl!h_`f?Wu zk%@zD3Bsx{-HEJRR_*1nmcU;4f_}*^o~}>|xf*KeJ$pzCS1)w1wb7A*kClBG_-*Vr zAWKzp4C}U$J2GqEq>FomR_kG^D66IeFFz|Yv!?8+$TpHxP_Tr%cUnhXZdYxlj2{F= zw)cD4>!_Ay(r52yl4WlKg zokY!HlZxTjSt50HYl6B^6CyJ36j9u2;lzGh7i``crP89SgWCK>QEVmoObL=#p0-cA zLMH_86&HCXOnL_iD3F(8JCpb=RDAC-;2Xc_gI^6}2FI`?5dEE-A{32vP5rRKu1;=K zXL%Qb327jytaG`(ZnQGla>DQB3jr>Yp+@-jIS>`PNd~zGdZZZsrH_aAcb)V%;{i$I zf5CM({|0?L{}=~I`qC*fo{}Q~@W1g<<#%fBPtm;5b(aCuemNo%?F?}H>DPbf$5YaE zgPtQzdiHWbNVeKDY-tqkteXIjMwioJ-#0sv&}HqJ6#s{(50Wpy;v_X5<=3!Hi|v7} ztTt_|^3Sz2Ri)wQ2LpB~`3RcG#qdezR4HWRlRBxXcg*BmSx4j0)T(x#({(CJSDUuM zL7zgO0$k24=XgS}=Ra0BoR!JcNvSGsIcAd1{E}T-I6#y!Hx8Y+DyKB{4sTfhri!Qa z`ijPC<%s7(ts(%&=q7&TDu3zmO4IR*(r=zuI-d2HJ6BrxI=IyVr_H}Z_#7;D5cziS zH^_VJs)G(!%{LEcPo#k{k@*9WlWx7<(pl>v$LE5T0a4I0g4#Vnhb0R9Gu0b&35>IY z|M}-C<}!Y3GHmU=QIWq>ndQHwGD77ky?5n)r#v5jr#w{02LIeI`FEKVfbIWhM+Fe^ z|ETBkFa46=?T>$SLr(iP|1#oVdM^LmFZrGG{pS%JOiWQBAt4_>e*F6N>$dR=UES8^ zpFf{yYir}xfR<47S$N*vPmi2nmk!D6Y&0H1K< z#zH&B(QthavsqU*Ly5B@`$yYR%DyHIu?{X|IE>}^{sdUhJgZM!+@fV~6G1~orNstG zOG_hl`4@r_?7cz2nvjg=^*fLC9igeZZgci)=Ry1JYPNdAjY-n=Xbg-F-uJ;VCI&0K zMKGkJqDr}k)5%5c>3%uv?n(r#NfF9!%`#ho{!oeROmVm z$hmXpGU2by&4Zf|dwU+GVGyTl0R%-6fhKkH`_`}6IXL2a2<=(Ee6zD6f~bO^g516W z_8~9jfgWKo3z0L}k;Q@Ch=n?l%bky~mM`D#vRmkRsu+jo2s?VyhXUfqkD@i6J!3_& zu(Qh^*?;=k z7fPL+Oa+Mfg#&Ppi|i1h3t902n9D02mje7c_dKZoY4apJue6B;;>VrKlE1@F*pB(& zEi)>k0!wA&&zu9OFk!J=!@jqTsxg#`3aw5p#K)&H_yPhM*{EV=XBPykKYQkjK*t2} z$uD{w3}U#U29GW8q+nEdBKI?YIb? zyBZyA;_VK_k%?=Bx!)yAN55&`R0!iZk8g6hJ^RaD=evoICZKI{9FQ2PEgc!aX`HO0 zW9r4YNf)T7?t4*d-ir^n>-_l>X?h$U5y8mF$f|v?xA*bWr`Gm%oD!EBV0@~s1HiW5 z`@e;bs;H`t@gtkQKFXNtya_y@pVXQgJ3B0_abLcCNlNl+)YQ-j^SE~T@`G+AF`)DO z|DTVX0uspJV714OA3u8ZNJFD@|6YE6{*2k1H{Wt|`PXm%?MN?y^Hs}+P!7rAf7HhT zB5OVmsxfNx+Fd^NN-sJ(IyN^q&CJXc6%}XpfBpJ3G6K=jpW%D(=Y=cUTS0)T*YhAB zONRQ%dXrWQ^a|zWQ{S2fs9q30?Apzs(C;O+;Ke!~;q?sT{=g4)!&=8Ias%yzIA7GpluJ*8V{ZMM zsf0eQAt8|>_I7t>VC};I!qSp;(@~YpP{Fj_lM7b@SYP;^zVr8;(HlmE>+*U_w zytT&&FXGho%iJ^Afapzi{6_%m_3PH@XvH`8cbS_3=iVx)oJK4=3s%Eptrha;>bB}J zM?1qck%j*EL{B!d`yU7?Cb8X&zjzh$V*Nci6MXOF9qG&{;FL}S-MbjH#*-(PP%IoA za)1f8w}Fbfd*;QRdHO?oLltgG71`EZN5&@fpgsefgA~W^ za&1^a(ELKYw#jXPf!@cS0o&LVa1N7-9!WEuB(@G+DfnQkk4H$>a4qC)Rd^ZS7b7@chlbD{o45qyMP&k z1>II^1M+k0pS_QK2Syi5fi@f8UY(IKCG>8M`LD`DPT}8D$V4;uh#%R9vU^)V8LJ=P zWzhaPP~eDQa*p1+r-b{~`-mE`gVe>p-suJS5LedXrT-WH05^ z?P^_u2nYyd!hihu5!8hE_3L@5hKX3mR0rVG z;Tcl=i@PjF*8zLJW&k}05J+YwGcz-QSAFj4>gt!7ZUd&hZx!?(^!CqC`TzJ5&QUgc zYhweT!Y9C=y1L9HpM->-{O8Y~cXoE>eE)W&&@kY9`gEoKCw>p!R{;(O3JKtg@6sZuZe z#byL}cwR3efTsYs)iB#nnCph3+;cZV*asGB-b>_iv*h}--p`yM89C>btzm25U*=kC zDRHbAKG}?}+RI%jO4pPNV}6u<1VqC3RjmItEymwQGIK3+^!Z?=karM0HpAnuq&&X` z=2uiLtceNL~tHg&dkoX3chXy>Nr(3-d*CKawF$o3US!1yxO%? zZY|Y5T5TTBE$Jy5;1Fkw)7uqBNogI8azKh7I`OAlyRJRcW0eq=Z4l+3ZYUll6_=Cc z``L22`y8=(UposJ3Mq%iJVzZ)q3^~E7&>daE6TOMcGiyFiRd49bM*Fb$JJ<4wv0Yi z>P|rPbZ`X&QuuL6TsSueU_Gw_;*ydCZ3M){UH5S385phL=&(+o05CA$>u;-6AqUfg- z^|PKx<0iNumgQUX?$h|nXVujgQUbGu#w?hMM#2&BUNySg6uYSUtAbqa*i^{8IWBAC zE7$bM^k``4AU2FFZ6}KV((97JI#3jIW{pvatfL+D-81n zN)q0#M5=~yC2bHSU@NU7P6|S2eSD3F(oo_ylJn|)=KIUM`L7oi#@h4im`8ir`_9YOp3^nNHX%Z z+Ge@OLJjQZ;(y@u^cnC#;^H3x*-I{=&&g1$Cw(n0CldNYjQsH(d>CZQYh{(KN9|uh z`)X>oYw`31ZiF~Zaw615ihVc)mj}ex+Qmh zw;;UKPx&moYtVlGKo!?i8*wPFoKKVuBy1jM2r2`RJxBDduF){|nuo3>Z5{*=I6W)0 zOsj>)ZP9J}HGuOixdI`n69LWwR}R>s6cih7;j)0*ewHkkN3BAZTMd%9>e zXP7rsEMpCfeMk!k9NCg3et}Jz7|54;!@aS0M8}Ep{KtGmviqu>XJN&=CVQ^o$x9IC zrLQHT91%%dLLG9F_T%-sPO^ti#6E`V6FI<yS zJRQL28LYH=9gwF1&Hpc{#MI}b`ueNdiDlOPnT~8C$I#`$O+3DyA0RTQcxorf!o-_r_+#Aw4g5}qlss?5uHpYMfY=9{EF6W5&|R8?k-7x78M zUbYi&@VipHGP1SV+OK4;ZhrF!C7*V_>l@HxCq{=G9zRH2PA+P$D(aPcP|w}XylIuu zZ+t6N_IpsC^@HRMLcOO5LP*WriR-kXTR(*E9KH7I#324b`Ha7;*YP8-SC4jFONw*H zn-#U6j9)`d#d2dXVp;-?iE?c!JlEMub)5D+VPFj)jh`WD2WC?w6+D-!=(H@2q}_R7 zcq{+&=PTY#X-Zn1QdWCy-rh{r zqI)wuw0oYOn9#7fj3W$bwYpET*_P2mk)SQUvOx$33}gQZfATGVD57KdN!DHBU43>znt4T|#> z8hpl)k%e8sy`T!C5+r{x;iB^PX46ubWP3K`Dr?=!9#_r=5oSZ1l1eoo1yps(^B! zf2EdNYyY0UVa&BLRtVr;n=cj>|BRvQHQikMUf73Pli>(7KA?rWVhYNKglpuiyj_Q} zG0JhU>$Z=mKjf0=w_=@WSJsW)R8(K+1C}r~3Dkj_fXjKEg{Egmv_Ks{uAG-Gz`#A! zY0rVIJuq28_-*5cdP##8&#m=L#8?AQ+cx zp23sX&nUS!DmBk75F}F6iQ}%WEI{fu#mNK;wcU`4UzQuvV`AWva9vDK43@N%Rh>{mK97DL_wLi;9v+cj5ft^|`5EzowkHe5-EmZZH||ZEhtb0sE;ps3J)@KfHP->nGJQV-TBE^1s;~6~}71eoqEe1X5 zSYJh^)6Mm(^VrN$2?u=8j~Rk3=#7yPDd$;S zotqvJpIUA`kY8P0Jz7o>z5e(5gpfmTimmPNMN(*-6t*NPT`c(T7%qVw5W6K>Ci_6= z;~;{O!|k4N?fv`jQsU!1{QRI(m3*3yjYH#Gs2)6(@8AIbJ7FUX%{rHkbP)3pqQC5i?Ay&&OKQvJIkQIaRUKDSI2pO)*x!|EO` zVt+Aus|Pq+mOOG!G?B73i4CD|k1Z{?5>lk>Ok)vzxT;))(Wq4JY4vw(4235WmCs;1 zw>5z4Y z`=-p0Lo$Tl{6}*zeG%)D2F$@yt8l&-ZjFhjg9D)LHyD<%$R|dzh}<@EFsIJZO1>N4 zdDMJ6zTKw`8dmTBr6wY^_NI-+Q`eRYfYufQ{62A^NY}|J6J9B7fSE9KnZJ++IO^8k zG<)uHm!%h*-5u4{88n5$-V5w1>Q)o^eLkjufzQRYr!7CNg^w-MqD&@JV($<8<=A4R zr1XZ^{QG?HnMH-VHlOF`lR0wh#-x@nS1!FU&NZ2Mu4jBp7blO(juJUqE4HHuWv58P?0Q_VNY*0il{P@d#uAkj}DNV+K2ie$|;m}Yq)^y0~IT$KC z6j8#j4zO8l`U>}&;o^#bho|SyHh;jC5SHVw?BfB5b-#ynTVqD?CUqP?e>n&Z;2Y~w zR2@tZM!KzYsY2Cx6}dSPM34f~Bl9-W=tI?<%}S&%X#M({D9o_2ae7YFbNG5uWzubK zQuk+a$P>g%E5{38pR~1G6m%b4jL4aIh|BM#_|-B@8Ug2wJPURk=KJwUA)cN!-A@(* z%|;kmbBi^tFq`!jid+Ul#$)yhMNLE_3O2EsCIPfVw zvz%P!zafka%6t!-5r%+#*m1ept5WQ&5q$BCPEltj`6l`J`TgeUL7^a@9{ks@bLslK z<1P+wm-X;o#J;%=L$DBF}Vx!rOE=_xcxuKLp zPqKsMx3$mSed)=k>4duoa#cnG6V(~&->OCcyvI>FjpmPF1)zU(v=#t3G~GA4u-BP@ zHv!z&JRNNqf4irr@P!NGHLm%9OaN!r?Q~k5rlMY9omuEE)rR^nIoq#|Nf%!LDrcYX zBG1%3y(;BR0(@x7vt&W{_2O}qkoQ1NtdrA&>1jN%`z}!Qx#kJ@o4@t!{?TCjZ`x { console.log("This party started rockin' at " + time); } + + host: Boy { + name: "Bob Jones" + shoe_size: 12 + } + + Boy { + name: "Leo Hodges" + BirthdayParty.rsvp: "2009-07-06" + } + Boy { + name: "Jack Smith" + } + Girl { + name: "Anne Brown" + BirthdayParty.rsvp: "2009-07-01" + } +} diff --git a/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/People/qmldir b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/People/qmldir new file mode 100644 index 0000000..a2bd951 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/People/qmldir @@ -0,0 +1,3 @@ +module People +typeinfo coercion.qmltypes +Main 1.0 Main.qml diff --git a/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/advanced6-Property-value-source.pyproject b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/advanced6-Property-value-source.pyproject new file mode 100644 index 0000000..fe2980f --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/advanced6-Property-value-source.pyproject @@ -0,0 +1,4 @@ +{ + "files": ["main.py", "birthdayparty.py", "happybirthdaysong.py", "person.py", + "People/Main.qml", "People/qmldir"] +} diff --git a/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/birthdayparty.py b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/birthdayparty.py new file mode 100644 index 0000000..eacb520 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/birthdayparty.py @@ -0,0 +1,89 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QDate, QObject, ClassInfo, Property, QTime, Signal +from PySide6.QtQml import QmlAnonymous, QmlAttached, QmlElement, ListProperty + +from person import Person + + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "People" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlAnonymous +class BirthdayPartyAttached(QObject): + rsvp_changed = Signal() + + def __init__(self, parent=None): + super().__init__(parent) + self._rsvp = QDate() + + @Property(QDate, notify=rsvp_changed, final=True) + def rsvp(self): + return self._rsvp + + @rsvp.setter + def rsvp(self, d): + if self._rsvp != d: + self._rsvp = d + self.rsvp_changed.emit() + + +@QmlElement +@ClassInfo(DefaultProperty="guests") +@QmlAttached(BirthdayPartyAttached) +class BirthdayParty(QObject): + + announcement_changed = Signal() + host_changed = Signal() + guests_changed = Signal() + partyStarted = Signal(QTime) + + def __init__(self, parent=None): + super().__init__(parent) + self._announcement = "" + self._host = None + self._guests = [] + + def startParty(self): + self.partyStarted.emit(QTime.currentTime()) + + @Property(Person, notify=host_changed, final=True) + def host(self): + return self._host + + @host.setter + def host(self, h): + if self._host != h: + self._host = h + self.host_changed.emit() + + @Property(str, notify=announcement_changed, final=True) + def announcement(self): + return self._announcement + + @announcement.setter + def announcement(self, a): + if self._announcement != a: + self._announcement = a + self.announcement_changed.emit() + print(a) + + def guest(self, n): + return self._guests[n] + + def guestCount(self): + return len(self._guests) + + def appendGuest(self, guest): + self._guests.append(guest) + self.guests_changed.emit() + + @staticmethod + def qmlAttachedProperties(self, o): + return BirthdayPartyAttached(o) + + guests = ListProperty(Person, appendGuest, notify=guests_changed, final=True) diff --git a/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/doc/advanced6-Property-value-source.rst b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/doc/advanced6-Property-value-source.rst new file mode 100644 index 0000000..4e1dc39 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/doc/advanced6-Property-value-source.rst @@ -0,0 +1,43 @@ +.. _qml-advanced/advanced6-property-value-source: + +Extending QML (advanced) - Property Value Source +================================================ + +This is the last of a series of 6 examples forming a tutorial using the example +of a birthday party to demonstrate some of the advanced features of QML. + +During the party the guests have to sing for the host. It would be handy if the +program could display the lyrics customized for the occasion to help the +guests. To this end, a property value source is used to generate the verses of +the song over time. + +.. literalinclude:: happybirthdaysong.py + :lineno-start: 13 + :lines: 13-49 + +The class ``HappyBirthdaySong`` is added as a value source. It must inherit +from ``QQmlPropertyValueSource`` and implement its interface. The +``setTarget()`` function is used to define which property this source acts +upon. In this case, the value source writes to the ``announcement`` property of +the ``BirthdayParty`` to display the lyrics over time. It has an internal timer +that causes the ``announcement`` property of the party to be set to the next +line of the lyrics repeatedly. + +In QML, a ``HappyBirthdaySong`` is instantiated inside the ``BirthdayParty``. +The ``on`` keyword in its signature is used to specify the property that the +value source targets, in this case ``announcement``. The ``name`` property of +the ``HappyBirthdaySong`` object is also bound to the name of the host of the +party. + +.. literalinclude:: People/Main.qml + :lineno-start: 6 + :lines: 6-7 + +The program displays the time at which the party started using the +``partyStarted`` signal and then prints the following happy birthday verses +over and over:: + + Happy birthday to you, + Happy birthday to you, + Happy birthday dear Bob Jones, + Happy birthday to you! diff --git a/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/happybirthdaysong.py b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/happybirthdaysong.py new file mode 100644 index 0000000..c35f9bf --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/happybirthdaysong.py @@ -0,0 +1,49 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QTimer, Property, Signal, Slot +from PySide6.QtQml import QmlElement, QPyQmlPropertyValueSource + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "People" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class HappyBirthdaySong(QPyQmlPropertyValueSource): + name_changed = Signal() + + def __init__(self, parent=None): + super().__init__(parent) + + self.m_target = None + self.m_name = "" + self.m_line = -1 + self.m_lyrics = [] + + self.m_timer = QTimer(self) + self.m_timer.timeout.connect(self.advance) + self.m_timer.start(1000) + + def setTarget(self, property): + self.m_target = property + + @Property(str, notify=name_changed, final=True) + def name(self): + return self.m_name + + @name.setter + def name(self, n): + if self.m_name != n: + self.m_name = n + self.m_lyrics = ["Happy birthday to you,", + "Happy birthday to you,", + f"Happy birthday dear {self.m_name},", + "Happy birthday to you!", + ""] + + @Slot() + def advance(self): + self.m_line = (self.m_line + 1) % len(self.m_lyrics) + self.m_target.write(self.m_lyrics[self.m_line]) diff --git a/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/main.py b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/main.py new file mode 100644 index 0000000..b763a45 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/main.py @@ -0,0 +1,51 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the qml/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source example from Qt v6.x""" + +from pathlib import Path +import sys + +from PySide6.QtCore import QCoreApplication +from PySide6.QtQml import QQmlComponent, QQmlEngine, qmlAttachedPropertiesObject + +from person import Boy, Girl +from birthdayparty import BirthdayParty +from happybirthdaysong import HappyBirthdaySong + + +app = QCoreApplication(sys.argv) +engine = QQmlEngine() +engine.addImportPath(Path(__file__).parent) +component = QQmlComponent(engine) +component.loadFromModule("People", "Main") +party = component.create() +if not party: + print(component.errors()) + del engine + sys.exit(-1) +host = party.host +print(f"{host.name} is having a birthday!") +if isinstance(host, Boy): + print("He is inviting:") +else: + print("She is inviting:") +for g in range(party.guestCount()): + guest = party.guest(g) + name = guest.name + + rsvp_date = None + attached = qmlAttachedPropertiesObject(BirthdayParty, guest, False) + if attached: + rsvp_date = attached.rsvp.toString() + if rsvp_date: + print(f" {name} RSVP date: {rsvp_date}") + else: + print(f" {name} RSVP date: Hasn't RSVP'd") + +party.startParty() + +r = app.exec() + +del engine +sys.exit(r) diff --git a/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/person.py b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/person.py new file mode 100644 index 0000000..503aaf6 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/advanced6-Property-value-source/person.py @@ -0,0 +1,51 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QObject, Property, Signal +from PySide6.QtQml import QmlAnonymous, QmlElement + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "People" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlAnonymous +class Person(QObject): + name_changed = Signal() + shoe_size_changed = Signal() + + def __init__(self, parent=None): + super().__init__(parent) + self._name = '' + self._shoe_size = 0 + + @Property(str, notify=name_changed, final=True) + def name(self): + return self._name + + @name.setter + def name(self, n): + if self._name != n: + self._name = n + self.name_changed.emit() + + @Property(int, notify=shoe_size_changed, final=True) + def shoe_size(self): + return self._shoe_size + + @shoe_size.setter + def shoe_size(self, s): + self._shoe_size = s + + +@QmlElement +class Boy(Person): + def __init__(self, parent=None): + super().__init__(parent) + + +@QmlElement +class Girl(Person): + def __init__(self, parent=None): + super().__init__(parent) diff --git a/examples/qml/tutorials/extending-qml-advanced/binding/People/Main.qml b/examples/qml/tutorials/extending-qml-advanced/binding/People/Main.qml new file mode 100644 index 0000000..75add22 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/binding/People/Main.qml @@ -0,0 +1,29 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import People + +BirthdayParty { + id: theParty + + HappyBirthdaySong on announcement { name: theParty.host.name } + + onPartyStarted: (time) => { console.log("This party started rockin' at " + time); } + + host: Boy { + name: "Bob Jones" + shoe_size: 12 + } + + Boy { + name: "Leo Hodges" + BirthdayParty.rsvp: "2009-07-06" + } + Boy { + name: "Jack Smith" + } + Girl { + name: "Anne Brown" + BirthdayParty.rsvp: "2009-07-01" + } +} diff --git a/examples/qml/tutorials/extending-qml-advanced/binding/People/qmldir b/examples/qml/tutorials/extending-qml-advanced/binding/People/qmldir new file mode 100644 index 0000000..a2bd951 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/binding/People/qmldir @@ -0,0 +1,3 @@ +module People +typeinfo coercion.qmltypes +Main 1.0 Main.qml diff --git a/examples/qml/tutorials/extending-qml-advanced/binding/binding.pyproject b/examples/qml/tutorials/extending-qml-advanced/binding/binding.pyproject new file mode 100644 index 0000000..fe2980f --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/binding/binding.pyproject @@ -0,0 +1,4 @@ +{ + "files": ["main.py", "birthdayparty.py", "happybirthdaysong.py", "person.py", + "People/Main.qml", "People/qmldir"] +} diff --git a/examples/qml/tutorials/extending-qml-advanced/binding/birthdayparty.py b/examples/qml/tutorials/extending-qml-advanced/binding/birthdayparty.py new file mode 100644 index 0000000..a337d4a --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/binding/birthdayparty.py @@ -0,0 +1,83 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QDate, QObject, ClassInfo, Property, QTime, Signal +from PySide6.QtQml import QmlAnonymous, QmlAttached, QmlElement, ListProperty + +from person import Person + + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "People" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlAnonymous +class BirthdayPartyAttached(QObject): + + rsvp_changed = Signal() + + def __init__(self, parent=None): + super().__init__(parent) + self._rsvp = QDate() + + @Property(QDate, notify=rsvp_changed) + def rsvp(self): + return self._rsvp + + @rsvp.setter + def rsvp(self, d): + if self._rsvp != d: + self._rsvp = d + self.rsvp_changed.emit() + + +@QmlElement +@ClassInfo(DefaultProperty="guests") +@QmlAttached(BirthdayPartyAttached) +class BirthdayParty(QObject): + + partyStarted = Signal(QTime) + host_changed = Signal() + + def __init__(self, parent=None): + super().__init__(parent) + self._host = None + self._guests = [] + + def startParty(self): + self.partyStarted.emit(QTime.currentTime()) + + @Property(Person, notify=host_changed) + def host(self): + return self._host + + @host.setter + def host(self, h): + if self._host != h: + self._host = h + self.host_changed.emit() + + @Property(str) + def announcement(self): + return "" + + @announcement.setter + def announcement(self, a): + print(a) + + def guest(self, n): + return self._guests[n] + + def guestCount(self): + return len(self._guests) + + def appendGuest(self, guest): + self._guests.append(guest) + + @staticmethod + def qmlAttachedProperties(self, o): + return BirthdayPartyAttached(o) + + guests = ListProperty(Person, appendGuest) diff --git a/examples/qml/tutorials/extending-qml-advanced/binding/doc/binding.rst b/examples/qml/tutorials/extending-qml-advanced/binding/doc/binding.rst new file mode 100644 index 0000000..5c0ed21 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/binding/doc/binding.rst @@ -0,0 +1,17 @@ +.. _qml-binding-example: + +Extending QML - Binding Example +=============================== + +This example builds on the :ref:`qml-adding-types-example`, +the :ref:`qml-attached-properties-example`, +the :ref:`qml-default-property-example`, +the :ref:`qml-inheritance-and-coercion-example` +the :ref:`qml-object-and-list-property-types-example` +and the :ref:`qml-valuesource-example`. + +Running the Example +------------------- + +The ``main.py`` file in the example includes a simple shell application that +loads and runs the QML snippet shown below. diff --git a/examples/qml/tutorials/extending-qml-advanced/binding/happybirthdaysong.py b/examples/qml/tutorials/extending-qml-advanced/binding/happybirthdaysong.py new file mode 100644 index 0000000..59ebfe4 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/binding/happybirthdaysong.py @@ -0,0 +1,47 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QTimer, Property, Slot +from PySide6.QtQml import QmlElement, QPyQmlPropertyValueSource + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "People" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class HappyBirthdaySong(QPyQmlPropertyValueSource): + + def __init__(self, parent=None): + super().__init__(parent) + + self.m_target = None + self.m_name = "" + self.m_line = -1 + self.m_lyrics = [] + + self.m_timer = QTimer(self) + self.m_timer.timeout.connect(self.advance) + self.m_timer.start(1000) + + def setTarget(self, property): + self.m_target = property + + @Property(str) + def name(self): + return self.m_name + + @name.setter + def name(self, n): + self.m_name = n + self.m_lyrics = ["Happy birthday to you,", + "Happy birthday to you,", + f"Happy birthday dear {self.m_name},", + "Happy birthday to you!", + ""] + + @Slot() + def advance(self): + self.m_line = (self.m_line + 1) % len(self.m_lyrics) + self.m_target.write(self.m_lyrics[self.m_line]) diff --git a/examples/qml/tutorials/extending-qml-advanced/binding/main.py b/examples/qml/tutorials/extending-qml-advanced/binding/main.py new file mode 100644 index 0000000..738bab0 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/binding/main.py @@ -0,0 +1,52 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the qml/examples/qml/referenceexamples/binding example from Qt v6.x""" + +from pathlib import Path +import sys + +from PySide6.QtCore import QCoreApplication +from PySide6.QtQml import QQmlComponent, QQmlEngine, qmlAttachedPropertiesObject + +from person import Boy, Girl +from birthdayparty import BirthdayParty +from happybirthdaysong import HappyBirthdaySong + + +if __name__ == "__main__": + app = QCoreApplication(sys.argv) + engine = QQmlEngine() + engine.addImportPath(Path(__file__).parent) + component = QQmlComponent(engine) + component.loadFromModule("People", "Main") + party = component.create() + if not party: + print(component.errors()) + del engine + sys.exit(-1) + host = party.host + print(f"{host.name} is having a birthday!") + if isinstance(host, Boy): + print("He is inviting:") + else: + print("She is inviting:") + for g in range(party.guestCount()): + guest = party.guest(g) + name = guest.name + + rsvp_date = None + attached = qmlAttachedPropertiesObject(BirthdayParty, guest, False) + if attached: + rsvp_date = attached.rsvp.toString() + if rsvp_date: + print(f" {name} RSVP date: {rsvp_date}") + else: + print(f" {name} RSVP date: Hasn't RSVP'd") + + party.startParty() + + r = app.exec() + + del engine + sys.exit(r) diff --git a/examples/qml/tutorials/extending-qml-advanced/binding/person.py b/examples/qml/tutorials/extending-qml-advanced/binding/person.py new file mode 100644 index 0000000..a694276 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/binding/person.py @@ -0,0 +1,53 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QObject, Property, Signal +from PySide6.QtQml import QmlAnonymous, QmlElement + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "People" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlAnonymous +class Person(QObject): + name_changed = Signal() + shoe_size_changed = Signal() + + def __init__(self, parent=None): + super().__init__(parent) + self._name = '' + self._shoe_size = 0 + + @Property(str, notify=name_changed) + def name(self): + return self._name + + @name.setter + def name(self, n): + if self._name != n: + self._name = n + self.name_changed.emit() + + @Property(int, notify=shoe_size_changed) + def shoe_size(self): + return self._shoe_size + + @shoe_size.setter + def shoe_size(self, s): + if self._shoe_size != s: + self._shoe_size = s + self.shoe_size_changed.emit() + + +@QmlElement +class Boy(Person): + def __init__(self, parent=None): + super().__init__(parent) + + +@QmlElement +class Girl(Person): + def __init__(self, parent=None): + super().__init__(parent) diff --git a/examples/qml/tutorials/extending-qml-advanced/extended/doc/extended.rst b/examples/qml/tutorials/extending-qml-advanced/extended/doc/extended.rst new file mode 100644 index 0000000..7459605 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/extended/doc/extended.rst @@ -0,0 +1,41 @@ +.. _qml-extension-objects-example: + +Extending QML - Extension Objects Example +========================================= + +This example builds on the the :ref:`qml-adding-types-example`. + +Shows how to use QmlExtended decorator to provide an extension object to a +QLineEdit without modifying or subclassing it. + +Firstly, the LineEditExtension class is registered with the QML system as an +extension of QLineEdit. We declare a foreign type to do this as we cannot +modify Qt's internal QLineEdit class. + +.. code-block:: python + + @QmlNamedElement("QLineEdit") + @QmlExtended(LineEditExtension) + @QmlForeign(QLineEdit) + class LineEditForeign(QObject): + + +Note the usage of ``QmlNamedElement()`` instead of ``QmlElement()``. +``QmlElement()`` uses the name of the containing type by default, +``LineEditExtension`` in this case. As the class being an extension class is +an implementation detail, we choose the more natural name ``QLineEdit`` +instead. + +The QML engine then instantiates a QLineEdit. + +In QML, a property is set on the line edit that only exists in the +``LineEditExtension`` class: + +.. code-block:: javascript + + QLineEdit { + left_margin: 20 + } + +The extension type performs calls on the ``QLineEdit`` that otherwise will not +be accessible to the QML engine. diff --git a/examples/qml/tutorials/extending-qml-advanced/extended/example.qml b/examples/qml/tutorials/extending-qml-advanced/extended/example.qml new file mode 100644 index 0000000..e4af3be --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/extended/example.qml @@ -0,0 +1,8 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import examples.extend 1.0 + +QLineEdit { + left_margin: 20 +} diff --git a/examples/qml/tutorials/extending-qml-advanced/extended/extended.pyproject b/examples/qml/tutorials/extending-qml-advanced/extended/extended.pyproject new file mode 100644 index 0000000..127a3a7 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/extended/extended.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "example.qml"] +} diff --git a/examples/qml/tutorials/extending-qml-advanced/extended/main.py b/examples/qml/tutorials/extending-qml-advanced/extended/main.py new file mode 100644 index 0000000..6ee3864 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/extended/main.py @@ -0,0 +1,95 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the qml/examples/qml/referenceexamples/extended example from Qt v6.x""" + +from pathlib import Path +import sys + +from PySide6.QtCore import QObject, QUrl, Property +from PySide6.QtWidgets import QApplication, QLineEdit +from PySide6.QtQml import (QQmlComponent, QQmlEngine, QmlForeign, QmlExtended, + QmlNamedElement) + + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "examples.extend" +QML_IMPORT_MAJOR_VERSION = 1 + + +class LineEditExtension(QObject): + + def __init__(self, parent=None): + super().__init__(parent) + self._line_edit = parent + + @Property(int) + def left_margin(self): + return self._line_edit.textMargins().left() + + @left_margin.setter + def left_margin(self, m): + margins = self._line_edit.textMargins() + margins.setLeft(m) + self._line_edit.setTextMargins(margins) + + @Property(int) + def right_margin(self): + return self._line_edit.textMargins().right() + + @right_margin.setter + def right_margin(self, m): + margins = self._line_edit.textMargins() + margins.setRight(m) + self._line_edit.setTextMargins(margins) + + @Property(int) + def top_margin(self): + return self._line_edit.textMargins().top() + + @top_margin.setter + def top_margin(self, m): + margins = self._line_edit.textMargins() + margins.setTop(m) + self._line_edit.setTextMargins(margins) + + @Property(int) + def bottom_margin(self): + return self._line_edit.textMargins().bottom() + + @bottom_margin.setter + def bottom_margin(self, m): + margins = self._line_edit.textMargins() + margins.setBottom(m) + self._line_edit.setTextMargins(margins) + + +@QmlNamedElement("QLineEdit") +@QmlExtended(LineEditExtension) +@QmlForeign(QLineEdit) +class LineEditForeign(QObject): + + def __init__(self, parent=None): + super().__init__(parent) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + + qml_file = Path(__file__).parent / "example.qml" + url = QUrl.fromLocalFile(qml_file) + engine = QQmlEngine() + component = QQmlComponent(engine, url) + widget = component.create() + if not widget: + print(component.errors()) + del engine + sys.exit(-1) + + widget.show() + r = app.exec() + # Deleting the engine before it goes out of scope is required to make sure + # all child QML instances are destroyed in the correct order. + del engine + sys.exit(r) diff --git a/examples/qml/tutorials/extending-qml-advanced/methods/People/Main.qml b/examples/qml/tutorials/extending-qml-advanced/methods/People/Main.qml new file mode 100644 index 0000000..69b2119 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/methods/People/Main.qml @@ -0,0 +1,19 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import People + +BirthdayParty { + host: Person { + name: "Bob Jones" + shoe_size: 12 + } + guests: [ + Person { name: "Leo Hodges" }, + Person { name: "Jack Smith" }, + Person { name: "Anne Brown" } + ] + + Component.onCompleted: invite("William Green") +} diff --git a/examples/qml/tutorials/extending-qml-advanced/methods/People/qmldir b/examples/qml/tutorials/extending-qml-advanced/methods/People/qmldir new file mode 100644 index 0000000..a2bd951 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/methods/People/qmldir @@ -0,0 +1,3 @@ +module People +typeinfo coercion.qmltypes +Main 1.0 Main.qml diff --git a/examples/qml/tutorials/extending-qml-advanced/methods/birthdayparty.py b/examples/qml/tutorials/extending-qml-advanced/methods/birthdayparty.py new file mode 100644 index 0000000..a3942b6 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/methods/birthdayparty.py @@ -0,0 +1,47 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QObject, Property, Slot +from PySide6.QtQml import QmlElement, ListProperty + +from person import Person + + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "People" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class BirthdayParty(QObject): + + def __init__(self, parent=None): + super().__init__(parent) + self._host = None + self._guests = [] + + @Property(Person) + def host(self): + return self._host + + @host.setter + def host(self, h): + self._host = h + + def guest(self, n): + return self._guests[n] + + def guestCount(self): + return len(self._guests) + + def appendGuest(self, guest): + self._guests.append(guest) + + @Slot(str) + def invite(self, name): + guest = Person(self) + guest.name = name + self.appendGuest(guest) + + guests = ListProperty(Person, appendGuest) diff --git a/examples/qml/tutorials/extending-qml-advanced/methods/doc/methods.rst b/examples/qml/tutorials/extending-qml-advanced/methods/doc/methods.rst new file mode 100644 index 0000000..bda2ede --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/methods/doc/methods.rst @@ -0,0 +1,15 @@ +.. _qml-methods-example: + +Extending QML - Methods Example +=============================== + +This example builds on the :ref:`qml-adding-types-example`, +the :ref:`qml-object-and-list-property-types-example` and +the :ref:`qml-inheritance-and-coercion-example`. + +The Methods Example has an additional method in the ``BirthdayParty`` class: +``invite()``. ``invite()`` is decorated with ``@Slot`` so that it can be +called from QML. + +In ``example.qml``, the ``invite()`` method is called +in the ``QtQml.Component.completed()`` signal handler. diff --git a/examples/qml/tutorials/extending-qml-advanced/methods/main.py b/examples/qml/tutorials/extending-qml-advanced/methods/main.py new file mode 100644 index 0000000..5f51ebe --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/methods/main.py @@ -0,0 +1,32 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the qml/examples/qml/referenceexamples/methods example from Qt v6.x""" + +from pathlib import Path +import sys + +from PySide6.QtCore import QCoreApplication +from PySide6.QtQml import QQmlComponent, QQmlEngine + +from person import Person +from birthdayparty import BirthdayParty + + +app = QCoreApplication(sys.argv) +engine = QQmlEngine() +engine.addImportPath(Path(__file__).parent) +component = QQmlComponent(engine) +component.loadFromModule("People", "Main") +party = component.create() +if not party: + print(component.errors()) + del engine + sys.exit(-1) +host = party.host +print(f"{host.name} is having a birthday!\nThey are inviting:") +for g in range(party.guestCount()): + name = party.guest(g).name + print(f" {name}") +del engine +sys.exit(0) diff --git a/examples/qml/tutorials/extending-qml-advanced/methods/methods.pyproject b/examples/qml/tutorials/extending-qml-advanced/methods/methods.pyproject new file mode 100644 index 0000000..09942eb --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/methods/methods.pyproject @@ -0,0 +1,4 @@ +{ + "files": ["main.py", "birthdayparty.py", "person.py", + "People/Main.qml", "People/qmldir"] +} diff --git a/examples/qml/tutorials/extending-qml-advanced/methods/person.py b/examples/qml/tutorials/extending-qml-advanced/methods/person.py new file mode 100644 index 0000000..526eae7 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/methods/person.py @@ -0,0 +1,34 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QObject, Property +from PySide6.QtQml import QmlElement + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "People" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class Person(QObject): + def __init__(self, parent=None): + super().__init__(parent) + self._name = '' + self._shoe_size = 0 + + @Property(str) + def name(self): + return self._name + + @name.setter + def name(self, n): + self._name = n + + @Property(int) + def shoe_size(self): + return self._shoe_size + + @shoe_size.setter + def shoe_size(self, s): + self._shoe_size = s diff --git a/examples/qml/tutorials/extending-qml-advanced/properties/People/Main.qml b/examples/qml/tutorials/extending-qml-advanced/properties/People/Main.qml new file mode 100644 index 0000000..0600b35 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/properties/People/Main.qml @@ -0,0 +1,16 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import People + +BirthdayParty { + host: Person { + name: "Bob Jones" + shoe_size: 12 + } + guests: [ + Person { name: "Leo Hodges" }, + Person { name: "Jack Smith" }, + Person { name: "Anne Brown" } + ] +} diff --git a/examples/qml/tutorials/extending-qml-advanced/properties/People/qmldir b/examples/qml/tutorials/extending-qml-advanced/properties/People/qmldir new file mode 100644 index 0000000..a2bd951 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/properties/People/qmldir @@ -0,0 +1,3 @@ +module People +typeinfo coercion.qmltypes +Main 1.0 Main.qml diff --git a/examples/qml/tutorials/extending-qml-advanced/properties/birthdayparty.py b/examples/qml/tutorials/extending-qml-advanced/properties/birthdayparty.py new file mode 100644 index 0000000..47dddc8 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/properties/birthdayparty.py @@ -0,0 +1,41 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QObject, Property +from PySide6.QtQml import QmlElement, ListProperty + +from person import Person + + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "People" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class BirthdayParty(QObject): + + def __init__(self, parent=None): + super().__init__(parent) + self._host = None + self._guests = [] + + @Property(Person) + def host(self): + return self._host + + @host.setter + def host(self, h): + self._host = h + + def guest(self, n): + return self._guests[n] + + def guestCount(self): + return len(self._guests) + + def appendGuest(self, guest): + self._guests.append(guest) + + guests = ListProperty(Person, appendGuest) diff --git a/examples/qml/tutorials/extending-qml-advanced/properties/doc/properties.rst b/examples/qml/tutorials/extending-qml-advanced/properties/doc/properties.rst new file mode 100644 index 0000000..fd0c6d4 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/properties/doc/properties.rst @@ -0,0 +1,89 @@ +.. _qml-object-and-list-property-types-example: + +Extending QML - Object and List Property Types Example +====================================================== + +Exporting C++ Properties. + +This example builds on :ref:`qml-adding-types-example`. + +The Object and List Property Types example shows how to add object and list +properties in QML. This example adds a BirthdayParty type that specifies a +birthday party, consisting of a celebrant and a list of guests. People are +specified using the People QML type built in the previous example. + +import examples.properties.people + +.. code-block:: javascript + + BirthdayParty { + host: Person { + name: "Bob Jones" + shoe_size: 12 + } + guests: [ + Person { name: "Leo Hodges" }, + Person { name: "Jack Smith" }, + Person { name: "Anne Brown" } + ] + } + +Declare the BirthdayParty +------------------------- + +The BirthdayParty class is declared like this: + +.. code-block:: python + + from person import Person + + + # To be used on the @QmlElement decorator + # (QML_IMPORT_MINOR_VERSION is optional) + QML_IMPORT_NAME = "People" + QML_IMPORT_MAJOR_VERSION = 1 + + + @QmlElement + class BirthdayParty(QObject): + + def __init__(self, parent=None): + super().__init__(parent) + self._host = None + self._guests = [] + + @Property(Person) + def host(self): + return self._host + + @host.setter + def host(self, h): + self._host = h + + def guest(self, n): + return self._guests[n] + + def guestCount(self): + return len(self._guests) + + def appendGuest(self, guest): + self._guests.append(guest) + + guests = ListProperty(Person, appendGuest) + +The class contains a member to store the celebrant object, and also a +list member storing the Person instances. + +In QML, the type of a list properties - and the guests property is a list of +people - are all of type ListProperty. ListProperty is simple value +type that contains a set of functions. QML calls these functions +whenever it needs to read from, write to or otherwise interact with +the list. In addition to concrete lists like the people list used in this +example, the use of QQmlListProperty allows for "virtual lists" and other advanced +scenarios. + +Running the Example +------------------- + +The main.py file in the example includes a simple shell application that +loads and runs the QML snippet shown at the beginning of this page. diff --git a/examples/qml/tutorials/extending-qml-advanced/properties/main.py b/examples/qml/tutorials/extending-qml-advanced/properties/main.py new file mode 100644 index 0000000..4797e4c --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/properties/main.py @@ -0,0 +1,34 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the qml/examples/qml/referenceexamples/properties example from Qt v6.x""" + +from pathlib import Path +import sys + +from PySide6.QtCore import QCoreApplication +from PySide6.QtQml import QQmlComponent, QQmlEngine + +from person import Person +from birthdayparty import BirthdayParty + + +if __name__ == '__main__': + app = QCoreApplication(sys.argv) + + engine = QQmlEngine() + engine.addImportPath(Path(__file__).parent) + component = QQmlComponent(engine) + component.loadFromModule("People", "Main") + + party = component.create() + if party: + print(f"{party.host} is having a birthday!\nThey are inviting:") + for g in range(party.guestCount()): + name = party.guest(g).name + print(f" {name}") + else: + print(component.errors()) + + del engine + sys.exit(0) diff --git a/examples/qml/tutorials/extending-qml-advanced/properties/person.py b/examples/qml/tutorials/extending-qml-advanced/properties/person.py new file mode 100644 index 0000000..fafb9d5 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/properties/person.py @@ -0,0 +1,35 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QObject, Property +from PySide6.QtQml import QmlElement + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "People" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class Person(QObject): + def __init__(self, parent=None): + super().__init__(parent) + self._name = '' + self._shoe_size = 0 + + @Property(str) + def name(self): + return self._name + + @name.setter + def name(self, n): + self._name = n + + @Property(int) + def shoe_size(self): + return self._shoe_size + + @shoe_size.setter + def shoe_size(self, s): + self._shoe_size = s + diff --git a/examples/qml/tutorials/extending-qml-advanced/properties/properties.pyproject b/examples/qml/tutorials/extending-qml-advanced/properties/properties.pyproject new file mode 100644 index 0000000..adb34b2 --- /dev/null +++ b/examples/qml/tutorials/extending-qml-advanced/properties/properties.pyproject @@ -0,0 +1,4 @@ +{ + "files": ["main.py", "person.py", "birthdayparty.py", + "People/Main.qml", "People/qmldir"] +} diff --git a/examples/qml/tutorials/extending-qml/chapter1-basics/app.qml b/examples/qml/tutorials/extending-qml/chapter1-basics/app.qml new file mode 100644 index 0000000..6feef56 --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter1-basics/app.qml @@ -0,0 +1,26 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import Charts +import QtQuick + +Item { + width: 300; height: 200 + + PieChart { + id: aPieChart + anchors.centerIn: parent + width: 100; height: 100 + name: "A simple pie chart" + color: "red" + } + + Text { + anchors { + bottom: parent.bottom; + horizontalCenter: parent.horizontalCenter; + bottomMargin: 20 + } + text: aPieChart.name + } +} diff --git a/examples/qml/tutorials/extending-qml/chapter1-basics/basics.py b/examples/qml/tutorials/extending-qml/chapter1-basics/basics.py new file mode 100644 index 0000000..47d0a0e --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter1-basics/basics.py @@ -0,0 +1,68 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the qml/tutorials/extending-qml/chapter1-basics example from Qt v5.x""" + +import os +from pathlib import Path +import sys + +from PySide6.QtCore import Property, Signal, QUrl +from PySide6.QtGui import QGuiApplication, QPen, QPainter, QColor +from PySide6.QtQml import QmlElement +from PySide6.QtQuick import QQuickPaintedItem, QQuickView + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "Charts" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class PieChart (QQuickPaintedItem): + + nameChanged = Signal() + + def __init__(self, parent=None): + QQuickPaintedItem.__init__(self, parent) + self._name = u'' + self._color = QColor() + + def paint(self, painter): + pen = QPen(self.color, 2) + painter.setPen(pen) + painter.setRenderHints(QPainter.Antialiasing, True) + painter.drawPie(self.boundingRect().adjusted(1, 1, -1, -1), 90 * 16, 290 * 16) + + @Property(QColor, final=True) + def color(self): + return self._color + + @color.setter + def color(self, value): + self._color = value + + @Property(str, notify=nameChanged, final=True) + def name(self): + return self._name + + @name.setter + def name(self, value): + self._name = value + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + + view = QQuickView() + view.setResizeMode(QQuickView.SizeRootObjectToView) + qml_file = os.fspath(Path(__file__).resolve().parent / 'app.qml') + view.setSource(QUrl.fromLocalFile(qml_file)) + if view.status() == QQuickView.Error: + sys.exit(-1) + view.show() + res = app.exec() + # Deleting the view before it goes out of scope is required to make sure all child QML instances + # are destroyed in the correct order. + del view + sys.exit(res) diff --git a/examples/qml/tutorials/extending-qml/chapter1-basics/chapter1-basics.pyproject b/examples/qml/tutorials/extending-qml/chapter1-basics/chapter1-basics.pyproject new file mode 100644 index 0000000..869556b --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter1-basics/chapter1-basics.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["basics.py", "app.qml"] +} diff --git a/examples/qml/tutorials/extending-qml/chapter1-basics/doc/chapter1-basics.rst b/examples/qml/tutorials/extending-qml/chapter1-basics/doc/chapter1-basics.rst new file mode 100644 index 0000000..38233aa --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter1-basics/doc/chapter1-basics.rst @@ -0,0 +1,107 @@ +.. _qml-chapter1-basics: + +Extending QML - Creating a New Type +=================================== + +This is the first of a series of 6 examples forming a tutorial +about extending QML with Python. + +The Qt QML module provides a set of APIs for extending QML through Python +extensions. You can write extensions to add your own QML types, extend existing +Qt types, or call Python functions that are not accessible from ordinary QML +code. + +This tutorial shows how to write a QML extension using Python that includes +core QML features, including properties, signals and bindings. It also shows +how extensions can be deployed through plugins. + +A common task when extending QML is to provide a new QML type that supports +some custom functionality beyond what is provided by the built-in Qt Quick +types. For example, this could be done to implement particular data models, or +provide types with custom painting and drawing capabilities, or access system +features like network programming that are not accessible through built-in QML +features. + +In this tutorial, we will show how to use the C++ classes in the Qt Quick +module to extend QML. The end result will be a simple Pie Chart display +implemented by several custom QML types connected together through QML features +like bindings and signals, and made available to the QML runtime through a +plugin. + +To begin with, let's create a new QML type called ``PieChart`` that has two +properties: a name and a color. We will make it available in an importable type +namespace called ``Charts``, with a version of 1.0. + +We want this ``PieChart`` type to be usable from QML like this: + +.. code-block:: javascript + + import Charts 1.0 + + PieChart { + width: 100; height: 100 + name: "A simple pie chart" + color: "red" + } + +To do this, we need a C++ class that encapsulates this ``PieChart`` type and +its two properties. Since QML makes extensive use of Qt's Meta-Object System +this new class must: + +* Inherit from ``QObject`` +* Declare its properties using the ``Property`` decorator + +Class Implementation +-------------------- + +Here is our ``PieChart`` class, defined in ``basics.py``: + +.. literalinclude:: basics.py + :lineno-start: 21 + :lines: 21-51 + +The class inherits from ``QQuickPaintedItem`` because we want to override +``QQuickPaintedItem.paint()`` to perform drawing operations with the +``QPainter`` API. If the class just represented some data type and was not an +item that actually needed to be displayed, it could simply inherit from +``QObject``. Or, if we want to extend the functionality of an existing +``QObject``-based class, it could inherit from that class instead. +Alternatively, if we want to create a visual item that doesn't need to perform +drawing operations with the ``QPainter`` API, we can just subclass +``QQuickItem``. + +The ``PieChart`` class defines the two properties, ``name`` and ``color``, with +the ``Property`` decorator, and overrides ``QQuickPaintedItem.paint()``. The +``PieChart`` class is registered using the ``QmlElement`` decorator, to allow +it to be used from QML. If you don't register the class, ``app.qml`` won't be +able to create a ``PieChart``. + +QML Usage +--------- + +Now that we have defined the ``PieChart`` type, we will use it from QML. The +``app.qml`` file creates a ``PieChart`` item and displays the pie chart's details +using a standard QML ``Text`` item: + +.. literalinclude:: app.qml + :lineno-start: 7 + :lines: 7-26 + +Notice that although the color is specified as a string in QML, it is +automatically converted to a ``QColor`` object for the PieChart ``color`` +property. Automatic conversions are provided for various other QML value types. +For example, a string like "640x480" can be automatically converted to a +``QSize`` value. + +We'll also create a main function that uses a ``QQuickView`` to run and display +``app.qml``. Here is the application ``basics.py``: + +.. literalinclude:: basics.py + :lineno-start: 54 + :lines: 54-68 + +.. note:: You may see a warning `Expression ... depends on non-NOTIFYable properties: + PieChart.name`. This happens because we add a binding to the writable ``name`` + property, but haven't yet defined a notify signal for it. The QML engine therefore + cannot update the binding if the ``name`` value changes. This is addressed in + the following chapters. diff --git a/examples/qml/tutorials/extending-qml/chapter2-methods/app.qml b/examples/qml/tutorials/extending-qml/chapter2-methods/app.qml new file mode 100644 index 0000000..d9477e2 --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter2-methods/app.qml @@ -0,0 +1,32 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import Charts +import QtQuick + +Item { + width: 300; height: 200 + + PieChart { + id: aPieChart + anchors.centerIn: parent + width: 100; height: 100 + color: "red" + + onChartCleared: console.log("The chart has been cleared") + } + + MouseArea { + anchors.fill: parent + onClicked: aPieChart.clearChart() + } + + Text { + anchors { + bottom: parent.bottom; + horizontalCenter: parent.horizontalCenter; + bottomMargin: 20 + } + text: "Click anywhere to clear the chart" + } +} diff --git a/examples/qml/tutorials/extending-qml/chapter2-methods/chapter2-methods.pyproject b/examples/qml/tutorials/extending-qml/chapter2-methods/chapter2-methods.pyproject new file mode 100644 index 0000000..cdf33be --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter2-methods/chapter2-methods.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["methods.py", "app.qml"] +} diff --git a/examples/qml/tutorials/extending-qml/chapter2-methods/doc/chapter2-methods.rst b/examples/qml/tutorials/extending-qml/chapter2-methods/doc/chapter2-methods.rst new file mode 100644 index 0000000..245d0dd --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter2-methods/doc/chapter2-methods.rst @@ -0,0 +1,36 @@ +.. _qml-chapter2-methods: + +Extending QML - Connecting to C++ Methods and Signals +===================================================== + +This is the second of a series of 6 examples forming a tutorial about extending +QML with Python. + +Suppose we want ``PieChart`` to have a ``clearChart()`` method that erases the +chart and then emits a ``chartCleared`` signal. Our ``app.qml`` would be able +to call ``clearChart()`` and receive ``chartCleared()`` signals like this: + +.. literalinclude:: app.qml + :lineno-start: 4 + :lines: 4-32 + +To do this, we add a ``clearChart()`` method and a ``chartCleared()`` signal +to our C++ class: + +.. literalinclude:: methods.py + :lineno-start: 54 + :lines: 54-58 + +The use of the ``Slot`` decorator makes the ``clearChart()`` method available +to the Qt Meta-Object system, and in turn, to QML. The method simply changes +the color to ``Qt::transparent``, repaints the chart, then emits the +``chartCleared()`` signal: + +.. literalinclude:: methods.py + :lineno-start: 21 + :lines: 21-24 + +Now when we run the application and click the window, the pie chart disappears, +and the application outputs:: + + qml: The chart has been cleared diff --git a/examples/qml/tutorials/extending-qml/chapter2-methods/methods.py b/examples/qml/tutorials/extending-qml/chapter2-methods/methods.py new file mode 100644 index 0000000..d455c31 --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter2-methods/methods.py @@ -0,0 +1,75 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the qml/tutorials/extending-qml/chapter2-methods example from Qt v5.x""" + +import os +from pathlib import Path +import sys + +from PySide6.QtCore import Property, Signal, Slot, Qt, QUrl +from PySide6.QtGui import QGuiApplication, QPen, QPainter, QColor +from PySide6.QtQml import QmlElement +from PySide6.QtQuick import QQuickPaintedItem, QQuickView + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "Charts" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class PieChart(QQuickPaintedItem): + + chartCleared = Signal() + nameChanged = Signal() + + def __init__(self, parent=None): + QQuickPaintedItem.__init__(self, parent) + self._name = u'' + self._color = QColor() + + def paint(self, painter): + pen = QPen(self.color, 2) + painter.setPen(pen) + painter.setRenderHints(QPainter.Antialiasing, True) + painter.drawPie(self.boundingRect().adjusted(1, 1, -1, -1), 90 * 16, 290 * 16) + + @Property(QColor, final=True) + def color(self): + return self._color + + @color.setter + def color(self, value): + self._color = value + + @Property(str, notify=nameChanged, final=True) + def name(self): + return self._name + + @name.setter + def name(self, value): + self._name = value + + @Slot() # This should be something like @Invokable + def clearChart(self): + self.color = Qt.transparent + self.update() + self.chartCleared.emit() + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + + view = QQuickView() + view.setResizeMode(QQuickView.SizeRootObjectToView) + qml_file = os.fspath(Path(__file__).resolve().parent / 'app.qml') + view.setSource(QUrl.fromLocalFile(qml_file)) + if view.status() == QQuickView.Error: + sys.exit(-1) + view.show() + res = app.exec() + # Deleting the view before it goes out of scope is required to make sure all child QML instances + # are destroyed in the correct order. + del view + sys.exit(res) diff --git a/examples/qml/tutorials/extending-qml/chapter3-bindings/app.qml b/examples/qml/tutorials/extending-qml/chapter3-bindings/app.qml new file mode 100644 index 0000000..f153051 --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter3-bindings/app.qml @@ -0,0 +1,40 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import Charts +import QtQuick + +Item { + width: 300; height: 200 + + Row { + anchors.centerIn: parent + spacing: 20 + + PieChart { + id: chartA + width: 100; height: 100 + color: "red" + } + + PieChart { + id: chartB + width: 100; height: 100 + color: chartA.color + } + } + + MouseArea { + anchors.fill: parent + onClicked: { chartA.color = "blue" } + } + + Text { + anchors { + bottom: parent.bottom; + horizontalCenter: parent.horizontalCenter; + bottomMargin: 20 + } + text: "Click anywhere to change the chart color" + } +} diff --git a/examples/qml/tutorials/extending-qml/chapter3-bindings/bindings.py b/examples/qml/tutorials/extending-qml/chapter3-bindings/bindings.py new file mode 100644 index 0000000..a9b61e7 --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter3-bindings/bindings.py @@ -0,0 +1,79 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the qml/tutorials/extending-qml/chapter3-bindings example from Qt v5.x""" + +import os +from pathlib import Path +import sys + +from PySide6.QtCore import Property, Signal, Slot, QUrl, Qt +from PySide6.QtGui import QGuiApplication, QPen, QPainter, QColor +from PySide6.QtQml import QmlElement +from PySide6.QtQuick import QQuickPaintedItem, QQuickView + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "Charts" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class PieChart (QQuickPaintedItem): + + chartCleared = Signal() + nameChanged = Signal() + colorChanged = Signal() + + def __init__(self, parent=None): + QQuickPaintedItem.__init__(self, parent) + self._name = u'' + self._color = QColor() + + def paint(self, painter): + pen = QPen(self._color, 2) + painter.setPen(pen) + painter.setRenderHints(QPainter.Antialiasing, True) + painter.drawPie(self.boundingRect().adjusted(1, 1, -1, -1), 90 * 16, 290 * 16) + + @Property(QColor, notify=colorChanged, final=True) + def color(self): + return self._color + + @color.setter + def color(self, value): + if value != self._color: + self._color = value + self.update() + self.colorChanged.emit() + + @Property(str, notify=nameChanged, final=True) + def name(self): + return self._name + + @name.setter + def name(self, value): + self._name = value + + @Slot() # This should be something like @Invokable + def clearChart(self): + self.color = Qt.transparent + self.update() + self.chartCleared.emit() + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + + view = QQuickView() + view.setResizeMode(QQuickView.SizeRootObjectToView) + qml_file = os.fspath(Path(__file__).resolve().parent / 'app.qml') + view.setSource(QUrl.fromLocalFile(qml_file)) + if view.status() == QQuickView.Error: + sys.exit(-1) + view.show() + res = app.exec() + # Deleting the view before it goes out of scope is required to make sure all child QML instances + # are destroyed in the correct order. + del view + sys.exit(res) diff --git a/examples/qml/tutorials/extending-qml/chapter3-bindings/chapter3-bindings.pyproject b/examples/qml/tutorials/extending-qml/chapter3-bindings/chapter3-bindings.pyproject new file mode 100644 index 0000000..6e21f86 --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter3-bindings/chapter3-bindings.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["app.qml", "bindings.py"] +} diff --git a/examples/qml/tutorials/extending-qml/chapter3-bindings/doc/chapter3-bindings.rst b/examples/qml/tutorials/extending-qml/chapter3-bindings/doc/chapter3-bindings.rst new file mode 100644 index 0000000..3b71911 --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter3-bindings/doc/chapter3-bindings.rst @@ -0,0 +1,54 @@ +.. _qml-chapter3-bindings: + +Extending QML - Adding Property Bindings +======================================== + +This is the third of a series of 6 examples forming a tutorial about extending +QML with Python. + +Property binding is a powerful feature of QML that allows values of different +types to be synchronized automatically. It uses signals to notify and update +other types' values when property values are changed. + +Let's enable property bindings for the ``color`` property. That means if we +have code like this: + +.. literalinclude:: app.qml + :lineno-start: 7 + :lines: 7-40 + +The ``color: chartA.color`` statement binds the ``color`` value of ``chartB`` +to the ``color`` of ``chartA.`` Whenever ``chartA`` 's ``color`` value changes, +``chartB`` 's ``color`` value updates to the same value. When the window is +clicked, the ``onClicked`` handler in the ``MouseArea`` changes the color of +``chartA`` , thereby changing both charts to the color blue. + +It's easy to enable property binding for the ``color`` property. We add a +``notify`` parameter to its ``Property`` decorator to indicate that a +``colorChanged`` signal is emitted whenever the value changes. + +.. literalinclude:: bindings.py + :lineno-start: 39 + :lines: 39-39 + +.. literalinclude:: bindings.py + :lineno-start: 21 + :lines: 21-26 + +Then, we emit this signal in ``setColor()``: + +.. literalinclude:: bindings.py + :lineno-start: 43 + :lines: 43-48 + +It's important for ``setColor()`` to check that the color value has actually +changed before emitting ``colorChanged().`` This ensures the signal is not +emitted unnecessarily and also prevents loops when other types respond to the +value change. + +The use of bindings is essential to QML. You should always add ``notify`` +signals for properties if they are able to be implemented, so that your +properties can be used in bindings. Properties that cannot be bound cannot be +automatically updated and cannot be used as flexibly in QML. Also, since +bindings are invoked so often and relied upon in QML usage, users of your +custom QML types may see unexpected behavior if bindings are not implemented. diff --git a/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/app.qml b/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/app.qml new file mode 100644 index 0000000..a5c5ff9 --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/app.qml @@ -0,0 +1,22 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import Charts +import QtQuick + +Item { + width: 300; height: 200 + + PieChart { + id: chart + anchors.centerIn: parent + width: 100; height: 100 + + pieSlice: PieSlice { + anchors.fill: parent + color: "red" + } + } + + Component.onCompleted: console.log("The pie is colored " + chart.pieSlice.color) +} diff --git a/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/chapter4-customPropertyTypes.pyproject b/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/chapter4-customPropertyTypes.pyproject new file mode 100644 index 0000000..af1cfef --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/chapter4-customPropertyTypes.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["app.qml", "customPropertyTypes.py"] +} diff --git a/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/customPropertyTypes.py b/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/customPropertyTypes.py new file mode 100644 index 0000000..c70d7fc --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/customPropertyTypes.py @@ -0,0 +1,82 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the qml/tutorials/extending-qml/chapter4-customPropertyTypes example from Qt v5.x""" + +import os +from pathlib import Path +import sys + +from PySide6.QtCore import Property, QUrl +from PySide6.QtGui import QGuiApplication, QPen, QPainter, QColor +from PySide6.QtQml import QmlElement +from PySide6.QtQuick import QQuickPaintedItem, QQuickView, QQuickItem + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "Charts" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class PieSlice (QQuickPaintedItem): + + def __init__(self, parent=None): + QQuickPaintedItem.__init__(self, parent) + self._color = QColor() + + @Property(QColor, final=True) + def color(self): + return self._color + + @color.setter + def color(self, value): + self._color = value + + def paint(self, painter): + pen = QPen(self._color, 2) + painter.setPen(pen) + painter.setRenderHints(QPainter.Antialiasing, True) + painter.drawPie(self.boundingRect().adjusted(1, 1, -1, -1), 90 * 16, 290 * 16) + + +@QmlElement +class PieChart (QQuickItem): + def __init__(self, parent=None): + QQuickItem.__init__(self, parent) + self._name = None + self._pieSlice = None + + @Property(str, final=True) + def name(self): + return self._name + + @name.setter + def name(self, value): + self._name = value + + @Property(PieSlice, final=True) + def pieSlice(self): + return self._pieSlice + + @pieSlice.setter + def pieSlice(self, value): + self._pieSlice = value + self._pieSlice.setParentItem(self) + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + + view = QQuickView() + view.setResizeMode(QQuickView.SizeRootObjectToView) + qml_file = os.fspath(Path(__file__).resolve().parent / 'app.qml') + view.setSource(QUrl.fromLocalFile(qml_file)) + if view.status() == QQuickView.Error: + sys.exit(-1) + view.show() + res = app.exec() + # Deleting the view before it goes out of scope is required to make sure all child QML instances + # are destroyed in the correct order. + del view + sys.exit(res) diff --git a/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/doc/chapter4-customPropertyTypes.rst b/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/doc/chapter4-customPropertyTypes.rst new file mode 100644 index 0000000..f7c3efb --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/doc/chapter4-customPropertyTypes.rst @@ -0,0 +1,73 @@ +.. _qml-chapter4-custompropertytypes: + +Extending QML - Using Custom Property Types +=========================================== + +This is the fourth of a series of 6 examples forming a tutorial about extending +QML with Python. + +The ``PieChart`` type currently has a string-type property and a color-type property. +It could have many other types of properties. For example, it could have an +int-type property to store an identifier for each chart: + +.. code-block:: python + + class PieChart(QQuickPaintedItem): + chartIdChanged = Signal() + + @Property(int, notify=chartIdChanged) + def chartId(self): + pass + + @chartId.setter + def setChartId(self, chartId): + pass + +.. code-block:: javascript + + // QML + PieChart { + ... + chartId: 100 + } + +Aside from ``int``, we could use various other property types. Many of the Qt +data types such as ``QColor``, ``QSize`` and ``QRect`` are automatically +supported from QML. + +If we want to create a property whose type is not supported by QML by default, +we need to register the type with the QML engine. + +For example, let's replace the use of the ``property`` with a type called +``PieSlice`` that has a ``color`` property. Instead of assigning a color, +we assign an ``PieSlice`` value which itself contains a ``color``: + +.. literalinclude:: app.qml + :lineno-start: 4 + :lines: 4-22 + +Like ``PieChart``, this new ``PieSlice`` type inherits from +``QQuickPaintedItem``, is exposed via the ``QmlElement`` decorator and declares +its properties with the ``Property`` decorator: + +.. literalinclude:: customPropertyTypes.py + :lineno-start: 21 + :lines: 21-40 + +To use it in ``PieChart``, we modify the ``color`` property declaration +and associated method signatures: + +.. literalinclude:: customPropertyTypes.py + :lineno-start: 58 + :lines: 58-65 + +There is one thing to be aware of when implementing ``setPieSlice()``. The +``PieSlice`` is a visual item, so it must be set as a child of the ``PieChart`` +using ``QQuickItem.setParentItem()`` so that the ``PieChart`` knows to paint +this child item when its contents are drawn. + +As with ``PieChart``, we add the ``Charts`` type namespace, version 1.0: + +.. literalinclude:: customPropertyTypes.py + :lineno-start: 15 + :lines: 15-18 diff --git a/examples/qml/tutorials/extending-qml/chapter5-listproperties/app.qml b/examples/qml/tutorials/extending-qml/chapter5-listproperties/app.qml new file mode 100644 index 0000000..ac99d5a --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter5-listproperties/app.qml @@ -0,0 +1,32 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import Charts +import QtQuick + +Item { + width: 300; height: 200 + + PieChart { + anchors.centerIn: parent + width: 100; height: 100 + + slices: [ + PieSlice { + anchors.fill: parent + color: "red" + fromAngle: 0; angleSpan: 110 + }, + PieSlice { + anchors.fill: parent + color: "black" + fromAngle: 110; angleSpan: 50 + }, + PieSlice { + anchors.fill: parent + color: "blue" + fromAngle: 160; angleSpan: 100 + } + ] + } +} diff --git a/examples/qml/tutorials/extending-qml/chapter5-listproperties/chapter5-listproperties.pyproject b/examples/qml/tutorials/extending-qml/chapter5-listproperties/chapter5-listproperties.pyproject new file mode 100644 index 0000000..a3f89d5 --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter5-listproperties/chapter5-listproperties.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["app.qml", "listproperties.py"] +} diff --git a/examples/qml/tutorials/extending-qml/chapter5-listproperties/doc/chapter5-listproperties.rst b/examples/qml/tutorials/extending-qml/chapter5-listproperties/doc/chapter5-listproperties.rst new file mode 100644 index 0000000..90cb411 --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter5-listproperties/doc/chapter5-listproperties.rst @@ -0,0 +1,46 @@ +.. _qml-chapter5-listproperties: + +Extending QML - Using List Property Types +========================================= + +This is the fifth of a series of 6 examples forming a tutorial about extending +QML with Python. + +Right now, a ``PieChart`` can only have one ``PieSlice.`` Ideally a chart would +have multiple slices, with different colors and sizes. To do this, we could +have a ``slices`` property that accepts a list of ``PieSlice`` items: + +.. literalinclude:: app.qml + :lineno-start: 4 + :lines: 4-32 + +To do this, we replace the ``pieSlice`` property in ``PieChart`` with a +``slices`` property, declared as a class variable of the ``QQmlListProperty`` +type. The ``QQmlListProperty`` class enables the creation of list properties in +QML extensions. We replace the ``pieSlice()`` function with a ``slices()`` +function that returns a list of slices, and add an internal ``appendSlice()`` +function (discussed below). We also use a list to store the internal list of +slices as ``_slices``: + +.. literalinclude:: listproperties.py + :lineno-start: 62 + :lines: 62-65 + +.. literalinclude:: listproperties.py + :lineno-start: 75 + :lines: 75-79 + +Although the ``slices`` property does not have an associated setter, it is +still modifiable because of the way ``QQmlListProperty`` works. We indicate +that the internal ``PieChart.appendSlice()`` function is to be called whenever +a request is made from QML to add items to the list. + +The ``appendSlice()`` function simply sets the parent item as before, and adds +the new item to the ``_slices`` list. As you can see, the append function for +a ``QQmlListProperty`` is called with two arguments: the list property, and the +item that is to be appended. + +The ``PieSlice`` class has also been modified to include ``fromAngle`` and +``angleSpan`` properties and to draw the slice according to these values. This +is a straightforward modification if you have read the previous pages in this +tutorial, so the code is not shown here. diff --git a/examples/qml/tutorials/extending-qml/chapter5-listproperties/listproperties.py b/examples/qml/tutorials/extending-qml/chapter5-listproperties/listproperties.py new file mode 100644 index 0000000..236c487 --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter5-listproperties/listproperties.py @@ -0,0 +1,96 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the qml/tutorials/extending-qml/chapter5-listproperties example from Qt v5.x""" + +import os +from pathlib import Path +import sys + +from PySide6.QtCore import Property, QUrl +from PySide6.QtGui import QGuiApplication, QPen, QPainter, QColor +from PySide6.QtQml import QmlElement, ListProperty +from PySide6.QtQuick import QQuickPaintedItem, QQuickView, QQuickItem + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "Charts" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class PieSlice (QQuickPaintedItem): + def __init__(self, parent=None): + QQuickPaintedItem.__init__(self, parent) + self._color = QColor() + self._fromAngle = 0 + self._angleSpan = 0 + + @Property(QColor, final=True) + def color(self): + return self._color + + @color.setter + def color(self, value): + self._color = value + + @Property(int, final=True) + def fromAngle(self): + return self._angle + + @fromAngle.setter + def fromAngle(self, value): + self._fromAngle = value + + @Property(int, final=True) + def angleSpan(self): + return self._angleSpan + + @angleSpan.setter + def angleSpan(self, value): + self._angleSpan = value + + def paint(self, painter): + pen = QPen(self._color, 2) + painter.setPen(pen) + painter.setRenderHints(QPainter.Antialiasing, True) + painter.drawPie(self.boundingRect().adjusted(1, 1, -1, -1), self._fromAngle * 16, self._angleSpan * 16) + + +@QmlElement +class PieChart (QQuickItem): + def __init__(self, parent=None): + QQuickItem.__init__(self, parent) + self._name = u'' + self._slices = [] + + @Property(str, final=True) + def name(self): + return self._name + + @name.setter + def name(self, value): + self._name = value + + def appendSlice(self, _slice): + _slice.setParentItem(self) + self._slices.append(_slice) + + slices = ListProperty(PieSlice, appendSlice, final=True) + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + + view = QQuickView() + view.setResizeMode(QQuickView.SizeRootObjectToView) + qml_file = os.fspath(Path(__file__).resolve().parent / 'app.qml') + view.setSource(QUrl.fromLocalFile(qml_file)) + if view.status() == QQuickView.Error: + sys.exit(-1) + view.show() + res = app.exec() + # Deleting the view before it goes out of scope is required to make sure all child QML instances + # are destroyed in the correct order. + del view + sys.exit(res) diff --git a/examples/qml/tutorials/extending-qml/chapter6-plugins/Charts/piechart.py b/examples/qml/tutorials/extending-qml/chapter6-plugins/Charts/piechart.py new file mode 100644 index 0000000..6a7e80c --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter6-plugins/Charts/piechart.py @@ -0,0 +1,40 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Property +from PySide6.QtQml import QmlElement, ListProperty +from PySide6.QtQuick import QQuickItem + +from pieslice import PieSlice + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "Charts" +QML_IMPORT_MAJOR_VERSION = 1 + +@QmlElement +class PieChart(QQuickItem): + def __init__(self, parent=None): + super().__init__(parent) + self._slices = [] + self._name = '' + + @Property(str, final=True) + def name(self): + return self._name + + @name.setter + def name(self, name): + self._name = name + + def slice(self, n): + return self._slices[n] + + def sliceCount(self): + return len(self._slices) + + def append_and_setparent(self, slice): + self._slices.append(slice) + slice.setParentItem(self) + + slices = ListProperty(PieSlice, append_and_setparent) diff --git a/examples/qml/tutorials/extending-qml/chapter6-plugins/Charts/pieslice.py b/examples/qml/tutorials/extending-qml/chapter6-plugins/Charts/pieslice.py new file mode 100644 index 0000000..67242a9 --- /dev/null +++ b/examples/qml/tutorials/extending-qml/chapter6-plugins/Charts/pieslice.py @@ -0,0 +1,52 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Property, QRectF +from PySide6.QtGui import QColor, QPainter, QPen +from PySide6.QtQuick import QQuickPaintedItem +from PySide6.QtQml import QmlElement + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "Charts" +QML_IMPORT_MAJOR_VERSION = 1 + +@QmlElement +class PieSlice(QQuickPaintedItem): + def __init__(self, parent=None): + super().__init__(parent) + + self._color = QColor() + self._from_angle = 0 + self._angle_span = 0 + + @Property(QColor, final=True) + def color(self): + return self._color + + @color.setter + def color(self, color): + self._color = QColor(color) + + @Property(int, final=True) + def fromAngle(self): + return self._from_angle + + @fromAngle.setter + def fromAngle(self, fromAngle): + self._from_angle = fromAngle + + @Property(int, final=True) + def angleSpan(self): + return self._angle_span + + @angleSpan.setter + def angleSpan(self, angleSpan): + self._angle_span = angleSpan + + def paint(self, painter): + painter.setPen(QPen(self._color, 2)) + painter.setRenderHint(QPainter.RenderHint.Antialiasing, True) + + rect = QRectF(0, 0, self.width(), self.height()).adjusted(1, 1, -1, -1) + painter.drawPie(rect, self._from_angle * 16, self._angle_span * 16) diff --git a/examples/qml/tutorials/extending-qml/chapter6-plugins/Charts/plugins.png b/examples/qml/tutorials/extending-qml/chapter6-plugins/Charts/plugins.png new file mode 100644 index 0000000000000000000000000000000000000000..8992e89c0d6f60f052fc43a95d115e6dab6449e1 GIT binary patch literal 5014 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 literal 0 HcmV?d00001 diff --git a/examples/qml/usingmodel/doc/usingmodel.rst b/examples/qml/usingmodel/doc/usingmodel.rst new file mode 100644 index 0000000..11b476d --- /dev/null +++ b/examples/qml/usingmodel/doc/usingmodel.rst @@ -0,0 +1,9 @@ +Using Model Example +=================== + +A Python application that demonstrates how to use a :ref:`QAbstractListModel` +with QML. + +.. image:: usingmodel.png + :width: 400 + :alt: Using Model Screenshot diff --git a/examples/qml/usingmodel/usingmodel.py b/examples/qml/usingmodel/usingmodel.py new file mode 100644 index 0000000..6f8ea5a --- /dev/null +++ b/examples/qml/usingmodel/usingmodel.py @@ -0,0 +1,70 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +from pathlib import Path +import sys +from PySide6.QtCore import QAbstractListModel, Qt, QUrl, QByteArray +from PySide6.QtGui import QGuiApplication +from PySide6.QtQuick import QQuickView +from PySide6.QtQml import qmlRegisterSingletonType + + +class PersonModel (QAbstractListModel): + MyRole = Qt.UserRole + 1 + + def __init__(self, parent=None): + QAbstractListModel.__init__(self, parent) + self._data = [] + + def roleNames(self): + roles = { + PersonModel.MyRole: QByteArray(b'modelData'), + Qt.DisplayRole: QByteArray(b'display') + } + return roles + + def rowCount(self, index): + return len(self._data) + + def data(self, index, role): + d = self._data[index.row()] + + if role == Qt.DisplayRole: + return d['name'] + elif role == Qt.DecorationRole: + return Qt.black + elif role == PersonModel.MyRole: + return d['myrole'] + return None + + def populate(self, data=None): + for item in data: + self._data.append(item) + + +def model_callback(engine): + my_model = PersonModel() + data = [{'name': 'Qt', 'myrole': 'role1'}, + {'name': 'PySide', 'myrole': 'role2'}] + my_model.populate(data) + return my_model + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + view = QQuickView() + view.setResizeMode(QQuickView.SizeRootObjectToView) + + qmlRegisterSingletonType(PersonModel, "PersonModel", 1, 0, "MyModel", model_callback) + qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml') + view.setSource(QUrl.fromLocalFile(qml_file)) + if view.status() == QQuickView.Error: + sys.exit(-1) + view.show() + + r = app.exec() + # Deleting the view before it goes out of scope is required to make sure all child QML instances + # are destroyed in the correct order. + del view + sys.exit(r) diff --git a/examples/qml/usingmodel/usingmodel.pyproject b/examples/qml/usingmodel/usingmodel.pyproject new file mode 100644 index 0000000..600cdb4 --- /dev/null +++ b/examples/qml/usingmodel/usingmodel.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["view.qml", "usingmodel.py"] +} diff --git a/examples/qml/usingmodel/view.qml b/examples/qml/usingmodel/view.qml new file mode 100644 index 0000000..c5aa7e0 --- /dev/null +++ b/examples/qml/usingmodel/view.qml @@ -0,0 +1,29 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import PersonModel + +ListView { + width: 100 + height: 100 + anchors.fill: parent + model: MyModel + delegate: Component { + Rectangle { + height: 25 + width: 100 + Text { + function displayText() { + var result = "" + if (typeof display !== "undefined") + result = display + ": " + result += modelData + return result + } + + text: displayText() + } + } + } +} diff --git a/examples/quick/models/objectlistmodel/doc/objectlistmodel.png b/examples/quick/models/objectlistmodel/doc/objectlistmodel.png new file mode 100644 index 0000000000000000000000000000000000000000..416e08a857eb13f34d7394c4bc83611b28184bea GIT binary patch literal 1327 zcmV+~1<0&!J@*3~-dq9Kz# z#D^_K@s{XRT%YHbE;A9} z?m^cma+AJ{VKss^8GD2dP=ZPr`N2dD;>Acx@fU-)U!EFX9-qc zdQClrbll30#fEjZxRIZS~}EmEIoIeO3qMZf~$d5ij{Dbpv{#>!6C&k2KcZYsit3kK+t79@`y35Lkf~Sb-H-kst`HzzVFu$}E;ck+Ks6fwgd0 z+i6?K8n5#_Kji1^d(^SM!DbF|kl*tA2VLVktfQF?EaA0mV7-Y2c*;6T#;f^JHn7%! z$I0;r4)SBFs4V%0Z;<2H^81Yq55g@^U6$!zb9pE_U%Po+-glfu+MVtlyM8SsQ0s2iz~#UaI&-Hr83CONT0c zmY!?otGvuXI{4juv7TZzd(*s;4Xi_K+B9* zy>qP;d&5Xz1y*1MR$v8IB(MT2umUS%Sn*49{D2==i=vmck3X}U0{@I&*4gtHcJU4^ zRB|nPS<7r{{U+~3FYBDWtO@^ODIY{H>+HR(f8!Mz`Fr%T&e_ZQSGKd3SNV7Jvd-CY znD8Yl_*3+0zZjf)>*KIm`LZuD)vS%>nvE$vw|P+1Z@kjj>}pv>*ridpRd>( z#zs04Sb-H-ffZPR6$z}s3atOHB$2Wc1c9}1SSL<6fBs<<8yfQV+s4KoWvoq`?As?v z6pJoibp85*RGOHuWebdsW&-QxO*nUMK`M21X==(4R%0WqStFl!`?g}y;lt|c)YRzc zn7mBbEsBU2y8#|;h|A79iPoq>Va8t)@=FkL*3m|QZZ+hC3X37%vohi{cjvt)6>^Cv()9wfpur5=}a33 lR=H9!XU%7C7)QCse*y8NmHOct*{%Qp002ovPDHLkV1gZ{qNV@< literal 0 HcmV?d00001 diff --git a/examples/quick/models/objectlistmodel/doc/objectlistmodel.rst b/examples/quick/models/objectlistmodel/doc/objectlistmodel.rst new file mode 100644 index 0000000..d71ee61 --- /dev/null +++ b/examples/quick/models/objectlistmodel/doc/objectlistmodel.rst @@ -0,0 +1,12 @@ +Object List Model Example +========================= + +A list of QObject values can also be used as a model. +A list[QObject,] provides the properties of the objects in the list as roles. + +The following application creates a DataObject class with Property values +that will be accessible as named roles when a list[DataObject,] is exposed to QML: + +.. image:: objectlistmodel.png + :width: 400 + :alt: Object List Model Screenshot diff --git a/examples/quick/models/objectlistmodel/objectlistmodel.py b/examples/quick/models/objectlistmodel/objectlistmodel.py new file mode 100644 index 0000000..0843ae4 --- /dev/null +++ b/examples/quick/models/objectlistmodel/objectlistmodel.py @@ -0,0 +1,61 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from pathlib import Path +import sys +from PySide6.QtCore import QObject, QUrl, Property, Signal +from PySide6.QtGui import QGuiApplication +from PySide6.QtQuick import QQuickView + +# This example illustrates exposing a list of QObjects as a model in QML + +class DataObject(QObject): + + nameChanged = Signal() + colorChanged = Signal() + + def __init__(self, name, color, parent=None): + super().__init__(parent) + self._name = name + self._color = color + + def name(self): + return self._name + + def setName(self, name): + if name != self._name: + self._name = name + nameChanged.emit() + + def color(self): + return self._color + + def setColor(self, color): + if color != self._color: + self._color = color + colorChanged.emit() + + + name = Property(str, name, setName, notify=nameChanged) + color = Property(str, color, setColor, notify=colorChanged) + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + + dataList = [DataObject("Item 1", "red"), + DataObject("Item 2", "green"), + DataObject("Item 3", "blue"), + DataObject("Item 4", "yellow")] + + view = QQuickView() + view.setResizeMode(QQuickView.SizeRootObjectToView) + view.setInitialProperties({"model": dataList}) + + qml_file = Path(__file__).parent / "view.qml" + view.setSource(QUrl.fromLocalFile(qml_file)) + view.show() + + r = app.exec() + del view + sys.exit(r) diff --git a/examples/quick/models/objectlistmodel/objectlistmodel.pyproject b/examples/quick/models/objectlistmodel/objectlistmodel.pyproject new file mode 100644 index 0000000..556e399 --- /dev/null +++ b/examples/quick/models/objectlistmodel/objectlistmodel.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["objectlistmodel.py", "view.qml"] +} diff --git a/examples/quick/models/objectlistmodel/view.qml b/examples/quick/models/objectlistmodel/view.qml new file mode 100644 index 0000000..b7cf68a --- /dev/null +++ b/examples/quick/models/objectlistmodel/view.qml @@ -0,0 +1,15 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +ListView { + width: 100; height: 100 + + delegate: Rectangle { + color: model.modelData.color + height: 25 + width: 100 + Text { text: model.modelData.name } + } +} diff --git a/examples/quick/models/stringlistmodel/doc/stringlistmodel.png b/examples/quick/models/stringlistmodel/doc/stringlistmodel.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb9b518ae66accc39e612642fc20ff506b060b2 GIT binary patch literal 1978 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
5P&2y1Tuh{eA%&JSKTnr+}wjfHW$+u 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

#LWb^ zC3`}|Lg8>CVEBDsb)n`2yXB+Rp4I0CTP&?HmVf36L-~bsA6z{eQk$AspAI!rG)u3K)7;(g@JDhO9j!VP zcxBI|b(3#Nqwfl{i9ewc?-%7S^Q)>A!`ds&PyiH;Gdu(_A zLm@|@6my^B^f~LOJ1&ngn2wqzRNcC65}|7WY*h4R60Rq%@c4u`IMQEZXXdaxk*J zKiVU1x~2Mbg4G)0)j6sM2ITq=Gx`SFSOfghVg`(ha;S*eW><=Z^+x)*w8Z=N9#>`*J%I1T6Hmer=Bc6T|1>cLN1r?Qm z`bL{;RL4gpZ7IjHrhs}`+VYYIV@#Ha1#U%HD^87pZzyfd1g$t&bTl89`3{Rio&|u< zMc_|;HLwFspyEVywv@*=|$s`kzTfv1IdaQu`0N? zFH7`?yHF|m&lfe^!_ImZ20C6p5omV$yNks{!-9&8tdDuzh-cN>tlj7TlQU`6*c%QB zemOd@$9Ld70m~nm%p07GkDD8`#1nTL4|CmhiXFUPI31>&x9=o_iM(cH2b1I;{gLqX zM;Q`^!CW|)s(adPSP?W@L+uiph_ELMR5v{(^7cmTLVD@JKmeFRjrxpqoBF4<5u=(% zJ}{m;-qLwgMiK<(hj{)?hkF(4j{cI-MYZP3iI%hFktkQ@?VqGWZfR#v?c^jC)@4nb zVOnK5)p6Kpu;5MT8v7(W2Vnk>2spoM2&Q1^;r`gexOUG^X3{xfP8&gUaq`NYgkRr6 zO}FH4IGTIn>^X$Z()h}wd%FM-z_vv%&KqO7mq1LUkCH>ij$7Aus{epSI|Kr#MZONr z31UF%;wLGw$>6|!rFfFQBwpxPOLtt(YwX9J*2w7I=o*Il+@3NK4)=yR^wm05rR#$6 z$anvfU7iDB>oN3PBL~p8y=OcU3*a&-YM9PCb6ULYegh6BXrW2$n~ZFNrCa&q_$2nw#G1(7Qu}Tr(FrWa_RQ6E5v#DDfI=(_gb2&(%)^^nw#)NEDb=e` z2i_c5!Nss!UPW=&^?kd&63{3?q>qQ}UQ#RJ9OCCL^-1GI-lmuIO|kPXtFJQk@Y!K4 zeaFv_U_1wsPku0vag_Eqx1X^5I4>}SlK{L8o%|n#(Ukxd>r`a!Qq&Ju`hM#mFCPS1SulqmwhIkJkT7n;humo zuB%P}$<-{Md&$fssq7{bH1Dp(fT>wqOZiU;*;Cvh8Tm4!!EE1wG=pv?XQT2y%pQq( zPBpIni~Buu_1J(e&O-7KfH_daXg`@`7Ik;}c+Xpb8oLK};y(+7dbAr&sBLoets_nO zwEFCFCUx_V+iS^dOU1Ea?3^wc zr%xf==UXZ0R6^%j2_lR>Gzi#=04e)yN@e*};BD!2j&ryy#7jT!HyxBxfOZK%{6|^2 zudM;igcC-<=hkH&XOk!T6vJ=bs{27HPx044APkxWgV<wSobC>)VrRY_q9cgdhHQI7i-qKG$Ps2Mp;cvid5+5eYb#+nFZg z`@rpj*T4AYf$DyuRAx4cZH$U^fgV3Q@bs;wv-OsCg*u>5dtd6Ghn7(Tn&(5X=FcwK z`PHt3sbNNguGYOJz?7V$C$pb>@GccNp&rBEnsL&qW~6S>km24^j5 zGcCiyp9(641T5_Tw@v*2t6jc$?U=F(^zpqZ2kpnyVy%A1Isy}Uz)uE{ih`zmg{)=J FzXA7z>e&DQ literal 0 HcmV?d00001 diff --git a/examples/quick3d/customgeometry/resources.qrc b/examples/quick3d/customgeometry/resources.qrc new file mode 100644 index 0000000..dc55e9d --- /dev/null +++ b/examples/quick3d/customgeometry/resources.qrc @@ -0,0 +1,6 @@ + + + main.qml + qt_logo_rect.png + + diff --git a/examples/quick3d/customgeometry/resources_rc.py b/examples/quick3d/customgeometry/resources_rc.py new file mode 100644 index 0000000..1422353 --- /dev/null +++ b/examples/quick3d/customgeometry/resources_rc.py @@ -0,0 +1,585 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.2.2 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00\x09C\ +\x00\ +\x00#\x9fx\x9c\xe5ZQs\xdaH\x12~\xe7W\xf4\ +\xf9\xf2`\xef\x11\x19;\x9b\x5c\x8e\xab\xab+\x01\xb2\xad\ +*,\x11I\xd8qmm\xa5\x844\xc0l\x84\x86\x95\ +F&l\xca\xff\xfd\xbaG\x12\x08\x108N\xec\xbd\xba\ +\xba)\x17\xa0\x99\x9e\xee\xaf\xbf\xee\xe9\x99Qr\xfa\xd3\ +3\xb6\x86\xfa\x83\xae\x98/\x13>\x99J8\xee\x9e\xc0\ +y\xeb\xfc\x0c\xbc)\x83\x0f\x12Gfs?^B_\ +\x86Z.\x19K?\x90m\x98J9O\xdb\xa7\xa7\x8b\ +\xc5B\xfb]j\x5c\x9cF<`q\xca\xe3\xc9i\xa1\ +\xd5\x9b\xf2\x14\xc6\xf5\xcd\xaea\xb9F\xbb\xe3\xf6^\xe5pf3\ +\x96\x04\xdc\x8f\xa0\xaf\xcc3\x18\xa6\xfe\x84\xd1X\xd1\x81\ +\x8a\xa7\x22\x0a\x11\x17\xdc\xfb\x11\x0f!X\xcfAS9\ +j\x14\x9a\xf9K\xc8p\xbe\x5c\xa3\x8eI\x8d\x1f\x04\x22\ +\x09\xfd8`\xb0\xe0r\xaa VT\x14\xf3\xc1\x9f$\ +\x8c\xcdX,a\x9e\x88{\x1e\xb2p%NZ\x5c1\ +\x96\x0b?a \x92&\xf8\x91dI\xecK~\xcf\xa2\ +e\x13\xed\xd4\x1aA\x99Y\x8a\xa6\x90p\x1e\xa3\xba\x02\ +\x0e,\x12.%\x8b+\x16GL.\x18\xf6,E\x06\ +~\x1cn\xc5N\x83\x0b${\x15\x9d\x5c\xafR\x15\x13\ +\x19q\xc8%\x17q\x0aHUMT\x95\xf4\xeb\xb5X\ +\xaem\x9c%\x081!-<\xc6X\xce|\x1a,\xf8\ +c9\xe8@Ey\x06\xbe\xacQ[H\xbc\xce\xd22\ +\xc8\x18\xd2\xdd\x18\xea\x9bL\x91\x83\xbbq\xca\xe2\x90%\ +\x15\xca\x8a<\x22\x85Et\x94\xb7(-\xa2H,\xd2\ +va\xf1\xc8a!Oe\xc2G\x99BO|\x90f\ +\x8cG*\xb2\x04cA=#\x1e\xfb\xc9R\xb9\x926\ +\xf3\xe8 \x01\xf4-2Ijf\x22\xe4c\x1e(\x06\ +0\xb6\x18\xe39\xc2\xa0\x18\x85\xeb\x5c\x90S\xa4\x81P\ +\xe5\x18(\x0e\x15\xeaq\x92\xd2\xc4$a\x03\x80\x9f`\ +\x13\x9br\xaa\x00\x15\x88\x90\xc1,K%$\x8cRC\ +\xa9\xf5G\xe2\x9e\x86\x8au\x9ck\x01\x88\x85D\x06\x9a\ +9Y\x11*$=U\xc3q\xb8\x85\x0a\xad\x06\x91\xcf\ +1\xbd\xb5}P\xd0d\x85\x94\x12\x0a\xba\x1af\x01{\ +)4E\xfaS#\x91P\x04\x19\xe5\xbe_F\xee\x14\ +\x83\x22('1A0\x0dpi\xa6\xf5+\x91Z\xd5\ +\x9f\x95\x9b\x16\xe3j>\xa9\x8f\xfd\x19#p\xbbU\x10\ +\x9dX\x8b\xa8\xb0p\x99\x96z)\xab\x95^\x91\xe4\x05\ +e\xc4(\xa3\xd0+\x01,\x0e\xb1\x97\x0a\x00\xe1\x9a\x09\ +\xc9 \xa7L\xa6\x80\xf9\x8b\x19\x1e\x96j\xc68\x9e\x93\ +\x94\x96e\xa3\xc87H\xe7,\xa0l\xc3\xb9\x9c\xd2\xb0\ +\xa8\x05*\xe3\xd2\xb4p\xa7\xac\xbfW\xa6\x0b\xae}\xe1\ +\xdd\xea\x8e\x01\xf8{\xe0\xd87f\xcf\xe8A\xe7\x0e\x07\ +\x0d\xe8\xda\x83;\xc7\xbc\xbc\xf2\xe0\xca\xee\xf7\x0c\xc7\x05\ +\xdd\xeaa\xaf\xe59fg\xe8\xd9\x8e\xab\x96\x89\xee\xe2\ +\xe4#5\xa6[w`|\x1c8\x86\xeb\x82\xed\x80y\ +=\xe8\x9b\xa8\x0f\x0d8\xba\xe5\x99\x86\xdb\x04\xd3\xea\xf6\ +\x87=\xd3\xbal\x02\xea\x00\xcb\xf6T16\xafM\x0f\ +%=\xbb\xa9L\xef\xce\x04\xfb\x02\xae\x0d\xa7{\x85\x8f\ +z\xc7\xec\x9b\xde\x9d2yaz\x16\x99\xbb\xb0\x1dU\ +\x11`\xa0;\x9e\xd9\x1d\xf6u\x07\x06Cg`\xbb\x06\ +\x90\x7f=\xd3\xed\xf6u\xf3\xda\xe8i\x88\x01\xed\x82q\ +cX\x1e\xb8Wz\xbf\xbf\xe9.\xe9\xb1o-\xc3!\ +\x1f\xaa\xeeB\xc7@\xa4z\xa7o\x909\xe5m\xcft\ +\x8c\xaeGn\xad\x7fu\x91D\x04\xd9o\xaa\xca>0\ +\xba&\xfeF^\x0ctJw\xee\x9a\x85Z\xd7\xf80\ +D9\x1c\x84\x9e~\xad_\xa2\x8f\xc7\x8f\xb3\x83A\xea\ +\x0e\x1d\xe3\x9a\xb0#%\xee\xb0\xe3z\xa67\xf4\x0c\xb8\ +\xb4\xed\x9e\xa2\xdd5\x9c\x1b\xdc\x08\xdd\x7fB\xdfv\x15\ +qC\xd7P`z\xba\xa7+\xf3\xa8\x05\x89C\x09\xfc\ +\xdd\x19\xba\xa6\xa2\xd0\xb4<\xc3q\x86\x03\xcf\xb4\xad\x13\ +\x8c\xf9-2\x84Hu\x9c\xddS\x5c\xdb\x16\xf9\x9c\xe7\ +\x8ea;w\xa4\x9a\xf8P\xd1h\xc2\xed\x95\x81\xfd\x0e\ +\xd1\xabX\xd3\x89\x0e\x17\xd9\xebzU14\x89d*\ +\xc7\xd6\xfe\x82e\x5c\xf6\xcdK\xc3\xea\x1a$`\x93\xa2\ +[\xd35N0x\xa6K\x02\xa62\x8e\x19\x81f\x87\ +\xcaw\x0a\x1abS\xe1\xba\xd8L\xe7\xa6\x8a.\x98\x17\ +\xa0\xf7nL\xc2_\xc8c>\xb8f\x91>\x8a\xbe\xee\ +U\xc1\xbevT9N\x18V\xaf\x92,\xb7\xc6<,\x89\xf1$b\ +\xab\xe1F\xe3\x96cIZ\xc0\xd7\x06\xd5\x1c\x1e\xb6\xb1\ +\xc8P\x87z\x5c\xf0PN\xdbpv\xfe\xbe\xa5\x9e\xa7\ +\x8c\x0ay\x1b\xfe~\x9e?\xdf\xf3\x94\x8f\x22\xd6\x06\x99\ +d\xac\x91\xd7\xbeH$m8\xfa\xeb\xfb\x9f\xdf\xbf\xff\ +\xc7\xdb\xa3\x86\xea\xbd\xe1l\xf1\xa6W\xd8(\xed\xdc\xbf\ +\x09W\xcfx\xe6\x99b]\xd4p'\x8f\xdatJ\xc4\ +\xa2\xbe\x1a\x0c\xb0\xc6&~\xbb\xf8n\xac\xfa\x07\xe8;\ +\x16B:\x16t\xd5P\xc5@i\xa4\x98S\xed\x9e\x8b\ +T\xed4mdR\xbb\xc7\xf9\x22y\x13\x1e\xb7\x9a\x80\ +\x7f\xefZ\xad\x93\x95\xf0\xc3\xdaT\x8f'dH\xc4~\ +\xd4W'\xe4\xaf\xdf\xa0\xf2\xf5\xdb\x16\xaaT\x1f\xaf\xcf\ +\xaa\x8a+D\xa1|2\x19\xf9\xc7-\xedg\x04\xa0\x9d\ +\xd3\xc7\xbb&\x9ci[\xe2\xfel\xc4\x91\x93\xee\xf6\xac\ +3\x9aP~l\xcc\xaa\xa0W\x19\xf1\xed\xb8s*\x1e\ +G\x9c[\xac\xb3}\x08\xf1\xf9\xca\xcf\xf3\xfd\x88\xaf\xf1\ +t\x13m\x81]%[\xe2\x87\x5c\x5c&<\xa4,\xd6\ +\x82)\x0b>\xb3pC4\x0d|\x12\xac:u\xd6\xca\ +}\xaaqlR,\x866\x94J\xe9i\xcb:5J\ +\xa8\x09\x8a\xec\x0c`\xee\xf2?\xe8,\x8b\xd9\x11\xb3\xb4\ +\x0d\xc5\xfa\xd8\x80\xcf\x12<\xf7\xec\x93x\xd8xZ\x1d\ +^\xda\xf0\xcb\x8e\xa2\x1e\x1b\xfbY$\xaf\x0b\x99\x1a\x9c\ +\xd4\x224s\x9b/\xdf\x14\xef;,\xe9\x97\x1d\x1a^\ +\x80\x8a\xd5\xba\x1f\xc1\xafuQ9=\xfd\x0b\xfc2S\ +\xa1\x91E!\xf9\xf5\x09!\xeb\xe2\x11\xf1\xd9C\xb6\xa7\ +\xb0\xd5\xb0\x12\xd3\x05\x85(\x0dF\x16\xfe\xacE\xb1\x96\ +\xfbxW\x12\xa7\x84\xeb9\xcb\xeeI\xdb\xf0f\xaf\xae\ +\xec^\x0f\x7fC\xb7K](\xba\xab\xe9\xd9c\xef\xb1\ +/2\xc3\xe3b\xfd(5\xca\xe4\x91\x9f2\xb5:\xaf\ +\xfd\xf9^\xc1\xfc\xb6\x81\x05\xfdw\xf9)\x12\x13\xf1\x89\ +\xea\xa06\x8f'G\xb5S\x1ej{\x83,\x8a(=\ +\xda\xdb\xf85\x0b\x93\x22\xc2T\x9d\xd4\xce\xc3\x1b\xd5\x18\ +\x0f\xce\x88\x8fh.\xbc*\xb9\x86\x7fox\x00m\x88\ +QU\xad\x1e\xda%\xb2\xc8O\xf4\x99\xc8b\x8cEK\ +{\xfb\x84\xf4/\x7f\xd5f\xff\x13\xd2\x7f\xb5/\xbfD\ +\xfeol\xfa\xf0\xf5%\xea\x09n\x1f\x18\xa8\xba\x18\xf6\ +\x8b\xb1\x97\x08~\xb1\x7f\x1c-\x19\xdd\x06\xeb\xb3nN\ +\xce\xbb\xfc\x0fV.\xb3A\xd9\xf1\xe4Z\x97\x7f\xaa\xaf\ +[?\x0d\x8b3Z\x84\x17\xc25-A\xd9\x19\xda\xa3\ +\xdf\x18\xbd\x06\xab\x9c2\x8a\xc9\x08;\x9b\xc5\xf9Q\xae\ +2\xb5\xef\x8fv\xb2Db^\xa3\x83C\xbc\x15\xde\xea\ +nO\xdd\x7f1Q\xe9\xe5\x86\xc0\xfb\xe5=\x9f a\ +\x9b\x8e\x8f\x11\x816\x12QX9ym\xfa\xd5\xc9\xa4\ +\x14\xf1e\x22\xb2\xf9\x96\xb9\x91\x1a\xa1L\xd8\xdcH\x9b\ +\x9bE\xba\xb9\x95\xb4\xb5K\xc2!\x91\xdcT\xcd\xd9k\ +C}\x9d\xcb\xd5\xedv\xd3\xc1b\x85l\xb9\x97\xbb\x1e\ +d\xe9@Dp\xa5\ +\xb3u\xe0h\x0c\xdd.WZ~\x1d\xf7\xe7\xf3\xa8x\ +\xc9\x03\xc7e\x158\xd9\x83}\x8c\x0b\xee\x05\xc1\xafB\ +\xf3}\xe8\xd5\xa2I_\x04\xbbX\xec$>\xb5'\x1c\ +\xe0\xf6,\x9f\xb2\xd5\x12\xb3\xc5\xc0\xb5\xc0\x1d\xf0#\x04\ +X7\xd2\xfa\xb2!\xe2.z\xa3\xdc\xa5S\x9d\xb6q\ +B\x83\xbf\xfd\x0b\xcej\xa7=F\xc4.![\xb0\x0f\ +\xe3\xbe`\x0b\xac6?\x00\xfc\xf5\xf3\x02\x7fx\x91\xc0\ +\xdc=\xc5\xbf\xad\xe3\xf5\x7f94?\x04\xfd\xc5\x82\xf3\ +\xac\xcb\xafn\x9b\xaa\xf0@\xae\xe4\xef\x06\xe0\x98\x8f!\ +\xcd\xe6\xf4\x8e\x81\x85[\xc5d\x13\xaa\xabv\xe6=\xb7\ +\xaa\xad+\xca\x8e\x0c\x95\xaf6\xdd\x16w!\x09\xeco\ +\xd5\x0c\xa4\x92\xcd\xf33A\xddqO\x9d\x0b\xea5~\ +K$\xbe\x9f\xf7\x83\x97\xa0.\xf5u\xc4\x97=,\xe5\ +\x17\x97}Q)\xdes\x97\xf7\x1czA?\xa9\xdd\x5c\ +\xa9\x1d(\xf4O\xe7\xe0\x90\xf7\xd4\xf6\xa5S\x05\xfc\xcc\ +\x8f3<{\xfa\xea\xb6\xb4\x0bww\xc1\xeeM'j\ +\xeb\x94\xaa%Ly\xa82\xaa.q\x14*Q\x9f\x1b\ +\xd4\xaa\x89\xd5\xaa_\xccEv\xed\xd3\xfeg\xaf\xf5\x1f\ +\xcb\xb9\xe2\xde\xb5/\xedX\xec\xa3%u\x17\xcb_\x11\ +\xe1mc\xfe'$\xdc\xa3\xb8\x877\x8f\xad\x94\xe1\xcd\ +\xff\xd6\x22A\xbc\xcf\xbe@jXR\xbe\xfd\x1f-\x8f\ +\xc3\x17\xf3GN<\x87BJ\xedPX\xa9\x15\xa1U\ +\x18 E\xde\x0en\xa9\xf5\xae\x97\xed`\xc8\xa9\xad\xc3\ +\xbe\xba!\xef\x95\xdd\xbf\xe5\xae\xa0S\x16\xbc; \xb0\ +N\x85Cj\x0el\xc5+,\xdf\x98\x11\xd4v\xa9y\ +\xd8\x01\x00|\xb0\x03\x00\xf8`\x07\ +\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\x00\xc0\x07;\x00\x80\x0fv\ +\x00\x00\x1f\xec\x00\x00>\xd8\x01\x00|\xb0\x03\x00\xf8`\ +\x07\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\x00\xc0\x07;\x00\x80\x0f\ +v\x00\x00\x1f\xec\x00\x00>\xd8\x01\x00|\xb0\x03\x00\xf8\ +`\x07\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\x00\xc0\x07;\x00\x80\ +\x0fv\x00\x00\x1f\xec\x00\x00>\xd8\x01\x00|\xb0\x03\x00\ +\xf8`\x07\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\x00\xc0\x07;\x00\ +\x80\x0fv\x00\x00\x1f\xec\x00\x00>\xd8\x01\x00|\xb0\x03\ +\x00\xf8`\x07\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\x00\xc0\x07;\ +\x00\x80\x0fv\x00\x00\x1f\xec\x00\x00>\xd8\x01\x00|\xb0\ +\x03\x00\xf8`\x07\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\x00\xc0\x07\ +;\x00\x80\x0fv\x00\x00\x1f\xec\x00\x00>\xd8\x01\x00|\ +\xb0\x03\x00\xf8`\x07\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\x00\xc0\ +\x07;\x00\x80\x0fv\x00\x00\x1f\xec\x00\x00>\xd8\x01\x00\ +|\xb0\x03\x00\xf8`\x07\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\x00\ +\xc0\x07;\x00\x80\x0fv\x00\x00\x1f\xec\x00\x00>\xd8\x01\ +\x00|\xb0\x03\x00\xf8`\x07\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\ +\x00\xc0\x07;\x00\x80\x0fv\x00\x00\x1f\xec\x00\x00>\xd8\ +\x01\x00|\xb0\x03\x00\xf8`\x07\x00\xf0\xc1\x0e\x00\xe0\x83\ +\x1d\x00\xc0\x07;\x00\x80\x0fv\x00\x00\x1f\xec\x00\x00>\ +\xd8\x01\x00|\xb0\x03\x00\xf8`\x07\x00\xf0\xc1\x0e\x00\xe0\ +\x83\x1d\x00\xc0\x07;\x00\x80\x0fv\x00\x00\x1f\xec\x00\x00\ +>\xd8a}i\xaf;\x02\xab\x81\xffgL\xb0\xc3:\ +\xc2\xa9\x1c\x1d\xfe\xa51\xc1\x0e\xebE\xf5<\xde\xd9\xb7\ +g{_\x1b\xac\x92\x1d}m\xb5\x7f)\x82\x88\x06v\ +X/\xda_\xee\x7fcG\xdf\x9e\xd7n\xbf\xb5o\xa8\ +{\xef\xd0Ah\x19\xfd\x03;\x07\xbb^\xee\xef@\x0d\ +q\xc1\x0e\xeb\x82\xa9\xa1\xad}\xe0\x9d\xdfg\xef<%\ +V\x1dw\x1f\x8fv\xfc\xf1\xael\xab\x7fl\xdd\x7f\x1b\ +Z\x04;\xac=\x8b\xb3\x86[3\xfd:\xb3\xe7\x9f\xce\ +/<]\x80\xd6\xa8,\xcc\xeb\x7f88[zc\x00\ +;D\x06;\xac1\x89\x1av\xf6\xed\xd9u\xbb\xf3\xc6\ +\xf4\xcdD\x0d\x0b\xff\xd3Vg\xb9\xb6D\x0ba\xff\xc0\ +\xa1\xd9a\xec\x10\x1d\xec\xb0fhI\x9c\xaa\xa1\xbf\xfd\ +\x95\xfe\x8e\x9f\xa7\xae\xdb\x99\x1d^\x03\xd3S\x9dXq\ +`\x87\xe2\xc0\x0ekFU\x0d\xda^\x9e\xbcj\xa7\xb5\ +I\x015\xac&\xb0Cq`\x87\xb5!\x91\x82M\x1f\ +.N^\xb1s:\xa8\x01;\xac&\xb0Cq`\x87\ +5\xa0\xfa6\xdb\xce\xbe=\xdf\x97\x7f\xd4\xa9\x1c\x8c\x80\ +\x1aV\x1f\xd8\xa18\xb0C\xd1T\xd5\xb0\xbd\xaf\xedl\ +\xf9\x82\xcec\xbc\x107\xb0Cq`\x87BI\xd4\xa0\ +\xf3u[\xdf\xab\xa7\xc6\xcf\xe9$\x0eR@\x0d\xb1\x02\ +;\x14\x07v(\x8eE5\x9c\x1c;\xad3\x185\x14\ +\x11\xd8\xa18\xb0CA\x045\xec\xfe\xea~\xaf\x9d\xc7\ +A\x0d\xd8!b`\x87\xe2\xc0\x0eE\xf1r\x7f\xc7\x8b\ +}\xbb\xbf\xf8\xeb[;\x89QCA\x81\x1d\x8a\x03;\ +\x14A\xbb\xd4\xf0\xaf[\xff91\xfau\x90\x82mQ\ +C\xf4\xc0\x0e\xc5\x81\x1d\xe2\xa2\x05EU\x0d\x1f\x8f~\ +YY\xa8\xe8\xc4\xcd\x0a\x82\x88\x1e\xd8\xa18\xb0CD\ +\xecZC\xa2\x86\x0f\xee}\xfaxaNgm\xa1j\ +P\xb3\xa1\xfd\x1c\xf35r\xc7\x85\x95O\x1b\xd8\x0a\x81\ +\x1d\x8a\x03;\xc4\xa2z\x19\xf2\xc5\xbe\xdd\xc7F>\x99\ +\x9d\x7f\x94\x9c\xb8\x85\xa5bHr\xa1\xf4\xb0\x0cYN\ +$\xe5\x95P\x19M\xd8\xce\xe6\x0d\xecP\x1c\xd8!\x0a\ +\x89\x1a\xc4\xf6\xbe\xb6\xee\xe1\xe3\xd3\xf33\xe1\xacU\xc4\ +M\xbf\x90\xd5\x89\x14\xe4\x9fZh\x15\xf3wejl\ +n\xfc\xee\xe3\xd1\xe1\xc7#\xca\x96\xc1\xd9\x92\xb6\xda\xd7\ +\x11\x1d\xd7\xa3s\x0bO\xaa\xa5\xd3\xe1\x89\xd0\x9a\x1d\xdc\ +\x8c\x81\x1d\x8a\x03;DcG_[\xe7`\x97\x920\ +9ekY\x171\xf1Bk\xda\x06\xf5LT&\x7f\ +\x9d\xfe\xedl\xf9\xc2\xc7\xa3_\x1e(\x1d\xed\x18\xdc\xaf\ +\xa5\x8d$\xa5\xd5\xcd?o\xbd\xa2\xed\xf6\xbeW\x950\ +\xca\x9c\xae\xd2\x91\x0f\xef}\xfe]\xf9\x87\x1b\xd37%\ +\x0b\xab\x9e\x15\x84\xed,3\xb2\xb5\x9a\x10J\x16\x17\xd8\ +\xa18\xb0C4\x94\x93\x87\x86{\xc2\xf9\x1a7+B\ +kaGS\x83\xaf\xee\xf7*\xe7w\xf6\xedy\xe1\xd6\ +KZ\xd1h\x00\xda\xd7H$\x88Wjh_Gv\ +\xf6\xb7\xebQ\x95\x912\xb4\xb3o\xa8\xfb\xb3?\xbf\xb1\ +{\xcf(B\x1a\x1bv\xf0\x99\xb1\x9c\x92\xcbo\xad\xe5\ +\xc0\x0e\xc5\x81\x1d\xa2\xa1\xac;8\xfc\x7f:SW\x94\ +c\xcb\x09k-4;\xfe\xa4\xac\x99\xc2\xeb\x03ok\ +j\xb0-\x9d\x1a\xec\xba\xdd\x99\x8a \xb9\xf0\x91\x1b\x95\ +a\x0f\x995lr!M\xa8\xd6\xb1\x91O\xb4\xf4\xc8\ +6n\xfb\xb6\xd3$\xac\x8c\xb6\xe5\xca\x84f\x22\x1aR\ +\x16[\xc8\x842i\x8d\xa2\x02;\x14\x07v\x88F\xb0\ +\x83\x9d\xaf\xb1\x22\x97c?M]W\x1aH\x0a\xca\x84\ +05\x08\x17>\x96A\xf5\xea\xa9\xeaj\xa2\xa1v^\ +\xbb\xfd\x96}sT\x11zyfJ[\x01=SM\ +C\xd4\x82T\x15h\x1fxG\x8d\xcb_\xd9wm\x8a\ +\x0b\xecP\x1c\xd8!\x1aE\xd8\xc1R+$\xd8\xd9\xf2\ +\x05\xf5b9PK\x83\xe5{!\x8f5\xa2E\x87\x1c\ +\xa1E\x8a\x0d;\xd7c\xa3\xb0\x02\xaa\x12T\x15\xd0\x90\ +41\xd1\xac\x04;lv\xb0C4\x8a\xb3\x835(\ +5(\x0f\x95\xcc\xb5\x1e\xeb\xbdP=bi\x1f\xc8=\ +\x9aa\xb1\xbc\x16)\xd9\x0f}/\xdf\x0e\x9d\x83]v\ +\xb1#\xa0\x89\xc3\x8b}\xbb{\xee\x9e\xc0\x0e\x9b\x1d\xec\ +\x10\x8d\xe8v\xa8f`\xfa\xb6\xe5\xb5\x87\xbf(\x99k\ +j\xf0\xf3+\xc14;P\xb2\ +\x95+\x13\xd9\xc25;\xe4\x87\xb4R\xec\xc2\x04v\xd8\ +\xf8`\x87hD\xb4\x83\xb6cs\xe3\xed\x03\xef\xe4R\ +1=\xf5\x93%\xbd\xdd\xd6\xa9\xe5\x8eB\xc2\x8f?)\ +\xa7\x8b\x97\xc5.\x0cK\xe0\xbb\x8fG\xb3\x85\xb1\xc3\xf3\ +\x06v\x88F,;\xd8\x07\xa8\xfbg\x06\xb4\xc8\xcf\xa5\ +\xaeN}%\xa7\xe6\x14\x96\xb7vC\xfa\xb4\xd2\x8a#\ +$\xbc\x1cT\xff\xb6\x88\x12\xf8_\xb7\xfec\x0e\xca\xda\ +\xc1\x0a\xeb\xd1\x80\x95_Z\xbdz$[,\x8b\xec\xb6\ +\xbd\xef\xd5\x0f\xef}\x8e\x1d68\xd8!\x1a\xd1\xec\x90\ +V\xbf\xbe\xfaW]\xab\ +[Y\xa8(K5\xf2z;(\x8d\xb3\x1f\xa9\xd0V\ +\x9d\xbe?\xf2QW\xe9\xc8\x81\xd2\xd1\x80\x14\x96\x1b\xa4\ +\x90\x1a\xda\x07\xf6f\x8be\xd1\x7fi\xdfP\xb7\x1a\xb7\ +;\xe8c\x87\x0d\x0bv\x88F\x14;(U\xac\xfa\xc9\ +\xb1\xd3j0\xd7\x85RQ/\xdd\x9a\x93[\xc9\xd5\xe4\ +\x95\xd5\xd5\xf6\x8b\xbf\xbe\x95\x08\xe4\x9dlG\xca1M\ +\xfe\xf5P(f\xdb\xbf+S\x9a\xb6hkh_9\ +ioR\x064H)L\x83,W&r\xe5\x03:\ +8=?\x93m\xbc\xe5\xc0\x0e\xc5\x81\x1d\xa2\x11k\xee\ +PYH\xe6\x0e\x9f\xfd\xf9\xcd\xb6\xea7,\x02\xd5\xb7\ +3O\x8c~m\xc5V\x93W\xa1\xee\xa9\xf1sJf\ +\xcf\x0em\xca\xf0\x90\xc0\x8d\xfa\xea\x1c\xecRNf\xeb\ +\x9a\xc2l\x90\xcf\x8c\xd5<\x05\x0b\xecP\x1c\xd8!\x1a\ +\xb1\xe6\x0e\xf6\xf5\x84\x0f\xee}\xaa\x1c\xcb%\xad\xd9\xc1\ +>\xec\xb0\x9co14\x89\x90\x96g\xcb\x17\xea;2\ +;h\x1da\xcf\xc5\x0ak\x9bC\x86r\xbfgav\ +\xb0\xcfJ\xab\x85l\x95\x1c\xa1\xf1\x96\x03;\x14\x07v\ +\x88F<;$s\x87c#\x9f\xd4\x92vqUo\ +v\xf8\xea~\xaf\x0a\x84\xef)\xb4\x16!9\xbf/\xff\ +\xa8\x8e\xd4r\xe8\xc5P\xa6\xe9\xe9d\xed\x90\x0d;\xa2\ +G\x9b\xd8\xa1Q\xdd\xb8\x81\x1d\x8a\x03;D#\x96\x1d\ +\xec\xaa\xa4^\xb7\xbd\x97\xf4$\xf1\xec\x8b\xdb\xb1\xecp\ +q\xf2J#;\x1c(\x1d\xb5\x19J}Gv\x04;\ +lm\xb0C4\xa2\xd9!\xad\xde\xc0\x0e\xc9\x1b\x8d\xf6\ +V\xc2\xeaW\x16\x96\xb7\x97'\xaf6\xb2\xc3\xfe\xd2a\ +\xec\xf0<\x83\x1d\xa2\x11\xd7\x0e\xdd\xc3\xc7];l\xeb\ +{\xd5n\xcdb\x0b\x90\x96C\x1dY\xde\xfe4u]\ +\xab\x15\xd7\x0e\xfb\x86\xba\xb1\xc3\xf3\x0cv\x88\xc6\xda\xcc\ +\x1d\xd6\xd2\x0e\xcc\x1d\x9es\xb0C4\xd6\xcc\x0e\xb5\x95\ +E\x1c;\x5c\x99\xba\xd6\xc8\x0e\xe9u\x87\xa4\x97\xfa\x0c\ +\xb7#\xd8ak\x83\x1d\xa2\x11\xd7\x0e\xee{\x16\xfa3\ +{\xdda5\x89\xa7\xbaV\xbd\xf1u\x87\xb6C\xc3=\ +\x8d2\xdc\x8e\xe8Q\xec\xb0\x85\xc1\x0e\xd1\x88e\x07\x9b\ +\xcc\xf7\xdc=Q?wP\xe2e\xdf\xd1Lk\xb4\x18\ +\xea\xc8\xf2\xf6\xfc\xc4\xa5Fv\xe8\x1e>no\xa0\xd4\ +g\xb8\x1d\xc1\x0e[\x1b\xec\x10\x8d(vPX\xda\x7f\ +<\xfae\xfa\x11\xc6%]\x98\x1d>\xfb\xf3\x1b+\xb6\ +\x9a\xc4\x0bu\xbf+\xff\xd0\xe8\xb3\x92\x9a\xbf4\xcap\ +\xec\xf0<\x80\x1d\xa2\x11we\xa1\x09B\xfa\xf5\x87l\ +\x17\xd5ORK\x1c*\xa0b\xabI\xbcP\xf7\xe4\xd8\ +\xe9FvP\x86[\xb1\xfa\x8e\xec\x88\xc6\x80\x1d\xb60\ +\xd8!\x1a\xb1\xe6\x0e\xe1\x86\xd1\xb9\xac\x13\xcaa%\x9e\ +^\xd2\x95r\x86Ui!Bz+\x8d\xeb4\xb4\xe4\ +\xf2g(\x9c\x8dP\x1d;la\xb0C4\xa2\xd9!\ +\xad~~\xe2R\xda\xac\xf3\x0d\xeeC\xc3=\xe1\xc7&\ +\xd2\x1a\xad\x84\xd5\xd5\xf2\xe4\xfd\x91\x8f4r\xcf\x0e\xbb\ +\xbf/\xff\x98-\x9c\x0d\xec\xf0<\x80\x1d\xa2\x11\xd7\x0e\ +7\xa6o&?f\xb14\xf1t\xea\xab\x97\xbdC\x07\ +\xc7\xe6\xc6\x93\x92\xabH\x1e\ +\xfd\xd2K\xdd\xe4\xc6\xb3\xdd\x99_\xc1Mk\xac8\xac\ +b\xcf\xdd\x13\x8d\xba\xc8\xde3\xba\xbe\x17;\xa2g\xda\ +\xe8\xdeP\x1a\xbc}p\xa3\xe5\x11.3\xb0Cq`\ +\x87hD\x9c;XF]\x9c\xbc\x92N\xf8\xf3s~\ +\xa1\x1cX\xfd\xefh\xa6w\xa0\xdf\x9b\xcb\xed0=\xb1\ +7,\x1a5n\x075\xc7\xa9\xbf\xa8\xa9\xeaZ\xfbH\ +.\xd8a\xb3\x83\x1d\xa2\x11}\xee\xa0e\xbf\x9a\xad\xff\ +\xb1\x09\xcb\xde\x93c\xa7\xad\x98\xb6\xcb\xcf@+i+\ +\x97\xcb\x93W\x95Ku\xedWW\x16\xfd3\x03I\xc9\ +\x06\xcf%tm7\xbc_Z=\xb1\xc3\xb1H7\xa4\ +\x7ff`\x87\xe2\xc0\x0e\xd1\x88n\x07\xb5\xa3W\xe6\xdc\ +\x9b\x9a5\x92\x1f\xd1\x0f\xd7\x05l\xdb<\x0fC\x81\xb0\ +sh\xb8\xa7\xfe\xe3\x98\xfaSOd\xdfP\xf7\xf8\x93\ +r\xb6p.BSz\xca\xf5vP\xb3\xd9\xdf\x01v\ +[\x88\x15\xd8\xa18\xb0C4\xa2\xdbAqj\xfc\x5c\ +-\x81\xb3\xaf\xf0\xc9\xbe\xba\xb3\x8fT+B\xf9Fy\ +\x18RT[\x1b\x9e\x16\x0e\xa9w\xac\xd9\xd0xub\ +b_\xf4\xb2ZV1\x17\xa1\xb5\xf7G>\xca]\xb9\ +\xd0h\x95\xa5o\xdey/\xfb\x96\x87\xdbH\x94\xc0\x0e\ +\xc5\x81\x1d\xa2\x11\xd7\x0e\x96Nw\x1f\x8f\xaaY\xbd\x1a\ +\xe7\xfaJiW2|W\xfe\xc1\xaaT\x16\xe6\xc3\x0f\ +\xe7eS1\x1c\x11\x1a\x98\xfd\xf9\xeb\xf4o\x9az\xc8\ +\x0eK\xbd\x93L\x1c\xb4\xd0\xd0C\xcf\xfc\x9d\xce\xd0\xc5\ +\x17\x7f}\x9b\x8e\xd0Z\xa8\xa2\x01\xeb\xa0]\x19\xa9,\ +T\xd4\xce\x22O5\xce\xf9d\xb4\xb5\xc1\x84\xa6Z\x0b\ +\xb5\xa3-v(\x02\xec\x10\x8d\x88vPX\xce(\xb5\ +z\xee\x9eH\x7f\xd8\x22\xf7\x99\xa5d\xdf.\x19\xf4>\ +8c\xef_(\xd4u}6\xa6\xe2\xa8\xde*FG\ +.N^Q\x22\xd5RzI\x9b\xe9\xa2`\xb7\xa6\x03\ +\xea=`\x15s\x11\x8e\x9f-_\xd8\xee,O\x92K\ +\x0f'\xd2\x9b\xd6[\xb1F\xd1\xa8\xfd\xe5\x87\x9e\x91\xb6\ +\xd8\xa1\x08\xb0C4\x22\xda!\x9b\x997\xa6o*\xfd\ +4\xe1\xcfu\x17\x12[yx\xa0t\xf4\xf2\xe4\xd5\xd1\ +\xb9\xfbV\xdd\x8d\x89\xca\xa4\x9a\xfa\xf0\xde\xe7Z\xaa\xd4\ +\xcd\x1a\xaa\xfb:\xae\x8e4\xb3Py{\x16\x8d\xb27\ +;<\x0d\xc0\x13Mr\x87\x08u\xa7\x81i&\xd2?\ +3\xa0fU\xf8\xe7\xa9\xebW\xa6\xae\x9d\x9f\xb8\xa4#\ +vq\xb4Q\x17\xcb\x0c\xecP\x1c\xd8!\x1aq\xe7\x0e\ +\x0aK\x1b\xbd\xfc\xda}\xa2RAd3P$\x7f\xea\ +\xb8\x12^\xbdk\xa9\xff\xc1\xbdO5\x95\xf8\xbe\xfc\xa3\ +rR\xa9hyxj\xfc\x9c^\xc6\xf7\x97\x0e\xeb%\ +]\xedh[\x97\xccU\xd4\x88\xf2Y\x9d6W\x83\x22\ +\xd8AJr\x9b2A\xa8;\x8dMK\x15\xb1\xebv\ +g\xed)\xb4\xbfp\xeb%\xcd\x89\xf8\x1d\xcd\x0d\x0ev\ +\x88F\x5c;X\xceXS\xbf\xcf\xdeQv\xd5N\xfd\ +zA$3y=\xa4\x01X6\xda\x14@\xd9(\xf4\ +h8\xae\xf2i~:\x8d\xa8\xba^\xea\x95`\xe1\xad\ +\x8a\xb0m\x14\xf6\xe8\xec\xfc#=kuQ\x97\x96I\ +\x17\xeaNc\xd3\x0aHCJ\xd7A\xd5\x83*/;\ +\xf0\x1b\xdc\x1b\x1c\xec\x10\x8d\xb8vP(m\x84\xb5\xa6\ +\xe9@\xfa\xd6@\x92\xc6u\xb9]=\xa2\x87j\xf3\x82\ +\xe4\x92DH\xc8\xda\xf1\xe0\x85\x5c\xf5D.i^u\ +\xd8g\x1c,]\x9b'\xad\x8d\xcd\xca|W\xfeA\xf6\ +1\x13\xe5Z\xb6#\xe9\x00\x12\xec\xb8:\xd2Zi\xf5\ +\x1f\xf7\xb4\xc0\x0e\xc5\x81\x1d\xa2Q\x84\x1dlk;'\ +\xc7N\xdb\xeb\x7f\x9a\xe7\xb9<4\xdc\x83\x81\xfaG\x93\ +\xecU:\xd9+\xffOS\xd7Cw\xd6\xe33\xc3\x8a\ +\x8d\xcd\x8d\xb7\x0f\xbc\xa3\xcc\xac-\x1cr\xbd\xe4\xb1\x1e\ +\xbbJG&*\x93\xa1\x91\x96\x03;\x14\x07v\x88F\ +t;(,s\xd2tM\xa2\xf7\xc1\x19\xcd\x08\xd4Q\ +\x83\x05Bk\xb4w\x0ev\xdd\x98\xbeY\xeb\xa8\xdac\ +\xdaa\xb3\xb0\xc2V\xf2\xe2\xe4\x95m}\xbb\xd5ZM\ +\x10\xcd\x06\xa6\x04V\x1a\xef\x1d:X\xaeLX;i\ +{-\x06v(\x0e\xec\x10\x8d\x22\xec\xa0\xb0\xe4\x09y\ +\xf8\xf3\xd4\xf57\xef\xbc\xf7\xcf[\xaf\xa8\xc7\x06\x99P\ +\x9f\x99\xd9#K\x1e\xb5\x97\xf1\xb3\xe5\x0bj\xb9R\xbb\ +\x8d\xed\x8a\xd25TI\xdf\xdal\xd3\xecFm6O\ +Q\xcd}\xb4\xe4\xe9\x18\xdc\xdf\xe4\x1b\xe2\xcb\x0f\xecP\ +\x1c\xd8!\x1a\x05\xd9A\x112\xd0v\xf4\x92{j\xfc\ +\xdc\xeb\x03o+\x15\x95\x0f\xd9\x0b~\x96\x99\xf5d\xc6\ +\x99\xb7\x83\x1ay\x7f\xe4\xa3\xec\x05\xc2\xe5\xa7k\xae|\ +\xff\xcc\xc0\xb1\x91O\xb6'o\xa0$\xef\xa1\xecH\xd8\ +\x93\xa1M\x07\x0du*\xc7e\xaf\x80\xb6\x1c\xd8\xa18\ +\xb0C4\x0a\xb5C\xc8\xc3\xd0\xb8\x16\xed\x9a\xcfw\x0f\ +\x1f\xdfu\xbbS)a+\x0ee\x9d\xb0\xe4\xacaG\ +\x92D\xad\x0d5\x08\xa2*\x94\x17\xfbv\x9f\x9f\xb8\xa4\ +6\xd5\xf8Js5\x0c\xcc\xfe\xd4\x04dt\xee\xfe\xe5\ +\xc9\xab'F\xbf\xd6\xd8\xbaJGd\x01\xad\x5c\xf6\x0d\ +u\xcbA\x9f\xfd\xf9\x8d\xa6\x18\xd7\x1e\xfe\xa22\xd3\xf3\ +3\xf6\x5cV\xdac.\xb0Cq`\x87h(\x03\x0b\ +\xb2\x83E\xc8\xc3\x5c:\xfd]\x99\xba1}\xb3\xf7\xc1\ +\x99\x0f\xef}~\xa0tT\xebyKHC\xfb:\xd2\ +s\xf7\xc4\xa1\xe1\x9et\x9c\xa6\x86EA(\x9d\x94T\ +*\xd9\xf2\xd7\x22\x1a\x0d\xcc\xa2\xd1q\x8b&\x0f-3\ +\xb0Cq`\x87h\x14m\x07E\xc84\xdbi\x94Z\ +z\x01\xd7JA/\xce\xc2>q\xa4\xd0\xbe\x14\x90\x99\ +A\x04\xaa\xdf\xbc\xfa\xe2\xafo\xadd\x93\x96\x1b\x85\x95\ +\xb7\x8a\xcd\xabg\xcbX1\xdb\xb6\x1c\xf6\xdf\x1e\x9c-\ +a\x87\xe8`\x87h\xac\x81\x1d,BR\xe5P\xbf\xc2\ +\xf6\xad\xa4\x85\xfe\xb4\xef;h%\xa2A\xa6\x13\x870\ +w\xa8\x92&U{\xcbw\x94\xb1\xb0*\xa1zsB\ +\xf9\x96\xc3\xda\x09v\xe8\xf8\x03;D\x06;Dc\xcd\ +\xec\xe0F\xc87\x17{H\x03\xd3\x08\xd3OUi\xc0\ +YA$\xfb:n\xe3\x0f\xed\xd8\xfe\xc6\x8c0<\xfb\ +oke\xd1>\xb0w'v\x88\x0av\x88\xc6\xfa\xda\ +\xa1y\x84l\xff}\xf6N\x93\x17Xe\x97\xe6\x17*\ +fOa#\x0b\xc2\xc6\x16\xb6Z\x16mK\xdeL\xb5\ +\x8f\x81@\x1c\xb0C46\x85\x1d\xb4\xfd\xec\xcfo^\ +\xec\xdb\xed~\xaeQO\xa1s\xb0+\xfb\x01g\xdbn\ +\xb4\xc8\x8d\xad\xf7\xc1\x19\xa9\xa1\xf6,\xf2O\x0aZ\x06\ +;Dc\x83\xdbA[\xfb\xc6\xf4\xe8\xdc}\xfb\xe0\xb3\ +]k\xa8\x8d?\xd9\xd1\x11=\x8b\x93c\xa7\xd3\xc2\xf3\ +\xaa\xb5\x01\xed\x10\xd4`;\xa7\xc6\xcfIv\xd9g\x01\ +\xb1\xc0\x0e\xd1\xd8\xf8s\x07ac;[\xbe\xe0\xcd\xc3\ +\x93w7\xb5\xb8\xd0\x02>\xfc\xd6VZ{\x03\x85\x19\ +\xc1\x9e\x8bv\xec\x89\x84\xf1g\x9e\x0bD\x00;Dc\ +#\xdbA\x11\xf2J\xdb\xd9\xf9G]\xa5#\xe9][\ +\x96\xac/\x12;\xa47_\xd0\x5c]\xc5\xc2\xad\xe86\ +B\x04#\x84\x9d\xa5?\xd5\x83\x1a\xe2\x83\x1d\xa2\xb1\xc1\ +\xed\xa0\xb0\xa4\xb2\xe1\xfd4u\xdd\xbe\xef #\x98\x14\ +\xb4\xd6\xd0S\xd8_:\xfc\xf3\xd4\xf5\x87\xf3\xd3Qn\ +\xdc\x141rj\xb88yE\x03\xb6\xf9\x0ej(\x08\ +\xec\x10\x8d\x8do\x07\x85e\x97\x8d0\xfdND\x9b\xbc\ +\xa0\xad\x12L^\xb8\xf6\xf0\x97\xf0\xe9\xa9\x90\x87\x1b!\ +l$aH\x97'\xaf\xdaWKPC\xa1`\x87h\ +l\x16;\x84\xed\xdd\xc7\xa3\xf6\x1d\x8dC\xc3=\xf2\x82\ +\x1d\xb4GC\xb1pp\x1d#\x0c\xc3\xfe\xb1\x9a\xda\xc8\ +\x086\xebA\x0d\x85\x82\x1d\xa2\xb1)\xec\xa0\x08\x99\xaf\ +\xad\xdd\x812=\x9c\x1c\x09\xd8\x9fv|}#\x8c\xc7\ +\xfe\xab7\xa6o\xda\x82(\xfd\x9f\xa3\x86b\xc1\x0e\xd1\ +\xd8,vP\xe4\xf2?d\xa0\xed\xdb\xceF\x8800\ +\xbb\xe3\xfe\xad\x99~MvvV\xbf*\x82\x1a\x0a\x07\ +;Dcs\xd9\xa1\x9au\xb5\xaff\xd8\xc1\xf4\xc1\x8d\ +\x12aT\xf6\xff\xec\x9f\x19\xf0~\xa1\x07\x0a\x04;D\ +c\x13\xd9\xc1B\x89\xb71\xbd\xa0\xc8\xa9\xe1\xf7\xd9;\ +\xf6s\xe1\xb5\xb7`\xb1\xc3Z\x80\x1d\xa2\xb1\xe9\xec\xb0\ +\x91\xc3\xec`\xff\xc9\xda\xbd\x1b\xec\x17\x03Q\xc3\xda\x81\ +\x1d\xa2\x81\x1dbEV\x0d\xc3\x8fG:\x07\xbb\xf4\xbf\ +\xad-(P\xc3\xda\x81\x1d\xa2\x81\x1d\xa2DV\x0d\xa3\ +s\xf7\xf7\x0e\x1d\xcc\xa8a\xc9?\x1c\x8a\x06;D#\ +k\x07\x9d\xe2\xd02\xa6\x86\xf1'\xe5\xfd\xa5\xc3\xdb\xab\ +?\xe1\x8b\x1a\xd6\x01\xec\x10\x0d\xd9\xe1\xd0p\x8fNk\ +b\xf5Q\xaeL\x1c(\x1d\xcd|U\x0c;\xac\x03\xd8\ +!\x1a\xb2\x83N\xe8\xcaB\xe5\xef\xca\x94\xdd\xd3\x11V\ +\xca\xc3\xf9\xe9\xd9\xf9Gcs\xe3\xdd\xc3\xc7k_\x12\ +\xd3\xff\x165\xac\x0f\xd8!\x0av\xfaj\x0b\x11\xd8\x99\ +\xfe\xfe\xc5\xd2\xff-\xac\x03\xd8!\x22\x9c\xc7\xd1\xe1_\ +\xba\x9e`\x87\x88p*G\x84\x7f\xe6\xfa\x83\x1d\x00\xc0\ +\x07;\x00\x80\x0fv\x00\x00\x1f\xec\x00\x00>\xd8\x01\x00\ +|\xb0\x03\x00\xf8`\x07\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\x00\ +\xc0\x07;\x00\x80\x0fv\x00\x00\x1f\xec\x00\x00>\xd8\x01\ +\x00|\xb0\x03\x00\xf8`\x07\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\ +\x00\xc0\x07;\x00\x80\x0fv\x00\x00\x1f\xec\x00\x00>\xd8\ +\x01\x00|\xb0\x03\x00\xf8`\x07\x00\xf0\xc1\x0e\x00\xe0\x83\ +\x1d\x00\xc0\x07;\x00\x80\x0fv\x00\x00\x1f\xec\x00\x00>\ +\xd8\x01\x00|\xb0\x03\x00\xf8`\x07\x00\xf0\xc1\x0e\x00\xe0\ +\x83\x1d\x00\xc0\x07;\x00\x80\x0fv\x00\x00\x1f\xec\x00\x00\ +>\xd8\x01\x00|\xb0\x03\x00\xf8`\x07\x00\xf0\xc1\x0e\x00\ +\xe0\x83\x1d\x00\xc0\x07;\x00\x80\x0fv\x00\x00\x1f\xec\x00\ +\x00>\xd8\x01\x00|\xb0\x03\x00\xf8`\x07\x00\xf0\xc1\x0e\ +\x00\xe0\x83\x1d\x00\xc0\x07;\x00\x80\x0fv\x00\x00\x1f\xec\ +\x00\x00>\xd8\x01\x00|\xb0\x03\x00\xf8`\x07\x00\xf0\xc1\ +\x0e\x00\xe0\x83\x1d\x00\xc0\x07;\x00\x80\x0fv\x00\x00\x1f\ +\xec\x00\x00>\xd8\x01\x00|\xb0\x03\x00\xf8`\x07\x00\xf0\ +\xc1\x0e\x00\xe0\x83\x1d\x00\xc0\x07;\x00\x80\x0fv\x00\x00\ +\x1f\xec\x00\x00>\xd8\x01\x00|\xb0\x03\x00\xf8`\x07\x00\ +\xf0\xc1\x0e\x00\xe0\x83\x1d\x00\xc0\x07;\x00\x80\x0fv\x00\ +\x00\x1f\xec\x00\x00>\xd8\x01\x00|\xb0\x03\x00\xf8`\x07\ +\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\x00\xc0\x07;\x00\x80\x0fv\ +\x00\x00\x1f\xec\x00\x00>\xd8\x01\x00|\xb0\x03\x00\xf8`\ +\x07\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\x00\xc0\x07;\x00\x80\x0f\ +v\x00\x00\x1f\xec\x00\x00>\xd8\x01\x00|\xb0\x03\x00\xf8\ +`\x07\x00\xf0\xc1\x0e\x00\xe0\x83\x1d\x00\xc0\xe7\x1f\xff\xfe\ +\xef\x1b\x00\x00y\xfe\xfb\xc6\xff\x034\xc3}\xffR)\ +\xdb\xa4\x00\x00\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x08\ +\x08\x01Z\x5c\ +\x00m\ +\x00a\x00i\x00n\x00.\x00q\x00m\x00l\ +\x00\x10\ +\x0d\x0d\xd3\xc7\ +\x00q\ +\x00t\x00_\x00l\x00o\x00g\x00o\x00_\x00r\x00e\x00c\x00t\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01}k\x86\xb3\x9c\ +\x00\x00\x00\x16\x00\x00\x00\x00\x00\x01\x00\x00\x09G\ +\x00\x00\x01}k\x86\xb3\x9c\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/quick3d/intro/doc/intro.png b/examples/quick3d/intro/doc/intro.png new file mode 100644 index 0000000000000000000000000000000000000000..ae54997c40b54ab08abc58f43988da72944a83f5 GIT binary patch literal 13781 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 literal 0 HcmV?d00001 diff --git a/examples/quick3d/intro/doc/intro.rst b/examples/quick3d/intro/doc/intro.rst new file mode 100644 index 0000000..0afebd5 --- /dev/null +++ b/examples/quick3d/intro/doc/intro.rst @@ -0,0 +1,9 @@ +Introduction Example Qt Quick 3D +================================ + +This example gives an introductory overview of the basic Quick 3D features by going +through the code of a simple example. + +.. image:: intro.png + :width: 400 + :alt: QtQuick3D Introduction Screenshot diff --git a/examples/quick3d/intro/intro.pyproject b/examples/quick3d/intro/intro.pyproject new file mode 100644 index 0000000..428f88d --- /dev/null +++ b/examples/quick3d/intro/intro.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "main.qml"] +} diff --git a/examples/quick3d/intro/main.py b/examples/quick3d/intro/main.py new file mode 100644 index 0000000..8274340 --- /dev/null +++ b/examples/quick3d/intro/main.py @@ -0,0 +1,24 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +import sys +from pathlib import Path +from PySide6.QtCore import QUrl +from PySide6.QtGui import QGuiApplication, QSurfaceFormat +from PySide6.QtQml import QQmlApplicationEngine + +from PySide6.QtQuick3D import QQuick3D + +if __name__ == "__main__": + app = QGuiApplication(sys.argv) + + QSurfaceFormat.setDefaultFormat(QQuick3D.idealSurfaceFormat(4)) + + engine = QQmlApplicationEngine() + qml_file = os.fspath(Path(__file__).resolve().parent / 'main.qml') + engine.load(QUrl.fromLocalFile(qml_file)) + if not engine.rootObjects(): + sys.exit(-1) + + sys.exit(app.exec()) diff --git a/examples/quick3d/intro/main.qml b/examples/quick3d/intro/main.qml new file mode 100644 index 0000000..648cfcf --- /dev/null +++ b/examples/quick3d/intro/main.qml @@ -0,0 +1,80 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +//! [import] +import QtQuick +import QtQuick3D +//! [import] + +Window { + id: window + width: 1280 + height: 720 + visible: true + + View3D { + id: view + anchors.fill: parent + + //! [environment] + environment: SceneEnvironment { + clearColor: "skyblue" + backgroundMode: SceneEnvironment.Color + } + //! [environment] + + //! [camera] + PerspectiveCamera { + position: Qt.vector3d(0, 200, 300) + eulerRotation.x: -30 + } + //! [camera] + + //! [light] + DirectionalLight { + eulerRotation.x: -30 + eulerRotation.y: -70 + } + //! [light] + + //! [objects] + Model { + position: Qt.vector3d(0, -200, 0) + source: "#Cylinder" + scale: Qt.vector3d(2, 0.2, 1) + materials: [ DefaultMaterial { + diffuseColor: "red" + } + ] + } + + Model { + position: Qt.vector3d(0, 150, 0) + source: "#Sphere" + + materials: [ DefaultMaterial { + diffuseColor: "blue" + } + ] + + //! [animation] + SequentialAnimation on y { + loops: Animation.Infinite + NumberAnimation { + duration: 3000 + to: -150 + from: 150 + easing.type:Easing.InQuad + } + NumberAnimation { + duration: 3000 + to: 150 + from: -150 + easing.type:Easing.OutQuad + } + } + //! [animation] + } + //! [objects] + } +} diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/Main.qml b/examples/quickcontrols/filesystemexplorer/FileSystemModule/Main.qml new file mode 100644 index 0000000..4dfc159 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/Main.qml @@ -0,0 +1,188 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls.Basic +import QtQuick.Layouts +import FileSystemModule + +ApplicationWindow { + id: root + width: 1100 + height: 600 + visible: true + flags: Qt.Window | Qt.FramelessWindowHint + title: qsTr("Qt Quick Controls - File System Explorer") + + property string currentFilePath: "" + property bool expandPath: false + + menuBar: MyMenuBar { + rootWindow: root + + infoText: currentFilePath + ? (expandPath ? currentFilePath + : currentFilePath.substring(currentFilePath.lastIndexOf("/") + 1, currentFilePath.length)) + : "File System Explorer" + + MyMenu { + title: qsTr("File") + + Action { + text: qsTr("Increase Font") + shortcut: "Ctrl++" + onTriggered: textArea.font.pixelSize += 1 + } + Action { + text: qsTr("Decrease Font") + shortcut: "Ctrl+-" + onTriggered: textArea.font.pixelSize -= 1 + } + Action { + text: expandPath ? qsTr("Toggle Short Path") : qsTr("Toggle Expand Path") + enabled: currentFilePath + onTriggered: expandPath = !expandPath + } + Action { + text: qsTr("Exit") + onTriggered: Qt.exit(0) + } + } + + MyMenu { + title: qsTr("Edit") + + Action { + text: qsTr("Cut") + shortcut: StandardKey.Cut + enabled: textArea.selectedText.length > 0 + onTriggered: textArea.cut() + } + Action { + text: qsTr("Copy") + shortcut: StandardKey.Copy + enabled: textArea.selectedText.length > 0 + onTriggered: textArea.copy() + } + Action { + text: qsTr("Paste") + shortcut: StandardKey.Paste + enabled: textArea.canPaste + onTriggered: textArea.paste() + } + Action { + text: qsTr("Select All") + shortcut: StandardKey.SelectAll + enabled: textArea.length > 0 + onTriggered: textArea.selectAll() + } + Action { + text: qsTr("Undo") + shortcut: StandardKey.Undo + enabled: textArea.canUndo + onTriggered: textArea.undo() + } + } + } + + Rectangle { + anchors.fill: parent + color: Colors.background + + RowLayout { + anchors.fill: parent + spacing: 0 + + // Stores the buttons that navigate the application. + Sidebar { + id: sidebar + rootWindow: root + + Layout.preferredWidth: 60 + Layout.fillHeight: true + } + + // Allows resizing parts of the UI. + SplitView { + Layout.fillWidth: true + Layout.fillHeight: true + + handle: Rectangle { + implicitWidth: 10 + color: SplitHandle.pressed ? Colors.color2 : Colors.background + border.color: Colors.color2 + opacity: SplitHandle.hovered || SplitHandle.pressed ? 1.0 : 0.0 + + Behavior on opacity { + OpacityAnimator { + duration: 900 + } + } + } + + // We use an inline component to make a reusable TextArea component. + // This is convenient when the component is only used in one file. + component MyTextArea: TextArea { + antialiasing: true + color: Colors.textFile + selectedTextColor: Colors.textFile + selectionColor: Colors.selection + renderType: Text.QtRendering + textFormat: TextEdit.PlainText + + background: null + } + + Rectangle { + color: Colors.surface1 + + SplitView.preferredWidth: 250 + SplitView.fillHeight: true + + StackLayout { + currentIndex: sidebar.currentTabIndex + + anchors.fill: parent + + // Shows the help text. + MyTextArea { + readOnly: true + text: qsTr("This example shows how to use and visualize the file system.\n\n" + + "Customized Qt Quick Components have been used to achieve this look.\n\n" + + "You can edit the files but they won't be changed on the file system.\n\n" + + "Click on the folder icon to the left to get started.") + wrapMode: TextArea.Wrap + } + + // Shows the files on the file system. + FileSystemView { + id: fileSystemView + color: Colors.surface1 + + onFileClicked: (path) => root.currentFilePath = path + } + } + } + + // The ScrollView that contains the TextArea which shows the file's content. + ScrollView { + leftPadding: 20 + topPadding: 20 + bottomPadding: 20 + clip: true + + SplitView.fillWidth: true + SplitView.fillHeight: true + + property alias textArea: textArea + + MyTextArea { + id: textArea + text: FileSystemModel.readFile(root.currentFilePath) + } + } + } + } + ResizeButton {} + } +} diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/app.qrc b/examples/quickcontrols/filesystemexplorer/FileSystemModule/app.qrc new file mode 100644 index 0000000..05fc728 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/app.qrc @@ -0,0 +1,15 @@ + + + qmldir + Main.qml + qml/About.qml + qml/Colors.qml + qml/FileSystemView.qml + qml/Icon.qml + qml/MyMenu.qml + qml/MyMenuBar.qml + qml/ResizeButton.qml + qml/Sidebar.qml + qml/WindowDragHandler.qml + + diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons.qrc b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons.qrc new file mode 100644 index 0000000..5793a62 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons.qrc @@ -0,0 +1,13 @@ + + + icons/folder_closed.svg + icons/folder_open.svg + icons/generic_file.svg + icons/globe.svg + icons/info_sign.svg + icons/light_bulb.svg + icons/qt_logo.svg + icons/read.svg + icons/resize.svg + + diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/folder_closed.svg b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/folder_closed.svg new file mode 100644 index 0000000..36f119c --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/folder_closed.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/folder_open.svg b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/folder_open.svg new file mode 100644 index 0000000..daa55a7 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/folder_open.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/generic_file.svg b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/generic_file.svg new file mode 100644 index 0000000..9c85567 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/generic_file.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/globe.svg b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/globe.svg new file mode 100644 index 0000000..0814338 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/globe.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/info_sign.svg b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/info_sign.svg new file mode 100644 index 0000000..517f763 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/info_sign.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/light_bulb.svg b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/light_bulb.svg new file mode 100644 index 0000000..ed2ed55 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/light_bulb.svg @@ -0,0 +1,43 @@ + + + + + + diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/qt_logo.svg b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/qt_logo.svg new file mode 100644 index 0000000..062daff --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/qt_logo.svg @@ -0,0 +1,26 @@ + + + + + + + diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/read.svg b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/read.svg new file mode 100644 index 0000000..c3af473 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/read.svg @@ -0,0 +1,38 @@ + + + + + + diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/resize.svg b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/resize.svg new file mode 100644 index 0000000..e86d612 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/icons/resize.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/About.qml b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/About.qml new file mode 100644 index 0000000..b7bc0ac --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/About.qml @@ -0,0 +1,59 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls.Basic +import FileSystemModule + +ApplicationWindow { + id: root + width: 500 + height: 360 + flags: Qt.Window | Qt.FramelessWindowHint + color: Colors.surface1 + + menuBar: MyMenuBar { + id: menuBar + implicitHeight: 20 + rootWindow: root + infoText: "About Qt" + } + + Image { + id: logo + anchors.left: parent.left + anchors.right: parent.right + anchors.top: parent.top + anchors.margins: 20 + source: "../icons/qt_logo.svg" + sourceSize: Qt.size(80, 80) + fillMode: Image.PreserveAspectFit + smooth: true + antialiasing: true + asynchronous: true + } + + TextArea { + anchors.top: logo.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + anchors.margins: 20 + antialiasing: true + wrapMode: Text.WrapAnywhere + color: Colors.textFile + horizontalAlignment: Text.AlignHCenter + readOnly: true + selectionColor: Colors.selection + text: qsTr("Qt Group (Nasdaq Helsinki: QTCOM) is a global software company with a strong \ +presence in more than 70 industries and is the leading independent technology behind 1+ billion \ +devices and applications. Qt is used by major global companies and developers worldwide, and the \ +technology enables its customers to deliver exceptional user experiences and advance their digital \ +transformation initiatives. Qt achieves this through its cross-platform software framework for the \ +development of apps and devices, under both commercial and open-source licenses.") + background: Rectangle { + color: "transparent" + } + } + ResizeButton {} +} diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/Colors.qml b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/Colors.qml new file mode 100644 index 0000000..280f892 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/Colors.qml @@ -0,0 +1,22 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +pragma Singleton +import QtQuick + +QtObject { + readonly property color background: "#23272E" + readonly property color surface1: "#1E2227" + readonly property color surface2: "#090A0C" + readonly property color text: "#ABB2BF" + readonly property color textFile: "#C5CAD3" + readonly property color disabledText: "#454D5F" + readonly property color selection: "#2C313A" + readonly property color active: "#23272E" + readonly property color inactive: "#3E4452" + readonly property color folder: "#3D4451" + readonly property color icon: "#3D4451" + readonly property color iconIndicator: "#E5C07B" + readonly property color color1: "#E06B74" + readonly property color color2: "#62AEEF" +} diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/FileSystemView.qml b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/FileSystemView.qml new file mode 100644 index 0000000..ade2e48 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/FileSystemView.qml @@ -0,0 +1,99 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Layouts +import QtQuick.Controls.Basic +import FileSystemModule + +// This is the file system view which gets populated by the C++ model. +Rectangle { + id: root + + signal fileClicked(string filePath) + + TreeView { + id: fileSystemTreeView + anchors.fill: parent + model: FileSystemModel + boundsBehavior: Flickable.StopAtBounds + boundsMovement: Flickable.StopAtBounds + clip: true + + property int lastIndex: -1 + + Component.onCompleted: fileSystemTreeView.toggleExpanded(0) + + // The delegate represents a single entry in the filesystem. + delegate: TreeViewDelegate { + id: treeDelegate + indentation: 8 + implicitWidth: fileSystemTreeView.width > 0 ? fileSystemTreeView.width : 250 + implicitHeight: 25 + + required property int index + required property url filePath + + indicator: null + + contentItem: Item { + anchors.fill: parent + + Icon { + id: directoryIcon + x: leftMargin + (depth * indentation) + anchors.verticalCenter: parent.verticalCenter + path: treeDelegate.hasChildren + ? (treeDelegate.expanded ? "../icons/folder_open.svg" : "../icons/folder_closed.svg") + : "../icons/generic_file.svg" + iconColor: (treeDelegate.expanded && treeDelegate.hasChildren) ? Colors.color2 : Colors.folder + } + Text { + anchors.left: directoryIcon.right + anchors.verticalCenter: parent.verticalCenter + width: parent.width + text: model.fileName + color: Colors.text + } + } + + background: Rectangle { + color: treeDelegate.index === fileSystemTreeView.lastIndex + ? Colors.selection + : (hoverHandler.hovered ? Colors.active : "transparent") + } + + TapHandler { + onSingleTapped: { + fileSystemTreeView.toggleExpanded(row) + fileSystemTreeView.lastIndex = index + // If this model item doesn't have children, it means it's representing a file. + if (!treeDelegate.hasChildren) + root.fileClicked(filePath) + } + } + HoverHandler { + id: hoverHandler + } + } + + // Provide our own custom ScrollIndicator for the TreeView. + ScrollIndicator.vertical: ScrollIndicator { + active: true + implicitWidth: 15 + + contentItem: Rectangle { + implicitWidth: 6 + implicitHeight: 6 + color: Colors.color1 + opacity: fileSystemTreeView.movingVertically ? 0.5 : 0.0 + + Behavior on opacity { + OpacityAnimator { + duration: 500 + } + } + } + } + } +} diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/Icon.qml b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/Icon.qml new file mode 100644 index 0000000..25162d9 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/Icon.qml @@ -0,0 +1,44 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Effects + +// Custom Component for displaying Icons +Item { + id: root + + required property url path + property real padding: 5 + property real size: 30 + property alias iconColor: overlay.colorizationColor + property alias hovered: mouse.hovered + + width: size + height: size + + Image { + id: icon + anchors.fill: root + anchors.margins: padding + source: path + sourceSize: Qt.size(size, size) + fillMode: Image.PreserveAspectFit + smooth: true + antialiasing: true + asynchronous: true + } + + MultiEffect { + id: overlay + anchors.fill: icon + source: icon + colorization: 1.0 + brightness: 1.0 + } + + HoverHandler { + id: mouse + acceptedDevices: PointerDevice.Mouse + } +} diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/MyMenu.qml b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/MyMenu.qml new file mode 100644 index 0000000..99795b5 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/MyMenu.qml @@ -0,0 +1,42 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls.Basic +import FileSystemModule + +Menu { + id: root + + background: Rectangle { + implicitWidth: 200 + implicitHeight: 40 + color: Colors.surface2 + } + + delegate: MenuItem { + id: menuItem + implicitWidth: 200 + implicitHeight: 40 + contentItem: Item { + Text { + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: 5 + text: menuItem.text + color: enabled ? Colors.text : Colors.disabledText + } + Rectangle { + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right + width: 6 + height: parent.height + visible: menuItem.highlighted + color: Colors.color2 + } + } + background: Rectangle { + color: menuItem.highlighted ? Colors.active : "transparent" + } + } +} diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/MyMenuBar.qml b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/MyMenuBar.qml new file mode 100644 index 0000000..a2a3fea --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/MyMenuBar.qml @@ -0,0 +1,135 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Layouts +import QtQuick.Controls.Basic +import FileSystemModule + +// The MenuBar also serves as a controller for our Window as we don't use any decorations. +MenuBar { + id: root + + required property ApplicationWindow rootWindow + property alias infoText: windowInfo.text + + implicitHeight: 25 + + // The top level menus on the left side + delegate: MenuBarItem { + id: menuBarItem + implicitHeight: 25 + + contentItem: Text { + horizontalAlignment: Text.AlignLeft + verticalAlignment: Text.AlignVCenter + color: menuBarItem.highlighted ? Colors.textFile : Colors.text + opacity: enabled ? 1.0 : 0.3 + text: menuBarItem.text + elide: Text.ElideRight + font: menuBarItem.font + } + + background: Rectangle { + color: menuBarItem.highlighted ? Colors.selection : "transparent" + Rectangle { + id: indicator + width: 0; height: 3 + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: parent.bottom + color: Colors.color1 + + states: State { + name: "active"; when: menuBarItem.highlighted + PropertyChanges { target: indicator; width: parent.width } + } + + transitions: Transition { + NumberAnimation { + properties: "width" + duration: 300 + } + } + + } + } + } + + // The background property contains an information text in the middle as well as the + // Minimize, Maximize and Close Buttons. + background: Rectangle { + color: Colors.surface2 + // Make the empty space drag the specified root window. + WindowDragHandler { dragWindow: rootWindow } + + Text { + id: windowInfo + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + color: Colors.text + } + + component InteractionButton: Rectangle { + signal action; + property alias hovered: hoverHandler.hovered + + width: root.height + anchors.top: parent.top + anchors.bottom: parent.bottom + color: hovered ? Colors.background : "transparent" + + HoverHandler { id: hoverHandler } + TapHandler { onTapped: action() } + } + + InteractionButton { + id: minimize + + anchors.right: maximize.left + onAction: rootWindow.showMinimized() + Rectangle { + width: parent.height - 10; height: 2 + anchors.centerIn: parent + color: parent.hovered ? Colors.iconIndicator : Colors.icon + } + } + + InteractionButton { + id: maximize + + anchors.right: close.left + onAction: rootWindow.showMaximized() + Rectangle { + anchors.fill: parent + anchors.margins: 5 + border.width: 2 + color: "transparent" + border.color: parent.hovered ? Colors.iconIndicator : Colors.icon + } + } + + InteractionButton { + id: close + + color: hovered ? "#ec4143" : "transparent" + anchors.right: parent.right + onAction: rootWindow.close() + Rectangle { + width: parent.height - 8; height: 2 + anchors.centerIn: parent + color: parent.hovered ? Colors.iconIndicator : Colors.icon + rotation: 45 + transformOrigin: Item.Center + antialiasing: true + Rectangle { + width: parent.height + height: parent.width + anchors.centerIn: parent + color: parent.color + antialiasing: true + } + } + } + } + +} diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/ResizeButton.qml b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/ResizeButton.qml new file mode 100644 index 0000000..eb2e5bc --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/ResizeButton.qml @@ -0,0 +1,23 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick.Controls +import FileSystemModule + +Button { + icon.width: 20; icon.height: 20 + anchors.right: parent.right + anchors.bottom: parent.bottom + rightPadding: 3 + bottomPadding: 3 + + icon.source: "../icons/resize.svg" + icon.color: down || checked ? Colors.iconIndicator : Colors.icon + + checkable: false + display: AbstractButton.IconOnly + background: null + onPressed: { + root.startSystemResize(Qt.BottomEdge | Qt.RightEdge) + } +} diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/Sidebar.qml b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/Sidebar.qml new file mode 100644 index 0000000..9d08562 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/Sidebar.qml @@ -0,0 +1,117 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Layouts +import QtQuick.Controls.Basic +import FileSystemModule + +Rectangle { + id: root + color: Colors.surface2 + + required property ApplicationWindow rootWindow + property alias currentTabIndex: tabBar.currentIndex + + ColumnLayout { + anchors.fill: root + anchors.topMargin: 10 + anchors.bottomMargin: 10 + spacing: 10 + + // TabBar is designed to be horizontal, whereas we need a vertical bar. + // We can easily achieve that by using a Container. + Container { + id: tabBar + + Layout.fillWidth: true + + // ButtonGroup ensures that only one button can be checked at a time. + ButtonGroup { + buttons: tabBar.contentItem.children + // We have to manage the currentIndex ourselves, which we do by setting it to the + // index of the currently checked button. + // We use setCurrentIndex instead of setting the currentIndex property to avoid breaking bindings. + // See "Managing the Current Index" in Container's documentation for more information. + onCheckedButtonChanged: tabBar.setCurrentIndex(Math.max(0, buttons.indexOf(checkedButton))) + } + + contentItem: ColumnLayout { + spacing: tabBar.spacing + + Repeater { + model: tabBar.contentModel + } + } + + component SidebarEntry: Button { + id: sidebarButton + icon.color: down || checked ? Colors.iconIndicator : Colors.icon + icon.width: 35 + icon.height: 35 + leftPadding: 8 + indicator.width + + background: null + + Rectangle { + id: indicator + x: 4 + anchors.verticalCenter: parent.verticalCenter + width: 4 + height: sidebarButton.icon.width + color: Colors.color1 + visible: sidebarButton.checked + } + } + + // Shows help text when clicked. + SidebarEntry { + icon.source: "../icons/light_bulb.svg" + checkable: true + checked: true + + Layout.alignment: Qt.AlignHCenter + } + + // Shows the file system when clicked. + SidebarEntry { + icon.source: "../icons/read.svg" + checkable: true + + Layout.alignment: Qt.AlignHCenter + } + } + + // This item acts as a spacer to expand between the checkable and non-checkable buttons. + Item { + Layout.fillHeight: true + Layout.fillWidth: true + + // Make the empty space drag our main window. + WindowDragHandler { dragWindow: rootWindow } + } + + // Opens the Qt website in the system's web browser. + SidebarEntry { + id: qtWebsiteButton + icon.source: "../icons/globe.svg" + checkable: false + + onClicked: Qt.openUrlExternally("https://www.qt.io/") + } + + // Opens the About Qt Window. + SidebarEntry { + id: aboutQtButton + icon.source: "../icons/info_sign.svg" + checkable: false + + onClicked: aboutQtWindow.visible = !aboutQtWindow.visible + } + } + + About { + id: aboutQtWindow + visible: false + } +} diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/WindowDragHandler.qml b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/WindowDragHandler.qml new file mode 100644 index 0000000..0e140ac --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/WindowDragHandler.qml @@ -0,0 +1,16 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +// Allows dragging the window when placed on an unused section of the UI. +DragHandler { + + required property ApplicationWindow dragWindow + + target: null + onActiveChanged: { + if (active) dragWindow.startSystemMove() + } +} diff --git a/examples/quickcontrols/filesystemexplorer/FileSystemModule/qmldir b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qmldir new file mode 100644 index 0000000..ff7ecb7 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/FileSystemModule/qmldir @@ -0,0 +1,11 @@ +module FileSystemModule +Main 1.0 Main.qml +Icon 1.0 qml/Icon.qml +About 1.0 qml/About.qml +MyMenu 1.0 qml/MyMenu.qml +Sidebar 1.0 qml/Sidebar.qml +MyMenuBar 1.0 qml/MyMenuBar.qml +singleton Colors 1.0 qml/Colors.qml +ResizeButton 1.0 qml/ResizeButton.qml +FileSystemView 1.0 qml/FileSystemView.qml +WindowDragHandler 1.0 qml/WindowDragHandler.qml diff --git a/examples/quickcontrols/filesystemexplorer/doc/filesystemexplorer.rst b/examples/quickcontrols/filesystemexplorer/doc/filesystemexplorer.rst new file mode 100644 index 0000000..0260928 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/doc/filesystemexplorer.rst @@ -0,0 +1,39 @@ +.. _filesystemexplorer_example: + +Qt Quick Controls - Filesystem Explorer +======================================= + +This example demonstrates how to create a **modern-looking** filesystem +explorer with a dark-themed user interface that has a uniform look +across all operating systems. Custom Qt Quick Controls have been +implemented to provide a clean and intuitive UI for opening and +navigating text-files from the filesystem. + +Frameless Window +---------------- + +To maximize the available space, we use a **frameless window**. The basic +functionality, such as minimizing, maximizing, and closing the window, +has been moved to a customized MenuBar called ``MyMenuBar``. Users can +drag the window thanks to the ``WindowDragHandler`` added to the Sidebar +and MenuBar. + +Customization +------------- + +Combining **customized animations** and **colors** with QtQuick Controls +allows us to easily create custom user interfaces. This example +showcases the potential of QtQuick Controls for creating aesthetically +pleasing UIs. + +.. + + With the knowledge gained from this example, developers can apply + similar techniques to create **their own** customized UIs using PySide's + QtQuick Controls. + + + +.. image:: filesystemexplorer.webp + :target: filesystemexplorer.webp + :alt: QtQuickControls Filesystem Explorer Screenshot diff --git a/examples/quickcontrols/filesystemexplorer/doc/filesystemexplorer.webp b/examples/quickcontrols/filesystemexplorer/doc/filesystemexplorer.webp new file mode 100644 index 0000000000000000000000000000000000000000..cce7e1daf0617d95cfc5329df147d740d90b0557 GIT binary patch literal 83086 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 @7j?HS=*lzI28>O)Cvp>i}UNd2o>XCSBv~ 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

SuBd|@^XX4ujY4rLoZ%c2) z$8L~4vk)Bi3g7*kO?69ITd-ggu@KE_Ly>T5KLaxS6}@6PjyD-Zt^Cezy$W1pOV=*1)Z zm3d59!e!)7xg3im>k~ro*1h}H$>YKt2c&7Hzu6 zk!rHw)c^nh000017cS$ij^up<7f1Q>TeU03P5u$1izGz!SYZnc&zn>Mnft;NLjj*| z0|9-nP^`CnnXZF1<__h=Z5q8a;t;GQni6b=5R2og;WjhXSh0*?VN{-6F55#;0QL*FRc!sSiXvb9z_IDGVq&tF?1xHAT)Gh0%Uxl zQ7~D=oL{-#e6CmV*(xZPzqE6c%1&)rYHkd1CD7y@8aAqh80-W?|Kbo3Swyi2e%4J75!hgUM}4SI3~T@Z00000AUz4yEo6a~ZWZJtiWzwTeBiT~ z=|F#J?AZRY!@t?_AQ50CE6-1!4DGmEz$#}8PzURVaOE=9aRe2ohDKKMMW}#v9oJ7_ z2bdfA8R{W!HKX`HS*3D3~OKE8btcl6SA735|d!;yzn}CkeCk$|2VpV@IeG*h*W1fB*mh000kqklb*lf9C-_`~s<`4Wz|P zqWnEbFp354m@Sxnc>WZF!ay)wBmfto$XM{J7}a(2I!~7aVEF;QSM zVk}lLogBD16zA;p6-9dDc{^-x365U}H@H->)o30?gQT{@3izU5N8%gLS_~g|y5P>e zhf3EGJlEF3ouF*V`02>Hl;zI^uf}b`e7tseLM0z}ml}GJcE=T?c()Io{{E-d_q+-* zK_~PLPEB*?tLlxF6~mn%Uu2i{VvTYH?av;99QQ&iKjx-v9B~dfznW(kqwz#W*!FT@ zqtqD8$WK(zn`c01YsYX1`d_Gse4xQy`7PQ!*5;Y9&c0IdI24lcZdP{G!Gy#Svf z002%_t`mD1HiST|&6@Rf6c8&jX1!fS1PaXAuUAn)0<$)2)znZxtj#=E`JsEU;lQf( VAy=%#Dfyp*CG$e$#1oHz007d#OFIAn literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/filesystemexplorer/filesystemexplorer.py b/examples/quickcontrols/filesystemexplorer/filesystemexplorer.py new file mode 100644 index 0000000..90579b3 --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/filesystemexplorer.py @@ -0,0 +1,69 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +""" +This example shows how to customize Qt Quick Controls by implementing a simple filesystem explorer. +""" + +# Compile both resource files app.qrc and icons.qrc and include them here if you wish +# to load them from the resource system. Currently, all resources are loaded locally +# import FileSystemModule.rc_icons +# import FileSystemModule.rc_app + +from PySide6.QtWidgets import QFileSystemModel +from PySide6.QtGui import QGuiApplication +from PySide6.QtQml import (QQmlApplicationEngine, QmlElement, QmlSingleton) +from PySide6.QtCore import (Slot, QFile, QTextStream, QMimeDatabase, QFileInfo, QStandardPaths) + +import sys + + +QML_IMPORT_NAME = "FileSystemModule" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +@QmlSingleton +class FileSystemModel(QFileSystemModel): + def __init__(self, parent=None): + super().__init__(parent=parent) + self.setRootPath(QStandardPaths.writableLocation(QStandardPaths.HomeLocation)) + self.db = QMimeDatabase() + + # we only need one column in this example + def columnCount(self, parent): + return 1 + + # check for the correct mime type and then read the file. + # returns the text file's content or an error message on failure + @Slot(str, result=str) + def readFile(self, path): + if path == "": + return "" + + file = QFile(path) + + mime = self.db.mimeTypeForFile(QFileInfo(file)) + if 'text' in mime.comment().lower() or any('text' in s.lower() for s in mime.parentMimeTypes()): + if file.open(QFile.ReadOnly | QFile.Text): + stream = QTextStream(file).readAll() + return stream + else: + return self.tr("Error opening the file!") + return self.tr("File type not supported!") + + +if __name__ == '__main__': + app = QGuiApplication(sys.argv) + app.setOrganizationName("QtProject") + app.setApplicationName("File System Explorer") + engine = QQmlApplicationEngine() + # Include the path of this file to search for the 'qmldir' module + engine.addImportPath(sys.path[0]) + + engine.loadFromModule("FileSystemModule", "Main") + + if not engine.rootObjects(): + sys.exit(-1) + + sys.exit(app.exec()) diff --git a/examples/quickcontrols/filesystemexplorer/filesystemexplorer.pyproject b/examples/quickcontrols/filesystemexplorer/filesystemexplorer.pyproject new file mode 100644 index 0000000..1e1aa2a --- /dev/null +++ b/examples/quickcontrols/filesystemexplorer/filesystemexplorer.pyproject @@ -0,0 +1,27 @@ +{ + "files": [ + "filesystemexplorer.py", + "FileSystemModule/qmldir", + "FileSystemModule/app.qrc", + "FileSystemModule/qmldir", + "FileSystemModule/Main.qml", + "FileSystemModule/qml/About.qml", + "FileSystemModule/qml/Colors.qml", + "FileSystemModule/qml/FileSystemView.qml", + "FileSystemModule/qml/Icon.qml", + "FileSystemModule/qml/MyMenu.qml", + "FileSystemModule/qml/MyMenuBar.qml", + "FileSystemModule/qml/ResizeButton.qml", + "FileSystemModule/qml/Sidebar.qml", + "FileSystemModule/qml/WindowDragHandler.qml", + "FileSystemModule/icons/folder_closed.svg", + "FileSystemModule/icons/folder_open.svg", + "FileSystemModule/icons/generic_file.svg", + "FileSystemModule/icons/globe.svg", + "FileSystemModule/icons/info_sign.svg", + "FileSystemModule/icons/light_bulb.svg", + "FileSystemModule/icons/qt_logo.svg", + "FileSystemModule/icons/read.svg", + "FileSystemModule/icons/resize.svg" + ] +} diff --git a/examples/quickcontrols/gallery/+Material/ToolBar.qml b/examples/quickcontrols/gallery/+Material/ToolBar.qml new file mode 100644 index 0000000..f7ecbf1 --- /dev/null +++ b/examples/quickcontrols/gallery/+Material/ToolBar.qml @@ -0,0 +1,8 @@ +// Copyright (C) 2020 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick.Controls.Material + +ToolBar { + Material.foreground: "white" +} diff --git a/examples/quickcontrols/gallery/ToolBar.qml b/examples/quickcontrols/gallery/ToolBar.qml new file mode 100644 index 0000000..03d68df --- /dev/null +++ b/examples/quickcontrols/gallery/ToolBar.qml @@ -0,0 +1,6 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick.Controls + +ToolBar {} diff --git a/examples/quickcontrols/gallery/doc/gallery.png b/examples/quickcontrols/gallery/doc/gallery.png new file mode 100644 index 0000000000000000000000000000000000000000..615ea9e3c2d10c61471d63104519ac5add4bb722 GIT binary patch literal 23828 zcmb@tbyU>d_b;xG@`$J)kAz5zbVm61@rb?YyB z;Ex~sFW`wt`Rw;wxAdoECB)QSCpS|AwVq7026$g}*T}`bySJ&TK@iJiko3GDWBg57 z$Rqci@yB9V%sx2d5B`a|CA;Ql81*Gh;jj7RyN~aFpnWWHFxOwP;l9A|6?Fae_mltYA33uY7hXL&VhqJG zlfokM<6o|`KBO&fChX^ef*0h^1+SE6t3#&oN|M=&Gcx=l2h)GmyKg<~^!@~SyhNYL zVx)7zt;MEU?UJq9^{j1Yu?NjYmH~+yBY3jKTGCw)e?61P1Xh#VDd~Q#LX#~jT%36{ zU#--j`6Ge4m3*U}%L8|vR6~y@>}=O|xy-=K;a-uws3oJdrCL=@h=}IhR?zjjI={SN z2pArpEM9o9BQ@aWQmCUwbHwWb)x^JEwA=V&Q*6%k!%~IOSvk|4oQCrym+6(|y5nEU z5xM??Ca|4ZJGaztT{6YO4P^rzQp_0bRsUi{ZR9}8VQ{in&5GsIne0_%yY*y~?uac$ zod&8gC!N7Wn=q2~=~a5UYRUMvEhYnGPXFf-RrAf_J(|JZTQ+2xcPs8cHqB{wH&AOT zGEmV)LTAAj&He3pZjuc}ijp!h;>O9Uxy`vxR>nH`AN7LR`wy-**#`Q*-$yqs3m0gpH(0`m2sO-Te2JdPY zOP>S#8#*p~7sD13baa%LPuq;NDcs1(ZiB@y)mbMIY%7JD;Jt`))|knDH#b)keuqY+ zL?c&y02~{@n(@Vsg^#{{;$dQA6XKk=2NnpKYzw9f-)v3HA`B zJ1RACJpR&M>Mt0=fPsI<-^%gY)M)si9C*uiTSY^#hc%R^%?uR#dqNGb9nK_cV#ybI zvlT}N8eIl=bm`v{N5E7^g&7TI_iczvDdH*%`KMdu-L<6`srxA}pKrYd4d%rN>rTx$ z?&(jxLD+(!Y7~CkJWGIm_)gsI{G8rYy(5rm4K_(*-kdOAE{Ah!jTfsz@)Q|r*De-2 z`-CQo-lD_9XwS0ckEP>hT=U<^N@#g{4}&Vlxy47ByeT9hCk`tuD1yB)Q%2Z+J%WaK z4rg=5<7c=nT&0>XKlT&?wVdP1Ld3e(`3IN;zr`hm`-ZMnD;)^y*fbQK|6Q>v(;TAL zg;>h7z)McceZLk~8 z*5DAnak89bV|bpkUViR!f_!>kwZ$~Go>pU=NpaHE2iB{Rp<=k@c>S$=1Sb)C_r#<; z#BqO0Zf&(3i$b4wq$TR3fprK+EOj4M*Yj0Lx8R8DTQ-M74Z{y!vlB4YEup}=9o4($ z#(E8}QXnOl#^Q4$2HLMN)wuC4mJXt=DzJsSS;YcaERnDc5NG{Lg6uTd!mvqn$Emx`td}x9<(_*)qfA5yC8iH<+znu97(8EQr>V(N}0;Gku;G~!%;lHeo=4I%9(p1e!Pl5AQv_Q+935H! zH|7&}XAAFv^3|pY$(qr>xXY|z!~NBX|2P=FumLmI1w-#*uar__XJL9x=m>4lG`sEB z8WDReQIqM{Uj1I9=u{fn5QpdUc7@xA>P`gtqGmX}UW!qxs)lDz$u%p}_bu;jAFBFF z)bg0PRN9Z%)_o%EjivX1BybnVO#q|2VsFW>zy5xreeXYC|9}5DI0RC@ee2f8`2}w< zkX5fobzpp3`^$&~7+>n2m*4{9Q?|xe5Y?Yce1mUz4Si{r*`R7;d$;T@e7o z*Y~$E!0-`r{T&2++=AZ$KG48Kx89NiAEnnkweJBR|4W+dm;aYEH!uI@^WUJk5#mOk z|B26y5WnU5Z_wN<=GK1}{9pL|PYeFPqxpZTxc{;N|1TByUpDFgpt!Hz#P_LL@nd&b zgoQ-=o$QObfNc6De=RA?Qoo`U_g4shw?B)qtp2h<$+<=~0pExXHvG<8@(jV{&jsf` zP8wqd>tb(k|H1&8UBmIA%JGY#W&jxxBB}a&0v3FpJ^BOzmiNIw^oz!4*a8!ZHJ7yp z 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 literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/doc/gallery.rst b/examples/quickcontrols/gallery/doc/gallery.rst new file mode 100644 index 0000000..29cd49f --- /dev/null +++ b/examples/quickcontrols/gallery/doc/gallery.rst @@ -0,0 +1,7 @@ +Qt Quick Controls 2 - Gallery +============================= + +The gallery example is a simple application with a drawer menu that contains +all the Qt Quick Controls 2. Each menu item opens a page that shows the +graphical appearance of a control, allows you to interact with the control, and +explains in which circumstances it is handy to use this control. diff --git a/examples/quickcontrols/gallery/doc/images/qtquickcontrols2-gallery-drawer.png b/examples/quickcontrols/gallery/doc/images/qtquickcontrols2-gallery-drawer.png new file mode 100644 index 0000000000000000000000000000000000000000..0df43fbc4b3a0b39a617b8872bae91e3277e3543 GIT binary patch literal 15428 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 literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/doc/images/qtquickcontrols2-gallery-menu.png b/examples/quickcontrols/gallery/doc/images/qtquickcontrols2-gallery-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..3bdaae942a466052d164a4e3d25c9114e59cabbf GIT binary patch literal 15953 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 literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/doc/images/qtquickcontrols2-gallery-welcome.png b/examples/quickcontrols/gallery/doc/images/qtquickcontrols2-gallery-welcome.png new file mode 100644 index 0000000000000000000000000000000000000000..ded30381d2f92775f4a555075f3e0f8e5b7125e8 GIT binary patch literal 18513 zcmcG#RaBipvmhG7-Q70suyGIW?(XjH5Zv88IBeYA-GdX{0>RyFNOI0UGwaTMx$DjY zi(cLJRdq>s$*vBQlM#i3#)kgz;RBqwn2^GU4aMwBl?-xoj6s z{#%!C>U9|(3iLzaCWb#B+H=@u%tm}9NosD~9$_G2ei(4b*5&4fJ~y@t^*QLfFuU(# zvRMISaF__>1H*{grmptu6VCf0%5%e}FZAmwVLG2VeHwWpEYWTsCc3qsZ}!a_ICRjn z#CeQ=7h~w&6zuePhO|Y1ejbtluM+T$;X-#1GU!?3yb65!xgq!PI>IIXz}J+9RPYb} zezi?o(dUE~IWd9&Gaus;&X>a6(QA_gkGNE`z*vNMsdBK_yY8+WN>rfOdBf($mp798 zvL=#QHoLhu<3ALnfC(3i-fs&s6h?^!NP^5)Q~qzH_XK#PePY3gmp$US;*G_laE!=~jGjYWiI2hJ%X)+y6^;u5}?5cJD7 zkUhi}&u3h}o|7l1J=Y)IdrK|mh<4gZy9$n}fau=D?;3|lt^@<2WKh93?Rv2CIRI*L zo$ARbwl1WO;(Iv5s*p^A(X6N-}N3Uhd?g0!o*?qCe;0>P{t@xPYQe{+rJcnp&DD8s%HVL)dH z)AeUjf2w9XV`wy~3{kI7dwvs<6d67Wp}?V;ybOvNF3*@n*B9y!+`DZugP@Vnji9V? ztN~i`wb%00Fc_n$6w>#khBhjs!ImY`+KE>K^RPu*BN(S=^)l))9g#5%ib}xmmc>Ls zz#Ax>7yfI6obHTO#rUxF0Agj~lG57&J9$zIb6G4@{pIMMJP8&;2P7LRi&%An=pp5} z;d$2F@>{ARVOd56pa~{s9V{EpsC<>o(CncYswEDRY9owc-_Up6aT$`sxe_@v!ZOCs z2cuHBQ+yG~(wwV?L7A`{j6f44{D`-WI3vLkul~cC?fM(D8B4k13Q+~Y<*731J(&UG z#*u4OfCr?NnUKnbg&-=iFqw;5+)04-PtO__PlVMv7d@9%W)6Q$WJVn?8~+l8sJ`>& z8!=?8Q>RhfYc>I(AfVVlSswEco32NRo4XU^LEr8YOzD7ni!`s~EXZi)S|U@d2^}H% z0=OYc+hdr7940)*z_6->yYXeud@*k09&*-@#_etCd-q`fD3cpdM za7PC!34e{7FOBj$fvYrI%8F630M|%^m>qJC0_k$tk1lt$ox34K0W5t3DitM}YoJJtad^g)Xc0k`mbv*;@FKOe@swg45c}XKS;!kzIh!T}pEIdCmppNNxNfmAVQd``cya;bdf7hkEFPQ2uRvH7f478n zlxaQ-yxt6ptpp%kUjluuiZ1xn?tz06C&MUu6L#6MWYM^^5Kh9bg|y~~7+hPQ&=;rD z&QG!q=-*|R+%8(6Dqs@>(RY4^85R5<`Lt42hNOBJUbtAea!5yt&fT{@u-G*3JJwhQ^kcsn{!if_#zp<-^c9& zUqs$&;P~o|Y5~2OY!+;f6_dO0OHXoJ$)288FUtq@Kts69h(-NH>FfQt#EMG$FV@tRAfUkw&zY-tWr^nPvZ*o z#G=}S(Tm^6e>P@a`^RNxH|@r@!;VB9gqF(24prWaiUkK;cvP7MhxXd!_~2exuv|Zq zF+;nTIKd5r+5+ao8ZjwdjaT$_m5G!dMU+CR6t!+X2U3RH^Nk_B5RWs`zHlG*zgWzu zYEJA~me2Q|ma{bHoH!IlDb}cX`wp*)lcln2tM6E! zAbPS>gp4Gn)LFnlj3_XIC;<5$fBZL#@A1ID>HiE61t_ro3-Esv3ekVQ|KHY01>Z6L z0sM>fKLf~jG5(D<-myc8{)gQEL$v=5^=DuI_3=L){FmtedtD;zZxDgT+Bwn86^_Ch#nWjUV>Y>cTUF*$2G6O3}JTYS0yE!bLifk+Uj=V#YA!*d2 z+0?^OuU`mV>sAO@j3*|hR=;l2FlJ8)NQgGhc+%My|58L{5?6U)Y+S~$poDh-inLRFv&C*3i+|uE49*~r7L0=sNECF5zf-NM z3@jjxx#A3oKWo$+3J6jr% z`NJ-1X@-a9LbeVWDwDd~XRrWRU>tUC@gSF;O0O4g;~@fNffB{Z<}(qH zQdM#C5x$ZX&Qx=jII%xs{jW&@M22UN+PJ-M^dV8Xuu4$$I(*nzDUtLzK6%q< z+P#0CoWD?YtJnrjTG>tG1vAC zh0uP>2qRKufO0W>TRjychRFrv0s_E_1ILR-l}k_A@8aYY8Q9FRG8MJB$bTwVuEWKo zOTEiMx7J9+yB3zdA*+1q`fF4pJb_`t7j*i(0;~&}HDvwNf#vUV$^ek1^x4;_@1v%e zI6MJ=wG%Uu`rCXd=L{lCCnlz&kl92}=MuU_|Gro&pe0tyU2(v(5MApAdgrfZ9+uM9 zV9CRubEhpYN*g~ZBjE;_`AE!%{l%n1k@gV@rH0nCYE|&Mw8=@Bm1bxE^*0FR{j9(1 zNeZZ--zcH>%|Q78qN$MifTd)5E>B21_}yhtD+nnRRetSgMAGOu4d`O~zKbm)qOJf8 zjDO$|GZC6I(xT~j?U_&Su5DXNJ%D;DD69^x>s$JLP!SoC=67&$wHe%vseQP9eq)EV}=J*6ONdT$OBnBbi zVf_(&q7;2xNjW1!>U{X9$;n*f|(w32QQb(-lvLoJI<3=Od#Pq3a!szdT@sTQO6xSkg<#BBg zzlvymdRbObp5PZ^YFK`xi}9`5ebhX{mVA<|YpH^gUn_N+3nu)c%#&d1+ht3wlCtgd zD*^tgbE0E(h+W0)RMfRt5tulhLY)>Wu9njxsFR#qX05$p^?#y@sJjbL4cRC5*tYUeZa%%nDK5IJ}&WbppQc^FS$ns-!toFBIjOK759TRu=qlC1Pq!XqVn#2FD zrC;%J*gQLjC{fsMZ0#ZIS0rc}=5o5)7$?B^z}4E0m5Irsf1;E$(P;l%i`sHVtEJ!> zWjgta@13?9Iy@p0#mcMhmaDzP^v^i8fHR}^g@>1Ss)|m~U z-&1-^rY2Vo5fSVXa@wsQbuh`Y-Rtf7+7cob13X?hT4m>(bGzl%0z8syYOH$^I|PT}hMZZNQ|?1$cDd~ zcqh?LS_kxo`O9~r)Ref1`Lf4fbEUvi`GfY4Gx_`PA(Mm{?k=Z)o%EkIM;bL6pD|kC zrHt@!%ZMaLBJCIz%s?!=E^E2{(;x`Ym&mAV?wkoJqocaKZ=`s1=g+!R9jHQ{o zP`062UB=8}C#AEn^(FqK zsn*2t1W?K)>KDV#e~wJ2Iy>_E^{{eXiLm0HzT>F1criiTLh48XxHxu(^CE%%7oUfp z5zP)>Z0WGOZO=kjFGUASt*Gi?L^?oqY`sZbAy!8c7#j!sE(b3i%V&}K0aq-3F?v0m zbwPSIOZRsjl&zFHOJDl$1Vnm~v;MQrZELVuyS8Wj6kF<84`&h4yVVuw)w+(h<6rT~ zADyK%Y_41B2F3SC|3dSml@|Wq73)c(+h`-{p!{Ae@**)`T_(~FY82DH9jBE>R? zDUFJ4>;HF{df3DyA_B`=-LlH+PbRqh30fa`mS}BbrOd~FU*6M$1o?i0IWC0JX*XVx zuoes}i~M7=8b?#ZoK9DH$(YD?j&)SwaMGBfP@sXvI==*(vW@%oU|W*F$?8f?(>>1a z{R{nGZ-J5Fyf6kqHS0wAvL^y6_Ic~GzT`ln4u(_nn=-l>YH>61!$*X~$f#JU0naWr z#kdIbi|BV-5*)d{j(x2V8P~VaF=QiX6pv^lO^@>kYuvvd-mz<4F0i@XiX&KPBb7cJ zS44N>FgCEctc|G^WB()Mmbgd?J>q;C`TUBb+GQYU*JPWRUZy?>nYI(qJ%vON}>xr089%h<(1OgDrcz5qP0 zu*^@V_sX@+=BT1LRdPXM$4ol``BCqMG5ab&^VnI6&a5RFNQHQv3EnI*w))Fo_3-(L z*Eq&jj5BF4YjmJDjS?6b?#Z}6fR(0*Q7tK?Tr;#-E^Ae8i}47MF)pMgG$Xb-A`pS- zCVv}>8JfPI1QrYPkjZnV?I8OZmCDNQlW@WoE?-|if=M*pp2C?7f1GAD5AAHGU%C#; zp(a%SNE)|?+rHYX;}hJ1R9W6b3q*OGfG2=MEc8xG{1^~Jm3j=IJveXur7PB4T%}r8P@|nZ_ zxOOAorG{zycHVxV)Hotd&Teg{`&eNXp8@^}}Sx z_~h5b0^z@Ilud|PhLZZ%;;c`&H1^jfX6v08n~(!H+F6u6=N6M_`?b5ERQ|t^cgD9r z!(e`a6lWnC^Pdx?u@UMBjiXj^=CiD&6?W_^ieAaHGMHU0T=FDiT>jig;~2zg$u%@H zZkT87eZz7_zNjPpi{xV+T5EW;VjE3Fj>W5PPljxTDo`nN^Y78pzhIUKITo9{$;i`L zllbsyA@XA4C=IN(;4E>EQas?SppZIpO=9kso7{!cy6ke!{GaRUpa*MZhQ?}W7wvKh zsr0)ErK5aNWo*u+MV5vRvH(b@K^QrN`A*Ej^1xy(J=xD^#w#zIYJA4|8is)0w=1F~ zUA*qc6sm6T&v?mm`j$^IRs_vOZTcquDBxiN^c8&1g3aPFA`E|zgj0!#c#u*!Y|$WB zH<3G*O1MA^@9gKcEBNrk`CJ#VtGoh%HWKI04v7yU!U#=c0lWTdvv8{lX9;rwq#d;U z09)J7eJQU+V{DUqb zT_sQn8;R$R6|8WK<7yjOj+jx0A|j0M5VP8A!(5KH{3`>R$QrCU?S?$-E7z37TpO!9 za%`oPn16IJS=>~Qm{iXl$e3}>`q{j&Ek~16?C9ipjOSyJMi2L&T!{y1f<{I=1Y7!q zOY}{`F%2Fqvw!@{zKv#g`(1sHnt|=9yu7diga4m2CcE#GsRUgYDJEs_&+L=WV{V>A z#C18^eO1gRzxCF|=SmO%ku@*s|JhWjoA90^fR$SAI)95&=en=6ju~C22Z>4SIlgc0 zLCtFPI?+^IQt;V#^4*kz7F|tFAnNt-i~pnpTw=D{vN~W@O~kYUK7@<1HoL}Xe~z#?_cV5kVX~H{3H6$PO)Y_@92^3e9b1<|C^N^K#gxE zdB=V}`Qu)%`@eEI-tXcEspJ>xQKYTYr}=uW5qS5CBuoW<+(N0*Rf@yrzzB z>1C=*bCH9Z=B;Z5w)&_1mm?g0yUr=Mfs>*uI%4jt62I;6BwnFt>ASVuh=%O5#MLc*O8!p3yHV~ms~s8 zE3#B<6eho^Z2t~7KS!W;E7oIHuF_+w=JUcg{z?p;5U5cIJl=@Zc!?(0TG@yommB|e zqgH!|k9v5Uqgb|bHhXD%uo`jJtp8*C2w;6(k#?v(G;5|rF*3pLo{#OJjS~N?y4A)( zK7BqJS#INscQRSp=Umd(+yqyM<%XXOF5EU;ip0+=x#>Ws(%dk?IG=?p`|?VWTlVI= z$kBL84pbG~<{huT{OYG*yK6rO$=eQlG#SLY;YmCt{W5uNaph^xyIh{1%H4y8CDDF| zyZqY5%LaQ3!l$7XvqL7pSbmf)(XGr!70xPvSCd-qiRsL#d^w6sU_?H|Lm@L8y7+fxi#q7taxz zVqq0R$Y#VW-~eOTO{HsgLRbsJ@=z`+%44GhKcp3zC^lk z#5^|Tk-}k*D%c+k+cdYd=ucf74VRmt0_BOf_vG)Na{6AiPnS-QVwi~rM3CUDHLQXT zqRTdq+6ed=Ihwt1a3=}YKD$m450_YdJ*=Z%>TqUawOt9Io|+x_`H8e59w}u_E^sqK zw8nCg?wG>?EsbTg31qEsogeqMkb7H5-5|ycBnr944<(CL8oiHuY&KTYC z`}U(P3@_?xB8Jp$bFQwsZm#yRGw%v-Zbm<(GPuBV3$M4LtIno3ksO92BiY%dG^d=N z^SI-*GzerK@T=`Gpk1kWZvLK52&M9Iw5m{vs+~(=@ASlBZE@e05JRsAIdFG431uFU zS>4_CmDM{ubpGPy^~*P{>bBjGv2xgm*qp=uJ-TCWa0ZCPS%nXQpnz^USzd$x$C~@RxMEo<6fk~B4q}7kbKb%p0cq&d6L;wmKYIDkfu+H zL=Rs!8gI%BUTkTw1t9?PSU9Sws*5K>m|(+`TusQBNdFBJoN_KaXkmBGNgLO0D^*=?&sS*i3!+pe zZ+JRz9#JoBm=EZ%+s}Oy5#C(DImx@}Wg8I?sdi*{u86qZn82Ksz zt|TeTd2!`{fGgVST?vqwp)?m%63=qf*#zsRxDzaZ0Js0%XRkSyI&avN_qS;$I)b18 zQe1jWrsWu;*{TC~sKnR){1*lSAXZF7gIk9&tVp>pU9s<|UnyqeG5%<8jQ(aOafv0> z5Zyl3lKtz)?VWu4IcL_)sc@^NlDtOJoCBN-5?HmIu z7QIXQdANRC1d)2u0cdEDgPaveR@!4g?BH}v*7m!vFhb!wgS#q3H`iK`SqH(Uj2CY1 zju15C=!7-!kQne+Ih;_c zbUTF{BxulOGNNBxg?OW22V2#P)X-DmtmTC)NfZ+vP#bTl5z`Z+cb6dhP0@T0;-?`; zAmztXgH6@v0mP+Bwq2BbuD17XHB;(CsX{!{%id0HiVDM0I0V$z6+*Ky+`$@8_VOW{k z&ftI~(_NWFHEz4IO@BI@OD^2ofX=pCA?HaBR9MZ1T6eNQsL367?Lq4AIzITNilXI% z_$%xND{|3kmHeffrzOcOqBnMc?-hiaHE%>D^nmBG!?$J_NygDZlwWX%O@OT0p*F@J zuk~^z^^{2LReVJ`!y+$b-k5rx0+l)+o!JfNA?l{kM)pZwT3W3zS#?q3jO;&1J^m!@ zyec%(&>7CS0FX*utW#;K|2r)YUEzbRC&|Mu(j-7r628ay==$a~7$TV?il> z!MfB#gPL(G?$tZ7q00dSP3mL!OgQ10kK?uLegbIAYm&-_xLRbg!e%;-=_&&ofniBp z;R6q=8%O>Xs`(q7Rmb~7jMnp%g1O0;5~R0j&ul6ir52|~Kj!*|%mH-$VP-!JNlZ?o zt)fL>UKsm~C>4a!#525c6{S>&6randL3UnYlro((iCtBMqXfxU9rDFWg4Cc1ch$x3 zF;RRVY6FHvLM&x>=;Sn?5c%7cbAY6f9YJYam#bY@*-cXUIcJtpjEn$sH2R%rS6l}j*X3>KM8y^ix^BV4xC~|A3w5s>pN3z*y+*IwZaZ2mti?HTxHH8TG?%c=Q_gYi%=QR zXOJrDpnZB$rvr?}PYMTZdXK@zyGOaB&)Qv%O0TxNqcojyBga`}Jx?Tw=TUJ?eF>0S zAe6^#Z;$}I(w`kdU*pgMzLz1`87E+gSh-Eh04J=Al_5E6u!`~r4HtRjC(0vw1ZKn7 zy)MXX!VK41Q3CG)VAu(_h6`4*iS=We8boPdXtDt$ir?eUjHLw#2Q{sQ4?IZ{ZjLF& zG4RmLOG0$u%Pj4NkDKf|l=a1`IORLodIs*(?<58lv>Y1~l^$>7DI+^SNRrdf;dlr* z(6{8ptbxrXi^7aF=L#8{v7pCi218qyige9uj7dmyw~ zYXg&A>A8RMeeg}~d_@Kgv@Dut1^gUVZ}vFj%`Th^#knu~p-QsaotP`A-(=5c6YlNG z71_=AJl54~P{`1(l*P^i7f@`~Q&*jGzM>Zvr^uT7m8v=eBJ5BBaG39PvF01o-S}-N z)D0;R1IwAc(F-^!ib4F;!T&ziIT@4Nfr|B%Bl_yqXQ|qYIy;Hl zZpx68MyvgT>KTlCU)H~3pZ0?JJ!a0km`D>ABfDKDqd7Xae7>nXELW^0rd5}L(|1eqH>cxb(QQhapE zev@AJ2Tg8td?0Gq*--am^y)?+piTN z!wuh>1kCH|u4h z0ij}`LsAfvb}r=N;91xktpFyKt1-oS=_pQjyzvs)--me+uJje{AJ#u}OWPzg3AKWi z=lCB`BLGN_DI1s4x)1cKpI=^>ypJ zG`|91Rb74>6r@oDh2~IeoFQpk8^rc#XohI4lBIq+t6k$o%r+5hi92vSqsI(|?N4MO z9*&}xr*fmi+^q>M)lpaDGa{e%1pPo4?eiFgz1O}RvX+l(cRK|Lms^1uu4c2t!k!(W6-aowKlgB253%<#a# z(LUa4?#FYDr@EN)&54zEG_;*-=vczRd~kURMikZA#XD9b&mNUr*c`r*Q=%R?Lra3> zY=Cn-!QJ}x_Gz9vGCwNH`S;8&nzH`5R%EZ=tGlX3eg6JW6xI6`SOz7sy9~% zd949%YM)(on%#X{hxDU9%*X;J&wk096!-YJ=HQ%Go`+e>)ElXiV3lMeqoM63PW~sw zWe76;%bM`IhMy!Jwhv2GVY8!A9XlKOy%v;kg$A`G+2NkNmRr`mI4`=n5`M(zBW=B- zX4D~kveB+7Hy?1xy=8--ec@eJRyJHRos0gs6-tNQ5=zKkogByEve}Ub;=N@Vc6K_y zt`bgOo;nCwMG4KT)<#Y=^0kz1muz-jdw2`?Q~@4=Nl*RP@GQ6Z^sore1;gwt_VvlS z;YyP;g{SdZlY~}?UsREM6CXJG=v&vDMyjhC3vE^va;BT2`F~*bz9ip5*FX5Q2WEo2!3luY3?%W?8kkvF)s2$@Hy@ktw!yZJ%83 z;9POaQcCej^{kWz*5lnTcD8Be_i5%>a#2Vj>mPj^NcLtqIg>y7It<^n$ZGzBPMynI z@kf2jcGFo*(My#1tl26rZN2th#pGGxDbHt)jAgRut@h>B-UZJmGTleq^C2A=mu z7Y`HcZz_^K{|Z{~?I>wF0IU|2uh~5yzsgeNnkn7fY8^|ZzI>6z*)gzCP(U8$w0=#A zyw9>lU~3I_&GbcyO6f{*ln6|Rj;)hm1@q@tLJn*w;Tw?~PO+S+uoxi&`_HIJX`#}i zNup#;Tx`al;|&bu*S|jxALNPHi+oamy^3FNfel?>!bhi_bLN1A2@}maT)WdeqIV-YtzKO4^QM(syq&lnNgMCAk zb!!ugoKk_|My_KCYMR6bV3iHy)g|51!d^d#1$~2tfuy)m+T&okFzVVD+nGneHd91T z3r?cXYqR;X8F4M6(zM01q2^23vGoN_S8D=?qHSe^wT9Di^rH9>aMkbuSEI76a7?#V zmR7qi*m0o*$KLf0xx6d+Lq}2RTEh_>0-br}T#%q=oEFH7+WQ)BRy02ZbPgtSzxLHU zf89=I*=3(9%l-JEf&H=Ie&WTGn!xNAQm;mzy;CbVt_C|&8y&Zxl^b(7T5EC~DxT2| zS&WNRS)+TNvD#PD{i-s^zM9Ybv6>stZ?yXeS$kuNQr^l$r&hqeVKfXxq@-`4)`(7|l=5R$FsEoz^pu&n8{^l&^ z@f*SNiM09cm?IAb`a9}FRW2d2>SX3%U&--akIxA>;==YNxF`*eJB**{6o8!$fvTmO zN{CYkz}ux`^K4BqA!MdSH;0{c?;UvGflRsuQLT4E8DP}kGLN=>(NM>ZVTUDidv%ew zX+2_wJ$C*$>7Lo~i21-`@xVDYo89wv?H*{NJi24<6fV&}VD!D71dEMMM_5arM@jjh z+4&%^*>%PhB$t>L?4QTX-HH7z1W8@4gyoWB<4!${mJRtAMBp4;6-D^KFDBD-5}9=8 zDj}77!}973zu6{#B>U=e8E@ z)2|?Rq04}sZRw=2N^7U&iJK=%y|4|i@0?@UH#782Jqt(TU_h(vd(w}7Lc-nXK+32p z7(t;+pttGPi-YHKwGBEDlgyN^=ba5np?em zC*Y+@D??k;+bRln`Jrn2Y2~8ggwoywj=jx`bpaeL7mz0mGRkEKVI63{x($Ow#V|>7gImLdV6UW{I(~P7$6-R^otn6 zp!~$at(CUt8$qz)VP?=dBA@R|h&d!kiFkMjDS&+3FC&D@N?Js3aMDxmDA7$XHc|(* zvsblP-@*j$j%PiUYXH|XyMMcm z1ZEt3TeV>+*mzdVcO9f)^S1|2DF?OC0n59snQ7W;Tpman>IK82xMDHccE1Md1^t*i zbSZom+)n3D~;egZ%<82&+V0K<4^Q}_&EPgqYZP+ z29{pL8R6c8Hl*fx1%{^Rz_A+kxU}>)?Sz!bSWSG)ho@3ET4d&(b1T>l@wI(lK67ihMkzyx%{ikb&c z8>@!F#|Wqr?+&n?2^GM(K7;>hPDnry2fiuQvKSd`qc3K_SguyNN^xa-LArp?8R0@n!F5($tgL1JE zd7IUG#1iw{*vi67Ry=4=hGiKD8fdU}8&N}r$nENuqC&uwh2_2*9s4WOOB=m=HWfFO zs==Un$C_W_xio3RqFia-Zj#!VRG-M-nttlhg8k8qeY{F-YXDF@c1H6Ct#=(e57Q+-Nv;a#It`+@%!VmD_!qW!(#tz z8?q+G5@G#UO8O)Z<9+V(Yt8^s1OmctORT|)&hw%bop`BR_3^YCbulv3g)V{^&xVQO zM}s~@c0AcQU!PVF26TwsQNG2_)j+5O)t%O12!u1R?sW(7JfN=LrNC3=|tl)YUATyi#~uy?;ps?>V$cCvn3xK(*gR+KgX?@l8fg^qHbS#oXjw4y#2iiGhHH^FOA0&h1zjA^3Z~}xi!$E|0FG3 z-lhr;Ohq$z=^-Xm}wC|T$JM%tPr{YsM`5HFv?aHTF+v4rQX5A5pat1HMr=Lv< zdp6J;VYcAbLN-T;HY~N-_ybGw=u4Zw0-_>Lsuu{cjws9GC?)t4N_ySsGs83Nf7yx; z%5X~~mu19UJTD=av!eyY<4j_j)F69$-}SDn;ItuR@mtvUJ(1S26}kU}6sENCX!{=H zra;%3OzL2Pojidid$+c}eXs|2rp;A-rbCwfw5+$5hS*?o zPPZ5peqt~@jkP&Wl^S0SFvK!o=##^L84p97CSOTcQ8yH>*-|SdcZWRNnH_3rY@x-h z0yJn!-C?!6_4o#EkDFAYQJ%KHqyx;W?tl8Jw?6rFX<7ivq1%TSflrTtbiT@!e}k;+ z#EK{`d{ATY`UG!0vJkMc#CR_8W8}`e>A=p)Lz`UE*UUaDP8dJtSV>9IQuFP zb!I;!xc5LU{@F41NRNg)fo?31-40(w#(qGDK#-T+0iRTO%4kH3)*OF(qkytkC1b>m z0)TYD{-D3lV4q02aJmX}ryOm^gBCrLF$wU^`I@AU#4PQOjQ(@EyRS_;yLlG(23-W) z;5G2NY{st1NBjfPM2I?Gk(STh>rA#AyW0SeH+IYC%* z=R+&}MLIl2JwS@!Y1N4fXRJ**X`LE{_R1&#+}AVSTBb@{qf@lop&eQ6DMtbr$xD=jMJHdiCwjIu=){UFspxZ5xsx-w8o+6QzOc7+-l z3@CO%GKS?mOhZ(;TQB;(R7~Atgmu1AdnBtIec@WaoeQ064 z(>FixzlV=6or($Uh=S<_Udd_1M$ML$Gnj4|q9!E)9`;iAu!<)^asR+N$%T}m5?&tb zoyy&ZmRtHTEDPnAAFJ8MiWT>Tl*m)xqy?2e{!*UoR8ZTUn^g)kcmQKZUPnH>+VJ+b z?OqVHH?ImjR!9K&h!s8yavN;?Ph%h|j?Usv=@~K&@5LvUd9+ZN)u7yD&A9hA`53Ph z{fjt=VYEeG&o?0ZX=`}uh{oG&nmVxhE0N<`ZP3l|Q&UyABJZ8JYfJ{5XU9>+Wl9e*Slf9ZqF zw2X@!5|dg+n%1{2p#KU~7;9<$&9She*<&BXX5gTsSN7udLH7NV8n7BFU2WRJGH^|v^qSk0a zpm2zGf}@I-)Ldgri<^nj`(#A{qK>zpvj*Fn()|WT-MA&=^#smmtw@WHdp9`w(kAS| z-siJLwkl1Nu=rXbjxZP;B%{{sKn#EE5)kl2OCfB$f9f}J?yUmr>`t?qY1%t*0xc0( zj{jgiz#ZbQ*5D4YV0A8HWNzKI4s57}<|l9J8|i@>TWH-85yA%nvkg+pVD`AChVq;{ z-Le)5X-8@D#4s|YlXkVf5s#tw(({9k(06vBP47EFy|V$-jH0V!%3~=8BiIOENRz_6 zaz*6(mB;I9dIke}O3KH2e&UsFvQJ?}sFn|v7N>1{Btf?9QqKH9$`G2bYbQc@%`Rh< zeI4h#2P~K&bSi+hAc#IXDE{s6w^E)v4&Y{b^Ju}ygTk*r{0pY zL=A22B!I!gt9JXPala<{Rhgf}Yq7O{FRbjMVHlP(@K=QPCgAi8d#Y|2q|_K;bS>;! zZ87b#n@nmLk;PQGk4fTa#H%GMgwt^TJmok|)c{SE)aq<+ru8N@3$J*GaeY~J-fO&ZF^^R%0<^7ZgXJv-8)*qYeEVUwBB?C0epb%c`@$5G6o&tBOzi}IfD2Y1Q6M3ikVqEc zL(9ze+nDO4=(1>XC*`GGL@6>FHpS`r{lWP8W8|@AblcC-h50K*`l=xUkxF5U1m?Aa zk2JnqAB$&4<WH-T_-X(s~^a%pmOb<0p?XF<5nv zDvm?5H8wCw2%iw?DrGY_Z^S-aSytI^N)czcK%`>mZ;y+j469p#_ueQ5leYbL8*l^H z94@K*F3=Y~jla(@DO@N9=*DvG*fVY?7bo6pf7g#Vl>*-l3Dl0I&1~wG7YWI=(+{=eAb*UAJj4SYY%!>OxTSqGelvz>jU;F+zM&=SdyZuKh}53kzmKp@PWx^1!FzlQ)#REaT0ft>c{EJ&zVkfPw9)b zW2V>*sS4_EF%v@fI-CecwvRnbG9iyCPeDd9E_7HIPcxU~)lJUA`ceApiT7&q-*`G} z>;~#79T8QEtnU0d1V&<~;LLlq>rw-wepBu|IBH=q4b9rV42^k>EOZ zW&~2B;U$|TM#_1>6m>n}`{*bAIB+(ji5R-Pcnf<=t;d+z-95yBVCa6VreQFP-KQ_5t>v!oe}YaniQy&{(fSy3JW(V(+Wf*w*YQk$IMRA{p! z%5;Zh+zd>I3P9Fr>c7%P^fN84%Kx|d@cWzyj$Q|a6$M6ezBx$|K zCz%3v2VmSMGV&soP!}XRBnQOeJ0&&lHOqu_6uxBhc!u4VE6kx96H?ZpQrT;Hdn0Wd zY|Cls_{|lt@2apervL9RBLB~C75~3K@BCleF8@aWECkd0@_9%`r_lmBaW>*F-WWnC znQj)04oP*X7#lqu7YeUI)1=|eA%v3YUdbfXCF6$(6AX{Ez}?ayiiQwMru!u`KuBhA zq!~s;PR5bkQ>;1>LdkT$WQInX%SaK8BpPj#mN$wJN~ZfIBk@D{1Y9k;g$8v4)JZ923Xw$l*u#Y#qMJBh81!>!^wxLthLDDIZr$KhN*42m#) zr(`7hhfl!tI7h@($5S+fe5sPDR#wAGh+uf+WQ>TKVl>j{-zS*1NTNxp&0y7ukS|p- z(_-!9b`)c!@u3V95sxIAq}o)uy2Tqw2qn`aqL~z9jnK+Sx&4PXlMqU#M=*<-jl`N1 zR-Fi;WO|0d5tCpNJp=JINsMR+p=5eUG?9}qCTgm@R0MA-A(TvyAoWgBGK5evJyKm7 zC8C&+sz~THdfrq*D4Fgywvxp-a~0)<-18%hWz)1B=wW-yPjMvbzTGqeezWV*kK zG$YOdYIPI4t_k_lBvU0MV;*gd@59HUZ}>Q)=_fE&FpHDdpj=T&!4UE#N=BttA+#zI zH_Pq|9vHQpz>u!=+oCDYxK86GuRL@*xm z7#IqM5K5-oBr{BI8 z2%%&MA(RXyLkOW{2qBaVA%v2lWC$UjTr#PtssF0cXrR?eZ{i_VDodcInckgKTVU##mZfnwyxI%o;s086jqYU8? zA%wJLl)({w49@t<;E=!UOftU^{Dt7J1^+1cSHn(U8^WOegb>n!z6MA9+Te_TG&tlh z3{Gjc{i)#31pia;H--=Y$`Jni+R&gw2qA6xwZRcz8JzJq28aBa!71&wKQV+ie{T5D zUmL=ne=;=W{2xLH>A*i59PxJsXZ%ltLw;#+O1tfk4d(f!!9ssws8{`!p{1A*LOSEG z46gVKgFAj{aLFJ4Q779U8|?F^hWgYm3_JV}LI`;Wzcla*gFF7DMKJ$AK4wEl 1 + onActivated: navigateBackAction.trigger() + } + + Shortcut { + sequence: StandardKey.HelpContents + onActivated: window.help() + } + + Action { + id: navigateBackAction + icon.name: stackView.depth > 1 ? "back" : "drawer" + onTriggered: { + if (stackView.depth > 1) { + stackView.pop() + listView.currentIndex = -1 + } else { + drawer.open() + } + } + } + + Shortcut { + sequence: "Menu" + onActivated: optionsMenuAction.trigger() + } + + Action { + id: optionsMenuAction + icon.name: "menu" + onTriggered: optionsMenu.open() + } + + header: App.ToolBar { + RowLayout { + spacing: 20 + anchors.fill: parent + anchors.leftMargin: !window.portraitMode ? drawer.width : undefined + + ToolButton { + action: navigateBackAction + visible: window.portraitMode + } + + Label { + id: titleLabel + text: listView.currentItem ? (listView.currentItem as ItemDelegate).text : "Gallery" + font.pixelSize: 20 + elide: Label.ElideRight + horizontalAlignment: Qt.AlignHCenter + verticalAlignment: Qt.AlignVCenter + Layout.fillWidth: true + } + + ToolButton { + action: optionsMenuAction + + Menu { + id: optionsMenu + x: parent.width - width + transformOrigin: Menu.TopRight + + Action { + text: "Settings" + onTriggered: settingsDialog.open() + } + Action { + text: "Help" + onTriggered: window.help() + } + Action { + text: "About" + onTriggered: aboutDialog.open() + } + } + } + } + } + + Drawer { + id: drawer + + width: Math.min(window.width, window.height) / 3 * 2 + height: window.height + modal: window.portraitMode + interactive: window.portraitMode ? (stackView.depth === 1) : false + position: window.portraitMode ? 0 : 1 + visible: !window.portraitMode + + ListView { + id: listView + + focus: true + currentIndex: -1 + anchors.fill: parent + + model: ListModel { + ListElement { title: "BusyIndicator"; source: "qrc:/pages/BusyIndicatorPage.qml" } + ListElement { title: "Button"; source: "qrc:/pages/ButtonPage.qml" } + ListElement { title: "CheckBox"; source: "qrc:/pages/CheckBoxPage.qml" } + ListElement { title: "ComboBox"; source: "qrc:/pages/ComboBoxPage.qml" } + ListElement { title: "DelayButton"; source: "qrc:/pages/DelayButtonPage.qml" } + ListElement { title: "Dial"; source: "qrc:/pages/DialPage.qml" } + ListElement { title: "Dialog"; source: "qrc:/pages/DialogPage.qml" } + ListElement { title: "Delegates"; source: "qrc:/pages/DelegatePage.qml" } + ListElement { title: "Frame"; source: "qrc:/pages/FramePage.qml" } + ListElement { title: "GroupBox"; source: "qrc:/pages/GroupBoxPage.qml" } + ListElement { title: "PageIndicator"; source: "qrc:/pages/PageIndicatorPage.qml" } + ListElement { title: "ProgressBar"; source: "qrc:/pages/ProgressBarPage.qml" } + ListElement { title: "RadioButton"; source: "qrc:/pages/RadioButtonPage.qml" } + ListElement { title: "RangeSlider"; source: "qrc:/pages/RangeSliderPage.qml" } + ListElement { title: "ScrollBar"; source: "qrc:/pages/ScrollBarPage.qml" } + ListElement { title: "ScrollIndicator"; source: "qrc:/pages/ScrollIndicatorPage.qml" } + ListElement { title: "Slider"; source: "qrc:/pages/SliderPage.qml" } + ListElement { title: "SpinBox"; source: "qrc:/pages/SpinBoxPage.qml" } + ListElement { title: "StackView"; source: "qrc:/pages/StackViewPage.qml" } + ListElement { title: "SwipeView"; source: "qrc:/pages/SwipeViewPage.qml" } + ListElement { title: "Switch"; source: "qrc:/pages/SwitchPage.qml" } + ListElement { title: "TabBar"; source: "qrc:/pages/TabBarPage.qml" } + ListElement { title: "TextArea"; source: "qrc:/pages/TextAreaPage.qml" } + ListElement { title: "TextField"; source: "qrc:/pages/TextFieldPage.qml" } + ListElement { title: "ToolTip"; source: "qrc:/pages/ToolTipPage.qml" } + ListElement { title: "Tumbler"; source: "qrc:/pages/TumblerPage.qml" } + } + + delegate: ItemDelegate { + id: delegateItem + width: ListView.view.width + text: title + highlighted: ListView.isCurrentItem + + required property int index + required property var model + required property string title + required property string source + + onClicked: { + listView.currentIndex = index + stackView.push(source) + if (window.portraitMode) + drawer.close() + } + } + + ScrollIndicator.vertical: ScrollIndicator { } + } + } + + StackView { + id: stackView + + anchors.fill: parent + anchors.leftMargin: !window.portraitMode ? drawer.width : undefined + + initialItem: Pane { + id: pane + + Image { + id: logo + width: pane.availableWidth / 2 + height: pane.availableHeight / 2 + anchors.centerIn: parent + anchors.verticalCenterOffset: -50 + fillMode: Image.PreserveAspectFit + source: "images/qt-logo.png" + } + + Label { + text: "Qt Quick Controls provides a set of controls that can be used to build complete interfaces in Qt Quick." + anchors.margins: 20 + anchors.top: logo.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: arrow.top + horizontalAlignment: Label.AlignHCenter + verticalAlignment: Label.AlignVCenter + wrapMode: Label.Wrap + } + + Image { + id: arrow + source: "images/arrow.png" + anchors.left: parent.left + anchors.bottom: parent.bottom + visible: window.portraitMode + } + } + } + + Dialog { + id: settingsDialog + x: Math.round((window.width - width) / 2) + y: Math.round(window.height / 6) + width: Math.round(Math.min(window.width, window.height) / 3 * 2) + modal: true + focus: true + title: "Settings" + + standardButtons: Dialog.Ok | Dialog.Cancel + onAccepted: { + settings.style = styleBox.displayText + settingsDialog.close() + } + onRejected: { + styleBox.currentIndex = styleBox.styleIndex + settingsDialog.close() + } + + contentItem: ColumnLayout { + id: settingsColumn + spacing: 20 + + RowLayout { + spacing: 10 + + Label { + text: "Style:" + } + + ComboBox { + id: styleBox + property int styleIndex: -1 + model: window.builtInStyles + Component.onCompleted: { + styleIndex = find(settings.style, Qt.MatchFixedString) + if (styleIndex !== -1) + currentIndex = styleIndex + } + Layout.fillWidth: true + } + } + + Label { + text: "Restart required" + color: "#e41e25" + opacity: styleBox.currentIndex !== styleBox.styleIndex ? 1.0 : 0.0 + horizontalAlignment: Label.AlignHCenter + verticalAlignment: Label.AlignVCenter + Layout.fillWidth: true + Layout.fillHeight: true + } + } + } + + Dialog { + id: aboutDialog + modal: true + focus: true + title: "About" + x: (window.width - width) / 2 + y: window.height / 6 + width: Math.min(window.width, window.height) / 3 * 2 + contentHeight: aboutColumn.height + + Column { + id: aboutColumn + spacing: 20 + + Label { + width: aboutDialog.availableWidth + text: "The Qt Quick Controls module delivers the next generation user interface controls based on Qt Quick." + wrapMode: Label.Wrap + font.pixelSize: 12 + } + + Label { + width: aboutDialog.availableWidth + text: "In comparison to Qt Quick Controls 1, Qt Quick Controls " + + "are an order of magnitude simpler, lighter, and faster." + wrapMode: Label.Wrap + font.pixelSize: 12 + } + } + } +} diff --git a/examples/quickcontrols/gallery/gallery.qrc b/examples/quickcontrols/gallery/gallery.qrc new file mode 100644 index 0000000..3301979 --- /dev/null +++ b/examples/quickcontrols/gallery/gallery.qrc @@ -0,0 +1,61 @@ + + + +Material/ToolBar.qml + ToolBar.qml + gallery.qml + icons/gallery/20x20/back.png + icons/gallery/20x20/drawer.png + icons/gallery/20x20/menu.png + icons/gallery/20x20@2/back.png + icons/gallery/20x20@2/drawer.png + icons/gallery/20x20@2/menu.png + icons/gallery/20x20@3/back.png + icons/gallery/20x20@3/drawer.png + icons/gallery/20x20@3/menu.png + icons/gallery/20x20@4/back.png + icons/gallery/20x20@4/drawer.png + icons/gallery/20x20@4/menu.png + icons/gallery/index.theme + images/arrow.png + images/arrow@2x.png + images/arrow@3x.png + images/arrow@4x.png + images/arrows.png + images/arrows@2x.png + images/arrows@3x.png + images/arrows@4x.png + images/qt-logo.png + images/qt-logo@2x.png + images/qt-logo@3x.png + images/qt-logo@4x.png + pages/BusyIndicatorPage.qml + pages/ButtonPage.qml + pages/CheckBoxPage.qml + pages/ComboBoxPage.qml + pages/DelayButtonPage.qml + pages/DelegatePage.qml + pages/DialPage.qml + pages/DialogPage.qml + pages/FramePage.qml + pages/GroupBoxPage.qml + pages/PageIndicatorPage.qml + pages/ProgressBarPage.qml + pages/RadioButtonPage.qml + pages/RangeSliderPage.qml + pages/ScrollBarPage.qml + pages/ScrollIndicatorPage.qml + pages/ScrollablePage.qml + pages/SliderPage.qml + pages/SpinBoxPage.qml + pages/StackViewPage.qml + pages/SwipeViewPage.qml + pages/SwitchPage.qml + pages/TabBarPage.qml + pages/TextAreaPage.qml + pages/TextFieldPage.qml + pages/ToolTipPage.qml + pages/TumblerPage.qml + qmldir + qtquickcontrols2.conf + + diff --git a/examples/quickcontrols/gallery/icons/gallery/20x20/back.png b/examples/quickcontrols/gallery/icons/gallery/20x20/back.png new file mode 100644 index 0000000000000000000000000000000000000000..1f89ee058caca8cb5a60ac5c03a0d1ffe4dc643c GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE;Aq^FBxh(+()D;qf*9C%nSw2SpU zS$2!-U21x{aKz0hjz_9V#rw~DJ1M9vU%zH%z=m|54UZ1ADROH|EWUARL;c2A*<};Y tcQg!j+CDTkECi}H6*AX#36$P@9!PC{xWt~$(696AeG_wEz literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/icons/gallery/20x20/drawer.png b/examples/quickcontrols/gallery/icons/gallery/20x20/drawer.png new file mode 100644 index 0000000000000000000000000000000000000000..1e974efae878c093b645c0d3a8059ab6727ce0b4 GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE;=lc$SgNX4x;Qx5Vn7;rH4ANw1A zOjfE!lUd*c&nDlX{tb`XSQRuc-QJca#B_@}^-bH#_jae;f1WP9f4~f={r`VvhVRWh Vy3c?9v;lG%JYD@<);T3K0RTNODQ^G( literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/icons/gallery/20x20/menu.png b/examples/quickcontrols/gallery/icons/gallery/20x20/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..a10473d9e1ef9b0667894122105ae6d2c7dbf6b5 GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAf3?x51|2hvy@dWsUxB}__|Nkq=%L9?{J62C1 zpSdK+FPMR$LHwNiKOk4y)5S4_BRZLbm9g!@h1!Hq_ClP32VJJDW?^Eu5}>+rMbvj$ PpfUzeS3j3^P65k|&hzr*V$^Ah5Z1l+q*t7QVV{N`+t)=CR)g&KboFyt I=akR{0Nar;?*IS* literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/icons/gallery/20x20@2/drawer.png b/examples/quickcontrols/gallery/icons/gallery/20x20@2/drawer.png new file mode 100644 index 0000000000000000000000000000000000000000..eba3b6cccf631f4eb94160cf1aadb8faca2a887a GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NX3?x5J2>1u2I0Jk_T!Hle|Nntx@v-JYAjMP? zEak7F*TW^m6^?GX5i`t37Uy%49p@Mf~H$ux#Li{f|=o!c*Whe T_w8$esu?_8{an^LB{Ts5XSyS3 literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/icons/gallery/20x20@2/menu.png b/examples/quickcontrols/gallery/icons/gallery/20x20@2/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..649c2a08c6995b660c0a193764545ea06a02d595 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NV3?%C=ER6$F`~f~8u0Z<#|Nlzz@(^?|B*-tA zK}J^2Hm9cc#?4#5T0{PB1Bxekx;TbdoK8+yU~X_!`?Se!hWT5rzRRsJeSa^u!Ty$qEB?FnGH9xvXMOH=u9X#zzb{R}~!`H4d_xyuDW;0|;+tkKAaplJ5%dZ~Z TQn66v8_4yZu6{1-oD!M<0sL1r literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/icons/gallery/20x20@4/drawer.png b/examples/quickcontrols/gallery/icons/gallery/20x20@4/drawer.png new file mode 100644 index 0000000000000000000000000000000000000000..60d93aff7b0fa8f570e013f6ebc0a86a338f4474 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r83?x6-OW6S_&H$efS0MfW|9>D^e5|<;NHLWJ z`2{mDlubTs0pzKBx;TbdoKEIA$|T{|^+1cqz=BoM;J^w6)uzQC?WEo}Ti$ceo5{nl Y>fhrA8|lTrfm#?mUHx3vIVCg!0QrR_P5=M^ literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/icons/gallery/20x20@4/menu.png b/examples/quickcontrols/gallery/icons/gallery/20x20@4/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..187c171cdef27bd4efc747a84402b4f23027dcdc GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r63?ysp-_HY55&=FTu0Z<#|Nlzz@@U9?gUlzO z9D7NSUoZoMLc;#@?`6aGO96%QJzX3_JdP&|s0bPGD7EtNs6Bmpj)$j3bk#IwM}fpv zpO*@)sa!0go2E58GB~zA6KFlkBD%|2WST%o1Rra2q~gVSidGdJdgTe~DWM4f D-Q-24 literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/icons/gallery/index.theme b/examples/quickcontrols/gallery/icons/gallery/index.theme new file mode 100644 index 0000000..a1bcd5e --- /dev/null +++ b/examples/quickcontrols/gallery/icons/gallery/index.theme @@ -0,0 +1,24 @@ +[Icon Theme] +Name=Gallery +Comment=Qt Quick Controls 2 Gallery Example Icon Theme + +Directories=20x20,20x20@2,20x20@3,20x20@4 + +[20x20] +Size=20 +Type=Fixed + +[20x20@2] +Size=20 +Scale=2 +Type=Fixed + +[20x20@3] +Size=20 +Scale=3 +Type=Fixed + +[20x20@4] +Size=20 +Scale=4 +Type=Fixed diff --git a/examples/quickcontrols/gallery/images/arrow.png b/examples/quickcontrols/gallery/images/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..9835108eb9ef716b61ce94c470482a6f2a8664d2 GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NV3?%C=ER6$F1_3@Hu0Z<#|No9>g91+Z0ZAb8 zI33`0CeZVAfXkUcS1nq;4}VFJUoZoMgqeTx>UBHzp1gMd<%gn! z)~rCO^`0({AsXjpG9toV zP`&JfXw1(q-T&V*U)#}Or#I7qt@S2LQOJ#ct4aF8CmbK@30000mP)t-s00030 z|NlYFQc%iHLCsP@%~D3pP)N&ALd;P~%TPtkQA*2CMa)q|%uz$kQ9;d805Dy?0000F zbW%=J000;^Ph*{{uDHp~*6HxO0AFta00B%%L_t(Y$HmsYO~gPDhT$s#I+%cr3P=(8 zA~!$@NK}B_1rd@9_4>F&Oro6{+q(4W|Z`4K`L z1VU{nWRXE(WKh*nAk>yZ5*ZXmUg1R`)Q&xYW&uOWgpxMgpim0--h( z4g#Sz6pjL+zEk-7fAAT?GyK#u{la_r6Hc@g9jw`f_OXKvAL*NE;VT^JyKdp880hZV zcJ9MRI^SlXvzn_*JRIw_&TTq3A=^(rjQC>4wV?#FHWXl9uL8{LWy7;DXkA+-w2mzcP6DBMV;aytF>`qTX1PC}(dTzk S!qd0_0000BG3q&#PCScA}J^b zQr=K0q7O-le4kr{{lNunT|SacQ(o=2Ys{;q9>KE%Fc94m{k#E~f&(yh2)0JIL`38f zJURdyqZe$8UNGGeZ0g5~P0<^+L~q#Aj~yGTxno0gg!R>ou)ZHLR#!8@+UNvp`;lU0 zKT@oW&af^z!@7RtSk;dltD+BB6Mev%ejKr)nn#>RU*3!B zZ~!Kc;L!n?Jc36DV7ejr>)-GvfCKV_b--UW03XSWeA_+HstM`y9oR{h&G!lf+wcR~ zdOfh|kI1<3z@Q7ri0y#k9*|>22OMYy;3zdCC%_&!drrxz_r-b!(;wF5SCp0u*5L&o z*Xi)VtvK}n00MSNL_t(&-p$(EO~fz|h2a%x06K_72f*9DZ7C@sJ@QeXN&(>R^XRC#XXX>q(X9*bdEVU5z47CvT z3<2YwK49F_*FwTm*FwTm2TXa|fGJN~3rR21Tc6+M@5jjlUY+F&d&}m9wP5su-m-e< zfL8BZ3ufq->?>g@w+lk@2e&(CAq=MVUNG{NV$ zq3!c8d_I4``-5B4`8UJxq1WD)4R^aZQVOZSw@%M^ji%M^je%k`AT%k`AP z%NBvc%l1^gm+z^1FJGh8Ug4s<+ACbd*LtOU_)4$%kfG8m4lH$E`5{Q1SDvS;Ji)+H z6;jpeq;w89?NGCJ?A#noxu}P!E4ekY6x^gqeTx+|}!L>^*ty{>u-c zK`ub!7_B^A978Nlw_Z8xd&EG1^}$R&9acfj4(sEtA_;+xSqqq4SgV~Lx$#CfdM{ve zVYCc5AScB6adVZ-oFnHdt{GpisSL8wSG#mfeudq?HBY?OL% ukf9`%k&kV`IVKq%hqbH~`3za5ANYfU7$RQ(x%?6szzm+QelF{r5}E+E+_r)M literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/images/arrows@2x.png b/examples/quickcontrols/gallery/images/arrows@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8c80a2b45bead8cf620818fbb6b21d5a7bedb508 GIT binary patch literal 699 zcmV;s0!00ZP){m{U}jB3yv#C}aRra0d_t4**Z_1n4AW088)! zkOV6LN3aIyRmcE_;2l5^Yydh78IWF%J3zKz4@j=(3Lv)_s(?&E9grw!0P+Ma0HheC ze4bGQ1>fo#zu>H7ffwMeCO5z<@B^Fz0Kiwz2!N{`Apnm618@jH0R6Qt2q=KLns5N4 z00^)NkN{ILKmj_j0ouQY+=K~`QMC{OGHMWD?9Yz?biOX#^8)~#eIS#@01oEE0rSCp zG@x@YlZ(axdh@Ru12E)60h1vg3FyuL(HKB){-QAeV?GSfw+2bs=A!`Pk;i`x@OAz? zb430V&@&|>9|1U4zj(mW`a=Vp`EJ1M%=ZG0*YEBMI_|%dv;da+vrK6KvhrJiDJ#DL zu+=XPV68tCATz%PFxM{#;He)3AUS^r$j;vYeD&)GcGb4Wm=>02k(HKDY zUlEM}$nDhq33Q1792r^20Id=H3elznpQES0a}7QKtqrSs0%Uy)nZ5m z)C9SJiXa)V7i0r=)szm{3i1IP0Riw{&kVp@HE{qd0SWLDumJzXKm$AlJitRh1l$Eo hz#tPDFvt`H_ybHWajKrSx!M2#002ovPDHLkV1fgK4E_KB literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/images/arrows@3x.png b/examples/quickcontrols/gallery/images/arrows@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..22f23cefb98950b366c1dab43961ee334a086790 GIT binary patch literal 942 zcmV;f15x~mP)vONVP6J~&-c{4!Kyg4A4Fb4z^G9bQr84%yR90;F~ z1K|@2Ai8-45S{H3U?!}d?w)M{5ZP{z2|94|K4AZkXB!3J2{3>*4+hZY;Q%-R2fzsg zfHjW*u;wuUG=Tx22^4@dj{=Zva{w@b1AuIkfW3JvV9quRm?zMHwRtpPZ5|I8C-8uA zf&+M~y|8?70;vK#yl8>;=mlPvfyd+pmLIj%(F-icqTMDZ@cwymz&d$>+2iOk2*U0st~i0Z67P0Le51V3i|) zA$ULzgb&C8EYmmuW*P@};REIXnrRq7GmQdprcnUSGzj3C#(>~Vmq2i)3m`hv1rVL- z9Eh)61`MJBBOn_v0?V0h4ql-4{X2Pq+UM`16IfLSke#~%)zcot0CibH06)P9@Dr>6 z{VZDn`e8N$>;yBwPOt;yon{BfOAP?H2>{Tn{)hppc@V(7ok9RJ0RxEUVF1xQ5WpvZ z06qZ);O3zK+&mb#HR0d4yXR}y1Wb5oBF~NH#R5079SoEcf`KyI(Lm9>a3IfiIFL_> z2eRhH16lI~z88fdp-pjoSdcIyWI10?5>iI*ew QuK)l507*qoM6N<$f^qPRivR!s literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/images/arrows@4x.png b/examples/quickcontrols/gallery/images/arrows@4x.png new file mode 100644 index 0000000000000000000000000000000000000000..6d1afeef5c48190bc1cd0375cd502bd8a037734f GIT binary patch literal 1211 zcmXBUeN0nV6aesZUmvd&UQ4y0tw!l0D^(lU$;YPC`M@%HNGW9{uKUo(M}@h;z!3-P z=Cwndb2B=$qBwkub5v1>NSq69dnh2%f(ABFbW#OJz(tFrZfcx+%;fyexi`7zBSh`Gd_$&1C9o@z@HYeHwnvq<)&Cwi@{C*9<=CV8zX z9?P>VUd34IwTjPz0MHs4IfwXwM3)0_)UuT*+B-s{}Z zBm6tAczkfrI`#Skb?4XA*VK*ss6{ub(a1mtoxJM0xWS6qhsQhRSB`sOm|TX7owKx0 zN+b{F#t1Jp%eZPESsyn-7dal%MP@&3bUf5>Yr2Dk%G=Aa!?_$EW>xr*D91TlFgAyC z`Q0@Cf#@Ko*l96J+p8PFed;W@qu(G}>??^Da|blqyU@3)A?VgQP{#z>eYi=M;d(X* zpAZ!~Co}O0GVOaAlZ5vBfvtU)F8o^Tyd+ytZpeYeN(O2i;b6gpPuC2MtP#EjDOUNQ zo+Y6-ihyd2u#N*>XN6?fY{(@P&^})ZvD?Vc^7aJ;B9a;!Szc>AGB$WRI7eq3HP{IVZHV00J@eg|P->#j9M^RzMR3QL2;|{j~PcCT@WsgC_|mr4$d@5w}pbMn~`{7|)0Wq&%(+RdyQXpa97^ z&1!T`qeHhee*mUGgybzXU45U^H}*nu#amqild%!VE88hOQ6F*>4ChJwJ|?*6={zuV z%ZbbMdAJF7IFJ<%d1}(9X@hb)2Qs&$KxV~u7=ut@(XcPo+6};)Q<&uFc zA=Li!^w{BExqh`hNJQ!5SW54(OZBO|B)q{u4pm2yL#K|BxzXuFgZV3B?F3am+9zwo zsjgP+aQ%jp{&yRfRSw}YR{&on*9!&@B{Z^>5bIG0xrCJKjtccPuv3KFMel;kqw zVM7xBSE1JM7%ZxPz+#Ulc9`cAJM8O-wl6it>u1nlKdmmjj*AN@y6@Vn_-X0= VcatLADci*#1=yrC(}_gR`5$)_%t!zL literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/images/qt-logo.png b/examples/quickcontrols/gallery/images/qt-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..05684292b84c8eb7afc8f15e6cbcaad290f40b89 GIT binary patch literal 2849 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 XR;o-rhF&Xj|5#DBjyAPcr&Im}TMuXF literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/images/qt-logo@2x.png b/examples/quickcontrols/gallery/images/qt-logo@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2b7683ca0feb703214eaef8a4bfdb937f43c5627 GIT binary patch literal 4936 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 literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/images/qt-logo@3x.png b/examples/quickcontrols/gallery/images/qt-logo@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..7cc98348d93de3c303094d7842919daf3bf194f5 GIT binary patch literal 7254 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 Z4;ZVGt-L}gasRP&Pf=Z==#Dw+{{a%3Lw^7O literal 0 HcmV?d00001 diff --git a/examples/quickcontrols/gallery/pages/BusyIndicatorPage.qml b/examples/quickcontrols/gallery/pages/BusyIndicatorPage.qml new file mode 100644 index 0000000..5f391ab --- /dev/null +++ b/examples/quickcontrols/gallery/pages/BusyIndicatorPage.qml @@ -0,0 +1,28 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +pragma ComponentBehavior: Bound + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "BusyIndicator is used to indicate activity while content is being loaded," + + " or when the UI is blocked waiting for a resource to become available." + } + + BusyIndicator { + anchors.horizontalCenter: parent.horizontalCenter + } + } +} diff --git a/examples/quickcontrols/gallery/pages/ButtonPage.qml b/examples/quickcontrols/gallery/pages/ButtonPage.qml new file mode 100644 index 0000000..0605176 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/ButtonPage.qml @@ -0,0 +1,44 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Layouts +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "Button presents a push-button that can be pushed or clicked by the user. " + + "Buttons are normally used to perform an action, or to answer a question." + } + + ColumnLayout { + spacing: 20 + anchors.horizontalCenter: parent.horizontalCenter + + Button { + text: "First" + Layout.fillWidth: true + } + Button { + id: button + text: "Second" + highlighted: true + Layout.fillWidth: true + } + Button { + text: "Third" + enabled: false + Layout.fillWidth: true + } + } + } +} diff --git a/examples/quickcontrols/gallery/pages/CheckBoxPage.qml b/examples/quickcontrols/gallery/pages/CheckBoxPage.qml new file mode 100644 index 0000000..003e44c --- /dev/null +++ b/examples/quickcontrols/gallery/pages/CheckBoxPage.qml @@ -0,0 +1,40 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "CheckBox presents an option button that can be toggled on or off. " + + "Check boxes are typically used to select one or more options from a set of options." + } + + Column { + spacing: 20 + anchors.horizontalCenter: parent.horizontalCenter + + CheckBox { + text: "First" + checked: true + } + CheckBox { + text: "Second" + } + CheckBox { + text: "Third" + checked: true + enabled: false + } + } + } +} diff --git a/examples/quickcontrols/gallery/pages/ComboBoxPage.qml b/examples/quickcontrols/gallery/pages/ComboBoxPage.qml new file mode 100644 index 0000000..2dc10ce --- /dev/null +++ b/examples/quickcontrols/gallery/pages/ComboBoxPage.qml @@ -0,0 +1,51 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "ComboBox is a combined button and popup list. It presents " + + "a list of options to the user that occupies minimal screen space." + } + + ComboBox { + model: ["First", "Second", "Third"] + anchors.horizontalCenter: parent.horizontalCenter + } + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "ComboBox can be made \l editable. An editable combo box auto-" + + "completes its text based on what is available in the model." + } + + ComboBox { + id: comboBox + + editable: true + model: ListModel { + ListElement { text: "Banana" } + ListElement { text: "Apple" } + ListElement { text: "Coconut" } + } + onAccepted: { + if (find(editText) === -1) + comboBox.model.append({text: comboBox.editText}) + } + anchors.horizontalCenter: parent.horizontalCenter + } + } +} diff --git a/examples/quickcontrols/gallery/pages/DelayButtonPage.qml b/examples/quickcontrols/gallery/pages/DelayButtonPage.qml new file mode 100644 index 0000000..4c0e872 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/DelayButtonPage.qml @@ -0,0 +1,27 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "DelayButton is a checkable button that incorporates a delay before the " + + "button is activated. This delay prevents accidental presses." + } + + DelayButton { + text: "DelayButton" + anchors.horizontalCenter: parent.horizontalCenter + } + } +} diff --git a/examples/quickcontrols/gallery/pages/DelegatePage.qml b/examples/quickcontrols/gallery/pages/DelegatePage.qml new file mode 100644 index 0000000..26d346a --- /dev/null +++ b/examples/quickcontrols/gallery/pages/DelegatePage.qml @@ -0,0 +1,201 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Layouts +import QtQuick.Controls + +Pane { + ColumnLayout { + spacing: 40 + anchors.fill: parent + anchors.topMargin: 20 + + Label { + Layout.fillWidth: true + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "Delegate controls are used as delegates in views such as ListView." + } + + ListView { + id: listView + clip: true + section.property: "type" + section.delegate: Pane { + id: sectionPane + required property string section + width: ListView.view.width + height: sectionLabel.implicitHeight + 20 + Label { + id: sectionLabel + text: sectionPane.section + anchors.centerIn: parent + } + } + + Layout.fillWidth: true + Layout.fillHeight: true + + readonly property var delegateComponentMap: { + "ItemDelegate": itemDelegateComponent, + "SwipeDelegate": swipeDelegateComponent, + "CheckDelegate": checkDelegateComponent, + "RadioDelegate": radioDelegateComponent, + "SwitchDelegate": switchDelegateComponent + } + + Component { + id: itemDelegateComponent + + ItemDelegate { + // qmllint disable unqualified + text: value + // qmllint enable unqualified + width: parent.width + } + } + + Component { + id: swipeDelegateComponent + + SwipeDelegate { + id: swipeDelegate + // qmllint disable unqualified + text: value + // qmllint enable unqualified + width: parent.width + + Component { + id: removeComponent + + Rectangle { + color: SwipeDelegate.pressed ? "#333" : "#444" + width: parent.width + height: parent.height + clip: true + + SwipeDelegate.onClicked: { + // qmllint disable unqualified + view.model.remove(ourIndex) + // qmllint enable unqualified + } + + Label { + // qmllint disable unqualified + font.pixelSize: swipeDelegate.font.pixelSize + // qmllint enable unqualified + text: "Remove" + color: "white" + anchors.centerIn: parent + } + } + } + + SequentialAnimation { + id: removeAnimation + + PropertyAction { + // qmllint disable unqualified + target: delegateItem + // qmllint enable unqualified + property: "ListView.delayRemove" + value: true + } + NumberAnimation { + // qmllint disable unqualified + target: delegateItem.item + // qmllint enable unqualified + property: "height" + to: 0 + easing.type: Easing.InOutQuad + } + PropertyAction { + // qmllint disable unqualified + target: delegateItem + // qmllint enable unqualified + property: "ListView.delayRemove" + value: false + } + } + + swipe.left: removeComponent + swipe.right: removeComponent + ListView.onRemove: removeAnimation.start() + } + } + + Component { + id: checkDelegateComponent + + CheckDelegate { + // qmllint disable unqualified + text: value + // qmllint enable unqualified + } + } + + ButtonGroup { + id: radioButtonGroup + } + + Component { + id: radioDelegateComponent + + RadioDelegate { + // qmllint disable unqualified + text: value + ButtonGroup.group: radioButtonGroup + // qmllint enable unqualified + } + } + + Component { + id: switchDelegateComponent + + SwitchDelegate { + // qmllint disable unqualified + text: value + // qmllint enable unqualified + } + } + + model: ListModel { + ListElement { type: "ItemDelegate"; value: "ItemDelegate1" } + ListElement { type: "ItemDelegate"; value: "ItemDelegate2" } + ListElement { type: "ItemDelegate"; value: "ItemDelegate3" } + ListElement { type: "SwipeDelegate"; value: "SwipeDelegate1" } + ListElement { type: "SwipeDelegate"; value: "SwipeDelegate2" } + ListElement { type: "SwipeDelegate"; value: "SwipeDelegate3" } + ListElement { type: "CheckDelegate"; value: "CheckDelegate1" } + ListElement { type: "CheckDelegate"; value: "CheckDelegate2" } + ListElement { type: "CheckDelegate"; value: "CheckDelegate3" } + ListElement { type: "RadioDelegate"; value: "RadioDelegate1" } + ListElement { type: "RadioDelegate"; value: "RadioDelegate2" } + ListElement { type: "RadioDelegate"; value: "RadioDelegate3" } + ListElement { type: "SwitchDelegate"; value: "SwitchDelegate1" } + ListElement { type: "SwitchDelegate"; value: "SwitchDelegate2" } + ListElement { type: "SwitchDelegate"; value: "SwitchDelegate3" } + } + + delegate: Loader { + id: delegateLoader + width: ListView.view.width + // qmllint disable unqualified + sourceComponent: listView.delegateComponentMap[type] + // qmllint enable unqualified + + required property string value + required property string type + required property var model + required property int index + + property Loader delegateItem: delegateLoader + // qmllint disable unqualified + property ListView view: listView + // qmllint enable unqualified + property int ourIndex: index + } + } + } +} diff --git a/examples/quickcontrols/gallery/pages/DialPage.qml b/examples/quickcontrols/gallery/pages/DialPage.qml new file mode 100644 index 0000000..17c9e09 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/DialPage.qml @@ -0,0 +1,27 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "The Dial is similar to a traditional dial knob that is found on devices such as " + + "stereos or industrial equipment. It allows the user to specify a value within a range." + } + + Dial { + value: 0.5 + anchors.horizontalCenter: parent.horizontalCenter + } + } +} diff --git a/examples/quickcontrols/gallery/pages/DialogPage.qml b/examples/quickcontrols/gallery/pages/DialogPage.qml new file mode 100644 index 0000000..ffabb41 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/DialogPage.qml @@ -0,0 +1,179 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Layouts +import QtQuick.Controls + +ScrollablePage { + id: page + + readonly property int buttonWidth: Math.max(button.implicitWidth, Math.min(button.implicitWidth * 2, page.availableWidth / 3)) + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "Dialog is a popup that is mostly used for short-term tasks " + + "and brief communications with the user." + } + + Button { + text: "Message" + anchors.horizontalCenter: parent.horizontalCenter + width: page.buttonWidth + onClicked: messageDialog.open() + + Dialog { + id: messageDialog + + x: (parent.width - width) / 2 + y: (parent.height - height) / 2 + + title: "Message" + + Label { + text: "Lorem ipsum dolor sit amet..." + } + } + } + + Button { + id: button + text: "Confirmation" + anchors.horizontalCenter: parent.horizontalCenter + width: page.buttonWidth + onClicked: confirmationDialog.open() + + Dialog { + id: confirmationDialog + + x: (parent.width - width) / 2 + y: (parent.height - height) / 2 + parent: Overlay.overlay + + modal: true + title: "Confirmation" + standardButtons: Dialog.Yes | Dialog.No + + Column { + spacing: 20 + anchors.fill: parent + Label { + text: "The document has been modified.\nDo you want to save your changes?" + } + CheckBox { + text: "Do not ask again" + anchors.right: parent.right + } + } + } + } + + Button { + text: "Content" + anchors.horizontalCenter: parent.horizontalCenter + width: page.buttonWidth + onClicked: contentDialog.open() + + Dialog { + id: contentDialog + + x: (parent.width - width) / 2 + y: (parent.height - height) / 2 + width: Math.min(page.width, page.height) / 3 * 2 + contentHeight: logo.height * 2 + parent: Overlay.overlay + + modal: true + title: "Content" + standardButtons: Dialog.Close + + Flickable { + id: flickable + clip: true + anchors.fill: parent + contentHeight: column.height + + Column { + id: column + spacing: 20 + width: parent.width + + Image { + id: logo + width: parent.width / 2 + anchors.horizontalCenter: parent.horizontalCenter + fillMode: Image.PreserveAspectFit + source: "../images/qt-logo.png" + } + + Label { + width: parent.width + text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc finibus " + + "in est quis laoreet. Interdum et malesuada fames ac ante ipsum primis " + + "in faucibus. Curabitur eget justo sollicitudin enim faucibus bibendum. " + + "Suspendisse potenti. Vestibulum cursus consequat mauris id sollicitudin. " + + "Duis facilisis hendrerit consectetur. Curabitur sapien tortor, efficitur " + + "id auctor nec, efficitur et nisl. Ut venenatis eros in nunc placerat, " + + "eu aliquam enim suscipit." + wrapMode: Label.Wrap + } + } + + ScrollIndicator.vertical: ScrollIndicator { + parent: contentDialog.contentItem + anchors.top: flickable.top + anchors.bottom: flickable.bottom + anchors.right: parent.right + anchors.rightMargin: -contentDialog.rightPadding + 1 + } + } + } + } + + Button { + text: "Input" + anchors.horizontalCenter: parent.horizontalCenter + width: page.buttonWidth + onClicked: inputDialog.open() + + Dialog { + id: inputDialog + + x: (parent.width - width) / 2 + y: (parent.height - height) / 2 + parent: Overlay.overlay + + focus: true + modal: true + title: "Input" + standardButtons: Dialog.Ok | Dialog.Cancel + + ColumnLayout { + spacing: 20 + anchors.fill: parent + Label { + elide: Label.ElideRight + text: "Please enter the credentials:" + Layout.fillWidth: true + } + TextField { + focus: true + placeholderText: "Username" + Layout.fillWidth: true + } + TextField { + placeholderText: "Password" + echoMode: TextField.PasswordEchoOnEdit + Layout.fillWidth: true + } + } + } + } + } +} diff --git a/examples/quickcontrols/gallery/pages/FramePage.qml b/examples/quickcontrols/gallery/pages/FramePage.qml new file mode 100644 index 0000000..8526442 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/FramePage.qml @@ -0,0 +1,47 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + readonly property int itemWidth: Math.max(button.implicitWidth, Math.min(button.implicitWidth * 3, page.availableWidth / 3 * 2)) + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "Frame is used to layout a logical group of controls together, within a visual frame." + } + + Frame { + anchors.horizontalCenter: parent.horizontalCenter + + Column { + spacing: 20 + width: page.itemWidth + + RadioButton { + text: "First" + checked: true + width: parent.width + } + RadioButton { + id: button + text: "Second" + width: parent.width + } + RadioButton { + text: "Third" + width: parent.width + } + } + } + } +} diff --git a/examples/quickcontrols/gallery/pages/GroupBoxPage.qml b/examples/quickcontrols/gallery/pages/GroupBoxPage.qml new file mode 100644 index 0000000..9e24d8e --- /dev/null +++ b/examples/quickcontrols/gallery/pages/GroupBoxPage.qml @@ -0,0 +1,48 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + readonly property int itemWidth: Math.max(button.implicitWidth, Math.min(button.implicitWidth * 3, page.availableWidth / 3 * 2)) + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "A GroupBox provides a frame, a title on top of it, and a logical group of controls within that frame." + } + + GroupBox { + title: "Title" + anchors.horizontalCenter: parent.horizontalCenter + + Column { + spacing: 20 + width: page.itemWidth + + RadioButton { + text: "First" + checked: true + width: parent.width + } + RadioButton { + id: button + text: "Second" + width: parent.width + } + RadioButton { + text: "Third" + width: parent.width + } + } + } + } +} diff --git a/examples/quickcontrols/gallery/pages/PageIndicatorPage.qml b/examples/quickcontrols/gallery/pages/PageIndicatorPage.qml new file mode 100644 index 0000000..e83c865 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/PageIndicatorPage.qml @@ -0,0 +1,27 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "PageIndicator is used to indicate the currently active page in a container of pages." + } + + PageIndicator { + count: 5 + currentIndex: 2 + anchors.horizontalCenter: parent.horizontalCenter + } + } +} diff --git a/examples/quickcontrols/gallery/pages/ProgressBarPage.qml b/examples/quickcontrols/gallery/pages/ProgressBarPage.qml new file mode 100644 index 0000000..d712aae --- /dev/null +++ b/examples/quickcontrols/gallery/pages/ProgressBarPage.qml @@ -0,0 +1,33 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "ProgressBar indicates the progress of an operation. It can be set in an " + + "indeterminate mode to indicate that the length of the operation is unknown." + } + + ProgressBar { + id: bar + value: 0.5 + anchors.horizontalCenter: parent.horizontalCenter + } + + ProgressBar { + indeterminate: true + anchors.horizontalCenter: parent.horizontalCenter + } + } +} diff --git a/examples/quickcontrols/gallery/pages/RadioButtonPage.qml b/examples/quickcontrols/gallery/pages/RadioButtonPage.qml new file mode 100644 index 0000000..644543c --- /dev/null +++ b/examples/quickcontrols/gallery/pages/RadioButtonPage.qml @@ -0,0 +1,39 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "RadioButton presents an option button that can be toggled on or off. " + + "Radio buttons are typically used to select one option from a set of options." + } + + Column { + spacing: 20 + anchors.horizontalCenter: parent.horizontalCenter + + RadioButton { + text: "First" + } + RadioButton { + text: "Second" + checked: true + } + RadioButton { + text: "Third" + enabled: false + } + } + } +} diff --git a/examples/quickcontrols/gallery/pages/RangeSliderPage.qml b/examples/quickcontrols/gallery/pages/RangeSliderPage.qml new file mode 100644 index 0000000..0ca2358 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/RangeSliderPage.qml @@ -0,0 +1,35 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "RangeSlider is used to select a range specified by two values, by sliding each handle along a track." + } + + RangeSlider { + id: slider + first.value: 0.25 + second.value: 0.75 + anchors.horizontalCenter: parent.horizontalCenter + } + + RangeSlider { + orientation: Qt.Vertical + first.value: 0.25 + second.value: 0.75 + anchors.horizontalCenter: parent.horizontalCenter + } + } +} diff --git a/examples/quickcontrols/gallery/pages/ScrollBarPage.qml b/examples/quickcontrols/gallery/pages/ScrollBarPage.qml new file mode 100644 index 0000000..248e74c --- /dev/null +++ b/examples/quickcontrols/gallery/pages/ScrollBarPage.qml @@ -0,0 +1,40 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +Flickable { + id: flickable + + contentHeight: pane.height + + Pane { + id: pane + width: flickable.width + height: flickable.height * 1.25 + + Column { + id: column + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "ScrollBar is an interactive bar that can be used to scroll to a specific position. " + + "A scroll bar can be either vertical or horizontal, and can be attached to any Flickable, " + + "such as ListView and GridView." + } + + Image { + rotation: 90 + source: "../images/arrows.png" + anchors.horizontalCenter: parent.horizontalCenter + } + } + } + + ScrollBar.vertical: ScrollBar { } +} diff --git a/examples/quickcontrols/gallery/pages/ScrollIndicatorPage.qml b/examples/quickcontrols/gallery/pages/ScrollIndicatorPage.qml new file mode 100644 index 0000000..04ce974 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/ScrollIndicatorPage.qml @@ -0,0 +1,40 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +Flickable { + id: flickable + + contentHeight: pane.height + + Pane { + id: pane + width: flickable.width + height: flickable.height * 1.25 + + Column { + id: column + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "ScrollIndicator is a non-interactive indicator that indicates the current scroll position. " + + "A scroll indicator can be either vertical or horizontal, and can be attached to any Flickable, " + + "such as ListView and GridView." + } + + Image { + rotation: 90 + source: "../images/arrows.png" + anchors.horizontalCenter: parent.horizontalCenter + } + } + } + + ScrollIndicator.vertical: ScrollIndicator { } +} diff --git a/examples/quickcontrols/gallery/pages/ScrollablePage.qml b/examples/quickcontrols/gallery/pages/ScrollablePage.qml new file mode 100644 index 0000000..69bc0cd --- /dev/null +++ b/examples/quickcontrols/gallery/pages/ScrollablePage.qml @@ -0,0 +1,24 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +Page { + id: page + + default property alias content: pane.contentItem + + Flickable { + anchors.fill: parent + contentHeight: pane.implicitHeight + flickableDirection: Flickable.AutoFlickIfNeeded + + Pane { + id: pane + width: parent.width + } + + ScrollIndicator.vertical: ScrollIndicator { } + } +} diff --git a/examples/quickcontrols/gallery/pages/SliderPage.qml b/examples/quickcontrols/gallery/pages/SliderPage.qml new file mode 100644 index 0000000..fd03680 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/SliderPage.qml @@ -0,0 +1,33 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "Slider is used to select a value by sliding a handle along a track." + } + + Slider { + id: slider + value: 0.5 + anchors.horizontalCenter: parent.horizontalCenter + } + + Slider { + orientation: Qt.Vertical + value: 0.5 + anchors.horizontalCenter: parent.horizontalCenter + } + } +} diff --git a/examples/quickcontrols/gallery/pages/SpinBoxPage.qml b/examples/quickcontrols/gallery/pages/SpinBoxPage.qml new file mode 100644 index 0000000..18c9b06 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/SpinBoxPage.qml @@ -0,0 +1,29 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "SpinBox allows the user to choose an integer value by clicking the up or down indicator buttons, " + + "by pressing up or down on the keyboard, or by entering a text value in the input field." + } + + SpinBox { + id: box + value: 50 + anchors.horizontalCenter: parent.horizontalCenter + editable: true + } + } +} diff --git a/examples/quickcontrols/gallery/pages/StackViewPage.qml b/examples/quickcontrols/gallery/pages/StackViewPage.qml new file mode 100644 index 0000000..841d491 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/StackViewPage.qml @@ -0,0 +1,58 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +pragma ComponentBehavior: Bound + +import QtQuick +import QtQuick.Controls + +StackView { + id: stackView + initialItem: page + + Component { + id: page + + Pane { + id: pane + width: parent ? parent.width : 0 // TODO: fix null parent on destruction + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "StackView provides a stack-based navigation model which can be used with a set of interlinked pages. " + + "Items are pushed onto the stack as the user navigates deeper into the material, and popped off again " + + "when he chooses to go back." + } + + Button { + id: button + text: "Push" + anchors.horizontalCenter: parent.horizontalCenter + width: Math.max(button.implicitWidth, Math.min(button.implicitWidth * 2, pane.availableWidth / 3)) + onClicked: stackView.push(page) + } + + Button { + text: "Pop" + enabled: stackView.depth > 1 + width: Math.max(button.implicitWidth, Math.min(button.implicitWidth * 2, pane.availableWidth / 3)) + anchors.horizontalCenter: parent.horizontalCenter + onClicked: stackView.pop() + } + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "Stack Depth: " + stackView.depth + } + } + } + } +} diff --git a/examples/quickcontrols/gallery/pages/SwipeViewPage.qml b/examples/quickcontrols/gallery/pages/SwipeViewPage.qml new file mode 100644 index 0000000..0395832 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/SwipeViewPage.qml @@ -0,0 +1,49 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +Pane { + id: pane + + SwipeView { + id: view + currentIndex: 1 + anchors.fill: parent + + Repeater { + model: 3 + + Pane { + width: SwipeView.view.width + height: SwipeView.view.height + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "SwipeView provides a navigation model that simplifies horizontal paged scrolling. " + + "The page indicator on the bottom shows which is the presently active page." + } + + Image { + source: "../images/arrows.png" + anchors.horizontalCenter: parent.horizontalCenter + } + } + } + } + } + + PageIndicator { + count: view.count + currentIndex: view.currentIndex + anchors.bottom: parent.bottom + anchors.horizontalCenter: parent.horizontalCenter + } +} diff --git a/examples/quickcontrols/gallery/pages/SwitchPage.qml b/examples/quickcontrols/gallery/pages/SwitchPage.qml new file mode 100644 index 0000000..cca2005 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/SwitchPage.qml @@ -0,0 +1,39 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "Switch is an option button that can be dragged or toggled on or off. " + + "Switches are typically used to select between two states." + } + + Column { + spacing: 20 + anchors.horizontalCenter: parent.horizontalCenter + + Switch { + text: "First" + } + Switch { + text: "Second" + checked: true + } + Switch { + text: "Third" + enabled: false + } + } + } +} diff --git a/examples/quickcontrols/gallery/pages/TabBarPage.qml b/examples/quickcontrols/gallery/pages/TabBarPage.qml new file mode 100644 index 0000000..d4dfeb8 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/TabBarPage.qml @@ -0,0 +1,57 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +Page { + id: page + + SwipeView { + id: swipeView + anchors.fill: parent + currentIndex: tabBar.currentIndex + + Repeater { + model: 3 + + Pane { + width: SwipeView.view.width + height: SwipeView.view.height + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "TabBar is a bar with icons or text which allows the user " + + "to switch between different subtasks, views, or modes." + } + + Image { + source: "../images/arrows.png" + anchors.horizontalCenter: parent.horizontalCenter + } + } + } + } + } + + footer: TabBar { + id: tabBar + currentIndex: swipeView.currentIndex + + TabButton { + text: "First" + } + TabButton { + text: "Second" + } + TabButton { + text: "Third" + } + } +} diff --git a/examples/quickcontrols/gallery/pages/TextAreaPage.qml b/examples/quickcontrols/gallery/pages/TextAreaPage.qml new file mode 100644 index 0000000..3e9d7ee --- /dev/null +++ b/examples/quickcontrols/gallery/pages/TextAreaPage.qml @@ -0,0 +1,29 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "TextArea is a multi-line text editor." + } + + TextArea { + width: page.availableWidth / 3 + anchors.horizontalCenter: parent.horizontalCenter + + wrapMode: TextArea.Wrap + text: "TextArea\n...\n...\n..." + } + } +} diff --git a/examples/quickcontrols/gallery/pages/TextFieldPage.qml b/examples/quickcontrols/gallery/pages/TextFieldPage.qml new file mode 100644 index 0000000..2b06894 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/TextFieldPage.qml @@ -0,0 +1,27 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "TextField is a single-line text editor." + } + + TextField { + id: field + placeholderText: "TextField" + anchors.horizontalCenter: parent.horizontalCenter + } + } +} diff --git a/examples/quickcontrols/gallery/pages/ToolTipPage.qml b/examples/quickcontrols/gallery/pages/ToolTipPage.qml new file mode 100644 index 0000000..dd92c89 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/ToolTipPage.qml @@ -0,0 +1,30 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "A tool tip is a short piece of text that informs the user of a control's function." + } + + Button { + text: "Tip" + anchors.horizontalCenter: parent.horizontalCenter + + ToolTip.timeout: 5000 + ToolTip.visible: pressed + ToolTip.text: "This is a tool tip." + } + } +} diff --git a/examples/quickcontrols/gallery/pages/TumblerPage.qml b/examples/quickcontrols/gallery/pages/TumblerPage.qml new file mode 100644 index 0000000..4d01f02 --- /dev/null +++ b/examples/quickcontrols/gallery/pages/TumblerPage.qml @@ -0,0 +1,26 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +ScrollablePage { + id: page + + Column { + spacing: 40 + width: parent.width + + Label { + width: parent.width + wrapMode: Label.Wrap + horizontalAlignment: Qt.AlignHCenter + text: "Tumbler is used to select a value by spinning a wheel." + } + + Tumbler { + model: 10 + anchors.horizontalCenter: parent.horizontalCenter + } + } +} diff --git a/examples/quickcontrols/gallery/qmldir b/examples/quickcontrols/gallery/qmldir new file mode 100644 index 0000000..6b7f86b --- /dev/null +++ b/examples/quickcontrols/gallery/qmldir @@ -0,0 +1 @@ +module App diff --git a/examples/quickcontrols/gallery/qtquickcontrols2.conf b/examples/quickcontrols/gallery/qtquickcontrols2.conf new file mode 100644 index 0000000..da1a8f4 --- /dev/null +++ b/examples/quickcontrols/gallery/qtquickcontrols2.conf @@ -0,0 +1,8 @@ +[Material] +Primary=#41cd52 +Accent=#41cd52 +Theme=System + +[Universal] +Accent=#41cd52 +Theme=System diff --git a/examples/quickcontrols/gallery/rc_gallery.py b/examples/quickcontrols/gallery/rc_gallery.py new file mode 100644 index 0000000..786c9cf --- /dev/null +++ b/examples/quickcontrols/gallery/rc_gallery.py @@ -0,0 +1,4410 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.5.0 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00\x09\xc1\ +\x00\ +\x00)\xbbx\xda\xc5Z\xdds\xdb6\x12\x7f\xd7_\x81\ +\xb0/RcQ\xb6s\xc9\x03\xdb\xdc\x8d-'\x8d\xe7\ +\x9cKb\xf9\x9a\xcet\xfa\x00\x91\x90\x843\x04\xd0\x00\ +h[\xcd\xf9\x7f\xbf\x05\xf8!~\x00\xb2\xc4I\xe78\ +\x93\x98\x04\x16\x8b\xc5b?~Xh2AS\x91n\ +$]\xae4\x1aNG\xe8\xf4\xf8\xf4\x04\xdd\xac\x08\xfa\ +\xa2\xa1g\x9db\xbeAW:\x09\x07\x93\x09\x9a}\xbe\ +\xf8m|Ec\xc2\x15\x19_&\x84k\xba\xa0DF\ +\xa8h\xbb&\x8b\xf1\x17=\x86ak\x22c\x8a\x19\xfa\ +t\x8d\xceg\x17\xe3W\xe3)\xc3\x99\x22\x83A*\xf1\ +r\x8d-g\xc1\x81\xc19Y\xe1{*\x80\xc7\xb9\xc8\ +x2\x18P\xe8\x90\x1af\x9f\x0aI\xb6__2\x1a\ +\xdf\xb6>\xc3+\xbc\x11\x99V\xed\xe6\xa9\xe0Z\x0a\xa6\ +*fA\x18 \xac\xd0Y\x9a\x0e\x06\xf0\x1f\xa31\xd6\ +T\xf0\xaf\x94'\xe2\x01}\x1b xh\x12\xa1\x07\xdb\ +`?\x1fh\xa2W\x11z\xf5\xe6\xd8~\xae\x88QP\ +\x84^\x9f\xe6\xdf\xf7T\xd19#\x11\xd22#\xb6E\ +Sm\xbe\x03P\x9b\x95\x02\x95R\x04\x03\xdb?\x99\xbc\ +@\xbf\x0bIa\xcdv\xf2?l\xab$8\x11\x9cm\ +P*EJ\xa4\xde\xa0\xb9\x10\x0c\x19\xa9%\xa6\xfa\xa3\ +HH)VhEB?\x97\x9f\xb9H\x1e\xde\xb6y\ +\x91\xf1\xd8|\x82\xf4,\x1d\x8e\x8a\x85\x9a\x87\x11\x8d\x12\ +\xaaR\x867\x94/\x0bI\xd1[\xc4\xa8\xd2\xbfR\xf2\ +\x10\xc6\x99\x94\xc0\xed\x92'\xe4\x11\xbdx\xfb\x16\x8dO\ +\x1a\x83\x8b\xfeb\xe4\xbf\xf0\x9a\xc0\xe8\x0e\xc7j\x88y\ +\xfe\xb1\xe5\xbe\x86e\xb1pI\xf4\xd09\xe1(\xb4\xca\ +\x0c\xb5\xb8\x12\x0fDN\xb1\x22 =\xe86h\xc8\x90\ +I#r\xb0\xd2:U\xd1d\x92\x888\xbc\xd3!\x15\ +\x93;=~3\x09\x1a\x93\xbfD\xc3\xdd\xd2Y\x01\x83\ +\xbb5\x1b\xdf\xe9;\xb3\x7f\xe3\xb8\xd8\xbf\xd3q\x00\xc3\ +\x1d\x0b~\x09v\xb5\xd2k\x16\xb4\x19\x81\xa4]&\xc0\ +\x1a\x96\x9d\xc1\xb2\xec\x98\xd1O\xd5\xa8/:\x84\xbd\xe7\ +\xff\x96\xec\xdd\xa3&\x92c\xc66CX\xdc\xc8R<\ +\x0d\x0aC\x01\x86\x92$[C\xb9\xc7\x12\xcd3\xca@\ +g3\xbdaD\xe5\x843\xa25\xacQ\xd5v\xdb\x98\ +\xb6*\x9a\xab\xc6\x8a\x8f\xd2\x12:\xe0\x0f\xf0\xa8\xcf8\ +[\x81\x11\xc6\x99\xae1R \x04\xe11Q\x11\xfa=\ +x\xa7\xe2\xe0\x08\x05\xe78\xbe\x0d\xfe\xa8H\x08\xc7\xe0\ +\x17fB\x0d\x1dvk\x13\x92\x82\xdd\xfe\x1dm-H\ +\xf030\xcc{\xac\x0d!\x07\xff_\xc2\xabatf\ +\xed5\x04\x89\x96K\x22\x87\xa3=\xe5\x89\xd0Lc\x9e\ +`\x99\xfc\x93l\xc2\x0f`\xedf\x9f`\xbb\x94{\xca\ +\xca\x83\x8c[\xd4\xe7\xc8\xe7o\xa9\xae+\xe0\xb6\x1b\xf6\ +7\xe4`\x0c\xce\xf5\x1a\x8b\x9a\x1b\xf5\x18\x8bH$\x06\ +[\x0ej\x02\xdd\xe4\xab4\x02}k\x98\x10]\xa0\xa1\ +\x83\xdd\xa8Ef5P\x91\xa5\xa2\x5cK\xfdq;t\ +\xc3\x9d\xed\xf2\x11a\x8a8\xf8\xe7R[\xfblq\x7f\ +\x1a4\xdf\xf6\xd9\xa5\xe0#\xe1Y\xe0\xde\x13\x91\x1a\xcd\ +*C\xb1\xcb\x0a\x9c;\xd4\x19\xeb\xda\xa0`\xdd\x9a\xbc\ +\xa6\xff\x1a\x83\xfaZ\x8b9W\x10\xa4M\x96\x83\xd4\x11\ +\xde@x>\x07\xcf\xdb\x0ap-\x1e\xf2<\xd4R\x9f\ +Jq\x0c\x8e\x15\xa1\x22e\x94\x0f\xe61\xe8H\x85\x0b\ +\xcaX\x84Rl\xb6\xc5I\xc0\xc8B\x7f\xc4rIy\ +\x84^\x14&[O\x0c`^\xc5\xf6\xe4\x99!B\x90\ +@\xc9\x82r\x92\x0c\x1a\x0c\xad\xcc\x99\xd6\x0d\xbdU\xb3\ +Y\x85\xed\xb4\xf2\xf2\xa9\x92\x9eC\x98\x96m4>\xaf\ +\xf0\x9c0\xc7\xd4f\xebl\xa4\xb7\x04\x9dnM\x1e!\ +\xe3v,X\x935\xac|\xe8l\x87$o\xfe^\x10\ +F\xccZ \x91\x00\x0f\xe3}\xbf@P%r\xd3\x09\ +\xd5h\x01\x81\x22L\xe9#a3\xfa'\xe9l\x96\x0d\ +i\x8c\x9a,l\x85\x0c\xdf\x99\x8f\xeb*\xf3\xd6\x1f\xd8\ +4\xfa'\xb0\xc3\xec\x8c\xd1%\x07s\x03\xf1!\xb8\xdb\ +\xaf\x0fS\xf8$\xb2\xabS\x88\xc1\x00G\x5cC~\xf5\ +\x0c\xc9\xad\xcd\xda\xcf\xd7\x1c\xa5T \xc4\xb3\x01{\x19\ +@\xd7\x89:\xa4\xa6\xcf\xc1\xc1\xe1\x86N\x9a\xc7\xd2\xdc\ +\x0b\x83\x1d\xe7(\xcbI\x0b\x86\xc5\xd5B\xc8\xf5'\xf0\ +R\xe3\x01\xd67oD\x9a\xeb\xde9\xa6\x13\x1b\xdc\x16\ +\x15\x94)2\xf0\x126\x82C\x99:/\x00\xd0\x8a\xa5\ ++\x16vcb\x1f\xb1L\xde\xdaS\xa4n\x02\xfb\xbe\ +\xa2\x9c\xcd\xc1\xc2\xf6\x94\x05\x1b\xda>\xbay\xda'\x9f\ +\x5c\xd8\x08\xd7\x8a\xf7y\xd8\xdb\x1aA\x01\xd6?b\xbd\ +\x0a\xd7\x94\x0f\xeb\x80\xf9\xa8\x89\x97Gh\x82^\xa1\x1f\ +\xd1i5\xb8\x84\xf6]Xm\x1e\xc0l\x98\xed\x8ex\ +\xd4x\xa9\xf1\xa2{wh4\xd1\xaa\x9d\xce\xdf\x02\xa4\ +>1\x98v\x81!\xf1nA\x99P4\xf7F7\x9f\ +c\x18\xb1\xcd\xdcU\x9c\xb1\x19\xf1\x9c\xd35hzL!\ +\xc5R\x12\xa5\x00O\xfb&\xd8R\x1c\xce\xfe\x1a'T\ +\xec4\xe6\x1aE\x1f\xf6|If\x06\x0eJ/\xfb\x8a\ +\xe2p\xf6\xb3X\x0a\xc6\xfc\xaa\xa9\xfa\xfb\xb2~ns\ +[T=\xa6\xd9\xa5\x9b\xdejI)\xf7\x9b{\xd1\xdb\ +\x83m\x99\x9f}\x8c\xcb\xfe\x1e\xac\x1fhJv\xb1.\ +\xfb{\xb1\xd6\xf1\xca\xcf\x17:\x0fgz\x83\xe7~\xab\ +\xcb;{0\x05\x5cy&\x09\xf6\xb1-\xba\xfb1~\ +O\x09Kvp\xb6\xfd=X\xc3\xa9\xe9\x86\xa6>\xc6\ +yo\x0f\xb6\xd9\x1a@\x9bW\xc1y\xaf\x8fm\xeb`\ +\x97\x14\xa9(j\x1c{=G\xed\x92\xd8\x90v\x08\x0a\ +\x08]b\xc5\xf0\xde\xfc\xe7>\x9e\xe5g\x04\xbb\x9c\xee\ +\x19\x18\xc033\x00\xda\x9c\x0c*fTM\xb7\x87\xf4\ +\xee\xd9\xad[\xdb\x04H\x0d\xff\x00f\xeeAk\xea\xa0\ +\x16Z\xeeA[\xd4:\xdd\xb2{\xc9\xf3}\xea\xca-\ +\xf8\x94\xd1\xf8\xb6[\xc0{\xae\xfa\xe6^Z\xab\x9e\x97\ +\xa9\xd50\x9f\xd9}\xa02UB\x07\xee\x1fyOm\ +E\xb1(f\xc2\xd4\xd3\x9f=\x8e5>[\xc9 ,\ +\xcb\x16Q\xbb\x07\x0c\xddW\x19,\x97\xd6\xaeL\x97\xed\ +\xdb\x19w\x96\xc8\xbeky\x8cr8oaf\xec2\ +B\x9f1'\x8eCR\x0a\xcdMm\x5c\xae\xc1==\ +^\x06\x90S\xf8\xbc\xcbp\x0a\xf1=\xa6\xcc\x14\xc9m\ +\xf1\x06\x8e\xa3\xa7]/*\x8e\xa4M\xfa\x0f\xb6\xd59\ +\xa0\xd4Il+F\x97\xdcYW\xac\x13\x96\xfb\x97\x97\ +\x98>-\x16\x8a\xc0|\xe3\xd7\xdd\xea\x97\xd9\x83\xfc\x1a\ +\xca\xae:\xfc\x0cx\x8c\xc8{r\xa6R\x12Ch\xed\ +\xceQ\x855\xba\xb6!\xedN\x8f\x8dR\xc2\x94/\x83\ +>e\xc2\xa2&\xd1\xb9X3~z\x0f(B!l\ +j4H,Py\xdd\x82\xf4\x0ak\x14c\x8e\xe6\x04\ +e\x0a|Z\x0b{Y\x92\x00\xc9:e\x04\x82\xa4=\ +\xb6/p\x0c\xe3)G%\xf70\xf0\xealm\x8dM\ +9k\x84%\x8d\x16in\x02\xe1\x5c\x00\xac\x5c{\x09\ +\x8d\xf5V\xe50\xf3\xe1\xa5\x94\xa5-XR\xe9,=\ +\x96\xb4\xf9\xa4\x11\xc2R\x827\x800\xfb\x15)\xf3\xd2\ +\xe6\xa1u\xca\xda(_\xa9\xf2A\xe247\x9e\x9c\xf8\ ++|\xef2\x81]\x8ee\xd7\xf4\xac\xb1\xe5+\xef\x98\ +Z?\xd5\x97\xea,h=[z@Y\xdc]\xe2\xb2\ +\xe7T\xcf}]\xde9\xa8\x95Pm\x95K\x9a\xcb\xf2\ +a\xa3\xd0U\x96SM\x85\xebt\x1b\xde7\x8d\x11\x8d\ +\x22\x17\x10\xbe\x199\x8bh9\xf1A\xf5\xb4Q\xbbd\ +\xd6(\x1f\xb9JJ\x15\x8a\xad\xca\xb1\x83Z\x1a\xb4\xd7\ +y\xf9\xd9\x0c\x06\x16\xf5\xc5O\xb7\xe8\xbf\xe5\xfb\x14v\ +\xa9\x96\xf4\xcdeRLR\xdd\xcd\xc6\xa5*C{\xc5\ +\x09\xe9\xd7\xfe\x85cBX\x5c\x09\x1b\x8c\xe8\x1cQ\xcc\ +\xd4\xce\x98O\xb5I\xaf\xc9\x7f \x0c:&-\xe7h\ +\xa5\xfe\xaa\xdd\xbe\x5cv\x80\xc0\xb3SW\xafq~\xc5\ +\x99\xa7\xae\xa9`\xd9\x9a;\xef\xa1\xea\xd6\x94\x93y\xaf\ +\xa9\x1a\x1d\xbe{\xad\xc6\xa0\x93\xe3\x81\xe3~\xc2\x1d\xc7\ +\xeb\x15x\xb3\xf8(p`\x90NSY\xcc\xdaq\xef\ +P\xea\xd4I\xd0\xc0\x94[\xa5w\xea\x97\xad*ea\ +\xe4\xcd\x0bv\x17}\xf5K\x96\x10\xe0`\x91[\xbc\x80\ +\xb0\xb2\x8c\xd2\x1c\x00\x8e$\xc3\xa6\x81\x1e\x99\x0b p\ +\xbdx\xf5\x9e>\x92df1\xa8\x1f\xd5\xe5\x97\xc5\x15\ +\xcb\xfc\xb7\x1a~\xf2v\x1d\xb74\xc9K/$u\xdf\ +$\xecq\x09\xf5,\xa8|&\xe1_\x13\x08\x03RW\ +\xb8\xbck.\xb1`\xe6\x97C\xc1\x0f\xe4o'\xe4\xf4\ +u\x97@\x18;\xd5\x9b\xc8\xe3\x8eFY\x0e\x87\x04\xe4\ +x\x12\x9aR\xfbqx\xfc\x7fN\xa0{\xaa\xb9F\xf6\ +\xa1\xc0\x8e\x8e;\xc1\xfd\xb3O\xedN\xa7wXo\xdd\ +!\x81\xc7\xf9\xd3U=[uR\xd4\xf7\xb9\xe6)\xc2\ +e\xa9\x1e\xbb\xc2<\x1c\x96W>\x83\xadK\x9bfG\ +\x18\xad\x0d\xda/\x86\xfa,\xbcXI\xfd\xea\xacy,\ +\xf0\xf9D\xf1\xc3\xbc\x16\x10\xce\x7fXd\x0e\xf8\x14\xcc\ +\xcc\xa0_\x82\xb8\xb9\xf9^\x12N\xa4\xfdI\x98A\xc1\ +r\x8by\xb7Hy\x8e\x0d<\x16;\x11\xf0\xb30\xce\ +u\x93~r\xda\xc7\xf7{k\xe6\x92[h\x8f%U\ +\xb0\x18\x80\xfb]5\x9d\x1c9\x1a\xdd\xb7\x9c/Q\x00\ +\x98\x0f\x80 \x122\x01\xc5\xc1\xd9\x02\xf0%\x1c\x163\ +8X*j\xc2\xbc\xb8\x95\x03%\x16\x81\x08\x08\xa6\xe8\xf3\x14\ +}\x9c]\x0c\xce\x06c\x8a\xd3\x04\x1c\x87D1\x17R\ +)\xbfMIp\xbf3\xf4&x\xcdS\x99\xecN\x8f\ +9\x93\x82\xd3\xc4qn0\x03\xf4\x8f\x83\xd4o\xcci\ +\x1a\xb1\x5c\xa2\x98\xd2\xbf$\xc6\x01a\x0b\x1f\x9d\x9f\x96\ +s\x98\x05K.\x12oN(\xf5Q\x8c\x85\xday\x85\ +(y|\x8d\xc5\x820_a\xe0\x94\xe4\x09\xbe\x03j\ +\xe8\xcf\xe7\xf4\xa2\x99\xba/$\x94K\x1fI\x91\x82\xc5\ +\xb2\x128\xbe\xe6!\xf8\xb9\x02\xef\x8b\x1a[\x0cjM\ +\xf2M\xd9\x85\xe9\x07J\x16,R[\xf2\x95\xc1^6\ +\xba\x1c\xab!\x08K@\xc2\x93\xe2p/\x80\xc2\x02K\ +@A\x01\x0aR\xe6 \x85m\x88p\x82\xc2\x82\x9a \ +\xc2\xd0#\x81U\x82\x924Xj\xd2\x84$\xf2O5\ +\xe3\xb9\xa5\xdag\xc3\xcc\x82\xbac)\x09}D\x0b\x92\ +E\x08(\x89k\xccN \x90\x843/\x16<\x06!\ +\xd7j\xc3r\x1d\x83[\xcb\xb4\xd9\xac\x8f\x0c\xb7\xee\xae\ +^0k\x8e\x0a]\xc0CJ\x84\xb2|\xb3\x1cJ\xa4\ +P\xce\xdf\x08U\x04V\xb9\xb7J(4B^6Y\ +a]\x82>\x12\xe5\xfa\xb9\x17U\x5cR\x12\x10y\x99\ +\x11\xd1O:Rv\x05\xeb\x02\xa6\xc6\xa0\x8c\xad\x96)\ +w\xb4a\xb7\xd7d\x8e\x19\xbeA\x161W\xac\x12\xdf\ +[g\xdb\xa3C#\xda`\xb9,\xb0\xc9x\x1c\xdb#\ +8\xe4\x8c\xae\xb7\x1ey\xc4\xa2\x8cJ\x9dO8S\x9b\ +\xbb\xc6*x\xaa\x10\xb9W\x12\xa2M\x80\xbb>\x22\xc6\ +\xb0\x94\xfd\xb9*6[\x91\x18\x0c\xb9\xc4\x1c\xb7\x09\x8e\ +\x97\x10\xdc\x1b\x82\x819n\x13\x9c\xe2\x90pCP\x98\ +\xe3=[\x95\xc1\xd2\xde\xab1Q\x8a\xb69\xabdj\ +82\xb5\xb09\x15V\x13\xec\x86xU9\xff!\xa2\ +\x94\xa8\xa5B\x92\xe0;\xaa2\x0d{H1\xd5y?\ +l\x89\xdeGLS\xd8\xa7\x12X'\x8d\xc5\xa1\xcd\xc3\ +\xba\xe1\xb4>\xbf\x06\xaf\xfap\xa9\x02f\x85Y\xdb\x09\ +7\xf9~,\x5ck\x19\xdb\xf03\xed\x16\x10\xf1\xc76\ +\x007\xbf\xa9\xcag\x98-(\xb4(\xcc\x8a\x0c\xa7\x5c\ +u\x17\x16\xee\xaa\xb4@\xa2\xab\xdd\xaf\xc8}wvv\ +\xe6\x22Uc\xde\x9d\x9f\x9f\xbb\xad\xaa\xba\x04Q]\xfa\ +/\x04\xf2a\xfbf\xb7\x15\xb1\x95\xcf\xb6\x86\xb3\xb1\xaa\ +(\xf7\x10\xfa{\xb0xa\xd8\x98\xbf\xac\xdaE\xaa)\ +\xa1^\xee\xaa#\x9e\xaa\x8a\x11\xc2\xd3\xf1!Kw\x0c\ +\xaf\x86\xc3xH\xb9\xec\xd1\xf6\xb9\xea\x96\xbc\x98<\x01\ +\x9d\x91o\xb0sF=\x9b\xfa\x86`\x18\x8d\xdc4s\ +\x81\xbb\x97\xbd8\x04\xeej\xa9\xf2\xfa~\xf6\xce\xfd@\ +s\xfa\xdcOi\xf0\xe9L\xf5c\xfaR\xa0zZF\ +\x22\xac{\x96N)\xa3\xe4n\x0e\x95\x9b\xa2\x9f\xf8\x10\ +\xec\xd1\xfa\xcaX\x91\xea\x0a\x00\xca=\x9b\x96E\x17I\ +\xe7mb\xc1\xe8\x91\xcb\x86T-\x8b\xd7]\x22#+\ +\x045]Z7\xaf\xfe\x9eFw \xba8\xe9\x0d\xe0\ +\xf4\xc8w\xc14O\xd9\xed(J\xee\xa3\xd3V\x0e\xc0\ +\x89\xbaPx\xfa\x12\xe3\xa3O\xf9\xe0\x8a}N\xd5\xcd\ +\x14\x87/@\xfe\xff8\xae\x8d\xe39\xa6\x09\xf4\x93\x84\ +\xb2\xcc\xeeQ\x98\xcbjG\xd2\xcc/\xf2r\xdfE\xa0\ +4\x92\xb3\xdc\xc2J\x1a\xf3\x12\x05\xbf<:\xee\xb7M\ +\xad\xbf\x9cTA\xb0.5\xff\xd5\xc6\xbe\x15\x89\x8f\xa9\ +\x94\x9c\xfd&x\x1a7`\x91\xdd\xb7\x0c\xb6\xd7\xe0Z\ +\x7fw\xab\xe2j\xdd\xf9\xbe\x1f\xae\x86\x95\xdeB\xff\xdd\ +c\xfd\x1b\xf8\xa3\xc3\x05\xaa\xf6\x0e[w\x832\x18\x7f\ +\xc8\xd8\xcc\xfa\xe7\xfc\x09I\xbf\xef\xd5\xb5\xae\x9a\xf6\x89\ +B\x94\x01\x86\xf2\xd2a?m\xbc\xdf\xe4=kz\xe8\ +\xd6d\xba\x97*\x1b\xf5\xa9\xec\xac\xb32\xfb)f\xab\ +\xcd\x9a\x1f\xf6\xabn\xd4\xaf\xba\xee\xc6\xda\xcfG[u\ +\xd6\xfc\xb0_u\xa3~\xd5u7\xd6~\xf2\xda\xaa\xb3\ +\xe6\x87\xfd\xaa\x1b\xf5\xab\xee\xa006\x9f\xe9\xacH1\ +\x08\xc3\xbe\x15\x8e\xfaVX1y'\x9dm\xdf\xe0'\ +\x1c\x87 \x1a2\xfc\x86-gz\xcd\xbb\xfa\x81\xd9=\ +\xe1\xa9\x08\xb6%e\xfb5\xc2\xab{T\xfeK\x83\xf3\ +\xb7sX\xfa\xef\xfeY\xa1\xbe\xc04\xb2\xeb\xcdt\xe0\ +\xd6/\xe4YU\xe9\xc0\xabM \xfa\xc5\xa6\xba\xeb\x92\ +\xa7p\xa4\xd9\xf9\xefu\xe0\x81^\xd9\xae\xb5\xf9l\xa4\ +=\xde\xf0\xa9\xe8\xf0\x02l\x99\xbby\xa3\xf2\x0b\xc3\xeb\ ++u\xfe\xdf\xb3\xf3\xec\xfc\x0b\x01\xe6r&\ +\x00\x00\x02\xc8\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0a// SPDX\ +-License-Identif\ +ier: LicenseRef-\ +Qt-Commercial OR\ + BSD-3-Clause\x0a\x0ai\ +mport QtQuick\x0aim\ +port QtQuick.Con\ +trols\x0a\x0aScrollabl\ +ePage {\x0a id: \ +page\x0a\x0a Column\ + {\x0a spaci\ +ng: 40\x0a w\ +idth: parent.wid\ +th\x0a\x0a Labe\ +l {\x0a \ +width: parent.wi\ +dth\x0a \ +wrapMode: Label.\ +Wrap\x0a \ + horizontalAlign\ +ment: Qt.AlignHC\ +enter\x0a \ + text: \x22The Dia\ +l is similar to \ +a traditional di\ +al knob that is \ +found on devices\ + such as \x22\x0a \ + + \x22st\ +ereos or industr\ +ial equipment. I\ +t allows the use\ +r to specify a v\ +alue within a ra\ +nge.\x22\x0a }\x0a\ +\x0a Dial {\x0a\ + valu\ +e: 0.5\x0a \ + anchors.horiz\ +ontalCenter: par\ +ent.horizontalCe\ +nter\x0a }\x0a \ + }\x0a}\x0a\ +\x00\x00\x04\xe8\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0a// SPDX\ +-License-Identif\ +ier: LicenseRef-\ +Qt-Commercial OR\ + BSD-3-Clause\x0a\x0ai\ +mport QtQuick\x0aim\ +port QtQuick.Con\ +trols\x0a\x0aScrollabl\ +ePage {\x0a id: \ +page\x0a\x0a readon\ +ly property int \ +itemWidth: Math.\ +max(button.impli\ +citWidth, Math.m\ +in(button.implic\ +itWidth * 3, pag\ +e.availableWidth\ + / 3 * 2))\x0a\x0a \ +Column {\x0a \ + spacing: 40\x0a \ + width: pare\ +nt.width\x0a\x0a \ + Label {\x0a \ + width: par\ +ent.width\x0a \ + wrapMode: \ +Label.Wrap\x0a \ + horizonta\ +lAlignment: Qt.A\ +lignHCenter\x0a \ + text: \x22F\ +rame is used to \ +layout a logical\ + group of contro\ +ls together, wit\ +hin a visual fra\ +me.\x22\x0a }\x0a\x0a\ + Frame {\x0a\ + anch\ +ors.horizontalCe\ +nter: parent.hor\ +izontalCenter\x0a\x0a \ + Colum\ +n {\x0a \ + spacing: 20\x0a\ + \ +width: page.item\ +Width\x0a\x0a \ + RadioButt\ +on {\x0a \ + text: \x22\ +First\x22\x0a \ + check\ +ed: true\x0a \ + wid\ +th: parent.width\ +\x0a \ + }\x0a \ + RadioButton {\ +\x0a \ + id: button\x0a\ + \ + text: \x22Secon\ +d\x22\x0a \ + width: pa\ +rent.width\x0a \ + }\x0a \ + Rad\ +ioButton {\x0a \ + t\ +ext: \x22Third\x22\x0a \ + \ + width: parent.w\ +idth\x0a \ + }\x0a \ + }\x0a }\x0a \ + }\x0a}\x0a\ +\x00\x00\x05B\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0a// SPDX\ +-License-Identif\ +ier: LicenseRef-\ +Qt-Commercial OR\ + BSD-3-Clause\x0a\x0ai\ +mport QtQuick\x0aim\ +port QtQuick.Con\ +trols\x0a\x0aPane {\x0a \ + id: pane\x0a\x0a \ +SwipeView {\x0a \ + id: view\x0a \ + currentInde\ +x: 1\x0a anc\ +hors.fill: paren\ +t\x0a\x0a Repea\ +ter {\x0a \ + model: 3\x0a\x0a \ + Pane {\x0a \ + w\ +idth: SwipeView.\ +view.width\x0a \ + heigh\ +t: SwipeView.vie\ +w.height\x0a\x0a \ + Column\ + {\x0a \ + spacing: \ +40\x0a \ + width: pa\ +rent.width\x0a\x0a \ + \ +Label {\x0a \ + \ +width: parent.wi\ +dth\x0a \ + wrap\ +Mode: Label.Wrap\ +\x0a \ + horizon\ +talAlignment: Qt\ +.AlignHCenter\x0a \ + \ + text: \x22Swi\ +peView provides \ +a navigation mod\ +el that simplifi\ +es horizontal pa\ +ged scrolling. \x22\ +\x0a \ + + \x22The \ +page indicator o\ +n the bottom sho\ +ws which is the \ +presently active\ + page.\x22\x0a \ + }\x0a\x0a \ + \ + Image {\x0a \ + \ + source: \x22../i\ +mages/arrows.png\ +\x22\x0a \ + anchor\ +s.horizontalCent\ +er: parent.horiz\ +ontalCenter\x0a \ + \ +}\x0a \ + }\x0a \ +}\x0a }\x0a \ +}\x0a\x0a PageIndic\ +ator {\x0a c\ +ount: view.count\ +\x0a current\ +Index: view.curr\ +entIndex\x0a \ + anchors.bottom:\ + parent.bottom\x0a \ + anchors.h\ +orizontalCenter:\ + parent.horizont\ +alCenter\x0a }\x0a}\ +\x0a\ +\x00\x00\x04;\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0a// SPDX\ +-License-Identif\ +ier: LicenseRef-\ +Qt-Commercial OR\ + BSD-3-Clause\x0a\x0ai\ +mport QtQuick\x0aim\ +port QtQuick.Con\ +trols\x0a\x0aFlickable\ + {\x0a id: flick\ +able\x0a\x0a conten\ +tHeight: pane.he\ +ight\x0a\x0a Pane {\ +\x0a id: pan\ +e\x0a width:\ + flickable.width\ +\x0a height:\ + flickable.heigh\ +t * 1.25\x0a\x0a \ + Column {\x0a \ + id: colum\ +n\x0a sp\ +acing: 40\x0a \ + width: par\ +ent.width\x0a\x0a \ + Label {\x0a \ + w\ +idth: parent.wid\ +th\x0a \ + wrapMode: Lab\ +el.Wrap\x0a \ + horizont\ +alAlignment: Qt.\ +AlignHCenter\x0a \ + tex\ +t: \x22ScrollBar is\ + an interactive \ +bar that can be \ +used to scroll t\ +o a specific pos\ +ition. \x22\x0a \ + + \x22\ +A scroll bar can\ + be either verti\ +cal or horizonta\ +l, and can be at\ +tached to any Fl\ +ickable, \x22\x0a \ + +\ + \x22such as ListVi\ +ew and GridView.\ +\x22\x0a }\x0a\ +\x0a Ima\ +ge {\x0a \ + rotation: 9\ +0\x0a \ + source: \x22../im\ +ages/arrows.png\x22\ +\x0a \ + anchors.horizon\ +talCenter: paren\ +t.horizontalCent\ +er\x0a }\ +\x0a }\x0a }\ +\x0a\x0a ScrollBar.\ +vertical: Scroll\ +Bar { }\x0a}\x0a\ +\x00\x00\x03v\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0a// SPDX\ +-License-Identif\ +ier: LicenseRef-\ +Qt-Commercial OR\ + BSD-3-Clause\x0a\x0ai\ +mport QtQuick\x0aim\ +port QtQuick.Con\ +trols\x0a\x0aScrollabl\ +ePage {\x0a id: \ +page\x0a\x0a Column\ + {\x0a spaci\ +ng: 40\x0a w\ +idth: parent.wid\ +th\x0a\x0a Labe\ +l {\x0a \ +width: parent.wi\ +dth\x0a \ +wrapMode: Label.\ +Wrap\x0a \ + horizontalAlign\ +ment: Qt.AlignHC\ +enter\x0a \ + text: \x22RangeSl\ +ider is used to \ +select a range s\ +pecified by two \ +values, by slidi\ +ng each handle a\ +long a track.\x22\x0a \ + }\x0a\x0a \ + RangeSlider {\x0a\ + id: \ +slider\x0a \ + first.value: \ +0.25\x0a \ + second.value: 0\ +.75\x0a \ +anchors.horizont\ +alCenter: parent\ +.horizontalCente\ +r\x0a }\x0a\x0a \ + RangeSlider\ + {\x0a o\ +rientation: Qt.V\ +ertical\x0a \ + first.value:\ + 0.25\x0a \ + second.value: \ +0.75\x0a \ + anchors.horizon\ +talCenter: paren\ +t.horizontalCent\ +er\x0a }\x0a \ + }\x0a}\x0a\ +\x00\x00\x05\x17\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0a// SPDX\ +-License-Identif\ +ier: LicenseRef-\ +Qt-Commercial OR\ + BSD-3-Clause\x0a\x0ai\ +mport QtQuick\x0aim\ +port QtQuick.Con\ +trols\x0a\x0aScrollabl\ +ePage {\x0a id: \ +page\x0a\x0a readon\ +ly property int \ +itemWidth: Math.\ +max(button.impli\ +citWidth, Math.m\ +in(button.implic\ +itWidth * 3, pag\ +e.availableWidth\ + / 3 * 2))\x0a\x0a \ +Column {\x0a \ + spacing: 40\x0a \ + width: pare\ +nt.width\x0a\x0a \ + Label {\x0a \ + width: par\ +ent.width\x0a \ + wrapMode: \ +Label.Wrap\x0a \ + horizonta\ +lAlignment: Qt.A\ +lignHCenter\x0a \ + text: \x22A\ + GroupBox provid\ +es a frame, a ti\ +tle on top of it\ +, and a logical \ +group of control\ +s within that fr\ +ame.\x22\x0a }\x0a\ +\x0a GroupBo\ +x {\x0a \ +title: \x22Title\x22\x0a \ + ancho\ +rs.horizontalCen\ +ter: parent.hori\ +zontalCenter\x0a\x0a \ + Column\ + {\x0a \ + spacing: 20\x0a \ + w\ +idth: page.itemW\ +idth\x0a\x0a \ + RadioButto\ +n {\x0a \ + text: \x22F\ +irst\x22\x0a \ + checke\ +d: true\x0a \ + widt\ +h: parent.width\x0a\ + \ +}\x0a \ + RadioButton {\x0a\ + \ + id: button\x0a \ + \ + text: \x22Second\ +\x22\x0a \ + width: par\ +ent.width\x0a \ + }\x0a \ + Radi\ +oButton {\x0a \ + te\ +xt: \x22Third\x22\x0a \ + \ +width: parent.wi\ +dth\x0a \ + }\x0a \ + }\x0a }\x0a \ + }\x0a}\x0a\ +\x00\x00\x03\xc7\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0a// SPDX\ +-License-Identif\ +ier: LicenseRef-\ +Qt-Commercial OR\ + BSD-3-Clause\x0a\x0ai\ +mport QtQuick\x0aim\ +port QtQuick.Con\ +trols\x0a\x0aScrollabl\ +ePage {\x0a id: \ +page\x0a\x0a Column\ + {\x0a spaci\ +ng: 40\x0a w\ +idth: parent.wid\ +th\x0a\x0a Labe\ +l {\x0a \ +width: parent.wi\ +dth\x0a \ +wrapMode: Label.\ +Wrap\x0a \ + horizontalAlign\ +ment: Qt.AlignHC\ +enter\x0a \ + text: \x22RadioBu\ +tton presents an\ + option button t\ +hat can be toggl\ +ed on or off. \x22\x0a\ + \ ++ \x22Radio buttons\ + are typically u\ +sed to select on\ +e option from a \ +set of options.\x22\ +\x0a }\x0a\x0a \ + Column {\x0a \ + spacing\ +: 20\x0a \ + anchors.horizon\ +talCenter: paren\ +t.horizontalCent\ +er\x0a\x0a \ +RadioButton {\x0a \ + te\ +xt: \x22First\x22\x0a \ + }\x0a \ + RadioButto\ +n {\x0a \ + text: \x22Secon\ +d\x22\x0a \ + checked: true\ +\x0a }\x0a \ + Radio\ +Button {\x0a \ + text: \x22\ +Third\x22\x0a \ + enabled: \ +false\x0a \ + }\x0a }\x0a \ + }\x0a}\x0a\ +\x00\x00\x04U\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0a// SPDX\ +-License-Identif\ +ier: LicenseRef-\ +Qt-Commercial OR\ + BSD-3-Clause\x0a\x0ai\ +mport QtQuick\x0aim\ +port QtQuick.Con\ +trols\x0a\x0aFlickable\ + {\x0a id: flick\ +able\x0a\x0a conten\ +tHeight: pane.he\ +ight\x0a\x0a Pane {\ +\x0a id: pan\ +e\x0a width:\ + flickable.width\ +\x0a height:\ + flickable.heigh\ +t * 1.25\x0a\x0a \ + Column {\x0a \ + id: colum\ +n\x0a sp\ +acing: 40\x0a \ + width: par\ +ent.width\x0a\x0a \ + Label {\x0a \ + w\ +idth: parent.wid\ +th\x0a \ + wrapMode: Lab\ +el.Wrap\x0a \ + horizont\ +alAlignment: Qt.\ +AlignHCenter\x0a \ + tex\ +t: \x22ScrollIndica\ +tor is a non-int\ +eractive indicat\ +or that indicate\ +s the current sc\ +roll position. \x22\ +\x0a \ + + \x22A scroll\ + indicator can b\ +e either vertica\ +l or horizontal,\ + and can be atta\ +ched to any Flic\ +kable, \x22\x0a \ + + \x22\ +such as ListView\ + and GridView.\x22\x0a\ + }\x0a\x0a \ + Image\ + {\x0a \ + rotation: 90\x0a\ + \ +source: \x22../imag\ +es/arrows.png\x22\x0a \ + a\ +nchors.horizonta\ +lCenter: parent.\ +horizontalCenter\ +\x0a }\x0a \ + }\x0a }\x0a\x0a\ + ScrollIndica\ +tor.vertical: Sc\ +rollIndicator { \ +}\x0a}\x0a\ +\x00\x00\x05\x99\ +\x00\ +\x00\x17\x96x\xda\xcdXKs\xdb6\x10\xbe\xf3W\xec\ +\xf8d'\x16\x948\x99\xe9\x8c.\x9dD\x8e'\x9e\xb1\ +\xe3W\xd2\xb43\xbd@\xc4RB\x0d\x024\x00\xdaV\ +S\xff\xf7.H=(\xf1!\xc5I\xed\xf2 \x11\xc0\ +.\xf6\xf5\xedb\xc1~\x1f\x86&\x9bZ9\x9ex\xd8\ +\x1d\xee\xc1\xc1\xab\xd7\xbf\xc0\xe7\x09\xc2\x85\xa7\x954\xe3\ +z\x0a'^\xb0\xa8\xdf\x87\xab\xf3\xc3\xdf{'2F\ +\xed\xb0w,P{\x99H\xb4\x03\x98\xcd]b\xd2\xbb\ +\xf0=bK\xd1\xc6\x92+8\xbb\x84\xf7W\x87\xbd7\ +\xbd\xa1\xe2\xb9\xc3(\x92if\xac\xa7\xcd/r\x19_\ +\xaf\x0d\xd9\x09\x9f\x9a\xdc\xbb\xf5\xe9\xa1\xd1\xde\x1a\xe5\xa2\ +\xe8*\xa6\x7f\xc5G\x0a\xcf\xf9\x18\xe1[\x04\xf4H1\ +\x80\x8c\x86Q1\xb2\xc8\x85\xd1j\x0a\x995\x19Z?\ +\x05\xa9=\x8cr\xef\x8d\xfe*\x85\x9f\x0c\xe0\x94\xfb\x09\ +K\xf9\xfdn9\xcbH\x9c\x92\xb1\xf4\xc5\xf2\xfelY\ +\xea\xc6ex\x01\x07\xfb\x858\xc6o\xb9,t)\x17\ +\xfa\xf0fo\xaf\xd4ahT\x9e\xea\x99z\xe1q\x19\ +\x8f\xa5\x1e\x0f\xe0\xed\xab\xc5\xdc]\xa9L\xc6-9\x92\ +\x15\xa3h\xb1x\xc2G\xa8*\x1b\xb41\xac\xac[\x9e\ +\x9d\x1a\x81\x83\x92\x9b}\xa5\xf1\x0a\xc1\xc4X\xf97\xf9\ +\x92\xabwJ\x8euJ\xdb\x0c\xc8\xc9\xac\x18}\x1c\xd2\ +\x10\xed\x0a\x83\xc7{\xa2\xd89\xa4P\x9a1H\x07\x1c\ +2\x93\xe5\x19\xf8\x09\xf7a\x9c\x1a\xe7\xc9\xd5\x14Z\x01\ +\x89\xb1\xe0H\x84\xef\xd16)x\xee\xae\x1d\xec\xac\xec\ +\x17\x9e\x97\xb0\xc3\xb5\x80\x91\x95\x98@LP\xc9\xb5\x8c\ +\xb9\x97F;\xb2\x90\xfc\xe8\x09|\xb4\xa1eK\xde\x87\ +\xa5c\xde\x171Y\xf3\xccL\xcfSt\x8e\x02\xb3*\ +\x93\xeb\x98\x94rli|i\xe8\xc2\x91\xeb\x0b\xcd>\ +\xa7xW0\xb4Bc\xf4\x90\xf0q\x8d\x04\xc3\xb4\xd4\ +\xa0t\x18#\xfc\xe9\xdd\xbdh\x85x\xe6\xcbo5\xbf\ +\xc8u\xf6\xa8Fr?\x80\xddj\xf4\xa1W\xea\xb7G\ +\xd8;\xa8QO\x97\xd4\x13,\xf2\xbb\x07\xe5KI_\ +c\xf0\xd2+\xac\xba\xb1F\xd1\x84\xca\xb5\x18\x9c\x18\x8b\ +)\xc8\xcc\xe5)\x08\xa3\x02&\xa4\x07\x9e\xa2g\x8c\xd5\ +\xd1\xf0\x105\x8f6E\x93\ +\xf8#\x89Jt\x98\xd4\x15\xf1\x05|B\xb9\x9f\x18%\ +\xd0~.-\xfaBM\x93\xa6\x83\xfc\x99\x95\xaf+v\ +\xce\x9d\xbb3V\xb4+\x86\x84\x85\xf2TYH`s\ +\xae\x0f\xb4v\xa6?\x88\x8e6\xf0\x87\xecj/\x7f\xe5\ +\xefC\xf4/yY\x0ax\ +\x00\x00\x03\xe0\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0a// SPDX\ +-License-Identif\ +ier: LicenseRef-\ +Qt-Commercial OR\ + BSD-3-Clause\x0a\x0ai\ +mport QtQuick\x0aim\ +port QtQuick.Con\ +trols\x0a\x0aScrollabl\ +ePage {\x0a id: \ +page\x0a\x0a Column\ + {\x0a spaci\ +ng: 40\x0a w\ +idth: parent.wid\ +th\x0a\x0a Labe\ +l {\x0a \ +width: parent.wi\ +dth\x0a \ +wrapMode: Label.\ +Wrap\x0a \ + horizontalAlign\ +ment: Qt.AlignHC\ +enter\x0a \ + text: \x22CheckBo\ +x presents an op\ +tion button that\ + can be toggled \ +on or off. \x22\x0a \ + + \x22\ +Check boxes are \ +typically used t\ +o select one or \ +more options fro\ +m a set of optio\ +ns.\x22\x0a }\x0a\x0a\ + Column {\ +\x0a spa\ +cing: 20\x0a \ + anchors.hor\ +izontalCenter: p\ +arent.horizontal\ +Center\x0a\x0a \ + CheckBox {\x0a \ + t\ +ext: \x22First\x22\x0a \ + che\ +cked: true\x0a \ + }\x0a \ + CheckBox {\x0a\ + \ +text: \x22Second\x22\x0a \ + }\x0a \ + CheckBo\ +x {\x0a \ + text: \x22Third\ +\x22\x0a \ + checked: true\x0a\ + \ +enabled: false\x0a \ + }\x0a \ + }\x0a }\x0a}\x0a\ +\x00\x00\x02\xb5\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0a// SPDX\ +-License-Identif\ +ier: LicenseRef-\ +Qt-Commercial OR\ + BSD-3-Clause\x0a\x0ai\ +mport QtQuick\x0aim\ +port QtQuick.Con\ +trols\x0a\x0aScrollabl\ +ePage {\x0a id: \ +page\x0a\x0a Column\ + {\x0a spaci\ +ng: 40\x0a w\ +idth: parent.wid\ +th\x0a\x0a Labe\ +l {\x0a \ +width: parent.wi\ +dth\x0a \ +wrapMode: Label.\ +Wrap\x0a \ + horizontalAlign\ +ment: Qt.AlignHC\ +enter\x0a \ + text: \x22DelayBu\ +tton is a checka\ +ble button that \ +incorporates a d\ +elay before the \ +\x22\x0a \ + + \x22button is a\ +ctivated. This d\ +elay prevents ac\ +cidental presses\ +.\x22\x0a }\x0a\x0a \ + DelayButto\ +n {\x0a \ +text: \x22DelayButt\ +on\x22\x0a \ +anchors.horizont\ +alCenter: parent\ +.horizontalCente\ +r\x0a }\x0a \ +}\x0a}\x0a\ +\x00\x00\x07\x9f\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0a// SPDX\ +-License-Identif\ +ier: LicenseRef-\ +Qt-Commercial OR\ + BSD-3-Clause\x0a\x0ap\ +ragma ComponentB\ +ehavior: Bound\x0a\x0a\ +import QtQuick\x0ai\ +mport QtQuick.Co\ +ntrols\x0a\x0aStackVie\ +w {\x0a id: stac\ +kView\x0a initia\ +lItem: page\x0a\x0a \ + Component {\x0a \ + id: page\x0a\x0a \ + Pane {\x0a \ + id: pa\ +ne\x0a w\ +idth: parent ? p\ +arent.width : 0 \ +// TODO: fix nul\ +l parent on dest\ +ruction\x0a\x0a \ + Column {\x0a \ + sp\ +acing: 40\x0a \ + width:\ + parent.width\x0a\x0a \ + L\ +abel {\x0a \ + width\ +: parent.width\x0a \ + \ + wrapMode: Lab\ +el.Wrap\x0a \ + hori\ +zontalAlignment:\ + Qt.AlignHCenter\ +\x0a \ + text: \x22Stac\ +kView provides a\ + stack-based nav\ +igation model wh\ +ich can be used \ +with a set of in\ +terlinked pages.\ + \x22\x0a \ + + \x22Items \ +are pushed onto \ +the stack as the\ + user navigates \ +deeper into the \ +material, and po\ +pped off again \x22\ +\x0a \ + + \x22when he \ +chooses to go ba\ +ck.\x22\x0a \ + }\x0a\x0a \ + Button {\ +\x0a \ + id: button\x0a\ + \ + text: \x22Push\x22\ +\x0a \ + anchors.hor\ +izontalCenter: p\ +arent.horizontal\ +Center\x0a \ + width\ +: Math.max(butto\ +n.implicitWidth,\ + Math.min(button\ +.implicitWidth *\ + 2, pane.availab\ +leWidth / 3))\x0a \ + \ + onClicked: sta\ +ckView.push(page\ +)\x0a \ + }\x0a\x0a \ + Button {\x0a \ + \ + text: \x22Pop\x22\x0a \ + \ + enabled: stack\ +View.depth > 1\x0a \ + \ + width: Math.m\ +ax(button.implic\ +itWidth, Math.mi\ +n(button.implici\ +tWidth * 2, pane\ +.availableWidth \ +/ 3))\x0a \ + anchor\ +s.horizontalCent\ +er: parent.horiz\ +ontalCenter\x0a \ + \ +onClicked: stack\ +View.pop()\x0a \ + }\x0a\x0a \ + La\ +bel {\x0a \ + width:\ + parent.width\x0a \ + \ + wrapMode: Labe\ +l.Wrap\x0a \ + horiz\ +ontalAlignment: \ +Qt.AlignHCenter\x0a\ + \ + text: \x22Stack\ + Depth: \x22 + stac\ +kView.depth\x0a \ + }\x0a \ + }\x0a \ + }\x0a }\x0a}\x0a\ +\x00\x00\x01?\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00(\x00\x00\x00(\x04\x03\x00\x00\x00~\xd0\xa5^\ +\x00\x00\x000PLTE\x00\x00\x00\xff\xff\xffA\xcd\ +RP\xcaNA\xcdRA\xcdRH\xcbPB\xccQ\ +I\xcbPD\xccQE\xccQE\xccQD\xccQD\ +\xccQC\xccQA\xcdR\xb0DE*\x00\x00\x00\x0f\ +tRNS\x00\x00\x186Oc\xab\xae\xb8\xbd\xc9\xd6\ +\xdf\xe9\xf0r\xc1;\x05\x00\x00\x00\xafIDAT(\ +\xcf\x8d\xd2\xb1\x0d\xc20\x14\x04\xd0[\x81\x0d~\x81\x98\ +\x81\x01\xe8-e\x01F@\xf2\x14t\xec\xe0E\xd8!\ +\xca\x08\xac\x10YXXG\x11'v\xf0\x15\x5c\xf9\xf4\ +\x8b\xff\xed\x03\xd6\xb8\x80>.\x99@\x06\x85\xd9\x04r\ +T\xd8\x8f:\x92/\x13\xc8A\xe1l\x02\x7fG\x17\x8c\ +\x06\x00\xe7{\xc9\x93$I\x0f\x00\x0f\xee\x13M \xbd\ +\xc2d\x02\x19\x14&\x13\xc8\xa00+\xe4\xdf8+\x1c\ +\x04Nb\xa5\xac.\x1a\xc5\xed\x1f\x03p\xeb/\x07\x8e\ +\x97\x92\xeb\xf6F\xddw,\xd59\xacq$\xf96\x81\ +\x1e=F\x13X\x06w\xb8\xf5\xa3\xc5\xad\x1e\x0d\xd6\x22\ +5X{Tq\xb2\x1eO\xd5\xbe:U\x87P(\x16\ +\xe3k\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01\xca\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00@\x00\x00\x00;\x04\x03\x00\x00\x009\xa2\x91\xef\ +\x00\x00\x000PLTE\x00\x00\x00A\xcdRP\xca\ +NA\xcdRA\xcdRF\xccPH\xcbPB\xccQ\ +I\xcbPD\xccQE\xccQE\xccQD\xccQD\ +\xccQC\xccQA\xcdR\x96\x12X7\x00\x00\x00\x0f\ +tRNS\x00\x186Oc\x9d\xab\xae\xb8\xbd\xc9\xd6\ +\xdf\xe9\xf0URDE\x00\x00\x01:IDAT8\ +\xcb\x85\xd4\xcdM\xc40\x10\x05\xe0\x99\x0e,\x05\x11)\ +\x88;\xc7E\x14`QAj\xa0\x02D\x05{B\xe2\ +F\x0d[\x81K\xa0\x06D\x019P\xc0\x1e\x12\x09\xf1\ +\xb3z\x1c\x9c\xc4\xcex\xd63\xd7|yR\xfe\xc7\x19\x00\x07\x0b\x9c\x9c\x01\xf0n\ +\x81z\x84\x07\xf0\xe9\x0c\x80{\x0bL\xce\x00\xb5\x88\x08\ +\xbe\x8a\x88\x9b\x97y\xde\x00\x00x\x92\xe0\x15\xdb)\x22\ +$(\x22\x0a wV\x00\xb9\xb3\x12\x88\x88\x12\x88\x08\ +\x05\x9c\xd2S~\xd0\x00\x12\xe8\xc6:\xe0\xa0\x82i\x05\ +\xd7P\xc1\xba0\x1eT\xf0\xe1R\x80\x06R\xef\x9a\xa3\ +\x0a\xd6\xe6r\x0f\x0d\xfc\xad\x01\x17\x000\xd2\xe3\xb9c\ +\xe4>\x82\xe6n\x9e^,\xa2E\x04\xa2r)`\x1f\ +\xcfdy\xff6\x82o\x11\x90\x7f\x9c\xdf\xd4i\x0e\xc8\ +f\xe7\x91\x17\xb2\x83\x0aR@P\xc1T\x09\xc0\xce\xe7\ +[\x0a*\x98\xf2-i \xfd\x97\x83\x0a\xd2\x9a\x09\x1a\ +\xb8\xcc\xda\x1e4\x90W\xbd\xb5@y\x8e\x02h\x11[\ +\xa0DlA\xacS\x0d\xc4>U\xc0\x12\xf1\xbb\xdcP\ +\xcf\xf2\xe6\x99#F:;\xcd`\x80\xb8\xb1\x1a\xe0\xc1\ +\x00te\x01\x0e\x06\xa0\xce\x02\x1c\x0c@\xad\x05xo\ +\x00ju\xf0\x0fRR\x00X\xeb\xfc\xd3\xe9\x00\x00\x00\ +\x00IEND\xaeB`\x82\ +\x00\x00%!\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x03 \x00\x00\x02;\x08\x03\x00\x00\x00#\xc8\x0f\xb6\ +\x00\x00\x00\x09pHYs\x00\x004\xba\x00\x004\xba\ +\x010P\xac\x88\x00\x00\x00\x19tEXtSof\ +tware\x00www.inksca\ +pe.org\x9b\xee<\x1a\x00\x00\x03\x00PL\ +TE\x00\x00\x00\x00\xff\xff\x00\xff\x80U\xff\xaa@\xbf\ +\x803\xcc\x99+\xd5\x80$\xdb\x92 \xdf\x809\xe3\x8e\ +3\xe6\x80.\xe8\x8b+\xd5\x80'\xd8\x89$\xdb\x803\ +\xdd\x880\xdf\x80-\xe1\x87+\xe3\x80(\xe4\x86&\xd9\ +\x801\xdb\x86.\xdc\x80,\xde\x85+\xdf\x8a)\xe0\x85\ +'\xe2\x89/\xe3\x84.\xdb\x89,\xdc\x84+\xdd\x88)\ +\xde\x840\xdf\x87.\xe0\x83-\xe1\x87,\xdb\x83+\xdc\ +\x87)\xdd\x83/\xdd\x86.\xde\x83-\xdf\x86,\xe0\x83\ ++\xe1\x86*\xdb\x82.\xdc\x85-\xdd\x82,\xde\x85+\ +\xde\x88+\xdf\x85*\xe0\x87.\xe0\x85-\xdc\x87,\xdd\ +\x84+\xdd\x87+\xde\x84*\xdf\x86.\xdf\x84-\xe0\x86\ +,\xdc\x84+\xdc\x86+\xdd\x84.\xde\x86-\xde\x84-\ +\xdf\x86,\xdf\x83+\xe0\x85+\xdc\x83.\xdd\x85-\xdd\ +\x83,\xde\x85,\xde\x87+\xdf\x85+\xdf\x87-\xe0\x85\ +-\xdd\x86,\xdd\x85,\xdd\x86+\xde\x84+\xde\x86-\ +\xdf\x84-\xdf\x86,\xe0\x84,\xdd\x86+\xdd\x84+\xde\ +\x86-\xde\x84,\xde\x85,\xdf\x84+\xdf\x85+\xdd\x84\ +-\xdd\x85-\xdd\x84,\xde\x85,\xde\x86+\xde\x85+\ +\xdf\x86-\xdf\x85-\xdd\x86,\xdd\x85,\xde\x86+\xde\ +\x85+\xde\x86-\xdf\x85-\xdf\x86,\xdf\x84,\xdd\x86\ ++\xdd\x84+\xde\x85-\xde\x84,\xde\x85,\xdf\x84,\ +\xdf\x85+\xdf\x84+\xdd\x85-\xdd\x84,\xde\x85,\xde\ +\x84,\xde\x85+\xdf\x86-\xdf\x85-\xdd\x86,\xdd\x85\ +,\xde\x86,\xde\x85+\xde\x86-\xde\x85-\xdf\x86,\ +\xdf\x85,\xdd\x85+\xdd\x84+\xde\x85-\xde\x84,\xde\ +\x85,\xde\x84,\xdf\x85+\xdf\x84+\xdd\x85-\xdd\x84\ +,\xde\x85,\xde\x84,\xde\x85+\xde\x86+\xdf\x85-\ +\xdd\x86,\xdd\x85,\xde\x86,\xde\x85+\xde\x86-\xde\ +\x85,\xde\x85,\xdf\x85,\xdd\x85,\xdd\x85+\xde\x85\ +-\xde\x84,\xde\x85,\xde\x84,\xdf\x85,\xdf\x84+\ +\xdd\x85-\xde\x84,\xde\x85,\xde\x84,\xde\x85,\xde\ +\x86+\xdf\x85-\xdf\x86,\xdd\x85,\xde\x86,\xde\x85\ +,\xde\x86-\xde\x85,\xde\x85,\xdf\x85,\xdd\x85,\ +\xdd\x85+\xde\x85-\xde\x85,\xde\x85,\xde\x84,\xde\ +\x85,\xdf\x84+\xdd\x85-\xde\x84,\xde\x85,\xde\x84\ +,\xde\x85,\xde\x86+\xde\x85-\xdf\x86,\xdd\x85,\ +\xde\x86,\xde\x85,\xde\x85+\xde\x85,\xde\x85,\xde\ +\x85,\xdf\x85,\xde\x85,\xde\x85-\xde\x85,\xde\x85\ +,\xde\x85,\xde\x85,\xdf\x85,\xdd\x85-\xde\x84,\ +\xde\x85,\xde\x84,\xde\x85,\xde\x86,\xde\x85-\xdf\ +\x86,\xdd\x85,\xde\x85,\xde\x85,\xde\x85+\xde\x85\ +,\xde\x85,\xde\x85,\xdf\x85,\xde\x85,\xde\x85+\ +\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xdd\ +\x85-\xde\x85,\xde\x85,\xde\x84,\xde\x85,\xde\x86\ +,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\ +\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\ +\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85\ +,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\ +\xde\x85\xf8\xdf\x16\xb8\x00\x00\x00\xfftRNS\x00\x01\ +\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\ +\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\ +\x22#$%&'()*+,-./01\ +23456789:;<=>?@A\ +BCDEFGHIJKLMNOPQ\ +RSTUVWXYZ[\x5c]^_`a\ +bcdefghijklmnopq\ +rstuvwxyz{|}~\x7f\x80\x81\ +\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\ +\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\ +\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\ +\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\ +\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\ +\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\ +\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\ +\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xeb\x08\xd9\ +5\x00\x00 \x97IDATx\xda\xed\x9dy\x80\x8f\ +\xd5\xfe\xc7\x9f\x991\xf6m\x0a\xd9\xcb(\x09\x89\x88H\ +\x12\x92\x8aV$\x22\xf5+*j\xda\x10mC\xc9T\ +7.\xb7M\xbb\xa5\xba\xd9Z\xdc\xeaj,\xddH*\ +\x89\xac\x955\xfb\xbe\xaf\xb3|\x7f\xc9u\xb9\xb7\x06s\ +>\xe7y\xce9\xcf\xf3z\xfd_\xf3y\x9f\xcf\xe7\xe5\ +\xfb\xac\xe7\xf1<\xdf8{m\x0c\xc0q\xf0\x03\xc0\x84\ + \xf8\x01\x08\x82\x1f\x80 \xf8\x01\x08\x82\x1f\x00A\x09\ +\x82\x1f\x80 9S\x15?\x00A\xf0\x03\x10\x04?\x00\ +A\xf0\x03 A\xf0\x03\x10\x04?\x00A\xf0\x03 \ +\x86\x1f\x00\x01\x09\x82\x1f\x80 \xf8\x01\x08\x82\x1f\x00z\ +\x05\xa9\xba\x8e\xc5\x04\x04\xc1\x0f@\x10\xfc\x00\xd0)\x08\ +~\x00\x82\xe0\x07 \x08~\x00\xe8\x15\x04?\x00A\xf0\ +\x03\x10\x04?\x00\xf4\x0ar\x0e~\x00\x82\xe0\x07 \x08\ +~\x00h\x15\x04?\x00A\xf0\x03\x10\x04?\x00\xf4\x0a\ +\x82\x1f\x80 \xf8\x01\x08\x82\x1f\x00z\x05\xa9\xb9\x89\xa5\ +\x03\x04\xc1\x0f@\x10\xfc\x00\xd0)\x08~\x00\x82\xe0\x07\ +\x80\x8a \xf8\x01\x08\x82\x1f\x00*\x82\x9c\x87\x1f\x80 \ +\xf8\x01\xa0 \x08~\x00\x82\xe0\x07\x80\x8a \xf8\x01\x08\ +\x82\x1f\x00*\x82\xe0\x07 \x08~\x00\xa8\x08\x82\x1f\x80\ + \xf8\x01\xa0\x22\x08~\x00\x82\xe0\x07\x80\x8a \xf8\x01\ +\x08\x82\x1f\x00*\x82\xe0\x07 H\xce\xd4\xc2\x0f@\x90\ +\x9c\xfd\xd8\xcc\x1a\x01\x82\xe0\x07@\xee\x05\xc1\x0f@\x10\ +\xfc\x00P\x11\x04?\x00A\xf0\x03@E\x10\xfc\x00\x88\ +\xe1\x07\x80\x82 \xf8\x01\x90\xb3 \xf8\x01\x90\xb3 \xf8\ +\x01\x90\xb3 \xf8\x01\x90\xb3 \xf8\x01\x90\xb3 \xf8\x01\ +\x90\xb3 \xf8\x01\x90\xb3 \xf8\x01\x90\xb3 \xf8\x01\x90\ +\xb3 \xf8\x01\x90\xb3 \xf8\x01\x90\xb3 \xb5\xf1\x03 \ +GA\xf0\x03 gA\xf0\x03 gA\xf0\x03 g\ +A\xf0\x03 gA\xf0\x03 gAjoa)\x00\ +r\x12\x04?\x00r\x16\x04?\x00r\x16\xa4\xeeV\xd6\ +\xe1x\xec^\xbbx\xd6\xacY\x93\xd2\xd3?\x1b}\x88\ +\x09\xe9\xe9\xe9\xdf\xce\x9a\xb5`\xd5\x0e\x96&\x12\x82\xe0\ +\xc7\x1f\xd9\xb1p\xea\xa8A\x0ftl\xd5\xb8VrR\ +B\xce[#%\x9d~n\xc3\x96\xedS\xd2\x86O\x9c\ +\xc7&\xf8a\x15\x04?\x8e\xfd\xb1\xf8a\xcc\xd3\xb7]\ +\x5c\xb9\xa0\x97{\xf2Vh\xd0\xe1\x89Q3\xb9\x1a\x18\ +2A\xeanc\x11\x0e\xb1m\xea\xa0\xdb/)\xe7\xc9\ +9\xa5^\x87''\xacfA\xc3\x22\x08~\xc4\xd6~\ +\xf2\xd4\x0d\xc9\x9e^J]\xfe\xf0\xe8_\xb2Y[\xf7\ +\x05\x89x\xfe\x85\xaf\xdcT\xd6\xf3\x8bb\xad\x9e\x9d\x99\ +\xc1\x8c!\x88\xa3,\x1d\xd6\xb9\x82\xe77\x85\x9a\xa7\xa6\ +\xefg\xce\x10\xc41\xf6\xa5\xa7\x94\xf7\x82\xa2`\xeba\ +\xeb\x185\x04q\x86\xcd\xa3;\x17\xf5\x82%\xa1N\xea\ +\x02\xa6\x0dA\x1c`\xdb+\x8d\x13<#\x9c\xd3o\x19\ +\x03\x87 V\x93\x95\xde\xb9\x90g\x90:\xc3\xb8\xfd\x8e\ + \xd62\xff\xa12\x9ei\x0a\xde\xfcy\x16c\x87 \ +6\xfex\xb4\xf6\xec\xa0r\xdav\x06\x0fA\xecb\xd7\ +\xb0s<{(\x9a\xb2\x92\xd1C\x10{\xf8\xb5Wq\ +\xcf.\x12\xdb\x7f\xcb\xf0!\x88\x1dl\xec\x9d\xdf\xb3\x90\ +\xe6\xb3\x18?\x041\xcf\xd6\xd4\x22\x9e\x9d\xc4\xb5]\xcc\ +\x00\x22\x88Yv\xa7%y\xf6\x12\xdfv)#\x88 \ +\xe6\xc8~\xfd4\xcfn\xf2\xf5\xde\xcd\x10\x22\x88!\xe6\ +^\xe4\xd9O\xb9\x11L!\x82\x98`Oj^\xcf\x09\ +Z/g\x0e\x11$p\xc6W\xf0\x5c\xa1`\xdaA&\ +\x11A\x02eGG\xcf%\xea\xfe\xc4(\x22H\x80|\ +\x9d\xec\xb9E\x81!\xcc\x22\x82\x04EFZ\xa2\xe7\x1c\ +\xd7\xb3\x1f\x0a\x82\x04\xc3\xf2\x86\x9e\x8bT\x98\xca8\x22\ +H\x00L,\xee\xb9I\xc2\xe0`\x17j\xdfV5\xb2\ +\x11\xc4e\x86%z\xce\xf2\x7f\x07\x82\x5c\xa9g\x15\xab\ +\xdc\x80 \x0e\x9f~\xf4\xf0\x5c\xe6\xa2\x0d\x08\x82 >\ +\xb2\xa5\xa9\xe76\xc9\xf3\x11\x04A|\xe3\x973=\xd7\ +):\x05A\x10\xc4'\x16\x97\xf3\xdc'\xdfG\x08\x82\ + \xbe\xb0\xb0\x8c\x17\x06\xf2\x8eG\x10\x04\xf1\x81\xd9%\ +\xbcp\x900\x12A\x10D;\xdf\x9d\xe2\x85\x85\x84\xb7\ +\x10\x04At\xfbQ\xc4\x0b\x0f\xf1\xa3\x11\x04A\xb4\xb2\ +\xf44/L\xe4MG\x10\x04\xd1\xc8\xa6*^\xb8(\ +:\x07A\x10D\x1b{\x1axa\xa3\xecJ\x04A\x10\ +Md^\xe3\x85\x8fj[\x11\x04A\xf4\xd0\xcd\x0b#\ +\xcd3\x11\x04At\xf0\x8e\x17N\x1eC\x10\x04\xd1\xc0\ +\xbc\x82!\x15$\xfeS\x04A\x101\xbb\xce\xf1\xc2J\ +\xd22\x04A\x10)\x1d\xbd\xf0Ro?\x82 \x88\x8c\ +!^\x98\xb9\x17A\x10D\xc4\xa2\xfc\xa1\x16$n\x22\ +\x82 \x88\x80\xccz^\xb89c'\x82 \x88:\x03\ +\xbd\xb0\xd3\x1dA\x10\x84\x03\xac\xe3\x1cd}\x8e \x08\ +b\xfb\x01V\xe1\x0a5\x1b_\xd3\xb6}\xd7\xae]{\ +\xdd\xdd\xb5k\xe7\xb6m\x9a\xd5IN\x8a\x0b\xe6o'\ +\xefF\x10\x04Q\xe3\x19\x9fg3O\x95\xebR\x06\x8d\ +\x9e\xb1:\xe3\xcf\xff\xfc\xc69\x1f\xbf\xd8\xa7c\x1d\xbf\ +\xefS\xde\x87 \x08\xa2\xc4\xaf\x85\xfc\x9b\xca\x22\xcd\xfa\ +\xbc;\xe7\xe4\xeeBd-\xfdx`\x9b\xb2>j:\ +\x1fA\x10D\x85\xf6>M\xe4i\x9d^\x9a\x93\xeb\x07\ +\x05W\xbe{o5\x9f\xeai\x86 \x08\xa2\xc0t?\ +N\x02\xe2\xeb\xf4\x9e\x9e\xa5Z\xd1\xf2am}y\xf1\ +w\x1c\x82 H\xee\xcf\xd0\xcf\xd3?\x89\xd5\xd3\xd6\x0a\ +\xab\xda7\xa1\xad\xfe\xbd\x81+\xeeA\x10\x04\xc9-/\ +\xeb\x1e\xc3\xd2}\x17h)l\xc3\xd0\x9a\xbaK\xeb\x8f\ + \x08\x92K\xb6h\xde\x05\xab\xd6\xdb\x1a\x1f\x0c\x9c\xdc\ +:^kq\x05W!\x08\x82\xe4\x8e^Z'\xb0\xc5\ +T\xcd\xe5\xfd\xdcM\xeb\x91V7\x04A\x90\x5c\xb1N\ +\xe7\xdd\x87\x0b'\xfbP\xe1\x8a\xae\x09\xfa*L\x5c\x8a\ + \x08\x92\x1bR\xf4\x0d_\xb5\x09>\xd58\xb7\xa5\xbe\ +\x22oE\x10\x04\xc9\x05k\x0a\xe8\x9a\xbc\x02\xa9>\xbe\ +\x944\xa1\xbc\xae2\x13\x16#\x08\x82\x9c<\xda\xf61\ +i\xb2\xc8\xd7:\xb7\xa7\xe8:\xce\xba\x19A\x10\xe4\xe4\ +\x8f\xef\xf3\xea\x99\xba\xfcC|\xff \xe5\x14M\x0f\xa1\ +$,D\x10\x049Yn\xd53tU\xe7\x06P\xeb\ +\xfa\x16z\x8a\xed\x88 \x08r\xb2g z~@:\ +\xed\x0e\xa4\xda\xac\x01Zn\x8a$\xfe\x8a \x08rr\ +<\xac\xe5M\xa4\xd4\xc0\xea\x1d\xaf\xe5\x9atO\x04A\ +\x90\x93b\xcf\xa9\x1a\xc6-\xef\xc8\x00+\x9eYJC\ +\xc5E\xb7#\x08\x82\x9c\x0c\x7f\xd3\xf1\xbe\xc7\x17\x81\x96\ +\xbc\xe4\x0c\x0d5\x0fF\x10\x049\x092+\xcbg\xad\ +\xd0\xd4\x80\x8b^\xa9\xc1\x90\xd33\x10\x04AN\xccX\ +\x0d\x0f\xffM\x0d\xbc\xea\x15\xa7\xcb\xcb\x1e\x8d \x08r\ +b\x1a\xc9o\x7f|a\xa0\xec\x9f\xe4\xe7!\x8d\x10\x04\ +AN\xc8B\xf9\xf5\xabQF\x0a\xff*\x9f\xb8\xf2\x85\ +\x08\x82 'B\xfe\x98b\xaa\xa1\xca\xdf\x17\xbf#\xdc\ +\x13A\x10\xe4\x04\xec\x13_\xe3m\x9fm\xaa\xf6\xbe\xd2\ +\xd2K\x1d@\x10\x049>\xefJ\x87\xec\xac]\xc6j\ +\xcfj*-~,\x82 \xc8\xf1\xb9T8b\xf9f\ +\x1b,~\xb5\xf4\xe7\xef\x0a\x04A\x90\xe3\xb2Tz\x1c\ +?\xd8h\xf9\xe3\x85\xd5\xc7\xaf@\x10\x049\x1e\xd2\xc7\ +\xb0Zd\x9b\xad_\xfa\x1cr\x7f\x04A\x90\xe3\x90-\ +\xbc\xddV`\x89\xe1\x00[J\x0a\x9f\xd0G\x10\x049\ +\x0e\xd3\x84\xff\x00?i<\xc1k\xc2\x04\xf3\x10\x04A\ +r\xa6\x87\xf0\x0a\xd6>\xe3\x09\xb2\x1a\xc8\x22<\x8a \ +\x08\x92#\x99ed\xd3\xf5O\x0b2\xcc\x92]f8\ +\x0bA\x10$G&\xcb\xfc\xb8\xc4\x8a\x10md!f\ +#\x08\x82\xe4DW\xd9l}mE\x88\xc5yD!\ +z#\x08\x82\xe4@\x86\xec\x81\xd8\xeb,\x89\xd1I\x94\ +\xa2R6\x82 \xc8\x9f3Qv\x93m\xbe%1\x96\ +\xc8\xf6\xca\xfa\x1eA\x10\xc4\x8fkX\xd7X\x93\xa3\x9d\ +\x1d\x97\xaa\x11$l\x82\xc8\xde\xb5\x9dnM\x8e\xefD\ +9.D\x10\x04\xf9S\xe6\x8b\xe6\xaa\xbeEI.\x16\ +\x1d*n@\x10\x04\xf93d_}\xfe\xd0\xa2$\x1f\ +\x8a\x92\x8c@\x10\x04\xf93\x1aK\xa6\xaab\xa6EI\ +\xb2D\x8f\x94\xb5G\x10\x04\xf9\x13\xb6\x8a\xee\x1f\x0c\xb0\ +*K\xaa$JR\x06\x82 \xc8\x1f\x11\xbdK\x98g\ +\x8dUYV\x89\xae\xf4~\x89 \x08\xf2GD\xf7\xd7\ +\xae\xb7,\xccU\x920}\x11\x04A\xfeH9\xd7\x1f\ +S<\x96\x0f$a\x1a \x08\x82\xfc\x81\x9f$#U\ +:\xd3\xb24\x07N\x91\x1c/\xeeD\x10\x04\xf9_\x86\ +I\x04\xb9\xcf\xba8\xb7I\xe2LD\x10\x04\xf9_n\ +\x92L\xd47\xd6\xc5\x99h\xfe$\x04AB%\x88\xe4\ +[\x7f\x95\xb3\xad\x8b\x93y\x9a OC\x04A\x10\x9d\ +\xa7 }-\x0ct\x97 O\xe2.\x04A\x10\x8d\xa7\ + \xdfY\x18\xe8\x9f~_\x94\x9b\xd1\xf5\x04\xd4W\xfc\ +\xe3\x9d\xbaja/\x82\xd8r\x0aR.\xdb\xc2@\xfb\ +\x0b\x0b\x12\xf59\x89?\xf0\xb6g7\xdb\x11D'\xe5\ +\x05\xad\xe8fe\xa2\xeb\x04\x89\x9a \x08\x82\xfc\x17k\ +$\xad\xf8\xd4\xcaHo\x08\x12\x15\xceD\x10\x049\x96\ +q\x92i\xdage\xa4\x0d\x92\xcf\xa7\xcfG\x10\x049\ +\x16\xc9\x9e\xbc\xad,\xcdT[\x90\xe9M\x04A\x90c\ +i\x22\xe8\xc4_-\xcd\xf4\xa0 \xd3]\x08\x82 \xc7\ +\x90UT\xd0\x89y\x96\x86\xfa\x87 S\x1d\x04A\x90\ +c\x98'hD\xa9lKC\xedL\x14\xdc*\xdc\x8b\ + \x08r\x94\xd7\x05\x8d\xe8`m*\xc9>\xd63\x10\ +\x04A\x8e\xd2M\xd0\x88\xd7\xadM%\xf9\xa8\xe7\x10\x04\ +A\x90\xa3\xd4\x154b\xb1\xb5\xa9>\x11\xa4\xfa?\x04\ +A\x90\xa3\xe7\xe8\x85\xd4\xfbpj\xb6\xb5\xb1\xb6\x0a\xbe\ +\x84P\x0fA\x10\xe4?H\x1e\xe5mmq\xae\xb3\xd5\ +c\x15\xcaB\x10\x049\xc2XA\x1f\x9e\xb68W\x17\ +A\xae%\x08\x82 GxB\xd0\x87/,\xce\xf5\x8a\ + \xd7\x07\x08\x82 G\xb8A\xbd\x0d\x09\xbb-\xce5\ +G0_\xfd\x10\x04A\x8ep\x96z\x1bj\xd8\x9c+\ +#\xbfz\xb0\xb6\x08\x82 \xfff\x8f\xe0\xb9\xd7Na\ +\xbd|]\x15A\x10\xe4\xdfH\xbe\xa7\xf1\xbc\xd5\xc9n\ +\x17\x1c;\xeeC\x10\x04\x91\xb7z\x8a\xd5\xc9^\xf0\xf1\ +\x19L\x04\x89\x8c \x8f\xa8w!n\xab\xd5\xc9\xbe\xf2\ +\xf12\x16\x82DF\x90\x1b\xd5\xbbP\xc9\xeed\xbb\x04\ +gW\xcf\x22\x08\x82\x1c\xe6\xfcp\xdeG?D%\xf5\ +h\xdd\x10\x04A\x0eSL\xbd\x0b\xbd-\x8fv\xa5z\ +\xb4\xa6\x08\x82 \xbf\xb3^\xd0\x85\xb7-\xcf\xf6\x80z\ +\xb4\x8a\x08\x82 \xbf3M\xd0\x85o,\xcf\xf6\xaaz\ +\xb4\xf8\xbd\x08\x82 \x87xSp\x11kG\x88\xe5\x9f\ +\x8f \x08r\x08\xc1\x8bw\x15l\xcf\xb6Y0a\x1f\ +\x22\x08\x82\x1c\xa2\x9dz\x13\x9a[\x1f\xae\x84o\x0f\x09\ + HT\x04\xb9\xc0\xbfK\xa1\xe6\xa9\xa7\x1e.\x05A\ +\x10\xe4\x10\xa5\xd5\x9b\xf0\x8c\xf5\xe1\xda\xab\x87\xbb\x1eA\ +\x10\xe47\x0e\x0a\xee6\x8f\xb1>]\x1f\xf5p\x17 \ +\x08\x82\xfc\xc6rA\x13f[\x9fNp\x9d\xb7\x0c\x82\ + \xc8o|)h\xc26\xeb\xd3M\x12\xdc\x089\x80\ + \x08\x12\x8b\xbd\xa3\xde\x83S\xedO\xb7L0b\xcb\ +\x11\x04Ab\xb1g\xd4{p\xbe\xfd\xe92\x12\xd4\xe3\ +}\x89 \x08\x12\x8b\xf5P\xef\xc15\x0et\xa0\x9cz\ +\xbcw\x10\x04Ab\xb1k\xd4{\xd0\xdd\x81\x0e\x08n\ +\x84\xa4!\x08\x82\x8866x\xda\x81\x0e\x08\xbe\xe5y\ +\x0f\x82 \x88\xe8\x18d\x84\x03\x1d\xb8G=\xde\x8d\x08\ +\x82 \xb1\xec\xbc\xea=\x98\xe2@\x07\xd2\xd4\xe3]\x8a\ + \x08\x12\xdb&\xe8\xc1\xcf\x0et`\xa4z\xbc\x1a\x08\ +\x82 \xb1\x9f\x05=\xd8\xe5@\x07&\xab\xc7+\x85 \ +\x08\x22y\xa5\xa8\xa0\x0b\x1d\x10|~1!\x13A\x10\ +d\x9cz\x0b\xcep\xa1\x03\x1b\x043\xb6\x09A\x10\xe4\ +e\xf5\x16\xd4s\xa1\x03\x99\x82[\xe9\x0b\x10\x04A\xfa\ +\xab\xb7\xa0\x95\x13-(\xa9\x1e\xf0\x0b\x04A\x10\xc1}\ +\x82[\x9dhA5\xf5\x80\xa3\x8f\xf7\xff\xdd<\xeb\x04\ +\xa4(\xfe\xd5\xcfgi!\x13A\xb4 x\xe5\xae\xb7\ +\x13-h\xa2\x1e\xf0E\xd1\x1f~V\xf1\xafn\x88E\ +\x08\xfb\x05\xb9L}~\xfe\xe2D\x0b\xda\xaa\x07|\x0a\ +A\x10D\xb0e\xc3\x9bN\xb4\xe0N\xf5\x80\xbd\x10\x04\ +A\xaa\xa8\xcf\xcfx'Z\xf0\xb0z\xc0n\x08\x82 \ +\xa7\xa9\xcf\xcfT'Z0P=`{\x04A\x10\xc1\ +w.\x7fp\xa2\x05\x82\x1b=W H\xe4\x059 \ +\xb8\xd2\xbe\xc2\x89\x16\xbc\xa7\x1e\xb0!\x82D^\x90\x8d\ +\xa1\xbf\x15\xf5\x99z\xc0\xea\x08\x12yA\x96\xa8\x8fO\ +|\x96\x13-\xf8Z=ay\x04\x89\xbc \xdf\xab\x8f\ +O17Z\xb0H=a\x11\x04\x89\xbc S\xd4\xc7\ +\xa7\x9c\x1b-X\xa5\x9e0.\x13A\xa2.\xc8\x07\xea\ +\xe3S\xc5\x8d\x16l5u\x96\x85 a\x10d\x94\xfa\ +\xf4\xd4v\xa3\x05\x92\xebt\xeb\x10$\xea\x82\xbc\xa6>\ +=\x17;\xd2\x83D\xf5\x88\xcb\x10$\xea\x82\xfcM}\ +zZ:\xd2\x83\xe2>\xbd1\x85 Q\x10\xe4Y\xf5\ +\xe9\xb9\xc1\x91\x1e\x086\xfe\xfa\x1eA\xa2.H?\xf5\ +\xe9\xe9\xecH\x0f\x04\x8fcNG\x90\xa8\x0b\x22\xf8\x02\ +S7Gzp\xbez\xc4t\x04\x89\xba \xf7\xa9O\ +\xcf=\x8e\xf4\xa0\xbez\xc4\x09\x08\x12uA\x04\xaf\x13\ +\xdd\xefH\x0f.\xf2\xe9\xa5t\x04\x89\x82 \xb7\xa8O\ +OOGzp\x89z\xc4\xe1\x08\x12uA\xda\xa9O\ +O\x1fGz\xd0\x5c=\xe20\x04\x89\xba W\xabO\ +\xcfc\x8e\xf4\xa0\xa5z\xc4\xbf\x22H\xd4\x05\xb9B}\ +z\xfa9\xd2\x83V\xea\x11\x9fG\x90\xa8\x0b\xd2B}\ +z\x068\xd2\x83k\xd5#>\x8b Q\x17\xa4\x99\xa1\ +\xe9\x09\x10\xc1\xc6X\x03\x11$\xea\x824Q\x9f\x9eA\ +\x8e\xf4\xe0&\xf5\x88O!H\xd4\x05i\xac>=C\ +\x1d\xe9A'C\xa7Y\x08\x12\x06A\x04w\xd1^r\ +\xa4\x07\xb7\xaaG|\x1cA\xa2.\xc8\x85\xea\xd3\xf3\x9a\ +#=\xb8C=\xe2#\x08\x12uA\xea\xa9O\xcf[\ +\x8e\xf4\xe0nC\xf7B\x11$\x0c\x82\xd4Q\x9f\x9e\x91\ +\x8e\xf4\xe0^\xf5\x88\xbd\x10$\xea\x82\xd4R\x9f\x9e\xbf\ +;\xd2\x83\x07\xd4#>\x88 Q\x17\xa4\xa6\xfa\xf4\x8c\ +u\xa4\x07\xbd\xd4#\xde\x87 Q\x17\xa4\x86\xfa\xf4\x8c\ +s\xa4\x07}\xd5#\xa6 \x08\xbf \xca\xbc\xefH\x0f\ +\x1e\xe6\x10\x0bA\x94\xa9\xad>=\xef8\xd2\x83\x87\xd4\ +#\xf6F\x90\xa8\x0bR\xd7\xd0\xdbD\x01\x22x\xab\xb8\ +/\x82D]\x10\xc1}\x907\x1c\xe9A\x0f\xee\xa4#\ +\x882\x0d\x0c\xbdn\x17 \x82\xd7\xeey\x16+\xf2\x82\ +4R\x9f\x9e\x17\x1d\xe9\xc1\xed<\xcd\x8b \xca\x08\x9e\ +\xe6\x1d\xe2H\x0f\xba\xa8GLC\x90\xa8\x0br\xa9\xfa\ +\xf4\xfc\xc5\x91\x1e\xdcl(\x22\x82\x84A\x90\xe6\x86\xfe\ +y\x0d\x90\xf6\xea\x11\x07#H\xd4\x05ia\xe8\x00=\ +@\xda\xa8G\xfc\x1b\x82D]\x90+\xd5\xa7'\xd5\x91\ +\x1e\x086mx\x09A\xa2.\x88`z\x5c\xd9\x17\xeb\ +*\xf5\x88\xaf\x22H\xd4\x05\x11\x1c\xa0\xbb\xb2\xb3\xe2\xe5\ +\xea\x11\xdfD\x90\xa8\x0b\x22xa\xdb\x95\xbdy\x05;\ +\x1b\xb17o\xe4\x05\x11\xbc\x8fz\x9f#=\x10l^\ +\xfd\x1e\x82D]\x10\xc1\xebv\xae|\x1fD\xb0q\xcb\ +\xc7\x08\x12uA\x1eQ\x9f\x9e\xdb\x1d\xe9\x81\xe0\x03:\ +\x93\x11$\xea\x82<\xa9>=\x1d\x1c\xe9Au\xf5\x88\ +3\x11$\xea\x82<\xa7>=\xd78\xd2\x83\x8a\xea\x11\ +\xe7!H\xd4\x05yA}z\x9a;\xd2\x03\xc1w\xd2\ +\x97!H\xd4\x05yC}z\x1a8\xd2\x83<\xea\x11\ +7 H\xd4\x05yW}zj\xba\xd1\x82\xbd\xea\x09\ +\xbd\xdd\x08\x12uA>R\x9f\x9e\xcan\xb4`\x83z\ +\xc2\xb8l\x04\x89\xba _\xa8\x8fOi7Z\xb0D\ +=a\xa1\x18\x82D]\x90\x1f\xd4\xc7\xa7\xa0\x1b-\x10\ +$,\x85 \x91\x17d\xa9\xe0\x08}\xbf\x13-\xf8R\ +=`%\x04\x89\xbc \x9b=C\xd7x\x02\xe3\x1f\xea\ +\x01k H\xe4\x05\xc9\x10\x08\xf2\x93\x13-xO=\ +`}\x04\x89\xbc \xb1B\xea\xf3\xf3\x8d\x13-xM\ +=`S\x04A\x90\xd2\xea\xf33\xd1\x89\x16<\xaf\x1e\ +\xb0\x1d\x82 \xc8\xd9\xea\xf3\xe3\xc6\xf6\xee\xa9\xea\x01\xef\ +B\x10\x04\x11<\x0c\xee\xc6\xde\xa3\x0f\xaa\x07|\x04A\ +\x10D\xb0\xef\xcf\x00'Z \xd8yt0\x82 H\ +\x87\xb0\xbfs{\x8dz\xc0\x91\x08\x82 )a\x7fc\ +J\xb0\x7f\xfd\xa7\x08\x82 O\xa9\xcf\xcfeN\xb4\xe0\ +L\xf5\x80\xdf\x22\x08\x82\xbc\xaa>?\xb5\x9chA1\ +\xf5\x80K\x11\x04A>P\x9f\x9f\xb2.t\xe0@\x9c\ +z\xc0\xed\x08\x82 _\xa9\xcfO\xdel\x07:\xb0F\ +=_\x9el\x04A\x90\x9f\x05\x0fcmv\xa0\x03s\ +\xd4\xe3\x9d\x16C\x10\x04\xd9.\x10d\x8e\x03\x1d\xf8D\ +=^u\x04A\x90X,\x9f\xfa\x04}\xe2@\x07\x04\ +\xcf*6F\x10\x04\x89\xc5\xca\x85\xfbY\x93~\xea\xf1\ +\xda \x08\x82\xc4b\x17\xa8O\xd0\xe3\x0et\xe0\x0e\xf5\ +x\x0f \x08\x82\xc4b\xd7\xa9O\xd0m\x0et@\xf0\ +\x09\xadA\x08\x82 \xb1\xd8\xbd\xea\x13t\xb9\x03\x1d8\ +O=\xde\x18\x04A\x10\xf5>\xfeFU\x07:PJ\ +=\xde\x0c\x04A\x10\xd1;\xdb\xf9\xb3\xacO\xb7Gp\ +#}5\x82 H,6\xcd36B\x010_p\ +#=\x13A\x10$\x16[!\x10d\x9a\xf5\xe9&\xa8\ +\x87\xab\x18C\x10\x04\x89\xc5\x0e&\xa8\xcf\xd0p\xeb\xd3\ +\x0dU\x0f\xd7\x10A\x10\xe4\x10e\xd5g(\xd5\xfap\ +\xf7\xab\x87\xbb\x11A\x10\xe4\x10\xf5\xd4g\xa8\x93\xf5\xe1\ +\xae5v\x9f\x10A\xc2\x22H{\xf5\x19\xaag}\xb8\ +\x9a\xa6\xb6l@\x90\xd0\x08\xf2\x98\xfa\x0c\x15\xb5\xfd\x8d\ +\x90\xac\x02\xc6\xee\x13\x22HX\x04\x19\x1e\xe2\xeb\xbc\x92\ +\xcd\xeb\x7f@\x10\x049\x84\xe0\x9dB\xefs\xcb\xb3\x09\ +\xde\x06\x89\xdb\x85 \x08r\x88\x8d\x02A\x86X\x9eM\ +\xb01o\x85\x18\x82 \xc8\xef\x08\xbe\x93|\xa7\xe5\xd1\ +\xba\xaaGk\x8e \x08r\x98\xba\xeaS\xd4\xc8\xf2h\ +\x8d\xd5\xa3uG\x10\x049\x8c\xe0:oa\xbb\x1fW\ +\xccNR\x8f6\x14A\x10\xe40\x82\xeb\xbc\xde\xcfV\ +'[.H6\x11A\x10\xe40\xa3\x04cd\xf77\ +B>\x14$[\x81 \x08r\x18\xc1\xd6Q^\x1f\xab\ +\x93=\xa1\x1e\xac@\x16\x82 \xc8a\xf6'\xaa\xcfQ\ +K\xab\x93\x09>}p^\x0cA\x10\xe4\xdfTW\x9f\ +\xa3\x92V?lr\x86z\xb0v\x08\x82 G\xb81\ +\xa4g\xe9\x1b\x04\xb9\x1eC\x10\x049\x82\xe0\x1b!V\ +\xbf3\xf5\x91 \xd7h\x04A\x10\x1d\x83d\xf3\xbd\xf4\ +\x87\x05\xb9\x96\x22\x08\x82\x1ca\x99`\x90jZ\x9c\xeb\ +\x12\xf5X\xc5\xb3\x11\x04A\x8e\x90]D}\x92\x12v\ +X\x1b+\xa3\xb0z\xacKc\x08\x82 \xff\xa1\xa1\xe0\ +'\xc4\xde-\xdeg\x0bR=\x88 \x08r\x94\x14\xb3\ +\xa3\xe4\x13\x83\x04\xa9\xdeC\x10\x049\xca;\x82Q\xb2\ +\xf7S\x9e\xad\x04\xa9~B\x10\x049\xca\x12\xc1(\xc5\ +m\xb4\xf5\x14\xa4\xa8\xe0e\xfb,\x04A\x90c\xce\xd2\ +K\x18\xbdc\xe0\x0f_\x0b2]\x12C\x10\x049\x86\ ++\x04\xc3t\x87\xa5\x99\x06\x082\xdd\x87 \x08r,\ +\x82\xc7^\xbd2\x96>\x8e%\xb8\x0b\xe2\x8d4(\xc8\ +z\x04\xb1\x0f\xc1\xee\x1f\x9e\xf7\x8d\x95\x91\xb6\xe6\x11D\ +ZlP\x90\xb5\x08b\x1f\x9b\x05\x9f\xd1\xf0\x1e\xb52\ +\x92\xe45\xb0\xd2\xd9\x06\x05Y\x8d \x16R%tO\ +\x9b\x08\xde\xb4\x17\xef[-\x12d%\x82XHW\xc9\ +1\xd62\x0b\x03\x1d\x14lf\xe4\xbdlR\x90\xe5\x08\ +b!\xefJ\x04y\xda\xc2@\xe9\x92@\x8bL\x0a\xb2\ +\x14A,d\xadd\x9ejX\x18\xe86\xd3\xa7 \xb1\ +\xe7B\xb9QLT\x05\x89U\x95\x182\xd7\xba8\xfb\ +%GX\xed\xb5\x940\xd8\xe0\x154\x04\xd1N7\x89\ + \xf6\xedm2^\x12\xe7\x15-%\xbc\xa0\xf8\xd7\x7f\ +D\x10\x1b\xf9\xbbd\xa2*f\xda\x16\xa7\x9d\xf1S\x90\ +\xd8\xb0P\xddV\x8a\xbc \xeb$wB\xbc\x7fX\x96\ +f\x8b\xe0\xc39^\x19=5\xbc\xa9\xf8\xe7\xff\x85 \ +VRM\x22H+\xcb\xc2\x0c\xf6\x8c\x9f\x82\xc4F(\ +\xfe\xf9\x89\x08b%=%3\x15\xbf\x95E8]\xe3\x87\xdf\xf3\ +\xaa\x95\x90/\x1bAl\xa5\xb1l\xba\xbc\xb1\xc6\x13\xec\ +\xae$K\xf0\x88\xc6ZJ*\xd6\xb0\x15Al\xe5E\ +\xa1 e\x8c\xf7\xf6\x1ea\x82E\x1ak9K\xb1\x86\ +\x85\x08b+\x1b\xf2\x08\xe7\xebZ\xc3\x87\x07\x93\x84\x07\ +\x89\xf5u\x16s\x81b\x11\x93\x11\xc4ZZ\x09\x05\xf1\ +\x06\x1b-\x7f}\x19a\xf9o\xe8\xac\xe62\xc5\x22^\ +G\x10k\xf9H*H\xe2W\x06\xab\xcfl&\xac\xbe\ +\xd8n\x1b\xae\xa7\xf5E\x10k\xc9('5\xa4\x82\xc1\ +\x9d3\x1f\x92\x16\xdfCk9\xb7\x9b}\xa3\x11A\xfc\ +\xe0Q\xe9\x8cy\xd5\x8d\x9d\xa8\xbf,\xae\xfdG+|\ +\xad\x87 \xf6\xb2\x22^z\x0e\x82\xf8\ +\xcc\xe2\xbc\x9e\xef\x94\xa9{\xf5\xddO\xbe\xfd\xf1\xbf\xe6\ +\xae\xd8\xf6_\x7f{\xef\xbaE3'\xbe;\xf8\xc1\x0e\ +\x17\x9f\xe5{\x15\x95v\xfb\xb8\x88\xcdtTX\xa4i\ +\xdf\xe1S\x96\x1cs\x1c\xb8k\xeb\xf2%\xb3\xbeI\xff\ +d\xf4\xf0a\xcf\xa7\xf5\xe9\xd5\xf5\xb6\xb6W7oX\ +\xa7J\xf2)\xc5\x8e\xfeGw\x22\x88\xdf<\xec\x05J\ +|RRR\xc5\xe4\xe4\x12II\x05\x83\xfc\xb3\x09\xbe\ +>Q\xd9Sc\xa5E\x92*\x9dY+\xb9|\xd2\xc9\ +\xbd{\xdf\x01A\xfcfwe/\x02\xf8\xfb\x81\xf71\ +\xc6r]\x85 \xbe\xf3UB\xf8\xfd\xa8\xe3\xef\xcb{\ +\xeb\x8d\x05k\x84 \xfe\xd33\xf4~\x14\xfd\xd9\xe7%\ +<\xd3T\xb2s\x11\xc4\x7f\xf6\xd7\x0c\xb9\x1fqc\xfc\ +^\xc2[LE;\x1dA\x02`v\xdep\x0b\xd2\xd3\ +\xf7\x15|\xcdT\xb4\xe2\x08\x12\x04O\x85\xda\x8f&\xfe\ +\x7f\xda}\x85\xa9l\xf1\xd9\x08\x12\x00YW\x86\xd8\x8f\ +36\x04\xb0\x82g\x9bJ\xb7\x0bA\x82`\xeb\x99\xa1\ +\xf5\xa3\xc8\x8fA,`\x8a\xa9x\xab\x11$\x10\xe6\x16\ +\x0a\xa9\x1f\x09\xc1\xbc\x92\xf4\xa9\xa9|\xf3\x11$\x18\xde\ +\x0b\xa9 /\x05\xb3|\xfb\x8a\x18\xca7\x03A\x02\xe2\ +\xa1P\xfa\x11\xd8\xdel7\x19\x0a\xf8O\x04\x09\x88\xcc\ +kC\xe8G\x8f\xc0\x96o\x9c\xa1\x84\x7fG\x90\xa0\xd8\ +\xd74t~t\xc8\x0al\xf5\xf6\x18:\x89\x1b\x86 \ +\xc1\xf5\xb8a\xc8\xfch\x9b\x11\xe0\xeau2\x93\xf19\ +\x04\x09\x8eM\xd5B\xe5G\x9b \xfd\x88}a&\xe4\ +c\x08\x12 \xab*\x86\xc8\x8f\x1b\x03\xf5#\x96}\x96\ +\x91\x94\xf7\x22H\x90,\x0b\xcf\x0d\xc3n\x99\x01\xaf]\ +\x9a\x91\x98\xb7 H\xa0\xac\xaf\x15\x12?z\x07\xbet\ +[\x0a\x9b\xc8y\x1d\x82\x04\xcb\xb6F\xa1\xb8\x7f\xfe\x82\ +\x81\xa5\xeba\x22iS\x04\x09\xfaZV\x08\x1e\x5c,\ +\xfc\xa1\x91\xe3\xd3<\x06\xa2\xd6A\x90\xa09\xd8\xd9u\ +?N\x9fkf\xe5:\x1a\xc8z\x16\x82\x04\xcf_\xf3\ +8\xedG\xd0\x1f\xa7\xfe\x0fK\x0c\xbcxV\x0aA\x0c\ +\xf0ei\x87\xfd\xe8z\xc0\xd8\xbau\x0f>m>\x04\ +1\xc1\xca\xba\xae\xeaQ\xe4}\x93\xd7\x00\x8b\x05\x1fx\ +\x1f\x82\x98`\xdf\xadn\xfaQ{\x91\xd1e{)\xf8\ +\xc4\x1b\x10\xc4\x0ccJ\xb8\xa7G\x5c\xca~\xb3\x8b\x96\ +\x15\xfc\xe3l\xbf \x88!\xd6\xb5v\xcd\x8f\x0aS\x8d\ +/\xda\xfc\x02A\x87\xfe\x0eA\x8c1:\xc9-A\xaa\ +\xec7\xbff\xaf\x06\x1dz2\x82\x98c\xc5en\x19\ +\xd2\xdf\x825\x0b\xfa\xd5\xc2\xf1\x08b\x92\x09\xc9.\x09\ +\x92o\xb1\xf9\x15\xdb{a\xb0\x99\xdfF\x10\xa3\x1c\x18\ +R\xd8!C\x9aX\xb0\x8f\xda\xa6`\x9f{\x1f\x82 \ +\xa6\xef\x89\xb4s\xc8\x90\x91\x16,\xd8\xe22Q;\xac\ +\x8c\xb6 \xb1\xd8\xf4\xe6\xce\x08Rj\x8b\x05\xeb\xf5S\ +\x85\x00\x13?\x84 \x160\xcd\x19E\xee\xb0a\xb9\x96\ +U\x8eX\xe0\xc8\x0b\x12\x8b\xcdp\xe4\xaeH\xdct\x1b\ +VkK\xb3\xc0\x02\xdf\x88 \x96\xf0U\x1b'\x1e\xf2\ +\xadq\xd0\x86\xc5:xwPy[\x22\x885\xacM\ ++\xe7\x80!\x03\xedX\xacq\xa7\x06\x13\xb7\x01\x82X\ +\xc4\xfe\x91\xf5\xad\x17\xa4\xe0R;\xd6j\xcd\xe5\x81\xc4\ +\xad\x86 v\xf1\xfd}e,7\xc4\x9a\x83\x8e\xf7\xcb\ +\x07\x90\xb6<\x82\xd8F\xe6\xa4\xdb\x8a[m\x885\xfb\ +\xd5\xeez\xd8\xff\x8f\xc1\x17A\x10\x1b\x0f\xb5\xc6\xb7\xb1\ +\xf8\x06{\x99\xed\xd6,\xd4\xba{\xf3\xfb}\xd9.\x13\ +A\xect$\xfd\xfe*\xb6\x1ar\xb7E\xeb\xb4\xfaa\ +\x9f\xcf\xd6\xb7!\x88\xb5,\x19zy~\x1b\x05\x89\x9f\ +i\xd3*\xed}\xb5\xb6_A\x13kv|f/\x82\ +\xd8L\xc6\xac!m\xed{\xf7\xf0\xdc\x83v\xad\xd2\x82\ +\xd43tGLj\x942l\xfa^G\xa6$\xc2\x82\ +\x1c\x22{\xc1\xb0\xceU\xe2\xad2\xc4\xba\xaf\x02dN\ +\xef\xadk\xef\xfc\xfc\xe7w\x194i\xa3S\x13\x12q\ +A~g\xf7\xccaw7*\xaa\xe7\xbc3N\xfc\xbf\ +(\xb4\xc2\xc6#\xd2a\x1d\xca\x8aR\x95h\xd0e\xc0\ +\x98\x05\x19\xee\x0d\x07\x82\x1c\xf9-Y\xfa\xe1sw]\ +~f\xa2@\x8e*\x9dG\xac\xd3\xf01\x9a\xd6\x96\xae\ +\xd0O#R\x1a\xe5\xfecT\x85k\xb7{t\xc4\xcc\ +-\xce\xce\x05\x82\xfc\xcf\x89\xc9\xb2I\xc3\xfav\xb9\xb2\ +v\xd9\xdc<\xbdU\xe8\xdck\x1f|\xf1\xf3\xdf\xaf\xc9\ +\xac\xd7p\x9fe\x9c\xbd\xcb\x93\xf9\xf3G\xcf\xdcvQ\ +\xb9\x938(-pv\xb3.O\xbc>u\xb5\xeb\x03\ +\x81 9\xfd\xa2\xac\xffq\xe2\xa8\x97\xd3\xfa\xf4\xb8\xe5\ +\xfa\xe6u\xab&'\x9f\x9a\x94td\xf6\x93\x92\x92\xca\ +%'W\xa9\x7fE\x87\xee\x8f>\xff\xe6\x87\xd3\xd7\x1d\ +\xfb\xdf\xbd\xa8\xe1\x0e\xf3N\xdb\x17\xe7\xe0\x8ai\xef\x0e\ +}\xa2\xfb\x8d\xcd/\x90e\ +\x0c\xda\x0f\x04\x09\x8a\xac\x0b\xe5\x82\x14X\xc2:\x06\xec\ +\x07\x82\x04\xc6\xf7\x09rC.g\x19\x03\xf6\x03A\x82\ +\xa3\x87\x86\x83\xac\xf7Y\xc6`\xfd@\x90\xe0\xd8QV\ +.H\xe9m\xacc\xa0~ H\x80\x8c\xd2\xf0\x13r\ +7\xcb\x18\xa8\x1f\x08\x12$M\xe5\x82\xc4\xcf`\x19\x83\ +\xf4\x03A\x82dQ^\xf9\xf7\xd3\xc7\xb0\x8c~\xb1\xe5\ +|\x0fA\xcc\xd2G\xba\x89\xdc\x90\xfd,b\x90\xbf\x1f\ +\x08\x12,{+I\xf4\xa83\x82\x8f!\x04\xed\x07\x82\ +\x04\xcb\xa7\xeaOb\xb5\xe6Q,\x03~ H\xc0\x5c\ +\xad\xa6Gb\xe7\xf9\xac\x9d\x09?\x10$`V\x16R\ +\xd0\xa3P\xcaJV\xce_?\xeaz\x08b\x07\x03r\ +\xff\xa6T\xeaf\x96\xcd\x94\x1f\x08\x124\x07\xce\xc9\xe5\ +\xa7\xa0\x87\xeca\xd1\xcc\xf9\x81 \x81\xf3\xaf\xdc\xbc\x5c\ +x\xee\x88\x0cV\xcc\xa4\x1f\x08\x12<\x1dOZ\x8fF\ +\x13\xd8\xca\xc4\xb0\x1f\x08\x12<\xeb\x8b\x9f\xdcC%\xad\ +y\xaa\xc4\xbc\x1f\x08b\x80\xa1'\xf3\xd5\x9c\xce\x0bX\ +(\x0b\xfc@\x10\x03d\xd5;\x91\x1e\x85S~e\x99\ +\xac\xf0\x03AL\xf0\xdd\xf1_.,\x99\xba\x855\xb2\ +\xc4\x0f\x041\xc2\x9d\xc7\xe9H%\xae\xeb\x06\xc6\xd6\x13\ +\xfa\x81 f\x1aS*\xa7~\x9c\xc7u]\xab\xfc@\ +\x103\xbc\xc5u]7\xfc@\x103d7\xf9\xb3\xeb\ +\xba_\xb30\xb6\xf9\x81 \x86\x98\x9f\xf8\x87\xeb\xba\x8b\ +X\x15\xfb\xfc@\x10S\xf4\xfc\xaf6\x14IY\xcd\x92\ +\xd8\xe8\x07\x82\x98b\xcf\x19G\x9bP*u+\x0b\x12\ +\xb0\x1fu<\x04\xb1\x9b\xb1GZ\x90\x0c\xd0\xb7\x06I\xd9\xe6\xa3\x00\xe3\ +\x91\xc7\x7f\x0d\xf0u\xfe\x00T`\x02 \x056\x00\ +P`\x04\xe0\x9e\x87V\x00L`\x06\xa0\x04v\x00H\ +\xe0\x00`\xf6\x12\x0f\x00\x22p\x01\x10\x02\x1f\x00\xf0v\ +\xe0\x04\xb8\xab\x09pj\xaf-\x18;N0!\x8ej\ +5\x05eH\x9aV1\xa4\x01Z\x82<@C\x90\x08\ +\xa8\x0b2\x01\xd5bH\x05\xd4\x04\xb9\x80\x8a \x19\xb0\ +\x17d\x03v\xd5\x94\x0e\xd8\x0a\xf2\x01\x1b\x01\x01\xf0^\ +\xcf\x0c\xc0[5q\x00+\x01\x09\xf0\x12\xb0\x00\xff\xc5\ +@\x03<\x05<\xc0C@\x04\xdc\x05L\xc0 \x13\x19\ +0\xc8\x14\x04\xf8\x03L-q\xaa\x9e\xb6\xb9\xda\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00\x02\xf6\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x9e\x00\x00\x00\x9d\x04\x03\x00\x00\x00\xb7?\xdc\xe6\ +\x00\x00\x00$PLTE\x00\x00\x00\xff\xff\xffA\xcd\ +RA\xcdRA\xcdRH\xcbPB\xccQE\xccQ\ +J\xcbOD\xccQC\xccQA\xcdRE\xef\x01u\ +\x00\x00\x00\x0btRNS\x00\x00\x18Oc\xab\xae\xc9\ +\xd7\xe9\xf0\xc1\xad8\xf5\x00\x00\x02vIDATh\ +\xde\xcd\xda\xdbM\xc40\x10\x85\xe1\x15i\x00:\x88D\ +\x07\xc0\xdb\xbem))!=\xd0\xc0\xd6\xb2J\xb4\xeb\ +\xe6x\x08\xb98\xbe\x8dg\xfe\x07\xa7\x80OG \x0e\ +\xe3\xb1/\x17\xc1\xd7=\xfb\x0b\xf9u\xee\x0e{\xaf/\ +\xd6s\x8f\x9e\xf5\xdc\x0d\xf6\xc8\x80\x9ds\xce\x0d\xb07\ +\xf5\xac\x07\x06\x5c<.\xe0\xe2\xb9\x11\xf6\xe6\x9e\xf5\xb0\ +\x80\xabG\x05\x5c=\xaa\x166\x0f\xea\xad\xcd\x83\x02\xee\ +\x1e\xd3[\xbb\xc7\xd4\xc2\xc1Cz\xeb\xe8\x11\x01\x8f\x1e\ +Q\x0b\x9e\x07\xd4\x82\xe7\x01\x01}\xcf\x1e\xd0\xf7\xec\xb5\ +p\xf2\xcc\xb5p\xf2\xcc\x01\xcf\x9e5\xe0\xd9\xb3\xd6B\ +\xe0\x19{+\xf0\x8c\x01C\xcf\xd6[\xa1g\xab\x85\x88\ +g\xea\xad\x98g\x09\x18\xf3,\xb5\x10\xf5\x0c\xb5\x10\xf5\ +\x0c\x01\xe3\x9e>`\xdc\xd3\xd7B\xc2S\xd7B\xc2S\ +\x07Ly\xda\x80)O[\x0bI/\xd2[\x9f\xdf\xe5\ +\xef\xc7\xc9\x03^\x9d\xe5\x0b{\xcb\xe6\x85\xb5`\xf4\x82\ +\xde\xb2z\xe7\x80V\xef\x5c\x0bf\xefT\x0bf\xef\x14\ +\xd0\xee\xf9\x01\xed\x9e_\x0b\x80\xe7\xd5\x02\xe0y\x01\x09\ +\xef\x18\x90\xf0\x8e\xb5\x80x\x87\xdeB\xbcC@\xc6\xdb\ +{\x8b\xf1\xf6Z\x80\xbc\xad\xb7(o\x0dHyk-\ +`\xde\x7f-`\xde\x7f@\xce[\x02r\xdeR\x0b\xa0\ +7\xf7\xac\xe7F\xd8\x9b{\xd6sw\xd8{\xf6\xac\xe7\ +\xee\xb0\xf7\x82=\x07{\xcf\xb6\x7f~3\xfc\xfb\x1d\xdb\ +\xfe\xfb\x80\xff~'\xb8_\x86\xb6\xfb\x19\xfe\xff\xf1\x80\ +\xff\xbf\xdd\x9a\x9e\x0f\xb6\x01\xebJ\x15\x01\xea\xed\x03j\ +\x93\xf3\xe9\x0c\xcf\xcfc\xdb\xe7\x0f\xf8|4\xc1\xe7\xb7\ +\xa1\xed\xf3/|>\x7f\xc0\xfb\x83[\xd3\xfb\x97`\x81\ +u\xa5\x8a\x00\xf1\xc2\x05 \xbd\xff3\xed'\x95\x0b\xd4\ +N\xb4\xc9io\xbf\x0b\xef\x9f'x?>\xb0\xfb{\ +\xfa~!\x1e\xef#\xff\xbd'\xbd\xc4\x05\x92\xdaK\x5c\ +pi\xbd\xd4\xfd\x96\xd2K^\x10*\xbdd\x11\xe8\xbc\ +\xf4\x05\xab\xceK\xf7\x94\xca\xcb\x14\x81\xca\xcb\x14\x81\xc6\ +\xcb\xf5\x94\xc6\xcb\xf5\x94\xc2\xcb\x16\x81\xc2\xcb\xf6T\xbd\ +\x97\xef\xa9z/_\xa3\xd5^\xe1\xa2\xbb\xda+\x5c\xc4\ +\xd7z\xa5{\xf8J\xaf\xf8\x90\xa1\xd2+\x0e,u^\ +\xf9!H\x9dW\x9e\xa7\xaa<\xc1\xc0R\xe5\x09\x06\x96\ +\x1aO2O\xd5x\x92y\xaa\xc2\x13\x0d,\x15\x9eh\ +\x9e\x92{\xb2yJ\xee\xc9\xc6=\xb1'|\x90#\xf6\ +\x84\x0f\x86\xa4\x9e\xf4\xbd\x90\xd0\x13?\xb8\x12z\xe2\x83\ +\x95\xcc\x93?X\x93y\xf2s\x9f\xc4{\xfb\x15\xc7\xfb\ +\x03\xfd\xb9\xba%(\xb7\xb7:\x00\x00\x00\x00IEN\ +D\xaeB`\x82\ +\x00\x00\x02c\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00w\x00\x00\x00w\x04\x03\x00\x00\x00\xcb\x17\xc2\xb9\ +\x00\x00\x00'PLTE\x00\x00\x00\xff\xff\xffA\xcd\ +RA\xcdRA\xcdRB\xccQD\xccQE\xccQ\ +E\xccQD\xccQD\xccQC\xccQA\xcdR\xeb\ +\xfeC\xda\x00\x00\x00\x0ctRNS\x00\x00\x18Oc\ +\xae\xbd\xc9\xd6\xdf\xe9\xf0v\x89\xbe\xf7\x00\x00\x01\xdfI\ +DATX\xc3\xc5\xd8\xbbm\xc30\x14\x05P\xc1Z\ + \xd9\x80e\x902I\xe9\x22\xd0\x08\x9c\xc4\xf0H\xd2\ +\x22)(\x07R\xdeP)\xa2\x0fI\x89|\x9f[\x84\ +\xfd\xc1\x05l]>\x92MS^\xed\xb7k\xcc\xab\xa5\ +\x1e\xc1\xb3\x030\x10\xdd\x12\xfd\xbc\x01\x98\x82\x030u\ +\x08\xb6F\xb7DD\xe4\x11<:\x00\x1b\xa3\x17l\x8b\ +^0\xdd\x11l\xea\xc7\x8aM\xd1\x1b\xb6Do\xd8\xd2\ +\x8f\x1d\x1b\xaa\xb9cCt\x84\xf5\xd5\x8c\xb0\xbe\x1f1\ +VW3\xc1\xda\xe8\x04k\xfb\x91be?R\xac\x8c\ +\xce\xb0.:\xc3\xba~\xe4X\xd5\x8f\x1c\xab\xa2\x0fX\ +\x13}\xc0\x9a~\x1c\xb1\xa2\x9aG\x9cG_\xde\x8b\xeb\ +\xe3\x88\xb3j\xbe\x92j\xa5\xfd\xb8\xeapZM-N\ +\xa2\xb58\xe9\x87\x1a\xc7\xfdP\xe38Z\x8f\xa3h=\ +\x8e\xfaa\xc0{?\x0cx\x8f\xb6\xe0-\xda\x82\xb7~\ +\x98\xf0ZM\x13^\xa3mx\xa9\xa6\x0d/\xfd0\xe2\ +\xbfjZqp\x00&\x8f\xe0\xd1\x01\x98<\x82G\x07\ +`\xba!\xf8\xeb\xdf\xf0'\x80\x03\xf2\x83u\xc0_5\ +\x00\x1f\xc9\x8c|\xdb=\xd0\xaa\x09\xe9\xf3\x1d\xd8I\x96\ +\xcd\xf7\x0a\x04\xdb\xf0\x03\xd9z=\xb0\xe9\x8f\xc8\xb8\xf1\ +\xc0\xa0\x0b\xc8\x88\xed\x80\xe1\x1e\x90cE\x07\x1ch\x06\ +\xe0(5#'\xc0\x1e8{N\xc9\xa9\xf7\xc5z\x06\ +\xd3\x1f\xd6\xe5W\x94\x96\x0b\xd6\xe1\x07rA\xf1\xc0\xd5\ +hD.e\x1e\xb8\x0e\x06\xe4\x22z|sx.\xad\ +\xa7\x1c\x9f\x04\xcb\xf1\xc9c\x87\x18\x0f\xce\x8eO/\xb0\ +R|zu\x16\xe2\xc9\x01\xf8\xbc\x112\x5c\xa8\xa2\x0c\ +\x17\xaa(\xc2\xa5*\x8ap\xa9\x11\x12\x5c\xac\xa2\x04\x17\ +\xab(\xc0\xe5*\x0ap\xf9\xf9\x8f\xc7\x95=\x80\xc7\x95\ +wG\x16\x0f\xce\x8e\xaboI\x1c\xae\xbeb1xr\ +\x00\xae\x0f\xa7:f\xa6b\x1d3S\xb1\x8a\xb9\xa9X\ +\xc5\xdcp\xaaav*V\xf0\x85{\x8b\xff\x05\xc8d\ +f\xae\xfe\xc1\x88\xef\x00\x00\x00\x00IEND\xaeB\ +`\x82\ +\x00\x00\x1cV\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x02X\x00\x00\x01\xad\x08\x03\x00\x00\x00\xfd\x0f\xfa\xd9\ +\x00\x00\x00\x09pHYs\x00\x00'\x8b\x00\x00'\x8b\ +\x01q}\xe4H\x00\x00\x00\x19tEXtSof\ +tware\x00www.inksca\ +pe.org\x9b\xee<\x1a\x00\x00\x03\x00PL\ +TE\x00\x00\x00\x00\xff\xff\x00\xff\x80U\xff\xaa@\xbf\ +\x803\xcc\x99+\xd5\x80$\xdb\x92 \xdf\x809\xe3\x8e\ +3\xe6\x80.\xe8\x8b+\xd5\x80'\xd8\x89$\xdb\x803\ +\xdd\x880\xdf\x80-\xe1\x87+\xe3\x80(\xe4\x86&\xd9\ +\x801\xdb\x86.\xdc\x80,\xde\x85+\xdf\x8a)\xe0\x85\ +'\xe2\x89/\xe3\x84.\xdb\x89,\xdc\x84+\xdd\x88)\ +\xde\x840\xdf\x87.\xe0\x83-\xe1\x87,\xdb\x83+\xdc\ +\x87)\xdd\x83/\xdd\x86.\xde\x83-\xdf\x86,\xe0\x83\ ++\xe1\x86*\xdb\x82.\xdc\x85-\xdd\x82,\xde\x85+\ +\xde\x88+\xdf\x85*\xe0\x87.\xe0\x85-\xdc\x87,\xdd\ +\x84+\xdd\x87+\xde\x84*\xdf\x86.\xdf\x84-\xe0\x86\ +,\xdc\x84+\xdc\x86+\xdd\x84.\xde\x86-\xde\x84-\ +\xdf\x86,\xdf\x83+\xe0\x85+\xdc\x83.\xdd\x85-\xdd\ +\x83,\xde\x85,\xde\x87+\xdf\x85+\xdf\x87-\xe0\x85\ +-\xdd\x86,\xdd\x85,\xdd\x86+\xde\x84+\xde\x86-\ +\xdf\x84-\xdf\x86,\xe0\x84,\xdd\x86+\xdd\x84+\xde\ +\x86-\xde\x84,\xde\x85,\xdf\x84+\xdf\x85+\xdd\x84\ +-\xdd\x85-\xdd\x84,\xde\x85,\xde\x86+\xde\x85+\ +\xdf\x86-\xdf\x85-\xdd\x86,\xdd\x85,\xde\x86+\xde\ +\x85+\xde\x86-\xdf\x85-\xdf\x86,\xdf\x84,\xdd\x86\ ++\xdd\x84+\xde\x85-\xde\x84,\xde\x85,\xdf\x84,\ +\xdf\x85+\xdf\x84+\xdd\x85-\xdd\x84,\xde\x85,\xde\ +\x84,\xde\x85+\xdf\x86-\xdf\x85-\xdd\x86,\xdd\x85\ +,\xde\x86,\xde\x85+\xde\x86-\xde\x85-\xdf\x86,\ +\xdf\x85,\xdd\x85+\xdd\x84+\xde\x85-\xde\x84,\xde\ +\x85,\xde\x84,\xdf\x85+\xdf\x84+\xdd\x85-\xdd\x84\ +,\xde\x85,\xde\x84,\xde\x85+\xde\x86+\xdf\x85-\ +\xdd\x86,\xdd\x85,\xde\x86,\xde\x85+\xde\x86-\xde\ +\x85,\xde\x85,\xdf\x85,\xdd\x85,\xdd\x85+\xde\x85\ +-\xde\x84,\xde\x85,\xde\x84,\xdf\x85,\xdf\x84+\ +\xdd\x85-\xde\x84,\xde\x85,\xde\x84,\xde\x85,\xde\ +\x86+\xdf\x85-\xdf\x86,\xdd\x85,\xde\x86,\xde\x85\ +,\xde\x86-\xde\x85,\xde\x85,\xdf\x85,\xdd\x85,\ +\xdd\x85+\xde\x85-\xde\x85,\xde\x85,\xde\x84,\xde\ +\x85,\xdf\x84+\xdd\x85-\xde\x84,\xde\x85,\xde\x84\ +,\xde\x85,\xde\x86+\xde\x85-\xdf\x86,\xdd\x85,\ +\xde\x86,\xde\x85,\xde\x85+\xde\x85,\xde\x85,\xde\ +\x85,\xdf\x85,\xde\x85,\xde\x85-\xde\x85,\xde\x85\ +,\xde\x85,\xde\x85,\xdf\x85,\xdd\x85-\xde\x84,\ +\xde\x85,\xde\x84,\xde\x85,\xde\x86,\xde\x85-\xdf\ +\x86,\xdd\x85,\xde\x85,\xde\x85,\xde\x85+\xde\x85\ +,\xde\x85,\xde\x85,\xdf\x85,\xde\x85,\xde\x85+\ +\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xdd\ +\x85-\xde\x85,\xde\x85,\xde\x84,\xde\x85,\xde\x86\ +,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\ +\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\ +\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85\ +,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\ +\xde\x85\xf8\xdf\x16\xb8\x00\x00\x00\xfftRNS\x00\x01\ +\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\ +\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\ +\x22#$%&'()*+,-./01\ +23456789:;<=>?@A\ +BCDEFGHIJKLMNOPQ\ +RSTUVWXYZ[\x5c]^_`a\ +bcdefghijklmnopq\ +rstuvwxyz{|}~\x7f\x80\x81\ +\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\ +\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\ +\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\ +\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\ +\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\ +\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\ +\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\ +\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xeb\x08\xd9\ +5\x00\x00\x17\xccIDATx\xda\xed\xdd{\x9cM\ +\xe5\xfe\x07\xf0\xb5gh\x90\xeb\xb8D\xe4\xb8F\xb9\x95\ +q\x8b\x944'\xe4\x1aM\xa1\xa2NE\xc2\xe8\xa2\xa6\ +R\x19Q8(\xa4N\xa3\x9bD\x0e\x91J9\x95\xe6\ +\xd0\xa9\x8e\x5c\x0e\xe1'\x84\xdc\xefL\x0d&\xc3\xcc\xec\ +9\xbf\xdf\xef\x9c\x84\xb9\xec\xfdYk}\xd7\xf7Y3\ +\x9f\xcf\xdf^\xf3|\xd7\xf7y\xdb{\xed\xb5\x9e\xf5,\ +\xcbr\x9eJ\xff\x93\xcd0\xe7\x87\xae\x18CaU\xda\ +\xc0.2\xee\xc3\xa2+F\x02\x16]1\x12\xb0\xe8\x8a\ +\x91\x80EW\x8c\x04,\xbab$`\xd1\x15#\x01\x8b\ +\xae\x18\x09Xt\xc5H\xc0\xa2+F\x02\x16]1\x12\ +\xb0*\xd2\x15#\x00\xab\xe2zv\x8eq\x1f\x16]1\ +\x12\xb0\xe8\x8a\x91\x80EW\x8c\x04,\xbab$`\xd1\ +\x15#\x01\x8b\xae\x18\x09Xt\xc5H\xc0\xa2+F\x02\ +\x16]1\x12\xb0\xe8\x8a\x91\x80EW\x8c\x04,\xbab\ +$`\xd1\x15#\x01\x8b\xae\x18\x09X\x15\xd7\xb1U\x8c\ +\xfb\xb0\xe8\x8a\x91\x80Un5\x1b\xc5\xb8\x0f\x8b\xae\x18\ +\x09Xt\xc5H\xc0\xa2+F\x02\x16]1\x12\xb0\xe8\ +\x8a\x91\x80EW\x8c\x04,\xbab$`\xd1\x15#\x01\ +\x8b\xae\x18\x09X\xe5V\xb1=\x8c\xfb\xb0\xe8\x8a\x91\x80\ +U\x96\xae\x18\x01Xt\xc5H\xc0\xa2+F\x02\x16]\ +1\x12\xb0\xe8\x8a\x91\x80EW\x8c\x04,\xbab$`\ +\xd1\x15#\x01\x8b\xae\x18\x09XeW\xb2'\x8c\xfb\xb0\ +\xe8\x8a\x91\x80EW\x8c\x04,\xbab$`\xd1\x15#\ +\x01\x8b\xae\x18\x09Xt\xc5H\xc0\xa2+F\x02\x16]\ +1\x12\xb0\xe8\x8a\x91\x80EW\x8c\x04\xac\xb2+\xd8\x08\ +\xc6}Xt\xc5H\xc0*\xc0\xcfy\xa5\xa6\xa4\x1c\xdb\ +\xfe\x7f9\x90\x92\x92\x92\xc9\xd9\xf6\x14V\xc1r\x95\xb6\ +\xf5\xeb\xb9\x93\x13\xfa\xdfrcL\x9dJ\xc5.\xb8\xc3\ +\x1eQ\xaef\x93\xb6\x9d\xfb\xc4\xbf0\xe3o\xeb\x0fr\ +\xea\x85a\x15\x94\xf5W\xc7V\xcc\x1a\xd9\xb7y\xb9\xb0\ +\xf7\xad/Z\xf7\xe6a\xd3>\xdf\xce\x8f1)X\x05\ +\xc0\xd5\xce\x85\xcfv\xadf\xd9K\x89V\x0f$\xad:\ +E\x07\xee\xc3\xf2w\xf9\x19\xdf\x8d\xef\x1cm9M\x91\ +\xab\xe2\x17\x1c\xa6\x05\xc2\xfao\xd6\xbc\xd0\xa1\xa4\xe5V\ +\x02\x0d\x06/8A\x0f\x85\x1eV\xe67\xc3.\xb3\xdc\ +N\xb1\xd8){H\xa2\x10\xc3\xca\xfc\xa4wiK&\ +\x81f\x93\x0ePE\xe1\x84\xf5CbuK2\x11\xb1\ +3\xd3\x08\xa3\xb0\xc1J\x7f\xb3\x99%\x9frC\xb7\x92\ +Fa\x82ux\x5cU\xcb\x9bD\xc4.\x22\x8e\xc2\x02\ +k\xeb}\xc5,\x0f\xd3\xf4\xafY\xf4Q\x08`\x1dJ\ +\x88\xb2\ +o\x13\x96\xef`e\x5cg\xbe+\xab\xf8Z\xc2\xf2\x1b\ +\xac\x04\xcb\x0f\xa9w\x92\xb0\xfc\x05\xeb\xdb\x08_\xc0\xb2\ +\x86\x12\x96\xaf`\xa5\xd5\xf5\x87++b\x19a\xf9\x09\ +\xd60\xcb/\xa9y\x82\xb0\xfc\x03\xebk\xf7\xbe\x08#\ +\xab\xb6\xbe\xe5\x9eGFOKJzs\xde\xec\xa4\xa4\ +\xa4\x09O\x0d\xeas\xd3\x95\xeem\xd4f\xc5\x13\x96o\ +`\x9d\xae\xe7\xca\xf2\xf4\xb6\x03_N\xde\x95\xc7B\xe2\ +\x94\xb5sF\xf4\xac\xe3\xca\x97\xe1j\xc2\xf2\x0b\xac\x09\ +\x8eg\xbbJ\xff\xd7\xd6\x85\xb1\x11\xf2\xe1\x8f\x9fl\xed\ +\xf82l\x9b a\xf9\x03\xd6\x01\x87\xdb\xf45\x1f\xb3\ +\x06\x98\xeb\xa3\xb3\xfb\x96r6\xde,\xc2\xf2\x07\xac\xbb\ +\x1d\x9dL?\xb3\x19\xff\x0d:\xbb\x93\x93\xcf\xad\xaa'\ +\x08\xcb\x0f\xb0V88so\xff\xb1\xcd\xbd\xacv>\ +\xea`\xbb\x91\xa7\x09\xcb\x0f\xb0\xda\xd9\x9d\xdf@\xcf\xef\ +\x1d\x0c{|b\x05\xdb\x0b\x95\x0f\x11\x96\xf9\xb0\xbe\xb4\ +;\xbd79}v&u\xa4\xdd\x93\xadG\x08\xcb|\ +Xmm\xfe\x0e\x9c\xe7\xc2\xd8\xfb\xfb\xd9\x1b\xbc\xd8^\ +\xc22\x1d\xd6b{\xdf\x82C\x8f\xbb3\xfc\x87\xf6\x16\ +\xeb\x0c%,\xc3a\x05m\xed\xb2]q\xb1k\x05\x1c\ +\xeah\xa7\x80\xa8=\x84e6\xac/\xecL\xebu\xfb\ +\xdc\xa4=\xd6\xce\xa5\x87\xc7\x09\xcblX7\xd9\x98\xd4\ +\xdb\x5c~\x1d\xdc\x87%\xf0\x1aJ\xa7\x12\x96\xc9\xb06\ +\x04\xf09}\xc6\xf5\xbd\xb2WT\xc2\xab\x98BX&\ +\xc3\xb2q\xd1}\x8c@\x19\x9b*\xc3e\xd4\xc8$,\ +sa\x1d\xc0\xdf\x0d\xf0\x82H!\xeb\xca\xc3\x85\xcc'\ +,sa\x8d\xf2\xf6\xa49\xbfoC\xf8=\x05\xb1\x84\ +e,\xac\xac?\xa0\xb3y\xb3\xd8K\xc2\xdfG\xcf\xf6\ +\x02\xdb\x08\xcbTX\x9f\xa1\xae\x9a\x9c\x94+\xe6i\xef\ +nE\x13\x96pz\xa17\x7f7I~|\xa27\xc3\ +\xabf\x12\x96\x99\xb0\x8e\xa0\xa7\xeeo\x88\x96\xb3\x07\xdd\ +\xaa\xf9S\xc22\x13\xd6Dp\x22\xbb\x0b\xd73\x13\xac\ +\xe7V\xc22\x13\xd6\xd5\xd8<\x96\xd8!]\x10\xb8M\ +e\xb1T\xc22\x11\xd66\xf0\x03b\xbcxE\x1b\xc1\ +\xfd\xe5g\x13\x96\x89\xb0\xc6`\xb3X\xf7\x8c|I\xc3\ +\xbc\xf9n&,\xd14\xc4fq\xae\x07%\x1d\xc6\x96\ +\x94F\xfdBX\xe6\xc1\xda\x84\xb9j\xec\xc9\x1b\xc0\x9f\ +\xc0\x8az\x87\xb0\xcc\x83\x05\xde\xceY\xe4IQ\xc7J\ +z\xf1]HX\x92\xc1\x96\x8e^\xe1\xd1{\xe5\xe3\xb1\ ++\xb6\xe9\x84e\x1a\xac\x03\xd8\xbd9\xaf^\x1b\xb8\xa3\ +\x08T\xd6\x17\x84e\x1a\xac7\xa1\x09\xbc\xd4\xb3w\xe8\ +\xde\x0a\xd55\x8c\xb0L\x83\xd5\x13\x9a\xc0\x91\x9e\xd5\x85\ +=\xe6X\x9b\xb0\x0c\x83u\x1a\xfaa\x1f\xb9\xd3\xb3\xc2\ +\x82\xd8^G?\x12\x96Y\xb0\x92\xa1\xe9\xeb\xeaae\ +/@\x95\xbdLXf\xc1\xc2V?}\xe8ae\xfb\ +\xa0=Jz\x11\x96Y\xb0\xaeEf\xafl\xba\x97\xa5\ +A\xeb\xb2\xcag\x11\x96I\xb0\xd2\xa0\xa5X\xf7yZ\ +\xdb_\xa0\x0f\xd3\xf5\x84e\x12\xac%\xd0\xe4%{Z\ +\xdb\x11\xe8R\xd6T\xc22\x09\xd6\x08\xe8\xeb&\xd3\xdb\ +\xe2n@\x8a\xeb\x99\xf7\xdf\xc9L\xca#\xf7\x85\xfd\xd7\ +\x07%\xd9\xc8w\x85\x18\x16t\x8a\xd5\xcf\xe3\xe2\xa0\xd7\ +\xdbU\xc8\xfb^S\xba\xa5\x93\xc7\x0a/\xac\xd3\xd0)\ +\xd6|\x8f\xab\xdb\x0cM\xe3V\xc22\x07\xd6\x0ah\xd5\ +\xd3q\xaf\xcb\x83\xde\xbf2\x9b\xb0\xcc\x815\x0d\xe9S\ +{\xcf\xcb\x1b\x82\x94\xf7\x10a\x99\x03\xeb.\xfd\xdd\x1a\ +\xf2\xcb\x07Hym\x08\xcb\x1cX\x97#}Z\xe1y\ +y?#[\xb1\x15?CX\xa6\xc0\xfa\x19Y\x8bU\ +&\xd3\xfb\x02c\x90y\x5cKX\xa6\xc0\x82\xf6\x87\xec\ +\xacP\xe0\xc3\xae<\x9fMX^\x07z)\xd3(\x85\ +\x02\xdfse\xb1\x1fay\x1dhw\xf5\xc5\x0a\x05\xfe\ +\xe8\xca\xafV\xc2\xf2:\xd0\xb3\xf5\x87\x15\x0a\x0c\x22\xfb\ +\x83T ,C`e\x22\xbb\xe7\xd5T)1\x16\x99\ +\xc8\x83\x84e\x06,\xe8Q\xd5\xdbUJ\x84\x1e\x5c]\ +BXf\xc0\x9a\x87ti\xa2J\x89\xef#%\xbeH\ +Xf\xc0JD\xba\xb4L\xa5\xc4\x9dn\xacC$,\ +\x8f\xd3\x17hR\xc4q\x9d\x1a\x91W\x0a\xb4#,3\ +`\xb5\x00\x9aT_\xa9\xc6\x0e@\x8dU\x09\xcb\x0cX\ +\xe5\x80&uW\xaaq(Pc\xe0$a\x99\x00\xeb\ +\x88\x1f\x9a4\xd5\x85\x07*\x08\xcb\xdb\xfc\x13i\xd2t\ +\xa5\x22\xff\x86\x14\xf9\x01a\x99\x00\x0b\xda\x9cx\x99R\ +\x91\xd0\x06\xa9\xe3\x09\xcb\x04X\xcf\x22M\xda\xa7Td\ +\x06\xb2\xcf\xed\x00\xc22\x01V\x7f\xa0G%\x83ZU\ +\x22k\x11;\x11\x96\x09\xb0\x90\xdd\xd4\x9b\xaaU\xd9\x19\ +\xa8\xb2!a\x99\x00\x0by\x06\xa6\xb7Z\x95\x0f!\x8b\ +\x5c\x09\xcb\x04X\xc8\x1b\x98\x9fU\xab\xf2\x15d*\x8f\ +\x13\x96>\xac\xa3H\x8ff\xa8\x95\x09\xbd\xf2n#a\ +\xe9\xc3Z\xe3\xc6\x8a\x14\xf9\xacG\xca\xfc\x9c\xb0\xf4a\ +}\xec\xc25m\xd3\xee\x0f\xbcAX\xfa\xb0^Cz\ +tD\xad\xcc r!k\x0ca\xe9\xc3B\xdeHq\ +QP\xafC\xd5\x80:\x87\x11\x96>,dc\x84\xea\ +\x8a\x1dB\xde\x9c\xd1\x87\xb0\xf4a\xdd\x0e\xb4\xa8\xa5b\ +\x87\xba\x02u\xdeHX\xfa\xb0\x90\xfd\xf2z(v\xe8\ +~\xa0\xce\xc6\x84\xa5\x0f\x0byM\xe1\x03\x8a\x1dz\x06\ +\xa8\xb32a\xe9\xc3\xba\x04hQ\xa2b\x87\x90K\xef\ +Er\xfd\x91\x919.\x8f\xf4\x09\xfb\x0f\xf7\x1bg#\ +\x7f/\x94\xb0\xb2\x90-\x82\x92\x14;\x04m\x92u\x0c\ +\xfa\xd3\xdc5Y ?\xbb\xb04\xd3\x93|\x83\x14\xba\ +\x8d\xb0\xb4a\xedD\xe6+Y\xb1C\x1b\x90B\xd7\x12\ +\x966\xacu\xc8|\xadT\xec\x10\xf4?`\x19ai\ +\xc3\xfa\x072_\x9b\x15;\x94\x82\x14\xfa\x11ai\xc3\ +Z\x84\xcc\xd7~\xc5\x0ee \x85\xce$,mX\xb3\ +\x90\xf9:\xa9\xd9\x22d\xb3\xa5\x97\x09K\x1b\x16ry\ +(2\xa8\xd9\x22\xe4\x82\xdb\x18\xc2\xd2\x865\xd6\xf9Z\ +r\x8f\x82\xac\xcd\x7f\x8c\xb0\xb4a!\xef\xfd\xaa\xae\xda\ +\xa2\xa6@\xa5C\x08K\x1b\xd6\xa3\xc0t5PmQ\ +;\xa0\xd2{\x09K\x1b\xd6\x83\xc0t]\xa3\xda\x22d\ +\xddL_\xc2\xd2\x86u\x0f0]\x1dT[t\x07P\ +iO\xc2\xd2\x86\xd5\x07\x98\xae\x1e\xaa-\x1a\x08T\xda\ +\x89\xb0\xb4a\xf5\x00\xa6+N\xb5E\x83\x81J\xdb\x11\ +\x966\xac\x8e\x8e\x97\x92{\x15\xe4!\xfbV\x84\xa5\x0d\ +\xebz`\xba\xeeRm\xd1p\xa0\xd2&\x84\xa5\x0d\xab\ +\x150]\xf7\xa8\xb6\x08y\x89\xc0\x15\x84\xa5\x0d\xab9\ +0]\x03T[\xf44P\xe9\xe5\x84\xa5\x0d\x0b\xb9\x9e\ +\xfd\xa0j\x8b\x12\x81Jk\x13\x966\xac&\xc0t\xc5\ +\xab\xb6h\x0cPiM\xc2\xd2\x86\x85<\xfd\xf5\x88j\ +\x8b\xc6\x89\xdd\xd5$,\x81\x5c\x09LW\x82j\x8b&\ +\x02\x95V%,mX\xf5\x80\xe9\x1a\xa1\xda\xa2)\x8e\ +\x9fX%,\x0fS\x07\x98\xae\x91\xaa-B\x96$V\ +\x22,mX\xb5\x80\xe9zN\xb5E\xd3\x81J\xcb\x13\ +\x96\x9f`%\xaa\xb6\xe8u\xa0\xd2\x8a\x84\xe5\xa7\xaf\xc2\ +gT[\xf4*Pi\x15\xc2\xf2\xd3\xc9\xfb\x93\xaa-\ +B^\x00V\x8d\xb0\xb4a]\xe1\x97\xfdx\xb2_\x04\ +*\xadAX\xda\xb0\x90\x0b\xa4\x0f\xab\xb6h\x9e#,mX\xc8\xf2\xb9\ +@\xa6f\x8b.\x03*\x9dDX\xda\xb0f\x03\xd3e\ +\xa5j\xb6\xa8,P\xe8k\x84\xa5\x0d\x0bz\x81\xc0\x1e\ +\xcd\x16\x15\x01\x0a}\x97\xb0\xb4aA\xaf<\xd9\xa8\xd8\ +\xa1_\x91B\x17\x10\x966,\xe8%M\xdf)v\xe8\ +\x10R\xe8R\xc2\xd2\x86\xb5\x03\x99\xaf%\x8a\x1d\xda\x86\ +\x14\xba\x81\xb0\xb4aA/\xd5\x9a\xab\xd8\xa15H\xa1\ +\xfb\x08K\x1bV\x109'\x9e\xac\xd8\xa1\xcf\x10X\xe9\ +\x84\xa5\x0d\x0bz\xf7\x91\xe6\x83\x853\x80:Ke\x13\ +\x96:\xacF>Y\x9b\x8c\xdc\x22\xa8IX\xfa\xb0n\ +\x04&\xac\xa3b\x87\x90\x05\xa4\xcd\x08K\x1fVo`\ +\xc2\xaeR\xecP\x1f\xb9\xff\x00\x84%\x91x\xb1\xfd\xcc\ +\xdc\xcd\x0d@\x9dw\x10\x96>\xac\xd1\xc0\x84Ed\xe8\ +u\x08\xd9d\x22\x9e\xb0\xf4a%!?\xe3\x15\xdf6\ +\x1e\x0d\x94\xf9\xc5\x02^T5\x81\xb0\xc0\ +@+\xe9\xac~\x1eV\xf6/K\xfa\x14\x0b\xb8\xc7\xfd\ +\x02a\x81Y\x0bM_\xf1\xa3\xdeU6\x00\xaa\xecC\ +;C$\x87\xfd\xe7G\x11\x16\x98`5h\xfe&y\ +V\xd8q\xe8\xec\xafx\x9a\x9d1\xbe2\xf6\x12\x9e\xff\ +ae\x0f\x84`U\xf7l\xd7\x99\xa9P]\xddl\x8d\ +\xf1\xcf\xb0\xff\xfe\xa3\x84\x85\xe6ch\x02\xadw\xbc\xfa\ +\xb9\xfa\x07\xa8\xac7m\x0d\xb2*\xec\xbf\x7f7a\xa1\ +I+\x06\xcd`\x03\x8f\x9e\xa9\x80\xb6\xc2\xb1\x22\x0e\xd9\ +\x1a$\xfc\xfd}\xbb\x12\x16\x9cN\xd8G\x967w\xcd\ +2\x1b@E\xb5\xb67\xcaF\xe9\x01\x0a5\xac71\ +X\xb5N{Q\xd4\xdbXQ\xe3\xed\x8d\xf2S\xd8\x03\ +\xd4#,8)\x17a\x93\xe8\xc5K1OU\xc7j\ +\xdal\xf3\xd0\x8d\xdf\x13\xc5\xcf\xb0\xb2\xbb`\x93X\xd6\ +\x83\xd7\x9f\x8c\xc6Jje\xf7\x0b7\xec\x9d!\x22\xb3\ +\x08K\xf8<\xd9\xb2\xe2\xc4+\xda\x82\xfd\xa0\xb0\xa6\xdb\ +\x1d\xa8t\xd8C\xa4\x10\x16~)\xb28(Kz\x9d\ +nV[\xac\x9e\x8bS\xed\x8e\x14\xfe7\xeeV\xc2\xc2\ +\x13\x07\xc2\x8a\xde%[\xcf\xf3`=\xfdm\x8f\x14\xfe\ +SJ_\x11\x16\x9e\xcf\xc0\x89\xb4Z\x88\xfe2\x5cV\ +\x04,\xc7\xfe\xa4\x87\xbf\x94\xf0m\xc2\xb2\xf1\xd5S\x03\ +\x95u\xbf`5\xbb\xab\x80\xc5\xd4\xb1\xbfJ\xac\xab\xa1\ +k\x1c\x0b\x08,\xf4G\xd8\xff\xe69\xb1Z\x8e]\x89\ +\xd62\xd6\xfe`w\x85=\xc8\x1d\x84e#{\xd1/\ +\x1f+0]\xa8\x94\xb4k\xd1RJ9\xf8\xc1\xf6\xb0\ +\xb1\x0f\x92\x14\x0cX\xd9\xdd\xe0\x8f\xac\xc04\x91BR\ +\xdb\xc2\x95\x0cw0\xdc\xa4\xb0G)\x9aNX6\x92\ +l\xe1\x19+P\xc7\xd1\xe6p\x19Q{\x1d\x8c7/\ +\xfcqV\x13\x96\x9d4\xb5!\xeb\x8e_\xdd\xaebs\ +}\xbc\x0aG\xbf#\x80\x87\x94&\x13\x96\x9d\xcc\xb6\x01\ +\xcbj\xbd\xcf\xdd\x22\xe6\x97\xc4k\x88\xd8\xe2\xe8\xe42\ +\xfc\x81\xba\x10\x96\x9d\x80\xeb\xea~\xbbR:\xd7\xc5\x12\ +N\x0c\x08\xd8(\xe1VGcf\x16\x0d\xff7\xc2)\ +\xc2\xb2\x93\x17-[\xe9{\xc8\xad\x02\xbe\xaaeg\xfc\ +\xc8\xf5\xceF\x05\xfe?\xcd%,;9Y\xd9\x9e\xac\ +2/\xb9\xb2\x0a~w\xef\x80\xad\xe1\x07:\x1c\x17\xb8\ +\xb8\xd1\x81\xb0le\xaae3\xf5\xdfs\xbc\xa4\xe4\xc8\ +S%\xec\x8d]\xda\xe9\x07&\xf2:\xa1e\x84e'\ +\xe95,\xdb\xb4f:\xbaw\xb8\x7fxI\xbb#\x8f\ +sz\xd4c\x80\xc1\x9a\xfcJXv\xf2\x96e?\x95\ +\x12\xb6\xdb\x1c5kI\x5cQ\xdb\xc3\xd6t|B\x0d\ +=\xa3\xd4%\x93\xb0\xec\xfcB\xba\xc2\x81,+\xe2\xfa\ +W\xf0]\x95\x83+\x1f\xab\xe1dP\xe7\xfb\xec\xed\x80\ +\xc6\xeb\xfe3a\xd9\xc8\xe7\x96\xb3D\xb6\x1d\xbd\x1c\xf8\ +?}l\xc1\xa0\x1a\xce\x06\xbc\xc9\xf9\xe67\xc1\xd2\xd0\ +\x88\xb5?!,\x1b\xe9i9N\xd9N\xcf.:\x18\ +\xfa\xc3q\xfd[\x83\x9aF:\x1d\xab\xccn\x17\x8e\xb9\ +58h\xdb\xf9\xa7\x08\x0b\xcd\xce\x12\x96+)\xdf\xe6\ +\xde?\xcf\xf9\xfa\xa7\x5cn\xdb\x1e\xdd\xf0\xe9\x1bO\xf4\ +l\x10\xe5\xca0o\xb9q\xcc\x03q\xcf}^^\x9d\ +\xf3\xd02R\x0el\xdf\xb0z\xe9\x92\xf7\xff\x9a4m\ +\x5cb\xc2\x90\x01\xbd\xe3b\x7f\x22\xac\xfff\xb4\xe5j\ +J]\xd6\xf0\xda\xd8\x1eqqw\xc6\xc5\xc5\xdd\x1c\xdb\ +\xacn\xa5(7\xff\xba;\xf7X\xa6\xd9\x1a;P\xa5\ +e\xb7\xb8?\x0d\xb87\xae{l\x9b\x98z\xb5\xca\x97\ +\xcd\xf5_}KX\xbf]rh`\xf9&\xd1\xee<\ +\x85\xb6B\xb0\xc4\xc5\x84\xf5[V\x17\xf5\x0d\xac\xf7\xdc\ +9\xe2\x8c2r%\xce!\xac\xb3\x19\xe5\x17W\x0f\xba\ +u\xc4\x9d\xe5jL\x22\xac\xdf\xff\x03\xb7\xf0\x87\xab6\ +\xae='4Q\xae\xc8\x09\x84\xf5{6\x95\xf4\x83\xab\ +\xcb\x5c[T\x91\xbdF\xae\xca\xa7\x09\xeb\x9c,\x0c\x98\ +\xef\xaa\x98\x8bo\xf5\xc9*/Vf\xaf\x08+\x97\xbc\x86l\xe3\xd0u\x15\ +\x1b\x96\x9b+\xc2\xca\x99\xack\xc2>m\xef\xf7#\xdb\ +\x95\xbb+\xc2\xca%\xeb\x8a\x84\xb74y\xd8~\xf6*\ +/W\x84\x95[\x86\x86\xc1\xaar\x22\xf7_\xcb\xc7\x15\ +a\xe5\x96\xd4KC\xae\x1d\x9d\xc2\xeb\xed\xf9\xba\x22\xac\ +\x5c3+\x7fV133\xd9\xa3\xfc]\x11V\xeei\ +\xcf\xeb\x0b\xce\x5c\x11V\xee\xd9\x12\xc5\xeb\x0b\x8e\x5c\x11\ +V\x1ey\x82\xd7\x17\x1c\xb9\x22\xac<\x92V\x93\xd7\x17\ +B\xe7\xfb\xbc\xb7\xaccs\xf2\xc8B^_\x08\xed*\ +\x9f\xbb_\xecN^\xe9z\xc1\xf5\x85t\xb6\x04pE\ +Xyf\xd7\xc5\xbc\xbe`\xdf\x15a\xe5\x9d\xd1\xbc\xbe\ +`\xdf\x15a\xe5\x9d\xd3\xf5\xffs}a5[\x81\xbb\ +\x22\xac|\xb2\x84\xd7\x17l\xbb\x22\xac\xfc2h\xe4\x11\ +6\xc1\x9e+\xc2bD\x5c\x11\x16#\xe2\x8a\xb0\x18\x11\ +W\x84\xc5\xa0Y\x17\xd6\xd3&\xec\x13#\xe1\x8a\xb0\x18\ +\x11W\x84\xc5\x88\xb8\x22,F\xc4\x15a1\x22\xae\x08\ +\x8b\x09??T\xb6\x08\x8bQuEX\x8c\x88+\xc2\ +bD\x5c\x11\x16#\xe2\x8a\xb0\x18\x11W\x84\xc5\x84\x93\ +M\xa8+\xc2bD\x5c\x11\x16#\xe2\x8a\xb0\x18\x11W\ +\x84\xc5\x88\xb8\x22,F\xc4\x15a1\x22\xae\x08\x8b\x11\ +qEXL\xbe\xae\xaaX\x84\xc5\x18\xe4\x8a\xb0\x18\x11\ +W\x84\xc5\x88\xb8\x22,F\xc4\x15a1\x22\xae\x08\x8b\ +\x11qEXL\xae\xd9\xec\xd0\x15a1\x22\xae\x08\x8b\ +\x11qEX\x8c\x88+\xc2bD\x5c\x11\x16#\xe2\xea\ +\xdfK\xb1\x10m(`\xee\x87\x00\x00\x00\x00IEN\ +D\xaeB`\x82\ +\x00\x00\x01\xdc\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00O\x00\x00\x00O\x04\x03\x00\x00\x00X\x1a\x85\xb5\ +\x00\x00\x000PLTE\x00\x00\x00\xff\xff\xffA\xcd\ +RP\xcaNA\xcdRA\xcdRF\xccPH\xcbP\ +B\xccQI\xcbPE\xccQJ\xcbOE\xccQD\ +\xccQC\xccQA\xcdR\x000]\xbe\x00\x00\x00\x0f\ +tRNS\x00\x00\x186Oc\x9d\xab\xae\xb8\xc9\xcd\ +\xd6\xe9\xf0\xbb\x00_o\x00\x00\x01LIDATH\ +\xc7\xc5\xd6\xbdM\xc4@\x10\x86\xe1+\x01:\x98\x80\x8c\ +\x0aH\x11\xf9\x227@\x09HT\x80\xdc\x05\x11\x92K\ +\xa1\x01$\xebJ\xa0\x00\x12K\xd6\xc9\xd6\x10\x9c\x7f\xd6\ +\xbb\xb3;o\xc6\xc4\x8f>\xe9\xee\xbe\x9d\x9b\xd3)\x9b\ +\xd0\x9f\xd8\x84\xf9\x11B\x1d\x04Bm(d\x91Aa\ +dP\xd5Q \xd4\x96B\x12\x19\x14F^\xe1E \ +\xd4\x8eB?r\x81\xfaE\xe1,\x10jO\xa1W\xb7\ +\x0dz\xdd\xd8\xa1\xd3\x8d\x08\xd6##X\x8f\x8ca\xd4\ +\x8d\xbb\xa7t^\x22\x18u\xe3U\xab\xb3G~\xd6\xe1\ +\x1e\xe9\xc1\xad\x1b\x1e\xdc\xea\xe6\xc25\xd2\x85k\xdd|\ +\xb8\xd4\xcd\x87K\xdd\x00\xbcF\x02\xa8?\x02\xa16\x14\ +\x0e\x02\xa16\x14\x8e\x02\xa1\xbeS\xf8\xfb\x7f\xf0\x19\xc2\ +3\xfc\xd43\xfd\xc2{\xf8\x13N\xb4\x14\x1d\xac\xd9\x85\ +\xf6\xb1\x83\x0d\x1f\xe9\x9bi\xe1+\x1c\xe9\xbbn\xe1\xa6\ +\x18\xe8\xee\xd9v\xee\xc3G:\xdff\xa0\xb3\x9a\xabK\ +<\x1c\xeb\xb5\xcem:7!\xdbO>\x8c\xff\x0dk\ +p\x12\x08\x0fG@\x05\x1eo\x80\x0a<^\x15e\x98\ +\x9c>e\x98\x5c>E\x98\xdeRE\x98\x9eR%\x98\ +\xb5\xa1\x04\xb36\x14`^\xaf\x02\xcc\xebe\xc3\xb30\ +h][&\xb4\x8e-\x0bN\x02\xa1yc\x1a\xd0>\ +1sx\xfff\xb9?\x9e\xd1\xe7wR\xc2\xd3\xb8\x00\ +\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x13H\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x01\x90\x00\x00\x01\x1e\x08\x03\x00\x00\x00\x93\xdb\xb3V\ +\x00\x00\x00\x09pHYs\x00\x00\x1a]\x00\x00\x1a]\ +\x01\x87\x7f\xcb\xb2\x00\x00\x00\x19tEXtSof\ +tware\x00www.inksca\ +pe.org\x9b\xee<\x1a\x00\x00\x02\xfdPL\ +TE\x00\x00\x00\x00\xff\xff\x00\xff\x80U\xff\xaa@\xbf\ +\x803\xcc\x99+\xd5\x80$\xdb\x92 \xdf\x809\xe3\x8e\ +3\xe6\x80.\xe8\x8b+\xd5\x80'\xd8\x89$\xdb\x803\ +\xdd\x880\xdf\x80-\xe1\x87+\xe3\x80(\xe4\x86&\xd9\ +\x801\xdb\x86.\xdc\x80,\xde\x85+\xdf\x8a)\xe0\x85\ +'\xe2\x89/\xe3\x84.\xdb\x89,\xdc\x84+\xdd\x88)\ +\xde\x840\xdf\x87.\xe0\x83-\xe1\x87,\xdb\x83+\xdc\ +\x87)\xdd\x83/\xdd\x86.\xde\x83-\xdf\x86,\xe0\x83\ ++\xe1\x86*\xdb\x82.\xdc\x85-\xdd\x82,\xde\x85+\ +\xde\x88+\xdf\x85*\xe0\x87.\xe0\x85-\xdc\x87,\xdd\ +\x84+\xdd\x87+\xde\x84*\xdf\x86.\xdf\x84-\xe0\x86\ +,\xdc\x84+\xdc\x86+\xdd\x84.\xde\x86-\xde\x84-\ +\xdf\x86,\xdf\x83+\xe0\x85+\xdc\x83.\xdd\x85-\xdd\ +\x83,\xde\x85,\xde\x87+\xdf\x85+\xdf\x87-\xe0\x85\ +-\xdd\x86,\xdd\x85,\xdd\x86+\xde\x84+\xde\x86-\ +\xdf\x84-\xdf\x86,\xe0\x84,\xdd\x86+\xdd\x84+\xde\ +\x86-\xde\x84,\xde\x85,\xdf\x84+\xdf\x85+\xdd\x84\ +-\xdd\x85-\xdd\x84,\xde\x85,\xde\x86+\xde\x85+\ +\xdf\x86-\xdd\x86,\xdd\x85,\xde\x86+\xde\x85+\xde\ +\x86-\xdf\x85-\xdf\x86,\xdf\x84,\xdd\x86+\xdd\x84\ ++\xde\x85-\xde\x84,\xde\x85,\xdf\x84,\xdf\x85+\ +\xdf\x84+\xdd\x85-\xdd\x84,\xde\x85,\xde\x84,\xde\ +\x85+\xdf\x86-\xdf\x85-\xdd\x86,\xdd\x85,\xde\x86\ +,\xde\x85+\xde\x86-\xde\x85-\xdf\x86,\xdf\x85,\ +\xdd\x85+\xdd\x84+\xde\x85-\xde\x84,\xde\x85,\xde\ +\x84,\xdf\x85+\xdf\x84+\xdd\x85-\xdd\x84,\xde\x85\ +,\xde\x84,\xde\x85+\xde\x86+\xdf\x85-\xdd\x86,\ +\xdd\x85,\xde\x86,\xde\x85+\xde\x86-\xde\x85,\xde\ +\x85,\xdf\x85,\xdd\x85,\xdd\x85+\xde\x85-\xde\x84\ +,\xde\x85,\xde\x84,\xdf\x85,\xdf\x84+\xdd\x85-\ +\xde\x84,\xde\x85,\xde\x84,\xde\x85,\xde\x86+\xdf\ +\x85-\xdf\x86,\xdd\x85,\xde\x86,\xde\x85,\xde\x86\ +-\xde\x85,\xde\x85,\xdf\x85,\xdd\x85,\xdd\x85+\ +\xde\x85-\xde\x85,\xde\x85,\xde\x84,\xde\x85,\xdf\ +\x84+\xdd\x85-\xde\x84,\xde\x85,\xde\x84,\xde\x85\ +,\xde\x86+\xde\x85-\xdf\x86,\xdd\x85,\xde\x86,\ +\xde\x85,\xde\x85+\xde\x85,\xde\x85,\xde\x85,\xdf\ +\x85,\xde\x85,\xde\x85-\xde\x85,\xde\x85,\xde\x85\ +,\xde\x85,\xdf\x85,\xdd\x85-\xde\x84,\xde\x85,\ +\xde\x84,\xde\x85,\xde\x86,\xde\x85-\xdf\x86,\xdd\ +\x85,\xde\x85,\xde\x85,\xde\x85+\xde\x85,\xde\x85\ +,\xde\x85,\xdf\x85,\xde\x85,\xde\x85+\xde\x85,\ +\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xdd\x85-\xde\ +\x85,\xde\x85,\xde\x84,\xde\x85,\xde\x86,\xde\x85\ +,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\ +\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\ +\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85\ +,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85\xbf\ +\x5c\xdf:\x00\x00\x00\xfetRNS\x00\x01\x02\x03\x04\ +\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\ +\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\x22#$\ +%&'()*+,-./01234\ +56789:;<=>?@ABCD\ +EFGHIJKLMNOPQRST\ +UVWXYZ[\x5c]^_abcde\ +fghijklmnopqrstu\ +vwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\ +\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\ +\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\ +\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\ +\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\ +\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\ +\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\ +\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\ +\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfeV\xf3|\x8f\x00\x00\x0e\ +\xc2IDATx\xda\xed\xddy|NW\x1a\x07\xf0\ +\x9b}A\x88\x18\xc5\x08\x95\xc6\xbe7(e*\x94Z\ +\x83\xb6t\xaa\x22cmP\x8dA\xd1N-E\x8d)\ +UK-U\xc5\xd8F\xa2C\xec%j,\xa1*v\ +\xad6\xda\xd4:\x12%!MR\x917y\xcfg\x92\ +\x98\x96\x90<\xe7\xde{\xce\xbd\xce\xb9\xf7\xf9\xfd\x9d\xf7\ +<\xf7\x9co\xde\xf7n\xe7\x9e\xab(\x1a\xe2\xfb%\xc1\ +\x18\x1c\xf4\x90\x17\xc4w\x0f\x0e\x97H \xe8!\x16\x08\ +z\x88\x05\x82\x1eb\x81\xa0\x87X \xe8!\x16\x08z\ +\x88\x05\xe2\x83\x1eB\x81\xf8\xc4\xe10\x89\x04\x82\x1eb\ +\x81\xa0\x87X \xe8!\x16\x08z\x88\x05\x82\x1eb\x81\ +\xa0\x87X \xe8!\x16\x08z\x88\x05\x82\x1eb\x81x\ +m\xc3\xc1\x11\x09\x04=\xc4\x02A\x0f\xb1@\xd0C,\ +\x10\xf4\x10\x0b\x04=\xc4\x02A\x0f\xb1@\xd0C,\x10\ +\xf4\x10\x0b\xc4k+\x8e\x89H \xe8!\x16\x08z\x88\ +\x05\xe2\x89\x1eB\x81\xa0\x87X \xe8!\x16\x08z\x88\ +\x05\x82\x1eb\x81\xa0\x87X \xe8!\x16\x08z\x88\x05\ +\x82\x1eb\x81xn\xc1q\x10\x09\x04=\xc4\x02\xf1\xda\ +!\xdcF\xa5\xa7\x15&\xdb\x96 ^\xdb\x85\xd8\x8e\xbc\ +\x0b\xbbWL\x1f\xf9\xf2sM\x82\xfc]\x1f\x98\xacW\ +\xa9V\xb3N\x11\xe3\xe7F\x1fM\xb3\x0d\xc8\xe3\xf7\xb8\ +\x14;\xb9W]/\xda\x83*\x01-\x07\xce?\xf8\x8b\ +\x0d@\x1e\xef\xf7\xe2\xe4\xdc^\x154,\xb7\xe2Zo\ +\xd8\xbf\xae!\x88Q{\x8a\x98~\xe5\x15\x1d\xa9?\xe1\ +p\x1e\x82\xf0\xce\x9d\xf5]=\x15\xdd\xa9\xf8F\x02\x82\ +\xf0\xcc\xe9\xc8r\x0ac\xea\xcf\xbe\x85 |\xe2\x8c\x0b\ +sQ8\xa4\xf4\xd0s\x08\xc2!\xb1\x0d\x14^q\xed\ +\x9f\x84 \x8c\xd9\xd7R\xe1\x19\x8f\xc8\x14\x04aHJ\ +\x84\x8b\xc29\xe5\xe6\xe5\x22\x88\xde\x9d\xc7\x92r\x8a\x01\ +iq\x16At\xe5F\x0f\xc5\x98x\xcfs\x22\x88\xf6\ +\xec\xad\xa2\x18\x96\xb0[\x08\xa25\x8b\xdc\x15\x03S\xfb\ +\xbc\xae\x8d:\xe2_r&Y\x1a\xc41B16\xe5\ +u-\xf2\x1c\x0f\xb4\xf8\x96\x95A\x1c\xfd\x14\xa3\xe3\xb9\ +\x09AT\xe7\xee\x8b\x8a\xf1\xf1\xd8\x80 *\x93\xdbC\ +1#\xee[\x10D]F(\xe6\xc4'\x1eA\xd4d\ +\xaabV*\x9cG\x10z\xb6\xb9\x98\x06\xa24\xc8B\ +\x10Z.\x05(&\xe65\x04\xa1$\xa7\x85bjV\ + \x08\x9c\xf7\xcc\xf5P\xca^F\x10(gt\xde8\ +/S\xde\xdfK\xdf'\xbb\x22\x08t\x06\x12\xa2\xed\xde\ +F\xcb\xf0)k\x8e$\xa5f\xde\xfbtZrb\xdc\ +\xe21=\xebk\xbb\x0a\xb6\x06AJ\xceb\xf5\xe3X\ +\xaa\xc3\xcc\xf8\x9c\xe2[\xc9\x8c\x1b\xdf\xc6CuC\x95\ +\xd2\x11\xa4\xa4\xa4\xa9\x9d\x04Wv\xe0^\x07\xdcT\xea\ +\xb2PW\x95\x8d\xbd\x8d %%J\xdd\x08\x06\x7f\x9c\ +\xa1\xa6\xb5\xc4a\xbe\xea\xeeW]@\x90\x12NAT\ +\xed\x97\xab/W}S\xfc\xda\x08U\xc7\x08\x83\x10\xa4\ +\xf8\x0cVs\x8d6*SK\x93\xe7\x9fW\xd1\xa6[\ +\x22\x82\x14\x97\x1fU\xec\x88\xeb\x9e\xd6\xd8\xa8s\x8e\x8a\ +/I\x04\x82\x14\x97H\xfa\xc8\xf5\xcd\xd4\xde\xecQ\xfa\ +\xbdy\x8f\xcb\x08\xf2hn\xf8P\x07\xee\x1d]\xb3E\ +.\xd3\xa7>\x8eE\x10=\x17M\xa6\xe9l\xf9\xd6\xd3\ +\xb4\x96\xfdn#\xc8\xc3\xb9[\x896j\x13u\xb7\xfd\ +sMZ\xdb\xf3\x11\xe4\xe1l\xa0\x8dY\x1f\x86\xd9m\ +\xdf\xfbS\x1ao\x88 \x0f\xa73\xed^\xd2\xaf,\xad\ +o\xa6\xdd\xf5J@\x90\xa2\xb9H\xb9\xd0\xe1\xcd8!\ +w\x18\x05$\x12A\x8af\xbaA;\xf4\xdf\x92Q\x95\ +2q.\x07A\x8a\xa4!e\xea'\xf3\xa2\x00\xb4}\ +\xd4v\x04y0\xdfQ\x86+\x9a\xbdD3\xb8\xc2_\ +\x10\xe4\xc1L\xa6\x5c1\xe1\xf0\x5c\xf3\xbf)W\xf4\xb3\ +\x11D\xfd/\xd6Z\x0e%\x9c\x94\x13\xf68\x04y\xe0\ +\xea\x06|T\x1a\xec\xe0Qd\x0d\x0c2\x0aA\xee\x87\ +r\xebv!\x97\x22\x8e\xca`\x91\x9a\x08r?a\xf0\ +9\x08\xa7\xa5}\xc6\xc0\xec\xe7\x11\xe4\xf7\xff\xdd2\xe0\ +H\xfd\x99S\x99\xb30\xc8b\x04\xf9-\x87\xe1\x91\xe2\ +\xb6bZcVw\xbb\x80\xcc\x00\x07\xea\x09\x07\xaf:\ +\xb3\xc1:\x15\x9d\x08\xf2\xfft\x02\x07j8\xbf\x0bf\ +\xf07\xf1\xd1\xa5P\x16\x0d-\x1a\xe8I\xa2\xc6C\xe9\ +q\xc8\x01\x92\x0b\xefB8\xae\xb9Y\x07,\xf4\xe9#\ +\x7f\xdf\x8b\xf3L\xe2l9@N\xc3Ogf\xf0\xab\ +\xf4&Xi(\x82\xdc\xcb\xa7`':p\xac\xb4\x0d\ +\xac\xd4\x04A\xeee\x08\xd8\x89Y\x1c+e\x82S\xf1\ +\xdc2\x11\xa40M\xc0N\x9c\xe6Y*\x14,u\x08\ +A\x0a\x92\x03Ne+\xcdu5\xa5\xf1\xe0x-A\ +\x90\x82\x9c\x01\xfb\xd0\x96k-\xf86\xd5\x08\x04)\xc8\ +Z\xb0\x0f|\xcf\xb7.\x80\xb5\x9eC\x90\x82L\x00\xfb\ +\x10\xc3\xb7\xd8\x1f\xa0Z\xfe\x08R\x90\x9e`\x1f~\xe2\ +[\x0c\x9emt\x1dA\xf2\xd3\x08\xeaB\x00\xe7b\x7f\ +\x03\x07\xec\x08\x82\xe4\x07\xbcp\xd2\x9as\xb1\xd5\xe0\x80\ +\xadG\x10Bn\x82]\x18\xc0\xb9\xda\x11\xb0\xdaL\x04\ +!$\x01\xec\xc2\x0c\xce\xd5\xd24\xcd_\xb4%H\x0c\ +\xd8\x85\xcfy\x97\x03_\xb0\xd0\x09A\x08\xf9\x00\xec\xc2\ +\x19\xde\xe5\x9e\x81\xaa\xd5B\x10\xca4h\x97_y\x97\ +\x0b\x87\xcay\xe5!\x08\xe9\x02\xf5\xa0\x0a\xf7r\xf0\x1c\ +\xc9\xab\x08B\xeaB=\x08\xe1^n\x098b\xf1\x08\ +B\xfc\xa0\x1et\xe7^.V\xcb1\x84\x1dAr\xc0\ +Y\xa4C\xb8w\x00>\x11\xf9\x04AR\xc0\x1e\xf0_\ +\xbf\x1b\x9ey\xf2w\x049\xc7:\x9bPc\xb2\xc1o\ +\xe48\x04\x89\x07{\xb0\x91\x7f\x0f\xc03\xc3\xc1E\xff\ +\xf6PL\xd1L\x03>\xda#\x86\x9e<\x09@\xb6\x80\ + \x87\xf9\xf7\xa0\x1eT\xef%\xfd\xff=V\x99\xb9\xb8\ +\x02\x04\xf9\x96\x7f\x0fZA\xf5B\x11\x04\x9eo{\x85\ +\x7f\x0f\xc0y\xab\x8d\x10\x04\xbec\x94\xce\xbf\x07\xbd\xa1\ +zU\x11\x04\xbe\x94e\xc0^p T\xd0\x17A^\ +\x85\xc6\xa7\x8c\x01=\x18\xc5p`j\x07\x10p\x8a\xc3\ +\x1f\x0d\xe8\xc1D\x10\xe4\x17\xdb\x83t\x85\x86\xa7\xae\x01\ +=\x80\xef\xbf\xdc\xb4=HGhx\x9a\x19\xd0\x03\xf8\ +r\xef5\xdb\x83\xb4\x85\x86\xa7\x95\x01=\xf8\x0c\x04\xb9\ +d{\x10\xf0<\xedO\x06\xf4\xe0\x9f \xc8\x0f\xb6\x07\ +\x01\xd7\x84io@\x0f\xd62\x5c\x1a\xb0\x03\x088o\ +\xf1\x05\x03z\x10\x0d\x82\x9c\xb4=\x08\xf8\x1cfW\x03\ +z\x00\xaf\x0at\xd4\xf6 OA\xc3\xd3\xc3\x80\x1el\ +\xd1rS\xdd\x86 \x81\xd0\xf0\xbcl@\x0fv\x80 \ +{m\x0f\x02.\xd7\xfb\x8a\x01=\x88\x03A\xbe\xb0=\ +\x08\xb8fR\x1f\x03z\xb0\x07\x04\xd9e{\x90j\x0c\ +7\xf0te'\x08\xf2\xa5\xedA\x82\xcd\xde\xa9o\x05\ +A\xf6\xd9\x1e\xa4\xae\xd9\x87\xbd\x1b\xf1(\x0bLc\xb3\ +O\x0c\xe1\xc7\x1f\xbe\xc2K'f_:Y\x07\x82$\ +\xd8\x1e\xe4YM\x0f\x8es\xc8*\xbct\x02&\xd4\xec\ +\xcb\xef\xf0\xbc\xa3\xb3\xb6\x07y\x01\x1a\x9e\xa7\x0d\xe8\xc1\ +R\x86\xc7\xe2\xed\x00\xd2\x0d\x1a\x9e\x9a\x06\xf4`\x0e\x08\ +\xf2\xb3\xedA\xc0\xf9\xcc\x95\x0c\xe8\xc1{ H\x96\xed\ +A^c\x98&\xa5+c\x19&\x82\xd9\x01\xe4\x0dp\ +|r\xf9\xf7`(T\xb0\x14\xb1=\xc8$\xf0\x17\xe4\ +\x16\xff\x1e\xf4\x85\xeaUD\x90\x8f\x18&\x81\xe8\x0a\xb8\ +\xce|\x10\x82\xc0\x93@\xbe\xe1\xdf\x03p\xdeQs\x04\ +\x81/\xbe\x1e\xe0\xdf\x83\xa6Z\xd6\xd6\xb0!\xc8!\x10\ +$\x86\x7f\x0f\xc0;b\xe1\x08\x02\xbf\x0el\x1e\xf7\x0e\ +\xe4\xb9C\xf5\xa2\x10\xe4:\x08\xf2\x0e\xf7\x0e\xc0\x8fa\ +OE\x10\x07\xf8\x98\xf2@\xee\x1d8\x05\x82,D\x10\ +xi\x8d.\xdc\xcb\xedb\xd9g\xd9\x02\x04|L\xb9\ +)\xf7r+\x19n\x18\xda\x03\xa4\x1b\xc3\x99\xb3\x8e\xfc\ +\x03\x04\xb9\x8c d\x84\xb9\xd7N^\x87\xaa\xb99\x10\ +\x84\xccb\xb8\xc7\xad#\xcfC\xd5\x02\x09\x82P\xd6\xc7\ +_\xc7\xbb\x5c5\x96[\xc6\xb6\x009\x06\x82L\xe1\x5c\ +\xed\x8e+\xcb\xd4U[\x80\xc0\x0b)\xf7\xe3\x5c\xed[\ +\xa6\xf3P{\xbc6\xcf\x8f\xe1\xf2\xab\xe6l\x06AV\ +\x22\x08\xa1<\xd4\xe6\xcb\xf9\xd5\x7f3YNCl\x02\ +\x02/\xdbv\x8ao1p\xe9\x19%\x0dA\x08m=\ +\xa0e|\x8bUg:\x0d\xb5\x07\xc8z\x10\xe4u\xae\ +\xb5n(L\x8f\xc5\xdb\x03\x04>\xf0\xe1\xbb\x942\xfc\ +\x80\xe1H\x04)\x88\x03|\xdb\xa3\xe7\x1d\x9e\xb5\xa6\x81\ + \xcb\x11\xa40\xcd\xc1Q\xda\xcd\xb3Tg\xb6\x03\x08\ +\x9b\x80\xc0\x97\x17\xc7\xf0Xh=\x13\xc8H\xeb\ +\x80P^-\xc9\xef\xc9O\xf8\xc5\xab.\xc9L \x91\ +\x16\x02\x81\xe7\xf7\xbaq[My*X\xa7\x0e\xbd\x81\ +\xc3\xc0\xc7\x07Y\x08\xe4\x04\xbc\x13y\x9f\xd7O#\xb8\ +\xf2\x902\x8c\xde\x02\xf4\x8a\xbf\x08\x0b\x81\xe4\x05\x80#\ +U\xd3\xc9\xa7\xcc~\x85q\x17\x02N\xea\xeak!\x10\ +\xf81*E9\xc8\xa7\xca\x00\xb0\x88{*\xbd\x85o\ +\x80\xcf\xf7\xb6\x12\x08\xbc\x0e\x22\xa77Q]/\x05\x16\ +i\xa7\xa2\x89D\x93\x97\x01yl i\xee\xb0\xc8\xd7\ +<\x8a\xbc\x05\xd7\x98\xab\xa2\x89$\xe0\xf3\xcfX\x09\x84\ +<\x07\x0fVW\xe3\xbf \xaa^\xdc~\x05\xf8|\xb0\ +\xa5@\x16\xc0\x83\xf5\xc8\x8b\xce\xf9\x7fA\x1a\xa9i\xe3\ +6\xd0\x80\xbf\xa5@R\xdc\xe0\xe1j\xc1\xfc8n\x92\ +/\x5ca\x96\xaa\xc3A`\x12\x91k\xae\x95@\xe0\x09\ +\x85\xf9\xf9\x88\xf5\x1c\x84R\xc0#EU3\xfe@\x13\ +7,\x05\xb2\x9c\x02\xe2}\x82\xad\xfd\x0f)\xed\xf7R\ +\xd7L\x0d\xa0\x89\xe3\x96\x02\xc9\xf4\xa3\x8cX0\xd3?\ +\xe0A\x0fJ\xf3[\xd4\xb5\x03=1\xba\xc6R $\ +\x922bJ+\x867y\x9f+Oin\xe3\xc7c{\x87\x04hkc\xa6\xa6\ +-\x5cIm\xaf\xc9\xc8\x95\xfb\xcf'\xa7\xa5&%\xe6\ +oPl\xcc\xb2Of\xbe?\xfe\xafC\xfb\xf7\xe9\xd2\ +\xa1y\x7f\xe9@\xaek\x1cL\x0ei\xa9\xed\xaa\xf9i\ +\x96Z\xb5\xa5\x03Q\xbb_\xe7\x97\xd2\xdfk<[b\ +\xf9\x97\xa9,\x1f\x08\xfc6o\xfeq\x89\xd6\xba\x81/\ +1T\xf3\x95\x10$\xb5\x86\xa9 \x135o\xe0\x02\x96\ +r9\xf2\x81\x90\x93\xbe&z\xf4\xd0|%\x06\x9c\x9a\ +E\xcdM\x09A\xc8j\xf3?~A^\x0f\x09AH\ +\x80\xffx\xf2iE\x15\xa8J\x8b\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00\x0b!\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\xc8\x00\x00\x00\x8f\x08\x03\x00\x00\x00\x88\xdbdx\ +\x00\x00\x00\x09pHYs\x00\x00\x0d.\x00\x00\x0d.\ +\x01\xb5\xcb\x89]\x00\x00\x00\x19tEXtSof\ +tware\x00www.inksca\ +pe.org\x9b\xee<\x1a\x00\x00\x02\xacPL\ +TE\x00\x00\x00\x00\xff\xff\x00\xff\x80U\xff\xaa@\xbf\ +\x803\xcc\x99+\xd5\x80$\xdb\x92 \xdf\x809\xe3\x8e\ +3\xe6\x80.\xe8\x8b+\xd5\x80'\xd8\x89$\xdb\x803\ +\xdd\x880\xdf\x80-\xe1\x87+\xe3\x80(\xe4\x86&\xd9\ +\x801\xdb\x86.\xdc\x80,\xde\x85+\xdf\x8a)\xe0\x85\ +'\xe2\x89/\xe3\x84,\xdc\x84+\xdd\x88)\xde\x84.\ +\xe0\x83-\xe1\x87,\xdb\x83+\xdc\x87)\xdd\x83/\xdd\ +\x86.\xde\x83-\xdf\x86,\xe0\x83+\xe1\x86*\xdb\x82\ +.\xdc\x85-\xdd\x82,\xde\x85+\xde\x88+\xdf\x85*\ +\xe0\x87.\xe0\x85-\xdc\x87,\xdd\x84+\xdd\x87+\xde\ +\x84*\xdf\x86.\xdf\x84-\xe0\x86,\xdc\x84+\xdc\x86\ ++\xdd\x84.\xde\x86-\xde\x84-\xdf\x86,\xdf\x83+\ +\xe0\x85+\xdc\x83-\xdd\x83,\xde\x85,\xde\x87+\xdf\ +\x87-\xe0\x85-\xdd\x86,\xdd\x86+\xde\x84+\xde\x86\ +-\xdf\x86,\xe0\x84,\xdd\x86-\xde\x84,\xdf\x84+\ +\xdf\x85+\xdd\x84-\xdd\x85-\xdd\x84,\xde\x85,\xde\ +\x86+\xde\x85+\xdf\x86-\xdf\x85-\xdd\x86,\xdd\x85\ ++\xde\x85+\xde\x86-\xdf\x85-\xdf\x86,\xdd\x86+\ +\xdd\x84+\xde\x85-\xde\x84,\xde\x85,\xdf\x84,\xdf\ +\x85+\xdf\x84+\xdd\x85-\xdd\x84,\xde\x85,\xde\x84\ +,\xde\x85+\xdf\x86-\xdf\x85-\xdd\x86,\xdd\x85,\ +\xde\x86,\xde\x85+\xde\x86-\xde\x85,\xdd\x85+\xdd\ +\x84+\xde\x85,\xde\x85,\xdf\x85+\xdf\x84+\xdd\x85\ +-\xdd\x84,\xde\x85,\xde\x84+\xde\x86+\xdf\x85,\ +\xdd\x85,\xde\x86,\xde\x85+\xde\x86,\xde\x85,\xdf\ +\x85,\xdd\x85,\xdd\x85+\xde\x85-\xde\x84,\xde\x85\ +,\xdf\x85,\xdf\x84+\xdd\x85-\xde\x84,\xde\x85,\ +\xde\x84,\xde\x85,\xde\x86+\xdf\x85,\xdd\x85,\xde\ +\x86,\xde\x85,\xde\x86-\xde\x85,\xde\x85,\xdf\x85\ +,\xdd\x85,\xdd\x85+\xde\x85-\xde\x85,\xde\x84,\ +\xde\x85,\xdf\x84+\xdd\x85-\xde\x84,\xde\x85,\xde\ +\x84,\xde\x86-\xdf\x86,\xdd\x85,\xde\x86,\xde\x85\ +,\xde\x85,\xde\x85,\xde\x85,\xdf\x85,\xde\x85,\ +\xde\x85-\xde\x85,\xde\x85,\xde\x85,\xdf\x85,\xdd\ +\x85-\xde\x84,\xde\x85,\xde\x84,\xde\x85,\xde\x85\ +,\xdd\x85,\xde\x85,\xde\x85,\xde\x85+\xde\x85,\ +\xde\x85,\xde\x85,\xdf\x85,\xde\x85,\xde\x85+\xde\ +\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xdd\x85\ +-\xde\x85,\xde\x85,\xde\x84,\xde\x86,\xde\x85,\ +\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\ +\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85\ +,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\ +\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85\x83p\ +\xec\x06\x00\x00\x00\xe3tRNS\x00\x01\x02\x03\x04\x05\ +\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\ +\x16\x17\x18\x19\x1a\x1b\x1d\x1e\x1f!\x22#$%&'\ +()*+,-./01234567\ +89:;<=>?@ABDEFHI\ +JLMNPQRUWXYZ[\x5c]^\ +_`abdefgijklmnop\ +qrstuvwxyz{|}\x80\x81\x82\ +\x84\x86\x87\x88\x89\x8a\x8b\x8d\x8e\x90\x91\x92\x93\x95\x96\x97\ +\x98\x99\x9a\x9b\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa7\xa8\xa9\ +\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xbb\ +\xbd\xbe\xbf\xc0\xc1\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcc\xcd\xce\ +\xcf\xd0\xd1\xd3\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\ +\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\ +\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe.\xcby\ +/\x00\x00\x07\x07IDATx\xda\xdd\xdc\xf9_\x94\ +E\x1c\x07\xf0\xd9\x85\xf5@E\x17\x0d\xf3B\x84\x0c\x8f\ +\x14\xb7,\x8d4O\x14+\x0c\x0f4M\xad\x14\xad\xc4\ +\xbc\x22q\xb3\x8c\xf2H\x10I3\xcb\x83\xd4\xb4C\xcd\ +\xf2\xca#\xb5T\xa4\xbc\xc8\xa3\x02\x95\x92c\xbf\xffH\ +?\xa8\xaf\xf8~\x9fk\xf6\xc1yf\xf6\x99\x1fe>\ +\xcf\xcc\xdb=\x9e9\x9eY\xc6\xf4JT\x09DZ\xd1\ +ux#\xcf\xa1\x0b\xf1\xae\x03W@\x22\xd2\x01nq\ +\x80[\x1c\xe0\x16\x07\xb8\xc5\x01nq\x80[\x1c\xe0\x16\ +\x07\xb8\xc5\xd1\x00\xe2Y\x0d\xae\x80D\xb8\x03\xdc\xe2\x00\ +\xb78\xc0-\x0ep\x8b\x03\x18c\xcc\xb3\x0a\x5c\x01q\ +\x85\x03\xdc\xe2\x00\xe6-z`\xd7\xba}G&\xa4\xd1\ +\x8ek;>\xc8y>\x90\xe0\x8fa\x8c\xb1X\x7f\xe2\ +\xc0\xacy+\xf6\xdet\x1e\xd2\xa8\xf4\xf5\xc2\x09I\xfa\ +\xebI}\xa6o\xae\x8e\x14\xc8\xad\xe2\x91>fRZ\ +f\x95\xd6E\x00\xa4\xaa\xa0\x03\xb3,]\x0b\xfeQ\x1c\ +R\xf7n\x1b\xc6U\xba|\xae4\xe4d\x7f\xc6]F\ +_V\x17R\xd8\x94\x85Q\x1e\xdag\xf2\x06\x0d6,\ +\xeb\x1d\x86\x04Yx\xa5\xe9g\x86\x97\xba\x80*>\xed\ +($4\x83\x85[\xbc\x85*B\x96\xb2\xf0K\xd4W\ +\xeaAvE\xd9\x800\xff\x19\xd5 \xbf\xc72[\xa5\ +w\x8db\x901\xfa\xfd\x8c{r\xfc\xdcE\xc1\xe0\xfc\ +\xd73S[\xea\xd7\x08\xaa\x05\xd9\xaa\xf7Q\x1e\xbe\xe2\ +T\xc3{\xe5\xe1`\xaaN\xad\x98\xf3*A\xeet\xd1\ +t\xd07\xf3\x9c\xb6\xde\xe1\x17\xb4\x92L\x95 \x85\x9a\ +\xee\x0d:\xad_\xf3\xbbn\x9a\x17\xee\xb4:\x90:\xcd\ +\x98}f\xadQ\xdd\x1b#h\xddI\xea@6\xd2\xbe\ +\xbde\xf66\xa4\x12\xdf\x05e CI\xd7\xc6\x87\xcc\ +j\xdf|\x8cT_\xa2\x0a\xe4\x12\xb9\x17v\xfa\xcb\xbc\ +\xfeq2\xefzD\x15H>\xf9\x1f.\xb5\x0a\xcc%\ +\x81\xc3\x8a@z\xe1n=\x1e\xb2\x0a\x5c\x8d\xc1\x897\ +\xd4\x80\x5c$\xff\xbf[\xad#\xb3p\xa2\x97\x1a\x90\xb5\ +\xb8W\xedk\xac#\xc7\x88\xfd\xa2\x12\x90,\xdc\xa97\ +y2\xe4\x8b\xabD\x09H<\xee\xd4\x01\x9eL\x1e\xce\ +d\xdf\xff\xf7\xaf\x03wKo\xbc\x80\x14\xa0e\xa5\x00\ +\xc8y2\xde\xe5Z\xb3:\x80C=\x0co\xad\x06e\ +\x91\x00\xc8\x16\xdc\xc4X\xbeAM\x1c\x9e)\xdeV\x00\ +\xb2\x107\xf1\x11_j\xa4\xfe\xfbQ&$\x1d7q\ +\x90/\xb5\x18\xa7V*\x00\xc1S\x11\x1f\xe7Zh)\ +\x19-\xcb\x87\xd4\xe0\x81Vw\xce\xd8\x19\xdc\xb1\x0c\xf9\ +\x90s\xfa=\xb2*\xb5>\xdd{\xbbD\xc87V\xc3\ +&\x83\x82\xe7b-\xe4C\x0am}i\x01\x0c\xc7\xb9\ +\xab\xd2!\xe4\x1e\xbd\x997\x97\x8ds'\xa4C\xc8@\ +\xf6G\xde\x5c.\xce\xed\x91\x0e\x99\x88[(\xe3\xcd-\ +\xc7\xb9-\xf7\xa6\xc1ew\xcb~\xf4\xc7@\x19-7\ +\x1e\xfa}\ +\x0aw\xa8\xd6\xe6\x10-(\x1d\x92\x82\x17@\xc1\xe6\xd7\ +\xf6\x02\xe9\x10\xbcr\xd8\x9e\xbb\x81\x83\xa6\xd31\x09\x90\ +\xcex\xb3\x96\xbb\x012\xdb\xcd\x91\x0ey\x185\x99\xc8\ +\xdd\xc0\xcf\x182C:$\xcej\xad\xcd\xa0\x9c\xc6\x90\ +\xa9\xd2!\xad\xf4\xe7\xac\xe1\x0e6'J\x87\xc4\xda\x1a\ +\xc5k\xc6\xf1\x93\xa4C\xda\xa2&\x13\xb8\x1b8\x81!\ +\xd3\x15\xfb\xb0\xc7s7p\x08CfI\x87\xe0\x99n\ +,w\x03{1$W\xb1\x1b\xa2\x8f\xbb\x81\xdd\x18\xb2\ +X:\xa4\x07\xee\x10\xf7#e\xa5\xa6\x9b=\x12 \x03\ +q\x87n\xf1\xe6\xc8\xcc\xe3=\xe9\x90\xd1\xb8C\xd7l\ +\x0e\xe3WI\x87\x90)\xebY\xde\xdc\x87\xa6\x9b*\x12\ + \xb3q\x87\xbe\xe7\xcd-0\x9d\x22K\x80\xbc\x83;\ +\xf4\x05on\x8a\xe9\x14Y\x02\xa4\x08w\xa8\xc0\xe6\x14\ +\xf9\xb6t\xc8\xb7\xa6\xf3\x0a\xde\x99%\xbd\x91J\x80\x94\ +aH:g\xac\xbe\x19\x8a%\xcb\x87\x90E\xec$\xce\ +\xd8o\xd8?J>\x04\x12\xf0\xde\x13\xe7c\xfc;1\ +d\x9e\x02\x10rG\xdc\xc7\x97z\x1b\xa76(\x00!\ +{O\xef\xf3\xa52p\xea\xb8\x02\x90m\xe4Iq\xae\ +P\x1d\x9e\x8fE\xff\xab\x00\x84|l[p\xed\xbd\x91\ +U\xad\x9e`\x0a\x19\xe8\x08\x04\xc81\x8b]6>\x22\ +\xaf\x98C\xfa;\x03!\xeb\xf1\xe3y2\x8f\xe2\xcc\x97\ +\xf4\xefW\xd0\x9fS\x9d\x81\xac\xc7\x9dj\xfe\xb7u\x84\ +<\xf8\xe0\xab\xa2\x15*\xcd\xdfyb \x15\x1e\xdc\xad\ +|\xeb\x08y\x0eg\xb0\xa6B->\x00\xe4\x0c\x04\x9e\ +\xc0\xddj[i\x158\x15eIoboI\xa3q\ +\x102G\xa2\xeb\xb8\x9a\x12\x22\x1b\xa1\x1e\x9dG\x9d\xd1\ +\x09'O\x8d3\x90kMH\xc7v\x9a\xd7'\xbbn\ +l\x88N\x9d\x8e\xf66\xf4\x1a\x07\x81\xe7\xe8\x01\xbd\xfd\ +f\xb57\xd1\x03\x1az\xe7\xc6\xba\xa3\x1a;\x1c\x82\xec\ +\xa1\x9b\xae\xb1\xdb\x8c+\xaf\xa2\x87\x14\x93\xf5\x96\x90\xf0\ +\xa3\xc4y\x0eA \x8dJ<\xaf\x19\xec\x8a^\xca\xd4\ +l5\x17\xeb\xd5\x9b\x84\xaa\xf4s\x0a\xb2[\xe7\xacN\ +~\x85\xb6^yn\x8c\xa6bj\xbd\xde\x15\xf3\xccG\ +\xc7\xa2 0DgS?zT\xc1\xd1\x06\xef\x9a;\ +?,\x1b\xe4\xd19e\xa2\xbf\xeeB\x0e\xa44[r\ +\xd3\x19\xc8\x99\xe6\xfaO(4I\x1e\x915mN\xce\ +\xb4\x17\x87v\x8d\xd6\xaf1[\xff\x82\xe74Wz6\ +{N\xee\xb4\x9723\x86\x0d\x08$'\x16\x89\x82\xd8\ +:\xf3\xc6\x18c}\xaa\xf9\x86\xa2\xa4,\x15\x06\xa9\x1d\ +f\xcb\xd1\xae\xdc\xe8\x82\xe3Ls\xf3\x85A\xa0\xb2\xb7\ +\x0dG\x0b\xe3\x85\xc9M\xa6\xc1W\xc5A\xa0\xbcS\xd8\ +\x8eV{\x8d/W\xdd\xda,9A \x04.\xf7\x0b\ +\xd3\xd1\xe1\x88\xd9\xe5r\xcd\xa2cDB\xa0*=,\ +\xc73\x97L\xaf\xf6\x87\xd9\xc9\xf8\xc1B!\x10Z\xdd\ +\x86\xdf\x91b\xf5 Q\x89I\xb8\xafX\x08\xc0\x95\xb1\ +^n\xc9v\xab\x8b\x99\xbc\xb9\x12EC\x00~\x99\xca\ +{:?\xc1r\x9bnY\xb4Q\xb6\xadx\x08@\xc5\ +\xf24\xbe\x97e\xae\xe5\xa5\x8e\x0c6\x88\xfa\x9c\x80\x00\ +@\xc5\x9a\xc9=\xad\x8f\x85G\x9f\xe0X\xa6\x98\x12\xaf\ +\x19\x9du\xcb\x98W\x12r\x06\x02\x00P\xb5o]\xde\ +\xcb\xe9\x81\x94\xc4x\xbf\xbfsR -;\x7f;=\ +*>\xa0\x9eg\x03\xe2\xd8\x9a\x99\xa3\x03\x89q~\x7f\ +\xe7\x94\xa1\xd9\x0b7\xfc\x14\xde\x0f\xc44\x1e\xc21\xc7\ +e\x0e\xfc~\x97\x10H]_\x02i}92!p\ +\x88~\x0b\x8c\x8bP\x08\xdd\xcbelg\x84B\xae\xb7\ +#\x90\xa4\xea\xc8\x84\xc0\xc7\xf6\x9frW\x0bR?\x80\ +NaOF&\x04\x8e\xd2\x1b\xe5\xa0\x90HG\x910\ +\x08=\xa7a\xb0\xae\xf5\xa0\x1c^q\x90\xca\x8et\x00\ +xUX[k\xbdL\x1c\x04>\xa5/\xc9d\x91\x0e\ +\x81\x10\xcdODx\x8e\x0a{_\x89\x85\xfc\x8ag,\ +i\xdb\x05\xbe\x1eB!0\xbf\xc1\x98<\xe3\x08\x08u\ +\x08\x85Tw\xbd\xff\x9bg\xd9gA\xb0C(\xe4\xde\ +\xb3\xb2\xads*@\xb8C,\x042\x18K\x08V\x8a\ +\xbb~\xf1\xff\xc3l\xb1\x90\xf2\xfe\x9f\xd4\x80#\x0e\xc1\ +\x10\xb1\xa5\xa1\x83\xb9\xc5\xc1\xdc\xe2\x88\x5c\xc8F2\xbc\ +v\x8b\x83\xb9\xc5\xc1\xdc\xe2`nq0\xb78\x98[\ +\x1c\xcc-\x8e\xc8\x83l\xd4\xdf\x15\xfa\x0f\x13\xf4\xa6<\ +X\xcd\xe8\x1c\x00\x00\x00\x00IEND\xaeB`\x82\ +\ +\x00\x00\x03\xae\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\xc0\x00\x00\x00\xb0\x04\x03\x00\x00\x00\xab\xd0|\xf5\ +\x00\x00\x00-PLTE\x00\x00\x00A\xcdRA\xcd\ +RA\xcdRD\xccQH\xcbPB\xccQI\xcbP\ +D\xccQE\xccQE\xccQD\xccQD\xccQC\ +\xccQA\xcdR\x9e%\xfb\x88\x00\x00\x00\x0etRN\ +S\x00\x18Oc\x8f\xab\xae\xb8\xbd\xc9\xd6\xdf\xe9\xf0\xe7\ +5\xddl\x00\x00\x03\x22IDATx\xda\xb5\xd8\xc1\ +\x89\xdb@\x18\xc5q)\x15\x08\x1b\x0cY\xf6\x90l\x01\ +\x82m\xc0\x90R\xdc\x80o!\xe7\x94\xa0\x06\x5cB \ +%\xa4\x01\x1fR@\x0e\xbb\x10\xd8\xb0L\x0d9\xd8\xb2\ +\xa5\x19[\xf3\xbd\xf7}o\xee\xf6\x8fw\xd0\x7f\x84\x9a\ +\xc6y\xfa\xa1\xd1\x9e\xfe\xbd\x13\x03\xe9\x97\x1a\x10O\xe8\ +S\xfa\xdd\x89\x81\xf4\xac\x06^;1 \x9d\xd0\xa7\x94\ +\xd2\xdfN\x0c\xa4\x9d\x1a\x10N8\x01\xc2\x09g\xe0\xad\ +\x13\x03iP\x03\xb2\x09# \x9bp\x01T\xcd\xbb\x00\ +\xaal_\x01\xd1\x84+ \xca\xf6\x04\xd04o\x0aH\ +\xb2=\x05$\x13f\x80\xa2y3@\xd1\xbc9 \x98\ +0\x07\x04\x132 \xbey\x19\x10\xdf\xbc\x1c\x08\x9f\x90\ +\x03\xe1\x13\x0a \xbay\x05\x10\x9d\xed\x12`&\xac\x9e\ +\xee\x9em\x01\x10\xd9n\x8f\x09:p\xf3>`\xff\x8f\ +g\x1b\x05\xe0\x090\x806\x0f\x06\xd0\xe6\xe1\x008\x01\ +\x07\xc0\x09\x04\x805\x8f\x00\xb0\xe61\x004\x81\x01\xa0\ +\x09\x14\x804\x8f\x02\x90ls\x000\x81\x03\x80l\x93\ +\x80\xbdy,`\xce6\x0b\x98'\xd0\x80\xb5y4`\ +m\x1e\x0f\x18'\xf0\x80q\x82\x03x\xab\xbd\xb0|q\ +\x02\xa9\x02<\xbch\x81\xf6\xe8\x05^\x97\x81\xc7\xe4\x05\ +\x96\x1f\xb5\xd5\xd1\x0b,\xc7\xa2\xdd&'\xf0\xfeyq\ +\xc0:y\x81\xe5;\xa7\xddz\x81\xca\x95\xb3N^\xe0\ +\xe7\xf2\x80\xbd\x17\xa8\xbc\xb9l\x92\x17\x18\x0c\x03<\x80\ +i\x80\x07\xf8\xbe<\xe0\xe0\x05*W\xc1\xc7\xe4\x05v\ +\xa6\x01\x01\x05\xe0\xe6\xa1\x00\xdc<\x18\xb8\ +5\xe1\xdf\xb7\xbb\xe7k\xd7\x04Lxi\x22\xcf\x8d\xe6\ +\xc5\x027\xb2\x1d\x0c\x94\x13\x82\x812\xdb\xd1@\xd1\xbc\ +p \xcfv8\x90O\x88\x07\xb2\xe6\xc5\x03Y\xf3\x04\ +\xc0|\x82\x00\x98OP\x00\xb3\xe6)\x80Y\xf3$\xc0\ +t\x82\x04\x98N\xd0\x00\x93\xe6i\x80I\xb6E\xc0u\ +\x82\x08\xb8f[\x05\x5c\x9a'\x03\xc6l\xcb\x80q\x82\ +\x0e87O\x07\x9c\x9b'\x04N\x13\x84\xc0i\x82\x12\ +h\xf7b\xa0\xd9\xa8\x81v/\x06\x9a\x8d\x1ah\xb7b\ +\xa0Y\xab\x81v\xeb\x06\xfe\x03$\xe7\x91\x89\x97#\xf5\ +\xaf\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00\xbf\ +/\ +/ Copyright (C) \ +2020 The Qt Comp\ +any Ltd.\x0a// SPDX\ +-License-Identif\ +ier: LicenseRef-\ +Qt-Commercial OR\ + BSD-3-Clause\x0a\x0ai\ +mport QtQuick.Co\ +ntrols.Material\x0a\ +\x0aToolBar {\x0a M\ +aterial.foregrou\ +nd: \x22white\x22\x0a}\x0a\ +\x00\x00\x01\x0a\ +[\ +Icon Theme]\x0aName\ +=Gallery\x0aComment\ +=Qt Quick Contro\ +ls 2 Gallery Exa\ +mple Icon Theme\x0a\ +\x0aDirectories=20x\ +20,20x20@2,20x20\ +@3,20x20@4\x0a\x0a[20x\ +20]\x0aSize=20\x0aType\ +=Fixed\x0a\x0a[20x20@2\ +]\x0aSize=20\x0aScale=\ +2\x0aType=Fixed\x0a\x0a[2\ +0x20@3]\x0aSize=20\x0a\ +Scale=3\x0aType=Fix\ +ed\x0a\x0a[20x20@4]\x0aSi\ +ze=20\x0aScale=4\x0aTy\ +pe=Fixed\x0a\ +\x00\x00\x00\xe3\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00<\x00\x00\x00<\x04\x03\x00\x00\x00\xc8\xd2\xc4A\ +\x00\x00\x00$PLTE\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6X\x02G\ +\x00\x00\x00\x0ctRNS\x00\x1c\x1d\x1e=l|}\ +\xd8\xd9\xda\xfa\x85T\xfd\xb6\x00\x00\x00bIDAT\ +8\xcbc`\xa070\xc5+\xcb4\xbb\x00\x9f\xb4\xd5\ +\xeemx5\xef\xde]\x80O\xf3\xee\xdd[\xf0j\xde\ +\x9d\x80W\xf36r5k\x8ej\x1e\x11\x9a\xadh\xa7\ +\x99A\x02(\xbd\x1d\xb74c\xf7n\x82\x89\x7f\x1b\xf9\ +\xda)\xb4}T\xfb\x10\xd5Na\xb2\xc1_\xe4\x82\xb5\ +'\x90]\xdc\x03\xb5'PP\xd5P\x0d\x00\x00^\xe9\ +\x99\xeb`\xde0?\x00\x00\x00\x00IEND\xaeB\ +`\x82\ +\x00\x00\x00\x82\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00<\x00\x00\x00<\x02\x03\x00\x00\x00G\x921\xe1\ +\x00\x00\x00\x09PLTE\x00\x00\x00\xff\xff\xff\x00\x00\ +\x00s\xc6\x83q\x00\x00\x00\x02tRNS\x00\x00v\ +\x93\xcd8\x00\x00\x00&IDAT(\xcfc\x08E\ +\x05\x0c\x03\xcd\x0f[\x85\x0c\xa6R\x9d\x1f\xc2\x80\x0cD\ +\x87\x1c\x7f4|\x066|\x06Y~\x01\x00\x0e\xe9\x0f\ +x\xb7\x12\x1d\x13\x00\x00\x00\x00IEND\xaeB`\ +\x82\ +\x00\x00\x00\xc1\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00<\x00\x00\x00<\x04\x03\x00\x00\x00\xc8\xd2\xc4A\ +\x00\x00\x00\x15PLTE\x00\x00\x00\xff\xff\xff\x22\x1f\ +\x1f\x22\x1f\x1f\x22\x1f\x1f\x22\x1f\x1f\x22\x1f\x1fI:\x15\ +.\x00\x00\x00\x06tRNS\x00\x00 0\x9f\xef,\ +\x93$\x03\x00\x00\x00UIDAT8\xcbc\x10\xc4\ +\x0b\x18\xa8'\xcd\xa0\x12\x96\xea\xc4\x80S\x9a9,-\ +-\xd5\x00\xa7\xb4j\x1a\x10\x04\xe1\x94v\x03I\xa7\xe0\ +\x94\x0e\x03I\xa7\xe2\x94N\x03\x03r\xa5\x09\x18N\xc0\ +i\x04\ +\x00\x00\x00\x09PLTE\x00\x00\x00\xff\xff\xff\x00\x00\ +\x00s\xc6\x83q\x00\x00\x00\x02tRNS\x00\x00v\ +\x93\xcd8\x00\x00\x00'IDAT8\xcbc\x08\xc5\ +\x02\x18F\x8a\xe0*\x0c08\x05\x190\xc0\xa8 %\ +\x82\xa3\xf1>\x1a\xef\x839\xdeGn\x99\x0c\x00\xaa\xfe\ +\xe3\x80<\x1b\xa3\xfb\x00\x00\x00\x00IEND\xaeB\ +`\x82\ +\x00\x00\x00\xdf\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00P\x00\x00\x00P\x04\x03\x00\x00\x00|?\xef\x9e\ +\x00\x00\x00\x18PLTE\x00\x00\x00\xff\xff\xff\x22\x1f\ +\x1f\x22\x1f\x1f\x22\x1f\x1f\x22\x1f\x1f\x22\x1f\x1f\x22\x1f\x1f\ +G\xb0\x1c\xf2\x00\x00\x00\x07tRNS\x00\x00 `\ +\xbf\xcf\xef\x1dV\xbf\x1a\x00\x00\x00oIDATH\ +\xc7c\x10$\x120\x0c\x22\x85\x0c\x0c&\xe5\xe5\xce\x0c\ +\x0c\x84\x15\xaa\x96\x03A\x10a\x85L\xe9 \x85e\x0a\ +\x04\x15\xb2\x96\x83A\x00A\x85\xe6\x10\x85\xc5\x04\x15\xba\ +C\x14\x96\x10TX\x0e\x05\x83Y!\xd1\x9e!:x\ +\x88\x0ep\xa2\xa3\x90\xe8DA|2\x83\x82Q\x85#\ +A\xe1h\xd93Z\xf6\x8c\x96=\xa3\x0aG\xcb\x9e\xd1\ +\xb2gd\x97=\x83\xb0\xaf\x00\x00G\x10>\xf2\xcfQ\ +\xf1\x00\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00\x92\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x14\x00\x00\x00\x14\x08\x06\x00\x00\x00\x8d\x89\x1d\x0d\ +\x00\x00\x00YIDAT8\x8d\xed\xd4\xb1\x09\x80@\ +\x0c\x05\xd0\x87\x16\x8e\xe4\xa6\xda\x0a\xeeegw\x13X\ +\xd9Z\x08\xe2%bs\xbf\xcfKB $\xa7\xaf\xac\ +\x99P\xb0g\x0c\xb0\xe2\xc0\x86!\x0b+\x18\xa3\xd8\xd2\ +\xb0\x7f\xb1\xeakv\x91\xceo\x92\xbarC\xbfE\xd3\ +\x9e\xc3\x1d\x1a~_Wt\x964\xe1cN\x85\xa7,\ +\x143\xcaZ\x14\x00\x00\x00\x00IEND\xaeB`\ +\x82\ +\x00\x00\x00{\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x14\x00\x00\x00\x14\x08\x06\x00\x00\x00\x8d\x89\x1d\x0d\ +\x00\x00\x00BIDATx\xda\xec\x94\xc1\x0d\x000\ +\x08\x02\x8f\xc6\xfdW\xc6\x1d\x1a|)\x03\x10\xf0\x0c\xb2\ +MR\x8f\xb0\xe2\x86\x05 )\xd2\xdb\xb6f\x12\x02\xda\ +\x03e\xec\x86\xa9\xef>\xcaG\xf9\xcbq\xdf\xc06\x00\ +\x00\x00\xff\xff\x03\x00\xf7\x83\x0c-\xe7\xf9\xf9<\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00{\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x14\x00\x00\x00\x14\x02\x03\x00\x00\x00\xf0\xe7\xf5\x9e\ +\x00\x00\x00\x0cPLTE\x00\x00\x00\xff\xff\xff\x22\x1f\ +\x1f\x22\x1f\x1f\x13\xee\x05I\x00\x00\x00\x03tRNS\ +\x00\x00\x80\x17\xceG\xfe\x00\x00\x00\x1bIDAT\x08\ +[c\x08\x05\x01\x86\xd0\xd0}`\xf2?\x12\x09\x11\xc1\ +D\x94\xab\x04\x02\x00\xd4P%\xa9\xa8Z\xf7\x1d\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00\xb8\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00(\x00\x00\x00(\x04\x03\x00\x00\x00~\xd0\xa5^\ +\x00\x00\x00\x18PLTE\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +V7\x1c*\x00\x00\x00\x08tRNS\x00\x0b\x0e\x90\ +\xbc\xbd\xc2\xfa`jr\x94\x00\x00\x00GIDAT\ +(\xcfc` \x0f(+`\x8a1\xa5'a\x0a\x8a\ +\x96\x97a(e\x0c\xc7\x22\xa8V^\x9eD\x94B\xd1\ +\xe1\xa4\x10\x9b\xaf\x99\xd2\xb1\x85\x99;\x16A\xac\xdaq\ +(\x15\x19\x9eJI\x0a\x01,\x82X\x13-\xd6\xe4\x8d\ +\x17\x00\x00\xbe(.\x06\xf5\xa2\x90\xab\x00\x00\x00\x00I\ +END\xaeB`\x82\ +\x00\x00\x00~\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00(\x00\x00\x00(\x02\x03\x00\x00\x00\xf1\x90P\xfe\ +\x00\x00\x00\x09PLTE\x00\x00\x00\xff\xff\xff\x00\x00\ +\x00s\xc6\x83q\x00\x00\x00\x02tRNS\x00\x00v\ +\x93\xcd8\x00\x00\x00\x22IDAT\x18\x95c\x08\x85\ +\x03\x062\x99Q\xab\xa0`)af\x00\x03\x14\xb0R\ +\x979\xd4\xdc@q\xa8\x03\x00\xea\x17x\xdd\x86\xef\x87\ +\xad\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00\x9e\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00(\x00\x00\x00(\x04\x03\x00\x00\x00~\xd0\xa5^\ +\x00\x00\x00\x0fPLTE\x00\x00\x00\xff\xff\xff\x22\x1f\ +\x1f\x22\x1f\x1f\x22\x1f\x1f\xc1T\xc5\x91\x00\x00\x00\x04t\ +RNS\x00\x00P\xdf\x1fD\xf4\x8b\x00\x00\x00:I\ +DAT(\xcfc\x10\xc4\x02\x18\xf0\x0a2\x998+\ +`\x08\xaa\xb8\xb88a\x08\x9a\xb8\xb88c\x08\xba\x00\ +\x01q\x82X\xb5c\xb5\x08\xab\x93\x18\x80`\xe0\x04G\ +Ci8\x85\x12\xc1\xdc\x01\x00\xcb~A\x15\x05\x8a+\ +\xbc\x00\x00\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x05\ +\x00o\xa6S\ +\x00i\ +\x00c\x00o\x00n\x00s\ +\x00\x0b\ +\x0cCR|\ +\x00g\ +\x00a\x00l\x00l\x00e\x00r\x00y\x00.\x00q\x00m\x00l\ +\x00\x15\ +\x08\x1e\x16f\ +\x00q\ +\x00t\x00q\x00u\x00i\x00c\x00k\x00c\x00o\x00n\x00t\x00r\x00o\x00l\x00s\x002\x00.\ +\x00c\x00o\x00n\x00f\ +\x00\x09\ +\x08\xac\xef\x1c\ +\x00+\ +\x00M\x00a\x00t\x00e\x00r\x00i\x00a\x00l\ +\x00\x0b\ +\x083\x9c<\ +\x00T\ +\x00o\x00o\x00l\x00B\x00a\x00r\x00.\x00q\x00m\x00l\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x06\ +\x07\x84+\x02\ +\x00q\ +\x00m\x00l\x00d\x00i\x00r\ +\x00\x05\ +\x00v}\xc3\ +\x00p\ +\x00a\x00g\x00e\x00s\ +\x00\x0f\ +\x07\x87\xe7<\ +\x00S\ +\x00p\x00i\x00n\x00B\x00o\x00x\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x15\ +\x02E\x02\xfc\ +\x00P\ +\x00a\x00g\x00e\x00I\x00n\x00d\x00i\x00c\x00a\x00t\x00o\x00r\x00P\x00a\x00g\x00e\ +\x00.\x00q\x00m\x00l\ +\x00\x0e\ +\x09\x09P|\ +\x00T\ +\x00a\x00b\x00B\x00a\x00r\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x15\ +\x0fE\xff\x5c\ +\x00B\ +\x00u\x00s\x00y\x00I\x00n\x00d\x00i\x00c\x00a\x00t\x00o\x00r\x00P\x00a\x00g\x00e\ +\x00.\x00q\x00m\x00l\ +\x00\x12\ +\x05P\x5c\x1c\ +\x00S\ +\x00c\x00r\x00o\x00l\x00l\x00a\x00b\x00l\x00e\x00P\x00a\x00g\x00e\x00.\x00q\x00m\ +\x00l\ +\x00\x13\ +\x0dr\xfb|\ +\x00P\ +\x00r\x00o\x00g\x00r\x00e\x00s\x00s\x00B\x00a\x00r\x00P\x00a\x00g\x00e\x00.\x00q\ +\x00m\x00l\ +\x00\x0f\ +\x0b\xe33|\ +\x00T\ +\x00o\x00o\x00l\x00T\x00i\x00p\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x10\ +\x06\xd3\x8b\x1c\ +\x00T\ +\x00e\x00x\x00t\x00A\x00r\x00e\x00a\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x0e\ +\x02%\xd0|\ +\x00S\ +\x00l\x00i\x00d\x00e\x00r\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x0f\ +\x00\xf4\xb9\xfc\ +\x00T\ +\x00u\x00m\x00b\x00l\x00e\x00r\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x0e\ +\x0e\xa2\x84\x9c\ +\x00B\ +\x00u\x00t\x00t\x00o\x00n\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x0e\ +\x0b\xc5|\x5c\ +\x00S\ +\x00w\x00i\x00t\x00c\x00h\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x11\ +\x0fw<\xdc\ +\x00T\ +\x00e\x00x\x00t\x00F\x00i\x00e\x00l\x00d\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\ +\x00\x10\ +\x05\xb8\x16\x1c\ +\x00C\ +\x00o\x00m\x00b\x00o\x00B\x00o\x00x\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x10\ +\x00w\xb4\x5c\ +\x00D\ +\x00e\x00l\x00e\x00g\x00a\x00t\x00e\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x0c\ +\x0e\x8bV\xfc\ +\x00D\ +\x00i\x00a\x00l\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x0d\ +\x0c\xc8%\xdc\ +\x00F\ +\x00r\x00a\x00m\x00e\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x11\ +\x03$Q\x5c\ +\x00S\ +\x00w\x00i\x00p\x00e\x00V\x00i\x00e\x00w\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\ +\x00\x11\ +\x00\xa3\xff|\ +\x00S\ +\x00c\x00r\x00o\x00l\x00l\x00B\x00a\x00r\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\ +\x00\x13\ +\x002\xb3\xbc\ +\x00R\ +\x00a\x00n\x00g\x00e\x00S\x00l\x00i\x00d\x00e\x00r\x00P\x00a\x00g\x00e\x00.\x00q\ +\x00m\x00l\ +\x00\x10\ +\x0fY+\x5c\ +\x00G\ +\x00r\x00o\x00u\x00p\x00B\x00o\x00x\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x13\ +\x0fN\x9e\x5c\ +\x00R\ +\x00a\x00d\x00i\x00o\x00B\x00u\x00t\x00t\x00o\x00n\x00P\x00a\x00g\x00e\x00.\x00q\ +\x00m\x00l\ +\x00\x17\ +\x0a>\xfa\x1c\ +\x00S\ +\x00c\x00r\x00o\x00l\x00l\x00I\x00n\x00d\x00i\x00c\x00a\x00t\x00o\x00r\x00P\x00a\ +\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x0e\ +\x08\xd2\xfe\x5c\ +\x00D\ +\x00i\x00a\x00l\x00o\x00g\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x10\ +\x048\xf8\x1c\ +\x00C\ +\x00h\x00e\x00c\x00k\x00B\x00o\x00x\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\x00\x13\ +\x05\xac\xa6\xdc\ +\x00D\ +\x00e\x00l\x00a\x00y\x00B\x00u\x00t\x00t\x00o\x00n\x00P\x00a\x00g\x00e\x00.\x00q\ +\x00m\x00l\ +\x00\x11\ +\x07%R|\ +\x00S\ +\x00t\x00a\x00c\x00k\x00V\x00i\x00e\x00w\x00P\x00a\x00g\x00e\x00.\x00q\x00m\x00l\ +\ +\x00\x09\ +\x09j\x86g\ +\x00a\ +\x00r\x00r\x00o\x00w\x00.\x00p\x00n\x00g\ +\x00\x0a\ +\x06\xebDg\ +\x00a\ +\x00r\x00r\x00o\x00w\x00s\x00.\x00p\x00n\x00g\ +\x00\x0e\ +\x0d=\xfd'\ +\x00q\ +\x00t\x00-\x00l\x00o\x00g\x00o\x00@\x004\x00x\x00.\x00p\x00n\x00g\ +\x00\x0d\ +\x02\xa9\x8a\x07\ +\x00a\ +\x00r\x00r\x00o\x00w\x00s\x00@\x002\x00x\x00.\x00p\x00n\x00g\ +\x00\x0c\ +\x0e\xa8z'\ +\x00a\ +\x00r\x00r\x00o\x00w\x00@\x004\x00x\x00.\x00p\x00n\x00g\ +\x00\x0c\ +\x0e\xb8z'\ +\x00a\ +\x00r\x00r\x00o\x00w\x00@\x003\x00x\x00.\x00p\x00n\x00g\ +\x00\x0e\ +\x0d-\xfd'\ +\x00q\ +\x00t\x00-\x00l\x00o\x00g\x00o\x00@\x003\x00x\x00.\x00p\x00n\x00g\ +\x00\x0c\ +\x0e\x88z'\ +\x00a\ +\x00r\x00r\x00o\x00w\x00@\x002\x00x\x00.\x00p\x00n\x00g\ +\x00\x0e\ +\x0d\x1d\xfd'\ +\x00q\ +\x00t\x00-\x00l\x00o\x00g\x00o\x00@\x002\x00x\x00.\x00p\x00n\x00g\ +\x00\x0d\ +\x02\x89\x8a\x07\ +\x00a\ +\x00r\x00r\x00o\x00w\x00s\x00@\x004\x00x\x00.\x00p\x00n\x00g\ +\x00\x0b\ +\x05R\xbf'\ +\x00q\ +\x00t\x00-\x00l\x00o\x00g\x00o\x00.\x00p\x00n\x00g\ +\x00\x0d\ +\x02\x99\x8a\x07\ +\x00a\ +\x00r\x00r\x00o\x00w\x00s\x00@\x003\x00x\x00.\x00p\x00n\x00g\ +\x00\x07\ +\x0d\x83,Y\ +\x00g\ +\x00a\x00l\x00l\x00e\x00r\x00y\ +\x00\x07\ +\x05{TR\ +\x002\ +\x000\x00x\x002\x000\x00@\x002\ +\x00\x05\ +\x005{P\ +\x002\ +\x000\x00x\x002\x000\ +\x00\x07\ +\x05{TT\ +\x002\ +\x000\x00x\x002\x000\x00@\x004\ +\x00\x0b\ +\x0b\xba\x81\xb5\ +\x00i\ +\x00n\x00d\x00e\x00x\x00.\x00t\x00h\x00e\x00m\x00e\ +\x00\x07\ +\x05{TS\ +\x002\ +\x000\x00x\x002\x000\x00@\x003\ +\x00\x08\ +\x07\x9eZG\ +\x00b\ +\x00a\x00c\x00k\x00.\x00p\x00n\x00g\ +\x00\x0a\ +\x0d\xc8&G\ +\x00d\ +\x00r\x00a\x00w\x00e\x00r\x00.\x00p\x00n\x00g\ +\x00\x08\ +\x0cXY'\ +\x00m\ +\x00e\x00n\x00u\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x08\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x001\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\xb4\x00\x02\x00\x00\x00\x1b\x00\x00\x00\x16\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x90\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x0a\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\xa2\x00\x00\x00\x00\x00\x01\x00\x00\x0a\xc1\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x00,\x00\x00\x00\x00\x00\x01\x00\x00\x09\xc5\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x00t\x00\x00\x00\x00\x00\x01\x00\x00\x0a)\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x00\x5c\x00\x02\x00\x00\x00\x01\x00\x00\x00\x09\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x10\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x86\xcc\xe0s'\ +\x00\x00\x00t\x00\x00\x00\x00\x00\x01\x00\x00\xe93\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x05\xf6\x00\x00\x00\x00\x00\x01\x00\x00\xd5\x9d\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x062\x00\x00\x00\x00\x00\x01\x00\x00\xe5\x81\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x058\x00\x00\x00\x00\x00\x01\x00\x00\x9b\xf7\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06\x16\x00\x00\x00\x00\x00\x01\x00\x00\xda\x5c\ +\x00\x00\x01\x87\x137-\xff\ +\x00\x00\x04\xfc\x00\x00\x00\x00\x00\x01\x00\x00u\x04\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x04\xe4\x00\x00\x00\x00\x00\x01\x00\x00s\xc1\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x05\xd4\x00\x00\x00\x00\x00\x01\x00\x00\xc2Q\ +\x00\x00\x01\x87\x137\xd0\xfa\ +\x00\x00\x05\x94\x00\x00\x00\x00\x00\x01\x00\x00\xa4\x17\ +\x00\x00\x01\x87\x137\xd0\xfa\ +\x00\x00\x05\x16\x00\x00\x00\x00\x00\x01\x00\x00v\xd2\ +\x00\x00\x01\x87\x137\xd0\xfe\ +\x00\x00\x05\xb6\x00\x00\x00\x00\x00\x01\x00\x00\xc0q\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x05X\x00\x00\x00\x00\x00\x01\x00\x00\x9e\xb6\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x05v\x00\x00\x00\x00\x00\x01\x00\x00\xa1\xb0\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x03\x96\x00\x00\x00\x00\x00\x01\x00\x00O+\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x02\xe2\x00\x01\x00\x00\x00\x01\x00\x009\x1c\ +\x00\x00\x01\x86\xcc\xe0s'\ +\x00\x00\x03n\x00\x00\x00\x00\x00\x01\x00\x00J\xec\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x02,\x00\x00\x00\x00\x00\x01\x00\x00&\x88\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x02\x0a\x00\x00\x00\x00\x00\x01\x00\x00#\x85\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x0d\xdf\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x03F\x00\x00\x00\x00\x00\x01\x00\x00E\xa6\ +\x00\x00\x01\x86\xcc\xe0s'\ +\x00\x00\x04j\x00\x00\x00\x00\x00\x01\x00\x00e\x81\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x01j\x00\x00\x00\x00\x00\x01\x00\x00\x18\xb0\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x04\x90\x00\x00\x00\x00\x00\x01\x00\x00ie\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x02\xbc\x00\x00\x00\x00\x00\x01\x00\x003L\ +\x00\x00\x01\x86\xcc\xe0s'\ +\x00\x00\x01\xe4\x00\x00\x00\x00\x00\x01\x00\x00 \xe6\ +\x00\x00\x01\x86\xcc\xe0s'\ +\x00\x00\x04\xbc\x00\x00\x00\x00\x00\x01\x00\x00l\x1e\ +\x00\x00\x01\x86\xcc\xe0s'\ +\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x0a\xd0\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x04H\x00\x01\x00\x00\x00\x01\x00\x00_\xe4\ +\x00\x00\x01\x86\xcc\xe0s'\ +\x00\x00\x01\x18\x00\x00\x00\x00\x00\x01\x00\x00\x10g\ +\x00\x00\x01\x86\xcc\xe0s'\ +\x00\x00\x04\x14\x00\x00\x00\x00\x00\x01\x00\x00[\x8b\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x02r\x00\x00\x00\x00\x00\x01\x00\x00->\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x01\xc0\x00\x00\x00\x00\x00\x01\x00\x00\x1e\x08\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x03&\x00\x00\x00\x00\x00\x01\x00\x00@\xba\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x01\x94\x00\x00\x00\x00\x00\x01\x00\x00\x1a\xb5\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x03\x08\x00\x00\x00\x00\x00\x01\x00\x00=\xee\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x02P\x00\x00\x00\x00\x00\x01\x00\x00(\xd1\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x01:\x00\x00\x00\x00\x00\x01\x00\x00\x15\xe6\ +\x00\x00\x01\x86\xcc\xe0s'\ +\x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x00W\xc0\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x03\xc2\x00\x00\x00\x00\x00\x01\x00\x00R\xa5\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x02\x94\x00\x00\x00\x00\x00\x01\x00\x000\xe7\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06R\x00\x02\x00\x00\x00\x05\x00\x00\x002\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x06z\x00\x02\x00\x00\x00\x03\x00\x00\x00@\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x06f\x00\x02\x00\x00\x00\x03\x00\x00\x00=\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x06\xba\x00\x02\x00\x00\x00\x03\x00\x00\x00:\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x06\x8a\x00\x02\x00\x00\x00\x03\x00\x00\x007\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x06\x9e\x00\x00\x00\x00\x00\x01\x00\x00\xe9\xf6\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06\xce\x00\x00\x00\x00\x00\x01\x00\x00\xed6\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06\xfe\x00\x00\x00\x00\x00\x01\x00\x00\xee\xb7\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06\xe4\x00\x00\x00\x00\x00\x01\x00\x00\xee0\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06\xce\x00\x00\x00\x00\x00\x01\x00\x00\xeb\x04\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06\xfe\x00\x00\x00\x00\x00\x01\x00\x00\xecq\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06\xe4\x00\x00\x00\x00\x00\x01\x00\x00\xeb\xeb\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06\xce\x00\x00\x00\x00\x00\x01\x00\x00\xf1.\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06\xfe\x00\x00\x00\x00\x00\x01\x00\x00\xf2l\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06\xe4\x00\x00\x00\x00\x00\x01\x00\x00\xf1\xea\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06\xce\x00\x00\x00\x00\x00\x01\x00\x00\xef\x9a\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06\xfe\x00\x00\x00\x00\x00\x01\x00\x00\xf0\xaf\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +\x00\x00\x06\xe4\x00\x00\x00\x00\x00\x01\x00\x00\xf00\ +\x00\x00\x01\x86\xb7m\x07\x8b\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/remoteobjects/modelview/modelview.pyproject b/examples/remoteobjects/modelview/modelview.pyproject new file mode 100644 index 0000000..0b3a1b5 --- /dev/null +++ b/examples/remoteobjects/modelview/modelview.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["modelviewserver.py", "modelviewclient.py"] +} diff --git a/examples/remoteobjects/modelview/modelviewclient.py b/examples/remoteobjects/modelview/modelviewclient.py new file mode 100644 index 0000000..38409c9 --- /dev/null +++ b/examples/remoteobjects/modelview/modelviewclient.py @@ -0,0 +1,24 @@ +# Copyright (C) 2017 Ford Motor Company +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the remoteobjects/modelviewclient example from Qt v5.x""" + +import sys + +from PySide6.QtCore import QUrl +from PySide6.QtWidgets import (QApplication, QTreeView) +from PySide6.QtRemoteObjects import QRemoteObjectNode + +if __name__ == '__main__': + app = QApplication(sys.argv) + node = QRemoteObjectNode(QUrl("local:registry")) + node.setHeartbeatInterval(1000) + view = QTreeView() + view.setWindowTitle("RemoteView") + view.resize(640, 480) + model = node.acquireModel("RemoteModel") + view.setModel(model) + view.show() + + sys.exit(app.exec()) diff --git a/examples/remoteobjects/modelview/modelviewserver.py b/examples/remoteobjects/modelview/modelviewserver.py new file mode 100644 index 0000000..0e213fb --- /dev/null +++ b/examples/remoteobjects/modelview/modelviewserver.py @@ -0,0 +1,103 @@ +# Copyright (C) 2017 Ford Motor Company +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the remoteobjects/modelviewserver example from Qt v5.x""" + +import sys + +from PySide6.QtCore import (Qt, QByteArray, QModelIndex, QObject, QTimer, QUrl) +from PySide6.QtGui import (QColor, QStandardItemModel, QStandardItem) +from PySide6.QtWidgets import (QApplication, QTreeView) +from PySide6.QtRemoteObjects import QRemoteObjectHost, QRemoteObjectRegistryHost + + +class TimerHandler(QObject): + def __init__(self, model): + super().__init__() + self._model = model + + def change_data(self): + for i in range(10, 50): + self._model.setData(self._model.index(i, 1), + QColor(Qt.blue), Qt.BackgroundRole) + + def insert_data(self): + self._model.insertRows(2, 9) + for i in range(2, 11): + self._model.setData(self._model.index(i, 1), + QColor(Qt.green), Qt.BackgroundRole) + self._model.setData(self._model.index(i, 1), + "InsertedRow", Qt.DisplayRole) + + def remove_data(self): + self._model.removeRows(2, 4) + + def change_flags(self): + item = self._model.item(0, 0) + item.setEnabled(False) + item = item.child(0, 0) + item.setFlags(item.flags() & Qt.ItemIsSelectable) + + def move_data(self): + self._model.moveRows(QModelIndex(), 2, 4, QModelIndex(), 10) + + +def add_child(num_children, nesting_level): + result = [] + if nesting_level == 0: + return result + for i in range(num_children): + child = QStandardItem(f"Child num {i + 1}, nesting Level {nesting_level}") + if i == 0: + child.appendRow(add_child(num_children, nesting_level - 1)) + result.append(child) + return result + + +if __name__ == '__main__': + app = QApplication(sys.argv) + model_size = 100000 + data_list = [] + source_model = QStandardItemModel() + horizontal_header_list = ["First Column with spacing", + "Second Column with spacing"] + source_model.setHorizontalHeaderLabels(horizontal_header_list) + for i in range(model_size): + first_item = QStandardItem(f"FancyTextNumber {i}") + if i == 0: + first_item.appendRow(add_child(2, 2)) + second_item = QStandardItem(f"FancyRow2TextNumber {i}") + if i % 2 == 0: + first_item.setBackground(Qt.red) + row = [first_item, second_item] + source_model.invisibleRootItem().appendRow(row) + data_list.append(f"FancyTextNumber {i}") + + # Needed by QMLModelViewClient + role_names = { + Qt.DisplayRole: QByteArray(b'_text'), + Qt.BackgroundRole: QByteArray(b'_color') + } + source_model.setItemRoleNames(role_names) + + roles = [Qt.DisplayRole, Qt.BackgroundRole] + + print("Creating registry host") + node = QRemoteObjectRegistryHost(QUrl("local:registry")) + + node2 = QRemoteObjectHost(QUrl("local:replica"), QUrl("local:registry")) + node2.enableRemoting(source_model, "RemoteModel", roles) + + view = QTreeView() + view.setWindowTitle("SourceView") + view.setModel(source_model) + view.show() + handler = TimerHandler(source_model) + QTimer.singleShot(5000, handler.change_data) + QTimer.singleShot(10000, handler.insert_data) + QTimer.singleShot(11000, handler.change_flags) + QTimer.singleShot(12000, handler.remove_data) + QTimer.singleShot(13000, handler.move_data) + + sys.exit(app.exec()) diff --git a/examples/samplebinding/CMakeLists.txt b/examples/samplebinding/CMakeLists.txt new file mode 100644 index 0000000..e7d23db --- /dev/null +++ b/examples/samplebinding/CMakeLists.txt @@ -0,0 +1,252 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.18) +cmake_policy(VERSION 3.18) + +# Enable policy to not use RPATH settings for install_name on macOS. +if(POLICY CMP0068) + cmake_policy(SET CMP0068 NEW) +endif() + +# Consider changing the project name to something relevant for you. +project(SampleBinding) + +# ================================ General configuration ====================================== + +# Set CPP standard to C++17 minimum. +set(CMAKE_CXX_STANDARD 17) + +# The sample library for which we will create bindings. You can change the name to something +# relevant for your project. +set(sample_library "libuniverse") + +# The name of the generated bindings module (as imported in Python). You can change the name +# to something relevant for your project. +set(bindings_library "Universe") + +# The header file with all the types and functions for which bindings will be generated. +# Usually it simply includes other headers of the library you are creating bindings for. +set(wrapped_header ${CMAKE_SOURCE_DIR}/bindings.h) + +# The typesystem xml file which defines the relationships between the C++ types / functions +# and the corresponding Python equivalents. +set(typesystem_file ${CMAKE_SOURCE_DIR}/bindings.xml) + +# Specify which C++ files will be generated by shiboken. This includes the module wrapper +# and a '.cpp' file per C++ type. These are needed for generating the module shared +# library. +set(generated_sources + ${CMAKE_CURRENT_BINARY_DIR}/${bindings_library}/universe_module_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/${bindings_library}/icecream_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/${bindings_library}/truck_wrapper.cpp) + + +# ================================== Shiboken detection ====================================== +# Use provided python interpreter if given. +if(NOT python_interpreter) + if(WIN32 AND "${CMAKE_BUILD_TYPE}" STREQUAL "Debug") + find_program(python_interpreter "python_d") + if(NOT python_interpreter) + message(FATAL_ERROR + "A debug Python interpreter could not be found, which is a requirement when " + "building this example in a debug configuration. Make sure python_d.exe is in " + "PATH.") + endif() + else() + find_program(python_interpreter "python") + if(NOT python_interpreter) + message(FATAL_ERROR + "No Python interpreter could be found. Make sure python is in PATH.") + endif() + endif() +endif() +message(STATUS "Using python interpreter: ${python_interpreter}") + +# Macro to get various pyside / python include / link flags and paths. +# Uses the not entirely supported utils/pyside_config.py file. +macro(pyside_config option output_var) + if(${ARGC} GREATER 2) + set(is_list ${ARGV2}) + else() + set(is_list "") + endif() + + execute_process( + COMMAND ${python_interpreter} "${CMAKE_SOURCE_DIR}/../utils/pyside_config.py" + ${option} + OUTPUT_VARIABLE ${output_var} + OUTPUT_STRIP_TRAILING_WHITESPACE) + + if ("${${output_var}}" STREQUAL "") + message(FATAL_ERROR "Error: Calling pyside_config.py ${option} returned no output.") + endif() + if(is_list) + string (REPLACE " " ";" ${output_var} "${${output_var}}") + endif() +endmacro() + +# Query for the shiboken generator path, Python path, include paths and linker flags. +pyside_config(--shiboken-module-path shiboken_module_path) +pyside_config(--shiboken-generator-path shiboken_generator_path) +pyside_config(--python-include-path python_include_dir) +pyside_config(--shiboken-generator-include-path shiboken_include_dir 1) +pyside_config(--shiboken-module-shared-libraries-cmake shiboken_shared_libraries 0) +pyside_config(--python-link-flags-cmake python_linking_data 0) + +set(shiboken_path "${shiboken_generator_path}/shiboken6${CMAKE_EXECUTABLE_SUFFIX}") +if(NOT EXISTS ${shiboken_path}) + message(FATAL_ERROR "Shiboken executable not found at path: ${shiboken_path}") +endif() + + +# ==================================== RPATH configuration ==================================== + + +# ============================================================================================= +# !!! (The section below is deployment related, so in a real world application you will want to +# take care of this properly with some custom script or tool). +# ============================================================================================= +# Enable rpaths so that the built shared libraries find their dependencies. +set(CMAKE_SKIP_BUILD_RPATH FALSE) +set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) +set(CMAKE_INSTALL_RPATH ${shiboken_module_path} ${CMAKE_CURRENT_SOURCE_DIR}) +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +# ============================================================================================= +# !!! End of dubious section. +# ============================================================================================= + + +# =============================== CMake target - sample_library =============================== + + +# Define the sample shared library for which we will create bindings. +set(${sample_library}_sources icecream.cpp truck.cpp) +add_library(${sample_library} SHARED ${${sample_library}_sources}) +set_property(TARGET ${sample_library} PROPERTY PREFIX "") + +# Needed mostly on Windows to export symbols, and create a .lib file, otherwise the binding +# library can't link to the sample library. +target_compile_definitions(${sample_library} PRIVATE BINDINGS_BUILD) + + +# ====================== Shiboken target for generating binding C++ files ==================== + + +# Set up the options to pass to shiboken. +set(shiboken_options --generator-set=shiboken --enable-parent-ctor-heuristic + --enable-return-value-heuristic --use-isnull-as-nb_nonzero + --avoid-protected-hack + -I${CMAKE_SOURCE_DIR} + -T${CMAKE_SOURCE_DIR} + --output-directory=${CMAKE_CURRENT_BINARY_DIR} + ) + +set(generated_sources_dependencies ${wrapped_header} ${typesystem_file}) + +# Add custom target to run shiboken to generate the binding cpp files. +add_custom_command(OUTPUT ${generated_sources} + COMMAND ${shiboken_path} + ${shiboken_options} ${wrapped_header} ${typesystem_file} + DEPENDS ${generated_sources_dependencies} + IMPLICIT_DEPENDS CXX ${wrapped_header} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Running generator for ${typesystem_file}.") + + +# =============================== CMake target - bindings_library ============================= + + +# Set the cpp files which will be used for the bindings library. +set(${bindings_library}_sources ${generated_sources}) + +# Define and build the bindings library. +add_library(${bindings_library} MODULE ${${bindings_library}_sources}) + +# Apply relevant include and link flags. +target_include_directories(${bindings_library} PRIVATE ${python_include_dir}) +target_include_directories(${bindings_library} PRIVATE ${shiboken_include_dir}) +target_include_directories(${bindings_library} PRIVATE ${CMAKE_SOURCE_DIR}) + +target_link_libraries(${bindings_library} PRIVATE ${shiboken_shared_libraries}) +target_link_libraries(${bindings_library} PRIVATE ${sample_library}) + +# Adjust the name of generated module. +set_property(TARGET ${bindings_library} PROPERTY PREFIX "") +set_property(TARGET ${bindings_library} PROPERTY OUTPUT_NAME + "${bindings_library}${PYTHON_EXTENSION_SUFFIX}") +if(WIN32) + if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") + set_property(TARGET ${bindings_library} PROPERTY SUFFIX "_d.pyd") + else() + set_property(TARGET ${bindings_library} PROPERTY SUFFIX ".pyd") + endif() +endif() + +# Make sure the linker doesn't complain about not finding Python symbols on macOS. +if(APPLE) + set_target_properties(${bindings_library} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup") +endif(APPLE) + +# Find and link to the python import library only on Windows. +# On Linux and macOS, the undefined symbols will get resolved by the dynamic linker +# (the symbols will be picked up in the Python executable). +if (WIN32) + list(GET python_linking_data 0 python_libdir) + list(GET python_linking_data 1 python_lib) + find_library(python_link_flags ${python_lib} PATHS ${python_libdir} HINTS ${python_libdir}) + target_link_libraries(${bindings_library} PRIVATE ${python_link_flags}) +endif() + + +# ================================= Dubious deployment section ================================ + +set(windows_shiboken_shared_libraries) + +if(WIN32) + # ========================================================================================= + # !!! (The section below is deployment related, so in a real world application you will + # want to take care of this properly (this is simply to eliminate errors that users usually + # encounter. + # ========================================================================================= + # Circumvent some "#pragma comment(lib)"s in "include/pyconfig.h" which might force to link + # against a wrong python shared library. + + set(python_versions_list 3 36 37 38 39) + set(python_additional_link_flags "") + foreach(ver ${python_versions_list}) + set(python_additional_link_flags + "${python_additional_link_flags} /NODEFAULTLIB:\"python${ver}_d.lib\"") + set(python_additional_link_flags + "${python_additional_link_flags} /NODEFAULTLIB:\"python${ver}.lib\"") + endforeach() + + set_target_properties(${bindings_library} + PROPERTIES LINK_FLAGS "${python_additional_link_flags}") + + # Compile a list of shiboken shared libraries to be installed, so that + # the user doesn't have to set the PATH manually to point to the PySide6 package. + foreach(library_path ${shiboken_shared_libraries}) + string(REGEX REPLACE ".lib$" ".dll" library_path ${library_path}) + file(TO_CMAKE_PATH ${library_path} library_path) + list(APPEND windows_shiboken_shared_libraries "${library_path}") + endforeach() + # ========================================================================================= + # !!! End of dubious section. + # ========================================================================================= +endif() + +# ============================================================================================= +# !!! (The section below is deployment related, so in a real world application you will want to +# take care of this properly with some custom script or tool). +# ============================================================================================= +# Install the library and the bindings module into the source folder near the main.py file, so +# that the Python interpeter successfully imports the used module. +install(TARGETS ${bindings_library} ${sample_library} + LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} + RUNTIME DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} + ) +install(FILES ${windows_shiboken_shared_libraries} DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}) +# ============================================================================================= +# !!! End of dubious section. +# ============================================================================================= diff --git a/examples/samplebinding/bindings.h b/examples/samplebinding/bindings.h new file mode 100644 index 0000000..36f0b86 --- /dev/null +++ b/examples/samplebinding/bindings.h @@ -0,0 +1,10 @@ +// Copyright (C) 2018 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef BINDINGS_H +#define BINDINGS_H + +#include "icecream.h" +#include "truck.h" + +#endif // BINDINGS_H diff --git a/examples/samplebinding/bindings.xml b/examples/samplebinding/bindings.xml new file mode 100644 index 0000000..fe5b4e5 --- /dev/null +++ b/examples/samplebinding/bindings.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/samplebinding/doc/bindings.h.rstinc b/examples/samplebinding/doc/bindings.h.rstinc new file mode 100644 index 0000000..e2a0b6f --- /dev/null +++ b/examples/samplebinding/doc/bindings.h.rstinc @@ -0,0 +1,2 @@ +The Shiboken generator needs a header file that includes +the types we are interested in: diff --git a/examples/samplebinding/doc/bindings.xml.rstinc b/examples/samplebinding/doc/bindings.xml.rstinc new file mode 100644 index 0000000..60b9b1a --- /dev/null +++ b/examples/samplebinding/doc/bindings.xml.rstinc @@ -0,0 +1,31 @@ +Shiboken requires an XML-based typesystem file that defines the +relationship between C++ and Python types. + +It declares the two aforementioned classes. One of them as an +“object-type” and the other as a “value-type”. The main difference is that +object-types are passed around in generated code as pointers, whereas +value-types are copied (value semantics). + +By specifying the names of these classes in the typesystem file, Shiboken +automatically tries to generate bindings for all methods of those +classes. You need not mention all the methods manually in the XML file, unless +you want to modify them. + +**Object ownership rules** + +Shiboken doesn't know if Python or C++ are responsible for freeing the C++ +objects that were allocated in the Python code, and assuming this might lead to +errors. There can be cases where Python should release the C++ memory when the +reference count of the Python object becomes zero, but it should never delete +the underlying C++ object just from assuming that it will not be deleted by +underlying C++ library, or if it's maybe parented to another object (like +QWidgets). + +In our case, the :code:`clone()` method is only called inside the C++ library, +and we assume that the C++ code takes care of releasing the cloned object. + +As for :code:`addIcecreamFlavor()`, we know that a :code:`Truck` owns the +:code:`Icecream` object, and will remove it once the :code:`Truck` is +destroyed. That's why the ownership is set to “c++” in the typesystem file, +so that the C++ objects are not deleted when the corresponding Python names +go out of scope. diff --git a/examples/samplebinding/doc/samplebinding.pyproject b/examples/samplebinding/doc/samplebinding.pyproject new file mode 100644 index 0000000..b078635 --- /dev/null +++ b/examples/samplebinding/doc/samplebinding.pyproject @@ -0,0 +1,11 @@ +{ + "files": ["../bindings.h", + "../bindings.xml", + "../icecream.cpp", + "../icecream.h", + "../macros.h", + "../main.py", + "../truck.cpp", + "../truck.h", + "../CMakeLists.txt"] +} diff --git a/examples/samplebinding/doc/samplebinding.rst b/examples/samplebinding/doc/samplebinding.rst new file mode 100644 index 0000000..e96e99d --- /dev/null +++ b/examples/samplebinding/doc/samplebinding.rst @@ -0,0 +1,288 @@ +Sample Bindings Example +======================= + +This example showcases how to generate Python bindings for a +non-Qt C++ library. + +The example defines a CMake project that builds two libraries: + +* ``libuniverse`` - a sample library with two C++ classes. + +* ``Universe`` - the generated Python extension module that contains + bindings to the library above. + +The project file is structured in such a way that a user can copy-paste +in into their own project, and be able to build it with a minimal amount +of modifications. + +Description ++++++++++++ + +The libuniverse library declares two classes: ``Icecream`` and ``Truck``. + +``Icecream`` objects have a flavor, and an accessor for returning the +flavor. + +``Truck`` instances store a vector of ``Icecream`` objects, and have various +methods for adding new flavors, printing available flavors, delivering +icecream, etc. + +From a C++ perspective, ``Icecream`` instances are treated as +*object types* (pointer semantics) because the class declares virtual +methods. + +In contrast ``Truck`` does not define virtual methods and is treated as +a *value type* (copy semantics). + +Because ``Truck`` is a value type and it stores a vector of ``Icecream`` +pointers, the rule of five has to be taken into account (implement the +copy constructor, assignment operator, move constructor, move assignment +operator and destructor). + +And due to ``Icecream`` objects being copyable, the type has to define an +implementation of the ``clone()`` method, to avoid type slicing issues. + +Both of these types and their methods will be exposed to Python by +generating CPython code. The code is generated by ``shiboken`` and +placed in separate ``.cpp`` files named after each C++ type. The code is +then compiled and linked into a shared library. The shared library is a +CPython extension module, which is loaded by the Python interpreter. + +Beacuse the C++ language has different semantics to Python, shiboken +needs help in figuring out how to generate the bindings code. This is +done by specifying a special XML file called a typesystem file. + +In the typesystem file you specify things like: + + * Which C++ classes should have bindings (Icecream, Truck) and with what + kind of semantics (value / object) + + * Ownership rules (who deletes the C++ objects, C++ or Python) + + * Code injection (for various special cases that shiboken doesn't know + about) + + * Package name (name of package as imported from Python) + +In this example we declare ``Icecream`` as an object type and ``Truck`` +as a value type. The ``clone()`` and ``addIcecreamFlavor(Icecream*)`` +need additional info about who owns the parameter objects when passing +them across language boundaries (in this case C++ will delete the objects). + +The ``Truck`` has getters and setters for the string ``arrivalMessage``. +In the type system file, we declare this to be a property in Python: + +.. code-block:: xml + + + + +It can then be used in a more pythonic way: + +.. code-block:: python + + special_truck.arrivalMessage = "A new SPECIAL icecream truck has arrived!\n" + +After shiboken generates the C++ code and CMake makes an extension +module from the code, the types can be accessed in Python simply by +importing them using the original C++ names. + +.. code-block:: python + + from Universe import Icecream, Truck + + +Constructing C++ wrapped objects is the same as in Python + +.. code-block:: python + + icecream = Icecream("vanilla") + truck = Truck() + + +And actual C++ constructors are mapped to the Python `__init__` method. + +.. code-block:: python + + class VanillaChocolateIcecream(Icecream): + def __init__(self, flavor=""): + super().__init__(flavor) + + +C++ methods can be accessed as regular Python methods using the C++ +names + +.. code-block:: python + + truck.addIcecreamFlavor(icecream) + +Inheritance works as with regular Python classes, and virtual C++ +methods can be overridden simply by definining a method with the same +name as in the C++ class. + +.. code-block:: python + + class VanillaChocolateIcecream(Icecream): + # ... + def getFlavor(self): + return "vanilla sprinked with chocolate" + + +The ``main.py`` script demonstrates usages of these types. + +The CMake project file contains many comments explaining all the build +rules for those interested in the build process. + +Building the project +++++++++++++++++++++ + +This example can only be built using ``CMake``. +The following requirements need to be met: + +* A PySide package is installed into the current active Python + environment (system or virtualenv) + +* A new enough version of CMake (3.16+). + +* ninja + +For Windows you will also need: + +* a Visual Studio environment to be active in your terminal + +* Correct visual studio architecture chosen (32 vs 64 bit) + +* Make sure that your Python intepreter and bindings project build + configuration is the same (all Release, which is more likely, + or all Debug). + +The build uses the ``pyside_config.py`` file to configure the project +using the current PySide/Shiboken installation. + +Using CMake +=========== + +You can build and run this example by executing the following commands +(slightly adapted to your file system layout) in a terminal: + +macOS/Linux: + +.. code-block:: bash + + cd ~/pyside-setup/examples/samplebinding + +On Windows: + +.. code-block:: bash + + cd C:\pyside-setup\examples\samplebinding + +.. code-block:: bash + + mkdir build + cd build + cmake -H.. -B. -G Ninja -DCMAKE_BUILD_TYPE=Release + ninja + ninja install + cd .. + +Use the Python module ++++++++++++++++++++++ + +The final example can then be run by: + +.. code-block:: bash + + python main.py + +In the ``main.py`` script, two types are derived from :code:`Icecream` for +different “flavors” after importing the classes from the :code:`Universe` +module. Then, a :code:`truck` is created to deliver some regular flavored +Icecreams and two special ones. + +If the delivery fails, a new :code:`truck` is created with the old flavors +copied over, and a new *magical* flavor that will surely satisfy all customers. + +Try running it to see if the ice creams are delivered. + +Windows troubleshooting ++++++++++++++++++++++++ + +It is possible that ``CMake`` can pick up the wrong compiler +for a different architecture, but it can be addressed explicitly +by setting the ``CC`` environment variable: + +.. code-block:: bash + + set CC=cl + +passing the compiler on the command line: + +.. code-block:: bash + + cmake -H.. -B. -DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.exe + +or by using the -G option: + +.. code-block:: bash + + cmake -H.. -B. -G "Visual Studio 14 Win64" + +If the ``-G "Visual Studio 14 Win64"`` option is used, a ``sln`` file +will be generated, and can be used with ``MSBuild`` +instead of ``ninja``. +The easiest way to both build and install in this case, is to use +the cmake executable: + +.. code-block:: bash + + cmake --build . --target install --config Release + +Note that using the ``"Ninja"`` generator is preferred to +the MSBuild one, because the MSBuild one generates configs for both +Debug and Release, and this might lead to building errors if you +accidentally build the wrong config at least once. + +Virtualenv Support +++++++++++++++++++ + +If the python application is started from a terminal with an activated +python virtual environment, that environment's packages will be used for +the python module import process. +In this case, make sure that the bindings were built while the +``virtualenv`` was active, so that the build system picks up the correct +python shared library and PySide6 / shiboken package. + +Linux Shared Libraries Notes +++++++++++++++++++++++++++++ + +For this example's purpose, we link against the absolute path of the +dependent shared library ``libshiboken`` because the +installation of the library is done via a wheel, and there is +no clean solution to include symbolic links in a wheel package +(so that passing -lshiboken to the linker would work). + +Windows Notes ++++++++++++++ + +The build config of the bindings (Debug or Release) should match +the PySide build config, otherwise the application will not properly +work. + +In practice this means the only supported configurations are: + +#. release config build of the bindings + + PySide ``setup.py`` without ``--debug`` flag + ``python.exe`` for the + PySide build process + ``python39.dll`` for the linked in shared + library. + +#. debug config build of the application + + PySide ``setup.py`` *with* ``--debug`` flag + ``python_d.exe`` for the + PySide build process + ``python39_d.dll`` for the linked in shared + library. + +This is necessary because all the shared libraries in question have to +link to the same C++ runtime library (``msvcrt.dll`` or ``msvcrtd.dll``). +To make the example as self-contained as possible, the shared libraries +in use (``pyside6.dll``, ``shiboken6.dll``) are hard-linked into the build +folder of the application. diff --git a/examples/samplebinding/icecream.cpp b/examples/samplebinding/icecream.cpp new file mode 100644 index 0000000..4a81bd0 --- /dev/null +++ b/examples/samplebinding/icecream.cpp @@ -0,0 +1,26 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#include "icecream.h" + +#include + +Icecream::Icecream(const std::string &flavor) : m_flavor(flavor) {} + +Icecream::~Icecream() = default; + +std::string Icecream::getFlavor() const +{ + return m_flavor; +} + +Icecream *Icecream::clone() +{ + return new Icecream(*this); +} + +std::ostream &operator<<(std::ostream &str, const Icecream &i) +{ + str << i.getFlavor(); + return str; +} diff --git a/examples/samplebinding/icecream.h b/examples/samplebinding/icecream.h new file mode 100644 index 0000000..7d5e97d --- /dev/null +++ b/examples/samplebinding/icecream.h @@ -0,0 +1,26 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef ICECREAM_H +#define ICECREAM_H + +#include "macros.h" + +#include +#include + +class BINDINGS_API Icecream +{ +public: + explicit Icecream(const std::string &flavor); + virtual Icecream *clone(); + virtual ~Icecream(); + virtual std::string getFlavor() const; + +private: + std::string m_flavor; +}; + +std::ostream &operator<<(std::ostream &str, const Icecream &i); + +#endif // ICECREAM_H diff --git a/examples/samplebinding/macros.h b/examples/samplebinding/macros.h new file mode 100644 index 0000000..af1874f --- /dev/null +++ b/examples/samplebinding/macros.h @@ -0,0 +1,21 @@ +// Copyright (C) 2018 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef MACROS_H +#define MACROS_H + +#if defined _WIN32 || defined __CYGWIN__ + // Export symbols when creating .dll and .lib, and import them when using .lib. + #if BINDINGS_BUILD + #define BINDINGS_API __declspec(dllexport) + #else + #define BINDINGS_API __declspec(dllimport) + #endif + // Disable warnings about exporting STL types being a bad idea. Don't use this in production + // code. + #pragma warning( disable : 4251 ) +#else + #define BINDINGS_API +#endif + +#endif // MACROS_H diff --git a/examples/samplebinding/main.py b/examples/samplebinding/main.py new file mode 100644 index 0000000..cb9f116 --- /dev/null +++ b/examples/samplebinding/main.py @@ -0,0 +1,64 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""An example showcasing how to use bindings for a custom non-Qt C++ library""" + +from Universe import Icecream, Truck + + +class VanillaChocolateIcecream(Icecream): + def __init__(self, flavor=""): + super().__init__(flavor) + + def clone(self): + return VanillaChocolateIcecream(self.getFlavor()) + + def getFlavor(self): + return "vanilla sprinked with chocolate" + + +class VanillaChocolateCherryIcecream(VanillaChocolateIcecream): + def __init__(self, flavor=""): + super().__init__(flavor) + + def clone(self): + return VanillaChocolateCherryIcecream(self.getFlavor()) + + def getFlavor(self): + base_flavor = super(VanillaChocolateCherryIcecream, self).getFlavor() + return f"{base_flavor} and a cherry" + + +if __name__ == '__main__': + leave_on_destruction = True + truck = Truck(leave_on_destruction) + + flavors = ["vanilla", "chocolate", "strawberry"] + for f in flavors: + icecream = Icecream(f) + truck.addIcecreamFlavor(icecream) + + truck.addIcecreamFlavor(VanillaChocolateIcecream()) + truck.addIcecreamFlavor(VanillaChocolateCherryIcecream()) + + truck.arrive() + truck.printAvailableFlavors() + result = truck.deliver() + + if result: + print("All the kids got some icecream!") + else: + print("Aww, someone didn't get the flavor they wanted...") + + if not result: + special_truck = Truck(truck) + del truck + + print("") + special_truck.arrivalMessage = "A new SPECIAL icecream truck has arrived!\n" + special_truck.arrive() + special_truck.addIcecreamFlavor(Icecream("SPECIAL *magical* icecream")) + special_truck.printAvailableFlavors() + special_truck.deliver() + print("Now everyone got the flavor they wanted!") + special_truck.leave() diff --git a/examples/samplebinding/truck.cpp b/examples/samplebinding/truck.cpp new file mode 100644 index 0000000..819d2b1 --- /dev/null +++ b/examples/samplebinding/truck.cpp @@ -0,0 +1,93 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#include +#include + +#include "truck.h" + +Truck::Truck(bool leaveOnDestruction) : m_leaveOnDestruction(leaveOnDestruction) {} + +Truck::Truck(const Truck &other) +{ + assign(other); +} + +Truck &Truck::operator=(const Truck &other) +{ + if (this != &other) { + m_flavors.clear(); + assign(other); + } + return *this; +} + +Truck::Truck(Truck &&other) = default; + +Truck& Truck::operator=(Truck &&other) = default; + +Truck::~Truck() +{ + if (m_leaveOnDestruction) + leave(); +} + +void Truck::addIcecreamFlavor(Icecream *icecream) +{ + m_flavors.push_back(IcecreamPtr(icecream)); +} + +void Truck::printAvailableFlavors() const +{ + std::cout << "It sells the following flavors: \n"; + for (const auto &flavor : m_flavors) + std::cout << " * " << *flavor << '\n'; + std::cout << '\n'; +} + +void Truck::arrive() const +{ + std::cout << m_arrivalMessage; +} + +void Truck::leave() const +{ + std::cout << "The truck left the neighborhood.\n"; +} + +void Truck::setLeaveOnDestruction(bool value) +{ + m_leaveOnDestruction = value; +} + +void Truck::setArrivalMessage(const std::string &message) +{ + m_arrivalMessage = message; +} + +std::string Truck::getArrivalMessage() const +{ + return m_arrivalMessage; +} + +void Truck::assign(const Truck &other) +{ + m_flavors.reserve(other.m_flavors.size()); + for (const auto &f : other.m_flavors) + m_flavors.push_back(IcecreamPtr(f->clone())); +} + +bool Truck::deliver() const +{ + std::random_device rd; + std::mt19937 mt(rd()); + std::uniform_int_distribution dist(1, 2); + + std::cout << "The truck started delivering icecream to all the kids in the neighborhood.\n"; + bool result = false; + + if (dist(mt) == 2) + result = true; + + return result; +} diff --git a/examples/samplebinding/truck.h b/examples/samplebinding/truck.h new file mode 100644 index 0000000..f7afd12 --- /dev/null +++ b/examples/samplebinding/truck.h @@ -0,0 +1,46 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef TRUCK_H +#define TRUCK_H + +#include "icecream.h" +#include "macros.h" + +#include +#include + +class BINDINGS_API Truck +{ +public: + explicit Truck(bool leaveOnDestruction = false); + Truck(const Truck &other); + Truck& operator=(const Truck &other); + Truck(Truck &&other); + Truck& operator=(Truck &&other); + + ~Truck(); + + void addIcecreamFlavor(Icecream *icecream); + void printAvailableFlavors() const; + + bool deliver() const; + void arrive() const; + void leave() const; + + void setLeaveOnDestruction(bool value); + + void setArrivalMessage(const std::string &message); + std::string getArrivalMessage() const; + +private: + using IcecreamPtr = std::shared_ptr; + + void assign(const Truck &other); + + bool m_leaveOnDestruction = false; + std::string m_arrivalMessage = "A new icecream truck has arrived!\n"; + std::vector m_flavors; +}; + +#endif // TRUCK_H diff --git a/examples/scriptableapplication/CMakeLists.txt b/examples/scriptableapplication/CMakeLists.txt new file mode 100644 index 0000000..3117462 --- /dev/null +++ b/examples/scriptableapplication/CMakeLists.txt @@ -0,0 +1,228 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.18) +cmake_policy(VERSION 3.18) + +# Enable policy to run automoc on generated files. +if(POLICY CMP0071) + cmake_policy(SET CMP0071 NEW) +endif() + +project(scriptableapplication) + +# Set CPP standard to C++17 minimum. +set(CMAKE_CXX_STANDARD 17) + +# Find required Qt packages. +find_package(Qt6 COMPONENTS Core Gui Widgets) + +# Use provided python interpreter if given. +if(NOT python_interpreter) + if(WIN32 AND "${CMAKE_BUILD_TYPE}" STREQUAL "Debug") + find_program(python_interpreter "python_d") + if(NOT python_interpreter) + message(FATAL_ERROR + "A debug Python interpreter could not be found, which is a requirement when " + "building this example in a debug configuration. Make sure python_d.exe is in " + "PATH.") + endif() + else() + find_program(python_interpreter "python") + if(NOT python_interpreter) + message(FATAL_ERROR + "No Python interpreter could be found. Make sure python is in PATH.") + endif() + endif() +endif() +message(STATUS "Using python interpreter: ${python_interpreter}") + +# Macro to get various pyside / python include / link flags. +macro(pyside_config option output_var) + if(${ARGC} GREATER 2) + set(is_list ${ARGV2}) + else() + set(is_list "") + endif() + + execute_process( + COMMAND ${python_interpreter} "${CMAKE_SOURCE_DIR}/../utils/pyside_config.py" + ${option} + OUTPUT_VARIABLE ${output_var} + OUTPUT_STRIP_TRAILING_WHITESPACE) + + if ("${${output_var}}" STREQUAL "") + message(FATAL_ERROR "Error: Calling pyside_config.py ${option} returned no output.") + endif() + if(is_list) + string (REPLACE " " ";" ${output_var} "${${output_var}}") + endif() +endmacro() + +# Query for the shiboken6-generator path, PySide6 path, Python path, include paths and linker flags. +pyside_config(--shiboken-module-path SHIBOKEN_MODULE_PATH) +pyside_config(--shiboken-generator-path SHIBOKEN_GENERATOR_PATH) +pyside_config(--pyside-path PYSIDE_PATH) + +pyside_config(--python-include-path PYTHON_INCLUDE_DIR) +pyside_config(--shiboken-generator-include-path SHIBOKEN_GENERATOR_INCLUDE_DIR 1) +pyside_config(--pyside-include-path PYSIDE_INCLUDE_DIR 1) + +pyside_config(--python-link-flags-cmake PYTHON_LINKING_DATA 0) +pyside_config(--shiboken-module-shared-libraries-cmake SHIBOKEN_MODULE_SHARED_LIBRARIES 0) +pyside_config(--pyside-shared-libraries-cmake PYSIDE_SHARED_LIBRARIES 0) + +set(SHIBOKEN_PATH "${SHIBOKEN_GENERATOR_PATH}/shiboken6${CMAKE_EXECUTABLE_SUFFIX}") + +if(NOT EXISTS ${SHIBOKEN_PATH}) + message(FATAL_ERROR "Shiboken executable not found at path: ${SHIBOKEN_PATH}") +endif() + + +# Get all relevant Qt include dirs, to pass them on to shiboken. +get_property(QT_WIDGETS_INCLUDE_DIRS TARGET Qt6::Widgets PROPERTY INTERFACE_INCLUDE_DIRECTORIES) +set(INCLUDES "") +foreach(INCLUDE_DIR ${QT_WIDGETS_INCLUDE_DIRS}) + list(APPEND INCLUDES "-I${INCLUDE_DIR}") +endforeach() + +# On macOS, check if Qt is a framework build. This affects how include paths should be handled. +get_target_property(QtCore_is_framework Qt6::Core FRAMEWORK) +if (QtCore_is_framework) + get_target_property(qt_core_library_location Qt6::Core LOCATION) + # PYSIDE-623: We move up until the directory contains all the frameworks. + # This is "lib" in ".../lib/QtCore.framework/Versions/A/QtCore". + get_filename_component(lib_dir "${qt_core_library_location}/../../../.." ABSOLUTE) + list(APPEND INCLUDES "--framework-include-paths=${lib_dir}") +endif() + +# Set up the options to pass to shiboken. +set(WRAPPED_HEADER ${CMAKE_SOURCE_DIR}/wrappedclasses.h) +set(TYPESYSTEM_FILE ${CMAKE_SOURCE_DIR}/scriptableapplication.xml) + +set(SHIBOKEN_OPTIONS --generator-set=shiboken --enable-parent-ctor-heuristic + --enable-pyside-extensions --enable-return-value-heuristic --use-isnull-as-nb_nonzero + --avoid-protected-hack + ${INCLUDES} + -I${CMAKE_SOURCE_DIR} + -T${CMAKE_SOURCE_DIR} + -T${PYSIDE_PATH}/typesystems + --output-directory=${CMAKE_CURRENT_BINARY_DIR} + ) + +# Specify which sources will be generated by shiboken, and their dependencies. +set(GENERATED_SOURCES + ${CMAKE_CURRENT_BINARY_DIR}/AppLib/applib_module_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/AppLib/mainwindow_wrapper.cpp) + +set(GENERATED_SOURCES_DEPENDENCIES + ${WRAPPED_HEADER} + ${TYPESYSTEM_FILE} + ) + +# Add custom target to run shiboken. +add_custom_command(OUTPUT ${GENERATED_SOURCES} + COMMAND ${SHIBOKEN_PATH} + ${SHIBOKEN_OPTIONS} ${WRAPPED_HEADER} ${TYPESYSTEM_FILE} + DEPENDS ${GENERATED_SOURCES_DEPENDENCIES} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Running generator for ${TYPESYSTEM_FILE}.") + +# Set the CPP files. +set(SOURCES + mainwindow.cpp + pythonutils.cpp + ${GENERATED_SOURCES} + ) + +# We need to include the headers for the module bindings that we use. +set(PYSIDE_ADDITIONAL_INCLUDES "") +foreach(INCLUDE_DIR ${PYSIDE_INCLUDE_DIR}) + list(APPEND PYSIDE_ADDITIONAL_INCLUDES "${INCLUDE_DIR}/QtCore") + list(APPEND PYSIDE_ADDITIONAL_INCLUDES "${INCLUDE_DIR}/QtGui") + list(APPEND PYSIDE_ADDITIONAL_INCLUDES "${INCLUDE_DIR}/QtWidgets") +endforeach() + +# ============================================================================================= +# !!! (The section below is deployment related, so in a real world application you will want to +# take care of this properly with some custom script or tool). +# ============================================================================================= +# Enable rpaths so that the example can be executed from the build dir. +set(CMAKE_SKIP_BUILD_RPATH FALSE) +set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) +set(CMAKE_INSTALL_RPATH ${PYSIDE_PATH} ${SHIBOKEN_MODULE_PATH}) +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +# ============================================================================================= +# !!! End of dubious section. +# ============================================================================================= + +# Declare executable so we can enable automoc. +add_executable(${PROJECT_NAME} main.cpp) + +# Enable automoc. +set_property(TARGET ${PROJECT_NAME} PROPERTY AUTOMOC 1) + +# Add the rest of the sources. +target_sources(${PROJECT_NAME} PUBLIC ${SOURCES}) + +# Apply relevant include and link flags. +target_include_directories(${PROJECT_NAME} PRIVATE ${PYTHON_INCLUDE_DIR}) +target_include_directories(${PROJECT_NAME} PRIVATE ${SHIBOKEN_GENERATOR_INCLUDE_DIR}) +target_include_directories(${PROJECT_NAME} PRIVATE ${PYSIDE_INCLUDE_DIR}) +target_include_directories(${PROJECT_NAME} PRIVATE ${PYSIDE_ADDITIONAL_INCLUDES}) +target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}) + +target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Widgets) +target_link_libraries(${PROJECT_NAME} PRIVATE ${SHIBOKEN_MODULE_SHARED_LIBRARIES}) +target_link_libraries(${PROJECT_NAME} PRIVATE ${PYSIDE_SHARED_LIBRARIES}) + +# Find and link to the python library. +list(GET PYTHON_LINKING_DATA 0 PYTHON_LIBDIR) +list(GET PYTHON_LINKING_DATA 1 PYTHON_LIB) +find_library(PYTHON_LINK_FLAGS ${PYTHON_LIB} PATHS ${PYTHON_LIBDIR} HINTS ${PYTHON_LIBDIR}) +target_link_libraries(${PROJECT_NAME} PRIVATE ${PYTHON_LINK_FLAGS}) + +# Same as CONFIG += no_keywords to avoid syntax errors in object.h due to the usage of the word Slot +target_compile_definitions(${PROJECT_NAME} PRIVATE QT_NO_KEYWORDS) + +if(WIN32) + # ============================================================================================= + # !!! (The section below is deployment related, so in a real world application you will want to + # take care of this properly (this is simply to eliminate errors that users usually encounter. + # ============================================================================================= + # Circumvent some "#pragma comment(lib)"s in "include/pyconfig.h" which might force to link + # against a wrong python shared library. + + set(PYTHON_VERSIONS_LIST 3 36 37 38 39) + set(PYTHON_ADDITIONAL_LINK_FLAGS "") + foreach(VER ${PYTHON_VERSIONS_LIST}) + set(PYTHON_ADDITIONAL_LINK_FLAGS + "${PYTHON_ADDITIONAL_LINK_FLAGS} /NODEFAULTLIB:\"python${VER}_d.lib\"") + set(PYTHON_ADDITIONAL_LINK_FLAGS + "${PYTHON_ADDITIONAL_LINK_FLAGS} /NODEFAULTLIB:\"python${VER}.lib\"") + endforeach() + + set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "${PYTHON_ADDITIONAL_LINK_FLAGS}") + + # Add custom target to hard link PySide6 shared libraries (just like in qmake example), so you + # don't have to set PATH manually to point to the PySide6 package. + set(shared_libraries ${SHIBOKEN_MODULE_SHARED_LIBRARIES} ${PYSIDE_SHARED_LIBRARIES}) + foreach(LIBRARY_PATH ${shared_libraries}) + string(REGEX REPLACE ".lib$" ".dll" LIBRARY_PATH ${LIBRARY_PATH}) + get_filename_component(BASE_NAME ${LIBRARY_PATH} NAME) + file(TO_NATIVE_PATH ${LIBRARY_PATH} SOURCE_PATH) + file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}/${BASE_NAME}" DEST_PATH) + add_custom_command(OUTPUT "${BASE_NAME}" + COMMAND mklink /H "${DEST_PATH}" "${SOURCE_PATH}" + DEPENDS ${LIBRARY_PATH} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Creating hardlink to PySide6 shared library ${BASE_NAME}") + + # Fake target that depends on the previous one, but has special ALL keyword, which means + # it will always be executed. + add_custom_target("fake_${BASE_NAME}" ALL DEPENDS ${BASE_NAME}) + endforeach() + # ============================================================================================= + # !!! End of dubious section. + # ============================================================================================= +endif() diff --git a/examples/scriptableapplication/doc/scriptableapplication.pyproject b/examples/scriptableapplication/doc/scriptableapplication.pyproject new file mode 100644 index 0000000..eee5411 --- /dev/null +++ b/examples/scriptableapplication/doc/scriptableapplication.pyproject @@ -0,0 +1,9 @@ +{ + "files": ["../main.cpp", + "../mainwindow.cpp", + "../mainwindow.h", + "../pythonutils.cpp", + "../pythonutils.h", + "../wrappedclasses.h", + "../CMakeLists.txt"] +} diff --git a/examples/scriptableapplication/doc/scriptableapplication.rst b/examples/scriptableapplication/doc/scriptableapplication.rst new file mode 100644 index 0000000..b00d654 --- /dev/null +++ b/examples/scriptableapplication/doc/scriptableapplication.rst @@ -0,0 +1,195 @@ +Scriptable Application Example +============================== + +This example demonstrates how to make a Qt C++ application scriptable. + +It has a class ``MainWindow`` (files ``mainwindow.cpp,h``) +that inherits from ``QMainWindow``, for which bindings are generated +using Shiboken. + +The header ``wrappedclasses.h`` is passed to Shiboken which generates +class wrappers and headers in a sub directory called ``AppLib/`` +which are linked to the application. + +The files ``pythonutils.cpp,h`` contain some code which binds the +instance of ``MainWindow`` to a variable called ``mainWindow`` in +the global Python namespace (``__main___``). +It is then possible to run Python script snippets like: + +.. code-block:: python + + mainWindow.testFunction1() + +which trigger the underlying C++ function. + +Building the project +******************** + +This example can be built using ``CMake`` or ``QMake``, +but there are common requirements that you need to take into +consideration: + +* Make sure that a --standalone PySide package (bundled with Qt libraries) + is installed into the current active Python environment + (system or virtualenv) +* qmake has to be in your PATH: + + * so that CMake find_package(Qt6 COMPONENTS Core) works (used for include + headers), + * used for building the application with qmake instead of CMake + +* use the same Qt version for building the example application, as was used + for building PySide, this is to ensure binary compatibility between the + newly generated bindings libraries, the PySide libraries and the + Qt libraries. + +For Windows you will also need: +* a Visual Studio environment to be active in your terminal + +* Correct visual studio architecture chosen (32 vs 64 bit) + +* Make sure that your Qt + Python + PySide package + app build configuration + is the same (all Release, which is more likely, or all Debug). + +* Make sure that your Qt + Python + PySide package + app are built with a + compatible version of MSVC, to avoid mixing of C++ runtime libraries. + +Both build options will use the ``pyside_config.py`` file to configure the project +using the current PySide/Shiboken installation (for qmake via ``pyside.pri``, +and for CMake via the project ``CMakeLists.txt``). + + +Using CMake ++++++++++++ + +To build this example with CMake you will need a recent version of CMake (3.16+). + +You can build this example by executing the following commands +(slightly adapted to your file system layout) in a terminal: + +macOS/Linux: + +.. code-block:: bash + + cd ~/pyside-setup/examples/scriptableapplication + +On Windows: + +.. code-block:: bash + + cd C:\pyside-setup\examples\scriptableapplication + + +.. code-block:: bash + + mkdir build + cd build + cmake -H.. -B. -G Ninja -DCMAKE_BUILD_TYPE=Release + ninja + ./scriptableapplication + +Using QMake ++++++++++++ + +The file ``scriptableapplication.pro`` is the project file associated +to the example when using qmake. + +You can build this example by executing: + +.. code-block:: bash + + mkdir build + cd build + qmake .. + make # or nmake / jom for Windows + + +Windows troubleshooting +*********************** + +Using ``qmake`` should work out of the box, there was a known issue +with directories and white spaces that is solved by using the +"~1" character, so the path will change from: +``c:\Program Files\Python39\libs`` +to +``c:\Progra~1\Python39\libs`` +this will avoid the issues when the Makefiles are generated. + +It is possible when using ``CMake`` to pick up the wrong compiler +for a different architecture, but it can be addressed explicitly +by setting the ``CC`` environment variable: + +.. code-block:: bash + + set CC=cl + +passing the compiler on the command line: + +.. code-block:: bash + + cmake -H.. -B. -DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.exe + +or using the -G option: + +.. code-block:: bash + + cmake -H.. -B. -G "Visual Studio 14 Win64" -DCMAKE_BUILD_TYPE=Release + + +If the ``-G "Visual Studio 14 Win64"`` option is used, a ``sln`` file +will be generated, and can be used with ``MSBuild`` +instead of ``ninja``. + +.. code-block:: bash + + MSBuild scriptableapplication.sln "/p:Configuration=Release" + +Note that using the "Ninja" generator is preferred to +the MSBuild one, because in the latter case the executable is placed +into a directory other than the one that contains the dependency +dlls (shiboken, pyside). This leads to execution problems if the +application is started within the Release subdirectory and not the +one containing the dependencies. + +Virtualenv Support +****************** + +If the application is started from a terminal with an activated python +virtual environment, that environment's packages will be used for the +python module import process. +In this case, make sure that the application was built while the +`virtualenv` was active, so that the build system picks up the correct +python shared library and PySide package. + +Linux Shared Libraries Notes +**************************** + +For this example's purpose, we link against the absolute paths of the +shared libraries (``libshiboken`` and ``libpyside``) because the +installation of the modules is being done via wheels, and there is +no clean solution to include symbolic links in the package +(so that regular -lshiboken works). + +Windows Notes +************* + +The build config of the application (Debug or Release) should match +the PySide6 build config, otherwise the application will not properly +work. + +In practice this means the only supported configurations are: + +#. release config build of the application + + PySide ``setup.py`` without ``--debug`` flag + ``python.exe`` for the + PySide build process + ``python39.dll`` for the linked in shared + library + release build of Qt. +#. debug config build of the application + + PySide ``setup.py`` *with* ``--debug`` flag + ``python_d.exe`` for the + PySide build process + ``python39_d.dll`` for the linked in shared + library + debug build of Qt. + +This is necessary because all the shared libraries in question have to +link to the same C++ runtime library (``msvcrt.dll`` or ``msvcrtd.dll``). +To make the example as self-contained as possible, the shared libraries +in use (``pyside6.dll``, ``shiboken6.dll``) are hard-linked into the build +folder of the application. diff --git a/examples/scriptableapplication/main.cpp b/examples/scriptableapplication/main.cpp new file mode 100644 index 0000000..8fe7ee8 --- /dev/null +++ b/examples/scriptableapplication/main.cpp @@ -0,0 +1,17 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#include "mainwindow.h" + +#include +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow mainWindow; + const QRect availableGeometry = mainWindow.screen()->availableGeometry(); + mainWindow.resize(availableGeometry.width() / 2, availableGeometry.height() / 2); + mainWindow.show(); + return a.exec(); +} diff --git a/examples/scriptableapplication/mainwindow.cpp b/examples/scriptableapplication/mainwindow.cpp new file mode 100644 index 0000000..26d80a7 --- /dev/null +++ b/examples/scriptableapplication/mainwindow.cpp @@ -0,0 +1,107 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#include "mainwindow.h" +#include "pythonutils.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +using namespace Qt::StringLiterals; + +static const auto defaultScript = R"(import AppLib +print("Hello, world") +mainWindow.testFunction1() +)"_L1; + +MainWindow::MainWindow() + : m_scriptEdit(new QPlainTextEdit(defaultScript, this)) +{ + setWindowTitle(tr("Scriptable Application")); + + auto *fileMenu = menuBar()->addMenu(tr("&File")); + const QIcon runIcon = QIcon::fromTheme("system-run"_L1); + auto *runAction = fileMenu->addAction(runIcon, tr("&Run..."), + this, &MainWindow::slotRunScript); + runAction->setShortcut(Qt::CTRL | Qt::Key_R); + auto *diagnosticAction = fileMenu->addAction(tr("&Print Diagnostics"), + this, &MainWindow::slotPrintDiagnostics); + diagnosticAction->setShortcut(Qt::CTRL | Qt::Key_D); + fileMenu->addAction(tr("&Invoke testFunction1()"), + this, &MainWindow::testFunction1); + const QIcon quitIcon = QIcon::fromTheme("application-exit"_L1); + auto *quitAction = fileMenu->addAction(quitIcon, tr("&Quit"), + qApp, &QCoreApplication::quit); + quitAction->setShortcut(Qt::CTRL | Qt::Key_Q); + + auto *editMenu = menuBar()->addMenu(tr("&Edit")); + const QIcon clearIcon = QIcon::fromTheme("edit-clear"_L1); + auto *clearAction = editMenu->addAction(clearIcon, tr("&Clear"), + m_scriptEdit, &QPlainTextEdit::clear); + + auto *helpMenu = menuBar()->addMenu(tr("&Help")); + const QIcon aboutIcon = QIcon::fromTheme("help-about"_L1); + auto *aboutAction = helpMenu->addAction(aboutIcon, tr("&About Qt"), + qApp, &QApplication::aboutQt); + + auto *toolBar = new QToolBar; + addToolBar(toolBar); + toolBar->addAction(quitAction); + toolBar->addSeparator(); + toolBar->addAction(clearAction); + toolBar->addSeparator(); + toolBar->addAction(runAction); + toolBar->addSeparator(); + toolBar->addAction(aboutAction); + + m_scriptEdit->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + setCentralWidget(m_scriptEdit); + + if (!PythonUtils::bindAppObject("__main__"_L1, "mainWindow"_L1, + PythonUtils::MainWindowType, this)) { + statusBar()->showMessage(tr("Error loading the application module")); + } +} + +void MainWindow::slotRunScript() +{ + const QString text = m_scriptEdit->toPlainText().trimmed(); + if (!text.isEmpty()) + runScript(text); +} + +void MainWindow::slotPrintDiagnostics() +{ + const QString script = R"P(import sys +print('Path=', sys.path) +print('Executable=', sys.executable) +)P"_L1; + runScript(script); +} + +void MainWindow::runScript(const QString &script) +{ + if (!::PythonUtils::runScript(script)) + statusBar()->showMessage(tr("Error running script")); +} + +void MainWindow::testFunction1() +{ + static int n = 1; + QString message; + QTextStream(&message) << __FUNCTION__ << " called #" << n++; + qDebug().noquote() << message; + statusBar()->showMessage(message); +} diff --git a/examples/scriptableapplication/mainwindow.h b/examples/scriptableapplication/mainwindow.h new file mode 100644 index 0000000..476243f --- /dev/null +++ b/examples/scriptableapplication/mainwindow.h @@ -0,0 +1,29 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +class QPlainTextEdit; + +class MainWindow : public QMainWindow +{ + Q_OBJECT +public: + MainWindow(); + + void testFunction1(); + +private Q_SLOTS: + void slotRunScript(); + void slotPrintDiagnostics(); + +private: + void runScript(const QString &); + + QPlainTextEdit *m_scriptEdit; +}; + +#endif // MAINWINDOW_H diff --git a/examples/scriptableapplication/pyside.pri b/examples/scriptableapplication/pyside.pri new file mode 100644 index 0000000..39c8a67 --- /dev/null +++ b/examples/scriptableapplication/pyside.pri @@ -0,0 +1,52 @@ +PYSIDE_CONFIG = $$PWD/../utils/pyside_config.py + +# Use provided python interpreter if given. +isEmpty(python_interpreter) { + python_interpreter = python +} +message(Using python interpreter: $$python_interpreter) + +SHIBOKEN_GENERATOR = $$system($$python_interpreter $$PYSIDE_CONFIG --shiboken-generator-path) +isEmpty(SHIBOKEN_GENERATOR): error(Unable to locate the shiboken-generator package location) + +SHIBOKEN_MODULE = $$system($$python_interpreter $$PYSIDE_CONFIG --shiboken-module-path) +isEmpty(SHIBOKEN_MODULE): error(Unable to locate the shiboken package location) + +PYSIDE = $$system($$python_interpreter $$PYSIDE_CONFIG --pyside-path) +isEmpty(PYSIDE): error(Unable to locate the PySide package location) + +PYTHON_INCLUDE = $$system($$python_interpreter $$PYSIDE_CONFIG --python-include-path) +isEmpty(PYTHON_INCLUDE): error(Unable to locate the Python include headers directory) + +PYTHON_LFLAGS = $$system($$python_interpreter $$PYSIDE_CONFIG --python-link-flags-qmake) +isEmpty(PYTHON_LFLAGS): error(Unable to locate the Python library for linking) + +SHIBOKEN_INCLUDE = $$system($$python_interpreter $$PYSIDE_CONFIG --shiboken-generator-include-path) +isEmpty(SHIBOKEN_INCLUDE): error(Unable to locate the shiboken include headers directory) + +PYSIDE_INCLUDE = $$system($$python_interpreter $$PYSIDE_CONFIG --pyside-include-path) +isEmpty(PYSIDE_INCLUDE): error(Unable to locate PySide include headers directory) + +SHIBOKEN_LFLAGS = $$system($$python_interpreter $$PYSIDE_CONFIG --shiboken-module-qmake-lflags) +isEmpty(SHIBOKEN_LFLAGS): error(Unable to locate the shiboken libraries for linking) + +PYSIDE_LFLAGS = $$system($$python_interpreter $$PYSIDE_CONFIG --pyside-qmake-lflags) +isEmpty(PYSIDE_LFLAGS): error(Unable to locate the PySide libraries for linking) + +SHIBOKEN_SHARED_LIBRARIES = $$system($$python_interpreter $$PYSIDE_CONFIG --shiboken-module-shared-libraries-qmake) +isEmpty(SHIBOKEN_SHARED_LIBRARIES): error(Unable to locate the used shiboken module shared libraries) + +PYSIDE_SHARED_LIBRARIES = $$system($$python_interpreter $$PYSIDE_CONFIG --pyside-shared-libraries-qmake) +isEmpty(PYSIDE_SHARED_LIBRARIES): error(Unable to locate the used PySide shared libraries) + +INCLUDEPATH += "$$PYTHON_INCLUDE" $$PYSIDE_INCLUDE $$SHIBOKEN_INCLUDE +LIBS += $$PYTHON_LFLAGS $$PYSIDE_LFLAGS $$SHIBOKEN_LFLAGS +!build_pass:message(INCLUDEPATH is $$INCLUDEPATH) +!build_pass:message(LIBS are $$LIBS) + +!build_pass:message(Using $$PYSIDE) + +!win32 { + !build_pass:message(RPATH will include $$PYSIDE and $$SHIBOKEN_MODULE) + QMAKE_RPATHDIR += $$PYSIDE $$SHIBOKEN_MODULE +} diff --git a/examples/scriptableapplication/pythonutils.cpp b/examples/scriptableapplication/pythonutils.cpp new file mode 100644 index 0000000..8104bb1 --- /dev/null +++ b/examples/scriptableapplication/pythonutils.cpp @@ -0,0 +1,134 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#include "pythonutils.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +/* from AppLib bindings */ + +extern "C" PyObject *PyInit_AppLib(); +static const char moduleName[] = "AppLib"; + +// This variable stores all Python types exported by this module. +extern PyTypeObject **SbkAppLibTypes; + +// This variable stores all type converters exported by this module. +extern SbkConverter **SbkAppLibTypeConverters; + +namespace PythonUtils { + +static State state = PythonUninitialized; + +static void cleanup() +{ + if (state > PythonUninitialized) { + Py_Finalize(); + state = PythonUninitialized; + } +} + +static const char virtualEnvVar[] = "VIRTUAL_ENV"; + +// If there is an active python virtual environment, use that environment's +// packages location. +static void initVirtualEnvironment() +{ + // As of Python 3.8, Python is no longer able to run stand-alone in a + // virtualenv due to missing libraries. Add the path to the modules instead. + if (QOperatingSystemVersion::currentType() == QOperatingSystemVersion::Windows + && (PY_MAJOR_VERSION > 3 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 8))) { + const QByteArray virtualEnvPath = qgetenv(virtualEnvVar); + qputenv("PYTHONPATH", virtualEnvPath + "\\Lib\\site-packages"); + } +} + +State init() +{ + if (state > PythonUninitialized) + return state; + + if (qEnvironmentVariableIsSet(virtualEnvVar)) + initVirtualEnvironment(); + + if (PyImport_AppendInittab(moduleName, PyInit_AppLib) == -1) { + qWarning("Failed to add the module '%s' to the table of built-in modules.", moduleName); + return state; + } + + Py_Initialize(); + qAddPostRoutine(cleanup); + state = PythonInitialized; + const bool pythonInitialized = PyInit_AppLib() != nullptr; + const bool pyErrorOccurred = PyErr_Occurred() != nullptr; + if (pythonInitialized && !pyErrorOccurred) { + state = AppModuleLoaded; + } else { + if (pyErrorOccurred) + PyErr_Print(); + qWarning("Failed to initialize the module."); + } + return state; +} + +bool bindAppObject(const QString &moduleName, const QString &name, + int index, QObject *o) +{ + if (init() != AppModuleLoaded) + return false; + PyTypeObject *typeObject = SbkAppLibTypes[index]; + + PyObject *po = Shiboken::Conversions::pointerToPython(typeObject, o); + if (!po) { + qWarning() << __FUNCTION__ << "Failed to create wrapper for" << o; + return false; + } + Py_INCREF(po); + + PyObject *module = PyImport_AddModule(moduleName.toLocal8Bit().constData()); + if (!module) { + Py_DECREF(po); + if (PyErr_Occurred()) + PyErr_Print(); + qWarning() << __FUNCTION__ << "Failed to locate module" << moduleName; + return false; + } + + if (PyModule_AddObject(module, name.toLocal8Bit().constData(), po) < 0) { + if (PyErr_Occurred()) + PyErr_Print(); + qWarning() << __FUNCTION__ << "Failed add object" << name << "to" << moduleName; + return false; + } + + return true; +} + +bool runScript(const QString &script) +{ + if (init() == PythonUninitialized) + return false; + + // Executing the whole script as one line + bool result = true; + const QByteArray line = script.toUtf8(); + if (PyRun_SimpleString(line.constData()) == -1) { + if (PyErr_Occurred()) + PyErr_Print(); + result = false; + } + + return result; +} + +} // namespace PythonUtils diff --git a/examples/scriptableapplication/pythonutils.h b/examples/scriptableapplication/pythonutils.h new file mode 100644 index 0000000..7f05cde --- /dev/null +++ b/examples/scriptableapplication/pythonutils.h @@ -0,0 +1,34 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef PYTHONUTILS_H +#define PYTHONUTILS_H + +#include + +class QObject; + +namespace PythonUtils { + +enum AppLibTypes +{ + MainWindowType = 0 // SBK_MAINWINDOW_IDX +}; + +enum State +{ + PythonUninitialized, + PythonInitialized, + AppModuleLoaded +}; + +State init(); + +bool bindAppObject(const QString &moduleName, const QString &name, + int index, QObject *o); + +bool runScript(const QString &script); + +} // namespace PythonUtils + +#endif // PYTHONUTILS_H diff --git a/examples/scriptableapplication/scriptableapplication.pro b/examples/scriptableapplication/scriptableapplication.pro new file mode 100644 index 0000000..148a225 --- /dev/null +++ b/examples/scriptableapplication/scriptableapplication.pro @@ -0,0 +1,85 @@ +TEMPLATE = app +CONFIG += no_keywords # avoid clash with slots in Python.h +CONFIG += console force_debug_info +QT += widgets + +include(pyside.pri) + +WRAPPED_HEADER = wrappedclasses.h +WRAPPER_DIR = $$OUT_PWD/AppLib +TYPESYSTEM_FILE = scriptableapplication.xml + +QT_INCLUDEPATHS = -I"$$[QT_INSTALL_HEADERS]" -I"$$[QT_INSTALL_HEADERS]/QtCore" \ + -I"$$[QT_INSTALL_HEADERS]/QtGui" -I"$$[QT_INSTALL_HEADERS]/QtWidgets" + +# On macOS, check if Qt is a framework build. This affects how include paths should be handled. +qtConfig(framework): QT_INCLUDEPATHS += --framework-include-paths=$$[QT_INSTALL_LIBS] + +SHIBOKEN_OPTIONS = --generator-set=shiboken --enable-parent-ctor-heuristic \ + --enable-pyside-extensions --enable-return-value-heuristic --use-isnull-as-nb_nonzero \ + $$QT_INCLUDEPATHS -I$$PWD -T$$PWD -T$$PYSIDE/typesystems --output-directory=$$OUT_PWD + +# MSVC does not honor #define protected public... +win32:SHIBOKEN_OPTIONS += --avoid-protected-hack + +# Prepare the shiboken tool +QT_TOOL.shiboken.binary = $$system_path($$SHIBOKEN_GENERATOR/shiboken6) +qtPrepareTool(SHIBOKEN, shiboken) + +# Shiboken run that adds the module wrapper to GENERATED_SOURCES +shiboken.output = $$WRAPPER_DIR/applib_module_wrapper.cpp +shiboken.commands = $$SHIBOKEN $$SHIBOKEN_OPTIONS $$PWD/wrappedclasses.h ${QMAKE_FILE_IN} +shiboken.input = TYPESYSTEM_FILE +shiboken.dependency_type = TYPE_C +shiboken.variable_out = GENERATED_SOURCES + +# A dummy command that pretends to produce the class wrappers from the headers +# depending on the module wrapper +WRAPPED_CLASSES = mainwindow.h +module_wrapper_dummy_command.output = $$WRAPPER_DIR/${QMAKE_FILE_BASE}_wrapper.cpp +module_wrapper_dummy_command.commands = echo ${QMAKE_FILE_IN} +module_wrapper_dummy_command.depends = $$WRAPPER_DIR/applib_module_wrapper.cpp +module_wrapper_dummy_command.input = WRAPPED_CLASSES +module_wrapper_dummy_command.dependency_type = TYPE_C +module_wrapper_dummy_command.variable_out = GENERATED_SOURCES + +# Get the path component to the active config build folder +defineReplace(getOutDir) { + out_dir = $$OUT_PWD + CONFIG(release, debug|release): out_dir = $$out_dir/release + else:out_dir = $$out_dir/debug + return($$out_dir) +} + +# Create hardlinks to the PySide shared libraries, so the example can be executed without manually +# setting the PATH. +win32 { + out_dir = $$getOutDir() + # no_link tell not to link to the output files, target_predeps forces the command to actually + # execute, explicit_dependencies is a magic value that tells qmake not to run the commands + # if the output files already exist. + hard_link_libraries.CONFIG = no_link target_predeps explicit_dependencies + hard_link_libraries.output = $$out_dir/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT} + hard_link_libraries.commands = mklink /H $$shell_path($$out_dir/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}) $$shell_path(${QMAKE_FILE_IN}) + hard_link_libraries.input = PYSIDE_SHARED_LIBRARIES SHIBOKEN6_SHARED_LIBRARIES +} + +QMAKE_EXTRA_COMPILERS += shiboken module_wrapper_dummy_command +win32:QMAKE_EXTRA_COMPILERS += hard_link_libraries + +INCLUDEPATH += $$WRAPPER_DIR + +for(i, PYSIDE_INCLUDE) { + INCLUDEPATH += $$i/QtWidgets $$i/QtGui $$i/QtCore +} + +SOURCES += \ + main.cpp \ + mainwindow.cpp \ + pythonutils.cpp + +HEADERS += \ + mainwindow.h \ + pythonutils.h + +OTHER_FILES += $$TYPESYSTEM_FILE $$WRAPPED_HEADER pyside_config.py README.md diff --git a/examples/scriptableapplication/scriptableapplication.xml b/examples/scriptableapplication/scriptableapplication.xml new file mode 100644 index 0000000..ef401cb --- /dev/null +++ b/examples/scriptableapplication/scriptableapplication.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/examples/scriptableapplication/wrappedclasses.h b/examples/scriptableapplication/wrappedclasses.h new file mode 100644 index 0000000..b31ca7f --- /dev/null +++ b/examples/scriptableapplication/wrappedclasses.h @@ -0,0 +1,9 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef WRAPPEDCLASSES_H +#define WRAPPEDCLASSES_H + +#include + +#endif // WRAPPEDCLASSES_H diff --git a/examples/serialbus/can/bitratebox.py b/examples/serialbus/can/bitratebox.py new file mode 100644 index 0000000..68c70ba --- /dev/null +++ b/examples/serialbus/can/bitratebox.py @@ -0,0 +1,55 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtWidgets import QComboBox +from PySide6.QtGui import QIntValidator +from PySide6.QtCore import Slot + + +class BitRateBox(QComboBox): + + def __init__(self, parent): + super().__init__(parent) + self.m_isFlexibleDataRateEnabled = False + self.m_customSpeedValidator = None + self.m_customSpeedValidator = QIntValidator(0, 1000000, self) + self.fill_bit_rates() + self.currentIndexChanged.connect(self.check_custom_speed_policy) + + def bit_rate(self): + index = self.currentIndex() + if index == self.count() - 1: + return int(self.currentText) + return int(self.itemData(index)) + + def is_flexible_data_rate_enabled(self): + return self.m_isFlexibleDataRateEnabled + + def set_flexible_date_rate_enabled(self, enabled): + self.m_isFlexibleDataRateEnabled = enabled + self.m_customSpeedValidator.setTop(10000000 if enabled else 1000000) + self.fill_bit_rates() + + @Slot(int) + def check_custom_speed_policy(self, idx): + is_custom_speed = not self.itemData(idx) + self.setEditable(is_custom_speed) + if is_custom_speed: + self.clearEditText() + self.lineEdit().setValidator(self.m_customSpeedValidator) + + def fill_bit_rates(self): + rates = [10000, 20000, 50000, 100000, 125000, 250000, 500000, + 800000, 1000000] + data_rates = [2000000, 4000000, 8000000] + + self.clear() + for rate in rates: + self.addItem(f"{rate}", rate) + + if self.is_flexible_data_rate_enabled(): + for rate in data_rates: + self.addItem(f"{rate}", rate) + + self.addItem("Custom") + self.setCurrentIndex(6) # default is 500000 bits/sec diff --git a/examples/serialbus/can/can.pyproject b/examples/serialbus/can/can.pyproject new file mode 100644 index 0000000..288f5f2 --- /dev/null +++ b/examples/serialbus/can/can.pyproject @@ -0,0 +1,10 @@ +{ + "files": ["main.py", "bitratebox.py", + "canbusdeviceinfobox.py", "canbusdeviceinfobox.ui", + "canbusdeviceinfodialog.py", "canbusdeviceinfodialog.ui", + "connectdialog.py", "connectdialog.ui", + "mainwindow.py", "mainwindow.ui", + "receivedframesmodel.py", "receivedframesview.py", + "sendframebox.py", "sendframebox.ui", + "can.qrc"] +} diff --git a/examples/serialbus/can/can.qrc b/examples/serialbus/can/can.qrc new file mode 100644 index 0000000..1b8d697 --- /dev/null +++ b/examples/serialbus/can/can.qrc @@ -0,0 +1,8 @@ + + + images/connect.png + images/disconnect.png + images/application-exit.png + images/clear.png + + diff --git a/examples/serialbus/can/canbusdeviceinfobox.py b/examples/serialbus/can/canbusdeviceinfobox.py new file mode 100644 index 0000000..5e60492 --- /dev/null +++ b/examples/serialbus/can/canbusdeviceinfobox.py @@ -0,0 +1,49 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Qt +from PySide6.QtWidgets import QGroupBox + +from ui_canbusdeviceinfobox import Ui_CanBusDeviceInfoBox + + +def _set_readonly_and_compact(box): + box.setAttribute(Qt.WA_TransparentForMouseEvents) + box.setFocusPolicy(Qt.NoFocus) + box.setStyleSheet("margin-top:0; margin-bottom:0;") + + +class CanBusDeviceInfoBox(QGroupBox): + + def __init__(self, parent): + super().__init__(parent) + self.m_ui = Ui_CanBusDeviceInfoBox() + self.m_ui.setupUi(self) + _set_readonly_and_compact(self.m_ui.isVirtual) + _set_readonly_and_compact(self.m_ui.isFlexibleDataRateCapable) + + def clear(self): + self.m_ui.pluginLabel.clear() + self.m_ui.nameLabel.clear() + self.m_ui.descriptionLabel.clear() + self.m_ui.serialNumberLabel.clear() + self.m_ui.aliasLabel.clear() + self.m_ui.channelLabel.clear() + self.m_ui.isVirtual.setChecked(False) + self.m_ui.isFlexibleDataRateCapable.setChecked(False) + + def set_device_info(self, info): + self.m_ui.pluginLabel.setText(f"Plugin: {info.plugin()}") + self.m_ui.nameLabel.setText(f"Name: {info.name()}") + self.m_ui.descriptionLabel.setText(info.description()) + serial_number = info.serialNumber() + if not serial_number: + serial_number = "n/a" + self.m_ui.serialNumberLabel.setText(f"Serial: {serial_number}") + alias = info.alias() + if not alias: + alias = "n/a" + self.m_ui.aliasLabel.setText(f"Alias: {alias}") + self.m_ui.channelLabel.setText(f"Channel: {info.channel()}") + self.m_ui.isVirtual.setChecked(info.isVirtual()) + self.m_ui.isFlexibleDataRateCapable.setChecked(info.hasFlexibleDataRate()) diff --git a/examples/serialbus/can/canbusdeviceinfobox.ui b/examples/serialbus/can/canbusdeviceinfobox.ui new file mode 100644 index 0000000..d4dd84f --- /dev/null +++ b/examples/serialbus/can/canbusdeviceinfobox.ui @@ -0,0 +1,86 @@ + + + CanBusDeviceInfoBox + + + + 0 + 0 + 319 + 217 + + + + CAN Interface Properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + Flexible Data Rate + + + true + + + + + + + Virtual + + + true + + + + + + + + diff --git a/examples/serialbus/can/canbusdeviceinfodialog.py b/examples/serialbus/can/canbusdeviceinfodialog.py new file mode 100644 index 0000000..dfb4e60 --- /dev/null +++ b/examples/serialbus/can/canbusdeviceinfodialog.py @@ -0,0 +1,16 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtWidgets import QDialog + +from ui_canbusdeviceinfodialog import Ui_CanBusDeviceInfoDialog + + +class CanBusDeviceInfoDialog(QDialog): + + def __init__(self, info, parent): + super().__init__(parent) + self.m_ui = Ui_CanBusDeviceInfoDialog() + self.m_ui.setupUi(self) + self.m_ui.deviceInfoBox.set_device_info(info) + self.m_ui.okButton.pressed.connect(self.close) diff --git a/examples/serialbus/can/canbusdeviceinfodialog.ui b/examples/serialbus/can/canbusdeviceinfodialog.ui new file mode 100644 index 0000000..6328a06 --- /dev/null +++ b/examples/serialbus/can/canbusdeviceinfodialog.ui @@ -0,0 +1,66 @@ + + + CanBusDeviceInfoDialog + + + + 0 + 0 + 237 + 225 + + + + CAN Interface Properties + + + + + + true + + + CAN Interface Properties + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Ok + + + true + + + + + + + + + + CanBusDeviceInfoBox + QGroupBox +

canbusdeviceinfobox.h
+ 1 + + + + + diff --git a/examples/serialbus/can/connectdialog.py b/examples/serialbus/can/connectdialog.py new file mode 100644 index 0000000..a6d5ac3 --- /dev/null +++ b/examples/serialbus/can/connectdialog.py @@ -0,0 +1,235 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QSettings, Qt, Slot +from PySide6.QtGui import QIntValidator +from PySide6.QtWidgets import QDialog +from PySide6.QtSerialBus import QCanBus, QCanBusDevice + +from ui_connectdialog import Ui_ConnectDialog + + +class Settings(): + def __init__(self): + self.plugin_name = "" + self.device_interface_name = "" + self.configurations = [] + self.use_configuration_enabled = False + self.use_model_ring_buffer = True + self.model_ring_buffer_size = 1000 + self.use_autoscroll = False + + +class ConnectDialog(QDialog): + + def __init__(self, parent=None): + super().__init__(parent) + self.m_ui = Ui_ConnectDialog() + self.m_currentSettings = Settings() + self.m_interfaces = [] + self.m_settings = QSettings("QtProject", "CAN example") + self.m_ui.setupUi(self) + + self.m_ui.errorFilterEdit.setValidator(QIntValidator(0, 0x1FFFFFFF, self)) + + self.m_ui.loopbackBox.addItem("unspecified") + self.m_ui.loopbackBox.addItem("False", False) + self.m_ui.loopbackBox.addItem("True", True) + + self.m_ui.receiveOwnBox.addItem("unspecified") + self.m_ui.receiveOwnBox.addItem("False", False) + self.m_ui.receiveOwnBox.addItem("True", True) + + self.m_ui.canFdBox.addItem("False", False) + self.m_ui.canFdBox.addItem("True", True) + + self.m_ui.dataBitrateBox.set_flexible_date_rate_enabled(True) + + self.m_ui.okButton.clicked.connect(self.ok) + self.m_ui.cancelButton.clicked.connect(self.cancel) + self.m_ui.useConfigurationBox.toggled.connect(self.m_ui.configurationBox.setEnabled) + self.m_ui.pluginListBox.currentTextChanged.connect(self.plugin_changed) + self.m_ui.interfaceListBox.currentTextChanged.connect(self.interface_changed) + self.m_ui.ringBufferBox.stateChanged.connect(self._ring_buffer_changed) + + self.m_ui.rawFilterEdit.hide() + self.m_ui.rawFilterLabel.hide() + + self.m_ui.pluginListBox.addItems(QCanBus.instance().plugins()) + + self.restore_settings() + + @Slot(int) + def _ring_buffer_changed(self, state): + self.m_ui.ringBufferLimitBox.setEnabled(state == Qt.CheckState.Checked.value) + + def settings(self): + return self.m_currentSettings + + def save_settings(self): + qs = self.m_settings + cur = self.m_currentSettings + qs.beginGroup("LastSettings") + qs.setValue("PluginName", self.m_currentSettings.plugin_name) + qs.setValue("DeviceInterfaceName", cur.device_interface_name) + qs.setValue("UseAutoscroll", cur.use_autoscroll) + qs.setValue("UseRingBuffer", cur.use_model_ring_buffer) + qs.setValue("RingBufferSize", cur.model_ring_buffer_size) + qs.setValue("UseCustomConfiguration", cur.use_configuration_enabled) + + if cur.use_configuration_enabled: + qs.setValue("Loopback", + self.configuration_value(QCanBusDevice.LoopbackKey)) + qs.setValue("ReceiveOwn", + self.configuration_value(QCanBusDevice.ReceiveOwnKey)) + qs.setValue("ErrorFilter", + self.configuration_value(QCanBusDevice.ErrorFilterKey)) + qs.setValue("BitRate", + self.configuration_value(QCanBusDevice.BitRateKey)) + qs.setValue("CanFd", + self.configuration_value(QCanBusDevice.CanFdKey)) + qs.setValue("DataBitRate", + self.configuration_value(QCanBusDevice.DataBitRateKey)) + qs.endGroup() + + def restore_settings(self): + qs = self.m_settings + cur = self.m_currentSettings + qs.beginGroup("LastSettings") + cur.plugin_name = qs.value("PluginName", "", str) + cur.device_interface_name = qs.value("DeviceInterfaceName", "", str) + cur.use_autoscroll = qs.value("UseAutoscroll", False, bool) + cur.use_model_ring_buffer = qs.value("UseRingBuffer", False, bool) + cur.model_ring_buffer_size = qs.value("RingBufferSize", 0, int) + cur.use_configuration_enabled = qs.value("UseCustomConfiguration", False, bool) + + self.revert_settings() + + if cur.use_configuration_enabled: + self.m_ui.loopbackBox.setCurrentText(qs.value("Loopback")) + self.m_ui.receiveOwnBox.setCurrentText(qs.value("ReceiveOwn")) + self.m_ui.errorFilterEdit.setText(qs.value("ErrorFilter")) + self.m_ui.bitrateBox.setCurrentText(qs.value("BitRate")) + self.m_ui.canFdBox.setCurrentText(qs.value("CanFd")) + self.m_ui.dataBitrateBox.setCurrentText(qs.value("DataBitRate")) + + qs.endGroup() + self.update_settings() + + @Slot(str) + def plugin_changed(self, plugin): + self.m_ui.interfaceListBox.clear() + interfaces, error_string = QCanBus.instance().availableDevices(plugin) + self.m_interfaces = interfaces + for info in self.m_interfaces: + self.m_ui.interfaceListBox.addItem(info.name()) + + @Slot(str) + def interface_changed(self, interface): + for info in self.m_interfaces: + if interface == info.name(): + self.m_ui.deviceInfoBox.set_device_info(info) + return + self.m_ui.deviceInfoBox.clear() + + @Slot() + def ok(self): + self.update_settings() + self.save_settings() + self.accept() + + @Slot() + def cancel(self): + self.revert_settings() + self.reject() + + def configuration_value(self, key): + result = None + for k, v in self.m_currentSettings.configurations: + if k == key: + result = v + break + if not result and (key == QCanBusDevice.LoopbackKey or key == QCanBusDevice.ReceiveOwnKey): + return "unspecified" + return str(result) + + def revert_settings(self): + self.m_ui.pluginListBox.setCurrentText(self.m_currentSettings.plugin_name) + self.m_ui.interfaceListBox.setCurrentText(self.m_currentSettings.device_interface_name) + self.m_ui.useConfigurationBox.setChecked(self.m_currentSettings.use_configuration_enabled) + + self.m_ui.ringBufferBox.setChecked(self.m_currentSettings.use_model_ring_buffer) + self.m_ui.ringBufferLimitBox.setValue(self.m_currentSettings.model_ring_buffer_size) + self.m_ui.autoscrollBox.setChecked(self.m_currentSettings.use_autoscroll) + + value = self.configuration_value(QCanBusDevice.LoopbackKey) + self.m_ui.loopbackBox.setCurrentText(value) + + value = self.configuration_value(QCanBusDevice.ReceiveOwnKey) + self.m_ui.receiveOwnBox.setCurrentText(value) + + value = self.configuration_value(QCanBusDevice.ErrorFilterKey) + self.m_ui.errorFilterEdit.setText(value) + + value = self.configuration_value(QCanBusDevice.BitRateKey) + self.m_ui.bitrateBox.setCurrentText(value) + + value = self.configuration_value(QCanBusDevice.CanFdKey) + self.m_ui.canFdBox.setCurrentText(value) + + value = self.configuration_value(QCanBusDevice.DataBitRateKey) + self.m_ui.dataBitrateBox.setCurrentText(value) + + def update_settings(self): + self.m_currentSettings.plugin_name = self.m_ui.pluginListBox.currentText() + self.m_currentSettings.device_interface_name = self.m_ui.interfaceListBox.currentText() + self.m_currentSettings.use_configuration_enabled = self.m_ui.useConfigurationBox.isChecked() + + self.m_currentSettings.use_model_ring_buffer = self.m_ui.ringBufferBox.isChecked() + self.m_currentSettings.model_ring_buffer_size = self.m_ui.ringBufferLimitBox.value() + self.m_currentSettings.use_autoscroll = self.m_ui.autoscrollBox.isChecked() + + if self.m_currentSettings.use_configuration_enabled: + self.m_currentSettings.configurations.clear() + # process LoopBack + if self.m_ui.loopbackBox.currentIndex() != 0: + item = (QCanBusDevice.LoopbackKey, self.m_ui.loopbackBox.currentData()) + self.m_currentSettings.configurations.append(item) + + # process ReceiveOwnKey + if self.m_ui.receiveOwnBox.currentIndex() != 0: + item = (QCanBusDevice.ReceiveOwnKey, self.m_ui.receiveOwnBox.currentData()) + self.m_currentSettings.configurations.append(item) + + # process error filter + error_filter = self.m_ui.errorFilterEdit.text() + if error_filter: + ok = False + try: + int(error_filter) # check if value contains a valid integer + ok = True + except ValueError: + pass + if ok: + item = (QCanBusDevice.ErrorFilterKey, error_filter) + self.m_currentSettings.configurations.append(item) + + # process raw filter list + if self.m_ui.rawFilterEdit.text(): + pass # TODO current ui not sufficient to reflect this param + + # process bitrate + bitrate = self.m_ui.bitrateBox.bit_rate() + if bitrate > 0: + item = (QCanBusDevice.BitRateKey, bitrate) + self.m_currentSettings.configurations.append(item) + + # process CAN FD setting + fd_item = (QCanBusDevice.CanFdKey, self.m_ui.canFdBox.currentData()) + self.m_currentSettings.configurations.append(fd_item) + + # process data bitrate + data_bitrate = self.m_ui.dataBitrateBox.bit_rate() + if data_bitrate > 0: + item = (QCanBusDevice.DataBitRateKey, data_bitrate) + self.m_currentSettings.configurations.append(item) diff --git a/examples/serialbus/can/connectdialog.ui b/examples/serialbus/can/connectdialog.ui new file mode 100644 index 0000000..97e6e00 --- /dev/null +++ b/examples/serialbus/can/connectdialog.ui @@ -0,0 +1,278 @@ + + + ConnectDialog + + + + 0 + 0 + 542 + 558 + + + + Connect + + + + + + + + Select CAN plugin + + + + + + + + + + + + GUI Settings + + + + + + + + + + <html><head/><body><p>Use ring buffer in table view model</p></body></html> + + + Use ring buffer + + + true + + + + + + + <html><head/><body><p>Limit of ring buffer in table view model</p></body></html> + + + 10 + + + 10000000 + + + 10 + + + QAbstractSpinBox::AdaptiveDecimalStepType + + + 1000 + + + + + + + + + <html><head/><body><p>Scroll to bottom table view on each portion of received frames</p></body></html> + + + Autoscroll + + + + + + + + + + + + Custom configuration + + + + + + + false + + + Specify Configuration + + + + + + RAW Filter + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Error Filter + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + FrameError bits + + + + + + + Loopback + + + + + + + + + + Receive Own + + + + + + + + + + Bitrate + + + + + + + + + + CAN FD + + + + + + + + + + Data Bitrate + + + + + + + + + + + + + + + Qt::Horizontal + + + + 96 + 20 + + + + + + + + Cancel + + + false + + + + + + + OK + + + false + + + true + + + + + + + + + Specify CAN interface name + + + + + + true + + + + + + + + + + true + + + CAN Interface Properties + + + + + + + + + + BitRateBox + QComboBox +
bitratebox.h
+
+ + CanBusDeviceInfoBox + QGroupBox +
canbusdeviceinfobox.h
+ 1 +
+
+ + +
diff --git a/examples/serialbus/can/doc/can.rst b/examples/serialbus/can/doc/can.rst new file mode 100644 index 0000000..e6c156b --- /dev/null +++ b/examples/serialbus/can/doc/can.rst @@ -0,0 +1,6 @@ +CAN Bus example +=============== + +The example sends and receives CAN bus frames. The example sends and receives +CAN bus frames. Incoming frames are ordered according to their type. A connect +dialog is provided to adjust the CAN Bus connection parameters. diff --git a/examples/serialbus/can/images/application-exit.png b/examples/serialbus/can/images/application-exit.png new file mode 100644 index 0000000000000000000000000000000000000000..32be6b3f1606ed0ed83fab77687d23b34643b380 GIT binary patch literal 11200 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 literal 0 HcmV?d00001 diff --git a/examples/serialbus/can/images/disconnect.png b/examples/serialbus/can/images/disconnect.png new file mode 100644 index 0000000000000000000000000000000000000000..fd58f7a480228b072708e3ea3626f27b38fb9294 GIT binary patch literal 15092 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 0: + is_can_fd = bool(self.m_can_device.configurationParameter(QCanBusDevice.CanFdKey)) + config_data_bit_rate = self.m_can_device.configurationParameter(QCanBusDevice.DataBitRateKey) + bit_rate = config_bit_rate / 1000 + if is_can_fd and config_data_bit_rate > 0: + data_bit_rate = config_data_bit_rate / 1000 + m = f"Plugin: {p.plugin_name}, connected to {p.device_interface_name} at {bit_rate} / {data_bit_rate} kBit/s" + self.m_status.setText(m) + else: + m = f"Plugin: {p.plugin_name}, connected to {p.device_interface_name} at {bit_rate} kBit/s" + self.m_status.setText(m) + + else: + self.m_status.setText(f"Plugin: {p.plugin_name}, connected to {p.device_interface_name}") + + if self.m_can_device.hasBusStatus(): + self.m_busStatusTimer.start(2000) + else: + self.m_ui.busStatus.setText("No CAN bus status available.") + + def bus_status(self): + if not self.m_can_device or not self.m_can_device.hasBusStatus(): + self.m_ui.busStatus.setText("No CAN bus status available.") + self.m_busStatusTimer.stop() + return + + state = self.m_can_device.busStatus() + if state == QCanBusDevice.CanBusStatus.Good: + self.m_ui.busStatus.setText("CAN bus status: Good.") + elif state == QCanBusDevice.CanBusStatus.Warning: + self.m_ui.busStatus.setText("CAN bus status: Warning.") + elif state == QCanBusDevice.CanBusStatus.Error: + self.m_ui.busStatus.setText("CAN bus status: Error.") + elif state == QCanBusDevice.CanBusStatus.BusOff: + self.m_ui.busStatus.setText("CAN bus status: Bus Off.") + else: + self.m_ui.busStatus.setText("CAN bus status: Unknown.") + + @Slot() + def disconnect_device(self): + if not self.m_can_device: + return + self.m_busStatusTimer.stop() + self.m_can_device.disconnectDevice() + self.m_ui.actionConnect.setEnabled(True) + self.m_ui.actionDisconnect.setEnabled(False) + self.m_ui.actionDeviceInformation.setEnabled(False) + self.m_ui.sendFrameBox.setEnabled(False) + self.m_status.setText("Disconnected") + + @Slot(int) + def process_frames_written(self, count): + self.m_number_frames_written += count + self.m_written.setText(f"{self.m_number_frames_written} frames written") + + def closeEvent(self, event): + self.m_connect_dialog.close() + event.accept() + + @Slot() + def process_received_frames(self): + if not self.m_can_device: + return + while self.m_can_device.framesAvailable(): + self.m_number_frames_received = self.m_number_frames_received + 1 + frame = self.m_can_device.readFrame() + data = "" + if frame.frameType() == QCanBusFrame.ErrorFrame: + data = self.m_can_device.interpretErrorFrame(frame) + else: + data = frame.payload().toHex(' ').toUpper() + + secs = frame.timeStamp().seconds() + microsecs = frame.timeStamp().microSeconds() / 100 + time = f"{secs:>10}.{microsecs:0>4}" + flags = frame_flags(frame) + + id = f"{frame.frameId():x}" + dlc = f"{frame.payload().size()}" + frame = [f"{self.m_number_frames_received}", time, flags, id, dlc, data] + self.m_model.append_frame(frame) + + @Slot(QCanBusFrame) + def send_frame(self, frame): + if self.m_can_device: + self.m_can_device.writeFrame(frame) + + @Slot() + def onAppendFramesTimeout(self): + if not self.m_can_device: + return + if self.m_model.need_update(): + self.m_model.update() + if self.m_connect_dialog.settings().use_autoscroll: + self.m_ui.receivedFramesView.scrollToBottom() + self.m_received.setText(f"{self.m_number_frames_received} frames received") diff --git a/examples/serialbus/can/mainwindow.ui b/examples/serialbus/can/mainwindow.ui new file mode 100644 index 0000000..61c7760 --- /dev/null +++ b/examples/serialbus/can/mainwindow.ui @@ -0,0 +1,207 @@ + + + MainWindow + + + + 0 + 0 + 634 + 527 + + + + CAN Example + + + + + + + Send CAN frame + + + + + + + Received CAN messages + + + + + + + + QAbstractItemView::NoEditTriggers + + + false + + + false + + + QAbstractItemView::SelectRows + + + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + + + 0 + 0 + 634 + 22 + + + + + &Calls + + + + + + + + + + + + + + &Help + + + + + + + + + + TopToolBarArea + + + false + + + + + + + + + + + :/images/connect.png:/images/connect.png + + + &Connect + + + + + + :/images/disconnect.png:/images/disconnect.png + + + &Disconnect + + + + + + :/images/application-exit.png:/images/application-exit.png + + + &Quit + + + + + &About Qt + + + + + + :/images/clear.png:/images/clear.png + + + Clear &Log + + + + + Plugin Documentation + + + Open plugin documentation in Webbrowser + + + + + &Reset CAN Controller + + + Reset CAN Controller + + + + + Device &Information... + + + + + + + SendFrameBox + QGroupBox +
sendframebox.h
+ 1 +
+ + ReceivedFramesView + QTableView +
receivedframesview.h
+
+
+ + + + +
diff --git a/examples/serialbus/can/rc_can.py b/examples/serialbus/can/rc_can.py new file mode 100644 index 0000000..6e0341a --- /dev/null +++ b/examples/serialbus/can/rc_can.py @@ -0,0 +1,3453 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.4.1 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x000\xff\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\ +\x00\x00\x00\x09pHYs\x00\x00$\xe9\x00\x00$\xe9\ +\x01P$\xe7\xf8\x00\x00\x00\x19tEXtSof\ +tware\x00www.inksca\ +pe.org\x9b\xee<\x1a\x00\x00 \x00ID\ +ATx\x9c\xed\x9dy\x9c\x1dGu\xef\xbf\xd5\xddw\ +\x9f}\xd7\xbe\xcb\xb2\xe5\x1d\x8c\x17\x0161<\x88m\ +\xc2#\x80Cp\x82\x8c\xc3#$\x84\x80\x09\xe4\x85-\ +` \x04L\x02\x0e\x09Kx\x01,\x03q\x1e6y\ +\x1f\xcc\x92\x18\x8cc\x1b\x8f\xf7\xdd\xb2e\xcb\xb2\xd6\xd1\ +H\x9a}\xe6\xae\xbdT\xd5\xfb\xa3\xfa\xf6\xbd3sg\ +\xd1\x8cF\x92\xc9\xfc\xf4iMo\xb7\x97:\xbf>\xe7\ +\xd4\xa9SUBk\xcd\x22\xfe\xfb\xc2:\xd1\x0f\xb0\x88\ +\x13\x0b\xe7X_\xf0\xabW\x89\x0dJ\xdb\x17\x83nG\ +\x8b\x17\x84\x90;S9v\xbd\xe76]8\xd6\xf7Z\ +\xc4\xfc!\x8e\x85\x09\xf8\xea;\xc4+5\xd6\xfb4\x5c\ +\x0c,\xa9q\x8a\x06\x9e\xd1\x88\xcf^{\xb3\xbc\x85E\ +\xbbs\xd2`^\x04\xb8\xee:a5\xee\xb4\xfe\x1a\xcd\ +'\x00{\x96?{B\x09\xf1\xf1\x0f\xfd \xf8\xf9\x9c\ +o\xbc\x88c\x86y\x11\xe0\x86w\xd8\x9f\x03>^\xde\ +N&bt._M\xe7\xb2\x8d\xd4\xb5,\xc7s]\ +\x0a\xb9\x11rc\xc3\xec\xdb\xf98nq,\xfa\xad\x16\ +|\xf5\xda\x1f\xc8\x0f\xcc\xeb\xe9\x171o\xcc\x99\x007\ +\xbc\xdd\xf9m,\xfd3@\xd8B\xb0q\xd3\x06\xd6\x9e\ +\xfd\xdb\x08\xab\xb6[\xe1y>\xbb\xb6w\xb3\xfb\xb9\xc7\ + \xbc\xa7\x10\xfc\xd5\x07~ \xbf8\xd7\x87_\xc4\xfc\ +1w\x02\xbc\xc3\xfa%\x88\xd7\x02\x9cy\xd6\xd9\xac\xdc\ +\xfc\x1a\x10\x16\xc5\xdc(={w0:\xd8\x8be\xd9\ +t.\xdf\xc0\xd2\xd5\xa7\x22\x84\x00`\xb4\xff \xdd\xbf\ +\xba\x05%%\x80\x16B\x5c\xfd\x81\x1f\x047\x1d\xab\x17\ +Z\xc4\xd1aN\x04\xf8\xd2\x95\xa2+\xe6X=\x80\xbd\ +|\xed\x19\x9c}\xe1\xff\x00\xa0w\xdf\xf3\ +\x93SN=#\xba\x9c\x10\xd6\xfb\xe7\xf6\xf8\x8b\x98/\ +\xe6\x18\x08\x12\xbf\x0f\x90nh\xa3\xb1\xa9\x0d\x80\x1d\x8f\ +\xfe*\xb2\xed\xafz\xc7\x17y\xff\x8dy\xae\xfe\xf2s\ +t\xad{\x05\x00\xb9\x82\xcb\xfe'\x7f\x0a\xe1w\xbf\xf6\ +\xcc\xd7\x90L\xa6\xcc\xd5\xe0\x7f\xfd\xdd;Ef>/\ +\xb2\x88\xb9a\x8e\x04\xd0\xab\x00:\x96o\xc4\x0a\xaf0\ +6<\x00@\xfb\xaa\xb3x\xd9\x15\x1f\xc6\x8e%h\xea\ +\xda\xc0%[o\x88~5\xd8\x7f\x88\xdc\xa1\xa7\xcc\x8d\ +\x9d\x18k7\x9dY>\xd4\xe4\xf8\xd6\xd5s{\x96E\ +\xcc\x07s\x0d\x05[\x00\xb6\x1d\x8bvHiT\xbf\xe5\ +\xc4\xc7\x9d\xa8\xa9\xf8\x18\x02\x0c\x01\xb4\x04`\xc5\xba\xb3\ +\xb1-\xbb|\xf0\xcf#Oq\x11\xc7\x0d\xf3\x22@\xe0\ +U\xa2\xbbu\x99$\x00Gv?\xc2\x8e_\x7f\x0f\x00\ +\xaf\x94\xe5\x81[?\x1d\x9d\x93J\xd8(\xbfDa\xe0\ +E\x00b\xc9:V\xac\xddX>\xbc\xf1\x1f\xae\xb2/\ +\x9f\xe3\xf3,b\x8e\x98'\x01\xf2\xd1\x8eeK\xc2\x08\ +\xb0\xd6\xdc\xfe\x8d\xab\xf9\xd6{\x97\xf0\xad?\xeeb\xdf\ +S\xbf\x04 \x19\xb7i\xc8\x98\x18A\xfe\xf0\xd3\xe1\xaf\ +4\xab7\x9e\x1d]Ci\xf5\xc19>\xcf\x22\xe6\x88\ +\xb9\x12`\x00`t\xb0\xbf\xec\xd3\xb1t\xfd9,k\ +KF'\x14\xc6\xfa\x08\xfc\x12\x00\xf1\x98\xc5\xda\xae$\ +e\xfd\xee\x17\x86pG{\xd0J\x92\xaeo\xa5\xa3\xd3\ +\x90Ghq\xe9W\xfe@\x9c\xc1\x22\x8e\x1b\xe6F\x00\ +\xcd\xbf\x03\xe4\xc6\xfa\x19\x19<\x04@\xb2y%K;\ +[\xd8\xb4\x22CkC\x8c\xba\xa4C]\xcaaY[\ +\x92M\xcb3$\xe3\xe3\x9b\x0ar\x87\x9eF+\x09J\ +\xb2zcE\xe6BY\x8bZ\xe08bN\x04\xd0\xa8\ +[\xcb\xeb=/>\x19\xae\x09\xea\x96\x9cE:a\xb3\ +\xaa#\xc5\xc6\xe5i6.K\xd3\xd9\x14\xc7\xb1'\xfb\ +v\xeeh\x0fAa\x08\xad\x02Z\xda\x96QWW_\ +>t\xd5\xdf\xbdSt\xcc\xe5\xb9\x16q\xf4\x98\x13\x01\ +\xae\xbdY?\x02\xec\x05\xd8\xbf\xe79\xdc\xa2\xf1\x052\ +\x9d\xa7\x91h\x5c>\xeb\xeb\xe4\xfb\x9eC\xab\x00\xad5\ +\xab\xd7o*\xefN\xc4\x02\xeb\xbdsy\xaeE\x1c=\ +\xe6\x9c\x11\xa45_\x05PR\xf2\xe4\x03\xbf\x88|\x81\ +\xe6u\x97`\xc5\x92\xd3\xfd4Bix\x0f2(\xa1\ +U@\xe7\x92\xd5\xc4b\xa6Z\xa9\xe1O\xaf\xbbR\xc4\ +g\xf8\xf9\x22\x8e\x01\xe6L\x80k\xffM\xdd\x00\xfaN\ +\x80\xbe\xde\xdd\xec\xdd\xf9\xb8\xb9`,E\xd3\x9aW\xcf\ +\xea\x1aZIJ\x83\xbb\xd1*\xc0\xb2\x04+V\xad.\ +\x1f\xealp\xec\xdf\x9f\xeb\xb3-b\xf6\x98{N\xa0\ +\xd6Z\x07\xfa\x9d\xc00\xc03\x8f\xddMvd\x10\x80\ +d\xf3*2\x1d\xa7\xce\xea2\xc5!C\x00\xad\x02\x96\ +._\x13\xed\x17\xe8Eg\xf08`^I\xa1\xd7\xfe\ +P\x1fD\x8b\xf7\x80\xf9\x9a\x1f\xbb\xf7g(i\x84Y\ +\xbf\xfce8\xc9\xc6\x19\xaf\xa1\x02\x17w\xac\x17\xad$\ +\xf1X\x9c\xae\xae\xae\xf2\xa1\xb3o\xf8\xfd\xd8%\xf3y\ +\xbeE\xcc\x8cyg\x05\x7f\xf0\xe6\xe0V47\x02d\ +G\xfb\xd9\xf1\xd8\xdd\xa6z\xa75\x8d\xab/BX3\ +g\x8a\x15\x87\xf6\xa2T\x80T\x01K\x97\xae\xac\x1c\x10\ +\xf2\xda\xf9>\xdf\x22\xa6\xc71I\x0b\xf7\xd2\xea\xcf\x81\ +\xdd\x00{v>A\xff\xa1\xbdh-\xb1\xe3ud:\ +7O\xfb[\xad5A)\x8b\x97\x1fBII\xaa\xae\ +\x9e\xfa\x86\x86\xf0\xa8\xb8\xe2+\x7f(\xd6\x1f\x8bg\x5c\ +Dm\x1c\x13\x02\xfc\xe5\xb7uVY\xea*@\x02<\ +\xf9\xe0\x9d\x94\x8a9\xb4\x92$[\xd6\x10\xcb\xb4O\xfa\ +\x8d\xd6\x1a\xa54J\x83\xd2P\x1c\xe9E\xc9\x00%\x03\ +\x96t.\x8d\x9eOH\xeb\xcf\x8f\xc53.\xa26\x8e\ +Y\xc7\x90\x0f}_?\x80\xe6\xb3\x00\x9e[\xe0\xe9G\ +\xef\x89\x22}uK\xceD\xd8\xa6V\xa7\xb5F\xe9\x8a\ +\xe0\xcb\x8b[\x18&\xf0\x8a(\x19\xd0\xd0\xdcH<\x1e\ +\xd5\x02\xdf\xf5\xc5+\xc5\xcc\xce\xc4\x22\xe6\x84c\xda3\ +h\x99T\x9f\x03q?\xc0\xc0\xe1\x1e\xf6\xef\xde\x81\xd6\ +\x12a\xd9\xa4;6U\x04\xaf\xaa\x84_^W\x9a\xe2\ +\xd8\x11\xa4\x0aPR\xd1\xde\xdeV\xbel]\xdc\xb1\xde\ +},\x9fs\x11\x15\x1cS\x02\xbc\xed\x87Z\x22\xe4\x1f\ +\x00Y\x80\x9d\xcf>Nvt\x10-\x03\x9cT\x0b\xb1\ +\xfa%\x93\xbe\xfc\xca\xa2q\xf3C\xc8\xc0G\xc9\x80\xe6\ +\xa6f\x84eB\xc8\x02\xde\x7f\xcb\x95b\xb6\xfd\x0e\x16\ +q\x148\xe6}\x03?\xf8\x03\xbd[#\xde\x0f\xa0\x94\ +\xe4\xe9\xc7\x1f\xc6\x0f<\x94\x0cH6\xad\xc2rRh\ +\x0dZU\x04_\xf6\x05\xa4\x94\x94rCH%\xd1@\ +sCS\xf9\xb2\xab\x0e\xda\xf6\x9bg\xba\xf7\xa3\xdf\x12\ +\xb1{o\x12\x7f\xda}\xa3\xf8\x9b\x07\x7f \x1af:\ +\x7f\x11\x0b\xd49\xf4\xda\x7f\x0d\xb6\x01\xb7\x00\xe4s\xa3\ +\xbc\xb8\xf3\x19\xa4\x0cPJ\x93lY\x8bB\xa0\xb4F\ +km\xc8P\xa5\x09\xbc\xc2(2\xf0\x912\xa0\xb1\xb9\ +\xbe\xfa\xb2\xd3\x06\x86\xee\xbdQ\xbc\xb1\x94`\xbb\xd0|\ +\x0d\xc1\xc7\x02\xc9'\x16\xe2\xdd~\xd3\xb0`\xbd\x83\x13\ +B\xfd1\xd0\x03p\xf0\xc0>\x06\x07\xfa\x91R\x82\x15\ +#^\xdf5\xc9\x17\xd0\xca\x10!\x08|\xbcR\x0e)\ +\x03l\xcb&\x9d6\x89\xa3\x08\xbd\xe5\x1f\xde.\xce\x9b\ +x\x9f\xeembs\xf76\xf1\x0b!\xb8\x0d\x88\xd2\x8b\ +\xd0L:w\x11\x93\xb1`\x04\xf8\x93\x1f\xe8a%\xac\ +w\x02\x0a`\xd7\xf3\xcf\xe0\x96\x0aH\x19\xe0\xa4\x9a\xb1\ +\xe2\x99\x9a\xbe\x80\xd6\x1a\xbf\x98CII \x03\xea2\ +U\xc9\xc2v%W\xe0\xa1\x9bD\xeb}7\x8a\xaf\x01\ +O\x02\xaf+\xef\x17V\xf4J\x152,bJ\x1c\x93\ +\xde\xc1\xd3\xe1+\xef\xb0\xaf\x17\xf0\x11\x80\xc6\xc6\x16\xd6\ +\xae_\x8fV\x0a)=\xf2\x83\xfbP\xd2\xd8\xfb\xc8\x1c\ +`4\x81\x93\xa8G\x0b\x0b%%G\xfa\x06\xf1\x83\x00\ +\xc0O%\xd4\x86\xd3/\xe6\xcd\x08>\x05DNB}\ +\xcbJ\xd6\x9cu\x15\x07w\xfe\x94\xc1\x83&\xe5\xccO\ +S\x7f\xc9\xdbtnA_\xf0%\x8ec>>\xc0D\ +\x8c\x05\xea\x13M\x8e\xf5Z\x0d\xe7\x8c\x8e\x0e\xd1w\xf8\ +\x10-\xad\xad(\x0dN\xba\x95\xd2\xd8\x91H\xe8\xd5\x04\ +\xf0\xbd\x12\xc2\x89\xa3\xa4\x22\x9d\x8c3\x9a\x0bhj\xd3\ +\xb15g\xf2\x08\x82\xa8\x8e\x18O6\xb0\xfa\x8c\xb7\xd1\ +\xba\xe2B\x10\x16\xe9\xfa\xa5\x0cb\x08\x10\xcf\xb3\x1ex\ +b\xa1\xdf\xf1\xa5\x8c\x05'\xc0\xa7~\xa8\xbd\x1b\xde.\ +\xae\xc2\xb2\x1e\x05R\x07{{H\xa6\x92\xc4b\x0eX\ +1\xacX\x1a\xdf-L&A\xe0#\xb4@\xa3I7\ +\x08:O\xd14\xb6i\xc0\x08_X\x0e\xcbO\xfdm\ +\x96\xae\x7f\x03\x96\x93\x8a\xee\x17O5G\xeb\xca\xaa\x10\ +e\x11\xb5q\x5c\x86\x88\xf9\xe0\xbf\xe9\x1d\x1a>\x0c\x80\ +\xd6\x1c\xec9\x80\x0c\x02\xb4\x92\x88x\x06-\xec\x9aq\ +\x01\x8dG\xf3\xb2\x1c\xcbO\xcf\x96\x85\x0f@\xfb\xcaW\ +p\xee\x1b\xfe\x96\xe5\x9b\xde\x00\x89TE\xe6Zs\xce\xf1{\xbb\x97\ +&\x16\xbc\x1aX\x0b7\x5ce\xff\x13\x9a\xf7\x01\xa42\ +1Vl\x144\xb6\x97\x22U\x0f\xd0\xbe\xf2\xa6\xd4\xb7\xacb\ +\xcd\x99\xbfK\xa6y\x0d\x86\x11\xa1\x92R\xa3\xa0\xb3\x95\ +}b\x82\xf2\xb2\x1a\xc12&\xff\xd9\xbb\xbe\xc9\x9d_\ +}\x88\xe7\xef\x8c\xfa\xa1Vc'\xf0;_\xd7\xfa\xf9\ +\x05x\xb5\x97\x1c\x8e\xab\x0fP\xc6\xf9\x97\xf3*\xa5T\ +\xbcZ\x86\xf1d\x03+7_A\xfb\x8a\x97\x81\xb0\x89\ +\xf2\xcc\xf5\xa8\xf9\xea\xd1\xa1\xd0-\xb3\xae\xf5x-\xa0\ +]\x94Tt\x7f\xf7nn\xbb\xeeI\x8a#\x95C\x09\ +\xcb\x02\xadq\x0d\xd97\x027\x09!.\xd0\x8b\xc3\xd5\ +\x1d_\x0d\xd0\xfd\x1dq\x0a6\x7f\x0fD\xbd\x80-\xcb\ +\xa1k\xdd\x85t\xae\xddB,\x96\xc1\xb2\x13\x08+\x06\ +\xaa\x08j\x08\x080B\x0f\x171q\xdd`\xe7={\ +\xb9\xf5cw\xd2\xfbLO\xb4\xaf\xceq8\xaf\xb9\x99\ +\x95\xb1\x18\x85R\x89{FG9\x22#\x95p\xf5\xd7\ +\xb5\xde\xb6\xe0/}\x92\xe3\xb8\x10\xe0\xae\x1bES\xcc\ +\x84n\xdf\x07D\x0a\xbf\xb9k#\x9dk\xcf'\x91n\ +\xc5\xb2\x13\xd8v\x12\xcb\x12Xd\x11\x14\xa9)\xf4h\ +\xdb\x06,\x06\xf7\x8f\xf2\xef\x9f\xfc%O\xfedGt\ +?\xc7\xb28\xaf\xbd\x9d\xb3\x9a\x9aP\xbe\x8f\xefy\xf8\ +\x9e\xc7p\xa9\xc4\x7f\x8c\x8d\x11\xd6/\x0e\xbb\xb0\xf1\xbf\ +\xbb?\xb0\xa0&\xe0\x96[\x84\xbd\xac\xc0{b\x82\xcf\ +@\xa5J\x96\xaao\xa7}\xcd9\xa4\x1b:\xb1\xed$\ +J\xf9 4\xc8>\xb4p\xc1Ia\xdbq\xc2\x98`\ +\xa8\xeeue\x1b\x8d\x9b/q\xfb\x97\xef\xe7\xce\xaf?\ +H\xe0V\x0c\xfd\xe6\xf6v.^\xb1\x82\x14\xe0\xbb.\ +\xbeR(\xdbF\xda6\x0d\xb1\x18\xeb\xe3qvz\x1e\ +@W\x12\xfe\x02\xf8\xf4B\x96\xc1\xc9\x8e\x05#\xc0\xbd\ +7\x89\xd7.\xd5|E\xc3\xe9\xd1\xcd\x12i\x9a\x97\xae\ +\xa7\xbeu9\x96\x930\x1dB,\x17\xe9\x0d \xf5\x08\ +\x8e\x93\x04'\x8dP6\x96e\x87\x03\x86\x8c\x17\xbc\xd6\ +\x9a\x87\xff\xefv~|\xdd\xdd\x8c\x1e\xa9\xb4\xf3,k\ +l\xe4\xf2SNaI&c\xbex\xd7\xc5\xb2\xedh\ +\xb1m\x1beY\x9c\x9eL\xf2\xa2\xe7!\xcd\x15_\xb1\ +P\xef\xffR\xc1\x82\x10\xa0\xfbF\xf1\xbbB\xf0\xa3\xf2\ +\xb6\xb0c4u\xad\xa1\xbem)\xc2\x12h\x1d\xa0\x95\ +M\x10\x1c&(\x0e\x18\x019i\x94\xb0\x11\xc2\xc3\x12\ +\x0eJ8\xd8N\xd9\x194Z`\xcf\xa3\xbd\xfc\xe8\xa3\ +w\xb1\xf7\xb1\xc3\xd1\xbd\x1a\x92I.?\xe3\x0c\xce]\ +\xba\x94 T\xf7\xca\xb2\x90U\xc2\xb7l\x1b\xcb\xb2\xb0\ +l\x9b\x84\xe3\x90\x10\x82\x821}\xff\xedS\xce\x17F\ +\x03Xl\xaa\x1a\x1a\x88\x86\xb6v\x1a:\x96P\xae\xe8\ ++\xe5\x13x\xbdh\xd9\x8f\xe3\xa4@\xa4\x11\xcaA)\ +'\xfc\xeb!\xc2u\xcb\x8a1r(\xc7\x8f?s?\ +\x8f\xdc\xfa\x5cy 2\x1c\xcb\xe2\xd5\xeb\xd7\xf3\xdbg\ +\x9cA2\x1e7\x82W*\x12\xb4m\xdb\xa8\xf2\x12\x12\ +B\xd86;\x5c\xb7,|\x84 X\x90\xf7\x7f\x09a\ +A\x08\xe0+\xbe\x1e\xb3\xd8\x82\xe62\x80\xd1#\xbdx\ +\xc51\xdaV\x9d\x86\xe5\x98P\xad\x1d\xebB[I\x94\ +\xecCH\x0f!\x1c\x94\xe5T\x11\xc1#(\x0a\xee\xf9\ +\xe7'\xb9\xfd\x86\xc7\xf1\x0a~t\xfdS\xdb\xdax\xe3\ +\xe6\xcdt65\xe1X\x16\x96eE*~\xaa/\x7f\ +\xd0\xf7\xb9w`\x80>\xd7\x8cUh\xc7\xe1\xf5\x9fd\ +}\xf76q7\xf0\x0d\xe0\x96-[kD\x0d~\xc3\ +\xb1\x80\xb5\x00!\xee\xdb\xc6G4\xfc\x0d!\xd1\x84%\ +h]\xb1\x8eL\xcb\x0a\x00,+\x8e%@\x05=X\ +Ba;)l'\x8d\xe3\xa4y\xf6\x17#\xfc\xf4\xf3\ +\xcf0t\xa02\x0eQ[*\xc5\x1b\xd6\xac\xe1\x94\x8e\ +\x0e\x9cx\x1c'\x1e'\x16\xfe\xd5\x10y\xfb\xbe\xe7\xe1\ +\x85~\xc0p>\xcf\xdd\x07\x0e\xf0\xdc\xf0p\xa4\x94,\ +\x1b.\xf8#Xs\xd1\xb8\x07\xde\x03|\x11\xf8\xd6\x96\ +\xad\xff}\xe2\x03\x0b^\x0d\xbc\xef&q\xa1\xd6\xfc\x1b\ +\x10u\xfaK\xd67\xd3\xba\xf2Tb\x89\x14\x96\x9d\xc0\ +\xb2\x13\x10\x1c\x06\x9d\xa3\x7f\x97\xe6?\xbf\xd0\xc3\xee\x07\ ++\x91\x9c\xa4m\xf3\xca\xf6v^\xd6\xd5E\x22\x91\x88\ +\x84\x1f-\x89\x04v,6\x8e\x00\xa5b\x91{\xf6\xec\ +\xa1\xbb\xa7\x07\xbfR\xf7\xe7\xd4K7p\xd9\xc7\xb7\x90\ +h\xe8a\xf8\xd0S\x8c\x0d\xf6M|\xe4\xbb\x80\xab\xb7\ +l\xd5\xfb\x16\xb4`N\x12\x1c\x978@\xf7wD=\ +6\x9f\x01\xdeO8\xc4\xac\xb0\x1c\xdaV\x9fB]\xf3\ +2,;\x81;&\xb8\xf3+\x8f\xf1\xc8-=\xe8\xf2\ +h\xb3\xc0\xe9\x99\x0c[\xda\xda\xa8K\xa5j\x0a\xbez\ +[i\x8d\xef\xba<\xbe\x7f??{\xf6Y\x86\x8b\xc5\ +\xe8\x19:7t\xf1\x96/\xbc\x95\xd3.\xdd\x84\xd2\x12\ +\xad$RI\xdc|\x0f\x83=Opd\xef}\xa8 \ +23c\xc0\x07\xb6l\xd57.x\xe1\x9c`\x1c\xd7\ +H\xe0}7\x8a\xb3\xb5\xe0\x1b\xc0\x05\xe5}\x0d\xedK\ +\xd9uO\x03\xbf\xfe\xfa\x8b\x94\xb2\x15;\xbf\xd4\xb6\xd9\ +RWG{*5I\xd0\xb5\x84\xef\xc4\xe3\x1c\xce\xe5\ +\xf8\xe1\xc3\x0f\xb3\xab\xbf?\xbaN\xaa1\xcde\x7f\xf5\ +&.~\xcfk\xb0\xed\x22P@\xe9\x94I8Q\x0a\ +\xa5$JI\xbcb?\xfb\x9f\xf9w\xb2\x03{\xab\x1f\ +\xf9\xc7\xc0{\xb6l\xd5\x93\xd4\xc4o\x0aN@c\x90\ +\x10\xf7n\xe3C\x02\xae\xef}\x0a\xeb\xb1\x9ba\xf4P\ +\xe5h=\xf02\xcbbuY\xc0\x13\x05]C\xf0.\ +\xf0\x8b\x17^\xe0\xfe={Pe\x0f\xdf\x12\xbc\xf2]\ +\xaf\xe5\x8aO\xbe\x85\xba\xa6!\xb4\xf7,\xc8\xc3\xa6\xcd\ +@\x0b\xa4X\x02\xd62\xb4\xdd\x89V\x1a\xa5\x14J\x07\ +\x0c\xf5\xdcO\xef\xf3\xbfD\xc9\xa8\x82\xd0\x0f\xbc{\xcb\ +V}\xdb\xf1-\xa7\xe3\x83\x13\xd2\x1ax\x9d\x10V\xa1\ +\x83{\xb2}l)\xef\x8ba\x22F\x1b16b6\ +_\xbd\x88\xc5x\xb4\xaf\x8f;v\xef\xa6\xe4W\xb4\xc7\ +\x86W\x9d\xce[\xbf\xf4G,\xdf\xdc\x82\xf6\x9e\x80\xe0\ + \xe8\x92\xc9#\xd0.Z\xbbH\xe9#\x03\x9f@Y\ +X\xc9\xf3\x10\xce\x1a\xa3\x0d\xb4\xc4\xcd\x0fpp\xc7\x8f\ +\xc9\x0f\xef/_R\x03\x9f\xd8\xb2U\x7f\xfe\xf8\x95\xd2\ +\xf1\xc1\x09!\xc0\xfb\x84\xf8\xb4\x86O\x81\xb1\xf3k\x80\ +\xb3\x81\xea\xa1\xa5,\xc7\xa9)\xfc\xb2\xd7\xbf\xb7X\xe4\ +\x8e\x03\x07\xe8\xaf\xb2\xf3\xad\xab\xbax\xf3\xe7\xdf\xcd9\ +\xff\xf3\x02\xb4\xbf\x0b\xfc\xe7M\xee\x80.\x01nD\x00\ +t\xc9\x10\xa0L\x02\xe9\x81\xbd\x0c;u\x11\x9a\x04J\ ++\x94\x0c\xe8\xdf\xf7_\xf4\xef\xee\xae~\xf4\x7f\x01\xfe\ +d\xcbV\xfd\x1b\x13?8\xee\x04\xf83!\xceWp\ +\x1f`\xc5\x80\xdf\x02Zk\x9c'\x84\xa8\xf9\xd5\x8f\x01\ +\xf7\x0c\x0e\xf2b\xb6\xd2\x86\x13\xcf$y\xfd\x87\x7f\x9f\ +K?p%\xb1x\x1e\xed?\x1b\xa6\x8aU\x04^Y\ +7\xdbJy!\x09\xbc\x90\x04>JY\xd8\xa9\x0b\xb1\ +\xe2\xebPZ\xa2\xa4$;\xf0$\xbd\xcf\x8e\x9b\x04\xe3\ +v\xe0m[\xb6\xfef4\x22\x9d\x08\x02\xbcZ\xc1\xdd\ +\x00\x9b\x81\xb3\xa69\xd7\x8e\xc5*\x1e~,\xc6\xa3\xc5\ +\x22O\xe5r\x15;/\x04\xe7\xfd\xde\xc5\xbc\xe9\xb3\xd7\ +\xd0\xb4\xb4\x05-\xf7\xa3\xbdC\x08+\x00\xedM\x10\xfa\ +\x04\x22\xe0\x12\x04\xde\x04M`\xd6\x85\xb3\x86x\xdd%\ +a\xf75I)\xbb\x8f\x9e\xed\xffN\xe0\x95\xca\x8f\xf6\ +\x14p\xf9\x96\xad\xbag\x8aG\x7f\xc9\xe0\xb8\x13\xe0\x8f\ +\x85Xi\xc3>0\xaa\xff\xc2i\xce\x15\x96\x85\x1d\x8f\ +\xf3\x22\xf0\xa8\xe7Q\xaa\x9a\x8af\xf5\xcb\xd7\xf3\xd6\xeb\ +\xafa\xcd\xf9\xa7\x82\xecG\x07\xc6^K\xe9\x83\x96\xd8\ +6\xe3I@\x85\x04Z\x95@{UZ\xc0'\xf0}\ +\xa4\xaa\x90\x01\xab\x95x\xe3\x1b\x80\x04J)\x02w\x98\ +\x9e\xed?\xc4\xcd\x0f\x97\x1f\xe1 \x86\x04O\xf2\x12\xc6\ +q'\xc0uBXGL\xa7\xd1%\x02\xb8\x0c\x98j\ +\xf8\x8f#\xc0cB0\x5c\xf5\x8c\x8d]\x8d\xbc\xe9\xba\ +\xdf\xe3\x15\xef\xb8\x18\xa1]\xb4\xff\x02\xe8\x1c\x888Z\ +\xd9(%\x91\xd2E\x08M,f\x1b\x12\xe0FdP\ +\xb2\x80\x96%\x04.\x08i\x84\x1fj\x82\xc0\xf7\xcc\x00\ +\x15\xca\x90@\x93\x22\xd1t9\xc2j6#\x9bH\x97\ +C\xcf\xdfF.\x1c\xee\x1e3\x0e\xc2[\xb6l\xd5\xbf\ +\x5c\xb8\x12[X\x9c('\xf0j\x0d\xdf\x05X\x86\x99\ +n\xb4\x1ay\xe01\xa0z\x16)'\xe1p\xe9\x9f\xbd\ +\x96\xd7\x7f\xf8\x8d$2)t\xb0\x1b\x82\xfd bh\ +\x1c\x84H\xa0q\x90A\x10\x0e2Q\xc2\xb6m\xe2\xc9\ +\xd88M \x83\x02J\x16A\xbaXN\x80\xd6\x92@\ +z\x04\xbeG\xe0\xf9\xf8\xd2Ck\x89V\x01R\xfa(\ +%H4\xbe\x01;n\x02\x99\x96\xdd\xc0\xe1\x9d?b\ +\xf8\xe0\xa3\xe5G\xf3\x81\xad[\xb6\xea\x9b\x17\xb4\xd0\x16\ +\x08'\x84\x00B\x08\xf1\xa7\xf0\x90\x86\x97\x03l\x01V\ +aF\x98\xda\x0e<\x17\xae\x97q\xd6\x15g\xf0\xe6\xcf\ +\xbd\x85\xf6\xb5\x9d \x07\xd1\xfeS\xa0}\xb4N\x00\x0e\ +\x9a\x18Xq,+\x89\xd6f\x8c\x22\x19\xb8\xc8\xa0D\ +2\x95&\x16\x0f5\x81\xf6\xd0\xb2\x84\xefg\x8d\x19P\ +\x1e\xb6#P: \x08<\xbc\x92K }\x82\xc0G\ +\xe8\x00E\xa8!\xa4$Q\xff*\x12\x99\xb3\x01A,\ +\xb9\x92\xfe=\xb7r\xe4\x85_\x95\x1fQ\x03\xd7n\xd9\ +\xaa\xff\xe1\xb8\x15\xe21\xc2\x09!\x00\xc0\x9f\x08\xb1E\ +\xc0\xbd\xe5\xedf \x87\xf9\x9c\xcahZ\x0e\x97}\xec\ +L\xce\x7f\xfb\xbb\xb0\x84\x8d\x90\xcf\x83\xf7\x0c\x88\x84Q\ +\xf9$\xd0Xh\xe9\xa0qp\xe2\x19\x101d )\ +\x15FP\x81\x8b\xd6\x1euM-XBE\xe6@\xfa\ +\x05|7\x87V\xc6\x0c81\x81\x94&\x97\xc0sK\ +\x04\x81!\x01H\x10\xd28\x87\x81O\xa2\xee\x5cR\x8d\ +\x97 \xac$\xb1\xe4\x1a\x86{~B\xcf\xf6\x1fU\xbf\ +\xd6\x17\xb6l\xd5\x1f=.\x05x\x8cp\xc2\xa6\x8f\xff\ +\x86\xd6\xdd\x1a>J8~\xc00\x15\xe1[\x0e\xd9\xf3\ +\xde\x09\x97}\x066\xbczS\xd8u\x5c\xa3\xdc\xe70\ +I\xa2f\x11\x04\x08\x14J{(\xe5\xe2{y \xc0\ +v\x04\xb1x\x1c\x8dD\xc9\x80\xec\xd0\x91\xaa;\x0b,\ +;\x06\xc22\xc3\xd4\x04\x012P\x08L\x93\xb2\x13\x8b\ +\x01\x02\x81@\x05 \x03\x10\xc2B\x08\x8bR\xf6\x11\xf2\ +C?E\xab\x02\xd2\xeb\xa3y\xf9\x9bX}\xee\xbb\xab\ +\xc7$\xf8\xab\xeem\xe2;\xdd\xdb\xc4\x09\xc9\xb6\x9e\x0b\ +N\x18\x01\x00\xbe\xa1\xf5\x17\x80\xd7\x03}\xc0a\x8cF\ +\xf8\xd2\xe5\x9f\xe3\xaf7\xfe\x96\xc9\xfdt\x9c8h\x8d\ +F\xa1T\x01\xad\x03\xd3\x1bH\x87$\x10\x0at\x80V\ +>\xd2/\xa0\x82\x22\xe8\x80X\x22\x89\xed8h\xad\x08\ +\xfc\x12\xb9\xd1\xc10\x8d\x5c \x84 \x91H\x86\xc3\xd4\ +\x08JE\x0f\xa5\x01!\xb0l\x8bx\xc2\x90\x00\x01*\ +\xd0H_SNf\xf1\x0a\xcf\x91\xed\xff\x11\x81\x7f\x18\ +%\xc7\xa8\xef\xb8\x98\xb5\xaf\xf8P\xf5dY\xef\x02\xfe\ +_\xf761\xbe\xd7\xeaI\x8a\x13f\x02\xc6=\x84\x10\ +\xa2:G\xbf{\x9bx\x1f\xf0O\x00\x9b.\xbc\x9aL\ +\xcbf,\xcbFe\xbf\x8fm;\xe1leq\x10f\ +Q\xda\xc6+\x05hma9\x09\x12\xa9F\xc0B)\ +\xc9\xd8@\x0f\x81_BI\x8f\xc6\xb6\x0e\x12I'\xf4\ +\x07|\xdc\xe2\x18n)\x8b\x0c|,\x1b\xe2I'\xac\ +\x06\x06\xf8\xbeO\xa9(\x09\xbc\x1cR\x05\xa0%\xc2\x91\ +\xe8\xb0\xa9\xd2\x8euP\xdf~%\xf1\xcc\x19\x08\x91\xc0\ +\xcb\xeff\xf7C_\xc2w\xa3<\xc5\xfb\x80+\xb6l\ +\xd5\xc3\x9c\xc48\xa1\x1a\xa0\x8c\x1a\x1d4\x22W@c\ +\x1b\x13\xa0|\x94\x0a\xc2\xd6\xbb\x8a\x19\x80\x00Kh\x10\ +\x12\xa5}\x02\xb7\x80\x96\x9e\xd9oA\xba\xb1\x19\xad\x15\ +ZKF\xfa\x0e\x86s\x16\x9b\xaf9\x91Jb\x09\x0b\ +4\xf8^@\xe0\x06\x08,\x84\x10\xd8\xb6 \x91Ja\ +\xc5Z@\x0bd\x00\xbeK\xd4_E\xfa}\x8c\xf5}\ +\x0f/\xff4\xa0\x88g\xd6\xb2\xfe\xa2O\x93\xa8\x8bF\ +E\xbd\x08\xb8\xb7{\x9b\x98\xfd\x0c\x1a'\x00'\x05\x01\ +j\xa0B\x00M$\xc0r\xd3\xadRj\x82)\xf0q\ +l\x81\x96>Jyxn6:\x16\x8f'Hf\xea\ +\xcc\x98\xc4\x81\xc7H\xff\xe1\xaa\xdb\x08R\x99LH0\ +M\xb1P2QF!@\x08\x84(\x92L\xd7c'\ +:\x11B\xa0%\xf8\xae\x8eH\xa0\x82QF\x0f\x7f\x1b\ +7g\x06!q\x12\x9d\xac\xbb\xe0SdZ\xa2a\xef\ +O\x03\xee\xeb\xde&f7v\xfe\x09\xc0\xc9J\x00\xaf\ +\xbc\xa2\x82B\xe8\x03\xd8\xa6c\xb02\xc9\x1cJI\xa0\ +B\x02\xdb\xc1T\x0d\x95Q\xedF;H@R\xd7\xd8\ +\x1ce\x18\xe7F\x87)\x15*\xe9\xe4\xb6c\x93H%\ +\xd1J#\xa5\xa6\x94/!\x84\xa0\xfc\x0f\xd5G\xba~\ +\x09N\xc2$\xb5\xca@\xe0\x16u\x94\x9c\xaaU\x91\xd1\ +C\xdf\xc0+<\x15^\xaf\x915/\xff(\x8d]\xd1\ +\xac\xa8+0\x9a \xca\x818\x99p\xb2\x12 \xd2\x00\ +R\x16\x8d\x06P\x1a-\x1c\xd3H\x13i\x82 <5\ +@ \x89\xc5mc*\x02\x17\xafX\xd1\x02\x02EC\ +K\x1bZ\x99\xb1\xe8\x06\x0e\xf5Rmu\xd2u)l\ +\xc7\x98\x1a\xb7\xe0\xe1\xb9\x81!A\xb8(o'\x99\x96\ +\x8d\xc4S\xcb\x11\x80\x0a\xc0\xcd\xeb(sIk\x9f\xe1\ +\x9e\xaf\xe2\x17\x9f\x05@X)V\x9cu-\xad\xab\xa2\ +\x99SZ\x80_uo\x13\x97\x1d\x8f\xc2;\x1a\x9c\xac\ +\x04\x884\x80\x0c\x0aFE\xa3P:\x16\xb5\xd9\x97I\ +`L\x81!A,fE5\x82ba\x94j-\x90\ +H&I\xd7\xd5\xa1Qxn\x91\x91\xaa\xac!\x80t\ +}&\xd44P\x183c\x16\x19S\x00\x08MP|\ +\x9c\xba\xb63\x89gV\x01f\x8c\xc3RN\xa3\xa2\x88\ +U\xc0\xf0\xc1\x7f\xc4+>\x83\xf9\xa9\xc3\xd2S\xdfM\ +\xd7\xa6\xdf\x89n\x01\xfc\xb8{\x9b\xd8\xba0E67\ +\x9c\xac\x04\x88R\xb0|7\x17\xfa\x00\x1aM\xac\x22x\ +5\x99\x04\x96\xad\xb1l\x81V\x01\x81\x9bG\xfa%\xaa\ +I\xd0\xd8j\x1c4\xad\x15\x83G\x0e\xe3{\x11\xcf\x88\ +\xc5\x1d\x92\xe9$h\x8d\x94\x8a\xfch\x11Q\xf5\x0f\xed\ +\xe1\x17\x1e\xa3\xb1\xfde\xa4\xea\xd6\x98\x91iB\x12\x94\ +\x93\x87\xb4*2v\xe4&\xdc\xfc\x93\x18GA\xd0\xbe\ +\xfam\xac<\xfb\x8f\x08\x1dO\x07\xf8n\xf76\xf1\x91\ +\xe3R\x8a\xb3\xc0\xc9J\x80(#7p\xf3F]k\ +\x85&\x1e6\xf6H\xa4\x0c\xc2\x86\x9b\xf1\xfe@K\xa5\xbah\xb4@CS\x13\xf1x\x02\xad\ +\x15\xd9\xd1Q\xb2#\xa3\x91C'\x84\xa0\xbe\xa5\xc9\xe4\ +\x01\xa0\xc9\x0e\x17@\x85V \xfc\x17\x94v#\xbd\x1e\ +\xea\xda\xce$\xd3\xb2\xd1\x8cs\xac\xa08\xa6\x08\x5cs\ +!\xbf\xf8\x02\x85\xd1\xbb)\x8e\xdd_~\x0d\xd2\x8d\x1b\ +Y\x7f\xd1gH\xd6G5\x84?\x07\xfe\xab{\x9b\x88\ +f\xc78\x118)\x09\xb0e\xabV\x84\x8d\x81\xa5|\ +_8\xc9\x84\x02\xab\xc9h\x00e4\x80\xef\x87D\x08\ +\x1dB\xa5$BHb1\x0bM\x80[\xca#\x037\ +t\x06\xa5\x19_H(\xda\x96vR\xeeh\xda\xbb\xef\ +`H\x1e\x00M\x00\xbf\x985m\xf8Z#\ +\xac\xa6\xa8\x1a(\x03\x89\x96\x01\x81?^\x0b(%I\ +\xa4\x9cp*:I\xa9\x90\xc5|\xfdeM\xa0He\ +\x92467\xa1\xd1\xf8%\x8f\xbe\x9e\xd0\xe5\xd0\xe6\xbf\ +\xba\xe6f\x9cX\x06\xa55\xc5\x9c\x8b\xef\x05\x13\xfc\x01\ +E)\xfb\x10Z\xfbd\x9a7Q\xdfi\xe6>\xd6\xda\ +\xf8\x04n\xce\x90\xc0\xcd=\x81Wx\x9e\xc2\xe8\xdd\xa8\ +\xc08\x9d\xb6\x93`\xc5Y\x7fL\xd7\xc6\xab\x08\xfd\x82\ +\x0e\xe0\x97\xdd\xdb\xc4G\xbb\xb7M\x1c\xf8h\xe1q\xd2\ +\x13@)\xf0\xdd~\xb4R\x08\xbb)t\xfa\x14R\x05\ +\x04A@\xe0\xfbF\xf0\xb2B\x00'\x1eCJ\xe3\x1c\ +\x16\xb3c\x15\x0d\x80\x8c4A\xfb\xd2\x0ela\xa1\xb4\ +\xa2\xaf\xb7\x9fR\xbe\x14\xc6w4\xc8\x01\x9a\x97\x9c\x1d\ +\xd6\x0a4c\x03ES\xe5\x0b\xb5\x80\x10\xa0d\x9eR\ +\xce\xe4\x04d\x1a7\xd0\xb4\xf4\xecp\x143p\x0b\x9a\ +\xe2\x98\xe9\xd1\x5c\xca=\x82\xf4z)\x8e\xdeGP\xda\ +e\xdeL\x08\xda\xd7\xbe\x81\xd5/\xffK,'\x0d&\ +\x11\xfa\xf3\xc0m\xdd\xdb\xc4q\x1d\xdb\xf0d&@\x94\ +\x93\xed\x16\xfaM\x0c^$\x8d#\xa8\x0d\x09\x94\x92\x04\ +\x81\x8f\x94\xe35\x80\x10\x8aX\xccF*I\xa9\x90G\ +)\x13\x1a\x8eH\x80\xc4v\xa0sEG8y\x85\xe2\ +\xe0\xee\x1e\xa2\x10\x9fV8N\x81\x86\xb6M\xa0\x08M\ +\x81[\xfe\xfe)\x87\x92\xa5w\x18\xaf\xf8\x1c\x00\xa9\xfa\ +\xb5\xb4,\x7f\x85q\x225x\x05M~D\x83\x92\x94\ +\xc6\x1e@\xcaa\xdc\xfcv\xdc\xdc\xa3\x94\x9d\xc3\xfa\xb6\ +\xd3\xd9\xb0\xe5\xb3$\xea\xa2h\xf1\x15\xc0\xa3\xdd\xdb\xc4\ +\xcb\x16\xbap\xcb8\x99\x09\x10\xe5\xda\xb9\xa1\x1f\xa0\xb5\ +\x02\xab\xd9LF\x85B\x06\xe6\xcb\x0f\x02o\x9c\x1f\xa0\ +\x94$\x91\x8c\xa1\xa5\xa91\x14\xb29*f\xc0\x10@\ +kEcK\x13\xe9\xba\x14Zk\xc6Fs\x0c\xf5\x8d\ +\x18\xcf\x1e\x8d\xf2{i\xe88\x15;^\x8f\xd6\x9ab\ +\xd6\xc3-\x04D.\xa1\xa8\xb4\x0e\x06\xbe\x09/'2\ +\xcbi[\xfd*\xacp\x82,\xbf\xa4\xc9\x0e(\xa4\x0c\ +(\x8d\xdd\x8fR9\x02\xf7@\xe8\x17\x98t\xf6x\xaa\ +\x83\xf5\x17\xfe5\x8d]\xe7\x97_w\x0d\xd0\xdd\xbdM\ +\x1c\x97\x09\xb4Of\x02\x08\xf4\x02\ +\x14\xb3\x03a\xa3\x90\xc6r\xda\x22?\xa0\x9c\xbb\xef\x8f\ +#\x80Y,\x0bl\xc74\x09\xe7\xb3y\x82 \x18/\ +\xfcpI\xa4\x12\xb4v\x9a\xa4O\xdf\x0b8\xbc\xbf\x8f\ +\xf2\x90\xe5\xd2;\x80\x93\xac\xa7e\xe9\xe9(L[A\ +v\xc0\x8b,E\x19Z\xfb\x94\xc6\x1eD\x87\xaa\xdd\x8e\ +\xd5\xd1\xb9\xf6\x12\x12\xe9fSM\x0c \xdb\xa7)e\ +\xf3\x14\xc7\xeeCk\x1f\xadJ\x14\xc7\xba\x09\xdc\xbd\xe1\ +U\x04-+~\x8b\x0d[>G\xb2.\xeaH\xfd*\ +\x8cI\xf8Z\xf76\xd1\xb2\x10\xe5|\xd2\x12 \xc4C\ +\x00~1\x8f\x0a\xc6\x0c\x01b\xcb\xab\x22\x80\xda\x04\x85\ +\x02\xe3\x10N$Ac\xa5eT\x95\xd4JGm\x07\ +\xcb7U\xfa)\x1d\xde7\x88*\x1b\x02w\x0fhI\ +\xa6y=\xf5\xad\xe5(!\xe4\x86j0\x00M)\xfb\ +0J\x15\xc7\xedM7\xaeg\xc9)\x17\xe0\xc4\x8c\x16\ +Q\xbefp\xff\x08\xc3=\xff\x85\x0c\x9dA\x00\xbf\xb8\ +\x87\xe2\xc8]\xa8\xc0d\x92\x09+M\xc7\xfakX\xbf\ +\xe5\xa3\xd4\xb5tT_\xf2\x0f\x80\xe7\xbb\xb7\x89\x0f\xcf\ +\xa7\x9cO\x0a\x02\x84\xed\xeeV\xb88B\x88\x18\x10{\ +\xcb_PT\x9aG\x00\xdc\x5c\x0e\xe9\x99/+\x96X\ +\x11\xda\xf1\x00D\xd8\xb7\xbf\xec\x0c\xca\xf1A\xa1T]\ +\x22\xfa\xda\xb3\xc39\xd3\xf3\xb7Z\x0b\x94\x89 \x87I\ +7\xae\xa7\xb9\xcb\x84\xe6\xbd\x92\xcf\xe8\x91\xb1\xb0\xc1\xc7\ +'p\x0d\x01[W\x9cO,\x9e\x04\x05^^S\xcc\ +N6\x05Z\xb9\xb8\xd9\x87\xd1\x8c'H<\xb5\x94%\ +\x9b^E\xb2.\x19\xb5!\x8c\x1e)qd\xd7\xaf\xf1\ +KQ\xd8\x03%s\x14G\xef\xc1/>G\xd9\xe3L\ +\xd6\x9d\xc6\xea\x97\x7f\x8e\xd6U\xe3\xba\xd1d0\xa3\x99\ +\xcc\x19'\x84\x00U\x02\xb7\x85\xa9\xf7\xc40M\xa5\xb1\ +\xaau\x07pJ.\xb7\x81\xd1\xc6\x85\xd1\xbd\xe6\xf7V\ +\x1a;\xd6n\xd4|\xbc\x01%C-\xe0\xfa\xe3s\x05\ +\x94D\xd8\x16\x89LKX\x1d,\x10\x04~$\xf8\xc8\ +\x17P\x0a\x15\x0c\xa3\xb5`\xe9\xfa-\xd1\x94\xb5\x03\xbd\ +c&\xe4\x8cF\x96^4\x89\xa1v\x92\x8eu\xe7\x95\ +\xa3\xc6\xfa\xdd:\xd7\x00\x00\x10pIDAT\xe4\x87\ +\x14\xd2\x9f\xf8\x86 \x83\xa10_p<\xecX\x0b]\ +\x1b.\xa5\xa9\xb3\xf25\x97\xb2\x92\xde\xe7\x1e\xa60\xb2\ +=\xaaI @\x888\xd5\xcefa\xe4 #\x87\xa2\ +\xf0\x88\x07\xbc}\xcbV\xfd\xad9\x8a\x018\x8e\x04\x10\ +\x06\x96\x10\xc2f\xbc\x90k\x09\xbf\xbc\x1e{r'\xff\ +Y\xbeFnhot\xbdX\xd2$f8\xf1z4\ +q\xb4R\xf8n0\xc9\x0fP\xca#\xd3\xbc\x07\xb7\x7f\xbb\x5ck\x18\x06^\xb7e\xab\xfe\xc5\xdc\ +\xa42\x1e\x0bB\x80Y\x0a}\xa2\xe0\xa7:\x1e\x1b\xcd\ +\x19-\xa0\x02\x8f\xe2\xa8\xa9f9\xf1\xa5\xd8\xb1V\xb4\ +\xf6\x89\xa7\x96\x86I\x9d\x0a\xafTv\x06\xab\x92ED\ +@\xa6i\x05Z+\x8a\xb9\x12~\xc93\x82\x8f|\x01\ +Y\xa5\x05\x14B\xc4Y\xba\xc1\xe4pj`\xa87g\ +\x9a\xa4U\x09\xdf-wY\x15\xb4\xaf9\x1f;f\xe6\ +0*\x8ei\xdc|\x0d5\xa0%\xa5\xb1\x87\xd0\xda\x9b\ +|\x0cp\xe2\x1d,\xd9p)\xad+Wc\x85=\x8c\ +\x0a#=\xec~\xf0\x06\x06\xf6\xfd_\xf6>\xfay\xfa\ +\xf7\xfc\x22|\x12\x0e\x05\x92K\xb6l\xd5\xf7\xcfM2\ +\x93q\xcc\x08Pe\xd7\x1d\xc2a~j\xfc\xad%\xfc\ +\xf2\xf1ZZ\xc0\x01\x9c\xc7v\x10u\xbf\xce\xf6U\xec\ +j<}\x06(\x0f'\xd5\x82\x10)\xb4V\xb8\xc5\xc9\ +\xb5\x01)sdZ\xd6\x86f@32\x90\x8d\x82A\ +\x91/\xa0\x94\xf1\xc6\x95is\xc8\xb4\xae\xa1\xae\xc5\xd4\ +\xb2\x8a9\x8fb\xd6\x03\xad\xf1\x8b/P\xce\x06\xb5\x9d\ +:\xda\xd7\x9d\x13\x99\xe9l\x7fm\x7f@\xab\x02\xa5\xec\ +#L\x0a!\x96\xcb\xce\xce\xd0\xb1\xfe=l|\xf5\xf5\ +\xd4\xb5\x9a\x0cr\xe9\x178\xfc\xdc/\xc8\x0d\xee6\xd7\ +\xd0\xec\xe9\xed\xe75\x97\xfc\x11;B\xdf\xe9\x98\xc8n\ +\xde\x17)\x0b\x9e\x8a g\x12~\xad\xfdSi\x00\x07\ +\x88]\xf7M^\x08\xa4\x99\x88zl\xe0E\x944i\ +\xdd\x89\xccf\x94\xcca\x09M\xa2n\x05Ji|\xd7\ +D\x06\xc7\x91 \xc8\x91\xaa\xef\xc0\x8e\x9b\xfe\x01\xa3C\ +y\x02?\xac\x0aF\xb5\x01C\x00\x1d&\x8a\xa04]\ +k\xcf\x8f&\xa5\x18>R\x08G\x13\xcb\x13x\x95T\ +\xb2t\xfd*\x9a\xbaL\xe8\xd6x\xf5\xb5\xfd\x01\xe9\xf7\ +\xe1\x15vL\xdao9\xcd\xa4\x1a/\xc6\x89\xaf \x96\ +\xecd\xcd\xcb?LC\xc7\xf8i\x8f\x95\xe2\x99\x07\xb7\ +\xf3\xba+?\xc2\x81\xea\xf2;\x16D\x98\xd7\x8f\xc3\x9b\ +\xdbL\x16|-!\xdb\xd4\xd6\x04Si\x88q\xc4\xe8\ +\x1f\xe2?\xc0\xf4\xd5\xcb\x0dl7\xf7\xb7\xd28\xc9U\ +(\x99%Y\xbf<\xca\xd1\xf3J\x15\x02\x98\xe4\x911\ +4\x8a\xe6\xce\xf5f^B\xa9\x18\x1d\xcaU\xc6\x09\xd4\ +&\xa6\xa0\xfc1\x94r\xa3<\x80X\xaa\x91\xd6e\x9b\ +\x01\xf0]En\xd8\xb4\x03x\x85\x9dTK\xb9y\xd9\ +9$\xebM\x10)\xf04c}\xaa\xe6\xc7\xee\x15w\ +\x12x\xbda\xe1\xd9$2\xa7\x93j|5\x96m\xe6\ +:T\xc10=\xdb\xafg\xacog\xf4\x1b%y\xfa\ +_\xff\x83+>\xfc\xf7\x0cL(\xebh\x09\x890\xa7\ +d\x929\x11 t\xeej=\xcct\x84\x98H\x86\xe9\ +\x04?\x89\x08\xdf\xff\x19\xb7\xea\xd0\x03\x1b\xee\xad\x98\x81\ +D\xe6td0\x82\x93l\xc0\x8e\x99\xb1F\xbc\x92\xaa\ +\xd2\x00\x01\x817\x88\xd6\x8a\xba\xd6\xd5\xa6\xbd^iF\ +\xfb\xf3\xc6a\x0c\xd5\x7f\xb9j(\xbd\xde\x8a\x16\xd0\x9a\ +\x96e\x9bq\xe2F\xb8c\x03\x9ei[\x90\xd9qZ\ +@\x08\x87\x8eu\xaf\xc0\x8e\x9b\xe2t\xf3z\x8a \x11\ +\xb8\xb9\xc7\xb0\xec:\xd2M\x97\xe2$\xd7S\xb6\x1f\xc5\ +\xb1\xc7\xd9u\xff\xc7\x19>\x18\xcde\xa5Gs\xdc\xf0\ +{\xff\x9b\xff\xf1\xcd[\xc8NS\xa6\xd5D\xb0\x8e\x96\ +\x07GM\x80\x09_\xfdD\x81O$C\xf5\xf1Z\x0f\ +>\x93i\x88\x8e\xfd\xf8.\x06\x87F\xf8\x15@);\ +\x88\x9b7\x02\x88%\xd7\x82v\xb1\x04$3+\xd0\xca\ +|\x85J\xaa*\x1f\xa0\x84\x0c\xc6\x10V\x82\xe6\xaeS\ +@C\xe0+r#\xc5*_\xc0\x90 p{\x22\xe1\ +k4\x96\xe3\xd0\xbe\xfa\x5c\xc04\xe8\x8c\x0d\xf8h\xad\ +\x8d\x16\xa8\x82\x13k\xa6k\xfd9\x94{\x8a\x17F'\ +\x07\x89\x84\x95$\xdd\xfc:\x9c\xe4j\x84\x95\x0c\xaf\x99\ +c`\xcf7y\xf1\x81/\x87I\xac\xa0\x14\x83\xdbw\ +\xf1\x07\x97\xff\x19_:db_S\x0a\xbd\x96\x0c\x8e\ +F\x1b\xcc\x9a\x00U\xb6\xbez\xb1klOE\x8c\xd9\ +\x90a*\x12\xc4\x00\xe7\x8e\x07\xf9a\xf9yF\x0e\x95\ +\xb5\x80\x85\x153A\x95d\xc32\xc0\xf8h^QG\ +YCJI\x02o\x00\xa5\x15\x0d\x1d\xa7\x82\x153\xbe\ +@\x7f!\xca\x11\xd0a\xbb@\xe0\x0f\xa2dq\x9c\x16\ +\xa8k]N\xb2\xde8\x84\x85Q\x89WP(9F\ +\xe0U\x0dq\x0a$2\xabi[S\xb1\xdf\xd9\x01\x85\ +W2$\x88\xa76\xd2\xd8u\x0d\xf1\xf4\xe9h\xe5\x12\ +\xb8=\xb8\xb9'\xd8\xff\xe8G9\xf4|w\xd4\xcb\xa8\ +\xe4\xf2\xe0?\xdf\xcae\xef\xfd\x1c\xdd5\xcah\xba\xb2\ +\x1d'\x83\xd9\xfa\x06\xb3:)d\xd4D\xe1O\x14z\ +\xad\xaf~\xba}S1zJS\xf1\x8f7\xf3|\xb6\ +\xc0\xb3\x00\xa3\x87w\x98\x8c_ \x919\x03%s8\ +\xc9\x0cv\xdc\xb4\x9e\xb9\x05\xd3\xa6o\xaao\x12\xe9\x0f\ +\x86\x91A\x87\xa6\xaeS\xc3F\x19\xc9\xd8P1j&\ +.\xfb\x0c\x81{\xc0d\x1f\x85\x03S\x80\xa6}\xcd9\ +\x18\xab\x07c\x03\xd2\xa4}\x15'O=X\xd7r:\ +\xcd\xcb\xc2Lo\x0d\xa3\x87\x14\x96}\x01\x99\xd67\x99\ +\x96L\x8c\xad\x1f\xdc\xf7-v?\xf4\xf7d\x07\xa3\x18\ +\x81:\xd4\xcf\xd7\xde\xf2\x17\x5c\xfd\x83\x9f3\xc8\xe4\x0f\ +j\xaa\x8fn\xcae6$\x98\xf1\x04QI\x7f\x99\xe9\ +\x86S\x9d3\x1b\x06\xcfd\xdf\x22\x12<\xf2\x8c\x99\x8a\ +F+\x8f\xd1\xde\xfb\xc3gL`\xc7\xdb\xb1\x04\xa4\x9b\ +V\x86#\x7f\x84=y\x01\xd0\xf8\xee\x91(\xe8\xd3\xd8\ +\xb9\x01;\x96\x06`\xa4\xaf\x84\xef\x07\xe3\x9a\x87}\xef\ +\xa0\xa92\xea\xb09H+\x12\xa9:\x9a\x96\x98\xe0\x93\ +\xf4\xa10\xacP\xc1\x08\x81_=\xfa\x88)\xaa\xa6%\ +\xe7Q\xdfj\xfc\x11\xad\xe1\xc8\x0b\xf73\xd6\xf7\x0c\xa0\ +(\x8e>D\xcf\xf6\xef\xd0\xb7{\x1fA\x18\x1a\x90\x92\ +\xc1\xbb\x1f\xe5=o\xfb\x08_\x1b\xcd\xa1\xa9-\xf8\xd9\ +\x0a\x7f\x9c\x1cf\x22\xc1l4\xc0l\xd8V}\xd3\xa9\ +\x1e~\xba\x97\x98\xadf\xb0\xbf\xf0\x1d\xees}\x06\x00\ +\x06\x0f<\x82\x0aL[\x88\x93X\x8e\xb0S\xa4\x1b\x97\ +\x81\x16h\xcd\xb8\xc0\x8c\x929\xa4?d\xda\xff\x1dA\ +\xeb\x0a\x13\xee\xd5R3r\xb8T\xe54*\xa47\x88\ +R\xf9p\x04\x11\x15\xf9\x03MKO\xc1\x89\x1b\xe2\xe4\ +G4\x81\xab\xf1\x0b\x93\xb5\x80\xed4\xb1\xe2\xac\xbf\xa2\ +u\xb5i\xb8\xd1(\x0e=\xf7\x13\x0e<\xf5Mz\x9e\ +\xbe\x93\xe2X%X08\xc2\xcf?\xf5\x0d\xde\xfa\xf1\ +\x7f\xe4\xe1Y\x94\xddl>\xc4\xf2y\xd12\x9dO0\ +-\x01\xc2\x1f\xcef\xa9u\xf3\xe9\x1en\xb6\x0c\x9fD\ +\x80|\x11\x9e}\x91\x9f\x00(\x190x\xe0\xd7\x84\xa5\ +l\xa2\x83N\x82dC{\xa8\xe2\x19\x17\x98\x09\xdc\x03\ +F\x98JQ\xd7\xba\x82x\xa6\x09\x80b6\xa0\x98\xf3\ +)\x8fC\xa0\xb52\x11\xbf*\xe1k\xad\x11\xc2\xa2m\ +\xf5\xd9\xd1\xf5\xb2\x03\x9a \x18B\xfa&\x81D\xd8i\ +\x12\xf5\xe7\x92j\xba\x14;\xbe\x9c%\x1b\xdfA\xe7\xba\ +K\xa3\xf3\x0b#cQ\x0e\x81\xeb\xb1\xef\xe7\xf7\xf2'\ +o\xfa \x7f}\xd7#\x8c\xcePfS\x91`\xa6\xb2\ +\xae\xd6\x045I0%\x01\xaaT\x7f\xad\x1bN\xb7\xaf\ +\x169\xa6\xda\x9e\xc9d\xd4\xd4\x12_\xfc.?w=\ +\x06\x01\x86z\xb6\xe3\x15\x8d\x1a\xb6\xecF,\xa7\x99\xfa\ +\xb6\x8dQk]q\xacR\x1d\x0b\xdc\x9eqM\xb4\xed\ +\xab\xcf\xa1\x5c\x0d\x1b=\xe2#\x03\x15%\x92\xfa\xc5\xfd\ +&;\xb8\xdc--\xac\xf7\xa7\x1b\x97\x90i6\x89\xa4\ +\xbe\xab)\x8ej\x02\xef \x89\xba\xb3H7\xbd\x16'\ +\xbe2\xbaf\xe0\xf5Q\xca\xef\x1c\x97=\xa65\xfe\xce\ +}\xfc\x9f+\xff\x92w~\xfe_x\x9c\xa9\x85;\xd3\ +\xbe\xa9d0\xdd2\x09\xd3i\x80Z?\xacu\xc1\xe9\ +\x04m\xd5\xf8\xddlH2-Az\x8e\xe0\xdf\xf1 \ +7\x96K\xb4\x7f\xf7]\x80Q\xf3\xf1\xf4)$2\x1d\ +$\xd2\xadh4^AG\xbe\x80\xd6\x1e\xd2\xab\xd8\xec\ +D\xba\x85\xa6e\xa7\x01 \x03Mn\xc8\x8f4\x80\x0c\ +F\x08\xdc#a\x82\xe8\xf8\xea\x5c\xdb\xaa\xb3\xa3\x91\xc1\ +\xf2\xc3\x82D\xe6\xb7\xb0c\x9d\xd1\xebJ\xbf\x9f\xbe]\ +\xff\x87\xe7\xef\xf9$\xa3\x87\x0fDA\xa1\xb1<\xdb\xaf\ +\xbf\x91\xad\xd7|\x8a\xef\x0d\x8e \xa7x\xbf\xd9\x96\xcd\ +Q/\xb5\x94\xc0l\x090\x15\x9b\xa6#\xc9l\xaf3\ +\x91$\xb3\xd2,\x7f\xfbm\xee\x1b\x18f;@np\ +\x0f\x85\xd1=\x80F\x88\x18Nb\x19MK7\x83\xd1\ +\xe0\xe4\x87+\x02\x0c\xa2\xc6\x1c\x83\xa6%\xa7\x10O\x9b\ +IM\xf3#\x8ab\xb6\xec\x0c\xea\x9a^>\x80\x93\xec\ +\xa0c\xddk\x01\xd0Jrd\xd7/\x91~?*\x18\ +a`\xcf\xf7\xd9q\xd7G8\xb2\xeb\x9e\xa8j\xe7\xf9\ +\x0c\xde\xf1\x00\x9f\xbd\xec}|\xe0'wsh\x16e\ +2\x9b\xb2\x9e\xaa\xec\xa7\xc3\xa4\xe3s\xed\x9e<\x9d\xd0\ +\x8f\xe5\xcbL{\xdd\x7f\xbe\x95\xef|\xec\xdd|I\x08\ +\xec\xbe]\xff\xc5\xaasW#\x83!\x12ug\xa3d\ +\x96T\xd3s\x14\x87\x8f\x10\xb8\x9aRN\x93\xac\x13\x04\ +\xdea\xb4\xf6\xc2d\x0b\xb0\x84\xa0c\xedy\xf4>{\ +\x07J\xf9\x8c\xf5+3T\x5cJ \xfd\x01d0\x84\ +\xed\xb4\x00\x02;\xd1E,\xb1\x06;\xd6N\xbaQ\x93\ +\xed\xdfEad7\xf9\xe1\xbd\x1cx\xfa\xdb\x14Fz\ +\xaa\xe7\x1d\xc2\x0f\x18\xdb\xbe\x8b[?\xff/\xfc\xf8\xd0\ +\x00\x85)\xcan\xb6\xe5\xadg\xd8.\xef\x9bM\xd9F\ +\xa8\xa9\x01j\xa8\x8a\xe9\x1e\xf8h\x188W\xd4$\xc6\ +\x7ft\xd3\xf3\xcc\x8b\xa6\x8d\xc0\xcd\xf71\xdcs\x0fZ\ +y\xa8 G\xb2\xfe\x02Z\x96\x9b\x08\x9e\xd6\xa6\xdaf\ +\x8aLM\xd2\x02\xf1T\x9a\xf6uao,m\x1at\ +\xca]\xbd\x03\xf7 \xf1\xf4&\xd2\xcd\xaf'Yw>\ +v\xac\xc3\xdc^Xtm\xfc\x9f\x94\xb35s\x03{\ +\x22\xe1\xfb\x01\xd9\xc7vp\xd3\x1f~\x9ck\xde\xff\x05\ +n=4\x80\xcbd!LWn\xc7\xaa\x1cg\xbc\xce\ +\x94\xe3\x04\xd6\x88\xfa\xd5r\xd6\xc4\x14\xdb\xd5\x0e\x9c`\ +\xfa\xaa\xcd\xbc\x96%m\xa4\xbf\xf7y\xbe\x9c\x8c\xd3\x82\ +\x80\x95g\xfe\x0e\xe9\xa6\xb3\x88\xa5\xd6\xa3\x82az\x9f\ +\xfd{F\x0e\x1d@\x03\xe9FA]\x8b\x85\xb0\x12\xa4\ +\x9b.\x8d\xb4@\x19#\xbdO3t\xd0\x84xm'\ +\xc6\xb2\xcdo \xd5x*\xb1\xd4\x06\x84\xa8\xccgR\ +\xca\xbe\xc0\xe0\xfe\xdb\x19\xeey\x98\xf2\xb8\x81\x00A@\ +\xfe\xa9\x17\xf8\xf1\x97\xb6q\xdb\x81\xc3\xe41\x09\xad\x1a\ +\xd3\x86\xa1\x8e\xf3\x22\xab\xee\x1fmO\x1c\x92o>\x04\ +8Y\x16\xf1\x91\xab\xd9\xf2\xa6K\xf8\x80\x11\x9c\xc3\xaa\ +s\xaf\x22\xd5p\x0e\x96\xd3\x8a_|\x91]\x0f|\x81\ +\xc0-\x81\x80\xa6.\xa3\xdec\xc9\xd5\xe1\xe0\xcf\x80\xb0\ +\xb1\xe3\x1d8\xb1\x0e\xfa^\xbc\x93\xc1\xfdw\x01\x10O\ +\xb7\xb2\xf2\xec?$\x96\xec\xc4v\xda\xc8\xf6?B\xff\ +\x9e_P\x18\xd93\xae\xac|I\xee\x99\x17\xf8\xf9\xf5\ +\xdb\xb8m\xff!rUB\xa8%\xfc\x89\xfb\xc6\x09\xe8\ +(\x7fw\xb4\xc4\x92\x13\xe5=\x1d\x01\xaa\xbf\xee\x13&\ +\xdc\xd9\x9e\xf7\xdd\xcf\xf0\xbf6\xac\xe4uFp\xf5\xac\ +>\xf7]$\xea^\x06Xd\x07\xba\xd9\xf7\xd8w\xb0\ +c\xf5\xc4\x92\x0d4/k&\x96h \xd9p\x11N\ +\xac\x13\xcbi\xa2b\x0d%\x07\x9e\xfc&#\x87\x1e\x00\ + \xd5\xb8\x82d]\x0b\xa3Gv\xa0\x82\xf1Y=#\ +Yv=\xb4\x9d\xdb\xff\xe9f\xee\x1d\x1a\xc3\xad!\xb0\ +\xb9|\xb9S\x09\xbf\x16I\xa6\xfc\xd2k\xed\xd3\xd5\xea\ +\xaa,\xe7\xe9\x86\x8a]`-0k\xe1\xceb\x9fH\ +%\x88\xdd\xfcE>\xd9\xd6\xc4f\x80\xba\xd6%\xac<\ +\xebZ\xec\xb8i\xc4)\xe5\xfa(\x8c\x84\xf1\x02G\x90\ +n\x10\x08+aZ\x13#\xe1\x83R%\x0a#\xbb\xe8\ +y\xea[\xf8\xa5\xc9\xa3\xbcJ\x85\xbb\xb7\x97\xee\xdb\xee\ +\xe2\xf6\x1f\xdd\xc1n\xa6\x17\xfaL$8\xae$\xa91\ +\x22\xeb\x8c\x048\x1a!M\xb4\xfb\xf3!\xc1$\x01O\ +sN\xf4w\xc3*\x1a\xbe\xf6Q\xbe\x98N\xd2\x05\xd0\ +\xb2\xf2t\x96\x9ezmd\xeb\xf3\x83{q\x8b\xa6\xc9\ +5\x16\x17$\xea\x04\x888Z\xda\xe4G\x9e'\xd7\xff\ +4c\xfd\xcf\xa3\xd5\xe4\xfc\xbd\x5c\x81\x9e'wr\xc7\ +7o\xe1\xae=\x07#5\xaf\xa7\xf8;\xdd\xfa\xd1\x12\ +`\xae$\x19\xb7\xd4\xfa\xfaa\x06\x02\xc0\xbcL\xc1L\ +\xbf\x9b\xe9\xcb\x9e\xeax\xads\xa2\xfd\x97\xbf\x8a\x15\x1f\ +\xb9\x9a\xeb\x1d\x9b4\xc0\xb2\xcd\x97Q\xdfq\x09*\xc8\ +\x13x#\xf4\xef\xbe\x17\xbf8D\xe0\x8f\xa1\xd4\x18\xca\ +\xaf\x91\xc4g\xa0G\xb2\xecza?\x0f\xfdg7\x0f\ +\xdd~\x1f\xe5\x11$\xca\xcbD\xc1OG\x82\x99\xc8p\ +\xac\x082\xd1\x1c(\x8c\xdd\xaf)|\x98\x05\x01\xa0\xa6\ +)8\xa6\xea{\x16\xc7j\x05\x88j\x12\x00\xe0C\x7f\ +\xc8y\xbf{)\x9f\xe2(\xabSJ\x13\x0c\x8e\xb0}\ +\xc7n\x1e\xbc\xf5\x0e\x1e|l\x07\xc3\x8c\x17\xfaT\xcb\ +\xd1\x90a\xae\x848\x1a\xe2T\x7f\xf9\xd5\x93\xafL\xc2\ +\xac\x87\x8b?\x0a\x12\xccF\xe8\xd3\x09\xbe\x96p\xa7\xfa\ +[\xbd\x8c\xdb\xf7\xd5\xff\xcd[\xcf=\x95wO\xf7N\ +RQ8\xd4\xcfC\xbd\xfd\xec\xda\xb1\x9b]?\xfb5\ +/\xf6\xf6S\xa2\x12d\xa9\xfe;q\xbdZ\xd8\xb3!\ +\xc3l\xb4\xc3|\xb4E\xadc\x93\xbc\xfe\x898\xaa\xf9\ +\x02\xa60\x07\xc7J\xe0S}\xd1\xb3\x16\xfa\xc4\xe5\xdb\ +\x9f\xe6]\xe9\x14-%\x97\x5c\xc9#W(\x92\xcf\x17\ +\xc9\x1d\x1ed\xf0\xce\x87\xd9\xf3\xdcn*\xa3F\x8f\xc7\ +T\x04\xa8E\x84\xe9\x081\x9d\x9f0_2LG\x8e\ +i\xd5~5\x8ez\xc2\x880JXv\xf8fc\xb3\ +gR\xe73\xa9\xf6Z\xc7\x8ef\xa1\xc6\xdf\xd9b:\ +\x0d0\x1b\x930\xd3\xfatZb\xaed\x90\xb5\xbc\xfd\ +\xa9p\xd4m\x01\xe1\xb5\xa5\x10Bc\x04R~\x81\xea\ +\xf5\xf2R\x8eO\xab\xaa\xe3\x13\xf7\x95\xff\x8a\xaa\xed\x99\ +\xd4\xfdt\x84`\xc2\xdfZ\xc2\x9f\x89\x08z\xc2\xfaL\ +\x1aa.d\x98J\xe8s%\xc3\xac\xbf\xfaj\xcck\ +\xca\x98P\x1bL\xf5\xd5\x1f\xad]?*\x1b_ca\ +\x9am\x98=\x01&\x0a\x7f\xaa\xbfs1\x09\xd3\x99\x83\ +\xf9\x98\x8a\x9au\xfc\xd9\xe0\x98\xcc\x19T\x83\x083\x91\ +`N\x8e\xdd,\x16j\xacW\xff\x9d\xb8>\x1d&\x0a\ +}\xe2\xbe\xf9\x9a\x05\x98=\x19ji\x87Y9y3\ +\xe1\x98N\x1a5\x81\x08\xb3\xb5\xefLq\xcelT>\ +\xb3\x5cg\x9a\xf5Z8Z-0q{\xbefa:\ +R\x94\xa3z3\xbc\xc2\xec\xb0`\xb3\x86M\xa81\xd4\ +\x12\xdeL6~\xaa\xfdL\xb1\x7f:\xfb\xcf\x84c\xb3\ +\xc1\xc4\x82\x99\x8a\x00\xd5\xebS\x91b*sp4d\ +8*\xe7n\xb6X\xf0i\xe3j\xa4\x95\xcfE\xe8s\ +U\xf9\xc7\xc2\x04T\xaf\xcf\xc7'\x98\xc9G\xa8\xb5-\ +\x81\x85\x90{\x84\xe3>o`\x95f\x98\x8b\xc0\x8f\xd6\ +\xe1\xabE\x80Z\xdb\x13QK\xf8\xd5\xeb3i\x81\x89\ +\xdb\xb3%\xc3\xbc\x1c\xba\xb9\xe0\x84N\x1c9A;\xcc\ +d\xe3gK\x02&\xac\xcf\xd5\x0c\xccD\x82\xf2\xfa|\ +\x08Pv\xe6\x16\xf63\x9f\x06'\xc5\xcc\xa1\xd5\x98\xd0\ +\x17\xa1\x9a\x10\x1c\xc5z\xf5\xdf\xe9\xd6\xa7\xc2T\xf6\xbf\ +z}\xa2\xb0k\xed\x9bR\xc5\x9f,\xe5~\xd2\x11\xa0\ +\x16&\xf4Q\x98\xad\x1f@\x8d\xed\xa3q\x02a\xea/\ +\xbf\xbc=\x91\x00\xb5\x9c=N\xe62~I\x10`:\ +T%\xb0\xce\xd6\x14\x1c\xad\x06\x98\xe9+?\xa9\x05<\ +\x13^\xf2\x04X\xc4\xfc\xf0\xff\x01-\xef\xe5]0^\ +&Q\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00:\xf4\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x09\xediCCPICC Prof\ +ile\x00\x00x\x9c\xad\xd6gTS\xd9\x16\x07\xf0\ +\xff\xbd)\x84\x04B\xef- \xddP\xa4Jo\x8a\x0d\ +\x18D\x14\xb0\x02!4)\x11\x82(vP\xb0\xa1`\ +W\xb0+v\x05\x95Q\xc7\x8a\x0a\x22\x8c\xa24\x11Q\ +, 8\x22\x1d\x0b\x82y\x1f\x82e\xd6\x9bY\xef\xcb\ +\xdb\x9f\xf6\xd9k\xdd\xb3\xce\xf9\xed}\xd7:\x80\x94b\ +\x98@\x10G\x02\x88O\x10&\x05L\xf0\xe4\x04\x87\xcc\ +\xe4H\xd4\x81\x0a5H\x03\xb0\x0f\xe3%\x0b<\xfc\xfd\ +}\xf0\xaf\xf1\xb1\x1e\x04\x00\xd4\x98\x85\x09\x04q\x89G\ +\xa3\xab\x11\x97\x97\xa9\x92\xe3\xc2\xe9\x9f\xab\xfb\xf8\xdf\xbf\ +\x03\x00\xb0\x93\x82Cf\x02\x04\x17\x80b\x948w\x07\ +\xa0\x18.\xce\x03\x01(\xa6\x0a\x05B\x80\x88\x06\xa0\xc8\ +\x8b\x0e\x8b\x00\x88\xa5\x00\xb8I\x81\x01^\x00q\x1c\x00\ +;J\x9c_\x06\xc0\x0e\x17\xe7\xe5\x00\xd8\x0byQB\ +\x80h\x00(\xf2\x09\x111\x09\x00\xb5\x03\xa0\xbbF\xf0\ +\x93y\x00\x8b\x0b`^D2/\x1e`m\x04`\x19\ +\x1f\x9f\x18\x01\xb0\xae\x010\xe6\x09\x92\x84\x00\xab\x05\x80\ +Yp\xc8L\x8e\xf8\xc8\xe1\x91\x80u\x08@\x1e\xffY\ +\x9b/\x05\x14i\x02\x8a5?k&\x11\x80F\x01p\ +\xf5\xc4\xcfZ_\x00\x08\x00\x84rUr\xa4\xb5\x15\x00\ +\x80\x90\xf2\x04h/D\xa2>C@b\x0b0\x9c+\ +\x12}=$\x12\x0d\x1f\x06(M\xc0\xad8^J\xd2\ +\xc2\x11/\x82x\x00\xfc\xaf\xb5\xf8\xce#A!\x00\x02\ +$\x95\xce\x90dI\xb1e\xe4\xe4\x15\x94\x94U\xd54\ +4\xb5u8z\xa3\xf4\x0d\x8d\x8cMGs\xcd-,\ +\xc7X\xdb\xd8\xda\xd9\x8futrvqus\xf7\xf0\ +\xf4\x1a7\xde{\xc2\xc4I\x93\xa7\xf8\xf8\xfa\xfd\xe6?\ +5 p\xfa\x8c\xa0\xe0\x90\x99\xb3\xe6\xcc\x9d\x17\x1a\x16\ +\xce\x8b\x88\x8c\x8a\x8e\x89\x9d\x1f\x17\x9f X\x90\x94,\ +LY\x98\xba(m\xc9\xd2e\xcbW\xac\x5c\x95\x9e\xb1\ +&3k\xed\xba\xf5\x1b6fo\xca\xc9\xdd\xb2u\xdb\ +\xf6\x1d;w\xed\xde\x93\x97\xbfw\xff\x81\x83\x87\x0e\x1f\ +9Zp\xec\xf8\x89\x93\xa7N\x9f9{\xae\xb0\xa8\xe8\ +\xfc\x85\x8b\xc5\xbf_\xba|\xe5\x8f\xab\xd7\xae_\xbfq\ +\xf3V\xc9\xed;w\xef\x96\x96\xdd+\xbf_QQ\xf9\ +\xe7\x83\x87UU\x8f\x1eW\xd7\xd4\xd4\xd6\xd5\xd5?i\ +hx\xda\xd8\xf8\xac\xa9\xe9\xf9\x8b\x17\xcd/_\xbez\ +\xfd\xfaMKK\xeb\xdb\xb6\xb6\xf6w\xef\xfez\xff\xbe\ +\xe3CggWwwOo__\xff\xc0\xc0\xc7O\ +\x9f?\x7f\x19\x1c\xfc:44\xfc\xed\x9b\x08$\x95.\ +!\xc9\x94\x92\x96\x91\x95WPTVQS\xd7\xd4\xd2\ +\xe6\xe8\xea\xe9\x1b\x18\x1a\x9b\x98r\xcd\xcc-,\xad\xac\ +ml\xed\xc6:\xfc\x1b\xc0\xb4\x11\x80\xd9#\x00\xfc\xef\ +\x00\x89?\x00\x16\xff\x00X\xbd&3k\xed\xfa\x0d\x1b\ +\xb37m\xfeE \x7f\xef\xbe\x7f\x10\x18\x01\x10\x0b\x88\ +\x01\xee\xfc\x0d\xe0\xd1\xe3\xc7\xd55\xb5\xb5u\xf5\xff\x08\ +\xd0\xfa\x03\xa0C\x0c\xd0\xd3\xd3\xdb\xd7\xdf?\xf0\xf1\xe3\ +\xa7\xcf_\xbe\xfc\xbc?\x85FgH2Y\xd2l\x19\ +Yy\x05E%\x15U5u\x0dMm\x1d\x8e\xae\xde\ +(}\x03#c\x13\xd3\xd1\x5c3s\x0b\xcb1V\xd6\ +66\xb6v\xf6c\x1d\x1c\x9d\x9cG$~\xa5\x10\x0f\ +\xc3w\x8cY\xb3\xe7\xcc\x9d\x17\x1a\x1a\x16\xce\x8b\xf8\xe1\ +\x91\xf0\x0bH\xda\xdfE\xd6\xfdB\xf2}&\xbe\x93\xfc\ +\x93\x89\x98dd(J\xcb\xee\x95\x97\xdf\xff\x95\xa4\xae\ +\xfe\x89\xd8\xe3\xf9\x8b\xe6\x97\xaf^\xbfii}\xdb\xd6\ +\xfe\xee\xaf\xf7\x1d\x1f:\xbb\xba{z\xfb\xfa\x07>~\ +\xfe2\xf8uh\xf8\x9b\x08\x10\xff\xfb\x00@\xb7\x03\x0e\ +'\x003\x98@\xe0!`{1`\xe4\x04\xa8t\x01\ +\xfe\xd2@\xa0\x03\xc8dk\x90\x91\x91 U\x98\xa0\x10\ +\x00\x09\x80\x00\x05tHB\x06\xca\xd0\x81)\xec0\x0e\ +\x81\xe0#\x15\xeb\xb1\x0f\x17Q\x89\x16|#\xd4\x09{\ +b:\x91Ll%\x8a\x89\xa7\xc47\xd2\x80\xf4%\x17\ +\x92\xfb\xc9J\xf2\x0b\xc5\x84\x12B\xd9@\xb9I\xe9\xa7\ +r\xa9\x11\xd4\xbd\xd4\xa74UZ\x10m7\xad\x89\xae\ +G\x8f\xa6_\xa0\x8b$|$\xf6Ht0<\x18\xbb\ +\x18\xbd\x92~\x92g\x98l\xe6\x02f\x03\xcb\x8bU(\ +\xa5-\xb5I\x9a\x94N\x93\x1e`'\xb3\xfbdRe\ +\x86e3\xe5\xe4\xe4\x0e\xca\xdb\xc8W(\x84+|S\ +\xdc\xad\xa4\xaftJ\xd9J\xf9\x9a\xca\x04\x95\x1a\xd5p\ +\xd5~\xb5u\xeaZ\xea\x175|4Z5\x97i\xa9\ +h\x15k\xfbkw\xea\xe4pl8\x8d\xba\x19z\xa3\ +\xf5\xaaG-\xd5\xb7\xd0o2\xd8h\xe8b\xd8it\ +\xd08\xc8\x84mRj\x9a>\xdak\xf40\xf7\xba\xd9\ +\x0as\x0f\x0b\x9aE\xa5\xe5\xb61s\xac\x8c\xacz\xad\ +o\xda\xe4\xd8\x86\xdb\xd9\xda\xb3\xec_\x8f\xbd\xe2\xb0\xd9\ +\x91\xef\xe4\xe2\xac\xe5\xfc\xcd\xa5\xd9\xf5\x86\xdb\x01\xf7\x0c\ +\x8fH\xcf)^\xd6\xe38\xe3e\xc7\x0fywO\xa8\ +\x9fxo\xd2\xed\xc9%Sn\xfb\x94\xf9V\xfa=\xfa\ +\xad\xce\xbfi\xea\xbb\x80\xaf\x81r\xd3\x8df8\x07\x05\ +\x06\x0bB\xb2g\x9e\x99U3[4\xd7b\xde\xbc\xd0\ +\x9c\xb02\x1e\x19\xe1\xc6_\x12y5\x9a\x12\xe3\x1f\xbb\ +w~w\xfc\xe4\x84<\x01\x16\xf0\x92\xca\x84\x96)\xfb\ +S\xe5\x16\xadMc,Y\xbetp\xf9\xca\x95\xccU\ +[3tV_\xca\xf4\xc9j^\xb7d\x83\xd6\xc6\x92\ +M\xc1\x9bE\xb9\xa7\xb7\xce\xda.\xb1\xe3\xcc\xae]{\ +\x8a\xf2_\xef\x97=\xe8|Xp\xf4\xd8\xb1\xfa\x93\x92\ +\xa7'\x9d\xcd.,=/*\xf6\xba\x94~\xa5\xf2\x9a\ +\xec\x8d\xa0[Gn\xf7\x97z\xdc\xcb\xbd\xff\xf2O\x87\ +\x87\x1b\x1e\xbd\xa9\xb1\xad\xdb\xf2\xa4\xb71\xa0\xe9r\xb3\ +\xda\xab\xb47/\xde\xfa\xb7\x97\xbc\xb7\xfeP\xd0m\xd4\ +\x9b7\xa0\xf4i\xd7\xa0\xee\xd0S\x91\xe8G\xff\x99\x90\ +\x81\x0at\xc1\x85\x03&\x22\x04\xb1X\x8a\x1c\x14\xe0\x1a\ +\xea\xd0E0\x09c\xc2\x9b\x88 V\x13\x05D\x05\xd1\ +E*\x93\xaed4\xb9\x85\xbcAvP4)\xbe\x94\ +\x15\x94\x0b\x94v*\x87\x1aL\xddB}Hc\xd3\xfc\ +h\x9bi\xb5t\x0dz8\xfd4\xfd\xb3\x84\xb7\xc46\ +\x896\x863c\x1b\xa3Sr\x8a\xe4\x09&\x8b\x99\xc0\ +\xacgy\xb0\xceJiIeK\x13\xd2\x8b\xa5\xfb\xd9\ +\xc9\xec>\x99\x852C\xb2k\xe4\xe4\xe4\x0e\xfc\xcf\xee\ +\xfbj\xb4j.\xd7R\xd1*\xd6\x9e\xaa\xdd\xad\xb3\x85\ +c\xc7y\xae\x9b\xa9g\xa1\xf7dT\xba\xbe\x9d~\xab\ +\xc1\x0e\xc3\x89\x86_\x8d\xce\x19G\x9a\xe8\x984\x9a\xee\ +\x1e\x1d\xc2U\xe2>3;h\xce\xb7\xe0Z|\xb4\xbc\ +=&\xc7j\xae\xb5\x99\x0dl\x9e\xd8\x9e\xb4\xcb\xb4\x0f\ +\x1f\xeb\xea\xa0\xee\xf0\xd1\xb1\xd6\xe9w\xe7|\x97\x0c\xd7\ +X\xb7\x00w'\x0f#Oy/x\xf5\x8e\xeb\x19\xff\ +\xca\xbbi\xc2\x83\x89w'\x95L.\x99R\xe2s\xc7\ +\xb7\xdc\xaf\xf2\xb7*\xff\xda\xa9\xcd\x01\x9d\x81\xc4t\x85\ +\x19\x06A\xf6\xc1\xfe!\xd13\xd3g\x1d\x98]:\xa7\ +k\x9eF\xa8{Xt\xf8.^=\x9f\x15\xe9\x12\x95\ +\x16}=\x16\xf3\xc7\xc7\xe5\xc4\xbfH4\x17\xa4/h\ +H\xb6\x12\xe6\xa6\xf4\xa7\x86,\xba\x95f\xbad\xff2\ +\x85\xe5\xd9+\x99\xab\xb22(\xabWe\xb2\xb2\xf2\xd6\ +\x19\xaf\xbf\xbc\xd1/\xfb\xfd\xe6\x0d\xb9F[J\xb6\xf1\ +v(\xee|\xbe\xfbI>}\x9f\xcd\x01\xfe\xa1\xddG\ +\x1e\x1c\xa3\x9cp<\x15\x7f\xe6\xf4\xb9\xb6\xf3\xdc\x8b)\ +\xbf\x17_\xfer\xd5\xf9\xfa\xea\x9b\x8fnk\xdd\x0d+\ ++*\x1f\xaa\xf4{\x90_\xf5\xa1\xda\xb3vg\xfd\xdb\ +\xa7\xf6\xcfr\x9e\xb7\xbet{\xbd\xa3\xe5C\x9b\xef\xbb\ +\xfd\xef\xbft\xce\xe8\xbe\xde\xa77\xb0\xf6S\xd7\xe0\x9c\ +\xa1\xee\x91\xfe\x93`A\x16\xca\xe0\xc0\x1c.\xf0C8\ +R\xb1\x09\x05(\xc1\x0b\x0c\x13\xda\x84;\x11A\xac#\ +\x8a\x88&\x92A\xda\x91Q\xe4N\xb2\x92BR\x9c(\ +)\x94\x22J7\xd5\x8a*\xa4\xfeA\xa3\xd0\xfchy\ +\xb4\xf7tW\xfa6z\x87\xc4\x04\x89\xa3\x0c:#\x96\ +Q-\xe9*y\x86\xa9\xc3\xdc\xc1\x92eeKIK\ +m\x96V\x92>\xc4\xb6f\x97\xc9\xcc\x91\xf9,\xbb]\ +\xceN\xaeI>K\xc1N\xa1]1_\xc9K\xa9Y\ +y\xad\x8a\xb9J\x83\xea\x1a5;\xb5v\xf5|\x8di\ +\x9aL\xcd[Z\x8b\xb5m\xb4\xbbu\x0a9\xc9\xba\x8e\ +z\x14\xbd{\xa3r\xf5C\x0d\xcc\x0d\x86\x0d+\x8d\xf2\ +\x8c\x13L})\xe6\x8a\xe9\x1f\x8d\xd7\xf2n\x04\xddR,\xa9\ +\xbd\xb3\xbdt\xfa=\xa5\xf2\x9a\x8aM\x7fNy\xc8\xac\ +*{\xbc\xa8\xc6\xaa\xb6\xbd\xfe`Cp#\xfb\xd9\x8d\ +\xe7\xf3\x9b\xd5_V\xbc\x16\xb6\xa8\xb6\xdeh\x8b}\xc7\ +\xf8\xebP\x87\xf7\x87\x97]Kz\x94zO\xf4;\x0c\ +T|\x9a\xf5\xb9cp\xed\x90\xeap\xa3H\x04\x88\xdf\ +\x8b\x00\x00Z\x8co\x18\x0f\xff\xe7\x88\x8fK\xf9\xbe'\ +\x09@\x8a\x9f0}\x1a\x00\x06\x00c\x81\xd0?\xf0{\ +\x8e\x18\xf8\x22\x0c<\xf1;\x15\x00\xe8\xb2@\xbe\x11\x00\ +\x5c\xf6M\xfa\xaf}\x85\xfcEB\x00\xf0J\x14,N\ +\x8a\x89\x8a\x16r<\x04\x828>\xc7+1^\x90\x22\ +\xe4'q9\x93\x12x\xe6\x5c\x8e\x95\xa5\xa5-\x00\xfc\ +\x07\x8f\x08\x91L8\xcf\x9b\xb0\x00\x00 \x00IDA\ +Tx\x9c\xed}y\x98\xdcV\x95\xef\xefJ\xaa}\xed\ +\xaa\xde\x17o\xb1\xe3v{K\xec8\xdb\x04\x08\x84I\ +X\xb2\x10\xc0\xc0\x83\x19f\x08o\xc20\x0f\xde\x1b\xc2\ +\x00o\xd8g\x80\x84-\xc0\xcc\x03\x860\x0cd\xb2\xd8\ +$&\xb6\x13'1^\x12;\xc6\x8e\x1d'\x8e\xed8\ +^:\xee\xd5\xbdUwuwu\xd7.UIz\x7f\ +H*]\xa9T\xd5\xbb\xed\x04\x9f\xef\xd3'UI\xba\ +\xba\xba\xe7w\xcfv\xcf\xbd\x22\xb2,\xe3\x12\xfd\xf9\x12\ +s\xa1+p\x89.,]\x02\xc0\x9f9\x15\x01\x80\xa8\ +t!*s\x89\xce?\x95\x94\x00\x97@\xf0\xe7Ae\ +U\xc0%\x10\xbc\xf5iB\x1b\xe0\x12\x08\xde\xda4)\ +#\xf0\x12\x08\xde\xba4i/\xe0\x92q\xf8\xd6\xa4)\ +\xbb\x81\x97@\xf0\xd6\xa2\x22\x00L&2x\x09\x04o\ +\x1d\xb2\x94\x00\x97@\xf0\xe7C%U\xc0dA\xf0\xed\ +o\x7f\xfbR4\xf1ML\xc4\x82\xd1\x86\x9e]\xae\xa3\ +?\xf0\xc0\x03\x5cSS\x93k\x98e\xc5\xbf\xbe\xf9\xe6\ +\xd4\x1c\xd4\xef\x12\xcd1\x15\x01\x80\x10R\xfc\x9fr\xc2\ +\xf0\xdf\xeb\xaf\xbfn\xcbf]\xaeh4\xe6\x16\x88\xe0\ +!\xac(\xdc\xf6\xee\x1b\xce\xcdq}/\xd1,\x93%\ +\x00\x00\x00\xb2\x0c\xb3l\xd0Nuvv:\x12\x09\xc6\ +e\xb3\xc1%I9\xcf\xc0\xf0\x98O\xe0\x05\x9f$\xc9\ +\xb9t\xbc\xef\x95\xf5\xeb\xd7\x0b\xe7\xa3\xf2\x97h\xe6T\ +\x1a\x00\x80\x15\x08HOO\x8f\x03\x80+\x9b%nQ\ +\xccy`c\xbd\xc8I\xbe\x91\xb1\xb8?\x9eJ\xfb\x19\ +\x199\x9e`\xef\xed7];x\x1e\xea\x7f\x89fH\ +\xe5\x00\xa0\xede\xf5\x1a\x02\xc0\x09\xc05:\x9aq\xc7\ +\xb31\x8f$\x12\x9f,\x88\xbe\xbc,\xfb\x09d\xff\xd8\ +X\x220\x1aO\x05\x01\xd9Ar\xe2#\xb7\xdcr\xfd\ +\x99\xf3\xf6&\x97hZT\xca\x827(\xfcM\x9b6\ +1\x00\x5c\x00\xdc\x00\xbc\xa1\x90\xcbW\x1d\x0c\x06\x1c\x8c\ +=\xe0p\xd8\x83\x840AIFE \xe0\x0dU\x86\ +\xfd!\x16hd\xec\xdc\x0fw=\x7f\xe8}s\xfd\x02\ +\x96\x95\x9f\x80.D\x9d.V*%\x01\x0a\xbd\x7f\xcf\ +\x9e=lUU\x8b3\x1cv\xbbkk\xbdn\x00^\ +u\xf3\xe7\xf3y\xff\xe0\xf0\xb8_\x96\x11\x10x>\x98\ +\xcb\xe5\x832P!\x08\xf9\xd0pt4$B\x0eC\ +\x96\x9f\xf8\xcbw^\xfd\xd5Y\xaf\xf8\xe4\x19Yx\x97\ +\xc9\x96-\xff\x19\xe5\xc9Y\xb9\x81\x85\xc6}\xe5\x95W\ +8\x8f\xc7\xe3\xb4\xdb+\xdc\x1c\x07\x8f\xcf\xe7\xf1TT\ +x}\x00|\x00\x02\x00\xfc\x00\x02C\xc3cA1\x97\ +\x0ffs\xf9\x10\x9f\xe5+ #\x9c\x97\xc4\xd0\xc8h\ +<\x9c\xcb\xe5\x02\x90\x99\xa7\x92$\xf1\xa9\x0f\xdcx\xe3\ +\xd8\xb4+Z\x9a\xe1V\xff\x9b\xd5\x98Fr\x89\xe3r\ +\xff\xbd\xa5\x01Q\x12\x00\x8f?\xfe\xb8\xad\xa2b\x91\xab\ +\xae.\xec\xb2\xdb\x19\x0f\xe7rzY\x06>\x9b\x8d\xf3\ +\xd5U\x85\xfcP\x00\x10\x00\x10\x04P\x11\x1bKT\xf0\ +|.\xc4\x0b\xf9P&\x9b\x0d\xcb\x92\x14\x96$\xd97\ +6\x9e\x22\xbc\xc0C\x96\xe5c\x099\xf9\xce\xc9\x82\xa0\ +\x04\xc3i\xc6\x9a\xcf\x93\x12\xd7\xd1T\x0a\x00V\xc7\xe6\ +\xbd\xf2\xe3-\x06\x06K\x00\x00\xc0\xf6\xed\xdb\x1d\x02\xe7\ +\x0f\xbb\xed\xac\xa7\xa1\xbe\xd6\xcb\xb1\x8c\xd7\xc1\xda\xfd\x8c\ +\x8d\xf5\xdb\xedl \x14\x08\x04l66\x08\xa0B\xdd\ +B\xf1D:\x94\xced\xc3\x92(\x85\xe3\x89\x94G\x06\ +\x08d`l<\x89L6\x0b\xc8\xf2X^\x96\xdey\ +\xf3\x8dW\x1f+Y!#\xe3\xad\x18n\xfe\x8fl\xd8\ +\xb0!\xb0n\xdd\x0dW\xf8|\xae\xf96\x9b}>\x00\ +\xb0,7\x8f\x10f>\x000\x8cr\x8b(\x8a\xdd\xa2\ +\x98/\xc4*\x92\xc9\xf4k\xa2\x98\x1b;th\xff\xb1\ +\x8f\x7f\xfc\xe3\xe3P\x98\xadm0\xed\xe9\xff\xdf2@\ +(\x09\x00\x00\xd8\xbe}\xbb\x9f\xd8\x83\x8b\x1dv\xceW\ +W\x15\xf6\xb3v\x9b\xdf\xc6p\x01\xbb\xd3\x1e \x04\xc1\ +\xcap\xa0\xc2\xc6q!\x00!\x00!\x09\x08g\xd3|\ +(\x99\xce\xb8eYF<\x9eB>\x9f\x87\x0c \x93\ +\xe6\x11O\xa6 \xcb\xf2\x98\x0c|\xe1\xa6\xb7\xaf}\xb0\ +P\x89\xf2L\xd7~3\xda\xf1\xce\x9d{\x17\xae^\xbd\ +\xf26\x87\xc3\xf96\x8e\xb3\xadbYv\xde\xb4^\x9e\ +z\xac(\x8a\xe7$)\x7f<\x9b\xcd\xee\xef\xef\x1f\xd8\ +\xb7zu\xcb1\x18\x19o\xde\x00\xbc\xf9\x81P\x16\x00\ +\x00\xb0u\xeb\xde\xa0\xc3\xe3\xbc\x9e\xb3\xb1\xe1\xfa\x9ap\ +\xc0f\xe3\x02\x1c\xc7\x05].{\x05!l\xc8\xefu\ +\x87\xdcnGH\x02\xc2\x90\x10&\x04\x0e^\xc8#\x99\ +LA\x92e$\x12)\xf0|\x0e2\x00!\x97\xc3\xf8\ +x\x12\x90eH\xa2t\xcfM\xef\x5c\xf73\xad\x1e\xd4\ +\xbe\x88\xe9\x9f\xfe\xf4\x97\x17\xdez\xeb{\xde\xbeb\xc5\ +\x92[kk\xabV\xb1,g\xc9\xf0\xd94\xf0EQ\ +<\xc7\xf3\xd9m\xbd\xbd\xbd\x8fP`\x90\xf0\x16\x03\xc2\ +\x84\x00\x00\x80\x1d;\x0e\x86d\x8eY\xcf\xb1\xa4:\x1c\ +\x0eV\xb8]\xae\x0a\x1b\xc3T\xb8<\xce\x10!$\xec\ +\xf7zBN\xa7#D\x08\xec2\x00\xc8@>/\x22\ +\x95NC\x14%$\x92\x19\xa43\x19@\x06\x84\xbc\x88\ +D\x22\x05I\x92 \x89\xd2\x7f\xdft\xe3UwAw\ +G\xb5^N\xee\xbc\xf3\x13\x15\xef}\xef\x07?\xb9r\ +\xe5\xd2O,\x5c\xd8\xb8\xd2\xe7\xf3\xea\x95\x9e\x06\x9fg\ +\x02\x0e\x0d\x0cO=\xf5\xc4w?\xf5\xa9O\x8d\x01\x10\ +a\x01\x847#\x08&\x05\x00\x00x\xf0\xc1\xbd\xce\xda\ +y\xae\xcf\xb3\x84\xac\x08W\x04C\x1e\x8f3\xc4\xb0L\ +\xc8\xe7q\x87\x09C*\x5cN\x07\xe7\xf5\xba\xb5\xa6P\ +ZE\x92\x91L) Hgx\x8c\xc7\x93\xca9I\ +\xc6x<\x0dQ\xccC\x92\xa5\xe3\xbb\xfe\xb4\xe3\x96\xfb\ +\xbe\xf6\xb5q\x00\xccg>\xf3\xc5\x05k\xd6\x5c\xf7\xd5\ +\xb5kW~b\xd9\xb2\xcb\xa6\xfeBS\xe4\xf3T\x80\ +\x91\xcb\x09'\xfe\xf3?\x7f\xf9\xde/~\xf1\x8b1(\ + \xd0$\x82\xa4^\x22\xbf\xd9@0i\x00\x00\xc0\xb6\ +m\xdb\xdc.o\xf57$\x90\x1b}^O\xb8\x22\xe8\ +\x0b3\x84\x04|>\x0f\xcb\xb1\x0c\x1c\x0e;\xbe`A\xe3\xc4\ +\x15\x9fF\x8f\x9e\x0dp\xe4r\xc2\x89\x7f\xfb\xb7\x1f\xbf\ +\xff\x1b\xdf\xf8\xc6(t\x10\x18T\xc3\x9b\x09\x04S\x02\ +\x80F\xbb\x9f\x7f\xf9\x07 \xb8\xdb\xedv\xf9\xc3!?\ +\x03B\x10\xf0{\xc0\xb1,X\x96\x85\xcf\xe7\x06\x01Q\ +\xe4\x80\xac\xb4NN\x10\xc0\x0b9\xe4s\x22F\xc7\xe2\ +\xc8\x09\x8a]\x90Ld088\x82\xba\x9a*\xacX\ +qyq\x05\xcf\x93\xb8\x9f\xca-\x82\xc0\xbf~\xdf}\ +\xffz\xdb\x0f~\xf0\x83\x11\x00y(\xafhP\x0bo\ +\x16\x10L\x0b\x00\x00\xb0k\xcf\xcb\xdfb\x19\xe6\xdb6\ +\x9b\x0d\xe1\xb0\x1f\x0c!\xf0z\xdd\ +\x05\x02\x06--\x13\xeb\xf9\xf2<\xbbp\xe0\xe0\xf9\xec\ +\xc9\x03\x07\xfe\xf4\xb9\xdbn{\xefQ\xe8 \xa0m\x83\ +\x8b\x1e\x043\x02\x00\x00\xec\xde\xfb\xca\x8d\x0c\xc1\x16\x86\ +e\x82\xe1\x8a\x00X\x8e\x85\xd3\xe1D0\xe0\x01!\x04\ +\x0e\x87\x0d\x1c\xcb\xd1\xfe\x12^z\xe95\xd4\xd5\xd5\xa1\ +\xa6&l\xac\xcc\xb4\x98V\xee\xec\xdc\x83C\x14\xf3\xf1\ +\x17^\xd8s\xc7m\xb7\xbd\xf7\x18\x80\x1c\xded \x98\ +1\x00\x00`\xe7\xde\xc3Wp\x0c\xbb\x87a\x98\xa0\xdf\ +\xef\x85\xc3n\x83\xd3aC0\xe8\x03C\x18\xd8\xed6\ +p\x1c\x07\xc82\x0e\x1f>\x81\xa6\xa6F\x84B\xfeR\ +U\xb2\xfewV\xc1Q:\x8dq:\x86\xa2(\xe6\xe3\ +\xbbv\xed\xb8\xf3C\x1f\xba\xe3U(\x92\x80V\x09\x17\ +5\x08f\x05\x00\x00\xb0u\xef\xde`\x80\xf1\xed!\x84\ +\x5c\xe1\xf3{\xe0\xb4\xdb\xc1\xd9XT\x85+\xc00\x04\ +,\xcb\xe2\xf8\xb17\xd0\xd4\xd4\x80`\xd0W\xbeR%\ +\x99p\xf1\x82C\x14\xf3\xf1\xdd\xbbwZ\x81\x80\x0e \ +]t\xb1\x82Y\x03\x00!\x84<\xfa\xf4\xd3\xc1Z_\ +\xed\x16\x96a\xde\xe1t:\xe0\xf18\xc12,*\xc3\ +A\x9c>\xd5\x8e\xf9\xf3\x9bL\xcc\x9f\x1d\x83\xac\x5cY\ +\xe7\x13\x1c\x14\x08\x8eBQ\x07\x17=\x08f\x05\x00\xa6\ +,\x22\xb2{\xcf\xe1\xdfr\x1c\xf7I\x87\xc3\x0e\x8f\xc7\ +\x85\xfe\xde!\xd4\xd5Vc\xde\xbcz\xd3}eK\x9d\ +b\x1d\xa6^V\xb9{FGcH$\xc6\xd1\xd8\xd8\ +\x04\x96e'q\x8f\x02\x0eE\x1d\xfc\xf1\x83\xeb\xd7\xdf\ +\xf9*\xde\x04 \x981\x00\xcc\xcc\x87\xd2\x12\xcc\xb3\xbb\ +\x0e|\xd3\xe3\xf2|5\x93\xc9\xc2\xedpa\xe5\xcab\ +\x1f\xbf|\xb9e\xcf\xceYY\xf1x\x1c\xbd\xbd=\x88\ +\xc7\xe3`\x18\x02\x8f\xc7\x8de\xcb\x96\x1b@0\xd1s\ +DQ\x8c\xef\xda\xb5C\x03A\x9e\xda.:\x10\xcc\x16\ +\x00\xe8\xc1\x1bV\xddl\x8f\xff\xe1\xd9\xcf\xb1\xc4\xf9\xdd\ +\x1bn\xb8\x0a6\x9b\xad\xc4\xfd\xd3yf\xc93\xd3.\ ++\x9dN\xa3\xab\xab\xb3\xc0x\x80\xa8\xe7\x08\x1c\x0e'\ +\x9a\x9b\x97\xc1n\xb7O\xba\xce\xa2(\xc6w\xef.\x02\ +\x81\x160\xbah@0\xa3Y=e\x98\xcf\x01\xb0\x8d\ +\x8d\xa6oX\xb5\xaa\x19\x1c\xc7\xa93\x8d\x8a7Y\x96\ +!\xcb\xb0\xdcJQ\xa9\xebK=\xa3\x5c6X6\xcb\ +\xa3\xad\xad\x0d\xc7\x8f\x1fG<\x9e\x80&\xc8\xb4W\xe3\ +8\x0e\xf5\xf5\xf5\xb0\xdbmT\x9dK\xd7A#\x96e\ +\xfd\xef~\xf7-\x9b7m\xda\xb2\x06\x80Mm\x13\xad\ +}\x0aC\xdb\x17:Gq\xda\x12\xc0$\xfa\x19u\xe3\ +\xd4\xcd\xfe\x9d\xef\xfc\xfb\x1dk\xd7\xae\xfb\xcd5\xd7\xac\ +\x9edy%\xcfL\xf1\xfa\xc9=C\x14E\xf4\xf6\xf6\ +```\x00:\x8e\x09\x18Fq\xedX\x96CMM\ +-jjj,\xc5\xffd\xeb+\x8ab|\xe7\xceg\ +?\xf4\xb1\x8f}\xf8(\x00\x01z\x9c\xe0\xa2\x90\x04\xd3\ +\x02\x80\x05\xf3\x09(\xe6_w\xdd;\xaa>\xfb\xd9/\ +\xed\xba\xf6\xda5\x8d\xa1P\xc0|\xef\x14\x9fU\xf6\xec\ +\x94\xef\x11E\x11\x03\x03\xfd\x88D\x06\x90\xcfK D\ +\xa9\x93\x965D\x08PYY\x85\xfa\xfa\x06U\xe4\xcf\ +|\x5cA\x14\xc5\xf8\xc1\x83/\xdd\xf5\xfe\xf7\xbfk/\ +\x8c\x86\xe1\x05\x07\xc1L\x00@\x1b}\x05\xb1\x0f\xc0\xf9\ +\xf3\x9f?\xf4\x95\xc5\x8b/\xff?W]\xb5r\xaa\xe5\ +N\xf1\xfa\xb2g\x8b\xfe\x89F\x87p\xee\x5c\x17\xf2y\ +\xb1\xd0\xeb\x09\xd1S\xc6|\xbe\x00\xe6\xcdk\x82\xcbe\ +\x1c\x97\xa0\x9f\x13\x8d\x0e!\x12\x89\xe0\xb2\xcb\x16\xc3\xed\ +\xf6L\xa9\xbemmg\xbfp\xd5U+\x1f\x86\x11\x04\ +\xe6\xd1\xc4\xf3\x0a\x04n\xaa7X\xa4o\x19\x00\xb0v\ +\xed\xdb+++\xab\xefjh\xa8)\xa9\xc7K1\xae\ +\xdc{[\x81\xa3\x5c3\x11\xa2\x9f\x8cF\x87\xd0\xdb\xdb\ +\x0b\x9e\x17\x0a=^\xc7/`\xb7;\xb0`\xc1\x22\xf8\ +\xfd\xd6\x01*YV\xbc\x83\x8e\x8e6d\xb3J\x19'\ +N\x9c\xc0\xa2E\x8bPUUU\xaa\x06E\xff,^\ +\xbc\xe4\xa7\xaf\xbcr\x02*\x08\xccT\xc8)P\xe7g\ +\x9e\x17\x10L\x19\x00*\x95\x92\x00\xf6\xbb\xee\xfa\xf4\xdd\ +\x1cg\xf3UV\x86J\xde\x5c\x9eq\xa5\xee\xb1\xbe\xa9\ +\x94\xd4\xd0\x98\xa6\xb9t\x84\xe8V\xbd\xd6\xf3\x1d\x0e;\ +\x1a\x1a\x1a\x10\x0eWR\xcf(v\x0b\xfb\xfaz\x10\x8f\ +'\x0a\xe0QT\x06\xd0\xd5\xd5\x09\x8e\xb3!\x18\x0cZ\ +\xd5\xc0\xf2]\x16/^\xac\x81\xe0\x11\xe8m\x98WO\ +\x9fw\x10L\x09\x00\x16\xbd\x9f\xa56\x1b\x00{8\x5c\ +\xfd\xc1\x8a\x0a?X\x96\x9dr\x8f\x06\xa6\x0e\x0e\xabg\ +\xa4Ri\x9c;\xd7\xa9Z\xf5:\xd3\xb4c\x9bM1\ +\xf0\xaa\xabk\xd4z\xd2\xcfP~\xf0<\x8f\xee\xeeN\ +\x8c\x8e\x8e\x19\xa4\x86V\x8e\xdd\xee@}}\x03\x02\x01\ ++\xe6\x97\x7f\x97\xc5\x8b\x17\xff\xf4\xd0\xa1\xe3\xe4\xdak\ +W\xd3\x92\xe0\x82\x80`:\x12\xc0\x10\xf0\x01\xc5\xfc\xfb\ +\xee\xfb\xf9\xc7\x1c\x0eg} Pj\xa0G\xa7\xb9\x00\ +G6\xcb\xa3\xaf\xaf\x17\xd1\xe8\x90\x81\xe1\xf4qee\ +%\x9a\x9a\xe6)\x83S\x16\x94\xcd\xf2\xe8\xed\xed\xc5\xf0\ +p\xd4T\x17Ejp\x1ck\xf2\x0ed\xc8ric\ +\xc4\x1a\xb4\xc0\xd2\xa5\x97\xff\xe4\xd0\xa1\xe3\xb8\xf6\xda\xd5\ +\x8fP\xa7D\xed\x12\xa8v\xc1\x5c\x83`\xa6*\x80v\ +\xfdl\xf5\xf5\x0d\xef&\x84 \x10\xf0\x1b\x18\ +\xbfAGkEh\xcf\xa0\xc5\xb4U\x8f\x07\x80pX\ +a\x9a\xd3\xe9(\xf9\xd2Z$QS\x19F\xf0\x00~\ +\xbf\x0f\x8d\x8d\xf3\xe1v\xbbJ\x96A\xd7\xcf\x8a\xe8v\ +\x09\x06\x83\xeb\xdb\xda\xfa\xb0xq\xc3\xe7`dv\xc1\ +; \x84\xccJ\xc8x&q\x00\x83'@\x08\x08\xc3\ +\x10H\x92\xf22\xed\xed\xddhn^\x04\x97\xcb\x0dQ\ +\x94\x0a7\xeb\xcb\x0dY\x14L1\xee\xf8\xf1#\xd0\x19\ +\xc5P\x0d\xa4\xe8\xe8\xba:EG[\xcf\xdeQ\xc4\xb4\ +f\xd9\x9b\x19O\x08\x81\xcf\xe73\x81\xa7\xb8-c\xb1\ +Qtww\xab\x8c\xd7%\x8e&5\x9cN\x07\xe6\xcf\ +_h0\x12K\x95\xa5\xbf\xe3\xe4\xd4` \x10\x5c\x7f\ +\xf6l\x1f\x96,i\xf8\x9cv\x09\xf4\xf8\x00\xc1,\xa9\ +\x82\xe9H\x00mo\xf0\x04dY\x22\xca0\xaa\xf22\ +\x92\x04\xb4\xb5u\xa3\xa5e\x09\x18\x86C>\xaf\x83\x80\ +a\xac\xeb\xac\x81\xc3\xe1p\xa0\xb9y9\xce\x9e=\x0b\ +I\xd2\x19\xc8q\x1c\x1a\x1a\x1aP]]C\xddSJ\ +L\xe7Q,5\x14\xa6566!\x18\xac\xa0\x9e\xa9\ +\xbe\x14eo\xf4\xf5\xf5\xaa\xb6B\xb1\xd4`Y\x0eM\ +MM%\x01X\x8e\xa6\x02\x8e`0\xb8\xfe\xc5\x17\x8f\ +\x1e\xbc\xfe\xfa+\x1f\x811\xb9A\xeb\x80s/\x01,\ +\x12\x164\xe6\xd3 *\x15.R\x80 \xe1\xf4\xe9\ +\xb3X\xb6l\x098N\x07\x81$\xa1$i\xe0\xf0\xfb\ +\xfdX\xbd\xfa\x0a\xb4\xb7\x9fE2\x99@]\x9d\xc2x\ +%\xb9\xc4\x5cGZL\xf3*\xc3\x0b9\x17\x00\x94\xf1\ +\xfd\xfa\xfazTW\xd7\x94dZ6\xcb\xa3\xa3\xa3\xad\ +\xc0x\xb3\xad\xa1\x19\x89Z\x08\x19\x98\xbb\x18\x87F\xe9\ +4\xbf\x00J\xa4U\x82q\xe4pV\xa4\xc0t\x8d@\ +\x80\x9a\xca\x0d\x80\xd1\x1b\xcc8\xa0\x22\xcb2N\x9fn\ +CK\xcb\x12\xd8\xed6\xf0\xbcb\xd4\x96j\x1b\x1a\x1c\ +\x0c\xc3b\xc9\x92f\x08\x82\x00\xbb\xdd\x0e\x86\x01\xcc\xa0\ +W\x5c\xbav\x08BV}\xbe\x96\xe4\xa43\xb0\xbe^\ +\x03\x8f5\xd3x^\xb77h\xa9A\xeb\xfap\xb8\x0a\ +\x8d\x8dMT\x19T\xc3\xccr\x8cCy\xaf\x14\x9e|\ +r\x17\x9eyf\x17\x07\xc0\x0e\x8b\x09'\x98\x05)0\ +\x938\x80\xb6'\x00\x08!\x1c\x14#P\xbbD\x07\x02\ +-\x09\x1c\x0e\x0e<\x9f\x9f\x94-\xa0\x91\xe6K\xd3\xe0\ +H$\x141\x9dH\xc4\xd5{t\x11\xad3\xadR\xb5\ +\xca\x1dj=\x8c\xe5\xe6\xf3\x22\x06\x07\x07\xd0\xd7\xd7c\ +ik\x10\x02\xf8|^\xcc\x9f\xbf\x08\x0eG\xe9(\xe0\ +l\x8en\xb2,\x83\xbd{_\xc2SO\xedE2\x99\ +\x82,K\xdaX\x0b=\xeb\x88\xee\x883\xa2\xc9\x02\xc0\ +\x1c\x07\xd0\xf6\x94\x04\x90\x89n!\xcbE@P$\x81\ +\x0e\x82l6\x0fz\xcc\x9e\xa6r\xe0\x10\x04\x1e\x9d\x9d\ +m\x88\xc7\xc7)\x8b\x5c\x17\xf9\x0a\xd3\x14\xab\x5c\x0fI\ +\x1b\x9f\x93\xcf+F\xe2\xe0`\x04\xa2\xa8\xb9\xd9\x8c\xa1\ +<\x8f\xc7\x8d\xc6\xc6\xf9\xa0\x17\xa6\x98\xcb\xd1MB\x08\ +\xfa\xfb#x\xf0\xc1\xad\xe8\xee\xee/\x94\x17\x8f\x8fv\ +@\xcf)\xccAW\xbb\x12u\xef\xb4\xd5\xc0t%\x00\ +MD\xadD\xa1\xe7i\x0c4\x03A\x96e\xb4\xb6\xb6\ +c\xf9\xf2%\xf0z\x1dH&\xf9\xd2\x85\x96\x00\xc7\x1b\ +o\x9cA&\x93\x82\x86=\x85\xf1\xca\xf3\x1c\x0e\x07\x16\ +,X\x00\xaf\xd78\x1aIK\x8e\x91\x11\xdaV\xd0t\ +\xbc.\xf6\xedvc\x08y.C\xda\xb2\x0c\xb5\xbdd\ +l\xd8\xf04^|\xf1\xd5B\xb6\x92V\x1f\x9e\xcf\xa4\ +aL*5\xa8^\xcc0.0\x1d\x1b\xc0\xf2\x9c\x12\ +\x06f\xd4\x06\x93J\x02A\x92D\x9c:u\x16--\ +K\xe0\xf39\x90Hd-\x8b-\xd5\x9e\xcd\xcd\xcb\xd1\ +\xd3\xd3\x85\x91\x91\xe1\x0238N\xb1\xcaC\xa1J(\ +\xd2\xa6\xf8\xbe\xb1\xb1Qtww!\x97\xe3\xa1\xebv\ +\x1d<,\xcb\xa1\xba\xba\xa6`\xe0I\x92\xac\xda\x1cV\ +\xf5\x9a\x9c\xea\xd2\xef\xb1~\x19\x9b\x8d\xc5+\xaf\x9c\xc0\ +\xa6M;1::\xa6\x96\xa1\xe4'\xea \x10\xe9l\ +bCF\xf1l\xd0L%\x80\xae1\x0d\x12\xa0<\x10\ +DQ*\x80\xc0\xebu\x22\x99\xccNT|\x81X\x96\ +\xc5\x82\x05\x97\xc1\xef\x0f\xa0\xa7\xe7\x1c\xaa\xab\x8d\x89\x1d\ +f\xc9a\xb4\x15\x8a\x19\x0f(!\xe4\xba\xba\xfa\xa2\xec\ +\xdf\xd2\xde\xca\xcc\xc0\xc1q\x0c\xa2\xd1\x11l\xd8\xf0\x0c\ +N\x9el\x03\x00\xb8\xdd.H\x92\x08\x87\xc3\x81`\xd0\ +\x0bB\x08b\xb1\x04\x86\x87\xfb\xa2(\xee\xf9\xe7\xdd\x06\ +(G\x9a\xe9\xa5J\x00\x85\x01\x13\x01A\x92$\x9c>\ +\xdd\x86\x15+\x96\x22\x18tcl,c\xd1SJ\x0f\ +\xa5\x86B\x95j\x8f7\xdd\xa1\x16!\x08<\xda\xdb\xdb\ +\x90L\xc6-\xa3w\x84\x00\xc1`\x10\x8d\x8d\xf3`\xb7\ +[\x1b\x89\xdauVT\x0a\x1c\xe5b\x1c\x0c\xc3\x80a\ +\x80\xad[wc\xe7\xce\x17\x91\xcf\xe7a\xb7\xdb\x10\x0e\ +\x07\xe1p\xd8\xc0\xf39\x08B\x1e\x0c\xa3\xac\x9bp\xf6\ +\xec9\x0c\x0c\xb4\x0db\x96\x99N\xd3l\x00\xa0@\xb4\ +\xdf<\x19 H\x92\x84\xd6\xd6N,[v\x19\x82A\ +\x97%\x08&\x1aJ5\x93 h\xe1\xdf!\xe8\xae \ +m(*Fb]]\x03\xbc^=\x0aXZ|\x97\ +ns\xab{\xac\x80\xc1\xb2\x04v;\x87\x13'\xce\xe0\ +\xb1\xc7\xfe\x88Hd\x18\x0c\xc3\xa0\xba:\x8c`\xd0\x87\ +|>\x8f\xf1\xf1$x>\x07\x86!\x18\x1d\x8d\xa3\xbd\ +\xbd\x17\xe1p\x00\xa0b-\x98\x03\x10\xcc\x06\x00d\x00\ +\x85\x09\x154M\x06\x08<\xcf\xe3\xf4\xe9\xf6\x02\x08b\ +\xb1b\x10\x94f\x8e~\xac\x8d\xd2\xf5\xf7\xf7\x98\x98\xae\ +\x97\xa1\x19x\xe5$\x87\xd5\xebM\x17\x1c\x0cC`\xb7\ +\xb3\x88\xc7\x13\xf8\xcdo\xb6\xe1\xd5WO\x03\x00\xfc~\ +/\xea\xea\xaa`\xb7\xb3\x18\x1fO!\x1eOB\x92\x14\ +\xd5\xa0\xa9\xd2ht\x146\x1b3\xe7\x9f\xe1\x99)\x00\ +\xb4f\x93\x19F\xf3\xa1\x8b\x83A\x13\x01A\x10x\x9c\ +>\xdd\x81e\xcb\x16\xa1\xb2\xd2\x83X,e\x08\x1dO\ +F\xb7\xf2|\x16##\xd1\xa2\xe8\x1d\x00\xb0\xac\x0d5\ +55\xa8\xad\xd5\x86yKq{\xaa\xae\x5cip\xd8\ +\xed\x1c\x18\x06\xd8\xbb\xf70\x1e\x7f|;r9E\xdc\ +/X\xd0\x00\xaf\xd7\x85t:\x8btl\x00\x99\x14\x00\ +\xb0\xe08-\xdbX7\x00;::\xbbL\x15\x96Q\ +\xba\xf2\xd3\xa2\xa9\x00\xa0\xec\xc3\x8b\xdd@\xed\x96\xc9\x01\ +!\x97\xe3q\xe6L\x07\x9a\x9b\x17\xa1\xa2\xc2\x8b\xd1\xd1\ +\x14\xf2y\x91\xba\xb7|\xcc\xc0\xe5\xf2\xa0\xa5e\x15\xda\ +\xda\xde@*\x15\x87\xe6%\xd5\xd5\xd5\x1bB\xb7\xfa=\ +\xd6\xafX:@79p\xd8l,\x5c.\x1b\xce\x9e\ +\xed\xc2\x83\x0fnA\x7f\xbf\x920\xd2\xd8X\x83\x86\x86\ +\x1aH\x92\x88\xe1\xe114y\xce\xa2\xa1*\x81q\xbf\ +\x0d\xaf\x8d4A\x90\x1d\xd0\xc6,\xb4M\x8d\x9a\xce\x19\ +\xf3\x81\xd9S\x01r4\x1a\xed\xa8\xae\xae^A\x0f\xc9\ +N\x15\x08\x82\xc0\xa3\xb5\xb5\x03K\x97.B(\xe41\ +\x80\xa0|@E9\xc9\xb2\x0c\x96.m\xc6\xc0@?\ +r9\x1e\xb5\xb5\x0d%\x0d\xbc\xc9\xa8\x15\xabg\x948\ +\x0b\x86!p\xbb\xed\xc8f3\xf8\xdd\xef\xb6a\xdf\xbe\ +W\x00\x00\x81\x80\x0fK\x97*\xb9\x0a\xb1X\x1c\x83\x83\ +#\x10\x84\x1c\x9a\xeb\xb3p\xb8\x09\x02#\x02\xae\xaen\ +\xc7\xf1\xd8e\xc8Hn\x03\x00\xd4\x19K\xa5\x18?+\ +`\x98,\x00h\x0e\xd2\xa3R\x85\xb8\xf4\xd8\xd8\xe8\x90\ +bd\xc9\x06\xe6\x97\x03\x02M\x1a\x10\x04!W\x00A\ +8\xecE<\x9eF:-\xa8\xd7L\xae\x17\xea\xa2^\ +{\xa6\xd5=S3\xeeJ\x03\x83\xc0\xed\xb6\x81e\x09\ +\x0e\x1c8\x82\xdf\xff\xfe\x8fH\xa5\xd2\xe08\x16--\ +\x97\xa1\xb2\xb2\x02\x82 \xa0\xbb{\x00\xa9T\x06\x0cC\ + \x8a9\xd8X\x19\x0e?\x03\x9b\x8b\x81tN\xc0\xaa\ +\x8a6\xb4'\xe7cL\x0c\x81\x10\xc5@\x8e\xc7GN\ +R/1'\x92`\xaa\x12@6\x1d\x17\xb6?\xfca\ +\xe3\xc1\xb7\xbf\xfd\xc6\xff\x09\x00\x92\xa4\xd8\x01\x13\x01\x81\ +\x96\x04\x1a\x11\x02\xe4r9\xb4\xb6v\xa2\xb9y!\x02\ +\x01%\xb12\x9d\x16f9\x14;s\xcb\xdf\xe5\xb2\xc1\ +\xe5\xb2\xa1\xb3\xb3\x0f\xbf\xfb\xdd\x16tu\xf5\x01\x00\xe6\ +\xcf\xaf\xc7\xe2\xc5M \x84`pp\x04\x91\xc80\x08\ +!\xe08\x16\x92$B\x96e\x84\x83\x22\x08\xc3\xc2\xe6\ +\x00|M6$\x07rX\x8avtfd\x8cJ5\ +\xd0\xa4\x0a\x8a\xdb|Vi\xba*\xc0,\x05\xa4}\xfb\ +\xf6\x0c\x8c\x8f\xc7\xba\x83\xc1\x8a\xf9Z\x90d&@\xc8\ +\xe7\x15\x10,]\xaa\x83 \x95\x12\xca0\xed\xfc\x81\xc3\ +\xe1`\xe1\xf18 \x08\x02\x1eyd\x1b\xf6\xee}\x19\ +\x82\x90C8\x1cDK\xcb\x22\x04\x02\x8a\xe4\xea\xe8\xe8\ +A.\x97\x07\xcb\xea\xd6}.\x97\x03\xcbr\xaa\x1c$\ +\x00\x01\x1c.\x0e\xf6\x85,\x92\xbd\x02\xe6\xcb\xed\xf0\xe5\ +\x13\xe8\xe2/\xc3\x0c\x97o\x98\x14M\x08\x00Y\x96\xb5\ +Q\x1e\xb3\x08*0\x1f\xea(\xd5\xbe}{\x9e\xb9\xe3\ +\x8e\x0f\xfd\x83\xc6\xe4\x99\x02!\x97\xcb\xe1\x8d7\xba\xb0\ +t\xe9\x22\x04\x02n\xd8\xed,b\xb1L\xc9\xba\xce5\ +88\x8e\x81\xd7\xab\x18k/\xbdt\x1c\x1b7nG\ +,6\x0e\x9b\x8d\xc3\xca\x95\x97\xe3\xb2\xcb\x1a\xc1\xf3\x02\ +\xda\xdaz16\xa6\x0cV\xd1\xcc\x97e\x19\xa2(\x16\ +V Qk\x00\x10\x02\x86\x10\xcc[\x11\xc4`W\x12\ +\x18\x18B.\x9f\xc7\x91\xb1s]\xc6\x0b/|$\xb0\ +$\xf3\x01\x88\xdf\xf8\xc6\xff\xdd\xb5t\xe9\xb2U\xcb\x96\ +-\xbf\x01\xd0\x99<\x13 \xe4r9tt\xf4`\xd1\ +\xa2&\xb8\x5c\x0e\xc82\x10\x8b\xa5-\x197\x9b\xc3\xb2\ +\xca=\xcaM\x0cC\xe0\xf5:\xe0p\xd8\xd0\xdf?\x88\ +G\x1e\xd9\x86\x13'\xce\x02\x00\x16,\xa8\xc7\xea\xd5\x97\ +\xc3n\xb7\xa1\xafo\x08\xe7\xceE I\x12X\x965\ +xF\x84\x10d\xb3\xd9\x02 4\xa6\xeb\x81T\x02\x99\ +\x10\xcck\x0e\x022 \x0f\x8c\xe0#\xeb\xb8\x8f\xb4\x9e\ +v\xbd\x14\x19\xcdhK\x97X\x05\x85\x080\xfd\xc4\x90\ +I\xad\x0fP\x18\xe75&\x82:\xa0|GP\xfb\x92\ +\x98\x0f\xcaG\xa4\xfc\x8f=\xb6\xf9s--\xab\xae\x07\ +\xf4\x06\xd6\x96\x82\x01dH\x92\xf6\xbf\xb6\xdcJ\xf15\ +\xe6\xff\xddn7\x16-j\x82\xcd\xc6!\x9d\xe6\x11\x8b\ +\xa5K\xd5u\xaamP\x12\x1c\x84\x10x\x8c\ +FR\xe8|}\x04\xc9d\xa6\xe3\x99\x97\xde\xf8\xd7g\ +\x0eu\x1c\x05\x90\x04\x90\x06\x90E\xf1\x1a\x03\xb2\xdaV\ +S\x02\xc1T\x01@@M\x05\x87\x02\x02\x17\xa8O\xc9\ +i\xfb\x8d\x1b7\xff\xfd\xca\x95\xab\xaf\xa1\x99\xa8\xed\xa7\ +\x0b\x04\xb7\xdb\x8d\x85\x0b\x1ba\xb3q\xc8\xe5\xf2\x88F\ +\x93e{\xb0\xc5{L\xfaZ\xb7\xdb\x06\x8f\xc7\x01\x96\ +eq\xf4\xe8)l\xdc\xf8\x0c\xfa\xfb\xa3\xb0\xd984\ +7/\xc4\xca\x95K \x8a\x22\xba\xba\xfa\xd1\xdb;h\ +\x1a\xc13o\x0c\x04![\x98\x81\xc4\xb1\x12n\xbe\xaa\ +\x13N\x07\xab\x80O\x05\x8c\xc3\xce!\x14tB\x93\x0a\ +#\x03)t\x9f\x19F6\xcd'\x9f>\xf8\xc6\xdd[\ +\xf7\x9f=\x02\x1d\x00\x02\x8c\x8bOM\x0b\x04S\x01\x00\ +\xa0\x03@\xcbR1K\x01M\x12\xf8\x00x7n|\ +\xe2\xefV\xae\xbc\xe2j\xb5R0\xef\xa7\x03\x04\x9f\xcf\ +\x8b\x85\x0b\x9b\xc00\xa4\x00\x02I*~\x87\xa9\x0a\x02\ +\xed\x15\xedv\x16^\xaf\x13v;\x87ht\x14O<\ +\xb1\x13\xfb\xf7\xbf\x0a\x00hj\xaa\xc1\xda\xb5\xcb\xe1\xf3\ +\xb91::\x8e\x93'\xdb!\x8aRQ\x04O\x97\x00\ +\x0c\xd5\xfb\xf5\xa9\xea>W\x0a7\xae\x89\x80\xd1\xa4\x04\ +\x98\x02\x08\xea\xaa\xdd\xd0\x00@\x08A*.\xe0\xd4\xe1\ +>\xf0\xe9l\xb2\xado\xe4\xfb\xdf\xdf\xf8\xd2F\x00\x19\ +\x00\x9f\x13\xb2\x0c\ +\x9c9\xd3\x8e\x87\x1f\xde\x86\xee\xee~\x00\xc0\xea\xd5K\ +\xd1\xd2r\x19\x9cN;\xba\xba\xfa\xd1\xd1\xd1S$\xe2\ +\x95q\x10]\xef\x9b\xa5A<\x1eWG\x1c\x95\xdf>\ +g\x0ao[\xd5\x07B\xb4\x9e\xaf\xde\x0b \xe0s\xc0\ +\xe3\xb1\xa9\xb5$\x85\xea\x8ay\x09'^<\x87\xc4X\ +\x0a\xb1df\xcb?\xfdr\xcf\x17`\x04\x01\xbd\xfa\x98\ +f\xa4O\x08\x82\xa9\x02@k=z^ \x0d\x027\ +t\x9b@\x93\x08\x1e\x00\x9e\x8d\x1b7\x7fj\xf5\xea+\ +\xd7Y1\xd5\xbc\x9f,\x10\x8c \x9008h\x04\xc1\ +Dj@a\xbc\x0b\x0cC\x90L\xa6\xb0q\xe3\xb38\ +x\xf08x^@mm\x18\xeb\xd6\xad@ee\x05\ +\xe2\xf1$N\x9f\xee@&\xc3\x1b\xf4\xba\xc2hk\xa6\ +\xd3~\x7f*\x95V=!\xe5?\xaf3\x85\x1bV\xf6\ +\x17\x98^\xf0\x0a@\xe0rs\xa8\x088\xd4\x86\xd6\x01\ +\xa0\xfdn=\xd6\x87\x81\xae\x11\xc4\x92\x99-\x0f\xed8\ +\xfe\xad\x13\x1d\xb1(\x14U`\xa5\x0e&\x04\xc1\x94V\ +\x09+!\x05\xb4\xd5\xc14{\x80\x96\x04\x9a4pC\ +\x01\xc1\xdf^q\xc5\x95\xeb\x8a\x0d<=el\xaa@\ +\xf0z=X\xb0@\x97\x04\x83\x83\xe3\x13J\x02\x87\x83\ +C(\xe4\x05\xc71\xc8\xe7\xf38p\xe0Ul\xdc\xb8\ +\x1d\xf1x\x12v\xbb\x0dW]\xb5\x1c\x97_>\x1f\x00\ +p\xfat\x07\xa2\xd1X\x81\xe94\xc3\xad\x99\x0e\xc3u\ +\xe3\xe3t\xefW\xad}G\x12\x7f\xb1\xbcO\xf5\x00\xf4\ +akB\xd4\xc9\xa5a\x97\x81\xe9j\xe3\xab\xbf\x81\xb6\ +\x13\x038\xd76\x88,/\x9cy`\xdb\xab\x1f}\xbd\ +s,\x0a\xc5(\x9c\xf2\xeac\xd3\x01\x80V\x0f\xcd \ +d\xa0.\x11\x83bu@K\x017\x00\xf7\xd6\xad\xdb\ +\xff\xa1\xb9y\xd9\x0akK\x7fz@\xf0x\xdc\x05\x10\ +\x002\x86\x87\x93H\xa5x\xad\xce\x85\xfa\xdbl,*\ +*\xdcp8\x14\x11\xdb\xdb;\x80\xdf\xfev+\xce\x9c\ +\xe9\x00\x0047/\xc2\x95W.\x85\xd3\xe9\xc0\xc0@\ +\x14]]\x03\xc8\xe7s\x06\xbd\xce\xb2V\x0c\xb7\xee\xfd\ +\xa2(\x22\x91\xd0g\x17i r\xd9\xd3X\xb7\xa4\x13\ +\x0e;c\x09\x82\x86Z\xaf\x81\xe1\xea\xcd\xeao%\xa8\ +2pn\x04'_\xee\x84 \x08}/\x9e\x1c\xf8\xfb\ +\x0d\xcf\x9dy\x15\xc5 \x98p\x91\xea)\xaf\x13h\xa1\ +\x0a\x0c\xcb\xc4@\x01\x81\x0b\xbaJ0\x80\xa0\xba\xba\xb6\ +\xf2\x89'\x9e\xba\xa7\xaa\xaa\xba\xde\xcc\xe0R@\xa0\xcf\ +\x97\x02B \x10DccMa\xcd\xbf\xe1\xe1D\x01\ +\x04\x0cCPQ\xe1\x86\xc7\xe3\x04\xa0\xac\x0b\xfc\xe4\x93\ +{\xb0s\xe7\x8b\xe0y\x01\xc1\xa0\x1f\xeb\xd6-W\x92\ +4\xc4\x11\xb4\xb7\x9eE\xef\xb8\xab\xc8\x98S\xf6\xa5\x19\ +n\x06F2\x99B.\xa7\x03\x88a\x94\xa4\xd8lv\ +\x0c6\x12\xc1\x0d\xab\x00\xaf\x9bNGW\xee\xab\x0a\xbb\ +\xe0\xb0\xb3EL7K\x85\xe8\xc0\x18^\x7f\xa9\x1d\x99\ +\x0c\x9f8\xf0\xfa\xb9\x8fox\xae\xed\x18t\xef\x80\x9e\ +GP\x12\x043](\x12\xb0X#\x18\xba:\xd0@\ +\xe0\xa16wmmmx\xd3\xa6\xa7\xbeX]]S\ +_\xde\xf7\x9f\x1a\x10\xfc\xfe \xe6\xcd\xd3\xe7\x0d\xc6b\ +I0\x0c\x81\xcf\xa70S\x92$\x1c?~\x06\x0f=\ +\xf4\x14\x06\x07G\xd4\x10\xee\x12\xb4\xb4,\x02@\x90\x1c\ +>\x0a\xf7\xe8\xab\x90\x04\x09\xdd\xb9\xc5\x18\x97kKX\ +\xfa\x13K\x00Q\x141>\x9e\x00\xcb\xea\xcc\xe5\xf98\ +\x92\xc9A\x88\xa22\xbaig2\xfc\x8dkI.\x1c\ +t{\x89\x16\x0f\x00A\xc0o\x87\xdf\xeb,f\xba\x85\ +TH\xc6Rx\xe9\xf9S\x10\x04\x01\x9d\x03\xa3_\xf9\ +\xe1\xef\x8fn\x80.\x09&\x5c\xae~\xa6K\xc5j\xf5\ +1\x83\xa0\x94:(\x80@\x91\x04\xdb\xee\xa9\xa9\xa9\xae\ +\x9f8\x084y \x84\xc3a\xd4\xd6\xd2)_\xca\x8d\ +\x03\x03Ql\xda\xb4\x03\x07\x0f\x1e\x07\x0044Tc\ +\xcd\x9ae\x08\x04|H$R\xe8\xe8\xe8A\x83\xff\x0c\ +\x167\xa6\x11mK\x03y\x09#R=\x86\xc8\xe5&\ +\x00L$\x01\x94\xf3z\xef'\x90\xa4\x1c\x12\x89\x01d\ +\xb3\xba\xbb\xda\xd5\xd5\xf9\xf2\x9e=\xcf\xef\x0f\xfam\xcc\ +/\xef\xfd\xf0\xc7j\xaa\x025Z\xb7r;m\xa8\x0c\ +\xb9\x0bL63]\xf9M\x0a?3)\x1eG\xfet\ +\x1ac#\x09\xf4\x0e\x8d\xdf{\xef\x86#\xbf\x82Q\x12\ +\x14\x81`F\x00\xd0\xebBh)@\x07\x89\xac\x0cC\ +\x17\x8a%A\xe5\x13O<\xad\xaa\x83\xc9D\x03'\x07\ +\x84p8T\x00\x01\xcf\xf38t\xe88\x1e|p+\ +\xb2Y\xa5\xe7\xad[\xb7\x1c\x8b\x165\x82\x10\xa0\xab\xab\ +\x1f\xf1x\x0a\xc9d\x0a\xd7/\xefCu\x05\x0fY\x92\ +1\xd2\x93F>\x91\xc38j1\xc25C&\xb6I\ +J\x00\x06\xb2,\x15\x06\x83\x12\x89A\xa4R\xc3\x85\x05\ +\xa8b\xb1\xd1\xae\x17_<\xb0}`\xa0o@k\xc7\ +\x80b\x0e?z\x00\x00\x10\xb6IDAT\xcf\xe6\xfa\ +\xfe\xd7?rg\xcb\xe2p3\x08`\xe3\x18\xd4\xd5\xf8\ +\xca2]=\xa1\xf1\x01\xf9\x5c\x1e\x07w\x1dGl$\ +\x81\xf1Df\xf3W\x7f{\xe8\x1f\xa1H\x02+\xe3P\ +\x86\x0a\x82\xd9\xfc^\x00m\x18NV\x12xjkk\ +\xc3\x9b7?}OU\x95\xa6\x0ef\x07\x08\x1cg\xc7\ +\xbe}\xaf\xe0\xc8\x91\x93\x18\x1bS\xe6\x0fr\x1c\x87\xab\ +\xaej\xc1\xf2\xe5\x8b\x11\x89D\xd1\xd5\xa5L\xc1\xca\xe7\ +E\xa4RI\xdc\xb02\x82\xaa _`\xeaPG\x1c\ +|\x5c\x80\xc0x\x11u^\x070\xf6\x12\x12\x801\xd8\ +\x08\x89D\x0a\xe3\xe3#\x88\xc7\xfb!\x08Y\xc8\xb2\x8c\ +L&=v\xfc\xf8\xb1\xa7O\x9e\x9fG{\xfb\x09\xa4R1\xb5\xce2\ +:;\xdbv\x1f8\xb0\xff\x05A\x10\xe20\xf6DP\ +m\xc6\x01\xe0\xbe\xf0\x99[\xde\xf5\xc1\xf7,\xbb\xad\xba\ +\xd2\x03\x97\x93C9\xa6'\xc7\xd38\xd7>\x94iY\ +\xb3\xd0\xc5P 9s\xbc\x03\xa7\x8e\xb6#\x91\xc9\xec\ +\xfa\xe7\xff<|\x17\xca\x8c\x1d\xccJ\xc6\x81\xacqC\ +\xd71\xda0q\x1e\x0a\xf2x\xb5\x12\x19(\x83\x19i\ +\x00)uKG\x22\x91\xe1\x0f~\xf0\xd6\x9f\x0c\x0d\x0d\ +\xf6\xeb\xba\x96\x81~\x5cl\x84Y_\xa33C\xad\x17\ +\x00mu\xcf\x0a\x5cye3^{\xed\x0d\x0c\x0f\xc7\ +\xc0\xaa\x9f\xb9\x95$\x85I\x8ca\xaa\x0f\x01\xd4\xb2\xfd\ +\xd5n,\x5cQ\x05\x17\x93B0\xb5\x1f\x0e9\x01\x8e\ +c\xc1q\x0cX\x96)\x94\xc3q,\xe2\xf1!\xb4\xb5\ +\xbd\x8cDb\x04\x92$ah(zj\xcb\x96'\xee\ +\xdd\xb3\xe7\xf9\xa7\x04A\x88\x02H\xa8[\x9c\xda\xc7\xa9\ +\xffS?}`\xc7\x8e\xef\xff\xe2\x85_&Sy\xc1\ +\x1cV\xd6c\x11\x0c\x18B\xd0\xdb6\x8c\xa3\xafv\xf7\ +\xb7u\x0e\x1d'\x0c\x03e#Xv\xe5e\x08\x84\xfd\ +`\x08\x13\x84\x22\x81m\xeaF\x0f'\x03\x98\xc5\x94\x13\ +\x0b\x10h.\x88\x06\x02\xc1\x04\x82\x14,@\x10\x8dF\ +\xfa\xcb3y\xf2@\xd0@\xe0t:\x10\x0c\xfa\x91\xcb\ +\xe5\x11\x8b%T\xa6)\x0c\xccd2`\x18\xe5X\x14\ +a\x0a\x1f\x12\xe4r\x12*\x1b\xbch\xb9\xba\x01\x0eN\ +\x86wl/\x1c\xd9\xae\x02\xe3Y\x96\x85(f\xd0\xd7\ +w\x0aCC\x1dH\xa5\xd2\xc8f3\xb1?\xfdi\xef\ +\xaf\xb6m\xdb\xfc@,6r\x0e\xca0.\xcd\xfc8\ +\x80q\xea\x98\x06A\xf2\x99\xddG_\xfb\x97\x9f>\xfb\ +\xff\x06\x87\x13\xfd\x1a\xd3\x01%\x7f\x80!(\xe4\x11\xf0\ +\xd9< \x13\xe6l\xd7\xf0 \x00\x03H\x9c\x0e;l\ +\x9c\xad\x81\x02\x80yn!\x03\x80\xcc\x1a\x00,@ \ +\x9b@ \xc0(\x092*\xf3\x934\x08\xee\xbc\xf3\xf6\ +\xfb\xa3\xd1\xe1>=\xbe>} h\xc4\xb2,\xecv\ +\x1b\xce\x9d\x1b(0\x9eeYu&\xae6e\x8b\x81\ +\xdb\x99\xa7\xdc-\xe5\xfe\xbc(\x83\x10\x06\x9e\x80\x03\xab\ +n\x98\x07\xbf\x8f\x85#v\x08\xb6t\x07\x08\x9102\ +\xd2\x85\xae\xae\xe3H\xa5\xc6\x90Je\xb2mmg\x9f\ +\xdb\xb0\xe1\xe1\xef\x9c=\xfb\xc6\x09\xf5\xdd\x92&F\xd3\ +\x9b\x06\x82\x02\xf3\xb5\xed\xa9\x1d'\xce\xdc\xfa\xd7\xbf\xfc\ +it8\xdeO3]\xeb\xe5D\x1f|\x22\x90\xc1\x9a\ +\xa5\x85\xcda\x87\xc3\xc6\xd5[\x00\x80v\xe1g?\xe9\ +l\x02\x10\x98\xd5\x81&\x0d\xb4\x17OE\x22\xfd#\x1f\ +\xf8\xc0\xfb~\x12\x8d\x0e\xf5)zv\xfa@P~3\ +\xe0y\x1e\xa2(B\x10\xf2\xe08\xb6 \x01\xb2Y\x1e\ +\x0c\xa3\x1cs\x1c\x8b\x80GQ\xcbf\x10\xe4r\xca\xca\ +WN\xb7\x03+\xae\x9f\x0f_\xd0\x05\xdb\xc8\x01\xa4\xdb\ +\x9f\xc4\xc8H\x1f$IBOO\xcf\xd1\x07\x1f\xfc\xed\ +\x0f^x\xe1\xf9\xa7\xa1K8\xba\xe7\x9bE\x7f\xb9\xff\ +\x93\x00\x92\x91hz\xe4\xca[~\xfc\xbd#'z_\ +62]yG\xbb\xdd\x86\xfaJ\xff\x02\x8ea\xdcz\ +0Iy\xf7\x0a\xf5\x83\xde(\x9eZNg\x14\xcdM\ +\xd6!\x05\x02s\xdaX9\x10h\xea \x19\x89\xf4\x0f\ +\xdfq\xc7{\xee\x8fF\xa3}\xa4\x10[\x9f:\x10\xb4\ +-\x9fW>X\xad\xf7~\x06\xb9\x5c\x1e\x0c\x83\x824\ +`\x18F\x15\x88\xba\xdfM\x08\x01\x01\x03Q\x95\x02 \ +\x80\xcd\xc6a\xcd\x8dKP;?\x84\x0a6\x8e\x1a\xe9\ +\x5cv\xff\x0b\xbb\x7f\xbfi\xd3\xa6\xc7y\x9e\x8f\xa1X\ +\xba%J\xec\x93\xd45\xe6\xff\x0d\xdbm\x7f\xf3\xc0\x7f\ +m\x7f\xfe\xd4\x1f\xf5E0\xd4\x88a}\x00,\xc3\xe0\ +\xed\xeb\x16_G\x88\xa2\x22\x0a\xf5V\xdb\x0cz\x94\xd6\ +\x0c\x00`\xb6U\x00MT\xb8q\x22\xc30MmZ\ +\xcaS*\x12\x89\x8c\xdcq\xc7-*\x08\xb4\x10\xec\xd4\ +\x80\xa0\x89vm\xd3\xf56\x07\x9e\x17\x0a\xba_\xdb\xd4\ +61\xb5\x11\xc0\x0b\xb2\xf1\xd9\x00\x9a\xd7\xcc\xc3\xbc%\ +\xd5\xa8rd\x9d\x1f\xb9\xa6\xf2\x1d^'\xc3\x96x'\ +\x0d\xdc\xf4o\x1a\xf4\xe6N`\x05\x82\xd4]\xf7<\xba\ +\xf97\x8f\xee\x7f\x84\xe7\xf3\x19\xad.\xf5\x0b*q\xcd\ +\xbb[\xe0\x0fy\x0cL\xa7U\x01\x8c\x8c/\x9ad:\ +\xa7y\xc7\x93\x04\x01\x0f\xbd\xc7d\xa0\xf7\x8cT$\x12\ +\x19\xb9\xfd\xf6[\xee\x1f\x1eV@0U \xd0\xe7=\ +\x1e\x17l6\xc5Z\xcf\xe5\x04\x83\xeeW6u\x81\xeb\ +B\xc4U\x05\x02!\xca\xc7\xa5\xa0\x1a\x96ZC\x83`\ +\xc9\xaaF,_\xb7\x10a\x9f\xbb\xee\xde\xbf{\xd7=\ +k\x97T\xd5Q\xef\x94\x85Q\xcai\x9b\xf6?\xfd\xee\ +\x93\x01A\xf2\xeb?|f\xcf\xe7\xbf\xfe\xfb\x9f\xf1\xd9\ +\x5cF\xab\x8b\xbf\xc2SH&\x81\xe6\x05AQ\x17B\ +N\x1aD1\xf3\x0d4\xe7\x89\xe7\x14\x08\xe8\x8f&\x96\ +R\x07ZO)4B$\x12\x19\xbe\xed\xb6\x9b\xef\x8f\ +F\xa3}\xc6^^\x0c\x04\xbd\x17h\xe2\x9f)\x80\xc3\ +f\xe3TQ\xafd\xe8\xd0\xbd_\xbbN\xc8\xcb\xea\xc0\ +\x8b\xd1\x13\x10%@.X\xe1\xc6g\xd5/\xa8\xc4\xea\ +\x1b\x96 \x10p\x85>\xfd\xfe+\xfe\xe9/\x96\xd76\ +\xc2\xe8\xf9\xe4Jl\x02\xb5/g \x1b\xd4\xc5S;\ +O\xb6~\xf8\xee\x07\xbe7\x14M\xf4\x19\x98\xae\xb5\x85\ +j+\x8cD\xc6\xc1\x8b\xd2\xe0D\xfc\x99\xfb\x99\x07(\ +\x92\x04t\xe6\x0a\xddPZo0\xbb\x88\xa9H$\x12\ +U@0\xd4W,\xeeu \x18\xff\xd7{6-\xe6\ +\xb3Y\x01\xb2\x0c\x93j`\xe0r\x88`\x0b\xd1\x14\xbd\ +\x97\x135\x00+\xe6e\xfd\x7f*\xd6@\x08AMC\ +\x08W\xbfk9\xdc\x1e\x87\xfbo\xde\xb3\xfaGw\xbf\ +o\xf9M\xb0H\x9b/\xb3\x99\x81Pd\x17\x81\xf2\x96\ +^:\xdas\xee\xe6\x8f\xfe\xecG\xdd\xbd\xb1\xb3\x05\xa6\ +\x17\x5c_\xa5\x8ebND<)t\xc0h\x90\x17E\ +\xfd\xce\x0b\x00\x00Ku\xa0\x01\xc0\x0a\x04\xe6\x06HG\ +\x22\x91\xe8\xad\xb7\xdelR\x07V@\x80\xc1\x00d\x18\ +\x06\xc1\xa0\xd7\xd0\xfbi@h \x008$2.\x83\ +\xfb\x08\xa2\x03B\xc8I\x06\xa6\xd3\x01\x19\x86\x10\x04\x82\ +^\xbc\xed\xbdW\x22\x10\xf2a\xed\xb2\x86/~a\xfd\ +\x9a\x8f\xc2\xca\xa0\xa0\x9a\x04\xd6@(\x1583H\x83\ +\xbe\xa1Dt\xed-\xf7\xdew\xecd\xcfA30\xf3\ +9\x11\xf1\xb1\x14^<\xd9\xbb\x03\x16\xb9\x82\xd4\xf3\xcf\ +\x1f\x00\x80\x926\x01\x0d\x00s\x0f0\xb9\x88\x91\xe8\xad\ +\xb7\xde\xfc\xe3ht\xc8\x22N\xa0\xf7|]\x0d0\x05\ +\x10\xb0,\xa3\xa6e\x93\xa2\xde\xcf\xb2\x0c\xf8\x9c\x84?\ +\x1d'\xe8\x8eh+\xb1\xa9v\x92\xaak\x85\x5c\xde\xc4\ +\xf4b\xdf\xdc\xedu\xe2\xba\xbf\x5c\x85`\xc8\x87\xa5M\ +\xe1\xcf\x7f\xef\xaek\xff\x15\xc6\x05\x9e4?\xbc\xa8i\ +P^\x1a\xd0\x12\xd1\x00\x84\x9b\xd6\xff\xec\x97[\xb7\x1f\ +\xdd\xa8\xabC\x16\x83=#\x88\xa7\xf8\x13\xbb\x8ft\x9f\ +\x81q$\xd00$\x8c\xd9\x0a\x05O\x85&0\x0c\xcd\ +\xba\xd0\x1c6N\x0e\x0c\x0cDo\xbf\xfd=?\xd2\xd5\ +A) \xe8\x9b$)V|&\xc3\x17\xf5|\x86a\ +02\xd2\x877\xde8\x82\xe8\xf0\x10\x9e\xda3:~\ +\xbam\xf0,\xa1z?@ \x08\xb2%\xd3\x09CK\ +\x05\x02\xbb\xc3\x86w\xdcz\x15\xe6-\xaeC8\xe0\xbd\ +\xf5\xfbw_\xf7\xf3\xcb\x1b\xfda\xe8\xfe\xb8\xd9%\xd3\ +\xda\xc2,\x195\x10\x98\xa3\xa7E\xc6\xe1]\xf7<\xbc\ +\xe5\xd1-/\xfdG.\x9fO\x89\xf9<^>\xd4v\ +\xe2\xbeG\xf7}\x13\xa53\x84\x0a\xea`V\x06\x83\xa6\ +C\xc4\xd8\xc2V\x03H\xda\xc4\x13:\xd9\xb40\x8a\xd8\ +\xd0\xd0P\xf9\xcc3;\xbeTYY\xd3`\x1c0\xd2\ +\xc6\xdb\xfb\xf0\xdf\xff\xfdt\x01\x04W\x5c\xb1\x14\xc9d\ +\x8a2\xe0\x80Tj\x1c}}g\x91J\xc5!\x8a\xf9\ +l__\xff\xa1}\xfb\xf6\xec\x01@>\xf7\xa9w\x5c\ +\xf9\x89\x0f^}\x87,kB\x80\xa0\xbe\xd6\x07\x1b\xc7\ +h\xf5\xa7\xaao=bw\xfah\x07N\x1dmC:\ ++\xb4\xfez\xcb+\x7f\xd5\x1a\xc9\x0cA\x01\xb8\xd5\xe8\ +\x9c\xa1y`\xf1I>S\x9b8\xd5c\x87\xdaf\xcc\ +g\xfe\xeam\x8b\xfcn\xbb\xebG\xbf~\xeeU\x18\xbd\ +\x10m2\x89\xf6\xec\xc2\x80\xd4\x05\x03\x000!\x08\xac\ +\xe6\x1dX\x80`\xe7\x97\xaa\xab\xab\x1b\xf4\xa4\x10e\xdf\ +\xd5\xd5\x87\x87\x1ezZ\x95\x10\x12\xaa\xab\x9dp\xbb\x83\ +\xb0\xdb\x9d\xc8\xe5\xb2\xe8\xed}\x03ccQ\xc8\xb2\x8c\ +x\xfb\xec\xce/WU\xd5\ +4\xd0I!\xdd\xdd\x03x\xf8\xe1m \x84@\x10F\ +\x90\xcb\xc5\xa0\x0c\x15\xeb \xc9\xe7\xe5\xd8\xb1c\x877\ +\xb6\xb6\xb6\xb6B\xef\x8d2U\x17\xee\xe6w,\x9d\xff\ +\xad{n\xff,\xcb\xb2\xae\x80\xdfa\x98\xbae\xc5p\ +\xe57\x01}\x22:0\x8a?\xedx\x05\xe9t&\xf1\ +\xe2\x89\xbeO<\xbe\xaf\xb3\x14\x08hI@\x1b\x90t\ +\xa7\xa0\x81\xa0\xed\xcd\x00\xb0\xb2%\xcc\xcf\x12q!l\ +\x003\x95\xb1\x094\x11I#\xb9\xc8E\xec\xeb\xeb\x8b\ +\xbe\xef}7\xff0\x1a\x1d,\xb8\x88J\xe6\xae\xf6Q\ +h\x09\x82\x10\x83,K\x90$IM\xd1f\xd0\xdf\x1f\ +\xd9\xf1\xe4\x93O\xdc\xdb\xda\xdaz\x0c\xc6Q:\xc3\x08\ +\xdd\xce\x17Z[?\xf0\xb7\xbf\xf8V,\x9e\xee\xcb\xe5\ +\xb4\x88\xa01\xecJ\x07\x872)\x01\xcf?\xf9\x0a\xe2\ +\xc9\xec\x08Q\xad\xf3\xea\xfaJ\xdct\xfb\xf5p\xbb\x5c\ +\xbe\xebW6<\x0a\x9dy\x9a=`\x88\xceY\xb4\x87\ +\xd9S\xa2E;\x1dR\xa6\xdbF\x9b>\xa6\xa5\x86\x15\ +}\xad\x1c8\xcf^@)\xb2\x00\x01\x8d\xe2r.\xa2\ +\xe2\x12\xf5\xf5\x0d\xbd\xff\xfd\xb7|?\x91\x88\x8f\x98\xe3\ +\x00\x9b\xe9\xee\x1e|x\ +\xf3\xe6\x0d?\x18\x1e\x8et\xa1\x98\xe1\xe3(=F\x9f\ +\x88\x0c\xa5\x86\xd6\xdf\xfd\xeb\x7f\xdf\x7f\xb8c\x8f9\xd4\ +LG\xe1\x92c\x19\xe4s\xf9\xec\xe1c]Qs\xd0\ +\xc8\xae.9\xbf\xa8\xca\x19\x82.\xd2K\x86iQ\x0c\ +\x84R\xae\x22m\xf0\xd1af\xed\x1a\xda\x0b(\xa8\x19\ +Y\x96/\xbc\x0a\xa0i\x0a \xa0\x07\x5c\x0a\x92`\xd3\ +\xa6\xc7N}\xe9K_\xf8\xae \xe4\xd2\x84\x10\xa4\xd3\ +C`\x18\x1bb\xb1\xccs[\xb6<\xf1\xe5\x03\x07v\ +\xeeFq&N\xa9\xbd\xf9\xba$\x80\xe4\x9d\x9f~\xe0\ +\xe1\xff\xdap\xe0\xa1\xc2\xbc>S\x14\xcef\xe7\xe0p\ +8\x9c\x12d\x16\xa0\xc3\xd5\xac\xe2:\x12\x06\xd7,o\ +Z\x81b\x15Pn\x11h\xf3\xd0:\xdd&\xf4\x98\x0a\ +\xbd\x99\x19\xafI\x00P\xfb\xd9]*v6H\x96\x0d\ +K\xd2HP\x1af\xa2Y\x9f\xda\xb5\xf9M\x9b\x1e;\ +i\xb7\xdb\xbf}\xf7\xdd\x9f\xff6\xcfg\xa3\xaf\xbe\xfa\ +\xf2\xaf[[Ot\xc28\xf6\xa0\x01\xc9\xca%\xd3\x12\ +5\xe9\xc4VCC~\xe5{[\x9f\xeb\xec\x8e\x0e\x7f\ +\xeb\x9fn\xff\xac\xd3i7|*,\x10\xf2\xa2\xafs\ +\x08\x7f\xb9\xf6\xb2\xeb\x08a\x0d\x9eB(\xac\xe4\x13\x8a\ +\x0a8\xe8\xdeo\xfc\xbe\x0dL\xb9\xfbz{\x00\xd4G\ +\xa3\xa8\xf6\x01\x8a\xc1c\x0e\x01\x1bt\xbfV\xf6E\x07\ +\x00`B\x10\x98\xdd\x96\x02\xf3\xd5-\xf7\xe8\xa3\x0f\xbf\ +v\xeaT\xeb\xe7\x8f\x1e=\x1cU\xaf\xd1\x98\xa71\x9b\ +\x16\x8f\xf4,\x1a\xda\x0b\xd0\x98\x94\xa3\xca.\x00\xe1W\ +\x8f\x1c8:4\x9a\xfc\xf1\xfd\xdf\xfe\xe8\xff\xaa\x08x\ +B\xcac\x08j\x9b\xc2h{\xbd\x07k\xafY\xd2L\ +\x87\x8e\x01\xc0\xee\xb4\x83\x10\x06\x90I\xa9\xe5\xdf-%\ +\x80\xd6\x1e\xea^{g\xcdf\xa0\xdb\x83\xb6!\xe8\xf6\ +1\xb4\xd9\x8cg\x06\x9d/\xb2p\x11\xe9\x00\x89\xe6\x0e\ +i\xbe\xb0\xb6\xa7-l\x8dh\xcf\x82\xd6\x9f4s\xad\ +2uiW\x94\x9e\xdf\xa0\xc5$\x5c\x8du\xfe\xf0s\ +\x7f\xf8\xd2Wj\xab\x02\x8d\xda\xad\xf9\x5c\x1e6\xbb\x8d\ +~\x0f\x00\xc0P\xff\x08v?\xb9\x1fO<\x7f\xea\xd3\ +;\x8f\xf6jK\xbe\xa4\xa0\xebmC\xee\xbey\x1e\x9f\ +\xa9M\x0a\x7f\x95m\xc42\xcc\x07.\x22#\xd0\x8a\xca\ +\xd8\x04\xb4!\xa4\x19@\xe6\xb1\x03s\xda\x15\x9dq\xa3\ +Y\xca\xb4\xb5,Xl\x1ac\xe8!ZC8\xb6w\ + \x1e\xbdi\xfd\xfd\xf7\x1d;\xd1}P3\xfalv\ +\x9b\x1e\x92\xa6<\x85hd\x14\x0ca\xb0\xf3ho\xdb\ +,\xb4\x89U\xfa]\xd1fq\xbd\x81.j\x00\x00\xea\ +\x1b\x18S\xcch\xc3\xd0*N`\x1e93\xa7`\xd1\ +n\x12\xed'\xd3\xd2\xc0\xec~\x96\x1c\xa0\x02\x90\xea\xed\ +\x1f\x8b\xbe\xe3C\xf7\xffj\xc7\x9e\xd7\xb7\x99\x99nH\ +\xd2 \x04\xa2$\xcfx\x05p\xaaM\x0a\xc7\xa5\xc8|\ +\xbd\x99.z\x00hd\x91gH\xeb}\xab\x84\x0as\ +*\x96U\x8f7\xab\x00\xb3\x95]\xce\xfb0\x03-\xb9\ +\xfe\xee_=\xf6\xbb\x8d\xfb~[\xe4\x1e\xaa\xbf3\x89\ +,\xc6S\xc2k(1\x7f\xffB\xd0Ei\x04\x96\x22\ +\xca\x08\x02\x8c\x8d\xa7\xe9\xf8r.\x95\xf9\xc3\x8b\xda=\ +\xa5\x92%h\x83J\xa2\x8e\xcd 4$}\xfc\xefo\ +<\xb6\xf3\xd0\xd1\x8e\xce_\xdc\xfb\xc9\x7fv\xd8mn\ +=<\x0c\x0cGb87\x14\xdfO]O\xbf\x83\x8c\ +\x0b\x00\x887\x15\x00\x80\x22\x10\xd06\xc2d\xdc\x22\x9a\ +\xf9\x80\xd15\xb2jt\xedc\xcd\x80\x22\x09\xcc\x0c3\ +\x83A\x04\x90\xdf\xb0\xf9\xe5S6\x8e\xfd\x97\xef~\xf9\ +\xc3\xffPY\xe9\x9f\x0f(\xe3\x01C\xd1D\xc7/\xb6\ +\x1cy\x1a\xd6K\xb9\x94\xab\xc7\x9c\xd1E\xed\x05\x94#\ +\x93\x87`\x8e\xa5[\xc5\xd5\xcd`14\xb8YGN\ +\xe0\x81hk#\xd1\xf3\x1e\xcd\xc3\xb4\xdc\x92E\x95\xfe\ +}[\xbf\xfe=\xaf\xcb\xb1\xe8\xd9?\x1cx\xed\x0b\xf7\ +o\xfeZ\xffp:\x0a]Ei*\xa9(\x16QJ\ +g\xcf6\xbdi\x01\x00\x141\x09\xa6c3\x00\xe8}\ +\xe1\xb8\x5cC[\x80\xcc*o\xa1\xd4\x10\xad\x16\xeb'\ +w\x7f\xe4\xfaE\xbf~\xfc\xc5V\x14g\x0ck\x86h\ +\xd1\xf4\xedK\x00\x98\x02\x99|\xe3r~qY\x97h\ +\x82\xf2\xe9\x8d\x96\x04t\x02\x0b\xbd\xd1a^\xf3\x10\xad\ +9VO\x07\xa2&\xb5\xbc\xdbl\xd1\x9b\xce\x06\xb0\x22\ +Cd\xab(NR|\xcdt\xca7\x95KG%K\ +\x0d\xd6\xd0\xa1^\xed<=\xc4m\x1e\xa5+\xa8\xa5\xf3\ +\xc5|\xe0-\x02\x00\x9a\xe6\xaa\xf1J\x18\x9ffOD\ +\x03\x81\xc6|:\x09T\xeb\xe1y\xd3vA\xdd\xc1\xb7\ +\x1c\x00\xe6\x92,\xdcPm\x8c\xc2,\x05\xf20&}\ +jDO\x8c1\x8f\xd2]\x10]\xfc\x96\xb0\x01\xce7\ +\x95\xf0@\x18\x14\x8f\xee\x95J\xf20\x07\x82J\xae\xe3\ +7\xd7t\x09\x003\xa0\x12\xae\xa2\xd5\x06X\xc7\xea'\ +\x5c\xc9s\xae\xe9\x12\x00fH\x16\xae\xa8UL\x02(\ +vE\xe9\xe8\xe2\x05a>p\x09\x00\xb3Be\xdcP\ +\xabhd\xd1\xf1\x85b>p\x09\x00\xb3J\x16c\xf5\ +\x13\xd2\x85d>p\x09\x00sF\xe5\xc0p\xa1\x99N\ +\xd3%\x00\xfc\x99\xd3\x9b&\x1f\xe0\x12\xcd\x0d\xfd\x7f\xc7\ +\xc0 \xf9A,]\x89\x00\x00\x00\x00IEND\xae\ +B`\x82\ +\x00\x00+\xc0\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x00\x09pHYs\x00\x00\x1b\xaf\x00\x00\x1b\xaf\ +\x01^\x1a\x91\x1c\x00\x00\x00\x07tIME\x07\xd7\x0c\ +\x1b\x16\x028\x83\x98\xbev\x00\x00\x00\x06bKGD\ +\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00+MID\ +ATx\xda\xec}\x0b\x98\x1dGu\xe6\xa9\xee{\xef\ +\xbcG\xa3\xd1s4\x92,K\xb24zX\x96%[\ +\xd8\x18l$\x1b\x1c\xb2!` vx\x85\x04\xb0\x9c\ +\x00\xbb\xd9\x0d!l\xbe\xddM\x80\x04\x16\xf2e\x13v\ +\x93\xfd\x92\xdd\x95\x8d\xf1\x02\x1f\xb6\xc3\xe2\xe5e\xcb\x18\ +Y\x0f\x83\xf1\xfb%\x8d\xde\xb2,\xcfhF\xf3~\xdc\ +\xb9s_\xdd\xb5\xe7\xd4\xdc\xfa\xaa{\xce\xed\xee{\xaf\ +\xee\x05\x99\x9dc\x97\xba\xbb\xba\xfbvW\xfd\x7f\x9ds\ +\xeaTu\x0d\xcc\xc9\x9c\xcc\xc9\x9c\xcc\xc9\x9c\xcc\xc9\xff\ +\x97\x22\xa0B\x91\xe0\x97\xdb\x01\xacM\xb8\xfd\x1dL\x1b\ +aNj!\xdd\x98\x1e\xc4t\x04\xd3\x03\x00n5\x80\ +\x14\x95\x00\xdf\x8d`\xb7\xe2\xb6\x1e@\xa40\xad\xc4\xfd\ +S\x85}\x98\x93\x9aK#\x80\x5c\x8b\xe9\x5ca?\x8d\ +ib\xa6\xe1\xb9\xa2F\x04 \xc6\x89\xab1\x0d\xcf\xb4\ +t\x11\x03\xb0S\xcd\xcd\x96\xed\xbaVFJ\xcb\xb1m\ +\x01\xb1\x98\x88\x03@\x0c\xe6\xa4\x16\x92\xc7\x94S;y\ +i;\x8e\xac\x13\xc2u,\xcbmL&]<\xe7\xa0\ +f\x90\x0b\x00\xdc\x17p{;\xa6\xaa\x10@\x16\xae\xeb\ +\x9bi\xe1\xb1\xb6D\x22\xe6\xdav\x5c\xc6bq\xe98\ +q\xb7\xae.\x1ekl\x8c\xdb\xf1xB\x02\x08\x1b\xe6\ +\xd4@\xad\x84\xb0p\x80*\xd9\x96\xd0\xd9)\x1d)s\ +\xd0\xd3\x93\x96CC\x19\x91\xcf\xe7,\xc7\xc9\x8de\xb3\ +\xf9F\xa4H\x07]\x8e)\x0a\x8bX\x89$\xb1\xd2\x00\ +\xf1\xfa\x96\x96D^\xcaz\xb9x\xf1\xfclG\xc7m\ +\xd0\xd0\xf0\x0e)\xe5\x95\xe9T\xaa5;:\x9a\x00)\ +k_\x09\xbf\xa4kd\x85\xef#\xab\xfe^<\xdf\x8a\ +\xc7\xa1\xb1\xb55k77O\xd9\xabWw\xdb\x00\xfb\ +\x12\xbd\xbd\x0f\xe4\x7f\xf1\x8b\x81\xfa\xba\xbatzr2\ +[P\x16.\xddZ\xb1\x06\x90\x05\xf0/ \xf8\xf9\xe6\ +\xe6\x86x\x22\xd1\x94\xbb\xf6\xda\x0f\xda\x1d\x1d\x9f\xb1[\ +Z\x16\xbb\xb9\x1c\xb8SS\x90\xbdp\x01\xd2\xe7\xd0\x22\ +Iy\xd1\xe0\x8a\xda\x00^98\x95\x83n\xceW\xf9\ +\x9cUW\x07-\x9b6A|\xfe|\x8855\xa9c\ +7\x9d\x1e\xce\xf7\xf5\xfd]\xe2\xa7?\xfd\xdf\xb9d2\ +\x19K&\xa7\x97\x14H B\x1e\x13\x8b\x00\x9fT\x7f\ +\x5c655\xc4\xda\xdb\xe7\xbb7\xdd\xf47\xcd]]\ +\xef\xb3\x12\x09\xc8\xa7R\xe0LN\x82\x10\x02\xc4\xd0P\ +\xe5\xa0\xd7\xa6\xa5DK\xad\x00\xaf\xdd\xbb\x9bk\x84\x00\ +\xbb\xb1Q\x81oSjn\x86xs\xf3\x02g\xf9\xf2\ +/M\xc6\xe3\xdb\xe2\x0f?\xfcYGJ\xe8\xc3\xc6\xd9\ +\x01\x90\xa5{\x82H\x10\x0b\xb3\xfb\x83t\xbe\xa5\xa5N\ +\xc4b-\xf2\xado\xfdj\xeb\xce\x9d\x0a|'\x99\x84\ +\x98\x10\x9e\x1b$\xb8\x8eSS\x15/\xab\x0f0\xff\xcd\ +\x1a<[\xd6\x80\xd4BJ\xb0\x1a\x1a\x08x\x22\x00\x11\ +A\x11\x22\xbe`\x01B!\xdf7\xd4\xdf\x9fm:p\ +\xe0s\x88\x9d;89\xe9.\x02\xc8\xcb\x00\x7f \x16\ +f\xf7\xf1d<\xe58\x8d\xd6\xb6mw\xb4^y\xe5\ +\xfb\xe9!\x22\x1eW\x0ct\xf1\xe1n&\x03\xaeeA\ +l\xf5jX\xb8p!\xc4\x17/\x06\xc0\xe3*Hm\ +[tm\x9f_\xf3\x86\xe0&\x93J\xed\x03\x99\xe0T\ +\x8a\x9cB\x10\xd9\xac\xc2\x830\xaa_\xb5\xea\x03c\xe7\ +\xce=\xddt\xf6\xec\xfd\xf5\x08\xbe\xc7\x17\x90%\x11\x80\ +\xfa\xf4m\x08\xe5tSS\xa2\xae\xb5\xb5M\xae\x5c\xf9\ +\x19\xab\xbe\x1e\x1cT)b\xd92\x80\xae.\x10\xf8\xb0\ +&\xb4A\xa2\xb5\x15&{{!36\x06\xd3\xd9,\ +1\x10\xe6\xa4\xb6BX\xc4\x10\xe8\xe6\x8e\x0e\xa8\x9f7\ +\x0f\xb2##\x90A?L\x9e:\x05\x12\xc9\x11\xc7\xc6\ +(\xdb\xdb\xff,\xd6\xd3\xf3H\xb2\xa9)\x8d\xb8\xe5\xc6\ +\x02\x1c\xc2X\x10\xf3\x86\xe8\x9c\x94u\xa9\x85\x0b\xdf\xd3\ +\xd2\xd6\xb6\x84\x98\x96ok\x03\x81\xaa\x87\xfa\xfau\xd8\ +\xeaGN\x9e\x84\xd1'\x9f\x04\xe9\xba0'\xbf|\x19\ +C\xc0\x9b\xb1A.\xbd\xf6Z\xc8\x0c\x0f\xc3\x94m+\ +s\x1cC\xcd`\xcf\x9b\xd71\xd4\xde\xfe\xdb\xed\x03\x03\ +\xf7\x01@f\xed\x8c\x19\x00Q\x8a\x06\x18\xa3\xd6\xdf\xd8\ +h\xa3\x9dO\xe4[[o&\x80S\xd8\xba\x01S\x0c\ +\x1f\xd4\xb0f\x0d\xf4=\xfb,$\xcf\x9f\x879\xf9\xd5\ +\xcadO\x0f\xd8h\x0e\x16l\xd8\x00\xe3/\xbf\x0c\xd3\ +\xa8\xa5\xed\xe9i@\xbf\x0d\x9c\xfa\xfa\x9b\x11\xc3\xef\x10\ +\x96c\xa9\x94\xd5\x06\xe0Fj\x80/\x00\x88\xdd\x98\xb2\ +\xaek\xa3mI\xb8 \xb7`?\x1fr\xe4\xf8\x0d\x0d\ +);?\x8e\xc0\xd3\x83\xe7\xe4\xd2\x90\xf1\xd3\xa7\xa1e\ +\xc5\x0a\xb2\xfd0\xf6\xfc\xf3\x90Es\x9cH\xa7\xc1\x11\ +\xe2*\x07 AXN\x03\x88\xff\x8a\x89\x94|(\x01\ +\xfe\x92\xbc\x7fL\xf5\x96e\xb9R\xc6\x9ct\xa6u\xa2\ +\xfb\x08@C\xa3\xf2:\x1b\xd7\xaf\x87\xe1\xe3\xc7\x01\xe6\ +\xd4\xfe%#.b1~\xe6\x0c$\xd0\x1f8\xbfw\ +\xafr\x0e\x85\xe3\xc0\xc2\xa6\xa66\x89\x18\x12\x96\x08\xb4\ + l?\x1fB\x00\xc3(\x00\xd1h\xdb\x16\xe4\xf3\xb1\ +\xa9\xfe\xbe\xba\xb1\xbe~\xd02\xff\xfd\xef\x07'\x9f\x87\ +9\xb9\xb4\x84\x9c\xf0f\xd4\x02\xd3\x14\x9f)\x98\xe6\xfa\ +e\xcb\xea\x00\x09\x80\xe6\xc0\x22L\x17\x95\xda\x0d\x14\x98\ +\xf2R\x0a\x89\xbb\xd3\x93I\xc50-\x0e\xc0\x9c\xd3w\ +\x09J\x1eU>\x8e\xc7\x80@\x7f@\xcbT\x12\xb1S\ +a\x03)D9\x91\xc0v\x001N7Ii\xe5\xd2\ +i\x7f\x1f4\x93\x99\xeb\xea]\x82\x22\x1d\x07t\x840\ +W\xc8\xcb\x12v3\xa6\x5c\x10\xa6e\x85\x82]Pw\ +\x88<\xaa{9\xebAs\xf0_rb\x1a\xa5\x10\xa0\ +\xf1!\xec\xdcDBp\xbc\xa2}\x00\x05>%\xaf\xfa\ +\x879\xf5\x7f\xe9J\x11\x5c\x1c\xcc#\x0c\x01\x13a:\ +\xbf\x14\x02\x9c\xc24\x8d\xa9\xb1@\x00\x1f\xf8\x05\x02\xcc\ +Q\xe0R\x13\xd30\xa5\xd1\x00j\xab|\x00L)\xc2\ +\xb6\x14\x02\xf4`ZP0\x01\x16\xfe/\x01j\xaa\x01\ +\x1cL\x8f\x9f=\x0b\xcf\xbe\xf6\x1aLb\x00\xe3\xf2%\ +K\xe0\xb77n\x84\xc5\xe8\xcc\xfc:I?\xda\xe3\x1f\ +vw\xc3\x99\x81\x01hE;\xbd\x03\xfb\xec7\xad\x5c\ +\x09vU\x09\xc0:\xfa\xb4o\xb9\x1a\xdbRM\xc0<\ +LycW\x8cTY\x03\xd03\xee{\xe9%\xe8\xc5\ +.LKK\x0b,\xc6q\x85!$\xc1?\xfd\xecg\ +\xf0\xc1\xed\xdba\x0d\xe6\xfd:\xc8q,\xdf\xfd/\xbc\ +\x00\xf5\x18F_\x82\x04w\x1c\x07\x0ea\xf0\xe6,\xc6\ +\xf0?\xbce\x0b\xc4\xaa\xe4\x03\x88\x82\x060\xe0\xab\x13\ +`\x170\x1d.\x95\x00Y\x00\xea\x01\x08\x04\xdab\xa3\ +SU\xd2\x009L\xf7\x1f;\x06yl\xe9\xef|\xe7\ +;\xe1\x8a+\xae\x80:\xdc\xef\xef\xef\x87\x17\xb0\xb2\x1e\ +:z\x14nCM\xb0\x1a[\xcb\x1bYNNN\xc2\ +\x0fO\x9c\x80-W]\x05\xdb\xb6m\x83\xc5\x18IM\ +\xa368\x81y\xcfc\xd4\xee~,\xe7\x1d8\xb8\x16\ +\x93\xf2b\x09\xa01\xf2m\x09C\x0b\xb1$L\xa1\x0c\ +\x02@\xbc\xe0<\x143\x01\xb2\x0a\xe0\x7f\x17\x072\x00\ +#\x8b\xef\xba\xf9f\xb8\x0a+\xa7\x09\xc7\xb4\x85\x10\x8a\ +\x08\xabq\xa0i\xdf\xbe}\xf0#\x8cm\xff\xd6\xda\xb5\ +\xb0\x0aG\xbf\xde\x88r\x1a\xe3\xf2\x8f\xbc\xfa*\x5c\xbb\ +c\x07\xec\xda\xb5\x0b\x96\xe1\xc0M,\x16#\xb0T9\ +\x97/_\x0e\x8f=\xf6\x18|\x17\x07\xd5\xde\xbbf\xcd\ +\xc5\x91\x80\x1c\xbe\xe2C\xc9\xc2\xc5\x94+wF\x90\xf0\ +ld\x15\x09\x90G\x90\x1fB{O\xc3\xc8\xb7\x16\xc0\ +o4\xad\x5ci\x81\xcb.\xbb\x0cn\xbd\xf5VUY\ +{_y\x05~\x03\x8fW&\x12\xf0F\x923h\xca\ +~\xf2\xfa\xeb\xb0\xfd\x9ak\x14\xf8\x1d8tk\xdb\xb6\ +1\xb3\x18\xb6\xdd\x8ef\x8e\xcaH$\xf8>\xfaA\xef\ +Z\xb9\x92HP\xb9\x0f D\xb1)v\xa2\x82I\xa1\ +\xc6{\x94U$\x00\x81\xff#\x1cD\xb2\x10\xfc]o\ +{\x1blA\xfbg\xc07B\x15E\xad\xe5\x96[n\ +Q\xfb\x8f\x1d>\x0c\xb7tv\xc2\x0a\xac\xac7\x82\x9c\ +\xcdd`?\x9a\xb2m\x08\xf0\xdb\xb0\x9cK\x97.5\ +\xe0\x1bQZo\xeb\xd6\xad@\xb2\x7f\xff~\xf8qo\ +/\xfc&\x96\xdbv\xdd\xaa\xf5\x02\x1c\xde\x9b\x8b&@\ +\xbd\x0e\xf9V\xd1\x04\x10\xf8{\xd1\x03\x16\xc8\xfc]7\ +\xdd\x04\x9b7o\xf6\x83\xcfI\xa0Z\xcd\xce\x9d;\xd5\ +\xfe~\xf4\xa0w\xa2\xfd\xec\xb4,\xb8\x94\xe5\x5c.\x07\ +\x87p\xc8|\xeb\xd5W\xc3\x8d7\xdeHN\x9f\x01\x9f\ +\x0b\xd5\x81\x22\x81\x85\xe5:x\xf0 \xec\xc5\x89\x1d\xef\ +X\xb4\xa8l\x12\x18\x87\x9d\x9b\x00A\x98\x96J\x80U\ +\x05'P1G\xcab&\xa0\x22\xf0\x1fC\x8f\xd7B\ +\xf0oz\xeb[a\xe3\xc6\x8d\x0c\xfc0\x12PE\xd2\ +\xfe!t\x98n\xc4YH\xcb\x84\x80KQ^w\x1c\ +\xf8\xf9\xf8\xb82k7\xdcp\x03\x03?\x8c\x04\xa4\x0d\ +\x89\x04\x87\x0e\x1d\x82}\xa3\xa3\xb0\x0b\xeb\xaa,\x12\xe8\ +k\x85\xf0;\x82\x88a\xbe\xa0\xcdW\x95J\x80\x13\x98\ +\x5c\xea>\x04\x98\x80r(@*\xe9 MR@\xe0\ +\xa8R\xba\xba\xba\x18\xf8\xa5\x90\xe0\xadH\x1c\xaa\xa0'\ +q(\xfaz\xec\x1e.\xbd\xc4\xc6#\xceK\x09O%\ +\x93p\xe5\x95W\xc2\xf5\xd7_\xcf\xc1\x8f&\x01iE\ +\xe5\x08?\x89\xb3\xac\x0e\xa5Rpc}=\x01[\x96\ +\x06\x90|\x22\xaa(`\x09\xe1\x04\xe0'\x84S\x85@\ +\xd0kX\x08\x0b\xc1\xbf\xfeMoR\xe07`_\xb8\ +\x5c!\xe0\xa9\xfbD\x04\xa2J}\x06\xbbP;\xa8O\ +\xed8\x97\x06\xf8\x98\x9eE\xbb\xbf\x09\x01|\x13\x96\x13\ +\xdf\x95\xde\x99@!@\xcb\x22\xc1\xa6M\x9b\xd4\xbdO\ +?\xfd4\xf4\xe0v96\x9ep\xe1\xb8H\xbf/g\ +\x11\x96e;\x81\xf9\x5cN;\x0f\x17\xa5\x01\x12\xe8\xc1\ +_\x8f\xdd\x9du\xeb\xd6U\x00\xbea6\x01\xbf\x08m\ +\xe3u\xd7]\xa7*\xe89\xecF^\x83N\xe1\xc2_\ +\xf1\xdc\x84\x0b\xf8./\x22\x117\xa0Y\xbb\xf6\xdak\ +\xe9\x1d\xbd\xe0WD\x82\x0d\x1b6\xa8\xf2\x8e\xe0\xb8\xbe\ +\xdb\xdd]\x1e\x01x\xdcF\xe41\xc5\xcb!\x00q\xae\ +\x0e\x13\xeb\x05T\x10\x08\xba\x12\x9d\xa1y\xed\xedP_\ +__\x09\xf8\x8c\x044\xfd|\xc7\x8e\x1dj\xffE$\ +\xc1V\x22A6\x0b\xbf\x0a\x19\xc0g\xbf\x8c\xdb\xf5]\ +]\xd4\xa5S\xef\xa6A\xd7[-\xe5\x92`=\xce\xbc\ +\x9aD2\x0d`\x0f\xa8$\xd1D\xe3f@\xe5N\x95\ +\xab\x01\x94\x13X\x85^@\x13\x82Ca^\x0a\x7f\xba\ +\xae[!\xf8&O\x93\x80*\x9cZ\xdaa\x9c\x0a\xb5\ +9\x91\x80\x05\xe94\xfc2e\x10\x9fy\x04\x09\xb0~\ +\xedZ\xe5\xc5/X\xb0\x80\xde\x87\xbd\xb3!\x82\xda/\ +\xd9\xe4\xb5bW\xd9\xe9\xef\xa7\xfa.+\x0e`\x86\x83\ +\x0d\x01\xdcrM@KaDPV!\x10\xd4\x8f\x11\ +\xbd\xc5\xd8B\xe2\xf18\x85@\x89\x04e\x82\xcfI@\ +\x15D$\xb8\x1a\xb5\x0b\xed\x1f\xc3 \xca\x06\x1a\xeeD\ +\xc7\xe9\x97!C\xa8\xcd\x8ec\xbab\xf5j\xe5\xbd\xb7\ +\xb7\xb73\xa0=Z\x80\x9d\x8b\x02_iK\xbc\xbe\x1f\ +c\x03\xb2\x02'\xd0l\x0d\x86-\xe5\x10 W\xe86\ +\x08)/:\x104\x85v\xec\xd4w\xbf\x0b]\x1f\xf8\ +\x00\x15L\x93\xa0b\xf0It\xa5R\xab\xa3.\x17U\ +\xdaI\xfc8u\x1d\xe6\xcfC\xa7\xa9\x962\x82~\xcc\ +)\x0ca\xafY\xb5Jy\xed\xf3\xe9\xe3\x18!\x02[\ +~\xb4&\xe0\xe0St\xf0\xd8\xfd\xf7\xc3TooE\ +\xdd@\x1ff\x84!>0W\xceX@\x0a\x93M\xa9\ +J\x81\xa0\x81\xe7\x9e\x03\x81\x85[\x7f\xc7\x1d\x8c\x04\x0c\ +\xfc2I@\xad\x8f\xba^d\x1a\xce`\xe8u5\xe6\ +\xb5NL@-d\x0c#w\xaf\xb6\xb5\xc1jtl\ +)\x96\xd1\x86\xfb\x1e\xf0\xc3\x81\xe7\xfb\x81\xe0\x9fx\xf0\ +A\x18x\xe6\x99\xca\x22\x81\xc5\xc7\x02 U\xae\x06\x88\ +\x11\xf8\xbc\x1bH\xc0U\xe6-?\xf5\x94Rk\xeb\x7f\ +\xf7w\x19\x09\xca\x04\x9fU0\xb5B\xdd}:\x87\xa1\ +\xe6\xcb\xf0|\x0b\x06d\xaa)\xe3\xe8\xc7\x9cC\xb3\xb3\ +j\xc5\x0a\xea\xceR,?\x08|\xb6\x0d!\x01\x07\xff\ +\x81\x07\xa0\xff\x17\xbf\xa8|>\x007\x01\x16\xe6\x95\xae\ +\x01\x9e\xf38\x81v\xb1\xd0\xe2E\xcc\x07\xe8\xc3\x82\xd1\ +\x8bv}\xf0\x83^\x12T\x02>\xabx\x02\x84\xbaO\ +T\x99\xbdX\x91\x9dx\xae\x09\xc7\xe1\xab!I\xfc\xed\ +^\x8c\xe7\xaf\xec\xec\xa4\xee,9h\xc1-\xdd/\x91\ +$ \xcd\xa5\xc1?\x8ej\xbf\x0f\x83@\x15\x89\x94^\ +\xf5\xcf\xc6\x03\x14\xb6\xa5j\x80D\x81In\x0df\x04\ +\x11\xbb\xa9\xf0\x1b>\xf4!M\x02\xea!P^\xe5~\ +\x81\xf1\x9c\x09 U\xa9\xfdX\xa1\x1d\xd4\xa5\x1a\x1d)\ +\x7fU$\xe9\x05\xbf\x0d\xfa\x11\xf8\xe58H\xb3v\xed\ +Z\x0d>{~\x08\xe0\x81\xe6\x80\xde\x99F?\x95\xcd\ +\xff\xcew\xa0\xff\xe7?\xbf\xb8\x09!\xbc\x17\xa00\x14\ +\x05Le9\x04\xc8b\xb2\x00D-f\x04\x11\xcb\xe9\ +\x857~\xf8\xc3\x8a\x04\xd3\xd3\xd3D\x02\x06ri\xe0\ +s\x12\xacY\xb3F\xed_@\x22,\x01\x09\x8d#\xc3\ +\x15}\xef=5\xbf\x1d\x06/[\x05\x9d\x18\x8a^\x85\ +N_sss1\x13\xa4\xf3J6\x01$\x1a|\xea\ +\x1d\x1d\xfb\xf6\xb7\xe1|(\xf8\x95G\x02\x89\x12n\x01\ +\xd3L9\x1f\x86\xc8|^\xb8\xb6-\xcc\x8fVwN\ +\xa0b;\x91\xe0#\x1fQ\x11\xc2T*E$\xa8\x10\ +|N\x82\xcb/\xbf\x5c\xed\x0f\xc6l\xd5\x04\xea\x87\x06\ +C\x14\x00\xe7\xc7t\xfbB\x18^\xb3\x16:\x16/\xa6\ +\xf9\x09\x14\xcb\xa0\xdfc\xcf/\xc7\x04\xe8\xfb\xb4\xcdO\ +$\x12p\xf4[\xdf\x82>\x9c\x02w\xb1\x22\x03\x06\x83\ +0W\x10\x96\xa2\xfc\x09!zF\x10'\x80\x84\xea\x88\ +*8\xfe\xde\xc6\x8f~\x94H@\x9a\x80\xe6\xb2W\x02\ +>S\x85\x04\x18\x01G\x95=\x1c\x8bC;H\xa8\x1f\ +\x1c(iE\xac\xd4\xc2E0r\xc5zX\x82\x91\xb8\ +\x15+VD\xb5\xfc\xb2m>E\xfa\x08\xfc\xeeo~\ +\x13\xfa\x9ex\x02\xb8T\xee\x03`\x81\xfd\xf8T2\x1f\ +\x80 p0\x05G\x02\xab'\xe7\x91\x04T9\x9b~\ +\xff\xf7iK\x9a@\xf7\x0e\xe8\xf8\xa2\xe2\x04\x04\x1c\x01\ +H$\x18\xb5I\x13\x1c\x81\xc4@\x1f\x84Iz\xe1\x12\ +\x98\xdc\xb0\x19\x96,\x5cH\x93R\xf4T\xb5\xa0\xf7)\ +\xcb\xfb\xa7\xf7\xa0\xdfS\xe0\xdfw\x1f\x9c/\x1b\xfc\xe8\ +H\xa0\xe0>\x80\xc20_\x0e\x01\xd2\xd4\x0d,t!\ +X$PJ\x95\xaa)T\x11\xf4\x9b\x9b\xff\xe0\x0f\xe8\ +\xd0k\x0e*\xf6\x0bH4\x09h\xee\x1d\xb5\xbcQ4\ +\x07\xf3\x0eK\x88\xf7\x9f/\xba\x1cYfI\x07$7\ +]\x05\x8b\x10|\x9c\xc5C-\x95\xa9\xf6\x88\xae_\x10\ +)\xe8\xf9\x06\xfco|\x03zq\xdc\xbf\xaa\xe2q\x02\ +gafY\x1a\xd3r4\x805k,\x80\xb6\xc2\xb6\ +k\xf6u\xd0y\xaa\x10\x22\xc1\xc7>\x06$SSS\ +D\x82\xca\x9dB#d^hN\x81j\x81\xe3Wm\ +\x87\x16*x\x7f\x0fx%\xbbd\x19\xa4\xf0\xdc\xc2\xf6\ +v\x1a\xce\xa5{\x82Z=\x039*\x8f\xbc|\x02\x9f\ +\x9c\xbe#\xf7\xde\x0b\xbd\x07\x0f\xd6\xe4\x13qEjK\ +\x14\x9d\x14J\x98\xc6\xca]&\xae\x90\xfc\x5c\x92\xb2f\ +\x9f\x87Q\xc5\xd0o_\xf9\x89O\x00I2\x99\xac\x0a\ +\x09\x08\xf8\x86\xc2\x9c|\xda\x9f\xd8\xbe\x03\x1a\x9f\x93\x10\ +\xeb{\x1dHr\x1d\xcb!\xbd\xed:hok\xa31\ +\x06r\xd0\x02\xc2\xb5\xac\xe5G\x9a\x00z\x1ei!\xfa\ +\xcd\xc3\xf7\xdcS\x0b\xf0\x8d\x0f\x00\x82\x22\xae\xcc\x04@\ +\xb9>@ca\xea\xf6\xec\xf9\x00\xc2\x125\xd3\x00F\ +\x13`\x05I$\xc1\x9d\xbb\xa9\xd5h\x12T%XD\ + \xe8\xf1\xfa\xe4\x8e\x1b\xc0z\x86L\x0f\x96u\xc7[\ +\xa0\xad\xb5\x95\xc2\xca\x1a\xfc0{\x1f@\x04v\x1d\xa9\ +}rF\x0b\xe0\xdf\x0d\xbd\x07\x0e\x18\xac\xaa\xaf\x02H\ +e\xb38\x80\xd6\xe2\x84\xa9[\xb2\x09\xf0;\x10&\xc6\ +,,pi\xaf\x16\x04\x10f\xd3\x87$\xa0\xedf$\ +\x81\xd6\x04\xd8;\xa8d\xf8\x98\x81Ej\x98\x06\x91\x08\ +\x9c\xa9\xeb\xdf\xa6\xce\xb5\x22H\x14\xd7\xa7s\xfa\xfa\x08\ +\x89\xd4\x02\xa4\xf6\x09|\xd2\xfc0\x9cz\xe8!\x98\xec9\x07\ +R\xba\x8c\x00\xda\x09 l#\x090N\xea\xc4L\x0a\ +\xf5\x93\xd6\xb6*\x0e\x07\xfb\xb4\xbd\xd0\x15\xe2qZ\xa5\ +\x87\x04\xbeD\xa25\xc1>\xaa)$\xc1\xbf\x06iH\ +p1NaI$\x08\x13r\xf84\xf8'\xef\xfe\xef\ +\x04\xbeQf\xd2\xef\xe4rm0\x8b nq\xe7\xb0\ +\x19\xa3\x92\xed\x1b7\xaa\xd5@[q\x90\xcb\xc11\x93\ +\xd7\xb1K\xf9\xf4W\xbe\x02=8o\xd0\xc9f\x89\x94\ +\xa8\x05:qk\xb1U\xdf\x09\xcbx\xa9\xeb\x03Lb\ +ZU\x98\x14j\x151\x01\x12.2\x10\xa4\xc0\xd7\xd4\ +d\xc0\x1b\x8f\xc5\xf2\x94@\x18]6\x84$8\x8e\x07\ +\xeb\xee\xfc7\x80B$ \x9f\xa0\x1a$\x88R\xf3\xec\ +\x1c\x82O\xb1\x03\x8aW \xf8\xff\x88\xe0\xff\xd4\x00m\ +\xd4\xbf\x12\x03\xbe\x1fx\x90\x5c\x13$0p\xd4\x8a\xc3\ +\xcf\xf3\xb0\x85/\xe8\xea\x82:$X\xb2\xb7\x17z\x10\ +\xf4\xd7\xbf\xf8E\xe8\x7f\xea)\x02\x9d\xd7+5P\xab\ +\xe8\xac`h lK!\xc0\x94\xf1\xcd\x84\x89\x03\x98\ +@P\x85\x91@\xfd\xa3\xfe\x0c\xc9}\x00\xf3pn&\ +4\x11\x86\x0eaE\xe3\xce\x15w\xfe\xb1\x02C\x93\x00\ +\xa5\x9af\x80\xf2B[>\xc5\x13\x9aT\xcb\xff\x07\x18\ +:\xf0\x98&v \xe0\x9a\x1c\xca\xbcz\xce7.Z\ +\x0c\xcd8\xef\xa0y\xf9Je\xcb\xeb\x90T\xf9\xa9\x14\ +\x0c\xe0\xea)\xaf\xec\xd9\x03=\x07\x0f\xd2\xc2\xd0%M\ +'wY$PW\xa3\xc16\xda\x09,\xd4?\x9b\x10\ +b\x19\x13P\xbe\xcd\xe7N\xa0\x06\xd7\xa8\x1a\xa6\x1d\xfc\ +d\x11\x052\x00\x91\xe01*\x1e\x92\xe0\xdf\x01\xc9\xd8\ +\xd8\x98!\x01\x97\xaa:\x85\xd4\x85\xd4\xe0\x9f\xbe\xe7\x1f\ +`\xf8\xe0O\xfc:7\xc0\xd6+\xf0\xd1_h\xec\xe8\ +\x84\xc6\xce\x15\xd0\xd4\xb9\x12\x9ah\xa0\xaa\xa1\x11\x01\x9f\ +\x82!\x5c\x0b\xe1\xd87\xef\x83\x0b\xcf=\x0fCG\xba\ +\xc1\xc9\xe5\xcbjb\x82\xf0\xb1<\x9a\xca\xd3\x962\xa5\ +\xce\x09\x5c\xab\xb16A\x04\x1f\x8a\x13'O\xc0\xe4D\ +\x12\x12-\xad\xf4gJ\xe8\xa1\xd1\xcc\xd4\xff0\x80\xf5\ +\x83\xf4\x89Y*\xdf\x00\x8e\xfb\x9a\xce&\x7f\x04Ip\ +\x0a$\xac\xbd\xf3O@\x93 \x9b\xcdF\x9b\x82\xca\xcd\ +\x80i\xf9MM\x08\xfe\x7f\xc3\x96\xff\xa8GMj\xa0\ +\xb5\xc3\xd6\x04\x89\xb6v\x88\xcf\x9b\x0f\x89\xf6\x85\xd0\xb0\ +t\x194,\xe9P\xc5N\x9e{\x0dF\xbb_\x863\ +\xdf{\x10F\x8f\x1d\x85\xb1\xd3\xa7\x11pG\xdd\xebJ\ +]\xd6\xb2\xc2\xc6\x84\x05%\x16\x08\xb24\xb6\xa5\xc7\x01\ +\x8c\xc8Y\x04\x98\x1e\x1c\x84\xd1\xd7z\xe8A\x8a\xcd\x89\ +\xd6\x19\x22\xc4\x1a\x1aT\x8a75\xd19?\xf8b\x96\ +j\xd4\xa0[\xb3T=\x8b\x0e\xfa#R\x8a\xdc\xd2\x1f\ +\xe4\x1e=\xf4\x138\x8d\x99\xab?\xf1'\xaa\x1b6<\ +<\x5c\xc9\xcc\xa2H\xb3\xa0\xbd}\x0d\xfe\xab\xf7|\x0d\ +F\x0e>\x0a\x16\x16&\x86\xf3\x06c\xd8 b\x04\xf4\ +\xbcv\x88\xb5\xb6A\xbc\x0d\xc3\xcdu\xf5\x90\x1d\x1b\x81\ +\x14\x0e?\xa7\xce\xbf\x0eC\xcf<\x09\x13gN\xc1\xf8\ +\xa9\x93\x90\x9bN\x83\x06\xdbU\xb6\x96\x90*\xecke\ +\x8b\xfb\xaez\x8f\x92\x09\xc0\xc6\x02X\x07\xa34\x02\x98\ +\x86f\x88`\x9c@\x17U\xad6\x039T]V\x22\ +A\xeb\xd4\x12!\xd4\x90q\x1cU\xa3M3]\xeb\xeb\ + \x86\xf9v]\x0cbxM\xac.A\x8e\x8ai\xc9\ +\x8a\x04\x5c\xbd\xebd\xc07&\x82i\x05 \x12<\x0a\ +\xa7\x9d\xe3z\xa8T\xee\x22Q\xf5\x1a\x13\x1f\x01\ +\x04=\x84\xcdDq\xd2i\x95\xb4\xa4\xf1%l\x04<\ +^\x8f\xa0c\x8a\xd7\xd5\x11\x190\x0f5FC\x03n\ +\x91\x144W\x8f\x92%\x0al\x93\xba\x99c\x1em\x0a\ +6\xadP(\xa3%x\x22y\xf5\xf4)\x189\xfc\x0a\ +,\x5cd>\xcd\x8eP\xefl\x1be\x02\xc8\xbc\x9c\xc5\ +\xcf\xd0\xd2\xdd\xaf\x80\xf5\xdc\x01\xc8\x10\xe8\x17\xfa 3\ +<\x00n\xde-\xc4Hf\xc0\x93>\xa0M\xeb\xd6\xb5\ +\xe7j\xa0=\xa0\x83\x97\x0cZ;\x16\xf2\xa4,\x85\x00\ +|J\x98\xe6P\xa6\xc2?\x1b\x07l0\xc8\xb6K\x9a\ +\x9e\xe4f\xd3\xe8\x94!1\x92\x009KOW\xa3$\ +f\x88\x81\xa4 \x22\xc4(\xd1q\xa2@\x12\xcc\x07\xcc\ +\x13q\xd2&D\x06L\xb1\x19scS\x9eecR\ +\xf9\xb4U\xfd\xde\x13N\x0c\x1e\x1eq\xe0\x86\xee\xa3\xb8\ +8C\x1b\xfb\x12\xb9r\x7f\x80\x9f\x1b\x18\x18\x80G_\ +\x1b\x82\xf5'O\xc3\x8a\xf3'\x11,\xa3\xbe\x15\xe8T\ +F\x0d\xbekZ9#\x81O\xdd\x9b}a\xd1}\xfe\ +\x9e\x91k\xe2&\x11&\x80O\x09\xd3Z\xa0\xf2\xbf\x1c\ +\xea\xd7\x00\x94J\x8f\xf2\xd1V\x83\xaf\x13H$G\x06\ +\xf2\xb9\x8c\xaa,\x07\xf3\xb2\x9a\x1c\x82\x92!\x8b(v\ +L\xe0\xdbJ{\xa8\xd4\xdb\xd9\x05{\xdb\xd7\xc1e\xab\ +\x96\xc1\xca\x95+\xc9N3`\xab\xe5\x14\xea\x91\xc3\xf5\ +]\x1b\xe0\xe9\xb1qU\xc6\xe5}'u%k\xb0\x8d\ +\xf3_8\x90\xae\xb6\xc5Av\xde\xdf\xe5\x05\xe1\xd1\x00\ +\xa5\x9b\x82B/ \xc0\x7f\xab\x94\x00\xd2\xbb\x15V\xa4\ +\xd7/\xc0\x03\xb6!\x02O\xe6\x9c\xb9\xd6\x80\xed\xcf\xb7\ +\xccy\x22\x90p\xf3\x00\xb9<\xbc\xbex=\xfcta\ +\x17\x5c\xbe\xearZB\xc6\x10\x80\x83Y\x09\xf8\x81\xd3\ +\xcb\xe8\xa3P\xca\x7f\xa6\xa0\x85\x96\x9f?\x81\xc7\x1al\ +M\x04\xcfV\xb7j\x9f\xca\xf7\x01o\xda\x15\x11\xc4\x00\ +\xef#\x82\x14\xe1\xa8\x8aB\x85\xc9*\x13\xc0H\xa1\xc0\ +!\xc2\xe2\xb9\x82'C\x10\x03\xac\xaf\xb5s\xf0\xb96\ +\xe8]\xb6\x1e\xf6_\xb6\x03\xc1_E\xe0\xd3\x14p\x05\ +~I\x12=\x88\x14\xda\x15\xd4$ _\xe3\x19a)\ +0;\x91\x04\xbeV\x8f\x09\xbcdP@\x878}\xfe\ +\x16\xcfM\x01]\xa4\xfd\x8b\xd0n\xa0`\xe7+%\x00\ +'\x01!`\x8b\xa8\xd6o\xd4\xb9>\xd6\xc9\xa7\x0d\xb8\ +\x99\x10^R0\xf0\x8df8\x8fj\xff\xe0\xe5\xd7\xc1\ +*\x04\xfd-oy\x8b\x06\x9f\xc0\x8a\x021\x0a\xf4\x92\ +\x9dG\x8a\xfd\xd3\x17\xc2$\xcf\x14^\xba\xb3\xe7\xb8\x01\ +\xdc\xa7\xe2\x0d\xa0f\xdf\xeb\xf4\x05\xb4x\x03<\x0b\x8a\ +q\xd1\xa1`\xabv&@h\x14\x22\xc7y=\xac\x15\ +\xde\xe3\x00\xff\x00\x8a\x98\x81\x00\xf0\xfb\x96w\xc1\xa1\xd5\ +o&\xd0\xd5\xa2QZ\xed3\x09V\xff\x17\xed\x0f\x08\ +!|\x8b:\xd1\xf1s\x85\xd9R\xcbz\x8e\x15#\x81\ +q\xe6\xfc\xf1\x0d\xbf)\xf4\x86\xc5\x85\x0f\x80h-\xa0\ +\xf1\x1154\x01Rw\xcdJm\xfd,\x8f\x1ds\x0d\ +`\xb4\x03\x07\x7f\xc5\x06xb\xcd\x0d\x1a|\xfa\xe8\xc3\ +\xd8\xfc\xf2\xa5\xe2o\x0d\xf4\xb16\x07\x9a\x04\xcf+\x12\ +\x00t\xf8I`\xc0\xf5\xd9yN\x00i\xae1-=\ +L\x0bpbb\xaa\xad\x09\xa0Tn\xeb7y\x22B\ +#P\x0a\xf0\x0f\xfaWl\x84'\xd7\xa1\xad\xc7\x16\xff\ +\xe67\xbfY\x83\xcf\x00\xaaP\xcat\x0a\x0d\x11\xf4l\ +c2\x07\xe4\x13\xbcP\x88Y,}\x9dH`\x1a\x86\ +\x0b\xdc\xb37Q\xd2P\xe0\xa3\xb5\x80\x19\x0d\xc4$\xaa\ +n\x02\xcc\xf3M \xa8\xe2\xd6o\x12\xbfF'1\xcb\ +\x14\x5cX\xb9\x11\x9e\xeaz\x1b\x81O\xcb\xc4i\xf0\xc3\ +\xa6f\xd7\x8a\x10\x0c|\xaf&\xa0\xf5\x09h\xffE|\ +\xe9\xad\xb8]z\xee(@\x80\x83G\xc7\x92\x01\x1d\x05\ +<\xd7\x02<\x0eP\xd3^\x80UZ/@\x04k\x04\ +\xde-\xe4\xf7\x99s\x04\xfe&xz\xe3N\xb2\xf5\xb4\ +\x08c\x90\xda\xaf\x84\x08z%\xcf\xc0\xd0q4\x09\xf8\ +\xc7'z\x91\x8a\x97\xed\x19\x9f`\xf1\xb9n\x05\xbc\x15\ +\x06t\xb4\xdd7y\xfe\x095\xdc\x07\xa8u/@=\ +\xc4\xcf\x01c\xc3\x81\xf5\xed\x99F`=\x00\x11\xac!\ +\x06Wm\x86\xe76\xef\x82\x95+V\xd2\xda\x80\x04\xbe\ +\x06MK\xc5$\xa0Q=\xfa\x0a\x88\xae\x1d\x1c\x1c\xf4\ +\x8e\x22\x86\x80\x1f=c\x98\x1cCZB\x86H\xf0\x8a\ +m\xab\xf2-|\xad\x1bd@\xdf\xde7\xe8\x22B\xc8\ +\xa0\xcf{\xef\x9d}\xdaV\xf8\x98\xdb\xaaj\x02\x8c\xae\ +\x0f\x9a\xd6mR\xa860\x89\xf7\x08\xcc\xf1\xd0\xe5\x9b\ +\xe1\xf9-o\x87\x15\xcbW\x10\xf8\xf4\x81'\xeb\xeaE\ +\x11\xc1\x80\xc5\xc1\xa7/\x84Zp\x14S\x16\xae\xbdp\ +\xe1\x02\x91 \xda\x0c\x18\x92\x153\x05l\xb5\xcf\x97-\ +\x1b6\x82\x80\x85g\x8fxL\x01w\x00\x95\x96(\xe6\ +\x04\xd2\xc6O\x1a#\xb3FG\xad\x82-\x95U&\x80\ +\xdf\xc6\x84v\x03MR\x9b\x08\xff\xc0\x10\xc6O\x84\xa1\ +\xd5W\xc2K[o\xc5\x96\xbfB-\xbf\xda\xd9\xd9I\ +\x95Y\x0a\xc0%\xb7|\x02\x7f\xf0ow\x83\xeb\xe4a\ +\xf1\xe7\xee\x01\x12\x22A&\x93)\xc5/`\xa0\x17\x09\ +\x16\x19M\x10\xb3U\x09\x17\xbcz\xd8O\xf8R\xec\xfc\ +l\xd2\x801'R\xfb\x11&\x0eP\x0b\x13\xc0#M\ +>\xf1\xab\x7f\x03\xae\xc9\x8f\xe8\x1d\xf8\xaf\x1dY\xbd\x05\ +\x0eo\x7f'\x81O\xab\x81\x12\xf8\xe1-\xdf\x80\x10y\ +\x9e~\x87\xc0o\xc6\xf1\xfc\xa1\xff\xb2\x1b\xd2\x8f\xcc\x00\ +?Dj\xfa\xcf\xd4>\xfd\xcd\x22\xa5\x09\xa2G\x07\x03\ +\xbba\x8c\x04D\xdeW,[\xe5\xcd?\xf3\x8a\x0fP\ +\xab\x08\xf0\xd276\x10\xd0\xdb\xf2\x10B\xb2\xe7WG\ +\x03pM \x8c\x0f\xe0\xc3S\x14R\xb4F\xe0>\x82\ +'ot\xed\x16\xe8\xde\xf1\xafH\xed\x13\xf8\xfao\xec\ +D}\x9f\x1ft\xde\xb7\xafg\xf2\x10\xf8\xc3\x7f\xb7\x1b\ +2{\xef\x01\xad\xcc\xb2\x8f\xdd\x07\xc3\x02`\xc1g\x0d\ +\x09P\x13\x04=\x8b\x01\xadS\x10\x09h\xdd_\x22\xc1\ +\xe1\x98\xad\x1c\xc3y\xa7^\x06\xe1\x03\x9e5\x08?I\ +|f $\x12h\xd5\xc6\x070[\x0b\x13\xef\x06\xf2\ +\xd6=[\xfd\xcfV\xf5E\xfc\x83\xb1\xb5W\xc1\xb1\xeb\ +\xdeE\xb6\x9e\xfe\xba\x16\x03?p5N~>t\x02\ +\xe7\x08\x82\x9f}T\x83o$\xf7\xd3\xfb`D\x00\xb4\ +\xff\xa9\x8f\x04L\xcd\xe3~X\xf2M\x1c\xa1\xad&\x01\ +\xad^FyG\x90\x08+\x05\x92\xe0\xe4K`\xcdn\ +\xf1\x8c\x10\xbe\x06\xe4'\x04\x80\x8fD\xea\xbcmB\xcb\ +Jj1\x18\x14\xe9\x02h\xc0!J\xfd\x9b\xeb'\xd6\ +m\x85Soy7\xac\xe8\x5cN\xeb\xff\x12\xf8\xd4b\ +\x18\x98\x95h\x01=u\x9b\xc0\x1f\xfd\xdan\xc8\xfdD\ +\x83\xcf%\x8f$\x18\xc5\xed\xfcp\x120\x90\xa3\xb4\x01\ +%r\x0c5\x09\xba\xed\x98\xd2\x04\xcd\xc7_\xf4:\xc3\ +\xc6\x114\x00\x07\xf7\xf9\x85\xf9z\xd7\xf1\xcf\x09\xac\x9d\ +\x09P\x05\xb3-\xf3>\x82c+|\x19A\x041\xa7\ +'\xd7]\x0dgn\xbc\x8dl=\x81\xaf\xff\xbaV\xb1\ +\x96]\xa6\x160\x1fm\x10\xf8c_+\xb4|\xafY\ +bk\xeb#\x09\xf6\xdd\x07cx\xa2\xed3E\x1d\xc3\ +b\xe0j2Dh\x03C\x02\xd2l\xa4\x09:\xc0\x82\ +\xc6\xe3\xcfs\x80\x85\x1f`\xa9\xb2\x82\x9dEa\xba\xe3\ +t\xae\x96&@\x18V\x82o\xec\x9e\x89)H0A\ +\x92]W\xc3\xb9]\xef\xc7E\x18;i\xc9uZ\x97\ +G\x83_\xb1\xad\xd7\xe7\xcc\xe7Z\x0d\x08\xfe]\xa0\xd5\ +\xbee*\xcbG\x00u\xabE\xfb\x05\x12\x80\x8f\x04\xfa\ +\xe3\x13\x06.\x07\x9f\x93\x02\xc5\xab\x09\xe8o\x06\x164\ +\x81\x0d\x8b\x01\xa0\xe1\xe8\xf3^\x80\xcdVrs*\x03\ +\xd1\x15:\x12\xa8M@M\xbb\x81\x06Ls\x10\x16\x1f\ +`\x92\xea\xda\x06=\xb7\xdcN\xea\x9e\xc0g\x7fc'\ +\xa0UG\x02O\xa2?\xd4\xd4\xe0\xe7\x1e\xbd\xdb7\xc9\ +\x04f\xbf\x97\xd4\x0b``\x92\x9c\x04B\x08M\x02\x03\ +fx\x0a\xd5\x14\xda' \x92vcj\xa7\xf1\x84\xc3\ +\xcf\x85\x03\xac\xdf\xdbx\xffL\x84\x1e\xaeW\xe5\xa8\xb2\ +\x090\xf3\x01`\xd6\xe39\x09D\x04A\xa67n\x87\ +\xfe[\xef\x80\xcee\x9d\xb4\xde>\x81o\xbaz\xd1\xea\ +=\x8c\x14\xf4;\x85\xaft\xeb5\xf8\x1axC\x80\xd9\ +\xa3s\x1a|\xda\x9aO\xb6\x98&\xc0\x88!'\x01\x07\ +8\xd2,h\x12\xd0\xd2\xb3\xb4\x7f\xcc\xfe\x84z\x99\xc4\ +\xe1gA\xfb\x01\xb2h\xd7/\xa0~-\xefX\x00\xd4\ +(\x10$0\x15\x0a\x15 \xa6\xa2Cz\x09\x99\xcd\xdb\ +a\xe07>\x00\xcb:\x0d\xf8\x1e\x9b\x1f\x01v\xb4\xcd\ +\xd7\x8b3\x8c\xfe=\xd9|j\xf9lv\x91&\x80\x11\ +/\xf8\xe0\x9d\xae\xcd5\xc1\xd0\xd0\x10\x91\x80\x01\xca\xc9\ +\x10M\x10M\x02*\x7f\xb7u'4K,\xc3+\xcf\ +\xfaL\xbd4\xe0\x078\xdd\xe6\x9ce\xcfL\x92\x95\xb5\ +\xeb\x05\xa8\xc4\xc5o\xdf\x03%\xbb\xe9\x1a\x18\xf9\xad\x0f\ +\xc1\xb2\x8ee\xb4\xc6?-\xc7F-\xb6\xdcV^t\ +_\xaf\xc9\xa3\xc1\xcf \xf8\xbeh#\x9f~\xe6\x11C\ +\x00W\xf2\x99;\xd4;\x18\x93H\x82?U$\xa0\x8f\ +O\xf4\x00R\x04\xc8\xfc\x18\x85\x99\x03\xfa[\xc9t|\ +\xcc\xbaKU\xa0\xfd\xd23|\xb9V.\xfc\xbc%\xaa\ +\xee\x04\xfa\xbf\xdd\x0c\x09\x05\x0b\xff\x01\x93\xfc\xe6ka\ +\xec\xdd\x1fFG\xaf\x83\xe6\xd3\x19\x9b\x1f\x0dn\xc89\ +\xa3\xf6\xf5\x9a<#\x7f\x7f\x17d\x1e\xf1\xb5|\xd3-\ +\xf5k\x02#\xa6\xf5\xb3\xe1[\xdd\xdb\xc9\xee\x9b\xe9\x22\ +\xb6\x7f\xf6\xeb@2::J$\xf0i\x01\xae\x0d\xa2\ +\xc9\xa1'\x9a\xd2\xda\xc6t|\xdc\xfaCHH\xbc\xee\ +\xa5\xa7Y\xc4\x8f\x89\xd0\xe7\xd9h`\x0dz\x01\x9a\xb9\ +E\xf0\x17\x11\x19r\xeb\x0e\x98x\xcf\xef\x91\x97O\x13\ +'\x0c\xf8\xd1}\xfb(\x82\x98\xa5\xd8\xea\xea0\xc2\x87\ +\xe0\xef\xdd\xc3\xcd\x10\x9fuD\xc9w\x91\x99\xcd\xeb\x8f\ +\xc5KO\xf4-C\x11C\x10\x141\xa4g\xd3\xb7\x88\ +\x9a\x04\xd1\x80\xf3}6\xdb\x98V$W$\xf8\xd0\x1f\ +A\x9c2_|:\xb4\x8e\xfd(\xebo%\xa0\xc6&\ +\xc0\x16!\x04\xe0\x99\x895\xeb!\xfd\xe1?\x82\xa5\xad\ +\xea\x0f:\x90\xda\x0f\x1a\xd2\x0do\xf1|\xdf\xb7\x08\xe3\ +\xd0\xdfRl\x1f\xc1\xb7\xc2\xa2\x92|\xd2\xa9\xd0\xaa\xbf\ +\xe8$\x0d\x1e}K?\xfa\x0d\x18\xc2\xedBC\x02\xbd\ +\xb61\x03:,i\x09\x22\xc1\xa9\x8f~\x1a\xec\xb1\xbf\ +\x02\xf7\xccIS?\xa1\x04\x90T\x9e\xb2\xc7\x02\xacR\ +M\x80\xf12M\x14%L\xf4\xf9\xe5\x9f\xfc\x0c,]\ +\xd6I-\xdf\x80\x1f.a\xb1u\x9f\xcd\xd7\xe0\xd3\xa8\ +^\xea\xc7{\x82m$\x14\xd5\x08|~\xa2aKh\ +\xa4s\x1aI0\xf8\xd5\x8f\x91\xbfA\xb1\x06r>\x09\ +t\x9d\x18\xd8\xc5\xf2\x83\x84\xcaCs\x1e\xd7um\x80\ +\xf6\x8f}\xaa\xbc\x857tAj\xa1\x01\xa4~\x88-\ +\xcaz\xa9U;\xdf\x0eY\x10\xa4\xa6K\x05?\xb2\xf5\ +\xeb%\xd7i\xbd\xbf\x81\xbfQ\xe0\x13\x90\xbfTI!\ +\x09\x06$\xc0\xe2\x7f\xaf4\x81Z\xbd\xccq\x9cR#\ +\x84$\xa1$\xa0\x19PK\xda\xe6\xc1\xc0\x7f\xfc\xb7P\ +\xa2\x18\xdf\xa6\x96&@x\xbfQ\x12\xd176#H\ +VK+\x9bvU:\x09\xf8*\x18z\xbd\xfd\xfe\xaf\ +\xee\x86\xa9\x1f\xed\x01;\x08|\xe9\xe9\xdf\xcf\xcew1\ +Y\xa6\xdf\xefB\xc4*\x9e\xfa\x94\xe7|r\xef7\xc0\ +\x95\x02\x96\xfe\xf9\xddz\x81k2\x07\xd1\xaa?Z\x94\ +vkp\x1d(]\x8c\x13\xa8\xa4&&\x80\x0aac\ +b\xe7\x83o\xea\xfd\xc1\xbf\x90mSj\xb2\x0ca\x95\ +\xa6\xc3\xbb\x1a\xfc\xbe\xaf\xec\x86\x89\x1f\xec\xd1x1\x80\ +\x0d\xa2\xe6\xbcK@{\xbe\xdeu\x5c\xef1%~\xbf\ +d?\xe7\x7f`\xf2\x91{\xe1\xfc\x97?\x8e\xad\xb6\x8e\ +\xb4\x1c\xbdc\x90\x16(k\xd2\x0ai\x81\xbe\x87\x1fb\ +U\x1aV\xe9\x0a\x9bj\x13\x80\x87\x82\x8bx\xf9!7\ +\xbd\xf8\xf9\xcf\xc1\xf8\xd1W\xa8@\x9a\x04\x95\x10\xc1\xf7\ +gV\xce\xff\xe7\xdd0\xfe}c\xf3\x0dH\x06H\xde\ +t=\x81\x1e\xa9\xc9`H\xe0\xfb~\x1fT\xe2\xc4\xe0\ +\xbf\xa96\x13\x0f\xe3\x12\xf0\x7f\xfdq|\xb78-\x1e\ +A$\xf0\xf9\x04(e\x83?q\xfc\x08\xbc\xf8\x97\x9f\ +\x8d\xaac#\x9ap\x16T\x99\x00&\xd1\xd5,\x0e\x10\ +\xc5N'=\x0d\xfbn\xdbuQ$ \x9bOZ\x84\ +\xc0\xef\xf9\xf2n\x18\xfd\xbf\x1a|\xd6\xea\x0d\xc8\x1ah\ +\x93\xccB\x0d\x06t\x93\xcc5\xfe\xa9V\xd2\x9f\xcc\xae\ +\xb9\x9ed\xfc\xc7\xf7BO\x81\x04\xa8\xa5\xe8\x9d\x09\x90\ +\x8a\xc0\x9f<\xde\x0d\x8f\xbf\xf7fpRS\x10j\x95\ +\xa4g#MW\xb7\xda&\x80OZ\x10\x01D\x09P\ +M\xd9\xd1\x11\xd8\xff\xbe\x9ba\xe2\xd8\xe1\xb2I@-\ +H\xdfs\xeeK\xbba\xe4\xa1=\x06`\x7f\xec\x9e\xdb\ +\x7f\x7f2$\xa0\xe4\x86$C\x16\xad\x11\xfc\x04\x01J\ +\xdc\x5c\x8c\xfd\xf0^8\xf7\xc5\x8f\xd3\xbb\x12a\xe9\xdd\ +\xcb\x07\xffD7\xd6\xd5.\xc8\x0e\x0d\x9a2\x84\x80\x22\ +\xa5\xd7A\x87\xaa\x9a\x00.\xda\x04\xc8\xa2\x0f1\x95\x0c\ +\xc5H0\x0c\x07\xb0`\x13\xc7\x03H\x10\xf1\xb7t_\ +\xfbk\x04\xff{{\x02AV q;\xcf\x01\xf7\xd9\ +~v\x8f\x01\x9f\x11(\xcc\xbf0\x84\x19\xf9\xc1\xbdp\ +\xf6\x0b\x1f\xa7w\xa6w\xa72\x94\x05\xfeA\x02\x7fx\ +\xd0<\xa6\x14\xa7\xd4\xd7M\xaf\xa1\x090\xc3\x8d\xc1\x17\ +\x9a]\xdeJ\xb2#\xc3p\xe8\xfd7\xa3\x8a;\xc2H\ +\x10\x06\xfe\xab_\xdc\x0d\x83\xff\xc78|FM{\x9e\ +\xe1\xcf\xe3\xad\x9e\x11A\x1f\xb3|c&\x98\x06a\xa4\ +)\xaa\x11F\xbe\xffux\xf5\xf3\x8c\x04\xe1\xe0\x9f\xec\ +\x86'~g\x17dF\x06\x99\xca\xd7\x19\x81Y\xae&\ +\x00\xd4\xd8\x07\x10\x04\x8c0\xf9Q/\xc8\x9c2\x22\xc1\ +\x10\x15\xd4K\x82\xd0?\xa4|\xe6\x0b3\xe0\x03\x03\xbe\ +\x90\x0c\x88\x8c\x1c\xae\xda\xf7m\x8d\x160\xa0\x17'\x81\ +I\x06h\x93\x02\xc8h\xf2\x86\x1e\xfa:\x9c\xfe\x8b0\ +\x12\x18\xf0\x93\x08\xfe\xcf\xb0N\xd2C\x83\x86\xd4!N\ +'\x9f\x17\xea%\x80\xa0\xbdZ\x98\x00\xe1_\xcd\x889\ +B\xe16\xca5eP$\xf8\xd9\x1dH\x82\x13G\xc8\ +V\xea?\x9fJ\x8e\x139z\x94\xa7\x8eO}~7\ +\x5c\xf8\xee\x9e\xd2*\xde\x0b2\xb3\xf7\xe1v\xdf\xa1\xc4\ +\xae\xd5\xe4\xe2&\x81\x83^\x9c\x1c\x83H\x82\x93\xffI\ +\x91@;\xb1TFM\x0a\x95\xa7\xc0\xbf\x1d[\xfe\xf0\ +`pc\x8a\xa8kn\x02d-\x02AR9\x19\x86\ +\xc8f\xe0\x5c\x9a\x15/\x8c#\xe8\xb2y\x81\xa6\xc5\x12\ +\x09\x86\x87\xe0I$\xc1\x9b\xef\xdf\x07\xad]W\xaa\xca\ +\xf1\xca\x89\xbf\xd8\x0d\x03\x08\xbeey*Xx+\x99\ +\x1f\xbb\xc4O\xbd\xef\x9a\x90\xafY{\x98\xcd\xab\xe7\x9f\ +\xc0\xbb\xdc\x84\x98}\x9d\x82H\xc8\x890\xf0\xbd\xaf\xab\ +k\xd6}\xe9n\x02\xdf\xd7\xbd%\x7f\x88\xea\x80l\xbe\ +O\xbcZ\x0c\x02\x9dN&\x96\xed\xa9sY\x0b\x1f@\ +\x84\xda\x18\x03\xb0,-8\x93!M\xf0\xee\xeb\xe1\xb5\ +o\xffO\xea\xf2\xa8R'O\x1d\x85\x17>z3\xf4\ +=hZ>\xab\xdc PLk5[\xae\xde\xfd-\ +\x9f\xf5\x00\xb8\x16\xe0\xa6@\xefG\x13\x81\x8e\xfb\x91\x04\ +/\xfc\xdeN\x98:\xd5\xad.t\xa6Sp\xee;{\ +\xb0\xec\xd7\x11\xf8\xe6Zo5\x85;\x80<\x82\xa9\xf1\ +\x11\xa2z\xa1`>\xa3'\xa8\x9b\xc1[\xbd)\x8ci\ +mRp\xbf!\x8f\xc0\x1f\xfe\xf3\xbb\xa0\xfb?\xdc\xe5\ +\x1f\xc3\xb7\xbc\xd3\xb4\xb8\x160\x1e\xb0\x09\xeb\xbafm\ +T\xad\x91\xf8\xa4\x067\x8a\xf0\x5c\x0bpRq\xf3\xe2\ +\xbf\x9e\x13c\xec\xe9\x03\xf0\x8b\xdf\xdc\x0d`\x9ei\xb9\x851\xfdb\ +\x5c\x95&\x83OV\xf5\x1bY\xd7\xa7b\x03}\x01\x9e\ +\xe7M\xe5\xf5\x18\x8c\xc9\xe1`s3\xca\xbb\xdbFD\ +\xd5\x09\xa0+H\xbf\xac\x8cx\x86\xbe\x96\xb5x\x1f\xf0\ +\x02\xbc\x05\x0c\x03^\x83l\xde\xc3\xd2\xe7\xe9'\x8d\xba\ +W\x22\xe8X\x14\x88 \xbd\x1a\xc0\xcff\x8b\x03oZ\ +\x9d\x8f\x00Q\xa6\x80\xfb\x1f&\x85\x82n\x12\x037\x5c\ +\xfdK_\x0c\x22*2D\xc7\x15\x10\xc0.hm\xfd\ +\x97\xc2tH*=\x99\xa1\x85\x9f\xd5\xd2\xadN\xd6\xfb\ +\xde\xbc\x95\x9a\x93\x9c\x9dRFy\xf6Av\xdeoB\ +,/\x09\xf4\xb1!\x82\xe9\x91\xd0\xbe\xf0\xbc\xd6\x0cA\ +\x98\xb8\xb3[\x17\x07\xd4\x98\x80`m\xc0\xbb\x9f\xa5\xf5\ +\x18\xfc\xf7\x82I>\x82\x05\xa8\x7f\xc2\x84\xb0\xc9 F\ +TX\xa1\xca,\xf5\x8c&I\x98\xe6K!\xc0\x08\xa6\ +%\xfa},\xcb\x8d\xcfk\x81x\xbc\x1e\xa4\xe3\xc0\xf4\ +h\x16\x1a\x97\xb4B]k=\xe4RY\xd0\xe2k\xb5\ +\xc6\x8eF\xdby\xc9\xc9`\xfc\x03\xaf\x9d7\xe7\x8c\xba\ +\xf7\x93@\xa8\x8b\x02\xbb}\x85\x8a0\x8e\xa0`<\xf5\ +\x1f\xb8\xe1\xddB\xee\x17\x84\x98\x00(\xa3\xc7 C\xba\ +z|P\xcaH}[#4u\xb4\xc1\xd4\xf0IH\ +\xe0\x88\xa4\x93\xcbA>\x9fQE)\xf0_\x8e\x94B\ +\x80.\xbcat\xe6\xb7\x1d!e>^_\x97mh\ +_\x94\xb0h\xfa\xb6h\x05\x22\xc4\xa2-\x9d\x90\xec\x9f\ +\x00#e\xday\x19\xa0\x05\x14\x90\xdc\xf37\xde\xbd\xfe\ +y?\x09\x84>6\x7fj\xc6 \xa8\x89\xc1\xfe\x22Y\ +\x88\xb8\xcc\x170+\x81\x1bR\x98\xae`HWT\xb2\ +\xf1\x06\x16J.\xcb?0\x04\xf3\xaf\xdb\xb0\xec\xba\xb5\ +\x10on\x80\xf1\xa1\x8c\xfa\x9b\x0dnr\x12,\x07\xa8\ +\x95\xe6\x08KL\x92\xb0\x8d\x8c\x03\xd0\x1d\x85^J\x1e\ +\xa4L\x0b\xd7MZu1\xb5\xfc{v\x1a`\xf0\xf8\ +8t\xdd~\x0d4-n\xf1c\x1e\xf0\xb2A\xf6\xcf\ +\x0d\xa9\x18\xa9\x13\xef{s\x1b\xecz\xce\x05l)9\ +\xe682928D,\xdd\x90V\xaf\xaf\x09\xf2\x0f\ +\xd8\xe8e\xb4\xcf\xc0c(\x9c\xc4\xad\xcb\xdba\xfd{\ +\xf1;\xcbg{!9\x9aQ\x84\x90\xe0\x92)\x9f\x14\ +\x00\x19\xc2\x920\xcd\x96\x12\x08\x1a\x9bQ\x0bn\xe1\xc6\ +);\x9d~U\xda\x16X\xf5\x0924\xd0\xfb\xc28\ +\xc4\xdb\xe6\xc35\x9f\xde\xe9!A\xa8\xf3\xc2\x0b\xc6\xae\ +\xe1]%7X\xdd\x9a\xfd\xc0\xf0\xad\xc9s\xf8~t\ +\x92\x0cx\xbe\x0d\x18k\x08xw^\xbe\xa0\x14@\x04\ +\x17\xf85$-\x08\xfe5\x7f|\x0b\x1e\x0b8\xf2\xd8\ +\x19R\xa7\x0aU\xc7\xc9C\x03\xc0\x19\xc2\x90\xb0$L\ +\xc7J1\x01I\x00\xd9\x86\x8cq\xf1&\x010\xd1\x94\ +J?;\x95Ln\xafokC\xfcQ\x0bL\xb9p\ +\xf2'\x03\xb0\xf6\xed\xab\xe0\xa6/\xdf\x06G\x1fx\x16\ +\x06_\xee\x81\xccD\x9aj\xc7\xf7\x19\x16%\xf3e\x0e\ +\xdf\x82\xa0\xc4\xaf\x05\xb3\xef\xbb\x06\x84?Iu\x9d\xc7\ +\xc9\xa3-\x1dz\x8f\x85\xdf!\xf6\xafO\x10\xc0_\x9f\ +#hH\xaa\xb6\x96\xc9S[\xcb\xe4{;\xee\xa2p\ +\x9d\xa0\xe4\x9a{\xa0p,<[\xcb\xf57\x08\x97\xf2\ +\xcd\xbd*Y\x9e\xdf\xb6m\x0b\x12\xf3\x1a`\xc9\xd6\xcb\ +`\xe3\x07v`F\x0c\x9e\xfc\xc6K05\x92\x06+\ +n\xa3\x7f\x96\xc6\xdf\xc8\xc3\x02\x17\x9e\x05\xc4\x90\xb0\xc4\ +\x94'l#\x09@\xc1\xca\x9b\x94\xbaP\xac\x19_\x99\ +\xcd\xef\x7f\xb1\xbf\xff}\xce\xd2\xa5\x0b\xe3M\xcd\xca\x10\ +\x8f\xf5&\xe1\xe5\x7fI\xc1\xf2m\xf3a\xeb'w\x81\ +3\x91\x84\xa9\x0b\x13\xe0d\xf2Xp\xbe\x02\x16\x89e\ +\xec\xb5\xb9\xc6\xf7\xa1\xa6\xf7>\xbe\x8a\x18\x04]\xe3\xcd\ +\x9f\x0d0\xe5W\xd2O\x96E\xc2\xae\xc5\x8e\x8b\x13\xc5\ +\x10(\xe0X\x93\xc7\xdc\x17\x14\x80*\xfe\xdbv\x22\x06\ +\xcd\xd8\xf2\xed\x86z\xe8y\xbe\x0f\xba\x1f?;\xa3\xfa\ +\xd1T;\xa9\x0cd\x93IH\xb80\xb8\xd6\x85\x83.\ +b\x98G,\x13\x00.a[\xd27\x1d\x8f\xcf`R\ +\x87\xff\xb4\xbb\x00\xab_\xb5\xc5\xed#\x9d\x1d\x9fZ\xb2\ +e\x8b\xb0bqp\xe8\x0f>d\x90\x22\xa8fb\x09\ +\x89\x0c\x1e\x85\x96\xc5MP\xd7\x5c\x07B\xd7z\xd4W\ +C\xc2l\xf8\xb5\xfc\xbc\x14\x81\xd7F\x03,\xa0r\x99\ +\x0d~h\xd4\x8d_\xc3\xaf\x8f\xf8=\x19\x1e\xdcs]\ +\x09\xf9\xb4\x03\x99\x14\xc0pO\x12Rci\xd5U'\ +'\x9d<\xff\x89\xbe\xf3\xa8\xa5\xa7\xe4Z\x07\xfe\xf1\x0a\ +\x17\x1e\xb4\xd0\x0c\xb83\x9d\xbb\xccN\xbc\xbd\xa48\xc0\ +\x01\x00\xf9\x0e\x80\x9c\x03\x90\xc4;.\xacr\xe4#\xc9\ +\xbe\xfe+\xfa\xa4{k\xfb\xe5\xab\xc1\xaa\xabC\xecs\ +\xea\xafW\xa6\xc6\xd30\xf6\x1a\x9a\x80\xe4DTC\x0a\ +>_\x85\xebd\xc5\xe7\xdexB\x7f\x94\xab\xbe\x15M\ +\xb2m\xab$\x10\xfc\x5c\x12\xc9\x80\x83k\xd9T\x0a\x16\ +\xb9\xf0(\xb6\xfe\xbd\x80\xd8Y\x88a\x1c\xb1|4\xa0\ +\xa8v\xb1\xcc\xfd\x98\xde\x87\xa9\x19@N\x93C\x88i\ +\xb1+\xcf\x0c\xa7\xa6\xe6\x0f\x8f\x0c\xafqs9\xd5\x1e\ +]\xc7Q)7\x9d\xc24\xcdg\xab\x5c\xe2\x04\x90\xf0\ +\xc6\x14\x9b\xbe\xb5\x88\xc7@\xd2\x7f\xf9<\x06\xe8& \ +5:\x8c\x9a!#\x09\xfcm\x0e\xfc3\x00\x9c\xcd\x03\ +\x0c6\x02\x9e\x02p\xee\x0c'\x00\x97+\x00\xe4\x22\xdc\ +\x92\xed\x903}\xc9\xecR\x17\x8e\xa1\x9a\x19\x1d\x9e\x18\ +_=5>\xd6H\xb6&\x8b\xe0\xe73\x19p\xf3\xb9\ +\x80\x0a\xad}\xe5K\xf8u\x17>\xfd\x1b\x1b!:{\ +\xd3\xa8y'!\x97\x9e\x86x\xde\x1d\xbc\xdc\x85{6\ +\xbb\xf0-\x02\x9fZ\x7f\x0c \x99B\xec\x9eB\x0c\xf7\ +Wb\x1d\x1f\xc7\xf3\x13\x00V+\xf2@\x024\x09\x80\ +v\x0a\x14:\x00\x9dg,\xb8i\xd4\x82k\xa6\x01V\ +;\x02\x9a]\xbc\xa6V\xa0\xc9\xaa\x9f\x7f\xe3\x13\xc7\x02\ +\xc8\xfe\xbf\xf6\xce %b\x18\x0c\xa3/I\xe9\x8c\x8c\ +\xcc\x0c\x1e\xc1\xa5\xa7\xd0\x8d\x9e\xc0\x03x\x12\xebI\xbc\ +\x95\xcb\xd9\xb9\xb48Hal\x9b\xc4/\x18A\x17\xe2\ +\x14\x1dWy\xf0\xb6%\xe1\x0b\xfc\xc9\x1fH+x9\ +\x8al\xd2n?m\xf8\x1c<\xa6\xe0#\xb4\x06:e\ +\xd7/!\x5c|?\xd5\xbd\xeev\x8c\xea\x87]A5\ +\xc0|\x84\x14\xf6\xcaJ`i`\x11a\x06T\xd2Q\ +\xf8\x0f\xbc\x1c?z5\xf9\xa8\xb7\xb5\xb2z\xaf\xf9\xbb\ +-\x8c\x97\xb9\x0d\xfc\xab\xdb@\x03\xf1\x1a\xc2\x0d\x0ck\ +\xf0#\xf4@g\xe1)\x05\x9f49\xfc\xf0\xe9\xb7\xbf\ +\x14\xfe\x1c\xf3\xf513\x1f\xf3\x22H\x06\x89t0\xb4\ +\x10\xee!^\xc9\x9f\xbf9\x81\x06\xcc\xadT=\xb1\x1d\ +\xb8\xb9\xac\xc1\xbeJ\x97{5\x1eLO\xe1\x10\xd4\xd2\ +A\x0c\x80\x878\x83\xd0\xcb\x1d\xf8\x85<\x87p\x07\xb1\ +\x91\x13\x16\xd5t\x1ay\x06\xe6X\xae\xf3\xc06)x\ +yB\xe1\x90\xb4\xb2\x86x*{\xe09wo\x1fd\ +C\xa1P(\x14\x0a\x85\xc2~\xbc\x01\xc5\xf3\xa3!\xeb\ +\x0d6:\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00<\x0e\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x09\xediCCPICC Prof\ +ile\x00\x00x\x9c\xad\xd6gTS\xd9\x16\x07\xf0\ +\xff\xbd)\x84\x04B\xef- \xddP\xa4Jo\x8a\x0d\ +\x18D\x14\xb0\x02!4)\x11\x82(vP\xb0\xa1`\ +W\xb0+v\x05\x95Q\xc7\x8a\x0a\x22\x8c\xa24\x11Q\ +, 8\x22\x1d\x0b\x82y\x1f\x82e\xd6\x9bY\xef\xcb\ +\xdb\x9f\xf6\xd9k\xdd\xb3\xce\xf9\xed}\xd7:\x80\x94b\ +\x98@\x10G\x02\x88O\x10&\x05L\xf0\xe4\x04\x87\xcc\ +\xe4H\xd4\x81\x0a5H\x03\xb0\x0f\xe3%\x0b<\xfc\xfd\ +}\xf0\xaf\xf1\xb1\x1e\x04\x00\xd4\x98\x85\x09\x04q\x89G\ +\xa3\xab\x11\x97\x97\xa9\x92\xe3\xc2\xe9\x9f\xab\xfb\xf8\xdf\xbf\ +\x03\x00\xb0\x93\x82Cf\x02\x04\x17\x80b\x948w\x07\ +\xa0\x18.\xce\x03\x01(\xa6\x0a\x05B\x80\x88\x06\xa0\xc8\ +\x8b\x0e\x8b\x00\x88\xa5\x00\xb8I\x81\x01^\x00q\x1c\x00\ +;J\x9c_\x06\xc0\x0e\x17\xe7\xe5\x00\xd8\x0byQB\ +\x80h\x00(\xf2\x09\x111\x09\x00\xb5\x03\xa0\xbbF\xf0\ +\x93y\x00\x8b\x0b`^D2/\x1e`m\x04`\x19\ +\x1f\x9f\x18\x01\xb0\xae\x010\xe6\x09\x92\x84\x00\xab\x05\x80\ +Yp\xc8L\x8e\xf8\xc8\xe1\x91\x80u\x08@\x1e\xffY\ +\x9b/\x05\x14i\x02\x8a5?k&\x11\x80F\x01p\ +\xf5\xc4\xcfZ_\x00\x08\x00\x84rUr\xa4\xb5\x15\x00\ +\x80\x90\xf2\x04h/D\xa2>C@b\x0b0\x9c+\ +\x12}=$\x12\x0d\x1f\x06(M\xc0\xad8^J\xd2\ +\xc2\x11/\x82x\x00\xfc\xaf\xb5\xf8\xce#A!\x00\x02\ +$\x95\xce\x90dI\xb1e\xe4\xe4\x15\x94\x94U\xd54\ +4\xb5u8z\xa3\xf4\x0d\x8d\x8cMGs\xcd-,\ +\xc7X\xdb\xd8\xda\xd9\x8futrvqus\xf7\xf0\ +\xf4\x1a7\xde{\xc2\xc4I\x93\xa7\xf8\xf8\xfa\xfd\xe6?\ +5 p\xfa\x8c\xa0\xe0\x90\x99\xb3\xe6\xcc\x9d\x17\x1a\x16\ +\xce\x8b\x88\x8c\x8a\x8e\x89\x9d\x1f\x17\x9f X\x90\x94,\ +LY\x98\xba(m\xc9\xd2e\xcbW\xac\x5c\x95\x9e\xb1\ +&3k\xed\xba\xf5\x1b6fo\xca\xc9\xdd\xb2u\xdb\ +\xf6\x1d;w\xed\xde\x93\x97\xbfw\xff\x81\x83\x87\x0e\x1f\ +9Zp\xec\xf8\x89\x93\xa7N\x9f9{\xae\xb0\xa8\xe8\ +\xfc\x85\x8b\xc5\xbf_\xba|\xe5\x8f\xab\xd7\xae_\xbfq\ +\xf3V\xc9\xed;w\xef\x96\x96\xdd+\xbf_QQ\xf9\ +\xe7\x83\x87UU\x8f\x1eW\xd7\xd4\xd4\xd6\xd5\xd5?i\ +hx\xda\xd8\xf8\xac\xa9\xe9\xf9\x8b\x17\xcd/_\xbez\ +\xfd\xfaMKK\xeb\xdb\xb6\xb6\xf6w\xef\xfez\xff\xbe\ +\xe3CggWwwOo__\xff\xc0\xc0\xc7O\ +\x9f?\x7f\x19\x1c\xfc:44\xfc\xed\x9b\x08$\x95.\ +!\xc9\x94\x92\x96\x91\x95WPTVQS\xd7\xd4\xd2\ +\xe6\xe8\xea\xe9\x1b\x18\x1a\x9b\x98r\xcd\xcc-,\xad\xac\ +ml\xed\xc6:\xfc\x1b\xc0\xb4\x11\x80\xd9#\x00\xfc\xef\ +\x00\x89?\x00\x16\xff\x00X\xbd&3k\xed\xfa\x0d\x1b\ +\xb37m\xfeE \x7f\xef\xbe\x7f\x10\x18\x01\x10\x0b\x88\ +\x01\xee\xfc\x0d\xe0\xd1\xe3\xc7\xd55\xb5\xb5u\xf5\xff\x08\ +\xd0\xfa\x03\xa0C\x0c\xd0\xd3\xd3\xdb\xd7\xdf?\xf0\xf1\xe3\ +\xa7\xcf_\xbe\xfc\xbc?\x85FgH2Y\xd2l\x19\ +Yy\x05E%\x15U5u\x0dMm\x1d\x8e\xae\xde\ +(}\x03#c\x13\xd3\xd1\x5c3s\x0b\xcb1V\xd6\ +66\xb6v\xf6c\x1d\x1c\x9d\x9cG$~\xa5\x10\x0f\ +\xc3w\x8cY\xb3\xe7\xcc\x9d\x17\x1a\x1a\x16\xce\x8b\xf8\xe1\ +\x91\xf0\x0bH\xda\xdfE\xd6\xfdB\xf2}&\xbe\x93\xfc\ +\x93\x89\x98dd(J\xcb\xee\x95\x97\xdf\xff\x95\xa4\xae\ +\xfe\x89\xd8\xe3\xf9\x8b\xe6\x97\xaf^\xbfii}\xdb\xd6\ +\xfe\xee\xaf\xf7\x1d\x1f:\xbb\xba{z\xfb\xfa\x07>~\ +\xfe2\xf8uh\xf8\x9b\x08\x10\xff\xfb\x00@\xb7\x03\x0e\ +'\x003\x98@\xe0!`{1`\xe4\x04\xa8t\x01\ +\xfe\xd2@\xa0\x03\xc8dk\x90\x91\x91 U\x98\xa0\x10\ +\x00\x09\x80\x00\x05tHB\x06\xca\xd0\x81)\xec0\x0e\ +\x81\xe0#\x15\xeb\xb1\x0f\x17Q\x89\x16|#\xd4\x09{\ +b:\x91Ll%\x8a\x89\xa7\xc47\xd2\x80\xf4%\x17\ +\x92\xfb\xc9J\xf2\x0b\xc5\x84\x12B\xd9@\xb9I\xe9\xa7\ +r\xa9\x11\xd4\xbd\xd4\xa74UZ\x10m7\xad\x89\xae\ +G\x8f\xa6_\xa0\x8b$|$\xf6Ht0<\x18\xbb\ +\x18\xbd\x92~\x92g\x98l\xe6\x02f\x03\xcb\x8bU(\ +\xa5-\xb5I\x9a\x94N\x93\x1e`'\xb3\xfbdRe\ +\x86e3\xe5\xe4\xe4\x0e\xca\xdb\xc8W(\x84+|S\ +\xdc\xad\xa4\xaftJ\xd9J\xf9\x9a\xca\x04\x95\x1a\xd5p\ +\xd5~\xb5u\xeaZ\xea\x175|4Z5\x97i\xa9\ +h\x15k\xfbkw\xea\xe4pl8\x8d\xba\x19z\xa3\ +\xf5\xaaG-\xd5\xb7\xd0o2\xd8h\xe8b\xd8it\ +\xd08\xc8\x84mRj\x9a>\xdak\xf40\xf7\xba\xd9\ +\x0as\x0f\x0b\x9aE\xa5\xe5\xb61s\xac\x8c\xacz\xad\ +o\xda\xe4\xd8\x86\xdb\xd9\xda\xb3\xec_\x8f\xbd\xe2\xb0\xd9\ +\x91\xef\xe4\xe2\xac\xe5\xfc\xcd\xa5\xd9\xf5\x86\xdb\x01\xf7\x0c\ +\x8fH\xcf)^\xd6\xe38\xe3e\xc7\x0fywO\xa8\ +\x9fxo\xd2\xed\xc9%Sn\xfb\x94\xf9V\xfa=\xfa\ +\xad\xce\xbfi\xea\xbb\x80\xaf\x81r\xd3\x8df8\x07\x05\ +\x06\x0bB\xb2g\x9e\x99U3[4\xd7b\xde\xbc\xd0\ +\x9c\xb02\x1e\x19\xe1\xc6_\x12y5\x9a\x12\xe3\x1f\xbb\ +w~w\xfc\xe4\x84<\x01\x16\xf0\x92\xca\x84\x96)\xfb\ +S\xe5\x16\xadMc,Y\xbetp\xf9\xca\x95\xccU\ +[3tV_\xca\xf4\xc9j^\xb7d\x83\xd6\xc6\x92\ +M\xc1\x9bE\xb9\xa7\xb7\xce\xda.\xb1\xe3\xcc\xae]{\ +\x8a\xf2_\xef\x97=\xe8|Xp\xf4\xd8\xb1\xfa\x93\x92\ +\xa7'\x9d\xcd.,=/*\xf6\xba\x94~\xa5\xf2\x9a\ +\xec\x8d\xa0[Gn\xf7\x97z\xdc\xcb\xbd\xff\xf2O\x87\ +\x87\x1b\x1e\xbd\xa9\xb1\xad\xdb\xf2\xa4\xb71\xa0\xe9r\xb3\ +\xda\xab\xb47/\xde\xfa\xb7\x97\xbc\xb7\xfeP\xd0m\xd4\ +\x9b7\xa0\xf4i\xd7\xa0\xee\xd0S\x91\xe8G\xff\x99\x90\ +\x81\x0at\xc1\x85\x03&\x22\x04\xb1X\x8a\x1c\x14\xe0\x1a\ +\xea\xd0E0\x09c\xc2\x9b\x88 V\x13\x05D\x05\xd1\ +E*\x93\xaed4\xb9\x85\xbcAvP4)\xbe\x94\ +\x15\x94\x0b\x94v*\x87\x1aL\xddB}Hc\xd3\xfc\ +h\x9bi\xb5t\x0dz8\xfd4\xfd\xb3\x84\xb7\xc46\ +\x896\x863c\x1b\xa3Sr\x8a\xe4\x09&\x8b\x99\xc0\ +\xacgy\xb0\xceJiIeK\x13\xd2\x8b\xa5\xfb\xd9\ +\xc9\xec>\x99\x852C\xb2k\xe4\xe4\xe4\x0e\xfc\xcf\xee\ +\xfbj\xb4j.\xd7R\xd1*\xd6\x9e\xaa\xdd\xad\xb3\x85\ +c\xc7y\xae\x9b\xa9g\xa1\xf7dT\xba\xbe\x9d~\xab\ +\xc1\x0e\xc3\x89\x86_\x8d\xce\x19G\x9a\xe8\x984\x9a\xee\ +\x1e\x1d\xc2U\xe2>3;h\xce\xb7\xe0Z|\xb4\xbc\ +=&\xc7j\xae\xb5\x99\x0dl\x9e\xd8\x9e\xb4\xcb\xb4\x0f\ +\x1f\xeb\xea\xa0\xee\xf0\xd1\xb1\xd6\xe9w\xe7|\x97\x0c\xd7\ +X\xb7\x00w'\x0f#Oy/x\xf5\x8e\xeb\x19\xff\ +\xca\xbbi\xc2\x83\x89w'\x95L.\x99R\xe2s\xc7\ +\xb7\xdc\xaf\xf2\xb7*\xff\xda\xa9\xcd\x01\x9d\x81\xc4t\x85\ +\x19\x06A\xf6\xc1\xfe!\xd13\xd3g\x1d\x98]:\xa7\ +k\x9eF\xa8{Xt\xf8.^=\x9f\x15\xe9\x12\x95\ +\x16}=\x16\xf3\xc7\xc7\xe5\xc4\xbfH4\x17\xa4/h\ +H\xb6\x12\xe6\xa6\xf4\xa7\x86,\xba\x95f\xbad\xff2\ +\x85\xe5\xd9+\x99\xab\xb22(\xabWe\xb2\xb2\xf2\xd6\ +\x19\xaf\xbf\xbc\xd1/\xfb\xfd\xe6\x0d\xb9F[J\xb6\xf1\ +v(\xee|\xbe\xfbI>}\x9f\xcd\x01\xfe\xa1\xddG\ +\x1e\x1c\xa3\x9cp<\x15\x7f\xe6\xf4\xb9\xb6\xf3\xdc\x8b)\ +\xbf\x17_\xfer\xd5\xf9\xfa\xea\x9b\x8fnk\xdd\x0d+\ ++*\x1f\xaa\xf4{\x90_\xf5\xa1\xda\xb3vg\xfd\xdb\ +\xa7\xf6\xcfr\x9e\xb7\xbet{\xbd\xa3\xe5C\x9b\xef\xbb\ +\xfd\xef\xbft\xce\xe8\xbe\xde\xa77\xb0\xf6S\xd7\xe0\x9c\ +\xa1\xee\x91\xfe\x93`A\x16\xca\xe0\xc0\x1c.\xf0C8\ +R\xb1\x09\x05(\xc1\x0b\x0c\x13\xda\x84;\x11A\xac#\ +\x8a\x88&\x92A\xda\x91Q\xe4N\xb2\x92BR\x9c(\ +)\x94\x22J7\xd5\x8a*\xa4\xfeA\xa3\xd0\xfchy\ +\xb4\xf7tW\xfa6z\x87\xc4\x04\x89\xa3\x0c:#\x96\ +Q-\xe9*y\x86\xa9\xc3\xdc\xc1\x92eeKIK\ +m\x96V\x92>\xc4\xb6f\x97\xc9\xcc\x91\xf9,\xbb]\ +\xceN\xaeI>K\xc1N\xa1]1_\xc9K\xa9Y\ +y\xad\x8a\xb9J\x83\xea\x1a5;\xb5v\xf5|\x8di\ +\x9aL\xcd[Z\x8b\xb5m\xb4\xbbu\x0a9\xc9\xba\x8e\ +z\x14\xbd{\xa3r\xf5C\x0d\xcc\x0d\x86\x0d+\x8d\xf2\ +\x8c\x13L})\xe6\x8a\xe9\x1f\x8d\xd7\xf2n\x04\xddR,\xa9\ +\xbd\xb3\xbdt\xfa=\xa5\xf2\x9a\x8aM\x7fNy\xc8\xac\ +*{\xbc\xa8\xc6\xaa\xb6\xbd\xfe`Cp#\xfb\xd9\x8d\ +\xe7\xf3\x9b\xd5_V\xbc\x16\xb6\xa8\xb6\xdeh\x8b}\xc7\ +\xf8\xebP\x87\xf7\x87\x97]Kz\x94zO\xf4;\x0c\ +T|\x9a\xf5\xb9cp\xed\x90\xeap\xa3H\x04\x88\xdf\ +\x8b\x00\x00Z\x8co\x18\x0f\xff\xe7\x88\x8fK\xf9\xbe'\ +\x09@\x8a\x9f0}\x1a\x00\x06\x00c\x81\xd0?\xf0{\ +\x8e\x18\xf8\x22\x0c<\xf1;\x15\x00\xe8\xb2@\xbe\x11\x00\ +\x5c\xf6M\xfa\xaf}\x85\xfcEB\x00\xf0J\x14,N\ +\x8a\x89\x8a\x16r<\x04\x828>\xc7+1^\x90\x22\ +\xe4'q9\x93\x12x\xe6\x5c\x8e\x95\xa5\xa5-\x00\xfc\ +\x07\x8f\x08\x91L8\xcf\x9b\xb0\x00\x00 \x00IDA\ +Tx\x9c\xed}y\x9c\x5cU\x9d\xef\xf7\xdc\xa5\xf6\xad\ +\xbbz\xdf\x93\xce\xbe\x07\x0cc\x10\x95\x00\x03\x08\x88\xe8\ +\xa0\xbe,\x84\x04\xf8\xa08\xce<\x9e\xcb\x88\x06\x12\xc0\ +\x91y\xbc7\x8e\xa3\x83\xdbg\x06\x01\xc5\x04d\x10|\ +\x82Q\x90@p\x09\x88\x06!\xa1\x93\xd0\xdd\xe9\xee\xa4\ +\x93\xde\xbb\xab\xba\xba\xd6[u\xef\xfb\xe3\xdcs\xb7\xba\ +U]\xd5I $\xf9}>\xf7S\xd5\xb7\xef\xbd\xe7\ +\xdc\xf3\xfd\x9e\xdfv\x96\x22\x00\x88\xa2(\x0a\xce\xc9Y\ +)\x1c\x00\x10B\xc8\xbb]\x91s\xf2\xee\x08Q\x0fM\ +\xcei\x83\xb3K8\xeb\x89s\xda\xe0\xec\x92<\x02\x00\ +\xe7Hp6\x89-\x01\x80s$8[\x84+f\xf2\ +\x09!\xe4\x89'\x9e\xe0\xdf\xc1\xfa\x9c\x93wX\x88\xa2\ +(\x04\x00\xac\x1d~\xdb\xb6md\xf1\xe2+\x9c\x92+\ +\xed\x05\x17\xcf\xad\xbb\xfa\xea\x89w\xa5\x86\xe7\xe4\x94\x8a\ +F\x00@'\xc1\xb6m\xdb\xc8G?\xfaQ\x17\x17\x08\ +xG\x06\xc6}S\x93R \x97\xcb\xa4>\xf9\xb1K\ +\x0e\xbdk5='\xa7DL\x04\x00\x80'\x9ex\x82\ +[\xb4\xe8\xc3n\xb7[\xf1&ri\x1f\x0790>\ +6\x15\x1c\x1d\x9f\x08)\x8a\xa2\x1c\xed\x8e\xff\xfa\x1f\xff\ +\xf1#\xe9w\xab\xc2\xe7\xe4\xe4\x0a\x01%\x01\xfb\x9b\x03\ +\xe0\x89\xc7\xe3\xde\xc1\x89\x84\x1fr6\x90M\xe6\x82\x92\ +\x92\xabH'S\x15\xc7\x87F+r9\x85\x83$o\ +\xbf\xee\xba\x0f\x1d=\xa9\x159A\xa7\xf3\x5c\xfebf\ +\xa2%\x82^|Q\xe1/\xbe\x18^\x00^\x00~\x00\ +\x81\xe3\xc7\xc7BYE\x0e%\xe2\xe9\x0aE\xc9V\xa6\ +R\xd9\xca\xc1\xe1\xb1j)+\xb9\xb9\x1c~p\xcd5\ +\x17\xbd4\xa3B\x8b\x83=\x13\x22\xd8\x82\x7f\x8e\x14\xd3\ +\x0b\x01@\xf6\xef\xdf/z\xbd^OMM\x8d\xd7\xe3\ +\xf1\x04\x00\x04\x00\x84\x00\x84\x86F\xa3\x15R&S\x99\ +\x88\xa7\xc3\x92\x9c\xab\xcaf\xe5\xea\xa1\xa1\xd1\xea\x8c$\ +\xd5\xc8P\xfe\xf5\xda+>\xf0\x1f%\x17f\x06\xde\x0a\ +4\xb19_\x88\x0cV`\x95\x02\x9f\xf4\x8fsD(\ +(\xe4\xa1\x87^t-ZT\xeb\xf5z\x9d^\xbf\xdf\ +\xe3\x0f\x85\x82\x81@\xc0\x1d\x02%@%\x80\xca\xf1\xf1\ +X8\x99\x96\xaa\x92\xc9du:\x9d\xa9V@jF\ +\xc7\x22\xd5\x89D\xca!+\xca\xc3\xd7\x5c\xb1zs\xc1\ +\x02\xf2{\xbb\x11hb\xf3\xb7\xf1\x9a\xe9\xc4\x08\xacl\ +9g\xfd\x9b\xfeq\x8e\x0c&\x11\x1c\x8e\x98/!\x87\ +|.\xde\xe9Oe3\xa1\xc9\xc9\xa9@\x0e\xb9\x8a\x8a\ +\x80\xaf\x02@\x18@\xb8\xb2\xd2_\x15\x9dLTs<\ +\xaay\x9e\xab\x89\xc7S\xe1p8$\x8aB\x0c\xd1X\ +|\xd3\xb3\xcf\xedi\x93\x12\xe9\x8f_w\xdd\xc5\x11\xa0\ + \xe8V\x809\x9b\xff\x99\xce\xbf\xf5V\xd7EZE\ +\x85\xfc\xca?\xf5\xd4\xb3o\xdeq\xc7\xff\x8c\x80\x82\xac\ +\x80\x82\xce\x00fe\xb1\xf3\x00\xa0\xb0\xba\x9d#\x02\x15\ +\xf2\xe0\xcf~U\xed\x17\xf9\xc6\xc6\x86\xba@(\xe8\xaf\ +p8\x5cA\x97\xd3Q\xe9p\x88\x955U\x810\x80\ +jv$\xd3\xd9\x9a\xc9\xc9\xa9\xcatF\xe2c\xb1\x04\ +dYF<\x91D$:\x05YV\xfe\xaa(\xd9\xcd\ +\xd7\x5cq\xd1\x1b\xc6\xe7\xc3\x0c4g\xf7\xf9\xd4SO\ +\xb5\xae\x5c\xb9\xeaC\x1e\x8fw\x89\xd3\xe9Z\xeat:\ +\x96p\x1c\x17,Zq\x03\xc5dY\x8ef\xb3\xd9}\ +\xe9t\xea\xf7\xd1h\xf4\xcdg\x9eyn\xf7?\xfc\xc3\ +-\x11P\xe0\x19)\xac\xc79\x12@\xedu?yr\ +g\x9d\x87w\xbf?\x14\xf6W\xd4VUV\xb8\x9cb\ +\xa5\xdb\xe9\x0a;\x5cbUUe\xa0\x1a@\x8dz\x84\ +\xa4\xac\xc2E\xa31HR\x0e\xe3\x13Q\xe4d\x05\x19\ +I\xc2\xe8X\x14\x8a,G2r\xf6\x13\xd7]y\xd1\ +n\x14\x00\x1b\x00\xb7z\xf5U\x95\xb7\xdf\xfe\xf9\x0f\xae\ +Zu\xde\xd5UU\xa1%N\xa7s\x89\xa9R'\x98\ +\x84&\x04\x90$i_,\x96\xf8\xe9\xbe}\x7f\xfe\xe5\ +e\x97]\xd6\x033\x194Mq\xb6\x93@S\xcb;\ +~\xfe\xfc\x5c\x87\xc3yeE\xc0__\x13\x0eU\x89\ +\xa2P\xe5\x0b\xb8k\x04\xc2WWV\x85j\x04\x0e\x01\ +vm.\x07\xc4\xa6\x12\x90\xb2Y\x8c\x8cE \xa5%\ +\xc8\x8aB\x09\x91\x95\x91\xc9H7\x7f\xf4\xaa\x0f<\x0a\ +\x0a:\x07\x80\x07\xc0m\xdd\xfa\x1f\x1b\xd6\xac\xb9\xf0\xea\ +\x05\x0b\xe6|$\x14\x0ah\x95\xe0\x0a\x8eH\xd8Tx\ +\x06\xe4\x90$i\xdf\xd8\xd8\xd8}--\xf5O#\x9f\ +\x08\x00\xce^\x22\x98\xe6\x03\xfc\xecg\xbfmp\xfa\x5c\ +_u:\xc5\x96\xc6\xba\xeaj\xd1!\xd6\xf8\xbc\x9e\x1a\ +\x87C\xf0\x05\xfd\x1e8\x1c\xba!V\x14`2\x96\x80\ +$e119\x85\xf8T\x029Y\xc1\xd4T\x02\xe9\ +T\x06\x99l\xfa\xd1\x8f^\xf9\xc1\xcf\xad^}U\xe5\ +'?\xf9?\xfe\xfe\xa2\x8b.\xb8u\xee\xdc\xd6\xa0\xd3\ +\xe9\xccK;\x17\x93\x93I\x8e\xe1\xe1\xa1\xdb\x9a\x9a\xea\ +~\x0c \x87|\xf3pV\x92 oB\xc8\x8e\x9f\xbf\ +0\xdb\xe7r\xdd\xebp\x88\x1f\xa8\xae\x0e\xd5\xb8\x5cN\ +w0\xe0\x87(\xf2\xb0#\xc1T2\x83lF\xc2x\ +d\x12\x93\x93q@Q0\x95L!\x95L\xa3\xaf\xbb\ +\x7f\xff\x82\x05s\x9a\xcf?\x7fqQ{n\xaa\xd0)\ +&\xc7\xc0\xc0\xc0\xe7Z[\x1b\x1e\xc19\x12\x00(0\ +#\xe8\xd1\x9d;\x03A\x12|^\x10\x84\x0b\xeak*\ +\xe1p\x88\xf0\xfb=p\xbb\x9cp\xba\x5c\xf0{\x1dT\ +\x7f\xaaM\x95IKH\xa7%\xc4\xe2\x09\x0c\x8fL \ +\x16\x9dB,\x9a\xc0E\x17\x9d\x07\xa7\xd3axz>\ +b\xe5\xa8\xf4\x93E\x8e\xd1\xd1\xe1\xaf56\xd6~\x07\ +\x94\x049\x18\xfc\x82s\x0404\xc03\xbf\xd9\xf3\x90\ +\xc0\xf3\x9bB!?\xbc\x1e7B!\x1f\x0b@\xc2YB\x82\x92\x08\xa0\x0e\xa0\x10\xd0\x8c\x1e\ +\xff\x99\xcf\xfc\xaf\xf0e\x97_\xb3\xb3\xa6\xaaj\xe9\xb2\ +e\x0bm\xae/\xa3\x02'\x91\x1c\x83\x83\x14\xf8T*\ +\x0dB\x088\x8e\xfes\xfe\xfcE\xa8\xad\xad-Is\ +$\x12\x89\xed55\x01[\x9f\x008\xf3\xf2\x04\xd36\ +\x89\x01|-\xad\xdb\xdb{XLL%C\x0b\x16\xb4\ +\x83\xb6\x87\xf9P\x14\x05\x8a\x02\xdb\xc3*\xf6\xd7)\xb6\ +\xcf\xb5\x9b\xf7\xa1(\xc0\xc4\xc4\x04\xf6\xee\xdd\x8b\x8e\x8e\ +\x8e<\xf0C\xa1\x0a\xd51U \xcb\x0ad\x19\xb6\x07\ +\x13\x8f\xc7\xb3nxx\xf2\x87\xdf\xfc\xe67\xc3\xa0\x84\ +7\x8ec\x9cq\xd3\xe5m\x06Y\xa9\x18^\x945\x00\ +\xaf^/\x5cy\xe5'\xbe\xbat\xe9\x82fQ\x14\x01\ +\xd8\x03\xcb\xc0\xb26\x17\xbd\xd6\xbe\x0d\xed\xaf-\xfc\xdc\ +\x89\x89\x09\xf4\xf6\x1eF$\x12\x01!\x00!\x9c\x06\xbe\ +\xcb\xe5F{{;*+\xab,\xcf\xb2\xaf\x17%\x01\ +=\xe9ry\xd6m\xde\xfc\xb9\xa5\x92$]u\xc7\x1d\ +w\x8c\x81j\x035\xebA\x87\x94\xcf\x14M`K\x80\ +\x02\xe0\xf3\x00\x84M\x9bno\xaf\xad\xad\xbf\xb5\xa5\xa5\ +\x11\xb2\xb1\xeb\xa8\xc2Y\xf4\xec\xa9 G2\x99Do\ +o\x0f\x06\x07\x8f\xab1>\xc7\xea\x0dQ\x14\xd1\xde\xde\ +\x8e\xda\xda:SY\xec\xb9\x91\xc8\x04B\xa1\x8ai\xeb\ +%\x08\xc2\xd2[o\xfd\xc7_\x01`$\xc8\xa9\x17\x9d\ +Q$(\xa8\x01\x90?IC\x00 \xaeZ\xf57_\ +\x993\xa7Uk\xc0\xfc\x9e\x94O\x0a&'J\x8ed\ +2\x85\xde\xde\xc3\x18\x1c\x1c\x00!\x04\x84\xf0\xea\xb5\x14\ +\xf8\xc6\xc6F466A\x10\x84\xbcgG\x22\xe3\x9a\ +\xb6\xa8\xafo\xc0\x82\x05F\xdf\xc5\x5c\x18\xbb\x97\xe7\xc5\ +\xa5\xb7\xdc\xa2\x91`\xd4\xf8\x9a8CH\x90G\x00\x83\ +\xcd\xcf\xeb\xfd\x1b7~f\xb6\xcf\x17\xf8Tmm\x8d\ +v}\xb1\xd7?Y\xe4\xc8f\xb38r\xa4\x0f\xc7\x8e\ +\xf5#\x97\xcb\xaa\xea^\xab/\xea\xeaj\xd1\xd2\xd2\x06\ +\x97\xcb\x9dwo$\x92o&\x86\x86\x86\x90H\xc4\xb1\ +t\xe9\x0a\x08\x82\x00@)\xe8\xb8\x8a\xe2\x99M\x82\xe9\ +4\x80\xd1\xf6\x8b\xef\x7f\xff\x9a/\x07\x83>\xb8\xddN\ +\xd8\xbd\xb3\xd5?:\x19\xe4\xe8\xed\xedA\x7f\xffQd\ +\xb3Yp\x1cQ{>%K(T\x81y\xf3\xe6\xc3\ +\xe5r\xa9\xe5\xe9@\xeafb\xc0t\x0f@\xe0r\xb9\ +\xd0\xd0\xd0\xa4\x82?]]\x15\x88\xa2\xb0\xf4\xe6\x9b\xff\ +\x81\x91`\x1c\xd4'\x00\xce\x00\x12\x98\x08`\xb1\xfdF\ +\x02\x88\x1f\xf8\xc0\x9a\xaa`0x}\xb1\x98\x7f\x9au\ +\x86\x96k\x0bW\x8a\x10`pp\x00\xbd\xbd\x87\x91J\ +\xa5\x00\x10\x0d|\x00\x08\x06ChmmC \x10\xc8\ +\xd3\x1c\x89\x04\x05~hh@+\x97i\x0cA\x10\xd1\ +\xd8\xd8\x84\xd6\xd6VC}\xa7\xf79\x14\x85j\x02\x03\ +\x09\xc6\x0c\x97\xbe\xa7I`\xa7\x01\xac\xe0\x0b\x00\xc4\x8f\ +~\xf4\xfa\xab9\x8e\x83\xdf\xef\xcb\x03\xba\x94\xc8\xa8T\ +r\x8c\x8c\x8c\xa0\xab\xebm\xa4\xd3\x14xB85~\ +'p:\xddhmmCmm\xadv=\xd3\x1c\xb9\ +\x5c\x0eG\x8f\x1e)\xa0-\x08Z[\xdb\xd0\xd0\xd0h\ +\xe3\x1f(\xc8f\xb3\x98\x9a\x9aDEE\xa5\xa1\xbe\xac\ +)t\x11\x04q\xe9\xe6\xcd\x9f\xdf\x09\xe0#g\x0a\x09\ +\x8a\x11@\xb3\xfd\x00\xc4\xea\xea\xba\xcb9\x8e\xd3\xd4\xad\ +Q\xca\xe9\xf9v\xa2(\x0a\x22\x91\x09\xf4\xf4\xf4 \x1a\ +\x1d\xd7@c!\x1d\xcfS\x07\xaf\xb5\xb5M\xbd\xde|\ +?3\x13\xb9\x5c\x16FmA\x08\x87\x9a\x9aZ\xb4\xb6\ +\xb6\xc1\xe9t\x02\xd0\x09\xc3q\x1c$I\xc2\xb1cG\ +p\xf4h?d9\x8b\xf9\xf3\x17\xa1\xae\xae\xdeX3\ +\xf5\x1d\xf43\x0e\x87\xb8d\xf3\xe6\xcf\xed\xbc\xe0\x82\x0f\ +}\xf6\x92K.\xdc\x0b\x9d%\xefI\x12h\x99@\x83\ +\xfa7\x02\xef\x04\xe0\x02\xe0y\xfc\xf1\xe7\xf7r\x1c\xf1\ +_t\xd1\xea\xa2\x0f,o\x10\x87`j*\x86\xce\xce\ +C\x88F#\x008\x8d0\x0c\xfc\x96\x96\xd6<{\xcd\ +dpp\x10\xbd\xbd\x87\x91N\xa7A\x08\xd4\xe4\x0f\x05\ +>\x18\x0c\xa1\xa5\xa5\x05\xc1`H}\x9e\xf9\xde\xfe\xfe\ +\xa3\xe8\xed\xed\xc9\xd3\x16\x8d\x8dMho\x9f3m\xdd\ +eY\x8e\xbe\xf9\xe6\xebW_r\xc9\x85\xaf\xc3<~\ +\xf0\x9e\xca\x18Z[\xd5\x1a\xffk\xe1\x9f(\x0a~Y\ +V\xa6U\xffE\x1c}\x139\x98\x9364t\x1c\x0c\ +4\xb3g_\x8f\x96\x96V[\x8d\xa3\x9b\x894\xacn\ +\x8b\xcb\xe5\xc6\xdc\xb9\xf3\x11\x0a\x85L\xf7\xb0j\x0f\x0c\ +P\xdf\x22\x93I\x83j\x0bN\x8b\x0ejj\xea\xd0\xd0\ +`\x9f\xdf\xd0\xdf\x81c\x9f\xc1e\xcbV>\xbbk\xd7\ +\x1f\xafV5\x81\xd6\x04x\x0fi\x02;\x02\xe4\x85\x7f\ +\xcb\x97\x9f_I\x08\x01\xcf\x03\xb1X\x14\x81@H#\ +B9\xea_\x96\x81\x5c.\x8b\xce\xceC\x18\x1c\x1c\x00\ +\x05\x80W\x01\xd0S\xb7\xed\xed\xed\xf0z}y\xcf\x8f\ +D\x22\xe8\xed\xed6i\x0b\xaa)\xa0\xf9\x0755\xb5\ +\xb6\xf5\x8aD&p\xf0\xe0\x01\xa4\xd3)\xb0H\x97\xf6\ +|\x0e\xa1P\x08\xcd\xcdm\x08\x06\x03\xea\xbd\xc6w0\ +\xbf\x93\x85\x1c\xc1%K\x96\x1bI\xa0\xc0\x901,\xd8\ +0\xa7\x91\x08@^~\xdb\x98\x07\xe0\x01\x08\x17_|\ +\xf9\x22\x8e\xe3\xa0(\x0a:::\xb1h\xd1\x5c\x84B\ +!d\xb3Vm`~\xb8\x11\x84l6\x8b\xfe\xfe#\ +\x16[\xcdi\xe0;\x9dn\xcc\x9f?\x1f\x81\x00\xed\xb9\ +\xc6v\x8e\xc7\xa7\xd0\xd9y\x08\x93\x93\x11\xb5\x0c\x06>\ + \x08\x02\x1a\x1b\x9b\xd0\xd0\xd0\x08\x96\x9a6\x0a\xcd\x03\ +\xf4\xa8y\x00=\x1cd\xe9\xe2Y\xb3f#\x1cf\xe9\ +b\xa5\xech\x85\xe3\xb8\xe0\x92%\xcb\x9f\xdd\xbd\xfbO\ +W}\xf8\xc3\x17\xec\x05\xcd\x18\xb2q\x83\xd3\xde\x14\x14\ +\xd2\x00&- I\xb2\xc0\xf3\x1cdY\x86\xa2\x10\x1c\ +8\xd0\x85\xc5\x8b\xe7\x22\x10\x08\x22\x9b\xcdi7\xd3W\ +\xb5w\x02h\xde\xbe\xc7`\xab)\xf8N\xa7K\xed\xb9\ +u\xea3t\x10R)=\x96\xa7\x9aWO\xf9\x02\x04\ +55uhoo\xd7\xfc\x03c[\xa7RI\x1c<\ +\xd8\x91\xa7-\x00\xa8\xe9\xe29\x9a\xb60\xcaLBY\ +B\xb8\xe0\x82\x05\x8b\x7fe \x01\xa0\xae98\xddI\ +`$\x805\x07\xa0\x91\x80\x90\x1cGU-\x05@\x96\ +ettP\x12x\xbd\x01\xe4r9\xc3ch\xd7\xb5\ +j\x83\xaa\xaa0\xce?\x7f\x15::\xdeB&\x93\x86\ +(\x8a\xa8\xafg=\xd7\xccCI\x92\xd0\xd5\xf5\xb6\x9a\ +\xc41\x12\x86\xf6\xfap\xb8\x1a\xb3g\xcf1x\xf6\xfa\ +\xbd\xe9\xb4\x9e\x07P\xa70h\xe0\x1b\xb5\x05\x0d\x075\ +\x07\xb8\xa4\xc6*\x86#\xc7q\xc1\xb6\xb69\x7f\x0f\xe0\ +3\xd6\xc68\x9dIP(\x13h\x1c\x02%\x8aB\xd7\ +T\x12BY\xcf\x88\xc0\xccA0\x18B:-\x99\x1e\ +`\xf7\xba^\xaf\x0f+W\xbe\x0f\xc3\xc3\x83\xa8\xad\xad\ +\x83 \xf0\xea\xb52\x00\x0e\xd9\xac\xa4\x9a\x09\x96\xf2e\ +\xc0P\x10\xa9\xadn\xd5<{\xab\x899v\xec\x08z\ +{{4\xdbN\x9dK\xfa:55\xf5\x98={6\ +x^\xc8\x8bTN4\x8c\x05\x80\xa1\xa1\x11\xfc\xe0\x07\ +\x8f\xb7=\xfd\xf4o\xce\xbb\xee\xba+\xacN\xe1iK\ +\x82bQ\x801\x12\xe0x\x9eh=\xcdH\x84\x83\x07\ +\xbb\xb1b\xc5b8\x1cN\xa4R\x92\xe1\x11\xba\x18\x1b\ +\x5c\x10x444\x020\x93\xa4\xb7\xb7\x1b\xc7\x8e\xd1\ +$\x0e#\x1bS\xfb.\x97\x0b\xb3f\xcd1\xd8j\xbd\ +\x1e\xcc\xb7`\xf72m\xc1\xfe\x1f\x0c\x860w\xee|\ +m\x9c\x00(=R\xa1e\x15'G6\x9b\xc5\x13O\ +\xfc\x1a\xcf>\xbb\x1b\xb7\xdd\xb6\xee\xc2U\xab\x96\xef\xee\ +\xee\x1e\xd8\xde\xde^\x7f\xab\xf11\x00\xe4\xd3\x91\x04\xc5\ +\x12A\xdaA\x88B\x08\xe1\xc1\xf3\x0a\x14E\xce#\xc2\ +\x9bo\x1e\xc0\x8a\x15\x8b\xe1r\x89H&\xa5\xa2c\xed\ +V\x19\x1a\x1a0\xc4\xf2\xc4`\xab9\xf0<\x8f\x96\x96\ +6\x8d0\x86\xa5|\x00h\x1e\xa0\xab\xab\x13\xd9,u\ +*\xd9}\x84\x105\x0f\xd0\x86`\x90.J*\xd4\xee\ +3\x0dc9\x8e\xc3\xab\xaf\xbe\x8e\xef\x7f\xffq\xac^\ +\xbd\x02\xdf\xfd\xee6x<\x1e\x002\x9cN\xef\xba\xee\ +\xee\xa1\xe0\x8e\x1d\x8f~\xe6\xce;\xbf\xc8\x86\x929\x9c\ +\x86$\x98n0H\xfdT\x08\xc7\x11\xb5\xe7\xe5\x13\x01\ +P\xf0\xc6\x1b\x1dX\xbe|\x11\x02\x017&'\x936\ +\x8f\xcb\xcf\xaa\xa5\xd3)\xf4\xf7\x1f1\x80O\x8b\x13\x04\ +\x11\x0d\x0d\xcdhll\xd4\xcc\x04\xa0\xf7|6N`\ +$\x0d@Aq\xb9\x5chiiU\x1d<\xce\xd6\x14\ +\x99\xf3\xfc\xe5\x85\xb1\x1cG066\x8e\x1f\xfe\xf0q\ +\x0c\x0e\x8ea\xcb\x96\xcf\xa1\xad-_\xa3\x89\xa2\xfb\xea\ +\xb5ko\xdc\x09\xe0#\xa73\x09\x0ai\x00\xcbw\x1e\ +G9\xe4p8\x04\ +D\x22\x11|\xfb\xdb\xff\x8d\x8e\x8e\xc3\xb8\xfd\xf6\x1b\xb1\ +x\xf1<\xf5\xbe\xe9\xc1gu\x22\x84\x0b\xce\x9b\xb7\xf0\ +W\xbf\xf8\xc5\xcbW\x7f\xecc\x1f2\x8e\x1d\x10\xbc\xcb\ +i\xe3\x92\x86n8\x8e\xd3\x06L\xe8w\x1el\x02&\ +\xcf\xd3C\x1fP\xe1\x01(\xd8\xbf\xff\x10b\xb18\xc2\ +a/\x00R\xd6\xcc`\x9a\xc4y\x0b{\xf6\xfcA\x05\ +\x9f^\xc7\xc0\x0f\x06CX\xb1\xe2|\xcc\x9d;\x0f\x0e\ +\x87\xb3\xac\x99\xc5\xa5\xcc\x0c\xe6y\x1eN'\x8f\x9d;\ +_\xc2M7\xdd\x89\x86\x86:<\xf8\xe07\xb0ti\ +\xf9\xe0\x1b\x93EK\x96,y\xf6\x0f\x7f\xe8\xf8\x18h\ +\xc7c\x11\x96\xeah\x97\x18o\x9ed)C\x03\xe8y\ +\x00Yfqma\x8d\xa0(\xc0[o\xbd\x8d\xc5\x8b\ +\xe7\xa1\xaa\xca\x8bH$\x0eI\xa2\xadl7\xd6\xce\x84\ +\x10@\x92r\x18\x1d\x1d\xd5F\x04\xe9y\x02\xaf\xd7\x8f\ +Y\xb3\xda\x11\x0c\x06U\xd5m\xd7iJI\xe5\xda\x9b\ +%B\x08\xdcn'\xba\xbb\xfbp\xff\xfd\xff\x85P(\ +\x80\x1f\xfc\xe0nTW\x87\x01\xd8E\x08\xa5\x81O?\ +\x15\x10B\x82\xf5\xf5\xf5\xdb\xf7\xec9\xf8\xb9\xd5\xab\x17\ +<\x02=m\xfc\xae\xe5\x0a\x8c\x04\xb0+X\x01\xa0\xf0\ +<\xaf0\x1f\x80\xcd\xae)\x8d\x08\x8aJ\x82\xf9\x08\x87\ +\x03\x18\x19\x89\x19R\xc7\xf6 (\x0aM\x18\x9dw\xde\ +*\x1c8\xf0\x16\x12\x898\x5c.\xb7\xc1\xb3\xd7\xaf\xb3\ +\x97\xc2\xf3\xfb\x0a\x91\x83\x02/\x22\x99L\xe2\xdb\xdf~\ +\x0c/\xbf\xfc\x17\xdc~\xfb\x8dX\xbdz\x85\xd6\xdb\x19\ +\xf8\xe6\xdeo.\xb7\x18\xf8:Q\x14TW\xd7|o\ +\xcf\x9e\x83PI\xa07\x06\xdey\x12\x105\xf7n\x1a\ +\xfc\x81>\x0f@\xdb5\xf4\xd5W\xdf\xdaMU(\xcb\ +\xdc15K_J\xff[1\xfd\x9f\x85N\x0b\x17\xce\ +C(\xe4\xc7\xc8\xc8$\xb2\xd9\x22\xc1\xb6\xb1r\x04\x18\ +\x1e\x1eDee\x95a>@>\xba\xe5(O\xeb\xb5\ +.\x97\x08\x87\x83\xc3s\xcf\xed\xc1\x0f\x7f\xf8\x04.\xbd\ +\xf4o\xb0n\xdd5&'\xcf\x1e\xfc\xc2\xbd\xdf|\x9d\ +\x19|\xfd<\x90H$~\xba|y\x93u=\xa2B\ +\x1f\xf1\xce\x90\xc0J\x00\x0e\x80\x08\xc0\x01\x0b\x01^x\ +\xe1\x95\x87\xfd\xfe\xc0lfW\xcb%\x02@\xb0x\xf1\ +<\x04\x02~D\x22\x09\xc4\xe3\xf9\xfbM3u_R\ +\xc5\x0bD\x15\xa5]G\x1d<\x9f\xcf\x85\xae\xae^|\ +\xf3\x9b\x0fC\x96e\xdc~\xfb&\xcc\x9a\xd5d\xa8s\ +\xf9\xe0[{\xbf\xfe\x1c3\xf8\xacm\x12\x89\xe4\xf6\x15\ ++\x9ao\xc5\xbbD\x02;'\xd0\xe85i\x0b${\ +{\x0f\xbf\xc2ql\x08\x97S\xa7jq0\xae\xc61\ +:\x83Vg\x91\x10\xa0\xa3\xa3\x0b\x93\x931\x84\xc3\x1e\ +x\xbd\xce\xbc\x82\xa9\x83f\x7f\xe4U\xb2\x80\xe3gu\ +\xfat2B\x0d\xcb8\x84B\x1e\x88\x22\xc1\xb7\xbe\xf5\ +0\xbe\xf6\xb5\x7f\xc7\x9a5\xef\xc7w\xbes\x97\x06\xbe\ +^\x1fV\xd6\xcc\xc0\xb7ZU+\xf8\x8a\x02\xb8\xdd\xae\ +uo\xbc\xd1\xff\xf8\xb6m\xf7\x87aH\xbd\xe3\x1dr\ +\x0c\x8d\x04P\x0c\x9fF\xf0s\x00r\xdb\xb7\xff\xe47\ +\xb9\x5c.\xce\xf3\x14\xfc\x99\x10\x01\x90q\xe0@7&\ +'S\x08\x87=\xf0x\x0ay\xf0\xf9\x15-\x95\x1c\x85\ +\x9eG\xc7\x05\xdc\xf0\xfb]x\xf9\xe5\xd7\xb0v\xed\x97\ +0>\x1e\xc5\x0f~p/>\xf6\xb1Ka\xeclv\ +\x1d\xafT\xf0\xd3\xe9$\x0e\x1d:\x80\x97_~\x11\x83\ +\x83\x83Z\xdd\xed\x9fG\xcf;\x1c\xce\xab\xaf\xbf\xfe\x86\ +_\xab$`\xeb\x11\xd9\x9c\x82SJ\x04\xa3\x09\x00\xf4\ +Y@\x22\xa8\x1f\xe0\x86n\x06\x82\xff\xf2/\xffv\xdd\ +\x95W^\xf3y]\xad\xc9y!W)\xa6A\x10\x04\ +,X0\x07\x81\x80\x1bSS\x19\x8c\x8e\xc6\xa0\xcf\xdb\ +/\xa1\xd2e4\x07\xcf\x13x\xbdNx\xbd\x0etv\ +\x1e\xc1\x03\x0fl\xc7\xd0\xd0\x18\xbe\xf0\x85MX\xb2\xc4\ +\x1c\xd6\x19\xbf\x17\xeb\xfdv\xe0KR\x16G\x8e\xf4\xa0\ +\xbf\xbf\x9f\xd5\x12\x1c\x07\xb4\xb5\xcdF]]\x93m\xef\ +g\x04`\x0es6+\xed{\xf2\xc9G\xaf\xbc\xe7\x9e\ +\xaf\x8cC\xdf\xc0J\xad\x86rJ\xf2\x05V\x02\x18\xa7\ +\x82;@\x09\xe0\x01%\x80\x1f@\xf0\xde{\xef\xbf\xe6\ +\xdak?\xfe\x19\xb3}+\x9f\x08\x0e\x87\x03\x8b\x17\xcf\ +\x85\xcb%j$(X\xc9\x19\x92\xc3\xe3q \x10p\ +!\x93\xc9\xe0G?\xfa9~\xf1\x8b\x97p\xfd\xf5W\ +`\xfd\xfak\xf2\x1c6\xe3\xf7rT\x7f.'\xe1\xe8\ +\xd1~\x1c;vDsn\xd94v\x00\xa8\xabkD\ +k\xebl\xf59\xf6\xe0\x1b\xcb\xca\xe5r\xd1\x9e\x9eC\ +\x1f\xb9\xf6\xda\x8bY\xd6\x90icE\xbd\xee\xe4\x13\x00\ +\x80]$ \x82:\x82n\x00>\xe8$\x08l\xdbv\ +\xdfG>\xfe\xf1O\xde\xcc\x1aa\xa6D\x10E\x07\x16\ +/\x9e\xa3\x91`l,\x0eY\x96\xcb\xf4\xea\xf3\xc9\xe1\ +t\x0a\x08\x85\xdc\xe08\xe0\xe5\x97\xff\x8c\xef\x7f\xffq\ +\xd4\xd6V\xe3\x0b_\xd8\x84\x9a\x9aJ\xb5.'\x0e\xfe\ +\xd0\xd0 \xba\xba\x0e!\x9b\xcd\x19\x1cX\xfaYYY\ +\x85\xd6\xd6Yp8\xd8\xaa\xa5\xe9\xc1g\xff\xcb\xe5\xe4\ +\xe8\xa1C\x1dW}\xf2\x93\x97\xee\x85\xc1\x0f\xc3) \ +\x81\x1d\x01\xd8L`\x16\x0e\xbaa&A\x00\x80\x7f\xeb\ +\xd6\xaf_\xfew\x7f\xb7v\x13\x03z\xa6Dp:\x1d\ +X\xb8p\x0e\xdcn\x11\xe9t\x0e\x03\x03\x11\x95 \x85\ +\x13E\x85D\x10xTVz\xe1t\x8a\xe8\xef\x1f\xc0\ +\x03\x0fl\xc7\x9bov\xe2\x8b_\xbc\x09\x17^\xb8B\ +\x9b\xd0\x99\x1f\xae\x95\x07\xfe\xe0\xe0 \xfa\xfa\x0ek\x8b\ +WX]\x09\x01\xfc\xfe\x10\x9a\x9b[\xe0\xf7\x07\xa7U\ +\xfb\xf9e\xe9f%\x9b\x95\xa3\xc3\xc3\x03\xb7]~\xf9\ +yO\xc1\xac\x09\xd4\xdbN\x0e\x09\xec\xd6\x05X\xcd\x80\ +\xd1\x17`\xfe\x80\x1f\x80o\xcb\x96\xaf\xff\xed\xa7?\xbd\ +v\xa3\xd1\x03\x9f\x09\x11\x1c\x0e\x11\x8b\x16\xcd\x85\xd3)\ + \x93\xc9\xe1\xf8\xf1\x88\xad\xe3d\xa8\xb6\xe9/\x8e\xe3\ +\x10\x0a\xb9\x10\x08\xb8\x91Lf\xf0\xf0\xc3?\xc7SO\ +\xbd\x80+\xaf\xfc \xd6\xaf\xbf\x16>\x9f\xa7 \xf8\xc6\ +\xef\xcc\x16\xeb\xd7\x99\xc1g\x13L\xe9\xa0\x14X\xbb\x01\ + p:]hnnEuu\x8dm\xc8788\ +\x88#Gz\x11\x0a\x85\xd0\xde>\xdfT\xae\x15|Z\ +UZ\xf6\xf8\xf8\xc8mk\xd6,{\x18\xa7H\x13\x98\ +\xb6\x88\xb1\xd1\x02,'\xc0H\xe0\x03%\x01\xd3\x06\xbe\ +\xbb\xee\xba\xf7\xd2O\x7fz\xc3\x0dF\xb0gB\x04Q\ +t`\xd1\xa29\x1a\x09\x86\x86bH\xa7\xe9\x1a\xccb\ +\x8bMB!\x0f\xfc~7\x14E\xc6_\xfe\xf2\x16\xbe\ +\xf9\xcdG\xe0\xf1\xb8\xf1\xc5/n\xc6\xec\xd9\xcdZ\xf9\ +\xb4\x1ch\xe51)\xd6\xfbY\xfdb\xb1)tw\xbf\ +\x8dH\x84\x8dF2\x0dE\xe7\x19\xd6\xd77\xa2\xa9\xa9\ +E}\x8e\x19\xfcHd\x1c}}\xbd\x88F#\xda\x0c\ +\xa7`0\x84y\xf3\x16\x80\xe3\x84\xa2\xe0\xab5\xc2\xf8\ +\xf8\xe8mk\xd6,c{\x1c\xb3-n\xd5\xea\x9e\x18\ +\x09\xec\x08@ki\xd8\x11\x04zf\xd0\xa8\x09|\xea\ +\xe1\xdd\xb2\xe5\x9e\xcb\xd6\xae\xdd\xb8\x81\x02;s\x22\x88\ +\xa2\x88\x85\x0b)\x09d\x198v,\xa2\x91\xc0*\x81\ +\x80\x13\xa1\x90\x0f\x82@p\xfc\xf80\xfe\xf3?\xff\x1b\ +{\xf6\xbc\x89\x8d\x1b\xaf\xc5u\xd7\xfd\xad\xa9L\xdaR\ +Z\x8bi\xcf\x98N\xf5\xd3\xfd\x08z\xd45\x0c\xe6\x09\ +\x22\x84\x10\xd4\xd77\xa1\xa9\xa9\x19q\xe1\xeb\ +\xa0\xe0\xe7\xd4\xb2N\x0e\x01\xd4\x8aYM\x81\xddx\x81\ +\x91\x04>\xf6}\xeb\xd6\x7f\xbed\xc3\x06\xea\x18\x9e\x08\ +\x11>\xff\xf9\xff\x0d\x00\xf8\xd9\xcf\xbe\x85P\xc8\x0f\x14\ +\xb1\x91\xd39}\xc9d\x12\x1d\x1do\x19\x80'\x86\xe4\ +\x12\x87p8\x8cY\xb3\xda\xe1p8M\xf7)\x0a\xb4\ +\xc9\xa9\xec^=*\xd0\xc3\xc1\xc6\xc6f\xc0&\xd9\x93\ +N'\xf1\xf6\xdb\x87\xb4\xa8\xc0X\xae\xc3\xe1Fcc\ +\x13\xaa\xaa\xf2M\x0c}N>\xf8\xecoY\xceE\x07\ +\x06\x06.\xff\xc4'.dY\xc3\xb2|\x81R\xa7\x84\ +)\xd0cO\xf67}\x8bB);\x00\xf7\xde{\xe7\ +.\x8e\x03\xd6\xad\xdb\xb4\x81\xe7\xe9\xc2RYV\xb4\x19\ +E\x8a\x02\xd5)bD \x00\xf4\xff\xb3\xd0IQd\ +\x10\xc2\xe1\xad\xb7\x0e\xe2\x82\x0bV\x18\x16\x83\xd2\xaaX\ +{\x7f^\xe5\x15\x05\xc9d\x12==\x87\x0d!\x1d\xab\ +>\x00\xb0%\xe2-\x08\x04\xf4\x0c\x1e{\xcdd\x92\x8e\ +\xf0\xe9;\x8d\x99ME]\x1d\xcd\x03\xf0<\x0f+\xf8\ +\xa9T\x02}}\xbd\x18\x1e\x1eR\xcb5\x93\xa6\xb6\xb6\ +\x01uuu\xe0\xb8B\xefT\x18|@\x01\xc7q\xc1\ +\xda\xda\xfa\xe7~\xfc\xe3\x9f\xbdo\xe3\xc6O\xf5\x00\xe5\ +M2\x9d\x96\x00\x8a\xa2\xb0\x1f[d\xde&k\xe5\x1c\ +\x80\xcc4\xb7\x93\xbb\xef\xbe\xf3EE!d\xc3\x86M\ +\xeb\xa9sW>\x11\xd8\x8bOM\xc5\xf1\xa7?\xbd\x81\ +\x0b.X\xae\xc6\xde\xa5\xa9~\x80\xf6\xde\xd1\xd1Q\xb0\ +Q:\xa6\xea\x9dN'ZZ\xdaPUUkz\x1e\ +h\xd8\xa5\xe6\x01\xe8\xb0.\x03\x8f\x91\xa7\xba\xba\x16\xcd\ +\xcd-&\x95M\xebB\xf7A8v\xec(\xfa\xfaz\ +M\xf72\xd2UW\xd7\xa0\xa5e\xb6F\x1a\xd6\x0e\xe5\ +\x80\xcf\xca\xcaf3AA\xf0\xce\x02\xd0\xab\x16pr\ +5\x80\x81\x04Z\xdci\xf8\xb7d\x7f\x97.\xf7\xdc\xb3\ +e\x17\xc7\x11e\xfd\xfa\x1b7(\x0a}\xe1r\x88\x00\ +@\x9d\x7f@05\x15\xc7k\xaf\xbd\x81U\xab\x96k\ +!U)v\xbf\xb6\xb6\x01^o\x00\x87\x0eu \x1e\ +\x8fC\x14y\xd4\xd55\xa3\xa5\xa5%ox\x97\x8e\xf0\ +\xd1-d\x98\x92\xb3\x86\x83\xcd\xcd\xadj\xbe_6\x01\ +\x22IY\x1c?\xde\xaf\xaeU\xcci\x93a\x14\x85~\ +\x06\x02!\xcc\x9a5G31f\xd2\xe9R*\xf8\xb4\ +\xcc$$)\xa3\xedg\x5c\x8e\x94<+\xd8\xa2\x09\xac\ +\xbaV\xb1\x14\x9eW\x91m\xdb\xbe\xf6\x22\xa0\x90\x1bn\ +\xd8\xbc\x9e\x86_\xa5\x13\x81\xe3xu\xfa9\x0fYV\ +05\x95\xc4\xde\xbd\xfbq\xdeyK\xb4\xa2J\xf1\xf8\ +\xbd^/\x96-[\x89\xa1\xa1\x01\xd4\xd4\xd4i\x0bI\ +\x18\x08t\xa7\xb1>\xf4\xf7\x1fA.'\xe7\xf5Z\x97\ +\xcb\x8d\xb6\xb6\xd9\xa8\xa8\x08\xab\xcf77\xc3\xe0\xe0\x00\ +\xfa\xfaz\x0d;\x9c\xe9\xf7z\xbd~\xb4\xb6\xce\x82\xdf\ +\xef7i\x99B\xbe\x8c\xb9\xed\x8b\x0f&\xa5\xd3\x09\x16\ +\x822\x93\x5c\xb2\x19(\x99\x006b%AF\xab\x9d\ +.&\x22l\xdb\xb6e\x17\x00l\xdc\xb8y=u`\ +J#\x02\x9da\xc4\xab3\x8c\xe8\xb3&'\xa7\xd0\xd1\ +\xd1\x89\xa5K\x17h\xe3\xf0\xa5d\xfax^@CC\ +c^C\x0f\x0d\xd1<@*\xa5{\xf6\x00\x1d\x87\xe0\ +y\x11\xcd\xcd\xad\xa8\xabk\xb0\xed\x91\xd1\xe8\x04\xde~\ +\xfb\x00\x92\xc9\xb4\xc1G`\xa4\xa1QA8\x5c\x8b\xe9\ +2}\x85T\xbfU\x8c\xef\x94\xc9$\x91\xcdJ\x90$\ +I[c`\x7f\x97\xbd\x94E\x00\x8b\x16`&\xc1Z\ + \xb1|\x9a\xbeo\xdbF\xcd\xc1\x0d7l\xde`\x9c\ +^^\x8c\x08\x82\xc0\xc0\xd7\xa7\xa0\xf3<0::\x8e\ +\x03\x07\xba\xb0p\xe1\x5cH\x92>f0]\x8e_o\ +h:Xs\xf0`\x87\x01x\x98\xc6\xf6\x19\xf0\x82\ + \x88\xa8\xabk@mm\x03\x04A0E'\xe5\x80\ +o\xd7\xfb\x8d\x92\xc9\xc4!\xcb\x0a$I\xb6\xb6\xf7\xc9\ +q\x02\xadR\x80\x04y\x97\x15{\xc6]w}\xedE\ +EQ\xc8\xc6\x8d7\xad\xb7\xae3\xb0#\x02\xb3\xff\xc6\ +\x06f\xfe\xc1\xd0\xd00\x08\x01\x16,\x98\x03I\xca\x95\ +\x05~*\x95DWW'2\x99\xb4a\x16\x0f-\xa3\ +\xa6\xa6\x0eMM-p\xb9\x5c\xa6\x04\x8c\xa2\xc8H\xa5\ +R\xe8\xee\xee\xc4\xd8\xd8\x08\xcc>\x02\x00p\xa8\xae\xae\ +Ak\xeb,\xc3 \x91\xb5\x0d\x8d\x9f\xe5;}\xfa{\ +)H$\xe2\xc8\xe5d\xa8\xbb\xd7\x9e:\x1f\xc0(6\ +\x91\x81\x9d\x14RG\x04\x00\xd9\xbau\xcb.\x80\xc3\x8d\ +7\xde\xb4\x1e6\x0bN\x8cD\xe0y\xa6\x01\xf4-j\ +\x00\x9d\x08\x83\x83#\x00\x80\x85\x0b\xe7\x9av*)\x06\ +>\xa0\xc0\xe9ta\xc5\x8a\xf3\xd1\xdd}\x08CCC\ +\xda\xb2\xb3\xa6\xa6V\x04\x02A\xf5Z\xfd\xf5\x92\xc9$\ +\x8e\x1c1\x8e\x0e\xb2qj\xfa\x19\x0c\x06\xd0\xde>\xcf\ +\x10\x15\xd8\x0f\xf2\x98\xdb\x92]W\x1e\xf8\x80\xfa\x05\ +\x80\xbe!\x05\xc0\xb4\x82\xa2@3\x1dT\x13\x10\xb4\xb6\ +6!\x1eOk\xb6R\xadiAP\x00\xba\x0f\xe1\xf2\ +\xe5.tt\xec\xd7\xf6\x14\x0e\x04\x82\x9a\x83\xa7\xbe\xab\ +\xed\xfd\xf9\xbd\xdf\xd4B3\x02\x1f\x00\xbc^'8\x8e\ +C__/\x92\xc9\xa4v\x9d1B\xb1i\xdbi\xe5\ +\xa4\x12\x000\x91\xa0\x98O`m\x1e#\x09^\x048\ +\xdct\xd3-\xeb\xe9 \x10\xcd\x00\xa6R\xa3\xeaw\xa3\ +\x83\xc8\xcc\x00\xfbM\x01\xb3y8z\xf488\x8e\xa0\ +\xb9\xb9\x11\x89D\x06\x99L\x16\xa5\xf6H\xaf\xd7\x8f\x15\ ++\xde\x87\xa3G\xfbPYY\x89@ X \xb4,\ +\xc7\xee[\xdb\x8a}\x16\x06\x9f\xe7\x09|>\xba\xb6`\ +p\xf08\x22\x91\x88\xda1\x8c#\xab\xb2i\xc7\xd6r\ +\xe4\xa4\x13\x00(Y\x13h\x97[>\xb1e\xcb?\xbd\ +\x08\x007\xddt\x8b\x9a'P\x90J\x0d\x80\xe3t\xdf\ +\xc0H\x04\xa00\x11\x8e\x1c9\x06B(\x098\x0e\x16\ +\xe7\xb0x\x8f\x14\x04\x1emm\xb3\x8dU;\x01\xf0\xcb\ +w\xfa\x5c.\x01\x1e\x8f\x03\xb2\x0c\x8c\x8d\x8d\xe2\xf8\xf1\ +\xe3\xda,&\xdd\xf6\x9b\x9e\xf7\xee\xf9\x00VQI\xc0\ +\xfe4N\x99\xb1\x9f\xe6\xab\xde\xc6\x8e-[\xfei\x17\ +\xcfs\xca\xe6\xcd7oH&G\xc0\xcf?j\x88\x02\ +\xca#B_\xdf1\x08\x02\x8f\xc6\xc6:5\x01$\xe1\ +D\xd4\xb1\xfe\x8e0\xfc\xef\xe48}\xcc\xe4\xf9\xfd.\ +8\x1c4\x838>>\x82\xc3\x87{4\xe0\xd9}\xba\ +\x13X\xa4E\xa7\x91SF\x00\xa0 \x09Xu\xa7\xb3\ +W\xca\x1dw|i\x17!\xc0\xd4Td\xc5\xa4\xd4{\ +\x84\xe3\xc8U\x80\x11\xec\xd2\x89\xd0\xd7w\x0cN\xa7\x88\ +\xeaj\xfa\x9bG\xc9$\x1d\xc9.?\xfbf\xfe\x9fM\ +\xb5O\xc8\xe9s\xbbE\x04\x02n\xed\xfa\xe3\xc7\x87\xd4\ +!e\xa6\xf2e\x8b\xfa\xa7\xf7\xe5f\xe8\x05\x9eR\x02\ +\x00\x05I\x00\x14&\x80b<\xbe\xf2\x95/\xfd\x16\xc0\ +\x1e\xbc\x047\xb7\x89\x5cE\xe3\x7f\xf5ae\x10\x01\x00\ +:;\xfb@\x08\x87\xaa\xaa0DQ\xc0\xe4dB\xad\ +#\xabk\xe9\xe0O\xe7\xf4\x95\x0b>\xcf\xf3\x08\x85<\ +p8\xe8\x88g6\xab\xe0\xed\xb7\xbb022l\x0b\ +\xbcN\x08:bzZD\x01\x85\xc4@\x02c3e\ +\xa1\x03m\xba\xdcp\x98f!ut\xec\x7fm\xd1\xa2\ +%\xab\xf4D\x10\xfd\x07\x0d\x19\x01E\xa1D\xa0~\x83\ +>\x9f@\x96\x89\xa6*;;{A\x08AUU%\ +\x00\x17\x22\x11\xf3\xae\xa6'\x06~\xf9c\xfb<\xcf!\ +\x18\xf4\xc0\xe3qh '\x93I\xbc\xf5\xd6!LM\ +M\x99\x80\xa7\xcf7\x03\xaf\xd7\xf7\x1d\x1c\x0b\x98\x89\x94\ +\x11\x1d\x18\x9dBv\xad\x0c@\xb9\xe5\x96u?z\xf0\ +\xc1\xedX\xb4h\x99J\x02\x0a2\x0d\x07\xd9\x08\x22\xdb\ +\xb0\x8a\x03\xbb\xc6\xbaqUWW/x\x9eCee\ +\x05\x00\x0e\x13\x13\xf1<[l\xa8\xb7\xfaI\xab4\x13\ +\xbbo~\x1e-G\x10h\x8f\xf7z\x1d\x06\xc7\x0e\xe8\ +\xe9\xe9C_\x1f\xdd-]\xcf]\x14\x06\x9e\x9d'\x84\ +\xb3\xebL\xd3\xca;F\x00\xa0$\x12X{\xbf\xd5o\ +\xc0\xcd7\xaf\xfb\xd1\x83\x0f\xee\xc0\x92%\xcbV\xc9\xb2\ +\x0e\xb21u\x0c@\xeb\xf5\xf6\xe6A\xc1\xdbo\x1f\xc6\ +\x82\x05sPY\x19T\x87\x96\xe3jJ\xb9\x90\xd3w\ +b\x1e?\xfb\xdb\xebu!\x18t\xc1\xe9\x14A\xb5\x13\ +\xbd\xfe\xf8\xf1Atw\xf7 \x91HZ\x80\xd7m\xbd\ +^\xae\xfe?\xaa\x1dd$\x93\xc9\x08f@\x80ig\ +\x05\x9f\x0a\xb1\xacA$\xb0\xfcD\x1d\xf4\x05\xa9l)\ +\x9au\xed\x81\xe7\xc1\x07w\xdc\xb4t\xe9\xf2U\xcc\x1e\ +\xb2\xa5e\x80\xde\x9b\xf4\xf3\x8a\xe1\xbc~\x0d\xc7\xf1X\ +\xbcx\x0e\x02\x01?$I_\x9a>\xbd\xea/\x0f|\ +\x87CD0\xe8\x82\xc7\xe3\x80 \xf0\x06\xbb\x9d\xc3\xd1\ +\xa3\x038|\xb8\x0f\xf1xB\xbb\xc7\x0a\xbc^\xa6Q\ +\x0bPR\xb3\xbfo\xbf}]\x10tR\x0e\xdblJ\ +9\xd53\x82f,\x86\xf1\x03\xeb\x84\x12\xc5\xe6\x00\xcc\ +\xccV\x00\xe0\xe6\x9b\xd7\xfe\xe8\xa1\x87v`\xc9\x92\xe5\ +\xab\x14\x85\x80\xe3\xa8\xdag\xbd\xc4\xceO\xa0e\xea\x1a\ +AQ\xe8/\x9f\xac\x5c\xb9\x18.\x97\x03\x0d\x0d!\x1c\ +;F;Rq\xd5o|\x17\xd8^\xe7\xf39\xe1\xf1\ +8\xe0\xf3\xb9 \x08\x9cf\xc7eYF,\x16\xc3\xd1\ +\xa3\xc7q\xf4\xe8 \xd2\xe9\x0c\xac!\x9d\xd1\xc9\xb3\x02\ +o$;;\x9fN\xa7\xfe`i\xaf\x92\xe5]!\x80\ +E\x8c\xb6>\x0fh\x9bk\x01\x954\x9b7\xaf\xfd\xd1\ +\xc3\x0f\xef\xc0\xe2\xc5+V\xb1\xb9\x01\xe5\x12A\x96e\ +\x1c8\xd0\x89%K\xe6\xc1\xe1\x10\xd1\xd8X\x89\xfe\xfe\ +1\xe4r\xa5\xd9}\x80\xfd\x00\x95\x08\xaf\xd7\x01\x8f\xc7\ +\x05\x8fG4i\x91l6\x87d2\x81\x81\x81a\x1c\ +;6\x8c\xd1\xd1\x09\x14\x0b\xe9t;_\x1cx6\x12\ +\x98H\xc4w\x96\xd0v\xb6\xf2\xae\x98\x00S\x05\xcc3\ +/\xd9\x90\x9b`8\xack\x11\xf3\xcc\xc1#\x8f\xfc\xec\ +\xa6\xc5\x8b\x97\xae2\x02V\xaei\xf0x\x9c*\x09\xe8\ +\xd4\xaf\xbe\xbe\x88\xda;i\xe5d\x19p\xbby\xf0<\ +\x0f\x97K\xd46\x9f\x12E\x1e\xa2h\x8c\x18(0\x92\ +\x94\xc5\xc8\xc8\x04\x86\x87G100\x82\xc9\xc9\xb8\x01\ +P\xfb\x90nr2\x06\xc2s\xe0\x09\x07\x10\x80S'\ +\xc1X\x81\x07\x8c\xa9`\x19\xcf<\xf3\xe4\xac\xdd\xbb\x7f\ +1\x02:C[\xdb?\xa0\x14\x13\xf0\xae\x13\x00\xc8#\ +\x81q\xaf\xf0\xac\xac\xfc\x90\x0e\ +\xf0\xec\x7f,\xf67\ +\x9e\xa7\x1bR\x00\x84#\xf4P\xc9\xe0\x10\x05\x84B~\ +\xf0\x84\xa7$\xf0{!\x08\x02*\xaa\x02hi\xab\xc3\ +\xb1c}_|\xed\xb5\xdf\x8f\x1b\xdaH\x8b\xa6J\xed\ +\xfd\xc0iH\x00\xa0(\x09\x98\x9d\xcb@\xd7\x04L\x1b\ +0\x22\xc4\x01$o\xbdu\xe3\x8e\xed\xdb\x1f\xd9\xc1@\ +.\x97\x08,\x06g\xea\xdb\xd8{\xed\x80g\xe02-\ +\xa0\xdbzJ\x06+\xf0\x8c$9EA\x22E\x7f\xd0\ +\x9a\xe7\x088B\xc0\xab\xf5r\xf0\x22B\x15~\x08\x82\ +\x00\x87C\xa49\x05\x8eGeu%.\xbdr\xcde\ +\xc8\xdf0\xaal9-\x09\x00Lk\x0e$P\x12\xa4\ +\xa0\x13 \xcf$\xdc\x7f\xff\xd7w\xff\xf4\xa7?\xd9\xc1\ +\xc0-\x87\x08\xd4_\x90M=\x9f\x01o\xd7\xab\xf3\xcf\ ++\xeayc\x92\xc7\xa8\x1dt\x13\x90\xc9HH&(\ +\x098\xb5.\x84\xa7\x87S\x14Q[\x13\x86\xd3\xe9\x00\ +Gxx\xbd.\x08<\x07\x9f\xcf\xff\xe9\x9d\xcf\xfd\xf1\ +\xa5\xaf~\xf5\x1b>\xe8\x1a\xa0l\x12\x9c\xb6\x04\x00\xa6\ +5\x07V\x12$a\xf6\x07\xe2\x00\xe2\xf7\xdf\x7f\xcf\xee\ +\xc7\x1e{d\x87qws+\x11x^'\x02\xdb\x09\ +\x9d\x86w\x8a\x0a\x94\x0e*\xfb4\x02o\xf4\x05\x8c\xc0\ +\xe7\xfb\x08\xb2\xea\x1f\xe8Z%\x95\xce \x9d\xca \x9d\ +\x91\x90H\xa44\xe09F\x06\x9e\xc0\xedr \x5c\x11\ +\x80C\xe4A8\x0e^\xaf\x1b\x02\xcf\x81\x13\x84e\x1f\ +\xba\xf4\xb2\xdf\xfc\xeb\x0f\x7f\x18D\x19\xa1\x9fQNk\ +\x02\x00\x05I\x90\x85\xd9'\xb0j\x02\xcd\x1f\x00\x10\xbf\ +\xef\xbe{vo\xdf\xfe\xc8\x0e\xb6\xc8\x94ny\xcf\xe7\ +\x11\x82N?g&\xc0\xda\xcbu\x07\xcf\xaeW3\xe0\ +\xcd>\x02\x03\xdex\xde\xe80\xca@N\x81\xac(H\ +\xa5\xd2Hg$\xc4\x13)p\xcc!$4<$\x1c\ +\x01\xc7s\xa8\xa8\x0c@\x14\xe9*)\xaf\xd7\x0d\x9e\x13\ + \xf0\xfc\xf2\xa5\xed+\x7f\xfb\xd3g\x9e\x09\xce\xa4}\ +O\x87T\xf0\xb4\xa2(ys\x0c9\x18\xb6R\x9f\xe6\ +v\x02\x00\xf7\xddw\xcfn\x00\xd8\xb0a\xf3ZEK\ +\x0d\xd3,\x1b\x9b;\xa0(l.\x014\xdb]NH\ +g\x8c\xf1\x999P\xeb\xaf]g\x0d\x1b\x03\x01\x1f\xd2\ +\xc9\x0c\x9c\x0e\x07R\xa9\x14\x9c\x0e\x11\xf1x\x12N\xa7\ +\x83F\x04\xbc\xa0M\x85\xe39\x0e\x95\x15AD\x221\ +H\xd9\x1c\xbc\x1e\x17\xd2\x99\x0c\xb2$\xbb\xbc\xc6W\xbf\ +\xeb\xa9\x17_\x5c\x03 \x822\xe4\xb4\xd7\x00Ll4\ +\x81\x02{s\xc0\xa2\x03k\x88\x18\xbf\xef\xbe{v?\ +\xfa\xe8C;\xd823\xda\xeb\xcd?~\xc1\xb4\x81\x1e\ +\xba\x95\x1e\xd2\xe9\xfeB.O{PS\x91\x7f\xde\xe7\ +\xf3#1\x95@:\x93\x81\x02 \x99\xce \x95\xc9 \ +\x1eO\x82\xe7\x08\x04\x81\x03\xa7\xa6\x85\x01\x80\xe7xT\ +V\x04\xe0q\xbb\xc0q\x80\xdb\xe5\x84(\x8a\xe0\x09Y\ +\x11\xe0\x82\xbf\xde\xb9\xf3\xd5@9\xed\xfa\x9e!\x00\xa0\ +f7X\x16\xc7\x1c\xfa\x94\xe2\x18&\xa0\x92\xe0'?\ +yd\x87\xd1\x07\xb0#\x02-\xaf\xbc\x90\xce\xf8\xa9\xab\ +\x7f\x1dx\xddw0\x9f\x0f\x87+\x10\x8bL!\x9d\xa2\ +c\x0f\xc9d\x06\xe9L\x06\xe3\x91I\xd0\xfc\x13Q5\ +\x13\xa7-M\x0b\x05|p\xbb\xdd \x00\x5c.\xa7\xcc\ +\x8b|\x84\x00\x15.\xbf\xf3\xbf^z\xe9\xafm\xa5\xb6\ +\xe9{\x8a\x00\x16)\xe6\x18\x1a\xf3\x04V\x12$\xef\xbb\ +o\xdb\xcb\x8f>\xfa\xf0cl\xd9\xb9\x1d\x11\xe86l\ +\xe5\x85t\x85\xf3\x05f?\xc2H\x08\xfa<\x05^\x8f\ +\x17\x91\xb1(\xd2\xc9$\x00\x19\xc9T\x1a\xb9\xac\x82H\ +tJ}U\x0a>@s\x06\xe0\x80P\xd0\x07\xb7\xdb\ +\x99!\x04Cn\xa7\xb3O\x10\xf9>\xa2@\x82H>\ +\xfb\xc2\x0b\xaf\xd4\xa2\x04yO\x12\xa0\x809\xb0j\x02\ +;\x12h\xe6\xe0\x1b\xdf\xd8\xb6\xfb\xd1G\x1fzL\xef\ +\xf9f\x22\x14\xf2\xec\x8b\x85tv\xf9\x02c\xe4\xa0\x9f\ +\xd7\x817\x96\x93N\xa7\xde\xf8\xe3\x1fw\x7f11\x15\ +\x7fE\x91\x81d:\x0dI\xcab|b\x0a\x80\x0c\x02\ +\x9a,\xd2\x9a\x01J,\x14\xf4\x1d\xf58\x1d\xbd\x84\xa0\ +\xcf\xe5v\x1d\x11\x1d\xc2Q\x02e\x9cw\xbb/\xff\xed\ +o\xff2\xadcxZ\x8d\x05\xccD,\xfb\x18\x1ag\ +\x17\xd9mkk\xdd\xf2\xdes\xd7]\xf7~\xe8\x86\x1b\ +nZ\xcb\xc6\x0b\xd8\x18\xfb\x9bov\x22\x12\x89\xc1n\ +\xfe\x9d\xd1\x14\x00\xd61\x80\xe2\xe7\xed\x06\x85\x12\x89\xa9\ +\xee\xce\xce\xfd\x0f=\xfd\xf4C\xcf\x03H\xcd\x9b\xb7\x04\ +_\xb9\xf3\x1b\xff'\xe0\xf7_\x11\xf0\xfb\x10\x08x\xe1\ +t\x88\xa8\xac\x0cR\xed\x04E\x020\xce\x112\x0c(\ +\xc3\x00\x19\x8d\xc7S#\xf1xbL!\x18\x97r\xd9\ +\xf1TJ\x8a\x082\x19\xcdf\xc7\xffz\xf1\xc5\x17\xa7\ +\x0a\xb6\xdf{\x9d\x00@A\x12\x18\xa7\x971\x12X7\ +\xb9\xf6\x82\x92\xe0\xc3\x1b7\xde\xb4\x16\x80\x06\xd6\xde\xbd\ +\x07\x11\x89L\x96\xe5\xd9\x97\x0e<\xbdf||d\xcf\ +\xc1\x83\xaf?\xf1\xfc\xf3O\xbe\x0a\xaa\xad\x98\xd6J7\ +5\xcdU\xfe\xef\xbf\xfd\xc7\xbf\x07B\xc1\xeb\xddN\x17\ +\xbc\x1e'DQP*\xc3\xc1\x04O\xc80\x08\x19\x01\ +0\x0c\xc2\x8dr\x8a2\x0apc\xc9tj<\x12\x8d\ +Op\xbc<\x91\xcd*\xd1X\x22=\xc9I\xa9\xe8K\ +/\xfdj\xf8\xee\xbb\xef\xb6\x9d\x87\xf9\x9e\x08\x03K\x14\ +c\x88\xc8\xcc\x81\xdd5\xd6\xef\xca\xd7\xbf\xbe\xf5E\x9e\ +\xe7\x94\x0d\x1b6\xaf3\xae#`\xbd\xbf\xd4\x90\xae\x90\ +&0\x86\x8e\x89\xc4T\xcf\xb1c}\xcf\xbf\xfe\xfa\xef\ +^\xee\xe8\xd8\xdb\x07\x0a:;\x98\xe9\xca\xf4\xf7wf\ +\xd7~\xea\xcaM\xbf\xf8\xd5\xef\x93\xb2#wC<\x95\ +\xcay\x88kb|<:\x14\x0e\x87Fx`D\x01\ +O\xc1\xe71Nd\x8c\xbb\xdc\xae\x89\x0aE\x89D\x22\ +\xb1\xa8\xcc#\xc6\xb9\x9c\xb1\xd8\xb8\x94(\xd6hg\x84\ +\x06\x00\xa6\x9dTb\xa7\x09\x8cs\x0a<\x00\xdc\xf7\xdc\ +s\xdf\xc57\xdc\xb0i\x03\xa0\xe0\x95W\xf6ct4\ +\x02\xe3\x9c\x02#\xf0\xa5\x9c\xa73\x832\x89h4\xb2\ +\x7ftt\xe0\xcd\xbd{\xf7\xfc\xee\xe0\xc1\xbf\x1c\x85>\ +|k=$\xc3\xc1\xf2\xfc\xb9\xdf\xec\xfa\xf3\xf7\x04\x8e\ +\x5cNxn\xd8\xe7q\x0f\x8b\x227Z\x15\xae\x18\xe5\ +@\xc6\x14\x9e\x8cC\xc1\x04\xe1\x94\x09NFD\x96\x95\ +\xc9\xa9\xa9d,\x16\x1b\x9e\x02\x90x\xdf\xfb\xde\xa7u\ +\x04\xbb,\xe1\x19C\x00\xa0,\x12\x18\x7f\xf8\x82}\xba\ +\x01\xb8\xbe\xf2\x95-\x7f\xb3y\xf3-\x9b\xff\xf2\x97\x83\ +\xee\xd1\xd1\x88I\xfd\xb3\xf1\x81b\xc0G\xa3c\x1d\x13\ +\x13\x13\xbd\x91\xc8\xc8\xe1#G\xba\xba^}\xf5\xa5C\ +0\x03\xcb\x9cT\xbb\xeflB\x87\xf1P\x00(\xbf\xdd\ +\xf5\xdaW\x09\xc7\xaf\xe4En\xd4\xe3v\x8d:\x1c\xe2\ +xU\xc87N\x04q\x82\xc8\x88\xc8<\x89\x0a\x0a\x99\ +T\x94\xe4\x14\x80\xf8\xef~\xf7\xbb\xd4\xa7>\xf5\xa9\xfc\ +\xc9\xed\x16\xc0\xcf(\x02\x00\x05I`\xfc\xf9\x1bF\x02\ +\xe3F\xd7n\xc39\xc7\xa7?\xbdv\xcee\x97}j\ +\xcb\xd4T\xd2C\x97ie\x12\xb1\xd8\xe4\x11\xa3=\x1f\ +\x19\x198@\x08\xe4h4:<668\xb4\x7f\xff\ +\x9f\xba\x87\x87\x07'\xa1\x83\xc8\x22\x12\xeb\xa7ds\xde\ +\x0a\xbcq\x88W\x1b\xe4y\xe1w{\xd7r \xb3y\ +\x8e\x1bw\xb9\x5c\xe3\x0e'\x17\x09WUDx\x19\x93\ +\xb9\x1c&eY\x88\xc7b\xfd\xf1%K\x96\x14\xdd\xbd\ +\xd5H\x823\x8e\x00@\xc9\x9a\xc0\xa8\x0d\xd8\xef\x1f\xb8\ +\xd4\xff\x8b\xa0\xa41n\xbf\xca\x1a\xca\x18vZAc\ +\xdf\xb3%\x1ev\xbd\xdd4\xb6\x0f\xcb\xec\x9e]/\xef\ +\xfd\x10\xcfqaA\x14\x22.\x81\x8f\x12\x978\x19r\ +\xfbc>\x1f\x89\xef\xde\xbd;i\xd7\xeb\xed\x84=\xf3\ +\x8c$\x00`K\x02ct`\xfc\xcd\x03\xb6\x08\x85}\ +g\xd3\xcfx\xc3\xbd\x80\xb97\xca\x96\xc3J\x00v\x18\ +m9[\xb0a\x04\x9e\xddc\x04\xde\xd4\xeb\xed\xec\xf6\ +\xee\xdd\xaf\xcf\xcd\xf1\xc4\xe1\x80\x18\xe3yLE\x22\x8e\ +\xf8UW\xcd\x9bn\xe3\xee\x13X\xae\xd8\x10\xc1\xee\xbbU\x0a5\x98\xed\xf9S\ +\x0d\xbaU\x0a\x91\xa0P=\xcej\x020)\xd2s\xac\ +>\xc0\xb4\xf2N\x03n'\xd6\xf7)V\xa7s\x04\xb0\ +\x91\x99\xa8\xd2\xd3M\xd8;LW\xd7s\x048\xcb\xe5\ +=9%\xec\x9c\x9c<\xf9\xff.}$/\xf4\x80\x9c\ +-\x00\x00\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x09\ +\x0b\x85\x83\x07\ +\x00c\ +\x00l\x00e\x00a\x00r\x00.\x00p\x00n\x00g\ +\x00\x0e\ +\x0a\x93\x87\x07\ +\x00d\ +\x00i\x00s\x00c\x00o\x00n\x00n\x00e\x00c\x00t\x00.\x00p\x00n\x00g\ +\x00\x14\ +\x07@\xa2\xc7\ +\x00a\ +\x00p\x00p\x00l\x00i\x00c\x00a\x00t\x00i\x00o\x00n\x00-\x00e\x00x\x00i\x00t\x00.\ +\x00p\x00n\x00g\ +\x00\x0b\ +\x0bs\x9d\xc7\ +\x00c\ +\x00o\x00n\x00n\x00e\x00c\x00t\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00L\x00\x00\x00\x00\x00\x01\x00\x00k\xfb\ +\x00\x00\x01z\xae\x0ay=\ +\x00\x00\x00*\x00\x00\x00\x00\x00\x01\x00\x001\x03\ +\x00\x00\x01z\xae\x0ay=\ +\x00\x00\x00z\x00\x00\x00\x00\x00\x01\x00\x00\x97\xbf\ +\x00\x00\x01z\xae\x0ay=\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01z\xae\x0ay=\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/serialbus/can/receivedframesmodel.py b/examples/serialbus/can/receivedframesmodel.py new file mode 100644 index 0000000..7953f37 --- /dev/null +++ b/examples/serialbus/can/receivedframesmodel.py @@ -0,0 +1,142 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from enum import IntEnum + +from PySide6.QtCore import QAbstractTableModel, QModelIndex, QSize, Qt + + +class ReceivedFramesModelColumns(IntEnum): + number = 0 + timestamp = 1 + flags = 2 + can_id = 3 + DLC = 4 + data = 5 + count = 6 + + +clipboard_text_role = Qt.UserRole + 1 + + +column_alignment = [Qt.AlignRight | Qt.AlignVCenter, Qt.AlignRight | Qt.AlignVCenter, + Qt.AlignCenter, Qt.AlignRight | Qt.AlignVCenter, + Qt.AlignRight | Qt.AlignVCenter, Qt.AlignLeft | Qt.AlignVCenter] + + +class ReceivedFramesModel(QAbstractTableModel): + + def __init__(self, parent=None): + super().__init__(parent) + self.m_framesQueue = [] # QQueue() + self.m_framesAccumulator = [] + self.m_queueLimit = 0 + + def remove_rows(self, row, count, parent): + self.beginRemoveRows(parent, row, row + count - 1) + self.m_framesQueue = self.m_framesQueue[0:row] + self.m_framesQueue[row + count:] + self.endRemoveRows() + return True + + def headerData(self, section, orientation, role): + if role == Qt.DisplayRole and orientation == Qt.Horizontal: + if section == ReceivedFramesModelColumns.number: + return "#" + if section == ReceivedFramesModelColumns.timestamp: + return "Timestamp" + if section == ReceivedFramesModelColumns.flags: + return "Flags" + if section == ReceivedFramesModelColumns.can_id: + return "CAN-ID" + if section == ReceivedFramesModelColumns.DLC: + return "DLC" + if section == ReceivedFramesModelColumns.data: + return "Data" + + if role == Qt.SizeHintRole and orientation == Qt.Horizontal: + if section == ReceivedFramesModelColumns.number: + return QSize(80, 25) + if section == ReceivedFramesModelColumns.timestamp: + return QSize(130, 25) + if section == ReceivedFramesModelColumns.flags: + return QSize(25, 25) + if section == ReceivedFramesModelColumns.can_id: + return QSize(50, 25) + if section == ReceivedFramesModelColumns.DLC: + return QSize(25, 25) + if section == ReceivedFramesModelColumns.data: + return QSize(200, 25) + return None + + def data(self, index, role): + if not self.m_framesQueue: + return None + row = index.row() + column = index.column() + if role == Qt.TextAlignmentRole: + return column_alignment[index.column()] + if role == Qt.DisplayRole: + return self.m_framesQueue[row][column] + if role == clipboard_text_role: + f = self.m_framesQueue[row][column] + return f"[{f}]" if column == ReceivedFramesModelColumns.DLC else f + return None + + def rowCount(self, parent=QModelIndex()): + return 0 if parent.isValid() else len(self.m_framesQueue) + + def columnCount(self, parent=QModelIndex()): + return 0 if parent.isValid() else ReceivedFramesModelColumns.count + + def append_frames(self, slvector): + self.m_framesAccumulator.extend(slvector) + + def need_update(self): + return self.m_framesAccumulator + + def update(self): + if not self.m_framesAccumulator: + return + + if self.m_queueLimit: + self.append_frames_ring_buffer(self.m_framesAccumulator) + else: + self.append_frames_unlimited(self.m_framesAccumulator) + self.m_framesAccumulator.clear() + + def append_frames_ring_buffer(self, slvector): + slvector_len = len(slvector) + row_count = self.rowCount() + if self.m_queueLimit <= row_count + slvector_len: + if slvector_len < self.m_queueLimit: + self.remove_rows(0, row_count + slvector_len - self.m_queueLimit + 1) + else: + self.clear() + + self.beginInsertRows(QModelIndex(), row_count, row_count + slvector_len - 1) + if slvector_len < self.m_queueLimit: + self.m_framesQueue.extend(slvector) + else: + self.m_framesQueue.extend(slvector[slvector_len - self.m_queueLimit:]) + self.endInsertRows() + + def append_frame(self, slist): + self.append_frames([slist]) + + def append_frames_unlimited(self, slvector): + row_count = self.rowCount() + self.beginInsertRows(QModelIndex(), row_count, row_count + len(slvector) - 1) + self.m_framesQueue.extend(slvector) + self.endInsertRows() + + def clear(self): + if self.m_framesQueue: + self.beginResetModel() + self.m_framesQueue.clear() + self.endResetModel() + + def set_queue_limit(self, limit): + self.m_queueLimit = limit + frame_queue_len = len(self.m_framesQueue) + if limit and frame_queue_len > limit: + self.remove_rows(0, frame_queue_len - limit) diff --git a/examples/serialbus/can/receivedframesview.py b/examples/serialbus/can/receivedframesview.py new file mode 100644 index 0000000..0f99a1e --- /dev/null +++ b/examples/serialbus/can/receivedframesview.py @@ -0,0 +1,54 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QPoint, Qt, Slot +from PySide6.QtGui import QAction, QKeySequence +from PySide6.QtWidgets import QApplication, QMenu, QTableView + +from receivedframesmodel import clipboard_text_role + + +class ReceivedFramesView(QTableView): + + def __init__(self, parent): + super().__init__(parent) + self.setContextMenuPolicy(Qt.CustomContextMenu) + self.customContextMenuRequested.connect(self._context_menu) + + @Slot(QPoint) + def _context_menu(self, pos): + context_menu = QMenu("Context menu", self) + if self.selectedIndexes(): + copy_action = QAction("Copy", self) + copy_action.triggered.connect(self.copy_row) + context_menu.addAction(copy_action) + + select_all_action = QAction("Select all", self) + select_all_action.triggered.connect(self.selectAll) + context_menu.addAction(select_all_action) + context_menu.exec(self.mapToGlobal(pos)) + + def set_model(self, model): + super().setModel(model) + for i in range(0, model.columnCount()): + size = model.headerData(i, Qt.Horizontal, Qt.SizeHintRole) + self.setColumnWidth(i, size.width()) + + def keyPressEvent(self, event): + if event.matches(QKeySequence.Copy): + self.copy_row() + elif event.matches(QKeySequence.SelectAll): + self.selectAll() + else: + super().keyPressEvent(event) + + @Slot() + def copy_row(self): + clipboard = QApplication.clipboard() + str_row = "" + last_column = self.model().columnCount() - 1 + for index in self.selectedIndexes(): + str_row += index.data(clipboard_text_role) + " " + if index.column() == last_column: + str_row += "\n" + clipboard.setText(str_row) diff --git a/examples/serialbus/can/sendframebox.py b/examples/serialbus/can/sendframebox.py new file mode 100644 index 0000000..99e4ab7 --- /dev/null +++ b/examples/serialbus/can/sendframebox.py @@ -0,0 +1,195 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import re + +from PySide6.QtGui import QValidator +from PySide6.QtCore import QByteArray, Signal, Slot +from PySide6.QtWidgets import QGroupBox +from PySide6.QtSerialBus import QCanBusFrame + +from ui_sendframebox import Ui_SendFrameBox + + +THREE_HEX_DIGITS_PATTERN = re.compile("[0-9a-fA-F]{3}") +HEX_NUMBER_PATTERN = re.compile("^[0-9a-fA-F]+$") + + +MAX_STANDARD_ID = 0x7FF +MAX_EXTENDED_ID = 0x10000000 +MAX_PAYLOAD = 8 +MAX_PAYLOAD_FD = 64 + + +def is_even_hex(input): + return len(input.replace(" ", "")) % 2 == 0 + + +def insert_space(string, pos): + return string[0:pos] + " " + string[pos:] + + +# Formats a string of hex characters with a space between every byte +# Example: "012345" -> "01 23 45" +def format_hex_data(input): + out = input.strip() + while True: + match = THREE_HEX_DIGITS_PATTERN.search(out) + if match: + out = insert_space(out, match.end(0) - 1) + else: + break + return out.strip().upper() + + +class HexIntegerValidator(QValidator): + + def __init__(self, parent): + super().__init__(parent) + self.m_maximum = MAX_STANDARD_ID + + def validate(self, input, pos): + result = QValidator.Intermediate + if input: + result = QValidator.Invalid + try: + value = int(input, base=16) + if value < self.m_maximum: + result = QValidator.Acceptable + except ValueError: + pass + return result + + def set_maximum(self, maximum): + self.m_maximum = maximum + + +class HexStringValidator(QValidator): + + def __init__(self, parent): + super().__init__(parent) + self.m_maxLength = MAX_PAYLOAD + + def validate(self, input, pos): + max_size = 2 * self.m_maxLength + data = input.replace(" ", "") + if not data: + return QValidator.Intermediate + + # limit maximum size + if len(data) > max_size: + return QValidator.Invalid + + # check if all input is valid + if not HEX_NUMBER_PATTERN.match(data): + return QValidator.Invalid + + # insert a space after every two hex nibbles + while True: + match = THREE_HEX_DIGITS_PATTERN.search(input) + if not match: + break + start = match.start(0) + end = match.end() + if pos == start + 1: + # add one hex nibble before two - Abc + input = insert_space(input, pos) + elif pos == start + 2: + # add hex nibble in the middle - aBc + input = insert_space(input, end - 1) + pos = end + else: + # add one hex nibble after two - abC + input = insert_space(input, end - 1) + pos = end + 1 + + return (QValidator.Acceptable, input, pos) + + def set_max_length(self, maxLength): + self.m_maxLength = maxLength + + +class SendFrameBox(QGroupBox): + + send_frame = Signal(QCanBusFrame) + + def __init__(self, parent): + super().__init__(parent) + self.m_ui = Ui_SendFrameBox() + self.m_ui.setupUi(self) + + self.m_hexIntegerValidator = HexIntegerValidator(self) + self.m_ui.frameIdEdit.setValidator(self.m_hexIntegerValidator) + self.m_hexStringValidator = HexStringValidator(self) + self.m_ui.payloadEdit.setValidator(self.m_hexStringValidator) + + self.m_ui.dataFrame.toggled.connect(self._data_frame) + self.m_ui.remoteFrame.toggled.connect(self._remote_frame) + self.m_ui.errorFrame.toggled.connect(self._error_frame) + self.m_ui.extendedFormatBox.toggled.connect(self._extended_format) + self.m_ui.flexibleDataRateBox.toggled.connect(self._flexible_datarate) + self.m_ui.frameIdEdit.textChanged.connect(self._frameid_or_payload_changed) + self.m_ui.payloadEdit.textChanged.connect(self._frameid_or_payload_changed) + self._frameid_or_payload_changed() + self.m_ui.sendButton.clicked.connect(self._send) + + @Slot(bool) + def _data_frame(self, value): + if value: + self.m_ui.flexibleDataRateBox.setEnabled(True) + + @Slot(bool) + def _remote_frame(self, value): + if value: + self.m_ui.flexibleDataRateBox.setEnabled(False) + self.m_ui.flexibleDataRateBox.setChecked(False) + + @Slot(bool) + def _error_frame(self, value): + if value: + self.m_ui.flexibleDataRateBox.setEnabled(False) + self.m_ui.flexibleDataRateBox.setChecked(False) + + @Slot(bool) + def _extended_format(self, value): + m = MAX_EXTENDED_ID if value else MAX_STANDARD_ID + self.m_hexIntegerValidator.set_maximum(m) + + @Slot(bool) + def _flexible_datarate(self, value): + l = MAX_PAYLOAD_FD if value else MAX_PAYLOAD + self.m_hexStringValidator.set_max_length(l) + self.m_ui.bitrateSwitchBox.setEnabled(value) + if not value: + self.m_ui.bitrateSwitchBox.setChecked(False) + + @Slot() + def _frameid_or_payload_changed(self): + has_frame_id = bool(self.m_ui.frameIdEdit.text()) + self.m_ui.sendButton.setEnabled(has_frame_id) + tt = "" if has_frame_id else "Cannot send because no Frame ID was given." + self.m_ui.sendButton.setToolTip(tt) + if has_frame_id: + is_even = is_even_hex(self.m_ui.payloadEdit.text()) + self.m_ui.sendButton.setEnabled(is_even) + tt = "" if is_even else "Cannot send because Payload hex string is invalid." + self.m_ui.sendButton.setToolTip(tt) + + @Slot() + def _send(self): + frame_id = int(self.m_ui.frameIdEdit.text(), base=16) + data = self.m_ui.payloadEdit.text().replace(" ", "") + self.m_ui.payloadEdit.setText(format_hex_data(data)) + payload = QByteArray.fromHex(bytes(data, encoding='utf8')) + + frame = QCanBusFrame(frame_id, payload) + frame.setExtendedFrameFormat(self.m_ui.extendedFormatBox.isChecked()) + frame.setFlexibleDataRateFormat(self.m_ui.flexibleDataRateBox.isChecked()) + frame.setBitrateSwitch(self.m_ui.bitrateSwitchBox.isChecked()) + + if self.m_ui.errorFrame.isChecked(): + frame.setFrameType(QCanBusFrame.ErrorFrame) + elif self.m_ui.remoteFrame.isChecked(): + frame.setFrameType(QCanBusFrame.RemoteRequestFrame) + + self.send_frame.emit(frame) diff --git a/examples/serialbus/can/sendframebox.ui b/examples/serialbus/can/sendframebox.ui new file mode 100644 index 0000000..d913e33 --- /dev/null +++ b/examples/serialbus/can/sendframebox.ui @@ -0,0 +1,211 @@ + + + SendFrameBox + + + + 0 + 0 + 485 + 206 + + + + Dialog + + + + + + + QLayout::SetMinimumSize + + + + + Frame Type + + + false + + + + 0 + + + 0 + + + + + Sends a CAN data frame. + + + D&ata Frame + + + true + + + + + + + Sends a CAN remote request frame. + + + Re&mote Request Frame + + + + + + + Sends an error frame. + + + &Error Frame + + + + + + + + + + Frame Options + + + + 0 + + + 0 + + + + + Allows extended frames with 29 bit identifier. + + + E&xtended Format + + + + + + + Allows up to 64 byte payload data. + + + &Flexible Data-Rate + + + + + + + false + + + Sends payload at higher data rate. + + + &Bitrate Switch + + + + + + + + + + QLayout::SetMinimumSize + + + + + + + Frame &ID (hex) + + + frameIdEdit + + + + + + + + 1 + 0 + + + + 123 + + + true + + + + + + + + + + + &Payload (hex) + + + payloadEdit + + + + + + + + 2 + 0 + + + + 12 34 AB CE + + + true + + + + + + + + + + + + + + + + + + &Send + + + + + + + + + + + + diff --git a/examples/serialbus/can/ui_canbusdeviceinfobox.py b/examples/serialbus/can/ui_canbusdeviceinfobox.py new file mode 100644 index 0000000..250e653 --- /dev/null +++ b/examples/serialbus/can/ui_canbusdeviceinfobox.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'canbusdeviceinfobox.ui' +## +## Created by: Qt User Interface Compiler version 6.4.1 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QApplication, QCheckBox, QGroupBox, QLabel, + QSizePolicy, QVBoxLayout, QWidget) + +class Ui_CanBusDeviceInfoBox(object): + def setupUi(self, CanBusDeviceInfoBox): + if not CanBusDeviceInfoBox.objectName(): + CanBusDeviceInfoBox.setObjectName(u"CanBusDeviceInfoBox") + CanBusDeviceInfoBox.resize(319, 217) + self.verticalLayout = QVBoxLayout(CanBusDeviceInfoBox) + self.verticalLayout.setObjectName(u"verticalLayout") + self.pluginLabel = QLabel(CanBusDeviceInfoBox) + self.pluginLabel.setObjectName(u"pluginLabel") + + self.verticalLayout.addWidget(self.pluginLabel) + + self.nameLabel = QLabel(CanBusDeviceInfoBox) + self.nameLabel.setObjectName(u"nameLabel") + + self.verticalLayout.addWidget(self.nameLabel) + + self.descriptionLabel = QLabel(CanBusDeviceInfoBox) + self.descriptionLabel.setObjectName(u"descriptionLabel") + + self.verticalLayout.addWidget(self.descriptionLabel) + + self.serialNumberLabel = QLabel(CanBusDeviceInfoBox) + self.serialNumberLabel.setObjectName(u"serialNumberLabel") + + self.verticalLayout.addWidget(self.serialNumberLabel) + + self.aliasLabel = QLabel(CanBusDeviceInfoBox) + self.aliasLabel.setObjectName(u"aliasLabel") + + self.verticalLayout.addWidget(self.aliasLabel) + + self.channelLabel = QLabel(CanBusDeviceInfoBox) + self.channelLabel.setObjectName(u"channelLabel") + + self.verticalLayout.addWidget(self.channelLabel) + + self.isFlexibleDataRateCapable = QCheckBox(CanBusDeviceInfoBox) + self.isFlexibleDataRateCapable.setObjectName(u"isFlexibleDataRateCapable") + self.isFlexibleDataRateCapable.setEnabled(True) + self.isFlexibleDataRateCapable.setCheckable(True) + + self.verticalLayout.addWidget(self.isFlexibleDataRateCapable) + + self.isVirtual = QCheckBox(CanBusDeviceInfoBox) + self.isVirtual.setObjectName(u"isVirtual") + self.isVirtual.setCheckable(True) + + self.verticalLayout.addWidget(self.isVirtual) + + + self.retranslateUi(CanBusDeviceInfoBox) + + QMetaObject.connectSlotsByName(CanBusDeviceInfoBox) + # setupUi + + def retranslateUi(self, CanBusDeviceInfoBox): + CanBusDeviceInfoBox.setWindowTitle(QCoreApplication.translate("CanBusDeviceInfoBox", u"CAN Interface Properties", None)) + self.pluginLabel.setText("") + self.nameLabel.setText("") + self.descriptionLabel.setText("") + self.serialNumberLabel.setText("") + self.aliasLabel.setText("") + self.channelLabel.setText("") + self.isFlexibleDataRateCapable.setText(QCoreApplication.translate("CanBusDeviceInfoBox", u"Flexible Data Rate", None)) + self.isVirtual.setText(QCoreApplication.translate("CanBusDeviceInfoBox", u"Virtual", None)) + # retranslateUi + diff --git a/examples/serialbus/can/ui_canbusdeviceinfodialog.py b/examples/serialbus/can/ui_canbusdeviceinfodialog.py new file mode 100644 index 0000000..fd391a2 --- /dev/null +++ b/examples/serialbus/can/ui_canbusdeviceinfodialog.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'canbusdeviceinfodialog.ui' +## +## Created by: Qt User Interface Compiler version 6.4.1 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QApplication, QDialog, QHBoxLayout, QPushButton, + QSizePolicy, QSpacerItem, QVBoxLayout, QWidget) + +from canbusdeviceinfobox import CanBusDeviceInfoBox + +class Ui_CanBusDeviceInfoDialog(object): + def setupUi(self, CanBusDeviceInfoDialog): + if not CanBusDeviceInfoDialog.objectName(): + CanBusDeviceInfoDialog.setObjectName(u"CanBusDeviceInfoDialog") + CanBusDeviceInfoDialog.resize(237, 225) + self.verticalLayout = QVBoxLayout(CanBusDeviceInfoDialog) + self.verticalLayout.setObjectName(u"verticalLayout") + self.deviceInfoBox = CanBusDeviceInfoBox(CanBusDeviceInfoDialog) + self.deviceInfoBox.setObjectName(u"deviceInfoBox") + self.deviceInfoBox.setEnabled(True) + + self.verticalLayout.addWidget(self.deviceInfoBox) + + self.horizontalLayout = QHBoxLayout() + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) + + self.horizontalLayout.addItem(self.horizontalSpacer) + + self.okButton = QPushButton(CanBusDeviceInfoDialog) + self.okButton.setObjectName(u"okButton") + + self.horizontalLayout.addWidget(self.okButton) + + + self.verticalLayout.addLayout(self.horizontalLayout) + + + self.retranslateUi(CanBusDeviceInfoDialog) + + self.okButton.setDefault(True) + + + QMetaObject.connectSlotsByName(CanBusDeviceInfoDialog) + # setupUi + + def retranslateUi(self, CanBusDeviceInfoDialog): + CanBusDeviceInfoDialog.setWindowTitle(QCoreApplication.translate("CanBusDeviceInfoDialog", u"CAN Interface Properties", None)) + self.deviceInfoBox.setTitle(QCoreApplication.translate("CanBusDeviceInfoDialog", u"CAN Interface Properties", None)) + self.okButton.setText(QCoreApplication.translate("CanBusDeviceInfoDialog", u"Ok", None)) + # retranslateUi + diff --git a/examples/serialbus/can/ui_connectdialog.py b/examples/serialbus/can/ui_connectdialog.py new file mode 100644 index 0000000..815fcf5 --- /dev/null +++ b/examples/serialbus/can/ui_connectdialog.py @@ -0,0 +1,252 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'connectdialog.ui' +## +## Created by: Qt User Interface Compiler version 6.4.1 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QAbstractSpinBox, QApplication, QCheckBox, QComboBox, + QDialog, QGridLayout, QGroupBox, QHBoxLayout, + QLabel, QLineEdit, QPushButton, QSizePolicy, + QSpacerItem, QSpinBox, QVBoxLayout, QWidget) + +from bitratebox import BitRateBox +from canbusdeviceinfobox import CanBusDeviceInfoBox + +class Ui_ConnectDialog(object): + def setupUi(self, ConnectDialog): + if not ConnectDialog.objectName(): + ConnectDialog.setObjectName(u"ConnectDialog") + ConnectDialog.resize(542, 558) + self.gridLayout_6 = QGridLayout(ConnectDialog) + self.gridLayout_6.setObjectName(u"gridLayout_6") + self.gridLayout_5 = QGridLayout() + self.gridLayout_5.setObjectName(u"gridLayout_5") + self.selectPluginBox = QGroupBox(ConnectDialog) + self.selectPluginBox.setObjectName(u"selectPluginBox") + self.gridLayout = QGridLayout(self.selectPluginBox) + self.gridLayout.setObjectName(u"gridLayout") + self.pluginListBox = QComboBox(self.selectPluginBox) + self.pluginListBox.setObjectName(u"pluginListBox") + + self.gridLayout.addWidget(self.pluginListBox, 0, 0, 1, 1) + + + self.gridLayout_5.addWidget(self.selectPluginBox, 0, 0, 1, 1) + + self.groupBox = QGroupBox(ConnectDialog) + self.groupBox.setObjectName(u"groupBox") + self.gridLayout_2 = QGridLayout(self.groupBox) + self.gridLayout_2.setObjectName(u"gridLayout_2") + self.verticalLayout_2 = QVBoxLayout() + self.verticalLayout_2.setObjectName(u"verticalLayout_2") + self.horizontalLayout_2 = QHBoxLayout() + self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.ringBufferBox = QCheckBox(self.groupBox) + self.ringBufferBox.setObjectName(u"ringBufferBox") + self.ringBufferBox.setChecked(True) + + self.horizontalLayout_2.addWidget(self.ringBufferBox) + + self.ringBufferLimitBox = QSpinBox(self.groupBox) + self.ringBufferLimitBox.setObjectName(u"ringBufferLimitBox") + self.ringBufferLimitBox.setMinimum(10) + self.ringBufferLimitBox.setMaximum(10000000) + self.ringBufferLimitBox.setSingleStep(10) + self.ringBufferLimitBox.setStepType(QAbstractSpinBox.AdaptiveDecimalStepType) + self.ringBufferLimitBox.setValue(1000) + + self.horizontalLayout_2.addWidget(self.ringBufferLimitBox) + + + self.verticalLayout_2.addLayout(self.horizontalLayout_2) + + self.autoscrollBox = QCheckBox(self.groupBox) + self.autoscrollBox.setObjectName(u"autoscrollBox") + + self.verticalLayout_2.addWidget(self.autoscrollBox) + + + self.gridLayout_2.addLayout(self.verticalLayout_2, 0, 0, 1, 1) + + + self.gridLayout_5.addWidget(self.groupBox, 4, 0, 1, 2) + + self.useConfigurationBox = QCheckBox(ConnectDialog) + self.useConfigurationBox.setObjectName(u"useConfigurationBox") + + self.gridLayout_5.addWidget(self.useConfigurationBox, 3, 0, 1, 1) + + self.configurationBox = QGroupBox(ConnectDialog) + self.configurationBox.setObjectName(u"configurationBox") + self.configurationBox.setEnabled(False) + self.gridLayout_4 = QGridLayout(self.configurationBox) + self.gridLayout_4.setObjectName(u"gridLayout_4") + self.rawFilterLabel = QLabel(self.configurationBox) + self.rawFilterLabel.setObjectName(u"rawFilterLabel") + + self.gridLayout_4.addWidget(self.rawFilterLabel, 0, 0, 1, 1) + + self.rawFilterEdit = QLineEdit(self.configurationBox) + self.rawFilterEdit.setObjectName(u"rawFilterEdit") + self.rawFilterEdit.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) + + self.gridLayout_4.addWidget(self.rawFilterEdit, 0, 1, 1, 1) + + self.errorFilterLabel = QLabel(self.configurationBox) + self.errorFilterLabel.setObjectName(u"errorFilterLabel") + + self.gridLayout_4.addWidget(self.errorFilterLabel, 1, 0, 1, 1) + + self.errorFilterEdit = QLineEdit(self.configurationBox) + self.errorFilterEdit.setObjectName(u"errorFilterEdit") + self.errorFilterEdit.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) + + self.gridLayout_4.addWidget(self.errorFilterEdit, 1, 1, 1, 1) + + self.loopbackLabel = QLabel(self.configurationBox) + self.loopbackLabel.setObjectName(u"loopbackLabel") + + self.gridLayout_4.addWidget(self.loopbackLabel, 2, 0, 1, 1) + + self.loopbackBox = QComboBox(self.configurationBox) + self.loopbackBox.setObjectName(u"loopbackBox") + + self.gridLayout_4.addWidget(self.loopbackBox, 2, 1, 1, 1) + + self.receiveOwnLabel = QLabel(self.configurationBox) + self.receiveOwnLabel.setObjectName(u"receiveOwnLabel") + + self.gridLayout_4.addWidget(self.receiveOwnLabel, 3, 0, 1, 1) + + self.receiveOwnBox = QComboBox(self.configurationBox) + self.receiveOwnBox.setObjectName(u"receiveOwnBox") + + self.gridLayout_4.addWidget(self.receiveOwnBox, 3, 1, 1, 1) + + self.bitrateLabel = QLabel(self.configurationBox) + self.bitrateLabel.setObjectName(u"bitrateLabel") + + self.gridLayout_4.addWidget(self.bitrateLabel, 4, 0, 1, 1) + + self.bitrateBox = BitRateBox(self.configurationBox) + self.bitrateBox.setObjectName(u"bitrateBox") + + self.gridLayout_4.addWidget(self.bitrateBox, 4, 1, 1, 1) + + self.canFdLabel = QLabel(self.configurationBox) + self.canFdLabel.setObjectName(u"canFdLabel") + + self.gridLayout_4.addWidget(self.canFdLabel, 5, 0, 1, 1) + + self.canFdBox = QComboBox(self.configurationBox) + self.canFdBox.setObjectName(u"canFdBox") + + self.gridLayout_4.addWidget(self.canFdBox, 5, 1, 1, 1) + + self.dataBitrateLabel = QLabel(self.configurationBox) + self.dataBitrateLabel.setObjectName(u"dataBitrateLabel") + + self.gridLayout_4.addWidget(self.dataBitrateLabel, 6, 0, 1, 1) + + self.dataBitrateBox = BitRateBox(self.configurationBox) + self.dataBitrateBox.setObjectName(u"dataBitrateBox") + + self.gridLayout_4.addWidget(self.dataBitrateBox, 6, 1, 1, 1) + + + self.gridLayout_5.addWidget(self.configurationBox, 0, 1, 4, 1) + + self.horizontalLayout = QHBoxLayout() + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.horizontalSpacer = QSpacerItem(96, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) + + self.horizontalLayout.addItem(self.horizontalSpacer) + + self.cancelButton = QPushButton(ConnectDialog) + self.cancelButton.setObjectName(u"cancelButton") + self.cancelButton.setAutoDefault(False) + + self.horizontalLayout.addWidget(self.cancelButton) + + self.okButton = QPushButton(ConnectDialog) + self.okButton.setObjectName(u"okButton") + self.okButton.setAutoDefault(False) + + self.horizontalLayout.addWidget(self.okButton) + + + self.gridLayout_5.addLayout(self.horizontalLayout, 5, 0, 1, 2) + + self.specifyInterfaceNameBox = QGroupBox(ConnectDialog) + self.specifyInterfaceNameBox.setObjectName(u"specifyInterfaceNameBox") + self.gridLayout_3 = QGridLayout(self.specifyInterfaceNameBox) + self.gridLayout_3.setObjectName(u"gridLayout_3") + self.interfaceListBox = QComboBox(self.specifyInterfaceNameBox) + self.interfaceListBox.setObjectName(u"interfaceListBox") + self.interfaceListBox.setEditable(True) + + self.gridLayout_3.addWidget(self.interfaceListBox, 0, 0, 1, 1) + + + self.gridLayout_5.addWidget(self.specifyInterfaceNameBox, 1, 0, 1, 1) + + self.deviceInfoBox = CanBusDeviceInfoBox(ConnectDialog) + self.deviceInfoBox.setObjectName(u"deviceInfoBox") + self.deviceInfoBox.setEnabled(True) + + self.gridLayout_5.addWidget(self.deviceInfoBox, 2, 0, 1, 1) + + + self.gridLayout_6.addLayout(self.gridLayout_5, 0, 0, 1, 1) + + + self.retranslateUi(ConnectDialog) + + self.okButton.setDefault(True) + + + QMetaObject.connectSlotsByName(ConnectDialog) + # setupUi + + def retranslateUi(self, ConnectDialog): + ConnectDialog.setWindowTitle(QCoreApplication.translate("ConnectDialog", u"Connect", None)) + self.selectPluginBox.setTitle(QCoreApplication.translate("ConnectDialog", u"Select CAN plugin", None)) + self.groupBox.setTitle(QCoreApplication.translate("ConnectDialog", u"GUI Settings", None)) +#if QT_CONFIG(tooltip) + self.ringBufferBox.setToolTip(QCoreApplication.translate("ConnectDialog", u"

Use ring buffer in table view model

", None)) +#endif // QT_CONFIG(tooltip) + self.ringBufferBox.setText(QCoreApplication.translate("ConnectDialog", u"Use ring buffer", None)) +#if QT_CONFIG(tooltip) + self.ringBufferLimitBox.setToolTip(QCoreApplication.translate("ConnectDialog", u"

Limit of ring buffer in table view model

", None)) +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(tooltip) + self.autoscrollBox.setToolTip(QCoreApplication.translate("ConnectDialog", u"

Scroll to bottom table view on each portion of received frames

", None)) +#endif // QT_CONFIG(tooltip) + self.autoscrollBox.setText(QCoreApplication.translate("ConnectDialog", u"Autoscroll", None)) + self.useConfigurationBox.setText(QCoreApplication.translate("ConnectDialog", u"Custom configuration", None)) + self.configurationBox.setTitle(QCoreApplication.translate("ConnectDialog", u"Specify Configuration", None)) + self.rawFilterLabel.setText(QCoreApplication.translate("ConnectDialog", u"RAW Filter", None)) + self.errorFilterLabel.setText(QCoreApplication.translate("ConnectDialog", u"Error Filter", None)) + self.errorFilterEdit.setPlaceholderText(QCoreApplication.translate("ConnectDialog", u"FrameError bits", None)) + self.loopbackLabel.setText(QCoreApplication.translate("ConnectDialog", u"Loopback", None)) + self.receiveOwnLabel.setText(QCoreApplication.translate("ConnectDialog", u"Receive Own", None)) + self.bitrateLabel.setText(QCoreApplication.translate("ConnectDialog", u"Bitrate", None)) + self.canFdLabel.setText(QCoreApplication.translate("ConnectDialog", u"CAN FD", None)) + self.dataBitrateLabel.setText(QCoreApplication.translate("ConnectDialog", u"Data Bitrate", None)) + self.cancelButton.setText(QCoreApplication.translate("ConnectDialog", u"Cancel", None)) + self.okButton.setText(QCoreApplication.translate("ConnectDialog", u"OK", None)) + self.specifyInterfaceNameBox.setTitle(QCoreApplication.translate("ConnectDialog", u"Specify CAN interface name", None)) + self.deviceInfoBox.setTitle(QCoreApplication.translate("ConnectDialog", u"CAN Interface Properties", None)) + # retranslateUi + diff --git a/examples/serialbus/can/ui_mainwindow.py b/examples/serialbus/can/ui_mainwindow.py new file mode 100644 index 0000000..cce2375 --- /dev/null +++ b/examples/serialbus/can/ui_mainwindow.py @@ -0,0 +1,172 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'mainwindow.ui' +## +## Created by: Qt User Interface Compiler version 6.4.1 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient, + QCursor, QFont, QFontDatabase, QGradient, + QIcon, QImage, QKeySequence, QLinearGradient, + QPainter, QPalette, QPixmap, QRadialGradient, + QTransform) +from PySide6.QtWidgets import (QAbstractItemView, QApplication, QGridLayout, QGroupBox, + QHBoxLayout, QHeaderView, QLabel, QMainWindow, + QMenu, QMenuBar, QSizePolicy, QSpacerItem, + QStatusBar, QToolBar, QVBoxLayout, QWidget) + +from receivedframesview import ReceivedFramesView +from sendframebox import SendFrameBox +import rc_can + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + if not MainWindow.objectName(): + MainWindow.setObjectName(u"MainWindow") + MainWindow.resize(634, 527) + self.actionConnect = QAction(MainWindow) + self.actionConnect.setObjectName(u"actionConnect") + icon = QIcon() + icon.addFile(u":/images/connect.png", QSize(), QIcon.Normal, QIcon.Off) + self.actionConnect.setIcon(icon) + self.actionDisconnect = QAction(MainWindow) + self.actionDisconnect.setObjectName(u"actionDisconnect") + icon1 = QIcon() + icon1.addFile(u":/images/disconnect.png", QSize(), QIcon.Normal, QIcon.Off) + self.actionDisconnect.setIcon(icon1) + self.actionQuit = QAction(MainWindow) + self.actionQuit.setObjectName(u"actionQuit") + icon2 = QIcon() + icon2.addFile(u":/images/application-exit.png", QSize(), QIcon.Normal, QIcon.Off) + self.actionQuit.setIcon(icon2) + self.actionAboutQt = QAction(MainWindow) + self.actionAboutQt.setObjectName(u"actionAboutQt") + self.actionClearLog = QAction(MainWindow) + self.actionClearLog.setObjectName(u"actionClearLog") + icon3 = QIcon() + icon3.addFile(u":/images/clear.png", QSize(), QIcon.Normal, QIcon.Off) + self.actionClearLog.setIcon(icon3) + self.actionPluginDocumentation = QAction(MainWindow) + self.actionPluginDocumentation.setObjectName(u"actionPluginDocumentation") + self.actionResetController = QAction(MainWindow) + self.actionResetController.setObjectName(u"actionResetController") + self.actionDeviceInformation = QAction(MainWindow) + self.actionDeviceInformation.setObjectName(u"actionDeviceInformation") + self.centralWidget = QWidget(MainWindow) + self.centralWidget.setObjectName(u"centralWidget") + self.verticalLayout = QVBoxLayout(self.centralWidget) + self.verticalLayout.setSpacing(6) + self.verticalLayout.setContentsMargins(11, 11, 11, 11) + self.verticalLayout.setObjectName(u"verticalLayout") + self.sendFrameBox = SendFrameBox(self.centralWidget) + self.sendFrameBox.setObjectName(u"sendFrameBox") + + self.verticalLayout.addWidget(self.sendFrameBox) + + self.receivedMessagesBox = QGroupBox(self.centralWidget) + self.receivedMessagesBox.setObjectName(u"receivedMessagesBox") + self.gridLayout = QGridLayout(self.receivedMessagesBox) + self.gridLayout.setSpacing(6) + self.gridLayout.setContentsMargins(11, 11, 11, 11) + self.gridLayout.setObjectName(u"gridLayout") + self.verticalLayout_2 = QVBoxLayout() + self.verticalLayout_2.setSpacing(6) + self.verticalLayout_2.setObjectName(u"verticalLayout_2") + self.receivedFramesView = ReceivedFramesView(self.receivedMessagesBox) + self.receivedFramesView.setObjectName(u"receivedFramesView") + self.receivedFramesView.setEditTriggers(QAbstractItemView.NoEditTriggers) + self.receivedFramesView.setProperty("showDropIndicator", False) + self.receivedFramesView.setDragDropOverwriteMode(False) + self.receivedFramesView.setSelectionBehavior(QAbstractItemView.SelectRows) + + self.verticalLayout_2.addWidget(self.receivedFramesView) + + self.horizontalLayout = QHBoxLayout() + self.horizontalLayout.setSpacing(6) + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.busStatus = QLabel(self.receivedMessagesBox) + self.busStatus.setObjectName(u"busStatus") + + self.horizontalLayout.addWidget(self.busStatus) + + self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) + + self.horizontalLayout.addItem(self.horizontalSpacer) + + + self.verticalLayout_2.addLayout(self.horizontalLayout) + + + self.gridLayout.addLayout(self.verticalLayout_2, 0, 0, 1, 1) + + + self.verticalLayout.addWidget(self.receivedMessagesBox) + + MainWindow.setCentralWidget(self.centralWidget) + self.menuBar = QMenuBar(MainWindow) + self.menuBar.setObjectName(u"menuBar") + self.menuBar.setGeometry(QRect(0, 0, 634, 22)) + self.menuCalls = QMenu(self.menuBar) + self.menuCalls.setObjectName(u"menuCalls") + self.menuHelp = QMenu(self.menuBar) + self.menuHelp.setObjectName(u"menuHelp") + MainWindow.setMenuBar(self.menuBar) + self.mainToolBar = QToolBar(MainWindow) + self.mainToolBar.setObjectName(u"mainToolBar") + MainWindow.addToolBar(Qt.TopToolBarArea, self.mainToolBar) + self.statusBar = QStatusBar(MainWindow) + self.statusBar.setObjectName(u"statusBar") + MainWindow.setStatusBar(self.statusBar) + + self.menuBar.addAction(self.menuCalls.menuAction()) + self.menuBar.addAction(self.menuHelp.menuAction()) + self.menuCalls.addAction(self.actionConnect) + self.menuCalls.addAction(self.actionDisconnect) + self.menuCalls.addAction(self.actionDeviceInformation) + self.menuCalls.addSeparator() + self.menuCalls.addAction(self.actionResetController) + self.menuCalls.addSeparator() + self.menuCalls.addAction(self.actionClearLog) + self.menuCalls.addSeparator() + self.menuCalls.addAction(self.actionQuit) + self.menuHelp.addAction(self.actionPluginDocumentation) + self.menuHelp.addAction(self.actionAboutQt) + self.mainToolBar.addAction(self.actionConnect) + self.mainToolBar.addAction(self.actionDisconnect) + self.mainToolBar.addSeparator() + self.mainToolBar.addAction(self.actionClearLog) + + self.retranslateUi(MainWindow) + + QMetaObject.connectSlotsByName(MainWindow) + # setupUi + + def retranslateUi(self, MainWindow): + MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"CAN Example", None)) + self.actionConnect.setText(QCoreApplication.translate("MainWindow", u"&Connect", None)) + self.actionDisconnect.setText(QCoreApplication.translate("MainWindow", u"&Disconnect", None)) + self.actionQuit.setText(QCoreApplication.translate("MainWindow", u"&Quit", None)) + self.actionAboutQt.setText(QCoreApplication.translate("MainWindow", u"&About Qt", None)) + self.actionClearLog.setText(QCoreApplication.translate("MainWindow", u"Clear &Log", None)) + self.actionPluginDocumentation.setText(QCoreApplication.translate("MainWindow", u"Plugin Documentation", None)) +#if QT_CONFIG(tooltip) + self.actionPluginDocumentation.setToolTip(QCoreApplication.translate("MainWindow", u"Open plugin documentation in Webbrowser", None)) +#endif // QT_CONFIG(tooltip) + self.actionResetController.setText(QCoreApplication.translate("MainWindow", u"&Reset CAN Controller", None)) +#if QT_CONFIG(tooltip) + self.actionResetController.setToolTip(QCoreApplication.translate("MainWindow", u"Reset CAN Controller", None)) +#endif // QT_CONFIG(tooltip) + self.actionDeviceInformation.setText(QCoreApplication.translate("MainWindow", u"Device &Information...", None)) + self.sendFrameBox.setTitle(QCoreApplication.translate("MainWindow", u"Send CAN frame", None)) + self.receivedMessagesBox.setTitle(QCoreApplication.translate("MainWindow", u"Received CAN messages", None)) + self.busStatus.setText("") + self.menuCalls.setTitle(QCoreApplication.translate("MainWindow", u"&Calls", None)) + self.menuHelp.setTitle(QCoreApplication.translate("MainWindow", u"&Help", None)) + # retranslateUi + diff --git a/examples/serialbus/can/ui_sendframebox.py b/examples/serialbus/can/ui_sendframebox.py new file mode 100644 index 0000000..b769645 --- /dev/null +++ b/examples/serialbus/can/ui_sendframebox.py @@ -0,0 +1,188 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'sendframebox.ui' +## +## Created by: Qt User Interface Compiler version 6.4.1 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QApplication, QCheckBox, QGroupBox, QHBoxLayout, + QLabel, QLayout, QLineEdit, QPushButton, + QRadioButton, QSizePolicy, QVBoxLayout, QWidget) + +class Ui_SendFrameBox(object): + def setupUi(self, SendFrameBox): + if not SendFrameBox.objectName(): + SendFrameBox.setObjectName(u"SendFrameBox") + SendFrameBox.resize(485, 206) + self.verticalLayout_4 = QVBoxLayout(SendFrameBox) + self.verticalLayout_4.setObjectName(u"verticalLayout_4") + self.verticalLayout_4.setSizeConstraint(QLayout.SetMinimumSize) + self.frameTypeBox = QGroupBox(SendFrameBox) + self.frameTypeBox.setObjectName(u"frameTypeBox") + self.frameTypeBox.setCheckable(False) + self.horizontalLayout = QHBoxLayout(self.frameTypeBox) + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.horizontalLayout.setContentsMargins(-1, 0, -1, 0) + self.dataFrame = QRadioButton(self.frameTypeBox) + self.dataFrame.setObjectName(u"dataFrame") + self.dataFrame.setChecked(True) + + self.horizontalLayout.addWidget(self.dataFrame) + + self.remoteFrame = QRadioButton(self.frameTypeBox) + self.remoteFrame.setObjectName(u"remoteFrame") + + self.horizontalLayout.addWidget(self.remoteFrame) + + self.errorFrame = QRadioButton(self.frameTypeBox) + self.errorFrame.setObjectName(u"errorFrame") + + self.horizontalLayout.addWidget(self.errorFrame) + + + self.verticalLayout_4.addWidget(self.frameTypeBox) + + self.frameOptionsBox = QGroupBox(SendFrameBox) + self.frameOptionsBox.setObjectName(u"frameOptionsBox") + self.horizontalLayout_2 = QHBoxLayout(self.frameOptionsBox) + self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.horizontalLayout_2.setContentsMargins(-1, 0, -1, 0) + self.extendedFormatBox = QCheckBox(self.frameOptionsBox) + self.extendedFormatBox.setObjectName(u"extendedFormatBox") + + self.horizontalLayout_2.addWidget(self.extendedFormatBox) + + self.flexibleDataRateBox = QCheckBox(self.frameOptionsBox) + self.flexibleDataRateBox.setObjectName(u"flexibleDataRateBox") + + self.horizontalLayout_2.addWidget(self.flexibleDataRateBox) + + self.bitrateSwitchBox = QCheckBox(self.frameOptionsBox) + self.bitrateSwitchBox.setObjectName(u"bitrateSwitchBox") + self.bitrateSwitchBox.setEnabled(False) + + self.horizontalLayout_2.addWidget(self.bitrateSwitchBox) + + + self.verticalLayout_4.addWidget(self.frameOptionsBox) + + self.horizontalLayout_3 = QHBoxLayout() + self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") + self.horizontalLayout_3.setSizeConstraint(QLayout.SetMinimumSize) + self.verticalLayout = QVBoxLayout() + self.verticalLayout.setObjectName(u"verticalLayout") + self.frameIdLabel = QLabel(SendFrameBox) + self.frameIdLabel.setObjectName(u"frameIdLabel") + + self.verticalLayout.addWidget(self.frameIdLabel) + + self.frameIdEdit = QLineEdit(SendFrameBox) + self.frameIdEdit.setObjectName(u"frameIdEdit") + sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(1) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.frameIdEdit.sizePolicy().hasHeightForWidth()) + self.frameIdEdit.setSizePolicy(sizePolicy) + self.frameIdEdit.setClearButtonEnabled(True) + + self.verticalLayout.addWidget(self.frameIdEdit) + + + self.horizontalLayout_3.addLayout(self.verticalLayout) + + self.verticalLayout_2 = QVBoxLayout() + self.verticalLayout_2.setObjectName(u"verticalLayout_2") + self.payloadLabel = QLabel(SendFrameBox) + self.payloadLabel.setObjectName(u"payloadLabel") + + self.verticalLayout_2.addWidget(self.payloadLabel) + + self.payloadEdit = QLineEdit(SendFrameBox) + self.payloadEdit.setObjectName(u"payloadEdit") + sizePolicy1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + sizePolicy1.setHorizontalStretch(2) + sizePolicy1.setVerticalStretch(0) + sizePolicy1.setHeightForWidth(self.payloadEdit.sizePolicy().hasHeightForWidth()) + self.payloadEdit.setSizePolicy(sizePolicy1) + self.payloadEdit.setClearButtonEnabled(True) + + self.verticalLayout_2.addWidget(self.payloadEdit) + + + self.horizontalLayout_3.addLayout(self.verticalLayout_2) + + self.verticalLayout_3 = QVBoxLayout() + self.verticalLayout_3.setObjectName(u"verticalLayout_3") + self.label = QLabel(SendFrameBox) + self.label.setObjectName(u"label") + + self.verticalLayout_3.addWidget(self.label) + + self.sendButton = QPushButton(SendFrameBox) + self.sendButton.setObjectName(u"sendButton") + + self.verticalLayout_3.addWidget(self.sendButton) + + + self.horizontalLayout_3.addLayout(self.verticalLayout_3) + + + self.verticalLayout_4.addLayout(self.horizontalLayout_3) + +#if QT_CONFIG(shortcut) + self.frameIdLabel.setBuddy(self.frameIdEdit) + self.payloadLabel.setBuddy(self.payloadEdit) +#endif // QT_CONFIG(shortcut) + + self.retranslateUi(SendFrameBox) + + QMetaObject.connectSlotsByName(SendFrameBox) + # setupUi + + def retranslateUi(self, SendFrameBox): + SendFrameBox.setWindowTitle(QCoreApplication.translate("SendFrameBox", u"Dialog", None)) + SendFrameBox.setTitle("") + self.frameTypeBox.setTitle(QCoreApplication.translate("SendFrameBox", u"Frame Type", None)) +#if QT_CONFIG(tooltip) + self.dataFrame.setToolTip(QCoreApplication.translate("SendFrameBox", u"Sends a CAN data frame.", None)) +#endif // QT_CONFIG(tooltip) + self.dataFrame.setText(QCoreApplication.translate("SendFrameBox", u"D&ata Frame", None)) +#if QT_CONFIG(tooltip) + self.remoteFrame.setToolTip(QCoreApplication.translate("SendFrameBox", u"Sends a CAN remote request frame.", None)) +#endif // QT_CONFIG(tooltip) + self.remoteFrame.setText(QCoreApplication.translate("SendFrameBox", u"Re&mote Request Frame", None)) +#if QT_CONFIG(tooltip) + self.errorFrame.setToolTip(QCoreApplication.translate("SendFrameBox", u"Sends an error frame.", None)) +#endif // QT_CONFIG(tooltip) + self.errorFrame.setText(QCoreApplication.translate("SendFrameBox", u"&Error Frame", None)) + self.frameOptionsBox.setTitle(QCoreApplication.translate("SendFrameBox", u"Frame Options", None)) +#if QT_CONFIG(tooltip) + self.extendedFormatBox.setToolTip(QCoreApplication.translate("SendFrameBox", u"Allows extended frames with 29 bit identifier.", None)) +#endif // QT_CONFIG(tooltip) + self.extendedFormatBox.setText(QCoreApplication.translate("SendFrameBox", u"E&xtended Format", None)) +#if QT_CONFIG(tooltip) + self.flexibleDataRateBox.setToolTip(QCoreApplication.translate("SendFrameBox", u"Allows up to 64 byte payload data.", None)) +#endif // QT_CONFIG(tooltip) + self.flexibleDataRateBox.setText(QCoreApplication.translate("SendFrameBox", u"&Flexible Data-Rate", None)) +#if QT_CONFIG(tooltip) + self.bitrateSwitchBox.setToolTip(QCoreApplication.translate("SendFrameBox", u"Sends payload at higher data rate.", None)) +#endif // QT_CONFIG(tooltip) + self.bitrateSwitchBox.setText(QCoreApplication.translate("SendFrameBox", u"&Bitrate Switch", None)) + self.frameIdLabel.setText(QCoreApplication.translate("SendFrameBox", u"Frame &ID (hex)", None)) + self.frameIdEdit.setPlaceholderText(QCoreApplication.translate("SendFrameBox", u"123", None)) + self.payloadLabel.setText(QCoreApplication.translate("SendFrameBox", u"&Payload (hex)", None)) + self.payloadEdit.setPlaceholderText(QCoreApplication.translate("SendFrameBox", u"12 34 AB CE", None)) + self.label.setText("") + self.sendButton.setText(QCoreApplication.translate("SendFrameBox", u"&Send", None)) + # retranslateUi + diff --git a/examples/serialbus/modbus/modbusclient/doc/modbusclient.rst b/examples/serialbus/modbus/modbusclient/doc/modbusclient.rst new file mode 100644 index 0000000..122804e --- /dev/null +++ b/examples/serialbus/modbus/modbusclient/doc/modbusclient.rst @@ -0,0 +1,9 @@ +Modbus Client example +===================== + +The example acts as Modbus client sending Modbus request via serial line +and TCP respectively. The shown dialog allows the definition of standard +requests and displays incoming responses. + +The example must be used in conjunction with the Modbus server example +or another Modbus device which is either connected via TCP or Serial Port. diff --git a/examples/serialbus/modbus/modbusclient/images/application-exit.png b/examples/serialbus/modbus/modbusclient/images/application-exit.png new file mode 100644 index 0000000000000000000000000000000000000000..32be6b3f1606ed0ed83fab77687d23b34643b380 GIT binary patch literal 11200 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 literal 0 HcmV?d00001 diff --git a/examples/serialbus/modbus/modbusclient/images/disconnect.png b/examples/serialbus/modbus/modbusclient/images/disconnect.png new file mode 100644 index 0000000000000000000000000000000000000000..fd58f7a480228b072708e3ea3626f27b38fb9294 GIT binary patch literal 15092 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 last_possible_index: + self.ui.writeSize.setCurrentIndex(last_possible_index) + + def _close_device(self): + if self._modbus_device: + self._modbus_device.disconnectDevice() + del self._modbus_device + self._modbus_device = None + + def closeEvent(self, event): + self._close_device() + event.accept() + + def init_actions(self): + self.ui.actionConnect.setEnabled(True) + self.ui.actionDisconnect.setEnabled(False) + self.ui.actionExit.setEnabled(True) + self.ui.actionOptions.setEnabled(True) + + self.ui.connectButton.clicked.connect(self.onConnectButtonClicked) + self.ui.actionConnect.triggered.connect(self.onConnectButtonClicked) + self.ui.actionDisconnect.triggered.connect(self.onConnectButtonClicked) + self.ui.readButton.clicked.connect(self.onReadButtonClicked) + self.ui.writeButton.clicked.connect(self.onWriteButtonClicked) + self.ui.readWriteButton.clicked.connect(self.onReadWriteButtonClicked) + self.ui.connectType.currentIndexChanged.connect(self.onConnectTypeChanged) + self.ui.writeTable.currentIndexChanged.connect(self.onWriteTableChanged) + + self.ui.actionExit.triggered.connect(self.close) + self.ui.actionOptions.triggered.connect(self._settings_dialog.show) + + @Slot(int) + def onConnectTypeChanged(self, index): + self._close_device() + + if index == ModbusConnection.SERIAL: + self._modbus_device = QModbusRtuSerialClient(self) + elif index == ModbusConnection.TCP: + self._modbus_device = QModbusTcpClient(self) + if not self.ui.portEdit.text(): + self.ui.portEdit.setText("127.0.0.1:502") + + self._modbus_device.errorOccurred.connect(self._show_device_errorstring) + + if not self._modbus_device: + self.ui.connectButton.setDisabled(True) + message = "Could not create Modbus client." + self.statusBar().showMessage(message, 5000) + else: + self._modbus_device.stateChanged.connect(self.onModbusStateChanged) + + @Slot() + def _show_device_errorstring(self): + self.statusBar().showMessage(self._modbus_device.errorString(), 5000) + + @Slot() + def onConnectButtonClicked(self): + if not self._modbus_device: + return + + self.statusBar().clearMessage() + md = self._modbus_device + if md.state() != QModbusDevice.ConnectedState: + settings = self._settings_dialog.settings() + if self.ui.connectType.currentIndex() == ModbusConnection.SERIAL: + md.setConnectionParameter(QModbusDevice.SerialPortNameParameter, + self.ui.portEdit.text()) + md.setConnectionParameter(QModbusDevice.SerialParityParameter, + settings.parity) + md.setConnectionParameter(QModbusDevice.SerialBaudRateParameter, + settings.baud) + md.setConnectionParameter(QModbusDevice.SerialDataBitsParameter, + settings.data_bits) + md.setConnectionParameter(QModbusDevice.SerialStopBitsParameter, + settings.stop_bits) + else: + url = QUrl.fromUserInput(self.ui.portEdit.text()) + md.setConnectionParameter(QModbusDevice.NetworkPortParameter, + url.port()) + md.setConnectionParameter(QModbusDevice.NetworkAddressParameter, + url.host()) + + md.setTimeout(settings.response_time) + md.setNumberOfRetries(settings.number_of_retries) + if not md.connectDevice(): + message = "Connect failed: " + md.errorString() + self.statusBar().showMessage(message, 5000) + else: + self.ui.actionConnect.setEnabled(False) + self.ui.actionDisconnect.setEnabled(True) + + else: + md.disconnectDevice() + self.ui.actionConnect.setEnabled(True) + self.ui.actionDisconnect.setEnabled(False) + + @Slot(int) + def onModbusStateChanged(self, state): + connected = (state != QModbusDevice.UnconnectedState) + self.ui.actionConnect.setEnabled(not connected) + self.ui.actionDisconnect.setEnabled(connected) + + if state == QModbusDevice.UnconnectedState: + self.ui.connectButton.setText("Connect") + elif state == QModbusDevice.ConnectedState: + self.ui.connectButton.setText("Disconnect") + + @Slot() + def onReadButtonClicked(self): + if not self._modbus_device: + return + self.ui.readValue.clear() + self.statusBar().clearMessage() + reply = self._modbus_device.sendReadRequest(self.read_request(), + self.ui.serverEdit.value()) + if reply: + if not reply.isFinished(): + reply.finished.connect(functools.partial(self.onReadReady, reply)) + else: + del reply # broadcast replies return immediately + else: + message = "Read error: " + self._modbus_device.errorString() + self.statusBar().showMessage(message, 5000) + + @Slot() + def onReadReady(self, reply): + if not reply: + return + + if reply.error() == QModbusDevice.NoError: + unit = reply.result() + total = unit.valueCount() + for i in range(0, total): + addr = unit.startAddress() + i + value = unit.value(i) + if unit.registerType().value <= QModbusDataUnit.Coils.value: + entry = f"Address: {addr}, Value: {value}" + else: + entry = f"Address: {addr}, Value: {value:x}" + self.ui.readValue.addItem(entry) + + elif reply.error() == QModbusDevice.ProtocolError: + e = reply.errorString() + ex = reply.rawResult().exceptionCode() + message = f"Read response error: {e} (Modbus exception: 0x{ex:x})" + self.statusBar().showMessage(message, 5000) + else: + e = reply.errorString() + code = int(reply.error()) + message = f"Read response error: {e} (code: 0x{code:x})" + self.statusBar().showMessage(message, 5000) + + reply.deleteLater() + + @Slot() + def onWriteButtonClicked(self): + if not self._modbus_device: + return + self.statusBar().clearMessage() + + write_unit = self.write_request() + total = write_unit.valueCount() + table = write_unit.registerType() + for i in range(0, total): + addr = i + write_unit.startAddress() + if table == QModbusDataUnit.Coils: + write_unit.setValue(i, self._write_model.m_coils[addr]) + else: + write_unit.setValue(i, self._write_model.m_holdingRegisters[addr]) + + reply = self._modbus_device.sendWriteRequest(write_unit, + self.ui.serverEdit.value()) + if reply: + if reply.isFinished(): + # broadcast replies return immediately + reply.deleteLater() + else: + reply.finished.connect(functools.partial(self._write_finished, reply)) + else: + message = "Write error: " + self._modbus_device.errorString() + self.statusBar().showMessage(message, 5000) + + @Slot(QModbusReply) + def _write_finished(self, reply): + error = reply.error() + if error == QModbusDevice.ProtocolError: + e = reply.errorString() + ex = reply.rawResult().exceptionCode() + message = f"Write response error: {e} (Modbus exception: 0x{ex:x}" + self.statusBar().showMessage(message, 5000) + elif error != QModbusDevice.NoError: + e = reply.errorString() + message = f"Write response error: {e} (code: 0x{error:x})" + self.statusBar().showMessage(message, 5000) + reply.deleteLater() + + @Slot() + def onReadWriteButtonClicked(self): + if not self._modbus_device: + return + self.ui.readValue.clear() + self.statusBar().clearMessage() + + write_unit = self.write_request() + table = write_unit.registerType() + total = write_unit.valueCount() + for i in range(0, total): + addr = i + write_unit.startAddress() + if table == QModbusDataUnit.Coils: + write_unit.setValue(i, self._write_model.m_coils[addr]) + else: + write_unit.setValue(i, self._write_model.m_holdingRegisters[addr]) + + reply = self._modbus_device.sendReadWriteRequest(self.read_request(), + write_unit, + self.ui.serverEdit.value()) + if reply: + if not reply.isFinished(): + reply.finished.connect(functools.partial(self.onReadReady, reply)) + else: + del reply # broadcast replies return immediately + else: + message = "Read error: " + self._modbus_device.errorString() + self.statusBar().showMessage(message, 5000) + + @Slot(int) + def onWriteTableChanged(self, index): + coils_or_holding = index == 0 or index == 3 + if coils_or_holding: + self.ui.writeValueTable.setColumnHidden(1, index != 0) + self.ui.writeValueTable.setColumnHidden(2, index != 3) + self.ui.writeValueTable.resizeColumnToContents(0) + + self.ui.readWriteButton.setEnabled(index == 3) + self.ui.writeButton.setEnabled(coils_or_holding) + self.ui.writeGroupBox.setEnabled(coils_or_holding) + + def read_request(self): + table = self.ui.writeTable.currentData() + + start_address = self.ui.readAddress.value() + assert start_address >= 0 and start_address < 10 + + # do not go beyond 10 entries + number_of_entries = min(int(self.ui.readSize.currentText()), + 10 - start_address) + return QModbusDataUnit(table, start_address, number_of_entries) + + def write_request(self): + table = self.ui.writeTable.currentData() + + start_address = self.ui.writeAddress.value() + assert start_address >= 0 and start_address < 10 + + # do not go beyond 10 entries + number_of_entries = min(int(self.ui.writeSize.currentText()), + 10 - start_address) + return QModbusDataUnit(table, start_address, number_of_entries) diff --git a/examples/serialbus/modbus/modbusclient/mainwindow.ui b/examples/serialbus/modbus/modbusclient/mainwindow.ui new file mode 100644 index 0000000..1de3819 --- /dev/null +++ b/examples/serialbus/modbus/modbusclient/mainwindow.ui @@ -0,0 +1,520 @@ + + + MainWindow + + + + 0 + 0 + 516 + 378 + + + + + 16777215 + 1000 + + + + Modbus Client Example + + + + + + + + + + 0 + 0 + + + + Server Address: + + + + + + + + 0 + 0 + + + + Connect + + + false + + + false + + + true + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + 1 + + + 247 + + + + + + + + Serial + + + + + TCP + + + + + + + + + 0 + 0 + + + + Port: + + + + + + + Connection type: + + + + + + + + 0 + 0 + + + + + + + + + + + + + 250 + 0 + + + + Read + + + + + + Start address: + + + + + + + 9 + + + + + + + Number of values: + + + + + + + 9 + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + + + + Result: + + + + + + + + 0 + 0 + + + + + + + + + + + + 225 + 0 + + + + Write + + + + + + Start address: + + + + + + + true + + + true + + + false + + + true + + + false + + + false + + + true + + + + + + + 9 + + + + + + + Number of values: + + + + + + + 9 + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + + + + + + + + + + + + + + + + + + Table: + + + + + + + + + + Qt::Horizontal + + + + 13 + 17 + + + + + + + + + 0 + 0 + + + + Read + + + + + + + Write + + + + + + + false + + + Read-Write + + + + + + + + + + + + 0 + 0 + 516 + 21 + + + + + &Device + + + + + + + + + Too&ls + + + + + + + + + + :/images/connect.png:/images/connect.png + + + &Connect + + + + + + :/images/disconnect.png:/images/disconnect.png + + + &Disconnect + + + + + + :/images/application-exit.png:/images/application-exit.png + + + &Quit + + + + + + :/images/settings.png:/images/settings.png + + + &Options + + + + + + connectType + portEdit + serverEdit + connectButton + readAddress + readSize + readValue + writeAddress + writeSize + writeValueTable + writeTable + readButton + writeButton + readWriteButton + + + + + + diff --git a/examples/serialbus/modbus/modbusclient/modbusclient.pyproject b/examples/serialbus/modbus/modbusclient/modbusclient.pyproject new file mode 100644 index 0000000..11322fa --- /dev/null +++ b/examples/serialbus/modbus/modbusclient/modbusclient.pyproject @@ -0,0 +1,5 @@ +{ + "files": ["main.py", "mainwindow.py", "mainwindow.ui", "settingsdialog.py", + "settingsdialog.ui", + "writeregistermodel.py", "modbusclient.qrc"] +} diff --git a/examples/serialbus/modbus/modbusclient/modbusclient.qrc b/examples/serialbus/modbus/modbusclient/modbusclient.qrc new file mode 100644 index 0000000..5e8e998 --- /dev/null +++ b/examples/serialbus/modbus/modbusclient/modbusclient.qrc @@ -0,0 +1,8 @@ + + + images/application-exit.png + images/connect.png + images/disconnect.png + images/settings.png + + diff --git a/examples/serialbus/modbus/modbusclient/rc_modbusclient.py b/examples/serialbus/modbus/modbusclient/rc_modbusclient.py new file mode 100644 index 0000000..2734e79 --- /dev/null +++ b/examples/serialbus/modbus/modbusclient/rc_modbusclient.py @@ -0,0 +1,3672 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.4.1 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00:\xf4\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x09\xediCCPICC Prof\ +ile\x00\x00x\x9c\xad\xd6gTS\xd9\x16\x07\xf0\ +\xff\xbd)\x84\x04B\xef- \xddP\xa4Jo\x8a\x0d\ +\x18D\x14\xb0\x02!4)\x11\x82(vP\xb0\xa1`\ +W\xb0+v\x05\x95Q\xc7\x8a\x0a\x22\x8c\xa24\x11Q\ +, 8\x22\x1d\x0b\x82y\x1f\x82e\xd6\x9bY\xef\xcb\ +\xdb\x9f\xf6\xd9k\xdd\xb3\xce\xf9\xed}\xd7:\x80\x94b\ +\x98@\x10G\x02\x88O\x10&\x05L\xf0\xe4\x04\x87\xcc\ +\xe4H\xd4\x81\x0a5H\x03\xb0\x0f\xe3%\x0b<\xfc\xfd\ +}\xf0\xaf\xf1\xb1\x1e\x04\x00\xd4\x98\x85\x09\x04q\x89G\ +\xa3\xab\x11\x97\x97\xa9\x92\xe3\xc2\xe9\x9f\xab\xfb\xf8\xdf\xbf\ +\x03\x00\xb0\x93\x82Cf\x02\x04\x17\x80b\x948w\x07\ +\xa0\x18.\xce\x03\x01(\xa6\x0a\x05B\x80\x88\x06\xa0\xc8\ +\x8b\x0e\x8b\x00\x88\xa5\x00\xb8I\x81\x01^\x00q\x1c\x00\ +;J\x9c_\x06\xc0\x0e\x17\xe7\xe5\x00\xd8\x0byQB\ +\x80h\x00(\xf2\x09\x111\x09\x00\xb5\x03\xa0\xbbF\xf0\ +\x93y\x00\x8b\x0b`^D2/\x1e`m\x04`\x19\ +\x1f\x9f\x18\x01\xb0\xae\x010\xe6\x09\x92\x84\x00\xab\x05\x80\ +Yp\xc8L\x8e\xf8\xc8\xe1\x91\x80u\x08@\x1e\xffY\ +\x9b/\x05\x14i\x02\x8a5?k&\x11\x80F\x01p\ +\xf5\xc4\xcfZ_\x00\x08\x00\x84rUr\xa4\xb5\x15\x00\ +\x80\x90\xf2\x04h/D\xa2>C@b\x0b0\x9c+\ +\x12}=$\x12\x0d\x1f\x06(M\xc0\xad8^J\xd2\ +\xc2\x11/\x82x\x00\xfc\xaf\xb5\xf8\xce#A!\x00\x02\ +$\x95\xce\x90dI\xb1e\xe4\xe4\x15\x94\x94U\xd54\ +4\xb5u8z\xa3\xf4\x0d\x8d\x8cMGs\xcd-,\ +\xc7X\xdb\xd8\xda\xd9\x8futrvqus\xf7\xf0\ +\xf4\x1a7\xde{\xc2\xc4I\x93\xa7\xf8\xf8\xfa\xfd\xe6?\ +5 p\xfa\x8c\xa0\xe0\x90\x99\xb3\xe6\xcc\x9d\x17\x1a\x16\ +\xce\x8b\x88\x8c\x8a\x8e\x89\x9d\x1f\x17\x9f X\x90\x94,\ +LY\x98\xba(m\xc9\xd2e\xcbW\xac\x5c\x95\x9e\xb1\ +&3k\xed\xba\xf5\x1b6fo\xca\xc9\xdd\xb2u\xdb\ +\xf6\x1d;w\xed\xde\x93\x97\xbfw\xff\x81\x83\x87\x0e\x1f\ +9Zp\xec\xf8\x89\x93\xa7N\x9f9{\xae\xb0\xa8\xe8\ +\xfc\x85\x8b\xc5\xbf_\xba|\xe5\x8f\xab\xd7\xae_\xbfq\ +\xf3V\xc9\xed;w\xef\x96\x96\xdd+\xbf_QQ\xf9\ +\xe7\x83\x87UU\x8f\x1eW\xd7\xd4\xd4\xd6\xd5\xd5?i\ +hx\xda\xd8\xf8\xac\xa9\xe9\xf9\x8b\x17\xcd/_\xbez\ +\xfd\xfaMKK\xeb\xdb\xb6\xb6\xf6w\xef\xfez\xff\xbe\ +\xe3CggWwwOo__\xff\xc0\xc0\xc7O\ +\x9f?\x7f\x19\x1c\xfc:44\xfc\xed\x9b\x08$\x95.\ +!\xc9\x94\x92\x96\x91\x95WPTVQS\xd7\xd4\xd2\ +\xe6\xe8\xea\xe9\x1b\x18\x1a\x9b\x98r\xcd\xcc-,\xad\xac\ +ml\xed\xc6:\xfc\x1b\xc0\xb4\x11\x80\xd9#\x00\xfc\xef\ +\x00\x89?\x00\x16\xff\x00X\xbd&3k\xed\xfa\x0d\x1b\ +\xb37m\xfeE \x7f\xef\xbe\x7f\x10\x18\x01\x10\x0b\x88\ +\x01\xee\xfc\x0d\xe0\xd1\xe3\xc7\xd55\xb5\xb5u\xf5\xff\x08\ +\xd0\xfa\x03\xa0C\x0c\xd0\xd3\xd3\xdb\xd7\xdf?\xf0\xf1\xe3\ +\xa7\xcf_\xbe\xfc\xbc?\x85FgH2Y\xd2l\x19\ +Yy\x05E%\x15U5u\x0dMm\x1d\x8e\xae\xde\ +(}\x03#c\x13\xd3\xd1\x5c3s\x0b\xcb1V\xd6\ +66\xb6v\xf6c\x1d\x1c\x9d\x9cG$~\xa5\x10\x0f\ +\xc3w\x8cY\xb3\xe7\xcc\x9d\x17\x1a\x1a\x16\xce\x8b\xf8\xe1\ +\x91\xf0\x0bH\xda\xdfE\xd6\xfdB\xf2}&\xbe\x93\xfc\ +\x93\x89\x98dd(J\xcb\xee\x95\x97\xdf\xff\x95\xa4\xae\ +\xfe\x89\xd8\xe3\xf9\x8b\xe6\x97\xaf^\xbfii}\xdb\xd6\ +\xfe\xee\xaf\xf7\x1d\x1f:\xbb\xba{z\xfb\xfa\x07>~\ +\xfe2\xf8uh\xf8\x9b\x08\x10\xff\xfb\x00@\xb7\x03\x0e\ +'\x003\x98@\xe0!`{1`\xe4\x04\xa8t\x01\ +\xfe\xd2@\xa0\x03\xc8dk\x90\x91\x91 U\x98\xa0\x10\ +\x00\x09\x80\x00\x05tHB\x06\xca\xd0\x81)\xec0\x0e\ +\x81\xe0#\x15\xeb\xb1\x0f\x17Q\x89\x16|#\xd4\x09{\ +b:\x91Ll%\x8a\x89\xa7\xc47\xd2\x80\xf4%\x17\ +\x92\xfb\xc9J\xf2\x0b\xc5\x84\x12B\xd9@\xb9I\xe9\xa7\ +r\xa9\x11\xd4\xbd\xd4\xa74UZ\x10m7\xad\x89\xae\ +G\x8f\xa6_\xa0\x8b$|$\xf6Ht0<\x18\xbb\ +\x18\xbd\x92~\x92g\x98l\xe6\x02f\x03\xcb\x8bU(\ +\xa5-\xb5I\x9a\x94N\x93\x1e`'\xb3\xfbdRe\ +\x86e3\xe5\xe4\xe4\x0e\xca\xdb\xc8W(\x84+|S\ +\xdc\xad\xa4\xaftJ\xd9J\xf9\x9a\xca\x04\x95\x1a\xd5p\ +\xd5~\xb5u\xeaZ\xea\x175|4Z5\x97i\xa9\ +h\x15k\xfbkw\xea\xe4pl8\x8d\xba\x19z\xa3\ +\xf5\xaaG-\xd5\xb7\xd0o2\xd8h\xe8b\xd8it\ +\xd08\xc8\x84mRj\x9a>\xdak\xf40\xf7\xba\xd9\ +\x0as\x0f\x0b\x9aE\xa5\xe5\xb61s\xac\x8c\xacz\xad\ +o\xda\xe4\xd8\x86\xdb\xd9\xda\xb3\xec_\x8f\xbd\xe2\xb0\xd9\ +\x91\xef\xe4\xe2\xac\xe5\xfc\xcd\xa5\xd9\xf5\x86\xdb\x01\xf7\x0c\ +\x8fH\xcf)^\xd6\xe38\xe3e\xc7\x0fywO\xa8\ +\x9fxo\xd2\xed\xc9%Sn\xfb\x94\xf9V\xfa=\xfa\ +\xad\xce\xbfi\xea\xbb\x80\xaf\x81r\xd3\x8df8\x07\x05\ +\x06\x0bB\xb2g\x9e\x99U3[4\xd7b\xde\xbc\xd0\ +\x9c\xb02\x1e\x19\xe1\xc6_\x12y5\x9a\x12\xe3\x1f\xbb\ +w~w\xfc\xe4\x84<\x01\x16\xf0\x92\xca\x84\x96)\xfb\ +S\xe5\x16\xadMc,Y\xbetp\xf9\xca\x95\xccU\ +[3tV_\xca\xf4\xc9j^\xb7d\x83\xd6\xc6\x92\ +M\xc1\x9bE\xb9\xa7\xb7\xce\xda.\xb1\xe3\xcc\xae]{\ +\x8a\xf2_\xef\x97=\xe8|Xp\xf4\xd8\xb1\xfa\x93\x92\ +\xa7'\x9d\xcd.,=/*\xf6\xba\x94~\xa5\xf2\x9a\ +\xec\x8d\xa0[Gn\xf7\x97z\xdc\xcb\xbd\xff\xf2O\x87\ +\x87\x1b\x1e\xbd\xa9\xb1\xad\xdb\xf2\xa4\xb71\xa0\xe9r\xb3\ +\xda\xab\xb47/\xde\xfa\xb7\x97\xbc\xb7\xfeP\xd0m\xd4\ +\x9b7\xa0\xf4i\xd7\xa0\xee\xd0S\x91\xe8G\xff\x99\x90\ +\x81\x0at\xc1\x85\x03&\x22\x04\xb1X\x8a\x1c\x14\xe0\x1a\ +\xea\xd0E0\x09c\xc2\x9b\x88 V\x13\x05D\x05\xd1\ +E*\x93\xaed4\xb9\x85\xbcAvP4)\xbe\x94\ +\x15\x94\x0b\x94v*\x87\x1aL\xddB}Hc\xd3\xfc\ +h\x9bi\xb5t\x0dz8\xfd4\xfd\xb3\x84\xb7\xc46\ +\x896\x863c\x1b\xa3Sr\x8a\xe4\x09&\x8b\x99\xc0\ +\xacgy\xb0\xceJiIeK\x13\xd2\x8b\xa5\xfb\xd9\ +\xc9\xec>\x99\x852C\xb2k\xe4\xe4\xe4\x0e\xfc\xcf\xee\ +\xfbj\xb4j.\xd7R\xd1*\xd6\x9e\xaa\xdd\xad\xb3\x85\ +c\xc7y\xae\x9b\xa9g\xa1\xf7dT\xba\xbe\x9d~\xab\ +\xc1\x0e\xc3\x89\x86_\x8d\xce\x19G\x9a\xe8\x984\x9a\xee\ +\x1e\x1d\xc2U\xe2>3;h\xce\xb7\xe0Z|\xb4\xbc\ +=&\xc7j\xae\xb5\x99\x0dl\x9e\xd8\x9e\xb4\xcb\xb4\x0f\ +\x1f\xeb\xea\xa0\xee\xf0\xd1\xb1\xd6\xe9w\xe7|\x97\x0c\xd7\ +X\xb7\x00w'\x0f#Oy/x\xf5\x8e\xeb\x19\xff\ +\xca\xbbi\xc2\x83\x89w'\x95L.\x99R\xe2s\xc7\ +\xb7\xdc\xaf\xf2\xb7*\xff\xda\xa9\xcd\x01\x9d\x81\xc4t\x85\ +\x19\x06A\xf6\xc1\xfe!\xd13\xd3g\x1d\x98]:\xa7\ +k\x9eF\xa8{Xt\xf8.^=\x9f\x15\xe9\x12\x95\ +\x16}=\x16\xf3\xc7\xc7\xe5\xc4\xbfH4\x17\xa4/h\ +H\xb6\x12\xe6\xa6\xf4\xa7\x86,\xba\x95f\xbad\xff2\ +\x85\xe5\xd9+\x99\xab\xb22(\xabWe\xb2\xb2\xf2\xd6\ +\x19\xaf\xbf\xbc\xd1/\xfb\xfd\xe6\x0d\xb9F[J\xb6\xf1\ +v(\xee|\xbe\xfbI>}\x9f\xcd\x01\xfe\xa1\xddG\ +\x1e\x1c\xa3\x9cp<\x15\x7f\xe6\xf4\xb9\xb6\xf3\xdc\x8b)\ +\xbf\x17_\xfer\xd5\xf9\xfa\xea\x9b\x8fnk\xdd\x0d+\ ++*\x1f\xaa\xf4{\x90_\xf5\xa1\xda\xb3vg\xfd\xdb\ +\xa7\xf6\xcfr\x9e\xb7\xbet{\xbd\xa3\xe5C\x9b\xef\xbb\ +\xfd\xef\xbft\xce\xe8\xbe\xde\xa77\xb0\xf6S\xd7\xe0\x9c\ +\xa1\xee\x91\xfe\x93`A\x16\xca\xe0\xc0\x1c.\xf0C8\ +R\xb1\x09\x05(\xc1\x0b\x0c\x13\xda\x84;\x11A\xac#\ +\x8a\x88&\x92A\xda\x91Q\xe4N\xb2\x92BR\x9c(\ +)\x94\x22J7\xd5\x8a*\xa4\xfeA\xa3\xd0\xfchy\ +\xb4\xf7tW\xfa6z\x87\xc4\x04\x89\xa3\x0c:#\x96\ +Q-\xe9*y\x86\xa9\xc3\xdc\xc1\x92eeKIK\ +m\x96V\x92>\xc4\xb6f\x97\xc9\xcc\x91\xf9,\xbb]\ +\xceN\xaeI>K\xc1N\xa1]1_\xc9K\xa9Y\ +y\xad\x8a\xb9J\x83\xea\x1a5;\xb5v\xf5|\x8di\ +\x9aL\xcd[Z\x8b\xb5m\xb4\xbbu\x0a9\xc9\xba\x8e\ +z\x14\xbd{\xa3r\xf5C\x0d\xcc\x0d\x86\x0d+\x8d\xf2\ +\x8c\x13L})\xe6\x8a\xe9\x1f\x8d\xd7\xf2n\x04\xddR,\xa9\ +\xbd\xb3\xbdt\xfa=\xa5\xf2\x9a\x8aM\x7fNy\xc8\xac\ +*{\xbc\xa8\xc6\xaa\xb6\xbd\xfe`Cp#\xfb\xd9\x8d\ +\xe7\xf3\x9b\xd5_V\xbc\x16\xb6\xa8\xb6\xdeh\x8b}\xc7\ +\xf8\xebP\x87\xf7\x87\x97]Kz\x94zO\xf4;\x0c\ +T|\x9a\xf5\xb9cp\xed\x90\xeap\xa3H\x04\x88\xdf\ +\x8b\x00\x00Z\x8co\x18\x0f\xff\xe7\x88\x8fK\xf9\xbe'\ +\x09@\x8a\x9f0}\x1a\x00\x06\x00c\x81\xd0?\xf0{\ +\x8e\x18\xf8\x22\x0c<\xf1;\x15\x00\xe8\xb2@\xbe\x11\x00\ +\x5c\xf6M\xfa\xaf}\x85\xfcEB\x00\xf0J\x14,N\ +\x8a\x89\x8a\x16r<\x04\x828>\xc7+1^\x90\x22\ +\xe4'q9\x93\x12x\xe6\x5c\x8e\x95\xa5\xa5-\x00\xfc\ +\x07\x8f\x08\x91L8\xcf\x9b\xb0\x00\x00 \x00IDA\ +Tx\x9c\xed}y\x98\xdcV\x95\xef\xefJ\xaa}\xed\ +\xaa\xde\x17o\xb1\xe3v{K\xec8\xdb\x04\x08\x84I\ +X\xb2\x10\xc0\xc0\x83\x19f\x08o\xc20\x0f\xde\x1b\xc2\ +\x00o\xd8g\x80\x84-\xc0\xcc\x03\x860\x0cd\xb2\xd8\ +$&\xb6\x13'1^\x12;\xc6\x8e\x1d'\x8e\xed8\ +^:\xee\xd5\xbdUwuwu\xd7.UIz\x7f\ +H*]\xa9T\xd5\xbb\xed\x04\x9f\xef\xd3'UI\xba\ +\xba\xba\xe7w\xcfv\xcf\xbd\x22\xb2,\xe3\x12\xfd\xf9\x12\ +s\xa1+p\x89.,]\x02\xc0\x9f9\x15\x01\x80\xa8\ +t!*s\x89\xce?\x95\x94\x00\x97@\xf0\xe7Ae\ +U\xc0%\x10\xbc\xf5iB\x1b\xe0\x12\x08\xde\xda4)\ +#\xf0\x12\x08\xde\xba4i/\xe0\x92q\xf8\xd6\xa4)\ +\xbb\x81\x97@\xf0\xd6\xa2\x22\x00L&2x\x09\x04o\ +\x1d\xb2\x94\x00\x97@\xf0\xe7C%U\xc0dA\xf0\xed\ +o\x7f\xfbR4\xf1ML\xc4\x82\xd1\x86\x9e]\xae\xa3\ +?\xf0\xc0\x03\x5cSS\x93k\x98e\xc5\xbf\xbe\xf9\xe6\ +\xd4\x1c\xd4\xef\x12\xcd1\x15\x01\x80\x10R\xfc\x9fr\xc2\ +\xf0\xdf\xeb\xaf\xbfn\xcbf]\xaeh4\xe6\x16\x88\xe0\ +!\xac(\xdc\xf6\xee\x1b\xce\xcdq}/\xd1,\x93%\ +\x00\x00\x00\xb2\x0c\xb3l\xd0Nuvv:\x12\x09\xc6\ +e\xb3\xc1%I9\xcf\xc0\xf0\x98O\xe0\x05\x9f$\xc9\ +\xb9t\xbc\xef\x95\xf5\xeb\xd7\x0b\xe7\xa3\xf2\x97h\xe6T\ +\x1a\x00\x80\x15\x08HOO\x8f\x03\x80+\x9b%nQ\ +\xccy`c\xbd\xc8I\xbe\x91\xb1\xb8?\x9eJ\xfb\x19\ +\x199\x9e`\xef\xed7];x\x1e\xea\x7f\x89fH\ +\xe5\x00\xa0\xede\xf5\x1a\x02\xc0\x09\xc05:\x9aq\xc7\ +\xb31\x8f$\x12\x9f,\x88\xbe\xbc,\xfb\x09d\xff\xd8\ +X\x220\x1aO\x05\x01\xd9Ar\xe2#\xb7\xdcr\xfd\ +\x99\xf3\xf6&\x97hZT\xca\x827(\xfcM\x9b6\ +1\x00\x5c\x00\xdc\x00\xbc\xa1\x90\xcbW\x1d\x0c\x06\x1c\x8c\ +=\xe0p\xd8\x83\x840AIFE \xe0\x0dU\x86\ +\xfd!\x16hd\xec\xdc\x0fw=\x7f\xe8}s\xfd\x02\ +\x96\x95\x9f\x80.D\x9d.V*%\x01\x0a\xbd\x7f\xcf\ +\x9e=lUU\x8b3\x1cv\xbbkk\xbdn\x00^\ +u\xf3\xe7\xf3y\xff\xe0\xf0\xb8_\x96\x11\x10x>\x98\ +\xcb\xe5\x832P!\x08\xf9\xd0pt4$B\x0eC\ +\x96\x9f\xf8\xcbw^\xfd\xd5Y\xaf\xf8\xe4\x19Yx\x97\ +\xc9\x96-\xff\x19\xe5\xc9Y\xb9\x81\x85\xc6}\xe5\x95W\ +8\x8f\xc7\xe3\xb4\xdb+\xdc\x1c\x07\x8f\xcf\xe7\xf1TT\ +x}\x00|\x00\x02\x00\xfc\x00\x02C\xc3cA1\x97\ +\x0ffs\xf9\x10\x9f\xe5+ #\x9c\x97\xc4\xd0\xc8h\ +<\x9c\xcb\xe5\x02\x90\x99\xa7\x92$\xf1\xa9\x0f\xdcx\xe3\ +\xd8\xb4+Z\x9a\xe1V\xff\x9b\xd5\x98Fr\x89\xe3r\ +\xff\xbd\xa5\x01Q\x12\x00\x8f?\xfe\xb8\xad\xa2b\x91\xab\ +\xae.\xec\xb2\xdb\x19\x0f\xe7rzY\x06>\x9b\x8d\xf3\ +\xd5U\x85\xfcP\x00\x10\x00\x10\x04P\x11\x1bKT\xf0\ +|.\xc4\x0b\xf9P&\x9b\x0d\xcb\x92\x14\x96$\xd97\ +6\x9e\x22\xbc\xc0C\x96\xe5c\x099\xf9\xce\xc9\x82\xa0\ +\x04\xc3i\xc6\x9a\xcf\x93\x12\xd7\xd1T\x0a\x00V\xc7\xe6\ +\xbd\xf2\xe3-\x06\x06K\x00\x00\xc0\xf6\xed\xdb\x1d\x02\xe7\ +\x0f\xbb\xed\xac\xa7\xa1\xbe\xd6\xcb\xb1\x8c\xd7\xc1\xda\xfd\x8c\ +\x8d\xf5\xdb\xedl \x14\x08\x04l66\x08\xa0B\xdd\ +B\xf1D:\x94\xced\xc3\x92(\x85\xe3\x89\x94G\x06\ +\x08d`l<\x89L6\x0b\xc8\xf2X^\x96\xdey\ +\xf3\x8dW\x1f+Y!#\xe3\xad\x18n\xfe\x8fl\xd8\ +\xb0!\xb0n\xdd\x0dW\xf8|\xae\xf96\x9b}>\x00\ +\xb0,7\x8f\x10f>\x000\x8cr\x8b(\x8a\xdd\xa2\ +\x98/\xc4*\x92\xc9\xf4k\xa2\x98\x1b;th\xff\xb1\ +\x8f\x7f\xfc\xe3\xe3P\x98\xadm0\xed\xe9\xff\xdf2@\ +(\x09\x00\x00\xd8\xbe}\xbb\x9f\xd8\x83\x8b\x1dv\xceW\ +W\x15\xf6\xb3v\x9b\xdf\xc6p\x01\xbb\xd3\x1e \x04\xc1\ +\xcap\xa0\xc2\xc6q!\x00!\x00!\x09\x08g\xd3|\ +(\x99\xce\xb8eYF<\x9eB>\x9f\x87\x0c \x93\ +\xe6\x11O\xa6 \xcb\xf2\x98\x0c|\xe1\xa6\xb7\xaf}\xb0\ +P\x89\xf2L\xd7~3\xda\xf1\xce\x9d{\x17\xae^\xbd\ +\xf26\x87\xc3\xf96\x8e\xb3\xadbYv\xde\xb4^\x9e\ +z\xac(\x8a\xe7$)\x7f<\x9b\xcd\xee\xef\xef\x1f\xd8\ +\xb7zu\xcb1\x18\x19o\xde\x00\xbc\xf9\x81P\x16\x00\ +\x00\xb0u\xeb\xde\xa0\xc3\xe3\xbc\x9e\xb3\xb1\xe1\xfa\x9ap\ +\xc0f\xe3\x02\x1c\xc7\x05].{\x05!l\xc8\xefu\ +\x87\xdcnGH\x02\xc2\x90\x10&\x04\x0e^\xc8#\x99\ +LA\x92e$\x12)\xf0|\x0e2\x00!\x97\xc3\xf8\ +x\x12\x90eH\xa2t\xcfM\xef\x5c\xf73\xad\x1e\xd4\ +\xbe\x88\xe9\x9f\xfe\xf4\x97\x17\xdez\xeb{\xde\xbeb\xc5\ +\x92[kk\xabV\xb1,g\xc9\xf0\xd94\xf0EQ\ +<\xc7\xf3\xd9m\xbd\xbd\xbd\x8fP`\x90\xf0\x16\x03\xc2\ +\x84\x00\x00\x80\x1d;\x0e\x86d\x8eY\xcf\xb1\xa4:\x1c\ +\x0eV\xb8]\xae\x0a\x1b\xc3T\xb8<\xce\x10!$\xec\ +\xf7zBN\xa7#D\x08\xec2\x00\xc8@>/\x22\ +\x95NC\x14%$\x92\x19\xa43\x19@\x06\x84\xbc\x88\ +D\x22\x05I\x92 \x89\xd2\x7f\xdft\xe3UwAw\ +G\xb5^N\xee\xbc\xf3\x13\x15\xef}\xef\x07?\xb9r\ +\xe5\xd2O,\x5c\xd8\xb8\xd2\xe7\xf3\xea\x95\x9e\x06\x9fg\ +\x02\x0e\x0d\x0cO=\xf5\xc4w?\xf5\xa9O\x8d\x01\x10\ +a\x01\x847#\x08&\x05\x00\x00x\xf0\xc1\xbd\xce\xda\ +y\xae\xcf\xb3\x84\xac\x08W\x04C\x1e\x8f3\xc4\xb0L\ +\xc8\xe7q\x87\x09C*\x5cN\x07\xe7\xf5\xba\xb5\xa6P\ +ZE\x92\x91L) Hgx\x8c\xc7\x93\xca9I\ +\xc6x<\x0dQ\xccC\x92\xa5\xe3\xbb\xfe\xb4\xe3\x96\xfb\ +\xbe\xf6\xb5q\x00\xccg>\xf3\xc5\x05k\xd6\x5c\xf7\xd5\ +\xb5kW~b\xd9\xb2\xcb\xa6\xfeBS\xe4\xf3T\x80\ +\x91\xcb\x09'\xfe\xf3?\x7f\xf9\xde/~\xf1\x8b1(\ + \xd0$\x82\xa4^\x22\xbf\xd9@0i\x00\x00\xc0\xb6\ +m\xdb\xdc.o\xf57$\x90\x1b}^O\xb8\x22\xe8\ +\x0b3\x84\x04|>\x0f\xcb\xb1\x0c\x1c\x0e;\xbe`A\xe3\xc4\ +\x15\x9fF\x8f\x9e\x0dp\xe4r\xc2\x89\x7f\xfb\xb7\x1f\xbf\ +\xff\x1b\xdf\xf8\xc6(t\x10\x18T\xc3\x9b\x09\x04S\x02\ +\x80F\xbb\x9f\x7f\xf9\x07 \xb8\xdb\xedv\xf9\xc3!?\ +\x03B\x10\xf0{\xc0\xb1,X\x96\x85\xcf\xe7\x06\x01Q\ +\xe4\x80\xac\xb4NN\x10\xc0\x0b9\xe4s\x22F\xc7\xe2\ +\xc8\x09\x8a]\x90Ld088\x82\xba\x9a*\xacX\ +qyq\x05\xcf\x93\xb8\x9f\xca-\x82\xc0\xbf~\xdf}\ +\xffz\xdb\x0f~\xf0\x83\x11\x00y(\xafhP\x0bo\ +\x16\x10L\x0b\x00\x00\xb0k\xcf\xcb\xdfb\x19\xe6\xdb6\ +\x9b\x0d\xe1\xb0\x1f\x0c!\xf0z\xdd\ +\x05\x02\x06--\x13\xeb\xf9\xf2<\xbbp\xe0\xe0\xf9\xec\ +\xc9\x03\x07\xfe\xf4\xb9\xdbn{\xefQ\xe8 \xa0m\x83\ +\x8b\x1e\x043\x02\x00\x00\xec\xde\xfb\xca\x8d\x0c\xc1\x16\x86\ +e\x82\xe1\x8a\x00X\x8e\x85\xd3\xe1D0\xe0\x01!\x04\ +\x0e\x87\x0d\x1c\xcb\xd1\xfe\x12^z\xe95\xd4\xd5\xd5\xa1\ +\xa6&l\xac\xcc\xb4\x98V\xee\xec\xdc\x83C\x14\xf3\xf1\ +\x17^\xd8s\xc7m\xb7\xbd\xf7\x18\x80\x1c\xded \x98\ +1\x00\x00`\xe7\xde\xc3Wp\x0c\xbb\x87a\x98\xa0\xdf\ +\xef\x85\xc3n\x83\xd3aC0\xe8\x03C\x18\xd8\xed6\ +p\x1c\x07\xc82\x0e\x1f>\x81\xa6\xa6F\x84B\xfeR\ +U\xb2\xfewV\xc1Q:\x8dq:\x86\xa2(\xe6\xe3\ +\xbbv\xed\xb8\xf3C\x1f\xba\xe3U(\x92\x80V\x09\x17\ +5\x08f\x05\x00\x00\xb0u\xef\xde`\x80\xf1\xed!\x84\ +\x5c\xe1\xf3{\xe0\xb4\xdb\xc1\xd9XT\x85+\xc00\x04\ +,\xcb\xe2\xf8\xb17\xd0\xd4\xd4\x80`\xd0W\xbeR%\ +\x99p\xf1\x82C\x14\xf3\xf1\xdd\xbbwZ\x81\x80\x0e \ +]t\xb1\x82Y\x03\x00!\x84<\xfa\xf4\xd3\xc1Z_\ +\xed\x16\x96a\xde\xe1t:\xe0\xf18\xc12,*\xc3\ +A\x9c>\xd5\x8e\xf9\xf3\x9bL\xcc\x9f\x1d\x83\xac\x5cY\ +\xe7\x13\x1c\x14\x08\x8eBQ\x07\x17=\x08f\x05\x00\xa6\ +,\x22\xb2{\xcf\xe1\xdfr\x1c\xf7I\x87\xc3\x0e\x8f\xc7\ +\x85\xfe\xde!\xd4\xd5Vc\xde\xbcz\xd3}eK\x9d\ +b\x1d\xa6^V\xb9{FGcH$\xc6\xd1\xd8\xd8\ +\x04\x96e'q\x8f\x02\x0eE\x1d\xfc\xf1\x83\xeb\xd7\xdf\ +\xf9*\xde\x04 \x981\x00\xcc\xcc\x87\xd2\x12\xcc\xb3\xbb\ +\x0e|\xd3\xe3\xf2|5\x93\xc9\xc2\xedpa\xe5\xcab\ +\x1f\xbf|\xb9e\xcf\xceYY\xf1x\x1c\xbd\xbd=\x88\ +\xc7\xe3`\x18\x02\x8f\xc7\x8de\xcb\x96\x1b@0\xd1s\ +DQ\x8c\xef\xda\xb5C\x03A\x9e\xda.:\x10\xcc\x16\ +\x00\xe8\xc1\x1bV\xddl\x8f\xff\xe1\xd9\xcf\xb1\xc4\xf9\xdd\ +\x1bn\xb8\x0a6\x9b\xad\xc4\xfd\xd3yf\xc93\xd3.\ ++\x9dN\xa3\xab\xab\xb3\xc0x\x80\xa8\xe7\x08\x1c\x0e'\ +\x9a\x9b\x97\xc1n\xb7O\xba\xce\xa2(\xc6w\xef.\x02\ +\x81\x160\xbah@0\xa3Y=e\x98\xcf\x01\xb0\x8d\ +\x8d\xa6oX\xb5\xaa\x19\x1c\xc7\xa93\x8d\x8a7Y\x96\ +!\xcb\xb0\xdcJQ\xa9\xebK=\xa3\x5c6X6\xcb\ +\xa3\xad\xad\x0d\xc7\x8f\x1fG<\x9e\x80&\xc8\xb4W\xe3\ +8\x0e\xf5\xf5\xf5\xb0\xdbmT\x9dK\xd7A#\x96e\ +\xfd\xef~\xf7-\x9b7m\xda\xb2\x06\x80Mm\x13\xad\ +}\x0aC\xdb\x17:Gq\xda\x12\xc0$\xfa\x19u\xe3\ +\xd4\xcd\xfe\x9d\xef\xfc\xfb\x1dk\xd7\xae\xfb\xcd5\xd7\xac\ +\x9edy%\xcfL\xf1\xfa\xc9=C\x14E\xf4\xf6\xf6\ +```\x00:\x8e\x09\x18Fq\xedX\x96CMM\ +-jjj,\xc5\xffd\xeb+\x8ab|\xe7\xceg\ +?\xf4\xb1\x8f}\xf8(\x00\x01z\x9c\xe0\xa2\x90\x04\xd3\ +\x02\x80\x05\xf3\x09(\xe6_w\xdd;\xaa>\xfb\xd9/\ +\xed\xba\xf6\xda5\x8d\xa1P\xc0|\xef\x14\x9fU\xf6\xec\ +\x94\xef\x11E\x11\x03\x03\xfd\x88D\x06\x90\xcfK D\ +\xa9\x93\x965D\x08PYY\x85\xfa\xfa\x06U\xe4\xcf\ +|\x5cA\x14\xc5\xf8\xc1\x83/\xdd\xf5\xfe\xf7\xbfk/\ +\x8c\x86\xe1\x05\x07\xc1L\x00@\x1b}\x05\xb1\x0f\xc0\xf9\ +\xf3\x9f?\xf4\x95\xc5\x8b/\xff?W]\xb5r\xaa\xe5\ +N\xf1\xfa\xb2g\x8b\xfe\x89F\x87p\xee\x5c\x17\xf2y\ +\xb1\xd0\xeb\x09\xd1S\xc6|\xbe\x00\xe6\xcdk\x82\xcbe\ +\x1c\x97\xa0\x9f\x13\x8d\x0e!\x12\x89\xe0\xb2\xcb\x16\xc3\xed\ +\xf6L\xa9\xbemmg\xbfp\xd5U+\x1f\x86\x11\x04\ +\xe6\xd1\xc4\xf3\x0a\x04n\xaa7X\xa4o\x19\x00\xb0v\ +\xed\xdb+++\xab\xefjh\xa8)\xa9\xc7K1\xae\ +\xdc{[\x81\xa3\x5c3\x11\xa2\x9f\x8cF\x87\xd0\xdb\xdb\ +\x0b\x9e\x17\x0a=^\xc7/`\xb7;\xb0`\xc1\x22\xf8\ +\xfd\xd6\x01*YV\xbc\x83\x8e\x8e6d\xb3J\x19'\ +N\x9c\xc0\xa2E\x8bPUUU\xaa\x06E\xff,^\ +\xbc\xe4\xa7\xaf\xbcr\x02*\x08\xccT\xc8)P\xe7g\ +\x9e\x17\x10L\x19\x00*\x95\x92\x00\xf6\xbb\xee\xfa\xf4\xdd\ +\x1cg\xf3UV\x86J\xde\x5c\x9eq\xa5\xee\xb1\xbe\xa9\ +\x94\xd4\xd0\x98\xa6\xb9t\x84\xe8V\xbd\xd6\xf3\x1d\x0e;\ +\x1a\x1a\x1a\x10\x0eWR\xcf(v\x0b\xfb\xfaz\x10\x8f\ +'\x0a\xe0QT\x06\xd0\xd5\xd5\x09\x8e\xb3!\x18\x0cZ\ +\xd5\xc0\xf2]\x16/^\xac\x81\xe0\x11\xe8m\x98WO\ +\x9fw\x10L\x09\x00\x16\xbd\x9f\xa56\x1b\x00{8\x5c\ +\xfd\xc1\x8a\x0a?X\x96\x9dr\x8f\x06\xa6\x0e\x0e\xabg\ +\xa4Ri\x9c;\xd7\xa9Z\xf5:\xd3\xb4c\x9bM1\ +\xf0\xaa\xabk\xd4z\xd2\xcfP~\xf0<\x8f\xee\xeeN\ +\x8c\x8e\x8e\x19\xa4\x86V\x8e\xdd\xee@}}\x03\x02\x01\ ++\xe6\x97\x7f\x97\xc5\x8b\x17\xff\xf4\xd0\xa1\xe3\xe4\xdak\ +W\xd3\x92\xe0\x82\x80`:\x12\xc0\x10\xf0\x01\xc5\xfc\xfb\ +\xee\xfb\xf9\xc7\x1c\x0eg} Pj\xa0G\xa7\xb9\x00\ +G6\xcb\xa3\xaf\xaf\x17\xd1\xe8\x90\x81\xe1\xf4qee\ +%\x9a\x9a\xe6)\x83S\x16\x94\xcd\xf2\xe8\xed\xed\xc5\xf0\ +p\xd4T\x17Ejp\x1ck\xf2\x0ed\xc8ric\ +\xc4\x1a\xb4\xc0\xd2\xa5\x97\xff\xe4\xd0\xa1\xe3\xb8\xf6\xda\xd5\ +\x8fP\xa7D\xed\x12\xa8v\xc1\x5c\x83`\xa6*\x80v\ +\xfdl\xf5\xf5\x0d\xef&\x84 \x10\xf0\x1b\x18\ +\xbfAGkEh\xcf\xa0\xc5\xb4U\x8f\x07\x80pX\ +a\x9a\xd3\xe9(\xf9\xd2Z$QS\x19F\xf0\x00~\ +\xbf\x0f\x8d\x8d\xf3\xe1v\xbbJ\x96A\xd7\xcf\x8a\xe8v\ +\x09\x06\x83\xeb\xdb\xda\xfa\xb0xq\xc3\xe7`dv\xc1\ +; \x84\xccJ\xc8x&q\x00\x83'@\x08\x08\xc3\ +\x10H\x92\xf22\xed\xed\xddhn^\x04\x97\xcb\x0dQ\ +\x94\x0a7\xeb\xcb\x0dY\x14L1\xee\xf8\xf1#\xd0\x19\ +\xc5P\x0d\xa4\xe8\xe8\xba:EG[\xcf\xdeQ\xc4\xb4\ +f\xd9\x9b\x19O\x08\x81\xcf\xe73\x81\xa7\xb8-c\xb1\ +Qtww\xab\x8c\xd7%\x8e&5\x9cN\x07\xe6\xcf\ +_h0\x12K\x95\xa5\xbf\xe3\xe4\xd4` \x10\x5c\x7f\ +\xf6l\x1f\x96,i\xf8\x9cv\x09\xf4\xf8\x00\xc1,\xa9\ +\x82\xe9H\x00mo\xf0\x04dY\x22\xca0\xaa\xf22\ +\x92\x04\xb4\xb5u\xa3\xa5e\x09\x18\x86C>\xaf\x83\x80\ +a\xac\xeb\xac\x81\xc3\xe1p\xa0\xb9y9\xce\x9e=\x0b\ +I\xd2\x19\xc8q\x1c\x1a\x1a\x1aP]]C\xddSJ\ +L\xe7Q,5\x14\xa6566!\x18\xac\xa0\x9e\xa9\ +\xbe\x14eo\xf4\xf5\xf5\xaa\xb6B\xb1\xd4`Y\x0eM\ +MM%\x01X\x8e\xa6\x02\x8e`0\xb8\xfe\xc5\x17\x8f\ +\x1e\xbc\xfe\xfa+\x1f\x811\xb9A\xeb\x80s/\x01,\ +\x12\x164\xe6\xd3 *\x15.R\x80 \xe1\xf4\xe9\ +\xb3X\xb6l\x098N\x07\x81$\xa1$i\xe0\xf0\xfb\ +\xfdX\xbd\xfa\x0a\xb4\xb7\x9fE2\x99@]\x9d\xc2x\ +%\xb9\xc4\x5cGZL\xf3*\xc3\x0b9\x17\x00\x94\xf1\ +\xfd\xfa\xfazTW\xd7\x94dZ6\xcb\xa3\xa3\xa3\xad\ +\xc0x\xb3\xad\xa1\x19\x89Z\x08\x19\x98\xbb\x18\x87F\xe9\ +4\xbf\x00J\xa4U\x82q\xe4pV\xa4\xc0t\x8d@\ +\x80\x9a\xca\x0d\x80\xd1\x1b\xcc8\xa0\x22\xcb2N\x9fn\ +CK\xcb\x12\xd8\xed6\xf0\xbcb\xd4\x96j\x1b\x1a\x1c\ +\x0c\xc3b\xc9\x92f\x08\x82\x00\xbb\xdd\x0e\x86\x01\xcc\xa0\ +W\x5c\xbav\x08BV}\xbe\x96\xe4\xa43\xb0\xbe^\ +\x03\x8f5\xd3x^\xb77h\xa9A\xeb\xfap\xb8\x0a\ +\x8d\x8dMT\x19T\xc3\xccr\x8cCy\xaf\x14\x9e|\ +r\x17\x9eyf\x17\x07\xc0\x0e\x8b\x09'\x98\x05)0\ +\x938\x80\xb6'\x00\x08!\x1c\x14#P\xbbD\x07\x02\ +-\x09\x1c\x0e\x0e<\x9f\x9f\x94-\xa0\x91\xe6K\xd3\xe0\ +H$\x141\x9dH\xc4\xd5{t\x11\xad3\xadR\xb5\ +\xca\x1dj=\x8c\xe5\xe6\xf3\x22\x06\x07\x07\xd0\xd7\xd7c\ +ik\x10\x02\xf8|^\xcc\x9f\xbf\x08\x0eG\xe9(\xe0\ +l\x8en\xb2,\x83\xbd{_\xc2SO\xedE2\x99\ +\x82,K\xdaX\x0b=\xeb\x88\xee\x883\xa2\xc9\x02\xc0\ +\x1c\x07\xd0\xf6\x94\x04\x90\x89n!\xcbE@P$\x81\ +\x0e\x82l6\x0fz\xcc\x9e\xa6r\xe0\x10\x04\x1e\x9d\x9d\ +m\x88\xc7\xc7)\x8b\x5c\x17\xf9\x0a\xd3\x14\xab\x5c\x0fI\ +\x1b\x9f\x93\xcf+F\xe2\xe0`\x04\xa2\xa8\xb9\xd9\x8c\xa1\ +<\x8f\xc7\x8d\xc6\xc6\xf9\xa0\x17\xa6\x98\xcb\xd1MB\x08\ +\xfa\xfb#x\xf0\xc1\xad\xe8\xee\xee/\x94\x17\x8f\x8fv\ +@\xcf)\xccAW\xbb\x12u\xef\xb4\xd5\xc0t%\x00\ +MD\xadD\xa1\xe7i\x0c4\x03A\x96e\xb4\xb6\xb6\ +c\xf9\xf2%\xf0z\x1dH&\xf9\xd2\x85\x96\x00\xc7\x1b\ +o\x9cA&\x93\x82\x86=\x85\xf1\xca\xf3\x1c\x0e\x07\x16\ +,X\x00\xaf\xd78\x1aIK\x8e\x91\x11\xdaV\xd0t\ +\xbc.\xf6\xedvc\x08y.C\xda\xb2\x0c\xb5\xbdd\ +l\xd8\xf04^|\xf1\xd5B\xb6\x92V\x1f\x9e\xcf\xa4\ +aL*5\xa8^\xcc0.0\x1d\x1b\xc0\xf2\x9c\x12\ +\x06f\xd4\x06\x93J\x02A\x92D\x9c:u\x16--\ +K\xe0\xf39\x90Hd-\x8b-\xd5\x9e\xcd\xcd\xcb\xd1\ +\xd3\xd3\x85\x91\x91\xe1\x0238N\xb1\xcaC\xa1J(\ +\xd2\xa6\xf8\xbe\xb1\xb1Qtww!\x97\xe3\xa1\xebv\ +\x1d<,\xcb\xa1\xba\xba\xa6`\xe0I\x92\xac\xda\x1cV\ +\xf5\x9a\x9c\xea\xd2\xef\xb1~\x19\x9b\x8d\xc5+\xaf\x9c\xc0\ +\xa6M;1::\xa6\x96\xa1\xe4'\xea \x10\xe9l\ +bCF\xf1l\xd0L%\x80\xae1\x0d\x12\xa0<\x10\ +DQ*\x80\xc0\xebu\x22\x99\xccNT|\x81X\x96\ +\xc5\x82\x05\x97\xc1\xef\x0f\xa0\xa7\xe7\x1c\xaa\xab\x8d\x89\x1d\ +f\xc9a\xb4\x15\x8a\x19\x0f(!\xe4\xba\xba\xfa\xa2\xec\ +\xdf\xd2\xde\xca\xcc\xc0\xc1q\x0c\xa2\xd1\x11l\xd8\xf0\x0c\ +N\x9el\x03\x00\xb8\xdd.H\x92\x08\x87\xc3\x81`\xd0\ +\x0bB\x08b\xb1\x04\x86\x87\xfb\xa2(\xee\xf9\xe7\xdd\x06\ +(G\x9a\xe9\xa5J\x00\x85\x01\x13\x01A\x92$\x9c>\ +\xdd\x86\x15+\x96\x22\x18tcl,c\xd1SJ\x0f\ +\xa5\x86B\x95j\x8f7\xdd\xa1\x16!\x08<\xda\xdb\xdb\ +\x90L\xc6-\xa3w\x84\x00\xc1`\x10\x8d\x8d\xf3`\xb7\ +[\x1b\x89\xdauVT\x0a\x1c\xe5b\x1c\x0c\xc3\x80a\ +\x80\xad[wc\xe7\xce\x17\x91\xcf\xe7a\xb7\xdb\x10\x0e\ +\x07\xe1p\xd8\xc0\xf39\x08B\x1e\x0c\xa3\xac\x9bp\xf6\ +\xec9\x0c\x0c\xb4\x0db\x96\x99N\xd3l\x00\xa0@\xb4\ +\xdf<\x19 H\x92\x84\xd6\xd6N,[v\x19\x82A\ +\x97%\x08&\x1aJ5\x93 h\xe1\xdf!\xe8\xae \ +m(*Fb]]\x03\xbc^=\x0aXZ|\x97\ +ns\xab{\xac\x80\xc1\xb2\x04v;\x87\x13'\xce\xe0\ +\xb1\xc7\xfe\x88Hd\x18\x0c\xc3\xa0\xba:\x8c`\xd0\x87\ +|>\x8f\xf1\xf1$x>\x07\x86!\x18\x1d\x8d\xa3\xbd\ +\xbd\x17\xe1p\x00\xa0b-\x98\x03\x10\xcc\x06\x00d\x00\ +\x85\x09\x154M\x06\x08<\xcf\xe3\xf4\xe9\xf6\x02\x08b\ +\xb1b\x10\x94f\x8e~\xac\x8d\xd2\xf5\xf7\xf7\x98\x98\xae\ +\x97\xa1\x19x\xe5$\x87\xd5\xebM\x17\x1c\x0cC`\xb7\ +\xb3\x88\xc7\x13\xf8\xcdo\xb6\xe1\xd5WO\x03\x00\xfc~\ +/\xea\xea\xaa`\xb7\xb3\x18\x1fO!\x1eOB\x92\x14\ +\xd5\xa0\xa9\xd2ht\x146\x1b3\xe7\x9f\xe1\x99)\x00\ +\xb4f\x93\x19F\xf3\xa1\x8b\x83A\x13\x01A\x10x\x9c\ +>\xdd\x81e\xcb\x16\xa1\xb2\xd2\x83X,e\x08\x1dO\ +F\xb7\xf2|\x16##\xd1\xa2\xe8\x1d\x00\xb0\xac\x0d5\ +55\xa8\xad\xd5\x86yKq{\xaa\xae\x5cip\xd8\ +\xed\x1c\x18\x06\xd8\xbb\xf70\x1e\x7f|;r9E\xdc\ +/X\xd0\x00\xaf\xd7\x85t:\x8btl\x00\x99\x14\x00\ +\xb0\xe08-\xdbX7\x00;::\xbbL\x15\x96Q\ +\xba\xf2\xd3\xa2\xa9\x00\xa0\xec\xc3\x8b\xdd@\xed\x96\xc9\x01\ +!\x97\xe3q\xe6L\x07\x9a\x9b\x17\xa1\xa2\xc2\x8b\xd1\xd1\ +\x14\xf2y\x91\xba\xb7|\xcc\xc0\xe5\xf2\xa0\xa5e\x15\xda\ +\xda\xde@*\x15\x87\xe6%\xd5\xd5\xd5\x1bB\xb7\xfa=\ +\xd6\xafX:@79p\xd8l,\x5c.\x1b\xce\x9e\ +\xed\xc2\x83\x0fnA\x7f\xbf\x920\xd2\xd8X\x83\x86\x86\ +\x1aH\x92\x88\xe1\xe114y\xce\xa2\xa1*\x81q\xbf\ +\x0d\xaf\x8d4A\x90\x1d\xd0\xc6,\xb4M\x8d\x9a\xce\x19\ +\xf3\x81\xd9S\x01r4\x1a\xed\xa8\xae\xae^A\x0f\xc9\ +N\x15\x08\x82\xc0\xa3\xb5\xb5\x03K\x97.B(\xe41\ +\x80\xa0|@E9\xc9\xb2\x0c\x96.m\xc6\xc0@?\ +r9\x1e\xb5\xb5\x0d%\x0d\xbc\xc9\xa8\x15\xabg\x948\ +\x0b\x86!p\xbb\xed\xc8f3\xf8\xdd\xef\xb6a\xdf\xbe\ +W\x00\x00\x81\x80\x0fK\x97*\xb9\x0a\xb1X\x1c\x83\x83\ +#\x10\x84\x1c\x9a\xeb\xb3p\xb8\x09\x02#\x02\xae\xaen\ +\xc7\xf1\xd8e\xc8Hn\x03\x00\xd4\x19K\xa5\x18?+\ +`\x98,\x00h\x0e\xd2\xa3R\x85\xb8\xf4\xd8\xd8\xe8\x90\ +bd\xc9\x06\xe6\x97\x03\x02M\x1a\x10\x04!W\x00A\ +8\xecE<\x9eF:-\xa8\xd7L\xae\x17\xea\xa2^\ +{\xa6\xd5=S3\xeeJ\x03\x83\xc0\xed\xb6\x81e\x09\ +\x0e\x1c8\x82\xdf\xff\xfe\x8fH\xa5\xd2\xe08\x16--\ +\x97\xa1\xb2\xb2\x02\x82 \xa0\xbb{\x00\xa9T\x06\x0cC\ + \x8a9\xd8X\x19\x0e?\x03\x9b\x8b\x81tN\xc0\xaa\ +\x8a6\xb4'\xe7cL\x0c\x81\x10\xc5@\x8e\xc7GN\ +R/1'\x92`\xaa\x12@6\x1d\x17\xb6?\xfca\ +\xe3\xc1\xb7\xbf\xfd\xc6\xff\x09\x00\x92\xa4\xd8\x01\x13\x01\x81\ +\x96\x04\x1a\x11\x02\xe4r9\xb4\xb6v\xa2\xb9y!\x02\ +\x01%\xb12\x9d\x16f9\x14;s\xcb\xdf\xe5\xb2\xc1\ +\xe5\xb2\xa1\xb3\xb3\x0f\xbf\xfb\xdd\x16tu\xf5\x01\x00\xe6\ +\xcf\xaf\xc7\xe2\xc5M \x84`pp\x04\x91\xc80\x08\ +!\xe08\x16\x92$B\x96e\x84\x83\x22\x08\xc3\xc2\xe6\ +\x00|M6$\x07rX\x8avtfd\x8cJ5\ +\xd0\xa4\x0a\x8a\xdb|Vi\xba*\xc0,\x05\xa4}\xfb\ +\xf6\x0c\x8c\x8f\xc7\xba\x83\xc1\x8a\xf9Z\x90d&@\xc8\ +\xe7\x15\x10,]\xaa\x83 \x95\x12\xca0\xed\xfc\x81\xc3\ +\xe1`\xe1\xf18 \x08\x02\x1eyd\x1b\xf6\xee}\x19\ +\x82\x90C8\x1cDK\xcb\x22\x04\x02\x8a\xe4\xea\xe8\xe8\ +A.\x97\x07\xcb\xea\xd6}.\x97\x03\xcbr\xaa\x1c$\ +\x00\x01\x1c.\x0e\xf6\x85,\x92\xbd\x02\xe6\xcb\xed\xf0\xe5\ +\x13\xe8\xe2/\xc3\x0c\x97o\x98\x14M\x08\x00Y\x96\xb5\ +Q\x1e\xb3\x08*0\x1f\xea(\xd5\xbe}{\x9e\xb9\xe3\ +\x8e\x0f\xfd\x83\xc6\xe4\x99\x02!\x97\xcb\xe1\x8d7\xba\xb0\ +t\xe9\x22\x04\x02n\xd8\xed,b\xb1L\xc9\xba\xce5\ +88\x8e\x81\xd7\xab\x18k/\xbdt\x1c\x1b7nG\ +,6\x0e\x9b\x8d\xc3\xca\x95\x97\xe3\xb2\xcb\x1a\xc1\xf3\x02\ +\xda\xdaz16\xa6\x0cV\xd1\xcc\x97e\x19\xa2(\x16\ +V Qk\x00\x10\x02\x86\x10\xcc[\x11\xc4`W\x12\ +\x18\x18B.\x9f\xc7\x91\xb1s]\xc6\x0b/|$\xb0\ +$\xf3\x01\x88\xdf\xf8\xc6\xff\xdd\xb5t\xe9\xb2U\xcb\x96\ +-\xbf\x01\xd0\x99<\x13 \xe4r9tt\xf4`\xd1\ +\xa2&\xb8\x5c\x0e\xc82\x10\x8b\xa5-\x197\x9b\xc3\xb2\ +\xca=\xcaM\x0cC\xe0\xf5:\xe0p\xd8\xd0\xdf?\x88\ +G\x1e\xd9\x86\x13'\xce\x02\x00\x16,\xa8\xc7\xea\xd5\x97\ +\xc3n\xb7\xa1\xafo\x08\xe7\xceE I\x12X\x965\ +xF\x84\x10d\xb3\xd9\x02 4\xa6\xeb\x81T\x02\x99\ +\x10\xcck\x0e\x022 \x0f\x8c\xe0#\xeb\xb8\x8f\xb4\x9e\ +v\xbd\x14\x19\xcdhK\x97X\x05\x85\x080\xfd\xc4\x90\ +I\xad\x0fP\x18\xe75&\x82:\xa0|GP\xfb\x92\ +\x98\x0f\xcaG\xa4\xfc\x8f=\xb6\xf9s--\xab\xae\x07\ +\xf4\x06\xd6\x96\x82\x01dH\x92\xf6\xbf\xb6\xdcJ\xf15\ +\xe6\xff\xddn7\x16-j\x82\xcd\xc6!\x9d\xe6\x11\x8b\ +\xa5K\xd5u\xaamP\x12\x1c\x84\x10x\x8c\ +FR\xe8|}\x04\xc9d\xa6\xe3\x99\x97\xde\xf8\xd7g\ +\x0eu\x1c\x05\x90\x04\x90\x06\x90E\xf1\x1a\x03\xb2\xdaV\ +S\x02\xc1T\x01@@M\x05\x87\x02\x02\x17\xa8O\xc9\ +i\xfb\x8d\x1b7\xff\xfd\xca\x95\xab\xaf\xa1\x99\xa8\xed\xa7\ +\x0b\x04\xb7\xdb\x8d\x85\x0b\x1ba\xb3q\xc8\xe5\xf2\x88F\ +\x93e{\xb0\xc5{L\xfaZ\xb7\xdb\x06\x8f\xc7\x01\x96\ +eq\xf4\xe8)l\xdc\xf8\x0c\xfa\xfb\xa3\xb0\xd984\ +7/\xc4\xca\x95K \x8a\x22\xba\xba\xfa\xd1\xdb;h\ +\x1a\xc13o\x0c\x04![\x98\x81\xc4\xb1\x12n\xbe\xaa\ +\x13N\x07\xab\x80O\x05\x8c\xc3\xce!\x14tB\x93\x0a\ +#\x03)t\x9f\x19F6\xcd'\x9f>\xf8\xc6\xdd[\ +\xf7\x9f=\x02\x1d\x00\x02\x8c\x8bOM\x0b\x04S\x01\x00\ +\xa0\x03@\xcbR1K\x01M\x12\xf8\x00x7n|\ +\xe2\xefV\xae\xbc\xe2j\xb5R0\xef\xa7\x03\x04\x9f\xcf\ +\x8b\x85\x0b\x9b\xc00\xa4\x00\x02I*~\x87\xa9\x0a\x02\ +\xed\x15\xedv\x16^\xaf\x13v;\x87ht\x14O<\ +\xb1\x13\xfb\xf7\xbf\x0a\x00hj\xaa\xc1\xda\xb5\xcb\xe1\xf3\ +\xb91::\x8e\x93'\xdb!\x8aRQ\x04O\x97\x00\ +\x0c\xd5\xfb\xf5\xa9\xea>W\x0a7\xae\x89\x80\xd1\xa4\x04\ +\x98\x02\x08\xea\xaa\xdd\xd0\x00@\x08A*.\xe0\xd4\xe1\ +>\xf0\xe9l\xb2\xado\xe4\xfb\xdf\xdf\xf8\xd2F\x00\x19\ +\x00\x9f\x13\xb2\x0c\ +\x9c9\xd3\x8e\x87\x1f\xde\x86\xee\xee~\x00\xc0\xea\xd5K\ +\xd1\xd2r\x19\x9cN;\xba\xba\xfa\xd1\xd1\xd1S$\xe2\ +\x95q\x10]\xef\x9b\xa5A<\x1eWG\x1c\x95\xdf>\ +g\x0ao[\xd5\x07B\xb4\x9e\xaf\xde\x0b \xe0s\xc0\ +\xe3\xb1\xa9\xb5$\x85\xea\x8ay\x09'^<\x87\xc4X\ +\x0a\xb1df\xcb?\xfdr\xcf\x17`\x04\x01\xbd\xfa\x98\ +f\xa4O\x08\x82\xa9\x02@k=z^ \x0d\x027\ +t\x9b@\x93\x08\x1e\x00\x9e\x8d\x1b7\x7fj\xf5\xea+\ +\xd7Y1\xd5\xbc\x9f,\x10\x8c \x9008h\x04\xc1\ +Dj@a\xbc\x0b\x0cC\x90L\xa6\xb0q\xe3\xb38\ +x\xf08x^@mm\x18\xeb\xd6\xad@ee\x05\ +\xe2\xf1$N\x9f\xee@&\xc3\x1b\xf4\xba\xc2hk\xa6\ +\xd3~\x7f*\x95V=!\xe5?\xaf3\x85\x1bV\xf6\ +\x17\x98^\xf0\x0a@\xe0rs\xa8\x088\xd4\x86\xd6\x01\ +\xa0\xfdn=\xd6\x87\x81\xae\x11\xc4\x92\x99-\x0f\xed8\ +\xfe\xad\x13\x1d\xb1(\x14U`\xa5\x0e&\x04\xc1\x94V\ +\x09+!\x05\xb4\xd5\xc14{\x80\x96\x04\x9a4pC\ +\x01\xc1\xdf^q\xc5\x95\xeb\x8a\x0d<=el\xaa@\ +\xf0z=X\xb0@\x97\x04\x83\x83\xe3\x13J\x02\x87\x83\ +C(\xe4\x05\xc71\xc8\xe7\xf38p\xe0Ul\xdc\xb8\ +\x1d\xf1x\x12v\xbb\x0dW]\xb5\x1c\x97_>\x1f\x00\ +p\xfat\x07\xa2\xd1X\x81\xe94\xc3\xad\x99\x0e\xc3u\ +\xe3\xe3t\xefW\xad}G\x12\x7f\xb1\xbcO\xf5\x00\xf4\ +akB\xd4\xc9\xa5a\x97\x81\xe9j\xe3\xab\xbf\x81\xb6\ +\x13\x038\xd76\x88,/\x9cy`\xdb\xab\x1f}\xbd\ +s,\x0a\xc5(\x9c\xf2\xeac\xd3\x01\x80V\x0f\xcd \ +d\xa0.\x11\x83bu@K\x017\x00\xf7\xd6\xad\xdb\ +\xff\xa1\xb9y\xd9\x0akK\x7fz@\xf0x\xdc\x05\x10\ +\x002\x86\x87\x93H\xa5x\xad\xce\x85\xfa\xdbl,*\ +*\xdcp8\x14\x11\xdb\xdb;\x80\xdf\xfev+\xce\x9c\ +\xe9\x00\x0047/\xc2\x95W.\x85\xd3\xe9\xc0\xc0@\ +\x14]]\x03\xc8\xe7s\x06\xbd\xce\xb2V\x0c\xb7\xee\xfd\ +\xa2(\x22\x91\xd0g\x17i r\xd9\xd3X\xb7\xa4\x13\ +\x0e;c\x09\x82\x86Z\xaf\x81\xe1\xea\xcd\xeao%\xa8\ +2pn\x04'_\xee\x84 \x08}/\x9e\x1c\xf8\xfb\ +\x0d\xcf\x9dy\x15\xc5 \x98p\x91\xea)\xaf\x13h\xa1\ +\x0a\x0c\xcb\xc4@\x01\x81\x0b\xbaJ0\x80\xa0\xba\xba\xb6\ +\xf2\x89'\x9e\xba\xa7\xaa\xaa\xba\xde\xcc\xe0R@\xa0\xcf\ +\x97\x02B \x10DccMa\xcd\xbf\xe1\xe1D\x01\ +\x04\x0cCPQ\xe1\x86\xc7\xe3\x04\xa0\xac\x0b\xfc\xe4\x93\ +{\xb0s\xe7\x8b\xe0y\x01\xc1\xa0\x1f\xeb\xd6-W\x92\ +4\xc4\x11\xb4\xb7\x9eE\xef\xb8\xab\xc8\x98S\xf6\xa5\x19\ +n\x06F2\x99B.\xa7\x03\x88a\x94\xa4\xd8lv\ +\x0c6\x12\xc1\x0d\xab\x00\xaf\x9bNGW\xee\xab\x0a\xbb\ +\xe0\xb0\xb3EL7K\x85\xe8\xc0\x18^\x7f\xa9\x1d\x99\ +\x0c\x9f8\xf0\xfa\xb9\x8fox\xae\xed\x18t\xef\x80\x9e\ +GP\x12\x043](\x12\xb0X#\x18\xba:\xd0@\ +\xe0\xa16wmmmx\xd3\xa6\xa7\xbeX]]S\ +_\xde\xf7\x9f\x1a\x10\xfc\xfe \xe6\xcd\xd3\xe7\x0d\xc6b\ +I0\x0c\x81\xcf\xa70S\x92$\x1c?~\x06\x0f=\ +\xf4\x14\x06\x07G\xd4\x10\xee\x12\xb4\xb4,\x02@\x90\x1c\ +>\x0a\xf7\xe8\xab\x90\x04\x09\xdd\xb9\xc5\x18\x97kKX\ +\xfa\x13K\x00Q\x141>\x9e\x00\xcb\xea\xcc\xe5\xf98\ +\x92\xc9A\x88\xa22\xbaig2\xfc\x8dkI.\x1c\ +t{\x89\x16\x0f\x00A\xc0o\x87\xdf\xeb,f\xba\x85\ +TH\xc6Rx\xe9\xf9S\x10\x04\x01\x9d\x03\xa3_\xf9\ +\xe1\xef\x8fn\x80.\x09&\x5c\xae~\xa6K\xc5j\xf5\ +1\x83\xa0\x94:(\x80@\x91\x04\xdb\xee\xa9\xa9\xa9\xae\ +\x9f8\x084y \x84\xc3a\xd4\xd6\xd2)_\xca\x8d\ +\x03\x03Ql\xda\xb4\x03\x07\x0f\x1e\x07\x0044Tc\ +\xcd\x9ae\x08\x04|H$R\xe8\xe8\xe8A\x83\xff\x0c\ +\x167\xa6\x11mK\x03y\x09#R=\x86\xc8\xe5&\ +\x00L$\x01\x94\xf3z\xef'\x90\xa4\x1c\x12\x89\x01d\ +\xb3\xba\xbb\xda\xd5\xd5\xf9\xf2\x9e=\xcf\xef\x0f\xfam\xcc\ +/\xef\xfd\xf0\xc7j\xaa\x025Z\xb7r;m\xa8\x0c\ +\xb9\x0bL63]\xf9M\x0a?3)\x1eG\xfet\ +\x1ac#\x09\xf4\x0e\x8d\xdf{\xef\x86#\xbf\x82Q\x12\ +\x14\x81`F\x00\xd0\xebBh)@\x07\x89\xac\x0cC\ +\x17\x8a%A\xe5\x13O<\xad\xaa\x83\xc9D\x03'\x07\ +\x84p8T\x00\x01\xcf\xf38t\xe88\x1e|p+\ +\xb2Y\xa5\xe7\xad[\xb7\x1c\x8b\x165\x82\x10\xa0\xab\xab\ +\x1f\xf1x\x0a\xc9d\x0a\xd7/\xefCu\x05\x0fY\x92\ +1\xd2\x93F>\x91\xc38j1\xc25C&\xb6I\ +J\x00\x06\xb2,\x15\x06\x83\x12\x89A\xa4R\xc3\x85\x05\ +\xa8b\xb1\xd1\xae\x17_<\xb0}`\xa0o@k\xc7\ +\x80b\x0e?z\x00\x00\x10\xb6IDAT\xcf\xe6\xfa\ +\xfe\xd7?rg\xcb\xe2p3\x08`\xe3\x18\xd4\xd5\xf8\ +\xca2]=\xa1\xf1\x01\xf9\x5c\x1e\x07w\x1dGl$\ +\x81\xf1Df\xf3W\x7f{\xe8\x1f\xa1H\x02+\xe3P\ +\x86\x0a\x82\xd9\xfc^\x00m\x18NV\x12xjkk\ +\xc3\x9b7?}OU\x95\xa6\x0ef\x07\x08\x1cg\xc7\ +\xbe}\xaf\xe0\xc8\x91\x93\x18\x1bS\xe6\x0fr\x1c\x87\xab\ +\xaej\xc1\xf2\xe5\x8b\x11\x89D\xd1\xd5\xa5L\xc1\xca\xe7\ +E\xa4RI\xdc\xb02\x82\xaa _`\xeaPG\x1c\ +|\x5c\x80\xc0x\x11u^\x070\xf6\x12\x12\x801\xd8\ +\x08\x89D\x0a\xe3\xe3#\x88\xc7\xfb!\x08Y\xc8\xb2\x8c\ +L&=v\xfc\xf8\xb1\xa7O\x9e\x9fG{\xfb\x09\xa4R1\xb5\xce2\ +:;\xdbv\x1f8\xb0\xff\x05A\x10\xe20\xf6DP\ +m\xc6\x01\xe0\xbe\xf0\x99[\xde\xf5\xc1\xf7,\xbb\xad\xba\ +\xd2\x03\x97\x93C9\xa6'\xc7\xd38\xd7>\x94iY\ +\xb3\xd0\xc5P 9s\xbc\x03\xa7\x8e\xb6#\x91\xc9\xec\ +\xfa\xe7\xff<|\x17\xca\x8c\x1d\xccJ\xc6\x81\xacqC\ +\xd71\xda0q\x1e\x0a\xf2x\xb5\x12\x19(\x83\x19i\ +\x00)uKG\x22\x91\xe1\x0f~\xf0\xd6\x9f\x0c\x0d\x0d\ +\xf6\xeb\xba\x96\x81~\x5cl\x84Y_\xa33C\xad\x17\ +\x00mu\xcf\x0a\x5cye3^{\xed\x0d\x0c\x0f\xc7\ +\xc0\xaa\x9f\xb9\x95$\x85I\x8ca\xaa\x0f\x01\xd4\xb2\xfd\ +\xd5n,\x5cQ\x05\x17\x93B0\xb5\x1f\x0e9\x01\x8e\ +c\xc1q\x0cX\x96)\x94\xc3q,\xe2\xf1!\xb4\xb5\ +\xbd\x8cDb\x04\x92$ah(zj\xcb\x96'\xee\ +\xdd\xb3\xe7\xf9\xa7\x04A\x88\x02H\xa8[\x9c\xda\xc7\xa9\ +\xffS?}`\xc7\x8e\xef\xff\xe2\x85_&Sy\xc1\ +\x1cV\xd6c\x11\x0c\x18B\xd0\xdb6\x8c\xa3\xafv\xf7\ +\xb7u\x0e\x1d'\x0c\x03e#Xv\xe5e\x08\x84\xfd\ +`\x08\x13\x84\x22\x81m\xeaF\x0f'\x03\x98\xc5\x94\x13\ +\x0b\x10h.\x88\x06\x02\xc1\x04\x82\x14,@\x10\x8dF\ +\xfa\xcb3y\xf2@\xd0@\xe0t:\x10\x0c\xfa\x91\xcb\ +\xe5\x11\x8b%T\xa6)\x0c\xccd2`\x18\xe5X\x14\ +a\x0a\x1f\x12\xe4r\x12*\x1b\xbch\xb9\xba\x01\x0eN\ +\x86wl/\x1c\xd9\xae\x02\xe3Y\x96\x85(f\xd0\xd7\ +w\x0aCC\x1dH\xa5\xd2\xc8f3\xb1?\xfdi\xef\ +\xaf\xb6m\xdb\xfc@,6r\x0e\xca0.\xcd\xfc8\ +\x80q\xea\x98\x06A\xf2\x99\xddG_\xfb\x97\x9f>\xfb\ +\xff\x06\x87\x13\xfd\x1a\xd3\x01%\x7f\x80!(\xe4\x11\xf0\ +\xd9< \x13\xe6l\xd7\xf0 \x00\x03H\x9c\x0e;l\ +\x9c\xad\x81\x02\x80yn!\x03\x80\xcc\x1a\x00,@ \ +\x9b@ \xc0(\x092*\xf3\x934\x08\xee\xbc\xf3\xf6\ +\xfb\xa3\xd1\xe1>=\xbe>} h\xc4\xb2,\xecv\ +\x1b\xce\x9d\x1b(0\x9eeYu&\xae6e\x8b\x81\ +\xdb\x99\xa7\xdc-\xe5\xfe\xbc(\x83\x10\x06\x9e\x80\x03\xab\ +n\x98\x07\xbf\x8f\x85#v\x08\xb6t\x07\x08\x9102\ +\xd2\x85\xae\xae\xe3H\xa5\xc6\x90Je\xb2mmg\x9f\ +\xdb\xb0\xe1\xe1\xef\x9c=\xfb\xc6\x09\xf5\xdd\x92&F\xd3\ +\x9b\x06\x82\x02\xf3\xb5\xed\xa9\x1d'\xce\xdc\xfa\xd7\xbf\xfc\ +it8\xdeO3]\xeb\xe5D\x1f|\x22\x90\xc1\x9a\ +\xa5\x85\xcda\x87\xc3\xc6\xd5[\x00\x80v\xe1g?\xe9\ +l\x02\x10\x98\xd5\x81&\x0d\xb4\x17OE\x22\xfd#\x1f\ +\xf8\xc0\xfb~\x12\x8d\x0e\xf5)zv\xfa@P~3\ +\xe0y\x1e\xa2(B\x10\xf2\xe08\xb6 \x01\xb2Y\x1e\ +\x0c\xa3\x1cs\x1c\x8b\x80GQ\xcbf\x10\xe4r\xca\xca\ +WN\xb7\x03+\xae\x9f\x0f_\xd0\x05\xdb\xc8\x01\xa4\xdb\ +\x9f\xc4\xc8H\x1f$IBOO\xcf\xd1\x07\x1f\xfc\xed\ +\x0f^x\xe1\xf9\xa7\xa1K8\xba\xe7\x9bE\x7f\xb9\xff\ +\x93\x00\x92\x91hz\xe4\xca[~\xfc\xbd#'z_\ +62]yG\xbb\xdd\x86\xfaJ\xff\x02\x8ea\xdcz\ +0Iy\xf7\x0a\xf5\x83\xde(\x9eZNg\x14\xcdM\ +\xd6!\x05\x02s\xdaX9\x10h\xea \x19\x89\xf4\x0f\ +\xdfq\xc7{\xee\x8fF\xa3}\xa4\x10[\x9f:\x10\xb4\ +-\x9fW>X\xad\xf7~\x06\xb9\x5c\x1e\x0c\x83\x824\ +`\x18F\x15\x88\xba\xdfM\x08\x01\x01\x03Q\x95\x02 \ +\x80\xcd\xc6a\xcd\x8dKP;?\x84\x0a6\x8e\x1a\xe9\ +\x5cv\xff\x0b\xbb\x7f\xbfi\xd3\xa6\xc7y\x9e\x8f\xa1X\ +\xba%J\xec\x93\xd45\xe6\xff\x0d\xdbm\x7f\xf3\xc0\x7f\ +m\x7f\xfe\xd4\x1f\xf5E0\xd4\x88a}\x00,\xc3\xe0\ +\xed\xeb\x16_G\x88\xa2\x22\x0a\xf5V\xdb\x0cz\x94\xd6\ +\x0c\x00`\xb6U\x00MT\xb8q\x22\xc30MmZ\ +\xcaS*\x12\x89\x8c\xdcq\xc7-*\x08\xb4\x10\xec\xd4\ +\x80\xa0\x89vm\xd3\xf56\x07\x9e\x17\x0a\xba_\xdb\xd4\ +61\xb5\x11\xc0\x0b\xb2\xf1\xd9\x00\x9a\xd7\xcc\xc3\xbc%\ +\xd5\xa8rd\x9d\x1f\xb9\xa6\xf2\x1d^'\xc3\x96x'\ +\x0d\xdc\xf4o\x1a\xf4\xe6N`\x05\x82\xd4]\xf7<\xba\ +\xf97\x8f\xee\x7f\x84\xe7\xf3\x19\xad.\xf5\x0b*q\xcd\ +\xbb[\xe0\x0fy\x0cL\xa7U\x01\x8c\x8c/\x9ad:\ +\xa7y\xc7\x93\x04\x01\x0f\xbd\xc7d\xa0\xf7\x8cT$\x12\ +\x19\xb9\xfd\xf6[\xee\x1f\x1eV@0U \xd0\xe7=\ +\x1e\x17l6\xc5Z\xcf\xe5\x04\x83\xeeW6u\x81\xeb\ +B\xc4U\x05\x02!\xca\xc7\xa5\xa0\x1a\x96ZC\x83`\ +\xc9\xaaF,_\xb7\x10a\x9f\xbb\xee\xde\xbf{\xd7=\ +k\x97T\xd5Q\xef\x94\x85Q\xcai\x9b\xf6?\xfd\xee\ +\x93\x01A\xf2\xeb?|f\xcf\xe7\xbf\xfe\xfb\x9f\xf1\xd9\ +\x5cF\xab\x8b\xbf\xc2SH&\x81\xe6\x05AQ\x17B\ +N\x1aD1\xf3\x0d4\xe7\x89\xe7\x14\x08\xe8\x8f&\x96\ +R\x07ZO)4B$\x12\x19\xbe\xed\xb6\x9b\xef\x8f\ +F\xa3}\xc6^^\x0c\x04\xbd\x17h\xe2\x9f)\x80\xc3\ +f\xe3TQ\xafd\xe8\xd0\xbd_\xbbN\xc8\xcb\xea\xc0\ +\x8b\xd1\x13\x10%@.X\xe1\xc6g\xd5/\xa8\xc4\xea\ +\x1b\x96 \x10p\x85>\xfd\xfe+\xfe\xe9/\x96\xd76\ +\xc2\xe8\xf9\xe4Jl\x02\xb5/g \x1b\xd4\xc5S;\ +O\xb6~\xf8\xee\x07\xbe7\x14M\xf4\x19\x98\xae\xb5\x85\ +j+\x8cD\xc6\xc1\x8b\xd2\xe0D\xfc\x99\xfb\x99\x07(\ +\x92\x04t\xe6\x0a\xddPZo0\xbb\x88\xa9H$\x12\ +U@0\xd4W,\xeeu \x18\xff\xd7{6-\xe6\ +\xb3Y\x01\xb2\x0c\x93j`\xe0r\x88`\x0b\xd1\x14\xbd\ +\x97\x135\x00+\xe6e\xfd\x7f*\xd6@\x08AMC\ +\x08W\xbfk9\xdc\x1e\x87\xfbo\xde\xb3\xfaGw\xbf\ +o\xf9M\xb0H\x9b/\xb3\x99\x81Pd\x17\x81\xf2\x96\ +^:\xdas\xee\xe6\x8f\xfe\xecG\xdd\xbd\xb1\xb3\x05\xa6\ +\x17\x5c_\xa5\x8ebND<)t\xc0h\x90\x17E\ +\xfd\xce\x0b\x00\x00Ku\xa0\x01\xc0\x0a\x04\xe6\x06HG\ +\x22\x91\xe8\xad\xb7\xdelR\x07V@\x80\xc1\x00d\x18\ +\x06\xc1\xa0\xd7\xd0\xfbi@h \x008$2.\x83\ +\xfb\x08\xa2\x03B\xc8I\x06\xa6\xd3\x01\x19\x86\x10\x04\x82\ +^\xbc\xed\xbdW\x22\x10\xf2a\xed\xb2\x86/~a\xfd\ +\x9a\x8f\xc2\xca\xa0\xa0\x9a\x04\xd6@(\x1583H\x83\ +\xbe\xa1Dt\xed-\xf7\xdew\xecd\xcfA30\xf3\ +9\x11\xf1\xb1\x14^<\xd9\xbb\x03\x16\xb9\x82\xd4\xf3\xcf\ +\x1f\x00\x80\x926\x01\x0d\x00s\x0f0\xb9\x88\x91\xe8\xad\ +\xb7\xde\xfc\xe3ht\xc8\x22N\xa0\xf7|]\x0d0\x05\ +\x10\xb0,\xa3\xa6e\x93\xa2\xde\xcf\xb2\x0c\xf8\x9c\x84?\ +\x1d'\xe8\x8eh+\xb1\xa9v\x92\xaak\x85\x5c\xde\xc4\ +\xf4b\xdf\xdc\xedu\xe2\xba\xbf\x5c\x85`\xc8\x87\xa5M\ +\xe1\xcf\x7f\xef\xaek\xff\x15\xc6\x05\x9e4?\xbc\xa8i\ +P^\x1a\xd0\x12\xd1\x00\x84\x9b\xd6\xff\xec\x97[\xb7\x1f\ +\xdd\xa8\xabC\x16\x83=#\x88\xa7\xf8\x13\xbb\x8ft\x9f\ +\x81q$\xd00$\x8c\xd9\x0a\x05O\x85&0\x0c\xcd\ +\xba\xd0\x1c6N\x0e\x0c\x0cDo\xbf\xfd=?\xd2\xd5\ +A) \xe8\x9b$)V|&\xc3\x17\xf5|\x86a\ +02\xd2\x877\xde8\x82\xe8\xf0\x10\x9e\xda3:~\ +\xbam\xf0,\xa1z?@ \x08\xb2%\xd3\x09CK\ +\x05\x02\xbb\xc3\x86w\xdcz\x15\xe6-\xaeC8\xe0\xbd\ +\xf5\xfbw_\xf7\xf3\xcb\x1b\xfda\xe8\xfe\xb8\xd9%\xd3\ +\xda\xc2,\x195\x10\x98\xa3\xa7E\xc6\xe1]\xf7<\xbc\ +\xe5\xd1-/\xfdG.\x9fO\x89\xf9<^>\xd4v\ +\xe2\xbeG\xf7}\x13\xa53\x84\x0a\xea`V\x06\x83\xa6\ +C\xc4\xd8\xc2V\x03H\xda\xc4\x13:\xd9\xb40\x8a\xd8\ +\xd0\xd0P\xf9\xcc3;\xbeTYY\xd3`\x1c0\xd2\ +\xc6\xdb\xfb\xf0\xdf\xff\xfdt\x01\x04W\x5c\xb1\x14\xc9d\ +\x8a2\xe0\x80Tj\x1c}}g\x91J\xc5!\x8a\xf9\ +l__\xff\xa1}\xfb\xf6\xec\x01@>\xf7\xa9w\x5c\ +\xf9\x89\x0f^}\x87,kB\x80\xa0\xbe\xd6\x07\x1b\xc7\ +h\xf5\xa7\xaao=bw\xfah\x07N\x1dmC:\ ++\xb4\xfez\xcb+\x7f\xd5\x1a\xc9\x0cA\x01\xb8\xd5\xe8\ +\x9c\xa1y`\xf1I>S\x9b8\xd5c\x87\xdaf\xcc\ +g\xfe\xeam\x8b\xfcn\xbb\xebG\xbf~\xeeU\x18\xbd\ +\x10m2\x89\xf6\xec\xc2\x80\xd4\x05\x03\x000!\x08\xac\ +\xe6\x1dX\x80`\xe7\x97\xaa\xab\xab\x1b\xf4\xa4\x10e\xdf\ +\xd5\xd5\x87\x87\x1ezZ\x95\x10\x12\xaa\xab\x9dp\xbb\x83\ +\xb0\xdb\x9d\xc8\xe5\xb2\xe8\xed}\x03ccQ\xc8\xb2\x8c\ +x\xfb\xec\xce/WU\xd5\ +4\xd0I!\xdd\xdd\x03x\xf8\xe1m \x84@\x10F\ +\x90\xcb\xc5\xa0\x0c\x15\xeb \xc9\xe7\xe5\xd8\xb1c\x877\ +\xb6\xb6\xb6\xb6B\xef\x8d2U\x17\xee\xe6w,\x9d\xff\ +\xad{n\xff,\xcb\xb2\xae\x80\xdfa\x98\xbae\xc5p\ +\xe57\x01}\x22:0\x8a?\xedx\x05\xe9t&\xf1\ +\xe2\x89\xbeO<\xbe\xaf\xb3\x14\x08hI@\x1b\x90t\ +\xa7\xa0\x81\xa0\xed\xcd\x00\xb0\xb2%\xcc\xcf\x12q!l\ +\x003\x95\xb1\x094\x11I#\xb9\xc8E\xec\xeb\xeb\x8b\ +\xbe\xef}7\xff0\x1a\x1d,\xb8\x88J\xe6\xae\xf6Q\ +h\x09\x82\x10\x83,K\x90$IM\xd1f\xd0\xdf\x1f\ +\xd9\xf1\xe4\x93O\xdc\xdb\xda\xdaz\x0c\xc6Q:\xc3\x08\ +\xdd\xce\x17Z[?\xf0\xb7\xbf\xf8V,\x9e\xee\xcb\xe5\ +\xb4\x88\xa01\xecJ\x07\x872)\x01\xcf?\xf9\x0a\xe2\ +\xc9\xec\x08Q\xad\xf3\xea\xfaJ\xdct\xfb\xf5p\xbb\x5c\ +\xbe\xebW6<\x0a\x9dy\x9a=`\x88\xceY\xb4\x87\ +\xd9S\xa2E;\x1dR\xa6\xdbF\x9b>\xa6\xa5\x86\x15\ +}\xad\x1c8\xcf^@)\xb2\x00\x01\x8d\xe2r.\xa2\ +\xe2\x12\xf5\xf5\x0d\xbd\xff\xfd\xb7|?\x91\x88\x8f\x98\xe3\ +\x00\x9b\xe9\xee\x1e|x\ +\xf3\xe6\x0d?\x18\x1e\x8et\xa1\x98\xe1\xe3(=F\x9f\ +\x88\x0c\xa5\x86\xd6\xdf\xfd\xeb\x7f\xdf\x7f\xb8c\x8f9\xd4\ +LG\xe1\x92c\x19\xe4s\xf9\xec\xe1c]Qs\xd0\ +\xc8\xae.9\xbf\xa8\xca\x19\x82.\xd2K\x86iQ\x0c\ +\x84R\xae\x22m\xf0\xd1af\xed\x1a\xda\x0b(\xa8\x19\ +Y\x96/\xbc\x0a\xa0i\x0a \xa0\x07\x5c\x0a\x92`\xd3\ +\xa6\xc7N}\xe9K_\xf8\xae \xe4\xd2\x84\x10\xa4\xd3\ +C`\x18\x1bb\xb1\xccs[\xb6<\xf1\xe5\x03\x07v\ +\xeeFq&N\xa9\xbd\xf9\xba$\x80\xe4\x9d\x9f~\xe0\ +\xe1\xff\xdap\xe0\xa1\xc2\xbc>S\x14\xcef\xe7\xe0p\ +8\x9c\x12d\x16\xa0\xc3\xd5\xac\xe2:\x12\x06\xd7,o\ +Z\x81b\x15Pn\x11h\xf3\xd0:\xdd&\xf4\x98\x0a\ +\xbd\x99\x19\xafI\x00P\xfb\xd9]*v6H\x96\x0d\ +K\xd2HP\x1af\xa2Y\x9f\xda\xb5\xf9M\x9b\x1e;\ +i\xb7\xdb\xbf}\xf7\xdd\x9f\xff6\xcfg\xa3\xaf\xbe\xfa\ +\xf2\xaf[[Ot\xc28\xf6\xa0\x01\xc9\xca%\xd3\x12\ +5\xe9\xc4VCC~\xe5{[\x9f\xeb\xec\x8e\x0e\x7f\ +\xeb\x9fn\xff\xac\xd3i7|*,\x10\xf2\xa2\xafs\ +\x08\x7f\xb9\xf6\xb2\xeb\x08a\x0d\x9eB(\xac\xe4\x13\x8a\ +\x0a8\xe8\xdeo\xfc\xbe\x0dL\xb9\xfbz{\x00\xd4G\ +\xa3\xa8\xf6\x01\x8a\xc1c\x0e\x01\x1bt\xbfV\xf6E\x07\ +\x00`B\x10\x98\xdd\x96\x02\xf3\xd5-\xf7\xe8\xa3\x0f\xbf\ +v\xeaT\xeb\xe7\x8f\x1e=\x1cU\xaf\xd1\x98\xa71\x9b\ +\x16\x8f\xf4,\x1a\xda\x0b\xd0\x98\x94\xa3\xca.\x00\xe1W\ +\x8f\x1c8:4\x9a\xfc\xf1\xfd\xdf\xfe\xe8\xff\xaa\x08x\ +B\xcac\x08j\x9b\xc2h{\xbd\x07k\xafY\xd2L\ +\x87\x8e\x01\xc0\xee\xb4\x83\x10\x06\x90I\xa9\xe5\xdf-%\ +\x80\xd6\x1e\xea^{g\xcdf\xa0\xdb\x83\xb6!\xe8\xf6\ +1\xb4\xd9\x8cg\x06\x9d/\xb2p\x11\xe9\x00\x89\xe6\x0e\ +i\xbe\xb0\xb6\xa7-l\x8dh\xcf\x82\xd6\x9f4s\xad\ +2uiW\x94\x9e\xdf\xa0\xc5$\x5c\x8du\xfe\xf0s\ +\x7f\xf8\xd2Wj\xab\x02\x8d\xda\xad\xf9\x5c\x1e6\xbb\x8d\ +~\x0f\x00\xc0P\xff\x08v?\xb9\x1fO<\x7f\xea\xd3\ +;\x8f\xf6jK\xbe\xa4\xa0\xebmC\xee\xbey\x1e\x9f\ +\xa9M\x0a\x7f\x95m\xc42\xcc\x07.\x22#\xd0\x8a\xca\ +\xd8\x04\xb4!\xa4\x19@\xe6\xb1\x03s\xda\x15\x9dq\xa3\ +Y\xca\xb4\xb5,Xl\x1ac\xe8!ZC8\xb6w\ + \x1e\xbdi\xfd\xfd\xf7\x1d;\xd1}P3\xfalv\ +\x9b\x1e\x92\xa6<\x85hd\x14\x0ca\xb0\xf3ho\xdb\ +,\xb4\x89U\xfa]\xd1fq\xbd\x81.j\x00\x00\xea\ +\x1b\x18S\xcch\xc3\xd0*N`\x1e93\xa7`\xd1\ +n\x12\xed'\xd3\xd2\xc0\xec~\x96\x1c\xa0\x02\x90\xea\xed\ +\x1f\x8b\xbe\xe3C\xf7\xffj\xc7\x9e\xd7\xb7\x99\x99nH\ +\xd2 \x04\xa2$\xcfx\x05p\xaaM\x0a\xc7\xa5\xc8|\ +\xbd\x99.z\x00hd\x91gH\xeb}\xab\x84\x0as\ +*\x96U\x8f7\xab\x00\xb3\x95]\xce\xfb0\x03-\xb9\ +\xfe\xee_=\xf6\xbb\x8d\xfb~[\xe4\x1e\xaa\xbf3\x89\ +,\xc6S\xc2k(1\x7f\xffB\xd0Ei\x04\x96\x22\ +\xca\x08\x02\x8c\x8d\xa7\xe9\xf8r.\x95\xf9\xc3\x8b\xda=\ +\xa5\x92%h\x83J\xa2\x8e\xcd 4$}\xfc\xefo\ +<\xb6\xf3\xd0\xd1\x8e\xce_\xdc\xfb\xc9\x7fv\xd8mn\ +=<\x0c\x0cGb87\x14\xdfO]O\xbf\x83\x8c\ +\x0b\x00\x887\x15\x00\x80\x22\x10\xd06\xc2d\xdc\x22\x9a\ +\xf9\x80\xd15\xb2jt\xedc\xcd\x80\x22\x09\xcc\x0c3\ +\x83A\x04\x90\xdf\xb0\xf9\xe5S6\x8e\xfd\x97\xef~\xf9\ +\xc3\xffPY\xe9\x9f\x0f(\xe3\x01C\xd1D\xc7/\xb6\ +\x1cy\x1a\xd6K\xb9\x94\xab\xc7\x9c\xd1E\xed\x05\x94#\ +\x93\x87`\x8e\xa5[\xc5\xd5\xcd`14\xb8YGN\ +\xe0\x81hk#\xd1\xf3\x1e\xcd\xc3\xb4\xdc\x92E\x95\xfe\ +}[\xbf\xfe=\xaf\xcb\xb1\xe8\xd9?\x1cx\xed\x0b\xf7\ +o\xfeZ\xffp:\x0a]Ei*\xa9(\x16QJ\ +g\xcf6\xbdi\x01\x00\x141\x09\xa6c3\x00\xe8}\ +\xe1\xb8\x5cC[\x80\xcc*o\xa1\xd4\x10\xad\x16\xeb'\ +w\x7f\xe4\xfaE\xbf~\xfc\xc5V\x14g\x0ck\x86h\ +\xd1\xf4\xedK\x00\x98\x02\x99|\xe3r~qY\x97h\ +\x82\xf2\xe9\x8d\x96\x04t\x02\x0b\xbd\xd1a^\xf3\x10\xad\ +9VO\x07\xa2&\xb5\xbc\xdbl\xd1\x9b\xce\x06\xb0\x22\ +Cd\xab(NR|\xcdt\xca7\x95KG%K\ +\x0d\xd6\xd0\xa1^\xed<=\xc4m\x1e\xa5+\xa8\xa5\xf3\ +\xc5|\xe0-\x02\x00\x9a\xe6\xaa\xf1J\x18\x9ffOD\ +\x03\x81\xc6|:\x09T\xeb\xe1y\xd3vA\xdd\xc1\xb7\ +\x1c\x00\xe6\x92,\xdcPm\x8c\xc2,\x05\xf20&}\ +jDO\x8c1\x8f\xd2]\x10]\xfc\x96\xb0\x01\xce7\ +\x95\xf0@\x18\x14\x8f\xee\x95J\xf20\x07\x82J\xae\xe3\ +7\xd7t\x09\x003\xa0\x12\xae\xa2\xd5\x06X\xc7\xea'\ +\x5c\xc9s\xae\xe9\x12\x00fH\x16\xae\xa8UL\x02(\ +vE\xe9\xe8\xe2\x05a>p\x09\x00\xb3Be\xdcP\ +\xabhd\xd1\xf1\x85b>p\x09\x00\xb3J\x16c\xf5\ +\x13\xd2\x85d>p\x09\x00sF\xe5\xc0p\xa1\x99N\ +\xd3%\x00\xfc\x99\xd3\x9b&\x1f\xe0\x12\xcd\x0d\xfd\x7f\xc7\ +\xc0 \xf9A,]\x89\x00\x00\x00\x00IEND\xae\ +B`\x82\ +\x00\x00>\xa7\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x00\x09pHYs\x00\x00\x00H\x00\x00\x00H\ +\x00F\xc9k>\x00\x00\x00\x09vpAg\x00\x00\x00\ +\x80\x00\x00\x00\x80\x000\xe11\x9a\x00\x00\x00\x06bK\ +GD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00=\xd0\ +IDATx\xda\xed}wXTW\xb7\xf7\xb5\xbe\ +\xd1D\x93\x18\x13\x937\xd1\x98\xc4\x98hL\xb0\xc7\xde\ +{G\xc5\x0a\x16D\x14\xectP\xaa`/tA\x04\ +APD\xc1^@E\xc5\x82\x15D\xa4\xd8+\xf6\xa8\ +\xc9\xfb\xdd\xfb\xbd\xf7~\xff\xeco\xad}\xd6\x1e\xf6\x9c\ +93\x0ch\xd4\xe4\xca\xf3\xac\x07ef\xce\xcc\x9c\xdf\ +o\xad\xbd\xda^\xfb?\xfe\xe3\xdd\xcf\x9f\xf6S\xfd\xbb\ +_*\xa1\xbc\xbb\x13\x7f\x91\x9f\xfa\x8d\x7f\xae\xf4\xd5\xf7\ +\xcdP*\xab\xa4\x12>\xf6\xee\x0e\xfd\xdd\x00\xff\xe1\x97\ +J \x95%\xa9JRM%\xe2\xef\xe2y\xef\xc8\xf0\ +W\xfei\xf0\xa3E%\x90\xca$\xd5@\xaa\x83\xfc\x03\ +\xa4\x06\xc8\xfb$\x1f\x90\x88\xff\xd7\xa0\xe7T\x13\xaf}\ +w'\xffr\xc07\x07\xe0\x9b\x03x\xcd\xab\x80\x00\x90\ +\xcd\x01\xd0\xe65Aj\x81|\xd4n\xc0\xf8o\x06N\ +\xf1\x1a:|F\xa0\xe70\x07\xff\x99\x03m=\x87\xc1\ +\xdf\xeb\x81|\x0aR\x07\xa46=\x1f_W\x95\xae\xf5\ +\xce\x1a\xbc! +U\x10|\x01\ +\x87\xd7oA\x10g\x06\xc6\xb0\xc8\xcd\x19l\xeb\x813\ +z\x92v\xe8,\xdbw,W\x93\x00\xb9\x85\xd7\x99\xbd\ +O$X\x81E7\xe0Z\x1dA\x9a\x80\xfc\x93\x88\xf5\ +\xce\x0a\xbc$\xf8B[\xab\x93&\xd7&\xed\xfab\x88\ +\xbd\xcf\xdcQs\x97\xdd\x15N\xd98\xd7`\x90\xd5:\ +'\x0d\x009`\xd1uPKxn}Z\xd7?$\ +\xd0kH\xe0\x7f\x01\x84\x89\xc3\xe7/Z\xbbM\x0f\xf4\ +\x8c\xec|.\xf2\xdf\xf6\x1f\xbf\xa0\x10\xe0\xbc>\x01\xc2\ +\x92\xf6\xf2\xf7\x84\xeb\xf5\x03iIK\xc1'\xf4^U\ +\xcd\xf0CLI\xa5wZ\xafh0j\xf2\xe7\xfd&\ +\xb8\x8c\x02m/\xc4\x1b>\xd6e5\xb3\xf1\x8c`\x93\ +\xbc\xd72;\xbful\xda\xc28\xe6\x18\xb8\x9e\xd9z\ +\xaf\xe1\x80\x80\x07_\xfcs\xa7\xfe\xed\x09\x90\xcf\xe9\x1a\ +\x1f\x8ak\x81\x97?\x0e\x9f7?d\x93\x0e\xe4\xd3\xf9\ +\xd7\xd8\x9d\x07\xbf\xb1\x92\xc7\xcfA\x9e\xb1\xdb\xf7\x9f\xb2\ +\xa3\xe7\x8a\xf8c\xa9 \x87O_\xe2\x04\xc8\x96\x08\x10\ +\xb3\xf5\x00\x7f\xbf\x1fZw\xb5!+\xf0\x03\x85\x89\xba\ +e@\xc3\xffP\xfb1ZRM\xb5tU\xfa\xdf\x04\ +\xbep\xd0\xb8g\xde\xc5\xd2\xae\x1d\x00z\x0ao\xf4\x18\ +\xe7\x95\xcc\xda#\x9c\x03/d\x0a\x11`FP<\x9b\ +\xbdd\x03\x9b\xb9(\x9e\x832l\xba\xdf^x\xbd\x05\ +\xc8wd\x9a\xebQ\xd8\xf6-X\x89\xb3\x93\xe7\x87\xe9\ +\xc0\xbfP|[\x01\xfe\xd13v\x8f\xe4\xee\xc3\xdf\xb8\ +\xa4\x9f\xbc\xa8\xb3\x022\x01r$\x0b\xd0\xb8U\x97\xa9\ +p\xdd\xee \xcd\xe8\xbdj\x91\xf5\xaal\x22\xd7\xf0\x01\ +}\xc7\x8fTR\x9b\x1e\xab)\x91\x81G7\xff[\xc0\ +\xafA\xdaZ\xcf\xd21`\xa5\x12\x92\xadfN\xcb\x12\ +XP\xccN.\xee\xc1\x9b\xf5\x09\x10\x00\x16\x80\x080\ +oy\x12\x9b\xea\x1b\xcd\x81i\xd5\xd3r\x14\x5c\xa79\ +\xc8\xf7\xe4\xa4}\xf7k\xff\xb1}d\xd3\x8fZ^\x0a\ +\xba\x02\xfc\x1d\x14\xb0\x06\xb7\x1f\xa1\xe7\xbe\xff\xb7O4\x11\x01\ +\xaa\x92\xe6\x7f(;hn+7\xb0\x8d{O\x1a8\ +h\x9b\xf6es\x22L\xf15$\x80\xf3\x8a\x8d\x1c\x98\ +\x81S\xbcv\xc2\xb5\xba\x80\xb4\x00i\x8a\xdez\xbf\x09\ +\xce\xfe\xf8XLj&\xbf\xce\xe5[\x0ft\xda\x8e\xa0\ +\x0b\xe0q\x09\xb8u\xff\x09\xcb\xbfzWG\x80c\x9c\ +\x00\xc5\xec\x0c\x11\xc0uy<\x03\x92>\x80\xebN\x06\ +\xe9Kd\xfb\x8a4\xf9=\x95\xe3\x89\x9a]\x17A\x97\ +}\x18-\x1913hk\xa7\xa1\x93:\x11\x99\xea\xd2\ +kk\xd0\xf5\xfe^$ \xf0\xab\x10\xcb\xd1t\xd6\x1b\ +2\xcd'@\xed\xa0\xed\x87p\xec\x5c\xc1M\x90\x1b`\ +\x8e\xf3t\x7fw]\x95l@\x00\xd7\x95\x9b\xd8\xe4\xf9\ +\xe1\x0c\xa2\x83'p\xbd\x81 \x9dA\xda\x82\xfc:\xd0\ +\xd6#\x01\xaf-^\x7fG\x07\xfcS=\xe0o\x95<\ +a7A.^\xb9cH\x80\x8bW8\x010\x0a\x18\ +0\xd9=\x07\xae;\x09\xa4\x0fY\x00A\x00\xe1xr\ +?\x06\xfc\x8e\x9eVs\x97\x16\xe0{#q\xe2\xd32\ +Y\xfa\xd1\x5c\x96u\xaa\x80\x1d\xcc\xcac{\x0f\xe5\xb0\ +\xe8M\x07\xd8\xfcU\x1b\xd9xpj14\x1dh\xeb\ +\xe9A\x96\xab\x1e)\x86\x8e\x04\x7f7\x02T#S\xf7\ +I\x8b\xee\xc3~\xc6/?o\xc9z\x1dH\x97\xae\xdd\ +cO\x9f\xff\x8b\xcb\x93\xe7\x7f\xb0'\xcf\xfe`\xc7r\ +.\xf3\xc76\xec:\xce\xec\x89\x00\xb3\x88\x00.@\x80\ +\x19\x81\xb1\x5c\x9b:\x0c\xb2\xf1\x87\xeb\xf6\x07\xe9\x01\xd2\ +\x13\xbc\xffK\x18\xf6\xe1k\xf7\x1e\xbb \x81\xfeT\x07\ +:\xca\x8d{\x8f\xb9\x9c\xbax\x8d?wOV\x8eB\ +\x80\x5c\x85\x00\xd9\xb9E\xfc\xfa\xbd\xc6\xcd>\x08\xd7\x9d\ +\x00\xd2\x0b\xe4\x17\x22\x80\xa8\x13\xf0\xd4r\xefqsz\ +\xe3w\x9a\xe8\x11\xc22\x8e\xe5\xb0K\xc5\xb7XN\xfe\ +uv\xea\xfce\x85\x00\xc7.r\x02l\xdf\x7f\x96m\ +\xd9\x95\xcdb6\x1dbv\x0b\x22(\xcf0o\x0e\xf9\ +1\x9f\xd3\xf5\xfe>\xd9F\x95\xf6\xe3\x97\xfb'\xc4\xf7\ +\x8bd\x13\x8d\x0e\xda\x13\x04\x1e@\x7fL\xf2\xe8\xb7\xdf\ +\xb9\xec:\x9a\xc3\x9f\xe3\xbcbS)\x01\x96)\x04\xf0\ +\x80\xe5a\xac\xcbJ6h\x8a\xd7I\xb8\xeeh\x90!\ + C\xc1*<\xc6e\x05_w\xf0\xd4%=m\xbf\ +I\xa0\xa3\x5c\xbf\x8b\xf2\x88e\x9e)\xe0\xcf\xc5|\x80\ +L\x80\xed\x07Oq\x80\xda\xf4\x19\x15\x05\xd7\xb5&\x82\ +!\x01\x1aP\xf8\x89\xa6\xfb\xf3\x9ecf\xf6\xe3\xe0{\ +\x86\xb0\xec\x9c\x22v\xf5\xc6=V\x00~\x85\x01\x012\ +s\xd8\x8et \xc0\xeel\x96\xb4\xed8[\xbb)\x93\ +M\x99\x1f\xc1`\xb9\xf8W\xb3\x8e}\xd1\x82}+e\ +\x1b\xab\xff-\xf2\x0c\xd2\xda_\x83\x9c\x9eo\x86\xcf\x08\ +<,<\xf4m\x99\xe7J\x81'\xd0Q\x1e>Ey\ +\xc1N^\xb8\xc2\x9f\x17\xb21C!\xc0b}\x02\xd8\ +\xf9\xaca\x10:\xfe\x17\x5c\xd7\x0eA\x02o\xdd\x1eA\ +\xf3\x8f\xdc\xc2_w\x02^/k\xfb\xf5{\x0a\xe8\xd7\ +P\xee\x07\xbfOj\x86\x92Z\xde\x0e\xdfi\xc7\xe1\xf3l\ +'\xc8>\xb0@\x87N\xe4s\x02\xec\x93\x08\xb0\x11\x08\ +\xb0>\xe5([\x19\xa38\x99\xe0\x1c\x86I\xe4\xaaS\ +V\x9e\xe1\xafh\xfe?\xa0u\xee\xc7\xe13\x83r\x85\ +\x89>\x90}\xa9\x14\xf4\xdf\x14\xd0\x1f\xa0e\x9c\xbc\xc8\xd2\xc1\xc1\xdd\x9fu\x81\x13`+\ +\x11 ~\x8bB\x00\xa7\xc5\xf1\x0c\x9c\xc7\xff\x94\xc2\xcc\ +\x06\x94\xd0z\xef/\xbb\x0c\xa82~\xef\xd1\x17\xc2\xd4\ +msX\x02.\x0a\x02\xa0\xf9\xd5\x81.\x03/%l\ +\xce^\xba\xc1\x9f\x1b\x99r\xc8\x90\x00\xa1[`I\xd8\ +\xc0\x5cW$\xb2\x80\xa8mli\xdcn\xb6j\xc3>\ +\x9dV\xab\xb5\xfd\xca\xed\x07<,D)\x06\xc9&\x07\ +\x10#\x80\xc3\xa7\xf3\xf5\x08 H\x05K\xcc\xff\xed?\ +\xc9\xed\x80E\x97\x81\x0e\x98\x12n?p\xbc\x1d\xae\xdb\ +\xd3\xfd\xa2x\x06\x11\xb5\x1d\x1dI\x19x\x9d\x5c\xbf\x07\ +>\xce-N\xf4\x83\xa7\xf2\xd9\xae\x03\xe7\xd8\xd6=@\ +\x80\xed'8\x01b\x80\x00\xee\xcb\x12E\xae\x01}\x98\ +_\xc9!\xacKQ\xc6\xdb\xbf\x0ch\xe4\xbd\xab\xa8R\ +\xa1\xef\xd3\xfa\x8f\xe1N\xabAv^;\xf0\x0b\x0b-\ +Ep\x84\xb6k%l\x10@\x01(\x82\x8f\xe2\x8c\x04\ +X\xad\x10\xc0'\x22\x95\x83\x1f\x14\xb3\x83\x13 lS\ +\x86\x8e\x5c\xb2\xb6\xeb\x80\xbfy\x9fK\xd1\x8d\xfb\xec\xe8\ +\xb9b\xfe\x5c4\xd7z\x04\xc8\xbb\xc2\xce_\xba\xc6R\ +\xf6\x9f`AQ[ud\xb0t\x5cx\x09\x8bC\xd8\ +K\x80\x15E4\xf1\x98hB\xa0e\xd0\x85\x14\x92d\ +\x83/\x92\x09\x16b\xdf\x91\x5cN\x80M\x12\x01f\xf8\ +\xaf\xc5\xfa\xc63\xb87V \x98\x1bh,\xa5\x9b\xdf\ +^\x02h\x94r\xabK\xe5\xdc\x9a\xf4\x05jQ\xcc\x5c\ +\x8f\x98\xdd\xa6m\xbf1\xb3\xf0f._\xbf\x8b\xdf\xfc\ +\xe3\xb9W\x0c\xd2\xb3\xea\x84\x0dz\xf3\xf8\xdc\xc0\xb5;\ +8\x01\xfc\x01\xf0\x95\xa0\xe9\x11\x9b\x0f\xb2\xf5;\xb2X\ +\xe2\xee\x13\x06\x89\xa4#g\x8b\xf4\xb4\x9d\x83N\xc0\x17\ +\xc2\xd2\x80\x22\x96\x97\xfd\xb0Ngr\x02\x14\xe8\x11\xe0\ +B\xd1\x0dv\xe9\xca-^\x17\x88\xdf\x9e\xc9\xa6\xf9*\ +\xb5\x88\xc4]\xc7\xf8k1\x82\xd0\x02\x5c-g/]\ +gG\xcf\x16\xb2\xf4\xac<\x89\x00Y\x10\x0ef\xb2\x89\ +\x1e\xa1\x0c\xfc\x09\xf4\x01\xc6\x80t\xa5\xaa\xe3\xe7\xe47\ +\xbd}e\xe7\xb2\xfa\xecH\xdb\xebRH#\xf2\xf3\x0d\ +\xc8yj\x072h\xc4\xec\xc5O\xc52\xb0\xebH\x8e\ +AzV\x17\xb7\xdfW\xc27L\x0e\xe1s\xb5\x80\xd6\ +\x12\xd4\xfe\xc2\xeb%\xa5\xda\xae\x02\x1e\x1fC\xc0\xb0\x1c\ +,,\x00\x96\x84\x91\x00\xd8\x14\x82\x048G\x04\xc8\x07\ +\x02\x14]\xbf\xc3\xae\xde\xbc\xc7n\xdc\xb9\xcf\xbd}L\ +T\xa1I\xbft\xf5\xae\x09\xe0K\xe0u%\xdc\x0f9\ +\x0f\x9f\xff\xd8\xf9\x22\x96\x01\xce`*\x11 ak\x16\ +\x0b\x08S\xacK\x97\xe1v\xc9\x7f\x09\x02\x98\xea\xb3\xeb\ +6rZ\xeba\x8e\x01\x0b\xb0~o5gI\xf6H\ +\x100m[z\x8f\x9f;\x9e\xd2\xb4-(c7\xa4\ +\xe7\xd8Y\xc9\xf8\xc5\xe3wfq\x00\x10$\xad,\x9d\ +\x08\xe1\xd0\x94\xef\xc9\xba\xa0\x03\x18M\xef\xa1\xd3\x05<\ +Y\x94[t\x0b\x9c\xaf[ej;\x02\x22\x80\x17r\ +\xf8L!'\x01\x86\xa3\x18\xbea\xd8\x86\xa6\xfat\xde\ +e}\x02\x5c\xbb\xc3\xae\x00\x01\xce\x17\x5c\xe7\x0e\xddA\ +X\xd3qm7\x05\xba\x90b\x90s`\x01N\x80e\ +9p\xfc\x22K\xdd{\x9am\xdaq\x82\xadK>\xcc\ +\xb5\x7f\xc4\xcc\xa0\x17pO\xe6\xbc\xd5K\x80\xa9>\xbb\ +\xd6\xbdF\xfc\x88E\x1d\xd1u3\xc6e\x15/\xe7\xa2\ +\x88\xb5\x13<\xff\xc3M\xdb\xf5\xeaG\x9e\xee\x88\x9f;\ +\xf6\xf3\x90S\xc1\x87\xc1<\x96\x95\xb0AO>\xb7\xf8\ +6\x07\xd7\xe4\xdanD\xdb\x8dIv\xdeU\xbe\xc4\xa0\ +%R\xc2\xb7\x5cn\xde\x8f\x82?\x80\xe9\xe0\xfc\xcb\x0a\ +\x01.^\xbe\xc9=zt\xe8r\x0ao\xea\x01\xaf\x06\ +]\x00_\xcc\xff}\x8f\x9d\x02\x8b\x92\x0d\xb2\xe7P\x0e\ +'@2\x10\xc0\xd1O)h5\xef:x\x0d\xdc\x93\ +\xe9o\xad\x13h\xac\xcf\x8e\xb2zN\x02\xf8qn!\ +l\xc2\xfc(\xbdR.\x8a\xb5G\x98h\xe4\xb8\xd6\xb6\ +\xef\xa8\xb9\x14S;b\x91\xc5\x1e\xd6T\x9e\x10:t\ +\xae\xcc\x84\x0d\x8a\x96'o\xae\xb6\x97%X\x14\xc2\xb0\ +\x0d\xc9\xb0\xef\xf8\x05^\x9b8\x00\x80cu\x10-\x01\ +Z\x06\x5c&\xce\xc0s\x8a\x10\xf4\x1b\xc6A\xe7r\xb3\ +\x84]\x069\x0b\x96\xe4\xf4\xc5\xab\xec88\x8b\x18\x05\ +\xa4\x01\x01\x5c\x97&\xf0{\xd2i\xe8\xa4\xbd\x14fN\ +\xa0ZC\xf3\xb7*\x0c4R\xc6\xfd\x8c7oP\x83\ +%o\xde\xf0\x8a4\x00^\x96\x09^\x8a\xf3\x84\xf1n\ +\xbb\xfe\xe3\x96\x7f\xdf\xa2\x93\xd7 \xbb\xf9ErJ\x18\ +\xcd\xb8~\xc2\xe6\xa1\xf1\x10\xae\x82\xdan\x8e\xa0Fc\ +<\x7f\x22\xf7\xb2.|;\x04\xa4@\x02\x9c\x02ka\ +\x0e\xe8\x97\xe1s\xa1\x5c\x80\xeb`e\xf1\x0c\x10 \xe3\ +h\x1e'\xc0bp`\xf1{\xc3\xd2\x98\x0b\xf7\xd2\x87\ +\xb4\xdf\x92r\x0c?\x92\xcf\xf4v$\x824\xc0\xff|\ +\xe4\xec\xc5\x19\x22\xfd\x19\x10\x95\xc6\xa2\xb6dB\xe8u\ +\x80\xf9\xad\xd9\xc6\xbbw\x8c\x92\x00\xac\x03.\x0fd\x0d\ +\x9e\x89\x8e\x1d\x11\x0e\x9e\x81u\xb2<\xda^\xf4\x12\xda\ +n\x8e\xe7\x8er\xf1\xf2mv<\xa7\x18|\x05\x8c\x0e\ +.+\xe6\xde(\xe8\x0a\xf0WPn\xdd\x07\x8br\x9b\ +\xfb\x11(X\x0f\xc88z\x81E&\xa5\xf3\xef\x0f\x0a\ +T\x04\xf7\x12\x9bM\xd1\x22\x8e\xa5,csjA\xff\ +\xe4\xadH\x05K\x85\x1c]\x0d\x7f\xf8\xcc\xa0\xadr\xae\ +\xddX\x0d\xdf\x18\x09&.\x88fc]\x839y\xe4\ +&\xcdLp\xe8^\x97\xb6\x17\x96%7JL\xae\xe9\ +\x08\xb8\x1a\xf4\xcb\x04\xba\x90\x82kw\xb9\xc3\x88]E\ +\xa7\xc0Q=r\xf2\x12K\xdey\x9c\xefE\x18\xe6\xe0\ +\xff\xb4Q\xf3\x0e\xc1d\xfa'Q\x86\xb1-5\xb5\xd4\ +{+Z\xcfU\xa6\x1f\xc3\x91O\xfb\xd8\xcc\x1b\xa3\x06\ +\x1fc\xed\xbc\xcbw\xb8\x88\xd6*\x14\xb4\x06\xc6H\xe0\ +\xb4b\xa3N\xeb\xd1\x03\xc7\x10O\x0d\xba:a\xf3\xb2\ +\xda^6\xe8\x04|\x19\xe6]\xcf\xc4\xdf\xd2\x07\x1d\xe5\ +*~\x07x<\x17|\x06\x94\xf3\xe0/\x9c\xa7\x18\xbb\ +\x80\xae\xde\x01\xe7\xf1.\xbb\x01\xcf\xb9\x02\x9f\x05\xdb\xc2\ +8\x01\xce\x17\xb3\xa3\xd9\x05\xcc\xd1?\x1a7\x9c\xfe\xbb\ +Y\x87\xbe\x18\xfa\x8d\xa4\xac\xe8OR\x87Q\x1di+\ +\x5c\xbd\xde\xe3\xe7\xf4\x1a1\x13wF)YU!\x98\ +t\xeb4\x847\x94\xd6'B\x88\x1dR\xaf\xa6\xb3X\ +\xd5\xc6\x85,\xfb\xba\xfb(\x87\xa9\xe5m\xb4\x10k{\ +\x16\xdc\x80tX\x071\x8bgL\xdb\x8d\x01oT\xa3\ +U\x82iYY\xb0\xce\x8fb\xcc\xbc\x17\x9b\x09\xfaU\ +\x03\xd0\x95u\x1e\x01GM/\xb8\xaah<\x0a\x82\x7f\ +\x19\xfe~\xeb\xeeC\x1d\x01r\x80\x00\xd8\x16v\x14\xc2\ +\xc0m\xe9\xa7\x99\x0dD\x01C\xa7\xfb]\x85{\x8a\xed\ +\xec\xdd\xa4}\x0d\x08\xe6\x97\xadz\x0e\xff\x09\xa2\x04\x1f\ +\xb9\xabx\x82[(\xb3q\x0de\xd6.!l\x9c\xb3\ +^v5\xcd\xa2\xeb\xa0V\xd2\x0e)y\xf7r\xe5W\ +\xe5\x00\x22\xbb\x1a\xb6\xe9c5X\xf6\x012\xcf\x14\x1a\ +O\xd8\x18]\xdbM\x03o\x0e\xd0(\x08\xec\xa9\x8bW\ +y\x19\x16\x134\x98\x97\x17\x89\x1a\x0c'1f?r\ +\xb6\x90\xa7r\xb3\xe09\x18\xc7c&.\x17\x9c\xb2K\ +\xa0\xa5\xc6L\xbc\x81\xb6K\xa0_\xb9U\xc2\x01F-\ +\xbf\x04\xa0\xe3o\x01z\xf1\x0d\x05x\xac\x15\x5c\x85\xe7\ +]\xc3k\xdc \x02\xe4_\x93\xfa\x02\xf3X\xd4Fe\ +\xc3i\xefq\xb37P#+\xeen\xb2\xe87\xd1\xd5\ +\x11B\xecT\x1d\xe8\xee\xa1l\xb6\xffz\xe6\xb6(\x99\ +\xb9\x04nbs\xfd\x92\xd8,\xef\x0d\xcc\xd1+\x9e\xd9\ +\xbb\xc72\x1b\x97p\xad\x1dR\xf5^\xc9\x16v-\x0b\ +\x80u|\xcb\x19\x0b\xf3\xe5(\xe0t\xfeu\xa3\x8d\x16\ +\xa6\xd6v\xe3\xe0\x1b\x7f\x1c\x97\x1c\x8c0\xb0\xeb\x06\xd3\ +\xb3\x07E\x86\xee\xb4\x02|\xd2\xeecl#\xca\x9ec\ +l\xd3\x9e\xe3,y\xaf\x22\x08>\x16a0\x89\x83)\ +]\xcc\xc9cV.\x0f\xc0A+`\xa0\xedw\x04\xf0\ +\x0f9)\x10`\x5c\xd7Q\x84\xb6ce\xb0X\x00\x7f\ +S\x06\xbe\x84]\x87k\xdd\xc0\xd7\xc3\xef\x02\xad\xce\xe0\ +\xcc\x1c\xe6\xbcd=fD\xff\xab\xc3\xe0\x09\xbe\x03m\ +=\xe2\xad\xe6,}\xc0S\xe9.\xab\xd8\xac\x80X\xe6\ +\xb7:\x95\xf9\xaf\xde\xc6\xbc\x97oe\x1e\x8bS8\x01\ +\xe6\xf9\x13\x01\xe6\xc7\xb3i\x1eq\xcc\xce\x0d\x1ck\xe7\ +(\xb1\xc7 G\xeaU\xfc\x94\x96\x83\x8a7\x95j\xf9\ +\x00X\xc9\xeb4l\xb2\xab\xd8\xc8!H\x80\x159\xf3\ +B\xb8\x8aI>\x00\x8f)YQ\x84A\xd0\xb7\x83/\ +\x11\xbca\x0fs\x87\xcf1\x85Z\xabM\x89\x9dw\x04\ +\xf3Z\x9d\xc4\x22\x93\xf7\x03q\xf2\xd8\xd9|%;\x87\ +\x89\x1a$\x02\xfa\x00B\xdbQ\xf39\xe8WKA/\ +\xb8fB\xdbI\xe3\xaf\xdfQ\x80\xbfy\xf7\x01\xbbu\ +\xef!\xbb]\xf2\x90;\x82\xb9\xf9J\x22H&\xc0\xc6\ +\xed\xc7\xf8N(\xf1\xf9f\xf8\xc70\xefU\x9bY\xf2\ +\x8e\x93\xec\x10<\x07-\x07J\xe6\x89|\x16\xb7\xf9\x08\ +s\x15\x04\xf0\xd1'\x80\xadK\x0c\xb3q\xa2\xd6r\xeb\ +yb\x0b{\xfdW\xd2T\xaa\xd5\xcb\x87=\xf7\x03l\ +=\xf6\xa9I\x80\xeb{\x01\x0f\xaf^\x0d\xe8\xdc\x0f\x00\ +\x8fZ\xc9\xc5+\xda\x8e\xc5\x99\xc8\xe4t\x1eOKk\ +\xe0\xbf\xfaMp)\xee1\xda\xf1t\xcb\x1e\x96\xdb[\ +\xf5\xb4L\x835t\xab,\xe0\xbc\x9e\xec7\xd1\xa5\x00\ +\xcc\xeb\x1f\xe2u\xd8\x87\x10\xbf\xfd0\x15y\x94\x98\xbd\ +\x80\xaf\xe7w\x80p\xb7\x0dM<\xad\xed\x8a\xb6\x97\xe8\ +\xcc\xbc\x1at\x05\xf8G\xec\xce\xfdG\xec\xee\xfd\xc7 \ +\x8fX^\xe1Mv\x1a\x08p\xecT!\x07W4\x86\ +.Z\x93\xc6\xbc\x83\x93Y\xfc\xd6#\xec\xf8\x99\x22v\ +\x17^\xf7\xec\xf9\x0b\xf6\xfc\xc5\xef\xec\xc5\xef\xbf\xb3\xdf\ +\x7f\xff\x83\xfd\xf1\x87\x22\xb7\xc1\xa7\x08^\xb7_\x93\x00\ +\x93\x9c\xd6\xb21N\xab\xc4\x16\xf6\x0eTJV5\x95\ +ZTz\x99<\x80\xe8\xe6\xfd\x812V#\x80m\xbb\ +\xf0Fb%Od\xf4\xb0\x84\x8a\xa1\xe1\xcb\x02\x8f\x0e\ +\x1bf\x06\xf9\xda~J\x01~e\xc2^6\xd1S\xa9\ +(\x82\x03\xf5\xac\x8b\xe5\x94\x93M\xdavO\x84\xcf\x12\ +\x02\xb2\x9cr\xea\x01TX\xc1\x0c\xdb|\x92\x05\xf47\ +|,\xa8\xc9\xaf=\xa3\xba\x8e\xb0?\x84\x8d\x9e|\x9d\ +\xf5\x08a\xe1\x1b\xf7\xf2}\x80z&\xde\xe8\xda\xae\x98\ +x\x0e\xfc]}m\xbfS\xf2\x88\x03~\xef\xc1c.\ +%\x0f\x9f\xb0\xfb\x8f <\x06\x82p\x02\x9c\x16\x04\xc8\ +\xe5\x048\x92}\x89\x15\x01\xc9t\xa0\xbf\xd0\x07\xfdw\ +\x10$\x02>\x86\xcf\xf9\xed\xd9s\xde?\xa0E\x80\xf1\ +Na\xa2\xa7\xd0HSi\xc5\x09 \xf7\xf37\xa4\xfd\ +\xf1X\xd3\x9f\x80\x1d,\x18\xd2 \x09D5\x0f\x1b*\ +\xb0\xa2g\x16\xd87\x0c\xc35\xd4z\xbe\xce\x93C\x87\ +\xcd\x22v\xbe1\x8a\xb33{\xc9\xfft\x18d\x93\x05\ +\xef\x1dI\xc9\x94@\x02\x18[\xb6gQE\x0dw\xf0\ +\xdaR\x92e2\xfd{*=6\x8b\x9e\x8b\xc4X\xd8\ +\xaa\xd7\x88\x8d\x03\xa7x^U\x88\x1c\xc9\xd2\x0edk\ +\x82nL\xdbo\xdfS@\xe7\xda\xae\x02\xfd\xc1\xa3\xa7\ +\xec\xe1\xe3\xa7\xec\xd1\x93\xdf\xb8`>\x00\x09\x80R\x08\ +D{\xfc\xf4\x19{\x0e\xa0\xbe\x10\xda\xfe\x87\x04<\x90\ +\x00\xff\x8e\x8f?{\x06\xc0\xff\xf6\x9c=\x81\xe7?~\ +\xf2\x8c\xdd\x81\xf7t\x0a\xd8\xc8\x090\xd5-VG\x00\ +\x1b\xa7H~\x8f:\x0e\x998\x9f:\xae\x1a\xe9\xf7\x13\ +T\x9c\x00z;z\xa8U\xa9\x13\x95.\xa75\xef6\ +8\x14I\x80\xebYT\xca\x01\xdeU\x83\x9d:&A\ +\x97\xa4H\x05~\xd6\xf9\x22\x0e\xc7\x98\x89\xd7\x81\xfe\xe2\x85\ +N\xdb\x9f\xea\x80\x87\xeb\xc15\x1f\xe2\xf5\xe1\x1a\xe8'\ +L\xf3T\x13 B\xde\x22\xd7\x85p\xaaW\xdaR\xf6\ +r\x04\xa8.\x8aA\xb4u\xa9%\x99\x1a\xbc\x99s \ +\x0e\x8d\xc67w^\x1a\xaf\xec\x84\x01\x93m\x0ax\xad\ +\xa4\x0c:z\x18\xb6\x1d\x81\xf0\x0d;mg.J\xd0\ +\x81\x0f&\xff72\xf7\xcbH\xe3gQ\x05m$\x81\ +\xdb\x9d\xd6\xbe\xb6\xf4\xd9\x9a\x93\x19\xb4\xa0\x7f\xb7\xa4\xc7\ +:\xd0s1\xf4\x1aN[\xbd\xd02\xb8\x80\xf8\xf5\x1c\ +33\x0b\xdfo\xce\xa2u\xec\xfc\xa5\xabf\x9bxY\ +\xdb\x11,\x04\xed\xc9o\x00<\x80\x88@*\xa0\xbf \ +\x13\xaf\xd6v\xc5\xf4\x1b\x82\xfeL\x02\x1d\xc8\xf3\xe0\x09\ ++\xc1\xf7\x05\xd2\x9d\x00\x7fa\xba\x8a\x00\xd2\x12 \xb6\ +\xaf\xa9f\x18\xbc<\x01D[w\x03\xbaxg\xaab\ +M\xed5n\xf6!|\xf3\xe4}'yc%v\xcb\ +\xc8\xa0\x17\xdd0\x9d\x95\xcb\x87u\x10[\xb1\xb1c\x96\ +o\x02\xf5\x8f\xe5%c\x1c\x14\x81\x95\xb3&m{$\ +\xc0\xfb,&\xad\x9fF\x05\x94\xfe\xf4\x19Z\xd1\xe7\xf9\ +\x9e\xc8\xf95y\xc1_\x91\xd4\xa7\xbf}K\xcf\xf9\x89\ +\x08\xd1\x91\xea\xef\xf8\x1dp\xf2\x87#^\xbfu\xef\x91\ +\x09h\xd1\xf8\x1e\xbf\xdc\x22\xa3\xda.@\x7f\xf8D\xd2\ +\xf6\xdf\x14m\xd7\x81^\x96\xb6K&\xfe\xe9o\xcft\ +\xda\x8e\xd7\xc5\xeb\xe3\xfb\x94\x00\xf0\x08::\x88w\xee\ +=\xe2\xce .#\xd3=\xd7\xeb\x080\x99\x9c@K\ +\xc7\x85\xf7\xa9\xab\xa8'9\xec_\x92\x03\x8f\x04\xa8l\ +\xf6\xdccU\xc7\xaf<\xbf\xe73\xba\x99\xcd\xe8\x06\x0e\ +j\xdc\xaa\xb3#n\x9a\xc0\x10\x0bM?\x86jei\ +\xbb\x9c\x99\xc3\xd8\xff$x\xe2h\xfac\xb7\x1d\xd1U\ +\x0c\xb1\xc3\x08\xc1\xff\xa5\xf3\x80dr\xf0\x5c\xc8t[\ +\x92\x16\xb7&3\xf7\x0d1\xfd3)7\xfe\xa1JD\ +\x97\xf2\xa7\xf4\xdc\xaf\xc9\xa1\xb5\xa0$Lo\xb2\x08\xe8\ +3\xccm\xdeup\x84 \xc1\xe9\xbcb\xaey:m\ +7b\xe2\x15m\x7fQ.\x87\xce\x98\x89\xe7\xda\x8e\x84\ ++Q\x80G_\x033\x8b\xe8L\xde\x80%\xe9(8\ +\x8f\x82\x00S\x80\x00\x13h\xfd\xefbi\xb7\xf9\xa5-\ +\x80\x91\x8e_\xbc\x81\x9fA\x98\xd5\x0c\xd6\xca`\x08\xa7\ +2qo\xdf0\x07\xbfSC\xa6\xf9\xe4\xe0\x9boI\ +W\xda\xa4\xb1\xf7\xdd\x9c\xdc\xbb\x10\xdc,\x81\x89\x9a\x9d\ +\x87\xcf\xe9\xc0\x1f\xef\xae\x98\xb3\x0e\x83'\x1c\x82\xf7]\ +D\xe0O\xa6u\xbc3\x15O\xbe\x93&x\xd6VU\ +\xc7\xb4D\x1e;W\x87\xd6\xc7\xfa\x1425'\xbff\ +\x00-k\x8e\xcd\xbb\x0d\x09\x11$\xc06p\xd9\xa1\xd3\ +\xd4\xf6\x17\xc6\x1c\xba\xdf\x8d:t\x1ct=m\x7fl\ +\xa0\xed\xb7\xd0\xff\xb8\x0d\xc0\xdf\x02\x7f\x04s\x15p\x0f\ +1\x82\x10\x04\x98\xe4\xa2$\x82\x869\x06<\xa4\x02\xd3\ +\xe8\x0a\xf9\x00\xa6:~\xc1[nb\xe9\x18\xb0J\xdd\ +\xf1+Z\xbb\xe6,\x8a\xe5N\x1bf\xe4L\x95VK\ +EI\xc3\xe6\xf2\x9e\xbbb\xfeZ\xfb\x80X]\xcb\x18\ +\x9f\xfaa\xebq\x13\xde{\x099j\x08\xfe`\xb2:\ +\xcdTS;k\x1a\x19\xb8T\xd9\xc8N\xa5\xea\xf2@\ +\x07\xbaI_\xd3\x0dkK\xcb\x02\xfa\x16S[t\x1b\ +\xb2\x0a\xac\xdb\xbf\x9d\x96\xc4\xe9i;\x82\xfe\xdb\xf3\x17\ +e;t\xcf\xcbv\xe8\xb4L<\x07\x9d\xb4\xfd:\x00\ +\x7f\x0d\xf3\x0e\x18\x95\x80\xb5\xbc\x0c\x8e\xf2\xa2\xb0\x9d\x9c\ +\x00\xb6\xae\x98\x0f\xe1\xcb\xe4\xbf\xd1j\x91?3\xb4\xdc\ +Q@Y\x1d\xbf\xa2\xf1\xd3X\xc7\xef\x9a\x94\x83\xef\ +l9\xe54e@\xb1\xd8\xe5K\x8e\x9e=-\x8d\x83\ +\xc8Y\x15\xf9\x90\x06\xe5\xea\x08\x22\x02TS\xce\xc5\xe1\ +/l\x84o\xbcp\xcdV\xea\xaa\xb9d\xd0U\xa3\x03\ +\x9d\x03\x7f\x99'p0\x8eGO\x1e\x1d:l\xb2\x10\ +uv\x99\x0c\x1ct*\xb9b\xb7,N\xe3V\xef\x16\ +\xc2\xf7\xee6\xd2\xfe\x00\xed\x90\x1d%\xc5\xb2_\xbc\xce\ +\x89YR\x05\xb4\xa6<\xd0\x02\x09\x89I/\xfc\x9c+\ +b\xb7\x9b\x17\xb3\xab\xb4]m\xe2\xb1[8\xfd\xc8\x05\ +\xbeM\x1ck\xfeQ\x89\x87\x98\xeb\xd2\x0d\x22\xa5\x8b\xd9\ +\xcf\x08\xca\x83\xb8\x93C<\x9er!=(d\xfdI\ +\x1a\x91[G\x9a\x9a^vO \x10\x00S\x83\x98!\ +\xe2\xb5\xfev\x03\xc6\xf5\xc67^\xb39C\xcf\xc4c\ +\x86N\xad\xed\x22|;-\x80\x07\x87\xee\xec\xa5\xd2\x06\ +\x0b4\xf1\xa8\xed\x17H\xdb\x05\xf0\xb8\xc5\x1aK\xae\x09\ +;\xb3T\x1bG\xc3\xc5\x0e\xd9\x08\xaa\xdc\x0d\x22\xd3\xfb\ +\xcd\xeb\xde\x22\xa5J\x7f\xd7\x22\x026\xa1\x04\x94\xd5@\ +[\xcf\xd3\xd3\xfd\xd6\x94\xc3\xa1\x93M\xbc\x02|>(\ +\xc3\xc5\xc2\x9b\xec@V\x1eK\xd9\x95\xcd\x12\xd3\x8eq\ +\x02D\x03\x01\xdc\x96\xeaF\xc5DJI\xb0)\x14\x0d\ +\xf5\xa2\x18\xffgZ\x9e\xbe\x94\xb4\xbef\xb9\xda\xc3\x89\ +\x00x\x1a\x96^\xc7/\xb6R\xa9\xb5]\x80\xae\xa7\xed\ +\xf9W\xf5\xbajr\x8ch{>\xf5\xc7\xcb]5X\ +\xe5\xd3Z\xff)\x9c\xb1\xd6\xc8e\xff\xe3un\x90\xd4\ +\x1akGV`@7\xabi\xb1\xf8YO\x9e/4\ +\xc3\xa1+5\xf1X\x0eF\xd0\xf3\x0a\xe0\xfe\x5c\xba\xc1\ +\xbb\x84\xb0\xdbG\x8f\x00I\x87\x98\x7f\x882,\xa2\xc9\ +\xaf=b\xa4<\x88%\x99\xfb\x16\x14\xe2\xd5'\xa7\xf8\ +#i\xc6p\xb5rYH @\x15\x22\x80\xe8\xf7k\ +\x89o\xbcr\xfd\xceRm\xbf i\xfb\xc5+d\xe2\ +\x8di{)\xe8\x8a\xb6\x1b\xef\xaaQ\xe7\x120\xcf0\ +\xc4\xde\xe7\x0ey\xb5#\xc9\xa9iL_\xf2\xb5\x9f\xcc\ +ad\xb2\x19\x9a\xdb\xee\xbft\x1e\xc0G\xdbl\xd8~\ +\xb8L\x87\xee\x92\x00\x1d\xe4\x02\x00\x9f{\xe9:\xef\x0f\ +\xc46qt\xf6\xb0E\x0c\x09\x90\x94v\x9c\xc5\xa5(\ +\x04\x08\x0aWv\x0d\xb7\xee=r\x03\xdd\x8f1\xa4\x10\ +-I\xeb\x85\xb9\xaf\xa5qZJ\xa5\xf2\x12\x00\xd6\x0b\ +\x8b\x8fi\x9dk=r\xf6\x92GNK\xd7\xeb@7\ +\xa5\xed\xb2C\xa76\xf1\xa6\xbaj\x0eBd\xa1&\x00\ +\xa6\x94\x07\xd9y\x15S\xa5o\xb0d\xfeE,\xfb\xda\ +7HJV\xa0\xa6\xf0\x91\xa8pd\x09\xd1\xc0oK\ +\xa2S\xf5cv=m\xbfi\xa0\xed\xd8\x1a\x8ek\xfe\ +\xb9\x0bp/\xc1\x92\x9e\xc9\xbd\xc2\x09\x80#c\x93h\ +^ '@\x84\x8e\x00q\xd2\x96\xf1N\xaa\xbd\x03b\ +\xba\xf8{\xaa-d\x95^\xca\x02\x0c\x98\xec\xcec\xdd\ +\xd4\x8cl=\x87\xee\xbc\x09\x87N\x98\xf8\xb2\xda\xa4E\ +\x83E\xdc\xf6#\x06\x04\xa0-S\x99\xaai\xdc\xf5\xa5\ +q\xec\x95\xdf\x10\x01\xe4\xb6\xf8\x06\xa4\x85\xfd\x879\xf8\ +_v[\x91\xa0\xe7\xd0\x19\x98x\x95\xb6\x9f\x05\xe0\x11\ +tl\x0d\xc3\x0ea\xdc)\x84\xbb\x85\xc5\xc8X>0\ +2)S\x22\x80U\x1c)\xc40\x89\x00\x0d)\xc3'\ +\x9f\x99TSE\x04\xf3\xee\x95\xda\x07\xc0$B\x93\xb6\ +=,q\xf2\xf6\x04\x8f`\xb67\xeb\xbc\x81C\x97g\ +J\xdb\x8d\xb6I\xebw\xd5`\xdd@\x93\x00\xca0f\ +\x1b\xedR\xe6\x9b\xd9\x1eM$0l\x8a\x9d\xec\x9e\x8e\ +Y9Cm\xbf\xce\xb5]\x01\xfd\x9a\x04\xfa\x15\xde\x15\ +\x8c\xbb\x83p\x97\xf0\x89\xb3E\xbc\x09T\x84~\xf2\xc4\ +\xd0ED\x00,B\x0ds\xf0\xbb\x02\xa1\xf1n\x90\xf5\ +\xb8)\xa7\xdd\x80\xf1=\xa5\x0d$\xea\x12x\xadrm\ +\x0fSG\x01\xc4\xb0\xaem\xfaX\xb9b\xbf:~\xc1\ +\xd0\xc4=,\xfdx\xaeI\x87\xae\xcc6iUW\x8d\ +_d\x9a&\x01z\x8f\x9b\x93A\xf1\xadzBV\xd5\ +7L\x80\xaaRS,~\xae\xae\xfd&\xb8\xf0\xcd\x1b\ +\x06&\xde\x84\xb6\x9f\x04\xd0\xb1\x93\xe78\xf5\x05\xa2\xf9\ +\xc7\xdc\xbezdlH\xec~\xe6\xbc8\x81\xcd\x0e\x88\ +e\xb6^\x11l\xac\xf3*\x83\x16wP\xd2\xd3\xb0\x0c\ +e`\x85\x16\x9c\xf7\xfe\xd2\xf6\xb0:\xaa\x03\xb4*\x97\ +\x95\x08\xd2\xcb\x03\xd0p\xa2A\x8d[v\x9e\x81\xe1\x8e\ +\xfc\xa6\xb3\x83b\x98O\xe8&\x16\xb1i\x1f\xdb\x07\xd6\ +\xe1\xd4\x85\xe2\x0a\xb5I\xfb\xad1B\x80\xf1s\xd2)\ +\xb3\xd5\x99F\xa4|\xf6\xa6'di\xf8\x01\xe8\x98v\ +\xea7\xd1\x85\xd7J\xb4M\xfc\x95R\xd0u\xda.\x83\ +^\xc0M\xffa\x88\x002\x8f\xe7\x1b\x8c\x8c\x8d\x88?\ +\xc0\xdb\xbf\x97G\xeda\x8b\xc2w\xb2\x80\xe0ml\xfe\ +\xb2-ln\xc0\x06\xe6\xe8\xbd\x8e\xd9yF1k\xd7\ +\x10=b !\xfaX\xcf\x1dG\xcb\xd4g\xd2\x01Z\ +\xc6I\xa0\x95\x09$\xd3\xdb\x85\x0a\x0bv?\xb5\xef\x13\ +\xd4~\xe0\xf8M=\xc7\xcc<6\xc4\xde\xfb.\xf6\xe0\ +\x8b7\x8d\xda\x9c^\xae6i\xd1U\xe3\xaf14\x02\ +\xb3\x804$\xf1m&@]R\x92\x0e\xfd&\xba\xa6\ +\xe0=\x90\x1d:\xa1\xedj\x13\x9fu\xaaP\x01\x1d\xb4\ +\xfd0\x00\x8f\xa1\xdf\xa1\xe3\x17\xf9\x06\x11\xcc\x03p\x02\ +\xd0\xc4PN\x80\x84R\x02,&\x02\xf8\xacHe\x9e\ +KR\x98kP2\xdf\x1c2\x9b\xf6\x06\xd8{\xc4\xb2\ +\x89.\x91\xbc\x1d\x0c?\xcf\x80\xc9\x1e^\xd2\x99\x03\x1f\ +\xe9\x93@U\x0d\xd4\xaa\x05\x90\xe7\xdd\x5c\xaa\x87O\xa2\ +\xbc\xbc'U\x9e\xb0J\xb7\x06\xdf,:%\xbdBm\ +\xd2XQ\xd4\x0a\x03\x87N\xf7\xbd\xfe\x16/\x01\x22\x1f\ +\x807\xb7}\xff\x89\xae\x9b\xf1\x1e\xe8\x9b\xf8b\xc5\xc4\ +\x9f\xd17\xf1\xb2\xb6\xe3\x9e\x00<5\x04\x81\xc7i!\ +\x98\x05\xc4M\x22;3\xce\xe9\xc6\xc6\xc5&\x1ff\xe1\ +\xf1\x19l\x85\x8e\x00\xdb9\x01\xbc\x88\x00N\xfe\x1b9\ +\x01f\xe0\xde\x00j\x0c\x9d\xec\xb2\x96\x8ds\x0a\xa1\x91\ +\xf3n\xde\xd4\xfb\xf8\x854iD\xbb!D\xa3\x1a(\ +F\xb96'M\x1c@iY[\x89\x08|<\xfa\xda\ +-\x19\x15j\x93\x0e\xd0 \x80\x94\x08\xd2\xeag\xab\xf6\ +\xb6\x11`\xb0\xbd\xf7a\xdcjf\xa8\xed\xb2\x897\xd4\ +v\x01\xfa\xfe\xc3\xb9|s\x086w\xec9t\x9e\xed\ +>x\x9eO\x0eC\x22`\xbb\xd7\xf6\xfdg\xd8\xb6}\ +gx\x82\x08}\x03$\xc4\xd2\x88]\xdc\x0a\xe0\x9e\x00\ +A\x00\xb91\x14;\x83\xc7:\xadV\x0e\x9e\xe8\xd0\xb7\ +\xab4p\x82*\xa8\x16U4\x9bB5\xfa\x01\xeaQ\ +\xb8\xd1\x94\xe2\xf1\xaeD\x84\xd1\x94\x95r\x1e2\xcd\xe7\ +v@\xc4f\xf3\xda\xa4\x9f\xea\xb7I/\x8f\xdf\xa31\ +C0\x9cN\xff\x1a\xeeCa\xa08\x93\xe7\xc379\ +&\xcd\x18\x01pX\xb4\xd3\xe28\x03\x87\xee\x88\xce\xc4\ +\xe7K\xa0\xe7)\xa0\xa3\xb6\x1f\x16\xa0\xe7\x18\x82\x0e\xb2\ +\x8d\x03\x7f\x9a\xcf\x10\xc4Q\xb2\xb8<`\x9e\x00\x93E\ +\x9bw\x9e\xe4\x84\xc0\xa5\x01\x97\x81\x19\x0b\x12\xf4\x1aC\ +\xb13x\x82\x93h\xa7\xf3\x8c\x97z(\xa8\x81\xc6\xa2\ +\x9a1\x02\xa8;\x82j\xd3z\xf7%}\xe1\x9f\x88\x08\ +=hY\xb0Es\xed\xb5:\xb1Bm\xd2\xd8:\xae\ +5:\x0e?8\xf8\x1a)T\x07hM\x1f\xfe\x8d\x0e\ +J4\xe6\x03\xe0g\x0dZ\xb3\xd5\xc0\xa1\xe3&\xde\x98\ +\xb6\x03\xe8{\x0e\x1a\xd7v\x05\xf4\xd3|\x884\x86\x86\ +\x02t\xdc\x04\x82\xc5\x22t\x141_\x80$\xc0\xa2\x11\ +Z\x015\x01\x84\x15\x181+\xe8&Yp\xa9\x94n\ +\xf1\x0f\xf4\xf9p\xe9/\xabEJ\x9e\xfd\xfb)i\xe2\ +\xf7\x94\x04\xc18t\x14\x98\xc0\xbcyKbM\xee\x84\ +1\xd6&\x8d\x872j\xb5\x96qG\xd0\xde\xfb\x229\ +\xa0\x1d\xe8=?}\x93\xa3R\xb5\xa2\x80\x0e\x83l\xf8\ +\x98\x9c5\x1b\xd35L|^)\xe8\xa6\xb4}\xbf\xa2\ +\xedi\xa0\xed\xb8\xf6+\xa0\x9f\xd2\x07\x1d\xfc\x01t\x0e\ +\x11\xf4$\x00=1\xf5\x18\xdb\xb05\x8b\x0f\x97F\x87\ +q\xd5\xda}\x0a\x01\xdc\xf5\x09 m\x10\x11\xe5t*\ +\xa8Y\xd4\x00\x02T\xd5$\x80\x89\xbd\x00\xa29\xf4+\ +r\xcc\x10\x98\xa1bchE\xda\xa4\xb1r\xa6E\x00\ +\xd1\x0a\xfeK\xe7\x01\xb3\xc9\x09\xfdIU\x0a\xae\xf46\ +\xe4\x01\xfaOr\x0d\xc5\xcf\xb9=\xfd\xb4\x81C\xa7h\ +{N\xa9\xb6\x1f\x00\xe03\x10\xf8\xb3\x1a\xdaN&^\ +O\xdbO\x94j{\x9a\xa2\xed\x1b\x00x\x01:\xfa\x03\ +X4\x8a\x05\xc1M\xa2\xb8\x14\xe8\x08\xe0l@\x80\x11\ +R\x7f\xe0g\x18\xee\x9b$\x80\x11K \x0ea\xfe'\ +m\xa4h\xd7q\xc8$/\x1c\xf3\x8eoR|\xfdN\ +\x85\xda\xa4\xf1\xc0'c\xcb@_\x1b\xa7\x1d\xb4\x9f\xaf\ +\xc5\x9b\x9e\x97\xab\x95\x09\x1c\xe6\x18p\x02\xcf\xf7\xd14\ +\xf1&\x1c:}m\xd70\xf1\xa4\xed\xfa\xa0g\xb1\xf5\ +\x00<\x16\x8a8\xf0\x00\xfa\xbaM\x87\xf9\x01\x13\x986\ +\xf6[\x95\xa6\x10\xc0u\x9d\x8e\x00\xe3\x9cB\xf9\xe9&\ +\x14Qu+\x8d\xa8,ja\xde\xc7\x1c\x02TQ5\ +I\xe2\xda\xd7\x00G\x90\x0cs\xf0\xdb+\xf6\x05`\x07\ +/f\x06+\xd2&\xbd.\xed\xb0\xa6\x15\xc0\xa6P\xcc\ +B\xfe\xd0\xba\xdbx*\xbc4\x22\xd3\xfb\xa6*\x82z\ +\xb5\x80\xb6}G\x0d\xe4C2\xc3R\xccr\xe8\xd4&\ +^q\xe8Njk;\x9a\xf8\xd4,Cm\x17\xa0o\ +\xca\xe4y\x02,\x18\xa1\x0f\xb0f\xc3A\xb6|\xcd\x1e\ +>*F&\xc0\x18'\x9eS)\xa0\xe6\x91\x1e\xa5\x96\ +\x94\x13\xa0:f\x80?o\xf8C%s;d\xebv\ +\xb6\x9c\xd2\x1e\xe7\xd6\x8c\x9a\xb7\x8c'\x81f\x05\xc5\xb2\ +\xed\x87\xcep\xc7\xcf\xec}o\xaa6i\xac&j\x11\ +@\xb4\x85c\xaaU\x0a\x07\xd5g\xf4\xbe\xce\x9e\x00\xdd\ +\x8cD$\xe3 \xbb\xf91\xf8\xf9Rv\x9fT9t\ +g+\xec\xd0\x19\x98\xf8\x94R\x13\x1f\x03\xc0\xaf\xe5\xda\ +~\x887\x8bD%\x1e\xe4\xc0G&\x1c\xe0\x19\xc3\xa5\ +\x91\xbb\xf4\x08 v\x08w\x19\xce\xb7\x88\x8d\xa7-t\ +j\x02T25\x0d\xa4\xaa\xbc\x0fp\xe8t?_\xbc\ +\xe0$\xcfP\xb6:~'\xef\x8b\x7fU\xfb\xde<\x8c\ +\xcc\x12\x16V\xa0y\xb7\xc1\xb6\xd4\xf6\xf4\x9d\xca\x0aT\ +~Mma\xa2AT\x98\xfffVs\x96<\x98\x1d\ +\xb8\xee\xa5\x1c:\x01:w\xe8\xb6\x18\xd1\xf6\x8d\x86\xda\ +\xceA\x07\xc1\x9c@\xd8\xfa\x0c\x16\x1a\x97\xce\xe7\x07\x09\ +\x02Lr\x8e\xd6\xda\x22\xd6\xb9t\x8b\x98\xc5\x07F\x97\ +\x00\x95\xb9\xab\xdd\xb6\xdf\xe8Fx\xca\x07^\x10\x81/\ +y\xf8\xd8\xe4\xd6f\xa3m\xd2\x8f\x8c\xb7I\xef8t\ +\xd6\xe84q\xe5`\xa6\x80\x02\xb2\x02\xa2\xcf\xfd\xa3\xd7\ +\xd5\x1a\xa6\xd1\x17\xf8\x0d\xc4\xd6+x\x02,\xf9\xe0K\ +8tZ&^h\xbb\x06\xe8:m\xcf`\xe1\x00z\ +\x18\x80\x8e\xc0c\xc1\x08\xd3\xc5s\xfd\x129\x01&\xbb\ +D\x8b\xcd\x22\xea-b\xbf\x96n\x11\xb3\xa8\xa9\xe9\x04\ +\xaa\xf2\x00<%\x8c\x95&\xbc`p\xc2N3\xf7\xbd\ +U\xacMz\xce\xd2DM\x12\x88\xc3%\xc0!\x5cK\ +\xbe\x80\xd8\xe9R\xfb\xcf^\x0a\xb4:\x83!2\xf9\x15\ +3l3\x17\xc6\x94\x82n\xd2\xa1;\xae\xed\xd0\xa5\x18\ +w\xe8\x14\xe0\xf5M<\x07\x9d\xb4]\x80\xbe:f\x1f\ +[\x05\xb20d;\x9b\xea\x01\xf7\xca%\xd4\xcc-b\ +\x16\xefi\xe6\x01\x88\x00\xf2@\xe8\xaf,g,\xdc\x86\ +f\x1f\xd7k\x01\xfc\x8b\x97\xdc\xf7\xa6\xd5&}\xf0D\ +\x9e\xd1i\xe2\xb8\x14\xe0\x17\xeb<\xcc\xd6\x85\xe2\xd9o\ +i)\xf8\xd3\xc6\xa8\x1b\x19\x88\xf1\xdd\xf0\x19\x81Gx\ +\x1bX\xeaQ\x03\x13o\xd4\xa1\xdbZ>\x87Nm\xe2\ +\xb9\xb6\xc7\xaa\x80_\xbb\x97\xad\x8c\xde\xcb\x02C\xb7\xf1\ +\xc1\x91\xe5\xdb\x22fQ\x1dk?\xc6\x08PUrv\ +\xbe\x835\xf8~p\xc2.\xa3\x0e\x1d7\xf1O*\xb0\ +\xb5Y\xd7CwW\xd7&\x1d\x18\xbd\xc3\xe8\x99\x02\x18\ +mX\xcd]\xf6\x9f\xed\x07ZO!67Tm\x0c\ +\xad\xf2*}\x02\xc9\x12\xd6\xa4\xdaz\x83\x01\x93\xdd\xe7\ +\xe3\x8d\xf6\x0bM)\xbfC\xb7\xd9\xd0\xa1C\xd01\x81\ +\x84!$Z\x92\xd0\xf5\xfb\x98\xcf\xea\xcd\xbc\x17Pm\ +\xe2\x15\xd0\xf7\xb1\x95\x00\xfc\x0a\x00\x1e\xd3\xc0.\x8b7\ +\xf0Y\x82\x1cxe\x8bX\x84y[\xc4,\xaa\x9aJ\ +\x05\xcb-\xd0M9\xdbwd\x9a\xed\xd0\xdd-\xd7\xbe\ +7\xfd6\xe9s\x17\xaf\xb1i\x01qe\x91\xe0\xff\xb4\ +\x1fd3\x99\xbe\xd4\xd7\x92%x\xefU8\x86\x1aG\ +\xe2\xa0%\xfc\xb2\xeb\x08\xfbah\xfa\xed\xbd#_\x99\ +C\xb7yg6O!c\x02\x09s\x07\xb3\x16\xc6\xe8\ +5{L\xf6\x0ag\xd3}\xa3\x99\xd3\xa2\x04\xb6`\xe5\ +f\xe6\xbbz\x0b\x9b\xbf\x22\x99\x0f\x8f\xb4qS*~\ +\x83\xed\xbd\xef\x01\xf0k\xa8m\xdc\xcc-b\x1a\xc5 \ +\xaa\x06\xca\xc3 1\xe3g!\xb6C\x9b\xeb\xd0\xa9\xb5\ +\xdd`'L\x19m\xd2\xbb\x0f\x9f7y\xba\x88 \x01\ +\xf8\x04\x81\xb4s\xf7\x1bU\xe3C\x85\xc7\xa5\xab\xc0\x17\ +\x89\xaf/`=m\x85\xa1\xaf\xb5\xebj\xee\xbc\x99\x17\ +\xb3\x9bv\xe8\xd0\xc4#\xf0|`$\xfc\x8e\xdd\x92I\ +\x1bb\xa6\x15\xb4\xe9c\x95\xd5\xddjz\xee\x00[\x8f\ +[r\xdf\x85,\xb8s\xaaU\xcf\xe1\x9b\x09\xf8\x05\xe4\ +\xed\x9b\xb9E\xcct9X\x8c\x83\xe5\x8d\x8fx\xb3#\ +7\xed\xe3\xc0?0{\xdf[\xc9K\xb5I'\xee<\ +V&\x09\xf0&\x0c\xb1\xf7\xd9\xdc\xacc\xdf\xceR\x8b\ +\xf4'\x1a-\xd2UL\xcd\x0cP\x9dv*g=?\ +\xe6\xe0w\x1d\xd4\x12\xe7\xef\x8e\x07\xf0#\x133L:\ +t\xc2\xc4\x9b\xe3\xd0\xe1k\xe5\x91\xb1\x98Q\x04\xff\x02\ +\x0f\x8c\xc6\x16\xf0\x18\xda\x09\x84s\x0fq=_\xd9\xaa\ +\xd7\x88M(\x16]\x06\xc6\x12\xe8~T\x92\x9fC\xc0\ +\x8fy\xa9-b\x1a\x04\xe0\xdd\xc1\xc3\x1c\xfc\xb3q\xf7\ +\x8bnk\xb3\xa4\xedfom\xae@\x9bt\xfc\xf6,\ +\x93\xa7\x8e\x89\xbe\x01\x9c\xab\x8bM\x92T\xed\x92;e\ +k\xab\xda\xa5\xabi\x10B}\xa6\xb1\x98\x84\xc2k\x1e\ +\xdd\xac\xa6\x0f\x01\xcd\xff\x03\xc1\x8f\xd8\x90\xfeJ\x1c\xba\ +Pr\xe8\xb0G@\x8c\x8c\x0d^\xbf\x9b\x7f\x97\x16\xdd\ +\x87b/d\x944\xf7\xd0\x87@v'\xa7\xce\x95<\ +\xfb\xd9\x14\xdeM\xa2\x1e\x8dA\x94\xe8\xa9\xf8\x161\x8d\ +%\x80\x9f\xec-\xe6\x01o\xdcu\xd4\xe4\xac\x1a\xe1\xd0\ +\xa1\x89?\x95S\xcc\xb2\xcf\x17\xbdT\x9b4v\xd5\xc4\ +\xa5\x1d1I\x02\xcc\x16b\xe5\x90N\x1d;\xdfc\xf4\ +\x0c[j!kH7\xe0S\xd2dA\x86\x9ad\x1d\ +\xde#\x11g\x1a\x7f@\xdf\xf9\x13\xf2} \xd6\xf7\xf0\ +@\xb3\x8f\xe0\x87'\xec7\xcb\xa1\x8bJ4\x12\xbe\xa9\ +\x1c:\xbc\x0e\x12_\x8c\x8cu[\xbeA>A\x04\x0f\ +\x8f\xf2'\xb0g\x90vO\xa2\x89_\xe3)\xaf?\x92\ +\xf6\x05\xf6%'\xaf\x0deJ\xbf{\xa9-bD\x00\ +\x83\xd6\xe7\xa1\xd3|\xcf\xe1\x07\xdc\xba\xff\x84Qm\xbf\ +Pp\x9d\xc5\xa5\x1eb\xb3\x83\xd6\xf1/\xe3\x1d\xb2\xe9\ +\xa5\xdb\xa4Q;6l?\xc6'\x8f\x18#\x81\xado\ +\x0c\x9b4\x7f\x0d\x1bK\xcb\x02F-\x83\xec\xe6/F\ +\xa7\x8d\xca\xc8_\xd3w\xa9GQ\xc3'\xa4\x19u\xa4\ +iah5\xbe\xc2C\x17\x86L\xf3\x09\x00\x93\xcf\xcf\ +/t\xf0\x8b\x06\x903\x09\xf8#&\x1c:\x15\xe8\xf1\ +r\xcc\x9e\xaex\xf1\xeb\xf6\xe9\xc27\xfc\xfe\xa8\x04\xf2\ +\xc8\xd8\xf9\xab6\xea\xd6\xf6\xef[t\xf4\xa7\x0d\xa0\xd6\ +\xe4\xc9\x0f$\xb0{\x91\x89\xefD\x89\x9d\xe6d\xea\xbf\ +\x95\x80\xffP\xb5E\xcc|_\x88\xa2\x00\x83y\xc0?\ +\xb4\xeej\x0d\xeb\xd3\x1d\xfc\x80K\xd6\xa6\xb1\x8cc9\ +\xb0v\xdf`\xa7r\x8bY\xf2\xee,\xde!,\x9c\x93\ +\xa1\xd3\xfd\x9e\xf7\x9f\xec\xc6\xc7\xc9\xecGX\xca\x03\xd4 \ +\x0d\x11\xf3\x80\xf1CX\xf7\xb1\x9e\xbb\x07\xcb\x8bj\x8f\ +\x14<\xd5?z\x8f\x9b\x93G\xe3[\xd7\x81\xc4\xa1\xf7\ +:\xd5;\xe2\xa5\xda\xa4\xd5=t!\x1b\xf6\x1bX\x03\ +$\x00\xfe\xcd!p=\x9b\x05q1\x1e%?w\xe9\ +\x066#0\x96\xd9\xf9\xaca\x13F\x14a\xca\x99\xa1[)\x80\x87\x98\x1d\xab\ +u\xcb\xd6\xec\xe6\xce\xa3X\x0aO\xe7J\x048\x9c\xcb\ +\x0bI\x91\x89\xe9\x0c\xa3\x0d\xac\x81\xb4\xe93\xca\x89\x1a\ +o\xdaHk\xbb\x00]^\xdej\xbe\x14\xf0\x1a\x99@\ +Q\xf8\xf8\x82\xd8\xd6\x9e\x1c\x8d\x09\xdf\xb7\xe8\xe4\x06\x1f\ +,\x1aw\xeft\xb3\x9a\xb6\x9f\xbc\xd2\xa54\xb1b1\ +\xfd{\x05N\xb1\xe0)\xe4\xf8]\x15n\x93\xd6\xea\xaa\ +\xd9\x9e~\x86-\x8d\xd9\xcd\xa6\xfa)D\xb0\xf5)%\ +\xc0\xcc\xc5\x09\x9c\x00\xce+71\xf7\xd5\x9b\x99W\xe8\ +\x16\xe6\x13\x91\xca\x9bO\x17\x84\xa5p\xf1\x8d\xd8\xc2\x02\ +\xd6\xa4\xb2\xc0\xe84\xb6\xe0*8q?\x0b\xdb\x94\xc1\xb7\xa6\xc5l\ +9,i\xbb\x0at3\x1c:\xfd\x0c])\xe8\xcb\x22\ +w\xf3\x12\xad\x02\xfcN>\xcf/(t\x07\x0b\x04\xc1\ +\xdc=\xfe\x0d\xbf\x1f\xde\x13\x99\x00XL\xc2<\x03\xfa\ +\x1e\xd3}\xa3(\xdc\xf5N\xa1\x84\xce\xb7D\x80\x0f_\ +\xf9\xc9`&\x86\x22\xd4%\xe65\xa50\xa3\x079%\ +\xc3)\x04\x19M\xbf\x85\x8c\xa1L\x94#83\xbe\xb0\ +\xc6>\xb4q\x0f\xe6\xe7\xe3\x94\xabM\xba\x9c]5\xd1\ +\x9b\x0e\xb1e\xebv3\xff\xc8m\xcc/\x22\x8dy\x87\ +m\xd5#\xc0\x8a\xf5{\xd8\xaa\xf8},b\xe3\x01\x16\ +\x05\xcfE\xc0\xcb\xef\xd0\x95\x82n\xa0\xedk\xd4\xdaN\ +\xa0\x87)\xa0\x07\x02\xe8\x0b\x83\xb7\xf3\xcd\x1dx\xfc\x0b\ +v\xf0\xf8\xaeL\xe3\xe9d\xbc\x17j\x02`\xd4\x81\xcb\ +\xcf\x1cX\xca\x94\x8d\x1e\xee\xab\x09\x83\xafhy\xae\xf9\ +\xa7\x95\xc4\xa5\xfe7\xb9\x13H4\x84\xfeL\x89\x86\x0e\ +Tc\xeeB\xbf\xc5\xbf\xbbK\xad\xe3\xd3\xc4\x98U<\ +\x22\xcdx\x9bt\xeeK\xb7I\x9b\xdfUc\x9eC\x17\ +f\x86C\xa76\xf1\x06\xda\x8e\xa0\x87\xa8@\xe7\xc0\xa7\ +\xf2\x0d\x1eX\xc3_\xb0l+\x7f/\xbc\x0f\xf8\x9d\x91\ +\xd4\x98b\xc6\xcf\x8d\xe4\xc4\xcf\xe4\xe0\xab\x94x\xdb\xf4\ +\xb6\x1aB\x18\xfc\xf9\xd5PUfL\x8cR\xfd\x8c\x88\ +\xf0\x0d}\x90\x1f\xc8G\x10\xd2\x94LU;\x0a[\xc6\ +u\x19n\xb7\x89\xcf\x1b\x82\xb5\xf7u\xb4I\x9b\xddU\ +c\xd4\xa13]\x84Q\xb4\xdd\x88\x89\x0f+5\xf1\x5c\ +\xdbW\xebk;\x07}\x05\x80\x0e\xc0\xe3\x1e\xbf\xf9K\ +\xb70\xaf\xa5)|\x93\x07^\x07\xbf\xab\xd8\x15$\x08\ +\x80\x9f\x0fI\x87E\x9f\xa1\xd3}\xd3\xa9?R\xea\xf1\ +\xff\x13\xdb\xe34:\x83?PM\xdb\x16'W~N\ +\xf2%\xadSh%:\x83\xb3\xe8\xcc\xe7\x07\x07\xc5\xbe\ +\xd66\xe9\x8av\xd5\x94:t\xfb\xccv\xe8\x16\x01\xe8\ +A&L\xbc\x8fJ\xdb\x11x/\x00\x1eA\xc7\x13\xc0\ +<\x16of\xee\x8b63\xb7\xa0d\xfe\x1a\xfc\x9e:\ +\x02$+\x04\xc0\xcf\x86\x07IaZ\xde\xb0\xc7\xffO\ +n\x8f\xd3\x18\xa5*O\xdb~\x9fHQKJ\xa1\x22\ +\x09~l\xda\xaeW\x1f,\xdf:\xf8E\x01\xc0g_\ +{\x9b\xb4\xe9\xae\x9a\xf29tK\xcbp\xe8\x04\xe8\xfe\ +\x00\xa0\x9f\xda\xc4//\x05\x1d\xf7\xf4)\xc0\x97\x82\x8e\ +{\xfc\xf0\x140\x97\x85\x9b\x98s\xc0F\xfez$\xf9\ +\x06\x15\x01\xb0\x22\xa8\xdd\xe3\xff\x9a\x86fi\x14MD\ +\x0e\xbd\xba\xbam\xfc\x97\xce\x03\xdb\x8e\x9c\xbd\xf8\xaa\xb5\ +[0K\x82\xf0\xaaL\x87n\xef\xabo\x93.\x8fC\ +\xb7\xca\xa8C\xb7\xab\x5c\x0e\x9db\xe2S9\xe8\x5c\xdb\ +%\x13\xaf\x03}Q\xb2\x02\xbc\x00}\xe1F\xbe\xc7\xcf\ +\xc9?\x89\xf7\xf6ck\x17Z&\xfc\x9e\xb1\xda\x04P\ +\xf5\xf8\xbf\x81]\xd3\xd2\x99\xf5\x95\xa5\xd6\xf1\x1a\xe4'\ +\xd4\x1f\xe6\xe0\xc7\x87(\xaeIJ\x7fcm\xd2\x91\x09\ +/\xe7\xd0-\xae\x80C\x87\xaf\x93M\xbc\xe7bCm\ +\xc7C\x1f\x9dI\xdb\x11x\x05\xf4$6\xc77\x91\x0b\ +n\xf3\xc2]\xc0\x82\x00Hb$\x80s)\x01T=\ +\xfeop\xd3\xacj\x82\x162\xf13q\xac\xbc\xe7\xca\ +\xa4W\xdf&m\xa4\x08\x13\x9dX1\x87n\xb9)\x87\ +N\xcf\xc4\xab\x1d\xbaT\x03\x87.\x19\xc8\xbb$&\x8d\ +M\xf7^\xab\xa7\xed\xae\x1a\xda\x8e\xa0\xcf\xf3S\xb4]\ +\x80\x8eg\x00\xce\xf2N`3\x17$p\xab\xa1\x10\xe0\ +\x08\xff^H\xde\xc9\x9e\xe1\xe2\x18\x18U\x8f\xbf<\x05\ +\xfc5\x93@\xe3$\xb1\xaf ^\xf5\xe2\xd5\xc3\xed\xc7\ +\x14\x87n\xdfkj\x936R\x841\xcf\xa1\xdbi\xb6\ +C\xe7\xadr\xe8\x90\x04AkR\xd9D\x8f\xd2\x1a\x84\ +\xadg$\x07[\xd1\xf6\x8d\x8a\xb6\xfb\xebk\xfbl\x01\ +\xbc\xf7\x066\x13\x80\xc7\x1d\xbe\xb8\xcd\x1b\x87= \x81\ +\xd0\xea\xc5\xd2\xc4\xd0\xc0\xf04~\xdd\xee\xa3\x1cv\xd2\ +)&\xdd\xdf\x86\xedr\x9aC\x14\x07O]\xc0O\x0d\ +\xabH\x9bt\xc4\x86\x03\x5c\xbb_E\x9b\xb4N\xdb5\ +L\xfc\xd2\x88\xb2\x1d:?3\x1c\xba\xb8-G\xd8\x89\ +\xf3E|t\xbb\xe5\x8c\x85\xff\xf5C\xeb\xae\x19\x9d\x86\ +N\xbe\x80\xdf\xdf\xda5\x98\xcd\xf5O\xd4\x81\xae\xa7\xed\ +\x04\xfaL\x09t\x07\xaf\xf5\x5cp\x93'\x92M\x0c\x8c\ +\x5c\xb1v7\x0f\x01-\x95\x1e\x7f1:WLN\x91\ +\x8e\x81y\xb3\x04x\x9f\x1c\x92\xc6\x83\xec\xbc\xf8\xf4\xcc\ +\xf2\xb6I\xc7\x00\xd0v\xbe\xeb\xd8\x14\x10\xbf\xb0\xd4\x97\ +j\x93^Y\x11\x87n\xb5)\x87N?fGBa\ +\x173NM\xbbX|\x93\x05Eo\xc5\xd9<\xff\x0f\ +\xbe?\xb6h%\xb5\x1fd}\x02\x1b5\xf1h\xf7\x19\ +\xde\xeb9\xe8\xb3%\x13\x8f\xda\x8e\xa0\xe3\xc9\xdf\x02t\ +<\xfc\x11\x05{\xfb\x91\xe4x\x7f\x16\x86\xa72\xecG\ +\xb0Rz\xfc\xc3h8\xf4\x10\xaa\x0d|\xa7\x7f\x0c\xcc\ +\x9b#@52C\xe8\x904\xc51fH\x80\xf2\xb4\ +I\xaf\x05\x0d\x9f\x11\x94\xa04yx*[\x9a&z\ +\x842\xbf\x90-\xe5n\x93\xd64\xf1\xe68t+\x0d\ +3tZ1\xfb\x8e\x83gY\xf6\x85b>%\x15\xb7\ +\xb5!\x01R3N*\x99\xba\xbe\xa3p\xbea4\xce\ +\xf6\xc5\x13\xce\x90\x04\xb8?o\x9a\xd7:=\x13/@\ +\xc7\xf3\xfe\x14\xd0\x15\xe0q\x7f?\xbeg\x04V=\xbd\ +#E\x1d\xe0.\x84\xd4\xa1Tw\x19G\xd5A\x8b7\ +\xbdYV\xed\x00\x8a.\xe2\x9fz\x8cv\xf4\xe6cf\ +\xd7\xed2\xdb\xa1sZ\xb6Q\x0f|\x1c\x8f\x8e\xc2\xcf\ +\xf3u\x0f\xe1'icC\xc5\xabu\xe8\x8c\x9b\xf8\xf9\ +&b\xf6-\xfbNq\x02\xe0\xf0\xcc\x1c~\xda\xf8M\ +>*o\x9ao$\x1b\xa0\x1cn\xb5\x8a*\xa3\x8b\x1a\ +5\xef\x10<\xcc\xc1\xff\x11\xf7\x0b\xdc\xa34\xb5\x1dA\ +\xb7Cq]\xc7\xec=\xd7\xe9\x0a@XN\xef8d\ +b:\x1d\x93\xe7L]A\x03I\xfb\x1bK#_\xde\ +\xd8\xd4\x14y\xcb\xb4\x8e\x00\xe8\xa0\xe0\x80IG\xbfh\ +=\x13o\xcc\xa1\xf3\x5c\x95\xc2[\xbbp8\x948\x19\ +\xf4;\x8bv\x1b\xb1\xa7\xa0m\xdf\xd1\x07\xc0\xa7\xb8\xcf\ +\x0f\xa9\x82u\xd0k\xc5&\xf3\x8a0\xe1\x8a\x89/\x97\ +C\xb7T_\xdb\xdd9\xf0R\xccN\x0e\x1d\x9a\xff\xec\ +\x5c$\xc0\x15=\x02\xac\x8a\xdf\xc9??\x80\xbe\x9c\xda\ +\xb3\xb1\x8f\xcf\x03\xfe\xbfh\x90\xdd\xfcb|l\xbcs\ +0\xb3u\x8b\xe6\xdb\xb8\xa7\x12\xe8|3\xa7\xcbZx\ +\xactsG\x97\xe1v\xc7\xa8/\xd0\x8f\xaa\xab\x93\xc8\ +\xf4\x8b)\xa1_\x91\xf6\xd7x\x93\x83\xb3\xb4N\x14G\ +\xc7\xa4s\x97\xe1S\x97\xe2\x97qZ\xbc\xde\xa4C\x17\ +\x00\xde\xad\xd8\xf5\x83\x8c\xa7\xb3\x01\xc3H\x8bV\xd0M\ +\x08i\xd9\xc3r\x07\xbf^P\xbcyE\x98r:t\ +\x9eF\xb4\xddE\xca\xd0\xc91\xfb\xd13\x05D\x80k\ +:\x02\x1c9}Q\xec^J#s\xed@\x8d\x9b3\ +\xb1\xbf\xaf\xbb\xd5tl\xa6\xf9\xb7\x88\x14\xc69\x05s\ +\xc1\xa3\xde\xc4\xdfz\x8f\x9f\x9b\xd3\xc8\xa2}85\x84\ +zP\xc9\xdd\x9az1:I\xc7\xe4\xd5\x95\xea\x00U\ +\xde4\x01\xe4\xb99\xdf\x91\x89\x1a\x0c\xce\xe0\x09\xbe\x85\ +< \x86\x85\xc5\xef\xd7s\xe8\xc2\xe3\xd3\x99\xfb\xb2\xc4\ +\xd2\xedL\xa5\x07\x1f-\xa2NX\x0f\xea)\xc0\xdf>\ +x\xb27>\xd7\x07\xac\x85)\x87N]\x84\xf1]\x95\ +\xaa\x17\xb3{.\xdb\xcc\x9c\x03\x13\x99S 8d~\ +q9(\xfcp\xa5>\xd6\xf3v\x0bvO\x99\x1f\xc1\ +\xa6\xf9D\x81\xac\xd11\xbe\xdfD\x97\xc2&\xbf\xf6X\ +'\xedj\x99KC\x91'\xd3\x0d\xc4._\xc7\xeeV\ +\x0e\xfc:\x01!i\xbc\x08\xb3X\x1d\xb3\x1bq\xe8<\ +W\xa7\xb0\xf9a[\x98o$v\x05mg\xb3\x17\xc5\ +\x19\xb4\x83\xd9yE\x01\xe8\xe6e\xe8D\xf8\x16\x10\xb2\ +M\x8f\x0082\x17\x09\x10\xbf]\xd9\xdc\xf1s\xc7~\ +\x1e\x14\xae\x0d\xa6\xd2\xf8`:\xf7h\x02y\xf2\xb3\xa8\ +\xbd\xdbU\xa3\xd5{\x22=\xb7?\x95\xd7\xc5\xb9\x00_\ +\xa9\xc0\xaf\xfaF\xc17\xe2\x08\xd6\xa3\x0f\xfb+}q\ +\xebf\x1d\xfa\xfa`\x02\x034\xe3&\x8e\x94\xc3\x90\x06\ +\x7f\xb7\x06\xad&S\xe7%\xedj\x19C[\x9a\xfa\xd3\ +h\x18\x5c\xf7\xc6\xf6\x9b\xe8z\x18\xbb~\xb5\x1c:\x7f\ +\x13\x0e\x9d{\xf0fN\x00\xd1\x166\x15\xc8\x07\x9f\xe3\ +\xf7\xe6\xdd\x86\x1c\xfd\xb1M\xb7=\xa0}%\xe3\xc0\xf7\ +\x90\xb5}\xae\x89\x0c\xdd\x8c\x05\xc2\x8b\x8fg\x99\xd9\xf9\ +\x0a\x01\x8a\x90\x00\xb78\x01\xb2\xce^\x12\xbb{\xe2h\ +\x8aZ/\x8a\xd9;Q\xfa\xb6\x0f\x91a$Y\x87\xf1\ +\x1a\xad\xde}\xe85\xadU{\x1d>\x96\x9a>\xab\x98\ +<\x03\xe8\x0d&\x83>&\xa66\xa5>\xc2\xfe\xf4\xe5\ +\xec\x09d\xb7\x9f\xda\xf7^Bf\xce\x99\xd6G[i\ +WKw2w\xad\xa9\xfb\x08o\xc4 \xf0\xa4\x8bq\ +XrYE\x18\xd9\xa1\xf3\x5c\x96\xa2\x10@\xea\x0b\xb4\ +v\x0ff\xd8\xb1\x0c\xd7\xc4\xc3\x97\xd6w\x18ds\x0c\ +\x01s\xf4\x8e+\x05\xddwC\xa9\xb6/H0\x1a\xbe\ +a\x12\xe8\xfc\xa5k|r\xbaB\x80;|\x5c.^\ +\xaf\x8f\xcd\xbc]D\xe4.\xd4T\xfb3I\x0b\xfa^\ +\x1di\xdf^w\x92\xaeD\x92\xb6R\xab\xf77\xd2n\ +\xa7\xda\xaa\x16\xb0J\xff\xf1\xb6\xfc\xa8f\x09\xbd/\xe6\ +\x08\xd1\x97\xf8\x95\x96\x83\xa1\xd4!dC\x1e\xedDZ\ +\x1bG\x90\xa5\xe8&mnhL[\xbd~\xa4\x1b\xd6\ +\x83\xf7\xe8\xfb\xc6\x18\xef\xaa\xd1p\xe8\xdc\x97n\xe6}\ +\x812\x01x:\xd5jz.\x9d\xc1\x83\xdb\xaeBp\ +\x90\xc2$\xb7p\xd3\x19:\xcf\xd2\xf0\xcd\x9e\xc27t\ +\x18e\x02\x14q\x02\xdcS\x08`\xad#@\x07Z\xbb\ +\xc5Q\xf6\x0d\xe9\xdf\x8d\xe9\xfe4%iB\x7f\xfbV\ +\xea\xfa\xfdD\xd5\xf1[\xf5\x8d\x85{\xe5\xac\x09\xc8-\ +d\x8d\xa5\x0e\xa1\xaed\x12\xfb\xd0\xc0\x82\x1e\xc4\xfaV\ +R\xcb\xf3WRs\x09\xfa\x13M\x9a\xb6\xeb\xd5\x8fO\ +(\xf7\x8f3\xe8\xaaQg\xe8\xf4\x8a0\xcb\xf4\x1bC\ +\xddi\xe3E\xcb\x9e\x96i\xd4\xbd\x8c\x9b/\xfc\xd1\x09\ +\xc3d\x8dl\xe2\x8de\xe8\xd4\xe1\x9b\x9a\x00\x19\xc7s\ +\xf8{t\x1a:)R\xca\xd85&M\x16\x9bR\xea\ +R\xd6Tn\xa4\xa9\xa71\xef\xbf\xe6+\xef\xf8}M\ +K\x81\x18.\xf91}\xb9\x06\xd4>\xd6\x94v\xf3Z\ +\x904\xa3\x96\xb2o\xa4m\x5c\x1f\x11\xeb?\xa2\x9b\xf2\ +=\xac\xa7\xfcx6\x97\xa0$\xb3\xbaj\x84C\xe7\xa2\ +\x22\x80C\xc0Z\x11\xa7\xaf\xa0%\x08\xe3\xeb\xb9\xb0\x0c\ +$pg\xd0#Z3C\xa7\x03\xddM\x01}\x8a\xcb\ +:>\x8f\xd7\xd69\x86\xed\x87\xd9\xd7\x7f\xf7\xf3\x8a~\xbe\ +\xfa\xbeY%\x90\xca$U@\xaaJREz\x0c\xa5\ +\xd2K^_\xbcG\x95Wq\xedw?\x7f\xc2\xcf?\ +\xbfmRI\xc8\xbb\xbb\xf1\xee\xe7\xddO\x05~\xfe?\ +\xaeY\xd8\xf4\x1d\xfb\xf58\x00\x00\x00%tEXt\ +date:create\x002010\ +-02-10T01:44:25-\ +06:00\x0e\xe0\x0c\x1b\x00\x00\x00%tEX\ +tdate:modify\x00200\ +4-05-23T19:30:34\ +-05:00\x17\xb7\x8ah\x00\x00\x00\x00IE\ +ND\xaeB`\x82\ +\x00\x00+\xc0\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x00\x09pHYs\x00\x00\x1b\xaf\x00\x00\x1b\xaf\ +\x01^\x1a\x91\x1c\x00\x00\x00\x07tIME\x07\xd7\x0c\ +\x1b\x16\x028\x83\x98\xbev\x00\x00\x00\x06bKGD\ +\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00+MID\ +ATx\xda\xec}\x0b\x98\x1dGu\xe6\xa9\xee{\xef\ +\xbcG\xa3\xd1s4\x92,K\xb24zX\x96%[\ +\xd8\x18l$\x1b\x1c\xb2!` vx\x85\x04\xb0\x9c\ +\x00\xbb\xd9\x0d!l\xbe\xddM\x80\x04\x16\xf2e\x13v\ +\x93\xfd\x92\xdd\x95\x8d\xf1\x02\x1f\xb6\xc3\xe2\xe5e\xcb\x18\ +Y\x0f\x83\xf1\xfb%\x8d\xde\xb2,\xcfhF\xf3~\xdc\ +\xb9s_\xdd\xb5\xe7\xd4\xdc\xfa\xaa{\xce\xed\xee{\xaf\ +\xee\x05\x99\x9dc\x97\xba\xbb\xba\xfbvW\xfd\x7f\x9ds\ +\xeaTu\x0d\xcc\xc9\x9c\xcc\xc9\x9c\xcc\xc9\x9c\xcc\xc9\xff\ +\x97\x22\xa0B\x91\xe0\x97\xdb\x01\xacM\xb8\xfd\x1dL\x1b\ +aNj!\xdd\x98\x1e\xc4t\x04\xd3\x03\x00n5\x80\ +\x14\x95\x00\xdf\x8d`\xb7\xe2\xb6\x1e@\xa40\xad\xc4\xfd\ +S\x85}\x98\x93\x9aK#\x80\x5c\x8b\xe9\x5ca?\x8d\ +ib\xa6\xe1\xb9\xa2F\x04 \xc6\x89\xab1\x0d\xcf\xb4\ +t\x11\x03\xb0S\xcd\xcd\x96\xed\xbaVFJ\xcb\xb1m\ +\x01\xb1\x98\x88\x03@\x0c\xe6\xa4\x16\x92\xc7\x94S;y\ +i;\x8e\xac\x13\xc2u,\xcbmL&]<\xe7\xa0\ +f\x90\x0b\x00\xdc\x17p{;\xa6\xaa\x10@\x16\xae\xeb\ +\x9bi\xe1\xb1\xb6D\x22\xe6\xdav\x5c\xc6bq\xe98\ +q\xb7\xae.\x1ekl\x8c\xdb\xf1xB\x02\x08\x1b\xe6\ +\xd4@\xad\x84\xb0p\x80*\xd9\x96\xd0\xd9)\x1d)s\ +\xd0\xd3\x93\x96CC\x19\x91\xcf\xe7,\xc7\xc9\x8de\xb3\ +\xf9F\xa4H\x07]\x8e)\x0a\x8bX\x89$\xb1\xd2\x00\ +\xf1\xfa\x96\x96D^\xcaz\xb9x\xf1\xfclG\xc7m\ +\xd0\xd0\xf0\x0e)\xe5\x95\xe9T\xaa5;:\x9a\x00)\ +k_\x09\xbf\xa4kd\x85\xef#\xab\xfe^<\xdf\x8a\ +\xc7\xa1\xb1\xb55k77O\xd9\xabWw\xdb\x00\xfb\ +\x12\xbd\xbd\x0f\xe4\x7f\xf1\x8b\x81\xfa\xba\xbatzr2\ +[P\x16.\xddZ\xb1\x06\x90\x05\xf0/ \xf8\xf9\xe6\ +\xe6\x86x\x22\xd1\x94\xbb\xf6\xda\x0f\xda\x1d\x1d\x9f\xb1[\ +Z\x16\xbb\xb9\x1c\xb8SS\x90\xbdp\x01\xd2\xe7\xd0\x22\ +Iy\xd1\xe0\x8a\xda\x00^98\x95\x83n\xceW\xf9\ +\x9cUW\x07-\x9b6A|\xfe|\x8855\xa9c\ +7\x9d\x1e\xce\xf7\xf5\xfd]\xe2\xa7?\xfd\xdf\xb9d2\ +\x19K&\xa7\x97\x14H B\x1e\x13\x8b\x00\x9fT\x7f\ +\x5c655\xc4\xda\xdb\xe7\xbb7\xdd\xf47\xcd]]\ +\xef\xb3\x12\x09\xc8\xa7R\xe0LN\x82\x10\x02\xc4\xd0P\ +\xe5\xa0\xd7\xa6\xa5DK\xad\x00\xaf\xdd\xbb\x9bk\x84\x00\ +\xbb\xb1Q\x81oSjn\x86xs\xf3\x02g\xf9\xf2\ +/M\xc6\xe3\xdb\xe2\x0f?\xfcYGJ\xe8\xc3\xc6\xd9\ +\x01\x90\xa5{\x82H\x10\x0b\xb3\xfb\x83t\xbe\xa5\xa5N\ +\xc4b-\xf2\xado\xfdj\xeb\xce\x9d\x0a|'\x99\x84\ +\x98\x10\x9e\x1b$\xb8\x8eSS\x15/\xab\x0f0\xff\xcd\ +\x1a<[\xd6\x80\xd4BJ\xb0\x1a\x1a\x08x\x22\x00\x11\ +A\x11\x22\xbe`\x01B!\xdf7\xd4\xdf\x9fm:p\ +\xe0s\x88\x9d;89\xe9.\x02\xc8\xcb\x00\x7f \x16\ +f\xf7\xf1d<\xe58\x8d\xd6\xb6mw\xb4^y\xe5\ +\xfb\xe9!\x22\x1eW\x0ct\xf1\xe1n&\x03\xaeeA\ +l\xf5jX\xb8p!\xc4\x17/\x06\xc0\xe3*Hm\ +[tm\x9f_\xf3\x86\xe0&\x93J\xed\x03\x99\xe0T\ +\x8a\x9cB\x10\xd9\xac\xc2\x830\xaa_\xb5\xea\x03c\xe7\ +\xce=\xddt\xf6\xec\xfd\xf5\x08\xbe\xc7\x17\x90%\x11\x80\ +\xfa\xf4m\x08\xe5tSS\xa2\xae\xb5\xb5M\xae\x5c\xf9\ +\x19\xab\xbe\x1e\x1cT)b\xd92\x80\xae.\x10\xf8\xb0\ +&\xb4A\xa2\xb5\x15&{{!36\x06\xd3\xd9,\ +1\x10\xe6\xa4\xb6BX\xc4\x10\xe8\xe6\x8e\x0e\xa8\x9f7\ +\x0f\xb2##\x90A?L\x9e:\x05\x12\xc9\x11\xc7\xc6\ +(\xdb\xdb\xff,\xd6\xd3\xf3H\xb2\xa9)\x8d\xb8\xe5\xc6\ +\x02\x1c\xc2X\x10\xf3\x86\xe8\x9c\x94u\xa9\x85\x0b\xdf\xd3\ +\xd2\xd6\xb6\x84\x98\x96ok\x03\x81\xaa\x87\xfa\xfau\xd8\ +\xeaGN\x9e\x84\xd1'\x9f\x04\xe9\xba0'\xbf|\x19\ +C\xc0\x9b\xb1A.\xbd\xf6Z\xc8\x0c\x0f\xc3\x94m+\ +s\x1cC\xcd`\xcf\x9b\xd71\xd4\xde\xfe\xdb\xed\x03\x03\ +\xf7\x01@f\xed\x8c\x19\x00Q\x8a\x06\x18\xa3\xd6\xdf\xd8\ +h\xa3\x9dO\xe4[[o&\x80S\xd8\xba\x01S\x0c\ +\x1f\xd4\xb0f\x0d\xf4=\xfb,$\xcf\x9f\x879\xf9\xd5\ +\xcadO\x0f\xd8h\x0e\x16l\xd8\x00\xe3/\xbf\x0c\xd3\ +\xa8\xa5\xed\xe9i@\xbf\x0d\x9c\xfa\xfa\x9b\x11\xc3\xef\x10\ +\x96c\xa9\x94\xd5\x06\xe0Fj\x80/\x00\x88\xdd\x98\xb2\ +\xaek\xa3mI\xb8 \xb7`?\x1fr\xe4\xf8\x0d\x0d\ +);?\x8e\xc0\xd3\x83\xe7\xe4\xd2\x90\xf1\xd3\xa7\xa1e\ +\xc5\x0a\xb2\xfd0\xf6\xfc\xf3\x90Es\x9cH\xa7\xc1\x11\ +\xe2*\x07 AXN\x03\x88\xff\x8a\x89\x94|(\x01\ +\xfe\x92\xbc\x7fL\xf5\x96e\xb9R\xc6\x9ct\xa6u\xa2\ +\xfb\x08@C\xa3\xf2:\x1b\xd7\xaf\x87\xe1\xe3\xc7\x01\xe6\ +\xd4\xfe%#.b1~\xe6\x0c$\xd0\x1f8\xbfw\ +\xafr\x0e\x85\xe3\xc0\xc2\xa6\xa66\x89\x18\x12\x96\x08\xb4\ + l?\x1fB\x00\xc3(\x00\xd1h\xdb\x16\xe4\xf3\xb1\ +\xa9\xfe\xbe\xba\xb1\xbe~\xd02\xff\xfd\xef\x07'\x9f\x87\ +9\xb9\xb4\x84\x9c\xf0f\xd4\x02\xd3\x14\x9f)\x98\xe6\xfa\ +e\xcb\xea\x00\x09\x80\xe6\xc0\x22L\x17\x95\xda\x0d\x14\x98\ +\xf2R\x0a\x89\xbb\xd3\x93I\xc50-\x0e\xc0\x9c\xd3w\ +\x09J\x1eU>\x8e\xc7\x80@\x7f@\xcbT\x12\xb1S\ +a\x03)D9\x91\xc0v\x001N7Ii\xe5\xd2\ +i\x7f\x1f4\x93\x99\xeb\xea]\x82\x22\x1d\x07t\x840\ +W\xc8\xcb\x12v3\xa6\x5c\x10\xa6e\x85\x82]Pw\ +\x88<\xaa{9\xebAs\xf0_rb\x1a\xa5\x10\xa0\ +\xf1!\xec\xdcDBp\xbc\xa2}\x00\x05>%\xaf\xfa\ +\x879\xf5\x7f\xe9J\x11\x5c\x1c\xcc#\x0c\x01\x13a:\ +\xbf\x14\x02\x9c\xc24\x8d\xa9\xb1@\x00\x1f\xf8\x05\x02\xcc\ +Q\xe0R\x13\xd30\xa5\xd1\x00j\xab|\x00L)\xc2\ +\xb6\x14\x02\xf4`ZP0\x01\x16\xfe/\x01j\xaa\x01\ +\x1cL\x8f\x9f=\x0b\xcf\xbe\xf6\x1aLb\x00\xe3\xf2%\ +K\xe0\xb77n\x84\xc5\xe8\xcc\xfc:I?\xda\xe3\x1f\ +vw\xc3\x99\x81\x01hE;\xbd\x03\xfb\xec7\xad\x5c\ +\x09vU\x09\xc0:\xfa\xb4o\xb9\x1a\xdbRM\xc0<\ +LycW\x8cTY\x03\xd03\xee{\xe9%\xe8\xc5\ +.LKK\x0b,\xc6q\x85!$\xc1?\xfd\xecg\ +\xf0\xc1\xed\xdba\x0d\xe6\xfd:\xc8q,\xdf\xfd/\xbc\ +\x00\xf5\x18F_\x82\x04w\x1c\x07\x0ea\xf0\xe6,\xc6\ +\xf0?\xbce\x0b\xc4\xaa\xe4\x03\x88\x82\x060\xe0\xab\x13\ +`\x170\x1d.\x95\x00Y\x00\xea\x01\x08\x04\xdab\xa3\ +SU\xd2\x009L\xf7\x1f;\x06yl\xe9\xef|\xe7\ +;\xe1\x8a+\xae\x80:\xdc\xef\xef\xef\x87\x17\xb0\xb2\x1e\ +:z\x14nCM\xb0\x1a[\xcb\x1bYNNN\xc2\ +\x0fO\x9c\x80-W]\x05\xdb\xb6m\x83\xc5\x18IM\ +\xa368\x81y\xcfc\xd4\xee~,\xe7\x1d8\xb8\x16\ +\x93\xf2b\x09\xa01\xf2m\x09C\x0b\xb1$L\xa1\x0c\ +\x02@\xbc\xe0<\x143\x01\xb2\x0a\xe0\x7f\x17\x072\x00\ +#\x8b\xef\xba\xf9f\xb8\x0a+\xa7\x09\xc7\xb4\x85\x10\x8a\ +\x08\xabq\xa0i\xdf\xbe}\xf0#\x8cm\xff\xd6\xda\xb5\ +\xb0\x0aG\xbf\xde\x88r\x1a\xe3\xf2\x8f\xbc\xfa*\x5c\xbb\ +c\x07\xec\xda\xb5\x0b\x96\xe1\xc0M,\x16#\xb0T9\ +\x97/_\x0e\x8f=\xf6\x18|\x17\x07\xd5\xde\xbbf\xcd\ +\xc5\x91\x80\x1c\xbe\xe2C\xc9\xc2\xc5\x94+wF\x90\xf0\ +ld\x15\x09\x90G\x90\x1fB{O\xc3\xc8\xb7\x16\xc0\ +o4\xad\x5ci\x81\xcb.\xbb\x0cn\xbd\xf5VUY\ +{_y\x05~\x03\x8fW&\x12\xf0F\x923h\xca\ +~\xf2\xfa\xeb\xb0\xfd\x9ak\x14\xf8\x1d8tk\xdb\xb6\ +1\xb3\x18\xb6\xdd\x8ef\x8e\xcaH$\xf8>\xfaA\xef\ +Z\xb9\x92HP\xb9\x0f D\xb1)v\xa2\x82I\xa1\ +\xc6{\x94U$\x00\x81\xff#\x1cD\xb2\x10\xfc]o\ +{\x1blA\xfbg\xc07B\x15E\xad\xe5\x96[n\ +Q\xfb\x8f\x1d>\x0c\xb7tv\xc2\x0a\xac\xac7\x82\x9c\ +\xcdd`?\x9a\xb2m\x08\xf0\xdb\xb0\x9cK\x97.5\ +\xe0\x1bQZo\xeb\xd6\xad@\xb2\x7f\xff~\xf8qo\ +/\xfc&\x96\xdbv\xdd\xaa\xf5\x02\x1c\xde\x9b\x8b&@\ +\xbd\x0e\xf9V\xd1\x04\x10\xf8{\xd1\x03\x16\xc8\xfc]7\ +\xdd\x04\x9b7o\xf6\x83\xcfI\xa0Z\xcd\xce\x9d;\xd5\ +\xfe~\xf4\xa0w\xa2\xfd\xec\xb4,\xb8\x94\xe5\x5c.\x07\ +\x87p\xc8|\xeb\xd5W\xc3\x8d7\xdeHN\x9f\x01\x9f\ +\x0b\xd5\x81\x22\x81\x85\xe5:x\xf0 \xec\xc5\x89\x1d\xef\ +X\xb4\xa8l\x12\x18\x87\x9d\x9b\x00A\x98\x96J\x80U\ +\x05'P1G\xcab&\xa0\x22\xf0\x1fC\x8f\xd7B\ +\xf0oz\xeb[a\xe3\xc6\x8d\x0c\xfc0\x12PE\xd2\ +\xfe!t\x98n\xc4YH\xcb\x84\x80KQ^w\x1c\ +\xf8\xf9\xf8\xb82k7\xdcp\x03\x03?\x8c\x04\xa4\x0d\ +\x89\x04\x87\x0e\x1d\x82}\xa3\xa3\xb0\x0b\xeb\xaa,\x12\xe8\ +k\x85\xf0;\x82\x88a\xbe\xa0\xcdW\x95J\x80\x13\x98\ +\x5c\xea>\x04\x98\x80r(@*\xe9 MR@\xe0\ +\xa8R\xba\xba\xba\x18\xf8\xa5\x90\xe0\xadH\x1c\xaa\xa0'\ +q(\xfaz\xec\x1e.\xbd\xc4\xc6#\xceK\x09O%\ +\x93p\xe5\x95W\xc2\xf5\xd7_\xcf\xc1\x8f&\x01iE\ +\xe5\x08?\x89\xb3\xac\x0e\xa5Rpc}=\x01[\x96\ +\x06\x90|\x22\xaa(`\x09\xe1\x04\xe0'\x84S\x85@\ +\xd0kX\x08\x0b\xc1\xbf\xfeMoR\xe07`_\xb8\ +\x5c!\xe0\xa9\xfbD\x04\xa2J}\x06\xbbP;\xa8O\ +\xed8\x97\x06\xf8\x98\x9eE\xbb\xbf\x09\x01|\x13\x96\x13\ +\xdf\x95\xde\x99@!@\xcb\x22\xc1\xa6M\x9b\xd4\xbdO\ +?\xfd4\xf4\xe0v96\x9ep\xe1\xb8H\xbf/g\ +\x11\x96e;\x81\xf9\x5cN;\x0f\x17\xa5\x01\x12\xe8\xc1\ +_\x8f\xdd\x9du\xeb\xd6U\x00\xbea6\x01\xbf\x08m\ +\xe3u\xd7]\xa7*\xe89\xecF^\x83N\xe1\xc2_\ +\xf1\xdc\x84\x0b\xf8./\x22\x117\xa0Y\xbb\xf6\xdak\ +\xe9\x1d\xbd\xe0WD\x82\x0d\x1b6\xa8\xf2\x8e\xe0\xb8\xbe\ +\xdb\xdd]\x1e\x01x\xdcF\xe41\xc5\xcb!\x00q\xae\ +\x0e\x13\xeb\x05T\x10\x08\xba\x12\x9d\xa1y\xed\xedP_\ +__\x09\xf8\x8c\x044\xfd|\xc7\x8e\x1dj\xffE$\ +\xc1V\x22A6\x0b\xbf\x0a\x19\xc0g\xbf\x8c\xdb\xf5]\ +]\xd4\xa5S\xef\xa6A\xd7[-\xe5\x92`=\xce\xbc\ +\x9aD2\x0d`\x0f\xa8$\xd1D\xe3f@\xe5N\x95\ +\xab\x01\x94\x13X\x85^@\x13\x82Ca^\x0a\x7f\xba\ +\xae[!\xf8&O\x93\x80*\x9cZ\xdaa\x9c\x0a\xb5\ +9\x91\x80\x05\xe94\xfc2e\x10\x9fy\x04\x09\xb0~\ +\xedZ\xe5\xc5/X\xb0\x80\xde\x87\xbd\xb3!\x82\xda/\ +\xd9\xe4\xb5bW\xd9\xe9\xef\xa7\xfa.+\x0e`\x86\x83\ +\x0d\x01\xdcrM@KaDPV!\x10\xd4\x8f\x11\ +\xbd\xc5\xd8B\xe2\xf18\x85@\x89\x04e\x82\xcfI@\ +\x15D$\xb8\x1a\xb5\x0b\xed\x1f\xc3 \xca\x06\x1a\xeeD\ +\xc7\xe9\x97!C\xa8\xcd\x8ec\xbab\xf5j\xe5\xbd\xb7\ +\xb7\xb73\xa0=Z\x80\x9d\x8b\x02_iK\xbc\xbe\x1f\ +c\x03\xb2\x02'\xd0l\x0d\x86-\xe5\x10 W\xe86\ +\x08)/:\x104\x85v\xec\xd4w\xbf\x0b]\x1f\xf8\ +\x00\x15L\x93\xa0b\xf0It\xa5R\xab\xa3.\x17U\ +\xdaI\xfc8u\x1d\xe6\xcfC\xa7\xa9\x962\x82~\xcc\ +)\x0ca\xafY\xb5Jy\xed\xf3\xe9\xe3\x18!\x02[\ +~\xb4&\xe0\xe0St\xf0\xd8\xfd\xf7\xc3TooE\ +\xdd@\x1ff\x84!>0W\xceX@\x0a\x93M\xa9\ +J\x81\xa0\x81\xe7\x9e\x03\x81\x85[\x7f\xc7\x1d\x8c\x04\x0c\ +\xfc2I@\xad\x8f\xba^d\x1a\xce`\xe8u5\xe6\ +\xb5NL@-d\x0c#w\xaf\xb6\xb5\xc1jtl\ +)\x96\xd1\x86\xfb\x1e\xf0\xc3\x81\xe7\xfb\x81\xe0\x9fx\xf0\ +A\x18x\xe6\x99\xca\x22\x81\xc5\xc7\x02 U\xae\x06\x88\ +\x11\xf8\xbc\x1bH\xc0U\xe6-?\xf5\x94Rk\xeb\x7f\ +\xf7w\x19\x09\xca\x04\x9fU0\xb5B\xdd}:\x87\xa1\ +\xe6\xcb\xf0|\x0b\x06d\xaa)\xe3\xe8\xc7\x9cC\xb3\xb3\ +j\xc5\x0a\xea\xceR,?\x08|\xb6\x0d!\x01\x07\xff\ +\x81\x07\xa0\xff\x17\xbf\xa8|>\x007\x01\x16\xe6\x95\xae\ +\x01\x9e\xf38\x81v\xb1\xd0\xe2E\xcc\x07\xe8\xc3\x82\xd1\ +\x8bv}\xf0\x83^\x12T\x02>\xabx\x02\x84\xbaO\ +T\x99\xbdX\x91\x9dx\xae\x09\xc7\xe1\xab!I\xfc\xed\ +^\x8c\xe7\xaf\xec\xec\xa4\xee,9h\xc1-\xdd/\x91\ +$ \xcd\xa5\xc1?\x8ej\xbf\x0f\x83@\x15\x89\x94^\ +\xf5\xcf\xc6\x03\x14\xb6\xa5j\x80D\x81In\x0df\x04\ +\x11\xbb\xa9\xf0\x1b>\xf4!M\x02\xea!P^\xe5~\ +\x81\xf1\x9c\x09 U\xa9\xfdX\xa1\x1d\xd4\xa5\x1a\x1d)\ +\x7fU$\xe9\x05\xbf\x0d\xfa\x11\xf8\xe58H\xb3v\xed\ +Z\x0d>{~\x08\xe0\x81\xe6\x80\xde\x99F?\x95\xcd\ +\xff\xcew\xa0\xff\xe7?\xbf\xb8\x09!\xbc\x17\xa00\x14\ +\x05Le9\x04\xc8b\xb2\x00D-f\x04\x11\xcb\xe9\ +\x857~\xf8\xc3\x8a\x04\xd3\xd3\xd3D\x02\x06ri\xe0\ +s\x12\xacY\xb3F\xed_@\x22,\x01\x09\x8d#\xc3\ +\x15}\xef=5\xbf\x1d\x06/[\x05\x9d\x18\x8a^\x85\ +N_sss1\x13\xa4\xf3J6\x01$\x1a|\xea\ +\x1d\x1d\xfb\xf6\xb7\xe1|(\xf8\x95G\x02\x89\x12n\x01\ +\xd3L9\x1f\x86\xc8|^\xb8\xb6-\xcc\x8fVwN\ +\xa0b;\x91\xe0#\x1fQ\x11\xc2T*E$\xa8\x10\ +|N\x82\xcb/\xbf\x5c\xed\x0f\xc6l\xd5\x04\xea\x87\x06\ +C\x14\x00\xe7\xc7t\xfbB\x18^\xb3\x16:\x16/\xa6\ +\xf9\x09\x14\xcb\xa0\xdfc\xcf/\xc7\x04\xe8\xfb\xb4\xcdO\ +$\x12p\xf4[\xdf\x82>\x9c\x02w\xb1\x22\x03\x06\x83\ +0W\x10\x96\xa2\xfc\x09!zF\x10'\x80\x84\xea\x88\ +*8\xfe\xde\xc6\x8f~\x94H@\x9a\x80\xe6\xb2W\x02\ +>S\x85\x04\x18\x01G\x95=\x1c\x8bC;H\xa8\x1f\ +\x1c(iE\xac\xd4\xc2E0r\xc5zX\x82\x91\xb8\ +\x15+VD\xb5\xfc\xb2m>E\xfa\x08\xfc\xeeo~\ +\x13\xfa\x9ex\x02\xb8T\xee\x03`\x81\xfd\xf8T2\x1f\ +\x80 p0\x05G\x02\xab'\xe7\x91\x04T9\x9b~\ +\xff\xf7iK\x9a@\xf7\x0e\xe8\xf8\xa2\xe2\x04\x04\x1c\x01\ +H$\x18\xb5I\x13\x1c\x81\xc4@\x1f\x84Iz\xe1\x12\ +\x98\xdc\xb0\x19\x96,\x5cH\x93R\xf4T\xb5\xa0\xf7)\ +\xcb\xfb\xa7\xf7\xa0\xdfS\xe0\xdfw\x1f\x9c/\x1b\xfc\xe8\ +H\xa0\xe0>\x80\xc20_\x0e\x01\xd2\xd4\x0d,t!\ +X$PJ\x95\xaa)T\x11\xf4\x9b\x9b\xff\xe0\x0f\xe8\ +\xd0k\x0e*\xf6\x0bH4\x09h\xee\x1d\xb5\xbcQ4\ +\x07\xf3\x0eK\x88\xf7\x9f/\xba\x1cYfI\x07$7\ +]\x05\x8b\x10|\x9c\xc5C-\x95\xa9\xf6\x88\xae_\x10\ +)\xe8\xf9\x06\xfco|\x03zq\xdc\xbf\xaa\xe2q\x02\ +gafY\x1a\xd3r4\x805k,\x80\xb6\xc2\xb6\ +k\xf6u\xd0y\xaa\x10\x22\xc1\xc7>\x06$SSS\ +D\x82\xca\x9dB#d^hN\x81j\x81\xe3Wm\ +\x87\x16*x\x7f\x0fx%\xbbd\x19\xa4\xf0\xdc\xc2\xf6\ +v\x1a\xce\xa5{\x82Z=\x039*\x8f\xbc|\x02\x9f\ +\x9c\xbe#\xf7\xde\x0b\xbd\x07\x0f\xd6\xe4\x13qEjK\ +\x14\x9d\x14J\x98\xc6\xca]&\xae\x90\xfc\x5c\x92\xb2f\ +\x9f\x87Q\xc5\xd0o_\xf9\x89O\x00I2\x99\xac\x0a\ +\x09\x08\xf8\x86\xc2\x9c|\xda\x9f\xd8\xbe\x03\x1a\x9f\x93\x10\ +\xeb{\x1dHr\x1d\xcb!\xbd\xed:hok\xa31\ +\x06r\xd0\x02\xc2\xb5\xac\xe5G\x9a\x00z\x1ei!\xfa\ +\xcd\xc3\xf7\xdcS\x0b\xf0\x8d\x0f\x00\x82\x22\xae\xcc\x04@\ +\xb9>@ca\xea\xf6\xec\xf9\x00\xc2\x125\xd3\x00F\ +\x13`\x05I$\xc1\x9d\xbb\xa9\xd5h\x12T%XD\ + \xe8\xf1\xfa\xe4\x8e\x1b\xc0z\x86L\x0f\x96u\xc7[\ +\xa0\xad\xb5\x95\xc2\xca\x1a\xfc0{\x1f@\x04v\x1d\xa9\ +}rF\x0b\xe0\xdf\x0d\xbd\x07\x0e\x18\xac\xaa\xaf\x02H\ +e\xb38\x80\xd6\xe2\x84\xa9[\xb2\x09\xf0;\x10&\xc6\ +,,pi\xaf\x16\x04\x10f\xd3\x87$\xa0\xedf$\ +\x81\xd6\x04\xd8;\xa8d\xf8\x98\x81Ej\x98\x06\x91\x08\ +\x9c\xa9\xeb\xdf\xa6\xce\xb5\x22H\x14\xd7\xa7s\xfa\xfa\x08\ +\x89\xd4\x02\xa4\xf6\x09|\xd2\xfc0\x9cz\xe8!\x98\xec9\x07\ +R\xba\x8c\x00\xda\x09 l#\x090N\xea\xc4L\x0a\ +\xf5\x93\xd6\xb6*\x0e\x07\xfb\xb4\xbd\xd0\x15\xe2qZ\xa5\ +\x87\x04\xbeD\xa25\xc1>\xaa)$\xc1\xbf\x06iH\ +p1NaI$\x08\x13r\xf84\xf8'\xef\xfe\xef\ +\x04\xbeQf\xd2\xef\xe4rm0\x8b nq\xe7\xb0\ +\x19\xa3\x92\xed\x1b7\xaa\xd5@[q\x90\xcb\xc11\x93\ +\xd7\xb1K\xf9\xf4W\xbe\x02=8o\xd0\xc9f\x89\x94\ +\xa8\x05:qk\xb1U\xdf\x09\xcbx\xa9\xeb\x03Lb\ +ZU\x98\x14j\x151\x01\x12.2\x10\xa4\xc0\xd7\xd4\ +d\xc0\x1b\x8f\xc5\xf2\x94@\x18]6\x84$8\x8e\x07\ +\xeb\xee\xfc7\x80B$ \x9f\xa0\x1a$\x88R\xf3\xec\ +\x1c\x82O\xb1\x03\x8aW \xf8\xff\x88\xe0\xff\xd4\x00m\ +\xd4\xbf\x12\x03\xbe\x1fx\x90\x5c\x13$0p\xd4\x8a\xc3\ +\xcf\xf3\xb0\x85/\xe8\xea\x82:$X\xb2\xb7\x17z\x10\ +\xf4\xd7\xbf\xf8E\xe8\x7f\xea)\x02\x9d\xd7+5P\xab\ +\xe8\xac`h lK!\xc0\x94\xf1\xcd\x84\x89\x03\x98\ +@P\x85\x91@\xfd\xa3\xfe\x0c\xc9}\x00\xf3pn&\ +4\x11\x86\x0eaE\xe3\xce\x15w\xfe\xb1\x02C\x93\x00\ +\xa5\x9af\x80\xf2B[>\xc5\x13\x9aT\xcb\xff\x07\x18\ +:\xf0\x98&v \xe0\x9a\x1c\xca\xbcz\xce7.Z\ +\x0c\xcd8\xef\xa0y\xf9Je\xcb\xeb\x90T\xf9\xa9\x14\ +\x0c\xe0\xea)\xaf\xec\xd9\x03=\x07\x0f\xd2\xc2\xd0%M\ +'wY$PW\xa3\xc16\xda\x09,\xd4?\x9b\x10\ +b\x19\x13P\xbe\xcd\xe7N\xa0\x06\xd7\xa8\x1a\xa6\x1d\xfc\ +d\x11\x052\x00\x91\xe01*\x1e\x92\xe0\xdf\x01\xc9\xd8\ +\xd8\x98!\x01\x97\xaa:\x85\xd4\x85\xd4\xe0\x9f\xbe\xe7\x1f\ +`\xf8\xe0O\xfc:7\xc0\xd6+\xf0\xd1_h\xec\xe8\ +\x84\xc6\xce\x15\xd0\xd4\xb9\x12\x9ah\xa0\xaa\xa1\x11\x01\x9f\ +\x82!\x5c\x0b\xe1\xd87\xef\x83\x0b\xcf=\x0fCG\xba\ +\xc1\xc9\xe5\xcbjb\x82\xf0\xb1<\x9a\xca\xd3\x962\xa5\ +\xce\x09\x5c\xab\xb16A\x04\x1f\x8a\x13'O\xc0\xe4D\ +\x12\x12-\xad\xf4gJ\xe8\xa1\xd1\xcc\xd4\xff0\x80\xf5\ +\x83\xf4\x89Y*\xdf\x00\x8e\xfb\x9a\xce&\x7f\x04Ip\ +\x0a$\xac\xbd\xf3O@\x93 \x9b\xcdF\x9b\x82\xca\xcd\ +\x80i\xf9MM\x08\xfe\x7f\xc3\x96\xff\xa8GMj\xa0\ +\xb5\xc3\xd6\x04\x89\xb6v\x88\xcf\x9b\x0f\x89\xf6\x85\xd0\xb0\ +t\x194,\xe9P\xc5N\x9e{\x0dF\xbb_\x863\ +\xdf{\x10F\x8f\x1d\x85\xb1\xd3\xa7\x11pG\xdd\xebJ\ +]\xd6\xb2\xc2\xc6\x84\x05%\x16\x08\xb24\xb6\xa5\xc7\x01\ +\x8c\xc8Y\x04\x98\x1e\x1c\x84\xd1\xd7z\xe8A\x8a\xcd\x89\ +\xd6\x19\x22\xc4\x1a\x1aT\x8a75\xd19?\xf8b\x96\ +j\xd4\xa0[\xb3T=\x8b\x0e\xfa#R\x8a\xdc\xd2\x1f\ +\xe4\x1e=\xf4\x138\x8d\x99\xab?\xf1'\xaa\x1b6<\ +<\x5c\xc9\xcc\xa2H\xb3\xa0\xbd}\x0d\xfe\xab\xf7|\x0d\ +F\x0e>\x0a\x16\x16&\x86\xf3\x06c\xd8 b\x04\xf4\ +\xbcv\x88\xb5\xb6A\xbc\x0d\xc3\xcdu\xf5\x90\x1d\x1b\x81\ +\x14\x0e?\xa7\xce\xbf\x0eC\xcf<\x09\x13gN\xc1\xf8\ +\xa9\x93\x90\x9bN\x83\x06\xdbU\xb6\x96\x90*\xecke\ +\x8b\xfb\xaez\x8f\x92\x09\xc0\xc6\x02X\x07\xa34\x02\x98\ +\x86f\x88`\x9c@\x17U\xad6\x039T]V\x22\ +A\xeb\xd4\x12!\xd4\x90q\x1cU\xa3M3]\xeb\xeb\ + \x86\xf9v]\x0cbxM\xac.A\x8e\x8ai\xc9\ +\x8a\x04\x5c\xbd\xebd\xc07&\x82i\x05 \x12<\x0a\ +\xa7\x9d\xe3z\xa8T\xee\x22Q\xf5\x1a\x13\x1f\x01\ +\x04=\x84\xcdDq\xd2i\x95\xb4\xa4\xf1%l\x04<\ +^\x8f\xa0c\x8a\xd7\xd5\x11\x190\x0f5FC\x03n\ +\x91\x144W\x8f\x92%\x0al\x93\xba\x99c\x1em\x0a\ +6\xadP(\xa3%x\x22y\xf5\xf4)\x189\xfc\x0a\ +,\x5cd>\xcd\x8eP\xefl\x1be\x02\xc8\xbc\x9c\xc5\ +\xcf\xd0\xd2\xdd\xaf\x80\xf5\xdc\x01\xc8\x10\xe8\x17\xfa 3\ +<\x00n\xde-\xc4Hf\xc0\x93>\xa0M\xeb\xd6\xb5\ +\xe7j\xa0=\xa0\x83\x97\x0cZ;\x16\xf2\xa4,\x85\x00\ +|J\x98\xe6P\xa6\xc2?\x1b\x07l0\xc8\xb6K\x9a\ +\x9e\xe4f\xd3\xe8\x94!1\x92\x009KOW\xa3$\ +f\x88\x81\xa4 \x22\xc4(\xd1q\xa2@\x12\xcc\x07\xcc\ +\x13q\xd2&D\x06L\xb1\x19scS\x9eecR\ +\xf9\xb4U\xfd\xde\x13N\x0c\x1e\x1eq\xe0\x86\xee\xa3\xb8\ +8C\x1b\xfb\x12\xb9r\x7f\x80\x9f\x1b\x18\x18\x80G_\ +\x1b\x82\xf5'O\xc3\x8a\xf3'\x11,\xa3\xbe\x15\xe8T\ +F\x0d\xbekZ9#\x81O\xdd\x9b}a\xd1}\xfe\ +\x9e\x91k\xe2&\x11&\x80O\x09\xd3Z\xa0\xf2\xbf\x1c\ +\xea\xd7\x00\x94J\x8f\xf2\xd1V\x83\xaf\x13H$G\x06\ +\xf2\xb9\x8c\xaa,\x07\xf3\xb2\x9a\x1c\x82\x92!\x8b(v\ +L\xe0\xdbJ{\xa8\xd4\xdb\xd9\x05{\xdb\xd7\xc1e\xab\ +\x96\xc1\xca\x95+\xc9N3`\xab\xe5\x14\xea\x91\xc3\xf5\ +]\x1b\xe0\xe9\xb1qU\xc6\xe5}'u%k\xb0\x8d\ +\xf3_8\x90\xae\xb6\xc5Av\xde\xdf\xe5\x05\xe1\xd1\x00\ +\xa5\x9b\x82B/ \xc0\x7f\xab\x94\x00\xd2\xbb\x15V\xa4\ +\xd7/\xc0\x03\xb6!\x02O\xe6\x9c\xb9\xd6\x80\xed\xcf\xb7\ +\xccy\x22\x90p\xf3\x00\xb9<\xbc\xbex=\xfcta\ +\x17\x5c\xbe\xearZB\xc6\x10\x80\x83Y\x09\xf8\x81\xd3\ +\xcb\xe8\xa3P\xca\x7f\xa6\xa0\x85\x96\x9f?\x81\xc7\x1al\ +M\x04\xcfV\xb7j\x9f\xca\xf7\x01o\xda\x15\x11\xc4\x00\ +\xef#\x82\x14\xe1\xa8\x8aB\x85\xc9*\x13\xc0H\xa1\xc0\ +!\xc2\xe2\xb9\x82'C\x10\x03\xac\xaf\xb5s\xf0\xb96\ +\xe8]\xb6\x1e\xf6_\xb6\x03\xc1_E\xe0\xd3\x14p\x05\ +~I\x12=\x88\x14\xda\x15\xd4$ _\xe3\x19a)\ +0;\x91\x04\xbeV\x8f\x09\xbcdP@\x878}\xfe\ +\x16\xcfM\x01]\xa4\xfd\x8b\xd0n\xa0`\xe7+%\x00\ +'\x01!`\x8b\xa8\xd6o\xd4\xb9>\xd6\xc9\xa7\x0d\xb8\ +\x99\x10^R0\xf0\x8df8\x8fj\xff\xe0\xe5\xd7\xc1\ +*\x04\xfd-oy\x8b\x06\x9f\xc0\x8a\x021\x0a\xf4\x92\ +\x9dG\x8a\xfd\xd3\x17\xc2$\xcf\x14^\xba\xb3\xe7\xb8\x01\ +\xdc\xa7\xe2\x0d\xa0f\xdf\xeb\xf4\x05\xb4x\x03<\x0b\x8a\ +q\xd1\xa1`\xabv&@h\x14\x22\xc7y=\xac\x15\ +\xde\xe3\x00\xff\x00\x8a\x98\x81\x00\xf0\xfb\x96w\xc1\xa1\xd5\ +o&\xd0\xd5\xa2QZ\xed3\x09V\xff\x17\xed\x0f\x08\ +!|\x8b:\xd1\xf1s\x85\xd9R\xcbz\x8e\x15#\x81\ +q\xe6\xfc\xf1\x0d\xbf)\xf4\x86\xc5\x85\x0f\x80h-\xa0\ +\xf1\x1154\x01Rw\xcdJm\xfd,\x8f\x1ds\x0d\ +`\xb4\x03\x07\x7f\xc5\x06xb\xcd\x0d\x1a|\xfa\xe8\xc3\ +\xd8\xfc\xf2\xa5\xe2o\x0d\xf4\xb16\x07\x9a\x04\xcf+\x12\ +\x00t\xf8I`\xc0\xf5\xd9yN\x00i\xae1-=\ +L\x0bpbb\xaa\xad\x09\xa0Tn\xeb7y\x22B\ +#P\x0a\xf0\x0f\xfaWl\x84'\xd7\xa1\xad\xc7\x16\xff\ +\xe67\xbfY\x83\xcf\x00\xaaP\xcat\x0a\x0d\x11\xf4l\ +c2\x07\xe4\x13\xbcP\x88Y,}\x9dH`\x1a\x86\ +\x0b\xdc\xb37Q\xd2P\xe0\xa3\xb5\x80\x19\x0d\xc4$\xaa\ +n\x02\xcc\xf3M \xa8\xe2\xd6o\x12\xbfF'1\xcb\ +\x14\x5cX\xb9\x11\x9e\xeaz\x1b\x81O\xcb\xc4i\xf0\xc3\ +\xa6f\xd7\x8a\x10\x0c|\xaf&\xa0\xf5\x09h\xffE|\ +\xe9\xad\xb8]z\xee(@\x80\x83G\xc7\x92\x01\x1d\x05\ +<\xd7\x02<\x0eP\xd3^\x80UZ/@\x04k\x04\ +\xde-\xe4\xf7\x99s\x04\xfe&xz\xe3N\xb2\xf5\xb4\ +\x08c\x90\xda\xaf\x84\x08z%\xcf\xc0\xd0q4\x09\xf8\ +\xc7'z\x91\x8a\x97\xed\x19\x9f`\xf1\xb9n\x05\xbc\x15\ +\x06t\xb4\xdd7y\xfe\x095\xdc\x07\xa8u/@=\ +\xc4\xcf\x01c\xc3\x81\xf5\xed\x99F`=\x00\x11\xac!\ +\x06Wm\x86\xe76\xef\x82\x95+V\xd2\xda\x80\x04\xbe\ +\x06MK\xc5$\xa0Q=\xfa\x0a\x88\xae\x1d\x1c\x1c\xf4\ +\x8e\x22\x86\x80\x1f=c\x98\x1cCZB\x86H\xf0\x8a\ +m\xab\xf2-|\xad\x1bd@\xdf\xde7\xe8\x22B\xc8\ +\xa0\xcf{\xef\x9d}\xdaV\xf8\x98\xdb\xaaj\x02\x8c\xae\ +\x0f\x9a\xd6mR\xa860\x89\xf7\x08\xcc\xf1\xd0\xe5\x9b\ +\xe1\xf9-o\x87\x15\xcbW\x10\xf8\xf4\x81'\xeb\xeaE\ +\x11\xc1\x80\xc5\xc1\xa7/\x84Zp\x14S\x16\xae\xbdp\ +\xe1\x02\x91 \xda\x0c\x18\x92\x153\x05l\xb5\xcf\x97-\ +\x1b6\x82\x80\x85g\x8fxL\x01w\x00\x95\x96(\xe6\ +\x04\xd2\xc6O\x1a#\xb3FG\xad\x82-\x95U&\x80\ +\xdf\xc6\x84v\x03MR\x9b\x08\xff\xc0\x10\xc6O\x84\xa1\ +\xd5W\xc2K[o\xc5\x96\xbfB-\xbf\xda\xd9\xd9I\ +\x95Y\x0a\xc0%\xb7|\x02\x7f\xf0ow\x83\xeb\xe4a\ +\xf1\xe7\xee\x01\x12\x22A&\x93)\xc5/`\xa0\x17\x09\ +\x16\x19M\x10\xb3U\x09\x17\xbcz\xd8O\xf8R\xec\xfc\ +l\xd2\x801'R\xfb\x11&\x0eP\x0b\x13\xc0#M\ +>\xf1\xab\x7f\x03\xae\xc9\x8f\xe8\x1d\xf8\xaf\x1dY\xbd\x05\ +\x0eo\x7f'\x81O\xab\x81\x12\xf8\xe1-\xdf\x80\x10y\ +\x9e~\x87\xc0o\xc6\xf1\xfc\xa1\xff\xb2\x1b\xd2\x8f\xcc\x00\ +?Dj\xfa\xcf\xd4>\xfd\xcd\x22\xa5\x09\xa2G\x07\x03\ +\xbba\x8c\x04D\xdeW,[\xe5\xcd?\xf3\x8a\x0fP\ +\xab\x08\xf0\xd276\x10\xd0\xdb\xf2\x10B\xb2\xe7WG\ +\x03pM \x8c\x0f\xe0\xc3S\x14R\xb4F\xe0>\x82\ +'ot\xed\x16\xe8\xde\xf1\xafH\xed\x13\xf8\xfao\xec\ +D}\x9f\x1ft\xde\xb7\xafg\xf2\x10\xf8\xc3\x7f\xb7\x1b\ +2{\xef\x01\xad\xcc\xb2\x8f\xdd\x07\xc3\x02`\xc1g\x0d\ +\x09P\x13\x04=\x8b\x01\xadS\x10\x09h\xdd_\x22\xc1\ +\xe1\x98\xad\x1c\xc3y\xa7^\x06\xe1\x03\x9e5\x08?I\ +|f $\x12h\xd5\xc6\x070[\x0b\x13\xef\x06\xf2\ +\xd6=[\xfd\xcfV\xf5E\xfc\x83\xb1\xb5W\xc1\xb1\xeb\ +\xdeE\xb6\x9e\xfe\xba\x16\x03?p5N~>t\x02\ +\xe7\x08\x82\x9f}T\x83o$\xf7\xd3\xfb`D\x00\xb4\ +\xff\xa9\x8f\x04L\xcd\xe3~X\xf2M\x1c\xa1\xad&\x01\ +\xad^FyG\x90\x08+\x05\x92\xe0\xe4K`\xcdn\ +\xf1\x8c\x10\xbe\x06\xe4'\x04\x80\x8fD\xea\xbcmB\xcb\ +Jj1\x18\x14\xe9\x02h\xc0!J\xfd\x9b\xeb'\xd6\ +m\x85Soy7\xac\xe8\x5cN\xeb\xff\x12\xf8\xd4b\ +\x18\x98\x95h\x01=u\x9b\xc0\x1f\xfd\xdan\xc8\xfdD\ +\x83\xcf%\x8f$\x18\xc5\xed\xfcp\x120\x90\xa3\xb4\x01\ +%r\x0c5\x09\xba\xed\x98\xd2\x04\xcd\xc7_\xf4:\xc3\ +\xc6\x114\x00\x07\xf7\xf9\x85\xf9z\xd7\xf1\xcf\x09\xac\x9d\ +\x09P\x05\xb3-\xf3>\x82c+|\x19A\x041\xa7\ +'\xd7]\x0dgn\xbc\x8dl=\x81\xaf\xff\xbaV\xb1\ +\x96]\xa6\x160\x1fm\x10\xf8c_+\xb4|\xafY\ +bk\xeb#\x09\xf6\xdd\x07cx\xa2\xed3E\x1d\xc3\ +b\xe0j2Dh\x03C\x02\xd2l\xa4\x09:\xc0\x82\ +\xc6\xe3\xcfs\x80\x85\x1f`\xa9\xb2\x82\x9dEa\xba\xe3\ +t\xae\x96&@\x18V\x82o\xec\x9e\x89)H0A\ +\x92]W\xc3\xb9]\xef\xc7E\x18;i\xc9uZ\x97\ +G\x83_\xb1\xad\xd7\xe7\xcc\xe7Z\x0d\x08\xfe]\xa0\xd5\ +\xbee*\xcbG\x00u\xabE\xfb\x05\x12\x80\x8f\x04\xfa\ +\xe3\x13\x06.\x07\x9f\x93\x02\xc5\xab\x09\xe8o\x06\x164\ +\x81\x0d\x8b\x01\xa0\xe1\xe8\xf3^\x80\xcdVrs*\x03\ +\xd1\x15:\x12\xa8M@M\xbb\x81\x06Ls\x10\x16\x1f\ +`\x92\xea\xda\x06=\xb7\xdcN\xea\x9e\xc0g\x7fc'\ +\xa0UG\x02O\xa2?\xd4\xd4\xe0\xe7\x1e\xbd\xdb7\xc9\ +\x04f\xbf\x97\xd4\x0b``\x92\x9c\x04B\x08M\x02\x03\ +fx\x0a\xd5\x14\xda' \x92vcj\xa7\xf1\x84\xc3\ +\xcf\x85\x03\xac\xdf\xdbx\xffL\x84\x1e\xaeW\xe5\xa8\xb2\ +\x090\xf3\x01`\xd6\xe39\x09D\x04A\xa67n\x87\ +\xfe[\xef\x80\xcee\x9d\xb4\xde>\x81o\xbaz\xd1\xea\ +=\x8c\x14\xf4;\x85\xaft\xeb5\xf8\x1axC\x80\xd9\ +\xa3s\x1a|\xda\x9aO\xb6\x98&\xc0\x88!'\x01\x07\ +8\xd2,h\x12\xd0\xd2\xb3\xb4\x7f\xcc\xfe\x84z\x99\xc4\ +\xe1gA\xfb\x01\xb2h\xd7/\xa0~-\xefX\x00\xd4\ +(\x10$0\x15\x0a\x15 \xa6\xa2Cz\x09\x99\xcd\xdb\ +a\xe07>\x00\xcb:\x0d\xf8\x1e\x9b\x1f\x01v\xb4\xcd\ +\xd7\x8b3\x8c\xfe=\xd9|j\xf9lv\x91&\x80\x11\ +/\xf8\xe0\x9d\xae\xcd5\xc1\xd0\xd0\x10\x91\x80\x01\xca\xc9\ +\x10M\x10M\x02*\x7f\xb7u'4K,\xc3+\xcf\ +\xfaL\xbd4\xe0\x078\xdd\xe6\x9ce\xcfL\x92\x95\xb5\ +\xeb\x05\xa8\xc4\xc5o\xdf\x03%\xbb\xe9\x1a\x18\xf9\xad\x0f\ +\xc1\xb2\x8ee\xb4\xc6?-\xc7F-\xb6\xdcV^t\ +_\xaf\xc9\xa3\xc1\xcf \xf8\xbeh#\x9f~\xe6\x11C\ +\x00W\xf2\x99;\xd4;\x18\x93H\x82?U$\xa0\x8f\ +O\xf4\x00R\x04\xc8\xfc\x18\x85\x99\x03\xfa[\xc9t|\ +\xcc\xbaKU\xa0\xfd\xd23|\xb9V.\xfc\xbc%\xaa\ +\xee\x04\xfa\xbf\xdd\x0c\x09\x05\x0b\xff\x01\x93\xfc\xe6ka\ +\xec\xdd\x1fFG\xaf\x83\xe6\xd3\x19\x9b\x1f\x0dn\xc89\ +\xa3\xf6\xf5\x9a<#\x7f\x7f\x17d\x1e\xf1\xb5|\xd3-\ +\xf5k\x02#\xa6\xf5\xb3\xe1[\xdd\xdb\xc9\xee\x9b\xe9\x22\ +\xb6\x7f\xf6\xeb@2::J$\xf0i\x01\xae\x0d\xa2\ +\xc9\xa1'\x9a\xd2\xda\xc6t|\xdc\xfaCHH\xbc\xee\ +\xa5\xa7Y\xc4\x8f\x89\xd0\xe7\xd9h`\x0dz\x01\x9a\xb9\ +E\xf0\x17\x11\x19r\xeb\x0e\x98x\xcf\xef\x91\x97O\x13\ +'\x0c\xf8\xd1}\xfb(\x82\x98\xa5\xd8\xea\xea0\xc2\x87\ +\xe0\xef\xdd\xc3\xcd\x10\x9fuD\xc9w\x91\x99\xcd\xeb\x8f\ +\xc5KO\xf4-C\x11C\x10\x141\xa4g\xd3\xb7\x88\ +\x9a\x04\xd1\x80\xf3}6\xdb\x98V$W$\xf8\xd0\x1f\ +A\x9c2_|:\xb4\x8e\xfd(\xebo%\xa0\xc6&\ +\xc0\x16!\x04\xe0\x99\x895\xeb!\xfd\xe1?\x82\xa5\xad\ +\xea\x0f:\x90\xda\x0f\x1a\xd2\x0do\xf1|\xdf\xb7\x08\xe3\ +\xd0\xdfRl\x1f\xc1\xb7\xc2\xa2\x92|\xd2\xa9\xd0\xaa\xbf\ +\xe8$\x0d\x1e}K?\xfa\x0d\x18\xc2\xedBC\x02\xbd\ +\xb61\x03:,i\x09\x22\xc1\xa9\x8f~\x1a\xec\xb1\xbf\ +\x02\xf7\xccIS?\xa1\x04\x90T\x9e\xb2\xc7\x02\xacR\ +M\x80\xf12M\x14%L\xf4\xf9\xe5\x9f\xfc\x0c,]\ +\xd6I-\xdf\x80\x1f.a\xb1u\x9f\xcd\xd7\xe0\xd3\xa8\ +^\xea\xc7{\x82m$\x14\xd5\x08|~\xa2aKh\ +\xa4s\x1aI0\xf8\xd5\x8f\x91\xbfA\xb1\x06r>\x09\ +t\x9d\x18\xd8\xc5\xf2\x83\x84\xcaCs\x1e\xd7um\x80\ +\xf6\x8f}\xaa\xbc\x857tAj\xa1\x01\xa4~\x88-\ +\xcaz\xa9U;\xdf\x0eY\x10\xa4\xa6K\x05?\xb2\xf5\ +\xeb%\xd7i\xbd\xbf\x81\xbfQ\xe0\x13\x90\xbfTI!\ +\x09\x06$\xc0\xe2\x7f\xaf4\x81Z\xbd\xccq\x9cR#\ +\x84$\xa1$\xa0\x19PK\xda\xe6\xc1\xc0\x7f\xfc\xb7P\ +\xa2\x18\xdf\xa6\x96&@x\xbfQ\x12\xd176#H\ +VK+\x9bvU:\x09\xf8*\x18z\xbd\xfd\xfe\xaf\ +\xee\x86\xa9\x1f\xed\x01;\x08|\xe9\xe9\xdf\xcf\xcew1\ +Y\xa6\xdf\xefB\xc4*\x9e\xfa\x94\xe7|r\xef7\xc0\ +\x95\x02\x96\xfe\xf9\xddz\x81k2\x07\xd1\xaa?Z\x94\ +vkp\x1d(]\x8c\x13\xa8\xa4&&\x80\x0aac\ +b\xe7\x83o\xea\xfd\xc1\xbf\x90mSj\xb2\x0ca\x95\ +\xa6\xc3\xbb\x1a\xfc\xbe\xaf\xec\x86\x89\x1f\xec\xd1x1\x80\ +\x0d\xa2\xe6\xbcK@{\xbe\xdeu\x5c\xef1%~\xbf\ +d?\xe7\x7f`\xf2\x91{\xe1\xfc\x97?\x8e\xad\xb6\x8e\ +\xb4\x1c\xbdc\x90\x16(k\xd2\x0ai\x81\xbe\x87\x1fb\ +U\x1aV\xe9\x0a\x9bj\x13\x80\x87\x82\x8bx\xf9!7\ +\xbd\xf8\xf9\xcf\xc1\xf8\xd1W\xa8@\x9a\x04\x95\x10\xc1\xf7\ +gV\xce\xff\xe7\xdd0\xfe}c\xf3\x0dH\x06H\xde\ +t=\x81\x1e\xa9\xc9`H\xe0\xfb~\x1fT\xe2\xc4\xe0\ +\xbf\xa96\x13\x0f\xe3\x12\xf0\x7f\xfdq|\xb78-\x1e\ +A$\xf0\xf9\x04(e\x83?q\xfc\x08\xbc\xf8\x97\x9f\ +\x8d\xaac#\x9ap\x16T\x99\x00&\xd1\xd5,\x0e\x10\ +\xc5N'=\x0d\xfbn\xdbuQ$ \x9bOZ\x84\ +\xc0\xef\xf9\xf2n\x18\xfd\xbf\x1a|\xd6\xea\x0d\xc8\x1ah\ +\x93\xccB\x0d\x06t\x93\xcc5\xfe\xa9V\xd2\x9f\xcc\xae\ +\xb9\x9ed\xfc\xc7\xf7BO\x81\x04\xa8\xa5\xe8\x9d\x09\x90\ +\x8a\xc0\x9f<\xde\x0d\x8f\xbf\xf7fpRS\x10j\x95\ +\xa4g#MW\xb7\xda&\x80OZ\x10\x01D\x09P\ +M\xd9\xd1\x11\xd8\xff\xbe\x9ba\xe2\xd8\xe1\xb2I@-\ +H\xdfs\xeeK\xbba\xe4\xa1=\x06`\x7f\xec\x9e\xdb\ +\x7f\x7f2$\xa0\xe4\x86$C\x16\xad\x11\xfc\x04\x01J\ +\xdc\x5c\x8c\xfd\xf0^8\xf7\xc5\x8f\xd3\xbb\x12a\xe9\xdd\ +\xcb\x07\xffD7\xd6\xd5.\xc8\x0e\x0d\x9a2\x84\x80\x22\ +\xa5\xd7A\x87\xaa\x9a\x00.\xda\x04\xc8\xa2\x0f1\x95\x0c\ +\xc5H0\x0c\x07\xb0`\x13\xc7\x03H\x10\xf1\xb7t_\ +\xfbk\x04\xff{{\x02AV q;\xcf\x01\xf7\xd9\ +~v\x8f\x01\x9f\x11(\xcc\xbf0\x84\x19\xf9\xc1\xbdp\ +\xf6\x0b\x1f\xa7w\xa6w\xa72\x94\x05\xfeA\x02\x7fx\ +\xd0<\xa6\x14\xa7\xd4\xd7M\xaf\xa1\x090\xc3\x8d\xc1\x17\ +\x9a]\xdeJ\xb2#\xc3p\xe8\xfd7\xa3\x8a;\xc2H\ +\x10\x06\xfe\xab_\xdc\x0d\x83\xff\xc78|FM{\x9e\ +\xe1\xcf\xe3\xad\x9e\x11A\x1f\xb3|c&\x98\x06a\xa4\ +)\xaa\x11F\xbe\xffux\xf5\xf3\x8c\x04\xe1\xe0\x9f\xec\ +\x86'~g\x17dF\x06\x99\xca\xd7\x19\x81Y\xae&\ +\x00\xd4\xd8\x07\x10\x04\x8c0\xf9Q/\xc8\x9c2\x22\xc1\ +\x10\x15\xd4K\x82\xd0?\xa4|\xe6\x0b3\xe0\x03\x03\xbe\ +\x90\x0c\x88\x8c\x1c\xae\xda\xf7m\x8d\x160\xa0\x17'\x81\ +I\x06h\x93\x02\xc8h\xf2\x86\x1e\xfa:\x9c\xfe\x8b0\ +\x12\x18\xf0\x93\x08\xfe\xcf\xb0N\xd2C\x83\x86\xd4!N\ +'\x9f\x17\xea%\x80\xa0\xbdZ\x98\x00\xe1_\xcd\x889\ +B\xe16\xca5eP$\xf8\xd9\x1dH\x82\x13G\xc8\ +V\xea?\x9fJ\x8e\x139z\x94\xa7\x8eO}~7\ +\x5c\xf8\xee\x9e\xd2*\xde\x0b2\xb3\xf7\xe1v\xdf\xa1\xc4\ +\xae\xd5\xe4\xe2&\x81\x83^\x9c\x1c\x83H\x82\x93\xffI\ +\x91@;\xb1TFM\x0a\x95\xa7\xc0\xbf\x1d[\xfe\xf0\ +`pc\x8a\xa8kn\x02d-\x02AR9\x19\x86\ +\xc8f\xe0\x5c\x9a\x15/\x8c#\xe8\xb2y\x81\xa6\xc5\x12\ +\x09\x86\x87\xe0I$\xc1\x9b\xef\xdf\x07\xad]W\xaa\xca\ +\xf1\xca\x89\xbf\xd8\x0d\x03\x08\xbeey*Xx+\x99\ +\x1f\xbb\xc4O\xbd\xef\x9a\x90\xafY{\x98\xcd\xab\xe7\x9f\ +\xc0\xbb\xdc\x84\x98}\x9d\x82H\xc8\x890\xf0\xbd\xaf\xab\ +k\xd6}\xe9n\x02\xdf\xd7\xbd%\x7f\x88\xea\x80l\xbe\ +O\xbcZ\x0c\x02\x9dN&\x96\xed\xa9sY\x0b\x1f@\ +\x84\xda\x18\x03\xb0,-8\x93!M\xf0\xee\xeb\xe1\xb5\ +o\xffO\xea\xf2\xa8R'O\x1d\x85\x17>z3\xf4\ +=hZ>\xab\xdc PLk5[\xae\xde\xfd-\ +\x9f\xf5\x00\xb8\x16\xe0\xa6@\xefG\x13\x81\x8e\xfb\x91\x04\ +/\xfc\xdeN\x98:\xd5\xad.t\xa6Sp\xee;{\ +\xb0\xec\xd7\x11\xf8\xe6Zo5\x85;\x80<\x82\xa9\xf1\ +\x11\xa2z\xa1`>\xa3'\xa8\x9b\xc1[\xbd)\x8ci\ +mRp\xbf!\x8f\xc0\x1f\xfe\xf3\xbb\xa0\xfb?\xdc\xe5\ +\x1f\xc3\xb7\xbc\xd3\xb4\xb8\x160\x1e\xb0\x09\xeb\xbafm\ +T\xad\x91\xf8\xa4\x067\x8a\xf0\x5c\x0bpRq\xf3\xe2\ +\xbf\x9e\x13c\xec\xe9\x03\xf0\x8b\xdf\xdc\x0d`\x9ei\xb9\x851\xfdb\ +\x5c\x95&\x83OV\xf5\x1bY\xd7\xa7b\x03}\x01\x9e\ +\xe7M\xe5\xf5\x18\x8c\xc9\xe1`s3\xca\xbb\xdbFD\ +\xd5\x09\xa0+H\xbf\xac\x8cx\x86\xbe\x96\xb5x\x1f\xf0\ +\x02\xbc\x05\x0c\x03^\x83l\xde\xc3\xd2\xe7\xe9'\x8d\xba\ +W\x22\xe8X\x14\x88 \xbd\x1a\xc0\xcff\x8b\x03oZ\ +\x9d\x8f\x00Q\xa6\x80\xfb\x1f&\x85\x82n\x12\x037\x5c\ +\xfdK_\x0c\x22*2D\xc7\x15\x10\xc0.hm\xfd\ +\x97\xc2tH*=\x99\xa1\x85\x9f\xd5\xd2\xadN\xd6\xfb\ +\xde\xbc\x95\x9a\x93\x9c\x9dRFy\xf6Av\xdeoB\ +,/\x09\xf4\xb1!\x82\xe9\x91\xd0\xbe\xf0\xbc\xd6\x0cA\ +\x98\xb8\xb3[\x17\x07\xd4\x98\x80`m\xc0\xbb\x9f\xa5\xf5\ +\x18\xfc\xf7\x82I>\x82\x05\xa8\x7f\xc2\x84\xb0\xc9 F\ +TX\xa1\xca,\xf5\x8c&I\x98\xe6K!\xc0\x08\xa6\ +%\xfa},\xcb\x8d\xcfk\x81x\xbc\x1e\xa4\xe3\xc0\xf4\ +h\x16\x1a\x97\xb4B]k=\xe4RY\xd0\xe2k\xb5\ +\xc6\x8eF\xdby\xc9\xc9`\xfc\x03\xaf\x9d7\xe7\x8c\xba\ +\xf7\x93@\xa8\x8b\x02\xbb}\x85\x8a0\x8e\xa0`<\xf5\ +\x1f\xb8\xe1\xddB\xee\x17\x84\x98\x00(\xa3\xc7 C\xba\ +z|P\xcaH}[#4u\xb4\xc1\xd4\xf0IH\ +\xe0\x88\xa4\x93\xcbA>\x9fQE)\xf0_\x8e\x94B\ +\x80.\xbcat\xe6\xb7\x1d!e>^_\x97mh\ +_\x94\xb0h\xfa\xb6h\x05\x22\xc4\xa2-\x9d\x90\xec\x9f\ +\x00#e\xday\x19\xa0\x05\x14\x90\xdc\xf37\xde\xbd\xfe\ +y?\x09\x84>6\x7fj\xc6 \xa8\x89\xc1\xfe\x22Y\ +\x88\xb8\xcc\x170+\x81\x1bR\x98\xae`HWT\xb2\ +\xf1\x06\x16J.\xcb?0\x04\xf3\xaf\xdb\xb0\xec\xba\xb5\ +\x10on\x80\xf1\xa1\x8c\xfa\x9b\x0dnr\x12,\x07\xa8\ +\x95\xe6\x08KL\x92\xb0\x8d\x8c\x03\xd0\x1d\x85^J\x1e\ +\xa4L\x0b\xd7MZu1\xb5\xfc{v\x1a`\xf0\xf8\ +8t\xdd~\x0d4-n\xf1c\x1e\xf0\xb2A\xf6\xcf\ +\x0d\xa9\x18\xa9\x13\xef{s\x1b\xecz\xce\x05l)9\ +\xe682928D,\xdd\x90V\xaf\xaf\x09\xf2\x0f\ +\xd8\xe8e\xb4\xcf\xc0c(\x9c\xc4\xad\xcb\xdba\xfd{\ +\xf1;\xcbg{!9\x9aQ\x84\x90\xe0\x92)\x9f\x14\ +\x00\x19\xc2\x920\xcd\x96\x12\x08\x1a\x9bQ\x0bn\xe1\xc6\ +);\x9d~U\xda\x16X\xf5\x0924\xd0\xfb\xc28\ +\xc4\xdb\xe6\xc35\x9f\xde\xe9!A\xa8\xf3\xc2\x0b\xc6\xae\ +\xe1]%7X\xdd\x9a\xfd\xc0\xf0\xad\xc9s\xf8~t\ +\x92\x0cx\xbe\x0d\x18k\x08xw^\xbe\xa0\x14@\x04\ +\x17\xf85$-\x08\xfe5\x7f|\x0b\x1e\x0b8\xf2\xd8\ +\x19R\xa7\x0aU\xc7\xc9C\x03\xc0\x19\xc2\x90\xb0$L\ +\xc7J1\x01I\x00\xd9\x86\x8cq\xf1&\x010\xd1\x94\ +J?;\x95Ln\xafokC\xfcQ\x0bL\xb9p\ +\xf2'\x03\xb0\xf6\xed\xab\xe0\xa6/\xdf\x06G\x1fx\x16\ +\x06_\xee\x81\xccD\x9aj\xc7\xf7\x19\x16%\xf3e\x0e\ +\xdf\x82\xa0\xc4\xaf\x05\xb3\xef\xbb\x06\x84?Iu\x9d\xc7\ +\xc9\xa3-\x1dz\x8f\x85\xdf!\xf6\xafO\x10\xc0_\x9f\ +#hH\xaa\xb6\x96\xc9S[\xcb\xe4{;\xee\xa2p\ +\x9d\xa0\xe4\x9a{\xa0p,<[\xcb\xf57\x08\x97\xf2\ +\xcd\xbd*Y\x9e\xdf\xb6m\x0b\x12\xf3\x1a`\xc9\xd6\xcb\ +`\xe3\x07v`F\x0c\x9e\xfc\xc6K05\x92\x06+\ +n\xa3\x7f\x96\xc6\xdf\xc8\xc3\x02\x17\x9e\x05\xc4\x90\xb0\xc4\ +\x94'l#\x09@\xc1\xca\x9b\x94\xbaP\xac\x19_\x99\ +\xcd\xef\x7f\xb1\xbf\xff}\xce\xd2\xa5\x0b\xe3M\xcd\xca\x10\ +\x8f\xf5&\xe1\xe5\x7fI\xc1\xf2m\xf3a\xeb'w\x81\ +3\x91\x84\xa9\x0b\x13\xe0d\xf2Xp\xbe\x02\x16\x89e\ +\xec\xb5\xb9\xc6\xf7\xa1\xa6\xf7>\xbe\x8a\x18\x04]\xe3\xcd\ +\x9f\x0d0\xe5W\xd2O\x96E\xc2\xae\xc5\x8e\x8b\x13\xc5\ +\x10(\xe0X\x93\xc7\xdc\x17\x14\x80*\xfe\xdbv\x22\x06\ +\xcd\xd8\xf2\xed\x86z\xe8y\xbe\x0f\xba\x1f?;\xa3\xfa\ +\xd1T;\xa9\x0cd\x93IH\xb80\xb8\xd6\x85\x83.\ +b\x98G,\x13\x00.a[\xd27\x1d\x8f\xcf`R\ +\x87\xff\xb4\xbb\x00\xab_\xb5\xc5\xed#\x9d\x1d\x9fZ\xb2\ +e\x8b\xb0bqp\xe8\x0f>d\x90\x22\xa8fb\x09\ +\x89\x0c\x1e\x85\x96\xc5MP\xd7\x5c\x07B\xd7z\xd4W\ +C\xc2l\xf8\xb5\xfc\xbc\x14\x81\xd7F\x03,\xa0r\x99\ +\x0d~h\xd4\x8d_\xc3\xaf\x8f\xf8=\x19\x1e\xdcs]\ +\x09\xf9\xb4\x03\x99\x14\xc0pO\x12Rci\xd5U'\ +'\x9d<\xff\x89\xbe\xf3\xa8\xa5\xa7\xe4Z\x07\xfe\xf1\x0a\ +\x17\x1e\xb4\xd0\x0c\xb83\x9d\xbb\xccN\xbc\xbd\xa48\xc0\ +\x01\x00\xf9\x0e\x80\x9c\x03\x90\xc4;.\xacr\xe4#\xc9\ +\xbe\xfe+\xfa\xa4{k\xfb\xe5\xab\xc1\xaa\xabC\xecs\ +\xea\xafW\xa6\xc6\xd30\xf6\x1a\x9a\x80\xe4DTC\x0a\ +>_\x85\xebd\xc5\xe7\xdexB\x7f\x94\xab\xbe\x15M\ +\xb2m\xab$\x10\xfc\x5c\x12\xc9\x80\x83k\xd9T\x0a\x16\ +\xb9\xf0(\xb6\xfe\xbd\x80\xd8Y\x88a\x1c\xb1|4\xa0\ +\xa8v\xb1\xcc\xfd\x98\xde\x87\xa9\x19@N\x93C\x88i\ +\xb1+\xcf\x0c\xa7\xa6\xe6\x0f\x8f\x0c\xafqs9\xd5\x1e\ +]\xc7Q)7\x9d\xc24\xcdg\xab\x5c\xe2\x04\x90\xf0\ +\xc6\x14\x9b\xbe\xb5\x88\xc7@\xd2\x7f\xf9<\x06\xe8& \ +5:\x8c\x9a!#\x09\xfcm\x0e\xfc3\x00\x9c\xcd\x03\ +\x0c6\x02\x9e\x02p\xee\x0c'\x00\x97+\x00\xe4\x22\xdc\ +\x92\xed\x903}\xc9\xecR\x17\x8e\xa1\x9a\x19\x1d\x9e\x18\ +_=5>\xd6H\xb6&\x8b\xe0\xe73\x19p\xf3\xb9\ +\x80\x0a\xad}\xe5K\xf8u\x17>\xfd\x1b\x1b!:{\ +\xd3\xa8y'!\x97\x9e\x86x\xde\x1d\xbc\xdc\x85{6\ +\xbb\xf0-\x02\x9fZ\x7f\x0c \x99B\xec\x9eB\x0c\xf7\ +Wb\x1d\x1f\xc7\xf3\x13\x00V+\xf2@\x024\x09\x80\ +v\x0a\x14:\x00\x9dg,\xb8i\xd4\x82k\xa6\x01V\ +;\x02\x9a]\xbc\xa6V\xa0\xc9\xaa\x9f\x7f\xe3\x13\xc7\x02\ +\xc8\xfe\xbf\xf6\xce %b\x18\x0c\xa3/I\xe9\x8c\x8c\ +\xcc\x0c\x1e\xc1\xa5\xa7\xd0\x8d\x9e\xc0\x03x\x12\xebI\xbc\ +\x95\xcb\xd9\xb9\xb48Hal\x9b\xc4/\x18A\x17\xe2\ +\x14\x1dWy\xf0\xb6%\xe1\x0b\xfc\xc9\x1fH+x9\ +\x8al\xd2n?m\xf8\x1c<\xa6\xe0#\xb4\x06:e\ +\xd7/!\x5c|?\xd5\xbd\xeev\x8c\xea\x87]A5\ +\xc0|\x84\x14\xf6\xcaJ`i`\x11a\x06T\xd2Q\ +\xf8\x0f\xbc\x1c?z5\xf9\xa8\xb7\xb5\xb2z\xaf\xf9\xbb\ +-\x8c\x97\xb9\x0d\xfc\xab\xdb@\x03\xf1\x1a\xc2\x0d\x0ck\ +\xf0#\xf4@g\xe1)\x05\x9f49\xfc\xf0\xe9\xb7\xbf\ +\x14\xfe\x1c\xf3\xf513\x1f\xf3\x22H\x06\x89t0\xb4\ +\x10\xee!^\xc9\x9f\xbf9\x81\x06\xcc\xadT=\xb1\x1d\ +\xb8\xb9\xac\xc1\xbeJ\x97{5\x1eLO\xe1\x10\xd4\xd2\ +A\x0c\x80\x878\x83\xd0\xcb\x1d\xf8\x85<\x87p\x07\xb1\ +\x91\x13\x16\xd5t\x1ay\x06\xe6X\xae\xf3\xc06)x\ +yB\xe1\x90\xb4\xb2\x86x*{\xe09wo\x1fd\ +C\xa1P(\x14\x0a\x85\xc2~\xbc\x01\xc5\xf3\xa3!\xeb\ +\x0d6:\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00<\x0e\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x09\xediCCPICC Prof\ +ile\x00\x00x\x9c\xad\xd6gTS\xd9\x16\x07\xf0\ +\xff\xbd)\x84\x04B\xef- \xddP\xa4Jo\x8a\x0d\ +\x18D\x14\xb0\x02!4)\x11\x82(vP\xb0\xa1`\ +W\xb0+v\x05\x95Q\xc7\x8a\x0a\x22\x8c\xa24\x11Q\ +, 8\x22\x1d\x0b\x82y\x1f\x82e\xd6\x9bY\xef\xcb\ +\xdb\x9f\xf6\xd9k\xdd\xb3\xce\xf9\xed}\xd7:\x80\x94b\ +\x98@\x10G\x02\x88O\x10&\x05L\xf0\xe4\x04\x87\xcc\ +\xe4H\xd4\x81\x0a5H\x03\xb0\x0f\xe3%\x0b<\xfc\xfd\ +}\xf0\xaf\xf1\xb1\x1e\x04\x00\xd4\x98\x85\x09\x04q\x89G\ +\xa3\xab\x11\x97\x97\xa9\x92\xe3\xc2\xe9\x9f\xab\xfb\xf8\xdf\xbf\ +\x03\x00\xb0\x93\x82Cf\x02\x04\x17\x80b\x948w\x07\ +\xa0\x18.\xce\x03\x01(\xa6\x0a\x05B\x80\x88\x06\xa0\xc8\ +\x8b\x0e\x8b\x00\x88\xa5\x00\xb8I\x81\x01^\x00q\x1c\x00\ +;J\x9c_\x06\xc0\x0e\x17\xe7\xe5\x00\xd8\x0byQB\ +\x80h\x00(\xf2\x09\x111\x09\x00\xb5\x03\xa0\xbbF\xf0\ +\x93y\x00\x8b\x0b`^D2/\x1e`m\x04`\x19\ +\x1f\x9f\x18\x01\xb0\xae\x010\xe6\x09\x92\x84\x00\xab\x05\x80\ +Yp\xc8L\x8e\xf8\xc8\xe1\x91\x80u\x08@\x1e\xffY\ +\x9b/\x05\x14i\x02\x8a5?k&\x11\x80F\x01p\ +\xf5\xc4\xcfZ_\x00\x08\x00\x84rUr\xa4\xb5\x15\x00\ +\x80\x90\xf2\x04h/D\xa2>C@b\x0b0\x9c+\ +\x12}=$\x12\x0d\x1f\x06(M\xc0\xad8^J\xd2\ +\xc2\x11/\x82x\x00\xfc\xaf\xb5\xf8\xce#A!\x00\x02\ +$\x95\xce\x90dI\xb1e\xe4\xe4\x15\x94\x94U\xd54\ +4\xb5u8z\xa3\xf4\x0d\x8d\x8cMGs\xcd-,\ +\xc7X\xdb\xd8\xda\xd9\x8futrvqus\xf7\xf0\ +\xf4\x1a7\xde{\xc2\xc4I\x93\xa7\xf8\xf8\xfa\xfd\xe6?\ +5 p\xfa\x8c\xa0\xe0\x90\x99\xb3\xe6\xcc\x9d\x17\x1a\x16\ +\xce\x8b\x88\x8c\x8a\x8e\x89\x9d\x1f\x17\x9f X\x90\x94,\ +LY\x98\xba(m\xc9\xd2e\xcbW\xac\x5c\x95\x9e\xb1\ +&3k\xed\xba\xf5\x1b6fo\xca\xc9\xdd\xb2u\xdb\ +\xf6\x1d;w\xed\xde\x93\x97\xbfw\xff\x81\x83\x87\x0e\x1f\ +9Zp\xec\xf8\x89\x93\xa7N\x9f9{\xae\xb0\xa8\xe8\ +\xfc\x85\x8b\xc5\xbf_\xba|\xe5\x8f\xab\xd7\xae_\xbfq\ +\xf3V\xc9\xed;w\xef\x96\x96\xdd+\xbf_QQ\xf9\ +\xe7\x83\x87UU\x8f\x1eW\xd7\xd4\xd4\xd6\xd5\xd5?i\ +hx\xda\xd8\xf8\xac\xa9\xe9\xf9\x8b\x17\xcd/_\xbez\ +\xfd\xfaMKK\xeb\xdb\xb6\xb6\xf6w\xef\xfez\xff\xbe\ +\xe3CggWwwOo__\xff\xc0\xc0\xc7O\ +\x9f?\x7f\x19\x1c\xfc:44\xfc\xed\x9b\x08$\x95.\ +!\xc9\x94\x92\x96\x91\x95WPTVQS\xd7\xd4\xd2\ +\xe6\xe8\xea\xe9\x1b\x18\x1a\x9b\x98r\xcd\xcc-,\xad\xac\ +ml\xed\xc6:\xfc\x1b\xc0\xb4\x11\x80\xd9#\x00\xfc\xef\ +\x00\x89?\x00\x16\xff\x00X\xbd&3k\xed\xfa\x0d\x1b\ +\xb37m\xfeE \x7f\xef\xbe\x7f\x10\x18\x01\x10\x0b\x88\ +\x01\xee\xfc\x0d\xe0\xd1\xe3\xc7\xd55\xb5\xb5u\xf5\xff\x08\ +\xd0\xfa\x03\xa0C\x0c\xd0\xd3\xd3\xdb\xd7\xdf?\xf0\xf1\xe3\ +\xa7\xcf_\xbe\xfc\xbc?\x85FgH2Y\xd2l\x19\ +Yy\x05E%\x15U5u\x0dMm\x1d\x8e\xae\xde\ +(}\x03#c\x13\xd3\xd1\x5c3s\x0b\xcb1V\xd6\ +66\xb6v\xf6c\x1d\x1c\x9d\x9cG$~\xa5\x10\x0f\ +\xc3w\x8cY\xb3\xe7\xcc\x9d\x17\x1a\x1a\x16\xce\x8b\xf8\xe1\ +\x91\xf0\x0bH\xda\xdfE\xd6\xfdB\xf2}&\xbe\x93\xfc\ +\x93\x89\x98dd(J\xcb\xee\x95\x97\xdf\xff\x95\xa4\xae\ +\xfe\x89\xd8\xe3\xf9\x8b\xe6\x97\xaf^\xbfii}\xdb\xd6\ +\xfe\xee\xaf\xf7\x1d\x1f:\xbb\xba{z\xfb\xfa\x07>~\ +\xfe2\xf8uh\xf8\x9b\x08\x10\xff\xfb\x00@\xb7\x03\x0e\ +'\x003\x98@\xe0!`{1`\xe4\x04\xa8t\x01\ +\xfe\xd2@\xa0\x03\xc8dk\x90\x91\x91 U\x98\xa0\x10\ +\x00\x09\x80\x00\x05tHB\x06\xca\xd0\x81)\xec0\x0e\ +\x81\xe0#\x15\xeb\xb1\x0f\x17Q\x89\x16|#\xd4\x09{\ +b:\x91Ll%\x8a\x89\xa7\xc47\xd2\x80\xf4%\x17\ +\x92\xfb\xc9J\xf2\x0b\xc5\x84\x12B\xd9@\xb9I\xe9\xa7\ +r\xa9\x11\xd4\xbd\xd4\xa74UZ\x10m7\xad\x89\xae\ +G\x8f\xa6_\xa0\x8b$|$\xf6Ht0<\x18\xbb\ +\x18\xbd\x92~\x92g\x98l\xe6\x02f\x03\xcb\x8bU(\ +\xa5-\xb5I\x9a\x94N\x93\x1e`'\xb3\xfbdRe\ +\x86e3\xe5\xe4\xe4\x0e\xca\xdb\xc8W(\x84+|S\ +\xdc\xad\xa4\xaftJ\xd9J\xf9\x9a\xca\x04\x95\x1a\xd5p\ +\xd5~\xb5u\xeaZ\xea\x175|4Z5\x97i\xa9\ +h\x15k\xfbkw\xea\xe4pl8\x8d\xba\x19z\xa3\ +\xf5\xaaG-\xd5\xb7\xd0o2\xd8h\xe8b\xd8it\ +\xd08\xc8\x84mRj\x9a>\xdak\xf40\xf7\xba\xd9\ +\x0as\x0f\x0b\x9aE\xa5\xe5\xb61s\xac\x8c\xacz\xad\ +o\xda\xe4\xd8\x86\xdb\xd9\xda\xb3\xec_\x8f\xbd\xe2\xb0\xd9\ +\x91\xef\xe4\xe2\xac\xe5\xfc\xcd\xa5\xd9\xf5\x86\xdb\x01\xf7\x0c\ +\x8fH\xcf)^\xd6\xe38\xe3e\xc7\x0fywO\xa8\ +\x9fxo\xd2\xed\xc9%Sn\xfb\x94\xf9V\xfa=\xfa\ +\xad\xce\xbfi\xea\xbb\x80\xaf\x81r\xd3\x8df8\x07\x05\ +\x06\x0bB\xb2g\x9e\x99U3[4\xd7b\xde\xbc\xd0\ +\x9c\xb02\x1e\x19\xe1\xc6_\x12y5\x9a\x12\xe3\x1f\xbb\ +w~w\xfc\xe4\x84<\x01\x16\xf0\x92\xca\x84\x96)\xfb\ +S\xe5\x16\xadMc,Y\xbetp\xf9\xca\x95\xccU\ +[3tV_\xca\xf4\xc9j^\xb7d\x83\xd6\xc6\x92\ +M\xc1\x9bE\xb9\xa7\xb7\xce\xda.\xb1\xe3\xcc\xae]{\ +\x8a\xf2_\xef\x97=\xe8|Xp\xf4\xd8\xb1\xfa\x93\x92\ +\xa7'\x9d\xcd.,=/*\xf6\xba\x94~\xa5\xf2\x9a\ +\xec\x8d\xa0[Gn\xf7\x97z\xdc\xcb\xbd\xff\xf2O\x87\ +\x87\x1b\x1e\xbd\xa9\xb1\xad\xdb\xf2\xa4\xb71\xa0\xe9r\xb3\ +\xda\xab\xb47/\xde\xfa\xb7\x97\xbc\xb7\xfeP\xd0m\xd4\ +\x9b7\xa0\xf4i\xd7\xa0\xee\xd0S\x91\xe8G\xff\x99\x90\ +\x81\x0at\xc1\x85\x03&\x22\x04\xb1X\x8a\x1c\x14\xe0\x1a\ +\xea\xd0E0\x09c\xc2\x9b\x88 V\x13\x05D\x05\xd1\ +E*\x93\xaed4\xb9\x85\xbcAvP4)\xbe\x94\ +\x15\x94\x0b\x94v*\x87\x1aL\xddB}Hc\xd3\xfc\ +h\x9bi\xb5t\x0dz8\xfd4\xfd\xb3\x84\xb7\xc46\ +\x896\x863c\x1b\xa3Sr\x8a\xe4\x09&\x8b\x99\xc0\ +\xacgy\xb0\xceJiIeK\x13\xd2\x8b\xa5\xfb\xd9\ +\xc9\xec>\x99\x852C\xb2k\xe4\xe4\xe4\x0e\xfc\xcf\xee\ +\xfbj\xb4j.\xd7R\xd1*\xd6\x9e\xaa\xdd\xad\xb3\x85\ +c\xc7y\xae\x9b\xa9g\xa1\xf7dT\xba\xbe\x9d~\xab\ +\xc1\x0e\xc3\x89\x86_\x8d\xce\x19G\x9a\xe8\x984\x9a\xee\ +\x1e\x1d\xc2U\xe2>3;h\xce\xb7\xe0Z|\xb4\xbc\ +=&\xc7j\xae\xb5\x99\x0dl\x9e\xd8\x9e\xb4\xcb\xb4\x0f\ +\x1f\xeb\xea\xa0\xee\xf0\xd1\xb1\xd6\xe9w\xe7|\x97\x0c\xd7\ +X\xb7\x00w'\x0f#Oy/x\xf5\x8e\xeb\x19\xff\ +\xca\xbbi\xc2\x83\x89w'\x95L.\x99R\xe2s\xc7\ +\xb7\xdc\xaf\xf2\xb7*\xff\xda\xa9\xcd\x01\x9d\x81\xc4t\x85\ +\x19\x06A\xf6\xc1\xfe!\xd13\xd3g\x1d\x98]:\xa7\ +k\x9eF\xa8{Xt\xf8.^=\x9f\x15\xe9\x12\x95\ +\x16}=\x16\xf3\xc7\xc7\xe5\xc4\xbfH4\x17\xa4/h\ +H\xb6\x12\xe6\xa6\xf4\xa7\x86,\xba\x95f\xbad\xff2\ +\x85\xe5\xd9+\x99\xab\xb22(\xabWe\xb2\xb2\xf2\xd6\ +\x19\xaf\xbf\xbc\xd1/\xfb\xfd\xe6\x0d\xb9F[J\xb6\xf1\ +v(\xee|\xbe\xfbI>}\x9f\xcd\x01\xfe\xa1\xddG\ +\x1e\x1c\xa3\x9cp<\x15\x7f\xe6\xf4\xb9\xb6\xf3\xdc\x8b)\ +\xbf\x17_\xfer\xd5\xf9\xfa\xea\x9b\x8fnk\xdd\x0d+\ ++*\x1f\xaa\xf4{\x90_\xf5\xa1\xda\xb3vg\xfd\xdb\ +\xa7\xf6\xcfr\x9e\xb7\xbet{\xbd\xa3\xe5C\x9b\xef\xbb\ +\xfd\xef\xbft\xce\xe8\xbe\xde\xa77\xb0\xf6S\xd7\xe0\x9c\ +\xa1\xee\x91\xfe\x93`A\x16\xca\xe0\xc0\x1c.\xf0C8\ +R\xb1\x09\x05(\xc1\x0b\x0c\x13\xda\x84;\x11A\xac#\ +\x8a\x88&\x92A\xda\x91Q\xe4N\xb2\x92BR\x9c(\ +)\x94\x22J7\xd5\x8a*\xa4\xfeA\xa3\xd0\xfchy\ +\xb4\xf7tW\xfa6z\x87\xc4\x04\x89\xa3\x0c:#\x96\ +Q-\xe9*y\x86\xa9\xc3\xdc\xc1\x92eeKIK\ +m\x96V\x92>\xc4\xb6f\x97\xc9\xcc\x91\xf9,\xbb]\ +\xceN\xaeI>K\xc1N\xa1]1_\xc9K\xa9Y\ +y\xad\x8a\xb9J\x83\xea\x1a5;\xb5v\xf5|\x8di\ +\x9aL\xcd[Z\x8b\xb5m\xb4\xbbu\x0a9\xc9\xba\x8e\ +z\x14\xbd{\xa3r\xf5C\x0d\xcc\x0d\x86\x0d+\x8d\xf2\ +\x8c\x13L})\xe6\x8a\xe9\x1f\x8d\xd7\xf2n\x04\xddR,\xa9\ +\xbd\xb3\xbdt\xfa=\xa5\xf2\x9a\x8aM\x7fNy\xc8\xac\ +*{\xbc\xa8\xc6\xaa\xb6\xbd\xfe`Cp#\xfb\xd9\x8d\ +\xe7\xf3\x9b\xd5_V\xbc\x16\xb6\xa8\xb6\xdeh\x8b}\xc7\ +\xf8\xebP\x87\xf7\x87\x97]Kz\x94zO\xf4;\x0c\ +T|\x9a\xf5\xb9cp\xed\x90\xeap\xa3H\x04\x88\xdf\ +\x8b\x00\x00Z\x8co\x18\x0f\xff\xe7\x88\x8fK\xf9\xbe'\ +\x09@\x8a\x9f0}\x1a\x00\x06\x00c\x81\xd0?\xf0{\ +\x8e\x18\xf8\x22\x0c<\xf1;\x15\x00\xe8\xb2@\xbe\x11\x00\ +\x5c\xf6M\xfa\xaf}\x85\xfcEB\x00\xf0J\x14,N\ +\x8a\x89\x8a\x16r<\x04\x828>\xc7+1^\x90\x22\ +\xe4'q9\x93\x12x\xe6\x5c\x8e\x95\xa5\xa5-\x00\xfc\ +\x07\x8f\x08\x91L8\xcf\x9b\xb0\x00\x00 \x00IDA\ +Tx\x9c\xed}y\x9c\x5cU\x9d\xef\xf7\xdc\xa5\xf6\xad\ +\xbbz\xdf\x93\xce\xbe\x07\x0cc\x10\x95\x00\x03\x08\x88\xe8\ +\xa0\xbe,\x84\x04\xf8\xa08\xce<\x9e\xcb\x88\x06\x12\xc0\ +\x91y\xbc7\x8e\xa3\x83\xdbg\x06\x01\xc5\x04d\x10|\ +\x82Q\x90@p\x09\x88\x06!\xa1\x93\xd0\xdd\xe9\xee\xa4\ +\x93\xde\xbb\xab\xba\xba\xd6[u\xef\xfb\xe3\xdcs\xb7\xba\ +U]\xd5I $\xf9}>\xf7S\xd5\xb7\xef\xbd\xe7\ +\xdc\xf3\xfd\x9e\xdfv\x96\x22\x00\x88\xa2(\x0a\xce\xc9Y\ +)\x1c\x00\x10B\xc8\xbb]\x91s\xf2\xee\x08Q\x0fM\ +\xcei\x83\xb3K8\xeb\x89s\xda\xe0\xec\x92<\x02\x00\ +\xe7Hp6\x89-\x01\x80s$8[\x84+f\xf2\ +\x09!\xe4\x89'\x9e\xe0\xdf\xc1\xfa\x9c\x93wX\x88\xa2\ +(\x04\x00\xac\x1d~\xdb\xb6md\xf1\xe2+\x9c\x92+\ +\xed\x05\x17\xcf\xad\xbb\xfa\xea\x89w\xa5\x86\xe7\xe4\x94\x8a\ +F\x00@'\xc1\xb6m\xdb\xc8G?\xfaQ\x17\x17\x08\ +xG\x06\xc6}S\x93R \x97\xcb\xa4>\xf9\xb1K\ +\x0e\xbdk5='\xa7DL\x04\x00\x80'\x9ex\x82\ +[\xb4\xe8\xc3n\xb7[\xf1&ri\x1f\x0790>\ +6\x15\x1c\x1d\x9f\x08)\x8a\xa2\x1c\xed\x8e\xff\xfa\x1f\xff\ +\xf1#\xe9w\xab\xc2\xe7\xe4\xe4\x0a\x01%\x01\xfb\x9b\x03\ +\xe0\x89\xc7\xe3\xde\xc1\x89\x84\x1fr6\x90M\xe6\x82\x92\ +\x92\xabH'S\x15\xc7\x87F+r9\x85\x83$o\ +\xbf\xee\xba\x0f\x1d=\xa9\x159A\xa7\xf3\x5c\xfebf\ +\xa2%\x82^|Q\xe1/\xbe\x18^\x00^\x00~\x00\ +\x81\xe3\xc7\xc7BYE\x0e%\xe2\xe9\x0aE\xc9V\xa6\ +R\xd9\xca\xc1\xe1\xb1j)+\xb9\xb9\x1c~p\xcd5\ +\x17\xbd4\xa3B\x8b\x83=\x13\x22\xd8\x82\x7f\x8e\x14\xd3\ +\x0b\x01@\xf6\xef\xdf/z\xbd^OMM\x8d\xd7\xe3\ +\xf1\x04\x00\x04\x00\x84\x00\x84\x86F\xa3\x15R&S\x99\ +\x88\xa7\xc3\x92\x9c\xab\xcaf\xe5\xea\xa1\xa1\xd1\xea\x8c$\ +\xd5\xc8P\xfe\xf5\xda+>\xf0\x1f%\x17f\x06\xde\x0a\ +4\xb19_\x88\x0cV`\x95\x02\x9f\xf4\x8fsD(\ +(\xe4\xa1\x87^t-ZT\xeb\xf5z\x9d^\xbf\xdf\ +\xe3\x0f\x85\x82\x81@\xc0\x1d\x02%@%\x80\xca\xf1\xf1\ +X8\x99\x96\xaa\x92\xc9du:\x9d\xa9V@jF\ +\xc7\x22\xd5\x89D\xca!+\xca\xc3\xd7\x5c\xb1zs\xc1\ +\x02\xf2{\xbb\x11hb\xf3\xb7\xf1\x9a\xe9\xc4\x08\xacl\ +9g\xfd\x9b\xfeq\x8e\x0c&\x11\x1c\x8e\x98/!\x87\ +|.\xde\xe9Oe3\xa1\xc9\xc9\xa9@\x0e\xb9\x8a\x8a\ +\x80\xaf\x02@\x18@\xb8\xb2\xd2_\x15\x9dLTs<\ +\xaay\x9e\xab\x89\xc7S\xe1p8$\x8aB\x0c\xd1X\ +|\xd3\xb3\xcf\xedi\x93\x12\xe9\x8f_w\xdd\xc5\x11\xa0\ + \xe8V\x809\x9b\xff\x99\xce\xbf\xf5V\xd7EZE\ +\x85\xfc\xca?\xf5\xd4\xb3o\xdeq\xc7\xff\x8c\x80\x82\xac\ +\x80\x82\xce\x00fe\xb1\xf3\x00\xa0\xb0\xba\x9d#\x02\x15\ +\xf2\xe0\xcf~U\xed\x17\xf9\xc6\xc6\x86\xba@(\xe8\xaf\ +p8\x5cA\x97\xd3Q\xe9p\x88\x955U\x810\x80\ +jv$\xd3\xd9\x9a\xc9\xc9\xa9\xcatF\xe2c\xb1\x04\ +dYF<\x91D$:\x05YV\xfe\xaa(\xd9\xcd\ +\xd7\x5cq\xd1\x1b\xc6\xe7\xc3\x0c4g\xf7\xf9\xd4SO\ +\xb5\xae\x5c\xb9\xeaC\x1e\x8fw\x89\xd3\xe9Z\xeat:\ +\x96p\x1c\x17,Zq\x03\xc5dY\x8ef\xb3\xd9}\ +\xe9t\xea\xf7\xd1h\xf4\xcdg\x9eyn\xf7?\xfc\xc3\ +-\x11P\xe0\x19)\xac\xc79\x12@\xedu?yr\ +g\x9d\x87w\xbf?\x14\xf6W\xd4VUV\xb8\x9cb\ +\xa5\xdb\xe9\x0a;\x5cbUUe\xa0\x1a@\x8dz\x84\ +\xa4\xac\xc2E\xa31HR\x0e\xe3\x13Q\xe4d\x05\x19\ +I\xc2\xe8X\x14\x8a,G2r\xf6\x13\xd7]y\xd1\ +n\x14\x00\x1b\x00\xb7z\xf5U\x95\xb7\xdf\xfe\xf9\x0f\xae\ +Zu\xde\xd5UU\xa1%N\xa7s\x89\xa9R'\x98\ +\x84&\x04\x90$i_,\x96\xf8\xe9\xbe}\x7f\xfe\xe5\ +e\x97]\xd6\x033\x194Mq\xb6\x93@S\xcb;\ +~\xfe\xfc\x5c\x87\xc3yeE\xc0__\x13\x0eU\x89\ +\xa2P\xe5\x0b\xb8k\x04\xc2WWV\x85j\x04\x0e\x01\ +vm.\x07\xc4\xa6\x12\x90\xb2Y\x8c\x8cE \xa5%\ +\xc8\x8aB\x09\x91\x95\x91\xc9H7\x7f\xf4\xaa\x0f<\x0a\ +\x0a:\x07\x80\x07\xc0m\xdd\xfa\x1f\x1b\xd6\xac\xb9\xf0\xea\ +\x05\x0b\xe6|$\x14\x0ah\x95\xe0\x0a\x8eH\xd8Tx\ +\x06\xe4\x90$i\xdf\xd8\xd8\xd8}--\xf5O#\x9f\ +\x08\x00\xce^\x22\x98\xe6\x03\xfc\xecg\xbfmp\xfa\x5c\ +_u:\xc5\x96\xc6\xba\xeaj\xd1!\xd6\xf8\xbc\x9e\x1a\ +\x87C\xf0\x05\xfd\x1e8\x1c\xba!V\x14`2\x96\x80\ +$e119\x85\xf8T\x029Y\xc1\xd4T\x02\xe9\ +T\x06\x99l\xfa\xd1\x8f^\xf9\xc1\xcf\xad^}U\xe5\ +'?\xf9?\xfe\xfe\xa2\x8b.\xb8u\xee\xdc\xd6\xa0\xd3\ +\xe9\xccK;\x17\x93\x93I\x8e\xe1\xe1\xa1\xdb\x9a\x9a\xea\ +~\x0c \x87|\xf3pV\x92 oB\xc8\x8e\x9f\xbf\ +0\xdb\xe7r\xdd\xebp\x88\x1f\xa8\xae\x0e\xd5\xb8\x5cN\ +w0\xe0\x87(\xf2\xb0#\xc1T2\x83lF\xc2x\ +d\x12\x93\x93q@Q0\x95L!\x95L\xa3\xaf\xbb\ +\x7f\xff\x82\x05s\x9a\xcf?\x7fqQ{n\xaa\xd0)\ +&\xc7\xc0\xc0\xc0\xe7Z[\x1b\x1e\xc19\x12\x00(0\ +#\xe8\xd1\x9d;\x03A\x12|^\x10\x84\x0b\xeak*\ +\xe1p\x88\xf0\xfb=p\xbb\x9cp\xba\x5c\xf0{\x1dT\ +\x7f\xaaM\x95IKH\xa7%\xc4\xe2\x09\x0c\x8fL \ +\x16\x9dB,\x9a\xc0E\x17\x9d\x07\xa7\xd3axz>\ +b\xe5\xa8\xf4\x93E\x8e\xd1\xd1\xe1\xaf56\xd6~\x07\ +\x94\x049\x18\xfc\x82s\x0404\xc03\xbf\xd9\xf3\x90\ +\xc0\xf3\x9bB!?\xbc\x1e7B!\x1f\x0b@\xc2YB\x82\x92\x08\xa0\x0e\xa0\x10\xd0\x8c\x1e\ +\xff\x99\xcf\xfc\xaf\xf0e\x97_\xb3\xb3\xa6\xaaj\xe9\xb2\ +e\x0bm\xae/\xa3\x02'\x91\x1c\x83\x83\x14\xf8T*\ +\x0dB\x088\x8e\xfes\xfe\xfcE\xa8\xad\xad-Is\ +$\x12\x89\xed55\x01[\x9f\x008\xf3\xf2\x04\xd36\ +\x89\x01|-\xad\xdb\xdb{XLL%C\x0b\x16\xb4\ +\x83\xb6\x87\xf9P\x14\x05\x8a\x02\xdb\xc3*\xf6\xd7)\xb6\ +\xcf\xb5\x9b\xf7\xa1(\xc0\xc4\xc4\x04\xf6\xee\xdd\x8b\x8e\x8e\ +\x8e<\xf0C\xa1\x0a\xd51U \xcb\x0ad\x19\xb6\x07\ +\x13\x8f\xc7\xb3nxx\xf2\x87\xdf\xfc\xe67\xc3\xa0\x84\ +7\x8ec\x9cq\xd3\xe5m\x06Y\xa9\x18^\x945\x00\ +\xaf^/\x5cy\xe5'\xbe\xbat\xe9\x82fQ\x14\x01\ +\xd8\x03\xcb\xc0\xb26\x17\xbd\xd6\xbe\x0d\xed\xaf-\xfc\xdc\ +\x89\x89\x09\xf4\xf6\x1eF$\x12\x01!\x00!\x9c\x06\xbe\ +\xcb\xe5F{{;*+\xab,\xcf\xb2\xaf\x17%\x01\ +=\xe9ry\xd6m\xde\xfc\xb9\xa5\x92$]u\xc7\x1d\ +w\x8c\x81j\x035\xebA\x87\x94\xcf\x14M`K\x80\ +\x02\xe0\xf3\x00\x84M\x9bno\xaf\xad\xad\xbf\xb5\xa5\xa5\ +\x11\xb2\xb1\xeb\xa8\xc2Y\xf4\xec\xa9 G2\x99Do\ +o\x0f\x06\x07\x8f\xab1>\xc7\xea\x0dQ\x14\xd1\xde\xde\ +\x8e\xda\xda:SY\xec\xb9\x91\xc8\x04B\xa1\x8ai\xeb\ +%\x08\xc2\xd2[o\xfd\xc7_\x01`$\xc8\xa9\x17\x9d\ +Q$(\xa8\x01\x90?IC\x00 \xaeZ\xf57_\ +\x993\xa7Uk\xc0\xfc\x9e\x94O\x0a&'J\x8ed\ +2\x85\xde\xde\xc3\x18\x1c\x1c\x00!\x04\x84\xf0\xea\xb5\x14\ +\xf8\xc6\xc6F466A\x10\x84\xbcgG\x22\xe3\x9a\ +\xb6\xa8\xafo\xc0\x82\x05F\xdf\xc5\x5c\x18\xbb\x97\xe7\xc5\ +\xa5\xb7\xdc\xa2\x91`\xd4\xf8\x9a8CH\x90G\x00\x83\ +\xcd\xcf\xeb\xfd\x1b7~f\xb6\xcf\x17\xf8Tmm\x8d\ +v}\xb1\xd7?Y\xe4\xc8f\xb38r\xa4\x0f\xc7\x8e\ +\xf5#\x97\xcb\xaa\xea^\xab/\xea\xeaj\xd1\xd2\xd2\x06\ +\x97\xcb\x9dwo$\x92o&\x86\x86\x86\x90H\xc4\xb1\ +t\xe9\x0a\x08\x82\x00@)\xe8\xb8\x8a\xe2\x99M\x82\xe9\ +4\x80\xd1\xf6\x8b\xef\x7f\xff\x9a/\x07\x83>\xb8\xddN\ +\xd8\xbd\xb3\xd5?:\x19\xe4\xe8\xed\xedA\x7f\xffQd\ +\xb3Yp\x1cQ{>%K(T\x81y\xf3\xe6\xc3\ +\xe5r\xa9\xe5\xe9@\xeafb\xc0t\x0f@\xe0r\xb9\ +\xd0\xd0\xd0\xa4\x82?]]\x15\x88\xa2\xb0\xf4\xe6\x9b\xff\ +\x81\x91`\x1c\xd4'\x00\xce\x00\x12\x98\x08`\xb1\xfdF\ +\x02\x88\x1f\xf8\xc0\x9a\xaa`0x}\xb1\x98\x7f\x9au\ +\x86\x96k\x0bW\x8a\x10`pp\x00\xbd\xbd\x87\x91J\ +\xa5\x00\x10\x0d|\x00\x08\x06ChmmC \x10\xc8\ +\xd3\x1c\x89\x04\x05~hh@+\x97i\x0cA\x10\xd1\ +\xd8\xd8\x84\xd6\xd6VC}\xa7\xf79\x14\x85j\x02\x03\ +\x09\xc6\x0c\x97\xbe\xa7I`\xa7\x01\xac\xe0\x0b\x00\xc4\x8f\ +~\xf4\xfa\xab9\x8e\x83\xdf\xef\xcb\x03\xba\x94\xc8\xa8T\ +r\x8c\x8c\x8c\xa0\xab\xebm\xa4\xd3\x14xB85~\ +'p:\xddhmmCmm\xadv=\xd3\x1c\xb9\ +\x5c\x0eG\x8f\x1e)\xa0-\x08Z[\xdb\xd0\xd0\xd0h\ +\xe3\x1f(\xc8f\xb3\x98\x9a\x9aDEE\xa5\xa1\xbe\xac\ +)t\x11\x04q\xe9\xe6\xcd\x9f\xdf\x09\xe0#g\x0a\x09\ +\x8a\x11@\xb3\xfd\x00\xc4\xea\xea\xba\xcb9\x8e\xd3\xd4\xad\ +Q\xca\xe9\xf9v\xa2(\x0a\x22\x91\x09\xf4\xf4\xf4 \x1a\ +\x1d\xd7@c!\x1d\xcfS\x07\xaf\xb5\xb5M\xbd\xde|\ +?3\x13\xb9\x5c\x16FmA\x08\x87\x9a\x9aZ\xb4\xb6\ +\xb6\xc1\xe9t\x02\xd0\x09\xc3q\x1c$I\xc2\xb1cG\ +p\xf4h?d9\x8b\xf9\xf3\x17\xa1\xae\xae\xdeX3\ +\xf5\x1d\xf43\x0e\x87\xb8d\xf3\xe6\xcf\xed\xbc\xe0\x82\x0f\ +}\xf6\x92K.\xdc\x0b\x9d%\xefI\x12h\x99@\x83\ +\xfa7\x02\xef\x04\xe0\x02\xe0y\xfc\xf1\xe7\xf7r\x1c\xf1\ +_t\xd1\xea\xa2\x0f,o\x10\x87`j*\x86\xce\xce\ +C\x88F#\x008\x8d0\x0c\xfc\x96\x96\xd6<{\xcd\ +dpp\x10\xbd\xbd\x87\x91N\xa7A\x08\xd4\xe4\x0f\x05\ +>\x18\x0c\xa1\xa5\xa5\x05\xc1`H}\x9e\xf9\xde\xfe\xfe\ +\xa3\xe8\xed\xed\xc9\xd3\x16\x8d\x8dMho\x9f3m\xdd\ +eY\x8e\xbe\xf9\xe6\xebW_r\xc9\x85\xaf\xc3<~\ +\xf0\x9e\xca\x18Z[\xd5\x1a\xffk\xe1\x9f(\x0a~Y\ +V\xa6U\xffE\x1c}\x139\x98\x9364t\x1c\x0c\ +4\xb3g_\x8f\x96\x96V[\x8d\xa3\x9b\x894\xacn\ +\x8b\xcb\xe5\xc6\xdc\xb9\xf3\x11\x0a\x85L\xf7\xb0j\x0f\x0c\ +P\xdf\x22\x93I\x83j\x0bN\x8b\x0ejj\xea\xd0\xd0\ +`\x9f\xdf\xd0\xdf\x81c\x9f\xc1e\xcbV>\xbbk\xd7\ +\x1f\xafV5\x81\xd6\x04x\x0fi\x02;\x02\xe4\x85\x7f\ +\xcb\x97\x9f_I\x08\x01\xcf\x03\xb1X\x14\x81@H#\ +B9\xea_\x96\x81\x5c.\x8b\xce\xceC\x18\x1c\x1c\x00\ +\x05\x80W\x01\xd0S\xb7\xed\xed\xed\xf0z}y\xcf\x8f\ +D\x22\xe8\xed\xed6i\x0b\xaa)\xa0\xf9\x0755\xb5\ +\xb6\xf5\x8aD&p\xf0\xe0\x01\xa4\xd3)\xb0H\x97\xf6\ +|\x0e\xa1P\x08\xcd\xcdm\x08\x06\x03\xea\xbd\xc6w0\ +\xbf\x93\x85\x1c\xc1%K\x96\x1bI\xa0\xc0\x901,\xd8\ +0\xa7\x91\x08@^~\xdb\x98\x07\xe0\x01\x08\x17_|\ +\xf9\x22\x8e\xe3\xa0(\x0a:::\xb1h\xd1\x5c\x84B\ +!d\xb3Vm`~\xb8\x11\x84l6\x8b\xfe\xfe#\ +\x16[\xcdi\xe0;\x9dn\xcc\x9f?\x1f\x81\x00\xed\xb9\ +\xc6v\x8e\xc7\xa7\xd0\xd9y\x08\x93\x93\x11\xb5\x0c\x06>\ + \x08\x02\x1a\x1b\x9b\xd0\xd0\xd0\x08\x96\x9a6\x0a\xcd\x03\ +\xf4\xa8y\x00=\x1cd\xe9\xe2Y\xb3f#\x1cf\xe9\ +b\xa5\xech\x85\xe3\xb8\xe0\x92%\xcb\x9f\xdd\xbd\xfbO\ +W}\xf8\xc3\x17\xec\x05\xcd\x18\xb2q\x83\xd3\xde\x14\x14\ +\xd2\x00&- I\xb2\xc0\xf3\x1cdY\x86\xa2\x10\x1c\ +8\xd0\x85\xc5\x8b\xe7\x22\x10\x08\x22\x9b\xcdi7\xd3W\ +\xb5w\x02h\xde\xbe\xc7`\xab)\xf8N\xa7K\xed\xb9\ +u\xea3t\x10R)=\x96\xa7\x9aWO\xf9\x02\x04\ +55uhoo\xd7\xfc\x03c[\xa7RI\x1c<\ +\xd8\x91\xa7-\x00\xa8\xe9\xe29\x9a\xb60\xcaLBY\ +B\xb8\xe0\x82\x05\x8b\x7fe \x01\xa0\xae98\xddI\ +`$\x805\x07\xa0\x91\x80\x90\x1cGU-\x05@\x96\ +ettP\x12x\xbd\x01\xe4r9\xc3ch\xd7\xb5\ +j\x83\xaa\xaa0\xce?\x7f\x15::\xdeB&\x93\x86\ +(\x8a\xa8\xafg=\xd7\xccCI\x92\xd0\xd5\xf5\xb6\x9a\ +\xc41\x12\x86\xf6\xfap\xb8\x1a\xb3g\xcf1x\xf6\xfa\ +\xbd\xe9\xb4\x9e\x07P\xa70h\xe0\x1b\xb5\x05\x0d\x075\ +\x07\xb8\xa4\xc6*\x86#\xc7q\xc1\xb6\xb69\x7f\x0f\xe0\ +3\xd6\xc68\x9dIP(\x13h\x1c\x02%\x8aB\xd7\ +T\x12BY\xcf\x88\xc0\xccA0\x18B:-\x99\x1e\ +`\xf7\xba^\xaf\x0f+W\xbe\x0f\xc3\xc3\x83\xa8\xad\xad\ +\x83 \xf0\xea\xb52\x00\x0e\xd9\xac\xa4\x9a\x09\x96\xf2e\ +\xc0P\x10\xa9\xadn\xd5<{\xab\x899v\xec\x08z\ +{{4\xdbN\x9dK\xfa:55\xf5\x98={6\ +x^\xc8\x8bTN4\x8c\x05\x80\xa1\xa1\x11\xfc\xe0\x07\ +\x8f\xb7=\xfd\xf4o\xce\xbb\xee\xba+\xacN\xe1iK\ +\x82bQ\x801\x12\xe0x\x9eh=\xcdH\x84\x83\x07\ +\xbb\xb1b\xc5b8\x1cN\xa4R\x92\xe1\x11\xba\x18\x1b\ +\x5c\x10x444\x020\x93\xa4\xb7\xb7\x1b\xc7\x8e\xd1\ +$\x0e#\x1bS\xfb.\x97\x0b\xb3f\xcd1\xd8j\xbd\ +\x1e\xcc\xb7`\xf72m\xc1\xfe\x1f\x0c\x860w\xee|\ +m\x9c\x00(=R\xa1e\x15'G6\x9b\xc5\x13O\ +\xfc\x1a\xcf>\xbb\x1b\xb7\xdd\xb6\xee\xc2U\xab\x96\xef\xee\ +\xee\x1e\xd8\xde\xde^\x7f\xab\xf11\x00\xe4\xd3\x91\x04\xc5\ +\x12A\xdaA\x88B\x08\xe1\xc1\xf3\x0a\x14E\xce#\xc2\ +\x9bo\x1e\xc0\x8a\x15\x8b\xe1r\x89H&\xa5\xa2c\xed\ +V\x19\x1a\x1a0\xc4\xf2\xc4`\xab9\xf0<\x8f\x96\x96\ +6\x8d0\x86\xa5|\x00h\x1e\xa0\xab\xab\x13\xd9,u\ +*\xd9}\x84\x105\x0f\xd0\x86`\x90.J*\xd4\xee\ +3\x0dc9\x8e\xc3\xab\xaf\xbe\x8e\xef\x7f\xffq\xac^\ +\xbd\x02\xdf\xfd\xee6x<\x1e\x002\x9cN\xef\xba\xee\ +\xee\xa1\xe0\x8e\x1d\x8f~\xe6\xce;\xbf\xc8\x86\x929\x9c\ +\x86$\x98n0H\xfdT\x08\xc7\x11\xb5\xe7\xe5\x13\x01\ +P\xf0\xc6\x1b\x1dX\xbe|\x11\x02\x017&'\x936\ +\x8f\xcb\xcf\xaa\xa5\xd3)\xf4\xf7\x1f1\x80O\x8b\x13\x04\ +\x11\x0d\x0d\xcdhll\xd4\xcc\x04\xa0\xf7|6N`\ +$\x0d@Aq\xb9\x5chiiU\x1d<\xce\xd6\x14\ +\x99\xf3\xfc\xe5\x85\xb1\x1cG066\x8e\x1f\xfe\xf0q\ +\x0c\x0e\x8ea\xcb\x96\xcf\xa1\xad-_\xa3\x89\xa2\xfb\xea\ +\xb5ko\xdc\x09\xe0#\xa73\x09\x0ai\x00\xcbw\x1e\ +G9\xe4p8\x04\ +D\x22\x11|\xfb\xdb\xff\x8d\x8e\x8e\xc3\xb8\xfd\xf6\x1b\xb1\ +x\xf1<\xf5\xbe\xe9\xc1gu\x22\x84\x0b\xce\x9b\xb7\xf0\ +W\xbf\xf8\xc5\xcbW\x7f\xecc\x1f2\x8e\x1d\x10\xbc\xcb\ +i\xe3\x92\x86n8\x8e\xd3\x06L\xe8w\x1el\x02&\ +\xcf\xd3C\x1fP\xe1\x01(\xd8\xbf\xff\x10b\xb18\xc2\ +a/\x00R\xd6\xcc`\x9a\xc4y\x0b{\xf6\xfcA\x05\ +\x9f^\xc7\xc0\x0f\x06CX\xb1\xe2|\xcc\x9d;\x0f\x0e\ +\x87\xb3\xac\x99\xc5\xa5\xcc\x0c\xe6y\x1eN'\x8f\x9d;\ +_\xc2M7\xdd\x89\x86\x86:<\xf8\xe07\xb0ti\ +\xf9\xe0\x1b\x93EK\x96,y\xf6\x0f\x7f\xe8\xf8\x18h\ +\xc7c\x11\x96\xeah\x97\x18o\x9ed)C\x03\xe8y\ +\x00Yfqma\x8d\xa0(\xc0[o\xbd\x8d\xc5\x8b\ +\xe7\xa1\xaa\xca\x8bH$\x0eI\xa2\xadl7\xd6\xce\x84\ +\x10@\x92r\x18\x1d\x1d\xd5F\x04\xe9y\x02\xaf\xd7\x8f\ +Y\xb3\xda\x11\x0c\x06U\xd5m\xd7iJI\xe5\xda\x9b\ +%B\x08\xdcn'\xba\xbb\xfbp\xff\xfd\xff\x85P(\ +\x80\x1f\xfc\xe0nTW\x87\x01\xd8E\x08\xa5\x81O?\ +\x15\x10B\x82\xf5\xf5\xf5\xdb\xf7\xec9\xf8\xb9\xd5\xab\x17\ +<\x02=m\xfc\xae\xe5\x0a\x8c\x04\xb0+X\x01\xa0\xf0\ +<\xaf0\x1f\x80\xcd\xae)\x8d\x08\x8aJ\x82\xf9\x08\x87\ +\x03\x18\x19\x89\x19R\xc7\xf6 (\x0aM\x18\x9dw\xde\ +*\x1c8\xf0\x16\x12\x898\x5c.\xb7\xc1\xb3\xd7\xaf\xb3\ +\x97\xc2\xf3\xfb\x0a\x91\x83\x02/\x22\x99L\xe2\xdb\xdf~\ +\x0c/\xbf\xfc\x17\xdc~\xfb\x8dX\xbdz\x85\xd6\xdb\x19\ +\xf8\xe6\xdeo.\xb7\x18\xf8:Q\x14TW\xd7|o\ +\xcf\x9e\x83PI\xa07\x06\xdey\x12\x105\xf7n\x1a\ +\xfc\x81>\x0f@\xdb5\xf4\xd5W\xdf\xdaMU(\xcb\ +\xdc15K_J\xff[1\xfd\x9f\x85N\x0b\x17\xce\ +C(\xe4\xc7\xc8\xc8$\xb2\xd9\x22\xc1\xb6\xb1r\x04\x18\ +\x1e\x1eDee\x95a>@>\xba\xe5(O\xeb\xb5\ +.\x97\x08\x87\x83\xc3s\xcf\xed\xc1\x0f\x7f\xf8\x04.\xbd\ +\xf4o\xb0n\xdd5&'\xcf\x1e\xfc\xc2\xbd\xdf|\x9d\ +\x19|\xfd<\x90H$~\xba|y\x93u=\xa2B\ +\x1f\xf1\xce\x90\xc0J\x00\x0e\x80\x08\xc0\x01\x0b\x01^x\ +\xe1\x95\x87\xfd\xfe\xc0lfW\xcb%\x02@\xb0x\xf1\ +<\x04\x02~D\x22\x09\xc4\xe3\xf9\xfbM3u_R\ +\xc5\x0bD\x15\xa5]G\x1d<\x9f\xcf\x85\xae\xae^|\ +\xf3\x9b\x0fC\x96e\xdc~\xfb&\xcc\x9a\xd5d\xa8s\ +\xf9\xe0[{\xbf\xfe\x1c3\xf8\xacm\x12\x89\xe4\xf6\x15\ ++\x9ao\xc5\xbbD\x02;'\xd0\xe85i\x0b${\ +{\x0f\xbf\xc2ql\x08\x97S\xa7jq0\xae\xc61\ +:\x83Vg\x91\x10\xa0\xa3\xa3\x0b\x93\x931\x84\xc3\x1e\ +x\xbd\xce\xbc\x82\xa9\x83f\x7f\xe4U\xb2\x80\xe3gu\ +\xfat2B\x0d\xcb8\x84B\x1e\x88\x22\xc1\xb7\xbe\xf5\ +0\xbe\xf6\xb5\x7f\xc7\x9a5\xef\xc7w\xbes\x97\x06\xbe\ +^\x1fV\xd6\xcc\xc0\xb7ZU+\xf8\x8a\x02\xb8\xdd\xae\ +uo\xbc\xd1\xff\xf8\xb6m\xf7\x87aH\xbd\xe3\x1dr\ +\x0c\x8d\x04P\x0c\x9fF\xf0s\x00r\xdb\xb7\xff\xe47\ +\xb9\x5c.\xce\xf3\x14\xfc\x99\x10\x01\x90q\xe0@7&\ +'S\x08\x87=\xf0x\x0ay\xf0\xf9\x15-\x95\x1c\x85\ +\x9eG\xc7\x05\xdc\xf0\xfb]x\xf9\xe5\xd7\xb0v\xed\x97\ +0>\x1e\xc5\x0f~p/>\xf6\xb1Ka\xeclv\ +\x1d\xafT\xf0\xd3\xe9$\x0e\x1d:\x80\x97_~\x11\x83\ +\x83\x83Z\xdd\xed\x9fG\xcf;\x1c\xce\xab\xaf\xbf\xfe\x86\ +_\xab$`\xeb\x11\xd9\x9c\x82SJ\x04\xa3\x09\x00\xf4\ +Y@\x22\xa8\x1f\xe0\x86n\x06\x82\xff\xf2/\xffv\xdd\ +\x95W^\xf3y]\xad\xc9y!W)\xa6A\x10\x04\ +,X0\x07\x81\x80\x1bSS\x19\x8c\x8e\xc6\xa0\xcf\xdb\ +/\xa1\xd2e4\x07\xcf\x13x\xbdNx\xbd\x0etv\ +\x1e\xc1\x03\x0fl\xc7\xd0\xd0\x18\xbe\xf0\x85MX\xb2\xc4\ +\x1c\xd6\x19\xbf\x17\xeb\xfdv\xe0KR\x16G\x8e\xf4\xa0\ +\xbf\xbf\x9f\xd5\x12\x1c\x07\xb4\xb5\xcdF]]\x93m\xef\ +g\x04`\x0es6+\xed{\xf2\xc9G\xaf\xbc\xe7\x9e\ +\xaf\x8cC\xdf\xc0J\xad\x86rJ\xf2\x05V\x02\x18\xa7\ +\x82;@\x09\xe0\x01%\x80\x1f@\xf0\xde{\xef\xbf\xe6\ +\xdak?\xfe\x19\xb3}+\x9f\x08\x0e\x87\x03\x8b\x17\xcf\ +\x85\xcb%j$(X\xc9\x19\x92\xc3\xe3q \x10p\ +!\x93\xc9\xe0G?\xfa9~\xf1\x8b\x97p\xfd\xf5W\ +`\xfd\xfak\xf2\x1c6\xe3\xf7rT\x7f.'\xe1\xe8\ +\xd1~\x1c;vDsn\xd94v\x00\xa8\xabkD\ +k\xebl\xf59\xf6\xe0\x1b\xcb\xca\xe5r\xd1\x9e\x9eC\ +\x1f\xb9\xf6\xda\x8bY\xd6\x90icE\xbd\xee\xe4\x13\x00\ +\x80]$ \x82:\x82n\x00>\xe8$\x08l\xdbv\ +\xdfG>\xfe\xf1O\xde\xcc\x1aa\xa6D\x10E\x07\x16\ +/\x9e\xa3\x91`l,\x0eY\x96\xcb\xf4\xea\xf3\xc9\xe1\ +t\x0a\x08\x85\xdc\xe08\xe0\xe5\x97\xff\x8c\xef\x7f\xffq\ +\xd4\xd6V\xe3\x0b_\xd8\x84\x9a\x9aJ\xb5.'\x0e\xfe\ +\xd0\xd0 \xba\xba\x0e!\x9b\xcd\x19\x1cX\xfaYYY\ +\x85\xd6\xd6Yp8\xd8\xaa\xa5\xe9\xc1g\xff\xcb\xe5\xe4\ +\xe8\xa1C\x1dW}\xf2\x93\x97\xee\x85\xc1\x0f\xc3) \ +\x81\x1d\x01\xd8L`\x16\x0e\xbaa&A\x00\x80\x7f\xeb\ +\xd6\xaf_\xfew\x7f\xb7v\x13\x03z\xa6Dp:\x1d\ +X\xb8p\x0e\xdcn\x11\xe9t\x0e\x03\x03\x11\x95 \x85\ +\x13E\x85D\x10xTVz\xe1t\x8a\xe8\xef\x1f\xc0\ +\x03\x0fl\xc7\x9bov\xe2\x8b_\xbc\x09\x17^\xb8B\ +\x9b\xd0\x99\x1f\xae\x95\x07\xfe\xe0\xe0 \xfa\xfa\x0ek\x8b\ +WX]\x09\x01\xfc\xfe\x10\x9a\x9b[\xe0\xf7\x07\xa7U\ +\xfb\xf9e\xe9f%\x9b\x95\xa3\xc3\xc3\x03\xb7]~\xf9\ +yO\xc1\xac\x09\xd4\xdbN\x0e\x09\xec\xd6\x05X\xcd\x80\ +\xd1\x17`\xfe\x80\x1f\x80o\xcb\x96\xaf\xff\xed\xa7?\xbd\ +v\xa3\xd1\x03\x9f\x09\x11\x1c\x0e\x11\x8b\x16\xcd\x85\xd3)\ + \x93\xc9\xe1\xf8\xf1\x88\xad\xe3d\xa8\xb6\xe9/\x8e\xe3\ +\x10\x0a\xb9\x10\x08\xb8\x91Lf\xf0\xf0\xc3?\xc7SO\ +\xbd\x80+\xaf\xfc \xd6\xaf\xbf\x16>\x9f\xa7 \xf8\xc6\ +\xef\xcc\x16\xeb\xd7\x99\xc1g\x13L\xe9\xa0\x14X\xbb\x01\ + p:]hnnEuu\x8dm\xc8788\ +\x88#Gz\x11\x0a\x85\xd0\xde>\xdfT\xae\x15|Z\ +UZ\xf6\xf8\xf8\xc8mk\xd6,{\x18\xa7H\x13\x98\ +\xb6\x88\xb1\xd1\x02,'\xc0H\xe0\x03%\x01\xd3\x06\xbe\ +\xbb\xee\xba\xf7\xd2O\x7fz\xc3\x0dF\xb0gB\x04Q\ +t`\xd1\xa29\x1a\x09\x86\x86bH\xa7\xe9\x1a\xccb\ +\x8bMB!\x0f\xfc~7\x14E\xc6_\xfe\xf2\x16\xbe\ +\xf9\xcdG\xe0\xf1\xb8\xf1\xc5/n\xc6\xec\xd9\xcdZ\xf9\ +\xb4\x1ch\xe51)\xd6\xfbY\xfdb\xb1)tw\xbf\ +\x8dH\x84\x8dF2\x0dE\xe7\x19\xd6\xd77\xa2\xa9\xa9\ +E}\x8e\x19\xfcHd\x1c}}\xbd\x88F#\xda\x0c\ +\xa7`0\x84y\xf3\x16\x80\xe3\x84\xa2\xe0\xab5\xc2\xf8\ +\xf8\xe8mk\xd6,c{\x1c\xb3-n\xd5\xea\x9e\x18\ +\x09\xec\x08@ki\xd8\x11\x04zf\xd0\xa8\x09|\xea\ +\xe1\xdd\xb2\xe5\x9e\xcb\xd6\xae\xdd\xb8\x81\x02;s\x22\x88\ +\xa2\x88\x85\x0b)\x09d\x198v,\xa2\x91\xc0*\x81\ +\x80\x13\xa1\x90\x0f\x82@p\xfc\xf80\xfe\xf3?\xff\x1b\ +{\xf6\xbc\x89\x8d\x1b\xaf\xc5u\xd7\xfd\xad\xa9L\xdaR\ +Z\x8bi\xcf\x98N\xf5\xd3\xfd\x08z\xd45\x0c\xe6\x09\ +\x22\x84\x10\xd4\xd77\xa1\xa9\xa9\x19q\xe1\xeb\ +\xa0\xe0\xe7\xd4\xb2N\x0e\x01\xd4\x8aYM\x81\xddx\x81\ +\x91\x04>\xf6}\xeb\xd6\x7f\xbed\xc3\x06\xea\x18\x9e\x08\ +\x11>\xff\xf9\xff\x0d\x00\xf8\xd9\xcf\xbe\x85P\xc8\x0f\x14\ +\xb1\x91\xd39}\xc9d\x12\x1d\x1do\x19\x80'\x86\xe4\ +\x12\x87p8\x8cY\xb3\xda\xe1p8M\xf7)\x0a\xb4\ +\xc9\xa9\xec^=*\xd0\xc3\xc1\xc6\xc6f\xc0&\xd9\x93\ +N'\xf1\xf6\xdb\x87\xb4\xa8\xc0X\xae\xc3\xe1Fcc\ +\x13\xaa\xaa\xf2M\x0c}N>\xf8\xecoY\xceE\x07\ +\x06\x06.\xff\xc4'.dY\xc3\xb2|\x81R\xa7\x84\ +)\xd0cO\xf67}\x8bB);\x00\xf7\xde{\xe7\ +.\x8e\x03\xd6\xad\xdb\xb4\x81\xe7\xe9\xc2RYV\xb4\x19\ +E\x8a\x02\xd5)bD \x00\xf4\xff\xb3\xd0IQd\ +\x10\xc2\xe1\xad\xb7\x0e\xe2\x82\x0bV\x18\x16\x83\xd2\xaaX\ +{\x7f^\xe5\x15\x05\xc9d\x12==\x87\x0d!\x1d\xab\ +>\x00\xb0%\xe2-\x08\x04\xf4\x0c\x1e{\xcdd\x92\x8e\ +\xf0\xe9;\x8d\x99ME]\x1d\xcd\x03\xf0<\x0f+\xf8\ +\xa9T\x02}}\xbd\x18\x1e\x1eR\xcb5\x93\xa6\xb6\xb6\ +\x01uuu\xe0\xb8B\xefT\x18|@\x01\xc7q\xc1\ +\xda\xda\xfa\xe7~\xfc\xe3\x9f\xbdo\xe3\xc6O\xf5\x00\xe5\ +M2\x9d\x96\x00\x8a\xa2\xb0\x1f[d\xde&k\xe5\x1c\ +\x80\xcc4\xb7\x93\xbb\xef\xbe\xf3EE!d\xc3\x86M\ +\xeb\xa9sW>\x11\xd8\x8bOM\xc5\xf1\xa7?\xbd\x81\ +\x0b.X\xae\xc6\xde\xa5\xa9~\x80\xf6\xde\xd1\xd1Q\xb0\ +Q:\xa6\xea\x9dN'ZZ\xdaPUUkz\x1e\ +h\xd8\xa5\xe6\x01\xe8\xb0.\x03\x8f\x91\xa7\xba\xba\x16\xcd\ +\xcd-&\x95M\xebB\xf7A8v\xec(\xfa\xfaz\ +M\xf72\xd2UW\xd7\xa0\xa5e\xb6F\x1a\xd6\x0e\xe5\ +\x80\xcf\xca\xcaf3AA\xf0\xce\x02\xd0\xab\x16pr\ +5\x80\x81\x04Z\xdci\xf8\xb7d\x7f\x97.\xf7\xdc\xb3\ +e\x17\xc7\x11e\xfd\xfa\x1b7(\x0a}\xe1r\x88\x00\ +@\x9d\x7f@05\x15\xc7k\xaf\xbd\x81U\xab\x96k\ +!U)v\xbf\xb6\xb6\x01^o\x00\x87\x0eu \x1e\ +\x8fC\x14y\xd4\xd55\xa3\xa5\xa5%ox\x97\x8e\xf0\ +\xd1-d\x98\x92\xb3\x86\x83\xcd\xcd\xadj\xbe_6\x01\ +\x22IY\x1c?\xde\xaf\xaeU\xcci\x93a\x14\x85~\ +\x06\x02!\xcc\x9a5G31f\xd2\xe9R*\xf8\xb4\ +\xcc$$)\xa3\xedg\x5c\x8e\x94<+\xd8\xa2\x09\xac\ +\xbaV\xb1\x14\x9eW\x91m\xdb\xbe\xf6\x22\xa0\x90\x1bn\ +\xd8\xbc\x9e\x86_\xa5\x13\x81\xe3xu\xfa9\x0fYV\ +05\x95\xc4\xde\xbd\xfbq\xdeyK\xb4\xa2J\xf1\xf8\ +\xbd^/\x96-[\x89\xa1\xa1\x01\xd4\xd4\xd4i\x0bI\ +\x18\x08t\xa7\xb1>\xf4\xf7\x1fA.'\xe7\xf5Z\x97\ +\xcb\x8d\xb6\xb6\xd9\xa8\xa8\x08\xab\xcf77\xc3\xe0\xe0\x00\ +\xfa\xfaz\x0d;\x9c\xe9\xf7z\xbd~\xb4\xb6\xce\x82\xdf\ +\xef7i\x99B\xbe\x8c\xb9\xed\x8b\x0f&\xa5\xd3\x09\x16\ +\x822\x93\x5c\xb2\x19(\x99\x006b%AF\xab\x9d\ +.&\x22l\xdb\xb6e\x17\x00l\xdc\xb8y=u`\ +J#\x02\x9da\xc4\xab3\x8c\xe8\xb3&'\xa7\xd0\xd1\ +\xd1\x89\xa5K\x17h\xe3\xf0\xa5d\xfax^@CC\ +c^C\x0f\x0d\xd1<@*\xa5{\xf6\x00\x1d\x87\xe0\ +y\x11\xcd\xcd\xad\xa8\xabk\xb0\xed\x91\xd1\xe8\x04\xde~\ +\xfb\x00\x92\xc9\xb4\xc1G`\xa4\xa1QA8\x5c\x8b\xe9\ +2}\x85T\xbfU\x8c\xef\x94\xc9$\x91\xcdJ\x90$\ +I[c`\x7f\x97\xbd\x94E\x00\x8b\x16`&\xc1Z\ + \xb1|\x9a\xbeo\xdbF\xcd\xc1\x0d7l\xde`\x9c\ +^^\x8c\x08\x82\xc0\xc0\xd7\xa7\xa0\xf3<0::\x8e\ +\x03\x07\xba\xb0p\xe1\x5cH\x92>f0]\x8e_o\ +h:Xs\xf0`\x87\x01x\x98\xc6\xf6\x19\xf0\x82\ + \x88\xa8\xabk@mm\x03\x04A0E'\xe5\x80\ +o\xd7\xfb\x8d\x92\xc9\xc4!\xcb\x0a$I\xb6\xb6\xf7\xc9\ +q\x02\xadR\x80\x04y\x97\x15{\xc6]w}\xedE\ +EQ\xc8\xc6\x8d7\xad\xb7\xae3\xb0#\x02\xb3\xff\xc6\ +\x06f\xfe\xc1\xd0\xd00\x08\x01\x16,\x98\x03I\xca\x95\ +\x05~*\x95DWW'2\x99\xb4a\x16\x0f-\xa3\ +\xa6\xa6\x0eMM-p\xb9\x5c\xa6\x04\x8c\xa2\xc8H\xa5\ +R\xe8\xee\xee\xc4\xd8\xd8\x08\xcc>\x02\x00p\xa8\xae\xae\ +Ak\xeb,\xc3 \x91\xb5\x0d\x8d\x9f\xe5;}\xfa{\ +)H$\xe2\xc8\xe5d\xa8\xbb\xd7\x9e:\x1f\xc0(6\ +\x91\x81\x9d\x14RG\x04\x00\xd9\xbau\xcb.\x80\xc3\x8d\ +7\xde\xb4\x1e6\x0bN\x8cD\xe0y\xa6\x01\xf4-j\ +\x00\x9d\x08\x83\x83#\x00\x80\x85\x0b\xe7\x9av*)\x06\ +>\xa0\xc0\xe9ta\xc5\x8a\xf3\xd1\xdd}\x08CCC\ +\xda\xb2\xb3\xa6\xa6V\x04\x02A\xf5Z\xfd\xf5\x92\xc9$\ +\x8e\x1c1\x8e\x0e\xb2qj\xfa\x19\x0c\x06\xd0\xde>\xcf\ +\x10\x15\xd8\x0f\xf2\x98\xdb\x92]W\x1e\xf8\x80\xfa\x05\ +\x80\xbe!\x05\xc0\xb4\x82\xa2@3\x1dT\x13\x10\xb4\xb6\ +6!\x1eOk\xb6R\xadiAP\x00\xba\x0f\xe1\xf2\ +\xe5.tt\xec\xd7\xf6\x14\x0e\x04\x82\x9a\x83\xa7\xbe\xab\ +\xed\xfd\xf9\xbd\xdf\xd4B3\x02\x1f\x00\xbc^'8\x8e\ +C__/\x92\xc9\xa4v\x9d1B\xb1i\xdbi\xe5\ +\xa4\x12\x000\x91\xa0\x98O`m\x1e#\x09^\x048\ +\xdct\xd3-\xeb\xe9 \x10\xcd\x00\xa6R\xa3\xeaw\xa3\ +\x83\xc8\xcc\x00\xfbM\x01\xb3y8z\xf488\x8e\xa0\ +\xb9\xb9\x11\x89D\x06\x99L\x16\xa5\xf6H\xaf\xd7\x8f\x15\ ++\xde\x87\xa3G\xfbPYY\x89@ X \xb4,\ +\xc7\xee[\xdb\x8a}\x16\x06\x9f\xe7\x09|>\xba\xb6`\ +p\xf08\x22\x91\x88\xda1\x8c#\xab\xb2i\xc7\xd6r\ +\xe4\xa4\x13\x00(Y\x13h\x97[>\xb1e\xcb?\xbd\ +\x08\x007\xddt\x8b\x9a'P\x90J\x0d\x80\xe3t\xdf\ +\xc0H\x04\xa00\x11\x8e\x1c9\x06B(\x098\x0e\x16\ +\xe7\xb0x\x8f\x14\x04\x1emm\xb3\x8dU;\x01\xf0\xcb\ +w\xfa\x5c.\x01\x1e\x8f\x03\xb2\x0c\x8c\x8d\x8d\xe2\xf8\xf1\ +\xe3\xda,&\xdd\xf6\x9b\x9e\xf7\xee\xf9\x00VQI\xc0\ +\xfe4N\x99\xb1\x9f\xe6\xab\xde\xc6\x8e-[\xfei\x17\ +\xcfs\xca\xe6\xcd7oH&G\xc0\xcf?j\x88\x02\ +\xca#B_\xdf1\x08\x02\x8f\xc6\xc6:5\x01$\xe1\ +D\xd4\xb1\xfe\x8e0\xfc\xef\xe48}\xcc\xe4\xf9\xfd.\ +8\x1c4\x838>>\x82\xc3\x87{4\xe0\xd9}\xba\ +\x13X\xa4E\xa7\x91SF\x00\xa0 \x09Xu\xa7\xb3\ +W\xca\x1dw|i\x17!\xc0\xd4Td\xc5\xa4\xd4{\ +\x84\xe3\xc8U\x80\x11\xec\xd2\x89\xd0\xd7w\x0cN\xa7\x88\ +\xeaj\xfa\x9bG\xc9$\x1d\xc9.?\xfbf\xfe\x9fM\ +\xb5O\xc8\xe9s\xbbE\x04\x02n\xed\xfa\xe3\xc7\x87\xd4\ +!e\xa6\xf2e\x8b\xfa\xa7\xf7\xe5f\xe8\x05\x9eR\x02\ +\x00\x05I\x00\x14&\x80b<\xbe\xf2\x95/\xfd\x16\xc0\ +\x1e\xbc\x047\xb7\x89\x5cE\xe3\x7f\xf5ae\x10\x01\x00\ +:;\xfb@\x08\x87\xaa\xaa0DQ\xc0\xe4dB\xad\ +#\xabk\xe9\xe0O\xe7\xf4\x95\x0b>\xcf\xf3\x08\x85<\ +p8\xe8\x88g6\xab\xe0\xed\xb7\xbb022l\x0b\ +\xbcN\x08:bzZD\x01\x85\xc4@\x02c3e\ +\xa1\x03m\xba\xdcp\x98f!ut\xec\x7fm\xd1\xa2\ +%\xab\xf4D\x10\xfd\x07\x0d\x19\x01E\xa1D\xa0~\x83\ +>\x9f@\x96\x89\xa6*;;{A\x08AUU%\ +\x00\x17\x22\x11\xf3\xae\xa6'\x06~\xf9c\xfb<\xcf!\ +\x18\xf4\xc0\xe3qh '\x93I\xbc\xf5\xd6!LM\ +M\x99\x80\xa7\xcf7\x03\xaf\xd7\xf7\x1d\x1c\x0b\x98\x89\x94\ +\x11\x1d\x18\x9dBv\xad\x0c@\xb9\xe5\x96u?z\xf0\ +\xc1\xedX\xb4h\x99J\x02\x0a2\x0d\x07\xd9\x08\x22\xdb\ +\xb0\x8a\x03\xbb\xc6\xbaqUWW/x\x9eCee\ +\x05\x00\x0e\x13\x13\xf1<[l\xa8\xb7\xfaI\xab4\x13\ +\xbbo~\x1e-G\x10h\x8f\xf7z\x1d\x06\xc7\x0e\xe8\ +\xe9\xe9C_\x1f\xdd-]\xcf]\x14\x06\x9e\x9d'\x84\ +\xb3\xebL\xd3\xca;F\x00\xa0$\x12X{\xbf\xd5o\ +\xc0\xcd7\xaf\xfb\xd1\x83\x0f\xee\xc0\x92%\xcbV\xc9\xb2\ +\x0e\xb21u\x0c@\xeb\xf5\xf6\xe6A\xc1\xdbo\x1f\xc6\ +\x82\x05sPY\x19T\x87\x96\xe3jJ\xb9\x90\xd3w\ +b\x1e?\xfb\xdb\xebu!\x18t\xc1\xe9\x14A\xb5\x13\ +\xbd\xfe\xf8\xf1Atw\xf7 \x91HZ\x80\xd7m\xbd\ +^\xae\xfe?\xaa\x1dd$\x93\xc9\x08f@\x80ig\ +\x05\x9f\x0a\xb1\xacA$\xb0\xfcD\x1d\xf4\x05\xa9l)\ +\x9au\xed\x81\xe7\xc1\x07w\xdc\xb4t\xe9\xf2U\xcc\x1e\ +\xb2\xa5e\x80\xde\x9b\xf4\xf3\x8a\xe1\xbc~\x0d\xc7\xf1X\ +\xbcx\x0e\x02\x01?$I_\x9a>\xbd\xea/\x0f|\ +\x87CD0\xe8\x82\xc7\xe3\x80 \xf0\x06\xbb\x9d\xc3\xd1\ +\xa3\x038|\xb8\x0f\xf1xB\xbb\xc7\x0a\xbc^\xa6Q\ +\x0bPR\xb3\xbfo\xbf}]\x10tR\x0e\xdblJ\ +9\xd53\x82f,\x86\xf1\x03\xeb\x84\x12\xc5\xe6\x00\xcc\ +\xccV\x00\xe0\xe6\x9b\xd7\xfe\xe8\xa1\x87v`\xc9\x92\xe5\ +\xab\x14\x85\x80\xe3\xa8\xdag\xbd\xc4\xceO\xa0e\xea\x1a\ +AQ\xe8/\x9f\xac\x5c\xb9\x18.\x97\x03\x0d\x0d!\x1c\ +;F;Rq\xd5o|\x17\xd8^\xe7\xf39\xe1\xf1\ +8\xe0\xf3\xb9 \x08\x9cf\xc7eYF,\x16\xc3\xd1\ +\xa3\xc7q\xf4\xe8 \xd2\xe9\x0c\xac!\x9d\xd1\xc9\xb3\x02\ +o$;;\x9fN\xa7\xfe`i\xaf\x92\xe5]!\x80\ +E\x8c\xb6>\x0fh\x9bk\x01\x954\x9b7\xaf\xfd\xd1\ +\xc3\x0f\xef\xc0\xe2\xc5+V\xb1\xb9\x01\xe5\x12A\x96e\ +\x1c8\xd0\x89%K\xe6\xc1\xe1\x10\xd1\xd8X\x89\xfe\xfe\ +1\xe4r\xa5\xd9}\x80\xfd\x00\x95\x08\xaf\xd7\x01\x8f\xc7\ +\x05\x8fG4i\x91l6\x87d2\x81\x81\x81a\x1c\ +;6\x8c\xd1\xd1\x09\x14\x0b\xe9t;_\x1cx6\x12\ +\x98H\xc4w\x96\xd0v\xb6\xf2\xae\x98\x00S\x05\xcc3\ +/\xd9\x90\x9b`8\xack\x11\xf3\xcc\xc1#\x8f\xfc\xec\ +\xa6\xc5\x8b\x97\xae2\x02V\xaei\xf0x\x9c*\x09\xe8\ +\xd4\xaf\xbe\xbe\x88\xda;i\xe5d\x19p\xbby\xf0<\ +\x0f\x97K\xd46\x9f\x12E\x1e\xa2h\x8c\x18(0\x92\ +\x94\xc5\xc8\xc8\x04\x86\x87G100\x82\xc9\xc9\xb8\x01\ +P\xfb\x90nr2\x06\xc2s\xe0\x09\x07\x10\x80S'\ +\xc1X\x81\x07\x8c\xa9`\x19\xcf<\xf3\xe4\xac\xdd\xbb\x7f\ +1\x02:C[\xdb?\xa0\x14\x13\xf0\xae\x13\x00\xc8#\ +\x81q\xaf\xf0\xac\xac\xfc\x90\x0e\ +\xf0\xec\x7f,\xf67\ +\x9e\xa7\x1bR\x00\x84#\xf4P\xc9\xe0\x10\x05\x84B~\ +\xf0\x84\xa7$\xf0{!\x08\x02*\xaa\x02hi\xab\xc3\ +\xb1c}_|\xed\xb5\xdf\x8f\x1b\xdaH\x8b\xa6J\xed\ +\xfd\xc0iH\x00\xa0(\x09\x98\x9d\xcb@\xd7\x04L\x1b\ +0\x22\xc4\x01$o\xbdu\xe3\x8e\xed\xdb\x1f\xd9\xc1@\ +.\x97\x08,\x06g\xea\xdb\xd8{\xed\x80g\xe02-\ +\xa0\xdbzJ\x06+\xf0\x8c$9EA\x22E\x7f\xd0\ +\x9a\xe7\x088B\xc0\xab\xf5r\xf0\x22B\x15~\x08\x82\ +\x00\x87C\xa49\x05\x8eGeu%.\xbdr\xcde\ +\xc8\xdf0\xaal9-\x09\x00Lk\x0e$P\x12\xa4\ +\xa0\x13 \xcf$\xdc\x7f\xff\xd7w\xff\xf4\xa7?\xd9\xc1\ +\xc0-\x87\x08\xd4_\x90M=\x9f\x01o\xd7\xab\xf3\xcf\ ++\xeayc\x92\xc7\xa8\x1dt\x13\x90\xc9HH&(\ +\x098\xb5.\x84\xa7\x87S\x14Q[\x13\x86\xd3\xe9\x00\ +Gxx\xbd.\x08<\x07\x9f\xcf\xff\xe9\x9d\xcf\xfd\xf1\ +\xa5\xaf~\xf5\x1b>\xe8\x1a\xa0l\x12\x9c\xb6\x04\x00\xa6\ +5\x07V\x12$a\xf6\x07\xe2\x00\xe2\xf7\xdf\x7f\xcf\xee\ +\xc7\x1e{d\x87qws+\x11x^'\x02\xdb\x09\ +\x9d\x86w\x8a\x0a\x94\x0e*\xfb4\x02o\xf4\x05\x8c\xc0\ +\xe7\xfb\x08\xb2\xea\x1f\xe8Z%\x95\xce \x9d\xca \x9d\ +\x91\x90H\xa44\xe09F\x06\x9e\xc0\xedr \x5c\x11\ +\x80C\xe4A8\x0e^\xaf\x1b\x02\xcf\x81\x13\x84e\x1f\ +\xba\xf4\xb2\xdf\xfc\xeb\x0f\x7f\x18D\x19\xa1\x9fQNk\ +\x02\x00\x05I\x90\x85\xd9'\xb0j\x02\xcd\x1f\x00\x10\xbf\ +\xef\xbe{vo\xdf\xfe\xc8\x0e\xb6\xc8\x94ny\xcf\xe7\ +\x11\x82N?g&\xc0\xda\xcbu\x07\xcf\xaeW3\xe0\ +\xcd>\x02\x03\xdex\xde\xe80\xca@N\x81\xac(H\ +\xa5\xd2Hg$\xc4\x13)p\xcc!$4<$\x1c\ +\x01\xc7s\xa8\xa8\x0c@\x14\xe9*)\xaf\xd7\x0d\x9e\x13\ + \xf0\xfc\xf2\xa5\xed+\x7f\xfb\xd3g\x9e\x09\xce\xa4}\ +O\x87T\xf0\xb4\xa2(ys\x0c9\x18\xb6R\x9f\xe6\ +v\x02\x00\xf7\xddw\xcfn\x00\xd8\xb0a\xf3ZEK\ +\x0d\xd3,\x1b\x9b;\xa0(l.\x014\xdb]NH\ +g\x8c\xf1\x999P\xeb\xaf]g\x0d\x1b\x03\x01\x1f\xd2\ +\xc9\x0c\x9c\x0e\x07R\xa9\x14\x9c\x0e\x11\xf1x\x12N\xa7\ +\x83F\x04\xbc\xa0M\x85\xe39\x0e\x95\x15AD\x221\ +H\xd9\x1c\xbc\x1e\x17\xd2\x99\x0c\xb2$\xbb\xbc\xc6W\xbf\ +\xeb\xa9\x17_\x5c\x03 \x822\xe4\xb4\xd7\x00Ll4\ +\x81\x02{s\xc0\xa2\x03k\x88\x18\xbf\xef\xbe{v?\ +\xfa\xe8C;\xd823\xda\xeb\xcd?~\xc1\xb4\x81\x1e\ +\xba\x95\x1e\xd2\xe9\xfeB.O{PS\x91\x7f\xde\xe7\ +\xf3#1\x95@:\x93\x81\x02 \x99\xce \x95\xc9 \ +\x1eO\x82\xe7\x08\x04\x81\x03\xa7\xa6\x85\x01\x80\xe7xT\ +V\x04\xe0q\xbb\xc0q\x80\xdb\xe5\x84(\x8a\xe0\x09Y\ +\x11\xe0\x82\xbf\xde\xb9\xf3\xd5@9\xed\xfa\x9e!\x00\xa0\ +f7X\x16\xc7\x1c\xfa\x94\xe2\x18&\xa0\x92\xe0'?\ +yd\x87\xd1\x07\xb0#\x02-\xaf\xbc\x90\xce\xf8\xa9\xab\ +\x7f\x1dx\xddw0\x9f\x0f\x87+\x10\x8bL!\x9d\xa2\ +c\x0f\xc9d\x06\xe9L\x06\xe3\x91I\xd0\xfc\x13Q5\ +\x13\xa7-M\x0b\x05|p\xbb\xdd \x00\x5c.\xa7\xcc\ +\x8b|\x84\x00\x15.\xbf\xf3\xbf^z\xe9\xafm\xa5\xb6\ +\xe9{\x8a\x00\x16)\xe6\x18\x1a\xf3\x04V\x12$\xef\xbb\ +o\xdb\xcb\x8f>\xfa\xf0cl\xd9\xb9\x1d\x11\xe86l\ +\xe5\x85t\x85\xf3\x05f?\xc2H\x08\xfa<\x05^\x8f\ +\x17\x91\xb1(\xd2\xc9$\x00\x19\xc9T\x1a\xb9\xac\x82H\ +tJ}U\x0a>@s\x06\xe0\x80P\xd0\x07\xb7\xdb\ +\x99!\x04Cn\xa7\xb3O\x10\xf9>\xa2@\x82H>\ +\xfb\xc2\x0b\xaf\xd4\xa2\x04yO\x12\xa0\x809\xb0j\x02\ +;\x12h\xe6\xe0\x1b\xdf\xd8\xb6\xfb\xd1G\x1fzL\xef\ +\xf9f\x22\x14\xf2\xec\x8b\x85tv\xf9\x02c\xe4\xa0\x9f\ +\xd7\x817\x96\x93N\xa7\xde\xf8\xe3\x1fw\x7f11\x15\ +\x7fE\x91\x81d:\x0dI\xcab|b\x0a\x80\x0c\x02\ +\x9a,\xd2\x9a\x01J,\x14\xf4\x1d\xf58\x1d\xbd\x84\xa0\ +\xcf\xe5v\x1d\x11\x1d\xc2Q\x02e\x9cw\xbb/\xff\xed\ +o\xff2\xadcxZ\x8d\x05\xccD,\xfb\x18\x1ag\ +\x17\xd9mkk\xdd\xf2\xdes\xd7]\xf7~\xe8\x86\x1b\ +nZ\xcb\xc6\x0b\xd8\x18\xfb\x9bov\x22\x12\x89\xc1n\ +\xfe\x9d\xd1\x14\x00\xd61\x80\xe2\xe7\xed\x06\x85\x12\x89\xa9\ +\xee\xce\xce\xfd\x0f=\xfd\xf4C\xcf\x03H\xcd\x9b\xb7\x04\ +_\xb9\xf3\x1b\xff'\xe0\xf7_\x11\xf0\xfb\x10\x08x\xe1\ +t\x88\xa8\xac\x0cR\xed\x04E\x020\xce\x112\x0c(\ +\xc3\x00\x19\x8d\xc7S#\xf1xbL!\x18\x97r\xd9\ +\xf1TJ\x8a\x082\x19\xcdf\xc7\xffz\xf1\xc5\x17\xa7\ +\x0a\xb6\xdf{\x9d\x00@A\x12\x18\xa7\x971\x12X7\ +\xb9\xf6\x82\x92\xe0\xc3\x1b7\xde\xb4\x16\x80\x06\xd6\xde\xbd\ +\x07\x11\x89L\x96\xe5\xd9\x97\x0e<\xbdf||d\xcf\ +\xc1\x83\xaf?\xf1\xfc\xf3O\xbe\x0a\xaa\xad\x98\xd6J7\ +5\xcdU\xfe\xef\xbf\xfd\xc7\xbf\x07B\xc1\xeb\xddN\x17\ +\xbc\x1e'DQP*\xc3\xc1\x04O\xc80\x08\x19\x01\ +0\x0c\xc2\x8dr\x8a2\x0apc\xc9tj<\x12\x8d\ +Op\xbc<\x91\xcd*\xd1X\x22=\xc9I\xa9\xe8K\ +/\xfdj\xf8\xee\xbb\xef\xb6\x9d\x87\xf9\x9e\x08\x03K\x14\ +c\x88\xc8\xcc\x81\xdd5\xd6\xef\xca\xd7\xbf\xbe\xf5E\x9e\ +\xe7\x94\x0d\x1b6\xaf3\xae#`\xbd\xbf\xd4\x90\xae\x90\ +&0\x86\x8e\x89\xc4T\xcf\xb1c}\xcf\xbf\xfe\xfa\xef\ +^\xee\xe8\xd8\xdb\x07\x0a:;\x98\xe9\xca\xf4\xf7wf\ +\xd7~\xea\xcaM\xbf\xf8\xd5\xef\x93\xb2#wC<\x95\ +\xcay\x88kb|<:\x14\x0e\x87Fx`D\x01\ +O\xc1\xe71Nd\x8c\xbb\xdc\xae\x89\x0aE\x89D\x22\ +\xb1\xa8\xcc#\xc6\xb9\x9c\xb1\xd8\xb8\x94(\xd6hg\x84\ +\x06\x00\xa6\x9dTb\xa7\x09\x8cs\x0a<\x00\xdc\xf7\xdc\ +s\xdf\xc57\xdc\xb0i\x03\xa0\xe0\x95W\xf6ct4\ +\x02\xe3\x9c\x02#\xf0\xa5\x9c\xa73\x832\x89h4\xb2\ +\x7ftt\xe0\xcd\xbd{\xf7\xfc\xee\xe0\xc1\xbf\x1c\x85>\ +|k=$\xc3\xc1\xf2\xfc\xb9\xdf\xec\xfa\xf3\xf7\x04\x8e\ +\x5cNxn\xd8\xe7q\x0f\x8b\x227Z\x15\xae\x18\xe5\ +@\xc6\x14\x9e\x8cC\xc1\x04\xe1\x94\x09NFD\x96\x95\ +\xc9\xa9\xa9d,\x16\x1b\x9e\x02\x90x\xdf\xfb\xde\xa7u\ +\x04\xbb,\xe1\x19C\x00\xa0,\x12\x18\x7f\xf8\x82}\xba\ +\x01\xb8\xbe\xf2\x95-\x7f\xb3y\xf3-\x9b\xff\xf2\x97\x83\ +\xee\xd1\xd1\x88I\xfd\xb3\xf1\x81b\xc0G\xa3c\x1d\x13\ +\x13\x13\xbd\x91\xc8\xc8\xe1#G\xba\xba^}\xf5\xa5C\ +0\x03\xcb\x9cT\xbb\xeflB\x87\xf1P\x00(\xbf\xdd\ +\xf5\xdaW\x09\xc7\xaf\xe4En\xd4\xe3v\x8d:\x1c\xe2\ +xU\xc87N\x04q\x82\xc8\x88\xc8<\x89\x0a\x0a\x99\ +T\x94\xe4\x14\x80\xf8\xef~\xf7\xbb\xd4\xa7>\xf5\xa9\xfc\ +\xc9\xed\x16\xc0\xcf(\x02\x00\x05I`\xfc\xf9\x1bF\x02\ +\xe3F\xd7n\xc39\xc7\xa7?\xbdv\xcee\x97}j\ +\xcb\xd4T\xd2C\x97ie\x12\xb1\xd8\xe4\x11\xa3=\x1f\ +\x19\x198@\x08\xe4h4:<668\xb4\x7f\xff\ +\x9f\xba\x87\x87\x07'\xa1\x83\xc8\x22\x12\xeb\xa7ds\xde\ +\x0a\xbcq\x88W\x1b\xe4y\xe1w{\xd7r \xb3y\ +\x8e\x1bw\xb9\x5c\xe3\x0e'\x17\x09WUDx\x19\x93\ +\xb9\x1c&eY\x88\xc7b\xfd\xf1%K\x96\x14\xdd\xbd\ +\xd5H\x823\x8e\x00@\xc9\x9a\xc0\xa8\x0d\xd8\xef\x1f\xb8\ +\xd4\xff\x8b\xa0\xa41n\xbf\xca\x1a\xca\x18vZAc\ +\xdf\xb3%\x1ev\xbd\xdd4\xb6\x0f\xcb\xec\x9e]/\xef\ +\xfd\x10\xcfqaA\x14\x22.\x81\x8f\x12\x978\x19r\ +\xfbc>\x1f\x89\xef\xde\xbd;i\xd7\xeb\xed\x84=\xf3\ +\x8c$\x00`K\x02ct`\xfc\xcd\x03\xb6\x08\x85}\ +g\xd3\xcfx\xc3\xbd\x80\xb97\xca\x96\xc3J\x00v\x18\ +m9[\xb0a\x04\x9e\xddc\x04\xde\xd4\xeb\xed\xec\xf6\ +\xee\xdd\xaf\xcf\xcd\xf1\xc4\xe1\x80\x18\xe3yLE\x22\x8e\ +\xf8UW\xcd\x9bn\xe3\xee\x13X\xae\xd8\x10\xc1\xee\xbbU\x0a5\x98\xed\xf9S\ +\x0d\xbaU\x0a\x91\xa0P=\xcej\x020)\xd2s\xac\ +>\xc0\xb4\xf2N\x03n'\xd6\xf7)V\xa7s\x04\xb0\ +\x91\x99\xa8\xd2\xd3M\xd8;LW\xd7s\x048\xcb\xe5\ +=9%\xec\x9c\x9c<\xf9\xff.}$/\xf4\x80\x9c\ +-\x00\x00\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x0e\ +\x0a\x93\x87\x07\ +\x00d\ +\x00i\x00s\x00c\x00o\x00n\x00n\x00e\x00c\x00t\x00.\x00p\x00n\x00g\ +\x00\x0c\ +\x0b\xdf!G\ +\x00s\ +\x00e\x00t\x00t\x00i\x00n\x00g\x00s\x00.\x00p\x00n\x00g\ +\x00\x14\ +\x07@\xa2\xc7\ +\x00a\ +\x00p\x00p\x00l\x00i\x00c\x00a\x00t\x00i\x00o\x00n\x00-\x00e\x00x\x00i\x00t\x00.\ +\x00p\x00n\x00g\ +\x00\x0b\ +\x0bs\x9d\xc7\ +\x00c\ +\x00o\x00n\x00n\x00e\x00c\x00t\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00R\x00\x00\x00\x00\x00\x01\x00\x00y\xa3\ +\x00\x00\x01\x83\xa8\x1a9\xce\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x83\xa8\x1a9\xce\ +\x00\x00\x00\x80\x00\x00\x00\x00\x00\x01\x00\x00\xa5g\ +\x00\x00\x01\x83\xa8\x1a9\xce\ +\x00\x00\x004\x00\x00\x00\x00\x00\x01\x00\x00:\xf8\ +\x00\x00\x01\x83\xa8\x1a9\xce\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/serialbus/modbus/modbusclient/settingsdialog.py b/examples/serialbus/modbus/modbusclient/settingsdialog.py new file mode 100644 index 0000000..a5e4a37 --- /dev/null +++ b/examples/serialbus/modbus/modbusclient/settingsdialog.py @@ -0,0 +1,52 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Slot +from PySide6.QtWidgets import QDialog +from PySide6.QtSerialPort import QSerialPort + +from ui_settingsdialog import Ui_SettingsDialog + + +class Settings: + def __init__(self): + self.parity = QSerialPort.EvenParity + self.baud = QSerialPort.Baud19200 + self.data_bits = QSerialPort.Data8 + self.stop_bits = QSerialPort.OneStop + self.response_time = 1000 + self.number_of_retries = 3 + + +class SettingsDialog(QDialog): + + def __init__(self, parent): + super().__init__(parent) + self.m_settings = Settings() + self.ui = Ui_SettingsDialog() + self.ui.setupUi(self) + + self.ui.parityCombo.setCurrentIndex(1) + self.ui.baudCombo.setCurrentText(f"{self.m_settings.baud}") + self.ui.dataBitsCombo.setCurrentText(f"{self.m_settings.data_bits}") + self.ui.stopBitsCombo.setCurrentText(f"{self.m_settings.stop_bits}") + self.ui.timeoutSpinner.setValue(self.m_settings.response_time) + self.ui.retriesSpinner.setValue(self.m_settings.number_of_retries) + + self.ui.applyButton.clicked.connect(self._apply) + + @Slot() + def _apply(self): + self.m_settings.parity = self.ui.parityCombo.currentIndex() + if self.m_settings.parity > 0: + self.m_settings.parity = self.m_settings.parity + 1 + self.m_settings.baud = int(self.ui.baudCombo.currentText()) + self.m_settings.data_bits = int(self.ui.dataBitsCombo.currentText()) + self.m_settings.stop_bits = int(self.ui.stopBitsCombo.currentText()) + self.m_settings.response_time = self.ui.timeoutSpinner.value() + self.m_settings.number_of_retries = self.ui.retriesSpinner.value() + + self.hide() + + def settings(self): + return self.m_settings diff --git a/examples/serialbus/modbus/modbusclient/settingsdialog.ui b/examples/serialbus/modbus/modbusclient/settingsdialog.ui new file mode 100644 index 0000000..fb594f4 --- /dev/null +++ b/examples/serialbus/modbus/modbusclient/settingsdialog.ui @@ -0,0 +1,237 @@ + + + SettingsDialog + + + + 0 + 0 + 239 + 256 + + + + Modbus Settings + + + + + + Qt::Vertical + + + + 20 + 43 + + + + + + + + true + + + ms + + + -1 + + + 5000 + + + 20 + + + 200 + + + + + + + Response Timeout: + + + + + + + Apply + + + + + + + Serial Parameters + + + + + + Parity: + + + + + + + + No + + + + + Even + + + + + Odd + + + + + Space + + + + + Mark + + + + + + + + Baud Rate: + + + + + + + + 1200 + + + + + 2400 + + + + + 4800 + + + + + 9600 + + + + + 19200 + + + + + 38400 + + + + + 57600 + + + + + 115200 + + + + + + + + Data Bits: + + + + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + + + + Stop Bits: + + + + + + + + 1 + + + + + 3 + + + + + 2 + + + + + + + + + + + Number of retries: + + + + + + + 3 + + + + + + + + diff --git a/examples/serialbus/modbus/modbusclient/ui_mainwindow.py b/examples/serialbus/modbus/modbusclient/ui_mainwindow.py new file mode 100644 index 0000000..10fb087 --- /dev/null +++ b/examples/serialbus/modbus/modbusclient/ui_mainwindow.py @@ -0,0 +1,377 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'mainwindow.ui' +## +## Created by: Qt User Interface Compiler version 6.4.1 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient, + QCursor, QFont, QFontDatabase, QGradient, + QIcon, QImage, QKeySequence, QLinearGradient, + QPainter, QPalette, QPixmap, QRadialGradient, + QTransform) +from PySide6.QtWidgets import (QApplication, QComboBox, QGridLayout, QGroupBox, + QHBoxLayout, QHeaderView, QLabel, QLineEdit, + QListWidget, QListWidgetItem, QMainWindow, QMenu, + QMenuBar, QPushButton, QSizePolicy, QSpacerItem, + QSpinBox, QStatusBar, QTreeView, QVBoxLayout, + QWidget) +import rc_modbusclient + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + if not MainWindow.objectName(): + MainWindow.setObjectName(u"MainWindow") + MainWindow.resize(516, 378) + MainWindow.setMaximumSize(QSize(16777215, 1000)) + self.actionConnect = QAction(MainWindow) + self.actionConnect.setObjectName(u"actionConnect") + icon = QIcon() + icon.addFile(u":/images/connect.png", QSize(), QIcon.Normal, QIcon.Off) + self.actionConnect.setIcon(icon) + self.actionDisconnect = QAction(MainWindow) + self.actionDisconnect.setObjectName(u"actionDisconnect") + icon1 = QIcon() + icon1.addFile(u":/images/disconnect.png", QSize(), QIcon.Normal, QIcon.Off) + self.actionDisconnect.setIcon(icon1) + self.actionExit = QAction(MainWindow) + self.actionExit.setObjectName(u"actionExit") + icon2 = QIcon() + icon2.addFile(u":/images/application-exit.png", QSize(), QIcon.Normal, QIcon.Off) + self.actionExit.setIcon(icon2) + self.actionOptions = QAction(MainWindow) + self.actionOptions.setObjectName(u"actionOptions") + icon3 = QIcon() + icon3.addFile(u":/images/settings.png", QSize(), QIcon.Normal, QIcon.Off) + self.actionOptions.setIcon(icon3) + self.centralWidget = QWidget(MainWindow) + self.centralWidget.setObjectName(u"centralWidget") + self.verticalLayout = QVBoxLayout(self.centralWidget) + self.verticalLayout.setSpacing(6) + self.verticalLayout.setContentsMargins(11, 11, 11, 11) + self.verticalLayout.setObjectName(u"verticalLayout") + self.gridLayout = QGridLayout() + self.gridLayout.setSpacing(6) + self.gridLayout.setObjectName(u"gridLayout") + self.label_27 = QLabel(self.centralWidget) + self.label_27.setObjectName(u"label_27") + sizePolicy = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.label_27.sizePolicy().hasHeightForWidth()) + self.label_27.setSizePolicy(sizePolicy) + + self.gridLayout.addWidget(self.label_27, 0, 5, 1, 1) + + self.connectButton = QPushButton(self.centralWidget) + self.connectButton.setObjectName(u"connectButton") + sizePolicy1 = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Fixed) + sizePolicy1.setHorizontalStretch(0) + sizePolicy1.setVerticalStretch(0) + sizePolicy1.setHeightForWidth(self.connectButton.sizePolicy().hasHeightForWidth()) + self.connectButton.setSizePolicy(sizePolicy1) + self.connectButton.setCheckable(False) + self.connectButton.setAutoDefault(False) + + self.gridLayout.addWidget(self.connectButton, 0, 7, 1, 1) + + self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) + + self.gridLayout.addItem(self.horizontalSpacer, 0, 4, 1, 1) + + self.serverEdit = QSpinBox(self.centralWidget) + self.serverEdit.setObjectName(u"serverEdit") + sizePolicy1.setHeightForWidth(self.serverEdit.sizePolicy().hasHeightForWidth()) + self.serverEdit.setSizePolicy(sizePolicy1) + self.serverEdit.setMinimum(1) + self.serverEdit.setMaximum(247) + + self.gridLayout.addWidget(self.serverEdit, 0, 6, 1, 1) + + self.connectType = QComboBox(self.centralWidget) + self.connectType.addItem("") + self.connectType.addItem("") + self.connectType.setObjectName(u"connectType") + + self.gridLayout.addWidget(self.connectType, 0, 1, 1, 1) + + self.label_2 = QLabel(self.centralWidget) + self.label_2.setObjectName(u"label_2") + sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) + self.label_2.setSizePolicy(sizePolicy) + + self.gridLayout.addWidget(self.label_2, 0, 2, 1, 1) + + self.label = QLabel(self.centralWidget) + self.label.setObjectName(u"label") + + self.gridLayout.addWidget(self.label, 0, 0, 1, 1) + + self.portEdit = QLineEdit(self.centralWidget) + self.portEdit.setObjectName(u"portEdit") + sizePolicy2 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed) + sizePolicy2.setHorizontalStretch(0) + sizePolicy2.setVerticalStretch(0) + sizePolicy2.setHeightForWidth(self.portEdit.sizePolicy().hasHeightForWidth()) + self.portEdit.setSizePolicy(sizePolicy2) + + self.gridLayout.addWidget(self.portEdit, 0, 3, 1, 1) + + + self.verticalLayout.addLayout(self.gridLayout) + + self.horizontalLayout_2 = QHBoxLayout() + self.horizontalLayout_2.setSpacing(6) + self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") + self.groupBox_2 = QGroupBox(self.centralWidget) + self.groupBox_2.setObjectName(u"groupBox_2") + self.groupBox_2.setMinimumSize(QSize(250, 0)) + self.gridLayout_3 = QGridLayout(self.groupBox_2) + self.gridLayout_3.setSpacing(6) + self.gridLayout_3.setContentsMargins(11, 11, 11, 11) + self.gridLayout_3.setObjectName(u"gridLayout_3") + self.label_4 = QLabel(self.groupBox_2) + self.label_4.setObjectName(u"label_4") + + self.gridLayout_3.addWidget(self.label_4, 0, 0, 1, 1) + + self.readAddress = QSpinBox(self.groupBox_2) + self.readAddress.setObjectName(u"readAddress") + self.readAddress.setMaximum(9) + + self.gridLayout_3.addWidget(self.readAddress, 0, 1, 1, 1) + + self.label_5 = QLabel(self.groupBox_2) + self.label_5.setObjectName(u"label_5") + + self.gridLayout_3.addWidget(self.label_5, 1, 0, 1, 1) + + self.readSize = QComboBox(self.groupBox_2) + self.readSize.addItem("") + self.readSize.addItem("") + self.readSize.addItem("") + self.readSize.addItem("") + self.readSize.addItem("") + self.readSize.addItem("") + self.readSize.addItem("") + self.readSize.addItem("") + self.readSize.addItem("") + self.readSize.addItem("") + self.readSize.setObjectName(u"readSize") + + self.gridLayout_3.addWidget(self.readSize, 1, 1, 1, 1) + + self.label_9 = QLabel(self.groupBox_2) + self.label_9.setObjectName(u"label_9") + + self.gridLayout_3.addWidget(self.label_9, 2, 0, 1, 1) + + self.readValue = QListWidget(self.groupBox_2) + self.readValue.setObjectName(u"readValue") + self.readValue.setMinimumSize(QSize(0, 0)) + + self.gridLayout_3.addWidget(self.readValue, 3, 0, 1, 2) + + + self.horizontalLayout_2.addWidget(self.groupBox_2) + + self.writeGroupBox = QGroupBox(self.centralWidget) + self.writeGroupBox.setObjectName(u"writeGroupBox") + self.writeGroupBox.setMinimumSize(QSize(225, 0)) + self.gridLayout_2 = QGridLayout(self.writeGroupBox) + self.gridLayout_2.setSpacing(6) + self.gridLayout_2.setContentsMargins(11, 11, 11, 11) + self.gridLayout_2.setObjectName(u"gridLayout_2") + self.label_7 = QLabel(self.writeGroupBox) + self.label_7.setObjectName(u"label_7") + + self.gridLayout_2.addWidget(self.label_7, 0, 0, 1, 1) + + self.writeValueTable = QTreeView(self.writeGroupBox) + self.writeValueTable.setObjectName(u"writeValueTable") + self.writeValueTable.setProperty("showDropIndicator", True) + self.writeValueTable.setAlternatingRowColors(True) + self.writeValueTable.setRootIsDecorated(False) + self.writeValueTable.setUniformRowHeights(True) + self.writeValueTable.setItemsExpandable(False) + self.writeValueTable.setExpandsOnDoubleClick(False) + self.writeValueTable.header().setVisible(True) + + self.gridLayout_2.addWidget(self.writeValueTable, 3, 0, 1, 2) + + self.writeAddress = QSpinBox(self.writeGroupBox) + self.writeAddress.setObjectName(u"writeAddress") + self.writeAddress.setMaximum(9) + + self.gridLayout_2.addWidget(self.writeAddress, 0, 1, 1, 1) + + self.label_8 = QLabel(self.writeGroupBox) + self.label_8.setObjectName(u"label_8") + + self.gridLayout_2.addWidget(self.label_8, 1, 0, 1, 1) + + self.writeSize = QComboBox(self.writeGroupBox) + self.writeSize.addItem("") + self.writeSize.addItem("") + self.writeSize.addItem("") + self.writeSize.addItem("") + self.writeSize.addItem("") + self.writeSize.addItem("") + self.writeSize.addItem("") + self.writeSize.addItem("") + self.writeSize.addItem("") + self.writeSize.addItem("") + self.writeSize.setObjectName(u"writeSize") + + self.gridLayout_2.addWidget(self.writeSize, 1, 1, 1, 1) + + self.label_3 = QLabel(self.writeGroupBox) + self.label_3.setObjectName(u"label_3") + + self.gridLayout_2.addWidget(self.label_3, 2, 0, 1, 1) + + + self.horizontalLayout_2.addWidget(self.writeGroupBox) + + + self.verticalLayout.addLayout(self.horizontalLayout_2) + + self.horizontalLayout = QHBoxLayout() + self.horizontalLayout.setSpacing(6) + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.label_6 = QLabel(self.centralWidget) + self.label_6.setObjectName(u"label_6") + + self.horizontalLayout.addWidget(self.label_6) + + self.writeTable = QComboBox(self.centralWidget) + self.writeTable.setObjectName(u"writeTable") + + self.horizontalLayout.addWidget(self.writeTable) + + self.horizontalSpacer_2 = QSpacerItem(13, 17, QSizePolicy.Expanding, QSizePolicy.Minimum) + + self.horizontalLayout.addItem(self.horizontalSpacer_2) + + self.readButton = QPushButton(self.centralWidget) + self.readButton.setObjectName(u"readButton") + sizePolicy1.setHeightForWidth(self.readButton.sizePolicy().hasHeightForWidth()) + self.readButton.setSizePolicy(sizePolicy1) + + self.horizontalLayout.addWidget(self.readButton) + + self.writeButton = QPushButton(self.centralWidget) + self.writeButton.setObjectName(u"writeButton") + + self.horizontalLayout.addWidget(self.writeButton) + + self.readWriteButton = QPushButton(self.centralWidget) + self.readWriteButton.setObjectName(u"readWriteButton") + self.readWriteButton.setEnabled(False) + + self.horizontalLayout.addWidget(self.readWriteButton) + + + self.verticalLayout.addLayout(self.horizontalLayout) + + MainWindow.setCentralWidget(self.centralWidget) + self.statusBar = QStatusBar(MainWindow) + self.statusBar.setObjectName(u"statusBar") + MainWindow.setStatusBar(self.statusBar) + self.menuBar = QMenuBar(MainWindow) + self.menuBar.setObjectName(u"menuBar") + self.menuBar.setGeometry(QRect(0, 0, 516, 21)) + self.menuDevice = QMenu(self.menuBar) + self.menuDevice.setObjectName(u"menuDevice") + self.menuToo_ls = QMenu(self.menuBar) + self.menuToo_ls.setObjectName(u"menuToo_ls") + MainWindow.setMenuBar(self.menuBar) + QWidget.setTabOrder(self.connectType, self.portEdit) + QWidget.setTabOrder(self.portEdit, self.serverEdit) + QWidget.setTabOrder(self.serverEdit, self.connectButton) + QWidget.setTabOrder(self.connectButton, self.readAddress) + QWidget.setTabOrder(self.readAddress, self.readSize) + QWidget.setTabOrder(self.readSize, self.readValue) + QWidget.setTabOrder(self.readValue, self.writeAddress) + QWidget.setTabOrder(self.writeAddress, self.writeSize) + QWidget.setTabOrder(self.writeSize, self.writeValueTable) + QWidget.setTabOrder(self.writeValueTable, self.writeTable) + QWidget.setTabOrder(self.writeTable, self.readButton) + QWidget.setTabOrder(self.readButton, self.writeButton) + QWidget.setTabOrder(self.writeButton, self.readWriteButton) + + self.menuBar.addAction(self.menuDevice.menuAction()) + self.menuBar.addAction(self.menuToo_ls.menuAction()) + self.menuDevice.addAction(self.actionConnect) + self.menuDevice.addAction(self.actionDisconnect) + self.menuDevice.addSeparator() + self.menuDevice.addAction(self.actionExit) + self.menuToo_ls.addAction(self.actionOptions) + + self.retranslateUi(MainWindow) + + self.connectButton.setDefault(True) + self.readSize.setCurrentIndex(9) + self.writeSize.setCurrentIndex(9) + + + QMetaObject.connectSlotsByName(MainWindow) + # setupUi + + def retranslateUi(self, MainWindow): + MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"Modbus Client Example", None)) + self.actionConnect.setText(QCoreApplication.translate("MainWindow", u"&Connect", None)) + self.actionDisconnect.setText(QCoreApplication.translate("MainWindow", u"&Disconnect", None)) + self.actionExit.setText(QCoreApplication.translate("MainWindow", u"&Quit", None)) + self.actionOptions.setText(QCoreApplication.translate("MainWindow", u"&Options", None)) + self.label_27.setText(QCoreApplication.translate("MainWindow", u"Server Address:", None)) + self.connectButton.setText(QCoreApplication.translate("MainWindow", u"Connect", None)) + self.connectType.setItemText(0, QCoreApplication.translate("MainWindow", u"Serial", None)) + self.connectType.setItemText(1, QCoreApplication.translate("MainWindow", u"TCP", None)) + + self.label_2.setText(QCoreApplication.translate("MainWindow", u"Port:", None)) + self.label.setText(QCoreApplication.translate("MainWindow", u"Connection type:", None)) + self.groupBox_2.setTitle(QCoreApplication.translate("MainWindow", u"Read", None)) + self.label_4.setText(QCoreApplication.translate("MainWindow", u"Start address:", None)) + self.label_5.setText(QCoreApplication.translate("MainWindow", u"Number of values:", None)) + self.readSize.setItemText(0, QCoreApplication.translate("MainWindow", u"1", None)) + self.readSize.setItemText(1, QCoreApplication.translate("MainWindow", u"2", None)) + self.readSize.setItemText(2, QCoreApplication.translate("MainWindow", u"3", None)) + self.readSize.setItemText(3, QCoreApplication.translate("MainWindow", u"4", None)) + self.readSize.setItemText(4, QCoreApplication.translate("MainWindow", u"5", None)) + self.readSize.setItemText(5, QCoreApplication.translate("MainWindow", u"6", None)) + self.readSize.setItemText(6, QCoreApplication.translate("MainWindow", u"7", None)) + self.readSize.setItemText(7, QCoreApplication.translate("MainWindow", u"8", None)) + self.readSize.setItemText(8, QCoreApplication.translate("MainWindow", u"9", None)) + self.readSize.setItemText(9, QCoreApplication.translate("MainWindow", u"10", None)) + + self.label_9.setText(QCoreApplication.translate("MainWindow", u"Result:", None)) + self.writeGroupBox.setTitle(QCoreApplication.translate("MainWindow", u"Write", None)) + self.label_7.setText(QCoreApplication.translate("MainWindow", u"Start address:", None)) + self.label_8.setText(QCoreApplication.translate("MainWindow", u"Number of values:", None)) + self.writeSize.setItemText(0, QCoreApplication.translate("MainWindow", u"1", None)) + self.writeSize.setItemText(1, QCoreApplication.translate("MainWindow", u"2", None)) + self.writeSize.setItemText(2, QCoreApplication.translate("MainWindow", u"3", None)) + self.writeSize.setItemText(3, QCoreApplication.translate("MainWindow", u"4", None)) + self.writeSize.setItemText(4, QCoreApplication.translate("MainWindow", u"5", None)) + self.writeSize.setItemText(5, QCoreApplication.translate("MainWindow", u"6", None)) + self.writeSize.setItemText(6, QCoreApplication.translate("MainWindow", u"7", None)) + self.writeSize.setItemText(7, QCoreApplication.translate("MainWindow", u"8", None)) + self.writeSize.setItemText(8, QCoreApplication.translate("MainWindow", u"9", None)) + self.writeSize.setItemText(9, QCoreApplication.translate("MainWindow", u"10", None)) + + self.label_3.setText("") + self.label_6.setText(QCoreApplication.translate("MainWindow", u"Table:", None)) + self.readButton.setText(QCoreApplication.translate("MainWindow", u"Read", None)) + self.writeButton.setText(QCoreApplication.translate("MainWindow", u"Write", None)) + self.readWriteButton.setText(QCoreApplication.translate("MainWindow", u"Read-Write", None)) + self.menuDevice.setTitle(QCoreApplication.translate("MainWindow", u"&Device", None)) + self.menuToo_ls.setTitle(QCoreApplication.translate("MainWindow", u"Too&ls", None)) + # retranslateUi + diff --git a/examples/serialbus/modbus/modbusclient/ui_settingsdialog.py b/examples/serialbus/modbus/modbusclient/ui_settingsdialog.py new file mode 100644 index 0000000..f1c2995 --- /dev/null +++ b/examples/serialbus/modbus/modbusclient/ui_settingsdialog.py @@ -0,0 +1,173 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'settingsdialog.ui' +## +## Created by: Qt User Interface Compiler version 6.4.1 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QApplication, QComboBox, QDialog, QGridLayout, + QGroupBox, QLabel, QPushButton, QSizePolicy, + QSpacerItem, QSpinBox, QWidget) + +class Ui_SettingsDialog(object): + def setupUi(self, SettingsDialog): + if not SettingsDialog.objectName(): + SettingsDialog.setObjectName(u"SettingsDialog") + SettingsDialog.resize(239, 256) + self.gridLayout = QGridLayout(SettingsDialog) + self.gridLayout.setObjectName(u"gridLayout") + self.verticalSpacer = QSpacerItem(20, 43, QSizePolicy.Minimum, QSizePolicy.Expanding) + + self.gridLayout.addItem(self.verticalSpacer, 3, 1, 1, 1) + + self.timeoutSpinner = QSpinBox(SettingsDialog) + self.timeoutSpinner.setObjectName(u"timeoutSpinner") + self.timeoutSpinner.setAccelerated(True) + self.timeoutSpinner.setMinimum(-1) + self.timeoutSpinner.setMaximum(5000) + self.timeoutSpinner.setSingleStep(20) + self.timeoutSpinner.setValue(200) + + self.gridLayout.addWidget(self.timeoutSpinner, 1, 1, 1, 1) + + self.label = QLabel(SettingsDialog) + self.label.setObjectName(u"label") + + self.gridLayout.addWidget(self.label, 1, 0, 1, 1) + + self.applyButton = QPushButton(SettingsDialog) + self.applyButton.setObjectName(u"applyButton") + + self.gridLayout.addWidget(self.applyButton, 4, 1, 1, 1) + + self.groupBox = QGroupBox(SettingsDialog) + self.groupBox.setObjectName(u"groupBox") + self.gridLayout_2 = QGridLayout(self.groupBox) + self.gridLayout_2.setObjectName(u"gridLayout_2") + self.label_2 = QLabel(self.groupBox) + self.label_2.setObjectName(u"label_2") + + self.gridLayout_2.addWidget(self.label_2, 0, 0, 1, 1) + + self.parityCombo = QComboBox(self.groupBox) + self.parityCombo.addItem("") + self.parityCombo.addItem("") + self.parityCombo.addItem("") + self.parityCombo.addItem("") + self.parityCombo.addItem("") + self.parityCombo.setObjectName(u"parityCombo") + + self.gridLayout_2.addWidget(self.parityCombo, 0, 1, 1, 1) + + self.label_3 = QLabel(self.groupBox) + self.label_3.setObjectName(u"label_3") + + self.gridLayout_2.addWidget(self.label_3, 1, 0, 1, 1) + + self.baudCombo = QComboBox(self.groupBox) + self.baudCombo.addItem("") + self.baudCombo.addItem("") + self.baudCombo.addItem("") + self.baudCombo.addItem("") + self.baudCombo.addItem("") + self.baudCombo.addItem("") + self.baudCombo.addItem("") + self.baudCombo.addItem("") + self.baudCombo.setObjectName(u"baudCombo") + + self.gridLayout_2.addWidget(self.baudCombo, 1, 1, 1, 1) + + self.label_4 = QLabel(self.groupBox) + self.label_4.setObjectName(u"label_4") + + self.gridLayout_2.addWidget(self.label_4, 2, 0, 1, 1) + + self.dataBitsCombo = QComboBox(self.groupBox) + self.dataBitsCombo.addItem("") + self.dataBitsCombo.addItem("") + self.dataBitsCombo.addItem("") + self.dataBitsCombo.addItem("") + self.dataBitsCombo.setObjectName(u"dataBitsCombo") + + self.gridLayout_2.addWidget(self.dataBitsCombo, 2, 1, 1, 1) + + self.label_5 = QLabel(self.groupBox) + self.label_5.setObjectName(u"label_5") + + self.gridLayout_2.addWidget(self.label_5, 3, 0, 1, 1) + + self.stopBitsCombo = QComboBox(self.groupBox) + self.stopBitsCombo.addItem("") + self.stopBitsCombo.addItem("") + self.stopBitsCombo.addItem("") + self.stopBitsCombo.setObjectName(u"stopBitsCombo") + + self.gridLayout_2.addWidget(self.stopBitsCombo, 3, 1, 1, 1) + + + self.gridLayout.addWidget(self.groupBox, 0, 0, 1, 2) + + self.label_6 = QLabel(SettingsDialog) + self.label_6.setObjectName(u"label_6") + + self.gridLayout.addWidget(self.label_6, 2, 0, 1, 1) + + self.retriesSpinner = QSpinBox(SettingsDialog) + self.retriesSpinner.setObjectName(u"retriesSpinner") + self.retriesSpinner.setValue(3) + + self.gridLayout.addWidget(self.retriesSpinner, 2, 1, 1, 1) + + + self.retranslateUi(SettingsDialog) + + QMetaObject.connectSlotsByName(SettingsDialog) + # setupUi + + def retranslateUi(self, SettingsDialog): + SettingsDialog.setWindowTitle(QCoreApplication.translate("SettingsDialog", u"Modbus Settings", None)) + self.timeoutSpinner.setSuffix(QCoreApplication.translate("SettingsDialog", u" ms", None)) + self.label.setText(QCoreApplication.translate("SettingsDialog", u"Response Timeout:", None)) + self.applyButton.setText(QCoreApplication.translate("SettingsDialog", u"Apply", None)) + self.groupBox.setTitle(QCoreApplication.translate("SettingsDialog", u"Serial Parameters", None)) + self.label_2.setText(QCoreApplication.translate("SettingsDialog", u"Parity:", None)) + self.parityCombo.setItemText(0, QCoreApplication.translate("SettingsDialog", u"No", None)) + self.parityCombo.setItemText(1, QCoreApplication.translate("SettingsDialog", u"Even", None)) + self.parityCombo.setItemText(2, QCoreApplication.translate("SettingsDialog", u"Odd", None)) + self.parityCombo.setItemText(3, QCoreApplication.translate("SettingsDialog", u"Space", None)) + self.parityCombo.setItemText(4, QCoreApplication.translate("SettingsDialog", u"Mark", None)) + + self.label_3.setText(QCoreApplication.translate("SettingsDialog", u"Baud Rate:", None)) + self.baudCombo.setItemText(0, QCoreApplication.translate("SettingsDialog", u"1200", None)) + self.baudCombo.setItemText(1, QCoreApplication.translate("SettingsDialog", u"2400", None)) + self.baudCombo.setItemText(2, QCoreApplication.translate("SettingsDialog", u"4800", None)) + self.baudCombo.setItemText(3, QCoreApplication.translate("SettingsDialog", u"9600", None)) + self.baudCombo.setItemText(4, QCoreApplication.translate("SettingsDialog", u"19200", None)) + self.baudCombo.setItemText(5, QCoreApplication.translate("SettingsDialog", u"38400", None)) + self.baudCombo.setItemText(6, QCoreApplication.translate("SettingsDialog", u"57600", None)) + self.baudCombo.setItemText(7, QCoreApplication.translate("SettingsDialog", u"115200", None)) + + self.label_4.setText(QCoreApplication.translate("SettingsDialog", u"Data Bits:", None)) + self.dataBitsCombo.setItemText(0, QCoreApplication.translate("SettingsDialog", u"5", None)) + self.dataBitsCombo.setItemText(1, QCoreApplication.translate("SettingsDialog", u"6", None)) + self.dataBitsCombo.setItemText(2, QCoreApplication.translate("SettingsDialog", u"7", None)) + self.dataBitsCombo.setItemText(3, QCoreApplication.translate("SettingsDialog", u"8", None)) + + self.label_5.setText(QCoreApplication.translate("SettingsDialog", u"Stop Bits:", None)) + self.stopBitsCombo.setItemText(0, QCoreApplication.translate("SettingsDialog", u"1", None)) + self.stopBitsCombo.setItemText(1, QCoreApplication.translate("SettingsDialog", u"3", None)) + self.stopBitsCombo.setItemText(2, QCoreApplication.translate("SettingsDialog", u"2", None)) + + self.label_6.setText(QCoreApplication.translate("SettingsDialog", u"Number of retries:", None)) + # retranslateUi + diff --git a/examples/serialbus/modbus/modbusclient/writeregistermodel.py b/examples/serialbus/modbus/modbusclient/writeregistermodel.py new file mode 100644 index 0000000..07b1226 --- /dev/null +++ b/examples/serialbus/modbus/modbusclient/writeregistermodel.py @@ -0,0 +1,118 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from enum import IntEnum + +from PySide6.QtCore import QAbstractTableModel, QBitArray, Qt, Signal, Slot + + +class Column(IntEnum): + NUM_COLUMN = 0 + COILS_COLUMN = 1 + HOLDING_COLUMN = 2 + COLUMN_COUNT = 3 + ROW_COUNT = 10 + + +class WriteRegisterModel(QAbstractTableModel): + + update_viewport = Signal() + + def __init__(self, parent=None): + super().__init__(parent) + self.m_coils = QBitArray(Column.ROW_COUNT, False) + self.m_number = 0 + self.m_address = 0 + self.m_holdingRegisters = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + + def rowCount(self, parent): + return Column.ROW_COUNT + + def columnCount(self, parent): + return Column.COLUMN_COUNT + + def data(self, index, role): + row = index.row() + column = index.column() + if not index.isValid() or row >= Column.ROW_COUNT or column >= Column.COLUMN_COUNT: + return None + + assert self.m_coils.size() == Column.ROW_COUNT + assert len(self.m_holdingRegisters) == Column.ROW_COUNT + + if column == Column.NUM_COLUMN and role == Qt.DisplayRole: + return f"{row}" + + if column == Column.COILS_COLUMN and role == Qt.CheckStateRole: # coils + return Qt.Checked if self.m_coils[row] else Qt.Unchecked + + # holding registers + if column == Column.HOLDING_COLUMN and role == Qt.DisplayRole: + reg = self.m_holdingRegisters[row] + return f"0x{reg:x}" + return None + + def headerData(self, section, orientation, role): + if role != Qt.DisplayRole: + return None + + if orientation == Qt.Horizontal: + if section == Column.NUM_COLUMN: + return "#" + if section == Column.COILS_COLUMN: + return "Coils " + if section == Column.HOLDING_COLUMN: + return "Holding Registers" + return None + + def setData(self, index, value, role): + row = index.row() + column = index.column() + if not index.isValid() or row >= Column.ROW_COUNT or column >= Column.COLUMN_COUNT: + return False + + assert self.m_coils.size() == Column.ROW_COUNT + assert len(self.m_holdingRegisters) == Column.ROW_COUNT + + if column == Column.COILS_COLUMN and role == Qt.CheckStateRole: # coils + s = Qt.CheckState(int(value)) + if s == Qt.Checked: + self.m_coils.setBit(row) + else: + self.m_coils.clearBit(row) + self.dataChanged.emit(index, index) + return True + + if column == Column.HOLDING_COLUMN and role == Qt.EditRole: # holding registers + base = 16 if value.startswith("0x") else 10 + self.m_holdingRegisters[row] = int(value, base=base) + self.dataChanged.emit(index, index) + return True + + return False + + def flags(self, index): + row = index.row() + column = index.column() + flags = super().flags(index) + if not index.isValid() or row >= Column.ROW_COUNT or column >= Column.COLUMN_COUNT: + return flags + + if row < self.m_address or row >= (self.m_address + self.m_number): + flags &= ~Qt.ItemIsEnabled + + if column == Column.COILS_COLUMN: # coils + return flags | Qt.ItemIsUserCheckable + if column == Column.HOLDING_COLUMN: # holding registers + return flags | Qt.ItemIsEditable + return flags + + @Slot(int) + def set_start_address(self, address): + self.m_address = address + self.update_viewport.emit() + + @Slot(str) + def set_number_of_values(self, number): + self.m_number = int(number) + self.update_viewport.emit() diff --git a/examples/serialport/terminal/console.py b/examples/serialport/terminal/console.py new file mode 100644 index 0000000..1259513 --- /dev/null +++ b/examples/serialport/terminal/console.py @@ -0,0 +1,49 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Qt, Signal, Slot +from PySide6.QtGui import QPalette +from PySide6.QtWidgets import QPlainTextEdit + + +UNHANDLED_KEYS = [Qt.Key_Backspace, Qt.Key_Left, Qt.Key_Right, Qt.Key_Up, + Qt.Key_Down] + + +class Console(QPlainTextEdit): + + get_data = Signal(bytearray) + + def __init__(self, parent=None): + super().__init__(parent) + self.m_localEchoEnabled = False + self.document().setMaximumBlockCount(100) + p = self.palette() + p.setColor(QPalette.Base, Qt.black) + p.setColor(QPalette.Text, Qt.green) + self.setPalette(p) + + @Slot(bytearray) + def put_data(self, data): + self.insertPlainText(data.decode("utf8")) + bar = self.verticalScrollBar() + bar.setValue(bar.maximum()) + + def set_local_echo_enabled(self, e): + self.m_localEchoEnabled = e + + def keyPressEvent(self, e): + key = e.key() + if key not in UNHANDLED_KEYS: + if self.m_localEchoEnabled: + super().keyPressEvent(e) + self.get_data.emit(e.text().encode()) + + def mousePressEvent(self, e): + self.setFocus() + + def mouseDoubleClickEvent(self, e): + pass + + def contextMenuEvent(self, e): + pass diff --git a/examples/serialport/terminal/doc/terminal.rst b/examples/serialport/terminal/doc/terminal.rst new file mode 100644 index 0000000..6157912 --- /dev/null +++ b/examples/serialport/terminal/doc/terminal.rst @@ -0,0 +1,9 @@ +Terminal Example +================ + +The Terminal Example shows how to create a terminal for a simple serial +interface by using Qt Serial Port. + +It demonstrates the main features of the QSerialPort class, like configuration, +I/O implementation and so forth. Also, the class QSerialPortInfo is invoked to +display information about the serial ports available in the system. diff --git a/examples/serialport/terminal/images/application-exit.png b/examples/serialport/terminal/images/application-exit.png new file mode 100644 index 0000000000000000000000000000000000000000..32be6b3f1606ed0ed83fab77687d23b34643b380 GIT binary patch literal 11200 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 literal 0 HcmV?d00001 diff --git a/examples/serialport/terminal/images/disconnect.png b/examples/serialport/terminal/images/disconnect.png new file mode 100644 index 0000000000000000000000000000000000000000..fd58f7a480228b072708e3ea3626f27b38fb9294 GIT binary patch literal 15092 zcmX9_1z3~c+kQ6&3>YvF=@=m(T>>KA9ZD)GEsb=J?hvFzNdW=rk_JJ#yF(hJyTASZ z-*#>9^)604=YHaTo^vA9RpoH8$*}pOGaTW&d*7q7;|gjBFp(O91#yay%Pl5INhwTN z`@NG{e0#OriUyP?21;3gAtcE6p9S49vq(9H&_K-j*yxhTaEz>;D7+{jJP-J#5CAd+ zoG5`;ieHT|+VDuWHh>u%PYp?=6~KIgMZk>()SzWG${r5j0dB`%SgeH>(G>(-s0nVXGsb#Zoca{YLD zbVe?)gIk^>;=N{COT^+KCNnV;2Q}!@laHFbYyJAHyV;mgl_z2Hf6ok z24=h7G4p<%pZZA|6^y(#`wiz5{1y&4> z6H}9uV%An3b2C>z3wN%gNCr8LTD21-PIh7j2_$C zy45np{K+Wqg!uUG_S2yZNgTAjpA(WlCF!VZYHPfio*3KQ-rb=fB~MRv9von2EBR?> zyWb^rN6}VIfSjcV?hb(nF@X3H&~5&2VmG)HRRVSoG6?^}7JoP?2#ymDI=I7K8C~n1 zd{I;5dj1F&rFHHn4DTFUe2joFgvd7{fad#d%q6<5WM zDz_13KS$<6VUiuI*vvwV|nNnuhYHjU1KlN}>c1cAe z)Y#zdb$f#;>i58N57=wVDe3$4e@CjQeW zgjQ-69Kb>X=q~b-7=0rF&;N1Z1+36N-K)SS(TE`Sp`XC=elPS%+4fmvL_w#(81n2H zNy2Tf;t9^5U_!}R@p^@w0_Q@4iROs{KCQQKJAsmjQn|Q%qpTq4uiHn%qJyX%g&f-wzbUb*K*a_p0JBMv+> zR@?7qtX)O~dxGs=fA}IgXLH7N*)WU!5g+G^Ox{K<_s5^nKfOvE=GJFI=V#}t{u#wJ z|1F>Wbh!Ta=f>S&-t2kkJm?Y@CqMk$aB59(&Ac1m(_QUHria7We($q4_P3v}wQodj zN`_jkcN>vq0nXzw7J``Q7&wxZmKkYUyzls?-!Ca3g(cRDe zZar8SM0}Lc7o7b3_RR)yiHa$kUW<$4bzjne);nGoZKJ-k-VcU#WI^y^WUsf?ni%kcn!VkugQL-ksU7z%pA^`%ZXMvxgio*L$?0((yGQoe*J%AaD8ij7Ntq+<_1}-( zbqi%Dbu5o_g@d4P0i7-(WEc_`?GLo0yyKQssRlv?HW{)%ymei!I1EKHpY9MQ5&Mb| zpLTa|bhgU#k$mU0lCLG)%s(p#Wot;XXfS)^3E7xsO)IYCVJ_A&udFYF(TddOasqo&OL>L~owfAg%q_H-fYc`J$0gY)F|&2D;} zz0D#nD=Q04(V2I=(Rub@CtNn>5LGC}h7SLWxR z=@bPfBU!#bNaT*(S$S4py6D{SdxdpEB649u^vN3RJ1m}|g&hm+3FhWX3QBg#+6kha zwH7J81D~$h8V!b2OBF zcQKPc|7U)f`qgavlE$z?SK43U?Xms2zf&uQYZ?c7e_d_#cdlL^R${p`E`8H{S#P13 zsMhGvn%R^2QtMfp*_U_5BWJ;6Hh~uyMp)KgUkbmojGbR7_teV{F;Nkg4Q9`zsb?)> z2_<;t=O?SL(8N5d72mSrR~g8~m&cr>PxR|*ozU63r!tClLOZ|YL(h@EFUK2toAbGY z^CsNM*`;**O~FmW+1>K}UA*aUd5xC;c6yf^hFu61pWZaeirp796grq})^c}scb(?YQtcnihYnC?M=1N$V?TD(Y zo0||JR+o8I`!j`?!)-^YYAfiO488R(O@~S6d(${uxhE-Bo0{YR@+nkaO)U-$$(sJm zUSq)1*tEGvq2*J>FR={8TQahj8ODeE0tT-Nhrw5AXad-Lhosbt<3%{;Jb_XZ~K0{2PY?GA~~eLacHwV z17SD&4`+zjYH3CBQo1$T*fiS%hOVbur=E{1N571c3E&>0sr?&4JnFR2>k&s6J_boV zspQP7es{zBNxibGbuvAVl-^|aN3xAxz50NVF5itL9l^Nnwd#4+1xn1g;jLp$O%Gqd z2LJ^JMs2&R%*LqUkZGlUgBn>Hr*oL(~Z< zlr)cgI685z)fv-q`xA(g8D<6eGw7Pyq>?vGv0h#e^#*1^I;^|C3?~v!k7{BA+TEMY zCu{5&7)k)pcCkNC1>VAM-2YjS-7?i*5k1{LcOM;dKEH2^Ac8_{`T3z)l8chZ(n6ny z%sLX7L)Icb%V9vxjBSM@l=*RbPIL{Empo5nbZA)hXzABVNbMiuY-h@8%k39&b*_9$ zuldt`MS*fQfjGE@D8Lo%9K{^Dn3Kxc$&%1}W|Naj@yf;Ou_Dg@Zf#9HwZx8Vf9G+T zN1Pc80A^Zz8#8BuqNv=4bab9xRJo-ucR7L@$EgvJ_CCj~-(60$0P2YawH)_hP8<4V zt|u#;At{;}216un5~$@P`cG0}KCAh4WxnO=5hu#ie!O$XL*KkfN)4M&_`^D``D3d} z-s`z7RU2k_{bY{ZVtDQ^oIZGPct|r-=jGbZO-kml1TxXXMpeb? z%@@Zui#0H1H@X3bH#)6t&!KDBg1wwP_;);<5rSvfL!YKBkzme1`25HRj|ZSl>A3PB zj5n9haT!)Q)W75{p`K_7-^qM9OCeeE+Vfs&dH*NjosCVgb_JVd@6jyZk&K3L_vx%% zb8~Z?x^eswG1~876q%)Zg%@fTt2bQnU5FA-`vGYQ;7!ce96f8gwWkg4j=A-uJp*hde z;i}-DP#uUAbsTSJxpL2zQy7*Mi@qx6)_FrszWQ64gip%P5%QKE(cOuCFBQ5xgmE5ms{Z!p5V-rHXz=E6)&?>!&|byY}vl(b$@On+F~rR*7-D3 zHZB9#aozcMg#T?FP3t4Y@>LhJ3!GH5BOMF!28@(#%=Ev;MEsiHcf0PO6+@GRA9=S` zu<0g;3~yn8G}e(nt5sFuZ8$I2Khnu||LwtwG>BI=;}R4MZ1}?RQ`gDU34J*6S7sl3 zU|Xx-vhSnUJigyi5CP!HTxO+?<3J2o#zBG1X1IU(J=x|we>(1JISq{V$V=F<;opib z21mgYw(cK*x_W&7)~EgrS_Q%!dQ(y|>TY?yP}e=}-+Qhpo?l!$Z+wus6C0>59=;v= zoL<}>wi=;HeB$%qMHvU2^e7Y*~_tbX3!`%q&Wk!2SYMGfHv1Hiwf+rAiB zJ8`Ia;A$kG8yhmdD$TV5qJ`jv;ZpXGJ`fsu?Yx+noXpN=wEa0yovMBCZy`vE==7Mx zaOPvTU0w4fDUx!@43WwW0LEKO9XgJ%#xRrAtmVUy4*Q^S6Dh83G%3=VeSSwu%pM** z8qt9KeA!^hhu2z_5ANFS8bUEnLZLa#n`@13`@c@5Xd2eEm=loNSR^l?7AUNiyB;nX zBaioKgY{QWy;rK|+h=t(Ls;9mAZ-1AuPOvaCMJ-^BRVawpQSk-2mUv%#YXqH0Z2TA zflEc89vVO!EPQh|-u~8TpE%iMY1Kt&FFJNP&PMV^6itnjqf!`FZ)go#r>CX$ksd^ZP@;OZIdDySYjXq>9~> z5?^eoc@iNxr#Zqlh8r^1wTVF#g70prY^FrHBy)CgVQg#+ z2*qNN$~x`qCQGTPuz&dQf$h(u*&b`;d!MZ#OR=+xINvK~0Oa*`B_|#-4o0G%Vli(T zxi7vd61|<}+;6y;dl8eZ-sW>il&N*`@ADyn3;`P2eYiA6{IC*2x-c>Mg)~%MPcP)= z219Fo*hgQ2=+9Mq5a;6g!)2=tXLRT)I%c~vAWq?nUV-0seVQqDmh>lz^HEI4pvJjq zL-qKk(lY8HLN?6tK%eBqvtncqYxGT*PYbX)XcO3PPMMOG`6LF9mM~(avY)tP|3bO2 z#m>&M)p1gbl_rz`vN_s$iVd+Z643qbKn9e%?a#BavKAkHu=?@5uv>|{biw;wK(0P7 zK~840Y}m;BJWd7)wuoUjr*Yk@a^rTotNSSsi=K809uvL8V%<#fPx%u?@_06q zy|zAQqcfhc5{NVwB5Z>nf&Sdx9^77cQ{q|rBGf-*$raQCawtfam642Y#|NyQIhmV3 z`|@S;dC(i;&x0r1`}=>6949nMWIi}j+MM8-^*CFbc9K`Ojpe00uA`d&bul*?r(Phv zPx!;FT|dY;p9Sf5Z+m`@d&n4!fFDti3Tv&|7p=f$2t-6gPymYTY;yZ|d0Xzdnj^{8 zeFxJZB8Y(f2iP2DVo(@7(D4`H>Eak4rbe^K=uXy(vEruYSE}4bKS=!6E5b8x@W?S^0H$0)|q*_?G@S?rtDML>8GUg~$1MLx81>l$6x=-gql)KO&35#c<-}zq`pXizHZKgRM@psR@1{$*v zB2)Q;uzwU4=}AE)c+#ZlJ|TyN##NQZ3Y+3wBNXXJ} zvyrhH&iYfWg_@(IuF0429p>w?w+tF@$YhTI)Dp(ToUXbxDke)z4@YjhVPORA&ClJG zdpLD$8JoGazd{5LDE4?TIsrjU;!tP@Tt4B1XMcau%H9x?(vPe08CzhlA6Jh^nfu`C zn0|!pk2>!6?d=938M$}EOB$Wk7PIMOYS4h;E#82FU+kt88ZPec#nIExVi{k2RmI#K zHnQR(R7%QgU0a_pM!@y`FKlU&*{rX=x?!DN0qtysfjjbmox>5tOpmUQtLTI$0a9J# znww{iMH(t4S{8&f`MLKqpkviBtKReFP=*MO!WdbP6D7(jsT&wbExu7y-qK)uL6rZ3 zpP!cWXI4gG3z50Q+4*@ZXSqR+<3rdWk*c zM@|qMAu-?PI0C`)l;brLv3j;srCV!@C8&xSz>v*gy>fJWuiJcsU0s(c!;>a%@a?z9 zv-(bbxwp!vEFCy6Nr2DC_cu3QnmW^;&EBF6Pi}5Wn@3eiHd(}5C|PPFX_)K|Un`*a zT`SOO-BJ5{n@fy1@=G5sa+G2~FpI9AM>W%4N~xa^74{r8y`M<_KtWCk>v-RrU;zyT z8W-_GK?7Mj`VDSSNp0VjJ2aWBR_4C@4}3MKY#9DiZQ#HeVJX?6@aM@xB@ z5oP!|lVo^WkYKjqMPV_eqCe+K6hziC0Z>{>B6{^kX-qIX79}2@aAxLb_N-5vO5-c? z3`E@Dd7{jXMl=yiFEdsHH;5UBH6sUw$}9e zYKPdGW(=fQy5RilXi0DC1R|GxjL<$&A6l{?YOAkWZgh!MuX16@60Kip*pAS1lF)(+b*@wd_4N zDq*(%?1qMX;}wO3pL3Mj=U=|=jvZF`k)_A{VJ-XGmap=PTSzEBIeVRH7Xja~eJ>?@ zY&)X-3|Y#JOPD1Lm)2lGw(Ysnr46WR`UL1E{|Q7-X+OlzD%hedDvpVuvgkFbei})J z&rG}C&~TIUZ+UE~Z=kK+36?WTfSMajHNzGS__fF(p8yT(2rwSOk%YdlfP{wK<}e>z zZ!Kal%YE6&Qv^alPe2k03@CyS`jj=9j?~4}md$kZjUs+tsASTIIDy4%Vp^#1-28mJ zau<89doa*$3`ZFn<3hT&f5Q;V) z3G)$+J3eOc5XB6oC8dhVZEhx6bp*2Bv!|lL2QUCLAO!0vp9%(4czEq>=K_q9#e4W? zi&(#(F=OYKm#L|xDcNKm8w_ESdnzQ9Fe&4@s_^b7SA!0Qho0 zHCk#l$poUwtimxX7b1QN-mT2lwC6yzMIxE(X?9eQ1WKTA50pRy%=?M6E60L#+03C- zYO-}FKE(9&qdD7DK>1JH7cXA?D47iPRC4kzD%H1koY|)&#h7Wl4=*06=L!Hk++r~*&p83C6`YKUtQ(q^Bl^_W(ja=#Vw2BlZdAp>0+x^iTN@_ zb{a7I2IR~~zW<}N)KCJySM@10ur0Ty22Cl2Ly~!&8=2)JF7vXt5|+$i*VQI2=KPYn zrUv&JZd31%r^S|^1#v=Y9UJ$1EO@UL4{J@9TXX;*0Ew@Z!cvc2p-UMQL=O+9{IXZ& z_zMe64=ydW?>?SE(SLh1V1i63k5r7+IF${s!W+wd9rEjJW@bD7y;(2DW(pcug&Yo{ z)d3^~|H%kv$O^Ilm{u+&+08NZ&Yu){!+W5J7Sy(18(@xwM=2P%{P++jpEtH5h|=$r z?8-`TAR?>L8z|JofJq@DU(V=~;fbN8M+La3wiQM4S2JyyD#HTcf5cJ)o^Qk!FNt1# z>|frfY~QHNuByUsyf-M!sW5&iiOvH?Xv^p?~+iy?{l>bvFdHM_#{;H)9m<*?J0R zGbjo|BoX#;?cbq1tMTfwAOZ@e_B5loIPfJ4jF%Fmlve7egMcH~cel4CI8reCcc*+g zQqcOHizpcY5G4oRMF?9$GkCLq|7hdM_Fv8pSc*d`kqQ*hORmwNu7a{~(d;r$w)lEy z)UUUEP%Ycf?6bYEQ0{FQdLbwn8!%l=YQx#=LP;TDFUQ7@ zmmbs6mz1(r*-zen3Z9$u;^xnXX^#%1n3JL6YHfsu4FCs+!Ux_FbQ*0Y%<*}0q zq<2*IiS((!q*l&_Pe*0~9RUNxY(KhpCsR7?>$1xnpj$&S2n9mjY z!Em#xSulbxe=k52oCY7T!2|Ok@S|7g_kP7yXSg*JkqufYrRbuEK)LQa;}uHq)k(Kr zFa`=``N*l?CZyu`$$h_z6RExa$j)9|ig|`Hl^h5%lTWy4tzA$&ezEzuXfHs_{vmL% zi}u?lK~$d7q-&9#Iw55++(X#ymp(r#$u(cQ-+r-wOACGJA#AVzaS&TmM+cGAms3+i zQK;DvzT+ZHm!>Ro+kS4la0R=$%`Kl5`PKYMAD(W z(dhguEAn<;2N;C*U1~sQ1)+UQ(Gyk7Vx$^+bjJ`ak&9#^Ha*&NmrOEQ{z0Zp(W|b- zcbAzWU@8C{9i^s%19<}ive3l)Uvn#gR0yvC4*`3hzlYkTO@BYsyyiMAK!aosM}^>| zw{d+3zzQsWVTIV>{ipkG#D-;0Q0@U`meqtSp4?uxVgptmirVLD`d3fuQQkH-k!hYb z^0fv;Ed_v0-kulkit1nsltv&&ze7^N(A}cN5kMR&!NRdJu_}7BV_R9`uztI|d^IKu zkO9JqWqdr=aAmKERKgE!c<6uy+)DfiC4n%tvbQxB-<|^1_nHAKr=Hjdc(8EJXfQgo zFD!Pjvl0ddF`;spkbv$Ck+2HaJ!%F*h5y#m_uQH9#bhDtH+KYa6h&tf9?%6qLTOh# zsfEkdMc|Sv?s-SGtQc)@S#~tUZhc=l4u5QR_bl!AQ^Akl@gt7;-VV#OUIfL2(S(2j z>OVG5)UY7qAOIKq$^~wfnS9;`gfiv0*ezp$7+kK-=!5(&(5o*;mz9|E=ce=o^N=NltKs!}L4} zVQL*Y%A{pcOKgXClbDj#8D&d2h?S3RYZZkx3?aLbo>)wV!eO1d*cE0L{bKjd!z9KK zQ1eZy#dkGmU?EuCM#ReyfeRLJNf%FqQUe(%)cJon-({WFh9%19d6W!= z+|1juv9K&S3K9{_&%Z)0Ke(|Decb^7l#c#R(%}dh-)U^5;Jq@%3JiT)7O=WIxa;uj2alsYgvsb27yS>cz!{Pu7SZDqovDC za`@c?VsmhO3%BdN0v9Y`xPa?T0t2O(9|pe284(7i+ywl9u)3NJEFMoOiha3V91p=- ztp7urVxy#c^F#^IAmSFy0Qz?aHm(H|dL_bhcp9uNdG2Ct6gVhdyd#M50f{z;u;o2A zi-r(Q`L5Rg@vV= zf>1tBL~w`6#MIbxqrMn4G!5IiYBWrIYD|ESPt$bpi#ZhHBhT=98|BM`9$~}+`2==K zXr5T~uSG(8HW&eA2GHkIuS2Hz@05fQAhW85#<|JK>yr$T;Y0izy8+I_`=jm;Mc@~2 z>zrTN{eacuDD(3gT&rM<@jj=PdvGB)rN=tMi&^$Q45e=k)F31ZFqQ>I_9U&Ii(^Lo zgh`P^K9ksZq9$BY6x1t?#)KK{D5wd5hED}uwgstu99b*%^0rFe)lo(fzX*h96&KSS zdtmpPVNY`&O1Yxr>m_iHCCZ9^>Ja?E{riO!W37TBfKkcz6eEZ*LgM@Dju7-8?<+=2 zNsNTceT}mm#BI8f@A1UE003V5-(G;>&6|g5F=xyEzmB|6<2BNW$*Vpd1Ci`w(6v4_ zraP6KEknSuw8g28zxOsxwmg`1O+6GlaQ4m+up?E~CiM7VW7Cl?Am*#4m6VTXfeEFw z>~8TbTj}|fNJ{Z$6W^IKthn?;`^iQWL4@?^WS(++-Zg*D|1!@_>PGDJ_<`GZ7tHD=? zO&5`#({M?3qdoM3{0cqph0dVg*SVN#xwkQX4C85w6qilMaozK#7WnNeR0Eq#rdF4Z zbR?r$c&H(>3OM-PQ2${})#n?zA;0(0(GjEevU-;tOC3jnLo&5yaM(az*18m$o&5=n z_9TKqTBGy4A5+~R8!Yb09o{R9G53BYg2ZW>eBDms$#@Jus?sXweT((|HFwPrkI<`m zHyXk6M|27JU#<&jb-OOmO3P8&yQTB?OSZ<6hB361M5&kgOx@#x)1sfP^{Phxs3Tr} zY(guDt)>6e`|oD!QP_v1FPdsVu`A%Glhic#9G4R{_K8OgAsKTJnKkg-RY{KS(<-WH zHkAp(#l6^TNDlDRw++@a%H@?RApz`Mhq3iN&3O&I_iB?eGPPyL`kk18oZaFSW^`B)lGi>xx?yLdq@IjH>GI9UG2yRUQIg^zEH_r}mC!E^z3yR!I9XsLfbKf!@pafD-l+aZBOY~t`3*_(b|&l7Q!U2zeD z!){O&J%Xrbn)%OR17&}EM6irt34In(#P$P&c^SI*T=;%cqfQ-+D*lfI7wTSGrCR56uo`K2zzo* zJ`Q^3kECT@CpelFMm*WHojyVUX!2k2UfF&v2>>HK?P<}F1LOdkI3isf(Z-C$!*ZI) z2SwG1FK%;3S4BlyM12ufot13=+$e^=Q8065nCrPRmhziN1rUAbH03a_3*36Z5P)0VgjS=csfQP z__Sufkcw$&;byw^&e}zANsZTFZ$p~Khc3STOJ2yJNmxhMfWFUXcJ|2AFepf>sSS@}(%kLi8+xo>7i235Hf*KK_}4!s z0tuh2yw>~P`Q0_sGkF>D^B8!_H7h-B%L4kb6q_R)L8@pdQQBr>;7L3gwOTMG;_K4Hy-)cRc-|d+Zm#y3IOz~gh1d0~m&fEE) zw)xxnKTOb^%WzGEoA?539V`2L#71)AIds_P+Ve24&r>kKxK;~L(fs8^*TJP?_qOj1 z3t>d`f>Sp;3$z;kZvvSW;bu2}&X0+zBQ+S!Pw;cs5VYY`9?t?_rUyEjo=yI6Hv2|X zpMOGS$kdVS!GybT=0JY7scMWKIAL%p+;A-rciX~0Kb?0S~C%=^nGVU#sWizUSn`AZ~EVX)1i`b-SPHG%}4$FCYV-;GnK*~;YM13C z=a0@^iev=bF+}wKf%RdBGkKc-_xAO=qAj?F(-J{3@#oDewOYTc1I!iyB9$|;)Y6)e z53JGBUF}h0E7Esqw`rKn2@sb}>_zpr4qT1lh4Ku9TH;(2I&2572-3%CZ+`a8Dm_po zEb)W!igUOz&L~lH%99rW>!$g=Kg$$~a;Qi_by{s+E>MTvIxJP)$ho&VT&tAJr*l@N z1*n^m1e_!r3e9~y*o=GlC%4#KQH7pQqHmNJ`(9OA__<4)RXmBz{Sa!qfs$($s0|yk zi6M_Nt=lDaOSZ2uwZ)O`fEg)9d)D;Gt+lun0uW^2;Rw2g=AcRTC}8A|gUCYRkU+zx z{bn6H_=(AWWhkeg$^DnO-+ftGUm#QB%ufY*<%3$XrCs*fFPGf^nGH+ua-F^;IIbWv z6rOEFBd!meI31<|kO}-CT;L-Z`o3GUa_ON{&ARk4z~w@Rm$T*OnS|Mu~rniB^23&=r47iy+M)GcL~LwQ;yGeFo#DB*4`T<(xlgDG%7TRnEC~i~AHg%`c!m5L?2g#7y~M;3 z(8_1ySW-&p;Kq(n_XV$~o9v}hf-BAEx9&!lr~MT7Cfg6cW}l7E{bnP30Z+{>km*`Q z=}XhbC_Cr997m>F#I>-Y=!Dzf7P(8`CwaWV*t^Es7(w|`oio3+(d6ekp9sxXb4AXK zjHq7^@V;u%)YBU`rsNvyn!i0-e!O=9L3H#hh-Pt$p$+h|&XpuIQ1Ok2 zu+wf^0NT8)T$n828b~L8a6>a)dbb`{dRyLM@{tg%8M<)fb#{pLj@#fdPk+R>mL|-| z16PlB+W+W0W7vLf+LcHap6Z>i9X!Rz2i=a%wsYGh|6xADk0SPC^nr91Hi90EnqbJ= zoaZ9wF+<#JFeU+1;46CjZ-`R|bpT~Vfp&2b&Esm-4iPL4myPfLlLdRahv?nfn5i%g z6R1T!BoAYFv`7v%-Pyi9mU!Dgvh`P%B9~248_fSWZU}&U>4dl<#r8eWcU%~c|3Xx{H6a*I~B&B9M^lHD(M66GujJB{{M4xJOri8}Ietr{gKcR|D>Lx5Lbf?)$&lTM%OqrZfdY4U&hS%3mU50CUl6Tar7;j3P!8nLt%mDBi zU82zVlLR@c42?72_{-SaZYJ!^~$^3KuNhG%5_L9S03$Akgt(P}2A(#8(0u5Wd|&R4@0TC8AB&(Kl6|Jo59z-b0sKB#@`s@hYz%=KSJHa>S@%3{ddP-#a(<*YWbeE zXD4;g;z^xZsDkaEWY@_vfXP8eKN8tD1F5F{PA0xtf%b9k={Kiby}s%iHeFkC({0+f zQi8Sa2C_4N!XZ{>L@<-`Q!9sgw(1D28-q~`r{(~T4*;-B zLHcIEs$+yj)tLGvZ-McsJ>fpn_*mONzhufRaQyB*O%&?L*X84f?u_ZWv^0D9F$5%s zVb}xRu}B5GJFmy5IgP^$urm8(DZl4i9E|;uC0Q#@pctr1G8nq$LSwIgI4}~qXpFh_ zd$&$q)XE#d*7fGM4Kug@qvVK;H6)p?4+@TsDcHGk=198kh?*10OL%4#q?i*sh~Q)J zy*qReu00(YjU6&txb5|Ko3XPO5r)C!-U|v4Evp%*wFX7w0O10tQ+ssq5&qw13v^$u zk)tmvKe+6h4kGEW24K8F5|H@i^6QN^{IT~bhkn-`kLr3mnfT0WAgNL5Zq8atPx2|H z`p?DPUq@y3(Ld8Ch8f4^z56pcXw1#`OHWR9CBVvte)N=ju%mh*K_=)@~wEErs(I&El*@Rk+p6x3Eso*r9HD^C3y%ej!lbx7khzl5}dDO)46khUD zTMaXZv8HL>b~Jqmqnu94te9E#wa=hSpFon5+%qNIsgZ2MePNMKJL){vA9<&Ld{)@O zz?aRUV@1+T3pHu9fG!^)EX}=D&v7@2#r8T%U^9VjLESF;Hyip17o+b7X|-tXxG@8` z!Ci7WXhX%_1z#nZ(fT-euD7{aCs~2w2Dym;TUF z1~a?K>}>xWdxH`*MtQB}`pz+KvS hIwQ>r;UMn4e|H<=T7u0W0<|q4P>@lTE|oM6{6GB6XH)m*1v3-?-%gK^3oE3xBrg(&axx`Kxj%!KiyKHW@y7ldH@+u0{7VUYq=4Ns~D`NwSY9&~Tc5FUiBEEv!63NRpk95}VdC1xGyJ7*8McYs&A zAmaCx%HL;2c*}sX6AJIyJPPzhRz)c079uy)OsTq=AnN!?!JvWZ3ly|;yTTAVysgb$ zG}+Cjd6E*SG_oe-a(E!`BZ2wWbJYd^0NTZ&9P>GoIrnb-W@-PS?Ly;VGet3wqLVDo zFo&~++v+AwyzJ@m$YPT}(NRW*RrcB1>G8xf1M=ky87`1(A63>REGKb3vUwlKoL`%rW>kLTop!U3h zpiJ4sw@Sr4r7P6L^P3KeAQBPS zaakOUB-G=dHD}j4N|t?35`dT(CUE;JNO;Bpe$i$;$B7DuFFJ@}TEGw14387q9tCoE zC%Qu!S3MXtlK`!uiy58D)LMa(JX<=XVwvFQq==gd;w2QPSkH!(5lWQt2 zY3m=9mU$PA;^+D4&;Wc!({5koJ?;H;7DcG1Y-F|qfFY56`z$)`iWt{Fj(wRgH*d+i z^D(zNgn_+@x0iPzM>jB5vhqE2*9IEn=i&;oB_2A}maNv7`!BRDKR|XY{lvlxW?c0b zKa7$(7TE>5-E3ESdG`ofa+kfU|AN5?hR-f#uO~?HlLtiPQ8s~TBItQMBBn{`yR#3A zOF0PLwTVNMV!5@ecX@S1`%(8MzbL|$4Yy&3QxP%iZvX+^b8m7LsPy;ZDzpUllPKsIOCBN-zai1WqTw(4Ax5u{&d)B}8#U*Y$L4+v zV)o@x*_jjxYb4IJQMh2g>#bRt6AM_LxEJtAz|x+9rzXZnnTXdi>(#AIH~DHbf(Zj_^|JU;>n_5NZV?WEGdLY@@&vbkZSKh0DFR>B5%~Ya_{6nlw|T~h zcqo61{Q}kt1uVBpK0kI2jte6$<^X0;cJV2}KXK0IoX?zGymve@p;*1_vHxo12b#5% zUftXepUpx6L(I+~+s%MfyXBN|V{TGocNEG`ldKNt4{Uj}H?P9WQYp7PX-{2*h6MwsQ&Z%q#Pf)&6g2+B_2m21KeaEpz!K_7ucU+*JJpRRIE z%x`zLe8Osuvnkzg28F%>{6m32c9*4CR|?3fZEC{_uWmbil41sVk5TKrW__&RbdVo| z8F9rM(29h>+^h_N4N>EZWx zO#WAVy+w2}ki$Be*j3zGub~IXfW_wN#s?X?`1MrKSo2KK^vSZ7&yhWjR6uiB2^;u@ z`*;ubzDsfl&hf-a0)T=nsAkLnDRb{eIzIZ{kjo=L>rE zoQil&aDC$qL6-oxVgvUWRlf9+6_GaI)H<#3^>5JOzp>Q$d)0J}t}w#{+}w)0!$~lT zrz6B8VPah{=PeVO3NisJ&jpO;fT@g#o1=ajl=8A71MY}haoPK+Hax>*6#WJ@ zj8Ad@WMO$rs30pbmTl*?i&ehKMSE!k)TI?kUr=YSpvZe7gS0r zIEoZ63CoKHn@-r0iso`2fSR`)(+dG6qgu~fJg<4lsnE+JJbv`_Q<_%%26+8}sUU2Y z-7!4V)3cuE7KmfSfJNaS{RL1qaDkdV^p@N^2A@3Tea6y``jg%NY#P6J&dx;(#EcBe zf0z$shGC(xoiJ$Y$s^8i9*zeT=o-l`LG(1K>%c$lY^~Ppo2>hUbG}tHzWg~s5M-2~ zhaaIuz@!5Am0jH+Qpmu`kG-9UjGTZa(*n`cvF$}1J4mZmXI~0E;jtP?No5H=bM(3q zgeRDku7k@im#bj*mllLX!6$UQKw~iAbQD{%3h0+^IP&qgyvpEeH>%}sXT?v|g0tDj zxW7sjV(tb4=O`#ll8zxwHZ-=FqQFlsimsb!jjNs~QndJzJotko=S8~ZmwdCS zP~1e*V3tHAJmbv-JteRrHqiXOdf;)8qlM=iMLMx1V@cMg0mw4hxkCQmTIMyJwaS=Y zT>5&cT{m0(xjD08cl74-POB#BO#NX9n)lWH8l+Kx7x)Z3Psu;P%EG9-5vbGJKE;8L zET*!EzHZ0~R)XO7&VVUX(_U(nESy2OP^_&l(`fDof0zvLBQ|qKN*_KqM)d0s-P^DQ zO@Z{7ELij{q$ly}u73+g0<+LbFaNeG$kulATn}sNDT=i zBOo;-0kDJ{1j{Q8JB$Fr)$i`B+UOXvUu&K0^ixnTknMK8sY2S4-*Tf_!{Ecnds}*- zOa)FDea52rZi9z{sPOeKS?B0`ED)u}-+{|Q_ErXy)lSztE>9qL zrh(~`2~Y9~`z>bHx69ALCk}(JI?^N>HNLxM(f#O-gES#WrvaTyicD1gVwE&0` zjPHD}@R1G}Rz%SCeJQN;(RIVj52V-LR|No0;Op(9uZwBTI@$5SwZ$99yBGnLz-D}o z&y@1(KACnaPC=FO!efmA{bTv~j>>x-^YY+d!tD#4QqK{Rq|djwNcYQ&U=QUf*%lNKr3A0(aS2*z9dd-n=1Fsp)A>|^t#Oaucc@9LO+1z?LsLD?Xi z@95C9zb*xO;3Ffm3sg*s9ZNDgh_R#5g-_p1I?CNlc*AC*Gpb195GUl#clUUJ zkn)8PGi9)_$@B}<4g65KJlO8>BN6Z$h8e>YEjKcj6bn5!(5+5z#o!wI{iXY{&KH+< z?t*0mzHmR#nHlyrK0%SsHNV=gBSbrAJz;&)!WicD4wR%VxjMr@R)@XA&QhGFj4fd_ zaj_PA+pT;zRG}pLXaVsn}=1W2^Z5#}cP!F*o3wBrhnP=mB4{8SnqIfbeN z#1^9KQP{TlARCX?z6gEEGKh+h^ChoIRL>Y^s{@yJ)8x8(+H6 zuSenY86bu*Jpub4Hq~KICm%X&@?Rdt*eEh%vO9MJ{0}&dIMzl(De8ZPFv*P>%KM;~ z%eUw6>Z@2kToK7>D3auT`8o3ief8^ABR2OZ3$dcu>0EgR_(0G;?k0% z(3#ozAO#v2<34|>4`lhfVvl>BMYQ))THvK=(++s$PYeHzx!?!eb-qICPS__$4e(vG z)dKm7C-EVzpb?}=#cmQDvf~K>3R%wm=tEyW-oOuQYt*_t;M9#>qW}6_9fCOX$kOI{ zct;>)5~Tn*F5)0+Ry+96v!0Vu(Tsv1;HYTT&S;%~!`0c}e}-LDs*iF%`q^#~rUP~A zf=9TFpdDPb0o=b}ZU;`bg7V;2dwJgtRejMi+}N}T5l{AOyLNaN!DCGEZ>X|rxC*Hi zgI?#x&i*wK8;*w*y|%{3bk`%!5T4`(x-Su=s@0|STJwXUj8AP(pTd9rvunV#@xfaI zyJ{h@MO!GW#sD4Ei!_3)w6$v{;*7^S@UxH}HDIPv+{l2^iYzVVmV(GZ0fevqN2lVX zKxZ&u3C|t37h-o%mVqV#e9!asLw%x7j@OI*&=B|1D!tL)kP2bRTPr++bU)QQp_wf( zf3(f6H*n_~FFeZsHiJ&@b?5v~^B;h+ov7)+giGrd$Uccnq`X9+zp4o1fIjsJ@%UG? zrWYX|4rh8Aek2hp9hi=xqXP8IL)z=RQ1MS1karb1?=WKN{Djx@6(p+ zt6NbFUg?7S&K7Y1NgBxy)|w;u*?I)Yu+s*R@64%*E!Ce~6WiI`9Y(KeN)%~dGNPo(UZjstUxp~+ zv<&_#x)UKf9;<&u(Buqb)=3)d2u{*|UZ6U@&!BY2H@G`~K)HP$I6EFV>#pAncnf~H z2&ZiBDMK`9HcSE}WiQmRDOL32-J+|@ed9{eQTNUe1Vi^;0@=S&f$iGQrHpBmO|NT0 zq6+?wg5uDL&EX$b{N;fDX1xa7(`vsy1;O0>j{cXNq`2a)95RUws>^mh1gdNGpsxBR z!d>(DGX5N?7Ak6stq}={$@R^-LHz!g`0mmV>`l7?U8zdoH-b z!N{w5ilY#O4{`)$W&RDecI^)tg5fYrbvEAqIC={> zY2Z1UfSm=i+*BY2?HdpK-Kfltg$kSM2wLRZuEa%K`?Lw-PW@eu!%3)?l3l5Xb| zdkgsfhJ=FyWz%7z(CzrSq{2MQQ+pMQ5%y%n0U!vD5dECrO@ULr;689o9Q3LHA|1Zk zLSpE-gPX|#1blCc0?c4jG*$mHC+H9aO6YpPw0T;T8!Mi0+24Njz1sDo^D?1vA05ue zUuVrp84Y*C)UB;GNp%3-#Qmc&A;Aqysi(E`p@uv$(pKh4!6m<56Y5OwKjaQSaC!9@ zCd`#}`^ir}L?TWn9G=~iI$nlT8FagyB_LT&-;;H(Q5LN*iw4|F%-n9`+ARheq&CUZ zz8*MCzC&7z14lbg$$)c2e*OrLQ=#n%3TCQVp~WLa){JaX`JvFeUll*;_>K(|Vd7wa z+TO02Xbe>gcJFhvWsF1N(XH3Y>#6KBA($wNB4O5MR_)mteM@iDp4*m>Ce5VN8mP5> zh&^v5S71};bG>0#-9)@*T8=w3wigb1p4S37iL}eI>$U2Ug2sGm1&2CBD94!HhMQvu zMbANpag`Up9gp$$2fF|j=J1L1$o-Yr5C#>nv>^;fG*n>&OmpywH!cXE1_t0*zML6b zH9wRvffHg4I|B2>(&teZ{um*au{$|zvLbY=iI+a?Ze=;hYOWO5-mPb^wPUU^21aJ) zgijto$j_?M>(PVhNP_P4CAO4H-8wivD0d~%dMAQv0 zL1BFGg2kX&DDnfKl;6Kc*WUPmphj-}f60!NNLdrLJN!h-=%iMP3SDh!Y zmi{O~-sATpC!7r*BtC1zSED-qadkBT8zRCM_2prulEX_;gf>~jSu`8@QP3lvnyxEx z9rEwh?wr*A11o``*VQY0GXdAhQFmyAf*?Xp!wWwk0PPB$AO+mmff{>RSd)_tXsSxb z_&d7WJ#C#J!qKp%BC1W=U3f98HFTDl94sh4Bw!YUr+gRGm7`I)kwaj;jq#|qbMHt&qqXH)nCHA^~y#Qt*-U9;u zWkG#mb~6NR`n?$5v!0EL_CI;0?PmUtAh<5}-sRhElzsBr5iQWgpLvEakIg`y?~2iC z#~3O16_;1Qr|g;Q!pV-?+5gk++b0+v`+IV6h_^8Xwkd{uD=2=bHgyie8oi@uLK2z9tHj!DKIX(A z)jx}mVfj0S1^pbZG}`ZChcJZ#bcH3e0Ub4wY-!6^Q52C(a@JXr%RXS@*CqBvHta2e zSQ!BzsM~YYNM^K2(}g0|0UdKH-uL3fqbjQXkH@2X-^o+;Sk8l@oTen}sgd1BjIrQ7 zZvLEXN8L^i)6P1`2j{KCTfM4A5 zWkEpW{X1e>v1GX;V1=2mlHOdRgIhvEcWtPKf>)Ns9Dl{2G?J(M#6zx;R8%C*BZcOK zx7QqD5Q=PoD2UfMOn(cXA+5u5`H{55YH#lb1`{~NH|6$h>=|xu*ohMs>@Nk>=hUJ& zch1Ri@c-1JE%aez*JR}{4rp!IOHkMC?A_J0&Uv*r88 zX(n2`^iMuESBNPlcv$quCL*;};TlQ>r$9)N zvMkTp493k_`1KVH`gYs3y1XyLa9xTdHm@p?;ps;+Xp|+<%ae$If?JZr1#_K03Vkwt zktIsdmCnpGa95_l1gHh4f81_-b%ztLJ(bmBE=`WXAhKof<;8ubVqAG6>^4Ik7FywWRg7!ZLKbG(vd5<#0D&& zM8{d>*a$h_CQ2*GFCK~Vl$_LwmvLW|wppWpF)g44lqMrAdwozVai}qUm1KNc;gOO1 zmS1|F@YB&0X&T}nU#NCt;{INzu*yGKB8s(nZAEcp=}F8T>Fh-UQ<)@L8c@)QhQtD# zW>PPd$~$3<+wOhJnM_j*{(w-^k0(sl=YH4+s~^5C|xTy4?%(7&(IhqQ+d3~LFq zveTMu!6LX1wAx3F{#sxkUkRlV14&&P@3 zX*WWe@?fWGllFOU;0hmx*1Eh+ZDo%A_d0k3$I&CqnhdaPe_wqL#`E|(Gh2gdW)zB- zefK(ZTf<)t)9^Vh1#xB+X3DWpEJoKoH}G%lb7_6Bak?^;7O&Qdd=+8g?_B6Ma--~1 zCEFM9h06?m{d|U0vF~juovGD55Ss3O$TJmMgECZu6CWlY~9%7JkX6zb=wFp@S4vWD-0=W-yZhLw=AXs)06F4i~?_u2&we zT-eb;r;%GD*9^bO$WPPx#coDRWeyo8T|_Ir!0%DNzfX5AYP^yf|U zT+}t~!j=8T+|zw1r`3PlP>lmC?m1joKG)Uo4iI z{46|!5dC1N`)4Bb*O0ez-;1)XY`6l!L;RKB&~u?v%@v%EL7#u(X>ewJ;d%rfsk&ihs}NP1^6{;iDZV06J6JpMC}o7G|=6ehLIx&wAg{`2Ed`Koqjnu90*(Y2>ecUyCLF zDlUF>5#DWNaAs-0X7@)M;j=z%aFEFkj91mD3B;|5np6IQ%?~-AAcwKSR zAst@w#)_vQYzwq8;q2CpsZP>U8&8yc`J_-G5x=A&)y6_Fda&(%dNvpFESG|>0X?*| z!LPgUWKv#6EYifWH+YP~L4OcWqnpC*c{E8nkaP0<(!VVMbpX=wJ z+H(Mq`aCr_vJ+6qcg^5DhM8VqY+@<-o+mh$N&=>lU*-3K^&?0xvKq)$*WA0ncUA$~ zz+|h?OGBV|nWc}?uO@Q976;~iJ<*C1t%35YaDMDbT;a(%BVTE;6AReM{_=1@i>uT03gI|-j~9GX1#b13Jw`b}$%CE5^bQm%oFFmG|)HIWNg{~g z!inaHm@+0;YmhoS7g}+72ZkfmRm8Aki+b{F6Td&*S#*HL(}v)WF>JhV`CiREO>?)` zIe(DV{T1!L7mBH;znOn?Nfk^dZ8fx#2R_^>6<>#9R*VA&22<+qzO`U~(T0LMa1dJty^ zTwbvGfVAxr(c_edOvc@*_E_~le;vSgt3Qy@@vGF3wGUq*JL_+N6U5ANbOC)b6m zV>K1XIt1SRp_va|Nq9!r@AG+pSGQP%AG#`+-KV7m8QBgMmrw`#UkWD2nvm;?2ub1>#d|fgvBM zbrPp;p3)}|$2;)9+HHTBx~okAJR<|hW+BYcJm=a$B%Wr`S|MJ#{fyAU6Q zNhg(IhIq4=1-J4?6A+RMLOtFfl*>oq7TIFfuP9@-5VpzapZQ+9H%eAFWd=rEgOl24 z|KO9(GvK++PrJ2uWfKihl*9k&qhQ;y_}C<#bu{&>aovbcfzWQI9V3s&t1W^8cn=%c z;BrT-u_GQjR8j%KkE~`f60!>|sBS#6KJCcBug`LaPW4lr`x;R{$F3*J5*wF(XgDxQ znP0c|J_YE;={j$QGPbysYfS#lLb`|BJ;`d79CPK<`VssuCeE{-isxhpBEssksXHRy zC`)%L_>C6noEEkAZh7su$>xM=^fet3(~O3~IO^9N_s;h(2L@Oq$pCk&H*;K5QR9Int z@hh!O59zfbTmM~(0UUpW>4{s4f0ZL?`|1p>krw^&1I?g2DmH9Sh6bE>%(Mq|SaX}({Y~_DsvuG%MQyBZ62DVDi_?9+ zzl4-c7Bq%u{4ZXKRAAHO8dcZ&qm2yDmfDP|SXibh=>`>+1yO+L<^#^9AH~AmxoCad zRyf@;&uBrk94B_yFB1L^bZo;PKiqV?#Dv9QG2$-iYAoX2l?x*ccj&7{5^v#dY3Qoa z%;dU#-W4GM2wvDPnDw3fi?G)A7NTO;{nasNpoGl0K6v4RWrwuxpk%dJMS$B@WRNb7 zfGV)k0X2&=0FC$^{*ht|KHg)IDvS9uY&h%jOIoFmu9(oR*y_6_S68n%ewe})5+G@E zlEw8r8a|!_>7MG{k$iw&IFIF4d0rgd9`y1&zy5^19A0{;;67ZqJ=1l)ExqE%5lp9NIw6=B$zygn7p%a zrv30J#782u#Sok_3FCW9;$mjg-|-vionhkSz@}Vx&lUJwpHEU-`CE}&(F?W=Y2x_I z7SJF4#|(vc=XI=)V#vU%Pq4gIW2gqC&AKGA0dM=UFKa)4tcC*|#KAmN40oiJ7lxR% zB6CZ`TEfy=e_-Y)(6Fw+7vfrXwYlvGqtVuJxPtQ{|D^-cJGzU3{RMaY^8(u?E5-9d zt{;hSiM3#;0k7j99fh*soY=@{L_7}Qxv5xFm)}`gID%hBNyy_OnfJ{uY-PvXo9r1Z zpBIX}X@#Y5zyHZ7(4_~5r;}E=jV>JTO%!P%EAPv}@@9{s$RwmCMS~x6U&h-ytidh~neWaJDxuK_lj13@V111=F*zV@DGBlxhdpHSyvXt>d zN*pg@mU=-8#dQ!UXOo~kzHV0L$aWLyU!{F-*sg4J(#-pKH==jOqcnX!OU&AMs>HEz zbf3q?t3Nf`28udzgSX7>OEzHN)7?o?6+WwtLe(}=TWYThiOFJHAzx>PQKG)ANTc|E z8oaa^Nc3gsYm^iGK<<^yUi=tU++j#7GDVON5lm4qi* zKDi>G!1k;Oy`puKZ{TDAv=n*;VIIleP4B0*8>NDfiDn5fhT+4A5p5Xd9L*kA32PAo zA59-UETLj|=#K)0WGY^cu9`vN1}BWY{hj0r#kOpHuIViFTC*c}j<;dEF&4@guW-A0 zDoE6g&rgN)_^M<+?N{v^kcomLd7@yedS7p{tvme(4_QZkMmz zne9*45TqRU%yK=IZf$(Y^#$=$7rWY5*>CZaC{&kyroHOv)$sJ{G&I7jn~Cm)u^oJm&D5J1))bR)EH zj+`V8YP@r6kj+}xFqtdh&<{~*SdWOrct=+BRyB`o1Q7h-!03=2vhD}@X4dKwdfy}j z1BC91r4Q7I;5-c3aLK%aS-;s|BC3ZMZ#b(voczHeUlmvJ=rsM6E@>*&ENS?I>!D-& z2nYjR3)}}$?(@m~u1{m`P&^=1j8>r|PHq*;lLbH~HiQEa#B(q|jppWP&NqD}dd}qs zQ8U0oCc_Y9zw2z&481Aa$ITLyd{$od&y!J+mn)z|@_z>uHOUz_`R^rx5DP<}tcHWC z%u7C3`B6tGEc6wSpSRM_!U9KncTEpT3ySr5KF4KE3(ZP*fk?f2Q$N6e0M=0cT;F-i z3^TXFRg^&QY-_W7PMd&Pjm_@7FK^Ukl@B^ER|vO1t8hqSjuUVG^HaRJLJvL1cw3DR zs<%pmQw`&%QU~e)`2CgY8k!stiM+ctvBB4&ea@|2f&F@O-yNtwJCkvfQnGMCv`aTf zzPB|L{;5h4tTqDDe+qKW>A!wjMB+X}PrJSucH*2V zj*FnI4^c*|kjZlG4};NbHLFCJ}Mx&B2?e#IVRC1Dx&_-t99qW05YYJ1+ejJDkvqy z271-QdghTN4hA20++UAfHpvbFrrf)ZmT)nR1+)C>OgpG@f&S&0Ge2*&tgDhn9zxoX_dy`B^uU z);ol~JD%y^yXoe<*yD9&K;v-LVS9=Vw$Q!}H5R7%(A@YDsLG-AIiszs$g%4?=fv#* z&O|(Hi-<$!BEJw0i|EkREAG^XEvEpHE(_RiLY-8Sq+84(a|P-igwpe3(L9~n-%bEg z%-eb1KisePOw1Qg*jEc&bedE!d`aSBdnd2lF#gh6nTQWmxIuqp-9OM8-!eTZIf1s$ z$4LBF?iGbUJ7hXg6X%oIH%5IfiYDSZ!xS9rdBeIxSu5gfBo%8GchVm^7Fs+&7S&QZ z<25zrCr#Q{&=-S|eIk~pGTd02!}S_%hy_6Nx4^Q}-IhW)4r2vZdMUlS?T)<3yoA>R z(eA{xW%+iS(+H5VmPw3XL2gqv1GHCBtbd~-S<=Lt)eTqI`Oa0xl-^y^+p!)sklA37?xX_Q6E5!Tj$aN;!VL5A*6+HVjUN8U?SZzmuT32hy4)yEu>XpD833|DD*KcPGsUw08t;S?cM* zhbdikift+97mxF1`ix=xghybjt&X{h{5b1tUvQnbo4RPX+u+JiG8)%)#ppdQb2w-% zoyh{JzG-V7&Jy4)5a#>z>{ueaaOIBTuKdnrFMW^*{5{RqwJDL-OWS>`MR#JIAupal zH;dNKY&dlK4gHxP_|d8Zv0jU`p4bU0s99F?@Lf0Ef!ZC;&Y~WFfUqHW*-H`#-7|wq z+~Z-^DaHYK+3}GuyY-jXE?kEE$#ARCN@wnk`0p%1UYGShJ6AP|=6xuInnh9;2U-D! zzaZ6*QawD|hzms+PYixeN9LrDk47LE&K=s=b1`E@ca+e7AzFz-3Mlx;ATe&m%Vm^_vAgybqDeuAVQTgi$(V?H>yg1rP z%UN5JVEO$INiD<_Jw$16$1q>2MP2OgOIz?DFm*u%x?IOHz^!|T|7v29VI}JNjtzY- zvGH|o`vMm5)nhiOjvMdLm)K>VQ-9)+MR_zJwc0fBNUV}bY*MYb_kF`SUSE0N^56tsi52GUrf9Zdwo;FI(nt4 z>Vou$qnO!rG#{t@=`M}~TCQRNy^dlXy(Si4x7v{$%}uqM>->?$@;r^yXBuO>9b*Qa z`&j~werq%iAJ=y%z(CwE#tb$y$4i1>aXC0HDygH=|YPlLE~)LMf| z?PxJYrNbd!2D7dR^otth7miz8;0rqu^i+xiL@$0?7kM1Vc7_~bXuB)%^En&+PGbo2H6A-H7Yj#M{)i8oPM+D@ z9E+B{?G_60$d`dhD>`Ud9vGxinCwTH3T<+kdcYiW3t*9q)|N5pTs}VzW_C^FroBl$(GGwhXq9tQz+}+VyP(G)p8va{cR}f-dCmn+B zdRNzG{fxs0T>D0Mg=DH#S^t?db5|y}nI@-)qv?%$QNbP#;JDncoFG=V?DJ*HkXKqB zvT%*_EEL8EEBN?dO9^dkdj(|))3o~gFkGp(xgs()~GXEbBoRm{k_bDBj%|Z z_6s#9VtF6-Gpr-(kAL%=X8O4uNn>4Hp~gZ3WZ{PV80n+(EfWRav<7Hxj7V16wyS|^ zHFNz8RLdmK4@Cff-mG7o+GzRb%=w-iGwaTO+R_8R{dJ$*Gk?Zhl<8fWZ2g= zc9I~+ev5TZu!6B)YoY9{vCdabyV-6f@fA!jKA&Ps2KHBZL$hGX;QFNYOOD(!6h5!O z%Bi(J#y>b%E=-@C`J+A~-h7N%hiG5z=p15?*&OTWbIo=d6E18?+5rV$?HV+vlbo^o zkk0W`5f`F<_do;H1nVyvO>%-BI{diKadHaXVA4x)-FYQ(m3GxoOG$>~cJJo=8D^RS z*rE$~QZ-17=HGis2aG)~VHa7=kGjGX-+SwfcXV_Viwb9~XXG^bgFRts^mSxhV2H54 zQo8UJ3_%I4wuR20NwZs7iW@9B_Jh>h&kI9R(E?ebxX}z2W%mQ5LBsXPM@bx^nF1hj zMnMhR{@?lgkGgZguYmJ9S*m}L+DXI9IQu8uiM;@+C(=>Y^@}Y{Vx)iC7(<1UlfaLq}4h$Q&JPjBfq+p zOuL;eyrwmP$gwSBB4F2t6Nr^51h6SMEOYWcp(!QOnfp}|(cR@HS71_GN*#F^Ug8hp zOsUDz&TdL!*0#y@5qFhvb;ojc)E(-oH9SP~2VVle<*6A%@j<`n8fCPxDN>6&{fc{J zLFob3*~Qu#JB%TZxNVKaGzD}(q4;9*mr5$3vR|BeWmVR!YAGID-EAeJ@mn0uRYW*g zI%+uuFbRb*gImRIQncn83rj%#@CGg3@NUeh%8`DaG~{n+B_sg@2ppYHY+0~pvJ~@4 zO}}_3tGg1)GtE&6NO_4Ys772sB4u}&(_h5fns|SSimple Terminal example demonstrates how to + use the Qt Serial Port module in modern GUI applications + using Qt, with a menu bar, toolbars, and a status bar.""" + + +def description(s): + return (f"Connected to {s.name} : {s.string_baud_rate}, " + f"{s.string_data_bits}, {s.string_parity}, {s.string_stop_bits}, " + f"{s.string_flow_control}") + + +class MainWindow(QMainWindow): + + def __init__(self, parent=None): + super().__init__(parent) + self.m_ui = Ui_MainWindow() + self.m_status = QLabel() + self.m_console = Console() + self.m_settings = SettingsDialog(self) + self.m_serial = QSerialPort(self) + self.m_ui.setupUi(self) + self.m_console.setEnabled(False) + self.setCentralWidget(self.m_console) + + self.m_ui.actionConnect.setEnabled(True) + self.m_ui.actionDisconnect.setEnabled(False) + self.m_ui.actionQuit.setEnabled(True) + self.m_ui.actionConfigure.setEnabled(True) + + self.m_ui.statusBar.addWidget(self.m_status) + + self.m_ui.actionConnect.triggered.connect(self.open_serial_port) + self.m_ui.actionDisconnect.triggered.connect(self.close_serial_port) + self.m_ui.actionQuit.triggered.connect(self.close) + self.m_ui.actionConfigure.triggered.connect(self.m_settings.show) + self.m_ui.actionClear.triggered.connect(self.m_console.clear) + self.m_ui.actionAbout.triggered.connect(self.about) + self.m_ui.actionAboutQt.triggered.connect(qApp.aboutQt) + + self.m_serial.errorOccurred.connect(self.handle_error) + self.m_serial.readyRead.connect(self.read_data) + self.m_console.get_data.connect(self.write_data) + + @Slot() + def open_serial_port(self): + s = self.m_settings.settings() + self.m_serial.setPortName(s.name) + self.m_serial.setBaudRate(s.baud_rate) + self.m_serial.setDataBits(s.data_bits) + self.m_serial.setParity(s.parity) + self.m_serial.setStopBits(s.stop_bits) + self.m_serial.setFlowControl(s.flow_control) + if self.m_serial.open(QIODeviceBase.ReadWrite): + self.m_console.setEnabled(True) + self.m_console.set_local_echo_enabled(s.local_echo_enabled) + self.m_ui.actionConnect.setEnabled(False) + self.m_ui.actionDisconnect.setEnabled(True) + self.m_ui.actionConfigure.setEnabled(False) + self.show_status_message(description(s)) + else: + QMessageBox.critical(self, "Error", self.m_serial.errorString()) + self.show_status_message("Open error") + + @Slot() + def close_serial_port(self): + if self.m_serial.isOpen(): + self.m_serial.close() + self.m_console.setEnabled(False) + self.m_ui.actionConnect.setEnabled(True) + self.m_ui.actionDisconnect.setEnabled(False) + self.m_ui.actionConfigure.setEnabled(True) + self.show_status_message("Disconnected") + + @Slot() + def about(self): + QMessageBox.about(self, "About Simple Terminal", HELP) + + @Slot(bytearray) + def write_data(self, data): + self.m_serial.write(data) + + @Slot() + def read_data(self): + data = self.m_serial.readAll() + self.m_console.put_data(data.data()) + + @Slot(QSerialPort.SerialPortError) + def handle_error(self, error): + if error == QSerialPort.ResourceError: + QMessageBox.critical(self, "Critical Error", + self.m_serial.errorString()) + self.close_serial_port() + + @Slot(str) + def show_status_message(self, message): + self.m_status.setText(message) diff --git a/examples/serialport/terminal/mainwindow.ui b/examples/serialport/terminal/mainwindow.ui new file mode 100644 index 0000000..452fdd5 --- /dev/null +++ b/examples/serialport/terminal/mainwindow.ui @@ -0,0 +1,162 @@ + + + MainWindow + + + + 0 + 0 + 400 + 300 + + + + Simple Terminal + + + + + + + + 0 + 0 + 400 + 19 + + + + + Calls + + + + + + + + + Tools + + + + + + + Help + + + + + + + + + + + TopToolBarArea + + + false + + + + + + + + + + &About + + + About program + + + Alt+A + + + + + About Qt + + + + + + :/images/connect.png:/images/connect.png + + + C&onnect + + + Connect to serial port + + + Ctrl+O + + + + + + :/images/disconnect.png:/images/disconnect.png + + + &Disconnect + + + Disconnect from serial port + + + Ctrl+D + + + + + + :/images/settings.png:/images/settings.png + + + &Configure + + + Configure serial port + + + Alt+C + + + + + + :/images/clear.png:/images/clear.png + + + C&lear + + + Clear data + + + Alt+L + + + + + + :/images/application-exit.png:/images/application-exit.png + + + &Quit + + + Ctrl+Q + + + + + + + + + diff --git a/examples/serialport/terminal/rc_terminal.py b/examples/serialport/terminal/rc_terminal.py new file mode 100644 index 0000000..cb3624e --- /dev/null +++ b/examples/serialport/terminal/rc_terminal.py @@ -0,0 +1,4464 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.4.0 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x000\xff\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\ +\x00\x00\x00\x09pHYs\x00\x00$\xe9\x00\x00$\xe9\ +\x01P$\xe7\xf8\x00\x00\x00\x19tEXtSof\ +tware\x00www.inksca\ +pe.org\x9b\xee<\x1a\x00\x00 \x00ID\ +ATx\x9c\xed\x9dy\x9c\x1dGu\xef\xbf\xd5\xddw\ +\x9f}\xd7\xbe\xcb\xb2\xe5\x1d\x8c\x17\x0161<\x88m\ +\xc2#\x80Cp\x82\x8c\xc3#$\x84\x80\x09\xe4\x85-\ +` \x04L\x02\x0e\x09Kx\x01,\x03q\x1e6y\ +\x1f\xcc\x92\x18\x8cc\x1b\x8f\xf7\xdd\xb2e\xcb\xb2\xd6\xd1\ +H\x9a}\xe6\xae\xbdT\xd5\xfb\xa3\xfa\xf6\xbd3sg\ +\xd1\x8cF\x92\xc9\xfc\xf4iMo\xb7\x97:\xbf>\xe7\ +\xd4\xa9SUBk\xcd\x22\xfe\xfb\xc2:\xd1\x0f\xb0\x88\ +\x13\x0b\xe7X_\xf0\xabW\x89\x0dJ\xdb\x17\x83nG\ +\x8b\x17\x84\x90;S9v\xbd\xe76]8\xd6\xf7Z\ +\xc4\xfc!\x8e\x85\x09\xf8\xea;\xc4+5\xd6\xfb4\x5c\ +\x0c,\xa9q\x8a\x06\x9e\xd1\x88\xcf^{\xb3\xbc\x85E\ +\xbbs\xd2`^\x04\xb8\xee:a5\xee\xb4\xfe\x1a\xcd\ +'\x00{\x96?{B\x09\xf1\xf1\x0f\xfd \xf8\xf9\x9c\ +o\xbc\x88c\x86y\x11\xe0\x86w\xd8\x9f\x03>^\xde\ +N&bt._M\xe7\xb2\x8d\xd4\xb5,\xc7s]\ +\x0a\xb9\x11rc\xc3\xec\xdb\xf98nq,\xfa\xad\x16\ +|\xf5\xda\x1f\xc8\x0f\xcc\xeb\xe9\x171o\xcc\x99\x007\ +\xbc\xdd\xf9m,\xfd3@\xd8B\xb0q\xd3\x06\xd6\x9e\ +\xfd\xdb\x08\xab\xb6[\xe1y>\xbb\xb6w\xb3\xfb\xb9\xc7\ + \xbc\xa7\x10\xfc\xd5\x07~ \xbf8\xd7\x87_\xc4\xfc\ +1w\x02\xbc\xc3\xfa%\x88\xd7\x02\x9cy\xd6\xd9\xac\xdc\ +\xfc\x1a\x10\x16\xc5\xdc(={w0:\xd8\x8be\xd9\ +t.\xdf\xc0\xd2\xd5\xa7\x22\x84\x00`\xb4\xff \xdd\xbf\ +\xba\x05%%\x80\x16B\x5c\xfd\x81\x1f\x047\x1d\xab\x17\ +Z\xc4\xd1aN\x04\xf8\xd2\x95\xa2+\xe6X=\x80\xbd\ +|\xed\x19\x9c}\xe1\xff\x00\xa0w\xdf\xf3\ +\x93SN=#\xba\x9c\x10\xd6\xfb\xe7\xf6\xf8\x8b\x98/\ +\xe6\x18\x08\x12\xbf\x0f\x90nh\xa3\xb1\xa9\x0d\x80\x1d\x8f\ +\xfe*\xb2\xed\xafz\xc7\x17y\xff\x8dy\xae\xfe\xf2s\ +t\xad{\x05\x00\xb9\x82\xcb\xfe'\x7f\x0a\xe1w\xbf\xf6\ +\xcc\xd7\x90L\xa6\xcc\xd5\xe0\x7f\xfd\xdd;Ef>/\ +\xb2\x88\xb9a\x8e\x04\xd0\xab\x00:\x96o\xc4\x0a\xaf0\ +6<\x00@\xfb\xaa\xb3x\xd9\x15\x1f\xc6\x8e%h\xea\ +\xda\xc0%[o\x88~5\xd8\x7f\x88\xdc\xa1\xa7\xcc\x8d\ +\x9d\x18k7\x9dY>\xd4\xe4\xf8\xd6\xd5s{\x96E\ +\xcc\x07s\x0d\x05[\x00\xb6\x1d\x8bvHiT\xbf\xe5\ +\xc4\xc7\x9d\xa8\xa9\xf8\x18\x02\x0c\x01\xb4\x04`\xc5\xba\xb3\ +\xb1-\xbb|\xf0\xcf#Oq\x11\xc7\x0d\xf3\x22@\xe0\ +U\xa2\xbbu\x99$\x00Gv?\xc2\x8e_\x7f\x0f\x00\ +\xaf\x94\xe5\x81[?\x1d\x9d\x93J\xd8(\xbfDa\xe0\ +E\x00b\xc9:V\xac\xddX>\xbc\xf1\x1f\xae\xb2/\ +\x9f\xe3\xf3,b\x8e\x98'\x01\xf2\xd1\x8eeK\xc2\x08\ +\xb0\xd6\xdc\xfe\x8d\xab\xf9\xd6{\x97\xf0\xad?\xeeb\xdf\ +S\xbf\x04 \x19\xb7i\xc8\x98\x18A\xfe\xf0\xd3\xe1\xaf\ +4\xab7\x9e\x1d]Ci\xf5\xc19>\xcf\x22\xe6\x88\ +\xb9\x12`\x00`t\xb0\xbf\xec\xd3\xb1t\xfd9,k\ +KF'\x14\xc6\xfa\x08\xfc\x12\x00\xf1\x98\xc5\xda\xae$\ +e\xfd\xee\x17\x86pG{\xd0J\x92\xaeo\xa5\xa3\xd3\ +\x90Ghq\xe9W\xfe@\x9c\xc1\x22\x8e\x1b\xe6F\x00\ +\xcd\xbf\x03\xe4\xc6\xfa\x19\x19<\x04@\xb2y%K;\ +[\xd8\xb4\x22CkC\x8c\xba\xa4C]\xcaaY[\ +\x92M\xcb3$\xe3\xe3\x9b\x0ar\x87\x9eF+\x09J\ +\xb2zcE\xe6BY\x8bZ\xe08bN\x04\xd0\xa8\ +[\xcb\xeb=/>\x19\xae\x09\xea\x96\x9cE:a\xb3\ +\xaa#\xc5\xc6\xe5i6.K\xd3\xd9\x14\xc7\xb1'\xfb\ +v\xeeh\x0fAa\x08\xad\x02Z\xda\x96QWW_\ +>t\xd5\xdf\xbdSt\xcc\xe5\xb9\x16q\xf4\x98\x13\x01\ +\xae\xbdY?\x02\xec\x05\xd8\xbf\xe79\xdc\xa2\xf1\x052\ +\x9d\xa7\x91h\x5c>\xeb\xeb\xe4\xfb\x9eC\xab\x00\xad5\ +\xab\xd7o*\xefN\xc4\x02\xeb\xbdsy\xaeE\x1c=\ +\xe6\x9c\x11\xa45_\x05PR\xf2\xe4\x03\xbf\x88|\x81\ +\xe6u\x97`\xc5\x92\xd3\xfd4Bix\x0f2(\xa1\ +U@\xe7\x92\xd5\xc4b\xa6Z\xa9\xe1O\xaf\xbbR\xc4\ +g\xf8\xf9\x22\x8e\x01\xe6L\x80k\xffM\xdd\x00\xfaN\ +\x80\xbe\xde\xdd\xec\xdd\xf9\xb8\xb9`,E\xd3\x9aW\xcf\ +\xea\x1aZIJ\x83\xbb\xd1*\xc0\xb2\x04+V\xad.\ +\x1f\xealp\xec\xdf\x9f\xeb\xb3-b\xf6\x98{N\xa0\ +\xd6Z\x07\xfa\x9d\xc00\xc03\x8f\xddMvd\x10\x80\ +d\xf3*2\x1d\xa7\xce\xea2\xc5!C\x00\xad\x02\x96\ +._\x13\xed\x17\xe8Eg\xf08`^I\xa1\xd7\xfe\ +P\x1fD\x8b\xf7\x80\xf9\x9a\x1f\xbb\xf7g(i\x84Y\ +\xbf\xfce8\xc9\xc6\x19\xaf\xa1\x02\x17w\xac\x17\xad$\ +\xf1X\x9c\xae\xae\xae\xf2\xa1\xb3o\xf8\xfd\xd8%\xf3y\ +\xbeE\xcc\x8cyg\x05\x7f\xf0\xe6\xe0V47\x02d\ +G\xfb\xd9\xf1\xd8\xdd\xa6z\xa75\x8d\xab/BX3\ +g\x8a\x15\x87\xf6\xa2T\x80T\x01K\x97\xae\xac\x1c\x10\ +\xf2\xda\xf9>\xdf\x22\xa6\xc71I\x0b\xf7\xd2\xea\xcf\x81\ +\xdd\x00{v>A\xff\xa1\xbdh-\xb1\xe3ud:\ +7O\xfb[\xad5A)\x8b\x97\x1fBII\xaa\xae\ +\x9e\xfa\x86\x86\xf0\xa8\xb8\xe2+\x7f(\xd6\x1f\x8bg\x5c\ +Dm\x1c\x13\x02\xfc\xe5\xb7uVY\xea*@\x02<\ +\xf9\xe0\x9d\x94\x8a9\xb4\x92$[\xd6\x10\xcb\xb4O\xfa\ +\x8d\xd6\x1a\xa54J\x83\xd2P\x1c\xe9E\xc9\x00%\x03\ +\x96t.\x8d\x9eOH\xeb\xcf\x8f\xc53.\xa26\x8e\ +Y\xc7\x90\x0f}_?\x80\xe6\xb3\x00\x9e[\xe0\xe9G\ +\xef\x89\x22}uK\xceD\xd8\xa6V\xa7\xb5F\xe9\x8a\ +\xe0\xcb\x8b[\x18&\xf0\x8a(\x19\xd0\xd0\xdcH<\x1e\ +\xd5\x02\xdf\xf5\xc5+\xc5\xcc\xce\xc4\x22\xe6\x84c\xda3\ +h\x99T\x9f\x03q?\xc0\xc0\xe1\x1e\xf6\xef\xde\x81\xd6\ +\x12a\xd9\xa4;6U\x04\xaf\xaa\x84_^W\x9a\xe2\ +\xd8\x11\xa4\x0aPR\xd1\xde\xdeV\xbel]\xdc\xb1\xde\ +},\x9fs\x11\x15\x1cS\x02\xbc\xed\x87Z\x22\xe4\x1f\ +\x00Y\x80\x9d\xcf>Nvt\x10-\x03\x9cT\x0b\xb1\ +\xfa%\x93\xbe\xfc\xca\xa2q\xf3C\xc8\xc0G\xc9\x80\xe6\ +\xa6f\x84eB\xc8\x02\xde\x7f\xcb\x95b\xb6\xfd\x0e\x16\ +q\x148\xe6}\x03?\xf8\x03\xbd[#\xde\x0f\xa0\x94\ +\xe4\xe9\xc7\x1f\xc6\x0f<\x94\x0cH6\xad\xc2rRh\ +\x0dZU\x04_\xf6\x05\xa4\x94\x94rCH%\xd1@\ +sCS\xf9\xb2\xab\x0e\xda\xf6\x9bg\xba\xf7\xa3\xdf\x12\ +\xb1{o\x12\x7f\xda}\xa3\xf8\x9b\x07\x7f \x1af:\ +\x7f\x11\x0b\xd49\xf4\xda\x7f\x0d\xb6\x01\xb7\x00\xe4s\xa3\ +\xbc\xb8\xf3\x19\xa4\x0cPJ\x93lY\x8bB\xa0\xb4F\ +km\xc8P\xa5\x09\xbc\xc2(2\xf0\x912\xa0\xb1\xb9\ +\xbe\xfa\xb2\xd3\x06\x86\xee\xbdQ\xbc\xb1\x94`\xbb\xd0|\ +\x0d\xc1\xc7\x02\xc9'\x16\xe2\xdd~\xd3\xb0`\xbd\x83\x13\ +B\xfd1\xd0\x03p\xf0\xc0>\x06\x07\xfa\x91R\x82\x15\ +#^\xdf5\xc9\x17\xd0\xca\x10!\x08|\xbcR\x0e)\ +\x03l\xcb&\x9d6\x89\xa3\x08\xbd\xe5\x1f\xde.\xce\x9b\ +x\x9f\xeembs\xf76\xf1\x0b!\xb8\x0d\x88\xd2\x8b\ +\xd0L:w\x11\x93\xb1`\x04\xf8\x93\x1f\xe8a%\xac\ +w\x02\x0a`\xd7\xf3\xcf\xe0\x96\x0aH\x19\xe0\xa4\x9a\xb1\ +\xe2\x99\x9a\xbe\x80\xd6\x1a\xbf\x98CII \x03\xea2\ +U\xc9\xc2v%W\xe0\xa1\x9bD\xeb}7\x8a\xaf\x01\ +O\x02\xaf+\xef\x17V\xf4J\x152,bJ\x1c\x93\ +\xde\xc1\xd3\xe1+\xef\xb0\xaf\x17\xf0\x11\x80\xc6\xc6\x16\xd6\ +\xae_\x8fV\x0a)=\xf2\x83\xfbP\xd2\xd8\xfb\xc8\x1c\ +`4\x81\x93\xa8G\x0b\x0b%%G\xfa\x06\xf1\x83\x00\ +\xc0O%\xd4\x86\xd3/\xe6\xcd\x08>\x05DNB}\ +\xcbJ\xd6\x9cu\x15\x07w\xfe\x94\xc1\x83&\xe5\xccO\ +S\x7f\xc9\xdbtnA_\xf0%\x8ec>>\xc0D\ +\x8c\x05\xea\x13M\x8e\xf5Z\x0d\xe7\x8c\x8e\x0e\xd1w\xf8\ +\x10-\xad\xad(\x0dN\xba\x95\xd2\xd8\x91H\xe8\xd5\x04\ +\xf0\xbd\x12\xc2\x89\xa3\xa4\x22\x9d\x8c3\x9a\x0bhj\xd3\ +\xb15g\xf2\x08\x82\xa8\x8e\x18O6\xb0\xfa\x8c\xb7\xd1\ +\xba\xe2B\x10\x16\xe9\xfa\xa5\x0cb\x08\x10\xcf\xb3\x1ex\ +b\xa1\xdf\xf1\xa5\x8c\x05'\xc0\xa7~\xa8\xbd\x1b\xde.\ +\xae\xc2\xb2\x1e\x05R\x07{{H\xa6\x92\xc4b\x0eX\ +1\xacX\x1a\xdf-L&A\xe0#\xb4@\xa3I7\ +\x08:O\xd14\xb6i\xc0\x08_X\x0e\xcbO\xfdm\ +\x96\xae\x7f\x03\x96\x93\x8a\xee\x17O5G\xeb\xca\xaa\x10\ +e\x11\xb5q\x5c\x86\x88\xf9\xe0\xbf\xe9\x1d\x1a>\x0c\x80\ +\xd6\x1c\xec9\x80\x0c\x02\xb4\x92\x88x\x06-\xec\x9aq\ +\x01\x8dG\xf3\xb2\x1c\xcbO\xcf\x96\x85\x0f@\xfb\xcaW\ +p\xee\x1b\xfe\x96\xe5\x9b\xde\x00\x89TE\xe6Zs\xce\xf1{\xbb\x97\ +&\x16\xbc\x1aX\x0b7\x5ce\xff\x13\x9a\xf7\x01\xa42\ +1Vl\x144\xb6\x97\x22U\x0f\xd0\xbe\xf2\xa6\xd4\xb7\xacb\ +\xcd\x99\xbfK\xa6y\x0d\x86\x11\xa1\x92R\xa3\xa0\xb3\x95\ +}b\x82\xf2\xb2\x1a\xc12&\xff\xd9\xbb\xbe\xc9\x9d_\ +}\x88\xe7\xef\x8c\xfa\xa1Vc'\xf0;_\xd7\xfa\xf9\ +\x05x\xb5\x97\x1c\x8e\xab\x0fP\xc6\xf9\x97\xf3*\xa5T\ +\xbcZ\x86\xf1d\x03+7_A\xfb\x8a\x97\x81\xb0\x89\ +\xf2\xcc\xf5\xa8\xf9\xea\xd1\xa1\xd0-\xb3\xae\xf5x-\xa0\ +]\x94Tt\x7f\xf7nn\xbb\xeeI\x8a#\x95C\x09\ +\xcb\x02\xadq\x0d\xd97\x027\x09!.\xd0\x8b\xc3\xd5\ +\x1d_\x0d\xd0\xfd\x1dq\x0a6\x7f\x0fD\xbd\x80-\xcb\ +\xa1k\xdd\x85t\xae\xddB,\x96\xc1\xb2\x13\x08+\x06\ +\xaa\x08j\x08\x080B\x0f\x171q\xdd`\xe7={\ +\xb9\xf5cw\xd2\xfbLO\xb4\xaf\xceq8\xaf\xb9\x99\ +\x95\xb1\x18\x85R\x89{FG9\x22#\x95p\xf5\xd7\ +\xb5\xde\xb6\xe0/}\x92\xe3\xb8\x10\xe0\xae\x1bES\xcc\ +\x84n\xdf\x07D\x0a\xbf\xb9k#\x9dk\xcf'\x91n\ +\xc5\xb2\x13\xd8v\x12\xcb\x12Xd\x11\x14\xa9)\xf4h\ +\xdb\x06,\x06\xf7\x8f\xf2\xef\x9f\xfc%O\xfedGt\ +?\xc7\xb28\xaf\xbd\x9d\xb3\x9a\x9aP\xbe\x8f\xefy\xf8\ +\x9e\xc7p\xa9\xc4\x7f\x8c\x8d\x11\xd6/\x0e\xbb\xb0\xf1\xbf\ +\xbb?\xb0\xa0&\xe0\x96[\x84\xbd\xac\xc0{b\x82\xcf\ +@\xa5J\x96\xaao\xa7}\xcd9\xa4\x1b:\xb1\xed$\ +J\xf9 4\xc8>\xb4p\xc1Ia\xdbq\xc2\x98`\ +\xa8\xeeue\x1b\x8d\x9b/q\xfb\x97\xef\xe7\xce\xaf?\ +H\xe0V\x0c\xfd\xe6\xf6v.^\xb1\x82\x14\xe0\xbb.\ +\xbeR(\xdbF\xda6\x0d\xb1\x18\xeb\xe3qvz\x1e\ +@W\x12\xfe\x02\xf8\xf4B\x96\xc1\xc9\x8e\x05#\xc0\xbd\ +7\x89\xd7.\xd5|E\xc3\xe9\xd1\xcd\x12i\x9a\x97\xae\ +\xa7\xbeu9\x96\x930\x1dB,\x17\xe9\x0d \xf5\x08\ +\x8e\x93\x04'\x8dP6\x96e\x87\x03\x86\x8c\x17\xbc\xd6\ +\x9a\x87\xff\xefv~|\xdd\xdd\x8c\x1e\xa9\xb4\xf3,k\ +l\xe4\xf2SNaI&c\xbex\xd7\xc5\xb2\xedh\ +\xb1m\x1beY\x9c\x9eL\xf2\xa2\xe7!\xcd\x15_\xb1\ +P\xef\xffR\xc1\x82\x10\xa0\xfbF\xf1\xbbB\xf0\xa3\xf2\ +\xb6\xb0c4u\xad\xa1\xbem)\xc2\x12h\x1d\xa0\x95\ +M\x10\x1c&(\x0e\x18\x019i\x94\xb0\x11\xc2\xc3\x12\ +\x0eJ8\xd8N\xd9\x194Z`\xcf\xa3\xbd\xfc\xe8\xa3\ +w\xb1\xf7\xb1\xc3\xd1\xbd\x1a\x92I.?\xe3\x0c\xce]\ +\xba\x94 T\xf7\xca\xb2\x90U\xc2\xb7l\x1b\xcb\xb2\xb0\ +l\x9b\x84\xe3\x90\x10\x82\x821}\xff\xedS\xce\x17F\ +\x03Xl\xaa\x1a\x1a\x88\x86\xb6v\x1a:\x96P\xae\xe8\ ++\xe5\x13x\xbdh\xd9\x8f\xe3\xa4@\xa4\x11\xcaA)\ +'\xfc\xeb!\xc2u\xcb\x8a1r(\xc7\x8f?s?\ +\x8f\xdc\xfa\x5cy 2\x1c\xcb\xe2\xd5\xeb\xd7\xf3\xdbg\ +\x9cA2\x1e7\x82W*\x12\xb4m\xdb\xa8\xf2\x12\x12\ +B\xd86;\x5c\xb7,|\x84 X\x90\xf7\x7f\x09a\ +A\x08\xe0+\xbe\x1e\xb3\xd8\x82\xe62\x80\xd1#\xbdx\ +\xc51\xdaV\x9d\x86\xe5\x98P\xad\x1d\xebB[I\x94\ +\xecCH\x0f!\x1c\x94\xe5T\x11\xc1#(\x0a\xee\xf9\ +\xe7'\xb9\xfd\x86\xc7\xf1\x0a~t\xfdS\xdb\xdax\xe3\ +\xe6\xcdt65\xe1X\x16\x96eE*~\xaa/\x7f\ +\xd0\xf7\xb9w`\x80>\xd7\x8cUh\xc7\xe1\xf5\x9fd\ +}\xf76q7\xf0\x0d\xe0\x96-[kD\x0d~\xc3\ +\xb1\x80\xb5\x00!\xee\xdb\xc6G4\xfc\x0d!\xd1\x84%\ +h]\xb1\x8eL\xcb\x0a\x00,+\x8e%@\x05=X\ +Ba;)l'\x8d\xe3\xa4y\xf6\x17#\xfc\xf4\xf3\ +\xcf0t\xa02\x0eQ[*\xc5\x1b\xd6\xac\xe1\x94\x8e\ +\x0e\x9cx\x1c'\x1e'\x16\xfe\xd5\x10y\xfb\xbe\xe7\xe1\ +\x85~\xc0p>\xcf\xdd\x07\x0e\xf0\xdc\xf0p\xa4\x94,\ +\x1b.\xf8#Xs\xd1\xb8\x07\xde\x03|\x11\xf8\xd6\x96\ +\xad\xff}\xe2\x03\x0b^\x0d\xbc\xef&q\xa1\xd6\xfc\x1b\ +\x10u\xfaK\xd67\xd3\xba\xf2Tb\x89\x14\x96\x9d\xc0\ +\xb2\x13\x10\x1c\x06\x9d\xa3\x7f\x97\xe6?\xbf\xd0\xc3\xee\x07\ ++\x91\x9c\xa4m\xf3\xca\xf6v^\xd6\xd5E\x22\x91\x88\ +\x84\x1f-\x89\x04v,6\x8e\x00\xa5b\x91{\xf6\xec\ +\xa1\xbb\xa7\x07\xbfR\xf7\xe7\xd4K7p\xd9\xc7\xb7\x90\ +h\xe8a\xf8\xd0S\x8c\x0d\xf6M|\xe4\xbb\x80\xab\xb7\ +l\xd5\xfb\x16\xb4`N\x12\x1c\x978@\xf7wD=\ +6\x9f\x01\xdeO8\xc4\xac\xb0\x1c\xdaV\x9fB]\xf3\ +2,;\x81;&\xb8\xf3+\x8f\xf1\xc8-=\xe8\xf2\ +h\xb3\xc0\xe9\x99\x0c[\xda\xda\xa8K\xa5j\x0a\xbez\ +[i\x8d\xef\xba<\xbe\x7f??{\xf6Y\x86\x8b\xc5\ +\xe8\x19:7t\xf1\x96/\xbc\x95\xd3.\xdd\x84\xd2\x12\ +\xad$RI\xdc|\x0f\x83=Opd\xef}\xa8 \ +23c\xc0\x07\xb6l\xd57.x\xe1\x9c`\x1c\xd7\ +H\xe0}7\x8a\xb3\xb5\xe0\x1b\xc0\x05\xe5}\x0d\xedK\ +\xd9uO\x03\xbf\xfe\xfa\x8b\x94\xb2\x15;\xbf\xd4\xb6\xd9\ +RWG{*5I\xd0\xb5\x84\xef\xc4\xe3\x1c\xce\xe5\ +\xf8\xe1\xc3\x0f\xb3\xab\xbf?\xbaN\xaa1\xcde\x7f\xf5\ +&.~\xcfk\xb0\xed\x22P@\xe9\x94I8Q\x0a\ +\xa5$JI\xbcb?\xfb\x9f\xf9w\xb2\x03{\xab\x1f\ +\xf9\xc7\xc0{\xb6l\xd5\x93\xd4\xc4o\x0aN@c\x90\ +\x10\xf7n\xe3C\x02\xae\xef}\x0a\xeb\xb1\x9ba\xf4P\ +\xe5h=\xf02\xcbbuY\xc0\x13\x05]C\xf0.\ +\xf0\x8b\x17^\xe0\xfe={Pe\x0f\xdf\x12\xbc\xf2]\ +\xaf\xe5\x8aO\xbe\x85\xba\xa6!\xb4\xf7,\xc8\xc3\xa6\xcd\ +@\x0b\xa4X\x02\xd62\xb4\xdd\x89V\x1a\xa5\x14J\x07\ +\x0c\xf5\xdcO\xef\xf3\xbfD\xc9\xa8\x82\xd0\x0f\xbc{\xcb\ +V}\xdb\xf1-\xa7\xe3\x83\x13\xd2\x1ax\x9d\x10V\xa1\ +\x83{\xb2}l)\xef\x8ba\x22F\x1b16b6\ +_\xbd\x88\xc5x\xb4\xaf\x8f;v\xef\xa6\xe4W\xb4\xc7\ +\x86W\x9d\xce[\xbf\xf4G,\xdf\xdc\x82\xf6\x9e\x80\xe0\ + \xe8\x92\xc9#\xd0.Z\xbbH\xe9#\x03\x9f@Y\ +X\xc9\xf3\x10\xce\x1a\xa3\x0d\xb4\xc4\xcd\x0fpp\xc7\x8f\ +\xc9\x0f\xef/_R\x03\x9f\xd8\xb2U\x7f\xfe\xf8\x95\xd2\ +\xf1\xc1\x09!\xc0\xfb\x84\xf8\xb4\x86O\x81\xb1\xf3k\x80\ +\xb3\x81\xea\xa1\xa5,\xc7\xa9)\xfc\xb2\xd7\xbf\xb7X\xe4\ +\x8e\x03\x07\xe8\xaf\xb2\xf3\xad\xab\xbax\xf3\xe7\xdf\xcd9\ +\xff\xf3\x02\xb4\xbf\x0b\xfc\xe7M\xee\x80.\x01nD\x00\ +t\xc9\x10\xa0L\x02\xe9\x81\xbd\x0c;u\x11\x9a\x04J\ ++\x94\x0c\xe8\xdf\xf7_\xf4\xef\xee\xae~\xf4\x7f\x01\xfe\ +d\xcbV\xfd\x1b\x13?8\xee\x04\xf83!\xceWp\ +\x1f`\xc5\x80\xdf\x02Zk\x9c'\x84\xa8\xf9\xd5\x8f\x01\ +\xf7\x0c\x0e\xf2b\xb6\xd2\x86\x13\xcf$y\xfd\x87\x7f\x9f\ +K?p%\xb1x\x1e\xed?\x1b\xa6\x8aU\x04^Y\ +7\xdbJy!\x09\xbc\x90\x04>JY\xd8\xa9\x0b\xb1\ +\xe2\xebPZ\xa2\xa4$;\xf0$\xbd\xcf\x8e\x9b\x04\xe3\ +v\xe0m[\xb6\xfef4\x22\x9d\x08\x02\xbcZ\xc1\xdd\ +\x00\x9b\x81\xb3\xa69\xd7\x8e\xc5*\x1e~,\xc6\xa3\xc5\ +\x22O\xe5r\x15;/\x04\xe7\xfd\xde\xc5\xbc\xe9\xb3\xd7\ +\xd0\xb4\xb4\x05-\xf7\xa3\xbdC\x08+\x00\xedM\x10\xfa\ +\x04\x22\xe0\x12\x04\xde\x04M`\xd6\x85\xb3\x86x\xdd%\ +a\xf75I)\xbb\x8f\x9e\xed\xffN\xe0\x95\xca\x8f\xf6\ +\x14p\xf9\x96\xad\xbag\x8aG\x7f\xc9\xe0\xb8\x13\xe0\x8f\ +\x85Xi\xc3>0\xaa\xff\xc2i\xce\x15\x96\x85\x1d\x8f\ +\xf3\x22\xf0\xa8\xe7Q\xaa\x9a\x8af\xf5\xcb\xd7\xf3\xd6\xeb\ +\xafa\xcd\xf9\xa7\x82\xecG\x07\xc6^K\xe9\x83\x96\xd8\ +6\xe3I@\x85\x04Z\x95@{UZ\xc0'\xf0}\ +\xa4\xaa\x90\x01\xab\x95x\xe3\x1b\x80\x04J)\x02w\x98\ +\x9e\xed?\xc4\xcd\x0f\x97\x1f\xe1 \x86\x04O\xf2\x12\xc6\ +q'\xc0uBXGL\xa7\xd1%\x02\xb8\x0c\x98j\ +\xf8\x8f#\xc0cB0\x5c\xf5\x8c\x8d]\x8d\xbc\xe9\xba\ +\xdf\xe3\x15\xef\xb8\x18\xa1]\xb4\xff\x02\xe8\x1c\x888Z\ +\xd9(%\x91\xd2E\x08M,f\x1b\x12\xe0FdP\ +\xb2\x80\x96%\x04.\x08i\x84\x1fj\x82\xc0\xf7\xcc\x00\ +\x15\xca\x90@\x93\x22\xd1t9\xc2j6#\x9bH\x97\ +C\xcf\xdfF.\x1c\xee\x1e3\x0e\xc2[\xb6l\xd5\xbf\ +\x5c\xb8\x12[X\x9c('\xf0j\x0d\xdf\x05X\x86\x99\ +n\xb4\x1ay\xe01\xa0z\x16)'\xe1p\xe9\x9f\xbd\ +\x96\xd7\x7f\xf8\x8d$2)t\xb0\x1b\x82\xfd bh\ +\x1c\x84H\xa0q\x90A\x10\x0e2Q\xc2\xb6m\xe2\xc9\ +\xd88M \x83\x02J\x16A\xbaXN\x80\xd6\x92@\ +z\x04\xbeG\xe0\xf9\xf8\xd2Ck\x89V\x01R\xfa(\ +%H4\xbe\x01;n\x02\x99\x96\xdd\xc0\xe1\x9d?b\ +\xf8\xe0\xa3\xe5G\xf3\x81\xad[\xb6\xea\x9b\x17\xb4\xd0\x16\ +\x08'\x84\x00B\x08\xf1\xa7\xf0\x90\x86\x97\x03l\x01V\ +aF\x98\xda\x0e<\x17\xae\x97q\xd6\x15g\xf0\xe6\xcf\ +\xbd\x85\xf6\xb5\x9d \x07\xd1\xfeS\xa0}\xb4N\x00\x0e\ +\x9a\x18Xq,+\x89\xd6f\x8c\x22\x19\xb8\xc8\xa0D\ +2\x95&\x16\x0f5\x81\xf6\xd0\xb2\x84\xefg\x8d\x19P\ +\x1e\xb6#P: \x08<\xbc\x92K }\x82\xc0G\ +\xe8\x00E\xa8!\xa4$Q\xff*\x12\x99\xb3\x01A,\ +\xb9\x92\xfe=\xb7r\xe4\x85_\x95\x1fQ\x03\xd7n\xd9\ +\xaa\xff\xe1\xb8\x15\xe21\xc2\x09!\x00\xc0\x9f\x08\xb1E\ +\xc0\xbd\xe5\xedf \x87\xf9\x9c\xcahZ\x0e\x97}\xec\ +L\xce\x7f\xfb\xbb\xb0\x84\x8d\x90\xcf\x83\xf7\x0c\x88\x84Q\ +\xf9$\xd0Xh\xe9\xa0qp\xe2\x19\x101d )\ +\x15FP\x81\x8b\xd6\x1euM-XBE\xe6@\xfa\ +\x05|7\x87V\xc6\x0c81\x81\x94&\x97\xc0sK\ +\x04\x81!\x01H\x10\xd28\x87\x81O\xa2\xee\x5cR\x8d\ +\x97 \xac$\xb1\xe4\x1a\x86{~B\xcf\xf6\x1fU\xbf\ +\xd6\x17\xb6l\xd5\x1f=.\x05x\x8cp\xc2\xa6\x8f\xff\ +\x86\xd6\xdd\x1a>J8~\xc00\x15\xe1[\x0e\xd9\xf3\ +\xde\x09\x97}\x066\xbczS\xd8u\x5c\xa3\xdc\xe70\ +I\xa2f\x11\x04\x08\x14J{(\xe5\xe2{y \xc0\ +v\x04\xb1x\x1c\x8dD\xc9\x80\xec\xd0\x91\xaa;\x0b,\ +;\x06\xc22\xc3\xd4\x04\x012P\x08L\x93\xb2\x13\x8b\ +\x01\x02\x81@\x05 \x03\x10\xc2B\x08\x8bR\xf6\x11\xf2\ +C?E\xab\x02\xd2\xeb\xa3y\xf9\x9bX}\xee\xbb\xab\ +\xc7$\xf8\xab\xeem\xe2;\xdd\xdb\xc4\x09\xc9\xb6\x9e\x0b\ +N\x18\x01\x00\xbe\xa1\xf5\x17\x80\xd7\x03}\xc0a\x8cF\ +\xf8\xd2\xe5\x9f\xe3\xaf7\xfe\x96\xc9\xfdt\x9c8h\x8d\ +F\xa1T\x01\xad\x03\xd3\x1bH\x87$\x10\x0at\x80V\ +>\xd2/\xa0\x82\x22\xe8\x80X\x22\x89\xed8h\xad\x08\ +\xfc\x12\xb9\xd1\xc10\x8d\x5c \x84 \x91H\x86\xc3\xd4\ +\x08JE\x0f\xa5\x01!\xb0l\x8bx\xc2\x90\x00\x01*\ +\xd0H_SNf\xf1\x0a\xcf\x91\xed\xff\x11\x81\x7f\x18\ +%\xc7\xa8\xef\xb8\x98\xb5\xaf\xf8P\xf5dY\xef\x02\xfe\ +_\xf761\xbe\xd7\xeaI\x8a\x13f\x02\xc6=\x84\x10\ +\xa2:G\xbf{\x9bx\x1f\xf0O\x00\x9b.\xbc\x9aL\ +\xcbf,\xcbFe\xbf\x8fm;\xe1leq\x10f\ +Q\xda\xc6+\x05hma9\x09\x12\xa9F\xc0B)\ +\xc9\xd8@\x0f\x81_BI\x8f\xc6\xb6\x0e\x12I'\xf4\ +\x07|\xdc\xe2\x18n)\x8b\x0c|,\x1b\xe2I'\xac\ +\x06\x06\xf8\xbeO\xa9(\x09\xbc\x1cR\x05\xa0%\xc2\x91\ +\xe8\xb0\xa9\xd2\x8euP\xdf~%\xf1\xcc\x19\x08\x91\xc0\ +\xcb\xeff\xf7C_\xc2w\xa3<\xc5\xfb\x80+\xb6l\ +\xd5\xc3\x9c\xc48\xa1\x1a\xa0\x8c\x1a\x1d4\x22W@c\ +\x1b\x13\xa0|\x94\x0a\xc2\xd6\xbb\x8a\x19\x80\x00Kh\x10\ +\x12\xa5}\x02\xb7\x80\x96\x9e\xd9oA\xba\xb1\x19\xad\x15\ +ZKF\xfa\x0e\x86s\x16\x9b\xaf9\x91Jb\x09\x0b\ +4\xf8^@\xe0\x06\x08,\x84\x10\xd8\xb6 \x91Ja\ +\xc5Z@\x0bd\x00\xbeK\xd4_E\xfa}\x8c\xf5}\ +\x0f/\xff4\xa0\x88g\xd6\xb2\xfe\xa2O\x93\xa8\x8bF\ +E\xbd\x08\xb8\xb7{\x9b\x98\xfd\x0c\x1a'\x00'\x05\x01\ +j\xa0B\x00M$\xc0r\xd3\xadRj\x82)\xf0q\ +l\x81\x96>Jyxn6:\x16\x8f'Hf\xea\ +\xcc\x98\xc4\x81\xc7H\xff\xe1\xaa\xdb\x08R\x99LH0\ +M\xb1P2QF!@\x08\x84(\x92L\xd7c'\ +:\x11B\xa0%\xf8\xae\x8eH\xa0\x82QF\x0f\x7f\x1b\ +7g\x06!q\x12\x9d\xac\xbb\xe0SdZ\xa2a\xef\ +O\x03\xee\xeb\xde&f7v\xfe\x09\xc0\xc9J\x00\xaf\ +\xbc\xa2\x82B\xe8\x03\xd8\xa6c\xb02\xc9\x1cJI\xa0\ +B\x02\xdb\xc1T\x0d\x95Q\xedF;H@R\xd7\xd8\ +\x1ce\x18\xe7F\x87)\x15*\xe9\xe4\xb6c\x93H%\ +\xd1J#\xa5\xa6\x94/!\x84\xa0\xfc\x0f\xd5G\xba~\ +\x09N\xc2$\xb5\xca@\xe0\x16u\x94\x9c\xaaU\x91\xd1\ +C\xdf\xc0+<\x15^\xaf\x915/\xff(\x8d]\xd1\ +\xac\xa8+0\x9a \xca\x818\x99p\xb2\x12 \xd2\x00\ +R\x16\x8d\x06P\x1a-\x1c\xd3H\x13i\x82 <5\ +@ \x89\xc5mc*\x02\x17\xafX\xd1\x02\x02EC\ +K\x1bZ\x99\xb1\xe8\x06\x0e\xf5Rmu\xd2u)l\ +\xc7\x98\x1a\xb7\xe0\xe1\xb9\x81!A\xb8(o'\x99\x96\ +\x8d\xc4S\xcb\x11\x80\x0a\xc0\xcd\xeb(sIk\x9f\xe1\ +\x9e\xaf\xe2\x17\x9f\x05@X)V\x9cu-\xad\xab\xa2\ +\x99SZ\x80_uo\x13\x97\x1d\x8f\xc2;\x1a\x9c\xac\ +\x04\x884\x80\x0c\x0aFE\xa3P:\x16\xb5\xd9\x97I\ +`L\x81!A,fE5\x82ba\x94j-\x90\ +H&I\xd7\xd5\xa1Qxn\x91\x91\xaa\xac!\x80t\ +}&\xd44P\x183c\x16\x19S\x00\x08MP|\ +\x9c\xba\xb63\x89gV\x01f\x8c\xc3RN\xa3\xa2\x88\ +U\xc0\xf0\xc1\x7f\xc4+>\x83\xf9\xa9\xc3\xd2S\xdfM\ +\xd7\xa6\xdf\x89n\x01\xfc\xb8{\x9b\xd8\xba0E67\ +\x9c\xac\x04\x88R\xb0|7\x17\xfa\x00\x1aM\xac\x22x\ +5\x99\x04\x96\xad\xb1l\x81V\x01\x81\x9bG\xfa%\xaa\ +I\xd0\xd8j\x1c4\xad\x15\x83G\x0e\xe3{\x11\xcf\x88\ +\xc5\x1d\x92\xe9$h\x8d\x94\x8a\xfch\x11Q\xf5\x0f\xed\ +\xe1\x17\x1e\xa3\xb1\xfde\xa4\xea\xd6\x98\x91iB\x12\x94\ +\x93\x87\xb4*2v\xe4&\xdc\xfc\x93\x18GA\xd0\xbe\ +\xfam\xac<\xfb\x8f\x08\x1dO\x07\xf8n\xf76\xf1\x91\ +\xe3R\x8a\xb3\xc0\xc9J\x80(#7p\xf3F]k\ +\x85&\x1e6\xf6H\xa4\x0c\xc2\x86\x9b\xf1\xfe@K\xa5\xbah\xb4@CS\x13\xf1x\x02\xad\ +\x15\xd9\xd1Q\xb2#\xa3\x91C'\x84\xa0\xbe\xa5\xc9\xe4\ +\x01\xa0\xc9\x0e\x17@\x85V \xfc\x17\x94v#\xbd\x1e\ +\xea\xda\xce$\xd3\xb2\xd1\x8cs\xac\xa08\xa6\x08\x5cs\ +!\xbf\xf8\x02\x85\xd1\xbb)\x8e\xdd_~\x0d\xd2\x8d\x1b\ +Y\x7f\xd1gH\xd6G5\x84?\x07\xfe\xab{\x9b\x88\ +f\xc78\x118)\x09\xb0e\xabV\x84\x8d\x81\xa5|\ +_8\xc9\x84\x02\xab\xc9h\x00e4\x80\xef\x87D\x08\ +\x1dB\xa5$BHb1\x0bM\x80[\xca#\x037\ +t\x06\xa5\x19_H(\xda\x96vR\xeeh\xda\xbb\xef\ +`H\x1e\x00M\x00\xbf\x985m\xf8Z#\ +\xac\xa6\xa8\x1a(\x03\x89\x96\x01\x81?^\x0b(%I\ +\xa4\x9cp*:I\xa9\x90\xc5|\xfdeM\xa0He\ +\x92467\xa1\xd1\xf8%\x8f\xbe\x9e\xd0\xe5\xd0\xe6\xbf\ +\xba\xe6f\x9cX\x06\xa55\xc5\x9c\x8b\xef\x05\x13\xfc\x01\ +E)\xfb\x10Z\xfbd\x9a7Q\xdfi\xe6>\xd6\xda\ +\xf8\x04n\xce\x90\xc0\xcd=\x81Wx\x9e\xc2\xe8\xdd\xa8\ +\xc08\x9d\xb6\x93`\xc5Y\x7fL\xd7\xc6\xab\x08\xfd\x82\ +\x0e\xe0\x97\xdd\xdb\xc4G\xbb\xb7M\x1c\xf8h\xe1q\xd2\ +\x13@)\xf0\xdd~\xb4R\x08\xbb)t\xfa\x14R\x05\ +\x04A@\xe0\xfbF\xf0\xb2B\x00'\x1eCJ\xe3\x1c\ +\x16\xb3c\x15\x0d\x80\x8c4A\xfb\xd2\x0ela\xa1\xb4\ +\xa2\xaf\xb7\x9fR\xbe\x14\xc6w4\xc8\x01\x9a\x97\x9c\x1d\ +\xd6\x0a4c\x03ES\xe5\x0b\xb5\x80\x10\xa0d\x9eR\ +\xce\xe4\x04d\x1a7\xd0\xb4\xf4\xecp\x143p\x0b\x9a\ +\xe2\x98\xe9\xd1\x5c\xca=\x82\xf4z)\x8e\xdeGP\xda\ +e\xdeL\x08\xda\xd7\xbe\x81\xd5/\xffK,'\x0d&\ +\x11\xfa\xf3\xc0m\xdd\xdb\xc4q\x1d\xdb\xf0d&@\x94\ +\x93\xed\x16\xfaM\x0c^$\x8d#\xa8\x0d\x09\x94\x92\x04\ +\x81\x8f\x94\xe35\x80\x10\x8aX\xccF*I\xa9\x90G\ +)\x13\x1a\x8eH\x80\xc4v\xa0sEG8y\x85\xe2\ +\xe0\xee\x1e\xa2\x10\x9fV8N\x81\x86\xb6M\xa0\x08M\ +\x81[\xfe\xfe)\x87\x92\xa5w\x18\xaf\xf8\x1c\x00\xa9\xfa\ +\xb5\xb4,\x7f\x85q\x225x\x05M~D\x83\x92\x94\ +\xc6\x1e@\xcaa\xdc\xfcv\xdc\xdc\xa3\x94\x9d\xc3\xfa\xb6\ +\xd3\xd9\xb0\xe5\xb3$\xea\xa2h\xf1\x15\xc0\xa3\xdd\xdb\xc4\ +\xcb\x16\xbap\xcb8\x99\x09\x10\xe5\xda\xb9\xa1\x1f\xa0\xb5\ +\x02\xab\xd9LF\x85B\x06\xe6\xcb\x0f\x02o\x9c\x1f\xa0\ +\x94$\x91\x8c\xa1\xa5\xa91\x14\xb29*f\xc0\x10@\ +kEcK\x13\xe9\xba\x14Zk\xc6Fs\x0c\xf5\x8d\ +\x18\xcf\x1e\x8d\xf2{i\xe88\x15;^\x8f\xd6\x9ab\ +\xd6\xc3-\x04D.\xa1\xa8\xb4\x0e\x06\xbe\x09/'2\ +\xcbi[\xfd*\xacp\x82,\xbf\xa4\xc9\x0e(\xa4\x0c\ +(\x8d\xdd\x8fR9\x02\xf7@\xe8\x17\x98t\xf6x\xaa\ +\x83\xf5\x17\xfe5\x8d]\xe7\x97_w\x0d\xd0\xdd\xbdM\ +\x1c\x97\x09\xb4Of\x02\x08\xf4\x02\ +\x14\xb3\x03a\xa3\x90\xc6r\xda\x22?\xa0\x9c\xbb\xef\x8f\ +#\x80Y,\x0bl\xc74\x09\xe7\xb3y\x82 \x18/\ +\xfcpI\xa4\x12\xb4v\x9a\xa4O\xdf\x0b8\xbc\xbf\x8f\ +\xf2\x90\xe5\xd2;\x80\x93\xac\xa7e\xe9\xe9(L[A\ +v\xc0\x8b,E\x19Z\xfb\x94\xc6\x1eD\x87\xaa\xdd\x8e\ +\xd5\xd1\xb9\xf6\x12\x12\xe9fSM\x0c \xdb\xa7)e\ +\xf3\x14\xc7\xeeCk\x1f\xadJ\x14\xc7\xba\x09\xdc\xbd\xe1\ +U\x04-+~\x8b\x0d[>G\xb2.\xeaH\xfd*\ +\x8cI\xf8Z\xf76\xd1\xb2\x10\xe5|\xd2\x12 \xc4C\ +\x00~1\x8f\x0a\xc6\x0c\x01b\xcb\xab\x22\x80\xda\x04\x85\ +\x02\xe3\x10N$Ac\xa5eT\x95\xd4JGm\x07\ +\xcb7U\xfa)\x1d\xde7\x88*\x1b\x02w\x0fhI\ +\xa6y=\xf5\xad\xe5(!\xe4\x86j0\x00M)\xfb\ +0J\x15\xc7\xedM7\xaeg\xc9)\x17\xe0\xc4\x8c\x16\ +Q\xbefp\xff\x08\xc3=\xff\x85\x0c\x9dA\x00\xbf\xb8\ +\x87\xe2\xc8]\xa8\xc0d\x92\x09+M\xc7\xfakX\xbf\ +\xe5\xa3\xd4\xb5tT_\xf2\x0f\x80\xe7\xbb\xb7\x89\x0f\xcf\ +\xa7\x9cO\x0a\x02\x84\xed\xeeV\xb88B\x88\x18\x10{\ +\xcb_PT\x9aG\x00\xdc\x5c\x0e\xe9\x99/+\x96X\ +\x11\xda\xf1\x00D\xd8\xb7\xbf\xec\x0c\xca\xf1A\xa1T]\ +\x22\xfa\xda\xb3\xc39\xd3\xf3\xb7Z\x0b\x94\x89 \x87I\ +7\xae\xa7\xb9\xcb\x84\xe6\xbd\x92\xcf\xe8\x91\xb1\xb0\xc1\xc7\ +'p\x0d\x01[W\x9cO,\x9e\x04\x05^^S\xcc\ +N6\x05Z\xb9\xb8\xd9\x87\xd1\x8c'H<\xb5\x94%\ +\x9b^E\xb2.\x19\xb5!\x8c\x1e)qd\xd7\xaf\xf1\ +KQ\xd8\x03%s\x14G\xef\xc1/>G\xd9\xe3L\ +\xd6\x9d\xc6\xea\x97\x7f\x8e\xd6U\xe3\xba\xd1d0\xa3\x99\ +\xcc\x19'\x84\x00U\x02\xb7\x85\xa9\xf7\xc40M\xa5\xb1\ +\xaau\x07pJ.\xb7\x81\xd1\xc6\x85\xd1\xbd\xe6\xf7V\ +\x1a;\xd6n\xd4|\xbc\x01%C-\xe0\xfa\xe3s\x05\ +\x94D\xd8\x16\x89LKX\x1d,\x10\x04~$\xf8\xc8\ +\x17P\x0a\x15\x0c\xa3\xb5`\xe9\xfa-\xd1\x94\xb5\x03\xbd\ +c&\xe4\x8cF\x96^4\x89\xa1v\x92\x8eu\xe7\x95\ +\xa3\xc6\xfa\xdd:\xd7\x00\x00\x10pIDAT\xe4\x87\ +\x14\xd2\x9f\xf8\x86 \x83\xa10_p<\xecX\x0b]\ +\x1b.\xa5\xa9\xb3\xf25\x97\xb2\x92\xde\xe7\x1e\xa60\xb2\ +=\xaaI @\x888\xd5\xcefa\xe4 #\x87\xa2\ +\xf0\x88\x07\xbc}\xcbV\xfd\xad9\x8a\x018\x8e\x04\x10\ +\x06\x96\x10\xc2f\xbc\x90k\x09\xbf\xbc\x1e{r'\xff\ +Y\xbeFnhot\xbdX\xd2$f8\xf1z4\ +q\xb4R\xf8n0\xc9\x0fP\xca#\xd3\xbc\x07\xb7\x7f\xbb\x5ck\x18\x06^\xb7e\xab\xfe\xc5\xdc\ +\xa42\x1e\x0bB\x80Y\x0a}\xa2\xe0\xa7:\x1e\x1b\xcd\ +\x19-\xa0\x02\x8f\xe2\xa8\xa9f9\xf1\xa5\xd8\xb1V\xb4\ +\xf6\x89\xa7\x96\x86I\x9d\x0a\xafTv\x06\xab\x92ED\ +@\xa6i\x05Z+\x8a\xb9\x12~\xc93\x82\x8f|\x01\ +Y\xa5\x05\x14B\xc4Y\xba\xc1\xe4pj`\xa87g\ +\x9a\xa4U\x09\xdf-wY\x15\xb4\xaf9\x1f;f\xe6\ +0*\x8ei\xdc|\x0d5\xa0%\xa5\xb1\x87\xd0\xda\x9b\ +|\x0cp\xe2\x1d,\xd9p)\xad+Wc\x85=\x8c\ +\x0a#=\xec~\xf0\x06\x06\xf6\xfd_\xf6>\xfay\xfa\ +\xf7\xfc\x22|\x12\x0e\x05\x92K\xb6l\xd5\xf7\xcfM2\ +\x93q\xcc\x08Pe\xd7\x1d\xc2a~j\xfc\xad%\xfc\ +\xf2\xf1ZZ\xc0\x01\x9c\xc7v\x10u\xbf\xce\xf6U\xec\ +j<}\x06(\x0f'\xd5\x82\x10)\xb4V\xb8\xc5\xc9\ +\xb5\x01)sdZ\xd6\x86f@32\x90\x8d\x82A\ +\x91/\xa0\x94\xf1\xc6\x95is\xc8\xb4\xae\xa1\xae\xc5\xd4\ +\xb2\x8a9\x8fb\xd6\x03\xad\xf1\x8b/P\xce\x06\xb5\x9d\ +:\xda\xd7\x9d\x13\x99\xe9l\x7fm\x7f@\xab\x02\xa5\xec\ +#L\x0a!\x96\xcb\xce\xce\xd0\xb1\xfe=l|\xf5\xf5\ +\xd4\xb5\x9a\x0cr\xe9\x178\xfc\xdc/\xc8\x0d\xee6\xd7\ +\xd0\xec\xe9\xed\xe75\x97\xfc\x11;B\xdf\xe9\x98\xc8n\ +\xde\x17)\x0b\x9e\x8a g\x12~\xad\xfdSi\x00\x07\ +\x88]\xf7M^\x08\xa4\x99\x88zl\xe0E\x944i\ +\xdd\x89\xccf\x94\xcca\x09M\xa2n\x05Ji|\xd7\ +D\x06\xc7\x91 \xc8\x91\xaa\xef\xc0\x8e\x9b\xfe\x01\xa3C\ +y\x02?\xac\x0aF\xb5\x01C\x00\x1d&\x8a\xa04]\ +k\xcf\x8f&\xa5\x18>R\x08G\x13\xcb\x13x\x95T\ +\xb2t\xfd*\x9a\xbaL\xe8\xd6x\xf5\xb5\xfd\x01\xe9\xf7\ +\xe1\x15vL\xdao9\xcd\xa4\x1a/\xc6\x89\xaf \x96\ +\xecd\xcd\xcb?LC\xc7\xf8i\x8f\x95\xe2\x99\x07\xb7\ +\xf3\xba+?\xc2\x81\xea\xf2;\x16D\x98\xd7\x8f\xc3\x9b\ +\xdbL\x16|-!\xdb\xd4\xd6\x04Si\x88q\xc4\xe8\ +\x1f\xe2?\xc0\xf4\xd5\xcb\x0dl7\xf7\xb7\xd28\xc9U\ +(\x99%Y\xbf<\xca\xd1\xf3J\x15\x02\x98\xe4\x911\ +4\x8a\xe6\xce\xf5f^B\xa9\x18\x1d\xcaU\xc6\x09\xd4\ +&\xa6\xa0\xfc1\x94r\xa3<\x80X\xaa\x91\xd6e\x9b\ +\x01\xf0]En\xd8\xb4\x03x\x85\x9dTK\xb9y\xd9\ +9$\xebM\x10)\xf04c}\xaa\xe6\xc7\xee\x15w\ +\x12x\xbda\xe1\xd9$2\xa7\x93j|5\x96m\xe6\ +:T\xc10=\xdb\xafg\xacog\xf4\x1b%y\xfa\ +_\xff\x83+>\xfc\xf7\x0cL(\xebh\x09\x890\xa7\ +d\x929\x11 t\xeej=\xcct\x84\x98H\x86\xe9\ +\x04?\x89\x08\xdf\xff\x19\xb7\xea\xd0\x03\x1b\xee\xad\x98\x81\ +D\xe6td0\x82\x93l\xc0\x8e\x99\xb1F\xbc\x92\xaa\ +\xd2\x00\x01\x817\x88\xd6\x8a\xba\xd6\xd5\xa6\xbd^iF\ +\xfb\xf3\xc6a\x0c\xd5\x7f\xb9j(\xbd\xde\x8a\x16\xd0\x9a\ +\x96e\x9bq\xe2F\xb8c\x03\x9ei[\x90\xd9qZ\ +@\x08\x87\x8eu\xaf\xc0\x8e\x9b\xe2t\xf3z\x8a \x11\ +\xb8\xb9\xc7\xb0\xec:\xd2M\x97\xe2$\xd7S\xb6\x1f\xc5\ +\xb1\xc7\xd9u\xff\xc7\x19>\x18\xcde\xa5Gs\xdc\xf0\ +{\xff\x9b\xff\xf1\xcd[\xc8NS\xa6\xd5D\xb0\x8e\x96\ +\x07GM\x80\x09_\xfdD\x81O$C\xf5\xf1Z\x0f\ +>\x93i\x88\x8e\xfd\xf8.\x06\x87F\xf8\x15@);\ +\x88\x9b7\x02\x88%\xd7\x82v\xb1\x04$3+\xd0\xca\ +|\x85J\xaa*\x1f\xa0\x84\x0c\xc6\x10V\x82\xe6\xaeS\ +@C\xe0+r#\xc5*_\xc0\x90 p{\x22\xe1\ +k4\x96\xe3\xd0\xbe\xfa\x5c\xc04\xe8\x8c\x0d\xf8h\xad\ +\x8d\x16\xa8\x82\x13k\xa6k\xfd9\x94{\x8a\x17F'\ +\x07\x89\x84\x95$\xdd\xfc:\x9c\xe4j\x84\x95\x0c\xaf\x99\ +c`\xcf7y\xf1\x81/\x87I\xac\xa0\x14\x83\xdbw\ +\xf1\x07\x97\xff\x19_:db_S\x0a\xbd\x96\x0c\x8e\ +F\x1b\xcc\x9a\x00U\xb6\xbez\xb1klOE\x8c\xd9\ +\x90a*\x12\xc4\x00\xe7\x8e\x07\xf9a\xf9yF\x0e\x95\ +\xb5\x80\x85\x153A\x95d\xc32\xc0\xf8h^QG\ +YCJI\x02o\x00\xa5\x15\x0d\x1d\xa7\x82\x153\xbe\ +@\x7f!\xca\x11\xd0a\xbb@\xe0\x0f\xa2dq\x9c\x16\ +\xa8k]N\xb2\xde8\x84\x85Q\x89WP(9F\ +\xe0U\x0dq\x0a$2\xabi[S\xb1\xdf\xd9\x01\x85\ +W2$\x88\xa76\xd2\xd8u\x0d\xf1\xf4\xe9h\xe5\x12\ +\xb8=\xb8\xb9'\xd8\xff\xe8G9\xf4|w\xd4\xcb\xa8\ +\xe4\xf2\xe0?\xdf\xcae\xef\xfd\x1c\xdd5\xcah\xba\xb2\ +\x1d'\x83\xd9\xfa\x06\xb3:)d\xd4D\xe1O\x14z\ +\xad\xaf~\xba}S1zJS\xf1\x8f7\xf3|\xb6\ +\xc0\xb3\x00\xa3\x87w\x98\x8c_ \x919\x03%s8\ +\xc9\x0cv\xdc\xb4\x9e\xb9\x05\xd3\xa6o\xaao\x12\xe9\x0f\ +\x86\x91A\x87\xa6\xaeS\xc3F\x19\xc9\xd8P1j&\ +.\xfb\x0c\x81{\xc0d\x1f\x85\x03S\x80\xa6}\xcd9\ +\x18\xab\x07c\x03\xd2\xa4}\x15'O=X\xd7r:\ +\xcd\xcb\xc2Lo\x0d\xa3\x87\x14\x96}\x01\x99\xd67\x99\ +\x96L\x8c\xad\x1f\xdc\xf7-v?\xf4\xf7d\x07\xa3\x18\ +\x81:\xd4\xcf\xd7\xde\xf2\x17\x5c\xfd\x83\x9f3\xc8\xe4\x0f\ +j\xaa\x8fn\xcae6$\x98\xf1\x04QI\x7f\x99\xe9\ +\x86S\x9d3\x1b\x06\xcfd\xdf\x22\x12<\xf2\x8c\x99\x8a\ +F+\x8f\xd1\xde\xfb\xc3gL`\xc7\xdb\xb1\x04\xa4\x9b\ +V\x86#\x7f\x84=y\x01\xd0\xf8\xee\x91(\xe8\xd3\xd8\ +\xb9\x01;\x96\x06`\xa4\xaf\x84\xef\x07\xe3\x9a\x87}\xef\ +\xa0\xa92\xea\xb09H+\x12\xa9:\x9a\x96\x98\xe0\x93\ +\xf4\xa10\xacP\xc1\x08\x81_=\xfa\x88)\xaa\xa6%\ +\xe7Q\xdfj\xfc\x11\xad\xe1\xc8\x0b\xf73\xd6\xf7\x0c\xa0\ +(\x8e>D\xcf\xf6\xef\xd0\xb7{\x1fA\x18\x1a\x90\x92\ +\xc1\xbb\x1f\xe5=o\xfb\x08_\x1b\xcd\xa1\xa9-\xf8\xd9\ +\x0a\x7f\x9c\x1cf\x22\xc1l4\xc0l\xd8V}\xd3\xa9\ +\x1e~\xba\x97\x98\xadf\xb0\xbf\xf0\x1d\xees}\x06\x00\ +\x06\x0f<\x82\x0aL[\x88\x93X\x8e\xb0S\xa4\x1b\x97\ +\x81\x16h\xcd\xb8\xc0\x8c\x929\xa4?d\xda\xff\x1dA\ +\xeb\x0a\x13\xee\xd5R3r\xb8T\xe54*\xa47\x88\ +R\xf9p\x04\x11\x15\xf9\x03MKO\xc1\x89\x1b\xe2\xe4\ +G4\x81\xab\xf1\x0b\x93\xb5\x80\xed4\xb1\xe2\xac\xbf\xa2\ +u\xb5i\xb8\xd1(\x0e=\xf7\x13\x0e<\xf5Mz\x9e\ +\xbe\x93\xe2X%X08\xc2\xcf?\xf5\x0d\xde\xfa\xf1\ +\x7f\xe4\xe1Y\x94\xddl>\xc4\xf2y\xd12\x9dO0\ +-\x01\xc2\x1f\xcef\xa9u\xf3\xe9\x1en\xb6\x0c\x9fD\ +\x80|\x11\x9e}\x91\x9f\x00(\x190x\xe0\xd7\x84\xa5\ +l\xa2\x83N\x82dC{\xa8\xe2\x19\x17\x98\x09\xdc\x03\ +F\x98JQ\xd7\xba\x82x\xa6\x09\x80b6\xa0\x98\xf3\ +)\x8fC\xa0\xb52\x11\xbf*\xe1k\xad\x11\xc2\xa2m\ +\xf5\xd9\xd1\xf5\xb2\x03\x9a \x18B\xfa&\x81D\xd8i\ +\x12\xf5\xe7\x92j\xba\x14;\xbe\x9c%\x1b\xdfA\xe7\xba\ +K\xa3\xf3\x0b#cQ\x0e\x81\xeb\xb1\xef\xe7\xf7\xf2'\ +o\xfa \x7f}\xd7#\x8c\xcePfS\x91`\xa6\xb2\ +\xae\xd6\x045I0%\x01\xaaT\x7f\xad\x1bN\xb7\xaf\ +\x169\xa6\xda\x9e\xc9d\xd4\xd4\x12_\xfc.?w=\ +\x06\x01\x86z\xb6\xe3\x15\x8d\x1a\xb6\xecF,\xa7\x99\xfa\ +\xb6\x8dQk]q\xacR\x1d\x0b\xdc\x9eqM\xb4\xed\ +\xab\xcf\xa1\x5c\x0d\x1b=\xe2#\x03\x15%\x92\xfa\xc5\xfd\ +&;\xb8\xdc--\xac\xf7\xa7\x1b\x97\x90i6\x89\xa4\ +\xbe\xab)\x8ej\x02\xef \x89\xba\xb3H7\xbd\x16'\ +\xbe2\xbaf\xe0\xf5Q\xca\xef\x1c\x97=\xa65\xfe\xce\ +}\xfc\x9f+\xff\x92w~\xfe_x\x9c\xa9\x85;\xd3\ +\xbe\xa9d0\xdd2\x09\xd3i\x80Z?\xacu\xc1\xe9\ +\x04m\xd5\xf8\xddlH2-Az\x8e\xe0\xdf\xf1 \ +7\x96K\xb4\x7f\xf7]\x80Q\xf3\xf1\xf4)$2\x1d\ +$\xd2\xadh4^AG\xbe\x80\xd6\x1e\xd2\xab\xd8\xec\ +D\xba\x85\xa6e\xa7\x01 \x03Mn\xc8\x8f4\x80\x0c\ +F\x08\xdc#a\x82\xe8\xf8\xea\x5c\xdb\xaa\xb3\xa3\x91\xc1\ +\xf2\xc3\x82D\xe6\xb7\xb0c\x9d\xd1\xebJ\xbf\x9f\xbe]\ +\xff\x87\xe7\xef\xf9$\xa3\x87\x0fDA\xa1\xb1<\xdb\xaf\ +\xbf\x91\xad\xd7|\x8a\xef\x0d\x8e \xa7x\xbf\xd9\x96\xcd\ +Q/\xb5\x94\xc0l\x090\x15\x9b\xa6#\xc9l\xaf3\ +\x91$\xb3\xd2,\x7f\xfbm\xee\x1b\x18f;@np\ +\x0f\x85\xd1=\x80F\x88\x18Nb\x19MK7\x83\xd1\ +\xe0\xe4\x87+\x02\x0c\xa2\xc6\x1c\x83\xa6%\xa7\x10O\x9b\ +IM\xf3#\x8ab\xb6\xec\x0c\xea\x9a^>\x80\x93\xec\ +\xa0c\xddk\x01\xd0Jrd\xd7/\x91~?*\x18\ +a`\xcf\xf7\xd9q\xd7G8\xb2\xeb\x9e\xa8j\xe7\xf9\ +\x0c\xde\xf1\x00\x9f\xbd\xec}|\xe0'wsh\x16e\ +2\x9b\xb2\x9e\xaa\xec\xa7\xc3\xa4\xe3s\xed\x9e<\x9d\xd0\ +\x8f\xe5\xcbL{\xdd\x7f\xbe\x95\xef|\xec\xdd|I\x08\ +\xec\xbe]\xff\xc5\xaasW#\x83!\x12ug\xa3d\ +\x96T\xd3s\x14\x87\x8f\x10\xb8\x9aRN\x93\xac\x13\x04\ +\xdea\xb4\xf6\xc2d\x0b\xb0\x84\xa0c\xedy\xf4>{\ +\x07J\xf9\x8c\xf5+3T\x5cJ \xfd\x01d0\x84\ +\xed\xb4\x00\x02;\xd1E,\xb1\x06;\xd6N\xbaQ\x93\ +\xed\xdfEad7\xf9\xe1\xbd\x1cx\xfa\xdb\x14Fz\ +\xaa\xe7\x1d\xc2\x0f\x18\xdb\xbe\x8b[?\xff/\xfc\xf8\xd0\ +\x00\x85)\xcan\xb6\xe5\xadg\xd8.\xef\x9bM\xd9F\ +\xa8\xa9\x01j\xa8\x8a\xe9\x1e\xf8h\x188W\xd4$\xc6\ +\x7ft\xd3\xf3\xcc\x8b\xa6\x8d\xc0\xcd\xf71\xdcs\x0fZ\ +y\xa8 G\xb2\xfe\x02Z\x96\x9b\x08\x9e\xd6\xa6\xdaf\ +\x8aLM\xd2\x02\xf1T\x9a\xf6uao,m\x1at\ +\xca]\xbd\x03\xf7 \xf1\xf4&\xd2\xcd\xaf'Yw>\ +v\xac\xc3\xdc^Xtm\xfc\x9f\x94\xb35s\x03{\ +\x22\xe1\xfb\x01\xd9\xc7vp\xd3\x1f~\x9ck\xde\xff\x05\ +n=4\x80\xcbd!LWn\xc7\xaa\x1cg\xbc\xce\ +\x94\xe3\x04\xd6\x88\xfa\xd5r\xd6\xc4\x14\xdb\xd5\x0e\x9c`\ +\xfa\xaa\xcd\xbc\x96%m\xa4\xbf\xf7y\xbe\x9c\x8c\xd3\x82\ +\x80\x95g\xfe\x0e\xe9\xa6\xb3\x88\xa5\xd6\xa3\x82az\x9f\ +\xfd{F\x0e\x1d@\x03\xe9FA]\x8b\x85\xb0\x12\xa4\ +\x9b.\x8d\xb4@\x19#\xbdO3t\xd0\x84xm'\ +\xc6\xb2\xcdo \xd5x*\xb1\xd4\x06\x84\xa8\xccgR\ +\xca\xbe\xc0\xe0\xfe\xdb\x19\xeey\x98\xf2\xb8\x81\x00A@\ +\xfe\xa9\x17\xf8\xf1\x97\xb6q\xdb\x81\xc3\xe41\x09\xad\x1a\ +\xd3\x86\xa1\x8e\xf3\x22\xab\xee\x1fmO\x1c\x92o>\x04\ +8Y\x16\xf1\x91\xab\xd9\xf2\xa6K\xf8\x80\x11\x9c\xc3\xaa\ +s\xaf\x22\xd5p\x0e\x96\xd3\x8a_|\x91]\x0f|\x81\ +\xc0-\x81\x80\xa6.\xa3\xdec\xc9\xd5\xe1\xe0\xcf\x80\xb0\ +\xb1\xe3\x1d8\xb1\x0e\xfa^\xbc\x93\xc1\xfdw\x01\x10O\ +\xb7\xb2\xf2\xec?$\x96\xec\xc4v\xda\xc8\xf6?B\xff\ +\x9e_P\x18\xd93\xae\xac|I\xee\x99\x17\xf8\xf9\xf5\ +\xdb\xb8m\xff!rUB\xa8%\xfc\x89\xfb\xc6\x09\xe8\ +(\x7fw\xb4\xc4\x92\x13\xe5=\x1d\x01\xaa\xbf\xee\x13&\ +\xdc\xd9\x9e\xf7\xdd\xcf\xf0\xbf6\xac\xe4uFp\xf5\xac\ +>\xf7]$\xea^\x06Xd\x07\xba\xd9\xf7\xd8w\xb0\ +c\xf5\xc4\x92\x0d4/k&\x96h \xd9p\x11N\ +\xac\x13\xcbi\xa2b\x0d%\x07\x9e\xfc&#\x87\x1e\x00\ + \xd5\xb8\x82d]\x0b\xa3Gv\xa0\x82\xf1Y=#\ +Yv=\xb4\x9d\xdb\xff\xe9f\xee\x1d\x1a\xc3\xad!\xb0\ +\xb9|\xb9S\x09\xbf\x16I\xa6\xfc\xd2k\xed\xd3\xd5\xea\ +\xaa,\xe7\xe9\x86\x8a]`-0k\xe1\xceb\x9fH\ +%\x88\xdd\xfcE>\xd9\xd6\xc4f\x80\xba\xd6%\xac<\ +\xebZ\xec\xb8i\xc4)\xe5\xfa(\x8c\x84\xf1\x02G\x90\ +n\x10\x08+aZ\x13#\xe1\x83R%\x0a#\xbb\xe8\ +y\xea[\xf8\xa5\xc9\xa3\xbcJ\x85\xbb\xb7\x97\xee\xdb\xee\ +\xe2\xf6\x1f\xdd\xc1n\xa6\x17\xfaL$8\xae$\xa91\ +\x22\xeb\x8c\x048\x1a!M\xb4\xfb\xf3!\xc1$\x01O\ +sN\xf4w\xc3*\x1a\xbe\xf6Q\xbe\x98N\xd2\x05\xd0\ +\xb2\xf2t\x96\x9ezmd\xeb\xf3\x83{q\x8b\xa6\xc9\ +5\x16\x17$\xea\x04\x888Z\xda\xe4G\x9e'\xd7\xff\ +4c\xfd\xcf\xa3\xd5\xe4\xfc\xbd\x5c\x81\x9e'wr\xc7\ +7o\xe1\xae=\x07#5\xaf\xa7\xf8;\xdd\xfa\xd1\x12\ +`\xae$\x19\xb7\xd4\xfa\xfaa\x06\x02\xc0\xbcL\xc1L\ +\xbf\x9b\xe9\xcb\x9e\xeax\xads\xa2\xfd\x97\xbf\x8a\x15\x1f\ +\xb9\x9a\xeb\x1d\x9b4\xc0\xb2\xcd\x97Q\xdfq\x09*\xc8\ +\x13x#\xf4\xef\xbe\x17\xbf8D\xe0\x8f\xa1\xd4\x18\xca\ +\xaf\x91\xc4g\xa0G\xb2\xecza?\x0f\xfdg7\x0f\ +\xdd~\x1f\xe5\x11$\xca\xcbD\xc1OG\x82\x99\xc8p\ +\xac\x082\xd1\x1c(\x8c\xdd\xaf)|\x98\x05\x01\xa0\xa6\ +)8\xa6\xea{\x16\xc7j\x05\x88j\x12\x00\xe0C\x7f\ +\xc8y\xbf{)\x9f\xe2(\xabSJ\x13\x0c\x8e\xb0}\ +\xc7n\x1e\xbc\xf5\x0e\x1e|l\x07\xc3\x8c\x17\xfaT\xcb\ +\xd1\x90a\xae\x848\x1a\xe2T\x7f\xf9\xd5\x93\xafL\xc2\ +\xac\x87\x8b?\x0a\x12\xccF\xe8\xd3\x09\xbe\x96p\xa7\xfa\ +[\xbd\x8c\xdb\xf7\xd5\xff\xcd[\xcf=\x95wO\xf7N\ +RQ8\xd4\xcfC\xbd\xfd\xec\xda\xb1\x9b]?\xfb5\ +/\xf6\xf6S\xa2\x12d\xa9\xfe;q\xbdZ\xd8\xb3!\ +\xc3l\xb4\xc3|\xb4E\xadc\x93\xbc\xfe\x898\xaa\xf9\ +\x02\xa60\x07\xc7J\xe0S}\xd1\xb3\x16\xfa\xc4\xe5\xdb\ +\x9f\xe6]\xe9\x14-%\x97\x5c\xc9#W(\x92\xcf\x17\ +\xc9\x1d\x1ed\xf0\xce\x87\xd9\xf3\xdcn*\xa3F\x8f\xc7\ +T\x04\xa8E\x84\xe9\x081\x9d\x9f0_2LG\x8e\ +i\xd5~5\x8ez\xc2\x880JXv\xf8fc\xb3\ +gR\xe73\xa9\xf6Z\xc7\x8ef\xa1\xc6\xdf\xd9b:\ +\x0d0\x1b\x930\xd3\xfatZb\xaed\x90\xb5\xbc\xfd\ +\xa9p\xd4m\x01\xe1\xb5\xa5\x10Bc\x04R~\x81\xea\ +\xf5\xf2R\x8eO\xab\xaa\xe3\x13\xf7\x95\xff\x8a\xaa\xed\x99\ +\xd4\xfdt\x84`\xc2\xdfZ\xc2\x9f\x89\x08z\xc2\xfaL\ +\x1aa.d\x98J\xe8s%\xc3\xac\xbf\xfaj\xcck\ +\xca\x98P\x1bL\xf5\xd5\x1f\xad]?*\x1b_ca\ +\x9am\x98=\x01&\x0a\x7f\xaa\xbfs1\x09\xd3\x99\x83\ +\xf9\x98\x8a\x9au\xfc\xd9\xe0\x98\xcc\x19T\x83\x083\x91\ +`N\x8e\xdd,\x16j\xacW\xff\x9d\xb8>\x1d&\x0a\ +}\xe2\xbe\xf9\x9a\x05\x98=\x19ji\x87Y9y3\ +\xe1\x98N\x1a5\x81\x08\xb3\xb5\xefLq\xcelT>\ +\xb3\x5cg\x9a\xf5Z8Z-0q{\xbefa:\ +R\x94\xa3z3\xbc\xc2\xec\xb0`\xb3\x86M\xa81\xd4\ +\x12\xdeL6~\xaa\xfdL\xb1\x7f:\xfb\xcf\x84c\xb3\ +\xc1\xc4\x82\x99\x8a\x00\xd5\xebS\x91b*sp4d\ +8*\xe7n\xb6X\xf0i\xe3j\xa4\x95\xcfE\xe8s\ +U\xf9\xc7\xc2\x04T\xaf\xcf\xc7'\x98\xc9G\xa8\xb5-\ +\x81\x85\x90{\x84\xe3>o`\x95f\x98\x8b\xc0\x8f\xd6\ +\xe1\xabE\x80Z\xdb\x13QK\xf8\xd5\xeb3i\x81\x89\ +\xdb\xb3%\xc3\xbc\x1c\xba\xb9\xe0\x84N\x1c9A;\xcc\ +d\xe3gK\x02&\xac\xcf\xd5\x0c\xccD\x82\xf2\xfa|\ +\x08Pv\xe6\x16\xf63\x9f\x06'\xc5\xcc\xa1\xd5\x98\xd0\ +\x17\xa1\x9a\x10\x1c\xc5z\xf5\xdf\xe9\xd6\xa7\xc2T\xf6\xbf\ +z}\xa2\xb0k\xed\x9bR\xc5\x9f,\xe5~\xd2\x11\xa0\ +\x16&\xf4Q\x98\xad\x1f@\x8d\xed\xa3q\x02a\xea/\ +\xbf\xbc=\x91\x00\xb5\x9c=N\xe62~I\x10`:\ +T%\xb0\xce\xd6\x14\x1c\xad\x06\x98\xe9+?\xa9\x05<\ +\x13^\xf2\x04X\xc4\xfc\xf0\xff\x01-\xef\xe5]0^\ +&Q\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00:\xf4\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x09\xediCCPICC Prof\ +ile\x00\x00x\x9c\xad\xd6gTS\xd9\x16\x07\xf0\ +\xff\xbd)\x84\x04B\xef- \xddP\xa4Jo\x8a\x0d\ +\x18D\x14\xb0\x02!4)\x11\x82(vP\xb0\xa1`\ +W\xb0+v\x05\x95Q\xc7\x8a\x0a\x22\x8c\xa24\x11Q\ +, 8\x22\x1d\x0b\x82y\x1f\x82e\xd6\x9bY\xef\xcb\ +\xdb\x9f\xf6\xd9k\xdd\xb3\xce\xf9\xed}\xd7:\x80\x94b\ +\x98@\x10G\x02\x88O\x10&\x05L\xf0\xe4\x04\x87\xcc\ +\xe4H\xd4\x81\x0a5H\x03\xb0\x0f\xe3%\x0b<\xfc\xfd\ +}\xf0\xaf\xf1\xb1\x1e\x04\x00\xd4\x98\x85\x09\x04q\x89G\ +\xa3\xab\x11\x97\x97\xa9\x92\xe3\xc2\xe9\x9f\xab\xfb\xf8\xdf\xbf\ +\x03\x00\xb0\x93\x82Cf\x02\x04\x17\x80b\x948w\x07\ +\xa0\x18.\xce\x03\x01(\xa6\x0a\x05B\x80\x88\x06\xa0\xc8\ +\x8b\x0e\x8b\x00\x88\xa5\x00\xb8I\x81\x01^\x00q\x1c\x00\ +;J\x9c_\x06\xc0\x0e\x17\xe7\xe5\x00\xd8\x0byQB\ +\x80h\x00(\xf2\x09\x111\x09\x00\xb5\x03\xa0\xbbF\xf0\ +\x93y\x00\x8b\x0b`^D2/\x1e`m\x04`\x19\ +\x1f\x9f\x18\x01\xb0\xae\x010\xe6\x09\x92\x84\x00\xab\x05\x80\ +Yp\xc8L\x8e\xf8\xc8\xe1\x91\x80u\x08@\x1e\xffY\ +\x9b/\x05\x14i\x02\x8a5?k&\x11\x80F\x01p\ +\xf5\xc4\xcfZ_\x00\x08\x00\x84rUr\xa4\xb5\x15\x00\ +\x80\x90\xf2\x04h/D\xa2>C@b\x0b0\x9c+\ +\x12}=$\x12\x0d\x1f\x06(M\xc0\xad8^J\xd2\ +\xc2\x11/\x82x\x00\xfc\xaf\xb5\xf8\xce#A!\x00\x02\ +$\x95\xce\x90dI\xb1e\xe4\xe4\x15\x94\x94U\xd54\ +4\xb5u8z\xa3\xf4\x0d\x8d\x8cMGs\xcd-,\ +\xc7X\xdb\xd8\xda\xd9\x8futrvqus\xf7\xf0\ +\xf4\x1a7\xde{\xc2\xc4I\x93\xa7\xf8\xf8\xfa\xfd\xe6?\ +5 p\xfa\x8c\xa0\xe0\x90\x99\xb3\xe6\xcc\x9d\x17\x1a\x16\ +\xce\x8b\x88\x8c\x8a\x8e\x89\x9d\x1f\x17\x9f X\x90\x94,\ +LY\x98\xba(m\xc9\xd2e\xcbW\xac\x5c\x95\x9e\xb1\ +&3k\xed\xba\xf5\x1b6fo\xca\xc9\xdd\xb2u\xdb\ +\xf6\x1d;w\xed\xde\x93\x97\xbfw\xff\x81\x83\x87\x0e\x1f\ +9Zp\xec\xf8\x89\x93\xa7N\x9f9{\xae\xb0\xa8\xe8\ +\xfc\x85\x8b\xc5\xbf_\xba|\xe5\x8f\xab\xd7\xae_\xbfq\ +\xf3V\xc9\xed;w\xef\x96\x96\xdd+\xbf_QQ\xf9\ +\xe7\x83\x87UU\x8f\x1eW\xd7\xd4\xd4\xd6\xd5\xd5?i\ +hx\xda\xd8\xf8\xac\xa9\xe9\xf9\x8b\x17\xcd/_\xbez\ +\xfd\xfaMKK\xeb\xdb\xb6\xb6\xf6w\xef\xfez\xff\xbe\ +\xe3CggWwwOo__\xff\xc0\xc0\xc7O\ +\x9f?\x7f\x19\x1c\xfc:44\xfc\xed\x9b\x08$\x95.\ +!\xc9\x94\x92\x96\x91\x95WPTVQS\xd7\xd4\xd2\ +\xe6\xe8\xea\xe9\x1b\x18\x1a\x9b\x98r\xcd\xcc-,\xad\xac\ +ml\xed\xc6:\xfc\x1b\xc0\xb4\x11\x80\xd9#\x00\xfc\xef\ +\x00\x89?\x00\x16\xff\x00X\xbd&3k\xed\xfa\x0d\x1b\ +\xb37m\xfeE \x7f\xef\xbe\x7f\x10\x18\x01\x10\x0b\x88\ +\x01\xee\xfc\x0d\xe0\xd1\xe3\xc7\xd55\xb5\xb5u\xf5\xff\x08\ +\xd0\xfa\x03\xa0C\x0c\xd0\xd3\xd3\xdb\xd7\xdf?\xf0\xf1\xe3\ +\xa7\xcf_\xbe\xfc\xbc?\x85FgH2Y\xd2l\x19\ +Yy\x05E%\x15U5u\x0dMm\x1d\x8e\xae\xde\ +(}\x03#c\x13\xd3\xd1\x5c3s\x0b\xcb1V\xd6\ +66\xb6v\xf6c\x1d\x1c\x9d\x9cG$~\xa5\x10\x0f\ +\xc3w\x8cY\xb3\xe7\xcc\x9d\x17\x1a\x1a\x16\xce\x8b\xf8\xe1\ +\x91\xf0\x0bH\xda\xdfE\xd6\xfdB\xf2}&\xbe\x93\xfc\ +\x93\x89\x98dd(J\xcb\xee\x95\x97\xdf\xff\x95\xa4\xae\ +\xfe\x89\xd8\xe3\xf9\x8b\xe6\x97\xaf^\xbfii}\xdb\xd6\ +\xfe\xee\xaf\xf7\x1d\x1f:\xbb\xba{z\xfb\xfa\x07>~\ +\xfe2\xf8uh\xf8\x9b\x08\x10\xff\xfb\x00@\xb7\x03\x0e\ +'\x003\x98@\xe0!`{1`\xe4\x04\xa8t\x01\ +\xfe\xd2@\xa0\x03\xc8dk\x90\x91\x91 U\x98\xa0\x10\ +\x00\x09\x80\x00\x05tHB\x06\xca\xd0\x81)\xec0\x0e\ +\x81\xe0#\x15\xeb\xb1\x0f\x17Q\x89\x16|#\xd4\x09{\ +b:\x91Ll%\x8a\x89\xa7\xc47\xd2\x80\xf4%\x17\ +\x92\xfb\xc9J\xf2\x0b\xc5\x84\x12B\xd9@\xb9I\xe9\xa7\ +r\xa9\x11\xd4\xbd\xd4\xa74UZ\x10m7\xad\x89\xae\ +G\x8f\xa6_\xa0\x8b$|$\xf6Ht0<\x18\xbb\ +\x18\xbd\x92~\x92g\x98l\xe6\x02f\x03\xcb\x8bU(\ +\xa5-\xb5I\x9a\x94N\x93\x1e`'\xb3\xfbdRe\ +\x86e3\xe5\xe4\xe4\x0e\xca\xdb\xc8W(\x84+|S\ +\xdc\xad\xa4\xaftJ\xd9J\xf9\x9a\xca\x04\x95\x1a\xd5p\ +\xd5~\xb5u\xeaZ\xea\x175|4Z5\x97i\xa9\ +h\x15k\xfbkw\xea\xe4pl8\x8d\xba\x19z\xa3\ +\xf5\xaaG-\xd5\xb7\xd0o2\xd8h\xe8b\xd8it\ +\xd08\xc8\x84mRj\x9a>\xdak\xf40\xf7\xba\xd9\ +\x0as\x0f\x0b\x9aE\xa5\xe5\xb61s\xac\x8c\xacz\xad\ +o\xda\xe4\xd8\x86\xdb\xd9\xda\xb3\xec_\x8f\xbd\xe2\xb0\xd9\ +\x91\xef\xe4\xe2\xac\xe5\xfc\xcd\xa5\xd9\xf5\x86\xdb\x01\xf7\x0c\ +\x8fH\xcf)^\xd6\xe38\xe3e\xc7\x0fywO\xa8\ +\x9fxo\xd2\xed\xc9%Sn\xfb\x94\xf9V\xfa=\xfa\ +\xad\xce\xbfi\xea\xbb\x80\xaf\x81r\xd3\x8df8\x07\x05\ +\x06\x0bB\xb2g\x9e\x99U3[4\xd7b\xde\xbc\xd0\ +\x9c\xb02\x1e\x19\xe1\xc6_\x12y5\x9a\x12\xe3\x1f\xbb\ +w~w\xfc\xe4\x84<\x01\x16\xf0\x92\xca\x84\x96)\xfb\ +S\xe5\x16\xadMc,Y\xbetp\xf9\xca\x95\xccU\ +[3tV_\xca\xf4\xc9j^\xb7d\x83\xd6\xc6\x92\ +M\xc1\x9bE\xb9\xa7\xb7\xce\xda.\xb1\xe3\xcc\xae]{\ +\x8a\xf2_\xef\x97=\xe8|Xp\xf4\xd8\xb1\xfa\x93\x92\ +\xa7'\x9d\xcd.,=/*\xf6\xba\x94~\xa5\xf2\x9a\ +\xec\x8d\xa0[Gn\xf7\x97z\xdc\xcb\xbd\xff\xf2O\x87\ +\x87\x1b\x1e\xbd\xa9\xb1\xad\xdb\xf2\xa4\xb71\xa0\xe9r\xb3\ +\xda\xab\xb47/\xde\xfa\xb7\x97\xbc\xb7\xfeP\xd0m\xd4\ +\x9b7\xa0\xf4i\xd7\xa0\xee\xd0S\x91\xe8G\xff\x99\x90\ +\x81\x0at\xc1\x85\x03&\x22\x04\xb1X\x8a\x1c\x14\xe0\x1a\ +\xea\xd0E0\x09c\xc2\x9b\x88 V\x13\x05D\x05\xd1\ +E*\x93\xaed4\xb9\x85\xbcAvP4)\xbe\x94\ +\x15\x94\x0b\x94v*\x87\x1aL\xddB}Hc\xd3\xfc\ +h\x9bi\xb5t\x0dz8\xfd4\xfd\xb3\x84\xb7\xc46\ +\x896\x863c\x1b\xa3Sr\x8a\xe4\x09&\x8b\x99\xc0\ +\xacgy\xb0\xceJiIeK\x13\xd2\x8b\xa5\xfb\xd9\ +\xc9\xec>\x99\x852C\xb2k\xe4\xe4\xe4\x0e\xfc\xcf\xee\ +\xfbj\xb4j.\xd7R\xd1*\xd6\x9e\xaa\xdd\xad\xb3\x85\ +c\xc7y\xae\x9b\xa9g\xa1\xf7dT\xba\xbe\x9d~\xab\ +\xc1\x0e\xc3\x89\x86_\x8d\xce\x19G\x9a\xe8\x984\x9a\xee\ +\x1e\x1d\xc2U\xe2>3;h\xce\xb7\xe0Z|\xb4\xbc\ +=&\xc7j\xae\xb5\x99\x0dl\x9e\xd8\x9e\xb4\xcb\xb4\x0f\ +\x1f\xeb\xea\xa0\xee\xf0\xd1\xb1\xd6\xe9w\xe7|\x97\x0c\xd7\ +X\xb7\x00w'\x0f#Oy/x\xf5\x8e\xeb\x19\xff\ +\xca\xbbi\xc2\x83\x89w'\x95L.\x99R\xe2s\xc7\ +\xb7\xdc\xaf\xf2\xb7*\xff\xda\xa9\xcd\x01\x9d\x81\xc4t\x85\ +\x19\x06A\xf6\xc1\xfe!\xd13\xd3g\x1d\x98]:\xa7\ +k\x9eF\xa8{Xt\xf8.^=\x9f\x15\xe9\x12\x95\ +\x16}=\x16\xf3\xc7\xc7\xe5\xc4\xbfH4\x17\xa4/h\ +H\xb6\x12\xe6\xa6\xf4\xa7\x86,\xba\x95f\xbad\xff2\ +\x85\xe5\xd9+\x99\xab\xb22(\xabWe\xb2\xb2\xf2\xd6\ +\x19\xaf\xbf\xbc\xd1/\xfb\xfd\xe6\x0d\xb9F[J\xb6\xf1\ +v(\xee|\xbe\xfbI>}\x9f\xcd\x01\xfe\xa1\xddG\ +\x1e\x1c\xa3\x9cp<\x15\x7f\xe6\xf4\xb9\xb6\xf3\xdc\x8b)\ +\xbf\x17_\xfer\xd5\xf9\xfa\xea\x9b\x8fnk\xdd\x0d+\ ++*\x1f\xaa\xf4{\x90_\xf5\xa1\xda\xb3vg\xfd\xdb\ +\xa7\xf6\xcfr\x9e\xb7\xbet{\xbd\xa3\xe5C\x9b\xef\xbb\ +\xfd\xef\xbft\xce\xe8\xbe\xde\xa77\xb0\xf6S\xd7\xe0\x9c\ +\xa1\xee\x91\xfe\x93`A\x16\xca\xe0\xc0\x1c.\xf0C8\ +R\xb1\x09\x05(\xc1\x0b\x0c\x13\xda\x84;\x11A\xac#\ +\x8a\x88&\x92A\xda\x91Q\xe4N\xb2\x92BR\x9c(\ +)\x94\x22J7\xd5\x8a*\xa4\xfeA\xa3\xd0\xfchy\ +\xb4\xf7tW\xfa6z\x87\xc4\x04\x89\xa3\x0c:#\x96\ +Q-\xe9*y\x86\xa9\xc3\xdc\xc1\x92eeKIK\ +m\x96V\x92>\xc4\xb6f\x97\xc9\xcc\x91\xf9,\xbb]\ +\xceN\xaeI>K\xc1N\xa1]1_\xc9K\xa9Y\ +y\xad\x8a\xb9J\x83\xea\x1a5;\xb5v\xf5|\x8di\ +\x9aL\xcd[Z\x8b\xb5m\xb4\xbbu\x0a9\xc9\xba\x8e\ +z\x14\xbd{\xa3r\xf5C\x0d\xcc\x0d\x86\x0d+\x8d\xf2\ +\x8c\x13L})\xe6\x8a\xe9\x1f\x8d\xd7\xf2n\x04\xddR,\xa9\ +\xbd\xb3\xbdt\xfa=\xa5\xf2\x9a\x8aM\x7fNy\xc8\xac\ +*{\xbc\xa8\xc6\xaa\xb6\xbd\xfe`Cp#\xfb\xd9\x8d\ +\xe7\xf3\x9b\xd5_V\xbc\x16\xb6\xa8\xb6\xdeh\x8b}\xc7\ +\xf8\xebP\x87\xf7\x87\x97]Kz\x94zO\xf4;\x0c\ +T|\x9a\xf5\xb9cp\xed\x90\xeap\xa3H\x04\x88\xdf\ +\x8b\x00\x00Z\x8co\x18\x0f\xff\xe7\x88\x8fK\xf9\xbe'\ +\x09@\x8a\x9f0}\x1a\x00\x06\x00c\x81\xd0?\xf0{\ +\x8e\x18\xf8\x22\x0c<\xf1;\x15\x00\xe8\xb2@\xbe\x11\x00\ +\x5c\xf6M\xfa\xaf}\x85\xfcEB\x00\xf0J\x14,N\ +\x8a\x89\x8a\x16r<\x04\x828>\xc7+1^\x90\x22\ +\xe4'q9\x93\x12x\xe6\x5c\x8e\x95\xa5\xa5-\x00\xfc\ +\x07\x8f\x08\x91L8\xcf\x9b\xb0\x00\x00 \x00IDA\ +Tx\x9c\xed}y\x98\xdcV\x95\xef\xefJ\xaa}\xed\ +\xaa\xde\x17o\xb1\xe3v{K\xec8\xdb\x04\x08\x84I\ +X\xb2\x10\xc0\xc0\x83\x19f\x08o\xc20\x0f\xde\x1b\xc2\ +\x00o\xd8g\x80\x84-\xc0\xcc\x03\x860\x0cd\xb2\xd8\ +$&\xb6\x13'1^\x12;\xc6\x8e\x1d'\x8e\xed8\ +^:\xee\xd5\xbdUwuwu\xd7.UIz\x7f\ +H*]\xa9T\xd5\xbb\xed\x04\x9f\xef\xd3'UI\xba\ +\xba\xba\xe7w\xcfv\xcf\xbd\x22\xb2,\xe3\x12\xfd\xf9\x12\ +s\xa1+p\x89.,]\x02\xc0\x9f9\x15\x01\x80\xa8\ +t!*s\x89\xce?\x95\x94\x00\x97@\xf0\xe7Ae\ +U\xc0%\x10\xbc\xf5iB\x1b\xe0\x12\x08\xde\xda4)\ +#\xf0\x12\x08\xde\xba4i/\xe0\x92q\xf8\xd6\xa4)\ +\xbb\x81\x97@\xf0\xd6\xa2\x22\x00L&2x\x09\x04o\ +\x1d\xb2\x94\x00\x97@\xf0\xe7C%U\xc0dA\xf0\xed\ +o\x7f\xfbR4\xf1ML\xc4\x82\xd1\x86\x9e]\xae\xa3\ +?\xf0\xc0\x03\x5cSS\x93k\x98e\xc5\xbf\xbe\xf9\xe6\ +\xd4\x1c\xd4\xef\x12\xcd1\x15\x01\x80\x10R\xfc\x9fr\xc2\ +\xf0\xdf\xeb\xaf\xbfn\xcbf]\xaeh4\xe6\x16\x88\xe0\ +!\xac(\xdc\xf6\xee\x1b\xce\xcdq}/\xd1,\x93%\ +\x00\x00\x00\xb2\x0c\xb3l\xd0Nuvv:\x12\x09\xc6\ +e\xb3\xc1%I9\xcf\xc0\xf0\x98O\xe0\x05\x9f$\xc9\ +\xb9t\xbc\xef\x95\xf5\xeb\xd7\x0b\xe7\xa3\xf2\x97h\xe6T\ +\x1a\x00\x80\x15\x08HOO\x8f\x03\x80+\x9b%nQ\ +\xccy`c\xbd\xc8I\xbe\x91\xb1\xb8?\x9eJ\xfb\x19\ +\x199\x9e`\xef\xed7];x\x1e\xea\x7f\x89fH\ +\xe5\x00\xa0\xede\xf5\x1a\x02\xc0\x09\xc05:\x9aq\xc7\ +\xb31\x8f$\x12\x9f,\x88\xbe\xbc,\xfb\x09d\xff\xd8\ +X\x220\x1aO\x05\x01\xd9Ar\xe2#\xb7\xdcr\xfd\ +\x99\xf3\xf6&\x97hZT\xca\x827(\xfcM\x9b6\ +1\x00\x5c\x00\xdc\x00\xbc\xa1\x90\xcbW\x1d\x0c\x06\x1c\x8c\ +=\xe0p\xd8\x83\x840AIFE \xe0\x0dU\x86\ +\xfd!\x16hd\xec\xdc\x0fw=\x7f\xe8}s\xfd\x02\ +\x96\x95\x9f\x80.D\x9d.V*%\x01\x0a\xbd\x7f\xcf\ +\x9e=lUU\x8b3\x1cv\xbbkk\xbdn\x00^\ +u\xf3\xe7\xf3y\xff\xe0\xf0\xb8_\x96\x11\x10x>\x98\ +\xcb\xe5\x832P!\x08\xf9\xd0pt4$B\x0eC\ +\x96\x9f\xf8\xcbw^\xfd\xd5Y\xaf\xf8\xe4\x19Yx\x97\ +\xc9\x96-\xff\x19\xe5\xc9Y\xb9\x81\x85\xc6}\xe5\x95W\ +8\x8f\xc7\xe3\xb4\xdb+\xdc\x1c\x07\x8f\xcf\xe7\xf1TT\ +x}\x00|\x00\x02\x00\xfc\x00\x02C\xc3cA1\x97\ +\x0ffs\xf9\x10\x9f\xe5+ #\x9c\x97\xc4\xd0\xc8h\ +<\x9c\xcb\xe5\x02\x90\x99\xa7\x92$\xf1\xa9\x0f\xdcx\xe3\ +\xd8\xb4+Z\x9a\xe1V\xff\x9b\xd5\x98Fr\x89\xe3r\ +\xff\xbd\xa5\x01Q\x12\x00\x8f?\xfe\xb8\xad\xa2b\x91\xab\ +\xae.\xec\xb2\xdb\x19\x0f\xe7rzY\x06>\x9b\x8d\xf3\ +\xd5U\x85\xfcP\x00\x10\x00\x10\x04P\x11\x1bKT\xf0\ +|.\xc4\x0b\xf9P&\x9b\x0d\xcb\x92\x14\x96$\xd97\ +6\x9e\x22\xbc\xc0C\x96\xe5c\x099\xf9\xce\xc9\x82\xa0\ +\x04\xc3i\xc6\x9a\xcf\x93\x12\xd7\xd1T\x0a\x00V\xc7\xe6\ +\xbd\xf2\xe3-\x06\x06K\x00\x00\xc0\xf6\xed\xdb\x1d\x02\xe7\ +\x0f\xbb\xed\xac\xa7\xa1\xbe\xd6\xcb\xb1\x8c\xd7\xc1\xda\xfd\x8c\ +\x8d\xf5\xdb\xedl \x14\x08\x04l66\x08\xa0B\xdd\ +B\xf1D:\x94\xced\xc3\x92(\x85\xe3\x89\x94G\x06\ +\x08d`l<\x89L6\x0b\xc8\xf2X^\x96\xdey\ +\xf3\x8dW\x1f+Y!#\xe3\xad\x18n\xfe\x8fl\xd8\ +\xb0!\xb0n\xdd\x0dW\xf8|\xae\xf96\x9b}>\x00\ +\xb0,7\x8f\x10f>\x000\x8cr\x8b(\x8a\xdd\xa2\ +\x98/\xc4*\x92\xc9\xf4k\xa2\x98\x1b;th\xff\xb1\ +\x8f\x7f\xfc\xe3\xe3P\x98\xadm0\xed\xe9\xff\xdf2@\ +(\x09\x00\x00\xd8\xbe}\xbb\x9f\xd8\x83\x8b\x1dv\xceW\ +W\x15\xf6\xb3v\x9b\xdf\xc6p\x01\xbb\xd3\x1e \x04\xc1\ +\xcap\xa0\xc2\xc6q!\x00!\x00!\x09\x08g\xd3|\ +(\x99\xce\xb8eYF<\x9eB>\x9f\x87\x0c \x93\ +\xe6\x11O\xa6 \xcb\xf2\x98\x0c|\xe1\xa6\xb7\xaf}\xb0\ +P\x89\xf2L\xd7~3\xda\xf1\xce\x9d{\x17\xae^\xbd\ +\xf26\x87\xc3\xf96\x8e\xb3\xadbYv\xde\xb4^\x9e\ +z\xac(\x8a\xe7$)\x7f<\x9b\xcd\xee\xef\xef\x1f\xd8\ +\xb7zu\xcb1\x18\x19o\xde\x00\xbc\xf9\x81P\x16\x00\ +\x00\xb0u\xeb\xde\xa0\xc3\xe3\xbc\x9e\xb3\xb1\xe1\xfa\x9ap\ +\xc0f\xe3\x02\x1c\xc7\x05].{\x05!l\xc8\xefu\ +\x87\xdcnGH\x02\xc2\x90\x10&\x04\x0e^\xc8#\x99\ +LA\x92e$\x12)\xf0|\x0e2\x00!\x97\xc3\xf8\ +x\x12\x90eH\xa2t\xcfM\xef\x5c\xf73\xad\x1e\xd4\ +\xbe\x88\xe9\x9f\xfe\xf4\x97\x17\xdez\xeb{\xde\xbeb\xc5\ +\x92[kk\xabV\xb1,g\xc9\xf0\xd94\xf0EQ\ +<\xc7\xf3\xd9m\xbd\xbd\xbd\x8fP`\x90\xf0\x16\x03\xc2\ +\x84\x00\x00\x80\x1d;\x0e\x86d\x8eY\xcf\xb1\xa4:\x1c\ +\x0eV\xb8]\xae\x0a\x1b\xc3T\xb8<\xce\x10!$\xec\ +\xf7zBN\xa7#D\x08\xec2\x00\xc8@>/\x22\ +\x95NC\x14%$\x92\x19\xa43\x19@\x06\x84\xbc\x88\ +D\x22\x05I\x92 \x89\xd2\x7f\xdft\xe3UwAw\ +G\xb5^N\xee\xbc\xf3\x13\x15\xef}\xef\x07?\xb9r\ +\xe5\xd2O,\x5c\xd8\xb8\xd2\xe7\xf3\xea\x95\x9e\x06\x9fg\ +\x02\x0e\x0d\x0cO=\xf5\xc4w?\xf5\xa9O\x8d\x01\x10\ +a\x01\x847#\x08&\x05\x00\x00x\xf0\xc1\xbd\xce\xda\ +y\xae\xcf\xb3\x84\xac\x08W\x04C\x1e\x8f3\xc4\xb0L\ +\xc8\xe7q\x87\x09C*\x5cN\x07\xe7\xf5\xba\xb5\xa6P\ +ZE\x92\x91L) Hgx\x8c\xc7\x93\xca9I\ +\xc6x<\x0dQ\xccC\x92\xa5\xe3\xbb\xfe\xb4\xe3\x96\xfb\ +\xbe\xf6\xb5q\x00\xccg>\xf3\xc5\x05k\xd6\x5c\xf7\xd5\ +\xb5kW~b\xd9\xb2\xcb\xa6\xfeBS\xe4\xf3T\x80\ +\x91\xcb\x09'\xfe\xf3?\x7f\xf9\xde/~\xf1\x8b1(\ + \xd0$\x82\xa4^\x22\xbf\xd9@0i\x00\x00\xc0\xb6\ +m\xdb\xdc.o\xf57$\x90\x1b}^O\xb8\x22\xe8\ +\x0b3\x84\x04|>\x0f\xcb\xb1\x0c\x1c\x0e;\xbe`A\xe3\xc4\ +\x15\x9fF\x8f\x9e\x0dp\xe4r\xc2\x89\x7f\xfb\xb7\x1f\xbf\ +\xff\x1b\xdf\xf8\xc6(t\x10\x18T\xc3\x9b\x09\x04S\x02\ +\x80F\xbb\x9f\x7f\xf9\x07 \xb8\xdb\xedv\xf9\xc3!?\ +\x03B\x10\xf0{\xc0\xb1,X\x96\x85\xcf\xe7\x06\x01Q\ +\xe4\x80\xac\xb4NN\x10\xc0\x0b9\xe4s\x22F\xc7\xe2\ +\xc8\x09\x8a]\x90Ld088\x82\xba\x9a*\xacX\ +qyq\x05\xcf\x93\xb8\x9f\xca-\x82\xc0\xbf~\xdf}\ +\xffz\xdb\x0f~\xf0\x83\x11\x00y(\xafhP\x0bo\ +\x16\x10L\x0b\x00\x00\xb0k\xcf\xcb\xdfb\x19\xe6\xdb6\ +\x9b\x0d\xe1\xb0\x1f\x0c!\xf0z\xdd\ +\x05\x02\x06--\x13\xeb\xf9\xf2<\xbbp\xe0\xe0\xf9\xec\ +\xc9\x03\x07\xfe\xf4\xb9\xdbn{\xefQ\xe8 \xa0m\x83\ +\x8b\x1e\x043\x02\x00\x00\xec\xde\xfb\xca\x8d\x0c\xc1\x16\x86\ +e\x82\xe1\x8a\x00X\x8e\x85\xd3\xe1D0\xe0\x01!\x04\ +\x0e\x87\x0d\x1c\xcb\xd1\xfe\x12^z\xe95\xd4\xd5\xd5\xa1\ +\xa6&l\xac\xcc\xb4\x98V\xee\xec\xdc\x83C\x14\xf3\xf1\ +\x17^\xd8s\xc7m\xb7\xbd\xf7\x18\x80\x1c\xded \x98\ +1\x00\x00`\xe7\xde\xc3Wp\x0c\xbb\x87a\x98\xa0\xdf\ +\xef\x85\xc3n\x83\xd3aC0\xe8\x03C\x18\xd8\xed6\ +p\x1c\x07\xc82\x0e\x1f>\x81\xa6\xa6F\x84B\xfeR\ +U\xb2\xfewV\xc1Q:\x8dq:\x86\xa2(\xe6\xe3\ +\xbbv\xed\xb8\xf3C\x1f\xba\xe3U(\x92\x80V\x09\x17\ +5\x08f\x05\x00\x00\xb0u\xef\xde`\x80\xf1\xed!\x84\ +\x5c\xe1\xf3{\xe0\xb4\xdb\xc1\xd9XT\x85+\xc00\x04\ +,\xcb\xe2\xf8\xb17\xd0\xd4\xd4\x80`\xd0W\xbeR%\ +\x99p\xf1\x82C\x14\xf3\xf1\xdd\xbbwZ\x81\x80\x0e \ +]t\xb1\x82Y\x03\x00!\x84<\xfa\xf4\xd3\xc1Z_\ +\xed\x16\x96a\xde\xe1t:\xe0\xf18\xc12,*\xc3\ +A\x9c>\xd5\x8e\xf9\xf3\x9bL\xcc\x9f\x1d\x83\xac\x5cY\ +\xe7\x13\x1c\x14\x08\x8eBQ\x07\x17=\x08f\x05\x00\xa6\ +,\x22\xb2{\xcf\xe1\xdfr\x1c\xf7I\x87\xc3\x0e\x8f\xc7\ +\x85\xfe\xde!\xd4\xd5Vc\xde\xbcz\xd3}eK\x9d\ +b\x1d\xa6^V\xb9{FGcH$\xc6\xd1\xd8\xd8\ +\x04\x96e'q\x8f\x02\x0eE\x1d\xfc\xf1\x83\xeb\xd7\xdf\ +\xf9*\xde\x04 \x981\x00\xcc\xcc\x87\xd2\x12\xcc\xb3\xbb\ +\x0e|\xd3\xe3\xf2|5\x93\xc9\xc2\xedpa\xe5\xcab\ +\x1f\xbf|\xb9e\xcf\xceYY\xf1x\x1c\xbd\xbd=\x88\ +\xc7\xe3`\x18\x02\x8f\xc7\x8de\xcb\x96\x1b@0\xd1s\ +DQ\x8c\xef\xda\xb5C\x03A\x9e\xda.:\x10\xcc\x16\ +\x00\xe8\xc1\x1bV\xddl\x8f\xff\xe1\xd9\xcf\xb1\xc4\xf9\xdd\ +\x1bn\xb8\x0a6\x9b\xad\xc4\xfd\xd3yf\xc93\xd3.\ ++\x9dN\xa3\xab\xab\xb3\xc0x\x80\xa8\xe7\x08\x1c\x0e'\ +\x9a\x9b\x97\xc1n\xb7O\xba\xce\xa2(\xc6w\xef.\x02\ +\x81\x160\xbah@0\xa3Y=e\x98\xcf\x01\xb0\x8d\ +\x8d\xa6oX\xb5\xaa\x19\x1c\xc7\xa93\x8d\x8a7Y\x96\ +!\xcb\xb0\xdcJQ\xa9\xebK=\xa3\x5c6X6\xcb\ +\xa3\xad\xad\x0d\xc7\x8f\x1fG<\x9e\x80&\xc8\xb4W\xe3\ +8\x0e\xf5\xf5\xf5\xb0\xdbmT\x9dK\xd7A#\x96e\ +\xfd\xef~\xf7-\x9b7m\xda\xb2\x06\x80Mm\x13\xad\ +}\x0aC\xdb\x17:Gq\xda\x12\xc0$\xfa\x19u\xe3\ +\xd4\xcd\xfe\x9d\xef\xfc\xfb\x1dk\xd7\xae\xfb\xcd5\xd7\xac\ +\x9edy%\xcfL\xf1\xfa\xc9=C\x14E\xf4\xf6\xf6\ +```\x00:\x8e\x09\x18Fq\xedX\x96CMM\ +-jjj,\xc5\xffd\xeb+\x8ab|\xe7\xceg\ +?\xf4\xb1\x8f}\xf8(\x00\x01z\x9c\xe0\xa2\x90\x04\xd3\ +\x02\x80\x05\xf3\x09(\xe6_w\xdd;\xaa>\xfb\xd9/\ +\xed\xba\xf6\xda5\x8d\xa1P\xc0|\xef\x14\x9fU\xf6\xec\ +\x94\xef\x11E\x11\x03\x03\xfd\x88D\x06\x90\xcfK D\ +\xa9\x93\x965D\x08PYY\x85\xfa\xfa\x06U\xe4\xcf\ +|\x5cA\x14\xc5\xf8\xc1\x83/\xdd\xf5\xfe\xf7\xbfk/\ +\x8c\x86\xe1\x05\x07\xc1L\x00@\x1b}\x05\xb1\x0f\xc0\xf9\ +\xf3\x9f?\xf4\x95\xc5\x8b/\xff?W]\xb5r\xaa\xe5\ +N\xf1\xfa\xb2g\x8b\xfe\x89F\x87p\xee\x5c\x17\xf2y\ +\xb1\xd0\xeb\x09\xd1S\xc6|\xbe\x00\xe6\xcdk\x82\xcbe\ +\x1c\x97\xa0\x9f\x13\x8d\x0e!\x12\x89\xe0\xb2\xcb\x16\xc3\xed\ +\xf6L\xa9\xbemmg\xbfp\xd5U+\x1f\x86\x11\x04\ +\xe6\xd1\xc4\xf3\x0a\x04n\xaa7X\xa4o\x19\x00\xb0v\ +\xed\xdb+++\xab\xefjh\xa8)\xa9\xc7K1\xae\ +\xdc{[\x81\xa3\x5c3\x11\xa2\x9f\x8cF\x87\xd0\xdb\xdb\ +\x0b\x9e\x17\x0a=^\xc7/`\xb7;\xb0`\xc1\x22\xf8\ +\xfd\xd6\x01*YV\xbc\x83\x8e\x8e6d\xb3J\x19'\ +N\x9c\xc0\xa2E\x8bPUUU\xaa\x06E\xff,^\ +\xbc\xe4\xa7\xaf\xbcr\x02*\x08\xccT\xc8)P\xe7g\ +\x9e\x17\x10L\x19\x00*\x95\x92\x00\xf6\xbb\xee\xfa\xf4\xdd\ +\x1cg\xf3UV\x86J\xde\x5c\x9eq\xa5\xee\xb1\xbe\xa9\ +\x94\xd4\xd0\x98\xa6\xb9t\x84\xe8V\xbd\xd6\xf3\x1d\x0e;\ +\x1a\x1a\x1a\x10\x0eWR\xcf(v\x0b\xfb\xfaz\x10\x8f\ +'\x0a\xe0QT\x06\xd0\xd5\xd5\x09\x8e\xb3!\x18\x0cZ\ +\xd5\xc0\xf2]\x16/^\xac\x81\xe0\x11\xe8m\x98WO\ +\x9fw\x10L\x09\x00\x16\xbd\x9f\xa56\x1b\x00{8\x5c\ +\xfd\xc1\x8a\x0a?X\x96\x9dr\x8f\x06\xa6\x0e\x0e\xabg\ +\xa4Ri\x9c;\xd7\xa9Z\xf5:\xd3\xb4c\x9bM1\ +\xf0\xaa\xabk\xd4z\xd2\xcfP~\xf0<\x8f\xee\xeeN\ +\x8c\x8e\x8e\x19\xa4\x86V\x8e\xdd\xee@}}\x03\x02\x01\ ++\xe6\x97\x7f\x97\xc5\x8b\x17\xff\xf4\xd0\xa1\xe3\xe4\xdak\ +W\xd3\x92\xe0\x82\x80`:\x12\xc0\x10\xf0\x01\xc5\xfc\xfb\ +\xee\xfb\xf9\xc7\x1c\x0eg} Pj\xa0G\xa7\xb9\x00\ +G6\xcb\xa3\xaf\xaf\x17\xd1\xe8\x90\x81\xe1\xf4qee\ +%\x9a\x9a\xe6)\x83S\x16\x94\xcd\xf2\xe8\xed\xed\xc5\xf0\ +p\xd4T\x17Ejp\x1ck\xf2\x0ed\xc8ric\ +\xc4\x1a\xb4\xc0\xd2\xa5\x97\xff\xe4\xd0\xa1\xe3\xb8\xf6\xda\xd5\ +\x8fP\xa7D\xed\x12\xa8v\xc1\x5c\x83`\xa6*\x80v\ +\xfdl\xf5\xf5\x0d\xef&\x84 \x10\xf0\x1b\x18\ +\xbfAGkEh\xcf\xa0\xc5\xb4U\x8f\x07\x80pX\ +a\x9a\xd3\xe9(\xf9\xd2Z$QS\x19F\xf0\x00~\ +\xbf\x0f\x8d\x8d\xf3\xe1v\xbbJ\x96A\xd7\xcf\x8a\xe8v\ +\x09\x06\x83\xeb\xdb\xda\xfa\xb0xq\xc3\xe7`dv\xc1\ +; \x84\xccJ\xc8x&q\x00\x83'@\x08\x08\xc3\ +\x10H\x92\xf22\xed\xed\xddhn^\x04\x97\xcb\x0dQ\ +\x94\x0a7\xeb\xcb\x0dY\x14L1\xee\xf8\xf1#\xd0\x19\ +\xc5P\x0d\xa4\xe8\xe8\xba:EG[\xcf\xdeQ\xc4\xb4\ +f\xd9\x9b\x19O\x08\x81\xcf\xe73\x81\xa7\xb8-c\xb1\ +Qtww\xab\x8c\xd7%\x8e&5\x9cN\x07\xe6\xcf\ +_h0\x12K\x95\xa5\xbf\xe3\xe4\xd4` \x10\x5c\x7f\ +\xf6l\x1f\x96,i\xf8\x9cv\x09\xf4\xf8\x00\xc1,\xa9\ +\x82\xe9H\x00mo\xf0\x04dY\x22\xca0\xaa\xf22\ +\x92\x04\xb4\xb5u\xa3\xa5e\x09\x18\x86C>\xaf\x83\x80\ +a\xac\xeb\xac\x81\xc3\xe1p\xa0\xb9y9\xce\x9e=\x0b\ +I\xd2\x19\xc8q\x1c\x1a\x1a\x1aP]]C\xddSJ\ +L\xe7Q,5\x14\xa6566!\x18\xac\xa0\x9e\xa9\ +\xbe\x14eo\xf4\xf5\xf5\xaa\xb6B\xb1\xd4`Y\x0eM\ +MM%\x01X\x8e\xa6\x02\x8e`0\xb8\xfe\xc5\x17\x8f\ +\x1e\xbc\xfe\xfa+\x1f\x811\xb9A\xeb\x80s/\x01,\ +\x12\x164\xe6\xd3 *\x15.R\x80 \xe1\xf4\xe9\ +\xb3X\xb6l\x098N\x07\x81$\xa1$i\xe0\xf0\xfb\ +\xfdX\xbd\xfa\x0a\xb4\xb7\x9fE2\x99@]\x9d\xc2x\ +%\xb9\xc4\x5cGZL\xf3*\xc3\x0b9\x17\x00\x94\xf1\ +\xfd\xfa\xfazTW\xd7\x94dZ6\xcb\xa3\xa3\xa3\xad\ +\xc0x\xb3\xad\xa1\x19\x89Z\x08\x19\x98\xbb\x18\x87F\xe9\ +4\xbf\x00J\xa4U\x82q\xe4pV\xa4\xc0t\x8d@\ +\x80\x9a\xca\x0d\x80\xd1\x1b\xcc8\xa0\x22\xcb2N\x9fn\ +CK\xcb\x12\xd8\xed6\xf0\xbcb\xd4\x96j\x1b\x1a\x1c\ +\x0c\xc3b\xc9\x92f\x08\x82\x00\xbb\xdd\x0e\x86\x01\xcc\xa0\ +W\x5c\xbav\x08BV}\xbe\x96\xe4\xa43\xb0\xbe^\ +\x03\x8f5\xd3x^\xb77h\xa9A\xeb\xfap\xb8\x0a\ +\x8d\x8dMT\x19T\xc3\xccr\x8cCy\xaf\x14\x9e|\ +r\x17\x9eyf\x17\x07\xc0\x0e\x8b\x09'\x98\x05)0\ +\x938\x80\xb6'\x00\x08!\x1c\x14#P\xbbD\x07\x02\ +-\x09\x1c\x0e\x0e<\x9f\x9f\x94-\xa0\x91\xe6K\xd3\xe0\ +H$\x141\x9dH\xc4\xd5{t\x11\xad3\xadR\xb5\ +\xca\x1dj=\x8c\xe5\xe6\xf3\x22\x06\x07\x07\xd0\xd7\xd7c\ +ik\x10\x02\xf8|^\xcc\x9f\xbf\x08\x0eG\xe9(\xe0\ +l\x8en\xb2,\x83\xbd{_\xc2SO\xedE2\x99\ +\x82,K\xdaX\x0b=\xeb\x88\xee\x883\xa2\xc9\x02\xc0\ +\x1c\x07\xd0\xf6\x94\x04\x90\x89n!\xcbE@P$\x81\ +\x0e\x82l6\x0fz\xcc\x9e\xa6r\xe0\x10\x04\x1e\x9d\x9d\ +m\x88\xc7\xc7)\x8b\x5c\x17\xf9\x0a\xd3\x14\xab\x5c\x0fI\ +\x1b\x9f\x93\xcf+F\xe2\xe0`\x04\xa2\xa8\xb9\xd9\x8c\xa1\ +<\x8f\xc7\x8d\xc6\xc6\xf9\xa0\x17\xa6\x98\xcb\xd1MB\x08\ +\xfa\xfb#x\xf0\xc1\xad\xe8\xee\xee/\x94\x17\x8f\x8fv\ +@\xcf)\xccAW\xbb\x12u\xef\xb4\xd5\xc0t%\x00\ +MD\xadD\xa1\xe7i\x0c4\x03A\x96e\xb4\xb6\xb6\ +c\xf9\xf2%\xf0z\x1dH&\xf9\xd2\x85\x96\x00\xc7\x1b\ +o\x9cA&\x93\x82\x86=\x85\xf1\xca\xf3\x1c\x0e\x07\x16\ +,X\x00\xaf\xd78\x1aIK\x8e\x91\x11\xdaV\xd0t\ +\xbc.\xf6\xedvc\x08y.C\xda\xb2\x0c\xb5\xbdd\ +l\xd8\xf04^|\xf1\xd5B\xb6\x92V\x1f\x9e\xcf\xa4\ +aL*5\xa8^\xcc0.0\x1d\x1b\xc0\xf2\x9c\x12\ +\x06f\xd4\x06\x93J\x02A\x92D\x9c:u\x16--\ +K\xe0\xf39\x90Hd-\x8b-\xd5\x9e\xcd\xcd\xcb\xd1\ +\xd3\xd3\x85\x91\x91\xe1\x0238N\xb1\xcaC\xa1J(\ +\xd2\xa6\xf8\xbe\xb1\xb1Qtww!\x97\xe3\xa1\xebv\ +\x1d<,\xcb\xa1\xba\xba\xa6`\xe0I\x92\xac\xda\x1cV\ +\xf5\x9a\x9c\xea\xd2\xef\xb1~\x19\x9b\x8d\xc5+\xaf\x9c\xc0\ +\xa6M;1::\xa6\x96\xa1\xe4'\xea \x10\xe9l\ +bCF\xf1l\xd0L%\x80\xae1\x0d\x12\xa0<\x10\ +DQ*\x80\xc0\xebu\x22\x99\xccNT|\x81X\x96\ +\xc5\x82\x05\x97\xc1\xef\x0f\xa0\xa7\xe7\x1c\xaa\xab\x8d\x89\x1d\ +f\xc9a\xb4\x15\x8a\x19\x0f(!\xe4\xba\xba\xfa\xa2\xec\ +\xdf\xd2\xde\xca\xcc\xc0\xc1q\x0c\xa2\xd1\x11l\xd8\xf0\x0c\ +N\x9el\x03\x00\xb8\xdd.H\x92\x08\x87\xc3\x81`\xd0\ +\x0bB\x08b\xb1\x04\x86\x87\xfb\xa2(\xee\xf9\xe7\xdd\x06\ +(G\x9a\xe9\xa5J\x00\x85\x01\x13\x01A\x92$\x9c>\ +\xdd\x86\x15+\x96\x22\x18tcl,c\xd1SJ\x0f\ +\xa5\x86B\x95j\x8f7\xdd\xa1\x16!\x08<\xda\xdb\xdb\ +\x90L\xc6-\xa3w\x84\x00\xc1`\x10\x8d\x8d\xf3`\xb7\ +[\x1b\x89\xdauVT\x0a\x1c\xe5b\x1c\x0c\xc3\x80a\ +\x80\xad[wc\xe7\xce\x17\x91\xcf\xe7a\xb7\xdb\x10\x0e\ +\x07\xe1p\xd8\xc0\xf39\x08B\x1e\x0c\xa3\xac\x9bp\xf6\ +\xec9\x0c\x0c\xb4\x0db\x96\x99N\xd3l\x00\xa0@\xb4\ +\xdf<\x19 H\x92\x84\xd6\xd6N,[v\x19\x82A\ +\x97%\x08&\x1aJ5\x93 h\xe1\xdf!\xe8\xae \ +m(*Fb]]\x03\xbc^=\x0aXZ|\x97\ +ns\xab{\xac\x80\xc1\xb2\x04v;\x87\x13'\xce\xe0\ +\xb1\xc7\xfe\x88Hd\x18\x0c\xc3\xa0\xba:\x8c`\xd0\x87\ +|>\x8f\xf1\xf1$x>\x07\x86!\x18\x1d\x8d\xa3\xbd\ +\xbd\x17\xe1p\x00\xa0b-\x98\x03\x10\xcc\x06\x00d\x00\ +\x85\x09\x154M\x06\x08<\xcf\xe3\xf4\xe9\xf6\x02\x08b\ +\xb1b\x10\x94f\x8e~\xac\x8d\xd2\xf5\xf7\xf7\x98\x98\xae\ +\x97\xa1\x19x\xe5$\x87\xd5\xebM\x17\x1c\x0cC`\xb7\ +\xb3\x88\xc7\x13\xf8\xcdo\xb6\xe1\xd5WO\x03\x00\xfc~\ +/\xea\xea\xaa`\xb7\xb3\x18\x1fO!\x1eOB\x92\x14\ +\xd5\xa0\xa9\xd2ht\x146\x1b3\xe7\x9f\xe1\x99)\x00\ +\xb4f\x93\x19F\xf3\xa1\x8b\x83A\x13\x01A\x10x\x9c\ +>\xdd\x81e\xcb\x16\xa1\xb2\xd2\x83X,e\x08\x1dO\ +F\xb7\xf2|\x16##\xd1\xa2\xe8\x1d\x00\xb0\xac\x0d5\ +55\xa8\xad\xd5\x86yKq{\xaa\xae\x5cip\xd8\ +\xed\x1c\x18\x06\xd8\xbb\xf70\x1e\x7f|;r9E\xdc\ +/X\xd0\x00\xaf\xd7\x85t:\x8btl\x00\x99\x14\x00\ +\xb0\xe08-\xdbX7\x00;::\xbbL\x15\x96Q\ +\xba\xf2\xd3\xa2\xa9\x00\xa0\xec\xc3\x8b\xdd@\xed\x96\xc9\x01\ +!\x97\xe3q\xe6L\x07\x9a\x9b\x17\xa1\xa2\xc2\x8b\xd1\xd1\ +\x14\xf2y\x91\xba\xb7|\xcc\xc0\xe5\xf2\xa0\xa5e\x15\xda\ +\xda\xde@*\x15\x87\xe6%\xd5\xd5\xd5\x1bB\xb7\xfa=\ +\xd6\xafX:@79p\xd8l,\x5c.\x1b\xce\x9e\ +\xed\xc2\x83\x0fnA\x7f\xbf\x920\xd2\xd8X\x83\x86\x86\ +\x1aH\x92\x88\xe1\xe114y\xce\xa2\xa1*\x81q\xbf\ +\x0d\xaf\x8d4A\x90\x1d\xd0\xc6,\xb4M\x8d\x9a\xce\x19\ +\xf3\x81\xd9S\x01r4\x1a\xed\xa8\xae\xae^A\x0f\xc9\ +N\x15\x08\x82\xc0\xa3\xb5\xb5\x03K\x97.B(\xe41\ +\x80\xa0|@E9\xc9\xb2\x0c\x96.m\xc6\xc0@?\ +r9\x1e\xb5\xb5\x0d%\x0d\xbc\xc9\xa8\x15\xabg\x948\ +\x0b\x86!p\xbb\xed\xc8f3\xf8\xdd\xef\xb6a\xdf\xbe\ +W\x00\x00\x81\x80\x0fK\x97*\xb9\x0a\xb1X\x1c\x83\x83\ +#\x10\x84\x1c\x9a\xeb\xb3p\xb8\x09\x02#\x02\xae\xaen\ +\xc7\xf1\xd8e\xc8Hn\x03\x00\xd4\x19K\xa5\x18?+\ +`\x98,\x00h\x0e\xd2\xa3R\x85\xb8\xf4\xd8\xd8\xe8\x90\ +bd\xc9\x06\xe6\x97\x03\x02M\x1a\x10\x04!W\x00A\ +8\xecE<\x9eF:-\xa8\xd7L\xae\x17\xea\xa2^\ +{\xa6\xd5=S3\xeeJ\x03\x83\xc0\xed\xb6\x81e\x09\ +\x0e\x1c8\x82\xdf\xff\xfe\x8fH\xa5\xd2\xe08\x16--\ +\x97\xa1\xb2\xb2\x02\x82 \xa0\xbb{\x00\xa9T\x06\x0cC\ + \x8a9\xd8X\x19\x0e?\x03\x9b\x8b\x81tN\xc0\xaa\ +\x8a6\xb4'\xe7cL\x0c\x81\x10\xc5@\x8e\xc7GN\ +R/1'\x92`\xaa\x12@6\x1d\x17\xb6?\xfca\ +\xe3\xc1\xb7\xbf\xfd\xc6\xff\x09\x00\x92\xa4\xd8\x01\x13\x01\x81\ +\x96\x04\x1a\x11\x02\xe4r9\xb4\xb6v\xa2\xb9y!\x02\ +\x01%\xb12\x9d\x16f9\x14;s\xcb\xdf\xe5\xb2\xc1\ +\xe5\xb2\xa1\xb3\xb3\x0f\xbf\xfb\xdd\x16tu\xf5\x01\x00\xe6\ +\xcf\xaf\xc7\xe2\xc5M \x84`pp\x04\x91\xc80\x08\ +!\xe08\x16\x92$B\x96e\x84\x83\x22\x08\xc3\xc2\xe6\ +\x00|M6$\x07rX\x8avtfd\x8cJ5\ +\xd0\xa4\x0a\x8a\xdb|Vi\xba*\xc0,\x05\xa4}\xfb\ +\xf6\x0c\x8c\x8f\xc7\xba\x83\xc1\x8a\xf9Z\x90d&@\xc8\ +\xe7\x15\x10,]\xaa\x83 \x95\x12\xca0\xed\xfc\x81\xc3\ +\xe1`\xe1\xf18 \x08\x02\x1eyd\x1b\xf6\xee}\x19\ +\x82\x90C8\x1cDK\xcb\x22\x04\x02\x8a\xe4\xea\xe8\xe8\ +A.\x97\x07\xcb\xea\xd6}.\x97\x03\xcbr\xaa\x1c$\ +\x00\x01\x1c.\x0e\xf6\x85,\x92\xbd\x02\xe6\xcb\xed\xf0\xe5\ +\x13\xe8\xe2/\xc3\x0c\x97o\x98\x14M\x08\x00Y\x96\xb5\ +Q\x1e\xb3\x08*0\x1f\xea(\xd5\xbe}{\x9e\xb9\xe3\ +\x8e\x0f\xfd\x83\xc6\xe4\x99\x02!\x97\xcb\xe1\x8d7\xba\xb0\ +t\xe9\x22\x04\x02n\xd8\xed,b\xb1L\xc9\xba\xce5\ +88\x8e\x81\xd7\xab\x18k/\xbdt\x1c\x1b7nG\ +,6\x0e\x9b\x8d\xc3\xca\x95\x97\xe3\xb2\xcb\x1a\xc1\xf3\x02\ +\xda\xdaz16\xa6\x0cV\xd1\xcc\x97e\x19\xa2(\x16\ +V Qk\x00\x10\x02\x86\x10\xcc[\x11\xc4`W\x12\ +\x18\x18B.\x9f\xc7\x91\xb1s]\xc6\x0b/|$\xb0\ +$\xf3\x01\x88\xdf\xf8\xc6\xff\xdd\xb5t\xe9\xb2U\xcb\x96\ +-\xbf\x01\xd0\x99<\x13 \xe4r9tt\xf4`\xd1\ +\xa2&\xb8\x5c\x0e\xc82\x10\x8b\xa5-\x197\x9b\xc3\xb2\ +\xca=\xcaM\x0cC\xe0\xf5:\xe0p\xd8\xd0\xdf?\x88\ +G\x1e\xd9\x86\x13'\xce\x02\x00\x16,\xa8\xc7\xea\xd5\x97\ +\xc3n\xb7\xa1\xafo\x08\xe7\xceE I\x12X\x965\ +xF\x84\x10d\xb3\xd9\x02 4\xa6\xeb\x81T\x02\x99\ +\x10\xcck\x0e\x022 \x0f\x8c\xe0#\xeb\xb8\x8f\xb4\x9e\ +v\xbd\x14\x19\xcdhK\x97X\x05\x85\x080\xfd\xc4\x90\ +I\xad\x0fP\x18\xe75&\x82:\xa0|GP\xfb\x92\ +\x98\x0f\xcaG\xa4\xfc\x8f=\xb6\xf9s--\xab\xae\x07\ +\xf4\x06\xd6\x96\x82\x01dH\x92\xf6\xbf\xb6\xdcJ\xf15\ +\xe6\xff\xddn7\x16-j\x82\xcd\xc6!\x9d\xe6\x11\x8b\ +\xa5K\xd5u\xaamP\x12\x1c\x84\x10x\x8c\ +FR\xe8|}\x04\xc9d\xa6\xe3\x99\x97\xde\xf8\xd7g\ +\x0eu\x1c\x05\x90\x04\x90\x06\x90E\xf1\x1a\x03\xb2\xdaV\ +S\x02\xc1T\x01@@M\x05\x87\x02\x02\x17\xa8O\xc9\ +i\xfb\x8d\x1b7\xff\xfd\xca\x95\xab\xaf\xa1\x99\xa8\xed\xa7\ +\x0b\x04\xb7\xdb\x8d\x85\x0b\x1ba\xb3q\xc8\xe5\xf2\x88F\ +\x93e{\xb0\xc5{L\xfaZ\xb7\xdb\x06\x8f\xc7\x01\x96\ +eq\xf4\xe8)l\xdc\xf8\x0c\xfa\xfb\xa3\xb0\xd984\ +7/\xc4\xca\x95K \x8a\x22\xba\xba\xfa\xd1\xdb;h\ +\x1a\xc13o\x0c\x04![\x98\x81\xc4\xb1\x12n\xbe\xaa\ +\x13N\x07\xab\x80O\x05\x8c\xc3\xce!\x14tB\x93\x0a\ +#\x03)t\x9f\x19F6\xcd'\x9f>\xf8\xc6\xdd[\ +\xf7\x9f=\x02\x1d\x00\x02\x8c\x8bOM\x0b\x04S\x01\x00\ +\xa0\x03@\xcbR1K\x01M\x12\xf8\x00x7n|\ +\xe2\xefV\xae\xbc\xe2j\xb5R0\xef\xa7\x03\x04\x9f\xcf\ +\x8b\x85\x0b\x9b\xc00\xa4\x00\x02I*~\x87\xa9\x0a\x02\ +\xed\x15\xedv\x16^\xaf\x13v;\x87ht\x14O<\ +\xb1\x13\xfb\xf7\xbf\x0a\x00hj\xaa\xc1\xda\xb5\xcb\xe1\xf3\ +\xb91::\x8e\x93'\xdb!\x8aRQ\x04O\x97\x00\ +\x0c\xd5\xfb\xf5\xa9\xea>W\x0a7\xae\x89\x80\xd1\xa4\x04\ +\x98\x02\x08\xea\xaa\xdd\xd0\x00@\x08A*.\xe0\xd4\xe1\ +>\xf0\xe9l\xb2\xado\xe4\xfb\xdf\xdf\xf8\xd2F\x00\x19\ +\x00\x9f\x13\xb2\x0c\ +\x9c9\xd3\x8e\x87\x1f\xde\x86\xee\xee~\x00\xc0\xea\xd5K\ +\xd1\xd2r\x19\x9cN;\xba\xba\xfa\xd1\xd1\xd1S$\xe2\ +\x95q\x10]\xef\x9b\xa5A<\x1eWG\x1c\x95\xdf>\ +g\x0ao[\xd5\x07B\xb4\x9e\xaf\xde\x0b \xe0s\xc0\ +\xe3\xb1\xa9\xb5$\x85\xea\x8ay\x09'^<\x87\xc4X\ +\x0a\xb1df\xcb?\xfdr\xcf\x17`\x04\x01\xbd\xfa\x98\ +f\xa4O\x08\x82\xa9\x02@k=z^ \x0d\x027\ +t\x9b@\x93\x08\x1e\x00\x9e\x8d\x1b7\x7fj\xf5\xea+\ +\xd7Y1\xd5\xbc\x9f,\x10\x8c \x9008h\x04\xc1\ +Dj@a\xbc\x0b\x0cC\x90L\xa6\xb0q\xe3\xb38\ +x\xf08x^@mm\x18\xeb\xd6\xad@ee\x05\ +\xe2\xf1$N\x9f\xee@&\xc3\x1b\xf4\xba\xc2hk\xa6\ +\xd3~\x7f*\x95V=!\xe5?\xaf3\x85\x1bV\xf6\ +\x17\x98^\xf0\x0a@\xe0rs\xa8\x088\xd4\x86\xd6\x01\ +\xa0\xfdn=\xd6\x87\x81\xae\x11\xc4\x92\x99-\x0f\xed8\ +\xfe\xad\x13\x1d\xb1(\x14U`\xa5\x0e&\x04\xc1\x94V\ +\x09+!\x05\xb4\xd5\xc14{\x80\x96\x04\x9a4pC\ +\x01\xc1\xdf^q\xc5\x95\xeb\x8a\x0d<=el\xaa@\ +\xf0z=X\xb0@\x97\x04\x83\x83\xe3\x13J\x02\x87\x83\ +C(\xe4\x05\xc71\xc8\xe7\xf38p\xe0Ul\xdc\xb8\ +\x1d\xf1x\x12v\xbb\x0dW]\xb5\x1c\x97_>\x1f\x00\ +p\xfat\x07\xa2\xd1X\x81\xe94\xc3\xad\x99\x0e\xc3u\ +\xe3\xe3t\xefW\xad}G\x12\x7f\xb1\xbcO\xf5\x00\xf4\ +akB\xd4\xc9\xa5a\x97\x81\xe9j\xe3\xab\xbf\x81\xb6\ +\x13\x038\xd76\x88,/\x9cy`\xdb\xab\x1f}\xbd\ +s,\x0a\xc5(\x9c\xf2\xeac\xd3\x01\x80V\x0f\xcd \ +d\xa0.\x11\x83bu@K\x017\x00\xf7\xd6\xad\xdb\ +\xff\xa1\xb9y\xd9\x0akK\x7fz@\xf0x\xdc\x05\x10\ +\x002\x86\x87\x93H\xa5x\xad\xce\x85\xfa\xdbl,*\ +*\xdcp8\x14\x11\xdb\xdb;\x80\xdf\xfev+\xce\x9c\ +\xe9\x00\x0047/\xc2\x95W.\x85\xd3\xe9\xc0\xc0@\ +\x14]]\x03\xc8\xe7s\x06\xbd\xce\xb2V\x0c\xb7\xee\xfd\ +\xa2(\x22\x91\xd0g\x17i r\xd9\xd3X\xb7\xa4\x13\ +\x0e;c\x09\x82\x86Z\xaf\x81\xe1\xea\xcd\xeao%\xa8\ +2pn\x04'_\xee\x84 \x08}/\x9e\x1c\xf8\xfb\ +\x0d\xcf\x9dy\x15\xc5 \x98p\x91\xea)\xaf\x13h\xa1\ +\x0a\x0c\xcb\xc4@\x01\x81\x0b\xbaJ0\x80\xa0\xba\xba\xb6\ +\xf2\x89'\x9e\xba\xa7\xaa\xaa\xba\xde\xcc\xe0R@\xa0\xcf\ +\x97\x02B \x10DccMa\xcd\xbf\xe1\xe1D\x01\ +\x04\x0cCPQ\xe1\x86\xc7\xe3\x04\xa0\xac\x0b\xfc\xe4\x93\ +{\xb0s\xe7\x8b\xe0y\x01\xc1\xa0\x1f\xeb\xd6-W\x92\ +4\xc4\x11\xb4\xb7\x9eE\xef\xb8\xab\xc8\x98S\xf6\xa5\x19\ +n\x06F2\x99B.\xa7\x03\x88a\x94\xa4\xd8lv\ +\x0c6\x12\xc1\x0d\xab\x00\xaf\x9bNGW\xee\xab\x0a\xbb\ +\xe0\xb0\xb3EL7K\x85\xe8\xc0\x18^\x7f\xa9\x1d\x99\ +\x0c\x9f8\xf0\xfa\xb9\x8fox\xae\xed\x18t\xef\x80\x9e\ +GP\x12\x043](\x12\xb0X#\x18\xba:\xd0@\ +\xe0\xa16wmmmx\xd3\xa6\xa7\xbeX]]S\ +_\xde\xf7\x9f\x1a\x10\xfc\xfe \xe6\xcd\xd3\xe7\x0d\xc6b\ +I0\x0c\x81\xcf\xa70S\x92$\x1c?~\x06\x0f=\ +\xf4\x14\x06\x07G\xd4\x10\xee\x12\xb4\xb4,\x02@\x90\x1c\ +>\x0a\xf7\xe8\xab\x90\x04\x09\xdd\xb9\xc5\x18\x97kKX\ +\xfa\x13K\x00Q\x141>\x9e\x00\xcb\xea\xcc\xe5\xf98\ +\x92\xc9A\x88\xa22\xbaig2\xfc\x8dkI.\x1c\ +t{\x89\x16\x0f\x00A\xc0o\x87\xdf\xeb,f\xba\x85\ +TH\xc6Rx\xe9\xf9S\x10\x04\x01\x9d\x03\xa3_\xf9\ +\xe1\xef\x8fn\x80.\x09&\x5c\xae~\xa6K\xc5j\xf5\ +1\x83\xa0\x94:(\x80@\x91\x04\xdb\xee\xa9\xa9\xa9\xae\ +\x9f8\x084y \x84\xc3a\xd4\xd6\xd2)_\xca\x8d\ +\x03\x03Ql\xda\xb4\x03\x07\x0f\x1e\x07\x0044Tc\ +\xcd\x9ae\x08\x04|H$R\xe8\xe8\xe8A\x83\xff\x0c\ +\x167\xa6\x11mK\x03y\x09#R=\x86\xc8\xe5&\ +\x00L$\x01\x94\xf3z\xef'\x90\xa4\x1c\x12\x89\x01d\ +\xb3\xba\xbb\xda\xd5\xd5\xf9\xf2\x9e=\xcf\xef\x0f\xfam\xcc\ +/\xef\xfd\xf0\xc7j\xaa\x025Z\xb7r;m\xa8\x0c\ +\xb9\x0bL63]\xf9M\x0a?3)\x1eG\xfet\ +\x1ac#\x09\xf4\x0e\x8d\xdf{\xef\x86#\xbf\x82Q\x12\ +\x14\x81`F\x00\xd0\xebBh)@\x07\x89\xac\x0cC\ +\x17\x8a%A\xe5\x13O<\xad\xaa\x83\xc9D\x03'\x07\ +\x84p8T\x00\x01\xcf\xf38t\xe88\x1e|p+\ +\xb2Y\xa5\xe7\xad[\xb7\x1c\x8b\x165\x82\x10\xa0\xab\xab\ +\x1f\xf1x\x0a\xc9d\x0a\xd7/\xefCu\x05\x0fY\x92\ +1\xd2\x93F>\x91\xc38j1\xc25C&\xb6I\ +J\x00\x06\xb2,\x15\x06\x83\x12\x89A\xa4R\xc3\x85\x05\ +\xa8b\xb1\xd1\xae\x17_<\xb0}`\xa0o@k\xc7\ +\x80b\x0e?z\x00\x00\x10\xb6IDAT\xcf\xe6\xfa\ +\xfe\xd7?rg\xcb\xe2p3\x08`\xe3\x18\xd4\xd5\xf8\ +\xca2]=\xa1\xf1\x01\xf9\x5c\x1e\x07w\x1dGl$\ +\x81\xf1Df\xf3W\x7f{\xe8\x1f\xa1H\x02+\xe3P\ +\x86\x0a\x82\xd9\xfc^\x00m\x18NV\x12xjkk\ +\xc3\x9b7?}OU\x95\xa6\x0ef\x07\x08\x1cg\xc7\ +\xbe}\xaf\xe0\xc8\x91\x93\x18\x1bS\xe6\x0fr\x1c\x87\xab\ +\xaej\xc1\xf2\xe5\x8b\x11\x89D\xd1\xd5\xa5L\xc1\xca\xe7\ +E\xa4RI\xdc\xb02\x82\xaa _`\xeaPG\x1c\ +|\x5c\x80\xc0x\x11u^\x070\xf6\x12\x12\x801\xd8\ +\x08\x89D\x0a\xe3\xe3#\x88\xc7\xfb!\x08Y\xc8\xb2\x8c\ +L&=v\xfc\xf8\xb1\xa7O\x9e\x9fG{\xfb\x09\xa4R1\xb5\xce2\ +:;\xdbv\x1f8\xb0\xff\x05A\x10\xe20\xf6DP\ +m\xc6\x01\xe0\xbe\xf0\x99[\xde\xf5\xc1\xf7,\xbb\xad\xba\ +\xd2\x03\x97\x93C9\xa6'\xc7\xd38\xd7>\x94iY\ +\xb3\xd0\xc5P 9s\xbc\x03\xa7\x8e\xb6#\x91\xc9\xec\ +\xfa\xe7\xff<|\x17\xca\x8c\x1d\xccJ\xc6\x81\xacqC\ +\xd71\xda0q\x1e\x0a\xf2x\xb5\x12\x19(\x83\x19i\ +\x00)uKG\x22\x91\xe1\x0f~\xf0\xd6\x9f\x0c\x0d\x0d\ +\xf6\xeb\xba\x96\x81~\x5cl\x84Y_\xa33C\xad\x17\ +\x00mu\xcf\x0a\x5cye3^{\xed\x0d\x0c\x0f\xc7\ +\xc0\xaa\x9f\xb9\x95$\x85I\x8ca\xaa\x0f\x01\xd4\xb2\xfd\ +\xd5n,\x5cQ\x05\x17\x93B0\xb5\x1f\x0e9\x01\x8e\ +c\xc1q\x0cX\x96)\x94\xc3q,\xe2\xf1!\xb4\xb5\ +\xbd\x8cDb\x04\x92$ah(zj\xcb\x96'\xee\ +\xdd\xb3\xe7\xf9\xa7\x04A\x88\x02H\xa8[\x9c\xda\xc7\xa9\ +\xffS?}`\xc7\x8e\xef\xff\xe2\x85_&Sy\xc1\ +\x1cV\xd6c\x11\x0c\x18B\xd0\xdb6\x8c\xa3\xafv\xf7\ +\xb7u\x0e\x1d'\x0c\x03e#Xv\xe5e\x08\x84\xfd\ +`\x08\x13\x84\x22\x81m\xeaF\x0f'\x03\x98\xc5\x94\x13\ +\x0b\x10h.\x88\x06\x02\xc1\x04\x82\x14,@\x10\x8dF\ +\xfa\xcb3y\xf2@\xd0@\xe0t:\x10\x0c\xfa\x91\xcb\ +\xe5\x11\x8b%T\xa6)\x0c\xccd2`\x18\xe5X\x14\ +a\x0a\x1f\x12\xe4r\x12*\x1b\xbch\xb9\xba\x01\x0eN\ +\x86wl/\x1c\xd9\xae\x02\xe3Y\x96\x85(f\xd0\xd7\ +w\x0aCC\x1dH\xa5\xd2\xc8f3\xb1?\xfdi\xef\ +\xaf\xb6m\xdb\xfc@,6r\x0e\xca0.\xcd\xfc8\ +\x80q\xea\x98\x06A\xf2\x99\xddG_\xfb\x97\x9f>\xfb\ +\xff\x06\x87\x13\xfd\x1a\xd3\x01%\x7f\x80!(\xe4\x11\xf0\ +\xd9< \x13\xe6l\xd7\xf0 \x00\x03H\x9c\x0e;l\ +\x9c\xad\x81\x02\x80yn!\x03\x80\xcc\x1a\x00,@ \ +\x9b@ \xc0(\x092*\xf3\x934\x08\xee\xbc\xf3\xf6\ +\xfb\xa3\xd1\xe1>=\xbe>} h\xc4\xb2,\xecv\ +\x1b\xce\x9d\x1b(0\x9eeYu&\xae6e\x8b\x81\ +\xdb\x99\xa7\xdc-\xe5\xfe\xbc(\x83\x10\x06\x9e\x80\x03\xab\ +n\x98\x07\xbf\x8f\x85#v\x08\xb6t\x07\x08\x9102\ +\xd2\x85\xae\xae\xe3H\xa5\xc6\x90Je\xb2mmg\x9f\ +\xdb\xb0\xe1\xe1\xef\x9c=\xfb\xc6\x09\xf5\xdd\x92&F\xd3\ +\x9b\x06\x82\x02\xf3\xb5\xed\xa9\x1d'\xce\xdc\xfa\xd7\xbf\xfc\ +it8\xdeO3]\xeb\xe5D\x1f|\x22\x90\xc1\x9a\ +\xa5\x85\xcda\x87\xc3\xc6\xd5[\x00\x80v\xe1g?\xe9\ +l\x02\x10\x98\xd5\x81&\x0d\xb4\x17OE\x22\xfd#\x1f\ +\xf8\xc0\xfb~\x12\x8d\x0e\xf5)zv\xfa@P~3\ +\xe0y\x1e\xa2(B\x10\xf2\xe08\xb6 \x01\xb2Y\x1e\ +\x0c\xa3\x1cs\x1c\x8b\x80GQ\xcbf\x10\xe4r\xca\xca\ +WN\xb7\x03+\xae\x9f\x0f_\xd0\x05\xdb\xc8\x01\xa4\xdb\ +\x9f\xc4\xc8H\x1f$IBOO\xcf\xd1\x07\x1f\xfc\xed\ +\x0f^x\xe1\xf9\xa7\xa1K8\xba\xe7\x9bE\x7f\xb9\xff\ +\x93\x00\x92\x91hz\xe4\xca[~\xfc\xbd#'z_\ +62]yG\xbb\xdd\x86\xfaJ\xff\x02\x8ea\xdcz\ +0Iy\xf7\x0a\xf5\x83\xde(\x9eZNg\x14\xcdM\ +\xd6!\x05\x02s\xdaX9\x10h\xea \x19\x89\xf4\x0f\ +\xdfq\xc7{\xee\x8fF\xa3}\xa4\x10[\x9f:\x10\xb4\ +-\x9fW>X\xad\xf7~\x06\xb9\x5c\x1e\x0c\x83\x824\ +`\x18F\x15\x88\xba\xdfM\x08\x01\x01\x03Q\x95\x02 \ +\x80\xcd\xc6a\xcd\x8dKP;?\x84\x0a6\x8e\x1a\xe9\ +\x5cv\xff\x0b\xbb\x7f\xbfi\xd3\xa6\xc7y\x9e\x8f\xa1X\ +\xba%J\xec\x93\xd45\xe6\xff\x0d\xdbm\x7f\xf3\xc0\x7f\ +m\x7f\xfe\xd4\x1f\xf5E0\xd4\x88a}\x00,\xc3\xe0\ +\xed\xeb\x16_G\x88\xa2\x22\x0a\xf5V\xdb\x0cz\x94\xd6\ +\x0c\x00`\xb6U\x00MT\xb8q\x22\xc30MmZ\ +\xcaS*\x12\x89\x8c\xdcq\xc7-*\x08\xb4\x10\xec\xd4\ +\x80\xa0\x89vm\xd3\xf56\x07\x9e\x17\x0a\xba_\xdb\xd4\ +61\xb5\x11\xc0\x0b\xb2\xf1\xd9\x00\x9a\xd7\xcc\xc3\xbc%\ +\xd5\xa8rd\x9d\x1f\xb9\xa6\xf2\x1d^'\xc3\x96x'\ +\x0d\xdc\xf4o\x1a\xf4\xe6N`\x05\x82\xd4]\xf7<\xba\ +\xf97\x8f\xee\x7f\x84\xe7\xf3\x19\xad.\xf5\x0b*q\xcd\ +\xbb[\xe0\x0fy\x0cL\xa7U\x01\x8c\x8c/\x9ad:\ +\xa7y\xc7\x93\x04\x01\x0f\xbd\xc7d\xa0\xf7\x8cT$\x12\ +\x19\xb9\xfd\xf6[\xee\x1f\x1eV@0U \xd0\xe7=\ +\x1e\x17l6\xc5Z\xcf\xe5\x04\x83\xeeW6u\x81\xeb\ +B\xc4U\x05\x02!\xca\xc7\xa5\xa0\x1a\x96ZC\x83`\ +\xc9\xaaF,_\xb7\x10a\x9f\xbb\xee\xde\xbf{\xd7=\ +k\x97T\xd5Q\xef\x94\x85Q\xcai\x9b\xf6?\xfd\xee\ +\x93\x01A\xf2\xeb?|f\xcf\xe7\xbf\xfe\xfb\x9f\xf1\xd9\ +\x5cF\xab\x8b\xbf\xc2SH&\x81\xe6\x05AQ\x17B\ +N\x1aD1\xf3\x0d4\xe7\x89\xe7\x14\x08\xe8\x8f&\x96\ +R\x07ZO)4B$\x12\x19\xbe\xed\xb6\x9b\xef\x8f\ +F\xa3}\xc6^^\x0c\x04\xbd\x17h\xe2\x9f)\x80\xc3\ +f\xe3TQ\xafd\xe8\xd0\xbd_\xbbN\xc8\xcb\xea\xc0\ +\x8b\xd1\x13\x10%@.X\xe1\xc6g\xd5/\xa8\xc4\xea\ +\x1b\x96 \x10p\x85>\xfd\xfe+\xfe\xe9/\x96\xd76\ +\xc2\xe8\xf9\xe4Jl\x02\xb5/g \x1b\xd4\xc5S;\ +O\xb6~\xf8\xee\x07\xbe7\x14M\xf4\x19\x98\xae\xb5\x85\ +j+\x8cD\xc6\xc1\x8b\xd2\xe0D\xfc\x99\xfb\x99\x07(\ +\x92\x04t\xe6\x0a\xddPZo0\xbb\x88\xa9H$\x12\ +U@0\xd4W,\xeeu \x18\xff\xd7{6-\xe6\ +\xb3Y\x01\xb2\x0c\x93j`\xe0r\x88`\x0b\xd1\x14\xbd\ +\x97\x135\x00+\xe6e\xfd\x7f*\xd6@\x08AMC\ +\x08W\xbfk9\xdc\x1e\x87\xfbo\xde\xb3\xfaGw\xbf\ +o\xf9M\xb0H\x9b/\xb3\x99\x81Pd\x17\x81\xf2\x96\ +^:\xdas\xee\xe6\x8f\xfe\xecG\xdd\xbd\xb1\xb3\x05\xa6\ +\x17\x5c_\xa5\x8ebND<)t\xc0h\x90\x17E\ +\xfd\xce\x0b\x00\x00Ku\xa0\x01\xc0\x0a\x04\xe6\x06HG\ +\x22\x91\xe8\xad\xb7\xdelR\x07V@\x80\xc1\x00d\x18\ +\x06\xc1\xa0\xd7\xd0\xfbi@h \x008$2.\x83\ +\xfb\x08\xa2\x03B\xc8I\x06\xa6\xd3\x01\x19\x86\x10\x04\x82\ +^\xbc\xed\xbdW\x22\x10\xf2a\xed\xb2\x86/~a\xfd\ +\x9a\x8f\xc2\xca\xa0\xa0\x9a\x04\xd6@(\x1583H\x83\ +\xbe\xa1Dt\xed-\xf7\xdew\xecd\xcfA30\xf3\ +9\x11\xf1\xb1\x14^<\xd9\xbb\x03\x16\xb9\x82\xd4\xf3\xcf\ +\x1f\x00\x80\x926\x01\x0d\x00s\x0f0\xb9\x88\x91\xe8\xad\ +\xb7\xde\xfc\xe3ht\xc8\x22N\xa0\xf7|]\x0d0\x05\ +\x10\xb0,\xa3\xa6e\x93\xa2\xde\xcf\xb2\x0c\xf8\x9c\x84?\ +\x1d'\xe8\x8eh+\xb1\xa9v\x92\xaak\x85\x5c\xde\xc4\ +\xf4b\xdf\xdc\xedu\xe2\xba\xbf\x5c\x85`\xc8\x87\xa5M\ +\xe1\xcf\x7f\xef\xaek\xff\x15\xc6\x05\x9e4?\xbc\xa8i\ +P^\x1a\xd0\x12\xd1\x00\x84\x9b\xd6\xff\xec\x97[\xb7\x1f\ +\xdd\xa8\xabC\x16\x83=#\x88\xa7\xf8\x13\xbb\x8ft\x9f\ +\x81q$\xd00$\x8c\xd9\x0a\x05O\x85&0\x0c\xcd\ +\xba\xd0\x1c6N\x0e\x0c\x0cDo\xbf\xfd=?\xd2\xd5\ +A) \xe8\x9b$)V|&\xc3\x17\xf5|\x86a\ +02\xd2\x877\xde8\x82\xe8\xf0\x10\x9e\xda3:~\ +\xbam\xf0,\xa1z?@ \x08\xb2%\xd3\x09CK\ +\x05\x02\xbb\xc3\x86w\xdcz\x15\xe6-\xaeC8\xe0\xbd\ +\xf5\xfbw_\xf7\xf3\xcb\x1b\xfda\xe8\xfe\xb8\xd9%\xd3\ +\xda\xc2,\x195\x10\x98\xa3\xa7E\xc6\xe1]\xf7<\xbc\ +\xe5\xd1-/\xfdG.\x9fO\x89\xf9<^>\xd4v\ +\xe2\xbeG\xf7}\x13\xa53\x84\x0a\xea`V\x06\x83\xa6\ +C\xc4\xd8\xc2V\x03H\xda\xc4\x13:\xd9\xb40\x8a\xd8\ +\xd0\xd0P\xf9\xcc3;\xbeTYY\xd3`\x1c0\xd2\ +\xc6\xdb\xfb\xf0\xdf\xff\xfdt\x01\x04W\x5c\xb1\x14\xc9d\ +\x8a2\xe0\x80Tj\x1c}}g\x91J\xc5!\x8a\xf9\ +l__\xff\xa1}\xfb\xf6\xec\x01@>\xf7\xa9w\x5c\ +\xf9\x89\x0f^}\x87,kB\x80\xa0\xbe\xd6\x07\x1b\xc7\ +h\xf5\xa7\xaao=bw\xfah\x07N\x1dmC:\ ++\xb4\xfez\xcb+\x7f\xd5\x1a\xc9\x0cA\x01\xb8\xd5\xe8\ +\x9c\xa1y`\xf1I>S\x9b8\xd5c\x87\xdaf\xcc\ +g\xfe\xeam\x8b\xfcn\xbb\xebG\xbf~\xeeU\x18\xbd\ +\x10m2\x89\xf6\xec\xc2\x80\xd4\x05\x03\x000!\x08\xac\ +\xe6\x1dX\x80`\xe7\x97\xaa\xab\xab\x1b\xf4\xa4\x10e\xdf\ +\xd5\xd5\x87\x87\x1ezZ\x95\x10\x12\xaa\xab\x9dp\xbb\x83\ +\xb0\xdb\x9d\xc8\xe5\xb2\xe8\xed}\x03ccQ\xc8\xb2\x8c\ +x\xfb\xec\xce/WU\xd5\ +4\xd0I!\xdd\xdd\x03x\xf8\xe1m \x84@\x10F\ +\x90\xcb\xc5\xa0\x0c\x15\xeb \xc9\xe7\xe5\xd8\xb1c\x877\ +\xb6\xb6\xb6\xb6B\xef\x8d2U\x17\xee\xe6w,\x9d\xff\ +\xad{n\xff,\xcb\xb2\xae\x80\xdfa\x98\xbae\xc5p\ +\xe57\x01}\x22:0\x8a?\xedx\x05\xe9t&\xf1\ +\xe2\x89\xbeO<\xbe\xaf\xb3\x14\x08hI@\x1b\x90t\ +\xa7\xa0\x81\xa0\xed\xcd\x00\xb0\xb2%\xcc\xcf\x12q!l\ +\x003\x95\xb1\x094\x11I#\xb9\xc8E\xec\xeb\xeb\x8b\ +\xbe\xef}7\xff0\x1a\x1d,\xb8\x88J\xe6\xae\xf6Q\ +h\x09\x82\x10\x83,K\x90$IM\xd1f\xd0\xdf\x1f\ +\xd9\xf1\xe4\x93O\xdc\xdb\xda\xdaz\x0c\xc6Q:\xc3\x08\ +\xdd\xce\x17Z[?\xf0\xb7\xbf\xf8V,\x9e\xee\xcb\xe5\ +\xb4\x88\xa01\xecJ\x07\x872)\x01\xcf?\xf9\x0a\xe2\ +\xc9\xec\x08Q\xad\xf3\xea\xfaJ\xdct\xfb\xf5p\xbb\x5c\ +\xbe\xebW6<\x0a\x9dy\x9a=`\x88\xceY\xb4\x87\ +\xd9S\xa2E;\x1dR\xa6\xdbF\x9b>\xa6\xa5\x86\x15\ +}\xad\x1c8\xcf^@)\xb2\x00\x01\x8d\xe2r.\xa2\ +\xe2\x12\xf5\xf5\x0d\xbd\xff\xfd\xb7|?\x91\x88\x8f\x98\xe3\ +\x00\x9b\xe9\xee\x1e|x\ +\xf3\xe6\x0d?\x18\x1e\x8et\xa1\x98\xe1\xe3(=F\x9f\ +\x88\x0c\xa5\x86\xd6\xdf\xfd\xeb\x7f\xdf\x7f\xb8c\x8f9\xd4\ +LG\xe1\x92c\x19\xe4s\xf9\xec\xe1c]Qs\xd0\ +\xc8\xae.9\xbf\xa8\xca\x19\x82.\xd2K\x86iQ\x0c\ +\x84R\xae\x22m\xf0\xd1af\xed\x1a\xda\x0b(\xa8\x19\ +Y\x96/\xbc\x0a\xa0i\x0a \xa0\x07\x5c\x0a\x92`\xd3\ +\xa6\xc7N}\xe9K_\xf8\xae \xe4\xd2\x84\x10\xa4\xd3\ +C`\x18\x1bb\xb1\xccs[\xb6<\xf1\xe5\x03\x07v\ +\xeeFq&N\xa9\xbd\xf9\xba$\x80\xe4\x9d\x9f~\xe0\ +\xe1\xff\xdap\xe0\xa1\xc2\xbc>S\x14\xcef\xe7\xe0p\ +8\x9c\x12d\x16\xa0\xc3\xd5\xac\xe2:\x12\x06\xd7,o\ +Z\x81b\x15Pn\x11h\xf3\xd0:\xdd&\xf4\x98\x0a\ +\xbd\x99\x19\xafI\x00P\xfb\xd9]*v6H\x96\x0d\ +K\xd2HP\x1af\xa2Y\x9f\xda\xb5\xf9M\x9b\x1e;\ +i\xb7\xdb\xbf}\xf7\xdd\x9f\xff6\xcfg\xa3\xaf\xbe\xfa\ +\xf2\xaf[[Ot\xc28\xf6\xa0\x01\xc9\xca%\xd3\x12\ +5\xe9\xc4VCC~\xe5{[\x9f\xeb\xec\x8e\x0e\x7f\ +\xeb\x9fn\xff\xac\xd3i7|*,\x10\xf2\xa2\xafs\ +\x08\x7f\xb9\xf6\xb2\xeb\x08a\x0d\x9eB(\xac\xe4\x13\x8a\ +\x0a8\xe8\xdeo\xfc\xbe\x0dL\xb9\xfbz{\x00\xd4G\ +\xa3\xa8\xf6\x01\x8a\xc1c\x0e\x01\x1bt\xbfV\xf6E\x07\ +\x00`B\x10\x98\xdd\x96\x02\xf3\xd5-\xf7\xe8\xa3\x0f\xbf\ +v\xeaT\xeb\xe7\x8f\x1e=\x1cU\xaf\xd1\x98\xa71\x9b\ +\x16\x8f\xf4,\x1a\xda\x0b\xd0\x98\x94\xa3\xca.\x00\xe1W\ +\x8f\x1c8:4\x9a\xfc\xf1\xfd\xdf\xfe\xe8\xff\xaa\x08x\ +B\xcac\x08j\x9b\xc2h{\xbd\x07k\xafY\xd2L\ +\x87\x8e\x01\xc0\xee\xb4\x83\x10\x06\x90I\xa9\xe5\xdf-%\ +\x80\xd6\x1e\xea^{g\xcdf\xa0\xdb\x83\xb6!\xe8\xf6\ +1\xb4\xd9\x8cg\x06\x9d/\xb2p\x11\xe9\x00\x89\xe6\x0e\ +i\xbe\xb0\xb6\xa7-l\x8dh\xcf\x82\xd6\x9f4s\xad\ +2uiW\x94\x9e\xdf\xa0\xc5$\x5c\x8du\xfe\xf0s\ +\x7f\xf8\xd2Wj\xab\x02\x8d\xda\xad\xf9\x5c\x1e6\xbb\x8d\ +~\x0f\x00\xc0P\xff\x08v?\xb9\x1fO<\x7f\xea\xd3\ +;\x8f\xf6jK\xbe\xa4\xa0\xebmC\xee\xbey\x1e\x9f\ +\xa9M\x0a\x7f\x95m\xc42\xcc\x07.\x22#\xd0\x8a\xca\ +\xd8\x04\xb4!\xa4\x19@\xe6\xb1\x03s\xda\x15\x9dq\xa3\ +Y\xca\xb4\xb5,Xl\x1ac\xe8!ZC8\xb6w\ + \x1e\xbdi\xfd\xfd\xf7\x1d;\xd1}P3\xfalv\ +\x9b\x1e\x92\xa6<\x85hd\x14\x0ca\xb0\xf3ho\xdb\ +,\xb4\x89U\xfa]\xd1fq\xbd\x81.j\x00\x00\xea\ +\x1b\x18S\xcch\xc3\xd0*N`\x1e93\xa7`\xd1\ +n\x12\xed'\xd3\xd2\xc0\xec~\x96\x1c\xa0\x02\x90\xea\xed\ +\x1f\x8b\xbe\xe3C\xf7\xffj\xc7\x9e\xd7\xb7\x99\x99nH\ +\xd2 \x04\xa2$\xcfx\x05p\xaaM\x0a\xc7\xa5\xc8|\ +\xbd\x99.z\x00hd\x91gH\xeb}\xab\x84\x0as\ +*\x96U\x8f7\xab\x00\xb3\x95]\xce\xfb0\x03-\xb9\ +\xfe\xee_=\xf6\xbb\x8d\xfb~[\xe4\x1e\xaa\xbf3\x89\ +,\xc6S\xc2k(1\x7f\xffB\xd0Ei\x04\x96\x22\ +\xca\x08\x02\x8c\x8d\xa7\xe9\xf8r.\x95\xf9\xc3\x8b\xda=\ +\xa5\x92%h\x83J\xa2\x8e\xcd 4$}\xfc\xefo\ +<\xb6\xf3\xd0\xd1\x8e\xce_\xdc\xfb\xc9\x7fv\xd8mn\ +=<\x0c\x0cGb87\x14\xdfO]O\xbf\x83\x8c\ +\x0b\x00\x887\x15\x00\x80\x22\x10\xd06\xc2d\xdc\x22\x9a\ +\xf9\x80\xd15\xb2jt\xedc\xcd\x80\x22\x09\xcc\x0c3\ +\x83A\x04\x90\xdf\xb0\xf9\xe5S6\x8e\xfd\x97\xef~\xf9\ +\xc3\xffPY\xe9\x9f\x0f(\xe3\x01C\xd1D\xc7/\xb6\ +\x1cy\x1a\xd6K\xb9\x94\xab\xc7\x9c\xd1E\xed\x05\x94#\ +\x93\x87`\x8e\xa5[\xc5\xd5\xcd`14\xb8YGN\ +\xe0\x81hk#\xd1\xf3\x1e\xcd\xc3\xb4\xdc\x92E\x95\xfe\ +}[\xbf\xfe=\xaf\xcb\xb1\xe8\xd9?\x1cx\xed\x0b\xf7\ +o\xfeZ\xffp:\x0a]Ei*\xa9(\x16QJ\ +g\xcf6\xbdi\x01\x00\x141\x09\xa6c3\x00\xe8}\ +\xe1\xb8\x5cC[\x80\xcc*o\xa1\xd4\x10\xad\x16\xeb'\ +w\x7f\xe4\xfaE\xbf~\xfc\xc5V\x14g\x0ck\x86h\ +\xd1\xf4\xedK\x00\x98\x02\x99|\xe3r~qY\x97h\ +\x82\xf2\xe9\x8d\x96\x04t\x02\x0b\xbd\xd1a^\xf3\x10\xad\ +9VO\x07\xa2&\xb5\xbc\xdbl\xd1\x9b\xce\x06\xb0\x22\ +Cd\xab(NR|\xcdt\xca7\x95KG%K\ +\x0d\xd6\xd0\xa1^\xed<=\xc4m\x1e\xa5+\xa8\xa5\xf3\ +\xc5|\xe0-\x02\x00\x9a\xe6\xaa\xf1J\x18\x9ffOD\ +\x03\x81\xc6|:\x09T\xeb\xe1y\xd3vA\xdd\xc1\xb7\ +\x1c\x00\xe6\x92,\xdcPm\x8c\xc2,\x05\xf20&}\ +jDO\x8c1\x8f\xd2]\x10]\xfc\x96\xb0\x01\xce7\ +\x95\xf0@\x18\x14\x8f\xee\x95J\xf20\x07\x82J\xae\xe3\ +7\xd7t\x09\x003\xa0\x12\xae\xa2\xd5\x06X\xc7\xea'\ +\x5c\xc9s\xae\xe9\x12\x00fH\x16\xae\xa8UL\x02(\ +vE\xe9\xe8\xe2\x05a>p\x09\x00\xb3Be\xdcP\ +\xabhd\xd1\xf1\x85b>p\x09\x00\xb3J\x16c\xf5\ +\x13\xd2\x85d>p\x09\x00sF\xe5\xc0p\xa1\x99N\ +\xd3%\x00\xfc\x99\xd3\x9b&\x1f\xe0\x12\xcd\x0d\xfd\x7f\xc7\ +\xc0 \xf9A,]\x89\x00\x00\x00\x00IEND\xae\ +B`\x82\ +\x00\x00>\xa7\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x00\x09pHYs\x00\x00\x00H\x00\x00\x00H\ +\x00F\xc9k>\x00\x00\x00\x09vpAg\x00\x00\x00\ +\x80\x00\x00\x00\x80\x000\xe11\x9a\x00\x00\x00\x06bK\ +GD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00=\xd0\ +IDATx\xda\xed}wXTW\xb7\xf7\xb5\xbe\ +\xd1D\x93\x18\x13\x937\xd1\x98\xc4\x98hL\xb0\xc7\xde\ +{G\xc5\x0a\x16D\x14\xectP\xaa`/tA\x04\ +APD\xc1^@E\xc5\x82\x15D\xa4\xd8+\xf6\xa8\ +\xc9\xfb\xdd\xfb\xbd\xf7~\xff\xeco\xad}\xd6\x1e\xf6\x9c\ +93\x0ch\xd4\xe4\xca\xf3\xac\x07ef\xce\xcc\x9c\xdf\ +o\xad\xbd\xda^\xfb?\xfe\xe3\xdd\xcf\x9f\xf6S\xfd\xbb\ +_*\xa1\xbc\xbb\x13\x7f\x91\x9f\xfa\x8d\x7f\xae\xf4\xd5\xf7\ +\xcdP*\xab\xa4\x12>\xf6\xee\x0e\xfd\xdd\x00\xff\xe1\x97\ +J \x95%\xa9JRM%\xe2\xef\xe2y\xef\xc8\xf0\ +W\xfei\xf0\xa3E%\x90\xca$\xd5@\xaa\x83\xfc\x03\ +\xa4\x06\xc8\xfb$\x1f\x90\x88\xff\xd7\xa0\xe7T\x13\xaf}\ +w'\xffr\xc07\x07\xe0\x9b\x03x\xcd\xab\x80\x00\x90\ +\xcd\x01\xd0\xe65Aj\x81|\xd4n\xc0\xf8o\x06N\ +\xf1\x1a:|F\xa0\xe70\x07\xff\x99\x03m=\x87\xc1\ +\xdf\xeb\x81|\x0aR\x07\xa46=\x1f_W\x95\xae\xf5\ +\xce\x1a\xbc! +U\x10|\x01\ +\x87\xd7oA\x10g\x06\xc6\xb0\xc8\xcd\x19l\xeb\x813\ +z\x92v\xe8,\xdbw,W\x93\x00\xb9\x85\xd7\x99\xbd\ +O$X\x81E7\xe0Z\x1dA\x9a\x80\xfc\x93\x88\xf5\ +\xce\x0a\xbc$\xf8B[\xab\x93&\xd7&\xed\xfab\x88\ +\xbd\xcf\xdcQs\x97\xdd\x15N\xd98\xd7`\x90\xd5:\ +'\x0d\x009`\xd1uPKxn}Z\xd7?$\ +\xd0kH\xe0\x7f\x01\x84\x89\xc3\xe7/Z\xbbM\x0f\xf4\ +\x8c\xec|.\xf2\xdf\xf6\x1f\xbf\xa0\x10\xe0\xbc>\x01\xc2\ +\x92\xf6\xf2\xf7\x84\xeb\xf5\x03iIK\xc1'\xf4^U\ +\xcd\xf0CLI\xa5wZ\xafh0j\xf2\xe7\xfd&\ +\xb8\x8c\x02m/\xc4\x1b>\xd6e5\xb3\xf1\x8c`\x93\ +\xbc\xd72;\xbful\xda\xc28\xe6\x18\xb8\x9e\xd9z\ +\xaf\xe1\x80\x80\x07_\xfcs\xa7\xfe\xed\x09\x90\xcf\xe9\x1a\ +\x1f\x8ak\x81\x97?\x0e\x9f7?d\x93\x0e\xe4\xd3\xf9\ +\xd7\xd8\x9d\x07\xbf\xb1\x92\xc7\xcfA\x9e\xb1\xdb\xf7\x9f\xb2\ +\xa3\xe7\x8a\xf8c\xa9 \x87O_\xe2\x04\xc8\x96\x08\x10\ +\xb3\xf5\x00\x7f\xbf\x1fZw\xb5!+\xf0\x03\x85\x89\xba\ +e@\xc3\xffP\xfb1ZRM\xb5tU\xfa\xdf\x04\ +\xbep\xd0\xb8g\xde\xc5\xd2\xae\x1d\x00z\x0ao\xf4\x18\ +\xe7\x95\xcc\xda#\x9c\x03/d\x0a\x11`FP<\x9b\ +\xbdd\x03\x9b\xb9(\x9e\x832l\xba\xdf^x\xbd\x05\ +\xc8wd\x9a\xebQ\xd8\xf6-X\x89\xb3\x93\xe7\x87\xe9\ +\xc0\xbfP|[\x01\xfe\xd13v\x8f\xe4\xee\xc3\xdf\xb8\ +\xa4\x9f\xbc\xa8\xb3\x022\x01r$\x0b\xd0\xb8U\x97\xa9\ +p\xdd\xee \xcd\xe8\xbdj\x91\xf5\xaal\x22\xd7\xf0\x01\ +}\xc7\x8fTR\x9b\x1e\xab)\x91\x81G7\xff[\xc0\ +\xafA\xdaZ\xcf\xd21`\xa5\x12\x92\xadfN\xcb\x12\ +XP\xccN.\xee\xc1\x9b\xf5\x09\x10\x00\x16\x80\x080\ +oy\x12\x9b\xea\x1b\xcd\x81i\xd5\xd3r\x14\x5c\xa79\ +\xc8\xf7\xe4\xa4}\xf7k\xff\xb1}d\xd3\x8fZ^\x0a\ +\xba\x02\xfc\x1d\x14\xb0\x06\xb7\x1f\xa1\xe7\xbe\xff\xb7O4\x11\x01\ +\xaa\x92\xe6\x7f(;hn+7\xb0\x8d{O\x1a8\ +h\x9b\xf6es\x22L\xf15$\x80\xf3\x8a\x8d\x1c\x98\ +\x81S\xbcv\xc2\xb5\xba\x80\xb4\x00i\x8a\xdez\xbf\x09\ +\xce\xfe\xf8XLj&\xbf\xce\xe5[\x0ft\xda\x8e\xa0\ +\x0b\xe0q\x09\xb8u\xff\x09\xcb\xbfzWG\x80c\x9c\ +\x00\xc5\xec\x0c\x11\xc0uy<\x03\x92>\x80\xebN\x06\ +\xe9Kd\xfb\x8a4\xf9=\x95\xe3\x89\x9a]\x17A\x97\ +}\x18-\x1913hk\xa7\xa1\x93:\x11\x99\xea\xd2\ +kk\xd0\xf5\xfe^$ \xf0\xab\x10\xcb\xd1t\xd6\x1b\ +2\xcd'@\xed\xa0\xed\x87p\xec\x5c\xc1M\x90\x1b`\ +\x8e\xf3t\x7fw]\x95l@\x00\xd7\x95\x9b\xd8\xe4\xf9\ +\xe1\x0c\xa2\x83'p\xbd\x81 \x9dA\xda\x82\xfc:\xd0\ +\xd6#\x01\xaf-^\x7fG\x07\xfcS=\xe0o\x95<\ +a7A.^\xb9cH\x80\x8bW8\x010\x0a\x18\ +0\xd9=\x07\xae;\x09\xa4\x0fY\x00A\x00\xe1xr\ +?\x06\xfc\x8e\x9eVs\x97\x16\xe0{#q\xe2\xd32\ +Y\xfa\xd1\x5c\x96u\xaa\x80\x1d\xcc\xcac{\x0f\xe5\xb0\ +\xe8M\x07\xd8\xfcU\x1b\xd9xpj14\x1dh\xeb\ +\xe9A\x96\xab\x1e)\x86\x8e\x04\x7f7\x02T#S\xf7\ +I\x8b\xee\xc3~\xc6/?o\xc9z\x1dH\x97\xae\xdd\ +cO\x9f\xff\x8b\xcb\x93\xe7\x7f\xb0'\xcf\xfe`\xc7r\ +.\xf3\xc76\xec:\xce\xec\x89\x00\xb3\x88\x00.@\x80\ +\x19\x81\xb1\x5c\x9b:\x0c\xb2\xf1\x87\xeb\xf6\x07\xe9\x01\xd2\ +\x13\xbc\xffK\x18\xf6\xe1k\xf7\x1e\xbb \x81\xfeT\x07\ +:\xca\x8d{\x8f\xb9\x9c\xbax\x8d?wOV\x8eB\ +\x80\x5c\x85\x00\xd9\xb9E\xfc\xfa\xbd\xc6\xcd>\x08\xd7\x9d\ +\x00\xd2\x0b\xe4\x17\x22\x80\xa8\x13\xf0\xd4r\xefqsz\ +\xe3w\x9a\xe8\x11\xc22\x8e\xe5\xb0K\xc5\xb7XN\xfe\ +uv\xea\xfce\x85\x00\xc7.r\x02l\xdf\x7f\x96m\ +\xd9\x95\xcdb6\x1dbv\x0b\x22(\xcf0o\x0e\xf9\ +1\x9f\xd3\xf5\xfe>\xd9F\x95\xf6\xe3\x97\xfb'\xc4\xf7\ +\x8bd\x13\x8d\x0e\xda\x13\x04\x1e@\x7fL\xf2\xe8\xb7\xdf\ +\xb9\xec:\x9a\xc3\x9f\xe3\xbcbS)\x01\x96)\x04\xf0\ +\x80\xe5a\xac\xcbJ6h\x8a\xd7I\xb8\xeeh\x90!\ + C\xc1*<\xc6e\x05_w\xf0\xd4%=m\xbf\ +I\xa0\xa3\x5c\xbf\x8b\xf2\x88e\x9e)\xe0\xcf\xc5|\x80\ +L\x80\xed\x07Oq\x80\xda\xf4\x19\x15\x05\xd7\xb5&\x82\ +!\x01\x1aP\xf8\x89\xa6\xfb\xf3\x9ecf\xf6\xe3\xe0{\ +\x86\xb0\xec\x9c\x22v\xf5\xc6=V\x00~\x85\x01\x012\ +s\xd8\x8et \xc0\xeel\x96\xb4\xed8[\xbb)\x93\ +M\x99\x1f\xc1`\xb9\xf8W\xb3\x8e}\xd1\x82}+e\ +\x1b\xab\xff-\xf2\x0c\xd2\xda_\x83\x9c\x9eo\x86\xcf\x08\ +<,<\xf4m\x99\xe7J\x81'\xd0Q\x1e>Ey\ +\xc1N^\xb8\xc2\x9f\x17\xb21C!\xc0b}\x02\xd8\ +\xf9\xaca\x10:\xfe\x17\x5c\xd7\x0eA\x02o\xdd\x1eA\ +\xf3\x8f\xdc\xc2_w\x02^/k\xfb\xf5{\x0a\xe8\xd7\ +P\xee\x07\xbfOj\x86\x92Z\xde\x0e\xdfi\xc7\xe1\xf3l\ +'\xc8>\xb0@\x87N\xe4s\x02\xec\x93\x08\xb0\x11\x08\ +\xb0>\xe5([\x19\xa38\x99\xe0\x1c\x86I\xe4\xaaS\ +V\x9e\xe1\xafh\xfe?\xa0u\xee\xc7\xe13\x83r\x85\ +\x89>\x90}\xa9\x14\xf4\xdf\x14\xd0\x1f\xa0e\x9c\xbc\xc8\xd2\xc1\xc1\xdd\x9fu\x81\x13`+\ +\x11 ~\x8bB\x00\xa7\xc5\xf1\x0c\x9c\xc7\xff\x94\xc2\xcc\ +\x06\x94\xd0z\xef/\xbb\x0c\xa82~\xef\xd1\x17\xc2\xd4\ +msX\x02.\x0a\x02\xa0\xf9\xd5\x81.\x03/%l\ +\xce^\xba\xc1\x9f\x1b\x99r\xc8\x90\x00\xa1[`I\xd8\ +\xc0\x5cW$\xb2\x80\xa8mli\xdcn\xb6j\xc3>\ +\x9dV\xab\xb5\xfd\xca\xed\x07<,D)\x06\xc9&\x07\ +\x10#\x80\xc3\xa7\xf3\xf5\x08 H\x05K\xcc\xff\xed?\ +\xc9\xed\x80E\x97\x81\x0e\x98\x12n?p\xbc\x1d\xae\xdb\ +\xd3\xfd\xa2x\x06\x11\xb5\x1d\x1dI\x19x\x9d\x5c\xbf\x07\ +>\xce-N\xf4\x83\xa7\xf2\xd9\xae\x03\xe7\xd8\xd6=@\ +\x80\xed'8\x01b\x80\x00\xee\xcb\x12E\xae\x01}\x98\ +_\xc9!\xacKQ\xc6\xdb\xbf\x0ch\xe4\xbd\xab\xa8R\ +\xa1\xef\xd3\xfa\x8f\xe1N\xabAv^;\xf0\x0b\x0b-\ +Ep\x84\xb6k%l\x10@\x01(\x82\x8f\xe2\x8c\x04\ +X\xad\x10\xc0'\x22\x95\x83\x1f\x14\xb3\x83\x13 lS\ +\x86\x8e\x5c\xb2\xb6\xeb\x80\xbfy\x9fK\xd1\x8d\xfb\xec\xe8\ +\xb9b\xfe\x5c4\xd7z\x04\xc8\xbb\xc2\xce_\xba\xc6R\ +\xf6\x9f`AQ[ud\xb0t\x5cx\x09\x8bC\xd8\ +K\x80\x15E4\xf1\x98hB\xa0e\xd0\x85\x14\x92d\ +\x83/\x92\x09\x16b\xdf\x91\x5cN\x80M\x12\x01f\xf8\ +\xaf\xc5\xfa\xc63\xb87V \x98\x1bh,\xa5\x9b\xdf\ +^\x02h\x94r\xabK\xe5\xdc\x9a\xf4\x05jQ\xcc\x5c\ +\x8f\x98\xdd\xa6m\xbf1\xb3\xf0f._\xbf\x8b\xdf\xfc\ +\xe3\xb9W\x0c\xd2\xb3\xea\x84\x0dz\xf3\xf8\xdc\xc0\xb5;\ +8\x01\xfc\x01\xf0\x95\xa0\xe9\x11\x9b\x0f\xb2\xf5;\xb2X\ +\xe2\xee\x13\x06\x89\xa4#g\x8b\xf4\xb4\x9d\x83N\xc0\x17\ +\xc2\xd2\x80\x22\x96\x97\xfd\xb0Ngr\x02\x14\xe8\x11\xe0\ +B\xd1\x0dv\xe9\xca-^\x17\x88\xdf\x9e\xc9\xa6\xf9*\ +\xb5\x88\xc4]\xc7\xf8k1\x82\xd0\x02\x5c-g/]\ +gG\xcf\x16\xb2\xf4\xac<\x89\x00Y\x10\x0ef\xb2\x89\ +\x1e\xa1\x0c\xfc\x09\xf4\x01\xc6\x80t\xa5\xaa\xe3\xe7\xe47\ +\xbd}e\xe7\xb2\xfa\xecH\xdb\xebRH#\xf2\xf3\x0d\ +\xc8yj\x072h\xc4\xec\xc5O\xc52\xb0\xebH\x8e\ +AzV\x17\xb7\xdfW\xc27L\x0e\xe1s\xb5\x80\xd6\ +\x12\xd4\xfe\xc2\xeb%\xa5\xda\xae\x02\x1e\x1fC\xc0\xb0\x1c\ +,,\x00\x96\x84\x91\x00\xd8\x14\x82\x048G\x04\xc8\x07\ +\x02\x14]\xbf\xc3\xae\xde\xbc\xc7n\xdc\xb9\xcf\xbd}L\ +T\xa1I\xbft\xf5\xae\x09\xe0K\xe0u%\xdc\x0f9\ +\x0f\x9f\xff\xd8\xf9\x22\x96\x01\xce`*\x11 ak\x16\ +\x0b\x08S\xacK\x97\xe1v\xc9\x7f\x09\x02\x98\xea\xb3\xeb\ +6rZ\xeba\x8e\x01\x0b\xb0~o5gI\xf6H\ +\x100m[z\x8f\x9f;\x9e\xd2\xb4-(c7\xa4\ +\xe7\xd8Y\xc9\xf8\xc5\xe3wfq\x00\x10$\xad,\x9d\ +\x08\xe1\xd0\x94\xef\xc9\xba\xa0\x03\x18M\xef\xa1\xd3\x05<\ +Y\x94[t\x0b\x9c\xaf[ej;\x02\x22\x80\x17r\ +\xf8L!'\x01\x86\xa3\x18\xbea\xd8\x86\xa6\xfat\xde\ +e}\x02\x5c\xbb\xc3\xae\x00\x01\xce\x17\x5c\xe7\x0e\xddA\ +X\xd3qm7\x05\xba\x90b\x90s`\x01N\x80e\ +9p\xfc\x22K\xdd{\x9am\xdaq\x82\xadK>\xcc\ +\xb5\x7f\xc4\xcc\xa0\x17pO\xe6\xbc\xd5K\x80\xa9>\xbb\ +\xd6\xbdF\xfc\x88E\x1d\xd1u3\xc6e\x15/\xe7\xa2\ +\x88\xb5\x13<\xff\xc3M\xdb\xf5\xeaG\x9e\xee\x88\x9f;\ +\xf6\xf3\x90S\xc1\x87\xc1<\x96\x95\xb0AO>\xb7\xf8\ +6\x07\xd7\xe4\xdanD\xdb\x8dIv\xdeU\xbe\xc4\xa0\ +%R\xc2\xb7\x5cn\xde\x8f\x82?\x80\xe9\xe0\xfc\xcb\x0a\ +\x01.^\xbe\xc9=zt\xe8r\x0ao\xea\x01\xaf\x06\ +]\x00_\xcc\xff}\x8f\x9d\x02\x8b\x92\x0d\xb2\xe7P\x0e\ +'@2\x10\xc0\xd1O)h5\xef:x\x0d\xdc\x93\ +\xe9o\xad\x13h\xac\xcf\x8e\xb2zN\x02\xf8qn!\ +l\xc2\xfc(\xbdR.\x8a\xb5G\x98h\xe4\xb8\xd6\xb6\ +\xef\xa8\xb9\x14S;b\x91\xc5\x1e\xd6T\x9e\x10:t\ +\xae\xcc\x84\x0d\x8a\x96'o\xae\xb6\x97%X\x14\xc2\xb0\ +\x0d\xc9\xb0\xef\xf8\x05^\x9b8\x00\x80cu\x10-\x01\ +Z\x06\x5c&\xce\xc0s\x8a\x10\xf4\x1b\xc6A\xe7r\xb3\ +\x84]\x069\x0b\x96\xe4\xf4\xc5\xab\xec88\x8b\x18\x05\ +\xa4\x01\x01\x5c\x97&\xf0{\xd2i\xe8\xa4\xbd\x14fN\ +\xa0ZC\xf3\xb7*\x0c4R\xc6\xfd\x8c7oP\x83\ +%o\xde\xf0\x8a4\x00^\x96\x09^\x8a\xf3\x84\xf1n\ +\xbb\xfe\xe3\x96\x7f\xdf\xa2\x93\xd7 \xbb\xf9ErJ\x18\ +\xcd\xb8~\xc2\xe6\xa1\xf1\x10\xae\x82\xdan\x8e\xa0Fc\ +<\x7f\x22\xf7\xb2.|;\x04\xa4@\x02\x9c\x02ka\ +\x0e\xe8\x97\xe1s\xa1\x5c\x80\xeb`e\xf1\x0c\x10 \xe3\ +h\x1e'\xc0bp`\xf1{\xc3\xd2\x98\x0b\xf7\xd2\x87\ +\xb4\xdf\x92r\x0c?\x92\xcf\xf4v$\x824\xc0\xff|\ +\xe4\xec\xc5\x19\x22\xfd\x19\x10\x95\xc6\xa2\xb6dB\xe8u\ +\x80\xf9\xad\xd9\xc6\xbbw\x8c\x92\x00\xac\x03.\x0fd\x0d\ +\x9e\x89\x8e\x1d\x11\x0e\x9e\x81u\xb2<\xda^\xf4\x12\xda\ +n\x8e\xe7\x8er\xf1\xf2mv<\xa7\x18|\x05\x8c\x0e\ +.+\xe6\xde(\xe8\x0a\xf0WPn\xdd\x07\x8br\x9b\ +\xfb\x11(X\x0f\xc88z\x81E&\xa5\xf3\xef\x0f\x0a\ +T\x04\xf7\x12\x9bM\xd1\x22\x8e\xa5,csjA\xff\ +\xe4\xadH\x05K\x85\x1c]\x0d\x7f\xf8\xcc\xa0\xadr\xae\ +\xddX\x0d\xdf\x18\x09&.\x88fc]\x839y\xe4\ +&\xcdLp\xe8^\x97\xb6\x17\x96%7JL\xae\xe9\ +\x08\xb8\x1a\xf4\xcb\x04\xba\x90\x82kw\xb9\xc3\x88]E\ +\xa7\xc0Q=r\xf2\x12K\xdey\x9c\xefE\x18\xe6\xe0\ +\xff\xb4Q\xf3\x0e\xc1d\xfa'Q\x86\xb1-5\xb5\xd4\ +{+Z\xcfU\xa6\x1f\xc3\x91O\xfb\xd8\xcc\x1b\xa3\x06\ +\x1fc\xed\xbc\xcbw\xb8\x88\xd6*\x14\xb4\x06\xc6H\xe0\ +\xb4b\xa3N\xeb\xd1\x03\xc7\x10O\x0d\xba:a\xf3\xb2\ +\xda^6\xe8\x04|\x19\xe6]\xcf\xc4\xdf\xd2\x07\x1d\xe5\ +*~\x07x<\x17|\x06\x94\xf3\xe0/\x9c\xa7\x18\xbb\ +\x80\xae\xde\x01\xe7\xf1.\xbb\x01\xcf\xb9\x02\x9f\x05\xdb\xc2\ +8\x01\xce\x17\xb3\xa3\xd9\x05\xcc\xd1?\x1a7\x9c\xfe\xbb\ +Y\x87\xbe\x18\xfa\x8d\xa4\xac\xe8OR\x87Q\x1di+\ +\x5c\xbd\xde\xe3\xe7\xf4\x1a1\x13wF)YU!\x98\ +t\xeb4\x847\x94\xd6'B\x88\x1dR\xaf\xa6\xb3X\ +\xd5\xc6\x85,\xfb\xba\xfb(\x87\xa9\xe5m\xb4\x10k{\ +\x16\xdc\x80tX\x071\x8bgL\xdb\x8d\x01oT\xa3\ +U\x82iYY\xb0\xce\x8fb\xcc\xbc\x17\x9b\x09\xfaU\ +\x03\xd0\x95u\x1e\x01GM/\xb8\xaah<\x0a\x82\x7f\ +\x19\xfe~\xeb\xeeC\x1d\x01r\x80\x00\xd8\x16v\x14\xc2\ +\xc0m\xe9\xa7\x99\x0dD\x01C\xa7\xfb]\x85{\x8a\xed\ +\xec\xdd\xa4}\x0d\x08\xe6\x97\xadz\x0e\xff\x09\xa2\x04\x1f\ +\xb9\xabx\x82[(\xb3q\x0de\xd6.!l\x9c\xb3\ +^v5\xcd\xa2\xeb\xa0V\xd2\x0e)y\xf7r\xe5W\ +\xe5\x00\x22\xbb\x1a\xb6\xe9c5X\xf6\x012\xcf\x14\x1a\ +O\xd8\x18]\xdbM\x03o\x0e\xd0(\x08\xec\xa9\x8bW\ +y\x19\x16\x134\x98\x97\x17\x89\x1a\x0c'1f?r\ +\xb6\x90\xa7r\xb3\xe09\x18\xc7c&.\x17\x9c\xb2K\ +\xa0\xa5\xc6L\xbc\x81\xb6K\xa0_\xb9U\xc2\x01F-\ +\xbf\x04\xa0\xe3o\x01z\xf1\x0d\x05x\xac\x15\x5c\x85\xe7\ +]\xc3k\xdc \x02\xe4_\x93\xfa\x02\xf3X\xd4Fe\ +\xc3i\xefq\xb37P#+\xeen\xb2\xe87\xd1\xd5\ +\x11B\xecT\x1d\xe8\xee\xa1l\xb6\xffz\xe6\xb6(\x99\ +\xb9\x04nbs\xfd\x92\xd8,\xef\x0d\xcc\xd1+\x9e\xd9\ +\xbb\xc72\x1b\x97p\xad\x1dR\xf5^\xc9\x16v-\x0b\ +\x80u|\xcb\x19\x0b\xf3\xe5(\xe0t\xfeu\xa3\x8d\x16\ +\xa6\xd6v\xe3\xe0\x1b\x7f\x1c\x97\x1c\x8c0\xb0\xeb\x06\xd3\ +\xb3\x07E\x86\xee\xb4\x02|\xd2\xeecl#\xca\x9ec\ +l\xd3\x9e\xe3,y\xaf\x22\x08>\x16a0\x89\x83)\ +]\xcc\xc9cV.\x0f\xc0A+`\xa0\xedw\x04\xf0\ +\x0f9)\x10`\x5c\xd7Q\x84\xb6ce\xb0X\x00\x7f\ +S\x06\xbe\x84]\x87k\xdd\xc0\xd7\xc3\xef\x02\xad\xce\xe0\ +\xcc\x1c\xe6\xbcd=fD\xff\xab\xc3\xe0\x09\xbe\x03m\ +=\xe2\xad\xe6,}\xc0S\xe9.\xab\xd8\xac\x80X\xe6\ +\xb7:\x95\xf9\xaf\xde\xc6\xbc\x97oe\x1e\x8bS8\x01\ +\xe6\xf9\x13\x01\xe6\xc7\xb3i\x1eq\xcc\xce\x0d\x1ck\xe7\ +(\xb1\xc7 G\xeaU\xfc\x94\x96\x83\x8a7\x95j\xf9\ +\x00X\xc9\xeb4l\xb2\xab\xd8\xc8!H\x80\x159\xf3\ +B\xb8\x8aI>\x00\x8f)YQ\x84A\xd0\xb7\x83/\ +\x11\xbca\x0fs\x87\xcf1\x85Z\xabM\x89\x9dw\x04\ +\xf3Z\x9d\xc4\x22\x93\xf7\x03q\xf2\xd8\xd9|%;\x87\ +\x89\x1a$\x02\xfa\x00B\xdbQ\xf39\xe8WKA/\ +\xb8fB\xdbI\xe3\xaf\xdfQ\x80\xbfy\xf7\x01\xbbu\ +\xef!\xbb]\xf2\x90;\x82\xb9\xf9J\x22H&\xc0\xc6\ +\xed\xc7\xf8N(\xf1\xf9f\xf8\xc70\xefU\x9bY\xf2\ +\x8e\x93\xec\x10<\x07-\x07J\xe6\x89|\x16\xb7\xf9\x08\ +s\x15\x04\xf0\xd1'\x80\xadK\x0c\xb3q\xa2\xd6r\xeb\ +yb\x0b{\xfdW\xd2T\xaa\xd5\xcb\x87=\xf7\x03l\ +=\xf6\xa9I\x80\xeb{\x01\x0f\xaf^\x0d\xe8\xdc\x0f\x00\ +\x8fZ\xc9\xc5+\xda\x8e\xc5\x99\xc8\xe4t\x1eOKk\ +\xe0\xbf\xfaMp)\xee1\xda\xf1t\xcb\x1e\x96\xdb[\ +\xf5\xb4L\x835t\xab,\xe0\xbc\x9e\xec7\xd1\xa5\x00\ +\xcc\xeb\x1f\xe2u\xd8\x87\x10\xbf\xfd0\x15y\x94\x98\xbd\ +\x80\xaf\xe7w\x80p\xb7\x0dM<\xad\xed\x8a\xb6\x97\xe8\ +\xcc\xbc\x1at\x05\xf8G\xec\xce\xfdG\xec\xee\xfd\xc7 \ +\x8fX^\xe1Mv\x1a\x08p\xecT!\x07W4\x86\ +.Z\x93\xc6\xbc\x83\x93Y\xfc\xd6#\xec\xf8\x99\x22v\ +\x17^\xf7\xec\xf9\x0b\xf6\xfc\xc5\xef\xec\xc5\xef\xbf\xb3\xdf\ +\x7f\xff\x83\xfd\xf1\x87\x22\xb7\xc1\xa7\x08^\xb7_\x93\x00\ +\x93\x9c\xd6\xb21N\xab\xc4\x16\xf6\x0eTJV5\x95\ +ZTz\x99<\x80\xe8\xe6\xfd\x812V#\x80m\xbb\ +\xf0Fb%Od\xf4\xb0\x84\x8a\xa1\xe1\xcb\x02\x8f\x0e\ +\x1bf\x06\xf9\xda~J\x01~e\xc2^6\xd1S\xa9\ +(\x82\x03\xf5\xac\x8b\xe5\x94\x93M\xdavO\x84\xcf\x12\ +\x02\xb2\x9cr\xea\x01TX\xc1\x0c\xdb|\x92\x05\xf47\ +|,\xa8\xc9\xaf=\xa3\xba\x8e\xb0?\x84\x8d\x9e|\x9d\ +\xf5\x08a\xe1\x1b\xf7\xf2}\x80z&\xde\xe8\xda\xae\x98\ +x\x0e\xfc]}m\xbfS\xf2\x88\x03~\xef\xc1c.\ +%\x0f\x9f\xb0\xfb\x8f <\x06\x82p\x02\x9c\x16\x04\xc8\ +\xe5\x048\x92}\x89\x15\x01\xc9t\xa0\xbf\xd0\x07\xfdw\ +\x10$\x02>\x86\xcf\xf9\xed\xd9s\xde?\xa0E\x80\xf1\ +Na\xa2\xa7\xd0HSi\xc5\x09 \xf7\xf37\xa4\xfd\ +\xf1X\xd3\x9f\x80\x1d,\x18\xd2 \x09D5\x0f\x1b*\ +\xb0\xa2g\x16\xd87\x0c\xc35\xd4z\xbe\xce\x93C\x87\ +\xcd\x22v\xbe1\x8a\xb33{\xc9\xfft\x18d\x93\x05\ +\xef\x1dI\xc9\x94@\x02\x18[\xb6gQE\x0dw\xf0\ +\xdaR\x92e2\xfd{*=6\x8b\x9e\x8b\xc4X\xd8\ +\xaa\xd7\x88\x8d\x03\xa7x^U\x88\x1c\xc9\xd2\x0edk\ +\x82nL\xdbo\xdfS@\xe7\xda\xae\x02\xfd\xc1\xa3\xa7\ +\xec\xe1\xe3\xa7\xec\xd1\x93\xdf\xb8`>\x00\x09\x80R\x08\ +D{\xfc\xf4\x19{\x0e\xa0\xbe\x10\xda\xfe\x87\x04<\x90\ +\x00\xff\x8e\x8f?{\x06\xc0\xff\xf6\x9c=\x81\xe7?~\ +\xf2\x8c\xdd\x81\xf7t\x0a\xd8\xc8\x090\xd5-VG\x00\ +\x1b\xa7H~\x8f:\x0e\x998\x9f:\xae\x1a\xe9\xf7\x13\ +T\x9c\x00z;z\xa8U\xa9\x13\x95.\xa75\xef6\ +8\x14I\x80\xebYT\xca\x01\xdeU\x83\x9d:&A\ +\x97\xa4H\x05~\xd6\xf9\x22\x0e\xc7\x98\x89\xd7\x81\xfe\xe2\x85\ +N\xdb\x9f\xea\x80\x87\xeb\xc15\x1f\xe2\xf5\xe1\x1a\xe8'\ +L\xf3T\x13 B\xde\x22\xd7\x85p\xaaW\xdaR\xf6\ +r\x04\xa8.\x8aA\xb4u\xa9%\x99\x1a\xbc\x99s \ +\x0e\x8d\xc67w^\x1a\xaf\xec\x84\x01\x93m\x0ax\xad\ +\xa4\x0c:z\x18\xb6\x1d\x81\xf0\x0d;mg.J\xd0\ +\x81\x0f&\xff72\xf7\xcbH\xe3gQ\x05m$\x81\ +\xdb\x9d\xd6\xbe\xb6\xf4\xd9\x9a\x93\x19\xb4\xa0\x7f\xb7\xa4\xc7\ +:\xd0s1\xf4\x1aN[\xbd\xd02\xb8\x80\xf8\xf5\x1c\ +33\x0b\xdfo\xce\xa2u\xec\xfc\xa5\xabf\x9bxY\ +\xdb\x11,\x04\xed\xc9o\x00<\x80\x88@*\xa0\xbf \ +\x13\xaf\xd6v\xc5\xf4\x1b\x82\xfeL\x02\x1d\xc8\xf3\xe0\x09\ ++\xc1\xf7\x05\xd2\x9d\x00\x7fa\xba\x8a\x00\xd2\x12 \xb6\ +\xaf\xa9f\x18\xbc<\x01D[w\x03\xbaxg\xaab\ +M\xed5n\xf6!|\xf3\xe4}'yc%v\xcb\ +\xc8\xa0\x17\xdd0\x9d\x95\xcb\x87u\x10[\xb1\xb1c\x96\ +o\x02\xf5\x8f\xe5%c\x1c\x14\x81\x95\xb3&m{$\ +\xc0\xfb,&\xad\x9fF\x05\x94\xfe\xf4\x19Z\xd1\xe7\xf9\ +\x9e\xc8\xf95y\xc1_\x91\xd4\xa7\xbf}K\xcf\xf9\x89\ +\x08\xd1\x91\xea\xef\xf8\x1dp\xf2\x87#^\xbfu\xef\x91\ +\x09h\xd1\xf8\x1e\xbf\xdc\x22\xa3\xda.@\x7f\xf8D\xd2\ +\xf6\xdf\x14m\xd7\x81^\x96\xb6K&\xfe\xe9o\xcft\ +\xda\x8e\xd7\xc5\xeb\xe3\xfb\x94\x00\xf0\x08::\x88w\xee\ +=\xe2\xce .#\xd3=\xd7\xeb\x080\x99\x9c@K\ +\xc7\x85\xf7\xa9\xab\xa8'9\xec_\x92\x03\x8f\x04\xa8l\ +\xf6\xdccU\xc7\xaf<\xbf\xe73\xba\x99\xcd\xe8\x06\x0e\ +j\xdc\xaa\xb3#n\x9a\xc0\x10\x0bM?\x86jei\ +\xbb\x9c\x99\xc3\xd8\xff$x\xe2h\xfac\xb7\x1d\xd1U\ +\x0c\xb1\xc3\x08\xc1\xff\xa5\xf3\x80dr\xf0\x5c\xc8t[\ +\x92\x16\xb7&3\xf7\x0d1\xfd3)7\xfe\xa1JD\ +\x97\xf2\xa7\xf4\xdc\xaf\xc9\xa1\xb5\xa0$Lo\xb2\x08\xe8\ +3\xccm\xdeup\x84 \xc1\xe9\xbcb\xaey:m\ +7b\xe2\x15m\x7fQ.\x87\xce\x98\x89\xe7\xda\x8e\x84\ ++Q\x80G_\x033\x8b\xe8L\xde\x80%\xe9(8\ +\x8f\x82\x00S\x80\x00\x13h\xfd\xefbi\xb7\xf9\xa5-\ +\x80\x91\x8e_\xbc\x81\x9fA\x98\xd5\x0c\xd6\xca`\x08\xa7\ +2qo\xdf0\x07\xbfSC\xa6\xf9\xe4\xe0\x9boI\ +W\xda\xa4\xb1\xf7\xdd\x9c\xdc\xbb\x10\xdc,\x81\x89\x9a\x9d\ +\x87\xcf\xe9\xc0\x1f\xef\xae\x98\xb3\x0e\x83'\x1c\x82\xf7]\ +D\xe0O\xa6u\xbc3\x15O\xbe\x93&x\xd6VU\ +\xc7\xb4D\x1e;W\x87\xd6\xc7\xfa\x1425'\xbff\ +\x00-k\x8e\xcd\xbb\x0d\x09\x11$\xc06p\xd9\xa1\xd3\ +\xd4\xf6\x17\xc6\x1c\xba\xdf\x8d:t\x1ct=m\x7fl\ +\xa0\xed\xb7\xd0\xff\xb8\x0d\xc0\xdf\x02\x7f\x04s\x15p\x0f\ +1\x82\x10\x04\x98\xe4\xa2$\x82\x869\x06<\xa4\x02\xd3\ +\xe8\x0a\xf9\x00\xa6:~\xc1[nb\xe9\x18\xb0J\xdd\ +\xf1+Z\xbb\xe6,\x8a\xe5N\x1bf\xe4L\x95VK\ +EI\xc3\xe6\xf2\x9e\xbbb\xfeZ\xfb\x80X]\xcb\x18\ +\x9f\xfaa\xebq\x13\xde{\x099j\x08\xfe`\xb2:\ +\xcdTS;k\x1a\x19\xb8T\xd9\xc8N\xa5\xea\xf2@\ +\x07\xbaI_\xd3\x0dkK\xcb\x02\xfa\x16S[t\x1b\ +\xb2\x0a\xac\xdb\xbf\x9d\x96\xc4\xe9i;\x82\xfe\xdb\xf3\x17\ +e;t\xcf\xcbv\xe8\xb4L<\x07\x9d\xb4\xfd:\x00\ +\x7f\x0d\xf3\x0e\x18\x95\x80\xb5\xbc\x0c\x8e\xf2\xa2\xb0\x9d\x9c\ +\x00\xb6\xae\x98\x0f\xe1\xcb\xe4\xbf\xd1j\x91?3\xb4\xdc\ +Q@Y\x1d\xbf\xa2\xf1\xd3X\xc7\xef\x9a\x94\x83\xef\ +l9\xe54e@\xb1\xd8\xe5K\x8e\x9e=-\x8d\x83\ +\xc8Y\x15\xf9\x90\x06\xe5\xea\x08\x22\x02TS\xce\xc5\xe1\ +/l\x84o\xbcp\xcdV\xea\xaa\xb9d\xd0U\xa3\x03\ +\x9d\x03\x7f\x99'p0\x8eGO\x1e\x1d:l\xb2\x10\ +uv\x99\x0c\x1ct*\xb9b\xb7,N\xe3V\xef\x16\ +\xc2\xf7\xee6\xd2\xfe\x00\xed\x90\x1d%\xc5\xb2_\xbc\xce\ +\x89YR\x05\xb4\xa6<\xd0\x02\x09\x89I/\xfc\x9c+\ +b\xb7\x9b\x17\xb3\xab\xb4]m\xe2\xb1[8\xfd\xc8\x05\ +\xbeM\x1ck\xfeQ\x89\x87\x98\xeb\xd2\x0d\x22\xa5\x8b\xd9\ +\xcf\x08\xca\x83\xb8\x93C<\x9er!=(d\xfdI\ +\x1a\x91[G\x9a\x9a^vO \x10\x00S\x83\x98!\ +\xe2\xb5\xfev\x03\xc6\xf5\xc67^\xb39C\xcf\xc4c\ +\x86N\xad\xed\x22|;-\x80\x07\x87\xee\xec\xa5\xd2\x06\ +\x0b4\xf1\xa8\xed\x17H\xdb\x05\xf0\xb8\xc5\x1aK\xae\x09\ +;\xb3T\x1bG\xc3\xc5\x0e\xd9\x08\xaa\xdc\x0d\x22\xd3\xfb\ +\xcd\xeb\xde\x22\xa5J\x7f\xd7\x22\x026\xa1\x04\x94\xd5@\ +[\xcf\xd3\xd3\xfd\xd6\x94\xc3\xa1\x93M\xbc\x02|>(\ +\xc3\xc5\xc2\x9b\xec@V\x1eK\xd9\x95\xcd\x12\xd3\x8eq\ +\x02D\x03\x01\xdc\x96\xeaF\xc5DJI\xb0)\x14\x0d\ +\xf5\xa2\x18\xffgZ\x9e\xbe\x94\xb4\xbef\xb9\xda\xc3\x89\ +\x00x\x1a\x96^\xc7/\xb6R\xa9\xb5]\x80\xae\xa7\xed\ +\xf9W\xf5\xbajr\x8ch{>\xf5\xc7\xcb]5X\ +\xe5\xd3Z\xff)\x9c\xb1\xd6\xc8e\xff\xe3un\x90\xd4\ +\x1akGV`@7\xabi\xb1\xf8YO\x9e/4\ +\xc3\xa1+5\xf1X\x0eF\xd0\xf3\x0a\xe0\xfe\x5c\xba\xc1\ +\xbb\x84\xb0\xdbG\x8f\x00I\x87\x98\x7f\x882,\xa2\xc9\ +\xaf=b\xa4<\x88%\x99\xfb\x16\x14\xe2\xd5'\xa7\xf8\ +#i\xc6p\xb5rYH @\x15\x22\x80\xe8\xf7k\ +\x89o\xbcr\xfd\xceRm\xbf i\xfb\xc5+d\xe2\ +\x8di{)\xe8\x8a\xb6\x1b\xef\xaaQ\xe7\x120\xcf0\ +\xc4\xde\xe7\x0ey\xb5#\xc9\xa9iL_\xf2\xb5\x9f\xcc\ +ad\xb2\x19\x9a\xdb\xee\xbft\x1e\xc0G\xdbl\xd8~\ +\xb8L\x87\xee\x92\x00\x1d\xe4\x02\x00\x9f{\xe9:\xef\x0f\ +\xc46qt\xf6\xb0E\x0c\x09\x90\x94v\x9c\xc5\xa5(\ +\x04\x08\x0aWv\x0d\xb7\xee=r\x03\xdd\x8f1\xa4\x10\ +-I\xeb\x85\xb9\xaf\xa5qZJ\xa5\xf2\x12\x00\xd6\x0b\ +\x8b\x8fi\x9dk=r\xf6\x92GNK\xd7\xeb@7\ +\xa5\xed\xb2C\xa76\xf1\xa6\xbaj\x0eBd\xa1&\x00\ +\xa6\x94\x07\xd9y\x15S\xa5o\xb0d\xfeE,\xfb\xda\ +7HJV\xa0\xa6\xf0\x91\xa8pd\x09\xd1\xc0oK\ +\xa2S\xf5cv=m\xbfi\xa0\xed\xd8\x1a\x8ek\xfe\ +\xb9\x0bp/\xc1\x92\x9e\xc9\xbd\xc2\x09\x80#c\x93h\ +^ '@\x84\x8e\x00q\xd2\x96\xf1N\xaa\xbd\x03b\ +\xba\xf8{\xaa-d\x95^\xca\x02\x0c\x98\xec\xcec\xdd\ +\xd4\x8cl=\x87\xee\xbc\x09\x87N\x98\xf8\xb2\xda\xa4E\ +\x83E\xdc\xf6#\x06\x04\xa0-S\x99\xaai\xdc\xf5\xa5\ +q\xec\x95\xdf\x10\x01\xe4\xb6\xf8\x06\xa4\x85\xfd\x879\xf8\ +_v[\x91\xa0\xe7\xd0\x19\x98x\x95\xb6\x9f\x05\xe0\x11\ +tl\x0d\xc3\x0ea\xdc)\x84\xbb\x85\xc5\xc8X>0\ +2)S\x22\x80U\x1c)\xc40\x89\x00\x0d)\xc3'\ +\x9f\x99TSE\x04\xf3\xee\x95\xda\x07\xc0$B\x93\xb6\ +=,q\xf2\xf6\x04\x8f`\xb67\xeb\xbc\x81C\x97g\ +J\xdb\x8d\xb6I\xebw\xd5`\xdd@\x93\x00\xca0f\ +\x1b\xedR\xe6\x9b\xd9\x1eM$0l\x8a\x9d\xec\x9e\x8e\ +Y9Cm\xbf\xce\xb5]\x01\xfd\x9a\x04\xfa\x15\xde\x15\ +\x8c\xbb\x83p\x97\xf0\x89\xb3E\xbc\x09T\x84~\xf2\xc4\ +\xd0ED\x00,B\x0ds\xf0\xbb\x02\xa1\xf1n\x90\xf5\ +\xb8)\xa7\xdd\x80\xf1=\xa5\x0d$\xea\x12x\xadrm\ +\x0fSG\x01\xc4\xb0\xaem\xfaX\xb9b\xbf:~\xc1\ +\xd0\xc4=,\xfdx\xaeI\x87\xae\xcc6iUW\x8d\ +_d\x9a&\x01z\x8f\x9b\x93A\xf1\xadzBV\xd5\ +7L\x80\xaaRS,~\xae\xae\xfd&\xb8\xf0\xcd\x1b\ +\x06&\xde\x84\xb6\x9f\x04\xd0\xb1\x93\xe78\xf5\x05\xa2\xf9\ +\xc7\xdc\xbezdlH\xec~\xe6\xbc8\x81\xcd\x0e\x88\ +e\xb6^\x11l\xac\xf3*\x83\x16wP\xd2\xd3\xb0\x0c\ +e`\x85\x16\x9c\xf7\xfe\xd2\xf6\xb0:\xaa\x03\xb4*\x97\ +\x95\x08\xd2\xcb\x03\xd0p\xa2A\x8d[v\x9e\x81\xe1\x8e\ +\xfc\xa6\xb3\x83b\x98O\xe8&\x16\xb1i\x1f\xdb\x07\xd6\ +\xe1\xd4\x85\xe2\x0a\xb5I\xfb\xad1B\x80\xf1s\xd2)\ +\xb3\xd5\x99F\xa4|\xf6\xa6'di\xf8\x01\xe8\x98v\ +\xea7\xd1\x85\xd7J\xb4M\xfc\x95R\xd0u\xda.\x83\ +^\xc0M\xffa\x88\x002\x8f\xe7\x1b\x8c\x8c\x8d\x88?\ +\xc0\xdb\xbf\x97G\xeda\x8b\xc2w\xb2\x80\xe0ml\xfe\ +\xb2-ln\xc0\x06\xe6\xe8\xbd\x8e\xd9yF1k\xd7\ +\x10=b !\xfaX\xcf\x1dG\xcb\xd4g\xd2\x01Z\ +\xc6I\xa0\x95\x09$\xd3\xdb\x85\x0a\x0bv?\xb5\xef\x13\ +\xd4~\xe0\xf8M=\xc7\xcc<6\xc4\xde\xfb.\xf6\xe0\ +\x8b7\x8d\xda\x9c^\xae6i\xd1U\xe3\xaf14\x02\ +\xb3\x804$\xf1m&@]R\x92\x0e\xfd&\xba\xa6\ +\xe0=\x90\x1d:\xa1\xedj\x13\x9fu\xaaP\x01\x1d\xb4\ +\xfd0\x00\x8f\xa1\xdf\xa1\xe3\x17\xf9\x06\x11\xcc\x03p\x02\ +\xd0\xc4PN\x80\x84R\x02,&\x02\xf8\xacHe\x9e\ +KR\x98kP2\xdf\x1c2\x9b\xf6\x06\xd8{\xc4\xb2\ +\x89.\x91\xbc\x1d\x0c?\xcf\x80\xc9\x1e^\xd2\x99\x03\x1f\ +\xe9\x93@U\x0d\xd4\xaa\x05\x90\xe7\xdd\x5c\xaa\x87O\xa2\ +\xbc\xbc'U\x9e\xb0J\xb7\x06\xdf,:%\xbdBm\ +\xd2XQ\xd4\x0a\x03\x87N\xf7\xbd\xfe\x16/\x01\x22\x1f\ +\x807\xb7}\xff\x89\xae\x9b\xf1\x1e\xe8\x9b\xf8b\xc5\xc4\ +\x9f\xd17\xf1\xb2\xb6\xe3\x9e\x00<5\x04\x81\xc7i!\ +\x98\x05\xc4M\x22;3\xce\xe9\xc6\xc6\xc5&\x1ff\xe1\ +\xf1\x19l\x85\x8e\x00\xdb9\x01\xbc\x88\x00N\xfe\x1b9\ +\x01f\xe0\xde\x00j\x0c\x9d\xec\xb2\x96\x8ds\x0a\xa1\x91\ +\xf3n\xde\xd4\xfb\xf8\x854iD\xbb!D\xa3\x1a(\ +F\xb96'M\x1c@iY[\x89\x08|<\xfa\xda\ +-\x19\x15j\x93\x0e\xd0 \x80\x94\x08\xd2\xeag\xab\xf6\ +\xb6\x11`\xb0\xbd\xf7a\xdcjf\xa8\xed\xb2\x897\xd4\ +v\x01\xfa\xfe\xc3\xb9|s\x086w\xec9t\x9e\xed\ +>x\x9eO\x0eC\x22`\xbb\xd7\xf6\xfdg\xd8\xb6}\ +gx\x82\x08}\x03$\xc4\xd2\x88]\xdc\x0a\xe0\x9e\x00\ +A\x00\xb91\x14;\x83\xc7:\xadV\x0e\x9e\xe8\xd0\xb7\ +\xab4p\x82*\xa8\x16U4\x9bB5\xfa\x01\xeaQ\ +\xb8\xd1\x94\xe2\xf1\xaeD\x84\xd1\x94\x95r\x1e2\xcd\xe7\ +v@\xc4f\xf3\xda\xa4\x9f\xea\xb7I/\x8f\xdf\xa31\ +C0\x9cN\xff\x1a\xeeCa\xa08\x93\xe7\xc379\ +&\xcd\x18\x01pX\xb4\xd3\xe28\x03\x87\xee\x88\xce\xc4\ +\xe7K\xa0\xe7)\xa0\xa3\xb6\x1f\x16\xa0\xe7\x18\x82\x0e\xb2\ +\x8d\x03\x7f\x9a\xcf\x10\xc4Q\xb2\xb8<`\x9e\x00\x93E\ +\x9bw\x9e\xe4\x84\xc0\xa5\x01\x97\x81\x19\x0b\x12\xf4\x1aC\ +\xb13x\x82\x93h\xa7\xf3\x8c\x97z(\xa8\x81\xc6\xa2\ +\x9a1\x02\xa8;\x82j\xd3z\xf7%}\xe1\x9f\x88\x08\ +=hY\xb0Es\xed\xb5:\xb1Bm\xd2\xd8:\xae\ +5:\x0e?8\xf8\x1a)T\x07hM\x1f\xfe\x8d\x0e\ +J4\xe6\x03\xe0g\x0dZ\xb3\xd5\xc0\xa1\xe3&\xde\x98\ +\xb6\x03\xe8{\x0e\x1a\xd7v\x05\xf4\xd3|\x884\x86\x86\ +\x02t\xdc\x04\x82\xc5\x22t\x141_\x80$\xc0\xa2\x11\ +Z\x015\x01\x84\x15\x181+\xe8&Yp\xa9\x94n\ +\xf1\x0f\xf4\xf9p\xe9/\xabEJ\x9e\xfd\xfb)i\xe2\ +\xf7\x94\x04\xc18t\x14\x98\xc0\xbcyKbM\xee\x84\ +1\xd6&\x8d\x872j\xb5\x96qG\xd0\xde\xfb\x229\ +\xa0\x1d\xe8=?}\x93\xa3R\xb5\xa2\x80\x0e\x83l\xf8\ +\x98\x9c5\x1b\xd35L|^)\xe8\xa6\xb4}\xbf\xa2\ +\xedi\xa0\xed\xb8\xf6+\xa0\x9f\xd2\x07\x1d\xfc\x01t\x0e\ +\x11\xf4$\x00=1\xf5\x18\xdb\xb05\x8b\x0f\x97F\x87\ +q\xd5\xda}\x0a\x01\xdc\xf5\x09 m\x10\x11\xe5t*\ +\xa8Y\xd4\x00\x02T\xd5$\x80\x89\xbd\x00\xa29\xf4+\ +r\xcc\x10\x98\xa1bchE\xda\xa4\xb1r\xa6E\x00\ +\xd1\x0a\xfeK\xe7\x01\xb3\xc9\x09\xfdIU\x0a\xae\xf46\ +\xe4\x01\xfaOr\x0d\xc5\xcf\xb9=\xfd\xb4\x81C\xa7h\ +{N\xa9\xb6\x1f\x00\xe03\x10\xf8\xb3\x1a\xdaN&^\ +O\xdbO\x94j{\x9a\xa2\xed\x1b\x00x\x01:\xfa\x03\ +X4\x8a\x05\xc1M\xa2\xb8\x14\xe8\x08\xe0l@\x80\x11\ +R\x7f\xe0g\x18\xee\x9b$\x80\x11K \x0ea\xfe'\ +m\xa4h\xd7q\xc8$/\x1c\xf3\x8eoR|\xfdN\ +\x85\xda\xa4\xf1\xc0'c\xcb@_\x1b\xa7\x1d\xb4\x9f\xaf\ +\xc5\x9b\x9e\x97\xab\x95\x09\x1c\xe6\x18p\x02\xcf\xf7\xd14\ +\xf1&\x1c:}m\xd70\xf1\xa4\xed\xfa\xa0g\xb1\xf5\ +\x00<\x16\x8a8\xf0\x00\xfa\xbaM\x87\xf9\x01\x13\x986\ +\xf6[\x95\xa6\x10\xc0u\x9d\x8e\x00\xe3\x9cB\xf9\xe9&\ +\x14Qu+\x8d\xa8,ja\xde\xc7\x1c\x02TQ5\ +I\xe2\xda\xd7\x00G\x90\x0cs\xf0\xdb+\xf6\x05`\x07\ +/f\x06+\xd2&\xbd.\xed\xb0\xa6\x15\xc0\xa6P\xcc\ +B\xfe\xd0\xba\xdbx*\xbc4\x22\xd3\xfb\xa6*\x82z\ +\xb5\x80\xb6}G\x0d\xe4C2\xc3R\xccr\xe8\xd4&\ +^q\xe8Njk;\x9a\xf8\xd4,Cm\x17\xa0o\ +\xca\xe4y\x02,\x18\xa1\x0f\xb0f\xc3A\xb6|\xcd\x1e\ +>*F&\xc0\x18'\x9eS)\xa0\xe6\x91\x1e\xa5\x96\ +\x94\x13\xa0:f\x80?o\xf8C%s;d\xebv\ +\xb6\x9c\xd2\x1e\xe7\xd6\x8c\x9a\xb7\x8c'\x81f\x05\xc5\xb2\ +\xed\x87\xcep\xc7\xcf\xec}o\xaa6i\xac&j\x11\ +@\xb4\x85c\xaaU\x0a\x07\xd5g\xf4\xbe\xce\x9e\x00\xdd\ +\x8cD$\xe3 \xbb\xf91\xf8\xf9Rv\x9fT9t\ +g+\xec\xd0\x19\x98\xf8\x94R\x13\x1f\x03\xc0\xaf\xe5\xda\ +~\x887\x8bD%\x1e\xe4\xc0G&\x1c\xe0\x19\xc3\xa5\ +\x91\xbb\xf4\x08 v\x08w\x19\xce\xb7\x88\x8d\xa7-t\ +j\x02T25\x0d\xa4\xaa\xbc\x0fp\xe8t?_\xbc\ +\xe0$\xcfP\xb6:~'\xef\x8b\x7fU\xfb\xde<\x8c\ +\xcc\x12\x16V\xa0y\xb7\xc1\xb6\xd4\xf6\xf4\x9d\xca\x0aT\ +~Mma\xa2AT\x98\xfffVs\x96<\x98\x1d\ +\xb8\xee\xa5\x1c:\x01:w\xe8\xb6\x18\xd1\xf6\x8d\x86\xda\ +\xceA\x07\xc1\x9c@\xd8\xfa\x0c\x16\x1a\x97\xce\xe7\x07\x09\ +\x02Lr\x8e\xd6\xda\x22\xd6\xb9t\x8b\x98\xc5\x07F\x97\ +\x00\x95\xb9\xab\xdd\xb6\xdf\xe8Fx\xca\x07^\x10\x81/\ +y\xf8\xd8\xe4\xd6f\xa3m\xd2\x8f\x8c\xb7I\xef8t\ +\xd6\xe84q\xe5`\xa6\x80\x02\xb2\x02\xa2\xcf\xfd\xa3\xd7\ +\xd5\x1a\xa6\xd1\x17\xf8\x0d\xc4\xd6+x\x02,\xf9\xe0K\ +8tZ&^h\xbb\x06\xe8:m\xcf`\xe1\x00z\ +\x18\x80\x8e\xc0c\xc1\x08\xd3\xc5s\xfd\x129\x01&\xbb\ +D\x8b\xcd\x22\xea-b\xbf\x96n\x11\xb3\xa8\xa9\xe9\x04\ +\xaa\xf2\x00<%\x8c\x95&\xbc`p\xc2N3\xf7\xbd\ +U\xacMz\xce\xd2DM\x12\x88\xc3%\xc0!\x5cK\ +\xbe\x80\xd8\xe9R\xfb\xcf^\x0a\xb4:\x83!2\xf9\x15\ +3l3\x17\xc6\x94\x82n\xd2\xa1;\xae\xed\xd0\xa5\x18\ +w\xe8\x14\xe0\xf5M<\x07\x9d\xb4]\x80\xbe:f\x1f\ +[\x05\xb20d;\x9b\xea\x01\xf7\xca%\xd4\xcc-b\ +\x16\xefi\xe6\x01\x88\x00\xf2@\xe8\xaf,g,\xdc\x86\ +f\x1f\xd7k\x01\xfc\x8b\x97\xdc\xf7\xa6\xd5&}\xf0D\ +\x9e\xd1i\xe2\xb8\x14\xe0\x17\xeb<\xcc\xd6\x85\xe2\xd9o\ +i)\xf8\xd3\xc6\xa8\x1b\x19\x88\xf1\xdd\xf0\x19\x81Gx\ +\x1bX\xeaQ\x03\x13o\xd4\xa1\xdbZ>\x87Nm\xe2\ +\xb9\xb6\xc7\xaa\x80_\xbb\x97\xad\x8c\xde\xcb\x02C\xb7\xf1\ +\xc1\x91\xe5\xdb\x22fQ\x1dk?\xc6\x08PUrv\ +\xbe\x835\xf8~p\xc2.\xa3\x0e\x1d7\xf1O*\xb0\ +\xb5Y\xd7CwW\xd7&\x1d\x18\xbd\xc3\xe8\x99\x02\x18\ +mX\xcd]\xf6\x9f\xed\x07ZO!67Tm\x0c\ +\xad\xf2*}\x02\xc9\x12\xd6\xa4\xdaz\x83\x01\x93\xdd\xe7\ +\xe3\x8d\xf6\x0bM)\xbfC\xb7\xd9\xd0\xa1C\xd01\x81\ +\x84!$Z\x92\xd0\xf5\xfb\x98\xcf\xea\xcd\xbc\x17Pm\ +\xe2\x15\xd0\xf7\xb1\x95\x00\xfc\x0a\x00\x1e\xd3\xc0.\x8b7\ +\xf0Y\x82\x1cxe\x8bX\x84y[\xc4,\xaa\x9aJ\ +\x05\xcb-\xd0M9\xdbwd\x9a\xed\xd0\xdd-\xd7\xbe\ +7\xfd6\xe9s\x17\xaf\xb1i\x01qe\x91\xe0\xff\xb4\ +\x1fd3\x99\xbe\xd4\xd7\x92%x\xefU8\x86\x1aG\ +\xe2\xa0%\xfc\xb2\xeb\x08\xfbah\xfa\xed\xbd#_\x99\ +C\xb7yg6O!c\x02\x09s\x07\xb3\x16\xc6\xe8\ +5{L\xf6\x0ag\xd3}\xa3\x99\xd3\xa2\x04\xb6`\xe5\ +f\xe6\xbbz\x0b\x9b\xbf\x22\x99\x0f\x8f\xb4qS*~\ +\x83\xed\xbd\xef\x01\xf0k\xa8m\xdc\xcc-b\x1a\xc5 \ +\xaa\x06\xca\xc3 1\xe3g!\xb6C\x9b\xeb\xd0\xa9\xb5\ +\xdd`'L\x19m\xd2\xbb\x0f\x9f7y\xba\x88 \x01\ +\xf8\x04\x81\xb4s\xf7\x1bU\xe3C\x85\xc7\xa5\xab\xc0\x17\ +\x89\xaf/`=m\x85\xa1\xaf\xb5\xebj\xee\xbc\x99\x17\ +\xb3\x9bv\xe8\xd0\xc4#\xf0|`$\xfc\x8e\xdd\x92I\ +\x1bb\xa6\x15\xb4\xe9c\x95\xd5\xddjz\xee\x00[\x8f\ +[r\xdf\x85,\xb8s\xaaU\xcf\xe1\x9b\x09\xf8\x05\xe4\ +\xed\x9b\xb9E\xcct9X\x8c\x83\xe5\x8d\x8fx\xb3#\ +7\xed\xe3\xc0?0{\xdf[\xc9K\xb5I'\xee<\ +V&\x09\xf0&\x0c\xb1\xf7\xd9\xdc\xacc\xdf\xceR\x8b\ +\xf4'\x1a-\xd2UL\xcd\x0cP\x9dv*g=?\ +\xe6\xe0w\x1d\xd4\x12\xe7\xef\x8e\x07\xf0#\x133L:\ +t\xc2\xc4\x9b\xe3\xd0\xe1k\xe5\x91\xb1\x98Q\x04\xff\x02\ +\x0f\x8c\xc6\x16\xf0\x18\xda\x09\x84s\x0fq=_\xd9\xaa\ +\xd7\x88M(\x16]\x06\xc6\x12\xe8~T\x92\x9fC\xc0\ +\x8fy\xa9-b\x1a\x04\xe0\xdd\xc1\xc3\x1c\xfc\xb3q\xf7\ +\x8bnk\xb3\xa4\xedfom\xae@\x9bt\xfc\xf6,\ +\x93\xa7\x8e\x89\xbe\x01\x9c\xab\x8bM\x92T\xed\x92;e\ +k\xab\xda\xa5\xabi\x10B}\xa6\xb1\x98\x84\xc2k\x1e\ +\xdd\xac\xa6\x0f\x01\xcd\xff\x03\xc1\x8f\xd8\x90\xfeJ\x1c\xba\ +Pr\xe8\xb0G@\x8c\x8c\x0d^\xbf\x9b\x7f\x97\x16\xdd\ +\x87b/d\x944\xf7\xd0\x87@v'\xa7\xce\x95<\ +\xfb\xd9\x14\xdeM\xa2\x1e\x8dA\x94\xe8\xa9\xf8\x161\x8d\ +%\x80\x9f\xec-\xe6\x01o\xdcu\xd4\xe4\xac\x1a\xe1\xd0\ +\xa1\x89?\x95S\xcc\xb2\xcf\x17\xbdT\x9b4v\xd5\xc4\ +\xa5\x1d1I\x02\xcc\x16b\xe5\x90N\x1d;\xdfc\xf4\ +\x0c[j!kH7\xe0S\xd2dA\x86\x9ad\x1d\ +\xde#\x11g\x1a\x7f@\xdf\xf9\x13\xf2} \xd6\xf7\xf0\ +@\xb3\x8f\xe0\x87'\xec7\xcb\xa1\x8bJ4\x12\xbe\xa9\ +\x1c:\xbc\x0e\x12_\x8c\x8cu[\xbeA>A\x04\x0f\ +\x8f\xf2'\xb0g\x90vO\xa2\x89_\xe3)\xaf?\x92\ +\xf6\x05\xf6%'\xaf\x0deJ\xbf{\xa9-bD\x00\ +\x83\xd6\xe7\xa1\xd3|\xcf\xe1\x07\xdc\xba\xff\x84Qm\xbf\ +Pp\x9d\xc5\xa5\x1eb\xb3\x83\xd6\xf1/\xe3\x1d\xb2\xe9\ +\xa5\xdb\xa4Q;6l?\xc6'\x8f\x18#\x81\xado\ +\x0c\x9b4\x7f\x0d\x1bK\xcb\x02F-\x83\xec\xe6/F\ +\xa7\x8d\xca\xc8_\xd3w\xa9GQ\xc3'\xa4\x19u\xa4\ +iah5\xbe\xc2C\x17\x86L\xf3\x09\x00\x93\xcf\xcf\ +/t\xf0\x8b\x06\x903\x09\xf8#&\x1c:\x15\xe8\xf1\ +r\xcc\x9e\xaex\xf1\xeb\xf6\xe9\xc27\xfc\xfe\xa8\x04\xf2\ +\xc8\xd8\xf9\xab6\xea\xd6\xf6\xef[t\xf4\xa7\x0d\xa0\xd6\ +\xe4\xc9\x0f$\xb0{\x91\x89\xefD\x89\x9d\xe6d\xea\xbf\ +\x95\x80\xffP\xb5E\xcc|_\x88\xa2\x00\x83y\xc0?\ +\xb4\xeej\x0d\xeb\xd3\x1d\xfc\x80K\xd6\xa6\xb1\x8cc9\ +\xb0v\xdf`\xa7r\x8bY\xf2\xee,\xde!,\x9c\x93\ +\xa1\xd3\xfd\x9e\xf7\x9f\xec\xc6\xc7\xc9\xecGX\xca\x03\xd4 \ +\x0d\x11\xf3\x80\xf1CX\xf7\xb1\x9e\xbb\x07\xcb\x8bj\x8f\ +\x14<\xd5?z\x8f\x9b\x93G\xe3[\xd7\x81\xc4\xa1\xf7\ +:\xd5;\xe2\xa5\xda\xa4\xd5=t!\x1b\xf6\x1bX\x03\ +$\x00\xfe\xcd!p=\x9b\x05q1\x1e%?w\xe9\ +\x066#0\x96\xd9\xf9\xaca\x13F\x14a\xca\x99\xa1[)\x80\x87\x98\x1d\xab\ +u\xcb\xd6\xec\xe6\xce\xa3X\x0aO\xe7J\x048\x9c\xcb\ +\x0bI\x91\x89\xe9\x0c\xa3\x0d\xac\x81\xb4\xe93\xca\x89\x1a\ +o\xdaHk\xbb\x00]^\xdej\xbe\x14\xf0\x1a\x99@\ +Q\xf8\xf8\x82\xd8\xd6\x9e\x1c\x8d\x09\xdf\xb7\xe8\xe4\x06\x1f\ +,\x1aw\xeft\xb3\x9a\xb6\x9f\xbc\xd2\xa54\xb1b1\ +\xfd{\x05N\xb1\xe0)\xe4\xf8]\x15n\x93\xd6\xea\xaa\ +\xd9\x9e~\x86-\x8d\xd9\xcd\xa6\xfa)D\xb0\xf5)%\ +\xc0\xcc\xc5\x09\x9c\x00\xce+71\xf7\xd5\x9b\x99W\xe8\ +\x16\xe6\x13\x91\xca\x9bO\x17\x84\xa5p\xf1\x8d\xd8\xc2\x02\ +\xd6\xa4\xb2\xc0\xe84\xb6\xe0*8q?\x0b\xdb\x94\xc1\xb7\xa6\xc5l\ +9,i\xbb\x0at3\x1c:\xfd\x0c])\xe8\xcb\x22\ +w\xf3\x12\xad\x02\xfcN>\xcf/(t\x07\x0b\x04\xc1\ +\xdc=\xfe\x0d\xbf\x1f\xde\x13\x99\x00XL\xc2<\x03\xfa\ +\x1e\xd3}\xa3(\xdc\xf5N\xa1\x84\xce\xb7D\x80\x0f_\ +\xf9\xc9`&\x86\x22\xd4%\xe65\xa50\xa3\x079%\ +\xc3)\x04\x19M\xbf\x85\x8c\xa1L\x94#83\xbe\xb0\ +\xc6>\xb4q\x0f\xe6\xe7\xe3\x94\xabM\xba\x9c]5\xd1\ +\x9b\x0e\xb1e\xebv3\xff\xc8m\xcc/\x22\x8dy\x87\ +m\xd5#\xc0\x8a\xf5{\xd8\xaa\xf8},b\xe3\x01\x16\ +\x05\xcfE\xc0\xcb\xef\xd0\x95\x82n\xa0\xedk\xd4\xdaN\ +\xa0\x87)\xa0\x07\x02\xe8\x0b\x83\xb7\xf3\xcd\x1dx\xfc\x0b\ +v\xf0\xf8\xaeL\xe3\xe9d\xbc\x17j\x02`\xd4\x81\xcb\ +\xcf\x1cX\xca\x94\x8d\x1e\xee\xab\x09\x83\xafhy\xae\xf9\ +\xa7\x95\xc4\xa5\xfe7\xb9\x13H4\x84\xfeL\x89\x86\x0e\ +Tc\xeeB\xbf\xc5\xbf\xbbK\xad\xe3\xd3\xc4\x98U<\ +\x22\xcdx\x9bt\xeeK\xb7I\x9b\xdfUc\x9eC\x17\ +f\x86C\xa76\xf1\x06\xda\x8e\xa0\x87\xa8@\xe7\xc0\xa7\ +\xf2\x0d\x1eX\xc3_\xb0l+\x7f/\xbc\x0f\xf8\x9d\x91\ +\xd4\x98b\xc6\xcf\x8d\xe4\xc4\xcf\xe4\xe0\xab\x94x\xdb\xf4\ +\xb6\x1aB\x18\xfc\xf9\xd5PUfL\x8cR\xfd\x8c\x88\ +\xf0\x0d}\x90\x1f\xc8G\x10\xd2\x94LU;\x0a[\xc6\ +u\x19n\xb7\x89\xcf\x1b\x82\xb5\xf7u\xb4I\x9b\xddU\ +c\xd4\xa13]\x84Q\xb4\xdd\x88\x89\x0f+5\xf1\x5c\ +\xdbW\xebk;\x07}\x05\x80\x0e\xc0\xe3\x1e\xbf\xf9K\ +\xb70\xaf\xa5)|\x93\x07^\x07\xbf\xab\xd8\x15$\x08\ +\x80\x9f\x0fI\x87E\x9f\xa1\xd3}\xd3\xa9?R\xea\xf1\ +\xff\x13\xdb\xe34:\x83?PM\xdb\x16'W~N\ +\xf2%\xadSh%:\x83\xb3\xe8\xcc\xe7\x07\x07\xc5\xbe\ +\xd66\xe9\x8av\xd5\x94:t\xfb\xccv\xe8\x16\x01\xe8\ +A&L\xbc\x8fJ\xdb\x11x/\x00\x1eA\xc7\x13\xc0\ +<\x16of\xee\x8b63\xb7\xa0d\xfe\x1a\xfc\x9e:\ +\x02$+\x04\xc0\xcf\x86\x07IaZ\xde\xb0\xc7\xffO\ +n\x8f\xd3\x18\xa5*O\xdb~\x9fHQKJ\xa1\x22\ +\x09~l\xda\xaeW\x1f,\xdf:\xf8E\x01\xc0g_\ +{\x9b\xb4\xe9\xae\x9a\xf29tK\xcbp\xe8\x04\xe8\xfe\ +\x00\xa0\x9f\xda\xc4//\x05\x1d\xf7\xf4)\xc0\x97\x82\x8e\ +{\xfc\xf0\x140\x97\x85\x9b\x98s\xc0F\xfez$\xf9\ +\x06\x15\x01\xb0\x22\xa8\xdd\xe3\xff\x9a\x86fi\x14MD\ +\x0e\xbd\xba\xbam\xfc\x97\xce\x03\xdb\x8e\x9c\xbd\xf8\xaa\xb5\ +[0K\x82\xf0\xaaL\x87n\xef\xabo\x93.\x8fC\ +\xb7\xca\xa8C\xb7\xab\x5c\x0e\x9db\xe2S9\xe8\x5c\xdb\ +%\x13\xaf\x03}Q\xb2\x02\xbc\x00}\xe1F\xbe\xc7\xcf\ +\xc9?\x89\xf7\xf6ck\x17Z&\xfc\x9e\xb1\xda\x04P\ +\xf5\xf8\xbf\x81]\xd3\xd2\x99\xf5\x95\xa5\xd6\xf1\x1a\xe4'\ +\xd4\x1f\xe6\xe0\xc7\x87(\xaeIJ\x7fcm\xd2\x91\x09\ +/\xe7\xd0-\xae\x80C\x87\xaf\x93M\xbc\xe7bCm\ +\xc7C\x1f\x9dI\xdb\x11x\x05\xf4$6\xc77\x91\x0b\ +n\xf3\xc2]\xc0\x82\x00Hb$\x80s)\x01T=\ +\xfeop\xd3\xacj\x82\x162\xf13q\xac\xbc\xe7\xca\ +\xa4W\xdf&m\xa4\x08\x13\x9dX1\x87n\xb9)\x87\ +N\xcf\xc4\xab\x1d\xbaT\x03\x87.\x19\xc8\xbb$&\x8d\ +M\xf7^\xab\xa7\xed\xae\x1a\xda\x8e\xa0\xcf\xf3S\xb4]\ +\x80\x8eg\x00\xce\xf2N`3\x17$p\xab\xa1\x10\xe0\ +\x08\xff^H\xde\xc9\x9e\xe1\xe2\x18\x18U\x8f\xbf<\x05\ +\xfc5\x93@\xe3$\xb1\xaf ^\xf5\xe2\xd5\xc3\xed\xc7\ +\x14\x87n\xdfkj\x936R\x841\xcf\xa1\xdbi\xb6\ +C\xe7\xadr\xe8\x90\x04AkR\xd9D\x8f\xd2\x1a\x84\ +\xadg$\x07[\xd1\xf6\x8d\x8a\xb6\xfb\xebk\xfbl\x01\ +\xbc\xf7\x066\x13\x80\xc7\x1d\xbe\xb8\xcd\x1b\x87= \x81\ +\xd0\xea\xc5\xd2\xc4\xd0\xc0\xf04~\xdd\xee\xa3\x1cv\xd2\ +)&\xdd\xdf\x86\xedr\x9aC\x14\x07O]\xc0O\x0d\ +\xabH\x9bt\xc4\x86\x03\x5c\xbb_E\x9b\xb4N\xdb5\ +L\xfc\xd2\x88\xb2\x1d:?3\x1c\xba\xb8-G\xd8\x89\ +\xf3E|t\xbb\xe5\x8c\x85\xff\xf5C\xeb\xae\x19\x9d\x86\ +N\xbe\x80\xdf\xdf\xda5\x98\xcd\xf5O\xd4\x81\xae\xa7\xed\ +\x04\xfaL\x09t\x07\xaf\xf5\x5cp\x93'\x92M\x0c\x8c\ +\x5c\xb1v7\x0f\x01-\x95\x1e\x7f1:WLN\x91\ +\x8e\x81y\xb3\x04x\x9f\x1c\x92\xc6\x83\xec\xbc\xf8\xf4\xcc\ +\xf2\xb6I\xc7\x00\xd0v\xbe\xeb\xd8\x14\x10\xbf\xb0\xd4\x97\ +j\x93^Y\x11\x87n\xb5)\x87N?fGBa\ +\x173NM\xbbX|\x93\x05Eo\xc5\xd9<\xff\x0f\ +\xbe?\xb6h%\xb5\x1fd}\x02\x1b5\xf1h\xf7\x19\ +\xde\xeb9\xe8\xb3%\x13\x8f\xda\x8e\xa0\xe3\xc9\xdf\x02t\ +<\xfc\x11\x05{\xfb\x91\xe4x\x7f\x16\x86\xa72\xecG\ +\xb0Rz\xfc\xc3h8\xf4\x10\xaa\x0d|\xa7\x7f\x0c\xcc\ +\x9b#@52C\xe8\x904\xc51fH\x80\xf2\xb4\ +I\xaf\x05\x0d\x9f\x11\x94\xa04yx*[\x9a&z\ +\x842\xbf\x90-\xe5n\x93\xd64\xf1\xe68t+\x0d\ +3tZ1\xfb\x8e\x83gY\xf6\x85b>%\x15\xb7\ +\xb5!\x01R3N*\x99\xba\xbe\xa3p\xbea4\xce\ +\xf6\xc5\x13\xce\x90\x04\xb8?o\x9a\xd7:=\x13/@\ +\xc7\xf3\xfe\x14\xd0\x15\xe0q\x7f?\xbeg\x04V=\xbd\ +#E\x1d\xe0.\x84\xd4\xa1Tw\x19G\xd5A\x8b7\ +\xbdYV\xed\x00\x8a.\xe2\x9fz\x8cv\xf4\xe6cf\ +\xd7\xed2\xdb\xa1sZ\xb6Q\x0f|\x1c\x8f\x8e\xc2\xcf\ +\xf3u\x0f\xe1'icC\xc5\xabu\xe8\x8c\x9b\xf8\xf9\ +&b\xf6-\xfbNq\x02\xe0\xf0\xcc\x1c~\xda\xf8M\ +>*o\x9ao$\x1b\xa0\x1cn\xb5\x8a*\xa3\x8b\x1a\ +5\xef\x10<\xcc\xc1\xff\x11\xf7\x0b\xdc\xa34\xb5\x1dA\ +\xb7Cq]\xc7\xec=\xd7\xe9\x0a@XN\xef8d\ +b:\x1d\x93\xe7L]A\x03I\xfb\x1bK#_\xde\ +\xd8\xd4\x14y\xcb\xb4\x8e\x00\xe8\xa0\xe0\x80IG\xbfh\ +=\x13o\xcc\xa1\xf3\x5c\x95\xc2[\xbbp8\x948\x19\ +\xf4;\x8bv\x1b\xb1\xa7\xa0m\xdf\xd1\x07\xc0\xa7\xb8\xcf\ +\x0f\xa9\x82u\xd0k\xc5&\xf3\x8a0\xe1\x8a\x89/\x97\ +C\xb7T_\xdb\xdd9\xf0R\xccN\x0e\x1d\x9a\xff\xec\ +\x5c$\xc0\x15=\x02\xac\x8a\xdf\xc9??\x80\xbe\x9c\xda\ +\xb3\xb1\x8f\xcf\x03\xfe\xbfh\x90\xdd\xfcb|l\xbcs\ +0\xb3u\x8b\xe6\xdb\xb8\xa7\x12\xe8|3\xa7\xcbZx\ +\xactsG\x97\xe1v\xc7\xa8/\xd0\x8f\xaa\xab\x93\xc8\ +\xf4\x8b)\xa1_\x91\xf6\xd7x\x93\x83\xb3\xb4N\x14G\ +\xc7\xa4s\x97\xe1S\x97\xe2\x97qZ\xbc\xde\xa4C\x17\ +\x00\xde\xad\xd8\xf5\x83\x8c\xa7\xb3\x01\xc3H\x8bV\xd0M\ +\x08i\xd9\xc3r\x07\xbf^P\xbcyE\x98r:t\ +\x9eF\xb4\xddE\xca\xd0\xc91\xfb\xd13\x05D\x80k\ +:\x02\x1c9}Q\xec^J#s\xed@\x8d\x9b3\ +\xb1\xbf\xaf\xbb\xd5tl\xa6\xf9\xb7\x88\x14\xc69\x05s\ +\xc1\xa3\xde\xc4\xdfz\x8f\x9f\x9b\xd3\xc8\xa2}85\x84\ +zP\xc9\xdd\x9az1:I\xc7\xe4\xd5\x95\xea\x00U\ +\xde4\x01\xe4\xb99\xdf\x91\x89\x1a\x0c\xce\xe0\x09\xbe\x85\ +< \x86\x85\xc5\xef\xd7s\xe8\xc2\xe3\xd3\x99\xfb\xb2\xc4\ +\xd2\xedL\xa5\x07\x1f-\xa2NX\x0f\xea)\xc0\xdf>\ +x\xb27>\xd7\x07\xac\x85)\x87N]\x84\xf1]\x95\ +\xaa\x17\xb3{.\xdb\xcc\x9c\x03\x13\x99S 8d~\ +q9(\xfcp\xa5>\xd6\xf3v\x0bvO\x99\x1f\xc1\ +\xa6\xf9D\x81\xac\xd11\xbe\xdfD\x97\xc2&\xbf\xf6X\ +'\xedj\x99KC\x91'\xd3\x0d\xc4._\xc7\xeeV\ +\x0e\xfc:\x01!i\xbc\x08\xb3X\x1d\xb3\x1bq\xe8<\ +W\xa7\xb0\xf9a[\x98o$v\x05mg\xb3\x17\xc5\ +\x19\xb4\x83\xd9yE\x01\xe8\xe6e\xe8D\xf8\x16\x10\xb2\ +M\x8f\x0082\x17\x09\x10\xbf]\xd9\xdc\xf1s\xc7~\ +\x1e\x14\xae\x0d\xa6\xd2\xf8`:\xf7h\x02y\xf2\xb3\xa8\ +\xbd\xdbU\xa3\xd5{\x22=\xb7?\x95\xd7\xc5\xb9\x00_\ +\xa9\xc0\xaf\xfaF\xc17\xe2\x08\xd6\xa3\x0f\xfb+}q\ +\xebf\x1d\xfa\xfa`\x02\x034\xe3&\x8e\x94\xc3\x90\x06\ +\x7f\xb7\x06\xad&S\xe7%\xedj\x19C[\x9a\xfa\xd3\ +h\x18\x5c\xf7\xc6\xf6\x9b\xe8z\x18\xbb~\xb5\x1c:\x7f\ +\x13\x0e\x9d{\xf0fN\x00\xd1\x166\x15\xc8\x07\x9f\xe3\ +\xf7\xe6\xdd\x86\x1c\xfd\xb1M\xb7=\xa0}%\xe3\xc0\xf7\ +\x90\xb5}\xae\x89\x0c\xdd\x8c\x05\xc2\x8b\x8fg\x99\xd9\xf9\ +\x0a\x01\x8a\x90\x00\xb78\x01\xb2\xce^\x12\xbb{\xe2h\ +\x8aZ/\x8a\xd9;Q\xfa\xb6\x0f\x91a$Y\x87\xf1\ +\x1a\xad\xde}\xe85\xadU{\x1d>\x96\x9a>\xab\x98\ +<\x03\xe8\x0d&\x83>&\xa66\xa5>\xc2\xfe\xf4\xe5\ +\xec\x09d\xb7\x9f\xda\xf7^Bf\xce\x99\xd6G[i\ +WKw2w\xad\xa9\xfb\x08o\xc4 \xf0\xa4\x8bq\ +XrYE\x18\xd9\xa1\xf3\x5c\x96\xa2\x10@\xea\x0b\xb4\ +v\x0ff\xd8\xb1\x0c\xd7\xc4\xc3\x97\xd6w\x18ds\x0c\ +\x01s\xf4\x8e+\x05\xddwC\xa9\xb6/H0\x1a\xbe\ +a\x12\xe8\xfc\xa5k|r\xbaB\x80;|\x5c.^\ +\xaf\x8f\xcd\xbc]D\xe4.\xd4T\xfb3I\x0b\xfa^\ +\x1di\xdf^w\x92\xaeD\x92\xb6R\xab\xf77\xd2n\ +\xa7\xda\xaa\x16\xb0J\xff\xf1\xb6\xfc\xa8f\x09\xbd/\xe6\ +\x08\xd1\x97\xf8\x95\x96\x83\xa1\xd4!dC\x1e\xedDZ\ +\x1bG\x90\xa5\xe8&mnhL[\xbd~\xa4\x1b\xd6\ +\x83\xf7\xe8\xfb\xc6\x18\xef\xaa\xd1p\xe8\xdc\x97n\xe6}\ +\x812\x01x:\xd5jz.\x9d\xc1\x83\xdb\xaeBp\ +\x90\xc2$\xb7p\xd3\x19:\xcf\xd2\xf0\xcd\x9e\xc27t\ +\x18e\x02\x14q\x02\xdcS\x08`\xad#@\x07Z\xbb\ +\xc5Q\xf6\x0d\xe9\xdf\x8d\xe9\xfe4%iB\x7f\xfbV\ +\xea\xfa\xfdD\xd5\xf1[\xf5\x8d\x85{\xe5\xac\x09\xc8-\ +d\x8d\xa5\x0e\xa1\xaed\x12\xfb\xd0\xc0\x82\x1e\xc4\xfaV\ +R\xcb\xf3WRs\x09\xfa\x13M\x9a\xb6\xeb\xd5\x8fO\ +(\xf7\x8f3\xe8\xaaQg\xe8\xf4\x8a0\xcb\xf4\x1bC\ +\xddi\xe3E\xcb\x9e\x96i\xd4\xbd\x8c\x9b/\xfc\xd1\x09\ +\xc3d\x8dl\xe2\x8de\xe8\xd4\xe1\x9b\x9a\x00\x19\xc7s\ +\xf8{t\x1a:)R\xca\xd85&M\x16\x9bR\xea\ +R\xd6Tn\xa4\xa9\xa71\xef\xbf\xe6+\xef\xf8}M\ +K\x81\x18.\xf91}\xb9\x06\xd4>\xd6\x94v\xf3Z\ +\x904\xa3\x96\xb2o\xa4m\x5c\x1f\x11\xeb?\xa2\x9b\xf2\ +=\xac\xa7\xfcx6\x97\xa0$\xb3\xbaj\x84C\xe7\xa2\ +\x22\x80C\xc0Z\x11\xa7\xaf\xa0%\x08\xe3\xeb\xb9\xb0\x0c\ +$pg\xd0#Z3C\xa7\x03\xddM\x01}\x8a\xcb\ +:>\x8f\xd7\xd69\x86\xed\x87\xd9\xd7\x7f\xf7\xf3\x8a~\xbe\ +\xfa\xbeY%\x90\xca$U@\xaaJREz\x0c\xa5\ +\xd2K^_\xbcG\x95Wq\xedw?\x7f\xc2\xcf?\ +\xbfmRI\xc8\xbb\xbb\xf1\xee\xe7\xddO\x05~\xfe?\ +\xaeY\xd8\xf4\x1d\xfb\xf58\x00\x00\x00%tEXt\ +date:create\x002010\ +-02-10T01:44:25-\ +06:00\x0e\xe0\x0c\x1b\x00\x00\x00%tEX\ +tdate:modify\x00200\ +4-05-23T19:30:34\ +-05:00\x17\xb7\x8ah\x00\x00\x00\x00IE\ +ND\xaeB`\x82\ +\x00\x00+\xc0\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x00\x09pHYs\x00\x00\x1b\xaf\x00\x00\x1b\xaf\ +\x01^\x1a\x91\x1c\x00\x00\x00\x07tIME\x07\xd7\x0c\ +\x1b\x16\x028\x83\x98\xbev\x00\x00\x00\x06bKGD\ +\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00+MID\ +ATx\xda\xec}\x0b\x98\x1dGu\xe6\xa9\xee{\xef\ +\xbcG\xa3\xd1s4\x92,K\xb24zX\x96%[\ +\xd8\x18l$\x1b\x1c\xb2!` vx\x85\x04\xb0\x9c\ +\x00\xbb\xd9\x0d!l\xbe\xddM\x80\x04\x16\xf2e\x13v\ +\x93\xfd\x92\xdd\x95\x8d\xf1\x02\x1f\xb6\xc3\xe2\xe5e\xcb\x18\ +Y\x0f\x83\xf1\xfb%\x8d\xde\xb2,\xcfhF\xf3~\xdc\ +\xb9s_\xdd\xb5\xe7\xd4\xdc\xfa\xaa{\xce\xed\xee{\xaf\ +\xee\x05\x99\x9dc\x97\xba\xbb\xba\xfbvW\xfd\x7f\x9ds\ +\xeaTu\x0d\xcc\xc9\x9c\xcc\xc9\x9c\xcc\xc9\x9c\xcc\xc9\xff\ +\x97\x22\xa0B\x91\xe0\x97\xdb\x01\xacM\xb8\xfd\x1dL\x1b\ +aNj!\xdd\x98\x1e\xc4t\x04\xd3\x03\x00n5\x80\ +\x14\x95\x00\xdf\x8d`\xb7\xe2\xb6\x1e@\xa40\xad\xc4\xfd\ +S\x85}\x98\x93\x9aK#\x80\x5c\x8b\xe9\x5ca?\x8d\ +ib\xa6\xe1\xb9\xa2F\x04 \xc6\x89\xab1\x0d\xcf\xb4\ +t\x11\x03\xb0S\xcd\xcd\x96\xed\xbaVFJ\xcb\xb1m\ +\x01\xb1\x98\x88\x03@\x0c\xe6\xa4\x16\x92\xc7\x94S;y\ +i;\x8e\xac\x13\xc2u,\xcbmL&]<\xe7\xa0\ +f\x90\x0b\x00\xdc\x17p{;\xa6\xaa\x10@\x16\xae\xeb\ +\x9bi\xe1\xb1\xb6D\x22\xe6\xdav\x5c\xc6bq\xe98\ +q\xb7\xae.\x1ekl\x8c\xdb\xf1xB\x02\x08\x1b\xe6\ +\xd4@\xad\x84\xb0p\x80*\xd9\x96\xd0\xd9)\x1d)s\ +\xd0\xd3\x93\x96CC\x19\x91\xcf\xe7,\xc7\xc9\x8de\xb3\ +\xf9F\xa4H\x07]\x8e)\x0a\x8bX\x89$\xb1\xd2\x00\ +\xf1\xfa\x96\x96D^\xcaz\xb9x\xf1\xfclG\xc7m\ +\xd0\xd0\xf0\x0e)\xe5\x95\xe9T\xaa5;:\x9a\x00)\ +k_\x09\xbf\xa4kd\x85\xef#\xab\xfe^<\xdf\x8a\ +\xc7\xa1\xb1\xb55k77O\xd9\xabWw\xdb\x00\xfb\ +\x12\xbd\xbd\x0f\xe4\x7f\xf1\x8b\x81\xfa\xba\xbatzr2\ +[P\x16.\xddZ\xb1\x06\x90\x05\xf0/ \xf8\xf9\xe6\ +\xe6\x86x\x22\xd1\x94\xbb\xf6\xda\x0f\xda\x1d\x1d\x9f\xb1[\ +Z\x16\xbb\xb9\x1c\xb8SS\x90\xbdp\x01\xd2\xe7\xd0\x22\ +Iy\xd1\xe0\x8a\xda\x00^98\x95\x83n\xceW\xf9\ +\x9cUW\x07-\x9b6A|\xfe|\x8855\xa9c\ +7\x9d\x1e\xce\xf7\xf5\xfd]\xe2\xa7?\xfd\xdf\xb9d2\ +\x19K&\xa7\x97\x14H B\x1e\x13\x8b\x00\x9fT\x7f\ +\x5c655\xc4\xda\xdb\xe7\xbb7\xdd\xf47\xcd]]\ +\xef\xb3\x12\x09\xc8\xa7R\xe0LN\x82\x10\x02\xc4\xd0P\ +\xe5\xa0\xd7\xa6\xa5DK\xad\x00\xaf\xdd\xbb\x9bk\x84\x00\ +\xbb\xb1Q\x81oSjn\x86xs\xf3\x02g\xf9\xf2\ +/M\xc6\xe3\xdb\xe2\x0f?\xfcYGJ\xe8\xc3\xc6\xd9\ +\x01\x90\xa5{\x82H\x10\x0b\xb3\xfb\x83t\xbe\xa5\xa5N\ +\xc4b-\xf2\xado\xfdj\xeb\xce\x9d\x0a|'\x99\x84\ +\x98\x10\x9e\x1b$\xb8\x8eSS\x15/\xab\x0f0\xff\xcd\ +\x1a<[\xd6\x80\xd4BJ\xb0\x1a\x1a\x08x\x22\x00\x11\ +A\x11\x22\xbe`\x01B!\xdf7\xd4\xdf\x9fm:p\ +\xe0s\x88\x9d;89\xe9.\x02\xc8\xcb\x00\x7f \x16\ +f\xf7\xf1d<\xe58\x8d\xd6\xb6mw\xb4^y\xe5\ +\xfb\xe9!\x22\x1eW\x0ct\xf1\xe1n&\x03\xaeeA\ +l\xf5jX\xb8p!\xc4\x17/\x06\xc0\xe3*Hm\ +[tm\x9f_\xf3\x86\xe0&\x93J\xed\x03\x99\xe0T\ +\x8a\x9cB\x10\xd9\xac\xc2\x830\xaa_\xb5\xea\x03c\xe7\ +\xce=\xddt\xf6\xec\xfd\xf5\x08\xbe\xc7\x17\x90%\x11\x80\ +\xfa\xf4m\x08\xe5tSS\xa2\xae\xb5\xb5M\xae\x5c\xf9\ +\x19\xab\xbe\x1e\x1cT)b\xd92\x80\xae.\x10\xf8\xb0\ +&\xb4A\xa2\xb5\x15&{{!36\x06\xd3\xd9,\ +1\x10\xe6\xa4\xb6BX\xc4\x10\xe8\xe6\x8e\x0e\xa8\x9f7\ +\x0f\xb2##\x90A?L\x9e:\x05\x12\xc9\x11\xc7\xc6\ +(\xdb\xdb\xff,\xd6\xd3\xf3H\xb2\xa9)\x8d\xb8\xe5\xc6\ +\x02\x1c\xc2X\x10\xf3\x86\xe8\x9c\x94u\xa9\x85\x0b\xdf\xd3\ +\xd2\xd6\xb6\x84\x98\x96ok\x03\x81\xaa\x87\xfa\xfau\xd8\ +\xeaGN\x9e\x84\xd1'\x9f\x04\xe9\xba0'\xbf|\x19\ +C\xc0\x9b\xb1A.\xbd\xf6Z\xc8\x0c\x0f\xc3\x94m+\ +s\x1cC\xcd`\xcf\x9b\xd71\xd4\xde\xfe\xdb\xed\x03\x03\ +\xf7\x01@f\xed\x8c\x19\x00Q\x8a\x06\x18\xa3\xd6\xdf\xd8\ +h\xa3\x9dO\xe4[[o&\x80S\xd8\xba\x01S\x0c\ +\x1f\xd4\xb0f\x0d\xf4=\xfb,$\xcf\x9f\x879\xf9\xd5\ +\xcadO\x0f\xd8h\x0e\x16l\xd8\x00\xe3/\xbf\x0c\xd3\ +\xa8\xa5\xed\xe9i@\xbf\x0d\x9c\xfa\xfa\x9b\x11\xc3\xef\x10\ +\x96c\xa9\x94\xd5\x06\xe0Fj\x80/\x00\x88\xdd\x98\xb2\ +\xaek\xa3mI\xb8 \xb7`?\x1fr\xe4\xf8\x0d\x0d\ +);?\x8e\xc0\xd3\x83\xe7\xe4\xd2\x90\xf1\xd3\xa7\xa1e\ +\xc5\x0a\xb2\xfd0\xf6\xfc\xf3\x90Es\x9cH\xa7\xc1\x11\ +\xe2*\x07 AXN\x03\x88\xff\x8a\x89\x94|(\x01\ +\xfe\x92\xbc\x7fL\xf5\x96e\xb9R\xc6\x9ct\xa6u\xa2\ +\xfb\x08@C\xa3\xf2:\x1b\xd7\xaf\x87\xe1\xe3\xc7\x01\xe6\ +\xd4\xfe%#.b1~\xe6\x0c$\xd0\x1f8\xbfw\ +\xafr\x0e\x85\xe3\xc0\xc2\xa6\xa66\x89\x18\x12\x96\x08\xb4\ + l?\x1fB\x00\xc3(\x00\xd1h\xdb\x16\xe4\xf3\xb1\ +\xa9\xfe\xbe\xba\xb1\xbe~\xd02\xff\xfd\xef\x07'\x9f\x87\ +9\xb9\xb4\x84\x9c\xf0f\xd4\x02\xd3\x14\x9f)\x98\xe6\xfa\ +e\xcb\xea\x00\x09\x80\xe6\xc0\x22L\x17\x95\xda\x0d\x14\x98\ +\xf2R\x0a\x89\xbb\xd3\x93I\xc50-\x0e\xc0\x9c\xd3w\ +\x09J\x1eU>\x8e\xc7\x80@\x7f@\xcbT\x12\xb1S\ +a\x03)D9\x91\xc0v\x001N7Ii\xe5\xd2\ +i\x7f\x1f4\x93\x99\xeb\xea]\x82\x22\x1d\x07t\x840\ +W\xc8\xcb\x12v3\xa6\x5c\x10\xa6e\x85\x82]Pw\ +\x88<\xaa{9\xebAs\xf0_rb\x1a\xa5\x10\xa0\ +\xf1!\xec\xdcDBp\xbc\xa2}\x00\x05>%\xaf\xfa\ +\x879\xf5\x7f\xe9J\x11\x5c\x1c\xcc#\x0c\x01\x13a:\ +\xbf\x14\x02\x9c\xc24\x8d\xa9\xb1@\x00\x1f\xf8\x05\x02\xcc\ +Q\xe0R\x13\xd30\xa5\xd1\x00j\xab|\x00L)\xc2\ +\xb6\x14\x02\xf4`ZP0\x01\x16\xfe/\x01j\xaa\x01\ +\x1cL\x8f\x9f=\x0b\xcf\xbe\xf6\x1aLb\x00\xe3\xf2%\ +K\xe0\xb77n\x84\xc5\xe8\xcc\xfc:I?\xda\xe3\x1f\ +vw\xc3\x99\x81\x01hE;\xbd\x03\xfb\xec7\xad\x5c\ +\x09vU\x09\xc0:\xfa\xb4o\xb9\x1a\xdbRM\xc0<\ +LycW\x8cTY\x03\xd03\xee{\xe9%\xe8\xc5\ +.LKK\x0b,\xc6q\x85!$\xc1?\xfd\xecg\ +\xf0\xc1\xed\xdba\x0d\xe6\xfd:\xc8q,\xdf\xfd/\xbc\ +\x00\xf5\x18F_\x82\x04w\x1c\x07\x0ea\xf0\xe6,\xc6\ +\xf0?\xbce\x0b\xc4\xaa\xe4\x03\x88\x82\x060\xe0\xab\x13\ +`\x170\x1d.\x95\x00Y\x00\xea\x01\x08\x04\xdab\xa3\ +SU\xd2\x009L\xf7\x1f;\x06yl\xe9\xef|\xe7\ +;\xe1\x8a+\xae\x80:\xdc\xef\xef\xef\x87\x17\xb0\xb2\x1e\ +:z\x14nCM\xb0\x1a[\xcb\x1bYNNN\xc2\ +\x0fO\x9c\x80-W]\x05\xdb\xb6m\x83\xc5\x18IM\ +\xa368\x81y\xcfc\xd4\xee~,\xe7\x1d8\xb8\x16\ +\x93\xf2b\x09\xa01\xf2m\x09C\x0b\xb1$L\xa1\x0c\ +\x02@\xbc\xe0<\x143\x01\xb2\x0a\xe0\x7f\x17\x072\x00\ +#\x8b\xef\xba\xf9f\xb8\x0a+\xa7\x09\xc7\xb4\x85\x10\x8a\ +\x08\xabq\xa0i\xdf\xbe}\xf0#\x8cm\xff\xd6\xda\xb5\ +\xb0\x0aG\xbf\xde\x88r\x1a\xe3\xf2\x8f\xbc\xfa*\x5c\xbb\ +c\x07\xec\xda\xb5\x0b\x96\xe1\xc0M,\x16#\xb0T9\ +\x97/_\x0e\x8f=\xf6\x18|\x17\x07\xd5\xde\xbbf\xcd\ +\xc5\x91\x80\x1c\xbe\xe2C\xc9\xc2\xc5\x94+wF\x90\xf0\ +ld\x15\x09\x90G\x90\x1fB{O\xc3\xc8\xb7\x16\xc0\ +o4\xad\x5ci\x81\xcb.\xbb\x0cn\xbd\xf5VUY\ +{_y\x05~\x03\x8fW&\x12\xf0F\x923h\xca\ +~\xf2\xfa\xeb\xb0\xfd\x9ak\x14\xf8\x1d8tk\xdb\xb6\ +1\xb3\x18\xb6\xdd\x8ef\x8e\xcaH$\xf8>\xfaA\xef\ +Z\xb9\x92HP\xb9\x0f D\xb1)v\xa2\x82I\xa1\ +\xc6{\x94U$\x00\x81\xff#\x1cD\xb2\x10\xfc]o\ +{\x1blA\xfbg\xc07B\x15E\xad\xe5\x96[n\ +Q\xfb\x8f\x1d>\x0c\xb7tv\xc2\x0a\xac\xac7\x82\x9c\ +\xcdd`?\x9a\xb2m\x08\xf0\xdb\xb0\x9cK\x97.5\ +\xe0\x1bQZo\xeb\xd6\xad@\xb2\x7f\xff~\xf8qo\ +/\xfc&\x96\xdbv\xdd\xaa\xf5\x02\x1c\xde\x9b\x8b&@\ +\xbd\x0e\xf9V\xd1\x04\x10\xf8{\xd1\x03\x16\xc8\xfc]7\ +\xdd\x04\x9b7o\xf6\x83\xcfI\xa0Z\xcd\xce\x9d;\xd5\ +\xfe~\xf4\xa0w\xa2\xfd\xec\xb4,\xb8\x94\xe5\x5c.\x07\ +\x87p\xc8|\xeb\xd5W\xc3\x8d7\xdeHN\x9f\x01\x9f\ +\x0b\xd5\x81\x22\x81\x85\xe5:x\xf0 \xec\xc5\x89\x1d\xef\ +X\xb4\xa8l\x12\x18\x87\x9d\x9b\x00A\x98\x96J\x80U\ +\x05'P1G\xcab&\xa0\x22\xf0\x1fC\x8f\xd7B\ +\xf0oz\xeb[a\xe3\xc6\x8d\x0c\xfc0\x12PE\xd2\ +\xfe!t\x98n\xc4YH\xcb\x84\x80KQ^w\x1c\ +\xf8\xf9\xf8\xb82k7\xdcp\x03\x03?\x8c\x04\xa4\x0d\ +\x89\x04\x87\x0e\x1d\x82}\xa3\xa3\xb0\x0b\xeb\xaa,\x12\xe8\ +k\x85\xf0;\x82\x88a\xbe\xa0\xcdW\x95J\x80\x13\x98\ +\x5c\xea>\x04\x98\x80r(@*\xe9 MR@\xe0\ +\xa8R\xba\xba\xba\x18\xf8\xa5\x90\xe0\xadH\x1c\xaa\xa0'\ +q(\xfaz\xec\x1e.\xbd\xc4\xc6#\xceK\x09O%\ +\x93p\xe5\x95W\xc2\xf5\xd7_\xcf\xc1\x8f&\x01iE\ +\xe5\x08?\x89\xb3\xac\x0e\xa5Rpc}=\x01[\x96\ +\x06\x90|\x22\xaa(`\x09\xe1\x04\xe0'\x84S\x85@\ +\xd0kX\x08\x0b\xc1\xbf\xfeMoR\xe07`_\xb8\ +\x5c!\xe0\xa9\xfbD\x04\xa2J}\x06\xbbP;\xa8O\ +\xed8\x97\x06\xf8\x98\x9eE\xbb\xbf\x09\x01|\x13\x96\x13\ +\xdf\x95\xde\x99@!@\xcb\x22\xc1\xa6M\x9b\xd4\xbdO\ +?\xfd4\xf4\xe0v96\x9ep\xe1\xb8H\xbf/g\ +\x11\x96e;\x81\xf9\x5cN;\x0f\x17\xa5\x01\x12\xe8\xc1\ +_\x8f\xdd\x9du\xeb\xd6U\x00\xbea6\x01\xbf\x08m\ +\xe3u\xd7]\xa7*\xe89\xecF^\x83N\xe1\xc2_\ +\xf1\xdc\x84\x0b\xf8./\x22\x117\xa0Y\xbb\xf6\xdak\ +\xe9\x1d\xbd\xe0WD\x82\x0d\x1b6\xa8\xf2\x8e\xe0\xb8\xbe\ +\xdb\xdd]\x1e\x01x\xdcF\xe41\xc5\xcb!\x00q\xae\ +\x0e\x13\xeb\x05T\x10\x08\xba\x12\x9d\xa1y\xed\xedP_\ +__\x09\xf8\x8c\x044\xfd|\xc7\x8e\x1dj\xffE$\ +\xc1V\x22A6\x0b\xbf\x0a\x19\xc0g\xbf\x8c\xdb\xf5]\ +]\xd4\xa5S\xef\xa6A\xd7[-\xe5\x92`=\xce\xbc\ +\x9aD2\x0d`\x0f\xa8$\xd1D\xe3f@\xe5N\x95\ +\xab\x01\x94\x13X\x85^@\x13\x82Ca^\x0a\x7f\xba\ +\xae[!\xf8&O\x93\x80*\x9cZ\xdaa\x9c\x0a\xb5\ +9\x91\x80\x05\xe94\xfc2e\x10\x9fy\x04\x09\xb0~\ +\xedZ\xe5\xc5/X\xb0\x80\xde\x87\xbd\xb3!\x82\xda/\ +\xd9\xe4\xb5bW\xd9\xe9\xef\xa7\xfa.+\x0e`\x86\x83\ +\x0d\x01\xdcrM@KaDPV!\x10\xd4\x8f\x11\ +\xbd\xc5\xd8B\xe2\xf18\x85@\x89\x04e\x82\xcfI@\ +\x15D$\xb8\x1a\xb5\x0b\xed\x1f\xc3 \xca\x06\x1a\xeeD\ +\xc7\xe9\x97!C\xa8\xcd\x8ec\xbab\xf5j\xe5\xbd\xb7\ +\xb7\xb73\xa0=Z\x80\x9d\x8b\x02_iK\xbc\xbe\x1f\ +c\x03\xb2\x02'\xd0l\x0d\x86-\xe5\x10 W\xe86\ +\x08)/:\x104\x85v\xec\xd4w\xbf\x0b]\x1f\xf8\ +\x00\x15L\x93\xa0b\xf0It\xa5R\xab\xa3.\x17U\ +\xdaI\xfc8u\x1d\xe6\xcfC\xa7\xa9\x962\x82~\xcc\ +)\x0ca\xafY\xb5Jy\xed\xf3\xe9\xe3\x18!\x02[\ +~\xb4&\xe0\xe0St\xf0\xd8\xfd\xf7\xc3TooE\ +\xdd@\x1ff\x84!>0W\xceX@\x0a\x93M\xa9\ +J\x81\xa0\x81\xe7\x9e\x03\x81\x85[\x7f\xc7\x1d\x8c\x04\x0c\ +\xfc2I@\xad\x8f\xba^d\x1a\xce`\xe8u5\xe6\ +\xb5NL@-d\x0c#w\xaf\xb6\xb5\xc1jtl\ +)\x96\xd1\x86\xfb\x1e\xf0\xc3\x81\xe7\xfb\x81\xe0\x9fx\xf0\ +A\x18x\xe6\x99\xca\x22\x81\xc5\xc7\x02 U\xae\x06\x88\ +\x11\xf8\xbc\x1bH\xc0U\xe6-?\xf5\x94Rk\xeb\x7f\ +\xf7w\x19\x09\xca\x04\x9fU0\xb5B\xdd}:\x87\xa1\ +\xe6\xcb\xf0|\x0b\x06d\xaa)\xe3\xe8\xc7\x9cC\xb3\xb3\ +j\xc5\x0a\xea\xceR,?\x08|\xb6\x0d!\x01\x07\xff\ +\x81\x07\xa0\xff\x17\xbf\xa8|>\x007\x01\x16\xe6\x95\xae\ +\x01\x9e\xf38\x81v\xb1\xd0\xe2E\xcc\x07\xe8\xc3\x82\xd1\ +\x8bv}\xf0\x83^\x12T\x02>\xabx\x02\x84\xbaO\ +T\x99\xbdX\x91\x9dx\xae\x09\xc7\xe1\xab!I\xfc\xed\ +^\x8c\xe7\xaf\xec\xec\xa4\xee,9h\xc1-\xdd/\x91\ +$ \xcd\xa5\xc1?\x8ej\xbf\x0f\x83@\x15\x89\x94^\ +\xf5\xcf\xc6\x03\x14\xb6\xa5j\x80D\x81In\x0df\x04\ +\x11\xbb\xa9\xf0\x1b>\xf4!M\x02\xea!P^\xe5~\ +\x81\xf1\x9c\x09 U\xa9\xfdX\xa1\x1d\xd4\xa5\x1a\x1d)\ +\x7fU$\xe9\x05\xbf\x0d\xfa\x11\xf8\xe58H\xb3v\xed\ +Z\x0d>{~\x08\xe0\x81\xe6\x80\xde\x99F?\x95\xcd\ +\xff\xcew\xa0\xff\xe7?\xbf\xb8\x09!\xbc\x17\xa00\x14\ +\x05Le9\x04\xc8b\xb2\x00D-f\x04\x11\xcb\xe9\ +\x857~\xf8\xc3\x8a\x04\xd3\xd3\xd3D\x02\x06ri\xe0\ +s\x12\xacY\xb3F\xed_@\x22,\x01\x09\x8d#\xc3\ +\x15}\xef=5\xbf\x1d\x06/[\x05\x9d\x18\x8a^\x85\ +N_sss1\x13\xa4\xf3J6\x01$\x1a|\xea\ +\x1d\x1d\xfb\xf6\xb7\xe1|(\xf8\x95G\x02\x89\x12n\x01\ +\xd3L9\x1f\x86\xc8|^\xb8\xb6-\xcc\x8fVwN\ +\xa0b;\x91\xe0#\x1fQ\x11\xc2T*E$\xa8\x10\ +|N\x82\xcb/\xbf\x5c\xed\x0f\xc6l\xd5\x04\xea\x87\x06\ +C\x14\x00\xe7\xc7t\xfbB\x18^\xb3\x16:\x16/\xa6\ +\xf9\x09\x14\xcb\xa0\xdfc\xcf/\xc7\x04\xe8\xfb\xb4\xcdO\ +$\x12p\xf4[\xdf\x82>\x9c\x02w\xb1\x22\x03\x06\x83\ +0W\x10\x96\xa2\xfc\x09!zF\x10'\x80\x84\xea\x88\ +*8\xfe\xde\xc6\x8f~\x94H@\x9a\x80\xe6\xb2W\x02\ +>S\x85\x04\x18\x01G\x95=\x1c\x8bC;H\xa8\x1f\ +\x1c(iE\xac\xd4\xc2E0r\xc5zX\x82\x91\xb8\ +\x15+VD\xb5\xfc\xb2m>E\xfa\x08\xfc\xeeo~\ +\x13\xfa\x9ex\x02\xb8T\xee\x03`\x81\xfd\xf8T2\x1f\ +\x80 p0\x05G\x02\xab'\xe7\x91\x04T9\x9b~\ +\xff\xf7iK\x9a@\xf7\x0e\xe8\xf8\xa2\xe2\x04\x04\x1c\x01\ +H$\x18\xb5I\x13\x1c\x81\xc4@\x1f\x84Iz\xe1\x12\ +\x98\xdc\xb0\x19\x96,\x5cH\x93R\xf4T\xb5\xa0\xf7)\ +\xcb\xfb\xa7\xf7\xa0\xdfS\xe0\xdfw\x1f\x9c/\x1b\xfc\xe8\ +H\xa0\xe0>\x80\xc20_\x0e\x01\xd2\xd4\x0d,t!\ +X$PJ\x95\xaa)T\x11\xf4\x9b\x9b\xff\xe0\x0f\xe8\ +\xd0k\x0e*\xf6\x0bH4\x09h\xee\x1d\xb5\xbcQ4\ +\x07\xf3\x0eK\x88\xf7\x9f/\xba\x1cYfI\x07$7\ +]\x05\x8b\x10|\x9c\xc5C-\x95\xa9\xf6\x88\xae_\x10\ +)\xe8\xf9\x06\xfco|\x03zq\xdc\xbf\xaa\xe2q\x02\ +gafY\x1a\xd3r4\x805k,\x80\xb6\xc2\xb6\ +k\xf6u\xd0y\xaa\x10\x22\xc1\xc7>\x06$SSS\ +D\x82\xca\x9dB#d^hN\x81j\x81\xe3Wm\ +\x87\x16*x\x7f\x0fx%\xbbd\x19\xa4\xf0\xdc\xc2\xf6\ +v\x1a\xce\xa5{\x82Z=\x039*\x8f\xbc|\x02\x9f\ +\x9c\xbe#\xf7\xde\x0b\xbd\x07\x0f\xd6\xe4\x13qEjK\ +\x14\x9d\x14J\x98\xc6\xca]&\xae\x90\xfc\x5c\x92\xb2f\ +\x9f\x87Q\xc5\xd0o_\xf9\x89O\x00I2\x99\xac\x0a\ +\x09\x08\xf8\x86\xc2\x9c|\xda\x9f\xd8\xbe\x03\x1a\x9f\x93\x10\ +\xeb{\x1dHr\x1d\xcb!\xbd\xed:hok\xa31\ +\x06r\xd0\x02\xc2\xb5\xac\xe5G\x9a\x00z\x1ei!\xfa\ +\xcd\xc3\xf7\xdcS\x0b\xf0\x8d\x0f\x00\x82\x22\xae\xcc\x04@\ +\xb9>@ca\xea\xf6\xec\xf9\x00\xc2\x125\xd3\x00F\ +\x13`\x05I$\xc1\x9d\xbb\xa9\xd5h\x12T%XD\ + \xe8\xf1\xfa\xe4\x8e\x1b\xc0z\x86L\x0f\x96u\xc7[\ +\xa0\xad\xb5\x95\xc2\xca\x1a\xfc0{\x1f@\x04v\x1d\xa9\ +}rF\x0b\xe0\xdf\x0d\xbd\x07\x0e\x18\xac\xaa\xaf\x02H\ +e\xb38\x80\xd6\xe2\x84\xa9[\xb2\x09\xf0;\x10&\xc6\ +,,pi\xaf\x16\x04\x10f\xd3\x87$\xa0\xedf$\ +\x81\xd6\x04\xd8;\xa8d\xf8\x98\x81Ej\x98\x06\x91\x08\ +\x9c\xa9\xeb\xdf\xa6\xce\xb5\x22H\x14\xd7\xa7s\xfa\xfa\x08\ +\x89\xd4\x02\xa4\xf6\x09|\xd2\xfc0\x9cz\xe8!\x98\xec9\x07\ +R\xba\x8c\x00\xda\x09 l#\x090N\xea\xc4L\x0a\ +\xf5\x93\xd6\xb6*\x0e\x07\xfb\xb4\xbd\xd0\x15\xe2qZ\xa5\ +\x87\x04\xbeD\xa25\xc1>\xaa)$\xc1\xbf\x06iH\ +p1NaI$\x08\x13r\xf84\xf8'\xef\xfe\xef\ +\x04\xbeQf\xd2\xef\xe4rm0\x8b nq\xe7\xb0\ +\x19\xa3\x92\xed\x1b7\xaa\xd5@[q\x90\xcb\xc11\x93\ +\xd7\xb1K\xf9\xf4W\xbe\x02=8o\xd0\xc9f\x89\x94\ +\xa8\x05:qk\xb1U\xdf\x09\xcbx\xa9\xeb\x03Lb\ +ZU\x98\x14j\x151\x01\x12.2\x10\xa4\xc0\xd7\xd4\ +d\xc0\x1b\x8f\xc5\xf2\x94@\x18]6\x84$8\x8e\x07\ +\xeb\xee\xfc7\x80B$ \x9f\xa0\x1a$\x88R\xf3\xec\ +\x1c\x82O\xb1\x03\x8aW \xf8\xff\x88\xe0\xff\xd4\x00m\ +\xd4\xbf\x12\x03\xbe\x1fx\x90\x5c\x13$0p\xd4\x8a\xc3\ +\xcf\xf3\xb0\x85/\xe8\xea\x82:$X\xb2\xb7\x17z\x10\ +\xf4\xd7\xbf\xf8E\xe8\x7f\xea)\x02\x9d\xd7+5P\xab\ +\xe8\xac`h lK!\xc0\x94\xf1\xcd\x84\x89\x03\x98\ +@P\x85\x91@\xfd\xa3\xfe\x0c\xc9}\x00\xf3pn&\ +4\x11\x86\x0eaE\xe3\xce\x15w\xfe\xb1\x02C\x93\x00\ +\xa5\x9af\x80\xf2B[>\xc5\x13\x9aT\xcb\xff\x07\x18\ +:\xf0\x98&v \xe0\x9a\x1c\xca\xbcz\xce7.Z\ +\x0c\xcd8\xef\xa0y\xf9Je\xcb\xeb\x90T\xf9\xa9\x14\ +\x0c\xe0\xea)\xaf\xec\xd9\x03=\x07\x0f\xd2\xc2\xd0%M\ +'wY$PW\xa3\xc16\xda\x09,\xd4?\x9b\x10\ +b\x19\x13P\xbe\xcd\xe7N\xa0\x06\xd7\xa8\x1a\xa6\x1d\xfc\ +d\x11\x052\x00\x91\xe01*\x1e\x92\xe0\xdf\x01\xc9\xd8\ +\xd8\x98!\x01\x97\xaa:\x85\xd4\x85\xd4\xe0\x9f\xbe\xe7\x1f\ +`\xf8\xe0O\xfc:7\xc0\xd6+\xf0\xd1_h\xec\xe8\ +\x84\xc6\xce\x15\xd0\xd4\xb9\x12\x9ah\xa0\xaa\xa1\x11\x01\x9f\ +\x82!\x5c\x0b\xe1\xd87\xef\x83\x0b\xcf=\x0fCG\xba\ +\xc1\xc9\xe5\xcbjb\x82\xf0\xb1<\x9a\xca\xd3\x962\xa5\ +\xce\x09\x5c\xab\xb16A\x04\x1f\x8a\x13'O\xc0\xe4D\ +\x12\x12-\xad\xf4gJ\xe8\xa1\xd1\xcc\xd4\xff0\x80\xf5\ +\x83\xf4\x89Y*\xdf\x00\x8e\xfb\x9a\xce&\x7f\x04Ip\ +\x0a$\xac\xbd\xf3O@\x93 \x9b\xcdF\x9b\x82\xca\xcd\ +\x80i\xf9MM\x08\xfe\x7f\xc3\x96\xff\xa8GMj\xa0\ +\xb5\xc3\xd6\x04\x89\xb6v\x88\xcf\x9b\x0f\x89\xf6\x85\xd0\xb0\ +t\x194,\xe9P\xc5N\x9e{\x0dF\xbb_\x863\ +\xdf{\x10F\x8f\x1d\x85\xb1\xd3\xa7\x11pG\xdd\xebJ\ +]\xd6\xb2\xc2\xc6\x84\x05%\x16\x08\xb24\xb6\xa5\xc7\x01\ +\x8c\xc8Y\x04\x98\x1e\x1c\x84\xd1\xd7z\xe8A\x8a\xcd\x89\ +\xd6\x19\x22\xc4\x1a\x1aT\x8a75\xd19?\xf8b\x96\ +j\xd4\xa0[\xb3T=\x8b\x0e\xfa#R\x8a\xdc\xd2\x1f\ +\xe4\x1e=\xf4\x138\x8d\x99\xab?\xf1'\xaa\x1b6<\ +<\x5c\xc9\xcc\xa2H\xb3\xa0\xbd}\x0d\xfe\xab\xf7|\x0d\ +F\x0e>\x0a\x16\x16&\x86\xf3\x06c\xd8 b\x04\xf4\ +\xbcv\x88\xb5\xb6A\xbc\x0d\xc3\xcdu\xf5\x90\x1d\x1b\x81\ +\x14\x0e?\xa7\xce\xbf\x0eC\xcf<\x09\x13gN\xc1\xf8\ +\xa9\x93\x90\x9bN\x83\x06\xdbU\xb6\x96\x90*\xecke\ +\x8b\xfb\xaez\x8f\x92\x09\xc0\xc6\x02X\x07\xa34\x02\x98\ +\x86f\x88`\x9c@\x17U\xad6\x039T]V\x22\ +A\xeb\xd4\x12!\xd4\x90q\x1cU\xa3M3]\xeb\xeb\ + \x86\xf9v]\x0cbxM\xac.A\x8e\x8ai\xc9\ +\x8a\x04\x5c\xbd\xebd\xc07&\x82i\x05 \x12<\x0a\ +\xa7\x9d\xe3z\xa8T\xee\x22Q\xf5\x1a\x13\x1f\x01\ +\x04=\x84\xcdDq\xd2i\x95\xb4\xa4\xf1%l\x04<\ +^\x8f\xa0c\x8a\xd7\xd5\x11\x190\x0f5FC\x03n\ +\x91\x144W\x8f\x92%\x0al\x93\xba\x99c\x1em\x0a\ +6\xadP(\xa3%x\x22y\xf5\xf4)\x189\xfc\x0a\ +,\x5cd>\xcd\x8eP\xefl\x1be\x02\xc8\xbc\x9c\xc5\ +\xcf\xd0\xd2\xdd\xaf\x80\xf5\xdc\x01\xc8\x10\xe8\x17\xfa 3\ +<\x00n\xde-\xc4Hf\xc0\x93>\xa0M\xeb\xd6\xb5\ +\xe7j\xa0=\xa0\x83\x97\x0cZ;\x16\xf2\xa4,\x85\x00\ +|J\x98\xe6P\xa6\xc2?\x1b\x07l0\xc8\xb6K\x9a\ +\x9e\xe4f\xd3\xe8\x94!1\x92\x009KOW\xa3$\ +f\x88\x81\xa4 \x22\xc4(\xd1q\xa2@\x12\xcc\x07\xcc\ +\x13q\xd2&D\x06L\xb1\x19scS\x9eecR\ +\xf9\xb4U\xfd\xde\x13N\x0c\x1e\x1eq\xe0\x86\xee\xa3\xb8\ +8C\x1b\xfb\x12\xb9r\x7f\x80\x9f\x1b\x18\x18\x80G_\ +\x1b\x82\xf5'O\xc3\x8a\xf3'\x11,\xa3\xbe\x15\xe8T\ +F\x0d\xbekZ9#\x81O\xdd\x9b}a\xd1}\xfe\ +\x9e\x91k\xe2&\x11&\x80O\x09\xd3Z\xa0\xf2\xbf\x1c\ +\xea\xd7\x00\x94J\x8f\xf2\xd1V\x83\xaf\x13H$G\x06\ +\xf2\xb9\x8c\xaa,\x07\xf3\xb2\x9a\x1c\x82\x92!\x8b(v\ +L\xe0\xdbJ{\xa8\xd4\xdb\xd9\x05{\xdb\xd7\xc1e\xab\ +\x96\xc1\xca\x95+\xc9N3`\xab\xe5\x14\xea\x91\xc3\xf5\ +]\x1b\xe0\xe9\xb1qU\xc6\xe5}'u%k\xb0\x8d\ +\xf3_8\x90\xae\xb6\xc5Av\xde\xdf\xe5\x05\xe1\xd1\x00\ +\xa5\x9b\x82B/ \xc0\x7f\xab\x94\x00\xd2\xbb\x15V\xa4\ +\xd7/\xc0\x03\xb6!\x02O\xe6\x9c\xb9\xd6\x80\xed\xcf\xb7\ +\xccy\x22\x90p\xf3\x00\xb9<\xbc\xbex=\xfcta\ +\x17\x5c\xbe\xearZB\xc6\x10\x80\x83Y\x09\xf8\x81\xd3\ +\xcb\xe8\xa3P\xca\x7f\xa6\xa0\x85\x96\x9f?\x81\xc7\x1al\ +M\x04\xcfV\xb7j\x9f\xca\xf7\x01o\xda\x15\x11\xc4\x00\ +\xef#\x82\x14\xe1\xa8\x8aB\x85\xc9*\x13\xc0H\xa1\xc0\ +!\xc2\xe2\xb9\x82'C\x10\x03\xac\xaf\xb5s\xf0\xb96\ +\xe8]\xb6\x1e\xf6_\xb6\x03\xc1_E\xe0\xd3\x14p\x05\ +~I\x12=\x88\x14\xda\x15\xd4$ _\xe3\x19a)\ +0;\x91\x04\xbeV\x8f\x09\xbcdP@\x878}\xfe\ +\x16\xcfM\x01]\xa4\xfd\x8b\xd0n\xa0`\xe7+%\x00\ +'\x01!`\x8b\xa8\xd6o\xd4\xb9>\xd6\xc9\xa7\x0d\xb8\ +\x99\x10^R0\xf0\x8df8\x8fj\xff\xe0\xe5\xd7\xc1\ +*\x04\xfd-oy\x8b\x06\x9f\xc0\x8a\x021\x0a\xf4\x92\ +\x9dG\x8a\xfd\xd3\x17\xc2$\xcf\x14^\xba\xb3\xe7\xb8\x01\ +\xdc\xa7\xe2\x0d\xa0f\xdf\xeb\xf4\x05\xb4x\x03<\x0b\x8a\ +q\xd1\xa1`\xabv&@h\x14\x22\xc7y=\xac\x15\ +\xde\xe3\x00\xff\x00\x8a\x98\x81\x00\xf0\xfb\x96w\xc1\xa1\xd5\ +o&\xd0\xd5\xa2QZ\xed3\x09V\xff\x17\xed\x0f\x08\ +!|\x8b:\xd1\xf1s\x85\xd9R\xcbz\x8e\x15#\x81\ +q\xe6\xfc\xf1\x0d\xbf)\xf4\x86\xc5\x85\x0f\x80h-\xa0\ +\xf1\x1154\x01Rw\xcdJm\xfd,\x8f\x1ds\x0d\ +`\xb4\x03\x07\x7f\xc5\x06xb\xcd\x0d\x1a|\xfa\xe8\xc3\ +\xd8\xfc\xf2\xa5\xe2o\x0d\xf4\xb16\x07\x9a\x04\xcf+\x12\ +\x00t\xf8I`\xc0\xf5\xd9yN\x00i\xae1-=\ +L\x0bpbb\xaa\xad\x09\xa0Tn\xeb7y\x22B\ +#P\x0a\xf0\x0f\xfaWl\x84'\xd7\xa1\xad\xc7\x16\xff\ +\xe67\xbfY\x83\xcf\x00\xaaP\xcat\x0a\x0d\x11\xf4l\ +c2\x07\xe4\x13\xbcP\x88Y,}\x9dH`\x1a\x86\ +\x0b\xdc\xb37Q\xd2P\xe0\xa3\xb5\x80\x19\x0d\xc4$\xaa\ +n\x02\xcc\xf3M \xa8\xe2\xd6o\x12\xbfF'1\xcb\ +\x14\x5cX\xb9\x11\x9e\xeaz\x1b\x81O\xcb\xc4i\xf0\xc3\ +\xa6f\xd7\x8a\x10\x0c|\xaf&\xa0\xf5\x09h\xffE|\ +\xe9\xad\xb8]z\xee(@\x80\x83G\xc7\x92\x01\x1d\x05\ +<\xd7\x02<\x0eP\xd3^\x80UZ/@\x04k\x04\ +\xde-\xe4\xf7\x99s\x04\xfe&xz\xe3N\xb2\xf5\xb4\ +\x08c\x90\xda\xaf\x84\x08z%\xcf\xc0\xd0q4\x09\xf8\ +\xc7'z\x91\x8a\x97\xed\x19\x9f`\xf1\xb9n\x05\xbc\x15\ +\x06t\xb4\xdd7y\xfe\x095\xdc\x07\xa8u/@=\ +\xc4\xcf\x01c\xc3\x81\xf5\xed\x99F`=\x00\x11\xac!\ +\x06Wm\x86\xe76\xef\x82\x95+V\xd2\xda\x80\x04\xbe\ +\x06MK\xc5$\xa0Q=\xfa\x0a\x88\xae\x1d\x1c\x1c\xf4\ +\x8e\x22\x86\x80\x1f=c\x98\x1cCZB\x86H\xf0\x8a\ +m\xab\xf2-|\xad\x1bd@\xdf\xde7\xe8\x22B\xc8\ +\xa0\xcf{\xef\x9d}\xdaV\xf8\x98\xdb\xaaj\x02\x8c\xae\ +\x0f\x9a\xd6mR\xa860\x89\xf7\x08\xcc\xf1\xd0\xe5\x9b\ +\xe1\xf9-o\x87\x15\xcbW\x10\xf8\xf4\x81'\xeb\xeaE\ +\x11\xc1\x80\xc5\xc1\xa7/\x84Zp\x14S\x16\xae\xbdp\ +\xe1\x02\x91 \xda\x0c\x18\x92\x153\x05l\xb5\xcf\x97-\ +\x1b6\x82\x80\x85g\x8fxL\x01w\x00\x95\x96(\xe6\ +\x04\xd2\xc6O\x1a#\xb3FG\xad\x82-\x95U&\x80\ +\xdf\xc6\x84v\x03MR\x9b\x08\xff\xc0\x10\xc6O\x84\xa1\ +\xd5W\xc2K[o\xc5\x96\xbfB-\xbf\xda\xd9\xd9I\ +\x95Y\x0a\xc0%\xb7|\x02\x7f\xf0ow\x83\xeb\xe4a\ +\xf1\xe7\xee\x01\x12\x22A&\x93)\xc5/`\xa0\x17\x09\ +\x16\x19M\x10\xb3U\x09\x17\xbcz\xd8O\xf8R\xec\xfc\ +l\xd2\x801'R\xfb\x11&\x0eP\x0b\x13\xc0#M\ +>\xf1\xab\x7f\x03\xae\xc9\x8f\xe8\x1d\xf8\xaf\x1dY\xbd\x05\ +\x0eo\x7f'\x81O\xab\x81\x12\xf8\xe1-\xdf\x80\x10y\ +\x9e~\x87\xc0o\xc6\xf1\xfc\xa1\xff\xb2\x1b\xd2\x8f\xcc\x00\ +?Dj\xfa\xcf\xd4>\xfd\xcd\x22\xa5\x09\xa2G\x07\x03\ +\xbba\x8c\x04D\xdeW,[\xe5\xcd?\xf3\x8a\x0fP\ +\xab\x08\xf0\xd276\x10\xd0\xdb\xf2\x10B\xb2\xe7WG\ +\x03pM \x8c\x0f\xe0\xc3S\x14R\xb4F\xe0>\x82\ +'ot\xed\x16\xe8\xde\xf1\xafH\xed\x13\xf8\xfao\xec\ +D}\x9f\x1ft\xde\xb7\xafg\xf2\x10\xf8\xc3\x7f\xb7\x1b\ +2{\xef\x01\xad\xcc\xb2\x8f\xdd\x07\xc3\x02`\xc1g\x0d\ +\x09P\x13\x04=\x8b\x01\xadS\x10\x09h\xdd_\x22\xc1\ +\xe1\x98\xad\x1c\xc3y\xa7^\x06\xe1\x03\x9e5\x08?I\ +|f $\x12h\xd5\xc6\x070[\x0b\x13\xef\x06\xf2\ +\xd6=[\xfd\xcfV\xf5E\xfc\x83\xb1\xb5W\xc1\xb1\xeb\ +\xdeE\xb6\x9e\xfe\xba\x16\x03?p5N~>t\x02\ +\xe7\x08\x82\x9f}T\x83o$\xf7\xd3\xfb`D\x00\xb4\ +\xff\xa9\x8f\x04L\xcd\xe3~X\xf2M\x1c\xa1\xad&\x01\ +\xad^FyG\x90\x08+\x05\x92\xe0\xe4K`\xcdn\ +\xf1\x8c\x10\xbe\x06\xe4'\x04\x80\x8fD\xea\xbcmB\xcb\ +Jj1\x18\x14\xe9\x02h\xc0!J\xfd\x9b\xeb'\xd6\ +m\x85Soy7\xac\xe8\x5cN\xeb\xff\x12\xf8\xd4b\ +\x18\x98\x95h\x01=u\x9b\xc0\x1f\xfd\xdan\xc8\xfdD\ +\x83\xcf%\x8f$\x18\xc5\xed\xfcp\x120\x90\xa3\xb4\x01\ +%r\x0c5\x09\xba\xed\x98\xd2\x04\xcd\xc7_\xf4:\xc3\ +\xc6\x114\x00\x07\xf7\xf9\x85\xf9z\xd7\xf1\xcf\x09\xac\x9d\ +\x09P\x05\xb3-\xf3>\x82c+|\x19A\x041\xa7\ +'\xd7]\x0dgn\xbc\x8dl=\x81\xaf\xff\xbaV\xb1\ +\x96]\xa6\x160\x1fm\x10\xf8c_+\xb4|\xafY\ +bk\xeb#\x09\xf6\xdd\x07cx\xa2\xed3E\x1d\xc3\ +b\xe0j2Dh\x03C\x02\xd2l\xa4\x09:\xc0\x82\ +\xc6\xe3\xcfs\x80\x85\x1f`\xa9\xb2\x82\x9dEa\xba\xe3\ +t\xae\x96&@\x18V\x82o\xec\x9e\x89)H0A\ +\x92]W\xc3\xb9]\xef\xc7E\x18;i\xc9uZ\x97\ +G\x83_\xb1\xad\xd7\xe7\xcc\xe7Z\x0d\x08\xfe]\xa0\xd5\ +\xbee*\xcbG\x00u\xabE\xfb\x05\x12\x80\x8f\x04\xfa\ +\xe3\x13\x06.\x07\x9f\x93\x02\xc5\xab\x09\xe8o\x06\x164\ +\x81\x0d\x8b\x01\xa0\xe1\xe8\xf3^\x80\xcdVrs*\x03\ +\xd1\x15:\x12\xa8M@M\xbb\x81\x06Ls\x10\x16\x1f\ +`\x92\xea\xda\x06=\xb7\xdcN\xea\x9e\xc0g\x7fc'\ +\xa0UG\x02O\xa2?\xd4\xd4\xe0\xe7\x1e\xbd\xdb7\xc9\ +\x04f\xbf\x97\xd4\x0b``\x92\x9c\x04B\x08M\x02\x03\ +fx\x0a\xd5\x14\xda' \x92vcj\xa7\xf1\x84\xc3\ +\xcf\x85\x03\xac\xdf\xdbx\xffL\x84\x1e\xaeW\xe5\xa8\xb2\ +\x090\xf3\x01`\xd6\xe39\x09D\x04A\xa67n\x87\ +\xfe[\xef\x80\xcee\x9d\xb4\xde>\x81o\xbaz\xd1\xea\ +=\x8c\x14\xf4;\x85\xaft\xeb5\xf8\x1axC\x80\xd9\ +\xa3s\x1a|\xda\x9aO\xb6\x98&\xc0\x88!'\x01\x07\ +8\xd2,h\x12\xd0\xd2\xb3\xb4\x7f\xcc\xfe\x84z\x99\xc4\ +\xe1gA\xfb\x01\xb2h\xd7/\xa0~-\xefX\x00\xd4\ +(\x10$0\x15\x0a\x15 \xa6\xa2Cz\x09\x99\xcd\xdb\ +a\xe07>\x00\xcb:\x0d\xf8\x1e\x9b\x1f\x01v\xb4\xcd\ +\xd7\x8b3\x8c\xfe=\xd9|j\xf9lv\x91&\x80\x11\ +/\xf8\xe0\x9d\xae\xcd5\xc1\xd0\xd0\x10\x91\x80\x01\xca\xc9\ +\x10M\x10M\x02*\x7f\xb7u'4K,\xc3+\xcf\ +\xfaL\xbd4\xe0\x078\xdd\xe6\x9ce\xcfL\x92\x95\xb5\ +\xeb\x05\xa8\xc4\xc5o\xdf\x03%\xbb\xe9\x1a\x18\xf9\xad\x0f\ +\xc1\xb2\x8ee\xb4\xc6?-\xc7F-\xb6\xdcV^t\ +_\xaf\xc9\xa3\xc1\xcf \xf8\xbeh#\x9f~\xe6\x11C\ +\x00W\xf2\x99;\xd4;\x18\x93H\x82?U$\xa0\x8f\ +O\xf4\x00R\x04\xc8\xfc\x18\x85\x99\x03\xfa[\xc9t|\ +\xcc\xbaKU\xa0\xfd\xd23|\xb9V.\xfc\xbc%\xaa\ +\xee\x04\xfa\xbf\xdd\x0c\x09\x05\x0b\xff\x01\x93\xfc\xe6ka\ +\xec\xdd\x1fFG\xaf\x83\xe6\xd3\x19\x9b\x1f\x0dn\xc89\ +\xa3\xf6\xf5\x9a<#\x7f\x7f\x17d\x1e\xf1\xb5|\xd3-\ +\xf5k\x02#\xa6\xf5\xb3\xe1[\xdd\xdb\xc9\xee\x9b\xe9\x22\ +\xb6\x7f\xf6\xeb@2::J$\xf0i\x01\xae\x0d\xa2\ +\xc9\xa1'\x9a\xd2\xda\xc6t|\xdc\xfaCHH\xbc\xee\ +\xa5\xa7Y\xc4\x8f\x89\xd0\xe7\xd9h`\x0dz\x01\x9a\xb9\ +E\xf0\x17\x11\x19r\xeb\x0e\x98x\xcf\xef\x91\x97O\x13\ +'\x0c\xf8\xd1}\xfb(\x82\x98\xa5\xd8\xea\xea0\xc2\x87\ +\xe0\xef\xdd\xc3\xcd\x10\x9fuD\xc9w\x91\x99\xcd\xeb\x8f\ +\xc5KO\xf4-C\x11C\x10\x141\xa4g\xd3\xb7\x88\ +\x9a\x04\xd1\x80\xf3}6\xdb\x98V$W$\xf8\xd0\x1f\ +A\x9c2_|:\xb4\x8e\xfd(\xebo%\xa0\xc6&\ +\xc0\x16!\x04\xe0\x99\x895\xeb!\xfd\xe1?\x82\xa5\xad\ +\xea\x0f:\x90\xda\x0f\x1a\xd2\x0do\xf1|\xdf\xb7\x08\xe3\ +\xd0\xdfRl\x1f\xc1\xb7\xc2\xa2\x92|\xd2\xa9\xd0\xaa\xbf\ +\xe8$\x0d\x1e}K?\xfa\x0d\x18\xc2\xedBC\x02\xbd\ +\xb61\x03:,i\x09\x22\xc1\xa9\x8f~\x1a\xec\xb1\xbf\ +\x02\xf7\xccIS?\xa1\x04\x90T\x9e\xb2\xc7\x02\xacR\ +M\x80\xf12M\x14%L\xf4\xf9\xe5\x9f\xfc\x0c,]\ +\xd6I-\xdf\x80\x1f.a\xb1u\x9f\xcd\xd7\xe0\xd3\xa8\ +^\xea\xc7{\x82m$\x14\xd5\x08|~\xa2aKh\ +\xa4s\x1aI0\xf8\xd5\x8f\x91\xbfA\xb1\x06r>\x09\ +t\x9d\x18\xd8\xc5\xf2\x83\x84\xcaCs\x1e\xd7um\x80\ +\xf6\x8f}\xaa\xbc\x857tAj\xa1\x01\xa4~\x88-\ +\xcaz\xa9U;\xdf\x0eY\x10\xa4\xa6K\x05?\xb2\xf5\ +\xeb%\xd7i\xbd\xbf\x81\xbfQ\xe0\x13\x90\xbfTI!\ +\x09\x06$\xc0\xe2\x7f\xaf4\x81Z\xbd\xccq\x9cR#\ +\x84$\xa1$\xa0\x19PK\xda\xe6\xc1\xc0\x7f\xfc\xb7P\ +\xa2\x18\xdf\xa6\x96&@x\xbfQ\x12\xd176#H\ +VK+\x9bvU:\x09\xf8*\x18z\xbd\xfd\xfe\xaf\ +\xee\x86\xa9\x1f\xed\x01;\x08|\xe9\xe9\xdf\xcf\xcew1\ +Y\xa6\xdf\xefB\xc4*\x9e\xfa\x94\xe7|r\xef7\xc0\ +\x95\x02\x96\xfe\xf9\xddz\x81k2\x07\xd1\xaa?Z\x94\ +vkp\x1d(]\x8c\x13\xa8\xa4&&\x80\x0aac\ +b\xe7\x83o\xea\xfd\xc1\xbf\x90mSj\xb2\x0ca\x95\ +\xa6\xc3\xbb\x1a\xfc\xbe\xaf\xec\x86\x89\x1f\xec\xd1x1\x80\ +\x0d\xa2\xe6\xbcK@{\xbe\xdeu\x5c\xef1%~\xbf\ +d?\xe7\x7f`\xf2\x91{\xe1\xfc\x97?\x8e\xad\xb6\x8e\ +\xb4\x1c\xbdc\x90\x16(k\xd2\x0ai\x81\xbe\x87\x1fb\ +U\x1aV\xe9\x0a\x9bj\x13\x80\x87\x82\x8bx\xf9!7\ +\xbd\xf8\xf9\xcf\xc1\xf8\xd1W\xa8@\x9a\x04\x95\x10\xc1\xf7\ +gV\xce\xff\xe7\xdd0\xfe}c\xf3\x0dH\x06H\xde\ +t=\x81\x1e\xa9\xc9`H\xe0\xfb~\x1fT\xe2\xc4\xe0\ +\xbf\xa96\x13\x0f\xe3\x12\xf0\x7f\xfdq|\xb78-\x1e\ +A$\xf0\xf9\x04(e\x83?q\xfc\x08\xbc\xf8\x97\x9f\ +\x8d\xaac#\x9ap\x16T\x99\x00&\xd1\xd5,\x0e\x10\ +\xc5N'=\x0d\xfbn\xdbuQ$ \x9bOZ\x84\ +\xc0\xef\xf9\xf2n\x18\xfd\xbf\x1a|\xd6\xea\x0d\xc8\x1ah\ +\x93\xccB\x0d\x06t\x93\xcc5\xfe\xa9V\xd2\x9f\xcc\xae\ +\xb9\x9ed\xfc\xc7\xf7BO\x81\x04\xa8\xa5\xe8\x9d\x09\x90\ +\x8a\xc0\x9f<\xde\x0d\x8f\xbf\xf7fpRS\x10j\x95\ +\xa4g#MW\xb7\xda&\x80OZ\x10\x01D\x09P\ +M\xd9\xd1\x11\xd8\xff\xbe\x9ba\xe2\xd8\xe1\xb2I@-\ +H\xdfs\xeeK\xbba\xe4\xa1=\x06`\x7f\xec\x9e\xdb\ +\x7f\x7f2$\xa0\xe4\x86$C\x16\xad\x11\xfc\x04\x01J\ +\xdc\x5c\x8c\xfd\xf0^8\xf7\xc5\x8f\xd3\xbb\x12a\xe9\xdd\ +\xcb\x07\xffD7\xd6\xd5.\xc8\x0e\x0d\x9a2\x84\x80\x22\ +\xa5\xd7A\x87\xaa\x9a\x00.\xda\x04\xc8\xa2\x0f1\x95\x0c\ +\xc5H0\x0c\x07\xb0`\x13\xc7\x03H\x10\xf1\xb7t_\ +\xfbk\x04\xff{{\x02AV q;\xcf\x01\xf7\xd9\ +~v\x8f\x01\x9f\x11(\xcc\xbf0\x84\x19\xf9\xc1\xbdp\ +\xf6\x0b\x1f\xa7w\xa6w\xa72\x94\x05\xfeA\x02\x7fx\ +\xd0<\xa6\x14\xa7\xd4\xd7M\xaf\xa1\x090\xc3\x8d\xc1\x17\ +\x9a]\xdeJ\xb2#\xc3p\xe8\xfd7\xa3\x8a;\xc2H\ +\x10\x06\xfe\xab_\xdc\x0d\x83\xff\xc78|FM{\x9e\ +\xe1\xcf\xe3\xad\x9e\x11A\x1f\xb3|c&\x98\x06a\xa4\ +)\xaa\x11F\xbe\xffux\xf5\xf3\x8c\x04\xe1\xe0\x9f\xec\ +\x86'~g\x17dF\x06\x99\xca\xd7\x19\x81Y\xae&\ +\x00\xd4\xd8\x07\x10\x04\x8c0\xf9Q/\xc8\x9c2\x22\xc1\ +\x10\x15\xd4K\x82\xd0?\xa4|\xe6\x0b3\xe0\x03\x03\xbe\ +\x90\x0c\x88\x8c\x1c\xae\xda\xf7m\x8d\x160\xa0\x17'\x81\ +I\x06h\x93\x02\xc8h\xf2\x86\x1e\xfa:\x9c\xfe\x8b0\ +\x12\x18\xf0\x93\x08\xfe\xcf\xb0N\xd2C\x83\x86\xd4!N\ +'\x9f\x17\xea%\x80\xa0\xbdZ\x98\x00\xe1_\xcd\x889\ +B\xe16\xca5eP$\xf8\xd9\x1dH\x82\x13G\xc8\ +V\xea?\x9fJ\x8e\x139z\x94\xa7\x8eO}~7\ +\x5c\xf8\xee\x9e\xd2*\xde\x0b2\xb3\xf7\xe1v\xdf\xa1\xc4\ +\xae\xd5\xe4\xe2&\x81\x83^\x9c\x1c\x83H\x82\x93\xffI\ +\x91@;\xb1TFM\x0a\x95\xa7\xc0\xbf\x1d[\xfe\xf0\ +`pc\x8a\xa8kn\x02d-\x02AR9\x19\x86\ +\xc8f\xe0\x5c\x9a\x15/\x8c#\xe8\xb2y\x81\xa6\xc5\x12\ +\x09\x86\x87\xe0I$\xc1\x9b\xef\xdf\x07\xad]W\xaa\xca\ +\xf1\xca\x89\xbf\xd8\x0d\x03\x08\xbeey*Xx+\x99\ +\x1f\xbb\xc4O\xbd\xef\x9a\x90\xafY{\x98\xcd\xab\xe7\x9f\ +\xc0\xbb\xdc\x84\x98}\x9d\x82H\xc8\x890\xf0\xbd\xaf\xab\ +k\xd6}\xe9n\x02\xdf\xd7\xbd%\x7f\x88\xea\x80l\xbe\ +O\xbcZ\x0c\x02\x9dN&\x96\xed\xa9sY\x0b\x1f@\ +\x84\xda\x18\x03\xb0,-8\x93!M\xf0\xee\xeb\xe1\xb5\ +o\xffO\xea\xf2\xa8R'O\x1d\x85\x17>z3\xf4\ +=hZ>\xab\xdc PLk5[\xae\xde\xfd-\ +\x9f\xf5\x00\xb8\x16\xe0\xa6@\xefG\x13\x81\x8e\xfb\x91\x04\ +/\xfc\xdeN\x98:\xd5\xad.t\xa6Sp\xee;{\ +\xb0\xec\xd7\x11\xf8\xe6Zo5\x85;\x80<\x82\xa9\xf1\ +\x11\xa2z\xa1`>\xa3'\xa8\x9b\xc1[\xbd)\x8ci\ +mRp\xbf!\x8f\xc0\x1f\xfe\xf3\xbb\xa0\xfb?\xdc\xe5\ +\x1f\xc3\xb7\xbc\xd3\xb4\xb8\x160\x1e\xb0\x09\xeb\xbafm\ +T\xad\x91\xf8\xa4\x067\x8a\xf0\x5c\x0bpRq\xf3\xe2\ +\xbf\x9e\x13c\xec\xe9\x03\xf0\x8b\xdf\xdc\x0d`\x9ei\xb9\x851\xfdb\ +\x5c\x95&\x83OV\xf5\x1bY\xd7\xa7b\x03}\x01\x9e\ +\xe7M\xe5\xf5\x18\x8c\xc9\xe1`s3\xca\xbb\xdbFD\ +\xd5\x09\xa0+H\xbf\xac\x8cx\x86\xbe\x96\xb5x\x1f\xf0\ +\x02\xbc\x05\x0c\x03^\x83l\xde\xc3\xd2\xe7\xe9'\x8d\xba\ +W\x22\xe8X\x14\x88 \xbd\x1a\xc0\xcff\x8b\x03oZ\ +\x9d\x8f\x00Q\xa6\x80\xfb\x1f&\x85\x82n\x12\x037\x5c\ +\xfdK_\x0c\x22*2D\xc7\x15\x10\xc0.hm\xfd\ +\x97\xc2tH*=\x99\xa1\x85\x9f\xd5\xd2\xadN\xd6\xfb\ +\xde\xbc\x95\x9a\x93\x9c\x9dRFy\xf6Av\xdeoB\ +,/\x09\xf4\xb1!\x82\xe9\x91\xd0\xbe\xf0\xbc\xd6\x0cA\ +\x98\xb8\xb3[\x17\x07\xd4\x98\x80`m\xc0\xbb\x9f\xa5\xf5\ +\x18\xfc\xf7\x82I>\x82\x05\xa8\x7f\xc2\x84\xb0\xc9 F\ +TX\xa1\xca,\xf5\x8c&I\x98\xe6K!\xc0\x08\xa6\ +%\xfa},\xcb\x8d\xcfk\x81x\xbc\x1e\xa4\xe3\xc0\xf4\ +h\x16\x1a\x97\xb4B]k=\xe4RY\xd0\xe2k\xb5\ +\xc6\x8eF\xdby\xc9\xc9`\xfc\x03\xaf\x9d7\xe7\x8c\xba\ +\xf7\x93@\xa8\x8b\x02\xbb}\x85\x8a0\x8e\xa0`<\xf5\ +\x1f\xb8\xe1\xddB\xee\x17\x84\x98\x00(\xa3\xc7 C\xba\ +z|P\xcaH}[#4u\xb4\xc1\xd4\xf0IH\ +\xe0\x88\xa4\x93\xcbA>\x9fQE)\xf0_\x8e\x94B\ +\x80.\xbcat\xe6\xb7\x1d!e>^_\x97mh\ +_\x94\xb0h\xfa\xb6h\x05\x22\xc4\xa2-\x9d\x90\xec\x9f\ +\x00#e\xday\x19\xa0\x05\x14\x90\xdc\xf37\xde\xbd\xfe\ +y?\x09\x84>6\x7fj\xc6 \xa8\x89\xc1\xfe\x22Y\ +\x88\xb8\xcc\x170+\x81\x1bR\x98\xae`HWT\xb2\ +\xf1\x06\x16J.\xcb?0\x04\xf3\xaf\xdb\xb0\xec\xba\xb5\ +\x10on\x80\xf1\xa1\x8c\xfa\x9b\x0dnr\x12,\x07\xa8\ +\x95\xe6\x08KL\x92\xb0\x8d\x8c\x03\xd0\x1d\x85^J\x1e\ +\xa4L\x0b\xd7MZu1\xb5\xfc{v\x1a`\xf0\xf8\ +8t\xdd~\x0d4-n\xf1c\x1e\xf0\xb2A\xf6\xcf\ +\x0d\xa9\x18\xa9\x13\xef{s\x1b\xecz\xce\x05l)9\ +\xe682928D,\xdd\x90V\xaf\xaf\x09\xf2\x0f\ +\xd8\xe8e\xb4\xcf\xc0c(\x9c\xc4\xad\xcb\xdba\xfd{\ +\xf1;\xcbg{!9\x9aQ\x84\x90\xe0\x92)\x9f\x14\ +\x00\x19\xc2\x920\xcd\x96\x12\x08\x1a\x9bQ\x0bn\xe1\xc6\ +);\x9d~U\xda\x16X\xf5\x0924\xd0\xfb\xc28\ +\xc4\xdb\xe6\xc35\x9f\xde\xe9!A\xa8\xf3\xc2\x0b\xc6\xae\ +\xe1]%7X\xdd\x9a\xfd\xc0\xf0\xad\xc9s\xf8~t\ +\x92\x0cx\xbe\x0d\x18k\x08xw^\xbe\xa0\x14@\x04\ +\x17\xf85$-\x08\xfe5\x7f|\x0b\x1e\x0b8\xf2\xd8\ +\x19R\xa7\x0aU\xc7\xc9C\x03\xc0\x19\xc2\x90\xb0$L\ +\xc7J1\x01I\x00\xd9\x86\x8cq\xf1&\x010\xd1\x94\ +J?;\x95Ln\xafokC\xfcQ\x0bL\xb9p\ +\xf2'\x03\xb0\xf6\xed\xab\xe0\xa6/\xdf\x06G\x1fx\x16\ +\x06_\xee\x81\xccD\x9aj\xc7\xf7\x19\x16%\xf3e\x0e\ +\xdf\x82\xa0\xc4\xaf\x05\xb3\xef\xbb\x06\x84?Iu\x9d\xc7\ +\xc9\xa3-\x1dz\x8f\x85\xdf!\xf6\xafO\x10\xc0_\x9f\ +#hH\xaa\xb6\x96\xc9S[\xcb\xe4{;\xee\xa2p\ +\x9d\xa0\xe4\x9a{\xa0p,<[\xcb\xf57\x08\x97\xf2\ +\xcd\xbd*Y\x9e\xdf\xb6m\x0b\x12\xf3\x1a`\xc9\xd6\xcb\ +`\xe3\x07v`F\x0c\x9e\xfc\xc6K05\x92\x06+\ +n\xa3\x7f\x96\xc6\xdf\xc8\xc3\x02\x17\x9e\x05\xc4\x90\xb0\xc4\ +\x94'l#\x09@\xc1\xca\x9b\x94\xbaP\xac\x19_\x99\ +\xcd\xef\x7f\xb1\xbf\xff}\xce\xd2\xa5\x0b\xe3M\xcd\xca\x10\ +\x8f\xf5&\xe1\xe5\x7fI\xc1\xf2m\xf3a\xeb'w\x81\ +3\x91\x84\xa9\x0b\x13\xe0d\xf2Xp\xbe\x02\x16\x89e\ +\xec\xb5\xb9\xc6\xf7\xa1\xa6\xf7>\xbe\x8a\x18\x04]\xe3\xcd\ +\x9f\x0d0\xe5W\xd2O\x96E\xc2\xae\xc5\x8e\x8b\x13\xc5\ +\x10(\xe0X\x93\xc7\xdc\x17\x14\x80*\xfe\xdbv\x22\x06\ +\xcd\xd8\xf2\xed\x86z\xe8y\xbe\x0f\xba\x1f?;\xa3\xfa\ +\xd1T;\xa9\x0cd\x93IH\xb80\xb8\xd6\x85\x83.\ +b\x98G,\x13\x00.a[\xd27\x1d\x8f\xcf`R\ +\x87\xff\xb4\xbb\x00\xab_\xb5\xc5\xed#\x9d\x1d\x9fZ\xb2\ +e\x8b\xb0bqp\xe8\x0f>d\x90\x22\xa8fb\x09\ +\x89\x0c\x1e\x85\x96\xc5MP\xd7\x5c\x07B\xd7z\xd4W\ +C\xc2l\xf8\xb5\xfc\xbc\x14\x81\xd7F\x03,\xa0r\x99\ +\x0d~h\xd4\x8d_\xc3\xaf\x8f\xf8=\x19\x1e\xdcs]\ +\x09\xf9\xb4\x03\x99\x14\xc0pO\x12Rci\xd5U'\ +'\x9d<\xff\x89\xbe\xf3\xa8\xa5\xa7\xe4Z\x07\xfe\xf1\x0a\ +\x17\x1e\xb4\xd0\x0c\xb83\x9d\xbb\xccN\xbc\xbd\xa48\xc0\ +\x01\x00\xf9\x0e\x80\x9c\x03\x90\xc4;.\xacr\xe4#\xc9\ +\xbe\xfe+\xfa\xa4{k\xfb\xe5\xab\xc1\xaa\xabC\xecs\ +\xea\xafW\xa6\xc6\xd30\xf6\x1a\x9a\x80\xe4DTC\x0a\ +>_\x85\xebd\xc5\xe7\xdexB\x7f\x94\xab\xbe\x15M\ +\xb2m\xab$\x10\xfc\x5c\x12\xc9\x80\x83k\xd9T\x0a\x16\ +\xb9\xf0(\xb6\xfe\xbd\x80\xd8Y\x88a\x1c\xb1|4\xa0\ +\xa8v\xb1\xcc\xfd\x98\xde\x87\xa9\x19@N\x93C\x88i\ +\xb1+\xcf\x0c\xa7\xa6\xe6\x0f\x8f\x0c\xafqs9\xd5\x1e\ +]\xc7Q)7\x9d\xc24\xcdg\xab\x5c\xe2\x04\x90\xf0\ +\xc6\x14\x9b\xbe\xb5\x88\xc7@\xd2\x7f\xf9<\x06\xe8& \ +5:\x8c\x9a!#\x09\xfcm\x0e\xfc3\x00\x9c\xcd\x03\ +\x0c6\x02\x9e\x02p\xee\x0c'\x00\x97+\x00\xe4\x22\xdc\ +\x92\xed\x903}\xc9\xecR\x17\x8e\xa1\x9a\x19\x1d\x9e\x18\ +_=5>\xd6H\xb6&\x8b\xe0\xe73\x19p\xf3\xb9\ +\x80\x0a\xad}\xe5K\xf8u\x17>\xfd\x1b\x1b!:{\ +\xd3\xa8y'!\x97\x9e\x86x\xde\x1d\xbc\xdc\x85{6\ +\xbb\xf0-\x02\x9fZ\x7f\x0c \x99B\xec\x9eB\x0c\xf7\ +Wb\x1d\x1f\xc7\xf3\x13\x00V+\xf2@\x024\x09\x80\ +v\x0a\x14:\x00\x9dg,\xb8i\xd4\x82k\xa6\x01V\ +;\x02\x9a]\xbc\xa6V\xa0\xc9\xaa\x9f\x7f\xe3\x13\xc7\x02\ +\xc8\xfe\xbf\xf6\xce %b\x18\x0c\xa3/I\xe9\x8c\x8c\ +\xcc\x0c\x1e\xc1\xa5\xa7\xd0\x8d\x9e\xc0\x03x\x12\xebI\xbc\ +\x95\xcb\xd9\xb9\xb48Hal\x9b\xc4/\x18A\x17\xe2\ +\x14\x1dWy\xf0\xb6%\xe1\x0b\xfc\xc9\x1fH+x9\ +\x8al\xd2n?m\xf8\x1c<\xa6\xe0#\xb4\x06:e\ +\xd7/!\x5c|?\xd5\xbd\xeev\x8c\xea\x87]A5\ +\xc0|\x84\x14\xf6\xcaJ`i`\x11a\x06T\xd2Q\ +\xf8\x0f\xbc\x1c?z5\xf9\xa8\xb7\xb5\xb2z\xaf\xf9\xbb\ +-\x8c\x97\xb9\x0d\xfc\xab\xdb@\x03\xf1\x1a\xc2\x0d\x0ck\ +\xf0#\xf4@g\xe1)\x05\x9f49\xfc\xf0\xe9\xb7\xbf\ +\x14\xfe\x1c\xf3\xf513\x1f\xf3\x22H\x06\x89t0\xb4\ +\x10\xee!^\xc9\x9f\xbf9\x81\x06\xcc\xadT=\xb1\x1d\ +\xb8\xb9\xac\xc1\xbeJ\x97{5\x1eLO\xe1\x10\xd4\xd2\ +A\x0c\x80\x878\x83\xd0\xcb\x1d\xf8\x85<\x87p\x07\xb1\ +\x91\x13\x16\xd5t\x1ay\x06\xe6X\xae\xf3\xc06)x\ +yB\xe1\x90\xb4\xb2\x86x*{\xe09wo\x1fd\ +C\xa1P(\x14\x0a\x85\xc2~\xbc\x01\xc5\xf3\xa3!\xeb\ +\x0d6:\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00<\x0e\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x80\x00\x00\x00\x80\x08\x06\x00\x00\x00\xc3>a\xcb\ +\x00\x00\x09\xediCCPICC Prof\ +ile\x00\x00x\x9c\xad\xd6gTS\xd9\x16\x07\xf0\ +\xff\xbd)\x84\x04B\xef- \xddP\xa4Jo\x8a\x0d\ +\x18D\x14\xb0\x02!4)\x11\x82(vP\xb0\xa1`\ +W\xb0+v\x05\x95Q\xc7\x8a\x0a\x22\x8c\xa24\x11Q\ +, 8\x22\x1d\x0b\x82y\x1f\x82e\xd6\x9bY\xef\xcb\ +\xdb\x9f\xf6\xd9k\xdd\xb3\xce\xf9\xed}\xd7:\x80\x94b\ +\x98@\x10G\x02\x88O\x10&\x05L\xf0\xe4\x04\x87\xcc\ +\xe4H\xd4\x81\x0a5H\x03\xb0\x0f\xe3%\x0b<\xfc\xfd\ +}\xf0\xaf\xf1\xb1\x1e\x04\x00\xd4\x98\x85\x09\x04q\x89G\ +\xa3\xab\x11\x97\x97\xa9\x92\xe3\xc2\xe9\x9f\xab\xfb\xf8\xdf\xbf\ +\x03\x00\xb0\x93\x82Cf\x02\x04\x17\x80b\x948w\x07\ +\xa0\x18.\xce\x03\x01(\xa6\x0a\x05B\x80\x88\x06\xa0\xc8\ +\x8b\x0e\x8b\x00\x88\xa5\x00\xb8I\x81\x01^\x00q\x1c\x00\ +;J\x9c_\x06\xc0\x0e\x17\xe7\xe5\x00\xd8\x0byQB\ +\x80h\x00(\xf2\x09\x111\x09\x00\xb5\x03\xa0\xbbF\xf0\ +\x93y\x00\x8b\x0b`^D2/\x1e`m\x04`\x19\ +\x1f\x9f\x18\x01\xb0\xae\x010\xe6\x09\x92\x84\x00\xab\x05\x80\ +Yp\xc8L\x8e\xf8\xc8\xe1\x91\x80u\x08@\x1e\xffY\ +\x9b/\x05\x14i\x02\x8a5?k&\x11\x80F\x01p\ +\xf5\xc4\xcfZ_\x00\x08\x00\x84rUr\xa4\xb5\x15\x00\ +\x80\x90\xf2\x04h/D\xa2>C@b\x0b0\x9c+\ +\x12}=$\x12\x0d\x1f\x06(M\xc0\xad8^J\xd2\ +\xc2\x11/\x82x\x00\xfc\xaf\xb5\xf8\xce#A!\x00\x02\ +$\x95\xce\x90dI\xb1e\xe4\xe4\x15\x94\x94U\xd54\ +4\xb5u8z\xa3\xf4\x0d\x8d\x8cMGs\xcd-,\ +\xc7X\xdb\xd8\xda\xd9\x8futrvqus\xf7\xf0\ +\xf4\x1a7\xde{\xc2\xc4I\x93\xa7\xf8\xf8\xfa\xfd\xe6?\ +5 p\xfa\x8c\xa0\xe0\x90\x99\xb3\xe6\xcc\x9d\x17\x1a\x16\ +\xce\x8b\x88\x8c\x8a\x8e\x89\x9d\x1f\x17\x9f X\x90\x94,\ +LY\x98\xba(m\xc9\xd2e\xcbW\xac\x5c\x95\x9e\xb1\ +&3k\xed\xba\xf5\x1b6fo\xca\xc9\xdd\xb2u\xdb\ +\xf6\x1d;w\xed\xde\x93\x97\xbfw\xff\x81\x83\x87\x0e\x1f\ +9Zp\xec\xf8\x89\x93\xa7N\x9f9{\xae\xb0\xa8\xe8\ +\xfc\x85\x8b\xc5\xbf_\xba|\xe5\x8f\xab\xd7\xae_\xbfq\ +\xf3V\xc9\xed;w\xef\x96\x96\xdd+\xbf_QQ\xf9\ +\xe7\x83\x87UU\x8f\x1eW\xd7\xd4\xd4\xd6\xd5\xd5?i\ +hx\xda\xd8\xf8\xac\xa9\xe9\xf9\x8b\x17\xcd/_\xbez\ +\xfd\xfaMKK\xeb\xdb\xb6\xb6\xf6w\xef\xfez\xff\xbe\ +\xe3CggWwwOo__\xff\xc0\xc0\xc7O\ +\x9f?\x7f\x19\x1c\xfc:44\xfc\xed\x9b\x08$\x95.\ +!\xc9\x94\x92\x96\x91\x95WPTVQS\xd7\xd4\xd2\ +\xe6\xe8\xea\xe9\x1b\x18\x1a\x9b\x98r\xcd\xcc-,\xad\xac\ +ml\xed\xc6:\xfc\x1b\xc0\xb4\x11\x80\xd9#\x00\xfc\xef\ +\x00\x89?\x00\x16\xff\x00X\xbd&3k\xed\xfa\x0d\x1b\ +\xb37m\xfeE \x7f\xef\xbe\x7f\x10\x18\x01\x10\x0b\x88\ +\x01\xee\xfc\x0d\xe0\xd1\xe3\xc7\xd55\xb5\xb5u\xf5\xff\x08\ +\xd0\xfa\x03\xa0C\x0c\xd0\xd3\xd3\xdb\xd7\xdf?\xf0\xf1\xe3\ +\xa7\xcf_\xbe\xfc\xbc?\x85FgH2Y\xd2l\x19\ +Yy\x05E%\x15U5u\x0dMm\x1d\x8e\xae\xde\ +(}\x03#c\x13\xd3\xd1\x5c3s\x0b\xcb1V\xd6\ +66\xb6v\xf6c\x1d\x1c\x9d\x9cG$~\xa5\x10\x0f\ +\xc3w\x8cY\xb3\xe7\xcc\x9d\x17\x1a\x1a\x16\xce\x8b\xf8\xe1\ +\x91\xf0\x0bH\xda\xdfE\xd6\xfdB\xf2}&\xbe\x93\xfc\ +\x93\x89\x98dd(J\xcb\xee\x95\x97\xdf\xff\x95\xa4\xae\ +\xfe\x89\xd8\xe3\xf9\x8b\xe6\x97\xaf^\xbfii}\xdb\xd6\ +\xfe\xee\xaf\xf7\x1d\x1f:\xbb\xba{z\xfb\xfa\x07>~\ +\xfe2\xf8uh\xf8\x9b\x08\x10\xff\xfb\x00@\xb7\x03\x0e\ +'\x003\x98@\xe0!`{1`\xe4\x04\xa8t\x01\ +\xfe\xd2@\xa0\x03\xc8dk\x90\x91\x91 U\x98\xa0\x10\ +\x00\x09\x80\x00\x05tHB\x06\xca\xd0\x81)\xec0\x0e\ +\x81\xe0#\x15\xeb\xb1\x0f\x17Q\x89\x16|#\xd4\x09{\ +b:\x91Ll%\x8a\x89\xa7\xc47\xd2\x80\xf4%\x17\ +\x92\xfb\xc9J\xf2\x0b\xc5\x84\x12B\xd9@\xb9I\xe9\xa7\ +r\xa9\x11\xd4\xbd\xd4\xa74UZ\x10m7\xad\x89\xae\ +G\x8f\xa6_\xa0\x8b$|$\xf6Ht0<\x18\xbb\ +\x18\xbd\x92~\x92g\x98l\xe6\x02f\x03\xcb\x8bU(\ +\xa5-\xb5I\x9a\x94N\x93\x1e`'\xb3\xfbdRe\ +\x86e3\xe5\xe4\xe4\x0e\xca\xdb\xc8W(\x84+|S\ +\xdc\xad\xa4\xaftJ\xd9J\xf9\x9a\xca\x04\x95\x1a\xd5p\ +\xd5~\xb5u\xeaZ\xea\x175|4Z5\x97i\xa9\ +h\x15k\xfbkw\xea\xe4pl8\x8d\xba\x19z\xa3\ +\xf5\xaaG-\xd5\xb7\xd0o2\xd8h\xe8b\xd8it\ +\xd08\xc8\x84mRj\x9a>\xdak\xf40\xf7\xba\xd9\ +\x0as\x0f\x0b\x9aE\xa5\xe5\xb61s\xac\x8c\xacz\xad\ +o\xda\xe4\xd8\x86\xdb\xd9\xda\xb3\xec_\x8f\xbd\xe2\xb0\xd9\ +\x91\xef\xe4\xe2\xac\xe5\xfc\xcd\xa5\xd9\xf5\x86\xdb\x01\xf7\x0c\ +\x8fH\xcf)^\xd6\xe38\xe3e\xc7\x0fywO\xa8\ +\x9fxo\xd2\xed\xc9%Sn\xfb\x94\xf9V\xfa=\xfa\ +\xad\xce\xbfi\xea\xbb\x80\xaf\x81r\xd3\x8df8\x07\x05\ +\x06\x0bB\xb2g\x9e\x99U3[4\xd7b\xde\xbc\xd0\ +\x9c\xb02\x1e\x19\xe1\xc6_\x12y5\x9a\x12\xe3\x1f\xbb\ +w~w\xfc\xe4\x84<\x01\x16\xf0\x92\xca\x84\x96)\xfb\ +S\xe5\x16\xadMc,Y\xbetp\xf9\xca\x95\xccU\ +[3tV_\xca\xf4\xc9j^\xb7d\x83\xd6\xc6\x92\ +M\xc1\x9bE\xb9\xa7\xb7\xce\xda.\xb1\xe3\xcc\xae]{\ +\x8a\xf2_\xef\x97=\xe8|Xp\xf4\xd8\xb1\xfa\x93\x92\ +\xa7'\x9d\xcd.,=/*\xf6\xba\x94~\xa5\xf2\x9a\ +\xec\x8d\xa0[Gn\xf7\x97z\xdc\xcb\xbd\xff\xf2O\x87\ +\x87\x1b\x1e\xbd\xa9\xb1\xad\xdb\xf2\xa4\xb71\xa0\xe9r\xb3\ +\xda\xab\xb47/\xde\xfa\xb7\x97\xbc\xb7\xfeP\xd0m\xd4\ +\x9b7\xa0\xf4i\xd7\xa0\xee\xd0S\x91\xe8G\xff\x99\x90\ +\x81\x0at\xc1\x85\x03&\x22\x04\xb1X\x8a\x1c\x14\xe0\x1a\ +\xea\xd0E0\x09c\xc2\x9b\x88 V\x13\x05D\x05\xd1\ +E*\x93\xaed4\xb9\x85\xbcAvP4)\xbe\x94\ +\x15\x94\x0b\x94v*\x87\x1aL\xddB}Hc\xd3\xfc\ +h\x9bi\xb5t\x0dz8\xfd4\xfd\xb3\x84\xb7\xc46\ +\x896\x863c\x1b\xa3Sr\x8a\xe4\x09&\x8b\x99\xc0\ +\xacgy\xb0\xceJiIeK\x13\xd2\x8b\xa5\xfb\xd9\ +\xc9\xec>\x99\x852C\xb2k\xe4\xe4\xe4\x0e\xfc\xcf\xee\ +\xfbj\xb4j.\xd7R\xd1*\xd6\x9e\xaa\xdd\xad\xb3\x85\ +c\xc7y\xae\x9b\xa9g\xa1\xf7dT\xba\xbe\x9d~\xab\ +\xc1\x0e\xc3\x89\x86_\x8d\xce\x19G\x9a\xe8\x984\x9a\xee\ +\x1e\x1d\xc2U\xe2>3;h\xce\xb7\xe0Z|\xb4\xbc\ +=&\xc7j\xae\xb5\x99\x0dl\x9e\xd8\x9e\xb4\xcb\xb4\x0f\ +\x1f\xeb\xea\xa0\xee\xf0\xd1\xb1\xd6\xe9w\xe7|\x97\x0c\xd7\ +X\xb7\x00w'\x0f#Oy/x\xf5\x8e\xeb\x19\xff\ +\xca\xbbi\xc2\x83\x89w'\x95L.\x99R\xe2s\xc7\ +\xb7\xdc\xaf\xf2\xb7*\xff\xda\xa9\xcd\x01\x9d\x81\xc4t\x85\ +\x19\x06A\xf6\xc1\xfe!\xd13\xd3g\x1d\x98]:\xa7\ +k\x9eF\xa8{Xt\xf8.^=\x9f\x15\xe9\x12\x95\ +\x16}=\x16\xf3\xc7\xc7\xe5\xc4\xbfH4\x17\xa4/h\ +H\xb6\x12\xe6\xa6\xf4\xa7\x86,\xba\x95f\xbad\xff2\ +\x85\xe5\xd9+\x99\xab\xb22(\xabWe\xb2\xb2\xf2\xd6\ +\x19\xaf\xbf\xbc\xd1/\xfb\xfd\xe6\x0d\xb9F[J\xb6\xf1\ +v(\xee|\xbe\xfbI>}\x9f\xcd\x01\xfe\xa1\xddG\ +\x1e\x1c\xa3\x9cp<\x15\x7f\xe6\xf4\xb9\xb6\xf3\xdc\x8b)\ +\xbf\x17_\xfer\xd5\xf9\xfa\xea\x9b\x8fnk\xdd\x0d+\ ++*\x1f\xaa\xf4{\x90_\xf5\xa1\xda\xb3vg\xfd\xdb\ +\xa7\xf6\xcfr\x9e\xb7\xbet{\xbd\xa3\xe5C\x9b\xef\xbb\ +\xfd\xef\xbft\xce\xe8\xbe\xde\xa77\xb0\xf6S\xd7\xe0\x9c\ +\xa1\xee\x91\xfe\x93`A\x16\xca\xe0\xc0\x1c.\xf0C8\ +R\xb1\x09\x05(\xc1\x0b\x0c\x13\xda\x84;\x11A\xac#\ +\x8a\x88&\x92A\xda\x91Q\xe4N\xb2\x92BR\x9c(\ +)\x94\x22J7\xd5\x8a*\xa4\xfeA\xa3\xd0\xfchy\ +\xb4\xf7tW\xfa6z\x87\xc4\x04\x89\xa3\x0c:#\x96\ +Q-\xe9*y\x86\xa9\xc3\xdc\xc1\x92eeKIK\ +m\x96V\x92>\xc4\xb6f\x97\xc9\xcc\x91\xf9,\xbb]\ +\xceN\xaeI>K\xc1N\xa1]1_\xc9K\xa9Y\ +y\xad\x8a\xb9J\x83\xea\x1a5;\xb5v\xf5|\x8di\ +\x9aL\xcd[Z\x8b\xb5m\xb4\xbbu\x0a9\xc9\xba\x8e\ +z\x14\xbd{\xa3r\xf5C\x0d\xcc\x0d\x86\x0d+\x8d\xf2\ +\x8c\x13L})\xe6\x8a\xe9\x1f\x8d\xd7\xf2n\x04\xddR,\xa9\ +\xbd\xb3\xbdt\xfa=\xa5\xf2\x9a\x8aM\x7fNy\xc8\xac\ +*{\xbc\xa8\xc6\xaa\xb6\xbd\xfe`Cp#\xfb\xd9\x8d\ +\xe7\xf3\x9b\xd5_V\xbc\x16\xb6\xa8\xb6\xdeh\x8b}\xc7\ +\xf8\xebP\x87\xf7\x87\x97]Kz\x94zO\xf4;\x0c\ +T|\x9a\xf5\xb9cp\xed\x90\xeap\xa3H\x04\x88\xdf\ +\x8b\x00\x00Z\x8co\x18\x0f\xff\xe7\x88\x8fK\xf9\xbe'\ +\x09@\x8a\x9f0}\x1a\x00\x06\x00c\x81\xd0?\xf0{\ +\x8e\x18\xf8\x22\x0c<\xf1;\x15\x00\xe8\xb2@\xbe\x11\x00\ +\x5c\xf6M\xfa\xaf}\x85\xfcEB\x00\xf0J\x14,N\ +\x8a\x89\x8a\x16r<\x04\x828>\xc7+1^\x90\x22\ +\xe4'q9\x93\x12x\xe6\x5c\x8e\x95\xa5\xa5-\x00\xfc\ +\x07\x8f\x08\x91L8\xcf\x9b\xb0\x00\x00 \x00IDA\ +Tx\x9c\xed}y\x9c\x5cU\x9d\xef\xf7\xdc\xa5\xf6\xad\ +\xbbz\xdf\x93\xce\xbe\x07\x0cc\x10\x95\x00\x03\x08\x88\xe8\ +\xa0\xbe,\x84\x04\xf8\xa08\xce<\x9e\xcb\x88\x06\x12\xc0\ +\x91y\xbc7\x8e\xa3\x83\xdbg\x06\x01\xc5\x04d\x10|\ +\x82Q\x90@p\x09\x88\x06!\xa1\x93\xd0\xdd\xe9\xee\xa4\ +\x93\xde\xbb\xab\xba\xba\xd6[u\xef\xfb\xe3\xdcs\xb7\xba\ +U]\xd5I $\xf9}>\xf7S\xd5\xb7\xef\xbd\xe7\ +\xdc\xf3\xfd\x9e\xdfv\x96\x22\x00\x88\xa2(\x0a\xce\xc9Y\ +)\x1c\x00\x10B\xc8\xbb]\x91s\xf2\xee\x08Q\x0fM\ +\xcei\x83\xb3K8\xeb\x89s\xda\xe0\xec\x92<\x02\x00\ +\xe7Hp6\x89-\x01\x80s$8[\x84+f\xf2\ +\x09!\xe4\x89'\x9e\xe0\xdf\xc1\xfa\x9c\x93wX\x88\xa2\ +(\x04\x00\xac\x1d~\xdb\xb6md\xf1\xe2+\x9c\x92+\ +\xed\x05\x17\xcf\xad\xbb\xfa\xea\x89w\xa5\x86\xe7\xe4\x94\x8a\ +F\x00@'\xc1\xb6m\xdb\xc8G?\xfaQ\x17\x17\x08\ +xG\x06\xc6}S\x93R \x97\xcb\xa4>\xf9\xb1K\ +\x0e\xbdk5='\xa7DL\x04\x00\x80'\x9ex\x82\ +[\xb4\xe8\xc3n\xb7[\xf1&ri\x1f\x0790>\ +6\x15\x1c\x1d\x9f\x08)\x8a\xa2\x1c\xed\x8e\xff\xfa\x1f\xff\ +\xf1#\xe9w\xab\xc2\xe7\xe4\xe4\x0a\x01%\x01\xfb\x9b\x03\ +\xe0\x89\xc7\xe3\xde\xc1\x89\x84\x1fr6\x90M\xe6\x82\x92\ +\x92\xabH'S\x15\xc7\x87F+r9\x85\x83$o\ +\xbf\xee\xba\x0f\x1d=\xa9\x159A\xa7\xf3\x5c\xfebf\ +\xa2%\x82^|Q\xe1/\xbe\x18^\x00^\x00~\x00\ +\x81\xe3\xc7\xc7BYE\x0e%\xe2\xe9\x0aE\xc9V\xa6\ +R\xd9\xca\xc1\xe1\xb1j)+\xb9\xb9\x1c~p\xcd5\ +\x17\xbd4\xa3B\x8b\x83=\x13\x22\xd8\x82\x7f\x8e\x14\xd3\ +\x0b\x01@\xf6\xef\xdf/z\xbd^OMM\x8d\xd7\xe3\ +\xf1\x04\x00\x04\x00\x84\x00\x84\x86F\xa3\x15R&S\x99\ +\x88\xa7\xc3\x92\x9c\xab\xcaf\xe5\xea\xa1\xa1\xd1\xea\x8c$\ +\xd5\xc8P\xfe\xf5\xda+>\xf0\x1f%\x17f\x06\xde\x0a\ +4\xb19_\x88\x0cV`\x95\x02\x9f\xf4\x8fsD(\ +(\xe4\xa1\x87^t-ZT\xeb\xf5z\x9d^\xbf\xdf\ +\xe3\x0f\x85\x82\x81@\xc0\x1d\x02%@%\x80\xca\xf1\xf1\ +X8\x99\x96\xaa\x92\xc9du:\x9d\xa9V@jF\ +\xc7\x22\xd5\x89D\xca!+\xca\xc3\xd7\x5c\xb1zs\xc1\ +\x02\xf2{\xbb\x11hb\xf3\xb7\xf1\x9a\xe9\xc4\x08\xacl\ +9g\xfd\x9b\xfeq\x8e\x0c&\x11\x1c\x8e\x98/!\x87\ +|.\xde\xe9Oe3\xa1\xc9\xc9\xa9@\x0e\xb9\x8a\x8a\ +\x80\xaf\x02@\x18@\xb8\xb2\xd2_\x15\x9dLTs<\ +\xaay\x9e\xab\x89\xc7S\xe1p8$\x8aB\x0c\xd1X\ +|\xd3\xb3\xcf\xedi\x93\x12\xe9\x8f_w\xdd\xc5\x11\xa0\ + \xe8V\x809\x9b\xff\x99\xce\xbf\xf5V\xd7EZE\ +\x85\xfc\xca?\xf5\xd4\xb3o\xdeq\xc7\xff\x8c\x80\x82\xac\ +\x80\x82\xce\x00fe\xb1\xf3\x00\xa0\xb0\xba\x9d#\x02\x15\ +\xf2\xe0\xcf~U\xed\x17\xf9\xc6\xc6\x86\xba@(\xe8\xaf\ +p8\x5cA\x97\xd3Q\xe9p\x88\x955U\x810\x80\ +jv$\xd3\xd9\x9a\xc9\xc9\xa9\xcatF\xe2c\xb1\x04\ +dYF<\x91D$:\x05YV\xfe\xaa(\xd9\xcd\ +\xd7\x5cq\xd1\x1b\xc6\xe7\xc3\x0c4g\xf7\xf9\xd4SO\ +\xb5\xae\x5c\xb9\xeaC\x1e\x8fw\x89\xd3\xe9Z\xeat:\ +\x96p\x1c\x17,Zq\x03\xc5dY\x8ef\xb3\xd9}\ +\xe9t\xea\xf7\xd1h\xf4\xcdg\x9eyn\xf7?\xfc\xc3\ +-\x11P\xe0\x19)\xac\xc79\x12@\xedu?yr\ +g\x9d\x87w\xbf?\x14\xf6W\xd4VUV\xb8\x9cb\ +\xa5\xdb\xe9\x0a;\x5cbUUe\xa0\x1a@\x8dz\x84\ +\xa4\xac\xc2E\xa31HR\x0e\xe3\x13Q\xe4d\x05\x19\ +I\xc2\xe8X\x14\x8a,G2r\xf6\x13\xd7]y\xd1\ +n\x14\x00\x1b\x00\xb7z\xf5U\x95\xb7\xdf\xfe\xf9\x0f\xae\ +Zu\xde\xd5UU\xa1%N\xa7s\x89\xa9R'\x98\ +\x84&\x04\x90$i_,\x96\xf8\xe9\xbe}\x7f\xfe\xe5\ +e\x97]\xd6\x033\x194Mq\xb6\x93@S\xcb;\ +~\xfe\xfc\x5c\x87\xc3yeE\xc0__\x13\x0eU\x89\ +\xa2P\xe5\x0b\xb8k\x04\xc2WWV\x85j\x04\x0e\x01\ +vm.\x07\xc4\xa6\x12\x90\xb2Y\x8c\x8cE \xa5%\ +\xc8\x8aB\x09\x91\x95\x91\xc9H7\x7f\xf4\xaa\x0f<\x0a\ +\x0a:\x07\x80\x07\xc0m\xdd\xfa\x1f\x1b\xd6\xac\xb9\xf0\xea\ +\x05\x0b\xe6|$\x14\x0ah\x95\xe0\x0a\x8eH\xd8Tx\ +\x06\xe4\x90$i\xdf\xd8\xd8\xd8}--\xf5O#\x9f\ +\x08\x00\xce^\x22\x98\xe6\x03\xfc\xecg\xbfmp\xfa\x5c\ +_u:\xc5\x96\xc6\xba\xeaj\xd1!\xd6\xf8\xbc\x9e\x1a\ +\x87C\xf0\x05\xfd\x1e8\x1c\xba!V\x14`2\x96\x80\ +$e119\x85\xf8T\x029Y\xc1\xd4T\x02\xe9\ +T\x06\x99l\xfa\xd1\x8f^\xf9\xc1\xcf\xad^}U\xe5\ +'?\xf9?\xfe\xfe\xa2\x8b.\xb8u\xee\xdc\xd6\xa0\xd3\ +\xe9\xccK;\x17\x93\x93I\x8e\xe1\xe1\xa1\xdb\x9a\x9a\xea\ +~\x0c \x87|\xf3pV\x92 oB\xc8\x8e\x9f\xbf\ +0\xdb\xe7r\xdd\xebp\x88\x1f\xa8\xae\x0e\xd5\xb8\x5cN\ +w0\xe0\x87(\xf2\xb0#\xc1T2\x83lF\xc2x\ +d\x12\x93\x93q@Q0\x95L!\x95L\xa3\xaf\xbb\ +\x7f\xff\x82\x05s\x9a\xcf?\x7fqQ{n\xaa\xd0)\ +&\xc7\xc0\xc0\xc0\xe7Z[\x1b\x1e\xc19\x12\x00(0\ +#\xe8\xd1\x9d;\x03A\x12|^\x10\x84\x0b\xeak*\ +\xe1p\x88\xf0\xfb=p\xbb\x9cp\xba\x5c\xf0{\x1dT\ +\x7f\xaaM\x95IKH\xa7%\xc4\xe2\x09\x0c\x8fL \ +\x16\x9dB,\x9a\xc0E\x17\x9d\x07\xa7\xd3axz>\ +b\xe5\xa8\xf4\x93E\x8e\xd1\xd1\xe1\xaf56\xd6~\x07\ +\x94\x049\x18\xfc\x82s\x0404\xc03\xbf\xd9\xf3\x90\ +\xc0\xf3\x9bB!?\xbc\x1e7B!\x1f\x0b@\xc2YB\x82\x92\x08\xa0\x0e\xa0\x10\xd0\x8c\x1e\ +\xff\x99\xcf\xfc\xaf\xf0e\x97_\xb3\xb3\xa6\xaaj\xe9\xb2\ +e\x0bm\xae/\xa3\x02'\x91\x1c\x83\x83\x14\xf8T*\ +\x0dB\x088\x8e\xfes\xfe\xfcE\xa8\xad\xad-Is\ +$\x12\x89\xed55\x01[\x9f\x008\xf3\xf2\x04\xd36\ +\x89\x01|-\xad\xdb\xdb{XLL%C\x0b\x16\xb4\ +\x83\xb6\x87\xf9P\x14\x05\x8a\x02\xdb\xc3*\xf6\xd7)\xb6\ +\xcf\xb5\x9b\xf7\xa1(\xc0\xc4\xc4\x04\xf6\xee\xdd\x8b\x8e\x8e\ +\x8e<\xf0C\xa1\x0a\xd51U \xcb\x0ad\x19\xb6\x07\ +\x13\x8f\xc7\xb3nxx\xf2\x87\xdf\xfc\xe67\xc3\xa0\x84\ +7\x8ec\x9cq\xd3\xe5m\x06Y\xa9\x18^\x945\x00\ +\xaf^/\x5cy\xe5'\xbe\xbat\xe9\x82fQ\x14\x01\ +\xd8\x03\xcb\xc0\xb26\x17\xbd\xd6\xbe\x0d\xed\xaf-\xfc\xdc\ +\x89\x89\x09\xf4\xf6\x1eF$\x12\x01!\x00!\x9c\x06\xbe\ +\xcb\xe5F{{;*+\xab,\xcf\xb2\xaf\x17%\x01\ +=\xe9ry\xd6m\xde\xfc\xb9\xa5\x92$]u\xc7\x1d\ +w\x8c\x81j\x035\xebA\x87\x94\xcf\x14M`K\x80\ +\x02\xe0\xf3\x00\x84M\x9bno\xaf\xad\xad\xbf\xb5\xa5\xa5\ +\x11\xb2\xb1\xeb\xa8\xc2Y\xf4\xec\xa9 G2\x99Do\ +o\x0f\x06\x07\x8f\xab1>\xc7\xea\x0dQ\x14\xd1\xde\xde\ +\x8e\xda\xda:SY\xec\xb9\x91\xc8\x04B\xa1\x8ai\xeb\ +%\x08\xc2\xd2[o\xfd\xc7_\x01`$\xc8\xa9\x17\x9d\ +Q$(\xa8\x01\x90?IC\x00 \xaeZ\xf57_\ +\x993\xa7Uk\xc0\xfc\x9e\x94O\x0a&'J\x8ed\ +2\x85\xde\xde\xc3\x18\x1c\x1c\x00!\x04\x84\xf0\xea\xb5\x14\ +\xf8\xc6\xc6F466A\x10\x84\xbcgG\x22\xe3\x9a\ +\xb6\xa8\xafo\xc0\x82\x05F\xdf\xc5\x5c\x18\xbb\x97\xe7\xc5\ +\xa5\xb7\xdc\xa2\x91`\xd4\xf8\x9a8CH\x90G\x00\x83\ +\xcd\xcf\xeb\xfd\x1b7~f\xb6\xcf\x17\xf8Tmm\x8d\ +v}\xb1\xd7?Y\xe4\xc8f\xb38r\xa4\x0f\xc7\x8e\ +\xf5#\x97\xcb\xaa\xea^\xab/\xea\xeaj\xd1\xd2\xd2\x06\ +\x97\xcb\x9dwo$\x92o&\x86\x86\x86\x90H\xc4\xb1\ +t\xe9\x0a\x08\x82\x00@)\xe8\xb8\x8a\xe2\x99M\x82\xe9\ +4\x80\xd1\xf6\x8b\xef\x7f\xff\x9a/\x07\x83>\xb8\xddN\ +\xd8\xbd\xb3\xd5?:\x19\xe4\xe8\xed\xedA\x7f\xffQd\ +\xb3Yp\x1cQ{>%K(T\x81y\xf3\xe6\xc3\ +\xe5r\xa9\xe5\xe9@\xeafb\xc0t\x0f@\xe0r\xb9\ +\xd0\xd0\xd0\xa4\x82?]]\x15\x88\xa2\xb0\xf4\xe6\x9b\xff\ +\x81\x91`\x1c\xd4'\x00\xce\x00\x12\x98\x08`\xb1\xfdF\ +\x02\x88\x1f\xf8\xc0\x9a\xaa`0x}\xb1\x98\x7f\x9au\ +\x86\x96k\x0bW\x8a\x10`pp\x00\xbd\xbd\x87\x91J\ +\xa5\x00\x10\x0d|\x00\x08\x06ChmmC \x10\xc8\ +\xd3\x1c\x89\x04\x05~hh@+\x97i\x0cA\x10\xd1\ +\xd8\xd8\x84\xd6\xd6VC}\xa7\xf79\x14\x85j\x02\x03\ +\x09\xc6\x0c\x97\xbe\xa7I`\xa7\x01\xac\xe0\x0b\x00\xc4\x8f\ +~\xf4\xfa\xab9\x8e\x83\xdf\xef\xcb\x03\xba\x94\xc8\xa8T\ +r\x8c\x8c\x8c\xa0\xab\xebm\xa4\xd3\x14xB85~\ +'p:\xddhmmCmm\xadv=\xd3\x1c\xb9\ +\x5c\x0eG\x8f\x1e)\xa0-\x08Z[\xdb\xd0\xd0\xd0h\ +\xe3\x1f(\xc8f\xb3\x98\x9a\x9aDEE\xa5\xa1\xbe\xac\ +)t\x11\x04q\xe9\xe6\xcd\x9f\xdf\x09\xe0#g\x0a\x09\ +\x8a\x11@\xb3\xfd\x00\xc4\xea\xea\xba\xcb9\x8e\xd3\xd4\xad\ +Q\xca\xe9\xf9v\xa2(\x0a\x22\x91\x09\xf4\xf4\xf4 \x1a\ +\x1d\xd7@c!\x1d\xcfS\x07\xaf\xb5\xb5M\xbd\xde|\ +?3\x13\xb9\x5c\x16FmA\x08\x87\x9a\x9aZ\xb4\xb6\ +\xb6\xc1\xe9t\x02\xd0\x09\xc3q\x1c$I\xc2\xb1cG\ +p\xf4h?d9\x8b\xf9\xf3\x17\xa1\xae\xae\xdeX3\ +\xf5\x1d\xf43\x0e\x87\xb8d\xf3\xe6\xcf\xed\xbc\xe0\x82\x0f\ +}\xf6\x92K.\xdc\x0b\x9d%\xefI\x12h\x99@\x83\ +\xfa7\x02\xef\x04\xe0\x02\xe0y\xfc\xf1\xe7\xf7r\x1c\xf1\ +_t\xd1\xea\xa2\x0f,o\x10\x87`j*\x86\xce\xce\ +C\x88F#\x008\x8d0\x0c\xfc\x96\x96\xd6<{\xcd\ +dpp\x10\xbd\xbd\x87\x91N\xa7A\x08\xd4\xe4\x0f\x05\ +>\x18\x0c\xa1\xa5\xa5\x05\xc1`H}\x9e\xf9\xde\xfe\xfe\ +\xa3\xe8\xed\xed\xc9\xd3\x16\x8d\x8dMho\x9f3m\xdd\ +eY\x8e\xbe\xf9\xe6\xebW_r\xc9\x85\xaf\xc3<~\ +\xf0\x9e\xca\x18Z[\xd5\x1a\xffk\xe1\x9f(\x0a~Y\ +V\xa6U\xffE\x1c}\x139\x98\x9364t\x1c\x0c\ +4\xb3g_\x8f\x96\x96V[\x8d\xa3\x9b\x894\xacn\ +\x8b\xcb\xe5\xc6\xdc\xb9\xf3\x11\x0a\x85L\xf7\xb0j\x0f\x0c\ +P\xdf\x22\x93I\x83j\x0bN\x8b\x0ejj\xea\xd0\xd0\ +`\x9f\xdf\xd0\xdf\x81c\x9f\xc1e\xcbV>\xbbk\xd7\ +\x1f\xafV5\x81\xd6\x04x\x0fi\x02;\x02\xe4\x85\x7f\ +\xcb\x97\x9f_I\x08\x01\xcf\x03\xb1X\x14\x81@H#\ +B9\xea_\x96\x81\x5c.\x8b\xce\xceC\x18\x1c\x1c\x00\ +\x05\x80W\x01\xd0S\xb7\xed\xed\xed\xf0z}y\xcf\x8f\ +D\x22\xe8\xed\xed6i\x0b\xaa)\xa0\xf9\x0755\xb5\ +\xb6\xf5\x8aD&p\xf0\xe0\x01\xa4\xd3)\xb0H\x97\xf6\ +|\x0e\xa1P\x08\xcd\xcdm\x08\x06\x03\xea\xbd\xc6w0\ +\xbf\x93\x85\x1c\xc1%K\x96\x1bI\xa0\xc0\x901,\xd8\ +0\xa7\x91\x08@^~\xdb\x98\x07\xe0\x01\x08\x17_|\ +\xf9\x22\x8e\xe3\xa0(\x0a:::\xb1h\xd1\x5c\x84B\ +!d\xb3Vm`~\xb8\x11\x84l6\x8b\xfe\xfe#\ +\x16[\xcdi\xe0;\x9dn\xcc\x9f?\x1f\x81\x00\xed\xb9\ +\xc6v\x8e\xc7\xa7\xd0\xd9y\x08\x93\x93\x11\xb5\x0c\x06>\ + \x08\x02\x1a\x1b\x9b\xd0\xd0\xd0\x08\x96\x9a6\x0a\xcd\x03\ +\xf4\xa8y\x00=\x1cd\xe9\xe2Y\xb3f#\x1cf\xe9\ +b\xa5\xech\x85\xe3\xb8\xe0\x92%\xcb\x9f\xdd\xbd\xfbO\ +W}\xf8\xc3\x17\xec\x05\xcd\x18\xb2q\x83\xd3\xde\x14\x14\ +\xd2\x00&- I\xb2\xc0\xf3\x1cdY\x86\xa2\x10\x1c\ +8\xd0\x85\xc5\x8b\xe7\x22\x10\x08\x22\x9b\xcdi7\xd3W\ +\xb5w\x02h\xde\xbe\xc7`\xab)\xf8N\xa7K\xed\xb9\ +u\xea3t\x10R)=\x96\xa7\x9aWO\xf9\x02\x04\ +55uhoo\xd7\xfc\x03c[\xa7RI\x1c<\ +\xd8\x91\xa7-\x00\xa8\xe9\xe29\x9a\xb60\xcaLBY\ +B\xb8\xe0\x82\x05\x8b\x7fe \x01\xa0\xae98\xddI\ +`$\x805\x07\xa0\x91\x80\x90\x1cGU-\x05@\x96\ +ettP\x12x\xbd\x01\xe4r9\xc3ch\xd7\xb5\ +j\x83\xaa\xaa0\xce?\x7f\x15::\xdeB&\x93\x86\ +(\x8a\xa8\xafg=\xd7\xccCI\x92\xd0\xd5\xf5\xb6\x9a\ +\xc41\x12\x86\xf6\xfap\xb8\x1a\xb3g\xcf1x\xf6\xfa\ +\xbd\xe9\xb4\x9e\x07P\xa70h\xe0\x1b\xb5\x05\x0d\x075\ +\x07\xb8\xa4\xc6*\x86#\xc7q\xc1\xb6\xb69\x7f\x0f\xe0\ +3\xd6\xc68\x9dIP(\x13h\x1c\x02%\x8aB\xd7\ +T\x12BY\xcf\x88\xc0\xccA0\x18B:-\x99\x1e\ +`\xf7\xba^\xaf\x0f+W\xbe\x0f\xc3\xc3\x83\xa8\xad\xad\ +\x83 \xf0\xea\xb52\x00\x0e\xd9\xac\xa4\x9a\x09\x96\xf2e\ +\xc0P\x10\xa9\xadn\xd5<{\xab\x899v\xec\x08z\ +{{4\xdbN\x9dK\xfa:55\xf5\x98={6\ +x^\xc8\x8bTN4\x8c\x05\x80\xa1\xa1\x11\xfc\xe0\x07\ +\x8f\xb7=\xfd\xf4o\xce\xbb\xee\xba+\xacN\xe1iK\ +\x82bQ\x801\x12\xe0x\x9eh=\xcdH\x84\x83\x07\ +\xbb\xb1b\xc5b8\x1cN\xa4R\x92\xe1\x11\xba\x18\x1b\ +\x5c\x10x444\x020\x93\xa4\xb7\xb7\x1b\xc7\x8e\xd1\ +$\x0e#\x1bS\xfb.\x97\x0b\xb3f\xcd1\xd8j\xbd\ +\x1e\xcc\xb7`\xf72m\xc1\xfe\x1f\x0c\x860w\xee|\ +m\x9c\x00(=R\xa1e\x15'G6\x9b\xc5\x13O\ +\xfc\x1a\xcf>\xbb\x1b\xb7\xdd\xb6\xee\xc2U\xab\x96\xef\xee\ +\xee\x1e\xd8\xde\xde^\x7f\xab\xf11\x00\xe4\xd3\x91\x04\xc5\ +\x12A\xdaA\x88B\x08\xe1\xc1\xf3\x0a\x14E\xce#\xc2\ +\x9bo\x1e\xc0\x8a\x15\x8b\xe1r\x89H&\xa5\xa2c\xed\ +V\x19\x1a\x1a0\xc4\xf2\xc4`\xab9\xf0<\x8f\x96\x96\ +6\x8d0\x86\xa5|\x00h\x1e\xa0\xab\xab\x13\xd9,u\ +*\xd9}\x84\x105\x0f\xd0\x86`\x90.J*\xd4\xee\ +3\x0dc9\x8e\xc3\xab\xaf\xbe\x8e\xef\x7f\xffq\xac^\ +\xbd\x02\xdf\xfd\xee6x<\x1e\x002\x9cN\xef\xba\xee\ +\xee\xa1\xe0\x8e\x1d\x8f~\xe6\xce;\xbf\xc8\x86\x929\x9c\ +\x86$\x98n0H\xfdT\x08\xc7\x11\xb5\xe7\xe5\x13\x01\ +P\xf0\xc6\x1b\x1dX\xbe|\x11\x02\x017&'\x936\ +\x8f\xcb\xcf\xaa\xa5\xd3)\xf4\xf7\x1f1\x80O\x8b\x13\x04\ +\x11\x0d\x0d\xcdhll\xd4\xcc\x04\xa0\xf7|6N`\ +$\x0d@Aq\xb9\x5chiiU\x1d<\xce\xd6\x14\ +\x99\xf3\xfc\xe5\x85\xb1\x1cG066\x8e\x1f\xfe\xf0q\ +\x0c\x0e\x8ea\xcb\x96\xcf\xa1\xad-_\xa3\x89\xa2\xfb\xea\ +\xb5ko\xdc\x09\xe0#\xa73\x09\x0ai\x00\xcbw\x1e\ +G9\xe4p8\x04\ +D\x22\x11|\xfb\xdb\xff\x8d\x8e\x8e\xc3\xb8\xfd\xf6\x1b\xb1\ +x\xf1<\xf5\xbe\xe9\xc1gu\x22\x84\x0b\xce\x9b\xb7\xf0\ +W\xbf\xf8\xc5\xcbW\x7f\xecc\x1f2\x8e\x1d\x10\xbc\xcb\ +i\xe3\x92\x86n8\x8e\xd3\x06L\xe8w\x1el\x02&\ +\xcf\xd3C\x1fP\xe1\x01(\xd8\xbf\xff\x10b\xb18\xc2\ +a/\x00R\xd6\xcc`\x9a\xc4y\x0b{\xf6\xfcA\x05\ +\x9f^\xc7\xc0\x0f\x06CX\xb1\xe2|\xcc\x9d;\x0f\x0e\ +\x87\xb3\xac\x99\xc5\xa5\xcc\x0c\xe6y\x1eN'\x8f\x9d;\ +_\xc2M7\xdd\x89\x86\x86:<\xf8\xe07\xb0ti\ +\xf9\xe0\x1b\x93EK\x96,y\xf6\x0f\x7f\xe8\xf8\x18h\ +\xc7c\x11\x96\xeah\x97\x18o\x9ed)C\x03\xe8y\ +\x00Yfqma\x8d\xa0(\xc0[o\xbd\x8d\xc5\x8b\ +\xe7\xa1\xaa\xca\x8bH$\x0eI\xa2\xadl7\xd6\xce\x84\ +\x10@\x92r\x18\x1d\x1d\xd5F\x04\xe9y\x02\xaf\xd7\x8f\ +Y\xb3\xda\x11\x0c\x06U\xd5m\xd7iJI\xe5\xda\x9b\ +%B\x08\xdcn'\xba\xbb\xfbp\xff\xfd\xff\x85P(\ +\x80\x1f\xfc\xe0nTW\x87\x01\xd8E\x08\xa5\x81O?\ +\x15\x10B\x82\xf5\xf5\xf5\xdb\xf7\xec9\xf8\xb9\xd5\xab\x17\ +<\x02=m\xfc\xae\xe5\x0a\x8c\x04\xb0+X\x01\xa0\xf0\ +<\xaf0\x1f\x80\xcd\xae)\x8d\x08\x8aJ\x82\xf9\x08\x87\ +\x03\x18\x19\x89\x19R\xc7\xf6 (\x0aM\x18\x9dw\xde\ +*\x1c8\xf0\x16\x12\x898\x5c.\xb7\xc1\xb3\xd7\xaf\xb3\ +\x97\xc2\xf3\xfb\x0a\x91\x83\x02/\x22\x99L\xe2\xdb\xdf~\ +\x0c/\xbf\xfc\x17\xdc~\xfb\x8dX\xbdz\x85\xd6\xdb\x19\ +\xf8\xe6\xdeo.\xb7\x18\xf8:Q\x14TW\xd7|o\ +\xcf\x9e\x83PI\xa07\x06\xdey\x12\x105\xf7n\x1a\ +\xfc\x81>\x0f@\xdb5\xf4\xd5W\xdf\xdaMU(\xcb\ +\xdc15K_J\xff[1\xfd\x9f\x85N\x0b\x17\xce\ +C(\xe4\xc7\xc8\xc8$\xb2\xd9\x22\xc1\xb6\xb1r\x04\x18\ +\x1e\x1eDee\x95a>@>\xba\xe5(O\xeb\xb5\ +.\x97\x08\x87\x83\xc3s\xcf\xed\xc1\x0f\x7f\xf8\x04.\xbd\ +\xf4o\xb0n\xdd5&'\xcf\x1e\xfc\xc2\xbd\xdf|\x9d\ +\x19|\xfd<\x90H$~\xba|y\x93u=\xa2B\ +\x1f\xf1\xce\x90\xc0J\x00\x0e\x80\x08\xc0\x01\x0b\x01^x\ +\xe1\x95\x87\xfd\xfe\xc0lfW\xcb%\x02@\xb0x\xf1\ +<\x04\x02~D\x22\x09\xc4\xe3\xf9\xfbM3u_R\ +\xc5\x0bD\x15\xa5]G\x1d<\x9f\xcf\x85\xae\xae^|\ +\xf3\x9b\x0fC\x96e\xdc~\xfb&\xcc\x9a\xd5d\xa8s\ +\xf9\xe0[{\xbf\xfe\x1c3\xf8\xacm\x12\x89\xe4\xf6\x15\ ++\x9ao\xc5\xbbD\x02;'\xd0\xe85i\x0b${\ +{\x0f\xbf\xc2ql\x08\x97S\xa7jq0\xae\xc61\ +:\x83Vg\x91\x10\xa0\xa3\xa3\x0b\x93\x931\x84\xc3\x1e\ +x\xbd\xce\xbc\x82\xa9\x83f\x7f\xe4U\xb2\x80\xe3gu\ +\xfat2B\x0d\xcb8\x84B\x1e\x88\x22\xc1\xb7\xbe\xf5\ +0\xbe\xf6\xb5\x7f\xc7\x9a5\xef\xc7w\xbes\x97\x06\xbe\ +^\x1fV\xd6\xcc\xc0\xb7ZU+\xf8\x8a\x02\xb8\xdd\xae\ +uo\xbc\xd1\xff\xf8\xb6m\xf7\x87aH\xbd\xe3\x1dr\ +\x0c\x8d\x04P\x0c\x9fF\xf0s\x00r\xdb\xb7\xff\xe47\ +\xb9\x5c.\xce\xf3\x14\xfc\x99\x10\x01\x90q\xe0@7&\ +'S\x08\x87=\xf0x\x0ay\xf0\xf9\x15-\x95\x1c\x85\ +\x9eG\xc7\x05\xdc\xf0\xfb]x\xf9\xe5\xd7\xb0v\xed\x97\ +0>\x1e\xc5\x0f~p/>\xf6\xb1Ka\xeclv\ +\x1d\xafT\xf0\xd3\xe9$\x0e\x1d:\x80\x97_~\x11\x83\ +\x83\x83Z\xdd\xed\x9fG\xcf;\x1c\xce\xab\xaf\xbf\xfe\x86\ +_\xab$`\xeb\x11\xd9\x9c\x82SJ\x04\xa3\x09\x00\xf4\ +Y@\x22\xa8\x1f\xe0\x86n\x06\x82\xff\xf2/\xffv\xdd\ +\x95W^\xf3y]\xad\xc9y!W)\xa6A\x10\x04\ +,X0\x07\x81\x80\x1bSS\x19\x8c\x8e\xc6\xa0\xcf\xdb\ +/\xa1\xd2e4\x07\xcf\x13x\xbdNx\xbd\x0etv\ +\x1e\xc1\x03\x0fl\xc7\xd0\xd0\x18\xbe\xf0\x85MX\xb2\xc4\ +\x1c\xd6\x19\xbf\x17\xeb\xfdv\xe0KR\x16G\x8e\xf4\xa0\ +\xbf\xbf\x9f\xd5\x12\x1c\x07\xb4\xb5\xcdF]]\x93m\xef\ +g\x04`\x0es6+\xed{\xf2\xc9G\xaf\xbc\xe7\x9e\ +\xaf\x8cC\xdf\xc0J\xad\x86rJ\xf2\x05V\x02\x18\xa7\ +\x82;@\x09\xe0\x01%\x80\x1f@\xf0\xde{\xef\xbf\xe6\ +\xdak?\xfe\x19\xb3}+\x9f\x08\x0e\x87\x03\x8b\x17\xcf\ +\x85\xcb%j$(X\xc9\x19\x92\xc3\xe3q \x10p\ +!\x93\xc9\xe0G?\xfa9~\xf1\x8b\x97p\xfd\xf5W\ +`\xfd\xfak\xf2\x1c6\xe3\xf7rT\x7f.'\xe1\xe8\ +\xd1~\x1c;vDsn\xd94v\x00\xa8\xabkD\ +k\xebl\xf59\xf6\xe0\x1b\xcb\xca\xe5r\xd1\x9e\x9eC\ +\x1f\xb9\xf6\xda\x8bY\xd6\x90icE\xbd\xee\xe4\x13\x00\ +\x80]$ \x82:\x82n\x00>\xe8$\x08l\xdbv\ +\xdfG>\xfe\xf1O\xde\xcc\x1aa\xa6D\x10E\x07\x16\ +/\x9e\xa3\x91`l,\x0eY\x96\xcb\xf4\xea\xf3\xc9\xe1\ +t\x0a\x08\x85\xdc\xe08\xe0\xe5\x97\xff\x8c\xef\x7f\xffq\ +\xd4\xd6V\xe3\x0b_\xd8\x84\x9a\x9aJ\xb5.'\x0e\xfe\ +\xd0\xd0 \xba\xba\x0e!\x9b\xcd\x19\x1cX\xfaYYY\ +\x85\xd6\xd6Yp8\xd8\xaa\xa5\xe9\xc1g\xff\xcb\xe5\xe4\ +\xe8\xa1C\x1dW}\xf2\x93\x97\xee\x85\xc1\x0f\xc3) \ +\x81\x1d\x01\xd8L`\x16\x0e\xbaa&A\x00\x80\x7f\xeb\ +\xd6\xaf_\xfew\x7f\xb7v\x13\x03z\xa6Dp:\x1d\ +X\xb8p\x0e\xdcn\x11\xe9t\x0e\x03\x03\x11\x95 \x85\ +\x13E\x85D\x10xTVz\xe1t\x8a\xe8\xef\x1f\xc0\ +\x03\x0fl\xc7\x9bov\xe2\x8b_\xbc\x09\x17^\xb8B\ +\x9b\xd0\x99\x1f\xae\x95\x07\xfe\xe0\xe0 \xfa\xfa\x0ek\x8b\ +WX]\x09\x01\xfc\xfe\x10\x9a\x9b[\xe0\xf7\x07\xa7U\ +\xfb\xf9e\xe9f%\x9b\x95\xa3\xc3\xc3\x03\xb7]~\xf9\ +yO\xc1\xac\x09\xd4\xdbN\x0e\x09\xec\xd6\x05X\xcd\x80\ +\xd1\x17`\xfe\x80\x1f\x80o\xcb\x96\xaf\xff\xed\xa7?\xbd\ +v\xa3\xd1\x03\x9f\x09\x11\x1c\x0e\x11\x8b\x16\xcd\x85\xd3)\ + \x93\xc9\xe1\xf8\xf1\x88\xad\xe3d\xa8\xb6\xe9/\x8e\xe3\ +\x10\x0a\xb9\x10\x08\xb8\x91Lf\xf0\xf0\xc3?\xc7SO\ +\xbd\x80+\xaf\xfc \xd6\xaf\xbf\x16>\x9f\xa7 \xf8\xc6\ +\xef\xcc\x16\xeb\xd7\x99\xc1g\x13L\xe9\xa0\x14X\xbb\x01\ + p:]hnnEuu\x8dm\xc8788\ +\x88#Gz\x11\x0a\x85\xd0\xde>\xdfT\xae\x15|Z\ +UZ\xf6\xf8\xf8\xc8mk\xd6,{\x18\xa7H\x13\x98\ +\xb6\x88\xb1\xd1\x02,'\xc0H\xe0\x03%\x01\xd3\x06\xbe\ +\xbb\xee\xba\xf7\xd2O\x7fz\xc3\x0dF\xb0gB\x04Q\ +t`\xd1\xa29\x1a\x09\x86\x86bH\xa7\xe9\x1a\xccb\ +\x8bMB!\x0f\xfc~7\x14E\xc6_\xfe\xf2\x16\xbe\ +\xf9\xcdG\xe0\xf1\xb8\xf1\xc5/n\xc6\xec\xd9\xcdZ\xf9\ +\xb4\x1ch\xe51)\xd6\xfbY\xfdb\xb1)tw\xbf\ +\x8dH\x84\x8dF2\x0dE\xe7\x19\xd6\xd77\xa2\xa9\xa9\ +E}\x8e\x19\xfcHd\x1c}}\xbd\x88F#\xda\x0c\ +\xa7`0\x84y\xf3\x16\x80\xe3\x84\xa2\xe0\xab5\xc2\xf8\ +\xf8\xe8mk\xd6,c{\x1c\xb3-n\xd5\xea\x9e\x18\ +\x09\xec\x08@ki\xd8\x11\x04zf\xd0\xa8\x09|\xea\ +\xe1\xdd\xb2\xe5\x9e\xcb\xd6\xae\xdd\xb8\x81\x02;s\x22\x88\ +\xa2\x88\x85\x0b)\x09d\x198v,\xa2\x91\xc0*\x81\ +\x80\x13\xa1\x90\x0f\x82@p\xfc\xf80\xfe\xf3?\xff\x1b\ +{\xf6\xbc\x89\x8d\x1b\xaf\xc5u\xd7\xfd\xad\xa9L\xdaR\ +Z\x8bi\xcf\x98N\xf5\xd3\xfd\x08z\xd45\x0c\xe6\x09\ +\x22\x84\x10\xd4\xd77\xa1\xa9\xa9\x19q\xe1\xeb\ +\xa0\xe0\xe7\xd4\xb2N\x0e\x01\xd4\x8aYM\x81\xddx\x81\ +\x91\x04>\xf6}\xeb\xd6\x7f\xbed\xc3\x06\xea\x18\x9e\x08\ +\x11>\xff\xf9\xff\x0d\x00\xf8\xd9\xcf\xbe\x85P\xc8\x0f\x14\ +\xb1\x91\xd39}\xc9d\x12\x1d\x1do\x19\x80'\x86\xe4\ +\x12\x87p8\x8cY\xb3\xda\xe1p8M\xf7)\x0a\xb4\ +\xc9\xa9\xec^=*\xd0\xc3\xc1\xc6\xc6f\xc0&\xd9\x93\ +N'\xf1\xf6\xdb\x87\xb4\xa8\xc0X\xae\xc3\xe1Fcc\ +\x13\xaa\xaa\xf2M\x0c}N>\xf8\xecoY\xceE\x07\ +\x06\x06.\xff\xc4'.dY\xc3\xb2|\x81R\xa7\x84\ +)\xd0cO\xf67}\x8bB);\x00\xf7\xde{\xe7\ +.\x8e\x03\xd6\xad\xdb\xb4\x81\xe7\xe9\xc2RYV\xb4\x19\ +E\x8a\x02\xd5)bD \x00\xf4\xff\xb3\xd0IQd\ +\x10\xc2\xe1\xad\xb7\x0e\xe2\x82\x0bV\x18\x16\x83\xd2\xaaX\ +{\x7f^\xe5\x15\x05\xc9d\x12==\x87\x0d!\x1d\xab\ +>\x00\xb0%\xe2-\x08\x04\xf4\x0c\x1e{\xcdd\x92\x8e\ +\xf0\xe9;\x8d\x99ME]\x1d\xcd\x03\xf0<\x0f+\xf8\ +\xa9T\x02}}\xbd\x18\x1e\x1eR\xcb5\x93\xa6\xb6\xb6\ +\x01uuu\xe0\xb8B\xefT\x18|@\x01\xc7q\xc1\ +\xda\xda\xfa\xe7~\xfc\xe3\x9f\xbdo\xe3\xc6O\xf5\x00\xe5\ +M2\x9d\x96\x00\x8a\xa2\xb0\x1f[d\xde&k\xe5\x1c\ +\x80\xcc4\xb7\x93\xbb\xef\xbe\xf3EE!d\xc3\x86M\ +\xeb\xa9sW>\x11\xd8\x8bOM\xc5\xf1\xa7?\xbd\x81\ +\x0b.X\xae\xc6\xde\xa5\xa9~\x80\xf6\xde\xd1\xd1Q\xb0\ +Q:\xa6\xea\x9dN'ZZ\xdaPUUkz\x1e\ +h\xd8\xa5\xe6\x01\xe8\xb0.\x03\x8f\x91\xa7\xba\xba\x16\xcd\ +\xcd-&\x95M\xebB\xf7A8v\xec(\xfa\xfaz\ +M\xf72\xd2UW\xd7\xa0\xa5e\xb6F\x1a\xd6\x0e\xe5\ +\x80\xcf\xca\xcaf3AA\xf0\xce\x02\xd0\xab\x16pr\ +5\x80\x81\x04Z\xdci\xf8\xb7d\x7f\x97.\xf7\xdc\xb3\ +e\x17\xc7\x11e\xfd\xfa\x1b7(\x0a}\xe1r\x88\x00\ +@\x9d\x7f@05\x15\xc7k\xaf\xbd\x81U\xab\x96k\ +!U)v\xbf\xb6\xb6\x01^o\x00\x87\x0eu \x1e\ +\x8fC\x14y\xd4\xd55\xa3\xa5\xa5%ox\x97\x8e\xf0\ +\xd1-d\x98\x92\xb3\x86\x83\xcd\xcd\xadj\xbe_6\x01\ +\x22IY\x1c?\xde\xaf\xaeU\xcci\x93a\x14\x85~\ +\x06\x02!\xcc\x9a5G31f\xd2\xe9R*\xf8\xb4\ +\xcc$$)\xa3\xedg\x5c\x8e\x94<+\xd8\xa2\x09\xac\ +\xbaV\xb1\x14\x9eW\x91m\xdb\xbe\xf6\x22\xa0\x90\x1bn\ +\xd8\xbc\x9e\x86_\xa5\x13\x81\xe3xu\xfa9\x0fYV\ +05\x95\xc4\xde\xbd\xfbq\xdeyK\xb4\xa2J\xf1\xf8\ +\xbd^/\x96-[\x89\xa1\xa1\x01\xd4\xd4\xd4i\x0bI\ +\x18\x08t\xa7\xb1>\xf4\xf7\x1fA.'\xe7\xf5Z\x97\ +\xcb\x8d\xb6\xb6\xd9\xa8\xa8\x08\xab\xcf77\xc3\xe0\xe0\x00\ +\xfa\xfaz\x0d;\x9c\xe9\xf7z\xbd~\xb4\xb6\xce\x82\xdf\ +\xef7i\x99B\xbe\x8c\xb9\xed\x8b\x0f&\xa5\xd3\x09\x16\ +\x822\x93\x5c\xb2\x19(\x99\x006b%AF\xab\x9d\ +.&\x22l\xdb\xb6e\x17\x00l\xdc\xb8y=u`\ +J#\x02\x9da\xc4\xab3\x8c\xe8\xb3&'\xa7\xd0\xd1\ +\xd1\x89\xa5K\x17h\xe3\xf0\xa5d\xfax^@CC\ +c^C\x0f\x0d\xd1<@*\xa5{\xf6\x00\x1d\x87\xe0\ +y\x11\xcd\xcd\xad\xa8\xabk\xb0\xed\x91\xd1\xe8\x04\xde~\ +\xfb\x00\x92\xc9\xb4\xc1G`\xa4\xa1QA8\x5c\x8b\xe9\ +2}\x85T\xbfU\x8c\xef\x94\xc9$\x91\xcdJ\x90$\ +I[c`\x7f\x97\xbd\x94E\x00\x8b\x16`&\xc1Z\ + \xb1|\x9a\xbeo\xdbF\xcd\xc1\x0d7l\xde`\x9c\ +^^\x8c\x08\x82\xc0\xc0\xd7\xa7\xa0\xf3<0::\x8e\ +\x03\x07\xba\xb0p\xe1\x5cH\x92>f0]\x8e_o\ +h:Xs\xf0`\x87\x01x\x98\xc6\xf6\x19\xf0\x82\ + \x88\xa8\xabk@mm\x03\x04A0E'\xe5\x80\ +o\xd7\xfb\x8d\x92\xc9\xc4!\xcb\x0a$I\xb6\xb6\xf7\xc9\ +q\x02\xadR\x80\x04y\x97\x15{\xc6]w}\xedE\ +EQ\xc8\xc6\x8d7\xad\xb7\xae3\xb0#\x02\xb3\xff\xc6\ +\x06f\xfe\xc1\xd0\xd00\x08\x01\x16,\x98\x03I\xca\x95\ +\x05~*\x95DWW'2\x99\xb4a\x16\x0f-\xa3\ +\xa6\xa6\x0eMM-p\xb9\x5c\xa6\x04\x8c\xa2\xc8H\xa5\ +R\xe8\xee\xee\xc4\xd8\xd8\x08\xcc>\x02\x00p\xa8\xae\xae\ +Ak\xeb,\xc3 \x91\xb5\x0d\x8d\x9f\xe5;}\xfa{\ +)H$\xe2\xc8\xe5d\xa8\xbb\xd7\x9e:\x1f\xc0(6\ +\x91\x81\x9d\x14RG\x04\x00\xd9\xbau\xcb.\x80\xc3\x8d\ +7\xde\xb4\x1e6\x0bN\x8cD\xe0y\xa6\x01\xf4-j\ +\x00\x9d\x08\x83\x83#\x00\x80\x85\x0b\xe7\x9av*)\x06\ +>\xa0\xc0\xe9ta\xc5\x8a\xf3\xd1\xdd}\x08CCC\ +\xda\xb2\xb3\xa6\xa6V\x04\x02A\xf5Z\xfd\xf5\x92\xc9$\ +\x8e\x1c1\x8e\x0e\xb2qj\xfa\x19\x0c\x06\xd0\xde>\xcf\ +\x10\x15\xd8\x0f\xf2\x98\xdb\x92]W\x1e\xf8\x80\xfa\x05\ +\x80\xbe!\x05\xc0\xb4\x82\xa2@3\x1dT\x13\x10\xb4\xb6\ +6!\x1eOk\xb6R\xadiAP\x00\xba\x0f\xe1\xf2\ +\xe5.tt\xec\xd7\xf6\x14\x0e\x04\x82\x9a\x83\xa7\xbe\xab\ +\xed\xfd\xf9\xbd\xdf\xd4B3\x02\x1f\x00\xbc^'8\x8e\ +C__/\x92\xc9\xa4v\x9d1B\xb1i\xdbi\xe5\ +\xa4\x12\x000\x91\xa0\x98O`m\x1e#\x09^\x048\ +\xdct\xd3-\xeb\xe9 \x10\xcd\x00\xa6R\xa3\xeaw\xa3\ +\x83\xc8\xcc\x00\xfbM\x01\xb3y8z\xf488\x8e\xa0\ +\xb9\xb9\x11\x89D\x06\x99L\x16\xa5\xf6H\xaf\xd7\x8f\x15\ ++\xde\x87\xa3G\xfbPYY\x89@ X \xb4,\ +\xc7\xee[\xdb\x8a}\x16\x06\x9f\xe7\x09|>\xba\xb6`\ +p\xf08\x22\x91\x88\xda1\x8c#\xab\xb2i\xc7\xd6r\ +\xe4\xa4\x13\x00(Y\x13h\x97[>\xb1e\xcb?\xbd\ +\x08\x007\xddt\x8b\x9a'P\x90J\x0d\x80\xe3t\xdf\ +\xc0H\x04\xa00\x11\x8e\x1c9\x06B(\x098\x0e\x16\ +\xe7\xb0x\x8f\x14\x04\x1emm\xb3\x8dU;\x01\xf0\xcb\ +w\xfa\x5c.\x01\x1e\x8f\x03\xb2\x0c\x8c\x8d\x8d\xe2\xf8\xf1\ +\xe3\xda,&\xdd\xf6\x9b\x9e\xf7\xee\xf9\x00VQI\xc0\ +\xfe4N\x99\xb1\x9f\xe6\xab\xde\xc6\x8e-[\xfei\x17\ +\xcfs\xca\xe6\xcd7oH&G\xc0\xcf?j\x88\x02\ +\xca#B_\xdf1\x08\x02\x8f\xc6\xc6:5\x01$\xe1\ +D\xd4\xb1\xfe\x8e0\xfc\xef\xe48}\xcc\xe4\xf9\xfd.\ +8\x1c4\x838>>\x82\xc3\x87{4\xe0\xd9}\xba\ +\x13X\xa4E\xa7\x91SF\x00\xa0 \x09Xu\xa7\xb3\ +W\xca\x1dw|i\x17!\xc0\xd4Td\xc5\xa4\xd4{\ +\x84\xe3\xc8U\x80\x11\xec\xd2\x89\xd0\xd7w\x0cN\xa7\x88\ +\xeaj\xfa\x9bG\xc9$\x1d\xc9.?\xfbf\xfe\x9fM\ +\xb5O\xc8\xe9s\xbbE\x04\x02n\xed\xfa\xe3\xc7\x87\xd4\ +!e\xa6\xf2e\x8b\xfa\xa7\xf7\xe5f\xe8\x05\x9eR\x02\ +\x00\x05I\x00\x14&\x80b<\xbe\xf2\x95/\xfd\x16\xc0\ +\x1e\xbc\x047\xb7\x89\x5cE\xe3\x7f\xf5ae\x10\x01\x00\ +:;\xfb@\x08\x87\xaa\xaa0DQ\xc0\xe4dB\xad\ +#\xabk\xe9\xe0O\xe7\xf4\x95\x0b>\xcf\xf3\x08\x85<\ +p8\xe8\x88g6\xab\xe0\xed\xb7\xbb022l\x0b\ +\xbcN\x08:bzZD\x01\x85\xc4@\x02c3e\ +\xa1\x03m\xba\xdcp\x98f!ut\xec\x7fm\xd1\xa2\ +%\xab\xf4D\x10\xfd\x07\x0d\x19\x01E\xa1D\xa0~\x83\ +>\x9f@\x96\x89\xa6*;;{A\x08AUU%\ +\x00\x17\x22\x11\xf3\xae\xa6'\x06~\xf9c\xfb<\xcf!\ +\x18\xf4\xc0\xe3qh '\x93I\xbc\xf5\xd6!LM\ +M\x99\x80\xa7\xcf7\x03\xaf\xd7\xf7\x1d\x1c\x0b\x98\x89\x94\ +\x11\x1d\x18\x9dBv\xad\x0c@\xb9\xe5\x96u?z\xf0\ +\xc1\xedX\xb4h\x99J\x02\x0a2\x0d\x07\xd9\x08\x22\xdb\ +\xb0\x8a\x03\xbb\xc6\xbaqUWW/x\x9eCee\ +\x05\x00\x0e\x13\x13\xf1<[l\xa8\xb7\xfaI\xab4\x13\ +\xbbo~\x1e-G\x10h\x8f\xf7z\x1d\x06\xc7\x0e\xe8\ +\xe9\xe9C_\x1f\xdd-]\xcf]\x14\x06\x9e\x9d'\x84\ +\xb3\xebL\xd3\xca;F\x00\xa0$\x12X{\xbf\xd5o\ +\xc0\xcd7\xaf\xfb\xd1\x83\x0f\xee\xc0\x92%\xcbV\xc9\xb2\ +\x0e\xb21u\x0c@\xeb\xf5\xf6\xe6A\xc1\xdbo\x1f\xc6\ +\x82\x05sPY\x19T\x87\x96\xe3jJ\xb9\x90\xd3w\ +b\x1e?\xfb\xdb\xebu!\x18t\xc1\xe9\x14A\xb5\x13\ +\xbd\xfe\xf8\xf1Atw\xf7 \x91HZ\x80\xd7m\xbd\ +^\xae\xfe?\xaa\x1dd$\x93\xc9\x08f@\x80ig\ +\x05\x9f\x0a\xb1\xacA$\xb0\xfcD\x1d\xf4\x05\xa9l)\ +\x9au\xed\x81\xe7\xc1\x07w\xdc\xb4t\xe9\xf2U\xcc\x1e\ +\xb2\xa5e\x80\xde\x9b\xf4\xf3\x8a\xe1\xbc~\x0d\xc7\xf1X\ +\xbcx\x0e\x02\x01?$I_\x9a>\xbd\xea/\x0f|\ +\x87CD0\xe8\x82\xc7\xe3\x80 \xf0\x06\xbb\x9d\xc3\xd1\ +\xa3\x038|\xb8\x0f\xf1xB\xbb\xc7\x0a\xbc^\xa6Q\ +\x0bPR\xb3\xbfo\xbf}]\x10tR\x0e\xdblJ\ +9\xd53\x82f,\x86\xf1\x03\xeb\x84\x12\xc5\xe6\x00\xcc\ +\xccV\x00\xe0\xe6\x9b\xd7\xfe\xe8\xa1\x87v`\xc9\x92\xe5\ +\xab\x14\x85\x80\xe3\xa8\xdag\xbd\xc4\xceO\xa0e\xea\x1a\ +AQ\xe8/\x9f\xac\x5c\xb9\x18.\x97\x03\x0d\x0d!\x1c\ +;F;Rq\xd5o|\x17\xd8^\xe7\xf39\xe1\xf1\ +8\xe0\xf3\xb9 \x08\x9cf\xc7eYF,\x16\xc3\xd1\ +\xa3\xc7q\xf4\xe8 \xd2\xe9\x0c\xac!\x9d\xd1\xc9\xb3\x02\ +o$;;\x9fN\xa7\xfe`i\xaf\x92\xe5]!\x80\ +E\x8c\xb6>\x0fh\x9bk\x01\x954\x9b7\xaf\xfd\xd1\ +\xc3\x0f\xef\xc0\xe2\xc5+V\xb1\xb9\x01\xe5\x12A\x96e\ +\x1c8\xd0\x89%K\xe6\xc1\xe1\x10\xd1\xd8X\x89\xfe\xfe\ +1\xe4r\xa5\xd9}\x80\xfd\x00\x95\x08\xaf\xd7\x01\x8f\xc7\ +\x05\x8fG4i\x91l6\x87d2\x81\x81\x81a\x1c\ +;6\x8c\xd1\xd1\x09\x14\x0b\xe9t;_\x1cx6\x12\ +\x98H\xc4w\x96\xd0v\xb6\xf2\xae\x98\x00S\x05\xcc3\ +/\xd9\x90\x9b`8\xack\x11\xf3\xcc\xc1#\x8f\xfc\xec\ +\xa6\xc5\x8b\x97\xae2\x02V\xaei\xf0x\x9c*\x09\xe8\ +\xd4\xaf\xbe\xbe\x88\xda;i\xe5d\x19p\xbby\xf0<\ +\x0f\x97K\xd46\x9f\x12E\x1e\xa2h\x8c\x18(0\x92\ +\x94\xc5\xc8\xc8\x04\x86\x87G100\x82\xc9\xc9\xb8\x01\ +P\xfb\x90nr2\x06\xc2s\xe0\x09\x07\x10\x80S'\ +\xc1X\x81\x07\x8c\xa9`\x19\xcf<\xf3\xe4\xac\xdd\xbb\x7f\ +1\x02:C[\xdb?\xa0\x14\x13\xf0\xae\x13\x00\xc8#\ +\x81q\xaf\xf0\xac\xac\xfc\x90\x0e\ +\xf0\xec\x7f,\xf67\ +\x9e\xa7\x1bR\x00\x84#\xf4P\xc9\xe0\x10\x05\x84B~\ +\xf0\x84\xa7$\xf0{!\x08\x02*\xaa\x02hi\xab\xc3\ +\xb1c}_|\xed\xb5\xdf\x8f\x1b\xdaH\x8b\xa6J\xed\ +\xfd\xc0iH\x00\xa0(\x09\x98\x9d\xcb@\xd7\x04L\x1b\ +0\x22\xc4\x01$o\xbdu\xe3\x8e\xed\xdb\x1f\xd9\xc1@\ +.\x97\x08,\x06g\xea\xdb\xd8{\xed\x80g\xe02-\ +\xa0\xdbzJ\x06+\xf0\x8c$9EA\x22E\x7f\xd0\ +\x9a\xe7\x088B\xc0\xab\xf5r\xf0\x22B\x15~\x08\x82\ +\x00\x87C\xa49\x05\x8eGeu%.\xbdr\xcde\ +\xc8\xdf0\xaal9-\x09\x00Lk\x0e$P\x12\xa4\ +\xa0\x13 \xcf$\xdc\x7f\xff\xd7w\xff\xf4\xa7?\xd9\xc1\ +\xc0-\x87\x08\xd4_\x90M=\x9f\x01o\xd7\xab\xf3\xcf\ ++\xeayc\x92\xc7\xa8\x1dt\x13\x90\xc9HH&(\ +\x098\xb5.\x84\xa7\x87S\x14Q[\x13\x86\xd3\xe9\x00\ +Gxx\xbd.\x08<\x07\x9f\xcf\xff\xe9\x9d\xcf\xfd\xf1\ +\xa5\xaf~\xf5\x1b>\xe8\x1a\xa0l\x12\x9c\xb6\x04\x00\xa6\ +5\x07V\x12$a\xf6\x07\xe2\x00\xe2\xf7\xdf\x7f\xcf\xee\ +\xc7\x1e{d\x87qws+\x11x^'\x02\xdb\x09\ +\x9d\x86w\x8a\x0a\x94\x0e*\xfb4\x02o\xf4\x05\x8c\xc0\ +\xe7\xfb\x08\xb2\xea\x1f\xe8Z%\x95\xce \x9d\xca \x9d\ +\x91\x90H\xa44\xe09F\x06\x9e\xc0\xedr \x5c\x11\ +\x80C\xe4A8\x0e^\xaf\x1b\x02\xcf\x81\x13\x84e\x1f\ +\xba\xf4\xb2\xdf\xfc\xeb\x0f\x7f\x18D\x19\xa1\x9fQNk\ +\x02\x00\x05I\x90\x85\xd9'\xb0j\x02\xcd\x1f\x00\x10\xbf\ +\xef\xbe{vo\xdf\xfe\xc8\x0e\xb6\xc8\x94ny\xcf\xe7\ +\x11\x82N?g&\xc0\xda\xcbu\x07\xcf\xaeW3\xe0\ +\xcd>\x02\x03\xdex\xde\xe80\xca@N\x81\xac(H\ +\xa5\xd2Hg$\xc4\x13)p\xcc!$4<$\x1c\ +\x01\xc7s\xa8\xa8\x0c@\x14\xe9*)\xaf\xd7\x0d\x9e\x13\ + \xf0\xfc\xf2\xa5\xed+\x7f\xfb\xd3g\x9e\x09\xce\xa4}\ +O\x87T\xf0\xb4\xa2(ys\x0c9\x18\xb6R\x9f\xe6\ +v\x02\x00\xf7\xddw\xcfn\x00\xd8\xb0a\xf3ZEK\ +\x0d\xd3,\x1b\x9b;\xa0(l.\x014\xdb]NH\ +g\x8c\xf1\x999P\xeb\xaf]g\x0d\x1b\x03\x01\x1f\xd2\ +\xc9\x0c\x9c\x0e\x07R\xa9\x14\x9c\x0e\x11\xf1x\x12N\xa7\ +\x83F\x04\xbc\xa0M\x85\xe39\x0e\x95\x15AD\x221\ +H\xd9\x1c\xbc\x1e\x17\xd2\x99\x0c\xb2$\xbb\xbc\xc6W\xbf\ +\xeb\xa9\x17_\x5c\x03 \x822\xe4\xb4\xd7\x00Ll4\ +\x81\x02{s\xc0\xa2\x03k\x88\x18\xbf\xef\xbe{v?\ +\xfa\xe8C;\xd823\xda\xeb\xcd?~\xc1\xb4\x81\x1e\ +\xba\x95\x1e\xd2\xe9\xfeB.O{PS\x91\x7f\xde\xe7\ +\xf3#1\x95@:\x93\x81\x02 \x99\xce \x95\xc9 \ +\x1eO\x82\xe7\x08\x04\x81\x03\xa7\xa6\x85\x01\x80\xe7xT\ +V\x04\xe0q\xbb\xc0q\x80\xdb\xe5\x84(\x8a\xe0\x09Y\ +\x11\xe0\x82\xbf\xde\xb9\xf3\xd5@9\xed\xfa\x9e!\x00\xa0\ +f7X\x16\xc7\x1c\xfa\x94\xe2\x18&\xa0\x92\xe0'?\ +yd\x87\xd1\x07\xb0#\x02-\xaf\xbc\x90\xce\xf8\xa9\xab\ +\x7f\x1dx\xddw0\x9f\x0f\x87+\x10\x8bL!\x9d\xa2\ +c\x0f\xc9d\x06\xe9L\x06\xe3\x91I\xd0\xfc\x13Q5\ +\x13\xa7-M\x0b\x05|p\xbb\xdd \x00\x5c.\xa7\xcc\ +\x8b|\x84\x00\x15.\xbf\xf3\xbf^z\xe9\xafm\xa5\xb6\ +\xe9{\x8a\x00\x16)\xe6\x18\x1a\xf3\x04V\x12$\xef\xbb\ +o\xdb\xcb\x8f>\xfa\xf0cl\xd9\xb9\x1d\x11\xe86l\ +\xe5\x85t\x85\xf3\x05f?\xc2H\x08\xfa<\x05^\x8f\ +\x17\x91\xb1(\xd2\xc9$\x00\x19\xc9T\x1a\xb9\xac\x82H\ +tJ}U\x0a>@s\x06\xe0\x80P\xd0\x07\xb7\xdb\ +\x99!\x04Cn\xa7\xb3O\x10\xf9>\xa2@\x82H>\ +\xfb\xc2\x0b\xaf\xd4\xa2\x04yO\x12\xa0\x809\xb0j\x02\ +;\x12h\xe6\xe0\x1b\xdf\xd8\xb6\xfb\xd1G\x1fzL\xef\ +\xf9f\x22\x14\xf2\xec\x8b\x85tv\xf9\x02c\xe4\xa0\x9f\ +\xd7\x817\x96\x93N\xa7\xde\xf8\xe3\x1fw\x7f11\x15\ +\x7fE\x91\x81d:\x0dI\xcab|b\x0a\x80\x0c\x02\ +\x9a,\xd2\x9a\x01J,\x14\xf4\x1d\xf58\x1d\xbd\x84\xa0\ +\xcf\xe5v\x1d\x11\x1d\xc2Q\x02e\x9cw\xbb/\xff\xed\ +o\xff2\xadcxZ\x8d\x05\xccD,\xfb\x18\x1ag\ +\x17\xd9mkk\xdd\xf2\xdes\xd7]\xf7~\xe8\x86\x1b\ +nZ\xcb\xc6\x0b\xd8\x18\xfb\x9bov\x22\x12\x89\xc1n\ +\xfe\x9d\xd1\x14\x00\xd61\x80\xe2\xe7\xed\x06\x85\x12\x89\xa9\ +\xee\xce\xce\xfd\x0f=\xfd\xf4C\xcf\x03H\xcd\x9b\xb7\x04\ +_\xb9\xf3\x1b\xff'\xe0\xf7_\x11\xf0\xfb\x10\x08x\xe1\ +t\x88\xa8\xac\x0cR\xed\x04E\x020\xce\x112\x0c(\ +\xc3\x00\x19\x8d\xc7S#\xf1xbL!\x18\x97r\xd9\ +\xf1TJ\x8a\x082\x19\xcdf\xc7\xffz\xf1\xc5\x17\xa7\ +\x0a\xb6\xdf{\x9d\x00@A\x12\x18\xa7\x971\x12X7\ +\xb9\xf6\x82\x92\xe0\xc3\x1b7\xde\xb4\x16\x80\x06\xd6\xde\xbd\ +\x07\x11\x89L\x96\xe5\xd9\x97\x0e<\xbdf||d\xcf\ +\xc1\x83\xaf?\xf1\xfc\xf3O\xbe\x0a\xaa\xad\x98\xd6J7\ +5\xcdU\xfe\xef\xbf\xfd\xc7\xbf\x07B\xc1\xeb\xddN\x17\ +\xbc\x1e'DQP*\xc3\xc1\x04O\xc80\x08\x19\x01\ +0\x0c\xc2\x8dr\x8a2\x0apc\xc9tj<\x12\x8d\ +Op\xbc<\x91\xcd*\xd1X\x22=\xc9I\xa9\xe8K\ +/\xfdj\xf8\xee\xbb\xef\xb6\x9d\x87\xf9\x9e\x08\x03K\x14\ +c\x88\xc8\xcc\x81\xdd5\xd6\xef\xca\xd7\xbf\xbe\xf5E\x9e\ +\xe7\x94\x0d\x1b6\xaf3\xae#`\xbd\xbf\xd4\x90\xae\x90\ +&0\x86\x8e\x89\xc4T\xcf\xb1c}\xcf\xbf\xfe\xfa\xef\ +^\xee\xe8\xd8\xdb\x07\x0a:;\x98\xe9\xca\xf4\xf7wf\ +\xd7~\xea\xcaM\xbf\xf8\xd5\xef\x93\xb2#wC<\x95\ +\xcay\x88kb|<:\x14\x0e\x87Fx`D\x01\ +O\xc1\xe71Nd\x8c\xbb\xdc\xae\x89\x0aE\x89D\x22\ +\xb1\xa8\xcc#\xc6\xb9\x9c\xb1\xd8\xb8\x94(\xd6hg\x84\ +\x06\x00\xa6\x9dTb\xa7\x09\x8cs\x0a<\x00\xdc\xf7\xdc\ +s\xdf\xc57\xdc\xb0i\x03\xa0\xe0\x95W\xf6ct4\ +\x02\xe3\x9c\x02#\xf0\xa5\x9c\xa73\x832\x89h4\xb2\ +\x7ftt\xe0\xcd\xbd{\xf7\xfc\xee\xe0\xc1\xbf\x1c\x85>\ +|k=$\xc3\xc1\xf2\xfc\xb9\xdf\xec\xfa\xf3\xf7\x04\x8e\ +\x5cNxn\xd8\xe7q\x0f\x8b\x227Z\x15\xae\x18\xe5\ +@\xc6\x14\x9e\x8cC\xc1\x04\xe1\x94\x09NFD\x96\x95\ +\xc9\xa9\xa9d,\x16\x1b\x9e\x02\x90x\xdf\xfb\xde\xa7u\ +\x04\xbb,\xe1\x19C\x00\xa0,\x12\x18\x7f\xf8\x82}\xba\ +\x01\xb8\xbe\xf2\x95-\x7f\xb3y\xf3-\x9b\xff\xf2\x97\x83\ +\xee\xd1\xd1\x88I\xfd\xb3\xf1\x81b\xc0G\xa3c\x1d\x13\ +\x13\x13\xbd\x91\xc8\xc8\xe1#G\xba\xba^}\xf5\xa5C\ +0\x03\xcb\x9cT\xbb\xeflB\x87\xf1P\x00(\xbf\xdd\ +\xf5\xdaW\x09\xc7\xaf\xe4En\xd4\xe3v\x8d:\x1c\xe2\ +xU\xc87N\x04q\x82\xc8\x88\xc8<\x89\x0a\x0a\x99\ +T\x94\xe4\x14\x80\xf8\xef~\xf7\xbb\xd4\xa7>\xf5\xa9\xfc\ +\xc9\xed\x16\xc0\xcf(\x02\x00\x05I`\xfc\xf9\x1bF\x02\ +\xe3F\xd7n\xc39\xc7\xa7?\xbdv\xcee\x97}j\ +\xcb\xd4T\xd2C\x97ie\x12\xb1\xd8\xe4\x11\xa3=\x1f\ +\x19\x198@\x08\xe4h4:<668\xb4\x7f\xff\ +\x9f\xba\x87\x87\x07'\xa1\x83\xc8\x22\x12\xeb\xa7ds\xde\ +\x0a\xbcq\x88W\x1b\xe4y\xe1w{\xd7r \xb3y\ +\x8e\x1bw\xb9\x5c\xe3\x0e'\x17\x09WUDx\x19\x93\ +\xb9\x1c&eY\x88\xc7b\xfd\xf1%K\x96\x14\xdd\xbd\ +\xd5H\x823\x8e\x00@\xc9\x9a\xc0\xa8\x0d\xd8\xef\x1f\xb8\ +\xd4\xff\x8b\xa0\xa41n\xbf\xca\x1a\xca\x18vZAc\ +\xdf\xb3%\x1ev\xbd\xdd4\xb6\x0f\xcb\xec\x9e]/\xef\ +\xfd\x10\xcfqaA\x14\x22.\x81\x8f\x12\x978\x19r\ +\xfbc>\x1f\x89\xef\xde\xbd;i\xd7\xeb\xed\x84=\xf3\ +\x8c$\x00`K\x02ct`\xfc\xcd\x03\xb6\x08\x85}\ +g\xd3\xcfx\xc3\xbd\x80\xb97\xca\x96\xc3J\x00v\x18\ +m9[\xb0a\x04\x9e\xddc\x04\xde\xd4\xeb\xed\xec\xf6\ +\xee\xdd\xaf\xcf\xcd\xf1\xc4\xe1\x80\x18\xe3yLE\x22\x8e\ +\xf8UW\xcd\x9bn\xe3\xee\x13X\xae\xd8\x10\xc1\xee\xbbU\x0a5\x98\xed\xf9S\ +\x0d\xbaU\x0a\x91\xa0P=\xcej\x020)\xd2s\xac\ +>\xc0\xb4\xf2N\x03n'\xd6\xf7)V\xa7s\x04\xb0\ +\x91\x99\xa8\xd2\xd3M\xd8;LW\xd7s\x048\xcb\xe5\ +=9%\xec\x9c\x9c<\xf9\xff.}$/\xf4\x80\x9c\ +-\x00\x00\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x09\ +\x0b\x85\x83\x07\ +\x00c\ +\x00l\x00e\x00a\x00r\x00.\x00p\x00n\x00g\ +\x00\x0e\ +\x0a\x93\x87\x07\ +\x00d\ +\x00i\x00s\x00c\x00o\x00n\x00n\x00e\x00c\x00t\x00.\x00p\x00n\x00g\ +\x00\x0c\ +\x0b\xdf!G\ +\x00s\ +\x00e\x00t\x00t\x00i\x00n\x00g\x00s\x00.\x00p\x00n\x00g\ +\x00\x14\ +\x07@\xa2\xc7\ +\x00a\ +\x00p\x00p\x00l\x00i\x00c\x00a\x00t\x00i\x00o\x00n\x00-\x00e\x00x\x00i\x00t\x00.\ +\x00p\x00n\x00g\ +\x00\x0b\ +\x0bs\x9d\xc7\ +\x00c\ +\x00o\x00n\x00n\x00e\x00c\x00t\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x05\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00j\x00\x00\x00\x00\x00\x01\x00\x00\xaa\xa6\ +\x00\x00\x01\x81<\xe7\xd0\x1c\ +\x00\x00\x00*\x00\x00\x00\x00\x00\x01\x00\x001\x03\ +\x00\x00\x01\x81<\xe7\xd0\x1c\ +\x00\x00\x00\x98\x00\x00\x00\x00\x00\x01\x00\x00\xd6j\ +\x00\x00\x01\x81<\xe7\xd0\x1c\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x81<\xe7\xd0\x1c\ +\x00\x00\x00L\x00\x00\x00\x00\x00\x01\x00\x00k\xfb\ +\x00\x00\x01\x81<\xe7\xd0\x1c\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/serialport/terminal/settingsdialog.py b/examples/serialport/terminal/settingsdialog.py new file mode 100644 index 0000000..07034e4 --- /dev/null +++ b/examples/serialport/terminal/settingsdialog.py @@ -0,0 +1,179 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtCore import Slot +from PySide6.QtGui import QIntValidator +from PySide6.QtWidgets import QComboBox +from PySide6.QtSerialPort import QSerialPort, QSerialPortInfo + +from PySide6.QtWidgets import QDialog + +from ui_settingsdialog import Ui_SettingsDialog + + +BLANK_STRING = "N/A" + + +CUSTOM_BAUDRATE_INDEX = 4 + + +class Settings(): + + def __init__(self): + self.name = "" + self.baud_rate = 0 + self.string_baud_rate = "" + self.data_bits = QSerialPort.Data8 + self.string_data_bits = "" + self.parity = QSerialPort.NoParity + self.string_parity = "" + self.stop_bits = QSerialPort.OneStop + self.string_stop_bits = "" + self.flow_control = QSerialPort.SoftwareControl + self.string_flow_control = "" + self.local_echo_enabled = False + + +class SettingsDialog(QDialog): + + def __init__(self, parent=None): + super().__init__(parent) + + self.m_ui = Ui_SettingsDialog() + self._custom_port_index = -1 + self.m_ui.setupUi(self) + self.m_currentSettings = Settings() + self.m_intValidator = QIntValidator(0, 4000000, self) + + self.m_ui.baudRateBox.setInsertPolicy(QComboBox.NoInsert) + + self.m_ui.applyButton.clicked.connect(self.apply) + self.m_ui.serialPortInfoListBox.currentIndexChanged.connect(self.show_port_info) + self.m_ui.baudRateBox.currentIndexChanged.connect(self.check_custom_baud_rate_policy) + self.m_ui.serialPortInfoListBox.currentIndexChanged.connect(self.check_custom_device_path_policy) + + self.fill_ports_parameters() + self.fill_ports_info() + + self.update_settings() + + def settings(self): + return self.m_currentSettings + + @Slot(int) + def show_port_info(self, idx): + if idx == -1: + return + + list = self.m_ui.serialPortInfoListBox.itemData(idx) + count = len(list) if list else 0 + description = list[1] if count > 1 else BLANK_STRING + self.m_ui.descriptionLabel.setText(f"Description: {description}") + manufacturer = list[2] if count > 2 else BLANK_STRING + self.m_ui.manufacturerLabel.setText(f"Manufacturer: {manufacturer}") + serialno = list[3] if count > 3 else BLANK_STRING + self.m_ui.serialNumberLabel.setText(f"Serial number: {serialno}") + location = list[4] if count > 4 else BLANK_STRING + self.m_ui.locationLabel.setText(f"Location: {location}") + vendor = list[5] if count > 5 else BLANK_STRING + self.m_ui.vidLabel.setText(f"Vendor Identifier: {vendor}") + id = list[6] if count > 6 else BLANK_STRING + self.m_ui.pidLabel.setText(f"Product Identifier: {id}") + + @Slot() + def apply(self): + self.update_settings() + self.hide() + + @Slot(int) + def check_custom_baud_rate_policy(self, idx): + is_custom_baud_rate = idx == CUSTOM_BAUDRATE_INDEX + self.m_ui.baudRateBox.setEditable(is_custom_baud_rate) + if is_custom_baud_rate: + self.m_ui.baudRateBox.clearEditText() + edit = self.m_ui.baudRateBox.lineEdit() + edit.setValidator(self.m_intValidator) + + @Slot(int) + def check_custom_device_path_policy(self, idx): + is_custom_path = idx == self._custom_port_index + self.m_ui.serialPortInfoListBox.setEditable(is_custom_path) + if is_custom_path: + self.m_ui.serialPortInfoListBox.clearEditText() + + def fill_ports_parameters(self): + self.m_ui.baudRateBox.addItem("9600", QSerialPort.Baud9600) + self.m_ui.baudRateBox.addItem("19200", QSerialPort.Baud19200) + self.m_ui.baudRateBox.addItem("38400", QSerialPort.Baud38400) + self.m_ui.baudRateBox.addItem("115200", QSerialPort.Baud115200) + self.m_ui.baudRateBox.addItem("Custom") + + self.m_ui.dataBitsBox.addItem("5", QSerialPort.Data5) + self.m_ui.dataBitsBox.addItem("6", QSerialPort.Data6) + self.m_ui.dataBitsBox.addItem("7", QSerialPort.Data7) + self.m_ui.dataBitsBox.addItem("8", QSerialPort.Data8) + self.m_ui.dataBitsBox.setCurrentIndex(3) + + self.m_ui.parityBox.addItem("None", QSerialPort.NoParity) + self.m_ui.parityBox.addItem("Even", QSerialPort.EvenParity) + self.m_ui.parityBox.addItem("Odd", QSerialPort.OddParity) + self.m_ui.parityBox.addItem("Mark", QSerialPort.MarkParity) + self.m_ui.parityBox.addItem("Space", QSerialPort.SpaceParity) + + self.m_ui.stopBitsBox.addItem("1", QSerialPort.OneStop) + if sys.platform == "win32": + self.m_ui.stopBitsBox.addItem("1.5", QSerialPort.OneAndHalfStop) + + self.m_ui.stopBitsBox.addItem("2", QSerialPort.TwoStop) + + self.m_ui.flowControlBox.addItem("None", QSerialPort.NoFlowControl) + self.m_ui.flowControlBox.addItem("RTS/CTS", QSerialPort.HardwareControl) + self.m_ui.flowControlBox.addItem("XON/XOFF", QSerialPort.SoftwareControl) + + def fill_ports_info(self): + self.m_ui.serialPortInfoListBox.clear() + for info in QSerialPortInfo.availablePorts(): + list = [] + description = info.description() + manufacturer = info.manufacturer() + serial_number = info.serialNumber() + list.append(info.portName()) + list.append(description if description else BLANK_STRING) + list.append(manufacturer if manufacturer else BLANK_STRING) + list.append(serial_number if serial_number else BLANK_STRING) + list.append(info.systemLocation()) + vid = info.vendorIdentifier() + list.append(f"{vid:x}" if vid else BLANK_STRING) + pid = info.productIdentifier() + list.append(f"{pid:x}" if pid else BLANK_STRING) + self.m_ui.serialPortInfoListBox.addItem(list[0], list) + + self._custom_port_index = self.m_ui.serialPortInfoListBox.count() + self.m_ui.serialPortInfoListBox.addItem("Custom") + + def update_settings(self): + self.m_currentSettings.name = self.m_ui.serialPortInfoListBox.currentText() + + baud_index = self.m_ui.baudRateBox.currentIndex() + if baud_index == CUSTOM_BAUDRATE_INDEX: + text = self.m_ui.baudRateBox.currentText() + self.m_currentSettings.baud_rate = int(text) + else: + self.m_currentSettings.baud_rate = self.m_ui.baudRateBox.currentData() + self.m_currentSettings.string_baud_rate = f"{self.m_currentSettings.baud_rate}" + + self.m_currentSettings.data_bits = self.m_ui.dataBitsBox.currentData() + self.m_currentSettings.string_data_bits = self.m_ui.dataBitsBox.currentText() + + self.m_currentSettings.parity = self.m_ui.parityBox.currentData() + self.m_currentSettings.string_parity = self.m_ui.parityBox.currentText() + + self.m_currentSettings.stop_bits = self.m_ui.stopBitsBox.currentData() + self.m_currentSettings.string_stop_bits = self.m_ui.stopBitsBox.currentText() + + self.m_currentSettings.flow_control = self.m_ui.flowControlBox.currentData() + self.m_currentSettings.string_flow_control = self.m_ui.flowControlBox.currentText() + + self.m_currentSettings.local_echo_enabled = self.m_ui.localEchoCheckBox.isChecked() diff --git a/examples/serialport/terminal/settingsdialog.ui b/examples/serialport/terminal/settingsdialog.ui new file mode 100644 index 0000000..8f15b1a --- /dev/null +++ b/examples/serialport/terminal/settingsdialog.ui @@ -0,0 +1,177 @@ + + + SettingsDialog + + + + 0 + 0 + 281 + 262 + + + + Settings + + + + + + Select Parameters + + + + + + BaudRate: + + + + + + + + + + Data bits: + + + + + + + + + + Parity: + + + + + + + + + + Stop bits: + + + + + + + + + + Flow control: + + + + + + + + + + + + + Select Serial Port + + + + + + + + + Description: + + + + + + + Manufacturer: + + + + + + + Serial number: + + + + + + + Location: + + + + + + + Vendor ID: + + + + + + + Product ID: + + + + + + + + + + + + Qt::Horizontal + + + + 96 + 20 + + + + + + + + Apply + + + + + + + + + Additional options + + + + + + Local echo + + + true + + + + + + + + + + + diff --git a/examples/serialport/terminal/terminal.pyproject b/examples/serialport/terminal/terminal.pyproject new file mode 100644 index 0000000..ed64bd9 --- /dev/null +++ b/examples/serialport/terminal/terminal.pyproject @@ -0,0 +1,4 @@ +{ + "files": ["main.py", "console.py", "mainwindow.py", "mainwindow.ui", + "settingsdialog.py", "settingsdialog.ui", "terminal.qrc"] +} diff --git a/examples/serialport/terminal/terminal.qrc b/examples/serialport/terminal/terminal.qrc new file mode 100644 index 0000000..0b49879 --- /dev/null +++ b/examples/serialport/terminal/terminal.qrc @@ -0,0 +1,9 @@ + + + images/connect.png + images/disconnect.png + images/application-exit.png + images/settings.png + images/clear.png + + diff --git a/examples/serialport/terminal/ui_mainwindow.py b/examples/serialport/terminal/ui_mainwindow.py new file mode 100644 index 0000000..6aa0fcc --- /dev/null +++ b/examples/serialport/terminal/ui_mainwindow.py @@ -0,0 +1,149 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'mainwindow.ui' +## +## Created by: Qt User Interface Compiler version 6.4.0 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient, + QCursor, QFont, QFontDatabase, QGradient, + QIcon, QImage, QKeySequence, QLinearGradient, + QPainter, QPalette, QPixmap, QRadialGradient, + QTransform) +from PySide6.QtWidgets import (QApplication, QMainWindow, QMenu, QMenuBar, + QSizePolicy, QStatusBar, QToolBar, QVBoxLayout, + QWidget) +import rc_terminal + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + if not MainWindow.objectName(): + MainWindow.setObjectName(u"MainWindow") + MainWindow.resize(400, 300) + self.actionAbout = QAction(MainWindow) + self.actionAbout.setObjectName(u"actionAbout") + self.actionAboutQt = QAction(MainWindow) + self.actionAboutQt.setObjectName(u"actionAboutQt") + self.actionConnect = QAction(MainWindow) + self.actionConnect.setObjectName(u"actionConnect") + icon = QIcon() + icon.addFile(u":/images/connect.png", QSize(), QIcon.Normal, QIcon.Off) + self.actionConnect.setIcon(icon) + self.actionDisconnect = QAction(MainWindow) + self.actionDisconnect.setObjectName(u"actionDisconnect") + icon1 = QIcon() + icon1.addFile(u":/images/disconnect.png", QSize(), QIcon.Normal, QIcon.Off) + self.actionDisconnect.setIcon(icon1) + self.actionConfigure = QAction(MainWindow) + self.actionConfigure.setObjectName(u"actionConfigure") + icon2 = QIcon() + icon2.addFile(u":/images/settings.png", QSize(), QIcon.Normal, QIcon.Off) + self.actionConfigure.setIcon(icon2) + self.actionClear = QAction(MainWindow) + self.actionClear.setObjectName(u"actionClear") + icon3 = QIcon() + icon3.addFile(u":/images/clear.png", QSize(), QIcon.Normal, QIcon.Off) + self.actionClear.setIcon(icon3) + self.actionQuit = QAction(MainWindow) + self.actionQuit.setObjectName(u"actionQuit") + icon4 = QIcon() + icon4.addFile(u":/images/application-exit.png", QSize(), QIcon.Normal, QIcon.Off) + self.actionQuit.setIcon(icon4) + self.centralWidget = QWidget(MainWindow) + self.centralWidget.setObjectName(u"centralWidget") + self.verticalLayout = QVBoxLayout(self.centralWidget) + self.verticalLayout.setSpacing(6) + self.verticalLayout.setContentsMargins(11, 11, 11, 11) + self.verticalLayout.setObjectName(u"verticalLayout") + MainWindow.setCentralWidget(self.centralWidget) + self.menuBar = QMenuBar(MainWindow) + self.menuBar.setObjectName(u"menuBar") + self.menuBar.setGeometry(QRect(0, 0, 400, 19)) + self.menuCalls = QMenu(self.menuBar) + self.menuCalls.setObjectName(u"menuCalls") + self.menuTools = QMenu(self.menuBar) + self.menuTools.setObjectName(u"menuTools") + self.menuHelp = QMenu(self.menuBar) + self.menuHelp.setObjectName(u"menuHelp") + MainWindow.setMenuBar(self.menuBar) + self.mainToolBar = QToolBar(MainWindow) + self.mainToolBar.setObjectName(u"mainToolBar") + MainWindow.addToolBar(Qt.TopToolBarArea, self.mainToolBar) + self.statusBar = QStatusBar(MainWindow) + self.statusBar.setObjectName(u"statusBar") + MainWindow.setStatusBar(self.statusBar) + + self.menuBar.addAction(self.menuCalls.menuAction()) + self.menuBar.addAction(self.menuTools.menuAction()) + self.menuBar.addAction(self.menuHelp.menuAction()) + self.menuCalls.addAction(self.actionConnect) + self.menuCalls.addAction(self.actionDisconnect) + self.menuCalls.addSeparator() + self.menuCalls.addAction(self.actionQuit) + self.menuTools.addAction(self.actionConfigure) + self.menuTools.addAction(self.actionClear) + self.menuHelp.addAction(self.actionAbout) + self.menuHelp.addAction(self.actionAboutQt) + self.mainToolBar.addAction(self.actionConnect) + self.mainToolBar.addAction(self.actionDisconnect) + self.mainToolBar.addAction(self.actionConfigure) + self.mainToolBar.addAction(self.actionClear) + + self.retranslateUi(MainWindow) + + QMetaObject.connectSlotsByName(MainWindow) + # setupUi + + def retranslateUi(self, MainWindow): + MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"Simple Terminal", None)) + self.actionAbout.setText(QCoreApplication.translate("MainWindow", u"&About", None)) +#if QT_CONFIG(tooltip) + self.actionAbout.setToolTip(QCoreApplication.translate("MainWindow", u"About program", None)) +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(shortcut) + self.actionAbout.setShortcut(QCoreApplication.translate("MainWindow", u"Alt+A", None)) +#endif // QT_CONFIG(shortcut) + self.actionAboutQt.setText(QCoreApplication.translate("MainWindow", u"About Qt", None)) + self.actionConnect.setText(QCoreApplication.translate("MainWindow", u"C&onnect", None)) +#if QT_CONFIG(tooltip) + self.actionConnect.setToolTip(QCoreApplication.translate("MainWindow", u"Connect to serial port", None)) +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(shortcut) + self.actionConnect.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+O", None)) +#endif // QT_CONFIG(shortcut) + self.actionDisconnect.setText(QCoreApplication.translate("MainWindow", u"&Disconnect", None)) +#if QT_CONFIG(tooltip) + self.actionDisconnect.setToolTip(QCoreApplication.translate("MainWindow", u"Disconnect from serial port", None)) +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(shortcut) + self.actionDisconnect.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+D", None)) +#endif // QT_CONFIG(shortcut) + self.actionConfigure.setText(QCoreApplication.translate("MainWindow", u"&Configure", None)) +#if QT_CONFIG(tooltip) + self.actionConfigure.setToolTip(QCoreApplication.translate("MainWindow", u"Configure serial port", None)) +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(shortcut) + self.actionConfigure.setShortcut(QCoreApplication.translate("MainWindow", u"Alt+C", None)) +#endif // QT_CONFIG(shortcut) + self.actionClear.setText(QCoreApplication.translate("MainWindow", u"C&lear", None)) +#if QT_CONFIG(tooltip) + self.actionClear.setToolTip(QCoreApplication.translate("MainWindow", u"Clear data", None)) +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(shortcut) + self.actionClear.setShortcut(QCoreApplication.translate("MainWindow", u"Alt+L", None)) +#endif // QT_CONFIG(shortcut) + self.actionQuit.setText(QCoreApplication.translate("MainWindow", u"&Quit", None)) +#if QT_CONFIG(shortcut) + self.actionQuit.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+Q", None)) +#endif // QT_CONFIG(shortcut) + self.menuCalls.setTitle(QCoreApplication.translate("MainWindow", u"Calls", None)) + self.menuTools.setTitle(QCoreApplication.translate("MainWindow", u"Tools", None)) + self.menuHelp.setTitle(QCoreApplication.translate("MainWindow", u"Help", None)) + # retranslateUi + diff --git a/examples/serialport/terminal/ui_settingsdialog.py b/examples/serialport/terminal/ui_settingsdialog.py new file mode 100644 index 0000000..212b60b --- /dev/null +++ b/examples/serialport/terminal/ui_settingsdialog.py @@ -0,0 +1,181 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'settingsdialog.ui' +## +## Created by: Qt User Interface Compiler version 6.4.0 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QApplication, QCheckBox, QComboBox, QDialog, + QGridLayout, QGroupBox, QHBoxLayout, QLabel, + QPushButton, QSizePolicy, QSpacerItem, QVBoxLayout, + QWidget) + +class Ui_SettingsDialog(object): + def setupUi(self, SettingsDialog): + if not SettingsDialog.objectName(): + SettingsDialog.setObjectName(u"SettingsDialog") + SettingsDialog.resize(281, 262) + self.gridLayout_3 = QGridLayout(SettingsDialog) + self.gridLayout_3.setObjectName(u"gridLayout_3") + self.parametersBox = QGroupBox(SettingsDialog) + self.parametersBox.setObjectName(u"parametersBox") + self.gridLayout_2 = QGridLayout(self.parametersBox) + self.gridLayout_2.setObjectName(u"gridLayout_2") + self.baudRateLabel = QLabel(self.parametersBox) + self.baudRateLabel.setObjectName(u"baudRateLabel") + + self.gridLayout_2.addWidget(self.baudRateLabel, 0, 0, 1, 1) + + self.baudRateBox = QComboBox(self.parametersBox) + self.baudRateBox.setObjectName(u"baudRateBox") + + self.gridLayout_2.addWidget(self.baudRateBox, 0, 1, 1, 1) + + self.dataBitsLabel = QLabel(self.parametersBox) + self.dataBitsLabel.setObjectName(u"dataBitsLabel") + + self.gridLayout_2.addWidget(self.dataBitsLabel, 1, 0, 1, 1) + + self.dataBitsBox = QComboBox(self.parametersBox) + self.dataBitsBox.setObjectName(u"dataBitsBox") + + self.gridLayout_2.addWidget(self.dataBitsBox, 1, 1, 1, 1) + + self.parityLabel = QLabel(self.parametersBox) + self.parityLabel.setObjectName(u"parityLabel") + + self.gridLayout_2.addWidget(self.parityLabel, 2, 0, 1, 1) + + self.parityBox = QComboBox(self.parametersBox) + self.parityBox.setObjectName(u"parityBox") + + self.gridLayout_2.addWidget(self.parityBox, 2, 1, 1, 1) + + self.stopBitsLabel = QLabel(self.parametersBox) + self.stopBitsLabel.setObjectName(u"stopBitsLabel") + + self.gridLayout_2.addWidget(self.stopBitsLabel, 3, 0, 1, 1) + + self.stopBitsBox = QComboBox(self.parametersBox) + self.stopBitsBox.setObjectName(u"stopBitsBox") + + self.gridLayout_2.addWidget(self.stopBitsBox, 3, 1, 1, 1) + + self.flowControlLabel = QLabel(self.parametersBox) + self.flowControlLabel.setObjectName(u"flowControlLabel") + + self.gridLayout_2.addWidget(self.flowControlLabel, 4, 0, 1, 1) + + self.flowControlBox = QComboBox(self.parametersBox) + self.flowControlBox.setObjectName(u"flowControlBox") + + self.gridLayout_2.addWidget(self.flowControlBox, 4, 1, 1, 1) + + + self.gridLayout_3.addWidget(self.parametersBox, 0, 1, 1, 1) + + self.selectBox = QGroupBox(SettingsDialog) + self.selectBox.setObjectName(u"selectBox") + self.gridLayout = QGridLayout(self.selectBox) + self.gridLayout.setObjectName(u"gridLayout") + self.serialPortInfoListBox = QComboBox(self.selectBox) + self.serialPortInfoListBox.setObjectName(u"serialPortInfoListBox") + + self.gridLayout.addWidget(self.serialPortInfoListBox, 0, 0, 1, 1) + + self.descriptionLabel = QLabel(self.selectBox) + self.descriptionLabel.setObjectName(u"descriptionLabel") + + self.gridLayout.addWidget(self.descriptionLabel, 1, 0, 1, 1) + + self.manufacturerLabel = QLabel(self.selectBox) + self.manufacturerLabel.setObjectName(u"manufacturerLabel") + + self.gridLayout.addWidget(self.manufacturerLabel, 2, 0, 1, 1) + + self.serialNumberLabel = QLabel(self.selectBox) + self.serialNumberLabel.setObjectName(u"serialNumberLabel") + + self.gridLayout.addWidget(self.serialNumberLabel, 3, 0, 1, 1) + + self.locationLabel = QLabel(self.selectBox) + self.locationLabel.setObjectName(u"locationLabel") + + self.gridLayout.addWidget(self.locationLabel, 4, 0, 1, 1) + + self.vidLabel = QLabel(self.selectBox) + self.vidLabel.setObjectName(u"vidLabel") + + self.gridLayout.addWidget(self.vidLabel, 5, 0, 1, 1) + + self.pidLabel = QLabel(self.selectBox) + self.pidLabel.setObjectName(u"pidLabel") + + self.gridLayout.addWidget(self.pidLabel, 6, 0, 1, 1) + + + self.gridLayout_3.addWidget(self.selectBox, 0, 0, 1, 1) + + self.horizontalLayout = QHBoxLayout() + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.horizontalSpacer = QSpacerItem(96, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) + + self.horizontalLayout.addItem(self.horizontalSpacer) + + self.applyButton = QPushButton(SettingsDialog) + self.applyButton.setObjectName(u"applyButton") + + self.horizontalLayout.addWidget(self.applyButton) + + + self.gridLayout_3.addLayout(self.horizontalLayout, 2, 0, 1, 2) + + self.additionalOptionsGroupBox = QGroupBox(SettingsDialog) + self.additionalOptionsGroupBox.setObjectName(u"additionalOptionsGroupBox") + self.verticalLayout = QVBoxLayout(self.additionalOptionsGroupBox) + self.verticalLayout.setObjectName(u"verticalLayout") + self.localEchoCheckBox = QCheckBox(self.additionalOptionsGroupBox) + self.localEchoCheckBox.setObjectName(u"localEchoCheckBox") + self.localEchoCheckBox.setChecked(True) + + self.verticalLayout.addWidget(self.localEchoCheckBox) + + + self.gridLayout_3.addWidget(self.additionalOptionsGroupBox, 1, 0, 1, 2) + + + self.retranslateUi(SettingsDialog) + + QMetaObject.connectSlotsByName(SettingsDialog) + # setupUi + + def retranslateUi(self, SettingsDialog): + SettingsDialog.setWindowTitle(QCoreApplication.translate("SettingsDialog", u"Settings", None)) + self.parametersBox.setTitle(QCoreApplication.translate("SettingsDialog", u"Select Parameters", None)) + self.baudRateLabel.setText(QCoreApplication.translate("SettingsDialog", u"BaudRate:", None)) + self.dataBitsLabel.setText(QCoreApplication.translate("SettingsDialog", u"Data bits:", None)) + self.parityLabel.setText(QCoreApplication.translate("SettingsDialog", u"Parity:", None)) + self.stopBitsLabel.setText(QCoreApplication.translate("SettingsDialog", u"Stop bits:", None)) + self.flowControlLabel.setText(QCoreApplication.translate("SettingsDialog", u"Flow control:", None)) + self.selectBox.setTitle(QCoreApplication.translate("SettingsDialog", u"Select Serial Port", None)) + self.descriptionLabel.setText(QCoreApplication.translate("SettingsDialog", u"Description:", None)) + self.manufacturerLabel.setText(QCoreApplication.translate("SettingsDialog", u"Manufacturer:", None)) + self.serialNumberLabel.setText(QCoreApplication.translate("SettingsDialog", u"Serial number:", None)) + self.locationLabel.setText(QCoreApplication.translate("SettingsDialog", u"Location:", None)) + self.vidLabel.setText(QCoreApplication.translate("SettingsDialog", u"Vendor ID:", None)) + self.pidLabel.setText(QCoreApplication.translate("SettingsDialog", u"Product ID:", None)) + self.applyButton.setText(QCoreApplication.translate("SettingsDialog", u"Apply", None)) + self.additionalOptionsGroupBox.setTitle(QCoreApplication.translate("SettingsDialog", u"Additional options", None)) + self.localEchoCheckBox.setText(QCoreApplication.translate("SettingsDialog", u"Local echo", None)) + # retranslateUi + diff --git a/examples/spatialaudio/audiopanning/audiopanning.pyproject b/examples/spatialaudio/audiopanning/audiopanning.pyproject new file mode 100644 index 0000000..cc7a74a --- /dev/null +++ b/examples/spatialaudio/audiopanning/audiopanning.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py"] +} diff --git a/examples/spatialaudio/audiopanning/doc/audiopanning.rst b/examples/spatialaudio/audiopanning/doc/audiopanning.rst new file mode 100644 index 0000000..ea1fe49 --- /dev/null +++ b/examples/spatialaudio/audiopanning/doc/audiopanning.rst @@ -0,0 +1,15 @@ +Spatial Audio Panning Example +============================= + +The Spatial Audio Example demonstrates how you can use Qt Spatial Audio to +place sound sources in 3D space and how positioning of the sound source and +room properties affect the listening experience. + +The example lets you specify a sound file to be played back at a certain +position in 3D space relative to the listener. Using sliders you can change +the distance and the azimuth and elevation angles to the source. You can also +change dimensions of a virtual room, the intensity of the room reflections +and reverb. + +Various other properties can also be modified such as the dimensions of a virtual +room and the intensity of the room reflections and reverb. diff --git a/examples/spatialaudio/audiopanning/main.py b/examples/spatialaudio/audiopanning/main.py new file mode 100644 index 0000000..55770e3 --- /dev/null +++ b/examples/spatialaudio/audiopanning/main.py @@ -0,0 +1,193 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import math +import sys +from argparse import ArgumentParser, RawTextHelpFormatter + +from PySide6.QtSpatialAudio import (QAudioRoom, QAudioEngine, QAudioListener, + QSpatialSound) +from PySide6.QtWidgets import (QApplication, QCheckBox, QComboBox, QDialog, + QFileDialog, QFormLayout, QHBoxLayout, + QLineEdit, QPushButton, QSlider, QWidget) +from PySide6.QtGui import QGuiApplication, QVector3D, QQuaternion +from PySide6.QtCore import (QCoreApplication, QPropertyAnimation, + QStandardPaths, QUrl, Qt, qVersion, Slot) + + +"""PySide6 port of the spatialaudio/audiopanning example from Qt v6.x""" + + +class AudioWidget(QWidget): + + def __init__(self): + super().__init__() + self._file_dialog = None + self.setMinimumSize(400, 300) + form = QFormLayout(self) + + file_layout = QHBoxLayout() + self._file_edit = QLineEdit() + self._file_edit.setPlaceholderText("Audio File") + file_layout.addWidget(self._file_edit) + self._file_dialog_button = QPushButton("Choose...") + file_layout.addWidget(self._file_dialog_button) + form.addRow(file_layout) + + self._azimuth = QSlider(Qt.Horizontal) + self._azimuth.setRange(-180, 180) + form.addRow("Azimuth (-180 - 180 degree):", self._azimuth) + + self._elevation = QSlider(Qt.Horizontal) + self._elevation.setRange(-90, 90) + form.addRow("Elevation (-90 - 90 degree)", self._elevation) + + self._distance = QSlider(Qt.Horizontal) + self._distance.setRange(0, 1000) + self._distance.setValue(100) + form.addRow("Distance (0 - 10 meter):", self._distance) + + self._occlusion = QSlider(Qt.Horizontal) + self._occlusion.setRange(0, 400) + form.addRow("Occlusion (0 - 4):", self._occlusion) + + self._room_dimension = QSlider(Qt.Horizontal) + self._room_dimension.setRange(0, 10000) + self._room_dimension.setValue(1000) + form.addRow("Room dimension (0 - 100 meter):", self._room_dimension) + + self._reverb_gain = QSlider(Qt.Horizontal) + self._reverb_gain.setRange(0, 500) + self._reverb_gain.setValue(0) + form.addRow("Reverb gain (0-5):", self._reverb_gain) + + self._reflection_gain = QSlider(Qt.Horizontal) + self._reflection_gain.setRange(0, 500) + self._reflection_gain.setValue(0) + form.addRow("Reflection gain (0-5):", self._reflection_gain) + + self._mode = QComboBox() + self._mode.addItem("Surround", QAudioEngine.Surround) + self._mode.addItem("Stereo", QAudioEngine.Stereo) + self._mode.addItem("Headphone", QAudioEngine.Headphone) + + form.addRow("Output mode:", self._mode) + + self._animate_button = QCheckBox("Animate sound position") + form.addRow(self._animate_button) + + self._file_edit.textChanged.connect(self.file_changed) + self._file_dialog_button.clicked.connect(self.open_file_dialog) + + self._azimuth.valueChanged.connect(self.update_position) + self._elevation.valueChanged.connect(self.update_position) + self._distance.valueChanged.connect(self.update_position) + self._occlusion.valueChanged.connect(self.new_occlusion) + + self._room_dimension.valueChanged.connect(self.update_room) + self._reverb_gain.valueChanged.connect(self.update_room) + self._reflection_gain.valueChanged.connect(self.update_room) + + self._mode.currentIndexChanged.connect(self.mode_changed) + + self._engine = QAudioEngine() + self._room = QAudioRoom(self._engine) + self._room.setWallMaterial(QAudioRoom.BackWall, QAudioRoom.BrickBare) + self._room.setWallMaterial(QAudioRoom.FrontWall, QAudioRoom.BrickBare) + self._room.setWallMaterial(QAudioRoom.LeftWall, QAudioRoom.BrickBare) + self._room.setWallMaterial(QAudioRoom.RightWall, QAudioRoom.BrickBare) + self._room.setWallMaterial(QAudioRoom.Floor, QAudioRoom.Marble) + self._room.setWallMaterial(QAudioRoom.Ceiling, QAudioRoom.WoodCeiling) + self.update_room() + + self._listener = QAudioListener(self._engine) + self._listener.setPosition(QVector3D()) + self._listener.setRotation(QQuaternion()) + self._engine.start() + + self._sound = QSpatialSound(self._engine) + self.update_position() + + self._animation = QPropertyAnimation(self._azimuth, b"value") + self._animation.setDuration(10000) + self._animation.setStartValue(-180) + self._animation.setEndValue(180) + self._animation.setLoopCount(-1) + self._animate_button.toggled.connect(self.animate_changed) + + def set_file(self, file): + self._file_edit.setText(file) + + def update_position(self): + az = self._azimuth.value() / 180. * math.pi + el = self._elevation.value() / 180. * math.pi + d = self._distance.value() + + x = d * math.sin(az) * math.cos(el) + y = d * math.sin(el) + z = -d * math.cos(az) * math.cos(el) + self._sound.setPosition(QVector3D(x, y, z)) + + @Slot() + def new_occlusion(self): + self._sound.setOcclusionIntensity(self._occlusion.value() / 100.) + + @Slot() + def mode_changed(self): + self._engine.setOutputMode(self._mode.currentData()) + + @Slot(str) + def file_changed(self, file): + self._sound.setSource(QUrl.fromLocalFile(file)) + self._sound.setSize(5) + self._sound.setLoops(QSpatialSound.Infinite) + + @Slot() + def open_file_dialog(self): + if not self._file_dialog: + directory = QStandardPaths.writableLocation(QStandardPaths.MusicLocation) + self._file_dialog = QFileDialog(self, "Open Audio File", directory) + self._file_dialog.setAcceptMode(QFileDialog.AcceptOpen) + mime_types = ["audio/mpeg", "audio/aac", "audio/x-ms-wma", + "audio/x-flac+ogg", "audio/x-wav"] + self._file_dialog.setMimeTypeFilters(mime_types) + self._file_dialog.selectMimeTypeFilter(mime_types[0]) + + if self._file_dialog.exec() == QDialog.Accepted: + self._file_edit.setText(self._file_dialog.selectedFiles()[0]) + + @Slot() + def update_room(self): + d = self._room_dimension.value() + self._room.setDimensions(QVector3D(d, d, 400)) + self._room.setReflectionGain(float(self._reflection_gain.value()) / 100) + self._room.setReverbGain(float(self._reverb_gain.value()) / 100) + + @Slot() + def animate_changed(self): + if self._animate_button.isChecked(): + self._animation.start() + else: + self._animation.stop() + + +if __name__ == '__main__': + app = QApplication(sys.argv) + + name = "Spatial Audio Test Application" + QCoreApplication.setApplicationVersion(qVersion()) + QGuiApplication.setApplicationDisplayName(name) + + argument_parser = ArgumentParser(description=name, + formatter_class=RawTextHelpFormatter) + argument_parser.add_argument("file", help="File", + nargs='?', type=str) + options = argument_parser.parse_args() + + w = AudioWidget() + w.show() + + if options.file: + w.set_file(options.file) + + sys.exit(app.exec()) diff --git a/examples/speech/hello_speak/doc/hello_speak.rst b/examples/speech/hello_speak/doc/hello_speak.rst new file mode 100644 index 0000000..b7c17c3 --- /dev/null +++ b/examples/speech/hello_speak/doc/hello_speak.rst @@ -0,0 +1,16 @@ +Hello Speak +=========== + +The Hello Speak example reads out user-provided text. + +The Hello Speak example demonstrates how QTextToSpeech can be used in a Qt C++ +application to read out text, and to control the speech. + +The example uses a widget UI to provide controls for the pitch, volume, and +rate of the speech. It also lets the user select an engine, the language, and a +voice. + +.. image:: hello_speak.webp + :width: 400 + :alt: Hello Speak Screenshot + diff --git a/examples/speech/hello_speak/doc/hello_speak.webp b/examples/speech/hello_speak/doc/hello_speak.webp new file mode 100644 index 0000000000000000000000000000000000000000..c378d1a4b8bc1471fd57585bd4b90352a3fc83b5 GIT binary patch literal 25432 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 Bv4j8s literal 0 HcmV?d00001 diff --git a/examples/speech/hello_speak/hello_speak.pyproject b/examples/speech/hello_speak/hello_speak.pyproject new file mode 100644 index 0000000..0cefc75 --- /dev/null +++ b/examples/speech/hello_speak/hello_speak.pyproject @@ -0,0 +1,5 @@ +{ + "files": ["main.py", + "mainwindow.py", + "mainwindow.ui"] +} diff --git a/examples/speech/hello_speak/main.py b/examples/speech/hello_speak/main.py new file mode 100644 index 0000000..b025dd6 --- /dev/null +++ b/examples/speech/hello_speak/main.py @@ -0,0 +1,20 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the hello_speak example from Qt v6.x""" + +import sys + +from PySide6.QtCore import QLoggingCategory +from PySide6.QtWidgets import QApplication + +from mainwindow import MainWindow + + +if __name__ == "__main__": + QLoggingCategory.setFilterRules("qt.speech.tts=true\nqt.speech.tts.*=true") + + app = QApplication(sys.argv) + win = MainWindow() + win.show() + sys.exit(app.exec()) diff --git a/examples/speech/hello_speak/mainwindow.py b/examples/speech/hello_speak/mainwindow.py new file mode 100644 index 0000000..7790fec --- /dev/null +++ b/examples/speech/hello_speak/mainwindow.py @@ -0,0 +1,134 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QLocale, QSignalBlocker, Slot +from PySide6.QtWidgets import QMainWindow +from PySide6.QtTextToSpeech import QTextToSpeech, QVoice + +from ui_mainwindow import Ui_MainWindow + + +class MainWindow(QMainWindow): + + def __init__(self, parent=None): + super().__init__(parent) + + self._speech = None + self._voices = [] + + self._ui = Ui_MainWindow() + self._ui.setupUi(self) + + # Populate engine selection list + self._ui.engine.addItem("Default", "default") + engines = QTextToSpeech.availableEngines() + for engine in engines: + self._ui.engine.addItem(engine, engine) + self._ui.engine.setCurrentIndex(0) + self.engine_selected(0) + + self._ui.pitch.valueChanged.connect(self.set_pitch) + self._ui.rate.valueChanged.connect(self.set_rate) + self._ui.volume.valueChanged.connect(self.set_volume) + self._ui.engine.currentIndexChanged.connect(self.engine_selected) + self._ui.voice.currentIndexChanged.connect(self.voice_selected) + self._ui.language.currentIndexChanged.connect(self.language_selected) + + @Slot(int) + def set_rate(self, rate): + self._speech.setRate(rate / 10.0) + + @Slot(int) + def set_pitch(self, pitch): + self._speech.setPitch(pitch / 10.0) + + @Slot(int) + def set_volume(self, volume): + self._speech.setVolume(volume / 100.0) + + @Slot(QTextToSpeech.State) + def state_changed(self, state): + if state == QTextToSpeech.Speaking: + self._ui.statusbar.showMessage("Speech started...") + elif state == QTextToSpeech.Ready: + self._ui.statusbar.showMessage("Speech stopped...", 2000) + elif state == QTextToSpeech.Paused: + self._ui.statusbar.showMessage("Speech paused...") + else: + self._ui.statusbar.showMessage("Speech error!") + + self._ui.pauseButton.setEnabled(state == QTextToSpeech.Speaking) + self._ui.resumeButton.setEnabled(state == QTextToSpeech.Paused) + can_stop = state == QTextToSpeech.Speaking or state == QTextToSpeech.Paused + self._ui.stopButton.setEnabled(can_stop) + + @Slot(int) + def engine_selected(self, index): + engine_name = self._ui.engine.itemData(index) + self._speech = None + self._speech = (QTextToSpeech(self) if engine_name == "default" + else QTextToSpeech(engine_name, self)) + + # Block signals of the languages combobox while populating + current = self._speech.locale() + with QSignalBlocker(self._ui.language): + self._ui.language.clear() + # Populate the languages combobox before connecting its signal. + locales = self._speech.availableLocales() + for locale in locales: + lang = QLocale.languageToString(locale.language()) + territory = QLocale.territoryToString(locale.territory()) + self._ui.language.addItem(f"{lang} ({territory})", locale) + if locale.name() == current.name(): + current = locale + + self.set_rate(self._ui.rate.value()) + self.set_pitch(self._ui.pitch.value()) + self.set_volume(self._ui.volume.value()) + + self._ui.speakButton.clicked.connect(self.speak_text) + self._ui.stopButton.clicked.connect(self.stop_speaking) + self._ui.pauseButton.clicked.connect(self.pause_speaking) + self._ui.resumeButton.clicked.connect(self._speech.resume) + + self._speech.stateChanged.connect(self.state_changed) + self._speech.localeChanged.connect(self.locale_changed) + + self.locale_changed(current) + + @Slot() + def speak_text(self): + self._speech.say(self._ui.plainTextEdit.toPlainText()) + + @Slot() + def stop_speaking(self): + self._speech.stop() + + @Slot() + def pause_speaking(self): + self._speech.pause() + + @Slot(int) + def language_selected(self, language): + locale = self._ui.language.itemData(language) + self._speech.setLocale(locale) + + @Slot(int) + def voice_selected(self, index): + self._speech.setVoice(self._voices[index]) + + @Slot(QLocale) + def locale_changed(self, locale): + self._ui.language.setCurrentIndex(self._ui.language.findData(locale)) + + with QSignalBlocker(self._ui.voice): + self._ui.voice.clear() + self._voices = self._speech.availableVoices() + current_voice = self._speech.voice() + for voice in self._voices: + name = voice.name() + gender = QVoice.genderName(voice.gender()) + age = QVoice.ageName(voice.age()) + self._ui.voice.addItem(f"{name} - {gender} - {age}") + if voice.name() == current_voice.name(): + self._ui.voice.setCurrentIndex(self._ui.voice.count() - 1) diff --git a/examples/speech/hello_speak/mainwindow.ui b/examples/speech/hello_speak/mainwindow.ui new file mode 100644 index 0000000..6f3accf --- /dev/null +++ b/examples/speech/hello_speak/mainwindow.ui @@ -0,0 +1,267 @@ + + + MainWindow + + + + 0 + 0 + 551 + 448 + + + + MainWindow + + + + + + + + 0 + 0 + + + + Hello QtTextToSpeech, +this is an example text in English. + +QtSpeech is a library that makes text to speech easy with Qt. +Done, over and out. + + + + + + + + + + 0 + 0 + + + + Engine + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + Pitch: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + &Language: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + language + + + + + + + -10 + + + 10 + + + 1 + + + Qt::Horizontal + + + + + + + Voice name: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 100 + + + 5 + + + 20 + + + 70 + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + Rate: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + Volume: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + -10 + + + 10 + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + + + + + + + + + Speak + + + + + + + false + + + Pause + + + + + + + false + + + Resume + + + + + + + Stop + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + plainTextEdit + speakButton + pauseButton + resumeButton + stopButton + + + + diff --git a/examples/speech/hello_speak/ui_mainwindow.py b/examples/speech/hello_speak/ui_mainwindow.py new file mode 100644 index 0000000..b42d35f --- /dev/null +++ b/examples/speech/hello_speak/ui_mainwindow.py @@ -0,0 +1,211 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'mainwindow.ui' +## +## Created by: Qt User Interface Compiler version 6.5.0 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QApplication, QComboBox, QGridLayout, QHBoxLayout, + QLabel, QMainWindow, QPlainTextEdit, QPushButton, + QSizePolicy, QSlider, QSpacerItem, QStatusBar, + QVBoxLayout, QWidget) + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + if not MainWindow.objectName(): + MainWindow.setObjectName(u"MainWindow") + MainWindow.resize(551, 448) + self.centralwidget = QWidget(MainWindow) + self.centralwidget.setObjectName(u"centralwidget") + self.verticalLayout = QVBoxLayout(self.centralwidget) + self.verticalLayout.setObjectName(u"verticalLayout") + self.plainTextEdit = QPlainTextEdit(self.centralwidget) + self.plainTextEdit.setObjectName(u"plainTextEdit") + sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.plainTextEdit.sizePolicy().hasHeightForWidth()) + self.plainTextEdit.setSizePolicy(sizePolicy) + + self.verticalLayout.addWidget(self.plainTextEdit) + + self.gridLayout = QGridLayout() + self.gridLayout.setObjectName(u"gridLayout") + self.label_5 = QLabel(self.centralwidget) + self.label_5.setObjectName(u"label_5") + sizePolicy1 = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred) + sizePolicy1.setHorizontalStretch(0) + sizePolicy1.setVerticalStretch(0) + sizePolicy1.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth()) + self.label_5.setSizePolicy(sizePolicy1) + self.label_5.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) + + self.gridLayout.addWidget(self.label_5, 4, 0, 1, 1) + + self.label_3 = QLabel(self.centralwidget) + self.label_3.setObjectName(u"label_3") + sizePolicy1.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) + self.label_3.setSizePolicy(sizePolicy1) + self.label_3.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) + + self.gridLayout.addWidget(self.label_3, 3, 0, 1, 1) + + self.label_4 = QLabel(self.centralwidget) + self.label_4.setObjectName(u"label_4") + sizePolicy1.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth()) + self.label_4.setSizePolicy(sizePolicy1) + self.label_4.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) + + self.gridLayout.addWidget(self.label_4, 5, 0, 1, 1) + + self.pitch = QSlider(self.centralwidget) + self.pitch.setObjectName(u"pitch") + self.pitch.setMinimum(-10) + self.pitch.setMaximum(10) + self.pitch.setSingleStep(1) + self.pitch.setOrientation(Qt.Horizontal) + + self.gridLayout.addWidget(self.pitch, 3, 2, 1, 1) + + self.label_6 = QLabel(self.centralwidget) + self.label_6.setObjectName(u"label_6") + self.label_6.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) + + self.gridLayout.addWidget(self.label_6, 6, 0, 1, 1) + + self.volume = QSlider(self.centralwidget) + self.volume.setObjectName(u"volume") + self.volume.setMaximum(100) + self.volume.setSingleStep(5) + self.volume.setPageStep(20) + self.volume.setValue(70) + self.volume.setOrientation(Qt.Horizontal) + + self.gridLayout.addWidget(self.volume, 1, 2, 1, 1) + + self.language = QComboBox(self.centralwidget) + self.language.setObjectName(u"language") + sizePolicy2 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + sizePolicy2.setHorizontalStretch(0) + sizePolicy2.setVerticalStretch(0) + sizePolicy2.setHeightForWidth(self.language.sizePolicy().hasHeightForWidth()) + self.language.setSizePolicy(sizePolicy2) + + self.gridLayout.addWidget(self.language, 5, 2, 1, 1) + + self.voice = QComboBox(self.centralwidget) + self.voice.setObjectName(u"voice") + + self.gridLayout.addWidget(self.voice, 6, 2, 1, 1) + + self.label = QLabel(self.centralwidget) + self.label.setObjectName(u"label") + sizePolicy1.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) + self.label.setSizePolicy(sizePolicy1) + self.label.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) + + self.gridLayout.addWidget(self.label, 2, 0, 1, 1) + + self.label_2 = QLabel(self.centralwidget) + self.label_2.setObjectName(u"label_2") + sizePolicy1.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) + self.label_2.setSizePolicy(sizePolicy1) + self.label_2.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter) + + self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1) + + self.rate = QSlider(self.centralwidget) + self.rate.setObjectName(u"rate") + self.rate.setMinimum(-10) + self.rate.setMaximum(10) + self.rate.setOrientation(Qt.Horizontal) + + self.gridLayout.addWidget(self.rate, 2, 2, 1, 1) + + self.engine = QComboBox(self.centralwidget) + self.engine.setObjectName(u"engine") + sizePolicy2.setHeightForWidth(self.engine.sizePolicy().hasHeightForWidth()) + self.engine.setSizePolicy(sizePolicy2) + + self.gridLayout.addWidget(self.engine, 4, 2, 1, 1) + + + self.verticalLayout.addLayout(self.gridLayout) + + self.horizontalLayout = QHBoxLayout() + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.speakButton = QPushButton(self.centralwidget) + self.speakButton.setObjectName(u"speakButton") + + self.horizontalLayout.addWidget(self.speakButton) + + self.pauseButton = QPushButton(self.centralwidget) + self.pauseButton.setObjectName(u"pauseButton") + self.pauseButton.setEnabled(False) + + self.horizontalLayout.addWidget(self.pauseButton) + + self.resumeButton = QPushButton(self.centralwidget) + self.resumeButton.setObjectName(u"resumeButton") + self.resumeButton.setEnabled(False) + + self.horizontalLayout.addWidget(self.resumeButton) + + self.stopButton = QPushButton(self.centralwidget) + self.stopButton.setObjectName(u"stopButton") + + self.horizontalLayout.addWidget(self.stopButton) + + + self.verticalLayout.addLayout(self.horizontalLayout) + + self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) + + self.verticalLayout.addItem(self.verticalSpacer) + + MainWindow.setCentralWidget(self.centralwidget) + self.statusbar = QStatusBar(MainWindow) + self.statusbar.setObjectName(u"statusbar") + MainWindow.setStatusBar(self.statusbar) +#if QT_CONFIG(shortcut) + self.label_4.setBuddy(self.language) +#endif // QT_CONFIG(shortcut) + QWidget.setTabOrder(self.plainTextEdit, self.speakButton) + QWidget.setTabOrder(self.speakButton, self.pauseButton) + QWidget.setTabOrder(self.pauseButton, self.resumeButton) + QWidget.setTabOrder(self.resumeButton, self.stopButton) + + self.retranslateUi(MainWindow) + + QMetaObject.connectSlotsByName(MainWindow) + # setupUi + + def retranslateUi(self, MainWindow): + MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None)) + self.plainTextEdit.setPlainText(QCoreApplication.translate("MainWindow", u"Hello QtTextToSpeech,\n" +"this is an example text in English.\n" +"\n" +"QtSpeech is a library that makes text to speech easy with Qt.\n" +"Done, over and out.", None)) + self.label_5.setText(QCoreApplication.translate("MainWindow", u"Engine", None)) + self.label_3.setText(QCoreApplication.translate("MainWindow", u"Pitch:", None)) + self.label_4.setText(QCoreApplication.translate("MainWindow", u"&Language:", None)) + self.label_6.setText(QCoreApplication.translate("MainWindow", u"Voice name:", None)) + self.label.setText(QCoreApplication.translate("MainWindow", u"Rate:", None)) + self.label_2.setText(QCoreApplication.translate("MainWindow", u"Volume:", None)) + self.speakButton.setText(QCoreApplication.translate("MainWindow", u"Speak", None)) + self.pauseButton.setText(QCoreApplication.translate("MainWindow", u"Pause", None)) + self.resumeButton.setText(QCoreApplication.translate("MainWindow", u"Resume", None)) + self.stopButton.setText(QCoreApplication.translate("MainWindow", u"Stop", None)) + # retranslateUi + diff --git a/examples/sql/books/bookdelegate.py b/examples/sql/books/bookdelegate.py new file mode 100644 index 0000000..1d1dba8 --- /dev/null +++ b/examples/sql/books/bookdelegate.py @@ -0,0 +1,94 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import copy +from PySide6.QtSql import QSqlRelationalDelegate +from PySide6.QtWidgets import QSpinBox, QStyle +from PySide6.QtGui import QPixmap, QPalette +from PySide6.QtCore import QEvent, QSize, Qt + + +class BookDelegate(QSqlRelationalDelegate): + """Books delegate to rate the books""" + + def __init__(self, parent=None): + QSqlRelationalDelegate.__init__(self, parent) + self.star = QPixmap(":/images/star.png") + + def paint(self, painter, option, index): + """ Paint the items in the table. + + If the item referred to by is a StarRating, we + handle the painting ourselves. For the other items, we + let the base class handle the painting as usual. + + In a polished application, we'd use a better check than + the column number to find out if we needed to paint the + stars, but it works for the purposes of this example. + """ + if index.column() != 5: + # Since we draw the grid ourselves: + opt = copy.copy(option) + opt.rect = option.rect.adjusted(0, 0, -1, -1) + QSqlRelationalDelegate.paint(self, painter, opt, index) + else: + model = index.model() + if option.state & QStyle.State_Enabled: + if option.state & QStyle.State_Active: + color_group = QPalette.Normal + else: + color_group = QPalette.Inactive + else: + color_group = QPalette.Disabled + + if option.state & QStyle.State_Selected: + painter.fillRect(option.rect, + option.palette.color(color_group, QPalette.Highlight)) + rating = model.data(index, Qt.DisplayRole) + width = self.star.width() + height = self.star.height() + x = option.rect.x() + y = option.rect.y() + (option.rect.height() / 2) - (height / 2) + for i in range(rating): + painter.drawPixmap(x, y, self.star) + x += width + + + pen = painter.pen() + painter.setPen(option.palette.color(QPalette.Mid)) + painter.drawLine(option.rect.bottomLeft(), option.rect.bottomRight()) + painter.drawLine(option.rect.topRight(), option.rect.bottomRight()) + painter.setPen(pen) + + def sizeHint(self, option, index): + """ Returns the size needed to display the item in a QSize object. """ + if index.column() == 5: + size_hint = QSize(5 * self.star.width(), self.star.height()) + QSize(1, 1) + return size_hint + # Since we draw the grid ourselves: + return QSqlRelationalDelegate.sizeHint(self, option, index) + QSize(1, 1) + + def editorEvent(self, event, model, option, index): + if index.column() != 5: + return False + + if event.type() == QEvent.MouseButtonPress: + mouse_pos = event.position() + new_stars = int(0.7 + (mouse_pos.x() - option.rect.x()) / self.star.width()) + stars = max(0, min(new_stars, 5)) + model.setData(index, stars) + # So that the selection can change + return False + + return True + + def createEditor(self, parent, option, index): + if index.column() != 4: + return QSqlRelationalDelegate.createEditor(self, parent, option, index) + + # For editing the year, return a spinbox with a range from -1000 to 2100. + spinbox = QSpinBox(parent) + spinbox.setFrame(False) + spinbox.setMaximum(2100) + spinbox.setMinimum(-1000) + return spinbox diff --git a/examples/sql/books/books.pyproject b/examples/sql/books/books.pyproject new file mode 100644 index 0000000..44a1ef2 --- /dev/null +++ b/examples/sql/books/books.pyproject @@ -0,0 +1,5 @@ +{ + "files": ["main.py", "bookdelegate.py", "bookwindow.py", + "createdb.py", "books.qrc", "bookwindow.ui", + "images/star.png"] +} diff --git a/examples/sql/books/books.qrc b/examples/sql/books/books.qrc new file mode 100644 index 0000000..d6ad213 --- /dev/null +++ b/examples/sql/books/books.qrc @@ -0,0 +1,5 @@ + + + images/star.png + + diff --git a/examples/sql/books/bookwindow.py b/examples/sql/books/bookwindow.py new file mode 100644 index 0000000..4acb63d --- /dev/null +++ b/examples/sql/books/bookwindow.py @@ -0,0 +1,98 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtWidgets import (QAbstractItemView, QDataWidgetMapper, + QHeaderView, QMainWindow, QMessageBox) +from PySide6.QtGui import QKeySequence +from PySide6.QtSql import QSqlRelation, QSqlRelationalTableModel, QSqlTableModel +from PySide6.QtCore import Qt, Slot +import createdb +from ui_bookwindow import Ui_BookWindow +from bookdelegate import BookDelegate + + +class BookWindow(QMainWindow, Ui_BookWindow): + """A window to show the books available""" + + def __init__(self): + super().__init__() + self.setupUi(self) + + # Initialize db + createdb.init_db() + + model = QSqlRelationalTableModel(self.bookTable) + model.setEditStrategy(QSqlTableModel.OnManualSubmit) + model.setTable("books") + + # Remember the indexes of the columns: + author_idx = model.fieldIndex("author") + genre_idx = model.fieldIndex("genre") + + # Set the relations to the other database tables: + model.setRelation(author_idx, QSqlRelation("authors", "id", "name")) + model.setRelation(genre_idx, QSqlRelation("genres", "id", "name")) + + # Set the localized header captions: + model.setHeaderData(author_idx, Qt.Horizontal, self.tr("Author Name")) + model.setHeaderData(genre_idx, Qt.Horizontal, self.tr("Genre")) + model.setHeaderData(model.fieldIndex("title"), Qt.Horizontal, self.tr("Title")) + model.setHeaderData(model.fieldIndex("year"), Qt.Horizontal, self.tr("Year")) + model.setHeaderData(model.fieldIndex("rating"), Qt.Horizontal, self.tr("Rating")) + + if not model.select(): + print(model.lastError()) + + # Set the model and hide the ID column: + self.bookTable.setModel(model) + self.bookTable.setItemDelegate(BookDelegate(self.bookTable)) + self.bookTable.setColumnHidden(model.fieldIndex("id"), True) + self.bookTable.setSelectionMode(QAbstractItemView.SingleSelection) + + # Initialize the Author combo box: + self.authorEdit.setModel(model.relationModel(author_idx)) + self.authorEdit.setModelColumn(model.relationModel(author_idx).fieldIndex("name")) + + self.genreEdit.setModel(model.relationModel(genre_idx)) + self.genreEdit.setModelColumn(model.relationModel(genre_idx).fieldIndex("name")) + + # Lock and prohibit resizing of the width of the rating column: + self.bookTable.horizontalHeader().setSectionResizeMode(model.fieldIndex("rating"), + QHeaderView.ResizeToContents) + + mapper = QDataWidgetMapper(self) + mapper.setModel(model) + mapper.setItemDelegate(BookDelegate(self)) + mapper.addMapping(self.titleEdit, model.fieldIndex("title")) + mapper.addMapping(self.yearEdit, model.fieldIndex("year")) + mapper.addMapping(self.authorEdit, author_idx) + mapper.addMapping(self.genreEdit, genre_idx) + mapper.addMapping(self.ratingEdit, model.fieldIndex("rating")) + + selection_model = self.bookTable.selectionModel() + selection_model.currentRowChanged.connect(mapper.setCurrentModelIndex) + + self.bookTable.setCurrentIndex(model.index(0, 0)) + self.create_menubar() + + def showError(self, err): + QMessageBox.critical(self, "Unable to initialize Database", + f"Error initializing database: {err.text()}") + + def create_menubar(self): + file_menu = self.menuBar().addMenu(self.tr("&File")) + quit_action = file_menu.addAction(self.tr("&Quit")) + quit_action.triggered.connect(qApp.quit) + + help_menu = self.menuBar().addMenu(self.tr("&Help")) + about_action = help_menu.addAction(self.tr("&About")) + about_action.setShortcut(QKeySequence.HelpContents) + about_action.triggered.connect(self.about) + aboutQt_action = help_menu.addAction("&About Qt") + aboutQt_action.triggered.connect(qApp.aboutQt) + + @Slot() + def about(self): + QMessageBox.about(self, self.tr("About Books"), + self.tr("
'
+      + (escaped ? code : escape(code, true))
+      + '
'; + } + + return '
'
+    + (escaped ? code : escape(code, true))
+    + '
\n'; +}; + +Renderer.prototype.blockquote = function(quote) { + return '
\n' + quote + '
\n'; +}; + +Renderer.prototype.html = function(html) { + return html; +}; + +Renderer.prototype.heading = function(text, level, raw) { + if (this.options.headerIds) { + return '' + + text + + '\n'; + } + // ignore IDs + return '' + text + '\n'; +}; + +Renderer.prototype.hr = function() { + return this.options.xhtml ? '
\n' : '
\n'; +}; + +Renderer.prototype.list = function(body, ordered, start) { + var type = ordered ? 'ol' : 'ul', + startatt = (ordered && start !== 1) ? (' start="' + start + '"') : ''; + return '<' + type + startatt + '>\n' + body + '\n'; +}; + +Renderer.prototype.listitem = function(text) { + return '
  • ' + text + '
  • \n'; +}; + +Renderer.prototype.checkbox = function(checked) { + return ' '; +} + +Renderer.prototype.paragraph = function(text) { + return '

    ' + text + '

    \n'; +}; + +Renderer.prototype.table = function(header, body) { + if (body) body = '' + body + ''; + + return '\n' + + '\n' + + header + + '\n' + + body + + '
    \n'; +}; + +Renderer.prototype.tablerow = function(content) { + return '\n' + content + '\n'; +}; + +Renderer.prototype.tablecell = function(content, flags) { + var type = flags.header ? 'th' : 'td'; + var tag = flags.align + ? '<' + type + ' align="' + flags.align + '">' + : '<' + type + '>'; + return tag + content + '\n'; +}; + +// span level renderer +Renderer.prototype.strong = function(text) { + return '' + text + ''; +}; + +Renderer.prototype.em = function(text) { + return '' + text + ''; +}; + +Renderer.prototype.codespan = function(text) { + return '' + text + ''; +}; + +Renderer.prototype.br = function() { + return this.options.xhtml ? '
    ' : '
    '; +}; + +Renderer.prototype.del = function(text) { + return '' + text + ''; +}; + +Renderer.prototype.link = function(href, title, text) { + if (this.options.sanitize) { + try { + var prot = decodeURIComponent(unescape(href)) + .replace(/[^\w:]/g, '') + .toLowerCase(); + } catch (e) { + return text; + } + if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { + return text; + } + } + if (this.options.baseUrl && !originIndependentUrl.test(href)) { + href = resolveUrl(this.options.baseUrl, href); + } + try { + href = encodeURI(href).replace(/%25/g, '%'); + } catch (e) { + return text; + } + var out = '
    '; + return out; +}; + +Renderer.prototype.image = function(href, title, text) { + if (this.options.baseUrl && !originIndependentUrl.test(href)) { + href = resolveUrl(this.options.baseUrl, href); + } + var out = '' + text + '' : '>'; + return out; +}; + +Renderer.prototype.text = function(text) { + return text; +}; + +/** + * TextRenderer + * returns only the textual part of the token + */ + +function TextRenderer() {} + +// no need for block level renderers + +TextRenderer.prototype.strong = +TextRenderer.prototype.em = +TextRenderer.prototype.codespan = +TextRenderer.prototype.del = +TextRenderer.prototype.text = function (text) { + return text; +} + +TextRenderer.prototype.link = +TextRenderer.prototype.image = function(href, title, text) { + return '' + text; +} + +TextRenderer.prototype.br = function() { + return ''; +} + +/** + * Parsing & Compiling + */ + +function Parser(options) { + this.tokens = []; + this.token = null; + this.options = options || marked.defaults; + this.options.renderer = this.options.renderer || new Renderer(); + this.renderer = this.options.renderer; + this.renderer.options = this.options; +} + +/** + * Static Parse Method + */ + +Parser.parse = function(src, options) { + var parser = new Parser(options); + return parser.parse(src); +}; + +/** + * Parse Loop + */ + +Parser.prototype.parse = function(src) { + this.inline = new InlineLexer(src.links, this.options); + // use an InlineLexer with a TextRenderer to extract pure text + this.inlineText = new InlineLexer( + src.links, + merge({}, this.options, {renderer: new TextRenderer()}) + ); + this.tokens = src.reverse(); + + var out = ''; + while (this.next()) { + out += this.tok(); + } + + return out; +}; + +/** + * Next Token + */ + +Parser.prototype.next = function() { + return this.token = this.tokens.pop(); +}; + +/** + * Preview Next Token + */ + +Parser.prototype.peek = function() { + return this.tokens[this.tokens.length - 1] || 0; +}; + +/** + * Parse Text Tokens + */ + +Parser.prototype.parseText = function() { + var body = this.token.text; + + while (this.peek().type === 'text') { + body += '\n' + this.next().text; + } + + return this.inline.output(body); +}; + +/** + * Parse Current Token + */ + +Parser.prototype.tok = function() { + switch (this.token.type) { + case 'space': { + return ''; + } + case 'hr': { + return this.renderer.hr(); + } + case 'heading': { + return this.renderer.heading( + this.inline.output(this.token.text), + this.token.depth, + unescape(this.inlineText.output(this.token.text))); + } + case 'code': { + return this.renderer.code(this.token.text, + this.token.lang, + this.token.escaped); + } + case 'table': { + var header = '', + body = '', + i, + row, + cell, + j; + + // header + cell = ''; + for (i = 0; i < this.token.header.length; i++) { + cell += this.renderer.tablecell( + this.inline.output(this.token.header[i]), + { header: true, align: this.token.align[i] } + ); + } + header += this.renderer.tablerow(cell); + + for (i = 0; i < this.token.cells.length; i++) { + row = this.token.cells[i]; + + cell = ''; + for (j = 0; j < row.length; j++) { + cell += this.renderer.tablecell( + this.inline.output(row[j]), + { header: false, align: this.token.align[j] } + ); + } + + body += this.renderer.tablerow(cell); + } + return this.renderer.table(header, body); + } + case 'blockquote_start': { + body = ''; + + while (this.next().type !== 'blockquote_end') { + body += this.tok(); + } + + return this.renderer.blockquote(body); + } + case 'list_start': { + body = ''; + var ordered = this.token.ordered, + start = this.token.start; + + while (this.next().type !== 'list_end') { + body += this.tok(); + } + + return this.renderer.list(body, ordered, start); + } + case 'list_item_start': { + body = ''; + + if (this.token.task) { + body += this.renderer.checkbox(this.token.checked); + } + + while (this.next().type !== 'list_item_end') { + body += this.token.type === 'text' + ? this.parseText() + : this.tok(); + } + + return this.renderer.listitem(body); + } + case 'loose_item_start': { + body = ''; + + while (this.next().type !== 'list_item_end') { + body += this.tok(); + } + + return this.renderer.listitem(body); + } + case 'html': { + // TODO parse inline content if parameter markdown=1 + return this.renderer.html(this.token.text); + } + case 'paragraph': { + return this.renderer.paragraph(this.inline.output(this.token.text)); + } + case 'text': { + return this.renderer.paragraph(this.parseText()); + } + } +}; + +/** + * Helpers + */ + +function escape(html, encode) { + return html + .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); +} + +function unescape(html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, function(_, n) { + n = n.toLowerCase(); + if (n === 'colon') return ':'; + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' + ? String.fromCharCode(parseInt(n.substring(2), 16)) + : String.fromCharCode(+n.substring(1)); + } + return ''; + }); +} + +function edit(regex, opt) { + regex = regex.source || regex; + opt = opt || ''; + return { + replace: function(name, val) { + val = val.source || val; + val = val.replace(/(^|[^\[])\^/g, '$1'); + regex = regex.replace(name, val); + return this; + }, + getRegex: function() { + return new RegExp(regex, opt); + } + }; +} + +function resolveUrl(base, href) { + if (!baseUrls[' ' + base]) { + // we can ignore everything in base after the last slash of its path component, + // but we might need to add _that_ + // https://tools.ietf.org/html/rfc3986#section-3 + if (/^[^:]+:\/*[^/]*$/.test(base)) { + baseUrls[' ' + base] = base + '/'; + } else { + baseUrls[' ' + base] = base.replace(/[^/]*$/, ''); + } + } + base = baseUrls[' ' + base]; + + if (href.slice(0, 2) === '//') { + return base.replace(/:[\s\S]*/, ':') + href; + } else if (href.charAt(0) === '/') { + return base.replace(/(:\/*[^/]*)[\s\S]*/, '$1') + href; + } else { + return base + href; + } +} +var baseUrls = {}; +var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; + +function noop() {} +noop.exec = noop; + +function merge(obj) { + var i = 1, + target, + key; + + for (; i < arguments.length; i++) { + target = arguments[i]; + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; +} + +function splitCells(tableRow, count) { + var cells = tableRow.replace(/([^\\])\|/g, '$1 |').split(/ +\| */), + i = 0; + + if (cells.length > count) { + cells.splice(count); + } else { + while (cells.length < count) cells.push(''); + } + + for (; i < cells.length; i++) { + cells[i] = cells[i].replace(/\\\|/g, '|'); + } + return cells; +} + +/** + * Marked + */ + +function marked(src, opt, callback) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked(): input parameter is undefined or null'); + } + if (typeof src !== 'string') { + throw new Error('marked(): input parameter is of type ' + + Object.prototype.toString.call(src) + ', string expected'); + } + + if (callback || typeof opt === 'function') { + if (!callback) { + callback = opt; + opt = null; + } + + opt = merge({}, marked.defaults, opt || {}); + + var highlight = opt.highlight, + tokens, + pending, + i = 0; + + try { + tokens = Lexer.lex(src, opt) + } catch (e) { + return callback(e); + } + + pending = tokens.length; + + var done = function(err) { + if (err) { + opt.highlight = highlight; + return callback(err); + } + + var out; + + try { + out = Parser.parse(tokens, opt); + } catch (e) { + err = e; + } + + opt.highlight = highlight; + + return err + ? callback(err) + : callback(null, out); + }; + + if (!highlight || highlight.length < 3) { + return done(); + } + + delete opt.highlight; + + if (!pending) return done(); + + for (; i < tokens.length; i++) { + (function(token) { + if (token.type !== 'code') { + return --pending || done(); + } + return highlight(token.text, token.lang, function(err, code) { + if (err) return done(err); + if (code == null || code === token.text) { + return --pending || done(); + } + token.text = code; + token.escaped = true; + --pending || done(); + }); + })(tokens[i]); + } + + return; + } + try { + if (opt) opt = merge({}, marked.defaults, opt); + return Parser.parse(Lexer.lex(src, opt), opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + if ((opt || marked.defaults).silent) { + return '

    An error occurred:

    '
    +        + escape(e.message + '', true)
    +        + '
    '; + } + throw e; + } +} + +/** + * Options + */ + +marked.options = +marked.setOptions = function(opt) { + merge(marked.defaults, opt); + return marked; +}; + +marked.getDefaults = function () { + return { + baseUrl: null, + breaks: false, + gfm: true, + headerIds: true, + headerPrefix: '', + highlight: null, + langPrefix: 'language-', + mangle: true, + pedantic: false, + renderer: new Renderer(), + sanitize: false, + sanitizer: null, + silent: false, + smartLists: false, + smartypants: false, + tables: true, + xhtml: false + }; +} + +marked.defaults = marked.getDefaults(); + +/** + * Expose + */ + +marked.Parser = Parser; +marked.parser = Parser.parse; + +marked.Renderer = Renderer; +marked.TextRenderer = TextRenderer; + +marked.Lexer = Lexer; +marked.lexer = Lexer.lex; + +marked.InlineLexer = InlineLexer; +marked.inlineLexer = InlineLexer.output; + +marked.parse = marked; + +if (typeof module !== 'undefined' && typeof exports === 'object') { + module.exports = marked; +} else if (typeof define === 'function' && define.amd) { + define(function() { return marked; }); +} else { + root.marked = marked; +} +})(this || (typeof window !== 'undefined' ? window : global)); diff --git a/examples/webenginewidgets/markdowneditor/resources/3rdparty/qt_attribution.json b/examples/webenginewidgets/markdowneditor/resources/3rdparty/qt_attribution.json new file mode 100644 index 0000000..de5458e --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/resources/3rdparty/qt_attribution.json @@ -0,0 +1,35 @@ +[ + { + "Id": "markdowneditor-marked", + "Name": "Marked (WebEngine Markdown Editor example)", + "QDocModule": "qtwebengine", + "QtUsage": "Marked is used in the WebEngine MarkDown Editor example", + "QtParts": [ "examples" ], + "Files": "marked.js", + "Description": "A full-featured markdown parser and compiler, written in JavaScript. Built for speed.", + "Homepage": "https://github.com/chjj/marked", + "Version": "0.4.0", + "DownloadLocation": "https://github.com/markedjs/marked/blob/0.4.0/lib/marked.js", + "Copyright": "Copyright (c) 2011-2018, Christopher Jeffrey", + "License": "MIT License", + "LicenseId": "MIT", + "LicenseFile": "MARKED-LICENSE.txt" + }, + { + "Id": "markdowneditor-markdowncss", + "Name": "Markdown.css (WebEngine Markdown Editor example)", + "QDocModule": "qtwebengine", + "QtUsage": "markdown.css is used in the WebEngine MarkDown Editor example", + "QtParts": [ "examples" ], + "Files": "markdown.css", + "Description": "Markdown.css is better default styling for your Markdown files.", + "Homepage": "https://kevinburke.bitbucket.io/markdowncss/", + "Version": "188530e4b5d020d7e237fc6b26be13ebf4a8def3", + "DownloadLocation": "https://bitbucket.org/kevinburke/markdowncss/src/188530e4b5d020d7e237fc6b26be13ebf4a8def3/markdown.css", + "Copyright": "Copyright 2011 Kevin Burke + Copyright Twitter Inc.", + "License": "Apache License 2.0", + "LicenseId": "Apache-2.0", + "LicenseFile": "MARKDOWN-LICENSE.txt" + } +] diff --git a/examples/webenginewidgets/markdowneditor/resources/default.md b/examples/webenginewidgets/markdowneditor/resources/default.md new file mode 100644 index 0000000..d29cdfe --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/resources/default.md @@ -0,0 +1,12 @@ +## WebEngine Markdown Editor Example + +This example uses [QWebEngineView](https://doc.qt.io/qt-5/qwebengineview.html) +to preview text written using the [Markdown](https://en.wikipedia.org/wiki/Markdown) +syntax. + +### Acknowledgments + +The conversion from Markdown to HTML is done with the help of the +[marked JavaScript library](https://github.com/chjj/marked) by _Christopher Jeffrey_. +The [style sheet](https://kevinburke.bitbucket.io/markdowncss/) +was created by _Kevin Burke_. diff --git a/examples/webenginewidgets/markdowneditor/resources/index.html b/examples/webenginewidgets/markdowneditor/resources/index.html new file mode 100644 index 0000000..c8e30b4 --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/resources/index.html @@ -0,0 +1,32 @@ + + + + + + + + + +
    + + + + + + diff --git a/examples/webenginewidgets/markdowneditor/resources/markdowneditor.qrc b/examples/webenginewidgets/markdowneditor/resources/markdowneditor.qrc new file mode 100644 index 0000000..bc738f1 --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/resources/markdowneditor.qrc @@ -0,0 +1,8 @@ + + + default.md + index.html + 3rdparty/markdown.css + 3rdparty/marked.js + + diff --git a/examples/webenginewidgets/markdowneditor/ui_mainwindow.py b/examples/webenginewidgets/markdowneditor/ui_mainwindow.py new file mode 100644 index 0000000..0705ebf --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/ui_mainwindow.py @@ -0,0 +1,115 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'mainwindow.ui' +## +## Created by: Qt User Interface Compiler version 6.2.3 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient, + QCursor, QFont, QFontDatabase, QGradient, + QIcon, QImage, QKeySequence, QLinearGradient, + QPainter, QPalette, QPixmap, QRadialGradient, + QTransform) +from PySide6.QtWebEngineWidgets import QWebEngineView +from PySide6.QtWidgets import (QApplication, QHBoxLayout, QMainWindow, QMenu, + QMenuBar, QPlainTextEdit, QSizePolicy, QSplitter, + QStatusBar, QWidget) + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + if not MainWindow.objectName(): + MainWindow.setObjectName(u"MainWindow") + MainWindow.resize(800, 600) + self.actionOpen = QAction(MainWindow) + self.actionOpen.setObjectName(u"actionOpen") + self.actionSave = QAction(MainWindow) + self.actionSave.setObjectName(u"actionSave") + self.actionExit = QAction(MainWindow) + self.actionExit.setObjectName(u"actionExit") + self.actionSaveAs = QAction(MainWindow) + self.actionSaveAs.setObjectName(u"actionSaveAs") + self.actionNew = QAction(MainWindow) + self.actionNew.setObjectName(u"actionNew") + self.centralwidget = QWidget(MainWindow) + self.centralwidget.setObjectName(u"centralwidget") + self.horizontalLayout = QHBoxLayout(self.centralwidget) + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.splitter = QSplitter(self.centralwidget) + self.splitter.setObjectName(u"splitter") + self.splitter.setOrientation(Qt.Horizontal) + self.editor = QPlainTextEdit(self.splitter) + self.editor.setObjectName(u"editor") + self.splitter.addWidget(self.editor) + self.preview = QWebEngineView(self.splitter) + self.preview.setObjectName(u"preview") + self.splitter.addWidget(self.preview) + + self.horizontalLayout.addWidget(self.splitter) + + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QMenuBar(MainWindow) + self.menubar.setObjectName(u"menubar") + self.menubar.setGeometry(QRect(0, 0, 800, 26)) + self.menu_File = QMenu(self.menubar) + self.menu_File.setObjectName(u"menu_File") + MainWindow.setMenuBar(self.menubar) + self.statusbar = QStatusBar(MainWindow) + self.statusbar.setObjectName(u"statusbar") + MainWindow.setStatusBar(self.statusbar) + + self.menubar.addAction(self.menu_File.menuAction()) + self.menu_File.addAction(self.actionNew) + self.menu_File.addAction(self.actionOpen) + self.menu_File.addAction(self.actionSave) + self.menu_File.addAction(self.actionSaveAs) + self.menu_File.addSeparator() + self.menu_File.addAction(self.actionExit) + + self.retranslateUi(MainWindow) + + QMetaObject.connectSlotsByName(MainWindow) + # setupUi + + def retranslateUi(self, MainWindow): + MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MarkDown Editor", None)) + self.actionOpen.setText(QCoreApplication.translate("MainWindow", u"&Open...", None)) +#if QT_CONFIG(tooltip) + self.actionOpen.setToolTip(QCoreApplication.translate("MainWindow", u"Open document", None)) +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(shortcut) + self.actionOpen.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+O", None)) +#endif // QT_CONFIG(shortcut) + self.actionSave.setText(QCoreApplication.translate("MainWindow", u"&Save", None)) +#if QT_CONFIG(tooltip) + self.actionSave.setToolTip(QCoreApplication.translate("MainWindow", u"Save current document", None)) +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(shortcut) + self.actionSave.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+S", None)) +#endif // QT_CONFIG(shortcut) + self.actionExit.setText(QCoreApplication.translate("MainWindow", u"E&xit", None)) +#if QT_CONFIG(tooltip) + self.actionExit.setToolTip(QCoreApplication.translate("MainWindow", u"Exit editor", None)) +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(shortcut) + self.actionExit.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+Q", None)) +#endif // QT_CONFIG(shortcut) + self.actionSaveAs.setText(QCoreApplication.translate("MainWindow", u"Save &As...", None)) +#if QT_CONFIG(tooltip) + self.actionSaveAs.setToolTip(QCoreApplication.translate("MainWindow", u"Save document under different name", None)) +#endif // QT_CONFIG(tooltip) + self.actionNew.setText(QCoreApplication.translate("MainWindow", u"&New", None)) +#if QT_CONFIG(tooltip) + self.actionNew.setToolTip(QCoreApplication.translate("MainWindow", u"Create new document", None)) +#endif // QT_CONFIG(tooltip) +#if QT_CONFIG(shortcut) + self.actionNew.setShortcut(QCoreApplication.translate("MainWindow", u"Ctrl+N", None)) +#endif // QT_CONFIG(shortcut) + self.menu_File.setTitle(QCoreApplication.translate("MainWindow", u"&File", None)) + # retranslateUi + diff --git a/examples/webenginewidgets/notifications/doc/notifications.png b/examples/webenginewidgets/notifications/doc/notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..3540be8d196c177cf4c7152f4a73e8e1e3d37b84 GIT binary patch literal 21374 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 + +.. image:: notifications.png + :width: 400 + :alt: Notifications Example Screenshot diff --git a/examples/webenginewidgets/notifications/main.py b/examples/webenginewidgets/notifications/main.py new file mode 100644 index 0000000..b59aead --- /dev/null +++ b/examples/webenginewidgets/notifications/main.py @@ -0,0 +1,57 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 WebEngineWidgets Notifications Example""" + +import sys +from pathlib import Path + +from PySide6.QtCore import QUrl, QCoreApplication +from PySide6.QtWidgets import QApplication +from PySide6.QtWebEngineCore import QWebEnginePage +from PySide6.QtWebEngineWidgets import QWebEngineView +from PySide6.QtGui import QDesktopServices + +from notificationpopup import NotificationPopup + + +class WebEnginePage(QWebEnginePage): + def __init__(self, parent): + super().__init__(parent) + + def acceptNavigationRequest(self, url: QUrl, *_): + if url.scheme != "https": + return True + QDesktopServices.openUrl(url) + return False + + +if __name__ == '__main__': + + src_dir = Path(__file__).resolve().parent + QCoreApplication.setOrganizationName("QtProject") + app = QApplication(sys.argv) + view = QWebEngineView() + + # set custom page to open all page's links for https scheme in system browser + view.setPage(WebEnginePage(view)) + + def set_feature_permission(origin: QUrl, feature: QWebEnginePage.Feature): + if feature != QWebEnginePage.Notifications: + return + + view.page().setFeaturePermission(origin, feature, QWebEnginePage.PermissionGrantedByUser) + + view.page().featurePermissionRequested.connect(set_feature_permission) + profile = view.page().profile() + popup = NotificationPopup(view) + + def presentNotification(notification): + popup.present(notification) + + profile.setNotificationPresenter(presentNotification) + view.resize(640, 480) + view.show() + view.setUrl(QUrl.fromLocalFile(src_dir / "resources" / "index.html")) + + sys.exit(app.exec()) diff --git a/examples/webenginewidgets/notifications/notificationpopup.py b/examples/webenginewidgets/notifications/notificationpopup.py new file mode 100644 index 0000000..bbea861 --- /dev/null +++ b/examples/webenginewidgets/notifications/notificationpopup.py @@ -0,0 +1,68 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Qt, QTimer, QPoint, Slot +from PySide6.QtWidgets import (QWidget, QHBoxLayout, QLabel, QVBoxLayout, QSpacerItem, QSizePolicy, + QPushButton) +from PySide6.QtWebEngineCore import QWebEngineNotification +from PySide6.QtGui import QPixmap, QMouseEvent + + +class NotificationPopup(QWidget): + def __init__(self, parent) -> None: + super().__init__(parent) + self.notification = None + self.m_icon, self.m_title, self.m_message = QLabel(), QLabel(), QLabel() + self.setWindowFlags(Qt.ToolTip) + + rootLayout = QHBoxLayout(self) + rootLayout.addWidget(self.m_icon) + + bodyLayout = QVBoxLayout() + rootLayout.addLayout(bodyLayout) + + titleLayout = QHBoxLayout() + bodyLayout.addLayout(titleLayout) + + titleLayout.addWidget(self.m_title) + titleLayout.addItem(QSpacerItem(0, 0, QSizePolicy.Expanding)) + + close = QPushButton("Close") + titleLayout.addWidget(close) + close.clicked.connect(self.onClosed) + + bodyLayout.addWidget(self.m_message) + self.adjustSize() + + def present(self, newNotification: QWebEngineNotification): + if self.notification: + self.notification.close() + + self.notification = newNotification + + self.m_title.setText("" + self.notification.title() + "") + self.m_message.setText(self.notification.message()) + self.m_icon.setPixmap(QPixmap.fromImage(self.notification.icon()) + .scaledToHeight(self.m_icon.height())) + + self.show() + self.notification.show() + + self.notification.closed.connect(self.onClosed) + QTimer.singleShot(10000, lambda: self.onClosed()) + + self.move(self.parentWidget().mapToGlobal(self.parentWidget().rect().bottomRight() - + QPoint(self.width() + 10, self.height() + 10))) + + @Slot() + def onClosed(self): + self.hide() + if self.notification: + self.notification.close() + self.notification = None + + def mouseReleaseEvent(self, event: QMouseEvent) -> None: + QWidget.mouseReleaseEvent(event) + if self.notification and event.button() == Qt.LeftButton: + self.notification.click() + self.onClosed() diff --git a/examples/webenginewidgets/notifications/notifications.pyproject b/examples/webenginewidgets/notifications/notifications.pyproject new file mode 100644 index 0000000..0a3d3c4 --- /dev/null +++ b/examples/webenginewidgets/notifications/notifications.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "notificationpopup.py"] +} diff --git a/examples/webenginewidgets/notifications/resources/icon.png b/examples/webenginewidgets/notifications/resources/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4c3870c063045819489c1f79a84734c376e96aef GIT binary patch literal 2252 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 aCtDR_C$3MXjLJ{`oNTP@Ez8V_cm4s6%u;p$ literal 0 HcmV?d00001 diff --git a/examples/webenginewidgets/notifications/resources/index.html b/examples/webenginewidgets/notifications/resources/index.html new file mode 100644 index 0000000..99dbac6 --- /dev/null +++ b/examples/webenginewidgets/notifications/resources/index.html @@ -0,0 +1,91 @@ + + + +Web Notifications Example + + + +

    Click the button to send a notification

    + + + +

    + + +


    + +

    + + + +


    + +

    More info can be found on:

    +
    + + diff --git a/examples/webenginewidgets/widgetsnanobrowser/doc/widgetsnanobrowser.png b/examples/webenginewidgets/widgetsnanobrowser/doc/widgetsnanobrowser.png new file mode 100644 index 0000000000000000000000000000000000000000..3fa5a0046db466fd69da5d7782f264ad9e7d2ac3 GIT binary patch literal 51615 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 + + + + + diff --git a/examples/widgetbinding/dialog.py b/examples/widgetbinding/dialog.py new file mode 100644 index 0000000..1bd1278 --- /dev/null +++ b/examples/widgetbinding/dialog.py @@ -0,0 +1,33 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtWidgets import QDialog, QLineEdit, QVBoxLayout + +# Python binding from the C++ widget +from wiggly import WigglyWidget as WigglyWidgetCPP + +# Python-only widget +from wigglywidget import WigglyWidget as WigglyWidgetPY + + +class Dialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + wiggly_widget_py = WigglyWidgetPY(self) + wiggly_widget_cpp = WigglyWidgetCPP(self) + lineEdit = QLineEdit(self) + + layout = QVBoxLayout(self) + layout.addWidget(wiggly_widget_py) + layout.addWidget(wiggly_widget_cpp) + layout.addWidget(lineEdit) + lineEdit.setClearButtonEnabled(True) + wiggly_widget_py.running = True + wiggly_widget_cpp.setRunning(True) + + lineEdit.textChanged.connect(wiggly_widget_py.setText) + lineEdit.textChanged.connect(wiggly_widget_cpp.setText) + lineEdit.setText("🖖 Hello world!") + + self.setWindowTitle("Wiggly") + self.resize(360, 145) diff --git a/examples/widgetbinding/macros.h b/examples/widgetbinding/macros.h new file mode 100644 index 0000000..0016479 --- /dev/null +++ b/examples/widgetbinding/macros.h @@ -0,0 +1,16 @@ +// Copyright (C) 2020 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef MACROS_H +#define MACROS_H + +#include + +// Export symbols when creating .dll and .lib, and import them when using .lib. +#if BINDINGS_BUILD +# define BINDINGS_API Q_DECL_EXPORT +#else +# define BINDINGS_API Q_DECL_IMPORT +#endif + +#endif // MACROS_H diff --git a/examples/widgetbinding/main.py b/examples/widgetbinding/main.py new file mode 100644 index 0000000..2b24018 --- /dev/null +++ b/examples/widgetbinding/main.py @@ -0,0 +1,14 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtWidgets import QApplication + +from dialog import Dialog + +if __name__ == "__main__": + app = QApplication() + w = Dialog() + w.show() + sys.exit(app.exec()) diff --git a/examples/widgetbinding/registerwigglywidget.py b/examples/widgetbinding/registerwigglywidget.py new file mode 100644 index 0000000..c5560ba --- /dev/null +++ b/examples/widgetbinding/registerwigglywidget.py @@ -0,0 +1,31 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection +from wigglywidget import WigglyWidget + +# Set PYSIDE_DESIGNER_PLUGINS to point to this directory and load the plugin + + +TOOLTIP = "A cool wiggly widget (Python)" +DOM_XML = """ + + + + + 0 + 0 + 400 + 200 + + + + Hello, world + + + +""" + +if __name__ == '__main__': + QPyDesignerCustomWidgetCollection.registerCustomWidget(WigglyWidget, module="wigglywidget", + tool_tip=TOOLTIP, xml=DOM_XML) diff --git a/examples/widgetbinding/wigglywidget.cpp b/examples/widgetbinding/wigglywidget.cpp new file mode 100644 index 0000000..6fdc65f --- /dev/null +++ b/examples/widgetbinding/wigglywidget.cpp @@ -0,0 +1,92 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#include "wigglywidget.h" + +#include +#include +#include + +//! [0] +WigglyWidget::WigglyWidget(QWidget *parent) + : QWidget(parent) +{ + setBackgroundRole(QPalette::Midlight); + setAutoFillBackground(true); + + QFont newFont = font(); + newFont.setPointSize(newFont.pointSize() + 20); + setFont(newFont); +} +//! [0] + +//! [1] +void WigglyWidget::paintEvent(QPaintEvent * /* event */) +//! [1] //! [2] +{ + if (m_text.isEmpty()) + return; + static constexpr int sineTable[16] = { + 0, 38, 71, 92, 100, 92, 71, 38, 0, -38, -71, -92, -100, -92, -71, -38 + }; + + QFontMetrics metrics(font()); + int x = (width() - metrics.horizontalAdvance(m_text)) / 2; + int y = (height() + metrics.ascent() - metrics.descent()) / 2; + QColor color; +//! [2] + +//! [3] + QPainter painter(this); +//! [3] //! [4] + int offset = 0; + const auto codePoints = m_text.toUcs4(); + for (char32_t codePoint : codePoints) { + const int index = (m_step + offset++) % 16; + color.setHsv((15 - index) * 16, 255, 191); + painter.setPen(color); + QString symbol = QString::fromUcs4(&codePoint, 1); + const int dy = (sineTable[index] * metrics.height()) / 400; + painter.drawText(x, y - dy, symbol); + x += metrics.horizontalAdvance(symbol); + } +} +//! [4] + +//! [5] +void WigglyWidget::timerEvent(QTimerEvent *event) +//! [5] //! [6] +{ + if (event->timerId() == m_timer.timerId()) { + ++m_step; + update(); + } else { + QWidget::timerEvent(event); + } +//! [6] +} + +QString WigglyWidget::text() const +{ + return m_text; +} + +void WigglyWidget::setText(const QString &newText) +{ + m_text = newText; +} + +bool WigglyWidget::isRunning() const +{ + return m_timer.isActive(); +} + +void WigglyWidget::setRunning(bool r) +{ + if (r == isRunning()) + return; + if (r) + m_timer.start(60, this); + else + m_timer.stop(); +} diff --git a/examples/widgetbinding/wigglywidget.h b/examples/widgetbinding/wigglywidget.h new file mode 100644 index 0000000..e527a8f --- /dev/null +++ b/examples/widgetbinding/wigglywidget.h @@ -0,0 +1,40 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef WIGGLYWIDGET_H +#define WIGGLYWIDGET_H + +#include "macros.h" + +#include +#include + +//! [0] +class BINDINGS_API WigglyWidget : public QWidget +{ + Q_OBJECT + Q_PROPERTY(bool running READ isRunning WRITE setRunning) + Q_PROPERTY(QString text READ text WRITE setText) + +public: + WigglyWidget(QWidget *parent = nullptr); + + QString text() const; + bool isRunning() const; + +public slots: + void setText(const QString &newText); + void setRunning(bool r); + +protected: + void paintEvent(QPaintEvent *event) override; + void timerEvent(QTimerEvent *event) override; + +private: + QBasicTimer m_timer; + QString m_text; + int m_step = 0; +}; +//! [0] + +#endif diff --git a/examples/widgetbinding/wigglywidget.py b/examples/widgetbinding/wigglywidget.py new file mode 100644 index 0000000..3362eab --- /dev/null +++ b/examples/widgetbinding/wigglywidget.py @@ -0,0 +1,69 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QBasicTimer, Property +from PySide6.QtGui import QColor, QFontMetrics, QPainter, QPalette +from PySide6.QtWidgets import QWidget + + +class WigglyWidget(QWidget): + def __init__(self, parent=None): + super().__init__(parent) + self._step = 0 + self._text = "" + self.setBackgroundRole(QPalette.Midlight) + self.setAutoFillBackground(True) + + new_font = self.font() + new_font.setPointSize(new_font.pointSize() + 20) + self.setFont(new_font) + self._timer = QBasicTimer() + + def isRunning(self): + return self._timer.isActive() + + def setRunning(self, r): + if r == self.isRunning(): + return + if r: + self._timer.start(60, self) + else: + self._timer.stop() + + def paintEvent(self, event): + if not self._text: + return + + sineTable = [0, 38, 71, 92, 100, 92, 71, 38, 0, -38, -71, -92, -100, + -92, -71, -38] + + metrics = QFontMetrics(self.font()) + x = (self.width() - metrics.horizontalAdvance(self.text)) / 2 + y = (self.height() + metrics.ascent() - metrics.descent()) / 2 + color = QColor() + + with QPainter(self) as painter: + for i in range(len(self.text)): + index = (self._step + i) % 16 + color.setHsv((15 - index) * 16, 255, 191) + painter.setPen(color) + dy = (sineTable[index] * metrics.height()) / 400 + c = self._text[i] + painter.drawText(x, y - dy, str(c)) + x += metrics.horizontalAdvance(c) + + def timerEvent(self, event): + if event.timerId() == self._timer.timerId(): + self._step += 1 + self.update() + else: + QWidget.timerEvent(event) + + def text(self): + return self._text + + def setText(self, text): + self._text = text + + running = Property(bool, isRunning, setRunning) + text = Property(str, text, setText) diff --git a/examples/widgets/animation/animatedtiles/animatedtiles.py b/examples/widgets/animation/animatedtiles/animatedtiles.py new file mode 100644 index 0000000..b621ec1 --- /dev/null +++ b/examples/widgets/animation/animatedtiles/animatedtiles.py @@ -0,0 +1,230 @@ +# Copyright (C) 2010 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys +import math + +from PySide6.QtCore import (QEasingCurve, QObject, QParallelAnimationGroup, + QPointF, QPropertyAnimation, QRandomGenerator, + QRectF, QTimer, Qt, Property, Signal) +from PySide6.QtGui import (QBrush, QLinearGradient, QPainter, + QPainterPath, QPixmap, QTransform) +from PySide6.QtWidgets import (QApplication, QGraphicsItem, QGraphicsPixmapItem, + QGraphicsRectItem, QGraphicsScene, QGraphicsView, + QGraphicsWidget, QStyle) +from PySide6.QtStateMachine import QState, QStateMachine + +import animatedtiles_rc + + +# Deriving from more than one wrapped class is not supported, so we use +# composition and delegate the property. +class Pixmap(QObject): + def __init__(self, pix): + super().__init__() + + self.pixmap_item = QGraphicsPixmapItem(pix) + self.pixmap_item.setCacheMode(QGraphicsItem.DeviceCoordinateCache) + + def set_pos(self, pos): + self.pixmap_item.setPos(pos) + + def get_pos(self): + return self.pixmap_item.pos() + + pos = Property(QPointF, get_pos, set_pos) + + +class Button(QGraphicsWidget): + pressed = Signal() + + def __init__(self, pixmap, parent=None): + super().__init__(parent) + + self._pix = pixmap + + self.setAcceptHoverEvents(True) + self.setCacheMode(QGraphicsItem.DeviceCoordinateCache) + + def boundingRect(self): + return QRectF(-65, -65, 130, 130) + + def shape(self): + path = QPainterPath() + path.addEllipse(self.boundingRect()) + + return path + + def paint(self, painter, option, widget): + down = option.state & QStyle.State_Sunken + r = self.boundingRect() + + grad = QLinearGradient(r.topLeft(), r.bottomRight()) + if option.state & QStyle.State_MouseOver: + color_0 = Qt.white + else: + color_0 = Qt.lightGray + + color_1 = Qt.darkGray + + if down: + color_0, color_1 = color_1, color_0 + + grad.setColorAt(0, color_0) + grad.setColorAt(1, color_1) + + painter.setPen(Qt.darkGray) + painter.setBrush(grad) + painter.drawEllipse(r) + + color_0 = Qt.darkGray + color_1 = Qt.lightGray + + if down: + color_0, color_1 = color_1, color_0 + + grad.setColorAt(0, color_0) + grad.setColorAt(1, color_1) + + painter.setPen(Qt.NoPen) + painter.setBrush(grad) + + if down: + painter.translate(2, 2) + + painter.drawEllipse(r.adjusted(5, 5, -5, -5)) + painter.drawPixmap(-self._pix.width() / 2, -self._pix.height() / 2, + self._pix) + + def mousePressEvent(self, ev): + self.pressed.emit() + self.update() + + def mouseReleaseEvent(self, ev): + self.update() + + +class View(QGraphicsView): + def resizeEvent(self, event): + super(View, self).resizeEvent(event) + self.fitInView(self.sceneRect(), Qt.KeepAspectRatio) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + + kinetic_pix = QPixmap(':/images/kinetic.png') + bg_pix = QPixmap(':/images/Time-For-Lunch-2.jpg') + + scene = QGraphicsScene(-350, -350, 700, 700) + + items = [] + for i in range(64): + item = Pixmap(kinetic_pix) + item.pixmap_item.setOffset(-kinetic_pix.width() / 2, + -kinetic_pix.height() / 2) + item.pixmap_item.setZValue(i) + items.append(item) + scene.addItem(item.pixmap_item) + + # Buttons. + button_parent = QGraphicsRectItem() + ellipse_button = Button(QPixmap(':/images/ellipse.png'), button_parent) + figure_8button = Button(QPixmap(':/images/figure8.png'), button_parent) + random_button = Button(QPixmap(':/images/random.png'), button_parent) + tiled_button = Button(QPixmap(':/images/tile.png'), button_parent) + centered_button = Button(QPixmap(':/images/centered.png'), button_parent) + + ellipse_button.setPos(-100, -100) + figure_8button.setPos(100, -100) + random_button.setPos(0, 0) + tiled_button.setPos(-100, 100) + centered_button.setPos(100, 100) + + scene.addItem(button_parent) + button_parent.setTransform(QTransform().scale(0.75, 0.75)) + button_parent.setPos(200, 200) + button_parent.setZValue(65) + + # States. + root_state = QState() + ellipse_state = QState(root_state) + figure_8state = QState(root_state) + random_state = QState(root_state) + tiled_state = QState(root_state) + centered_state = QState(root_state) + + # Values. + generator = QRandomGenerator.global_() + + for i, item in enumerate(items): + # Ellipse. + ellipse_state.assignProperty(item, 'pos', + QPointF(math.cos((i / 63.0) * 6.28) * 250, + math.sin((i / 63.0) * 6.28) * 250)) + + # Figure 8. + figure_8state.assignProperty(item, 'pos', + QPointF(math.sin((i / 63.0) * 6.28) * 250, + math.sin(((i * 2) / 63.0) * 6.28) * 250)) + + # Random. + random_state.assignProperty(item, 'pos', + QPointF(-250 + generator.bounded(0, 500), + -250 + generator.bounded(0, 500))) + + # Tiled. + tiled_state.assignProperty(item, 'pos', + QPointF(((i % 8) - 4) * kinetic_pix.width() + kinetic_pix.width() / 2, + ((i // 8) - 4) * kinetic_pix.height() + kinetic_pix.height() / 2)) + + # Centered. + centered_state.assignProperty(item, 'pos', QPointF()) + + # Ui. + view = View(scene) + view.setWindowTitle("Animated Tiles") + view.setViewportUpdateMode(QGraphicsView.BoundingRectViewportUpdate) + view.setBackgroundBrush(QBrush(bg_pix)) + view.setCacheMode(QGraphicsView.CacheBackground) + view.setRenderHints( + QPainter.Antialiasing | QPainter.SmoothPixmapTransform) + view.show() + + states = QStateMachine() + states.addState(root_state) + states.setInitialState(root_state) + root_state.setInitialState(centered_state) + + group = QParallelAnimationGroup() + for i, item in enumerate(items): + anim = QPropertyAnimation(item, b'pos') + anim.setDuration(750 + i * 25) + anim.setEasingCurve(QEasingCurve.InOutBack) + group.addAnimation(anim) + + trans = root_state.addTransition(ellipse_button.pressed, ellipse_state) + trans.addAnimation(group) + + trans = root_state.addTransition(figure_8button.pressed, figure_8state) + trans.addAnimation(group) + + trans = root_state.addTransition(random_button.pressed, random_state) + trans.addAnimation(group) + + trans = root_state.addTransition(tiled_button.pressed, tiled_state) + trans.addAnimation(group) + + trans = root_state.addTransition(centered_button.pressed, centered_state) + trans.addAnimation(group) + + timer = QTimer() + timer.start(125) + timer.setSingleShot(True) + trans = root_state.addTransition(timer.timeout, ellipse_state) + trans.addAnimation(group) + + states.start() + + sys.exit(app.exec()) diff --git a/examples/widgets/animation/animatedtiles/animatedtiles.pyproject b/examples/widgets/animation/animatedtiles/animatedtiles.pyproject new file mode 100644 index 0000000..20f4abe --- /dev/null +++ b/examples/widgets/animation/animatedtiles/animatedtiles.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["animatedtiles.qrc", "animatedtiles.py"] +} diff --git a/examples/widgets/animation/animatedtiles/animatedtiles.qrc b/examples/widgets/animation/animatedtiles/animatedtiles.qrc new file mode 100644 index 0000000..c43a979 --- /dev/null +++ b/examples/widgets/animation/animatedtiles/animatedtiles.qrc @@ -0,0 +1,11 @@ + + + images/Time-For-Lunch-2.jpg + images/centered.png + images/ellipse.png + images/figure8.png + images/kinetic.png + images/random.png + images/tile.png + + diff --git a/examples/widgets/animation/animatedtiles/animatedtiles_rc.py b/examples/widgets/animation/animatedtiles/animatedtiles_rc.py new file mode 100644 index 0000000..065aca7 --- /dev/null +++ b/examples/widgets/animation/animatedtiles/animatedtiles_rc.py @@ -0,0 +1,6108 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.2.2 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00:y\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00d\x00\x00\x00d\x08\x06\x00\x00\x00p\xe2\x95T\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ +\x00\x00\x09pHYs\x00\x00\x0e\xc4\x00\x00\x0e\xc4\x01\ +\x95+\x0e\x1b\x00\x00\x00\x07tIME\x07\xd9\x03\x03\ +\x0e\x1c\x1e\xba\x16\x7fM\x00\x00 \x00IDATx\ +\xda\xed\xbdy\x9c\x5cU\x99\xff\xff>w\xa9[\xd5\xd5\ +\xdd\xd5\xdd\xe9-Iw\xd2!\x1b\x09Y\x00Y\x02\x81\ +\x08\x88@@\x10F\x5cf\x1c\xc1\x19\x01\xf9\x02\x83\xdf\ +A\xe7\x0b\xe38\x83\xc8W\x04t\x5cXd@Q\x91\ +M\x04\xd9\x05!\x04\x08\x09\xd9C:\x0bM\xd6N\xa7\ +\xf7\xa5\xba\xf6\xed\xae\xe7\xf7\xc7\xed\xbaI\x005`\xc0\ +\xef\xcc\x8f\xf3z\xd5\xab\xb7\xeaS\xf7\x9e\xe7\x9cg\xf9\ +<\x9f\xe7\xb9\xf0\xd1\xf8h|4>\x1a\x1f\x8d\x8f\xc6\ +G\xe3\xa3\xf1\xd1\xf8h\xfc\x8f\x1f\xe2\x7f\xf2\xcd\x9dt\ +\xd2I;\xa7L\x992QJ\x89\x00\xa4\xad %\xa0\ +HP$B\xbcs\x05J\xa5Rx\xc9\x92%_L\ +\xa7\xd3\x0f\xff5\xaeY\xfb &\xad\xaf\xaf_\x94\xcf\ +\xe7'\x1d\xf4\xae\x10\x02\xcf\xf3\xa8\xa9\xa9ynpp\ +0q\xa8\xaeCU\xd5\xeaB\xa1\x10\x01\xd8c\x0f2\ +\xf3s\x05*\xa3:NJ\xc3K\x87\xf0r\xfe\xf7n\ +J\xc3M\x86\x00\xf0<\x0f)\xa5\xf6\xd7\xdaD\x1f\xc8\ +\x07\xd7\xd5\xd5\xdd\xf5\xd9\xcf~v6\x80'=\xdc\x0a\ +\x8b\xb0\xa1 \xad\xb1\x97\xad\x80\x1c\xdb\x9dc;\xd40\ +\x0c\x1e\x7f\xfc\xf1c\x81C&\x10)\xa5\xb4,\x0b\x01\ +\x8c\xb8)>\x16\xa9$$\xab8\xf6\x88\x05l\x1f]\ +O\x22\x93\xa4\xae*Bn\xd8f\xf8wu\x07l\x90\ +\xffQ\x02\xb1m\xdb\x18\x1a\x1a\x02`g\xbe\x9f\x85W\ +\x81\xed\xed\xbfP`\x0f\x86(\xee\x8cb\xee\x8e\x80\x90\ +TUU\x81/\xa6C6\x5c\xd7\xc5\xb2,\x90 t\ +\xf0\x84\xc3E3\xbe\xcfs=\xb7q\xeb\x99\xbf\xe7G\ +O\xfe\x90\x89\xad\x1eK\x06\x9e\xf1\xdf7&\x8c\xbf\xa6\ +@\x94\x0fh^\xcf4ML\xd3\xc4v]t]!\ +7P\xc5\xb7?\xfe[\xce\x9eq1\x8a\x13a\xdc\xe4\ +\x0aB\x93\xf3\x98%\x0b\xcb\xb20M\xf3\xa0\x17\xa2\xa5\ +\xa5\xe5\xe0.\xc2\xf3\xa4eY\xd8\xb6\x8d\x87$\x951\ +9\xfa\xf0#\xe9H\xaf@\x11\x0a\x9f8\xfa\x93TU\ +\xc5PB\x12\xc7q0M\x13\xc7q\xfe\xaavO{\ +\x1f\xea\xe8\xc2c\x8e9\xe6_\x1c\xc7\xf1$\x12U\xaa\ +\xb8\xb6\xf4E\xabH4]u;;;[M\xd3\xf4\ +w\xa9\xe7b\x96\x14\xfe\xed\xcc;\xf8\xe9\xfak8\xab\ +\xf9\x1bLQ\xe2\x9c4\xeb(\xee\xde~\xab/\x08U\ +\x12\x0a\x85\x90\xf2\xe0\x0eHoo/mmm\xab\x1a\ +\x1b\x1b)\x1bl<\x05\x89$\x95N\xd6M9l\xca\ +\x0cEQ@\x08\xa4+\x11\x86\xcb\xdc\xfc\x14r\xbf\x84\ +\xd3~\xf6q*B\xd39\xf9\x8e\x93\xd1U\x0d\x81F\ +(T\xc3\xce\x9d[hmmEJ\x89\xeb\xbaSC\ +\xa1\xd0\x82\xf7\xb2.\x15\x15\x15TWW\xaf\xe9\xee\xee\ +\x96\x1f\xaa@,\xcb\x9a{\xd8a\x87\x1d\x97H\xf8\xaa\ +\xbe\xaf\xae\x8b\xd9\x0bu\xac\x81\x08\xceH\x18\x91\x8b\xd0\ +\xdd\xa3b\xdb\xb6\xbfK\x85\x87kKf\xb5\xcd@\xd9\ +\x03E;K\xb6\x98\xe3\xa5\xdd\x0f\xe0y\xbeJ\x11\xaa\ +\x0c\xde\x7f\x90#\x5c__\xbf`\xda\xb4ix\x9eG\ +Q\x9ah\x87\xa7\xa8\x0c\x87\xe8\x5c\xe11\xae\xba\x1e\xcb\ +2\xd1\x84\xca\xf6\xf1[9\xe1\xecJ\x5c\xd7\xc3\x1e\xd1\ +q\x07\xa3X\xc3P\x93\x19\x87\x9dR(\x16J\xa8\xaa\ +@\xd34r\xb9\x1c\xae\xeb\xca\x93N:\xe9\xfa\xda\xda\ +\xda\xeb\x01\x1c\xe9\xa2Wy\xe0(`\x8f\xd9\xbf\xc0\xf6\ +\xc9@\xcd\xed\xde\xbd\x9b\xb5k\xd7F\x80\xd2\x87nC\ +J\xa5\x12\xa6i\x92sKD\x8e-\xa2V+D\xaa\ +s03\x87f\x08\xc4Z'\xd0\xc9\x9e\xe6\xa1\xaa*\ +\xa9\x5c\x1aEQQ\x15\x1d\xdb3\xa9\xd2+\xf1$X\ +\xa6\x89\xd0\x08\xde\x7f\xb0\x8e\x99\xe7y\x94J%\xf0$\ +\x9dz7\x0b\x8f\xd6\x81\x22F<\x83\xbd\xc7\xc2\xb2-\ +\x81\x93\x9b\ +\xbe\xcc7Oz\x88\x90jP2Kd2\x19\x86\x86\ +\x86\x18\x1a\x1abS\xecu\xe4\xc2\x1d8\xa6\x87i\x9a\ +X\xa6\x85\xa2K\x1c\xc7en\xf4\x5c\xbev\xe2\x8f\x89\ +DB\xd4\xb4TR}R\x12\xcf\xf07f\xf9>\xff\ +jF\xbd\xbc\x83,\xcbB\x08\x98\xa0\x1e\xc5\x8a\x9e'\ +\xf9\xed\xf2\xdf\xf0\xa5#\xbf\x89\xeb:\xa4\xd3iR\xa9\ +\x14\xf9B\x1e\xc7\xb3I\xd6.c\xeb\xee\xdd\xf4\xe46\ +Cm??Z{9\xe9d\x8eT:M:\x9d&\ +\x93\xc9 \x84\xf8\xb3\xc7d\xfc\xf8\xf1A\xbc\xe0\x0b\xd2\ +\x02!\xd1\xc3\x1a\x9f\x9cs>\xab\x07\x9fAz\xbe\x0a\ +\xb4l\x1b=\xac#\xac\x18\xbd\xc5\x1d\xb4\xf7\xaf\xe0\xb0\ +\xfay4\xd54\xa1\x0a\x1d\xd7uq\x1c'\xd8\x14\x91\ +*\x81\xaa\x8a\xe0\xf7\xb6m#tA\x85\xde\xc0\x95\x9f\ +\xf8&?|\xf6\x07\x5cz\xec\xad\x5c\xb3\xe8\x1e\xda\x1a\ +g\xe0\xb8\x0e\x8e\xe3\xbf<\xcfCQ\x94\x0f\xdf\xa8\x97\ +O\x88m\xdb8\xd8\x08\xa1\x10\xd6#\xb8\x9e\x8d+]\ +\x92\xc5a\x14E\x0b\xbc\x15\xd7q\x91\x8a\x87kI\x9e\ +\xeb\xba\x85\xd2V\x97\xe2\x80 \xdf\xa51\xb4\xb1\x88\x11\ +\xd1A\x82e\xdaTF\xabn\x9e;g\xee\xe8\x1f\xc3\ +\x0fR\xa9\xd4\xeb===w\x97\x05288\xe8{\ +f\xa3.\xabo\xcap\xfe\x0f\xcfc0\x91C\x9a\x05\ +$\x1e\x02\x81|\xdae\xad\xda\xc1\xe5\x8f\x5c\xc3h6\ +\xc1\xe5w_\xc1\x9a7^\xc3t\x8b\xbe]\xd9\xefd\ +j\x86\xc2\xf6\x9f\xbbT\xc7r`\xfafB_Q\xc5\ +\xeaW\x93\xcc\xbdv\x1e\xd5\x91\x18_\xfa\xd1Wq\xa5\ +\x8b\xa1F\xd0#\x1aB\xf8\x1bTU\xd5C\xe2.k\ +\xef\xf7\x84X\x96\x85-\x1c4Ec0\xbf\x973b\ +\x0b\xe8\x89\x99$\x0a~\xfc\xa1i\xfe\xd4u\x05\x95\xa5\ +\xd7\x8dbgd\x10\x04\xda\xb6\xcd\xa2E\x8bh\x98m\ +\xa2\x0a\x85Nm/G,\xd2\xb1\xfb*\xce\xb6\x07\x22\ +\xc8t\xe8]A\x9d-[\xb6\x00\xdc]VY\x93'\ +O&\x12\x89 \x84\xa0\xcf\x19\xa1\xee\xfc!&\xca*\ +\x9c\xfe\x0a\xac\xde\x0a\xdcx\x08\xe4\xbe\x89j\xaa\xc6\xb1\ +w\xef^\x22TQ\x1bn\xc4s\x07q\x1c'\xf0\xee\ +\xd4\x9cG}c=\xe3\xea\xc6\xa1(\x0a;\x0b\xfd\xcc\ +\xfc\x5c\x91XL\xc7M\xc7\xb0z#8\x835X\xfd\ +a\x14E\x04\xaa\x13\xa0\xbb\xbb\xfb\xaf+\x90R\xa9\x84\ +\xadI\xa4\x0cc\xd7l'1\xecp\xd2\xc7\x8e\xe4W\ +\x9bn\xa0/\xd9\xc7Yg\x9d\xc5\xa5\x97^\xca\xf2\xe5\ +\xcbiooghh\x08\xd7uq]\x97\x81\x81\x01\ +\xcaqJ\xca)\x10=9K\xa89\x8a\xd7\x90D;\ +J\x10\x12\x158%\x0fUh\x0c=\xd0\xe8cO\xfb\ +\xdd|\xf9\xfbr\xec\xa0\x08\x85-\xd6\x1e\xe6\xd56S\ +\xb2\x0a\xd4\xcc\x0bQ\x98\xdd\x0bH\x84\x13\x22\xbd\xaa\x9a\ +\xe2\x8e0\x00!\x11\xe6\xbaW\xcf#[\xca`\xd9V\ +\xa0r\x00*\x84\x82;6\xa7\x10\x82\xbe\xd2('7\ +\xd6Q,\xba\x1c9\xe38\xb6\xd6\xac@\xceu\x11\xa8\ +\xe46E\xc9\xac\xa9\x02!Q\x14\x05\xcf\xf3>x\x81\ +\x8c\x1f?\x9e\x81\x81\x81\x03\x8d\x8e\xa28\xc9d\x92T\ +*\x85\xady\x94\xac\x18\x8e\x90\xdc\xf5\xc6\xd7\xf9\xc6\x19\ +7#\xc3&\x96[\xe0\xfa\xeb\xafg\xd9\xb2e|\xfe\ +\xf3\x9fG\xd7u\x22\x91\x08;v\xec\xa0\xb2\xb2\x92\xf6\ +\xf6v_\xa0\xb6\x8d\xed\xda\x18\x9aJjH\xe5\x07\x17\ +>\xcd`z\x80\xfb6]\xcf\xe2y\x7f\xc3\xf3]\xf7\ +\x8e\xb9\xc5\xbcC e\xe1Z\x96\x85\x22\x04\x8a\xa2`\ +\xd96_=\xfcgdD\x17\x9a\xe1\x91\x1cuX\x91\ +\xf89I|{ \xa5\xc4\x93\x1e\xdd\xdb\x06H\xec\xb4\ +\xc9\xc6K8\xd5\xfb<\xc2\xa8P\x025&\x84\x00\x01\ +%\xd3\xe4\x82\xe6\xef1\xaa\xb7s\xcd\x82{xe\xf3\ +\xcbd\x22\x1d\xb4\xb3\x0b\xdb\xb6\x90H4M\xc3\xb6m\ +TU}\xcf\xce\xc9{\x12\xc8\xc0\xc0\x00mmm\xff\ +\xbb\xba\xba\xfah?\x00\x13\x8c&F\xe7\xab\xaa\x8a\xa2\ +(\xe8R\xc1\xc9Hr\x03.v\x9f\xe0\xeb\xff\xf2\xcf\ +\xa4wIJ\xa3\x82\xaf|\xe5+|\xfb\xdb\xdf\xe6W\ +\xbf\xfa\x15\xdb\xb7oGJI\x22\x91 \x16\x8b\xd1\xd9\ +\xd9I}}\xbd\x1f\x19K\x1b\x01\x1c\x1e^\xcc\x9a\xc1\ +\xa7\xd9\xd35\xca9\xe3\xff\x0f\x0b\x0f;\x965C\xcf\ +\xb2\xd3,\xbd\xab@\xca'\xc4q\x1c\x14\x04J\xa5\xa0\ +sg\x96#\xcf\x9b\xcde\xbf\xbd\x9c\xfb\xfev\x1d\xc3\ +u#x\x03#<\xe4\xfc\x0e\xd3\x1c\xfb\x7f\xcdc\xe5\ +wS\xa8\xba@\x11\x0a\xc5b\x91b\xb1\x08@\x95\x1b\ +\xc2uU\xff\xd4)\x0aBHF\x86J\x9c\xfd\xe9O\ +r\xe5\xd37p\xe6\xd4\x8b\x99\xde0\x8f\x94n\xb0\xc1\ +\xdd\x8ei\xfa\x0e\x85\x94\xfe\xebC1\xea\xe3\xc6\x8d\xfb\ +\xc2\xb4i\xd3\x8e\x07p\xa5\xc7\xfa=o\xa0\x0a\x95\x89\ +\x13'b\xdb6\xe9g-R\xd2CJ\x81\x94a4\ +@\xd3-\xfa\xfa\xfa\xb8\xf4\xd2K\xdfu\xce\x5c.G\ +,\x16\xf3]g\xe1 \x84B\xa5Q\x83\xe5\x16q=\ +\x97\xba\x86\x10]\xa9\xadd\xac\x04\x96\xa5\xa1h\xe2\x1d\ +\x02Q\x14%8%\x02\x81\xa2\xa8\xb8.h\xaa\x8a\x10\ +\xfe\xc28\x8e\xc3\xea\x9e\xdf\xe3\xb9.\x96\xe5\x05\xae\xf2\ +\x9c\xf9\xb3\xe9\xe8\xe8 \x16\x8b\x05\xaa\x13\xc0\xf1\x94}\ +\xa7NQ\xc0\xd8\x87~\x0aEA\x08A\xb6\x94e\xc3\ +\xc8\x92`.\xc4\xbe\xe0\xf0`\x91\x86\xbfH \x9e\xe7\ +\x09\xd34\x91R\xf2\x96\xd9K\xed\x14\x97\xe3\x9a\x8e\xe7\ +\x9cs\xce\xe6\xe4\x93O\xe6\xa7?\xfd)[\xb7ne\ +\xfe\xfc\xf9\xac\x5c\xb9\x92\x993g\xb2f\xcd\x1a\xe2\xf1\ +8\xe1p\x98|>\x1f\xec\x9c\x8cRb\xfc\x1c\x85\xfa\ +\xc4T\x8a\xd9\x9c\xef\x18(\x0e\x8a\xa22\x9c\xeba~\ +t.\x03\xc2d\xb4\xd0\xcf\x84\xc8D\x84\x14X\xa6\x85\ +p\xdfyB\xf6\x07\x0f\x05\x02\x0145E\xc8e\x1c\ +\xa4\xeb\xab&\x17\x9b\xb0R\x85\xebf0M\xb7\x0c\x8b\ +\x80\x84I\x93&\xa1i\x1a\xae\xeb\x06\xf3*\x1b$9\ +'\x03X\xbe\xca\x0aC}}\x84\xcd;w -\x1d\ +EQH\x17\xe3\x1cV}4;\xdc\x17\xb0,_e\ +\x95m\xc7\x87\x22\x10)\xe5>\xfd\xeb\xf9\xae\xa4\x10\x82\ +\x9a\x9a\x1a\x22\x91H\xe0\x7f\x87B!\x8e:\xea(\xf6\ +\xee\xdd\xcb\xd1G\x1f\xcd\xbau\xeb0\x0c\x83\x9a\x9a\x1a\ +\xd2\xe94B\x08R\x86\xc7\xb4OE\x08\xaf\x9e\xc6\x96\ +\xd5\xeb|\xf0Q\xf7PD\x98Ac9\x13\xf5\x8bh\ +\x9a?\x9d{\xd6\xff\x1b\xe7\x86\xfe\x91\xaap-%\xab\ +\x0f\xe5]\x04\x22\x84\x1f/\x94J%\x941,c\xc2\ +\xc4j~\xf2\xca\xb7\xb8\xeb\xc2e\xdc\xf4\xda\xc5H3\ +BcM3\xb6\xd3E\xa9d\xf9\xaa\xc5\x15\x8c?]\ +b\x0eU\xe1fu\x9c\xa4\x06\xb6\x82P\xfd\x135\xe2\ +$\x82\x13\xe2T\xbaTU\x86\xb9s\xdd\xff\xe6\xa7\x9f\ +[\xca\x7fm\xb8\x86\x1d\x99\x0eZ\xf4Vl\xd7\x22\x9f\ +/\x80\xf0\x05\xa2(\xca\x87vB(\x9f\x10Ox(\ +B\xa1\xbd\xbd\x9d\xd1\xd18\xc3\xc3\xc3\x14\x0a\x05\x00:\ +::\x02]\xea\xban\xb0kJ\xa5\x12\x86a\xf8I\ +(\xdd\xa3\xc20\xd84\xf4:\x89D\x8eb\xb1\x88\x19\ +\x92\x14\xad\x18F4\xc2\xb5\xbf\xbb\x98\xbb\xbf\xf2[2\ +\xde \x8fu\xfc\x88R\xcactd\x14\xcdP\xcaj\ +\xca\xdb_ \xc5b\x91T*\x85@P0%%\xcb\ +\xa4\xcb{\x85_/\xbf\x87\x86\xda\x09\xac\x8b/\xc5K\ +\x08\xba7&\xc9\xa7}\xf7V\xc3\xa0uA\x05\xfd\xf1\ +\xbd\xfeB\x86$\x89Wc\x14;\xa2A\x90X,\x16\ +\xfd\xf9\xab<,\xd7\x82\xaa8_\xfb\xed\xe79r\xc6\ +\x0cR\xb9a\x92\xf18;\x96$\xc9\xe7\xfd9\x85\x10\ +\x18\x86\xf1\xe1\xa0\xbd\xe5\x88\x18@\xea\x12\x90\xd4\x8f\x1b\ +G<\x1eGQ\x14*++\xffd\x10\xd9\xdf\xdfO\ +2\x99DQ\x14r\xc2\xa1dW\x10\xad\xcf\x93VU\ +TUEC\x82\x10\x08EPiH.\xfa\xe6\xa7\x19\ +\xed\xb0I\xed. \x14\x81Q\xa1\x07\xf3\x19\x86q\xf1\ +\x84\x09\x13\xf6\xf4\xf7\xf7\xdf*\x84@\x1d\x9bC\x11\x0a\ +F\xc1E\xba\x92d\x07<\xbc\xfd\x1e\x867[\x98i\ +\x171\x16/h\x9a\xe6g\x03=\x97\xd3&\xfc#b\ +\xa2CzX\xf0J\xf26Fl_\xf5\xb9\xae\x8b\xa2\ +(h\x9a\x86\xa2(D\xd3.\xe9^\x87\xfe\x0d&\x89\ +\x1d\x9bx~\xef\xfa\xfd\x5c[\x81\xae\xebH)\x83\xa0\ +\xf0P\x9c\x10\xf5\xcf\xbd\xa1\xa1\xa1\xe1RUU'\xba\ +\xaeKV\xb5\x98\xff\xe9(g\x1c\xfd\x0f\x94fl\xe2\ +\xb2\xcf\x5c\x87\xd1\xa20\xfe8A2\xba\x87\xee5\x19\ +\xf2\x85<\x85B\x81\x81\x81\x01+\x9b\xcdZ\xb6m\xab\ +\x8e\xe3\x08)%\xc5\x88\xc7\xec\x8fW\x92\xed\xb5)\xec\ +\xd1\x88D\x22\x18B\xa3\xd8\x01]/\x9a\x0c\xac\xb4\xc9\ +tJ\x9c\xac\x8f\xbe\xaa\xaaZN\xc5\x22\x84`\xe2\xc4\ +\x89$\x12\x89d8\x1cV3\x99\xcc\xceX,v|\ +\xb1XT\x9a\x9b\x9b\x09%%{_\xb2\x19\xdd\xecR\ +\xe8\x07\x5c\x05MS\xc7\xbc%\x7f>!\x04\x9a0\xc8\ +\x1f\xdd\xce\xff:\xf6{D\x8d*\x06\x0a\xbb\xd9\xbd\xb9\ +\x97\x5c\x9f\x87\xe38\x14\x0a\x05\xc6\x8f\x1f\xcfUW]\ +E\xbao\x84\xe4F\x0dg(D\xc8\xad R\x11\xa1\ +\xa2\xa2\x02EQ\x08\x87\xc3\x01\xa0h\x18\x06\xf1x\xfc\ +QUU\x1f+\x14\x0a\xde\x07.\x10`\xa2\xe7y\xe4\ +\x0d\x879\xa7V\x93t\x07\xb9\xee\x9c;\x18\x12o\xb1\ +1\xf5\x02\x0b\xe7\x9c\xca\x9e\xc4V\x06\xd6\xfa\xd8\x96\xa2\ +(L\x9f2S\x9du\xf8l=\x91J\x88R\xa9D\ +\xa9T\xa2\xca2\xc8t\xb9\xf4\xaf\xcb3g\xd6[d\xea\xe2j\xce\x9eq1\xd9B\x8e\xe7:\xef\ +\x22\xb1\xdd\x09\x04R,\x16y\xf9\xe5\x97\x91Rr\xd2\ +\xc9'\x91/\xe4\x995{\x16UUU\xcc\x9b7\x0f\ +\x80s\xce9\x87\xe9\xd3\xa7\x07s\x16\x8bE\xb6m\xdb\ +6\xe7/\x15\xc6A\x81\x8b\x8e\xe30::\xca\xe8\xe8\ +(\xe9L\x86\xa2U\xa4\x10\xd9\xc5\xf7\x9f\xfa.\x9a\xae\ +\x90U\xbay\xea\xad\xbb\xe9\xebH\x92L&H$\x12\ +\xa4S\x19\xd4\xd3v#>\xbe\x1d\x19)q\xc2\x09'\ +\xb0~\xfdz>v\xcc\xd1\xc4\xec\xf1Th\xd5L\x99\ +2\x85d2Iss3\xe3\xc7\x8f\xa7\xb6\xb6\x96\xa9\ +S\xa72}\xfat\x14Ea\xf2\xe4\xc9h\x9aF8\ +\x1c\xa6\xb1\xb11\xd8\x8d\xea\xcc8B\x11TTT\xe0\ +y\x1e\x8d\x8d\x8d\xc4\xe3q&M\x9a\x84\xeb\xbaL\x98\ +0\x81\x86\x86\x06f\xce\x9c\x19\xc04uuu\x9c~\ +\xfa\xe9\x14\x0a\x05TE\xa1R\xaf\xc5vM,\xcf\xa4\ +\xdah\x08\xbc\xb5\xb2\xda\xea\xea\xea\xc2u]\x86\x87\x87\ +\xf1<\x8f\xda\xdaZ\xf2\xf9<\x9a\xa6\x91L&\xe9\xeb\ +\xeb\xc3q\x1c\x9a\x9b\x9b)\x95J\xc1I\xfePh@\ +3g\xce\x5cc\x9a\xe6q\x8a\xa2\x90\xaat\xf8\xd47\ +\x1b1\x0cAj\xb7\xc3\xf0\x16\x93\xf8[\x16\xf9a\xf7\ +\x00lGU5\xce\xb9\xe2T\xf4y{x\xf1;{\ +\xf8\xc9\x0d?#\x9dNs\xef\xbd\xf7RSSCg\ +g'\xae\xebr\xec\xb1\xc7\x92L&\xe9\xef\xef\x0f\x9c\ +\x01\xcf\xf3\xde\xf1*\xbb\xa6\x95\x95\x95\x0cezPL\ +\x83\x193f2<\x14\xa3^\x1e\xcd\ +\xcd\xcd\x18\x89$\x1bo.\xe2\x94\xe4\x18kD\x22\xd1\ +0\x0c5\xb88\xcf\xf3P\x04|\xe6\xd8\xbf'\xde\xb4\ +\x89WBw\xf2\xfd\xef\x7f\x9fo~\xf3\x9bd2\x19\ +\x22\x91\x08\xb6mSUUE{{\xbb\x7f\xf3\x08<\ +W\xe2I\x17!\x14\xdf\xb0*\x1a\x9e\x94(B\x09\x22\ +u\xcb\xb2h\xaanedd\xc4\x8f\x01\xa4\xc4\xb1\x1d\ +\x96\xbd\xf2\x1a\xaet\xd0\x14\x1dO\xfaq\x8d\x82\x8a\x16\ +\xd2\x82m'<\x81\xebJ\x9c\xa2\xc7\xcf\x97\xdfIc\ +\xb4\x85\xcd\x85\xe5\x14m\x95=o\xc4)&\xfd 3\ +\x1c6\xd0\x09St\xf2DB\x11,\xdb\xf6m\x11:\ +\x8a.\x0f\xd8\xc2A|\x95\xc9|x9u\xdb\xb6\xb9\ +\xfa\xea\xabY\xb4h\x11\x8e\xe3\xf0\xe8\xa3\x8f\x92\xc9d\ +\x82\xa0\xafP(0}\xfat\xde|\xf3M\x12\x89\x04\ +\xf5\xf5\xf5l\xdd\xba\x15M\xd5X\xd3\xf3\x1c!\xcd \ +\x97\xcb\xf1\xf5\xaf\x7f\x9dB\xa1@MM\x0d\xd1h\x94\ +\xad[\xb7\xd2\xd8\xd8\xe8\xab\x0b\xc5e\xce\xe7\x22\x1c;\ +\xeeB\xccp\x1f\xa9\xbe0\xeb{^\xe5\xf4cNf\ +\xdd\x8eW\xd9\xf3\x8c\x83\xa2ACC\x03\xc5b1\xf0\ +\xfc\x5c\xc7\xa1\xdb\xebg\xde\x19\x95\x5cq\xc2\xcd\xfcb\ +\xe3\xb78\xa5\xf12V\xedz\x95|\xc56\xb6<\x90\ +!\x9f- \x10\xe4\xc6y,8;\x86\x18\xf6x\xfc\ +\xf9\x9f\x92\xeev1G \xdb\xe7`\xe7\xf7yJ\x9e\ +\xa5p\xfa\x1d-\xfc\xe8\xec\xdf\xf3\x99\xff\xfc$\xff\xf2\ +\xe9\x7fG\x91!6$\x7f\xc7\x0b\xff\xf5\x06\xa5>=\ +\x10\xcaK/\xbd\xd4\x0c\x0c\x1fJ\xb6\xccA\xb9\xbd\x93\ +'O\xa6X,2s\xe6L\x14Ea\xda\xb4iT\ +VVRUU\xc5SO=\x15\x18\xe2L&\xc3\xc6\ +\x8d\x1b\x09\x85B\x08\x04\xba\x88Pt\xf2\xec\xdd5\xe2\ +\xbb\x91\xd1h\x80\x13\x95\xed\x83m\xdbH\xcdc\xe2\x91\ +\xd5\xbc5\xf8*?\xb8\xe0\x01L%\xc5\x7f<\xbb\x86\ +\xc5'\x9fM\x9f\xdaN\xef\xf3i\xd4\x90O\xa6+\xc3\ +\xe5\x96e\x11\x0eG0\xea\x1cZ\xe6\xd7p\xc6\x19g\ +\xb0T\xf9!\xc7\xb7\x9e\xc8P\xa4\x8b\xe1\xe8^\xba\xaa\ +<\x0c=LCC\x03\xc3\x83Ct=\x06B\x11\xc4\ +U\x90c\xe6Sx\x1aFX\x04*S\x95\x1a\x8a]\ +\x85\xc4%K/M5\xcd<\xbf\xfaUv*\x1b\xf1\ +\xc6\xd4\x1e\xc2\xf7\xfc\xaa\xaa\xaa\xc8f\xb3\x87\x94\xba\xf4\ +g\x05\x12\x89D\xb8\xe9\xa6\x9b8\xf7\xdcs\xf9\xde\xf7\ +\xbeG\xa9T\x0atrY?\xf7\xf6\xf6\x1e`\x03\x14\ +\xa1\xb0\xec\xad\xa5\xcc=\xfeD\xd6\xb6u\xe3\x0c\x86\x89\ +F\xa3\xa4\xd3\xe9\x03\xd2\xb5\x89D\xc2\x0f\xc6B\x12\xcb\ +\x0dS\xd1X\xe2{\x7f\xb8\x86\x1b?\xf3\x13\x8cJ\x87\ +_n\xfc\x0f\xe2\x03&\xa9t\x12E\x13\xd8\xb6\x1d\xc4\ +\x13e\xbe\x95\x94\xe0x&\xb9b\x0e+k\xa0\x1a\x16\ +\xaa\xaaS\x1fj\xa3dn\xe0\xb6\x1f\xdfA}}=\ +\xabV\xadb\xe3\xc6\x8d\x84\xc3azzzhll\ +\xa4\xab\xab\x8b\xd9\xb3gcY\x16\x1b6l\xa0\xa2\xa2\ +\x82\xbe\xae\x01\x14\x0dTU\xc7q\x05\xaet\x89\xe8a\ +\xa4\xe7\xe1\xd8\x0e\xa6\xe5\x93\x1b\xca\xc1\xee\x87N\x03r\ +]W\xaf\xac\xacd\xe9\xd2\xa5\xc1\x05\x94\x8d^90\ +\x13\x12\xf6O);\xb6\xc7\xda\xc4#t\xf7EH\x0d\ +eI\xa7\x0bTUUQWW\x17\x08\xa4\x1cPy\ +\x9e\x87\x82D\x0b\x0b\x8a\x09\x97\xc1\x9d[9\xeb\xcb'\ +\x91\xeb\xf5\xb0\xf3\x12+\xe3\xa2\x85\xf6\xc5#\xe5\xcdP\ +*\x95\x90\x9e\xc4q<\x22Q\x95k\x9f\xfd,7\x9e\ +\xf90\xbf\xd8r\x1d\x83\xfaN\x1a\xf4\x06\xa4\x84q\xe3\ +\xc6\x91\xcdfimme\xdd\xbau\xcc\x9f?\x1f\xcf\ +\xf3\x98={6CCC\xe4\xf3y\xda\xda\xda\x985\ +k\x16\x0f<\xf0\x00BQp4?\xfa\xff\xdb\xa3\xff\ +\x89\xbc\xecG\xa2r\xc6\x94\x7f`\xabs'\xd6\x98@\ +\x0eU\x86\xf0={YUUU\x0b<\xcf\xaby\x9b\ +gQ\xdb\xda\xda\xfaP.\x97CHp\xa7\x08\x8e;\ +\xb7\x9a\xfc\x90K~\xd8\xa50\xe4\x11\xa9\xd2)\xa5=\ +\x92\xbbl<\xe92y\xf2dt]'\x97\xcba\xdb\ +6\xc3\xc3\xc3\x84B!\xe6\xcd\x9bG_o\x1f\x96m\ +\xe3\x99r\x8c\x08\xed;\x0c\xae\xeb\x1e\xa0:\xa3\xd1(\ +\xa5R\x89|>\xef_\xbc\x04s\x9a\xe0o\xbe\xd1\x84\ +\xebBK\xf8(\xc67\xd7\xb2z\xd7K\xe4\xfa]\xba\ +\x1e\x0c\xd12\xb1\x95c\x8f=\x96\x17^x!\x88\xa6\ +-\xcb\xc20|\xdbV\xcee\xf8\xfc\x00\x81]\xf08\ +\xed\xceJ\xf2C\x06?\xff\xfcRnZ\xf1e\xba\xd2\ +o\x22\xf1\xd8\xfc\xd3\x12\xc9N\x07\x90\xd4\xd6\xd6\xb2s\ +\xe7\xce\xe6d29\xf4\xa1\x0a\xe4\xdd\x86\xae\xebM\xf3\ +\xe7\xcf\x1fL\xa5R\xd4\xd4\xd4\x90\xcbfq,?_\ +\x82\x02\x8a\xcf\xb29\x00\xdbjiia``\x00\xcf\ +\xf3\x13@\xa6ir\xdf}\xf7\xd1\xd2\xd2\x82\xa2(<\ +\xf9\xe4\x93\xec\xde\xbd\x1b\xd7u\x03ol\xc2\x84\x09t\ +vv\x92L&\xd14\x8dt:M\x22\x91\xc04\xcd\ +@uy\x8d\x82\x93\xff\xb1\x96\xf8\x0e\x9bT\xa7\xcd\xe8\ +6\x0b3\xe5\xa1h\x82\xc6\xf1\xf5A*\xf9\xcfy\xaf\ +\xe5\xb5\xc8\xa5\x0a\x1c\xf5\x8d\x10NIR\xa1\xd6\xa1\xaa\ +\x1eY3I\xba\xc7a\xfb\x139<\xc77\x19\xd5\xd5\ +\xd5\xe4\xf3\xf93\xc3\xe1\xf0h*\x952{zz\xb6\ +\xfeU\xb9\xbdB\x08\x1e}\xf4Q\xa4\x94\xac\x5c\xb9\x92\ +\xdd\xbbw\xd3\xdb\xdb\xebg\x01\xc7^\xaa\xaab\x18\x06\ +\x9d\x9d\x9dD\x22\x11t]?\x80\xa11}\xfat^\ +\x7f\xfdu>\xfb\xd9\xcf\xd2\xda\xdaJ$\x12\xa1\xbf\xbf\ +\x9f\x193f\xd0\xde\xde\x8ea\x18444\x90\xcdf\ +I\xa5R\xe8\xba\xee\xa3\xbb\x8a\x82a\x18|\xf1\x8b_\ +\xe4\xe5\x97_\xa6\xe7\xa1\xb19]\x97q1\x0f\xb7\xd2\ +\xb7e\xfb{d\xb1X\x8c\xed\xdb\xb7\x9fR*\x95\xf6\ +\xbc\xedV\x8e>\xfc\xf0\xc3\x9f\xc8\xe5r\x14\x0a\x05\x16\ +-Z\x84\xb2\xbc\x92\x10P\xf0l\xb4:\x0b-5\x91\ +\x06\x04\x0d'\xbec\x19^PU\x95\x8e\x8e\x8e\x1d=\ +==3\xffj'D\xd3\xb4\xa6\xa3\x8f>z\xf0\x96\ +[n\xa1\xa9\xa9\x09\xc30\xb8\xe1\x86\x1bhhh@\ +UU\x16,X\xc0]w\xddEUU\x15MMM\ +\x84\xc3a^x\xe1\x85 \xc3\xd7\xd0\xd0\xc0\xde\xbd{\ +\x99>}:G\x1ey$\x83\x83\x83$\x93\xc9 \xe1\ +4V\x12\x80\xae\xeb\x14\x8bE\x1c\xc7!\x12\x89\x04d\ +\x02EQx\xf3\xcd7\xd9\xbcy3\x00\x1b6l@\ +\xd34V\xae\x5c\xc9\xe4\xc9\x93\xc9f\xb3L\x992\x85\ +b\xb1\xc8\xfa\xf5\xeb\x91R244\xc4[o\xbd5\ +}tttW\xf9>\x1a\x1b\x1b\xaf-\x14\x0a\xc7\xd4\ +\xd6\xd6^X\xbe\xf6l6\x1bD\xde\x83\xc5a*#\ +>\xac.\xed1\xe6\xbe#\x984i\x12U\xd5U>\ +\x89[\x08\x1c\xc7\xb1\x84\x10]c\xea\x5c\xdb\xb4i\xd3\ +}\xf1x\xfc;\x1f\xea\x09Q\x14\x85G\x1f}\x94\xe3\ +\x8f?\x9eg\x9f}\x96\x5c.\x17\xa8\x93\xce\xce\xce \ +g\x1e\x8f\xc7\xf1<\x8fH$B&\x93\xe1\x86\x1bn\ +`\xca\x94)\x5c|\xf1\xc5\x98\xa6\xc9\xca\x95+\x03\x1b\ +Q\x86G\xca\xc6\xb2\x9c\xdb\xd6u\x1d\xdb\xb6\x09\x87\xc3\ +A\x00\xbaq\xe3F\x9a\x9a\x9a\xd8\xb1c\x07\xa3\xa3\xa3\ +\x81\x0b]YY\xc9\xc6\x8d\x1b\x19\x1a\x1a\xa2\xa1\xa1\x01\ +]\xd7\xe9\xed\xedEUU\xa4\x94\xe2m\xc1\xee%\x0b\ +\x17.\x9cf\xdb\xb6D\x22\x8a\xd5i\xaab\x1a^*\ +\x84\x9b\xd6\x11R\x01\x05\x84\x90\x01\xc8d\x95,z\xd8\ +L\xf3\x94Z\xdc\x8c\x8e\x9b\xd2\xf0\xb2ZHh\xcc\x00\ +\x08\x87\xc3l\xd8\xb0\xa1\xf1\xc3\x88\xd4\xeb\x92\xc9\xa4>\ +V\x5c\xd3\xe0\xba.k\xd6\xaca\xf5\xea\xd5\xef\xf06\ +\xca\xbc\xdf\xb2j\xdb?\xc5YUUE\xa9T\xe2\x17\ +\xbf\xf8\x05\xf7\xde{/\xb6mSSSCcc#\ +/\xbc\xf0\x02\xad\xad\xad\xe4\xf3y\xb2\xd9,\x9e\xe7\x91\ +N\xa7\xc9f\xb3\xc4b1R\xc9\x14U\x95\xd5\x14K\ +\x05.\xbb\xec2b\xb1\x98\x8fO\x8d\xedh!\x04o\ +\xbd\xf5V\x90\xde\xdd\x1f\xde\x187n\xdc\xbb\xb2\xe3\x13\ +\x89\x04\xb6m\x8b\xbd\xf6\x10\xb3?i\x22\xa3\x0a\x1e\x0e\ +\xaa\xa6\xe0\xa5t\xac\x01\x03\xbb/L\xa9\xd3?\xa1\xd2\ +\x85\xdaya\xea\x16\x94(\xbaq\x14\x05\x9c\x9c\xca\xf0\ +C\x8d\xef\xb8\xe7\x0fT \x8a\xa2\xac\xb9\xf0\xc2\x0b\xa7\ +\xbd\x17\xcad(\x14\xe2\xc5\x17_|\xc24\xcd'\x01\ +\xea\xeb\xebo\xbd\xe9\xa6\x9b\x9a\xce:\xeb,V\xadZ\ +\x15\xa8\xa7r\x1c\xa3(\x0a\xbd\xbd\xbd\x07\xe0P\xd1h\ +\x94\xfa\xfaz\xc65\xd7\xc3\xbc!\xaa#!^\xb9m\ +7\xb1X,`\x9d\x1f\xcc\xd8?\x95\xfcv:\xaam\ +\xdbX\xd2FAA\xcfM\xe4\xe6\xf3\xee\xe1\x85\xdd\xbf\ +\xe6\xf9\xd1\xc7\x99<\xbf\x9e\xbe\xd8 \xd9\xedZpj\ +?1\xe1\x5c\xae8\xf5j\xbe\xf0\xd3\xd3\xf8\xa7\xf3\xaf\ +\xe4\xd1U\xf7\x049\xa3\xbf\x94\xe8p\xd0\x02\xf1<\xaf\ +\xaaL\xb1\x1cu3L\xbc M\xa4B\x01K\xc1\xb3\ +\x15\xdc\x94\x865`\xe0\x0c\x19\xb8\x19\x1d!\xfc\xaa\xa8\ +P(\xd4>00\xf0\xeb1(\xff?\xea\xeb\xeb\x1b\ +W\xae\x5c)\xf6\x8fct]\xff\x93\xe0]>\x97g\ +C~\x07g\xcc\xaa@\xd5-\x16\xdeX\x81\xa6\x14\xd0\ +U\x1d\xd7\x968q\x83\xd4\xd2\xda\xe0\x7f^{\xed\xb5\ +\xaf\xe6\xf3\xf9G\xde\xb6\xa1\xdc\xa6\xa6\xa6\xfc\xdb\xe77\ +M\x13\xc7v\xf0T?\x99\xf5\x99\xe9\xd7\xf0_\xab\xff\ +\x9d/\xcc\xfaWf-\xfc\x04z\xb4\xc4\xcd\xbb\xaf\xde\ +G\x06\xf7\x04\xaft?\x88\xf6l\x8cO\xcd\xfe2m\ +\xb1#p\x5c\xc7'~\x8f\x09\xe4C9!ep\xcf\ +\xb1\x1d\xb2J\x9e\xcajA6gr\xce\x11\x7f\xcf\xa8\ +\xd9\xcd\x9bC\xab\xa9\x9a\xe6Q\x18\xcd0\xf4p=B\ +\x0bj>\x82\xab\x8b\xc7\xe3\x09\xdb\xb6\xa7\x9a\xa6\x19@\ +1\xe5,[RI\xd18Q\xc7M\xebxY\x1di\ +\xa9d\x0b)\x8c\xb0\xc1\xb8\xbaq@\x06E\x15\xcc3\ +\xbe\xc0\xe2\xc5gc\x91\xe3{O\xfd;\xf3gOf\ +\xab\xb35\x98g,\xbf]\xf4^\x7f\x19\xcd\xb1:\x1a\x12G\xb1n\ +h;\x9f=\xf9B\x1e\x1f\xf4\xc9m\x8a\xa4\x1c\x91\xef\ +\x8f\xf5d\xc3\xe10\xae\xeb\xa2i\x1a\x13'N\xc4u\ +]\xd2N\x81Y\x17\xb9\x18a\x05\x17\x1b\xa18xy\ +\x85\xedw\xd7`\x88\x0a?J\xf0 \x95*r\xfe\xf1\ +\x17q\xdb\xda\xcb\xf8\xfc\xf4\xff\xe0\xdf\x17\xdf\x81\xad\x8f\ +\xd2\xbe\xf5\xaa`\xc1\xfeH\x04\xad\xb4\xb4\xb4\x8c\x94\x13\ +U\x00\x9e\xea\xa2i*\x9e)\x10R\xd0 \x1a\xc8=\ +\x067{\xd7\xa3+\x06?\xf5nCA\xc5\x99\xbb\x9b\ +I\xb3\x9a\xf6\x95\xbc\xa1\xd0\x1ai\xe5\xb0\xe6\xc3X\xdf\ +\xbb\x97\x1a\xa3\x11\x89\xc4\xb2\xec\x03(\xb4\x1f\x8a@\xca\ +\xc7\xdb\x15\x0e\x0aa\x16\xcd]\xc4\xca\xa1\x87\x19\xe9\xaa\ +\xc0p\xea\xb1\xbd\x12H\xe1\x03\x88\x1e\xe5\x9c\xf3\xa9\xe3\ +\xc7\x8f\x1f\x1c\x18\x18\xb8\xa7|\xc1\xe5\x8b.\xd3\xf8m\ +\xd7&\xa4k$\x06]~p\xc1\xe3tf\xd6\xf1\xe0\ +\xc6\xffDz\xc2'\x19H\xc0\x00\xab$\x89F*\xf0\ +\x84C\xb6\x90g\xdd\xce\x0dT\xb4\xf4\xa3)\xa1}\x05\ +B\xefN\xe94***\x88D\x22H\xcf\xa3G\x0e\ +3\xff\x22k\x1f\xe1n4\x843\x10\xa1\xd4m\x10N\ +T\x8f\x91\x8a\xc2\x84\x8d0\xf3\xa7\x9f\xc4&\xf7\x09,\ +k\xdf\xbe:\xa5\xedR&O\x8f\xf0\xfc\xf0*Vt\ +\xd9P\xe6h\x8d\xdd\xdf_rB\x0e\xda\x02\x95\x0d\xa0\ +eYx\xae\x07c\xa5\xcc\x08Q\xa6\x92Qrrc\ +\xef3\x83r\x85\xc3\x0f?\xfc\x14\xc30\xbeZ\x9e#\ +\x16\x8bq\xd7]w1~\xfc\xf8}u&\xb6\x83\x10\ +\x82\xaf\x1c\xf3m\xd6\x0c=\xce\xcem\x19f\xa9\x9f\xa5\ +\xd2\xa8\x0e\xe6AB\xac\xc6`$5J\xb5^\xcf\xf8\ +\xbaF\x5c\xcf\xc6vl\x84T\x02\xc2\xdb\x1f\xa3rJ\ +)\xc7j>l\xf2\x22\x0f\x12\x0a)\x95\x0bf\xff/\ +\xaa\x9bC\x18\xb3\xd3\x8c;7Nx~\x22\x98\xcbq\ +\x5c\x96t\xdd\x87c{$\x93I\x92\xc9$\xa5\x82\xc9\ +\xa3\x9b\xee\xc2\x949B\x95\x92\xce\xe2Z\x86w\xe7\x82\ +\xbf\x8fQ\x9e\x9c\x0f\xd5\x86\xb8\xae\x8b\x82\xc2\x8b\xed\x7f\ +\xe0\xe4\x8f\x9dLJ\xea\xbc\xd6\xf54G6~\x8d\x97\ +\xc5sXV\x1eE\xfa\xe8\xec\x98W\xe6\x95w\xefu\ +\xd7]G<\x1e\xa7\xa5\xa5\x85B\xa1\xe0\x9f\x10a\xa3\ +H\x95\xc3\x9a\xa6\xf2\xda\xe0JF\x0b%v\x0du \ +\xf0\x17Z \x90H*+\x22<\xb2\xe5\x87|y\xc1\ +w\xe8\xcc\xad\xe6\xcd\xfc\xf3\x9c\x119\x1b[\xeec\x1f\ +\xfe1\xb7\xb3\x1c\xb1KW\xe2\x85|\xa4\xe0\xc63\x1f\ +\xe6\xa9\xad?\xe7\xba\x85\x0f\xb0d\xe3\x12\xcc\xea\x9d,\ +Y\xff*\xa6\xe9s\x03\x8c\x90M\xffj\x8b=#\xa9\ +\xa0 \xc7qm\x92\x9b,n\xf8\xfa\xad(\xd2 \xdf\ +\xefa\xe7u&\x8e\xaf\x06!Q5\x85\x9a\x9a\x9a\xcf\ +\xcf\x9d;\xf7\xf8\xfd?\x7fpp\x90\xee\xee\xee\x8f\xe7\ +r9\xeb\x90\x09\xa4P(\xe0\xd86f\xc4\xc3\xc3e\ +\xb3\xf50\x87\xf5M\xa5\xaeQ\xa1m\x96\xca\x7f\xae\xba\ +\x04\xcb\x09\x91\xcb\xe5Qt\x7fa\xca\xc1\x5c\xd9\x03Y\ +\xb9r%\x9f\xf9\xccg\x02@\xcf\xf3\x81\xafL\xea\xeb\xe8\xe8P\x0e\xe9\x09\xc9\xe7\xf3\ +~N\xa0Bb\xbb\x16\x9a\xaa\xf2x\xe7w9\xa2t\ +\x0c\x96ma\xa5\x15\xb6\xfd>I\xc9\xb6\x10\xce\x81\xf6\ +\xa2<\x96/_\xce\xf3\xcf?\xcf\xe0\xe0 ---\ +~\xb5\x92\xea\xa7n\xef[v\x0f\xffr\xc1\xb5\x94\x1a\ +\xc4\xe7O\xfe<\x8d\x93\xa0\xc7\ +I\xe18\x0e\x93&M\xc2H$X{c\x1e\xb74\ +\x06\xce\x0a\x90h\x84\xc2\xfb\xf2\xf9\x7f\x8a\x81^\x16\x88\ +t%\xd2\xf3\x91\xe9T!\xce\xec\xdaS\x982q\x02\ +/\xae\xf78\xbe\xf9S\xbc\xe1\xfe80\xe0\xe1p\x98\ +hE\x94\xa6\xba\x094\xd6J\xde\xdc\xbe\x85\xb6\xb6\xb6\ +}\xf9\x1c\x1fW\xc1sB|\xef\x93O\xf2\xd2\x96\x17\ +p\xaa\xf7\x92\xd8\x1ba\x93\xfd\x80_\x16gyA\xeb\ +\x90\x83!\xd3\xbd'\x81\xb4\xb5\xb5q\xe1\x85\x17\xb2~\ +\xfdz\x06z\x06\xf1\xac\x0cn\xc8A\xea\x12+b\x05\ +\x09'\xcf\xf3\xc8\xe5r\xc1\xcf\x803\x06\xa9\x9c[\x86\ +Ub\xb1\xd8\x8b\xae\xeb~\xd2\xcf:z(\x86\xbfk\ +\xdbG~G\xc7\xfd\xaf0\xd8S\xc0*H\xee\xbc\xf3\ +N&O\x9e\xcc\xf0\xf00K\x96,\xc14M\x5c\xd7\ +\xa5P(\x90\xc9d\x980a\x02{\xf6\xecadd\ +\x84\xe6\xe6f\xba\xbb\xbb\xffh*:\x9f\xcf#]\x0f\ +\xcb\xf6\x09\x15\xdf}\xf5b\xae?\xf5\x11\x1e\xdat\x0b\ +;\xb4e\xf4wV\xe2\xd8.\xb9\x5c\xa1\x9cf\xa0\xc7\ +\x1b\xa1\xf9\xb2Q\x22\xba\x8e\xbcg\x14\xe14\x04 \xa8\ +\x8a\x82\x22\x04!k\x1c\xb1h\x8c\x1f\xbdt\x1d\xf7^\ +\xfc\x07\xeaO\xaa#\xd7\xbe\x85\x1ek\x17\x96\xa9|p\ +\x02\xf9\xf5\xaf\x7f\xcd\xab\xaf\xbe\xca-\xb7\xdc\xc2\xb2e\ +\xcb\xd8\xb8q#B\x08\xba\xbb\xbb\x994i\x12\x93'\ +Of\xf5\xea\xd5tttp\xec\xb1\xc7\xb2q\xe3F\ +\x8a\xc5\x22\xaa\xaa.8\xf1\xc4\x13e@\x92\xf6<4\ +]\x05GH\x84\xdf\x94\xa7\xfd[\x1e\x12P\x14\x1d\xa1\ +\xda\xa8z-\x8e\x19\x0f\xa2\xf8\xa9S\xa7\xf2\xc8#_\ +\x1c\x22(\x00\x00\x19\xedIDAT\x8fPWWG\ +ss3\x8d\x8d\x8d\xdc\x7f\xff\xfd\x14\x0a\x05\xc2\xe10\ +\xb1X\xac\x5c8\x8a\xe7ym\xb5\xb5\xb5\x1f\xdb\x8f\xa8\ +\x11v]7\xb0!\xb6\x09\x8e\xb4Q+m~\xb0\xfa\ ++\xb4\xd5\xcc\xa0\x94\xb6\xc9\x0f'\xe8|-E\xb1\xe8\ +\xab\x97H8\x8c]mQS\x15\xc6\xce\x87i\xac\x99\ +\x88=`\xe3I\x1f\x8dv\xa5@\x11\x02\xe9)8\x9e\ +\x0d\x02\x14\xdde\xf7\xc0.\xba\xd3\xdbpl\xb0m\x11\ +l\x88r\xa5\xd5!\x13\xc8\x13O<\xc1i\xa7\x9d\xc6\ +\x9e={\x18\x1a\x1a\xc2\xb6}\xa3\xabi\x1a[\xb7n\ +\xc5\xb2,\x92\xc9d@\xb0\x03\x02\xe2\xf2\xc4\x89\x13}\ +o\xa3\x94\xa2n\xf10\x13&\x86q\xb2\xaa\xb0\xfb\x22\ +8\x03a\xac\xbe\x08e\x07\xba\xcc\xc1*l\xc9s\xe3\ +\x8d7r\xc6\x19g\xf0\xfa\xeb\xaf\xe3y\x1e\xbbv\xed\ +\xc2\xb6mt]g\xc2\x84\x09\x14\x0a\x05t]\x0f\xc0\ +\xc3\xe6\xe6ff\xce\x9c\xf9\x1d\xe0;\xfb\x93\xfd\xb6l\ +\xd9\x82\xa6iHE\xa2\xc7a\xef\xcbEF\xb6\x9a\xa4\ +\xbaF\x11l; #Q\xb6{\xaa\xea\x17u\x96\x8a\ +.\xb7\x9c\xf9;\xfe\xfe\xa9\xf3(9.\x12\x9fl!\ +<@\x0a\xf4\x88CH5h\x8cN\x22Y\x1cB\x11\ +Q\xf0\x14l\xc7\x0a\xd4_\x99\x94}Hm\xc8=\xf7\ +\xdc\xc3C\x0f=D.\x97{\x87~\x06\xd8\xb9sg\ +\xf0\xbb5k\xd6P]]\x1d\xfc\xbd\x8c\xf5\x8c\x94R\ +\x1c9\xa5\x82b\xc9f\xf6\xe4\xe3\xd8S\xb3\x09gv\ +\x16\xcf\x93\x98{*\x18}1\x86Pe\x90\xcc\x8aF\ +\xa3A>_\x08\xe1\x97\xd2\xd96\x93'O\xc6\xb6m\ +\x14\x04;\xd4=\x1cs\xa1\x86\x90\x0a\xd2\x12x%\x15\ +'\x1e\xc2\xea7p\x86\x0d\x9c\xb1\xce7\xc7\x1cs\x0c\ +\x97^z)\xf7\xfd\xea>\xe4(Hu\x90\xba)^\ +`\x13L\xd3$\x1a\x8d2\x86\x00\xa3i*\x02\xbf\xe6\ +\xb1\xae\xaa\x96\x82\x95\xc3q\xfcf9\xa5R\x09E\x0a\ +B\x02l-\xc1\x8f\xff\xf0\x7f\xf9\xe5\xa5Op\xd3\xeb\ +\x17ax1\xaa#1L\xb3\x97R\xc9\x0b\xec\xe9\xc1\ +\x00\x8f\xef\x05\x5c\xdce\x9a\xa6aYV\xcd>\x86\xe2\ +\x810\xc5\xdbK\xce\xb2\xd9\xec\x01\xb9\x0d\xff\xf7\x1e\x9e\ +'9.t9-\x0d\x1agL\xba\x84_\xbc\xfe\x9f\ +\xcc\x98\xda\xcc\xaa=\xab\xb0-\x1b\xa1\xf95)u\x8d\ +1B^\xa5\xaf\xd3\x14I\xae\x90e\xfc\xf8\xf1D\xa3\ +Q\xb2\xd9l\xd0m!WY@\xd3\xab\x89)\x93X\ +8\xf7\x14^\xda\xfd0\xce8\x171/A\xfc\xd5(\ +\xf9-~\xb1\xcd\x1dw\xdc\xc1\x8a\x15+\xf8\xc1\x7f\xfe\ +\x80_\xfd\xeaW\xcc\x91G\xd0\xdd\xdd\xcd\xacY\xb3x\ +\xe1\x85\x17\x984i\x12\x96e\xa1i\x1a\xa1P\x88T\ +25Vk(\xf6\xabIq\xb0l\xcb/\x83p\xa1\ +\xb2\x14\xc2\xf6t:\xcc'Y\xdds\x18U\x15U\x0c\ +\xe6w\x93\x1ft\x89\xf7%\xb1\x0b\xfbR\xbe\x07C9\ +=h\x81\x8c\x8c\x8c\x9cT,\x16\x7fr\xce9\xe7\x5c\ +}\xdbm\xb7\x91\xcdfy\xf8\xe1\x87\xd9\xb5k\x17\x8a\ +\xa2\x90L&\x89D\x22(\x8a\xc2\xe8\xe8h\x90\xf5K\ +\xa5R\x94J\xa5\x00Zp\xa5G\xa9\xe8q\xf1y\x7f\ +\xcfM+\xfe\x1e\xadf\x02S\xab\x8eavC++\ +\xe5*L\xcbD\xb8>0\xd9tA\x96\xaa\x89\x05\xec\ +\x11\x03w0\x02\x1d\x02g\xd8\x0b\xa8H\xb6m\xe3J\ +\xdf\x08I\x04\xdf<\xe5^~\xf4\xf2\xbf\xf2\xefg<\ +\xc4\xea\x8do\xb2\xc9\xf95Cv\x1f\xb6\xed/\xe6\xd3\ +O?\xcd\x82\x05\x0bhoog\xe7\xce\x9d\xc1\x02%\ +\x12\x09J\xa5\x12\x89D\x22H;\x17\x0a\x05\xca\x0dl\ +\x5ci2\x9a\x1e\xa5\xda\xa8#\xed$\x02\xc6\x0d\x02\x94\ +\xbc\xa00\xe2\x91\x1bv\xb9\xf5\xd9\x1bI\xecpIu\ +: \xfd\xba\xf7\xb2\x0c\x0e\xb6\xa0\xe7=\xa9,!\x84\ +\xbep\xe1B\xd6\xad[\xc79\xe7\x9c\xc3\xe1\x87\x1fN\ +>\x9f\xc7\xf3\x155\x1d\xf7\x88\x86+\ +X\xd6\xf9\x04\xd7j7\xd3PW\x83\xd5o\xe18.\ +\xa6\xe9C3w\xdey'w\xdcq\xc7\x1f\xbd\xbf\xd1\ +\xd1\xd1\x03~\x8eU\x8f\xe5\x5c\xa2:\xff\xe7\xf7\x9f\xa5\ +64\x89\xed\xc5^\xa2\xd1(\x86a\xd0\xd4\xd4Dj\ +s\x8a-\x9b\xdd1\xb7\xdb\xefhT\x15\xf3\x0e\xa0\xd6\ +\x96\x0b\x98\x0e\xb9@\xa4\x94\xfc\xf6\xb7\xbf\xa5\x9c`\xea\ +\xe8\xe8\x08 \x8b\xb2\x8d\x10BP(\x14p]7\x10\ +VY?\x03\xb8a\x8fHX\xe7\xe5\x0d\xcb\x09QM\ +m\xb4\x9e\x81L\x17gU\x7f\x9c\xadr\x07\xa6UB\ +\xf1| \xb3:},\xe7\x1f\xfdE^Z\xbd\x8eq\ +\xd2\xe3\xf4\xd9\xa7\xf0}\xebv\xc2\xaa\xb1\x8f\x947V\ +a\xa8(\x82\x03m\xa6\xc0\xf6\x8ac'\xc9%\x95J\ +\xf9\xe9\x80\xb1`PJ\xe9\x7f\xaf\xf9|\xa2\xb0\x16\xa5\ +`gQ\x84\x8ak\xfa\x0b\x97N\xa5pZ\x1cL\xa7\ +\x84\x16\xf5\xd88\xb4\x02\xd7\x11466r\xf7\xddw\ +\xe3y\x1e\xabW\xaff\xd5\xaaU\xb4\xb6\xb6\xb2f\xcd\ +\x1a\x8e<\xf2H6m\xf27W]]\x1d\xf9|\x9e\ +\xde\xde\xde\x83\xe6\xff\xbeW\xacX\xd54\x8dg\x9ey\ +F\x0a!\x84\x22\x94\x80=\xe8J\x9f\xaf\xa4)!?\ +?\xae\x86p\x1c\x87\x8a\x8a\x0a\xa4\x94A\xe9\xb1\xa5\xd8\ +h\xba\xe0\xc1\xed\xff\xce-g?\xce\xda\xe1'\x085\ +\xf7\xd3\x93\xdf\x82\xedY\x14\xf2\x05\x14\xdd\x8f\x01\x8e\x9b\ +\xbe\x80\xee\xd4v\xde\xec_\xc7\xc2\x19\xa7\x11V\x8c\xb1\ +\xb23\x11\xb4\xf8P\xa4@\x22\xa8\xad\x0f\x91\xceg8\ +\xf7\x88\x7f Q\x1c \x97+1\xb5\xf6(\xda\x9d?\ +\xe0\xba\xd2\xf7\xf2\x5cA\xa9&\xc1\xb4\xd8\x5cJ\xa5\x12\ +\x03n\x8a\x19_4\x99V\xb1\x90\x8b\xcf\xf8\x125j\ ++7=~\x0d\xcf^\xbf\x0e\x0f_\xe0\x91\xa2\xce\xc0\ +\x1b&\x99^\x87\xd4\x9e\x02\xbaZ]\xce\xed0w\xee\ +\x5c\xaa\xaa\xaa\xc8\xe5rttt\xa0\xeb:\xb1X\x0c\ +)%\xc9d\x12\xd34ikkc\xdb\xb6m\x1f\x8c\ +\xcaR\x14\xe5\xd17\xdexc\xda\xacY\xb3N+\x14\ +\x0aX\xd2E\x9f\x9e\xa7\xae\xaa\x96\xb3\xe7~\x8e\x92i\ +\xb1t\xfb\x13\x9c9\xfb\x1c\x96\xee\xfe-\xe9\xf5a\x0a\ +\x85\x02B\x88`\x87\xe4\x85\x87\xedZ\x84\xaa<\xfe\xed\ +\xf7\x17\xb1x\xfe\xd9d\xf3)\xd6\xc7W\xb2\xf3\xe5,\ +\xd9\x82\x19\xec\xf4\x92i\xe2X*\xae\xe3\x91+\xa5\xf0\ +\x1c\x1f\xcd\x95xh\x9a\xe6\xcf-\xfd\xb8\x06\xe1q\xcd\ +\xd3\xe7\xf3\xc3\xf3\x9e\xe2\xc6\xd7/$S\x8a\xa3\xe9\x1a\ +V\xc9\x22\x97\xdb\x97+\x99\x14\x9dF>\x9f\xf7S\xb7\ +\xd8\xd8\xa6\xcb\xac\xc6E<\xd9\xfe3\x0eS?\xc11\ +\x0d\x8byF\xae\xa6\xbe\xa1\x9e\xe3\x8f?\x9e\xad[\xb6\ +\x12\xff\x83\x83\xe5\x98\xb8\x99\x0c\xd1j\x9dd2\xc9\xd7\ +\xbe\xf65Z[[\xe9\xec\xec\xdcW.'%;v\ +\xec\x08\x16?\x95J\x05,\x99?\x06\xe9\xfcE\x02\xc9\ +d2/UUU\x9d\xdc\xda\xdazZ2\x99\xa4\x88\ +E\xf5\xc9:\xc74\x9e\xc9\xdcc\x9aY\xb7\xb1\x93\xef\ +\x7f\xe6n\x8e\x9by\x0cC\xcf,cGO\x08\xe1\xaa\ +\xa4R\xa9\xc0\x80FJ.\xd9!\x87\xc1\x8d\x16\xa3\xdb\ +\xf6\xb0\xfa\x96\xbb\x83^UM\xa2\x99\xa6\xb9\xfb>\xef\ +\xf7\x0f?\x05c\xcdZ\xfbx\x09\x80\x09\x13\xc7S,\ +\x16\xc9f\xb3\xe4\xf3y\x84\x148\xa6\xf0\x85\x5cmq\ +\xe3k\x7fG$\x5cAA\xd5Hv\xdat\xaeL!\ +\x9d\x80\xe0\xc7\xb8\xeaq\xf4\xf7\xf7\xfb\xecy\xd5\x19\xab\ +\xf8\xf2\xf12\xd7\xf3H\x17\x13\xa8\xaa\xc6\xaaU\xabx\ +\xf1\xc5\x17\xf9\xd2\x97\xbe\xc4\xb2e\xcb\xa8\xa8\xa8\xe0\xfe\ +\xfb\xef\xa7\xad\xad\x8d\xae\xae\xae\xc0=\xae\xa9\xa99\xa8\ +\xb5\x8b\xc7\xe3\x1f\x0c\x0dHU\xd5i\xe5\xf6L\xb6\xf0\ +o\xa8R\x8fa\xbaEL\xa7\xc4P\xa6\x97\xbel,\ +\x80\xebq\xf6\xf9\xde\xd7^{-K\x96,\xa1\xe7\xbe\ +\x04\xaek\x13\x05\xf4J+(\x1c\xddY\xe8\xe7\x88\xcf\ +8T\x845\xa4\xa9b't\xdc\x11\x03\xab?\x8c\x97\ +\xd5\x10\x9a\x0c\x82\xc6l6\xeb\xefL\xd7#\xdc-\xd8\ +\xf6\xbb\x1c\xe9\xbd\x0eN!\x81]\x908E\x89\x94\xa0\ +\xa8jP\xb8g\x84\x22l\xeaZE\xb5l\xf6\xf3\x1d\ +\x86\x87\xae\x18\xec\x18\xdd\xc8\xf1G\x9f\xc0x\xedp6\ +\xed^\x13p\xbd\xda\xda\xda\xe8\xee\xee\xf6\x05?\x86\xd8\ +\x0e\x0c\x0cp\xc3\x0d70::\xca\x93O>\x19T\ +(\xe7r\xb9\xe0$\x94I\xe5\xb5\xb5\xb5\xe5b\xa4\xd1\ +\xe1\xe1\xe1\x85\x8d\x8d\x8dfoo\xef\xa1\x15\x88\x94\xf2\ +\xb0\x80\x9d\xa8\xb8\xa8Bc\xb48@St.5\x15\ +i\xb2V\x1a]\x0d\xa3\xa0`[&\xd2\x118\x8e\xc3\ +3\xcf<\xc3\xe8\xe8('\x9f|2\xbf\xff\xfd\xef\x03\ +,j\xd9\xb2e\x81\xc1\xef-\xc5Y4~\x1c\x85\xac\ +\xc7q\xd3?\xce\xa6\xc1e83rT\xa9\x92\xec\xe6\ +\x0a2\xafW\xfb\x86X\xf1\x8bz\x16/^\xcc\xec\xd9\ +\xb3yi\xc9Kx\x19\x09\x8cB\x05X\x9a\x85\x88\xf9\ +\x0b\xa8\xeb:\x99L\x06\xc7q\xd0t\x85d\xb7\x83^\ +_\xf4\x93U8x\x9e\xc1@\xe8U\xc2\xc5\xd3\xc9\xd7\ +\xf6\xb0\xdbz\x19]5\xb8\xe8\xa2\x8b\x98={v\xd0\ +\xe5\xc7\xf3<\x86\x86\x86\x98:u*\xdf\xf8\xc67\x10\ +B\x10\x0a\x85\xde5\x07S.2\xcdd2\xd4\xd4\xd4\ +P(\x14\x9c\xd1\xd1\xd1\xed\x1f\x14QN\x09\x1a\x98\xa9\ +~n\xb5P\xb9\x8d\xb6\xca\xeb8b\xf1\x09\x5c\xf3\xe4\ +\x05\xb4Ml\x06\x01\x96e\xe2\x8da9o\xbe\xf9&\ +\x8d\x8d\x8dd2\x99r\xd3d\x86\x87\x87\x0f\xf0\xc0\x84\ +\x10\x94l\x93\x0bZne\xc4\xdb\xc0?/\xb8\x9b\x97\ +\xda\x97\x90\x8el\xa5\xdd\xde\x15\xf4\x16)\x0b\xe4\xf2\xcb\ +/'\x97\xcbq\xdai\xa7q\xfb\xed\xb7s\xc2\x89\x0b\ +\xe8\xee\xee\xe6\xc8#\x8f\xe4\xd1G\x1fe\xf2\xe4\xc9~\ +{\xc1T\x8aT*\xc5\xe0\xe0 \x95\x95Q2\x99\x0c\ +\xa6iR\xf0\xfc2\x08O\x95\xfc\xf4\x8d\x7f\xe2\xaaS\ +\xbf\x8d\xed\x940M\x18\xd7TK___\xa0j5\ +M\xc30\x0czzz\x10\x9a@\xd5\xfcf\x0193\ +C\xa5Q\xedWiEM\xec0\xe6\xa2\x10\x82D\x22\xe1\xe7\x054I\xc9\x8aa\ +\xabp\xe5o\xcf\xe6\xd1\xaflD\x8bX\xdc\xb7\xe9\xdb\ +x.\xc4\x87\x92APt\xeb\xad\xb7\xbe#\xdf\xbd?\ +\x1b\xdd\x87F`x\xa0\xc4\xd9\xe7\x9e\xc6\x95\xcf\x5c\xcf\ +\xe2\x19\x173\xa9v\x06\x03\xa4\x91\xde\xce\xa0\xb7H\xb9\ +\x8e\xbc\xbb\xbb\x9b\x13O<\x91\xdf\xfc\xe67\x01\x15\xb5\ +\xdcL@J\x19\xb4\xf7\xd0u\xdd\x8f\xac\xc7>\xafl\ +\x84+\x8a\x1e\xa5\xb8G\xcf\xae\x12\xf1\xad\x16\xff\xf0\xdd\ +\xaf\xfb\xf9{\x05FFF\x0ep\xf7\xcb\xc5\xa4\x0a\x82\ +\xf8\x94\x0c\xc7\x9eY\xc5\xaf\xfev%g\xde9\x85g\ +\xaeX\xc1\xe6\xce\x0e\x9e\xea\xbd\x91\xad\x8f\x8f2\xba\xc9\ +7\xde\x86a\xb0}\xfbv\x1a\x1b\x1b?8\x81\x94\x17\ +XQ\x144O\xa2\xea\x02\xd7\xf1`Tr\xca\xa5\x87\ +\x93\xeb\xf2\xb0\xf2\x123\xe3\x05\x1c\xa5b\xb1(\xcb\xb5\ +\xeao\x17\xae\x10b\xdf\x0e2|\x17z\xff\xbf\xdb\x8e\ +\xcd\xae\xec\xc61\xd6\xbc\x15\xb0\x91\x15E\xe1[\xdf\xfa\ +\x16\xd1h4 \xc1\x95\xe7\xdf\xbcys\x80\x18\xec\xff\ +\x99\xe5\xfa\x12\xc30\xb8\xfa\xea\xabY\xbe|9\x83/\ +\x0e\xe2z\x1e!\xc7\xa6\xa9Q\xeek\xed7\xa6\xa6\xca\ +\xbd|\xcb\xc1\xad\x22\x05R\x08j\xeat\xe2\x99\x11\xae\ +8\xe9F\xfa\xb3\xbb\x18I\xa48~\xe2\xd9\xbca\xff\ +\x9c2\x85\xablS\xde\x0b\xe9\xe1}\x09D\x08\xc1\xb4\ +i\xd3H\xa5R\x0c\xdck\xd2c\x9a\x08E\xe2\xe7m\ +\xfd\xc0$\xa4J\xa4\x22\xcb\xa4i100\xb0ld\ +d\xe4\x94\xb7\xcf5g\xce\x9c\xb8i\x9a\xe3\x84\x10`\ +@MM\x98=}}x\x8e\x82\xa6\xe8d\xcd$M\ +\x916v\xbaqL\xd3\x0e\xba\xef\xd8\xb6M4\x1a\x0d\ +\xd2\xb6\xfb{re\xb8\xfb\x80\x93\xe8\x82e\xfa\xc4\xed\ +\xab\xae\xba\x0a!\x04\x0f>\xf8 \xdf\xfe\xf6\xb7\xe9\xea\ +\xeab\xe6\xcc\x99\x8c\x8c\x8c`\xdb6MMM\xbc\xf2\ +\xca+\x84B!\xc6\x8f\x1f\xcf\xbau\xeb\xb0m\xdb\xc7\ +\xe6<\xb0,p\xa5\xcd\xb5/\x9e\xc7\xff=\xf5)\xee\ +\xdd\xfc\xcf\xf4\xa4\xdeBK\xa8\x94\x0a&\x99\x8cy\xc0\ +&x/l\xc6\xf7c\xd49\xf2\xc8#\xb9\xec\xb2\xcb\ +8\xe2\x88#\xb8\xf9\xe6\x9b\xe9\xec\xec\xa4\xa6\xa6\x86\x91\ +\x91\x11t\xddo.988\x88\xae\xebh\x9a\xc6\xe0\ +\xe0 \xe9t\xda\xfbc\x89\xa3R\xa9\xe4\xef\xc8*\xc9\ +\xb8q\x95\xfch\xd9\xbfp\xd7\xdf-\xe3\x97o\x5c\xcf\ +\x9b\xa9-\x1c1i\x0e\xae7\xc6\x0e\x1c\xb3!S\xa7\ +N\x0b\xe2\x15UUY\xb1b\x05\xcd\xcd\xcd\xef\xea\xeb\ +\xab!\x08\xcdM\xd2\xb7\xb2H!\xe9\xb0k\xd7.\xae\ +\xbc\xf2J\xf6\xee\xddK\xb1X\xa4\xb1\xb1\x91\xca\xcaJ\ +t]g\xd9\xb2e\xd4\xd5\xd5\xd1\xda\xdaJOOO\ +PN],\x16\x83\xb8\xc7I\x0b\x92\xfd~1\xe9\xbf\ +>y>\x15F\x98l\xce%\xddc\xd2\xb9\x22\x8b\xaa\ +\xa8\x07l\x9a\xb1\xcd\x11\x06\x984i\x92\xdd\xdd\xdd\xed\ +\x1e\xb2r\x84\xda\xda\xda5MMM\xc7\x1d,\xa7\xb6\ +<\x5c\xd7\xa5\xbf\xbf\x7f\xc6\xc8\xc8\xc8\xce\xfd\x7f?}\ +\xfa\xf4x\xa9T\x1a\xa7(\x0a\xc3\x13\x5c\xfe\xf1[\x13\ +\xb1,\x97\x9a\xc2\xb1\x1c5g\x0aKw\xff\x06M\xd3\ +X\xf5\x83\x04\xa9._\x17TVT\xb1\xe8\x96*\x86\ +\xeeoD:\xbeZX\xbbv-\xd1h\x94p8\x1c\ +0\xef\xcbi]\xc7\xb51\xa2!\xdc\x92\x0c\x9a\x0b\xec\ +\xcfR\xf9S\x19\xd2\xe6\xe6\xe6\xfd\xaazd\x90\xb3\xf9\ +c\x9b\xb5\xa7\xa7\x87m\xdb\xb6!\x84\xa0\xb2\xb22(\ +\x8e-o\xbe\xb5k\xd7~)\x99L>pHO\x88\ +a\x18\xcc\x981\x03\x80~3\xc1\xe4\xb3\xf3D\xc2\x1a\ +\xc24\xb0\x87B8\xc3a\x9c\xe1\x03\x1bYF\x22\x11\ +\xee\xbd\xf7\xde\xf4\xbbMY&\x97\x85sP\xcax\x0c\ +m\xb1\xe8\xd8\xf3\x0a\xcf\xdf\xb9\x04\xcf\x14\xd8y\x0f\xd7\ +\xf4\x8d\xf1\xbe\xbc\xb9\xc0v\x1c\xa4\xed\xeb\xfa9s\xe6\ +\xd0\xda\xdaJ,\x16c\xdb\xb6m\x8c\x8e\x8e\xd2\xd4\xd4\ +\xc4\xd0\xd0\x10\xfd\xfd\xfdx\xa6\xaf\xbaL\xd3\x0c\xe8G\ +\x0a\x02\xc7\x94\xd8\xb2\x84B\x08\xcb-\xa1\xab\x1aH\x05\ +M\xd5(\x95\x8a\x0c\x0d\x0d!\x10\xac,m\xe5\x9c\xcb\ +b(R\xe0\x9a\x80\xa5\xfb\xd76`P\xda]\x81\x97\ +\xf5\xaf\xadP(P[[\x1bT\x1bG\x8c\x8a \xce\ +\x8aF\xa3\x7f\xd6\xe3z_\x02)\xe7\xb4\x15\x04\xa3Z\ +\x9c\xf9-a2\xd94\xedwXL\xac\x99\x82\xebe\ +\x11\x8a\xc0r\x1dt] M\x0dD\x82\xb3\xce\x5c<\ +T\xb6\x01e\xa3\xd7\xd5\xd5E(\x14\xe2\xf4\xd3Og\ +\xfd\xdau\xb4\xdf\xec \x85\x0eBG\x93n\xd9\xd1\xc6\ +\x88*\x81\x8b\x5cf\xa2X\xa6\xefV\xab\xaa\xca\xc0\xc0\ +\x00\xae\xebRYYI&\x93\x09X\x1e\x8e\xe3\x10\x0e\ +\x879\xef\xbc\xf3H\xa7\xd3,_\xbe<\xc8\x08\x0eG\ +\x8b\x9c~U\x15\xc7\x1aW\xd10\xc5dQ\xeb\x17\xb8\ +\x7f\xc5O\xf9\xf8\x91\x0b\xb9\xf3\xb9o\xd3\xff\x98\x87\xa5\ +\xfa\x0d\xd2\x0aX\x18\xbaB#Gr\xfaQ\xe7\xf0\xe4\ +\xb6\xbbP\x9dJr-\xbd\x8c\xe4%\xa5\xd1H\xe01\ +\x1es\xcc1l\xdf\xbe\x9d|\xa6\x8017IiW\ +\x04\xa1\xec\xf3\x0e\x0f\xa9@\xaa\xab\xab\x03\x86\xa0\x82\x00\ +Mb;.\x7f3\xf1&\x12\x8dw\x05\xbb \xe5f\ +\x19wA\x9cq\x0d:N\x1e\xec\xa1\x0a\xdc\x11\x03{\ +\xd0@\x16U\xdc\xbc\x8a\xa6i\x94J%~\xf3\x9b\xdf\ +\x00p\xc6\x19g\xb0|\xf9r\x1c\xc7!\x1e\x8fSS\ +SCOO\x0f\x8b\x16-bdd\x845k\xd6\x10\ +\x8dF\xd9\xbb\xa7\x1b\x81\xc0\xb2l<\x9b :\x0e\x87\ +\xc3\xa4R\xa9\xe0Z\xfb\xfa\xfa\x08\x87\xc3X\x96E\x22\ +\x91`\xca\x94)\x81k,\x84\xc0\x0d\xbb\xa8\x8a\xc6&\ +\xef~.\x09\xdd\xceS\xbb\x7f\xc4No);\xdfx\ +\x0eO*~\x1a\xda\x94~OGC08\x94\xe3;\ +\x17\xdc\xca\xff~\xf6\x0c\xee\xfe\xfc\x12\xf6\xf4\xf7\xf0t\ +\xef\xad\x0c\xda]\x81\x0a\xf4<\x8fx<>\x86\xe1)\ +x\x8e\x87k\x9a\x08\x95\x03\x02\xc9\xbf\x98J\x1a\x90d\ +\x0d#\xd8\x09%\xd3\xf4\xdb|\xdb\x06\xe7\x9d\xb8\x98\xbc\ +\x99\x09\xe8\xa1#N\x9a\x8aP\x083\xab\xb0p\xca\xf9\ +\xd4N\xd1\x88\x1e\x95\xa1\xf6\xec\x11*O\x89\x07\xdd\xb1\ +\xcb^\xd0\xc8\xc8\x08\xe1p\x18EQ\x983g\x0e\x86\ +a0i\xd2$l\xdb\x0e:D\x9cx\xe2\x89\xa4\xd3\ +\xe91WR9\xa0M\xb9\xeb\xbaA\xcb\xf0r\xb3\x9c\ +x<\x1e\xd4=vtt\xf0\xec\xb3\xcf\xa2\xaaj\xd0\ +\x81\xa2P,b;\x16(6w\xb4_\xc6p\xb6\x0f\ +\x89$?\xe2\xb2\xfe\xde8\xae\xb7\xaf\xeb\xb5\xa2(\x8c\ +\x0c\x98\xc4jB(\xaaKD\xaf\xa4\xa6\xb2\x86x\xae\ +/H\x96\x95\x89\x7f]]]~sNUA\xba\xde\ +\x014\xd7?\xe7\x02\xbf/\xb7\xb7\xac:\x04~\xa0U\ +\xf6*\xf6\xb5\xff\xb6q\x15\x17E\x15|z\xd27\xc9\ +\xc8]\x5c\xbf\xe81\x1e]\xfd \xcd\x93t\x9eXq\ +_p\x93\xd1h\x94+\xaf\xbc\x92\xc9\x93'\xd3\xdf\xdf\ +\x8f\xeb\xba,]\xba\x14\xcf\xf3hoo\xc7q\x9c@\ +\x1d\x95\x03\xcb\x90f\x04\xf1\x8bk\xf9I\xa0P(D\ +]]\x1dB\x08jkk\xdfv\xc1c$\x03E\x04\ +\xa5\xd0\x9e\xe7Q\x9dQ\xe9ZR \xd7\xedbe=\ +\xd6\x14V\xe2\x14\xc1\xb3%\x8a*p\x0dw_[C\ +\x14t]\xc1\x19\xe35\x83\xff\xf4 \x04\xb8\xae\x87i\ +\xfa\xfc3\xd7q\xa8m\xae'\x99\x8f\x13\x8a\x99\x84*\ +U\xd2\xb6\xdf7\xf2`J\x15\xdeW\xa4^^x\x81\ +\xdf0\xc0\xf1lJ\xa6\x89\xa6\xe8\xfb\x0a`\x0c\x0fO\ +\x0aZ\xabg\xf0\x9b=\xbf\xa0-t\x22\xf5\x91\x16\x0c\ +%\x83\xf4\x08\x04R*\x95d(\x14\x12\x9d\x9d\x9d\xfb\ +G\xefR\x08!\x5c\xd7E\xda`{\xde\x98C\xa8\x82\ +\x02\x96cc:\x92\xd1\x91\x04r\x8ce_\xceL\xe6\ +\xf3\xf9u\x1d\x1d\x1d\x0f\xd6\xd7\xd7\xffX\xd34\xbf\x0f\ +|\x9d\xc7\xe1\x0b+\xc0\xae\xa22WEuu5\x97\ +\x5cr\x09\xcb\x97/gxp\x18\xc5\xc9\xe1\x86\x5c<\ +\xcd\xc3\x8d\xba\x01\xe4Q\xdex\xcaXC\x9c\xa9\xd3k\ +\xd8\xd1\xb5\x97\xd3\x0f\xfb;\xde\x1c^M2Qdv\ +\xc3\x09\xbc\xe5\xfc\x01\xcb\xf2\xb3\x86\x85|\x81\x07\x7f\xf9\ +0?y\xea\xfb\xfc\xcd'N\xe5g\x8f\xfd\xc4\xcf\x82\ +\xaa|0'DJ\xa9J)e\xa9T\x12\x02\x81\xe7\ +\xb9TD\x15\xfe\xf9\xe1\x8b\x91\x9e\xc0\xb6}B\xb6\xa7\ +\xb9\x08\x11\x02$\xaa\xe2\x1b\xb3\x91T\x9c\x5ce\x7f\xa0\ +n\x00\x1a\x1b\x1b\xc5\x1bo\xbc\xf1\x95b\xb1\xf8\x10\xe0\ +E\xa3\xd1\xeb\xa7M\x9b\xf6\xcdd2\x89\xa3H\xa6\x7f\ +\xa5\x92\xd6\x960vAb\x17=R\x9d6\x99n\x87\ +%\xffl\x07^\xfb\xd8\xb3\xa6D,\x16C\xd3\xb4]\ +\xf9|\xfe\xce\x96\x96\x96\x1f\x97yXn\xb5\xa0\xed\xd4\ +(ZX\xf2\xd2\xfa~~\xf6\xfd_\xb1w\xef^n\ +\xbf\xfdvn\xb8\xe1\x06t]\xa7\xbe\xbe\x9eb\xb1\xc8\ +\xee\xdd\xbbY\xb4h\x11\xeb\xd6\xadc\xfd\xfa\xf5\xe4r\ +9\xc4\x98G\xa7\xeb*\xdfy\xf5\x0b\xdc~\xc1\x0b|\ +\x7f\xcd\x97\xc8Z\x09\x14]\x90\xcf\x9ad\xb3>\xea\xeb\ +X.#r3N\xddV\x96\xedN!]I\xb1T\ +D(>\x13\xf2\x90\x0bd\xd7\xae]\x9fjii\x19\ +H\xa7\xd3~\x13\xfdq\x02\xd3\x89\xe2\xd5\xeea\xb4\x90\ +%\x22k|\x81D \xa4\x84\xe8Jw0\xbf\xfe4\ +\x8e\x9e>\x8f\xd7w\xbc\xc2\x11\xb1\xa3Y\xea=\x8fe\ +9A\x8e\x22\x12\x89\xd8\xc5b\xb14\xf6\xb3\x13\x0e\x87\ +1\x0c\x03\x03\xe8\xff\x95C\xbf\x92{\x17Z\xab\xbe?\ +\xc5Ud\xb3\xd9m\xbbv\xed\xbaA\xd7\xf57\x01\xb5\ +LD\x90B\xe2\xb9>'\xca5!j\x84y\xfa\xe9\ +\xa7\xb9\xf6\xdaky\xe9\xa5\x97(\x95JD\xa3Q\xfa\ +\xfb\xfb\x89\xc5b\x0c\x0f\x0f\xd3\xd9\xd9I8\xec'\xd7\ +J\xa5\x12\x8aP\xb0]\x0f\xc7\xb3\xa9\xab7\xb8\xfe\xb5\ +O\xfb\xea\xafO2\xb4\xb9\xc8\x9eey\x14m\x8c\x9d\ +\xe8)$\xf2C\xa0\xba\x0c\x15\xf6\xb2wm\x9a\x5c\xae\ +\x04\x82C\xefe\x8d1\xef\x06\x03\xd6\x05\x10\xb2\xa0\x98\ +\xf6\x18y\xd3\xc4\xca{\xb8^\x0e\xc7q(\x19.\xb6\ +[\xc1\x92\xa1\x9fpN\xe3\xb7xx\xeb-\xec\x16/\ +\x92\xd8\xbe\x02O\xbad\xb3\xd9 >y;\x95\xa8\xad\ +\xad\x8d\x1bo\xbc\x91\x89\x13'\xf2\xcb_\xfe\x92\xae\xae\ +.\xc6\x8f\x1f\xcf\xb6m\xdb\xa8\xaf\xf7\xbb3tuu\ +a\x18\x06\x91H\x84\xae\xae.\x84\x10\x83\x89D\xe27\ +\xe5\xb0\xa7\x5c`4a\xc2\x04\xd2\xc3i^\xbf>\xe7\ +\xc7\x22\x8a\xca\xcb/\xbf\xcc\x86\x0d\x1b\x82\x16\x1d\xe5\xe8\ +\xbe\xfc\xb5\x9c\xb3(cv\xae\xebR\xdb\xa9\xb1\xe6\xc7\ +)\xac\x8c\x87S\x928y\x89\xf4|\xb7\xa8\xdc\x8bE\ +Q\x14\x8c\x90\xc1u_\xf8!n\xc1\x8f\x9f$\xa0\xee\ +\xc7u>\xa4\xd0\xc9\xfe\xf8\x90\xae\xeb,^\xbc\x98u\ +k\xd6\xb1\xe9f\x0b\x94\x10n\xd1\xc4t\x0b8\xb6C\ +\xa9R\xe2H\x0bCSyv\xe8&N\x98r\x1a\xf9\ +d\x89\x91\xb7z\xd9\xf3r\x81b\xf1\xdd\x9f\x8a\xe6\xba\ +.3f\xcc \x1e\x8f\xf3\xc9O~\x92\x193f\x90\ +J\xa58\xee\xb8\xe3hkk\xa3\xbf\xbf\x9fP(\x14\ +\xa4F\xcbMd\xde\x8e:\x94i?\xe5\xf4\xf1\xaaU\ +\xabH\xa5R\xbc\xfa\xea\xab\x18\x86A\xb1X\x0c\xc0\xbf\ +r\x92i,n\x19P\x14\xa5\xccH\x98\xfe\xb9\xcf}\ +N9\xf5\xd4Sy\xf8\xe1\x87\xc9f\xb3\xe4\xd4\x5c`\ +C\xcb\x0d0]\xd7'Q\x94\x89\xe5\xd5J\x03N\xd8\ +\xc1R,\x22\x91\x08\x85B!\xe8lqH\xb9\xbd\xfb\ +\x0bf\xcd\x9a5l\xd8\xb0\x81O}\xeaSl\xde\xbc\ +\x99\x81\x81\x01\x96.]J>\x9f\xc7u\x5c\xa2I\x85\ +\xa1\x0d\x16\x85>\x87\xe4\xce\x04\xcfu\xdf\x87\xa2\x0b\x14\ +\x15\x14m\x7f\xba\xa6\xfa\x0eDv\xd5\xaaU,X\xb0\ +\x80\xdbn\xbb\x8d\xa5K\x97\x22\xa5\xe4\x91G\x1e!\x9f\ +\xcf\x13\x0e\x87\x83\xee\x0e\xa5R\x89\xe5\xcb\x97\xbf+\xd5\ +\xbf\x0c\xb5K)9\xec\xb0\xc3X\xb2d\x09\xba\xaes\ +\xe2\x89'\xb2p\xe1B\xee\xbd\xf7^*++\xa9\xaf\ +\xaf'\x9f\xcf\xb3g\x8f\xdfqc\xeb\xd6\xadW'\x12\ +\x89\xc7\x00f\xcc\x98Q\xb8\xe4\x92K\x22\xa3\xa3\xa3\x5c\ +~\xf9\xe5\xdc{\xef\xbd\x9c\x7f\xfe\xf9\xb4\xb7\xb73g\ +\xce\x1c\x9e{\xee9f\xce\x9cICC\x03\xc9d\x92\ +U\xabV\xd1\xdb\xdb\x1b\xb8\xe7\x1f\xfb\xd8\xc7X\xbbv\ +-\xbbw\xef\xe6\xb0\xc3\x0ec\xd7\xae]\x1f\x8c@\xca\ +^H.\x97\xa3\xa1\xa1\x01!\x04\xb3f\xcd\xe2\xd5W\ +_\xa5\xb1\xb1\x91\xeb\xaf\xbf\x9e\x07\x1f|\x90\xc4\x8e\x04\ +\x8ai\x12\x8e94\xce\xf6K\xaa\xcb\xcc\xf1r\xd3\xe2\ +w\xab\x1d\x0f\x87\xc3\xdc|\xf3\xcd\xef\xfa\xd9e\x1ak\ +\xb9\x9b6\x10`Eo\xbf\xc6+\xae\xb8\x823\xcf<\ +\x93\xe5\xcb\x97\x07\xdea\xb9\xe1\x81\x94\x92\xd1\xd1Q\xf6\ +\xec\xd9\x13\x08tl\x9e\xa0\xc2\xa8\xb2\xb2R\xbc\xfe\xfa\ +\xeb\x9c{\xee\xb9\xdcp\xc3\x0dX\x96\xc5\xe6\xcd\x9b\xe9\ +\xea\xea\xa2\xae\xae\x8e\x5c.\xc7\xde\xbd{\xe9\xec\xec\xc4\ +\xb2,\x0a\x85\x02RJ\x8e8\xe2\x08\x1e{\xec1t\ +]'\x1a\x8dRQQA\x22\x918(\xd4\xf7}U\ +'\xb6\xb5\xb5\xc9\xa6\xa6&&O\x9e\xcc\xc0\xc0@\xe0\ +1\xc5\xe3q\x1e|\xf0A\xdex\xe3\x0d\xbe\xfa\xd5\xaf\ +r\xfb\xed\xb7388H$\x12\xa1\xbe\xbe\x9e\x95+\ +W\xd2\xdc\xdc\xcc\xae]\xbb\x18\x1d\x1d\xa5\xae\xae\x8e\x81\ +\x81\x01v\xef\xde}Q\x22\x91\xb8\x7flQfVU\ +U\xcd\x14B\xbc\x97Nm\x9e\xeb\xba]\x83\x83\x83o\ +\x96m\xc8\xe1\x87\x1f^hnn>\xa0\xcb\xf6\x1f+\ +w\xdb_\x0do\xd8\xb0\xe1\xcb\xc9d\xf2>\x80\x13N\ +8\xa1X(\x14\xc2e\x0cm\x7f\xd2\xf4\xfe_\xdfN\ +\xa5\x0d\x85BA\xccT\xee\xefUn:\xbde\xcb\x96\ +/%\x12\x89\x07\x0e\xb9\xca\xcad2ttt\x04y\ +\xeb2\xd7\xf7\xe9\xa7\x9f\xe6\xea\xab\xaf\xe6\xb5\xd7^c\ +\xc7\x8e\x1d\x81](C\x0a\xa1P(\xc8\xe2\xbd\xdbC\ +\x1c\xb3\xd9\xec\xf6l6\xbb\xfd\xfd\x5cW}}}\x99\ +\xdda\x0e\x0d\x0d-\xee\xe9\xe9y\xafS\xd8555\ +\x9b\xcb\x0c\xfe\xe1\xe1\xe1\xe7\xa3\xd1\xa8Z,\x16\x8fU\ +\x14e<\x80\xabB\xdd\x14\x8d\xe1\xad\x05\xa4+)\xd9\ +%\xc2Z\x05 \xc7\xf0\xbb\x12MMM\x07\x08o\xff\ +\xb6\xebB\x08\xfd\x90\x9f\x90\xfa\xfa\xfa\xdd\xabV\xad:\ +\xac\xbd\xbd\x9d\xa3\x8f>\x9a'\x9f|\xb2\x8c\xe6\x069\ +\xecp8\xfc\x0e\xaf\xe2\xddv\xaaa\x18l\xdb\xb6-\ +8!\xff/\x8e\xf1\xe3\xc7?\x1a\x0a\x85.\x04\xc8U\ +x\x9c\xf1\xcdF\x22\x06\xe4\x87\xab\xf8\xfay\xff\xc6\xed\ ++\xaf\x81\x92\xce\xc0\x86\x22o=\x96\xf5\x1f\xb0\xe97\ +F{\xa8\xbf\xbf\xff\x8b\xfb\xa9\xc1\xd2!\xf5\xb2\xf6\xc3\ +\xb3\xe4M7\xdd\xc4-\xb7\xdc\xc2K/\xbdDoo\ +\xaf\xff(\x87t\x1a]\xd7\x83'\xcd\x1cLr?\x9b\ +\xcd\xfe\xc9\xd6\x1a\xff\x8f\x0c%p\xf3m\x81\xe7IJ\ +IArG\x9c\xcb\xbe|\x15\x99.+\xd8\xdbF$\ +\x14\xe4\xed\x85(?h\xe3\xe0\x1f6\xf9\xbes\xea\xed\ +\xed\xed,^\xbc8h>,\xa5\xa4\xba\xba\xfa\x8f\x16\ +\x5c\xc6b1v\xee\xdcyl\x7f\x7f\xffz\xfe\x9b\x8e\ +SN9\x85\xae\xae.\xf6\xdc\x99\xc3s%R\x1a\x08\ +\xa9S]\x1d\xf1\x0bx\xc6lF9<\xb0m\xfb=\ +\xb7\xbc~_\x021M\xf3e\xd7u\xb7\x95\xbd\x93\x83\ +\xe9\x10\x94J\xa5l\xcf\xf3F\xff;\x0aBJi^\ +r\xc9%\x9cr\xca)\xb4\xb4\xb4p\xc7\x1dw\x90J\ +\xa5hhh\xa0\xb7\xb7\x97\x9a\x9a\x1a\xda\xda\xdaX\xb1\ +bE\x90\xa2\xd8\xb0a\x03\xb6m\xaf\xfb\xc0\x05R]\ +]\xcd\xf0\xf0\xf0e\xc3\xc3\xc3\xfc\xffh\xc82\x0e\x15\ +\x0e\xfb}\x80\xcb}\xbd\xa6L\x99\xc2\xe6\xcd\x9b\x990\ +a\x02S\xa7N\xa5\xa7\xa7\x87\xee\xee\xee2\xb9\xc1\xfe\ +\xc0\x05r(\xdbj\xffw\x19\x9a\xa6q\xff\xfd\xf7\xf3\ +\xc2\x0b/\x90\xcdf\x83\xb8\xa5\x1cxJ)\xe9\xee\xee\ +\x0e\xbe\xf7<\xef}7\xe8\xd7\xf8h\xfc\xd9\xe18N\ +\xc80\x0c\xd2\xe9\xf4\x01\x1e\xe2\x9f\x8ai\xc6\x82\xe7\xf7\ +\xec\xad\x88\x8f\x96\xfb\xcf\x8fH$\xd2T*\x95\xaa\xde\ +\xe3\xba\xbauuu\x83\xa3\xa3\xa3\x85\x8fV\xf0\xa3\xf1\ +\xd1\xf8h|4>\x1a\x1f\x8d\x8f\xc6G\xe3\xa3\xf1\xd1\ +8`\xfc\x7f\xa7\x8cK\xc9\xd0\xc3l\x1c\x00\x00\x00\x00\ +IEND\xaeB`\x82\ +\x00\x006\xe2\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00d\x00\x00\x00d\x08\x06\x00\x00\x00p\xe2\x95T\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ +\x00\x00\x09pHYs\x00\x00\x0e\xc4\x00\x00\x0e\xc4\x01\ +\x95+\x0e\x1b\x00\x00\x00\x07tIME\x07\xd9\x03\x03\ +\x0e\x1c$|\x1a\xa6\xff\x00\x00 \x00IDATx\ +\xda\xed\x9dw\x98\x9de\x9d\xf7?\xf7SN\x9f\x993\ +3\x99Lf\x122\xa9\xa4\x03\x91\x90\x10j\xe8H\xd9\ +\x05\xa5\x88\xc8\xba\xeb\xcb\xb2\xae\x04QW_W]]\ +v]EQVPqYu\xa5Y\xc0\x12:\x16\x88\ +\x94\x00\x09)\xa4M\xea\xb4L\xa6\xcf\x9c9\xbd=\xf5\ +~\xff8\xf3<\x99A\x944}\xdf\xeb\xbd\xb8\xaf+\ +W2\xc9\xc9y\xca\xf7\xfe\xb5\xef\xaf\xdc\xf0\xeezw\ +\xbd\xbb\xde]\xef\xaew\xd7\xbb\xeb\xdd\xf5\xeezw\xfd\ +\x7f\xbf\xc4\xb1\xfc\xe7\xba\xba\xba\xab\x0c\xc3\x08N\x992\ +\xe5s+W\xae;\xf4\xe8$\xdc\xa2\x8a\xeb\ +\xbaH)1\x0c\x03!\x04RJ,\xcb\xc2u]a\ +\x18\x06\x9a\xa6\x01\xb8\x7f\x11\x95U.\x97\x1b\x1a\x1a\x1a\ +\x08\x85B\xe4\xf3y\x0c\xc3\xf0o\xceq\x1c\x1c\xc7\xf1\ +o4\x10\x08T\xc0\x11\x82^{\x84\xf3bM\xb8F\ +\x90%KNa\xe7\xe4W\x89\x08\x89\xa2\xe8\xa4_\xae\ +\xa2\xb0'\x8c\x94\x12\xd7u\xff\xec D\xa3\xd1\xb3\xae\ +\xb9\xe6\x9au\xa5R\xa9\xf2B])C\xf5B\xb8)\ +\x9d\x19\xbbNat\x97\xacH\xf0[\xe4\xb4m\xef.\ +f\xcc\x98\xe1\x032^B\xca\xe5\xb2\xbf1\xa5\x94\x94\ +\xcb\xe5\x8fWUU]WUU\xf5@\x7f\x7f\xff\xa6\ +?\xab\x0d\xb1m\x1b\xc30|i\xf0n\xc4q\x1c\x7f\ +\xb7\x09!PU\x15\xcb\xb2\x90\xaeK}:\xc4\xc1\xa7\ +\x15N\x08.&W?\x05;1\x17\xac0I:)\ +\x0c\x988y\xc7\x07\xe4\xec\xb3\xcf\xfe\x1f)e \x99\ +L\x86{{{\xff6\x9b\xcd\xe6\x8f' R\xca\xb0\ +\xaa\xaa\x15\x89\x96\x92]\x93w\x8a\xf3\xaf\xac\xc3\x956\ +vVCd\xc3\xd8Y\x0d'\xabQ\xde\x1fA:\xc2\ +\x97\xa6r\xb9\x8c\xa2TT\x97\x07\x88'!\x8e\xe3T\ +\x9eWJ\xb9j\xd5\xaa\xab\x9b\x9b\x9by\xf0\xc1\x07\xd7\ +\x03\x7f\x1e@\xa6M\x9b\xb6\xb0T*\xcd\xb7m\x1b)\ +%\x8e\xe3LPY\x8e\xe3\x00\xf8*K\xd34\xff3\ +\x0b\x1bf\x13MU\x91$Aw\x7f7\xf1\xf7\x14\xd0\ +\xcc\x00\xd1D\x9cH\xbd\x86\xac\x11HC\x01W\x80\xe0\ +#\x00\xe1p\x98\xdd\xbbw\x7f\x148&@\x9a\x9a\x9a\ +\x18\x18\x18\x18\x0f\x884M\x13\xd341]\x9bX\xb5\ +\x0e\xb6\xc2\xf2\xc9\xef\xa7\xaa%\xc4K\x9d\xbfb\xfa\xbc\ +&\x86\x8c.\xf2\x1d*N\xa9\x02\x80\xf7\x9c\xe3\xed\x86\ +\xf7gO2\xc6\xde\x87\xc8f\xb3D\xa3Q\x14E\x91\ +\x7f6\x95U[[\xbbf\xd9\xb2e\xf3\xd2\xe9\xb4o\ +/\x1c\xa7\xb2\xb3=/+\x18\x0c2f\xf0\x09\x06\x83\ +\xb8\xae\x8beY\xbe\xb1WQ\xd8\x17\xee\xe0\xc2\x05\xd5\ +@\xf1-\x0a]\x92^WC\xb9-\x02\x80eY\xc7\ +E\x22\x06\x06\x06hjj\x9a\x04,\x01\x1c\xc30N\ +N$\x12d\xb3Yl\x5c\xec\x11\x9b\x9d\xcf\x17\xb8\xf2\ +}\xf3y\xfa\xd55\xcck\xbe\x82\xf7\xd4\xaf\xe4\xbf\xb6\ +\x7f\x8al*\x87.\xc3\xbe\x9b\xeb\x01\x02P(\x14p\ +\x1c\x07\xd7u)\x95J\x9e\xed\xc0\xf3\x1c=M\xf1g\ +\x03DJ\xa9\x14\x0a\x05\x1f\x08\xdb\xb6\xc9\xe5r\xd8\xb6\ +M>\x9f\xf7uk\xa9TBQ\x14\xc2\xe10\xb6m\ +c\xdb\xf6\xa1\x87\x91\x02\xc2\x15\xf1\xff\xc8\xc2\xbb\x91\x8a\ +K\xda\xedd\xe3\xd6.\x92U\xeb\x18\x1d\xfb\x9c\xb7#\ +\x8f\xd7*\x95J7\x9f\x7f\xfe\xf9w\xaa\xaa\x8a@\x90\ +03L?\xbd\x1aw8\x8c3\xda\x82H\xc3\x8f\xbe\ +\xf3S\x14U\xf0\x1a[xUn&\xa0\xcd'\x9fl\ +'\x1aU\x91Rz\xb6\xc1\x07\xa4X,\xfa\xef\x22\x9b\ +\xcd\x12\x8b\xc5|0\xc6IKc,\x16\x9b\x95\xcf\xe7\ +;\xff\x1c\x80\xf8/\xd8\xb2,l\xdb\xf6_\x9e\xa6i\ +>\x10\xaa\xaa\xfa\xdeK\xb1X\xf4\x8d\xbd'!X\x92\ +\xd1^\x83\xa9\xef\x99\xcbu?Z\xca\xcf>\xb2\x81\xa6\ +\x93\xd2\xac\xed\xc9\xb2'\xfb*\xf9\x9c\xe9\xab>\xa0\xce\ +\xbb\xfe\xf4\xe9\xd3\x93\x07\x0f\x1et\x8f\xd2nD\xbd\x0d\ +StM\xb4s\xfa\xa9\x9d\x1f\xc1\x92\x83H\x1bD6\ +\x86\x9dQqR:\xf9-\xd5\xa0H\x1ci\xfb\xb6\xc2\ +\x93\x90T*\x85\xaa\xaa8\x8e\xe3\xc5\x1f\x08!\xd04\ +\x0dEQ\xc8\xe5r\x04\x83A\x22\x91\x08\xa6i\xca\x93\ +O>\xf9\x9b\xaa\xaa\xde\xf1\xca+\xafT\xfd9\x00\x91\ +\x1e\x10\xdeNQ\x14\x05\xdb\xb6\x994i\x127\xddt\ +\x13\xdf\xf9\xcew\xa8\xad\xade\xfa\xf4\xe9tuu\x91\ +\xcdf}c\xed8\x0e\x96\x10\xa8\xdb\x5c\x8a\xf9\xa9\xdc\ +\xf4\xab\x0fP\x1b8\x95\x9b\xd6\xdd\x88\xae\xa9\xa8v\x08\ +Mk$^\xe3\xc7(\xf2\xca+\xaf\xdc\xe7\xfd\xff\xf5\ +\xeb\xd7\xcf\x07\xf6\x1d\xad\x94x*\xc4tM\xe2\xe1\x00\ +\x85\x8c\xcbM'\xdf\x81\xab\x16Y\xb3\xf7^&74\ +2\x9c\xefe\xf4\xd50J@NP\xc9\xde\x86TU\ +\xd5\x07$\x16\x8b!\x84\xf07\xa1\xa2(\xfe5\x02\x81\ +\x00\x96e\x09!\x04\xe1p\xb8p\xb8\xf7\xa8\x1c\xce\x87\ +\xa6L\x992i\xca\x94)/\xb9\xae;\xcd\xb3\x05\xd9\ +l%\x08\xbd\xea\xaa\xabhll\xe4W\xbf\xfa\x15\xcd\ +\xcd\xcd\x00\xac]\xbb\x96\xdbo\xbf\x9dP(\x84\xa6i\ +\xbeq7\x0c\x83r\xa9\x84\xd0\x04\xa1X\x90\xda\xdaZ\ +\xba\xd5!\x16|\xbc\xcc\xac\x8f\x16i\xb9u\x94\xc9\xd7\ +$\x89\x9fn\x10i\x16\x04\x83\x01\x11\x0c\x06\x09\x06\x83\ +\xd4\xd7\xd7\xe38\xce1\xe90\xc30\xbc\x00\x0eE(\ +\x9c\x14~?\xa1j\x9b\xe7\xdfx\x9dE\xda\xf5\xac>\ +\xe3njB\xf5\x94\xcb\xe5\xca\xbd\x96\xcb\x98\xa6I6\ +\x9b\xf57V \x10\xf0\xa5\xe1\xb2\xcb.#\x12\x89P\ +__\xcf\xdc\xb9s}`4M\xf3\xb5\x87\xe7}\x1d\ +W@\x92\xc9d\xed\x05\x17\x5cpn(\x14\x8aX\x96\ +\xe5_\xb8\x5c.\xf3\xe1\x0f\x7f\x18\xc30\xb8\xff\xfe\xfb\ +Y\xbe|\xb9\xaf;\xbd\x1b_\xb0`\x01\xb7\xddv\xdb\ +\x04\xe3\xee\xc5-\xa6a\xe2\x04L4M%\x9bt\xb8\ +j\xe1\xc7\xa8\x9b\x1a#\xb28K\xed\x15\xc3\xe8\x0bR\ +\x18\xa51o\xc84\x8f\xd8@644\x5c\x1e\x8dF\ +o\x8a\xc5b7J)\x97\x0c\x0d\x0d188Hb\ +h\x84\x817\xb3\xf4\xed\x18\xe0\xb95k\xd9\xf1\xfa\x0e\ +\xf6m\xda\xc3\xfd\x0f|\x97\x9d/v\x91/d}\xe0\ +<\x0f\xca\xf3\xa2\xce>\xfbl\xaa\xab\xab\x91R\x92H\ +$|\xa3\x9eH$\x18\x93\x06_ue\xb3Y_]\ +\x1fW\xa3\xee\xf9\xdf\xde\xc5\x15E\xe1\xfc\xf3\xcf\xa7\xb5\ +\xb5\x95\xc7\x1f\x7f\x9c\xba\xba:\x9ez\xea)\x9ey\xe6\ +\x19B\xa1\x10W]u\x15\xa7\x9f~:\xa9T\x8a\xfb\ +\xef\xbf\x9f\xbe\xbe>\x0c\xc3 \x99L\xfa\xd1\xb8i\x9a\ + Aj\x92r\xc9\xe1\xae\xf7>\xc5\xa3\xad\xdf\xe0\xa6\ +\xf9_e\xed\x8e\x17P\x1b\xfax\xcd\xdeV\xb1#J\ +eg\x1e\xe9\x9a\xf3\x99\ +\xcfP]]\xed\xe7>\xc6{\x22\xde\x9f\x93\xc9$\x81\ +@\xc0\x07\xe4\x87?\xfc!\x86a\xf0\xf1\x8f\x7f\xdc\xe7\ +\xbbTT\x96,YRQ\x89\xd2!9\xf7\x00s\x16\ +Fpr*\xd6p\x08{(\x885\x18DH\x05\xa1\ +\xbb\xfe5\x86\x86\x86\x0e\xdb\x90\xdb\x96\x8d\xab:\x08E\ +p\xdd\x82O\xb3\xbe\xf7I\x9c\x91i\x5c7\xf7K\x9c\ +\x7f\xea\x99\xdc\xfe\xe8\xe5\xbek\xab\xaa\xaa\x1f\x03yl\ +\xc3\x96-[*\xe4\xe3\x98s2i\xd2$\xa4\x94\x08\ +!(\x95J\xfe\xc6TU\x95P(D\xb1X$\x12\ +\x89\xf8\xa1\x80eY\xfe\xf7\x1f3 \xb5\xb5\xb5\xb7,\ +]\xba\xf4.\x8f.9\xe1\x84\x13H\xa5R\x04\x02\x01\ +\xd2\xe9\xb4\xaf\x82\xa4\x94(\x8a\xe2\xb3\x9f\xde\xee\x1a\xa3\ +\x16\x5ce,\x9a\x9a6m\x1a\x8e\xe3P(\x14\x10\x08\ +liQ,\x16)\x97\xcb\xf4YIZ\xa6;\xc8H\ +\x89\xc6I\xd3IM\xedC\x0a\x07\xd35QJa\x86\ +\x1e\x99\x5cIt\x1d\x01EbY\x16\xb6e!\x15\x89\ +\xa2\x09\x1a\xaa\x9b9X\xfa=\xc9$d\xdd~\xeaN\ +0\x08\x07#^\xcc3A\xe5x*\xb6\xa7\xa7\x87P\ +(\x84\xeb\xba\xac^\xbd\x9a\xad[\xb7\xd2\xd9\xd9\xe9{\ +R\xaaZa\x80kjj\xc8f\xb3\xa8\xaaJ,\x16\ +\xf3\xd5\x9e\x17\xbb\x1d\x8eS\xf2\x8e\x80\x98\xa69\xb5\xa9\ +\xa9\xa9\xa6\xa7\xa7\x07\xd34\xb9\xe7\x9e{\xd8\xb3g\x0f\ +7\xdex#?\xf8\xc1\x0fH$\x12\xd4\xd6\xd6\x12\x0c\ +\x06y\xe9\xa5\x97X\xb8p!\xbbv\xed\xa2\xa7\xa7\x87\ +\xb9s\xe7\xb2m\xdb6\xf6\xef\xdf\x7f\xfb\x82\x05\x0b\xbe\ +\xf3\xec\xb3\xcfr\xd1E\x17Q.\x97}\x95%t\xc5\ +\xf7\xbe\x5c\xc7EU\x04\xa1\xec|>q\xd1\x9dh2\ +\xca\x17\x9e\xf8\x08\x1f>\xfbF~\xb6\xfdn,\xcb\xac\ +\xe4R\xfe\xc8\x83\x0d\x0c\x0c0k\xd6\xac;\xa3\xd1\xe8\ +T\x00\xe9\xca)\xc9\xd1\x14\xd2uA\xb7\xe9\xfc\xa5\xc2\ +w_\xf8\x16i\xf7 F6\x88M\x89\xeeu\x9dt\ +\x0d\xe60\xcd\xb0\x0fH8\x1cf\xc6\x8c\x19\x0c\x0e\x0e\ +b\x9af\xaaT*\xf58\x8e\xb3DQ\x14q\xd7]\ +wI\xd7u\x85\xb7\x01=\x1b\x0b\xf8\x86\x1c \x95J\ +\x11\x8b\xc5\xfcMz\xb84\x8av8\x06\xdd4M\x0a\ +\x85\x02\xaa\xaa\xf2\xa3\x1f\xfd\x88o\x7f\xfb\xdb\xfc\xf4\xa7\ +?e\xfd\xfa\xf5\xa8\xaa\x8a\xae\xebh\x9aF*\x95b\ +\xef\xde\xbd\xe4\xf3y\xca\xe52\x89D\xc2S_!U\ +U\xd9\xb0a\x03\xaf\xbf\xfe\xba\xef\xab\x8f\xbd4\xdf\xdf\ +\xb7\xb1qqY\xd6p\x19\x8fl\xfb*\xb3\xb4\xf3\xb9\ +\xf6\xa4\xd5\xb4\xd4LA\xa0T\xd4\x9c\x22\xde\xc9\xb3\xfa\ +\xfb\xe9\xd3\xa7\xd7\x0b!(8eX8L}<\x8c\ +\xd3\x1f\xc1\xea\x0b\x93\x19M\x22\x88\x11\xaa\x98e\x8aC\ +\x92Fq\x22\x1df\x87\xcf8TWW\x13\x8f\xc7I\ +\xa5R\x98\xa6\xf9\xec\x9e={n\x8a\xc7\xe3\xd7Z\x96\ +5\xcb\xb2\xac\xaf]p\xc1\x05\xacX\xb1\x82G\x1f}\ +\xd4\xb7\xab^\x10\xe9QJ\x8a\xa20<\ +\xce\xc7\x7f}6_>\xe7ij\xecy\xa85)\xbe\ +\xb5\xe9\xab\x18\x86\x09\xa2\xc2Yy*T\xd3418\ +8\xd8988\xb8M\x08\xe1\x06\x02\x81\xb5o\xdd\xa0\ +\xabW\xaf\xc6\xb6mB\xa1\xd0\x045t\xf0\xe0\xc1\x09\ +?\x1f8p\xc0\xb7!\x85B\xe1\x0f>\x7fT\x80(\ +\x8a2\xc7\xb2,TU\xa5T*Q,\x16\x99;w\ +.o\xbe\xf9&K\x96,axx\x98\xda\xdaZ\xb2\ +\xd9,\xe5r\x99H$\xc29\xe7\x9c\xc33\xcf<\xf3\ +G/\xaei\x1a_\xfa\xd2\x97|C\xe8\xc5\x0b\x05\xa5\ +L\xa9TB\xa4\x05B\x08v\xe8\xfbx\xef\x195\xd8\ +\xd6x\xcfJ\xe2\x18\x0a\x99\x17\xea0\x87\x03\x80\xfc\x03\ +\xb0}\x9aE\x07\xc7\x86\x80\xae\xa3)\x01\x10\x90\xc8\x0f\ +\xf2F\xff\x03HW\x8e\xa9\xc0\x8a\x94744\xf86\ +@Q\x94_g2\x99\xd5o\x17\x8ey\xae\xbc\xb7\xeb\ +\x0f3\xed\xed\x7f\xff\xb1\x022\xbd\xb6\xb6\xf6F\xc30\ +\xa4\xa6i\xe2\xee\xbb\xef\xa6\xb1\xb1\x91\xbd{\xf7\xe2\xba\ +.\x83\x83\x83\x18\x86A8\x1c\xa6P( \xa5dt\ +t\x94]\xbbv\xfdI\xee\xa9X,\xe6\xa5\x94\xde\xb5\ +\x83\xe1pXw\x1c\x07\xddRq\xdcC*G\x09\x09\ +,\xc7fE\xf4\x16\x16\xcf\x5c\xc0\x96\xe4\xe3\xe4\x92\x1a\ +\xbb\xdd\xe7p\xb4\x18\x96\x09\x129\xc1\xa6\xb8\xae+}\ +\x03\x1a\x12\xc4'\x85(\x18e\x02!\x95\x9a\xaaZL\ +\xa5\x88\x16\xd2@\xa9\x00\x22\x91\xbe\xfamnnfh\ +h\x88\xb7+M\x02\x08\x04\x02\xed\x1d\x1d\x1d\x8d\xf3\xe7\ +\xcf\x1f\x9a2e\x0a7\xdcp\x03\x8f=\xf6\x98o{\ +\xbc\x80\xd7\xdb`\x1e\xc3\xa1\xeb\xba\xcf\x8a\x1f+ \x11\ +!\x04\xb9\x5cN\xd4\xd7\xd73<<\xcc\xe0\xc0\x10 \ +\x10\x02\x1f\xf1r\xb9\xec\x07T\xde6\x8e\xc5b\xa2T\ +*\xbdm\xf4,\x84\xf0+\xe9f\xce\x9c\xf9\xa0\xaa\xaa\ +\x1f\xbe\xfc\xf2\xcb\xfd\x00\xec\x90+)I\x0d\x0a\xfe\xee\ +\xe6\x9b\xb9\xe9gK\xf9\x97\xb3\x1f\xa3\x18/0\xd3l\ +\xe6'\xbfy\x02\xc3\x90\x9e\x0d\x08]t\xd1E#\x80\ +\x14\x8e\xa8\xb3,\x89\xa2\xc0\x22;\xc2\xf0\xc3\x0a\xd7?\ +t-R\x09q\xfd\x7f]\x83e[\x04\xb5\x08\xdb[\ +{\xa9\x8a\xc4}J\xdd#?\xff\x18\x18\xe3\xf2\x222\ +\x16\x8b\xf1\xe2\x8b/\xb2q\xe3FZZZ\xd8\xbau\ ++\xe1p\x98\xf5\xeb\xd7\xfb61\x12\x89\xd0\xd2\xd2\xc2\ +\xae]\xbb\x18\x1d\x1d\xf5\x93t\xc7\xac\xb2\xa4\x94\xe8\xba\ +\xce\xbe}\xfb\x90\xae\xa4f\xb1N$\xac\x92\xeb\xb7)\ +\x0e9H\xf7m\xd5\x9c(\x97\xcb\x9d\x8a\xa2|\xf3\xed\ +\x9c\x84\xb7\xb0\x00\xfa\x07>\xf0\x01\xe6\xcc\x99\xc3\x07?\ +\xf8An\xbd\xf5V?\xcf \x10T\x05\xe3\xd8\xb2D\ +\xbc\xaa\x8a\xe6\xda\xa9<\xbf\xe3\xd7<\xd1w\x1f\xb6\xd5\ +\x88i\xb9P\xd9\xe1\xa2\xa6\xa6f\x92@\xd05m\x0f\ +\xa7]\x14\xc6\x18\xac\xd4U\xd9\x83\x01\x9c\xac\x06\x96\x8e\ +[RPu\x0dMS)\xe5Ml#\xe5%\xddd\ +4\x1a\x15###\x84B\xa1w\xe4\xf8\x1c\xc7\xe1\x95\ +W^!\x1e\x8f\xe3\xba.\xfd\xfd\xfd~\xa2\xcaK\xc8\ +y\xeco]]\x1d\x03\x03\x03h\x9a\xe6\x05\x91\xb1\xe3\ +\x02\xc8\xec\xd9\xb3+\x14@\xb2\x22\x9aQ)\x89\xd4\xcb\ +\x09\xa5;\x9e\x975\xb6\xe3z\x06\x06\x06\xfe\xebp\xe9\ +\x8d\xb9s\xe7\xfaQ\xed!u'\xb0]\x13Eh\x80\ +\xa0d\x15\xd1T\x8d\xa0\x16\xc5q\x5cL\xd3\xf2\x839\ +\xcb\xb2(8ej\xa7)H[%Z\x1fF\x99b\ +a\xccO\xf8\x9b`\xe0\xa1IH[\xf1=A\x8f[\ +SUUtuu=\xe0\xed\x11]\xd7\x7f\xfd\xa7\xee\ +\xd7u]>\xf9\xc9O\xfa\xdf3~\xed\xdbw(\x7f\ +\xd6\xdf\xdf\xef{\xa1\xf1x\x1c\xc7q\xa8\xaa\xaa\xfar\ +:\x9d~\xe1\x98\x00Y\xb1b\x05\x97]v\x19g\x9f\ +}6\xdf\xfb\xde\xf7hmm\xe5\xe4\x93O\xe6\xf5\xd7\ +_g\xee\xdc\xb9d2\x19Z[[\x09\x87\xc3\xcc\x9c\ +9\x937\xdex\xe3\xb0)\xf2@ \xc0\x0b/\xbc\xc0\ +\xde\xbd{\xe9\xed\xed\xf5\x19T!\x04\x85\xd6\x1cCF\ +#\xff\xeb\xa5[\x18\xcc\xea|\xea\xb1O`\x186y\ +'\x8e]\x14D\x22\x87\xa4\xae\xa2\x1e%\xca\xeb\x939\ +\xf8\x86\xe0\xc1\x07~\xc4\xfe\x9e.~\xbb\xf7\xa7\xfc\xed\ +\xaa\x8fr\xf7\xba[1M\x0bi\x1f\x02B\xd7u\x9f\ +J\x1f\x19\x19\xf9\xc8\xe1\xdes>\x9f'\x12\x89\x1c\x02\ +\xc3\x01\xcbt\xc7\xee\x05\x84*P\xd41m0\xf6\x91\ +\xd1\xd1Q_=\x1e\x8b\x84\xb8\xde.\x88\xc7\xe3\x84\xc3\ +a\x9ft\x0b\x04\x02,]\xba\x94\xee\xeen\xaa\xab\xab\ +}\xa3\xa5\xeb\xfa;^\xf4-*+\xa0(\x0a\x07\x0f\ +\x1e\xf4\x8a\x06d\xb9\x5c\x16\x00\xe5b\x91i+f\x92\ +\xcb\xe5\x88iu\xa4g\x1c\xa0iF\x80\xaa\xb4\x8e\x93\ +\x1d\xfb\x95\xd6ps\x1ab\xecI\xc2\xe10\xe9T\x9a\ +\xf5=\xcf\xb2\xe9\xcd..>\xf9\x06\x1ac\xd3\x11(\ +\x95X\xc7\xaaH\xd4\xbcy\xf3\xfcl\xe6\xe1\x12\x95\x00\ +555#\x1d\x1d\x1dM\xa7\x9cr\xca@*\x95B\ +Hpg\x0b\x96_YC~\xc0\xa18l\x93\x1bp\ +(\x0e\xd9\x18\x19\x17\xcf$y\xef\xf0O\xd9\xa8w\x04\ +$\x1a\x8d.\x07\xd8\xb6m\x1b\x89D\x82\xe1\xe1a\x8a\ +\xc5J\xe9\xce\xee\xdd\xbb\xfd\xc0\xd0\x03\xcdu]^~\ +\xf9\xe5#J&%\x93\xc9/\x0e\x0d\x0d}w\xcc\x8d\ +\x9c\xbe`\xc1\x82\x87\x0fy#\x95\x0a\x96r\xb9L\xca\ +\xcd1u\xae\x89\xa8\xb2i\x9c\xd6D\xd9\xcdQr\x12\ +(\x0a\xd8y\x95\xe1\x9fN\xf6\x1f\x5cJ\x89W\xb2\x9e\ +)\x8d\x925\x12\x08EL\x00$\x93\xc9p\xf5\xd5W\ +\xf3\xf4\xd3O\xfb1\xc8\xe1\xacL&\x83\xae\xebR\xd3\ +4\x9a\x9a\x9a*6\xa2\x7f\x80\x8e\x07\x15,\xc7E(\ +:\xae\xab\xa2\x11@\x09\xbb~N\xc4S\xe5\xc7\x04\x88\ +\xae\xeb\x7f\xe3e\xf8\xfa\xfa\xfa\xfc\xa4\xcc\xf8\xdf\x8fu\ +\x15\x0a\x85\xbd\xc0\xde\xb1\x1f\xe7{\x8c\x80\x10\x02\xa5P\ +y\x89\xa6ab+\x0e\xaa\xaa\xd0\xa2\xae\xe2\xefV\xde\ +JM\xa0\x9e\x0f|\xef|n\xbb\xeaV~\xb1\xfe\xfb\ +\x13\xe8s\xdb\xb1Y0\xe94\x92ST\x06r\xdd\x04\ +\xd5\xd3QP0\xcd2\xaeU\x89\x832\x99\x0cO?\ +\xfd\xb4\xef\x96\x1e\xe9R\x14\x85\x07\x1ex\x80\xe1\xe1a\ +\x84\x10<\xfe\xf8\xe3\xc4\xe3q:;;innf\ +\xcb\x96-\xcc\x9a5\x0b\xc7q\xd8\xb7o\x1f\xcd\xcd\xcd\ +ttt\x1c\x1b\x97%\xa5Tc\xb1\x18{\xf6\xecA\ +\x08A\xf4|\x9d\x15\x17\xd5 \x01#'I\xee5\x18\ +m\xb7\xc8t\x98\x98\x85C\xf9\x90\x9a\x9a\x9a\x11\xe0}\ +G[\xa6\xfa\xd3\x9f\xfe\x94B\xa1\xc0\xe7?\xffy\xbf\ +0\xc1RM\x84\x90\x9c<\xe5l~\xd7\xfe\x00\xa9\xce\ +\x06\xaeX\xf8\xb7\xcc\xa8Y\x84\xedT\xaa`<\x09\xe9\ +\xee\xee\xe6k\xff\xfb\xbb\x95\xc4V)\xc5\xc6\x9f\xec\xe2\ +\xc0 dSy\x8f\x02\x92\x8a\xa2\x08\xaf\x8e\xea\x9dv\ +\xed\xdb\xd9U\x8f]\x9e?\x7f>]]]\x8c\x8c\x8c\ +x\xcf\xce\xc9'\x9f\xcc\xe6\xcd\x9b\x19\x19\x19a\xd1\xa2\ +E\xa4R)FGG\xd14\xed\xd8$\xc4\x8b\xaa=\ +\xef\xc9\xd9\xa9\xf1fG\x96|\xbf\x83U\x94(\x9e\xf1\ +RUTU\xfa\xb9\x91@ \xe0\x0e\x0c\x0c\x1cU\xd3\ +\xca\xbcy\xf3hnnftt\x94\xe6\xe6\xe6J\x85\ +\xbde\xe2\xe0\x00\x02M\x09`K\x0b\xdb\xb1\x18H\x0f\ +\xd3\x95\x0e\xa3\x09\xdd\x8f_4M\x03\xcd\xa1\xa4\xa6p\ +\xb2\x1a\x8a\xd4\xc9\xe6\xb2\xc4\xf48\xb9\x5c\x07\x8a\xa2\xa0\ +\xeb\xba(\x14\x0a;7m\xda\xf4OB\x08UQ\x94\ +#.\x91TU\x95\xaf|\xe5+\xcc\x9f?\x9f\xcd\x9b\ +7\xa3\xeb:\x1d\x1d\x1d\xb8\xae\xcb\xab\xaf\xbe\x8a\xa6i\ +$\x93I\xda\xdb\xdb\xc7\x9b\x00\xa4\x945\xc7\x22!H\ +)\xf9\xd1\x8f~\xc4\xacY\xb3\xb8\xf7\xde{+e\x93\ +sJ~\x92\xaaX,\x22\xa5d\xd2\xa4Ituu\ +\x91\xc9d\x8e\xb8:dB\x85y[\x1b/\xbd\xf4\x12\ +---\x1c8p\x80x<^I\xc3b\xa3k!\ +R\xc6 \xd3\xa7\xcc\xa3~Z\x1d\x9bz\xba\xa9\x8dL\ +\x1e\x8b\xba\x0f\xb9\xc0z\x5cR\xf7\xfe\x01F\x9e\xae\xc3\ +\xe8\xad\xd0+\x8e\xe3\xf8\xe5;c\xbf'\x8b\xc5\xe2\xf3\ +Gs\x8fc\x84\xab\xab\xeb\xba\xb2s\xe7\xceJ\x0b\x85\ +\x00UU\x90\x12b\x91\x18\x96kU\x1c,\x81\x1f\xab\ +\x8d\xd5x-8&\x09\x997o\x1e\xb3g\xcf\xe6\x84\ +\x13N`\xd9\xb2el\xdd\xba\x95e\xcb\x96\xf1\xe4\x93\ +Or\xf1\xc5\x17\xb3{\xf7n6l\xd8\xc0\x99g\x9e\ +Iss3\xcf>\xfb\xec\x9f\xa4\xc7\xdfiE\x22\x11\ +\xbe\xf5\xado!\x84`hh\xa8R\x01h\x98\xd8\xaa\ +\xcb\x86\xff\x1ed\x93\xf9U\xe65.\xc1\x95.;\xfa\ +6\xd1\xfah\x1b\x1d#\xbd\x14\x86\x0e\xbd,MSY\ +\xf7\xb5a\x8c\xd1Q\x9c\x92d\xc6\x8c\x19\xe8\xba\xce\xd1\ +\xaa\xa8\xb7\xf1\x0c\x87v\xee\xdcy\xf1\xacY\xb3^(\ +\x95J\xb8*L\xbd!\xca\xc9\xcbc\xd8\x8eCSx\ +\x1e\xc3F;\x8e\xe1r\xf0\xd5\x12\xfb\x9e\xc8\xa3\xa8\x15\ +\xa7'\xe2\xf9\xeaG\x0bHgg'\xbf\xfc\xe5/9\ +\xe5\x94Sx\xe5\x95W\xc8\xe5r\xf4\xf4\xf4`\x18\x06\ +O>\xf9\xa4_\x99\xf1\x9b\xdf\xfc\x86@ \xe0\xa7>\ +\x8fr\x8d\x0e\x0d\x0d}C\xd7uk\xec\xc1?\x98J\ +\xa5f\xe4\xf3y,S2+<\x83\x193\xa6W\xa4\ +T\x1a,\xbb~\x16U\x912\x0d\xc3'c\x0d\x06q\ +F+i'\xa1HP$L\x83\x5c.\xc7\xc8\xc8\x08\ +\xd1h\x94x<\xcei\xa7\x9d\xc6\xcb/\xbf|\x5c\x1c\ +\x12?\xcd+\xa1\xd4j\xb3c\x7f\x8e|\xaf\x83ml\ +\xc4.J\xecr\xa5?Q\x0fh\xbe#p\xac\xd4I\ +4\x1a\x8d\xf2\xf4\xd3O\xf3\xc4\xe3O\x1c\xf2F\x84\xc7\ +I)~O\x8bP*\x89\xac\xea\xeaji\xdb\xf6\xd1\ +\xea\xac\x91\xde\xde\xde\xff\xed\xfdP__\xbf\x5cQ\x94\ +\x19\xaa\xa2\x80\x03\xae\xe3\x92\xcf\xe7\x11\xc0f\xab\x8dK\ +Z\xa2\xb8J\x8e\xe0\xd4\x22\x8a,\xa1j\x0avZ\xa7\ +\xbc/F~[\xd4g\x01\xbc\xea\xc1|>_\xc9\xe5\ +\x8b\xe3\xd31gY\x16\xb7\xdcr\x0b\x00/\xae}\x11\ +QV\xd0\xb4\x02B\x17\x18\xba\x81\xac\x96~l\x94H\ +$\x0e+k\xa8\xbd\x83A\xaf\xf7\x92\xf9\xae\x0a\x93\xe6\ +\x05\xd0u\x81\xb4u\xe6N^HGj\x07(PN\ +9\xa4\xbb|\x1d.l\xdb\xee\xe0\xf8,%\x10\x080\ +}\xe1\xc2JF\xcf\x1a\xa3\xd6\xbd\x88X\x11\xac\xac\xbe\ +\x85\xf7\x9d~-;\x86_\xe6\x85-/\xa15\x0f\xd3\ +\xd67\xe0\x13\x85^\xc2\xca\x8b\x05\xd6\xaf_\xef\xf1U\ +\xc7\xbc\xce>\xfbl.\xb8\xe0\x02\xe6\xcc\x99C\xa1P\ +\xa0\xb7\xb7\x97\x8b/\xbe\x98\xc7\x1f\x7f\x9c\xf3\xce;\x8f\ +b\xb1\xc8\xab\xaf\xbe\xca\xfc\xf9\xf3\x89\xc5b<\xf5\xd4\ +S~\x09\xeeQ\x01\xa2(\x8a\xa8\xaf\xaf\xa7\x90/`\ +E$K?RGu\x8d\x86t%\xc9\xb6~\xea\xf6\ +U1\xbc\xdd\xc0\x1au\x88\xc5\x82\xbe'144\xf4\ +\xe6\xf1x`\xd7u\xb9\xfd\xf6\xdb\xa9\xae\xae\xe6\x8a+\ +\xae\xe0\xa2\x8b.\xaa\xe4 $\x10\x82L\xba\xc4eg\ +\x5c\xcf-\xbf<\x93\x9f\xff\xcd.N\x08-%\xe1\xec\ +g\xf7\xfa;0\x0c\xcd\x0fZ\xcb\xe52\xd1h\x94`\ +0xX\xae\xe7\xe1\xaem\xdb\xb61u\xeaT\x06\x06\ +\x06PU\x95\xda\xdaZv\xec\xd8\x81\x10\x82\x8e\x8e\x0e\ +\xbf\x16x\xe7\xce\x9d\xac\x5c\xb9\xf2\xd8\xe9w\x8f{)\ +\x95K\xe8\x8e\xce\x9bw\xa7\x91\x16X\xc5C9t\xa1\ +L\xd4\x8dGB\x9b\x1c\xce2M\x93\xfa\xfaz\xbf\xe2\ +\xdc\xb2\xacJ'o\x08\x0c\xc3%\x14\x0c\xe0R\xa9?\ +\xeb\x1e:\xc8\xc6\xfcc(\xa8\x13\x92G\x1e\xf7\xd4\xd6\ +\xd66\xb7X,\x8e\x00\xb2\xa1\xa1\xc18\x1e6\xe4\xea\ +\xab\xafF\xd3\xb4?HV\xb5\xb7\xb7\xfb\xc4\xa2\x94\x92\ +_\xfc\xe2\x17\x95\xf7u\xac\xf4\xfb%\x97\x5c\xc2\x87>\ +\xf4!\x5c\xd7\xe5\xc9'\x9f\xa4\xab\xab\x8bh4\xca\xc1\ +\x83\x07\x89\xc5bTUUq\xe0\xc0\x01r\xb9\x1c\x8d\ +\x8d\x8d\xf4\xf4\xf4\x1c\xb7\x1d(\x84\xe0\x87?\xfc!\xcb\ +\x96-\xe3?\xfe\xe3?\x0e\x05\x7f\x08\xa4\x0b\xf1x\x88\ +d&MM\xa0\xbe\xe2VJ\x9b\x80\x88 ]\x89e\ +\xd9~\xad\x98W\xd6\xa9\xebz\xceu\xdd\x0cpD\xfc\ +\xd5\x1f\x91^s|\xbe\xc7\x09@u\x5c\xc5q]&\ +\x87gPr\xd3\x14\xac,BH\x8c\xac\x8b[\x92~\ +\xf6\xf0\xa8\x01\x19k\xc0\xa4\xb5\xb5\x95\x1bn\xb8\x81m\ +\xdb\xb6Q*\x95\xa8\xab\xabc\xd9\xb2el\xdc\xb8\x91\ +`0H8\x1c&\x93\xc9\x1c\xf7\xb6f)\xa5[U\ +U%w\xec\xd8Q)Y\xf0JP%H!\x89E\ +\xc2<\xbe\xfb~\xbeu\xe5o\xf8\xcd\xfe\x87x\xa9\xe3\ +e\xce:\xe9t^s7b\x18\xa6\xcf\xe8zT\x8c\ +m\xdb\xb3\xea\xeb\xeb\x03\xa3\xa3\xa3=\xc7zo\xb6m\ +\xb7\x09!*\xc5\x82\x08F\x96H\xfe\xee\xf6f$.\ +Q3BP\x0frp\xb8\x80U\x90\xbc~W\x0a\xe9\ +T4\xce1\xb9\xbdB\x08\xbe\xf9\xcdor\xfb\xed\xb7\ +\xf3\xc9O~\x92\xb6\xb66\x5c\xd7\x9d\xd0_8\xd6\x9f\ +\x8d\x94\x92\x9e\x9e\x9e\xe3\x0aH*\x95\xba\xe8\xf9\xe7\x9f\ +\xa7\xa5\xa5\xa5}\xce\x9c9\xb3\xb3\xd9l\xa5nX(\ +\x14j$%3\xca~\xf9\x1c\xdfyVg\xd5\xe9\xa7\ +\x90Pv\xf0\xcc\xbe]\x0c\xb5\xe5H\xa5*\x01k(\ +\x14\xa2\xa5\xa5\x85R\xa9\xc4\xb5\xd7^\xfbz[[\xdb\ +\x86u\xeb\xd6\xad<\x1e\x0e\x87\xef\xfa\x0a\x85\xba\x83\x92\ +}O\x15\x18\xdan\x90\xef\xdb8A5\xa9B\x03\x8d\ +\xb7\xcd\x9f\x1c\xb1\x0d\x89\xc7\xe3\xdcw\xdf}~\xc2\xc8\ ++4\x00\xd05\x1d];\xe4\x0a{\xe5\xa3\xfb\xf7\xef\ +\x9fq<\xed\x88W-\xef\xbd\x00\x81@5\x5c\xb40\ +\xe4{\xe1\xf5\xce\x9f\xf3\xe4O~LyDb\x95\x5c\ +\xcai\xd7\x8f\x85TU%\x9dN\x13\x0a\x85\x18\x19\x19\ +9\xa2^\x8d\xc3!\x18/\xbc\xf0Bn\xbc\xf1F\xbe\ +\xf5\xado\xa1\xf6\xa9\x10\xcc\xd18\x1b\xbf\x7f\xbf\x5c.\ +SUUE*\x95\xc2\xeb\x8b?j@b\xb1\x98\xdc\ +\xb4iS\xa5\x92#\x06\x0b\xcf\x8f\xa1\x07\x04J\xa9\x9e\ +\x0b\x16_\xca\xef:\x1fA\x0b\xa8\x8c\xee3\x19\xd8\x5c\ +\xf6\x12NR\xd7\xf5)\xc7\x13\x10\xd7u\x1d/i\xa5\ +\xaa*\x8b\x17/\xa6\xb3\xbd\x83\xd7\xfe\xa9\x5c\xd9\x1b\x0a\ +\xa0T(\x12\xe1\xba\x84B\xd2\xa7*\xbc\x11\x18c=\ +\x7f\xc7\xb5\x91\xb4X,\xf2\xe9O\x7f\x9aT*\xc5'\ +?\xf9I\x1ez\xe8!N_y:\xdd\xdd\xdd\xcc\x9b\ +7\x8f\xdf\xfe\xf6\xb7\xac\x5c\xb9\x12]\xd7\xc9f\xb3\xec\ +\xd8\xb1\xc3\xaf\x9a?*@BcOf\xdb6\xb2\xda\ +e\xc695h\x08\xac\xb2\xc1\xeb#?C\xb5\xc3$\ +Z\x0d\x92\xfb+\xc1\xcf\x98\xdb+\x86\x87\x87\x8f\xc9\xaa\ +\xc7\xe3\xf1\x96\xb9s\xe7\x1e\x08\x04\x02\x15OOQq\ +\x84M\xa9T\xe2\xdb\xdf\xfe6MMM$\x12\x09~\ +\xf7\xbb\xdf\xf9\x05\x04\x00###L\x9d:\x95d2\ +\xc9\xc8\xc8\x08\xaa\xaa\x92L&\x09\x85B\x94\xcbe\x02\ +\x81\xc0q\x05$\x14\x0a\xb1c\xc7\x0ef\xcf\x9e\xcd\x0b\ +/\xbc\xe0\xf7\xd0\x8c\x8e\x8e\xfa\x95\x90\x83\x83\x83\xc4\xe3\ +q\xbfx\xf0\x9dX\x8cw\xb4!\x9e\x1b[\x9d\x83\x0d\ +wd\xdf2\xaa\xa8\xa2F\x82\x11}\x82\x18\x1f\x87\x9d\ +\x17\x98={6\xb6m\xa3\x0a\x95Vu?g\xdd\x10\ +d\xfd\x7f8\xbe+Eb(I\xae\ +\xdfa\xc37\x93>\xcb\x1c\x8dF\x87\x8f\x1a\x90`0\ +\xc8\xbd\xf7\xde\xcb\xe7>\xf79>\xf6\xb1\x8f\xd1\xdf\xdf\ +\xef\x8b\xbd7\xdb$\x95JaY\x16\xa5R\xc9\xcf\x85\ +\xc8\xb1\xc8\xf0\xad\x0d4G\x0a\x88a\x188(\xa8\xaa\ +Bo\xa7\xc1\xdd\xf7~\x95o<\xfb/|\xe1\xfc/\ +\x13\x8f\xc4\xf9\x9f\xad_\xa4\xfd79\x8c\x11\xc5\xaf\xec\ +8\xe1\x84\x13hlld\xfb\xf6\xed\xd45Uq\xc2\ +\xccF\x96OZ\x86\xea\xea\x15\x07@0G\x22\x1f\xf3\ +\xd2\xd0?\xfc\xe1\x0f\xff\x06\xe8:\x8a{\x94\xe3U\xb4\ +\x18\x81\xe1]e\x12{-\xbe\xfa\xdd{I\xee\xb3p\ +M\x89\xa2\x0b\x14M\xf15\x8e\x10B9&\x1b\x92H\ +$\xb8\xfd\xf6\xdb\x0f\xeb&\xbd\x1eC!\xc4\xa2\xa6C\ +\x9e\x9f\xf6\x00\x00\x16VIDAT\xa6\xa6S\x06\x06\ +\x06\xb6\x1dC\xe0U\x01]*\xa8B\x05\x14\x96.;\ +\x85\x86\xb6*\x96\xaf8\x8d)\xb5M\xac)\xa9Tm\ +\x8c\xa0\xe4\x85\xaf\xd3g\xcc\x98\xe1y\x88L:\xdd\xa5\ +\xf9\xec4\xd2M\xe3\x00\xc6@\x00\xa3-B\xb93\x82\ +\x10\x15\xdeMU\xd5\xa3v@TUe\xe1\xc2\x85\x9c\ +t\xd2Il\xd8\xb0\x81\x815\x15\xa3\x1ep\x1c&7\ +\xba~\xac\xe6mbo\xb0\xdbQ\x032<<\xdc\xe5\ +\xba\xee\x5c\xaf\x80\xa0\xe9\xac0\x91\x88\x82\xb4u\xdew\ +\xd2-<\xb3\xef\x87\xd8\x18\xd8\x86\xe4\xc0\xef\x8b~\x0a\ +\xb5\xaa\xaa*R,\x16\xe3G\xf2pS\xa6Ly_\ +\xb1X\xbc\x10p\xa5\x94\xf1\xce\xce\xce\x8a\xee\x97\x82\xb2\ +a2\xd0S\xe2\xab\x89o\xb2\xa7m\x98;\xb6\xfd+\ +\xb1P5\x1b\x0e\x1e\xc4\xee\x8b\xa2XA\x7f\x07\xb6\xb6\ +\xb6\xfami\x81b3w^\xf4#6\xf6\xfe\x96\x1f\ +\xbc\xf8\x9f\xcc\x9cQ\xc7P9Ovw\xa5\xb6W\xd7\ +\xf5c\xa2\xe2\x83\xc1 \xdf\xfc\xe67\x89\xc5b45\ +5\xb1c\xc7\x0e\xce=\xf7\x5c\xd6\xacY\xc3\xca\x95+\ +ikkC\x08\xc1\xacY\xb3\xc8d2\xbc\xf2\xca+\ +\xc7\xc6\xf6Z\x96\xd5\x16\x0c\x06/\xf6\xf2\xd5\xd3/\x09\ +\x13\x8fk\xe4\xfam~3p\x1f\xb6\x22(\x0c8\xa4\ +\xbb\x0f\x19M]\xd7}7\xf4\x08I\xc4[\xaf\xbb\xee\ +\xba\xf3\xa5\x94\xb8H2U\xa34M\x0f\xe0f\xbc\xfa\ ++\x9dt\x22\xc7\xa9\x0d\xe7`\x16m\x92\xc5$\xa77\ +]\xc9\xb3[\x9f!\x18t|\x09U\x14\x05\xe9J\xa4\ +%\xb8v\xf9\x87\xf8\xef\x0d\xff\xca\xf2\xd8\x87X\xd9p\ +#+\x17,\xe0;\xad_\x99\xd0\xfb~\xb4\x80H)\ +\x9d\xf1\x05\xe5\x9e\x93\xe3\xb9\xd9^\xc7Yww7\x81\ +@\x80\xda\xdaZ\x7f\x9c\xd3\xb1\x90\x8b\x0a@uu5\ +\xb6m\xb3\xe3kE\xac\x9cDh \x14\x10\xaaW\x81\ +\xa1\xa2i\x87\x22\xe3\xa3\x1c\xab\xa4'\x93I\x5c\xd7%\ +c\x17\x99sE\x06[\xad\xa8})ltM\x85\xa4\ +\x82q J\xfe\x8d\xb1\xe10c\xde\xd4\xf8\x12\xa0H\ +8L2\x98\xe3\xcc\x8fE8\xff\xfc\x0b\xf8\xd1\xce\xe7\ +\x18J\x8d\xb0\xb7\x7f'\xc5\x9a\xed\xa8Tjl\x85z\ +t\xe3\x93\x00\x1a\x1b\x1bO\x94R\xae\x08\x85B\x5cs\ +\xcd5\xc4b1\x7f\x13n\xdd\xba\x15EQ\xd8\xb3g\ +\x8f_\xf4100\xe0\x17\x18\x1e+ \x9c|\xf2\xc9\ +|\xe9K_\xc2\xb6m\x1e~\xf8a\x0e\x1c80a\ +\x8eG<\x1egpp\xd0\x8fF\xbd\xc14G\x9b\x81\ +s]\x17\xcb\xb1Q\x84B\xba'\xcc#\x7f\xff;\xfa\ +\x0b\xfb\xb9\xe3\xb7\x7f\xc7\xec\xc6yt\x96\xdb0\xca!\ +\x14\xfd\xd0D7\xdf\xf5\xf4\x8a\xf6\x14\x85@@\xc7\xb2\ +\x0c4%\x88\xaah\x04\xb4 !\xadB\x85\x1b\xa6\x81\ +\xa2\x8a\xa3\x9e\xc7U*\x95Z\x9a\x9b\x9b\xc3\x85B\x81\ +\xaa\xaa*\x9f2\x1a\xbf\xfeX\xb1\xa0\x170\x1e5 \ ++V\xac`\xf7\xee\xdd\xfc\xf5_\xff5g\x9cq\x06\ +B\x08\x22\x91J\x1b\xb1\x97\x0e-\x16\x8b\x0c\x0f\x0f\xd3\ +\xdc\xdc\xcc\xe0\xe0\xa0o\x97\x8f\xf4A\xbd\xb9\x8d\x16\x15\ +U\xb0z\xd5\xbf\xf2\xf3=_'y\xa0\x9a\x05\xdaU\ +\xdcr\xc6\xdf\xf3\x99\x9e\xf7W\x5c\x5c\xa7\xa2r\x82\xc1\ +\xa0?\xdb\xd1u]\x0c\xd3\xc4*\x18d\xd7,\xe6\x8b\ +\xbf\xfa\x22\x8e\xb4\xd9\xcb\xe3\x94\x0d\x8b\xcc\xcb\x02\xe4\x0c\ +f\xcf\x96 *\xb9\x8a\xcb/\xbf\xfc\x7f\x84\x10\xdf\x07\ +\xd8\xbcys\xc7\xde\xbd{\x97\x1c\xae'\x98N\xa7+\ +\x1d\xc4\x01\xb8\xe4\xdf\x1aPT\x01\xa84\xd7\x9f@\x7f\ +\xea\x00\xa3\xfbL\x0e\xbcX$\xd5^\x91\xe0\xaa\xaa*\ +\xf2\xf9\xfc\xfd\xc7\x14\x18\xfe\xfc\xe7?\xe7\x03\x1f\xf8\x00\ +w\xdf}7\xeb\xd7\xaf\xf7\xfd\xfd|>\xef\xd3%\xa9\ +TjB\xaaTJIcc\xe3\x97\x14E\xb9\xa5\xaf\ +\xaf\xef\xc0\x91J\x88\x83\x83\x22U\xa6\xd4Ma\xff@\ +\x91\xa2\x05\x1d\xc3\xfbyr\xef}\xd8\xb6\x85eUt\ +\xa9i\x9a\x04\x83AN=\xf5T\xf6\xee\xddK\x22\x91\ + \x9dNc\xba&V\xd9\xc60*S\x91v\xd7n\ +\xe6\x9ckc8\xb9\xca\x1cE7\x13\xc4\xc9j8\x19\ +\x0dk \x18@\xfa3\x15\x83G`C\xd0\xf5J=\ +\x98\xee*\x0cl6)\x0e;\x14\x86\x1c^\x1dHP\ +N\xb9\x95\xba5M\xf8\xb5\x08c6\xcb>&\x1b\xe2\ +\xba.\x0f<\xf0\xc0\xa1\x1b\xf1\x02M\x01\x99t\x06\xcf\ +\xad\x16\xa2\xc2\xdbxc\xfd\xe6\xcc\x99sQ&\x93\xa9\ +\x07\xfe( \xf3\xe6\xcd{\x8f\xae\xebBQ\x14gx\ +x8V.U&{Z\x8aM\xbe?\xc0\xae]\xbb\ +H\xe4\x0a\xa4\x07l\xb2\x89,\xa3\x07\x8b\xe4\x07-L\ +K\xa2\xc8\x0a\x80\x86a\xd0\xdc\xdc\xcc\x8e\x1d;P\x94\ +J\xeb\xb4#\x0fM\x1e2\x5c\x8bp-(\x8e\xc6\xb4\ +\xfa\x05\xc4gT\xb1sp\x03u\x91\xc9d\xe5\x10\x03\ +\x0f6\xe0\x14\x0e\xa9\xbc#I/WUU\xb1z\xf5\ +j\xf6\xec\xd9\xc3\x81}\x07\x08\x18eT\xc7!V\xef\ +b\xd7\xd8\xfe\x98\x0e/n\xf3\xbc\xbfc\x89C\xfe\xfb\ +\xe0\xc1\x83\x17\xdb\xb6=S\x08A1&9\xf5\xf2j\ +\xf4\x80\xa00R\xc5\xfb\xcf\xb8\x9eg\xf6\xfd\x00M\xd5\ +\x19\xdan0\xb8\xb5\x84P\x84?\xed\xe7\x1d\x1e\xb0\xe1\ +\xb4\xd3N\xdb\xac\xaa\xaa\x10B \x91P[\x82l\x10\ +\xe1\xa8\xb0\x11\x9e\xd8\xf8\xd4!\xde\x88\x1av\x1c\x18d\ +\xf4`\x0cG\xe6\xb0M\xe9\x1bs\xaf\x16\xcc\x9b\xec\xe6\ +\x9a\xae\xdfjmI\x07EU\xe8\xdeo\xf3\x95[\xbf\ +\xc2\x0f\xd6~\x97KZn\xe1\x8a%\x1f\xe4S\xcf_\ +\x80eZ\xd8\xa6sD\x80xi\xd9o\x7f\xfb\xdb$\ +\x12\x09n\xbe\xf9f\x9e{\xee9\xbfr\xb1\xbd\xbd\x9d\ +e\xcb\x96\x11\x0e\x87\xd9\xb6m\x1b\xdb\xb6mc\xe9\xd2\ +\xa5l\xd8\xb0\xe1\x1d\xbf\xfbO\x02\x92\xcb\xe5\xb667\ +7\x0f\x1b\x861S\x08\x81\xa1;\xb4\x9cW\x8d\x9d\x92\ +\xa4;\x0c\x1e\xfd\xed\x03\x14\x07\x04V\xd1\xa2\x9c\x92\x84\ +\xc2!\xdf\xf5}\xa7\xf60@/\x97\xcb\xc2\xb6m\x10\ +\xb05\xb2\x8b\xf7\x9e_\x87+]\x1c\xc3E\xb1\x83H\ +K\xc1\xc9\xab\xe4^\xab\xc1)\xaa>\xb1\x98L&\xfd\ +\xe0\xd1\xa3G\x5c\xd7\xa5\xb3\xb3S\xbe\xf1\xc6\x1b\xe2\xd1\ +G\x1fe\xdb\xb6m\x15\xc7C:\xa8\x9a\xc2\x09\xd5K\ +8\x98\xdf\xcdH\xf9 \xff\xeb\xc4\xdb\x09j!B\xa1\ + \x96cc\x99\xbe\x1azGDjjj>q\xde\ +y\xe7}\xa3\xb5\xb5\x95G\x1ey\x84/\x7f\xf9\xcb\xf4\ +\xf5\xf5\xb1w\xef^r\xb9\x9cO\xd3\xac]\xbb\x96\x99\ +3g\xd2\xd3\xd3\x83\xe38\x8c\x8e\x8e\x1e\x9f\xc1\x01\x95\ +\x0d!8\xe9\xa4\x93\xe8\xee\xeaf\xe3\xe7\xcaH{\xcc\ +!\x16\x1a\x08\x15\xe98\x84B\xba\xffr\xbc\x12\xfcw\ +\xba\x01\xbf<\x07I\xa0\xae\xd2\xd9t\xd6\xa4\x0f\xd32\ +\xb9\x85\xa7;\xbe\xc7\xcc\xaaS\xd8\x9a\xfa\x0d\xf6\xc60\ +\xb6u\xa8\x8ad|\x1bD\xa1P\xb8c\xff\xfe\xfd\xff\ +>i\xd2\xa4\x81\x91\x91\x91\xc6\xb5k\xd7\xb2h\xd1\x22\ +6n\xdcX\xe9\xc8R]\x92\xbf/\xd3;u\x90{\ +6?@2\x97\xe0\x0b\xbf\xfb\x12\xaa\xa2\xd2\x9d\x05+\ +\x7fH2&O\x9e|\xc2\xb4i\xd3^\x05T\xc7q\ +\xd8\xb9s\xe7u\xc9d\xb2\xe7-lD\xad\xa2(\x9a\ +\x94\x92M\x9b6q\xd1E\x17\xf9\xe4\xe6[\xd7\xfe\xfd\ +\xfb}\x82s\xeb\xd6\xad\xc4\xe3\xf1c\x07\xc4\xb2,n\ +\xbd\xf5V\xce;\xef<\x0c\xc3\xe0\xb1\xc7\x1e\xf3\x07A\ +z\x9e\xd6\x9c9s\xd8\xbbw\xafO\x0d\x0c\x0c\x0cx\ +7\xb9p\xda\xb4i\xc9\xde\xde\xde\xb7\xe3\x8a\x1c\x8f\xaf\ +\x92\x02\x14E\xd0\xbd\xcf\xe6\xdb\x7fu\x13\xff\xf0\xe3+\ +\xf8\xe2\xc5\xdf'\x1en`t{'\x83\xd6\x08\x86\xe1\ +\xf8\x80{\xc4\xe1\xb8*I\xa9\xaa*\xb7\xdez+\x9f\ +\xff\xfc\xe7\xb9\xff\xfe\xfb\xfd\x09<\xb6p\xd1\x8a\x1a\xb1\ +\x13\xaa(e,\x0a\x96`d\xd9V\xe2\xb1\x10\x93F\ +\xc2\xd8\xf5A\xdc\xb2\x8a4\x14\xa4\xa9\x84\x91\xe2L/\ +\xf7\xfd\xe6\x9bo\x86\xdeN]\x8dO[+\xaaJ\xb8\ +J#\x10\x14\x87:\xa6\x04\xd8%\x17\xbb\xa4\xf86W\ +Q\x14J\xa5\x92e\x9af\xe2\x98\x00q\x1c\x87\xd9\xb3\ +g\x93L&9\xe5\x94S\x08\x85B\x9cr\xca)D\ +\xa3Q\xa2\xd1(?\xf9\xc9O\xa8\xa9\xa9\xe1\xcc3\xcf\ +$\x9dN\xb3n\xdd:\x02\x81\x00\xb6m\xf3\x9e\xf7\xbc\ +\xe7\xe1\xf6\xf6\xf6\x1f\xf7\xf6\xf6\xde4F66\x01\xab\ +\x01\xd3u\xdd\xea\xde\xde\xdeJ\x012`Z&\xf9l\ +\x8c;\xef\xfc\x1a=\xedY\x1e\x1fz\x86L!\xc3+\ +}oR\xe8\x0a\x13\xd3k=\xb6\x94\xaa\xaa*r\xb9\ +\xdc\x84\xd1\x17B\x08\xda\xda\xda\xb8\xe9\xa6\x9b\xc8\xe5r\ +TUUUf\x09\x0b\x17\xdc\xb19\xed\xc0\x906\xc2\ +\xc2\x85\x01l\xcb\x84\xa6\x89#\x93\xb2\x9b\xc7*\x1e\x85\ +\xf4\x0b#\xfe\x18\xf1\xd9\xd0\xd00\xd6\x82\x00\xb5\xe7\x04\ +Y|Z\x8c\xa1\xedeF\xf7Y\x8c\xee6q\xed\xb7\ +u\x04\x0e\x0c\x0e\x0e\xdewL\x80D\x22\x11\xee\xbc\xf3\ +N\xce<\xf3L\xee\xb9\xe7\x1e\x8a\xc5\xe2\x84\xec\x97i\ +\x9a\xac]\xbb\x16\xdb\xaed\xf4\x82\xc1\xa0\xff\xef\xde\xf0\ +.o\x8d\x8c\x8c\xac\xba\xf2\xca+?\xefQ\xf4\x19\xb3\ +(kg;B&\xc3\xb8\xc9\x00\xd8\x92=ov2\ +YY\xc0\xa6\x8d\x95\xe9\xdc\xd3\xb4\xe5t\xba\x1d~\x8e\ +:\x12\x89\x10\x0c\x06\xfd\x91G\xe3\xa8\x97{\x86\x87\x87\ +\xab\x84\x10n\xb9\x5c^.\x84\xb8\xb8\x5c.\xe3(.\ +\xa1Px\xac\xe2Q\x80*1M\x87\x0f\xcc\xbc\x93\xee\ +\xec.N\x9a\xb5\x98\xffz\xee>\xec\xbav\x1c'\x82\ +eZ\xa0\xc8\xb7\x8d\xe2\x03\x81\xc0l)e\x9d7H\ +a\xd1\xa2E\x04\x02\x01\xfa^\xebe\xe7\xcb\x12I\x00\ +)ub\x91\x90\xafR\xbd_^a\xc81\xab,\xdb\ +\xb6\x83\x8a\xa2\xf0\xdak\xafU\xf4\xa1d\xc2d\x05!\ +\xc0\xb6\x1c\x84R1\xe6^.\xa2P(L\x18,\xec\ +=\x933nPrva\xa7\x98yF\x14\xcb5q\ +\x1c\x17%\x17\xab\xc4\x07\xde\xec\xdc1\xf7\xd2\x9b\x17,\ +\xa5\xf4\xe9\xfe\xfa\xfaz\x12\x89C\xd2\x9fL&\xbf\xe6\ +\x19\xfb\xc9\x93'\x7fL\xd3\xb4\x8b\xa5\x94\x08\x1b\xb0]\ +\xffP\x00\xcb4H\xec\x93T5W\xf3\xfc\x9b?\xc6\ +:\xf01\x16(g\x12SV\xf0X\xefO\xc9\x8d\x06\ +@Ho\xf0\xd8)\x81@\xa0^UUQ*\x95v\ +_r\xc9%\xed===X\x96%kkk\xc5?\ +\xff\xf3?\xb3x\xf1b\xee\xbd\xf7^\xf6\xed\xdb\xc7\xe2\ +\xc5\x8by\xf3\xcd7iii\xa1\xbf\xbf\x9ft:\xcd\ +\x94)S\x90R\xb2}\xfbv\xd2\xe9\xf4\xb1\x03r\xe0\ +\xc0\x81\xbf\xcb\xe5r\x9b\xd41~\x22\x1fr9\xff\x96\ +:\xcaY\x07\xbb$)\xa5\x5c\xd2]\x16\x99\x036\xee\ +8\xa0&M\x9a\xe4\xd1+U\xb1XlF>\x9f?\ +\x00\xb8\xe3wJ8\xa2a\x14%\x97\xcf\xfc'&\xd7\ +\xd5\xf2\xf3=\xdf V\xd7H\xa2\xf9\x00\xc9\xf5!_\ +\xf7:\x8eC:\x9dFJI8\x1c\xc6\xb2,\x06\x06\ +\x06\xbc\x06\x98\xb7\xf3\x1cTM\xd3X\xbdz5\xf9|\ +\x9e\x1f\xff\xf8\xc7~\x02\xad\xae\x5cEh\xeb\x1c\xee\xda\ +|\x17\xaa2\x87\xdf\x06\x9e \xa4\xebHCe\x8a\xb3\ +\x98\xa6\x13\xbd\x9d&\xb9\xfa\xea\xab\x7f\xeeU\x8e\xacY\ +\xb3f\xaaW\x13l\xdb\xb67\x8f\xd7\x1f6\xe3\xba.\ +\x93'Of\xfa\xf4\xe9\x94\xcbef\xcc\x98\xc1\xbau\ +\xeb\xfcd\xde\xce\x9d;\x8f\x8f\x97eY\xd6\xd6@ \ + =5\x13\x01v\xfe\xc0|Kn]'\xa4\xeb\xa0\ +\x1f\x8ab5M\xc3\xb2,\x1a\x1b\x1b\xffz\xc9\x92%\ +\x97\xbd\xf8\xe2\x8b_\xb5,\xeb\xe4\xbe\xbe\xbeCc\x9d\ +\xde(\xa0\xb5W\xb3\xeb\xc46\xbe\xb1\xf9\x19fN\x99\ +\x89\x1e\x9fB\xdb\xe0N\xf2C\xae_\x1c\xf0\x16\xd1/\ +wtt<4\x96\xf134M{\xe5\xedr)\xef\ +{\xdf\xfb\xa8\xaf\xaf\xe7\xb6\xdbn\xe3\xd1G\x1f\xf5S\ +\xba\xaet)\x9b\x15\xb5\xbb!\xdd\xca{o\x0dO\x18\ +3e\x0d\x070{\xc2\x98\x07\xc389\x8d\xf1\xb3T\ +\xbc*z/\xc6\xb9\xed\xb6\xdb\x08\x06\x83\x94J%\xa4\ +\x94|\xff\xfb\xdf\x9f\xd0\x7f\x22\xa5d\xf7\xee\xdd\xb4\xb6\ +\xb6\x1e6\x89yX\xed\xa7\xae\xeb\xf2\xd1\x8f~\x94s\ +\xce9\x87\x8e\x8e\x0ev\xee\xdcIgg\xa7?\xdb\xc3\ +4MN?\xfdt\xf6\xef\xdf\xcf\x9e={\x98={\ +6\x1d\x1d\x1d~&\xb1\x5c.\xeb\xe7\x9e{\xee\xbf*\ +BaX\x1b\x96\xd3O\x12\xc2\x1c\x0cc\x0f\x07qS\ +:;6\xee\xa5E=\x11g\xc4\xa5wx\x90&m\ +)\xeb\x13\xaf\xfb\xbd\xe0^q\xc0\x18\x91\x98O$\x12\ +\x1f\xfd\x93\x0f\xa5i\xbc\xf2\xca+\xacY\xb3\x86\x91\x91\ +\x11\x8a\xc5\xa2?O\xd7+\x0b\x02(\x0a\x93hm\x0c\ +\x92\xd3\xb8\xfd\x92/\xf1\x8b\xd6\xffd$2\x82=7\ +Kb\xb3E\xea\xe5*T\xad\xd2\xb2}\xd6Yg\xad\ +\xf3\x00)\x95J\x84\xc3\x95\xf3N\x8a\xb9J9\xa9P\ +\x15\x94?^\xd6,\x01\x91J\xa5\xa2\xc7\x05\x10)%\ +\xd7\x5cs\x0d[\xb6la\xd5\xaaU$\x12\x09\x16-\ +Z\xc4\xf6\xed\xdbihh\xa0\xb3\xb3\x93\x9a\x9a\x1a\x16\ +.\x5cH \x10\xa0\xbd\xbd\xdd\x1f\x00\xe9\xbd\x80\xfe\xfe\ +~\x1c)\xa9\xbe>/\xc2\x8bc\x84\x97fA\x91H\ +S\xc1Nk\xb8Y\x9d\xd4\xf3\xb58\x96\x8b\xe6\x1e\xaa\ +.\xf1\x06\xa7\xd5\xd5\xd5M\x985\xffN\x91t\xb1X\ +\xe4\x9cs\xce\xf1\xc1\xf4\xf4w]]\x9d\xff\xbdM=\ +*{\xbf\x5c\x87\xedf\xf8\x9b\xff\xfc\x18\x02\x9d@@\ +E\x1aQ\x14]\x22t\x13\xd5U\xbc\xd1\xb8\xb3\x0c\xc3\ +\xc0\xb6m\xaa\xab\xab+\xc9'\x04\xb5K\x82\xe8\x08\xf2\ +\x03\x0eF\xc6\x9d0\x9c\xc8\x93\x0aM\xd3D6\x9b}\ +\xc3\xb6\xed\xf7\x1e\x17@t]\xe7\xfa\xeb\xaf\xe7\xae\xbb\ +\xee\xe2\xeb_\xff:\xdd\xdd\xdd\x13N\xd2)\x16\x8bt\ +uu\x91\xcb\xe5\xfc)\x9d\xaa\xaa\x92\xcdf\xa9\xad\xad\ +\xc5u]\x7f\xc8\xc0\xc0\x036o(\xde\xb0Ie\x1c\ +eaR\xb4\xdahii\x99\x90\xb7\xf7&\xea|\xf4\ +\xa3\x1f\xe5\xfe\xfb\xef?\xac2#\xc30r\xb6mw\ +{u]B\x88\xe9\xaa\xaa\x0aO\xda\xfd\x89\xa8\x01\x8d\ +\x9aI1,\xcbb\xb4lS}\xe9\x10\xb5\x93td\ +I\xc3\x1c\x0aR\xec\x08@\x22\xeaWNz\xf1G(\ +\x14\xe2\x13\x9f\xf8\x04\xc9d\x92\xed\xdb\xb7W\x1a\x95j\ +-d\xfc\x90\xf3\xe1\xfd\xee\x15]\x94J\xa5r\x22\x91\ +H\x1d\x17@\xbc\xb9\x8a_\xf8\xc2\x17\xfe\xe8g\xf2\xf9\ +\xbcO\xcdK)\x19;\xb1\xccg\x81\x87\x86\x86*\x85\ +\xda\x93\xe3\xa8\xaaJ[[\x9b?\xcbw\xf1\xe2\xc5c\ +\xd4G\xd9\xcfq\xd8\xb6\xed\xe7\x0e\xaa\xaa\xaa\xfc\xf9\x86\ +\x87\x03H:\x9d~p\xd3\xa6M\x0fz?O\x9f>\ +\xddRUU;\xf1\xc4\x13\xe9\xee\xee\xf6\x81\xf6^\x98\ +a\x18${Fh^\x7f\x12\xd9R\x89u\xeb\xd6\xa1\ +i\x1a\xcb\x97/\xa7\xa1\xa1\x816\xa5}\xc2\x09:\x17\ +^x!\x93'O\xe63\x9f\xf9\x0c\x8f<\xf2\x08/\ +\xbf\xfc2\x97]v\x19\xbf\xff\xfd\xef\x995k\x16\xc3\ +\xc3\xc3l\xd8\xb0\x81X,\xc6\xa9\xa7\x9e\xcas\xcf=\ +w\xd8\xa4\xe5a\x01\x92J\xa5\xfe*\x9b\xcd~\xa3\xa6\ +\xa6fQ>\x9f\xf7\xcb\xfb\xc7\x1b\xaa\xb7\x1a-\xaf\xc8\ +\xce\x03\xc5\xcbuTUU\x11\x08\x04hjjb\xe6\ +\xcc\x99\x0c\x0c\x0cL8\xbfj\xfc1B\xe3\x8b\x93\xbd\ +\xe1hG\x93\xfc\x92R\xb2n\xdd:\x86\x86\x86X\xbd\ +z\xb5\x1fKyR\xe8yJ\xb6m\x93N\xa79\xeb\ +\xac\xb3\x88\xc5b$\x93I2\x99\xcc\xf8S\xd80M\ +\x93\xbd{\xf7r\xdbm\xb7122\xc2\x8e\x1d;p\ +]\x97\xed\xdb\xb7\xe3\xba.\xfb\xf6\xed\xf3\x9f\xbdP(\ +088xD,\xf2a\x01\x92L&\x7f]WW\ +\xf7\xcf\xcb\x97/g\xf5\xea\xd5tww\xb3y\xf3f\ +\xba\xba\xba\x08\x04\x02~\xe2~\xea\xd4\xa9\xf4\xf5\xf5\x91\ +N\xa7\x994i\x92\xcf~\xfa%=\xe3b\x10\xcb\xb2\ +\xc8\xe7\xf3>M>\xfe@\xb1\xf1\xb3s\xc7^\x5cj\ +``\xe0\xe1\xb1\xff7r4eE\x86a\xf8R\x9b\ +\xcdf\xfd\xef\x1f?t\xdfSK\xa6i\xfa\x07\xd5x\ +\xff\xe6\xfd\xbd\xe38\x8c\x8c\x8c\xb0j\xd5*_\x9dC\ +\xa5\x9b\xca\x1f\xeb1n\x83\xbe\xf1\xc6\x1bG\xd4Bw\ +$\xe7\x87\x88\x8f\x7f\xfc\xe3\x0c\x0e\x0er\xed\xb5\xd7b\ +\xdb6\xb3g\xcf\xa6\xaf\xaf\x0f\xdb\xb6\xa9\xab\xabC\x88\ +J2\xa6\xbd\xbd\x9db\xb1H0\x18\xf4\x87${\xb6\ +\xc0\x03\xc4/\xf3\x19\x03a\xbc$\xa9\xaaJ \x10\xa0\ +\xa5\xa5\xc5\x9b;5\xd2\xd9\xd9\xf9\x89\xf11\xce\xf8\xa0\ +\xf0pT\xee\xc5\x17_\xccE\x17]\xc4\xf0\xf0\xb0\xaf\ +\xb2B\xa1\x90\x9f\x8a\xf6\xd4\xd7x\x06`\xfc\xe1g\xde\ +\xdc\xc9\xb1\x0d:\x81L\x1c_r\xfbv\xd7\x96Rv\ +I)\xfb\x8e7 |\xfa\xd3\x9f\xe6\xa1\x87\x1e\xe2g\ +?\xfb\x19/\xbe\xf8\xe2\x84\xf38\x0c\xc3 \x1a\x8d\xfa\ +e\xf7\xde\x91\x0e\x9ek\xec\xa9\xaf\xf1\xa7\xd5\x8c?\xe9\ +\xcd{!\xc5b\xd1\xaf2\x9c:u*\xe9t\xfa\x0f\ +(\x87#\x01\xc3SYMMM\xec\xde\xbd\xdbW\xb7\ +\x9eZ\x1c\x7f\x14\x85\xf7gOZ\xc7\xd7T\x99\xa6\x89\ +\xae\xeb\xdcq\xc7\x1d\x5cp\xc1\x05\xfc\xfb\xbf\xff\xbb\x97\ +_\xf7YkO\xda\xab\xaa\xaa\xfcA=RJv\xed\ +\xda5\xeb\xb8K\x88\xe7>~\xf0\x83\x1f\x9c\xd0S8\ +\xdevx\x93\x9d=\xfdYUU\xe5\x9f\xc4\xe3\xedJ\ +\x8f#\xf2\xa4\xc5\xf3F<\x8a\xc4\xa3\xab\xa5\x94\x13\x06\ +\x80\x1d\xcbJ\xa7\xd3\xb36o\xde\x8ceY\xf9\xe9\xd3\ +\xa7w\xacZ\xb5\xaa\xf6S\x9f\xfa\x147\xdf|3\xf9\ +|\xde\xef\xb5\xf7\xdcZo\x1c\xdfx\x9a?\x93\xc90\ +{\xf6l\xce=\xf7\x5c\xa2\xd1(\xe7\x9cs\x0e\x1b6\ +l\xe0\x92K.a\xcd\x9a5\x5cy\xe5\x95<\xf9\xe4\ +\x93,\x5c\xb8\x90\xda\xdaZTU\xe5\xb9\xe7\x9e\x9b0\ +\xed\xfax\x03\xf2\x8b\xee\xee\xee\xed\x8a\xa2\xac~\xef{\ +\xdf\x8b\xa2(\xb4\xb7\xb7c\x18\x86?\xef\xdc\xd3\xb75\ +558\x8e\xe3\x0f\x94\x14B\x90J\xa5\xfc\x01\xf5\xe3\ +U\x96W\xd1\xe7}n\xacZ]:\x8e#l\xdb\xa6\ +\xa6\xa6\x86L&\xa3\x1e# ~N\xa3X,\xbaw\ +\xddu\x17\xeb\xd7\xaf\xa7\xba\xba\x9a\x91\x91\x11\x7f\xf7\x8f\ +\xb7g\x1e\xd52>\xd1\x96\xcb\xe5\xd8\xbd{7\x0d\x0d\ +\x0dx\xe7\xffzn\xef\xd6\xad[\xb1m\x9b\x9e\x9e\x1e\ +\x7f\x10\x8d7\x92\xe9\x88\xec\xdd\xe1|\xc8;\xab\x0f\xd0\ +\x96,Ybm\xdd\xba\x95\x9d;w\xd2\xd3\xd3\xc3\x96\ +-[X\xb1b\x05?\xf8\xc1\x0f\xb8\xf0\xc2\x0b\xe9\xec\ +\xec$\x18\x0c2\x7f\xfe|:;;y\xf5\xd5W\xc9\ +f\xb3\x0c\x0f\x0f\x13\x8b\xc5\xfcrS\xef\x04\x01)\xa5\ +\xdf\x9f\x18\x8dF\xfd\x03Q\x06\x07\x07\x13\xe5r\xf9\xe5\ +1\xbb\xb4gdd\xe4\x8b\x1c\x87u\xe2\x89'&n\ +\xbc\xf1\xc6\xfaK/\xbd\x94\xcf~\xf6\xb3\x0c\x0c\x0cP\ +*\x95\xfc9\xed\x85B\x81)S\xa6\xf8\x07\x9cy\xe3\ +oUUe\xe6\xcc\x99d2\x19\xff\xb4\x87\xb7s\x1e\ +\xde\x9a\xe6\xb5m\x9b7\xdf|S\x1cW\x09\x19\xa7\xc3\ +\x15\xcb\xb2x\xf8\xe1\x87\xb9\xec\xb2\xcbx\xf4\xd1GI\ +&\x93\xbc\xf0\xc2\x0bH)\x19\x1c\x1cd\xdf\xbe}\x95\ +\xb3\xa5\xba\xbb'd\x10\xbd\xc1/\xe9t\x9a`0\xe8\ +\x0fO\x8eF\xa3\xbe\xd4\x18\x86\xc1\xec\xd9\xb3\xc9d2\ +(\x8a\xb2+\x93\xc9\x5c\xc3q^\xba\xae\xf3\xe4\x93O\ +\xf2\xd4SO\x91\xcf\xe7\x99\ +\xbf\x059\x1c\x0e\xfb\xd3\x0dB\xa1\x90\x7f\x1cP&\x93\ +!\x97\xcbM\xe0\xb9\x82\xc1 \x17^x!/\xbf\xfc\ +2\xde\xbcu!\x04\xed\xed\xed\xaf\x0f\x0c\x0c\x9cy<\ +\xc1\x18\xb3G\xfe\xcfs\xe7\xce\xdd{\xed\xb5\xd7\xce\xbb\ +\xf9\xe6\x9b\xb9\xfc\xf2\xcbY\xb6l\x19---<\xf9\ +\xe4\x93\xbej\xfd\x87\x7f\xf8\x07\x1ey\xe4\x11\x0c\xc3\xe0\ +\x86\x1bn`\xd3\xa6M\x8c\x8e\x8e\xfa\xae\xb0\xd7\x93\xa2\ +\xeb\xba\x7f\x0cG0\x18D\xd7u\xba\xbb\xbb\x97\x1d<\ +xp\xcb\x91\xdc\xe3\x91\xf6\x9f\xd9]]]\x97\xb7\xb6\ +\xb6^\x17\x0a\x858\xf3\xcc3\xf9\xc2\x17\xbe@4\x1a\ +\xa5\xb9\xb9\x99\xa9S\xa7RUU\xc5\x8c\x193\xa8\xa9\ +\xa9\xa1\xae\xae\x8eH$\x82\xeb\xba~\xa0\xb5r\xe5J\ +\x02\x81\x00\x0d\x0d\x0d\xc4\xe3q\x82\xc1 \xd1h\x94\xb1\ +\x81\xcdon\xdf\xbe\xfd\x9f\xb6o\xdf\xfe\x19\xe0+\xc7\ +[:\xc6\x831&\xa1\xca\x0b/\xbc\xc0%\x97\x5c\x82\ +\x10\x82{\xee\xb9\xc7?\x9fp\xc3\x86\x0d\x18\x86\xc1\x15\ +W\x5cA\x22\x91@\xd7u~\xf9\xcb_\xd2\xdd\xddM\ +\xa1P\xa0X,N89\xc7s\xedC\xa1\x90\xf4\xcb\ +\x91\x5c\xf7\x88\xdd\xc3\xa3:-Z\xd3\xb4\x80\x10\x82\x07\ +\x1f|\x90\x87\x1ez\xe8\x0f\xfe\xfd\xe0\xc1\x83\x7f\xd49\ +x\xab\x1b\xeb8\x0e\xbf\xfd\xedo\xbdIo\xbbr\xb9\ +\xdc\x7f\x02\xefX\xb6\x7f\xf8 \x0f>\xf8 w\xdf}\xb7\xef\ +\xba{A\xafw\xc2\x90\x97\xbe\x1eSo\xa2\xad\xad\xed\ +\x5c\xc7q\xf6\xd4\xd5\xd5%\x8e\xf4\x9e\x8e\xca\xc1\x0f\x85\ +B\xb1\xba\xba\xba\xcf\x85B!\x17\xb8*\x1c\x0e/>\ +\x1c\xbd\xefMz\xf0\xa6<{\x996\xcf\xdfO\xa7\xd3\ +kzzz\xde\xcf_~E\x16/^\x5c\xf0\xfaE\ +t]g\xe9\xd2\xa5\xec\xdb\xb7\xcfw\xc9\x0f\xc7}\xf5\ +\xf8\xb1\xed\xdb\xb7\xcf-\x14\x0a\xedGs#\xc7<8\ +\xaa\xb9\xb9\xf9\xe7MMM\xd7\x1e\xce\x5cs\x0f\x14\x8f\ +\xce\xae\xa9\xa9\xa1P(\x14[[[\xa3\xe3\xbe\x8f\xfe\ +\xfe\xfe\xbf4 \xc1\x96\x96\x96m\xf1x\x5c\xe4\xf3\xf9\ +Hcc\xe3\x09RJ\x0a\x85\xc2a\x8f\x90-\x14\x0a\ +\x98\xa6y\x9f\xeb\xbaV\xb9\x5c\xfe\x8f\xa1\xa1\xa1\xd1\xff\ ++\x80\x00\x81\xb1\xef\x09\x86B\xa1\xa5\x87\x1b\xd7xQ\ +{8\x1cNd2\x99]\xfc?\xb2\x82\xc1`m8\ +\x1c\xfeG\xd7u\x9d#`\x08d \x10H\x9e|\xf2\ +\xc9\xff\xf3\xc2\x0b/H\xde]\xef\xaew\xd7\xbb\xeb\xdd\ +\xf5\xeezw\xbd\xbb\xde]\xff\x8f\xad\xff\x03!\xf6p\ +\xa0\xc1\x03\x97\x85\x00\x00\x00\x00IEND\xaeB`\ +\x82\ +\x00\x00~\xd7\ +\xff\ +\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\ +\x01\x00\x00\xff\xdb\x00C\x00\x04\x02\x03\x03\x03\x02\x04\x03\ +\x03\x03\x04\x04\x04\x04\x05\x09\x06\x05\x05\x05\x05\x0b\x08\x08\ +\x06\x09\x0d\x0b\x0d\x0d\x0d\x0b\x0c\x0c\x0e\x10\x14\x11\x0e\x0f\ +\x13\x0f\x0c\x0c\x12\x18\x12\x13\x15\x16\x17\x17\x17\x0e\x11\x19\ +\x1b\x19\x16\x1a\x14\x16\x17\x16\xff\xdb\x00C\x01\x04\x04\x04\ +\x05\x05\x05\x0a\x06\x06\x0a\x16\x0f\x0c\x0f\x16\x16\x16\x16\x16\ +\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\ +\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\ +\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\x16\xff\xfe\x00\ +\x10Time for Lunch\xff\ +\xc0\x00\x11\x08\x02\x00\x02\x00\x03\x01\x22\x00\x02\x11\x01\x03\ +\x11\x01\xff\xc4\x00\x1b\x00\x00\x02\x03\x01\x01\x01\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x02\x03\x01\x04\x05\x00\x06\x08\xff\ +\xc4\x00D\x10\x00\x02\x01\x02\x04\x04\x04\x03\x07\x02\x04\x05\ +\x04\x01\x05\x01\x01\x02\x03\x00\x11\x04\x12!1\x05AQ\ +a\x13\x222qB\x81\x91\x14#R\xa1\xb1\xc1\xd1b\ +\xe1\x063r\xf0$C\x82\x92\xf1\x15Ss\xa2%4\ +5Tc\x93\xa3\xff\xc4\x00\x19\x01\x01\x01\x01\x01\x01\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x03\x04\x05\ +\xff\xc4\x00!\x11\x01\x01\x01\x00\x03\x01\x01\x01\x00\x03\x01\ +\x01\x00\x00\x00\x00\x00\x01\x11\x02!1A\x12Q\x222\ +aqB\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00?\ +\x00\xfas\xfc<\xe0\xa6#\x072g\x92\x16\xcc\xb9\xc5\ +\xcd\xbfZ\xb12\xca\xaa^\x17\xce\xa0z\x1f[\x0e\xd5\ +\x9f#\xb2\xc9\xf6\x98n\x1c\xa8\x0cGPt?:\xbd\ +\x82\xc5&)C\x0b\x09G\xa9:\xfbW\xca\x97\xe3\xd5\ +\x7f\xae\x86H\xa6\x8b5\x95\x18\x1b\x10O\xe9Dn\x0d\ +\x8d\xfe\xa6\xaaN\xf2a\x84\xb0\xe5\xf2Hn\x1a\x9b\x83\ +\x90\xcb\x85\xbbjP\xe5\xbfZtXo\x97\xa0\xa9\x0a\ +\x0d\xb5\x00\x93a\xae\xe6\x80\x9a\xe6\xf3D\xc8[-\xfd\ +'\xa1\xa8\x0dI\xd8\xb1\xa6!\x1c\xd40;\x83\xad\xe9\ +~s\x1a\x99J\x99-\xe6 \xef\xd0\xd0}\xe6k\xf4\ +\xfaT\x8d\xc3H\x22\x95\xf0\xb9\xf2\xe5o!\xd8Q\xba\ +F\xc7\xcf\x18\xbe\xf7ScY\xf8\xec\xdfk|\xdb\x93\ +z\xbb\x87\xb8\xc2G\x98\xdc\x90H=\xa9\x94\x9f\x11D\ +\x16\x8dB\xdfs\xcc\xfc\xe8\x89\x04RA\xa9V\x07K\ +\xfbS\xa0\xdc\xce\x08*\xda\x8a\xcb\xe2\x03\xc3\xc7J\x8a\ +l\x03m\xbdh\xc6\x0b8Q\xcc\xda\xb2\xb8\x8c\x82L\ +|\xae\xb7\xb1ntr\xf0\xc0\xeco{\x93\xce\x8b\x0d\ +'\x85\x88I\x00\x00\xab^\xf6\xabX<\x22\x18\x95\xe6\ +\x04\x97\xf4\xa86\xb0\xeaj1x\x03\x94\xbe\x1d\xf3\x00\ +.U\xb7\x1f\xcdg)\xd6\x932\xba\x87\x8d\xae\x8d\xa8\ +\xa5;\x00z\x9e\x95\x9d\xc3q\xde\x00\xf0\xa6\x1fvZ\ +\xc4sS\xd6\xb4\xbd:\x83p\xda\x86\x1c\xebr\xeb8\ +\x15\xb0\xf4\xefR\xa1lC*\xb0;\xdcW|\xbe\x94\ +$\xf7\x1fZ\x90\xd4B\xa3\xcb\x12\x0fk\xff\x005$\ +\xa9P\xa0\x00\x06\xc0\x0d\xa9W'\x9d\xbaiD\xa4\xfc\ +\xc5Z\x85\x1a\x90\xf76\xb5T\xe3\x99\x1b\x18\x12\ +./\xce\xd6\xfd\xa8\x93\xa5}T\xb8\x03z\xec\xca~\ +!K\xf8\x87j%\xbd\x0b\x13\xb9\x04\xec;nk\x9a\ +\x8a\xd4,9\xd4\x80G1\xbd\x060\xe6\xc0\xca\xed\x9b\ +:[\xce\xbb\x81\xad\xff\x00ja\xa8U\x0cY\x1a\xd9\ +dR\xa6\xf5\x12\x7f\xc3\xae5\x8d\xe4B\xc6E`\xca\ +-\x98X\xef\xde\xb4%[\x12\x1bMmX\x5c-\x12\ +>&`\x9dmsl\xc7MyV\xfc\x8b\x93\x10c\ +rX\x91tf\xdc\xf6\xa3\x87p_U\x9fCa\xa9\ +\xedCko\xb9\xab$\x03Ku\xa5i@Q\x90\x0a\ +ebt7R7S\xd4W\x05\xae\x22\xf5-I\xb6\ +\xedk~5\x1f\xa8\xe5C\xe2\xc4\x08P\xfe#\x1d\x95\ ++\x85\xd4\xdc\x13z% \x12B(b,X\x0dj\ +Ce/\x13\xa8\x8a@Y-\xc8\xfe\x95\x9a<\xad`\ +\xac\xec>\x1c\xa4\x0f\x995x\x12\x0d\xc6\xe2\xaaq\x04\ +d\x930'\xc3}F\xba\x03EQ\xc1\xb7\xbb\x06b\ +,H\x16\x00t\x02\xac\xf0\xd9\x15I\x85\x8e\x8e|\xbd\ +\x8dg\x83F\xadj%j\xc6\xb9\x1a\xd7\x0b\x83q\xca\ +\xab\xe1\xb1K\x22e\x93\xd6\x07\xab\xf1\x7fz1 ,\ +C\xe9m\x81\xad\xeb\x18\xa1\xc7\x11\x17\x1cLz\x19\x14\ +5\xba\x13V8,\xb7\x8d\xb0\xa7e\x05\x90\xfe\xb4\x9e\ +?(lLh-q\x18\xd7\x99\xbd\x17\x04\x04E4\ +\xa7se\x1dz\xd6?\xfak\xe2\xe3\x9a\x84\x01\x89B\ +M\x9fCBX^\xd7\xd7\xa5\x09n\x95\xa6A&&\ +1\x03\x86?|\x01Q\xa6\xe7\xad#\x86\xe1\x8c\x83\xc6\ +\x95\x88\x04\xd8-\xaeZ\x83\x8a\xa9\x13x\xc0\x8bJo\ +n\x95g\x0f/\x8d\x1a\xacJ\xd0\xaa\x8b3\xff\x00\x15\ +\x9fom|\x5cgU\xd6B\x16\xda\x05\x1a\x9f\xa5\x04\ +\x99\xe7P\xa6\xf1E\xbe\xbb\xb5\x02\x14\x8cZ!n\xad\ +\xf1\x1f\x9dq\x90\x03\xa97\xf6\xad\xeb#H\x9a1\xf7\ +\x13\x1e\xeb \xd0\xd1x\xae\x83\xfe\x22,\xa3\xf1\xa6\xd4\ +\xb5\x95v\xd4{\x8ab\xb8\xea\xba\xf2<\xeaFs\xd0\ +\xdc\x1d\x88\xe7R\x80\xad\xd0\x00\x5c\x1b\x12v_\x7f\xe2\ +\x94\x09Qh\xe6U^Kk\x95\xf64Hl\x81@\ +\xb2\x8b\x9bS\xa8\xdb\xc9\xcb\x10I\xfc,\xa3-\x03b\ +\x10>I\x94\xc4\xdd\xb5SBZ\xba@%\x89\xa3m\ +\xacH=-V\xa3\x1aED21\xba\x81}9\xd5\ +\x19\xe6\x97\x132\x85Q\xd1T\x1d\xaa\xd4f\xd8x\xd4\ +\x8f\xf9`\x10Ep\xc8\xa6\xe9\x1a!:\x5cQPb\ +\xc3(`\x1d\xf3\xb3hu\xda\xf5TH\xfe>C+\ +e$\xa9?\x95]\x8c\xfd\xea\xfb\x8a\xcc\x9c\xdaW\xff\ +\x00Q\xa2\xd3\x1d\xc3m\xf6\x93\x98\x5c\x05:u\xa5c\ +pF;\xe20\xacJ\x83|\xbc\xd6\xbb\x86\xb9\x18\xc5\ +_\xc42\x9f\xa5^\x85\xf2\xbd\xef\xd4\x1a\xcc\xee5U\ +\xa1\xe2\x90\xa2x8\xe9\x14\xc8y\xef\xcb\xe2\xa7`\xd3\ +&\x0e\xf9\x95\x83\xbd\xee\xa7Aa\xfd\xeb\x17\xfcI\xc3\ +\x8c\x0e1P\xa91\xc9|\xd67\xb1\xae\xe0\xd8\x99\xe1\ +\xe1\xb6\x8aB\xa1$\xb6R47\xd7Z\xcc\xe5e\xca\ +\xb3\xae\x9bn\xf6\xd1lhNk\xf9\xafz\xa0\x9cK\ +\x12\x18\x1f\x0e\x0f\xfb\x05\x13qLK\x10|8\x7f\xec\ +\x15\xaf\xd4\x18\xd3Cp\x0fZ+X\xd5|\x06&<\ +b\x15\x0b\xe1\xc8.r\x03pE4\xe7\xb5\x81\xd2\xb4\ +0sB\x93\x15.J\x95\xd2\xe0n(\xa2\x8d\xa2L\ +\xb1H\x1d\x7f\x03\x8b}\x0d\x04WS\xae\xa0\xfeT8\ +\xfc`\xc3\x1f\x0e4W\x92\xda\x96\xd4/j\x91\xe4\x82\ +\xac@*@\xf3)\xdc\x7fj5Fqp\x85\x87a\ +X\xd2q\x0cI\x95\x9f\xc4\xc8\xea\x97\x19t\x02\xda\xdb\ +\xfd\xf5\xa3\xc5bg2\x12\xd39\xb0\x07\xd5\xf3\xab\xf5\ +\x17\xe6\xb4q\xb8\x85\xc1\xc4Ky\xe4 \x80\xb7\xf4\xf2\ +\xd6\xb2\xf8r>'\x14\x91\x90<\xcd\xa9\xb5\x01\xbb\xef\ +}y_SZ\x9c\x1f\x0cp\xf0\x99\x9a\xf9\xdcYT\ +\xe9a\xd6\x8f\xf6\xa7\xc8\xb6\xe5s\x1c\xa2\xc3a\xedP\ +\x09\x0dplj\x06\xdb\x1f\xa5M\xbb7\xd2\xb6\xca\x8f\ +\x19\xc3\x02F*5\x16\xd9\xc0\x1e\x93\xd6\x83\x84\xe3\x15\ +A\x86fa\x1bzX\x8d\x14\xd6\x88;\x82\x0d\x98Y\ +\xae9VF;\x0c\xd8i\xb2\xda\xe8}'\xa8\xac\xde\ +\xae\xc6\xa7}5\x9dH\xb0\xb8 \xf3\x06\xe0\x8a\xebZ\ +\xb1\xf08\xa9\xb0\xc0\x04qnh\xfb\x1a\xbb\x17\x16\xc3\ +\xb8\x1e,EI:\xe5;U9A\x8bU#q\xdb\ +_\xf7\xfe\xf9P\xc5.\x1e`\x0cS)\xect4D\ +2\xee\x08'Z\xd0H6\xac\xfe8o\x8d_\xfe5\ +\xfd*\xfa\x02\xcc\x00\xdc\x9a\xcd\xe2\xb2,\xb8\xd3\x93P\ +\xa0(=mG/\x0c\xf5\x7f\x84\xa8^\x1c\x08\xbd\xdd\ +\xc9?/\xfc\xd3\xb1\x0b\x9e\x1cB\x87\xf4\xb6k[\x9f\ +J_\x0eB\x9c><\xc4\xf9\xae\xc0v\xd3\xf8\xa6\xb2\ +334L\x15\xddlA\xd8\xd6\xa7\x81\x9a\xa0X{\ +^\x8dEq\x8d\x94\x90E\x99|\xae\xbc\xd4\xd4\x81X\ +)\x14-r<\xba_\x99\xa2a\xa8S\xcfZ\x83P\ +-\x87\xbf\xd6\x81\xb5\xdf^\xc6\x98\xfb\xd4\x11ef\xcb\ +\x98\xa8\xbeQ\xce\xa3\x15x\xa6\x1c\xe2b\x13F\x01\x96\ +1f\x00\xea\xc3\x91\xab\x03\x12$h\x0b\xb1\x19r\x80\ +\xe0\xe9\xca\xd7\xe9\xd2\x83\x0d$\xf2D%\xcf\x0cw$\ +\x0f\xbb\xd6\xba|\x1e!\xf0L\xf0\xe4fk\xa9\xfa\xdf\ +J?\xec-\x19\x90\xac\x84\x11nc\xda\x82\xb3\xb8W\ +\x11\x950\x82,Jg\x11\xbeC}\xc0\xde\xb4\xe3\xc9\ +,bH[:\x1f\x91\x1e\xf4\xcb\xbe\x0b0\x04\x0a\x16\ +\x02\xd4\xc6h\xc7\xc4[\xba\xad\xc7\xd6\xa0\xa8\xb0 \x82\ +\x0e\xc7\xad@\xa2\x05\x08\xb51\x96\x84\x8bT\x90h]\ +\x16X\x8clm\xcc\x1e\x95\xcd\xa6\xa6\x87)'6\xa0\ +\xde\xf5\x15)P\xc7!F\xddM\xa8A\xe9W\xb1\x11\ +\x89\xd4\x5cY\xc6\xc7\xafj\xa2\xc0\xab\x15ab7\xac\ +Y\x8dJ\x90M>,I\xf4\xcb\xa8\xda\xe3qUo\ +]z4\xa7\x8f\xc8>\xd0\xb6\xd4xj\x01\x1b^\xd5\ +s\x87\x008T@\xf3f\xfd\xab3\x8a\xbb\xae\x1e,\ +J\x00B\xf9%\x16\xf5t\xbdh\xf0\xf9#n\x15\x1f\ +\x86I\x0a\xc7\x97Ze\xff\x00*>\x1a\xd6\xe5\xa1\xa8\ +\x0e\x08%\xae\x00\xde\x96\xcfn\xbfJ(\x88\xf2\x86\x1a\ +\xb4\x83\xf2\xb9\xfd\x85h%\xd5dp\xf3)'\xe1K\ +\xe8\xa3\xa5\x10`\x14(\x00\x01\xb0\x14\xbb\xeb]z\xba\ +C,m\xa5r0\xca)lm\xef\xca\xb8i\xa5Z\ +\x8e\x06\x89Z\x92\x0d\x12\xb5)eZ\x8c05]M\ +\x125L\x9f\x5c@$\xa6\xe0z\xf5\xff\x00\xeb\xfc\xd0\ +\x17*B\x8bgoH<\xbb\xd4\x82\x15\x02\x8fH\xff\ +\x00w\xa9\x08\x9b\x9b\xd4\x11\xde\x84=\xf6\xd6\xa0\xbd\xb7\ +#\xebR1H[\xb16\x0a\x09'\xa5c;\x8b\xeb\ +{\x9e\xd5\x7f\x1d.\x5c&PHi?!Yn\xc1\ +\x98\xef\xd0VyV\xb8\xc1\xe0d\xf0\xf1h\xcc5\x0c\ +4\xebZ9|\xe5\x17]mYN\x032\xdbB5\ +\xbdj\xc2VX\xf3\xa9\xf5\x8b6\xba\x8e\xbf\x90\xfc\xea\ +\xe2hdO\x1aB\xc5\xc0\x86\xd9\x00#\xd6:\x8a\xa7\ +/\x0c\xf00\xe5pe\xa5B\xd9\x9a\xfe\xa1\xa7J\xba\ +\xc71\xe9\xd2\xdc\xaa#,\xb2z\x8fcM\x92\x86;\ +\xa3\xa7\xad\x19}\xc5\xa8I\xb0\xbdox\xaeHV9\ +\xb9\xf9\x85\xff\x00Z\x5c\x98L\x14\xda\x98\x8cm\xf8\x90\ +\xfev\xac\xfe?\x87Y8Id\xc3\xe2\x04\xcb\xb87\ +\xb5la\xf1\x98LBf\x0f\xe0\xb70\xfb|\x8dR\ +\x9f\x86L\x83\xa7\xfe)\x9b\xc8u\x08\x83\x85F\xb1\xb0\x9d\ +\xdb3\xa9\xba\x0f\xad\x89\xf9U\xb6\x83\x0c\x14/\xd9\xe3\ +o(\xd5\xb5;Q/\x99H\xe6\xdeP}\xcd\xbf\x9a\ +\x97 \xb9#j\xdc\x923\xb4*\xb0+\x020\xd1)\ +\x1b\x10/M\xb9f$\x9b\x93K\x8f\xcc\xc4\x8e[S\ +)\x89\x1a\xe5\xa9\xb1\xae\x16\xe6k\x98\xd9I\xed\xa5)\ +\xd6\xa8:\xaeVP\xc3{\x11z\x9b-\xb6\xbfs\x5c\ +\xbb\x91\xc8T\x83h\xb6\xf0\x22?\xf4\xd4\x18\xb0\xcc|\ +\xf8HO\xfd4\xc0\xb6\xa8\x22\xf5bU\x93\x87\xe1\x1e\ +_\xba\xcd\x13[\xad\xc7\xf6\xa0d\xe28M\x98\xbcc\ +o\x89MZ7\x0d\x99E:76\x0c\xa4\x8b\xd1\x91\ +k*Lv%\x90\xa5\xd5/\xbeU\xb1\xaa\xca\x09k\ +\x0dI5\xb9,0K\xfed\x22\xfdWCA\x87\xc2\ +a\xe1\x93\xc4\x5c\xce\xc3`\xc0XQ\xf9\xa7N*\x11\ +U\x00\xb0U\x02\xdd+\x80\xa9\x00\x93s\xb9\xa3Qj\ +\xd8\x0c\xd8x\xe7\x00\xb1+\x22\x8b\x07Sb{\x1a\xa2\ +\xd1I\x1b\xb2L\xccYE\xc3m\x98u\xf7\xad 4\ +\xa9uW\xc8\x19C\x00\xd6\xb1\xe8\x7f\xf1U\xe3\xa2V\ +KXh\x05\xaa7\x15\xa3&\x16\x177\x19\x93\xdbQ\ +H\x93\x04\xc3\xd0\xe8}\xf4\xb5f\xf1\xa7T\x9cT)\ + \xdcU\x87\xc2\xce/x\xc9\x03\x98\xda\x97\xe1=\xfd\ +$w\x22\xb3\x94\xe9N\xa1sF\xa2\xc0y\xd7NG\ +\x7f\xce\xad\xe0\x98\xae\x0d,m\xe6o\xda\xaba\xe1\x97\ +\x13\x8a\x92e[F\xab\x91o\xa05qc\x11\xc2\xb1\ +\x83{^\xe7\xbd1Rx\x86\x14b\x90\x98\xc0YF\ +\xb6\x03G\xfe\xf5\x9d\x83\x90\xc3\x8b\x11\x9f\xf2\xd4^q\ +\xd7\xb5l\x00\xf9\x08\x8d\x82\xbf\x22k'\x1b\x1f\x87+\ +\x8c\x99K\xbec\xf4\x1f\xbd\xe8\xe5\xfdS\xf8\xd79\xd5\ +\x82\xa3\x10\xb6\xf2\xdbAjZ\x15q)Ke\x12y\ +l:\xd2p8\x94|\x11\x85\x9b,\x80dC\xd6\xfc\ +\xbfZ\xbb\xe1\xd9\x02F\xb9\x94m\x93Qz\xd4\xec*\ +\xc8r\xe9k\x93\xb5\x09N\xacj\xc1\x85\xefr\x8d~\ +\xcah\x1d\x0a\x9b\x10G\xb8\xa3\x11\x05\x05\xef\xb9\xeev\ +\xa8+M\x22\x81\x8e\xb4\x22\x8a\xd2\xe7\x84L\x08&\xce\ +=-\xd7\xb5<\xda\xd7\xa0a\xa5\xf9\xd4ef:\xb2\ +9V\xb8#{\xd0\x93W8\xa2f\x8cL7\x1eV\ +\xfd\xaa\x8b\x1b\x0a\xe7zn\x09TK\x14\xb0\x1d\x9d\x0f\ +\xc8\x8di_\xe1Y\xbe\xe9\xa1a\xe5g\xca;\x5cQ\ +\xc6\xc1#\x9aF\xf4\xa4d\x9e\xf5G\x81\xb6H\xd5\x94\ +\xf9\xbcqj\xcf\x96&\xe3\x1b\x1a\x82\xcc'\xc3\x007\ +rh\xa6S\xe3\xb2\x81\xf1\x1a\x01c/\x8a\x0f\x96!\ +\x95;\x9ef\xba23\xbfZ\x82u\xb0\xff\x00\xc5\x0d\ +\xeb\x97Fmw\xa9'\xda\xbb\x9dup\xde\xa4*\x90\ +j9T\xd3\x10\xd0\xd3\x03dB\xf6\xb9\x1a(\xeaN\ +\xd4\x90i\x80\xdaM\xae\x22\xd0wc\xfc\x0aRc\xfb\ +\xbb\x82\x09c\xbbnMH$\xea~@\xd0\x83z\x9a\ +\x90\x89\x07qR,\x06w\xb2\xa8\xde\x84\x15U.\xe6\ +\xca9\xd5<^ \xcc\xd6\x02\xc86\x14[\x83\x03\x89\ +\x93\xc6\x94\xb9\x03\xa0\x1d\x05!\x92\xcdu6\xa35\x04\ +\x8a\xc3e_\xcc\xb5g\x0d+\xc3,em\xacNM\ +\xc6\xf5]V\xee\x14jI\xb7\xbdLr\x07\xc4b\x82\ +j\x11\x15E\xba\x03D\xa9~<\x5c\x0f\xebVC\xdb\ +QOP\x1c^6W\x1d\x8dd\x0ab1\x06\xe0\xdb\ +\xda\xb59\x0cil\xda\xe9qaD\x06\x97\xa4a\xf1\ +\x80\x8c\xb3\xeb\xfd|\xfeud\xa8\xdcZ\xc4hF\x97\ +\xad\xb3\x5c\xb7\x07CcM\x129\xd4\xe5=\xca\x82i\ +,r\xdb\x98\xa9Wa\xa9\x1eSP\xc3s\xb1\x16&\ +\xc3\xa0\x16\x15\x22\x81[7\xa4|\xcd\x18\xbf6?A\ +Jt\x8f\x92H\x17\xf1=\xea\x09b\xd6\x1a\x8eu,\ +\xa0\xcb\x197%A5#z\x90\xb3\x05\xd0-\x16\xb7\ +\xd5\x8f\xca\x84m\x5c\x09\x02\xd7\x07\xde\x94\xe2\xa4\x9b\x96\ +\xa8(\xdb\x02*o\xad\x10\xd4\x8d\x0d\xc9\xe9Rr\xa8\ +U\xb5\x16\x8as;*)\x1b\xb1\xb5\x04\xf8\xa8 f\ +Me\x91wQ\xa0S\xd0\x9f\xda\xb3\xb1\x12\xc94\x85\ +\xdd\xd2\xe7\x90R@\xf9\xdcUn&\xceB@+f\ +\x07b\xa6\xf4\x8cw\x88\x90\x06\x8c\xb2\xeasZ\x83\x84\ +C|3\xb3\xb4\x85X\xf9G\xa7\xf4\xa7\xcb\x87q\x1b\ +\x08\xe5\xf2\x91\xaa\xb6\xa4S\xecJ\x8b\x8e!r\xcb\x15\ +\xcd\xbdk\xa7\xe5Vp\xe74!\x85\xf2\x9dErD\ +\x90\xc2-\xe6,u\xa6@\xb9p\xca\xa3\x935\xbd\xaf\ +T\xd4\xe1D\x05\xeb\x82\xd1(&\xf6\xd0mz\xd2H\ +[\x0b\xd4\x8e\xc0\x9e\xfbW\x05Q\xc8_\xa9\xd4\xd4\xee\ +ie\xda\xfe\x1f\xfe\xd5\xd7\xfb\xc4]\x8ebl{\x0f\ +\xefGk\x0d(^\xe6dQ\xba\xdc\xb5\xb9\x02*H\ +\xa8\x22\x8f'\xf5\x1f\xca\xa0\xa1\xe4~\xa2\xa4\x00\x0d\xe9\ +8\xecIE1+\x12\xe7C\xae\xd5en\x1bm}\ +\xeb9\x22\x95f\x0e\xf0;\x00nGZ\xcd\xff\x00\x86\ +\x1f\x02\xb2\xe1T5\xeeM\xcd\xeb\x88\xa3\x12\xac\xade\ +\xb8na\x86\xd5\x05:\xde\xa2V\xec@\xb0\xb6\xe6\x93\ +\x89\xc2\xfd\xa4\x12\x08\xf1SMF\x8e:\x1a\xb4\x16\xc2\ +\xc0\x0a\x122\xb6a}N\xb4bbH\x0a\xb5\x8d\xee\ +\xa7@\x16\xc0\x1bZ\xfdMD^=\xad\x11}9)\ +5\xbeX\x93r\x17\xe6\xa2\xa4;\x0fM\x97\xb8\x00~\ +\x95\x9f\xc1\xd6\x03<\xe0\x0c\xcf(\xbf\x22H\xa6a\xf1\ +\xf3\xc5\xe5s\xe2%\xad\x95\x8dk\xc8$-{\x86\x1d\ +\x1e\xc6\xdfZ\xcc\xe2\xf0*\x05\x964 1\xb3\x0e\x86\ +\xb3e\x9d\xc3.\xae\x12\xaf\x1a\xc8\x9e\x97\x17\x1d\xbbP\ +0\xa4\xf0\x96'\x0d$\x7f\x81\x81\x1e\xd4\xf76\x17\xa7\ +\xde\xd9\xa4\xbe\x8e\xbf3B\xe6\xf4\xc6\x16\xd4\xeeiF\ +\xa3\x09\xc7\xe9\x82=\xd8Vs\x5c\xe85&\xaeqw\ +\xb1HG\xc2.\xde\xe6\xa9b\xa7L\x14\x1e+\x1b\xca\ +\xeb\xf7Km\xbb\xd7>W\xb6\xa2\xaf\x1d\x9b\xc2\x85p\ +h\xd7k\xdeP\x0e\xe7\x90\xa3\xc3Db\x96\x08\x94]\ +\xa3!\x9d\xbb\x92\x0dg`\x95\xe7\xc6x\xb2\x02\xe1N\ +v\xef[\x5c1\x95\xf1\xf9\xdfQ\x18-o\xc4\xfc\xcf\ +\xcbj\xe7;\xbaj\xd3\xc8q9\xb2\x02\x88\xc6\xee\xe7\ +\x7faR\xcc,\x15E\x94\x0b\x01\xd2\x82\xe5\x9c\xb9\xe7\ +\xb5A5\xd7F\x08\xb5\x85\xcdp:w&\x80\xea@\ +<\xb55 \xd5\xab\x0c\x06\xa6\xf4\xbb\xd4\x83V\xac0\ +\x1a\x9b\xd0\x03\x5c\xc7\xc8mH66\xf3\x02>\xa6\xa3\ +\x0eO\x84bcw\x8d\x89:\xef~t1\x9c\xc4[\ +\x9dJ\x10Y\xa6\xe6\xf6\x0b\xfe\x91\xce\xa4`4Y\x95\ +\x10\xbc\x86\xca?:\x05\xb6\xb76\x00\x5c\x9e\x95K\x19\ +?\x8b-\x97\xd0\xbe\x9am\xc4|\xad\xe19\xf26\xdd\ +\x8dU\xd3\x99\x14.\x5c71\xd2\xad\xc5[\x0e2\xdc\ +0\xfa\xd1\x0bZ\xd5S\x09)\x9a\x1b1\xf3\xa0\xb6\xa7\ +qV\x86\x80\x03]\x18\xb0C\xb5M\xc2\xa9c\xb2\x8b\ +\xd4\x0aV9\x98a\xec\xa2\xe1\x8f\x98\xda\xa0l\x0d\x9e\ +\x1f\x14\xee\xe4\xdf\xb5\xb6\x14B\xa8\xe1\xa7\x96/*\xea\ +\xa7\xe1;V\x83\x03`v\xd3P)\x9d\x9a\xe0ju\ +\xa07\xb5\xaf\xad\x12\x85\x03\xaf\xb9\xa4\x08\x0b\xd3\x10\x12\ +\xac\x01\xb3[\xcao\xce\x81OsDF\x9b\x9f\xad1\ +1\xf1\x0a\xd0I\xe1\xce\xad\xab\x12\xb2\x01\xa1\xbe\xb6=\ +\x0d]\xc0`\x1d\x8a\xc9\x88\x5c\x89\xbd\xb9\xb5\x5c\x8f\xcc\ +\xb9\x5c\x93\xd6\xfa\xdb\xda\x8a\x16$4n\xc1\x9a3k\ +\xf5\x1c\xa8\x9ca\xd1F\xd7\x94 \x00(\x16\x00r\xa7\ +\x0d(\x10[[kF+q\x9a\x15H\xd5\x8b\x91`\ +5=\xab\x91m\x1a\x8bX\xda\xf6\xe9}i\x8c\xb7\x0a\ +\xa7bu\xee\x00\xbf\xebj\xe6\x1a\x9du\xa4\x16\xe3\xc8\ +z\xda\xa4\x0b\x00:W8\xf2\xdb\xae\x82\x8c\x81z\x92\ +\x02\xde\x88\x0bT\xd7T\x9c\xc4*\x96;(\xb9\xa8A\ +e\xd7\xd4uc\xd4\xd4M\xfeK\xdc\x5ce5&\xe0\ +\xdb\xa6\xf5$\xd4\x13j\x16\xbd\xea\x00&\xa4\xe3\xbdq\ +-\xc8\xfeu9M.P\xd2DR;\x00ws\xb7\ +\xb0\xebRU\xe2R\xa32\x847e\xdd\x87\xe9D\x98\ +\xd4\xca\x03\xa3\x16\xe7nt\xa90S/\xa4\x07\x03\xf0\ +\xd4p\xf4\x07\x17\xe6\xf8A65\xcfn\x95\xb5gq\ +u\x80\x01\xcb;\xd8\x9a\x0c\xe9\x98\xa4\x9fv\xdf\x85\xb9\ +\xd3\x8e\xa6\xe6\xb9\x80kfEkmq\xb5i\x00E\ +\xa6\x9f\x91\xa9)ng\xf2\xa9x\xe3e9\xa3]\xb7\ +\x02\xc4P\xc4\xd9\xe0F\xce=>k\x9aR\x0a\xeb\xea\ +4\xb9!W\x86D7b\xcaH\xbfZj\xb25\xc2\ +H\xacWp*P\x0c\xe3\xbe\x94\x16?\x0a9qL\ +\xa6\xded#^\xb5f\xe0\xc9\xa6\xc2\xa8\xc8L8\x9b\ +\x8b\x82\x8fqz\xbe\xb9Xg\x8c\xddH\xbd\xeb\x9c4\ +\x12R\x98\x84F\x91\xfd+\xaf\xbfjs\x8b\xd6o\x13\ +\x9c;xi\xe8S\xf5\xefE\xb9\x14!O\x8d\x8c\xcc\ +\xfa\xdc\x96>\xc3Z\xc1\xe2\x18\x891x\xb2\xe7[\x9b\ +(\xe89\x0a\xdb\xc3\xb0\x13\x1c\xc6\xc0\xa9\x1f\x95R\x8b\ +\x87M\x83f\xc4L\x97\x0am\x19\xe4OZ\xe3\xca[\ +\x1b\x82\xc2\xa1\xc3D\xaa\x06\xb1\x83$\x96\xeb\xc8U\xbe\ +\x10\xa0I>\x97)\x18[\xdf\xbe\xbf\x9dT\x04)\x8a\ +6\xf5Js\xb0\xe7\x94m\xf9\xd5\xae\x18$-:D\ +\xe3\xc4\xca\x0b\xb7%7\xda\x9e>\xaa\xb2\xc0\x8fP#\ +\xde\x84\xef@\x1ah\x0d\xb1\x0d\x9e6:8\xd6\xd4c\ +#\x1f,\xa8I\xd8f\xad\x00\x8b\x8b\xe9{\x9a\x91\xf4\ +\xa2de\x17*m\xd6\xa3B*(k\x01R\xa7\xad\ +D\xa6(UZ\x5c\xdem\x94oE\x04\xb1\xcfq\x1e\ +`G#\xce\xa0\x91n\xf5\xc4\x1256\xedS\xb5H\ +\xda\xb4\x10T\x88\x88]Y\xfc\x8b\xeei\xaen\xe6\xdb\ +\x00\x05@\x03\xc6N\xaa\x85\x80\xbf;\xefC#\xacQ\ +\xf8\x8d\xafA\xd6\xa4_\x10\x97\x22x*um[\xf8\ +\xaa`\x9a\xe7fw.\xc6\xe4\x9b\x93R9VkC\ +\x02\xa7\x95\x08:Q\x0d\xeb)\x04P\xb0`\xd7\xb5\xc0\ +\xa6\xd8t\xa8u\xb8\x22\xfb\xd3\x88\xef\x05\xf9!=\xc6\ +\xb5$\xac\x0c\x1aV\xb3\x0fJ\x0d\xc9\xac\xd7\x5cL\x1e\ +KH\x8c\xdb\x00w\xab\x98\x18N\x1d\xe7\ +\x95rjZ\xdf*\xeb\xf5\xe7\xbdM\xeaNQ\x94\x00\ +E\x8f^\xb5\x22\xba\xbb.\x9b\x9f\xad!1\xb9IC\ +\x8d\xc7:\xd2\x84\x89\x22\xce\x9a\x8b\xed\xccVQ66\ +:S \x91\xd1\xcbF\xc4Z\x99U\x8dKT\xa1\x00\ +\x12\xc7\xcbk\x9b\xf3\x15Iq\x92\x81b\x15\xbd\xc5A\ +\xc4\xcb#X\x90\x01\xd0\xe5\x00V\xb5\x9cX\xc2a\x85\ +\xbcV\x0drn\xa8>\x1e\x97\xa7\x15\xb1%\x9e\xc7\x9d\ +\xda\xb3VydFW\x91\x89\x89\xb2\x93\xd7\xa5@\xd7\ +[\xd1,X\xd4\x02\xfa\x06S\xff\x00P\xae`A\xda\ +\xb3\x056\x09\xe4\x8d\xb47\x1f\x84\xedO\xe9b\xfa\xd3\ +\x06\xd4\xb8\xd8:\x07]\x9b\xf2\xa6.\xd5\xa0 \x01\xde\ +\xa0i\xc4\xd4.\xc61q\xf2\xa2]\xaa \xb1\xe23\ +_p,\xbe\xd5\xa4\xb1\xa0RI\xb0\x1b\x93G\x1d\x9a\ +\xc5Ha\xd4\x1aN%Ka\xca\xdfB\xcb\x7f\xadH\ +\xc3\xc6\x8fe,\x17\x9a\xdfF\xa5\x91\xe6.\xf7C\xa6\ +\xc0\xf6\xbe\xff\x00\xef\xb5\x1eE\xb6\xda\xf5\xe7]\x1f\xa6\ +\xf6\xde\x8a\x94\x05\x8dCf\xd4\x9e\xf4Cz\x164J\ +t\xd6\xa4\x9a\xea\xeb\x8a\x1c\xc2\x94\xe9T\xb2\x15\x07^\ +U\xc0\xb1\x17h\xf5\xff\x00X\xa1,z\xd4f\xd6\x84\ +\x98\x9d\x1e\xfb\x02\x0e\xa0\x9d\xa8\xb3\x0byl\xdd\xf6\x1f\ +_\xe2\x80\xb2\x8f1\x03\xdf-\xeb\xb3\x12n\xdf.\xd5\ +!\x9b\x11\xad\xdf\xb5\xac\xbf\xef\xde\xf4.\xe6\xfe`-\ +\xd6\xf5\xd7\xbd\x0by\xc6P}\xcfJ\x92o\xad\x03\xa8\ +\xfbDrX\x5c\xddO}(\xc0\x00Xr\xa8'\xfe\ +*4\xe8\xa4\x9a\xaau\xaa@\xa3\xcbP\xc2\xc6\xa4\x5c\ +\xc8\xcd\x19U`\xb9\xb4$\xf4\xa4\xc7\x87\x857\x5c\xe7\ +\xabmV\x0d\x09\xd2\x8b\x09^\x16IC\xc4\xaa\x0d\xac\ +\xcb{\x5cQ3\x0c\xc0\x15t'k\xda\xc7\xe6*I\ +\xa8`\x0a\x95aph*|O\x04fc4c\xcd\ +o2\xdbSY*\xf3\xe1\xa5%KF\xdb\x11\xd2\xb7\ +F`\xc6'`@\x17Cm\xfbRx\x94i6\x19\ +\xdd\x96\xef\x18\xba\xd8z\x8fJ\xc7.;\xdc2\xa8\xcb\ +\x8eW\x87\xc1\xb8I\xd8\x02u\xdc\x7f5\x9d8*l\ +E\x88\xe5Y\xf8\xa9\x1d\xe5i\x09\xb3_\x97*\xbd\x04\ +\x87\x11\x82Y\x08\xf3)\xc8\xdd\xfaW\x1f\xd7\xe9\xbc\xc1\ +a 2\xbd\xce\x8a75|\xb9\x06\xc0\x0c\xbbe#\ +J\xe5\x8cC\x08\x8co\xbbw4'z\xdec,\xdf\ +\xf1\x07\x0e\xcf:\xe2\xa2\x94E\x1eP\xa7\xa8\xf6\xa6p\ +\x22\x829\xa1\x8c\x10\xa1os\xbb\x1b\xefW'\x8f\xc6\ +\xc2\xcb\x0d\xaeJ\xdd}\xc5e\xf0yD8\xd0\x1bi\ +\x01C\xafZ\xc5\x92r\xd3\xf1\xa2H\xcaT\x8b\xa9\xd0\ +\x8aP\x83\x0a?\xe4\x9f\xfb\xcd6E*\xc5H\xb5B\ +\x0b\xb0\x1dkU\x17\x88\xfb\x98\x0c\xb0\xb3&R\x01R\ +\xd7\x06\x811\x98r.\xca\xeaz\x0dA\xa1\xc5\xbb\xcf\ +)\xc3\xc2\x9a)\xd7\xa94qa\x22D\xfb\xe0]\x8f\ + l\x05\x1d\xefIY\xd9\xf1x\xbf(\xb6m\x85\xf6\ +\x14\xd9`l2\x89\x92K\xd8\xd8\xe9j`\xc3Eq\ +\xe13\xc6\xc0\xe8w\xae\xc7D\xde_\x1b\x13~\x8b`\ +\x09\xa3>\xa3\xa1\x94M\x00\x93.S{\x1a\x9b\xda\xa8\ +\xe08\xa6\x0f3aV\x1767R\xc6\xc4\x9ab\xf1\ +4\xccsa\x11\x11}D\xb1\xbd3\x94\xfe\xacZ\x9a\ +\xcb\x873\x92W\xc2 \x83\xfbULd\xad$\xd7a\ +k\x01\xa7J\xa9\x8d\xe3M\x89O\x0f\x09\x04j\x11\xae\ +\xaa\xe7\xd5\xdf^t/\xc5\x1d\x90\xc9\x16\x1a\x1c\xc3\xd6\ +\x18j\xa7\xb8\xac\xdep\xc9V*A\xe5I\xc0q\x11\ +\x89\xc4$2\xe1\xa3\x05\xcd\x8b.\x96\xf9S\xf2\x9f\x10\ +\xa2\x82M\xed\xa52\xcb\xe2\x12\xd1\xa8\xa7\xc1\x83\x00\x03\ +3[\xfaV\xadE\x1e\x1dv\x88\x1f\xf5\x1b\xd38\x8d\ +Q\x14h\x8c\xc2\xe0m\xb9\xab\x86\x08\x1e\xf6L\xa6\xc4\ +\xe8t\xdb\xa5gb\xa2\xc5b/\xe16t\x1b\x22\xe9\ +o\x956b\xd5\xec<\xb1J\xf3\x0c\xa1K\x1b\xc7\xdb\ +\xda\xa8\xc6\xcd\x98\xa9\xdc\x1a\xb3\xe2i\x1e\x1c\xc5\x95\xa2\ +m\x5c\x0eU]G\x9d\x18\x1b\xe6K\x93\xd6\x8a\xa0\xc5\ +\x10\xa8Z\x9a\x88\xb4\xb5\xedR7\xb6\x95\x0ahY\x19\ +\xd8\xb0\xd8\x9d)de\x14\x9b\x9b\xd7\x01\xc8\x0a\x88\x83\ +\xa9\xf3\x03o\xd2\x8cj47\xa5\x04\xae\xc3\xa9\xa2\x16\ +E\xcfm\x07\xa4u=\x05C\x0b.{\x85\x09\xa9'\ +\xa5p`\xe0J\xc4\xa9\x22\xc8\xbf\x84u\xf75'\x22\ +\xf8Q\xe5$f&\xec{\xd7f<\x87\xd6\xacC\x84\ +wP\xc6\xc8\xa7\x9bni\xc9\x84\x81F\xa5\x98\xfd)\ +\xca\xb5H\x13\xf8O\xca\xb9X\xb3\x10E\xb4\xab\xb2a\ +R\xc4\xc6\xc4\x11\xc8\xd5-L\x9a\x822\xe8oV%\ +\xae\x1f)V1\x9d\x9boz\xbd\x01\xba\xebX\xf9\xd8\ +?\x90lw\xad\xa5\xb1\x01\x80\xd0\x80E\xab\x5cE1\ +\x05\xcd\xaa\xb9\x97.=\xa6\xb1+\x9a\xd7\xb7*\xb5\x0f\ +\xa8w\xa1\x89\x8a\xc0\x97PW(\xfe\xf5\xb01\x22;\ +\xaa#\x06\xbf\x98\xf6\x03_\xd6\x8ck\xf3\xaa9\xbe\xcf\ +\x8b\xce\x05\xc1\x1b{\xd5\xd6`\xa0\x1e\xa0\x10)\x94%\ +Z\xea=\xa8\xaem\xbd-v\xb7M(\x81\xa4&\x88\ +\x11j\x1b\xd0\x96\xb5HLE\x094,\xff\x00*\x0c\ +\xe3k\x8f\xad\x1ap\xcb\xf7\xae,\x05)\x9a\xc3Z\x12\ +\xe4\xec>\xb4i\xc1\xca\xcdu\x03\xad\xeaskK]\ +\xfa\x93\xce\x88T\x86O\x97\xb5\xf54\xd4\x17\x00.\xdc\ +\xadB\x8aXX\x0b\xde\x80,\xda\xc5\x19\xd7b\xdf\x86\ +\x90\x99\xa7\x0a\x08\x89s\x11\xbbr\x14X$`\x8d,\ +\x9e\xb9?J\x88\xb0\x8c\x8b\xe6\x908\xbd\xec\x05\x81\xf7\ +\xa6\xc6|\xbb\x9b\x8ad\xbb\xda\x15\x03\xef\xbe\xd4gj\ +\x5c\x84\x09<\xc7K\x5cU@I\xb8\xb8\x04\xd03]\ +\x8a\xda\xdf:\xe9e\xb9\xb2}k\x88\x0a,>f\x83\ +\x11A#\x85[\xd4\xbbYI\xe9U\xee\xce\xf75\x9b\ +I\x81n\xa4\x1dX\x8b\xdf\xa1\xaax\xec@f@\x9b\ +/\xab\xdf\x9d[S\xf7\x83\xde\xb2\xb1\x0d|d\xebq\ +\x96\xf9\x94t\xbe\xf5\x9eW\xa3\x18\xdcj\x1f\x07\x18\xf6\ +[#\x1b\xafqE\xfe\x1c\x90\x0e!\xe1\xc8~\xed\x81\ +,:[\x9d^\xc5\xc2\xb8\xb8|\x22@u\xf4\x13\xfa\ +VV\x0dZ\x0e a\x95J\xb3\x02\xba\xf2\xbdp\xb3\ +9k\x7f\x1e\x8a`D\x876\xf4\xa3\xbdU\xc1\xe3\x8a\ +\x0f\x03\x11r\xb7\xd1\x8e\xebW\x19H \x8dA\xd8\x8e\ +u\xd3u\x90\x83\x95\x83\x0eU\x9d\xc5\xb0l\x926\x22\ +\x11x\x98\xdfO\x84\xd6\x8b)\x1a\x10Er\x12\xbbs\ +\xde\xfc\xe8\xb3T\xac\xfc\x169r\x88\xb17*6~\ +b\xad#\xc0\xd6)\x89\x8c\xdf]M\x88\xa8\xc4a0\ +\xb3\xfa\x94\xc4\xddPh~UVN\x16o\xf7X\x88\ +\xdb\xb3yh\xff\x00(W\xd7\xcc\x09Y\xa2\xb76\x0c\ +)\x12b\xb0HNi\xcb\x11\xc9S\x7f\x9dQ~\x1d\ +\x8bR\x09\x8b2\xdfR\xa6\xf5W\x1cx\x96\x1f\x10P\ +a~\xef\xe1\x1e\x1d\xc5\xa8\xbc\xac\xf8\xa4]\xc4qW\ +#&\x1a1\x10#V\xdd\xbe\xb5Q\xdd\x84\xb9\x14\xe7\ +\xc4\xb0\xccK\x1d\x10u4\x98\xb1,Ii\xf0\x91\x8c\ +\xbb\xe5&\xff\x00AT1\xd5\xd8\x13\x93\ +\x04\xad\xacb\xec\xcd\xd6\xdc\xa92\x9c\xc5p\xe8Ag\ + \xc9m@\x14\xeb\xac\x85\x93eq\x94v\x1c\xa9J\ +\x98\xb9\xd2F\x00*\xbe]\xd9\x86\xff\x00*Yfs\ +v7\xa5\xa0\x14\xc1XhB\xa4P\xd7|'\xda\xa4\ +3\xf8y\x9eB\x8f\x9d\x00\xd0\xd8h(\x97j`\xa2\ +\xe7PE\xcfz\xea\x95>`\x06\xa7\x90\x1b\xd2\x02\xaa\ +\xb2\xe2\x0c$\xb3\xacv9\x07\xc4\xd5\xa1\x87\xc3\xa4\x07\ +\xc5\x94\x03!\xe5\xc9j\xbc\x90}\x90}\xa8\x00%c\ +b\x06\xb9h\xf0\xb3O\x89>u@\xa3\x98\x16\xb53\ +\xaa\xaa\xcbH\xa4\xdc\xb1\xd7\x99\x15\xc4\x81\xb9\x1fZQ\ +Vg\x0aM\xc0\xfc\xaa|!\x9a\xf7\xb0\xe9K&\xd5\ +|r\x82L\x80\x00m\xafzp\x04h\x18\xfc\xeaU\ +A>}o\xa1\x1d\xaaL\xf1z\xd2\xe1m\x9b\x0c\xc2\ +\xf7(t\xf6\xac\xe90\xec\x98\x96A|\xbc\xb5\xb5\xe9\ +\xd8\x1c\xd0\xe2u\x07+\x0b\x1a\xb8\xf5Z\xadP\xc5A\ +=\x05\xc5\x14c-\xd0\xdb\xf1\x0f\xdc}\x7fZP\x0f\ +|\xadk_SE$\x81\x02;\x1b\x0c\xc5I\xecE\ +td\xae'\x1d\xd26Ro\xaa\xfc\xea\xc3\x00\xa7(\ +\xdc\x00\x09\xf9P\x0c\xb3H\x1a\xf7\x8e=\x8f&4N\ +u&\xa4\x90m\x5c\x1a\x80\x1a\xea\x92X\x96\xbd\xc9\x02\ +\xfbP\xb5\xed\xebo\xad@>Q\xdcW\x1a\x90lO\ +\xa8\xde\xd5$\x0e\x82\xba\xf5\x0chH \x03\xa5u\xea\ +*T\x5c\xda\x84%7\x15\x18\xccJ\xe1\x80E\x01\xe5\ +\x22\xf6; \xeak\x95\xd4\x11\x93\xef\x09<\x81\xb0\xf9\ +\xd6\x5c\xce\xcf3\xb3\x1b\xb31,z\x9a\xad\xc8\xa2\xcb\ +b\xf12\x8b>%\xb2\xfe\x18\xd7-\xe8\xb0\xb8\x89b\ +#\xc3b\x007\xb7Z\xab\x1dY\xc1Fe\x9dcQ\ +\xab\x1bQ\xde\x9a\xdd'\xee\xc3\x81\xba\x83j\x15M/\ +}N\xa6\x9c@\xd8l\x05\x85\x01\x16:m\xd2\xbb\xb0\ +[\xf9T\x9bl/Kh\xc1\xf5jz\xd3$\x04\xe8\ +N\x9d\x05A\xd3Z*!\xa2PAQ\xa8\xeb@\xf9\ +\xb7\x16\x14\xe6\xa5=f\x98S\x82}v\xf6\x14\x04\xd3\ +\x1c\xd2\x98\xd6iFb\x1a\xfd+7\x8a/\x83/\x8e\ +o\xb8Ry2\x9a\xd0\xaa\xdcMZT\x11x%\xd2\ +\xd7$u\xac_\x0cP\x93F mC<)\x8c\x8c\ +$\xa1\x83)\xf2\xc8\xa3Q\xefD\xe2d\x16C\x13\x90\ +,3\x8b\x11U'N\x22\xe4\xdcHG\xf4\x9f\xe2\xb9\ +\xd6\x88\xc4\x1cF\x1d\x8a\xe2b\xf1Ph$\x1b\xfdi\ +\xf8>'\x04p\x18\xb3\xba\x03\xb1a|\xbf:\x94\xc1\ +\xe2\xda/\xbe%T\xf2`I4\xb1\xc3\xb0\xef\x7f\x0a\ +D'\x98\x91\x8a[\xf5\xac\xf7<=5\xb0\xc6)0\ +\xaa\xd1\xe2RK^\xe6\xfa\xd7\x1c\x9c\xe4O\xfb\xab\xcf\ +bp\xf8\x9c\x0c\x99\xd6\xe8/\xa3+\xdc\x1f\xca\x8a>\ +-6\xd8\x80\xb3/2V\xcd\xf5\xa7\xf7>\x8cn\xbf\ +\x87k\xf8\xd1\xe9\xfdT\x99$\x85uiG\xfd:\xd5\ +($\xc3b\x85\xb0\xf2\x15{_\xc3}?:\x19\x94\ +\xa9\xb3\x0b\x11M\xe5\xd2\xc5\xa6\xc5\xc2\x86\xe8\xae\xc7\xbe\ +\x82\x82n!$\xa9\xe1\x95\xca\x84X\x8c\xc4\xfe\xb5P\ +\xd4V?T\x86L4\xa4\xfd\xd6:\xea\x0e\xceJ\xda\ +\x974\x18\xd4\x5c\xca\xe92\x0d\xf6 \x8e\xf7\xa7W+\ +\x14`T\xd8\xd1\x90\xeb5\x22\x84\xc8d\xc3\x01\x0c\x84\ +\x1c\xd1\x1fD\x9e\xdd\x0dV\xc4\xc7\x97\x12cA\xec\x08\ +\xd6\xb6q\x18\x13\x8b\x9d\x1a\x01\x95\x9fW\xe8+Qp\ +\xf8h\xe1\x10\x01\xaa\x8b\x09@\xd5M\x13\x86\xady\xdc\ +&\x0f\xc3\x0b.$X\x9dU9\x9fz\xbe\xb3\xc4\x8c\ +\xa9;dY\xd0Y\xc0\xd8\x82w\xfa\xd0c\xf0\xd2\xe1\ +\xe6\xb4\x870mC\xfe*V+\x0e\xf8\x98bX\x99\ +<\x80\xdf3X\xd1\xe7\x8b\xd6\xa6\x0b\x08\xe6p\xe5\xbc\ +\x8bf\x0c\xba\xde\xaef\x0f;*\x87v\xbf\x9b(\x00\ +/\xcc\xd6?\x0a3Y\xf4\x01\x01\x1c\x86\x99\xab\ +\x11\xa3J\x84\x17\x91\x85\xb9e \x93\xec+\xacJ\x12\ +0\xb3\xda\xdb\xdcT\x09[\x93(\xee\x00\x15\xd7\xb9\xb9\ +7\xfc\xe9\x06\xd9\xef\xe5\x855\xe4\xf2X\xd4H\xd9\x06\ +f\xc3N\x07[\x83@\xb7\xb0\x06\xa5K\x03qqJ\ +\xc0}\xa8\xb7\x97\x0d\x03\xbbuaz\xbf\xc3\x9a5\x16\ +\x95DS0\xbd\x8e\xdf\xf9\xa8\xe1\xea\xce\xc5\xdf\xd2\xbc\ +\x86\x975fx\xa3\x9cZT\xb9\xea45\xa9/\xa2\ +\xd0\xca\xab\x88!3^4\xd5\xcf\xe2=\x05\x1a\xe82\ +\x8d\x14l\x06\xc2\xb8!H\xc2 \xb2\x8d\xaf]f:\ +\x11a\xce\x96Q\x1f\xa3\xe7D\x05H\x15\xd6\xa98T\ +\xaa\xdc\xf4\x00\x5c\x9e\x82\x88!\x22\xf6\xd3\xa9\xaa\xdcG\ +\x12\x91Da\x8d\x83;\x8b1\x07\xd2)\xeaz\x99\x7f\ +\xe29\xde\x5cDo\x1b\x11\x1b\x0c\xaa:Z\x91\xc3\xb1\ +r\xe1\xa5\xf5\x96F\xf5\x03\xaf:,Y\xcf\x85\x0dc\ +\xf7l\x0f\xd7J\xaa\xbe\xabt\xae6\xf7\xad\xe3\xd9B\ +\xe2X\x04\x8b\xb7\xed\xca\xa2d\x12\xc2c&\xda\x82\x0d\ +f\x7f\x87\xb16\xc2\x80\x7f\xe5\xb1V\x17\xe4y\xd6\xa9\ +\xecn\x0e\xc6\xbd\x12\xeca+e\x01WE]\xab\x98\ +\xde\xa2\xba\x94\xea\xe1\xb8\xae\xae\xa9\x05=\x03\xda\xa1\x88\ +\x02\xa2C\x96\xe7\x91\xde\x96\x5cocn\xb4j\x135\ +\xea/C{\xed\xadp\xa1\x08\x7fs@\x5c\xca\xb9\x22\ +F*M\x99\xf9Z\x8bB\xac\xa4\x8f0\x22\x81\xa6\x8e\ +\x1c\x22\xc8\xdb\x81`\xbd\xeaI\xc7bW\x0d\x0eU>\ +r,\x8b\xd0u\xac\xe4k\xebI\x9eW\x9ac#\x9b\ +\x93MH\xe4E\x0c\xc8\xc0u\x22\xb1\xfa\xda\xd6a\xa9\ +\xbdnp|?\x81\x17\x88\xe3\xef\x1fn\xc2\xb0\xe1\xb6\ +q}\xaf\xadzS\xea\x1d,-\xf4\xae\x9c'l\xf2\ +0\x1d*\x0dJT\x91]Y)\xc5\x03\xfai\xac)\ +l9QQGz\x5c\x83\xa9\x03\xdc\x8a)\xdf\xc2\x89\ +\xa4<\xb6\xf7\xac\xa4\xbc\xd8\x91\x9c\x17\xccu\xb5c\x95\ +1y\xd7K\xddm\xfe\xa1I%N\xc77\xfa\x05\xff\ +\x00=\xa8\xcaF\x86\xe9\x1a-\xb9\xda\x85\x89;\x92h\ + !\xef\xea\x11\x8e\xdef\xfe(H\xb17y\x1b\xdc\ +\x81\xfbQ1\xa0cY\xa8\xb3\x06\x1b5\xfc\x22O;\ +\xb5B\xbcq\xe9\x1a\xe4\xf6\x1a\xd4\xb1\xa0&\x82#;\ +o\xe2=\xfd\xcd\x04\x92\x17[\x00\xbe\xf9\x05N\x9d?\ +*\x06\x00\xf2\xb7\xb5E\xca\xea\x17!\x8a6^a\x96\ +\xa9q\x0c\x0c\x0e\x9e&\x1f\x07\x11\xfcH\x14\xdcw\xab\ +z\xdb\xad@$\x1b\x8b\x82:Qd\xa9\x84\xcb\x00$\ +\x1c2\x0e\xb6\xb8\x22\xb4p\x03\x0f\x89\x83+\x02d]\ +\x02\x97\xd6\xdfJ\xb3\x89\x86\x1c@\x1e4va\xf1-\ +\x81\xaar\xf0\xdb11b\x00<\x83\x0b~u\xcf\xf3\ +eka\xcd\x86\xc3)\xb3@\xe0\x8e\xaeiX\x98p\ +\x91.b\x18_a{\xd4\x88\xf8\xbcc,r\x19\x07\ +\xf4\xb0kP\xcb>5|\x98\x8c\x1e}9-\xbfJ\ +z\xfe\x01a\xa3\xc2K\x19a\x1b\x12\xbb\xdd\xadN\x8d\ +c\x12\x00\xb0\xc6\xba\xda\xe0kUc\xe2\x10D26\ +\x19\x96\xfe\xa0\x0d\xa8\xcf\x11\xc1^\xf9'\xfa\x8a\xb6!\ +\xc4\xa03\xceE\x99\xd8\x81\xfd iR\x8a\xcc\xc0\x0d\ +I\xa0\x18\xec&c\xe4\x93+\xea\xb7al\xdd;^\ +\xaab\xf8\x94\x85Z(\xa2\x10\x83\xa1\xebF\xc8\x85\xc6\ +\xa6\x8d\x82@\x871\x8c\x9c\xcd\xcb\xda\xa9(\xa1\x07Z\ +5:W=\xde\xda\xc4\x93j\xe4b\xae\x19M\x88\xd8\ +\xd7\x1a\x8euD\xdd\xc3M\xf6\x9c\x1aLO\x9cy_\ +\xdf\xad\x1a\x9a\xce\xe0\xb8\x85\x8eF\x86V\xb4r\x0d\xfa\ +\x1eF\xb4\x8a\x95k\x1a\xed\xc6\xecf\xa5\x9f\xc3\x85\xe5\ +\xe6\xa3Oz\xce\x04\x93s\xa95w\x19\xff\x00\xed\xf2\ +\x7f\xa9k?R\xb6\x1b\xde\xaeJ,F\xaaP\xeb\x9a\ +1\xff\x00\xfd\x0f\xf1\xfa\xd11,\xd7cD\xe1\xcb\xf9\ +\xc5\x8fKZ\xd59hA\x17\xe5\xa5M\x8f;\x9a \ +\xbdh\x82\xd3\x8bB\xa2\x8a\xd4@W\x01H^\xc1\xae\ +\x5c*\xdb\xe2$\xd3\x00:\xd8km/\xd6\x87\x00s\ +a\xb2\xde\xe5\x0e\xdd\xa8\xe5\x0c\x19U\x05\xdc\xec\xbf\xb9\ +\xad\xb2\xab\x84\x5cD\xa5\x9b\xc6ePu7\xe7V\x82\ +\xb8\xf8\x8c\xab\xce\xfa0\xfeh\xa0\x87\xc2\x84%\xeeI\ +\xbb{\xd1\xaa\xda\x99\x10\x14\x06\x17S{n-b=\ +\xe8q2\xc7\x86\x8c3\x82\xcc\xde\x95\x15`\xda\xe1\xc8\ +\xdbF=\x8f\xf0j\x97\x1eShM\xb4\x00\x8f\xce\xab\ +\xd4J8\xbcD\xb3\xb9,H^J6\x15Vk\x86\ +\x03\x91\xa6\xb6\xf42\x8c\xc9\xa6\xe0\xd7+\xdbc+\x9a\ +9\x13|\xc8l+21j\xd6\xc3\xa4\x84$\x99\x18\ +\xaf3j\xcd\x992L\xeb\xd1\x88\xac\xf2\x89w\x807\ +\xdf\xc9\x17\xfe\xe2~cQ[8,F\x82)-o\ +\x84\xf4\xaf=\xc3\xa4\xf0\xb1\xd1Im\x98V\xcc\xca\x15\ +\xca\x8eF\xbap\xbd\x0a\xd2 \x8f\xe6\xa2\xb3\xe2\x9aX\ +\xfd\x0e@\xe9N\x18\xd9\x00\xf3\x227\xca\xd5\xd3\xf5\x19\ +\xc5\xaa\x83\xb5W\x18\xddu\x85~D\xd7\x1cbi\xf7\ +G\xbf\x9a\xad\x8b\x0c}\xe8\x0d)\xf1\x84\xe8\xb0\xaf\xd4\ +\x9aS\xe3\xa4\x07A\x18\xed\x96\x8d\x87\x0f\xc8;\xfdj\ +B\xad\xf6\xaa\x9fl\x97\xf1\xaf\xd0Q.2A\xba\xa3\ +\x0fj6,[\x05cF\x91\xb4T\x17\xf7\xac\x8cL\ +\xad,\xcd-\xaf}\xd0s\x1d\xbb\xd6\x9ab \x91\x1a\ +9\x03(u\xb1\xe9Y\x93\xc4b\x90\xad\xee\xa7\xd2z\ +\xd6y\x18\xb1\xc2p\xcb,\xa6V\xf3F\x9a\xfb\x9e\x95\ +\xab\x9f0*\xe02\x9f\x84\xedY<;\x10\xd0\xc8\xc0\ +e\xcb&\xe0\xecOz\xd5K2\x07_I\xfc\x8fJ\ +\xd7\x0f\x05Q\xc7A\xe0J\x0a\xff\x00\x96\xfa\xafn\xd5\ +\xb1\x80\x98O\x83G\xbe\xaa2\xb5R\xc7(l\x03\xdf\ +\xe1!\x85\x07\xf8~R'xN\xce\xb7\x1e\xe2\xb5:\ +\xa2\xf8\xd8\x8d\xb5\xb1\xa6\x83\xa5W\x06\xfa\xd3\x11\xb4\xae\ +\xac\x8d\xe9/\xbd0\x9b\xd0\xb6\xbaT\x95\xf1h\x1e\x02\ +\xa4hY\x7fZQE@B\x22\xa8\xec*\xcc\x80\x98\ +\xd8\x0d\xedq\xdf\x9d-\xc0:\x8d\x8e\xa2\xb1aU\x90\ +ij[iV\x1du\xa4\xc8\xa4Vi%\xa8\x1fJ\ +a\x14\xb7\x15\x84[\x9dhh\xce\xf5\x0c*2\x80\xef\ +C\xa5\xe8\x88\xd2\x84\xd4Phk\x89\xa8\xbd\x1a\x93B\ +\xdbWr\xa8k\x05,\xcc\xaa\xa3\x994 \x10/\xb5\ +Hi\x14Ydp;5Fh\x7f\xf7\xd0{\xd12\ +\x90;u\x07J\x93\xbcW\x1b\x90}\xd4\x1f\xda\x93$\ +xi.$\xc3G\xee\x83)\xa3a\xce\x85\xa8\xa6\x14\ +\xd8L\x13#(Y\x10\x1d\xfc\xc1\x81\xf9P\xae\x0b\x09\ +uR\xf2\xca>\x1c\xda\x11\xfd4\xebP\xca\xa4\x02\x14\ +}\xe3\x8f \xef\xd6\xb3\x90\x99\x19H\x85\xa1\x85#\xe5\ +\xe9\xb9\xa3\xce$\x19e\x8e7\x1d\x0a\x8f\xda\x97#\x03\ +&\xfa\xf3\xf7\xa9C\xad\x86\xf5\xa0\xa7\xc5p\x89\x08Y\ +\xa1-\xe1\xb97\x07\xe1=*\x90\xadN5*\xc7\x85\ +\x18`\xc0\xbb6g\x03\x90\xe5YC87\xbe\x9d\xab\ +\x9f94\xc3-\xa5Z\xc3q\x0cLJ\x130t\x02\ +\xc1\x5c\x5c\x0a\xa6\xcc.2\xde\xe3\xad\x19:_)\x17\ +\xa2t\xbdk\xc5\x8a\x87\x17\x87\x920\x9e\x1c\x85}7\ +\xd0\xfbUX\xe3fl\x80k\xfaR8ya\x89\x89\ +\x81\xd4\xb8\xd6\xb5\xf1P\x09\x99\xd6\x18\xec\xaa|\xe8>\ +=4\x1e\xdd\xab\xa4\xff\x00(<^l\xad\xe4\x91\x03\ +\x0e\xa7zT\xd8 |\xd0\xb5\xff\x00\xa4\xefV\x05\x88\ +-\x96\xc6\xe4\x10w\x16\xa9\xb7=/]q\x86k#\ +#e`A\x1b\x83Qj\xd2\x9d\x12X\xfc\xe8s[\ +F\xb6\xd5\x9f0h\xc9R<\xc3KVlj\x22\xa4\ +\x0a\x08\xcb\xde\xe7_z`d\x04)\x0e\xccu\x08\xa3\ +Z\x91\x98gh\x982\x9bf`\xbf\xef\xe5Z>\x81\ +h\xc5\xc1\xd776\xeek2\xc78g\x00e\xf4 \ +7\xd7\xa9\xabX\x09\xf4\xf0\xa4:|$\xf2\xadq\xa2\ +\xac\x80H\xe9]b\x07Z;[C][\x08\x16#\ +]T\x8b\x1aF\x22)\xe6\x84\xc2\x02\xb8\x02\xea\xd7\xb1\ +'\xa5?(\xde\xd5\x0c\x0a\xea\x9a\x1d\xedEL\x09K\ +G\x7f\xf8iI\x1c\x88\xfe+\x94\x87\x85d\x00\x8b\xe8\ +GB+_\x88a\x9aq\xe2\xc1\xfeg\xc4/\xbfq\ +TW\x0f+L\x10\xc6G\x8b\xdb\x98\xfeG\xe9\x5c\xef\ +\x1c\xadJ\xd2\xc2\x1f\x0f\x86!Q\xb4E\x88\xeb\xad`\ +q\xa8\xc0\xc5x\xaa4p\x09\xf7\xb5z\x0cS*\xe0\ +\xce]\xb2\x84QY\xfck\x0c\x17\xc2K\x82d\x8c\xe5\ +'\xad\xf4\xfe)\xe76\x08\xc4\xad\xd5\x7f\x17\x0f\x14\xa3\ +\xe2@\x0f\xb8\xacG_.p\x08\x04\x90A\xf8O1\ +Z| \x93\xc3\x98\x1f\x86M>\x95\x8e>\xe3Ua\ +E\xc8\x02\xa4\xa9\xcb}\x0d\xba\x1b\xd0H\xc50\xee\xe3\ +p,>u!\x12(\xe3\x91\x17\xd3l\xdf\xd4\x0dl\ +:\xb9\xb4\x15,2\xb1\x1d*\x18\x12E\xada\xca\xf5\ +\x00\x156\xd7Z\x19\x0a\xc7\x11v\x07(6\xd0S\x09\ +l\xd9B\xeb\xefC2\x13\x86\x931\xbf\x97kTA\ +\x19I\x14\xb4l\x0d\xb7\x16\xd4We\xe9J\xc1\xe1\xa4\ +\xc8%IB\x13\xe9\x16\xde\xacD\xfe `\xcb\x96D\ +\xf5/\xefD\xff\x00\xa8 u\x15$\x02,E\xc5\x16\ +\x95\x1fZQ\x7fgf\x04\xa0\xcc-\xa8\x1b\xd1\xe0\xb1\ +r\xe1\x9f,we\xb8\xcf\x13|^\xdd\x0d\x1c24\ +R\x07M\xc5\x5c\x9e\x1c>.!)\x05[\x9b//\ +z\xa4\xfe-Q\xe2\x1c`>Xc\x8c\x04'\xef\x05\ +\x8d\xea\xd7\x03\x8f6)gCx\xd0^\xff\x00\xb5J\ +p\x9c7\xda\x04\xcd;\x16\x03_.\xe7\xad\x5c\x8a5\ +\x89m\x0e\x97\xd4\x92=^\xe2\xb5%\xdd\xa2\xe7\xc5\x85\ +$S\x01\xb8\xa4#f!m\x95\xed\xe9\xeb\xdcu\xa3\ +\x0dc\xa9\xb5t`\xca\xeb\xd7\x02\x0dV\x9b\x14\xd1J\ +\xc8\xf1\x03m\x88;\xd5n%\x9b\xebB\xe2\xdee\x17\ +\xe6Ts\xf6\xefA\x87\xc4G0\xb0\xf2\xb7\xe1<\xe8\ +\xf3kV\xea)\x80oM\xc8;\x11H\x11\xda\xf9\x97\ +\xe7V%\xba\x13,jH\xf8\xd0~\xa2\xa1\xca\x90\x19\ +He;\x11\xce\x8b\x0cT\x91-\xb5-\x94\xf2\xb5Z\ +u\x06\x94\xc9X\xb0\xab2\x91\xc8|\x8d\x03\xe6\x03\xd2\ +j\xc3-\xa8mYJ\xb9\x81\xedB\xe5m\xbd\x14\xb1\ +\x95k[J\xe0\x05\xb6\x154C\xb0\x1dj\x01\xb8\xb8\ +\xd0Q\xca\x97:iKTe;\xdcVjI\x02\xdb\ +_\xde\x86P\x81\xa2v\x00\x05r\x09\xe9qDv\xae\ +\xd0\x82\xad\xaa\xb0\xb1\x15 \xc8[5\x9cf\x1c\xc1\xd6\ +\x80\x8f\x08\xf8\x90j\xa7\xd7\x1f\xf1D\x97\xcf\xe0\xbe\xac\ +\xa2\xea\xdf\x8cT\xae\x8c\x0e\x97\x15\x17+$\xa9\x9e2\ +H\xe6\x08\xda\x84\xadtQ\x04\xc4M\x97Eu\x0c\xa0\ +\x1e\xf5$tcB'\x15+@\xea\x88\x80\x16\xb7\x9d\ +\x85\xc51b`\xe5T4\x926\xef\xcc\xfbv\xa9\x0c\ +\x1a<\xb2\x00P\xee\x0dT\xe3\x12\xcd\x87\x850\xb8|\ +Y\x8dYs\x12E\xcd\x8d\x17\xae\xd2\xd4\x91\x88\x96\xf3\ +\xba\xc6\xbd\xcd\xefUf\xe2I\x1d\xd7\x0a\xa4\x9bz\xdf\ +\x97\xb5P\x88\xb1\xf2\xac\xcc\xe3\xf0\xcctoc\xca\xad\ +\xe18x\x95\x81\x934\x00\x9d\x15\xacK{Vv\xdf\ +\x0a\xb2\xe6\x91\xafb\xceN\xbc\xcd^\xc3p\xc9\x993\ +J\xcb\x08#L\xda\x93\xf2\xab\xf8h\xe2\xc3\x8c\x98h\ +\x80nn\xda\xb7\xf6\xaeyaV9\xe5$\x8d\xca\xae\ +k|\xe9\x9c'\xd1\xaa\x91\xf0`\xe4\x01\x8cK\x9d\x00\ +\xc8u\xaa3\x06\x8eF\x8d\xacr\x92/\xd6\xb7\xf0\xcd\ +\x1eQ\x88\x0dx\xd2\xecI\x16\xda\xb1\x1cx\xd2\xb1\x03\ +\xd6\xd7\x03\xde\x9e\x5cd\xf1Jw\x02\x84\xcb\x8d\x0c}\ +\x11\xf9\x9e\xb7 \x8c\x04\x90\xa9\xd5\xa4\xd7\xb5\xa98\x5c\ +2\xe10\x8b\x11\xf5\xb6\xb2i\xf9U\xc4\x06\xf9\x94\x8b\ +\x91b\x1bf\xe9\xeck|x\xe4\xc6mB\x92T\x16\ +>f%\x9b\xb5\xff\x00\xd8\xa9\x06\x93\x01\xcf\x96U\x1e\ +R\xa3\xf4\xb56\xb4\x04\x0dt\xa8&\x8f!\xb6a\xe9\ +n\x86\x86\xf5 \xd2\x99\xec\x0a\xb1\x07qRO\xfcK\ +\x8d\x8f\x82\xb6\xfa\xd5\xae \x83\xc38\x83\xb2\x0f8\xeb\ +X\xf1N\xff\x00k8\x86BU\xae\x0e\x9aZ\xb1z\ +j.\x8a5\xa1L\xae\x99\xa3`\xcb\xfaQ\x8e\x94\xa6\ +\x86\x0ao\x16<\xacFu\x1aw\x14\xda\xce\x81\xccr\ +\x87\x07cZL<\xdalu\x15\xb9Y\xa9\xa8\x22\xa4\ +m\x5ciE\x95*n\xbfO\xe2\xa6\xe5\xd3)sf\ +\xd8\xf4=h\x88\xa0e \xdd4=:\xd4\x95\xe3I\ +e\xc4*J\xbeUbI\xb6\xfa\xd4\x7f\x88\xd4\xb6\x06\ +9G\xc2\xf6=\xaa\xccW\x08\x01\xb8\xae\xc6(|\x04\ +\x88\xcbq\xa1\xac\xe7I\x82\xf8Id\x8f\xed\x09\x189\ +\xc7\xde\xa0\xdd\xba0\xefV\xb0\x91x\x185\x8c\x9b\xb3\ +\x9c\xe7\xf6\xa6f!\x81]-\xa5\xab\xac\x02\x15\x1b)\ +\xba\xff\x00\xa4\xff\x00\xb3X\x93\x1a\xd7\x05\x0e\x8c\x8cl\ +\x18Z\xfd*\xa3bLp\x18\x0a\xdc\xdb*\x91\xefV\ +t\xcc\x09\xda\xd5.\xb0\xbc\xaa\xcd\x18b9\xd5@\x97\ +;F\xac\xc1Ae\x04\xde\xa0\x829\xaf\xbd\xa8\x9d\xff\ +\x00.T\x05\xa9N\x1a\x0b\x0b\xf75(\x03]\x18h\ +\xc2\xc6\x82\xfa\xd7J\xe68\x19\xc6\xe3A\xda\xf5'F\ +-\x87A\xcc\x5c~t\x13\xab\xf8\xab\x88\x8c\xdd\x90y\ +\xd7\xa8\xa6@\x19\xf0\xf1\x04\x17%-\xa7Z\xb5\x86\xc2\ +(#\xc6$\x96\xd3(6\xb5\xea\xcdJnA\x01\x94\ +\xddX\x5cP\xd5\xfc:\xe1\x9e \x828\x83Gqf\ +<\xafJ\xc4\xc3\x87\x22\xf0\xc8\xa5\xbf\x00\xd6\x9cZ\xab\ +M\xc3\xcab{\xee\xa7B:\xd2\xb5\x04\x82,jw\ +4\x16\x9cF\xf1\xa9\x06\xe0\xech\xefT\xb8{\xb3F\ +P\x1fI$\x03\xd2\xad\x8a\xdc\xac\x982\xba\xe5qq\ +\xf9\x8e\xe2\x97,\xb2\xc5 I\xc9\x926\xd5_\x98\xf7\ +\xa2Zb>Srt:\x1aP\xa3\x7f(+\xe6\x1e\ +\xf5\xd8\x88\xd7\x11\x1f\xf5\x0d\x8f\xecj\xbe,\xf8\x0c\xb3\ +\xc4r\x82l@\xf4\x9an\x16_\x19Ke\xca\xcb\xbd\ +\xb9\x8a\xb7\xe5\x0aH\xae\xd2\x05OU\xf4\xab\xe2V[\ +.#\xca\xc7f\xf8[\xe7\xd6\x95,F,@\xc4G\ +r\xb7\xf3-\xefjk2\x11cb\x0e\xd7\xe7T\x98\ +\x85r\x06a\xb7QI\x90\xe4l\xcb\xa2\xc8lG,\ +\xddjV$V\xcc\x85\x93\xfd&\xd4\xbcD\x02ML\ +\xd2_\x95\xf5\x15]C\x06\xf4/B\x09\x03_P\x16\ +6\xd9\xbb\xd4\x92\x0a\xdf\xad\x04\x04\xde\x81\x85\x11\xde\x85\ +\xa8Aa\xa5%\xc6\xb4\xe64\xa65\x94L\x82\x96i\ +\xce9R\xd8kS@aBE\x19\xa1\xac\xa2\xe7B\ +\xf1fSi\x22\xd5O\xedR\xb9e\x8de]/\xbd\ +\xb9\x1a5\xd1\xae9R\x9e\x19Rc&\x1e@\x81\x86\ +\xa0\x9d\x8dE\xd3\x12\x98\xac9 \x9c\xcaA\x15\xd7c\ +{\x0f\x9d20\x14\x16\xbey\x1b\xd4\xe7\xf4\x1d\xa8X\ +\x00.6\xe9B,)\x1b\xd5O\xf1\x08o\x16'\x03\ +\xcac\x02\xfe\xd5|\xedJ\xe21x\xbc=\xf6\xcd\x17\ +\x98\x1e\xdc\xe8\xb3\xa5\xac\xfe\x0b\x1a\xcb\x8eQ \xb8\x00\ +\x9bV\xb3\xbf\x8a2\xc9\xe9\xf8m\xf0\xfbVg\x046\ +\xc7\x82\x7f\x09\xfd*\xfa\x99]\xc8\x81c\xc8\x86\xc5\x9f\ +\x99\xa3\x87\x8a\x8dVv\x19g\x99Z?\xe9\xf57c\ +MW\xd3.U\xc9\xf8m\xa5\x0a\xa9c\x94\x80\xaf\xbe\ +Pn\x1b\xb85\xda\x83b-[\x05q)F\x1f\x02\ +\xd8TV\x19\x9a\xe0\xf2*u\xa5\xff\x00\x87\xe2\x0d\x88\ +i\x98]b\x17\x00\xf3<\xa9\x9cc\xccrX\xe9\x11\ +\x00\xf2\xba\x9f\xe2\x8f\x81\x9f\xff\x00\x1d%\xbf\xf7G\xe9\ +G\xff\x00G\xe2\xf09\xef~t\xd8\x90\x0f\x88\xe9\xa9\ +\xa4GG\x88|\x98)\x9bc\x96\xc0\xf75\xb6\x04\xa5\ +@\x01T\x01\xca\xc2\x8a\x92\x9a\x0f.\x9d\xb9\x1a`a\ +`z\xd4\x85z\x91@\x0d\xe8\x85I\xd3X\xe0\xe6V\ +\x1a:e\xff\x00\x7fJ\xa2\x80\xc5\x12F\x0e\xca/\xde\ +\xaeb\xce\x5c\x04\xff\x00\x89\x92\xca;\xd5\x18$\x12\xc4\ +\xac\xcc\xaa\xca,\xe0\x9bZ\xab\xe9\x89\xca\xab\x8b\x81\x96\ +\xca^\xf9\x80\xd8\xd3N\xf4\x99\xd1\xe6d1\xb0DM\ +\x9c\xf3\xee\x05\x1f\x88C\x85\x94z\x8d\x84\x8b\xb1\xf7\xa2\ +\x13+O\x0c\xd9\xb0\xc8\xdamcY{\x1b\x1d\xc5_\ +\xe1\xcc\x0e\x19\x97\x9a\x9b\xd6\xb8\xfa)\xe4\xd7\x03Q]\ +[\x02\xae5\xc2\xba\xa4\x1a\x923D\xeb\xd5H\xa9\x22\ +\xba/X\x1dt\xa92i\x8b\xa8\xf7M\xbd\x8f\xf7\xa8\ +\x98e\x91\x97\xa1\x22\xa0\xb8F\x88\x9d\x03\x12\xa7\xe7\x5c\ +\xcb\x98\xe9`7\xae\xf4\x8bW5\xd5\x85\xc5\xb7\xa1&\ +\xf5$1\xae\xd0+3\x1b*\x8b\x9a\x93PP\xc0_\xf8\xa8\x82\x19\xe1\x95\xb2\xa1`y\ +\x06\xe7Wp\xf8L\xe8|m\x10\xfc6\xd4\xd0C\x85\ +\x18\x84\x0eUT!\xf2[O\x95[\xc3\xc8\xef\x9d%\ +[<|\xfa\x8ad\xfe\x8b]\x0cqa\x80H\x97,\ +o\xb1&\xe5[\xdf\xbd\x17\xa5\xaeF\xa0\xd4\x92,A\ +\x17\x07q\xd6\xa2\xc4(U\x90\x10?\x1a\xdfN\x97\xde\ +\xb6\x19\xb8\xf8rb,\xb7!\xc5\xc5\x0eY\xb0\xd2\xab\ +\xb2\x15#QqW\xd29<\x7f\x1aVK\x80B*\ +\xebj1{e6 \xee\x0e\xd5\x9c:\xcb\xc5\xe2\x13\ +\xc4\x0e\xf192\x0b\xf9\x0d\xea\x22x\xe5\x04\xc6Na\ +\xba\xb0\xd4S\xf8\xb8\x5c,\xb0\xcf\x1a\xddB\x90\xca\x0e\ +\xabz\xcdw\x93\x11\x8e\x0f\x87R\xadn\x7f\xa9\xac[\ +\x94\xc5\xfc\x1b\x14\xc4\xa9\x02\xe0\x9biW\xa3\xf13\x9b\ +\xdc\x0e\xf5G\x0eY]ZP\x8db\x09h\xf9|\xab\ +Q\xc7\x98\x90A[\xe8Eo\x88\xa1\x19\xba\x8f\xa5\x12\ +\xb6\xe0\x8a\x8a\xe5\xf5\x8fz\xd0\x06(,\xa5p\xcb\xa1\ +\xbd\xd8\x81\xb53\x0f\x141\xaeX\xc3+\x1d\xc95S\ +\x0d7\x87\x8dq)#5\xc15p\xd8\xe8u\xf64\ +O\xea\x10r\x0d\x8e\xff\x00\xad\x0e\x89\xa0\x07\xc3\xfa\xe4\ +\xfe\xd4\x19n\xc73\x1d\x0e\x95 \x10tf\xa5\x08\xf9\ +@ \xdd\x08\xd0\x8d\xa8X\xd0\xc8Y\x15\x98\x05*}\ +c\xf7\x15\xcel\x05\x8d\xc1\xd8\xf5\xa9!\xbdT'\x7f\ +z\xe6:{\xd0\xb16\xd3qYN4-D5\x17\ +\x1bP\xbd\x15\x16\xc7z\x07\xda\x88\xef@\xf4 \x9a\x17\ +\xa2\xa1j\x9a\x03\x0a\x13GBE\x15\x06\xd5\xc4\x03\xa5\ +I\xd0W\x0c\xdd\x85\x08 \x11\xa0\xd4T\x10I\xd6\xd6\ +\xa9bF\xeb\xf4\xa3X\x99\x975\xac\xb6\xf5\x1d\x05H\ +\xa5`\xd5\x18\x86X\xb0\x92\xbb\x91\xe6R\xaa\x0f3J\ +\xc4b \xc3|BW\xe4\x14\xe9\xf5\xaa8\xa9\xe7\xc5\ +8\x0eo\xaf\x95@\xd2\xb3ya\xc1\xf0x\xd9\xf1z\ +rF\xb9\xe9\xa5h\xc2\x99!d\xb5\x8a\xc9\xaf{\xed\ +C\x81\x80\xe1p\xc5Z\xde$\x9e\xa1\xd0S\x88b3\ +\xa2\xe6`,\xcb\xf8\x87\xf2)\xe32+C\xe5e\xc8\ +\xe2\xeb\x7f\x98\xf6\xa9\x80;\x19\x22c\x9aH\x9a\xdan\ +E(\xca\x89\xe6l\xe0wKR\x10\xc9\x89\xc7\xb1R\ +c\xcenH;\x0a\xb5b\xdf\x12* Ev\xca\xea\ +I#\xaa\xda\xc6\xff\x00-~U_\x81N#\x99\xb0\ +\xf2\x1b$\x9a{\x1eUn\x18\xa0\x89\x83\x14\xcey\xb3\ +\x9dMcq\xbcF'\x09\xc5\xa5\x82\x19YbCt\ +\x17\xe5\xca\x8e]v\xa7\xf1\xbcd\xcbp\x07\x9a\xfc\xc6\ +\xd4gX\xd5\x5c\x96V{\x9bt\x03_\xda\xab\xae5\ +%\x8e'\x926f\x960\xc0\x82/\xd3_\xa5XR\ +\xe0\x16u\xc8XeU\xe6\xa3\xbdt\x96VR\xba\x0a\ +\xeb\xdbm\xb9\x8aYk0\x1c\x88\xa9'CR\xc3\x97\ +\xda\x8a\xe1S3\x9b/z\xab,\xa20\x19\xda\xecF\ +\x8b\xfc\xd5w\x9aIH2\x1dF\x80\x0d\x80\xa3b\xc3\ +\xa6\x99\xa5\x92\xe3E\x1b\x0e\x94$\x86>uV=\xc5\ +,\x1a+\xd1\xa4E\xaeu\xa0\xc6\x100O~\xa2\xde\ +\xf4W\x19\x80\xe6j\x9f\x13\xc4#H\xb0\xa99W\x9f\ +\x22j\xb7\xa5\x17`r\xf8h\xdd\x8d\xc9\x1a\x9a\xbb\xc2\ +[\xef\x99\x09\xf5.\xddMd\xf0\xb7\xf2\x11\xda\xf4\xd8!iee\x03E\xb2\xdf\ +\xa73\xfb}*\x93b\xe7\xd1DJ\x19\xb4\x0dj\xd9\ +\xe1\xd1xX\x04Q\xab\x90K\x9d\xf5\xa7\x8ftQ\x80\ +\xaa\xa1\x14YWj\xed\x06 r/\x1f\xd6\xc6\xa4\x82\ +7\x04PI\xa6+\x0c{\x91]\x00\x8e\xd45&\xd6\ +$\x9b\x00.OJ\xa3\x89\xe2E^\xd0\x22e\x1f\x13\ +\x0b\x93E\xb2%\xda\xe1\xa9\xb5V\xe1\xf8\xdf\xb4J!\ +\x95P3zYE\xb5\xe9j\xb2\x18(.M\x82\x82\ +oT\xb2\xa5\x0e4|D\x9dA\x16KX\xf5\x02\x93\ +\x1ck\x04b4\xdc\x80Y\xb9\x9a\x949\x99\xcbZ\xc5\ +Ik\xed@\xaf\xe2C\x1c\x82\xc72\xebn\xdaV>\ +\xebFC\xa4\xab\xee+FB\xb0\xe2\x80\xd5c\x92\xe0\ +\xf4\x06\xa8`T>25apZ\xaf\xe2T\xc9\x87\ +q\xf1\x0f0\xd2\xb5<\x14l\x086<\xab\x85\xb5c\ +\xb2\x8b\x9a\xa7\x1e.a\x95\x06V;\x00V\xe6\x9b\x8a\ +\x13\xb4*\xc5\x95\x90\x1b\xba\xa0\xb5\xbd\xe9\xd0\x08\xf0\xc6\ +`f\x95\xca\x97$\x81j\xb6\x00>[\x82\xca5\xbe\ +\xf5\xceA \x8fI\x1e_j\x16\x8d\x1ee\x94\xb3\x06\ +Qo/:\xb1\x05\x1a\xc4\x8b\x12)\x9b\xebA\x89\xb7\ +\xa8is\xadDLr\xdb) s\x15!^\xc6\x84\ +\x00\xb9\xd1v\x048\x16\xd8\x1a\x92E\xed}h&W\ +b\xad\x1bZD\xd0\x03\xb3\x0e\x95T\x82hI\xa5}\ +\xad\x09*\xf0\xb0k\xec\xa6\x8f\xc4\x87\xf18\xee\xc8@\ +\x15\x9dC$\x8b\xb5\xc1R\x06\x9d\x08\xff\x00\xcd\x09R\ +v\xd6\x85\xf1\x18t\xff\x00\x98X\x8e@h~uJ\ +X\xf1\x0e\xc6a\xa6m@\x07QU\xa7\x16\xa4\xb20\ +V\x04\xb3l\xa3z\x16#6B\xa5\x09\xf4\xdc\xdc7\ +\xce\xab\x0cTXX\x8ep^V\xe5\x7f\xd6\xb98\x84\ +3D\xe9$E4&\xe0\xdc\x0a\xce\xac<\x8b\x1b\x1a\ +\x83A\x0c\xa1\x80I\x18k\xe8\x93\x93\x0a6\x04\x0b\xee\ +;kI\x06\x80\x16;(\xb9\xaa\xd8|S\xc9\x89\xc9\ +'\xa1\xcd\x80\xfc5e\xf2\xb4N\xa4\xd82\x91~\x95\ +\x99.\x1exN\x7f\x84\x1fP:Vyi\x8d\x09\x06\ +Q\xdc\x1a\xe1r.E\xa91\xe3\x22h\xc3J\xcd\x9c\ +\x0b\x1b\x0d\xe9\xb0I,\xaa\x1dc\x8e8\xfa\xb6\xa5\xa9\ +\xd0\x0c|\xc7\x0d\x84VP\x0b\xbbX_[\x0a\xc9\x96\ +Y$\xbew-}\xeek[\x89+\xbe\x04\x93\x87\x8d\ +\xb28\xb5\xa4\xeb\xde\xb2d1\x89\x04r+B\xcd\xe9\ +\xb9\xba\x9f\x9ds\xe7\xe9\x85\xac-,\x81bBI\xe5\ +[8,2ac\x1b<\xbc\xd8\x8d\xbd\xa9|\x163\ +\x16\x1eI4\xcc[(\xedO{\x8dG:x\xcc\xed\ +T\x9d\xf5:\x9a\x9fj\xe5QmE\xfb\xd7Y\xbbV\ +\xc0\x96G>]Z\xdc\x9bQU\xe7\x88A\x8f\x8d\x97\ +(\x0fk\xad\xce\x9dE>0U\xee\x0d\xef\xbf\xf3T\ +JH\xb8\xc0\xa430m\xba\xd1L_XJ\xcd\x96\ +\xf7\x0aM\xcf@+\x17\x8d\x83\x8f\xe3\xea\xb1\x82\x04\x81\ +~U\xa3\xc5x\xb6\x0e\x0c\xf0\xa5\xe4\x91\xbf\xcc\x03a\ +\xda\xaa\xe1ch\x10\xe2&\x00b'\xd4\x0b\xea\x8ak\ +<\xb2\xf4\xa2\xfe\x04\xabc\xceP2\xa4d.\x9d\x06\ +\xf5dX\xefTxA\xff\x00\x89o\xfe6\xfd*\xe0\ +5\xae>\x0a\x0035\xce\xc3n\xf4^UFv\x1e\ +U\x17\xb7SE\x90\xa9\x0au?\xadV\xe22\x02\xc2\ +% \x85\xde\xdc\xcd7\xa4D\xae\xd29f7&\xb8\ +T\x0a\x90+\x0d\x0dM\xa9\x80\xd2A\xb5Njt`\ +\xb1\x12\x98\x85\x94]\xdcYG\xefT\x1b\x09\x89\x92u\ +A\x13\x0d7#AW\xdc\xf9\xe6k\xf9\xae2\xf5\x0b\ +m(\x92F\x0b\x94\xb1\xef\xad\x16j\xd0\x88\xca E\ +M\xb7n\xb4\xf0u\xa0\x0dD\x0dn\x05\xac\x1e'\xc3\ +\x19\x1c]9[qZ\x09b\xb9\x94\xddz\xd6:\xd3\ +`\x95\xe27F#\xb5jQ\x8dE\xd3\xdb\xf4\xa2\x1b\ +\x8aF\x1f\x15\x1c\x9a?\x91\xbf#N\x22\xde\xd5\xb8\x04\ +E\xe8H\xa2]\xaamz@-}\x0e\xaat\x22\xb3\ +q1\x18\xa5+\xcb\x91\xebZ\x85t\xa0\x91\x12D\xcb\ + \xb8\xe5\xd4Vl\xd3+/\x99\xedR\x85\xafe\xd4\ +\x9a\xb8\xd88\x80\xb8w\xbd\xf4\xd2\x9d\x1cQE\xe8]\ +\x7f\x11\xde\x8f\xcd:\xa7\x88\x85\xd2\x14\x91\xf5`y\xfc\ +4\xcc,N\x22%\xdd\x95[e\x06\xd7\xa7\xcc\x03d\ +\x8d\xbe#\x98\x8e\xc2\x86G$\xf7\xab\x02\x02[D\x96\ +E\xf9\xde\x97\x1c2}\xa5d\x92\x5c\xc1u\xbf:,\ +\xda\x5c\x9a%4\xa2\xf8\xab\x95\xc0\x1b\x7f\xcckV9\ +\x17\xda\xb6\xb1\xe9\xe2\xe0\x1dF\xe9\xe7\x15\x8ck\x1c\xfd\ +18B\xcb\x8a\x8d\x94\x90C\x8dkk\x88\x9c\xb0\xcd\ +a\xb9\xcb\xf9\xd6\x18b\x08#q[x\xe1\x9f\x08\xc4\ +\x10n\xaa\xd7\xbe\xfak\xf9\xd5\xc7\xca\xaf\xac\xb2\x85\xe0\ +\x960E\xd9\x0d\xbf_\xda\x87\x0e\x99pq\x03\xcc\x16\ +\x16\xe8i\xd10RX\xe8\xa1M\xc9\xe5\xa5\x097\xca\ +\xb6\xb1\x08\x05\xbeU\x13xq\xb66\x22\xd6\xdfz\xd2\ +\xbeSs\xcbz\xc9C\x96E'\x91\xb9\xadI\x08c\ +\x9b\x93kZ\xe2*\xa3\xdb\x0d\x8fY\x009\x0bf\x1e\ +\xd5a\xb1\x10\xa4lC\x86&\xf6Q\xce\xf4\x18\xb4\xcd\ +\x11\x1b\x91\xaa\xf5\x15E-\x9dsm~tx\x9aX\ +\x5c\xdfd\x8f6\xfa\xdb\xda\x8a\xe6\xf6\x16\xbf~T3\ +\x92$\xb2\xb5\x94\xed\xd8W\x0b(\xb0\xf9\xd6\x82Xf\ +\xf5\x12}\xb4\xa9\x16\x0baC\x9a\xa4\x1b\xd4\x9c\xe7c\ +\xd0\xd0\xb07\xbdI`|\xa3s\xa5\x11\xb0\x1a\x9b{\ +\xd4\x80Y\xaf}\x01\xebm~\xb5\x05\xd8\x0f3\x5cs\ +\x07QRY:\x8e\xe7aI\x9f\x11\x85E9\xdeM\ +\xb4\xfb\xb2/\xf3\xa1*q\x18\xd5fS\x10\xb8\x93`\ +9\x1ad\xb8\x94\x8a \xcb\xe6\x90-\x89\xbf\x95,9\ +\x9a\xab\x89\xc6\x99/\x1a\xa6D\xe5f\xd4\xfc\xeb7\x1d\ +\x02*\xc7\xe13*\xc8\xd6*Z\xff\x00:\xe7yg\ +\x8dHc\xa9\x99\xcb\xa4\x89+\x1d\xf2\x9b\xd0\xba\xb4x\ +i\x8b\xa9\x19\x93(\xb8\xb5\xc9\xa3\xc9\x0c\x0f\x91 C\ +\x94\xd8\xb1\xbd\xcdA*\xba\xacD\x13\xb1r[\xe9z\ +\xcbH\xe1\xe2L<\x19'pP\x9b\x15\xdc\xa5\xf65\ +w\xc3\xc4a\xe3\xf1\x95\xac/ku\xaa1\x0f\x10\xbc\ +m\x7f:\x9b\x9b\xfc\xe9\xff\x00\xe1\xe9\xc60\x0c<\xcd\ +\xe6\x88]n}B\xa9\xfc\x15x\xd9\x91X\x8b\x07P\ +H\xe9B\x9eG\x22\xe3^\xb4\xd9\x83\x03f\x16=)\ +l\x9d\xf5\xae\x81^|(|u\x94\x05R\xa1\x9b\xb5\ +X6\xb0U\x16U\x16\x15(\xa0H\x0d\xcd\xda6\xbf\ +\xc8\x8b~\xf5\xce\xcb\x04Fil\x00\xf4\x83\xf1\x1a'\ +I[\x8c\xb8\x8f\x06 \xbf\x9aC\x98\x8e\xd5\x9b,&\ +`\x98{\xfaHwb==\x05\x14\xaf&'\x11\x99\ +\xdb\xcc\xc6\xde\xd5\xab\x81\x81S\x0e1\x0e\xbewve\ +S\xf9\x13\xf2\xae\x7f\xedO\x82\x0a#\x88&\x97>f\ +\xb5u\xafDA-s\xa94J-\xef]p\x01\x12\ +\xc6\xf7\xd3\xa5\x11\x14V\xae\xa9\x04!$\x00\x09'\xa5\ +T\xe3s[\x0c\xeb\x86e3\xc6\x9fx\xc3\x9a\xf4\x1e\ +\xd5g\x1f+A\x81,\x9a4\x8d\x92\xfd\x05\xab7\x05\ +\x1f\x8d!B3\x07\xd1\x87Q\xbf\xec\x07\xce\xb3\xca\xfc\ +0\x8f\xf0\xde\x03\xc5\xc5}\xa7\x14\xb6Fo('W\ +5\xb4\xf1E3\xf9\xb0\xebr~\x0d\x0d\x09\xc2\xb7\x88\ +\xae1\x08\x85=*\xaal\xbd\xab\xa6Lc\xbeQ*\ +\x88\xce\xec\xa2\xc2\x8e3\xf33\x15\xba\xad\x12\x18\xf8\xa0\ +\x8e'\x06\xcf`j\xe3j\xc7.\xd7\xd2\x97\x1e\x124\ +\x90\xc6\xb1\ +1\x89\xe1b^?\xc2H\xadh\xc9>\xe4\xda\xb2\xf8\ +\xc3+q\x19\x8a\x9b\x8c\xd4r\xf0\xf1\xf5^\xf5s\x07\ +\xc4\x0cqx2\xa0t\xd8\x1ej*\x8d\xcd\x1e\x1f\x0f\ +4\xe6\xd1\xa5\xc7S\xb0\xacKg\x8dU\x9c\xd0\xb3\x08\ +\xcb\xe4\xcbb\xca\xfaf'a~\x95\x0e\xcce!\xd4\ +\x8b\xebs\xce\x87\x89p\xb7\x91Q\xc4\xd1\x992ee\ +#G\xb6\xc2\xfc\xa98a\xc4p\xa9g\xc2F\xd1t\ +\x12\xde\xfe\xd7\xa7n\xf6\x16\x01\xab\xfc>l\xf1\xf8-\ +k\xaf\xa3\xbfj\xce\x8f\x11\x85\x90\xd9\xcb\xe1\xdf\xa3\xa9\ +\xb5\x19\x93\x0c\x84\x13\x8c\x86\xfc\x80{~\xb6\xadJ\x9a\ +\xc0\xd8\x827\x06\x96\xf8l36l\xac\xb77!N\ +\x87\xf8\xa4G\xc4\xb0\xf2X\x11c\xd4\x87\xf3{\x1bZ\ +\x8f\xed\x98[^\xed\xedc\x7f\xa5\xab[\x19\xcas\xaa\ +\x93\xd3KoQ\xcb\xb8\xa5.&\x16\xbd\x96@\x06\xec\ +\x086\xa1\x97\x13\x02Y\xbcL\xf7\xdc.\xf5lG\x0a\ +%\x22\x90\xb3\xc6\xe2\xe8I\x1c\xef\xb8\xa3\x92ha\x8b\ +\xc4\x95\xec\x0e\xca\x06\xa6\xadF\xb1_\x9fj\x8b\x80o\ +\xcf\xa9\xac\xe9\xb8\xab\xe6\xfb\x98\xa3U\xfe\xa1rk\x93\ +\x8a=\x8f\x89\x04o\xd2\xde_\xd2\x8f\xd49W\xa5b\ +\xaf\x98\x12;\x8aW\x15\x7f\x17\x86\xc8I\xb9\x0e\xb9o\ +\xb8\xaa\xe7\x89\x86[}\x95\x07\xfdf\x93\x8a\x9eLQ\ +\x16P\xaa\xa3\xd2\x0e\x9e\xf4^S\xe2\x92\xaa\x85,@\ +\x1b\xdcU\x9c\x16\x08\xe2\xe4\x13\xb0\x0b\x1cw\x11\xe6\x1a\ +{\xf7\xa8\xc2D\xcf2\xf8Vw\xbe\x83[\x03\xdc\xed\ +Z\xcf\x00\x8e4\x89\x1a\xe25\x03\xdc\xf35\x9e'\x07 \ +\x12)S\xf0\xb0:\x1fcZ \xda\x98\xcb\xf6\x9c\x1c\ +\xb8c\xa9\xcaZ=y\x8f\xf7\xf9QxO\x8bA\xc3\ +q_k\xc3\xb4R\xff\x00\x9b\x1a\xdd[\x9b\x0avj\ +\xc4\xc1Np\xf8\x94\x94|'^\xe2\xb7J\xab\xc2\xb3\ +\xc5\xacm\xff\x00\xd7\xb1\xab\x8d\xd8\xab\x81\xa3SK]\ +\xefD4\xad\xa3\x95\xc6\x5c\xac.\x0e\xe2\x95\x89\x86I\ +-\xe1\xc8\xce\xa3\xe1f\xd4{W^\xa4\x1e\x86\xa1\x83\ +\xc1&\x1eL>R\x80\xc8\xbe\xa1\xb3TO\x86`3\ +\xc2\xec\xd6\xd4\x83\xb8\xa2F%\xc3\x05\xbb\x01`F\xf5\ +o\x0b\x0b\xe6\x0f%\xd4t\xe7Z\x93U\xe8\x1c\x17\x14\ +\xf9\xb3O\xe6E\xd0\x13\xb8\xadeee\xcc\xac\x18\x1e\ +b\xb3\xe7\x846(\x22yU\x85\xfb\x0a8\xe2\x9e\x07\ +\xcd\x13\x09\x0709\xfc\xab|v3Wt\xb5\x0b\xca\ +\xaa\xf9\x0c\x8b~\xe3j\x1c\xd7P\xc0\x11~Gq]\ +\x98,\xb76\x02@\x06c\xc8\x8eG\xde\xb5\xa0\xacv\ + x^\x1aJ\xad\x9br\xbc\xa9\x1e\x22\xc4\xaa`\x91\ +\xb3\x11g\xb8\xa9\xe2Q\xa2\x15e\x00\x16\xbd\xc7*>\ +\x1c\x88\x22\xf1H\x05\xb3[^U\x9f\xa5j&I#\ +\x0f\x1f1\xa8\xe9I\x9do\xa8\x1a\x93F\xdeo2\xd9\ +\x5clmo\x91\xedI\xc6I)O\x0d!eo\x88\ +\x8d@\x1d\xa9\xa11\x80\x07#z#\xf9\xf2\xa4\xe1o\ +\xe0\xa5\x81\xf2\x5c\x1f\xf7\xf3\xa6\xa1\x0c\xc4\xd1\x10\xd0\x88\ +\xa3i\x0e\xbe\x1a\x96\xac)\x1b3\x96;\x93z\xd6\xe2\ +rx|9\xb6\xbc\x87'\xefU\xf8T(\xb0\xfd\xa1\ +\xd4\x16ce\xbf*\xcf.\xee5:\x80\xc1`L\x8a\ +$\x95\xb2-\xf4[jkDeT\x08\x8b\x95\x06\xc2\ +\x96\xceI\xb95\x19\xe9\x9d\x0bt\xc0\xd6\xda\xdf1C\ +*\x89.\xca\xc5$\xfcC\x9f\xbd\x0em*\x03T\x15\ +\xe7R<\x93F;\x159O\xc8\x8aW\x85\x87\xfc3\ +\x7f\xfe\xe6\xae\xbb#\xa6W\x19\x87nUVH\x98\x5c\ +\xa0,?1E\x87I8l\x16l\xc2\x19/\xd7\xc5\ +4f4\x90\x91\xe2\xba_k\xd8\x8f\x9d\xa8\x0b\xdb\x90\ +4%\xbb\x0a:!o\xb4aX0$\x03\xb1\x1b\x1a\ +\xbb\x82\xe2\x10\xc8\xbe\x1c\xa1\x22p=EFSU\xc4\ +\xc4\xc7\xe1\xbd\x99:\x1a\x19p\x0e\xcb\x9f\x0f\xf7\x8b\xd3\ +\x9dSg\x87\xff\x00V\xf1s\xc1\x14\x82h\xd9d\xcc\ +\x9a\xaalu\xb5g\xcf;\xca\xe5\xdc\xdd\x8dHVU\ +UpT2\xb2j9\xdc\x11\xfb\xd5v$\x12\x0e\x96\ +\xa3\x95\xaaA\x86\xa2\x07\xa5)N\xb4kY&\x03\xf9\ +\xd5\x84\x8c\xbc\x820\xb9\xb2\x90\x15m\xa36\xe4\x9e\xb6\ +\xa4D\x06`[\xd25>\xd5\xab\xc2\xa3)\x84\x18\x89\ +W\xef$b\xc9q\xa8\x07\x9do\x8c\xd1j\xd4\x00\xe1\ +\xe1\x11\x83\xe6\xb7\x9c\x8e\xbd*C\x03K\x1b\xd1\xa0\xd6\ +\xba0\xe2\x0fJ\x13\xa1\xa6i}\xea\x1b(\xd4\x91\xf2\ +\xab\x11zT\x15\xa6\x05\x0c.*J\x91R!\x85\x01\ +\x8b\xef!\x04x\x99\ +\x10\x03er\x07\xb5;\x05\x8a\x9f\x0a\xf7\x8aL\xb9\xbe\ +\x13\xb1\xad,F\x1f\x0b\x8b\x9c\xcd/\x8b\x1b\x9fQ@\ +\x0ec\xd7Z\x98\xb0\xbc>\x16\x0c\xb04\xac\x07\xaaV\ +\xd3\xe9X\x9cl\xa7J\x8b\x8b!\xb0\x9b\x08\x84\xfcE\ +\x09\x1f\x96\xd4\xf4\xc6\xf0\xf7[\xf8\xb2\xc6z2f\xfd\ +*Z<$\x82\xcf\x83\x8c\x5c\xef\x1d\xd4\xd4E\xc1\xe0\ +\xc4K\x9b\x0f#(\x06\xe5\x1fo`ks\xf4\x0f\x89\ +#\x98\x06\x86ee=t5m0\xf8D\x8d^Y\ +\x90\xdf\xab\x7f\x15\x9b\x8b\x86h\x9f,\x91\x14\x03am\ +\x00\xa4\xd3\xb9\xf06\x863\x05\x18\xca\xb3\x10\x07%\x8f\ +\x7f\x9dp\xc7\xe0\xd5\x0c\x85\xa4\xb2\xf3\x22\xb2\xe0\xc3K\ +*fX\xe4a{yV\xac7\x09\x92X\x8cR\xc8\ +\x89sq\xe6\xd4{\x8a\xd6\xf2\xf9\x06E\xa81\xf0)\ +- \x92\xf2\x0b\xdf\xa0\xa7G\x8f\xc0\xb7\xfc\xe6\x07\xba\ +U\x01\xc3\x8c\x91\xae|B)_!\xb0:\xda\xa3\xff\ +\x00M`r\xa6\x223a\xbe\xa2\xf5K\xc9dl\xa1\ +Y\x174R,\x83\xaa\x9b\xd7_u\x22\xe0\xee\x0db\ +\x9c\x166#\x9e?1\xe6ck\xfdi\x90\xf1LD\ +DG\x89\x842\xed\x98\x8b\x1f\xad?\xaf\xe8\xc6\x89\x86\ +\x03\xaeC\xa7\xf5iS\x9e5\x5c\xaa\x00\x1d\xa9\x11b\ +\xb0\xf8\x96\xc8\xb2\x80\xc0^\xcd\xa7\xe7OX\xd9E\xd5\ +.:\x8di\x9f\xf1\x09\x1e\xe3E5!\x9f6k\xdb\ +\xe7K\xcfj\x8c\xf7\xab@\xdaE\x8aG2\x12\x16B\ +\x18\x1066\xb5\xa8#\x99\x1a{\x05t\xcd\xe9\xcd\xb3\ +Q&v\xf4\x82~W\xa5b\xe4H\x94\xb4\xee;(\ +:\xdf\x95E_\xfcD\xf7X\xa0\xda\xc31\xf74\xdc\ +<\x80``\x04X\xe4\xe5\xefYSb\xa6\x93\x16D\ +\x90\xabHA*\xf9\xb4\xb7Z\xd2\x0d\x96\x18E\xf3\x11\ +\x18\xcd\xde\xb3.\xdbNtfu\xfcU\x19\xd6\xfa0\ +\xa5\xddM\xedj\x02|\xd6\x14\xeaX\xcdj\xe7c\x94\ +\xd8\xda\x96I\xa8k\xe54\xa3\x81\xb0\x16\xe9P\x5c\x82\ +\x08\xde\x96\xadqS\x98\xdc^\xa4\x99`\x8e\x7f19\ +\x1f\xa8\xd8\xfb\xd5\x82\xab\xe3\xd5\ +\xef\x0c\xab\xa1\x0d\x97\xde\xb3L\x1b\x95\x0f\xa6]\x09+\ +~T\x82\xc4\x9b \xbd\xb75bE\x01\x99@\xd2\xfb\ +R\x9b\xca\xa4\xa8\x1aP\x00z\x8a\x8a0\xa0\x0d.{\ +\xd0\xb0\x00\x5c\x9d*:\x12+\x90\x90t\xf9\xd4\xfbk\ +P\xdb[\xadE%\xcb\x02\xa2\xd6\xe7ak\xd0\xe2#\ +Y\xa1\x11\xb3\xe5\xb3\x5c\x1b^\xa4\xda\xdd\x85B\x92X\ +\x007\xa9\x13&\x0b\x0e\xb1\xb4\x9e$\x96Q\xcc\x00\x0d\ +P\x9c[\x13\xf6\x8f\x133\x0fM\x86\x8b\xf5\xab\x5cR\ +l\xcf\xe0\xaf\xa57#\x99\xaae\xack\x9d\xcd\xe8\xc0\ +\xe7b}c\xfe\x91@\xcc\x11\xb4\xdc\x8doD\xc06\ +\xbb\x1eD\x0a\xe8\xa1i\xb1H\xa4\x8b1\x02\xb3I\xf3\ +O<\xa9\x95\xa4%\x7f\x08\xa4S\x0dqS\xae\x97\xf9\ +\xd3\xa8\xba\x90(\x97Sc\xa1\xa2\x0aN\x9c\xea@\xb5\ +\x10Z$\x0d\x94\x92\x01\xb1\xd4s\xa3\xcaJ\x82\x96\xf9\ +\xd4\x8b\x17\xa9\xa6\x15\xe9P\x16\xacA\x15\xa9\x87O\x0b\ +\x0e\xa9\xf17\x99\xbfj\xa5\x84\x88I\x89D\xd8\x13\xad\ +h\xb0\xbb\x93\xca\xf5\xbe0Z\xe5w\xcb\x96\xf7\x1d\x0e\ +\xa3\xf3\xa8l\x84\xdd\xa1\x88\x91\xcc\xadH\xf6\xae\x22\xf5\ +\xa6P]\xed`\xc4\x0e\x83JS\x13z2-B\xd5\ +\x17\x06>!\x1f\x0c\x9a\x8e\xcd\xd2\x96X\xe753\x06\ +1\xa2%\xb3<\x82\xd7\xed\xadt\xa6\xf2\x16\x1dhB\ +\x0cF\xa0\xda\x8f\xc5c\xeb\xb3\x8f\xea\x17\xa4\x13]\x9a\ +\xadN\x97\x0b\x81\x94\xdc\xc1\x90\xf5\x8c\xd8\x0f\x95%p\ +S\xc4o\x85\xc7\x01m\x81%i\xads\xb3\x11P\xb9\ +\xc1\xd4\x82(\xe9%_\x8c\xaf4\x9b\xd8\x83K\x9b\x1b\ +\xc4\xd1\xb2\xb4EOh\xe9\xd7\xa2YdQe\x91\x80\ +\xe8\x1a\xac\xff\x00\xa9I\xa6\xe2s\xe8|s}\xbc\xa4\ +R\x8e\x0f\x1c\xceA\x85\xef\xcc\x9a\xd1\x92Wo)v\ +os\xb5C=\x97V6\x14~g\xf4\xea\xb4x'\ +EG\x9d\xd0\x04$5\xbc\xc7)\xdfm\xaa\xd6!F\ +\x7f.\xd6\xf2\xf7\x1c\xa9bQ}\x14\x91\xb1\xa8\x88\xe4\ +/\x16bFP\xe9~]E3'\x819\x0d\xaf{\ +\x1a\x94R\x0d\xc9\xbd\x0ej\x82\xd79A\xf7\xa9\x19z\ +\xeb\xd2U\x9b5\x81\xd0u\xa3,\xdf\x87\xe9V\xac\x1d\ +\xeco\xf5\xae\xbf*X%\xb4\x0b\xda\x89J3eY\ +U\x98| \xebV\xa1#\xdc^\xf4y\xcd'U;\ +{\x8a\x95k\x8au\x1a\x1a\xc6\xe3CI\xc5a\xd2b\ +]<\xaf\xd3\x91\xa2&\xc2\xf5\x19\x88;\x1a\x92\x83\x02\ +\xad\x94\x82\x08\xe4k\x81\xf3\x5chj\xf4\xea\xb3\x80\x18\ +Y\x86\xcdT\xa5V\x8eB\xae\xba\x8e\x87z\xc5\x8d.\ +\xe0\xb1l\x06I.\xc3a\xd4U\xdc\x19_\xb1!L\ +\xac\xba\x86\xd3\x9fz\xc5\x8c\xd9\x89\xd7Z\xb9\x86\x9d\xe3\ +|\xc8\xd6c\xa1\xbe\xa1\xbb\x1f\xe6\x99\xc8X\xb9.\x16\ +'l\xc8\xde\x19<\xadqR\x15\xf0jdW\x12'\ +\xc4\xb6\xb5\x0f\xdb $(VY\x0f\xfc\xb6?\xa1\xe7\ +Q6\x22\x16V[=\xd9mb+]3\xda\xe4l\ +\xae\xe0\xc7r\xac4\xa7\xa5\xf9\x8dj\xa6\x15U\xb0(\ +\x14X\xe5 \x1e`\xd3\xb8y\x90\xc0\xa5\xe5b\x0e\xc0\ +\x80kp,-\x10\x17\xa8\x19\xbf\x1c\x7f\xf6\x1f\xe6\x8c\ +\x1b\x0f0\x00~%:|\xfaV\x83\x80\xa9+pE\ +\x15\xba\xd4\xd8\xf4\xad\x05Ybe\xfb\xc3r\xa0Y\xc0\ +\xdc\x8e\xbf+\xd7\x10\xac\xb7R\x19z\x8a\xb5\x1f\xac\x03\ +\xb5\xf5\xaax8\xb2\x89\x7f\xd6@\x17\xe5z\xcd\x87\x5c\ +\x14\x0d\x86\xf4\xa6*\xd8\xd0\x83\xfeR\x93\xf3\xab%{\ +\x81\xef\xa5V\x96HS\x1b\xe2\x86\x047\x95\xc8\x1a\x5c\ +\xf3\xa2\x940\xa0+M\x0f\x13\x1b+\x8b\xf4:W:\ +\xdbqY\xc4AE\x1b(\xa0t\x0c-v\xfdi\xe4\ +P\xb2\xd0\x88\xc8\x14ipj\x08\xf3\x5c\x9b\xd3\x1a\x81\ +\xadz\x8c\x09\x1aZ\x82g\xf00\xed'\xc4|\xabM\ +Qso\xf6*\x87\x11\x97\xc5\x94\x85\xf4&\x8bG+\ +\x90\xab{\xd0\x91\xda\x8a\xa2\xb94\x1b\x0a\xe4\xcc\xac\x18\ +\x1b\x11\xb1\xa2\xa9\xb5:\x9cl\x05\xe8\xe3\xb3\x0f('\ +\xf2\xa2\xcb\xe5:_M\xa9\x9c:\x13#\x14\xb5\x94j\ +[\xa52\x22c\xc2\xcf4\xb9Q3\x13\xae\x9c\xaa\xf4\ +V\xd5I;\x1a\x22\xa6\x91j\x12\ +/N(y\xd02\xda\xac\x05e%\xac\x06\xa6\xabI\ +\x0f\x8b\x8b\x92r/\x18k\x8b\xfcV\xab\x8c\x0e]=\ +Ou]>\xa7\xe5B\xea-\x94h\xa0X\x0e\xd4X\ +b\xbc\x9a\xb1&\x94\xe2\xd4\xf9\x01Q\xa8\xbd\xb9\x8et\ +\xa3\xe6\xd2\xd6\xa8\x93mI\xa1aM\x22\xd4,+(\ +\x86\x16=\x8d\x0d\xc5\xedNe\x14!-\xb5\x18t\x9c\ +T\xb2F\xd1\xaa?\x86\x8e5{R\xb18\x86\x81\xc0\ +\x8f\x11\xe3\xa1\x1a\x83\xadZ\x9a!,&6l\xba\xdc\ +5\xb6\xa4\xe0\xe0\xf0&>-\xb3|\x04\xech\xba\x81\ +\x0c\x92\xcd\xacx[\x13\xbb5\xec)\xc4\xfd\xe7\xa8\xb1\ +\x03V\xfe:S$gm\x19\x8f\xb7*ZzmQ\ +q77\x22\xf5\xc2\xd6\xb5\x87\xd2\xa6\xd5\xd5'\x0e\xd4\ +Z\xda\x86\xe0\x1dj\x0b\x12l4\xa9\x08\xd4W\x1a\xea\ +\x93\xaaI\xbd\x095\x17\xbdHw\x05r\xba\x86^\x86\ +\x96#\x8e\x07\xfbDjJ\x8fR\x9dl:\x8a j\ +d\x91a\x81\xa4a|\xc3(^\xb5\x221\xb3\xc4e\ +\x8aH\xdb3)\xf3\x10-\xa5ZpX\xe7@J\xb6\ +\xa0\x8a\xcf\xc1\xe1\x9eo19Pn\xc6\x9f\x8a\x85p\ +\xf0\xe7\x8ei\x03_@M\xafD\xb7\xd4\xb1f\x02\xe5\ +H\x1dmQqUp\x12b\x1f\x14\xa3;0>\xab\ +\x9b\x8bU\xa2.\xf6Q}t\xa6v\x84\xa7\xa1\xaa\xdc\ +KI\xd5\xbf\x12\xebVB0\x17 }j\xb7\x12 \ +\xca\x88\x06\xa8\xba\x9a\xaf\x80\x9a4:P\x81sG\x10\ +\xf3\x009jh\x22\x96?\x16H\x16\xf6$5X\xc0\ +B`\x8d\xf3\x90]\x8d\xbeT\x97v\x8eH\x1d#.\ +\xc06\x80U\x9c9\x12G\x9dAR\x0d\x99N\xe2\x99\ +\xe8\xa6\xaf\xadGz\xbb\xc3t\xc5\xa8\x03F\xd0\xd55\ +\xbe`@'\xda\xb4\xb8|>\x18\xf1\x18\xf9\x88\xb2\x8e\ +\x95\xd7\x8f\xac\xd5\xc8\xb6\xa3t\x04\x5c\x0dM%\xa4\xf0\ +\xec\xc7a\xbd\x14\x18\x98\xa4uMT\x93\xa5\xf9\xd7M\ +\x9e2r\x5cyO*\xaf\xc5\x0d\xa1\x09\xf8\x8d\xea\xd1\ +\x037z\xa3\xc5\x9b\xefUz-\x5c\xba\x8a(\xb5-\ +\xbb\xd1\xb9\x16\xde\x96\xfbW&\xa1\x13\xa3\x11\x9e=\x5c\ +\x0dT\xec\xc2\xa3\x0ff\x80\xb0\x04\x10\xd6e\xe8h\xce\ +\xfaS\x06\x1aV\x1fhD\xd6\xde`t\x12\x0f\xe6\x8c\ +$\xf3\xa8j\xb0p\x93\x11\x99V\xe0\xea5\xd6\x97&\ +\x1ep\x0f\xdd\x9d*\xca\x95\x9c\xd0\xd3\x1a\x19\x83\x10b\ +m;P\x15`.T\x81\xd4\x8a\xc3H\xae\x22\xbb\xf2\ +\xfdh\x80\xf7\xff\x00\xb8\xd4\x83\x96\xb8\x8ab\x8f\xea?\ +=k\xb2\x83\xb9?-)\xc1\xa5e\xa9\x00\x027\xb9\ +\xda\x9b\x91O#\xefz\xe8\xe3\xc8sn?J\xb1k\ +c\x86\xa6\x5c\x1ek\x83\x98\xe8GAV\x00\xa4p\xf5\ +\xb6\x15Z2\x10\x96>_\x84\xf6#\xf7\xa7\x86\x05s\ +\x00E\x8d\x88;\xa9\xe8k\xb4\xf1\x87Z\xbaP\x91G\ +\xe2\xc8\xe1\x00\xd0_\xe2\xedQ4\xb1\xe1\xe2\xf1$\xd4\ +\x9fJ\xf5\xac\xdcd\xef\x89l\xd2\x01a\xb2\xf2\x15[\ +\x89nN%\x1a\xbd\xa2\x830\x1c\xdc\xd0/\x13|\xb6\ +xQ\xbb\x8d?J\xa4\xaa\xc4\x90\x01k}h\x95$\ +\xbf\xf9on\xb9M\xab?\xaar4b\xc6\xe1\xa4\xd1\ +\xb3D{\xea(\xe4H\xf1)\x95$F\xc9\xb1S\xad\ +\xfaVw\x81'\xfe\xd3\xff\x00\xdahLR\x03p\x8e\ +\x08\xe6\x06\xd4\xea\xc3\x9a\x09nT\xc6\xe6\xdam@\x90\ +\xc8\xad\x90\x8c\xa4m\x98\x81\x7f\xadT\xc6\x89\xe4R\x22\ +\x95\xc4\x8a/\xe5>\xa1\xfc\xd6n J\x04q\xbb3\ +<\xc6\xc0\x9b\x9b\x0b\xf2\xaew\x96|2=\x5c\x0e\x1d\ +\x0f\x88\xea\x19F\xa7\x91\xaepH>\x12g;f:\ +(\xaf=\x04\x86,lb+\x00\xac\x006\xf5\x0b\xd7\ +\xa2\xf1\xd6Y\x99\x0e\x8e\x09\x00r5\xd3\x8f-\x16a\ +yJ\x82]\x83;hH\xd8\x0e\x82\x81\x859\xc6\x96\ +\xa4\xc8r\xa7}\x85T\x16\xe5z\x8aC\xaa\xf8\x83!\ +\xf7\xa7 \x19M\xc8\xd7\xf2\xa1\xb0X\xaf\xd7z\xc9\x85\ +:\xebKk\x03nt\xf6\x04\x8eB\x96\xc8\x09\xd6\xf7\ +\xebQ(\x8a\x82\xb4\xc6\xd3\x7f\xad\x0d\x18\x80E\x04\xca\ +\x0e\x16U\x22\xf6RG\xbd:\xb9\x00,W\xf1\x02(\ +\xc4T\xc3\xcc\x17\x9d\x85\xf5\xedP\x16\x89\x980Ck\ +\x12\xa2\xff\x00J\x86 \x0b\x93A\x09\x1a\xd0\x9bW<\ +\x82\xfbP\x9b\x9dI\xb7aAqU\xbd\xcdJ\x82M\ +\x95o\xec*\x15\x030^\xa6\xabO\x88\x91\xa4\xf0`\ +,\x17m\x0e\xadE\xb8\x96\xe4\xc9\x18\xbc\xb2*v\xbd\ +\xcf\xd2\x85\xed\x942\xe6!\x86\x84\xad\xa8p\xf0$>\ +g\x01\xe5;\xdfP\xb4nK5\xc9\xb9\xa5\x16sT\ +D\x18\x9b\x93\xa5\x18\x17\xf6\xfdh\xd5I6\x03\xd8T\ +\x83j\xaf\xc5?\xcdE\xbe\xcb\xb7J\xba\x88\xc4}\xd2\ +\xab\x9el}+\xfc\xd4\xa4\x10\xc6\xe5\xdb\xefd;\xb3\ +m\xf2\x15f\x8df\xc3.\x22$\xb4l\xca\xb4\xdc>\ +\x1eLCx\xb31\xc9\xd4\x9dO\xb5h4\x84\xefo\ +kP\xc8\xdb\x17\xb9\xcd\xa2\xa8\xe7\xfcU\xf9Z\x04P\ +\x13$J\x11y\xff\x00sH\x9ab[\xc1\xc3\x0b\xb1\ +\xd0\xb7\xf1V\x99T\xaf\xdej\xa3R\xa3D\x1e\xfdi\ +\x18c\x0c\x0c\xeeT\xdd\xbd#\x98\x14\xd4\xe8Pa\x22\ +.\xdego\xd7\xa5U\xb3\xbc\x85\xc9\xb9cszl\ +\xce\xf3I\x99\xb4\x1c\x80\xe5\x5c\xaba\xa5f\x90\xaa\x91\ +\xfd\xaa\xce\x0f\x0c\xd2\xb5\x94X\x0d\xcf!L\xc1`\xda\ +O<\x9eT\xeb\xd6\xb4\x11\x00P\xaa,\xa3\xf3\xadN\ +?h\xb58`!\x5c\xb1\x0bw\xb6\xa6\x8c$G\x16\ +\x19\xa3\x5c\xd2!\xbfBF\xd5*\xb6\xda\x83\x17\x13\xb2\ +,\x88}\x1c\xbfz\xe8\xc1\xe9\x1a\x81e@\xbe\xc2\x99\ +\x15\x936v\xb0\x1a\xde\x86\x09ch\x95\xd9\xc6kj\ +\xa3{\xfbT\x82d\x901\x1a\x8fH\xe4\xbf\xde\xb4\x83\ +\x8bI\x5c\x092\xd9W@\xbc\xc7\xbd\x06\x10g\xc4\x22\ +\xf5aW\xa3\xf2\x8boK\x8a \x98\xd2\xc0yB\xe6\ +\x1d\xb9Ux\xf64\xf6\xcau\xb7:\xa1\xc5Tx\xe0\ +\xda\xfeQ\xbe\xb5t\x1a\xa5\xc55\xc4\xfb(\xa7\x97\x8a\ +*\xb1\xd2\x90I\x00\x8e\x86\xd4\xd9\x0d(\x9b\xfc\xcd\xeb\ +\x9bP\xec\x04A\x98\xc8\xc2\xea\xbb\x0e\xa6\x9f\x8ab0\ +\xce\xc4\xea\xdeQS\x87\x190\x88:\xdd\xab\xa4\xb1x\ +\x94\x81`\x0b\xeb\xcc\xedZ\xf8\x91|\xa0\x06\x16\xd0~\ +\x94\x12\x1e\x94R\x90\xd7\xccozQ\x1d\xcd\x14'3\ +l\x09\xd3\xbdH\x91\x8e\xfb\x0eGZ\x0b\x80,+\x94\ +\x92l\x01&\x84\xe9b\x86OR\x05'\xe2Z\xa7<\ +M\x0b\xe5apv#cW\xb4\x0c\x14\xba\x06;\x02\ +\xd4\x18\xb0\x87\x0cD\x92\x22\x95\xd5u\xbf\xe9E\x86)\ +\x0br\xa2PI\xb0\xd4\xd0#\xc1\xcf\x13\x17\xd4\xd0\x89\ +\x96i\xd3\x0f\x09!\x5c\xf9\xda\xda\x9f\xedF\x93\x90\xa6\ +l\xab\x9aF\x1f\x0a\x0b\xfet\xc1\x95E\xe4\x8aH\x87\ +\xe2k\x11\xf9T\x02\x02\xe5@\x15z\x0a4b\xbbs\ +\xe5LK\xdc9\xc3a2\xf3F\xbe\xfb\xde\x8f\x150\ +\x86E{\x5c\xb2\x80A6\x04\xeaE\xfeB\xa8`$\ +\x11b\xb3\x92l\xe3+\x0e\xd4\x7f\xe2X%\x93\x04\x92\ +F\x0b\x04\x7f5\xba\x01Z\xdf\xf1\x1fI\x96y\xb18\ +\x96X\xbc\xf2\xf3k\xf9S\xda\xb4!\xc1\xb4\x08\x1b\x13\ +1\x9d\x86\xad\x1d\xb6\xf9\xd5_\xf0\x8a4e\xf3\xad\x89\ +\xbb-\xc6\xfaoZ\xc4\x02\xc1\xb9\x8et\xf1\x9b5[\ +\xf0\x11\x95\xb2\xac*\xa8\x1bP@\xb1\xa6\x80\xe1n%\ +r\x07\x22i*\x8f\x1b\x05m\x81%\x1fqn\x86\x9d\ +\x1b\x07%C\xad\xf9\x81\xbdn2?\x12f_) \ +\x1e\xadC\x92[\x1b\xc8u\xdc^\xf7\xa6\x0a%Pk\ +X\x08XT\x91\xe2G\x1b\x01\xa8\xf2\xdb\xf4\xac/\xf1\ +\x06\x0da\xe2\x8f,`\xe5\xf0\x96\xc3\x90&\xbd\x134\ +HIy\x05\x97SmM\xab#\x12\xed\x89\x9d\x8b\xaf\ +\xf9\xc7\xd3\xd0r\x15\xcf\x9c\x99\x8dK\xdb\x1f\x83a\xdc\ +\xced\x91\x09\x8e=M\xfa\xf2\x15\xa4\xcd\x9c\x97\xd8\xdf\ +Z\xb4\xf8o\xb1\xc6\xb0\x0b\xdbrz\x9aD\x82\xcf\xee\ ++\x19\x9d\x1d\xd1\xc1\x8a\x01BM\xa8\x1b0\xde\x9a\xea\ +\x08\xb8\xb3)\xd8\xf2\xaaN5\xae\x8eW\x88\xdd\x0f\xb8\ +;\x1aub\xd3(\xbd\xec>\x94\x0fr\xc0[cr\ +h\xe3\x929c,\xba\x11\xea\x1d*\x06\xe4\xf5\xab\x01\ +L,h\x1cS\xa4\xda\x96\xda\x8a\x11F\x94\xc2\xccz\ +\x1au.ASA\xa8\xcd\x91\x1d\xf9\xaa\x93]n\xe6\ +\xa0\xd8\x5c\x1d\x98\x10k(\xb4\x92\x03\x021\x99\x14\x05\ +\x02\xd7\xd4P\xab\xc3-\xc4fY\x0fP\x9aU\x7f\xb1\ +D\x8f\x98\xb9q\xf8mjy&\xc0\x1d\x00\xd9F\xc2\ +\xb3\xb7\xe9\x10\x8a\xdf\x04\x97\xf6_\xe6\xa3(\xd6\xe0\xff\ +\x00\xd4\xc0~\x97\xa15\x16\xbd%3\x06(V)#\ +BE\x8d\x81\xfdj\xae\x12)`\xc7 e\x076\xc4\ +\x1d=\xea\xd2\xad\xcd\x80\xd4\xd1\xaf\x99\x83(\xb8\x00\xaa\ +w\xeah\xcd\xed\x00\xee@\xae\xb6\x94A,.\xcc\xa0\ +u,)\x89\x16r\x08\x05\x97\xae\x81O\xcc\xefV\x22\ +\xe3\x17Q\xa51\x14\x0dl>b\xa3\x10q\x10\xa0e\ +Hr\xed\xa1\xcdL\xb1\x08\xb9\xc8/o5\x86\xd5\xa0\ +\xe6b\xdb\x9d\xb6\xedBu\xa2\xae\xb7]j\x01\x02\xf4\ +k\x14\x9fk\xf13G\x95T\xaa\x0d\xcd\xbeU \x00\ +\xa5\x98\x85Q\xb95_\x11\x89\xcdt\x8b\xca\x9c\xcf3\ +U\xc8\x85\x8a\x91A\xca\xa7;\x0e\xdeQ\xfe\xfe~\xf5\ +W)&\xe7sF\x05\xa9\x98x\x9eV\xb2\x0d9\x9e\ +\x95\x9fZ\xf0\xb4BNU\x04\x93W\xf0\xb8\x05[4\ +\xda\xb7\xe0\x1f\xbd;\x0f\x1cp\x0b&\xad\xcd\xbf\x8af\ +j\xdc\x98\xcd\xa9\xb5\xed\xca\xdc\x85\x12\x8a\x1b\x82,j\ +V\xca\xb6\x17\xa5\x91\x8b^\xd7\xa6\xa1Q\xccw\xaa\xac\ +u\x00nh\xe3\x00noZ\x95\x1bh\xd4\xe5\x8d@\ +\xbe\xe7\xad\x14^Im{\xe9B\xac-cLR\x00\ +\xd3JP\xc3P\xcb#'\xde\x04\xcc\xa1l\xc0\x1dF\ +\xb5\x05\xa8Y\xc8F#s\xe5\x1e\xe7Ju\x1d\x04\xa9\ +*\x07P@&\xda\xd6~._\x12wn\xa6\xacJ\ +\xe2\x0c)Pv\x19W\xbfz\xce&\xe3S\xf2\xac\xf2\ +\xaaD;_@hKT3Z\x82#\x9etQ\xcd\ +\x85cZj1\xb2\xaa\xdf@\xa0~T\x8cc\x950\ +\xba\x9dC\xe5\xa2\x99\xc6cm\xafI\x91\x81@\xcc.\ +#p\xde\xc3\x9d6\x887o9\xe9z\x16z\x17\xbe\ +r\x07\xd6\x96Y\x7f\x18b>\x1475#\x01\x19K\ +1\xca\xa3sUq\x18\xdb\xdda\x05W\xaf3Mo\ +1\x0d \x04\x8d\x97\x92\xff\x00&\x97&\x1e)\x1f5\ +\xcau\x00iY\xbb\xf0\xacA\x1c\x22\x04&5r\xeb\ +\x98\x96\xde\x8e<>\x1a\xe7\xc8\xc2\xeao\xe6\xedB\x18\ +X(\x16\x0a,(\xe2\xdc\xff\x00\xa4\xfe\x95\xa4\xcc\x8b\ +\x0f\x85Q\xe8g\xff\x00Q\xb5\xa9\xb0\xc5\x04s,\xb1\ +\x87\x05v\x17\xb8\xa0Z%\x22\xf5\x89\x84\xe54W\xa5\ +\xa9\xa2\x06\xb5\x00\x85h`\x1dq\x18v\xc3Hu\xb7\ +\x94\xedY\xe0\x1264P\xb3#\x86\x06\xc4\x1a\xd4\xaa\ +\x8e\x09d\xc3cAcfC\x95\x815\xab\x81\x99\xb1\ +14\x99W-\x81\x16\xf8O0}\xa9\x18\xec2c\ +\xb0\xeb\x22\x0bKk\x829\xf5\x15\x9d\x85i0\xf2\x96\ +\x89\xca\xb6\xc7\xca5\xf7\xebN\xde5\x9f[\xeaH\xd8\ +\x91\xedQ\x1a\x83\x8b\x92O\xc22\xfb\x9bjj\x84<\ +NAa*D\xfa\xea@ \xd5\xdc\x06%19\xc0\ +9_1`\x87r9\xfb\xd6\xe5\x94a\xf4\x9ct\xb2\ + T_*\xb6\xed\xd7\xb5:\xab\xf1\x17UTV\xb1\ +\x0a\x0b\x9d\x7f*o\x82;\x8aL\x90a|\x08\xf7\x90\ +\x0b\x91\xd2\x93\xc2!\xb1\xfbK\xec\xa7\xc8-\xb9\xebT\ +s4\x85\x09\xdd\xc5\xfed\xff\x00z\xda\x08\x22\x81c\ +\x03\xd1a\xf3\xac\xce\xee\x9f\x112x\xb1\x956\xd7k\ +\xf25\x97*\x14%O\xa8\x1dkX\x9a\xa3\xc5\x96\xcc\ +\xae>!\xad\x5c\xe7\xd5\x14_jQ\xfd\xe9\x8fK\xae\ +m@\xe1\xdc\xa6-no\xae\xa3\xad_}\x18\xdb\xad\ +gF\xb9\xa5\x04\xef\x9a\xb4d\xd6C\xefT\xf1R\xdf\ +QK\x90\xe9jc\x02t\x1a\xd2dh\xc1\xb7\x88>\ +@\x90>u\x00\xd0\xbe\xd4K\x94\x93\x96Ekn\x06\ +\xe2\x84\x82\xc4\xdb\xff\x00\x154Y\xde\x85\xaa%\x95\x82\ +\xe6\x8a\x02\xe87s\xcf\xda\xa6\xe1\x91\x5c\x02\x03\x0b\xd8\ +\xd6QN5\xa8jc-\xecoP\x10f\x1c\xfa\xd1\ +\x87@\x14\x9a,\xb6\xa6e\xa9\xcbV-((*\xca\ +K.ak\x8d\xc5\x14q\xc6\xb1\xf8e\xe5u\xe8N\ +[})\x81h\x82\xd3\x80\x0a\xa9\x18\xb4Q*\x9eF\ +\xd75,^\xd7snW4\xc8\x94\x5c\xb1\x04\xf6\x1c\ +\xeap\xe2b\xec\xf3F\xcavO)!~\x94\xe2\x05\ +\xac\xc1\x9dH\xb7\xa1[\xf5?\xc5G:k[5\x83\ +\x02w\xb6\xb4\x06\x94\x1dzW;\xc7\x12\xe7\x96\xe3\xf0\ +\x8e\xb5.\xc9\x14^#\xeb\xf8GST&\x91\xe5\x90\ +\xbb\x1b\x9f\xd2\xb3n$\xe2q\x0d3o\xec\xa3aK\ +B\xc3s\xf2\xa8\xb6\xba\x1av\x16#+\x1b\x90\xaa7\ +5\x8e\xebF\xe10\xe6_;\x9c\xa89\xf5\xf6\xab\xc0\ +\x85\x5c\x882\xa8\xe5J\x04\x9bk`\x05\x80\xa2&\xba\ +H\xc8\xf3\x1a\xec\xc6\x97\x9a\xba\xe6\x95\x86\x86\xa9\xce\x00\ +\xb94\x9c\xe3\xdf\xb0\xa8\x05\xcb^\xd6\xa8b\xc4m\xb9\ +\xe6i\x81\xc5V\xbd\x10n\xf5,Y\x06\x8c=VW\ +\xa6#\x166\x02\xe6\x9d\x06\xe6\xbd\x0e\x22A\x14Q\xb9\ +\x22\xe6Aa}M&lT\x10\x86\xbbf+\xea\xb6\ +\xcbT\xa7\x9d\xe7\x91f\x94\xda\xc2\xf1\xa7\xe1\xee{\xd1\ +y\x19\x0e\xc5N\xd3I\xad\x85\xb4\x03\xa0\xa4\xbb\xd2\xf3\ +\x8044\xb7\x92\xb3y5\x83v\xbd\x1e\x00\xdf\x12\x0f\ +\xe1\x05\xaa\xa3\xc9\xad\x85\xc9\xab\x1c:\xe29\x1e\xfb\xd9\ +E\x12\xf6\xbe-\x96\xd2\xe7A\xd4\xd0\x19T^\xec\x08\ +\x22\xc6\xd4\xb6`5\xa0-}kZ\x12K\x15\xca]\ +\xddG':\x7fz\x92\xeeE\x89\xb0\xe8(\x0bP\x93\ +Y\xd3\x86s\x05M\xa8\x81k^\xff\x00QH\xbb\x5c\ +[\xe7FI#O\x9dZ\xb0\xe5bE\xf2\xe9O\x84\ +\xf9\x88\xec\x7fJ\xac\x5c\x11\xe5;\xd3bb\xa6\xd6\xb9\ +\xca\x7fJ\xd4\xa1H\x1a\x90u\xa5g\xca.A>\xd4\ +h\xc1\xb5\x17\xac4|f\x8cR\xe3\xa6-i\x94\x8b\ +t\xbfz$7r7\xb5V\x92kh\x01\x04\xefz\ +\x98K\x13\xa5\xea\xd3\x8d\x9e\x17)\xb1\x88\x9e\xeb\xefC\ +\xc4p\x8c\xef\xe3\xc0\xb7\xbf\xad@\xd8\xf5\xaaQKk\ +\x16$0=+W\x0f\x88Yb\xf1C\x00\xc3\xd4\x01\ +\xfc\xeb\xa4\xb2\xcce\x93\xa86:\x1a8]\xd2Ux\ +\xdb+\xae\xa1\xbb\xd6\xb4\xc9\x16%-*\xef\xa8`,\ +Ee\xe30\xef\x87\x97+j\x0e\xaa\xc3cE\x98\xa5\ +l\xc5\x8c\x8aX\x83\x94q&\xcc\x80s\xa8\xc4D\xad\ +\x85\x99\xe6[\xb9\x5c\xc7]\xba\x0a\xcb\xe1\xb8\xaf\xb3L\ +I\x17V\x16`7\xab\xd8\xbcv\x1d\xb0\xae\x91\xbb3\ +8\xb5\x8a\xda\xd5\xb9\xcbgc\x19\xc8\xe4H\xad\xa6\x84\ +V\xec\xad\xf7\x82\xfc\xc6j\xc0\x17,\x15E\xc9\xda\xb7\ +J\x02@:\x9c\xa2\xe4\xfbQ\xc1rC0.\x14\x1d\ +F\xa6\xaa\xf1fE\x85\x03\xba\xa9\xb9\xde\x89\x8b\x16&\ ++\xaa\xde\xc2C\xcf\xda\xa3\x1e\x8a0\xcc\xc85\x0d\xb9\ +\xd4\x9b\xf5\xa6\xdd\x81\x9d-\x94\xf9\x9dGMnO\xb5\ +-\x8a\x9f*,\x8c\xd6\xbf\xa6\xc0|\xcd\x1el\xb7*\ +\x02\xf5\xb0\xb5-\xdd\x8a\x9b\xb1\xd7\xbdslXP\xfe\ +8&8\xd9\x13R\x15\xaej\xdb2\x9b\x95\x0e\xc7\xba\ +\xe5\xfc\xcd'\x00\xb6\x89\x9f\xf1\x1b\x0f\x955\xc3\x91\xa2\ +\xb1\xaa\x0aS\x9b\xe8\xd6a\xf8~\x1f\xef@\xee\xd6\xd1\ +\x88\xf6\xa9\x9d\xa2\x89o4\xca\xbd\x86\xa6\x93\x16'\x0b\ +4\xa2$f\x0cv,45j\x826v\xb9\x16a\ +\xb3\x8d\xc5W\xc4<\xc9*\xa6\x22K\xc4\xc7R9\x8a\ +\xb6\x14\xe6 \xe9a\xafj\xad(I\xe5\x12\xbd\xcck\ +\xa4k\xf8\xbb\xd1H\x89\x12!\x0bp\x84X\xb5\xad\xa7\ +E\x1f\xbds\x9b\x9b\xec\x06\xc3\xa0\xaef\xb9\xeb\xd0t\ +\xae\xb5\xf7\xa9\x04\x02{\x0a5Kl*TQ\x9d*\ +\xc4\x10\x95\xd9E\x10\xa9\x03\xa5(9jr\xf7\xa3`\ +\x91\xaei\xa4X\xc7}\xea\xac\xfcJ$\x16\x82<\xc7\ +\xf1>\xdfJ\x91\xc1\x09\x16[\x9e\x82\xa5\xad\x10\x1e4\ +\x89\x1fB\xc6\xb3\xe5\xe28\xa7[fT\xff\x00B\xda\ +\xa8\xcd!$\xdc\x96'rk\x17\x9c\x87\x1bo\x8a\xc2\ +\xb9\x03\xc6g*\xe2\xc7.\xda\xf2\xa2L\x92\xdd\xa2\x91\ +Xs\xedY1\x00\x11F\x9f\x11\x07\xbd\x80\x1f\xa9\xaa\ +\xd2\xe3\x0e\x1aL\x98\x7f3\x83\xe6o\xda\x8f\xdez\xb1\ +\xa3\x8f\x90K?\x94\xddTXUrG3\xf2\x14B\ +H\xf1\x10\x09\xe1\x16\xbe\x8e\xbf\x84\xd0_\xf2\xa3\xd2\xe2\ +\xdd\xad\xf3\xad(PG\x02'\xc5k\x9a\xcf\xc3)\x93\ +\x10\x8b\xd5\xabI\xc8.H\xebZ\xe3\xd0\xa8.A\xf4\ +\xde\x84\xca/\xb5\xaav\xa5L\x09~\x80\xd3\xa0\xdc\xeb\ +\xd6\xa6\xf7\xdf\xe9HE\xb3\x5c\x9d\xa8\xcb\x81\xdc\xf4\x15\ +j0\x9e\xa6\xbb8\xef\xf4\xa5\xa9 k\xa9\xa3\x8c3\ +\x9b(\xf7\xedN\xa1\x06\x1d\x0f\xd2\x89nN\x83\xf3\xa5\ +<\xd8tb\xa2h\xe4\x90|\x0aj\x9e#\x19+\xdd\ +A\xc8\xbf\x84Q\xfaK\xf2\xcc\x90\xfa\x9dX\xfe\x10u\ +\xaa\xf3\xe3eq\x95>\xedz/\xf3Ts\x1a\x90\xd5\ +\x9bm8\xb05UF\x17\x04\x97=\xc0\xe5\xf55\xd9\ +\xd9\x98\x93IlB\xa6<\xc5!\xb2\xb2\x00\x1a\xf7\xb5\ +\x1b\x5c>]I\xed\xce\x8d)s@Ozb\xe1\xe7\ +qp\x84\x03\xcd\xb4\x14G\x0a\x8b\xebr\xe4\xf2]\x05\ +YR\xbc(\xd3Jr\xe8\x0f3\xc8U\xdb\x85@\x89\ +\xb2\x8a\x92HP\xa0\x05\x1d\x05,\x9a|\x0e&\xb8\x9a\ +\x12{\x9fj\x16c}\xf4\xa8\xa5\x9a\xa05\x05H\x1a\ +\xd1\xa8\xc5\xa6!\x03RiK\xbd\x1a\xd2\x8cPsf\ +[\x0e\x97\xa6@\xcc$\xcc\xc2\x96\xa7J4\xadFU\ +q\xe8\xd0\xb9\x16\xf2\xb6\xc7\xb5\x0e\x181\xd4[]5\ +\xad\x06A4F3\xbd\xbc\xa6\xa8\x94x\xd8\xad\xaco\ +\xb1\xe5E\x98bRV\x0dk\x0d\xfaSs\xbd\xafk\ +RaB\xad\x99\x88\xf6\xa3\xbd\xee:\xd1\x0atac\ +\xa8\xa7B\x86\xdeE6\xa5\xa2\xd8\xd8\x00[s}\x97\ +\xdf\xf8\xa2\x965\x93C4\x99\xb96\xc0|\xa9\x82\x9a\ +\x8a\x19\x8em\x02\xe9N\x85\xbc9\x03(\xb6\xba\xf7\xa4\ +\xa3\x1b(`v\xaa\xf2qY\ +\xb4\xcb\x14@\xff\x00\xa6\xf5d\xe00\xe93\x09]\x9c\ +\x8b\xf9F\x80Q\xa2A\x1b}\xd4\x08\xa7\xa9\x175\xc3\ +97\xd1\x7fm\xc5\xa4h\x04\xa5[(-n\xa6\x91\ +6'\x11&\x8f3\x90M\xce\xb5\xbc\xd6Q\x91Q\x00\ +\xb0\xd3(\xa4\xcb\x0e\x1d\xc1\xcd\x87\x8c\x9e\xa0X\xd6\xaf\ +\x1b\xfdZ\xf3n\xecX\xe9\xa9\xe7Qw\x8c\x82\xa7[\ +\xd6\xe8\xc3\xe1QH\x18T\xeeI\xbdV\xc5p\xe8\xe5\ +\xf3\xe1\xceV\xff\x00\xdb<\xfd\xab\x17\x85:\x9c>9\ +q\x11\xa4x\x80\x10\x1dY\xaf\xea\x02\xdb\xfdEX\x90\ +f[\xa1B\x08\xf2\xd9\x86\xd5\x910)\x9e3\xff\x00\ +-U-\xdc\x9b\x9aG\x85&\x5c\xd9\x18\x0e\xb6\xab\xf5\ +b\xc6\xc1x!\x07\xc6\x9d\x10\xf4\x1a\x9aK\xf1(\x14\ +\xda(\x19\xf5\xdd\xcd\xbfJ\xcc\xb5\x12\xa8\xe9G\xee\xfc\ +X\xd2N'\x11\xd2L>^\x99[\xf9\xa7\xae#\x06\ +\xc37\xda2\xf6#Z\xce\x87\x05<\xab\x9a8\x0b\x03\ +\xce\xd4\xd4\xe1x\x92\xd6x\x84c\xabZ\xb5/%\xd2\ +\xebc0j\x09\x12\xbb\x9e\x81m\xf9\xd2\xbe\xdd\x88\x98\ +\xe4\xc2A\x97M\xeds\xf5\xae\xc2\xf0\xec4c4\x8e\ +\xd27A\xa2\x8a\xb62\x85\xca\x8a\x15z\x0a\xd7c\xa5\ +\x13\x82\x9aC\x9f\x118V;\x86\xb94c\x87A\x94\ +\x033\x5cnr\xe8}\xaa\xdd\x8dq\x01W3\xb0Q\ +\xd4\xd5\x91j\xaf\xfe\x99\x87,-<\x84~\x1c\xbb\xfd\ +(\xfc>\x1d\x85\xda\x10\xcd\xd0\x9c\xc7\xfbR\xf1X\x92\ +\xdeX\xae\xab\xd7\x99\xaa\xc0X\x97c\xa2\xeaMf\xd9\ +<8l\xd34\xae[.Q\x1a\x8b[\x99'\xfbR\ +%\xc3\xe1\xf1k\x91\xd3$\x9f\x0b\x8d\x01\xf7\x15\xcc\xc5\ +W3z\xa49\x98t\x1c\x85u\xae4\xac\xd2\xcd\xc1\ +\xcb'\x0f\xc7\x94\x9c0S\xa3\xafQZ3 R\x0a\ +\x9c\xca\xc2\xe0\xf5\x15_\x8f\xa6|<\x13[\xcd\xaa\x13\ +m\xfaU\x8e\x03\x1c\xb3\xe1L3\x02\xa15Fm\xed\ +\xccQ=\xc5\xff\x00N\xe1\x91\xfd\xe9\x97\x92\x0f\xce\xad\ +\x11R\x02\xaa\x04Ae\x1f\x9dA\xda\xbafFPE\ +\x0b\x0b\xd4\x9a\x83R\x09],I\xb5Gm\xbeTD\ +\x8a\x8b\x83Rq\xd0\x0d\x0b\x13\xb2\x8euW\x17\x8dw\ +\x06=\x90\x1fB\xe8>z\xdc\xd3\xf1D\xae\x14\xb86\ +(A\x07oz\xcc{\xe67\xde\xf5\x9eW\x0c\x11H\ +\xe5\xb6H\xd29\x14\xddJ\x8b\x03\xd8\xd3$\x1e!2\ +*\x90o\xe7^ji\x17\x14x\x9c@\xc3\xe1Rk\ +\xa8\x99\x89\x11\xb1\x1b\x0e\xf5\x82\x91{^\xc6\xddj\xcc\ +\x18Wp\x19\xceE<\xce\xe6\xa8`1\xbcRfv\ +\x9b\x13\x85\xc8\x8b\xba\x1e|\xafW\xb0\xdcNS\x88H\ +10\xc4\xcb&\x89*\x8b\x0b\xf7\xa7\x8d\x95v\xb4p\ +\xf86\xb6x30\x16\xce\xc6\xe7\xe9L\x8d\xb2\x05\x88\ +\x15\x03d`\xb6\xbfc\xde\x80\x99\xd4ZH#$n\ +\x11\xac\xdfJ\x15\x9b\x0f\x22\xb24\x99:\xac\x9a\x11]\ +:d\xc6$\x9dw\xef@\xc6\xe7\xd8\xebJ\x93\x17\x1a\ +I\x91\x88\x91F\xce\xa7_\x9d\x13\x9d\x99Neaq\ +\xde\x8d8\x96j\x02\xd5\x04\xdf\x9d\xbbP\xb9\xb7;P\ +\x5c\xcdPj./\xa0\xbf\xb5F`v\xbe\xb4$\xeb\ +z\x82X[KQ\xc8\x22\x8d~\xf1\x82\x9e\x97\xb9\xa8\ +\xc3xS\x12\x15\xcenJt\xbdHq[.\x9b\xf3\ +\xa3\x03Z\x0f\x0b]\xed\xefF\xa2\xca\x05\xefJ\x1a\xd3\ +\x12\x821L\x02\xd5\xa8\xc8\xd2\x98\xf1\xac\xcb\x95\xf4<\ +\x9b\xa5)i\xe9\xbdi3\xe6\x8d\xe2r\x8e5\x1f\x9d\ +\x08\xad9#Y\x93#\xef\xf0\xb7J\xce\x91\x19$(\ +\xc0\x82\x0db\xcc2\xe9\xae\xb9O\x87\xbd\x8e\xa4\x9d\xcf\ +3\x5c\x05\x1c\xdf\xe77\xb9\xb5\x0d\xe9\x02Sp\x15\xaf\ +a\xb7Q\xdcS\x16\xecr\x9fX\x17\xb0\xd9\x87Q\xfc\ +R\x81\xa9\x92\xed\x87p/u\x19\x92\xdb\x83LG)\ +7\x16\xde\xb5\x0c\xf1\x05R\xee\x01 h5\xaf?\x06\ ++\x171\x11\xa1\x05\x8f\xc5m~\xb5\xbd\x87\x89a\x85\ +P\x85f\xb0\xccmz\xd7\x1b\xa2\x9aE\x8e\x86\xa4\x5c\ +\xd2\xd4\xaa}\xd9\xd1o\xe4'oj`\x16\xde\xb6\x04\ +*1\x04XD\x0d\x8b\xeez\x0a\x0cT\xf1\xe1\x94g\ +\xbb;\x0b\xac`jG^\xd5\x9d6&iY\x89\x01\ +.,\x15M\xc9\xf7\xaa\xf2\x90Hw\x10\x99\xb1X\x85\ +\x82\x1b\x95\x1a\x0e\xe6\x9b\x0cq\xe1\x90\xc6\x08\xb9\x1ef\ +\xebK\xc1\xc0b\x87;+\x09\x1fn\xc2\x98\xca\xbb\x9d\ +}\xe8\xff\x00\xa5K\x8a\x801\x02@,$\x17\xf9\xf3\ +\xaa\x97\xd6\xb41\xe9\x9f\x0d\xa0\xd63\x7f\x95g\x1d\xeb\ +\x1c\xbd1\xa6[2+\x8f\x89E,\x92\xcam\xa5\xff\ +\x00:^\x0d\xf3A\x97\x9a~\x94C\xa06\xa8\x16I\ +6\xb8\xd3\xad\x14zJ\xa7\xa1\xa2+\xe4\xca5\xcd\xce\ +\xb8Gv\x00Tu\x8f\xc4n\xb8\xa6p\x80\x17!\x9b\ +\xb9\x06\xa8\xe2#\x9de\xf1\xf0\xec\xc7[\x94\xbd\xed\xf2\ +\xadN-\x22\xc9\x8a|\xa3\xc9\x1a\xe4\xbd\xb7nuD\ +\xe6\x04\x10lo\xbdr\xe5;n\x22qcr\x02\x92\ +\xb7 r4\xce\x16\x10\xe3a2\x80\xc9\x9bQKu\ +\xcf\xb9\xf9\xd0FZ9\x01S\xa84yS\xd1JI\ +\x94\x8e\x9a\x1d-QcA\x81\xc4..0\x09\x02e\ +\x1a\x8bz\xbb\xd3\xc2\x9b_a\xde\xbb0U\xad\xca\x89\ +A'J\x87\x96\x04\xdeL\xc7\xa2\x8b\xd5y\xb1.\xc3\ +,c \xeb\xce\x8d]\xac\xcb$q\x03\x9d\x81o\xc2\ +7\xaa8\xdcC4-)L\xd9H\x01o\xa0\x146\ +$\xde\x89UJ\x95\x7fK\x0b\x1a-\xb4\xe4\x84G9\ +\x91n0\x8fnEM\xe9\x18\x99d\x98\x18\xa3\x85\x94\ +s\x16\xb9\xad\x08\xd4\xa4i\x116*,\xa4\x1d\x1b\xfb\ +\xd4\xb1k\xdc\x92\x1bk\xf3\xac\xe6\xc3\xaa\xb6&$.\ +,\xc5|\xc2\xd5\xd1\xa3\x19\x02\xa0'1\xb5\xa9\xae\x09\ +7&\x9f\x80\x0a\xaad\xb7\x9a\xf6\x14\xc8\x8a\xe21$\ +\x185\xcd\xe6\x7f\x13K\x8d/j\xa9\x81\x91\xd7\x88F\ +\xd9\x89%\xad\xa9\xab\xdcn\xc7\x07\x106\xf5\x1a\xad\xc1\ +\xe2\x0f\x8a\xf1\x18yb\x19\xbe|\xa8\xbf\xec\xa7\x8b\xd2\ +\x8c\xb20\x1b\x03Bh\x98\xdd\x89<\xe8k\xa0A\xa1\ +\x22\x8c\xd4\x11Y@\xcb\xda\xba\xdd\xa8\xab\x8e\xd5$\x04\ +\x8eU\xf0\xa4$\x03\xccr\xd2\xb3q\x11\x15\x95\xa3`\ +\x04\xa9\xb8\xe4\xc3\xa8\xad*\xab\xc4\xcf\xdf\xea\xc4\x1d\x19\ +\x1b\xa7oj\xcf)\xd1\x8c\xf2)|b1/\x08\x12\ +X\xe6\x81\xec5\xe4j\xd4\xaa\xa4\x16]4\xb9C\xb8\ +\xfeGqJ\xc5\xdb\xff\x00G\xc4\xdc\x1b\x1c\xb6\xb8\xef\ +\x5c\xec\xe8\xb3\xb8;^9\xe3\xfe\x90\xdfJ\xb2\x8c\xa5\ +2H\x09[\xdcX\xd8\x83\xd4V~\x12S\x06!d\ +\x1b\x0d\xfb\x8a\xd0\x9d\x02\xbf\x94\xf9H\xba\x9e\xd5\x89z\ +j\xb4\xe3\xc7Lp\xba\xb2\xbbGk1\x1e\xa5\xeb\xd8\ +\xd5Y\x1c\xc91w\xe6nmN\xe0 :N\x8e3\ +(PmV\xc48a\xa8\x83^\xecH\xae\xb3l\xd6\ +J\x9a,3\xe1\xcb@\x09`4\x02\xe4\xfc\xc5'\x0d\ +\x8ah\x87\x87\x22f^\x9b\x11Ws\x90\x00_(\x1b\ +\x05\xd0\x0a\x09\x95f\x89\xfcE\x04\xaa\x92\x18\x0di\xb3\ +\xf8\x80\xb8\x8c3\x9dY\x90\xf5#\xf8\xae\x027\x92\xd1\ +\xb7\x88m}6\x1e\xe4\xd5H\xb0\xd3I\x1et\x8c\x95\ +\xebW0Q48v\x0e\xb6w#\x9e\xb6\xa2[}\ +Tr\x00\xabr\x83/6F\xbd\xbd\xc5\xab\x92\x10@\ +(3\x03\xb1\x06\xf7\xa3\x8c\x957\x06\xb9\xa2\x85\xbe\x12\ +\x87\xf1!\xb5o\x02\xb62\x0f\x1b\x1a\xa9\x18\xf3\x103\ +\xdbaV\x06\x1a\x0b\x04U\x0aW\xd3';\xd3\x22H\ +\xe2\x8f$@\xd8\xfa\x98\xee\xd4V\xaaE\xa8aq\x98\ +\x80\x1a\xf9\x5c\x03\xb1\xa5\xa6l\xf6\xb0\xbfz\xb1\xb8\xcc\ +nT\x8b5\xb5\xb5\xb6?K\x83\x5c\x22\xb9\x00&k\ +\xecF\xb7\xfaS\x80*\xa7\xf1\x0f\xa5\x15\xb5\xb5\x19\x8e\ +E[\xb2\xb0\x1f\xd4\xbf\xbdB\x03{\x90\x05\xb6\xad'\ + \xa6\xa0\xa8QF*\x16\x8dWJO\x10\x8e\xea\xb3\ +\x00\x09\x0aF\xbc\xcf/\xd6\x9e\x9b\x0a\xecU\x86\x02R\ +v\x16\xf9kP\x8c\xccD\x8d\x98\xe4[\xd8t\xd8T\ +\x07\xba\x86\x1c\xe8\x1c\xb2\x5c\xdbQ\xb85\x03E\x03\xe7\ +X\xd6\xf0\xd5j4b\x0d\xc1\xd6\x90\x0d\x1a\xb6\xb5j\ +\xc5\xcc\x10\xf1'U\xb0\x00\x9b\xb5\x85i\x06\xb9\xbdS\ +\xc0\xc7\xe1E\x99\xbdn>\x82\xac)\xae\x93\xa8\xcd=\ +N\x96:\x83\xc8\xd2\xf1R\xb6\x16\x0c\xf1\xc8\x00&\xca\ +\xac/cR\xa6\xa9\xf12\xd3q\x05\x81nB\xd9@\ +\xef\xce\xb5oA\xd8<<\x98\x962;\xb6R|\xce\ +\xdb\xb1\xab\xf0\xc7\x0c+h\xd0\x7f\xa8\xeek\x88T\x02\ +4\x16U\xd0Z\xa2\xe6\xa91\x22F\xcb\xa1\xbd\xb9\x1a\ +\x02t\xa9\x90\xe9@\x08\xd8\xde\xfbUR\x01\xf3j.\ +\x0e\xe2\xb3q\x91\x18\xa6*v\xdc\x1e\xa2\xb4\x89\xd7c\ +I\xc5\xc4&\x87/\xc6\xba\xaf~\xd5\x9b4\xc6|2\ +\x98\xa5\x0e5\x1b\x11\xd6\xae\xddJ\x86Su;Vq\ +\xd0\xdb\xa5\x1e\x12s\x11\xca\xd7(w\x1d+\x12\x9b\x17\ +\xc6\xa2\xa5\xe5\xf0 y\x88\xcd\x94i\xf3\xa1[\x10\x1d\ +M\xd4\xd2\xe7\x99\xfcv\xc2\xb2\xab+\xecm\xafj\xd0\ +\x8c\xb9A\x22\xday\x18\x83\xae\xf7\xd4\x1f\xce\x94\xa3;\ +e\x22\xc0\x9d{U\x8cL\x18\x88\x03\x09\xf5wl\xd7\ +\x1bm\xa5 \xdcj-\x5c\xabmu\xe1\xd8E\xb4m\ +\x035\xc7\xac6\xf5\x9d\xc5\xf0p\xe0\x98frCj\ +\xa2\xda\xfc\xe8\xb0\xf8\x9cBYD\xec\x14k`k7\ +\x13<\xb3\xc9\x9aY\x19\xcd\xf9\xd3\xcb\x94\xcf\x04\x94\xc8\ +1\xd2\xc2\xe1\xa1\x0a\xb6\xfe\x9b\x9a\xd4y\x8e\x22$\x9e\ +\xe4\x86\x1a\x8b\xecy\xd6\x22)v\x0a\xa2\xe4\xec\x05m\ +a\x22hp)\x13\xfa\xaeI\x1d/\xca\x8e\x16\xd3b\ +\x10\x86\x17\x156\x14J\x8a\xa6\xe0W\x11[d&\xf5\ +\xd55\xd6\xa99N\x99H\x0c\xa7\x91\x1b\xd1|6\xb9\ +`6?\x10\xf7\xeb\xefCj\xed\x8dH.\xbaf\x04\ +\x10v \xdc\x1a\xb1\x82\x17\xc3\x9e\xaa\xd4\xab\x82nI\ +\x04\xeeG?q\xb1\xa6\xe0\x0d\xa71\xb6PYt\xe8\ +\xdd\xc5S\xd5|'\x8e\x1f\xf8XV\xda\x96&\xbb\x85\ +G\x93\x04\xd2_Y\x1a\xdfJW\x18\x94M\x89X\xa3\ + \xaa\x0b\x0fz\xbc#\xf0\xa1HA\x07\x22\xd8\xfb\xd5\ +?\xdbW\xc2\xce\xf5\x07j\x93s}(N\xf4\xd4\xeb\ +\x9a\xed\xeb\xaa9P\x9cM\x095&\x84\xd4\x90[\xa5\ +V\xe2\xba\xf8m\xd5H\xab\x06\x91\xc5\x01\xf0\x22\x16:\ +\xdc\xd6o\x85U\x1bA\x1bl\x0d\xc1\xe6;\x8a,R\ +\x99p\x18\x88U~\xf1mp6$k\xa7\xb8\xa4\xb0\ +$\xe5\xda\xd4\xd4kb\x1a;\xe5\x91\x95]\x0f\xca\xd6\ +\xacB\xc0e`\xcdqmv;\xd6\x86\x05\xbc\x5c\x0d\ +\x89\xf3Bm\xff\x00I\xab\xf3G\x06 \x9f\xb4\xc1g\ +\xe6\xe9\xa1\xfaPa\xb8w\x85$\x86\x09D\xa8\xe8F\ +]\x9a\xfc\xb4\xac\xce\x16S\xa7p\x01\xac\xe7\x96O\xde\ +\xae\x1d\xa9\x5c&\x16\x8b\x0b#:\x952\x10\xa0\x11m\ +\xa9\xc4v\xae\xb3\xc0\x00\x096\x02\xf48\xb7\x10\xe1\xdf\ +1\xb3\xb8\xb0\x1c\xed]\x888\x87\xc5\x88\x22\x93\x22\xb2\ +\x06\xf6\x16\xa1\x9f\x06\x83\x0e\xefy\x0b(\xbev\xd8\xf6\ +\xab\xff\x00\x01\x18,HH\xc4r)(5\x04n*\ +\xca\xcb\x86\x94\x12\x98\x80\x00?\x10\xb5\xeb9\x04\x92\x9f\ +\x06%,X\xedj\xb6\x9c9\x96\xe0\xcc\x99\xbf\x09\x16\ +\xfc\xeb2\xdc+H\x84\x0c\xc0\x82\xa7@A\xbd\xe8\xd4\ +iK\xc2D\xd0!\x8d\xca\x92\xc77\x94\xdf\x91\xa6\xd6\ +\xe0\xa9\x14LR8\xcc\xb2\xb6T\x1c\xedr}\xaa\x10\ +(S$\x87*/\xa8\xfe\xd5\x99\x8b\x9eL^#A\ +\xa06E\x1c\x85V\xe0[n&C\xe5\xc2\xc0/\xc9\ +\x9b\xccO\xca\x8aW\xc7\xaa\x91$\xb9!\x91o\x90\xb8\ +VS\xda\x9f\x84\xc3G\x83P\x02\x86\x9bvr==\ +\x85v5L\xd8b\xbe\xa6S\x98\x5c\xdf\xde\x9c\xb9\xda\ +&\x0c7\x14\x8c\xf8\x89\x88\x1a\x8fO\x8bv\xb7\xb5\x1a\ +c\xe6\x89\xc4x\xc8s\x10lX\xe8\xc3\xf9\xa6\xc3\x89\ +VDV\x8eB\xcb`\xc5u\xfc\xaa\xc3,s\xc6R\ +KJ\x9fFZd\xfeU\xbf\xd4\xc2c\x9dsA \ +q\xd0\xe8G\xca\xa4\x82\xa6\xc4[\xde\xa9bxl\x89\ +\xf7\x98f.\xa0{0\xae\x83\x88K\x1d\x93\x10\x9e\x22\ +\x8e\xba0\xf9\xd5\xbf\xd1\x9f\xc5\xe5&\x97\xc4\xcf\xfc\x1a\ +\xc2\x0f\x9av \xff\x00\xa7\x99\xa6F\xd1\xcd\x1ex[\ +0\x03Q\xcdj\xb7\x13\x90}\xa5#;\x04(\x18\xf2\ +k\xde\xd4\xdf\x14\xf5Q\x81\x92\x14c`Yu\xb7\x22\ +4\xa5\xc4\xc4\xa5\xb2\x93\x97M(\xf1\x09\x96Ic$\ +\x8b6p\x0e\xe0\x1f\xefS\x83\x86Y\x17\xd2\x04w\xf5\ +\x1a\xe7\xf5\xa4\x00O#\xfa\xd5\xdc\x16\x16\xd6\x92Qq\ +\xb8^\xbe\xf4\xdc,pD@R\xa2S{\x16:\xff\ +\x00jd\x88T\x16\x98e\x03v#Z\xdc\xe2-3\ +RF\xd7;\x0a\xec\xc0\x10\x0df\xcf6i\xfcA|\ +\xabl\xa7\xb7z\xd1#\xc4T\x90i\x9dsS(\xc3\ +\x90\xf45NV\xf0\xf8\xe1<\x84\xb5f%\xd4)'\ +S\xb5fb\x8en.\xcd`O\x8a6\xe7\xad6\xf4\ +\xa3fM$`9\x1a\x8b\xe9C5\x8c\xcf\xa0\xdc\xf2\ +\xa8\x0cG\x7f\x9dkB\x0b\x5c\x91D\xbc\xe8R\xc4t\ +#\xadp7\xedm\xe8H~}(/\xa5\xead6\ +]MF\xf4T\xa9\xc4`\xce\xa6d\x1a\x8fX\x1f\xad\ +Q\xb0\xadp\x1b=\xd4\x12{U|V\x0f1\xbck\ +\x91\xb9\xa9\xe7\xedY\xb3\xebR\xaaa\xe5xI\xcan\ +\x0e\xe0\xecj\xdc\x13G&$\x16!\x18\xc7\xe5\xbe\xdb\ +\xf5\xaaEH6;\xd4\xb0o#\x80NK\x86\x03{\ +\x1a%\xa6\xb4X9\x1e\x19L\xeaw\x04\x5cR\xfe\xc3\ +\x85c\x7f\xb2\xb0<\xf25\x87\xd2\xa8\xea#\x0f\x1c\xbe\ +^\xa0\xfe\xa2\xa0O#\xe8]\xaf\xefW\xea}\x18n\ +\x22\x0c4.Us=\xc5\x8f\x9bjTq\xe1\xd1\xc1\ +\x8f\x0a\xa0\xff\x00V\xb5\xc0Q\xa8\xd2\x82,\xc4\x9d\x95\ +@\xfc T\x85[\xfaE\x08\xa9\xbd V\xf7\xfa\xd4\ +\x1fz\x8b\xd7jjN;\xee>\x95\xd6=EM\xab\ +\xaaH\x1b\xdbc\x5ct\xa9\xde\xba\xc7\xb1\xa9 \x94H\ +\x8c\xb2\xb6T\x1c\xfa\xd5)\xf8\x89\x91\xbc(\x07\x86>\ +\x16'[\xf7\xae\xe3\xce\xde,q\x0d\x15P\x1bw4\ +\xee\x19\x86\x8e,2\xe2$PY\x86`O\xc0\xbd}\ +\xeb;m\xc8s\xad;\x04\xb0\x9cB\xe2f_\x0f8\ +\xcc\xaa\xdb^\xad\xcb|\xc6\xfb\xd2\xf0\x91\xc6\xf0\x09d\ +\x19\x9f19I\xd1o\xa8\xa6J\xda\x92kp}/\ +\xe1\x14$T\xee/\xb0\xaeS}A v\xa5\x04\x8e\ +\xd4\x07\xc4\xbe\xc2\xdd\xa8\xc99\xf2\xefP\xc6\xc4\x0e\xb4\ + \x9a\x13Fh\x1b@OJ\x10N\xa6\xf5S\x8a\x13\ +&$\x22| \x00\x073W\xa1\x1e#j<\xab\xa9\ +\x17\xde\xa8F\xc1\xb1\x99\xdb{\x97\xfakY\xe4\xd4*\ +\x00|gH\x99W\xc2\xb6yH\xbe\xbd\x05\x0e#\x06\ +&\x97\xc4\x8f\x16\xc5\xfa\xca,O\xcciO+\xe1@\ +\xa9k4\x87\xc4\x93\xdc\xf2\xa8U\xbe\xf5\x9c\xeb\xb4\x98\ +\xe3\x9f\xc1?hB\x19=.5\x0c*\xc7\x0bO\xf3\ +$?\x08\xb0=\xea\xae\xe0\xe5\x1bu5\xa3\xc3\x93\xfe\ +\x04X\x80Y\x89`\xcc\x05\xad\xa5j\x0a\x8cn! \ +\x11\x19\x95\x9f\xc4\x04\xe6\xcd\xa8\xd6\xd4P\xaaN\xb9\xb0\ +\xce$\xed\xb3\x0f\x95'\x8bdd\x80\x85\x0f\x95O\x99\ +\x9b*\x03\x7f\xce\xa9x\xe1\x08\xfb\xc7b\x0e\x9e\x19\xc8\ +\xa3\xdb\xadW\x96^\xd6to\x13\x90\x8ch1\xbd\x8a\ +(\x17\x1dE6\x18\x04\x98p\xf8\x89$\xcd&\xa3]\ +\x87\xb5W\x82\x07\xc6g\x95\x0a\xa9\x07\xcc\x09\xb7\xce\xb4\ +%>}5\xb0\x00w\xa2w\xdaV\xc0\xe1\xcc\x124\ +\x99\xd7.V\x02\xc7RM4\x0f\x95HP\xa2\xc3\xf3\ +\xa1\x93Sn\x94\xe6!\x8b\x16\xd3\x97:b\x85\x08^\ +F\xca\x8b\xbbTD\xaa\x22\xcf!\xca\x8a55C\x15\ +4\xb8\xe9\x84P\xa1\xc8\x0d\x95G\xeai\xb7\x10q\xd8\ +\x97\xc5J#\x8dH\x8c\x1b\x22\x0e}\xebC\x87\xe1W\ +\x06\xa1\x9e\xc6s\xff\x00\xd3\xfb\xd1a0\xf1\xe0\xd0e\ +\x0a\xf3s\x7f\xc3\xd8ST\x5c\xdc\xd38\xfd\xa3\x5cT\ +\xb0\xef\xde\xa7\x0cr\xb9\x16\xbeaj4Z`\x5c\xdf\ +\xcdhk\xa2Q\x1d\xfc$\x09}\xed\xbd\x0e%\x0a\xa3\ +N\xacU\x97\x9f^\xd4\xe8\xc1*o\xb865\x18\x98\ +\xcc\xb6\x86\xf6U7v\xfd\xaa\xc4N\x0f\x16$`\xae\ +\xb6c\xa0u\xda\x9b\x8a\x82,R\xdaQg\xd6\xce4\ +\xd7\xbd(`\xa3Y\x96E\x9a\xca\x1a\xe4\x15\xd4\xd5\x96\ +9\x98\x9bnoT\xdc\xed\x7f\xe3($\xfc6v\x95\ +\x80 !=C\x0a\x87\x03\x11\x11d$\xa4\xeaJ\xf6\ +==\xebG\x89F\xb3p\xf3\x03\xb1\x1e#YH\xe5\ +\xfd\xab\x0b\x86\xca\xd8Lca\xa5\xd1Y\xaco\xf0\x91\ +\xb1\xac^\xae\x19\xda\xc7\x09U\x9es\x1c\xceIx\xd4\ +\xa96\xb1\xb0\x1e[\xf5\xb8?\xecV\x8a\x07\x13\x08\x94\ +\x05|\xb7\xb7\xe0\x15\x93\x82\x85^\x18b\x11\x96w\xb3\ +\x02\xbb\x8dkhD\x90\xca\xcc\xacY\x88\xb1\xd0\x00O\ +3O\x1f\x15#\x11\x83R\xb7\x80\x5c\x8d\xc1\x1a\x9e\xe2\ +\xaa\x9f\x14\xb0F.\xdc\xacN\xbfJ\xd1\x04\x8a\x89P\ +L\xca\xf9\x8aH\x9b5\xafzl\x12\xa94m\x1d\xbc\ +E+\x7f\xc5\xa5hp\xe9VL:Dtt\x04-\ +\xf9\x8a^&\x19\xe6 /\x85e\xd7Ck\x9e\xba\xd2\ +\xf0\x0a\xc9\x8f\x8dX\x10Cs\xa6uSF\x1f\xf3T\ +\x9d\x81\xbf\xd2\xb1a\x19\xf1\xe0\xa9\xd1\xa5\xba\xdf\x90\xbd\ +l\xc2~\xf5}\xedX\xa2\xe9\x8e\x00[\xcb&\x976\ +\xb6\xb5r\xf8\xa3f}fo\xf5\x1a\x85\x153_\xc5\ +}G\xa8\xf2\xefC\xafa\xf9\xd6\x80\xd4),Xy\ +F\xa7\xe4+)\xb8\x96 L\xe20B\x83\xa0\xab\x9c\ +M\xcc|8\xda\xf7v\x00\xd6A:\xdf\xebX\xe5s\ +\xc6\xa4_\x87\x88,\x8d|L6\xe4\x0a\xff\x00\x15/\ +\xc4\xa0S\x95av?\xd4l+8\x11\xf8\x87\xd6\xb8\ +\xe6;X\x0eW\xa3\xf5NC\xf18\xccD\xd7\x19\xb2\ +/E\xd2\x82\x1cn*\x11e\x94\x95\xfc-\xa8\xa0\xe5\ +\xb8\xbf\xb5_\xc0\xe1\xa28A#\xc6$g&\xdd\xa8\ +\x9bj\xb9\x0b\x18\xcc6 \x85\x99|7\xfcCj9\ +0n\x144l$\x07\xf0\x9dh\xce\x03\x0d \xb9V\ +\x8c\xff\x00N\xb4\xb5\xc0\xe2\xf0\xe7>\x12Q'`l\ +~\x9c\xeb]\xfd\x1d+O\x01-\x9d3,\xab\xea\x1b\ +g\x14\xa5L\xc72\x03k\xfd=\xea\xf2\xe3\xca\x9c\x98\ +\xbc1\xb8;\x81cS+`\xe6\x91\x1e\x192;\x1c\ +\xadql\xdamFE\xb5]R\xdc\xc9\xf74@Z\ +\x9c\xf8YF\xa9g\x07\x9a\x9aS\xab!\xb3)\x1e\xf5\ +bEuE\xeb\xaaN\x22\xe6\xa4W\x0a\x9a\x92@\xae\ +\xae\xae\xa5:\xdd\xab\xad\xadMu\xaa\xc4\xa7\xc7c\xce\ +\xb1N\xa2\xc4\xaeF7\xe66\xd3\xfd\xefM\xc1\xb1\x97\ +\x0e\x80\x90R\x15\xd1m\xcc1\x02\xff\x00\x91\xa7I\x1f\ +\x8f\x87\x93\x0f\xcd\x85\xd7\xdcUn\x1e\xcc\x85\xe0sl\ +\xe8\x96\x1c\xb3j~Z\x00+9\xda\xf8\xbd\xc3\xc9+\ +*\x12/\xa3\x0b\xf3\xa2\x90\x5cX\xfeT\x8e\x1c\xc0c\ +,~ TU\x87\xb1\xadO\x05\xf5]\x94\x96\xcb\x5c\ +\x17!\x1a\xe8i\x84s\x1b\xfe\xb5\x04\xa8L\xee\xe1T\ +s5\x12\xda\xec\xd7^[\x9a\x9c\xba\xdc\xb5\xcdLo\ +\x0c\xa4\x84\x97nEmE\x94\x13et$n/o\ +\xd6\xa4Y\x15\xd9FRX\x85Q\xb9;S\x0cM\xb8\ +\x1au\xbe\x9fZ\x8b+\x1b\xe8\xc2-\x06\xb7\x05\x8dX\ +\x95\xe4VL$\x8c\x8c\xb6`\x00!\xc0\x1a\xf3\xfc\xaa\ +\x9c0\x9c\x99\x94\x11\x9bC+h\x00\xe7n\xb5\x7f\x1f\ +\xe4\x81]\x15C3X\xf9F\xbaU+\x97bY\x8b\ +\x1eu\x8eS\xb3\x13)\x0f)a\xb6\xc2\x84\x81mj\ +v\xae5\x92\x18\x904\x81T\x1b\x13\xa8\xbe\xf4\xec\x04\ +\x0a\xd238\xba\xc5\xa1\x1d[\xff\x004\xdc6\x1c\xa6\ +\x11\xe7&\xcd\x94\x95\x16\xe5V2,h\xb1\xa0\xd2\xc0\ +\x93\xd4\x91[\x9cF\x93\xc4\xd0\xe28y\x03x\x9b0\ +\x00r\xac`:\x0a\xf4\x11\xb1W\xb8\x17\xb6\xe3\xf65\ +\x9b\xc5\xb0\x9e\x0c\xbe*)1\xbe\xa0\x9eG\xa5\x1c\xf8\ +\xfdR\x87\x829\x18\xf5\x8c\x1b,\xbeS\xde\xae\x85\x02\ +R:\x0eu\x9b\xc3\xe3i1\xf1\x22\x9b\x12\xe3Z\xd8\ +\x97+H\xc5E\x81&\xd5p\x9d*U\xaaZ5\xf0\ +\xcc\x8d\xe5U\xdc\xd1H\xd1A\x18\x92r@>\x95\x1b\ +\xb5Qi&\xe28\x85\x88-\x90\x1d\x15t\x0a)\xb4\ +GL\xd3\xf1\x0cB\xc3\x12\x15\x8cl9{\x9a\xd0\x82\ +8\xf0\xb0\xf8P\x9dO\xad\xc6\xed\xfd\xaabT\x81\x0c\ +0\x8b \xe7\xcd\xbb\x9a\x9bS&v\x82\x06\xb4\xd8\xd7\ +\x95B\x8bS\x10V\x85\x12\x8dmLAP\x83J5\ +\x14\xc0\x9b\x84\x900\x17\xd2\xe4u\xa3(B\x05:\x93\ +\xe6c\xd4\x9dk\x94\x03\xa3lA\x14is\x18\xcf\xeb\ +_+Xt\xd8\xfd+Q\x14V\xc0\x9bl*\x02\xe5\ +P)\xd7[\xdb\xf2\xb5\x00\x07.\xa3QF%>(\ +@x\xd3\xa2\xdc\xfc\xeb#\x8f\xc7q\x16%E\x8by\ +X\xf7\x15\xaf\xc5t\xc4\x8f\xf4\x0f\xd2\xb3\xb8\xbe_\xfd\ +(\xe6\xdf\xc4\x19=\xf9\xfeU\xcf\x9c\xf5\xae-<\x1c\ +\x0b\x86\xc3\xa1\x0bi\x1d\x05\xcf\xe1\x16\xda\xb8\xdc\x9a~\ +(}\xe6Q\xb0\x00}\x00\x14\x83\xa5i\x97\x0a%4\ +5+R\x18\xda\x89\x81\x91@\x06\xce\xba\xa3_cB\ +\xb4@\xebLC\x0d\x9dD\x83Bw\xecy\xd6o\x1b\ +\x8d\x93\x18f\x1bK\xe6\x06\xb4\x09\xca\xcc\xe1K+j\ +\xe0n\x0fZ\x99\x169\x22\xc9 \x12Fv \xed\xed\ +U\x9b\x0c\xea\xaba\xb1\xf0\xc8\x80b.\x8e\x05\xb3\x01\ +{\xd3\xdal(\x5c\xc7\x13\x19\x03\xa6\xff\x00J\xac\xfc\ +2&k\xc7\x88\xca:2\x9b\xfeT\xa9\xb8d\xf1\xdc\ +\x96\x8f/\x22Z\xd7\xa3yE\xd0x\xa6)g\xcb\x1c\ +W\xc8\x97\xd4\xf3\xaa\x95c\xecs\x88L\x9e\x04\xae\xa3\ +\xf0.\x9fZB\x14u%C\x02\xbe\xa5a\xa8\xac]\ +\xfa\xd4\xc7\x0b\xd7X\xd4\x8a\x90<\xb7\xa0\x86\xc6\xb5x\ +m\x9f\x87-\xbe\x06 \xfc\xeb/\xe5W\xf8\x1c\x83\xc4\ +x\x0f\xfc\xc02\xfb\xd6\xb8\xfa/\x8bV\xae\xb5\x19\x17\ +\x14$k]\x18C\xdaE\xc9*\x89\x01\xd2\xcc/U\ +\x8e\x0b\x0e\xf2\xfd\xdeh\xc2\x12I\xbd\xc5\xc8\xb5\xaa\xd1\ +\x16\x89\x8el\xbb\x00}\xcd\xaa]B\x9c\x8a<\xab\xa0\ +\xa3\x16\xb3\x1f\x0b\x8b\xc1\xfd\xec\x12\xe6A\xbd\x8e\xde\xe2\ +\xad`1#\x15\xf7N\xa0H\x06\x9ah\xd5e\x09V\ +\xb8\xff\x00\xcdQ\xe2xQ\x1f\xfcL\x07(\xbf\x99\x7f\ +\x09\xa33\xc3\xba\xb0\xf8X\xe4\xbeQ\xe1\xb7>\x9f\xda\ +\xa9\xcc\x8b\x13e\x92DS\xca\xe7z\xb5\x83\x91\xf1\x8e\ +\xc9,\x8cr\x0c\xc5A\xb6pv?\xcf\xb5I\xc2\xc6\ +\xd8\x93\x11\x04\xc2\x101\x07R/\xd2\xac\xdf\x12\x93)\ +Sc\xf9W\x0a\xb1\x8d\x84\xc5/Ua\xe5\xb7JO\ +\xb5\x18\x5c\x05u\xaaF\x82\xa0\x1b\xd2\x93Pjk\x8e\ +\xa2\xa4\x10J\xb0a\xb8:U>4\x1a,D\x8e\x9e\ +Q\x94I\x19\x07\xa6\x9f\xb8\xabmS,Qb\x03D\ +\xe3\xccQB\xb5\xbd7\xfe\xe0Vl\xde\x908d\x8b\ +\x89\x9a)\xd2\xd9\x81\xb4\x8a9\x1e\xb5d\xd7\x9e\xc1\xb4\ +\xf8N&\xa2\x13f\x12e:\xdbJ\xf4\x122\xb4\xbe\ +\x22\xb7\x92A\x99}\xaa\xe1v\x1a\x9b\xd28\x92_\x07\ +\x985\xad%\xed\xd7J+\xf9\xf3\x0d@\xa6\xe4\xf1<\ +\x10\xc3\xca%$\xdc^\xfaS\xe8'\x0c|\x18\x11\x14\ +\x10\xc4]\x88\xefL,X\x11 \x0e?\xa8^\x80\x7f\ +\x9b\xf3\xe7L7\xbdQ\x06\xd1e\xcb\xe0Gn\x9a\xff\ +\x005 \x8b\x05\x00(\x1b(\xda\xa6\xc6\xa4\x0b\xd2\x89\ +\xe2Z`\xd0\x85\xbd\xa4?\xa5f\xc6r\xb5\xcf=\xeb\ +W\x1e?\xe1\x93\xff\x00\x90\xfe\x95\x9c\xa8\x19\xcfj\xc7\ +/LA\xd7P4\xefE\x86\x88\xcb\x88X\xee\x06c\ +\xc8^\x8a\xd5k\x85\xc6s;\x80n\x05\x87\xce\x896\ +\x9a\x9e \xfe\x1e\x1f\x22\x9d$\xd0\x0bk\x94T`\x09\ +\x93\x0cU\x8d\xccgK\xf4\xa8\xe2eO\x86\x80\xdd\x94\ +\x1b\xd8\xde\xd50\xc5.\x12\xd2\xba\x82\x8e,@5\xaf\ +\xac\xfc7-/\x89\x18\xd3\x07\xe0\xc8\xda\xca\xeam\xd0\ +u\xab\x12\xbcP\xe1\x8e \xd9\xd7\xe1\x1dMcb\xa5\ +y\xe62Hu?\x956\xa8L8\xf90\x9c\x5c\x09\ +\x11\x04q\xb7\xa4\x0d\xbb\xd6\x8c\xdcEP\x0c\xb8T7\ +\x17\x0d\x98\x91\xee+3\x8a\xa7\x89\x83I\x88\xbb#e\ +'\xb7*w\x0e\xe1\xdcV\xc1Q\x13\xc3\xb5\xfe\xf0\xf9\ +G\xf7\xaer\xf2\x97#]\x02w\x9b\x15\x88\xcc\xe73\ +\xb6\x80\x01\xfaV\xbe\x12\x0f\xb2a|/\xf9\x8f\xac\x9d\ +\xbbQ\xe0\xe0L9 F\x04\xfb\xdc\xdfo\xe9\xa2\xb5\ +\xeb|x\xe7u\x9bAkX\xd1\x01S\x96\xedo\x99\ +\xa3U\xad\x0dB\xad5V\xb9\x16\x98\x05A\xca(\xd4\ +kP\xbb\xda\x88\x9bh\xba\xb7\xb6\xd5\xa4$Zj\x8f\ +0\xe8\xfeS\xd8\x8d\x8f\xedI\x89\xb3\x1f1\xdb\x96\xd4\ +\xd8\x8f\xde*\x83\xe5\xccH\xee@\xdb\xf3\xadD\xe3{\ +nhZ\x9aF\x9a\xd00\xa93x\xb7\xff\x00\xaa\x1f\ +\xe8_\xd2\xb2\xb8\xf3\x11\x85\x82;h\xc4\xb9\xf7\xda\xb6\ +x\xba}\xea=\xfdK\xfaiY\x0d\x0e\ +\xcdp\x7f\xee\xae\x5c\xe7U\xae-\xc9\xbc\xc1_l\xea\ +\x1b\xda\x90\xc0\xde\x8b\x87\x16\x9f\x85\xc0Cge\x05\x0d\ +\xbb\x7f\xe6\x89\x81\x07Q\xaf\xb5j\xff\x00Y,/Z\ +!]Q~\xd4!\x0fz\x9a\x10jA5!\x02A\ +\x04n)DM\x16+,\x00\x15\x94f\x00\x8b\x81L\ +\x152\x5cF\xd2\xa5\xc3\xc6\xbe\xe0\x8e\x96\xa5\x03\x10\xf8\ +\xc8\xe2-\x9a5\x00\xeac\xb5\x1e\x192\xc2\xae|\xce\ +\xe2\xe4\xb6\xb6\xaa2K\x88\x9dns\xba\x83\xf0\x8d\x05\ +]I\x84\xa1r\x02\x0a\xd8\x15;\xe9T\xa4\xd0\xd2f\ +\xcd\x98\xdf\xad\xea\xbc\xb0&#\x89J\x19r\xda\xf7u\ +\x1a\xfc\xea\xc6f\x12\x00\xaas|+\xd7\xdf\xb5tq\ +\xac \x859\x8b\x1f3\x1eg\xb7j}\x0c\x9cf\x19\ +\xf0\xf2\xe5:\xa9\xd5XliV5\xbb<^>\x19\ +\xa2\xe7\xba{\xd61[\x12\x087\x15\x8e\x5cq\xa9A\ +m-V8@\xff\x00\xf2P\xff\x00\xaa\x92l7 \ +{\xd5\x8e\x12?\xfc\x8c'\xfa\xaa\x9e\xa6\x89\x02\xdaR\ +\xcd1\x98l\x01'\xda\x81\xae\x01\xd0V\xd9q\x00\xca\ +\xa9sd_\x10\x81\xcc\xec*\x05\xedm\xed\xce\xa1\x81\ +*\xac\x1a\xefke;0\xe9\xd8\xd3\x22\x0aE\x95\x80\ +#p\xda\x11R\x0d\x8d\x12s\xd02\x9d\x18r4\xc5\ +\x8c\xf2\x19\xbd\x8d\xe9%l\xe5FR\x06\xecN\x9e\xda\ +njL\xfe*\x92`\x18b\xa0>Tk.\xbb\x83\ +\xc8\xfc\xe9\xdc\x1b\x1d\x1e6Is0I\x99uRt\ +6<\x8dY\x9a\x05\xc4\xc2\xd8v\x94\x80\xe2\xd6\x0a\x00\ +\xbfZ\xf3\x85%\xc0c\xd9\x1d|\xcbp\xc3\x91\x15\x8b\ +o\x1b\xbf\x0c\xed\xe9\xa7\x89\x9e\x06F\x1c\xae\xa6\xb3-\ +G\x82\xc5\xbcyd\x8d\xd8\xc4\xc7U4\xdcZ\x05\x9c\ +\xd8h\xda\x8a\xd6\xea\x22\xc6\xbb-4-qZ\x16\xaa\ +\xe3\xe6\x92\x08\xd0Dr\x97\xb9'\xb7J\x94\xc5a\xde\ +0\xce\xf9Z\xde`\x16\xfa\xd3\xa7\x8e9#\xfb\xc4$\ +\xa0\xd0\x83jK\xe0bq\xe4c\x1b\x7fV\xa2\x8e\xf7\ +\xa3\xd3\x96H$l\xb1\xcbs\xfdB\xd4J\xd9\xe51\ +#\x03\x95,Ort\xb5V~\x1f8\x04\xfd\xd3v\ +V\xd7\xe9N\xc0\x14\x83\x06\xceHV\x8e\xec\xc0\xef\xdb\ +J;\xde\xd3;\x10VO\xf11\xc8C^O\xae\x95\ +\xb2a\x11\xc3\x1cm\xeaD\x00\xf65\x99\xfe\x1e\x84\xcb\ +\xc6\x17\x12\xea\x08MM\xf9\x9a\xd6\x931\xb9*nh\ +\xe1\xe6\xaaQ\xb2\xadB\xc8J\x94\x07)$\x10z\x11\ +\xb5\x11@9k\xd6\x81\xd4\x12,5\xad#4 H\ +\xabl\xdb\x8e\x87\x98\xa1f\xb1\xb5\xa8\x92\xd7$yI\ +\xdfK\x86\xf7\x1f\xb8\xa9\xb5\xcd\xadf\x1a\xe5\xbe\xfd\xc7\ +ZR(\xd4P\xae\xf4kP\xa0\xc7.l\x18#\xe1\ +}~u\x9c\x10.\xa0\xed\xbdi\xe2Al\x1c\x80n\ +,O\xb5QP-Y\xbe\x99B\x12\xe6\xdbs'\xa5\ +\x5c\xc0%\xf0\xcc\xc4\xb2)`\x02\x8d\x0b\x0b\x1dOJ\ +B\x80\x14+Z\xcer\xfc\x86\xa7\xf2\x1f\x9d\x5c\xc0\xdd\ +\xa0\x91\x8e\xe6K\xfeUH\xa8\xac\xa5r\x18\xd3/\xe1\ +\xcbP\xd8D\x98\x04\xf1dP=*u\x02\x99aL\ +\x87\xd6GU }\x0di\x96\x0e5\xc3HQI\xca\ +\xa4\xdb\xa0\x1b\x0f\xd2\xff\x00:\xb1\xc3\xb8xx\x84\xd8\ +\x82\xc1\x0f\xa5F\xedT\x9c\x10\xc5H\xd4\x1b\x1a\xdfm\ +Bd\xb6L\x82\xc4{V8\xf7u\xaaRA\x86\x8d\ +r$\x00\x5c\xdf19\x884\xb4y\x12_\xb3\xce\xd7\ +\x0d\xe8n_\xf8\xa7\xb0#\x98?\x95-\xf2\x99!r\ +@\xc9%\x89'`\x7f\xbdl9\x94\x98\xd8\x0dY|\ +\xcb\xae\xc4W@\xc92\xe7B\x01\xf8\x94\x9d\xa8\xe2\x17\ +\x97/3py\xf6\xac\xf8\x96!#\xac\x8c\xdeQ\xe5\ +\xcbE\xaa4\x02\x1b\x92t'\xb7*%[Ta\x03\ +\x8c\x22g7'Q~B\x9a\x10\x9f\xeemZ\xc0\x85\ +\x14\x5c\xab\x88#q\xa7#\xd6\xa4R\x9c\xbe\xaa8\xf4\ +[\x03\xcc\xdf\xebAmk\xaeCyM\x89:\x8a\x90\ +\xa6\xb6\x9dM\x1cyd\x87+r\xe69\x1e\xb5 \x8e\ +\x82\xb8\x1c\xa4\xe5\x1a\x1d\xc5i%$a'\x85=\xae\ +}/\xc9\xa8\xd9M\xedo\x95-\x99]2\xb4d\xaf\ +}\xc5\x04s\x98\xdf\xc2\x98\x92\xa7\xd0\xc7\x97j\x90x\ +\x9a_\x0c\xadoKkX\xfc`[\x09\x0c\xd9o\xe1\ +K\xa9\xe87\xfdks\x1a\xc8 x\xdd\xd41\x17\x00\ +\x9e\x95\x95\x8cH\xdf\x014fE7\x00\x8b\x1eco\ +\xd6\xb1\xce\x18\xff\xd9\ +\x00\x00*\x0f\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00d\x00\x00\x00d\x08\x06\x00\x00\x00p\xe2\x95T\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ +\x00\x00\x09pHYs\x00\x00\x0e\xc4\x00\x00\x0e\xc4\x01\ +\x95+\x0e\x1b\x00\x00\x00\x07tIME\x07\xd9\x03\x03\ +\x0e\x1c+\xec\xa5\xbbn\x00\x00 \x00IDATx\ +\xda\xed\x9dy\x94]U\x9d\xef?\xfb\x0cw\xae95\ +\xa5\x06*!!\x09\x14\x15\x84\x88\xd1\x00\x09\x08\xad\x08\ +\x1d[\xec6`\x0bH\xd3\xf0\x1ch\xc4\xf5\xda\xd5O\ +xH\x83\xda\x93\xadH\xabK\xb4\x15Q@\x9f\xd84\ +\xad\x08\xd8\x0e\xc8 $\x81\x8c\x18\x92\x9a\x92\xaaT\xaa\ +\xea\xd6p\xab\xea\xce\xc3\x99\xf6\xfb\xe3\xd6>\xb9\xc9\x13\ +\x03a\xce\xcb^+\x8b[\xdc\xe1\x9c\xbb\xbf\xfb7}\ +\x7f\xc3\x85\xe3\xeb\xf8:\xbe\x8e\xaf\xe3\xeb\xf8:\xbe\x8e\ +\xaf\xe3\xeb\xf8:\xe6\x97x3\xddLuuuW&\ +\x931\xa5\x94^]]\xdd\xfb\xd6\xacY\xf39\xd34\ +]\xd7u\xe5\xfe\xfd\xfb[V\xacX\x81\xe7y$\x93\ +IZ[[)\x95Jh\x9a\xc6\xae]\xbb\xb0m\xbb\ +\xfc\x85\x84@\xd3\xb4\x83_P\x08\x0bp\xd5c\xc30\ +\xfa\x00\x0d \x1e\x8f\x7f0\x1e\x8f\x8f\xa8\xd7\xb6\xb6\xb6\ +\x12\x8f\xc7\xdf\xd0=0\xde\xc8\x8b\xb7\xb5\xb5-\x9d\x9b\ +\x9b{\xa7\x94\xd2\x03X\xbe|\xf9\xb7\xdb\xdb\xdb\xc3R\ +J\x86\xf6\x0d\x11\x0c\x06\xa5\xa6i\xc2\x95.\x86a\xe0\ +8\x0eH\xc9D>A\x87\xd1A&\x93\x01]\x90v\ +\xf2\x9c\xbd\xea\x9d\x00L'\xa6\xd1\x84\x86\xae\xeb\x00\xe8\ +\xba\x1e\x90\x12D\xf9\xe8\x85\x813\xd5\xf5\x1b\x1b\x1bw\ +\xae\x5c\xb9\xd2\x11B\xb0g\xcf\x1e\x86\x87\x87\x1b\xdf\xe8\ +C\xf9\xba\x03RUUef2\x19\x1d`vv\xf6\ +\xba\x8f~\xf4\xa3\xd7\xab\xe7\xfa\xfb\xfb\xcb'\x5c\x08\xf2\ +\x94\xb0J\x96\x10\x9a \xe7\x14\xf0<\x0f\xcb\xb2\xc0\x83\ +\x9c[\xc4\xb2,,\xcb\xc2\xd6]\x1c\xd7&\x9dN\x03\ +p`z\x9c\xd3N\xea\xa6X*\xa1\xeb:;v?\ +OU\x93\xc0\x9b\x0b!\x84\x00I\xf9\x9f\x00\x04\xb5\xea\ +\xda\xd1h\x94\xee\xee\xee>@\xb8\xaek\xee\xd9\xb3g\ +\xd1\xff\x17\x80\xb4\xb5\xb5=\xb8x\xf1\xe2\x8b\xa4\x94\xf4\ +\xf7\xf7333S>\xf9@\xc9.o\xb2\x00\x8a\x9e\ +\x85\xed\xd8\x08!p\x1c\x07)%\x96e!=\x89\x94\ +\x1e\xb6mcY\x16\x8e!\x91\xe0\x7f\x86\xf4\x1a\ +\x8f\xc7\x07\x8e\x19@\x1a\x1b\x1b?X(\x14\x22\x80\x15\ +\x0c\x06\x97\xc7b1\xa4\x94\x98\x01\xd3\xdfX\x00\xc7s\ +(\x95J\xfe\xc6Z\x96U\x06BZx\x9eW~\xce\ +\x03)%\xa5R\xa9\x0c\x88\xe7\x95\x01,\x16\x01p\x1d\ +\xd7\xffLW\xd3\x91\xea}@\x7fo\x1f\xe77\x9eG\ +n4\x87)\xa0\x14M\xb3\xa0C\xc3\x89\x87\x909\x13\ +t\x09\x9aDh\xc8\xb3\xce:\xeb\xb7\x00\xa6i\xf2\xe8\ +\xa3\x8f\xde\x09|\xfc\x98\x01d\xc1\x82\x05\xf7\xbf\xedm\ +o\xd34Mc\xef\xde\xbd\x94J\xa5\xf2\xa6\xba6\xb6\ +eW\x80P\xdeh\x81@J\xcf\x07\xca\x96\xb6/!\ +x\x12\xcf\x93\x077}\xfeD\xab\xd7\xba^YzJ\ +\xa5\x12\xba\xa6\xfb\xcf\x09!\x90\x9e\x87\x87\x87+]\x12\ +\xb33\x88%3\xa4\xa4\x09\x0b%\xd2\x168\xc9\x00n\ +\xca\xc0K\x1b\xa2l\xd5\xc00\x0c\xea\xea\xeaNok\ +k\xbbE\x08\xc1\xec\xec\xec\xf3ccc\x0f\xbe\xe5\x00\ +\xe9\xe8\xe88\xa3\xa6\xa6\x86R\xa9\x84\xe7y^\xa1P\ +\xd0t]\xc7u\xdd\x83\x00H\x0f\xcb\xb6|\x0fI\xd9\ +\x09!\x04\x9eGY\xedH\x89\x8d\x8d7\xbf\xd1\xd2\xf5\ +\x90B\xfa\x9b\xeeI\x81@\x1c\x04\xc4=(!\xba\xa6\ +\xf9\xd2$\x84\xf0\xc1\xb1m\x9b\x03\xc3#\x9c\xbb\xe8\x5c\ +dR\xe2II6\x92\xa2a\xa9\x8e7\x17B\xda\x02\ +iiH\xab\xec\xaduvv\x9e\x09\x9ci\x18\x06;\ +v\xec\xb8\xa7\x12\x90W\xdb3{\xad\x00\x09477\ +o\xe9\xe9\xe9\xc1q\x1c6o\xde\x8cm\xdb\xb8\xae{\ +P\xf5\xcc\x03`[\x07U\x96\xe7yX\xae[6\xbe\ +\xa0\xc0\xc4\x16\x0eBB:\x9d.KQ\xb0D\xb1X\ +$\x9f\xcf#\x1d\x81DV|\xc6A@4\xa1\xe1y\ +\x15\x122\x0f\x88\xfa\xdcT*\x85\xe7yL\xa7f\xd1\ +\x16M23rX\x14`x\xd8\x89\x00\xd6\x810B\ ++\xbb\xd4\xb3\xb3\xb3+[[[o\x06t\xe0\xe1x\ +<\xfe\xdc\x9bVB\xda\xda\xda\x9a\xc7\xc6\xc6j\x80\xa0\ +\xfa\xc2\xae\xeb\xfa\x1b\xa1i\x1a\xae\xeb\xfa\x9b'=\x89\ +\xed\x1c\x04\xc4\xc5#\x9b\xca\xa0\x09\x0d\xdb\xb3\xc8\xd8\x19\ +\x1c\xc7\xc1\xd1=bf\xc4WY\x8ea\x93\xcdf\xc9\ +\xe5rHG\xe0x.sss\x00\xe4\xbd\x22\xb6m\ +Q(\x14\xd0\x84@\x9a\x07\xc1\x92\xe0{g\xbe\xd7\x06\ +\xe4\xe6\xd2,k<\xcd\xb7\xe1\xe3\xc1q\x16\xad\x08\xe2\ +L\x86qsAd\xa71o[$\x8b\x16-\xea\x01\ +z4Mc\xfb\xf6\xed\x8975 \x85B\xe1\x9eK\ +/\xbd\xf4\x82\x5c.\xc7\xe8\xe8(\xb6m\xfb\x1e\x92\x0a\ +\xe2*7\xc2\x93\x92\x5c.G.\x97+\x8bU8\xe8\ +\x9ffWs1L\x1d\xcf\xf30\xe4\xc1\x80\xafP*\ +\x10Lk\x18U\xe5[\x176\xe8\x9e@3\xca\xeaE\ +w\x05\x99L\x96t:\x8d@\x10\xaa\x8fP\xb4\x8b\xf3\ +\x12\xe2\xf9\xce\x80\xef\xb5\xc9\xb2\xfa+\x96\xca\xaf\xd9\x9f\ +\x9d\xa2\xed\xe2\x14\xd4\x070:%\x86\x06^Q\xc3M\ +\x1a83\x012\xcfU\x81&\xd14\x8d|>\x1f\x01\ +j\xe7\xf71\xf1\xa6\x03\xc4\xf3<-\x18\x0cR(\x14\ +|\xd5\xe48\xcea\xb6\xc1\xa3P(\xcc?v\xfd\x13\ +\x0b\x10\x8c\x84\xd0\xe6\xf5~ \xaf!\xea4\xce=\xf7\ +\x5cfgg\xe9\xeb\xeb\xe3\x82\x0b.\xe0\xf2\xcb/\xe7\ +\xce;\xefdpp\x90\xcb/\xbf\x9cX,\xc6\x9dw\ +\xde\x89\xa6itvvr\xe0\xc0\x01tC\xc70\x0c\ +\x04\xe0\x14lr\xb9LY:\x1d\xd7W\x91\xea\x9e<\ +\xcf\xf3\xed\x13\x80\x91\xb4\xf1\x1e]DB\x96%\xca\xd3\ +\x9d\xb2-\xb24\x04\x02\xdd\xf4|7\xb9\xa7\xa7\xe7\x9f\ +O=\xf5\xd4\x7f.\x95J\xfc\xeaW\xbf\x12o\x0a@\ +\x9a\x9b\x9b\x9b\x84\x10\x0f\x01\x05\xcb\xb2z\xd4\x06+\xa9\ +\xa8TY*\xa6\xc8f\xb3h\x9a\x86eY\x18\xba\x81\ +a\x94oC\x93\x82\xf7\xbc\xe7=\xdct\xd3M\x5c{\ +\xed\xb5\x9c{\xee\xb9\xbc\xfd\xedo\xa7\xbb\xbb\x9bu\xeb\ +\xd6q\xcb-\xb7\xf0\xfc\xf3\xcfs\xe5\x95W\xf2\x9d\xef\ +|\x87w\xbc\xe3\x1d\x5cp\xc1\x05\xdc\x7f\xff\xfd\xdcx\ +\xe3\x8dtvv\xf2\xcc3\xcfp\xcf=\xf7PSS\ +C4\x1aezz\x1a\xd70\xd04\x0d\xcd\x12d\xb2\ +\x19\xb2\xd9\xac\xaf:=\xcf\xf3\x1f;\x8eC8\x12&\ +\x181\xd14\x8dg\x8b{x\xef51\x04\xe5\x80\xd2\ +J\x988\x13a\xac\x91\x10\xeel`\xde1\x91\x04\x83\ +\xc17\x8f\xca\x9a\x9c\x9c\x5c\xf4\xfe\xf7\xbf\xff\xccX,\ +\xc6\xe6\xcd\x9b)\x16\x8b\xb2T*\x09\x05\x82\xeb\xba8\ +\x8e\xc3\xdc\xdc\x1cB\x08t}\xfe\xf4\x0a\x81\xe6iH\ +$w\xddu\x17\x89D\x82[o\xbd\x95\xab\xae\xba\x8a\ +\xbe\xbe>\xce9\xe7\x1cv\xec\xd8\xc1e\x97]\x86\xe7\ +\x95}\xd0o}\xeb[\xdcp\xc3\x0d|\xe1\x0b_ \ +\x91H\xd0\xd3\xd3C\xb1Xdff\x86\x93O>\x99\ +\xde\xde^:;;Y\xbcx1\x9f\xfa\xd4\xa7X\xb5\ +j\x15g\x9f}6\xae\xeb\xf2\x9e\xf7\xbc\x87\x87\x1ez\ +\x88R\xa9t\xd0Y8\xcc\xd1p\xe7\x1d\x0a\xdb\xb6I\ +&\x93\x94\x92s\xec\xb87\x87\xe7I\x14\xfd\x22\xca\x11\ +>\xd6\x8c\x815\x11\xf0\xf9\xb3\xea\xea\xea\xafK)\x09\ +\x87\xc3\xcfMMM}\xffu\x05\xa4\xb9\xb9\x99\xc9\xc9\ +I\xf5g\xde\xb6\xed\xcaS'\xd4\xc9S_XyP\ +\x0a\x90\xaa\xaa*.\xbd\xf4R~\xfc\xe3\x1f\xf3\xde\xf7\ +\xbe\x17!\x04\x17]t\x11\xdf\xf8\xc67x\xf0\xc1\x07\ +\xf9\xc8G>\xc2\xf6\xed\xdb\xe9\xef\xef\xe7\xea\xab\xaf\xa6\ +X,\xa2i\x1a\x0f>\xf8 ?\xfc\xe1\x0f\xf1<\x8f\ +E\x8b\x16q\xf1\xc5\x17c\x9a\xe5\xd3|\xc5\x15Wp\ +\xd9e\x97\xf1\xe8\xa3\x8f\xb2`\xc1\x02\xaa\xaa\xaa\x08\x85\ +B\xe4r9\xee\xbd\xf7^\x22\x91\x08###\xec\xdf\ +\xbf\xdfw\xa7\x93\xc9$\x8e\xe3\xf8\xae\xb2\xeb\xbah\x9a\ +F\xa9T\xe2\xc0\x81\x03\xac?\xff\xa22\x18H\xa6\xf4\ +\x04\x9d+L\xbc\x94\x89\x9b1\xf1\xaaMd\x87\x86\xd0\ +$\x18R\x22\xf9\xa4a\x18l\xdd\xba\xf5G\xaf; \ +\x93\x93\x93466\xfe\xd5\x89'\x9e\xf8\xdd|>\x8f\ +\xeb\xba\x12\x10\x95~~\xa5\x97%\x84@\x08\x81\xb2/\ +\xb7\xdf~;\xd9l\x96\xb5k\xd7\xf2\xf4\xd3O\xb3~\ +\xfdz\xf6\xec\xd9\x83\xe38<\xf6\xd8c<\xfa\xe8\xa3\ +\xe4\xf3yZZZ\xfc\xd3\x5c(\x14X\xb0`\x01\xa1\ +P\x88B\xa1@*\x95\x22\x1a\x8d\xfaj#\x10\x08\xf0\ +\xc0\x03\x0f077G\xa9T\x927\xddt\x93\x08\x04\ +\x02eoK\xd3H\xa5R\xe8\xba\xce\xc2\x85\x0b\xf9\xb7\ +\x7f\xfb7>\xf3\x99\xcf\x90L&\xfd\xf7+i\x0e\x04\ +\x02\xbe\xb4\xcc\xcc\xce \xa5$\xe7\x96\x08_\x18Gv\ +\x04\xd1\x84\x86\xa6yH\xcd\xc3\xc9\xe8\xd8\xe3!R\xbf\ +\xae\x13\xe8\x12\xc30\x90R\xda\xaf$F9j\x95e\ +YVW[[\x1bsss\xd8\xb6-\x94\xf1V1\ +\x80\x94\xd2?}\xae\xebr\xddu\xd7q\xf5\xd5W\xb3\ +a\xc3\x06v\xed\xda\xc5\xfa\xf5\xeby\xf2\xc9'q\x1c\ +\x87\xeb\xaf/\xf3\x8b\x13\x13\x13H)\xfdk\xec\xdb\xb7\ +\xef\x90k\x1e8p@m\xa0\xed8\xce\x01)%\xba\ +\xae[\xf9|\xfe\xf2\xb1\xb1\xb1)\x80@ pIs\ +s\xf3\xed\xb9\x5c\x8eB\xa1@,\x16\xe3\xdak\xaf\xa5\ +\xa3\xa3\x83m\xdb\xb6\xf1\xdd\xef~\x97\x91\x91\x11\x9a\x9a\ +\x9a|B\xd2q\x1c\x92\xc9$\xae\xeb\xd2\xd0\xd0p0\ + \x9d\x97\xfc\xfd\x07F0\xa7\x1c\x06\x83\xd0\x12\x5cJ\ + (8\x90\x1eD\x22\x11\x1e\x94\xe2c\x88y\xc6?\ +\x9f\xcf\xffIss\xf3c\x9a\xa6i\xf1x|\xdd\xeb\ +fC\xa4\x94V\xa9T\xc2\xb6m?\xbe\x80r\xf0\x96\ +N\xa71M\x13!\x04\xa5R\x89p8\xcc\xdf\xfe\xed\ +\xdf\xf2\xf4\xd3O\xd3\xdc\xdc\xcc\x8f~\xf4#\x1e\x7f\xfc\ +q\x06\x07\x07\x0f\x01 \x12\x89\xfc\xe1\xa4\x8d\x10X\x96\ +\xb5O\xd3\xb4!@:\x8e\xb3+\x1e\x8f\x7f\xfa\x0f\xbd\ +6\x12\x89|{\xeb\xd6\xad\xff\x09H\xdb\xb6\xb3\x8b\x17\ +/\x1emhh\x88(\x09\xb9\xef\xbe\xfb\xe4\x97\xbe\xf4\ +%\xf1\xbd\xef}\x8f\x0f|\xe0\x03|\xe8C\x1f\xe2\xf3\ +\x9f\xff<\xdb\xb7o\xf7=\xaeJ\xa7$\x91Hp\xf6\ +\x9a\xb3p\x1c\x07\x81`\xd4\x1c\xe3\x84\xf3\xa0mz9\ +N\x22\x84\x1d\x0f![\xe6\xe3\x14C\x02\xb4\x18\x86\xd1\ +\xb2q\xe3\xc6\xa3\x8a\xe0_6 uuu\xd7\xaeY\ +\xb3\xe6\x1f\x07\x07\x07C\x8eSfUu]?$\xde\ +\xb0,\x8b@ \xc0\x0d7\xdc\xc0\x8a\x15+\xb8\xe6\x9a\ +k\xb8\xfe\xfa\xeb\xb9\xf0\xc2\x0b\x19\x1e\x1ef>9D\ +,\x16;\x12\xe8. \x85\x10d2\x99o\xc4\xe3\xf1\ +\xaf\x1c\xe9\xfe\xd2\xe9t\x1e\xf0\x93N\xa3\xa3\xa3\xebG\ +FF\xccy\xe9\xf9\xc7\xf1\xf1\xf1\xd3.\xb8\xe0\x02\x12\ +\x89\x04\xb7\xddv\x1b\x13\x13\x13,^\xbc\x98\xe7\x9f\x7f\ +\x9e|>\x8fm\xdb\x14\x0a\x05\xd4ws]\x97B\xa1\ +P\xfeN\xc2\xa0\xd03\x81\xb6\xa0\x16\xad6G\xf4\x14\ +\x0d\xa9I\xa4\x0dN2\xc0\xec\xcf\xeb\xf1\x8a\x9aR]\ +\x1c\x8d\xea2\x8eBU\xb5-\x5c\xb8\xb0~ll\xcc\ +\xb7\x17\x954\x87J\x0c\x01\xac_\xbf\x9e\xbe\xbe>L\ +\xd3d\xf3\xe6\xcd<\xf5\xd4S\x04\x83A\x82\xc1\xa0O\ +\x8f\x1c\x8e\x81\xb2EUUUl\xd9\xb2\xa5=\x99L\ +N\xbc\x12\x9d\x9c\xc9d~\xa3\x1e\x87\xc3\xe1K\x0e\x1c\ +8`\x00\x9e\xeb\xba'\xdep\xc3\x0d\xd1\xaf|\xe5+\ +\xf4\xf6\xf6\xd2\xd1\xd1\xc1\x9dw\xde\xc9\xfa\xf5\xeb)\x14\ +\x0a\xbe]q\x1c\x07\xc7q\x98\x9d\x9d\xc5.Y\x94J\ +:/\xf4\xe7y\xfb\xc2\x0b\x89\x85\xa3<\xbe\xef?\x08\ +\xe9\xd5\xd8d\xc9\x1f\xb0\x91\x0eh\x9a\x86i\x9a\xf4\xf4\ +\xf4\xdc\x9dL&7\x8d\x8c\x8c\xdc\xf9\x9aI\x88RC\ +\x95\xbe\xbb\xd2\xc1\xb6m\xb3p\xe1B\xee\xb9\xe7\x1e>\ +\xfc\xe1\x0f\xf3\xaf\xff\xfa\xaf\xfc\xdd\xdf\xfd\x1d\xc1`\xb0\ +\xcc;\xcdK\x90\xe7y\xa8\xbc\x83R\x13\xf3\xf6@\xa4\ +R\xa9\x87\x80\x84\xae\xeb\xe9p8l+\xc3\xab\xa4\xea\ +\x95\xacD\x22qm\x22Q\x0e\xa8\xeb\xeb\xeb\x9f\x8c\xc5\ +bg\xdf|\xf3\xcd\x8c\x8f\x8fs\xfb\xed\xb7\xb3s\xe7\ +N\x02\x81\x80O\x5cV~\xbf\xe9\xe9i\xba\xbb\xbb\xcb\ +\x81\xab+y|\xfcq\xba\xcf\x09\xd2\xae\xb5\xe2N\x84\ +\xf0R\x0b\xa1\xed\x10r\x15]\xd7\xaf\xec\xef\xef\xd7_\ ++@B\xef{\xdf\xfb\xf6\x1e8p\xa0Z\x89\xb2\xa2\ +F\x94\xeb)\xa5\xe4\xd3\x9f\xfe4O=\xf5\x14\xf3\x5c\ +\x0f\x1f\xfc\xe0\x07\xa9\xa9\xa9yI\x170M\x93-[\ +\xb6|>\x93\xc9\xbc\xaa\xfc\xd0\x8bH\xfa\x8d\x03\x03\x03\ +\xf5\x9a\xa6YR\xca\xff\xf5O\xff\xf4Oko\xba\xe9\ +&,\xcbb\xdd\xbau\xec\xdb\xb7\x8f\xb1\xb11_\x8d\ +9\x8e\xe3\xb3\xc69\xafD\xdb{J\x84\xdb\xa1\xd0<\ +\x8b\x01\x04\xb5\x08n\x09(\x98L\xfd\xa4\x11ax\x18\ +\x86\xe1\xc7P\xaf\x05 \xf5\xd5\xd5\xd5\x0bu]\xf7%\ +\xa4P(P,\x16\x09\x04\x02\x84\xc3a4M\xe3'\ +?\xf9\x09W\x5cq\x05\xb5\xb5\xb5\x14\x8bE\xdf[9\ +\x5c\x1a\xd4\xdf\xba\xae\x93N\xa7w\x1a\x86\xf1\xb8\xeb\xba\ +N$\x12\x89g2\x99\xd7\x14\x0cM\xd3\xc8f\xb3\xbf\ +\xcbf\xb3\xea4_a\x18\x06\xb7\xdcr\x0b\x86a\xc8\ +\xbb\xee\xbaK\xac^\xbd\xda\x7f\xbdr\xe3\x95&\xc8\x14\ +sD\xb6\xe7\x98\xfa}\x9a\xcb\xcf\xf8[\x5c\xbd\xc0C\ +\xbd\xdf\xa6)\xdc\xc5Df\x88\xb9\xb1\x22\xc2(_g\ +fffQ4\x1a\xfd\xcb\x5c.w\xdf\xab\x02H\x85\ +\xdev\x95\xaf\xaeD\xd9\xb2,\xf2\xf9<\xed\xed\xed<\ +\xf4\xd0C\xbc\xff\xfd\xefg\xdf\xbe}\x5cw\xddu\x04\ +\x02\x014M\xfbCU \x87|~8\x1c&\x1e\x8f\ +?533s\xc3\xeb\x95F>\xfc\xd4\xa6\xd3\xe9\xcd\ +;v\xec\x08z\x9e\xa7\xb7\xb4\xb4\xbc\xff\xe9\xa7\x9fF\ +\xd7u\x84\x10\x84\xc3\xe1CT\x97i\x9a\x9c}\xda\x1a\ +\xa4\x07\xaet\xd9\xd6\xbb\x11\xd3\xd0Y\xea\x9c\x83;#\ +Xj/\x86\xd5\xaa\x9eG\x02\xac)\x14\x0ak\xee\xbe\ +\xfb\xeeW\x07\x90x\x9fg\xef\xde\xbd\xe1|>_\xe4M\ +\xb8\xea\xea\xea\x1e;\xe5\x94S\xce]\xbe|9[\xb7\ +nezz\x9a\xd6\xd6V\xa4\x94d2\x19\x16-Z\ +\x84\x8e\x86S\x82\xa2W\xc4\xa5\x84iG\xd0\x8dy5\ +m\x820\xfcxJ\x9a\xa6)\xb6o\xdf\xbezll\ +l\xf3+\xb5!1\xcf\xf3\xaa\xd4\xe9p]\xd7gk\ +\xe3\xf18\xe7\x9cs\x0e7\xddt\x13\xdb\xb6m#\x97\ +\xcb177G*\x95\x22\x10\x08\xd0\xda\xda\xca\xd8\xd8\ +\x18ccc\xacX\xb1\x82m\xdb\xb6Q,\x16\x7f5\ +>>~k,\x16K\xd7\xd7\xd7\x97\xf2\xf9\xfc\x9b\x11\ +\x0f\x84\x10\x01\xdb\xb6y\xe2\x89'\xe8\xee\xee\x96\x97\x5c\ +r\x89\xb8\xeb\xae\xbb\xa8\xad\xad\xc5\xf3<\x9fG\x1b\xd5\ +gh\xff\x8bY\x164\x06p\xf2V9\xcb8\x15\xc2\ +\x9a\x08\x22\x0b:^^\x07\x10\xd1h\x14\xc30\x9cW\ +\xac\xb2\xea\xeb\xebooll\xfcS\xe5\xea*@\xba\ +\xba\xbax\xf6\xd9g\xd9\xb4i\xd3\x8b\xbewtt\xd4\ +\x97\x9a\xde\xde^b\xb1\x18\x81@`r\xff\xfe\xfdO\ +\xcf\xcd\xcd\xf9i\xd77\xe3r\x1c\xe7\xf3\x03\x03\x03\xcd\ +\xb6m\xafY\xb3f\xcd\xb5CCC\x18\x86qH~\ +\x07 e\xe58\xb39J!/y\xd7\x09\xef\xa3\xaf\ +j3\xe9\x8e\x19@P\x186\x99\xf9E\x0d\xe8e\xf2\ +\xf3U\xb1!\xae\xebF\x94\xfb\xaa\x0a\x0b\xde\xfd\xeew\ +3::\xcac\x8f=F8\x1c\xf6\xcb<\x15\xbd\xae\ +\x0c~\x85k[.\x09u]\xd2\xe9t\x947\xf9\xaa\ +\xae\xae&\x9dN\xff\xf7<7\xe6\x0e\x0d\x0d]\x9bL\ +&QU3\x9e\xe7\xd1\xdf\xdfOUU\x15\x86g\xb3\ +\xedk6\x94\xa2\xcc\xd5\xedD\x0a\x93x\xca!`\xea\ +\x14\x0b\x19\x9cT9==55E,\x16\xfbaS\ +S\xd3\x0dSSS\x8f\x1e5 RJWI\x86\xb2\ +\x07\x13\x13\x13\xdcx\xe3\x8d|\xf5\xab_\xe5\xf6\xdbo\ +gxx\x98\x93O>\x99\x99\x99\x19\xe2\xf1855\ +5<\xff\xfc\xf3h\x9a\xc6I'\x9d\xc4\x96-[\xc4\ +\xe8\xe8\xe8\x13\xd3\xd3\xd3\xeb\x00\x16.\x5c\xc8\xf8\xf8\xf8\ +\x9b\x16\x10\xc5\x02\xcfK\xb7\xa9\xb2\x9c\xabV\xad\x92\xa3\ +\xa3\xa3\x22\x99L\xd2\xd0\xd0\xc0\xc9'\x9f\x5c&#=\ +\x1bN\x9a\xa1\xa6\xae\x80\x97\x0eP\x93Z\x84\x976q\ +S\x06\xb4\x80\xd0\xa5\x22>O\xba\xf7\xde{\x1b\x8eZ\ +B\x9a\x9a\x9a\x16\xbb\xae\xfbn\xe59\x05\x02\x01\x02\x81\ +\x00CCCl\xd8\xb0\xc1\xf7\x9a\x00~\xff\xfb\xdf\xfb\ +9\xf3\xcaxc\xd3\xa6M\x84B!\xffu\xc0\x9b\x1a\ +\x8c?\x10D>\xbae\xcb\x96\xb5\x81@\xe0\xea\xf3\xce\ +;\xef\x8a\x1f\xfc\xe0\x07~j!\x93\xc9 =\x8f1\ +\x99\xe0\x8c\xb79\xd8\x8eKU\xa8\x86\x82\x9bA\xe8\xe5\ +\x82\xbe\xfc\xae\x18\xe9gj@\x1ctr\xfe\xe8\xf5\x8e\ +@\xcc\xad\x89D\x22\x0b]\xd7%\x99L\x22\xa5\xe4\xfa\ +\xeb\xaf\xa7X,\x12\x0e\x87\x89D\x22>H\xa1P\x88\ +`0H8\x1c&\x1c\x0e\x13\x0a\x85\x08\x85B\xc4b\ +\xb1C\xbc\xab\xb7\xda\xcad2\x93\xa5R\xe9IM\xd3\ +F\xbe\xf5\xado\x1d\x22=~2N\xba\x80\xc6by\ +\x11\x9fY}7\x7f\x7f\xee\x8f\x18\xde\xe3\xd2\x11[\x8e\ +\x08\x96k\xcf\x14{|\xa4\x98\xe4\x8f>\x1b\x0e\x87\xaf\ +\x5c\xb2d\xc9\xdd\x00\xc9d\x92\xa6\xa6&~\xf2\x93\x9f\ +0==\xcdC\x0f=\xc4\xfe\xfd\xfbY\xb7n\x1d\x8f\ +<\xf2\x08+W\xae$\x91H088HOO\x0f\ +\x8d\x8d\x8d\xfc\xf0\x87?\xa4X,\xce\xbc\xf0\xc2\x0b\x8d\ +\xcd\xcd\xcd\x81\xc9\xc9\xc9\xd2[\x15\x98\x9a\x9a\x9a/\xac\ +^\xbd\xfa\xa6\xd1\xd1Q\x92\xc9$\xa1P\x88\xd3O?\ +\x9d@ \x80\x04\x02\x86\x86t\x028^\x09\xc30q\ +\xa4\x8d\xa6\x97k\xcfd\x0510<<\x1c\x7f\xfa\xe9\ +\xa7\x17\x1e\x95\xca\xd24-\xacT\x90\xae\xeb\x84B!\ +>\xf9\xc9O\xd2\xd9\xd9\xc9\x0b/\xbc\x80\x94\x92\xde\xde\ +^t]\xf7\xf3\x1c\x00\x8f<\xf2\x08\xae\xeb\xaa\x82\x06\ +\x09\xc8\xb72\x18\xf3t\xcb\xcf\x9ey\xe6\x99\xfd\x0b\x17\ +.\xbc\xbd\xbd\xbd=:::\xea\xf3y\x1e\x1e\xdb\xeb\ +\xfb8\xeb/\x22\x18\x19\x137m\xa0\xa7\x82\xb8)\x03\ +7m`\x8d\x85\x10\x02\xc5h\x9bGmCB\xa1\xd0\ +\xa7e\xd9\xaa\x8b%K\x96\xe08\x0e\xf9|\x9e={\ +\xf6\xf8\xd1\xab\xe2|\x82\xc1\xa0\x9f\x94Qe\x9b\x80L\ +\xa5R6\xc7\xc0\xcad2\xcf\x02\xcf\x1a\x86\xf1\x8f#\ +##QM\xd3\x0e&\xe5\xa4C\xfdB\x03\xe1\xea,\ +j<\x85\x9aEU\xbc0\xb5\x89X\xa0\x96\xbc>\xc5\ +\xc8W[\x11Z\x99PU\x99\xd5\xa3\x02DJ)\xa4\ +\x94\xa2T*\xf1\x89O|\x02\xc30\xb8\xe8\xa2\x8b\xf8\ +\xf2\x97\xbf\x8ci\x9a\x18\x86A*\x95bdd\x84\xee\ +\xeen\x86\x87\x87I\xa7\xd3\xf4\xf7\xf7\x93\xcdf\xc9d\ +2\x7f300\xf0\x0d\x8e\xa1\xa5\ +\xa4\x85B\xa1\xee\xa8mH}}}\x7fSS\xd3R\ +\xd7u\xa9\xab\xab\xe3\x8a+\xae\xa0\xb7\xb7\xd7/6\xf0\ +\xdb\x0aJ%B\xa1\x10\xa5R\x89l6K4\x1a%\ +\x95J\x91\xcdf\xaf;\xd6\x00iii\xf9\x8c\x10\xe2\ +\xb3B\x88\xba\x95+W\xfa\xb9\x9e\xa2g\x11:9\x85\ +\xe1\x18x\xd3\x11\x9c\xc90h\x1eB\x13*\xd7\x8e\x94\ +\x92\xe9\xe9i\x1e{\xec1q\xb4q\x88Pt\xb5\xae\ +\xeb\xdcu\xd7]\x87$\xa3*\xdd[\x15\xb9\x9a\xa6\x89\ +m\xdb2\x16\x8b\x89t:\xad\x1fK`TWW3\ +11\xf1\xa5\xd6\xd6\xd6k\x81:\xcf\xf3\xcaD\xa9\xd0\ +x\xac\xb8\x9d\xbf\x5c\xd5\x84#m,\xb7D\xcc\x08\xe3\ +ft\xbcT\x90\xdc\xce\x18V<\xf0\x07\xa9\xff\x97\xe5\ +\xf6\x02\xa6m\xdb\x5cp\xc1\x05466r\xf5\xd5W\ +\xd3\xd4\xd4\x84i\x9a,^\xbc\x98\x8e\x8e\x0eL\xd3\xa4\ +\xb1\xb1\x91d2I.\x97C\xd7u\xe2\xf1\xb8\xd8\xbd\ +{\xf7/2\x99\xcc/\x8f%@\x94\xcb+\xe6O\xa1\ +JEX\x96\x85\xd0\xca\xe5\xa6\xef\x8c\xfd5_\x5c\xf7\ +0\xcbj\xcfdy\xc3\xd9D;%\xc4J\x07\x1b\x8c\ +^\x89\x0d\x01\xc4|v\x8d{\xef\xbd\x97\xa1\xa1!\xf6\ +\xec\xd9\x83i\x9a\xd4\xd7\xd7\x93\xcdf\xd1u\x9d\xce\xce\ +Njkk\xd9\xbbw/===d2\x19\x0a\x85\ +\xc2\xe6x<\xde\xcb1\xb8\x1c\xc7\x91~W0\xa0!\ +\xd0C\x82}{\x93\xfc\xcb\xff\xb8\x9c\xeb\x1e|7w\ +_\xb6\x99\xc9\xb9i\x9eK\xfc\x17\xdf\xfb\xd5\xbdX\x96\ +\xe6\x07\x94\xaf\x88\xcb\xd24\x8d\x81\x81\x01.\xba\xe8\x22\ +\x0a\x85\x82\xaf\x0b+\xcb\x5c\xfa\xfa\xfa\xfc\xc7O?\xfd\ +\xf4!Q\xf9\xb1\xb8fff\xde\xd5\xd2\xd22\xa5x\ +-\x81@\x84\x05\x85\x9cG8t\xd0\xabu\x5c\x87\xc7\ +\x87\xfe\x03\xcf\x95\xbe\xbd}\xa5\x12B \x10\xa0\xbe\xbe\ +\x9e@ \xa0\xaa\x14\x09\x06\x83d2\x19jjj\xfc\ +\xbc\xba\xca\xa9g2\x19,\xcb\xb2\x81\xb1c\x15\x10\xd7\ +u\xb3\xf3\x92R\xa6C(\xe7\x80b1\x13\xdb\x02\xd7\ +\x9b\xef\x08\xc6\xc5\xf5\x1c<\xd7\xc5\xb2\xbcW\x0e\x88\xe7\ +y\xac[\xb7\x8e+\xaf\xbc\x923\xce8\x83\x87\x1f~\ +\x98\xdf\xfd\xeew\xe4\xf3y&&&8\xe3\x8c3\x98\ +\x9c\x9c\xa4\xaf\xaf\x0f\xcf\xf3hll\xe4\x85\x17^\xc0\ +\xf3\xbc}\xf1x\xfc\xdf\xdf\x0c\x93\x11^\xab5\xcfd\ +K\xcb\xb2\x84@ 4\x9d\xa5\xcb\xeayd\xeb\xcf\xf9\ +\xcc9\xdf\xe2\xbf\xf6|\x13'\x17\xe6\xbc\xc5\x1b\xe8u\ +\xbeC\xa9\xe4\x1c\xa2U\x8eZB6n\xdc\xc8\xf4\xf4\ +4555\x0c\x0c\x0c\xf8(K)\xf9\xe9O\x7f\xea\ +W\x92x\x9e\xc7\xd4\xd4\x94*\xae\x16\xc01\x0b\x06`\ +\x15\x0a\x85\xd9B\xa1P\x9fL&\xd1\x84F\xbe\xd9\xa3\ +hU\xf1\x1fC\x7f\xcf'c\xdf\xe3@\xae\x9f\xe7'\ +~\x87\x11\xd0\x98\x19K17W\xaeCP\x99\xd5\xa3\ +\x06\xc40\x0cFGG\x19\x1e\x1eF\xd7u\xdf\xe5\xd5\ +4\xcd\xff[E\xed*\x0f299\xd9\xd2\xda\xda\xfa\ +\xbex<\xfe\xc8\xb1\xaa\xb5\x84\x10\x96JW\xab\x86\x1e\ +#(\xa8\x22\xc2\x1d\x8f]K\xb2\xcfcfo\x81R\ +\xd2#7\xe9\x224\xe1\xef\xd3Q\x03\x12\x8dF\xf9\xc8\ +G>B\x7f\x7f?\x17_|1O<\xf1\x04CC\ +C\xd4\xd5\xd5\xe18\x8e\xef\x06\x8e\x8c\x8c\x90L&i\ +iiarr\x92\x5c.WM\xb9\x18\xe6\x98\x03\xa4\ +\xa5\xa5EU\xe9Ku\x08kkk1\x87\x8b\xf5\ +)\xa4\x94l\xdc\xb8\x91\xba\xba:jkkq]\x97\ +\xd1\xd1Q\xba\xba\xba\xfc\xc6\x97\xb6\xb66r\xb9\x9c\x02\ +\xca;\x16Ecbb\x82\xf6\xf6\xf6\xef\x06\x02\x81F\ +\xd7u\xb9\xe3\x8e;X\xb7n\x1d_\xfb\xda\xd78p\ +\xe0\x00\x9e\xe7\x91\xc9d0\x0c\x83\xd9\xd9Y\xaa\xab\xab\ +\x09\x85B\x0c\x0f\x0fS(\x148R\x0d\xc1\x91\xd8^\ +~\xf1\x8b_\xf0\xf3\x9f\xff\xfcE_Si'v\xed\ +\xdaE$\x12yI\xc6\xeb\xad\xbc\x02\x81\xc0\xdaU\xab\ +V\x19\xbf\xff\xfd\xefY\xb1b\x05}}}\xac]\xbb\ +\x96\xef\x7f\xff\xfb\xf4\xf4\xf4066FWW\x17\x8f\ +<\xf2\x08\xd5\xd5\xd5\xb4\xb7\xb7s\xdai\xa7q\xdf}\ +\xf7\x1d17\xf4G\x15Zkk\xebpUU\xd5\x09\ +\x95\x84Z\xa9T\x22\x12\x89\xf8\x95%\x91H\x84\x5c.\ +\x87\xe7y\xd4\xd5\xd5\xf9\xd2\xd2\xde\xden\xcf\xcd\xcd\xdd\ +\xb3g\xcf\x9e\xab\x8f5@\x16-Z4x\xea\xa9\xa7\ +\x9e811\xc1\x92%KX\xb3f\x0d\xbf\xfc\xe5/\ +)\x95J\x04\x02\x01\xb2\xd9,\xe1p\x98t:\xed\xef\ +\x9b\xe7y\xe4r9\x5c\xd7e\xe7\xce\x9dG\xc7eE\ +\xa3Q\xeb\x9b\xdf\xfc&\xa9T\x8a\x0f|\xe0\x03\xdc\x7f\ +\xff\xfd\xf4\xf6\xf6\xd2\xd0\xd0@UU\x15\xcf=\xf7\x1c\ +UUU\xf4\xf5\xf5111AWW\x17###\ +\x0c\x0f\x0f\xe38\x8e)\x840\x8fA0\xfe*\x10\x08\ +\xd4\xcd\xcc\xcc \x84`h\xdf\x10\x03\x03\x83\x18\xc6\xa1\ +'\xdf\x1f\x863\x1fw\x08!\x08\x85B\xfe\xff?*\ +@t]\xe7s\x9f\xfb\x1c_\xfc\xe2\x17\xb9\xf5\xd6[\ +\xd9\xb1c\x87_u\x91\xcf\xe7\xd1u\xdd\xafFq\x1c\ +\x87\xe1\xe1a?\x8a\x9fw\x8d\xbdyI;f\x5c\xe0\ +\xb6\xb6\xb6\x7f\x5c\xbati=\xc0\x8e]\xcf\xe35\xa5\ +\x89\x04Ld&\x80\xb44\xdc\xf6ENd\x0d\xdaD;n\xca$S\ +J\x91\x9c+3\xe0\xaa\xb7\xe4\xa5\xd4\xf8\xfeQ\x09\xb1\ +m\xbb\xdf\xb2,\xd6\xae]\xcb\xb2e\xcb\x18\x1f\x1f\xa7\ +T*177Gss3\xe9t\x9a\xda\xdaZR\ +\xa9\x14\x93\x93\x93TWW\xa3\xeb:\xaa\x87\xc4\xb6m\ +L\xd3\x94\x15N\xc2[Vu\xe5\xf3\xf9\x8f\xfd\xe9\x9f\ +\xfe\xe9\x97M\xd3\x04)\xc9\xd8E\xde\xbdh9\xa9\x9f\ +\x19\xcc\x15S\xfc\xc3\xc3_\xc6\xd0\x0d4C X\x80\ +\xae\xc1\x82F\x9d\xa1\xa1!\x1a\x1b\x1b)\x16\x8b\x04\x83\ +A\xe9y^\xf8\x15\xd1\xefcccl\xd8\xb0\x01\xc3\ +0\xfc\xfc\xb9Z\x83\x83\x83\xbe\xc1\x02x\xee\xb9\xe70\ +M\x93J\xe2\xcdu\xdd\xaa\x95+W\xde5555\ +\x18\x8f\xc7\xff\xe1\xad*!\x9e\xe7\xd5)\x16\xbb m\ +\xec5#,\xe8\x89\xe1\xe2\x22mp'\xa2X\x93\x01\ +\x9c\xc9 V\xdc\xf0\xab\xdeUCl*\x95\xa2\xb9\xb9\ +Y\x14\x8b\xc5\xab\xda\xda\xda\x18\x1b\x1b{\xf9*K\xd3\ +4O\xa9\x9eH$B0\x18\xf4\xeb\xb0T\xd7\xd4\xe1\ +5Xjz\x82j\x03\x03B===W\x01\x7fr\ +\x0c\xd8\x8fr\xff\xa1eQW\x13\xa2Tp8w\xc1\ +_\xf3\xde%W\x10h\xb5\xa8\x7f\x9bC\xd5y\x09J\ +y\xfb\xe0L\xc8\xf9z,U\xa0.\x84\x08\xbe\x18\x18\ +G\x94\x90\xaa\xaa\xaa{\xc7\xc6\xc6\xd6\x7f\xf6\xb3\x9f\xfd\ +\xf3\x9a\x9a\x1a.\xbd\xf4Rn\xbb\xed6\x92\xc9$+\ +W\xae\xc4\xf3<~\xf9\xcb_\xb2r\xe5Jv\xec\xd8\ +\x01@0\x18\xa4X,\x92\xcdf\xfd\xc1\x01\xf3\xae\x9e\ +\xfbVT]\xa1P\xe8/\xd6\xaf_\x7f\xff|%\x8d\ +t])\xc2U:\xde/\x1a\xc8\x08\xc9\x03\xdao@\ +\x80\xa6u\xfa\xef\xa9\xae\xd7\xd8\xbcy3\xcb\x96-\xf3\ +[\xe1\x94*?R\xd0\xfcG\x01\x99\x9a\x9a\x92\x8b\x16\ +-\xb2\x1ex\xe0\x01>\xfe\xf1\x8fs\xf3\xcd7\xd3\xd7\ +\xd7\x87\xa6i\xc4\xe3q?%\xb9e\xcb\x16\x0a\x85\x02\ +\xc9d\x92\xe6\xe6f\x9f|T\xee\xafm\xdb\x84\xc3\xe1\ +3.\xbc\xf0\xc2g\x06\x06\x06\xfe{pp\xf0\xd6\xb7\ +\x90\xaa\x0a)\x9bh\x08]\x0c\x9d\xb0\x8bw\x9c_\x85\ +\xeb\xb9\xd8)\x0d\xd2\x11\xdc\xb4\x81\x9b4)\x0e\x86\x91\ +\xae\x00\xb7\xac\xde+\xa7\xd7\x05\x02\x01\x12\x89\xc4\xf3\x86\ +a\xec{En\xaf\x94Rs]\x97/}\xe9K~\ +\xbd\x95\xf2\x16\xa4<\xb4]K\xd34\xa6\xa7\xa7}\xf1\ +T\xddF\xf3\x11lM}}\xfd;kkk\xf7\xbe\ +EH\xc4\xda\xfa\xfa\xfa%\x89Db\xd1|\xd2\x0d]\ +j\xe8\x96 5$\xa9\xd3N\xa4\xb5\xae\x9a\x01o;\ +\xa2JCT\x0br/T\xe3\x155\x7f\x22\xc5\xc1\xd9\ +\x92R\xb52|sjj\xea\x99W\x04\xc8\xec\xec\xec\ +W\xb3\xd9l\xe75\xd7\x5c\xf3\xaeB\xa1\xc0\xbb\xde\xf5\ +.\x1ex\xe0\x01<\xcfc\xc1\x82\x05\x8c\x8f\x8f\x13\x0e\ +\x87\x89\xc5b<\xf3\xcc3\xb4\xb7\xb7\xd3\xd2\xd2B\xb1\ +X\xf4I\xb6\xcaQ\x15/\xb7M\xf8\x8dZ\xc5b\xf1\ +\xe3\xa7\x9f~\xfa?(C^\x92\x16\xc1\x06\x87\xa6\xd9\ +\xb7#\x9e\x13\xe4\x80\x1c\x0e\x01N\xf5\xdf\xd3\xded\xb0\ +{\xf7n\xbf\x15CU\xe2\xa84\x05\xe59\x8dG\xaf\ +\xb2\x0c\xc3 \x9dNo^\xb8p\xe1\xd0\xbe}\xfb\xde\ +\xf5\xef\xff\xfe\xef\xf4\xf7\xf7\xb3t\xe9R\x0c\xc3\xf0\xdb\ +\xa3\x0d\xc3 \x1a\x8dr\xca)\xa7077GCC\ +\xc3!\x05e\xaaIt\x9e\x07\xfb\xe0%\x97\x5cr\xfe\ +\xcc\xcc\x8c\xd8\xbe}{w:\x9dN\xbcY@\xa8\xb4\ +m\x9e\xe7\x99\xf9|\x1e!\x04y\xb7\x04\xe7\x1e`\xf1\ +\xb20\xd2\x03i\xcfG\xe4\x96\x86=m\x92z\xbc\x0e\ +)\x5c\xbf\xa1G\x1d\xc0d2I0\x18D\xd34\x19\ +\x08\x04\x84eY\xe6+\x02\xa4\x22\x12\x17}}}\xac\ +[\xb7\xce7P\x87\x97\x8d*\xf5%\x84\xe0\xd7\xbf\xfe\ +\xf5\xc1!e\x9aF\xb1X\xf4\x01\x11B\x84\x0d\xc3\x08\ +\xd7\xd6\xd6bY\xd6\x9b\x8a\x16\x8e\xc7\xe3\x9cr\xca)\ +\xff\xa7\xb9\xb9\xb9\xb3T*ud\xd2i\xf04\x1c\xcf\ +\xc3x\xb2\x96\xa1\xcd\x82\xf9V\xe7\x0a^\xd6%;3\ +MuM\x95\xdfa\xe6\xcf\x1b\xb6mB\xa1\x10\xba\xae\ +\x8bM\x9b6\x9dX__?\xf1\x8a\x00Q\xabT*\ +M\x99\xa69\xaa\xebz{SS\x13\x86a\xf8\xdc\x8c\ +\x9a_\x15\x0a\x85|#\xaf\x8a\xe9\xd4\x00\x80\xd9\xd9Y\ +\x7f\xca\x8e\x9a\xdb\xeb8\x0e]]]\xd7\x04\x02\x81\xec\ +\xc4\xc4\xc4\xf3SSSO\xbe\xd1R1\xefY^\xb0\ +`\xc1\x82z\x80\x84\x9d\xa6z\xcd,\xf5\xd5!\x9c\xc9\ +0\xced\x08Y\xd2\xf1J\xe5\xb9\xbex\xe5\xc3\x18m\ +)w\x07TN]U\xd9SUt.\xa5\xdc73\ +3s\xc4\xfbyI\x95\x85\xf9|\xfe\xbf\xc7\xc7\xc7\x7f\ +\xdc\xd4\xd4\xf4?\xef\xbe\xfbnV\xadZ\xe5\xab\xa3\x0f\ +}\xe8CLNN\xb2|\xf9r\xba\xba\xba\x98\x99\x99\ +a\xed\xda\xb5\xac^\xbd\xda\x1fJ\xa6Z\xdb\x22\x91\x88\ +?$\xcc\xf3==}\xdbK\xbd\x97\ +\x97\x05\x88\xda\xd4D\x22!=\xcf\x13\xf3\x5c\x15\xba\xae\ +S,\x16\x0f\xe9QW4\x8bJh%\x93Iff\ +f\xa8\xa9\xa9\xc1\xb2,L\xd3T\x80\xc8\xce\xce\xce\x8f\ +,Y\xb2\xe4#\xba\xae\xf3\xab_\xfd\xea*\xe0\xee\xd7\ +AU\xb5\xa5\xd3\xe9\xf3<\xcf+\xe5r\xb9\xe5\xaac\ +8e\xe7\x09\xafL\xa1\x05\x83\xd0%\x91\x96\xc0M\x99\ +8I\x037i\x10\xf6j\xa9\xae\xa9Fz\xd2\xb7\x8b\ +\xba\xae\xfb\x83\xdc\x943T1(\xe1\xc0\xe8\xe8\xe8o\ +_\x0b@\xe2[\xb7n\x0d\x06\x83\xc1[>\xf1\x89O\ +\xdcx\xf6\xd9gs\xfe\xf9\xe7\xf3\xedo\x7f\x9b\xed\xbb\ +%_\xa5\x00\x00\x09\x83IDAT\xdb\xb7\xf3\x8ew\ +\xbc\x83t:\xcd\xe0\xe0 555>\xaf\xb5z\xf5\ +j\x9e{\xee9\x1f\xac\xc3g\xf8Z\x96%\x94s0\ +\xdf\x22\xd7\xd1\xdd\xdd}\x86\x94\x92\x99\x99\x99=\x13\x13\ +\x13\xafI#{\xa1P\xf8\xcb\xcb.\xbb\xec\x9fU\xbb\ +rQ+\x12\xad\x13`\xe9x%\x0d\x99.\xdb\x88\xb2\ +b\x97\xc8\x060\x9a\x0d\xb6\xef\xd8F\xc8:\x98bP\ +\x87+\x99L\x22\x84\xf0\x0f\x9ceY\x04\x83Al\xdb\ +~YsF^\x0e \x92\xf2\xcfM8\xdb\xb7oG\ +J\xc9\x8f\x7f\xfcc\xa6\xa7\xa7\xf1<\x8f\x07\x1ex\xc0\ +O^U\x8e\xca\xdb\xb4i\x93_\xfe\xa2NN\xa1P\ +8\xc4E\xac\x9c\xd5x\xea\xa9\xa7\xde\xd6\xd1\xd1q[\ +$\x12\xe1\xe1\x87\x1f^\x05l}\x15\xa5\xe2\x03\xc0i\ +\xe5\xbdt\xdf\xbds\xe7\xce\xf2\xc8\x0c\xcfA\x9c\x90\xa6\ +\xa6t\xa8Wj'u\xec\xf1 &!\x9a\x9b\x9b9\ +\xfc\xc7\x04\x0e?\x5c\xca3\x8d\xc5bd\xb3Y\x06\x07\ +\x07\xfbu]\x1fx\xad\x00\xf1\x1d\x81P(\xc4\xb6m\ +\xdb\xfci\xa4\xaa]AuTU&\xf2\x95d\xa8\xea\ +\x8b\x5c.G\xb1X\xf4\xd9\xe3J\xcfKM\x11M\xa7\ +\xd3x\x9eGGG\xc7\x7f\x9et\xd2IE\xd7u\xf5\ +\xde\xde\xde;\xe2\xf1\xf8\xd7^\xce\x8d\x1e6\xce\x96l\ +6{\xcde\x97]va6\x9bE\x08A\xa2v\x5c\ +v.3\x85\x15\x0f\xe3\xcc\x04\x91\x19\xd3\xf7h\xa5\xe7\ +!5Ixi\x98\x8d\x9b6R[[\xeb\x03R9\ +\xe4SM\xe9VqW0xp\x5c\xfa\xf4\xf4\xf4\xb2\ +\x97\xcb\xdd\xbdl@t]\xbf\xfb\xc9'\x9f|J\xd7\ +\xf5+/\xba\xe8\xa2\xcb\xd6\xae]K[[\x1b\x9b6\ +m\x22\x9dN\x93L&\x99\x9b\x9bC\xd7uN8\xe1\ +\x04\x86\x87\x87\x99\x98\x98\xe0\xf4\xd3O\xe7\x85\x17^8\ +\x044\xdb\xb6\xfd!6\xa5R\x89`0\xe8\x7fa\xdb\ +\xb6\xa9\xab\xab\xebT?\xfe\xb2k\xd7\xaeu\xe1px\ +\x06\xd0\x82\xc1`!\x99L>p\xa4{\x9d\x9c\x9c\xe4\ +\xe4\x93O~|\xd1\xa2Ek\x95]\xdb7\xb6W\x06\ +\x82\x9a\x90\x05\x03}&\x22\x0e\xf4\x83\xd0l\x84f\xe3\ +z\xae\x1f?\x00\xd4\xd4\xd4\xa0\xe9\x07\x8b;*\x01Q\ +\x01\xaf*\x5c8\xf1\xc4\x13\x89\xc7\xe3\x94J%\xaa\xaa\ +\xaa\x0e\x99R\xf1r\x88\xd4\x97\x0d\xc8\xdc\xdc\xdc 0\ +XSSs\xd6\xce\x9d;Y\xbe|9\x03\x03\x03\xfe\ +TO%\xca\xae\xeb266\xe6s];v\xec\xf0\ +\xdb\xe0T\x10977\xc7\xe1\xe3e+\xb8/\x7f\x13\ +\x00\xd9\xdd\xdd}\xc9\x8a\x15+.\x01\xd8\xbf\x7f\x7f~\ +tt\xb4e^E\xe8SSSO\xba\xae\x1b\x9f\xe7\ +\x8d\x16\xb5\xb5\xb5m\xac,\xd9\xac\xdc\x10\xe9I\xa1\xa4\ +@I)\xc0\xf4\xf44===~,1;;[\ +\xe6\xaf\xe6'ST\x8e\x16Q\x80T\xd2\x22K\x96,\ +azz\x9aR\xa947555R,\x16\x9d\xa3\ +Q\xab\xaf\xa8o\xa0\xad\xad\x8d\x8d\x1b7\x02\xfc\xc1Y\ +\x1eUUU\x87\xe7W\x08\x85B\xb8\xae\xcb\xd4\xd4\x94\ +\x1f\xd9+]\xac\x86\x84)\x09Q\x7f\x03\x22\x97\xcb1\ +11\xa1\xf4td\xc5\x8a\x15_W\xc4\xdd\xd6\xad[\ +\xa9\xae\xae\xf6\x83\xd0\xe9\xe9\xe9?X\xb2\xe98\x0e\x17\ +^x\xa1\xef\x11\x8d\x8f\x8f\xd3\xd8\xd8\xe8\xdf\xbfr]\ +\x95:R?\xb1\xa1\xa6\xe2)W]U\x8e\xa8a\x97\ +\xba\xae322\xa2\x00zx\xf7\xee\xdd\x97\x1f\xed\x9e\ +\x1e5 \x9e\xe7}\xed\xd9g\x9f\xfd\xb1eY+{\ +zz\xee\xbd\xf5\xd6[ikk\xe3g?\xfb\x19;\ +v\xec@\x08A6\x9be\xd9\xb2e\xf4\xf6\xf6\xfa\xcd\ +=\x8d\x8d\x8d\xec\xdb\xb7\xcf\xd7\xbb\x8a\xda><\xd2U\ +)`\xe5N\xab\x0dRA\xa6\xda\x14)%\xad\xad\xad\ +\xb4\xb5\xb5!\x84`rr\x92\xd6\xd6V?\x0e\xd8\xbb\ +w\xaf\x9f\xd7\xdf\xb5k\x97\xcf\xbf\xa9\x93\x7f\xb8\x81V\ +\xb4\x90\xf2\x9e\x0e\xf7\x0c\xd5\xf5\x01\x9fH\x1d\x1c\x1cd\ +nn\x8e\xaa\xaa**\x87v\xbe\xae\x80d2\x99)\ +`J\xd7\xf5*M\xd3\xf8\xdc\xe7>GCC\x03\x89\ +D\xc2\xffRRJ&&&\x0e\xa1\xeb\x15X\xb1X\ +\x8c\xee\xeen\xe2\xf1\xb8\xaf\x12*\x87k\xaa\x7fJ\x8a\ +\x94\xe1\xaf\xcc\xb1Tf\xf2\x14\x11\xa8\x0c\xadr4\x14\ +\xeb\xac\xdcT\xc58+\xf0\xd5\xe7\xa8\x83\xa0<\xc2\xca\ +\xc2\x84\xf9\xa19\xfe\xf7P\x0e\xcc\xb2e\xcb\xe8\xeb\xeb\ +\xc30\x0c\xe2\xf1\xf8\x1dB\x08\xafP(<\xf3\x86\x00\ +R\xa1\x86\x9cR\xa9T\x0c\x87\xc3\xc5d2\x19\x8dF\ +\xa3f0\x18D\xd7u\x7f4\xac:e\xca\xb0\xaaM\ +S\xd5\x8f*\x9a\xd7u\xddO\xffVf\xd6TO\xb8\ +\x92\x10!\x84/!\x95:^\x01\xa7\x1c\x05\xe5\xc1\xa9\ +MW\xaaG\x01\xa2\xc6\xc1V>\xa7\x0e@% \x95\ +?\xb7QUU\xe5\x17\x5c\xff\xf6\xb7\xbf%\x12\x89\x10\ +\x89D\xd8\xb7o\x9f?3\xb2\xa9\xa9\x89\xa9\xa9\xa97\ +\x06\x10\xdb\xb6\x9f\xdb\xbe}{\x18\xa0\xbe\xbe\xfe7\xdd\ +\xdd\xdd\xe7}\xecc\x1f\xe3\xc9'\x9fd``\xc0O\ +a*C\xaf6D\xd7u\xb2\xd9\xac\xcf\xf7\xd4\xd4\xd4\ +\xf8\x06_\xc53*\xda\xadT\x1b*\xd9\xa3\x00;|\ +\xde|\xa5$\x05\x02\x01\x7fc\xd5\xa6+\xe6\xf9p\x8f\ +I]Oy\x81J\x22T\x1b\x9f\xca\x8btvv\xb2\ +|\xf9r\x1e{\xec1<\xcf\xa3\xa5\xa5\xe5\xff\xe9\x1b\ +\x9f\xf7\ +\xd5\x92J\x03T\xb2\xd1J\xdbh\x9aFMM\x8d\xff\ +9\xea\xf5\x81@\x00\xd7uy\xea\xa9\xa70\x0c\x83P\ +(\xf4D*\x95\xba\xfc\xb5\xda\xb7\xd7\x0c\x90D\x22\xe1\ +\xcf\xea\xee\xec\xec\x1c\xe8\xec\xec\x5c\xf2\x12\xed\x90O?\ +x\x9e\xc7\xc2\x85\x0b\x19\x1c\x1c$\x12\x89\xf8S\xa6\xfd\ +\xde\xbe\x0a\x1aF\xd9\x1de\xaf\x14X\x87O\xd6V\x91\ +\xb9\xa6i\xbe\x87\xa7$\xa8\xb3\xb3\x13\xc30\x18\x1c\x1c\ +\xf4'\x1f\xcdW\xce\xa4ggg\x9f\x13Bx\x96e\ +m~-\xd3\x02\xafK\x87\x7f.\x97\xfb\xfe\xf8\xf8\xf8\ +\x02\xcamn\xef\x0b\x87\xc3\xcb\x8e\xd4\xaf=33C\ + \x10\xe0\x99g\x9e\xf17\xf0\xec\xb3\xcff\xe3\xc6\x8d\ +h\x9a\xe6\xf7\xa8$\x12\x09\xbf\x92R\xd9\x0a\xd34\x0f\ +\x99\xbc\x1d\x0c\x06}O\xaf\xb5\xb5\x95\xd9\xd9\xd9r\xea\ +5\x1ae\xe9\xd2\xa5\x0c\x0f\x0f\x93\xcb\xe5\xd04M\xfd\ +W\x0a!\x84\xe38\xaa#l\xdf\xd0\xd0\xd0\xf9/\x96\ +\xf6}K\x012?\x90\xfe\x0b*\x9f|\xc2\x09'\xb4\ +.X\xb0`YE\xe4+\xc5\x1f\xe09*\xd5\x98\x8a\ +i*\xf3\xf8\xd1h\xd4\x1f1X__\xcf\xf2\xe5\xcb\ +\xd9\xb3g\x0fuuu\xe4r9\x82\xc1 \xb9\x5c\x8e\ +\x13O<\x11!\x04\xa9T\x8aD\x22AGG\x07\xef\ +|\xe7;\xf9\xf5\xaf\x7fM\xa1P\xa0\xa1\xa1\x81\xde\xde\ +^4Mc\xff\xfe\xfdJ\x8d\x89\xc1\xc1\xc1o9\x8e\ +\xb3\x0fp#\x91\xc8\xc0\xe1\xc5\x10\xaf\xd5z\xddg\xae\ +k\x9a\xb6@\xd3\xb4\xc8\xfc\xe3\x0fvww\x7f\xe5H\ +\xf3?\x94>Wv'\x10\x08\xf8\x86\xd9\xb2\xca?\xb3\ +z\xd5UWq\xdf}\xf7\x11\x0e\x87\xa9\xad\xadez\ +z\xda\x9f>\xb1a\xc3\x06~\xfe\xf3\x9f377G\ +WW\x17\xdd\xdd\xdd<\xfe\xf8\xe3\xaa:\xdfWm\xea\ +\xf7\x15]\xd7%\x93\xc9\x9c\x1b\x8f\xc7\x1f\x7f\xbd\xf7\xe7\ +\x0d\x1d\x82\x1f\x0e\x87Okll\xbcL\xd7u\x07 \ +\x1a\x8d~*\x18\x0c\x1eq\xae\xaf\x9a`\xa7\xd4\xd3\xd8\ +\xd8\x18\xd5\xd5\xd58\x8e\xe3\xe7$\x14\xf1711A\ +]]\x9d?s8\x16\x8b\xf9\x81a\xa1P\xf0m\xca\ +\xfc\xe8\xf3Cf\xd1\xbf\x11\xe3l\xdf\xd0)1\x85B\ +a\xc7\xc8\xc8\xc8\x8e\x0a\xdd\xecE\xa3\xd1*)\xa5\xb4\ +m\xbb\xcb0\x8c?;R\xa3\xbd\xb2\x05\xcac*\x16\ +\x8b~\x90\xa9b\x09\xf5k\x9c\xd9l\x16\xcf\xf3vK\ +)u\xd7u\xddd2\xf9\xf7\xe3\xe3\xe3?y\xb1\xcf\ +~#\xc6\xd9\xbe\xa1\x12r$\xed\x06\xf8\x9c~,\x16\ +\xbbZ\xd3\xb4\xd8\x8b\x81\xa2\x96i\x9a>\x95!\x84(\ +\x00{\x8b\xc5bVJ)c\xb1Xfvvv\xfb\ +ai\xddcy\x04\xc8\xf1u|\x1d_\xc7\xd7\xf1u\ +|\x1d_\xc7\xd7\xf1\x05\xc0\xff\x05\xf4\xe6\xb0\x9e\xc6n\ +\xd0\xb8\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00?\xd1\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00P\x00\x00\x00P\x08\x06\x00\x00\x00\x8e\x11\xf2\xad\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ +\x00\x00\x09pHYs\x00\x00\x0e\xc4\x00\x00\x0e\xc4\x01\ +\x95+\x0e\x1b\x00\x00\x00\x07tIME\x07\xd9\x03\x03\ +\x0e6\x08!\xa9\x064\x00\x00 \x00IDATx\ +\xda\x9c\xbci\x98$Wy\xe7\xfb;\xb1\xe6\x9eY\x99\ +Y[\xd7\xd2U]\xbd\xaa\x17I-\xb5\xf6\xd6\x0e\x12\ +\x12\x18\x8cm`|\x19l#\x1b\xcc\xb0\x08\xcf\x18\xdb\ +c?\x9e\xe5\xdeg\xbc\x8c\xf1x{\xbc\x8c=6\xc6\ +\xf6\x18\x06c\x1b\x0c\xd8\x80\x05Z\x11\x12\xddH\xa8[\ +\xea}QU\xd7\xbe\xe4\x16\xfbz\xee\x87\xac\xcc\xae\x06\ +\xc6s\x9f\x9b\x1f\xba\xb3\x9e8q\xe2\x8d\x13'\x22\xce\ +\xef\xfd\xff\xdf\x14\xefz\xd7\xbb\xa4\xe38\xd4j5^\ +\x7f\xfdu|\xdfgaa\xc1\xfa\xe8G?Z,\x97\ +\xcb\x84a\xc8\x8b/\xbe\x88\xaa\xaa\x84aH\x18\x86t\ +:\x1d\xd6\xd7\xd7\xa9\xd5j\x9c9sfuhh\xa8\ +\xf8\xfe\xf7\xbf?[\xab\xd5\xf8\xf4\xa7?\xcd\xf0\xf00\ +\x17/^dhh\x88\xf9\xf9yL\xd3\xc44MN\ +\x9e<\x19%I\x12\xfc\xe2/\xfebaxx\x98g\ +\x9ey\x06\xc7q\xb8r\xe5\x0a\x83\x83\x834\x1a\x0d\x86\ +\x87\x87\xd9\xd8\xd8`nn\x0e\xdb\xb6;\xb7\xdf~\xbb\ +x\xc3\x1b\xdeP\xac\xd7\xeb<\xf3\xcc3\xac\xac\xac\x90\ +\xa6)\x8e\xe3P*\x95\xb8|\xf92Q\x14\xe1\xba.\ +\xf3\xf3\xf3\xb3\xefy\xcf{\xb6?\xf0\xc0\x03|\xe9K\ +_\xe2\xca\x95+\x14\x0a\x05\x82 \x8a\x22fgg\ +\xa9V\xab4\x9bM.]\xbat\xee\xae\xbb\xee\xda\xf9\ +\xb3?\xfb\xb3\xcas\xcf=\xc7K/\xbd\xc4\xf4\xf44\ +\x97/_F\xd34l\xdbfrr\x92s\xe7\xce\xb1\ +\xb8\xb8\xb8\xb4\xb2\xb2\xb2\xfc\xeb\xbf\xfe\xeb7f\xb3Y\ +N\x9c8\xc1\xfa\xfa:\xb6m\xa3\x0c\x0d\x0d\x91\xcb\xe5\ +\x10B099\x89\xa6i\x08!\xc8\xe7\xf3\xfc\xc8\x8f\ +\xfc\x08\x83\x83\x83T\xabU\xa6\xa6\xa6\xd8\xb1c\x07\xc5\ +b\x91R\xa9\x84\xae\xeb\x8c\x8d\x8d\x01\x10\x86!\x0f<\ +\xf0\x00\xd7_\x7f=\xa6i255\xc5\xe0\xe0 \xdb\ +\xb7o\xa7^\xafc\x9a&\xfb\xf7\xefG\x08\x81\xef\xfb\ +\xec\xdf\xbf\xbf\xbfmll\x8cR\xa9\xc4\xbe}\xfb\xc8\ +\xe7\xf3\x14\x0a\x05v\xee\xdcI\xa1P@UUVW\ +W\xb9\xfd\xf6\xdb)\x95J\xa4iJ&\x93\xa1T*\ +\x11\x04\x01\xba\xae#\x84\xa0^\xaf\xa3i\x1aRJ\xf6\ +\xee\xdd\xcb}\xf7\xddG\xb1Xdpp\x90\xe9\xe9i\ +\x06\x06\x06\x98\x9c\x9c\xc40\x0c\x86\x87\x87\xc9\xe5r\x00\ +h\x9a\xc6\xbe}\xfb0\x0c\x83\x5c.\xd7\xdf^(\x14\ +0\x0c\x83(\x8a(\x16\x8b\xa8\xaa\x8a\x10\x82\xc1\xc1A\ +n\xbe\xf9f\xc6\xc6\xc6\xd8\xbbwow\xdc\x0e\x1f>\ +,\x01\xa4\x94\xfd\x00;\x9d\x8e\x95\xcf\xe7\x8b\x99L\x06\ +\xd7u\x11B \xa5\xa4\xf7\x91R\x22\x84@\x08A\xa7\ +\xd3Y\x1d\x1c\x1c,\xa6i\x9a\x05\x88\xa2\xa8\xbf=M\ +\xd3\xfe\xbeRJ\xe28\x8e\xa2(\x0a\xf2\xf9|\xa1X\ +,b\xdb\xf6\xf7\xf4\xbb\xf5\x7fM\xd3:\xedv[\x94\ +J\xa5b\x92$(\x8ar\xcd\xf1\xb7\xf6_\xadVy\ +\xed\xb5\xd7f\xaf\xbb\xee\xba\xed\x8e\xe3\x90\xa6i\xff\x9c\ +zmz\xfb\xe8\xba\xce\xec\xec\xec\xb9={\xf6\xecl\ +\xb7\xdb\x8a\xa6i\xd7\x1cw\xebGJ\x89\xa2(Kk\ +kk\xcbCCC7\x9a\xa6\x89\xef\xfb\x08!\xba1\ +\xa6\x89l\x08\x01\x08P\x14\x05\xcf\xf3R\xcb\xb2.g\ +\xb3Y\xdd\xb6m\x04\x824\x95\x80@\x08\x09\x9bm{\ +\x07\x8b\xe3x\xa5\xd3\xe9\xec\xd14\xad$\x10\x9b\x07\xdd\ +\xfcG\x00\x9b\xfbl\x1e0\xf4\xc4\x83 I\x12\xc20\xc4\xf7}\xa2\ +$\xa4\xb1\x16\xf2\x8e\xeb\xfe\x1d9o\x86\xf7\xdf\xfc\x9b\ +\xbc\xe7\x9e\x9f!\x90n\xbf}\x9a\xa6[\xf6\x8dyt\ +\xfb\x87\xd9\xad?\xcc\x8f\xdd\xf2K\xdc\xbf\xe31D\xd1\ +'\x08||\xdf'\x8ec\xa28\xc2s]\xa2$f\ +\xbc\xb0\x9b\xa3\xa3\xef\xe4\x07\xa7~\x81\x01\xefv\xee\xbf\ +\xe1\xcd\xb8I\x1b\xdf\xf3\x89\xa2\x08\x00?\xf0q]\x17\ +]\xd3\x98\xd2o\xe7\x81\xf1\x9f\xe0\x86\xf2\xdb\xf9\xafo\ +\xf9\x12\xb2\xe0\xe1\xfb>\x9e\xeb\x91\xa6i7n/ \ +\x11\x09\xae\x1b\xf0\xa1\x83\x7f\xc2\x1bv\xbd\x9b\x8f\xde\xfe\ +\xe7LL\x8f\x12\xe2\xe1{>a\x18\xf6\xc7$\x08\x03\ +\xa4\xf0\xb9]{\x9c['\xde\x80\xa2\xc4:n\xe0\x10\ +\x04\x11\xbe\xe7\xf5\x1b{\x9e\xd7}\xfd'\x01\xfb\x87n\ +\xe3\xb3\xaf\xfd.\xf3K\xeb\x1c\x1c\xb9\x15\x05\xa5;\xc0\ +\xbeO\x92$DQ\x84\xe7y\x84A\xc8\x80>\xc1\xb2\ +5\xcb\x8b\xb3Op\xc7\xf4Cx\x91C\x14\x84\xfd\xfe\ +\x92$\xe9\xefk\xaay\x06ru\x9e_\xfa\x1bn\xa8\ +\xbf\x81Zn\x84\x92^\xc7\xf3\xaf\x0e`\x12'x\xbe\ +O\x1cE\xe4\xf4\x02J\xc6\xe5[\xe7\xbe\x85HUl\ +\xbfI\x1c&x~w`\x00\x02?\xc0u=4U\ +\xc5i\x09\xbe~\xfe\xf3(q\x9ej\xa5@\x92$x\ +\x9e\x87\xe7y\xf4\xee\x1a\xcfsQ\x15\xc1\xc5\xb3\x16\x03\ +C*\x1b\xce2\xd7O\xdeL53F\x10v\xe3\x88\ +\xa2\xa8{\xe17\xbf\xb7:\x1e?\xf5\xc8c\xfc\xd3\xf9\ +O\xa0$2%\xa3\x94\x88\xe2\x88 \x08\xfa\x03\xd8\x9b\ +%\x0a*~\xe2P\xcf\x8e3P\xa82\xb7>\x8b\x84\ +\xef\x19\xc00\x0c\x89\x93\x18?\xb1\x19,lC\x13Y\ +Z\xde\x1aY-G\x14\xc7\x84ax5\x90 \xc0\xf7\ +}$)\x0a\x1a\x9e\x03\xa9\xea\xd1r\xdb\xac\xdb+\x84\ +\x9b\xdb\x93$!\x8e\xe3\xcd\x81OIdB\x1a\x19\xcc\ +\x8c\xee\xa2\xe3\xd8\x943C\x84q\xd0\x8f\x15 \x08C\ +|\xdfCQ\x14\xf2E\x9d\xbdC7b\xf9M2J\ +\x09M\x18\xdd\xb6a\xf7.\x8b\xa2\x08\xcf\xf7\x91RP\ +\x190I\x02\x1d)\x05H\x85\x86\xbbL\x12\xa7\xfd\x01\ +\x94R\xe2\xf9>a\x14b\xe8\x1as\xcb\xcb\x18J\x16\ +\xedX\xfb\xd3xJ\x03\xdf\xf3\xb0\xec\x88l\x9aAJ\ +\x89\xe38\xf8qD\x11\x83/\xbf\xfeG\xbc\xf7\xd0\xaf\ +r\xb2\xf3\x0f\x5crO\x10\x8b\x00\xc7qPU\xb5?\ +x\xae\xeb\x92\x1a0RW\xf8\xc6\x99\xe7\xf8\xf9G\xff\ +\x1f~\xeb\x9b\x1fd|t\x9c4Iq\x9c\xcd\x19\xb5\ +9\x0b\xa4\x94\x0ch\x82\xa7.\xfd\x1d?\xff\xc6\xdf\xe4\ +S\xaf\xfd\x1a\x96\xefP\xcaTp\xddy\xe2@b\x18\ +\x06a\x18b[\x16\xbe\x1e\xb3d_b\x89E\xf6o\ +\xaf!\x07/p\xa9\xd1] [\x96\x8fa\xea\x00\xb8\ +\x8e\x83\xdbq\xd1R\x9d\xa5\xe8;\xdc\x9b}+Qq\ +\x8e\x8f?\xfdA\x14\x15l\xdbF\xd3\xf4\xab\x93\xc4\xf1\ +\x89\xf21\xdb\xb7\x0f\xf2\xd4\xa9\xaf2\xb3}\x86\xdf{\ +\xf1q2F\x860\x0e\xb0\xed\x18\xdd\xd4H\xd3\x14w\ +sL\xca\xf9\x22\xbf\xf5\xcc\xe3|\xec\xc1?@[\x5c\ +\x9b\xa5\xd1Yc\xf9l\x9b\xc8M\x91\xa4\xa4iJ\xab\ +\xd5\x22H\x22\x8aA\x1eW[\xe4\xf7\xbe\xf58\x8f^\ +\xff\xc3\x9c]=\xc6\xea\x0b\x92v\xdbFQ\x14\xd24\ +\xc5\xb6m\xda\xed6R\x15\x08\xa5\xc2\xf3\x8dO0>\ +7\xcajg\x8e\xc5\xd59\x16\xce4\xf1\xdaI\x7f\x0d\ +\x16\x86!i\x9aRH\xf2\xcc\x06\xdf\xe2\xd9\x85\xcfb\ +\xf9MN/\xbc\xc2\xec1\x9f\x8d\x15\x07\x04\x94J\xa5\ +.\xf9D)A&%QJ<\xb3\xfaW\xb4\xd3\xa3\ +\xf8\x9e\xc5K\x17O\xb0r\xda\xc1wb2Y\x13\xe8\ +\x0e\x90m\xd9\x14\x92\x02\x8eX\xe5\x8b\xb3\xbf\x8deY\ +,\xaf-\xb0\xf2J@\xbbaad\xb5\xfe$\xb1\x1a\ +m\x9c\xa2$\x91\x15\xbe\xd5\xfc\x14\xcb\xfe\x8d\x5cn\xbd\ +\x8c\xe3\xb8\x5c\xfaf\x03\x99\xa6\xe4\x92\x1ci\x9a\xd2h\ +4\xe9\xc8\x8402q3\x97\xf9\x95\xaf|\x041=\ +\xb1S\x0a\x04f^#\x8cB\xb2\xd9,Q\x14Yi\ +\x9a\x16k\xd5:r\xacCiXg\xe5;\x1e\xeb\x17\ +]L\xc3D\xa8\xa0\x1a\xdd7Y\x10\x04\xab\x03\x03\x03\ +EEQ\xb2RO)\xdd,\x89\x97R\x16^\xe9\x80\ +\xa7!\x14\x81jv\xd7`i\x9aFB\x88\xc00\x8c\ +B\xa5RA\xee\xb1(\x19:W\x8e[8K\x09\x9a\ +\xa6\x81*QuA\x92$\x14\x0a\x85N\xb3\xd9\x14;\ +gv\x16\x1b\x9d\x06\xa37\x1b\xcc\xbfhc7B4\ +EC\x92\xa2gT\xe2$\xa6R\xa90;;\xfb\xec\ +\xce\x9d;\x8f*\xa8$C\x16j*X~\xd5!\x8d\ +%\xaa\xa2\x224P\xbakf\xc20\xa4\x5c.[\x02\ +Ql\xe2s\xe3[\x0a,\x1cwY?\xe7!C\x15\ +d\x8a\x96\xedN\x10\xc30\xe8t:\xc7\xf2\xf9\xfc\x11\ +3[d\xfb#\x12g!a\xfd\x9c\x8fv\xc7\xdd\xb7\ +\xd2l6\x19\x1d\x1d\xe5\xc2\x85\x0bx\x9e\xc7\xca\xca\x0a\ +?\xf6c?\xc6\xbe}{\x99\xbb<\xcf\xcb/\xbfB\ +}\xbb$\x9d\xec\xbe\x00<\xcf\xa3\xd1hP,\x16\xb9\ +t\xe9\x12\x9a\xa6\xf1\xd3?\xfd\xd3\x0cT\x06\xf8\xabO\ +\xfe5\x95j\x85\xf2\x9e%j\xb5\x1a\x0b\x0b\x0b\x18\x86\ +\x81\xa2(\x5c\xb8p\x810\x0c\xf9\xc0\x07>\xc0\xc1\x83\ +\x07\xf9\xe4\x9f\xfe\x05\xaa\xd40F\x97\x19\xbc\xbe\xce\xc6\ +\xc6\x06\x03\x03\x034\x9bM\x16\x16\x16\x08\x82\x80;\xef\ +\xbc\x93\xc7\x1e{\x8c0\x0cy\xe6\xc9\xe7\x18\xbdq\x19\ +US\xe9t:\x14\x0a\x05\x16\x16\x16p]\x97$I\ +PU\x95\x87\x1ez\x88\xb7\xbf\xfd\xed|\xe1s_\xe4\ +\x95\x13'\x98\xbeS#\x9f\xcf\xb3\xb0\xb0\x80\xe38d\ +\xb3Y\x9a\xcd&\xcb\xcb\xcbT\xabU>\xf2\xf8G\xb8\ +|\xf1\x12\xcf>\xf5M\xf6\x0cd\xd9}[\xca\xfa\xc6\ +:\x85B\x01!\x04KKKX\x96E\x92$|\xe0\ +\x03\x1f`jj;O\x7f\xed\x1b4\xd3\x06\x83\x13.\ +\xda\xe0\xe0 \x8e\xe3`\x18\x06SSS\x9c;w\x8e\ +$I\x98\x99\x99\xe1\xe8\xd1\xbb9U;\xc5Zc\x95\ +\xc1\xc1A\x14E\xe1\x95W^att\x14\x80\xe1\xe1\ +a.]\xbaD\x9a\xa6\xdcv\xdbmd\xb3Y\xbe\xfc\ +\x95/s\xfd\xf5\xd7s\xe6L\x16\xc30\xfaW\xfb\xc0\ +\x81\x03\x5c\xbcx\x11\x80\xc3\x87\x0f3>>\xce-w\ +\x1caee\x05/\xb2\xd9\xb1c\x07i\x9a244\ +\xc4\xae]\xbb\xf8\xcaW\xbe\xd2\x9b%\x94J%\x86\x86\ +\x86x\xf5\xd5W\x11\x9a$\x9f\xcfs\xfc\xf8q\xc6\xc6\ +\xc6h6\x9b\xe4\xf3y\xd6\xd6\xd6\x10BP*\x95\xd8\ +\xbd{7\x03\xf5\x0a\x95j\x89r\xb9\x8c\x94\x92Z\xad\ +\x86eY\x0c\x0d\x0d\x11\x04\x01B\x08\x0a\x85\x027\x5c\ +\x7f\x03\x193\xc3\x99\xb3g\xd9\xbbw/kkk \ +\xa0P(0::J6\x9b\xe5\xe4\xc9\x93\x00\xdcq\ +\xc7\x1d\x94J%:\x1d\x0b\xcf\xf38y\xf2$\xe2\xc6\ +\x1bo\xec\x03`\x8f\x85\xdb\xed\xb6U*\x95\x8aA\x10\ +\xf4\xf9\xf3\xfb}\x14E\xa1\xd3\xe9\xac\x0e\x0d\x0d\x15\x1d\ +\xc7\xc9\xf6\x10\xec\x7f\xf7\x89\xe38\x0a\xc30\xc8\xe7\xf3\ +\x85\xef\xc7\x9d\xdf\xcd\xda\x8a\xa2t:\x9d\x8e(\x95J\ +\xc5\xffS\xfbr\xb9\xcc\xa9S\xa7\x9e\xdd\xb9s\xe7Q\ +\xcf\xf3\xf8\xdf\xc5\x22\xa5D\xd34666\x18\x1c\x1c\ +\xb4\x82 (\xfeKq\xf7bY[[;644\ +t\xa4\xc7\xd6\xbd\x8f\xb65\xaeM\x16\xc6\xb2\xac \x9f\ +\xcfg\x15E\x91H\x90\x89\xd8\xc2\xb4\x9b\x8d\x05\xa4i\ +*\xe28\x8e;\x9d\x0e= G\x0ad\x17SA\x91\ +\xfd\xb6\x9b\xc1H\xdf\xf7\xe3L&\x13+\x8a\x22\x85\x14\ +]\x06\x15\x12\x94\xcdf[X\xd8\xb2,\xdf\xf7\xfd\x0d\ +!D\x19\x90$\xa2\xcb\xd9\xca\xb5\xb1H)\x85\xe7y\ +\x91\x94raccc]J\x19\x90\x8a.'\xa7\x02\ +\x94.\x0bo\xc6!6\x9f\xdd\x0d\xcb\xb2\xb6\x9b\xa6\x19\ +\x0b\x90i\xb2\xd9\xd9&7\xb3%\x96 \x08\x94$\xe9\ +6P\xc4&\xbf\xcb\xcdd\xc2\xf8\xae!\xa4\xa7v\x0f\ +\xd4\x1d\x14\x96\x96\x96.\xed\xd8\xb1\xe3\x80\xe7zi\x98\ +s\xc9\xef\x08\x10\xaeF\xd26I-\x1d\x19uwV\ +UU\x00rxxXd2\x19\x02\x11\xc2t\x8bR\ +A%\xee\xe8\xd0\xce\x90Z\x1a2Q@\x82\xe7yr\ +qq1\x1a\x1b\x1b\x0b\x14E\x91\x8d\xcc\x06c\xbb5\ +\xa2\xa6\x86l\x9b$\x8e\x0aI\xff\xea\x8av\xbb\x1d\x04\ +A0691Y\xf2\x93\x10uG\x9b\xac\xae\x934\ +\x0d\x12KG\x06\xdd~\x01L\xd3\xe4\xc9'\x9f\xbcp\ +\xe8\xd0\xa1\xba\x8c%\xab\xb9e\xb6\x1f\xd0\x08\xda \xdb\ +\x19\x92\x8e\x01\xbe\x8aL\xc10\x0c\x8e\x1f?\xbemb\ +bb\xde4L\xa5\x15\xdar\xe0\x90\x8f\x96\xea\xc4\x0d\ +\x9d\xb4\xd3e\xf2n\x92\x03aYV\x9c$\xc9\xc4\xf4\ +\xf44\x96\xef\x93\xd9cQ\xa8(\x04\x9d\x14\xad\xfe\x03\ +\x1b\xe8\x8aI\xf3\xc9.\xf7\x19\x86@U\xd5\x01\xd34\ +s\x9e\xe7\xa3n\xf7\xa9\xdc\xee\xa0\x87E\xc2x\x0d%\ +6\x90\x81F\xe3\x8b\xdd\x1c\xdc\xe6-\xae&I\x82\x9d\ +\xb1\x19\xbc\xbe\xc3\xee\xf1\xfd\x90\xa6\xcc\xad\x5cDUT\ +:\xcf\xd4\x09\x17u\xd24UTU\xcdi\x9a\x96\x17\ +B\xc0\x1e\x8b\x81\xdb5ri\x9dV{\x1d!\x15\xc2\ +s\x15\xac\x139\x84\x90h\x9a\x96z\x9e\x07R\xb2!\ +[\xec\xbf\xdfFK2\x04n\x03=\xcd\x10\xb9\x02\xfb\ +x\x99`QG\xc9*H)7\x1f\xba\xe0\xee]\xa7\ +t\xc3\x00Uu\x8auk\x0e\xcb\xb2\xd1:U\x1aO\ +\x14\xe9\xa5\xc6\x0c\xc3\xa8\xe8\xaa\x9e\xbf\x98\xac\xf2\xe6\xbb\ +sD\x81O\x96\x12\x1d{\x03C\xe4\xe8|\xa3L\xb8\ +l\xf4r\x8d\x91L%V\xea0z8\xc0S\xda\xbc\ +q\xe7\x0f\xa2<\xba\xfbq\x8a\xd5\x22\xb1\xec\xf2\xec&\ +\x0bK\xdf\xf7\xf1|\x9fT\x84Lr7\x1f\xbc\xf3\xbf\ +\xf2\xaf\xaf\xfb\x0d\xf6\x0c\x1dex\xdb`\x9f&\x92$\ +\x91\xbdLu\x9cF$\xcd\x0a\xf7\x8e\xbf\x93C\x85\xb7\ +r\xcf\xf6w\xf3\xa6[\xdeAx-\x0b\xcb\xdeq\xe2\ +4\xe1\xd1\xed\x1faRy\x80\x07\x0f\xbc\x8b\xa33\xef\ +\xc2\x11\x1b[)G\xc6q\x8c\xe7\xfa\x84I\xc8Hv\ +\x9aG&>\xca\xcf\xdd\xfdI\xbcf\x9d\x1d\xd3S\x84\ +\xd2\xed\xf3j\x8f\x85=\xcf\xc50T\xa6\xd5\xbbx\xcb\ +\xd4\xe3\x1c\xaa\xbc\x95_y\xcb\xdf\x93\xe6\xec\xcdU\x84\ +\x8f\x94\x920\x0c\xa5\xefzD2\xc2s#>|\xfd\ +'\xb8\x7f\xf7\xbb\xf8\xd0\x1d\x7fHe4G$\x83>\ +gK)\xf1=\x8f8\x89hvZ\xfc\xeeCO\xb3\ +\xb4\xbe\x862^\xd8\xc3\xc1\x91;7\x07\xa4\xcb\xc2B\ +\x08<\xcf\xc3\x0f|\xc28\xe0\xba\xa1[y~\xe1\xef\ +y\xe1\xe4\x09n\x9fz\x08M\xd1\xfbL\x99$\x09A\ +\x10tY8\x0a\x19+\xeef\xb1s\x91\xf3k'\xb9\ +m\xfa\x01\x924!\x0ec|\xbf{\x92[\xdbg\xd4\ +<\x95\xcc \xaf{/\xb0\xbf|?;\x87\x0eP\xd2\ +\xeb\xf8\xbe\x8b\xe7y\xc4qL\x1c\xc7\xf8~\xf7{)\ +S!WLx\xf6\xc4\xf3\x1c\x1c\xbd\x83\xdd\xb5\x9bp\ +\x03\xe7{Y\xd8\xf3QU\x15\xa7-xq\xee\x9f\xc9\ +\x8a*C\x03C\xa4I\x17A\x03\xdf\xef'\x13<\xcf\ +CQ\x15.\x9f\xb3\x18\x1a\xc9\xe2G.7L\xdc\xc2\ +d\xe9:\xfc\xb0\x1bG\x0fA=\xdf'\x0a#4\x99\ +a\xb8:\xc4Fz\x06\xcd\x09l\xce\xae\xbcJ\x14\xc5\ +\xf8^\xda}\xa0Cw\xc6\xf8\x01\x86\x14\xb8\xa1\xc5`\ +i\x02Y\xc8\xf3\xfa\xfa\xb9\xfevUU\xfb,\x1c\xc7\ +1i\x92\xd2\xf4\xd7\x18-?Ls=e\xc5\x9d\xc5\ +T\xb3DQD\x10$}\x02\xe9etuR\x14E\ +\xc1w%F\xceg\xfe\xd2\x02\x1b\xf6\x0a\x81o\xf6_\ +\xf3\xeaos9x\x8e\xacV\xc0q]\ +\x1c\xc7\xe9_\x18\xcfu\x09\xc3\x88e\xfbu\xd6[-\ +(\xb4H\xab\xb3\x04i\x17\xee\x1d\xc7\xe9gX\x1c\xc7\ +\xc1\xeaX$i\xca|\xf4m4\x91\xc1\xcf]\xe4w\ +\xbe\xf93\xa8\x9a\x8aeYX\x1d\xab?\xd8\xae\xe3\x12\ +\xc7)SS\x15\xbe\xfc\xca\xe7\x19*\x8d\xf0;/\xfe\ +\x9b\xae&\x12\xfb8\x8e\xd3\xcf\x22Y\x9d\x0e\xae\xeb\x91\ +\xcfe\xf9\xb5\xa7\xdf\xcf/\xdd\xf3\xe7h\xae\xb2\xce\xdc\ +\x859\x96\xce\xb5\x08\xac\x84\x84\x04\x80f\xb3I\xab\xd3\ +!\xef\xe6\x09U\x95\xbf\xbb\xfck\xbc\xe5\xf0;\x99\xbb\ +\xf8\x1ak/I\xda\xedN\x7f\x8d\xd8\x9b\x85\x94\x14\x14\ +\xd5\xe0x\xe7S\xd4\xd7\x14\xda\xd12\xf3_\xd9`\xfe\ +D\x9b\xc8N\xbf/\x0b/\xf8\xdf\xe1\xb9\xa5\xffE\xa0\ +\xd9\x5cz\xfd\xe5\x90v4\xf4\x9c\x82\x96\xed\xb2p\x1c\xc7\ +\xb6\xaa\xaaf.\x97\xd3c#b\xec\x1e\x83`!a\ +\xe9\x94\x83s\x05\xb4\x8c@\xcf\x8a>\x0b+\x8a\x12\xa8\ +\xaaZ\xc8\xe5r\x18\x87\x22j\x15\x9d\xc5\x93\x0e\x1b\xa7\ +bD\x22\xd0s\x02a\x80L%\x85B\xa1\xb3\xb1\xb1\ +!\x86\x86\x86\x8a\x9d\xd8\xe6\xd0\x0f\x17Y;\x15\xb2|\ +\xd2\xc6_VP\x0c0\xf2]}\xa2Z\xad2;;\ +\xfb\xec\x8e\x1d;\x8e\x8aT\x90N8\xe42\x1a\x8b/\ +;x\xeb\x09\xba\xa9\xa2\x1a \xb4\xee\xda.\x0cCJ\ +\xa5\x92\x15\x87q\xb1cF\xdc\xfc\xd6\x22\xab\xaf\xf9\xac\ +\x9e\xf6\xf0W\xba\xed\x8cB\x97\x85M\xd3\xc4u\xdd\xf5\ +|>_\xcf\x97\x8bT\x0eDt\xe6#Z\x97C\xb4\ +;\xee\xbd\x05\xc7q\xa8V\xab\x5c\xb9r\xa5\xa7\x0b\xf3\ +\xe0\x83\x0fr\xf0\xe0A:-\x8bc\xdf:\xce\xd8H\ +\x96\xf1L\x83b\xa9\xc0\xd2\xe2\x12\xcdf\xb3\xa7\x0b3\ +==\xcd#\x8f<\xc2\xf0\xd00\xff\xf3/?\xc5\xde\ +\xc9\x09J\x13\x0b\x8c\xde:\xca\xca\xca\x0aa\x18\x92\xcb\ +\xe58y\xf2$i\x9a\xf2\xde\xf7\xbe\x97\x83\x07\x0f\xf2\ +\x99O\xfd\x0d\x197\x8b\x9a\x9b\xe7\xae\x1f\x9e\xdc\xd4\x90\ +\x0dTU\xe3\xdc\xb9s\x84a\xc8\xe1\xc3\x87y\xdb\xdb\ +\xdeF\x12'\x9cx\xf9U\x0aj\x8bm\xfb}\xb4\x1b\ +\xbbi\xfc\xd7_\x7f\x1dEQp]\x17UUy\xe3\ +\x1b\xdf\xc8\xdb\x7f\xa8\xcb\xc2\xaf\x9e|\x95\xd1\x1bT\x86\ +\x86\x079w\xf6\x1c\xae\xeb\x92\xcb\xe5h\xb5Z}\x16\ +\xfe\xc9\x9f\xfcIV\x96Wx\xfa\xc9\xe7\xd8;Xe\ +\xfb\xf5\x1e\xcdV\x83r\xb9\x8c\xa0\xcb\xc2\x8dF\x03!\ +\x04\x1f\xff\xf8\xc7\x11B\xf0\xd4\xd7\x9e!-'\x5c\xc8\ +\x9cG\x1b\x1b\x1b\xe3\xd2\xa5K\x14\x8bE\xb6m\xdb\xc6\ +\xe5\xcb\x97I\x92\x84={\xf6\xf0\xf6\xb7\xbf\x9d\xb9\xb9\ +9V\xd7W\xa8T*\xb8\xae\xcb\xf2\xf22\x03\x03\x03\ +X\x96E\xa5R\xe9\xeb\xab\xefx\xc7;P\x14\x85c\ +\xc7\x8f1==M\xa1\x9cG\xd7u\xb2\xd9,\xcb\xcb\ +\xcb\xec\xd9\xb3\x87\xd7^{\x8d(\x8a\xb8\xe7\x9e{\xb8\ +\xe9\xa6\x9b8\x7f\xfe<\xcdf\x13\xcbm399\xd9\ +\xcfZo\xdf\xbe\xbd\xcf\xcd\xdb\xb7o\xef\xeb\xbc\xae\xe7\ +\xb2\xb6\xb6F\xa5R\xe1\xc5\x17_dhp\x88j\xb5\ +\xda\x17\xfc\x01j\xb5\x1a\x07\xf6\x1f\xe0\xf9o\x9f\xa7V\xab!\x84\ +\xa0\xd5j\x91\xa6)SSS\x84a\xc8\xd0h\x1d)\ +%\x8bK\x0b\x88\x1bn\xb8\xe1\x1a\x16\xcef\xb3\xcc\xce\ +\xce\x9e\x9b\x9e\x9e\xde\xddK|\xaa\xaa\xfa=\x9am\x0f\ +\xb7<\xcf\xb33\x99\x8c\xa9\xaa\xaa\xbe\xb5\xcd\xa6|\xd8\ +o\x9b$\x09R\xca(\x8a\xa2@U\xd5B>\x9f'\ +\x8e\xe3~?\xbd7c\xef\x99\xaa(\x0a\xba\xaew\x1a\ +\x8d\x86\xa8\xd5jE\xdf\xf7\xd1u\xbd\xdfVQ\x14\xe2\ +8FQ\x14\x92$\xa1V\xabq\xea\xd4\xa9g\xa7\xa6\ +\xa6\x8e\xb6\xdbm\xb2\xd9\xec5\xcc\xba\xf5\xbba\x18\xac\ +\xae\xaeR\xaf\xd7\xad0\x0c\x8b=Q\xbe\xa7%\xf7t\ +\xe4^L\x9b\xcc\xbf^,\x16\xeba\x18b\x18F_\ +\x17\xd7\x0a\x85b*\xb6\xf0j\x18\x86\x8a\x10B\xc9\xe5\ +rd2\x19\xc4&\xdb\xf6\xf4\xd2Ma\xb6\x1f\x94\xeb\ +\xba\x81\xa6ij&\x93Q\x85\x10\x90n\x8a\xf0\xdf\xc5\ +\xcd\x9bK\x9fh}}\xdd\xaf\xd7\xeby!\x84\xcc\x9a\ +Y\xd2dS\x0f\xde\xc2\xc2\xbd\xcf\xfa\xfaz\x92\xcdf\ +\xf5L&\x93f2\x99.\x93\xb3E?\xde\xd2~s\ +\xad\x16FQD\xbe\x90OE\xda\xe3l\xfaK\xb3^\ +,\x9bYt\x99$IR,\x16\xbb*\xf6\xbf\xd0\xb7\ +eY\x22\x08\x02\xafT*\xc5\xa6iJR\x90IW\ +o\xd6Fv\x97\x93\xc4\xd2 \xee\xbf\x14\x12\xdb\xb6k\ +\x13\x13\x13\x84QDR\xf4\xc8\x8d\xc4\xa4\xbe\x02\xbeN\ +\xea\xa8\xa4\xae\xda\xbf\xa2\xb6m\xaf\xd7\xeb\xf5\x9ai\x9a\ +Z$b\xc4\xa8M.\xabu\xb5[\xd7 \xb1UD\ +\xd2\x1d\x1d\xcf\xf3\x9c \x08\xd6\xea\xf5\xfa\x80\xaa\xaai\ +;\xd3dhR%v\x14\xf0t\x12WE\xfa*=\ +\x81>\x0c\xc3(\x9b\xcd\x16k\xb5Z\xe2\xa4\x1e\xa5]\ +\x01$\x0a\xa9\xabv\xdb\xdb*$\x0a 1MS\x5c\ +\xbat)>x\xf0 i\x94&\x8d\xfc*\xdbvi\ +\x846\xe0\x99\xa4\xaeB\xea\xe8\xc8P`\x9a&\xedv\ +;\x19\x1e\x1e\x8es\x99l\xd2\x0cmY\xdb\x17#\xd2\ +n\xdf\xd2\xd3Im\x15\x19+(\xaa\xc00\x0c\xc5\xf7\ +}g\xef\x9e\xbd\x81\x1f\x86\xa9\x1c\xb6)\xd6\x15\x12O\ +\xa2\x95\x1e\x5c\xd5UU\xa5\xf1\x85\x1a\xb1\xd5e[!\ +\x84n\xdb6\x96\xef\x92\x8c\xad\x91\xd9\x1f\xb1-?\xcd\ +J\xebu4\xa9\x90\xba:\x8d/\xd6zo\xb3,\x90\ +I\xd3T\xef\x18\x16CG\x9a\x8cV\x07Q\x114:\ +\xcb\xe8\x19\x95\x8d/\xd6\x88\x9b\x1aI\x92d\x85\x10\x85\ +4MU@\xf5w\xacS\xbe%KM\x1fg\xa9y\ +\x05E\xa8x\xa7\x0b\xd8\xaf\x14\x00\x89\xae\xeb9@\x13\ +\x09,i\xebl\xbfKb\xa4%d\x9a\x10\x04m\xd2\ +@\xa1\xf3b\x89`\xde@\xcd\xa9$I\x92\xf3<\x8f\ +\xd4M\xf5\xd5\xa99\xa6\x0f\x0e0\xaeM\xb3b\xcd\x11\ +y)q[c\xe3\xcb\x15\xc20B\x08\xa1\xab\xaa\x1a\ +\x93\xa2\x9d\xf2\x17x\xeb\xd1<\x2260D\x86\xb6\xbd\ +\x8e\xae\x99\xb4\x9e*\x13.\x19\xbd[\xba\x1eEQ~\ +\xd5\xea0\xfd\x88\x8dZ\xf6\x98*\xedFyd\xe7\xe3\ +\x0cT\x86\x08\x93\xb0\xbf\xa2\x07d\x10\x04\x84AH\xac\ +\xfa\xdc^{7wo\x7f'\xff\xe9\x0d\x7f\xcbt\xe5\ +6\x06\xea\xa5\xfe\x83\xbb\xc7\x94A\x10\x10\xcb\x90\xd6\x1a\ +\xbc\xeb\xe0\xcf\xf3\xd0\xc4\xe3\x1c\x9a8\xca\xdd\x07\x1f\xc6\ +\x0f\x9d^{\xd9\xd3\x91\xc30$\x8c#\xde<\xf3A\ +\x86\xd2\xdby\xd3\x0d\xef\xe2\xc8\xe8\x0f\xe1\xd2\xc2\xdf\x8c\ +\xa3\xc7\xc2\xbe\x1f\x90\xc8\x88\x89\x81\xdd\xfc\xc8\xde\x7f\xcf\ +\xbf;\xfa\xdfY\x9e\xd7\xd919C\x94\xfa\x04\xfeU\ +U\xae\xcb\xc2\x1e\xba\xa12c\x1c\xe5\x8d\x13\xff\x86\xbd\ +\x85\x87\xf8\xc57~\x92\xd8\xb0\xfb\x9a\xf3\xa6*'}\ +\xcf'%\xc6\x0fB\xdew\xf0\x0f\xb9w\xe7;\xf9\xe0\ +\xad\x7f@\xa9\x96#\x96]\x1a\xbb\xaa&\xfa\x04QH\ +\xa2z\xdc[\xfaY\xf6\x0e\xde\x8a\xb2\x7f\xe40#\x95\ +\xb1.\x1dx.\xfe&'\xf6\xde\x88q\x1c\xb0\xb7~\ +\x84\xaf\x5c\xfcs._Y\xe4\xd0\xb6\xdbPdw\xd9\ +\xd0\xe3\xd5>\x0b\x87!\xbb\xaa7q~\xfd\x15\x8e\xcd\ +=\xc9\x1b\xa6\xff5\xba\x92!\x0c\xbb\xf6\xb3^\xdf=\ +\x12\xc9\xe9E\x8af\x95\x0b\xce\xb3\x5cW\xb8\x9f\xd1\xca\ +$\x06\x19<\xcf\xed\xaa|i\xda\xd7n\xd3$%\xa3\ +dI\xf4\x16O|\xfbI\x0e\x8d\xdcA-\xb3\x0d?\ +\xf0\xfaq\xf7X\xd8s]4U\xc5j\xc2K\x8bO\ +RT\x87\x19\xa9\x0eA*\xf0=\x1f\xdf\xef\x0a\xebA\ +\x18\xe0y.B\x11\x5cw\ +\xf1\xe3x\xda:A\xe0\xe3\xba)\x19\x99^u&\xc4\ +\x11e%\xcb\x17.\xff.?}\xf8\xe3<\xb9\xf8\xdf\ +\x99\xeb\x9c\xc7O\xec.\xcbn.!zY\x16\x19C\ +\x98\x9f\xc3\xee$\x1c\xd9s#\x7fs\xea\xb7\xa8\x0c\x16\ +\x88\xa2\x18\xd7\x0d\x89\xe3\xb8o\x91\x00\xc8\x18\x0aO\x5c\ +\xf8_|\xe4\xde\xff\xc2_\x9c\xfaE\xe2X\xa2\xa2\xe1\ +\xba]YS\xd7\xf5n\xf0\x91$M%\x0b\xed\x0b,\ +\x8aUJ%\x03mx\x8e\x85\xb6N\x1cwm\x19\x99\ +\x9c\xd9\x8d\xdb\xf5p-\x17Cj\x5c\x09_b\xc6\xbb\ +\x81\x96\xf6\x1a\xbf\xf9\x8d\x0f\xa0\xeb\x1a\xb6\xd3FW\xf5\ +\xbe\xb0\x1e\xba\x01iQ255\xc0WO~\x81\x99\ +\xc9Q~\xfd\xf9\x1f'\x106Q\x1c\xe1\xba\x11\xaa\xae\ +\x5c\xbd+\xe3\x88r\xa1\xcc\xef|\xf3q>r\xf4\xd7\ +\xd1l}\x99\xf5\xc5\x16+\xaf7\x89\x83\x94\x5c\xd4\xd5\ +@\x9b\xcd&~\x12\x91ws\x84\xea:\x7f\xf0\xed\x8f\ +r\xc3\xcc\x8d\xb4ZW8\xffO\x01\xad\x96\xdb\xd7\x85\ +\xdb\xed6q\x1cCN E\x95\xcf_\xfeo<\x9c\ +\xf9W4\xd3y\x16\x8f\xe9\xac\xce6\x89\x9c\xee\xbaJ\ +\xd3\xb4\xbe\xff&\x17\xe5X\x8e^\xe5\xef\xce\xfe\x0e\x8e\ +l\xd2\xf6\x9a,]\xb4hnaa\xcf\xf3H\xfc\x98\ +pP\xe0\xcb\x0c__\xf8S\x0ekGI\x0b\x1d\xe6\ +/\x84,\x9cn\xe1\xb5c4\xa3\xbb2\xb0,\xab\xcb\ +\xc2q\x81@Y\xe3E\xfb/H\x8c\x80\x85S\xeb\xbc\ +\xfe\xb4K\xa7\xe9~\x17\x0bw\xe8\x14RbJ\x1ck\ +~\x86\xf9x'M\xed2\xeb\x97\x5c.|\xa3+0\ +e2\x19\x92$ac\xa3AG&\x04\xa1\x8e\xa5\xbc\ +\xce\xc7\x9f\xfe\x08b\xfb\xc4\xb4L<\xc8T\xba\x9d\xe6\ +r9\xa2(\xb2\xa4\x94E\xdd00'\x13\x8a\x83*\ +\xf6RDc\xd6#j\xa8h\x86\x82\x9a\xe9/\x90\xe7\ +4M\x1b0M\xb3\x18\xeb\x11C\x87\x0d\xe2F\xc2\xc6\ +\x15\x07\x7fY%\xf1%fY%M\x13\x00\x0bh\x1a\ +\x861\xa9i\x1a\xe6\x9e\x84rQ\xa71\xe7a\xcf'\ +\xf8\x1b\xa0\xe7\x15\x14\xbdko+\x16\x8b\x96\xe7y\xc5\ +\x8ca\xe2\x19\x013w\xe6h\xcf\x854\xe7]\xfcU\ +\x95\xd8\x97dJWYxnn\xee\xd9\x89\x89\x89\xa3\ +I\x94\xa2\x8c\x85\xe4s*\x8d\xd7\x03\xac\x85\x10\x81\x8a\ +f\x8aM[\x9eJ\x10\x04\x94\xcbe+\x0a\xc2\xa2e\ +\xc4\xec\xbf\xa7@s6\xc0Z\x0ap\x16$i\x04f\ +E!M\xba\xba\xb0\xe7y\xeb\x86a\xd4Qu&\xef\ +\xd6\x88\xec\x14w-F;r\xcbM4[M\x0a\x85\ +\x02\xedv\x9b \x08XXX\xe0\xb1\xc7\x1e#\x9f\xcf\ +\x93\x84)/\xbd\xfc2ZM\xc5\xcd9(\xaa\x82\xe3\ +8\xac\xae\xaeR\xadV9{\xf6,333\xdc\x7f\ +\xff\xfd\x0c\x0f\x0d\xf3\xe9\xff\xf9\x19vMM\xb0\xe0.\ +\xb0\xed\xe0(\x1b\x8d\x0dl\xdb\xa6R\xa9\xf0\xca+\xaf\ + \xa5\xe4}\xef{\x1f\xf5z\x9d'\xbe\xf25t\x0c\ +2\xc6\x22\xe3\xf7\x8c\xb1\xba\xb6\x82\xd1\xb5\xa9\xf5\xfd\xda\ +w\xdey'7\x1e>\x8c\xa1\xe9|\xfb[/3\x5c\ +\x0ah\x8f\xb7\xd1\xa6U\xaa\xd5*g\xce\x9c!\x93\xc9\ +lZ64\xee\xbb\xef>\x1e}\xf3\xa3\xbc\xf0\x8d\x17\ +y\xe9\xa5\x97\x98\xda\x97\xa1|{\x89\xd9\xd9Y,\xcb\ +\xa2\x5c.\xb3\xbe\xbe\xce\xd2\xd2\x12\xd5j\x95w\xbf\xfb\ +\xdd466x\xe6\xa9\xe7\xd9W\x1f\xc0\xcfz4\x06\ +\x1a\x0c\x0e\x0e\x12\x86!+++\xb4\xdbm<\xcf\xe3\ +\xc3\x1f\xfe0\x99L\x86W_9MKi\xe2\x97=\ +\xb4\xa9\xe9)\xdcS.\x9a\xa6133\xc3\x993g\ +H\xd3\x94]\xbbv\xf1\xc8#\x8f\xf0\xe2\x8b/\xb2\xde\ +\x5c\xa3V\xab!\xa5\xe4\xfc\xf9\xf3\xd4\xebu<\xcfc\ +``\xa0o\x9b}\xec\xb1\xc7\xf0}\x9f\x13'O0\ +33C\xa1\x94\xa7\x5c.S\x1f\xacs\xfa\xf4in\ +\xba\xe9&N\x9c8A\x10\x04\xdc\x7f\xff\xfdLMM\ +\xd1n\xb7\xd9\xd8\xd8\xc0\x0b\x1d\xf6\xee\xdb\x0b\x02\x5c\xd7\ +e\xf7\xee\xdd\xcc\xcf\xcf\x03\xb0m\xdb6\xde\xf9\x8ew\ +\xe0y\x1e\x17.^@\xd7\xab\xec\x1f\xb8\x8eo\x7f\xfb\ +\xdb\xd4j5\xea\xf5:\xba\xae\xf7\xb3\xe3\xbbw\xef\xe6\ +\xbe{\xef\xe3\xe4\x89\x93\xd4\x06\xab\x98\xa6I\xb9\x5c\xa6\ +\xd5j\xf5/\xa4eY\x00\x94\xcbe\xde\xf6\xb6\xb7\xf1\ +\xc2\x0b/p\xfe\xc2\x05\xf6\xee\xdd\x8beY\x5c\xbcx\ +\x91\x81\x81\x01J\xa5\x12\xa6i\xf2\xdak\xaf!\xa5\xe4\ +\xc8\x91#LLL\xf4f$\xaf\xbd\xf6Z\xd7#\xdd\ +c\xbf(\x8a\xc8f\xb3X\x96ee2\x99\xe2\xb6m\ +\xdbXZZB\xd3\xb4\x1e\xcb\xf6Y\xb4\xb7\x8f\xeb\xba\ +s\xd9lv`dd\xa4\xd8K>\xf6\xb6\xa7i\xda\ +\xff\xbe\xe9\xdf\xb3\xc20l\xe6\xf3\xf9\xc9\xf1\xf1q\x16\ +\x17\x17{\x0b\xf7\xee3t\x93\xa3{\x8c\xabi\x9a\xe5\ +\xbanqff\xa6\xefpH\xd3\xb4\xcf\xca=\x96N\ +\x92\x84j\xb5\xdag\xe1\x9eQ`+\xe3\xf7r\x97\xbd\ +\x9cd\xa3\xd1`hh\xc8\xca\xe5r\xc5\xad+\x84\xad\ +\xb1\xf7X^Q\x14\xda\xed\xf6z\xb5Z\xad\xd7j5\ +\x9a\xcdf\x9f\x99\xb5l&\x1b\xf4\x98o\xf3\xf9'm\ +\xdbn\xd4\xebu\xa3\xd1h\x90\xcd\xe6 \x05]\xdd\xc2\ +\xc1[\x18\xdd\xb6m?\x93\xc9H\xc7q\x10B\x905\ +s}\xdfr\x9f'\xaf\xb2\xb0\xf0<\x8fL&\x13\xae\ +\xaf\xaf\xcbl&K\x9a\x82@\xa2k\xc65\xcc*\x13\ +j\x82&\x00\x00\x1fEIDAT\x84`uu\xd5\ +\xca\xe5r\x99v\xbb\xad\x17\x8b\xc5.\x93\x7f\x9f~{\ +\x03\x93\xa6i\x1b\xe8\x14\x8b\xc5\x10I\xbf\xfdw\xf3\xb0\ +\xaa\xaa\x04A\x10\x85a\xa8\xab\xaaj\x02RSt4\ +E\xbf\xf6\x1c\x05\x08\x04\xb6m\x8b$IVr\xb9\x5c\ +\xd9\xb6\xed\xd4\xd0\xcd\xbe\x9c\xaa\x8d\xec-\x99\xf1\x86\x81\ +H\x05\xa8]\x9d\xe0\xf2\xe5\xcb\xcd\xb1\xb1\xb1\xed\x9e\xe7\ +\x93\x16=\xb2c\x11i\x92\x82\xab\x93\xb42$-\xad\ +\xef\x91v\x1c\xa7011\xa1\xaa\xaaJ\xac$$\xdb\ +\xda\x94\xcb*I$Q\x82\x0cQCC::\x02\x81\ +\xe38\xba\xe7y\xa5z\xbdn\xa8\xaaJ3\xdb`b\ +\x87N\xe4'\xc8N\x96\xa4\xad!]\xb5\x9f\xf4t]\ +7\xc9d2\xf6\xf6\xc9\xc9\x017\x0e\xc8\xefuP\x84\ + uU\xd2\x8eI\xd2\xd4!\xa5\xeb\x916\x0c\xce\x9c\ +9\xa3OLL\x94d\x22i\xe66\x18\x99\xd6\x88\xfc\ +\x14l\x93\xa4\xad\x93t\xbaq\x1b\x86\xce\xca\xca\x0aC\ +CC\xcd\x5c6g\xac\x07\x1d\x86\x0ft\x0d\xec\xa9\xab\ + -\x93h\xa3\x1b\xb3\xa2w\x97S\xedv{nh\ +pp\xbf\x17F\x88m6\xc5\xaaB\x1c&h\xe57\ +\xae\xa2H\x9d\xd6\xd7\xabD+F\xaf\xf6\x22\xafi\x1a\ +q\x9a Gm\xb4\xc3-\xf6\xd5nf\xc5\xbe\x8c\xed\ +6P\xbc\x0c\x8d/\x0c\xf6\xec\x17Z\x1c\xc7J\x18\x86\ +X\x9a\x83\xb9c\x89\xfd;\x0f2Y\x9d\xe6\xe9s\xff\ +@%Wc\xfd\xab9\x82\x05\x13\xd7u\x15EQ\xb4\ +\xde\xed\x14\xeflR\xbc9\xc3t\xe9\x00\xe7WN\x92\ +\xa6\x92\xe8t\x15\xfbD\xbe\x97 P\xa3(\xd2}7\ +`!]\xe1\xe0M\x0e%1\x8c$\xc0\xf6V\x89,\ +\x81s\xacJ\xb0\xa0\xf7n\xd1\x9c\xaa\xa9\xc8PbO\ +\xad1p{\x99\xaa6\xc1\xba3\x8fe;\x18\xd6\x00\ +\x8d\x7f.\x03\xa2\x97.\xd3U)8\x1f.\xb2\xffh\ +\x19-\xc9\x923\xb2\xcco\xbcNE\x14\xe8<;@\ +\xb8d\xf4\xd2hu\x10\xb4\x02\x8f\x1d\xb7\xfaPls\ +\xd3\xf0=(o\xde\xf1\xb3\x8c\x0cN\x11\xa7a\xdf#\ +\x0dH\xdf\xf7\xf1=\x9f\x98\x80]\xc6\x03\xfc\xab\x1b>\ +\xc6\x8f]\xf7\x9b\x5c?\xf8(\xa3c\xa3}\xed6\xde\ +t\x9f\x06A@\x9cD\xac\xaf\x06\xfc\xe8\xc1\x9fC\xb6\ +\x07\xf9\xa9#\xbf\xce\x0f\x1dy\x1fA\xe2_\xe3P\xf5\ +<\xaf\xef\xfc|\xf3\xcc\x87\xd8\xa1?\xc8\xdd;\x7f\x90\ +7\xed\xfc \xa1f\xe3yW\xfb\xee\x89VQ\x1a1\ +\x9c\x9f\xe2\xa1\x89\x0f\xf1sw\xfd\x19\xf6\xd2 7\xee\ +\xb9\x95 \xb5\xaf\xd5\x85\xfd\x00\xd7u\xd1t\xc1\x8e\xdc\ +\xed|\xf8\xc8\x1fp\xa0\xfaF~\xe9\xbeO\x11g\xba\ +m\xb7x\xa4\xa5\xebz$\xa4x\x81\xcf\xfb\x0e\xfc\x01\ +\xf7\xed\xf8Q~\xe6\x96O26\xbe\x8d0\xbd\xd6#\ +\xed\xf9\x1e~\x10\x10\x0b\x97\xbbs\x1f\xe3\xc0\xf0\x9d(\ +5s\x9c\xa1\xfcX\x9fg{\xce\xa5\xfeI\xc6\x01\xd7\ +\x0d\x1f\xe1\x89K\x7f\xc1\x97_x\x8a\xbdC7\xf4l\ +\x1a\xfd7_\xdf#\x1d\xfa\xd4\x8cI\xe6\xdb\x17xu\ +\xe5\x05n\x99x\x00?\xb6\xfb\xfa\xebV\x8f\xb4\xe7y\ +d\xf5\x22\xe5L\x95g\x16>\xcd\x91\x91G)dJ\ +h\xa9\x89\xe7y\xb8\xae\xbb\xc5\xc7\xec\x11G\x11\xe5\xec\ +\x00J\xa1\xcd\x17_\xfc\x12;k\x07)h\x15\xfc \ +\xc0\xf3\xbd\xab\x16_\xdf\xbf\xea\x91n\xe8|\xe6\xe5?\ +$\x9f\x8e33>\x09\xa9\x8a\xe7_\xf5Hw\xe3\xea\ +z\xa4/\x9c\xb6\xa8\x0d+\xac;\x8b\xec\x9f8DN\ +-o\xb2\xb2w\xcd\x85\x8f\xc2\x90v\xdb\xe3\xa7\x1e\xfd\ +q\xbez\xe9\x93(a\x1ccy\x9dM\x16\xbe\xeav\ +\xefy\x89\x91\x02'\xb4\x19.lg\xa82D\xcbm\ +\xf5\xf5\xd5\xad\xbc\x1a\x86!q\x94\x12\xa4\x0e\xb5\xdc\x08\ +\x05}\x80\x8e\xdf$o\x94\xfb\x09\x87\x9e\x1a\xd7\x9b\xb1\ +\xa9L\x10(hi\x9eX\xb3\xf0\xbc\x08?\xf2\x09C\ +\xbf\xdfw\x92$\x04\xa1O\x12\xa7\xa4R\x22c\x9d\xb1\ +\xda\x04\xab\xad5\xc24\xd8\xe4\xd5-\x1e\xe9M\x83\x80\ +\xa2\xa8d\xb3\x1a\xe3\xe5\x19,\xbf\x89!\xf2H\xb9\xe9\ +\xcf\x0e\xbaI\x8d^\xa6GJ(WL\xe2@CW\ +\x0c\x04\x0aa\xe2\x13G\xc95\x1e\xe9\x1e\x17\x1b\xba\xc6\ +\xdc\xd2\x12E\xa3\x8ar\xac\xf9i|\xd1\xda\xf49{\ +\xdfW\x17\xfe\xc6\xca\xa7\xd9n\xdc\xce\xf8N\x85\x13\xcd\ +\x7f\xc2\x89\xdb\xb8n7c\xd2\xbb\x85]\xd7%\x08C\ +\x0a\xb5\x90\x97_\xff6\x8f?\xfcK|\xfc\xf9\xf7\xf1\ +\xed\xc5'I\x93\xf4\x9alL\xafo\xd5H\xf9\xfa\x85\ +\xcf\xf2\xf8\xbd\xbf\xc2\xe7N\xfd\x01g\xec\xaf\xa1\xa2\xe2\ +\xba\xd7\xcen\xd7\xf5\x88\xe2\x88%\xeb\x12\xed\x8eMm\ +\xd8@\xd6/\xb2a\xaf\x10'\xddLO?\x9d\xe5\xfb\ +\xb8\x8e\x8b\x94\xd0\xe0,{\x86n\xc0\xcb_\xe4w\x9e\ +\xf9\x18\xba\xa6_3\xbb\xbbq;$I\xca\xd4\xd4\x00\ +O\x9d\xfeg\xc6k\x93\xfc\xc6s\xef\x07\x91\xf4\xfb\xee\ +]x\xd7\xeb\xde\xc2\x95|\x99\xdfx\xe6\x83|\xf0\xa6\ +\xdfAk'\x8b\xb4\xa3\x15\x96\xce5\xf0;)q\x9a\ +G\x08A\xb3\xd9\xa4\xdd\xb1(\xb89\x84\xa9\xf2G/\ +?\xce\x1b\xf6\xfe\x10\xab\xf1y\xd6\xbf\xd3\xe5\xdf^2\ +\xc1\xb6mZ\xadV7\x87/*<\xbb\xf6g\xa8\xaf\ +%\xb4\xc3eZ\x97WY8\xd3\xc0o\xa7\xdf\xc3\xc2\ +\xf9(\xc7B\xf82\x9f?\xf3\x87XA\x93\x96\x7f\x9e\ +\xd5y\x9bV\xd3\x05!\xb7\xe8\xc21\x81\x96\x12\x93\xe7\ ++\xaf\xff\x0f\xee\xd1\xde\x02\x19\x87\xb3\xf3'X9\xdb\ +\xd5\x855C\x05\xa0\xddnc7m2Q\x81f\xf2\ +:_\xb8\xf4\xbb\xb8q\x93\x8b\xceKl,\xf8l,\ +71\xf2]\x0d\xc4\xb6m\xacF\x07\xbb\xd8\xd5\x85\x9f\ +_\xfbK.\xd9{X\x8b\xcf\x11X>\xe7\x9f^C\ +\xd1\xe9\xeb\xc2\xcdf\x93N\x9a\x10D\x06\xe6\xc0\x02\xbf\ +\xfc\xa5\x9f@\xec\xd8\xb9C\xc6\xb6\xc4,h$iB\ +.\x97c}}\xfd\xdc\xe0\xe0\xe0n]\xd3\xd1\xb6\x85\ +\xe4\xea\x82\x8d\xb3>v#@z:\xc8\xae\xde\xbb\x99\ +\x91^\xadT*E \x8b.\xc9_\x97\x12-\xa7\xb4\ +\x96\x1c\x12W#\xf1@\xcf\x0aR\x99\xf6=\xd2\xa6i\ +\x16r\xb9\x1c\xca\x8cO^UY9\xef\x10u \xf1\ +\xe8V\x11\xe9\xddu]>\x9f_l\xb5Z\xa5\x91\xe1\ +\x91\x82\x15Z\xcc<\x98c\xf9\x84Gk\xc9E\x09\x0c\ +\x02'\xc1\xc8w9\xfb\x1a\x16\x0e\x12\xf4\xbd1\x85\xac\ +\xca\xcai\x9b\xd0\x92\xa4\x9e\x82LA\xcb\x82\xd8L\xc7\ +U*\x15K\xa6\xb2\xd8\xc1g\xef\xbdyVN\xba\xd8\ +\xab!\xa9\xaf\x10:)fI%\x89\x93\x9e\xe9\xf4X\ +>\x9f?b\x98Y\xc6\xeeV\xb0\x97#\xdas!\xda\ +\xa1\x03\x87z\x86n\xe6\xe6\xe6H\xd3\x94\x85\x85\x05\x1e\ +~\xf8a\x0e\x1c8@k\xa3\xcds\xcf~\x83\xc9]\ +\x196\x1a\x1b\x14\x8b\x05666h4\x1aT\xabU\ +\xce\x9d;\x87\xa6i\xbc\xef}\xef\xa3\x90/\xf0\x99O\ +}\x96\xda\xb6*W\xd29\x86\x86\x87XZZ\xc24\ +\xbb\x0e\xfa\x8b\x17/\x12\x86!\x8f?\xfe8\xf5z\x9d\ +/~\xfe\x1f\xbb%WC\xcb\x8c\x1c\x1aauu\x95\ +l.\xdb\xd7\xa6=\xcf\xe3\xd6[o\xe5\x91G\x1e\xc1\ +\xd0\x0d\x9e}\xeay\x0a\x03\x0d\xe2RD\x14\xc7\x0c\x0e\ +\xd6\xb9p\xe1\x02\xaa\xaavMB\x8a\xc2\xbd\xf7\xde\xcb\ +\xfd\xf7\xdf\xcf\xd3_\x7f\x86\xd3\xa7\xceP\x9b\xd412\ +&\xcdF\x03\xdb\xb5\xc9f\xb2t:\x1dVVV\xa8\ +\xd5j\xbc\xef\xfd\xefc~n\x9e\xe7\x9ez\x9e\xebF\ +\xf3D\x83\x01\x8df\x93Z\xadJ\x14E,//\xf7\ +-)\x1f\xfa\xd0\x87\xa8\xd7k|\xeb\xf9\x97X\xd5W\ +\x88\xb6\x07h;v\xec\xe8\x83u\xa1P\xe0\xf4\xe9\xd3\ +$I\xc2\xde\xbd{\xb9\xfb\xee\xbb\x09\x82\x80\x95\xf5e\ +\x06\x07\x07\xd9\xd8\xd8\xe8\xdf\xba\x96e]\xe3\xa9~\xe0\ +\x81\x07PU\x95\xaf?\xf5un\xbb\xf56\xf4\xe3\x1a\ +\xa3\xa3\xa3\xfd[\xf6\xe6\x9bo\xe6\xd2\xa5K$I\xc2\ +\xad\xb7\xdeJ\xa1\xd0\xbd\x10\xcb\xcb\xcb\xf8\x91\xcb\xee=\ +\xbb13&\x8e\xe3p\xd3M7\xf1\xb9\xcf}\x0e\xdf\ +\xf7\xd9\xb1c\x07\x87\x0e\x1db\xdf\xbe}\xb4\xda-\xd6\ +\xd7\xd7)\x16\x8b<\xf7\xdcs\x8c\x8d\x8d\xd1\xe9t\xd0\ +u\x9d+W\xae\xa0(\x0a\xd3\xd3\xd3<\xfa\xe8\xa34\ +\x9bMl\xcf\xa2V\xab\x01\xb0R\xc8s\xee\xdc9f\ +ff\xb8p\xe1\x02\xab\xab\xab\x14\x0a\x05\xee\xb8\xfd\x0e\ +N\x16Nr\xf6\xfcY\x0e\x1d<\xc4\xfa\xfa:\x97.\ +]\xa2^\xafS\xadV\xb9x\xf1\x22'N\x9c\x00\xd8\ +R\xb7\xdcM\xae\xbe\xf4\xd2KW=\xd2=\x1d\xb4\xa7\ +\x0b\xcf\xcc\xcc\xec\xce\xe7\xf3}\xee\xdb\xaa\xdbn\xf5\x09\ +[\x96\xb5:88X\xccd2\xd9^\x8emkm\ +\xee\xd6\xbe\x93$\x89\xc20\x0c\xaa\xd5j\xa1R\xa9\xf4\ +\x8d\xe1[u\xe1\xad5\xbeB\x88\xc5N\xa7S\xda\xb5\ +kW\xa1\xd5j]\xc3\xcb[u\xe74M\x19\x18\x18\ +\xe0\xd4\xa9S\xcf\x1e8p\xe0\xa8\xa2(\xddg\xf2\x16\ +\x9f\xf3V\x8e\xd74\x8df\xb3\xc9\xd0\xd0\x90\x95\xc9d\ +\x8a\xbd\xaa\xa8\xad\xbc\xdf\xd3\xa7{\xe8\xb7\xb6\xb6vl\ +dd\xe4H\xb9\x5c\xee\xd6\xc4\xf4j\x9a\xd3Dn(\ +\xaa\x10B\x88\x1e#\xca4M\xd7=\xcf+\xb6\xdb\xed\ +T\x11\x8a\x90\xa9\xb8\xea\x1d\xde\xc2\x9fB\x08\x91$\xc9\ +|\xa7\xd3\xa9\xd8\xb6\x9d\xefZ\x8c\x95n\x9d\xadr\x0d\ +3\xf7N\xc4\x0f\xc3\xd0u]\xb7\xe68\x8eT\x85J\ +\x9a\xf2}\xfb\xde\xac\x17^T\x14E\xac\xac\xacD\x02\ +!\xb7\xb2\xad\x10\xb2?\xf8\xaa\xaab\xdb\xb6\x04V\x1a\ +\x8d\xc6F\x92$\xc1\xbf\xd4\xf7\xe6R\xcaq\x1c'\xef\ +\xfb~\xac d*\xaf\xd6\x0b\xf7\xda\xab\xaa\x0a \xa2\ +(\x0a\xe38v\xd34moll$H\x01\x12T\ +M\xd5\xb4\xf1\xbd\x83\xb5\xa4\xa9#\xd4nmlwm\ +\xe4\x8f\x0e\x0e\x0e\xc6I\x9c\x10\x16\x1dr\xdb\x03he\ +H\xd6M\x92\x8e\xd6}\xd9\x1a\x12@I\x92\xc4\xa9\xd5\ +jYM\xd321\x09\xd1x\x83\x81\x5c\x96h\xcd \ +\xd90\x91\x91\x82bv]\xe7A\x10\xb8\xc0\xda\xe0\xe0\ +\xe0\x80\xa2(\xe9\xba\xba\xce\xe4u*\xc9\x86I\xbcb\ +\x92::B\x93\x08\xad;cr\xb9\xdc6EQF\ ++\x95\x0a~\x1c\x92\xb9\xae\x83\xa1*\xc4-\x83\xb4\xd1\ +\xe5[\xa1KP$\xba\xd6\xbd\x8dGFF\x22\x99\xa4\ +\xc9\x9a\xb2\xc1\xf6\xeb\x15\xc2U\x83h\xd5D\xda:B\ +\x91\x08\xbd\xeb\xd2o4\x1a\xb9\xc9\xc9\xc9\x11$\xcab\ +\xd0`\xeaf \x12$M\x9d\xa4\x91!\xb14TS\ +\x22\x14A\xb3\xd9\x5c\x0f\xc3p\xdf\xb6m\xdb\xca\x8e\xef\ +c\xee\xb4\xc9U\x14\xc2\x0eh\xf5\xb7\xae\xa3\xa5\x19\xda\ +OU\x89\xd64\x0c\xc3@\xd7\xf5\xc1r\xb9\x5c\xb0=\ +\x0fe\x8f\xc5\xe8m\x11x\x0a\x9e\xdf\x22'\xca\xa4m\ +\x93\xd6S\x15\x14E\xa1\xd1h\xa4\x85B\xa1\xaa\xebz\ +\xbem\xb4\xd9v\x9fJ!\x17\x90\x84\x1ez\x9c'I\ +\x13\x9c\xa7F\x88;\x0a\xaa\xaaV-\xcb*\x17\x8b\xc5\ +1!\x04\xdeu\xab\x8c\xde.I]A\xea\xc7\xc8X\ +\x12\x9f\xaf\xe1\x9c\xc9\xf4<7Q\x18\x86dt\x93\x0d\ +\xddb\xc7\x83!9Y\xc5\xf7=H#\xbc\x86\xc4\x7f\ +\xa9\x8a\xbf\xa4S,\x16\x10B\x8cT\x06*#\xd2\x95\ +4\xf7.\xb2\xed\xee\x0c\x8d\x8d\x0d\x0aJ\x85\xc0\x0b\xd1\ +\xdbUZ\xdf(b\x9a&\x9a\xa6\x91\xcb\xe5\xc2\xc8\x8f\ +\x0c\xbbj3~o\x91\xd8W)h\x05\xe6\xd6.R\ +R\x86\xd8\xf8\xc722P1\x0cC\x13B\xa4\xa6a\ +\xd0L\x5c&\xef\x04O_\xe3\xd6\xd1{Q\xde\xb6\xeb\ +\xe7\x19\x1f\x9b!\xc6\xc7\xf7\xaf\xf51{\x81G\xa4x\ +\xec\xd2\xdf\xc4/<\xf0\xa7\xfc\xc2\x83\x9f`b\xf0 \ +\xe5\x09\xf3\xbb=\xd2\xa9\xef\xfb\x04I@\xa7\x19\xf1\xe1\ +[\x7f\x9f\x8f\xde\xf1\xa7L\x8c\xec\xe6\xae[\xee\xc1K\ +\xec\x1e\xb9\xa4I\x92\x5c\xf5H\x13q\xef\xc8{y\xd7\ +\xae_\xe5\xd6\xbd\xf7sd\xe6Q\ +wl\x7f\x94\xdf\x7f\xe1c\x84V\x86\x1f\xb9\xe1\x03d\ +\xd4\x5c\x9f\x95{2\xa5\xbfY\x0a:]\xb8\x99Sk\ +\xcf\xf3\xe5\x93\x7f\xc3;\xf7\xfe{&*{\x88\xa3\xb8\ +\xcf\xc2=]\xd8\xf3w\xfe\ +\xb7\xb9\xa1\xf8\x83<\xb0\xf7\xad\x0cf'q\xbd\xab\x9a\ +sO\x17\x8e\xa3\x84rv\x00\x91\xed\xf0\xc4KO\xb0\ +\xb3v=\xa3\x85\x1dx\x81\xb7\xd5\x1cO\xe0\xfb8\xae\ +\x87\xae)\x04\xad<\x9f<\xf6\x1bL\x9aGx\xf0\xba\ +\xb7`\xaay\x5c\xdf\xc5s\xb7\xb2\xb0\x07H\xf2\xe1\x14\ +\xeb\xe9\x19*\xf9\x12\xdbJ;\xa8g\xc7\xf1}\xaf\x8f\ +o[=\xd2D\x1a7\xee>\xc4\xf3\xeb\x9fBs|\ +\x97\xb9\xe6%\xa2(&\xf0#$z_z\x0c\xc3\x80\ +,\x0aq\x12R\xd0+\xe8\x8a\xc9\x8b\x17\xbfB\x9cv\ +\x1d\xfd[eM\x80$\x9f\x10$\x1e\x05\xa3\x8c*:\ +8,\xd3p\x97\xf1}\x97\xc0\xd7\xae\xa9\x17\x060\x00\ +U\xa8\x04^BuP\xe5\xc5\xb3\xc7\x98k\x9c%\x08\ +\xba\xd6\x0eM\xd3z\xcfd\x12#F\x002Q\xa8\x97\ +\x07y\xe9\xf2K\xc4%\x1f\x91v\x8b\xbf3\x81\xb9\xe9\ +L\x08\x08\xbc\x00Ch\x98\x19\x9dJf\x88\xe5\xf6<\ +1\x1eN`\x11\xf8\x062\x95W\xb5o\xdfG \xf0\ +\xd2\x0e%}\x90\x86\xf3<\x0a\x0a\xeb\xce\x12Q\x18\x11\ +\xf9\xd15rl\xac\xc5\xa4\xa4\x90\x82c\xa5(\xc7[\ +\x9f\xc5\xc8H\x82\xc0\xc3q\x9d\xfe\xf4\xee\x95\xfck\x22\ +\xcbW_\xff3\xdes\xf0?s\xca\xfd\x12\x1b\xf1\xe5\ +\x9eQ\xa8\xcf\xab\xbd\x92\xff$J\xe9h\x17\xc8\xc8A\ +\xee;x/\x9f?\xfbG\xf8\xa9M\x12_Mam\ +-\xb8\x16Z\xc2\x8bsO\xf03\xf7\xfe\x06\x7f\x7f\xfa\ +\xf7\xb1\xb8B5;\x8a\xe7]u\xc7\xf7\x060\x8ab\ +\x96\xad9\x9cN\xc2\xe8\xb6\x02qa\x96\x91\xe2v\xbc\ +\xa0;\xa3\xae&\x13||\xcfE\x22\xb0\xb5\xcb\x1c\x1e\ +?JG?\xc3\x17O\xfe\x15\x05\xb3\xd8\xcd\xc6\xb8^\ +\x7f@\xba>\xef\x94\xfad\xc4K\xe7^e\xa2>\xce\ +\x9f\xbc\xfc\x0bT\x8bu\xdc\xc0\xc1\xb6\x9d\xbe\xee\xed8\ +\x0e\x81\xefS*d\xf9\xbf\xff\xf1#\xfc\xe6\xa3_D\ +k\xf9\x8b,.\xcd\xb2|\xb1\x8d\xdf\x8e\x89\x93\xf7o\xf9\ +\xa3\x1f\xfd'\xce6\xbe\xc9\x95\xd5\xf3\xac\xce7\xf0[\ +W=\xd2=\xa7A.\xc9s\xb2\xf5U\x0ex\xb7\xe1\ +&\x1d\xce.}\x89\xb9K\x0e\x8du\x17\xa1B\xa5R\ +\xe9\x9e`\x10\x13i\xe0\xc9\x0cO\xcc}\x92\xf7\x8c|\ +\x0cQj\xf0\xf5W\xbeHc\xde\xa1\xd5\x0cQ\xf5n\ +\x92\xb6\xd9hb\xaf\xdb\xe8Q\x91\xa5\xe0\x14\xc7\xd6\xfe\ +\x81b1\xcb\x17\xce\xfc1\x8d\xc5\x90\x8d\x95&z\xa6\ ++\xe1Z\x96E\xb3\xd9\xea\x96\xe5\xaay\x9e\x5c\xfec\ +&\x9dC\x9cY\xf9\x06~'a\xe1\xd5&z\x01L\ +\xb3\xab\x0b7\x9bM\xfc\xbc$NM\x16\xd2\x17\xf8\xcd\ +\xaf\xfd\x1cb\xfb\xd8\x0e)\x10\xa8\x99\xae?\xaeW/\ +\x1cEQ1\x9b\xcd\x91\xbf!flo\x8e\xd5\x93\x1e\ +W^\xea\x80e\xa2\xe8\xa0\x9a\xe2\x1a]X\xd7\xf5b\ +\x92\x8f\xd8\xfd\xf6\x02\xe1|\xca\xe5\xe3\x1b\xf8\xb3]\x9d\ +C\xcb\xf4\xcb\xc8,EQ\x9aR\xca\xc9|>O\xfe\ +h\xca\xd8h\x86\xd9\xe3m\xd6\xbf\x93\x90\x86\x02\xd5\x00\ +E\xeb.\xc2+\x95J\xd8n\xb7\x8d\x5c6\x87\xad\xb8\ +\xdc\xf5\xc1\x1a+'|f\x8f\xb5\x09\xe6u\x10)Z\ +FErU\x17\x1e\x1d\x1d=\xea[\x01\x957*L\ +N\xe5\x98}\xb1\xcd\xda\x89\x08\xe9u\x7fzE5\xe9\ +\xeb\xc2\xb5Z-\x94\x894\xa2\x91\x88\xe9\x1b3,\x1e\ +wh^\x0c V\x91H\xb4\xac MRt]o\ +z\x9e'3\x99L5W.\xb0\xed^\x89u%f\ +\xe3\x9c\x8fv\xe4\xf6\xc3XV\x17yfgg\x09\xc3\ +n\xd9\xc0[\xde\xf2\x16v\xed\xda\xc5\xc2\xdc\x22\xa7\xbf\ +y\x96\xba\x22)\xed\xf4QT\xa5_/\x5c(\x14\xb8\ +r\xe5\x0a\xd5j\x95w\xbc\xe3\x1dh\xaa\xc6\xe7\xff\xf6\ +\x8bTk\x03L\xe4\x1bT\x8f\x0e\xd0n\xb7\x09\xc3\x10\ +\xd34\xb9p\xe1\x02q\x1c\xf3\xde\xf7\xbe\x97\x1d;v\ +\xf0\x0f\x7f\xf7\x05\x94\x15\x8d\xaa\xbd\xce\xce\xdb\x06h\xb5\ +[\x18\x86A\x92$,..\x22\xa5d\xdf\xbe}<\ +\xf2\xe8#\xf8\xae\xcfw\x9ez\x95\x9c\xd5f\xa6\xea\xa3\ +\x8fjd\xb3Y\x16\x16\x16\xfa\xd4 \x84\xe0\x8e;\xee\ +\xe0\xce\xbb\xee\xe4\xb9\xa7\xbe\xc1\xe5\xaf\xceR\xd7\x87\x99\ +\xbc!K\xb3\xd5\xec\xfe\xd0\x85ibY\x16+++\ +\x8c\x8d\x8d\xf1\xe1\x0f\x7f\x98\xe7\x9e~\x8eWO\x9e\xe2\ +\xfa\xf12\xd6@\x870\x0aI\xe2\x84b\xb1\xc8\xfc\xfc\ +<\xcdf\x13\x80\xff\xf8\x1f\xff#\x00/>\xceC\x0f=\xc4\xd0\ +\xd0\x10\x17/]\xec\x0e\xfcf2`ll\x8c\xa5\xa5\ +%FFF\xb8|\xf92\x00\x0f?\xfc0{\xf6\xec\ +\xa1\xd3\xe9\xb0\xb6\xb6\xc6\xb9s\xb0o\xdf>._\xbe\ +\x8c\xef\xfb\x8c\x8f\x8f\xb3\xb2\xb2B\x1c\xc7\xdc|\xf3\xcd\ +\xdcy\xc7\x9d\xec\xdc\xb9\x93\xbf\xfc\xcb\xbfd~a\x9e\ +\xd1\x91Q\x9ex\xe2\x09\xea\xf5:\x00kkkDQ\ +\x84\xa6i\x1c?P\xadV\x8b[\xcd\xde[\xf9\xb9\xf7\ +=\x8ec+\x0c\xc3f\xb1X\x9c\x1c\x18\x18\xa0\xd3\xe9\ +\x5c\xc3\xab=\x1d\xb9\xf7\xb7a\x18\xa1\xe38\xc6\xf0\xf0\ +0\xb6m\x7f\x8fwy\xeb\xefcU*\x15N\x9f>\ +\xfd\xec\xee\xdd\xbb\x8fn\xb1\xfc^\xb3O\xef\x7fM\xd3\ +X[[c||<\xb4m\xdb\xf8\x97j\xa27\xcf\ +\xb7iY\x96,\x97\xcb\xd5\xef\xde\xae\xa5I\x1am\xf5\ +1;\x8e\x83eY^\xb5Z\xcd\xb4Z\xdd\xf4\xbdL\ +\x05\x8a\x10\x08\xe5{xUX\x96\x95h\x9a\xd6\xcd^\ +#\xd0\x84\xde\xd5\x85\x95\xab5\x19[\xfc\xd7\xd2u\xdd\ +P\xd7u\x1c\xc7AW\xf5k\xea\x85\x15]\x5c\xd3\x7f\ +\xa7\xd3\x91\x8a\xa2D\xbe\xefk\x9a\xa6\x09\x12\x81\x14\xa0\ +j\x12E\xb9\xb6\xed&\xf8\xcb$Id\x9a\xa6\xb1\x82\ +\xd25^#Q\x94>\xd7\xf6\xab\x0a\xe28N,\xcb\ +JUU\x15\x02\xf8\x17\xea\x85\xc5\xe6z7\xcaf\xb3\ +q\x9a\xa6R\xc8\xcd\xbae@\xdb69\x12\xc8H\xd9\ +,\x90\xee\x16/\xaf\xae\xae^\xaa\xd7\xeb\x07}\xcf\x97\ +\xa1\xd1\xd5\x85qM\xd2N\xb7FWF\x0aB\x93\xbd\ +<\x9cQ*\x95\xf4L&CDD:\xde\xa6\x985\ +HZ\xbd\xba\xdb\xab\x81\x87a\x18\xb8\xae\xbbZ,\x16\ +gt]\x17-\xb5\xc5\xf0\x1eHm\x8d\xb4e\x22\x1d\ +m\xd3H\xde\xbf\xfa\x9e\xeb\xb9\xb2Z\xad\x0e\x04I\x88\ +\xb2\xa3MN3\x88[:i[GFj\xf7\xc7\xc5\ +\x90d2\x19.^\xbcX\x19\x1e\x1e\x0e|\xd7\x8f\xdb\ +\x99\x16#\x13*\xe1\x86Ajk\xdd\x1a\xe7D T\ +\xd0u]\x18\x86\xe1\x8f\x8c\x8c\x04\x193S\xfe?\xd4\ +\x0bc\xdb\xb6~\xe5\xca\x95\xb5r\xb9\x5c\x0c\xe38\x0d\ +\xca\x16\x95\xbaJ\xda\xd1\xd1F~\xa4U\xd05\x9d\xe6\ +S\x15\xa2U\x1dE\x15\x08!j\xa5R)\x9fJP\ +v9\x8c\xde\x11\x11\x05.\x22\xd2\xd0E\x864Ph\ +\xfec\x1dUU\xd1u]\x98\xa6\xa9\xea\xba\x8ec\xb8\ +\x0c\xde\xe5S/j\x10\x87\x84\x9e\x0b\xba\xa4\xfd\xe5!\ +\xe2\x96\x8a\x94Rh\x9a\xa6\x1b\x86!4M\xc3\x1d\xeb\ +0|\xbfFQ\x8e\xb2\xdaXA\x93\x1a\xf1B\x91\xce\ +\xf1\x022\x06\xd34\xd5>\x0b\xab\x1d\xf6\xbf)BK\ +T|\xc7\xc1$G\xe4\x82u\xacD\xb0h\xf4~\x03\ +\xb1R.\x973A\x94\x90\xb9\xc5e\xdb!\x13\xabm\ +\x91\xa1@\x10\x06\xe8N\x99\xc6\xd7\xcb\x98\x86\x81\xa6i\ +y\xd34\xed\xff/\xf5\xc2\xaa\xaa\xa2\xaaj\xb5\x90\xcf\ +\xe7\x96\xfd\x16\x13o\x94\x14\x06}\x22\xcfG\xb9c\xea\ +\x1d\x88<\xc4\xd2\xff.\xa6\xec\xfe\x9d\xaa\x015y\x80\ +\xff\xf0\xe0\xa7x\xef\x91_\xa5V\xdcA}\xdb\xc05\ +5\xbd}\x94K\x03\xec5\x9dw\x1f\xfae\xde\xbc\xe3\ +c\x1c\x9c\xb8\x87{nx#^\xe4\x5c\xf3\xdbY\xbd\ +\xe3\xf8I\xc0}#?\xc1\xb0r#\x8f\xdd\xf1\x1f\xb8\ +e\xf2\xedxz\xa3\xef\x22M\x92DvQ1$L\ +#j\xe66\x1e\x19\xfb\xb7\xfc\xa7\x87?\xcd\xeb\xf3\x1e\ +\xa3\xe3\xc3\xc4\xe2\xaa\x8fYv\xa7,\x9e\xe7c\xe4\x04\ +\xdb\x94\xdb\xf9\xbd\x1f|\x9aJf\x86_~\xdb\x1f\xe3\ +e\x1a\x04\x9bu\xd0\xff\x7f\xea\x85=\xcf'\x88\x02\x94\ +L\xc0\xee\xf4\x9d\xfc\xe8M?\x87rx\xf8A\xee\x99\ +\xf9\x81M\x16\xbeV\x17\xf6<\x9f(\x0a8\x05/\x9c\x07\x1f\ +\xaf='&\x8e\xec\xa0\x08\xc1R\xbd\x81*b\xc8\xa7\ +\xea/\x93\xeeNa\xbbvD\xda\xaf4\xa8E\xa0r\ +r\xfe\xcflI\x1d\xa0o\x83\xcbD\xebT8\x98\xff\ +\x93Xw,\x17#>\xc1\xd2\x92\xc9\xce\xa1a^9\ +\xff+&\x97\xcf\xe2\xd8N\x94\xe9]I\xe9\xab\x9a\xe0\ +\xed\xcb/r\xf8K\x8f\xf1\xfb\xd1\xc7\xb8l\x1e'\x9d\ +\xc8\xa3_\x97\x176\x8dp\xd7gn\xf9\x0a\xf5\x86E\ +\xae(\x90\xf23\xa8R\x02\xdb\xb5>3n\xd340\ +m\x0b\x09A]\xb9\xc8p\xff\x97\x99\xf2N\xf0\xd73\ +\xcf\xd1\xa5u\x87\xe3\xd6\x8d\x08\xb93L\x13\xcf\x87\x8d\ +\x1b\xf3\xbc\x7f\xee}\xfa\xb2\xfd<\xfd\xe1#d\xe2\x85\ +hN\xae\x91\x09a\x8b\x5c!\x93\xe1\x89\xa3?\xe5\x81\ +\x9d\xbfDi*\xd3\xcc.M3[\xaa\xa0\xd7<\xba\ +\xdd\xd0\x17.\x97\xcb\xd4\x1b\xcb\xc4\x9bIl\x15\x9e:\ +\xf10\xf7\xec\xb9\x8f\xe9\xb9\xd3,\x9d\x81j\xb5\x1ei\ +\xe1\xce\x15HRB\xa8\x05\xfex\xe6\x09~\xb1\xfe\x19\ +f\xec\xb3\xcc\x8df)_\xada\xd5\xfd\xce\xbb]\x84\ +Vt\xdb1\xaa\xfe%^=\xfb\x0cn\xa2\xce\xe5\x85\ +\xb3\x94>0\xa8\xce\x1b\x91/l\x18\x06\x8e\xe9`\xc9\ +>\x86\x1f\xe3\xd8\xe4\x1f\xd8\xbf\xf9n\xc8T879\ +\xcf\xfc\xe5:\x8d%\x07I\x84\xefl\xe5r\x99J\xbd\ +A\xbf\x9dc\xd2\xf8\x98w'\xffD\x90h\xf2\xaf\x99\ +\x97Y\x982)\xcf\xd7P\xe3J\xa4\x85\x97\xab\x0d\x1a\ +\x09\x1f/H\xf1\xce\xdcsl\xf5\xf70\xee|@c\ +\xd1\xe0\xca\xa92\x8e\xee\x13O\x84Z\xb8\x5c.c$\ +|L[P\xe9\x1e\xe5\xb9\xe3O\xa2<\xff\xc3\xd3\x98\ +\x8b\x10\xcbH\xa8\xaa\x125\xd6\xca\xb2LL\xd3p\x17\ +\x02\xe6\xff\xe3\xd1\x98\x9a\xe3\xc7O=\x8a>\xaeA\x10\ +\x10K+\x91\xb1\xd3n\xc0\xc0\xb7|\x96\xce\xb9\xc8\xad\ +n\xee{\xe9\xfb\xe8%\x0d\xb3^&\x91\x15\x88pu\ +\x8f\x8e\x9d\xcf\xe7\xb1g[L\xbd\x1d\xf0\xe1\xe8\x9b,\ +\x8e\xda\xf8\x96\x84\x92\x04-\xa6FPd\x10\x04h\x09\ +\x0d\xcf\xb0\x99?\xed\xb2<;\xc3\xb1_?\x8e~Y\ +\xc5\x5cr\x89g\x15\x14ED\x81H\xa1(\xc4d\x15\ +}\xdc\xa7Z\x87\x17/\xbe\xc4\xd2y\x9f\xc6\x15\x1f-\ +)\xa3%\xd5\xa8\xd2Y\x08\x81\x1aS\xe9\xd6}\x16G\ +\x1d\x96\xe7\x179~\xee\x05\x96\xce\x05\xb8z@<+\ +PT9\x823%I\x22!i\xd4.\xb84\x15\x9f\ +\xb3\x93\xef\xa0l\xda\xb0\x05\xe9&\xd0\xd40\xc1\xe8\xfb\ +>333\xec\xd9\xb3\x87\x81\x81\x01,\xdd\xe6\xf4\x07\ +\x9f\xb0*\x19CJ,R\xdc\xd7\xc3\xfc\xc2<\x8dz\ +\x83B\xa1\xc0\xd8\xd8\x18\xbd\xbd\xbd\xec\xdb\xb7\x8fTw\ +\x8a\xbf\xff\xed\x0dz\xfbzY\xe5\xcc\xd3\xbb{\x15\xf5\ +F\x8dVK'\x9dNs\xe1\xc2\x05\x0c\xc3\xe0\xfe\xfb\ +\xefg\xe7\xce\x9d\xbc\xf5\xfa?\xb0\xaa6\x922\xc3\xb6\ +\x039\x9a\xcd&\xb9\x5c\x8eZ\xad\xc6\xf4\xf44\xadV\ +\x8b\xe1\xe1aFFF\x88i1>9\xf5)\x9e\xd1\ +\xe2\x06\xa9El\xabF&\x97\xe1R\xe9\x12\xf1x<\ +L'\xa9*###\xdc|\xf3\xcd\x9c\xf8\xe7I\x16\ +/V(j\x82\xbeA\x19w\xadC\xb5R\xed\x10\xb8\ +Ql\xf6\xd0\xa1C,U\xaa||\xec4\x99T\x8a\ +x\xcc$\x7f\xd32\xb9|\x0e\xcb\xb2\xa8T*\xb4Z\ +-t]\xe7\xc8CGh5\x9b\x8c\x97&Y\xaa\xd5\ +\xc8:\x16\xca\xf0\xf06\xce\x9f?\xcf\xe0\xe0 \xa9T\ +*\x12\xfc{\xf7\xee\xe5\xf6\xdbo\x0f!\x1f~G.\ +\x97\xc3\xb6\xed\x08\xcb\xb5L\x8bb\xb1\xc8\xd8\xd8\x18\xf9\ +|\x9eC\x87\x0e\x91\xcf\xe7\xb9:s\x95\xa1\xa1!&\ +&&\xe8\xd4(_\xb9r\x85\xad[\xb7R*\x950\ +M\x93;\xee\xb8\x83M\x9b6111\x11.\x00\x9e\ +\xc1\xf6\xed\xdb9}\xfa4\xe9t\x9a\xfe\xfe~\xe6\xe6\ +\xe6\x00\xd8\xb1c\x07\x07\x0f\x1ed\xfd\xfa\xf5<\xfb\xec\ +\xb3,,,P(\x148y\xf2$}\xbd}\xed\xc6\ +\xca\x90\xd1Q\x14\x85\x91\x91\x11\xee\xbd\xf7^\x1c\xc7\xa1\ +T*144\xc4\xa5K\x97\xc8f\xb3\x1c=z\x94\ +\xb5k\xd7255E\xb9\x5c&\x97\xcbq\xf8\xf0a\ +FGG)W+l\xde\xbc\x19]\xd7\xb9p\xe1\x02\ +\x99L\x86b\xb1H\xa9T\x8a|\xe1#G\x8ep\xee\ +\xdc9\xc6\xc7\xc7\x99\x9d\x9d\x0d\x19\xe9]\xbbv\x05\x1d\ +\x9d\xe88\x0e\xc9d\x92\xc9\xc9\xc9\x8bk\xd6\xac\x19\xda\ +\xbcy3ccc\xd1\xce\xf3\xf5\xdd\xcc\xed\xf8SS\ +\xd3\xb4\xd8\xd6\xad[\xd5j\xb5\xca\xf2\xf2r\xa4U;\ +^k'b/IR\xd9u\xddq`W6\x9b\x8d\ +h\x82\x95\xbb)+\xfdgUU\x1b\xb3\xb3\xb3\xd2\xfe\ +\xfd\xfbSccc\x916\xed<6:\x15-\xae\xeb\ +v\x18\xe9\x89\x91\x91\x91\x1bm\xdb\x8e\xbc\xdb\xcen\xf2\ +\xca\xa6\x8e\x95\xbep\x87\xed^\xb9X\xac\x1c\xbb\xef\xfb\ +\x08!\xa8\xd7\xeb\xe5b\xb1\xd8388\xc8\xe4\xe4d\ +tK+\xa9\xeet\xa4)\xa5v\x96\xd6u]\xaf\xbd\ +\xbfF2\xd1\x15b\xb4\xda\xf5\x5cr\x88\xf8Z\x96\xe5\ +\xa6R)uvv\x16Y\x96\xdb\x8c\xf4\xf5\x1cs\xd0\ +\x99DyffFZ\xbdz\xb5'\x84\x90bZ\xec\ +\xb3Yd\xaey\xbd\xed\x1a\xe4\xa0X,*SSS\ +$\x12\x09:ZXj\x7f\xb7\xab\xab;\xfaM\xfb\x8f\ +\x9a\xba\xaec;6q-\x8e\xefC\x5c\xfb\xfc\xf1\x85\ +\x10\x94\xcbe\x84\x10R\xbd^GBB\x1514%\ +\xb6\x82\x91\x96\x22M\xdch4\xf0}\xbf\x99N\xa7{\ +\x16\x16\x16\xe8Jt\x11\xf8a}\x96\x92\x1b\x8cGZ\ +\xb1s6eYv\xf3\xf9<\x86n\xe0t\x99$\xfb\ +\xed\xb0\x94\xd0\x10\xf8\xba\x1a\xe6\x85\xdb\x98l\xa5Ri\ +\x15\x0a\x05U\x08\x11\xf3\xf0\xf0V-\xd3\x9dRB\xd6\ +\xb8\x93\xe9u\xe5N\x0d|\x22\x16\x8b\xe5\x93\xc9\xa4\xa3\ +(\x8ah\xcaMr\x03\x12\xbe)\x11\xb4T|]!\ +\xb0\xe4\xd0\xeb\x0d\xaf\x02!\x84H\xe6r9Z\xbeA\ +z\xa3\x05\xaeL\xa0+\x04\xa6\xd2\xee\xda\x92\x91\xa4\x10\ +kS\x14e\xb2\xa7\xa7g\x93\xa9\x9b\xd4\xe2U\xfa\x06\ +\x05N\xb3\x9ds\xd6\xc3\x9cs'\xb1.\xcb2}}\ +}j\xe0\x07\x94\x9d:}[ \xb0$|C!0\ +\x04~3\xe4\xafe!wV\xf7K\x99Lf\xd0\xb2\ +\x1d\xfcUMR\x05\x19W\x07%{\xa0\x8c,\x04K\ +oeq\xe6\xb5N\x0b[\x5c\x08\x81\xe3{\xf8\xfd\xcb\ +$w\xb7\xe8M\x0c\xd04\xeb!ti+T^)\ +Fw\x9a\xa2(\xb2\xe7y\xe8\xaaAl{\x95\xe2\x9a\ +\x1c)5\xcbLu\x8aX\x5c\xa5~,\x8f=\x13\xc3\ +\xf7}YQ\x94d,\x16\xd3\x14E\x91\xe7VO\xb3\ +\xe5N\x8dDP`\xa9YA\xc8\x02w\xaa\x9b\xe5\x8f\ +R\xf8n\xd8 bY\x16\xb2/\x05sJE\x1a\xdc\ +\x1b\x10\x0f\xb2Xv\x0b\xd7\xb1\x09\x0c\x95\xfa\xf1\x0c\xce\ +\xa2\x8a\xa6i\x04A\x10\x97e\x19\xd9\x95Y^\xb7\xc0\ +\xe6=i\x12A\x9e\xa6^\xc3\xb6\x1dh$\xa9\xbe\x99\ +]Y\xaf'9\xb6\xc3|r\x91\xe1\xbdI\x02+\x8e\ +*K4Z\x15TEc\xf1\x95<\xbe\x11\xed\xe4\xa4\ +\x09\xa0j\xe8\xac\xbbMG\xc9\x18\x0c\xa4\x86\x90\x0f\xac\ +{\x80dW\xbb;\xcb\xba\x96\x17\x0e+\x92,<\xd9\ +f}\xec\xab|o\xc7\xa3|\xe7\x0b\x8f\xb3.\xb3;\ +*1\xec\xd8\x9aQ\xfe\xd7sX\xa84\xf8\xd1\xee'\ +\x19\xce\xde\xc57\xb7?\xc0\xb7n\xfd\x01\xa6\xdbZI\ +\xa8\x06\x1dYg\x05\x06\xbbz\xeffw\xf1\xbb\xdc\xb3\ +\xfbA\xbe\xb8\xea\x1b\xe8\xa2\x82q\xadG\xba\x93\x17\x96\ +\xbc\xc0amn\x13_\x1f|\x88\x9f\xdf\xf9[2\xe6\ +m\xac\xea\xed\xc1\xf6\xcc(E\x19\xf5_\x1b&\x8a&\ +\xb11\xb9\x87\x07oy\x9a\xa1\xfc^~\xb2\xf7\x19l\ +m\xf934k\xc7s\x96U\xb82Q\xe3\xd1}\xcf\ +\xb3!\xbb\x9b\x9f\xed\x7f\x01'\xd9\x88>\xbf\x96\xd6l\ +\xe7\x85e\x83}\xa9v^xMj\x13\xeb\x0b\xdb\xb0\ +\xedPyt\xb4p(\xf8M\x5c\xd7dS\xe1\x16\x8e\ +\xcf\xfc\x85\xf7N}\xc4\xce5\xfb\xc2d\xf9\x0am\x1b\ +ia\xdb\x22+\x06\x98\xaa\x958q\xf9u\xbe6t\ +\x08\x81\xc0u\xbdHgw\x1a\x83\x0c\xc3 p\x15\x06\ +s7q\xd6|\x95\x1d\xf9\xbb\xd8X\xdcF_\xd7z\ +\xcc\xeb|a\xd34\xc2\xbc\xb0\x92\xa4\xeaL\xf3\xdf\xd2\ +(\xb7\xae\xdbK>\xbe\x1a\xd32\xaeS\x22\xa1\xe7\xac\ +\x08AsI\xf0\xda\xd9\xe7Y\xadmc\xfb\xda\xedh\ +R\x22\xd4\xca\xc6\x0aMn\x1a\x04\x81G\xd6\xdb@\xd5\ ++\xd1\x97\xed\xa7\xb7{\x80\xde\xe4@\x14\xde\xeeHP\ +\xbd\xcdH7\xday\xe13\x95\xf7\xf8\x1f\xcb\xb6\x8e\xf6\ +\x8f\xf1\xef\x16\x00\x00\x00\x00IEND\xaeB`\x82\ +\ +\x00\x00\x1ax\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00d\x00\x00\x00i\x08\x06\x00\x00\x00\xcc|\x86\x8a\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ +\x00\x00\x09pHYs\x00\x00\x88&\x00\x00\x88&\x01\ +\xac\x91\x9d\x06\x00\x00\x00\x07tIME\x07\xd9\x03\x03\ +\x0e\x04:\x04\x0e\x03\xc5\x00\x00\x19\xf8IDATx\ +\xda\xed\x9d{tT\xf5\xbd\xe8?\xbf\xbdg\xcfd\x92\ +\x0cy\x12\xc2#\x01J(\x8fJ\x90\xa2\x16k\xc3\xa9\ +\xa0\x02\xf5\xd4.\xbd\xda.[\xee\xa5\x85z\xb4u\xf5\ +\xae\x16\xef\x83\xf6\xf6\x9cs[\xd0z{\xafK\xaf\xbd\ +\xb4\x97\xd5z=*\xb7\xd6\x1e=\xe7\xd4Z\xa1*x\ +\x05\x0fJ\x00Q\x08\xa4\x09\xaf\xc8#\x04\xf2\x9a$3\ +\x99\xcc\xec\xc7\xef\xfe1\xccf\x1e{\x87\x09L\x12p\ +\xe5;k\xafd\xf6\xfe\xfd~\xfb\xf7\xfb\xbe\xbf\xdf\xdf\ +c\x04@eee\x9d\x10b\x07c0\xea\xa0\x00\xaa\ +eY\xda\x18*\xae\x0e\xf0\x00\x85\xa6i\x16\xaa\xaa\x0a\ +\x80\x94\x12\xcb\xb2\xc603B \x84@Q\x94\x14\x82\ +\x94\x1b\x86Q\xe6\xf5z\x01\xc8\xcf\xcfg\xe5\xca\x95c\ +\x98\x1a!\xd8\xbf\x7f?{\xf7\xeeM!\xc8D\xc30\ +*\xd3\x0b\x9a\xa6\x89\xae\xebc\x18\x1bF\xc9\xf0\xf9|\ +\x08!2T\xd6\xf8\x0b\x97\x0dRJ\xfa\xfb\xfbik\ +k\x1b\xc3\xdc0A^^\x1eS\xa6LAJ\x99A\ +\x90\x80eY\x81\xf4\x0a\xc3eK\x84\x10((\x08@\ + \x88\x19&1\xcb@\xf5\x9b\xf1;1\x0f\xaa\xa5\x82\ +\x00\xa1H\x10 \x91\x9f8\x82\xa4\x13\x22\x99 ^!\ +\x84\xe6T0]\x9cr\x01A\xa3\x8f\x93\xfa9\xba\x8d\ +\x10\x032\xc6gn\xc8gvm\x01Iv\x8d\xfe\x1e\ +\x89l\xcf'v\xce\x87\xd5\xee\xc73\x90\x17'\x90\xdd\ +\xb1O6A\x14\xcb\xb2\xd4d\x22X\x96\x95S\x09\x11\ +@\x8f\x19\xa6a\xe0\x04\x1df\x0fB*L\x9d\x9e\xc7\ +\x8a\xa5e\xe4\xe5)\x98&H\x09\xe2\x824\x14\x94\x0a\ +(\xebG\xcc\x09\x83\x02\xb1\x01\x89\xec\xd30z5d\ +\x9f\x86\x19\xf2`\x854\xac\xb0\x07+\xa4\xa2\xe8\x9a-\ +M\xf1K^\x13\x04I\xe09\x9d \xc2I\x12\xdc(\ +x9\x10\xb2\x22\xfck\x7f\x03RJT\xa9R1\xc9\ +\xcb\x17\xbfT\x8a\xb4\xc00$B\x08\x12]\x10q\x1d\ +\x05R \x11`H4U\x81b\x13o\xb1\x09\x0c\x10\ +\xef\xda\x85r\xc0@Hb\x9c\xcf\xc3h\xf7\xa1\xb7\xf9\ +\xf0\x84\xf3mN\x10W\xa9D\x0d&!\xae\x94\xcb\x85\ +\x84\x18\xd2dW\xff\xa1\x0b\x12 \xf0\xe5\x09n\xbb\xab\ +\x0cie\xa9\x16\xed\xe7\xc2\xf1\x96\x04\xfcE\x02\x8a\x07\ +\x10\xb3\x07@\x01=fa\xf6z\xb0z\xbd\x18\xbd*\ +\xb2\xcf\x8b\x19V\x91!\x0fFHA\x89z\x11B\xc6\ +\xc3\xe2Q\x92\xa8\xc1$\xc4\xb5B.\xa4\xe4\xa4~\x0e\ +C\x9a(\x17\xb0X3\xb7\x00E\x11\xc8\x1c1\xae\xdd\ +\x86\x14H\x13\xa4\x09\x1e\xa1\xe0)\x92P\x14\xbd0\x96\ +\xfe\x14\x89\xd2\xa3\x92\x816\x0d\xeb\x9c\x9fH\x9b\x07O\ +w\xbe\xad\xeeFJ\xa2\xb2\x96\x90db\xe4\x82 \xed\ +FO\x8a\x14TN\xf6\x0e\xab]\x16N\xff%K\x94\ +\x94x\xfd\x02\xef\x0c\x1dQ\xa3S\xa2HL\xab\x83X\ +\x8f\x02=^b=*\xf4z1\xc2\x0a\x845b!\ +\x81\x12\xd1\x10jn%\xc9\x0d\xbf\xc3N\x90\x90\x8c\xa4\ +|/,RG= \x03\xc0\x8aK\xa94@\x11\x0a\ +y\x85\x12\x0ac\xe4M\x06I\x04d\xc2\x96\x81e@\ +\xd7\x9fK\x90]y9'HV*+\x97\x0410\ +\xe3\x86\xfa\x02\xf8|\xa3K\x10W\x02\xa5\xcbV\xc2c\ +\x93\xa0\xfa@\xd1\xc0\x90r\xe4\x09\x92K\xef\x8a\xf8x\ +l\xfb\x01\xa0\x88k,\x8c\x10I\x03\x19\x01\x18TB\ +\xc6\xb2\xbe\xc3\x97\xb9\x18\x92\x0d\xc9\xb5\xa4d\xb6%\x87\ +P\xf7\x82Z\x11\xf1zq\xc4H[\xdd\x08.\xc60\ +\xc3J\x90\x1c\x8b\xc8\x90\xbc\xac\x04'\xe4\x82#\x84\x88\ +\x1b\xcdTP\xb2\xaa\xab\xa8\xd0\xd5\xaes\xead\x1f5\ +\x15s\xb8a\xc6MT\x96N`z\xe5\xa7P\x15\xe8\ +\xeco\xe3d\xf0/\xb4\x85>\xe6xw\x03\x8aP\x1d\ +\xde\x953\x0c\xe6\x5cB\x86\x1c\x87\x0c\xb7cz)\xc9\ +x\xfbO\xdd\xf4\xb4\xc3\xab?\xfb\xbf\xcc\x9f>\x1f\x8f\ +\xeaq\xec\xa7)\x0d\xce\xf4\x1e\xe5\xd7{\xff\x96\xf3\xa1\ +\x93\xa8\x8as\xb9DF\xc0\x92V\x5c\xf2\x10Y\xe7\xeb\ +\xe40\xa8@'<+\xd9x\x01Wr]\x0e\xc4\x06\ +,^}\xb1\x0d-V\xc6G\xcf\xec`a\xcdBT\ +Eu\xf5\x92<\x8a\xc6\xd4\xe29l\xb8\xeden\xfd\ +\xd4}\x18\x96\xeeX.\xd4k\xb0\xedO\xedL\xb6\xea\ +\xb8\xbfv-K>\xf5U\xe6\x8c\xff\x5c\xd6\x0c\x92+\ +\x9c\x0c\x86\x97aw{\x11\x82\xf4f\x06k\xd7\xb2\xe0\ +\xf5\x7f\xec$\xe0/\xe5\xfd_\xbe\x89\xdf\xeb\xcf*\xc5\ +\x92\x90\x80\xfbk\xff#\xc5y\x15\xfcc\xc3\xff\xc4\xab\ +\xfa\xec\xe7\xaaG\xd0rd\x80\xe6\xc3=\xdc\xff\xf7\x7f\ +C\xcd\xc4\x99\x00\xb4t\x1f\xe6\xf0\xf9\xf7\xb3\xa0\x88\x95\ +S\xad\xe1\xa4\xae\x06UY\xb9\xf3\xf3\xe3\xaen2\xa7\ +*\x8a;r\x0f\x7f\xd0G\xa4\xdf\xe4\xe7\x0f>b\x13\ +#\x1d\xa2F\x84\xf7\xff\xb2\x1bM\xf8\xb9a\xd6\x02\xbc\ +\x1eo\x0aaV|z\x15M\x1d{i\xee\xfc\xe0\x22\ +AT\xc1\xc9c\x03TV\x94P3q\xa6M@\x04\ +)s\xdaW\xaajs\xee\xf6\xe6B\xe5\x5c\xb6\x1f#\ +\x05\x87?\x0cQ^\x12\xe0\xdf\xdev\xbfc\xa9s\xa1\ +S\xfc\xb7\x9d\xab\xe9\xe9\x0b\xb3\xf5\xe5N\xaa'T\xf1\ +\xde/\xde\xca\x08\xf4\xfe\xcdg\xfe=\x8f\xbd\xb3\xca\xfe\ +\x1e\x09[\xf4\xf5\x98\xdc\xa6e \x91tw\xe8H$\xd7\xd7\x5c\xe7\xe8\xd2\ +^\xf2\x93#|$.7/Kq2~\xb9\xe4\x06\ +\x91\xf6q\xba'\x10(B\xa1\xf9`?\x15\xe5E,\ +\xb9~\x89\xa3Q\xee\x8e\x9c\xa3\xb1\xbd\x1e\x81@ZP\ +P\xa82s\xf68\xde\xfbp?\xef7\xd6g\xd4Y\ +\xb3\xf0\xa7X\xc4\xd0T\x85sma\xf4\x98\xc1\xbcO\ +\xcd\xc9p\x9f\x84\x14\x5c\xea\x93k7+\xeb\xc00\xd9\ +\x1d\xcb\xdd\x8c\xa1\xc8 Q:t\xb4\xc5\xd0c\xb0\xe2\ +\xe6\xbfr\x8d%\xde9\xf1O\xa8\xc2\x13\xaf\x7f\xa1\x89\ +\x09\x93}\x9c<\x16\xe5\x9d\x8f\xfe\x95EsnJ\x19\ +G\xb1\x7f\xf8\x0c\x9a\xe2\xa3\xc0WHG\xf4cg\x82X\ +W\x81\x0d\x19I\xd0c\xf1\xc1\x96\x14\x16;?7\x07\ +\x5c\x93L\x9aO\x10\x899?/\xce\x1b\x8f\xc7\xa3\x90\ +\xe7\xc9\xc7225t\xc4\xe8\xe3@\xc7\x9b\xa92\xe2\ +\xb4\x0ag\xd8\xd5\xf8 ^Vn\xd7ee\x17\x80\x99\ +F\xbcc\xf9\xde\x80\xab\x84\xb8\x81\xd7\xab\x10\xeew^\ +\x87\xecU\xf3.\xa6\x0c\x84s\xf7D6\x19\xe2\xd1\xcc\ +\xf6&b\x91\x5c\xac\x5c\x8c\xe3A\xa4}w \x889\ +x\xf4\xac\x9bQW\xd2\xfa|\x0a\xbaa:>\xd3T\ +\xef\xc5\xf5s\x0e\xed\x0bW\xab\x96\x8d\xea\xcd\xb5*\x1f\ +d>d\xa4g\x0c\x0dC\x0e:\xdf\x1e\x1bTe)\ +\x18\xba\x85i\x99\x19YaM\xf1]\x94\x84+\xc8G\ +\xe5\x1a\x1f\xc9\x11\xfb\x88g{\xb3Q\xc0\x8a\x10\xf6L\ +\xe0P\xb8SB\xea\xaa\xc7a\xe2\xea8>\x86?R\ +WFB4\xb3\x01U\x15\xe8\x86;\x07\xda\xb6\xc0\x81\ +\xdez\xccBU\xe3;\x91\xd2\x07iZ\xc6\x05\x0c\x08\ +W\x09\x1b-\xc8Ze\xb9\xcdf]I.+\xcd\x8a\ +:\xbb\xaf\x03\xee\x8c\xa0\xa9>\xc7z\x08\x81\x11\x13h\ +\x9a\xc7q\x90\xba\x15\x03q1\x8b\xe6J\xd5Q\xca\xf6\ +fmC\x92\xb3\xb5#%!\x08\x88\x9a\x11|j\xe6\ +<\x88m\x0b\x5c\x5cf\xaf\xe6qq\x06b\xb9A \ +\x16\xb9DG\xd6\xd9\xde\x5cJ\x87\x9bMrJo\xfb\ +\xfcqus\xae\xfb\xbc\x8b\xca\xf29\xd6\x13\x02b1\ +I\x9e\xe6u\xce\x00\xc4\x82\x17\xd3\xfe\xd2\x0d\xd9\x97\xfe\ +\x0cG\xb6wH\x81a\xee\x88\x929C\xa88\x98\xae\ +\xfc\x02\x15EQ\xe8\xea\x09R]>\xd5Qe\x09\xe9\ +\x10\xb4I\xe2\xa9\x91|g\x1b\xd3\x1b\xed\x8e\xef\xd8\x12\ +\x02\xb7\x89A%\x8b\x94\x9e\xcc\xf1\x14\xee\x90\x92\x8b9\ +\x9d\x0f\x11\xd99\x0c\xfe\xfc\xb8\xbb\xda\xda\xd96\x88\x1d\ +\xf1f\x1am#\xfe\x8e\xc2\xbc\x80\x0bA:\x93\xe2S\ +qEJ+\xd70j\xb9\xacl\xa0p\x5c\x9c \xc7\ +[[\x5c\xcbT\x17\xcf\xe2H\xc7G))\xf8p(\ +\x1e\x10V\x8f\x9f\xe2X\xa7-\xd4\x92#\xe41\xba\xb9\ +,\xb7U\x11\x97=\x9a4\x9d\x9d\x0e%\xe5\x1aH\xc9\ +\xfe\xa3\x07\x5c\x9b\x99Q2\x9f\xa6\xf6\x0fRTL\x7f\ +\xc8\x02)\x19_R\xeaX\xe7l\xdf\x09\xdb\x068\x8e\ +'\xcbM\xa5r\x98V\x9ddm\xd4s\x16\x8b\x08\x01\ +\x8ab_\x82\xf8.\xdc\xf4Oi\xb9\x06\x8a\xc2\xa1\x13\ +\xcd\xae\x1c\xf4\xb9\xaa\xe5X\xd2L\xa9\x17\xec4@Q\ +X8k\x81\xe38N\x06\x9b\xe2\x04T\x04\xc2a\xb5\ +\x8b\xa6\xe6\xa1\xc8\xe4\x16\x9d\xfb7\x12i\x93AmH\ +2\x05Gb\xa1\x9c\xd7'\x982\xcd\xc7\xc1\xa3\xcd\x1c\ +=\xdb\x9c\xd1a)%\x13\x0a\xab\xa9,\x9c\x9a\x82\xf0\ +\xf3\xad1,\xcb\xa2\xae\xf6s\x19\x03n\x09\x1e\xe6|\ +\xe8T\xdc\xadV\x04\xb1hf\x02rBA\x15\xba\x15\ +E7tN\x9f\xee\xa37\xe8\x9c\x13\x93\x96\xcc\xe9B\ +\xb9\xac%\xc4-\x1e\xb9\xa2U'\xe9\x04r\x98\x903\ +\x0dX\xb0(\x80G\xd5\xf8\xbb\xff\xf3\xb8+G\xdd2\ +\xf5.L\xcbDQ\x05\xbdA\x83\xa3\xcd\xbd,\xbdq\ +\x11\xb5\xd3k3\xea\xbc\xd6\xf8\x1b<\x8a\x06\x12\xbc>\ +\x85H4\x13\xd9\xaa\xe2\xe1?\xd7=\xcb\xd4\xe8\xdd\xac\ +\xb9\xfeg\xac\xff\xebg\x1d\xfb7\x1c\xabN\xb2\xb6!\ +\x09$\xe6&\xdb\xeb\xb0:]8\xc7\x02\xf9\x85*S\ +\xa7\x17\xb0m\xdf{\x1cm=J\xcd\xa4\x9a\x8crw\ +\xd4\xac\xa4\xab\xff,\xbf\xdd\xf9\x02;\xdf\xe8\xe3\xcbu\ +\xb7\xf3\xcc\x7f\xf8_\x19\xe5Nt\x1f\xa2\xa9s\x9f\xbd\ +\xce\xb7\xb8\xd4CO\xb7A\xd3\xe9&fM\x99\x952\ +\xcei\xa5\xb3Y\xf7\xb5\xd9\x00\x9c\xeai\x1a$\xa0\x1f\ +\xfe\x94\x922\x98w\x95+\x09\x89\x13E\x5c\xdcV\xe0\ +p\xd9\x8b\x12n(\x04\x09?\xfb\xedS\xae\xb6\xe4\xfe\ +\xf9\xff\x89\x8d_{\x9d\xc3\xcf\xedd\xf3\x0f\x7f\x8dO\ +\xf3e8\x0co\x1c}!\xe5}Sk\xf2@\xc2?\ +\xed|mP[)P\x1c\xfb\x97Xu2\xe2\xeb\xb2\ +F\xc3\xe5M\x86\xf2J\x8d\x1bn\x19\xc7+\xdb\xff\xcc\ +\xaf\xfe\xb4)\x13a\x17\xbeW\x8f\xafbRIU\xc6\ +\x80\x04\x82W\x0e\xfd\x82\x03m\xef\xa6\xdc\x9fT\xed\xe3\ +\xc6\xc5\xe3x\xea\xa5g\xf8\xf5\x96\xe7\x1cm\xd4\xbb-\ +\x7f\xe0\xf9\x0f\x1f\xcd\xc6Q\xcc\x99\xdb\x9bU\xfa=\x97\ +\xfbC\x86\xec\x0e\x9a\x92\x9a\xb9~\x06\x06\x8a\xf9/\x9b\ +\xfe;\x05\xbe\x00\xff\xee\xb6\xfb]\x83\xbad\xc4\x1a\x96\ +\xce\x96\xe6\x7f`\xdb\xf1\xdf\xc5mG\xca\x98$3f\ +\xfb\x99>\xd3\xcf\x96\x8f\x7f\xc1\x9f6n\xe4\xf3so\ +\xa4\xbc\xa8\x9c\x96\xee\xc3\x9c\xedk\xc1\xa3x\xf0(^\ +g\xd54L3\x86#\x1e\x87\x88\xcb\xb09R\xc2\xdc\ +\xeb\xf3\x99\x5c\xed\xe3\xd1\x17\x1f\xe7\xb7o\xfc\x0b\xcf\xae\ +{\x8a\x89\xa5\x93\x5c\xeb\xedo}\x9b\xd7\x9b\x9f\xe5l\ +\xa8%\x83\x18\xc9\xed\x0a\x05\xa6T\x15\x02\x92\x93\xe1\x83\ +\x9c\x0cK\x04\xf19\xf7\xc1l\x845B\xabN\x94l\ +\xf3-#\xb9?$\x81\xc0\xe22\x0f\x7f\xfd\xb52*\ +\xae;\xc3\xc2\x87?\xcf\xb2uw\xd3\xdau\xd6\xb1\xfc\ +\xef\x0e>\xc1\xb9\xf0\xc9!\xec\xa0\x12\x17\xd6a\xa9\x17\ +\xed\xdb\x10\x82\xdb+\xc5\x99[\xc4~\xc9\x19C\xd34\ +\x87\x1c\xfe\xa7\xa4\xbf\x0d#e\xbf\xbdi\x19\x08K\xb8\ +\xe7\x8bdj\xe6\xc80\xa1\xb0\x04f\xce.f\xf7\x9e\ +\x8fxc\xef6\xbeyG\xe6\x89w\x9f\xa9X\xc4\xfb\ +\xa7^\xbfD\xe6If\x9d\xaa\x92i7#\xfd\x11\xfa\ +\xfb\x8d\xdcyS\x8a\x92\xbd\xca\xb2,\x0b]\xd7\x09\x87\ +\xc3W,\xa6Q\xdd@X\xa9\xf3\x13\xf22\xdc\xc7\x92\ +\xf1`\x18\x06\xef5\xec\xe5\x9bw\xac\x8c\xa7\xde\x93\x14\ +\xe2\x8aO\x7f\x93\xe6\x8e\x0f\xe8\x8b\x061\xa4\x8e1\xc8\ +*\x95ltk\xfa\x84V\xb4\xdf\xc00rG\x10\xc3\ +0\x18\x18\x18\xc88\xb5\xcfQ\xbec\xb1\x18\xb1X,\ +g6$\xd9\xedM\xec\xeb\x1b\xea5\xb1\xca\x87\xd7\xab\ +\xf0\xcf\x17\xdc\xd6t\x8e\x1e_0\x85\xbf\xbb\xf5\xb7\xfc\ +\xd7%\xbf\xe3\xceO\xaf\xc6\xb0bC{G\xc6*}\ +q1\x1eS\xa0\xaf-w\xc4\x18r\x1cb\x9afN\ +\xf7\x87\xe4*?y\xcb\xed\xc5\xb4w\xf5\xf1\xf7/l\ +p\xd4\xf9^O\x1e%\xf9\x15\x14\xfa\x8as\xb6\x8dY\ +Q\x05g\x0fE1BfN\xe3\x10\xb7\x88]\x19.\ +cn\x1b\xaf\x1c\x05\xb7\x96%\x99T\xed\xa3\xf6\xb3%\ +\xfc\x8f\xcd\x9bxk\xff\xf6\xac\xed\xd8\x151\x82\x80\xc3\ +/\xf6\xa2xs\x8b\x97\xcb\xf2\xb2\xae&HH\xc4\xe7\ +\x97\x141wA\x80o<\xb6\x9a\x97w\xbdD{\xef\ +yB\x03\xbd\xe8f\x94\xa8\x11!\xa2\x87\xe9\x8f\xf5r\ +\xa5\x9c\x90`\xa6\x13o\xf7\x13\x0b\x9a#6N\x8f{\ +\xfeI\xe4&w\x93c\x0e\xb6,XxK\x80y\x0b\ +\x0b\xf8}\xf3c\xfc\xf9\xf4FJ\x03%\xf8}~L\ +\xcb$fF\x08\xc7z\xd1\x14\xef\x15\xbdG\xf3+\x9c\ +\xd8\xd5\xcf\x91\x7f\x09\x0dK\x0e\xcb\x0d\xbf\x1e\xaeA\x90\ +\x16h^\x85\x12o\x1e\x10%\x18k#\x18\xbb\xccD\ +\xe0\x85UIR\x82\x11\x95\x981\x0b#\x229\xb6\xbd\ +\x9f3;\x22\xa8\x9a\x18V\x89w:\xb7wx%\xe4\ +jR{\x0a\x085n\xa8\x0dC\xd2sF\xa7\xb7\xc5\ +\xa0\xe7\xb4N\xff\x19\x13\xbd_\xa2\xf7[\xc4\xfa,\xa4\ +\x89M\x8c\xe1\xc2Cb\x0d\xf55/!\xd9\xc6\x13f\ +L\xdaW4d\x11\xd6\ +\xe9?i\xc6\xc39\x9b\xe3EJ\xf4\xa8\x5ce\xba\xc0\ +\x8d\xe9=C\xa5\xe0Pa\xdcy\x15\x8f.\xe8\xad0\ +\x11Rd\xc5\xf1B\x11H$\xbd\xe7MB\x1f'8\ +\xde$\xd6g\xd9\x1co\xf4K{\xa9\x95\x10\xe0\xf1\x89\ +\x1c\xe4\x9aG\x1f\x5c\x93\x8b\xb9[u\x02\x05\xdd\xf1\xb3\ +\xdcCe\x16\xc9{*-#\xae\xdf-]\xa2\x0fH\ +zZ\x8d8\xc7\x9f\xd4\x09\xb7\x98`\xe2\xaa\xe3\x15\x95\ +k\x1e\xb2^(\xe7fp\xae\x84(\x85\xdd*\xaa.\ +h\xffK\x8cp\x9bI\xf8\x94I\xb4\xcfB\x0fI\xf4\ +\xb0\x85\x1e\x96q[\xa3\xc49^\xf5\x88O\xa2\xcb\x91\ +\xa1\xb2\xb2\xf6\xb2r\xed\xeaI\x01\xfe\x90\xca\xa1_\x87\ +>\xb1\x1c\x9f\x0b\xc3>\xb2q\x88\x00E\x13\x8c\x81{\ +\xa4\xae\x8c\xa1\xe6\x1a0\xea9\xb7!cpen\xaf\ +\xc8r\x8b\x17\x80\xaa\xaah\x9a\x86eY\xf6to.\ +7Z^m^P.\xeb\x0d)\xb9\xe8\xa6\xe3,\xcb\ +b``\x80;\xef\xbc\x93;\xef\xbc\x93\xf1\xe3\xc7\x13\ +\x08\x04\x88\xc5b\x04\x83Av\xef\xde\xcd\xee\xdd\xbb\xd1\ +4-\xc5\x8bp\xfa\x9b\xed\xb3\xa1\x96K\xf43\x19A\ +n\xe5\xae\xf4]N\x7f\x13S\xe0\xb1X\xcc\x959\xdd\ +\xee{\xb2Ix%\xc3g?\xfbY~\xf9\xcb_R\ +\x96v&I\x22v\xb9\xf5\xd6[\xe9\xed\xed\xe5\xe9\xa7\ +\x9f\xe6\xe8\xd1\xa3\x19\x03O\xb4\x9d>[\x96>\xd8\xc1\ +\xbeg[n\xb0\xff\xdd\xbe[\x96\x95r\x88\xdb`\xfd\ +u\xeb\x97\xc7\xe3\xc1\xeb\xf5\xe2\xf7\xfb\xe9\xef\xef\xb7g\ +`\xb3\x91$\xe5R\xfa-q\x19\x86\xc1\x8f~\xf4#\ +^z\xe9%\x9b\x18\xe9\xcbE\x13\x10\x08\x04X\xb7n\ +\x1d_\xff\xfa\xd7]\x17\x06\xe4\xe7\xe7SWWG\xe2\ +\x07-\xaf\xc6 -]3\xdcz\xeb\xad\x8c\x1f?>\ ++5$\xa5DQ\x14\x0a\x0a\x0a\xc8\xcb\xcbs\x9d\xcb\ +\x1f\xb2\x97\x95\xa8\xf4\xfd\xef\x7f\x9fU\xabV\xd9\x1d\xaf\ +\xaf\xafg\xf5\xea\xd5l\xdd\xba\xd5.k\x18\x06?\xff\ +\xf9\xcfY\xb3f\x0d\x07\x0e\x1c\xe0\x8e;\xee\xe0\x9e{\ +\xeeq\x1c\xec\x8a\x15+\xf8\xcew\xbe\xc3M7\xdd4\ +\xea\x84P\x14\x85i\xd3\xa6\x0dZn\xee\xdc\xb9l\xd8\ +\xb0\x81\x87\x1ezh\xc8\xf6\xc1\xe7\xf3\xe1\xf3\xf9.\xcf\ +\xcb\xbax\x02\xb4\xb0\x7f l\xce\x9c9|\xef{\xdf\ +Ky\xd1\xb9s\xe7\xf0\xf9|L\x992\xc5\xae\xf7\xf4\ +\xd3O\xd3\xd8\xd8\xc8\xda\xb5k\x997/~2\xdc=\ +\xf7\xdc\xc3\xfe\xfd\xfbiiiI\xe9\xe4\xce\x9d;\x89\ +F\xa3\x1c;\ +(\x92\x1f~\xf8an\xb9\xe5\x16,\xcb\xc2\xe3\xf1\xb0\ +g\xcf\x1e\x1e}4uU{,\x16\xe3\xc1\x07\x1f\xe4\ +\xde{\xef\xb5U\xe8\xb2e\xcb\xa8\xaf\xaf\xe7\x87?\xfc\ +\xa1].\x12\x89\xb0q\xe3Fjjj\x88F\xa3\xfc\ +\xf8\xc7?f\xff\xfe\xfd\x19\xef\xd5u\x9d\xeb\xae\xbb\x8e\ +G\x1ey\x84\xda\xdaZ,\xcbBUU6l\xd8\xc0\ +\x1f\xff\xf8G\x9bX\xaa\xaa\xda\x8e\xc3eIHB\xc7\ +'W\x94R\xd2\xda\xdaJuu5;v\xec`\xfb\ +\xf6\xed\xdcw\xdf},^\xbc8s{\xc0\x85z\xb3\ +g\xc77\xc4tww\xb3j\xd5*\xf2\xf3\xf3\xe9\xec\ +\xect\xfd\xbd\xdd\xea\xeaj\x96,Y\xc2\xf2\xe5\xcby\ +\xf0\xc1\x07Y\xbe|9g\xce\x9c\xe1\xae\xbb\xee\xc2\xe3\ +\xf1\xb8z-k\xd7\xae\xe5\xb6\xdbnc\xe3\xc6\x8d|\ +\xe5+_a\xf3\xe6\xcd\xd4\xd5\xd5\xb1dI\xea\xd1\xb3\ +^\xaf\x97M\x9b6\xb1y\xf3f\x00\xd6\xad[\xc7\xd2\ +\xa5KY\xb7n]\x86\xa4=\xfc\xf0\xc3\xd4\xd7\xd7S\ +\x5c\x5c\xcc\xd9\xb3\xcek\x8bg\xcf\x9e\xcd\xf3\xcf?O\ +QQ\x11+V\xac\xa0\xb6\xb6\x96e\xcb\x96\xd9*.\ +\x81\x87K91\x97\xf4\xb2&L\x98\x90\xf1<\x18\x0c\ +\xd2\xd7\xd7\xc7\xc0\xc0\x00\x9b7of\xd9\xb2e\xdcu\ +\xd7]\x83\xfa\xd7%%%6\xd2JKKQU\x95\ +\x8f>\xfa\xc8\xb5\x83\x93&M\xa2\xa0\xa0\x80\xf5\xeb\xd7\ +\x13\x0e\x87\xf1z\xbd\xec\xde\xbd\x1b\x80\xb2\xb2\xb2\x0c\x82\ +\x18\x86\xc1\x82\x05\x0bX\xbcx1\x7f\xf8\xc3\x1f\xd8\xb2\ +e\x0b>\x9f\xcfV1EEE\x8e\x04\xac\xae\xae\x06\ +\xe0\xe4\xc9\x93\x83\xaa\xa2\xa9S\xa7b\x9a\xa6c9)\ +%?\xf8\xc1\x0fl\xf5\xdc\xd9\xd9Iaa!]]\ +]\x9c8q\x22\x15\xe1\x8a2t/+\xb9\xe0\xb8q\ +\xe32\x9e\x1f:t(\xbe\xd1\xb2\xae\x8eh4:\xe8\ +\x82\xec\x04$t\xb9i\x9a\xd4\xd6\xc6\xf7\x03\x1e\xd7\x17vtt\xd8\x03\xbc\xee\xba\xeb\xe8\ +\xea\xea\xc24\xcd\x0c\xc4&\x10\x0f\xa4\xa8\xb4\xd2\xd2R\ +\xc6\x8d\x1bGCC\x83c6!\xc1\x0cg\xce\x9ca\ +\xd7\xae]ttt\xd0\xd0\xd0@0\x18\xc4\xe3\xf1d\ +\x10CJ\xc9\xc4\x89\xf13\x82\xf7\xec\xd9\x93\xf1<\xb9\ +?\x8b\x16-\x02`\xf7\xee\xdd\x19\x041M\x93\x193\ +f\x00p\xe2\xc4\x89Kz\x81\xc9{\x1b/+R\xaf\ +\xaf\xafOi(\x12\x89\x10\x0e\x87\xed\xc1\xdct\xd3M\ +\x04\x02\x01\xdey\xe7\x1d\x0c\xc3p\xdc\xbb\x97 bB\ +\xff\xe7\xe7\xe7\xd3\xda\xda\xea\x8a\x80\xf9\xf3\xe7\x03\xa4\xa8\ +\x91\xc9\x93'\xdb\x08\x1fl\xa0G\x8e\x1c\xe1\xb5\xd7^\ +\xe3\xbd\xf7\xde#\x1c\x0e;r}\xfa{\xf6\xec\xd9\xe3\ +j\xcb\x0c\xc3\xb0\x1d\x9b\xa6\xa6\xa6\x8crB\x08\xa2\xd1\ +\xa8\xad6]O\xbeKK\xcd\xb8\xd9[\xe5R\xe9\xf7\ +}\xfb\xf6q\xe4\xc8\x11\xfb^\xc2\xddM6\xf6\xabV\ +\xad\x22\x18\x0c\xf2\xfb\xdf\xff\xde\xb1\xad\xd3\xa7O\xd3\xd4\ +\xd4d\x1bk7\xc9K\xc0\x9c9sl\x82%\xde\x9b\ +\x08@\xdd\x08r\xfe\xfcy[\x05y\xbd^T5~\ +\xbaPyy9\x85\x85\x85\x99\x87\xd6\x98&s\xe7\xce\ +MA\xb4\xdb\x8f4/X\xb0\x80\xd6\xd6V\xc7\xd5\xfc\ +\xaa\xaa\xda\xc1\xed\x97\xbe\xf4%;o\xa5i\x1a\xaa\xaa\ +\xa6HD\xe2\xd9`F\xfd\x923\x86~\xbf\x9f\xef~\ +\xf7\xbbl\xdd\xba\x15UU9u\xea\x14\x91H\x84\x8a\ +\x8a\x0a\xbb\xc3\xb5\xb5\xb5L\x9f>\x9d\xad[\xb7\xb2d\ +\xc9\x12*++St\xf0\x13ON\x9f\ +>\xed\x1a\xf7\xbc\xf1\xc6\x1b|\xe3\x1b\xdf`\xcd\x9a5\ +\xcc\x981\x83H$\xc2\xc2\x85\x0bY\xbf~=\xbbv\ +\xed\xb2\xddt]\xd7m\x95\xe6F\x10\x15\xb8A\xd3\xb4\ +\xea\xbc\xbc\xbc\xdaDG\xa7M\x9b\xc6\xc0\xc0\x00==\ +\xf1\xdf\xb1\x0d\x87\xc3tvvRWWGii)\ +_\xf8\xc2\x17\x985k\x96\x9db\x07X\xb8p!u\ +uu\x04\x02\x01;o#\xa5\xe4\xf9\xe7\x9f\xa7\xb1\xb1\ +\xd1.WTTD__\x1f\xf5\xf5\xf5\xf4\xf6\xf6f\ +t(\x10\x08 \xa5\xa4\xbe\xbe>\x05\xf9\xa5\xa5\xa5t\ +tt\xf0\xee\xbb\xef\xda*\x22\x9dS\x0f\x1d:\xc4\xbe\ +}\xfb(++#\x10\x08\xd0\xd0\xd0\xc0c\x8f=F\ +___f\x00\xa6(466\xd2\xd7\xd7GUU\ +\x15g\xcf\x9ee\xfb\xf6\xed\x0c\x0c\x0c\xa4\x94M\xb8\xcb\ +;v\xec\xa0\xa5\xa5\xc5\xd5\xf9y\xe5\x95W\x08\x87\xc3\ +L\x980\x81h4\xca\xaf~\xf5+\xf6\xee\xddkK\ +\x89\xae\xeb)R\xaai\x1a\xa5\xa5\xa5\x04\x83A\xba\xbb\ +\xbb/\xb6\x05<\xe8\xf7\xfb\xbfP\x5c\x5c\xbc2A\xf1\ +/~\xf1\x8b\x04\x83\xc1\x14\x9f\xdb0\x0c\xee\xbe\xfbn\ +\xd6\xaf_\x9fu\xd2\xee7\xbf\xf9\x0d;v\xec\xb0;\ +%\xa5\xc40\x0cL\xd3LQ\x11\xc9il\xd34m\ +NJ\xae\xa7\xeb\xba\x1dy;\xa5\xc7\x93\xf7D&r\ +FB\x08\x9b\xdb\xdd\xd2\xed\xb1X\xcc\xb6}\x89TM\ +r\xfb\x96e\x11\x8b\xc5R\xfa\xe3\x96~\x8f\xc5b)\ +\xefM\xd8\x1b]\xd7m\x07&9\xdb]SS\xc3\xf1\ +\xe3\xc7S\xd21\x9elS\xd2\x1e\x8f\x87W_}\x95\ +\xfa\xfaz6n\xdc\xc8\xf4\xe9\xd3\x1d\x0d\xa1eY\xb4\ +\xb6\xb6\xf2\xe4\x93O\xd2\xd9\xd9\x99Q&\x91>p\xdd\ +\xb0\xa2(x\xbd\x99\x07\x95\xa5#\xd65\xd2M\xaa\x9f\ +\xcd\xc9x\x9a\xa6\xa5D\xfeN\x99\x06\x9f\xcf\x97\xd5\xae\ +\xe2d\x977y\xa2j('\xf4\x0di\xc6P\x08\xc1\ +\xd9\xb3g\xf9\xf2\x97\xbfLmm-\xb5\xb5\xb5L\x9a\ +4\x89\x8a\x8a\x0aB\xa1\x10\xed\xed\xed\x1c;v\x8cc\ +\xc7\x8e9\xba\x99\x83\xcd\xd49\xfd\xbd\xd4\x0c\xa3[\xbb\ +C\xbd\x7f\xb9\xe5.5\xbb\xe84Wt\xd9\x04qk\ +(\xc1\xe1\xcd\xcd\xcd\xb6\xe7\x94\xf33\xb6>\x01\x0b\x18\ +.\x85\x8f!M\xe1f\xbb.k\x8c\x00WN\xb8!\ +g{\xc7`x\xa5h\xc8q\xc8\x18\x8c,Q\xc6$\ +dLB\xc6`LB\xae!O\xccUB\xc6\x8d\x1b\ +\xc7\xacY\xb3\xc607L\x90\x989tTY\xe9\x01\ +\x8fS\xaeh\x0cr\x0b\x96e\x11\x8dF3\x16\x12z\ +\x00K\x88\x8b\xfbd\x0d\xc3`\xdb\xb6mc\x18\x1b\xa5\ +X\xc4\x03\xe8@,]\x9c\xc6`\x94T\x19\x10\x16B\ +\x0c\x8cyT\xa3\x0fR\xc6w\x16/\x05&j\x9aV\ +!\xa5\xf4p-\xee%\xbev\xc0\x14B\xc4\x80^E\ +Q:TU=\xa7iZP\xd3\xb4\x88\xc7\xe31\x00\ +\xf9\xff\x01\xfa\x90K\xa0\xc0O~5\x00\x00\x00\x00I\ +END\xaeB`\x82\ +\x00\x00\x03|\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00d\x00\x00\x00d\x08\x06\x00\x00\x00p\xe2\x95T\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\ +\x00\x00\x09pHYs\x00\x00\x0e\xc4\x00\x00\x0e\xc4\x01\ +\x95+\x0e\x1b\x00\x00\x00\x07tIME\x07\xd9\x03\x03\ +\x0e\x1c\x0e\xa7\xa1o)\x00\x00\x02\xfcIDATx\ +\xda\xed\xd6\xbfo\x1cE\x18\xc6\xf1\xef\xcc\xed\xda\xb1\x0f\ +\x9b\x93\x85\x90-\xb08\x12\x09wn\xac\x14n\x10\xe0\ +\x8b\x90K7\x14\xc8\x7f\x03\xfc\x01T'QB\x81(\ +\xdd\xd0\x906m0\x8ep*DD\x94 \x17\xc8\x0e\ +\x06d\x90\xec\xe4\x02\xde\xf3\xde\x9e\xf7\xd7\xecP\x1c9\ +\x892R\xaeX\xf1|\xa4\xedv\xa4\x9d}\xe7y\xdf\ +\x01\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\ +\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\ +\x11y1L\x9d>vqq\xf1\x13cL\xf8\x9c\xcb\ +\xa6\x80\xcfNOO\xffVA^\xb0\xf5\xf5u\xdfn\ +\xb7\xf1\xdeSQQ\xbe\xf9\x94\x97\xaeLS>\x99\xc6\ +\x9d\xcd\x8c^\xb2`\xac\x1f\xef,\x8ec\xf6\xf6\xf6V\ +\xb2,;\xaa\xc3\x1e\x83\xbaE:MS\x0cp?\xff\ +\x85\xce\xf5\x19\x1a\xe1\x05\x99\xbb\xa4\x19^\x81$\xa0<\ +\x9f\x22\xfbu\x86\xe1\xe1,\x00eYb\x8c\xf1u\xd9\ +\x9f\xadS1\xaa\xaa\x22\xcfs\xf2\xbc\xc0Sa\x8d\xe1\ +\xaay\x9f\xcf;wx\xe7\xf5\x0f\x98\xe7\x1a\x8bW[\ +\xd8W2\x8a\xa2\xa0(\x0a\x9cs\xb5:p\xb5J\x88\ +s\x8e<\xcf\xc1\x8f&\xc3`\x90\xf2\xe1{\x1f\xf3\xd1\ +\xad\x1b|\xbd\xfd\x90w_;\xe3$}\xc0\x17\xf7?\ +%\xcfs\xbc\xf7\xcf\x12\xa2\x82L\x82\xf7\x9e,\xcb0\ +\x18\x98\x82\xe1\xc01\xd7l\x92W)\x00\x87\x7f\x1e\xf2\ +cr\x0b\xe3-Y\x96\x8dS\xa5\x82L\xb8e\x19\x00\ +\x0fs\xf3S\x0c\x86C\xa6\x1b\xa3yQ\xe1)]\x81\ +\xf7\x8c\x92\xf4\xec\xe6R\xa3\x82\xd8:&$\xcbr*\ +\x1d\xa0n3\xa4\xddn\ +srr\xc2\xe6\xe6&Q\x14\xb1\xb4\xb4\xc4\xda\xda\x1a\ +\xdb\xdb\xdbx\xefi\xb5Z\xac\xac\xac\xd0\xe9t(\xcb\ +\x920\x0ck\x95\x90Z5\xd9\xd5\xd5U\xbf\xbc\xbc\xcc\ +\xd6\xd6\x16\xbb\xbb\xbb\xa3\x01o\xed\xf8\xc7GQD\x18\ +\x86x\xefI\xd3\x14\xe7\x1c\xce9\x8e\x8e\x8e\xde\x1a\x0c\ +\x06\x8f\xd4\xb2&\xa0\xdf\xef\xb3\xb3\xb33\x9e\x13\xff9\ +]\xc6P\x14\xc5hcA@\x10\x04\x14E\xa1k\xef\ +\xa4\x1c\x1f\x1f?\x04\xca\xe7Y\x13\x86\xe1L\xb3\xd9L\ +\xe38FDDDDDDDDDDDDD\ +DDDDDDDDDDDDDDDD\ +DDD\xfeO\xfe\x01\xd1\xc0Q%\xbd%\x7f`\x00\ +\x00\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x0a\ +\x0bSG\xc7\ +\x00r\ +\x00a\x00n\x00d\x00o\x00m\x00.\x00p\x00n\x00g\ +\x00\x0b\ +\x08R\xaa\xc7\ +\x00f\ +\x00i\x00g\x00u\x00r\x00e\x008\x00.\x00p\x00n\x00g\ +\x00\x14\ +\x00\x22\x00G\ +\x00T\ +\x00i\x00m\x00e\x00-\x00F\x00o\x00r\x00-\x00L\x00u\x00n\x00c\x00h\x00-\x002\x00.\ +\x00j\x00p\x00g\ +\x00\x0b\ +\x07P1G\ +\x00e\ +\x00l\x00l\x00i\x00p\x00s\x00e\x00.\x00p\x00n\x00g\ +\x00\x08\ +\x00(X'\ +\x00t\ +\x00i\x00l\x00e\x00.\x00p\x00n\x00g\ +\x00\x0b\ +\x0a\x12^\xc7\ +\x00k\ +\x00i\x00n\x00e\x00t\x00i\x00c\x00.\x00p\x00n\x00g\ +\x00\x0c\ +\x05\x8f\xe2\xc7\ +\x00c\ +\x00e\x00n\x00t\x00e\x00r\x00e\x00d\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00H\x00\x00\x00\x00\x00\x01\x00\x00qc\ +\x00\x00\x01z\xe7\xee'\x01\ +\x00\x00\x00\x92\x00\x00\x00\x00\x00\x01\x00\x01\x1aQ\ +\x00\x00\x01z\xe7\xee'\x01\ +\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x01\x00\x01t\xa2\ +\x00\x00\x01z\xe7\xee'\x01\ +\x00\x00\x00v\x00\x00\x00\x00\x00\x01\x00\x00\xf0>\ +\x00\x00\x01z\xe7\xee'\x01\ +\x00\x00\x00,\x00\x00\x00\x00\x00\x01\x00\x00:}\ +\x00\x00\x01z\xe7\xee'\x01\ +\x00\x00\x00\xa8\x00\x00\x00\x00\x00\x01\x00\x01Z&\ +\x00\x00\x01z\xe7\xee'\x01\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01z\xe7\xee'\x01\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/widgets/animation/animatedtiles/doc/animatedtiles.png b/examples/widgets/animation/animatedtiles/doc/animatedtiles.png new file mode 100644 index 0000000000000000000000000000000000000000..95a05fb06cd813d2760ffc3af6dd98a0fe123294 GIT binary patch literal 299266 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

    RBMv)`%EOrRuW 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≀6lqnUt5z@f=u-)x=xh6tcFM0b@#%>=&T%y!1Y!kN_e?Jee zk6WREe4IdlM!_nq;j!2*z}NRY`&1{_$*T^L0K;EHM1ie&*TZ9qvVA zIP0cQ7uWJ-R;AT-%qZ+S?oZM>e$qYRVzN8VP>B#Z8-uc<;1PXa+khJ@H|V)hOYVS# zerqYk84tge*7HUUiCGzE4iOpxh9J=~nM!LhX1os7KlLOnDP1CMj+{H(Tt=YZ5jrB+ zDDH;kpsi3d3yM)WQC?Wv5WOx>;qGiEZY>x6oVkC5L%0|gk1^&tOtUJY@^8Tz=I?ol7H+Y zw;1|f^_J}{XH3Vl?Sc~`HR@3=!gS`T3#oLOa+vrLx?k>0RlYepqs4{!e737A*DxIR zmQO-ne56pd$OuC$PoHb)|08i23fL-gEs_x;^4@b?eXX;3((wO&~c?r-npd3U;Xj;u8=(cpp#aX3)I@{-O_H zhG6MVSZmdAqRv3MVp7Ooegxv;GHY^bfk&xqP@NN5ir&ODa{gbA3;RP)sK%|I=zboY zm~!J)qgY+GNSv?u1ujvfq({j8`QW_Dusl1IVD%Lecjy_Ii6g(^QM>@#Jn!2BS(Qu3 zCX}QzN4=M^AcEJxnfJE@u3}t19ETwjX4ygYVsW!KOjSwwq)XF;H3`m&p52|%IHM+A zvRrgC^%qoLPoaX?7fhYg6Kz&)o(wsgB${6ifNc*^kpG_=Q>JpMt4vxw%-=p~xaN=} zoPj&}Pgg@L0+fZ|OwVw$sOC0xGpm~R5SaAHxROsCOS1Maj{89_40zb~d$ZK)2~90s z{JI}2X}5f`1mldcV6>SJ6IvMS5jqs|5?X#}k=7B-jqr|3Wh`Q+VY!*c55^5%V-6s4 z1cF!sGfb9;ECF^@`zq9lIN|23m=)g&qe{QcbRk2<#r!b^ zIDj1pgk65Mz`EqWEM-3f6gc)6N9Ig@$w2k|xeC2U4@qg~(3MULoVOQrWh#8P7B71G zQMHyyZuFH$MbdK2c8noe+PG813TgU+1Y;d`Bd&wPc^P}MwCUNI-)BT-x=1D>BI4zG z%Xw9Gt9wn>$b60+>6jI`FakSdLGHD6T>IGV#DiGKpB$4~7_XyZWb0 zR|H_7w4ZLnnPoH@JXsfr2iy9PYnPtq_ z1o{#MBX8BE^|FTdaM4*J;kvYiy0j~lPz+wsQi$PIn%d=BehBh6d>U?oU1c}Azwe+J z)GE!j7S&%5BFFq!YT7mJPkqgv-PuxE8{ImQfAY58K_%v4bMD1b#*&7vUAX&kDS44J z_9UN{zZntrUPWEjANmi-ap!jV0O7hqPj zqBY!67(V}NjmSt%!RcACpCI1mhY7pgBk}_r6wWyx4NMRc{DVjY8XJ1llFX+oZc0oG zVT;iGLy^!x|7zHuh+pUW3dF2io)lgn4UvlTCeEv-8TaG5Jgfs@(YI=J;E){uoXb#U=bqIxYREpD#3ZIB(NDawgNTW z{6QBMXRJ;?uAH20(^`o2G}3`#tniB4&b^m_pg&)J6gEZlzvn_V9{<;S z0IfwlynoZt(UD`0F!fk_fBl(yF8qA4ON^feif@#|LiL!Pc>~V8b*Jm9(uB}S$ri|` zOOsCC%=Ztyg_HoH%+A?msvOGEJNbqfzJA)>~%U^`&%jGeV?j07 z?E@7xBP#|VbPVhFx2#?VNr$#vW7043YLcBC#0Hq(bw@))>yESuvd2i~#OvkWHDR&p@Lx{!L zW4Gs_EjLu6m9FZB?V~6LPDzNvNl*p6lHmJBRB&lDUc?s#YcI7*T_IJy4^zLvC9wc= zJySZtoczUGl0z|%L=rxo-HfoXu&1tLLFcG&A|IG$T_r9BquZs1d?e-j14~!#E%$vz z?!WF=f7{v1m7zVzQ532-7Ee!Ynz>#UP`8~$7dY=$pY5(sUoXZE)Xj$H{794KC_Mxd z?#?$oBZe!R*VUn=@%V1UTB@=)QW-B92}x$Jd7qhwo)@RiMA3*BwKOvi8K>!ACc0U| zriV*v*&>xk-Bd+xC%pv18@ZK@oU3GYpdE&V#yT`Gtl+egst^6%qmAj*>B7ggC21cA z`j=O$&Wd>cYthE{+xa36Hfs-e%AkZY$wNF^Z}T+*yQ zpvQoF{^*hPBn~+4l1uVwPqXKolc z8gdnW1)h`_dfZd$^jleJ=^^k&W7B@G>$)8W*3DAV(w!Y0A~HgNR*$6`;Gz-|6ZZm_ z3Rn@;n4?FjeiTM^p8LR%3T~tcXhl-5sW-mgj+?qhM#7w&kiwvs0cVSqM@L6qIS_0+ zgMfP~*i|_gZt*rN1HJt2$Jh1PR|8qsqu=(JIx`p^>F$w6fl4ovJ;k|{5-N9-3^-X) zrIHo(a;sz3cuYy7OHg{5iKbEY7&#rWg&Uh~iI3M7BhO1U5Zg8-nhj z%?%@+9GvWya*!6snP|<@0cJiudfI18)mr_9*YI*nMvx@r+{|COnn{dQL6->{ia-5q zl0$GY33D&0no1@GN0uf;?!3lYI_eo`CX4=@_szFTIgm7 z{hwajXFO2mHZwE(4?NY2XPg7*%=}qykprK_-~Wp;ffGNAC@aqZLYHCUwZ+AI06vZK zcn46OHIQNl6dVB`-%+*`)S#)k`A;L06WrJT>?&7RS5AR%8zF(j@*}>g^mPgj#LKst&@CY(nBP&P%ralT zb+Zd6$_Tt1B$J#d$8NaOWli18mPnR+N&^;o+mVVk7zC^Tvd6e!zNu*BH2btF+{?2HcosiG!#D$M!=+y z4ip+(4wDCYmGcPIBn>K6!E2i$*(==(KeV$XL1Sx8 zmCw75tZN?jqQwB9belD?b$RW{@guV;i-+_4I72YsYUoyu>m}TG-EA=_9|GfQPD4d$ zmH@zOr)TG7T9yoeX`jPVH~lJpO$ zbYn(|m3Ig#(hjSEb%?ZuQ5xt5(d1_zvu-|JSaYrU%?~+Ps`*3)KTCrSx{|9girUDW zG*KHc8}pA5^2)6cQ9@mekBqT|o{LQ8O9eTPWQ+4aHrW&B5oOO*0S zS5D+ls?6H8rWeS4X;&(PP+j-gic()S1$>@DQ z=?!o(Zgl+4?2LT?UKU1^=~;tn5h<>(*hrU5(qI~OlUb!#jf7I{3X-UeZ(kSc z1kYTFDuG(EQ>9Al;QS9v5R7xm_#M#j=zTSW_W{`Bi2Z#4&)nqXWS|se7Rg3_6Lez` zvb{}vw$}(w@AY_w)grWgB-j21)2m?CJcwlcScPiHfZR<#Lzrm-_DTy2>Z829=nb}a z;r=6FGw=O+OJW*X5I&qN7U7eMvT|@=2qB#Cp!;?cUs*PftSZqBL6og>`rm_w2jRPm zuMtR%R@VGoOqdGIw%-P+AY$?2!s~fm=#zSjm#ki)d~IQ><>$10(PEqnpzp=iK}-gs z;qteCzc$#8b;Kvp4aTU2s)uzdgrTw$8?fEWyQ`BY+OAN3Zqpo+Goebe;;>Sq4WZEW zOh(0Rls96d^VDfXj}mGCC;`%JC?@9O*Je=ySXjc%e1@;t`( zSC#i&mAZ+~Swc$#x|{G9roI26TLs-u({;Xw1dI5;@?MmC?k37iGXP{OD84WEDXqNG)?SnVTB<6Q5-%WbE zEfaYgQ}K5O>bhBb9Yf&INX^>{f-Uq)77Mh)@bP*ghGt#%Dph`VnxOCQ7=arKn-oOo zoBNTV;rT7p*fq)OLa51GBHy4?=t4*iFK1my8tFSGlL&5!4kTD(?M>e`u^nG4?of$Cx+ zBNgE%s^O5XEJ#!kr{nFR8m`E7p{A=LfTZp|B>M+PKtS*`%+u4CH*qHcaJ|eC&;0Qy z?8gF!x`+*8u=W&oUG*vBo9obp^Y%cZF^$G7fzI9L-Kc4v=@tFFQIf%r8lNz5J<2z( zAUa53VtT3E#Lw4;?0In2{Q{cCw;ln#}WkvPh@4`zmE?`m44KcbY=kUCRD= zv(l=O@ZIwi&PC33H+!mx1ZjkQptlyN-`mZDU8F=8Qc6{f92z7hlyDa5MvHhfnmd`A zqSN&djV9=JITP`*?KLs3AI;@XDdfncMTgFFK=#^47HD`2*u1gLX~3B}#(p@`hlhs{ z6J_J(s6F`VG_b{rLeR(RQ~`4J7htaB#Wm_=HZP&W9o1nTZjZ#jFHzLwl+1%YIiAKw z>OEfnn0$vyW7zGC4g)oY-S&t5(;KXH!;c@1N)s7(`^c3`*_$Lo9n-)5D8RCyKqd23 z0Ea*(Xr%dF(rKy=3(tCI-%0K9KqSK_dE9Y`#A8`<$Zx=7Du02k=x0ay&50}u6-b@l zCf1LTM+hI*&w7<<&sUsSJ%>d?-LOf<%9Io&4lE4w%l;gvzotO5&SQSJ#e>O^1An^I zX5{KvKhMf_Ro_8qAbxQLpsv6V;~|sF&cGHw9LD7%3s8yY=CD6-`sr&`2MU)9p$w!j z7_Nu6u5c1)I?}q}Oy0i0^o=uc=$Tj>2@=IgFZUf@W%4|B|3r)lljck#jWTv!owiW7 zoWOW2H>Et5BD3Z5&NXD+N*^-^69WJUBWp0!y_=n#ov|@ltO@6VzP8N8+EaaQ;=lFJ z>ng-gHrK3CT+>rimTz?`AtSVTzYk`k1|>HWgQ9xOg)K@ojs_K-EiGv@MPVhv;{|MGi%|^Y6ut|vs)FPr@bxRfKtYU;yQB&4Q-*ywd`hboNILPrh zFRleD-sh9ZTJD=-e>w1UzXkY>p&P8PTvs`>YWhIqQ=3(?1NygpH zt#7)_vb5xG+0MSB-selT#q+*#`+ms5g-?x#s2q)Y{?~=(X65c&`CGe)aN}dHk>@Vku0}*$KxRLmu zjE$NGH7RCh=lJ=#W;PbC=4<`koSm;r(v0|B_K|f}fj&}bBzece)zR;wf7cNURN>Lp zxmt%u1561|zGA3$M1I3%c&fs9$xM|Yiq9~rp&fleFd#JDD2s*kmad+R=K8bPqgsoQ zr4`ExAFS6PGrWdq`VPDC!^4Zi#PZ~XkgdAkJK=_Ni+LvgujVk@M7B863b&EYtO5Jy zEkWEsM|xRtguSNMmiWYK=Xgjlv@C%|A@A01B#!MXd=w{3W4a6^joIfxoQ1!CU5@AI zO}C$F(ypt-F)YK-oH!sFq-STH%k9J(ci+x1T}YU8Pgo2;-aW>12kV1R&=(S;dz*?tK|j@g-1SORCIWA) z@57nrWA|YCS#9PfKDFMdMZ;cGljG_Vgs8=$cK@XA4dCB>Icv>3Jf#PcwV4?Utnv^t(a_}q((*5{H*4YVHOj)p3Ce~($k`twrRJ0%P8o?=+i zc9yP~s-u@q)Hcc}LciizpT2RW12GkW-@rB~9?8Ynq%@>q@S9zNLuCKK5Q?=OMwt}N zrxRy(Pg{wBw4`=gG~}K@5`-rAC3KT!`^?%pxD;|vUhY;qh9|vEEU0-wY6+nDrsqH2!cuAMK&o&9vyXhG!p-A z?QF}L_B)r?35o?_mw}iy7vIjtTK=%{tiC4ur!4K?u%6b*(}+h zkhJ6S=kUbt*EVpi!modOVFXs+zA=%;e`p3ouS*&>2~yZl0b!UBK&aRrT(g@kU>I10_ZlHz4|xu z^710aTKEa@-UP);kz*o;ao4P+3-HVb3=8_c$NA1C_+c7A$j=QAOZOg67^l39U%X94 z^?l9jxfkj2e6P>jcquAKLt=&6LK~C@uIuPzOL_3x5`I7Lq;(T^Yo$;BMLoi9ZU|$< zntEZpdd7Z>vMMpRPiGJV1qcM@Z!Mh3%hAI3Kgl7#x8ii8-rB0d2@nu-Q->|?Z6SVm z$}!lUAh}^hM7i+g7XOjBYScczr^JB39Zlt%<{ogE2^d-sgF%?+{N)H)5E1=kDgTUT z`^D&yTLKNA4-qzm_r^qJ%Q8@9_UQIHOd0oJyH}EdX@hiJtK6-Am>Or{%4oW9aXXm( zyVyfW?(lnR`9=bqh0$7IK&Q65#k0mp?=OP(dLEZgrItsTQAg9P`v6undW4MEaSJG? z$@eOPv@mxTXB`U84U;Osxiy%&)DsqEeb@{T$tHAX`}X~Zu>mIvrGp5NGr3r9Jb0}C z7lBH);_rqP2n&G)kR(6m>O}6up~e*LKzNW5&%(c?w-$J^NjaeEG>WtZo)$+FWb?-c@`X?UApZoGo3Ru^@jkN4$qDKu0-lEh&k8ZE}^As|JSGH8UYoP1{3;`F!Q}E|tHAddA;#Eb3KDmJ=ktwSx%oZf7pzDfN9evIJjG5M z-83ih6r+gWSv&!IjK<6DF0_U7fJ%AtAF$Ym+4t?Lup2dIK~X{F{a4gOXNy$Igqpi2 zJufSBU!Ahj@Rj9?wtvtJnlvAO6Pv~_^U`9~N}0KpW;>COr)d=>C866t68TCR71+MK ze0&JwKnEah73&{yBxtDOgHYqcXy}i;gWhYn*0(1W)Q_(kej41#3S~&87B!nK!{ZoZ zT|g2M*qhoJ{PHSzhRe_n%F4HeVZWhj0yZ?GC8*4u^>(=}2BzBIf2v?V^5qqADuq!ULc zMkd=5gD{1p#e$X;jENa9^9?5xiC@OOq(}RrJghtSh;3qyvc~WC4j*Zltgfn zB?%HCx6mftvkCIFhq3$6|8tlFRecNWqM|2rD^1F|yz_rl(GE=~e*6mCm(+-$JS^m5 zB%s&Jx|V9jvC~#Ic`PdEfs_UjeO>Qx13FPP_|_nJen=%r-i)bReQ5+!lWEfb_Yq7C zAPD*O_$x+Oj4t_f?>BUYf6g1TgOtGQgl#5Ln zDURlz$}!ys^Y2pmZi9+cqEga#61XdVYA8jw2F8GG$`ea?f~qw-sy=YU5O zB)PDs$o?|?@$(6|5Ve*tN=Ii)E)oYrAy8ynhp}Maa)_ASCG~pOqYs^lzfE^d-@=RN8u%r2iRE63z!`oyF4Sun2)3Va2pBC*D38UofIl@aR@hbIrn=!YT zB{pJKZi)w4OF;0mTf!lZ>Wwv`7sx;qgoLKWkg-vPrHLm2ZcD#WOhC;=!sXH>nU8AIyrff zq#o7xXq8v6I5~)={G05=6MY8Z%Jc~I$?@0365;oc9$dqem_!aoX#3p>@4=D7|C_16 zAyXXootev5#h)VhYiqiO77}psWfKb06Yzco(mV2_M*%lNVtjmFkMlK?5A?`a17?<} z*}*~RhV`$}WaUC_q>l=(=>8L%#OddrdetA7vhPp1p8e>)iZlYa%!y&5kUSC*XSoU}WVMPx*D)P*rz1^@9!-p>j|gKmU}UsjgFtc|(Dc#x)`4rA?JexD4mR zL+s<_DOmbhVH`w`0QMVgvS5Ee2(K<@8KgUpl?p^ZTl;?fw+|I7nnOd@Lm9b@kBfon zv_G=m@SfRt0gAT2L0{7R)u53MBM(C(nSY>l1j%RgI{38b<@_u0&kYpDV1{5R|;bE3sjeCRfnQu144;SNGNM!KmN z@7w&wT=m4I_HefDJJh@PQAR~Krds;D)!*fX`2(mV=sI`>R}{RA{S5%*ZU{(ZRMdVn zjEeu1oy*)?wo-MBmLE(QaKenZVGqLd9y^Z+-%3k}`T=qq5s~nhN7D4(u`BWYYFvbI zm@&Ftrd~46Cj4s|^>!P6cqi`Z(jBwWpV$;2M@d|Ut%Bucy#-YIEggZCOwamhbAOBf zZN)eQ$J&D66khtD1rshQ%pKmgZQ1DMJu`YxF7|N7no%D(Dw;z?^Dd}p%wbr~R2$d; z14A9-SU#xgjy^JXzZ^EQHdqvHr?6n0$VEvnO+`9Yj~RaeE(mCNR^(|Gu$-YG<*VF3 zD~S~vVZ~ayKx+7rW90A91-merEJo#fKWaXi8tk!=sHag!Flu4Q$g79Z!ZoQM^huGi zqGRb9OdF((+OrYPMQCvhcfVxuXKViO@xMaOz0qAp^Gar^3nNLLo1NPcajZRDPG_Z` z%d1CP1M+beI~nEsT*AUX)}5SOW>5z*yc96E3_?wG*cHVJzrP}b-lsVi77W>v1U+0% z9At=AU*M+A2MHsrtVE_x6j)2vPglNe)HpSSmtiqNYd2T+9Vg;G^%%+4COuJ|)6C zUC6Q*B+@X$W&B$Y9m8C5=on^RbX7k*vCTg27xf|xHlOtp-zsod+ z-gwsBxbP!j{^`?RSSN^V#aD+HqvRa5-YD-)!t5P3r5@$Ur#tsTWD7A ze`!Bjnwx=6ZvnB92yqHl3itE1|Jq&21l+61iPZQWRbJj7T^3H5kHotIxHb!kW! zk$+?J!%8Q=G-NPUyrZv4i}-K=PS8bN^(OA`x?>=y;c(8{U8|Wh+rgfRD{$~9W}c9T zV6Q1EhqB*Ehe7jA2RB|jOk>B$E_K>6OU|P>QFTZXid|fiIKoLD;(iR1aeWk&cBuT9 z>wH(K=285n);e+vt8H|%t9!=U?W19&k>C*=;iDOVACn$b+6@;s-H>0EV}ty zqD7#oD7OXE*oVY?akCu3(CZQwWWEk-whWz+0>M+ra7N4zGrc-hMG#c2DjoVIT&g{D z@0l^H$bX#`=RGg>-)y79RAP;XhL*gy|7|K*k(AFv>GD%sd`~e`8phb5%;B&b8d0s1 z`m*O27aI$l{CT*!%^2|66|@}%zb(~4YCg`*{iH`)ZW75lRG~sqNMl+*RU+*wJo?eJ zB9JRmOGF4pa(yp)AVmlJY~18t)n7HnXHyUPKlyf7Mx!|KLSVn{|ITvgJmcmp3Mt4J z{`K(QkRMMk^4Nz4!C3c0JO4D1JKD1Z=980pw<*3*$#bDtGe0%A^fSF>m%c-p9Ma z=F;V(+N{1pk^-&2**eV>=4djC-D-(?VH@F?3O|wN=lcxfAS;8dk0Y(3QhAA)0so$tL&SY&ZJgGOVba@nf*no`7 zI#YKs7PGSw-ew5ctz4Y0_{giw0WM2B#E!D??>Cu0&t?S)GL?usB#;TF)1`xjnCZOo zzSJ&t5`|*~b*hs)+?)1QGg&?0SLoR6m?(-=ftnHBYr?dx;gV$=cr1#%u8&Kjhn^0b3pQ_#TyWHOne4ffo_;(pepeF?FHzrdK`gsyaNs!mw*1C z>mols;piCD1E~ohSc*7^51k_ldsF*qHw-KNU8o#UnoWUoH zHSQ&Gsd6c_7(&YU5;QHW+JPaiE4#gDJlhr49rY6-wd5(Q{@Lh20EPeC{TVY`^9hjv z?NGnAs_IL#_k8<@P~l#)B6}?kCpE1S_EZo1Q!>~7%G-$Xu@85$>@I#8#VgDc#5Ek% zHc+MsX9gV#;rsZX9u6(w`^bvC^yd!*K9u{j!`p(x@5!mt0GAJc3lVr|UQB6GnDAo) zstus~2#WF~sw`KQILZzt$r2y7@t4GibJVAJ)PtLb%DFIcy`KXcs~PF(CPvV0;NK@Y zg(&@Y%=gv|3hyvcet6xSn}i8ywrzDtf3-K-dXXS6F?_?nZV`%t5euX6h8OTjk^fG8 zB*Uos{*I<_83PZ*Wju+XD)`wi_=M6oG7h=6!j}{4vrc#Dj^!JO)<(KB0PvdTHuAT_PZUAF3HYWE@(NCoM0fD_m$ZfwCNfx{x{>%S#iLFl1 za~&dJySQ!|ctgAMPK+hfl6fCe)NvT-L)RcO9|0;bAwGU!h)#{c7(*~{I0JTRFsik^ zy`?qI=6{0TGhn4@w_9XRmu~9>#%K05RWU0TIx9!|upEV0kGb(mBVqY}F;xb3=iu_F z39F}m2?hGFy?`%%Dd@6jOYuN)B6-7~D+v7V;D3-)|7*Dn6-DzC0@%yne|^vJEPOEa z+rNF1ft`+wrXGjlP`qlb`)(QnwB4fZB4?xeMUdAjXY+1z)qctRV&W09v|ML8@ZWh5 zh%=`_TaE$fE#P(50;uKN0MFp;@KAJQ81TqMd+;J7V?s~@p(7+;)c)ey+W5tVQ)W@7 zuc@H70^q4n(>c{)d15=Mk*}YQAA6yYzt+4i4~F42@J`jitzlF1Gsz@x$CTruPM*#H zgQ0~zf~xrYcE`n;Ssa@b6^)AwBP{upN`G40IXp6`(9q$dYQRd%{Y5O*3bfNH7a*M> zYbO{}#}V24&ZO$cbd@}X*J=_AJ%D~1ZlRa+wdCi)kAg*66vr8CMSduCL&9JthTD1q zc6xB#iQH>Xeknod*7zTKv(znTbe_QeumH*oXltgr@a?DQdmUKrW^t296%wLQO1e+U zFec#;G&|*v{Amf?1cO%g*5USGw^@E2=dw!5C(U*fJsAB{$>B*1*F7CjxGk=0oRsd; z0N68~@edGe&E?3Z9V-{5f{7$OhdI60Wg2Gb<9{}rxa!<|I|r=d)5KCQ4;R2&Xz?lc z=#h|wzd`iR_O67cd|g6GJclN*+kna~0=s zd9V}U1~?1qOs^n9r*RlKoM0d2sU{P0(yT3rRe&4RSa)nr^`#$!_ohy5~mT8ODuHy6)i*? zFw~WRF{^p+XP9 z6bjv7D@UPbh#Q$EVtUg;P2gET!V{&a;+q;b(Kj+F_2}u11tP|2O}w(%gQ+_n8i$S$ zyafeuQp$b#$df|0yJ+rzIc6F~cjd`!(bXF&5+c`ev_^x~km_pm#hr}V+d$$GmdnK2 zr#h$?5n~IK)5T-;`Z(=bOLJF!tfZO^`I+R}nC6ZU=`Rpx7r<5pIOW>rSdpPR-vFtS z=JfkJW9q+u^S7}wv2n&?_6`3S55*0tsc*j45m=5H*N-d0LhWm{3WgvmlORK7!9mBR z>3)y$gHD|lQlOKvFigJJN$Wv+`4 zQoFJ}U1=#OUc!^dkxu>j%3PnPXu-KITcWO~@1WB3i^_C}23~|WL`BP{Fss(P-q=ra zzLO>=JuxyIt5mpd4F;C&$z8A5G{U$*D;289S5gHuf5#uK>UMsD?aHem*`ug-%C1@%*1cc_q0;{nc`#m->?nwM_YbGDGj)6<0tpBdE(e3z>{l zmPePHPGH=NDfQ4z*ZW`+DTB@<>Ohex0`&E$KAtcl>Blr;BAo{ z^l-6>R`w2jp8g{(5&xwydOVk3pOkmN6}sZ|P&G3G^;W{C=HxLm>c)xh2y?rd zm_$>s=aOTo1maS)3l&~ju$Vb#u$Rl^C=$m!NL+6F7HGzWlR#q(CMk(M7Ce6b&2zRJ z!-cPJ&ddvK%p8rZv%YT-z6 zXE=cyz-)&pe>dS7)58!7TiGt)j@-e+;OO|d|3r0_sU`Eat~}-8Mg1_l-M1YTuZkUt z94dX^M0#;?(P5-WRHAD9{Q2`4Ne;^A;xXKNwg*CeBP{rv0rp$2C607OYNC^(-*NQ|so^Hz z3*48z#VjNtO*%JMi>dlksIoMTL?|2-HR?71l~rn8LAM!}#ERjlFivEBp)o6wWfV*W z;#Sox{>tu3dnw_HXQ<0sS}h;S99_q=lRjDX&$+*DVyI%|8qV~`Y2VIjNUAGL=d0{% zjK6jL(01XJ$s)LaSFysU>Z_s3ie0>VkgPZ_W|SkrHw<1267DE^Bt`H7v-K0=lxePD zHk{upKOK~oc$8#>bJa1)ykeF70VHWiQz!G!mY+A*BF5#wzeys9xQ8f&S02# z6vZuC;j1WMfAGEV+2nYYW>5IGB=Kw*_v6R4Ufe5XsEz5l2YRcHar0Oi!+fM4%@b1T zya+EJyKq(c`;VyNG0s;LJF#da_|x&^tBfx0BE;l) zKQlz(C?o-Vety_rT$_3HH*wwY!*kCU{aziVC5}x0Ne6F$^}SX7As4CuB*tZM3^Af* zfd#j{ZU&4OrdfG>YN2NC6V6L8%(yl%tkJ`^UZ(TUZ(`vf-5vxllO)5qewpB|hT*%* zF1s*aY6F@e-SkwmF1j}F#9h?RLe*jepPbfwWUd126gMTytsQS9+Y}B8gZ?g5BsY$4 zYi$^g1JO8)V9wf8Ls6{AG_@|!>^wpgLOHn~5F-JeESs16Gk6$)eQ6*B6&?b~e+roU zNDu^RA%Pim&1s~;ESO;vtOXeiEGU6U!+enDe`aPN7X^idH`dqBo^gDU(sSkZf1d~t z9rp|7B`rq$-t=V1IU*y@OP6=`sO@-OA-Uva1jFnq1^32M$nP7af8UbAyt{?@H}dc5 z>Z<;0nbC#*OozQ2?IEL%Tp8n%A)mZJ?Vw4iFj_8j%^9wAt*!%NN+@9@9OO9$DI|>v zti<~=6N)Yb|9%!$!-8o!d(Jg-4Br7kUkH-z6>=I>T1Mo^&GDvMTuDhmtLywpwv(E~ zHGPFF2*x952>Y^s-?FBAyF(V)<+2_p6qS(R_j%b+k9aL83s+inIIXWOKcotWH;XYh zY;Hcu%_#YS-FwUUQdKnE|NrWNH9`MR52Tr7PpzY#GX1Rq1w>TJ=POt`9>jI^@4oF7 z;QD#YgSZl^I^EBpCY*sZoNqsih}sgjoQqM4k6fKS6y4v1?L;#4sW$IB+eyPfjsFzb z!&zY++%N1ni!0D#*I%y4gA!vy&Fmu4i2A3Fl(EzNV^byxND zPB|hGDnD+YwmsQ9?G|x#4A(U=nFAZ((36W<+E{M|v^{+(4scK-^z^F1dp!`GdY$g; zb8~Y@wWNB>%MCVuI(K3!ENpCF%eGe8F9lHqi}#aJkZqG=g17ldnC=6|q(6xD`Z?K>p%jdb zW9&AtByJ#DCa!zZ@Yht#KNyf=H-Wm@?(XjY0*hkR)duaDF`CP-X+Ixhw%l~1l?<>z z-7O5gG$!RVd|1tHCUbTE#e^3yr*FW^!gWT63e)KcLDWA<(D%7gbxKuzfue{x&qTIi z$L2C4t-NkU3=NQBjR4SsL(kJb5LaOkVe!2M;wcwp!gusKR69xiD3=caYnN{FOFLsI z(TFSDqq(oIucc-9(U7WY_x^a?O|)M%v*0QZw;+4__m>|+Iv(v?P@>&{99v({hM!kb zq5bs8IutbB1JxGZr7I{y<-7F9kt=(zzRY;DtH(!6=VT|k*Wl@~CTD83re^QA6*PZ# zLg*a1@n}C}pz2X2x1wQQMh0#uZl?`>@;c5!EYJug&<^F&pm5bvw5si3^v{04_u}>vVW}5 z$qP_&9Ezmsux;+bZ!?A45Q^*7wR%mhn=)vRM*4W!5F$cFBJse{OpeOBrMZmnn)DuG zU8ip4xI$pX_bajwwyr0@@r(ROqW#3_cXi&RuVnI_k%{>n)LlIKBh{yT&jsl_U>XD% zBmi%MA$zFpu@NM#B1l8i(S8)64raf%7H5W=4EAfU>+W zdU#mA*j*pV1NEB}zl5a?IS>h8Hv+5q=~bVGwS&XO#f8XAf6!;5PJz{|Wy)Q@55=LM zK1NH-@>}CPx+TS1*o4(yg=`H43hyBsO$807Hh zWa^$2+gLAB(~kxjK&;gP_c&G1Yb&`aWIvQW-C}~xk%KG|`LlSge-BkdMFl-> zOprbhh&la_)^`}8FokSAA`yWaL?Z!9o7?_@c`N!;W6TkcNm;B1bMi~gs&MTRSynpV zU!O{!`Ai@W^r?$Fd(0d-ML3=aQ@f_^8r2pQ z0OAngq(Z%v3%H>R)N>^q7ZKK2r8G0qiWUikJvfbgS zMxpsyz0)kf7;nyyF%5ZDirvO5>KO%wi$29~r{dV5xpn13@F>y32vA`T02!+?IyPbL zQEOwYRfsBI{_rmNh+_F3Sk`F2&hI&p`7I^+eFMQb6tG?ttH<2)Gij`q(YQaA=$Wc9 zZX)xO1Gf~9i?#M-6+4I^K4D?hmWv?<2@}_sSR~Yqka|emMc`2UaJH(m%`N8B2MGl8 zsbdWCFI}&QjBFi5+xt^o+|pC&(pxvZQz}QR_3Mh4L>4$2{QtGgSLrmCAZd6U{-K~6 zt!URU-x%1k9T^^`p`ihqiXbJnboxx{s(kMLY;E;@vU0!BonD0V{7dB(1C@+U>=B9`E(TP8f1#7QM+pB-L$B&?g%9(S@=z9EtzdG=%&D2` z-UoZa>yfbt?!fu%$M>6svJ@9sRVjP+s+?$0q7q~kiBwEp1gcTaHYTGWh{nS#iW4?D z<`iF2oLbY*>96Cy!=<*B)>r6cSF{6sPs{&$(k<3hXMH1hBC9+v3hnmlA_N?uKCa!S z8QL#xXMtR$H%aIUPVQV?V2O4Q`UO*v4FFH%v0rV8JJ17O|B&q$zYKd#NPUE(gWQfz zSAhpG%f6!m5Scwz|iJ@mWU9Tmyw965Ta3Ex@ z%@c8<#l_O?Jcik2baSNSXnPk`)RjkEL?mxkxKHZGBQZ6!DQB=HAMCAMRUDCc1v?}Qr!AnIJdT#5eS?C4W@ePZx7ViK;*}$e7XKkt`ONU%tnr zC7zh?8d$_%f$$<2c*Nt5zAArU3#6qAF)iKz@OGEIS7ze}rh;QweZ0UV^>UjUiSHoX ziMjVmnx2fRnvP>20(tR#cLKxw3liB_F|@0#Eoe~`qI5=fAVw1E)SB}daBI$ep&K-U z2n57-P&i9$AZKEv6lYJ8 z-8(YEl1$}n6c^37rh5!pxW3TJ@z^ajM?@Ozpnv#aXwkWo*mr$870;ujc3*l~xlIsb ze7#()5JKTAz5Mtms#bAX(YeM@t#;VWENB)|4^#y*x010-k3J6b0a&L^t_?ip5|f5( z*wljYL2SWKa6V%jIj5BTIca+#-c?Zky$-qg!vgPN*4F?z>EqYt^RH>Ya~A*~3(|wQ zezP-vA(Vw)Xk1-w2<<~%WH(wk*W1Wr`WdfICncvR!9Egm(ygmKGBA5_Zg}Cn_@DM6 z%}4Z^G(P^vj|FaKBgVZ!+db9rz;npK8=~GTA^_t0t(^-L;Rjsbfo1O^?`=5`7{{b3 zG4}65y8|_S@bGxR7K)0Bb;2vLEY2sxDPOqVzuNtFHVbfcZON|!{`+3=8$zuf`jJ?e zuui}1z&pk}3IK>=QEtBkSpknT|L-4BpNTqF^pCv`$$wfym^-fHP_-lh7QDvf1I|Q~ zN7+^>jV8l8&E%x_m4>fp3SG7RmNB?(^3a@fj>k{TU#3pKaMp;)@*iO()@cVeakUOc z`|+~wQ(a4;YrbT1=CZIkh~S~p+d4y9h3DZQ^65JhNLoOs!e3zB3Sm`zn+DrLM4lbr zQ#jguGWtBl(#+Sqn;h<)<+il4x{3sD#39gwJ*ow&kz-Jk zO^DD?lPgQT0UyhaR#&U;&%pt~)w?B*yu=$#Hh%$T^;helzmU?x&b#mqSaoFplo2Rr zhvh{&{QwF+ZYE;aS6hGpa%bmuFd8v0I88ES&lR|e1KGA*ez#~fclMb}pbz9Z8R#Ic zG3+#%to6UE`afwb?}NSu_i0Rd3x)std+>5%{A4?1PtW9n7DN54DSTUiwhk!lzzMr+ z$8_~reE?-rG}x`*nO2PuEHa(Vr*W;US27E<#XAq-=zx`}et*h#uwgQgh~7X7Xmo_s zbvm0>%3rKmZfq~9sA*UdSroyjue&AXrwW~; zIkxT4_e`q#y5K_md3Ct6O8o|0WtjhxK}eE+aM1nzDJ7gNY8Bn|4#~*vr4j-*>@Gin znQMoUNQ2S3f-%=B`ab5GQT#0_D_l-=RQzBHI|q{j5{u)r7$f$paGpg%%Mmn;T`668 zoxSylQ_>V~Dx0vd7&snz|iy1Pki-i3e5%3V&tg8}O23dwhPK>?YT%aY3{wd-HR)!|E3qrW7F z8E##~pFfZZyF2@uA+k6Ck23j|ZuA`hoMg{{F6wG%dp-B)MRI{}2=S`HjDpUO`0)dk zRJEU=thCgm88{#$-W?H;k-^oSjvtzmh;GTFb6hPD1yISt;X~R@LWEr|*#iUq|BLgc86AFtGzc%d|~PsQ0K>l$F8l4o~F>eEIT4Z;j+>y*{%j6E%a&3$%zv z!)t(i0V5fuYK*th=p#Xg9~jRV`L@wl@mz}YrRCcYSwAgMok58el@^&*u$FF;9<&c@ z8u_p>Kfk`Y3D;V0Yr)8J57Wt%ybEle`7*kqE|555Wbg@GCUQ#`}t1tiTla;Ec`_umwX0eo^gKmKtglPs#M30DN23rtPp+}c8kQi+@rZT*}QlfLA7 z5RjEGD<-xTRB?fCGuOHk3!0&cQ4p+&&~L$(^--<9=ju!wqt2dzeQWbZ^# z|0eaZ&+YBO9#jNiSWjoEvR_Ot*7<158MeV|w6zFEO(dSEO27?EJ%oYRAq`-We>;Mz z83FsI8BW*Xl%q}q;S$86fy-|IKbCP|Os7==4gWqyn`hALFN6;Zu|p8WK1n4nvRiES zEr_dEj~7XoDSz9b-6M2-tk!?(%V}d#QBj((y@>-l zcL7}F{h#CWvy;0D`7a87HXbyGs#Wk3tF}6W8|gIH@Zd&Jx`nExjl(f@k!-4s9tgHq zbnMx$Z!FXjj!Bi5{cdaBa<5pT-Q2+e&NXXQw5|ZOEmD`vRuz||4yTMN$42j(VBH-K zov=~}hVK!VVP?8grGvld?p{*ZZ`ELh4nVl0a=*Rg7IB*opj@R<6jBGWPw)i$7}ae4 z@k#9^T?0k(R|l-l}f$9vs@gs_(OV1}j&{@2~@~gw04h)&Z9#I#>dgJ&n za2P|Qg;`Kn8z0uhnVasK-9R`>zN+4$BszwlpWmd_dny=Z!`J=W_M=_zz1`-^#)GHx zPEv|IfQ5x*tq0WTQ=%zFn6*!r{kPA&|~4VmtL*cJebG1WjSyhhq_Z^hT( zd_l;er$6i{*DdJaHCW4bE+KY1Y25Ab{CuO)3JqztkJ2k<2etqkfpl#hIM!4Er4A8Z zxD#3oL9A;48`>AiXK)o2`^7V;VI+_DdnTSJe2`G8sHfT5+Ez;NO?bFr=r5v9k8g%Z zB7K+M7WKw|VuNO|Ct^Z1x}=;yJwao@#S>g}aybTwr+EQ;hcBDmX#ov2bFyhhqTS)k z$T%$^4u>s@ez}>x;n}T2DveF{IAlHFXi1nOZ3?ntD6D}sA~|!#Pow81gd1Co0f@wZ z!M>nu;%X`}W5hM&>MTcIXcrjTpiU&{|Bt7045;)CyM4B8*Uq+WyCz$cHQBZ?*_hmf zsU}YCtcg>TU6YOT{NMAQ^Lc;U_jBXAuC;y(kv_^x8G(aEvq-T@^8nMW3%|k4vvzlK zEN%ve)G~FCYl{bS8g@lJOtnScs)+oZnxLmRbvALzA}Y7!anDN8?z1E7sAI^{05j4A zj!LoP(5^rD3$=St{Ep~1n$KFDuZAhpeZbdAM{{YVkL=q}>lff58&7a_(=80D#Cjs?XOxW7xJB|~80 z`){DA$!^{?Yj7$L`qj1w*iZEuO;Bw^=h&U%w1p|+AqG6Xy)9}n^45+(5awRMrJj(G zuy>4%yu6KbN%mV91@>QRO^S;t%7;})@ct+(tTw8F>3AJyY8LR`%Jw(*FFh+N%)sovXQot!`){EI$vzOMfFj?k48D17A|XjQh1HEsnM7G)mm;uadUmDmCUs z4Q=b#wh)w0M(UN?EOpF4PXcnSnO;6!r^3Sf0m zgEdk=02{W@bJA3h&t$*sotn{G>h61OI92 z{v-XHISkEgBXOX|;_tFA-k+~;3pO8=<|)#4p7Cw^S^|L*t`G@`2*k69=!(8#p-j!q z&wMLp5?RBpW6Qr+7nd{-wGcC#D)DP^UO+Rde>`tknA86O9!@{UeZCBTXeB6TJXc~r zD9P=Wk}_K#=T8$#{;dQvb2eynMeGyA^Jeyn6**)Yj@X;Fsas+w@*2ztb@X-YVsMN~ zO92BLmFZe$s_;tjww?9G_r50Z1}O$NeC;c!>@NL-SSWa7__TTI3?rN1lS@cZuS2R%UH(vpgSQKK@)ElFw*=_09?a% zrf{SmuevVyF*?}H^G^9;_4G^WqEtKVveG(9H26e#aXK7h>_#(ShpH~;yDow~lO{>8P zTd?GaHAQ0~Q4~{6bjo&g!l~R*8fwbelC>b6N2S(I`K2X`evb#L_>jIt|6Q2wnG)$B zW?&;N>@P|ttr>?s_h=do6Y@C)1;1yaK3HKC689opAp%!Q#2+>QI{N8N!d;8*{*3p) z`rTG1Z)`-C-I!gU{%9YDX?-ZcGqRJ3rpsz3(_J;`OJw=PX~<`#-jQ5nO}*^7@QFtg z&xd+&eIOBRr#XNh+S+f2^sS&s z$pX3Kc|bkG%4a1Xe7Urw+phpvE#WhqKSroxlP!%>&GDrwBN2;cidI3Rwnl{F;b^z@^CP+-R3$}-2yp0^BT89kQ@B3RTxsB? z@vzuCkFp<}v3E=^-CSk;fD|KcDAg5J!VL6bwLo-fu290eF)R|rPe1JU-eIuO$ceQ8 zPtcbTRWLDs^T#`oVvZc|rlbAQevP-tXuHF*A%Gq6t5C$hKj&9bIPSKW=kjMBJ*RoC zmy?7H6iHzM6dPij(}p7Ft8Y1ZIcZqiiv#pyg0n|o%8Fgc{`OUAaqe%=mHY`k7{pPy zfpD)kjcLq_=uCpHPFA4o;OwhT=dBZ#IAAEML8AqkPd z&3oprkw=zO;rLYH$aJvQGuQSkLjAtQzFymZjh(#CfItbl?xiH5Vj$#Yw{c>ZRK7(f z2%_FXH@Bce-Ly-P9U740tcx}4gL$OJWMwI$#MvN)7D?ER85sm4bpJ4hn$a>~+%dcE z82Zi>#>iI0x4YwsDPty##YW~l%2Sd3!|R3t*@UO(=)!>iT&bkRgv42&j!*NOJDtN( zf9GXi3V<-fdz!jD3=a?AJgcbF?e*!tyDV!wXR-oAK~M{^Sv#M+Pl=p9DAUlH9R2t= z)+cv8y0OvH=kv-Q1^hf9`uok@j+}z8Cd9J5ee*#Y(D9 zEFS)C-S<%OLd|N}{J8u{=Qjr1Z@?KDV7qVvxJ}vp4SA8n0GW z&$?Kfz@Si%mQp^>IFu~V$1?vSMN82fl@Th8|L z^|}Jg#j;qs&Ob@h;sqH8VB!kDDsuD44!BcJ< zEk6L{-X|14gCF9BKKd9?E=Z18o7(|>%ABH$@GrXre)Nr^h4oIEZ>apm{u?Hf*nlZv z6zi&S*EuhqCm9Qf5L!eW?*;MiSX_mHIxiTjpxKu%ygxPC5?>p%Bb6fDia4)Y2kH*q zsy%37VDmXW$c(Nt?`UefFxW45xYJ(Zk${NzHfGi$aCF;@PeV%}LeoKAjFBx{?{JZ` z#pMOu6$3|vmLPgZ-u<4g7QkFUi0`@crefQQsw=IV*f$rXvVi;~DOkqD z*o^GeWp=Cr8bupjJP0`f9Zsc5KWhut?8mx(ol-WL`%+gEf9yG4ychB$*~hTPYk3Bi zdH3UPC6H&_8cAbg*p)32*EndKYGYb#7Xk*FB-s^3Eo|Y(s_VeNI6li_I*X4$&>3as zYgn$G)5`fxc;6U-LVzN^r`SR61L#2a{3O~>Ix*v*d6NyMv*0VidBFRtA6mp=Gk5)M z;pyVI{xidj@^mpunhTZ-)OiME8D){M8gIx@DKk4ux`t(|6jYQQ;~mPW=?+BU5U_xCP{9QE@B5)%LP;kaJ8s(S)M%||E`4dHT2y$ zz3NPj4}czTxmFXzDDKrzzS%ho@!!|0#?g7glsOCt@&)cCsTBDJz8(rt=c>}mXoaSS zjjJ8Bfgf+jlkP^fq*f*Aawj9H&C?Jm53c8LYookID+}{gldwY4C{0*Js%k{P@Ctpe zuz!hvLwAq`bm%prSjl5}*Ja=vy@o!HnjFE=_u);73JTdQ0D1-~4q;{pquq-${Jtgc zH=1NzUv^9k;M{qCp@vCyDqPzz$6Hm)pMV$Mj0;rgvQE>-5!2&QQvP87%A9=Znj=T& zlJyU(&an(({xqD#X%`z_?_NMfa-s7wcUszT2G?y*+oAtV9bQiD!9zx0imml zqoMPf1F1MKOY^(5XK{r#GBIkOmO?S56LFhyNqvi3V}a69PoelFvXCQPwe-M7zZT*k zh%y?D18>93BreRRQ<*%kkTE}N?70haEWGFh&R)Z22CC+mdwcx6!PAtbUKM4!ZgoFZo&(0F8Ql%fHISCcOfyZy)GDM{@(tvIs z8@j}vwpOsOHoBPmbFk5z=V)lCExg*~felIuS@B)Ciu=rMoytHZ7dCv-`Dqb}3cQpA z7XQSNSMH!kub2Vx%Ibng>4!RF0lRolsQ!dujkNCLNXsad=Pv@8q`DOJ$X93jo44l*pg5wr!yn^S?1|Obr&Hi0UDV@gkP3ngAsCMM2NU zk*YReSl7@IQH0ByRj{Lre)La4&m)W+NEeqsAVdIU`H2U?5s@vZf_masAAQx@-qa*hoR(saaUTCWA@&}++BRSZk-l3x? z2e%PCB)8(xjx4Ql=#kmO?DT>(d#B+8n_MGp?BR(XR9bqEBf0rEz$$JK0Q!5J>+@L7{X-U!J=tu-wQ6Xv$q|QFU2jFJU?UJcOO^g z16~QIe9Cl%3eEk!yA{#5KN4Qn{ytQ>5caP7xO&o`!WNPf3(rZ%X(5*2Ejb9S7k{_} zEl=M1UeEneo9?x9P*nbmw3tq?q@!ny>x`r;O4hQNeNZr2N<=*lV~$nZ9|sQRHsESr3j5Mr+*am1XK%Q-ipy@yF(a>fSH-;4FS# zSLS@qfcIa|euL+o-WzNAy569B^slE%CSFwx5lW5}JEUMM*Sqg+ZEfGbCnYDdxt$yP zHV5|wdmm13__}iD3Iibk>tuWgsJdjK6%%yUOk`D? z#Ygs~I6V|-lbHoFD_117OG)B+^BMGGfvif@sVIRe>+@e_u%)fdxkz|7m%FnCWt_|0 zva~x~tqH_vw%EBG;!Kx@e*w5BW?kbhmK=@fLxeyK248W@Avuar$c)3U@YIUT5VA0m zf&`?zR||nx!=s=Oy+Gz3`=OKXS+Xb==9bQRi5h>x7u?{-ryYuIanZ;H1O$2K#MtAK z5d$CVyV(1vQpf&-fJQ~Zxe(7wQ(f)Ev$bHf*VWhM1?&21Jv}0c$;suNlz(fgIbaI{ z{FZof*2dVp;0j;TENa`G`TC~n03Sfc4&?mVkQUN`Kulw&xJ*K}HdXm~dCxB|Geu$_ z|7oRhE{4!WNPaK~@`}QRS$lfod}4on#}E359WA0zhDPmeVrbeO0`vj@d>Ft45mbWMgEXDhUBj9ypmDX* z?=BhOO0x?41KolE7g<0P%6!q{l;R{C*f82-52BSXrBYl8SyXkm5syHZF8Mid(B7W! z9M2jt@NgQoyjkb%UN=s`v#G1GhG{{%)FPc}b?dV~MrznpsQOh0A;Wqy}m zHI8T)nBIO(R$BFUqcqhs_WBJBGu=?l^s11qyE{72--Uwv@FB#C6aNbn4e-r4$5bCG z`glEb`{4M2J~aPdy!Hi!FY=k?D;6Gju1xN~cE>b>R`f6Y>FZ%^wf}@;whj>QVq4G| z>;EBVSM0)uIADuDj)2w|ki#8Q=CsnuLBQ-UN1!VOhE|6Q!C_MPb`Yzl+lDWGhMtsg zz8OgCY!YG@QnyLj3Hdif&@!jEq{QCU&X2Yjer-SW{>S$b(Qa&~16Z)C5`D-Dn|?J6 zVz$JhoGa1Y>JWssq~dLdK5bpdHIDuZlMPjTsSYb_lv>f=I1%kZMT&GRn;gzpLw?dW zR>WUQuHS4V$|A`*14?k+E1hF-NHn_bg#0zQ4;+wC24q1Q%Yzgr0ys2wA>BtR3#l(u z_N3t!D{UupuKd{(bckNU)e67mz>3>9%5fN92Gv)Bk-hGXDmiMf(pLToYg9ck zLqI8k45}gEXs|EF{vi*7%5z~MA&^KEkjUDg80~i&d0~uOf!}ZwHZWF*34$qx6alD? zqwOsLP5$q+Z3Kle+&1|HnnPRrLf(Q;f?OkS5WNa0CN3C=_5v3OLaT$ACJ0UJR?uNs z3FYeiNZ4o8TxGhv46_Lr$Hx*i5BH8eT@*ffO)!k7GXA7lstN`}6!NGZYz{~2H9^&Y zv>um9mz_vD3#6}V@)G7igN214L|(HBnV`>p<35SOGdIqZrJ6MGXT{EV5@r8)2*sXN zdAf2J`p$YKX8Aimv4ffxK3&nKP1PXCEI61g(J#H5HGvu}qymiTKZLKmQ7L)W@ zrL`Kr=da6 zSFO;q%HsvYJX`7+%BpOv4n4aRK7}k~AjW~Yr6?iMRuVnsFuj%X-s5Qg>?t%EQU}~~ z-a(oP!jj|QOz;uhs0#T92y^htji~gTx*`{E$278$fieeDU73j{QZ>2fa5sMb@of#0 z#L9{u_v>O{$Rk!)RECu=!T=v%u``7o0PS4Fud1N%by0QlFs zjW$d5Ava|eovG7TpcTDs`NVuYe!En#v8qj%8dLSxi8(=u_mj49?e@W{U$B&5;hfyy zahW*=Q4=9C(Mfya?q?xb76S~A_sJSFbN-Z>Lo;rv`SN_NQ{DQng}Ka=IW@~C*Y;F@ zh);=MPNrRalS^?1bFHS2l5J+-Bu20l=?zS;2F_};yawvk+8FIA4tyaL5G2zY*KZF} zedE8fm9CJJ7U}mopq`Eg0?dCO9A^v?2iK(r1C2K>u9{!nu6Guu<@>pDXVAM#6@GCX zao?y8-52jVT*?%wmwH+7l~gU9of0u$Miu7l+YNosu@3A3rLsC2BLwkTT!Ucs?v@ zt;rmk8ct^Vc-+EIZdt{4a22{y73Z2}F&}J$JTUpZGWBoMTW-d6=J=NDg&gz_XbC_B z5-hKUDnB`R(o;?~#rQ80y79 zShJwmXfvj`&8Bg0T9i5pD76E-?**v;NqL6Xa4;siuNtL98BDTTaH#xagcvyDM2msV zoy@@hdVkLBk9PX6cQ%ynxKoGc3-17hjZzb8_-aN5#kl9iGHW4atZ<$xw(jR1i#WQs zb~LO3)&X@|t!&auyBlIEXN>R+J69lzh&$dgnZ^P<={0h)FXoN!)~(#y+3t%+u1Jr|E?=RyOQ*1=BV} zBl7Gt_h_ht2GjOK$I2!e3Ictshp<|N2}SYGdEpK@TgfC95#!}viB?jMvO!7{bWPxe zV<1qQb27~AG1F`*@6KTE3lGK^Jq8s0-|tSVgCOE*CRf(16*U^JmNO}5Xy3d0`#xy5 z@GW-IU197!K7KHfqAvBl271f0XyxCDa|&2gJFD_izX?~`jLad@2E4jVEaNj~B>20S z2;NT<_yh{%O3?#0C4!XJG_lwO$tA1-kvex~OiDr=1O*^mA(v(-`Qb$?5>zJT6z?@N zBQ@s|H8!|jv`uCIHMHUWf#zfS@#g@_3BN>kRrzZvt;KdplO|=IyPBZ2VeQ|z;3j1S zI?wH>hND}BL-%_G8160YPf(JAf|bk}C583H+R9azx;c(wa2*)*IGV1MkRcM>#Zt}@ zdjn(Hp@U&d$34oDQZr=pFh#9rHZq+w-mB{b DzT={VmQ~rZZGZ;lmGEv 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 literal 0 HcmV?d00001 diff --git a/examples/widgets/animation/animatedtiles/images/centered.png b/examples/widgets/animation/animatedtiles/images/centered.png new file mode 100644 index 0000000000000000000000000000000000000000..e416156a0ed1e6931f2b1f1a55cca015def7057f GIT binary patch literal 892 zcmeAS@N?(olHy`uVBq!ia0vp^DIm1LhE&{o zdu@NdjH|@4kMGaCy|s~l_T<(Hx*IHnILq_ah~x=8=$_zhE^?xt`43}=dZ1II#@!1O z%yJF-3bb5YrYMM?;A2af@a75Az0ddNeZT%DK*qAuC}>^8$C@Q?%a+WoeO`H=QIG(r zH1wHkS5{c~Q8?M>$DGs48qWLq`~MGfjN9<_Yw7*G?H}(22L|r@Ic54fpJ2P0$L5~x ziQAO0M*h7{U-Gwa-@-QOSg$%P*SyQs$~Ty&!2W;hxv!E^4_RmKULqOSsItIjzS8f~ zwucXO7*ZpXdOnukoWC~MaMdcM^TnU`90*SAeYmP}{(0;2isxVXXFQkc4v)SOZq&7C zfd{mOSFyYg~YWdF>*Gkvy{X3yN-ukgh?E&%c_NwQL_k2Gu zw5Z9a>H9pL(*_bVnjRi7yq+^DT$7=_UhY$J5%*)=$Z5U7OPhRlq)IaI7k>`sX>(pC zy|^;)p=NC3_nt{#-aHFh+;qcAP33fvmW}>-^PPV``|dK&`}E+8-uHh$rft7}W0A(^ z`unG^Y*JgP!S%@En3T6sc;QUbp9gDQOY{4}*Qd%%zyIO4f3-`$@VWECd%mAJcP?pd zsH2)#X11Y(4{L9x^WnCd@3*JN+%dGNoHF6xQx7@o9>c9(Zn@l#<|HR3Hh#!C@%=8h z-uy5L=3{+w`8b^H95KY@84QJKE4-UtEQxShK9NXx~#scab1}Geu<2{ygkdQ=aIr~4}CV@^m%OI g=0X7c^Z&pVAf#pboFyt=akR{0Lqn(^8f$< literal 0 HcmV?d00001 diff --git a/examples/widgets/animation/animatedtiles/images/ellipse.png b/examples/widgets/animation/animatedtiles/images/ellipse.png new file mode 100644 index 0000000000000000000000000000000000000000..2c3ba881c5bed13a1f509518f2a6759a7fad6951 GIT binary patch literal 10767 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 KM;W4M^ZtKZa6j1q literal 0 HcmV?d00001 diff --git a/examples/widgets/animation/animatedtiles/images/figure8.png b/examples/widgets/animation/animatedtiles/images/figure8.png new file mode 100644 index 0000000000000000000000000000000000000000..6b058041c4bbbc48754c9bc4bb82f93cac4ce7ca GIT binary patch literal 14050 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 a`Tqg>kV~MzPkuE30000-qlv@1E0{=FH5CnOoQO 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 literal 0 HcmV?d00001 diff --git a/examples/widgets/animation/animatedtiles/images/tile.png b/examples/widgets/animation/animatedtiles/images/tile.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f39d8d409c0033bd50b6471138af3c0f1f7c89 GIT binary patch literal 16337 zcmWlg1ymbb6h&!~;suJk1gE&WySr1|p}0dSR@|X@ad-FPRtS)y!JXpn@aM0r5Sf+C z%p>#ezUQ15sj4i4hD?YI0|SF5Co8EAJgWYGM??Vr#$jGo0}t=q)MdnBYNm(}ffop7 z3Nn%~Z~xzZb(bas?;w4Z)pLV^K_C48{w|dfod|gIgS(uP)Q2TlSafbgigE-_7#MOG zIY}{1@8#?++n*pEpZzC+`n_De3_XK|SuLaP3Ou>b&A0RDSXlTmj$ix<9H@x?)FFcL zq2?mFyKB~6F&Ex`T`@x3!?*Yd=0vEA-{AEzu~ucv4E_bEX)W~Z;6C}DMpXT&K^S(+ z%OdM&%;k02iv2`OId%5(wvK(~yU}uGX9n4o(SB+;rV80fT^WU)khYBWJ z<{2n2kEzPis0)mmeBMo*Kv9z(OMmEZu|G*PQ7rCejd2 z2dI^+Ym(dkRDD}pTT??r!}C$^>k*Gtqn>g$Z{Oo1e~V)wDjHhi#4d(7D<5BEi7g_< z=>FC7X#6uGaNwGiS|ueVi}mIohRhPx%R_69Vq#<8VT4nB6g-DnFbNVWv1RAt8rs+( zhqgMG8rPa<(mdUr$sh)wJsq$2_VzkDIK-%z5B3B+0bdFnyyxkPT)wKPmX@}TPW#I( zls;9y$X1>vIbV|j6YgC{4OQqbm1w(AOGlQ|50Eh}n>A@jnzF&#GWj4p}}H@d7M3gdfUpO{n6gVpfx@M5Qzv)2kb znK0A4qLddHftc@v}r;Xm;-NRcl#O9IhFxlUfR-kMZv`AAojpNhm8G(>-$wEHz>R%MK;iqUWpGftHMdoSgHKvjigI3TOzkIi;0XMu3QRfx3sX>d5pm8*ZkvZrZ3;EpplbOxJ96x4&d-xpjf=U_ z>?BFOurf>NOKd4afAel|e61XASs`U+$&)Hdn3}IMo}w}z-E~zfg<#rdH&7Tj2pqH8 z9ZNto_U4%}yf|0PwVvV8Agqb%R7ovV z_9ZmtCesJ>(AP~su{g+fxkIrFW8)0-SC;)az@_nyE~`Y21Mz1E(I2ralCUh*K=<|9 zuLE%ck(S@~AK=8krC_b!U4(p7?O0KJa5;s(DhKZNvAA6Ad{iYm5*`d8Czr$OXC1r? zC;%1J<6g!cy^`=bhu^I~XLar8=20X#^#){?7~IDCxIaZKRg3(IU%gaV>D^|NoS{YZ z_g|-tGcVxncQYygS#{NA6&9ZDd?*bJes|`1+PgW~CP%b>6iehGc3b$-BV*w}m$&OJ&jvE^}MA;(0jAv(_w3F;^E?9Pf`d)-%5jK|vA^b4op$hCxbq6Bv6%WD$o@XWr#2f@`N*W{7NsjN3x z-zhZ7c;u=U{Rq26a1?2%AYZ>|LL-**8ZdSt>}*z$ifuFxtdV`vsM8AK7cJsGSbXCY2V@F(W9 zV0$rzLn72=Iv$4{QNn*+LJj*;DyLh5$Lv9gT^>mZf3?N*jybvj5e!U{ssyZZ?@8$4 zWy8Wd6|qWR-leE-JqVj(n;j6kO-$g+Q**RSf1e>h}{$wzMU-n&R*hOqR$ z%5>dL*Sa=beKd4c!H9+#aZ%N37V)k*N+M)c*SR0g*uQ^}c_Rxv$|AGychBaObIG10 zXy!vHN

    xUdsGJBJwu8zN1n5LYQ`@I8FhqTec#4J+k*14AA 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

    The Books example shows how to use Qt SQL classes " + "with a model/view framework.")) diff --git a/examples/sql/books/bookwindow.ui b/examples/sql/books/bookwindow.ui new file mode 100644 index 0000000..ce8f9f9 --- /dev/null +++ b/examples/sql/books/bookwindow.ui @@ -0,0 +1,164 @@ + + + BookWindow + + + + 0 + 0 + 601 + 420 + + + + Books + + + + + 6 + + + 9 + + + 9 + + + 9 + + + 9 + + + + + + + + + 6 + + + 9 + + + 9 + + + 9 + + + 9 + + + + + QAbstractItemView::SelectRows + + + + + + + Details + + + + + + <b>Title:</b> + + + + + + + true + + + + + + + <b>Author: </b> + + + + + + + true + + + + + + + <b>Genre:</b> + + + + + + + true + + + + + + + <b>Year:</b> + + + + + + + true + + + + + + -1000 + + + 2100 + + + + + + + <b>Rating:</b> + + + + + + + 5 + + + + + + + + + + + + + + bookTable + titleEdit + authorEdit + genreEdit + yearEdit + + + + diff --git a/examples/sql/books/createdb.py b/examples/sql/books/createdb.py new file mode 100644 index 0000000..5ee0f14 --- /dev/null +++ b/examples/sql/books/createdb.py @@ -0,0 +1,96 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtSql import QSqlDatabase, QSqlQuery +from datetime import date + + +def add_book(q, title, year, authorId, genreId, rating): + q.addBindValue(title) + q.addBindValue(year) + q.addBindValue(authorId) + q.addBindValue(genreId) + q.addBindValue(rating) + q.exec() + + +def add_genre(q, name): + q.addBindValue(name) + q.exec() + return q.lastInsertId() + + +def add_author(q, name, birthdate): + q.addBindValue(name) + q.addBindValue(str(birthdate)) + q.exec() + return q.lastInsertId() + + +BOOKS_SQL = """ + create table books(id integer primary key, title varchar, author integer, + genre integer, year integer, rating integer) + """ +AUTHORS_SQL = """ + create table authors(id integer primary key, name varchar, birthdate text) + """ +GENRES_SQL = """ + create table genres(id integer primary key, name varchar) + """ +INSERT_AUTHOR_SQL = """ + insert into authors(name, birthdate) values(?, ?) + """ +INSERT_GENRE_SQL = """ + insert into genres(name) values(?) + """ +INSERT_BOOK_SQL = """ + insert into books(title, year, author, genre, rating) + values(?, ?, ?, ?, ?) + """ + + +def init_db(): + """ + init_db() + Initializes the database. + If tables "books" and "authors" are already in the database, do nothing. + Return value: None or raises ValueError + The error value is the QtSql error instance. + """ + def check(func, *args): + if not func(*args): + raise ValueError(func.__self__.lastError()) + db = QSqlDatabase.addDatabase("QSQLITE") + db.setDatabaseName(":memory:") + + check(db.open) + + q = QSqlQuery() + check(q.exec, BOOKS_SQL) + check(q.exec, AUTHORS_SQL) + check(q.exec, GENRES_SQL) + check(q.prepare, INSERT_AUTHOR_SQL) + + asimovId = add_author(q, "Isaac Asimov", date(1920, 2, 1)) + greeneId = add_author(q, "Graham Greene", date(1904, 10, 2)) + pratchettId = add_author(q, "Terry Pratchett", date(1948, 4, 28)) + + check(q.prepare, INSERT_GENRE_SQL) + sfiction = add_genre(q, "Science Fiction") + fiction = add_genre(q, "Fiction") + fantasy = add_genre(q, "Fantasy") + + check(q.prepare, INSERT_BOOK_SQL) + add_book(q, "Foundation", 1951, asimovId, sfiction, 3) + add_book(q, "Foundation and Empire", 1952, asimovId, sfiction, 4) + add_book(q, "Second Foundation", 1953, asimovId, sfiction, 3) + add_book(q, "Foundation's Edge", 1982, asimovId, sfiction, 3) + add_book(q, "Foundation and Earth", 1986, asimovId, sfiction, 4) + add_book(q, "Prelude to Foundation", 1988, asimovId, sfiction, 3) + add_book(q, "Forward the Foundation", 1993, asimovId, sfiction, 3) + add_book(q, "The Power and the Glory", 1940, greeneId, fiction, 4) + add_book(q, "The Third Man", 1950, greeneId, fiction, 5) + add_book(q, "Our Man in Havana", 1958, greeneId, fiction, 4) + add_book(q, "Guards! Guards!", 1989, pratchettId, fantasy, 3) + add_book(q, "Night Watch", 2002, pratchettId, fantasy, 3) + add_book(q, "Going Postal", 2004, pratchettId, fantasy, 3) diff --git a/examples/sql/books/doc/books.png b/examples/sql/books/doc/books.png new file mode 100644 index 0000000000000000000000000000000000000000..1023951553efb24e139a0c1853d8cb3864294cff GIT binary patch literal 59045 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 literal 0 HcmV?d00001 diff --git a/examples/sql/books/doc/books.rst b/examples/sql/books/doc/books.rst new file mode 100644 index 0000000..cb8edc2 --- /dev/null +++ b/examples/sql/books/doc/books.rst @@ -0,0 +1,11 @@ +SQL Books Example +================= + +Shows how to use Qt SQL classes with a model/view framework. + +The Books example shows how Qt's SQL classes can be used with the model/view +framework to create rich user interfaces for information stored in a database. + +.. image:: books.png + :width: 400 + :alt: SQL Books Screenshot diff --git a/examples/sql/books/images/star.png b/examples/sql/books/images/star.png new file mode 100644 index 0000000000000000000000000000000000000000..87f4464bd5ea7af0c0ff30aad5464569a5df1b31 GIT binary patch literal 782 zcmV+p1M&QcP)Gk7=GnC00006VoOIv0RI600RN!9r;`8x0-H%h zK~y-)W0*Q)9wR#D{PkJQ|JUdI z{@>o9^?yZ_>`xXJR_kdq=c5MV6N#Z+5elIEd5SEKu8pu z0ZdRV2E-Xad?Gu_@aO6I2LFNV13S0I?nr7X$Ip zs6gGHtqDpX1O5Q'33\x8b\xa5\x9e8gi\xb8\x9e\xc0f\ +&&\xa6D\x14\x03&N\x9d\xc7x\xef\xdeD\x96'\ +\x0f[E\x9f>j\xd6\xbdu\xb3\x22\xef\xd7\xb7=\xff\ +\xbe\x7f\xe8\xfb\x7f~S\xcc\xef\x05\xc5\xea\x9fNOQ\ +\xfb\x7f\xbaM\xed\xbf\x87\x1a\xefn5-\x1dV\x14\x03\ +f\xcf[\xce\xa8\xa4\xa9![W\xed\x9b}\xefJ\xcb\ +\xcew\xaf&\x7f\xfa\xfee\xc9\xff\xef\x1f\xfa\xff\xbf\xbf\ +\x95\xf2\xff\xc9^\x83\xffW\x17\xaa\xfdot\x12{\xc4\ +\xc7\xc7/\x8e\x12\x06Y\xb9\x85\xcc\xb2\x82\x1c\xf3\xa7D\ +\xab\xfe\xfa\xbe%\xe2\xff\x8fgm\xff\x7f|\x9a\x08\xd6\ +\xfc\xf5Y\xcd\xff\xd7\xe7\xfc\xfe\xdf\xde\xa0\xf5\x7fE\x94\ +\xecO\x16\x16V\xebi3\xe7\xa3\x06\xe2\xe4is\x18\ +\xe7/Z\xc1\xc8\xce\xc1i\x10\xe5\xa8\xd2\xbe\xa6\xcd\xe7\ +\xf6\xc3m\x99\xff~^(\xf8\xff\xe1j\xe0\xff\x17G\ +L\xff\xdf\xdf\xae\xf6\xbf\xc2]\xf4\xba\x9a\x9a\x06\x1bF\ +,\x00\x01#2\xe6\xe6\xe6`Q\xd6\x941_\xde\xe4\ +q\xfb\xc3y\xd3\xff\x1b\x8aT\xff\xbf?`\xff\xff\xdc\ +l\xe5\xff\xea\xc2\x1c9\xd3g-\xc0i\x00\x13\x10\x8b\ +\x03\xb1?\x10\xe7\xf5\x16\xd8\xde\xf8p\xc6\xe4\xbf\x9d<\ +\xf7t\x7fC\xe9\x95\xb7\x96\xd9\xff\x9b\x9c,\xfdN@\ +@H\x14\x9b\x01LP,\x06\xc4\x19@|\x22;\xca\ +\xf0\xe7\xe9\xf9\x06\xff\x81\xec\x03@\xbc^\x82\x9f\xf3\xf6\ +\x9e\x1a\xf3_az\x823P\xd2\x01T#3\x10\x0b\ +\x00\xb1\x1e\x10\x17\x03\xf1\xd1\xa8@\xdd\x9f\xad\x09J \ +\x03\xfe\x00\xf17 >\x0f\xb4kf\xb9\xa7\xea\x0d}\ +i>#d\x03\xb4\x808\x08\x88k\x81x\x09\xd4\xc6\ +\x1b\x11a\x06\xdf\xec\x94\xb8\xdf\x03\xd9;\x81x\x1a\x10\ +\xf7\x82\xd4\xb0\xb2\xb1G\xf9\xda\x99:L\x9d9\x9f\x09\ +f\x80\x0e\x10;\x02\xb1\x13\x10[\x00\xb1\x01\x10\x07\x06\ +{h\x9c\x02\xd2k\xa0\x86\x8b\x001\x17\x10\xf3\x80\xb0\ +\x88\x88(\xcb,hFC\xf6\x02\x08\xb3\x001+\x10\ +K122\xe4\x01i7 \x96\x01b6\xa88\x0b\ +T=cW\xef$\xb0\x01\x00\xceo{\xf5UL\xf0\ +\xac\x00\x00\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x08\ +\x0a\x85X\x07\ +\x00s\ +\x00t\x00a\x00r\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01z\xe7\xee&\xfd\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/sql/books/ui_bookwindow.py b/examples/sql/books/ui_bookwindow.py new file mode 100644 index 0000000..1758915 --- /dev/null +++ b/examples/sql/books/ui_bookwindow.py @@ -0,0 +1,135 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'bookwindow.ui' +## +## Created by: Qt User Interface Compiler version 6.2.3 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QAbstractItemView, QApplication, QComboBox, QFormLayout, + QGroupBox, QHeaderView, QLabel, QLineEdit, + QMainWindow, QSizePolicy, QSpinBox, QTableView, + QVBoxLayout, QWidget) + +class Ui_BookWindow(object): + def setupUi(self, BookWindow): + if not BookWindow.objectName(): + BookWindow.setObjectName(u"BookWindow") + BookWindow.resize(601, 420) + self.centralWidget = QWidget(BookWindow) + self.centralWidget.setObjectName(u"centralWidget") + self.vboxLayout = QVBoxLayout(self.centralWidget) + self.vboxLayout.setSpacing(6) + self.vboxLayout.setObjectName(u"vboxLayout") + self.vboxLayout.setContentsMargins(9, 9, 9, 9) + self.groupBox = QGroupBox(self.centralWidget) + self.groupBox.setObjectName(u"groupBox") + self.vboxLayout1 = QVBoxLayout(self.groupBox) + self.vboxLayout1.setSpacing(6) + self.vboxLayout1.setObjectName(u"vboxLayout1") + self.vboxLayout1.setContentsMargins(9, 9, 9, 9) + self.bookTable = QTableView(self.groupBox) + self.bookTable.setObjectName(u"bookTable") + self.bookTable.setSelectionBehavior(QAbstractItemView.SelectRows) + + self.vboxLayout1.addWidget(self.bookTable) + + self.groupBox_2 = QGroupBox(self.groupBox) + self.groupBox_2.setObjectName(u"groupBox_2") + self.formLayout = QFormLayout(self.groupBox_2) + self.formLayout.setObjectName(u"formLayout") + self.label_5 = QLabel(self.groupBox_2) + self.label_5.setObjectName(u"label_5") + + self.formLayout.setWidget(0, QFormLayout.LabelRole, self.label_5) + + self.titleEdit = QLineEdit(self.groupBox_2) + self.titleEdit.setObjectName(u"titleEdit") + self.titleEdit.setEnabled(True) + + self.formLayout.setWidget(0, QFormLayout.FieldRole, self.titleEdit) + + self.label_2 = QLabel(self.groupBox_2) + self.label_2.setObjectName(u"label_2") + + self.formLayout.setWidget(1, QFormLayout.LabelRole, self.label_2) + + self.authorEdit = QComboBox(self.groupBox_2) + self.authorEdit.setObjectName(u"authorEdit") + self.authorEdit.setEnabled(True) + + self.formLayout.setWidget(1, QFormLayout.FieldRole, self.authorEdit) + + self.label_3 = QLabel(self.groupBox_2) + self.label_3.setObjectName(u"label_3") + + self.formLayout.setWidget(2, QFormLayout.LabelRole, self.label_3) + + self.genreEdit = QComboBox(self.groupBox_2) + self.genreEdit.setObjectName(u"genreEdit") + self.genreEdit.setEnabled(True) + + self.formLayout.setWidget(2, QFormLayout.FieldRole, self.genreEdit) + + self.label_4 = QLabel(self.groupBox_2) + self.label_4.setObjectName(u"label_4") + + self.formLayout.setWidget(3, QFormLayout.LabelRole, self.label_4) + + self.yearEdit = QSpinBox(self.groupBox_2) + self.yearEdit.setObjectName(u"yearEdit") + self.yearEdit.setEnabled(True) + self.yearEdit.setMinimum(-1000) + self.yearEdit.setMaximum(2100) + + self.formLayout.setWidget(3, QFormLayout.FieldRole, self.yearEdit) + + self.label = QLabel(self.groupBox_2) + self.label.setObjectName(u"label") + + self.formLayout.setWidget(4, QFormLayout.LabelRole, self.label) + + self.ratingEdit = QSpinBox(self.groupBox_2) + self.ratingEdit.setObjectName(u"ratingEdit") + self.ratingEdit.setMaximum(5) + + self.formLayout.setWidget(4, QFormLayout.FieldRole, self.ratingEdit) + + + self.vboxLayout1.addWidget(self.groupBox_2) + + + self.vboxLayout.addWidget(self.groupBox) + + BookWindow.setCentralWidget(self.centralWidget) + QWidget.setTabOrder(self.bookTable, self.titleEdit) + QWidget.setTabOrder(self.titleEdit, self.authorEdit) + QWidget.setTabOrder(self.authorEdit, self.genreEdit) + QWidget.setTabOrder(self.genreEdit, self.yearEdit) + + self.retranslateUi(BookWindow) + + QMetaObject.connectSlotsByName(BookWindow) + # setupUi + + def retranslateUi(self, BookWindow): + BookWindow.setWindowTitle(QCoreApplication.translate("BookWindow", u"Books", None)) + self.groupBox.setTitle("") + self.groupBox_2.setTitle(QCoreApplication.translate("BookWindow", u"Details", None)) + self.label_5.setText(QCoreApplication.translate("BookWindow", u"Title:", None)) + self.label_2.setText(QCoreApplication.translate("BookWindow", u"Author: ", None)) + self.label_3.setText(QCoreApplication.translate("BookWindow", u"Genre:", None)) + self.label_4.setText(QCoreApplication.translate("BookWindow", u"Year:", None)) + self.yearEdit.setPrefix("") + self.label.setText(QCoreApplication.translate("BookWindow", u"Rating:", None)) + # retranslateUi + diff --git a/examples/sql/relationaltablemodel/connection.py b/examples/sql/relationaltablemodel/connection.py new file mode 100644 index 0000000..6bfc828 --- /dev/null +++ b/examples/sql/relationaltablemodel/connection.py @@ -0,0 +1,18 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the relationaltablemodel example from Qt v6.x""" + + +from PySide6.QtSql import QSqlDatabase + + +def createConnection(): + + def check(func, *args): + if not func(*args): + raise ValueError(func.__self__.lastError()) + db = QSqlDatabase.addDatabase("QSQLITE") + db.setDatabaseName(":memory:") + + check(db.open) diff --git a/examples/sql/relationaltablemodel/relationaltablemodel.py b/examples/sql/relationaltablemodel/relationaltablemodel.py new file mode 100644 index 0000000..d2efac2 --- /dev/null +++ b/examples/sql/relationaltablemodel/relationaltablemodel.py @@ -0,0 +1,77 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the relationaltablemodel example from Qt v6.x""" + +import sys + +import connection + +from PySide6.QtCore import QObject, Qt +from PySide6.QtSql import (QSqlQuery, QSqlRelation, QSqlRelationalDelegate, + QSqlRelationalTableModel) +from PySide6.QtWidgets import QApplication, QTableView + + +def initializeModel(model): + + model.setTable("employee") + model.setEditStrategy(QSqlRelationalTableModel.OnManualSubmit) + model.setRelation(2, QSqlRelation("city", "id", "name")) + model.setRelation(3, QSqlRelation("country", "id", "name")) + model.setHeaderData(0, Qt.Horizontal, QObject().tr("ID")) + + model.setHeaderData(1, Qt.Horizontal, QObject().tr("Name")) + model.setHeaderData(2, Qt.Horizontal, QObject().tr("City")) + model.setHeaderData(3, Qt.Horizontal, QObject().tr("Country")) + + model.select() + + +def createView(title, model): + + table_view = QTableView() + table_view.setModel(model) + table_view.setItemDelegate(QSqlRelationalDelegate(table_view)) + table_view.setWindowTitle(title) + + return table_view + + +def createRelationalTables(): + + query = QSqlQuery() + + query.exec("create table employee(id int primary key, name varchar(20), city int, country int)") + query.exec("insert into employee values(1, 'Espen', 5000, 47)") + query.exec("insert into employee values(2, 'Harald', 80000, 49)") + query.exec("insert into employee values(3, 'Sam', 100, 1)") + + query.exec("create table city(id int, name varchar(20))") + query.exec("insert into city values(100, 'San Jose')") + query.exec("insert into city values(5000, 'Oslo')") + query.exec("insert into city values(80000, 'Munich')") + + query.exec("create table country(id int, name varchar(20))") + query.exec("insert into country values(1, 'USA')") + query.exec("insert into country values(47, 'Norway')") + query.exec("insert into country values(49, 'Germany')") + + +if __name__ == "__main__": + app = QApplication(sys.argv) + + connection.createConnection() + createRelationalTables() + + model = QSqlRelationalTableModel() + + initializeModel(model) + + title = "Relational Table Model" + + window = createView(title, model) + window.resize(600, 200) + window.show() + + sys.exit(app.exec()) diff --git a/examples/statemachine/moveblocks/doc/moveblocks.png b/examples/statemachine/moveblocks/doc/moveblocks.png new file mode 100644 index 0000000000000000000000000000000000000000..56353d1810d05a104a0a30a3740cb0d257e92f9f GIT binary patch literal 4532 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 literal 0 HcmV?d00001 diff --git a/examples/statemachine/moveblocks/doc/moveblocks.rst b/examples/statemachine/moveblocks/doc/moveblocks.rst new file mode 100644 index 0000000..4cffd3b --- /dev/null +++ b/examples/statemachine/moveblocks/doc/moveblocks.rst @@ -0,0 +1,10 @@ +Move Blocks Example +=================== + +The Move Blocks example shows how to animate items in a QGraphicsScene +using a QStateMachine with a custom transition. + + +.. image:: moveblocks.png + :width: 400 + :alt: Move Blocks Screenshot diff --git a/examples/statemachine/moveblocks/moveblocks.py b/examples/statemachine/moveblocks/moveblocks.py new file mode 100644 index 0000000..0d52c5b --- /dev/null +++ b/examples/statemachine/moveblocks/moveblocks.py @@ -0,0 +1,222 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the examples/statemachine/moveblocks example from Qt v6.x""" + +import sys + +from PySide6.QtCore import (QAbstractAnimation, QEasingCurve, QEvent, QObject, + QParallelAnimationGroup, QPropertyAnimation, + QRandomGenerator, QRect, QSequentialAnimationGroup, + Qt, QTimer) +from PySide6.QtGui import QPainter, QResizeEvent +from PySide6.QtWidgets import (QApplication, QGraphicsView, QGraphicsScene, + QGraphicsWidget, QStyleOptionGraphicsItem, + QWidget) +from PySide6.QtStateMachine import (QAbstractTransition, QState, QStateMachine) + + +StateSwitchType = QEvent.Type(QEvent.Type.User + 256) + + +class StateSwitchEvent(QEvent): + def __init__(self, rand: int = 0) -> None: + super().__init__(StateSwitchType) + self._rand = rand + + def rand(self) -> int: + return self._rand + + +class QGraphicsRectWidget(QGraphicsWidget): + def __init__(self): + super().__init__() + + def paint(self, painter: QPainter, + option: QStyleOptionGraphicsItem, widget: QWidget | None = None): + painter.fillRect(self.rect(), Qt.blue) + + +class StateSwitchTransition(QAbstractTransition): + def __init__(self, rand: int = 0) -> None: + super().__init__() + self._rand = rand + + def eventTest(self, event: QEvent) -> bool: + return event.type() == StateSwitchType and event.rand() == self._rand + + def onTransition(self, event: QEvent): + pass + + +class StateSwitcher(QState): + def __init__(self, machine: QStateMachine) -> None: + super().__init__(machine) + self._state_count = 0 + self._last_index = 0 + self.rg = QRandomGenerator.global_() + + def onEntry(self, event: QEvent) -> None: + while True: + n = int(self.rg.bounded(self._state_count)) + 1 + if n != self._last_index: + break + self._last_index = n + self.event = StateSwitchEvent(n) + self.machine().postEvent(self.event) + + def onExit(self, event: QEvent) -> None: + pass + + def addState(self, state: QState, animation: QAbstractAnimation) -> None: + self._state_count += 1 + trans = StateSwitchTransition(self._state_count) + trans.setTargetState(state) + self.addTransition(trans) + trans.addAnimation(animation) + + +def createGeometryState(w1: QObject, rect1: QRect, + w2: QObject, rect2: QRect, + w3: QObject, rect3: QRect, + w4: QObject, rect4: QRect, parent: QState) -> QState: + result = QState(parent) + result.assignProperty(w1, "geometry", rect1) + result.assignProperty(w2, "geometry", rect2) + result.assignProperty(w3, "geometry", rect3) + result.assignProperty(w4, "geometry", rect4) + + return result + + +class GraphicsView(QGraphicsView): + def __init__(self, scene: QGraphicsScene, parent: QWidget | None = None): + super().__init__(scene, parent) + + def resizeEvent(self, event: QResizeEvent) -> None: + self.fitInView(self.sceneRect()) + super().resizeEvent(event) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + + button1, button2 = QGraphicsRectWidget(), QGraphicsRectWidget() + button3, button4 = QGraphicsRectWidget(), QGraphicsRectWidget() + + button2.setZValue(1) + button3.setZValue(2) + button4.setZValue(3) + + scene = QGraphicsScene(0, 0, 300, 300) + scene.setBackgroundBrush(Qt.black) + scene.addItem(button1) + scene.addItem(button2) + scene.addItem(button3) + scene.addItem(button4) + + window = GraphicsView(scene) + window.setFrameStyle(0) + window.setAlignment(Qt.AlignLeft | Qt.AlignTop) + window.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + window.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + + machine = QStateMachine() + + group = QState() + group.setObjectName("group") + timer = QTimer() + timer.setInterval(1250) + timer.setSingleShot(True) + + group.entered.connect(timer.start) + + state1, state2, state3 = QState(), QState(), QState() + state4, state5, state6 = QState(), QState(), QState() + state7 = QState() + + state1 = createGeometryState(button1, QRect(100, 0, 50, 50), + button2, QRect(150, 0, 50, 50), + button3, QRect(200, 0, 50, 50), + button4, QRect(250, 0, 50, 50), + group) + state2 = createGeometryState(button1, QRect(250, 100, 50, 50), + button2, QRect(250, 150, 50, 50), + button3, QRect(250, 200, 50, 50), + button4, QRect(250, 250, 50, 50), + group) + state3 = createGeometryState(button1, QRect(150, 250, 50, 50), + button2, QRect(100, 250, 50, 50), + button3, QRect(50, 250, 50, 50), + button4, QRect(0, 250, 50, 50), + group) + state4 = createGeometryState(button1, QRect(0, 150, 50, 50), + button2, QRect(0, 100, 50, 50), + button3, QRect(0, 50, 50, 50), + button4, QRect(0, 0, 50, 50), + group) + state5 = createGeometryState(button1, QRect(100, 100, 50, 50), + button2, QRect(150, 100, 50, 50), + button3, QRect(100, 150, 50, 50), + button4, QRect(150, 150, 50, 50), + group) + state6 = createGeometryState(button1, QRect(50, 50, 50, 50), + button2, QRect(200, 50, 50, 50), + button3, QRect(50, 200, 50, 50), + button4, QRect(200, 200, 50, 50), + group) + state7 = createGeometryState(button1, QRect(0, 0, 50, 50), + button2, QRect(250, 0, 50, 50), + button3, QRect(0, 250, 50, 50), + button4, QRect(250, 250, 50, 50), + group) + group.setInitialState(state1) + + animation_group = QParallelAnimationGroup() + sub_group = QSequentialAnimationGroup() + + anim = QPropertyAnimation(button4, b"geometry") + anim.setDuration(1000) + anim.setEasingCurve(QEasingCurve.OutElastic) + animation_group.addAnimation(anim) + + sub_group = QSequentialAnimationGroup(animation_group) + sub_group.addPause(100) + anim = QPropertyAnimation(button3, b"geometry") + anim.setDuration(1000) + anim.setEasingCurve(QEasingCurve.OutElastic) + sub_group.addAnimation(anim) + + sub_group = QSequentialAnimationGroup(animation_group) + sub_group.addPause(150) + anim = QPropertyAnimation(button2, b"geometry") + anim.setDuration(1000) + anim.setEasingCurve(QEasingCurve.OutElastic) + sub_group.addAnimation(anim) + + sub_group = QSequentialAnimationGroup(animation_group) + sub_group.addPause(200) + anim = QPropertyAnimation(button1, b"geometry") + anim.setDuration(1000) + anim.setEasingCurve(QEasingCurve.OutElastic) + sub_group.addAnimation(anim) + + state_switcher = StateSwitcher(machine) + state_switcher.setObjectName("state_switcher") + group.addTransition(timer.timeout, state_switcher) + state_switcher.addState(state1, animation_group) + state_switcher.addState(state2, animation_group) + state_switcher.addState(state3, animation_group) + state_switcher.addState(state4, animation_group) + state_switcher.addState(state5, animation_group) + state_switcher.addState(state6, animation_group) + state_switcher.addState(state7, animation_group) + + machine.addState(group) + machine.setInitialState(group) + machine.start() + + window.resize(300, 300) + window.show() + + sys.exit(app.exec()) diff --git a/examples/statemachine/moveblocks/moveblocks.pyproject b/examples/statemachine/moveblocks/moveblocks.pyproject new file mode 100644 index 0000000..8c3eff5 --- /dev/null +++ b/examples/statemachine/moveblocks/moveblocks.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["moveblocks.py"] +} diff --git a/examples/statemachine/ping_pong/ping_pong.py b/examples/statemachine/ping_pong/ping_pong.py new file mode 100644 index 0000000..d5c18eb --- /dev/null +++ b/examples/statemachine/ping_pong/ping_pong.py @@ -0,0 +1,70 @@ +# Copyright (C) 2010 velociraptor Genjix +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtCore import QCoreApplication, QEvent +from PySide6.QtStateMachine import QAbstractTransition, QState, QStateMachine + + +class PingEvent(QEvent): + def __init__(self): + super().__init__(QEvent.Type(QEvent.User + 2)) + + +class PongEvent(QEvent): + def __init__(self): + super().__init__(QEvent.Type(QEvent.User + 3)) + + +class Pinger(QState): + def __init__(self, parent): + super().__init__(parent) + + def onEntry(self, e): + self.p = PingEvent() + self.machine().postEvent(self.p) + print('ping?') + + +class PongTransition(QAbstractTransition): + def eventTest(self, e): + return e.type() == QEvent.User + 3 + + def onTransition(self, e): + self.p = PingEvent() + machine.postDelayedEvent(self.p, 500) + print('ping?') + + +class PingTransition(QAbstractTransition): + def eventTest(self, e): + return e.type() == QEvent.User + 2 + + def onTransition(self, e): + self.p = PongEvent() + machine.postDelayedEvent(self.p, 500) + print('pong!') + + +if __name__ == '__main__': + app = QCoreApplication(sys.argv) + + machine = QStateMachine() + group = QState(QState.ParallelStates) + group.setObjectName('group') + + pinger = Pinger(group) + pinger.setObjectName('pinger') + pinger.addTransition(PongTransition()) + + ponger = QState(group) + ponger.setObjectName('ponger') + ponger.addTransition(PingTransition()) + + machine.addState(group) + machine.setInitialState(group) + machine.start() + + sys.exit(app.exec()) diff --git a/examples/statemachine/ping_pong/ping_pong.pyproject b/examples/statemachine/ping_pong/ping_pong.pyproject new file mode 100644 index 0000000..7fb4303 --- /dev/null +++ b/examples/statemachine/ping_pong/ping_pong.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["ping_pong.py"] +} diff --git a/examples/statemachine/rogue/rogue.py b/examples/statemachine/rogue/rogue.py new file mode 100644 index 0000000..a43d4d1 --- /dev/null +++ b/examples/statemachine/rogue/rogue.py @@ -0,0 +1,179 @@ +# Copyright (C) 2010 velociraptor Genjix +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtCore import (QEvent, QPoint, QRandomGenerator, QSize, Qt, + Property) +from PySide6.QtGui import QFont, QFontMetrics, QFontDatabase, QPainter +from PySide6.QtWidgets import QApplication, QMainWindow +from PySide6.QtStateMachine import (QEventTransition, QFinalState, + QKeyEventTransition, QState, QStateMachine) + + +class MovementTransition(QEventTransition): + def __init__(self, window): + super().__init__(window, QEvent.KeyPress) + self.window = window + + def eventTest(self, event): + if (event.type() == QEvent.StateMachineWrapped and + event.event().type() == QEvent.KeyPress): + key = event.event().key() + return (key == Qt.Key_2 or key == Qt.Key_8 or + key == Qt.Key_6 or key == Qt.Key_4) + return False + + def onTransition(self, event): + key = event.event().key() + if key == Qt.Key_4: + self.window.move_player(self.window.left) + if key == Qt.Key_8: + self.window.move_player(self.window.Up) + if key == Qt.Key_6: + self.window.move_player(self.window.right) + if key == Qt.Key_2: + self.window.move_player(self.window.down) + + +class Custom(QState): + def __init__(self, parent, mw): + super().__init__(parent) + self.mw = mw + + def onEntry(self, e): + print(self.mw.status) + + +class MainWindow(QMainWindow): + def __init__(self): + super().__init__() + self.pX = 5 + self.pY = 5 + self.width = 35 + self.height = 20 + self._status_str = '' + + font = QFont() + if 'Monospace' in QFontDatabase.families(): + font = QFont('Monospace', 12) + else: + for family in QFontDatabase.families(): + if QFontDatabase.isFixedPitch(family): + font = QFont(family, 12) + self.setFont(font) + + self.setup_map() + self.build_machine() + self.show() + + def setup_map(self): + self.map = [] + generator = QRandomGenerator().global_() + for x in range(self.width): + column = [] + for y in range(self.height): + if (x == 0 or x == self.width - 1 or y == 0 or + y == self.height - 1 or generator.bounded(0, 40) == 0): + column.append('#') + else: + column.append('.') + self.map.append(column) + + def build_machine(self): + machine = QStateMachine(self) + + input_state = Custom(machine, self) + # this line sets the status + self.status = 'hello!' + # however this line does not + input_state.assignProperty(self, 'status', 'Move the rogue with 2, 4, 6, and 8') + + machine.setInitialState(input_state) + machine.start() + + transition = MovementTransition(self) + input_state.addTransition(transition) + + quit_state = QState(machine) + quit_state.assignProperty(self, 'status', 'Really quit(y/n)?') + + yes_transition = QKeyEventTransition(self, QEvent.KeyPress, Qt.Key_Y) + self._final_state = QFinalState(machine) + yes_transition.setTargetState(self._final_state) + quit_state.addTransition(yes_transition) + + no_transition = QKeyEventTransition(self, QEvent.KeyPress, Qt.Key_N) + no_transition.setTargetState(input_state) + quit_state.addTransition(no_transition) + + quit_transition = QKeyEventTransition(self, QEvent.KeyPress, Qt.Key_Q) + quit_transition.setTargetState(quit_state) + input_state.addTransition(quit_transition) + + machine.setInitialState(input_state) + machine.finished.connect(qApp.quit) + machine.start() + + def sizeHint(self): + metrics = QFontMetrics(self.font()) + return QSize(metrics.horizontalAdvance('X') * self.width, + metrics.height() * (self.height + 1)) + + def paintEvent(self, event): + metrics = QFontMetrics(self.font()) + with QPainter(self) as painter: + font_height = metrics.height() + font_width = metrics.horizontalAdvance('X') + + painter.fillRect(self.rect(), Qt.black) + painter.setPen(Qt.white) + + y_pos = font_height + painter.drawText(QPoint(0, y_pos), self.status) + for y in range(self.height): + y_pos += font_height + x_pos = 0 + for x in range(self.width): + if y == self.pY and x == self.pX: + x_pos += font_width + continue + painter.drawText(QPoint(x_pos, y_pos), self.map[x][y]) + x_pos += font_width + painter.drawText(QPoint(self.pX * font_width, (self.pY + 2) * font_height), '@') + + def move_player(self, direction): + if direction == self.left: + if self.map[self.pX - 1][self.pY] != '#': + self.pX -= 1 + elif direction == self.right: + if self.map[self.pX + 1][self.pY] != '#': + self.pX += 1 + elif direction == self.Up: + if self.map[self.pX][self.pY - 1] != '#': + self.pY -= 1 + elif direction == self.down: + if self.map[self.pX][self.pY + 1] != '#': + self.pY += 1 + self.repaint() + + def get_status(self): + return self._status_str + + def set_status(self, status): + self._status_str = status + self.repaint() + status = Property(str, get_status, set_status) + Up = 0 + down = 1 + left = 2 + right = 3 + width = 35 + height = 20 + + +if __name__ == '__main__': + app = QApplication(sys.argv) + main_win = MainWindow() + sys.exit(app.exec()) diff --git a/examples/statemachine/rogue/rogue.pyproject b/examples/statemachine/rogue/rogue.pyproject new file mode 100644 index 0000000..b8baf98 --- /dev/null +++ b/examples/statemachine/rogue/rogue.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["rogue.py"] +} diff --git a/examples/statemachine/trafficlight/doc/trafficlight.png b/examples/statemachine/trafficlight/doc/trafficlight.png new file mode 100644 index 0000000000000000000000000000000000000000..24d40beec39fa93f5fccda169421b7b0eeaabaf6 GIT binary patch literal 4786 zcmcInXHe5y7XK5&BlJ)VN=HPhqV!IX4pKyVN2Ccz?=7HGr8g6| zZ=0Q*m&@Pfo}A1gY@v6hyU_#aHShiB(P?2m&z?O4*F{x*iGsq{M}%$phuH^X3&3oK z!LNnvLsZ@xnv*czf5KO5pmdipGkd)Na%xJ zoG;X@W8_P1f3_C0W8l@+!qgcddBuRp+W)&D4dj?AuR+OKHOG(2{n- zNR<(r$5}CxUth(tuD_|F@~%6+<%ol@i-`whk7@y zWGTO)cX5H~QT>Lk)XC)4)5THIsis|#6Z;P(``Mg_UD6C|sIyF`-cq`y%&+0FD#DAE z53&kGCuTg36M3*{7O8XDzAVod5oDHSmfz-!qZgmca56jo2ojBi2-qHz=5S02Ge>Cv zyYHJa){T@VCnwW#ax|TsoR+RXEDRgue?}C~YH>f0<9Uy?S6slh==}h1h<~ZT-p7Qb*QZ~{l>1fwaT%c0J``?_aLg+1v{wOuX`7uocSb&E=4|Fl^9i?_&f|xDd*A_lBhQ+2+Fuo4r+6QX1opLu!2<4)THZDt1!qyHx3b+{_5GOsbKd z+Pq`zt5<0^F;uZ{F^wP%HFUww6^86tZQEC}Qis8&1VS=aM?GwOyhV%UdH*`TlfUu; z%Zf)d9p;xX{7Mmk2O)2y1D7U$(wbLdH9)-pe7roM`KGaQ3|COa#t_>`T?yN8v2wTZ z3oH+EUu$2jVp;M+w9lSM&lpI2vKLJEvKEjv0i5N$yrNNhr7Xf4ziWb44a5WHs?4l5 zSS^(nl$~=ZIHw*hm(#MBpz0q z2S6bWOSz9vea4M9CW2(XPzHww(=v>}vgeo1^$HcIBNj+mj#OeTri%{mow z8+R#XRtM$~iw5!H)l_FSK=^aN&l_G$ir@^9<;w-=E)|GW@eF zc6<-iUiZflcs5vNUPQF(@$&M<(9+TI@&y6`UU%&qY!UlV1-~8f5_R#9`fE@O{ZI@) zZg6~Lr$H{gNhjMvlhwwSky08VjwxLy_V3_KZBiM?n9>6~4sADf-AQU%Ctmvo>X@fN z$@<>$(J|MSGhxaa_kZgoJR~~J2!4$M71shLwSc0p>3NnG$97{Do+0&`8OVFnOf7`m z=-T$bf*pL|TNkZ!`jjm0nwo52w6*#2*OHkKk@d_;+Z%^w*6P-ut zt+u9~Xw8}2uG?l-&~aCj_57@MK8L#~{XWb6KB*LKQn9-$em_qIgx7{ZO}Hq>*im*c zr<*=Zy0?9%jR}%JcBJ}UjrRF$c&kAP!?_0CydR#>1(cmb(@;zZ+l39qVI7V@b+$z2#=yOSdnSl(V?Z2+(t%mu zCLhisc6T76Rdp+quLZ_3!_-n4kUDlhRGrq+t}MN2O$e+3-$#hRP&veFZJ zdBVFX1*40j+i!470w+iPs~3Wz0p7^j-4`t&s7?Pk)K^o`SZ^ znGB|wvr9=DIMILjP~qZUb6lo)p#J%iTUi=jsIsc6^yFZ5?0dzKp7m*w{j^AjbW4W$ zjl8$Vvip*a5Ayi?xulL6Z!fSKd6muA83=UH2Yz>e`d|dDBOj3R~WJ#W@C6sb#XN|||_zsl7PvTXU0LSVO)w{PjQ@*!l- z{AN)1zxC-_RyD@_Q#_XS*~++hlH2jEod)d4>5fYjS#Hj2o4^lKYA#Jss(Bm`e zwPz&5Ff04ETi5-f=+=4MU(c{$HEC9bw9iD*?rJKpl-*5YiYfbAd1UU9h^wKf>s)h| zVYQ`JYUw~RV$0{&nYfbLQfiykmqq7tvqP7CHDiGVR-|r`>Pr7<==n(qg!BbHE2*H! z`Ve-u7L+!m&uYva;@7cZ$T@gE^VceNc>Uy74QC*AMSZVicoB>3_B$O2?;Le5BppcR zA_=Fn(FgVj<5ppmBCmR`f#3iHAYuo=2mlIz{!voE!xxIxZq zU->QCwg51c$sYN*GK(;wfYS&W((lzQCgDJApCrqSCq8cd`1Tj&rqCnyYFH?k$fY5i zTWsgTrn`;l=lu1=pa#?7D&TQ)cKeKb0Vchviy|r09E$40a0@lC+zl@22x8+8gF&oq zaPOEU{J)t7`f&{>09awyEJa2#tBRI=@z-bU2&d4&+)-;>yg1eLePAr^T#=E=sv>Z@ znu^&9xTgSw>fomy=Y#l`h+`xrMif-vcqc2&d$^StN7`Oj`79^Qx~G-cpWepQ zBGFL+U;{h(1UM-m!Xcv@u_F-x@ug%eB_`s77XL5^=R$amLtU;&_$e=#A-poVk1yf5 zAvp+tO~KTlp{|x2+6{XDF3waEHmo8y&ti8X_)^3}M3;GNE)IUXip5lt4W9c$=z6%R zxov$NW_L`?%|H{pk)zLJ$)0Xr9gzWIl;O$Lul`xIkkSJLe^Ba7I}PQrt+}XwO&dy}j)W z^5+RZCbzVIPc=GEFmuydXQNB8^gq!dSFn-_xUW8qZUyQc7NYgRfI~1eiBTnPGFBzdsQBrWCVwW@)xJsNHLAN(%R)jRJop@JPLP|G&5@g8 zDA-fx?mX3>2|W*zCbN8BRNB`@Q1Tlpi#vb}-l9;|z=$$y#+XNFiiv!< +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtCore import QTimer, Qt, Property, Slot +from PySide6.QtGui import QPainter, QPalette +from PySide6.QtWidgets import QApplication, QVBoxLayout, QWidget +from PySide6.QtStateMachine import QFinalState, QState, QStateMachine + + +class LightWidget(QWidget): + def __init__(self, color): + super().__init__() + self.color = color + self._on_val = False + + def is_on(self): + return self._on_val + + def set_on(self, on): + if self._on_val == on: + return + self._on_val = on + self.update() + + @Slot() + def turn_off(self): + self.set_on(False) + + @Slot() + def turn_on(self): + self.set_on(True) + + def paintEvent(self, e): + if not self._on_val: + return + with QPainter(self) as painter: + painter.setRenderHint(QPainter.Antialiasing) + painter.setBrush(self.color) + painter.drawEllipse(0, 0, self.width(), self.height()) + + on = Property(bool, is_on, set_on) + + +class TrafficLightWidget(QWidget): + def __init__(self): + super().__init__() + vbox = QVBoxLayout(self) + self._red_light = LightWidget(Qt.red) + vbox.addWidget(self._red_light) + self._yellow_light = LightWidget(Qt.yellow) + vbox.addWidget(self._yellow_light) + self._green_light = LightWidget(Qt.green) + vbox.addWidget(self._green_light) + pal = QPalette() + pal.setColor(QPalette.Window, Qt.black) + self.setPalette(pal) + self.setAutoFillBackground(True) + + +def create_light_state(light, duration, parent=None): + light_state = QState(parent) + timer = QTimer(light_state) + timer.setInterval(duration) + timer.setSingleShot(True) + timing = QState(light_state) + timing.entered.connect(light.turn_on) + timing.entered.connect(timer.start) + timing.exited.connect(light.turn_off) + done = QFinalState(light_state) + timing.addTransition(timer.timeout, done) + light_state.setInitialState(timing) + return light_state + + +class TrafficLight(QWidget): + def __init__(self): + super().__init__() + vbox = QVBoxLayout(self) + widget = TrafficLightWidget() + vbox.addWidget(widget) + vbox.setContentsMargins(0, 0, 0, 0) + + machine = QStateMachine(self) + red_going_yellow = create_light_state(widget._red_light, 1000) + red_going_yellow.setObjectName('redGoingYellow') + yellow_going_green = create_light_state(widget._red_light, 1000) + yellow_going_green.setObjectName('yellowGoingGreen') + red_going_yellow.addTransition(red_going_yellow.finished, + yellow_going_green) + green_going_yellow = create_light_state(widget._yellow_light, 3000) + green_going_yellow.setObjectName('greenGoingYellow') + yellow_going_green.addTransition(yellow_going_green.finished, + green_going_yellow) + yellow_going_red = create_light_state(widget._green_light, 1000) + yellow_going_red.setObjectName('yellowGoingRed') + green_going_yellow.addTransition(green_going_yellow.finished, + yellow_going_red) + yellow_going_red.addTransition(yellow_going_red.finished, + red_going_yellow) + + machine.addState(red_going_yellow) + machine.addState(yellow_going_green) + machine.addState(green_going_yellow) + machine.addState(yellow_going_red) + machine.setInitialState(red_going_yellow) + machine.start() + + +if __name__ == '__main__': + app = QApplication(sys.argv) + widget = TrafficLight() + widget.resize(110, 300) + widget.show() + sys.exit(app.exec()) diff --git a/examples/statemachine/trafficlight/trafficlight.pyproject b/examples/statemachine/trafficlight/trafficlight.pyproject new file mode 100644 index 0000000..9124726 --- /dev/null +++ b/examples/statemachine/trafficlight/trafficlight.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["trafficlight.py"] +} diff --git a/examples/uitools/uiloader/uiloader.py b/examples/uitools/uiloader/uiloader.py new file mode 100644 index 0000000..265c938 --- /dev/null +++ b/examples/uitools/uiloader/uiloader.py @@ -0,0 +1,35 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""QUiLoader example, showing how to dynamically load a Qt Designer form + from a UI file.""" + +from argparse import ArgumentParser, RawTextHelpFormatter +import sys + +from PySide6.QtCore import QFile, QIODevice +from PySide6.QtWidgets import QApplication +from PySide6.QtUiTools import QUiLoader + + +if __name__ == '__main__': + arg_parser = ArgumentParser(description="QUiLoader example", + formatter_class=RawTextHelpFormatter) + arg_parser.add_argument('file', type=str, help='UI file') + args = arg_parser.parse_args() + ui_file_name = args.file + + app = QApplication(sys.argv) + ui_file = QFile(ui_file_name) + if not ui_file.open(QIODevice.ReadOnly): + reason = ui_file.errorString() + print(f"Cannot open {ui_file_name}: {reason}") + sys.exit(-1) + loader = QUiLoader() + widget = loader.load(ui_file, None) + ui_file.close() + if not widget: + print(loader.errorString()) + sys.exit(-1) + widget.show() + sys.exit(app.exec()) diff --git a/examples/uitools/uiloader/uiloader.pyproject b/examples/uitools/uiloader/uiloader.pyproject new file mode 100644 index 0000000..3f4ea8c --- /dev/null +++ b/examples/uitools/uiloader/uiloader.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["uiloader.py"] +} diff --git a/examples/utils/pyside_config.py b/examples/utils/pyside_config.py new file mode 100644 index 0000000..feb56ed --- /dev/null +++ b/examples/utils/pyside_config.py @@ -0,0 +1,338 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sysconfig +from enum import Enum +import glob +import os +import re +import sys + + +PYSIDE = 'pyside6' +PYSIDE_MODULE = 'PySide6' +SHIBOKEN = 'shiboken6' + + +class Package(Enum): + SHIBOKEN_MODULE = 1 + SHIBOKEN_GENERATOR = 2 + PYSIDE_MODULE = 3 + + +generic_error = ('Did you forget to activate your virtualenv? Or perhaps' + f' you forgot to build / install {PYSIDE_MODULE} into your currently active Python' + ' environment?') +pyside_error = f'Unable to locate {PYSIDE_MODULE}. {generic_error}' +shiboken_module_error = f'Unable to locate {SHIBOKEN}-module. {generic_error}' +shiboken_generator_error = f'Unable to locate shiboken-generator. {generic_error}' +pyside_libs_error = f'Unable to locate the PySide shared libraries. {generic_error}' +python_link_error = 'Unable to locate the Python library for linking.' +python_include_error = 'Unable to locate the Python include headers directory.' + +options = [] + +# option, function, error, description +options.append(("--shiboken-module-path", + lambda: find_shiboken_module(), + shiboken_module_error, + "Print shiboken module location")) +options.append(("--shiboken-generator-path", + lambda: find_shiboken_generator(), + shiboken_generator_error, + "Print shiboken generator location")) +options.append(("--pyside-path", lambda: find_pyside(), pyside_error, + f"Print {PYSIDE_MODULE} location")) + +options.append(("--python-include-path", + lambda: get_python_include_path(), + python_include_error, + "Print Python include path")) +options.append(("--shiboken-generator-include-path", + lambda: get_package_include_path(Package.SHIBOKEN_GENERATOR), + pyside_error, + "Print shiboken generator include paths")) +options.append(("--pyside-include-path", + lambda: get_package_include_path(Package.PYSIDE_MODULE), + pyside_error, + "Print PySide6 include paths")) + +options.append(("--python-link-flags-qmake", lambda: python_link_flags_qmake(), python_link_error, + "Print python link flags for qmake")) +options.append(("--python-link-flags-cmake", lambda: python_link_flags_cmake(), python_link_error, + "Print python link flags for cmake")) + +options.append(("--shiboken-module-qmake-lflags", + lambda: get_package_qmake_lflags(Package.SHIBOKEN_MODULE), pyside_error, + "Print shiboken6 shared library link flags for qmake")) +options.append(("--pyside-qmake-lflags", + lambda: get_package_qmake_lflags(Package.PYSIDE_MODULE), pyside_error, + "Print PySide6 shared library link flags for qmake")) + +options.append(("--shiboken-module-shared-libraries-qmake", + lambda: get_shared_libraries_qmake(Package.SHIBOKEN_MODULE), pyside_libs_error, + "Print paths of shiboken shared libraries (.so's, .dylib's, .dll's) for qmake")) +options.append(("--shiboken-module-shared-libraries-cmake", + lambda: get_shared_libraries_cmake(Package.SHIBOKEN_MODULE), pyside_libs_error, + "Print paths of shiboken shared libraries (.so's, .dylib's, .dll's) for cmake")) + +options.append(("--pyside-shared-libraries-qmake", + lambda: get_shared_libraries_qmake(Package.PYSIDE_MODULE), pyside_libs_error, + "Print paths of f{PYSIDE_MODULE} shared libraries (.so's, .dylib's, .dll's) for qmake")) +options.append(("--pyside-shared-libraries-cmake", + lambda: get_shared_libraries_cmake(Package.PYSIDE_MODULE), pyside_libs_error, + f"Print paths of {PYSIDE_MODULE} shared libraries (.so's, .dylib's, .dll's) for cmake")) + +options_usage = '' +for i, (flag, _, _, description) in enumerate(options): + options_usage += f' {flag:<45} {description}' + if i < len(options) - 1: + options_usage += '\n' + +usage = f""" +Utility to determine include/link options of shiboken/PySide and Python for qmake/CMake projects +that would like to embed or build custom shiboken/PySide bindings. + +Usage: pyside_config.py [option] +Options: +{options_usage} + -a Print all options and their values + --help/-h Print this help +""" + +option = sys.argv[1] if len(sys.argv) == 2 else '-a' +if option == '-h' or option == '--help': + print(usage) + sys.exit(0) + + +def clean_path(path): + return path if sys.platform != 'win32' else path.replace('\\', '/') + + +def shared_library_suffix(): + if sys.platform == 'win32': + return 'lib' + elif sys.platform == 'darwin': + return 'dylib' + # Linux + else: + return 'so.*' + + +def import_suffixes(): + import importlib.machinery + return importlib.machinery.EXTENSION_SUFFIXES + + +def is_debug(): + debug_suffix = '_d.pyd' if sys.platform == 'win32' else '_d.so' + return any([s.endswith(debug_suffix) for s in import_suffixes()]) + + +def shared_library_glob_pattern(): + glob = '*.' + shared_library_suffix() + return glob if sys.platform == 'win32' else 'lib' + glob + + +def filter_shared_libraries(libs_list): + def predicate(lib_name): + basename = os.path.basename(lib_name) + if 'shiboken' in basename or 'pyside6' in basename: + return True + return False + result = [lib for lib in libs_list if predicate(lib)] + return result + + +# Return qmake link option for a library file name +def link_option(lib): + # On Linux: + # Since we cannot include symlinks with wheel packages + # we are using an absolute path for the libpyside and libshiboken + # libraries when compiling the project + baseName = os.path.basename(lib) + link = ' -l' + if sys.platform in ['linux', 'linux2']: # Linux: 'libfoo.so' -> '/absolute/path/libfoo.so' + link = lib + elif sys.platform in ['darwin']: # Darwin: 'libfoo.so' -> '-lfoo' + link += os.path.splitext(baseName[3:])[0] + else: # Windows: 'libfoo.dll' -> 'libfoo.dll' + link += os.path.splitext(baseName)[0] + return link + + +# Locate PySide6 via sys.path package path. +def find_pyside(): + return find_package_path(PYSIDE_MODULE) + + +def find_shiboken_module(): + return find_package_path(SHIBOKEN) + + +def find_shiboken_generator(): + return find_package_path(f"{SHIBOKEN}_generator") + + +def find_package(which_package): + if which_package == Package.SHIBOKEN_MODULE: + return find_shiboken_module() + if which_package == Package.SHIBOKEN_GENERATOR: + return find_shiboken_generator() + if which_package == Package.PYSIDE_MODULE: + return find_pyside() + return None + + +def find_package_path(dir_name): + for p in sys.path: + if 'site-' in p: + package = os.path.join(p, dir_name) + if os.path.exists(package): + return clean_path(os.path.realpath(package)) + return None + + +# Return version as "3.7" +def python_version(): + return str(sys.version_info[0]) + '.' + str(sys.version_info[1]) + + +def get_python_include_path(): + return sysconfig.get_path('include') + + +def python_link_flags_qmake(): + flags = python_link_data() + if sys.platform == 'win32': + libdir = flags['libdir'] + # This will add the "~1" shortcut for directories that + # contain white spaces + # e.g.: "Program Files" to "Progra~1" + for d in libdir.split("\\"): + if " " in d: + libdir = libdir.replace(d, d.split(" ")[0][:-1]+"~1") + lib_flags = flags['lib'] + return f'-L{libdir} -l{lib_flags}' + elif sys.platform == 'darwin': + libdir = flags['libdir'] + lib_flags = flags['lib'] + return f'-L{libdir} -l{lib_flags}' + else: + # Linux and anything else + libdir = flags['libdir'] + lib_flags = flags['lib'] + return f'-L{libdir} -l{lib_flags}' + + +def python_link_flags_cmake(): + flags = python_link_data() + libdir = flags['libdir'] + lib = re.sub(r'.dll$', '.lib', flags['lib']) + return f'{libdir};{lib}' + + +def python_link_data(): + # @TODO Fix to work with static builds of Python + libdir = sysconfig.get_config_var('LIBDIR') + if libdir is None: + libdir = os.path.abspath(os.path.join( + sysconfig.get_config_var('LIBDEST'), "..", "libs")) + version = python_version() + version_no_dots = version.replace('.', '') + + flags = {} + flags['libdir'] = libdir + if sys.platform == 'win32': + suffix = '_d' if is_debug() else '' + flags['lib'] = f'python{version_no_dots}{suffix}' + + elif sys.platform == 'darwin': + flags['lib'] = f'python{version}' + + # Linux and anything else + else: + flags['lib'] = f'python{version}{sys.abiflags}' + + return flags + + +def get_package_include_path(which_package): + package_path = find_package(which_package) + if package_path is None: + return None + + includes = f"{package_path}/include" + + return includes + + +def get_package_qmake_lflags(which_package): + package_path = find_package(which_package) + if package_path is None: + return None + + link = f"-L{package_path}" + glob_result = glob.glob(os.path.join(package_path, shared_library_glob_pattern())) + for lib in filter_shared_libraries(glob_result): + link += ' ' + link += link_option(lib) + return link + + +def get_shared_libraries_data(which_package): + package_path = find_package(which_package) + if package_path is None: + return None + + glob_result = glob.glob(os.path.join(package_path, shared_library_glob_pattern())) + filtered_libs = filter_shared_libraries(glob_result) + libs = [] + if sys.platform == 'win32': + for lib in filtered_libs: + libs.append(os.path.realpath(lib)) + else: + for lib in filtered_libs: + libs.append(lib) + return libs + + +def get_shared_libraries_qmake(which_package): + libs = get_shared_libraries_data(which_package) + if libs is None: + return None + + if sys.platform == 'win32': + if not libs: + return '' + dlls = '' + for lib in libs: + dll = os.path.splitext(lib)[0] + '.dll' + dlls += dll + ' ' + + return dlls + else: + libs_string = '' + for lib in libs: + libs_string += lib + ' ' + return libs_string + + +def get_shared_libraries_cmake(which_package): + libs = get_shared_libraries_data(which_package) + result = ';'.join(libs) + return result + + +print_all = option == "-a" +for argument, handler, error, _ in options: + if option == argument or print_all: + handler_result = handler() + if handler_result is None: + sys.exit(error) + + line = handler_result + if print_all: + line = f"{argument:<40}: {line}" + print(line) diff --git a/examples/webchannel/standalone/core.py b/examples/webchannel/standalone/core.py new file mode 100644 index 0000000..2d0cb02 --- /dev/null +++ b/examples/webchannel/standalone/core.py @@ -0,0 +1,25 @@ +# Copyright (C) 2017 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +from PySide6.QtCore import QObject, Signal, Slot + + +class Core(QObject): + """An instance of this class gets published over the WebChannel and is then + accessible to HTML clients.""" + sendText = Signal(str) + + def __init__(self, dialog, parent=None): + super().__init__(parent) + self._dialog = dialog + self._dialog.send_text.connect(self._emit_send_text) + + @Slot(str) + def _emit_send_text(self, text): + self.sendText.emit(text) + + @Slot(str) + def receiveText(self, text): + self._dialog.display_message(f"Received message: {text}") diff --git a/examples/webchannel/standalone/dialog.py b/examples/webchannel/standalone/dialog.py new file mode 100644 index 0000000..7f2413e --- /dev/null +++ b/examples/webchannel/standalone/dialog.py @@ -0,0 +1,32 @@ +# Copyright (C) 2017 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +from PySide6.QtCore import Signal, Slot +from PySide6.QtWidgets import QDialog +from ui_dialog import Ui_Dialog + + +class Dialog(QDialog): + send_text = Signal(str) + + def __init__(self, parent=None): + super().__init__(parent) + self._ui = Ui_Dialog() + self._ui.setupUi(self) + self._ui.send.clicked.connect(self.clicked) + self._ui.input.returnPressed.connect(self._ui.send.animateClick) + + @Slot(str) + def display_message(self, message): + self._ui.output.appendPlainText(message) + + @Slot() + def clicked(self): + text = self._ui.input.text() + if not text: + return + self.send_text.emit(text) + self.display_message(f"Sent message: {text}") + self._ui.input.clear() diff --git a/examples/webchannel/standalone/dialog.ui b/examples/webchannel/standalone/dialog.ui new file mode 100644 index 0000000..056a3f5 --- /dev/null +++ b/examples/webchannel/standalone/dialog.ui @@ -0,0 +1,48 @@ + + + Dialog + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + + Message Contents + + + + + + + Send + + + + + + + true + + + Initializing WebChannel... + + + false + + + + + + + + diff --git a/examples/webchannel/standalone/doc/standalone.png b/examples/webchannel/standalone/doc/standalone.png new file mode 100644 index 0000000000000000000000000000000000000000..972b0fbbfea4ed04ee4b671e6823b34ab4cad6a9 GIT binary patch literal 47586 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�jMO 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 + + + + + + + + +
    + + + diff --git a/examples/webchannel/standalone/main.py b/examples/webchannel/standalone/main.py new file mode 100644 index 0000000..8c04aa6 --- /dev/null +++ b/examples/webchannel/standalone/main.py @@ -0,0 +1,62 @@ +# Copyright (C) 2016 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +import os +import sys + +from PySide6.QtWidgets import QApplication +from PySide6.QtGui import QDesktopServices +from PySide6.QtNetwork import QHostAddress, QSslSocket +from PySide6.QtCore import (QFile, QFileInfo, QUrl) +from PySide6.QtWebChannel import QWebChannel +from PySide6.QtWebSockets import QWebSocketServer + +from dialog import Dialog +from core import Core +from websocketclientwrapper import WebSocketClientWrapper + + +if __name__ == '__main__': + app = QApplication(sys.argv) + if not QSslSocket.supportsSsl(): + print('The example requires SSL support.') + sys.exit(-1) + cur_dir = os.path.dirname(os.path.abspath(__file__)) + js_file_info = QFileInfo(f"{cur_dir}/qwebchannel.js") + if not js_file_info.exists(): + QFile.copy(":/qtwebchannel/qwebchannel.js", + js_file_info.absoluteFilePath()) + + # setup the QWebSocketServer + server = QWebSocketServer("QWebChannel Standalone Example Server", + QWebSocketServer.NonSecureMode) + if not server.listen(QHostAddress.LocalHost, 12345): + print("Failed to open web socket server.") + sys.exit(-1) + + # wrap WebSocket clients in QWebChannelAbstractTransport objects + client_wrapper = WebSocketClientWrapper(server) + + # setup the channel + channel = QWebChannel() + client_wrapper.client_connected.connect(channel.connectTo) + + # setup the UI + dialog = Dialog() + + # setup the core and publish it to the QWebChannel + core = Core(dialog) + channel.registerObject("core", core) + + # open a browser window with the client HTML page + url = QUrl.fromLocalFile(f"{cur_dir}/index.html") + QDesktopServices.openUrl(url) + + display_url = url.toDisplayString() + message = f"Initialization complete, opening browser at {display_url}." + dialog.display_message(message) + dialog.show() + + sys.exit(app.exec()) diff --git a/examples/webchannel/standalone/standalone.pyproject b/examples/webchannel/standalone/standalone.pyproject new file mode 100644 index 0000000..b4fcdfa --- /dev/null +++ b/examples/webchannel/standalone/standalone.pyproject @@ -0,0 +1,4 @@ +{ + "files": ["main.py", "core.py", "dialog.py", "websocketclientwrapper.py", + "websockettransport.py", "dialog.ui", "index.html"] +} diff --git a/examples/webchannel/standalone/ui_dialog.py b/examples/webchannel/standalone/ui_dialog.py new file mode 100644 index 0000000..866d2a2 --- /dev/null +++ b/examples/webchannel/standalone/ui_dialog.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'dialog.ui' +## +## Created by: Qt User Interface Compiler version 6.2.3 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QApplication, QDialog, QGridLayout, QLineEdit, + QPlainTextEdit, QPushButton, QSizePolicy, QWidget) + +class Ui_Dialog(object): + def setupUi(self, Dialog): + if not Dialog.objectName(): + Dialog.setObjectName(u"Dialog") + Dialog.resize(400, 300) + self.gridLayout = QGridLayout(Dialog) + self.gridLayout.setObjectName(u"gridLayout") + self.input = QLineEdit(Dialog) + self.input.setObjectName(u"input") + + self.gridLayout.addWidget(self.input, 1, 0, 1, 1) + + self.send = QPushButton(Dialog) + self.send.setObjectName(u"send") + + self.gridLayout.addWidget(self.send, 1, 1, 1, 1) + + self.output = QPlainTextEdit(Dialog) + self.output.setObjectName(u"output") + self.output.setReadOnly(True) + self.output.setPlainText(u"Initializing WebChannel...") + self.output.setBackgroundVisible(False) + + self.gridLayout.addWidget(self.output, 0, 0, 1, 2) + + + self.retranslateUi(Dialog) + + QMetaObject.connectSlotsByName(Dialog) + # setupUi + + def retranslateUi(self, Dialog): + Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None)) + self.input.setPlaceholderText(QCoreApplication.translate("Dialog", u"Message Contents", None)) + self.send.setText(QCoreApplication.translate("Dialog", u"Send", None)) + # retranslateUi + diff --git a/examples/webchannel/standalone/websocketclientwrapper.py b/examples/webchannel/standalone/websocketclientwrapper.py new file mode 100644 index 0000000..00b4108 --- /dev/null +++ b/examples/webchannel/standalone/websocketclientwrapper.py @@ -0,0 +1,35 @@ +# Copyright (C) 2017 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QObject, Signal, Slot + +from websockettransport import WebSocketTransport + + +class WebSocketClientWrapper(QObject): + """Wraps connected QWebSockets clients in WebSocketTransport objects. + + This code is all that is required to connect incoming WebSockets to + the WebChannel. Any kind of remote JavaScript client that supports + WebSockets can thus receive messages and access the published objects. + """ + client_connected = Signal(WebSocketTransport) + + def __init__(self, server, parent=None): + """Construct the client wrapper with the given parent. All clients + connecting to the QWebSocketServer will be automatically wrapped + in WebSocketTransport objects.""" + super().__init__(parent) + self._server = server + self._server.newConnection.connect(self.handle_new_connection) + self._transports = [] + + @Slot() + def handle_new_connection(self): + """Wrap an incoming WebSocket connection in a WebSocketTransport + object.""" + socket = self._server.nextPendingConnection() + transport = WebSocketTransport(socket) + self._transports.append(transport) + self.client_connected.emit(transport) diff --git a/examples/webchannel/standalone/websockettransport.py b/examples/webchannel/standalone/websockettransport.py new file mode 100644 index 0000000..ab60e84 --- /dev/null +++ b/examples/webchannel/standalone/websockettransport.py @@ -0,0 +1,51 @@ +# Copyright (C) 2017 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Milian Wolff +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtWebChannel import QWebChannelAbstractTransport +from PySide6.QtCore import QByteArray, QJsonDocument, Slot + + +class WebSocketTransport(QWebChannelAbstractTransport): + """QWebChannelAbstractSocket implementation using a QWebSocket internally. + + The transport delegates all messages received over the QWebSocket over + its textMessageReceived signal. Analogously, all calls to + sendTextMessage will be sent over the QWebSocket to the remote client. + """ + + def __init__(self, socket): + """Construct the transport object and wrap the given socket. + The socket is also set as the parent of the transport object.""" + super().__init__(socket) + self._socket = socket + self._socket.textMessageReceived.connect(self.text_message_received) + self._socket.disconnected.connect(self._disconnected) + + def __del__(self): + """Destroys the WebSocketTransport.""" + self._socket.deleteLater() + + def _disconnected(self): + self.deleteLater() + + def sendMessage(self, message): + """Serialize the JSON message and send it as a text message via the + WebSocket to the client.""" + doc = QJsonDocument(message) + json_message = str(doc.toJson(QJsonDocument.Compact), "utf-8") + self._socket.sendTextMessage(json_message) + + @Slot(str) + def text_message_received(self, message_data_in): + """Deserialize the stringified JSON messageData and emit + messageReceived.""" + message_data = QByteArray(bytes(message_data_in, encoding='utf8')) + message = QJsonDocument.fromJson(message_data) + if message.isNull(): + print("Failed to parse text message as JSON object:", message_data) + return + if not message.isObject(): + print("Received JSON message that is not an object: ", message_data) + return + self.messageReceived.emit(message.object(), self) diff --git a/examples/webenginequick/nanobrowser/ApplicationRoot.qml b/examples/webenginequick/nanobrowser/ApplicationRoot.qml new file mode 100644 index 0000000..55c4144 --- /dev/null +++ b/examples/webenginequick/nanobrowser/ApplicationRoot.qml @@ -0,0 +1,40 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtWebEngine + +QtObject { + id: root + + property QtObject defaultProfile: WebEngineProfile { + storageName: "Profile" + offTheRecord: false + } + + property QtObject otrProfile: WebEngineProfile { + offTheRecord: true + } + + property Component browserWindowComponent: BrowserWindow { + applicationRoot: root + } + property Component browserDialogComponent: BrowserDialog { + onClosing: destroy() + } + function createWindow(profile) { + var newWindow = browserWindowComponent.createObject(root); + newWindow.currentWebView.profile = profile; + profile.downloadRequested.connect(newWindow.onDownloadRequested); + return newWindow; + } + function createDialog(profile) { + var newDialog = browserDialogComponent.createObject(root); + newDialog.currentWebView.profile = profile; + return newDialog; + } + function load(url) { + var browserWindow = createWindow(defaultProfile); + browserWindow.currentWebView.url = url; + } +} diff --git a/examples/webenginequick/nanobrowser/BrowserDialog.qml b/examples/webenginequick/nanobrowser/BrowserDialog.qml new file mode 100644 index 0000000..7af347e --- /dev/null +++ b/examples/webenginequick/nanobrowser/BrowserDialog.qml @@ -0,0 +1,27 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Window +import QtWebEngine + +Window { + id: window + property alias currentWebView: webView + flags: Qt.Dialog + width: 800 + height: 600 + visible: true + onClosing: destroy() + WebEngineView { + id: webView + anchors.fill: parent + + onGeometryChangeRequested: function(geometry) { + window.x = geometry.x + window.y = geometry.y + window.width = geometry.width + window.height = geometry.height + } + } +} diff --git a/examples/webenginequick/nanobrowser/BrowserWindow.qml b/examples/webenginequick/nanobrowser/BrowserWindow.qml new file mode 100644 index 0000000..a517c5a --- /dev/null +++ b/examples/webenginequick/nanobrowser/BrowserWindow.qml @@ -0,0 +1,817 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtCore +import QtQml +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import QtQuick.Window +import QtWebEngine +import BrowserUtils + +ApplicationWindow { + id: browserWindow + property QtObject applicationRoot + property Item currentWebView: tabBar.currentIndex < tabBar.count ? tabLayout.children[tabBar.currentIndex] : null + property int previousVisibility: Window.Windowed + property int createdTabs: 0 + + width: 1300 + height: 900 + visible: true + title: currentWebView && currentWebView.title + + // Make sure the Qt.WindowFullscreenButtonHint is set on OS X. + Component.onCompleted: flags = flags | Qt.WindowFullscreenButtonHint + + onCurrentWebViewChanged: { + findBar.reset(); + } + + // When using style "mac", ToolButtons are not supposed to accept focus. + property bool platformIsMac: Qt.platform.os == "osx" + + Settings { + id : appSettings + property alias autoLoadImages: loadImages.checked + property alias javaScriptEnabled: javaScriptEnabled.checked + property alias errorPageEnabled: errorPageEnabled.checked + property alias pluginsEnabled: pluginsEnabled.checked + property alias fullScreenSupportEnabled: fullScreenSupportEnabled.checked + property alias autoLoadIconsForPage: autoLoadIconsForPage.checked + property alias touchIconsEnabled: touchIconsEnabled.checked + property alias webRTCPublicInterfacesOnly : webRTCPublicInterfacesOnly.checked + property alias devToolsEnabled: devToolsEnabled.checked + property alias pdfViewerEnabled: pdfViewerEnabled.checked + } + + Action { + shortcut: "Ctrl+D" + onTriggered: { + downloadView.visible = !downloadView.visible; + } + } + Action { + id: focus + shortcut: "Ctrl+L" + onTriggered: { + addressBar.forceActiveFocus(); + addressBar.selectAll(); + } + } + Action { + shortcut: StandardKey.Refresh + onTriggered: { + if (currentWebView) + currentWebView.reload(); + } + } + Action { + shortcut: StandardKey.AddTab + onTriggered: { + tabBar.createTab(tabBar.count != 0 ? currentWebView.profile : defaultProfile); + addressBar.forceActiveFocus(); + addressBar.selectAll(); + } + } + Action { + shortcut: StandardKey.Close + onTriggered: { + currentWebView.triggerWebAction(WebEngineView.RequestClose); + } + } + Action { + shortcut: StandardKey.Quit + onTriggered: browserWindow.close() + } + Action { + shortcut: "Escape" + onTriggered: { + if (currentWebView.state == "FullScreen") { + browserWindow.visibility = browserWindow.previousVisibility; + fullScreenNotification.hide(); + currentWebView.triggerWebAction(WebEngineView.ExitFullScreen); + } + + if (findBar.visible) + findBar.visible = false; + } + } + Action { + shortcut: "Ctrl+0" + onTriggered: currentWebView.zoomFactor = 1.0 + } + Action { + shortcut: StandardKey.ZoomOut + onTriggered: currentWebView.zoomFactor -= 0.1 + } + Action { + shortcut: StandardKey.ZoomIn + onTriggered: currentWebView.zoomFactor += 0.1 + } + + Action { + shortcut: StandardKey.Copy + onTriggered: currentWebView.triggerWebAction(WebEngineView.Copy) + } + Action { + shortcut: StandardKey.Cut + onTriggered: currentWebView.triggerWebAction(WebEngineView.Cut) + } + Action { + shortcut: StandardKey.Paste + onTriggered: currentWebView.triggerWebAction(WebEngineView.Paste) + } + Action { + shortcut: "Shift+"+StandardKey.Paste + onTriggered: currentWebView.triggerWebAction(WebEngineView.PasteAndMatchStyle) + } + Action { + shortcut: StandardKey.SelectAll + onTriggered: currentWebView.triggerWebAction(WebEngineView.SelectAll) + } + Action { + shortcut: StandardKey.Undo + onTriggered: currentWebView.triggerWebAction(WebEngineView.Undo) + } + Action { + shortcut: StandardKey.Redo + onTriggered: currentWebView.triggerWebAction(WebEngineView.Redo) + } + Action { + shortcut: StandardKey.Back + onTriggered: currentWebView.triggerWebAction(WebEngineView.Back) + } + Action { + shortcut: StandardKey.Forward + onTriggered: currentWebView.triggerWebAction(WebEngineView.Forward) + } + Action { + shortcut: StandardKey.Find + onTriggered: { + if (!findBar.visible) + findBar.visible = true; + } + } + Action { + shortcut: StandardKey.FindNext + onTriggered: findBar.findNext() + } + Action { + shortcut: StandardKey.FindPrevious + onTriggered: findBar.findPrevious() + } + + menuBar: ToolBar { + id: navigationBar + RowLayout { + anchors.fill: parent + ToolButton { + enabled: currentWebView && (currentWebView.canGoBack || currentWebView.canGoForward) + onClicked: historyMenu.open() + text: qsTr("▼") + Menu { + id: historyMenu + Instantiator { + model: currentWebView && currentWebView.history.items + MenuItem { + text: model.title + onTriggered: currentWebView.goBackOrForward(model.offset) + checkable: !enabled + checked: !enabled + enabled: model.offset + } + + onObjectAdded: function(index, object) { + historyMenu.insertItem(index, object) + } + onObjectRemoved: function(index, object) { + historyMenu.removeItem(object) + } + } + } + } + + ToolButton { + id: backButton + icon.source: "qrc:/icons/go-previous.png" + onClicked: currentWebView.goBack() + enabled: currentWebView && currentWebView.canGoBack + activeFocusOnTab: !browserWindow.platformIsMac + } + ToolButton { + id: forwardButton + icon.source: "qrc:/icons/go-next.png" + onClicked: currentWebView.goForward() + enabled: currentWebView && currentWebView.canGoForward + activeFocusOnTab: !browserWindow.platformIsMac + } + ToolButton { + id: reloadButton + icon.source: currentWebView && currentWebView.loading ? "qrc:/icons/process-stop.png" : "qrc:/icons/view-refresh.png" + onClicked: currentWebView && currentWebView.loading ? currentWebView.stop() : currentWebView.reload() + activeFocusOnTab: !browserWindow.platformIsMac + } + TextField { + id: addressBar + Image { + anchors.verticalCenter: addressBar.verticalCenter; + x: 5 + z: 2 + id: faviconImage + width: 16; height: 16 + sourceSize: Qt.size(width, height) + source: currentWebView && currentWebView.icon ? currentWebView.icon : '' + } + MouseArea { + id: textFieldMouseArea + acceptedButtons: Qt.RightButton + anchors.fill: parent + onClicked: { + var textSelectionStartPos = addressBar.selectionStart; + var textSelectionEndPos = addressBar.selectionEnd; + textFieldContextMenu.open(); + addressBar.select(textSelectionStartPos, textSelectionEndPos); + } + Menu { + id: textFieldContextMenu + x: textFieldMouseArea.mouseX + y: textFieldMouseArea.mouseY + MenuItem { + text: qsTr("Cut") + onTriggered: addressBar.cut() + enabled: addressBar.selectedText.length > 0 + } + MenuItem { + text: qsTr("Copy") + onTriggered: addressBar.copy() + enabled: addressBar.selectedText.length > 0 + } + MenuItem { + text: qsTr("Paste") + onTriggered: addressBar.paste() + enabled: addressBar.canPaste + } + MenuItem { + text: qsTr("Delete") + onTriggered: addressBar.text = qsTr("") + enabled: addressBar.selectedText.length > 0 + } + MenuSeparator {} + MenuItem { + text: qsTr("Select All") + onTriggered: addressBar.selectAll() + enabled: addressBar.text.length > 0 + } + } + } + leftPadding: 26 + focus: true + Layout.fillWidth: true + Binding on text { + when: currentWebView + value: currentWebView.url + } + onAccepted: currentWebView.url = Utils.fromUserInput(text) + selectByMouse: true + } + ToolButton { + id: settingsMenuButton + text: qsTr("⋮") + onClicked: settingsMenu.open() + Menu { + id: settingsMenu + y: settingsMenuButton.height + MenuItem { + id: loadImages + text: "Autoload images" + checkable: true + checked: WebEngine.settings.autoLoadImages + } + MenuItem { + id: javaScriptEnabled + text: "JavaScript On" + checkable: true + checked: WebEngine.settings.javascriptEnabled + } + MenuItem { + id: errorPageEnabled + text: "ErrorPage On" + checkable: true + checked: WebEngine.settings.errorPageEnabled + } + MenuItem { + id: pluginsEnabled + text: "Plugins On" + checkable: true + checked: true + } + MenuItem { + id: fullScreenSupportEnabled + text: "FullScreen On" + checkable: true + checked: WebEngine.settings.fullScreenSupportEnabled + } + MenuItem { + id: offTheRecordEnabled + text: "Off The Record" + checkable: true + checked: currentWebView && currentWebView.profile === otrProfile + onToggled: function(checked) { + if (currentWebView) { + currentWebView.profile = checked ? otrProfile : defaultProfile; + } + } + } + MenuItem { + id: httpDiskCacheEnabled + text: "HTTP Disk Cache" + checkable: currentWebView && !currentWebView.profile.offTheRecord + checked: currentWebView && (currentWebView.profile.httpCacheType === WebEngineProfile.DiskHttpCache) + onToggled: function(checked) { + if (currentWebView) { + currentWebView.profile.httpCacheType = checked ? WebEngineProfile.DiskHttpCache : WebEngineProfile.MemoryHttpCache; + } + } + } + MenuItem { + id: autoLoadIconsForPage + text: "Icons On" + checkable: true + checked: WebEngine.settings.autoLoadIconsForPage + } + MenuItem { + id: touchIconsEnabled + text: "Touch Icons On" + checkable: true + checked: WebEngine.settings.touchIconsEnabled + enabled: autoLoadIconsForPage.checked + } + MenuItem { + id: webRTCPublicInterfacesOnly + text: "WebRTC Public Interfaces Only" + checkable: true + checked: WebEngine.settings.webRTCPublicInterfacesOnly + } + MenuItem { + id: devToolsEnabled + text: "Open DevTools" + checkable: true + checked: false + } + MenuItem { + id: pdfViewerEnabled + text: "PDF viewer enabled" + checkable: true + checked: WebEngine.settings.pdfViewerEnabled + } + } + } + } + ProgressBar { + id: progressBar + height: 3 + anchors { + left: parent.left + top: parent.bottom + right: parent.right + leftMargin: parent.leftMargin + rightMargin: parent.rightMargin + } + background: Item {} + z: -2 + from: 0 + to: 100 + value: (currentWebView && currentWebView.loadProgress < 100) ? currentWebView.loadProgress : 0 + } + } + + StackLayout { + id: tabLayout + currentIndex: tabBar.currentIndex + + anchors.top: tabBar.bottom + anchors.bottom: devToolsView.top + anchors.left: parent.left + anchors.right: parent.right + } + + Component { + id: tabButtonComponent + + TabButton { + property color frameColor: "#999" + property color fillColor: "#eee" + property color nonSelectedColor: "#ddd" + property string tabTitle: "New Tab" + + id: tabButton + contentItem: Rectangle { + id: tabRectangle + color: tabButton.down ? fillColor : nonSelectedColor + border.width: 1 + border.color: frameColor + implicitWidth: Math.max(text.width + 30, 80) + implicitHeight: Math.max(text.height + 10, 20) + Rectangle { height: 1 ; width: parent.width ; color: frameColor} + Rectangle { height: parent.height ; width: 1; color: frameColor} + Rectangle { x: parent.width - 2; height: parent.height ; width: 1; color: frameColor} + Text { + id: text + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + anchors.leftMargin: 6 + text: tabButton.tabTitle + elide: Text.ElideRight + color: tabButton.down ? "black" : frameColor + width: parent.width - button.background.width + } + Button { + id: button + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + anchors.rightMargin: 4 + height: 12 + background: Rectangle { + implicitWidth: 12 + implicitHeight: 12 + color: button.hovered ? "#ccc" : tabRectangle.color + Text {text: "x"; anchors.centerIn: parent; color: "gray"} + } + onClicked: tabButton.closeTab() + } + } + + onClicked: addressBar.text = tabLayout.itemAt(TabBar.index).url; + function closeTab() { + tabBar.removeView(TabBar.index); + } + } + } + + TabBar { + id: tabBar + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + Component.onCompleted: createTab(defaultProfile) + + function createTab(profile, focusOnNewTab = true, url = undefined) { + var webview = tabComponent.createObject(tabLayout, {profile: profile}); + var newTabButton = tabButtonComponent.createObject(tabBar, {tabTitle: Qt.binding(function () { return webview.title; })}); + tabBar.addItem(newTabButton); + if (focusOnNewTab) { + tabBar.setCurrentIndex(tabBar.count - 1); + } + if (url !== undefined) { + webview.url = url; + } + return webview; + } + + function removeView(index) { + tabBar.removeItem(index); + if (tabBar.count > 1) { + tabBar.removeItem(tabBar.itemAt(index)); + tabLayout.children[index].destroy(); + } else { + browserWindow.close(); + } + } + + Component { + id: tabComponent + WebEngineView { + id: webEngineView + focus: true + + onLinkHovered: function(hoveredUrl) { + if (hoveredUrl == "") + hideStatusText.start(); + else { + statusText.text = hoveredUrl; + statusBubble.visible = true; + hideStatusText.stop(); + } + } + + states: [ + State { + name: "FullScreen" + PropertyChanges { + target: tabBar + visible: false + height: 0 + } + PropertyChanges { + target: navigationBar + visible: false + } + } + ] + settings.localContentCanAccessRemoteUrls: true + settings.localContentCanAccessFileUrls: false + settings.autoLoadImages: appSettings.autoLoadImages + settings.javascriptEnabled: appSettings.javaScriptEnabled + settings.errorPageEnabled: appSettings.errorPageEnabled + settings.pluginsEnabled: appSettings.pluginsEnabled + settings.fullScreenSupportEnabled: appSettings.fullScreenSupportEnabled + settings.autoLoadIconsForPage: appSettings.autoLoadIconsForPage + settings.touchIconsEnabled: appSettings.touchIconsEnabled + settings.webRTCPublicInterfacesOnly: appSettings.webRTCPublicInterfacesOnly + settings.pdfViewerEnabled: appSettings.pdfViewerEnabled + + onCertificateError: function(error) { + error.defer(); + sslDialog.enqueue(error); + } + + onNewWindowRequested: function(request) { + if (!request.userInitiated) + console.warn("Blocked a popup window."); + else if (request.destination === WebEngineNewWindowRequest.InNewTab) { + var tab = tabBar.createTab(currentWebView.profile, true, request.requestedUrl); + tab.acceptAsNewWindow(request); + } else if (request.destination === WebEngineNewWindowRequest.InNewBackgroundTab) { + var backgroundTab = tabBar.createTab(currentWebView.profile, false); + backgroundTab.acceptAsNewWindow(request); + } else if (request.destination === WebEngineNewWindowRequest.InNewDialog) { + var dialog = applicationRoot.createDialog(currentWebView.profile); + dialog.currentWebView.acceptAsNewWindow(request); + } else { + var window = applicationRoot.createWindow(currentWebView.profile); + window.currentWebView.acceptAsNewWindow(request); + } + } + + onFullScreenRequested: function(request) { + if (request.toggleOn) { + webEngineView.state = "FullScreen"; + browserWindow.previousVisibility = browserWindow.visibility; + browserWindow.showFullScreen(); + fullScreenNotification.show(); + } else { + webEngineView.state = ""; + browserWindow.visibility = browserWindow.previousVisibility; + fullScreenNotification.hide(); + } + request.accept(); + } + + onRegisterProtocolHandlerRequested: function(request) { + console.log("accepting registerProtocolHandler request for " + + request.scheme + " from " + request.origin); + request.accept(); + } + + onRenderProcessTerminated: function(terminationStatus, exitCode) { + var status = ""; + switch (terminationStatus) { + case WebEngineView.NormalTerminationStatus: + status = "(normal exit)"; + break; + case WebEngineView.AbnormalTerminationStatus: + status = "(abnormal exit)"; + break; + case WebEngineView.CrashedTerminationStatus: + status = "(crashed)"; + break; + case WebEngineView.KilledTerminationStatus: + status = "(killed)"; + break; + } + + print("Render process exited with code " + exitCode + " " + status); + reloadTimer.running = true; + } + + onSelectClientCertificate: function(selection) { + selection.certificates[0].select(); + } + + onFindTextFinished: function(result) { + if (!findBar.visible) + findBar.visible = true; + + findBar.numberOfMatches = result.numberOfMatches; + findBar.activeMatch = result.activeMatch; + } + + onLoadingChanged: function(loadRequest) { + if (loadRequest.status == WebEngineView.LoadStartedStatus) + findBar.reset(); + } + + onFeaturePermissionRequested: function(securityOrigin, feature) { + featurePermissionDialog.securityOrigin = securityOrigin; + featurePermissionDialog.feature = feature; + featurePermissionDialog.visible = true; + } + + Timer { + id: reloadTimer + interval: 0 + running: false + repeat: false + onTriggered: currentWebView.reload() + } + } + } + } + WebEngineView { + id: devToolsView + visible: devToolsEnabled.checked + height: visible ? 400 : 0 + inspectedView: visible && tabBar.currentIndex < tabBar.count ? tabLayout.children[tabBar.currentIndex] : null + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + onNewWindowRequested: function(request) { + var tab = tabBar.createTab(currentWebView.profile); + request.openIn(tab); + } + + Timer { + id: hideTimer + interval: 0 + running: false + repeat: false + onTriggered: devToolsEnabled.checked = false + } + onWindowCloseRequested: function(request) { + // Delay hiding for keep the inspectedView set to receive the ACK message of close. + hideTimer.running = true; + } + } + Dialog { + id: sslDialog + anchors.centerIn: parent + contentWidth: Math.max(mainTextForSSLDialog.width, detailedTextForSSLDialog.width) + contentHeight: mainTextForSSLDialog.height + detailedTextForSSLDialog.height + property var certErrors: [] + // fixme: icon! + // icon: StandardIcon.Warning + standardButtons: Dialog.No | Dialog.Yes + title: "Server's certificate not trusted" + contentItem: Item { + Label { + id: mainTextForSSLDialog + text: "Do you wish to continue?" + } + Text { + id: detailedTextForSSLDialog + anchors.top: mainTextForSSLDialog.bottom + text: "If you wish so, you may continue with an unverified certificate.\n" + + "Accepting an unverified certificate means\n" + + "you may not be connected with the host you tried to connect to.\n" + + "Do you wish to override the security check and continue?" + } + } + + onAccepted: { + certErrors.shift().acceptCertificate(); + presentError(); + } + onRejected: reject() + + function reject(){ + certErrors.shift().rejectCertificate(); + presentError(); + } + function enqueue(error){ + certErrors.push(error); + presentError(); + } + function presentError(){ + visible = certErrors.length > 0 + } + } + Dialog { + id: featurePermissionDialog + anchors.centerIn: parent + width: Math.min(browserWindow.width, browserWindow.height) / 3 * 2 + contentWidth: mainTextForPermissionDialog.width + contentHeight: mainTextForPermissionDialog.height + standardButtons: Dialog.No | Dialog.Yes + title: "Permission Request" + + property var feature; + property url securityOrigin; + + contentItem: Item { + Label { + id: mainTextForPermissionDialog + text: featurePermissionDialog.questionForFeature() + } + } + + onAccepted: currentWebView && currentWebView.grantFeaturePermission(securityOrigin, feature, true) + onRejected: currentWebView && currentWebView.grantFeaturePermission(securityOrigin, feature, false) + onVisibleChanged: { + if (visible) + width = contentWidth + 20; + } + + function questionForFeature() { + var question = "Allow " + securityOrigin + " to " + + switch (feature) { + case WebEngineView.Geolocation: + question += "access your location information?"; + break; + case WebEngineView.MediaAudioCapture: + question += "access your microphone?"; + break; + case WebEngineView.MediaVideoCapture: + question += "access your webcam?"; + break; + case WebEngineView.MediaVideoCapture: + question += "access your microphone and webcam?"; + break; + case WebEngineView.MouseLock: + question += "lock your mouse cursor?"; + break; + case WebEngineView.DesktopVideoCapture: + question += "capture video of your desktop?"; + break; + case WebEngineView.DesktopAudioVideoCapture: + question += "capture audio and video of your desktop?"; + break; + case WebEngineView.Notifications: + question += "show notification on your desktop?"; + break; + default: + question += "access unknown or unsupported feature [" + feature + "] ?"; + break; + } + + return question; + } + } + + FullScreenNotification { + id: fullScreenNotification + } + + DownloadView { + id: downloadView + visible: false + anchors.fill: parent + } + + function onDownloadRequested(download) { + downloadView.visible = true; + downloadView.append(download); + download.accept(); + } + + FindBar { + id: findBar + visible: false + anchors.right: parent.right + anchors.rightMargin: 10 + anchors.top: parent.top + + onFindNext: { + if (text) + currentWebView && currentWebView.findText(text); + else if (!visible) + visible = true; + } + onFindPrevious: { + if (text) + currentWebView && currentWebView.findText(text, WebEngineView.FindBackward); + else if (!visible) + visible = true; + } + } + + + Rectangle { + id: statusBubble + color: "oldlace" + property int padding: 8 + visible: false + + anchors.left: parent.left + anchors.bottom: parent.bottom + width: statusText.paintedWidth + padding + height: statusText.paintedHeight + padding + + Text { + id: statusText + anchors.centerIn: statusBubble + elide: Qt.ElideMiddle + + Timer { + id: hideStatusText + interval: 750 + onTriggered: { + statusText.text = ""; + statusBubble.visible = false; + } + } + } + } +} diff --git a/examples/webenginequick/nanobrowser/DownloadView.qml b/examples/webenginequick/nanobrowser/DownloadView.qml new file mode 100644 index 0000000..e16647c --- /dev/null +++ b/examples/webenginequick/nanobrowser/DownloadView.qml @@ -0,0 +1,127 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtWebEngine +import QtQuick.Layouts + +Rectangle { + id: downloadView + color: "lightgray" + + ListModel { + id: downloadModel + property var downloads: [] + } + + function append(download) { + downloadModel.append(download); + downloadModel.downloads.push(download); + } + + Component { + id: downloadItemDelegate + + Rectangle { + width: listView.width + height: childrenRect.height + anchors.margins: 10 + radius: 3 + color: "transparent" + border.color: "black" + Rectangle { + id: progressBar + + property real progress: downloadModel.downloads[index] + ? downloadModel.downloads[index].receivedBytes / downloadModel.downloads[index].totalBytes : 0 + + radius: 3 + color: width == listView.width ? "green" : "#2b74c7" + width: listView.width * progress + height: cancelButton.height + + Behavior on width { + SmoothedAnimation { duration: 100 } + } + } + Rectangle { + anchors { + left: parent.left + right: parent.right + leftMargin: 20 + } + Label { + id: label + text: downloadModel.downloads[index] ? downloadModel.downloads[index].downloadDirectory + "/" + downloadModel.downloads[index].downloadFileName : qsTr("") + anchors { + verticalCenter: cancelButton.verticalCenter + left: parent.left + right: cancelButton.left + } + } + Button { + id: cancelButton + anchors.right: parent.right + icon.source: "qrc:/icons/process-stop.png" + onClicked: { + var download = downloadModel.downloads[index]; + + download.cancel(); + + downloadModel.downloads = downloadModel.downloads.filter(function (el) { + return el.id !== download.id; + }); + downloadModel.remove(index); + } + } + } + } + + } + ListView { + id: listView + anchors { + topMargin: 10 + top: parent.top + bottom: parent.bottom + horizontalCenter: parent.horizontalCenter + } + width: parent.width - 20 + spacing: 5 + + model: downloadModel + delegate: downloadItemDelegate + + Text { + visible: !listView.count + horizontalAlignment: Text.AlignHCenter + height: 30 + anchors { + top: parent.top + left: parent.left + right: parent.right + } + font.pixelSize: 20 + text: "No active downloads." + } + + Rectangle { + color: "gray" + anchors { + bottom: parent.bottom + left: parent.left + right: parent.right + } + height: 30 + Button { + id: okButton + text: "OK" + anchors.centerIn: parent + onClicked: { + downloadView.visible = false; + } + } + } + } +} diff --git a/examples/webenginequick/nanobrowser/FindBar.qml b/examples/webenginequick/nanobrowser/FindBar.qml new file mode 100644 index 0000000..4d130a2 --- /dev/null +++ b/examples/webenginequick/nanobrowser/FindBar.qml @@ -0,0 +1,95 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +Rectangle { + id: root + + property int numberOfMatches: 0 + property int activeMatch: 0 + property alias text: findTextField.text + + function reset() { + numberOfMatches = 0; + activeMatch = 0; + visible = false; + } + + signal findNext() + signal findPrevious() + + width: 250 + height: 35 + radius: 2 + + border.width: 1 + border.color: "black" + color: "white" + + onVisibleChanged: { + if (visible) + findTextField.forceActiveFocus(); + } + + + RowLayout { + anchors.fill: parent + anchors.topMargin: 5 + anchors.bottomMargin: 5 + anchors.leftMargin: 10 + anchors.rightMargin: 10 + + spacing: 5 + + Rectangle { + Layout.fillWidth: true + Layout.fillHeight: true + + TextField { + id: findTextField + anchors.fill: parent + background: Rectangle { + color: "transparent" + } + + onAccepted: root.findNext() + onTextChanged: root.findNext() + onActiveFocusChanged: activeFocus ? selectAll() : deselect() + } + } + + Label { + text: activeMatch + "/" + numberOfMatches + visible: findTextField.text != "" + } + + Rectangle { + border.width: 1 + border.color: "#ddd" + width: 2 + height: parent.height + anchors.topMargin: 5 + anchors.bottomMargin: 5 + } + + ToolButton { + text: "<" + enabled: numberOfMatches > 0 + onClicked: root.findPrevious() + } + + ToolButton { + text: ">" + enabled: numberOfMatches > 0 + onClicked: root.findNext() + } + + ToolButton { + text: "x" + onClicked: root.visible = false + } + } +} diff --git a/examples/webenginequick/nanobrowser/FullScreenNotification.qml b/examples/webenginequick/nanobrowser/FullScreenNotification.qml new file mode 100644 index 0000000..7794064 --- /dev/null +++ b/examples/webenginequick/nanobrowser/FullScreenNotification.qml @@ -0,0 +1,62 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Rectangle { + id: fullScreenNotification + width: 500 + height: 40 + color: "white" + radius: 7 + + visible: false + opacity: 0 + + function show() { + visible = true; + opacity = 1; + reset.start(); + } + + function hide() { + reset.stop(); + opacity = 0; + } + + Behavior on opacity { + NumberAnimation { + duration: 750 + onStopped: { + if (opacity == 0) + visible = false; + } + } + } + + Timer { + id: reset + interval: 5000 + onTriggered: hide() + } + + anchors.horizontalCenter: parent.horizontalCenter + y: 125 + + Text { + id: message + width: parent.width + + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + + wrapMode: Text.WordWrap + elide: Text.ElideNone + clip: true + + text: qsTr("You are now in fullscreen mode. Press ESC to quit!") + } +} diff --git a/examples/webenginequick/nanobrowser/doc/nanobrowser.png b/examples/webenginequick/nanobrowser/doc/nanobrowser.png new file mode 100644 index 0000000000000000000000000000000000000000..3dddb05d93e0fcd9cb0b524da81b0d1792f482e9 GIT binary patch literal 56339 zcmd432T)Ymw?3+fI4uGrD2NCsQF4$VSwzV}at@L+N|Y=nL?kv*l9F?1lH^tdBuj=y zKuMCCoa0;V%P<~e0eyO(bM{_)t?&ERw1!uMXr^$PZ+0 zkE@!7g};`~kGtr-qE~MBWn9yHrC?jp{+aBve5OB2j%n+?jeL;)Gw?^mh5z`KKHxN5bPi$v>DgHZ zZuqlDESmf<1b6K!C+YArf4binjNwp?moITGHW~P-EOscksN2)`D>(iEra?FHce6ZtJszV8`qZ?Bl+>1JrSjR ztYxeIt?S|tGbYLPI^66j32y*4NckEA_f+=gL6RGJ%H_39zZ5q54jC<$-w!5hQlePXXR6c@bDJr!M&K+~qfv?2 z1NZSM#8L=pock&J&=a){nKLvKs$tc;t~Y+)y0IYz%_&ivDQ)dD*mZVF^g1Q@xIPc4i%#SJ@UehB|HKf#EONl9MPE2mCf52$OxpPlS``Papd%^~xqt7kuQw^-^*OF(NVH|NEvG+s zpF;SGk5cSsNm~D2VNxAFgyKm}cw}?ggPF;``!$C3a<}{LCfqB5mw5Y8yk|PAM$QBm z6_!!xbm@I%-Y2Qk+%@XN$)~Ce+WBvv>j zA>Qtu#a*_-7huyskNEFGI~=#*vhZdw!!YdcUw?0czkj_zrgQI$@0-+{@b3aqFut_v zrTg$NUK;KXZ|DLd(7%63l{NYOcU1=Nzpj1re_Z*0yMXix;_dHI|Hmu;&kO$ZO`Ec} zsc&QIhQ5*)h*Imj#Y#*!^oTQxiki-^yE#(t3zsd;PEXE{TZCUIxov4ZY<%O!!`a4j z7vhU87RN~}DJ#~N>xE319fDGCl3uy5Dlm}KC*GMPMoc4o& zd1ZX^sbQOv+kNvRB{|vfXg109fUyI%-K5Tq8Xt}~``K+1C!wYK-FZWfbKL~4OTxRm zK`yw7H;T2tw7n#fN{jMdN#T8PJU8Ou`aE-4nKPNw!HeU-_qo95m%-Xp0xp&A7}bFg zs!Bn745NQX(n(+werD23(OVwSu!tjt%pKi_wRA*samAq9M-DJ8APpIAVw4#KrQZ79j`vbGi4?39x=^OVtMk( zY%r770S}qDbI_(#6xQ~gkeHZwAdD%YIH!-|c#9RwVSuXkE{Yf=jr+vI?MYaG*^I1H zD`&=xn0-z54V+n-I2oQE@s1MKeYCkd&%_~o4*z>ZEhClu)|Wj(ZGNW_hxzrbqF7D4 zZiU#Q(KvMBt6fZrt>=y1H;29gb3O&?olY;u{Dd}s772bD|3tw`?er%pO(vaoo{Qn& z#5nmCckLsO<<1PQ3D+-2A;%(#-EIOZCN0Z#;shhu&rg5GG9O;PSjcPKcgta#Bz~!z znObmfi-s~&h`p-x1b3aBe)Z9>7R7S0mgJXvXp3LGbeWm4 zCKx58Hrkv}d1#SP<+3B$byw}u)(PXqg?<}aWNmM6dEjF_qycILt=h`@;lsm(iY1%g z+KqBML9)iWpi4L>ig8;>MhKp?!4_yR85y;X!-xs6Vv z6)Qupb`}KP7xPYtsd;o~mGDy3?NmHD5IH-~?h4prgls!pVQ;xkoGn)o5>8o6&;2<+ zIEv?fE--Mj?)F{j82=W-B(1e4M~gj-#WntC<+9ZRKe96wpB2=;P%S#U#prd>zx8Xt zLyw&ap(WTH0>=R&G6{A2MRIs9JM&|^ZxaNN+gW$WiPgy)_31?Oy}omyN#|ho z%g&!aAE7kxtSN8vj6SUDqqR5tBG-S+@NkcOxIhwS{Vo0Z1ojRRe|ClTW}}0=$;QbO zPs5>X8_10VuRIn6?irr1uy1+=QKE1g`Er9bTqz=481nDY=~8R5;nW2Gxv+p7%#Vh# z&e29u+4~7-20dK`6GEqBp4D}0Up&G;YFwD+YNsU}4hv4#VD>h-RZPUVF7$;4s9w7K zs~l3*h;7J`o0fr6I21fujeE-#p^W7srV)@!qV2cc&9=E!8K~BG=4@H}p%}Q*^BMy(D2Qt~fm=tL+b{ zD_^WsN~(X5`NQSdf;?)7zX2KVi6=rfO;0(ewklz1i98|BDy7y;tR{7?>s=%G^_;6N z1fQIgMr%i-9o}_-|6ycVrcsJrGMaqCV1Bvppv$<(i7B;EH0>s^CLtBZYqEiRTZ$hYY`PJe6d z=DKt2jonw;(;v?{|IEn6pLSy>mT?P_-xef2pdz3;@M}^w+UaW2;{unql20}iEv3tq zpAV%zONnt27kXf-_C|<(xk9h_c;@4yDkIR-D`EkG=93aBu2BoVk6&E1jzm9el#(`z zXV6uWw=6$+Dd}_VCTpQ>V`dU+EIdhZ#CV|MH!jMjzBSQPZMbr~%H{ff)qWZM)2BV4 z*bWs=(5x*Gi=$lZ){}k%hRncD3uA1@2qF9VH>ue=L+LpiVqT%Uiz^3AU8{P%1ud%$ zpXvXFxSSSG=^)9I%2PaopKQ_J?LH8t7x#l>l6UAe*gFX`s80g?f)$t zhQo#b8uMR>ZR-Y8F$F-&;>r2GtexetnnyoB2b?)KSZF9>)s~1X%g;9%CShUA5D#R!zi+X;0FG(%pZV%U$+YY=T z=h)vGGR~4iGWi|uuGvfBzDHYwM&EIATB-BiDby>so$ZM4>gsY^=w~skc3u8nC2_D+ z`o!t|+bBjz>z>zBv==6sTf2d8np52nmUDv%i4o1w5V+iBOIt(vb>k|^ZTJcqvg z`x~_kQ3f^c*twpx1VJaGkB@%7K#=Y4tW4DV9!Q5=)y&n%xf6hA?6Y=%eY$n3t_26I zf7Gomjodo2SSq#ZhWoj8CyVJu`J2sqq!jBBneqEzPX+9l!tne3n!F-mL%0!9;_zKsb&P9h=e7(Um#< z!D&?cWb#YU8G;LQ-#$nonUq+y3k`}*J}r%uW+}$=(%|la9^UxXEp_)UC(H<31#{e; zAgJQ6p65K%Hq)6P=rY?O7s+r#7Dwpr@WG^$Ub*sQ`Mc0O2F4PCPcPEL+B_+F7L<=mA>evfv+<@bS+1WQ8|GMDu)bY_leSLjP80|#0 z+albTN$DNmqaSxXJa*ubv~tuk9(=fK?6)_QmEtFVj^y|7KbV%T10Ond>hY_D;xjPh zoy4HGZ>O1-aC*X@=a$Fo7N@34ohIrv^R!?U?LbjzINrBw@H@g(IE)rQYZMHi_ z!fr6XHIgyy+*#Zt(yOG16J5BlxxKBGg=f_f$7A~Cwc}W|kdV;G$jD_bqeLzOJh;`< zg4ER1!=s}CF$%wvqn!!A110}++o|`1{f@SVa@4ajE6>1aPv^wEHs=Nl^s|(cFc7jR zi*|@X-Y2UjZqb?pxtfF&oE>5mr{HbSS`gF?kEdQ$Ck;$C1vA6jo1mW(Qw#Gse*Xwz za`=(x4jwS)I~QIA1{yc`8J^Sx9PMvGz$R5c6@!hWTWSg4VWB3$jdqWVoqee-nk|ro zb{yUlR;(q2YA8#E_9*GD#L3~tmmspfG#mkiXp``#xpvJ5V&(Zcl0w)hU5P?w&2M{7 z7+n6|ys+bXHUGX?%-elsybhun9@c+rVZg}9C`~$KeRI>*-M!GT#vSI-Wu~o3Y4|h{ zTQt-6{`0uCnCzHp39HJv43CDmaOe923F;^7({fvV0Z3*Q8b0grni_8iygZE@wd@BU z{@OT^4m^Kdy$RdQ$Jh7oq;x-+Tq*H(iT}wl>{usA7a8)=>%Y2FIP?Ylg#X0xYI{1` ztvu}_8X;%%spb$ua`r0{em;;cM$2sa-b+4TpJ_kYoeGP;Wu+X+fY4XLz1QpJzqcn$ z}$$)cWlFNm~67ayMOskNy0Hv7$+bDv)lo+G}d zQ)<}>kM6%W6AMYF%yuAGIY}6vZvXgT<(BzZbP@$l@Vf2=;e|_-VPV}653p_cA^IZd zWpL99Nf#E!C5V)<{$RPrb-tHTHvB0OB~Bx_H`R({K7IQ1udbv~_&TlsA&>9==Fi4J z4=iS&r>DfS^PR-eraG)0Ok}%K0o)66dg>1BYM7@KabGX^W_v7Gihu(q{DzdU$MVvT z9}nRD=(2WNKkz^84H4o3gYcM1 z`$bdYbi34@xgL5635lbeJ4Y*{m)Nw}p~l$srvGGR!zp^NlleYDcv3?KhLi-6p2+?1 z*)h}7+4GlnCxf{nnN_;7uKpfp4d%^zXE|q7w*W$Dduap`%JN95)#6|Q7K?3fovgWI0J)}l^=D&^+v4o>v__s*0c;!p18n8@uJbS|eZVIs*ik!M zTVhbDU+-_GK{Z@xxUxGFYwQO}-KQES!`!&K;Bkh_usYpO@X>g!r&&uVcC4l{ zAweHDSbH>EEEFEUNJ`vv*wMSqj?{;wbbA&*#QQsgo%IsJXv9&YZ@L z=oJwWQRz4)3}tW|I~oh&2|wMCdgZ#%FESiM^XEKP?`T8`JbEO z5XZj__0Kcl@)k~u{MX3;^XtGs|J5`6Rj>Zi|NbhH|J6|c_6+~~*MU3#J*EHY8N$*3 z{yOl{KfnGrGyLzX^Ph(LXCD6Z>%c|-4E4`5$eR3bXZW{5{9g_A&y@b}U+4c10ki$H zHG;kcPy!wvUNYdf$!N&Vr8>u#B@S1g>z$2e)ikv^T&zD_Z@;Ze&8C$f9%MgJpLGBH zQ~d1;Qk^R2879TJM}TzEXmoaVHefhN>FwKU}&hm+#;O zPvOTvr3;}FtS|2B?(XjDTK3h~2@MUk-3D;4o-P}aSY+OvoMgEv$y5vw)ErWlO0sCl zpggU(&oJZ|EqnyKvOT7(H9dfcRy@)DEVK-G12UA8AdU24PBY9;zk{3#z~L1U)%IME z*~#(I!UuSvg@L>VZ9=<+{v2L2kCpN0`uNO^Pt3)h8?!m{fq{Vl)h3#nGN5Q~Z*OBU z<@#058D%P4INYsE!B8w1b^GxogwvY3E&wA6DP+qeRz!K^Wo6rTwG8>o&wEH2<)>FxxYDR^Kl*W`tJBN& zrL0B?$rQ5LS62El66VCT=}jFLKXc2!$LMw12G?RL*n#Erw@VyI4fJi5R{es@Xx(_iQ>L`+fM<~*kP}zm8dJN0NVx-2JRz(OrD#-B-ZBu;o`8Aos-Pn4k&)Gc$v+y%wC?Jt?T_^ z8xS9W5p_#5_b!zoU14wV`|~NpurH`mDoKdyqRfHuey?`3yL0DhKCkBrkg#|Of4`UK zFLyBaevmpB|BU_4)`ZXAI*b-2Ob|G|TBJ`x)S5s&4lmzHZjb^P!q_9Lj7{jEg{LFsp1=H}_J zMWN7Ioc7!36f7~Ke}^fzI{_dm=rkV1qCgh;i$>UWE==N>Th^q4PYBuFgWKiS->#3G zBSauP*QbN@E*0pN^GdjLx{TI%IPLv$4R{C)57>^kUepfYFp8Cf#x7QnleQVc6aU<~ z_OB>+pgD}R8%@C!Bs8M8;iZ|T+O<+u)1(2#Mc-#7WCczE(@HP>mU}m<$y!2*T5&*t zY3;avLE~M?W98_%m8B*2nwKa^Bmq5@V0;OP4Dmim1_W)pK*TEqNO~8{@pbu8NU4TD zeBuyGuqx|9u^fJ7W);>wcOAY3Q*b$sSIT`Yjtc}%;<)zF7ha+NW#KGCAS1A2Vltf% zcVG6?6r?h8kD#c0j@0)Vkbh>@>CRu`5Wg>cMow>VJa#jf+$omZ{Og~(^5hhTupzh1 z8tpH%&*jSg{+Nh~7K|;pKT$K!*U$MxCk&qhg0yMx08VW5>~;B!0iYk9 zqKGF&#L9W@j%XjZ;qmFsz{~JxvKJy>=lH)_>b=qt_ToM=HvEe1YV*sqv@|((0Gp*v zJQk(6%r5wy6;P_SlF~b*zyo*U0d!IQew!X%4R8f~rQlocfYQ_DkhW7{*M!sv}YR_gt@)2SX$I;1ReI=2N zG!P#VV_KfF&s0I=0C9muUwHma8COjRwaDNTOXumYH@G-N_IcN#M)-Z}F-2mS+PX^I zO9vscw^k-3fF#+z00@Y~e-Ih42apXG1VE)Nt*k0-2Uz**m(=tXP3{U`h?k4s1HPs3 z%b}MrS;$2?nXPd~l~ShqCch8V5hkZ}c>IMA@WiqzEJ@X_ji>^NM?aqKm0aUDBkw+! zB<8IZ!qxu$a1}_n+4Kh}b&Fwb*{d9cGPCl7LlFHsP>EtV^lcwYZh!71i*s$%qoqFz zWRSp8p$18H;(0AJesK^=xD#n^Nk^unQr`k1kUP+sB(g)KpR*auYTGWgK5jt=P&S%R z!UTQFZ9bj-=5qyReoV$fV;L4KV33! zqv|QD2cg4us+~&Xj71j*%|#7|d`Nb#Z_t79Xb^VH9xb$Cdd{k-s6ez-+@5V=?x%Qt z4~X7YqoDop`^Xo2h#bi9c~>Gpxw5uu-4*6`NVszOGH_P*`FMK+_TJz;PD!tO!3afR zkFoq<$tl~?xFBLWL$hhf*REF! zSr$j{Qu0twsC5(*61RmSW4Xf;Qhc{Z#%eqq8kD3!m;tH5{1EcA-I<1iWfA@qQjC4P zY)|Ta&2KzTzesDR`)-8E@B1K$(rinBHStmUt^SattoPY-w$rByTAG!SW>n5mUquyV z6DdYAw8EMd_*Tl1=ISw#hR$CKAh{J_6MN1LY7`~{3SW`*pi@lXnH1f zwXrM<>%2z~WszKDAQtHmB!fr;u{j%?r?9L#>Ln;B=lv<;#I zlk|y$lh(~^6BgKM{p=qD^qAcYZ8ruR5F(s<<;&+~iA#4`DY%R@1RwDvQ)25E$VuGh znoL7(-@ct4Kwe~48izK;Oi$kTU_8!NP1B%}hbZK*lSz929kQB0x_mV2!hH^-mzK&& zkui0*gTvacs>c5LrMkqTJK3;P1#-J0&DGnF-X9Z2lDp(K*?`ogVc2g`ubnxe`Ry&F zqUrbiPf0ie;DG@*1-nmQVo}SE*gA;q@jL1q9UV1~tu(6hvUM8AT;B2X^W%MHKQhG- zpgYQR)o!$+z{_}FimBO20IJx6YO9n$CYhUCRJln6$UaDAZ7(Ia?FvXf`#b}&4Cb+Q zpbxIMr1&4__~Vq)*(z*v2o+>B7&x1 z^SZ+5;bIwvGkhvq6QD^f-*!yStuaC)#F&ZjKL z?Y+Ikv!~G(oU5?*?D=!RQuaRMO53kBNXy-gIk5_#$el**yrrY|`21zxmH32CtJ+Oy z7gv<`sLk$7_!ki!0-_(dgXF5V{dJn%Z;=vxE)rd)V^S~4vjduVUc^?*tyJu&xznh5 ziZ{snT=wr9tmm-+Jv!Z7T#ydSp!Ga|_N=1;YvGNDq}JWaX1Kf|!x$Q8JOdS#QlI?g zG0Vc{i?FaTIT<#W!sWpN;*2?!_v|{wcV0nKzfTo;Ly7>o67o*O@9?ACT!~n~yqM?u zJ>hvl`|O4Ar^o%#r``M>^tL9HsbNPSHJjT|b-%?Vg=boe>Mad^g%oA+6~r9}6_XNc z=VpZBv(Tn?g8JP_!jT8|!^M(Xfz<*E-P7tLz{QTzATzFik$g@N&1F2EULr^D|Bxzp zLg%d(v^`eFYOEghYaI~>?)7qyV=mo%fIbY*t&Q1tFKrd{>leGq7+tR|aR(3h+wA~G z`6$^W23-Fqjamp$z$}6uQ?KL@2a;ks(c1bt%HoVLh}D%zXpq*J%g<^cq$_GctBX$7 zr)!7wZ~6}X;?wE-@u6NC{yZ_lxfeN(Jo+?v!>b0C+cLXE<*o9MVHpkfRzS2Y&&m$Y zCb)3rJyB~6N5VU2!1o0l*W7wa#5cci1~j!2>Fr=gv+CPy+rI*)W%|HOUZ4^4mLpFZ zFJ`SHdm|y3oP(E!!`<#4wP~5V3d_I3$f6^z=a8+pu&@x*?JAGo;CoQ|PW7hjIK5D<`Ht`DIn zx+3I}H&yAjGTMO))yYAk@N#3>2l9%7&g9}{!|Vq)>?#@fKNKR#_G5$ZvmHU>aX@`x zu;746$rZGG-UyI~WJE042Va|WJs089QT%Ja=R>DpLDPA*Bj**nas79bLenVp7ijWW z_!t`-JG|Zx(A!9Gs}pMdv{28{Jk*pcXzh$A?2cd`pZJxNk(7Oc>jLi@?VS=&#NWnI z;r4E*lQ!J%+(qb)&Ptaoj+P}^K36arm&9}N@X#)OxVAllTRtff)S+3FvW7d@U?P0d z#$UD`aa(o1%NQHFGp00NYplH!CIWqddYj#qdTJ4Ew^;rCoT_tI|e!&Z% zO4+O;M*(3H5)$?qU#3{p+HYk}$#$yq^z^K2wfC6sZE8LU0F-foR{Z;6aoJ$+jd->9-24cC4>+Rb~NWZ*xKQ*x1b#+1JtU2XE12fek ze&(`d!C29~F|VP+mRqNMp5oqqqFyVuOQ+Vs12Emn_o}o)iGh;`dQ1BPtwal<#wa5G zldVOM7<8GjXJ4UlkGjXBKlc|MrbGj5JkH>Hd=7hJ&WynPFf2j?C-I4Ysx~MWEMs#> z0D6Od+AY%^&g^i3yC)x6wIVZl~ivR&CeGkAQ|@ZWdGx^dSo-!+zg` zI+)2S91ZL%V|!wA=j(%=AHKl$n@Ypit1G_CC_!I7M0kg_>K;`#^}X0J5`88$AkAh) zS5B%uYa6)2|2Ti1x656xY`{s_GzmQ|^&!bUs*bR{My<$5Z2#_$G+7hUTnz@b9l@*o zwo%WYOMxb4!S)T>nXnD=7Hv6u;Znx7+TlB%!B6EWGyhQ)CHt9WJKfVeG_T*)mGZx~E z%&i1^>yE${u}e!=1s#__B%(=9r`M)v*<2V<@Lf^yKk0Z<9js7Bt3K5Arwx1}6V0Hh z636`kaOV291&6GcdMsxURJr*S(nWkG7Okzc-s;WMcgM^=|LA(eMEKy~nXRnsSAac< zNlA>S525jaiUJ;$+ zPhUX1){}}1TLp2_;wPU2MkARs;Te>couv_V-vRVA`Ip|r{%v_9UqJf2Gth!;uL-YY z>5gn-q~-A)?)8fq$8db%TewT8?~dpvd9|>jdu0(nhVK4(H$P7hOj!-unp>J_ubf&< zQ8BUY);VHG)q(zt~@axNo# zzixpLd?qd~u8oP&AVap0orM=g6$cL^Tu*wsD)3F+2nm8WC)h*huLkWb#9k>A$&Gs; zq3&>8Xoi_q^m7~cX*coX(!vU=af~-e9q2P&8A*G+J@}OATn2~_nZ(O_X$^IuAqaLb zS=bulln9JlZdb@ck#evbUhvLNyiCaPxihDHb`gqLm7!csJHYoSw;0De?rM#VjTU63 zkEf*NSSfE=zO~7+`(BCg_C5ffyL)iZZYSouuTl3Mw9s|Ue>8Y^sz@)JSkKHQ;4B?KE zHg6jU?tm^xu>*#fH4YCC51Ycs7;_;BzeAmOb$nY8@^Kw5ZwFt4{~`urC;tt}#F$)gpwbVi?3HGn{++ZStLj>Vy zQ+jCcv#Jgh8Bbtt<2oaPDI`WEDX^Xf$2%L!(VjRSNtwX2;NW0^9Go3tbQFsA_o1PkPtVV-zX9rw zlb2(QpUmrkF0S|i>^kcnkqmNR(E;LxpzO_5qC%dH6mZakaNUziP9^^e5E@KN+0tw} z#Xq3;11XWdv0R3OlM~l-Elor-xaC-zI)cPl!BBkuGV7HWtgX^u90}RLj}i5B4thH% z4b3m>YS;OE#$w2~iz_YMXnLh&H3JfAR@(h73 zB2oh-NAALTA|g!^e$d=8_%YD7huYmP#i3sT1tt?81udDc4Gqx70|nXq5DacM^x&DB zg^v48&D^MWezBZ}e&6K43G(j!AxC%QMfauQ541NNFlDyFw=6pzs1H{-BrxROeR+PS zJH?oqRJ{@Qi4#wN&EpN&7_gRZ9v(QmS}R`An>Ttj?hart$^~K#GBN=2u__lC1-*+G zFSf^Uz}y;w&uB&!G(LW%`0LDkf4>n}Y8p zc<#4LWppkEG9WOx)->Q>xBOj)iyzufLc@zk#f0?*(G~9NU@s%5_!`ZoU8b1HqEr0d zYZ(+bT;L#O7$4`#h`2AwiV#5GoZJ_0w86ijNd_!&bYb$}_MlHj0T?am{o#C8$|QGy z+&5K~ZeV(QY0$`g{q}8?j7-Q?i)1t`wH3_=d)@0$K^Itgg2RleUFB#D%d9VA!A3x; zvqYu?0jbf(0!^EIvSA#xXHqLMZMv;!0*{Og1b3b_whE^es3@=o5P_Y_ozNWM=la}B zLJHG0gWnOu!Uy8I)XQ{`$#IH>Z1{EPZvhr@ad+1u%K=x?HKt+!?QK#Jb;a8TP{7=t z@e`8`gE4Aa)!*MgI7~TNbmaCWI1@ywvl)Oh(=Zud<^wQQ1+C0m&=dnHP(j*re>10b z2Y*T+AcyQ3v?t59zk?&Q?GGTZkK@pq1>h~6A(8fIl!?+hdd8IzmN%|$q8Nr zJCs8rt|ogFf^X3StUV}Im__KpPc1Lk!&g>UA6M!s+P`%WxzQX-J^JzS z)PB*|3ve>x3nb6}s2NRYd~3hI696qmFd25n-;y~p=>Zv6F?oHNY#6$u=I;*`rf?f+ zI}H7>6QT*a$9C(Nf)V*(M`JCC2hBX0K@{7tPkRv>v{8Ewjg}p856$ot5(Kb-O7c4o zA>5(yeHZ7&S+T)GhL?G)7(wU;8IT5ne8xC}<6EMizLfgO3_{u|&@F{-jrt!%MBtwK zXwCvy2s(d|!lW~2u~=$K%AAuRIn@%=`$4+A$AIsrCvI7Fecg0WG?_%Ih(C6AhNOfA z-<C@sp|?*6ddchx)(6aB z8_>ajEItA%wgF_}hMIk?d>tOx`8!tS$E%Gb>u;dVG=n_r%2}0bhH?wKxZiZT=0YJpH z%8hD2vOm(Lp5=(g-(KN0qTk17(!V@Xp<__Mzzx9y=Vd`E+&EE(2b|bWP=tbG?=f9& zAEXO40lL6qhz?Uc7gyH{#Kgx}V$kp~+C@eMM}m^i@O!-)_GS}2M5#c|j4=BCo)L*Y zHf*-Lmx4CWqZ=g;&Wpw;2uF|K$MaSQjK%p7v=J8w5FMSJokK%{nd%Df_-s<|1&wzm zwhY+CGZgzT7H~j{29X4WgeLF<47Qlbn)EPnKOd0C1E=hX9v)Ql_x2R#i|>gZySvvz zK)WK=E9>fxfF(mdV;D7+Q`QS)MqcH!egLT*uoc@u6hzh5+8WRNJ*bad2TA+LWDq-9 z1Aqb8G{2=3bo~AVL{8YaV0E^q>6#96001*yt82-`%j*pD2kK9T*G-sLsaF@OK%xO; zRvy$Iw@;}9;oG01z9j`&_t(##H~bmoB5^JkKr3K$S=-r3;j>YL{nUSZT_9tsC%G5) zC}i|Fb{;o1MS)4s#e-hI{)3PZcyF?z`l39J`8r_%i9_4K5mT1qM^+2u7`!U@`1rDd z;owTa-hiI1=MCMfsMolfm5kos#^xDEE-)BEGP7W5#h)q1bx1zkJf3kqyP4Z6($^7{O$U?(@2$RCv9zQU20w`C@zr!^?=;@LpRO$8wq-UwQdfK z&^{mH)wxR0z6#i^zo8El+_~<%dOkvS1sX+wBcRywDnEJhu~sIYjo*NY(TRhBfq|7( zKBl%}+d^sHDh+f7CJrHROsva*TfKib#cv-_{a%z!5jgZe!-Tif0u};bQOsxNiLh}3 z&%igX7Xa+P%FKfwvX|g3RZ#ue`e71Dz zNPh4@vnydl14dA(r+t1P6a_|l1wYo**h!fOSJ{v7x^YWaTn7Y%4`T(%98v?61G>@o_z2QC zX6_O5_E##~t`;s_2@?F;cQe_GIQ8!Uz&w41KsJ4@FDtCIuvqRSLdeB3J_Kq*>jdEK zSZw)=IPm|LfY#CLVy)Y`jn8DL41yNi(J=KMV!i=lJdb8;bF&t#1B%-b%II(-@{!lHI%M>4K0bT75|Et7wLp`kwSiw^$)yt51) zt?RML(r4EIBQ*ULY`B(9q@np^TtdmU{A_a@VP4l|U%1h2fFa(;9D8+6jApKtH6p+qf|fQK(H7BwhCMMVdk zVPwjspCc&!z(mKPH7E-e!S4VoSYB29(IH46AUl&g8wK0rSRP z@1t#jggLKG-rpEO&Ty$ClXa-*XwPH0U$GNSm4@?v?ufrNFaa)pq%UIL!-CJjJbG72 zb{08Cg7vMcs~iB zqkEi0dZ?Zakq9t;(qOPwT8mPVXBAz2inY42MMZ`juvIviA1+Co);pT*dXmPRpkA(R z28knt?J7DDiB`n5BNX}(S4ZZu>kYQ#7N)zPE@^}nUg9z`pxFmHV?`78!gWE9gw=Z( zat~_IDc)WUPF69|M{(#6-VSI@-U0lmNkQj%UnDwBpd4joUve;1T?u(i!8}TW*Rta# z7c+|tm6H47Kv01WGxt0(So<0MzkcrVV!FStr~7uj1vXrHpl2Y(?59Iy!3Fs^J#wPGR*m67iXFGn2`FjV# z*_tMuZd~CbRe}>;O34|F+|SQ)=IJQBSSYR(p0`fZ_tw-1cl>L1IR}@E%!rPd?OU));K7S)cu^jbTy`GI zSJ{Mb+5U!LRg#h0Zm2=wQlEf%?-@fl^+FVTd<=Ex~&OLt*_HOwbqmDGso$AjK9C(<`X5x3a zCgZ>teYZd0PtO(LC{U%vT<5~w?eCCBReUo)?d9#A_nZxmAv_e0L})m1wCft(%tR<| zk8R0tYPM;dV|_~&w|RPh>YCnB#3!eG~r+0xb8x?LGO~mNHAq)0tZUe+i$=O8rmO>Sf#W|L7D31Dgjtx zKogn4TGPWssP22_2RI0llap7LuEgn;j#axMB|sO*DsX&0b&WL0d=fXO3XLX|xl+Ux z%-qklY?WWZxcV`pL1fIPUKcuQ8QbkepRB%z4j}X~VxwOH*R=js2f_pJQTmC13k9np|pq4x@)dTrUR-_`k6kJ z2dU3p3qcBl*?@CQjBxaEy&2Bc44?t&aTwJOPk*(Bj_I`1yfQJZ__aQK%VNH_u|MI& zCFrI$W_Y)(GX`Z{p>ys zzaFHiBn)g%ZzEJ70CIE)-!2?PlTYJUfdCavUREd~y_0eJ-oalvK~cO5$myW62PPSP z!LspsfUW^OtY}3U?OwiaEpZ1%T7^8ebyUZz#;u~=VFhCmnvGvVmSh%P3&nzyw!Pr#`ajyhf>eUCc{RWHc` znik8!E%4l{KvOa1Eu3MB0g?|m9Fma0_3I{3mr=u=6wf5-d-PG}K^+yfIH{~PQQ>^Q z_~SwHk1@oH{W%-ZAOT~Q5JtNnwp7IpS~Xf)THPhoDGL43#Z}->Gkw(Z%~eJKQ?tE zS1Wb-rOY8WCwDGKIvdL7vB|4_<(gWqJ?)C;dfy{9t1LUO&Zn9OwZGEzYJ(0p$W+%A4eDMN@V{0UzV-X!D0#GI)W!m6U zX11@!$n)r(o3v`W#F!kFU@EbABpi+T%HEn9)09DsPWWE;8FRoGa757*mU3MavpGS* zsb8a+B3$@;LMH==lEr=15q0sW4U`7MS9mF91=f0Muo+=DnS3tT7Dzs{jCgy&MMG2S~%f9`s?!OcX!$qXTEoQgPz?bxnldwhX+GgI1dy8YS_E) zf^!bLz}O)G|GabwXEY8E5687OCe8@1foCq^`w?Lq9O39}D1`Gq{Q3Yf|Pl=g_UVXlD7;`F@m&)CqTK)0gr!%CmyFBE;R)rMEbXzr0K z&=h>{NV})dP0m)~CgwbT_(Z3M<3NZS_rEIpVHSJ+6Z1(QSUD!Pg zLk?0B(jX1e-Ju9bmjcoyN=bJPE!`!8k|GV#HFSrFbV(y!L&JA?-uJiO?=P2&h0cA> zeXg^wz4x`Jw96u;c2grR*mE<-e}5Up zj>M#*BDRLM9#PC&*E+Dx)qBf^Wz`s)>C1_S_tV#-BIw4^U#&RNsC2_y7{_|4u}r4v z$FRgsEg3ts#BJwJs_Be|do^~r&}S4~?rPqXq2}l`I&?v9(q&)kPi5@OMooeaaruUi zlFLV<^rpDgPrB9Mh7=F`?_OqRsA)Ohp+40w@(LmsosCgI`aQO(3YpV)GBp% zPPI<%UUYcgKTLolI(g;#aTBHRjCRO%rt#v&0}5oEfLQqmwcittR3DDt^*rOaO0wBC z-CP#5vvAIq%232jyfW8|9EjFSwwb80y+ycEh;bnt>Lq$ESIVLbKZbhV`)>Tov$%k< zor}hPHvZu!@9I}=ySgvCQ)^f0q@OA^y6q1a^F@^Fg5kYsz>kcBGDE1eb;-0`_OE|+Rl9Vmax`JjRviS_-J_gL zxNabB357cH*6e=l z|AfjkN0VM<8@c6elAHa-YpYr(2+?VDdvyFtSD;t&-ru`I=kN9(nguoy4>wXt^FdbQ z$gtKJgGYCE-7zsT1#YCmo&!~-g&#w*p&r7%x9$HpeFp^*>c3ev%4KfT2SxWK$`%+( z=Js<-BJbV)6OTYR2_U>@fO4n62U;^dAgzMu8%X6UmwWY~CS-x|1^c6I5XMjrT$y`Z zpk-(P;Gx&_K~_kbxL{I(U*ODs0M{^}6YiD?bu*h)5(N+UZ+G|(W2S7CrSd@c`ERP6 z=E)O8_A3)80Rt%zz=f84WR_6$85C0H7wzICVKqBKGyUdKSf&U&^f&JR^uNt4Nnu?c zb6zf3*O3YPjLZh<1eSbp%RK5W`{g`I+30d!Z$CZlY2%*Va>ko-8H$s3BrhA5ioE}) z;Z75I)WxnDPpsJAf}c3Y5rn>=H1$3b-W3jJ~pyM_+(Wo5*v< zEDVx&*7x=}=4uWP55Z5*LB>qpd#@ukKsjqdfhpYdxT~-46_EV!@bLCn!BeD*xqozU zsIVOX_{|VloKG&kXFq`Yd}e)+kOBlrdOEs?JQ?8A2i$W}{JXgp@aNaBUxC(%fr{EE z15$VVcfX+N66sU);&`PRG}?7PA(EAyu*oqqe_ES1Z8-Juc6a|{%hWz6>g%o-&!H&W zDUD112spPG1v}H0XZC$=bv0-yJeN#I?U$T4N@|+X-L}U50?F#b;LcR}FX>vf zv&RwSTB8`?=7HV9cY+aJ>!5uCe~XEZ4nYADl%z#p9FTCok$-QFjm6tZ0eKvYZT|OQ z@wT_O5AQ*zQ{VmtD7WQCEnr;x!7o#ter$#s%VF3^wD+R&Lrq(ol$TigIg+;skOy~* z3`8~y-`CXC@bU7hV|v4Ze!I+O3#fAlQAokJKZnYIB&)2p=ufD}pJB4Jun3-;Zf}2n zq!NA$c$Jstj-7dVdCOcmKw261XI(Qgtg?W0Z^Gp-7%j%wq3f3&%-EN@CZ9v?X3cM{EDc-b3g>rq+z-&Iwf8+K?pRl} zPIupUFNBT0r!8sNTq|f{QZ}kN$h_D0Ox&NLoE~U-e{OsTjT4aCJ=~M7`&LcvYR;4> za!xwsG<*DwSY8s>{~dn?;N?Mu<78^a9-FFW1_B!d4c}_m(GJlU@^=a zFekixd`CrkfJXqT*(wFM{c0EkZ>_CE90^!?^Xqngynwu76STzQoF*!#5fbjLxWPcOlX{4)DF*30Z@yx(9=f&cIaApXBY@q_n@1D+#2 zcui40A&G*VDEKxnMYzP)W=||lY{pk&(5uOI6aDMWe_;1lrH}>~q2LG}P6DD_2m8~s>^TYOlIZLRb ztc>$+1zysX&;63j56%%xfvz(HOlhsCq1LO#eSnrY+zhC#Z)}8cLazZ)yUMX*;h}rw zmM~&P%Ly!6uS4N3E-r_u5TD>kht1V2i{fVoi|{41aKd2uMKCx>b=R~0m^3i3&A0wL zNLbosCV24)A6S5~*1bJFW#!~n2Jyu7gJ!eMaXIZ~z*W<^ah6@bvRt$y7GprkZH1PO zKWWuRIn}B)i+k(69$$Q(mvWs@L@`RY-+Xg%Dl@=%Uw0x%ZB((o^)~zI@nj+%D_g9w z`@U!b_Dex(gnKq&YP0=C0>ADi+8}s`pTWL4(-qM#`nhmV$Kqv}UE+*a((GRZ#@I)r zQ6a5FzsQM%#4rEGnFDHYhyF#LWpTv8I=$Q>%`K_8M@68avrEXUz~9F=iB_HW^nQFvH_1gr18oV6`kcd zYnMm`>&FlV70zb_Aqk?~dd zx|S-oKx`l7tG6@6`fS1$+Wh^2X>odM zx{|&%-g#8kKZ@(?06r;Z!rFHSas4}>MgqkX%*Wb)RAa4%2}jK#uM$#Xd{suX8%l+b zwJ(bIuq2^xU4&E03qas1F!en@-)T*2oA6LGw1;wfdEV zCMu|o=ACoO=hAHXEc_QJeCB3mz&U}kyF47JDQyCb03dJ4;u=tgfPddQ0dn07O*1GI z%Fb+MZ9O|T7gPZl(GIul;8(gjUlT3)tg)U|0BHkUtB!a`l8WWFbiU;)6~Kbk@3RAp ztIf>FM|HDcDy=*IjkJlwBYR!r%eKd8sOW2r;9loBA{1$^OQPk@48dAXad38Cbxc!+ ztS+bmH-_1zJxC%nH8r)MSi<2KmJ1wV-0}W+vCK=5aW=SJ^AWK{7#eT)G$X9berG)*7t2wG@gfukFPp@m<~XH%=E_U(jy(y1a{sCdG}wP(hhHJjGw zLXGMr{vmQ5Te&u+{8Z@aIOZD%b;@`ye=y?u{bON}lNL*z;;^Q6B6X< z;bBnkfb2RjGz8p31w*W?mju%Q*z~>51DFNLeMLAWE34IQPp=y_6mJPQQsm|3fpdV& zxE_y2awsKM4*BU=ZtgU|a!(=s(F#KNXa#wB6;raku_%3-B*(Mg1K`iJOF$+?xcxY2 zF`l=@;5mY$B2)R4RuiKvckOXnv)qxFmD#5f`IIq+LYe0tvu(l(IY)xr47R4&Qu zEI3iuDfvwje8C+#t@ zwoU+QMy-15g2WcbfWKW)T2gY{0tFp`Cm4L$M+Ud=s%6F6Lh;uy;9TtU*#UNnuL}Fy zz{J7Kw@LKU4HS`M%w5oNz~34rC*4qJNSlB*kpA`aDwp{-2qz4AX?+-_^PKPkt0M9@ zSdxBAi)32v8v)7kE#lrZy@Gv4ljL>KsWYfgdy|hZ}(HxFmFOSj2+hck+$=f)mUtAt5Il~yL2Co!V z(`!9C|IA5N9zikG4AH;G6ON+E3A>Z2QkU5-OE#WG5eJPf9k*`q{rwv$i(GE?G7qPY z^W$>BW_cT=!|xgF^7?vpj@JG?Sdm}ogoK2={x1|D<`|Bky?rnwZEiCAink7IDw$Yh zBsDdOd41GZFyE{gr04e8xjo$`{QNcHvV>9e0+fSgLdvCtcY^rReD;gti}?ytwB^yD z6HAddc`zS&R~9-KDKWv~t#kp%&EPhD(Td7ct}%|DiEY+l00ut8Aa_zfn&&<#M)m6esYysbdM!KI|rlouITAy|DQ=^|GsqY_6Qax?{I;oVj``Z$ zk73vgP+vpJ9Wtfj)uiYvb+yJ&C zx|0gP%2#DC4-ifRZ4Dr!0&&<8c|HTIsJPfX=z1vF46-Vq)lb@v#Bb{s=8ku`3otM+ z5TOyduRUo+$6OtN)Z6&6!j@Qiq0j>c`knkEbWwk4PftCBfsFes;f6Ap%*nAHTEw{R& zVnktKp)v$zKcEa;*gQwGBP=xEgYAHAZH)As2QxjJ_#zXewK@Tz6#re|$AKXf88qNj zZJ?zuSY8BF5SHqt9HbN7?7gLBkEHaKzMjdLe#Wh)2>@dzg@4ry>i^jMd-f5xwM|5$9=d3#1#1;QHZ*w@$$korN0bAu4LNPx;?`X#gu&>GZV zX@+IeQ>+Whm(1>n-M8C=-}F1`E~op093I#Q%#1|-UiHX_Pj0|GiggNHTwHvNGnf=srd5dBpzv_9gu?s2TAP?W zZT^v)`#Vp8@GG~H3Glfhx4tgXeSFrHjq)`ZpH$icsHBHb^1xegmH=nKi1ZrdqZvG! zM`2F9JmZDh0;ASqKJswUNtws1_1B@jgqY=Yoa+i(J&e3zwF(3=e`pr9gd(rfd z6iwh>9#B7|Gr#TxOWAI^Rm~5ZrSLL9H{T|{+!g1pd(PLg@o~oUWVm6IM`*EY398`1 zes^gXF!jqO_T1Rxm6Hj{Z6L`7a$2W;4$LP;NAa?=vZegx zjB^6uePI{C!<3kq=xF8g7qBXBPEMN2CM;OSn!m6nP+d`E_hzcYN{(xQ@^(tMW%ElY z7iAx?g@Ncf#gA}sy5$8$2jk-KGmGn^FNE(v>Y9VYix&`kSG-d)Fq7Oai)Vxrm_F~te!sr z8l{SftsIqFU)f*6p4r`U1$-y3^bciUQN!X(h;8p~E(Zun`zt{#1nLyy4kn#X@CNZb z#l=-{cwEi=WVtb(+LI)BUl;G>p~Ukm^a51G++3uPY3a49JH@F`YGG#i{Kc!_soJmMC;KmTB|KfR! zO@5}QlPzN#zhZ&iI#x$&YJT=sy)2$uOYtqJrMPgH=Lv(s!IP+bC`sN7-VVCT{yhHv zU)m8y8QMISss}tBUv8q)TN}XhsHh=tKea-x8E*fDtd`Av*eFDbLGoM-%z;?k6B^Mo zV>|DOp}m?a*{omWo1$#IoZu4IIQ~2ETGZ&K=`m?*%&Pt>2qO5fBwZSw0m6BcShZMS z#878fR~1FYga%Q=Z&jd+p^|u3i5LgC9njn|&|N(Ka@OL$<_jhXW`UE;@q+s(&dv>2 zD#=*J3RikBc`n4^=WQOi_f0$7Z#vX01kMz&OX-u$Gm_o zE9_PTaggsVBGvq*7<};BeX-J@i*vd;yv&(S^TRJz)Cz;*cVq`V7L&7|?N<(3RTv06 z!l}cUk&6p%?KdY0r+fo*$r`=Z&yR2FD}J{m*q^F3h#*BY37VY86wPrhB-T~!Y<6++ zKWU?dY2<3VL@VEHN`}ZoOStDigqNpHA+f5KmKKO(*3#A0m6Max)FilkJH2%5_Z2mz zT(-MM=sdF{h&v~xrLY0#s_D&v!s^x8qx8-A<{|UHajk<01Ek;u|I|K1T6TF4vL`41 z#(#ai4O-0FP4{S_nP$7(2c@}LD*Fbxa_rH1rLdK}u6P9EPLy7%Wnr|5{Cwuq>V2^? z5`T|SX>DKDIo+$|qS^B%LMXJCleTvg zTX+keX7rv3ah$<@zr>tfj?ujUHDwCs!AJ0%^qV&+vQPWM<}Mit59-a{>g@W=(Q3|M!@sVd!Z_ z^D+GP(0SCXtj$sz^8~8W_?W2W_>edjswC!#Jty*GGwgC-VbDviocwUN$Ffa`>-bvY zU}B6^6eWs)^uHC#MMcQZHifG#G?TDAt(do%4lbZ3WU{~6tT+hcgYl3UckQ>Gc&&{a zmZ22ZQE+$KEk{Y-h8kupUf=dqj&f1?Q{E`hdVivUMJcPO6hgTbO~A5)wIP_!ww526 zzbM`mE{y5?B8u(&k2^`D*Yr#*`ooxKUiCF;>i()>Upds3W~q5J3Fa)Qw&dkC|F3i3 zoTP3`q9|yJ{a8kh!z=o;r2DUyrgKQg%JHCIK3JV6>C%KI|GyoW=B=*MHf)`{9}Dr5 z=Q*blWYgq1qB$d}{{B>*fa3QDruH-;b zC-?jFN(MGLzs*X8Sf0ppR@?qkeiH2me>_CUH_r#I_qEO!?(3s2np&IcoWX<5_x?P}Xg%n0-Vlmh zWR$p#%Q)D*CW*K5pM{v9R_D=1?e@005GDM-)A5_u_UJc08onI=>}JDe{G(we_J2a} zZyVmn!?|)Wz9}GM(XzAf3UJ)28Th{;??~$9`oB+;%}tqJBf;Vm;Xih9BW%0dNx}wM zr1HJI9M}<$n2wGng2&%})&iCYUZB==YVCv1Z_qdFDIIHI~`n z{Bg1IQi=0R;ej2{HGr!6Xpi~fC4!d3sSJ&_UeQ`FCJJ3Lb$+$FD;GkS%k(4mJy8*V zWUAJH3Xatq3q6Y$qK4O50aN2GI*)>l+vs7$T-u{WMhO2I2`>bTR&CU`cv{3y>xF@q z&(~b&Usk&LYxv*aN&N1bSfhZJBpBv@N@Th_-uR!5WvrlkPop)CK$lncPV(oq%~>k$ zR$HX@d+aGe(m@@{h~_u+_Dqt0Ly7!$z1Kj$Y7+}q0r~OZc@yaeJ!CKY0sbdy0&GOipwx zxK{W$tu_XcEp76T{NJ-5&lCx!H#k1~pXxG$GtL6jxPCG?aK|Mnv1(+o8}Yt9@rF3| z75bhR;_hzlBE0_R&nWf?qvI@}q;nSw4f=}ttR}ypE1{2zuap&)RTXe?p_b1TRSfNB zj^CO7HQgrLetbZ$U22s7tq69jRj7itUg31G;dj1hSoJ0O3z{bmV)m!!?{*oC86|du zpZFnL|F#oS-wmX+o8~K~I(^@BxEy$A07;FBi0NSUy7F2}n{l=TqvZJ?TN*dHGX059 zBX%@D@SM1pQpkeUzt?=Y!6$o6o-NAHLT$+iwP0+ChA!Ry(5l5xoce6IRCK&<} zeG1IF0bxo=M)tPZgE|95)$IW1YIbfhno7bOYbt^IB}&Sby6 zSi2k&Uctro`bXTEaY{qJXC*v)8E_c35{1R@ zfyV~R+SRbzM0@Ze6q}->b-w2P)Zg4NPsZ@5m-QddGXBg+ux$2}QtT=eGE3 zQNCEDRG3yzx^4dS5!<6A^#<#AZljfiy_0sjVbL1qauWWR23JIL zf2I7T53NQ;FR(DgAm5p6`FxxkH*N}9jORvnh9y|EefdJQ-wlR~SByM>;0Jiw8GUmw zGRYwHzZcbaVgh=bl|k?0%J7m;2)1tDa@ldfx3kyF&Fb>ZaPuo7{HDL9e{%b$Hlb4_%$6FSRQ*%&2!c zn7JKlsGhP9Oo@=G-W)NlqxFq{Zt0fdYlq=B+SQ+ULnCEoOz*@^!r zzhgkP61`h&O=+}JV$XutD}xrT)RAA6Jk1@S*h|_83J z2>FCk8ake;)2i466p!)^w z7o2uR>^xB|wFaKd6H?G%aMOXJ+tGl=$c>4?Z$I)Bndq#j0YHVQUjzC+KaCi~`V zy$vUu8_kT7@C(ytMkNN9PESEt2AfG!>ihDov=0e*VvfhCBHcZc=tA#6VvRvreqJ6b zI{LU#*nddp`>iE{4Rg0RtDBEcNWa3NJ@u3eoeqVbkp3{mTtYqt+j`;$Od@46WjXYD zP|IR4s&j+Ix-}GB_*EB4R$65X^`X(d$gxf5yD`!7YSgB=Fz2A8pF}tuIJ-0c4);ZT zg%!{Fz4v!_gvyodWtc3Po+b$H%}%G(zI$hB+CwePz)SF#`}G^k^q0b4Ws9GHGgRr^ zyEXm6=R*bL*86uCnNx{tY<3x~;j|rvyf`RkNl>_ij~lLi1hQ-?h;ky+cDo zAO2r0VS)Lgza6YQIIV`orNsN zS4UR!q82RwE1mm^ewC!oO6v>VRlZG_t#VcBMn(7Z@bbC3fl@quVL&v&=&KA~|D%+M z3@mr%)J~%oTyjw#-F+oonBC0F+T5I6bX@X2xr)^HTyE5)M2Gw)L(@EK$Y}B3!gr%S zMVn^V#nrn$`qP{0_-d^vQAvlL(Ob}Nf#{I^tKP7++nc?4@A{=ycQJmt ziGrUviy0F3h%^1Ee$$sbf@R(mh+3sO&Nnu%Ys$@+zG?(vxe?c6;C~Bl!9WOFkN5rR z*RT{Jn;`>!P<5ZPb1TA5t$aNO`z02BH?1!YwnvG zO%6Kstl%_kdR?TKpW<5z23@yViSEg^|x)pD{noqmT@QpzYYTo?f&9O=^eZ2g)rcLhyk~`Lo!QGi7D`?x91_ew<%iMPf9zaU#UiD{_X(h6M10)p_CvW^r^E4ija!36rLAHm^; z9ulni^x`>!Pr~P{RxNSFC<%`B!o;}OXn zdvku8YCUms?_h405LZ%B67#yMI`x~_-0x&=Lx%O+U{c&JeSus2otlE_NH%xB!&M=B zcDbogK(p3Kmfhcq+szUTK6dFLeww)XHPAbsb2Q>zi{3cx@Xh)j=0yta=N6vhdGNgN ze$qRcHMM_{fN~X`<+_@cJv3W3=eV`HxrG<6@l>$<$XN`BwERMEJ_qi3qGOk+VDgpl zwVWrUX_I8kdHVJCtxX+`UZvFm;K_hyT2iuW{KDjz{P;b78gCJo=Wh3)>rtH26I+GD zuoSFh?EY0gGG(TC>cnU>Ct+nb-l!K3REVD_tbY}y7OzKN_{&=Q>>0J|?ojdw3Uj>+ zdHBfn-_`fjorSl5T>H8j*!Xz)JQ>+_Td1~DlGrs&D>V4dY01dam!BEb8GV-g{iIaO zU=HxB)^*2yLjwfN`K|1FO}Vb4kH5p?6i#Gb&{rhtOazOtrIyUGCc+Wf!b?9k!`G5t zTR~*>#ajx6Y?qcw57O+e)gYe&jAP2Oa5*IY)$NenaB@NG{H7jHV6be@4(b~v=RtQT z@;~nzC4!&M`S0!?;>Azn5p>tMQC^V<_#a(yl+`;8`gve;HQ{94!0%c0PfQa@1RZw5 zzPQs!KG#6fLPHI8xbglgH%Q${;Yum&d(=3=&(!ouUDdEYMFKl1l-?8PG7(cbeIivE zp^0RaFp-RB3vE^G$jL3Y`TBxAQO5l8o9-Q@Hr(Q20Rg4U4pF*Jpe7n>_MY2(ylip} z^RMuoN_`IdbfTSK_`Zvo;ahc^*CuUwaDgF4Vi2R~!gtb4kKV9L*-ber^u9q@WsQom zBDzNOr8k*pgTpW)tFxf>{z8ONz^=QXWw;4sr5!~;tY2-qV#2=tXptYWSb7KD{k{3Y z1I6KzQG$va6?@iummRTcoG!vW5ytV-DA@yba?Tr_n^Ta}^kPExI|^dS>k!lL^K~1? z(`WTZ7c*=D%#=aD-KnqY95syA0%fbqFE5|GliHriTv-& zg$5J(dHQ|fnVLrt1FRAq(izVHLuKzotn1@VKZh^Kt2*PMi~J4Parezny||9*kW^BI45FpZNDaGnz7zG_K4HP~BDLY`ksb$bt<4Be(3u8wZ3Yq}k#q#rEg;rQY@rVo_gL zeG6EIEt3{OcWY?pf2Vv;{xPYjp2-t7c&`pVsk@@&h}X?7@eH-Nh9~_ zbz~;*w)c)2+0A>#0d(|LQ5<4U^BmLr9?E5m))pj1rSDx8*3HN;Vq8zbQ7;5^B3*zzH*?J()>n;7)%7>{-7_ z?E91;Z$Js|%s!htGspYf>S1^g&j&SRWGcjmJc_&sj~)w;T}z7_3-^JR_%*fe4km7v z#}~4AprW_loM0-G-6Sac_M31CZi9D_-Bp2}B=%=s!%O2YTtQ13od)j;44cPW^GL$s^B8J+b*t)bZh~<`EkV_pmt z6U4$tj2eciLI7>F{#dtZF<08p;u>}jdV7ZCzL5bb=gSn{+_-oRo?RA;^2fg`D_w3s zKH*VF_h*OoXIwCHopq0#55%@u1f(i2CaCFH=SZnWu&6}zGkl1OG`n=x9l5FSNi@B& zGIe2p;4o!V;5lY1dI-`*?=@wlmoBzGucohS=J5Vl{fRWh%kixH<{gt|TJ*|G0BZ}J z3=`B5ET7BJxZvJHtLf~d%qo*Vf;xEiyoO)&C%Sje_b<^{n7HG#?s=+_OoQQvWm)jNL67mW8-s7U6Y-u-i|*6Cto$f5KETT04#{#Wa@nG+VJ z66XMY1#ERg*|?dLjqQ4P&f&l+^0^a(7AD3DQ6?$kju6Wfx;rLC(jLz%PrF$%tsLXN zx2`fC_d#_hi=Lo+G{0=o3n`irwa2c{Ud05f%2@M)G5%^LM&x)pQf#De(6#?Lr(_7J zbzfY(K@kZR>xYnC?ZF^E>bN5(^LZY{bjpJEzuemvX$F|N=J8;|*=AAEQBsF=o2kDB z1v!d<>-6ASVx4mbiO3||IjMoJ*f|W@S8llZ>?w0`QbLBH%}jwD6^7uxIHmxq#VeAK zfmgp#V&Q3T1OsJ|-FB^sJ{V3tC)}yo{{3xf`nGrUFr&5i_CDdLewyFStrF_>=v z2UwD_$WW!AM@`rnNNW(QZ@O0CYXw(SHerP1^=A~^Zf?3=z3ECq%LI37#;uR;k?@xL z78m*Y)_j-Qq4+U>4R^+eukFO;sinM=OXQButD=p^e}7t9&U~^E_AMIJf^B{i@xLY? zW&DgG*H3OV;YP>sNEyQ_)5tKbo(xakOTI2UUc6Zg({ya|#1OLx;a!a9|8q+bd+AsC zr52u_-hU^a2hNunY|4P4Uw;zWm#_kpj1VOsX4IIt*AJDPCUvO&`c1i@hb!xi!hOjY z`r=P`)|EPycg|B>65kz?4O%4dGsRP^=A=Pz69xE6knrVxKd2vUE2vM12=tngd-v%J z%~w`D2j6LE*%EG+l8ag)-#nqBkTUzXQt8jdd@ZyuIiQaSBuHb2B&H&11sEF-8WAir zMjP;w4QA3m(uTCMM;7E!bkxSrIi&kAK`lJ_dj=zXal+P7O!;vhfaKCAc;5gffK|@> z+{+rvN&{~O^j|B_Z>0||*D-x*VHzFt zXls`Q`@AJlQ4k8YGyho3_?ClY#6voTD?-6}T1R?%Dq2?aLCXOPmjqwKpB7ps5jx8c zXjy~l7&%3v=(C$Un#c|^>C_rn-E*$+KdZ~H(v1#!huY_qXyK%xj2z~e_)v5HN2~#w z9Akw&V@2Q!$>*z;D3RkCCGzI_3E8;FNBZn0$qBEw#i5Ejhi?kDUi~8ROjj1L0@Zb;B9+3AEWlfF?{rfw)+}3#9Cv{Z+DbaebV`nM^ zkl-~iyi$Vv7;t*csn+4t==7%bP{GfxAv)m$JH`}4UleybPFPPpOAoI4vkmT%A?{C) z70~bze+WDN6COb6S2Ur7uyG0@r_>z=zqm1zr+#}wp!Q;b!g-D9p*}G*=@H_)dt;E2Ja^2kI|KU>r zGu%U8annmfyi8(0NuuD(YEhmUMe@k#9YefQ;7?MyUu6ueVsyUHH=G$OHG%vpRV@uk zJ+yqBamjykbU$hekze)C4KCTsXVoJ zrA##CVZzt42+B3OG)5+3s+?zLZv^7LS<7ni&b`QB{m6?kAuO$}p%&QV!NNrSbJY=IYN~!AyHDdN=$y+iZS8?uY8Y=jj(Cfa0F6* z_oI~qJS1C2Ih~Nhw(yS*`sbpBVMdfJNt-dX-wDRfEWzYvuBsh{t?m@Y1PyzONyONR zFK;-5-;)hi-|GK0P~eqQG9h47e-$gGsB%Bxc^v=cnh~$<)xSZ-r#v&oKWkr(D`g&; zwJQZS);G&;hE z+tWOr5@NHwqdjt8J|3H)SX^l@|KkN`Y8cg8zo{{yXAb=N!|_rykqUr&Kr7~tAxlq}jLpu^E6_N-T!kt-K_su6WSVEr zMbsn}S9J1kN3a?_BjiI;;0%`Q)opLPvJ*y`xpDniGqL_FGKwZ4Lr4;666;yU(xawY z{-{8?s)i~*heS2qpt@hBvfup3ulQW(@!A6##Yd|wyP=!+nq0a28AhA%$q_3|1L(5Q z5|fSl(|mw_0ji=B@$HY-N(H@KH&w{4fZ0_eRoHZpj=k6zfD5+G_ZKtXvnyA7S2bIb zwj&Y4pZaf<3Jc$}>(=0e{QM`fGPJJ$1w&QXb(;xsPAd9t>aW%p^eCF^b0;+L)s3pR zAnEXTZ%yhsz_gftB8^_6KTqN9?FSv6WKBoa_nYHZCY^}eFqOBYM?49;81^`yn=4@Y zQU=T6d5xp}+0hNX{SA-% zKZzh?;;xJJxfB9j4MuMIw~<;ERu#=?dP)Qkt;$J@!{Y4dHNyBLIFR~sQMD@^B?1P2 za9nF?{{DC^Zarh}(R;UAkBYAMPxJ$wxA^z)!#HsJG48nkWgif@Teg z?RopRfX`58?ZD^}!xkCU-7));(OmdNFoWlM01Phky)*UnG%Pk-q!!_GwSt2Qw+0Xq5@WxgE#8-(NW>SXBIFqOU|NYT1zuHM-JTmcwg1xe4w);! zppIHxv!G=nf*j_kZTcn?X;tF>RS%8x4fB8_MKFEUPxwe8PGUyZh91$jSP&qHB#vkkxg2 zCpsR2Nyk_+$FIbPl* zINgm#BszN7JJwqzEiAfP=VOqLhgt7kc!QS*jhJ(Y@668~lN5OEuGn+80XAkaG4Jbk z|3;jws22v_okpHU5o*cY9v39Y_AIRO8<}k#=vu^5=&H%dJroQVxuuBz}CX zWb&OraXGnM*}I7NIYf&aBl{dP&jm8{LaDe}wcD5A;+-0_q>q4<3y0}Q-D2Oz=Z~fy zoU7%oc6?A1h~p2RUHAEQ!|MC;+FhPZU(bsPMk@$P$tewAr1D=nb=SLD!xti0C2vL_ z_l|Bn)&;Z(J8VzXCt^2AXXKOfl(enITD*Y{G7NbN$q4W`N-EcZsSmUdZ|9;vgt?Nh zCkrE_0+nfjjuR%Z*I^tg^RUDNs7$x?^YgT?-a@%mmZ$DQ1$^f!P%RIpYE$g>6-{J8 ztnT1X#k}@Bbh3)fxX2QQe)3t@%j9g%1{E@1m7r`W>+zxk&>UX`tt}i zh<=rTpmKAj*yL~^tdGS>TG3ih*+9J9BKGg^$pdlaS_M(X4ES0yAHc#zkEW{Vqj2W0 zSf6rd#=LmZog2YzkTj-gt(PIAgy%+-uvUo)Q>bIHCpz}T7o6TOXm-5MG7jL~%h#U3 zjJj5Osfo%YhRkGy6xCkt1irpZpk#eY5UutEcK~UZyn-KOM{c%keetK z1oq#A&?)|Ba)GeLbu%-F)a+Gz9vq#XVtyrCMc?7G-uQatJVUm>M%G_ht&L<% zkeKkEbB5bv#mA_>xQ<%d%JeY}OdZa;iHnj4RW=f#aHD#_%&Jk*YF$m=$L|FXI`8NU zIcs)##05EN_mo68O#`{kW=}=@5Q<<_DOq0oxAbW~o50q-FA~3N*@O+}k1-nW&_E7h7|+PZR<^ z3GJq9yh85)mWMYG^WP@pCr4oBMOEkM>cZ0s_=X-(B1CJXZ0XEy$zA!@?Urd+zvaHm z^J^>^2o&>s65s^<*=}l}r>_!4A$>Q$ORT};*ld=lrO7;MjB^M`#jAf`!a(m&Qnr)~ zvUt{!ngfKvu6^T0`fC2ZY&ih1EdCcnf6C5TD7Q%t1BE`9f(9{K6c?2OHrj}r5uR$I zNQpP}W2wv@G$~`sAE_g!==QCNXumy1=^ZYbD{u$h*)o3jUbm@1ojO|%D$^$Gs}ahZ zW=7rNny%gC&q(H)#zPmmEgnx32z28axKHMnBG-m{H?d#l{2unEOCSL0N7fUq7%E0`Fn0YM5Zw~%^DkxZI=ZQW3GK*jhj@;GCMP&+uTi`z5kc6c3on<8=RWqZ+FL7g~ zC#4SwN($27X`bTL$!CSYtO{C;F6cy9IIfixwg2UINgt$Y5!2j@GQJeee6&=ieHUSF zd>gG*)-`_x^hMe}g`j@&aCUAOD{16fT1DW;#aNkZm+$UB-W9bcW1;0IvsnHv4_y7U z5xrky?=bV{<8vwxxg)aq+6qXs=EK#h40~t!?%}QkB-q#duW@67S@h>rQrCuFW1aU# zFZ=BmLzxTn%9cDy=h)+b6)+7m>I-VmEh8P6z#=dqPl33daqVMsZ)|3_nKDVzR*d}& zANzTDYHOKv>oSpV9Aj*5G~9Q^6?rL|oSc$1%-(yp&zQ|-66?Sojrc#k#BPwM_OL5w(xmizdTY;%#xlAOti`#fc=V6k^q$Y3X~ht>G( zzf^aITBGD}J_-XH8S8bA5;DDrx`CKtrs{+|j;DeS3~X`5$0TTF-+~*NGeD6>$gjge zq(Ep_J|}=|&DM-5|}OQ#u8uyOoqUq%=r} zv~-ssIotc*JO7#aF#9907HhBl5b1PW}DPpD5r`fW2V6@7__-*RbAIWxcL06}a>;k*42-6#U>uVPXr5EkCBWcZkiGn~Ou4A*4Y?c6L`2cXgRs-`8B<&XxU zcY4?S*SXG(_U{X;dsi8)j~$1oE%rCk4ow|a&aA%~E|czSzfLUEkrj;yd$LW+z$Mei z@f%jHa@u&CeQ1Z_UhR*9UOccA8gIvnz!wWkex7CSff9~?s`y{hJq9XO-k4NUc;PP86r3l zTGZjZGtbW|8Zneu8~_J3+j{?tgxpIo;?L|X%>)yKOrm!b{`QKi=}kaq)bS548|?_FfuErb$4@%A-Z7w$({WX0QH~!|%Li{WiAH>&(D3B}<`6f=z$W*XY zZcy&5x%xy5!s9`(=ColYj)W=gJPZ7q$0k;Sv)y3eB>*Tks*Z|Xb|+?5@PX(Z;<8*2 zHwjDWWwj*b!erAl9THhv<_1Hr-OX~Ld1KQnb40w_CRd?()GJ*l5qR2k(P49&4lRyz z&S8WWmq;`X&}wy4iP*RAEiXeObo6F=WnE>H%Ny1NsJ_7B<(7qm31{_OLjMRZr<536*|?0n~OKD+80Asr&31v4vC?Rb%&L z^)Pq1s@n_~*8jedKSD{l3uz}#B#ixK_MFrzYt<$ot8DO-`SYeGiBj}Iez~|jmt)CI z3BIa_Q*oc(9zMvT@@p20*;cTa*w#wX=(#b~m>GQ*n%bM73tOV9i8;+5-8T zTc|C;BlQTnR?&rlj&#Ol09n6R)HH=rM?^m9B@`3R%ze$pV0rO9k2IL0jui9V`$7(4 zv>94TQ_Do;=g^e86qS@(zV9z=_63P|&UKZQ-S$No?fbw6*Vh=Rd{`rF#&fGeT9NLtjJ8?1&wQEs^?+^D` z26x-1ua#R6ns$3}H0vk!HFgVYuYHA%kZ_2DSc#o=!1)#QP?mFnqGaB4=WnyCYem1I zCF91=C>)1!%ffwkGK*GwA$vs&JJ@`Vo;H_9P*065?t$MmlfxBkM34SGh*8m!HCjNWpYg0_ZXLt*sGEwp7t zCW;eIfsXgNoNBw7efp1R)j$E0C*~u=X&ZLvNbk|$D}PPfrqGi3#DA~~pa_86LzoiBm2?rx}o${jYAFQRsp|pu!{K6q78DGv)hM3u&_D5cykiZ_YS%|~wdw&Os zsO>mI{T^^XC594(RrzP0WvUzxV<*6aF6sh=PrAiFPvEJdXZKd?RJ4#%P~9+aMT&hM z{6Ih$1>5XLn44+l&GL~moZ)i87hYgxtV4S*sFe&ey!BirtUr}?!}h`DrRTqr$IYa+ zarO7&c}idcd;L=DYQo{IJ%nhHAT;%9s6gb;{*}r9UKl$1iCXqN>R;dGpw$S-(qa2`867r$D%Dws`o6gAsB|iBK zjuQiH1x@?!GL=Ad(usd?Gt(qS8Ium>OW|j=jg_516BM|Owcw)N1@Vh*zGSZ@>`tw>)e;T@>w~31 zA8)npZfX!Z64^?D&F<6H&mHbC9%nL_`*KRm9k5SWG zWHl#1(awDJhb{?-4nA8&D1O>SJG#nUL*)TXCk@FkUVMbGxMj9+!)LdA1uBP0Bmt4{ z^CpgGt9mn*)(g<2#*`knooLnnfIt5r%)qqBKL`T>*qYg}2R9~YfF6kM5SnzHG2~nX zM5`{2r5LNf@SZQaO1l;?Q%E3+9TKj~TDNSi6`#&+tYkT-!OWjz7NZdelvifK>{F!gZ^G;S++)GAii6@>1+~j_;T=Ea-LYd?~!HL>0wH7s}tHF1=ttVbY9_M~EOOK02_${ovUC<%rI*X2=3 zDSTkc4y_qhwPcmB)3=XQ&ZQe03?GDJTU=XjurJT|8g)n9wyyI6sa}K_EuL)3>sY;Bp7A0DeQmwC9zL} z3{WUn*rAvSFzSiY-mLDv(O-jCWdPOk-?%f~Pso@smZlUD4Ha}pMB7{?yyxCFxTx$K zrH8|yPGG3!H(Q2tUqC^>c!N$o{oI;O(2mc3E1MG}W&7Ivw81&|!5?#0A}hsoLQ4gr z>M!hwx)zUCY*}1DTBb6-mHtFo=Ee6Vgl+m4=NrTeWQYE5@igW660iA~sQ3TCY%GF^ zq0vlRmw^QzFPCM+qhM}xeL)M*7pW+-LzX_2&~6zF6^h^dFBD$Pj|yj)-^@Rj%8nb? z4D49KC8<+ry-4M)X2gV~H+4;wT=WQqWhvREvx^rqUV8j8Y4$BO)HQjFh4D)l9iyH? zyZmH`F#e>O3BmeDwF;*8e);UeB%E>h^ko2Hvf|M!x7)%p!uQuLbBL$O+u*qD?9lkh zbW$?1f{0+It)0mT3i=ue|9u`+5bxs#g6{1sF9cbF15i%+6HHImU1%(lkP`7|SWH+}i(yK+ zp}3FPf|S!gJ~-eX9O+?aR;&B6#E3&-dD5TN0@V^e{r25Bm4h?^fgt^J^WWddgpX{i zbd)}N)&I9BZU+_^Z}`XC21(Qw^C*EDd_G8bYz*MC{{Tk|&cax66?NE|DF2#7e_hI> zUAzS@U&7=AJ-mg9K*Hp|5r)6p-G`!7O;#bvT~{JkO+^oMS&IJe=fE1EvZ&S+@AE+h zHu2d=UU5H{0p4dr9DYeQt;1N1GAaN=_`5F>u-~1DLIp7H5~1s>(&0n$T6mEzzUso# zjDKlp`WG6{mw!V@Kt`u9G;JMMUojtbdJD+x5W%$N{1oS$%ZnA)O#L#S8^D*s0Z_)y zDqlx8(jcbCPy}O5z>_QpXfF;x zZ77sbMR82q?AIh+CC+3|+I2snKujq7^WU>O(v;<~F&DyvEF!2EZEs5&D8qhX>!WZ& z>u+UIjwWDSV~F@&WkdXUTGR8VtA#fOSztTa*Z1LM#Le7JJEoEl!-tnFgO>iQ+I5DT z-QRyQ(Juc&mzmNSERcYhKQ!R$&fula{$Q=HwyNZ?z$MO#m@tR|dA|gT<4C)_gx}4T z-pXR%UK}R)1k4*0Oo8n7re;Glpra-9sJSY(hHdSx;zuJ;Tc?z|6-) zQjkK@Hut9@B!@;}UlFotdy5YJ^Li{7p`)l8PljO^l0Q^Xs|BZxsRk#}4E{vO6!J#a`w`KCdNgAPh6>Ea>LL|$s5Ox_ z1z1@zIBlB|7UqKj&I0C9S0)#qNkSMdg0Pcu7f!=XJz4%a;u01ucvTxbTn$LQ1=07~%Un;;u3NiXtB4fRs!iD~dET zhBTY>6%Vh2rPIv9&$8%n4K1`S>-0oLG`5sx#yG@oacWLd_bw~ zX+8r#pgZ^Oo{2mpFjEsoA#a8NZytre8D2)?wJCTjC4{G$^oXSNh-isv zl`>nJnTDCUhAEtd17xLr)R8@ukptUM80+5Q!v3N5tI3y89lU*=*E3rZnPSvcHRaHh z@-ndzGeWtr-s~vBBQ7?vm_~XM>bj_SbjFnOrtmkYc5K~7GOZZ9!9*gx!FqTR9dX3J z8wSm4@2t<5+AAiyxdwJ&Yj(6UFX|;^u!&@lxTT7)xnwZvr4exC|Iby(_2GCk-Yp%V zN5wj$aEF!i+(fr!_RjQaau`U3Yn&&`m{YUSnD&>K{e5EE-`j?R5~O%mN?WL8KeIA| zuNv%F6V-EZkX4XG>r1l5e62Y6lhWIgBv$nE%vfjOpjr0zA+V~(Mh7=)mEana97H@_ zKFAa#O;$(;!?S|qU=BQ0ZB=FCT(t`+FeOWcGY0dP*)Y2C5Y4_O;zv-7^67c$K%#6mp`rZ2u)bk?=J{&C>!gJZwEd4`!+LI`;6KKxI z7YG9qnc2iW+RA0IY4B!oF_qY9?4RT<8ni=V{yr7&Dg@ZX;tApal_0goa-yWeH>1r* zv+W6>fFiI70GH4|`u5cYlH8K$m-}+O9}%OusgwK2R0!(Xa&ZcL`#nD#k%( z4EdOh=NS577MV~M+1%^bcJFA?i<7<-bI%M;E%Xn!xYlG#%nhgt-m%Fujyc2>EZiyc zp*lMB*z$`^Mx7)2_q>-oqP>kd*B5nvk0lnyL=v?0@&BKNRQ}S|C@T0lG_maxFKPg883i5R|P1yN$0K_ZAqn7 zO{rBmQ{5DiJ{htjMp&^-&lK%(Lxj*ay5}(2fi~Y%wPlgLO_g51Ol?KW%hoK)3eX+?v4Aram>p2 zkF){TGuuS9Pz$NVIbi&Md5m$G{^y;_l`9t5J47AGc*IrK(t0^XJ*BQOp`pmHkegJI zs{OxPifNm1(@s`sL`YS(cu5cD=O^Hg=$K3^Fw&Wx(!`UH;?Gw%F)GWaORrIveq$tU zYSb$suT@lNTLy^NN~@|;s{$tQG*RXu+89PyI^vQp;?gTx3Zo=77U|rn2qCL@k71Ji zbly1*=K{SSGPTL&fmU*eI%DV+StQ!8@n*q9vtjJ$#~kPs>=^d3I^TyUe+&=)SSqX0 zzwUEucvZut3r|b76(Pv;$E2?*%9g^mq-E%x-v_)XY4Yj~ssZIble3QuV@~uwM}f?{We{8?Jsf2J6~P!S1=tJ1jb~NA*-N=l^{y-CQTaCe+Aa#t0q;wjd z${HBT8mer)hUSY#WI|CoMpZ&{a-I&vf-yQ7g}zOR_0!I@Q{>Tz$&9fdvBZA~gb5(M z#r=jBXwj~>k}QDtHr$y6YdNcTIc{R(&qWDvFVHBkYdybQ95zc|Y&5BPByu*-4;d9j zm%q1yK=EUu6~n{B%?UmKgAhHova*p0ue_ZgF3(hAve5r-M3UiF?e2*{ODFWJw!1C* zKesYFNqZE&sx4hsnO|L6URYXOIH52hp-hEqOA_@}h88-g4td86=D{Z=Lsg9<<w_ zi*FoL{mP;8l|$8|O2wl})zeYM({ap0Icq=t)jWqqjozGbZBA>T585Lt;T-`72CJkl zqL(hB4smpaVQhs#Y=!iz2>!kbTYH3A+>y8JNM+g|>|%8ylU#GB;>d%DqW>{sRGMZn zTWhGD%5BlOaJ;*n<8Ib_E9Ux&$ZCzdvo{1L(>w^K|j7>qNC4+h{HIuoJ z^^y963ZJ5Wd=?;d2uWy9{<6{@*}DUhcL!2;*+S&DhxVxMMKr-zzm$MR;=rR+;t`aK z`qoI*M8QN$-UNOMF}|FKucWx3!T=zeY5WR%yF%P-sk)5L^crY-jY6Ic^JHY)OT>Yt z#KEwn{OAu!`U53Gj3q)P)`>NObfRePqRRDE9Ml11XaPpbgL!Y`cSHN-TvH<~nSS#-eW+`ISD-Sn4p!Hx^l%HX$pw2|6e*Hq9rx zptYxN)vy-pQ}F=STmMP;=MBf(ob$hCOKKCnq@;&Jrkj+tnOcYfXc*8+1W2Sf6DS?f zdhDslxG-Py{T(GHd5|NmbSthVFi1;711I_-gIeBjjj<&0fvZ%zvC)k_gzqI{HYfmO zDZ$-i_L2^a!9k%4FvFxoo&~c+WChYMsRa894xVY8tV3eMJt;ZDwgH*+wvxCjmFla} zs;klJD-LS=0N}N&uB)ptsvOZB9MBycF_gG*)0zm^_xE%HK(Ji&> z<1~tS1`;W>=UN){b%wXgSn2S}vh`<2E_JrNQ$2VUFDrKh=qJSgN(qWBX~1r!|6nDe zVryy_<}F#&_7@ek~6 zV-bYpq)dV{NZNEvaD0uGMWxw9E$l@t$VBnT0%)~pjRM@|5EH|zp;jz%x^Xgd#UzVS zI;gA``i50J>IS_HadE?G7TRyCP}P05Vz%SixOt#Qd8l!$?%Lsn6$CU|3_8_kimllx z)=GRihuE96!UGn4o@X>7L$@gcx<{6qE(4cVZlJ#$PxAs7DHef~DT+`9;Pou#6qi`( z1i#=`JQs0d#bNN9Hdv5l@K=jjvK&SB(SA9hZVwAW7=9q%2XwxuoEXpWCV3s8p**q%$io^1q&^Y?J z2>!8q0aT8L`&GUDR_xfN#wZAr7i2~cjscdj5PuJ))O&lH#V zqDiqL`LeoZrqRS9$Z6oqYA}Rrg@M^NGv4kg$N1^E-MHkCYzBz5-QF^UnFx*}*ZkV2 z*#Z|s^v|jPTY#(yEZEAxziV)<-aC40f>EAQQHHr!oj{@)uY z5#}SCWuuIuKUB;ud_R=XR;_a#@kMR0nmLQJQsYDwWAss)bTxv4h{ z+&oS7CeMX{afxMtlcpiQ!s$Ur8C|$7L=8-9_N*2bE%I1Uu4$VN8D4I+jQ}^+EByPH zLSUSpuZS@1v&w?PZ_90GQ{TC0=J_`W4%IJou z{2W>^!Fq=D+MQLY$6#DAcx4)JySf!1z$N4BG+-k>TqxZ}ohgUI_z+DppEBkNX zQ?W@GOIugGx(K|FLEW-Qs`&48Y1Cl>VYk3s(NW@{udW=p)z1(7xFuAl=i>r)*^!V5ZfG#feAbSQqy@gvY@#4uMn__J%HAiGG=0xrrmNDI!_JC!_ zsKyJh?LkO*SG7;18WKrnmy6Y+M-)c3muiBh0$l@*P#~u6Zzt*i*1f;NOF+95qK#hqo!tGN{pZFWGOKGM!T`} z@@b+p?DBW?V5}}{?^ChFz~5ASge~gU_X$xExeg8i$|*3`dO=ngUx3y z3ed--PVo6q))YBN@^x(o|i_w}2n$4!J#3`LSy zip|>J-)X`VH*V5kkkz%w8OhXmrg<$ zx;Tf<-Waz}VZVDK9neYTxY%R`g{^Lsvju=cfu1cPWObX^`dN1S^mPe9AI=6i-HsnPJKghri0d zI126gdnj1?Jsd7w$EC8(cO8l^CAwi!3Hpd~Y;E*b0blK;Q?>u`Fibj1(uds3=@ z_v^aiPo|V&Zc9mp(fVb_hv;Mz?Zz|UOpSuee+;_%=&0+Y>D|<)h ze+hA5OxS)Fjfe#a>!SxhKSqD6hhU@q1l2V%y2*P(U+a;%wV_LhJ|}s=Y6wB|=}-8$ z)wTd{fC*x{gN_ikm%P{aqP1)|ON~FivZxm^P+9I&wBb||w;7MdgLjV+l(DXR9Zf7V ziDN%*szCDR66hGXEP5Z8Xal$Z!&~fqX1K_f1a2WU31*w+AGv<`cv4}lwyKW%c;Bao zaD*2N1ZuXHz0P=VK1-LMt^~c`w#zOx1*)7rXbCxO{-pSZNlT_VP%?4%xcFrkV9Ei> zZ`XGk)pfpq@Ii#@lRy*f?<}$$2MgOs(xBcAm;NMC4<;Q7P#*@o8hb;`k>j!}+zoEc z+xYsF_I43+eA2sV{9n8K(>D5Y7}}M#G5s1UM?^EI1cf!qMP;jd6%+?y>oGZ^-hUR( zi>4KKw=*=)XZ8t9NyD|3$-4r?S&8j>KA-#bUpG_|d^Ml7#>eA8i%w$ez06C3xtJI> zpVsQ?#q&w@YAEy?vov{>bH~{EUoF@gds`OvF5fr54Uo^nXBKF_b2`Fa5>3eUY;Ek7MV9dn#*s7EU%Q4 zNarrze*fTnbXZC8k_nYT>XWORi)Y2seI>zK)b5YUg*@(~7mIS$a`xdycz)^*@@RzB z!(##2Y1as3oF9zXj@<{21pajVJWm;_KfY&qWi&&cgC{ugDB!k)Bn^S*O7K0qNYd}T zei*M~+bRz7{00W^549fY3BI}fR3fH|Ca|cD-e&ga&*82??Wd#mF4LkT_x51y=RYAX}6;)Qz$z}m+sHNUia(Uy>tdlqzsK22@NP@sXR-=2wujYVFNX*OMaU< z`Dk-We|bJVfkjM%VxT7ObJz1s5r&`P)e{Q2mVFV4DXp)CXl#%$!Kg8)QgEhgPoikQ z9AXs(li=;y$D$DXGat?t5Nb|8pOu?}7KuspIXjzjx+LN3iZ zDu@;LM52X^yTf5|Sk(=L*X&^~4unS@t#+LCB_>dV4~5rlI&ynQVwrPY?9KxAm}IEh zeUCr8JeuR;8Yg^vgU5~())bhWODCc3cIT=*-|IYlnWxWrrAW115A8UiHEK0 z+s|Ok`joZhySRW1!q$_LUdT7UJI50R0Pk(}cvvtdbIIzl08gFmC8x)O{y=m{X}Yid z6~Y2)xTc7@WufznzGSQbKtuG2*F9g6y_Q|$g`B-FZzj~!I&X^&tW-|O_l4%H_&p`> zNmkcg_!IiXzNx0R)hDM2rh(Et>q~UIwgnQu!Wnr){2(dM_70r@oxj@>U8TOHoIswN zTix&Y?!BehpHbN#y&Ey>*ad-J`-14+FYRTW||arBtz_F9vuPeL@b(*oo|fv)p3 z*`b?0U`5Dr7ey3&{wKCMoh^*XL>Rhz@xs(L0wNd9??t|n-S~%;2=bl{K8HDitfLig zdI32OV)W9m)Nx7-f-g2La>s30LCUyY90p9PkvehEe1X9P7c^#^J+MG~b<5h^@G9;wl*h#1~}rizSMnSHBAG%z{7iuKhp z)<@Xf>SDv=)7$!o?<>cNeBB~UTtr`IXj{?JjXv$ODjaSfW^C1{A}PxHPR*)?~V>9JTAQP!1 zqB9=_En(erlZ~H2IE)dPYuIVG(vPw$ZFq&t&hs7<*?}3ZKmTptX4sc*4&lHH@y~kI z$FDr6SLJepCdDw;+7KA~UycD)c|*5Lh_oZ*&LVD{z@+R!-&p5?2L|@hCS}H$eY!hbtj$4V3#`=_ZAj>Is;8g{1JlbCTF=F z$5g2vc_6z8s{ytV1IaG}L@g?j@kHSZr|%o#vuT24SE7u=6M}l#c&1M zDWYF|6n#U4zxYjD5@bcwf0-u-5fH?_B^&v&%c)aYIY5?210~r}sxKZvQ4z8Y2GSVz zSotbK-;EUTP)Ei%ViQoZXhhPHdTCx_`P!?z^=`qDsB;CSG|T_|6XgoOcf)X~u^fNT zO^q3BeLo&r_ua0jDP7dJ<)@#s0We9^fR{BxI6#I%b5wG#QpQjJv5 z;d_aiYVD7Ip?NY((EN(pAavUCwBtSa{H|&fZ=opunYbJoC4S1phj)_1U`aOf18}B;_=uNh`X6vYHg|bBa=L}CHthDk6=SR_e79yCiP*W zDen^RG07b%m%jl*LfD%snen*i1xj(TjS^lzItqGoM9A`kv^k(`dpm?-m;t=>*}PP&VyFdfGMp z>l>C#>4~h0G&HiF>-D$T>LHhT;V^Zfaw7bY5xf9#Uq+7wIXC76p-fo_wm&nRUTyO$ zH&z#$IJG;EDIX7wO-y1;@5xCN^K`!PhkoVqJ;cfK_0h^)Dh`B_bR=NpcQr{A<~m>} z31|$$W7>tmA`)_%%%(B9okB2;ejWGpvkkVog0%jsaBfWwSF7{d!H6|hTw*)AJLg8N zQU!=1?z4!~Z)fGXXw5^>-m>?UDg!W=)+GJl3^Nn{DL4X@QLtVFheOCSA?CbzWzYp^ z-?#YhJN!;f;ds7!7|S_SC@&Ov_a_VRX@Fc*scyKAy$EXr4k)r)gwWOwfwQKDkgjVEY{I)xWVnwInN3^DQihq?H6t7*bV^ga*Z-2PIf7>3I^vEjD3`jG4 zD+P#ZvQR-p6jXr@fzYj@e;nz4!rByFWU*%4GT1=Fdjem`H!zI#SYB0y2`MXPK@h(Pc9ju2tw_0{K={UOb% z<@=lL$S!kVJpcG?qu2D{pF`1oY9Fo;h^0UQX}j z(Oz?iLTBp?^dxZ$2gZ#Xtz%OWRamU)P{fy8e7sv6&VOa3BBg9gJ=0^U5i@~pD^jra z32*vZe#k`9w8(HoGO6WC23Y{LN^+MM7k%X^H*D`siSt)nsAm%;7ZK2d`bw zqpCIeseZmfPN-OL(5T!#AH<4=F~0r$5|pxz(gRG)LqmX?_+>jOKrUP|CZ8hZb;%%E zG|)zslaT3!br0bb-gBE`F5g=owkz$C;1t!Sl{GZvFR0M8+D(ILI_8sG2Kib>@lgX- z`QdWC_-}SbNk$!=qk06g8i_(FSkHTMZfqtle zQ-h!E?sHz_vToD%M3%q{PvKF7oL#gmgii&%z0Wsaeq=0VDPqti5+RFoOCn# z@-A-oM4%DXrhl5lH~EkmiMCb`82;SlBr6MJM&A7%hHJ2N1A{kx!P&oTHkf5!6pJvY zqp=k`VTq)&e=Kq!gi2;;)$jujiy+R44oBqKy9LMY^_3zYQWSJ11SZvk*6ohQC8+t* zRrk=(FQ>?E40oa2TQ;%Cv|%bSCyV)N$ZbI1LZosN?|((f;fnXK@;-O-Vaz)d4<=uD zZd~Xe#QvXyEevY>JPE5NPkCjTtXG@;%C5%DO#xlN$)lpD?D$n11(c%etydx(%OY(i zOwu7z+3O;K7b3>dGb_lxj3_Ryog5_+p z|4%jbksh4$wvi|sA}+y(!v=b5X}L-`y8!l!u%D^%%b=9*?+>xT2D6?-{hH`}2k6Jb zqLPx{+!!Y4x`ymNeysD)%RLUI-j z?ai|)w*FR4=s@*{3}p7E=RryL&0%DyE!TzL8^{^OglT)?!2V?B#v_fbuKMBcM=le! zaHg?#AEa?oihTde_>X`6!fUYU*|@oslf*mwGf6{V#=DA_vAW&)=v0ELCxh!diEtfs zPWl^s_3nIu0_?Xqf5t<5mOqJjzIuJL-{FTPBht$Sw3QJ35cN^&N_0v%p7D*5%i(Vm z`p_U8mX`orjr*tR=!T*y26@mZ|fk{TJTN>GkL{Ak}vx0vacwxxrGD>F1 zaM~diBJ@QBWtZ>N%@ojr_=E^ibj**?r9n}~oSm>w8&j#b(_>TKjl~UI{<*ZLPK1C=-f(ZHOckDL>lJ^Y;04P)Y>+SL%NSBO-pie8s z#I@{ja6w}8<{aWVGlQ4d{eXF_&E{?wqpCbvH^(znW znVX5Q_NSO8$4#!!(Od{1KOi_wWzJVJDs`x>L4}on_|#!X@-| z-qMh_C~glIbNB2wM##L622PQkr#qE0ghAEhB(H9^e*P~$a0f=I`dVm;^24kC1>$Z| zB5YME6KDWglArN=i*wxAmIK6V|4W1O|Ln^XVtQu=KG&_2LS|EfY+s^O<;0K7>*O?c zCH5HB_Gfg;LA(~RWN3P~FHou;?r(Ky{|0(!p#l20#S##>Bw!gmH~|Ez%y|Q`RvY-7 z)LD0XYvl^Z9z+@_2GvPN9u57!Um@Hy2B8GYY&(r{OE31Cn~lsYn!AGw(cW9#L~by!vQJu511CW)I7(S|4Ul6{vNr7+#08gjYz^hJlx`T6An zj;!9_APwj~?_4Gt3`+Kkl-Z?H;w<%#(TJs4L% zf2Na^jj7Hq9`(~{o$HnBlW6mR0QK*mC|ZRp zzKsbc2v-469Qrz3Ch%ZQc-P@l6puUv(<2Cg|LN-*LQNTgR4}tN(V}QAU-+a~Vkf#o z6<0mreNR)})cEFa>~Ojs$QJ=Lb-KrQpM*bO?ETmxBWaF^&y3**EGPw~PM6EMl|x&S zuF(fo{{zpdnU@M)R}1@n)4QA|YR8GsEKU#h|3fdo0f2DzviI)je1Pfbz?}C^P79mf zbdAZxLeo}op?&Jo&i_Hfz9)-0SEa!mI_$B~+@9&C0+frUbHHRwCXC0zNSmd*CkhF< z8u|w1zE8Td9rg*B=TQkBYm_fZa5HayAga0d8taCAbByuGrq~e>#UH7$r!`KO)%Lm} zuqAIpY;*nqYjPr^E2=nsFnT}sBze6P-da6xwf_-L+#v)VB0jr}G)bcgT+iI>assAp zsx2~`9-NshBJEgig7d?2(qgS!53WU3tf@I>=LUAskm6s&%fTK|Y-l{GlNF-?0J-7# z2$wsl0_QwX@l3xEA~(8Ts-3f}m2itf?FlZsnEeH}vjdJH?0QX?c&5$AuU$r;Lgg!k z_OKCDngCeK?&C*M)cs#u4fO4E*ee@H!iWM~sFm+(jZFRC*KJv@Ocr6bI$XZ~dg*0A z`L-k1sh2bWWTGd(Ff&E7^!h0<20^#~`qmL2?!?}ZAJ6Nd_T;g-m%D0dPTmL?b}@lh|TYA%0L~sfK%iy6+Hd$2PB#i z6n_?f+9?7TtsjdRxfbUdwm{s8Q2gNCujA*zw@=u>&MXS5(uu%L6nyj;YWI=vECB?X z?S9tO1Pai$&A6l3{6}pq+|1jqKn&ej+vV4EmtHC9q7_R-5#;~`aXRImsSn^=DZa-M zOFN_}qwc1uyPUZ$tDY&aBNxPu+?}w+enRrAk9UDiMzqDMth3iIm;}c#Dt|B`iyuCc z?o9H-2ASzu4T_h<%oq1FCP|%9Mmb+mUBFz{kWhNqkOMeS@n|@)GfhT9M6}Ou+*g2E zNC$juRldRz-G8H5Y(T|SbTTzK9ISs_54Cb9fAy>^bMT_>CLCtic
    e72~f87)*ev zk{Sp^oqR^-L;0QMI5qHXnYaIO*zI?h}lfT5kn~rpBHQ0oq!F-t2f% zn*^)NUr-{VcGx^^;4>z&AR{#Plc9kMj-h+*QI^R=W=ZF7gz!xgKYQYw7||UIznn7t z`_<+mz{du-A=P=o8#Y12Y104KXDc>SRkZt9YxqT0MQmCM;>G=R@{x{hZ#<8)!AgJt zM@5%^suqIo>R$$7*GX2Zya=aU zdn}4jS1|77R;k(-f9K#9c;+w)^sTvJijtHA>?!+`WQLK~gkec`2-NYJIwcAaf(oD3 z@A5Ihy78URYr+UcEE-gH_|J>{(~r%Xs#K+dW{rW!oS6*2mEU#Kkp3}}faI|`=qxe> zQD!#R?mm?b*L3;}P_Wji)oc)dB|CaLmKlHKT?WO2l(prp z6%U+l6AJpl(&cyidEN$hH^7(#12$gO{=#-7Am3nSHz%S|Ms1Y(B@ya?y_d|~-m_-1N~mx$faDhvidLA5|ngdH)H&I>HqPhjX_&QCI8 zA41&s2q!LuR0nPL2 zRc`;;#jEU^ZhjN8DuqtM)sp4X=ZC5BA-|38Ukia2NqM`sf{#H44r=s(lHA_P$Ox=b zc*=JQtsiuo%`use=rVe6Ga>rmz#K20O$67A0t{dRz7~FQip~321}3e}q0b%DUzh8K zf{y+GCeSi;tNv^;h#U^jRHtg*8aAj%b_2ko68i5(y?1akH>H!5ERw>pb-RaV1C08< z^>E!BClQdF#BOGUzxX#1LgVG#8``ouXVKjo+Cl;VnLW zTf-ec#3BB=4h*sAK<2<^{D@>N0U7vCD@#8*S3ExB4JMBc-JHDGHzggQ(t-asB3@9G zb^Z1j@%dqT6QjvfD&wJE!3vgcllf7-wC3`VcA zUA14B8M`k=$dy+iYi6WGGm%qE8LYA!%j4hW1%3497h__7?kZUwwg4R{2cC=&4 zruF!BxlnK2T1mqFn`5Az47SRKm_4WhRR!NZ zZpA^^FqO>p7R+Run~!u*j+tHuwSXu(PUau6?nh&I9$ZNAafY*Vo@V;k_h0dHte=`fGo{i}$;>ksewp;rY|0I9yEhRgUs8dqtRR{5 z>$()P7EQLpT=!2~%XeMXgH(aLSBn|k)@9MHFA>JBo3tey%?l{nN@G=r;aW*F<*H>s?DjCvX+59&iD zmvSXOE1bdDwK8$$#1yq}`Lp)!F%i2~up*EbX75y14&$SV%QDXRyb4NKpY&+@EgJ(@ zn8jcB70wV%N&WW7rv}t}S#(dGL%Wpk@`<=OF_8(7jB({ROQM#{vrwlisa<>b=xEDA z*1@gd?>wx-V3hoOqg6FD9ap`#^kMFbRC?^LQ`ZR%wptFEG*J=bN{;NQM{Sr+FS?jv zBGv1*SoC(#8ABlnAPXoEbyICaEm-(s#{10^4?vV$^hj{k)zj-^0jrVfWl=NVx}GPp z{lKG7y>PK*?g?1}VKGeI)!8ZrAcHRgSFkuU1-EQS5{#I0#v=h@tVco@OBzRFPb1X& zsXC2?axmLh3Q5dwT>_EO4rO}$8|DD7sRw}LD-ct+^f$wVfi^(JzV{#aXK&_iYf&+2 RFE;}ac)I$ztaD0e0sy#l#yJ20 literal 0 HcmV?d00001 diff --git a/examples/webenginequick/nanobrowser/doc/nanobrowser.rst b/examples/webenginequick/nanobrowser/doc/nanobrowser.rst new file mode 100644 index 0000000..8509850 --- /dev/null +++ b/examples/webenginequick/nanobrowser/doc/nanobrowser.rst @@ -0,0 +1,8 @@ +Nano Browser Example +==================== + +A web browser implemented using the WebEngineView QML type. + +.. image:: nanobrowser.png + :width: 400 + :alt: Nano Browser Screenshot diff --git a/examples/webenginequick/nanobrowser/icons/3rdparty/COPYING b/examples/webenginequick/nanobrowser/icons/3rdparty/COPYING new file mode 100644 index 0000000..220881d --- /dev/null +++ b/examples/webenginequick/nanobrowser/icons/3rdparty/COPYING @@ -0,0 +1 @@ +The icons in this repository are herefore released into the Public Domain. diff --git a/examples/webenginequick/nanobrowser/icons/3rdparty/go-next.png b/examples/webenginequick/nanobrowser/icons/3rdparty/go-next.png new file mode 100644 index 0000000000000000000000000000000000000000..6f3f65d33d303315f0d8d9dd03c7e7e2427d4950 GIT binary patch literal 930 zcmV;T16}-yP)b zm0M^XRTPH5HM8gBV(mpKDJa$_Z|#GH3N?w)f>s1UMXmZGQl%7pX-P>7f}&tiq(1aT zP)ljdLx@@mDPl`Bh9;&enie%Q#!J+svBm_`ljO{0&t5*9IdzgY(T8-w&&-B3-`fA$ zi`k;8T#fLq3ibbj8=Hf!`X=+>l7rQ;d2QV-?>9CVb}uOyV8_ERRIj^vt-Jr}^J`7#mgi;JV)-V&XlM@pz)^Qubt9p3w))KZP8v6Cty-~c zRl~=9ZT*|}%9hiw>&TVBk{`E*J%R4u*)k_V)uAX(9bH4M2p)H=X<%%8)E(<;`P*81 z@8<{N{{IBOvg2J&{nVa86~&Rd6sHcSmeg5NwcJ*BHyV2!{p9dWDJ(v9>J8g5$L0J= zsk213L}W|EX-H&4k~AVoLt+~ery;Q|@y+iixR{RdYHa50=@ zc;Z`>a*MNG;dVYeab$LCdg4%TZMthga6bIN!w)=6m3OItX9Q0?*00)%Kf9c^j>EIlQ#1Qc zA57l?;H7zB5ee#>%FD+$>_Y(0NEvPf-v}qi-lVpshC8o+i1CprJ$AfhX7ZQl+3(t2 zH&6>05s6eaF&WeV1%>gq+V-!$Z0APe-Os&PsP>n$@w!Jj_x-uF^Rtr^!@atFw9gFz zHT*jWDk5oR$3Ecq9kAr&;el~2&q-4lO(_RF6KKCrtkj_?;y0348J zvVd8%$N30LAs>C(5f2Uy_MAE5UP~ip7D;y%aK4(KDFy_}Bhr4nHU9O7(L-n7bFEo! zk}1x<%d6Z9Rkb2Q1|nz80wzuLs~`JES_Y1~?yQi@K`QVBC;_3W>YRUtl<7g%+ko=a zR2)dofzERo0gb zl}%_|RTze!@0@e*&7V^HBN&Y|1&xTHg2tGcEZQg$sloamid{(QrYma`p)R6`8xe$x zE=)JAVs%lCB0?>;8x67IczQ|E_9Y~NZ8{U=yn5|bNt zZ{FN-`>T5f542e0(zO_A*m+=BT65yYyKmi^zpwkzroe@3VKxTmpO<#Qo$9}PN9Ubg z_Xgiie@@TlL5!nPUT}-K{lP!##V{MR`u1A(tAcYQ;T_gAofzD<^P1~6-C!rCJ_VE{ zO?Y9~Tg^rcf*`V-pKddeGBNcDMl99@d@*?#BMu`5 zYb=66M96P>ym1t{;b7mot2ey7qkmV+`Nb)IK6?gh0-Om*H6=|GtZ^8z_|#xB$4MHa zD6$$jKjIFyZ|rzxApcm)!!tZo00$ zhq5n{niALwE`qSx617;GS}jp)^&B)CQmI@XtfQKK{hHtR*X)JiW5*8{*M}YSbUs87 z1lYjfLPHRlDtrlQago7TL4k#H%e?#y8Bg9ja)0mkw!Y3Mr7-(3 zYAQUqh^+o!nj9Hs){H z=}ylcLsNMD&@1I~F^*P_E-*KL76XJLlGGgAOs=NizD)j@|COP{pFB8!alR|pGZbnf z#AOW%WB!5iMHYZ^rc$=oSgzquXnvZ7!rRH-LgDnu&rXb&7mKAv<@GDAIZiV9I`7ewn;fJhF#0jl@vQT*g_QU!iIgs_I1~i>lhOu8{-W_eYbl%HYh8>o&{o zBxWuf-PgfmU=b*(s!IKhkt#g^qHK3{6G$e_R6k`ID61~NDss8UR75P*@7&g@Hcf4! d1W0rh$lr11Sh~C<&aD6d002ovPDHLkV1hiw#cluq literal 0 HcmV?d00001 diff --git a/examples/webenginequick/nanobrowser/icons/3rdparty/process-stop.png b/examples/webenginequick/nanobrowser/icons/3rdparty/process-stop.png new file mode 100644 index 0000000000000000000000000000000000000000..b68290bf1ebf568d8ab080a4e3ec7d75048ec461 GIT binary patch literal 1272 zcmVP(cu>t+olJDB6Oi7<19INt@fcyGh*L?Ahx%bEXfwuEs>^z{fny z%x}K=F8>icV;qMifOy81NDJ6=Ej;zmN%%s+rvl_$>k2dh=Ow(;0_uN(Pr~WyhK7%} zHZ{3*mkX3CnzC)MEUZ+DpWE9rgMEG9OW5-yd=~fwoT;v_|6tqBo$h#FAF1(iux+sI zJXA`Ql(-iyV*Z*nTse0xGt}Gr-RJP`;~f17=vUQsb?mwZsAw=PBr5?>n zVHpONVNg?F?}*0Z)vtxa%RAtQS>O}!_3A)i&-UhKPpqehbRMKZ1HFw&nEyHfUfIk zLXf_H9|}+RS{9)*XAnZL?7#t1<>eTqrM%qQinFwozYZP3ZJM|Mr4&XujIL>@LM|M| zx>PEkc_Bb4Dr}qh)D*$fr&)3EATJ(2j;?8FN-=QwFa(46aygVzD5bEK0x640)*e;7 zDwfm3k}A*TU~-bF3m0&DJUG2xA{Q@Wjg1wdwryiSgv&?0h4CGCbns!G!05h^3KijSjv1eNJ#=PJRV*;b_{1(8ULI* zMc@AYXhKkP^e9u~tsnJvA|wym+@;ktDV4bEI7LT+LL zXClFaa2Pc*f@fd=y8zIpr-|OVLoS)b6^)V`8Nsu1B~^g{JvVNcp~=bH9q^3~&;eKL zQYke$Hnwry=FQHWVUP(1(T0Z5L!lznE|^nFa=pD|M@A^EtfVp!;7)I^`RCocf7tMP zCs;+T=zyym(`h+6K3?yyuXpB>NwV>H5vJyt%PK2bSzF8Rot@eKv9Vumc(Vnvv(&8v zuGM8S=4ddu$sY(fbD0d;bQ*LWrR$(+sDhPORk7Uf=h`p7WQJm~A8mNM1+1s(u@hMG zF??3z^L_Z%h7Bdo`STHFW%=SSXtI(L<@M5e{=C^8kN@^19I_z-gn{&v;8I{Y@I0`r z33j{+ZvaB&_X!0;b zm1#^AXBfx-?>jR)yR%CSkD4Z}F=^Tmf|{770@hEqO%szQ{n9is zHEGgX6eKmafTT2OwXsKHJW8z!1VLK`LOl=`0dax7=XjrfU?CiS@JlE8XOfv`e)F4W zo|%^s5&n;jKTAy&;^&>EBHBBo`5EO|sKj&=J z5_Cb3Xb}|nqocOcn7QVqeWz0dr@u@KTRZD39?SzX23GoBb3MSyUw(0^ZDmff>~gB$ zoI%$O1VRQLJess_^m+m#;{k~=9QJeN3zwvG=)Bz$Vg)gg)ls`=U>nzH zUSF+63=0$fFk&_?ZmD@ zc?Mck^<7DVOM82J@iOh}mUc1b4RX!_VG$97nd)|hN(wTZg)gK^L_o+OY+avgFUrrb z_dk3R^J-BR>*^ggbs>p)FV8M3)z7(9XZ@K@nhF@qVOPSI5Z_;`t>7V!6wio%`?=P> zA3pu2HQ3fOOioq8(0B+>0w&hyr!z(7uq*-D9-a>d!)pV>lgu3#<6WMedPCPuFCab# zfSWZH-uC*6wktK|<%Vu;{QXK_`-vYrg7FTH%p?t$ZjC~bI4mJpWT7z$sG36^%FIZv zjn(W8V7$*Fn|I;FwAEE~>4te|Dxga-4h2KwAqW6=g~PIlDMA(iFxz8Gh+v}2@nwv| z{_|(`Ig88U z%-%Ny0HAWkqWLbWYDiTyjEIJ7LTO$Sn$F*e42=4Y zwjJNqu+UBx&J;-%$5e;!r^&ELn(+IpY_e?4oS!pp)0T!Qkdf#F1JK<+Mx3!##qTsP zUG&@%p0g~mVbT}eef!?vhrU2Kn{nKoz45Fth%o?ba^f&J9>kEBT0b&DOv1B6Yh(lH4dhQNwwkZ<1V>QD&5vpGVo|a|^hIHgFiABV;(0R{` zR|+$w;{0^28<*3^uZbcVE|zw(r3W-b^98;e$VZ)-gBS*1HciDJ$>!YH7P5%l`C5O zT5zU1RmBKKOo<2(5#OJqeXYj^t~PZ82t^YlqTmdet=@g?&6^GTF9WaxQ0GL6Mv|Ov zB_X3AA?O|U21fh50QBfwN1{+4fCv%MqNRy3Ce4A(LT%lQu} WX\xf4EPKi\xccC\x88Z\x0a)bK4\ +\x86&\xa6*\x9a\x1654\xc6K\xd4\xa4\xb1\xc6\x04\xd3\ +\x93\xe4\xcce\xcf^>\x9c9u\x926\xd1\x87t\xc1\ +\xcf\xcc\x865\xdf\xda\xff\xda\x8b\xd9\xa2\xaa\x5c\x8d\xf0\xae\ +\x0a\xf5\xff\x82\x1b\x9b\x83\xae\xfa&\xf3\xe0\x92\x83\xd5\xb1\ +ym\xdd-\xef76\x17v/)\x18`\xc7\xc3/\ +T\xaf\xbby\xe3\xab\xf7\xec5oo\xdb&\xfe\x92\x81\ +}?\xe0\x91\xcd\xdbk6\xad\xbb\xff\xe9\xf3kM\xe7\ +\x96\xe7e\xd9b\xf9&\xbfhh\x0e\xfe\xc0QwY\ +u#\xa1s\xb6\xfa\xcc\xf9N\x1a7l\xadZ\xb1l\ +U\xc3\xc7}m\xfd\x9b\xf6\xca\x96\xd3\xaf\xeb\xc8\x95\xc0\ +\x92\x1f\xb7\x86=\x81\xee\xdf\xd92'A\xd5\xa1(N\ +\x1d]C\xad\x08\x1ew\xaci`l|\xd4\x1d\xebj\ +\xf9\xdbZ{\xef\xe7\x07\xe2\xfe\xff\x04\xbf\xb2\xe3]N\ +\xfd\xd4\x9eA\x15\xc5\x91\xba\x14\xa7\x0e\xa7\x96\xd4YR\ +\xb5\xdcVw7\x1a{\x1c\xfd\xe4\xf0L),>u\ +\xea\x0d\xdb1\xc7\xe5\xfcJ\xa9\xb3D\xb6DdK\xc4\ +iHdC\x924\x22ICb\x1b\x12\xa7!\xb1-\ +\xf1\xcd\xef'\xb8\x98\x8e\xf1\xe4\x03;\xafYq\xed\xea\ +\xb6\x86=A\xd3\xa2`\xeb\x12JI\x91\xc9\xd91.\ +\x14\x87\x19\x9f\xfe\x8d\xa9\xd2\x9f\x84\xb6HBH*\x11\ +Nb\x9c\xc4\x0c\x5c\xe8ah\xe2\x0b\x1e\xbb\xef\x99\xda\ +\x1b\xebnz\xb9\xb1\xd9\x1c\xacp\xcc|p1\x9cd\ +x\xe2[\x94r\x8b\xc4\x03?\xf0\xf0\x9d\xe0\x07>\x05\ +S\xc03>\xe2\x04')j\xa2\xf2S\x10DnX\ +\x10\x9c\xb8h\x0e4\xa8\xf20\x85\xb2<#x\xbe\x05\ +,\xce)\xb7\xae\xacgM\xe1v>\xfc\xc0\xc3\x0f\xe0\xf7\x1d\xb0\xeb\x81\ +\xaaL\xd5\x95\xf7\xfa&\xd3\xebR\xe5\xae\x95O\xd0\xd3\ +\xdd\x13\x7f}\xf6\xcb\x9f\x07>\xb0\xbb.\x8e\xf0\x17P\ +\x00\x1c\x90f\xb2\x80Y\xb4\xc7\xf9\x08K!\x1f}\xda\ +\x11\x0f\x0e\x0e\xf6\x9c9\xe2^K#f\x16Iw\x15\ +p\xbe\x9a\x9f)\x06\x04\xca#\xd2~\xbc5\xfe\xf5\x87\ +\xd1Cg\xdfs\xadYn\x92)\xce\xbe\xcb\xab\xdc\x0a\ +U\xb5\x22B\x06\x22g\xcd\x02&M\xf4\xab\x1f\xfbG\ +Z\x06\x8e\xba\xee\xac\x90\xcbA*\xf0\x04(\x01\xa1\xaa\ +\xea\x9c\x7f\x85\x94\xe9A\xd6\xdb\x80\xf2\xd4T\x1cH\xce\ +\x81\xces\x19\x01\x91\xaa\xdaK\xac\x85.S\x11\xf1)\ +\x9f\xb4\x9fS\xc5M\xfe\xb0R\xbd\x02\xe4\x1f-'\x87\ +\xbf\xf3\xe1\xd64\x00\x00\x00\x00IEND\xaeB`\ +\x82\ +\x00\x00\x05T\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4l;\ +\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\ +\x00\x00\x00\x19tEXtSoftware\ +\x00www.inkscape.or\ +g\x9b\xee<\x1a\x00\x00\x04\xe6IDAT8\x8d\xb5\ +\x95iL\x14g\x18\xc7\xff\xef;3;\xbb\xb3K9\ +\x96[\xe4\x10k\x91\xa0\x16E\xa8h\x1b\x8f\x9a&\xad\ +1i\xda\x10\x82\x9a\x98\xa6\x02\xd6O\xb6M\x13\x93&\ +\xfd\xd2415i\xd2Z\x14$5\xb6\x80\xa44i\ +\xb5\xb1Gb\xfd\xa65\xd8\xd63LNU\xc2\xd0x\x08O\ +\x02&\xd6\xe7\xa73E\xe6\xb0,\x01\xd9\x1e\x9e\x0f\x06\ +\xc3k\x03\xc3\x93\xcc\x1d\x17\xe3]\x9e\x9dzC\xd7M\ +/ >\x07\x80\x9b5\x15\xde\xf6\xfa\x8a\xb6+5\xe5\ +\xe5\x86nm\xfc\xfdJ_\xfb\x89\x1f;\x82\xf1\x0e\x8e\ +\xcc$\x0d\x97n\x8dB\x918,!Xd\xa11\x09\ +\xa8\x9aC\x1d\xca\xccH\xae\x8d\xd5\xec\x0d`\xbc\xcf\x22\ +\x9bw\xe1\xc4\xb4\xd5Ut\xe9\x86yh*\xa0K1\ +\x0e\x05C\xe3!\x08\x00v\x85\xc3\xb2\x88)B\x16\x00\ +0\xdbcK\x88`\xa2\xcb\xf1e\x8c\xc3\xfe\xb3\xae\xab\ +\x8f)\xc2N\xc5,M\x9eZ\x08.\xaaj\x5c\xa5\xc8\ +\xd2\xd9\xea\xb7\x8a\xd4\xa4x\x0di\x89Nl.H\x86\ +\xaaH0\x051\x9b\xb5\x00\xecHK\xcf9\x8b\xcb\xe2\ +\xcc\xde7\x04\x00\xa0r\xc5\xa2\xf9.\xaajHc\xc4\ +\x7f\xb3,\xd2\x8e\xb6\xb4GH\x10\x88\x00\xc2\xf4^\x08\ +\xb2\xe9V@\x00s>\x90\xe2\xaa\xa61\x06\xb8\x16\xd1\ +\x00\x10\xc1\xc7\xb8\xd8\xfe\xc4\xe6\xeeq\xf9F\x1cO\xab\ +\x01\x00\x85\xa0\xb6\x9f\xda;J\x04\x92\xe7\x1c\x8fk\xf8\ +d\x87l\x939\x00\x06\xc6\x80\xb0n\xe2\xe3\xba\xd6\xc8\ +\xfd\x91\xc9\xf7\xaf\x1f\xdf\xdd\x1d\xad\x8bL\xdb\xd7)@\ +\xbcVZP\x18v\xc7\xe8\xf1\xdd\xff>,\x1d\x1c}\ +\x5cG\x84\xc4y\xad\x00\x11\xb3\xdbd\x5c\xb85\x02\x06\ +Bi^\x12\x9a\xce\xdf\x89\x0c\x8c\xfa\x8e\xb6\x1d\xdf\xd5\ +\xb0\xd0N\x16\xce\x14I\x15\xc7T\x87\xef\xa7\xc9\xb0H\ +\x9a\xf0\xfb\xabl\xb2l\xcd\x9c\x9f3n\xd3\x96\x86)\ +\x90\x91\xe8\x04\x03\xd0\xdd?F\x9c\xb1U\xc5\xef4/\ +]\xf4\xdc\x12\x9e\xb3,\xb1a\xd2\x17\xdc}\xfb\xde\xe0\ +\x87\xbe@8\x9bq\xdc\x9d\xbd\xf1\xac0\x881\x00k\ +r\xe208\x1e\xc4\x90\x97\xe3\xc8\x81-\xf6\xa6\xf3=\ +\xdb\xce]\xe9\xef)\xa9n\xfaJX\xd4\x01b\x03\x5c\ +\xb1d\x22\xe9\x88CU\xe2z\xee\x0em\xb6)\x12\xb9\ +c5\xc3;\x11\xaa_\x04\x9e\x96f\x08\x86t\xe4/\ +\x89E\xc4\xb4\xd0y\xcf\x8bW\x0a3\xa5\xe2\xfct\xad\ +\xe3\xce\xf0\x07\x9e\xc7\xbe\xb0g\xcc\xc7\xc6'\x82N\xc9\ +\xc6\x90\xe2\xd6\x90\x97\x93\x8c\xc48'k\xfc\xa5+\xac\ +\x99z\xe3\x220g\x8c\xdd\x7f4\x85C5\x97&8\ +\x03\xdf\xb1i\xb9m\xcb\xba,\xbb7`\xc2\x22\xa00\ +/M.\xb0R]\x8cM\xf7\xcf\x10\x04\xd3\x14\x98\xf0\ +G\xd0\xf8\xeb\x0d\xbfe\x18\x07/\x9e\xdc\x1b\x9e\x95$\ +\x220\xc6\xa4\xf5\x95\x0dF\xac\xd3\x16\xe8\xef\xba\xb8\xc3\ +\xd3q\xe6Q\xee\x96\xca\x9d\xee%\xb9\xd5\xab\x9fO\xcb\ +\xc8\xcfMQ2Sc\x99\xd3aC\xc4\x100L\x0b\ +\x93\x01\x1d]\xbd\x1eq\xf5\xe6C=81r\xb8\xfb\ +\xf4\xc1\x1a\x00a\x00a\x22\xd2g\xc0\xf6u\xfb\x1a\xbc\ +~\xcf\xed\xb2\xdes\x9f\xfd\x03\xc0\x11\x8d=}\xed\xce\ +5)+\xb7\x95+Z\xfcZp\xa6:U\xc5\x08F\ +L\x89\x08\x10\x11\xdf\x9f\xa3}\xad\xc7\x06\xae6u\x03\ +\x08E\x13$\xa2\xe0\x0c\x98\xad\xde}\xec\xcd\x9b\x0d\xfb\ +/\x03\xb0\x03P\xe7D\x89F\x92\x9cn%!\xa3 \ +!\xe8\x1d\xf6\x06F\xfb\xbc\x00\xf4\xe8\x5cG\xa2P\x1f\ +\x80\x08\x11\xd1\xa2\xa5\x891&\xcd\x81\xcdD\x06 a\ +\xfa7oEcD\xa3\x030\x89\xc8\x9a\xcb\xf9\x0f)\ +i\x5c\x9ar\xdc\xdf`\x00\x00\x00\x00IEND\xae\ +B`\x82\ +\x00\x00\x04\xf8\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4l;\ +\x00\x00\x00\x06bKGD\x00\x00\x00\x00\x00\x00\xf9C\ +\xbb\x7f\x00\x00\x00\x09pHYs\x00\x00\x0b\x13\x00\x00\ +\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07tIME\x07\ +\xd5\x0a\x11\x17+\x00C+G\xfb\x00\x00\x04\x85ID\ +AT8\xcb\x8d\x95[hTG\x18\xc7\x7fs\xcen\ +\xf6\x92l\xe2\x0d\xb5\xb5jH[M\x0d\x16\xdcf\xc5\ +\x18\x0d\x16\x95R\x0a\x81\xbeD\xc4\x06\x94\xb6\xd8B)\ +\xb6T\x8b\xd1\x07\x95\xc4z\x81\xfa\xd0\x87B\xfb\x16\xa1\ +PA\x10\xa9\xad\xb6\x09\xa5(\xda\x82\xa6\x18s\xd1\xb4\ +I\x9b\xdb\xba\xbbI\xdc\xdd\xec\xd9\xeb9s\xa6\x0f\xbb\ +\xae\xc6D\xe9\xc0\xc7<\xcc\xcco\xbe\xf9.\xff\x11<\ +c\x1c\x87%\x80x\xc6\x96H\x0b\xd8s-<\xf5\xd0\ +I\xf8B\xc1\xa7\x02\xe4\x5c\xeb\x0a4\x01\xe7%\xbc\xd3\ +\x02\xea\x7f\x81O\xc2\xe9\xea\x86\x86\x8f\xb665\xb9u\ +\x97\x0b\x94*\x9a\xb2m\xb0,\xacT\x8a\x9f\xdb\xdb3\ +\x83}}\xdfK\xd8\xf3$|\x16\xf8\x04\x9c\xa9\xae\xaf\ +\xff`\xdb\xce\x9d\xeex_\x1f\xa9\xf1q\xb0m\xb0\xed\ +\x01\xdf\xae\xf6\xfb\x9b\xb7\xef\xde\xed\x89\xde\xbeM:\ +\x12!\xeav#\xaa\xaa\xc8\x98&v6[\x84'\x84\ + \xe1\xf3\xe1]\xbb\x96x8\x8c#\x16\xc3J\xa5x\ +\xc5\xefwF\x13\x89\xb5\xb5\x13\x13\x0b;\xe0\x8a\x06 \ +\x1c\x8e\xf7\xb677{\xa2]]dB!rJ\x91\ +\xb5,\x16\xec\xd8\xc1\xd2}\xfbH\xf9|L\x0b\x81\xa1\ +i\x18ee\xacjme\xc5\xde\xbd\x98B\x90V\x0a\ +#\x12\xe1\xc1\xe0 [\xb7l\xf1h\x1e\xcf'\x00\x1a\ +\x80\xae\xebhB\x90\xbe\x7f\x1f\x0aO\xf7Z\x16\xa13\ +g\x10B\xb0\xec\xc0\x01R\xe5\xe5\x18\xa5\xa5\xbc\xdc\xda\ +\x8a\xb3\xb4\x94\xbf\x0e\x1d\xc2m\x9a\xb8\x00\xa5\x14F8\ +\x8c\xaei\xa8B.\x1c\xc5\xbaT*\x9fy!@)\ +*l\x9b\xf8\xd4\x14\xc1\xd3\xa7Yq\xf0 /\x1e?\ +\x8e\xaeihJ1p\xf80\x04\x83\xf8r9\x94R\ +(\xa5\xb0\x95\x02)\x8bI\xd6\x1eU\xbc*\x96\xd3\xc3\ +\x92*\xcf\xe5`r\x92\xa9\x0b\x17pz<8\xbd^\ +\x22\x17/b\x8d\x8d\x15\xa1\xb6mc?\x84\xcbG\xbd\ +\xe4x\x1c\x8cm\xe7=\xd7\xf2\xf7%t\x1d\xe9v\xb3\ +\xb8\xb1\x11M\x084\xe0\xb9\xc6F\xe2\xb7naI\x89\ +\xea\xeeF\x9a&\xb6i\xa24\x0dJJ\xf2\xce\xcd\xf2\ +X\xca|3HI\x020<\x1e^:v\x0cgY\ +\x19\xff\x9c:E\xdf\xfe\xfdhBPs\xf4(S\xe3\ +\xe3\xc4\xa5$\xd9\xd3C\xf2\xde=\x8c\xfe~\xe4\xf00\ +\xb6i\xce\x04?\x84*)\xc9HIr\xde^\xef\xaf\xafw\xe6\x92I\xb2\xf1x\ +\x11\xa6\xe6\x98\xcb*+YY[\xcb\xef\x9d\x9d\xd9\xfe\ +\xb1\xb1_mx\xb3\x05\xb2\xb3\xd4\xad\x03\xae\xd5e2\ +\xe6h0\xb8\xc9\x1f\x088s\x99\x0c\xd9t\x1at\x1d\ +\xa5\xeb\xa0i\xa8\x82\x95WU\xb1\xdc\xef\xe7\xda/\xbf\ +d\x86b\xb1\x1fmx\xbb\x05\xac\xa7\xe9\xb1\x13X\xf2\ +1|V\xe3\xf3}\xf8\xd6\x86\x0d%\xce\xf9\xf3\x11e\ +e\xf9\xe2/h\xb2\x92\x12\xe5\xf5\xd2y\xfe\xbc\xd9\x1d\ +\x8f\xff\xf6%\x1c\xb2!\x02\x84\x81\xf4\x93\xe0R`9\ +\xf0<\xb0\xac\x09v\xbc\x0ao\x00B\xe5\xf7\x09\x05B\ +\xe4\xa3\xa0\x04\xa8\x01\xe8o\x87s\xc08\x10\x04\xfe\x05\ +\x06\x01S\xcc\xf1Uy\x01\x1fP\x01,\x04\x16\x00\x8b\ +\x80y\x85\x17\x19@\x1cxP\xb0(0\x0d\xc4(\xc4\ +\x17\xe0?\x98\x97d\xf0\xa2y\x08\xf3\x00\x00\x00\x00I\ +END\xaeB`\x82\ +\x00\x00\x03\xbb\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4l;\ +\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\ +\x00\x00\x00\x19tEXtSoftware\ +\x00www.inkscape.or\ +g\x9b\xee<\x1a\x00\x00\x03MIDAT8\x8d\xb5\ +\x95Mh\x5cU\x18\x86\x9f\xef\x9cs\xef\xcd\x9fR\xfb\ +#\x18\x8d4\x05\x8d\x88\xa0\x82\xc6\x98\x99,\xda(\x11\ +\xa9\xc1\xfa\x1f\x8a]H\xe9\xa6+k\x13\xa1.\xa2\x88\ +\x1b\x11\x84\x8a.L7\xadbuQ\x8d\x22B-\xb6\ +\x1b\x15\x22\x9d*(\x88A\x94X\xd3\x88\xa16i\xe8\ +df\xee\xb9\xf7s1w\x921\xa6c\x5c\xf4\xc0\xcb\ +9\x8b\x8f\xe7{\xbf\x97{\xee\x11U\xe5J,sE\ +\xa8\x80\xfb?\xc5\xbd\xfb\x83\x01\x11\x0e\x84m\xbe\xff\xd4\ +\xa8\xfaF\xb5kv\xdc7\x12\xee\xbd~S\xe7\x87F\ +l\xdfZ\x0c\xfd'X^\x12\x93\x1bvo\xde\xdcq\ +\xfb\xab{\x06\x0f\xb4X\xe3\xd2\xb5\x18i\xd8y`X\ +Zs\xe2\xc6\xbbo\xdd\x9a\xbf\xaf\xfb\xd1\xa6\xc0\x85k\ +a6\x06\xe7\x9f\x97v\xc1\x9d\xea\xbf{G\xe7\x9d]\ +\xf7\x06\xdfN\x7fN\xcf\xe6A\x8c\xa3R^p\x8b\xb9\ +\xfd\xc1?\xea\xc50\x1b\xb4\xfa\xf6Z\xf6\xab\x82s#\ +\xe1\x1d\xd64\x9d\x18\xdc\xb6\xf3\x9a\xeb6\xdd`'\xa6\ +>\x05\x94$Mxa\xd7[\xcdF\x0c\x82 \xb2\x9c\ +\xe4\xe8\xd8\xee\xf5\xe0\x1d\xb0:\xb8\xf79\xb7\xbd\xb5\xb9\ +\xed\xe8\xc3[\x9fn3\x9121\xf5\x09F,\xd6\x04\ +|1y\x18#\x0e#\x06k,\x82AD\xc8oy\ +\xbcq\x14\xb9\xe1`\xdf\xba\xab7\xbc\xbc\xa3\x7fW\xcb\ +\xf9\xc5)~>{\x06k\x02\x9c\x09H5%M\x13\ +\xacq\x18\xb1\xf8\xd4`2\xc7I\x1a\xa3(\xb2\x1a8\ +?\xe2\x0e\xb6o\xecxf \xffX\xcb\xe4\xf9o\x98\ +\x9e\xfbi\x19\xa8\x09\x81\xa4\xa4\xb6BE<\x89\xc6\xa0\ +\xe0\x08\x89\xecUx\x8dYy\x83\x97\x1d\x1b\xda1\x88\ +\x92\x10\xfb\x12e_$\x16\x8b\xa2\xd8\x10\xc0cP\x8c\ +\x15\xc4T\xbdi\xaah\x09\x8a\xe9\x85\x7fE\xb1\x94\xfe\ +W\xcd\xc9\x13\xe7\xfe\xfc\xfd\xd0G'\xdf\xbdt\xd3\x86\ +n\xba\xae\xbd\x87\xb2/\x92\x9a\x12\xd8\x0a.\x82\xb0\xd9\ +\x12\xb5X\x9aZ-Qk\xf5\x1c4\x1bR\xa9\x5c\x1e\ +\xac\xa3\x9a~\xfd\x9a\xdf\xf7\xd7\xec\x85\xe1c\xc7\x0f\x17\ +\xd7\x87\x1d\xf4t>D\x10\x04\xd8\xc0\xe0BC\x10\x99\ +*|\x09jq\x91\xc1XA\x81\x85s\xcb\xbc\xa5(\ +D$\x00\xa2\x897\xfc\x07\xb7=U\x9c\x19O\xde;\ +r\x7f\xef\xf6\xb6\xbe\xce'\xa50\xfb1j*<\xb8\ +\xe5Y\x9cs\xd8\xc0\xa0\xaa\xa4^I|uG`\xe6\ +\x0c-\x22\x12\xabj\xec2\xa8\x03\xc2L\xd1\x0f\xef'\ +\xdf\xdd\x98\xe7\x91\xe3~\xfc\x9d\xdc]\xdb6\xe6o\xd9\ +\xe9N\xcf\x1eCSx\xfd\xd0+\xe5r1\x8eV\x8e\ +.07\x7f\x16\x03\x84\x22\x92\xd4\x1c\xdbL\xae\xa6\xdf\ +\xbeL\xfe\x98\xff\x95\xa1\xc4\x9f<8\x7fq\xbe+\xd7\ +3\x14j\x22\xc4e\x0d\x0ac\xfe\x81\xf2E\x16\x80r\ +\xa6R\xb6\xd7X\xae\xe1Oh~\x9a\x85\xc2\xdb\xc9\xde\ +B\xe1\xf4\xc9\xcfN\x8c\x97\x17\x8b\xa5F\xe5\xf5+\xad\ +9N2\xf9:\xf7\x15@|\x09-\x8c\xa5/V\x86\ +~\x99\xbcT<\xb2\x874\x8d\xc4P\xcc\x5c\xc6Y\x9d\ +_\xa1j\x14\xaa\xeaE$\x8b\xaa\xda\xb1\xae\x91\x03\xdc\ +\xf7G\x93\xb1\xca\xe0\xcc\x8f\xeb6\xcb\xee$f.\x1b\ +\xdd\xd7\xc1c`\x11(\xa9\xaaJ\xfd\x8d\x91*=\x00\ +\xa2lwu\x13H&\xcdT?e\x19(\xab.\xbf\ +*r\xb9\xc7TD,\xd5\xef\xdc\xd6\xa96Mm\xa2\ +\x04Ht\x15\xc8\xdfq\xe6X\xba\xbc$\xce\xad\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x05\ +\x00o\xa6S\ +\x00i\ +\x00c\x00o\x00n\x00s\ +\x00\x0b\ +\x0c+\x1f\xc7\ +\x00g\ +\x00o\x00-\x00n\x00e\x00x\x00t\x00.\x00p\x00n\x00g\ +\x00\x10\ +\x08\x15\x13g\ +\x00v\ +\x00i\x00e\x00w\x00-\x00r\x00e\x00f\x00r\x00e\x00s\x00h\x00.\x00p\x00n\x00g\ +\x00\x10\ +\x08\xea\xfbg\ +\x00p\ +\x00r\x00o\x00c\x00e\x00s\x00s\x00-\x00s\x00t\x00o\x00p\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x0e6v\xc7\ +\x00g\ +\x00o\x00-\x00p\x00r\x00e\x00v\x00i\x00o\x00u\x00s\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00,\x00\x00\x00\x00\x00\x01\x00\x00\x03\xa6\ +\x00\x00\x01{\xe0\xa8\xe4\xe2\ +\x00\x00\x00R\x00\x00\x00\x00\x00\x01\x00\x00\x08\xfe\ +\x00\x00\x01{\xe0\xa8\xe4\xe2\ +\x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01{\xe0\xa8\xe4\xe2\ +\x00\x00\x00x\x00\x00\x00\x00\x00\x01\x00\x00\x0d\xfa\ +\x00\x00\x01{\xe0\xa8\xe4\xe2\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/webenginequick/nanobrowser/resources.qrc b/examples/webenginequick/nanobrowser/resources.qrc new file mode 100644 index 0000000..829285e --- /dev/null +++ b/examples/webenginequick/nanobrowser/resources.qrc @@ -0,0 +1,8 @@ + + + icons/3rdparty/go-next.png + icons/3rdparty/go-previous.png + icons/3rdparty/process-stop.png + icons/3rdparty/view-refresh.png + + diff --git a/examples/webenginewidgets/markdowneditor/document.py b/examples/webenginewidgets/markdowneditor/document.py new file mode 100644 index 0000000..331fbc0 --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/document.py @@ -0,0 +1,24 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +from PySide6.QtCore import QObject, Property, Signal + + +class Document(QObject): + + textChanged = Signal(str) + + def __init__(self, parent=None): + super().__init__(parent) + self._text = '' + + def text(self): + return self._text + + def setText(self, t): + if t != self._text: + self._text = t + self.textChanged.emit(t) + + text = Property(str, text, setText, notify=textChanged) diff --git a/examples/webenginewidgets/markdowneditor/main.py b/examples/webenginewidgets/markdowneditor/main.py new file mode 100644 index 0000000..f89aa97 --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/main.py @@ -0,0 +1,20 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 Markdown Editor Example""" + +import sys + +from PySide6.QtCore import QCoreApplication +from PySide6.QtWidgets import QApplication + +from mainwindow import MainWindow +import rc_markdowneditor + + +if __name__ == '__main__': + app = QApplication(sys.argv) + QCoreApplication.setOrganizationName("QtExamples") + window = MainWindow() + window.show() + sys.exit(app.exec()) diff --git a/examples/webenginewidgets/markdowneditor/mainwindow.py b/examples/webenginewidgets/markdowneditor/mainwindow.py new file mode 100644 index 0000000..6f74cf9 --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/mainwindow.py @@ -0,0 +1,137 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +from PySide6.QtCore import QDir, QFile, QIODevice, QUrl, Qt, Slot +from PySide6.QtGui import QFontDatabase +from PySide6.QtWebChannel import QWebChannel +from PySide6.QtWidgets import QDialog, QFileDialog, QMainWindow, QMessageBox + +from ui_mainwindow import Ui_MainWindow +from document import Document +from previewpage import PreviewPage + + +class MainWindow(QMainWindow): + + def __init__(self, parent=None): + super().__init__(parent) + self.m_file_path = '' + self.m_content = Document() + self._ui = Ui_MainWindow() + self._ui.setupUi(self) + font = QFontDatabase.systemFont(QFontDatabase.FixedFont) + self._ui.editor.setFont(font) + self._ui.preview.setContextMenuPolicy(Qt.NoContextMenu) + self._page = PreviewPage(self) + self._ui.preview.setPage(self._page) + + self._ui.editor.textChanged.connect(self.plainTextEditChanged) + + self._channel = QWebChannel(self) + self._channel.registerObject("content", self.m_content) + self._page.setWebChannel(self._channel) + + self._ui.preview.setUrl(QUrl("qrc:/index.html")) + + self._ui.actionNew.triggered.connect(self.onFileNew) + self._ui.actionOpen.triggered.connect(self.onFileOpen) + self._ui.actionSave.triggered.connect(self.onFileSave) + self._ui.actionSaveAs.triggered.connect(self.onFileSaveAs) + self._ui.actionExit.triggered.connect(self.close) + + self._ui.editor.document().modificationChanged.connect(self._ui.actionSave.setEnabled) + + defaultTextFile = QFile(":/default.md") + defaultTextFile.open(QIODevice.ReadOnly) + data = defaultTextFile.readAll() + self._ui.editor.setPlainText(data.data().decode('utf8')) + + @Slot() + def plainTextEditChanged(self): + self.m_content.setText(self._ui.editor.toPlainText()) + + @Slot(str) + def openFile(self, path): + f = QFile(path) + name = QDir.toNativeSeparators(path) + if not f.open(QIODevice.ReadOnly): + error = f.errorString() + QMessageBox.warning(self, self.windowTitle(), + f"Could not open file {name}: {error}") + return + self.m_file_path = path + data = f.readAll() + self._ui.editor.setPlainText(data.data().decode('utf8')) + self.statusBar().showMessage(f"Opened {name}") + + def isModified(self): + return self._ui.editor.document().isModified() + + @Slot() + def onFileNew(self): + if self.isModified(): + m = "You have unsaved changes. Do you want to create a new document anyway?" + button = QMessageBox.question(self, self.windowTitle(), m) + if button != QMessageBox.Yes: + return + + self.m_file_path = '' + self._ui.editor.setPlainText("## New document") + self._ui.editor.document().setModified(False) + + @Slot() + def onFileOpen(self): + if self.isModified(): + m = "You have unsaved changes. Do you want to open a new document anyway?" + button = QMessageBox.question(self, self.windowTitle(), m) + if button != QMessageBox.Yes: + return + dialog = QFileDialog(self) + dialog.setWindowTitle("Open MarkDown File") + dialog.setMimeTypeFilters(["text/markdown"]) + dialog.setAcceptMode(QFileDialog.AcceptOpen) + if dialog.exec() == QDialog.Accepted: + self.openFile(dialog.selectedFiles()[0]) + + @Slot() + def onFileSave(self): + if not self.m_file_path: + self.onFileSaveAs() + if not self.m_file_path: + return + + f = QFile(self.m_file_path) + name = QDir.toNativeSeparators(self.m_file_path) + if not f.open(QIODevice.WriteOnly | QIODevice.Text): + error = f.errorString() + QMessageBox.warning(self, self.windowTitle(), + f"Could not write to file {name}: {error}") + return + text = self._ui.editor.toPlainText() + f.write(bytes(text, encoding='utf8')) + f.close() + self._ui.editor.document().setModified(False) + self.statusBar().showMessage(f"Wrote {name}") + + @Slot() + def onFileSaveAs(self): + dialog = QFileDialog(self) + dialog.setWindowTitle("Save MarkDown File") + dialog.setMimeTypeFilters(["text/markdown"]) + dialog.setAcceptMode(QFileDialog.AcceptSave) + dialog.setDefaultSuffix("md") + if dialog.exec() != QDialog.Accepted: + return + path = dialog.selectedFiles()[0] + self.m_file_path = path + self.onFileSave() + + def closeEvent(self, event): + if self.isModified(): + m = "You have unsaved changes. Do you want to exit anyway?" + button = QMessageBox.question(self, self.windowTitle(), m) + if button != QMessageBox.Yes: + event.ignore() + else: + event.accept() diff --git a/examples/webenginewidgets/markdowneditor/mainwindow.ui b/examples/webenginewidgets/markdowneditor/mainwindow.ui new file mode 100644 index 0000000..f4e29ad --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/mainwindow.ui @@ -0,0 +1,107 @@ + + + MainWindow + + + + 0 + 0 + 800 + 600 + + + + MarkDown Editor + + + + + + + Qt::Horizontal + + + + + + + + + + + 0 + 0 + 800 + 26 + + + + + &File + + + + + + + + + + + + + + &Open... + + + Open document + + + Ctrl+O + + + + + &Save + + + Save current document + + + Ctrl+S + + + + + E&xit + + + Exit editor + + + Ctrl+Q + + + + + Save &As... + + + Save document under different name + + + + + &New + + + Create new document + + + Ctrl+N + + + + + + diff --git a/examples/webenginewidgets/markdowneditor/markdowneditor.pyproject b/examples/webenginewidgets/markdowneditor/markdowneditor.pyproject new file mode 100644 index 0000000..e18e050 --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/markdowneditor.pyproject @@ -0,0 +1,8 @@ +{ + "files": ["document.py", + "main.py", + "mainwindow.py", + "mainwindow.ui", + "previewpage.py", + "resources/markdowneditor.qrc"] +} diff --git a/examples/webenginewidgets/markdowneditor/previewpage.py b/examples/webenginewidgets/markdowneditor/previewpage.py new file mode 100644 index 0000000..35ac80b --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/previewpage.py @@ -0,0 +1,18 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtGui import QDesktopServices +from PySide6.QtWebEngineCore import QWebEnginePage + + +class PreviewPage(QWebEnginePage): + + def __init__(self, parent=None): + super().__init__(parent) + + def acceptNavigationRequest(self, url, type, isMainFrame): + # Only allow qrc:/index.html. + if url.scheme() == "qrc": + return True + QDesktopServices.openUrl(url) + return False diff --git a/examples/webenginewidgets/markdowneditor/rc_markdowneditor.py b/examples/webenginewidgets/markdowneditor/rc_markdowneditor.py new file mode 100644 index 0000000..aa4f38a --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/rc_markdowneditor.py @@ -0,0 +1,852 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.2.0 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00\x01\xdd\ +#\ +# WebEngine Mark\ +down Editor Exam\ +ple\x0a\x0aThis exampl\ +e uses [QWebEngi\ +neView](http://d\ +oc.qt.io/qt-5/qw\ +ebengineview.htm\ +l)\x0ato preview te\ +xt written using\ + the [Markdown](\ +https://en.wikip\ +edia.org/wiki/Ma\ +rkdown)\x0asyntax.\x0a\ +\x0a### Acknowledgm\ +ents\x0a\x0aThe conver\ +sion from Markdo\ +wn to HTML is do\ +ne with the help\ + of the\x0a[marked \ +JavaScript libra\ +ry](https://gith\ +ub.com/chjj/mark\ +ed) by _Christop\ +her Jeffrey_.\x0aTh\ +e [style sheet](\ +https://kevinbur\ +ke.bitbucket.io/\ +markdowncss/)\x0awa\ +s created by _Ke\ +vin Burke_.\x0a\ +\x00\x00\x02\xb2\ +<\ +!doctype html>\x0a<\ +html lang=\x22en\x22>\x0a\ +\x0a\x0a \ +\x0a \x0a\x0a\x0a \x0a \x0a 'use str\ +ict';\x0a\x0a var pla\ +ceholder = docum\ +ent.getElementBy\ +Id('placeholder'\ +);\x0a\x0a var update\ +Text = function(\ +text) {\x0a pl\ +aceholder.innerH\ +TML = marked(tex\ +t);\x0a }\x0a\x0a new Q\ +WebChannel(qt.we\ +bChannelTranspor\ +t,\x0a function(\ +channel) {\x0a \ + var content = c\ +hannel.objects.c\ +ontent;\x0a up\ +dateText(content\ +.text);\x0a co\ +ntent.textChange\ +d.connect(update\ +Text);\x0a }\x0a )\ +;\x0a \x0a\x0a\x0a\x0a\x0a\ +\x0a\ +\x00\x00\x06V\ +\x00\ +\x00\x17ex\x9c\xb5XKs\xdb6\x10\xbe\xfbW\xec\ +\xd8\x93\xc6\xce\x90\x0e%Q\xb2DM\x0f\x99\x1c\xda\x1c\ +\xda\xe9!\xb7\xc6\x07\x90\x04E\x8c)\x82\x05!\xcbN\ +\xc6\xff\xbd\x8b\x07)\xf0\xa1D\x89\x12\xd9z\x10\x0b\xec\ +.\xbe\xdd\xfd\x16d\xcc\xd3\xe7/\x17\x80\xaf-\x11\x1b\ +VF\x10\x00\xd9I\xbe\xd6c\x19/\xa5\x9f\x91-+\ +\x9e#\xf8\x83r\x9cA<\xf8\x87\x14D\xb2\x92{P\ +S\xc1235\xe1\x05\x17\x11\x5c\x85\xfae\xc6\x0aV\ +R?\xa7l\x93\xcb\x08&kk\xe6\xc9\xdf\xb3T\xe6\ +\x11\xac\x16A\xf5dF+\x92\xa6\xac\xdcD0\xd3C\ +/\x17\xf9\xc4\x83|\x8a\xef\x19\xbeC\xf8\xd2\xb11\xd1\ +/\xc7\xc5\xbd\xb5\x11\x06\xc1p1\xbe\xe7\x1eT\xe0n\ +\xd3\x8f\xb9\x94|\x1b\xc14\x1c\xb8`U\xd8\xf9Z\x7f\ +\xcd>S\xd4\xbe\xb4\xbeM\x87\xb2\xd9\xa2\xd1\xf3\xf6\x0d\ +|\xcc)\x18\x03\xd6\x1c\xb0\x1a\xea-)\x8a[\xf8 \ +_\xd7\x90\xd2\x9amJ\x9a\x82\xe4\x10S\xd8\xd5\xf8s\ +\xcfd\x0e\x1bA\x9eaK%\x01I\x9f\xa4\xd6\x07o\ +pJ\xc1\xf7@\xa0\xe2\xb5\x04\xc9dAo\xe1\xcd\xdb\ +N\xd4\xd4>0t\x0b\xeb\xe1l\xe8\xa1\xd9)\xca\xc2\ +\x11\xd9\xc4\xca\xe6C\xd9\xc4\xee\x9a\xf4\x82\x10\x04\xabU\ +\x96\xad\xbb\xb93\x84R]?R!YB\x0a\x9f\x14\ +\xb8\xed\x08bRS\x95\x1bZm\x94s\x94[\xe5j\ +\xd7~J\x13.0\xc38N-\xb9\x9a\xe6\xda\xcd\xb2\ +\xc5\xc2\x84\x99D\x8f\xacf\x12\xb1\xebxV\xedDU\ +h\xdd\xbb\xc2\x03^Xi\xdf)\xc7\xe7\x97\x8b\x82\xd9\ +Y\x9d\x94m C\xa9R\xa5\xbf\xbaiT\xd0\xcc\x99\ +Wy\xd01\xe9\xa2\xd8\xe6\xc7\x88\x85^]\xccC[\ +\x04\x95\xa0\x03\xe71\xcc\xa3\x8b\x96A[L\xfb\x1cA\ +\xf1\xeb\x8a$h\x18u\xf8{A*\xa5/\xe1)u\ +]k*\xfb=/k^\x90\xda\x83\xbfxI\x12,\ +\xecweJ\x0a\xaa.\xf1b\x8b\x9fZ\xdbXU\xdf\ +\xce\xd7\x83\xbd\xcel\xc6\xd4\xac\xb5\x97\xb2\xba*\x08\xda\ +\x8a\x0b\x9e<\xd8%\x05'\xa8B(M\xd6s\xb3\x97\ +\xd9\xca\x02\xa0'\xff\xb7\xe3\xb2Q\x13s\x91Ra`\ +\xbf\x9d\xd3-\xa0\xdf,\x85+Ji?\xf5`J\xb7\ +\xebA\xac\x82\x01p\xe1\xddb`\x0c\x12&\xe9 \x88\ +\x93p,\x86\xd3\x16w\x93\x7fWq\xa6\xfez\x1a\x95\ +\xc2(\xa6\x19oC\x9a\xa0^Z\xe2\xfe_\x7f\x9a\x06\ +\x93\x10>\x05\xc1\xbb\xe0\xb5Z\xe6\xae\xabzU\xb7X\ +,\x86;X4\xa4\xd9\x94Q7\x91\xda\xc2\xb2\xe5\xa7\ +\x80\xe8\xd5\x80\xe6|\xfc\x0a\xba\xb5\xb6Z\xad\xb4C\xc8\ +i\xefU\xee\x18\x22\x929\xd2\x99\x82@\xd1Z\xc2\xab\ +g\x1dA\xf8\x88\x0c&\xb1\x92?\x94\x89\xa6\xa7\x8bx\ +\x87\x14Xz\x17\xac\xacv\xd2\xbb\xc0\x9a\xa7\x09~+\ +W\x88\xa0\x86O\xdc\xb4\x09\x82W\xca|\x87L\x8eS\ +\x07\x12c_\xb8eij*\xdf\x9a\x06mZ\x1b\xea\ +dm\xc9\x05\xb2\xb1\xd6\xa1\xc8\x07\x13q\x1f\x81\x22\x93\ +\xd8]\x1eE\xfe\x96\x7f\xf63\x9e\xecj\x9f\x95%\x15\ +V\xe1P\xa0M\x98\xe4\xb4\x8ew\xdbI\x07\x8a\x7f\xe5\ +sE\x7f\xbf4c\x97\xf7\xddQAk*\xfb\x83\xf5\ +.\xde2\x1c\xd5f\x92\x9d\xa85\xcfq\x86\x19$\x94\ +1l\x80\xf1\x03\xc3\x00W\x15%\x82\x94\xaa\xf0\x8dz\ +e\xdc\xd1\x94\xe44y\x88\xf9\xd3\xbd\xdd\x89\x19\x15$\ +e\xfc\x88\xf2\x17\x15|\x05\x92P\xc5\x9c\xd2\x8c\xec\x0a\ +\x09I.\xf8\x96\xc2o\x901\x81I\xfd\x84'\x01\x89\ +G\x82M\xad\x02o0*\xb9\xbc\xb6\xee\xb3-\xd9\xd0\ +\xcb\xfb\x1b\x0f:\xb1o\xbcF\x7fT\x0ah\xb4lU\ +\xa81\xbd1\x85\xf3W\xe4GE\x98\xb4\x1d\x00\x11\x96\ +$\xb7\x00\x8e\xa1\xa5\x1c\xcb\x18-\xd2\xf5/wl\xcc\ +/\xcc(k\xd3\x8c8=\xf0\xa8\xcb\xa65bw\x22\ +X\x96'TY\xc3\xf6\x97\x7f\xd2\xe2\x91\xaa\xc2\x81\xbf\ +\xe9\x8e^z\xd0\x0e \xf1\x0bF\xb0\x85\xd5\xa4\xac\xfd\ +\xf6t7\xe0\xf6\xde\xb1\xebPNG\xaa\xacw\xe8j\ +\x8e\x14g%\xe6@k\xd0S\xa9\x10\xe8\xd6QE\xea\ +z\x8fEz\x7f\x80\xa7\x01L\xdbh\x9b\x14+\xf5F\ +\xda^e\xf9t:\xb1|\xda\x16w\xe8\xa0\xf1\xfd\x00\ +\x19\x1c\x00\xfa\xd7\x0d\xfd.\x03\xf5\xb7v\xa8\x05\xcfi\ +M\xcbK\x92\xa4\x9b\xab\xba3*\xc4v5\xb6\xd0\xca\ +M\xd31\xd1\xd8\xe8K\x93>n\x102VP\x13\x83\ +\xf6\xd4rgTt\x8f2wFC'\xf1\x1a\xa1\xb9\ +\xa50\x9dd#\xe83p\xa4e\xc4:\xa19/\xd0\ +\x0d\xcd\x1b\x86U\x9dQ\x13x\x0b\xc6\xa1\xad\x1e\x8aE\ +{y\xc2\x8a\x93\xd3b\xb4z\x1ak\x12\x0b\x0f\xcf\x9b\ +\xfa\x5cj\xd0\xd3\x08\x10\x01\xc1\xed\x14\x0fO\xba\xe6s\ +\x92b\x8bt\xc6\xdb0\xfc\xf8\xf23\x0c\xbbL\xa6g\ +\xa8\xe4F\xb2\xc6^\xafr\x09\xa3\x0eb\x13\x93\xeb\xc0\ +\x03\xfb\x7f;\xb9\xe9\x12\xdcw-\xfb\xde\x15\xc3\x8a\x8d\ +t[\xedd`\x1b\xa0F\xd6\x84\xc7\x5c\xeb aB\ +\xa9\xbd\x1f\xee\x18l~\xdbd\xd0\xb6\x97xO8Y\ +,=\x98\xce\x16\xca\x81\xe5\xcd\x8fc\xe4\xa9\xd3\x12,\ +\x1bY_\xf5\xe2GA\xce8N\ +\xe5\xa8\xca\xd6r\xbf\xdf\xf7\x8a\xd4\x22lS\xa2\x16Y\x97yH&L\xc9\ +\xd9\x5c\xe6[4OnKRQeA\x1c*\x16e\ +\x81\x03(\x8b\x15\xfc\x1f\xe9\xa4\x95Q\x16\x99DVd\ +\xc1\xfcc\xb9\x8d\x1d\xb5\xb8\xc5\x0e\x88\xf2\x7f\x0az\x04\ +\x84\xbdO;KN\xaa\xb8\xdf?W\xb2\x8e#\xb5\xa5\ +\x12K@\x1a\xa2\x8a\x90\x08\x94z}\x8a\x82\xca\x1a\x0e\ +\x96\xc6\x0a\x06Mg\xd5\xaa\xcd\x08`\x86\xac\x8b\x1b\x07\ +l\xad\xa3K\xd8=\xae\x07\xa3>-M\xd69c\x9d\ +\x03TD\xb0(\x0fJ\xfa*\x95\x91\xc3\xbf\xa2\xe2?\ +p\xceN\xcf\xdf\x83N\x1a\x0f\xdb\xc4R\xe9i{|\ +\xaa\xb8aa\x09\x0ed\x95*\xae\xc8u=\xff^\xd1\ +oU\xa8\xb8\x11\xac\xc6 \xdc\x09\xd1zf\xf3 a\ +\xb3\x10L#\x10\xd5l\xbb)\xc0\xc4\x9e\xdd\xb2\xe2v\ +\x13\xe2\xb6O\x16\x15o\x97\xb7\xe9D\xb5\xb4\xec\x01\xeb\ +r\x9b\x14\xc5\x08E\x90\xcd\x1a\xab\x0baL\xff\x1d\x96\ +\x10\xd8odS\xdb\xd64\xc7\x90\xf0\xfa3\xb6\x0e\xb3\ +e\xe8\xde\xdd\x0b\xd4\x06\x8a\xbf\xfe\xeb\xcf\xed\xed\x97W\ +\xebzc\x81\xb5GV\xba\xb4\xba\xc9H~Oz\xee\ +3\xe9\xb7\x09\xf3\x07h\xed\xfd\xda\xc5-\x1f4\xbc\x14\ +w\x8f\xcc\x02\xffh\xe7>\xbe\xc3\x02\xef\x1a\x16\xf8\xb3\ +\x8e\x89e\xef^s\x1f(\x7f\xa2\xc4\xc1\xaaD\xb5\x8b\ +\xff\x08\xdbGc\xe2\xa3\x14\xdaW7\x01\x85\xcf5\xf5\ +\xb1\xe3\xd1\xd2\xb7[\xe2\x86\xd2\xde\xe6\x85l\xd3:\xbb\ +85]\xf6\x0e\x95O\xde>G\x05\xaf\xafO\x13\x10\ +\xce\xe7H\x1dH\x88\x8f\x93\x0b\xb0t\xd8t\xd0\xf1\xcb\ +A\x87\x9bV\x93\xfeh\x0a\x07\x19\xbf\x9c\xf4K6\x92\ +\xe7\x10<4\x0d`u\x9fspu6\xe9\xd0\xe1\xc2\ +\xb6\xde\x10\xb3_\xba\x03n\xab\xf9\xe5\x18\xb6y\xc2Z\ +\xc3\xc8va\xe43(\x86\xff6\x5c\x04\x09l]l\ +Y\x1f\xf4F\xd6\xed\x96N~\xee\xa1\xb9\xa7\x99q.\ +H^\xa4>\xee\xf0M\xb8\xf4\xe9\xa4$'\x0fmy\ +T\x05\xd2X\xee\x8e\xf91G\x82\x93\xd1,\x9a\xa0\xba\ +@\xa3\x19\xb4\x83e\x99\xc3\x174\xe4@o\xa2\xd6\xf4\ +Ac\xfa\x0e\x98h\x0e\xb6\xc3\xcf\x07C8\x83\xe4h\ +\xe6\x8c\xc1\xe4l\xc0\xcc\xb7\xf7\xc7j|\xd3h\x81\xae\ +\xd1fAA\xc6\x83\x1e\xd5\x12UA\x09\xbb\x22\x9c\xc7\ +S0\x82s`Q\x5c\xe6\xe5\x1c\xb6\xca\xf2\x9f\xe5\xe2\ +*)\x83\xd9\x0c\xb6\xf1\x006\xcd\x22\x82-\x19\xcf\xda\ +%\x9c\xc9\xcb \xac\ +\xfd\xba\xd1p\x94\xa2\xce\x10\x87\xbbo\xefMyx`\ +\x5cbTH\x8e\xd3\xd3\xa5\xe4\x90\xd9oT\x91\x06K\ +\xc6\xd8\xbd\xb1*\x12\x10E\xea\xd8\x80\x19!\x8cd\x91\ +&\x1e\xce\xccQ\xb2\x0dO*L\xe3\xf6!sQ\x91\ +\xb63OX\x91_\xc5\xbe'\xf3$\x0e\xd0\x82Fd\ +\xc7\xd3*\xa7\xb0\xf4\xc5\x14\xb7\x22\xc7y\xf4X\x85U\ +\xde>L\x01\xf0{\x8fS\x1d\xf0T\xc5\x22\xdc\x14+\ +>\xaa#\x89\xb0i\xc8\xc7\xd3G\x0f\x96\xb66\x96\xa4\ +\xb0\x01Pol\x13\xe1\x01\xd0\x9agPs\xec\xf9\xf3\ +\xa6\xd5\xcf\xedn\x83\x11\x9a\x13\xc2\xa9U\x1b\x15\xb50\ +\xc6\xc4\x9d #PkqT\xbc\x0a\xe38w\xc5\xf8\ +\x8c\xb5CNV\xf8\xef\x1bR\xed\x8e\xe7\xe9\xf6A\x1c\ +-\x139l\xbb\x8d\xd9b@\xf8\xdd!\xc734\x10\ +\xcc\xb1O%*c\xf1\xc1\x5c=b\xf1\x08\x14\xb4\xb3\ +\xc0\xf2\x99(&\x9f\xec\x19\x8a\x0c\xc7=\xe0\x83\x92\xda\ +\xec\xec\xec\x8c\xd81 Z\xa5 \x18\xacy\x8c\xd4(\ +\xe0\xab4\x83^\x00\xfe\xf0\x84E\xec\xb4\x8e\x19\x8a\xbb\ +]\x13='\x0cY\xd2\xef\x8e\x90%\x83\x22\xcc\x0bW\ +7\x9cDS\xcfn\xc0\x98U\x8b\xde6\xbadsN\ +\x0c \xc3\xdaB\xe4\xa3\xaf\xc1\xce\x1dq\x0f\xa0\xffb\ +\xecqx\xd5H\xfa\xeef\x09l\xc5V#\xbd\xbb<\ +0\x1d$S;\xa6C\xc1\xf0\x8e\x0c\xd9\xb7\xaaz\xac\ +.M\xdeI\x13\x155m\x82\x0dM\xa9\xb1\xd7\x7f}\ +W\x5ce;\xf4]\xf6\xbb\xab\xba\xec\xf1\xeaY\xbb\x97\ +\xda)\xd60_J\xf9\xa3I\xd7]]\x82u\x95\x15\ +\xe6@\x1e\xb0\x08:\xe7l\xacM\x02\x01\x0c#|\x1b\ +\xe49{\x0fZ\xf7=X\x98\xecc\x18n\x80\x8e\x90\ +\xcd\xb7Y\x06\xabD\xc3\x1d\x00H\x8c\xf7\xcc\x07\x0c\xba\ +\x86\xb1\xb2w@.\xd8u,\xbc\x09\xe6E|\xabA\ +W\xe9\xb5\xba<\x1flbv\x9df\x1f\xf3Am\x90\ +\xc8\x06n\xd6~\x19\x07\xc2d\xd14\xfe\x96\x99D\xf7\ +Q\xfb\x1c\x92s\xe9\xab\xe4\x8e\xae[\xce\xc4\xd6\xa0\x8c\ +Mi\x14\xe3Q\x0b\x00\x0c\x93\xf3\x09cF\xe2\xc4|\ +\xeb\x9dD \x1e\xd5\x0do\xc6\x08\xd6\xa8\x81\x8d\xa6K\ +\xf4\x8dl\xd3DO\xd9_\xc3\x82\x85\xc1|\x85\xd3\xd1\ +\xa7i\xe6\xda\xa0I\xa8\xd6A1_\xb9\x06\xf3\xec\xe5\ +\x8f\xe7\x0e<\xbc\x04\xa0\xf3$\x1f\x04g\xa4\x92\x92\xdc\ +!E&\xdb\x91n\xe3j-\xae\xa91\xb1\xc1#\x05\ +\xd1\xd4\xd04@\xfa/\xe1:\xfd\x14\x92\xd0\xd2-\x14\ +\x82:9\xe3\xf7K&`\x9eB\x1d\x0al\x1e\xc2\xf1\ +*\xc8\xa9\x09QK\xdc\x1fh\xf6\xa1u\xcf\xc46j\ +\x93\xac(\xa1:sy\xb9\xe6E\x1d\xeb\x0e\xed\x85F\ +\x04\xbc\xd9\x16\x18\x19\x00\xa7\x1fX?\x9f\xe0\x98\x0c\x04\ +\x98\xf5\x8a|\x12\xe2 \x02\x81`\x7f\x0b\xe6\x1fo5\ +i(\xbc\x9f\xa9o\x8c2\xb8ys\x85\x16\x02\x1cM\ +m\x95\xcf\x07\xd0o\x19\x81\x1a\xc3\x83\xa6=\x1a\xf7\xd6\ +@\xf1T\xffK\xb8\xfc\xcb\xcd\xc6\xc5\xf0\x87\xa3\x1e\xde\ +\xa7\xf1\xde\xba\xcc\xb9w\xc45b\xd5\xfc\xc7\x03@\x95\ +a\xd0\xb8~F\xb1\xb6\x19\xe0\xc8\x8f!\xec\xd3k8\ +\xf3\x01\xcf\xc2b\xc5Y\xc6\xe7L3k\x16\xc6i\xb2\ +\xcc\xc1\xb8\xcb\xc2\x81\xd9\xfa\xcf\xc0;\x1cU\x8cl\x83\ +\xa9_\xa4p\xaaH\xd2B\xb4`\x11?\xa8\x13*\x9b\ +\xc5\x16cr\xd0e\xc5k\x80\xc9\xd10\x8d\xd8>X\ +X1\xeb\xdb\xa7FP\x00\xca'\xc3E\x8f\xab\x13\x92\ +X`\xce\xd1\xd4\x83\xb5cM\x02\xf4C\x8b\x12\xf1\xcd\ +\x10\xf5\xbe[\xd1\x11X83\x8f\xa9U\xdb\x83\xab'\ +\x5cYy\x1c\x01_\xa9'o\xf0!\x8d\x12a:v\ +\x11\xe6\xc4j\x84\xcb\x8e\xe8\x7f\xd0\xdch\x9c\x01\xe29\ +r\x0d}\x0a\xa0\x86\x90\xa3\x16\xdb\xff\x91\xa3\x0b\xdbE\ +\xc7\xb8G\x8142\xb6\x88_LS\x18\x8d\x09\x8f\x0b\ +\x7f\x11\xe5\xf3t\x9b\xe0\xd4\xac\x82OQ\x9ai\x8c\xbc\ +\x9f3>\xebp\xb8\x1aZ\x88\xb4\x85f\x08\x11\x99\xc6\ +m\xf3$\xf4\x13\xb7}VA\xf6\x830\xf0\x04\x9b\x09\ +\x1e\x8dh\xe4_u\xbe\xf6\x89\x18\xcf\xa2\xa9Mv_\ +\xa1\xbf\x83\x06\x87~\x10-\xaf\xb9&\x93<$t\x8f\ +\xefO&\xec\xe6\xdf\xa7\xfe\x94\xb5\x8cH\xbaO\x00z\ +\x0b+\xff\x0afdQ\x190a\xab\xd8~F3\xc4\ +\x08'\x1db\x8b\xc3\x9c\x06}PY\xa2\x9a&\xa5\xcd\ +\x1aF\xfa\x08w\x09q\xab\xa2V\x1c*\xbc\xc4.m\ +S\x86\xff\x91\xbb\x9eQ\xdf3\xf1\xc2HG\x15\x0f\x13\ +\xfe\x11\xa3\x1d\xe9\x81k\x92\xbd\xea\xb6\x01&Nn(\ +\x0c\xc30\xe1\x11\x11\xb4\x83\x99\xad\x1e\xe3\x19\xd2T\x1b\ +\xe6\x89\xed!z\xda\xbe\xff4+\x07\xafhv\xd8\xd6\ +P\xfb;[\xd7\xb6\xe6\x0c\x92\xa8\x88\xfe\xcb\x9c{\x98\ +y}5k\x94\xa3]\x0e\xd4\x19\xb3\xbc\xc9\xc2\xaa\xf7\ +I\xe2\xcb\x8c\x86\xc2W\x80\x92M\xab\x16\x9a9\xa8&\ +\xcc2\x1e~T/\xc6P$\xc7krj\x1c>\xde\ +\xa9\x01\x8bQq\xbc\xd5y\x81\xd1&M\x8e\x8b\xa7\xfb\ +-_L=\xe9>8\x93\xee\x03\xdd\xf6\xa8'\xcb\x0c\ +u\xa6&\x8f\x22Y\x84\xc3\xa3H_\xa7\xd7a\xf6*\ +\xc8C\xd73\x1c\x10yW\xba\xbb\xcd\x9e\xf7k72\ +\x13\xc06m\xf3\x9bj\x08\xcb+\x83a\xa4x\xdfT\ +\xf5\x9fAc\x8c\xfa\x90~\x11\xbdj\xec\x03\xe4C\x8e\ +\xa5G:\x92\xfe\x0f\xb8\x91\xe8f\x18\x1by\xe3\xff\xf7\ +(\xfd\xbfGI4j\xda\xbe\x7fc\x8fR\x9d \x09\ +g\x899\x8afey\xf4\xeaM\xff'\x5cQ\xf1\x83\ +\x0e\xf8\xf8\x7f\x83\x07\xfeXlYg\x0e\xac\xf6#X\ +\xbe\xc7M\xbb\xd6\xd1\x13\x5c\xf1\xea\x9c\xaf\xb6\xe3\x875\ +\xa7\x02\xfd\xca\xbd\xecaf\x18\xe1[\x8d\xe3\x94\x96\xbb\ +u;a\xdb\xee\x96\xd1!\xe0\xf8)\xe9\xb0\xc7\xfaG\ +\xb5\xeb\xa9'q\x0fHi\x97\x18\xacm\x92\x16h\xf8\ +N\xb1=_\xa5\xdbx\x01'\x08t\x04d\xe4{1\ +\x0f\xb0\xbf%3\x91\x9eF>>\xd6\xca\xc1Q\x1aw\ +\xb5\xd8g\x96^\xd3\x1d\xff_\xb2,\xcd\x5c\xe7\xa7\x04\ +N$\xb0\xf6\xd0\xd6\xdf\xb04a\xb3[\xcc\xcfp\xf8\ +\xf9\x93f\xebU\xba\x08a\xc6\x0e=\xcf\x0cX\xd8k\ +\xb83\xcf\xad\x9b\xf2\x9f\x12\xbc\xf4m\xcbq\x89\xa8V\ +l\xdaa\x0e\xa3\xe29.\xbe;\xd9?x\xf6\xcd\x1f\ +\x9e;\xae\xd7\xe9\xf6\xfc\xfe`8:9=;\x1f\x7f\ +\x8f\xc1\xe2\xbe\x7fq\xf9\xfe\xae\xbc\xff<\xe5qW\xc1\ +\xb6H\xd1f\xc1\xa6\x98\xab\xb1\x0a\xd7\xe1\x08\xe3_\xfc\ +\x9b\xc3\xc3\xbe\x7fstuz>\xed\x94\xe1:\x88b\ +\xef\x9c\x9al\xb3X\x87\xd9\x83\xa5\x83\x09!2\xa8\x88\ +\xc6\x87Q=\x17\xa7C\x11\x07J9\x04#\x99D@\ +\x91Ny\x18_\xf5\x1br\x04\xa0\x95\xd9\x88G\x8e\x9a\ +\xa9\x0e\x88b8>\x17Y'\x954\x86\x8bz\xe6\x07\ +\x01\xea\xa8\x0a\xe0\x19\x08\xd4\x96B\x0bz,\x1c,\x07\ +\xect\xbcYm\xd8\xf8\xdc\xc0\xb2/i\xe8b\x90\x95\ +\xce\x0fq\xb8\xcd;\x8fa\x85\x9a\x18\xf6\x7f|\xf3\xea\ +\xdd\x7f\xbc\xfd\x0b\x1dA,D\xbbRG0V\x16\x8e\ +\xcaX\xcdD\xb8\xf0\x1ef\xea\xf0\xa9\xd8\x1f\x1b\xc9\x11\ +\xbe\x8b\xc6#F\x1c\xe5]\x95\xfe\x80\xd9\x00|\x0a\xa1\ +\xae\xb9\xd9D'\x0d\x18Y\x03c\x916\x80\x19\x01\x18\ +\xf2\xc4s\x8dR\x0b\x85\xd5n\x22\xd2\x0c\xa0\xa0\xac\xa5\ +\x1et\x00\x03\x01\x01\xf4\x98P\xf1\xc80DuyI\ +\x91TS\x19\xb1I_<(\x1d\xef_z\xe5\x85\xdf\ +\xf1;M\x00T\x0e\x14t\x00F\xa2hje\x00R\ +\xc7\xe1\x9a:\xad\xa3\xbc\x84\xe6\xa25\xaf\xbd\xac\x92\xa4\ +p\xd7\x1bw\xb0\x1fI\x8e\x00\xe8\xd4(V\xf4\xba\x95\ +\x0eU\x0b\xcf\xa2Ue\xa0\xbd\x87)\xc8;\xae\xc6\xf7\ +~:\xc6\x12\xff\x08\xa0\xdfs\xe0\x99\xc8@;\xee\xdd\ +\x1b\xfe\x1f\x1e\xc3f.E\x99F\xa2R\xbb\xce@\xea\ +@\x0a'\xef;0s\xb3\xcbR\xa0\xe0Qk\xa0g\ +\xb8\x0a\x19\x5cr\xed\x81QQ\xc3'\xa8\x8f\xa5\x81\x81\ ++\x0eD\xa0\x160\xff\xf7\xb0\xff]w\xd0\x9f\xde\x1d\ +\xf5^\x1c\xdd\x0fOt\x97\xa8P\x0cx\x80\x1b\xecS\ +\xb7\x9d\xee\xf0l,z\xe9O\xbb\xee\xf7\x9e\x06AQ\ +\xd3\xdf\x00\xeda\xef\xe5\xd1\xbdQ\xcfs\xe8\x06Oj\ +\xe1a\xd4\xe0\xa4\x0f\x93\xa6\xe9\x93jQF\xfcV\x8a\ +\xed\x88_>xX\xd067l \x1a\xb0\x01\xc35\ +\xea^5dWV+\xadG\x93\x927\x07\xd5\x83 \ +\x9c\xc1\x7f*<\x94\x7f\xc5\xb0z\x0c\xaa\x17_+a\ +\xf5\xba\x0f~(6\x87W\x8b\xec\x7f\x5cv\x80\x19\xff\ +_\xa3\xbf}\x88FnS\xb3\x92\x19\x97\xefq=t\ +\xde\x1b\x1a\xab36\x84\x08\xd5\x22\xe7O\xc7=\xe5*\ +\x0ev+Rp\xf9\xe99\x81\x9f\xf3t\x99\x89\xebA\ +\xb9\xefZ;\x9b\xeb\x01\x08h\xd1\xb2^\x0a\xfd\x18\xd2\ +\xa0\xb3\xaa\x9aR\xaa\xa8\xc8\xc1\x22\x87\x8a0\x95\x8a\xca\ +|\x0f\x0b9:\xdf38\xdf Yu\xa9\x92\x99U\ +\x16\xbb\xaa\xc9\x0d\x94\xe2c\xb2\xa39\xf7\xca\x1aG\xeb\ +\x8c\x88\x8d\xa4B\x99(},q;\xd2\x0b\xb8=c\ +[2\x02AC\x82\x01\xafi\x8a\xe3\xde\x81\xa71\x9e\ +\xdb\xea\x83\x07t[\x9b\xd4\xf8\xcc\xff\xd5S*\x18>\ +\xdb\x9bM\xad\xbae\xdf\xa9\xa3\xd1{@\x03\x0e\x03\x03\ +\xdf{\x89\xe9\xb5\xad\xdf\x1d`\xaa\x837\xac\x86q\xb7\ +\xce@-\xd0Y\xd9\x07\x8d\x1d\xe4*\xfe\x19\xb7\xf2/\ +\xec\xc6\x8a\x81\xc6t\x83\x1dST\xcd\x05i\x98\x1di\ +\xcd\x9ab\xc8\xcb\xb4\xbf\xce\x99zx\xe9\xf6\xb9\x84\x7f\ +\xbd\xca\x88\xc9B\x15\xa3\xc5\xa5xUlJJ@\x1f\ +{#\x7f\xe8\x0f\xcb\xeb\xebk\x7f\xe0Y[\x83\x0f{\ +\x8d?\x80\xcd\x80\x94\x07\x98\xbc\x17\xa4\xa1k\x0ci\xd5\ +\xe35\xbe_\xce\xe4-\xdc\x88\xe73^\x8c\xf7\x07\xbd\ +\xd1I\xe7\xf2\xb3\xeb=\x9fvI\x1dQ\xc2e\xf9\x1c\ +w \xbd'uO\xbe\x01\xa5\xa4\xa0=LD\xddW\ +\xd9\xdc\xb4\xe9\x0f/>\x7f\xaeK\xd5\xe7\xcfFB\xa9\ +\xa5\xd9\xa1\xa4:\x92iI\x0c\x9c\x96\xb5\x14\x01\xaa\x10\ +\x1c\x1b\x0d\x87%\xf0\x0f\xffA\xae\xf9\x83\xb2\xbac\xfb\ +z\xcb\xf6}\xbei\x7f_\xd6c\xeek2\xd2e\xaf\ +QF\xfe\x0cG\xc0\x8f\xf9.\x89\x99q\x88\x06\xa1Q\ +\xa9)h\x22\x99\xe3\x9de\x86\xa4\xa0\xd5\x83#\xea\xd4\ +\x04\xa5\xce(\xcc\xd2!f=\xd4\xdc\x1a\x8e \x9e\xc2\ +\x99\xd9s\xf6*]o\xa2\xb8\x96\x02\xc0\xa1xl8\ +\xf9\x89+Q\xe4O\x8f\xf0\x97\x19\x02\xf4\xaf*\x95!\ +\xee\xd6\xca\xd2\xb5a\x82\xa1\x11\x99<\xb9\xcb+\x06U\ +\x0e\xfd\xf1\xdbn\xfe\xdd\xf5jM\x0d\x22M\x14*\xb7\ +`_\x13\xa73\x0a*\xe7\xe6w<\xef!\xc8\xb2\xe0\ +\x16T\xd4?\xb7Q\x06D\x07\xec=5{\x8f\xa7\xb6\ +M\x98\x15\xb7\x03\xee\x8e\xbf\x7fz\xdeBeK ,\ +_\x90\xb8\xc0\xa5\xaf%q\xc1\x92Pq\xba\xdf\x91\xb9\ +\xa0\x85\xcc\xf4\x04\xd4R\x17\x848\x19\xb9\x0b\x86\xe8T\ +\x905\xa50\xc0Qw\xc8e\x10\x0f\xbdf>\x83\x89\ +'\xdd\x16\x9bmQ\x8b\xb6o\x92L\xcb\xdf\x80\x93\xb8\ +C\x94O\xb4cC\x0c\x97wT\xcfx\xa8RZ'\ +Qg\x064\x12\xab\x89K\xa9\xceQ\xbe\x1e\xa4I\xc5\ +\xec\x1b\xe9\x00h\x22\xa9r4\x86\x8c\xd4\x80\xf6\xf8|\ +\xbe\xf7\xb4\xbb\xbdx\xfd\xd7\xb9Iq\x04]yG\xf5\ +\x90\x17N\x9eC\xdaI\x92\x10\xbfM\xca\x80t\xc2~\ +\xefX\xf7^<\x9e\x80\x8f\x9e/\x9au\x90,\xe3P\ +8'=\xc3s-Lu\x07w\xcb\x22\x1d\xa1{\xac\ +0B\x08jn}\x1b\xb7\xc0WCg\xa1\xb0\x19i\ ++,d\x05yQzt9\xd0\xa3\x96\x0f:;\xc1\ +\x8e\xa8\x5c\xadq\xcd\x16%\xaf\xd1Nn\xf4\x14C\x9b\ +F\x1f1g\xb0\x0d\xab-\x04\x1d2sh\x85\xcb\xfc\ +>S%\xfa\xf9-g\xc7B'i\x91\xd7\xcd`8\ +\x0c\x1c\xfb&E\xf6\x88F\x06\xd8\x16\xd5\x1e\x1b/z\ +\x1a&]O\xfb\xef0\xfd\xd2\xb9\xd8\xec\xea\x0e\x1a\xef\ +E\x9a\x84dxq\x1a\xb0a\xc4/\xc0\x04\xb3j\xf7\ +\xc7\x02\xfc\x8c2\xa6*\x8cW{\x92\x85\xd3\x1f\x06\xe7\ +\x8f\xc6j\x05%\xde?Y\xbaL\xae\xb6\xc68\x8c\x9b\ +\xeb\xcd\x98\x856\x109\x00\x03tT\x11\xaf=]a\ +y\xf0\xdb\xc3^w\xe9\xc7\xaf\xd7\x8d\xed\xb3&\xe4\xb4\ +\x12\x10\xfb\x90\xed\x82\x7f\xc4\xf1\x9b\xde\x9fq\x0e\xa6\x1d\ +\xe1^\xcc\xbb\xee\x04\xbez.&Z\x1f\x0f9\xddt\ +\xda7\xee\xfb\xb0\x03:\xa87\xad\x19\xac0\xf6\x15\xa2\ +_\xf84\xa8\xea\xc5t\xe7\xca\x93\xb0\x8e\xd3\xb0\xf0j\ +\xcaA\x00W\xef\xe8\xf9\x15\xd4\x11]AQ\xd3C\xad\xee\ +^<\x0e]\xbc\x0e4n?\xa9p\xff\x04k\x92Y\ +j:\xaa4\x8d\xd6\xc12\xb4\xdb\xda\xc7g\xdb\xfb\xf2\ +\xab\x96(\xf6.\x0b\x92\x1c\xdfQ\xa3\xc0\x86\x06\x9f\x93\ +f\xa4!\x88\xcd\x13\xacO@V\x1a\x09o\xe2\x99\xf3\ +\x7fb\x8b\x83\xdeJ\xfa\x8b _\x85<]@\xdb\x1b\ +\xfd~\x9f?9\xb1\xc5\x97g\x85\x83\x19\xe1\x936x\ +\x0d\xfeB\x83c\xdc\x08\xba\xc50 $\xae5r/\ +\xcaI\x9f\xf70t\xfd\xc9\xdd\x01\x1a\xe0\x0e!\xfa\xe6\ +\x88\xca\xff\xa4Q\xc9\x10\x16\x81\x8a=g\xc1&\xc5-\ +vS\xa7\xc6\xd1\xc4|W'f\x91ng\x0f\x13\xc3\ +\xfbG\x8a\x0eL\x8a\xe6u\x8a\x9a\xf1\x1dh\x1a\x16\x06\ +\xff\xe28\xda\xe45`\x7fp\xf7\xe2^58~\xe9\ +\xd8\xe2\xf33yzh\xdd\xed\x94\x17\xee\x11z\xac\xa8\ +p\xe8\x9a\x944\xba\xf8\x84+\xa0\x92\xa0O\x11\x9d\xca\ +\xab\xb7\xa2\x85\xd8\x9a`7_I$\x86\xb2\x8b\x84\xae\ +C\xea~\x0e\x8a\xd5\x00\x16\xc7\x22\x85}\x97\x9d\xb3\xc3\ +\xc1\x1f\x0d\x97\x0e\xb6vnP_\xceW`\xe4\xfe*\ +\x8c\xcf\x97\x86\xb2T\xfa\xddy\xfe\x8c\x03bp\xd0\x89\ +\xa3|\xdaUE*\xd8+\xbd\xef\x95+\x04\xe5\x94\xff\ +\xd2\x8b\x03\xe8S\xe20&\x09\xcd\x0dK/\xc2\xf7\x1e\ +=\xf9 u\xc8B\xcf\x985a\xabh\xb9\x8a1\xc0\ +X\xb2EOU3\x9c\x81\xdb\xe03\xb6\xd8\xe7\x81\xbb\ +\xe8\xdd\xe0_\xcf\xc8\xf6\xd2\xfc\x16\x94T\xectA;\ +1\xd0\xda\xa2\xf8\xf9\x02\xfb\x11\x18\x04\xab\x9d\xd3M\x16\ +\x9e\x9fb\xbbs\xfd\x84\x94+\xb1\x8f9F\xed~ \ +z\xb9\xc5\xa5\xa0\x9d\xd3!\xb5?\x1d\x22\xae\xdal\x1a\ +]\xc0\x92\x0c\xf2\xfc\xec@\x86\xc6Y\x5cA\xea\xde\x82\ +\xc2\x8enD\xad\xdcP\x88\xf3\xd4\xa7\xa8p\x0e\xce%\ +\x86\xc7SZ\xa5\x93\xf2\xbaP\xc8\x1aD\xc0zfP\ +\x09\x02\x7f_\xd0\xdc\xb8\x9dS\x0d\x89\x08\xa1\x13\xde\x8a\ +:\xb3\xebZ;\x13\xcfS\xaan\xf0\xbb\xd5\x0b\x16\xb4\ +\xb7\x16ohTt\x0a\x08\x15FJ\xf6X\x16\x5c\xb7\ +I+\xc5U\xff\xb4\xc8k\x22\xb1\xd2\x92@X\xf4L\ +\xb3h!g\xaf6\x7f\x1c\x9f1\x83\x08\x01\xdd\xb7\xe5\ +\x98L.\xfc\xeb)?5\xf7\x1dC\x9a\x0e\x0cAT\ +[\xa1\x98\xbfv\xca\xceE\x9e\x1eJ<\xe8\xf1h\x99\ +\xa4Y\xc8~\xfa1\xdf\xb3\x06&\x1bR\x13\xe9h\x95\ +\xb8\xad\xca\x9dS\x96\x99\xfc\xb6m9\x93%74\xb7\ +c\xec9\x1b\x92\x80\x8c\xe8\xf3N\xe4\xe2\x11]\x85\x1e\ +_H\xed\xc9D\xef\x1e\xcf\xea\xd6&\x1a=\x9ey\xc6\ +t\x8a\xb7\x93\xc6\xd4\xcdVgQQ\x93\xa0@\xac\xae\ +\x04\x04\xc5B\xc5\xa4Z\x8e\xcd\x1e\x04\xc1\ +G\x5cU\xf5\x03t\xdc7\xf1\x12\x9f\x87\xffGF\x16\ +\xfd~\x9aE\xcb(\xf9\x09poB\xfa\x99\x10\xa8\xe0\ +w\x97\x9c]\x02\xbdp\xbfda\x9e\xc6\x9f\xb0q#\ +\xc6\x1e\x13\xb7_\xbcc=G\xa2y\x98\x88\xd9\xe1\xc8\ +\xf5\x0c\xfc\xe1\xf8\x8f\xc4\xfe?\x88\xa8\xa2\x1a\x9b+\x83\ +\xbb\xb7\x0f\x9f\xa7\x01\xf5\xc0\xd5\x929\xdb\xdcj8\x91\ +L\xe0\xae\xa0;\xeb\xfc\xc7e\x8f7\xe5\xfe#\xd5\x06\ +{\x91`\x15!\x0f,\xad\xa6N\x89\x0d\x02O\xee\x9f\ +/\x91\xf8\xff\xa9Y2\xf9\x18\xad\x97\xe8c\xe4\xdc \ +l\xc8\x0cP\xfa\xc2\x14\x93\x0c\xf8Mx\xda\xac\x9a\x84\ +^z4\x7fE\xcc\xc3n\x97\xa6u\x86\x7f\x07\x05\xc6\ +9^\xc0\xe5,M\xe2[z\xce\x05[l\x03JD\ +,Xz\xc5\xcb0.\xaer\xea7\x11\xa1\xd6\xbd\xa7\ +m+IY\x12\x82\xbd\x86\xde\x0d\xfe\x83G\xf6\x1e\x96\ +\xef\xed\x99\x0d\x1bv\xb2\xb6z\xdc\x8e\xda\xea\xf4\xde\xd2\ +\x06A\xba\xbc\xad\xb2\xc2E\xd6\xca\xc6V\xe2\xb9bo\ +\xab}\xec*\x90\xfb\x8a\x0e\xd2\ +w\xc4\x02\x90\xdc\x1f\xc4\x7f\x82\xc5\xf0}H\xa76\xcd\ +\xd5H\xb3\x1f\xe7\xb7\x07;j\xec\x19F8\xdad\xf0\ +\xb7\xd1\xc3\xa7@\xbd\xa3\xa7\xab\xad\xf0\xb4\x0b\x7f2\xf5\ +\xfc\x0b\x11\x8e\xa63\x01l\x9a\xd5+\xda\xaa\xdb\x93\xfa\ +\xb2\x16L\xe2\xdb\xb8L\xb4\x1eU\x8f\x81\xe6\x9c\xea7\ +\xb9\x0d\x96\x19\x0b\xdf\xe6\xad\xe1\xadF\x07\xb5\xf0N\xeb\ +@4\xe1\xb5\xce'\x0e\x85\xc0\xe2W\xf5\xcc'\xac\x9a\ +\xeb\x90~\xcbSDY\xa0\xe3\xe3\x16\xa8\xe6\x8fi#\ +,\x0b\xae\x0a\xf1Lw\x1c\xe4\x05\xcb\xe1\xef\x15zu\ +\xa3\x22\x07e\x0c\xc7\xfe\xb9\xbc*\xeaI\x9c\xb3m\x81\ +x\xd7\x18\x18\xc5\x9d\xb9E\xca\x82\xc5\x82]\x16\xab\xa0\ +\xb8\x94`\x94\x89?\x1a\x0e\x8b4\x05\xc3;\x0a\x8b+\ +\xb0y\x96C\x5c\x87\xc3\xecj\xfe\xe2\xbb?\xbd|&\ +\xde\x90\xea\xbfP\xcb\x02\x7fPz4\xed\x8e\xfcag\ +r1\x9c\xaa'\x18\x91X#R\xb9i\xd80q4\ +\xa4.s\x86\xf2\xe8l\xa7\xf9\xeche\xdewQ\xb7\ +\xc6\x13\xca\xf2\xaa\x88\xb0\x9f5bQY\xe4\x94\x07\xa4\ +\xde\xad;\x16\xebv8T\x8b[\x88\x81\xdd\xe7H\xa4\ +\x09a\xaf#z\x06\x1c\xf1\xf0\xcb\x1e\x95LG\xa8+\ +J\xe3\x01\xbc\xae\xe2\xa3g\xf4@Q\xc9\xb5.jh\ +L\x10\x90Ir\xd3\x88\xa13\xfe\xfb~\xdc\xb8\xad_\ +\xbeP6\xd87\xe5\x05\xff5v\xf8K<\xa8\xd4\x19\ +A\xd9\xf8\xd9t\x18\x9d\x18\x22\x8eOA\xf1\x0b\x02\xfc\ +Dq\xe9\xa8[\xe1\xb3\x09\xc5\xdd\x80\xe9\xec\x83\x91\xdc\ +\x0d`G\xfaG\xce\xa0^\x1d\xf6?\x86\xb7\xd5 J\ +\xa8\xdf\xe23@\x8d\x87@\xde\x1a\xf0)(:\xfca\ +\x15\xa1\x00|\xf4\xfe<\x81\xd9\x89\x93of\x1f@\x8a\ +\xcd\xa0\xa3 \x7fs\x9d\xbc\x95O\x01\xcc\x038\xdc\x09\ +\xea\x90.+\xdf\x11\xc63\x812J\xb1%\x10\xfaf\ +\x9f\xb1j\xe1\xeb\xb3\x0f\xb6\x8e0\x1e\xf4\xa4\x83\xd7/\ +\xe9u\x8f\xd1\xfb\xec\x9aWt\xa0\xa5^8\x80!#\ +\xf8\xcb\x93\xa0\x0eK\xa1\x0eYi\ +?\xfa,\xc2\xca\xeb\x09\xa2\xf3~_J\x1d\x8c\xd8\x1c\ +\x0c\x1fP\x05Z\x87\xe0\x1b\x1e}f8\xf1-\xd1\xec\ +U\x82\xef-!5\x07o\xca\x9c\x04\xe21\xf9\x22\x9e\ +\x1fs-\xf9w\xb16\x06\xfa\x1a\xfeiC2\x07\xc5\ +\x0c\x5c\x8cg\x0a\x9c\xd4*\x9b3\x06\xf0\xcfn\xd6i\ +\xb1\xf7\xc4j@\x9f\xbc%(\x9c^\xa9\xfe\xf5\x9a\xa2\ +l\x06<\xb9=F\xed\x09\x94b\xec\xd6\x22lPM\ +\xbaI}5\x86\x83u\x98\xe7\x18\xfb\xc0o\xed\xde\xc6\ +!\xee\x95\xb0W\xa7YA\xc7+p\xab\xd8)\x83j\xbc\xe212\x1e8\x98c\ +\xe4W\xc8\xc9\x17&\x81\xb4\xa5\xa5\x81\xf1fc\xa4\xae\ +\x09\x8aU$\x82,\xc8\xc3\xe2\x8d\x8aNP\xd2\xae\x0e\ +\xda|\xb2Z'J\x0c\x93\xd7\xf3\xabM\x01\x0b\xd6\xe6\ +\x8f\x02\xdc\x0an\xb1\x9cH\x9c[\xc2\xee\xe7i\x82|\ +\xab\xe2\xafG\xc9{\x07~\xfc\xbdZ\x8b\xdb\x1e\xfa\xaa\ +\xf2\x16\xea\x85<\xf9`\xa4n\xc8\xd4*7{\xd0y\ +&\xf8\xe3*\xf0e\x0b<\xef\x8b\x16<\xe7\xca\xc4,\ +\x9f\xa6\xb0H\xb2c\x04t|\x00\xaf\x95a\x93V\x13\ +\xf5\xbc\x87I\x0b\x17\x1e\x1bN\xfd\xceT\xbd\x98\xe7\x0d\ +Z\xe5\xfcw\xc2M\x82)\xa8K\xc0\xec\xc9\x83\x7fe\ +\x1eq1\xd6f\xcb|\xa5\x92?\xbee\x09\xd0[\x19\ +a\xc2?\x9c\xc8\xf2\x8d]\xce\xbfkqP\xd1\x1bg\ +\x8aO\xaa\xa9\x15\xddqf\xc5Zh\x04\xaf\xc5o\x89\ +\xd3\xbf\xaail\x96\xe27\xdd\xc0\x0c#93\xe3@\ +T\xe3\xa8\x0dB\xb8d5.\x19\xf0\x22\xe5|\xcf\xb0\ +m\xd7\xe9b\x1b\x8b}\xc9\xb0\xae\x9f?\x97\xa6$\x18\ +\x9d\xa0prnN\xa6d\xb1\x8a\xbd\x8b7\x1d(\x00\ +\xbd\x8e\x8cGn8\x12\x8e\xb7b\x92b'\xbcb\x10\ +\xacE*\x03\xff\xee\x9a.\xa2\xca*\xe5\x1e6}T\ +\xca\xd2\xb4\x18\xf0:\x93\x84=T\xf4\xa8$\xf1E\x0d\ +A\xc5u\x94,@\xd3T\xc7:\x96\x15#\xb6\x8c\xd3\ +Y\x10\xa3{\xef\xbf\x01\x9e\xed\xc5)\ +" + +qt_resource_name = b"\ +\x00\x0a\ +\x08\xce\x22\xb4\ +\x00d\ +\x00e\x00f\x00a\x00u\x00l\x00t\x00.\x00m\x00d\ +\x00\x08\ +\x08\xb6\x8e\xf9\ +\x003\ +\x00r\x00d\x00p\x00a\x00r\x00t\x00y\ +\x00\x0a\ +\x0c\xba\xf2|\ +\x00i\ +\x00n\x00d\x00e\x00x\x00.\x00h\x00t\x00m\x00l\ +\x00\x0c\ +\x08\xd0i\xc3\ +\x00m\ +\x00a\x00r\x00k\x00d\x00o\x00w\x00n\x00.\x00c\x00s\x00s\ +\x00\x09\ +\x09\x1b\x92\x13\ +\x00m\ +\x00a\x00r\x00k\x00e\x00d\x00.\x00j\x00s\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x1a\x00\x02\x00\x00\x00\x02\x00\x00\x00\x04\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01z.[\x95V\ +\x00\x00\x000\x00\x00\x00\x00\x00\x01\x00\x00\x01\xe1\ +\x00\x00\x01z.[\x95V\ +\x00\x00\x00J\x00\x01\x00\x00\x00\x01\x00\x00\x04\x97\ +\x00\x00\x01z.[\x95V\ +\x00\x00\x00h\x00\x01\x00\x00\x00\x01\x00\x00\x0a\xf1\ +\x00\x00\x01z.[\x95V\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/webenginewidgets/markdowneditor/resources/3rdparty/MARKDOWN-LICENSE.txt b/examples/webenginewidgets/markdowneditor/resources/3rdparty/MARKDOWN-LICENSE.txt new file mode 100644 index 0000000..23c52cc --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/resources/3rdparty/MARKDOWN-LICENSE.txt @@ -0,0 +1,16 @@ +Copyright 2011 Kevin Burke unless otherwise noted. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +Some content is copyrighted by Twitter, Inc., and also released under an +Apache License; these sections are noted in the source. diff --git a/examples/webenginewidgets/markdowneditor/resources/3rdparty/MARKED-LICENSE.txt b/examples/webenginewidgets/markdowneditor/resources/3rdparty/MARKED-LICENSE.txt new file mode 100644 index 0000000..8e3ba0e --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/resources/3rdparty/MARKED-LICENSE.txt @@ -0,0 +1,19 @@ +Copyright (c) 2011-2018, Christopher Jeffrey (https://github.com/chjj/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/examples/webenginewidgets/markdowneditor/resources/3rdparty/markdown.css b/examples/webenginewidgets/markdowneditor/resources/3rdparty/markdown.css new file mode 100644 index 0000000..24fc2ff --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/resources/3rdparty/markdown.css @@ -0,0 +1,260 @@ +body{ + margin: 0 auto; + font-family: Georgia, Palatino, serif; + color: #444444; + line-height: 1; + max-width: 960px; + padding: 30px; +} +h1, h2, h3, h4 { + color: #111111; + font-weight: 400; +} +h1, h2, h3, h4, h5, p { + margin-bottom: 24px; + padding: 0; +} +h1 { + font-size: 48px; +} +h2 { + font-size: 36px; + /* The bottom margin is small. It's designed to be used with gray meta text + * below a post title. */ + margin: 24px 0 6px; +} +h3 { + font-size: 24px; +} +h4 { + font-size: 21px; +} +h5 { + font-size: 18px; +} +a { + color: #0099ff; + margin: 0; + padding: 0; + vertical-align: baseline; +} +a:hover { + text-decoration: none; + color: #ff6600; +} +a:visited { + color: purple; +} +ul, ol { + padding: 0; + margin: 0; +} +li { + line-height: 24px; +} +li ul, li ul { + margin-left: 24px; +} +p, ul, ol { + font-size: 16px; + line-height: 24px; + max-width: 540px; +} +pre { + padding: 0px 24px; + max-width: 800px; + white-space: pre-wrap; +} +code { + font-family: Consolas, Monaco, Andale Mono, monospace; + line-height: 1.5; + font-size: 13px; +} +aside { + display: block; + float: right; + width: 390px; +} +blockquote { + border-left:.5em solid #eee; + padding: 0 2em; + margin-left:0; + max-width: 476px; +} +blockquote cite { + font-size:14px; + line-height:20px; + color:#bfbfbf; +} +blockquote cite:before { + content: '\2014 \00A0'; +} + +blockquote p { + color: #666; + max-width: 460px; +} +hr { + width: 540px; + text-align: left; + margin: 0 auto 0 0; + color: #999; +} + +/* Code below this line is copyright Twitter Inc. */ + +button, +input, +select, +textarea { + font-size: 100%; + margin: 0; + vertical-align: baseline; + *vertical-align: middle; +} +button, input { + line-height: normal; + *overflow: visible; +} +button::-moz-focus-inner, input::-moz-focus-inner { + border: 0; + padding: 0; +} +button, +input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + -webkit-appearance: button; +} +input[type=checkbox], input[type=radio] { + cursor: pointer; +} +/* override default chrome & firefox settings */ +input:not([type="image"]), textarea { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +input[type="search"] { + -webkit-appearance: textfield; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +label, +input, +select, +textarea { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: normal; + margin-bottom: 18px; +} +input[type=checkbox], input[type=radio] { + cursor: pointer; + margin-bottom: 0; +} +input[type=text], +input[type=password], +textarea, +select { + display: inline-block; + width: 210px; + padding: 4px; + font-size: 13px; + font-weight: normal; + line-height: 18px; + height: 18px; + color: #808080; + border: 1px solid #ccc; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +select, input[type=file] { + height: 27px; + line-height: 27px; +} +textarea { + height: auto; +} + +/* grey out placeholders */ +:-moz-placeholder { + color: #bfbfbf; +} +::-webkit-input-placeholder { + color: #bfbfbf; +} + +input[type=text], +input[type=password], +select, +textarea { + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; + -moz-transition: border linear 0.2s, box-shadow linear 0.2s; + transition: border linear 0.2s, box-shadow linear 0.2s; + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); +} +input[type=text]:focus, input[type=password]:focus, textarea:focus { + outline: none; + border-color: rgba(82, 168, 236, 0.8); + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6); +} + +/* buttons */ +button { + display: inline-block; + padding: 4px 14px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 18px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + background-color: #0064cd; + background-repeat: repeat-x; + background-image: -khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd)); + background-image: -moz-linear-gradient(top, #049cdb, #0064cd); + background-image: -ms-linear-gradient(top, #049cdb, #0064cd); + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd)); + background-image: -webkit-linear-gradient(top, #049cdb, #0064cd); + background-image: -o-linear-gradient(top, #049cdb, #0064cd); + background-image: linear-gradient(top, #049cdb, #0064cd); + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + border: 1px solid #004b9a; + border-bottom-color: #003f81; + -webkit-transition: 0.1s linear all; + -moz-transition: 0.1s linear all; + transition: 0.1s linear all; + border-color: #0064cd #0064cd #003f81; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); +} +button:hover { + color: #fff; + background-position: 0 -15px; + text-decoration: none; +} +button:active { + -webkit-box-shadow: inset 0 3px 7px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 3px 7px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 3px 7px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} +button::-moz-focus-inner { + padding: 0; + border: 0; +} diff --git a/examples/webenginewidgets/markdowneditor/resources/3rdparty/marked.js b/examples/webenginewidgets/markdowneditor/resources/3rdparty/marked.js new file mode 100644 index 0000000..33c02d9 --- /dev/null +++ b/examples/webenginewidgets/markdowneditor/resources/3rdparty/marked.js @@ -0,0 +1,1514 @@ +/** + * marked - a markdown parser + * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed) + * https://github.com/markedjs/marked + */ + +;(function(root) { +'use strict'; + +/** + * Block-Level Grammar + */ + +var block = { + newline: /^\n+/, + code: /^( {4}[^\n]+\n*)+/, + fences: noop, + hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/, + heading: /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/, + nptable: noop, + blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, + list: /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, + html: '^ {0,3}(?:' // optional indentation + + '<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)' // (1) + + '|comment[^\\n]*(\\n+|$)' // (2) + + '|<\\?[\\s\\S]*?\\?>\\n*' // (3) + + '|\\n*' // (4) + + '|\\n*' // (5) + + '|)[\\s\\S]*?(?:\\n{2,}|$)' // (6) + + '|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$)' // (7) open tag + + '|(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$)' // (7) closing tag + + ')', + def: /^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/, + table: noop, + lheading: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/, + paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/, + text: /^[^\n]+/ +}; + +block._label = /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/; +block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/; +block.def = edit(block.def) + .replace('label', block._label) + .replace('title', block._title) + .getRegex(); + +block.bullet = /(?:[*+-]|\d+\.)/; +block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/; +block.item = edit(block.item, 'gm') + .replace(/bull/g, block.bullet) + .getRegex(); + +block.list = edit(block.list) + .replace(/bull/g, block.bullet) + .replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))') + .replace('def', '\\n+(?=' + block.def.source + ')') + .getRegex(); + +block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + + '|track|ul'; +block._comment = //; +block.html = edit(block.html, 'i') + .replace('comment', block._comment) + .replace('tag', block._tag) + .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/) + .getRegex(); + +block.paragraph = edit(block.paragraph) + .replace('hr', block.hr) + .replace('heading', block.heading) + .replace('lheading', block.lheading) + .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks + .getRegex(); + +block.blockquote = edit(block.blockquote) + .replace('paragraph', block.paragraph) + .getRegex(); + +/** + * Normal Block Grammar + */ + +block.normal = merge({}, block); + +/** + * GFM Block Grammar + */ + +block.gfm = merge({}, block.normal, { + fences: /^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/, + paragraph: /^/, + heading: /^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/ +}); + +block.gfm.paragraph = edit(block.paragraph) + .replace('(?!', '(?!' + + block.gfm.fences.source.replace('\\1', '\\2') + '|' + + block.list.source.replace('\\1', '\\3') + '|') + .getRegex(); + +/** + * GFM + Tables Block Grammar + */ + +block.tables = merge({}, block.gfm, { + nptable: /^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/, + table: /^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/ +}); + +/** + * Pedantic grammar + */ + +block.pedantic = merge({}, block.normal, { + html: edit( + '^ *(?:comment *(?:\\n|\\s*$)' + + '|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)' // closed tag + + '|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))') + .replace('comment', block._comment) + .replace(/tag/g, '(?!(?:' + + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b') + .getRegex(), + def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/ +}); + +/** + * Block Lexer + */ + +function Lexer(options) { + this.tokens = []; + this.tokens.links = {}; + this.options = options || marked.defaults; + this.rules = block.normal; + + if (this.options.pedantic) { + this.rules = block.pedantic; + } else if (this.options.gfm) { + if (this.options.tables) { + this.rules = block.tables; + } else { + this.rules = block.gfm; + } + } +} + +/** + * Expose Block Rules + */ + +Lexer.rules = block; + +/** + * Static Lex Method + */ + +Lexer.lex = function(src, options) { + var lexer = new Lexer(options); + return lexer.lex(src); +}; + +/** + * Preprocessing + */ + +Lexer.prototype.lex = function(src) { + src = src + .replace(/\r\n|\r/g, '\n') + .replace(/\t/g, ' ') + .replace(/\u00a0/g, ' ') + .replace(/\u2424/g, '\n'); + + return this.token(src, true); +}; + +/** + * Lexing + */ + +Lexer.prototype.token = function(src, top) { + src = src.replace(/^ +$/gm, ''); + var next, + loose, + cap, + bull, + b, + item, + space, + i, + tag, + l, + isordered, + istask, + ischecked; + + while (src) { + // newline + if (cap = this.rules.newline.exec(src)) { + src = src.substring(cap[0].length); + if (cap[0].length > 1) { + this.tokens.push({ + type: 'space' + }); + } + } + + // code + if (cap = this.rules.code.exec(src)) { + src = src.substring(cap[0].length); + cap = cap[0].replace(/^ {4}/gm, ''); + this.tokens.push({ + type: 'code', + text: !this.options.pedantic + ? cap.replace(/\n+$/, '') + : cap + }); + continue; + } + + // fences (gfm) + if (cap = this.rules.fences.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'code', + lang: cap[2], + text: cap[3] || '' + }); + continue; + } + + // heading + if (cap = this.rules.heading.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'heading', + depth: cap[1].length, + text: cap[2] + }); + continue; + } + + // table no leading pipe (gfm) + if (top && (cap = this.rules.nptable.exec(src))) { + item = { + type: 'table', + header: splitCells(cap[1].replace(/^ *| *\| *$/g, '')), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + src = src.substring(cap[0].length); + + for (i = 0; i < item.align.length; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + for (i = 0; i < item.cells.length; i++) { + item.cells[i] = splitCells(item.cells[i], item.header.length); + } + + this.tokens.push(item); + + continue; + } + } + + // hr + if (cap = this.rules.hr.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'hr' + }); + continue; + } + + // blockquote + if (cap = this.rules.blockquote.exec(src)) { + src = src.substring(cap[0].length); + + this.tokens.push({ + type: 'blockquote_start' + }); + + cap = cap[0].replace(/^ *> ?/gm, ''); + + // Pass `top` to keep the current + // "toplevel" state. This is exactly + // how markdown.pl works. + this.token(cap, top); + + this.tokens.push({ + type: 'blockquote_end' + }); + + continue; + } + + // list + if (cap = this.rules.list.exec(src)) { + src = src.substring(cap[0].length); + bull = cap[2]; + isordered = bull.length > 1; + + this.tokens.push({ + type: 'list_start', + ordered: isordered, + start: isordered ? +bull : '' + }); + + // Get each top-level item. + cap = cap[0].match(this.rules.item); + + next = false; + l = cap.length; + i = 0; + + for (; i < l; i++) { + item = cap[i]; + + // Remove the list item's bullet + // so it is seen as the next token. + space = item.length; + item = item.replace(/^ *([*+-]|\d+\.) +/, ''); + + // Outdent whatever the + // list item contains. Hacky. + if (~item.indexOf('\n ')) { + space -= item.length; + item = !this.options.pedantic + ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') + : item.replace(/^ {1,4}/gm, ''); + } + + // Determine whether the next list item belongs here. + // Backpedal if it does not belong in this list. + if (this.options.smartLists && i !== l - 1) { + b = block.bullet.exec(cap[i + 1])[0]; + if (bull !== b && !(bull.length > 1 && b.length > 1)) { + src = cap.slice(i + 1).join('\n') + src; + i = l - 1; + } + } + + // Determine whether item is loose or not. + // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ + // for discount behavior. + loose = next || /\n\n(?!\s*$)/.test(item); + if (i !== l - 1) { + next = item.charAt(item.length - 1) === '\n'; + if (!loose) loose = next; + } + + // Check for task list items + istask = /^\[[ xX]\] /.test(item); + ischecked = undefined; + if (istask) { + ischecked = item[1] !== ' '; + item = item.replace(/^\[[ xX]\] +/, ''); + } + + this.tokens.push({ + type: loose + ? 'loose_item_start' + : 'list_item_start', + task: istask, + checked: ischecked + }); + + // Recurse. + this.token(item, false); + + this.tokens.push({ + type: 'list_item_end' + }); + } + + this.tokens.push({ + type: 'list_end' + }); + + continue; + } + + // html + if (cap = this.rules.html.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: this.options.sanitize + ? 'paragraph' + : 'html', + pre: !this.options.sanitizer + && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), + text: cap[0] + }); + continue; + } + + // def + if (top && (cap = this.rules.def.exec(src))) { + src = src.substring(cap[0].length); + if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1); + tag = cap[1].toLowerCase().replace(/\s+/g, ' '); + if (!this.tokens.links[tag]) { + this.tokens.links[tag] = { + href: cap[2], + title: cap[3] + }; + } + continue; + } + + // table (gfm) + if (top && (cap = this.rules.table.exec(src))) { + item = { + type: 'table', + header: splitCells(cap[1].replace(/^ *| *\| *$/g, '')), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3] ? cap[3].replace(/(?: *\| *)?\n$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + src = src.substring(cap[0].length); + + for (i = 0; i < item.align.length; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + for (i = 0; i < item.cells.length; i++) { + item.cells[i] = splitCells( + item.cells[i].replace(/^ *\| *| *\| *$/g, ''), + item.header.length); + } + + this.tokens.push(item); + + continue; + } + } + + // lheading + if (cap = this.rules.lheading.exec(src)) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'heading', + depth: cap[2] === '=' ? 1 : 2, + text: cap[1] + }); + continue; + } + + // top-level paragraph + if (top && (cap = this.rules.paragraph.exec(src))) { + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'paragraph', + text: cap[1].charAt(cap[1].length - 1) === '\n' + ? cap[1].slice(0, -1) + : cap[1] + }); + continue; + } + + // text + if (cap = this.rules.text.exec(src)) { + // Top-level should never reach here. + src = src.substring(cap[0].length); + this.tokens.push({ + type: 'text', + text: cap[0] + }); + continue; + } + + if (src) { + throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); + } + } + + return this.tokens; +}; + +/** + * Inline-Level Grammar + */ + +var inline = { + escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, + autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, + url: noop, + tag: '^comment' + + '|^' // self-closing tag + + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag + + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. + + '|^' // declaration, e.g. + + '|^', // CDATA section + link: /^!?\[(label)\]\(href(?:\s+(title))?\s*\)/, + reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/, + nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/, + strong: /^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)|^__([^\s])__(?!_)|^\*\*([^\s])\*\*(?!\*)/, + em: /^_([^\s][\s\S]*?[^\s_])_(?!_)|^_([^\s_][\s\S]*?[^\s])_(?!_)|^\*([^\s][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*][\s\S]*?[^\s])\*(?!\*)|^_([^\s_])_(?!_)|^\*([^\s*])\*(?!\*)/, + code: /^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/, + br: /^ {2,}\n(?!\s*$)/, + del: noop, + text: /^[\s\S]+?(?=[\\?@\[\]\\^_`{|}~])/g; + +inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/; +inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/; +inline.autolink = edit(inline.autolink) + .replace('scheme', inline._scheme) + .replace('email', inline._email) + .getRegex(); + +inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/; + +inline.tag = edit(inline.tag) + .replace('comment', block._comment) + .replace('attribute', inline._attribute) + .getRegex(); + +inline._label = /(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|[^\[\]\\])*?/; +inline._href = /\s*(<(?:\\[<>]?|[^\s<>\\])*>|(?:\\[()]?|\([^\s\x00-\x1f()\\]*\)|[^\s\x00-\x1f()\\])*?)/; +inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/; + +inline.link = edit(inline.link) + .replace('label', inline._label) + .replace('href', inline._href) + .replace('title', inline._title) + .getRegex(); + +inline.reflink = edit(inline.reflink) + .replace('label', inline._label) + .getRegex(); + +/** + * Normal Inline Grammar + */ + +inline.normal = merge({}, inline); + +/** + * Pedantic Inline Grammar + */ + +inline.pedantic = merge({}, inline.normal, { + strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, + em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/, + link: edit(/^!?\[(label)\]\((.*?)\)/) + .replace('label', inline._label) + .getRegex(), + reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/) + .replace('label', inline._label) + .getRegex() +}); + +/** + * GFM Inline Grammar + */ + +inline.gfm = merge({}, inline.normal, { + escape: edit(inline.escape).replace('])', '~|])').getRegex(), + url: edit(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/) + .replace('email', inline._email) + .getRegex(), + _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, + del: /^~~(?=\S)([\s\S]*?\S)~~/, + text: edit(inline.text) + .replace(']|', '~]|') + .replace('|', '|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&\'*+/=?^_`{\\|}~-]+@|') + .getRegex() +}); + +/** + * GFM + Line Breaks Inline Grammar + */ + +inline.breaks = merge({}, inline.gfm, { + br: edit(inline.br).replace('{2,}', '*').getRegex(), + text: edit(inline.gfm.text).replace('{2,}', '*').getRegex() +}); + +/** + * Inline Lexer & Compiler + */ + +function InlineLexer(links, options) { + this.options = options || marked.defaults; + this.links = links; + this.rules = inline.normal; + this.renderer = this.options.renderer || new Renderer(); + this.renderer.options = this.options; + + if (!this.links) { + throw new Error('Tokens array requires a `links` property.'); + } + + if (this.options.pedantic) { + this.rules = inline.pedantic; + } else if (this.options.gfm) { + if (this.options.breaks) { + this.rules = inline.breaks; + } else { + this.rules = inline.gfm; + } + } +} + +/** + * Expose Inline Rules + */ + +InlineLexer.rules = inline; + +/** + * Static Lexing/Compiling Method + */ + +InlineLexer.output = function(src, links, options) { + var inline = new InlineLexer(links, options); + return inline.output(src); +}; + +/** + * Lexing/Compiling + */ + +InlineLexer.prototype.output = function(src) { + var out = '', + link, + text, + href, + title, + cap; + + while (src) { + // escape + if (cap = this.rules.escape.exec(src)) { + src = src.substring(cap[0].length); + out += cap[1]; + continue; + } + + // autolink + if (cap = this.rules.autolink.exec(src)) { + src = src.substring(cap[0].length); + if (cap[2] === '@') { + text = escape(this.mangle(cap[1])); + href = 'mailto:' + text; + } else { + text = escape(cap[1]); + href = text; + } + out += this.renderer.link(href, null, text); + continue; + } + + // url (gfm) + if (!this.inLink && (cap = this.rules.url.exec(src))) { + cap[0] = this.rules._backpedal.exec(cap[0])[0]; + src = src.substring(cap[0].length); + if (cap[2] === '@') { + text = escape(cap[0]); + href = 'mailto:' + text; + } else { + text = escape(cap[0]); + if (cap[1] === 'www.') { + href = 'http://' + text; + } else { + href = text; + } + } + out += this.renderer.link(href, null, text); + continue; + } + + // tag + if (cap = this.rules.tag.exec(src)) { + if (!this.inLink && /^/i.test(cap[0])) { + this.inLink = false; + } + src = src.substring(cap[0].length); + out += this.options.sanitize + ? this.options.sanitizer + ? this.options.sanitizer(cap[0]) + : escape(cap[0]) + : cap[0] + continue; + } + + // link + if (cap = this.rules.link.exec(src)) { + src = src.substring(cap[0].length); + this.inLink = true; + href = cap[2]; + if (this.options.pedantic) { + link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href); + + if (link) { + href = link[1]; + title = link[3]; + } else { + title = ''; + } + } else { + title = cap[3] ? cap[3].slice(1, -1) : ''; + } + href = href.trim().replace(/^<([\s\S]*)>$/, '$1'); + out += this.outputLink(cap, { + href: InlineLexer.escapes(href), + title: InlineLexer.escapes(title) + }); + this.inLink = false; + continue; + } + + // reflink, nolink + if ((cap = this.rules.reflink.exec(src)) + || (cap = this.rules.nolink.exec(src))) { + src = src.substring(cap[0].length); + link = (cap[2] || cap[1]).replace(/\s+/g, ' '); + link = this.links[link.toLowerCase()]; + if (!link || !link.href) { + out += cap[0].charAt(0); + src = cap[0].substring(1) + src; + continue; + } + this.inLink = true; + out += this.outputLink(cap, link); + this.inLink = false; + continue; + } + + // strong + if (cap = this.rules.strong.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1])); + continue; + } + + // em + if (cap = this.rules.em.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1])); + continue; + } + + // code + if (cap = this.rules.code.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.codespan(escape(cap[2].trim(), true)); + continue; + } + + // br + if (cap = this.rules.br.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.br(); + continue; + } + + // del (gfm) + if (cap = this.rules.del.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.del(this.output(cap[1])); + continue; + } + + // text + if (cap = this.rules.text.exec(src)) { + src = src.substring(cap[0].length); + out += this.renderer.text(escape(this.smartypants(cap[0]))); + continue; + } + + if (src) { + throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); + } + } + + return out; +}; + +InlineLexer.escapes = function(text) { + return text ? text.replace(InlineLexer.rules._escapes, '$1') : text; +} + +/** + * Compile Link + */ + +InlineLexer.prototype.outputLink = function(cap, link) { + var href = link.href, + title = link.title ? escape(link.title) : null; + + return cap[0].charAt(0) !== '!' + ? this.renderer.link(href, title, this.output(cap[1])) + : this.renderer.image(href, title, escape(cap[1])); +}; + +/** + * Smartypants Transformations + */ + +InlineLexer.prototype.smartypants = function(text) { + if (!this.options.smartypants) return text; + return text + // em-dashes + .replace(/---/g, '\u2014') + // en-dashes + .replace(/--/g, '\u2013') + // opening singles + .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018') + // closing singles & apostrophes + .replace(/'/g, '\u2019') + // opening doubles + .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c') + // closing doubles + .replace(/"/g, '\u201d') + // ellipses + .replace(/\.{3}/g, '\u2026'); +}; + +/** + * Mangle Links + */ + +InlineLexer.prototype.mangle = function(text) { + if (!this.options.mangle) return text; + var out = '', + l = text.length, + i = 0, + ch; + + for (; i < l; i++) { + ch = text.charCodeAt(i); + if (Math.random() > 0.5) { + ch = 'x' + ch.toString(16); + } + out += '&#' + ch + ';'; + } + + return out; +}; + +/** + * Renderer + */ + +function Renderer(options) { + this.options = options || marked.defaults; +} + +Renderer.prototype.code = function(code, lang, escaped) { + if (this.options.highlight) { + var out = this.options.highlight(code, lang); + if (out != null && out !== code) { + escaped = true; + code = out; + } + } + + if (!lang) { + return '

    $X42+zdA=Ial;=4HI+cL1w?xFy?oa28Z) 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%0D6n<2k3-2LA6Av9Zn+fdKaQ6H6wi9tjL}3 z_BFHK-rk$dSR!wAnl=RB+k`d(yl%O7*@-pxwqN<^bv093+EgVir85b)rlws=aulQey_sR~0 zKkslD`o}#H$%wxy^LPXSx6C|DfN=pu6=L5o)T0SDdMN7N_~D@6HS5Ht)l|`%_wL<$ zH-KLq>yD7HykOjF8wm{p2pkEIhXJgRW%-|cKHv6KDz(t#^}gJ3`ql5xKIQDM2`&Z< zLsR0BaQEIF8+UK~&6A_5n)X3geTESX2;EyHxK>4>6J$cKmzmz+mW=5 zcbd!XHM8yeUAyWqltY&qPx>24DM?q8GG%XBqn2k=?lCRx z860B^-ObA$-P!dzB!&k&red1_9cqxcOzFg>-aahYTTiYZn|0x`S2%_aH{RGi$(DwI1=E-ioWtNkH|R*^hME!Ew(Y2fw|ec~y`RkM?CjhQ z;7o%4j{w#!21|{DMPrbA6YMOy^Le-1-R$*xRce{b<#LmO$Qto@e7~Y7YXSUP2+>_Y zyqpJ=2nmf4At;0zx_&(^Prq~M z&>{b(O`FE)+Ft?4651wwr#8V0lZ4%bPC|;1u_i??N4j(f9RGbXA>i?NzD*vmoWfw` zsi&U0o|2=RT$53PEgs self.orig.size().width(): + self.p = self.orig.scaled(rect.size().toSize()) + else: + self.p = QPixmap(self.orig) + + +def create_states(objects, selectedRect, parent): + for obj in objects: + state = QState(parent) + state.assignProperty(obj, 'geometry', selectedRect) + parent.addTransition(obj.clicked, state) + + +def create_animations(objects, machine): + for obj in objects: + animation = QPropertyAnimation(obj, b'geometry', obj) + machine.addDefaultAnimation(animation) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + + p1 = Pixmap(QPixmap(':/digikam.png')) + p2 = Pixmap(QPixmap(':/akregator.png')) + p3 = Pixmap(QPixmap(':/accessories-dictionary.png')) + p4 = Pixmap(QPixmap(':/k3b.png')) + + p1.setGeometry(QRectF(0.0, 0.0, 64.0, 64.0)) + p2.setGeometry(QRectF(236.0, 0.0, 64.0, 64.0)) + p3.setGeometry(QRectF(236.0, 236.0, 64.0, 64.0)) + p4.setGeometry(QRectF(0.0, 236.0, 64.0, 64.0)) + + scene = QGraphicsScene(0, 0, 300, 300) + scene.setBackgroundBrush(Qt.white) + scene.addItem(p1) + scene.addItem(p2) + scene.addItem(p3) + scene.addItem(p4) + + window = QGraphicsView(scene) + window.setFrameStyle(0) + window.setAlignment(Qt.AlignLeft | Qt.AlignTop) + window.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + window.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + + machine = QStateMachine() + machine.setGlobalRestorePolicy(QStateMachine.RestoreProperties) + + group = QState(machine) + selected_rect = QRect(86, 86, 128, 128) + + idle_state = QState(group) + group.setInitialState(idle_state) + + objects = [p1, p2, p3, p4] + create_states(objects, selected_rect, group) + create_animations(objects, machine) + + machine.setInitialState(group) + machine.start() + + window.resize(300, 300) + window.show() + + sys.exit(app.exec()) diff --git a/examples/widgets/animation/appchooser/appchooser.pyproject b/examples/widgets/animation/appchooser/appchooser.pyproject new file mode 100644 index 0000000..f4c122b --- /dev/null +++ b/examples/widgets/animation/appchooser/appchooser.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["appchooser.py", "appchooser.qrc"] +} diff --git a/examples/widgets/animation/appchooser/appchooser.qrc b/examples/widgets/animation/appchooser/appchooser.qrc new file mode 100644 index 0000000..28a3e1c --- /dev/null +++ b/examples/widgets/animation/appchooser/appchooser.qrc @@ -0,0 +1,8 @@ + + + accessories-dictionary.png + akregator.png + digikam.png + k3b.png + + diff --git a/examples/widgets/animation/appchooser/appchooser_rc.py b/examples/widgets/animation/appchooser/appchooser_rc.py new file mode 100644 index 0000000..acc8c85 --- /dev/null +++ b/examples/widgets/animation/appchooser/appchooser_rc.py @@ -0,0 +1,1424 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.2.2 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00\x15\x14\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00@\x00\x00\x00@\x08\x06\x00\x00\x00\xaaiq\xde\ +\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\ +\x00\x00\x00\x09pHYs\x00\x00\x06\xec\x00\x00\x06\xec\ +\x01\x1eu85\x00\x00\x00\x19tEXtSof\ +tware\x00www.inksca\ +pe.org\x9b\xee<\x1a\x00\x00\x14\x91ID\ +ATx\xda\xe5[y\x8cd\xc5}\xfe\xbd\xa3\x8f\xe9\ +\xee9v\xa6\x97\xdd\xb9\x96=fa\xef\x05al\xae\ +\xa08\xb6 N,\x22'2\x09\x92\x0f\x14 \xc6\x81\ +\x18\x84\x92\x08Y\x8a0\x7f\x18\x04\x09\xe0\xf8\x08G$\ +\xa2$v\x14\x9b\x80\xf3O\x0e'\x86\x80\xc3a`1\ +\xe6\xb0!\xbb\xec\xb2\xf7\xce\xf4L\xcf\xf4\xdd\xfd\xae\xaa\ +|\xbfz]\xf3\xfa\x98I\xef\xb4\x90e)e}T\ +\xbdzG\xd7\xf7\xbb\xabfmH)\xe9\xffs\xb3\xe9\ +\x97\xb8\xbdt\xed\xb5\x03\x9e\xebf\x09\xf0\x84\x18#\xe9\ +g\xa5/\xb3B\x88\xac\x14\x18cN\x04\x22-\xfd\xe0\ +\xdf\x7f\xf3\x95W\xfe\x8a\xfah\xbf0\x0bx\xefK_\ +JT=/\xebH7k\xf8A\x96\x04\x88\x04\x04\x02\ +AV\x92\xc8R CRR\x8c\xc9@\xe0\x9e`\x82\ +)\x89\x87pM\x18\x87\x08\x02\x12\xd1\xb8\xd9\x8b\xc6F\ +!\x86.:p\xc0\xfb\x85X\xc0\xcf\xef\xbe;n\xd5\ +jY\xd7\xf3\xc6L\xc3\xc8\x0ab\x12\x06/\x18=\x8d\ +\x19\x22\xc8\x0aIY\x92LB\x86} \xd3 G\x06\ +n\xa0\x03\xd0\xf3\x80\x00&!\x19\x12d\x00\xdc#\xd9\ +\x84z\xae\x1d\xb4\x0c\xd2s\xc9cR\xee\xbc\x88\xe8\xcd\ +\x0fD\x00\xef\xdcy\xe7\xed\xe5\xb8\xbd)y\xe2\xe4\x88\ +\xb1n$&\x0d\xca\x1ad\x8c\x11H\x12I\x80\x06}\ +\xe2&\xa18\xeeB2za\x22\xecC\xed\xf0\x98\xfb\ +\xe6u\x04\xb92\xa4\x86\x88\xde\xd7\x08\xafC\x88\xf6\xdf\ +4\xa4\x7f\x01}\x10\x02x\xec\xc2\x0b\xbfr\xc5\x95\x97\ +\xdf\xe5\x98C\x94\x1a\x18\xa0@\x88\x90\xaa\xc1\xffU\xff\ +\xa1P\xf4z(\xc3a\xa4\x9d\x88t4V\xefZ\xa9\ +4\x05\x8d:\x5c\x99\xcd\xdae3P0c6\xe6\x1b\ +\xe1\xb5\xd0\xc4\xf1F2A\xa4\x85U\xa9\xb4\x0b\xa3\xc3\ +*\x840.0\x0c\xe3\xef%Z_\x020\xd0\xee\x98\ +\x9eN\xce\x0c\x0f\xdf^/\x95\xa9T,Sv|\x9c\ +\xfcr\x89\xc84i\xb5f&\x12$\xea\xf5H\x10\xe1\ +\xe2\x99\x8c\xd6TH\xcc`\x01\x0c\xa0\xc7;\x98\x0bj\ +\xfc\xb2\xa5\xe6\xfcZ\x83\xac\xc1!\xf45\xb2\x86\x06\xc9\ +\xcd\xcd\x13\xa5S\xca\xf7\x85\x03\xc1`^\x13\xee\xd6\xbe\ +\xb6\x00\xb1\xbf\xa9\xa1\xb5\x0b\x80\xc9\xf3r<\xa2mA\ +\x10\x0c\xd7\xf0\x83\x85\xa5\x22\xc5v\xee\xa4Zn\x8e\xcc\ +dRKIk]u\xf1l\x96\xbcB\x81\x12\x1b6\ +RP\xad\x84k\xf1=2b1\xe2O\x06\x9eG\xd6\ +@J\x09\xa81?\xaf4\xeb\xd7A6\x99\xc4;\x1b\ +\xc8\xc9\xe5H\xb2e\xc0\xd2\xbcz\x95\xc82\xc9\xaf\xd6\ +\xc8\x84P\x02\xd7\xa3\x00\xe4\xf9]\xe9\xba\x91\xf6\x05\xf7\ +\x1d\xae\x80\x1e*\xda\xcb+\xec\xd7\x05\x0c 1W\xaf\ +\xaf\x9fI\xa5\xa8\x86\x1fu\xaaU\xb2\x86G(`\xe9\ +\xc7\xe2x\xa2\xfd\xeb\x120,\x1b\x8btH\xb8\x0e4\ +\x08\xcd-,(r6\xb4\xe9,.\xc2\xb4\xe3\xea\x9e\ +\xa4\xd0\xff\xb5\x00\xdd\xa5%\x08n\x89\x04\x5c!X*\ +4M\xbe3>\x04\xaa'\xdb\xc27\xbc\xe8\x9e\xd4q\ +\xa5E\x18\x00\xfe\xb3\xfe\x9b\xdb\xb7\x8fC\xf0\xa7\xd6\xe2\ +\x06vS\xfb\x16\x90.\x04\xc1\x04\x07\xb0\x06\xfc13\ +\x98!{\xdd\x08I\x98\xa7\x1c\x0c4\xe9\xb6\xe6,\xcc\ ++\xc2\x0dh\xd2J$\x95\x86\xdcR\x99M[I\xab\ +~\xfaTK\x1c\x90T;qB\xbb\x84&\xdaA^\ +2\xda\xef5|\xfd\x8d.\x17\x00\xda,c\x90\x88\x03\ +\xe1\xa9~,\xc0\x04R\xaeTE\x069\x8eK\xe7l\ +\x9f!\xd7\x07q\x19\xe6\xdb\x95L\xc0\x87\x95\xe8\x00(\ +<\x8fG\xa1\x99W\xca\xad\x011\x22-#\x82:K\ +D\x02\x88\xae\x89\xc1\xf9\xde\xf7)\xf0\xb9\xf7\xd4\xd8\xc7\ +\x98\x94\xba,2\x01\xb8Z(l\xdc\x93X\x0b\xc8\xec\ +\xc3\xdd\x7f\xe9W\x001C\xca\x14/\xd2\x81\xcfM\xcf\ +l\xa3\xea|\x8e\xccx<\x5cTw\xd3\xe4\xa3l\xa0\ +S\x22\xe94\x18\x09\x81\x05 \x02\xc1q!\x04/\x1a\ +@\xaf\x82\xacaY\x80\x0d`\x8c\xdf4l\x9bl\xcc\ +\xc7\x00\xa4`\xf0\xe4\x9e\xf8y\x951\x82:\xe08\xe1\ +\x98\xdd\x8c\xb3\x89\x94\xfbt \xec'\x0d\x9a\xf0\xd1\x18\ +/\xd6\xf3|\x15|*\xe5\x1a\x0d \x1a;\xda\x02\xba\ +\x9a\x04\x09\x90\x0a<(\xc1g+\x08\xb5\x16\x04LF\ +\x91\xb0\x00\xee\xc9\x8e!cX\xb8\xb6\xe0\xd66\x00\xc2\ +&`\x19\xca\xc7\x03\xfc\x9e\xd0\x84\x18\xd0\xa8\xaf-\xa4\ +7\x94\x0bX:\x10\xf6\x15\x04\x81y\xdf/\xa2Wd\ +<\x04\xb1R\xb5N\x83\x08\x84\x8d\xc5<\xd5\x0aE\x12\ +,\xa5x\x8cMOY\x86e\xa1\xcf\xc4\xc8B\xb0\x8b\ +\xc7\x98\x5c\x1c\x81/\xd4\xa2l\x92\x11\x8a\x90C>z\ +Y\x87\x90\x9a\xe6\xee\xb7\xb9@8\xa6h\xdc\x01\xd9\x1b\ +R2\x89\xed\x9f\xdb\xb0!\x89\xb0V\x93hk.\x84\ +\xde\xaf\xd7\x17\xf1\x96\xd2`\xad\x5c\xa6B.O\xe7^\ +\x22\x06\x88\xff\x1bb\x19\xb1\xcb\xe2\xf1\xdd\ +\x7fG\xf4j?. \xabA\xe0\xbaB\xa0\x0b\xd2\xb5\ +Z\x9dJ\x88\xee\xf6\xc8\x88\xd2b\xf5\xd8Q\x8a\x9a\xe2\ +\xd4Q\x15F\xe4iEA\x88\x96\xba\xbe\x83\xb0\x5cQ\ +\x00m\xe4h\x19\xb2\x1b2B\xd2\x90\xfb\xa9\x0f\x01H\ +@\x00~-\x08\x0a\x83B\xa4Q\x0b\xf0\x02\xb8\x16P\ +Z6\x06\x92\xd4\x91\x06\xda;)\xb504\xe9\xae\x80\ +\xa8\x02,J\xda\x0a\xfc{\xdd\xd8\xd8\xea\xfb\x85\x8e1\ +E\xa6\xde\x919\xbaa\x0a\xc4\x8154\xb3\x85\x8d\x0f\ +x,\x00]\x0b\xf0\x22%\x071!\x9b[\xd2 D\ +\xc0\x10\xcbs\x22\xda\x96\x02<\x0e\xafEsN\x00|\ +]\x02\xf9\xe9\xcf_OW=\xf1O=\x82Z\x07\xf9\ +\x88\xb4\x86\x16R\x17\x8c0\x15\x9ak\xb2\x00\xad}\xc0\ +\xad\x0a\xb1\x14\xd6\x02\x1eM\xef\xddM\xd5\x85y\x15\xf0\ +|\xd1\x91\x09\xb4\xb6\xa3\xb1JQ%T\x83#\xe7\x9c\ +\xb3\xe2&\xe9C\xbf\xf3\xdb4u\xc3\x0daN\xe72\ +\xd90u1\x13\x91m\x89\x0d\xb4z\xb1\xc4X\xd9\x02\ +\xa4T\x99\xa0\x1f\x0b\xf0\x00\xa7\xe4\xfb\x0bJ\x00\xaeK\ +\xe3[6C\x00y\xb22\x19\x12Z\xbb\x80PP\x1a\ +nZD\xd8\xdb\xdbf\xe8#\x7f\xf9u\xf28@\x0a\ +\xfd|\x84\xc3\xdf\xfd.\xcd~\xff)2m\x9b+G\ +m)\xcd\xf7WD7\xf9\xd5\xef\xeb\xc04z\xcf\xc6\ +\x8dS\x06\xdaY\x09@\xa2\xb5\xb8\x80[\xf4\xfd\xbcN\ +\x85A\xb1He\x04\xc2\xf8\xc8:m\xd2\x0a2\x22\x17\ +\xb9\x01\xfa\x0b\xef\xb8\x83&.\xbb\x8c\xec\x89\xc9\xe5\xc5\ +\x89\x96\xde\x01\xe9\xd2\x1b?%n\x89\xb1Q}\xef,\ +\xd1\xed\x0a\xd19A\xd8\x8b&\x91u\xa6\xb9\xbf\x1f\x0b\ +\x08\x007\x1f\x04\xf3M\x01\xe0\x22O\xc53g8\x13\ +p^o\xd7\xa8^\x8c\xb6\x06<\x9f\xc0s\xdc\xce\xbf\ +\xe9&e\x05\xd1\xf3\x91\x96\x1b\xc7O\x10\xb7\xf4\x94\x12\ +\x92\x16`o\xd2\x00\xbbM\x19\xbbO\x07uH\xd5\x0f\ +\xa8\x5c\xa9D\xf7#\x22\xaa$\xee'\x0b(\x01\x9ct\ +\xdd9-\x80J\xa5Jelc\xedK/!b\x01\ +tX\x95l\x19\xc7\xb0qZx\xe6iJ\xc2]&\ +\x7f\xfd\x13\xf4\xf3\x8d\xe3$r\xf8TG=P\x9f;\ +C\xdcR\x9b6\x93\xfc\xef\xe7\x95\xf6<\xc7Q\xd6`\ +Y\x5c\x8c\x1aQ\x0ch\xf1\x7f\xc7\xb2i\xc7\xcd7\xd3\ +\xf8\xee\xdd\x94\x9a\x9c\xa0\x81-[\xa8\x84\xcd\xd5\x0f\xaf\ +\xbaZ\x0b@[\x00\x7f\xe3\xacKb\xb3#\x0dzg\ +\x1c'\x1f\x80?/\x88Saei)\xac\x05\x5cW\ +\xbb\xc0\x8a\xae0\xb8e+\x15_\x7f\x8d\xe6\xfe\xfaQ\ +\xe2\xb6\xeb\xd6[a\x05N\x97\x1b\x94\x17\xf2\xaadN\ +\xcf\xccP\x15[\xe1z\x22A\x9b\x10\x18g\xf0\xfc\xd8\ +'~\x83\x8a\xd5*\x07\xd3\xb6\xb8 \xd6\x8d\xd2\xd5\x88\ +\x1f#\xcf\xfd\x90\xde\xfd\xccu\xf4\xda\xaf^I\x87.\ +\xff\x08\xd1\xf3\xcfa\xc5\x1e/>\x82a\xe8\xb3\x01s\ +\x0d.\xd0\x96\x09\x9c\x1aJb^l\xbdV#\x1b\x87\ +\x15F\x12\xd0d;\xd1\x9c\x1f\xde\xbb\x8fj\xef\x1d\xa6\ +\x93g\xe6h\xe1?~@\x93W^I\xf1\xe9\xe9v\ +\x17\x00\x1ciP\xf9\xf0a\x9a\xfa\xd8\xc7\xe8\x92\xfb\xef\ +\xa7_\xf9\xbdkik\xadD[\xb7o\xa3+\xee\xbd\ +\x97~\xf7\xc0k\x14\xdb\xb6M\x93W\xc2\xf8\xe8\xe3\x8f\ +S\xe1\x1f\xbeM\x07~\xf2\x16\xe5\x92i\xca%R\xf4\ +\xe6\xdc\x22=\xff\xe5?\xa3\xa0\x9d\xbc\xb6\x80\x99\xcf\x8c\ +\x8e\xa6\x0c\xb4\xb5\x08@g\x02\xb7.DA\xb0\xbf\xc2\ +47LOQ\x0d\xfb\x02+\x91\xe8\xf6Q\xf6\xfd\xe6\ +1\xf5\xe8\x85\x17\xaax\x11\x90As\x8f>L\xdc\xf6\ +\xdcv\x1b\x9bw\x18$\x01\xd9D\xf5\xd0A\xb2\x90Z\ +\xe7\x1f\xf9\x16\x1dx\xe4Qz\xfe\xdb\xffH\xaf\xdct\ +#\x9d\xbe\xe5\x0b\x14\x1f\x1a\xa2\xab\xbf\xf3\x1d\x92\xc3\xc3\ +\xea\xd9\x91}\xfbh\xddy\xe7\xd1\xd1\xe7~DB\xca\ +6\x9f\xafZ\xf62y\x11\x92\xd7\xb0\xf6\x0d\x0c\xec^\ +\xab\x05\xc8e\x0b\x08\x82%\xa1\xb6\xc5\xa8\x05v\x9cO\ +ul\x86\xect\xbaM\xf3\x82\xa1\x83\x97eq\x90\xc4\ +\xf3\xbe\x9a;\xf2\xde\xfb\x94{\xee9\x9a\xb8\xe2\x0aJ\ +l\xdd\xd6n\xce@\xfd\xbd\xf7\x88[\x11\xd6\xe0A`\ +0x*&S\xf4\xda\x7f>C\xb3O|\x8f\xe28\ +]\xda|\xcd5\xea\xd9\xb1\xcd\xe7\xaa\xa55\x82\xa0\x8d\ +\xbc\x86\xe8 \xaf\x91 \xda\xdf\x8f\x0bx\x80S\x0e\x82\ +\xbc>\x18\xd901\x8eT8Oq\xf8\xa1\xce\xfd\xdc\ +\xcbe\x044\xb4y39\x88\xfa\xd6\xf9\xe7\xd3\xf0G\ +\x7f\x8d6\x7f\xf1\x8b\x94\xda\xba\x95\xb8\xed\xbd\xfdvX\ +A\xa3\xcd\x0d\xea\xcd}Erj\xaa\xadbt\x0d\x93\ +rO>Ah\xecBj\xce2\x0d\x15@\xd3\xbb\xf7\ +\xa8^\x10\xb5Av\x93Ws\xb10\x13\x9c\x9d\x0b\xb4\ +\xd6\x02Z\x00\xcb\xa9\x90\xb7\xc5ssd\x8f\x8e\xf2\x81\ +\xa7.u#`\x91#\xf0\xff1\x04\xb5\x8b/\xb9\x98\ +v\x0a\x97\xb2/\xfc\xd6\xdbT|\xf5\x15\x1a\xbf\xf4R\x1a\ +\xdc\xb7w\xb9\xe0\xa9\x14J\xe4\xe0\x9bSW]\x15\x1e\ +\x8c\xa8o\x85\xef\xc5\xd9\xd20\x97\xff\xdb\xbfQ\xbd\x87\ +\xf5\x1f\xbe\xe5fr \xb4\xed\x9f\xfe4}\xea\xc7/\ +\xd1\x87\x1e\xf8s\xda\xf5\xa7\x7fB\xd7<\xfb_4\x99\ +\x1d\xa1\xf7_~\xb5\xcb\x15p=r\xe7\xfa\xf5\x9b\xd6\ +j\x01\x02\xf0\x8e;\xce\xac>\x18\xe1Z\xa0\xc6G\xe4\ +\x99A\xf6\x95v\x0b\x10\xf0\xffm[\xa9|\xe8\x10y\ +\xbe\xafI,\x9b\xb5\x83\xcf\xcf~\xf3\xeb\xc4\xed\xc3_\ +\xbd\x87\x5c7\x14\xa0OR\xbd\x93\x04\xd9\xf1O~\x92\ +\xaa\xa52y\xaeKU\xa4\xdd\xf3n\xb9\x85\x16\x1e{\ +\x98\x0e\xbe\xfe\xc62\x99\x83\x85\x0a\xfd\xec\xea\x8fS\xe9\ +\xbe\xaf\x92<~\x8c\xa6\xf6\xef\xa7-\xd3\x93\xe4\xdfs\ +7\xbd\xf9\xb5\xaf\x93o\x9az\xf1mAq]\x22\xb1\ +o\xad\x7f\x1a\x93\xcd-q\xd5\x05\xe2R\xa6kXT\ +\x06\x0bu\x0aK*\x15z\x22h+\x03\xc7\x90\xfe\xaa\ +G\xdfW\xd6\x80\xd6~&\x80\xf6\xb3g\x7fD\xd3H\ +\x8f\x9c\xca\xf6\xddu\x17\xbd\xf9\x8do\x90\x84Ky \ +\x22/\xba\x88\xae|\xe8!\xda{\xe3\x8d\x94;p\x80\ +\x86Q\xe1\x89'\xbfG/>\xf1\x14\xb9v\xac\xad\xbc\ +=X\xf7\xe8\xc8c\x8f\xd3\xc8\xb7\x1e&[\x08\x95\x02\ +\x17\xe3Ih\xda\xea\x8a\x0bzl\x87\x99\xe0\x9f\x01\xd9\ +K\x00\xdd\xc5\x10j\x81\xb4\x10i\xce\x04\x93\xe7\x9f\x87\ +Z`\x89bHOu\xc4\x04\xdd\x1a\x8d:M^\xf3\ +[4\xff\xfa\xebT\xc4\xbea\xa8\xb9\x17\x90\xa1\x10T\ +\xae\xbf\xf0\xa1\xaf\x91\x09\xed\x96\x9f}\x86&\x93q\xca\ +\xdet\x03\xfd\xcf\x93OQ\xee\xa1\x07\xe8\xc4\x1f\xfd!\ +e\xb0u\x8ee\xd2\xe4\x97+\xf4\xf6\x99Y\xca\xc7\x07\ +\xc8g\xf2\x11!-\x04\x95%\xe6p\xbf\x93(\xb0\xe2\ +\x1cY\x96\xca\x04k\xb6\x80\xa6\x00\xb8\x16\x98\xe4m\xf1\ +\xae];i\xfe\xf8I\x8a\x83\xa0\xc0\xde\x80\xdb\x10\x0a\ +\x94K`\xae\xe9\xc1\x0c\xc5!\xa0\x8f?\xf8\x00\xbd\xfc\ +\x95\xbbI\xb6\x1e\x93\xc3u\xe6o\xbd\x99\x8e\xc15\x1a\ +VL\x11\xf0\x0dC\xf5\xa7\xf8\xbe\x95 \xca\x17I\x02\ +\xdcd\x22\x15-~\x05\x82\xd4\x83x\xe7\x9c\x85\xb3\x81\ +f \x14\x12m-\x16\xe0V[j\x81a\x90<\x82\ +\xa8<\x9e]O\xf4\xee;a\x9e}\xfbM:\xf5\xd9\ +\xeb\xe8\x10L\xdf3-\xf2-\x8b\x84\x1do;0\xf4\ +\xd0\x1f\x89\x0d\x10\xd9\xd1f\x08-\x1c\xb7\x12[\x85$\ +\xadN\x94[OK\x00\xf1-\x9f\x1a\x19I\x7f\xbfP\ +(\xf6\x0a\x82Q-\x10\x15C\x8b:\x13p*,\xcf\ +\x87\xa9\xd0\xf0\xc2\x8d\xca\xbc\xe3\xd1\xfb 7\x8b\x0a.\ +\x1fKP\xd1\xb4[\xff\xd5FtL\xa6{)\xdbv\ +l\xa2c\x8cE3t\x00\xeb\x0ej\x8c\xee\x0a\xb0\xbd\ +(\xd2\xcfFs&J\xe2=ku\x01}0\xb2\x5c\ +\x0b8\x5c\x0b\x14\x8bds}\xce\xa9\x90\xba\x1b\x18\xb6\ +~d\xf5q\xb7\x06;\xe7\xba\xdd\xa0\xb7\xd6\xf5|\xd7\ +\xb5\x1d\x8fs |\x11\xe8\xe1\x02\x1d\xe7\x02\x8bA\x90\ +\xd3\x02\xa8Tka*\x5c\xb7\x8eL\xbd\xb7_\xa1\xc9\ +\xce\xeb\xd5\x84\xd0i\xe2\x9d\xcf\xf7p\x83h\xae\xb7\x1b\ + \x0e\xb0\x00\x8c\xb5X\x80\x00\xbc\x13\xa8\x05\xd0\x87\x9b\ +\x17\xd4\x02u\xd4\xfan\xa9D\x16o\x8a\x5c\xb7\x9bp\ +/\xad\x1b\xc6*\x82\xe9\xd6x7\xf1\xfe\x83\x22\x22`\ +[ \xec!\x80\xc8\x0dN\xe3`\xc4\x97\xd2\x8fIi\ +s-\xb0\x1e\x1b\x9e\x06\xbb\x01\xb6\xabba\xa1\xb7\xf6\ +\x99p\xffn\x10\x8d{\xb9A\x8f\xe7A\x5c\x95\xc4=\ +\x83\xe0J\xbbBlA\x8b:\x13l\xday>UQ\ +\xbe&\xb2Y\x0e4]\x90\x8c\xd6k\xa2^Ao\xd5\ +\xe0&\xa3\xfb\xd15\xa3\xc7\x0e\xb0+(\xe2\x1a\x02\x18\ +\xbcmbb\xf3\x1a\x04\x10\x05\xc2\xba\x10\x8b\xfa\x88\xfc\ +\x5c\xe4\xfa*4\x9fX\xbf^\x9f\xf9wG\xeb\xce\xb9\ +UH\xa9~5\x01u\x13\x8f\xc6-\xef\x8a\x1e1\x80\ +Z,p\xd0\xb6\xf7\xafI\x00\xda\x02P\x0b,\xc1m\ +T\x0d\x9fBUW\x99\x9fW\x81\x90\x84h'\xbd\x1a\ +qM\xb8\x9d\xd4J}\xf4\xdcZ\xac\x81\xe7z\x90\xe7\ +\x167\x0c\x15\x08{\x06A\x89\xc6\xc1B\x97\xc3\x95\xd6\ +s\x81|>L\x85\xd8\x17\x18R\xf2\xa2\xd6\x16\x08\xf5\ +\xb8g6\xe8]\x10Q\x0f\xadw6\xcc\xeei*[\ +\x9cu\x10\x04\xdc\x12\x04\xa0\x8b!\xa7P\xa0z\xa5\xc2\ +\x16\xa0\xbf\xd4;\x10v\x8d5\xe9\xde\xd9\xa07\xf1n\ +a\xea\xac\x85\x8d\x9c\x82\x0f8\xbe/\xc84\xe7\xf8\x09\ +n\x12\xad\xa7\x00t-Ph\xad\x05*U\xaa;\x0e\ +y\xd5\xaa:)\x16\x98\xa3^\xda\xd7V\xd2\xcb\x12z\ +\xa4A]V+b\xf8]\x0f\xbd'\x84\xf4\xd9Z\x13\ +\x89\xc0\x1aH\x0a;\x95\x96\xf6\xf0\x90L\x8e\x8e\xd1\xe0\ +\xe4\x84\x1c\x9d\xdeDS\xbbv\xc8\xbf\xb8\xf3\xcb\xd7\xfd\ +\xdb\xbb\xef\xbe\xdc\xb3\x0eX\xf1`\xc4\xf3\xe6Zk\x01\ +\xe5\x17p\x83\x18R\xa1\x5cZ\xea&\xdd\x87\x1b\xb8M\ +\x8dy\x00\xf7\x0e\x88Ac\x81\x88\xc7\x03#\x91\x10F\ +&\xc3\xffxR\x9d\x1d\x0c\x8c\x8f\xcb\xd1\xc9Icd\ +z\xda\x1e\x99\x18\xb7m;f\x99\xf8\x9fm\xd9\x14\x8b\ +\xc5\xc8\xb6-\xf4q\xe2\xebd2ICX\xe7y\x93\ +\x93\x15\x08\xa0\xce\x9cz\xd4\x01\xdd\x81\xf0x\xa31+\ +\xf0\x8e\xfe#\xc9\xe4\xf6\x19j\xa0\x18J\x8e\x8d\x91\x80\ +\x00V{\x11\xefh-isd\x0d\x0a\x11\x12c\xad\ +\x09\x99JI+\x931l\xa4\xd5\x01l\x893\xe3\xe3\ +\xe6\xf0\xf4\x94\x99\xc9fm2\xd4\xc6\xc2\xe6\xe5Z\x96\ +EqE\x0e$\xe3q5\x8e'\xb8\x8f\x87\xa4c\x98\ +\xb7c\xfc\x9cz\x06\x02a\x01\xa8g\xd2\xa94\xed?\ +wR\xe9\xadg)\xbc\xd2\xae\x10Y\xa0\x02\x12\x15\x14\ +C\x19\x95\x0aw\xec\xc0\xb6\xf8\xb8\x0a\xa7\x8b\xb5Z\xe8\ +gx6\xb0\xac@\xc4bB&\x12R\x0e\x0cH\x99\ +\xce X\x8e\xc9\xc4\x86s\xcc\xd4\xf8Fc\xdd\xe4\xa4\ +=8:fAU&/\xce4\x94C\x92\xc9\x8b\x06\ +L\x1e\x9b&\x19\x80&\x8c{!i\xc0b\xe0\x1e\xae\ +\x19\xeaY\x0d}\xe4\x87y~W\x83\x05\xa4\xe6&\x92\ +\x99\x18n\xf7\xda\x0e\xaf\x9e\x0a\xf9\x8f$I!2\xae\ +\xe3\xd1\xb6\xa9)\xf9\xea\xf1\x13\x1e\xcd\xccH\xfb\xe2\x0f\ +\x1b\xa3\x9b6\xd9\x03\x83\x83&~\xc8\xd4\x0bd\xad`\ +\xac4\x80Y\xb2\x15\x19s\xf9\xf8\x1b\xd41\x0ex\xcc\ +\x8bW\xe0\xb5\x99\xfc\x0e4\x0c\xe89u\xf8\xc9\x827\ +\x00|\x97c\x11\xf7\xfc\x0c\x93\x0c\x85\xd8\xfc]4\xbe\ +\xd6\xd9,\xdc\xc5\xd6\xebn\xcc\x94\xa95\x9c\x08ug\ +\x82\x1a\x8a\xa1\x11)\xa78\xf2\x9f)\x14\xbc\x89\xcf}\ +\x1e\xe7\x22#\x94I\xa7@2\xc1\x0bQ\x84AE\xbd\ +&\x98\x8c\x8e\xe2\x18\xa3\x0f\x17iY\xbcx\x8c-@\ +\x11l\x03\x04\xa2\xc7\x9a\x84z>\x11Z\x85&\xac5\ +\xdd\x9a\xbaY0<\xd7\xf6\x0d\xbe\xae\x17\x8be\xcb\x13\ +\x995l\x87\xa3Z@[@\xa5y.\xb0\x1e\x01\xe5\ +\xe4\x9e}\xd6\xa6\xe9i\xca\x8e\x8d\x92\xdd\xd44\xb1\x16\ +\x0c\x93;m\xaa\x9aDD\x8e\x11\x04\xbc\xd00\xa5:\ +.kW/XC\x9b4\xa3m\x8e\xdf\xd1B@k\ +\x8e\xb5@W.\xf3\xf9\xdb\x8d|\xbeJ\xc2O\xb3q\ +\xf4k\x01,\x00\xb5\xf3\x09V\ +\x8dBC\x93\xd3\xd2\xd7Z\xd4\xda\xd7d;\x03\x9b\x16\ +N\x9b&u\xd3\x04\xb5\xf6\xf4\xb3:#t\xb6r>\ +\xef\xce\xbe\xf3N=\x7f\xf4\xa8S:y\xc2\xaf\x9e\x99\ +\x95A\xa1`X\x8d\xba= E|\xc8\x8e\xa52\xa9\ +d2\x96\x88\x0f\xbf\x9e[\xfc\xd7>\xb2@\x94\x0aO\ +9\xce\x82\x90\x92=;\xd0\x8bn\xd5\xa8\x16\x82\xd6\x1a\ +4\xd2\xb5h\x5ck\xb4\xa5\xaf\xd6\xc6\xefq+\xe6r\ +\xce\xe9#G\xea\x0bG\x8e\xb8\x85\xe3\xc7\xfd\xf2\xe9\xd3\ +\xd2YX0\xfcb\xd16\x1a\x8dD\xdc\xf7S\xb6i\ +\xc6\xf1\x8d\xb8\x0a\x90\x86Q\x0bL\xa3\xe4\x1a\x0a\x05`\ +\x09\xa2\x9cC\xd1u\xe8\xe9\xd3\xb3O\xbe\x9d\xcf\x1f\xeb\ +W\x00:\x134\xea\xbe_\xf2\xa4\x8ckr\xda\x84[\ +\xcdUC\x13]\xa9\x15fg\x9d\x1c\xc8-\x1d;\xe6\ +,\x1e=\xeaWggy\x97\xb9L.!D\xca\x84\ +,\x08\xc0\xef5\x1c)K|(\x83Z\xa4X\xc7\xd6\ +\x9c\xff\x0dcY\x88|\x01\x9b\xb4<\x14s\xd4u\xe7\ +0_gWe\xe8\xcc\x05\xd4\x80\x02P\x0c\xe7\xfb\x17\ +\x80\x0b\xd4q@zl|qqG\x12\x02\xb0Y\x83\ +\xb6\xddE\x12\xe4\x1a\xb9C\x87\xeay\x90\xc3_\x7f\x83\ +\x0ak\x0e\xe4D\xa9\x14S\x9a\x13\x22\xcd\xe4\x02d\xd9\ +\x86\x10~C\xcaJ\x93\x9c\x22V\xf1\xfd|\x11\xc4\x16\ +|?\x87\x12|\x1e;\xd12\x13\xea \xc7\xf0[\x10\ +\xb4\xf7z\x1c=\xab\xab\xc0\x1e\x02X\xb5\x16p\x80\xd2\ +{\x8d\xc6K\x9b\x97\x96\xf6\xbe\xf4\xe0\x83\x8b\x89z\xd5\ +<5\x9f\xaf\xe1\x80T\x82\x9cm6\x1a\xc9\x18\x8a_\ +\xfe\x16od\x80:\xffY\xad.e\xa1\xe6\xfbK\x15\ +h\xac\xe8y\x0b\x8b8f?\x89\xcd\xd5\x82\xeb\x964\ +\xa1>\x881\x04 \xcf\x06\xdc\xfa\xfe\xbf\xceB\x00&\ +\x85\xe6\xb8\x11R\xda~\xf3\xe4\xe4\x1foL&w\xa7\ +\xd2)\xff\x8d\xb9\xdcO\xaa\xa8\x0fJ@\x1e\xc4p\x80\ +\x9a;\xe3\xba\x8b\xdd\xa4\x80\xde\xa4\xb8\x17\x8c\x1e\xe4(\ +\x1aw\xb7\xd5\xc8\xf6+\x00-\x04\x1b]\x1a\x18\x05\x86\ +\x81\x18 \xceF[k\xd4\x18}0\xc4>x\x01\x18\ +\xe8,&\xde\x84\xa1k\x84_.b\xfd\xb7\xff\x05\xc7\ +\xfd\xe7\xdb#]\x138\x00\x00\x00\x00IEND\xae\ +B`\x82\ +\x00\x00\x13\x09\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00@\x00\x00\x00@\x08\x06\x00\x00\x00\xaaiq\xde\ +\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\ +\xa7\x93\x00\x00\x00\x09pHYs\x00\x00\x1b\xaf\x00\x00\ +\x1b\xaf\x01^\x1a\x91\x1c\x00\x00\x00\x07tIME\x07\ +\xd7\x09\x17\x17\x15\x19I\x86pA\x00\x00\x12\x96ID\ +ATx\xda\xed[\x09t\x5c\xd5y\xfe\xee{\xb3k\ +\xb4Z\xb2%\xd9\x96dcl\x8316\xb6\x81\x00\xe1\ +\xb04\x14\xc2\xda\x94\x86\x04\xd2\x90Br ] \x14\ +h\x08KH\x09\x87\xda\xadsRR\x02$\xad{ \ +\xe4\xb0\x95\xcd@\xb0\x1bV/\x80\xb1-\xdb\xd8\xb2l\ +l\xd9\xb2,\xc9\x1aK\x1ai\xf6\xe5m\xf7\xf6\x7f3\ +\xef\xf0\xf4:\x9a\x19\x1b&=\xc9i~\x9dO\xf7\xbd\ +\xfb\xee\x9by\xdfw\xff\xe5\xbe+\x1b\x7f\xb4?\xda\xff\ +oc8\x0e\x1b\xbb\x05uR\xed\xf4\x8b]3\x97\x5c\ +\x06\xb7\xef<\xa1\xa4<\xd0\xb3\xc3B\xcd\x0cq5\x15\ +\x12J\x22\xc4S\xe3!\x91\x8d\x85\x84\xc0\x10\x80\x10\xe1\ +\xe8\xd4\x9fC\xf9\x83\x16@\xfc\xd8\x7f\x95h]v7\ +\xe7X\xc6\xd3Q\x99\x08Bp\x01\xe1\x0e\x12\xaa\xc0e\ +?\x84\xec\x81`n\x82\x0b\x90\x5c\x10\x82\x03\xdc\x00\xd7\ +\xd2\x02\xba2.\x0cmH\xe8jHhJH\xe8\xd9\ +\x10W\xd3$T|Hh\xd9\x900\x85\x12\x08M\x7f\ +\x0c\x99\xdf;\x01\xc4\x03\x9e?\xc7\xf9\xf7\xbf\x88\xe6E\ +\xcc$\x04\xae\x03&9C\x052\x11\x80\xc4\x80\x9a\xcc\ +C\xcf@h\x19\xf0l\x82\x90\x02W\x92\xe0\xa6P\xb2\ +\x0f\x5cH\x04S\x13N\xd0\xc1u-'\x14@\xd7\x0d\ +\x03$\x0aA\x8d\x0a\xae\x87\x08C\xc2\xa06\x07\x95\x04\ +3\xa1\x0c\x09n\x84\x00\x84:\x1eG\xf2\xffN\x80\xa7\ +.\xee\xc4\x99\xb7,\x85\xb0\xc8s#\x07\xc7\xb9(\xd6\ +\xa7\xe7\xa1\x98\xe2d\xed>\xd3\x84\x00W3\xa4\xa3B\ +\xc8\x82s\x0e\x03np\x12\xd6P29\x01\x0d\x12R\ +\xcf\xc4\x01\xba&\xcc\x1fn\x80<\x89\xa0'h`N\ +\x90\x1c\x04\x0f\x01<\xc4d\x98\xd8\xd9q)\xba\xd9\xc5\ +\x10\x95\x11\xe0\x85kSXxm ?\xf3F\x09\x01\ +\x9cb8\xc6\x8b\xdc5\x1b\xa2\xc8X\xf2\x1e@\x00\x14\ +N\x90\xdc\x80\xcbG\xf0\xe7\xcd\ +\xf4\x96\xd4\xa7\xe2H4\xc6c\x0b\x95\x0f?\xd9\x0b\xd4\ +\xd7\x00\xb3.\x85\xde4\x97\x9c\xec\x03\xe8C\xab\xc1\xb3\ +\x06\xd48\xae\xc8\x8c\x88U\xa2\x1b_c\x0bP\xd2$\ +\x945\x0e\x88\x89\x04x\x01\x81\xa2\xd7E1\x91\x8a|\ +\xd6\xb1~\xb6iZ\x1aH\x1c\x01\x0e\xbf\x0f\xd7\xbe5\ +\xa8Z\xba\x02\x9e\xe9\xcb\x00\x96\x1f\x0a\xce\xbe\xda\xf38\ +N\x00>\xaf\x00BLp\xdd\x223iyD\xd9\x87\ +\xe7\xe5\xbd\x80P\xfe\xb3\xedky\x11\x0e\xbc\x09\xac\xbd\ +\x13zf\x16RC\x02\xe9a\x015)\x98\xa1bI\ +%\x04(|8\xce\x8b\xccl1a\x8e\x918/\x15\ +Z\x93\x08\x13'\xf2\xe91\xe4\xec\x93\xd50\x12^\xa4\ +\x8f\x9a\xe4\xf3\xb7B\xc0_\x81\x1c \x0a\xc9\xd8\x84J\ +\x92q\x1e\x97\x0a%^F\x9cB\xf1l\xf2\xf6D1\ +\xdd,\xaf\xd6#\xc3\xb2\xcf-@\xa1\xdb\x15xA\xb1\ +\xd8u\x1e\x17\x0f\x95\xc2DY\xc6\xc3\xe2\x83D>\x8c\ +\x02\xe3\x1a\x84\xc5\xbcr\x02@\x14\xcd\xe86\x81\xe3M\ +\x88E\xae\x17\x92-\x1c\x1f\x1bp\x90w\x98\xa1C\xa0\ +\xd2\x02\x08A0\x8e=\xa3\x17\x86J\xf9$\xc8\x8f1\ +)\xc6K\x90'\x13\xa6\x07L\x9c\xb7\x0a\x09\xe0$[\ +\xbe\xd4\x95_\x03\x94\xff\xacB\x0f\x8b\xf5\x03\xa9Q\x94\ +4C\xb7\x89W8\x04,\x18\x05\x0fW\x9eL\x91k\ +(\xa8&\xc5E\x8d\x1d.O\x1e\xc8/\x93\xe1\x14\xa0\ +\x12e\xd0A\xb6\x10E26l\xa2\xb9~\x10\x98u\ +\x0en\x9d\x13`\xf7M\x9a\x10\xcb\xcf\xbc3\x09\x026\ +D%\x04@\xc9D5\xb9\x10\xb0\x88\xb1c$n\xc2\ +>\xb6\xbf'j\xce\xfc\x08\x8e\xd5\x04\xd7-\xe2\x16*\ +\xe4\x01eVz\x0e\x22\xc5\x88\x95\x12\xc3\xeas\x0a\x87\ +X_\x01\xf9\xb2f8\xca`%\x05(\x1f\xdbN!\ +\x9cd\x0a=\xc2&n\x0bdX\xe0@\x9c\xc8g\x88\ +\xbcT\xe4}\xb5t\x15p\xa0\xd2+\xc1\x828\xb7`\ +\x93\x13\xff\xdb\x0b,b\xc2\xe1\xe66Y\x82\xe38~\ +\x88\xc8\x0f\x03\xb25TX\xe0(g\xf6:\xc0\xf6\x82\ +\x0a\xaf\x04=U@\xfd\x09\xf9\xa7\xd1\xd3@&\x0c$\ +\x8f\x02Z\xd2\x99\xe8\xecX.\x14\x889\x12\xa3S\xa8\ +xo\x9e\xbcd==\xb3E\xb0\xfd\xbat\x15\xb0\xcb\ +`\xe5\xd6\x01\xb6\x08\xfe)\xc0\xdcK\xe14\x91\x17a\ +l/\x10\xfa(\xe7\xbe\x85\xeeO\x10\x13\xfa\x84\xc3\xe5\ +\xf3m\xe2\x90\x93\xbcM\xd6\xd9\xf2\x12\xcc\xac$X\xe9\ +u\x80#\xbb\x17\x1a\x03\x82-y\xb4_\x98\x17\xe0\xe0\ +k\xc0H\xa73\x1c\x18\x016y\xb3\xb5\xc9\x9b3\x7f\ +\xd4r\xfb2\x02\xc0\x1eSr\x1d \x08\x15M\x82\xb0\ +P\xcej:\x80\xd3n\x05\xce\xb8\x17\xa8\x9e>!\xce\ +\xed|`\x9f[\xe4\xb3\x16y\x09\xd4Z\x90\xca\x80\xa1\ +\xf8\xcb\x90\xa8d\x15\xc0$\x19\xdfP\xca\xaf2\xea\xe7\ +\x01\xe7,\x07:.s\x84\x84\x0d\x93\xfcA\x22\x1f\xb2\ +I\x95\x03+-\x820\xf4\xcaW\x01\x22j'\xaaH\ +\x0f\xb0\xeen@\xe8\xf9so5\x10l&\xb2'\x02\ +\xd3\x96\xd1y}\xc1v\x22N\xba\x01\xa8\x9b\x03\xec\x5c\ +\x09\x18\x9a\x95\x00\x09\x89\x03\x80b\x91\x17\x93\x00\x8eD\ +h\x1b\xb7\xa7\xad \x1c\xb8\xe6\x8c\x16Q\xe92\x88\x89\ +\xe5O\x07\xb2a\xc200\xba\x1d\xe8y\x16h\x5c\x04\ +\xcc\xfe3\xa0\xba\x1d\x0ek9\x17\xf0\x90X\x9d\x14\x16\ +\x9a\x0a${\xec\x99\x17%\x92\x9cp\x10v\x92f\x13\ + \x9c\x1e\x90\xfbU\xb1\x10`\x02\xce\x9a?Y\x19\xb3\ +\xb6\xbaG\xb6\x00\x9b\x7f\x00|\xb2\x8a\xba\xb2p\xd8\x94\ +\xc5\xc0\x92\xfb\x81t\x9fI\xbex\xcc\xdb\xfd\xc7\x17\x1a\ +\xa6\xd9e\x90P\xa9$\x08QX\xd7m\xf2\x85\xab>\ +S\x88\x815$\xc4\x1d@j\x10\x0ek:\x138\xf5\ +\xfb\x05d\xcb\x82M\x1a\xff\xce~\xf6;]\x09Z\x04\ +\xfd\x8d@\xfb\x05\x80\xbb*\x17oH\x0f\x01\xf1\x83\xc0\ +x\x17`\xa8\x13D\xa06u\x18\xd8J\x22,y\x10\ +\xa8\x99\x8bOm\xfe\xdf\x00\xa3\x1f\x00\x87\x9e\x01P&\ +\xfeQ\xc2\xf5%G\x9e\xc8\x83\xeb\xf6\xed\xa22\xeb\x00\ +\xe7\xcc\xfb\xea\x80\xd6\xb3`\xdbR\x02\xf2+\xc1\xa1w\ +\x80\xbe\xd5t\x1c\xb1\x17;Z\x14\xd8~\x17\x89\xf0\xcf\ +N\x11\xce|\x04\x18y\xd7\xac\xfd\xc5\xe3\x9f\x17\xf5O\ +'i\xc9>\x17\x10\x16\xf1\x8a\x87\x80\xed\xee\x93\x9a;\ +\x08\xb4_\x05\x9c\xf5S\xa0q\xa9\xf3\xe5f|+\xb0\ +\xfer@\x8b\xd9\xe3=\x0d\xa4\xddO\xca\xd7|f\xb7\ +6\x8a\x84\x06\x9b\xc4\xa1*#\x80s%X\xd2<\xf5\ +\xc0\xe2\xfb\x80\xb6+\xf2^\x90\xd8\x07(G\x80T\x0f\ +\xb0\xfdV8\xac\xfdZ\xa0\xe1\xb4\xcfP\xfbK\xc2\xb1\ +\x12\x14\xa2b\x02p\x0b\x02Pb@x\x170\xb2\x0d\ +H\x0eN\xf2-\x0c\x98\xfb]\xa0\xf1L ;h?\ +x\xffSt\xcf;\x13\x86Q\xe7)\xf7\x1dg\x22,\ +q\xcc\x9c\xc4\x05*\x97\x03\xec\xfa?\xbe\x17\xd8p\x1b\ +\x00\xdd\x0a\x09\xeb\x05\xa9\xe3J`\xc6\xc5\xce\xa5\xd9\xc2\ +\x1f\x11\xe1\xdf\x02\x91N\xfbAw\xdf\x05\x5c\xb8\xd5\x1e\ +\xd7Ja\x13l\x03\x92\xfd\xce\xd8g6\x0ac\xbd\x04\ +\x80\xcf\xb6'\xf8\xe0}7-\xdc\xf2\xf6O\xa5\xd2U\ +\x80\xc0U\xe7\x92\x18\x84L\x08\xd8\xfb\x18\xb0\xfd\x87\x80\ +\x91\x99\xf0\xc9n\xe0\x0b\xbf\x06\x5c.{\x16\xe3\xdb\x80\ +\xd1\x89^ \x03\xed\xdf,;\xf3N\x14\xef\x17\xec3\ +\xe6\x80\xb77\xf7\xae~k\xc3\xbe_\x90\x08\xach\x0e\ +(\xdc\xf3s.\x90\xc6:\x81\x0fo\xb4\xfa,\xab\x9e\ +\x0f\xb4]\xe7\x8c\xe3\xfe_\xc2a\xd3\xaf.A\xbaL\ +\xdc\xa3\xe0\xdc\x0e\x83\xe3\xc9\x01\xe3\x8a\x9e\xed\xdc58\ +\x7f\xc7\xee\xc1\x7f%\x11Jo\x89\x81;\x84\xb0wo\ +\xf7\x00\x87\x9f\x03\xf6\xac\x84\xc3\xe6\xdd\xe5$7\xba\x06\ +0\xd2\xf6\xf5\xda\xc5\x80\x7fj\x01\xe9\xe3$n\x0b \ +>\x83\x07$3\x19C\x81\xfb\xce\xd7\xdf\xec\xba\xe6P\ +\xff\xd8C\xc5\xdf\x06\x09\x81\x16\xe0\x8c\x1f\x03\x17=O\ +\xed\x0a 83O>=\x80\x9c\xed\xa5\x9a\xaf\xc5'\ +x\xc1\xc9@\xcd|\x9b\x94 \xf2\xd1\x0f\x9dIs\xca\ +\xd9\x85\xa4Q6\xde\x0b\xc93'q!\xb9\xe5c\x12\ + \x95\xc9\x1a)\xdd\xc8\x8eE\x92\xb7<\xbbz\xeb=\ +k_x\xf0\x9e\xc2?\x8d\xf1|\xe6^r'Po\ +\x12r\x01u\xd4\x9e\xbe\xc2v{\x86\xfc\xe2\xe7\xc8\xab\ +p\xd8\xd4\x8b\x9d3\x1b\xdb\x0c\x87\xd5.:\x0e\xa2e\ +D\x80\x05\xfa\xb5\xcbw\xfa/\x96?p\xeb\xeb\x8f=\ +\xfc\xc3\xef\xfc\xec'\xf7N/Z\x052\x8a\xa2'\xd2\ +\x19\xff\xf6M\x9b^Z\xbat\xe9k\xcf\xbc\xbc\xf9\xa1\ +\x0f\xff{\xe5\xc8\xd9\x97\xfc\xc3*G\x12\xac\x99\x0dT\ +\xb5\xc0a\xee\x1a\xe0\xe4\xef\x01\xdb\xbfo\xf7\x8dn\x00\ +:\xbe9\xc1\x0bNq\xbawf\x1f\x1cVu\xc2\xf1\ +\x91G\x89\xbe\x09%p\xe3\xa6.\xcf\x86\xa1\xfd\x977\ +\xd4\xd7^>sf\x8b\xf8\xea\xd5W\xec\x9a6m\xda\ +{UU5\xeb3Y\xf5\x83\x7f{\xe4\xe7\xa39\x01\ +\x14M\xe3\x14\x06~\x90q\xce\xffvgw\xff\xb9/\ +\xbd\xb1\xedq\xca\x07\xc38\xfc\xa4-\x80\x96)\xb2\xf9\ +q\x0a\x1c\x96\x19\x80\xc3|\xcd\xce\x87V\x87\xe00o\ +KY\x82\xe5\xc9;c\x9f\x83aj\x9d\xf7\xad\xdaT\ +\xed\x02&\xb9Z\x87G\xa2ll<\xb9\xa8\xb7oh\ +\x91,\xcb\xb7\xa9\xaa\xca\xe7\xcc\x99s{N\x00]\xd7\ +Y:\x9b\x0d\x80l\xc7\x8e\x1d\x83\x0b\x16,\xf8\xbb5\ +o\xef|\xbaeZ\xeds'\x9d0S\x0er\xc3\xda\ +\xc1\xe9\x07\xd2G\x81@3\x1c\x96<\x0c\xe7\x02\x5c\x86\ +\xc3\x5c\xb5\xce5\xbf\x91\x82\xc3\xe4*\x1c\x97\xb1\xc9\xfb\ +F\xb2>\xbc\x1f\xa9\xc3\xc1L-\x0egk0\x1eK\ +_\xa4\xebI\xc4b1(\xe4\xe5\x84}\xc4\xb5\x95s\ +^o\xf9\xe2,\xf3\x17\xb8\x10\x8c\xf2@\x10\x96uw\ +w?c\x18\xc6\xd3\xff\xf9\xf4\xba\xc0k\x91\xb9rZ\ +x\x00n\xfd\xe3\xc8\xf5\xb7\xe5W\x83\xb0,;\x0a\xec\ +|\xc8I\xb0\xaa\x03\x0e\xd3\xe3p\xee\xef{P`\xf6\ +\xfd\xc7e\xe3Y7~\xb5\xb7\x19\xd7\xbf\xbd\x00\xcb\xfb\ +\xcf\xc5{\xb1\x99\xd8\xdc\xaf\xe0\xc0\xde.\xd4%\xbaQ\ +\xa7\xf4?ZSSs\xe1\xca\x95+g\x90\x00Kg\ +\xcf\x9e\xdd#I\x12\xacoz\xcb\x05\xb2\x80\xcf\xd3\x94\ +U\x95FL0\x12\xe0&U5N^\xfe\xd8\xda\xd3\ +<\xb7\x5c\x86\xcb\x9b\xfa\xe03_{\x93}$\xf5&\ +`\xee\xd7\xf3\x1a\xf6<\x01\xa8$\x82<\xe1\xe1[.\ +\x83\xc3R\xbd6yF\x90\xeb\xe10m\x1c\x10\xc7!\ +\x82\x99\xe0F\xaa\xf0\xec\xee\xa9\xd8\x12\x9e\x06M\xd7\x10\ +\x8f\x8fCD\xdf\xc3\xe5s\x0d\xccY\xe4\xc3\x89\xb3\xda\ +\xe0\xadm\xa6<}A_\xfb\x95\xf7\x0c\x03\x10\x0f?\ +\xfc0#[,D.k_Mx\xc3u\xcf\xdf_\ +\x83\xc7\xd6\xeelJ\xa6\xd5\x16\xcb-8\x01\x07\x0f\x1e\ +L\xb7\xb5\xb5}%\x1aIl]\xf1\xcb\xdf6\xc97\ +~\x11\x97d\x87\xe0\x96\x00\x16\xeb\x07\xdb\xfe/\x80y\ +,\xe3\xd3\xedl\xc6\xac\x87\xdf\xf9\x03\xe0\xc0\xa3f\xc9\ +\xcc#\xfc.\xc0'\xb8\xafo\x0e\x1c\xa6Z\x028E\ +\x98\xb4o\xf3`\x10\xab\xb65c\xd3a/\xa2\xd1\x08\ +b\x91\x8f\xf1\xa59\x0a~t\x9e\x84\xf3\x17\xce\x04\xab\ +\x9b\x87=\x83@d\xe8\x10\xa2\x07;\x11\xee\xddy\xf0\ +\x9dp\xf3\x01\x00|\xc5\x8a\x15\xcb\xc8\x1b<$\xc0\xeb\ +\x00r\xa5\xca\xd5\xd8X#e\x15\xad\xdf\xd05\x0e\xa0\ +\x86\x90&h\x041\xbb\xbf\xffp\xf4\x84\xa6\xeb\x87\x8e\ +\x8c\xacY\xf1\xe4&\x96\xb9\xfaj\x9co\xbc\x08\x8f\xac\ +A\x96\xcdJH\xa0V\xa6\x96Y\xe7\x8c\x13\xc2]`\ +\x11\x82\x9c\xaf\x9c)]\xc6\xa1\xb1\x00\x8e\xc4<\x18\x8a\ +z\x10z\xf5\xbf\x10\xd3\xd7!\xcd\xa6#e\xd4\x01$\ +l-\xef@\x8d\xcf\xc0\xd4j\x0ds\x9b2X6#\ +\x85)~\x1d\xa6\x0d'\xdc\xd8p\xb0\x1a/uM\xc1\ +\xc7\x83\x12\xc2\xe10\x22\xe3\xe3\xf8\x8b\xa5\xc0\x037\x07\ +p\xe2\xbc/\xe4\x12\xb1\x88\x1d\x811\xb4\x1d\x91}1\ +\xa4\x14\x91O7n\xb75E`---\x17\x9b\xf9\ +\x80\xecyX\xe6\xba\xfd\xdeU\x1c^\xff\x12\xa8Y\x93\ +\xfc\x14B\x15!F\xc8\x10\xf8\x99\xd3G\xd7m<\x5c\ +\xf7`o\xdf\x91\xfb\x1f~IB\xf4O\xaf\xc22u\ +5<.\x1d.W\x9e\xbc\xcb\x12\x81\x13\xdbP\xda\x8b\ +\xc1\xb8\x17\xfdQ\x1f\x8e$\x83\xd8?\xecBoHC\ +:\x93E6\x9b\x85\xaaf D\x1a>_\x06\x81\xc0\ +(\x82\xf2\x18\xd4\ +7\xf0\x97O\xbc\xc9\xb0\xff\xa4\xf35ytK\xca`\ +\xae\xa0\xaf\xaa\xc6\xe5\xae\x9e\x82\x81\xa8\x84\x811\x8eh\ +<\x8dT*\x83D2\x8d\x804\x88\x93Zu\x5c\xbb\ +T\xc2\xbc\x19@[\xb3\x84\xf6\xd6 \x9a\xbf\xf4\x22$\ +3Q\xbaH\xf3\x9d7\x83\x99\x9b&\xba\x02(I0\ +5\x85\xa7\xd6\xeb\xb8\xf1?R\x18\x19\xe1\x85\xc9\x9e\x01\ +\xabo\x0b\xe0\xbc+\xbe\x05\xe1i\x82H\x0eC\xdb\xf7\ +\x12\x90I\x12a\x19\x0c\xc8\x91\xe7\xd6\x96\x92\x90h\xa6\ +\x00\xf6\xca+\xaf\xdc\x10\x08\x04fG\xa3\xd1U ^\ +\xc5\x0a\x8a\x8b\x10$4\x10\xbc\x84ds\x10\x89\xf3\xe7\ +\x815\x04Q\xfb\x9b\xfd\x0dw)\xdc\xfd\xdd\xd6\xd6V\ +\xf4\xf7\xf7\xa1*\xe0\x0574\x84\x86#0\x0c\x8ei\ +\xb5\x14\x87\xf3%\x9c;\x8f\xe1\x82\xa5Mh\x9f=\x8b\ +*\x5c\x13\x98\xbf\x01\xcc[\x0b\xe6\x0e\x82A\x03\xb8\x92\ +\x033\xb2\x10j\x14,=\x08\xa4\x87s\xdb\xecL\xcb\ +\xe2\xd0Q\x81\xb3\x97\xd7b$\x1c\x01Yn\xc6;\x1a\ +%\xec\x09\x01\xa7\xb5\x09|\xf0\xb3\x0b \xd1\xeb7O\ +G\xa0\xedy\x06\x22\x9b\xb47\xaau\x81M\x078\x14\ +\x8d\x83\x09\xae'\x1b\x16/|\xba\xa7N'\xf2[>\ +\xfa\xe8#\xcf\xc0\xc0\xc0\xa9\x00z\x8b\xed\x07\xe8\x848\ +A\xb5D\xa8\x1dN\x22\xf0z\x17\xa2'5#|\xde\ +\xac\xc8\x9d\xef\xf65\xb3\xde\xde\xde\x9b\xcdX\x22o\xb4\ +f\x85\xe1\x9c9\xae\xc8\xbd_\x9f\xe5\x9f\xb5\xe8Bo\ +\xb0u!s\xfb\x82H\x0b\x05\xc4\x90\xa0\x101\x82\xaa\ +\xd0a\x14<\xd9\x9f\xdb,\x91\x94\x10$=\x01\x99\x09\ +\xc8B@\x12f\xcb\xd0=\x5c\x0d\x0e97\xdb7\x9e\ +\x03|\xeblPh\x00\x7f\xfdB-f4$\x10\x97\ +\xdb\xe0J+H\xedZ\x0d\x91\xce\xd0}f\xfc\x09\x08\ +\x9d#\x95\x11T\x1a\x01\xb3'e\xf8\x1eyd}\xba\ +\xbauz\xfd\xbf\xf7\xf4\xf4\xd4\x11\xf9\x1bL\xf2\xe56\ +D\xb8\x15\xff#\x04E\x00\x8d)\x15S;\xfb\x11\xdb\ +\xd6/\xc6[\x1b\x95\xefi\x9a6\x04\xe0\xdb\x846\x02\ +\xbcn\xb9w\xd9\x895\xf7\xb6_\xf9\xe8u5SZ\ +\xdaT%-\xa53\x09\xb7\xa6\xa6]Jr\x14\xa3\xfd\ +\xbd\x99p\xff\xc7n#\xbe\xbfZ6\xe2\xbe\x80WT\ +y=\xc2\x13\xf0\x08)\xe0a\xb9\xca\xe2\x22\xb8\x19\xc0\ +\x0d\xe0\xdd\x819H$\xba0\xb3\x1e[\x82n\xecy\ +m\x07j=.Q'\x04?\xefp\x18\xfa\xc7=\x11\ +\xc9\x88\xbf*\xf3x\x04\x01\xb7\xcc\xdf\xf6T*\xb5\xd0\xe3\ +\xf5\xbe\xdcq\xfa\xd5\xef\xcf>\xe5\xec\xaf\x09.\x06\x0c\ +CS\xe2\x91p\xf7\xde\x1d\x1bwo\xfc\xcd\x93\xa3\xaa\ +\x9a\xf6AW}\x86\x11\x0c\x08\xdd[%\xb8VE\xa1\ +\x13dB\xaf\x97\x99\xde\xe0\x96\x8c\xdaj\x9fA-\x0f\ +\xc6\xa4\x99\xf3;\xfb\xa4*UQ\xe2\x0b\xe6\xe0\x0e\x83\ +#\xab\xab\xf0eT\xe1\xf3\xbb\xb8\xa7\xfb\x88\xb1d\xcd\ +;\x9d\xcf\xca.\xd6\x00x\x83\x0c\xc2\xc7`\xb8\x05\x87\ +\x94H\xc3\x08\xa7\xb8r$*\xbc\x9ag\xda\x17;\xe6\ +\xcc\x98\xd1\xd5\xd5\x95\x08\x85B\xf7\x00x\xf4\xb3l\x89\ +\x19\x84\x84%\xc2\x14\x0b3\x08\x11\xc30\xc6\x1a\x1a\x1a\ +\xb6d2\x99\x85\xfe@p\xd7Wn\xbcw\x9a\xcb\xed\ +5\xb3\xed\xfb]\xbb\xf7\xbc\xb1\xa3sk\x94C\x97\x1a\ +O\xfa2\xe3\x5ce\xa4\x89\xc4\xf5,3\xd4\xb4\xa4+\ +)IW\x932eoY\xa3\x96gS\xee1-\xed\ +\x19\x1cc\x0b\xdd\xcd\xcb\x1e\xdd\xd9\xf5:$\x86\x07;\ +\xa6b\x9b\x00\x1dj\x90\xb8L\xe9\xc4\xa5\xde>,\xd8\ +[O\xae\x1f\x9bu\xe1\xb2Y\xcf\xb74\xf8\xd3\xe3\xb1\ +\xd4\xb4\xd1h\xfa\x84pL\x9foH\xfe\x99\x9e@]\ +\xa3\xab\xc6\x1f\x8c\x86\xc3\xea\xce\xee\xf7^\xd6u}9\ +\x80]\x04\xed\xf3\xfc\xaf1f\x89UK\x98j\x95\xca\ +$\xd5\xd5\x9b\xa8&\xdf\xd6\xdc\xdc\xfc\x0dz\x87P\xd2\ +\xe9t\xe2\x8d7\xde\xd8=\xc9\x96\x86\x80\x05\xd3\x98\x10\ +\x9c\xc3\xe0B7\xe8H\xe5\x86\x9a\x11\xdb\xb6\xed\xa8\x86\ +\xb7z\xed\xde\xbd\x9f\xcc\xeb\xec\xec\xdc\x0e\xe0L\x82\xfe\ +\x8f\x00\xd6-\x06K\x8d\x83Ec\x90{\x13\xec,\xba\ +\xf3y\xb7\xdb\xdd\xec\xf5zUj\x99\xcb\xe5r\x93\x81\ +\xc8\x1a\xf1x|\xbf\xa2(k\x01\xfcZ\x08\xd1]@\ +\xbc\x9c\x07\x94\x08\x09\x8d\x10!(\x84&\xc2\x14UU\ +\xe3\xe6\xba\x9a\xda\xa6\x97\xc9\xc8+8\x00\x97S\x00\xe7\ +\x9f=\x18c\x1c\x8cA\xa2\x1fx\xdc\x02\xf0\xf1w7\ +|\xd4\xee\xf7W=\x91\x88\xc6\xe6m\xdb\xb6m\x14\xc0\ +5\xd6x\x99\x04\x90\xf01d\xab*\xd5\xe4wTp\ +\x0b\xe5\xa1\xb3\x08\xb5\xd6s\x85\x09\xfb\x09\xa6p}\xd6\ +bNTfW\xb80$\x92\xd6\x97fi\xc67\x92\ +\x00J\x22\x918\xe3\xc0\x81\x03\xafQy\xe4t.\x13\ +I\x13\x92U!r\xe4\xf3\x13/\x0c\xab\x95H,\xb1\ +n\xdd\xba6\xba~=-O\xbfs\xe8\xd0!\xff\xa6\ +M\x9b\xc6\xe9\xda_\x01\xc8\x12\xda&|\xa76\xc1\x0b\ +\x93\x84\xdd\x84NB\x8a\x90\xb1&E/G\xbat\x08\ +\x1c\xff}2!\xe0\xf1x\xbeM\x1e\xb0\x9c\xc2`\xe5\ +\xa9\xa7\x9e\xba\x9e\x92\xa3\x9b\x5c\x93Q\x82\xe4\xe4\x9a:\ +\x09\xa2r\xce\x0d\x1a#(_\xc8\xe3\xe3\xe33\xfc~\ +\xff)4\xe6\x22j\x97Q\x82b\x94\xa1\x0d\xea\xff\x10\ +\xc0*\xc2Q\x8bP\xc2*\xc9\xb1\x1cQ'AnA\ +\xe0s\x1a\xab\xc0\xfd&\xaec\x8c=L\xa4j\xab\xaa\ +\xaa\x86\x89X\x8a\xda\x0c\x09 K\xc1\ +`P\xdcg\xcfW*\x15\x15\x0a\x85I\xac\xe1\xd9\xa9\ +\xa9\xa9o=\xca\xe7[\xdf\xfaV\xdeX\xca\xafR\x18\ +\xce\xafJ\xdb\xd7_\x7f}\xf4\x13\x9f\xf8\xc4\xaem\xdb\ +\xb6}4\x9dN\xdf\x0d\xd3)\xc3\x08\x1a\x15\x1aU\xa9\ +TR\x15\xa6j\xb5\x9a\xdcz\xbd%\x00\x08\xa1@\xad\ +\x95\xc0\xbc\x15B8\x1aU*\x95\xb2\x14\xe5\xb8\xce\xfd\ +\x8b\x8b\x8b\xf3333\xff{ll\xec\xcf>\xf7\xb9\ +\xcf\x8dONN\xbaF\x10\xbfn\x018\x1b7n\x8c\ +~\xfa\xd3\x9f\xbey\xc7\x8e\x1d\x7f\x94\xc9d\xde\xe2\xe7\ +\x03\xd3\xc6\xafU,\x14T\xe1\xd8P\x15*#\x04\xc8\ +\x0a\xa2\x8e \x1aX\x82\xe1\xde\xe78\xf2\x07\x02\x0a\x05\ +C\x0a\x86B\x0a\x84C\xf2\x9bc\xc6h<\xae\x9e\xbe\ +>\xf5A!\xae---\xd5/]\xba\xf4\xcd#G\ +\x8e|\x96\xbf{\x22\x9f\xcf\xbb\xbf\x16\x01\xa0\x9d\xe0\x87\ +?\xfc\xe1\x91\xf7\xbf\xff\xfd\xff~hh\xe8\x03\x98p\ +\x10M[\xc6K0n(\xbb\xbc\xac\x85\xb9y\xcd\xce\ +\xcdjnvVK\x8bK\xca\xe6\xb2\xd6\x1a:\x02\xf0\ +I\x0a\xfa\xfc\x8a\x84\x82J\x18\xcd'\x12\xeaJ\xa7\xd5\ +\x95\xe9V*\xd3\xa5h*\xadP\x22\xaep,\xa6n\ +\x840\xbcr\xa5b\x1c\xcf\xce\xce\x96\xcf\x9c9\xf3\xc5\ +o|\xe3\x1b\x9f\xfb\xfa\xd7\xbf\xbe,\xc9{\xbd\x04\xe0\ +\x8c\x8e\x8e\xc6\xbe\xf4\xa5/\xbdc\xcf\x9e=\x7f\x8a\x89\ +\x0e]\xd6x>\xaf\x1cLOOM\xe9\xfc\xb9\xf3:\ +s\xf6\x8c&&&4\x03\xf3\xf8r\x87qk\xfa\xc2\ +=\x1c\xa3}I\x01\xc7\xa7\x00\x18\x10\x0a\xf8\x15E\xcb\ +\x89HT\x19\xcc\xbf\xaf\xa7[\x83\x83\x83\xea_\xb1B\ +\xe9\x81\x01E3\x19\x85\xcdy\xce\xadZ\xb5J\xc2r\ +\xce\x9d;\xf7\xea\xc1\x83\x07\xff\xf5'?\xf9\xc9\xe7]\ +>\xaf\xb5\x00|\xb7\xdcrK\xf7\x97\xbf\xfc\xe5\xff@\ +H\xfb\xb7f\xed\x98\xa0\x0aPvqQ\x13\x17.\xe8\ +\xc4\xf1\x13\x1a;~Lh\xc72^.\x96\xd4\xdb\xdb\ +\xa3\x95+\x86\xd5\xc7\xd8\xdd\xd5\xa5X$\xa20\xbe\xde\ +lx\x06\x0f\xb8\xa7\xa0\x02\x02\x5cZX\xd0\xfc\xf4\x0c\ +4\x8d`\x9a\x8a\xe0\x06)\x5c\xa0\xbf\xa7G+V\x0e\ +k\xc5\xea\xd5\xca\x8c\x8c*\xda\xdb\xab8\xc2\x19\xe5{\ +_\x7f\xbf\xc0\x86*\xd8\xf0\x1f\x1f|\xf0\xc1/\xe3\x22\ +\x95\xd7J\x00\xfe\xb7\xbf\xfd\xed+>\xff\xf9\xcf\xff\x05\ +Z\xb9\x1b`\xb2\x8c\xe7\xd0\xec\xe4\xc5\x8b:\xfa\xca+\ +:\xf0\xd2K:~\xf2\xa4f\xa6\xa6\xf1\xd9^m\xdb\ +\xbaU\x9b7mR\x22\x1c\x91\xaf\xe9\xc9\xef\xb5\xc81\ +\x04\xf3b\x84\xacE4\x0cq\xecr_\xb5Z\xb3s\ +\x9e>vL\x0b\x08\xd1\x80c\x12\xb3\xef\x87\xf1\x950\ +\xbdb\xfdz\xa5V\x8d*\xc2\xf7\x01\x5cb\xf5u\xd7\ +Y\xa0E\x08_\xf9\xd4\xa7>\xf5\xe0\xc9\x93'\x8b?\ +/@\xfa\x7f^\xe6?\xf0\x81\x0f\xac\xf9\xccg>\xf3\ +H\x7f\x7f\xff\x9d&D\xe5\xdb\x1a;16\xa6\x1f\xfe\ +\xf0\x87z\xe2\x07?\xd0\xcb/\xbf\xac\x01\x16\xf5\xcew\ +\xdc\xa3\xbbn\xbf]\xd7\xa1\xf5\x0c\xbe\x9d\xc4T\xd3j\ +Q\xaaC\x9cKJJt\x88sq\xc6\x18n\x11\xe7\ +Zo2\xa5u\x1b\xd6i\x04\x06k\x08\xb9\xb0\xb0\xa8\ +\x12\x02/\xf27kKK\xf2U\xaa\x0a \x98J\xdd\ +U\xae\x84\x95\x81\x0f\x03\x03\x03\xbbn\xb8\xe1\x86\xadX\ +\xc4c\xe7\xcf\x9f\xaf\xfe\xaa\x04\xe0\xbf\xf3\xce;W~\ +\xf6\xb3\x9f\xfd_\xc4\xf5[\x0d\x8a\x1b\xb3\x9f\xc3L_\ +\xda\x7f@\x8f=\xbeW\xcf>\xfb\xac\x5c|\xfb\xbd\xbf\ +\xf7{\xba\xe3\x8do\xd4 \xc0\x95\xc2\xa7\xd3N\x87\xe9\ +\x0e\xb3\x0e\x0c\xc2\xa4\xa4\xa81\xf1&$\x99\x11\xe2\x9c\ +\x19\xa1\x98\xbd\xc6y\xac\x22\x01&\x5c\xb7n\xbd\xba\x01\ +\xc4\xfc\xf4\x94\xaah\xba\x9c\xcb\xab\xba\xbc$\x87\xb5\x84\ +\x88\x1e\x0d\x9f\xa3<\xc7\x19\x5c\x05!l\x02\xa36\xee\ +\xdb\xb7\xef\xbb\xe0R\xfd\x97\x15\x80\x8f0\xd7\xff\xd0C\ +\x0f}\x85\x89\xef\x00\xc4\xac\xd9O]\xba\xa4\xe7\x9f\x7f\ +^\xff\xf7\xb1Gu\xe8\xe0A\xed\xda\xb1C\xff\xfc\xde\ +{\xb5\xb2\xa7W\xe9\x0e\xe3Wh8\x0a\x85a\x0c\xaf\ +W\x00\xc6\x02\x8c\xfe\xa6 F\xafu\xec3\xc7\xf6\xba\ +!)\xc8\x18\x16\xe4\xf1\x9c[\x07;\x12\x1a\xc1\x22\xaa\ +3s\xaa\xb1\x86Z\x89\xd0JD\xb1B\xf03#\x96\ +\x96\x03\x8c\xbb\x00JB\xe6&\xb2\xd0\x81\xef\x7f\xff\xfb\ +\x8f\xe3Z\xee?V\x00\x0ey{\xea\xe1\x87\x1f\xfe\xcf\ +k\xd7\xae\xbd\x8fXn23M\xc3\xfc\x8f\x9f{N\ +\x8f\xed\xdd\xab\xb3\xa7O\xeb\xdd\xef|\xa7n\xdb\xbdG\ +]\x80Z\x86\x85t\x18\x8fY\xa6a\xb6\xcd\xa4E|\ +3\x1a\xbfoB\x1c7m$h\x8dj\x9fw\xec\xbd\ +\x8c\x1d\xe1X0l2Y\xddZ\xcf\xf0\x9a\x0dj\x10\ +N\xddB\x8e0ZS=W@\x08e,!\x88\xa4\ +#*\xd6j\xd6\x1dX\xfb.\x92\xb3e\x84\xb0_\xcc\ +\xfe\x0b\x0b\x80\xb8\x1e\xf9\xc2\x17\xbep\xefm\xb7\xdd\xf6\ +_\x00<\x1f\xcc[\xb3\x7f\xe1\xf9\x17\xb4\xf7\xf1\xc7u\ +\x11\xc4\xbf\xef\xf7\x7f_\x1b\x09G]\xf8b\x06\xcd\xe3\ +\xd7v\x91!\x18hi\xb5\xcdX\x9b\xa9\xa6e\x9a\xb1\ +}\xac\xf6\xb1\xda\xc7\xba\xea\xd8\x8e\xac\xc3S \x0d@\ +:\x9eBE\xc9)\xd75\xb4\xf6:5\x96\xc1\x027\ +'\xa7\xee\x22\x84\xa2\xfc`B\x08\xb0m\x1a!\x10\x0d\ +\x07\x08\x95\xe4\x0b\xbfC\x8e\xf2\x14.:!f\xfcE\ +\x04\xe0\xa7\x80\xd9\xf4\x91\x8f|\xe4\xaf@\xe0\xa4\xc9\xe8\ +\x96\x09s\x07\x0f\x1c@\xf3\x8f\xeb($\xc7mX\x06R\x83\ +CV\x83\xfcU\xc34t%\xf3\x8d\xd6\xb1q\x11\x09\ +\x0d\xaf\xd3\x10\x89\x12\xcc\x9bs\x96<\xa8\xf3\x8c\xb8\xbf\ +\xd1,+\x90\xea\x95\xcf\x0aQ\x10\xff\xb3\xd7 \xc6\xfa\ +rN\xabo\xbcI\xc9\xe1^%\x03\xb8 \xcf\x08W\ +uO\x9fU\x1dA\xd4\xb39\xcd\xce\xcc\xa8\xbb\xbb;\ +z\xeb\xad\xb7\xfe\x91\xa4\xf0\xcf\x12@\xe0C\x1f\xfa\xd0\ +\x1b0\x99\xdb\x0d\xf3\xb5r\x19\xb0\x9b\xd0\x91\xc3\x874\ +KN\xffO\xde|\x87\x92\x86Q(\x0e\x85x\x9a\xe5\ +KV\xe3\xaee2\x92Ljh\xcbf\x05\x11V\xc7\ +\x0a:\xccs\xc0\xf9\x80\x86wnSzh\xa8\xe3\x16\ +\x1d!]\x1e\xbd\xf635\xaf\xa6h\xba[\xf8\xc85\ +Vd\x05V\xab*Fj\xdd{\xfdv\xd2\xeb\x16w\ +\x81Z]M\xc0\xba\x81\x00<\xb2\xc8\x02\x0a4%\xf8\ +\xca\x95+\xdfs\xdf}\xf7m\x90\xe4\xfcT\x01P\x8b\ +'\xdf\xf6\xb6\xb7\xddO\x1d\xef3\x0f\xe5\xc9\xc0\xc6O\ +\x9e\xd0\x19\xd2\xdb5\xc3+\xb5\xb2;\xa3d\x87y\x16\ +\xe4s\x01\xa6\x96j4s\xfc$~X\xb1LS\xda\ +\xe2\xab\xa4\xc0}\xbdW\xb9Cr \xad\xe4\x86!\x85\ +\x13!\xfb\xbd\x01hM\x1dyE.\xc2\xbe\xc6m\x9a\ +\x8c\x12\xf7\xa6%\xe6k\xaa~\xf9\x9a\xd7\x06S_\x90\ +hC\xe1\xd4\xbdy\xbb\xc2q\x8a),/d\xc2-\ +\xb9\x81&\xa7\xe4R\x8c\x09%.\x92=\xd2\xa3\x08\xdd\ +~\xfb\xed\x1f5l\xfe\x14\x01\xd8\xa4g\xd5\xf0\xf0\xf0\ +\x9bm\xd3\x02\x9aE\x92\xe3\xc7\x8f+73\xab=\xdb\ +\xb7+\xe1\xb5\x98\x0f{m4\xae\xd4D\x1b\x0b3n\ +\xa8\x92]\xd6\xa5#GT^Zj#\xbb\xd4C\xde\ +\xde\x0b68\x8e\x0f\xd7X\xad\xae\xf5\x83r\x9d\x966\ ++\xa4\xd2\xe7_xAY\xf2\x8a+5\xebY\x17`\ +l\x0b\xc3O|\x0f\xf6\xad\x92\x17\xc8\x09n8Wc\ +\xee\x9a\x821O\x91\x95\x09\xa5F7*>0\xc2\xf7\ +\xa0e\xc6/Y\xc5\x80\x8ej^\xbcd\xb1\xa0\x8a@\ +\x5c\xce\x01\xea\xef\x06\x13\xd3?M\x00\xa1\xfb\xef\xbf\xff\ +\x1e\xc2^\xcc\xdc\x5c\x06\xfd/\x9e;\xa7KP\x17h\ +\xba\xb2\xaf\xcf2\x1f1\xc9\x89\xf5A4X\xc2\x02\xaa\ +,\xcao\x17k59\x05^,\x9d\xbf`\x90\xdd2\ +\x11'=\x1d\xdd\xbdK\xc9\x15]*\xe3\xef1\xc2\xd4\ +\xf2\xc4\xa4.\xec\xdb\xafj\xbe\xd06\xfdF'b@\ +\xae%\xbe[l\xa9\x15s\xea\x1e\xdd,gx\xbdj\ +\xf1\xaa\xea\xe1\x05y\xf1\xac\xbanZ\xa3\xfe7\xbf\x13\ +\xdcY\x05X\xc28@\xe9H\x90\xcd*\xad\xe6\x1d\x98\ +\xaf\x9d?/\x1f\xf3\x93\xbe\x1b+\xe8\xff\xd8\xc7>\xf6\ +\x96+\xf9\x0et\x0eL\xbc_\xb7n\xdd?\xb5\xfd:\ +\xc8\x80\xdf\xc4\xd9s\xca\xcf\xcdi#\x05\x89a>j\ +\xd2R\x99,\xcd\x11\xff\xc1\xb0\xf19O5\xbf\x83\x96\ +\x1bb\xdd6~/\xf2\x5cyiY}\xeb\xd6\xcaG\ +\x8d/\x01X*)\xda\xb7Z\x0b/=\xa5\xec\x899\ +\xee\xbd::t\xa2\x87\xeb\x95\xe4sL\x1e\x11V\x80\ +FIa\xfa\xacb=\x03\xea\xb9\xee\x065\x86\xd7\xa9\ +^)\xda{\xd3<\xeb\x0f\x84T/\xcdk\xf9\xcc\x01\ +\xf98\xbe\xaa\xbcu\x11\x22\x19ccrR>\x5c\xb3\ +\x1a)\x8b.\xb4FFF\xee\x91\xf4\xb7P\xf5J\x01\ +\xf8\xe8\xeb\xf5Q\xeclC\x00\xb6F_\x9a\x9f\xd7\x0c\ +\xc0\xe7\x15\x8a\x1a\x1d\x18\x84yO\xe0}\x0b\xf4\xd4\x12\ +\x00\xa7\x14*K\x95LB=#a\x92\x91\x90\xb8l\ +\x85 \xa8\x00\x08%\xfa\xfbY\x5cU\x0d\xe2}\x94\x92\ +6h\xd2e\xaaD\x0b\x1d\xedL\x11\x8bi\x9b\xbd\xcb\ +\xbc\xf4\x06\xca\x05%\x82CjT)tf/\xa8\xd0\ +3\xc8<+i\x93\x05\x99+m\x05@o\x0d!V\ +U\xbc\xf4\x8c\xca\xf3\x17\x98,pu\xaag\xc0\xb5\x84\ +0\x97\xb3\xaa\xd3\x91\x0af\xba,\x18\x92\x22\xdf*)\ +~\x8d\x00\xde\xf7\xbe\xf7\xed\xa4\xe7\x962u~\x1d\xbf\ +^d\xf1\xb9\xf99\x85x\xa8/\x95\xb4\xa6\x1f\xb8B\ +\xfb\x12\xa3DN\x8ee\xf4\xd3\xcc\x1c\x1aT\xaa\xe6\x80\ +\xcc-!HV\x10-\xcd:\x15\x852\xd7Y\xbbK\ +v\xf7\x90\xae&a\xfc\xef\x05\xb5l\x05\xd0\x10\x12\xc0\ +\xd7\xc1\x1f\xa7.\xa9\xc6\x5c\x01B E\xce\xd8\x8f\xd1\ +\xf4\x0dJ\xaf$\xc4\xcai'W.e\xf2i\x15'\ +\x9eC\x18\x01k\x8dWI\x80c8\x96C\x16[\xa3\ +?\x11\xdb\xb8\xd1\xe2U2\x99\x1c}\xef{\xdf\xbb\x96\ +V\xda\x92\xb9\xab\xe3\x0b\xc1\xcd\x9b7\xefhX\xe0\xf1\ +l\x03syvNU\xe2h\x8c\xefi\x906\xc8\x1f\ +\xf5u\x90\xda5\xe4Zr+\x1cg\xb308H\xd2\ +\xe2Z\xc1\xe2\xfbh\xc7\xf8\xb1\xa1\xba\xdc&\x85Lw\ +\x9f\xd5x\xc7\xd4\xbd\xcbs\xb9\x1dt\x87`<\x880\ +\x09}\xccc\xaec\x05~\xf9\xf2!\x95O\x1d\xd0\xc2\ +\xab\x879\xc7\xf9\xa6\xc1\x9e%\x15\xce?\xa6\xc2\x1c\xbd\ +\x01\x04_\xcf_[\xf9\xda9\xc1\x19\x17k\x0eJ\x82\ +?\xdb~\xa7H\xba\xd1(\xfdJ\x0b\x08c\x1a\xd7\x99\ +\xf0\x02Y\xd4,\x90P\x08A$\xda\xa5l\x80\xf3r\ +\x98T\x90s\xd9\xd3l\xde\xdfX2\xa5\xe9\x9c\xa2\x83\ +k\x94=\xf4\x8c*\x97j\x1d<\xb0\xc5LxuL\ +\x99pT$\x16Z\x9a\x9c\xe0\xba\x07\xe3\xcd\xcb\xe9\xb0\ +[\xad\xd1\xe8\x98W\xe0bE\xd1\xeb\xd7`\xe6a-\ +\x1e;\xa2\xca\x82\x1f\x86[\xf7\xf8\xfc5\x85\xce\x9dV\ +\xa3VQ\xd7\xaa\xf5\x98\xfe\xb3\xaa\xcc\x8f\xa9\xb4\x80[\ +\x16\xa5z\xe1\xda\xfe\x07\xcc\xd8\xf4\x98WNVy\x00\ +\x9d=\x0d\x18\xaeo\x0b\xa0a\x05@\xba\x18\xe5\xe4h\ +[\x006\x01*\xe7s\xf2\xd7\xea\xb6;\x13p\xeb\x98\ +b\xf8\x1f,\xa8<\xa8V\xc0\xdf'N\xabg\xe3\x0e\ +\xe5\x87F\xc9\xc2\x9eWy\xc13\x8b\x87\x19hh\xc0\ +@3\xa1*\x8e5\xc0,\x9d\xe2F\xa5S\x00Y7\ +\xc1\xda\x96T\xca\xe4\x94\x19\xb8\x9dgi\xa2^\xbc\xa0\ +\xfc\xc5\xc6U@\x19\x8cs_\xed\xbb\xf2n\xbdY\x95\ +\xc9\xa7T^\xac\xa9Y\x8c\xaa\xe7\x96\x0b\xb8\x90\x09\x93V\x8b\x00\x1eR\x07\x89\x0b\ +S\x17\x94\x1aY\x85\x80|\xea\xdd\xb8U\x8d5h\x5c\ + \xbc1{\xeb\xaf55\x8c\xf6K\x05\xc6 \xb1\xbf\ +d\x05P\xcb\x17H\x84z\x94Y\x13\xa3){\x09,\ +\xc1\xdd\x96\x22\xcc[G\x00\xb3\xed\x90\x07\xb9\x0e.\xd4\ +\xb4\x02\xa8\xe6l\xc8\xb2\x82\x11\x14\x08\x87m\xe9\xcdw\ +S\x17\x94\x0c\xcfW\xba\x80\x0b\xff\x95\x8e\x00\x02\xc1\x80\ +\xc2\xc1\x90\x15@\xb3\xcc\x12\x17\xa7\xd4\xe08\x944<\ +\xa3\xd5+\xfc\x1f\xe2$\xa3\x9f>},i\x05Q[\ +\x9c6\xa6\xd9\xbe\xee\xb6\xcc\xb9\xe8\xd3\xd2\xf1\x83h\xc6\ +0U\x13\x92\xc4Mp/\x88c\x90\xd8\x1690K\ +1U*\xa3\xd5\xcb\xee\x86\xe6\xfd\xa4\xc3!U\xaa\x13\ +\xe4\x13E\x04\xd0$\x22\x04@\xff)\xee\xab\xb5u\xd0\ +\xae\x03\x1c\xc1,~\xcf\xd8\xd6&k\xf3)\x9cL^\ +\x16\x00\xd6^\x96\xe4]i\x01U\x8a\x85,\x17\xe4\xf0\ +/\x88\xb4\xa2\xd4\xf3\x05S\x86V\x1cU/M*\x0a\ +j\xbbKS\x0a\xa7C\xaa.\xb9\x1d\xe5c\x15\x14H\ +]R3\x19U\xbc\xb7Ou\xb4_\x9e\xba\x88\x00\x0c\ +\x006!\xd7,\x02\x018*-\x9eRa\xc3F\xac\ +`\xd4j\x85\xa7\xda\xebh\xf97D\xec\x9fF\x0eM\ +\x0b\x82\xa3\xb7\xdcl\x05\x10\x8c\xfa\x15\x88\xcf\xca\xf5\x16\ +PBYq\x94Q\x9e\xe182\xafj\x10\x86\xeaj\ +\x15D0nJ\x82\x9a\x8dm\x86\xe0\x06\x1e\xcb\xe0^i\x01\x15^7_h\xa7\x8a\ +V\x00q:-a\x80\xcaqr\xaa.7\x95;\xfa\ +\x8a\x86n\xbcY\xdd\xeb7\xca\xb9~7\xfe\x99g\x81\ +\xb8E\x22i\xcd+\xc4\xbd\x1e\x0c\x94.\x9e\xc5\x05L\ +b\xd2\xb0!\xc8F\x08\x00\x94\x0f~KY\xfa\xea\xb8\ +J7lSjhX\xb0)b\x94\x05N\xdb\xe2\x22\ +o\xaf\x13J\xddR\xc8\x0a\x8e\x05\x83\x17u\xc6Y\xc5\ +z\xa9'\xd21\xd6\xd3$\xaf\x99Pb\x10T\xc7\xdf\ +\xb3\xb1\xba\x92\x83\x8eUT\xac\xdf\xa36\xc1\xcc\xc9\xf0\ +\xf9\x87\xc9\x1b\xcb\x89\xcbGc\xc6o\x92 \xe6\xe7c\ +6[\x9cfh\x5c\x89\x01\xb51>n\xfb\x8f\xfa\x90\ +Z\x82\xfa?\xc2\xc3LbM\xac|>\xaf\xe9\xe7\x7f\ +\x04C%\xf9\x9d\x0a\x85\xc9\x08L\x0c!q\xeeql\ +\x1eO<\x9e!\xef\x9e\xc5\x8fm(m\xbd\xf4\xb4\x16\ +\x00\xd5M\xdd@\x9a=WPi\xf2\x02\xf7W\xed3\ +\x1e\xd4tI\x9d\x99\xb7x\xe1\x04\xe8^6\xf7\xd9n\ +\xd1\xf9g\x9f\xd3\xf4\xb1\x1f\xab\xb4|F\xd1\x01?\x16\ +f\xc2\xd5\x8c\x22\xe9\xb8B\xa9\xa8b\x03A\xf5mu\ +\xd4\xb3\xc9S\xcf\x96\x06\x02\x90M\xd6\x1c\xd7G\x04\xf3\ +\xb56\x5c\xa0\x9c8\x1dg\xe1\x0a\x9dL\xf7\xa5\x97^\ +:r\x0d\x08>\xf9\xe4\x93\x87y\x97V278\x94\ +\x9dq\x04\x10\xc5\x0a\x8c\x095%\xea{)w\xf8\xa8\ +\xe6\xc7\x0ea\xdeyb\xef\x84\x8d\xd9\x96\xbc\x9a\x05\xb7\ +\xfc\xe9c\xc4\xe6&\xd7=\xcb|\xc7\x05:\x84P\xb8\ +\x86 \xb0\x1e\x98\xb7f\xcf\x09\xc2$\xf5\xc1\xf4^\xcd\ +\xef\x7f\xc2j\xd0\xabY\x90E\x08\x15\x18h\xd0\xf1\x09\ +q\xef\x12\xe7/\xe2\xe70\x97HQ|\xf5p-N\ +\xe1\x14\xa2\x90\xf1\x81\xfc\xed0XC\xf75\xbf\x22N\ +\x00\x1c\x8b\xc9\x0b\x85\x08\xbb\xf4\x12L\x94\x810\xffi\ +\xb6\x1b\x9d\xfcI\x10\xf4\xf8\x5cd3\xc3\xab\xd4\x04\xdb\ +H\x15If2JP\xe2\xe6\xe9\xa8\xd8\x5c\xda\xe5\xe1\ +\x0b5\xcd=\xff\x14\xdd\x9d!\xc5\xfa\xfaU]0f\ +i\xea\xfd\x10\xe05\xa7:UW-\x171\xcc\xb6\xa3\ +\x83\xc9\x0f`\x1eWA\x8a\x9cs\xad\xc9\xe3\x9b0X\ +\x80\xa1yy\x953\xb8\xd8Q\xacb\x99\xe2\x8645\ +\xe0\xb4\xdcG\x02\xe9#X\x98A\xf5ypaI\xa1\ +\xae\x1e\x1a\x17q\x14\x94\xa0Y\x02@\xc3\xa4pQ\xb1\ +6a1n\x1d\xedW\xc0\x8c\x0a\xd1\x05s\xf1'S\ +\xaat\xa5q\xdb\xf5\xca\xb67f\xcd\xcf\xcf\x1f\x94\x94\ +\xfd\xc9\x96X\x13\x9a\xc7\x0b\x9e\x05!\xad\x99\xf81\x9d\ +\xf4\x9a5\x0a\xa6R\xed\xa6\xa4\xd0\x9c\xa3\xfcI\x1a%\ +\xfb\x9eFq\x86\x812B\xb8\x00\xd33\xaa-/\x81\ +e\xa1\xab\xc2\x97\x07\xb5\xcd\x1fB\xe3j\xa0A\x97\x89\ +.\xaa:\xbf\x17\xac\xd8\x8b\xc6\x8f2OVE\x84\x0b\ +\xd6\xd8\x8c\xceA`\xe4\x06<_g\xfe\xf3\xcc;K\ +h\x0e\xc2xD\x0e\xc2\xf6\x05\xad\x10\xf0\xeb.\xe6\x8b\ +\xf3\xbd\xdd\xaa\xc9\xe1\xf7eBx\x1d\xed\x93p\x053\ +\x19\xa5\xae\xdf*_\x81v\x22a\xae\xdb\x82\x04\ +\x90B3i\xa8/ \xc0\xc5v\x8b\xb9\x04\xb3.\x89\ +H\x85P\x9b'\xf5\xbe\x84\x15\xd4Z\xcf\xf8Mv\x88\ +@\x8a\x97k\x14\xdc\xa3l\xdd\x11\x0d\xb5\xdc\xac\x0eU\ +\xb87\x8f\xd5,\x04\x14\xc8\x13&\x11\x8cG\xdc\x0fl\ +\xda\xa0$/o\xe7\x0ay\xdb\x0db\xd3\xc4\xe3\xf9b\ +q\xcaJ\xf2Z\x01\xd8\x93\xb3{\xf7\xee}\x84\xf6\xb8\ +\xd9\xdc\xe8\x04\x89\x02I\x04P\xe4\xbd\xa0ry(g\ +\xb5Z+8\xca\x9d\x9e\xd7\x12\xe7\xfb\xf7\xec\x84\x11Y\ +\x8d7\x1d\x17\x01\xd5)T\xa6h^Vl\x1c\x0fc\ +\xce\x84\x22P\x1b\xad$s\x8a\x0fa]2a\xcf\xb1\ +Y\x9c\xc7\xc2\xb2/_\xd2\xfc\xcb\x0d0\xc6\xa7df\ +\xb0S\x9e\xd8fK\xad\x14\xc6]|\x8a\x90\x03x\x80\ +&!\x02\xa1v\xf3\xf7\x10\x08.\xa8\xb2\xd1\x08\xb82\ +\x8b\xf6\x970\xff2\x18\x80\xdb\x9e%\xc3\xdc\xf0\xcf\xde\ +\xad\xba\xcf\xe9\xecUt\xbf\xff\xdd\xef~\x05&K\xe2\ +s\x8d\x00:I\xd2\xfe\xfd\xfb\x1f\xc7\x0a^\xd9\xbe}\ +\xfb6\xfag\x0a\x00\x84]\xbbviy\x0e\xf3\x86\xa9\ +&\xa4\x860Yr\x83S\xa7\xd4\xbdi-\x0cF\xf0\ +\xd7\x12=\xfeW\xb44\x0ec-\x03\xb3\xa6\x7f\xfe\x99\ +\xe7\x8cU\xab{\xa3\xc7\xcbM\x97L.\x88\xb5\xa0y\ +\x00\x8bf\x08\x02\x80\xc9,\xe93\x9a\xf3\xc8\x00'^\ +\xdc\x7f\xe5\x0e&\xee\x97Fv\x01\x8e\xfdT\x99}0\ +i\xe6u\x0a\x08\x1d\xa0-\x928!w\xf9\x15\xb0\xa0\ +,\x8c\x11\x80t\xacic\xe1$URz\xb5\xa7\xde\ +U\xaezw\x05@r\x98\x08\xf9\xb0\x0e#\x00!\x08\ +\xfc\xff\xac\xa7\xec\xb4\x0f0u\xaei:\xe1]`\x90\ +\xa3D\xccS\xa8\xa7\xfdr\xd4\xb6\xa1X\xc32\xda\x9f\ +\x02W&\xb9\xe7\x22 Y\x00$\xfb\x07u\xaa/\xa5\ +\x1d\x0f\xfe\xa1j\x91\x90IzD\x92W\xfb\xc6#\x8f\ +<8~\xf6\xec13\xe5\xcfz=\xee\xb2\x0du\x86\ +wi\xdb\xd9j\xb2&\x12\x8d\xb2\x80\x98\xc2Pin\ +\x16\x90\xa1/\x8f\xd9\xa2=\x00\xad\x81\xc4'\x15\x0c\x9d\ +\xc5\xa5+\x80\x95\x09\x18\xd4\x06\xa4\xa6\x804\xcd\x89\xa6\ +\xba`\xbege\x83f\x87\x0f@\x0d`\xbeA\x9b[\ +\xd8\xac\xa6-\x80\xfa\x82G\xb2\xe3Si\xde\x0a\xa5\xa3\ +\xfdN%k)\xc1\x5c\xb1>\xb5\xdc\xad\xc1\x89<7\ +\xceP\xfa\xe2\xd1\xc1i|?k6G\xf4\xea\x04\x09\ +\xd2\xba\x7f\xf7QEy\xf9\xbaHd\x9a\x9b\x9bc/\ +\xd3\xfe\xaf\xfd\xcd\xc3\x0f?d\xf2\xb9\x9fw\x83D\x89\ +\x0d\x88\xb3\xec\xb8z\x07\x1b\x0c\xc20o\x22\x01B\x88\ +\xabD\xf9\xe9\x00\x88\x04][v\xc6\xd3\x15\x16\xd6\x80\ +)\x07@t8\x86\xf1\x98\xc7\xf9\xa6R}\x9e\xd2\xc3\ +M\xa5\xb7\xf81_|3\x12\x82\xa2X@\xbc\x85\xe0\ +MY`\x13\x0c\xb9\xcb\x9e\x0a\x0b>\xacG\xd7~\x9a\ +\xcc\xdb\x83\x10\x98\xd3f\x83&\xdd]\xa0\xc4\x9d&\xde\ +\xcf`U\xb90\x80\x99\xd1Y\xf2\xfd\xf0\xbb\xde\xae\x91\ +\xb7\xbdU\xd9r\xc9h\xde\x00\xdf\xe4\x9f\xfd\xf1\x1f\x7f\ +\x14\x0c\xb8\xe42\xd3\xcf+\x80\x06~3\x07r:\xec\ +\xc8\xbc\xdd\xb8B\x10!\x180\x0bCe\xfas\xbeJ\ +\x99\xa2\xa4\xa6D\x0f\x9d\xa3^\x13\x8d\xa0\xa0lF\x16\ +\xee\xf6Q,\xf9\x14\x1d\xf6\xa3u?\x11\xc1h>\x0c\ +\xf3\x09\xf0 E\x0c\xa74\x05\xc5e0\xc0\xad\xdb\xf6\ +\x99\x93m\x08x\xa4\xd1i1\xe4\xca\x8f-a\xa3\xcc\ +\x99I\xca\xbe-\xf2-\xa2\xf1Y\xfc}\x0e\xca\x86\xb9\ +\x9e\xd6\x85DF\xb9\x9bvk\xcb\x07\xff@E\x22\xce\ +,\x9a'\xb3s\xbf\xfd\xcd\xbf}`\xec\xd0\xa1\xa7\x8b\ +\x92\xfb\x8bn\x922\xfb\xf4\xcf\xd0._\xcb\x0b\xc5\x8d\ +\xc6\x15\x82&\xb4%\x13\xb6\xf8\xa9\xd0\xc5M\xc6K\x8a\ +g\xaa\x14DM+\x00'\xe0 \x04S\x81\xf9\x18a\ +:\x1c\xe0\xd8j\x1dJ\xf2=\x0d\xf3\x90/\x81*Z\ +M\x10\xe2\x9a\xb5\x82\x00V\x13,!\x04bw5'\ +\xce1\x9f\x98\xcbA\xd3\xe0E\x17\x00\x98\x89\xa0\xf1:\ +\xf9\xfdBX!(\x987\xf9FZ\xe7H\x17g\xe8\ +\x18\xedx\xe0\xe3\xaa\x04\xfc-\xe6\xd9\xd4\xf1\xdc\xd3\xcf\ +\xfc\xf9\xb7\xbe\xf6W\x7f\xcet\xc5\x7f\xcc.\xb1&T\ +8v\xec\xd8\x89\x15+V\xec!\x22\x0c!\x04k\x05\ +\x81T\xca6)k\xe5\x9cR\xdd\xe6]^\xcd4%\ +!A~\xcc\xd1o\xb23\x98\x07\x94\xc21L>\xc1\ +\xf7\x14\xe7\x93\x5c\x8fsS\xa8\x95\x83\xd9\x1e\xa3k\xdd\ +\xc9q\xc0\x93\x18~^G\x10)\x1fX@7\x0a\x0a\ +\xd3\x0cIg\x82\x1a\xec\x0e(\x19 E\x07\xe8B\xf8\ +{\xa0L\xc78\xd8\xa3\x13\xfe\x08\x9a\xbfI;>\xfe\ +1U\x10\xfa\x0c\xcc\xa38\xb3\x9f\xe9\xd1\xbf\xfc\x93/\ +|\xb2[\x9a[\xfe%\xf6\x09zhi\xe1\xf8\xf1\xe3\ +c\xbc6\xbf\x0d<\xe8\x09\x1bP\x8c\xc7\xa1$\x05\xd3\ +\xb0\xf2K\xa00\xd5\xa1\xdf\xd6\xf6\x08Ab\x0c0\xfa\ +\xa1\x90\x80>\x04\x84 \xcc\xc8y5\xfc&w\x87\xcc\ +f\xa7\x06c\x83\xb1.Q\x00\xc16\xd6\xe4(\xe9I\ +]4c\xbb2\x01\xf5v\xc3<\x05O\x97/\xacp\ +\x93\x88T\x04C\xdc\x84\xaa\x80\xcd\x8b<\x1f}\xd7\xbb\ +\xb4\xf9_\xfdK\x15\xb1\x94\xe9\x99\x19\xcb\xfc\xcb\x87\x0f\ +\xbf\xf0\x97\x9f\xff\xc2\xbfI6\xea\x13\xe7\xe0\xe1\x97\xdd\ +)J\x16\xeb\xce\x8c\x8f\x8f\x1f#*\x98\x04\xa9'\x1c\ +\x89\xd8L\xaf\x19\x89S\xa7\xaf\x22\xcbJ\xab\x9c\xaf\x90\ +\x81\xd5-S\x0c\xb6*s\xaaP\x05C.\x0b\xe0\x84\ +\xd9\xa2+\x15\xb0\x96b\x95\xe3\x0aTkQ\xc1\x05\xd8\ +\x1a\x8c\xb8P\x09\xcc\x00\xe9\xa2P\x02\x9cH\xf9\xe8M\ +@\xa1&\xd6W\x8f#\xdb\x8c&|Q\x1df\x0d\x9b\ +\x1f|PCw\xdd\xa1,Qijz\xda\x00\x1e\xbb\ +Y\x0e\xbf\xf8\xb5\xbf\xf8\xef\xf7G\xf2\xd9\xf1\xb3\xac\xfd\ +W\xb9Y:\x82\x05\xdc\xc4\xcfa\xfe\x94$i\x17\xdb\ +hD\xe5h7H\x85\xca\x00b~^\xc5\xf1\x17\x15\ +)\x8f)\x1d\x98W\xa8Qm\xed\x0a5\x8dU\xfe\xf9\ +\x9a\x10\xff\x1cK\x9d\xfdN\xed7\xc4\xed\x1e#\x9e\xd4\ +)g\xa1 \xc2\x0c\xa2mF/,LN4\xc14\ +V\xa6\x17q\xd7]\xda\xf8\x9e{\xd5\xc0\x12\x17\xb3\xcb\ +vW:\x95\xac\x8e\x1c<\xf4\xf8_?\xf4\x95\x8fw\ +WJ\xa7\x8fK\xeek\xb1]>D\xc7h+{\x08\ +?\xc5o\x05~\x97\x5c\xc1a\x03\x92\x22!\x80\x093\ +\x8e\x19\x7f\xa6\xa7W>}\x08?=\xa5\x1ee\x11H\ +I\x81j\xc3\xee#\xf0\xd7\x01K[\x11C\xcdv\xba\ +k\x81\xc3ic\x82\x9f\xf3\x86`\xda\xe4\xfah\xde\xa3\ +\x08\xbaXqu\xae\xe1\xd1\x97\xdc\xa3M\xecG\x0e\xb2\ +\x1b-GB\xb6@\x92\xc3\xfe?\xa3\xf9\xc6\x81}\xfb\ +\xfe\xc7\xf7\xfe\xfao\xfe\xebH\xd3\xbbx\x04\x91\xbe\x96\ +?\x98\x08@\xc3;w\xee\xfc\x837\xbd\xe9M\x0f\x12\ +&S\xec \x17 \xa9\xb0\xc9\xfdYh\xdcAa\xc5\ +\x9c\x0a\xaf\x9e\x94&\xc7\x15\x9a\xbf\xa4\x1e\x9a\x1b\x09\xf2\ +\xf6@\x89\xd4\xb5J\xeen\x84\xc0?\xf1\x8c|P \ +\x88y\x87`8\xa2\x1a\xe3T\xa9\xaaY\xee\xa9bi\ +\x03ox\x83F\xd8}\xeet\xa5\xf1\xa0\xaa\x96\xb2Y\ +\x9b\xe1Mc\xf6g\xcf\x9c\x99{\xe6\xc9\x1f\xfc\xa7\xa3\ +\xcf=\xff\xcd\x95\xd4s\x07%\xef\xf5\xf8\xc9\x8c\x03\xa5\ +\xf9\xdcz\xc7\x1dw|\x82\xd7\xcdo\xc6%|\x84K\ +\xc5c1\xbb\x83;,)\xee\x0f(\xe6C\xb3\xe4\xe3\ +EL\xb4:5\xa9\xe6\xec\x8c|0\xa0\x82ywP\ +\xb7U^\xc3T\x85\xe1\x88\x5c\x00\xd6KS\xe3\x0f\xf4\ +\xab\x7f\xcbV\xf5n\xdd\x22\x1fnF\xd9\xa0y\xe4\xc5\x17\xffO\xadTy5\xe8\ +\xd5\x97\x03\xa6`\x93\x9a\xbf\xa9?\x9du\xd4*\x0d\xa2\ +\xb0\xd7\x8d\x81\x0f\xaf\xdd\xb0\xfe\xc6\x15\xc3\xc3\xd7\x03\x94\ +\xab\x12\xc9\xd4\xcap$\x9c\xa6\xf1\x8aW\x04\xc3\xdcl\ +\x18\xaf\xd0\xb2*\xc1\xfc2m\xab\x0b\xecN?79\ +1q\xf8\xec\xa9\xf1\x83\x5c\x9f\xa6\xfa\xcb\x8a>\xd1\xb2\ +\xe4\xfd6\xfex\x9a\xba\x0f\xb7\x97\xc8\xf2\x15\x91\x15\x8c\ +\xc3\xe8\x84\x9a\x9c\xc7\xfc=G\xb8=\x90\xc8\xf52\x9b\ +T\xcb\xa0\x80\xcd\x08\x0c\xd7\xaf\xf5\x8f\xa8\x9d\xdf\xb0_\ +\xad7\xf5:\x7f\xfe\x1f_\xbc\xdd\xe6\x1aS\x0c\xc2\x00\ +\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x0d\x06\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00@\x00\x00\x00@\x08\x06\x00\x00\x00\xaaiq\xde\ +\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\ +\x00\x00\x00\x09pHYs\x00\x00\x06\xec\x00\x00\x06\xec\ +\x01\x1eu85\x00\x00\x00\x19tEXtSof\ +tware\x00www.inksca\ +pe.org\x9b\xee<\x1a\x00\x00\x0c\x83ID\ +ATx\xda\xed\x9b[hU\xd9\x19\xc7\xd7IN\xa2\ +&&\x1a\xe351^\xc6T\xad\x97J\x95)8\x14\ +\xc4\x22\xb6\xccs\x9f*\xf4a^|\x10\xc4\xc2\x0c\x08\ +}(\xf8TJ\x1f\x15\xa4O\xf6Q\x0aR\x90N\x07\ +A\x94\xfa\xe0\xfd\xd6\xaa\x03^\xc6\xfb5Qc.F\ +\xcd\xc5~\xbf\x0d\xbfa\xcf1\x92\x8c\x1c\x83\xc1,X\ +\xec\xbd\xd7Y{\xad\xef\xfb\x7f\xf7\xb5\x93\xc2\xeb\xd7\xaf\ +\xd3\xc7\xdc*\xa2\x8f\x030\x0e\xc08\x00\xe3\x00\x8c\x03\ +0\x0e\xc0G\xda\x8a\x1f\x1aA\xc7\x8e\x1d\xdbS]]\ +\xfd\xb3i\xd3\xa6}\xe1\x98\xad\xad\xad\xed\x8f\x95\x95\x95\ +\xf3W\xaf^\xfd\x8br\xed\xf7A$B\xdb\xb6m[\ +P,\x16\xff\x10\xb7\x9f\xcd\x9e=\xbbe\xf2\xe4\xc9\x93\ +\x18\x876\xaf\xb6\x81\x81\x81\xc1K\x97.\xdd\x1a\x1c\x1c\ +\xbc\xd4\xd1\xd1\xf1\xb7\xbd{\xf7\x1e\x1a\xd3\x00l\xd9\xb2\ +\xe5\xb3\xfa\xfa\xfa\xc3!\xf5\xaa!\x09,\x14\xd2\xdb\xc6\ +\x03\x84t\xfd\xfa\xf5C\x15\x15\x15\xbf\xd9\xb3g\xcf\xab\ +\xb1d\x022\xff\xcb\x9a\x9a\x9aC!\x84\xe2\xcb\x97/\ +\x87cx\xc8\xb1\x96\x96\x96\xf5\xd7\xae]\xfb&\x1e\x7f\ +5\x96\x9c\xa0\x0c\xfc\xb3\xbf\xbf?\x13B\x00\x91\xaa\xaa\ +\xaaR\x98\x02=\xbb\xb7;n\x9f8qb\xc6<\xa0\ +\xd1\x9b\x9a\x9a\xd6o\xd8\xb0a\xdd\x98\xd2\x80\xcd\x9b7\ +\xff9\x98i\xec\xeb\xebK\xcf\x9e=K\x0f\x1e<@\ +\xa5G\x0a\x5c\x0a'\x99\x1a\x1b\x1b\x93\xad\xae\xae\xee\xaf\ +q\xf9t\xac\x00\x00\xb3_\x04\xf3H\x10\xef\x9e\x16-\ +Z\x94\xc2\xf9\xa5\xe7\xcf\x9f#e\xe7\xa4\xce\xce\xce\xd4\ +\xd0\xd0\x901\xfc\xf4\xe9\xd34i\xd2\xa4t\xfa\xf4\xe9\ +\xf4\xe4\xc9\x93D\x0b\xff\x91hS\xa6L\xf9\xf9\xc6\x8d\ +\x1b\x8b\x07\x0e\x1c\xe8\xff\xe0\x01\xd8\xb4iSu\xb4\xe9\ +q\x0b\xc3x\xf6\xb4j\xd5\xaa4a\xc2\x84t\xe3\xc6\ +\x8d4k\xd6\xact\xea\xd4\xa9\xd4\xda\xda\x9a\xe6\xcf\x9f\ +\x8f\x9d\xc3`\xbaz\xf5jZ\xb8pa:{\xf6l\ +\xf6Nww\xb7\xe6\x00h\x95/^\xbc\xd8\x14K\xfe\ +\xfd\x83\x88\x02\xdb\xb7oo|\xf4\xe8\xd1\xba \xbc?\ +\x88\x9d\x17\xd2[1s\xe6\xcc\xdf\xde\xb9s\xa7+\x88\ +\x9e\x1cc\xd3\x83\xe0\x84\x16\x00B\xc4\xf7w\xd1\xa2L\ +3\x02\xcc\x0c\x84[\xb7n\xed\x0b\x8d\xd9O8\x8d~\ +4\xd6\xfc\xf7\x89\x13'\x1e\xbc\x17\x00~\x1dm\xc5\x8a\ +\x15\x95\xc1Tm0\xd3z\xe6\xcc\x99\xdf\xafY\xb3\xa6\ +9\x18}\x10\xd2h\xbap\xe1B\xed\xb2e\xcb\xd2\xdd\ +\xbbw\xd3\xd4\xa9SSWWWz\xfc\xf8qFl\ +\x84\xad\xc4\xbe\xd8>\x12\x0c\xa0\x90\xa8\x9e~\xc4\x0dM\ +a\x1d\x1c(f\xc3\xfd\xe5\xcb\x97\xf1\x07\x98\x13\xfb\xbc\ +\x0e\xad\xba\x1cN\xf4\x1f===\xff\xda\xbf\x7f\xff\x89\ +\x9838b\x00v\xec\xd8\xb1\xf4\xe6\xcd\x9b_\xc5m\ +\xcb\xe2\xc5\x8bo\xd6\xd6\xd6\xd6\x04\xa1\x8bz{{[\ +\xcf\x9f?\xdf\xc8&\xa8$\x92\x84Q\x18\xc0c\xf3\x8c\ +m\xbfz\xf5\xca\xae'wi\xa4\xce8D\xd2\x99\xcf\ +\x18L\x0c\x1b\x0e\x01-hQ\x0bx?c\xd8\xe7\x90\ +z\x8a\xe8\x82\xf9\x00>~\x22\xdb;\xe8\xeeloo\ +\xff&\xf6\xfd2\xe6\xdc\x1e\x12\x80\xdd\xbbw\xa3\x8b\xbf\ +{\xf8\xf0\xe1_\x8e\x1f?>;\xd4\x88\x97\x0d7\x10\ +\x08\xe1y\x06\x91\x1e\x1b\xdb\xdfxFBt\x1bk\xe0\ +\xd0d\x9e=`\x8c{\xae\xf9n\xf3=\xaf\xac\xeb\x95\ +\x0e\x00y\xe7\x19\x1a\x09\x08\x00\xc5\xfa8O\xfcH\xe6\ +gB\x1b\xae\x1f=z\xf4\x937\x00\xd8\xb5kWM\ +\xd8\xd0\xd7\xa1\xaa\xebb\x92L\xb2\x10\x1d\xc6\xd8\x14\xbb\ +\x858\x09\x18\x16\x006\x869\x1b\xce\x0b-\x810\xc6\ +\xed#\x01\x80.\x93y\x10X\xcb\x88\xe0\xef\x87\x0f\x1f\ +f\x1f\x98V\x08\xdc\xd3\xfb\xc3$\xebo\xdf\xbe\xdd[\ +\xf4\x85\x9d;w\xb6D8\xfa6T\xb9\x96\xd0\x93'\ +\x02d\x91\x18\xe3a\xf3i\xee\xdc\xb9)^\x06\x086\ +\x960\x89\xcb\xe6\x00`\xe4\xea? \xd6\xe6\xfa\x00%\ +\x08j\x80\xfb9\xce\x9a9@\x87\xd4\x00;\xcc\xf1\x1e\ +\xfe\x06\x8d z`V\x08\x12 B\xab\x11$\xeb\x17\ +\xc3\x17\xfd\x09_\x9d\x01\xb0o\xdf\xbe\xc6\x90\xca\xb5(\ +2\xaad:\xcf\xbc\xd7\x17\xd9\xf3\x0d\x0d\xe0\ +e\x88\xd0\x86\xe9\x82\x90\x0f\x7f\x02a\x1e\xfe\x86]j\ +\x7f\x02\xa0Y\xd8\xc8\xed/^\xbc\x08hH\x1d\x89\x03\ +\x00>\x08i\xb2/\x84\xeb\x00\xe92\x8b\xf4U[\xe6\ +@\x07k\xe0\xf0X\x83\x88\xc3<\x0b&S\xebaS\ +\xec\xa2*\xf4\xaeM/\x9dk\x10\x85\xa4J\xd3V\x9c\ +\x1c\x0c\x10&\x91\x0cs\xd0\x06\x00\x83\x01\x1c\x14k\xe1\ +\xb1\xd1\x1e\xf3\x07\x01a]hEs\xb8G\x0b\x99\x03\ +\xe3\x80\x00\xf3\xbc\x8bC%\x04\x1a\xc5\xb8\xda\x87\x01\xa0\ +L\x0d\xc2`\xc0\x06QH\x18U\x85P}G\x14F\ +\x5ca\x1c\x8d\xc11\xf2\x1e\x0c\xb3\x06\x0cA\x1b\x0c\xd2\ +\x01M\xed\x831\xd6\xa5\x94\xc6yZ\x1a\xb3G6~\ +\xff\xfe}\x9c\xec\xb0\xf5\x05> \x95\xbbi2F\x15\ +\x98\x8ac+31M\x0bF\xa8\xe02\x82\x97,Y\ +B\xb1\xc4\x19_iF\x88\xb4a\x1e\xa6Y\x03\x86\x01\ +\x8e\xe8\x01\xd3\x5cq\xd0\xac\xc9\x95u\x19\xc3TL\xb3\ +\x05\xe2\xfdk\x80\x9b\xda\xb0G\xc2(\x04@\xac!\x92\ ++\xb6\x8f9\x00\x00\xe6\x01\xe1\xe6\x0d\xe6!&/\xfa\ +\x03}\x92v\x0e8\x80\x82\xc6\xa8%\x8c\x13\xfaX\x1f\ +\xad\x1a\xd6\x07\x94\xb3\x11&!\x02P\xb5A\xd4\xbf\x94\ +yT\x17\x82\x91&~@M\xe4\x1d#\x8ay\x88\xe9\ +0s`\xd4\xb9\xccC[\xe4\x819\x00\x05 y\xc7\ +m\x1b\x15\x0d0\x03cc%D\x83Y\x01\x80\x09\xa4\ +M\xb9\x8a\xad2fJ\x8cd5\x15\xcf\x0ed\xce\x08\ +\x01\xc8\x98\x0b\x8e\xd5\x04\x88\xf7\xd4\x06C&\x9a\x85\x1f\ +a\x9d\xd1\xd2\x00\xe36\x1d\x86pJ\x84\xaf|\xa6\x08\ +\xf1\x84]=9\x0c\xe8\xd4\xb0a\xa3\x00\xa01nx\ +\x86y\xde\xb1\xe0\xa1\x13\x05\x04>\x9f\x00\xc1\xb4{Q\ +gp\xffV'XV\x0d\x90Q\x9a\xea\x8e\x9a\xe7U\ +\xd2:\x9d(\xc0\xb8g\x06\x8c1\x17\xa6\xb8\x1a\xfb\xcd\ +\xf4\x90<\xcf\xfa\x05\x8b\x1f\x9a\xd9\xa2i5`\xd0\x0c\ +\x9bh\x1c\xfb\x8e\xaa\x06h\xabJ\xd11\x98p\x1e\xfb\ +C8\x04\xeb\xe1q`\xf3f,IM\xd3>I\x03\ +\x13B\xdd\xbbo\xa3)0l\x8d`\xdeo\xea\xab\x84\ +\x87\xca\x1e\xc91\x00\xd5|\xe2\xfd\xfa\x80\ +J\xb5U\xf5\xa9>\xca\xd8\x89u\x93S\xfd\xec\xc8\x19\ +\x1a\xa68\xcf\xf7\x5c\xc3\xee\xfev5\x0d\xb0\xde\x04\xa0\ +\xdc> O@\xbe\xa2\xf3\xdeL\xd0\xef\x7f0\xeb\x5c\ +\xfb\xf71\xbf\xa77u\x84\xeaw\xb5\xb7\xa5\xee\xb6\xf6\ +\xd4\x1bj[e\xc0\x18\xeb\xad\x05\xb4e\ +A\xf0\x9c2>\xdbq@+\xd0\xcc\xc9;B\xb5\x84\ +=GO\x03LG\x05\x82g\x08\xf1h\x8b1\x99\xf6\ +\xd0\xd3\x12\x1a\x10Pyk\x04\xabA\xdf\xf1\xec\x12\x9a\ +\xa9 9\x12\xf3\x5c\xd03J\x80\xf5\xd3\x1d\xe6\x05\xf3\ +\xa3u b\xfd\xaf\xf3\xd3\x0c`\xcajM\x02!\x1a\ +@\xf2\x1fG\x19\x83!\x8b\x17\xa4\xed<\xc3'_w\ +\x00\x94J\x12\x06\xd9\x03\xe65\x09\xfd\x0fB\xe0X\x8c\ +\xdfF\xd7\x07X\xcf\xeb\x84Tw+@\x982\x13\xb4\ +t6\x1c\xf2\x9bE\x8b\x15\x9d\x1fRaD\x8f\x1e_\ +\xaa\xd1\x0eO\x95\x00\x8f\xf73\xa0<)jnn6\ +\xed\x1dU\x1f \xc3\x1eE\xeb\x18\x01\x85|\xdc\x83N\ +\xf3z\x011\xf4\xe1 aT\xd3\x00\x00\xde\xa1\xf6g\ +\x1d\xd7\xd4!ZL\xb1'ct\xd6\xc0\xf9\x01\xfa\x88\ +\x00\xe0\x0bq\xb9\x01\xc0\xa1i\xbfflH\x0b\xf5\xd5\ +W\xc0\xb8\xde\xdeR\xd7DJ\xa6Js\x0bU\xde\x22\ +'\x9f\x0cyb\x84\xf41\xbb\x11)l1P\xaea\ +\xd1rT\x7f6\x88\xb3\x04.\x05\x06\x10 T\xe7\x05\ +\x13\xac\x81\xdd#q\xa5jm`FI\xb7\xb6'\xf9\ +\xf1T)\xffu\x8aw\xf9\xd6\xc0\xbc\xb5k\xd7r\xec\ +\xa6\x06\xe9$\xf9.!\xdd\x00\xde\x87\x064\xf0\xf0\x0e\ +\xcd\x8c\xeemZ\x80-*9\xbb\xc7\xde\x10\xe7\x87\x0d\ +\x08\xf1K\x8e\xa7\xba\x1e\x8cp\xc6\x0fS\x00\xc5\xf19\ +k\xc8\x98\xef m\x00c=+N*@\xd6\xf6=\ +@\xf5\xbc\x01\xba\xa0\x01 o\x15\xf9\xdb[\xff\x14\xed\ +\xc7\xb6|\xf5\xa5\xbd\xea\xfd\xd9\xc0\xdfJ\x9bN\x12\x8f\ +\x0eQH\x15\xa2\xf3i34\xd1y\x9fd\xc7F\xe6\ +gh3)\xe2}K]\x01\xf8\xee\xbb\xef\x86\x22Y\ +\x00\xd1\xd0\xb3\x11I\xfe[\x8c\x81\x9bdZl\xca\x22\ +\xf9\xd8\x9b\xaf\xeb\xed,nM\x0fa~\xa8\x90(\x8f\ +\xb8\xecn\xea\xb5\xa4y\x86\xef\x91\xd8pi\xb9f\x82\ +\xcf\xf0\x0b\xb6\xe7\x83#1W\xfd\xc7\x85\xf8\xfb\x86/\ +c\xa8\xad\x18R\xea\x08oy(\x08_\xef_X\x04\ +\x832\xe2U\xe2e\x12/?\x10D|\x1b\x8f\xcf\xf2\ +i\xae\xcd\xf8>\x82&8\x95\x01\xe8\xd4Xcz\xd0\ +P\x13\x9d\xbfW\x80>\xf6\x1b\x88\xf1\xbe\xb8\xbc\x88\xa9\ +\x8f\xc3A>\x09\xa0~l\x02\x83\xd0:\xc2\x9c.E\ +8\xfe:\xd6\xbb\xc0)~!\xfe\xf6~R,\xbc:\ +T\xf6\xf3@wY\xfc\xf0\x13\xfe\xcc\x8d\xf9y\xc9K\ +g4\xa0\xbe\x1d\xb6t$\x88\xf8_\xbc\xdb\x99\xdeO\ +s\xc3B\xb4\xd7e\xc8O\x90\x0e\xb4\x12\x1b\xefE\x7f\ +\x12\x7fq\xfa:\x0b\x81\xf1\xf7}\xd3\x02\xed\x96`f\ +n<\x83~}\x00A\xfd\xca\xefH\xb2\x10\x9d{\xfa\ +`\xdc\xb3P{\xcc\xb9\x16\xd7\xa7il4@\xec#\ +h\x04\xe3}\x0e\x9a\x03\x00B\x15\x99l\xf4\x9a\xe8\x18\ +\xa2\xfa\xeb\xb5@g!T\x07\x7fD\x07\xc54\x86\xdb\ +\xf8\xbf\xce\xa64\xfe_c\xe3\x00\x8c\x03\xf0\x11\xb7\xff\ +\x03\x7f\x19\x0a\xe4\xd7bc\xda\x00\x00\x00\x00IEN\ +D\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x1a\ +\x08\xdd\xe1\xa7\ +\x00a\ +\x00c\x00c\x00e\x00s\x00s\x00o\x00r\x00i\x00e\x00s\x00-\x00d\x00i\x00c\x00t\x00i\ +\x00o\x00n\x00a\x00r\x00y\x00.\x00p\x00n\x00g\ +\x00\x0d\ +\x0b4-\xe7\ +\x00a\ +\x00k\x00r\x00e\x00g\x00a\x00t\x00o\x00r\x00.\x00p\x00n\x00g\ +\x00\x07\ +\x0e\x95W\x87\ +\x00k\ +\x003\x00b\x00.\x00p\x00n\x00g\ +\x00\x0b\ +\x01\xad\xabG\ +\x00d\ +\x00i\x00g\x00i\x00k\x00a\x00m\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00n\x00\x00\x00\x00\x00\x01\x00\x00HE\ +\x00\x00\x01z\xe7\xee'\x05\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01z\xe7\xee'\x01\ +\x00\x00\x00:\x00\x00\x00\x00\x00\x01\x00\x00\x15\x18\ +\x00\x00\x01z\xe7\xee'\x01\ +\x00\x00\x00Z\x00\x00\x00\x00\x00\x01\x00\x00(%\ +\x00\x00\x01z\xe7\xee'\x05\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/widgets/animation/appchooser/digikam.png b/examples/widgets/animation/appchooser/digikam.png new file mode 100644 index 0000000000000000000000000000000000000000..9de9fb2f8034a9bae6f4c40ab2d1f713fcfaa08b GIT binary patch literal 3334 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

    Lw=Lwf(j=$lI zD8RLz`bICUO{e*iQz=*X&wx1mb!8UCXac7^JDi^!f4R55_OxDY4%>{$6`p&*@aX-; zvJf_2(Du6kMrB;C7%+vmM3}FV7vQp(1+n?pB!7JBFeTOtu7#7=k?Mw&5OJytfNg4vwSmoQXMr6e z^Zvmf5C(t{+83rJ_{-PDS->CukL3P)_B*QzeDYlk=%9PyFJE;K-Hda$^`wA%i%7v4CX9K4%TA#NI>1_WPaX98* Dz3E=J literal 0 HcmV?d00001 diff --git a/examples/widgets/animation/easing/doc/easing.rst b/examples/widgets/animation/easing/doc/easing.rst new file mode 100644 index 0000000..5061319 --- /dev/null +++ b/examples/widgets/animation/easing/doc/easing.rst @@ -0,0 +1,9 @@ +Easing Example +============== + +The Easing Curves example shows how to use easing curves to control the speed +of an animation. + +.. image:: easing.png + :width: 400 + :alt: Easing Screenshot diff --git a/examples/widgets/animation/easing/easing.py b/examples/widgets/animation/easing/easing.py new file mode 100644 index 0000000..f8cba00 --- /dev/null +++ b/examples/widgets/animation/easing/easing.py @@ -0,0 +1,221 @@ +# Copyright (C) 2010 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from enum import IntEnum +import sys + +from PySide6.QtCore import (Property, QEasingCurve, QObject, QPropertyAnimation, + QPoint, QPointF, QRect, QRectF, QSize, Qt) +from PySide6.QtGui import (QBrush, QColor, QIcon, QLinearGradient, QPainter, + QPainterPath, QPixmap) +from PySide6.QtWidgets import (QApplication, QGraphicsPixmapItem, + QGraphicsItem, QGraphicsScene, + QListWidgetItem, QWidget) + +from ui_form import Ui_Form + + +class PathType(IntEnum): + LINEAR_PATH = 0 + CIRCLE_PATH = 1 + + +class Animation(QPropertyAnimation): + def __init__(self, target, prop): + super().__init__(target, prop) + self.set_path_type(PathType.LINEAR_PATH) + + def set_path_type(self, pathType): + self._pathType = pathType + self._path = QPainterPath() + + def updateCurrentTime(self, currentTime): + if self._pathType == PathType.CIRCLE_PATH: + if self._path.isEmpty(): + end = self.endValue() + start = self.startValue() + self._path.moveTo(start) + self._path.addEllipse(QRectF(start, end)) + + dura = self.duration() + if dura == 0: + progress = 1.0 + else: + progress = (((currentTime - 1) % dura) + 1) / float(dura) + + eased_progress = self.easingCurve().valueForProgress(progress) + if eased_progress > 1.0: + eased_progress -= 1.0 + elif eased_progress < 0: + eased_progress += 1.0 + + pt = self._path.pointAtPercent(eased_progress) + self.updateCurrentValue(pt) + self.valueChanged.emit(pt) + else: + super(Animation, self).updateCurrentTime(currentTime) + + +# PySide6 doesn't support deriving from more than one wrapped class so we use +# composition and delegate the property. +class Pixmap(QObject): + def __init__(self, pix): + super().__init__() + + self.pixmap_item = QGraphicsPixmapItem(pix) + self.pixmap_item.setCacheMode(QGraphicsItem.DeviceCoordinateCache) + + def set_pos(self, pos): + self.pixmap_item.setPos(pos) + + def get_pos(self): + return self.pixmap_item.pos() + + pos = Property(QPointF, get_pos, set_pos) + + +class Window(QWidget): + def __init__(self, parent=None): + super().__init__(parent) + + self._iconSize = QSize(64, 64) + self._scene = QGraphicsScene() + + m_ui = Ui_Form() + m_ui.setupUi(self) + m_ui.easingCurvePicker.setIconSize(self._iconSize) + m_ui.easingCurvePicker.setMinimumHeight(self._iconSize.height() + 50) + m_ui.buttonGroup.setId(m_ui.lineRadio, 0) + m_ui.buttonGroup.setId(m_ui.circleRadio, 1) + + dummy = QEasingCurve() + m_ui.periodSpinBox.setValue(dummy.period()) + m_ui.amplitudeSpinBox.setValue(dummy.amplitude()) + m_ui.overshootSpinBox.setValue(dummy.overshoot()) + + m_ui.easingCurvePicker.currentRowChanged.connect(self.curve_changed) + m_ui.buttonGroup.idClicked.connect(self.path_changed) + m_ui.periodSpinBox.valueChanged.connect(self.period_changed) + m_ui.amplitudeSpinBox.valueChanged.connect(self.amplitude_changed) + m_ui.overshootSpinBox.valueChanged.connect(self.overshoot_changed) + + self._ui = m_ui + self.create_curve_icons() + + pix = QPixmap(':/qt-project.org/logos/pysidelogo.png') + self._item = Pixmap(pix) + self._scene.addItem(self._item.pixmap_item) + self._ui.graphicsView.setScene(self._scene) + + self._anim = Animation(self._item, b'pos') + self._anim.setEasingCurve(QEasingCurve.OutBounce) + self._ui.easingCurvePicker.setCurrentRow(0) + + self.start_animation() + + def create_curve_icons(self): + pix = QPixmap(self._iconSize) + + gradient = QLinearGradient(0, 0, 0, self._iconSize.height()) + gradient.setColorAt(0.0, QColor(240, 240, 240)) + gradient.setColorAt(1.0, QColor(224, 224, 224)) + + brush = QBrush(gradient) + + curve_types = [(f"QEasingCurve.{e.name}", e) for e in QEasingCurve.Type if e.value <= 40] + + + with QPainter(pix) as painter: + + for curve_name, curve_type in curve_types: + painter.fillRect(QRect(QPoint(0, 0), self._iconSize), brush) + curve = QEasingCurve(curve_type) + + painter.setPen(QColor(0, 0, 255, 64)) + x_axis = self._iconSize.height() / 1.5 + y_axis = self._iconSize.width() / 3.0 + painter.drawLine(0, x_axis, self._iconSize.width(), x_axis) + painter.drawLine(y_axis, 0, y_axis, self._iconSize.height()) + + curve_scale = self._iconSize.height() / 2.0 + + painter.setPen(Qt.NoPen) + + # Start point. + painter.setBrush(Qt.red) + start = QPoint(y_axis, + x_axis - curve_scale * curve.valueForProgress(0)) + painter.drawRect(start.x() - 1, start.y() - 1, 3, 3) + + # End point. + painter.setBrush(Qt.blue) + end = QPoint(y_axis + curve_scale, + x_axis - curve_scale * curve.valueForProgress(1)) + painter.drawRect(end.x() - 1, end.y() - 1, 3, 3) + + curve_path = QPainterPath() + curve_path.moveTo(QPointF(start)) + t = 0.0 + while t <= 1.0: + to = QPointF(y_axis + curve_scale * t, + x_axis - curve_scale * curve.valueForProgress(t)) + curve_path.lineTo(to) + t += 1.0 / curve_scale + + painter.setRenderHint(QPainter.Antialiasing, True) + painter.strokePath(curve_path, QColor(32, 32, 32)) + painter.setRenderHint(QPainter.Antialiasing, False) + + item = QListWidgetItem() + item.setIcon(QIcon(pix)) + item.setText(curve_name) + self._ui.easingCurvePicker.addItem(item) + + def start_animation(self): + self._anim.setStartValue(QPointF(0, 0)) + self._anim.setEndValue(QPointF(100, 100)) + self._anim.setDuration(2000) + self._anim.setLoopCount(-1) + self._anim.start() + + def curve_changed(self, row): + curve_type = QEasingCurve.Type(row) + self._anim.setEasingCurve(curve_type) + self._anim.setCurrentTime(0) + + is_elastic = (curve_type.value >= QEasingCurve.InElastic.value + and curve_type.value <= QEasingCurve.OutInElastic.value) + is_bounce = (curve_type.value >= QEasingCurve.InBounce.value + and curve_type.value <= QEasingCurve.OutInBounce.value) + + self._ui.periodSpinBox.setEnabled(is_elastic) + self._ui.amplitudeSpinBox.setEnabled(is_elastic or is_bounce) + self._ui.overshootSpinBox.setEnabled(curve_type.value >= QEasingCurve.InBack.value + and curve_type.value <= QEasingCurve.OutInBack.value) + + def path_changed(self, index): + self._anim.set_path_type(index) + + def period_changed(self, value): + curve = self._anim.easingCurve() + curve.setPeriod(value) + self._anim.setEasingCurve(curve) + + def amplitude_changed(self, value): + curve = self._anim.easingCurve() + curve.setAmplitude(value) + self._anim.setEasingCurve(curve) + + def overshoot_changed(self, value): + curve = self._anim.easingCurve() + curve.setOvershoot(value) + self._anim.setEasingCurve(curve) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + w = Window() + w.resize(600, 600) + w.show() + sys.exit(app.exec()) diff --git a/examples/widgets/animation/easing/easing.pyproject b/examples/widgets/animation/easing/easing.pyproject new file mode 100644 index 0000000..416b997 --- /dev/null +++ b/examples/widgets/animation/easing/easing.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["easing.py", "form.ui"] +} diff --git a/examples/widgets/animation/easing/form.ui b/examples/widgets/animation/easing/form.ui new file mode 100644 index 0000000..364aebe --- /dev/null +++ b/examples/widgets/animation/easing/form.ui @@ -0,0 +1,270 @@ + + + Form + + + + 0 + 0 + 545 + 471 + + + + Easing curves + + + + + + + 0 + 0 + + + + + 16777215 + 120 + + + + Qt::ScrollBarAlwaysOff + + + QListView::Static + + + false + + + QListView::IconMode + + + false + + + + + + + + + + 16777215 + 16777215 + + + + Path type + + + + + + + 16777215 + 40 + + + + Qt::LeftToRight + + + Line + + + true + + + buttonGroup + + + + + + + + 16777215 + 40 + + + + Circle + + + buttonGroup + + + + + + + + + + + 0 + 0 + + + + Properties + + + + QFormLayout::AllNonFixedFieldsGrow + + + + + + 0 + 0 + + + + + 0 + 30 + + + + Period + + + + + + + false + + + + 0 + 0 + + + + + 0 + 30 + + + + -1.000000000000000 + + + 0.100000000000000 + + + -1.000000000000000 + + + + + + + false + + + + 0 + 30 + + + + -1.000000000000000 + + + 0.100000000000000 + + + -1.000000000000000 + + + + + + + + 0 + 30 + + + + Overshoot + + + + + + + false + + + + 0 + 30 + + + + -1.000000000000000 + + + 0.100000000000000 + + + -1.000000000000000 + + + + + + + + 0 + 30 + + + + Amplitude + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + diff --git a/examples/widgets/animation/easing/ui_form.py b/examples/widgets/animation/easing/ui_form.py new file mode 100644 index 0000000..0ff7a15 --- /dev/null +++ b/examples/widgets/animation/easing/ui_form.py @@ -0,0 +1,178 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'form2.ui' +## +## Created by: Qt User Interface Compiler version 6.4.0 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QApplication, QButtonGroup, QDoubleSpinBox, QFormLayout, + QGraphicsView, QGridLayout, QGroupBox, QLabel, + QListView, QListWidget, QListWidgetItem, QRadioButton, + QSizePolicy, QSpacerItem, QVBoxLayout, QWidget) + +class Ui_Form(object): + def setupUi(self, Form): + if not Form.objectName(): + Form.setObjectName(u"Form") + Form.resize(545, 471) + self.gridLayout = QGridLayout(Form) + self.gridLayout.setObjectName(u"gridLayout") + self.easingCurvePicker = QListWidget(Form) + self.easingCurvePicker.setObjectName(u"easingCurvePicker") + sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.easingCurvePicker.sizePolicy().hasHeightForWidth()) + self.easingCurvePicker.setSizePolicy(sizePolicy) + self.easingCurvePicker.setMaximumSize(QSize(16777215, 120)) + self.easingCurvePicker.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + self.easingCurvePicker.setMovement(QListView.Static) + self.easingCurvePicker.setProperty("isWrapping", False) + self.easingCurvePicker.setViewMode(QListView.IconMode) + self.easingCurvePicker.setSelectionRectVisible(False) + + self.gridLayout.addWidget(self.easingCurvePicker, 0, 0, 1, 2) + + self.verticalLayout = QVBoxLayout() + self.verticalLayout.setObjectName(u"verticalLayout") + self.groupBox_2 = QGroupBox(Form) + self.groupBox_2.setObjectName(u"groupBox_2") + self.groupBox_2.setMaximumSize(QSize(16777215, 16777215)) + self.gridLayout_2 = QGridLayout(self.groupBox_2) + self.gridLayout_2.setObjectName(u"gridLayout_2") + self.lineRadio = QRadioButton(self.groupBox_2) + self.buttonGroup = QButtonGroup(Form) + self.buttonGroup.setObjectName(u"buttonGroup") + self.buttonGroup.addButton(self.lineRadio) + self.lineRadio.setObjectName(u"lineRadio") + self.lineRadio.setMaximumSize(QSize(16777215, 40)) + self.lineRadio.setLayoutDirection(Qt.LeftToRight) + self.lineRadio.setChecked(True) + + self.gridLayout_2.addWidget(self.lineRadio, 0, 0, 1, 1) + + self.circleRadio = QRadioButton(self.groupBox_2) + self.buttonGroup.addButton(self.circleRadio) + self.circleRadio.setObjectName(u"circleRadio") + self.circleRadio.setMaximumSize(QSize(16777215, 40)) + + self.gridLayout_2.addWidget(self.circleRadio, 1, 0, 1, 1) + + + self.verticalLayout.addWidget(self.groupBox_2) + + self.groupBox = QGroupBox(Form) + self.groupBox.setObjectName(u"groupBox") + sizePolicy1 = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Preferred) + sizePolicy1.setHorizontalStretch(0) + sizePolicy1.setVerticalStretch(0) + sizePolicy1.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth()) + self.groupBox.setSizePolicy(sizePolicy1) + self.formLayout = QFormLayout(self.groupBox) + self.formLayout.setObjectName(u"formLayout") + self.formLayout.setFieldGrowthPolicy(QFormLayout.AllNonFixedFieldsGrow) + self.label = QLabel(self.groupBox) + self.label.setObjectName(u"label") + sizePolicy2 = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) + sizePolicy2.setHorizontalStretch(0) + sizePolicy2.setVerticalStretch(0) + sizePolicy2.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) + self.label.setSizePolicy(sizePolicy2) + self.label.setMinimumSize(QSize(0, 30)) + + self.formLayout.setWidget(0, QFormLayout.LabelRole, self.label) + + self.periodSpinBox = QDoubleSpinBox(self.groupBox) + self.periodSpinBox.setObjectName(u"periodSpinBox") + self.periodSpinBox.setEnabled(False) + sizePolicy3 = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) + sizePolicy3.setHorizontalStretch(0) + sizePolicy3.setVerticalStretch(0) + sizePolicy3.setHeightForWidth(self.periodSpinBox.sizePolicy().hasHeightForWidth()) + self.periodSpinBox.setSizePolicy(sizePolicy3) + self.periodSpinBox.setMinimumSize(QSize(0, 30)) + self.periodSpinBox.setMinimum(-1.000000000000000) + self.periodSpinBox.setSingleStep(0.100000000000000) + self.periodSpinBox.setValue(-1.000000000000000) + + self.formLayout.setWidget(0, QFormLayout.FieldRole, self.periodSpinBox) + + self.amplitudeSpinBox = QDoubleSpinBox(self.groupBox) + self.amplitudeSpinBox.setObjectName(u"amplitudeSpinBox") + self.amplitudeSpinBox.setEnabled(False) + self.amplitudeSpinBox.setMinimumSize(QSize(0, 30)) + self.amplitudeSpinBox.setMinimum(-1.000000000000000) + self.amplitudeSpinBox.setSingleStep(0.100000000000000) + self.amplitudeSpinBox.setValue(-1.000000000000000) + + self.formLayout.setWidget(2, QFormLayout.FieldRole, self.amplitudeSpinBox) + + self.label_3 = QLabel(self.groupBox) + self.label_3.setObjectName(u"label_3") + self.label_3.setMinimumSize(QSize(0, 30)) + + self.formLayout.setWidget(4, QFormLayout.LabelRole, self.label_3) + + self.overshootSpinBox = QDoubleSpinBox(self.groupBox) + self.overshootSpinBox.setObjectName(u"overshootSpinBox") + self.overshootSpinBox.setEnabled(False) + self.overshootSpinBox.setMinimumSize(QSize(0, 30)) + self.overshootSpinBox.setMinimum(-1.000000000000000) + self.overshootSpinBox.setSingleStep(0.100000000000000) + self.overshootSpinBox.setValue(-1.000000000000000) + + self.formLayout.setWidget(4, QFormLayout.FieldRole, self.overshootSpinBox) + + self.label_2 = QLabel(self.groupBox) + self.label_2.setObjectName(u"label_2") + self.label_2.setMinimumSize(QSize(0, 30)) + + self.formLayout.setWidget(2, QFormLayout.LabelRole, self.label_2) + + + self.verticalLayout.addWidget(self.groupBox) + + self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) + + self.verticalLayout.addItem(self.verticalSpacer) + + + self.gridLayout.addLayout(self.verticalLayout, 1, 0, 1, 1) + + self.graphicsView = QGraphicsView(Form) + self.graphicsView.setObjectName(u"graphicsView") + sizePolicy4 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) + sizePolicy4.setHorizontalStretch(0) + sizePolicy4.setVerticalStretch(0) + sizePolicy4.setHeightForWidth(self.graphicsView.sizePolicy().hasHeightForWidth()) + self.graphicsView.setSizePolicy(sizePolicy4) + + self.gridLayout.addWidget(self.graphicsView, 1, 1, 1, 1) + + + self.retranslateUi(Form) + + QMetaObject.connectSlotsByName(Form) + # setupUi + + def retranslateUi(self, Form): + Form.setWindowTitle(QCoreApplication.translate("Form", u"Easing curves", None)) + self.groupBox_2.setTitle(QCoreApplication.translate("Form", u"Path type", None)) + self.lineRadio.setText(QCoreApplication.translate("Form", u"Line", None)) + self.circleRadio.setText(QCoreApplication.translate("Form", u"Circle", None)) + self.groupBox.setTitle(QCoreApplication.translate("Form", u"Properties", None)) + self.label.setText(QCoreApplication.translate("Form", u"Period", None)) + self.label_3.setText(QCoreApplication.translate("Form", u"Overshoot", None)) + self.label_2.setText(QCoreApplication.translate("Form", u"Amplitude", None)) + # retranslateUi + diff --git a/examples/widgets/animation/states/doc/states.png b/examples/widgets/animation/states/doc/states.png new file mode 100644 index 0000000000000000000000000000000000000000..37fb0c3c9c488a70448659d0c4bd8b39908c3422 GIT binary patch literal 21700 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 U>;%mJece%3(2y^eeH--O0NMz9Q~&?~ literal 0 HcmV?d00001 diff --git a/examples/widgets/desktop/screenshot/doc/screenshot.rst b/examples/widgets/desktop/screenshot/doc/screenshot.rst new file mode 100644 index 0000000..48f00b6 --- /dev/null +++ b/examples/widgets/desktop/screenshot/doc/screenshot.rst @@ -0,0 +1,8 @@ +Screenshot Example +================== + +The Screenshot example shows how to take a screenshot of the desktop. + +.. image:: screenshot.png + :width: 373 + :alt: Screenshot program screenshot diff --git a/examples/widgets/desktop/screenshot/screenshot.py b/examples/widgets/desktop/screenshot/screenshot.py new file mode 100644 index 0000000..a5688da --- /dev/null +++ b/examples/widgets/desktop/screenshot/screenshot.py @@ -0,0 +1,156 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the widgets/desktop/screenshot example from Qt v6.x""" + +import sys + +from PySide6.QtCore import (QDir, QPoint, QRect, QStandardPaths, Qt, QTimer, + Slot) +from PySide6.QtGui import QGuiApplication, QImageWriter +from PySide6.QtWidgets import (QApplication, QCheckBox, QDialog, QFileDialog, + QGridLayout, QGroupBox, QHBoxLayout, QLabel, + QMessageBox, QPushButton, QSizePolicy, QSpinBox, + QVBoxLayout, QWidget) + + +class Screenshot(QWidget): + def __init__(self): + super().__init__() + + self.screenshot_label = QLabel(self) + + self.screenshot_label.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) + self.screenshot_label.setAlignment(Qt.AlignCenter) + + screen_geometry: QRect = self.screen().geometry() + self.screenshot_label.setMinimumSize( + screen_geometry.width() / 8, screen_geometry.height() / 8 + ) + + main_layout = QVBoxLayout(self) + main_layout.addWidget(self.screenshot_label) + + options_group_box = QGroupBox("Options", self) + self.delay_spinbox = QSpinBox(options_group_box) + self.delay_spinbox.setSuffix(" s") + self.delay_spinbox.setMaximum(60) + + self.delay_spinbox.valueChanged.connect(self.update_checkbox) + + self.hide_this_window_checkbox = QCheckBox("Hide This Window", options_group_box) + + options_group_box_layout = QGridLayout(options_group_box) + options_group_box_layout.addWidget(QLabel("Screenshot Delay:", self), 0, 0) + options_group_box_layout.addWidget(self.delay_spinbox, 0, 1) + options_group_box_layout.addWidget(self.hide_this_window_checkbox, 1, 0, 1, 2) + + main_layout.addWidget(options_group_box) + + buttons_layout = QHBoxLayout() + self.new_screenshot_button = QPushButton("New Screenshot", self) + self.new_screenshot_button.clicked.connect(self.new_screenshot) + buttons_layout.addWidget(self.new_screenshot_button) + save_screenshot_button = QPushButton("Save Screenshot", self) + save_screenshot_button.clicked.connect(self.save_screenshot) + buttons_layout.addWidget(save_screenshot_button) + quit_screenshot_button = QPushButton("Quit", self) + quit_screenshot_button.setShortcut(Qt.CTRL | Qt.Key_Q) + quit_screenshot_button.clicked.connect(self.close) + buttons_layout.addWidget(quit_screenshot_button) + buttons_layout.addStretch() + main_layout.addLayout(buttons_layout) + + self.shoot_screen() + self.delay_spinbox.setValue(5) + + self.setWindowTitle("Screenshot") + self.resize(300, 200) + + def resizeEvent(self, event): + scaled_size = self.original_pixmap.size() + scaled_size.scale(self.screenshot_label.size(), Qt.KeepAspectRatio) + if scaled_size != self.screenshot_label.pixmap().size(): + self.update_screenshot_label() + + @Slot() + def new_screenshot(self): + if self.hide_this_window_checkbox.isChecked(): + self.hide() + self.new_screenshot_button.setDisabled(True) + + QTimer.singleShot(self.delay_spinbox.value() * 1000, self.shoot_screen) + + @Slot() + def save_screenshot(self): + fmt = "png" # In order to avoid shadowing built-in format + initial_path = QStandardPaths.writableLocation(QStandardPaths.PicturesLocation) + if not initial_path: + initial_path = QDir.currentPath() + initial_path += f"/untitled.{fmt}" + + fileDialog = QFileDialog(self, "Save As", initial_path) + fileDialog.setAcceptMode(QFileDialog.AcceptSave) + fileDialog.setFileMode(QFileDialog.AnyFile) + fileDialog.setDirectory(initial_path) + mime_types = [] + + for bf in QImageWriter.supportedMimeTypes(): + mime_types.append(bf.data().decode("utf8")) + fileDialog.setMimeTypeFilters(mime_types) + fileDialog.selectMimeTypeFilter("image/" + fmt) + fileDialog.setDefaultSuffix(fmt) + if fileDialog.exec() != QDialog.Accepted: + return + + file_name = fileDialog.selectedFiles()[0] + if not self.original_pixmap.save(file_name): + path = QDir.toNativeSeparators(file_name) + QMessageBox.warning( + self, + "Save Error", + f"The image could not be saved to {path}.", + ) + + def shoot_screen(self): + screen = QGuiApplication.primaryScreen() + window = self.windowHandle() + if window: + screen = window.screen() + if not screen: + return + + if self.delay_spinbox.value() != 0: + QApplication.beep() + + self.original_pixmap = screen.grabWindow(0) + self.update_screenshot_label() + + self.new_screenshot_button.setDisabled(False) + if self.hide_this_window_checkbox.isChecked(): + self.show() + + @Slot() + def update_checkbox(self): + if self.delay_spinbox.value() == 0: + self.hide_this_window_checkbox.setDisabled(True) + self.hide_this_window_checkbox.setChecked(False) + else: + self.hide_this_window_checkbox.setDisabled(False) + + def update_screenshot_label(self): + self.screenshot_label.setPixmap( + self.original_pixmap.scaled( + self.screenshot_label.size(), + Qt.KeepAspectRatio, + Qt.SmoothTransformation, + ) + ) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + screenshot = Screenshot() + screenshot.move(screenshot.screen().availableGeometry().topLeft() + QPoint(20, 20)) + screenshot.show() + sys.exit(app.exec()) diff --git a/examples/widgets/desktop/screenshot/screenshot.pyproject b/examples/widgets/desktop/screenshot/screenshot.pyproject new file mode 100644 index 0000000..d4bdb4d --- /dev/null +++ b/examples/widgets/desktop/screenshot/screenshot.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["screenshot.py"] +} diff --git a/examples/widgets/desktop/systray/images/bad.png b/examples/widgets/desktop/systray/images/bad.png new file mode 100644 index 0000000000000000000000000000000000000000..c8701a241a458d257e2e71c3d1af06007927fb86 GIT binary patch literal 2496 zcmZ`*cQ_S_8-A@EBxGb|ud^)M5P!1g#**la`B%_oOp(0tiX^3klA>AVs zHx<>vEpci1xqscie(&>s@B4h?&+mJl@2riL87I3iI{;4d0g~OO7jH%bfoW3{+MRSa zjUmL&%ouggMCUgXHtGS_kj>#g{|yFXg)0%8Mb=QVr3vdK6B}VCktAnz17IArv2ZZi zZ2dnlFo2N(OpIV=1Pc?kY?2wQ%pkCUjRovmz`=^Gtl%VI8v$Hw;ARI8JGOIxmjirT z!OsZ+PVCqQ!EF%Yf-pBkxFO1eojefR4sl*c@IsOgQhbo+hl~JZ1t7Nr@;jg)h+RV1 zEd)hjC<#MZ1S+CX6$No8)OO-GF{q0}LmZkC(2{_*By^;pD+N7i?2*P^8R*NxKoM8c^E5TzXC|RV6qFQyJ4mXvJws|!CV;@DzH?6l`5=NVMBzi8tl|y{~H|D;j94{ zO}J{pO$&##;jWFtIyj;O4_$cb!AlR`dvHu2eg^P2!0~-JVTb@jP>c|0gdk&_+z;x0 z1d|YAf>2Y0nIhZ_r_B&aMid#*2NAPLbHth>&I0ikNU%hrC6cU=Y>gCaq}m|O7U_04 zXO9efWIN)#6LOq!(FJ*~xa5j_HxwR1kvocy;OY@v^FWCQNo-kKZ=T@sPx7S zA5{6^rY~;$q1GRFj-&nr?w&wH02%|(L_u>PS_07;g!@#qQSl%c4}L9V=)|ykvNRT<3&8i67Vtse|gGVB035pznTaAxwH;v&L}L+>ErO*}CWeY_TJgj2t3f(TmqS@*MfPYj67s20GZZ zGyieMgyjimpUrTuyBmLVmrTFLfX2YV!TymKcAKivuzj%K;;zI60?FQR#d3wgw8-oI z)p*I5h3^h8oLV53JQx}(UX3e?e6xD(YjH@G$3B(+;5@eTbX)p*M*CFFDW0jWnV?;* zKHeoa4Fy!XMyhtdrHW>EK6z4fSg?*bYxY-VSmsQ>vBN9-6pHJkJ%t^PDJ>g=7t~3V z9jUh*t_XEFo(T(zTX@V~HKQDN?L>&wX%vBk3*xKU5_33%5mVax$U|ZgEMb096 zaa!P9V_-d1TRixH%fk_#@n=!AGz0IHlz>B`XD~c8e|L)(gcr~$o zo-0@iMeH z!D>EXS4);vv7}g{mPekl?R8PTnqtNv`P|=msFo>o5zd4DE<$RPDx^=c_3erD^exI7 ztqI%<-ag(6_0O~E0h}lNZ47uO<23IF@;mr+hPxz-318T}Pwr&PO7`YQk&i+<*}e@u zN!@d<*>KNc-C?uWYf?kqDdsP#iJEuI_bjVx230SobJzS`RtYS+&^9WNI-+qnHFV>gAX*=9Cmea&M0{XLsw9m-z?88 zYs@>lT{CH7FPZqpveb*}&#uWbhm-d6F}2W~B&4fm;;1c^TZkODeT9h=rdC#Dsn6GhfyzA7aY~i)p9$F&T-L2;O8l@-ZF41c#g)y>f&Nlv@^=!XdJ6 zYsQ_f6g6vP^w>7k@(OAtXC&9qj_?<@41evmsSo59rN}l?u3Ej~L1qlm##U_Pw7n>AA_r%SmXesH8o|t4Y z^;!Axy~H!k*XwmiN7MtBnBSsLe&QmYOtbi0-q96WZJI7@*OHj+=$Ri`9=aq)?BOT#_4cb?XLvIzpySaynx&erVUQ9=yQCR@ zJc5!i*=?`n?ay|nw;`6r)*)U#wobBw^s<`oWq+$~n&;1_8R_)cGN~Q?`|4u#cl)-P(H*>5nTy~<}eaLe1o8P+2;WsCI4!L$8t9~mo zYneOnkRI|WCy-g__Ibi>{=%k$y5+5=PrJPvb)~pZ`o1Vs{4Csicjvh2^-n?_=hf8$ zjthikx(yDyE{&~|ds!Ra=r6}KZJ`~hBKVC+8q|!Qrb+&zAq_$mLcS!S@aW@iO$WLsmeVj2D{ww*m`+wNj|C6Jr(ml>B*wgsm Omx^p+MXEFQO!^xC;V-$kf%K1|ZNK^z9!J0r1Jg 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 H-GBUl5R*?B literal 0 HcmV?d00001 diff --git a/examples/widgets/desktop/systray/images/trash.png b/examples/widgets/desktop/systray/images/trash.png new file mode 100644 index 0000000000000000000000000000000000000000..4c24db926d6fedc7cfe2b92a9b62c8aecd25f8be GIT binary patch literal 12128 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 literal 0 HcmV?d00001 diff --git a/examples/widgets/desktop/systray/main.py b/examples/widgets/desktop/systray/main.py new file mode 100644 index 0000000..c52c513 --- /dev/null +++ b/examples/widgets/desktop/systray/main.py @@ -0,0 +1,21 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtWidgets import QApplication, QMessageBox, QSystemTrayIcon + +from window import Window + +if __name__ == "__main__": + app = QApplication() + + if not QSystemTrayIcon.isSystemTrayAvailable(): + QMessageBox.critical(None, "Systray", "I couldn't detect any system tray on this system.") + sys.exit(1) + + QApplication.setQuitOnLastWindowClosed(False) + + window = Window() + window.show() + sys.exit(app.exec()) diff --git a/examples/widgets/desktop/systray/rc_systray.py b/examples/widgets/desktop/systray/rc_systray.py new file mode 100644 index 0000000..9a6dec3 --- /dev/null +++ b/examples/widgets/desktop/systray/rc_systray.py @@ -0,0 +1,2581 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.2.2 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00d\xb4\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x02\xe8\x00\x00\x02\xe8\x08\x06\x00\x00\x00*Z\x00\x90\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x09pHYs\x00\x00\x0d\xd7\x00\x00\x0d\xd7\x01B(\ +\x9bx\x00\x00\x00\x07tIME\x07\xdc\x03\x09\x08\x1e\ +4hf\xd9|\x00\x00\x00\x06bKGD\x00\xff\x00\ +\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00d4IDATx\ +\xda\xec\x9d\x07\xb8U\xc5\xb9\xbf\xf7i\x1c\x0e\xe7\xd0\xcb\ +\x01Tz\x95\xa6 \xbd\x8b\x14E@\x10Q\x14\xa4\x05\ +\x14\x14\x14AAD\xaaT\xe9\xe7h\xd4\xab&\xc6$\ +\xb6\xc4DM\xa2&\x1a{\x895\xb1w\x05\xd9k\xa7\ +\xdc\x14M\x8c\xc66\xf7\x1b\xf6J\x82W\x84\xb5\xf6\xd9\ +k\xd6\xac\xb5\xdf\xf7y\xde\xe7\xb9\xf7\x7f\xff\xf7F\xcf\ +\x9e\xf9\xe6\xb7g\xcf|\x93H\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00@.Q(\xd6um\x22\xb6\x12;\x8a=\xc4\ +>\xe2q\xe2(\xf1x\xf7\xbf\xd6\xf6u\xff\xe7\xda\xa3\ +\xdc\xff\x9dz\xee\xff-\x00\x80\xaaRM\xac\xef\xd6\x96\ +\xee\xfb\xd5\x9b~\xfb\xd5\xa1\xd1\xe2\x08\xf7\xbf\xee\xed\xfe\ +\xcf\xdb\xbb\xff;\x8d\xf7\xabk\xf9\xfc9\x01\x00\xc0\x06\ +j\x8a\xdd\xc4\x93\xc4\x05\xe2*\xb1B\xfc\x81x\x8f\xf8\ +\x94\xf8\x8e\xf8\x81\xa8\xb2\xec?\xc5\xdf\x8bo\x8a\x0f\x8a\ +7\x89;\xc5\xe5\xe2,q\x8c\xbb\x90\xd6\xe3c\x02\xc8\ +)\x1a\x89\xbd\xc4\xb1\xe2\x1cq\x85[\x97n\x13\x1f\x16\ +\xdf\x12\xff(~\x1c@]\xfa\x8b[\x93~#\xfeB\ +\xfc\xbe[\x97V\x8a\xe7\xbau\xa9\x93X\x83\x8f\x09\x00\ +\x00\xaaB\xb3Dz\xf7h\xb6\xb8^\xbc\xd9]|\xfe\ +\x14\xc0\xe2\x16\x94\x1f\x8a/\x88w\x8a\xbb\xc4\x0b\xc4\x13\ +\xc4\xe6|\xbc\x00\x91C\xefT\xb7\x16\xc7\x89\x17\x8aW\ +\x88?\x17_\x16?\x8aP]J\x89\x8f\xbb\x1b\x1ak\ +\xc5\x99\xe2\xb1\x89\xf4/\x8c\x00\x00\x00\xfb\xa8\x9eH\xef\ +8\xebEB\xef\xf8<\x90H\xef\x06\xa9\x98\xfb\x81\xbb\ +H^\x93H\xff\x0a\xa0\x7f\xc6\xae\xc3p\x00\xb0\x82\x86\ +\x89\xf4\xd1\xb7E\xe2\xf5\x89\xf4\xafr\xff\xc8\x81\xba\xa4\ +w\xf8\x7f%^.N\x15\xbb\x8aE\x0c\x07\x00\x80x\ +\x93\x97H\xff\xcc\xaaw\xc5\xbf#\xbe$~\x96\x03\x8b\ +\x9eW\xbf\x14_\x17otC\xbb>\x0b_\xca\xb0\x01\ +\x08\x94Z\xe2 q\xb1x\x8b\xf8.\xb5\xe8+\xfeK\ +|\xde\xddL\x98&\xb6e\xc8\x00\x00D\x1b}\x09J\ +\x9f}\xdc(>\x9a#;PA\xf8\xb6x\xb5x\xa6\ +x\x04\xc3\x0a\xa0J\xb4H\xa4\xcf\x88\x7f\xcf\x9d[\xd4\ +\x18\xff\xfe\xdd\xad\xe9\x1b\xdd\x1a\xcf\xaf\x7f\x00\x00\x16\xa3\ +;\x13\xe8\xb3\x8c\x9b\xc5\xa7\x13\xec\x8e\x07\xe1\xe7\xe2\xb3\ +\x89\xf4O\xd0\xfaXLu\x86\x1d\xc0A)sC\xa4\ +\xbe\xb0\xa9\x7f\xb5\xfb\x92:\x92u?\x11\x1fK\xa4\xcf\ +\xb4\xeb_\xfe\x0a\x18v\x00\x00\xe1\xa2\xcf\x8f/I\xa4\ +\xcf-\x06\xd1\x9d\x00\x0f\x1d\xd8\x9fqw\xb2t`\xa7\ +\x15$\xb0Q\x90\x9e\x0b\x1b\xdd\xb9\xf1\x05u\xc2\xb8\x1f\ +\xb9k\xc2y\x09.\xc5\x03\x00\x18A\x9f#\xd7\xad\xc4\ +6\x89/\xb2\x10Y\xe7\x1eq\x878 A\x7fd\xc8\ +\x1d\x0a\xddP~U\x22\xdd\x06\x95Z`\x8f_\xb8_\ +\x94V\x8b]\x18\xaa\x00\x00\xd9\xe5\x98D\xfa\xe8\x0a\x17\ +\xa8\xa2\xa3#V\x8aC\x13\xfc\xe4\x0c\xf1C\xef\x94\xeb\ +\x07\xc6\xae\x15\xff\x97\xf9\x1e\x19_u\xc3z'\x860\ +\x00@f\xe8\x17\xee\xf4\xcf\xc4\x5c\xa4\x8aG\xfb4\x1d\ +\xd6\xf5\xf9\xd0<\x866D\x14\xfd\xab\xd0\xb0D\xba\xf5\ +\xe1\xdf\x98\xd7\x91W\xf7\x90\xd7\x8f)udh\x03\x00\ +\x1c\x9c\x96\x89\xf4E\x9f7Y\ +\x7f\xde\xa9\ +\xef\xce\x943\x1d\x01\xc0$\xba\xe8\x5c\xe1\xee\x16P\x8c\ +\xd1\x06?I\xa4/\xfe5dz\xe6,\xfaK\xda\xf5\ +\xee\x976\xe6\x04\xda\xe0?\xc4\x8d\x89t\xc7 \x00\x80\ +\xc0\xa8\x96H\xb7%\xe3\x11\x0f\xb4\xf9\xd2\xd6j\xb1\x8c\ +\xe9\x9a3\xd4w\xbf\x9c}\xc2\xf8GK\xfd\xbd8[\ +,`\xba\x02@\xb6\x19\x9fH\xf7\xa6\xa6\xd8b\x14\xdc\ ++NI\xa4\x1f\xc7\x82x\xa2\x1f\x18:G\xfc3\xe3\ +\x1d#\xe2\xef\xc4c\x99\xba\x00\x90\x0dtk\xb2_S\ +X1\xa2>&\x1e\xc34\x8e\x1dC\xc5\x17\x18\xdf\x18\ +Q\xf5\xcb\xa4m\x99\xc6\x00\x90\x09\xfa\x9c\xb9\xeeeN\ +g\x16\x8cC\xc7\x17}\x99\xb91\xd3:\xf2\xe8~\xd3\ +\xb71\xa61\x06\xea;\x5c[\x13\xb82\xb8U\x03\xb1\xbd8@\x9c \xce\x16\x97\ +\x89\xdb\xc5k\xdd\x9ar\xb7\xf8\xa8[k\x0eV\x8b\x9e\ +\xd9\xafn\xdd\xbb_=\xbbI\xbcB\x5c+.\x14\xcf\ +\x14O\x10\xfb\x88\xad\xc5b>\x0b\xaf:\xe2D\xa68\ +\x00\x1c\x0c\xa9\xe9\x89\x87(\x98_\xb5\x898D\x9c!\ +\xaep\xc3\xf2/\xc4\x17D\xc7\x12\xdf\x16\xef\x17\xaf\x17\ +W\xba_\x14\x06\x89\x87\xf1\xf9\x1d\xc8\x07\x12\xfc\xbc\x1c\ +%\xba\x8b\xcf1n\xffk\xbe\xd8L:~\x8b\xa1\x9e3\xe3(\x1f\x811^\xfcs\ +\x9c~\xc1\xeb\xeb^p|\x95\xba\x10\xba\xbf\x16\xcf\x13\ +[\xc4\xaf.\xbd\x9fH\xbf\xa4\x0b\x00\x11\xa6\x9axe\ +\x5c\x0aSC\xf7<\xf4\x83,>\xd6\xfa\x98\xb8(^\ +gC\xbf\x14+\x13\x5c\xd4\xca&\xa5q\xaaK-\xdd\ +3\xe5O3\xff\xad\xf5\x1e\xb7_|\xedx\xbd\x8e\xbc\ +:A;F\x80H\xa2\x7f\x9e\x7f\x22\x0e\xbbR\x83\xdc\ +\xc7\x81v\xb3\xd0D\xeal\xa8\xbe\xc8u\x5c|\xda7\ +\xea\xc7\x8d\xca)+U\xa6\x83\xf8j\xd4\xc7\x83n\x87\ +8\xd6\xed\xe3\xcd]\x97h]|\xd7\xefA\xf4\x8aO\ +P\xff\x99X\x97\xb2\x02\x10\x1d\x86\x88\x7f\x88r\xe1)\ +w{\x01?\xc1\xa2\x12y\xf5\xce\xe2\x05\xf1\xd8U\xdf\ ++\xf6\xa3\xbcd\x8c>\xd2\xf2a\xd4w\xcb\x97\xd3\xa6\ +5\x16>\xe8\xb6\xdd\xad\x1b\xfd\xba\xf4\x96\xd8\x8d\xf2\x02\ +`7\xfa\xe7\xae\x8d\x89\xf4\xcf\xf2\x91,6\xc7\xb8;\ +\xaf{\xa3\xfc\xd8Fa\xa1J\xd5\xae\xadRM\x9b*\ +\xa7m[\xe5t\xeb\xa6\x92\xfd\xfa)g\xc4\x08\xe5\x8c\ +\x1b\x97v\xd2$\xe5L\x9e\xac\x9c)S\x943k\xd6\ +\xd7L\x9dqF\xfa\x7f\xae=\xe9$\xe5\x8c\x1c\xa9\x9c\ +\xc1\x83\x95\xd3\xab\x97r\xbavM\xff\xdfm\xdcX9\ +\xc5\xc5\x91\xf9\xbb\xecu?\xdb\x81\xd1^\x0c?O\xa4\ +{\x13\xf3\xd3\xb2w\xf4\xf1\xa0\xab\xa3\xfa\x99\xe7\xb9\x17\ +>\x7fJ\xa8\x8d\xa5\xbb\xdd]\xf5\x88_,\xd5\x9d\xd9\ +\xce\xa3\xd4\x00\xd8IM\xf1\xd6\xa8\x16\x18}\x8c\xe5\xe6\ +\x08\x05p\xa7\xbc\x5c9G\x1e\xa9\x9cA\x83\x943~\ +\xbcrf\xcfV\xce\xd2\xa5\xca\xd9\xb2E9W\x5ca\ +\xd4\xe4\xd6\xad\xcaY\xbe\x5c9\xf3\xe7+g\xeaT\xe5\ +\x8c\x1a\xa5\x9c\x1e=\x94\xd3\xac\x99rJJ\xac\xfc\x1b\ +\xea\xb0s\xbc{\x84)\xa2c\xf6\x87b\x0d\xca\xce!\ +\xd1\x1d'\xee\x8e\xe2g\xac\x8f\xb1\x9c,\xfe\x92\x10\x9b\ +\x13\xea\x0d\x84\xeb\xdcM\xa2\x08\x07\xf5+\x12\xe9\xbbg\ +\x00`\x09m\xc4W\xa2VLt{>\xfd\x9c\xf3}\ +6\x17\xee:u\x94\xd3\xa9\xd3\xbe\xdd\xef\xd4\xcc\x99\xfb\ +\x82p\xaa\xa2\xc2x\x08\xaf\x92\x1b7*\xe7\xfc\xf3\xd3\ +\xbb\xf6\xfd\xfb+\xa7E\x0b\x95\xaaV\xcd\x8a\xbf\xef\xc3\ +n\x08\x8a\xe89\xf5g\x13\xb4b<\x18\xfa\xbc\xf9\x9b\ +Q\xfb\x5c\xab\xb9\xafVr\xe93w\xd5\xbd\xd5GE\ +\xf7\xbd\x87\xc7\xc5\xc6\x94\x1f\x80\xf0\xd1\xaf\x82\xfe)J\ +\x05D\xef\x9a\x8e\x17\x1f\xb5\xad0\x97\x95)\xa7sg\ +\xe5\x8c\x19\xa3\x9c\x05\x0b\x94\xb3ys\xb4\x82\xb8\x1f+\ ++\x95\xb3b\xc5\xbe\x1d\xf7}\xc7o\xf4q\x99\xbc\xbc\ +P\xbb\xbfL\x8afOu\xf9\xc7O\xf4\xa2\x0c}\x8d\ +\x91\xe2_\xa3\xf4Y\x16\xbb\x9d>xL\x08\xff\xed/\ +\xdd\xe3M\x11\x0c\xe9\xef\x89\x9d)C\x00\xe1qZ\x22\ +\xfd\xf2ad\xcer\x9e\xe0\xf6\xa7\xb5\xa1\xf8\xa6\x9a4\ +Q\xa9\x81\x03URBjj\xe5\xca\xf8\x86q\xaf\xea\ +/$g\x9f\xad\x9ca\xc3\x94s\xc4\x11\xa1\x04v\xdd\ +\xd7\xfe\xa4\xe8\x1d}\xd1s\xf0t\xca\xd1\x7f\xd0ga\ +?\x8f\xd2Q\x96\xa9\xe2\xf3\x04R\xfc\x06\x7f\xe6\x1e\xc3\ +\x8cXH\xff\x9b8\x9cr\x04`\x1e\xfd\x1cyd.\ +\x83\xeav{\xf7\x86]h\xf5\xb1\x8e\xae]UJ_\ +\xbc\x5c\xbb\x96@\xee%\xb0\x7f\xeb[\xca\x91/1N\ +\xc3\x86F?+}\xeciX\xf4\xfa\xa5_\x9a\xe35\ +I_\x9c\xad\x88\xd2\x86\xc18\xf7\xd7\x1bB(z\xf1\ +v\xb1w\xb4\xea\xd2\xa7\xe2l\xe2\x12\x80\x19tG\x84\ +\xeb\xa3R \x8et{\x05\x87VT\x1b4H\xef\x08\ +\xcf\x9f\xafR;w\x12\xba\xab\xa2\xbe\x88:f\x8cJ\ +\xea\xcb\xa7\x86v\xd7\x7f\x12\xbd\x17J\xf5\xa3F\x059\ +X\x97\x8a\xc5\x9b\xa3\xf29\x0d\xe0\xf2'V\xc1\xeb\xa2\ +\xf7B\xa9\xee\xee\x96G|\x02\x08\x8e:\xe2\xfdQ(\ +\x08\xfa\xd5\xcf\xcb\xdd\x07kB\xb9\xd8y\xec\xb1\xca\xb9\ +\xf0BBuP^v\x99rN9E9-[\x06\ +\x1e\xd6\xf5C0\x15\xd1\xea\xa3~\xbbX\x92cu\xe9\ +\x81(|6\xba\x8f\xf9w\x09\x98\x98\xa5\xf6\x8c\x97\x8a\ +\xb5\xa2S\x97n\xcd\xb1\xba\x04`\x8c\xfa\x89t\xd7\x08\ +\xeb; \x9c#\xben\xba\xf5\xa1\xbe\xe0\xa9[\x1e.\ +\x5c\x98\xbe\x00I\x886fj\xf5j\xe5\x8c\x1e\xad\x9c\ +F\x8d\x02\xfd\x8c\xdf\x16\x17\x89%\xd1X\x0c\x1fM\xa4\ +[\x0c\xc6\x1d\xdd\xc5\xe6\x05\xdb?\x0f\x1d\xa2V\xf1\x1a\ +1\x06\xe0\x8b\xe2\x99\xd1\xe9D\xa5\xebRm\xe2\x14@\ +\xf6h\x22\xbeh\xfb\xe4\x1f->i\xb28\xe6\xe7\xa7\ +[ \xce\x99\xa3\x9c]\xbb\x08\xcb6\x84\xf5\x0b/\xdc\ +w\xf16\xc8\xfe\xebOG\xa7\xb3\xc2+\xee\xdc\x8d+\ +\xed\xc5\xf7m\xff\x1c\xc6\xf3\xf2'\x1a\xf0~\xf7\xe8T\ +\x04\xea\xd23b\x03b\x15@\xd5i+\xee\xb6\xfdg\ +\xe3\x1f\x9b\xec\xbe\xa2_\xe8<\xe5\x14\x95\xd2\xfd\xbd\x09\ +\xc5v\xaa\xcf\xfb\xebWQ\xbbtI\x7f\x91\x0a`\x1c\ +\xdc&\xb6\x8aF\xbb\xb3\xd61\xacK=\xc5\xbf\xd8\xfc\ +\xb7o\xcf\xeb\x9f\x18\x82\xfa\xb5\xe4\xc6\xf6\xd7\xa5\xd7\xc4\ +#\x88W\x00U\xdb\xa1\xdac\xeb$\xd7]\x10\xce\x10\ +_3Q\xf8\xf49\xe7\xce\x9dU\xea\x9cs8\xc2\x12\ +\xb5]\xf5K/U\xa9\xc1\x83\xd3]t\xb2<.\xde\ +\x10g\xd9\xdf\x96\xf1\x1d\xb1e\x8c\xea\xd2Q\xe2\x1fm\ +\xfd{\xeb\xb6\x89\xe7\x89\xef\x10\x161$\x7f'\x8e\xb5\ +?\xa4\xbfAH\x07\xc8\x8cn\xe2\x1fl\x9d\xdc-\xdc\ +\x1dL#\xad\x11\x87\x0eU\xce\x9a5\x84\xdd\x88\x9b\xdc\ +\xba5\xfd\xcbG\xbdzY\x1f'\xfa\x17\x9c\xe6v/\ +\x86\xfa\x8bv;v\xce\x83\xef\x1aEw\x16\xb4\xc5\xef\ +\x88\xe5\xfc\xc2\x07\x10+\xfa\xd8\xba\x08\xea\x9d\xca\xb3\xdc\ +\x0b{\x81\x16\xb7\x1a5Tj\xe4H\x95\xda\xb0\x81p\ +\x1b\xb7\x1d\xf5\x9d;U\xea\x8c3T2\xcb\x97J\xdf\ +\x12g\xd8\xfd<\xb7~u4\xca\xaf\xfb\x0d\x10?\xb0\ +u\xd7\xfc\x02.\x81\xa2\x85\xea_\x98O\xb5;\xa4'\ +\xc5\x0e\xc4.\x80C\xd3[\xfc\xd0\xc6\x89\xdc\xd8DO\ +\xf3\x9a5\x953a\x82r\xb6m#\xcc\xc6\xdd\x8a\x0a\ +\x95\x9c>]9M\x9adu\x0c\xfd\xc8\xee\xdd\xf4?\ +\x89]\x22X\x97\x06\x89\x1f\xb1k\x8e\x98\x99\xd7\x88u\ +\xec\xadK\xef\xc7\xec\x18\x1e@ \xc7Z\xac\xdc9\xd7\ +\x1dZ^\x09\xb2\x80\xd5\xae\xad\x1c\xfd\xc2'\x8f\x09\xe5\ +\xa6\xfa!)\xddS=K\xe3\xe9M\xbbw\xad~\x9f\ +H\xdf/a\xd3\xa0\x8aw`\xcef\xd7\x1c#\xe4\xb3\ +b\x7f\xbb\xef\xca\x1cN\x0c\x03\xf8:G\x8b\x7f\xb5m\ +\xd2\xd6\x16\xaf\x0e\xb2h\xe9v|'\x9e\x98>\x9fL\ +P\xcdm++UJw~i\xd80\xabg@\xeb\ +\xda\xb9\x18\xea\xfb%GF\xe4X\xcb?l\xfc5\xef\ +G\x04>\x8c\xa0\xfa\xe1\xb5\xcd\xf6\xbe\xe7\xa0;\xc65\ +'\x8e\x01\xfc\x97\x16\x09\x0b\xfb\x09\xeb'\xd6\x1f\x0b\xaa\ +P\x15\x15)g\xe4H\xe5l\xd9B0\xc5\xaf\xaa{\ +\xdaO\x9a\x94>\xee\x94\x85\xb1\xa6{\xf3w\xb7\xf7\x82\ +V3\x8b\xebRg\xf7H\x8eU\x7f\xb7\xc1\xe2o\x09\ +z\x18q\xef\x16[\xdbY\x97\xf4\xc3c\xf5\x89e\x00\ +\x89DS\xf1-\xdb&\xe9\xb7\x82\xfa\xe9X\xb7K\xec\ +\xd1C9k\xd7\x12D\xf1\xd0]_\x8e?>\xfde\ +.\x0b\xcfr\xcf\xb0\xb7\x1f\xb1\x8d\x8f\x86\xb4J\xa4/\ +\xb5ZuA}\xb1\xbb\x03I\xc0\xc38\xa8\x9b-L\ +\xb0\xb3.=\x9d\xe0\xc5Q\xc8q\xf4\xc2\xfc\xb2M\x13\ +\xb3\x86xeP\x05\xa9M\x1b\xe5,]J\xf8D\x7f\ +]_\xd6\xafWN\xef\xde\xe9/wU\x1c\x83;\xc5\ +b\xfb\x16\xc3\xdf\x88\xa5\x16\xd5\xa5\x86\x89t\x8fdk\ +\xfeF\xb5\xc4\xef\x11\xe80\xa6^\xe6v\x22\xb2\xac.\ +=jY]\x020F\x89\xf8\x84M\x13\xb2\xa5\xfb\x5c\ +q\x10\x17@\x93S\xa7\xf2\xc0\x10V\xcdy\xf3\xb2r\ +>\xfd^\xf1p\xfb\x16\xc3_\x88E\x16\xd4\xa52\xf1\ +)\x9b\xfe6\x1d\xc4\xc7\x09q\x18s\xef\xb0\xb3g\xfa\ +\x9db\x01q\x0dr\x89|\xf1v\x9b&\xe2\x88 ^\ +\x04\xd5;\x9e\x83\x06)\x87\x0b\xa0\x98\xc5\x1e\xea\xce\xe8\ +\xd1*YXX\xa5\xb1\xf9\x92x\xac}\x8b\xe1\x0db\ +^\x88uI\x7fA\xb8\xc7\xa6\xbf\xc9x\xb7#\x0f\x01\ +\x0esA}\xb7\xa2\x8f}u\xa9\x92\xc8\x06\xb9\xc4v\ +\x9b&\xe0\x1cqo\xb6\x8bM\xf3\xe6\xcaY\xb6\x8cP\ +\x89\xc1\xb8f\x8dJv\xe8P\xa51\xfa\xbe8\xcb\xbe\ +\xc5pc\x88u\xe9\x06[\xfe\x0e\xba\x85\xe2E\x9c7\ +\xc7\x1c\xf4=\xf1d\xfb\xea\xd2\x22b\x1b\xe4\x02\x17\xda\ +2\xe9\xf4\x99\xb7\xed\xd9.0\xc5\xc5\xe9\xe7\xdc+*\ +\x08\x91\x18\xbc\xba-cYY\x95\xc6\xecv\xfb\xce\x7f\ +\x9e\x13B]Ze\xcb\xbf\x7fM\xf1\xfb\x045\xccq\ +\xd7\xb8\x17\xa3-\x99\x97_\x8aS\x89o\x10g\xc6\x89\ +\x9f\xdb0\xe1\xca\xc4\x1b\xb3\x5cP\xf4C3\xa9K/\ +%4\xa2Y/\xbb\xac\xca\xbb\xe9?\x10K\xedY\x0c\ +\xff%\x0e1X\x97&\x88_\xd8\xf0\xef^_\xbc\x8b\ +p\x86\xb8\xcf]vm\x1e\xfcS\xecG\x8c\x838\xd2\ +_\xfc\xd8\x86\x89v\x84\xf8`6\x0b\x89>\x0f|\xca\ +)\x5c\x02\xc5p\x9d6-\xfd\x0bN\x86\xe3\xf8\x01\xb1\ +\xa9=\x8b\xe1\x07\x89t\x1f\xf2\xa0\xe9kK]\xd2=\ +\xa1\x7fC(C\xfc\x8a?\x13\x1b\xdaS\x97\xfe&v\ +!\xceA\x9c\xd0\xcf\xe7\xa6l\x98`\x9d\xc4\xe7\xb2Y\ +@\x1a5R\xceE\x17\x11\x0e\xd1\x9a\xb3\xe9N\xabV\ +\x19\x8f\xe7'\xdcnF\x96,\x86\xaf\x8au\x02\xacK\ +\xfa\x0d\x86\xbd6\xfc\xbbv\x14\x9f'\x8c!\x1e\xd0G\ +\xc4\x16\xf6\xd4\xa5\xd7\x03\xaeK\x00\xc6(NX\xd2N\ +\xf1\x98lwj\xe9\xde]9\x97_N(\xc4\xc0^\ +\x14Mm\xd8\xa0\x9c\xe5\xcbUr\xe1B\xe5\xcc\x99\xa3\ +\x9c3\xceP\xa9\xf1\xe3\x953n\xdc\xben.\xa9\x11\ +#\x943|\xb8r\x06\x0c\xf8\xaf\x03\x07\xaaT\xf5\xea\ +\x19\x8f\xeb\x17\xedzy\xf4\xdeD0m\xcet\x9b\xd7\ +gl\xf8w\xec\x1bD\x07)\xc4\x98\xa9\xbf\xc0\xb6\xb3\ +\xa7.\xdd\x95Hw\xa3\x03\x884\xdf\xb6aB\xf5\xcf\ +f\xbb2\xfd\xb2\xe3\x94)\x04H\xac\x9a[\xb6\xec{\ +\xb8*5{\xb6rt\xe8\x96`\xed\x1cy\xa4J6\ +jT\xa5\x80\x9d\x0d\xdf\xb0\xab\xdd\xd9\xfa\x00\xea\x92\x15\ +\x1d[F\x89\xef\x12\xbe\x10=\xb7\x87\xedlO]Z\ +A\xbc\x83(s\xb6\x0d\x13\xe9\x04\xf7\xa9\xf3\xac\x14\x89\ +\x06\x0d\x94s\xf1\xc5\x84K\xf4\xd7\xbb\x5c\xbf \xab\x1f\ +\xab\x1a6L9\xed\xdbW\xb9\xf3\x8a\xa9vg#\xed\ +Y\x0c'e\xb1.\x9do\xc3\xbf\xd3\xa9n\xabK\x82\ +\x17\xa2w\xdf\x12\x07\xd8\xd3\xd9\xe5db\x1eD\x11\x99\ +C\x89O\xc3\x9eD\xa7ds\x11\xec\xd4\x89#-x\ +\xf00\xae\xdbk\xea0~\xea\xa9\xca\xe9\xd5K9M\ +\x9a\xa8d~~d\x17\xc3\xdd\xee\x17\x5c\x0b\x16\xc3\xbf\ +\x8b\x9d\xb2P\x97\x06\x89\x9f\x85\xfd\xef3\x83\x1e\xe7\x88\ +\x19\xfb\xb68\xc4\x8e\xba\xf4\xa1\xd8\x91\xb8\x07Q\xa2\xbe\ +\xf8^\xd8\x93G\xbf\xc2\xb7'[/\x82\x8e\x1eM\x97\ +\x16\xfc\xba\xfa\x0b\xdb\xd9g+g\xe4H\xe5\xb4m[\ +\xa5.*6\x87\xf4\xe3\xedX\x0c_\x14K\xabP\x97\ +\x1a\x89\xef\x87\xfd\xef1%\x88\x87\xd1\x10s\xccw\xec\ +y\x0d\xf9y\xb1\x06\xb1\x0f\xa2\x80\xbe\xd0uo\xd8\x93\ +fL\xb6v\xcek\xd4P\xce\xbcy\x04QL\xab\xbf\ +\xa4\xe9\x1d\xf2\xb1c\x95\xd3\xba\xb5r\x22\xbc;\xee7\ +\xa4\x8f\xb2c1\xfca\x86uI_\xe8\xba/\xec\x7f\ +\xfe\xa9\xec\x9c#f\xb5.\x1dgG]\xfa\x1e\xd1\x0f\ +\xa2\xc0\xea\xb0'\xcb\xf0l\x9d9\xaf_\x9f\x87\x87P\ +9\xdb\xb6)\xe7[\xdfRN\xdf\xbe*U\xbbvN\ +/\x86\x96\xecX\xcd\xcc\xa0.-\x0f\xfb\x9f{\x12;\ +\xe7\x88\x81\xec\xa4\xf7\xb7\xa3.\xcd&\xfe\x81\xcd\xf4\x0b\ +\xfb|\xe7`\xf7r[\x95'~\x9b6\xca\xd9\xbc\x99\ +p\x9a\xa3&\xb7nM?\xfc\xa3_\xe8\xcc\x91]r\ +\xaf\x8b\xa1\x05\x17\xb4\xfe!\xb6\xf7Q\x97\x06\x86]\x97\ +\xc6r!\x141\xd0\xaeS\xdd\xed\xa8K\xed\x88\x81`\ +#\xb5\xc4\xb7\xc3\x9c }\xdc\xcb#U\x9e\xf0={\ +\xa6;o\x10Ts\xcb\xed\xdb\xd3\xa1\xbcK\x97t+\ +M\x16\xbeo\xec\xa2\xd0+\xfc\xc5\xf0\xb9D\xfa\x8d\x05\ +/\xf7a\xf6\x84\xf9\xcf:\x22\x9b]\xa4\x10\xf1\x80\xbe\ +*\x1e\x19~]zZ,\x22\x0e\x82m|7\xcc\x89\ +\xd1\xc3\xfd\x16]\xe5\x89>t(\x97As\xad\xf3\xca\ +\x8a\x15\xfb\xda\x1f&#\xd0\xfa\xd0\xa6\xc5\xb0C\xf8\x8b\ +\xe1\xb6C\xd4\xa4<\xf1\xce0\xff\x19{\xb9\xbf:0\ +f\x10\x83\xf7\x05\xb1u\xf8ui\x1dq\x10l\xe2\x94\ +0'D[70T\xb9S\xcb\x84\x09\x04\xd6\x5c\x09\ +\xe5;v(\xe7\xcc3UJ\x1feba\xcb\xc8\xe7\ +\xc4\xc3\xc2\xefC<\xea uiv\x98u\xa9}6\ +\xea\x12\x22\xfa\xf2\x19\xb1<\xdc\xba\xf4\xb9{\xac\x0e \ +tZ\x88\x7f\x0bk24I\xa4\x9f\x00\xaej8O\ +\x9dv\x1a\xc15\x17\x82\xb9\xbe\xf4;h\x90rJJ\ +X\xcc\xb2\xe0\xe3b\xa3p\x17\xc3?\x8a\xe5\x07\xa8K\ +m\xc4\x8f\xc2\xfa\xe7j)\xbe\xc8\xf8@\x0c\xc5\x07\xc5\ +Z\xe1\xd6\xa5\xbd\xee\xf1:\x80\xd0\xd0\xad\xcb\xee\x0fk\ +\x12T\x17\xef\xaa\xead.(P\xce\xcc\x99\x84\xd78\ +\xab\x1f\x0f\x9a5+\xdd\x16\x91\xc5+\xeb\xea9Xl\ +W\xebE}\xb4%\xb4\x96\x8ae\xe2\xfd\x8c\x0b\xc4P\ +\xbdA,\x08\xb7.\xddHD\x840Y\x10\xd6\xe0\x97\ +o\x06\xea\xea\xaaNb}\x11p\xee\x5c\x02l\x9c/\ +}\x9er\x8aJ6h\xc0\x82\x15\xb0W\x8ay\xe1.\ +\x86\xa7\xecW\x97\xe6\x86\xf5\xcf\xa1\x03\xc1\xf7\x18\x0f\x88\ +V\xb8.\xfc\xf3\xe8'\x12\x13!\x0c\x9a%\xd2\xcfo\ +\x872\xf0/\xa9\xe2\xc4M\x16\x16*\xe7\xac\xb3\x08\xb1\ +q\x0d\xe6'\x9d\xa4\x9cZ\xb5X\xa4\x0c\xba0\xdc\x85\ +\xf0Obc\xb1e\x98u\xe92\xc6\x01\xa2U~+\ +\xdc\xba\xa4;H\xd5\x22.\x82i~\x1e\xd6\xa0\x9f\x9c\ +\x8d\x9d\xf3\xf9\xf3\x09\xb2q\xbc\xf89n\x9crJK\ +Y\x98BP\xbf\x909&\xdc\xc5\xf0\x16\xf1\xd7a\xfd\ +\xe7\xcf`\x0c Z\xa7~\x7f`x\xb8u\xe9\x0a\xe2\ +\x22\x98\xe4\xf4\xb0\x06{\xf7\xaa>D\xa4\xcf\x9c\xb3s\ +\x1e\xaf`\xae{\xd6\xeb`^\xb3&\x0b\x92\x05\x0f\x19\ +u\x0e\xffge\xe3\x0e\xe4!\x22Dk}Ml\x11\ +^}\xf8\x22AW\x170\x84\xbe\x99\xfc\x870\x06z\ +\x03\xb7\x85R\x95Z)N\x99B\xa8\x8d\x93s\xe6(\ +\xa7qc\x16!\x8b|R\xac\x93C\xe1\x5c\xb7\x9a|\ +\x89\xcf\x1d\xd1j\xf5\xc5\xed\x1a\xe1\xd5\x09\xf9\x8e\x90\xa8\ +N|\x84\xa0\xf9a\x18\x03\xbc\xa8\xaa\x1d[t8\x9f\ +:\x95@\x1b\x17\x17-R\xc9f\xcdXx,\xf56\ +\xb10\x07\xc2y\x09\x1d[\x10#\xe3w\xc2\xbd\xcc~\ +9\xf1\x11\x82dxX\x0b\xe1\xa5U\x9d\x9c\xfa\x08\x04\ +\xc16\xfa\xc7Y6nTN\xff\xfe\xca\xc9\xcfg\xc1\ +\xb1\xdc\xc59\x10\xd07\xf39#ri\xd4\x9b\x9f\x8a\ +\xdd\x88\x91\x10\x04\xd5\xc4\xd7\xc3\x18\xd8c\xdc\x0bh\x19\ +O\xca\xa1C\x09\xb7q8g\xae;\xb3T\xaf\xce\x22\ +\x13\x11\xf7\x8aCb\x1c\xce'\xf1\x19#F\xce\xddb\ +\xef\xf0\xea\xc6#\x89\xf4;\x0d\x00YeQ\x18\x03\xba\ +\x8d\xf8fU&d\xaf^\xca\xa9\xac$\xe4F9\x9c\ +\x9f{\xaer\xea\xd7gq\x89\xa0\xbfK\x84\xfe\xd2h\ +`u\xe9->_\xc4H\xfa[\xb1<\xbc\xfaq\x1a\ +q\x12\xb2\x89\xac\xb1\x89\xbf\x85q\xee\xfc\xde\xaaL\xc4\ +v\xed\x94\xa3w^\x09\xb9\xd1\x0c\xe6\x9b6)\xa7{\ +w\x16\x94\x88{K\x22\xfd\xb0X\x5c\xc2y1\xe7\xce\ +\x11#\xef\x0f\xc3;\x8f\xbe[,!VB\xb6\xb8>\ +\x8c\x85peU&`y\xb9r6o&\xe8FQ\ +\xfd\x8b\xc7\xe4\xc9\xca\xa9Q\x83\x85$&.\x8aQ@\ +\xdf\xca\xe7\x89\x18\x0b\xe7\x86WG\xd6\x12+!\x1b\xe8\ +K\x0d\x9f\x9b\x1e\xc0}\xdd3\xac\x19M<\xfdP\xcd\ +\x8a\x15\x04\xdd(\xba~\xbdr\xbave\xf1\x88\x99{\ +\xc4\x1e1\x08\xe7#\xf8,\x11c\xe3\xbbb\x87pj\ +\xc9G\xe2\xe1\xc4K\xa8*\x0f\x98\x1e\xbc\xb5\xc4\xa73\ +\x9dt\xba\xbb\xc7\x82\x05\x04\xdd(:w\xaeJ\x96\x95\ +\xb1p\xc4\xd4G\xdd\xb6\x84Q\x0d\xe7\xf5\xdc\xb3\xab|\ +\x96\x88\xf1\xea\x8f^-\x9c\x9a\xf2\x03\xe2%T\x85\x93\ +\xc3X\x08\xaf\xac\xca\x84\x9b8\x91\xa0\x1b5\xb7mS\ +N\xef\xde,\x169\xe0\xba\x08\x07\xf4\xab\xf8\xfc\x10c\ +\xe9\xaapj\xca\x97b?b&dB\x91\xf8\x96\xe9\ +A{RU&Z\x9f>\x84\xdd\xa8]\x04]\xbc\x98\ +\x0e-9\xa4n\x97: \x82\xe1|\x1c\x9f\x1db\xac\ +\xebR\xffpj\xcb\x13DM\xc8\x849a\xfc\x84\xfc\ +b\xa6\x93\xacI\x93\xf4N,\xa17:N\x9a\xa4\x9c\ +\xa2\x22\x16\x88\x1cS\x1f_\xab\x19\xa1p\xae\xdb\xb1\xbd\ +\xcc\xe7\x86\x18k\x1f\x13\xab\x87Sc\xc6\x107\xc1\x0f\ +\xc5\xe2\x1e\xd3\x03uW\xa6\x93K\x9f[^\xbb\x96\xc0\ +\x1b\x15\xb7lQN\x97.,\x0a\x1cu\x89\x84\xd7\xf0\ +y!\xe6\x84\xcb\xc2\xa91\xcf%x\xbc\x08|0\xdf\ +\xf4 \x1dR\x95\x895g\x0e\xa17*\xae\x5c\xa9\x9c\ +\xa6MY\x0cr\x5c\xdd\xa1\xa9{\x04\xc2\xf9p>+\ +\xc4\x9c\xea6\xd5)\x9cZs2\xb1\x13\xbc\xa0\x1b\xe8\ +;&\x07g\x0d\xf17\x99N\xaa\xc1\x83\x09\xbdQq\ +\xe6L\xe5\x14\x17\xb3\x10\xe0\x7f\xba'\x14Y\x1c\xceK\ +\xab\xd2M\x0a\x11#\xe9\xddb\x81\xf9z\xf3\xa2\x98O\ +\xfc\x84C\xb1\xc8\xf4B\xb8*\xd3\xc9\xa4\x1f#\xda\xbe\ +\x9d\xe0\x1b\x85\x87\x87F\x8dRN^\x1e\x0b\x00~\xc5\ +s,\x0e\xe8\xab\xf9|\x10s\xd2\xb3\xc2\xa99\x93\x89\ +\x9fp0\xca\xc4?\x9a\x1c\x94G\x8a\xefg2\x89\x8a\ +\x8aT\xf2\x92K\x08\xbf\xb6\xbbu\xabr:v\xa4\xe8\ +\xe3\x01}Glna8\xef\x9ai]B\xc4\xc8\xfb\ +\x96\xd8\xc4|\xddyM, \x86\xc27\xb1\xd4\xf4B\ +\xf8\xa3L'\xd1\xf8\xf1\x84_\xdb\xbd\xec2\xce\x9b\xe3\ +!\xbd\xde\xb2p\x9e'\xde\xc5\xe7\x82\x98\xd3V\x86S\ +\x7f\xa6\x11C\xe1\x9b:\xb7\x18={>:\xc3\x89\x93\ +j\xd3F9\x15\x15\x04`\x9b\xfb\x9b\xafX\xa1\x9c\x06\ +\x0d(\xf4\xe8\xc9\x81\x16\x05\xf4\x09|\x1e\x88\xf4F\x17\ +{\x84\xb3\x8b\xceYt\xf8\x1a\xb3L\x0eD\xf96\xa0\ +\x9e\xcc$\x9cW\xaf\xae\x92\xb4T\xb4\xdb\xb9s\xb9\x0c\ +\x8a\xbe|@,\xb4 \x9c\xeb\x0b\xeb\xcf\xf1y \xa2\ +\xf8s1\xdf|\x1d\x1aK\x1c\x85\xfd\xd1=8_6\ +9\x08\xe7g:i&L \x00\xdb\xec\xacY*Y\ +XHqG\xdf\xce\xb0 \xa0/\xe1s@\xc4\xfd\x9c\ +d\xbe\x0e=L$\x85\xfd9\xd1\xe4\x00\xd4/\xf3\xbd\ +\x91\xc9di\xdd:\xdd\x11\x84 l\xef\xcb\xa0tj\ +\xc1\x0c\xd5\xafu\xd6\x0a1\x9c\xebKa\xef\xf29 \ +\xe2~>\xef\xb6\x5c5\x5c\x8fz\x11K\xe1\xdfJ\x94\xe4\ +\xef\x8e\x88\x89\x83?^d\xf8\xd7\xbd\xbf\x8b\xb5\x89\xa9\ +\xb9\xcbZ\x93\xdf\x08\xaf\xcd\xa4\xadb\xd7\xae\x04a\x1b\ +\xfb\x9c\x8f\x1bG\xd1\xc6\xc0\xdcn\xb0.}\x8f\xbf7\ +\x22\xda\xf9\xeb\xde\xb9\xc4\xd4\xdc\xa4HL\x99\x1ahG\ +e\xb0K\xa5\xdb\xf5\xa5V\xaf&\x10\xdb\xa6nuI\ +\xb1\xc6\x00\xd5\xbf\xb4\xb54P\x97\xba\xf1\xb7FDK\ +\x7f\xdd\x13_ \xaa\xe6&F[+^\x97\xc9\x848\ +\xf6X\xc2\xb0m\x9e~:\xddZ\xd0\x88\x1b\x0d\xd4\xa5\ +\xab\xf9;#\xa2\x0f\xd7\x9b\xdfE?\x86\xb8\x9a{\xdc\ +a\xb2C\xc2^\xbf\x13\xa1F\x0d\xe5l\xdeL \xb6\ +\xc99sT2?\x9f\x22\x8dF|\xcf\xedM\x1eT\ +]j\x97I]B\xc4\x9c\xf6\x1d\xb1\xbe\xd9\x80~5\ +q5\xb78L\xfc\xcc\xd4\x00\xdb\x94\xc9D\x988\x91\ +@l\x91\xc9\x85\x0b\xd3\xbd\xe8)\xd0h\xd0\xcb\x02\xac\ +KW\xf0\xf7E\xc4\x0c\x5cd6\xa0\x7f(\x96\x11[\ +s\x87U\xa6\x06W\xb9\xbb\x13\xe6k\x024h\xa0\x9c\ +]\xbb\x08\xc6\xb6\xb8l\x99r\xaaW\xa70c(\xbb\ +\xe8\xe5\x01\xd4\xa5V\xec\x9e#b\x86\xbe\x920\xfe\xba\ +\xe8\xd9\xc4\xd6\xdc\xa0@|\xdf\xd4\xc0\xba(\x93\x090\ +e\x0a\xa1\xd8\x16\xd7\xadS\xa9:u(\xca\x18\x9a\x17\ +'x5\x14\x11\xedr\x86\xd9\x80\xfe,\xd157\x18\ +ajPU\x17_\xf4;\xf0\xcb\xcb\x95SQA0\ +\xb6\xc1m\xdb\x94s\xc4\x11\x14c\x0c}\xb7\xaa,\x8b\ +u\xa9\x91\xf8.\x7fWD\xac\x82\x8f\x8a\xf9fCz\ +g\xe2k\xfc\xb9\xd1\xd4\x80\x9a\x91\xc9\xc0\x9f6\x8d`\ +lC\x9fs\xf9\x92\x94\xea\xd4\x89B\x8cVxN\x16\ +\xeb\xd2\xa5\xfc=\x111\x0b\x9eh6\xa0o$\xbe\xc6\ +\x9bb\xf1\xaf&\x06S\x9e\xf8\x88\xcf\xc1\x9el\xd4h\ +_0$ [\x10\xd0G\x8e\xa4\x00\xa35>'\x16\ +e\xa1.\xd5\x12_\xe3\xef\x89\x88Y\xf0'f\x03\xfa\ +\x9bD\xd8xs\x92\xa9\xc14$\x83\xc1\x9e\x9c>\x9d\ +plI;Ez\x9d\xa3mN\xcdB]:\x9f\xbf\ +#\x22f\xd1NfCzObl|\xf9\xbe\xa9\x81\ +tU&g\xcf++\x09\xc7a\xbbt)\xed\x14\xd1\ +J\x1f\xa9\xe2\x99\xcfb\xf1\xb7\xfc\x1d\x111\x8b\xae6\ +\x1b\xd07\x11c\xe3I\xa9\xf8\x91\x89A\xd4 \x91~\ +\x12\xd7\xcf O\x9dv\x1a\xe18l\xf5\xc3P\xf5\xeb\ +St\xd1Z\xc7\x9a\xbe\x13\x83\x88x\x10\xf5\x91\xb9\x12\ +s\x01}\x8f\x98G\x9c\x8d\x1f\x13M}\xcb\x9b\xe7\xf7\ +hKY\x99J\xed\xd8A@\x0e\xd3\x8a\x0a\x95\xec\xd0\ +\x81\x82\x8bV{\x9f{\xbf\xc5oM\xd2\xe7\xd7\x9f\xe1\ +\xef\x87\x88\x018\xc1\xec.z?\xe2l\xfc\xb8\xcd\xd4\ +\xe5\xd0G\xfd\x0ep}!\x91\x90\x1c\xae\xe3\xc6Qh\ +1\x12\x0e\xcd\xa0.M\xe4\xef\x86\x88\x01\xf9#\xb3\x01\ +}'q6^\x94\x88\xff01xz\xf9\x1d\xdcE\ +E*\xb5i\x13\x019\xcc\x8e-\x8b\x17\xabd~>\ +\x85\x16#\xe1-\x19l\x1a\xdc\xc7\xdf\x0d\x11\x032)\ +6\xe7\x98\x0bd\xc8\xf1\xa6\xbe\xddm\xf5;\xb8\x07\x0c\ + $\x87\xe9\xd6\xad\xcai\xd0\x80\x22\x8b\x91\xb2\x9b\x8f\ +\x9at,\x7f/D\x0c\xd8\x0b\xcd\xee\xa2\x1fE\xac\x8d\ +\x0f\x15&\x06M\xb5Lz\x0c/[FH\x0eS\xfd\ +\x05\x89\xe2\x8a\x11\xf3z\x1fu\xe9g\xfc\xbd\x101`\ +\x9f\xc8\xf0~L\x86^B\xac\x8d\x0f\xef\x98\x184\xc3\ +\xfd\x0e\xea\x96-\x09\xc8a:s&\x85\x15#\xfb\x93\ +r{\x0f5\xa97\x7f+D\xb4\xf0\x97\xbd*\xfa\x08\ +\xb16\x1e\xb46\xf5\xb3\xcb\x0e\xbf\x03z\xca\x14Br\ +H&\xd7\xaeUNI\x09E\x15#\xeb\x16\x0f5\xe9\ +;\xfc\x9d\x10\xd1\x90\x97\x98\x0b\xe8\x9f\x8a\xb5\x88\xb7\xd1\ +g\x81\x89\x01S]|\xc3\xcf`..VI}\xfe\ +\x99\xb0\x1c\x8e]\xbbRP1\xd2\xea\xb7\x16\x0e?H\ +M\xea\xcc\xdf\x08\x11\x0d\xfa\x8c\xd9c.\x13\x89\xb7\xd1\ +\xe7\x17&\x06\xcb\xf1>\x07rj\xe0@BrXN\ +\x9fN1\xc5X\xb8\xe6 5\xe9\x0a\xfe>\x88h\xd8\ +\x1e\xe6\x02\xfa\xb5\xc4\xdbhSl\xaa\xbdb\xa5\xdf\x81\ +\xac\x9f\x94',\x9bw\xe3F\xe5\x94\x96RH1\x16\ +\xea_\xed\xea\x1c\xa0\x1e\x1d\x9e\xf0\xff\x9a1\x22bU\ +]a.\xa0\xef&\xe2F\x9b\xe1&\x06\x8a~\xa5\xef\ +u?\x83\xb8iS\x82rX\xf6\xe9C\x11\xc5X\xb9\ +\xf0\x005i-\x7f\x17D\x0c\xc1'\xcd\xb6[\xecD\ +\xcc\x8d.\x1bL\x0c\x92~~\x07\xf1I'\x11\x94\xc3\ +\xb8\x18z\xd6Y\x14P\x8c\x9d/\x8a%\xfb\xd5\xa3z\ +\xe2\xdb\xfc]\x101$[\x9b\x0b\xe8\xf3\x89\xb9\xd1\xe5\ +1\x13\x83\xe4R\xbf\xe7\xcfW\xaf&0\x9bv\xfbv\ +\xe5\xd4\xafO\xf1\xc4X:g\xbfz\xb4\x94\xbf\x07\x22\ +\x86\xe8Y\xe6\x02\xfa\xad\xc4\xdchR]\xfc\xc4\xc4 \ +\xf9\xb5\x9f\xc1\xdb\xa2\x05a9\x0cG\x8e\xa4pbl\ +}\xd6=jW\xcb\xefq;D\xc4,{\xb3\xb9\x80\ +\x9e$\xeaF\x93\xbe&\x06H\xe3D\xfa\xd1\x10\xcf\x83\ +w\xc2\x04\xc2\xb2i\xd7\xacQNQ\x11\x85\x13c\xed\ +Dw\xe7\x8a\xbf\x05\x22\x86\xe9;\x89t\xebiC!\ +\xbd9q7z,218N\xf33p\xf3\xf2\x94\ +\xb3n\x1d\x81\xd9\xf4\xd9\xf3\xee\xdd)\x9a\x18{\x1fp\ +w\xd2\xf9[ b\xd8\x1ek.\xa0O&\xeeF\x8f\ +\xdbM\x0c\x8ek\xfc\x0c\xdaV\xad\x08\xcc\xa6]\xb8\x90\ +b\x89\x88\x88h\xd0\xb5\xe6\x02z%q7z\xfc>\ +\xe8\x81Q \xbeF\xf7\x16{\xad\xacT\xa9\x96-)\ +\x96\x88\x88\x88\x06}\xc4\x5c@\x7f\x9e\xb8\x1b-\xda\x99\ +\x18\x18\x9d\xfc\x0e\xdaK.!4\x9b<\xda\xc2\x8b\xa1\ +\x88\x88\x88\xa1Xn&\xa0\x7f!\xd6!\xf6F\x87\xa9\ +&\x02\xfa4?\x83\xb5^=B\xb3AS;w\xaa\ +\x94\xfe\x9bS$\x11\x11\x11\x8d{\xbc\xb9]\xf4\xe1\xc4\ +\xde\xe8\xb0\xcd\xc4\xa0\xb8\xd2\xcf`\x1d0\x80\xe0lr\ +\xf7|\xd2$\x0a$\x22\x22bH\xae2\x17\xd0/\x22\ +\xf6F\x87_\x99\x18\x14O\xfb\x19\xacs\xe6\x10\x9c\x0d\ +>J\x94\xaa]\x9b\x02\x89\x88\x88\x18\x92?7\x17\xd0\ +o$\xf6rA\xf4?\x96\xfb\x19\xa8\x85\x85*\xb9u\ ++\xc1\xd9\x94\xe3\xc7S\x1c\x11\x11\x11Ctw\xc2X\ +?t.\x8aF\x84\xc6&\xbe\xb1\x8d\xf53P\xdb\xb6\ +%4\x1b\xdc=O\xd6\xacIqDDD\x0c\xd9\xbe\ +f\x02\xfa\xa7b5\xe2\xaf\xfd\x1cg\x22\xa0\xaf\xf23\ +HO8\x81\xe0l\xca\xb1c)\x8a\x88\x88\x88\x168\ +\xcf\xdc1\x97N\xc4_\xfb1\xf2\x82\xe8m~\x06\xe9\ +\x82\x05\x04gC\xbb\xe7Ni)E\x11\x11\x11\xd1\x02\ +\xaf4\x17\xd0O'\xfe\xda\xcfwM\x0c\x86W<\x0e\ +\xced~~:8\x12\xa0\x83\xf7\xb4\xd3(\x88\x88\x88\ +\x88\x96\xf8\x80\xb9\x80\xbe\x81\xf8k?\xcfXuA\xf4\ +\x88#\x08\xce\x86^\x0du\x1a5\xa2 \x22\x22\x22Z\ +tQ\xb4\xc8L@\xbf\x8b\xf8k?\x7f\x0fz \x0c\ +\xf63@\x87\x0c!<\x9b\xe8{~\xd6Y\x14CD\ +DD\xcb\xech&\xa0\xbfE\xfc\xb5\x9b\x86&~J\ +\x99\xebgp\xce\x9cI\x806\xa1\xee\x94C!DD\ +D\xb4\xca\x93\xcdur) \x06\xdbKo\x13\x01\xbd\ +\xc2\xc7\xc0L\xae]Kx\x0e\xda\x8b/\xa6\x08\x22\x22\ +\x22Z\xe8rs\xe7\xd0\x9b\x13\x83\xed\xe5T\x13\x83\xe0\ +W^\x07\xa6\xee(B\x80\x0e\xde\xbe})\x82\x88\x88\ +\x88\x16\xfa}s\x01}\x101\xd8^\x96\x04=\x00\xf2\ +\xc4\xb7\xbd\x0e\xcc\xf6\xed\x09\xcfA{\xf9\xe5\xca)*\ +\xa2\x08\x22\x22\x22Z\xe8\x93\xe6\x02\xfa4b\xb0\xbd\x5c\ +\x1d\xf4\x00h\xe4g`\x0e\x1dJ\x80\x0e\xfar\xe8\xa4\ +I\x14@DDDK\xddc\xae\x93\xcb*b\xb0\xbd\ +\xdc\x1b\xf4\x00\xe8\xe1g`N\x99B\x88\x0e\xda\xc3\x0e\ +\xa3\x00\x22\x22\x22Zl33\x01\xfd\x06b\xb0\xbd\xbc\ +\x11\xf4\x008\xc9\xc7\x80L-YB\x80\x0e\xd2\x8b.\ +\xa2\xf0!\x22\x22Zn\x7f3\x01\xfd!b\xb0\x9d\xe4\ +\x89\x1f\x07=\x00\xce\xf5: \xf3\xf3Uj\xc7\x0eB\ +t\x90\xf6\xefO\xe1CDD\xb4\xdcS\xcd\x04\xf4\xf7\ +\x88\xc2vR\xd7\xc4%\x84M^\x07\xa4~\xd5\x92\x10\ +\x1d\x9c\xdb\xb7+\xa7\xa4\x84\xc2\x87\x88\x88h\xb9\x8b\xcd\ +\x04\xf4O\x88\xc2v\xd2\xc6D@\xbf\xc9\xeb\x80\xec\xd4\ +\x89\x10\x1d\xa4\xfa\x01(\x8a\x1e\x22\x22\xa2\xf5\xee2\xd7\ +\xc9\xa5\x8c8l\x1f}L|\xf8\x0f{=\x7f>x\ +0!:H\x8f:\x8a\xa2\x87\x88\x88\x18\x01\x7fd.\ +\xa0\xb7 \x0e\xdb\xc7\x89&>\xfc\x97\xbd\x0e\xc8\xf1\xe3\ +\x09\xd1A\xb9u+\xbd\xcf\x11\x11\x11#\xe2\x03\xe6\x02\ +\xfa1\xc4a\xfb\x98\x16\xf4\x07_ \xee\xf5\xba\x83>\ +{6A:(\xa7O\xa7\xe0!\x22\x22F\xc4\xdf\x9a\ +\x0b\xe8#\x89\xc3\xf6\xb1(\xe8\x0f\xbe\x9e\x9f\x01\xb9t\ +)A: S]\xbbR\xf0\x10\x11\x11#\xe2\xeeD\ +\xfa%v\x03\x01\xfd\x0c\xe2\xb0}\xac\x0f\xfa\x83o\xed\ +g@n\xdeL\x98\x0e\xc2-[T\xb2\xb0\x90\x82\x87\ +\x88\x88\x18!k\x99\x09\xe8\x0b\x88\xc3\xf6qu\xd0\x1f\ +|O\xaf\xc7[\xaaW'H\x07\xb5{N\xf7\x16D\ +D\xc4\xc8\xd9\xc2L@_M\x1c\xb6\x8f\xdb\x82\xfe\xe0\ +Gx\x1c\x84Iz\xa0\x07g\xcf\x9e\x14:DD\xc4\ +\x88y\xb4\x99\x80^A\x1c\xb6\x8f_\x04\xfd\xc1\x9f\xea\ +u \xb6lI\x90\x0e\xc2\xcaJ\xe5\x94\x95Q\xe8\x10\ +\x11\x11#\xe603\x01\xfdz\xe2\xb0}\xdc\x17\xf4\x07\ +?\xcb\xeb@\xec\xd2\x850\x1d\x84\x17^H\x91CD\ +D\x8c\xa0c\xcd\x04\xf4\x1f\x10\x87\xed\xe3\xe1\xa0?\xf8\ +y^\x07b\x9f>\x84\xe9 \x1c=\x9a\x22\x87\x88\x88\ +\x18A'\x9a\x09\xe8\xb7\x11\x87\xed\xe37A\x7f\xf0\xe7\ +y\x1d\x88\xc3\x86\x11\xa6\x83\xb8 \xaa\x8f\x0eQ\xe4\x10\ +\x11\x11#\xe7\xe9f\x02\xfa\x9d\xc4a\xfbx>\xe8\x0f\ +~\xb1\xd7\x818v,\x81:\xdb\xea\xb6\x95\xf9\xf9\x14\ +9DD\xc4\x08:\xc3L@\xbf\x978l\x1f/\x07\ +\xfd\xc1/\xf3:\x10O?\x9d@\x9dm\xe7\xcc\xa1\xc0\ +!\x22\x22F\xd49f\x02\xfa\x03\xc4a\xfbx+\xe8\ +\x0f~\x95\xc7A\xb8\xafW7\xa1:\xab&\x8f;\x8e\ +\x02\x87\x88\x88\x18Q\xcf5\x13\xd0\x1f'\x0e\xdb\xc7\x9e\ +\xa0?\xf8u^\x07\xa2\xde\xed%Ts\xfe\x1c\x11\x11\ +\x11\xf7y\x81\x99\x80\xfe\x0cq\xd8>RA\x7f\xf0\x97\ +{\x1d\x88s\xe7\x12\xaa\xb3\xe9\xf6\xed\xca)(\xa0\xc0\ +!\x22\x22F\xd4%f\x02\xfa\x0b\xc4a\xfbp\x82\xfe\ +\xe07{=\xe22\x7f>\xa1:\x9b\xc7[\x16.\xa4\ +\xb8!\x22\x22F\xd8\x0b\xcd\x04\xf4\xdf\x12\x87s\xf0\x88\ +\xcbz\xaf\x03Q\x07J\x82u\xf6\x8e\xb7\x8c\x1bGq\ +CDD\xe4\x88\x0bG\x5c\x22\xc8;A\x7f\xf0k\xbd\ +\x0e\xc4\xc5\x8b\x09\xd6\xd9\x0c\xe8]\xbbR\xdc\x10\x11\x11\ +#\xec\x023\x01\xfd\x09\xe2\xb0}\xbc\x11\xf4\x07\xbf\xd2\ +\xeb@\x5c\xba\x94`\x9dMk\xd7\xa6\xb8!\x22\x22F\ +\xd8yf\x02\xfa#\xc4a\xfbx%\xe8\x0f~\xb9\xd7\ +\x81\xb8l\x19\xa1:\x9b\x0f\x14Q\xd8\x10\x11\x11\xe9\x83\ +\x9e\xa0\x0fz\x14y1\xe8\x0f~);\xe8\xe6=\xef\ +<\x0a\x1b\x22\x22b\xc4\x9di&\xa0\xff\x928l\x1f\ +\xcf\x07\xfd\xc1/\xf6:\x10/\xba\x88`\x9d-O9\ +\x85\xc2\x86\x88\x88\x18q\xcf4\x13\xd0\x7fA\x1c\xb6\x8f\ +\xa7\x83\xfe\xe0/\xf0\xdaf\x91K\xa2\xd9k\xb1\xd8\xaf\ +\x1f\x85\x0d\x11\x111\xe2N6\x13\xd0\xef \x0e\xdb\xc7\ +\xe3A\x7f\xf0s=\x0e\xc2$m\x16\xb3g\x8b\x16\x14\ +6DD\xc4\x88;\xd6L@\xbf\x8d8l\x1f\xbf\x0a\ +\xfa\x83\x9f\xeau \x9e\x7f>\xc1:\x1bVV*\xa7\ +\xb8\x98\xc2\x86\x88\x88\x18q\x8f5\x13\xd0\xaf'\x0e\xdb\ +\xc7O\x82\xfe\xe0'x=\xe2\xc2K\xa2\xd9q\xdd:\ +\x8a\x1a\x22\x22b\x0c\xeci&\xa0\xef$\x0e\xdb\xc7\x8d\ +A\x7f\xf0#\xbc\x06\xf4s\xce!\x5cg\xc3\x0b.\xa0\ +\xa8!\x22\x22\xc6\xc0\x8ef\x02\xfae\xc4a\xfb\xb82\ +\xe8\x0f~\x80\xd7\x80>{6\xe1:\x1bN\x9bFQ\ +CDD\x8c\x81\xcd\xcc\x04\xf4%\xc4a\xfb\xd8\x1c\xf4\ +\x07\x7f\xb4\xd7K\xa2S\xa7\x12\xae\xb3\xe1\xe8\xd1\x145\ +DD\xc4\x18X\xcfL@\x9fK\x1c\xb6\x8f\x15A\x7f\ +\xf0\xed\xbc\x0e\xc4I\x93\x08\xd7\xd9\xb0o_\x8a\x1a\x22\ +\x22b\x0c\xacf&\xa0O%\x0e\xdb\xc7\x05A\x7f\xf0\ +M\xbd\x1eq\x197\x8ep\x9d\x0d\xdb\xb6\xa5\xa8!\x22\ +\x22F\xdcw\xcc\x84s\xed8\xe2\xb0}\xcc\x09\xfa\x83\ +/\xf1:\x18G\x8d\x22\x5cg\xc3\xfa\xf5)l\x88\x88\ +\x88\x11\xf77\xe6\x02\xfa\xb1\xc4a\xfb\x98d\xe2\xc3\x7f\ +\xdb\xcb`\x1c:\x94p\x9d\x8dWD\x0b\x0b)l\x88\ +\x88\x88\x11\xf7\xe7\xe6\x02z7\xe2\xb0}\x0c5\xf1\xe1\ +?\xe5e0\xea\xe7\xe9\x09\xd8Us\xdb6\x8a\x1a\x22\ +\x22b\x0c\xbc\xc1\x5c@oL\x1c\xb6\x8f.&>\xfc\ +\xbb\xbd\x0c\xc6n\xdd\x08\xd8Uu\xcd\x1a\x8a\x1a\x22\x22\ +b\x0c\xdcb&\x9c\x7f!\x16\x10\x87\xed\xa3\xb1\x89\x80\ +\xfe}/\x97D\xdb\xb4!`W\xd5%K(j\x88\ +\x88\x881p\xa9\x99\x80\xfeG\xa2\xb0\x9d\x14\x89_\x06\ +=\x00vy\x19\x8c\xe5\xe5\x04\xec*\x9a:\xf7\x5c\x8a\ +\x1a\x22\x22b\x0c\xfc\x96\x99\x80\xfe\x12Q\xd8^\xfe\x1a\ +\xf4\x00X\xe5e0\x96\x96\x12\xb2\xab\xea\xf4\xe9\x145\ +DD\xc4\x188\xceL@\xff51\xd8^\xde\x08z\ +\x00\xcc\xf32\x18\xf3\xf2\x94SQA\xc8\xae\x8a\xa7\x9c\ +BQCDD\x8c\x81=\xcd\x04\xf4\x9b\x89\xc1\xf6\xf2\ +X\xd0\x03\xe0$\x8f\x831\xb5i\x13!\xbb*\x8e\x19\ +CQCDD\x8c\x81\x8d\xcd\x04\xf4\x9d\xc4`{\xf9\ +i\xd0\x03\xa0\x97\xd7\x01\xb9|9!\xbb*\x1e\x7f<\ +E\x0d\x11\x111\xe2\xee\x16\xf3\xcd\x04\xf4\xa5\xc4`{\ +\xb9\x22\xe8\x01\xd0\xd4\xeb\xa0\x5c\xb0\x80\x90]\x95K\xa2\ +#FP\xd8\x10\x11\x11#\xee\xe3\x09c=\xd0O#\ +\x06\xdb\xcb\xd2\xa0\x07@\x81\xb8\xc7\xcb\xa0\x9c:\x95\xa0\ +]\x15\x8f=\x96\xc2\x86\x88\x88\x18qo5\x17\xd0\xfb\ +\x10\x83\xed\xe5t\x13\x83\xe0\x19/\x83r\xf4hBv\ +Uv\xd0\x07\x0f\xa6\xb0!\x22\x22F\xdcm\xe6\x02z\ +\x13b\xb0\xbd\x0c21\x08\xee\xf20 \x93\xfd\xfa\x11\ +\xb4\xab\xe0\xbe\xbf\x1f\x85\x0d\x11\x111\xd2^`&\x9c\ +\x7f\x22\xe6\x13\x83\xed\xa5\x85\x89\x80~\x95\x97A\xd9\xb1\ +#A\xbb*\xf6\xeeMaCDD\x8c\xb8c\xcd\x04\ +\xf47\x89\xc0v\xa3_\x13\xfd\x22\xe8\x81p\x91\x97A\ +\xd9\xa4\x09!\xbb*G\x5cz\xf6\xa4\xb0!\x22\x22F\ +\xdc\x8ef\x02\xfa}D`\xfb\xd9\x1b\xf4@\x98\xe8a\ +@\xa6\xaaW'h\xb3\x83\x8e\x88\x88\x98\xb3\xbe/\x16\ +\x9b\x09\xe8\xd7\x11\x7f\xed\xe7\xf1\xa0\x07Bw\xaf\x83s\ +\xe3F\x826g\xd0\x11\x11\x11i\xb1\x18\xac\x97\x10\x7f\ +\xed\xe7\x07A\x0f\x84\xda^\x07\xe7\x05\x17\x10\xb63u\ +\xd0 \x8a\x1b\x22\x22b\x84\xbd\xc1\x5c@?\x99\xf8k\ +?+L\x0c\x86\x17\xbc\x0c\xce3\xce hg\xea\xd0\ +\xa1\x147DD\xc4\x08\xbb\xdc\x5c@\xefH\xfc\xb5\x9f\ +\xc9&\x06\xc3\x1d^\xce\xa1\xeb\xd70\x09\xdb\x99\x1dq\ +9\xee8\x8a\x1b\x22\x22b\x84=\xcdL8\xffL\xac\ +F\xfc\xb5\x9f\x1e&\x02\xfav/\x83\xb3[7\xc2v\ +\xa6\x8e\x1cIqCDD\x8c\xb0\x9d\xcd\x04\xf4\xd7\x88\ +\xbe\xd1\xa0\xa6\xf8e\xd0\x03\xe2,/;\xe8\xb4Z\xcc\ +\xdcq\xe3(n\x88\x88\x88\x11u\xb7Xd&\xa0\xff\ +\x84\xe8K\xab\xc5\xff8\xc0\xcb\x00-*RNE\x05\ +a;\x93>\xe8\x93'S\xe0\x10\x11\x11#\xea\xdd\xe6\ +\xce\x9f\xaf#\xf6F\x87\x07\x83\x1e\x10\xf5\xbc\x0e\xd2\xe5\ +\xcb\x09\xdc\x998k\x16\x05\x0e\x11\x111\xa2n1\x17\ +\xd0\xcf$\xf6F\x87kL\x0c\x8a\xe7\xbc\x0c\xd2\x193\ +\x08\xdb\x998\x7f>\x05\x0e\x11\x111\xa2N3\x17\xd0\ +\x8f&\xf6F\x87\x85&\x06\xc5\x8dtr\x09\xce%K\ +(p\x88\x88\x88\x11\xb5\xbb\x99p\xfe\x09\x1d\x5c\xa2\xc5\ +\xb1&\x02\xfa\xc5^\x06i\xc7\x8e\x84\xedL\x5c\xbd\x9a\ +\x02\x87\x88\x88\x18\xd1\x0b\xa2\xd5\xcd\x04\xf4g\x88\xbc\xd1\ +\xa2\xbe\x89\x80>\xd6\xcb@\xad]\x9b\xb0\x9d\x89[\xb6\ +P\xe4\x10\x11\x11#\xe8\xcf\xcd\x1do\xb9\x86\xc8\x1b=\ +\xf6\x04=0Zy\x1c\xa8\xa9\x8d\x1b\x09\xdc\x99tr\ +\xa9^\x9dB\x87\x88\x88\x181W\x99\x0b\xe8s\x89\xbb\ +\xd1\xe3\xae\xa0\x07F\x9e\xf8\xb2\x97\x80~\xee\xb9\x04\xee\ +L,/\xa7\xd0!\x22\x22F\xcc\xd1\xe6\x02zo\xe2\ +n\xf4\xb8\xcc\xc4\xe0\xf8\x9e\x97\xc1z\xc2\x09\x84\xedL\ +l\xdf\x9eB\x87\x88\x88\x181\x1b\x99\x09\xe7\x9f\x89%\ +\xc4\xdd\xe81\xd1D@?\x8f\x8b\xa2\xc1\xd9\xbb7\x85\ +\x0e\x11\x111B>nn\xf7\xfc\x05\xa2n4ik\ +b\x80xzQ\xb4\xa4D9\x95\x95\x04n\xbfg\xd0\ +G\x8e\xa4\xd8!\x22\x22F\xc8\x1d\xe6\x02\xfauD\xdd\ +h\x92'\xfe%\xe8\x01R&\xbe\xefe\xd0\xaeXA\ +\xe8\xf6\xeb\xa4I\x14;DD\xc4\x08y\x9a\xb9\x80>\ +\x93\xa8\x1b]\xee11H\xee\xf32h\xa7L!p\ +\xfb\xddA?\xe7\x1c\x8a\x1d\x22\x22b\x84<\xcc\x5c@\ +oG\xcc\x8d.\xabL\x0c\x92\xf5^\x06\xed\xc0\x81\x84\ +n\xbf\xaeZE\xb1CDD\x8c\x88\x8f\x98\x0b\xe7\x7f\ +pOJ@D\x19eb\xa0\x9c\xe8e\xe0\xea\x96\x81\ +\x84n\x7fVT\xa8da!E\x0f\x11\x111\x02\xae\ +3\x17\xd0\x7fL\xc4\x8d6u\xc5/\x83\x1e(\xf2\x1f\ +\xa2\xf6z\x19\xbc\xeb\xd6\x11\xba\xe9\x85\x8e\x88\x88\x18K\ +G\x9a\x0b\xe8\x17\x10q\xa3\xcf\xcb&\x06\xcb=^\x06\ +\xef\xb4i\x04n\xbf\xe7\xd0\xbbv\xa5\xe8!\x22\x22Z\ +\xeen\xb7q\x86\xa1\x80~\x0c\xf16\xfa\x5cob\xb0\ +\xac\xf02\x80\xfb\xf6%t\xfbu\xd80\x0a\x1f\x22\x22\ +\xa2\xe5\xdea.\x9c\xffC,\x22\xdeF\x9f9&\x06\ +\xcc0/\x03\xb8A\x03\x02\xb7_O?\x9d\xc2\x87\x88\ +\x88h\xb9\xe7\x99\x0b\xe8w\x13m\xe3\xc1\x91&\x06L\ +\xa9\xfb\xf3\xce\xa1\x06pj\xf5jB\xb7\x1f/\xba\x88\ +\xc2\x87\x88\x88h\xb9\x1d8\x7f\x0e>\xd1mxR&\ +\x06\xcd\x8f\xbd\x0c\xe2\xc9\x93\x09\xdd~\xdc\xbe]9y\ +y\x14?DDDK}\xdc\x5c8\xd7v&\xda\xc6\ +\x87\x1f\x98\x184\xf3\xbc\x0c\xe4\xce\x9d\x09\xddtrA\ +DD\x8c\x8d\xab\xcc\x85\xf3$\xfd\xcf\xe3\xc5\x0c\x13\x03\ +\xa7\x8d\x97\x81\x5cT\x94\xde\x15&x{6\xd9\xbd;\ +\x05\x10\x11\x11\xd1R{\x99\x0b\xe8\xd7\x13i\xe3EK\ +S?\xbd\xfc\xc6\xcb`\x9e7\x8f\xe0\xed\xc7\xb1c)\ +\x80\x88\x88\x88\x16\xfa\xb2X`.\xa0\x9fA\xa4\x8d\x1f\ +o\x9b\x18<\xeb\xbc\x0c\xe8!C\x08\xdd~<\xfbl\ +\x8a \x22\x22\xa2\x85n7\x17\xce\xf5\xc3\x93\xe5\xc4\xd9\ +\xf8\xf1?\xb6\xb4[L\xd5\xabG\xe8\xf6\xe3\xc6\x8d\x14\ +ADDD\x0b\x1dd.\xa0?G\x94\x8d'\x93M\ +\x0c\xa0\xea\xe2\x9b^\x06\xf5\xf2\xe5\x04o?\xd6\xafO\ +!DDD\xb4\xc8\xdf\x89\x85\xe6\x02\xfaJ\xa2l<\ +\xa9'~nb\x10Uz\x19\xd8\xc7\x1fO\xe8\xf6a\ +\xaagO\x8a!\x22\x22\xa2E\xae5\xdb^\xb1\x0bQ\ +6\xbee\xd5e\xd1\xf1\xe3\x09\xdf^\x1c2\x84\xa2\x89\ +\x88\x88h\xc0af\x03\xfa\xcd\xc4S\xd0l15\xe8\ +N\xf72\x11\xf4\xcepe%\x01\xfcP\xce\x9bG\xd1\ +DDD\x0c\xd8\xfb\xcd\xb6V\xd4\x0e'\x9a\x82\xa6\xab\ +\xa9AWC|\xcd\xcb\x84\x98=\x9b\x00~\xa8v\x8b\ +;w*\xa7zu\x8a'\x22\x22b\x80\x9el6\x9c\ +\xbf\x97\xa0\xf79\xec\xc7s\xa6\x06\xdfj/\x13\xa2U\ ++B\xb8\x07\x93\xfa\x05V\x8a'\x22\x22b \xfeF\ +,4\x1b\xd0W\x12Ia\x7f\xce75\xf8\x8e\x10\xf7\ +x\x99\x18\x8b\x17\x13\xc2\x0f\xe5\x8c\x19\x14PDD\xc4\ +\x80\x9ci6\x9c\xffKlL$\x85\xfdi$~f\ +j\x10^\xe5\xa5\xa3\x8b\xde\x1d&\x84\x1f\xdc-[\x94\ +SXH\x11EDD\xcc\xb2/\x8a%f\x03\xfa\xf7\ +\x89\xa3p ~jj\x10v\xf729\x0a\x0a\x94s\ +\xd9e\x84\xf0C\x1ds\xe9\xd0\x81B\x8a\x88\x88\x98e\ +\x17\x9a\x0d\xe7\xda>DQ8\x10\xa3L\x0e\xc4;\xbc\ +L\x90\xc1\x83\x09\xe1\x87r\xf2d\x0a)\x22\x22b\x16\ +\xd5\x0d-j\x99\x0d\xe7O\x11C\xe1\x9b\xd0\xb7\x86\xdf\ +25\x18\x8f\xf70AR\xd5\xaa\xf1p\xd1\xa1\xba\xb9\ +\xac_\xaf\x9c\xbc<\x0a*\x22\x22btw\xcf\xa7\x12\ +C\xe1`\x5cdj0\x16\x88\x8fy9\x8b~\xdcq\ +\x04\xf1C\xd9\xae\x1d\x05\x15\x11\x111\x0b\xbe,\xd64\ +\x1b\xce\xff \x16\x13A\xe1`4H\xa4\x9f\x9852\ +(O\xf52Y\xd8E?\xf4.:\xc7\x5c\x10\x11\x11\ +\xb3\xe2|\xf3\xbb\xe7k\x89\x9f\xe0\x85\x1bM\x0d\xca\x22\ +\xf1I/\x13\xe6\xf8\xe3\x09\xe2\x07S\x7f\x81\xd1\x97j\ +)\xac\x88\x88\x88U\xea\xdcRj6\x9c\xebM\xd1&\ +DO\xf0B?\x93\xdf\x1c\xa7z\x994\xa5\xa5*\xb9\ +u+A\xfc`v\xecHqEDD\xac\x82s\xcd\ +\xef\x9e_M\xec\x04?\xbd\xdf\xed.g8\xa0\xf7 nB\ +&\x9cor\xa0N\xf62\x89\xf4\xb3\xf6k\xd6\x10\xc4\ +\xbf\xc9\xb3\xce\xa2\xd0\x22\x22\x22\xfa\xb4\xbf\xf9p\xfe\x0b\ +b&dJm\xf1C\x93g\xd1\x1f\xf72\x91\xfa\xf6\ +%\x88\x7fS\xbb\xc5\x8a\x0a\x95\xacY\x93b\x8b\x88\x88\ +\xe8\xd1[\xcd\x87s\xedq\xc4L\xa8\x0a;L\x0e\xd8\ +\x09^&\x93n'\xb8b\x05\x81\xfc\x9b\x1c<\x98\x82\ +\x8b\x88\x88\xe8\xc1\xa4\xd8\xd5|8\x7f\x8ax\x09U\xa5\ +\x95{\xcb\xd8\xc8\xa0\xcdw\xcf\x81\x1djB\xa5:u\ +\x22\x88\x7f\x93\x17_L\xd1EDD\xf4\xe0\x15\xe1\xec\ +\x9e\x9f@\xbc\x84lp\x83\xc9\x81;\xd2\xe3\xa4J\x9d\ +{.a\xfc\x9b<\xec0\x0a/\x22\x22\xe2A|K\ +lb>\x9c?I\xac\x84l\xd1A\xfc\xc2\xe4\x00\xbe\ +\xc3\xcb\xe4j\xdcx\xdf\x99k\x02\xf9\x01<\xf9d\x8a\ +/\x22\x22\xe2A\x05\x18\x11\x11\xf1k>\x9a0\xfe\ +(\x91\xf6A\xe2$d\x9b\x8e\xa6w\xd1\xb7{9\xe6\ +R\xbb\xb6r\xb6m#\x94\x1f\xe8e\xd1\xa3\x8e\xa2\x08\ +#\x22\x22\x1e\xc0\x11\xe1\xec\x9e\x0f%NB\x10\xdca\ +r \xebsao{\x99hC\x87\x12\xc8\x0f\xe4\x82\ +\x05\x14aDDD;\xda*>L\x8c\x84\xa08J\ +\xfc\xd2\xe4\x80>\xdf\xcbd\xcb\xcfOw.!\x94\x7f\ +\xd5\xcaJ\x95l\xd4\x88b\x8c\x88\x88\xb8\xdf\xc5\xd0\xc3\ +\xcd\x87\xf3/\xdc\x0c\x05\x10\x18w\x9b\x1c\xd45\xc4\xe7\ +\xbcL\xbaV\xad\xf6\x05R\x82\xf9\xff;\x8b>~<\ +\x05\x19\x11\x11\xd1\xf5\x82pv\xcfo#>B\xd0\xf4\ +0\xbd\x8b>\xc9\xeb\xc4\x9b:\x95P\xfe\xff\xdd\xb4I\ +%\x0b\x0b)\xca\x88\x88\x98\xf3>,V3\x1f\xce?\ +\x15\xdb\x12\x1f\xc1\x047\x99\xfe\xf6y\x9b\x97\xc9W\xab\ +\x96r\xb6l!\x94\xff\x7f\xbbw\xa70#\x22bN\ +\xab;\xc3u\x0fg\xf7|;\xb1\x11L\xd1\xd6\xfdF\ +hl\x80\xb7\x13w{\x99\x84\x83\x06\x11\xc8\xff\xbf\xe7\ +\x9dGqFD\xc4\x9cvc8\xe1\xfc\xcfb]b\ +#\x98\xe4;\xa6\x07\xfae^&a^\x9er\xe6\xcf\ +'\x94\xf3\xb2(\x22\x22\xe2>_\x10\xeb\x86\x13\xd0\x97\ +\x13\x17\xc14-\xc4\x7f\x99\x1c\xe8\xb5\xc4\xdfy\x99\x8c\ +\x8d\x1a\xa9\xd4\x8e\x1d\x84\xf2\xfd=\xe3\x0c\x8a4\x22\x22\ +\xe6\xa4'\x86\x13\xce\xf7\x8a\xa5\xc4E\x08\x83]\xa6\x07\ +\xfc)^'\xe4\x88\x11\x84\xf2\xfd\xbb\xb9\xe8/,\xa5\ +\xa5\x14jDD\xcc)\xaf\x0e'\x9ckO'&B\ +X4\x12?0=\xe8o\xf60!\x93\xba7\xfa\x92\ +%\x84\xf3\xfdC\xba\xfe\xd2B\xb1FD\xc4\x1c\xf1%\ +\xb1A8\xe1\xfc\x111\x8f\x98\x08a\xb2\xd8\xf4\xc0?\ +L|\xc3\xcb\xe4l\xde\x5c\xa5**\x08\xe7\xffv\xf5\ +\xea\xf4\x19}\x8a6\x22\x22\xe6\x80#\xc2\x09\xe7\xba\x89\ +\xc6\x91\xc4C\x08\x9b\xea\xe2{\xa6'\xc0\x5c\xaf\x13t\ +\xcc\x18\x82\xf9\xfe\xbb\xe8]\xbbR\xb4\x11\x111\xf6^\ +\x1f\xde\xd1\x96+\x89\x86`\x0b\x93MO\x80B\xf1^\ +\xafG].\xba\x88p\xee\x9a\x5c\xb8\x90\xc2\x8d\x88\x88\ +\xb1\xf6E\xb1Qxm\x15\xeb\x13\x0b\xc1\x16\xf49\xab\ +'MO\x84.\xe2\x1e/\x93\xb5qc\xe5\xd0\xd5\xe5\ +\xbf\xb6hA\x01GD\xc4\xd8:*\xbc\xdd\xf3yD\ +B\xb0\x8d\xfe\xe2\x97\xa6'\xc3R\xaf\x13v\xf8p\x82\ +\xf9\xbf\x8f\xb9\xcc\x9cI\x01GD\xc4X\xba-\xbcp\ +\xfe\x94X@\x1c\x04\x1b\xb9\xd9\xf4\x84(\x12\x7f\xe5\xf1\ +\xa8K\xea\xc2\x0b\x09\xe8\xda]\xbb\x94S\xa7\x0e\x85\x1c\ +\x11\x11c\xe5\x13bY8\xe1\xfcs\xb1;1\x10l\ +\xa5\x5c\xfc\xab\xe9\x89\xd1F|\xc7\xcb\xe4\xad[W9\ +\x9b7\x13\xd0\xb5\x13&P\xcc\x11\x1116\xee\x16\xbb\ +\x86\xb7{\xbe\x99\x08\x08\xb6\xb38\x8c\xc91\xdf\xeb$\ +>\xfah\xc2\xb9\xbe,\xbau\xabrJJ(\xea\x88\ +\x88\x18\x0b/\x0e/\x9c\xeb\x17Ck\x12\xff\xc0v\xf4\ +\xf9\xab\xdf\x9a\x9e \xf9\xe2\x8f=N\xe2}g\xb0\x09\ +\xe9\xca\x19:\x94\xa2\x8e\x88\x88\x91\xf7.\xb7\xbb[H\ +\x01\xfdx\xa2\x1fD\x85\xa1aL\x92\xd6\xe2\xdb^&\ +sq\xb1J\xad\x5c\xc9e\xd1\x0d\x1b\x94STDq\ +GD\xc4\xc8\xaa\x1f.l\x19^8\xff\x19\x91\x0f\xa2\ +\xc6\x0f\xc3\x98,g{\x9d\xd4\xadZ\xf1\xca\xa8>\xea\ +\xd2\xaf\x1f\x05\x1e\x11\x11#\xeb\xc4\xf0\xc2\xf9\x07b3\ +\xe2\x1eD\x8d\xa6\xe2\x87a\x1cu\xb9\xcd\xeb\xc4\x1e2\ +\x84\x80\xbev\xadr\x0a\x0b)\xf2\x88\x88\x189w\x86\ +\x17\xce\xb5g\x11\xf5 \xaa,\x0ac\xd24\x11_\xf1\ +:\xc1\xa7M\xe3,z\xdf\xbe\x14zDD\x8c\x94\x8f\ +\x8a\xa5\xe1\x85\xf3\xfb\x12\xe9G\x1a\x01\x22I\xa1\xf8L\ +\x18\x93g\xb4\xd7I^\x5c\xac\x9c\xe5\xcbs\xfb,\xfa\ +\xea\xd5\xfb\xfa\xc4S\xf0\x11\x111\x0a\xea\xfbfG\x86\ +\x17\xce\xff.\xb6$\xe2A\xd4\xe9 ~\x12\xc6$Z\ +\xefu\xb2\x97\x97+G\xb7\x1d\xcc\xe5]\xf4c\x8e\xa1\ +\xe8#\x22b$\x1c\x1b\xee\xd1\x96\xd9D;\x88\x0b\xeb\ +\xc2\x98D5\xc4\x87\xbdN\xf8\x1e=r;\xa0\xeb_\ +\x11\xf2\xf2(\xfc\x88\x88h\xb5\x97\x87\x1b\xce\x1f\x14\xf3\ +\x89u\x10\x17\xaa\x8b\xaf\x851\x99:xm\xbd\xa8\x9d\ +4)\xb7Cz\xb7n\x14\x7fDD\xb4\xd6{\xc5\xe2\ +p\x8f\xb6\xb4&\xd2A\xdc\x18(~\x11\xc6\xa4:\xd5\ +\xeb\xe4/(P\xce\xa2E\xb9\x1b\xd0\x97.e\x17\x1d\ +\x11\x11\xad\xf4U\xb1Y\xb8\xbb\xe7\xb3\x88r\x10W\xae\ +\x08kb\xed\xf4Z\x04\xea\xd6U\xa9M\x9br\xf7\xc2\ +h\xa7N,\x04\x88\x88h\x95Iqx\xb8\xe1\xfc\xa7\ +D8\x883e\xe2\xdba\x9dG\x7f\xd0k1h\xdf\ +^9\xb9\xfa\x88\xd1\xe2\xc5,\x06\x88\x88h\x95\x8b\xc3\ +\x0d\xe7\xbf\x17\x1b\x12\xe1 \xee\x0c\x0e\xeb\xa8K{?\ +\xe7\xd1\xc7\x8c\xc9\xdd]\xf46mX\x10\x10\x11\xd1\x0a\ +\xbf\x9bH?B\x18b@?\x91\xe8\x06\xb9\xc2\xce\xb0\ +&\xda\x04\xafE!/O%\xa7O\xcf\xcd\x90\xbe`\ +\x01\x8b\x02\x22\x22\x86\xeeCb\xcdp\xc3\xf9\xd5D6\ +\xc8%j\x88o\x845\xe1\xd6x-\x0e\xd5\xaa)\xe7\ +\xe2\x8bss\x17\xbdeK\x16\x07DD\x0c\xcd\xd7\xc4\ +\xd6\xe1\x86\xf3\xb7\xc4R\x22\x1b\xe4\x1a\xfd\xc3:\xeaR\ +$\xfe\xc4k\x91\xa8UK9\x97]\x96{!\xfd\x82\ +\x0bX \x10\x111\x14\xf7\x8a\xc7\x85\x1b\xce\xff%\xf6\ +$\xaaA\xae\xb2)\xac\xc9\xd7H|\xdek\xb18\xfc\ +p\xe5l\xdfNG\x17DDD\x03.\x087\x9ck\ +\x17\x13\xd1 \x97\xd1\xafq=\x10\xd6\x04\xec$\xbe\xe3\ +\xb5`\xe8G|*+s+\xa4/[F_tD\ +D4\xea\xc6\xf0\xc3\xf9O\xc4<\x22\x1a\xe4:\xfaU\ +\xae\x0f\xc3\x9a\x883|\x14\x8d\xd4\xc8\x91\xb9w\xd4\xa5\ +G\x0f\x16\x0cDD4\xa2>~Z-\xdcp.\xff\ +\x18\x89FD3\x804g\x86\xf9my\x87\x9f\x90~\ +\xc6\x19\xb9\x15\xd0W\xaeL\xbf\xb0\xca\xc2\x81\x88\x88\x01\ +\xfa\xb8X/\xdcp\xae\xef\xc5\x0d#\x92\x01|\x95\x9b\ +\xc2\x9a\x94\xfa\xdb\xfaO\xbd\x16\x11\x1dV\xcf??\xb7\ +B\xfa\x80\x01,\x1e\x88\x88\x18\x98\xaf\x84\xdf\xb1E\xbb\ +\x9e(\x06\xf0u\xea\x88\xef\x8551\xeb\x8bOz-\ +&\xa5\xa5*\xb5zu\xee\x5c\x16]\xbf^\xa5t\xcb\ +I\x16\x11DD\xcc\xb2\xbb\xc5\xfe\xe1\x87\xf3\x87\xc4B\ +\xa2\x18\xc0\x81\x19 ~\x1e\xd6\x04\xd5/\x8d\xbe\xee\xa3\ +\xb3Kr\xeb\xd6\xdc\xd9E\x1f:\x94\x85\x04\x11\x11\xb3\ +\xee\xa9\xe1\x87\xf3\x94\xd8\x84\x08\x06pp\x96\x879Q\ +\xfb\xb8\xdf\xe6=\x15\x966m\x94\xb3cGn\x04\xf4\ +\xcb/WN\x8d\x1a,&\x88\x88\x985\x17\x85\x1f\xce\ +u\xbf\xf3\xdeD/\x80CS \xfe:\xcc\x09;\xcb\ +\xcf\xa5\xd1\xae]U\xaa\xa2\x227B\xfa\x981,(\ +\x88\x88\x98\x15\xaf\x11\xf3\xc3\x0f\xe8\x17\x11\xbb\x00\xbc\xd3\ +P\xdc\x1b\xe6\xa4]\xe3\xa7\xd0\xe8K\x94\xb9\x10\xd0\xb7\ +oW\xc9\x9a5YX\x10\x11\xb1J\xde\x96H\xbf\xea\ +\x1dr8\xbf\x91\xb8\x05\xe0\x9f\xe3\x12\xe9\x96G\xa1L\ +\x5c]8n\xf1SpN8!7B\xfa)\xa7\xb0\ +\xb8 \x22b\xc6>\x95H\xbf\xe6\x1dr8\x7fS\xac\ +M\xd4\x02\xc8\x8c\xd5aN`\x99\xb9\xea\x11?\x85G\ +\x87\xd7\xb8\x07\xf4\x9d;\x95\xd3\xa0\x01\x8b\x0c\x22\x22\xfa\ +\xf65\xb1C\xf8\xe1\x5c?\x8e\xd8\x89\x88\x05P\xb5\xf3\ +\xe8\xf7\x879\x91[\xba\xfdY\xbd\x14\x9ed~\xber\ +\xe6\xce\x8d\x7fH\x9f:\x95\x85\x06\x11\x11}\xf9\x8e\xd8\ +;\xfcp\xfe\xa58\x9ex\x05Pu\x1a$B\xec\x8f\ +\xae\xed'\xbe\xeb\xb5\x08\x15\x16*g\xfe\xfcx\x07\xf4\ +\xcaJ\xe5\xb4j\xc5\x82\x83\x88\x88\x9e\xdc#\x0e\x0f?\ +\x9c+\xf7\x97y\x00\xc8\x12=\xc4\x8f\xc3\x9c\xd4'\x88\ +\xef{-F\xd5\xab+\xe7\xe2\x8b\xe3\x1d\xd2\x17/V\ +N^\x1e\x0b\x0f\x22\x22\x1e\xfc\xd7eq\x92\x1d\xe1\xfc\ +\x0e1\x9fH\x05\x90]&\x87=\xb9Ov\x0b\x8d\xa7\ +\xa2T\xbb\xb6r\xd6\xac\x89uHOv\xef\xce\xe2\x83\ +\x88\x88\x07u\x9a\x1d\xe1\xfc\x05\xb1\x8c(\x05\x10\x0cW\ +\x85=\xc9\x17\xf9\xe9\x91\xde\xa4\x89Jm\xda\x14\xdf\x90\ +\xbejU\xfaH\x0f\x0b\x10\x22\x22\x1e\xc0\xe5v\x84\xf3\ +\xbf\x88\xed\x89P\x00\xc1Q(>\x14\xf6d_\xe5\xa7\ +@\x95\x97\xab\xd4\xc6\x8d\xf1\x0d\xe9#F\xb0\x08!\x22\ +\xe2\xd7\x5ccG8\xd7\xc7c\xfb\x13\x9f\x00\x82\xe7p\ +\xf1\x0faN\xf8\x02\xf1:?\x85\xea\xb0\xc3\x94\xb3y\ +s<\x8f\xb9l\xdd\xaa\x9cZ\xb5X\x8c\x10\x11\xf1?\ +^/\x16\xda\x11\xd0g\x10\x9b\x00\xcc1D\xfcW\x98\ +\x93\xbeX\xfc\x89\x9f\x82u\xc4\x11\xca\xb9\xfc\xf2x\xee\ +\xa2O\x9e\xcc\x82\x84\x88\x88\xfb\xfc\xb1\xbbFZ\x10\xce\ +7\x10\x97\x00\xcc3)\x91\xeeg\x1a\xda\xe4/\x13\xef\ +\xf5S\xb8Z\xb6T\xce\xb6m\xf1\x0b\xe8\x15\x15\xcai\ +\xda\x94\x85\x09\x111\xc7\xbdS,\xb1#\x9c\x7fO\xcc\ +#*\x01\x84\xc3\xba\xb0\x8b@}\xf1Q?\x05\xac}\ +{\x95\xda\xb1#~!}\xc1\x02\x16'D\xc4\x1c\xf6\ +!\xb1\xae\x1d\xe1\xfc\xd7b5\x22\x12@x\xe8\x97F\ +\xef\x0c\xbb\x18\xb4\x11_\xf6S\xc8:vT\xa9\x9d;\ +\xe3\x17\xd2;wf\x91BD\xccA\x9f\x15\x9b\xd9\x11\ +\xce\xdf\x13\x1b\x13\x8f\x00\xc2\xa7D\xfcM\xd8E\xa1\xab\ +\xf8\x86\x9f\x82\xd6\xad\x9brv\xed\x8aU@O\xadX\ +\xa1\x9c\x82\x02\x16+D\xc4\x1cR\x16`u\x18\xed\x14\ +\x01\xe0\x004\x17\x7f\x1fvq8.\x91~\xce\xd8s\ +a;\xfah\x95\xd2\xe7\xb7\xe3\xb4\x8b>x0\x0b\x16\ +\x22b\x8e\xf8\x82\xd8\xd6\x8ep\xfe\x998\x8a8\x04`\ +\x1fG\x8b\xff\x08\xbbH\x8c\xf2\x19\xd2S\x03\x07*\xa7\ +\xb22>\x01]\xf7|/)a\xe1BD\x8c\xb9\xcf\ +\x8b\xad\xec\x08\xe7\xb4S\x04\xb0\x9c\x09\xe2\x17a\x17\x8a\ +\x13\xc5\xf7\xfd\x14\xbac\x8eIwB\x89\xcbQ\x97\xd3\ +Nc\xf1BD\x8c\xb1/\x89\x1d\xed\x09\xe7\xb4S\x04\ +\x88\x00\xcbm(\x18\xa7\x8a{\xfd\x14\xbc\x1e=\xe2s\ +\xdcE\xff\x22\xd0\xa2\x05\x8b\x18\x22b\x0c}E<\xd2\ +\x9ep\xfe\xc3\x04\xed\x14\x01\x22\x81\x9e\xa8\xb7\xdaP8\ +\xe6\xf9-|q\x0a\xe9K\x96('/\x8f\xc5\x0c\x11\ +1F\xbe)\xf6\xb4'\x9c?%\x96\x11{\x00\xa2C\ +u\xf1q\x1b\x0a\xc8\x1c\x9f\xc5/\xd9\xbd{|B\xfa\ +\x80\x01,h\x88\x881Qw*\xebaO8\x7f^\ +\xacM\xdc\x01\x88\x1eM\xc5wm($\xcb\xfd\x16\xc2\ +\xa3\x8f\x8eG\x0b\xc6\xcd\x9bU\xb2\xac\x8c\x85\x0d\x111\ +\xe2\xcab\xaa\x06\xd9\x13\xce\xdf\x17\x9b\x11s\x00\xa2K\ ++1eCA\xb9\xc4\xefN\xfaQG\xc5#\xa4\x9f\ +q\x06\x8b\x1b\x22b\x84}G\x1chO8\xd7kz\ +k\xe2\x0d@\xf4\xe9\x22\xfe5\xec\xa2\x92'\xae\xf7[\ +\x18;w\x8e\xfe\x8b\xa3\xfa\xc2h\xcb\x96,r\x88\x88\ +\x11\xdd9\x1flO8\xd7kyWb\x0d@|8\ +^\xfc4\xec\xe2R ^\xe1\xb7@v\xea\xa4\x9c\x1d\ +;\xa2\x1d\xd2\x97.UN~>\x8b\x1d\x22b\x84\xd4\ +oz\x8c\xb5'\x9c\xffK\x1cA\x9c\x01\x88\x1f\xa7&\ +,\xe8\x91\x9e\x9fAHO\xc5!\xa4\xf3\xc2(\x22b\ +\xa4v\xce\x8f\xb5'\x9c\xebWB\xc7\x12c\x00\xe2\xcb\ +E6\x14\x9b\x22\xf1\x1a\xbf!\xbdk\xd7h\x1fw\xd9\ +\xbcY9\x5c\x18ED\xb4\xde\xdd\x89\xf4\xab\xd8\x09{\ +<\x87\xf8\x02\x10\x7f6\xd8Pp\xf4q\x97\xed~C\ +z\x9b6\xca\xd9\xb2%\xba!\xfd\xcc3Y\xfc\x10\x11\ +-\xefs\xde\xd7\xaep\xbe\x94\xd8\x02\x90\x1b\xe8\x87\x8c\ +\xae\xb5\xa1\xf0\xe8\x8b\xa3\x1b\xfc\x16\xd0#\x8eP\xa9M\ +\x9b\xa2{a\xb4m[\x16ADDK\xc3y\x1f\xbb\ +\xc2\xf9\x16\x22\x0b@nQ \xdenKH\xf7\xdd\xdd\ +\xa5qc\xe5\xac[\x17\xcd\x90\xbe|\xb9r\x0a\x0aX\ +\x0c\x11\x11-{\x84\xa8\x97]\xe1\xfc:wC\x0d\x00\ +r\x8c\x9a\xe236\x14\xa2\xfc\x0c\x8e\xbb8\xe5\xe5\xd1\ +\x0d\xe9C\x87\xb2 \x22\x22Z\xe2[b\x7f\xbb\xc2\xf9\ +\xbdb5b\x0a@\xeeR_|\xc5\x96\x9d\xf4\xb5~\ +\xcf\xa4\xd7\xae\xad\x92\x97\x5c\x12\xb9\x80\x9e\xd2\x1di\x1a\ +6daDD\x0cYY\x00UW\xbb\xc2\xf9\xcf\x09\ +\xe7\x00\xa0\xd1\xaf\x8d:\xb6\x84\xf4M~\x0bli\xa9\ +r.\xbc0z\xbb\xe8\xe7\x9f\xaf\x9c\xbc<\x16HD\ +\xc4\x90|]\xeciW8\x7fL,#\x96\x00\xc0\xbf\ +i#&m)RK\xfd\x16\xda\x92\x12\xe5,Z\x14\ +\xbd\x9d\xf4>}X$\x11\x11C\xf0%\xb1\x93]\xe1\ +\xfc!\xb1\x06q\x04\x00\xfe?G\x89\x7f\x89\xecq\x97\ +j\xd5\x94s\xee\xb9\xd1\xeb\x8d^\xb3&\x8b%\x22\xa2\ +A_\x15\xbb\xd9\x15\xce\x9f\x17\xeb\x12C\x00\xe0\x9b\xe8\ +%~`KH_\x95IH\x9f7/R!=9\ +u*\x0b&\x22\xa2\xc1\x9ds\xcb\xce\x9c\xbf(6 \ +~\x00\xc0\xa1\x18(~dK\xf1Z\xee\xb7\x00\xe7\xe7\ ++\xe7\xf4\xd3\xa3\xb5\x93\xde\xa5\x0b\x0b'\x22b\xc0>\ +/\xb6\xb3+\x9c\xbf*\x96\x13;\x00\xc0+\xfd\xc4\xbf\ +\xdbR\xc4f\x88I?\x85X_\xbe\x1c=::\xbb\ +\xe8k\xd7*\xa7\xb8\x98\x05\x14\x111 \x1f\x11\x0f\xb3\ ++\x9c\xbf$6$n\x00\x80_\x8e\x13?\xb6\xa5\x98\ +M\x11\xf7\xfa-\xcaC\x86\xa4_\xef\x8cBP?\xf9\ +d\x16QD\xc4\x00\xfc\x95\xd8\xc0\xaep\xfe\x0a;\xe7\ +\x00P\x15F\x89\x9f\xd8R\xd4N\x12w\xfb-\xce\xbd\ +z)g\xd7.\xfb\x03\xba\xfe\x22\xd1\xb2%\x8b)\x22\ +b\x16\xbdS\xaceW8\x7f[<\x9cx\x01\x00U\ +e\x82\xf8\x99-\xc5m\xb8\xf8\xae\xdf\x22\xdd\xb9\xb3r\ +\xb6o\xb7?\xa4\xebG\x97\x0a\x0aXT\x11\x11\xb3\xe0\ +Mb\x0d\xbb\xc2\xb9,_\x89f\xc4\x0a\x00\xc8\x16s\ +\xc4/m)r#\xc4\xf7\xfc\x16\xeb\x16-\xd2m\x0d\ +m\x0f\xe9#F\xb0\xb0\x22\x22V\xd1\x1f\x88%v\x85\ +\xf3?\x88\x1d\x89\x13\x00\x90m\xce\xb3\xa8\xd0\xa9\x81\xe2\ +[~\x8bv\x93&\xcaY\xb7\xce\xee\xc7\x8bv\xeeT\ +Ny9\x0b,\x22b\x86^#\x16\xd9\x15\xce\xffW\ +\xecN\x8c\x00\x80\xa0\xb8\xd8\xa6\x90\xae\x9fh~\xcdg\ +\xe1N6j\xa4\x9c5k\xec\xdeE\xd7\x0f.\xe9N\ +4,\xb4\x88\x88\xbe\xdc.\x16\xd8\x15\xce\xff(v#\ +>\x00@\xd0\x5chSH\xef\xe2><\xe1\xebA\xa3\ +:uTR\x9f\xf7\xb6\xb9\xf5b\xbf~,\xb6\x88\x88\ +>\xd4/P\xe7\xd9\x15\xce\x7f/v&6\x00\x80)\ +\x16&,:\x93\xde\xce}\x80\xc2W1/.V\xa9\ +s\xce\xb17\xa4o\xdf\xae\x92\x0d\x1a\xb0\xe8\x22\x22z\ +\xf0B\xbb\x82\xb9V\xfe\xb18s\x0e\x00\xe6\x99%~\ +aK1\xd4\x0fP<\xe6\xb7\xa8\x17\x16\xaa\xe4\xf4\xe9\ +\xf6\x86\xf4\xf3\xce\xe3\xa8\x0b\x22\xe2A\xdc#\x9ej_\ +8\xd7\xad\x14\x9b\x13\x13\x00 ,\xe6\xd9\xb4\x93\xdeD\ +|\xd8o\x81\xd7\x01\xf8\xa4\x93\xec\xbd4:p \x8b\ +0\x22\xe2\x01\xd4\xefb\x9cl_8\x97\xef\x0c\x896\ +\xc4\x03\x00\x08\x9b\xc9\x09\x8b\xfa\xa4\xeb\x07)~\x92I\ +\xb1\x1f:\xd4\xceWGu\xffv\x8e\xba \x22~\xc5\ +\xd7\xc5\xfe\xf6\x85\xf37\xc5#\x88\x05\x00`\x0b\xa7\xda\ +\x14\xd2\xab\x89\xd7fR\xf4{\xf6T\x8ensh[\ +H_\xb0\x80\xa3.\x88\x88\xae/\x8a\xdd\xec\x0b\xe7/\ +\x8b\x8d\x89\x03\x00`\x1b\x93l\x0a\xe9\xba\xcd\xd6\xd6L\ +\x8a\x7f\xfb\xf6\xca\xd9\xba\xd5\xbe\x90\xde\xbf?\x0b3\x22\ +\xe6\xbcO\x8bm\xec\x0b\xe7\xf2\x9d!QN\x0c\x00\x00\ +[\x99(~jK\xd1\xd4\xed\xb6\x96g\xb2\x084m\ +j\xdf\x83F\xf2\xa5!U\xaf\x1e\x0b4\x22\xe6\xac\xf7\ +\x8b\xe5\xf6\x85\xf3\x17\xc4F,\xff\x00`;'\xdb\x14\ +\xd2\xb5\xb3\xf4\x03E~\x17\x83\xfa\xf5\x95\xb3b\x05G\ +]\x10\x11-\xf0.\xb1\x8e}\xe1\xfc\xb7bC\x96}\ +\x00\x88\x0aV\x9dI\xd7N\x17\xf7\xfa]\x14JK\x95\ +\xb3h\x91]!\x9d\x07\x8c\x101\xc7\xbc\xddm\x00`\ +Y8\x7fZl\xc0r\x0f\x00\x1cw\xa9\xa2c\xdd\xb6\ +\x5c\xbe\x16\x87\x92\x92\xf4\xce\xb5-\x01}\xf3f\x95\xaa\ +]\x9bE\x1b\x11s\xc2\x1b\xc4\xea\xf6\x85\xf3\x87\xc5Z\ +,\xf3\x00\x10UN\x12?\xb1\xa9\xb0\x0e\x12\xdf\xf4\xbb\ +H\xe4\xe7\xab\xd4i\xa7\xd9\x13\xd2\xe7\xcf\xe7\xa8\x0b\x22\ +\xc6\xde\x1db\xa1}\xe1\xfc\x1e\xb1\x06\xcb;\x00D\x9d\ +\xe1\xe2?l*\xb0G\x89/e\xf2\xa0\xd1\x981\xf6\ +\x84\xf4^\xbdX\xc0\x111\xb6\xaer/\xfa[\x16\xce\ +o\x17\x8bY\xd6\x01 .\xf4\x17\xffjS\xa1m\xe3\ +\xb6\xeb\xf2\xbdp\xe8`lC\xaft\xfd\x80Q\xc3\x86\ +,\xe4\x88\x18+\xf5\x85\xfey\xf6\x05s\xed\x8db!\ +\xcb9\x00\xc4\x8d\xa3\xc5?\xdaTp\x1b\x8a\xf7f\xda\ ++}\xcb\x96\xf0C\xba\xbe\xc0\x9a\x9f\xcf\xa2\x8e\x88\xb1\ +P\xdf\x11\x9ahg8\xff\xb6\x98\xcf2\x0e\x00q\xa5\ +\xa5\xf8\x96M\x85\xb7\xc4\xbd\x84\xe4{1i\xd2D%\ +\xd7\xae\x0d?\xa4\x8f\x18\xc1\xc2\x8e\x88\x91\xf75\xb1\x9f\ +\x9d\xe1|\x09K7\x00\xe4\x02M\x12\xe9W\xd7\xac)\ +\xc0\xfa\xd5\xd1M\x19,(\xfb\xba\xa9,]\x1an@\ +\xdf\xb5K9\xcd\x9b\xb3\xc0#bd}Flo_\ +0\xffR<\x97%\x1b\x00r\x09\xfd\xea\xda\xf3\xb6\xed\ +\x94\x9c\x93\xc9\xe2R\x5c\xac\x9cy\xf3B\x0d\xe9\xa9K\ +/UNQ\x11\x0b=\x22F\xce\x87\xc5\xc3\xed\x0b\xe7\ +_\x88sX\xaa\x01 \x17\xa9#>j[H?U\ +\xdc\xe3\xf7R\x93>\x07>yr\xb8;\xe9\x13'\xb2\ +\xd8#b\xa4\xfc\xa9X\xdb\xbep\xae\xdf\xef\x98\xcc\x12\ +\x0d\x00\xb9\x8c\xee%{\xafm!}\x84\xf8v&m\ +\x18G\x8fVNee8\x01]\xff\xe7\x1ey$\x8b\ +>\x22F\xc2k\xc4j\xf6\x85\xf3\x8f\xc5\x13Y\x9a\x01\ +\x00\xd2!\xfdn\xdbBz\x7f\xf7\xd2\x92\xef\x85\xa7O\ +\x9f\xf4\xb9\xf00B\xfa\xbau\xca)-e\xf1GD\ +\xab\xdd%\x16\xd9\x17\xce?\x12G\xb3$\x03\x00\xfc\x97\ +j\xe2\x8fl\x0b\xe9\x1d\xc5\xe73Y\x80:tP\xce\ +\xd6\xad\xe1\x84\xf4\x193\x08\x00\x88h\xad\xcb\xed|\x80\ +\xe8/b?\x96b\x00\x80\x03\x87\xf4\x9bm\x0b\xe9\xfa\ +\xf2\xd2C\x99,DM\x9b\xa6w\xb4\xc3\x08\xe9\xc7\x1c\ +C\x10@D\xab\xdc+~\xcb\xce6\x8a\xf2\x8f\x96\xe8\ +\xcc\x12\x0c\x00\xf0\xcd\xe8\x87 \xae\xb0\xad\x80\xd7\x15\xef\ +\xcc\xa4\x0dc\x9d:\xcaY\xb6\xcc|@\xdf\xb2E\xa5\ +\xea\xd5#\x14 \xa2\x15\xbe+\x8e\xb13\x9c\xbf&6\ +g\xe9\x05\x00\xf0\xc6J\xdb\x0ayu\xf1\xbb\x99,N\ +%%\xca9\xff|\xf3!}\xc1\x82\xf4\xc5U\xc2\x01\ +\x22\x86\xe8\xabbo;\xc3\xf9\xd3bC\x96[\x00\x00\ +\x7fL\x15?\xb3\xa9\xa0\xebs\x93\x8b2Y\xa4t\x8f\ +\xf2\xd9\xb3\xcd\xf7G\x1f<\x98\x80\x80\x88\xa1\xf9\xa8\xd8\ +\xdc\xcep\xfe\xb3D\xbaA\x01\x00\x00d\xc0\x18\xf1\x9f\ +\xb6\x15\xf7Y\xeey\xca\x8c\xda0\x9a\x0c\xe8;w*\ +\xe7\x88#\x08\x0a\x88h\xdc;\xdd\xe3\x81\x16\x86\xf3k\ +\xc5\x02\x96W\x00\x80\xaa1H\xfc\x9bmE~T&\ +\xbd\xd2\xb5}\xfb\xaaTE\x85\xd1WFS\xd5\xaa\x11\ +\x18\x10\xd1\x987\x885\xec\x0c\xe7\x9b\xc4<\x96U\x00\ +\x80\xec\xd0)\x91\xbeioU\xb1\xef.\xbe\x90\xc9\x02\ +\xd6\xb1\xa3J\x1al\xc3\x98\xd2\xaf\x9c\x12\x1a\x10\xd1\x80\ +\x92\x80U\x81}\xc1\xfcK\xf1<\x96R\x00\x80\xec\xd3\ +R|\xc3\xb6\x90\xde\xdc=g\xe9{!k\xd5J9\ +\x9b7\x9b{e\xb4S'\xc2\x03\x22\x06\xea9v\xee\ +\x9a\xeb\xbbLg\xb2\x84\x02\x00\x04G\xb9\xf8\x9cm\x0b\ +\x80>gyG&\x0bZ\xfd\xfa\xcaY\xb1\xc2LH\ +\xbf\xfcrZ/\x22b \xee\x16O\xb53\x9c\xeb;\ +LcX:\x01\x00\x82\xa7\x9e\xf8\x84m\x0bA\x99\xf8\ +\x83L\x16\xb7\xd2R\xe5\x5cp\x81\x99\x90\xae\xdb=\xe6\ +\xe7\x13(\x101\xab=\xceO\xb07\x9c\x9f\xc8\x92\x09\ +\x00`\x8e\xd2D\xbaM\x96U\x0bB\xa1\xb85\x83\x05\ +.YX\xa8\x9cY\xb3\xcc\x84\xf4\xe1\xc3\x09\x15\x88\x98\ +\x15_\x11{\xd9\x19\xce\xff,\xf6c\xa9\x04\x000\x8f\ +n\x93u\xb5\x85\x0b\x83Z\xa8C\xb7\xdf\xc5.?_\ +%'M\x0a>\xa0\xef\xda\xa5\x9c\x16-\x08\x17\x88X\ +%\x9f\x12\xdb\xda\x19\xcew\x8b\x1dY\x22\x01\x00\xc2\xc5\ +\xbaWG\xb5\x93\xdcs\x99\xbe\x17\xbe\xa1C\xd3\x97:\ +\x83\xec\xea\xb2z\xb5JU\xafN\xc8@\xc4\x8c\xfc\x95\ +Xng8\x7fA<\x8ce\x11\x00\xc0\x0e\xa6\x88\x9f\ +\xda\xb6X\xf4\x10_\xcad\x01<\xfah\xe5\xec\xd8\x11\ +\xecN\xfa\x94)\x04\x0dD\x8cS\x8f\xf3_$\xd2\xc7\ +\x1f\x01\x00\xc0\x22\x86\x89\x1f\xd8\xb6h\xb4\x10\x1f\xcfd\ +!l\xdf^9[\xb6\x04\x1b\xd2{\xf4 p \xa2\ +g7\xda\xd9\xe3\xfc\xdf\xaf\x83\x16\xb2\x0c\x02\x00\xd8I\ +\x97\x84\x85\x0f\x1a5\x12\xef\xc9\xe4\xf2h\xb3f*\xb5\ +qcp\x01}\xd3&\xe5\xd4\xaeM\xf0@\xc4\x83\xd7\ +\x22{{\x9ckW%x\x1d\x14\x00\xc0z\xf4\x83F\ +\xaf\xd9\xb6\x88\xd4p\x7f\x1a\xf6\xbd8\xea\x00\xbdlY\ +p\xe7\xd1/\xbcP9\x05\x05\x84\x10D\x8cZ\x8f\xf3\ +/\xc4\x05,y\x00\x00\xd1A\xf7J\x7f\xcc\xb6\x05E\ +\xff4\xbc!\x93E\xb2\xa4$\xdd\xc3<\xa8\x9d\xf4\xb1\ +c\x09\x22\x88\xf85\xdf\x10\x07\xd9\x19\xce?\x16'\xb0\ +\xd4\x01\x00D\x0f+{\xa5kg\x89{\xfd.\x96\x85\ +\x85*9}z0\x01]w\x8d\xe9\xd8\x91@\x82\x88\ +\xff\xf1wb7;\xc3\xf9\xdf\xc4\xa1,q\x00\x00\xd1\ +E\xf7J\xbf\xc6\xc6\x90>\xc6}\x81\xcf\xd7\xa2\x99\x97\ +\xa7\x9c\xd1\xa3\x83\x09\xe9\xfa\xac;\xe7\xd1\x11Q|D\ +lfg8\x7f_\xec\xcc\xd2\x06\x00\x10}\xf2\xc5m\ +6\x86\xf4c\xc573Y@\x87\x0c\x09\xa6W\xba>\ +F\x93\x9fO@A\xcca\x7fio\x8f\xf3w\xc4\xf6\ +,i\x00\x00\xf1bQ\x22}\xa9\xc8\xaaE\xa7\x8b\xf8\ +|&\x0bi\xb7n*\x15D\xaf\xf4\xe3\x8f'\xa4 \ +\xe6\xa87\x8bev\x86\xf3g\xc5\xc6,c\x00\x00\xf1\ +d\xac\xf8\x91m\x8bO\xb9\xbbk\xe5w1M\xb5l\ +\x99n\x95\x98\xed\xf3\xe8\xba\x07;a\x05\x91\x1e\xe7v\ +x\xa7X\x83\xe5\x0b\x00 \xde\x0c\x14\xffl\xdb\x22T\ +[\xbc=\x93\x85\xb5aC\xe5\xacZ\x95\xdd\x90\xben\ +\x9dr\xca\xca\x08-\x889\xe2r1\xcf\xcep\xfe]\ +\xb1\x88e\x0b\x00 7\xe8\x90H\x9fg\xb4j1\xaa\ +&^\x9b\xc9\x02[\xab\x96r\x96.\xcdnH\x9f7\ +/})\x95\xf0\x82\x18\xeb\x07\x88\xe6\xda\xfb\x00\xd1\xba\ +\x04\x0f\x10\x01\x00\xe4\x1c\xbaW\xfa\xc3\xb6-Jz\x17\ +\xeb\x92L\x16\xdb\xe2\xe2t\xa8\xcefH\x1f6\x8c\x10\ +\x83\x18S\xdf\x11G\xd9\x19\xcc?\x15\xcfd\x89\x02\x00\ +\xc8]\x8a\xc5\x9bl\xdc=\xca\xa4WzRw`9\ +\xfd\xf4\xec\x05\xf4]\xbb\x94\xa3\xcf\xb9\x13f\x10c\xe5\ +Kb\x0f;\xc3\xf9\x07\xe2q,M\x00\x00\xa0\x7fB\ +\xddhcH?\xde\xdd\xe5\xf2\xdd+}\xc2\x84\xec\x85\ +\xf4\x95+U\xaazuB\x0dbL|Zlgg\ +8\xdf+veI\x02\x00\x80\xfd9/aa\x1bF\ +\xbd\xcb\xf5b&\x0b\xf1q\xc7e\xafW\xfa\xcc\x99\x04\ +\x1b\xc4\x18x\x9f\xbd=\xce_\x15[\xb2\x0c\x01\x00\xc0\ +\x81\x18/\xfe\xd3\xb6\xc5\xab\x85\xf8X\x86\xbd\xd2\x9dl\ +\xf5J\xe7<:b\xa4\xd5]\xa2j\xd9\x19\xce\x1fI\ +\xa4\xef\x04\x01\x00\x00|#}\xc4?\xda\xb6\x885\x14\ +\xef\xcedan\xdbV9[\xb6T9\xa0\xa7**\ +\x94\xd3\xba5A\x071\x82^\xe5v\x89\xb20\x9c\xdf\ +\x9aH\xdf\x05\x02\x00\x008$\xad\xc5\xd7m[\xccj\ +\x887d\xf2\xa0Q\xd3\xa6\xe9\xde\xe6Y\xe8\x8f\x9e\xa4\ +?:b\xa4\x5cg\xef\x03DW\x88\x05,7\x00\x00\ +\xe0\x87\xfa\xe2\xa3\xb6-jz\xa1\xdd\x90\xc9B]\xbf\ +\xberV\xac\xa8zH_\xb0@9\xba[\x0c\xc1\x07\ +\xd1\xfa\x1e\xe7\xb3\xec\x0c\xe6_&\xd2w~\x00\x00\x00\ +2\xa2\xa6x\xafm\x0b\x9c\xee\x95\xbe$\x93E\xbb\xb4\ +T9\x8b\x16U=\xa4\x9fp\x02\x01\x08\xd1b\xdf\x17\ +\xcf\xb43\x9c\x7f.\x9e\xc5\xd2\x02\x00\x00UE?3\ +}\xbd\x85\x0b\x9d\x9a\x22\xee\xf1\xbbxW\xabV\xf5\x07\ +\x8dtw\x98\x8e\x1d\x09B\x88<@\xe4\xc7\x8f\xc4\xb1\ +,)\x00\x00\x90M\xacl\xc38@|-\x93\x07\x8d\ +\xce8\xa3j\x97F7mRN\x9d:\x04\x22D\x8b\ +|A\xecfo\x8f\xf3.,#\x00\x00\x10\x04'\x8b\ +\x1f\xdb\xb6\xf8u\x10\x9f\xc9\xe4A\xa3\xd1\xa3\xab\xb6\x93\ +\xbex\xb1r\x0a\x0b\x09F\x88\x16\xa8[\xb16\xb7\xb7\ +\xc7y\x0b\x96\x0f\x00\x00\x08\x92~\xe2\x9fl[\x04\xf5\ +\xe3#\xbf\xcada\x1f5\xaaj\x0f\x1a\x8d\x1dK8\ +B\x0c\xd9{\xdcV\xac\x16\x86sz\x9c\x03\x00\x801\ +\x8e\x14\xdf\xb3m1,\x13\x7f\x98\xc9\x02\xdf\xb3\xa7r\ +v\xed\xca\xfc<\xfaQG\x11\x92\x10C\xf2\xfbn\x0b\ +V\x0b\xc39=\xce\x01\x00\xc08\x8d\xc5gl[\x14\ +\x8b\xc4\x8aL\x16\xfa\xa3\x8fV\xa9\x9d;3\x0b\xe9\x9b\ +7+\xa7^=\xc2\x12\xa2a\xb7\x8a\x85v\x86\xf3\xca\ +\x04=\xce\x01\x00 $J\xc5\x9f\xd9\xb68\xea6\x8c\ +\x8b2y\xd0\xa8M\x9b\xcc_\x1d]\xb6L\xa5t\x87\ +\x18B\x13\xa2\x11\x17\xb9s\xdd\xb2\xfa\xa3/\xd2\xd3\xe3\ +\x1c\x00\x00BG\xef\x12}\xdb\xc2\x1d,59\x836\ +\x8c\xfa\xd5\xd1\xd4\xfa\xf5\x99\x85\xf4\xe9\xd3\x09N\x88\x01\ +\xbbW\x9ci\xe7\xae\xf9\xa7\xe2T\x96\x04\x00\x00\xb0\x85\ +e\xdb\xe2\xaa\xfb&_\xe17,\ +\xe4\xe5)g\xc2\x04\xff\x8f\x18u\xeaD\xd0B\xcc\xc0\ +\x1f\x8b\xb5\xec\x0c\xe7\xdf\x13\x8b(\xef\x00\x00\x10e\xf4\ +Kz7\xd9\xb6\xc8f\xd4+]\x87\xf4\xf1\xe3\xfd]\ +\x1a\xdd\xb4I9u\xeb\x12\xb8\x10}\xf8m\xf7\xd11\ +\x0b\xc3\xf9\x12J:\x00\x00\xc4\x05\xdd\x86q\x93\x85\x8b\ +\xad\x9a\xe1\xf6U\xf6\x15 \x86\x0f\xe7\x11#\xc4\x80\x5c\ +i\xe7\x03D\x9f\x893(\xe5\x00\x00\x10G\xf4\x0b{\ +_\xd8\x16\xd2\x8f\xcf\xa0Wzj\xe0\xc0\xf4\x11\x16\xaf\ +!}\xda4\xc2\x17\xe2!<\xc7\xce]\xf3\x7f\x8ac\ +)\xdf\x00\x00\x10g&\xb8\x0b\x9eU\x8bp?\xf15\ +\xbf\x81b\xd0 \x7f!\xbdwoB\x18\xe27\xbc\x0e\ +:\xcd\xcep\xfe'\xb17e\x1b\x00\x00r\x81\xbe\xee\ +\xc2g\xd5b\xdcA|\xceo\xb8\xe8\xd1C9\xbbv\ +y\x0b\xe8\xf2\xff/\xd5\xa6\x0d\x81\x0cq?\xf5\xafW\ +\xa3\xec\x0c\xe7\xbb\xc5\x8e\x94k\x00\x00\xc8%\x8e\x14\xdf\ +\xb3mQ>B|\xd4o\xc8\xe8\xdcY9;vx\ +\xbb4\xbaa\x83J\xd5\xa9C0C\x14_\x17\xfb\xdb\ +\x19\xce\x9f\x17\x9bP\xa6\x01\x00 \x17\xd1\x0b\xe0\xb3\xb6\ +-\xceu\xc5\xbb\xfc\x86\x8dv\xed\x94\xb3m\x9b\xb7\x9d\ +\xf4\xc5\x8bU\xb2\xb0\x90\x80\x869\xed\x8bb7;\xc3\ +\xf9Cb\x1d\xca3\x00\x00\xe42\xfa\xb1\x8f_\xd8\xb6\ +H\xd7\xc8\xe0A\xa3}\xc7W\xb6n\xf5\x16\xd2'O\ +&\xa4a\xce\xfa\xb4\xd8\xc6\xcep~K\x22\xdd\x1a\x16\ +\x00\x00 \xe7\xd1\x0b\xe2\xcd\xb6-\xd6\xd5\xc4\xff\xf1\x1b\ +>\x9a5S\xce\xe6\xcd\xdeB\xfa\x80\x01\x845\xcc9\ +\x1f\x13\x9b\xd9\x19\xce\xaf\x13\x0b)\xc7\x00\x00\x00\xffE\ +\xf7J_e\xdb\xa2\xad\xfb1_\xe27\x844i\xa2\ +\x9c\xf5\xeb=]\x1au\xb84\x8a9\xe4\x1dbm\xfb\ +\x82\xf9\x97\x09\x1e \x02\x00\x008(V\xf6J_(\ +&\xfd\x84\x91\xf2r\xe5\xac[w\xe8K\xa3\x1b7*\ +\x87K\xa3\x98\x03\xfeX\xaci_8\xff\x5c\x9cG\xd9\ +\x05\x00\x0084'\x8b\x1f\xdb\x16\xd2'\x89{|\x86\ +\xf4\x94\x87\x9d\xf4\xe4\xc2\x85\xca)( \xc4al\xd5\ +\xf79J\xec\x0b\xe7\x1f\xbb\xb5\x06\x00\x00\x00<\xd2S\ +\xfc\xbdm!}\x80\xf8\x86\x9fpR\xaf\x9erV\xaf\ +>\xf4q\x973\xcf$\xc8a,\xdd.\x16\xd8\x17\xce\ +\xff\xe8\xd6\x18\x00\x00\x00\xf0IK\xf15\xdbB\xfaQ\ +\xe2K~\xba\xbbHHOy\x09\xe9\x03\x07\x12\xe80\ +V\xaev\xefqX6\x87\xdf\x14[S^\x01\x00\x00\ +2\xa7\x9e\xf8\x88m!\xbd\xad\xf8\xac\x9f\xb0R\xb7\xae\ +rV\xad:\xf4\xa5\xd1\xb6m\x09v\x18\x0b\xcf\xb1\xb3\ +S\xcbsbc\xca*\x00\x00@\xd5\xd1m\x18o\xb1\ +m\xb1?\xdc\xef\xab\xa3\xfa2\xe8!B:\x97F1\ +\xea&\xed\x0d\xe7\xf7&\xd2\xef.\x00\x00\x00@\x96(\ +\x10+m[\xf4\x1b\x8a\xbf\xf4\x13`j\xd5R\xce\xf2\ +\xe5\x07\xdfI_\xbaT9EE\x84=\x8c\x9c{\xc5\ +3\xed\x0c\xe77\x89\xd5(\xa3\x00\x00\x00\xc1\xb0\xca\xb6\ +\xc5\xbf\x8e\xf83?;\x8c5k\x1e:\xa4O\x9bF\ +\xe0\xc3H\xf9\xbe8\xd9\xcep~\xa5\xfb\x05\x1f\x00\x00\ +\x00\x02d\xaa\xf8/\x9bB@\xa9x\x93\x9f@#!\ +=y\xc9%\x07?\xee2x0\xc1\x0f#\xe1nq\ +\xac\x9d\xe1|%\xe5\x12\x00\x00\xc0\x1c#\xc4\xbf\xdb\x14\ +\x06\x8a\xc4\xab|\x86t\xe7`!\x9dK\xa3\x18\x01\xdf\ +\x11\x87\xd9\x17\xcc\xf5cg\xe7P&\x01\x00\x00\xccs\ +\x8c\xf8\x07\x9b\x82\x81\xee\xf7\xbc\xc9\xcfq\x97\xb22\xe5\ +,[v\xf0K\xa3\xba\x03\x0cA\x10-\xf4u\xb1\xaf\ +}\xe1\x5c\xff\xba6\x99\xf2\x08\x00\x00\x10\x1e\xcd\xc5W\ +-\x0b\x08\xfb\xbaXx\x0e:5j\xa8\xd4\x92%\x07\ +\xbd4\x9a\xaaV\x8d@\x88V\xf9\xbc\xd8\xce\xbep\xfe\ +\x818\x98\xb2\x08\x00\x00\x10>\xba\xaf\xf1s\xb6\x85\xf4\ +9n\xcb9\xcf\xc7]\x0evqt\xf2dB!Z\ +\x15\xce\xdb\xdb\x17\xce\xff,\xf6\xa5\x1c\x02\x00\x00\xd8C\ +-\xf1>\xdbB\xfa\xa9nw\x0bO\xc1\xa7\xac\xec\xe0\ +\x17G\x87\x0c!\x1cb\xe8>-\xb6\xb0/\x9c\xcbw\ +\xe1Dg\xca \x00\x00\x80}\xe8Vj\xffc[H\ +\x1f.\xbe\x9b\x85\x9d\xf4TE\x85r\xda\xb5#$b\ +h>(6\xb2/\x9c\xffNlB\xf9\x03\x00\x00\xb0\ +\x97\xbc\x84\x85\xbd\xd2\xfb\x89oz\x0dB\xf5\xea)g\ +\xed\xda\x03\xef\xa2\xaf_\xcfK\xa3\x18\x8a\xbfv\x1f\xe6\ +\xb2ln=&\xd6\xa5\xec\x01\x00\x00D\x83\xf9\x89t\ +\xab5k\xc2D/\xb7\xeb\x85\xa7@\xa4;\xb7\xacY\ +s\xe0\x90\xae\xbb\xbepi\x14\x0dz\xbf\xd8\xc0\xbep\ +~\xb7XJ\xa9\x03\x00\x00\x88\x16\x13\xc4\x8fm\x0a\x15\ +]\xc5\x97<\x86\xa2\xd4\xc1v\xd2\xe7\xccQN^\x1e\ +\xe1\x11\x03\xf7\xe7bm\xfb\xc2\xf9\xcdb5J\x1c\x00\ +\x00@4\x19\x9aH\xb7^\xb3&\x5c\xb4s\xbb`x\ +\x0aH\x8d\x1a\xa9\x94>\xd6r\xa0\x90>z4\x01\x12\ +\x03\xf5.\xb1\x96}\xe1\xfc\xdb\x89\xf4}\x13\x00\x00\x00\ +\x880}\xc4\xbf\xd8\x142:\x88\xbf\xf5\x1a\x94\xca\xcb\ +Uj\xc3\x86\xaf\x07\xf4\xcaJ\xe5\xf4\xe8A\x90\xc4@\ +\xbc\xdb\xce\x9d\xf3\xcb\x13\xe9{&\x00\x00\x00\x10\x03:\ +\x8a{l\x0a\x1b\x87\x8b\x8f{\x0dLM\x9b*g\xf3\ +\xe6\xafwv\xd9\xb1C9\xcd\x9a\x11(1\xab\xde*\ +\xd6\xb0+\x98\x7f)\x9eK\x19\x03\x00\x00\x88\x1f\xcd\xc4\ +\xd7l\x0a\xe9\x8d\xdc\xee\x18\x9e\x82\xd3\xe1\x87\x1f0\xa4\ +\xef;\xa7\xae\xdb3\x12,1\x0b\xde,\x96\xd8\x15\xce\ +?\x13\xa7R\xbe\x00\x00\x00\xe2KS\xf1\x05\x9bBz\ +\xb9\xdb_\xdaS\x80j\xd1B9[\xb7~=\xa4/\ +Z\xa4\x92\x85\x85\x04L\x8c\xdb\xce\xb9\x0e\xe7gR\xb6\ +\x00\x00\x00\xe2O\x99\xf8K\x9bBz-\xf7B\x9e\xa7\ + \xd5\xaa\x95r\xb6m\xfbzH\x9f:\x95\x90\x89\x19\ +{\x9dXdW8\xff\xa7x\x02\xe5\x0a\x00\x00 w\ +(\x16\x7fdSH\xd7;\x97\xb7x\x0dT\x9d;+\ +g\xd7\xae\xaf\x87\xf4\xfe\xfd\x09\x9b\xe8\xdb\xff\xb1/\x9c\ +\xeb\xceK\x83(S\x00\x00\x00\xb9\x87\xee\xa3|\x93M\ +!\xbd\xd4=f\xe0)Xu\xeb\xa6R\x15\x15_\xbd\ +4\xaa\xff\xfb\xf6\xed\x09\x9d\xe8\xd9\xeb\xed\x0b\xe7\x7f\x15\ +\xfbS\x9e\x00\x00\x00r\x17\xdd\xb2m\xb3M!]\x87\ +\xa5k\xbd\x06\xac\x01\x03\xbe\xbe\x8b\xae/\x926lH\ +\xf8\xc4C\xfam\xb1\xc0\xaep\xbe7\x91\xee\xb8\x04\x00\ +\x00\x00\x90X\x92H\xb7r\xb3\x22\xa8\xe8\xd0t\xa5\xd7\ +\xa05j\xd4\xd7\xdb/\xaeX\xa1\x9c\x92\x12B(F\ +i\xe7\xfc-\xb1\x05\xa5\x08\x00\x00\x00\xf6gZ\x22\xdd\ +5\xc2\x9a\x90~\x85\xd7\xc05a\xc2\xd7w\xd2\xcf:\ +K9yy\x84Q\xfc\x9a\xdf\xb1/\x9c\xeb\xceJM\ +(A\x00\x00\x00p N\x12?\xb6)\xa4Wz\x09\ +]:\x88O\x99\xf2\xf5\x90>f\x0c\x81\x14\xbf\xe2w\ +\xed\x0b\xe7O\x8a\xf5(=\x00\x00\x00p0\x86\x8a\x1f\ +\xda\x14\xd2+\xbc\x84\xaf\xfc|\xe5\xcc\x9e\xfd\xd5\x80^\ +Y\xa9\x9cc\x8e!\x98\xe2>o\xb0/\x9c?\x22\xd6\ +\xa6\xe4\x00\x00\x00\x80\x17\x06\x8a\x7f\xb3%\xc8\x14\xb9\xad\ +\xf0\x0e\x19\xc2\x8a\x8a\x94\xb3p\xe1WC\xfa\x8e\x1d\xca\ +i\xde\x9c\x80\x9a\xe3\xfe\xc8\xbe\x17B\x1f\x12kRj\ +\x00\x00\x00\xc0\x0f\xba\x9bD2a\xd1N\xfaN/a\ +\xaczu\xe5,]\xfa\xd5K\xa3\xeb\xd7\xabT\x9d:\ +\x04\xd5\x1c\xf5F\xb1\x9a]\xe1\xfc\x8eD\xfa-\x02\x00\ +\x00\x00\x00\xdf\xb4\x13\xf7\xd8\x14\xd2wx\x08d\xc9\xb2\ +2\xe5\xe8N.\xfb\x87\xf4\xc5\x8bU\xb2\xb0\x90\xc0\x9a\ +c\xea\xbe\xfa\xd5\xed\x0a\xe7\xb7'\xd2o\x10\x00\x00\x00\ +\x00dL[q\xb7-\x01\xa7\xd0\xed_}\xc8pV\ +\xb7\xaer.\xbb\xec\xab\xc7]\xce<\x93\xd0\x9aC\xde\ +)\x96\xd9\x15\xce\xe5\x1f\x89\x9ds\x00\x00\x00\xc8\x0e\xcd\ +\xc47\x12\x89\x88\xb5`l\xd2$\xfdp\xd1\xfe!\xfd\ +\xd8c\x09\xaf9\xe0]bM\xbb\xc2\xf9\x8f\x13\xec\x9c\ +\x03\x00\x00@\x96\xd1\xad\xe0~cK\xe0\xc9\x13\xd7{\ +\x09k\xed\xda\xa9\xd4\xce\x9d\xff\x0d\xe8\xbbv\xed\xfb\x7f\ +#\xc4r!\xd4\xa0\xd7\x8b\x05\x94\x10\x00\x00\x00\x08\x82\ +:\xe2c\x91\x0b\xe9]\xba(\xa7\xa2\xe2\xbf!\xfd\xf2\ +\xcbU\xb2Q#\xc2l\x0c\xbd]\xacaW8\xaf\x14\ +\xf3(\x1d\x00\x00\x00\x10$\xb5m\x0a\xe9\xf9\x1e/\x8e\ +:\xc3\x86}\xf5\xa8\x8b\xbeDZRB\xa8\x8d\x91\xf7\ +\x8a\xb5\xed\x0a\xe7\xd7\x8a\xf9\x94\x0c\x00\x00\x000A\xa9\ +x\x9fM!\xdd\xd3\x8b\xa3\x13'~5\xa4\x9f{n\ +\xfa\x81#\xc2m\xe4}@\xackW8\xbf2\xc1\xce\ +9\x00\x00\x00\x18F_x\xbb\xcd\xa6\x90\xbe\xebPA\ +./\xef\xeb\xaf\x8d\x9et\x12\x017\xe2>(\xd6\xb7\ ++\x9c\xaf\xa1<\x00\x00\x00@X\xe8\x8bo\xdf\xb1%\ +\x18\xe9\xee.Wzymt\xd1\xa2\xaf\x86\xf4\xbe}\ +\x09\xba\x11\xf5I\xb1\xb1]\xe1|\x09e\x01\x00\x00\x00\ +\xc2F\xff\x8c\xbf\xcb\xa6\x90~\xd5\xa1\x82]i\xa9J\ +\xad\x5c\xf9\xdf\x80\xbec\x87rZ\xb4 \xf0F\xcc\xe7\ +\xc5\x16\x84s\x00\x00\x00\x80\x03\xa2/\xc2]aKP\ +*\x16o9T\xc0k\xd0@9\x1b7\xfe\xf7\xa5\xd1\ +\x0d\x1b\x94S\xa7\x0e\xc17\x22\xbe&v\xb6+\x9c\xaf\ +\xa6\x0c\x00\x00\x00\x80m\xe8\x9d\xf4u\xb6\x04&\xdd\x07\ +\xfb\xc7\x87\x0az\xcd\x9b\xab\xffk\xef\xfec\xed\xae\xeb\ +;\x8e\x7fo\x7f\xd1\xd6\xda\x9f\x16\x1a\x1bhK\xaf\xa6\ +\x19\xb8D\xaa-m\x88s\xcd\xbaF\x94\x15\x9dT\xc6\ +\xa6\x80\xa3\xb9\x13\x7f\xc4\x94\x8b\xd8\xc9\xc0\x16*k\xb5\ ++\xed\xed6\xdc2\xe6\xb6f,\xe0d\xd9\x961A\ +\x13\xc1X\x7f!n\xc8HQA\x84\xdes\x8d\x1a\xa3\ +\x9bf*\xb4_\xdf\xdf\x9d\xe3N[\xee\xbd\xed\xed\xfd\ +\xf1\xf9\x9cs\x1e\x8f\xe4\xf5o\xd3\x9c\xf3=\xc9\xb3\xa7\ +\xdf\xf3\xf9\xd6\xf6\xeci~\x93\xfe\xfe\xf7\x97\x03\xd3\xa6\ +\x09\xe0\xcc\xf7\xcd\xd8\xab\xf3\x8a\xf3\x9d>\xfe\x00@\xce\ +\xae\xcf%\x9c\xa6\xc7\xee\x19\xe9\x19\xe9W^)\x823\ +\x8f\xf3W\xf9A(\x00\xc0\x88\xf5\x16\xad\xf4M\xfa\xba\ +u\xc7\xffht\xfdz1\x9c\xe1\x9e\x8e\xbd&\xaf8\ +\xbf\xd5G\x1d\x00h%7\xe5\x12R\xd5\xc3k\xee\x1f\ +\xc9\x19\xe9\xfb\xf7\x97\xb5\xf3\xcf\x17\xc5\x19\xedp\xec\xcd\ +y\xc5y\xf5\xc3h\xe7\x9c\x03\x00-gK.A5\ +;v\xdf0\x01\xd8_=\xb0\xe8\x1d\xefhF\xfa\xae\ +]em\xe1Bq\x9cI\x9co\xca+\xceo\xf3\xd1\ +\x06\x00Z\xd9{cGs\x89\xf4O\x9e\xec\x8c\xf4\xf7\ +\xbd\xaf\x19\xe9\xdb\xb7\x97\xb5Y\xb3Dr\xe2]\x9dW\ +\x9c\xff\xb1\x8f4\x00\xd0\x0e\xfe \x97H_\xd0x,\ +\xfc\x90A8gNY\xdb\xb1\xa3\x19\xe9\xef~w\xfd\ +\xdbu\xa1\x9cd[\xdc\xd6\x02\x000nzr\x89\xf4\ +\x85\xb1\x07\x87\x89\xc2\x81\xee\xee\xb2\xb6wo3\xd27\ +n\x14\xcb\x09vc^q\xde'\xce\x01\x80vt]\ +.\xc1uN\xec\xcb\xc3\x05\xe2\xaaU\xc7\x9f\xec\xb2f\ +\x8dh\x9e\xc0\xed\x8fM\xca'\xce?V\xd4\x1f\xc6\x05\ +\x00\xd0\x966\xc7\x8e\xe4\x10^K\x1a\x8f\x8b\x1f2\x14\ +/\xbd\xb4\x19\xe8\xb7\xdf^\xd6\x96.\x15\xcf\x13\xb0;\ +c\x93\xf3\x89\xf3?+|s\x0e\x00t\x80kr\x89\ +\xf4\x15\xb1\xc7\x87\x8a\xc5\xae\xae\xb2\xbf\xa7\xa7\x19\xe9\x1f\ +\xfaP\xfd\x1eu\x11=n\xfb\xe7\xc6\x03\xa62\x89\xf3\ +;\xc49\x00\xd0I~?\x97H_\xd9xB\xe5\xa0\ +\xf7\xa3O\x9f^\xd6>\xf0\x81f\xa4_w]Y\x9b\ +2EL\x8f\xc3\x1e\x8a\xcds[\x0b\x00@R\xef,\ +2\xf9\xe1\xe8\xebb\xcf\x0e\x15\x8f\x0b\x16\x94\x03;w\ +6#}\xd3&A=\xc6{4\xb64\x9f8\xbf'\ +6\xc5\xc7\x13\x00\xe8To/2\xf9&\xfd\x8d\x8d\x87\ +\xe2\x0c\x1a\x91\xcb\x97\x1fw\xb2K\xff\xda\xb5\xc2z\x8c\ +v\xa8q\xabQ&q~wl\xb2\x8f%\x00\xd0\xe9\ +\xdeUd\xf2M\xfaU\xc3\xc5du\x92K#\xd0\x07\ +\xaaX\xf7\xa3\xd1Q\xef\xe9\xd8\xda|\xe2\xfc\xbe\xd84\ +\x1fG\x00\x80\xba\xf7f\x12ie\xef0A\xd9_\xdd\ +\xde\xe2G\xa3c\xb2\xea\x7f+~+\x9f8\x7f(6\ +\xd3\xc7\x10\x00\xe0x\xd9\x9c\x93\xbem\xa8@\xaf\x9e*\ +\xfa\x9e\xf74\xbfI\xef\xed\xf5\xa3\xd1\xd3\xdc\x95\xf9\xc4\ +\xf9\xc3\xb19>~\x00\x00\x83\xdb\x99C\xb4U\xe7p\ +\xff\xd5Pq9sfY\xbb\xf9\xe6f\xa4_~\xb9\ +\xe0\x1e\xe1\xb6\xe7\x13\xe7\xdf\x8c\xbd\xd4\xc7\x0e\x00`x\ +;r\x88\xb7\xa9\xb1\x03CE\xe6\xe2\xc5\xe5@\xf5\xf0\ +\xa2_\xde\xeeR=yTx\x9f\xd2\xf6\xc4\xba\xf2\x88\ +\xf3\xa7b\x8b}\xdc\x00\x00NM\x16\xdf\xa4\xcf\x88\xfd\ +\xd3P\xb1\xb9re3\xd0\xf7\xed+\x07\xba\xbb\x05\xf8\ +Iv\xa0\xf1\x0f\x9f\x0c\xde\xdb\xf8\xeb\x14\xcb}\xcc\x00\ +\x00N]\xf5\x04\xc7?\xcd!\xd2g\xc7\x1e\x18*:\ +/\xbb\xacy\xab\xcbm\xb7\x95\x03s\xe7\x0a\xf1!\xf6\ +/\x8d\x7f\xf0d\xf0\x9e~?v\xbe\x8f\x18\x00\xc0\xe9\ +E\xfa\x1d9D\xfaY\xb1/\x0c\x16\x9e\x93'\x97\xb5\ +-[\x9a\xdf\xa4\xf7\xf6\x96\xfd~4\xfa\x82}66\ +?\x8f8\xff\xef\xd8\xab}\xb4\x00\x00N_\xf5\xd0\x98\ +\xbbs\x88\xf4\x97\xc5\x1e\x1f,@\xe7\xcf/k\xbbv\ +5#\xbd\xfaV]\x94\xff\xff\x1e\x8b-\xcf#\xce\x7f\ +\x1a\xfbM\x1f)\x00\x80\xd1\x9b\x1a\xbb7\x87H_\x1d\ +\xfb\xd6`!\xfa\xf2\x97\x97\xb5\xbe\xbef\xa4_x\xa1\ +8o<\x88hU\x1eq\xfe\x5c\xec\x8d>J\x00\x00\ +c\xa7\xfa&\xfd\x1fr\x88\xf4\xf5\xb1g\x07\x0b\xd2\x0d\ +\x1b\x9a\x81^\x9d\xf0r\xf6\xd9\x1d\xff \xa27\xe4\x13\ +\xe7o\xf2\x11\x02\x00\x18{\xd3c\x0f\xe4\x10\xe9\xd7\x0e\ +\x16\xa5]]em\xf3\xe6f\xa4Wg\xa5\xcf\x98\xd1\ +\xb1\x81~C\x1eq~4v\xad\x8f\x0e\x00\xc0\xf8\x99\ +Q\xd4\x1f\xcb\x9e<\xfen\x1e,L#\xc8\x07\xb6m\ +kFzOO=\xdc;,\xce\xf7\xe5s\xd6\xf9u\ +>2\x00\x00\xe3\xafz,\xfb#\xa9\xe3oR\xec/\ +\x86x\x88Qm\xcf\x9ef\xa4\xaf[\xd7Qq\xfe\xf1\ +|\xce:\xdf\xed\xa3\x02\x000q\xce\x8c=\x91:\x02\ +\xcf\x18\xeaAF\x17]\xd4<\x1f}\xef\xde\xb2\xb6d\ +IG\xc4\xf9\xc1\xd8\xbc<\xe2\xfco\x8b\xfa1\x9d\x00\ +\x00L\xa0s\x8b\xfa\x13!\x93\xc6\xe0\xbc\xc69\xdf/\ +\x08\xd6+\xaeh~\x8b~\xeb\xade\xedE/j\xeb\ +8?\x14\xeb\xce#\xce\xef/\xea'\xff\x00\x00\x90\xc0\ ++b?H\x1d\x85\xe7\xc4\xfe\xf3\x84`\xad\x1eX4\ +p\xc3\x0d\xcdo\xd2\xab\x1f\x90\xb6i\x9c?\x13{M\ +\x1eq\xfe\xd5\xd8l\x1f\x0b\x00\x80\xb4\xd6\x15\xf5\x87\xd0\ +$\x8d\xc3U\x83\x9d\x91\xbepaY\xfb\xc8G\x9a\xdf\ +\xa4\xaf^\xdd\x96\x81\xbe9\x8f8?\x1c;\xc7\xc7\x01\ +\x00 \x0f\xaf\x8f\xfd}l\x08\xafYS\x0f\xf4\xb7\xbd\ +-\xbb@\xef\xcd\xe3G\xa1\xefr\xd9\x02\x00\xb4\xb7\xde\ +\xd4\xd1\xb9,\xf6\xf8\xb11|\xcd5e\xff-\xb7d\ +\x15\xe7\x07b\x93\xd3\xc7\xf9G]\xae\x00\x00\x9d\xa1/\ +u\xa4_\x14{\xe6\x97A#}j\xe3!\ +@9\x04\xfa\x1f\xa6\x8f\xf3\xea\x94\x9d\x95.K\x00\x80\ +\xce\x96\xfc\x8c\xf4\x85\xb1\x87\x13\xc7\xf9]\x8dc \x13\ +\xbe\x0eGb\xbf\xedr\x04\x00\xa0\x92\xfc\x8c\xf4\xf3b\ +O&\x8a\xf3\xaf\xc4^\x92\xfe\xdb\xf3\xad.C\x00\x00\ +\x8eU\x9d\x91\xfe\x5c\xcaH}S\x828\x7f:v\x81\ +\xe3\x14\x01\x00\xc8\xd4\x96\xc4\xa1Z\xde2\xc1\x81\xde\x93\ +>\xce?W\xd4\x7f\xb0\x0b\x00\x00\x83\xda\x972X\xa7\ +\xc4>>Aq~G\xac+m\x9c\x7f+\xb6\xd0%\ +\x07\x00\xc0p&\xc5\xeeM\x19\xe9sc_\x18\xe78\ +\xffLlf\xda8\xffQl\x85\xcb\x0d\x00\x80S1\ +#\xf6\xa5\x22\xf1\x8fF\x9f\x1a\xa78\xffzly\xfa\ +\x13[6\xba\xcc\x00\x00\x18\x89\x97\x16\xf5\x87\xe6$\x0b\ +\xd9\xdf\x1d\xa7@\xbf4\xfd}\xe7\xdb\x5c^\x00\x00\x9c\ +\x8e\xea\xa19?I\x19\xb3\xbb\xc78\xce\xff$}\x9c\ +\xdf\x13\xebri\x01\x00p\xba\xde\x1c;\x9a*h\xcf\ +\x88\xdd7Fq~\x7f\xe3\xcfK\x18\xe7_\x8b\xcdr\ +I\x01\x000Z\x1fL\x18\xb5\xe5\xe2\xd8c\xa3\x8c\xf3\ +'b\xcb\xd2\xc6\xf9\xf7\x8a\xfaS[\x01\x00`\xd4\xaa\ +\x93]>\x912\xd2\xd7\xc7\x0e\x8f\x22\xd07\xa5\xffQ\ +\xe8%.#\x00\x00\xc6Ruk\xc6\xa3)#\xbd\xf7\ +4\xe3\xbc/\xfd}\xe7;\x5c>\x00\x00\x8c\x87\xead\ +\x97\xfeT\xa1;)v`\x84q\xfe`\xfa\xf3\xce\xff\ +\xb5\xa8\xff\x0f\x04\x00\x00\x8c\x8b\xb5\xb1\x9f\x16\x09\x1fb\ +\xf4\xc5S\x8c\xf3\xea\x1c\xf5\x15i\xe3\xfc\x1b\xb1\xb9.\ +\x19\x00\x00\xc6\xdb\x95\x09\xa3\xb7|e\xec\xdb\xa7\x10\xe8\ +W\xa7\x8d\xf3\x1f\xc7^\xe1R\x01\x00`\xa2\xf4\xa5\x8c\ +\xf4\x9e\x93\xc4\xf9\x9d\xe9\xef;\xff\x1d\x97\x08\x00\x00\x13\ +iJ\xec\xd3\xa9\x02\xb8+\xf6\x97C\xc4\xf9\x97bs\ +\xd2\xc6\xf9>\x97\x07\x00\x00)\xcc/\xea\xf7Y'\x09\ +\xe1\xd9\xb1\x83'\xc4\xf9\xb3\xb1\xd5i\xe3\xfc\xc1\xd8T\ +\x97\x06\x00\x00\xa9\x5c\x10\xfb\xdfTA|\xc1\x09\xf7\xa3\ +oM\x1b\xe7\xdf\x8f\x9d\xed\x92\x00\x00 \xb5\xab\x13F\ +\xf1\xff\xfd\x18\xb4\x8a\xf3\x7f\x8fMI\xf7\xf78\x1a\xbb\ +\xd8\xa5\x00\x00@.nO\x19\xe9\xbbbK\xd2~{\ +\xbe\xcd%\x00\x00@N\xa6\xc5>_$\xfc\xd1h\xc2\ +8\x7f\xa8\xa8\xffh\x16\x00\x00\xb2rV\xecp\x91\xfe\ +\x88\xc3\x89\x5c\xf5d\xd53\xbd\xf5\x00\x00\xe4\xea\xc2\xd8\ +\xcf:$\xce\x9f\x8f\xfd\x9a\xb7\x1c\x00\x80\xdc\xbd\xb3C\ +\x02\xfdFo5\x00\x00\xad\xe2\xce6\x8f\xf3\xfbb\x93\ +\xbc\xcd\x00\x00\xb4\x8aY\xb1Cm\x1a\xe7\xdf\x89-\xf2\ +\x16\x03\x00\xd0j\xce\x8f\xfd\xa4\xcd\xe2\xbc:\xef|\x83\ +\xb7\x16\x00\x80V\xb5\xa9\xcd\x02}\x87\xb7\x14\x00\x80V\ +\xd7\xd7&q~\xb0p\xde9\x00\x00m`j\xecs\ +-\x1e\xe7?\x8c-\xf3V\x02\x00\xd0.\xce\x8e}\xaf\ +\x85\x03\xfd2o!\x00\x00\xed\xe6u\xb1#-\x18\xe7\ +\x7f\xed\xad\x03\x00\xa0]\xedj\xb18\x7f26\xc7\xdb\ +\x06\x00@\xbb\xaa\xeeG\xffb\x8b\xc4\xf9s\xb1U\xde\ +2\x00\x00\xda\xdd\xb9E\xfdG\x97\xb9\x07\xfaM\xde*\ +\x00\x00:E\xee\xe7\xa3;R\x11\x00\x80\x8e\xf3\xd1L\ +\xe3\xfc\x7fb\xcb\xbd=\x00\x00t\x9a3b_\xc90\ +\xd0\xdf\xea\xad\x01\x00\xa0Su\xc7~\x94Q\x9c\xdf\xe5\ +-\x01\x00\xa0\xd3\xbd%\x938\xffvl\xae\xb7\x03\x00\ +\x00\x8a\xe2\xef\x13\xc7\xf9\xd1\xa2\xfe %\x00\x00 \xcc\ +\x8b=\x930\xd0\xef\xf0\x16\x00\x00\xc0\xf1^\x1b;\x92\ + \xce\x9f\x8a\xbd\xd8\xcb\x0f\x00\x00/\xb4m\x82\xe3\xfc\ +\xf9\xd8\x1a/;\x00\x00\x0c\xaez8\xd0\xc1\x09\x0c\xf4\ +]^r\x00\x00\x18\xde\xb9\xc5\xc4\x1c\xbd\xf8\xb5\xa2~\ +\x16;\x00\x00p\x12W\x8ds\x9c\xff<\xf6J/3\ +\x00\x00\x9c\xba\xbb\xc61\xd0\xb7{y\x01\x00`d^\ +\x12\xeb\x1f\x878\x7f\xacpk\x0b\x00\x00\x9c\x96\xea\xe1\ +AG\x8b\xb1=\xb5e\x95\x97\x15\x00\x00N\xdf\xde1\ +\x0c\xf4[\xbc\x9c\x00\x000:\xd5\xed(\x8f\x8eA\x9c\ +W\x7f\xc64/'\x00\x00\x8c^u\xe2\xca\xcf\x0a\xa7\ +\xb6\x00\x00@6\xb6\x8e\x22\xd0o\xf3\xf2\x01\x00\xc0\xd8\ +\x9a\x14\xfbL\xe1\xd4\x16\x00\x00\xc8\xc6\xb2bdO\x19\ +\xadNmY\xede\x03\x00\x80\xf1\xf3\xf6\x11\x04\xfa.\ +/\x17\x00\x00\x8c\xbf\xbbO!\xce\xff\xabpk\x0b\x00\ +\x00L\x88\xea)\xa3\x03\xc5\xf0\xb7\xb6\x5c\xe8e\x02\x00\ +\x80\x89\xb3\xa1\x18\xfa)\xa3\xbb\xbd<\x00\x000\xf1\xfe\ +|\x908\xffzl\x86\x97\x06\x00\x00&\xde\xcc\xd8\xa1\ +\xe2\xf8[[\xd6xY\x00\x00 \x9d\x95E\xfdI\xa1\ +U\xa0\xef\xf5r\x00\x00@z\x1f\x8c}\xa3\xa8\x7f\xa3\ +\x0e\x00\x00$6-v\x81\x97\x01\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x0e\xf2\x0b@\ +;\x84\xc7\x9dY\x0c\xd3\x00\x00\x00\x00IEND\xae\ +B`\x82\ +\x00\x00/`\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x01[\x00\x00\x01\x5c\x08\x06\x00\x00\x00f\xca\x1dU\ +\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\ +\x09pHYs\x00\x00\x0d\xd7\x00\x00\x0d\xd7\x01B(\ +\x9bx\x00\x00\x00\x07tIME\x07\xdc\x03\x09\x08\x1f\ +%\x1b\xcd\xc8\xcf\x00\x00\x00\x06bKGD\x00\xff\x00\ +\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00.\xe0IDATx\ +\xda\xed\x9d\x09t\x15U\xb6\xfe\xaf\xb6C\xdb-\xdc\x9b\ +\x00b\xdb\xb4\xa2\xb6\xf6\xa0\xdd\xb6\xa2>q\xa0\xaa\x92\ +0*\x8a \xa2\x88\x8a8\xb7-\x88\xa08a\xa7E\ +Q[[\x14'\x22!u+\x84\x00\x81\x10H \x10\ +\xa6@\x98\xc7\x80!\xcc\x90\x90\x89\x84\x04\x12\x12\x12\x12\ +\x02\xa9W\xbb\x82\x1aHn\x86\x9b[u\xeb\xd4\xf9~\ +\xff\xf5\xad\xf7_\xbd^?\xaa\xce>\xe7\xcb\xb9\xa7\xf6\ +\xd9\xdb\xe1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x18@\x07Y\xbc2P\x11\xba\x06\xc8B_\x97,\ +\x0eu\xb9\xc5QNE\xfcX\xfb\x9f\xe1\x9a\xe24\xa5\ +\xb8\xdcB\xba\xa6\x03\xb5\x12\x0b5\x1d\xd3\xfe\xff\xc7\xb5\ +\xff\xa9\xd6\x97\xfe\x9f\x1f\xab\xfd\xdf\xfb\xe9\xbf\xa3\xff\xf7\ +Wj\xff\xd9\x1cM\x93\x9dni<\xfd;\xf4\xef\xd1\ +\xbf\x1b(\x8bw\xd1s \x1a\x00\x00v\x09\xebrq\ +\x80\x12\xfcw\xcd\xe0\x06\xe8\x06\xe7\x16\xbfq*\xc2\x82\ +Z\x03\x14+\x1a6L\xbf\xa9\xe2\xecs\xcd\xd7\xf4\xb5\ +K\x91^w\xc9R\xff\x00\xb9\xdb\xdf\xe8=\x10L\x00\ +\x80\xffQ\x1d\x17\x04\xba\xa5\x9b\x9c\xb20P\xdb1\x86\ +jf\x95\xa0)\xcfbf\xdaZ\xe5\xe9\xef\xa5\xbd\x1f\ +\xbd'\xbd/\xbd7\x82\x0f\x000\x8e\x89\xbd/\x0d\x8c\ +\x08\xba\xdb\xe9\x16Gk\xe63W\xdb\x11\xe6\xda\xccX\ +\x9b)\xfd\xbd\xe9\xb8c\x14\x1d\x878b\x06^\x82\xc9\ +\x01\x00\xf0\x9a6Jp;\x97[z0\xc0-|\xaa\ +\x19\xcb*\xcddO\xf2i\xae\x8d\xeb\xec\xb8\xa4\xd0\xb9\ +3\x9d\x07\xb7\x0d\xef\x19\x88\xd9\x03\x00ht\xe7Jf\ +\xa1\x99k\xd8\xd9\x0fS0S\xefw\xbf\xf4\x91\xee+\ +\xcd\x80Ch\x5c1\xb9\x00\xe0\x9c\xc0(\xb1\x93\xb63\ +{V3\x88Yg\xbf\xe8\xc3(}o\xbcG\xb5?\ +`3]\xb24\xac\x9d\x12\xf4{\xcc:\x00\xf89\x1e\ +\xb8\xb1\xf6\x83\x96\xfe\x15\x1efh\xbe\xf9\xa6\xd3\xf8\xb7\ +\x95\xbb\xdd\x80\xd9\x08\x80\xcdp\xba\x83\xae\x87\xc1Z\xd7\ +x\x9d\x11!\xd7a\x96\x02\xc0(\x9db\xba^\xe6r\ +KOi\x8bz\xa9\xa6\xd306K\x8b\xe2\xb38@\ +\x11\x87t\x96\xc5_c\xf6\x02\xc0\xc2.V\x11C\x02\ +\x14)\x06\xd9\x03\xcc\xaa\xd4\xa5H\x91\xfa\xc75\x00\x80\ +\xe5\xcea\xdbi\x8bs\x8cf\xb0;aV\xf6:f\ +\xa0\xb8\x22\x9d\x0c\x00?\xe3\x92\xc5\xce\x94b\xe4\xb9n\ +\x00d\x13\x95h\x9a\xe0\x0a\x0f\xba\x06\xb3\x1e\x00\x93\x8f\ +\x0aj\xaf\xc7\x0ag`D\x5c\xedt)\xde\x09\x01\x91\ +\xe2\xbdX\x05\x00\x18E\xb2xQ\xed\x07/a\x0bL\ +\x07\xd2\xb4\x99\xe6\x83#f\xe0\xaf\xb08\x00\xf0\x05\xa1\ +\xa1\x17\x06\xc8\xd2`\xa4mA\x1e\x94\xa6\xfd\xd2\x19D\ +\xf3\x04\x8b\x05\x00o\xd0v,N\xb7\xf4\x82\xb6\x982\ +`(P3j4\xec\xc2N\x17\x80\x96\xa0:.\xd0\ +\xcb\x16b'\x0by\xa7\x1d4\x7fP\x0a\x12\x80Fp\ +EJ\x82\xb6XV\xc30 \x1f|L[\x89\x0fi\ +\x00\x9c\x07u\x068{\xd3\x0b&\x01\xf9ZK4\xd3\ +\xbd\x19\xab\x0cp\xcd\xe5\x11\xf7u\xa8-i(V\xc3\ +\x14 \x03u\x8a\xe6Y\x9bh\xb1=V\x1d\xe0\xed\xe3\ +\xd7%t3\x08e\x0d!\xb3\xcb=\xba\x14q\x04\xa5\ +\x11b\x11\x02\xfb\x1f\x19\xb8\xa5{\xb4\x89\x9f\x8a\x85\x0f\ +\xf93G\x97:\x0cc5\x02[B\xf5\x0b\xa8@\x0c\ +\x16:d\x11\xd5P\xc1\x1b\xd4]\x00\xb6\xe2l\xa9\xc3\ +|,p\xc8\x82\xf9\xb9\x87\x9d\x8a\xf8\x08V)`\x1a\ +j;s\xb6\xc57\x166\xc3\xfaG\xec\xe3\xeaK\xab\ +\xc6\xab\x13\xd2\xa2\xd5y\x99+\xd5-\x85\xbb\xd4\xbd%\ +\x87\xd4\x8c\xd2\xad\x06\xb8\ +%\xd6\xde3\x01m{\x00\xa3g\xb3\xc2\xe3\xda\x04.\ +\x84Y\xb1\xa9\xee\x0b^Q\xbf\xdf9[\xcd9Q\xa0\ +zCQe\x89\xaa\xec\x9d\xaf>\xbcx\xb4\x1a\xa8\xb0\ +b\xbcB\x81\xd3-=\x8a\xd5\x0b\x989\x9b\xd5&\xee\ +\x1c\x18\x16{\x22S|v\xe58}\xa7\xeaKh\xf7\ +;r\xdd\x17\xea\x15\x91!l\x8c\x85\x22\xc4\xd2<\xc6\ +j\x06\xd6\xdd\xcd\xcaR\x1f\x9c\xcd\xb2\xa9\x9e\x89\xff\xf2\ +\xb9\xc9\x9e\xcf~\xcdt\x07-}\x9b\x99\xb3\xdc@Y\ +\xec\x85U\x0d\xac\xc5\xc4\xde\x97\xd6\x16\xf1\x16k`\x5c\ +l\xa9\xe3\xd4\xee\xea\xa4\x9d\xb1j\x8d\xf6\xff\xcc\x82\xce\ +};G\xf7e#cA\x9b\xd7\x94\x17\x8eE\x0e\xfc\ +\x0e\xb5\xa4\xd6&\xe4\x06\x18\x17{\xbaqf\x7fuC\ +\xc1\x0e\xd5\x1f\xd0\x07\xb6\xdb\xe7\x0cae\x97\xbb\x16\x1d\ +\x80\x81_q)\xe2\xd3h\xac\xc8\xa6\xba\xce}F\xcd\ +\xf6\xf2\xe3\x97\xaf(\xae*U\xfb.\x1a\xc9\xca\x98\x95\ +\xe9\xd5\xc4\x000\x95\xb0.\x17\x9f\xadi\x00\xe3bP\ +\xdd\xe2\x9fWK\xaa\xcaT+Pu\xa6Z\x1d\xb0\xe4\ +Mv.B\xd0\xb1\x02\xae\xfb\x023\xf8\xed\xe4\xe0\x8e\ +T\xbe\x0e\xa6\xc5\xea\xd1\xc1\xc3^\xa7s\x19E\xe9\xa9\ +r\xf5\xce\xb8\xa7Y\x1a\xc7\xe4\xcb#{\x5c\x017\x00\ +\xc6\x9d\xcf*Awj\x13-\x1b\xa6\xc5\xa6\xda+\xc1\ +\xea\xea\xfcm\xaa\x15\xa13\xdc?L\xeb\xc3\xd2xf\ +\xb5\x95\x85;\xe0\x0a\xc0\xe7P\xb2\xb76\xc1N\xc0\xb4\ +\xd8\xd5'\xdb\xdc\xaa\x95\x99\xb6o!kcZ\xe6\x92\ +\xa5\xfep\x07\xe0\x1bBC/<\x9b\xd6\x05\xc3bX\ +\xf4\xe5\xbf\xf2t\x95\xa5\xcd\x96\xd2\xcf\xee_8\x82\xbd\ +\x826\xb2\x18\x8a6<\xa0Ut\x8a\xe9z\x19*u\ +\xd9C\x0b\xb2V\xab,\x90~\xec\x00C\xd7{\xebH\ +\x16\xdd\xc8\xc7\x05^A]\x14(\xbf\x10F\xc5\xbe\xee\ +\x8b\x7f\xce\xd4K\x0b\xade\xc8\xf2\xb1\xac\x8e\xf5jt\ +\x83\x00-\xa2\xcd\x14\xe9O\xda\xc4\xd9\x0f\xa3\xb2\x87\xe8\ +,\x94%\xd6\xe4ogy\xbc\xf7\xd1E\x1f\xb8\x08h\ +\x12\x97\xd2\xedV\xba\x17\x0e\x93\xb2\x87~\x1f\xd5[-\ +;U\xce\x94\xd9\xd2.\xfc\x96\xd9\x8f\xb3\xdc~'7\ +@\x09\xfe;\xdc\x04x\xce8\x88\x08\x0aB\xc6\x81\xbd\ +D?\xc9Y\xe4\xbdM\xdf\xb1>\xf6%\x81\x11Aw\ +\xc3U@}\xa3\x95\x85\xee\xda_\xe4r\x18\x94\xbd4\ +yW\x1c\x93f\xbb$g\xbd\x1d\xc6\xff\x84S\x11C\ +\xe0.\xa0\xce\xd1\x81\xf4\x9061*aN\xf6\x93\xd1\ +e\x13\x8d\x82\xae\x13\xdb$\x06\xda\xba\x92\x1e\x84\xcb\x00\ +\xba\xac0@\xdb\xd1V\xc1\x98\xec'jMS^}\ +Re\x15\xbaZl\x93\x16\xeaU\xb8\xfc\xc0\xfd\x8eV\ +x\x18Fk_\xfdqF?\x95eB\xe6\xbfl\xa3\ +xh\xebL\xfb\x05\x09\xd7\xe1sGK\xd7oO\xc3\ +\x94\xec\xab[c\x073m\xb6\x03\x16\xbfa\xb7\x98\x9c\ +F\x99F\xce\xd0~^\xde\x8f\x1d\xad\xfdu\xf7\xbca\ +L\x9b-\xc3\x97\x1b\x1a\xdd\xe1R\xfb(\xb8\x10\x0fG\ +\x07\xb2(jA\xaf\x80\x19\xf1\xd1\x82\x9ce\xfa/\x1e\ +m\xd7\xd8T\xb8\x22%\x01nd\xe7\x1dm\xa4x/\ +\xf2hqf\x8b3[K\xecp\x8f\xa3D\xa3}\xcf\ +h\xbbP\xa25L\x88\xafl\x84R\xc6n\x8f\xd5\x85\ +\xfeX\xd8\x88\x895\x98\x9cPS\ +\xa2\x82\xdc9'\x0a,e\xb4t\xa5\xf8\xce\xb8\xa7\x11\ +\x1f\x0f\x1f\xcc\xa8J\x1f\x5c\xce\x0aF\x1b\xd9\xedZ-\ +(\xc70)\xa1\x96\xd4\xb9=\x5c^d\x09\xa3\xa5\x1c\ +\xe0\xe0\xf9/!.\x8d\xab0 2\xe4j\xb8\x9d?\ +\x09\xebr\xb1\x16\x88\xcd\x98\x8cPK\xd5u\xee3j\ +\xb6\x9fw\xb8\xc5U\xa5j\xdfE#\x11\x8f\xe6]x\ +X\xe3H\x16/\x82\xe9\xe1\x9c\x16b\xf2H\xa1\xbf\xba\ +\xa1`\x87\xdf\xceh)C\x02qh\x89\xa4\xf7\xe1z\ +\xfe0\xdaHI\xc0\xc5\x05\xa8\xb5j\xa7\x04\xa9\xa1\x9b\ +\xc3\xd4Sg\xaaMK\xef\x9a\xb43V\xed8\xb5\x07\ +\xc6\xbf\xe5\xaa\x0eT\x84\xaep?\x13\x09\x8c\xea\xddV\ +\x1b\xf8\x83\x98|\x90\xaf\xd43\xf1_\x86\xb7=\xdf\x7f\ +<[\x1d\xb4\xf4m\x8cw\xeb>\x98\x1d\xa0\xf5\x0f\x17\ +4kW\xabH\x91\x98t\x90\xaf\x15\xa8H\xea\xb3+\ +\xc7\xf9\xdct\xf7i&;r\xdd\x17\xea\x15\x91!\x18\ +g\xdf\x1c'D\xc0\x05\xcd0ZY\xec\x87\xc9\x06\x19\ +\xad\xee\x0b^Q\xbf\xdf9\xdb\xeb41*\xfe\xad\xec\ +\x9d\xaf>\xbcx\xb4n\xe2\x18S_\x17\xac\x11\xfa\xc2\ +\x0d\x0d\xe4\xf2\xc8\x1eWh\x03]\x84\xc9\x06\x99)j\ +\x1c\xf9\xd2\xaa\xf1\xea7\xe91\xea\xb2\xdcM\xea\x81\xd2\ +\x1c5\xa34\xef\x1c\xa5\x1c\xde\xaa\x17*\x1f\xb1\xf6s\ +\xf5\xff\xe6>\xad\xb7\xe4\xc1\xd8\x19\xaa\xfc\xb6\xe1=\x03\ +\xe1\x8a8>\x80 \x08\xf5o\xd9\xa4m\xa4\xd4\x13\x13\ +\x0c\x82\xa0:\xaaq*b\x08\xdc\xd1\x87t\x88\x11/\ +G5/\xa8\xb5\xea\x1c\xdd\xb7IQ\xee-\x1d\x1b4\ +%\xaa\x91+&\xbc\xd0\xa8\xa8\x15y\xbf\xa4QMj\ +\xf0\xb2w\xd5\xa1+B\x1b\xd5\x93\xc9c\x11\xc3\x86\xb5\ +\xafSL\xd7\xcb\xe0\x92>\xfb(&\xfc\x0f\x93\xea\x5c\ +\xfd%\xe6\x11u\xd4\xba\x09\xea\x84\xb4h\x8f\xfa*m\ +\xba*\xefIhR3\xf6'\xa9q\x19\xc9M\x8a:\ +\x08$\xe7mnTk\xf2\xb7\xeb_\xf3\x9b\x12}\xa1\ +?\xff\xdc\xf3|e\x95\xe5\xeb\xb7\xac\x9aR\xe5\xe9S\ +*\x0f\xfcm\xf6 \xcc\xfd\x06\xa4\xedn?\x86K\xfa\ +\x22\xa7V\x11\xba\xe2\xf2B\xe3\x1fo\xde\xda\xf0\xb5\xba\ +\xbe \x8d\xa9n\x04\xa0\xe5|\xf1c\x14\xe6\xbc\x87\xcb\ +\x0e(6\xdeZT\xc7\x05N\xb7\xb8\x0e\x93\xa9y\xa2\ +\xcaQ\x1fl\x99lxr>\xf0\x0f\x85'\x8b\xd5\xdf\ +E\xf5\xc4\x5co\xf8\xb2\xc3J\x18f\xebrj\x87b\ +\x12y\xa7\xeb\xa6?\xa8\xa7+-\xca^\xabV\x99t\ +\x15\x15\x18O\xe8\x96\x1f0\xbf=\xe6\xdeJ\x83\xe1\x9a\ +\xde_\xc9\xcd\xc7$j\xbd\xae\x8a\xea\xa5>\xb6\xec\x1d\ +\xfdl\x96\xb5\xb6\xde\xe0\x5cJ\xaa\xca\xd4k\xa2\x1f\xc0\ +\xbcnX9\x1d#{\xfc\x16\xee\xd9B\x9c\xb2\xf0\x11\ +&\x8f\xefE\x05P\xc8x\xe9\xc3\xd8\x11\xedg)`\ +\x8fO\xb6\xb91\x97=I\x16C\xe1\x9e-1\xda\xc8\ +n\xd7\xa2C\xae9\x15\xafz%\xbe\xaaW\xa1\xca+\ +/\x84\x8b1\x02uv\xb8vz_\xcc\xe1\x86U\xe1\ +\x0a\x0f\xba\x06.\xda\xdc\xb3Z\xb78\x0b\x93\xc6|\xdd\ +5w\xa8\xbek\xa2Z\xab\x00\x99\x09\xec\xa6\x82\x09\xd3\ +\xe0\xa2\xcdN\xf5B?1+\x18/\xd5yEJ\x99\ +5)\xaf>\xa9\xf7S\xc3\x5cm\xb8o\x993R\xbc\ +\x1dn\xda\xf4\xaev5&\x8b\xf5\x8c\xf7\xc3\xadS\xd4\ +mE{\xe1r\x16\xe2\xeb\x1d31?=k)\xdc\ +\xb4\xb1\xb3ZE\x0c\xc1$\xb1\xb6\xae\x9f\xfe\x10R\xca\ +,\x02\x8d?5\xaf\xc4\xbc\xf4\xf8\xb1L\x84\xabz\xb8\ +\xc0\xa0\x0d\xd0FL\x12\xb6j\x0d\xd0\xbd}\xa4\x94\xf9\ +\x8f\x99\x07\x16c.z\xd6j\x18k\x03\x04\xc8R\x1f\ +L\x0evu\xe5\xd4\x9eH)\xf3\x03gjj\xd4n\ +\xf1\xcfc\x0ez\xae\x9b\x80\xaa`\xf5w\xb5\xc2\x16L\ +\x0e\xfb\xa5\x94\x1d./\x82#\x1a\xcc\xe2\xec\xf5\x98w\ +\x9e\xcc\xd6-\xae\x85\xc1\xd6\xfd(\xa6H\x0fab\xd8\ +\xb7\xaf\x17\x95\x1b\xacM)\xcb\x823\x1a\xc4\x83I#\ +1\xdf<]\xe3U\x84\xdep\xd9_2\x10pV\xcb\ +aJ\x19\xf0\x1d\x9b\x0bw\xa1\x15\x0f\xcen\x9b\xc8@\ +\x88\x08\x0a\xc2d\xe0S\x7f\x9f\xfd\xd8\xcf\xe5!\xe9\xec\ +\x11\xb4\x8e!\xcbQ`\xbc\x91\x06\x91\xf7\xc1l\x15a\ +\x01&\x03\xf4\xc7\x19\xfd\x90R\xd6J\xe8\x98\xa6\xbd\x12\ +\x8c\xf9\xd4p\x1a\xd8\x5c\xbeo\x8bE\x04\xff\x15\xb7\xc5\ +\xa0\xc6R\xcaNTW\xc0E[\xc0\xf05\x9fa\x0e\ +y\xe8W\xd6N\x16\xff\xcco\xba\x97\x22\xfd\x80I\x00\ +5'\xa5\x8c\x8c\x97\xca\x0b\x82\xc6\xa1\xec\x0f\x14\x18\xf7\ +\x94\x99 }\xc7\xa5\xd1v\x90\xc5+\xb5\x01\xa8\xc4$\ +\x80\xbcI)\xcb\xaf@J\x99'\xe8\x03$\xe6K\x83\ +5\x13\xca\xdbD\x8b\xed\xf9\xcb@\x90\xc5P\x04\x1f\xf2\ +EJ\x195\x8f\x04\xbf@\xbf\x00P\x82\xd1\xd3\xd9\xad\ +0\x96/\xa7\x0d\xebr\xb1\xf6\xe2y\x08>\xe4\xeb\xf2\ +\x90\xe8\xbfV\xcb\x97i\xd31/\ +\xa4\xd1\x99\xb5\x94\xf0\x22\xe2^_\xd9\x8e\x98\x81\xbf\xb2\ +\xf1Y\xad\xf4 \x82\xec\x1b\xdd0\xa3_\xa3\xd7Z3\ +\xcb\xf2\xd4\xaf\xd2\xa6\xab\xc1\x9a\xf1\xa2@I}\xf5^\ +8\x9c\x9b\xdd\xed\xb2\xdcM\x889o\xd5\xc0\xb4\x17\x9c\ +\x8d \xfbF\xe3\xb6\x867{\xb1e\x9f(P\xbfM\ +\x8f\xd1/\x04\xe0\xee\xfc/J\xca^\xc7\x8d\xe1\xd2\x1f\ +\x17\xc4\xbc\xde\x87\xb2\xe9\xf6\xbc\x9a\x1b\x16\xe2\xc4\x8d1\ +\xdf\xe8\x8a\xc8\x10\xafoPU\xd7\x9c\xd6\x7fBOH\ +\x8bV\xfb%\x8d\xd2\xffo\xf1:\x8eB\xc2\xf3\xdc\xa4\ +\x86-\xc9A\x81\xf1\x86n\x94u\x88\x11/\xb7\xe1\x8d\ +1\xe1I\x04\xd77\x1a\xb6\xe2?>[\x84\x85'\x8b\ +\xf5\xb3\xdf77L\xd4w\xbe\x9d\xa6\xf5\xe1j,\xe3\ +3S\xb8\xd9\xdd\xf6\xc1\xee\xb6\x81\xd2\x8b\xe2cv<\ +B\x88Gp}\xf3qgk\xd1nC?\xa8\x1c(\ +\xcdQ\xe32\x92\xd5\xffl\x99\xac>\xb2d\x8cz\xf3\ +\xacG\xf5\xba\x04f\x5c\xc1\xbd-\xf6\x09S\xc7\xf3\xde\ +\xf8g\xb9\xd9\xdd\xae\xc8\xdb\x825T_sle\xb4\ +m\xc3{\x06j[\xf6*\x04\xb6\xf5\xa2\x0aX\xfe\x80\ +>\xc6\x91\x09/\xcf\xdd\xa47u\x0c\xdd\xf2\x83\xbe\xc3\ +\x0eY\xf0O\xf5\xf69C\x9a\x9dvvu\xf4\xfd\xfa\ +\xcd\xa6\xbb\xe7\x0d\xd3\x8b]\x8f\xdd\xf4\xbd\x1a\xb1'^\ +\xddP\xb0\xe3\xe7\x0e\xbdf\xa7\xb0-\xc8Z\xcd\xcd\xee\ +\xf6\xfe\x85#\xb0\x8e\xce=\xb7=\x19\x18\xd5\xbb\xad\x9d\ +\x8a\xce\x0cE`\xed\x9f\xb2D\xdd\x16\x8a\xabJ=\xaa\ +\xb9\x98}Q\x83\xba\xd3\xf2\xb2\xbb]\x99\xb7\x15k\xa9\ +\xde\xba\x12\x9f@7\x06\xe8\x1c\x0d^\xf6.\x17\x86\xd0\ +}\xc1+\xa6\x8f\xed\xd2\xdc\x8d\xdc\xecn{&\xfe\x0b\ +\xeb\xe9\xdc\x0fe\xf3\x90\x85\x00\x9d\x93\x81\xb0\xbb8\x93\ +\x0b3\xb8g\xde0\xd3\xc7\xb7\xef\xa2\x91\xdc\x98\xed\xaa\ +\xc3\xa9XS\xe7\x1d%\xd8\x22+\xc1\xe9\x96\x1eE@\ +[\xaf\x0f\xb6L\xe6\xe6\xc6\xd35\xd1\x0f\xf8\xe5\x88&\ +\xfd\xd8\x01n\x0c\x972O\xb0\xaelV\x09\xcc\xe5\x96\ +\x22\x10\xcc\xd6\xe9\x1f\xb1\x8f\xab'OWra\x02{\ +K\x0e\xf9m\x9c\xa9:\x18n\x95\xf1zn+\x84\xb1\ +\xed\xb4\xaa\xe3\x02\xd4Bh\xfd\x8eku\xfe6nL\ +\x80\xb2\x1c\xfc5\xd6\x1d\x22C\xd4\xdc\xf2#\xdc\x8c5\ +u\xba\xc0\x1a\xabS+\x81\xe9]\xed\x14\xe9\x16\x04\xb1\ +uz\x91\xa3\xdd\x16\xddn\xfbK\xcc#\xcc\x5c\x83f\ +\x9d9\x19\xc9Xcu\xf3\xbc\xdd\xd2M\xec~\x1c\x93\ +\xc5\xb7\x10D\xefug\xdc\xd3jy\xf5In\x16\xbf\ +\x15Z\xb9P\xb1q\xear\xc0\xcb\x1f7\xeaj\x81\xb5\ +\xf6\xb3F\xb1\x9c_\xbb\x02\x01\xf4N\xd4\x8ez[\xd1\ +^n\x8c\xf6`i\xaeeZp\xcf:\xb0\x94\x9bq\ +\xffa\xd7\x1c\xac\xb7_\xb4\x84\xe5\x94\xafj\x04\xd0\xbb\ +sZ\xfa\x89\xc7\x0b\xd4\x0d\x96.\x16Xe\xfc\x1fX\ +\xf4\x1a7c_Q]\x89N\xbc\xbf\xe4\xdbV1\x99\ +\x02F\xb5\x22\x11<\xefD\x15\xb9x\x81\x8eIz$\ +\xbeb\xb9?vt5\x99\x17\xde\xd9\xf8-\xd6\xddO\ +9\xb7\x8a\x18\xc2^~\xad,|\x84\xe0\xb5\x5cTw\ +\x96\x17\xe8\xcb\xff\xdd~\xb8\xc0\x80\x0fe\xf5\x8fp\xa8\ +\x08\x10\xd6\x9f\xbe\xbb\xfd\x0f\xcek98:\xe0iG\ +K;G+7#\xa4\xac\x88\xd35g\xb8\x89\xc7\xc0\ +\xa5c\xb0\x0ek\xb5\x94-\xa7\x8d\x19x\x89\xf6\xd0\x15\ +\x08\x5c\xf3\xf3;\xa7\xefO\xe2faG\xef_\xc4D\ +\xdd\x5c\x9e\xea%\xcc\xcb\x5c\x89\xb5X\xab\x13\x8ed\xf1\ +\x22vJ**Aw\x22h\xcd\xbf\x1d\xc6K\xd6A\ +A\xc5Q\xbd#0+\xb1y!\xe5#n\xcc\x96\xd2\ +\xdd\xfcqM\xda\x9a\xb5\x12\xa4.\x0c]\xd1\x15F\x22\ +hM\xeb\xd1\xa5o\xe9\x9d\x12x\x80n\xc1Q\x1d[\ +\x96\xe2C\xb5w\x1bk\xaai7^[\xfb9\xd6\xa5\ +.i8\x1a;\xdaD\x94H\xceK\xb3AJ-\xa2\ +E\xccj\x87\xdf\xe4\xbc\xcd\xdc\x98\xed\x9a\xfc\xedX\x9f\ +\xb5u\x12f\xb2d\xb69\x08Z\xc3\xb7\x93\xe8#\xd8\ +\x89\xea\x0a.\x16\xef\x9e\x92LK\xe5\xcfz#J\x8b\ +\xe2\x05*\xfe~\x836G\xb1V\x85CL\x18\xed\xe5\ +\x91=\xae@\xb0\xce\x15u\x1e\xa0\x9b:\xbc\x5c\xbd\xa5\ +2\x89\x93w\xc5\xa9WN\xed\xc9|\xec(5\x8d'\ +\xa8\x16\x07\xd6\xac\xa8\xb6Q\x82\xdb\xb1P\xbf6\x18\xc1\ +\xfa%\xcb`S\xe1N\xae\x16+\x1d\x1b<\x95\xfc\xbe\ +\xadR\xf2\x8a*K\xb8\x89\xdf\x8c\xfdIX\xbb$Y\ +\x14\xf1q\x8c1Q3C^\xa0l\x03)\xe1E\xdb\ +\xc5\x90\xa7\x86\x90y\xe5\x85X\xb7\xba\xd9\x0a\xaf\xa2X\ +8c\xa26\xe0\xb4\xdb\xb3;\xb4\xfb\xbbk\xeeP[\ +\xc6\xf0\xb3\xed\x91\x5c\xfd:\xa1,\x0c\xee?\x92)\xd2\ +\x0f,|\x1c\xdb\x0c\x93=W\xd4\xae\xdb\xde9\x9a\xa7\ +l]\x88\xfa\xb9\x94q\x5c\x99\xadU\xafP\x9bj\xb6\ +\xb2\xb8\xde\xdaN\x9b,^D\xcd\xd3`\xb0\xe7\xaa\xbd\ +\x12\xac\xae\xcd\xdfn\xdb\xc59>5\xc2\xd6\xf1\x0b\x99\ +\xff2Wf\xdb\x7f\xf1h\xac[\xbaI\x16\x1az\xa1\ +e\xbd\xb6\x9d,\xfe\x19A\xf2\x9c\xf6\x95Y\x96g\xbb\ +\x85I5\x0e\xa8\xf3\xaf\x9dcwG\xdcS\x5c\x99\xad\ +?Z\xc9[\xf3&Y\xd0\xf5V.>\xd3\x0fAj\ +\xfc2CF\xa9\xbd\x0c\xf7\xed\x8d\xdf\xd8>nt\xf3\ +\xcd\xee\x19$9'\x0a\xd4\x1f\x8f\xee\xd3\xebAt\x9c\ +\xda\x1d\xebU?\xb7\x15\x1f\xb0\xae\xd9*\xd2\xeb\x08R\ +\xe3\xfas\xcc\x00u\xd3\x91t\xdb,\xd4[c\x07\xdb\ +>f\xb7\xc5>\xc1L<(\x97;[3N\xaa\xb7\ +A\xc6I]'\xc2v\xc6\xaa\x1f\xa7\xca\xea\xe8\xf5_\ +\xaa\xc3V~\xa0\xf6K\x1a\xa5\xe7~\xd3\x1f\x11;\xe4\ +BsymW3\xdb\x89\x08P\xf3\xf2o\xbfJ\x9b\ +\xce|\x09?\xba\x09\xc7\xea5\xdc\x96\x88\x8a\xe7\x98\xcd\ +\xa93\xd5j~E\x91\x9aZ\xb4G]\x94\xbdV\xcf\ +\x7f\x9d\xa4\x99\xe6'\xdb\xdc\xea[\x1b\xbe\xd6\xdb\xae\x93\ +iR\x06\x08\xfd\x01\x87i\x1ab\xb6_X9\x13!\ +\x1e\x01j\xbe\x84\x84\xe7\xd5U\x87S\x995[\xdaA\ +\xf1\x10\xa7w[ye\xf7\xe4\xe9J=\x7f5\xfd\xd8\ +\x01=\xde\xf1\x99)\xaa\xb2w\xbe~u\xfb\xfd\xcd\x93\ +\xd4W\xd7\xfcW}b\xf9{j\x9f\x85\xc3\xd5\xaes\ +\x9f\xd1\xcd\xd3\xee\xe7\xe0\x8ch\x8e\x95\xcd6\x0d\x01\xf2\ +\xcet#\xf7.P\xcbN\x95\xfb\xd5\x95\xbb\xb1\xfd\x83\x81E\x8b\x18V\xa9\x15\xcd\xb6\ +\x1a\x95\x9f\x80\xd1|\xbfs\xb6)1O8\x94\xc2\xd9\ +yx\x15\x8c\xb5\xe1c\x84*k9mh\xe8\x85v\ +\x1ep\xaaI\xca\xdb\xc7\x12\xabB\xb5t\xcd\x88\xf9\xbe\ +\xe3\xd9\x5c\x8dkn\xf9\x11\x18k\xc3\xaaq\xa8\x8e\x0b\ +,\xe3\xb5\x9de\xf1\xd7v\x1f\xf4%9\xeb\xe1t~\ +\x86\x8a\xc2\x98\xd1.\x86\xea\x08\xb3\xde\x1f\xae\xa5l?\ +\x8a\xba\x08\x9e\xe4\x88\x19x\x89e\xcc60\xaaw[\ +\xbb\x0f\xf8\x1dqO\xa9%Uep\ +\x90\x9dM\xfd:\xc5K\x00\xa8\xf1\x220\x07\xea\x8fe\ +v|\xf7\x94dr7\xce\xc3\xd7|\x06ce\x22\xf5\ +\xcb\xe6\x97\x1a\xce\xd73+B\xe1\x82&A\x1f&\xcd\ +\x8c-e;\xf8\xaa\x85\x01ce\xa7\x10\x8d}K,6\xa4\ +\xac\xb2|\xb8\xa1\xc1\xec8v\xc0\xf4\xb8~\x9c*s\ +9\xd6WG\xdf\x0fcmX\x07Q<\xdc\xcf\xa2|\ +[`,\x8b\xb3\xd7\x9b\x1e\xd7\xd8\x8c\xe5\xdc\x8d3\xd5\ +\x09\x86\xa9\xb2U<|%OA\xa06-\xc0X\x22\ +\xf6\xc4\x9b\x1e\xd7\x9d\xc5\x07\xb9\x1b\xe7\xbc\xf2B\x98\xaa\ +g-\xb7\x9e\xd9*B,OA\x18\xbd\xfeK\xb8\xa1\ +\xc1|\xb8u\x8a\xb97\x85\x94`\xb5\x8a\xc3L\x84\x1f\ +\x8f\xee\x83\xa9z\xea\xae\xabH1\x963[\xed\xa1~\ +\xe0)\x08\xfd\x92F\xc1\x0d\x0d\xe6\xe5U\x1f\x9b^\xff\ +\x82G\xe8H\x0c\xc6\xda\xb0\x9cn\xf1{\x0bf#H\ +\xe3y\x0a\xc2M\xb3\x1e\x85\x1b\x1a\xcc\x83I#M\x8d\ +\xe9\x93\xc9c\xb9\x1cg\xba\x11\x09c\xf5\xa8qV\xcc\ +\xb3\x1d\xc5\xd5\xcf\x0b\xb7\xa4\x9e\xa8\xae\x80#\x1a\x085\ +\xda43\xa6tl\xc1#\xdf\xa5\xcf\x82\xa9z\x92,\ +\xbef=\xb3\x95\xc5\xa1\xbc\x05\x82j\x80\x02\xe3\xa0|\ +f3\xe39\xeb\xc0R.\xc7\xf9\x03\xd4Eh\xc4l\ +\x85'\xadwf+\x0b}y\x0bD\xec\xc1epD\ +\x838Zy\xdc\xf4x\xa6\x1d\xdd\xcf\xe5X\x8fX\xfb\ +9L\xd5\xd3/XY\xeac\xbd3\xdb\x88\xa0\xdbx\ +\x0b\xc4'\xdb\xdcpE\x9b|!o\xa7\x04\xe9}\xb8\ +xd\xf0\xb2wa\xac\x9e4E\xba\xc5rf\xdb6\ +\xbcg o\x81xv\xe58\xb8\xa2A,\xccZc\ +j,\xe9|\x98Wz$\xa2.\x82'Qc\x04\x87\ +\x15\xd1\x1e\xae\x84\xa7@\x08\x09\xcf\xc3\x15\x0db\xca\xee\ +\xb9\xa6\xc6\x92vw\xf8\x10\x09\x9dW\x17\xe1\xa8\xc3\xaa\ +\xb8\x14q\x1bO\xc1\xa0\x8aT5*\x0a\xd2\x18\x81\xd9\ +\xc5\xac\xe9\xdf\xe3\x95k\xa2\x1f\x80\xb16l\xb6[\xac\ +k\xb6\xb28\x97\xb7\x80P\x0bh\xe0{^\x5c5\xde\ +\xd48\xce\xd8\x9f\xc4\xe58\xd3\x8d9\x98\xaaG\xcd\xb6\ +\xb2\xd9~\xc9[@V\xe4m\x813\x1a\xc0\x03\x8b^\ +35\x8e\xa9E{\xb8\x1c\xe7\xc3\xe5E0U\xcf\xfa\ +\xdc\xcaf\xfb\x1ao\x01\x09\xdf=\x17\xceh\x00\xb7\xc6\ +\x0e6\xef#\x88\x22\xe9\xad\xd2y\x84\xd2\xdd`\xaa\x9e\ +..\x89\xafX\xd9l\xfb\xf1\x16\x901\x1b&\xc2\x19\ +}\x0c\x9d\x83w\x9c\xda\xdd\xb4\x18\xfe#\xf6qn\xc7\ +z9\xea\x224R\x84F|\xc0\xb2f\xdbV\xeev\ +\x03o\x01\x19\xb0\xf8\x0d\xb8\xa3\x8f9r\xb2\xd8\xd4\x18\ +\x0eZ\xfa6\xb7cM\xb7\xe6`\xac\x1e\xaf\xeav\xb6\ +\xac\xd9\x9emi~\x82\xa7\x80\xfcm\xf6 \xb8\xa3\x8f\ +\xd9V\xb4\xd7\xd4\x18\xfe{\xf3$n\xc7\xfa\xfb\x9d\xb3\ +a\xaa\x0dg\x22\x1c\xb7\x5c\x0b\xf3\x06\x8a\x88o\xe0*\ +\xe9\x99\xe3\xf3>\xa3X\x90\xb5\xda\xd4\x18N\xdb\xb7\x90\ +\xdb\xb1\x1e\xb75\x1c\xc6\xda\x90\x14a\x8d\xc3\xeah\x0f\ +:\x99\xb7\xc0P\xaf,\xe0;~\xd85\xc7\xd4\xf8m\ +.\xdc\xc5\xedX\xbf\x86\xba\x08\xec\xd4\xb1\xado\xb6\xd2\ +p\xde\x02\x13\x97\x91\x0c\x87\xf4!\xa1\x9b\xc3P*\xd3\ +$\x9eX\xfe\x1e\xcc\xb5\xe1\x0e\x0d\xff\xb4\xbe\xd9\xca\xa2\ +\xc8[`>\xdb\x1e\x09\x87\xf4!\xcf\xa5\x8c\xc3\x99\xbb\ +I\xf4L\xfc\x17\xcc\xb5\xc1j_\xc2}\x967[\x1e\ +\x0b\xd2\xbc\x90\xf2\x11\x1c\xd2\x87\xf4^8\xdc\xb4\xd8=\ +\xb2d\x0c\xd7c};\xea\x224\xa4\x9a\x80\xb0\x10\xa7\ +\x83\x05\xb4\x87\xcd\xe1)8A\xf3_\x82C\xfa\x90[\ +f?nZ\xec\xde\xdb\xf4\x1d\xd7c\xdd9\xba/\xcc\ +\xb5~&\xc2!\x07+\x04\xc8\xe2\x0c\x9e\x82\xd3iZ\ +\x1f\x14\xa4\xf1\x11gjj\xd4+\x22CL\x8b]\xe4\ +\xde\x05\xdc\x8e\xf5\xa93\xd5\xfa\x995\xcc\xf5\xbc\x8fc\ +\x8a0\x8d\x19\xb3u\xc9\xc2\xab\xbc\x05(\xbf\xa2\x08N\ +\xe9\x03\x0a*\x8e\x9a\x1a\xb7\x8dGvp;\xd64g\ +a\xae\x8c~\x1c\xe3\xb9k\xc3\xaa\xc3\xa9pJ\x1f\xb0\ +\xa5p\x97\xa9\x99\x08\xa5\xa7\xca\xb9\x1dkJY\x84\xb9\ +2\xd2\x9d\xc1#1\x03\x7f\xa5=t)O\x01\x8a\xd8\ +\x13\x0f\xa7\xf4\x01\x09\x87RL\x8b\xd9_c\x06r=\ +\xd6T\xb1\x0e\xe6ZO%t\x13\xd6\xc1\x12\xdaC/\ +\xe5)H\xefl\xfc\x16N\xe9\x03&\xed\x8c5-f\ +\xfd\x17\x8f\xe6z\xacg\x1fD]\x84\xfa)_\xe2\x22\ +\x07k\xb8\xdc\xc2\x7fx\x0a\xd2\xc0\xa5c\xe0\x94>\xe0\ +\xfd\xcd\x93L\x8b\xd9\xdb\x1b\xbf\xc1\x1f6\x18\xec\xf9\xad\ +\xcb\xc72g\xb6\x01\x8a\xd0\x9b\xa7 \xf1\x5c\xa6\xcf\x97\ +\x0c[\xf9\x01\xb7G?\x85'\x8bM\xfd\xf7>J\x8d\ +\x80\xb9\xd6\xcbD\x10C\x983\xdb\x8e\x91=~\xab=\ +|%O\x05ixm\x85\xedK\xcc\xbc\xd1\xb4\xae\xe0\ +G\xcb\xbcw\xe5\xe9S\xea}\xf1\xcf\xe9mj\xccb\ +\xe4\xda\xff\xc1`\xcf\xcd\xaf-\xef,\x8b\xbfv\xb0\x88\ +\xf6\x02Kx\x0a\xd6\xae\xe2\x0c\xb8e+\xb9y\xd6\xa3\ +\xa6\xc5\xab\xb8\xaa\xd42\xef\xfd\xbf\x1f\xa3LOE{\ +2y,\x0c\xf6\xdc\xe23\x89\x0eV\xd1^`\x14O\ +\xc1\x8a\xcfL\x81[\xb6\x82\xd35g\xd4\xf6J\xb0)\ +\xb1\xfa\xd3\xcc\x01\x96y\xef\x83\xa5\xb9\xea\x95S{\xea\ +\xcf5\xe1\xc7i\xa6\xfd\xbb\xbd\x12_\x85\xc9\x9e#i\ +8\xb3f\x1b\x18\x11\xfcW\x9e\x82\xf5\x85\xb6;\x01\xde\ +cf\xf3\xc1\x87\x92^\xb7\xcc{SV\x84?>\xb4\ +\xde\x11\xf7$\x0c\xb6\x8e\xda(\xc17:X\xc6\xa5\x88\ +\x99\xbc\x04\xeb\xe5U\x1f\xc31[\xc1\xa6\xc2\x9d\xa6\xc5\ +\xeaM\x8b\xf4\x8e\x8b\xcdX~\xces\xfdaZ\x1f}\ +\x87o\x06\xd7NG]\x84:\xda\xef`\x9d\x00\xb7\x10\ +\xc6K\xc0B\xe6\xbf\x0c\xc7l\x05s3W\x98\x16\xab\ +)\x16\xe8\x8a\x5cRU\xa6\xde8\xb3\xbf_\xda\xaa\xa3\ +.\xc2y\xe7\xb5\xb2\xf0-\xf3f\xebR\x84\x87y\x09\ +\xd85\xd1\x0f\xc01[\xc1w\xe9\xb3\xb8\xba^My\ +\xbe\x0d=\x1b\xf5\x053\x1a\xb3kP0P\xbf\xb6/\ +\xfb;\xdb\xb0\x10'O)`GL\xce\x95\xb4\x13\xef\ +n\xfc\xd6\xb48\x1d\xad<\xee\xd7w\xa5\xac\x03J\x17\ +l\xe8\xd9\xa8{\x82\xd1\xa4\xa3.B\xdd,\x84\x93\x1d\ +b\xc4\xcb\x1dv@{\xa18^\x02\xb76\x7f;\x5c\ +\xd3K\x86\xae\x085%F\x7f\x9c\xd1\xcf\xefY\x17T\ +\x03\xb9\xb1\xe73\xbad\xe7\xca\xbc\xad0\xda_4\xcb\ +a\x17\x02di0/\x81S\xf6\xce\x87kzI\xf7\ +\x05\xaf\x98\x12\xa3\xbe\x8bF\xfa\xf5=\xbfM\x8fi\xf2\ +\x19\xd3\x0dn\x22\x1a{p\x19L\xf6\x97\xf3\xda\x81\xb6\ +1[\xda\xa2k/U\xc1C\xe0\xc6n\xfa\x1e\xae\xe9\ +%T\x85\xcb\x8c\x18\x8d^\xff\xa5\xdf\xde\xf1P\xd9a\ +\xf5wQ=\x9b|\xc6\xc9\xbb\xe2\x0c}\x0e\xd4E\xf8\ +YeW\x85\xf5\xfd\x8d\xc3N\xb8\x14!\x96\x87\xe0\x0d\ +Z\xfa6\x5c\xd3\x0b\xaakN\xab\xed\x94 Sb\x14\ +\xee\xc7L\x84\xe6v\xb3}fE\xa8\xa1\xcf\xf1\xe1\xd6\ +)0\xda\xda*_3\x1cv\xc3\xa9\x88\x83x\x08^\ +\x979C\xe0\x9c^\x90s\xa2\xc0\xb4\x18\xad\xce\xdf\xe6\ +\x97w\x5c\x90\xb5\xba\xd9\xcfH)aF\xf2\xda\xda\xcf\ +a\xb6\xfa\xc71i\x80\xed\xcc\x96\xb6\xea\xda\xcb\x9d\xb0\ +{\xf0\xe8\xba\xa9\x99\xc5D\xec\x02}\x9d7+FE\ +\x95%\xa6\xbf\xdf\x89\xea\x0a\xf5\xa6\x16\xd6}\xd8w<\ +\xdb\xb0\xe7\x19\xb2\x1cu\x11\x5cn\xe18\xb3\x85g\x9a\ +\x91\x950\x9b\x87 \xee-9\x04\xf7l!s2\x92\ +M\x89\xcd\x0d~\xcaD\xa0.\xbe-}V\xf7\x9e\x04\ +\xc3\x9e\xc7\xcc\xeaj\x16N\xf9\x9a\xee\xb0+m#\xa5\ +\x9e<\x04\x91~.\x82\x96\xf1\xf5\x8e\x99\xa6\xc4\xe6\x81\ +E\xaf\x99\xfen\xdb\x8f\xee\xf5\xaa\xc0\xce\x0b)\x1f\x19\ +\xf6Lt\xdc\xc5\xbd\xd9F\x04\x05\xd9\xd6l\xa9\xb7\x8f\ +\xf6\x92\x19v\x0f\xe2\x97i\xd3\xe1\x9e-\xc4\xd3m*\ +\xd63\x11\x9a\xca\xa9\xf5W\x8f\xb4\xab\xa3\xef\xe7\xddl\ +\xf79T\xc7\x05\x0e;Cm'\xec\x1e\xc8\x7f\xad\xf9\ +\x14\xee\xd9B\x9eJ~\xdf\x96\x99\x08T\x83\xa15\xcf\ +K\xa9b\xbe\x86\x0a\x95s\x9f\x85\xe0\x16\xdev\xd8\x9d\ +vJ\xd0\xef\xb5\x97=m\xe7@\xf6H|\x05\xee\xd9\ +B\x82\xbd\xdc\xfdY9\x13\x81JFR\x15\xaf\xd6<\ +\xef\xf4\xfdI>\x7f\xae\xdc\xf2#\xbc\x9b\xed\xa9\x0e\xb2\ +x\xa5\x83\x07\xb4\x97M\xb0s0\xfd}\x1d\x94E\xfe\ +\x12\xf3\x88)\xb11\xb3\xcf\x97/\xfa\xa9\xbd\xba\xe6\xbf\ +\x86\x9c!sn\xb6q\x0e^p\xb9\xa5\x07\xed\x1eP\ +\x7f\x17:a\x09*\xf7\xe7\xa9(\x0b\xab\x7f\x04\x93\xb2\ +\xd7\xf9\xe4\x99o\x8b}\xc2\xe7\xcf\xb64w#\xe7G\ +\x08\xd2\xfd\xdc\x98\xad#\xac\xcb\xc5\xdaK\xe7\xd99\xa0\ +\x1b\x0av\xc0E\x9b\x09\x9dK\xda)\x13\xe1\xe4\xe9J\ +\xf5\xd6\xd8\xc1>{n:\x8e\xf0%3\xf6'\xf1l\ +\xb69\x8ed\xf1\x22\x07O\x04\xc8\xe2[v\x0ej\xd4\ +\xbeD\xb8h3Y\x93\xbf\xdd\x94\x98\x8cZ7\xc1\x94\ +\xf7\x19\xb75\xdc\xa7\xcfMEcXL\xb3\xb3h\xd1\ +\x997\x1c\xbc\xe1\x9cvo\x00\x15\x81\xb0kPC7\ +\x87\xc1E\x9bI\xcc\x81%\xb6\xc9D\xd8]\x9c\xa9^\ +\x11\x19\xe2\xd3\xe7~\xdd\xc7\x7f$hnrj\xb6%\ +\x81Q\xbd\xdb:xD{\xf9\xaf\xed\x1a\xd8\xc1\xcb\xde\ +\x85\x8b6\x13\xea(k\x87\xee\x0cT\x83\xb6\xf7\xc2\xe1\ +>\x7f\xee\xbb\xe6\x0e\xf5\xe9sRj\x22\xa7\xdds\xbf\ +p\xf0\x8a3\xb2\xdb\xb5vM\x03\xbb#\xee)\xb8h\ +3\xa1\x9f\xf7v\xc8D\xa0\xa3#\x83>\xe8\xf8\xb4\x03\ +\x08U\xa6\xe3\xd0l\xab]\xe1A\xd78x\xc6\xae\xa5\ +\x17\xe9\xa7$\x95\x0d\x04\xd6X\xfcFg\x22\x90\x91\x1b\ +\xd9\xad6>3\x85\xb9\x9cf\x94R\xb4\x18\x81\x11A\ +w\xdb5\xc0\xfb\x0d\xac\xdad'\xee\x8d\x7f\xd6\xf0X\ +\xdc\xbfp\x84\xa1\xef\xf0\xcf\xd5\x9f\x18\xfa\xfcom\xf8\ +\xdag\xcfz\xcb\xec\xc7\xf9\xfb0\x16)\xde\xee\x00\xfa\ +\xd9\xedF;\x06xQ\xf6Z8i30rGh\ +F&\x02\xf5\xf32\xba-x\xb7\xf8\xe7}\xf6\xbcW\ +E\xf5\xe2\xcdlW\xc3em^\x0dl\xe2\x8e\x19p\ +\xd2&\xa0:\xaff\xc4\xc2\xa863Tg\xe0v\x13\ +*h\xd1\xa5\x8f\x92\xaa\xb2V?oy\xf5I\xfe\xce\ +k\x15A\x82\xcb\x9e\xb3\xbb\x15V\xda-\xc8\xc3\xd7|\ +\x067m\x02\xaa\xfd\xcbr&\xc2g\xdb#\x99\xfa\xa5\ +d\xd6\x05\x12\x0bi9\xdc\xb5\xfe\x872\xc9n\x81\xa6\ +4 \xd08\xcbr7\x99\x12\x8b#\x06d\x22\xec-\ +\xc9R;N\xedn\xda|z\x7f\xf3\xa4V?\xf3\xe6\ +\xc2]\x5c\x99-}\x13\x82\xbb6|v\xbb\xdcN\x81\ +\xbe\x01\x05i\x9a$r\xef\x02f3\x11\x1e^<\xda\ +\xd4\xf9\x142\xff\xe5V?3\xed\x8e9*\xa3\x98\x04\ +W\xe5(3\xa1\xb8\xaa\x14\x8e\xda\x08\x1f\xa7\xcaLf\ +\x22\xcc>\xb8\xd4/\xfd\xed\xcaN\x95[2\x17\xd8\x82\ +\xaaA\x06BS5\x13\xb4\xbfFv\x0a\xfa\xa6\xc2\x9d\ +p\xd4Fxe\xb5\xf1\xb7\x99|}\xdd\x95\xfe\x80\xde\ +8\xf3a\xbf\xcc\xa7\xe5\xb9\x9bZ\xf5\xec\x13\xd2\xa2y\ +1\xdb\xf9p\xd3\xa6v\xb7\x8a\xd0\x95\xfe*\xd9%\xe8\ +F\x14\x7f\xb6\x13\xfd\x92F\x19\x1e\x83\xb0\x9d\xb1>}\ +\xe677L\xf4\xdb|\x1a\x9f\x1a\xd1\xaag\xf7\xa6\xf1\ +$\x83]s\xcf`W\xdb\xfc\xcc\x04\xc5.\x81\xff`\ +\xcbd8j#\xdc\x11\xf7\xa4\xe11H9\xbc\xd5g\ +\xcfK\xa53\xcd\xa8\xbdk\xd4G\xd7\x17W\x8d\xe7a\ +W\x1b\x0e\x17m&\xbf\x9d\x1c\xdc\x91z\xba\xdb!\xf0\ +O&\x8f\x85\xa36\xc2\xef\xa2z2\x93\x89@E\xce\ +\xef\x9e7\xcc\xaf\xf3\x89\xb2\x1f*OWy\xfd\x0e\x03\ +\x16\xbfa\xfb\xca^\x97G\xf6\xb8\x02.\xda\xb2\xcc\x84\ +\xf7\xec\x10|_Wl\xb2\x13\xd4\xcd\xc2\xe8\xf1\xbf~\ +\xfaC>{\xde\xaf\xd2\xa6[bN\xb5\xa6\x8f\x9a\x90\ +\xf0\xbc\xbd\xaf\xe5\xba\xa57\xe1\x9e-\xa4\xb3,\xfe\xda\ +\x0em\xcfi'B\xed\xacA}\xcc\xe8\x85\xd5\xc7G\ +\xb9\xce\x19\xa5y\xa6\xec\xc2\x9b\xa3O\xb7)^\xbf\x07\ +\xb5G\xb7\xb1\xd9\xeeu\xc4\x0c\xbc\x04\xee\xe9\x05NE\ +\x1cd\x87I@\x0b\x15\xd4'1k\x0d3\x99\x08\x03\ +\x96\xbci\x99\xf9D\x1f\x15\xbd\xc5\xccK\x18\xa6K\x16\ +\xfb\xc15\xbdEu\x5c\xe0t\x8b\xebX\x9f\x04Kr\ +\xd6\xc3Y\x1b\x80\xea\x15\x18=\xf6?\xec\x9a\xd3\xea\xe7\ +\x9c\x97\xb9\xd2R\xf3\x89v\xd8Ug\xaa[\xfc\x1e\xc7\ +\xabN\xd89\x03a%\x0c\xb3\xb5y\xb7\x91\xe2\xcd\xda\ +@V\xb1<\x11\xbeM\x8f\x81\xb36\x80\x19\xedYZ\ +\x9b\x89@\xc5_\xfe4s\x80\xe5\xe6\xd4\xc6#-o\ +(J%?\xedyN+\x9el\xa3\x04\xdf\x08\xb7\xf4\ +I\xdd\x04\xe9\x03\x96'\xc3\xc8\xb5\xff\x83\xb36\xc0\xb3\ ++\xc7\x19>\xf6\x05\x15\xc7\x98\xcd\xa9mLt9\xc1\ +\x9b\xb45\x9b\xeel\xdf\x83K\xfa\x8a\x89\xbd/\xd5v\ +\xb7\xe9\xacN\x06\xb3Zh\xb3F\xaf\xc4W-\x9d\x89\ +\xb0\xe9H\xba_sj\x1b\xd3\xc0\xa5cZ\xfc>\xf3\ +\x0f\xad\xb2\xa3\xd1\xa6r\xd7\x9a\xdc\xf0\x9be\xb2x\x17\ +\xdd\x0caqB\xd0\xcfPP\x9f\x9bg=j\xd9L\ +\x04jit\x8f\x9fsj\x1b\xd3\x1f\xa6\xf5iq\x96\ +\x8b\xbc'\xc1nF{\xba\xad\x12t'\xdc\xd1\x88\xec\ +\x04\xb7\xf8=\xab\x13\xa3\xb4\x95\x05D\xec\x06\x19\x05\x15\ +V\xb1j&\xc2w\xe9\xb3,?\xa7R\x8b\xf6\xb4\xe8\ +\x9d\xcc\xac\xbdkNQpi\x22\x5c\xd1\xa8\xddmT\ +\xef\xb6\xda g\xb381\xb6\x16\xed\x86\xc3\xd6!\xb7\ +\xfc\x88e3\x11rN\x14\xa8\x9d\xb4\x9d\xa3\xdd>\xbc\ +\x8e\xb1\xe8\xf9\xb3\x97:\xd81\xb2\xc7o\xe1\x8aF~\ +,\x93\xc5~,N\x8e\x99\x07\x16\xc3a\xeb@_\xd3\ +\x8d\x1es\xea\x0d\xe6\x0dO,\x7f\x8f\x899E\xcfi\ +\xb5\x0f\x92\xe6u\xcb\x15\xfa\xc2\x0dM9N\x90\xbec\ +mr|\xb8u\x0a\x1c\xb6\x0es2\x92-\x99\x89\xb0\ + k53s\x8a\x1ae\x9e\xa9\xa9i\xf6\xbb=\x94\ +\xf4\xba]rj\xbf\x82\x0b\x9a{\x957\x8d\xa5\x092\ +tE(\x1c\xb6\x0e\xd4\x0c\xd3j\x99\x08\xd4|\xf2&\ +\x83?\xda\xf9Z;\x8b\x0f6\xfb\xfd\xee\xb6\xf0\x07\xbf\ +\x16\x18\xedv\xcaN\x82\x0b\x9a\x9a{\xdb\xedV\x96.\ +;\xd0\x97m`\xde\xf9\xa17\xa5\x08\xdf\xdd\xf8-s\ +\xe6\xd3\x92\xae\xc17\xce\xec\xcf\xfc\xe5\x85@\xb7t\x13\ +\xdc\xcf?\xb5\x13\xc6\xb02Q\xae\x9c\xda\xb3E?\xf9\ +\xec\xce\x90\xe5c\x8d\xbdH\xb2\xee\x8b\x16=\xcf\xb6\xa2\ +\xbdj;%\x889\x03z\xa6\x99\xbf\x98h\xee\xb1\xf8\ +~\xe7e\x1f\xbc\x0e\xd7\xf3\x17\xa1\xa1\x17\xba\x14a\x19\ ++\x93%\xab,\x1f.{\x161\xe1\x05\xcbtg\xa0\ +44)\xe1E&\x0d\x88v\xab\xcd\xa1\xa8\xb2\x84\xf5\ +]m\x22\xd5J\x81\xe9\xf9sw\x1b\xd9\xedZ-\x18\ +\xc7X\x980\xcbZ\xd9?\xcaNP\xe7a\xabd\x22\ +P\x8a\x18\xcbF\xb4\xefxv\x93\xef\xb8\xa7$\x93\xe5\ +w,\x0c\x88\x0c\xb9\x1ang\x05\xc3\x8d\x08\x0a\xd2\x02\ +Rm\xf5I3\xc9\xc7\xbd\xb0X\x85:\x0d\x04\xb8%\ +\x833\x11\x8e6\xebY\xf2\xca\x0b\xf5\xdbX,\x9b\xad\ +{OB\x93\xefI\x05\xc7\x19}\xbfS\xd4u\x1b.\ +g\xadt\xb07\xad>qF\xf9\xb8\xcb+\xab\x1c(\ +\xcd1t\x9c\xaf\x9b\xfe`\xb3\x9f\x85\xb2DX\xffB\ +O}\xc5\x9a\x22\xce\x84T;\x9c\xd3\xf2\x82\xea\xb8 \ +\xc0-\xcc\xb4\xf2\xc4\xa1\xc5m\xa7\x8a\x7f\x84\ +\x9b\xb1q~;\xc0\xaa\xe5\x18\xa9\xc9!\xef\xbc\xb6\xf6\ +sC\xc7xE\xde\x96F\xff\xfd\x1f\x8f\xee3\xbc\xe2\ +\x98\xd9zu\xcd\x7f\x1b}\xe7\xa7\x93\xff\xcd\xca\xd1\xc1\ +\x19\x97\x22=\x04\x17c\xcbp_\xb0\xe2d\x9a}p\ +)\xf7f\xfb\xc8\x921~\xcbD\xa0\xe4\xfe\xe0\xf9/\ +\xd9\xae\x88\xf6m\xb1O4:\xe6T\xdb\x97\x89|Z\ +E|\x0e\xee\xc5 .Y\xfc\xd2j\x93\xe9\xe3T\x99\ +{\xb3\xbdk\xeeP\xbfe\x22D\xec\x89\xb7m\xd3\xc3\ +\xc3\xe5E\x1e\xdf\xfb\xce\xb8\xa7Yx\x87\xcf\xe1Z\xac\ +B7\xcc\xdcb\x9c\x95&\xd4\xb0\x95\x1fpo\xb6F\ +\xd6\x8am,\x13\x81\xcc\xe8\xea\xe8\xfbmk\xb6\xb1\x07\ +\x97y|w\xfa#d\xed\x14/!\x96\xd6+L\x8b\ +a:\xc5t\xbd,@\x16\xd7[eRu\x8b\x7f\x9e\ +k\xa35\xba\x9dvc\xcd5\x9fK\x19g[\xa3m\ +\xac3\x05\xb5\xf81\xfa\x12I+\xaf\xe2\xae\xa5u\x0a\ +\xb7\xb2\x01\x81Qb'-\xa89V\x98XWE\xf5\ +RkT~\x0b\xd2PI@\x7f\xdc\xd2[\x9c\xbd\xde\ +\xd6FK\xa2\xe3\x99\x86\xa03l\x0b?wV\xfb)\ +\xdd\xaf\x82K\xd9\x08J%\xd1\x02\x9bg\x85\x09F-\ +ax\xc5h\xd3k(\x13\xe1\xe4\xe9J\xfd\x03\x92\xdd\ +\xcd\x96v\xafGN\x16\xd7{\xff\x1d\xc7\x0eX5\xf3\ + \xd7\xe9\x0e\xba\x1e\xeedC\x02\x22\xc5\x9b\xb5 \x17\ +\xf9{\x92%\xe7m\xe6\xd6l\x8d\xfe@\x95_Q\xff\ +#\x11u\xc9\xb0\xbb\xd1\xfe\xa4\xf8\xcc\x94z\xefO\xf3\ +\xcd\x82\xcf\x9aO9\xf1p%{g(\xfc\xc3\xdfU\ +\xc2ZR\xf0\xd9n\x8c\xdb\x1anh\x9b\x98\xf3\xd9]\ +\x9c\xa9^\x11\x19\xc2\x8d\xd9\xbe\xb5\xe1\xebzc@\xe9\ +\x86\x16\xdb\xd1\x1euM\x91n\x81\x1b\xf1p\x86\xab\x08\ +]\xb5\xa0\x97\xf9k\xb2\xbd\xb9a\x22\xb7f\xfb\xd2\xaa\ +\xf1\x86\x8dk\xaf\xc4W\xcf\xf9\xb7\xe8l\xbc7#\xf9\ +\xa5F~\x80\xfd~\xe7l+=ci\xa0,\xde\x05\ +\x17\xe2\x08\xa7[\x0a\xa66\x1b\xfe\x98p\xfd\x17\x8f\xe6\ +\xd6l\x1fX\xf4\x9ai\x99\x08S\xf7&re\xb4\xa4\ +@ERK\xaa\xcaL\xfb5\xd1\xd2\xb66T\x0e\x15\ +\xee\xc3\xe3\x91\x82\x22<\xec\x8f>f\x7f\x9b=\x88[\ +\xb3\xbd5v\xb0)\x99\x08\xf4\xa1\x88\x8e\x15x3[\ +RR\xf6\xbas\xc6|\x84\xc1\xd7\xa3\x9bytP\x85\ +k\xb8\xbc\x1bn\xa4$\x98}\xa4@\xbb\x8f\x8a\xeaJ\ +\xee\x8c\x96~\xd6w\x9c\xda\xdd\xb0qM8\xf4\xcb\xc7\ +\xa1\xe1k>\xe3\xd2hITd\xa7.O,\x7f\xcf\ +\xefG\x07.wP7\xb8\x0d\xa0,\x85{\xb5\xbf\xbc\ +\xc7\xcd\x9c\x80iG\xf7sg\xb6\x05\x15\xc7\x0c\x1d\xd3\ +\xbe\x8bF\xea\xad\x87\xc6\xa7FX:\x89\xdf\x8cR\x9e\ +Ks6\xe8\xedr\x16d\xad\xd6\xdb\xba\xfb\xf1yJ\ +\xb4X\xdc\x03\x97\x01u\xcfp\xbb\x98\x99\x166'#\ +\x99;\xb3\xddR\xb8\x8b[\x03\xe4T\x85\xce\x88\xa0\xdb\ +\xe0.\xc0SZ\xd8\x11\xb3\xaa\xebS\x87Y\x9e\xd4e\ +\xce\x10\x18\x10?\xca\x0b\x8c\x08\xfe+\x5c\x054\xf2\xd1\ +\xac\xdb\xadN\xb7x\x18\x8b\x05\x82\xbc\xbf\x19\x16\xa0\x04\ +\xff\x1dn\x02\x9a\xa4\xfd\xd4\xfb~\xa7M\x9a\xcdX4\ +\x10\xd4bm\xec \x8bW\xc2E@\xb3\xa1\xfeG\xda\ +\xc4\x89\xc7\xe2\x81\xa0fJ\x16\xe7\xa2o\x18\xf0\x8e\x98\ +\x81\xbfr)\xd2D,$\x08j\xd2hC\xa9\xc35\ +L\x03\xb4\xf2\x1cW\x1c\xa1M\xa8\xd3XT\x10TO\ +\xd5NYx\x1e.\x01|\x99\x1a\xf6\xa86\xb1N`\ +qA\xd0\xcf*s\xc9R\x7f\xb8\x03\xf09m\xe5n\ +7h\x13l\x07\x16\x19\x04\x89ih7\x0e\x0c\xa5C\ +\x8cx\xb96\xd1fc\xb1A\xbc*@\x91bh\x1d\ +\xc0\x0d\x80\xf1\xa8\x8e\x0b\x9c\x8a8\x06\xe7\xb8\x10o\xe7\ +\xb3\xf4\xfd\x02\x1f\xc2\x80\xe9\x04\xcab/\x7f\x17\x22\x87\ + \x93.*\x14P\xd1&\xacz\xe0\xe7s\x5ca\x03\ +\x16#dWQ\xf7[gD\xc8uX\xed\xc0\xff\x84\ +\x86^X\x9b\x1ef~m\x5c\x082\xb6\x06-\x8e\x0d\ +\x80%w\xb9\xc2\x1d\xda\x04\xdd\x83E\x0a\xb1\xff\x11L\ +\xdcM\x95\xf0\xb0\xaa\x81e\xe9\x14\xd3\xf52\xcdp\xbf\ +\xc2\x82\x85\x18\xde\xd1~E\xf3\x18\xab\x190A\x80[\ +x\x9c\xeayb\xe1B,}\x04\xa3\xcb;X\xbd\x80\ +=\xc3\x0d\x0bqj\xa6\x1b\xa6M\xe4\x1a,d\xc8\xc2\ +&{\x86v\xb34_\xb1j\x01\xdb\xa6+\x0b\xf7\xd1\ +\x19\x18\x165d\xc1L\x83]\xd4\x16\x0a\xab\x14\xd8\xea\ +,7@\x16?\xc1E\x08\xc82\x99\x06\xb2\x18\xdaY\ +\x16\x7f\x8d\xd5\x09lz\x96+\xdd\xa3M\xf6T,v\ +\xc8\x8f\xda\x1c(\x8bwa5\x02\xfbC\xd7}ea\ +\xa0K\x113\xb1\xf0!\x13\x95\x11 \x0b}\xb1\x00\x01\ +w\x5c\x15\xd6\xf77gk,\x94\xc1\x08 \x03UJ\ +\xf3\x0c\xe9\x5c\x80{\xda)A\xbfw)R$\xb2\x16\ + _g\x19P6L\xfb)\xdd\xaf\xc2*\x03\xa0\x0e\ +T\xe8C[$\xaba\x12\x90\x0f\x8cv%\xb2\x0c\x00\ +h\xdeG\xb4\xe50\x0c\xa8\xc5R\x84e\x81\x8a\xd0\x15\ +\xab\x08\x80\x16\xe0T\xc4\x10j\x0d\x0d\x13\x81\xb0\x93\x05\ +\xc0hBC/\x0c\x90\xa5\xc1\xdabJ\x87\xa1@\x0d\ +\xb5\xa7\xd1\xfe(\x0f\xa2y\x82\xc5\x02\x80\xaf\x8e\x17\xb4\ +\x9d\x8b\xb6\xb8\x12\xf0!\x8d{Q\xfc\x13\xb0\x93\x05\xc0\ +`\xce\x16,\xff\xca\xe9\x16O\xc2x\xb8R\x05\xc5\x1d\ +\x8d\x16\x010\x19\x97,v\xae-\xe7(\x1c\x87\x11\xd9\ +Z%\x9a&\xb8\xc2\x83\xae\xc1\xac\x07\xc0\x9fL\xec}\ +\xa9~#\xcd-.\xc1\x11\x83\xad\x8e\x0a\x96P\x5c\x1d\ +1\x03/\xc1$\x07\xc0\x82G\x0c\xb5\x05o\x84\x02\x18\ +\x16\x93\xca\xa2\x0218*\x00\x80\x11j;FHO\ +\x9d\xdd\xedV\xc3\xc4\xac\xdd\x22<\xc0-$\x05(\xe2\ +\x10T\xe1\x02\x80a\xa8\x06\x03\x15 9{%\xf8\x04\ +\xcc\xcd\x12:A\xf1\xa0\xb8P|0K\x01\xb0\x19m\ +\x94\xe0vNE|\x8evR\xd8\xf1\x9a\xaeSN\xb7\ +\xb8\xd0%K\xc3\xda\x86\xf7\x0c\xc4l\x04\x80\xa3\xa3\x86\ +\xda[j\xc2W(\xf7h`'\x04Y\xfc\x84\xc6\x19\ +U\xb7\x00\x00:\xce\x88\x90\xeb4\xd3\x1dQ{\xce+\ +T\xc1,\xbdR%]8p\xba\xa5\x17h<1\xab\ +\x00\x00M\x1e7\xb8\xdc\xd2\x83\x01n\xe1S\xcd%\x00?&\x00@&\x00A'\x00B(\ +\x00C(\x00D)\x00E)\x00F*\x00G+\x00\ +I,\x00J,\x00K-\x00L.\x00M.\x00N\ +/\x00O/\x00P0\x00Q1\x00R1\x00S2\ +\x00U3\x00W4\x00X5\x00Y5\x00Z6\x00\ +[7\x00\x5c7\x00]8\x00^8\x00_9\x00`\ +:\x00a:\x00c;\x00e=\x00g>\x00h>\ +\x00i?\x00j@\x00k@\x00lA\x00mA\x00\ +nB\x00oC\x00pC\x00qD\x00sE\x00t\ +F\x00uF\x00vG\x00wG\x00yI\x00zI\ +\x00{J\x00|J\x00|K\x00}K\x00~L\x00\ +\x7fL\x00\x80M\x00\x81M\x00\x82N\x00\x83O\x00\x84\ +O\x00\x86P\x00\x87Q\x00\x88R\x00\x8aS\x00\x8bS\ +\x00\x8eU\x00\x8fV\x00\x91W\x00\x93X\x00\x94Y\x00\ +\x95Y\x00\x96Z\x00\x98[\x00\x99\x5c\x00\x9c^\x00\x9d\ +^\x00\x9e_\x00\x9f_\x00\xa0`\x00\xa1a\x00\xa2a\ +\x00\xa3b\x00\xa4b\x00\xa5c\x00\xa6d\x00\xa7d\x00\ +\xaaf\x00\xacg\x00\xadh\x00\xafi\x00\xb0j\x00\xb1\ +j\x00\xb2k\x00\xb3k\x00\xb4l\x00\xb5m\x00\xb6m\ +\x00\xb8n\x00\xbap\x00\xbbp\x00\xbcq\x00\xbdq\x00\ +\xber\x00\xbfs\x00\xc0s\x00\xc1t\x00\xc2t\x00\xc3\ +u\x00\xc5v\x00\xc7w\x00\xc8x\x00\xc9y\x00\xcay\ +\x00\xcbz\x00\xccz\x00\xce|\x00\xcf|\x00\xd0}\x00\ +\xd1}\x00\xd2~\x00\xd3\x7f\x00\xd4\x7f\x00\xd5\x80\x00\xd6\ +\x80\x00\xd7\x81\x00\xd8\x82\x00\xd9\x82\x00\xda\x83\x00\xdb\x83\ +\x00\xdc\x84\x00\xdd\x85\x00\xde\x85\x00\xdf\x86\x00\xe0\x86\x00\ +\xe1\x87\x00\xe2\x88\x00\xe3\x88\x00\xe4\x89\x00\xe5\x89\x00\xe6\ +\x8a\x00\xe7\x8b\x00\xe8\x8b\x00\xe9\x8c\x00\xea\x8c\x00\xeb\x8d\ +\x00\xec\x8e\x00\xed\x8e\x00\xee\x8f\x00\xef\x8f\x00\xf0\x90\x00\ +\xf1\x91\x00\xf2\x91\x00\xf3\x92\x00\xf4\x92\x00\xf5\x93\x00\xf6\ +\x94\x00\xf7\x94\x00\xf8\x95\x00\xf9\x95\x00\xfa\x96\x00\xfb\x97\ +\x00\xfc\x97\x00\xfd\x98\x00\xfe\x98\x00\xff\x99\x00\xff\xff\xff\ +s\xb6\xc7\xfa\x00\x00\x00\x08tRNS\x00\x09\x0e\x1b\ +(=\x5cr\xeeu#\xcb\x00\x00\x00\x01bKGD\ +\xf05\xb8\xefT\x00\x00\x06RIDATx\xda\xed\ +\x9c\xf9_\x94U\x14\xc6\xad\xacf\x18mTP\xc0\x04\ +\xc4\x85E\x05\xc1\x0d\xc9P\xd1\xc8\x5cZ\x15\xb5\xc5$\ +\xca4\xcb4\xcbJ\xcd\xca\xd2\xd4RJ\xcd\xca4\xb2\ +\x12\xcd\xcaL\xb1 \x90\x08DS@\xf6M\xf6\x01F\ +\x99a\xe6\x9d\x7f!\xd6\x98\xe5]\xeer\xee0\x9f\xbc\ +\xcf\xcf\x9c\xf7~\x99y\xdf\xf7\x9e\xf3\x9cs\xa7_?\ +...........W\xd5\x1dw\xbb\ +\x88\xfa\x8b\xc0\xdd\xa9r\x11\xdd\xc5\xe1n)\xb8dc\ +\x9f\xaa@\x16.\xc5\xd2\xa7*\xe3p\x1c\x8e\xc3\xc1\xc1\ +\x99]\x18\xae0\xe4G\xe2\xa5u\x8c\xe1\xcaBT\xda\ +S\x84lY\xbe;\x98\xc2U\x84\xb6\xff\xcd\x903D\ +l\x17\x86\xabT\x9b\x19\xc2U\x85un~\xee\xbf\x11\ +\xb0\xa5{w\x84\xbe\xcd\x0c\xae6\xa2{kv?\x8b\ +\xcd\x96\xe6\xdd\x15\xbaI`\x03W\x17\xf9_\xe2\xe0~\ +\x0e\x93\xedO\xaf\x9e\xd0\x97\x05\x16pM\xd1Vi\x8d\ +\xc7y,\xb6T\xaf\xde\xd0\x97\xcc\xf0p\xcdsm\x92\ +.\xcfT\x0c\xb6d\x0f\xeb\xd0\xb86h\xb8\x96\x18\xbb\ +\x94\xd0+\x0d\x99\xed\x9c\x87m\xe8\xb3m\xb0p7\x1f\ +qHX\xbd\xd2\x11\xd9\xcez\xd8\x87>c\x84\x84k\ +}L$\x9d\xf6\xbe\x80\xc4v\xc6\xdd1tI+\x1c\ +\x9cq\xb9h\xb2\xef\x9d\x81\xc0\xf6\xab\xbbX\xe8\xe37\ +\xa1\xe0\xda\x9e\x96(E|\xb2\x15\xd9N\x0f\x11\x0f}\ +\xf4\x06\x0c\x9c\xf9y\xc9B\xc9\xf7\xa2\x02\xdb\xc9AR\ +\xa1\xf3\x9a \xe0\xcc/\xca\x94q~9\xb2l'\xb4\ +\xd2\xa11:z8a\x8dl\x91\xe9wI\x86-I\ ++\x17\x1aUG\x0d\xf7\x9aB\x09<\xf2\xb2$\xdbq\ +\xad|\xe8\x8cZJ\xb87\x14\x0bt\xff\x7f$\xd8~\ +\x18\xa8\x14\x1aYM\x05\xf7\x1e\x82}06_\x94-\ +Q\xa3\x1c:\xa9\x9c\x02n'\x92\xb9\x11pM\x84\xed\ +\x1b\x0dJhX\x191\xdc.D\xeb%\xb0\xc0\x81\xed\ +\x88\x06-4\xb8\x80\x10\xeecdc(\xb0\xd0\x8e\xed\ +k\x0djhP>\x11\xdc~5\xbam\x15Td\xc3\ +vX\x83\x1e\x1a\x90G\x00w\x10\x83M\xa5\x0a\xb5\xbe\ +y\xbet\xc3\x09\xf5\xcf\xc1\x86;\x8a\xb5@;]9\ +\xd1G\xde\xf9\x22\xcf\xc6\x84K\xd4\xa805\xb1\xa2;\ +\xf435n\xa8\xef\xdfxp\xcb\xf0\xed\xd2\xc8:\x82\ +\xef\xb4{\x9f\xc5\x833.\xc5_\x22\xbc\xb2=0A\ +\x8d\x1f\x18Q\x8dy\xcf\x19b\x09\x16\xa9\xb1\xec#`\ +\x8b\xaa\xc7~Z\x0dK\xf0\x97\x99\xfe.\x81{>\xb3\ +\x9e\xe0=gX\xec\x14g\x7fV\x03\xd1\x0eqc\x91\ +\x13\xd8f7\x12\xee\xad\xfa\x85\xcc\xd9\xa2\x1b\x89\xb3\x12\ +\xfd\x02\xc6l\x0f\xb5P\xe4s\xfa\xf9L\xd9\xe6\xb7P\ +e\xc2-\xf3\x18\xb2-l\xa1\xac!t\xd1\xcc\xd8\x16\ +\xe9\xa9K\xc3\xc6Y\x8c\xd8\x1e\xd6\x03\x14\xd5\x8d3\x99\ +\xb0\x89\xf9%\x04vDC\x14\x03\xb6\xd8V #\xa7\ +\xe1~p\xb6\xa5\x060\x0b\xacf\x1a0\xdbr\x03\xa0\ +yX=\x15\x94\xedI\x03\xa8\xedz}\x0a \xdbS\ +\xa0\xcef\x07\xddd0\xb6\xe7L\xe0V\x7f\xd5$ \ +\xb6x\x13\x83&Ie8\x08\xdb\x0b&&\xed\xa5\xd2\ +\x09\x00l\xabL\x8c\x1as%\xe3\xa9\xd9V\x9b\x99\xb5\ +4\x8b\xc7Q\xb2\xad\x13\x186\x83\x8b\x83\xa9\xd8^\x15\ +\x98\xb6\xd1\xf3\xc6P\xb0m\x10\x18\x0f \xe4\x92\xd3m\ +Tb\xa3\x1f\xdd\xc8\x1dM\xc8\xf6\xba\x22\x1b\xc0\x5c\xc9\ +\xd5QDl[\x9d3\xf4\xf2\xd7=\x04l\xdb\x9c3\ +\x91\xd3\xfc \xc9\x07\xb7\xc9)pM1d\xb7\xdc\x9b\ +N\x80kz\x80\xf4a\xdd\xce\x1cN7\x97\xfc5\xf7\ +!c\xb8z\xaaZg'S\xb8:\xcaJ\xe7#\x86\ +p\xb53h\x93\x92]\xec\xc6\x85\xee\xa3O\xe7\xf60\ +\x82\xab\x89\x04\xc85\xd5\x09L\xe0\xaa\xa7\x83d\xe9\xea\ +O\x19\xc0U@\xd57\xea\xfd\xe0p\x15\xe1*(\xa9\ +\x0f\x00\xc3\x95\x87\x01\xd6\xd4\xea\x83\xa0pe\x13A\xdd\ +\x08\xb7\xc3\x80p\xa5\xa1\xc0>\x8e\xdb\x110\xb8\xc2`\ +\x15\xb44G\x81\xe0\x0a\x82\x18x\x87\x9aD\x10\xb8k\ +\x81L\x5cW\xcd\xb7\x00p\xf9l\xd8\xda\xe9\x8eQ\xc3\ +\xe5\x050s\xfa\x07&Q\xc2\xe5\x8ee\xd8#\xd1\x9e\ +\xa0\x82\xbb\xe4\xcf\xb4\xbb\xa4=I\x01\x973\x92q_\ +\xce~\x08\x1f\x03\xee\xa2\x1f\xf3\x8e\xe6\xa0\x9f\x08\xe1\xb2\ +\xd9\xb3\xd9\x1f\x11@\x86\xcb\xf2\xc5_j0\xfe\xf8\x81\ +\xcd\x10>*\x5c\xc7\xf1\x05\x5cy\xa6\x10\x0cnX\x0f\ +\xe1#\xc2\xa5{\xe3\xb3\x0d\xcf\xb0X\xf6\xe1\x87y$\ +c\xc2\xa5\x11\xb0\xdd\xdb9\xd3\xbc\x97\x80\xee<\x1e\xdc\ +\x1a\x92\xef\xb4+t;~\xe8\x846,8\xd3j\xdc\ +\x05Fd\xf6\xfc\xfb\x9f`\x87fa\xdes\xc2z\xbc\ +\x05|2{o\xeb\x0f0o\x87L\xec\xa7U\xd8\x88\ +\xb3\x80\xbf\xcd\xb4\xf0\xfb8\xa1\xc3RI^\xc2\xef\xa0\ +/0\xcanVx\x1bz\xe8\xd0\x14\xb2\xed\x0b\xf9\xd6\ +\x1e}\xc5>\xbd\xd8\x8a\xfc\xa4\xfeA\xba\xf1\xef!e\ +\xb3X\xb6 n)\xa7\xc9S&\xa4a\xdc1W\xc5\ +\xca\x81\xcdH\xfb\xfe/4\xc9\xe6\x01\xe5\xed(\xb8P\ +\xb4\x90\x126 \xe4\xc2\xc7\xe9\xd2\xf4\xcf\x95&0\xc7\ +\x15I\x14\xc8\xca/\xa3\x01\xdf\xd3\x168_\xc8\xd3\x8d\ +/\x964>\x84u\xd8\x955vixl\x80\xdc\xc6\ +S,ch\x09\xaf\xc8\xb2}\x05QT\x7f'}\xae\ +!\xa4D\xd6\xa8\x14\xd6\xca\xb89\x87`\xec\x88S\x83\ +%\x16\x08-U0\xa0\xcd\xab$\xe1\x12\xa0\x8c\x9c\x9f\ +\xc5\xcfGM\xaeTl,H\x9e|\xda\x0bg\x81%\ +\x0f\x15\xb9\xfe\x94*\x84\x86\x91)^\x94m\x07\xa4y\ +\xf8\xfb0\x87\xebO\xbd\x8et\x9a\xcf\x14\x87\xd1B$\ +\xb4]S<\xed\xae?\x0d\x8d\xad\x9dn\xa5\x03\xdb\x16\ +h\xc3:c\x84\xcd\xf5#\xaa\x91O\x90\x9aV\xd8\xb1\ +\xbd\x05o\xf5g\xfaX]\xdfjd[Y\xc6e\xa8\ +\xe3\x1b\xe4M\x92\xcb\xbd\xeds\xeb\x91m\x04\x19\xac\x8f\ +\x08\xac\x15\x98\xb4\x97\xae\xf4\x0cF\xcc\xc6c\xb39\x22\ +\x10of\xd4\x98+\xec\x1a\xc8\xb1\x1d\xd9F\xa3\xeb\x19\ +\xc2\x8f31ki\x16u\x8cZ\xcd\xd1Y\xf0\xd5\xfa\ +D'\xdb\x0a\x13\xc3fpI\xa8\xc3\xc86\xa2:\x8f\ +\x08\xc4\x1a\x99\xb6\xd1\x8bW6Z\xc8\xa4_\xa0Zl\ +`?WB(\xdd\xfaf\x8b\xcb\xc29g\x22\x87\xc3\ +q8\x0e\xe7\x02p\xbb\x93\xfaT\x87d\xe1\x5cA\x1c\ +\xee\x96\x81\xbb\xad\xbf\x8b\xe8v\xfe\x83\xac\x5c\x5c\x5c\x5c\ +\x5c\x5c\x5c\x5c\x5c\x5c\x5c\xffC\xfd\x0b\x99\xa5\x5c~G\ +q`B\x00\x00\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x09\ +\x08\x97\x8a'\ +\x00h\ +\x00e\x00a\x00r\x00t\x00.\x00p\x00n\x00g\ +\x00\x09\ +\x08\x9b\xa0G\ +\x00t\ +\x00r\x00a\x00s\x00h\x00.\x00p\x00n\x00g\ +\x00\x07\ +\x08wW\x87\ +\x00b\ +\x00a\x00d\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00B\x00\x00\x00\x00\x00\x01\x00\x00\x94\x1c\ +\x00\x00\x01z\xe7\xee'\x0d\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01z\xe7\xee'\x0d\ +\x00\x00\x00*\x00\x00\x00\x00\x00\x01\x00\x00d\xb8\ +\x00\x00\x01z\xe7\xee'\x0d\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/widgets/desktop/systray/systray.pyproject b/examples/widgets/desktop/systray/systray.pyproject new file mode 100644 index 0000000..eadfb0d --- /dev/null +++ b/examples/widgets/desktop/systray/systray.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "window.py", "systray.qrc"] +} diff --git a/examples/widgets/desktop/systray/systray.qrc b/examples/widgets/desktop/systray/systray.qrc new file mode 100644 index 0000000..a8b6535 --- /dev/null +++ b/examples/widgets/desktop/systray/systray.qrc @@ -0,0 +1,7 @@ + + + images/bad.png + images/heart.png + images/trash.png + + diff --git a/examples/widgets/desktop/systray/window.py b/examples/widgets/desktop/systray/window.py new file mode 100644 index 0000000..c04a33e --- /dev/null +++ b/examples/widgets/desktop/systray/window.py @@ -0,0 +1,236 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Slot +from PySide6.QtGui import QAction, QIcon +from PySide6.QtWidgets import (QCheckBox, QComboBox, QDialog, + QGridLayout, QGroupBox, QHBoxLayout, QLabel, + QLineEdit, QMenu, QMessageBox, QPushButton, + QSpinBox, QStyle, QSystemTrayIcon, QTextEdit, + QVBoxLayout) + +import rc_systray + + +class Window(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + + self._icon_group_box = QGroupBox() + self._icon_label = QLabel() + self._icon_combo_box = QComboBox() + self._show_icon_check_box = QCheckBox() + + self._message_group_box = QGroupBox() + self._type_label = QLabel() + self._duration_label = QLabel() + self._duration_warning_label = QLabel() + self._title_label = QLabel() + self._body_label = QLabel() + + self._type_combo_box = QComboBox() + self._duration_spin_box = QSpinBox() + self._title_edit = QLineEdit() + self._body_edit = QTextEdit() + self._show_message_button = QPushButton() + + self._minimize_action = QAction() + self._maximize_action = QAction() + self._restore_action = QAction() + self._quit_action = QAction() + + self._tray_icon = QSystemTrayIcon() + self._tray_icon_menu = QMenu() + + self.create_icon_group_box() + self.create_message_group_box() + + self._icon_label.setMinimumWidth(self._duration_label.sizeHint().width()) + + self.create_actions() + self.create_tray_icon() + + self._show_message_button.clicked.connect(self.show_message) + self._show_icon_check_box.toggled.connect(self._tray_icon.setVisible) + self._icon_combo_box.currentIndexChanged.connect(self.set_icon) + self._tray_icon.messageClicked.connect(self.message_clicked) + self._tray_icon.activated.connect(self.icon_activated) + + self._main_layout = QVBoxLayout() + self._main_layout.addWidget(self._icon_group_box) + self._main_layout.addWidget(self._message_group_box) + self.setLayout(self._main_layout) + + self._icon_combo_box.setCurrentIndex(1) + self._tray_icon.show() + + self.setWindowTitle("Systray") + self.resize(400, 300) + + def setVisible(self, visible): + self._minimize_action.setEnabled(visible) + self._maximize_action.setEnabled(not self.isMaximized()) + self._restore_action.setEnabled(self.isMaximized() or not visible) + super().setVisible(visible) + + def closeEvent(self, event): + if not event.spontaneous() or not self.isVisible(): + return + if self._tray_icon.isVisible(): + QMessageBox.information(self, "Systray", + "The program will keep running in the system tray. " + "To terminate the program, choose Quit in the context " + "menu of the system tray entry.") + self.hide() + event.ignore() + + @Slot(int) + def set_icon(self, index): + icon = self._icon_combo_box.itemIcon(index) + self._tray_icon.setIcon(icon) + self.setWindowIcon(icon) + self._tray_icon.setToolTip(self._icon_combo_box.itemText(index)) + + @Slot(str) + def icon_activated(self, reason): + if reason == QSystemTrayIcon.Trigger: + pass + if reason == QSystemTrayIcon.DoubleClick: + self._icon_combo_box.setCurrentIndex( + (self._icon_combo_box.currentIndex() + 1) % self._icon_combo_box.count() + ) + if reason == QSystemTrayIcon.MiddleClick: + self.show_message() + + @Slot() + def show_message(self): + self._show_icon_check_box.setChecked(True) + selected_icon = self._type_combo_box.itemData(self._type_combo_box.currentIndex()) + msg_icon = QSystemTrayIcon.MessageIcon(selected_icon) + + if selected_icon == -1: # custom icon + icon = QIcon(self._icon_combo_box.itemIcon(self._icon_combo_box.currentIndex())) + self._tray_icon.showMessage( + self._title_edit.text(), + self._body_edit.toPlainText(), + icon, + self._duration_spin_box.value() * 1000, + ) + else: + self._tray_icon.showMessage( + self._title_edit.text(), + self._body_edit.toPlainText(), + msg_icon, + self._duration_spin_box.value() * 1000, + ) + + @Slot() + def message_clicked(self): + QMessageBox.information(None, "Systray", + "Sorry, I already gave what help I could.\n" + "Maybe you should try asking a human?") + + def create_icon_group_box(self): + self._icon_group_box = QGroupBox("Tray Icon") + + self._icon_label = QLabel("Icon:") + + self._icon_combo_box = QComboBox() + self._icon_combo_box.addItem(QIcon(":/images/bad.png"), "Bad") + self._icon_combo_box.addItem(QIcon(":/images/heart.png"), "Heart") + self._icon_combo_box.addItem(QIcon(":/images/trash.png"), "Trash") + + self._show_icon_check_box = QCheckBox("Show icon") + self._show_icon_check_box.setChecked(True) + + icon_layout = QHBoxLayout() + icon_layout.addWidget(self._icon_label) + icon_layout.addWidget(self._icon_combo_box) + icon_layout.addStretch() + icon_layout.addWidget(self._show_icon_check_box) + self._icon_group_box.setLayout(icon_layout) + + def create_message_group_box(self): + self._message_group_box = QGroupBox("Balloon Message") + + self._type_label = QLabel("Type:") + + self._type_combo_box = QComboBox() + self._type_combo_box.addItem("None", QSystemTrayIcon.NoIcon) + self._type_combo_box.addItem( + self.style().standardIcon(QStyle.SP_MessageBoxInformation), + "Information", + QSystemTrayIcon.Information, + ) + self._type_combo_box.addItem( + self.style().standardIcon(QStyle.SP_MessageBoxWarning), + "Warning", + QSystemTrayIcon.Warning, + ) + self._type_combo_box.addItem( + self.style().standardIcon(QStyle.SP_MessageBoxCritical), + "Critical", + QSystemTrayIcon.Critical, + ) + self._type_combo_box.addItem(QIcon(), "Custom icon", -1) + self._type_combo_box.setCurrentIndex(1) + + self._duration_label = QLabel("Duration:") + + self._duration_spin_box = QSpinBox() + self._duration_spin_box.setRange(5, 60) + self._duration_spin_box.setSuffix(" s") + self._duration_spin_box.setValue(15) + + self._duration_warning_label = QLabel("(some systems might ignore this hint)") + self._duration_warning_label.setIndent(10) + + self._title_label = QLabel("Title:") + self._title_edit = QLineEdit("Cannot connect to network") + self._body_label = QLabel("Body:") + + self._body_edit = QTextEdit() + self._body_edit.setPlainText("Don't believe me. Honestly, I don't have a clue." + "\nClick this balloon for details.") + + self._show_message_button = QPushButton("Show Message") + self._show_message_button.setDefault(True) + + message_layout = QGridLayout() + message_layout.addWidget(self._type_label, 0, 0) + message_layout.addWidget(self._type_combo_box, 0, 1, 1, 2) + message_layout.addWidget(self._duration_label, 1, 0) + message_layout.addWidget(self._duration_spin_box, 1, 1) + message_layout.addWidget(self._duration_warning_label, 1, 2, 1, 3) + message_layout.addWidget(self._title_label, 2, 0) + message_layout.addWidget(self._title_edit, 2, 1, 1, 4) + message_layout.addWidget(self._body_label, 3, 0) + message_layout.addWidget(self._body_edit, 3, 1, 2, 4) + message_layout.addWidget(self._show_message_button, 5, 4) + message_layout.setColumnStretch(3, 1) + message_layout.setRowStretch(4, 1) + self._message_group_box.setLayout(message_layout) + + def create_actions(self): + self._minimize_action = QAction("Minimize", self) + self._minimize_action.triggered.connect(self.hide) + + self._maximize_action = QAction("Maximize", self) + self._maximize_action.triggered.connect(self.showMaximized) + + self._restore_action = QAction("Restore", self) + self._restore_action.triggered.connect(self.showNormal) + + self._quit_action = QAction("Quit", self) + self._quit_action.triggered.connect(qApp.quit) + + def create_tray_icon(self): + self._tray_icon_menu = QMenu(self) + self._tray_icon_menu.addAction(self._minimize_action) + self._tray_icon_menu.addAction(self._maximize_action) + self._tray_icon_menu.addAction(self._restore_action) + self._tray_icon_menu.addSeparator() + self._tray_icon_menu.addAction(self._quit_action) + + self._tray_icon = QSystemTrayIcon(self) + self._tray_icon.setContextMenu(self._tray_icon_menu) diff --git a/examples/widgets/dialogs/classwizard/classwizard.py b/examples/widgets/dialogs/classwizard/classwizard.py new file mode 100644 index 0000000..296cff0 --- /dev/null +++ b/examples/widgets/dialogs/classwizard/classwizard.py @@ -0,0 +1,380 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +from pathlib import Path +import sys + +from PySide6.QtCore import QDir, QFileInfo, QUrl, Slot +from PySide6.QtGui import QDesktopServices, QPixmap +from PySide6.QtWidgets import (QApplication, QComboBox, QCheckBox, QFormLayout, + QFileDialog, QHBoxLayout, QLabel, QLineEdit, + QMessageBox, QToolButton, QVBoxLayout, QWizard, + QWizardPage) + +from listchooser import PropertyChooser, SignalChooser + +import classwizard_rc + + +BASE_CLASSES = ['', 'PySide6.QtCore.QObject', + 'PySide6.QtWidgets.QDialog', 'PySide6.QtWidgets.QMainWindow', + 'PySide6.QtWidgets.QWidget'] + + +PYTHON_TYPES = ['int', 'list', 'str'] + + +INTRODUCTION = ("This wizard will generate a skeleton Python class definition, " + "including a few functions. You simply need to specify the class name and set " + "a few options to produce a Python file.") + + +def property_accessors(property_type, name): + """Generate the property accessor functions.""" + return (f' @Property({property_type})\n' + f' def {name}(self):\n' + f' return self._{name}\n\n' + f' @{name}.setter\n' + f' def {name}(self, value):\n' + f' self._{name} = value\n') + + +def property_initialization(property_type, name): + """Generate the property initialization for __init__().""" + return f' self._{name} = {property_type}()\n' + + +def signal_initialization(signature): + """Generate the Signal initialization from the function signature.""" + paren_pos = signature.find('(') + name = signature[:paren_pos] + parameters = signature[paren_pos:] + return f' {name} = Signal{parameters}\n' + + +class ClassWizard(QWizard): + def __init__(self, parent=None): + super().__init__(parent) + + self.addPage(IntroPage()) + self._class_info_index = self.addPage(ClassInfoPage()) + self._qobject_index = self.addPage(QObjectPage()) + self._output_index = self.addPage(OutputFilesPage()) + self.addPage(ConclusionPage()) + + self.setPixmap(QWizard.BannerPixmap, + QPixmap(':/images/banner.png')) + self.setPixmap(QWizard.BackgroundPixmap, + QPixmap(':/images/background.png')) + + self.setWindowTitle("Class Wizard") + + def nextId(self): + """Overrides QWizard.nextId() to insert the property/signal + page in case the class is a QObject.""" + idx = self.currentId() + if idx == self._class_info_index: + qobject = self.field('qobject') + return self._qobject_index if qobject else self._output_index + return super(ClassWizard, self).nextId() + + def generate_code(self): + imports = [] # Classes to be imported + module_imports = {} # Module->class list + + def add_import(class_str): + """Add a class to the import list or module hash depending on + whether it is 'class' or 'module.class'. Returns the + class name.""" + dot = class_str.rfind('.') + if dot < 0: + imports.append(class_str) + return class_str + module = class_str[0:dot] + class_name = class_str[dot + 1:] + class_list = module_imports.get(module) + if class_list: + if class_name not in class_list: + class_list.append(class_name) + else: + module_imports[module] = [class_name] + return class_name + + class_name = self.field('className') + qobject = self.field('qobject') + base_class = self.field('baseClass') + if base_class.startswith('<'): # + base_class = '' + if qobject and not base_class: + base_class = 'PySide6.QtCore.QObject' + + if base_class: + base_class = add_import(base_class) + + signals = self.field('signals') + if signals: + add_import('PySide6.QtCore.Signal') + + property_types = [] + property_names = [] + for p in self.field('properties'): + property_type, property_name = str(p).split(' ') + if property_type not in PYTHON_TYPES: + property_type = add_import(property_type) + property_types.append(property_type) + property_names.append(property_name) + + if property_names: + add_import('PySide6.QtCore.Property') + + signals = self.field('signals') + if signals: + add_import('PySide6.QtCore.Signal') + + property_types = [] + property_names = [] + for p in self.field('properties'): + property_type, property_name = str(p).split(' ') + if property_type not in PYTHON_TYPES: + property_type = add_import(property_type) + property_types.append(property_type) + property_names.append(property_name) + + if property_names: + add_import('PySide6.QtCore.Property') + + # Generate imports + block = '# This Python file uses the following encoding: utf-8\n\n' + for module, class_list in module_imports.items(): + class_list.sort() + class_list_str = ', '.join(class_list) + block += f'from {module} import {class_list_str}\n' + for klass in imports: + block += f'import {klass}\n' + + # Generate class definition + block += f'\n\nclass {class_name}' + if base_class: + block += f'({base_class})' + block += ':\n' + description = self.field('description') + if description: + block += f' """{description}"""\n' + + if signals: + block += '\n' + for s in signals: + block += signal_initialization(str(s)) + + # Generate __init__ function + block += '\n def __init__(self' + if qobject: + block += ', parent=None' + block += '):\n' + + if base_class: + block += ' super().__init__(' + if qobject: + block += 'parent' + block += ')\n' + + for i, name in enumerate(property_names): + block += property_initialization(property_types[i], name) + + if not base_class and not property_names: + block += ' pass\n' + + # Generate property accessors + for i, name in enumerate(property_names): + block += '\n' + property_accessors(property_types[i], name) + + return block + + def accept(self): + file_name = self.field('file') + output_dir = self.field('outputDir') + python_file = Path(output_dir) / file_name + name = os.fspath(python_file) + try: + python_file.write_text(self.generate_code()) + except (OSError, PermissionError) as e: + reason = str(e) + QMessageBox.warning(None, "Class Wizard", + f"Cannot write file {name}:\n{reason}") + return + + if self.field('launch'): + url = QUrl.fromLocalFile(QDir.fromNativeSeparators(name)) + QDesktopServices.openUrl(url) + + super(ClassWizard, self).accept() + + +class IntroPage(QWizardPage): + def __init__(self, parent=None): + super().__init__(parent) + + self.setTitle("Introduction") + self.setPixmap(QWizard.WatermarkPixmap, + QPixmap(':/images/watermark1.png')) + + label = QLabel(INTRODUCTION) + label.setWordWrap(True) + + layout = QVBoxLayout(self) + layout.addWidget(label) + + +class ClassInfoPage(QWizardPage): + def __init__(self, parent=None): + super().__init__(parent) + + self.setTitle("Class Information") + self.setSubTitle("Specify basic information about the class for " + "which you want to generate a skeleton source code file.") + self.setPixmap(QWizard.LogoPixmap, + QPixmap(':/qt-project.org/logos/pysidelogo.png')) + + class_name_line_edit = QLineEdit() + class_name_line_edit.setClearButtonEnabled(True) + + self._base_class_combo = QComboBox() + self._base_class_combo.addItems(BASE_CLASSES) + self._base_class_combo.setEditable(True) + + base_class_line_edit = self._base_class_combo.lineEdit() + base_class_line_edit.setPlaceholderText('Module.Class') + self._base_class_combo.currentTextChanged.connect(self._base_class_changed) + + description_line_edit = QLineEdit() + description_line_edit.setClearButtonEnabled(True) + + self._qobject_check_box = QCheckBox("Inherits QObject") + + self.registerField('className*', class_name_line_edit) + self.registerField('baseClass', base_class_line_edit) + self.registerField('description', description_line_edit) + self.registerField('qobject', self._qobject_check_box) + + layout = QFormLayout(self) + layout.addRow("&Class name:", class_name_line_edit) + layout.addRow("B&ase class:", self._base_class_combo) + layout.addRow("&Description:", description_line_edit) + layout.addRow(self._qobject_check_box) + + @Slot(str) + def _base_class_changed(self, text): + is_qobject = text.startswith('PySide') + self._qobject_check_box.setChecked(is_qobject) + + +class QObjectPage(QWizardPage): + """Allows for adding properties and signals to a QObject.""" + def __init__(self, parent=None): + super().__init__(parent) + + self.setTitle("QObject parameters") + self.setSubTitle("Specify the signals, slots and properties.") + self.setPixmap(QWizard.LogoPixmap, + QPixmap(':/qt-project.org/logos/pysidelogo.png')) + layout = QVBoxLayout(self) + self._properties_chooser = PropertyChooser() + self.registerField('properties', self._properties_chooser, 'items') + layout.addWidget(self._properties_chooser) + self._signals_chooser = SignalChooser() + self.registerField('signals', self._signals_chooser, 'items') + layout.addWidget(self._signals_chooser) + + +class OutputFilesPage(QWizardPage): + def __init__(self, parent=None): + super().__init__(parent) + + self.setTitle("Output Files") + self.setSubTitle("Specify where you want the wizard to put the " + "generated skeleton code.") + self.setPixmap(QWizard.LogoPixmap, + QPixmap(':/qt-project.org/logos/pysidelogo.png')) + + output_dir_label = QLabel("&Output directory:") + output_dir_layout = QHBoxLayout() + self._output_dir_line_edit = QLineEdit() + output_dir_layout.addWidget(self._output_dir_line_edit) + output_dir_label.setBuddy(self._output_dir_line_edit) + output_dir_button = QToolButton() + output_dir_button.setText('...') + output_dir_button.clicked.connect(self._choose_output_dir) + output_dir_layout.addWidget(output_dir_button) + + self._file_line_edit = QLineEdit() + + self.registerField('outputDir*', self._output_dir_line_edit) + self.registerField('file*', self._file_line_edit) + + layout = QFormLayout(self) + layout.addRow(output_dir_label, output_dir_layout) + layout.addRow("&File name:", self._file_line_edit) + + def initializePage(self): + class_name = self.field('className') + self._file_line_edit.setText(class_name.lower() + '.py') + self.set_output_dir(QDir.tempPath()) + + def set_output_dir(self, directory): + self._output_dir_line_edit.setText(QDir.toNativeSeparators(directory)) + + def output_dir(self): + return QDir.fromNativeSeparators(self._output_dir_line_edit.text()) + + def file_name(self): + return f"{self.output_dir()}/{self._file_line_edit.text()}" + + def _choose_output_dir(self): + directory = QFileDialog.getExistingDirectory(self, "Output Directory", + self.output_dir()) + if directory: + self.set_output_dir(directory) + + def validatePage(self): + """Ensure we do not overwrite existing files.""" + name = self.file_name() + if QFileInfo.exists(name): + question = f'{name} already exists. Would you like to overwrite it?' + r = QMessageBox.question(self, 'File Exists', question) + if r != QMessageBox.Yes: + return False + return True + + +class ConclusionPage(QWizardPage): + def __init__(self, parent=None): + super().__init__(parent) + + self.setTitle("Conclusion") + self.setPixmap(QWizard.WatermarkPixmap, + QPixmap(':/images/watermark1.png')) + + self.label = QLabel() + self.label.setWordWrap(True) + + self._launch_check_box = QCheckBox("Launch") + self.registerField('launch', self._launch_check_box) + + layout = QVBoxLayout(self) + layout.addWidget(self.label) + layout.addWidget(self._launch_check_box) + + def initializePage(self): + finish_text = self.wizard().buttonText(QWizard.FinishButton) + finish_text = finish_text.replace('&', '') + self.label.setText(f"Click {finish_text} to generate the class skeleton.") + self._launch_check_box.setChecked(True) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + wizard = ClassWizard() + wizard.show() + sys.exit(app.exec()) diff --git a/examples/widgets/dialogs/classwizard/classwizard.pyproject b/examples/widgets/dialogs/classwizard/classwizard.pyproject new file mode 100644 index 0000000..fcc96ef --- /dev/null +++ b/examples/widgets/dialogs/classwizard/classwizard.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["classwizard.qrc", "classwizard.py", "listchooser.py"] +} diff --git a/examples/widgets/dialogs/classwizard/classwizard.qrc b/examples/widgets/dialogs/classwizard/classwizard.qrc new file mode 100644 index 0000000..c5885dd --- /dev/null +++ b/examples/widgets/dialogs/classwizard/classwizard.qrc @@ -0,0 +1,7 @@ + + + images/background.png + images/banner.png + images/watermark1.png + + diff --git a/examples/widgets/dialogs/classwizard/classwizard_rc.py b/examples/widgets/dialogs/classwizard/classwizard_rc.py new file mode 100644 index 0000000..e9feae4 --- /dev/null +++ b/examples/widgets/dialogs/classwizard/classwizard_rc.py @@ -0,0 +1,2316 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.2.2 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00\x0fk\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x01\xf4\x00\x00\x00K\x08\x03\x00\x00\x00\xb1\xe3\x85\xac\ +\x00\x00\x00BPLTE\xd5\xd5\xff\xf6\xf7\xff\xda\xdb\ +\xff\xef\xef\xff\xdf\xe0\xff\xe7\xe7\xff\xea\xea\xff\xea\xeb\xff\ +\xeb\xeb\xff\xdf\xdf\xff\xf7\xf7\xff\xfa\xfb\xff\xf3\xf3\xff\xd7\ +\xd7\xff\xff\xff\xff\xe6\xe7\xff\xdb\xdb\xff\xe3\xe3\xff\xd5\xd6\ +\xff\xf2\xf3\xff\xee\xef\xff\xe5\xe6\xff\x96\xf6\xba\x85\x00\x00\ +\x0e\xe4IDATx^\xed]\xd9\x92$7\x08\x1c\ +\xa4:\x8f\xbefv\xff\xffW\x0d$\x14R\xd7N\xd8\ +\x0f#Gl\x84R\x05\xd5\xf6\x9b\x9d\x83\x0e U\x1f\ +\xf7\x1fE\xc7~\xdfwv\xf7\xedN\xf7m\xdf\xb7;\ +\x0f\xc1.\x8e\xb6c;\x88\x87\x812-\x94\xf9\xf9\xca\ +\x05\x96\xf0\ +0~\x94\x80\x8e\x1d\x9e\x84\xf5\x8d\xf9\xdf\x95m\xf1\x02\ +\x12S\xde\xc1\xbcr\x9e)3\xc0\xfb\xaf\x99\xc9\x16\xd6\ +\xf3\x22\x98\x95r\xc6\xfc\x98\x9d\xf4QY\x07\xedA\xbd\ +\x93\x9e\xd6\xf5)\x8e\xc9\x06\xe97\x19\xcf\xf4q\xbb\x81\ +\xf0\x06\xa4\xf70\x87\x17\xe3X\xdf\xc5\xf1k3\x10\xf3\ +m\xd1.\xc8\x94\xd9\xd3B\xcb\x97\xc5\xfa\xfcK\x1c\xa2\ +\xfc\x8f\x91\xfe\x1aeT\x94\xaf\xaf\xd7`\xd1\x9eV\x01\ +\x07yZ\x11\xe97\xe6;\xdd\xf0\xdc>8\xda\xd9\xb5\ +!\xbd\xc7\xfa.A.\xb1\xce\xcf\xae\xe3\xee\x91~\x90\ +qN\x94e\x1cY\xc3=0\xcf\x12\xe72\x9c\xf4I\ +I\x9f\x10\xe9\xc6\xbb\xd1\xbe\xca30\xe9\x80Dzz\ +\x1a\xe1n\xe9y\xbb\xd9\x14\xaf\x9c7 \xbd\x83\x84m\ +!\x9f\xd8\x8c\xf3=\xd6t\xe7\x1c\x91\x9e\x17:\x98\xf8\ +\xaf\xe0\x9c\x1f\xb0\xee\xd3;\xc6\xc8\xcc\x0b\xe9U\xa4\xaf\ +l\x03H\x1f\xd8V]\xd3\x95x~@\xba2\xfe\x94\ +\x18g(\xeb\xb7\x9f&\xbdc\x87\xdb\x09;8Y\xd5\ +\x85y\x00k:\x06\xf6ql\xf9\xf05=8\x9fu\ +v\x8fH\x9fFy\xc6\xc7\x0b\xacW\x91\xce\x9c\x8b\x07\ +\xf1\xe0\x5c\xe7wL\xef)\xdd\x94\xf7`\x9d\x9f\x1f&\ +\xa0S\xbe\xcb \x9d\xde9\xdei3\xec\x14kz\xec\ +\xde%\xdacM7\xcc\xc5\xee\x1d\xd0\xa9]M\xf6q\ +:\x04`\xdd\xa6\xf7\x97\xd0\xad\x900\x07\x12fw\x9b\ +\xdf\x99\xef&kz\xe7\x1c&^(g\xf3u\xdd\xd7\ +t\x1e\x94m\x8e\x97 \xc7\x16\x1e\x98\x84p~b\xf7\ +\xcex\xf03\x8a\x8d\x16\xe9\xfc\xc4\xee]#}x\xad\ +\x80\xed\xde\x13;\x90\xce\xb4K\x98\xa7\x9b \xf9\x9a>\ +\x01\xf3\xbc\x00Y\xc7\x9c'\xfb\xb5\xe4\x1a\xf8glA\ +\xf8\xb1]\xe8\xc2\xe3Plx\x9d\xabW>\xb6\x12\x98\ +\xf3\xf8\xa1\x8d\xa3\x00\xefM\xd7@q\x9b\x9cq\xe5\x8d\ +\xb5\xb1\x0d:\x0a\xd2\x033?\xe0\x5c\x80?\x82\x80\x10\ +,>\xfb_*\xce\x1e\x01a\x1b\x9e\x0e\xda\xc1\xfev\ +\xc1]l\x07\xe5L6i:\x83\xdf\x08\x16b\x93\x7f\ +\xe3Sf\x03t\xd2\xa7\xe0;\xcb[\xa9\xce\xf3\xac\xaf\ +\x12\x87\xbdA\xb8\xc47X?\x00\xda\xd8\xf0\xd6A\x1b\ +Ple\xee\xf8g\xb8\xfb\x1d&\xf1M\xf8MN\xb9\ +\x1fy\xf1j\x86N\xfa$\x9c\xcfY\xdf\xba\xb60\xa6\ +\xe0]~!u(\xac\xf3\x0f~\x1f\xfa\xeb\x08\xe4c\ +\xf3A\xf8M\x94\x83te\x9b0\x9bk\xc4\x13)\xf5\ +2$\xb4\xf5\x07\xf1`\xd7\x82\xec\x8e\x9f\xdd\xc8u\xec\ +\x18\xd8\x98`\xc7\xe2;\xb9\xcc\xbfb\xa7\xa3 ,\x95\ +\xb4,l\x88/\xc6\x82\xcd\xdcT\xec\xde\x1f#6r\ +\x91\x9by\xd8\xde]s\xefvF_\x93=)y\xee\ +\xfd\xa6\xc7\xb6'\xdb\xc7\xf3#5M\xc3v\xea\xc9l\ +C6.V8\x9c\xd3\xe9\xf0\xdd;a\x8fT\x16[\ +,3c\xa43\xcf\xecAz\x9c\xd3\x1d\xab\xda\xc0v\ +\xee\xde\x93\xbat\xe6\xde\x8dy\x1c\xd9Zd\xe4:4\ +-c\xb9w\xecO\xad\xe6B\x1b\xc3\xcf\xe9\x9e{\x17\ +OL\xbdc\x0e\xe2\x05s\x04\xfaX\xe5\xde\x03^e\ +Ss\xe2S\xe4\xde\xc5\xf00\x9a\xe4\xde;\x88\x0d\xe7\ +\x0eu\x98\xd9\xebsz\x99{\xb7\xf3O\xce\x14\xbck\ +\x8dm.H\x7fHr\xa6\xce\xbd?\xcaD,X/\ +\xcf\xe9L8\x22]\x89\xe7\xa3:\xd0\x22\xf7\xde\xb1\xbb\ +'\xf1\x1b\xdb\xbf\xd4\xd3\x17\x1e_\x19\x83\xf1\xeb-\x0f\ +;\xcfsD\xfa\x03iX\xb1\xd7\xeb\xf7oK\xcc\xac\ +/\xa7|\x18\x12\xc2\xbcZ\xd3Q]\xfdcv\xcff^c\x8b\x19~\xc1\xbc\x8e_\xf2\ +\xdbjl\x19\xb3<;\xab\xad\x09\xeb\xa8\xb1\xedy\xdb\ +H<\x83H\x1c\xaalb\xcc\xb5\xfe\xc2\xec\xce\xcf.\ +oy)\xf9\xf4W1\xde\xabl\xbd\xfb\x1d\x7f\xcd\xf6\ +7\xee\xbb\x9a\x834\x122\x91\xac\x89\x1a%\xb4,\xe7\ +>n\x16o;9\x17;\xa8cXrFS\xb0\xfc\ +\x00\xb1uO+\x80\x8c\x1c\x12\xb1\xc8\xbd'm\x8c\xc4\ +\xd6\x1d\xfe\xa7\x09\xe8\xe75\x14]L\xd1\x84\x07Y\xb9\ +\xb2\xe2\xa2\xf8\xbe\xef}^\xea\x1e9~\x81t\x10.\ +\xa3\xca\xbd\xaf\xea\xa2\xd8\xa2\xa7\xf4\x905\x99\xb4)\xb5\ +\xca\xbdw\xf8\x1e\x14\xbb\xd2m\x8f\xce\xc8\xa8\xa7\x1b\xbe\ +\xeb{\xaf\xb5l(\xaf\x22\xc8\xd5\xd5\x0a\x17\x88[\xd8\ +\xa2\x9e\x1eZ6a?\xa1\xbe&hXe\xeb}\xef\ +B<\x1ed\xe3.}\xef`\xfe\xda\xf7\xbe\xe4\xfc\xa7\ +n\xd8\xc7\xe4-\xd0L\xf7Xt\xc3\xae\xa7\x94m\xb8\ +\xd4\xd3C\xdd\xf2,\xfb\xde?\x7f\x9a\xf4\x9e\x9cq\x1d\ +\x9b\x982NE=\x9d\xa2\x9e\x0e\xfc\xb1\xef\xdd\xa2\xbc\ +\x100\x22#\xe7\xd9\x19p\xee\xb8\x94\xd3\x8b\x1e\xe8\xf4\ +4-[\xd9\xf7\xde\x86\xf4\x1e\xeaZe\xd3s\xc9\xf7\ +\xf5t\xf0\x1e}\xefE\xe7\xf1\x82\x11yXa\x1c\x91\ +\xfe\xe2\x17[\x10\x0e\xc7\xf6M=\xfd\xc6?\xa2\x87\xa2\ +Y\xa4w\xd2#\xd7\xe4\xeb\xb9\x81\xe8@\xfe\xdd8\xcf\ +Y\x1d1\xc3\x91{w\xc1C1\xbd\x83t\x8btM\ +\xc5~\xafOO\xb5>\x1d\xcdR\x1f\x09\xe2\xf4Vk\ +z_\xd1IM\x13\xcc\xf7M](\x18}=\x07\xe7\ +\xe2\xa1#\x10\x03B\x9d^\xd6\xd3\x99yDzt\xce\ +\x5c\xf5\xe9kz\xaf\xa7\x0bp`\x0b\xce\x9b\x91\xde\xbb\ +gx\xa0\x96\xee\x1d\xfex\xd9\xba\xee\x9bw!\x9b4\ +\xb3\xe9\x98\x8b\x1e\xb9\xd9T\xab\xde#\x87\xc3\xfak\xbc\ +\xe8\xd3\x11\xed\x86\xd7YO\xf7\x9eH\xb86\xfa\xf4\x0e\ +Wf\x10\x8a\x07\xbb\x86zqN\xcf\x16\xe5\xfa\xc61\ +]\x94\x03\xba\x94\x13\xb4l\xfa{B9}:1Z\ +\xe3\xcc\xf8\xba4\xc3\x96|\x87j\x15\xe2E\xc6\x13\xe9\ +\x19}<7S\x15\x5c&\xcb\xbd\x87\x96m\xae\x94\x0e\ +S\xf6.\xbe\x85,\x0bK\x8b\xe9\x1b\xe4\x8d_P6\ +e6}\x18Y=@\xa1p!\x8aS\xec\xeeU6\ +y!L\x5c\xec\xb0\xc3\xfd\x18:.\xa43r\xa1e\ +\x9b\xc5\x09\xf9\x05\x0e\xa9\xc0\xa1\xd6Bxe\xdf\x8c\xea\ +\x1bu5+\xb8\xf0oOC\xd6@Q\x8d\x1dfA\ +qb\xca/\x89\xc3\xef\xff\x05\xbd\xca\x16Z6\xb6w\ +|\xd9\xfaCG\xc6\xc8\x11\xdf\xa8\xa3\x97*F\xd4\xd0\ +\x0f\x04u\x09!\xd9\xb5l\xc4\x86\xcbY\xc4\xe07\x17\ +/\xb6\x976u\xd2\x01h\xd90\xecU\x01Z6\x0c\ +S*\x1f\x00e\xe5\x9b\x0eDx\xde\xf3\x81\xdc\xa3\x91\ +N\xae\xf3a\xb8\x96Ml'\xaf\xa7\x8b\xe9\x10ll\ +\x7f\x89n\xb5W\xd9\xfa\xfe\x9d\xde{\xe4\xbcm\x08\x19\ +\xb9L\xe79=\x17\x19\xb9_\x93\x9f\xd3\x97\x8b\xc2\xc5\ +\x1b\xe4\x90zg\xe7\xb0\xbc;\xbfyX\xdf\xbbo\xe6\ +\x90\x8e\x93\xf4\xbb\x0b\x9b\xc4Z\x90\xde\x13r\xea\xd0\x08\ +v\x07\xeb@\xd9\xf3^\x9f\xd3\x81_\x9e{\xcf\xf5\xe5\ +\x81\xd1\xf7~\xd9\xbd\x0f\xc3K\x86\xe6\xe2\xe2\x1e9\x88\ +[@\xba\xeb[\x8c\xf5V\xa4\xf7\xbew\xbb]j\xdb\ +\x91\x9c\x8b\xdc\xbb\xf1\xfevN\xbf\xf4\xbd\xcf\xcb\x9ck\ +Y\x93\x0b\x18\x85w\xa8V\x1d\xab\x8f\xb8s\x86\xf3q\ +H\xc3*n\xb8h\xa8u\x95\xad\xe7\xde7?\xa7\xa3\ +\xfb\xd9s\xef\xbe\xc3)\xce\xe998\x8f\xbew\xf6\x0a\ +P\xcef}\xef<\xca\xc2\xea\xea\xc9w\xc7y\x8f\x5c\ +:\xef\x9c\xb9\xdd\xd8\xb7\xd3\xb2u\xec0r\x95\x0bi\ +\x8cW\x0a\x97J\xcf&[b\xfaS\xdf\xfb\x8c\x84\x5c\ +\x5c4\xe4U6I\xc1V\xb4\xf3\x03}:\xac\xae\xa7\ +C\xbc(\x9c\xabB]\xa2\xbd\xcb\x9a\x9a\xb0\x8e{S\ +8\xca\xd9aM\xc7\xa8\x14.^V\xfd\x22\xebz\x0f\ +\xe6\x17\x10\xef\xa4?f\xb6\xa8\xb2]r\xefC\xe8\xd3\ +\x87\xa1\xca\xbd;\xe9\x89M\xa8\x17\xba?\x1b\x92\xde\xa7\ +w5\xe5\x1a>\x04\x8c\x88r1\x88\x17+\xc6\xab\xdd\ +\xbbGz\x90.\x0e\x1b96`\x88\x82\xfa\x90\xde\xeb\ +\xe9\xb0\xe4\x8a\xd5g+\x01c\xa7\x9c\xe4\xb5\xfb\x9a\x8e\ +\x19\x1e\xe63;\x19\xe7\xf4\xc5\x00\xe7b\xe0<\xd6\xf4\ +\xe9\x84W\xd9\x94pq\x8e\xe1\x1b}\xba\x13\x0e\xf9\x22\ +\xc7\xfbSXo\xd4\x18\xd9IG\x05\xc1\xef{g\xaa\ +\xb5\xcd\xfb\x04\xf2V'LA\xe0\x88\xce\x99z#\xe7\ +\xdd\xb0\xa5\xa4\xc9\xf5\xe9u\xebLJ\xa5>\xfd]\xa9\ +\xdcj#\xd7\xa7\xf6\xb8\xef\x9dL\xcb\xb6m\xea\xf7|\ +\x88\xa1\x0f\x9a\xb4\xf9\x99\xc4\x84h\x8d\xf4I\x09W5\ +\xdb<\x95\xc9\x196$g\xae\x0au\xe1=y\x0ft\ +\xac\xe9\x02\xbb\x94\x80\x17s\xa3\xdd\x0a\xeaU\x1aV\x9c\ +k\x1eP\xe1Ce\xad\xf4K\x16g56\xbbK\x8e\ +2eT\xd9\x16h\xd8\x8e\x83\xd8#\xf7\xb4ol\xc8\ +\xc2\x8b\xdd\xed\xbf\xff\xd4\xb2m\xa4\xe9+\xcf\xbb\xb3\xdb\ +\xed\xb4\xcb\x1e\xef\x86\xe8\xb9\xf7\xa9\xa8\xb9T\xb9\xf79\ +\x97 \x1e\xd9UM\xae\xb1\xa6#@\xa1d\xb3\x93)\ +\xbd_\x22\xe8\x1a6~\xe3\x89*\x1b?tv\xa0\xec\ +\x1eB-\xd0K\xab\xc0\x1c|\x9b<>\xc3;H-\ +\xda\xf4\x85t3R\x03\xe2\xc6Hc}\xab\x81<\x15\ +\xf8\xd6A\xe2,\xd6\xd1KJ\xec\x83\xfb\x06\xe8\xa4#\ +\xd61\xc3\xcf\xa8\xb3\x99\xcaF\xcd\xfd\x22\xb6\xe0\xd7q\ +,\xaab[\xec\xc6H\xb1\x83\xb2\xdf\x03Lj\x1b\xd4\ +l\x0a\xbc\xa1c\x9373\x0e-[\xa8\x95w6\xd0\ +.\xa0\xbf\x81\xed^e\xeb\xd81\xb0{g\xc3.\x86\ +G\xde7\xca;\x99\x92\x0dZ6\xb1B\xcb\x06[\xf2\ +l\x11\x08 %\xf7P\x03^'\x92\x9f\xd8\x8a\xdc;\ +v\xef\xb0\xdb\x99}o\xaap\xe9\xa4\x17\x97\x0dm\xdb\ +{\x95m\x0b\xad\x03\xf2\xee\x97\xbe\xf7E]4F\x8a\ +\xb1\x03\xe9/<\xd7z\x8b!\xc9\x03\x97\xe2\xc8&\x8f\ +\xa2\xe9\x8d\x91\xbd\xef\x1d7\x99\xdb^\xf5\x92{7D\ +\xffQ\xd5\xf7~\xd5\xb2\x8d\xd6\x19\xf9:/\x0fT\x0c\ +\xe6\xd0\x04\xeba^\xdd.e\xcaU\xb4E\xb6\x8e\xf4\ +\xde\xf7\xce\x5c\xbbm\x97\xdc;\xa2]\xb7E\xc2\xf9\xa5\ +\xef=\xbf\xabVGA|\x96\x8d=\x08\x1f\xcaH\x8f\ +z:\x90T\xe2\x82\xc1\x87\xf5v\xc9\x99\x9e\x9c\x11\xd0\ +\xeeyX\xda\xdfr\xef1\xbfS\x16\xa3j~\x9f\xdf\ +\xb5l\xe3$\x0ex\x08\xe3\x9a\x88\xf5P\xff\x8dF\x0a\ +\xe3}\x88z:H\x7fZ\xd3\xccg\xfaLm\xd7\xf4\ +\xfe\xe5\x1e\xbbG\xaeT\xb7\xa8\x95QN\xc67F^\ +\xa8\xe0\xfc\xa2e\x1b-\xd2yD\xa0\x87\x98\x0dd\xa7\ +a\x88z\xba\x91\x8e\xa2*\x87\xfc\xfa\xe9q\xde\x88\xf4\ +\xbew\x8f\xc6\xee\xcd9\xb7H\x0f\xce\x11\xe9\xc6yf\ +\xbb\xce\xef\xbe\xa6\x8f\xe7\x8d\x91\xf2D\xa0_\xd4\x0e\xd7\ +z:\xae\x92\xfb\xe4P\x17\xdf>\xd2{y\x15\x92e\ +\x0c\xdf\xbdWZ\xb6|x\xb4W\xf7\xbd\x97\xdfec\ +\xaa\xc5\xf3\x1b\xbb\xf7\xd0\xa7\x03\xab\x8d\xaa\xcafMr\ +\xc8\xbeK\xa43\xeb\xb7\xf4\xd92\xd2\xfb}\xef\xe8\x93\ +\xb3\x1b\xd3\xaa\xdd;\x86!\xfbp\xcc\xd5w\xd9\xae\xf7\ +\xbd\xbf4\xd2\xe5\x16\xe8\xd7\xb5\x9e\x9e\xd6\xe1\xaaO\xc7\ +N\x8e)W|\xf2\xf8y\xd2\xfb\x17\x1d\x00f\x1b\xba\ +\x0d!\x9e\xde;ba\xc0\xe5\xbe\xf7\xea&\x0a\xc1X\ +\xde\xf7>b\xfb\x0e\x0cU==\xbe\xaa\x0c\xc2\x15\xd0\ +\xa7\xcb\xec\x0e\xd6/Z\xb6\xf2\xbbl\xfa\xf6\x17\x0f\x87\ +\x7f\x82B\xdfK>\xb5l\x8e\x0d/\xa2\xd0\xb2\x1d<\ +\x02\xa5\xce\x01\xfa>\xfc\xf0\x0a\x1b\xf2\xb0<\x14\xbb=\ +\xcd\xd0\x0b.\xf5w\xd9\xa0\x8e\xbf\x02\xb57\x5c\x14\xe9\ +Z\xb6\x12\xae\xba\x87\x96\x8d0\xaf\x01\xd1/\x86\x14e\ +|\x97\xedN _\xa3\x034o\xffW\xee\xbd\xcb\x9a\ +.Z\xb6w\xdeC\xcbF\xf2\xdb\xdb\xf6\x05T}\x97\ +\x0dZ\xb6\xe3\xd4\xb2\xed\x88q\xc0\xd6\xba\x1de\xd5\xb8\ +1\x92Gh\xd9L\xb9\xda\x94\xf9N\xfa\x5c}\x97\x8d\ +mb\xe7\xd56\xab\xadUZ\xb6\xc5\xbf\xbai\xdc\xe7\ +\xf8.\x1b\xb4l[h\xd9r\x11\xed\xe4\xbf\xfc\xbbl\ +\x88p\x92\xf8\x0f\x9a\xb7\xbf%\xd2{\x95\xad\x0b\xd9\xd8\ +a\xdeRI[,o\x94\x91{\x8f\xef\xb2\xe9}\xef\ +\x84buh\xd9\xe2\xbblQq\x81\x96\x0d\x1fw\xb8\ +\x1e\xd9\xce\xf6gl\xe4\xd2\x93=\xa4\x0e\xa8\xb4}@\ +\xdd\xf4\xd1D\xd6\xd4\xb1cG\xaa\xe9\x19\x14\x5c\xc2h\ +\xb7\x9d;\x1d\xe57\x5c\x16\xca\xecK-\x9b\x7f\x97-\ +\xee\x0e\xf4Oty\xcd\xa5\xbe~\xc4S\xb0\xcey\x9c\ +\xd3q\xdd\xfb\x07?\xad\xabl\x9dx\xcf\xbd\x13\xfbo\ +s\xef8\x05\xb9\xd2AI\xff\xd3w\xd9Fe\x1dU\ +6\x8b\xf4\xf1\x22kz\xc5\x05\xff\xea\x93g\xe4 X\ +\x85k\x15\xe9=\xf5\x1e}\xef\xdb\xbf\xe6\xde\xe3kM\ +j\x904\xa9\x03\xe9\xd5\x97\x1d\xe2\x9c~\xf9Z\x13[\ +\x80Y\x8f*[\xd9\x03\xfd\xf1L\xcd2r]\xcb&\ +^\x0bl\xca9\xbe$\x1d\xb9\xf7\xc8\xc9\xa1\xb4Z\xde\ +\x0d;cx\xeb\xfb\xc99;\xdc\x22g\xa3\x84~\xc6\ +\xe3%nMj\x18\xa8\xacj\xc9\xa5\x90\xa77\x8b\xf4\ +\x1e\xedh\xf0\xd4\x04\x84g\xa2\xea\xdc\xfb!\x86\xd4;\ +?\x8c\x9a\xf7\xc5?\xd1e`\xc2\xdd\x5c\xe5\x02\xac\x1e\ +\xe9\xf8\x16\x9fs\xfeL\xd61%yw\x95\xb7\xa4\x96\ +\xaa\xd5N\xb8\x184.\xec\x91y\x02\xeb\x00sM\xca\ +\xb8\x07\xfbB\x84c\xb1`\xae\xd7\xf4\xd0\xb2\xd9\xb7\xd9\ +L\xbe\xe8\xac\xafp.p\x19\x10\xe9O\x1e\xab\x92\xee\ +\x84\xd7\xddR\xff\x00\x0e^\x0cN\xab\x94\x1d2\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00N2\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\xa8\x00\x00\x01w\x08\x06\x00\x00\x001T\x00\xfa\ +\x00\x00\x11QzTXtRaw prof\ +ile type exif\x00\x00x\ +\xda\xed\x9a[\x92$9nE\xff\xb9\x0a-\x81\x04\x1f\ +\x00\x97\xc3\xa7\x99v\xa0\xe5\xeb\x80\x11U]\xd5\xd3#\ +\xcd\xd8\xc8\xe6K\x95]\x19Y\x1e\xe1\xeet\xe0\xe2>\ +\x98\x1d\xce\x7f\xfd\xe7\x0d\xff\xc1\x9f\x92\xb5\x85R\xd5Z\ +o-\xf2\xa7\xf4\xd2e\xf0\x83\xc5\xcf\x9f\xfe\xbe\xa7X\ +\xde\xf7\xf7g\xfcx/\xfd~<\xa8~\x7f\x14^3\ +\xaf\xf9\xf3\x86\x8e\xef\xe7\x07\xc7\xeb\x1f'\xfc\xbc\xce\xfc\ +\xfdx\xb0\xef;b\xdf\x0b}\xdf\xf8q\xc1\xecw\x16\ +~\xd8\xbf.\x92\xe3\xf29\x9e\xca\xf7B\xfd|~h\ +\xdd\xf4\xd7\xa5N\xf9\xbc\xae\xef\x07\xdfR\xbe\x7fg}\ +\x97\xfey\x11\xffw\xf8\xf5@Q\xaa\xb4\xfdSY\xe4\ +\xe4\x94\xe3\xfbn\x9f\x15d\xff\x9b\xf2\xe0\xb5\xbc\xef\x9d\ +\xcf\xa5w\xa4\xe6\x1a\xde\xa1\xf4]\x09\x05\xf9\xed\xf1~\ +\xbc\xc6\xf8k\x81~+\xb2~W\x1e\xfe\x5c\xfd\x9f?\ +\xfd\xa9\xf82\xbe\xc7\xf3\x9fj\xd9~\x5c\xa8\xfd\xf5\x1b\ +\xa9\xfeu\xf1_\x89\x7f\xb9q\xfe\xfe\x148\xfc\xdb\x1b\ +G\xe2\xfd\x9b\xc7\xf9\xfe\xbdw\xdb\xbd\xe7\xf3t\xa34\ +*\xda\xbe\x88\x8a\xe1Gu\xfc\x1c>8)y~\xa7\ +5\xbe\x94\xbf\x95\x9f\xf5}u\xbe,\x8e\xb8h\xce\x8e\ ++N\xbeV\xeaI\xe8\xca\x0d\xa9\xa4\x9dF\xba\xe9\xbc\ +\xd7\x95\x16K,r\x84*\x8a\xc8\xa2Q~\xcc\xb2J\ +\x97\xe5\x8d\xa1g|\xa5+\x9a{\xde\xd9\xe8\xe5\x92\x13\ +r\xe6\xb0\xfc\x5cKz\xf7\xed\xef~+\x19w\xde\x89\ +\x8fJ\xe2b\x89S\xfe\xeeW\xf8\x9f\xde\xfcg\xbe\xc2\ +\xbd\xcbK\x94\xa2}\xea\xc4\x13\xb1.qt\xb0\x0c\xef\ +\x9c\x7f\xe7S4$\xddo\xdf\xea+\xf0\x8f\xafo\xfb\ +\xe3/\xf8\xf1\x8b\x14>\xe6e6\x1ep\xc4\xf9\xb9\xc4\ +\xac\xe9\x0fl\xe5\xd7\xe7\xcc\xe7*\xaf\x9f\xa9HA\xf7\ +\xf7\x02\x94\x88{W\x16\x03\xecK\x8a-\xe5\x9aZb\ +\x89\xa2)QG\xa3A\x83\x95K.2\xe9@\xaaU\ +6\x8b\x94\x92s\x93\xa0b\xe2\xf7\xe6\x1cM\xef\xb3R\ +\xa5\x89\x1f\x86\x9bhD\xcd-+\xbd\xe9y\xd0\xacR\ +*\xf8\xd1b`h0b\xa5\xd6\xda\xaaV\x0b\xb5\xd7\ +\xd1r+\xad\xb6\xd6\xb49\xc9\x0d\xcdZ\xb4jSU\ +\xd3\xae\xc3\xb2\x15\xab\xd6L\xcd\xac\xdb\xe8\xd23\x1cX\ +{\xeb\xda\xad\xf7>\x86\x84\xc1\x8d\x06\xd7\x1a|~p\ +d\xca\xcc\xb3\xcc:\xdb\xd4i\xb3\xcf\xb1\x80\xcf*\xab\ +\xae\xb6t\xd9\xeakl\xd9yC\x13\xbbm\xdd\xb6\xfb\ +\x1e'\x85\x03S\x9cr\xeaiG\x8f\x9d~\xc6\x05k\ +7\xdfr\xebmW\xaf\xdd~\xc7\xcf\xae\xa5\xef\xd8\xfe\ +\xf9\xeb\x9f\xe8Z\xfavM^\xa7\xfcs\xfa\xb3k\x1c\ +u\xce\xfe^\x229\x9dT\xef\x19\x1d\x93\x92\xe8\xb8z\ +\x07\x00\xb4x\xcf\xa2\xa5R\xc4;\xe7=\x8b]\x18\x8a\ +*,\xb2zo\xc2N\xde1ZXN\x92z\xd3\xcf\ +\xde\xfd\xd1\xb9\x7f\xa8o\xa1\xda?\xd47\xf9\xdf:\x17\ +\xbcu\xff\x17\x9d\x0b\xb4\xeeo\xfb\xf6\x17]\xdb\xaes\ +\xebu\xec3\x85^\xd3\x98\x99>\xde?6\x82\xd8p\ +Q\x1b\xff\xea\xeb\xff_\xe8\xdfp!\xf0\x96\xe6\x9a\x12\ +di\x1a9\xcf\x09\xc2\xf9\x93\xa5 \x0d\xae\x8f[\x9a\ +\xcd\x13m\x03\xa8\x96\x8e\x96\xb1\xba\xe3\xb5\xcb,U8\ +5-\x80h\x0d\x15:\xa0>\xd4\x95\xdb\x8eL\xc0j\ +\x17S\xd4\x0a(]'GpXf\xbb\xe0D\xaa\xde\ +e\x9d\x81\x19{\xdf[\x99\xb4\xb5S\xe5\xec\x96\x11\xcb\ +2\xd3.\xd2\xc2\xe4\x96\xa3\xda\xe1\x96g*4\xec\xe0\ +-M\x987\xeb\x0d\xc1b\xe5e\xf4[\xd7\x919v\ +\xb9\x91K\xe8(k\xc6\xea\xb7\xd9=\x9d:\xad\x07\xe6\ +k\xcfS.4\x9c\x0dE\xdbs\x96\x83][1\xd9\ +-\xeb\xa6>\xd6\xa9\xcc\x17\xb3\xb8\xc6\x9d\xa3\xea\xe9\xbb\ +\xde\xcd\x83\xde3\xechg4\xe2\x08\x99en-\xd3\ +\xaf\xbe\xe2\xadM\xad\x9f\xd5\xf2]\xa2W\x86\xcc\xd3\xed\ +\xceT\xad\xec;\xa9\xd7\xa6\xc8Eo\xefM\xf6\xd0\x03\ ++]\xe68Y8y\xd4\xc4\xbag\xf2G\x19\xf7,\ +\xc8\xe4{\xe1\x0e\x17-8i^\xa6\x90\xb3Q\x0c{\ +\xc7\xfb\xcd\x08H\xe1\xc4\xbd \xfe\xca\x8f\xc1\xdd\x9a\xff\ +\xe0\xf41a!\x98`\xee\xb5`?\xa8x9{\x8d\ +\x99\xad\xad\x96\x8a\x8c\xeb\x1c6\xe0\xcfrG\x8f\x19\xa6\ +(\x1b\xe28\xab\xec\x80;Qz\xb0!\x9e6W\xd2\ +w)\xdb\x1bw7\x16:\x83\xda\xc5\x04\x10\x14s\x91\ +\xee>\xa3W\xa90\xc3\xc9\xadC}y\xcf\xdd\xe68\ +7\xc4s-\xb5uW\xdeG\xfa,}\xdcv:\xdc\ +R\xf0>7Q%\x006\xa7\xe9\x1a\xa5/\x15\xd81\ +\x9d\xbd\xee\x01\x1eg\x0a\xb7\x94\xdd\xca\x1cA\xfb+s\ +>\xd6\xb2\xb0D\xe1\x94r\xcby\xad\xd5MS\xda\x9a\ +\xa3\xed\xb3\xde\xba4\xd7\xb1@R\x5c\x9b\x0e\xec\x0e\xe3\ +\xf7\xa3vw\xe0\xd3\xad\x9f\xa47\x16\xda:\xfa\xb1\xdb\ +*\xeb\xe7\xae\xcb\xd9\x11\x1e\x16\xe9\x17\x0d\x88\x07\x9c\xa3\ ++:\xa9\x5c?\x14\xdc\xf1\x9f\xd5\x16-\xc9\xc1\xef\xdc\ +0F,U\xd5\xe5\xa2\xd88=q\xbf\x05\xa6:m\ +A\x9dJ\x04n\xfcH\xaf0\xec \xae\xaeU\xe9\xfa\ +\x95=\xa9\x09s\x94\xc3,{\xb2\xfc#\x0b\x10\xcc(\ +[\x12\xd0\xd3\xcd\x19\xc7>5\xe1\x99Q9\xb7\xfa\x09\ +\xfce\xe0\xc8\x10ia\x22,o\xbdyo\x04 \xb0\ +6\x98\xdeK\xc4\x8c\x0c\xeaW\x12*\xb0\xce\xe9\xba&\ +5\x82\xac!q\x5cG\xc9\xa8\x01\x83e\x8a\x19\x89F\ +_\x8e\xf1\xd0\xa5\xd2\x84SV\x18L\xc1(\xca\x1c1\ +<\xc8[wY\x03A\xf1\xce\xce\x8a\xf4\xb41\xd5\xc6\ +\x5c%7F\xcc\xb5\x86\xaa#5\xab\xa0C2&*\ +\xb4b\x9f\xc1\x11\xc2\x1cS@\xf7\xb1\x87v\x80\xe2\xb9\ +9s\xfb\xc9\x98\xd2\xb6)\x10\x92\xb9\x87\xf4\xb6\xa9s\ +G\x14\x17>u\xc1\x14\x08\xcdf\xb2\x9f\xf6\xd3!\xe2\ +\x8c\xadK\x09\xef\xae\x05l\x0c\x8ay\xef\xa8s#E\ +4\x90\x156\x8dK\xb8\xdda\x00\x1a\x024\xf9\x8e\x88\ +m\xcd\x13\xf4\xce\x13\x04\x1dK\xeax\x87\x04\xb8\xc1n\ +W\xa8\x04!\xb0\xd3\xb6\x0b\x8a(TM\xab\xed\x95d\ +\x1b\xc7c\xd6\xc4\xb2\xc7nq\xe9\xc9e\xeb\xc8\xd3c\ +\x16\x9d\xbc\x98=N\xcc\x07a\xe4\xa27\xf7\xc8\x98\x93\ +\x7f\x5c2)-\x9c\xc6\xd8\xc4\xa1\x18\x862\xa7\x1e\xbc\ +\xc1]\x80\x84\xb3G\x02.\x00\xf2503\xedx\x08\ +\xc0~\x91\xe9\xc4}\xb6\x01\x06Kw!\xa2\x8b\xea\xcc\ +\xc1UA\x92]fZ\xee\xa9P\x84D\xd4\x9e\x85\x8e\ +\xba\xb9\xd0\x021\x13s\xc0b\xb5\xe3V \xf0m4\ +\x11\xe8vd{1\x91\x9c\x99O\xa2\x04[\xa7r\xbb\ +\xea\xf4\x06\xdf\xe1\x0b\xd2c\xc9j\xab\x06\xa3M\xfbd\ +\xa3\x0a\xca\x80\xec\xea\xd4;y\x8a\x9bx\x06Lxf\ +b\x0e\x0a\x91\xeb\x86i8\xef\xdc\x8aVTK\x07j\ +\x84\xdd6%\xb2\x19\xb4\x12F\x9d\xcb\x12m\xe9p`\ +\xcbv6\x0c\x91\x98\xa8\xa8\x06S\xd7\xbbx\x92\xe8+\ +*e\xc7\x03\x00!\xc7N\xb5\xfat\xae\x84\xb5\xa0\xda\ +5b\xcb\x9c\xdb\xed0\x95\x09 \x19\x0c\x9e\x19\xb0\xce\ +B\xbb{\x1b\x88q\xe5\xa1\xd3\xfb\xcc\xaa\x81\xfa5b\ +\x10,?+\x5c\x82\xbf\x82\xdd\x03\xc1\x054H<\x0a\ +\xd9rq@\xd8\xc1\xa2\x15\x1c^\xd6q\xbb\x22@\xba\ +v\xa6\xd8L\xc5\xf3u\xc0\x86g\xd8\x00\xf7\xe2\xbdP\ +\x02(!,>\x01sn\xec\xe3\xa1\xb0\xd0\x9d\x8c\xd1\ +\x98W\xe8\x83\xf53HbL=\x0b]dM\xf1\x17\ +\xedNm{s\xa5\xea\x93\xb7\xf38-\x5c\xf1\xb4<\ +\xf1t\xdc\x89\xac5\xf9\xd9;\ +#\xdeZ\x0c\xe9\x008<\x10rD2LL\x15\xb7\ +?|\x00S\x82\x01\x8dx\xd53Z7\xa6/\x9f\x96\ +\x917\xf8\xb7\xfbF\x0f'\xc0\xca\xf9x''\xb45\ +\x01)y\x0e\xa5%\xde\xea3[\x16G\x86\xfd\xf1\xf5\ +\x1a'\xe3\xf4\x8c'\xf3\xc2\xbf\xca\xb3\x99\xe3\xe3;\x7f\ +\x8c\x09$\x99\x18Y\xfc:\xa95\xe0\x9b\xb8Ii\x10\ +I\xa3\xa7\xac\x1a\xde\xd8\x06\xfe\x14\x89@\xd9\x9ca2\ +S\xa7\xa8\xc2\xc0bv\x11\xab\x88\x1e%\x1d\x14\x1c\xa7\ +\xc3\xa1\xdd\x02\xfc\x91\xb0\x89q\xba\xb9\xf2]\x12pA\ +\x1c!\x0b{'\xd1BC>\xe9\xfd\xc4#\xd0\x5c\x1a\ +\xcb\xcfL7\x90N\x94>\xa7\x06\xc6\x18\x9a\xc0\xe9\xd8\ +\x22,\x94\xab\x7f\x11\xd6\x9aK\x85\xc5\x09\xd3<\x0c\xf3\ +83\xe9\x1a#\x06\xa2q\x8c\x07\xd8\x93\xc6\xb3k)\ +\x94\xee\x98\x8695\x97\x90=\x14@\xcdc\xe2@\x9d\ +\x16/0\xf4\x9d\x81\xd3vn0\xc0\xed\xcfj\xc1\x11\ +\x83l\x83\x1e\xbb\xff\xe5\xfa\x187\x7f\xb0\x86X\x1aB\ +\x19\x88,(!H\xcb\x85\xb4\x0dK\x10\xb1\xdd\xb5\x12\ +Q\x86\xeb\x9d\xb9\x8bF\xd5\xb6q\x83Y.]8p\ + \x84\x8d\x8f\xf6\x90\xe4\x9e\x93\xae\x87\x887\xc2\xcb\xa0\ +\x09\x89\x0aS\x16\x03\xc5n\x12\xc0,B\xdd\x98\x87\x8a\ +\xfa\xd30p\xab\x0c\xd8\xc4V\x220\x06\xa0\xd2l\x15\ +s\xfa \x19df\xb9-\xb1\x10F\xc9\xad\x96\xe7\x11\ +F\xb5\xa2\xee\x90\x08\x03\xcdx\xba\xba\xf7\xe8\xd7\xa8Q\ +\xda\x06\xeep\x0a\xd1\x8b\x80\x82K\xeb\x10O\x0d\x84,\ +[\xbe\xa1@\x91r\xbd\x90\x1e+\x9e\xeb\x90\x07O\x19\ +7mH\xe2\x0eO\x0a\xc8\xe8\x5c0\xb0\xab(\x85\xba\ +\x0en7]\xee\xf6\xc6\x0a\xbeK\x090\x22\xe7\x9b9\ +6\x15\x1f\x0em\xe2W\xf1\x93\xf8x\xce\xc0\x98Sf\ +\xaco\xde\x8c)\xa2\x0f\x1e\x1a\xff\x19\xe3\xe2\x0f\xec\xb9\ +\xe4\xcd\x1aZg\xb0\x0a\xfe\xda]\x1aw\xc0\x83W\xdf\ +\xa1\xab\xdc\x02\xa3Z;\xad\xa1\x9b\x10\x0b\xd9\xef\x12A\ +\x01\xa8\xcb\xdb\xad\xce\xbaV\xe9m(\xd8\x1e\x1f\x17J\ +\xa3\x17s\xb6\xcc\xc3)\xa8\xe1\xd9\x8b/um\xac\x0a\ +\x1f\xae\xe2\xec\xb9\x05\x9c\xf6?\x04\x05\xdbKP\xd4\xde\ +\x83\x90\xf7\xca\x83@\xac\xb5&\x97i\x08\x17\xef?\x22\ +g\x13\x10:\xd4\x07\xab\xb4\xb8]\xdd)\xbb\xb3-i\ +\xa9\xb6x0\x86\xdd\xb7%\x89\xaf\xc1\xadK\xc4\x97\xab\ +\x073\x88\x0f8\x13\x80`z\x04\xce%\x1b\x11\xba4\ +\xf1\xe2P0\x12\xf8\x03L?\xd0\x12`\x12A\xd4\x01\ +\x80\x84x\xe9\x01^<>\x82\x11\xa4\xf0p\x9eQ\x05\ +\x97\x17\xd1P\xf8h\x1cw\x14tw^O\xb3\xdb\xf0\ +\xe0\x0c/\xd9\x87\xb4_W\xf7Q!\xdc\xdb\xfb-D\ +\xce\x17g\x02\xa4\x17\x0e\x93\x01\x1d\x10?\x19a\xa5\xcb\ +\xba\x06\xc9\x13n\xf4\xdd\x03\x0c\x1d\xa0\x03\xbc\x82{B\ +\xb9#\x02\xbf\xed]\x0a\xf0a\xb4\xc0\x1e\xc4W\x01>\ +\xe4\xcc\xe4-\xdf8\xf0d\xbc\x96\x5c\x0f\xa4(%\x83\ +o\xdeO\xb7:\x14\x80\x91K\xcc\x8cbh\xd4\xb9\x1a\ +\xe1\x08pb\xb3C\x82\xef\x98X*M@\xc0\x93\x1e\ +:\x04\x1d\xfb\xac\x92\x04/S\x82\x9d\xc1\x87N\x84m\ +e,\xf4\xe1\x19\x15m\xc6\xb8\x0c\xbc\x13\x02\xc9DA\ +$\x0c0#>\x22\xd0J\xe8\x1c\xc5\xf1\x1e\xf0\xd0\xa0\ +\x80\xc1l\xc9\xc3\x10\x96\x80\xb5\xe7N0\x15\xefb\x1c\ +\xc5\x98\x1al%\x03\x83?\x8a\x09\x97m\xbe{\xe6\xbf\ +\x9dY\xea\xbb&\x9eEaR|&\x06\x0dZ\xc6\xe1\ +VB`\xbf\x1d\xf4\xb3\x9c<\xdc\xfc0\xcf\xea\xae\x83\ +\x92()\xbb\x81'\xbc\x00\xf4\x03\xc1\xbb\xfd\xa1\xc5\x93\ +\x82\x0a\x90c\x1e\xb5\xfa&\x0b\xd8\x9d\xe6\xe9\xfb.\x86\ +\xf4\xf8\x86FN\xbe\x89\x81F\xe1\x83\x1e\xf9\xf3/\xc6\ +\xce7\xef\x06\xfcI\x0f\x90<*\x0dy\xc1\xb4n~\ +\x96\x1b'\x1eM0\x94\xf4O\xa6>\xe70>\x86\xa1\ +[t\x1f\x15@\xa3\xd5\xb7\x85\xc8@L\xe7\xf2\xd3\x04\ +\xda\xea\xf4H\xa3\xf8\x029;cj\x88\xdf\xd9\xd9\xc7\ +=\x82=\xa8uE\x8b}\x97\x82t\x12\xf0J\x9b\x84\ +\xdd\xccK\x87\x01a|I\xae\xc0_\xf1\xa2\xbe\xaf\x04\ +=\xb6\xc8\xf5\xe8\xbd\x8d\xce\xc3N\xb8\xc6\x99\x97\xe7\x85\ +C\x91M\xfcK\xea\x01\xb3u=\xf3\xf9,\x83G\x9a\ +\x9e6T\x87(\xe3Pq\x95\x98\xb6\x96l\xa1\xd7\xbe\ +\x95\xc9\x10\x13\xe8\xf1\xbb\xea\xbbX\x03\xab@D\x1f\x9e\ +U\x83!\x10\xe4\x97\xd4\xe1\x0d\xee\x97<\x1a-\x83~\ +H\xc7i\x5c\xd4\xd4{\xe6;\xae\x1b-q%C|\ +J\xf5\xbd\x0f\x14\x0b\x0f\x96\x0c\x9d\xd9\x12\x86E\xc3,\ +\xc1\x1bJ\xe8\xf6`\x03\x9f%\xe4}\xc3\xd8\xe8\x04\x10\ +rS\x85fn\xf0D\xdev\xf1opED8q\ +\x17\xea~\x9e:\x07\xff\xed\x08\xf2<\x9c\xde\xb5x\x00\ +\x22\xc4`$\xa6`\xbb\xf18\x8b\xd0\x8b\xbb\xc8X\x05\ +\xa7r\xfc\xaa\xef\x13\xec\xeeq\x07a\xc3Kb\x08\xa0\ +\x8c\x00z@\xbf\x7f\x06\xf8\x1f\x12\x15\x01\x08\xc2\xa5P\ +\xcc\x99L\x84A\xa9\xb4\x9bt\xd0\xe8\xc2\xda\xd1\x00\x7f\ +g@M\x1e\xfb\xb92\xad\x04\xd9T\x04\x81>\xe3Y\ +\xda\xf5\x0c\xbfO\xcfo{\x8e\xc8\x14\xc3}71l\ +0k|\xba\xc3\x97\xbe\xcd\xe0W-\x85\xb4\x19\xb2\xf5\ +Ig\xeb\x0b\xa3(\x16>\x09\x01\xc5#\x22t\x18\x1c\ +H!\xfb\x96\xd5\x1a8_\x92m\xdcesf\xa5\xf2\ +\x00\xbacrM\xf1\x925\x06<\x96t\x18\x04\xdfQ\ +D\x0fr\x84L\x12e2\xab\xc2\x1c\xb2\x1c\xbc\xac\xef\ +\xbcgy;\x998\xbfl\xbe5\x88]\xa0\x1d\x9e\xa1\ +\x11\xdb\xd3\x03\xf1\xb1\x91\xd1\xb2o\xafU\xe6\xd8\xf7H\ +<\x10\xaf\xd1s*B\xd2S\xdf\x9e\x07\x81\xad\xb8\x01\ +\xa4~<\xc0\xc2\x0bO'\x8b\xec\x0c\x08\x9bC\xfe\x1d\ +b\x12w\xc1t\xe4%,\xdd\x8c\xae\xd32\xa4=\x00\ +(\xcd\xbb\xa0\xcac\xf9\xa1O\xe4\xe7\x1e\xf7\x0b\x80\x17\ +\xba07W\xd0\x10r\xc4\xe7\xb3\x83\x13\x0cN \x89\ +\xb8\xe1[`\xcc\xe9\xbf\xb6\x88\x10`\x1be\x1f0\x0c\ +\xcd\xe3\xdak\xf3\x9d\x84QGR\x8ef\xab\x840\xef\ +\x9a\xf96\x87oo\x22_(7L\xbcXBg\xa0\ +\x12\xeb\x06\xd8{\xc4y\x1a\x09\x93\x15\x1f\x07xn\x00\ +Y!)\xd5I\xa6\xc9\x8c\x00\xc9=\xb8|\x15\xa9\xea\ +\x96\x8d\x1c\x0c\xbc\xf1\xf3o\xf2\xa3\xfb\xbc\x86PC\x01\ +\xc5Y\xa9\xfb\xaf\xf3\x80*W\x82m\xf7\xc4=.<\ +E5\x88\x84(J\xab\xe0\x87\x8c\xf9g\xb6\xd0b\x5c\ +\x16\x93\xe5\x9b\xa3\xf8k\xcf\xc8H 8\xcc\xfd6\xf7\ +\xba>\xf3\xca L\xff]\xc7\x8d\xe4\x82\xc1dm\x0d\ +|Px\xcf\xae\x0b(>\x93\x1b,\xad\xbe\x1b\xc57\ +\xd6\x95\xb7\xff\xeeSy`\x02\x12\x13\xe9y\xb1\xdd\xfe\ +\xb6`-\x13\xaa\x0a\x98\x97yC.\x1e+\x15\x92\xf5\ +\xce\x91:\x9c$\xfc\x17\xa2\xcc\xaak!@B\x87\x8b\ +`\x1f \x1c\xcf\xb6\xe3\x82\xc7\x9c\xd1=_ZI\xa8\ +I\x1a\xe45\xa8{\x12\x15\xee\xa2\xdd\xb6q\xe5\x94\xae\ +8\x85`;\xcd3T\x02\xb7\x80\xca\xbd.\x1f\x22\x94\ +\xe1\x08\x9e\x94\xce\x93x\x82\xbd\xa5\xa4\xa6\xfe;H\xde\ ++\x9a\x9cX\xf1\x5cH\xfcZ}\xc1`\x10\x19a\xfc\ +\x93\xac\x99qQ\xb0O\x08\x85\x84\x1a\xa3KP\xa2 \ +\xf8\xdf\x8ek\x95Z\x03)\x9d\x07\xbf\x87\x1c\xefA\xce\ +\x13!p\x00 \xd1\xf7md\xfb\x96\xe3\xdb\xcd\xf6\x9d\ +Z\x8cpS\xdcm9/\xba\x0b\xd8\xb8\x00%\x22*\ +a\xa2\xadDx\xb2\xde\x18\xf5*\x01M\xdc: (\ +\x09\xd3\x07>o\xf2_\x93o\x12L\xc3\xba\x81\xac\xe2\ +\xbc7}\xc0\x93\xff\x9f\x19\xdc\xe1H\xdd\x01C\x09\x80\ +\xd6>\xd8\x1c$\x07\x1e\x81\x96\xa1\xf7T\x91Y\x01\x13\ +\xdbi>3$\xdd-\x8e\x0d,O\xbd\x03r\xfc\xe4\ +\x13(\xe3\x99\xae\xe0\xb5x\x87\xfe\xc5\xd7\x7f\xeb\x85\x08\ +a\xbb\x87\xff\x06\x83t\x00\x9f;Q\x8dx\x00\x00\x01\ +\x85iCCPICC profile\ +\x00\x00x\x9c}\x91=H\xc3@\x18\x86\xdf\xa6\x95\xaa\ +T\x1c\xec \x22\x98\xa1:Y\x10\x95\xe2\xa8U(B\ +\x85P+\xb4\xea`r\xe9\x1f4iHR\x5c\x1c\x05\ +\xd7\x82\x83?\x8bU\x07\x17g]\x1d\x5c\x05A\xf0\x07\ +\xc4\xcd\xcdI\xd1EJ\xfc\xae)\xb4\x88\xf1\x8e\xe3\x1e\ +\xde\xfb\xde\x97\xbb\xef\x00\xa1^f\x9a\x15\x98\x004\xdd\ +6S\x89\xb8\x98\xc9\xae\x8a\xc1W\x04\xd0C3\x86\x11\ +\x99Y\xc6\x9c$%\xe19\xbe\xee\xe1\xe3\xfb]\x94g\ +y\xd7\xfd9\xfa\xd4\x9c\xc5\x00\x9fH<\xcb\x0c\xd3&\ +\xde \x8em\xda\x06\xe7}\xe20+\xca*\xf19\xf1\ +\xb8I\x17$~\xe4\xba\xe2\xf2\x1b\xe7B\x93\x05\x9e\x19\ +6\xd3\xa9y\xe20\xb1X\xe8`\xa5\x83Y\xd1\xd4\x88\ +\xa7\x89#\xaa\xa6S\xbe\x90qY\xe5\xbc\xc5Y+W\ +Y\xeb\x9e\xfc\x85\xa1\x9c\xbe\xb2\xccuZ\xc3H`\x11\ +K\x90 BA\x15%\x94a#J\xbbN\x8a\x85\x14\ +\x9d\xc7=\xfcCM\xbfD.\x85\x5c%0r,\xa0\ +\x02\x0dr\xd3\x0f\xfe\x07\xbf{k\xe5\xa7&\xdd\xa4P\ +\x1c\xe8zq\x9c\x8fQ \xb8\x0b4j\x8e\xf3}\xec\ +8\x8d\x13\xc0\xff\x0c\x5c\xe9m\x7f\xa5\x0e\xcc|\x92^\ +kk\x91#\xa0\x7f\x1b\xb8\xb8nk\xca\x1ep\xb9\x03\ +\x0c>\x19\xb2)7%?-!\x9f\x07\xde\xcf\xe8\x9b\ +\xb2\xc0\xc0-\xd0\xbb\xe6\xf6\xadu\x8e\xd3\x07 M\xbd\ +J\xde\x00\x07\x87\xc0X\x81\xb2\xd7=\xde\xdd\xdd\xd9\xb7\ +\x7fkZ\xfd\xfb\x01w\xcbr\xa9\xa7\xd2\xe8\xda\x00\x00\ +\x00\x09pHYs\x00\x00\x0d\x89\x00\x00\x0d\x89\x01P\ +\x94\x82%\x00\x00\x00\x07tIME\x07\xe5\x04\x09\x09\ +7\x03\x04\x0a\x03\xda\x00\x00\x00\x06bKGD\x00\xff\ +\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00:\xd1IDAT\ +\x18\x19\xed\xc1\x05T\xd5\xe9\x1a/\xe0\xdf\xf7\xdf{\x93\ +J\x1b\xd8b`c\x07\xb6\xa2\xa2\xd8b\xa0\xd8\x01J\ +(b\x80\x82nR\x04\x94\x92.\x09A@@B1\ +@\xc4\x02lT\xecnl)\xc5\x98\xef\xeeY\x8bs\ +\x17\xcb;\xe1\x9c3\xce\xcc]\xf3>\x0f\x08!\x84\x10\ +B\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\ +\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\x08\ +!\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\x08!\ +\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\ +\x10B\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\x10\ +B\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\ +\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\x08\ +!\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\x08!\ +\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\ +\x10B\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\x10\ +B\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\ +\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\x08\ +!\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\x08!\ +\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\ +\x10B\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\x10\ +B\x08!\x84\x10B\xc8\xff\x87V\x05A\x0f\x84\xfc\x93\ +\xd4\xe7\x9cA\xa6\xe6\x0et\xec\x22{\xed\x06!?\xdc\ +\xb5\x8fM\xf0\x1b\x98\x94iA*X .&\x0d\xd9\ +\x05\xa3+\xdf\xcd\xa8\xbf3\x09\x1b\xe6\x84\xcc\xbc\x05B\ +~\x84\x0f\x17\x04\xb9\xc7\xc7E\xd3a\xd3\xf38\xaeV\ +\xafe\xd7>*\xe0\x1b\x9a.\x98&\x92b\x8f\xa2T\ +\xf4\x13\xdc\xbav\x87\xcc\xa7[\x82\ +\xdc\xeet\x0c\x99\xe7\x8f#m\xb7\x0d+\xb0\x08\x84W\ +`\x5c\x9b\xf3r\xeeSKQt\xd5BR\xfcD\xc4\ +9\x84c\x19\xc8\x99\xe2U\xef#\x08\xf9Q>\x5c\xc0\ +\x80\x03I\x8a\xb1\xf0\xb4\xcb\xc1\xb5\x8f3!s\xf7,\ +\xab\x9f\x99\xd6(\xb0]\xd0\xf22\x9c(\x19^p}\ +\x9d\xea\xdb\x9b0]\xe4\xda!O\xbc?\xcf\x19\xcf\x7f\ +j\xca\xb9 \xceI\xc7F\xf7\xb8\x99o@\xc8\x7f%\ +#\xb5+\x9e\xf2\x06\xf8\x15\x82\xb4\xb1\xc6\x98@\x83\xc5\ +\xcei\xf0\x15[k]\xc2\x99'\x9b\xd9\xb5\x8f\x1a\xfc\ +=\xd4\xc2b\x91=%1\xee\x0a\xf6\x97L\x0b\xbcV\ +\xa4Up\x10\xf37\x84\x1b\x15!!f-{\xc5\x15\ +8W`\x17\x0fA\xf7lV\xa3<\x10\xf2\xbd\xf8G\ +\x918)\x13\xa3V\x05\x0d\xba\x89Pi\x01\x9e|\xd5\ +\xc77\x8e\xe7@\xd7\xd8\x17~\xdaN\xa2\xb7z>\xfa\ +\xfbM\xc3\x1a\xe6\x0c\xdf\xda\xe1\x1d\x12\x12v\xe3\xdaG\ +}^\x85\x86\xa9\x99X\xb55v\xc6\x03\x16\xe6x\xb4\ +k\xc4:i?\x8f\xa69\xf0\x9b\x9e\x8c\x82\x1b=\x95\ +/>d\xa8Uq\x1d\xfd@\xc8oaWkTP\ +\x8b\x7f\x14$O\x1e\xa2\x8fk\xb0\xf0\xae\xb9\xf7\xdc\xe3\ +\xb8p\xbb\xb3\xe2\x93/\x0c\xb58\x17D\xc9I\xb0\x9a\ +\xb4\xc3\xe8\xb4|\xcc:o\x93\x84\xc1\xfd220\xe5\ +\xe4^\x85H8-=\x8ak\x1f\x17r\xae\xc4\x1e\xdd\ +\x81\xea\x95!\xc8\xe1\x0a\xaa\ +y/\xd4\xe2\x1f\xa0\xed\x15\x8e\xfb\xbdv\xa7_C\xee\ +\x9dn\xa8\xf5\xe1\x02&\x85\x85\xd4\xcf@x\xc8n\x5c\ +\xfbh\xc0\xab\x99\xf2\xde}0u\x8c\x1c_&\x09\xdb\ +|J\xd1\xa3}2\x93\xe2\xbd\x8a\x13\x0e:D\x8a\xb7\ +\xac\x0e\x92\x7f\xd8eO\xf6i\xe4_\xef\x04\xf2\xef\xd6\ +i\xf7\xde>\xc89\xd7N\x91s\x86:n\x1e\xc4\xc4\ +\xc4D\x83\xeb\x88\xd8rtM\xf9\x0b\xdd\xab\xe70e\ +\xb4\x0b\xbe@\x8a=\x82\x13LOdb\xdf8\xbfe\ +oQ|j!\xab\xe6\xaa\x90\xe1\x15\xe8\xe4\x1b\x8b\xb4\ +\xa1\x91\x11\xa5\xc8{\xbeD\x8ds\x06\x99\xaa3hS\ +\x90\xae\x94\x08\xe7i\xd7q\xed\xa3\x05d\xf8\x07\xa8^\ +<\x80\xc8)>c\xcf+{O\x96\x8a\x9d\xd0\xf2\xf1\ +\x15&\x97u\x00\xe3\xcd\xb7c\x9f$2\xdc\x1f\xc5e\ +: \xffN\xfc5\x1aE$\xc1{L\xe8\xe6\xe7\xd8\ +\x9b\xef\xcd8\x17\xa3\x8es'\xa1v8\x0dw\xbb\xc6\ +\xee\xa8\xc2\xb1S\x9d\xab\x9f\x0do\xbb.\x10M{\xb8\ +B\xc5$\x08\x0a7\x0e`e\xc0\xcei\xb7\x10\x1f\x10\ +\x83j\xde\x162\xbc\x02\x8dN\x9f\xc6\xba\xb9>S\xde\ +\x22\xbd\xe0(n]\xd1@\xb4\x81\xa6O\x8a`<\xc1\ +_|\xb9\x85C\xebk\xaa\xfb\x0b\xb7\xe1\xdaG\x9d\x8f\ +W\xd1\x22&\xaa\xbe\x17B}\xfdq\xfa\xc6\xf0\x81\xaf\ +>\xc9/\x0fP\xea>gG{\xdf\xbe!sSp\ +\xf8\xccH\x05\xce\x19\xc8\xbf\x03\x8b\xde\xa6\xcc\xaa\xb9*\ +j\xf1wL\xe5\xca%\xccX\x1f\xd8\xf3\x03\x12\x93\xcb\ +p\xf7N\xe3\xd77\xe7j\x9az`U\x83\xd4c\xbb\ +\x06\xe6\x9f\x1d\x94\xb0\x1b1+vo{\x89\x8c\xa3\xe6\ +\xfb\xde\x1e\x13%\xefQ`\x90\xe1\x5c\x95\xdd<\x8cn\ +\xc7\xf7\xf6,\x82\xdf\x9a\x07\xa8\xe6\xfdQ\x8bW\xa2c\ +D,\xf2g\xefX\xf8\x08\xe1\xf6\x87\xd5v\xcc\xd8\xd6\ +\xdbg\xd0\x01I\xb4aHs/\xcci\xee\xeb\xd9\x03\ +2\x1f.\xa0\xf5\xe5\x1c\xb5\xe06.\xa3\xce\xe9\xc4l\ +\x8e\x95w\xd5\xc9\x85T\xb8\x057mW\xf8\x8e\xe9\x0c\ +\xf2\xefP]\xc4\x94o\xe7v\xb3\xc4V\x8b\x8b\xa8\xe6\ +}\x95\xaa9C-^\x89\x861\x09\xc2\xa1\xc51\x0e\ +\x95\xc8\xd8\xbd\xf6\xf6-\xa7\xd9a\xd18\xa9\x12`\xff\ +Z5)&B\xba\xaf\xf9\xb2\xf5Q\xe6/p\xf0f\ +\xa8\x02\xe7\x0cup\xce\x84\x1b\x07\x10\xb54pQ\x19\ +\xf2\xf6\xdb\xa0\x9a7\x80\x0c\xff \x88.\x1f\x86AB\ +\xa2\xa2\xb3C\xa8f~[wQ:\xdc:\x9a\x8a\x82\ +\x8c\x15\xf0\x8d\x8f%\xe8\x9d\x90\x0c\x87\xe9>pk\xe2\ +\x02C\x90\x7f\xa7\xaa\x13\x90\xda\x04/\xbc\x89C\x99\xab\ +P\xcd\xb5\xf0\xb3\x805S\xba\xef\x89\x5c\x98\x99\xa3\xbf\ +hg\xc2\xb8\xfb\x08u:\x11x\xe7\xc4\xbc\x03\xc9\xec\ +\xbc\xe0\xd1\xb9T\xd8\xb2\xe0>\xbb6w\xe6\xd2mj\ +\x8f:\x1c\xbc\x93\x84\xe2\xea\x16\xa8\x83s\x09\xbbq\x10\ +\xf3v\xc6O\xb8\x8a(\xcf\x0cT\xf3\x8e\xa8\xc5\xcb\xe5\ +\x84\x877X\xfd\xb8D\xd6\x00\xbf\x81\xbf\x17\x8932\ +Eb\x90\x7f\x81mC\xdb\x22-\xcd\x00\x05g\xb5\xd9\ +\xf92\x05\xd4\xf1\xf6(\xa6\xa4\xed\x9et\x06\x81kN\ +\xc0\x7fv<\xa4x\x89-\x06y\x92]\xd1s\xae\x17\ +w\xab\x7f\xff02\xfb\xbb\x8c+C\xc9\xb1U\xdb\xe2\ +\x86\x9e\x1b\xbd\xb3kF\x03i\xab\x03\xfdw\x8d\xdf\xdd\ +\xd3\x7f\xc8\xd1\xa6\x91q\xf1\xb8\xf9y\x08\xbeq+\x0f\ +-\xceg\xb79\x8em\xd6\xef\xf1\xaaB_\x5c\xcdE\ + \xe4?\x22v3Ec\x1f\xccn\xe4\x229\xd8l\ +k\xf7\xfb\xc3\x83\x17\x1cA\xb8_\x22\xf2\xaf/\xc6G\ +^\x0f2\x91qh;~\x0b\xb6\xce\xd8*W\x01\x97\ +\xae_\x11n\x11\x0d\x7fc=H!'$\xef\x14A\ +\xa6\xba\x18\xf3}\x03[\xe6H\x22\xa7\xc7\xeaG\x8eJ\ +\xd1\x0b\xd0\xdf=?\xc7\xc8\xdb1\xba\xcb}I\x88\xc1\ +E\xc1nf6^\xf3\xd1\xf8\x06\xe7\x82p\xe3\x00\xe6\ +\xac\x0b\x9dg\x00B\xea\xe2\xaf\x99\xe2\xde}\xc2\xf4y\ +\x81\xbdN6\x0d\x9d\x17\xba,\x1a\xb3<\xe2$\xbe\xee\ +a=\x9f\x22\xc4\xfd\x0d\xeeU\x18\xc6\xbf:[?=\ +\x05\x07\xa7z\x22 y\x17\x92\xd7\x84\xcd}\x82\xf4h\ +W\xbc\xabj\x8a:jnA\xa7\xf0\x08\xa4C\xa4\xea\ +\x97\x11\xda5\x11\xde\xab/\xb7{\x9b\xd96\x7fo\xbd\ +\xb3\xa3\xfd\xda>\x83\xc7\xdc\x97(\xc8\x9b\xcb\xaa\xb92\ +\x08\xf9=\xbc\x5c\x85]9\x83&\x89\x09\x8a\x97\x15\x82\ +7\xde\xc2\x9e\xc0\x81\xbd\x93\x96\x0a\xbc\x02\xf5J\x0f\xc0\ +\xc3q{\x9b\xf3\xf5R\xb2\xe3t\xcfW\x0e\xda\xbf_\ +\x10\x05\xa6A\xeeR\x0e&\xeeI\x1a}\x19\xa1.\xc7\ +Q\xcd\xbb\xe0\x1b\xbc\x02\x037\x06\xe0\xf2\x88\xad\xec\x02\ +\x22\x03\xee\x22\xeb\xc8\xc4\xb2\x82\x16K\x03\xa3Xq;\ +\xdfe\x9f\x90\x18\xed\xc8\xaa\xb8\x02\x08\xf9\x1e\x1fK1\ +\xc8a;\x0a\x14\x92\xf6&\xe2\xfa\x9b\x8e\xa8U]\x82\ +\xde\xfb\xf7\x0a\xa1\x1d\xb6\xd9\x97\xe0D\xa5=j\xdd9\ +\x05\xe5\xd2\x1c\xe4\xf7\xf7\xb3*\xc7\x95+SY5W\ +F-\x85\xdd\x91By\xd5\xbc\x06\xf1Ipw\x0c\x12\ +*\x10(\xbd\x8f\xfc\xa7\xab?\xdf@\xd3\x8bG1\xb9\ +\xef\x16\xfd~ \xe4\x8f\xb8w\x14c\xe2v\x8d\xb8\x84\ +\xc8\xad\x87Q\xcd[\xa0\xd6\xe7\x07\x82\xfc\xa7\xc7Xf\ +\xe0\x88G\xf5\xf3\x1e\xeeDq\xb56d8\x17\xb1\xab\ +9p\xdc\x1a9\xf3\x1e\x92\xc3CP\xc9\xdb\x1b\xa7\xcc\ +\xae\xbf0L\xbf\x0d|V\xf7ZT\xf5^\xeb\xd8a\ +t\xceJ\x12\xdd\x84s\xf7\x9d8\xfeN\x0f\x84\xfc_\ +\x19\xd9\x1dp\xacT\xa3\xfeO\x9c\xe1;\x9c-@\xa3\ +\xcc\x94\x06\xcfZ\xc6\x86|@\xd1\xe9\xf6\x92\xcf\x5c@\ +\xad\x9a\x1b0\xda\x1a\xa8yP9.>\x19\xf7>\xf7\ +\x86\x0c\xe7\xaa\xecQ.\xfa\x1fO\xefv\xb0\xa9\xa7\xc9\ +\x1d\xa4\xc7\xedT\xf770\xed\xec\xd9$\x8e\x05:\x1c\ +\xc1\x8d\xeb\x9dc?\x97\x88\x8f\xa4\x0b\x0a \xe4g}\ +=\xd0\xaf\x9eK}_x\xf6\xbf\xdck\xa7K2\xd2\ +\x0e-f\xaf\xb9\x22\xbe\x03\xe7L.9\x09I+\x12\ +\x5c\xaa\xb1g\xf7ZV\xcd\x95Q\xeb\xf5\x09\xf4\xccM\ +\xe9\x9a\x8f \xd7b\xbc\xfc\xda\x12u|\xbc\x0a\x93\xad\ +!H\x99\xe6\xdf\xefZc\x17\x9cf.\x0d\xd6\xc2g\ +qs\x10\xf2\x1f\x8fN0\xf5]IXa\xe0\xdb\xed\ +R\xab\xed\x03\xa3\x96F\xaa\xad\x5c\x1b=<\x0a\xbb\xd2\ +f\xc8\xbf\xe6\x02\xbe\x03\xe7\x82(+\x1d3B\x12\xa7\ +\xbdB\xe4\xb6b\x94\xf3\xee\x90\xe1\xe5Z\x8c\xbf\x87\xb6\ +g\xb8\xd2\x03\xbd\xa4\xc4<\x14\xdel\x89:8\x17\xc4\ +\xf9\xfb\xd0\xc5=\x02\x1dA\xc8\xb7>]SbON\ +\xa3\xd7\x12\x1f\xe5\x12\xc5H\xbb\xd3Hq\xef\xbd\x22\xb9\ +\x7f}\xce\x05\xc1\xb7\xf0\x8e\x80?\x80s\x88\xaf\xe5 \ +{\x82\xd7\x84\xb2\x869\xc7\x22\x91\x7f\xbd\xabv\x98\x91\ +\xee\xaa(8\x0c\xf3\xd1\x7f\x8e\xc4\xd8\x0d\xec\xca\x07u\ +\x10\xf2G\x94\x1c\x81\xd5\x8a0\xd3\xc7\xc8HY\xcf\xde\ +\xf2\xfa\xf8/q\xae\xc2*\xaebxx,\x22V\x86\ +-\xbe\x00\xef\xa9\xa7:\x04\x8fM\xd6\xf5\xeas\xbc\xf1\ +N\xe7T\xf9\xe2\xc7\xbdbJ\xe7\x8bQ\xca% \xe4\ +{p\xce\xe4\xd2\xf7b\xb5Y\xd8\xca\x878|\xcf\xa5\ +\x1e\xe7\x0c2\x82\xbb\xae\x1c\x82-\xc7\xe0\xc2{=\xe1\ +\xf2\x1by\x85j.\xe0\x1b={\xafS\x83EJ{\ +\xf6\x9e+\xa0\xd6\xe7'\x82\xdc\x85\xa3\xd09\x94!Z\ +\x11\x14\xa3\xeci\x11\x86\xe3\x93=$\xe5\xad\xc2\xec\xef\ +7\x88\xf5\xb1\xd7p\xef\xe5/\xa4\x1d\x8b\xc7\x89\xf2N\ + \xffN\xc2\x91\xe7r\xf8\x1d\xec\xec\xbbz\x90\xe1\xaf\ +\x98\xe2\x9b\x1bX\xd2o\xad\xe8\xaep\xe6\x95\xcb\x94\xf8\ +\x95\xc3:\xb9#P\xceU\xeb\xcd\xe8\x1d\xe3\xce\x0d\xdb\ +\xe9^\x80\xf4\xa45x\xcf\x1b\xa1\xd6\xe7$\xa6p\xd4\ +\x11\xc3\x87\xb56L\xc0H\xd7$\x9c\xf8j\x88op\ +.\x88\x0fd2M\xfe\x18\xba\x09I\xb0s\x8e\xee\x9e\ +m\xe0\x89\x92.\xaeM\xfd\x10\xbau\x00\xbb\xc7% \ +\xff\x1e\xbcR\x22\xf2\x89\x85\xc1\xd8\x9d\x91Q\xc8}\xb6\ +T\x81s\x86o\xd4w\x12\xb5\x81[\xf3u\xd8\xb1 \ +\xbea\xe6aK\x14_\xea\xce^q\xa5\x8f\x171\xd7\ +u{\xeb<\x84M\x0d\x1d\x193$\xaa\x7f\x88\x89\xbb\ +g\xba\xe1\xa0\xc4=\xb0\x8e\xda5\xfc\x14\xbcW\x1e\xc3\ +\x1bn\x88Z\x9c\xab\xb2\x9bv\xf0\x1a\xd7\x1a\xd5\xf2\x0d\ +\xa7~\xc0\x8ec\x96\xec.W\xc1\xafxy\x86\xa9\x1c\ +;\x80\x96EE\x90\xdb\x95\xac\xa3\xc1|m\x15@\xfe\ +]x%\xb4N\x16\xc1\xca\xc4g\xd6K\xe4>\x8ba\ +\x9c3\xd4:u\x00\x1d\x16\x06\xc2\xbf\x8d\xbb\xe6\xa3\x01\ +\xde\xad\x12\xd6EvL\x9a\x172\xe3v\xe7\xb8\xa8\x04\ +\x9c\xa9\x1eW]\x8c\xbeGS\x1b\xa6\xa8;uz\x82\ +\xc8u9H\x8f\xeff^\x12,\xaa,\x94\x13\xde\x9f\ +D\x80\xa1\xcb\xe8{8wy\x1e+\xe7J\x90\xe1\x5c\ +\x8e\xdd\xdb\x849\xbeS\x91\xd7\xb6\xf5\xac4,\x08\x19\ +\xacp\x97\x0b \xe4\xb7\xf0J\x0c^\xed\x87\xab}\xd2\ +N\x1cG\xde\xb3~\x90\xe1\x5c\x10\x92\x13\xe5\xcc'\x04\ +L\xdc\x87=>\x96+\xb3\xcc[\x1e=\x8e\xaeG\x8f\ +b\xf5\x00\x8fY\xf7q\xf4Mh\xf59\x91\xe4\xc3e\ +l\x18f\x8bS\xea'o\xbb\xe0\xcc\xcb\x16\x90I\xc8\ +QQLK\x82\xe7\xf4H\x87;\xc8<\xb8T\xe0\x5c\ +\x8cZ\xaf\xb63\xd5b;\xa6\x05B~\xc6NW\xa8\ +\xe3w$\x1d\xefj\xb82\xaaM\xa6a\xe4\xf6\x9b\xc8\ +}\xb6f#\x7f\xc6n\x1fC\x9b\x94\xa4^\x07\x10\x93\ +x\x10\xc73\x15 ec E\x88\xaa3^\x09\x9b\ +Y\x1aK;=Q8\xc5%\x9f\x1f\xa1\x8f\x7f\x14B\ +\x17&\x04\x9fEb\x9a\x14Y\xf1C7'7\x1d\xb4\ +$\xac\xefn\xbd(\xe7x<\xe5\x8dA\xc8\xb7r\xf7\ +b\xd4t\xcf\xd6\xc9\xc88\x1e\x81\xe2\x8aN\xf8F|\ +\x0a\xd30\xdc\x06\x0be\x97\x06\xc5-|z\x9e5\x89\ +\xeat\xa8\x8d\x8b~\x05r\x9fe\xe0\xc4\x0b%^\xa5\ +\xa8k\x17\x80\xab]\x02\xed\x1f\xc3\xa5\xddmHq\x08\ +R\xd82)\xba\xc0U\xa9\x01\x8b\x0eQ\xd4,\xe4\x8c\ +\xd70\x85\xb3\x05\xe8S\x98\xad\xb5k\x8ew\xef\xc3\xbd\ +\x03\xa7\x1d\x15oB\x05\xb6\xb4\x09E\x84K\x7f\x10\xf2\ +-\xce\x05Q^&,\xb7\x865|\x80`\x8fS(\ +,\xd7G\x1d\x8f\x0b\x05\xb9\xb3\x87E\xcbF\x05\x8e\xbb\ +\xa1\x16b\xea\xbe(\xa1\xb7\xc1\xce\xfd\xd8\xb0\xca\x1f\xe7\ +\x07'\x1d(F\xde\xb3\xd1\x9f\x1e4\xea\x1b\xbe\x0b\x19\ +\x9d\xaf\x90\x92\ +}\x0e\xc7s:!c\x87\xce\xcc=\x13Zl\x88i\ +\xb2\xb6G\xf0\xea \xe4\xec\x1f(\xbc\xe3r \xa4.\ +\x15\x17\xf96\xd8\xd2\xc1\x16AK#\x90\x9cl\x8dG\ +_:\xe0[R\xf4Wu\x82/s\xee\xf2\x0ci\xfb\ +\xe3QZ\xd3\x032\x9ck\xb2K\xb90\x88\x8e\x1ft\ +\x1bQ\xdb\x8f\xe0\x05o\x0c\x19^)\xc8\xbf{\x8e\x89\ +\x0b\xae\xe18\ +\xd4;.\xf9\x02\xf2\x9e\xcd\xb8\xfa9\x5c\xb8Y\x80\xae\ +Y\xa9\x98\x13\x95\x08\x9f\xc1\xde\xf0Ws\x11&\x81\x90\ +oq.\xb0]\x89\xd80*d\xf6\x05\xec\x5c\xb5v\ +h\xa4\xbe\xde\x8ah\xb4\x17\xa4\x82H,\x15\x0b\x90\xe1\ +\x1fY\xbd}\xb9\xd0\xdf\x18\x88\xf1\x90BcO*\x1a\ +\xbe<\x0b7]k\xa5\x0b(~\xe6\xc4Jk4!\ +\xc3\xab\xa0\x11\x1e\x8f\xd4\xa5\xf1n\xef\xb0g\xf7&T\ +\xf1\x86f)\x13U\x83\xd20s\x9e\x1f\xae\x0f\x0a\xb0\ +|\x8a\xdcg\x01\xcd\xf9O\x0c2?\xfd$\x16\x8e\xef\ +\x17\xe4A\xc8\xaf\xa9\xb9\x89.\x91q:\xe9\xba!k\ +\x0a\xf1\xbcR\x1f\xbf\x82s1\x0b\x8e\x13$\xa8\xf5\xe1\ +\x12fm\xf5\x95\xcfF\x5cr4Jk\x06A\x86\x7f\ +`\xf29\x99\x98\xba3q\xe8\xfdF\xbe\xcboc\xb7\ +_D\xbb\xf0i\xb3&\x06\xf7\x8d\xee\x99l\xbb\xc3%\ +\xa2\xe5\xd1\xa1\xfbKL\x85#\xcf\xe5@\xc8\xf7x\x9a\ +\x8fVW\xb2\x9b\x1d\x84\xb3Q\x19\x8a\xee{\x22f\xe3\ +\x00\xecM\x1f\x88\xe2\x0b\x1a\xd8\x9b\xde\x16\xf9\x974\xf1\ +\x0b>\x5cB\x97SY\xe2\x10H\xcd\x8e\xa0\xb4f)\ +jq.'T]\x84\xe5\xa6@dN\x0d\x1cZ\xd2\ +\xc2\x19w\x98G/\x0f\xc4,\xd7\x05!\xdfK\xd7\x1c\ +\xda8\xf3L\xbf\xe9\xf5\x0f\xaa\xaf\x8fc\xb5k\xb0\xca\ +)\xa3\xed\xc3\xcbt}\x0cn\xb4\xf65>\x0e\xcfQ\ +WZ\x86\xd9\x1eBL\xd06\x5c(7\xaa\xc79\xc3\ +7>\x5c\x82\xfd\xf8\xf5\x8aE\xc8\xbf\xee\x81\xd2\x9a\xe6\ +\xa8\xf5\xd3gAt\xfa0\xbaxE\xa3\x1f\x08\xf9\xbf\ +B\xd7\xf6\xc1\xb1\xbb\xddD\x9c3\xfc\x86\x8f\xd7\xa0\xbf\ +\xc5\xaf]\x0a\x12\x92<\xf1\xe8s#\xfe\x1a\xea\xd9\xfb\ +a\x10\x9a(^\xb2)\x02\xfe&\xfe\xcc\xd79B%\ +dq\x90b\xa9\xe1\xd6\xae\x1f\xd5\xd3\xf3\xcf\xe2\xc8\xe9\ +&*\x9c3\xd4\xf1\xe1\x12&\x84\x85\xca\xa7\x22,<\ +\x11\xa55\xa3A\xc8\xffC\xca\xfa\xc3I\xe2\x03\xd7F\ +w\x07\xfb\x8f\xb8\xd0*\xc4\xf10N^X\x86\xcb\x95\ +\xda\xf8\x8f\xb4X]V\xc5U!\xc3\xb9&+\xc9\xc5\ +\xd0])3o\x22%{\xb7P\xc9\xe5 \xc3_j\ +2\xfe\x82\xc9C\x86\xbfd\xf2i\xe9h\xc4\xcb\xd0}\ +k$\x0eM\x8e\x0fz\x8c\xec\x93s\x158g\xa8\xe3\ +\xc3%\xb4.\xcd\x15\xd9\xc3n\xf2BVZ\xa3\x0eB\ +~\xc6\xb9\x0a\xcbL\xc1R\xc3-8\x0f\x97\xd6\x8fT\ +\xdc\x1ay[\x84)\xce\xf2\xda\x05_\xdb\xd0\x9egz\ +D\x86\x9dfyO\x96\x15\xefG\xc7\xddIc\xf2\x9b\ +\x07o*\xc6\xb9Ws!\xc3\xcb\x95\x18\x7f\x87\x8e\xcb\ +=p\xb3U\xde5\x1fv\xb5\x5c\x1d\xbf\xe2\xedkh\ +y'\xa8\xee\x18\x16`U\x8a\x92\xca\x19 \xe4{p\ +\xce\xc4\xd9\xa9p\x97\xc6\xce}\x8f8\xff\x906\xc5\xbb\ +\x1a:&0\xc5/\xcf\xd1\xe8L\x11V\xcd\xf5\x99\xf4\ +\x0697\xd3\x0e\xddb\xe27W\xb1x\xb57.\x0d\ +K\xda}\x16G\x8e\x8ca\x0fkT\xde\x9c\xc3D\xaf\ +\x88\x89\x85H\x8e\x97\xa2\x82\xab@\xe6N\x9a \xc9\xdf\ +\xe7\xd6\x06\x85\xaf: \xca\xa2C\xd3\xd0Q\x9d\xe7D\ +a\x82yD\x87\xd3\x1a\x91~\xe1((U\x05!\xdf\ +\x83s\x89p(\x1b\xfd\xe3\x93\x86\xbdBl\xd8}\x94\ +sM\xd4\xfa\xfa\x06\xc3-\xb7\xe1R\x9b\xd4\xe3\xfbP\ +\xfc\xb6\xe3\xd7\x17P9\x95\x8dU>q\xd3\x8f6\x0b\ +\x0f\xda#*|2\xf7`\x0eF\xefHXt\x0b9\ +\x17\x82\xe48g\x90)\x7f$H2\x13\xe1\xd3\x7f\xdb\ +\xf0\xbb:A\xd3\xb3\x1an\xed\xb8W\xc9U\xad\x0c\xde\ +\xfa\xc9\x88\x0f\x1a,\xce\xbb$\x02!\xdf\x8bsH\xb2\ +\xf6\xe0\xe8\x9c\xb8-\x15\xc8H3a\xe5\x5c\x1e2\xc5\ +\xc70ym\xd8\x80\x12Dy\xa5\xe3\xd1\x97\x96\x90\xf9\ +t\x87i\x95\x9e\xc4\x8c\xb0\x9d\xfa\xd7Y\x5c\xec\xadV\ +\xa7:\x0d6\xb6\xc7a\x14\xde\xb1d\xf7>\xd7\x87\x0c\ +/\x87\xf2\xfe\xbd0\x0e\x8c\xd7Zg\x16\x88\xb0\xf6\x1e\ +X\xa3\xe8\xa2\xd0\x1e\x84\xfc78\x17D\xfb\xd2\xb0\xda\ +3\xd1\xec-\x12\xa2\x13\x9a\x97\xff\xa4r\xeb4\xea;\ +E4v\x9e\x122\xe5*\x0an\xcdC\x1d\x9c3\xc9\ +\x9d\x93\xb0v\xf0PJ\x1c\xbfC\x9c\x84\x00\x9bsH\ +I[/\xbc\xe3r\xa8\xc5\x1f\x8a\xc4E\xf9\xac\x1e\x08\ +\xf9_q\xae\xc8\x8e\x1eB\xdb=\xc9\x9d_\x22\xdc\xb3\ +\x0a\xdeF\x01rN\xe2\xdb\xcc\xb9U\x11|\xa6\x9a\xb1\ +\xb4\xf4z\xf8\xc6\xe7\xfbh\xb0?\x13\xb3\xa3cpN\ +\xb2ea)N\xbd\xd9\x08B~\x14\xce\x99$k\x0f\ +R\xcd\xfd;V\xc3k\xcc\x11\xc1\xbb\xdb$\x04\xbb5\ +f\x19Er\xf8\x15\x1f^H\x84\x17\xa7\xb0m\xcc\xb6\ +\xb9\x0fq\xb2\xd8\x98Up\x05\x10\xf2=&,\x19\xd4\ +\x15!\x0f\x9b\xe3;q.\x12\xedO\xc7\xfc\x80\x84\xc9\ +o\xb0s[>.\x9eh\x8c\xdf\xc1\xb9H8\x98\x02\ +\xb7\xa5;]\xce\x22\xf7\xf2\x1c\x10\xf2[\x1a\xe9+7\ +:\xb1\x8f\x8d\x8f\xf0\xc2yW{\x14\xac\xda\xb0f-\ +\x96oj\xad\xc89\xc3\xef\xe0\x5c\x9d\x95\x9c\x83zf\ +\x0a\x9e\xf5\x88\xddQ\x85c'z\x8a\xca\xb9\x18\xbf\x80\ +\x9fVa\x07\xf72e\x8f$\x0c\xb0\x8fj\x93\xaa\x1e\ +\xe4\x9a\x84\x92g: \xe4[\xeb-\x99\xc6\xee\x10\xcc\ +\x08\xd8\x8a\x83\xebV\x89c|]\x14w\xac\xdfV\x7f\ +~~\x02<3\xfd\xf4\xf20k\xd6D\xc6\xb9\x18\xdf\ +\x81s&\xceJE\xe8\xba]\xf6\xef\x91\xbcK\xca\xca\ +\xb92~\xc1\x97\x22\x89\xf0\xba\x00\x86\x1d\x9c\x91+l\ +\xedq\x0f\x89\xf1\xf3\xd9\xc9b%\x10R\xd7\xa7\x02\x8c\ +<\x12\x82H\xa9c\xe7\xe4\xb8\xa8)\xd23Y\x08\x8a\ +\xd8\xdc\xf7|\x07\x87\x82\xb1w\x0e\xa2\xe3\xa5\x04\xa5\xc7\ +\x18?\xda\x0e\xe7\xce*ip\xce\xf0;8\x17\x0b9\ +\x190\x8aH\x9a\x9c\x8d\xb8\x88\xe9\x8a\xe5\x9c\xe1W\x94\ +\x9f\x80\xa1[ \x0cA\xc8\x7f\xcc_\x81\xee\xcd\x16-\ +\xd5C\xeak\x0d\xe1\x22\x97\xfbT\x80vO\xb3\x91\xb1\ +j\xa5N\xb1\xc1\xbe\xe2A?U6\x1e\x99\xe1\x81\x07\ +\xcb\xdcN,\xdd\x96q\xa6\xc1\xb5\x14d\x86\xba\xf4\x88\ +\xc6\xf2%=E\x9c\x8b\xf0\x1d8\xaf\xc7@\xc8\xf7:\ +\xb3\x1b-\x22\xbc\xb0\xd1e3\xae9:`_\xb8[\ +\xfd4\xb5\x81\xed\xec\xbaD\x9d\xed\xc1\x82\xcf)|*\ +\x10{\xf8\xd8\x22y`T\xfc\xe4{\xef\xbd\x07\xe4G\ +!!\xd8\xcd)\xdc(\xe0a\xb7\x1b\xe9XR\x10\xd1\ +\xfc\x14\x8c'\xcef\x9cK@\xc8\x9fAt\x87\x8b!\ +Sq\x9fI\xae\xa4b\xb3\xaf\xb3\xc2N\xcbu\x92\xf1\ +'R0\xec\x5c:\x5c\xd2\xfd\x91\xb7Uj\x15\x06\xcb\ +\x80\x1e\x1f\x8f\xb5\x9dR\x14\x81\xc4Q+\x179$\xbf\ +=\xd3\xe3\xc61X\xecv\x1dY\xd2\xcc\xe3\xf9\x98'\ +\xa7\xd1\xe0Z2^O0\x1d\xe6\x8c\x90 -%\xce\ +\x19\x08\xf95\x83WX\x8cDrES\xfc\x820/\ +A\xde\xdd\x19\xa6\x13g\xc0\xae\xfd\xee\xc3\xfa\x83\xee|\ +\x92//\xc4\x984?\xb9cf\x16\xbdmT\xdc6\ +k@\xe6\xebCh_\xce\x82\xc5\xe1\xa0v\xa50Y\ +:\xefm\x91I\x93\xf7\x87\xb1k\xdcX\xb5D\xed\xbb\ +o\xf4>T\x8c\x1d\x96\xb5\x0d%\x1b\xdc2m\xd7\xed\ +*mv}\x0f\xa2\x12\xbc\xba$a\xe1\xdcn\x0a\x9c\ +3\x10\xf2k\xe6\xcdmk\x8c;_TP\x87a\xfc\ +l\xcd\xc2\xb4N\x86\xc9\x018\xee\xe5\xa6\x9aj\xb3\x1a\ +S\x5c\x1c,\xd4n\xbc\x0c\x96\xbb\x91\x83\x19\x07\xfc\x9b\ +\x94`\xc1\x96\xe9\xec%\x17A\x86W\xd7c\xbc\x0aM\ +\x0a#\xf1\xc4l\xf5\xbaM\xd8\x98\xd2\xe0S\x81\xdc\x86\ +\xe8\xcd\xd8=\xd4\xdf\x7fN\xe9\xfb\xc8~'v!8\ +\xd2u\xf5\xee\xa1>\x8f\xbb\xde\xcc@\x87\xa2\x9d\x8du\ +@\xc8\xef\xf1Y\x0d\xcd\xd5\xf1;E\x90\xf9Z\x8a6\ +\xb9\xe1\xd8h\xb5\xae\x93\xf3\x8e\xf0v\xee\xc6\x0bt\x96\ +7\xb3\xb3h\xbc)Y\x90l\xb7\xe8\xcex\x95X\xc4\ ++0$u\x0b^\xcfu\xc8\xb6\x82c\x89:j}\ +y\x80n\x87#\x90\xbdi\x83\xc5\x16\xec\xbc\xd1\xe4S\ +\x01\x86_\x8eG\xe2\x98\xa5\xd3\xb6\x04\xbe\xbd\xd9\xe5\xd1\ +E\xf4Kq\xd5\xeb\x0fB\xfe\x08\x9b\x0d\x13f\xc2*\ +\xa1\xaf<\xe7\xeck)\x1a\xbf8\x01gWKvv\ +\x93k\xa3\xe8\xf6\xe1\xbb\xda)<\xe0\x0cu\xf0\x0a\xf4\ +\xcd\x8bFv\xa0\xd3\x8a\x04,\x0f\x1c\xc0\x1eqI|\ +\x18\xab_\x94\x82\xd9\xc9>\xb8\xd0x\xc6\x9c\xd9\xec4\ +W\xfcT\xc0\x14?\x15`\xe5\xe2\x19\x18\x00B\xfe[\ +\x0e\x0e\x1aAM\xac\x13\x9b\xa1\xd6\xd7R,H\xf1\xc5\ +5\xeb\xd5K\xbd\xe1w\xa1\x15\xbe\xc1+\xa1q=\x0f\ +\xf3\x8e\x86j\x5cZe\xd19Z\x98\xa17q\xad\x03\ +\xc6{oA\xd4\xc2ep\xd5r\xcfn-\x8e}*\ +\x02!\x7f\x865k\x98d\xce\x9aH\x86Z_K\xd1\ +\xaf8\x11\x91\x0e\xb6\x0bb\x10W\xde\x0d\xbf\x80\xd7@\ +\xe1\xfd\x09Xg\x07!2\xd1W\x9c\xed\xe3\x86\xb3\xf6\ +\x1b\xb1v\xf6r4\x01!?\xd2\xd7R\xa6Ru\x1e\ +\x8e.\xe6870\xfc\x8e!\xdbU\xa1\x80_\xc0\xb9\ +Hx|\x18\xad\x8f\xc7\xa2\x03\x08\xf9\x13\x04.\x1d$\ +4X\xe6\xd5\x0a%\x5c\x0d\xbf\xe5k)\xa6'{c\ +\xaf\xf5\xa6\xed\xf6\xd8U\xd1\x1c\x84\xfc`\x1f\x92\x99\xd2\ +e\xdf\xf6Fj\xc3]\xb6\xe26o\x82\xff+\xea]\ +C|\xe3k)\xba\x5c\xde\x8b\x00\x87\x95S\x92\xb1\xab\ +\xa2'\x08\xf9\xc1>\x1fB\xab\x8d\x83\x91\xd7}ZD\ +\x1a\x82O\xeb4x\xce\x19\x7f'\x16\x01Q\xef\xba\xe0\ +\x1b_K\xc5\xa2\xaf\xa5X\xbc\xcd\x06\xcb\xa6\xfa\x9fT\ +\x01!?\x10\xaf\x90\x08G7b\xfaFC\xab+\xb0\ +\xcc\xb0g/\xb9\x02d\xf83\xa6\x80&\x11\xaf\x0c\x84\ +\xa8w\x12\x10\xf27\xa9\xb9\xc4\x14\x8b\x9c\x9bYN\x18\ +0\xfb2\x8e~\x19\x8d\xbal\x9cB\xd6!\xea\x9d&\ +\x08\xf9\x9bp\xae\xc5.\xacE\xc4\xd4)\xc17\xb1\xee\ +d\x7f%\xce\x19\xfe\xc3\xc5v\x8e*\x08\xf9\x1b\xb0\xb4\ +\x8fJ\x90\xe1\x9c)\xc6\x9a1\xafy3v\x9c\xc5\xb6\ +\xaaY \xe4\xef\xf2\xe9\x08\xab\x17\xb6\xb2\xdd\xfc\xee\xf3\ +\xb7\xef\xc6\x81\x9a\x11\x90\xe1eL\xed\xdc\x1e\x15\xab\x11\ +z\xd3\xef\xe1\xc0'3\x10\xf2W\xdac'\xa7\xd4c\ +\x84s/8U\xf4\xf8\xb0\xbfU\xe3[\xdb[\x07h\ +uZp\x1be\xbc\xbf\xd2K\xce \xf3)\x07\xf3\x96\ +\x0d\xd5\xbf\xde<\xf4\xa8\x07\xce~i\x05B~$\x83\ +\xfe\x96\x0ap}\xdf\xeb\xd3>\x91\xf8M\x22\x1b\xdeU\ +N\x92&ZR\x98\x09\x973-\xef;4\xf537\ +\xdc\xfc\x18k3f\x0a\x95\x5c\x02\x99\x9a\x14\x0c\x8e_\ +\xd5#\xb5\xcb<\xf7#\xc8\xae\x19\x0fB\xfe(5\xce\ +\x19~G\xd6\xdb\x93\x8c_\x17z\xcf\xed.\xba\xd1\xcd\ +\xf2L.\xec\xaf\xea\x95{7Y\xe9d \x5c\x16\x0d\ +p\xbd\xcd\x16El\xd8\xe32w\x83\xa7\xb1\xfd\x03\x98\ +\x15m\x15s.@\xe6S.\xd3x\x98\xa5nm\xd4\ +\xa8\xcfSE\xcfWa\xf0\xbb\xaf\x0aB~O\x8a\x19\ +\xab\xef1\xc1l5f\xa5o\x03\xe7r\xf8\x05\x129\ +\xf5\x9eha\xb8\x1eK\xd3Wb\xe3\xa9A\xc5\xa7\x13\ +\x06\x85.A\xc8\xca\x09\xaeO1?\xdd\xf3\xa0\xf3\xe4\ +\xe9\x11\xe3\x14\xce*\xf4\x1c\x93\xdbt\xe8\xe2\xc2\xc9\xa9\ +a\x16\x9bz\xf7}\x0e\xb7\xf71,\xb0B\x01\xb5\xf8\ +st\x0c1\x16\xf6\x9a\xcd\x08\xbb\x8dU\xd9V8\xfd\ +\xa5)\x08\xf95\x9c\xd7cW\xf3\xd1(v\x1c*\xba\ +M\xdb\xfd\x06\xeeG\xda)p\xce \xf3\xd2_\x90\xf3\ +0\xc2\x98\xa1M\xb0\xbf\x91\x96\xf6\xdd\x89z\x9d\xf7\xcd\ +\xeb3\xf0r\xaf\xd1\xeb\xcf\xf5q8\xee\x96\xba}\xc0\ +\xc0\x8c9\x83oC\xdf\xe5a\x97[AC\xa4\xdd\x1b\ +\xdf\xedb?\xd8\xcb\xa8\xbb\xee\xa5\x81\xb6\xe6\xb1c\xfb\ +\x0e\xbe\xd1\xcde\x7f\x04N|n\x8fZ\xfc\xbd \xb9\ +\xe8\x88\xd1\xb9V=\xf6N\x1baV\x8c\x95\x87\xb6\x83\ +\x90\xdf\xc29\x14\x12f \xcej\xb2\xc7{,\xc8X\ +#p.\x86\xcc=o\xb4r\x1b\xaf\x17\xdb\xb9\x8f\xd9\ +\x89\x1e\xf3\x5c\x0c<\x16@\xef@\x80x\xc6v}\xbc\ +\xed6\xcc\xf7-\xb2O\x8fy\xe09\xce\x7f\xd5\xd0q\ +\xb7\xb5\xd7\x8f\x0f\x1c2n\xd0\xe1\xae6\xb3\xb69\xdb\ +\x0e\xdf!5\xeay\xad\xb1\x9e\xc1-\xf5\xe9\x8eix\ +\xc9\xdb\xa2\x8ew\xbb\x14XM)\xda%\xceB\x8a\xe9\ +`\xb3K \xe4\xb7p.\x88\xbd\xe6\x8e[\xb7\xd9h\ +v9f\xa6\x1f\x07\xe7r_\xf6\x8bE\x9f\xf7a\xf2\ +\xb4\xb6\x83\xdeiIS\x5c\xd8\x15\xae\x0c\x19\xfe\x02J\ +\x85\xcb\xb0Ej0\xf7\x19l\xc3\xfdK\x8e\x87OM\ +\xde\xd0x\xd7Q\ +M\xb8\x85\x99Y\xd7\xe0pA\xb7\xcaO\xdel\x83\x01\ +\x5cT\xf5]\x87\xe07\xbc\x8d\x10\xe4@\xc8\xb7>e\ +A\xc7aX\xf3\xb4\x9e\xdd\x0c\x8f\xb6\xe9?a\x85\xc3\ +$,\xdfd\x80\xcc\x95\xe37\x95c\xee^\x8f\x13\x9f\ +2\x95\xf6\xdaa\x8e\xcb(\xd3J\xccL\xcf\x07\xe7r\ +\xa8\xc5_\xa0\xf5\x86>\x0d\x1fw\xb4\xccIG\xf8\xeb\ +f\xbc\x12\xf5\xf6\xcfC\xd0F}\xf1+ard\x00\ +\xd6\xdek\x0dB\xbe\x97XMW\x1e\x93\xc3G\xc0\xf5\ +\x98.{\xf2U\x8e\xbf`\x0a\xc9\xd6\xb06\xeb1\xfc\ +5L\x02\xfc\x9bL\xde\xd8\x88s\x91({\x13\x86\x06\ +\x8d7\xac\xc2\xf4\xb4k\xf3\x7f*W\xf8\xa9R\xabQ\ +\xa4!\xee\x8d\x1c\xb1\xe5\x1d\x22N\xcdE\xc81\x1d\xb3\ +\xd9&:\x9e\x93\xe1:\xa5\xe7\xe8\x8b0K\xb6d\x89\ +\x15\xf2\x9c+\xb0Bk4\xdf=U\xa4\x01B~\xb6\ +\xb9G;=t\xb5\xdc\x88\xb3|\xb0\xe4\xccO\x22\xfc\ +\x82\xd5\xc3\xd1\xb3\x9b:\xfc\xe4\x94\x9a\xbd\x9c2d\xd1\ +E9\x13\xbf]H\xff4\xb1:\x93i\x948\xabl\ +m\xd8q\xd2K\xa4V,F-\xce\xa1\x1c7\x09g\ +\xa6O\x0d}\x0b\x8b}\x13\xae\x7f\x0aV8\xb5\x1ck\ +\xbd'\x0f;3\xa0\xdf\x82[M\x06\xda&\xe9v\x1d\ +\x1c\xa2\xdb\xac\xe3\x15\xf4\xb3\x88\x86\xe3\xf5N \xe4[\ +\xfc%\x9a\xf8\x1a\xa2`tk\xe3r\xb8e\xbb\xa0\xf0\ +Kc\xd4*\xb6`\x1a\x91sV\xae5\x9e\x19\x92\xea\ +6}H\xc0\xc0\xc9k\x5c\xa3\xed\xc4\x03\x8e\xacS\xda\ +5D\xb9S\x85\xea\xa6\xb2d\x1d\xb7\xe7\x9a\xd7\xd7 \ +lA\x9f\xc5\xaf\x11\xb8\xcf\x1a/\xb9&dx\x0dS\ +HX\x84M\xf6\xe3l+0{o\xc48\xfeAR\ +\x93\xc94K\xfc0~\xe7F(\xe3\xf2\x90\xe1\x9c\x89\x8a\x96\xc1\xdfn\xc8\ +\xa42\xac\x89\xf5\xc2\x1d\xae\x0d\x19\xfe\x1cM\xf6\xfac\ +\x93\xc9@\x9b'\x92u\x0f\xfd\xaeln\xd9\xe2\x9am\ +\x83\xfd\xdd\x1a\x0e\xacP\xb6\xdc\x95\x81Y\x9e3\xc6\x0f\ +\xedc>m\xd8\xe2\xf4m\xc6\xa3\x8a\x16N\x0fH\xc5\ +\xa2\xcc\x8e \xe4\xd7\xbc\xd8\x0c\x9d\x12\xcbV\xf9\xe8\xbc\ +\xf4%\x9e\xf0\xa1\x92\x17\x5c0\xd5\xc3\xc8f\x0cQ\x00\ +\xaaM\xbb\xe0\xce\xec\x9es^\xc3)~\x0b\xcax3\ +\xc8p.\x11\x8a\xad1>a\xba\xe1-\x18z\x9d\xc2\ ++\xae\x03\x19\xfe\x5c,\xe2\xcf1|EG\x94u\xb0\ +\xbc\x98\x8f\x8d\x8f\xdaVg\xd5\x1b\xe15\x0d\xe9\x8b\xfa\ +\x8f:\xd7\xb7U\xd7\x1b\x0a\xca\xcd/\xa1\xdbB\x0b\xdb\ +i6-A\xc8\xcf\x8eD2\xd5\xb1]\xe7Z\xc3\xfc\ +\xccVp.B\x1d\x9c3\xe1\x8c\x19\xe2\x96\x0e^\xf9\ +\x06\xd24\xb3\x97W,\x06\xfbZ \xa0\x8f\x18\x1b\x05\ +\x01\x9d\x8f,\xc6\xd4\xe4Y#J`\xb4\xb9\x10e\xbc\ +;j\xbd\xbe\x0e\xb9\xc2\xc585\xa2\xf7\xc6r\xec.\ +\x1c\xcf^qE\xc8\xf0\xe7\xe8\xbcm\x19\xf6\x18M\x8d\ +.\xc5\xba\x87\x8b\xaa/OP(\xf3E\xd3,\x0b\x18\ +Nj\x85\x01 \xe4[\xfc6&Y\xf7\xc3\xa3\x9e\xc6\ +\xbb\x1fa\xf5\xa1!\x22\xceE\x90im\x1c\xdfH\xdf\ +\xe9V\xa7\x9c\xc5X\xe15\xc9\xfc\x0df\xa5\xc4\xe6?\ +\xd9_\xef\x5c2\x14\xa6\xd6cJ\x83\x07\x8bD\x8f\xe2\ +\xa1pc%\x0e\x0c\xd55\x7f\x8f\x9c\x92\x99\xac\x8c\xd7\ +\x83\x0c\xe7\x82\xa8\xc8\x0cR\xb7\xb1K\x9f\xc0,\xdc\x1f\ +\xafx#\xc8\xf0\xe7\xd0\xca\x8f\x83\xf5\xdc\x1es_`\ +\xedCk\x10\xf2{\xf8K\xb4\x0c_\x86`+\x835\ +U\x98\x13\x1f\x92}\xe5H\xab\xa3RaU\xa7\x9e\xcb\ +^*//N\x09\x8cD\x87 \x83\x8e\x95\xca\x0b\x8f\ +\x97b\xfb5u\xd4\xc1\xb9\x88\xdd\xb0\x81\x9d\x97\xe1\xcc\ +\xbbX\x1d\x1a\x8c2\xde\x1a2\x9c\xcb\xb3\xd3\xab\xa1\x9f\ +1{\xd8u\x0c\xd9r\x1d\xafx{\xd4\xe2\xcf\xd1d\ +\xf5@\xa6\x09B\xbe\x07\x7f/Hr=\xa0\x1f7\xb9\ +\xefK\xf4s+\xeb\xf4\xe2S\xaf\xc7[\xdaE\x8ci\ +\x85\xf7l\xb0\xf7\x0b\xcd`k\x13\xfbi\x1a\xf9\x13\xe6\ +\xed=\x03\xe9\x8b1\xa8\x83\xf3z\xec\xe6:\xf4\xcf]\ +0\xe0\x0c\x06\xdb]C\x19\xef\x83Z\x9cC\x5c\xb8\x04\ +\xd9\xb3\xf4\xd7\x9dC@Nw\xc9+.\x80\x90\x9f\x09\ +;*\xe4\xf0{\x94u\xbaa\x90\xb7\x19\xf6\xdd\xeb\xe4\ +y\xea|\xfd3f\x88\xb5\x1a0\xfb\xb9\xe0\x9f\xec\x9a\ +\xec\xbc*fC\x7f\xc5\xd2\x06\xedG_\xe8l21\ +c\xf4*\xc3\x98\x09\xa3\x1d/#\xf4\x839\xbe\xc19\ +\x84\x1b+\xb1{V\x8f%\xaf\x10\x9bo\xc6\xca\xb8\x06\ +d8\x97cE\xcb\xd1\x1c\x84\xfc,\xdfRN\x08\x1e\ +\xaf5\x11\xc3\xd7\xf8aG\xc5B\xfc\x82f+\xfa*\ +\xcd\xef\x8fI\xbd\xb4\x90\xd3OG\xf3\xc1\xb4\x81\xd3.\ +47\x89;(\xbf\xfe\xba\xe9#\x97\x0e\x932\x17\xf5\ +*\xd0\x9a\xbe\xfc\x94\xc9v\xd7m\x0b\xba5\xbc\xd8~\ +\xf5\x98\x80\xc5\x1d\xda\xbe\x90_\xbex\xef0\xa5\x1e\xef\ +\x1a\xa6=]\xcb.\xfd\xa4\x82:8\x17\xb3\x1b60\ +\x0f\x994\xe5\x06\x96\xfa\xd8\xb22^\x1f\x84|\xebb\ +$4\x0e\xcdc\xe7:\xaa\xea\xbc\x87\xf3\xdd@\xe6S\ +\xae\x86ZU\xbeh\x130}\xb2\x87\xca\x88)AC\ +\x8d\xa6\xed\xe87\xcb\xdd\xfa|p\xc7\xee{l\x98\xeb\ +\xfa\xe1s\xdebvv\xc1\x95#\xfeZo\xa2\x15\x9c\ +\xf5\x95\xdb\x97k\xda\x18\xfb\xebi\x8f\xb8\xa3\x11\xb3\xca\ +\x22pv\xc7\x5c\xb3\xd1\xfd\xee\xb6l>\xfaUc\xc7\ +\x9d~x\xc2[\xe0\x1b\xb76@\xbdpYW\x0d\x10\ +\xf2k8g\x92\xc3\x8ba\xbdF\xbf\xf5\x22\xcc\x8cU\ +e\xc95\xea\xa8U\xe5\x8b\xaeg\xd7\xb7JQ\x97k\ +\xf9\x1e3\xb6\xec\xc5\x9a\x826\x90\xe1\xd5\xd0\x88\x9d\x80\ +[\xe3\xa6F\x96\xc3f\xdf\xd0\x9a\xcb=G8/T\ +\xd87\xa6\xa3\xe6)\x85NK/c^\xa8W\xbe\xd4\ +\xc84}N\xfd\xb3\xf5T\x06\x95\xc3\xd0\xb3\x10\xefx\ +\x13\x10\xf2\xdfh\xda\x14\xdd\xd5\xd4\x9bz`\x90\xd9)\ +$\xd7\x98\xa1\x8e*_\xb8\x9b\xe8uy\xae\xe8s\xda\ +\x17\x87kZ@\x86s&I\x9e\x83\xad\x0e\x937T\ +bN\x9a\xcf\x8b\x17k\xb53\xbc\xb1|C7\xbcD\ +\x9b\xc9\x0f\xb0\xf8\xe4\x81\xabi\x9b\x95+\xa3\xe12\xae\ +\x15\xca\xd4\x06z\x07\xb3\xd0#\xea \xe4{\x15&\x08\ +\xf2\xd2\xeeX\x09\xa0\x08\xc0\x03\x87I81\xa2M\xd7\ +W\xea\xdbJ\xfc\x90\x5c\xd3\x12\xb5\xaa|a\x1c=\xa7\ +\xfb)Us\x9f\xfd(\xfc2\x042\x9c\x8b\x85}\x1b\ +\xd0?|\xd2\xc8*\x18\xef\xb9g\xf8\xd3G\xf9\xaf\x9f\ +\xdb\xab%M\xc1\xd5q\xadT\xaa\xb1\xfal&<+\ +Z|\xce@\x13/S\x05\x01\x84\xfc\x8c=\xe7\xca\xf8\ +\x0dJ\x9e\x8f\x99\xbc\xe7c\x012\xfc%Z\xf8\x8e\x83\ +\xd3\x04m\x18\x03\xd0\xbc\xe3\x8bi;\xe6\xb6\xcbo\xb1\ +`G.\x92k\x0cQ\xab\xca\x17\xadonn\x1e\xaf\ +\xd1y\xfas\x14~Y W\xf8E\x80\x0c\xe7PH\ +\x9c\x8aS\xb3\xa7\x06\x96\xc3\x02\xbf@N\xa4\ +<\x12\xcd\x0c<\xb1(\xc9\x09\xce\xc7\x86\xb3G\x5c\x8d\ +\x7f\x92\xb0\xc4\x95L\xce\xae\x13\x93\x87\xcc\x87X\xb4,\ +\xf5l\x18\xd4\xb6\xf3\xd4gH\xae\xb1A\x1dU\xbe\xd8\ +`=H\xff\xae\xb2\xcfa_\x14~i\x0b\x19\xce\x99\ +$e>\xd6\xbaM^u\x19&i\xd3\xa5\xfc)\x03\ +!?c\x16\x97\xd4\x958g\xfc\x8d\x02\xfbz\x07}\ +-\xba\xe1e#\xa5\xa9\x1f\x84\xac3\xd6x\xce\xb5 \ +\x93\xb4\x94\xa9\xae\xe8\x89Y\xdd4q\xbc\x85\xa6\xea\x85\ +iz\xed\xb2\xe6\xf50z\xa26Vz\x1aY5\x13\ +\xf1\x0b>\xc4\xc2\xd2|H\xe7\xdb\x8d\x9c\x0b\x22\x90\x5c\ +\xd3\x11\xb5\xaa|1&mI\xb7<\xb59N\xc7P\ +\xf8e\x0cd8\xaf\xc7\xf2\xfd\x98\x12\x08\xf9\x8fJg\ +\x0c\x98\xd8N\x92\x22\x98\x1e*\x81\xf3\xa9\xc1\xec-\x97\ +\xaf\x8a\xc7T\xcfi\xaag55\x86\xbe\xd6\x5c\xe3\x1b\ +\x87\xe7\xbc\x1b\x7f \x88\x0b\xb6*\x0cX\xd4\xa3Kt\ +\x8b\x01K\xdc\xfb\x8d5\xe9\x1c\xb0\x00\x9d\xef\xed\xc0\xd6\ +\x11\xadt\xde(\xb9\xdf\x0e\x87_u\x0b|\xe3C,\ +\x86%Z\xe8d\xb7\x9a\xeeV\x88\xe4\x9a\xa9\xa8U\xe5\ +\xcb\xb4\x9e{\xa8Gh*\x8eL\x16\xe5\xbdk\x0fB\ +~I\xa53\x96FL\x11J\x85\xb6\x8b\xabT\xe6\x05\ +\xc6\xb5\x85o\x95+~\xc1\x87X,\ +\xb4\x1f\xd7q\x7f\x93u\x99\xb3Xr\x8d\x12\x08\xf9#\ +*\x9d\xe1g>d\xca\xa3Y\xfdz>3\x98\x11v\ +\xd9\xc3\xd51\xc8b\xfe\xb4\x03\x1bM\xccN\x04\xcf\x19\ +|\x12K\xdd\xb2\xf1\x9c\xf7\x81\xcc\x19\x07A\xcf\xa4w\ +\xbbx\xa5ak3`\x12\xd1CH{%\xf9\x94\x8b\ +\xf9\x93\xbbi>U\xb3;\xb7\x07\xbeU\x9d\xf1\x8d\x0f\ +\xb1L\x05\x84\xfc\xb7*\x9d1s\x8f\xe9\xf8\xd3\x13F\ +\xce\xb8\xb9`\xf9\x94\x0c\x83\xfe\x93\xafM1\x9eu|\ +\x8e\xf9\x81#\x0f76\xdb\x83F\xb3^\xe1^\xf5T\ +\xe19\x97/u\xc4&\x13\x83\xb5\x0f%\xd6\x893\xba\ +\x07$\xa8o3F\x9f\x15\x83\x90\xde\xaf\xa5\xda\xb5\x11\ +\xd3w\x9c\x84o\xd5<\x10\xf2g\xaatF\xf3G\xf6\ +\xed3\xe4[-zm\x94;k\xf6\xa6\x01m\xef\xf4\ +\xd7l\xf6\x1c\xee\xe7\xfc\x1f\xfaX\x06l\x1e1\xee\x06\ +\xfcR<\x8d_T\xb5\xcb\x9c\x87\x0d\x1e\xe3\xe7\xbe\xc4\ +P\xbb\x1c\xedi\x1b-\xfb\xe9v\x0d\xee<\xc08Y\ +\x7fi\xb7\xc9\x8bu\x87/`\xbeU\xaa \xe4\xcfV\ +\xe9\x0cg\x87\xe13\xef\xc2\xcb\xdb)k\xab\x85\xaf\xbf\ +\x91\xc1yX\x06,\x7f\x18\xb4jr\xde\x92~\xf9\x98\ +a\x7fL\xf7\xf9\xd7\xc1\xa76\xa1]\xee\x8a\xc6\x11\x0b\ +:u\xb9\xa2\xad\x80\xab\x82\x82\xb63\xdaOo\x0fB\ +\xbe\x17\x9b6F\x89]\xe7r\xf8\x03*\x9daxh\ +\xf1\xc8\x13\x98\xbe\xf9\xc8\x86Kw\x0d\xeex\x0eUA\ +OW\xa57\xdbG(W\xb8\x08\xbb\xfa4\x9e\xfa\x1a\ +\x85\xf7\x16\xb0\xe7\xbc\xfe\xe7,4\xf5\x18\x8f. \xe4\ +{y\xb8\xb0\x86\xf6\x1b\xb0l\xa1\x15<\x87Oo:\ +\xabo\xe4\x01\x1d\xe14\x97\xc3w\xaatf*\xef\xa4\ +*)\x9d\x9a.|\x8f\xa2\x07\xd3F=\xf9\xa8\x8cZ\ +\x95.\xb0\xf23\x1a\xbd\x03\xce\x91\xfd\xd4\xca8\x03!\ +\xdf\xebE.Z\xa6\x07\xc1\xd9\xd7\x9d\x95\xb9:\x89b\ +b\xfc`\x13\xea\x0aK\x93u\xb6\xdd\x84\x22.\xc6\x1f\ +P\xe9\x0c\xdbmF\xd3\xaecs\xb4/\x9e\xf3\xd6\xa8\ +U\xe9\x22\xc8\x81\x90\xef%rO\x13C\x86\xf3z\xec\ +Z&\xa6\xee\xf6\xd2\xde\xd3}\xae\xc1x\xef\x98\x09j\ +\xa7\xd3\xa1q R\x93\x09\xd1o%\xf8\x83*\x9d\xa1\ +_\xb4b`\x02F\xaf\xb7b\xcf\xb92\x08\xf9^\xf6\ +\x1b\xd0a\xf1J\x98\xf4_n8\xb8\xd9\x117\xb7\xba\xc0\ +7a\xbb\xba\x7f\x9b%\xdb\x87\x08\x1e\x09\x22\xc8|y\ +\x0c\x83\x82H\xc4\xc4o\xd79\xef\xb2\x09\x07\xbd]\xb1\ +=r;r\x82\xb6\xe0T\x88\xdb\xe0t\x98.\x9d\xcc\ +8\x17@\xc8\x9f\x89\x97)\x08\x9f\x1f\xa2\xc3no\xec\ +\xde\xe04z\xb5\xb9\xef\xec\x06\xa7S\xd1\xf2@\x18t\ +\x946\xba1\xd4\xe2\x5c\x10\xdf=\x08\xdd\xd3\xbb\xa1w\ +\xfb\x00\xda\xe5\x84\xa3_F\x0c\xda<,\xc6\xe0\xfd\x01\ +J\xef;,u\xb5\x80K\xbc\x02\x08\xf9_\x18.\x80\ +nk\xa7\xf4\xd6\x82W\x91\xbc\xfc#.p.aO\ +\xb2\xe1\x94\xe0\x81\xecnf\x8bg\x8b\x0f\xbdR3\xb1\ +B\xb7\x91\x8b\xbb\xf5\xee\xb2\xc2\xba\x05\xe6\xcfl\xc5\xde\ +q%\xd4\xd1r\x82\xbc\x98\x99\x0eR\x0cL\xd3Q:\ +\xb7\x17\x0b\xc2\xdc\xe4\x12\xe6\xdb\xaf\x1b\xce\xcer9\x10\ +R\x97\xedZ9ML\x1a\xd5\x11\xef\xb8\x12~E\xa2\ +\x1fZ\xf9\xb8\xc3n\x93#\xcel\xb0C\xd6\xe6\xf5C\ +\xb7j\xacZ?\x0egk\xb48\x97\x08\xf7\xb30\xf6\ +\xfc.d\xeepn\xb6\xcfv}\x83sk7 0\ +`+\x8b\xf6r\x12\x95-^\xa0\xedg\x10\x9c?\x82\ +%\x96\xd7\x7f\x9b\x8b\xf6q\x9e0\x1bm\x22\xccw\xda\ +T\x7f\xb9\xb3\x93(}\x9d=n\xcc\xb3\x90_\xc4\xa6\ +O\xd6\x00\xf9\xa1\xb4\xedn4\xc5\xe9\xb7M\x84\x0f\x5c\ +\x82\x7f\xb2\xc7\xfb\xd4\xd8\x16)fI\xa5\xd8\xeb\xe2\x84\ +\x9f\xfa\x8f\xd6tAv^\x0b\xd1;.B\x1d\xfc\x9d\ + .\xcd@\xdf\xbd\x81\x88\xf0r\x81\xbf\x8f\x17f\x9c\ +H\xc4\x8a\xe3q\xd8k\xb7bp\x1a\xa2\xde\x0e\x82\x0c\ +\xe7*\xecs)\xfa\x1e\x0a\xc7\xc2\x82\x18\x8c\xce\x0a\xc3\ +\xd4]\x01\x18\xff\xf8\x10\x96\xa7\xfa \xcbx\x9d\xbdm\ +\x9b\xe2\xea\xc6\xef\xf2\xa1w%\x0d\x8bsB\x11\x1e\xe2\ +\x85\x88-\xce\x98\xe3\xe0(\xc8\x81\xfcpw\xb5\xa1:\ +a\xddE;\x84?Y\xc2>sy\xfc\x93}:\x0e\ +\xe9\xcemHus\x81U\xc9nD$lQ\x8a\x81\ +\xe5\x8a\x11\xec\x1dWD\x1d_o\xb2zO\x8ea\x81\ +\xad\x19\x02\xd4'\xa3C\xaf\x95L\xc1\xc3\x85\xa9\x1dK\ +A\xa4\xb3\x1dn\xcdrI_\x09\xbfW\x8dP\x8bs\ +e\xf6\xf0\x90 \x11\xcd\xd4\x15\x9fLSQ\xbc\x91\x85\ +\xf1\xfb\x82T\xf6\xf7_\xb4l\x8e\xfc\x95Or\xfc\x91\ +:\xe3\x0f\x99rQ\x08yU\xf5Q\x87\x81qr\x0b-\xf3\x9cU\x22\ +\xcbC\xc7\xb1\xeeX\x1e\x82.\xaedV\xb9\xf5\xf0O\ +\xa3;Z^\x9e\x85\x9d\xab'\xce\xe5\x22\xd4\xe2\x5c\x10\ +\xdd\xcf\xc0\xa6\xfd~\x0a\xbb\xb1p\xae\x11\xdeq%\xd4\ +QU\xc8\x94\xca\x8e\xc0\xd6c}\xa3\xc2\x8e\xcb\x0d{\ +\xcb\xdb-\x91\x14'\xa3\xc9\x91\x04Dlq\xc4\x03+\ +\xd7p\x07\xf8\xbdh\xce?\x88\x84\xb2\xa3hvr\x17\ +\xba\xee\xdc.\xc8\x81\xfc\xa5\x8e+\xa0Q\x1f\xd3}k\ +\xb0\xe3\xeed\x96Q\xa9\x8cZO\xda0%\xfb\x89\xe1\ +\xc3{\xce\xdd;w\xcd\xec\x94\xc9Xu>\x0eOy\ +\x7f\xfc\x93lq\xc6\x14\xdb\xf5\xd81c\xb1\xe0\xbe\xd4\ +\xdeq\x1c\xc2\x1f6A-\xce\x15\xd8\xc3\xfd\xe8S\xba\ +[(\xc2\x90N+\xf1\x8e\xab\xa1\x0e\xceE\xa2\x9bi\ +\x88\x0dq\xee\x11\xddn\x91\xd1\xa8\x8d>\xa3tRC\ +\xb10p\x1b\xdc#|\xe0\x9d\xe81\xdf\x1b~/\xb4\ +A\xfeVy\x22\x91\x98\xad/\xae\x0f\xff\xfb\xc3Q\xce\ +\x1b\xe1\x17\x1cVo\xd5\xa6\xfd\xe6k\xa9\xc8z1Z\ +\xa8\xe1\x12\xfc\x9d\xf8-A\xee|\x0a\x06\xa7\xf8#g\ +\xab3;\xbc\xd5\x1d\x1b\xb2\xc3a\xbfc\xf3\x08k\x04\ +\xdd\xd5D\x1d\x9cC|\x7f/\xb2\xbdlU|\xe1\xe1\ +\xd5\x9d\xbd\xe7r\x901v\x5c/\x9c\xa9L\x96\xdc\xd9\ +\x8b\xf9\xc7\x22\x90\xbfe\xa3J\x82\xabS\xfd\x13V\xb6\ +\xd8?h\x01\x86\xaf\xdc\xc5T@\xfe~\xa6\xd9\x83`\ +\x9d\xbb\x0d\xd6yW\x99\xf7\xfd\xb38\xf5\xbe\x9d\x22\xe7\ +\x0c\xdfX\xdedD\xebVng\x9d\x10\xf7z\xa5\xc0\ +\xb9\x80?\x88\xc5\x95\xa9\x0f72\xd5\xd21\xdd\xb5\x0a\ +\xff\xab\xb2\xd3h\x5c\x10\x89\xc0\x85\xcbY\x8c\xfc4\xf5\ +n\x0b\x9c\x05\x95S\xa9L\x11\xbf\x80s\x91\xf0 \x13\ +\x16GC\xc4\xe90\x99:}\xc8\x9e\xd8\xe6\xbe>h\ +fb:\xb0}\xf7{_T^\x9fc\x8a\x9fn\xa2\ +\xff\xc1`l\xf0u\xc7(\x90\xbf\x9d\xf8q\x8d\x00\x99\ +\xbb\xdah\xdccF\xfaj5\x8b\x83\xd3\xfa\xf6\xb7\xd5\ +W\xf7\xbd\xe1\x83\xa4\xf2\x89J\x9c3\xd4\xc1\x1f\xa8\xb0\ +\x0d\x8bgibj\xe0R\xa4U\xfb\xa9r\xceTF\ +\xacb\x98v\xa21.\xbd\xd1f\x95\x5c\x1e\xbf\xc4*\ +W\x1bV\xb9s\xe1x:\x0a\xd1/\x1c\xfb{:*\ +\xf4\xee\xbb\xb6\x11\xfeW\x1foa`\x8a7\x8e\x9b\xba\ +x/gY\xefU\xf0\x1b8\xaf\xc7\x9e\x1dF\xabG\ +\x998l\xb6D\x5c`\xb5\xb1\xbf\x9d\xe3&I\xf4\xa8\ +\xa9p\xd3\x8a\xce\xd6\x11\xdf\xe2\xa2\xcf\xb7\x94\x18\xc8\x0f\ +#\x1c\xf9,\xc1\xef\x99\xbf\xb71V\x16,\xc4\x8e{\ +\x1eH{5\x92Up\xd5\xbbM%\x02d\xf8S\xb1\ +`1\xcf\xba=\xac\x0f\xda#\xf7\x93\x19~\x01\xbf\x09\ +\xc5\xee\xbd\xb6/F\xd8\x03?$\xbc4\x84\xef\xa1\xc6\ +XY4\x0b\x91\x0f\xa6\xe1>o\x84Z\x82U\xae<\ +\xacr\xc7\xc3*\xd7\x0fV\xb9G`\x95\xeb\x02\xeb\xbc\ +1\x88x\xd5@\x12[!\xf4\x96\x9b(\xe0\x7f\xc1\xb9\ +\x22+;\x80e9;T\x0e\xf7X0g\x0e{\xca\ +\xe5\xf0;8\x97c\x95\x850:\x1e\x83\xe0\xd8\xed8\ +\xe0\xbc\x19+\x17/g\x0d@~\xa8\xc9\xc3\x9c\x1a\xc2\ +\xea\xf8F\x1c\xf9l+\x1c\xfd,\xc17\xba\xec\xb8\xab\ +\xd08\xe8\xbe\x8ev\x7f\xaf\xae\x98\x9d\xec*Z\x96\xed\ +\xa4h\x99\xe7\x0e\xaf\x9b\xbbP\xce\xf5P\xebC\x8e\x1a\ +\xab\x88\x85F\xe31\xfb\xfdp\xa2|!{\xc6U\xf0\ +\x0d~\x8f\xc9\x99L\xb1\xeb\xad\xb5\x22g#\xd6\x9f\x8a\ +\xc2\xaa\xfccX_\xbc\x0d^w\xfa\xc9\xdf\xe7\xc2#\ +\xdb\x11\xf2\xaaC\xe2gc\xc5\xa1|X\xe5\xfa\xc3:\ +w\x06l\xf2\x9a\xc2&O\x83\xd9\xe4)\xe0\xcf\xc2\xb9\ +D\xb8u\x00}\xce\xc5)<\xc6h\xfd5\xb8\xf3U\ +I\xf1\xd8G\x06\x99\xa3\xbbE\xe2\xac \x8crr\xb2\ +\x9b\x855\xc9\xcdQ\x07\x7f\xc7\x14\xae\x1e`\x1a \x7f\ +\x09\xce\xc5l\x81Z\xdf\x0e\x8d\x96\xe7\x87!\xf6\x89\x03\ +N}\xd1F\x1d\xeb\xd8@\x95\xf1\x8e\xf9\x0b\xc4\xfew\ +\xc3\x95\xac\x8fY!\xea\xfe\xcc^\xb6q\x9a\xb1\xea\x86\ +z\x9a\xd6\x97\x8e\xa0\xb4\xc2@\xa8\xe2\xf2\xa8u{8\ +4\x8d\xcc\x0b7#\xea\xc1:Tp\x0du\xc7\xd3b\ +\x04\xbdTS\xe4\x9cA\x86?Ve!k\xc6\xcaY\ +\xb5\x9a\xd2R\x98\x924\x16\x96\xb9\xcdPG\xa5=\xea\ +M4\x8c\xee\x85\xc5\xfb\xdb\xc3&O\x8b\xd9\xe4)+\ +\xac\xce\x13\xf0#p\x0e\x85\x9b{\xb0/\xc0\xa1A\xda\ +p\xe7\x10\xd3.\x9b|\xbb\x0c\xb3Pk\x96\x11\x83\xfe\ +Q^\xf0\xb6\xb7\x9b>\x0f\x07+TA\xfe6\x9c\xd7\ +c\xc6\xba\xc3\x1btZ\x90\xd6\x93y\x94j\xd4\xe7\x9c\ +\xa1\x8e\xd4\xf8\xa1\xa2\xae\xa2\x19F\x82\xdb\xf9L\x04^\ +_\xc6\x8a*\xebC&\x0a][\xf6\xdaT\xe2\x87\xd8\ +g\xe6\xac\x86\xcb\xa3\xd6\x8e\x9e\xddU'\xaeH3\x85\ +\xf7\x9d\xbd\xeclEo\xad\x05\xb1\xcd\x11\xfdz\x06\x0a\ +\xca\x15\xf1\x1d\xb8\x93\x02\x0b]\xec/\x16\xcd\xc9\x14\xe1\ +G\xe3\x5c\xc2^\x1e\xc6\xd8\xe2]\x88\x88q\xd7\xb8\xb2\ +\xdaF\x08\xda\xe2,\x8a\xdf\xec\x88'f6\xf0\x92\x1b\ +\xa2\xd2Z%\xed\x11\x03\xf9{Y\xe7\xb6\x80\xcd\x113\ +D\xbd\x88F\xde{u\xd4\xc1\xaf3\xc9\x88\xfev\xa3\ +\xe1x&\x04io\x8c%\xb7\xb8\x00\x99\x85\xbd\x8d\x1a\ +\xb5]\x95a\x81\xf87\xfe\x8cs\x01\xb58g\xccR\ +N\xbf\x97\xf6\xca\x93\xe1X_\x10\x06\xdb\xe3E\xd8q\ +\xd7\x9c%\xbd\xd5\xc0?\xd1\xe7G\x82\xa4\xf2&\xda\xdc\ +?\x8c\xc9\x07\xc3\xb1%\xd8\x13\x16nR\xb4\x00\xf9\xdb\ +Y*\xe8k54\xcf\xd9\xa2d\x9d{\xb2\xe1\xd2\x8c\ +\x08\x04\xdf\x0d\xc2\xfe\x8f\x83Q\xc7\xc7TA\xe2:\xd7\ +\xbf/V\x1c\xf3\xc3\x95\x9f&\xa2\x16/\x85\x9cv\x13\ +\x87\x85Hy\xbb\x1d\xb9\x9f\x9a\xa2\x8e3\x86M\x94g\ +\xf4\xdf\xaa\x87\x99\xc9\x83\x98\xf5\x11e\xfc\xff\xe0\xd3\x15\ +A\x1e\xe4\x1f\x83s\x05\xb6\xb2\x95~\x83^\xf3\x93:\ +\xf1G\x82x\xe5\x9c\xed}\xb1\xe6\x84+\xce\x7f\x1d\x8f\ +o<2@3\x9deg\x92q\xf2\xcddV\xc1\x95\ + \xf3!\x09J\x93G\xc7\xce\x86\xffug\x94\xfe\xd4\ +\x13\x84\xfc(\x15\xdb\xe5\x85k\x16c\x9b\xab,:\x9d\ +\x86\xeb\x95c\x84J.\x8f:\xa2\xe5u\x9b\x0e\xd8x\ +\xde\x1dQO\xd7\xb0O\x5c\x012e+\x98\x82\xf7\x8c\ +]\xc3\xb1\xae$\x14e\xbc\x0d\xfeb\xe9\x9b\xd0\x1f\xe4\ +\xdf#M\xb1m\xb3^\x8e%\xdb\x11\xfbl\x09\xe3\x5c\ +\x1eu\x98\x0d7\xd4\xd0]\x16\xbf\x08q\xaf\xa3\xc0\xb9\ +\x80Z\xf7\xd4\x99\x22\xfeJa\x1f\x9bA\xe6\xd3a\xa6\ +X\x16\x05\x17\x90\x7f\x8fE\x03\x0d\x1bu\xb2\xc9^\x81\ +\xb87\xdbq\xf6\x99\x22\xa6\xf8\xd5\xc7a\xdeF\xe9\xf0\ +W\xc6\x9fAN\xa7\xd5\xda\x99\x88}n\x85\xbdU\xea\ +\xf8\xc1\x1a\x0d7WC\x09W\x83LI\x82X\x94c\ +\x825=\xb5\xda\x5c\xc7\xe6+\xbb\xe0z\xb3m\x1a/\ +\x12\xce\xad\xc0\x16\x90\x7f\x0f\xce!nTo\xe1\x14\xe6\ +{7\x1b\xc1\xd7\xa6\xc1\xee\x84\x15b\x9e\xae\xc2\xc1O\ +-\xf8#\xb1h\xd2\x985\x0a\xf8\x0b|H\x86\xde\xa8\ +\x9e\xb3\x9d\xe4w\x9e\xeb+\xdc\xe7r\x9c3\xf1\x81y\ +\x08\xb0\xeb\xaf\xf0\x16\xc3\xb6<\xc6\xb2=\xce\x1e\xef\x1e\ +\xb4H\xb5\xafg\x06\xf2\xef\xc1\xb9 \x9a\xd4s\xa6n\ +\xa7\xf9{V`A\xe6N\xd8\x1e\xb7\x85\xf7\xb5v\xf8\ +\x0b}>\xc4T\xc3\x17\xc0\xd1p\xe8\xe6\xcb\xb0?<\ +A\xf4\x8c\x8b8\x97\x08\x87\x97cL\xcc\x04\xd1}Q\ +\xd3\x01\xb7;\xf4\xb0\xb8:0\xabj\xd9\x87<,\x03\ +\xf9w\xd9*hJ\xe6\x0d\xdc\xac\x86\xbf\xc9\xe5`\xe8\ +\x86\xce4\xca\xae?q\xe7A\xbc\xe4\xaa\xa8\xc59$\ +\xfbMpz\xc2\xd8)\x0f\xe6\xf7\x1c\x5c6eyv\ +~\x96\xad\xf3~\x90\x1f\xcfz\xadxXK\xd3\x05\x83\ +\x11\x1c^\x0f\xffb\xbcR\x95U\x1dB\xf7u}{\ +^\xd7\x0e\xbe\xb8\x8e\x15|\xa9\x8fZ\x9c\x0b\xa2\x03\xf3\ +!u5^\xf9\xdcf\xea\xc6\xc7!\xf3\xccOO\xec\ +o\xf1\x04\xe4\xc78\x1d\x876\x11\x9epr\x95\xe2\xae\ +\xddF\xa4\x9b\xad\x1ea\x84\xf9\xb6*\xf8\x97\xbb\xef\x86\ +eRc\xdb\x12\xc1\xec\x80\xad\x88s\x11jq.\xcf\ +\x8e\xacF\x9f\xa4\x99\xa3\x9f\xe8O\xdb\xf9\xf2j\xac\xfa\ +\x86q\x0d[=\x06\xf9\xf3\xf17P9\x9d\x08;\x7f\ +\x97\x06\xc9K\xec\xfbL\xf4\xdf\x01\xed\xa4\x90\x8e\x9a\x92\ +\x09+\x04\xfcE\x98U^Cl-\x9d\x89\x98\x97\x93\ +\x05\xceE\xf8\x07\xe0\x5c\x10\xef\xdb\x0cc\x871K\xef\ +\xc2\xf9\x99\x07\xbe\xc19\xc49spp\xeed\xffw\ +\x1b\xbc\xbd-\xa3\xe7 \x12\xe4\xcf\xf7\xe6(\xda\xdeL\ +\x15r'\x98v\xd8!\xde\x13\xab)\x95\x8a[\x0f7\ +\xc2\xc4\x16G\xcfw\x16^p9\xfc \x22\xab\x5c\x09\ +\xacr\xc7\xc2*w;\xacr\x0b`w\xca\x05\xd1\xaf\ +\x06\xe0\xef\xd2}\xc9$,?\xbd\x82q.\x82\x0c\x7f\ +\xa5\xc6\xf8S\x8c4\xed\xd6\xeaV\xab\xc0k\xde\xc8\xfb\ +\xa4\x8d:8\x17D\x07\x17\xc1j\xbb\xf1\xaa\x17r\xb3\ +v\xc5\x85\xc485\x06\xf9\xf3q\x0eqi\x12N\xb8\ +:\xb4\xces\x9469)\x95\xe2\xcdRs\xac\xd7s\ +\xda\xac\x8d\x1faBJ\x17X\xe5:\xc2*\xb7\x00V\ +\xb9;`\x9dk\x02\x9b\xbc\xe6\xb0\xc9\xd3`!\xcf\x14\ +\xf0\x17*vB\xc39\xbaX\xd7\x5c\x09\x8f\xbb6V\ +=\xd2n~\xc1\x02\xb6\xf4\x99\x02j}\xca\xc5\x08\xbf\ +%=\x0f\xe8\xda\x04\xa7\xa2\xe4K_\xd4\xc1\xb92;\ +&\x85N\xc6,\xbdG\x98\xb0\xab\x02\x99\x17\x1a\x80\xfc\ +\xb9N\xc5\xa2\xf7N/\xc4;I\xf1\xd5\xcf]\xa9l\ +\xd9*\x1d\xaf\x91;\xf4\x14\xed\xed\x99d\x98\xa9\x01\xc3\ +\x9fe\xcd\xb9\xf6(\xf9\xda\xa34\xc4\xbb\x91\xee\xb0\xb8\ +\xe50?\xb8\x08+\xf3\xba\xc0&O\x8b\xd9\xe4)\xcb\ +\xad\xce\x13\xf0\x17\xe1\x5c\x89\xa5L\x81\xf9\xb4%\x87\xd2\ +\xbd-\x1c\xa43\x0cL\x13Z\xcc\xdc6?Z\xbaU\ +;\xc8:]E~\xfe\x1b\x01\xb5j\x92\xd1\xea\xc2\xf6\ +v\xbez\xfd\xe6\xdeE\xde\xa7\x85\xf8\x06\xe7L|\xc0\ +\x14\x09\x96S\xbc\xdebq\xca2\x90\xff\x9d(\xf4\xa1\ +\x182\xbc\x92\xa9\x5c\xcb\xc5\xa4L?X\x1f\xde\x89\xa1\ +\x97\x12\xe4\xef\xc3h\xb8\x1d\xce\x14)ir\xce\xf0?\ +bV\xb9\x0d`\x95;\x1bV\xb9\xd1XU\x98\x89\xdd\ +\x8f\x8d\xfcN\xdfTY1;V\x99-\xde_Od\ +\x93'\xc6_D\xf0:!\x11\x9d\xe2b\xc8p\xce\xc4\ +i\xb3\xe1\xe42n\xd2c\xadn\x867\xb5g\x05\xf8\ +ciLC\xfc\x8a\xcf\x0501\x1f\xd6\xaeDo\xc3\ +\xe9]\xd8\xf2\xacW=\xce\x19jq.\x12\x0e-\xc5\ +\xec\xe0\xe9K\x130-\xd1\x00\xe4\xff\xc5+\xc5\xa2\x9c\ +\x00Lv\x91\x06,\x82\xe3\x85V\xf8\x05\xce\x9b\xd0\xd2\ +\xc2\x16s\xf5f\xe9\xcfP\xde\xb4\xaf+\xbb\xce\xebA\ +\x86s1;\x10$\x88^\xbf\x82\xdc\x8d=\xd8\x1b\xe6\ +\xd2#\x0a\xcb\x97\xf6\x14q.\xc2\x7f\xa1\x81Y\x96\x08\ +V\xb9\x86\xb0\xca\xdd\x06\xab\xdc\x02X\xe5\xba\xc3:w\ +\x1clNh\xc3\xebj}\xf3\x8a\xb7\x02\xfeB\x82b\ +\xd3)\xe80\xcf[~^\xe4Zl:5\x82\xbd\xe1\ +\xf2\x9c\xcb\x099\xeb\xd1+f\x82\xca{\xe8\x8c\xafB\ +\xf0\xd3Y\xa2\x83\xafE\xf8\x15\xfc\x19tb\xd7\x88\xdd\ +\xed\xa7H\xefbA\x8e?\xce~i\x8e:.'\xcb\ +\x0b \xbf\x8eWB\xa78\x0d\xfe;\xddLsa\x7f\ +~\x88\x98s\x06\x99\xb2\x225v;\x0bz1>\x88\ +\xf2pB\xd9\x16\x17\x84g\x07!Mj\x8d0\xb3-\ +;\x8d\x11\xf2\xba\x11jq.\x88n\xa5c\xd1\xf1\x88\ +\xe6'`h\xe1\x98\xef\ +\x87\xe4\xcbm\xd9\xc1\xbb\x8a\xf2\xaf\xb9\x00\xf2\xdbx%\ +Szs\x0f\xd3\xd3\xb7h\x94\xf7\xb5?5\x0f\xdb\xae\ +(B\x86s&:\x1e\x03;\xcfM\xf5\xb6\xc1\xa4Y\ +\xe7#\xbbE\xcd\xee\x9e\xc4\xc8\x93I\xf0\xd9.]\x92\ +\x05\xe7\xbb\x03Q\x8bsU\xf6\xb8\x10Z7R\xf0b\ +\xfc\x9caN\x08\x0d\xd6R\xe2\x9c\xe1\x0f\xb025\x14\ +\xf7k5_\x9dY\x1e\xd4d6y\xcar\xab\xf3\x04\ +\xfc\xc5\xf8cy\xa1\xd0[a\xe0\xb2^\xfa\xc7\x9a\x1a\ +m\xda\x8a\x89\xabZ\xc5\x99\xab\xb7y\xbc\x0d\xab,\x86\ +\x0c\xba\xa1\xe0\x94\x1e\x8e\x03\x9f\xbas.\x88\xf7.\xc4\ +J\xcf\xa9V\xe5\x98\x91\x92\xc88\x97\xe0w\x94g@\ +/\xc6\x04\xe1\xab\xc7Y\x17\xf7\x1b\xbfm?\xb3>\xb4\ +\x1c\xb7\xb8\x1a\xc8\xef\xbbx\x01\x06\xa9\xbe8\xe9\xe5\xe2\ +\xb6\x03\x1b/\xe8\xc6\xf3\x8b\xecu\x01\x86\xe5\x86w\xc8\ +\x98eie\xce\xb6\xae\x17K\xa50pwC\xa8\x8b\ +3^J7\xa9\xa7w\x90^\xd5\xad\xef\xc3\x19jq\ +\xce\xc47\xf7 2\xd1\xabK\x22\x16\xce\x1d$p.\ +\xc2\x1f\xd4Gi\x12\xc3_D,n\xac\x0e]\xd3Y\ +\xf0\xbe?\x92%\xdeD\ +\x99s\x86\xdf\xc0_\x8b\xc4\x9f2\xa0}\xc2\x15\xc6\xa1\ +\x0b\x87m\xd1\xeaa\xea\x82\xcb\xbc)\xc8/\xcb\x8fa\ +Z\xa1[a\xb1\xc1\x1e\xd9+7\x22\x22\xd2\x07\x87\xdc\ +6M<\x03\xfb\xf3\xa3^}X%)\xbb\x86!Y\ +\xdejo\xad6\xccJ\xdd,\x95\xbf$\x95\x22O*\ +\xc5:\xa9\x14z\xf6Rh-p\x8b\x95C\x1d\x9c\x8b\ +\x85[\x19\x98T\x1c\xd3\xf8\x1c\xa6\x8c[\x22p.\xc2\ +?\xd0\xe2\x01\x83\x06\xf7n\x88@U9\x85W3z\ +\x0d93i\x88\xedy\x91\xcdNo\xe4\xd4t\xf9\xb4\ +\x0fm3\xed\x1a\xc7\xe8\xf45y\x80\x81s\xcf\x01\xb8\ +\x01\xc0\x1f\x80\x11\x00m(\x8eQ\x15g\xdc\x17 \xc3\ +9\x93\xa4\xceB\x8a\xc5\x14\xcf\x0a\xccO\xb5\x108\x17\ +\xe1;\xbd\x8d@\x93\xf9\x03F\xca\x81\xfc\xb2\x8aB\xa6\ +y)\x0d\x1b\xfd\x9c\xb1w\xad=\x16\x1e\xd8\x05\xa3\xb3\ +\xfb\xe1\x97\xb4\x05o\x168dY\xc2\xa5D\xfd\xeb\x03\ +\xe5\xb1\x19\x81\xb8\xe0\xea0 \xdf|\xe3\x9ci\x9b\xdd\ +:5\x96J\xa1\x22\x95\x8a\xc4\xa9;\xd0@o\xe6h\ +]\xbc\xe5\xca\xa8\x83s&\xbe\x91\x02\x93\xd5V\x03\x95\ +\xf0\x0f\xc2_\x09\xe2\xd0\xe9\x98g6v\xf9\x89\xe1\x06\ +\x96G\x06M\xb0\xdb\x9a\x18\x11\xd0!\x7f\x03\xa6'Z\ +t\xdb\xd7\xb5\xdf\xd2\x87\xf0|\xe7\xf6:pp\xfdW\ +\x0eH\xeb\xa2\xde\xfe\x03,\xa4\xd1\xb0t\xee\x00UU\ +\x0d\xc6\x98\x82\xcbXAn\x9a\xe1\xb6\x81\x98\x9b\xddW\ +\xe0\x5c\xc4\xb9H\x94\xb1\x0cs\xfc\xa7.\xbc\x0e\xe3d\ +3E\xce\x19\x08!\x84\x10B\x08!\x84\x10B\x08!\ +\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\ +\x10B\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\x10\ +B\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\ +\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\x08\ +!\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\x08!\ +\x84\x10B\x08!\x84\x10B\x08!\x84\x10B\x08!\x84\ +\x10B\x08!\x84\x10B\x08!\xe4\x1b\xff\x07a\x85Q\ +)4\x8d+\xef\x00\x00\x00\x00IEND\xaeB`\ +\x82\ +\x00\x00/\x9e\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\xa8\x00\x00\x01w\x08\x03\x00\x00\x00\x06\x8a\xf0\xc8\ +\x00\x00\x0c\x15zTXtRaw prof\ +ile type exif\x00\x00x\ +\xda\xad\x98i\xb2$\xa9\x11\x84\xffs\x0a\x1d\x81\x1d\xe2\ +8,\x81\x99n\xa0\xe3\xeb\x0b2\xdf\xd6\xd3\xa3\x19\xc9\ +\xf4\xaa\xab\xa8\xce$!\x88\xc5\xdd\xa3\x9c\xfe\xeb\x9f\xc7\ +\xfd\x83\xbf\x14su\xb9\xb4^\xa5V\xcf_\x96,q\ +\xf0\xa5\xfb\xe7O\xeeg\xf0\xf9~\xde\xbf\xf1q/\xfc\ +\xbc\xeeZ{\xbfF\xc6\xc4\x98\x9e\x1bm\xbc\xf3\x07\xd7\ +\xcb\xd7\x03\x9f\xeb\xcc\x9f\xd7]\x7f\xef\xc4\xfe.\xf4\xde\ +\xf8X0\xd9\xce\x91/\xfb\xbb\x91\x5c\x8f\xcf\xf5\x90\xdf\ +\x85D\x9f/Uz\xfbn\xea\x8c\xcf\xb8\xde\x89\xd7\x94\ +\xf7\x9d\xda]\xfas\x11\xfb\xbf\xfb~!7\xbc\xb4\x0b\ +\xb3R\x8c\x9aB\xf2\xf7\xb3?\x16${\x874\x18\xf3\ +\xfd\x14\xe6\x85{%'q\x0c\xdc~-\xc1!?\x8e\ +\xf71z\xff\xddA?\x9c\xdc^\xcb\xdd\xaf\xde\xff\xfc\ +\xf6\x8b\xf3\xe3x\xaf\xa7_|Y?\x16\xaa\xbf\xbf\x11\ +\xca\xef\x9d\x7f]\xfcm\xe3\xf4~s\x5c\xfeq\xa3u\ +?\xffp\x9c\xf7}\xce\xee\xe7\xe8s\xba\x91+\x1e\xad\ +oFy\xf7\xe1\x1d{\x86\x89,\x92\xd3}\xac\xf2j\ +\xbc\x0b\xdf\xdb}\x09\xaf\xee\x87_\x04g\xfb\xc5\x86\x93\ +\xef\x12\x22Q9.\xe4\xb0\xc3\x08'\xe8\x1dWX\x98\ +\x98\xa3F\xbc\x18c\x5cD\xc2\xae\xf5\xd4\xa2\xc4\x95,\ +N\xd9^\xe1\xc4\x96$\xed\xd4\x09\xd6\x8a\xeaR\xe2r\ +\xfc\xb4%\xdc}\xe5\xee\xb7Bg\xe7\x1d\x98\x1a\x03\x8b\ +\x05\x1e\xf9\xd3\x97\xfbO7\xff\x9b\x97;g\x99\x8b\x82\ +\xef\x8f\x9f8\x11vE\xcb\x0e\xcc\xb0\xc8\xd9'\xb3\x08\ +H8o\xdc\xcau\xf0\xc7\xeb\x0d\xbf\xff\x96?\xb6H\ +f\x9a\xb9\xb9s\xc0\xe1\xe7\xb3\xc4,\xe1+\xb7\xd2\x8d\ +sb^a|\xaa\x22\xb8\xb6\xdf\x05p\x11{\x17\x8c\ +!\xeds\xf05\xa4\x12j\xc0\xc4\xd8B\xc0\x8f\x9d\x00\ +\x0d,\x8f)\xc7I\x04B)qcd\xcc)\xd5\xe8\ +Z\xec\xd1\xf6\xe6\x99\x16\xee\xdcXb\x8dv\x19l\x22\ +\x10%\xd5\xd4\x88\x8d\xa4A\xb0r.\xe4O\xcb\x9d\x1c\ +\x1a%\x95\x5cJ\xa9\xa5\x95\xee\x8a\x94QS\xcd\xb5\xd4\ +Z[5\x90\x1b-\xb5\xdcJ\xab\xad\xb5\xde\xa4\x8d\x9e\ +z\xee\xa5\xd7\xdez\xef\xd2\x87DI``\x91*M\ +\xba\x88\x8c\x11\xdd`\xa3\xc1Z\x83\xf9\x83+3\xce4\ +\xf3,\xb3\xce6\xfb\x949\x16\xe9\xb3\xf2*\xab\xae\xb6\ +\xfa\x925v\xdci\x03\x13\xbb\xee\xb6\xfb\x96=48\ +\x05)4k\xd1\xaaM\xbb\x8a\x8eC\xae\x9dt\xf2)\ +\xa7\x9ev\xfa\x913>\xa3\x16\xde\xb2\xfd\xf5\xf5_D\ +-\xbcQ\x8b7R6\xaf}F\x8d\xab\x86\xd9\xef\x12\ +\xc1\xe0\xa4X\xcc\x88X\xcc\x81\x887\x8b\x00\x09\x1d-\ +f\xbe\x87\x9c\xa3E\xceb\xe6%R\x14%bd\xb1\ +\xd8\xb8\x1d,b\x840k\x88\xe5\x84\xcf\xd8}E\xee\ +o\xc5\xcd\x95\xfe\xb7\xe2\x16\xff*r\xceB\xf7\xff\x88\ +\x9c#t\x7f\x8c\xdbo\xa2\xb6\x8d\xe7\xd6\x8d\xd8S\x85\ +\xe6S\x9f\xa8\xbeSj\xda\x11\x8b\x1a'\xed'\x8f*\ +*E1\xd0W\x8e>\x84\xfd\xea\x189\x86n3\xaa\ +\xac;\xc0\xb4\xd8\x89\xf9A%\x9fz\xc7R\xbbwu\ +\xa70\xc7N*}\xf3 \xfc\x87\xc9Qf\xd6;\x10\ +\x91`7d\xdc\x95v\xc2\xd01\xb3\x8f%d\xfe\xf9\ +@\xa9\xb2\xe2N\x8e\xd9w\xab\x8cM\xeas\xf1k\xd4\ +Y\x12\xae\xda;\xb2n\xbf[\xef\xd1\xb07\xaf\x01\x97\ +\x0c[\xf7Z\xb9\xc7\x1d\x0b\x17\xa7\xcb\xab\xea\xcc\x87\xb8\ +a\xef \xd3lE\xcc\xbc\x87\xdd\xa5\xf7{\x03\x8b\xda\ +;\x8eOs\x96\xd7\xee_\x9fdwO`~\x82v\ +c\xff\xf2\x0e''U\x92\x7f\x96]6\x144\xc3\xb6\ +m\x97=\xa3\xfb\x8e\x03M\xb09\x84c\x9bV\xae\x9b\ +\x0a\x050\x1e\x87\x92\x87\xaa\xb1d\xd8\x86\xccouO\ +\xd5\x84\x0b\xb0|\xc3 \x0d\x8cZvc\xcd\x88\x93\xaa\ +\xe2\x10\x97f\xd0\xb3B\x12%\xe0\x22\xfeH\x98qY\ +\x5c\xc8\x82\xbd\x96)\x00\xaf\x8aK\xe7N\x1cx\x1c\x9c\ +\xe2m\x1e\x0c\xc1\xb3\xd4C\xae\xa4\x88\x8b\x99k\x05\xb6\ +)a7c\x9e\xd3\x86\xd44K\x91S\x17\xb1\x86\x8a\ +\xac\x12\x17\xb9\x8fOr\x1b,iZcn\xc0\xf4l\ +!\x93g\x8d\xc9M\xf2Y\xa9\x90\xc5b\x95\xbcD\xc6\ +i\xc3\x97\xb5\x17\xb0T\xd7\x5c\xbbO\x0bZL\xc3\x7f\ +\xf8\xf3+\xef\x16\xf5\x12X\xb6:\x1c\xae\xf8\xaa\xe5\x9b\ +{w\x16\x93\xa3B\xb4\xd4\xd9\xca;H\xcb\xbc} \ +\x12M\xb1\xd4\xd7\x01iJ\xed\x91\xb2\xabg\xaf3C\ +\x8en\x9a\xce\xc9\xea\x1b\xa4\x19\xb6\xca\xdevT\xa9\xdb\ +R\x06\xcd\xb3\x00:\xf3\xfc\x9a\xa7u%-|\xc3W\ +E\xa85en'\xf7j\xdd\x1d\xa6mqI\xac\xa9\ +\xef\x95:qI\x9b\xfc\xcd\xfb\xd4*g\xedM\xf1\xed\ +Y\xb8w\xb6\xc69\xdb\xa8\x00\x95R~|#e8\ +\xb6\xe6\x89K\xc4\xb5\xa1\x0a\xfc\xd4]c\x1fKC\xd9\ +\xbda~;\xab\x8fQbf\x9fA\xa4\x05\xe9\xe1\xf7\ +\x5c2\x9b\xe2\xa2\xad\x96\x97\x8d;+\x9c\x1dg\xce.\ +\xa73\xb7\x04\x10|\xe3:\xa2\x0cx\xa0\x81)\x1bo\ +\xbb\xe6V'\x0b\xcc\xd4$\x85N\x0e-\xf1\x89\xf0\x80\ +f@\xc9\x0cd\x5c\xeek\x0b%\xc2\x9c\xd0rl~\ +\x81\x93\xcbt\xd6\x89\x85\x10\x02\x11\x12\x96\x1f;\x98\xfd\ +\xd5\xb3\xd0\x01DfKJ\xee>\x058;\x12\xa7\xd5\ +HA@\x90{\xfdZN\xdb\xf8\xf6\x8f\xf5Du\xb6\ +\xb9k_SY\x1b\xb6\x1d\xbd\xb6X\xa6q\x81\xba\x9e\ +\xe6\xa6\xaa\xb6*\x10\x07\xf9\xa6\xc44b\xb6\x06\x14\x90\ +='i\xe7X\x09j3\xfcM\xe0\x03\xa7\x95TN\ +\xd9Y\xaaV*\x89\x12hn-\x1c*\x12\x03Ao\ +>Q\x9e\x07\xd4\x1b:\x08s\x8e\xf9P/\x0dHZ\ +\x11d\x1es\x86\x99\xc4\x97\x8e}\x87\xc04\x04\xd9\xa6\ +.k*.\xc3\x0dq\x22\xd6Q\x13\x10\x05\xa9\x18/\ +\x01\x8d\x99\x8c_:\x9f\xd8\x18\x07\x11U/`\xf6\xc4\ +\xec\xb3\xa0i?)-\xddg\xe9!\xcb\x9c\xd4\xb65\ +\xe0\x04O2h\x1b\xc7`\x84\xa7 \xa0\xc4\xe1 \x0a\ +\x1a\x82q2\xeac\x83\xe4b\x01\xab/\xaa@\x15T\ +;\x08@Z\xba\x0e\xe0Q\x8fy\x92\xb2\x84R\xc8N\ +\xce$iIb\xcd\xf2\x22\x8f\xc1\xef\xcc\xf8u6b\ +\x83\xc7\x0c\x9d/\x8a\xd6\x17E\xdd\x85\xd17\x98\xc1_\ +\xb8\x04\x98\xf5\x19\x89\x02\xe6\x00\xdds\xe7v\x82\xe7\x18\ +\xdd\xd2\x13Wm\xc2\x85hJ\xd4\xacB\xb8\xcbyC\ +6[\xe8\x01{\x96\xc3n\xb2\xed\xd9\xf6\x13\xbcq`\ +}P\xfb;x_Ke\x19V\xba/\xb0,i\xa6\ +npF\x5c\x81}2vG\x8fMK\xb7%\x1b=\ +\x017+\xdd!p\xf6\x00)\xa5`uG:y\xa0\ +v\xc1\xb7\x8b=\xa6B\xd1aO1O\x22\xeb9\xdd\ + \xa1=\x8c\x09\x8d\x93\x86\x15\x7f\xf7\x85V6\xb1\xe7\ +\xeb\xa9\x0ak\x0f\x8e\xc6\x8a\xb3\xb9)f\xc4\x88\xd4\xa8\ +Q;)\xd1\xc1/\x0e\x0aT\x10\xd6^4\xcc\xda\x84\ +\x95\xc9\x9e%T\xc9`7\x164\x08l\xe4\xf4Y\x11\ +\xd4\xc5\xd9P\x1a5\x1c\x1b\x5cUq\xe9\x1a]\x07+\ +\x12\x1c\x7f\x0cy\x9a\x91\x82\x9f\xb3R\x8b\x98$8`\ +b\x13\xc9\x12\xf2n\x89\xec&\xc7\xd2q\xad\xda\x1d\x01\ +R\x11\x0c\x0d\xf5\x90LU\xe4\xdeC\xef\xa5Q\xf1\x89\ +l\x1dJ\x91\x810D#L\xf2]R\xdd\x08\xa4F\ +\x93c\xa8L\xa2T'VB\xf0`g\xc5!\x16\x04\ +(\xfd\x0et3Z.\x1e\xbfpLVZ\xdd?\x9c\ +\xce\xa5\x85R\x8e\xe4q\x9b\xec\x08\xf77\xfb\xd7\xdb(\xd7G\x1f\ +\xb3\xd8\x8f\x0e\xdc\x7fu\x98\xee\x8a\xc1o\x9d\xeb\xd3\x8a\ +\xff\xd2\xb9\xbe\x9eW\xb1\xe6\x80\x1a\x90\xbb\xab\x00;\xb8\ +\xc8X|\x0d\xf7\x19\x99\xdb\xb0>\x8d\xee\x9f\x1b\xf0#\ +\x96?\xf6w\xbf3\xa0~\x09\x89?3\xe0\xb5\xcf\x82\ +=o\xb3\xef\xbe\xa3\xac\xb7\x9eo_\xe5Q>[\xe5\ +\x97\xe1\xa8\xed\xfc\x88YS#\xcfhs\xcc\xfd\x80\x9e\ +w\xd6\xcf\x8c\x0f\xf7\xbe\xbf \xfc\x1d\xef?:\xf8k\ +o\xf7?l\xfe\xdb\xbd\xdd\xb7\xcdI\xfa+\xb3\x1e\xcf\ +_\xb7\xd8\xef(7U\xfe\xf2\xdc\xee/\xf6N?\xd3\ +\xee\x97s\x7f\xdb\xda}\xec\xfd\xfcj2\xef\xf2\x08\xef\ +\xaf\x9fZL\xfd\xff\xd4\xeaT\x96%\x0a61\xe5c\ +g\xf7nMs\xb5\xc5\xfd\x1b\xe0\x90\x8b\xb1\x5cC\xdc\ +\xfd\x00\x00\x01\x85iCCPICC pro\ +file\x00\x00x\x9c}\x91;H\xc3@\x1c\xc6\ +\xbf>\xa4>*\x0ev\x10q\xc8Pu\xb1 *\xe2\ +\xa8U(B\x85P+\xb4\xea`r\xe9\x0b\x9a4$\ +).\x8e\x82k\xc1\xc1\xc7b\xd5\xc1\xc5YW\x07W\ +A\x10|\x80\xb8\xb99)\xbaH\x89\xffK\x0a-b\ +\xbc\xe3\xb8\x1f\xdf\xfd\xbf\x8f\xbb\xff\x01\xfez\x99\xa9f\ +p\x1cP5\xcbH%\xe2B&\xbb*\x84^\x11D\ +\x17\xcdQ\xf4H\xcc\xd4\xe7D1\x09\xcf\xf1u\x0f\x1f\ +\xdf\xefb<\xcb\xbb\xee\xcf\xd1\xab\xe4L\x06\xf8\x04\xe2\ +Y\xa6\x1b\x16\xf1\x06\xf1\xf4\xa6\xa5s\xde'\x8e\xb0\xa2\ +\xa4\x10\x9f\x13\x8f\x19tA\xe2G\xae\xcb.\xbfq.\ +8\xec\xe7\x99\x11#\x9d\x9a'\x8e\x10\x0b\x856\x96\xdb\ +\x98\x15\x0d\x95x\x8a8\xaa\xa8\x1a\xe5\xfb3.+\x9c\ +\xb78\xab\xe5*k\xde\x93\xbf0\x9c\xd3V\x96\xb9N\ +k\x08\x09,b\x09\x22\x04\xc8\xa8\xa2\x842,\xc4h\ +\xd7H1\x91\xa2\xf3\xb8\x87\x7f\xd0\xf1\x8b\xe4\x92\xc9U\ +\x02#\xc7\x02*P!9~\xf0?\xf8\xdd[3?\ +9\xe1&\x85\xe3@\xc7\x8bm\x7f\x0c\x03\xa1]\xa0Q\ +\xb3\xed\xefc\xdbn\x9c\x00\x81g\xe0Jk\xf9+u\ +`\xe6\x93\xf4ZK\x8b\x1e\x01}\xdb\xc0\xc5uK\x93\ +\xf7\x80\xcb\x1d`\xe0I\x97\x0c\xc9\x91\x02\xb4\xfc\xf9<\ +\xf0~F\xdf\x94\x05\xfao\x81\xee5\xb7o\xcds\x9c\ +>\x00i\xeaU\xf2\x0688\x04F\x0a\x94\xbd\xee\xf1\ +\xee\xce\xf6\xbe\xfd[\xd3\xec\xdf\x0f \x96r\x86q\xc1\ +\xd9U\x00\x00\x02\xbbPLTE\x7f\x00\x00\xa3m\x93\ +\xa4u\xa1\xae\x96\xd0\xbb\xb2\xec\xcb\x9d\xa4\xd7\xcd\xed\xbb\ +\xbb\xfe\xcb\xcb\xfe\xd0\xce\xfe\xd2\xd2\xff\xc8\xc6\xfe\xc3\xc3\ +\xfe\xdc\xdb\xfe\xc0\xbe\xfe\xb8\xb6\xfe\xd8\xd7\xff\xb3\xb3\xfe\ +\xe2\xe2\xfe\xeb\xeb\xfe\xf3\xf3\xfe\xfc\xfb\xfe\xb0\xae\xfe\xf0\ +\xef\xfd\xad\x80\xa3\xf9\xf7\xfb\xaa\x9b\xe0\xad\xac\xfe\xa4b\ +{\xbc{{\xbd\xb9\xf5\xbf\x80\x80\x911=\xa7PP\ +\xa9SS\xca\xc4\xf2\x95,,\x96@S\xcc\x9b\x9b\xcf\ +\xcb\xf7\xae\xa6\xf1\x9cSm\xdc\xb9\xb9\xe0\xdf\xff\x9cZ\ +{\xb5\xb0\xf4\xee\xe0\xe1\xb7pp\x9eAB\xf5\xec\xec\ +\xbb\x83\x8f\x8f !\xbe\xb1\xe4\xd5\xac\xac\xce\xa0\xa1\xbe\ +\xa8\xd3\xb2lr\xd7\xb0\xb0\xdd\xc2\xc8\xed\xe3\xeb\xa9v\ +\x99\x8b\x22,\xb6\xa9\xe4\x9dj\x98\x89\x13\x14\xb9ss\ +\xb9vx\xb9\x9f\xcc\x9fh\x90\xa3\x81\xbb\xbc\xa2\xcb\xbc\ +\xaa\xdb\x9c::\xa6q\x94\xc1\xbb\xf3\xa6\x88\xc2\xc4\x91\ +\x98\xc5\xba\xea\xc6\xba\xe5\xc6\xc0\xf4\x95Ji\xa8\x85\xb9\ +\x9601\xcb\xaa\xbd\xb5ll\xaa\x84\xb3\xcd\xa3\xaa\xb5\ +\xa0\xd5\x8b\x1a\x1b\xd0\xa2\xa2\xacZ[\xd1\xac\xb5\xac^\ +b\xac\x84\xad\xaddm\x97V}\x9833\xb6\x99\xc4\ +\xdf\xdb\xf7\x99FY\x9a=D\xe4\xcd\xd1\xe6\xd0\xd2\xe8\ +\xe6\xfb\xea\xd7\xd8\xaf``\xec\xda\xdb\xb3\x92\xbb\xaf\x8a\ +\xb5\x9bJ\x5c\xf1\xe3\xe3\xf3\xed\xf3\xb1cc\xb1\xa3\xe2\ +\xf7\xf0\xf0\xf8\xf3\xf3\x8c&2\xb3\x89\xab\xba\xaf\xe8\x8d\ +,;\xb6\x84\x9a\xac\x8a\xbb\xba\xb4\xf4\x89\x1a\x22\xa1P\ +\x5c\xcb\xc1\xec\xd9\xb3\xb3\x85\x10\x13\x95C\x5c\xc1\x83\x83\ +\xa3Ta\xc2\xb4\xe2\xb0\x9e\xdb\x99CR\xb1\x86\xa9\xc7\ +\xa8\xc0\xb1\x8b\xb3\xa3\x87\xc6\xb2\x9c\xd3\xa5LL\xa5h\ +\x84\xb4s|\xb4\xa1\xdb\xb4\xae\xf3\x9aLb\x94Eb\ +\xa6\x8e\xce\xd5\xb8\xc5\xd6\xc1\xd5\xb6x\x83\xa6\x8f\xd1\xd8\ +\xd3\xf5\xb6\x90\xb2\x9bWx\xd9\xc6\xda\xa7`p\xa7\x90\ +\xd1\x9bd\x91\xdd\xcf\xe2\x8d0D\x8e8R\xe1\xc4\xc4\ +\xb9\x8b\xa3\xe4\xcb\xcb\xa9\x8b\xc3\x8b'9\xe6\xe1\xf4\x9d\ +`\x85\x90.;\xea\xe4\xf2\xbb\x9a\xbe\x905I\x9fE\ +M\x96Id\xa1DD\xad\x90\xc7\xa1MV\xaer\x86\ +\x924C\xa3j\x8d\x91,4\xc0\x86\x8a\x83\x0a\x0b\x9f\ +Rf\xbc\x93\xac\xc4\x8b\x8b\xc3\x9c\xb0\x89\x16\x1a\xcf\xc2\ +\xe5\xe9\xd4\xd4\xb1\xa6\xe9\xb5\xab\xeb\xc9\x94\x94\xa1n\x98\ +\xae\x99\xd4\x9eXs\xd5\xbc\xcc\xbf\xa1\xc3\xae\xa9\xf5\x9b\ +Us\xafx\x92\xc1\xab\xd4\xc1\xb7\xec\x87\x19#\xb6\x9b\ +\xcb\xa4r\x9d\xaal\x83\xb7{\x87\xaar\x8d\xc4\xa9\xc9\ +\x92=S\xaa\x98\xdc\xb1\x92\xc1\xc7\x91\x92\xa4z\xab\xba\ +\x95\xb5\xe8\xda\xe3\xba\x9c\xc3\xca\xb1\xcc\xba\xab\xe2\x94;\ +L\x9a\x5c\x82\xae\x95\xcd\x959F\xa2Ym\xcf\xbb\xd7\ +\xb4\x85\xa1\x9dc\x8c\xbc\xa5\xd1\x99Om\xa6x\xa3\x91\ +$$\x9fo\xa1\x0a\xf45\x22\x00\x00\x00\x09pHY\ +s\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\ +\x00\x07tIME\x07\xe5\x04\x09\x091\x17H\x8ap\ +!\x00\x00\x1e\xc4IDATx\xda\xc5]\xcdO\x1b\ +Y\xb6\x9f\x00zec\xabJ\xb5)Ye\xe4\x0dz\ +\xa2Z\x8a7-\xa4\xcc\xc2c/H\xc5\x8a\x11\xd8^\ +Xl\x86.\xa17;\xb2)\xe9\xc1\x80\xd5HQ\xdb\ +\x8f\x09(M\x0dH\x1d\x11\xc5\x16\x081\xb2D\xa6\xc5\ +\xe4\xf5\xa2[oa\x0bZq\xc0\x93\xd0$F\x852\ +<\xa3n>\x22\xff\x19\xaf\xaa\x0c\x09\x1fe\xdf{n\ +]\xf2jaX\xfet\xcf=\xdf\xbfs\xee\xef:\xcf\ +>\xf7\x85\xcf\xe5v\xd9}\x9e\x0b\x9f\xd7\xeec\xaf|\ +\xcc\xb5\x8f\xbb\xf2\xf1\x1c\x7f\xf5\x13.|~\xc1\x7f\xfe\ +\xfd\xae\x13\x13\xa9\xe7\xcag\x03\xf3\x0aR\x86\xc1\x00j\ +\x83\xf3\x02T\xbf\x1f\x01\xd4\xeeD=.\x14R/\x8b\ +\x04\xca\xa0\x81^:R\xe4\x89\x22\x04o\xe2\xf4\xa0E\ +\x7f\x0d+\x87\x06\xda\x04\xe7'\xa0n7\xf2H\x81'\ +\xcab\x88\x9eC\x9c(\x02\xa8\x0b\xe3L1t\x09\xa9\ +M\xfcu\xa0W$\x7f]\xf4\xeeN\xe0\x81\xda\xc8\xfe\ +*J;\x9c\x97\xa1\xf2\xd7\xb5\xfe\xb2\xd2\xdb\x00E\x8a\ +\x1e\xad\xf5,R\x9b8\xe4\x89^\xb9\xa2\x02\xea\x8e\xa2\ +\xb5\x9e\xc8\x8c^A\xca_\xbf\xa4\x82\x80R&\x0c\xad\ +G\x22\xf5B\x95\xc9\xee\x92\xc2\xb4\x1em\x9fl\xcc\x13\ +\x0b\xf7L\xf6&\x1f\xdf\xe0\xbb0\x80\xa2\xef(\xfaH\ +yl\xebd\x0f\xd4\x85\xa3\xf54\x0c)\xcf\x81\x81\xba\ +\x81\xae\xc9kk\x9d\xbch_\xcf\xb4F\x8aq\xa2\x9d\ +@\xad\xf7\xc0\xd5\x9e\xe3\xd0Q\x89\x80\x02\xeaFFO\ +h\xa5\xbf\x1a=\xb1\x04w\xb4\x09\xcef\x06\x9f\xc41\ +]\x03\xca\x92\x85y(;\xda\x89PztD\xca^\ +\x05\xca:\x05j+z\x94\xb3\xc7\x88G\xd1'\xcap\ + \xb5GF\xf8X\x01)\x05\xcf\xe4T\xf48\xe6\xc9\ +\x83LE\xd0A\x89]\xca\xc4\xf3\x0e\x81\xe2H\xde\x0b\ +\xf6\xa0<\xe7&,u\ +\xe2\x0e\xba\x0a\xf5R\xdf\xe3Z\x0e\x8b\xa9A\xeeB\xbd\ +\x90Bn\xc7\xfd\xaaqA\xc7\x1f\xe9F\x22\x9f>\xaa\ +Y\xc6>\xfd\xe0\xebzQk\xcf\xfd?\xd4G\x9b\xdb\ +\xfb\x83\x89\xa4\xf9\xe7\xce\x7f\x18\x1a\xcf\xedm\xe5\x0c\xc7\ +T\xe2J]y\x1e\xbf#v\xc13\x81\xd4\x1e\x8b\xec\ +\xf8\x11i\xfaE\xddT\xf9\x83\x90\xa9F\xe1\x95\x88X\ +\xec7\xe4_\xb2%\xba\xf2\x8e\x1bb\x90;\x1ah\xd7\ +\xd7K\x17\x8e\xd4WW\xcd\x1bp\xd4f\x06\xce}\xf7\ +\xf3\xcf\xf5\x22%\x82\x96\x1b\x99\x85\xb6\x18\x14\x0a\x0c\xfd\ +\xbc\xf1`\x22|\xc1:\x0d}i\xca>\xd0\xb5`\xc1\ +\x0bg\x83\xd0\xca8D\xeb\xf1\x19\xb9\x95Pd=\xed\x8d\xfd\x94L\xa7\xd7\xbb\x94\x12\xdb;|X\ +Jw\x97\ +fX\xf6\xe0\xa7[\xa9\xda]\x15\xa3\xcf\xc4\xb5\xd6z\ +\xc1\xb9\x0b\xf5z\xfb\xbaR\x8c\x893\xfa8\x19\x1d\xed\ +\xda\x0cTB\xb5\xf5t\x80a\xc7M\x9b\x7f\xb2\x17\xc6\ +\x9a`\xe5Z\xfaz\xa26\xf85\xa0\x95\x91q\x13g\ +,\xb41\xce\xc6F\xf5`\xfc}m\x93\x0d\x04\x86V\ +\xd3\xe4\xa3\xb6h\xd1\x03H\x84\xd1\xd7\x1d^\x13);\ +\xbb\x915d\xdf;\x914~3\xff\xc8\xb2\x03\xa1\x0d\ +}]W\xd6\x03N\x18\xb9\xb4\xa2\xa7\xf8\xc8\xf7\x05\xdf\ +\xdd\x80\xc7\x93\xf1\xfd\xe1\x87-S\xf6\xb1\xdf\xf7\x1b@\ ++[\xed\x01o\xef\xc8\xd8\xad\xd5\x8e\x96\xe3\x96@\xa0\ +\x02\xca\xd77Ez\xa7\xed\xb0\xb77f\xfc\x93y\xdd\ +\x11{\xa9p\x86\x11\xf5\xe9a\xe3\x5cw\xef\x96\x0c\xd7\ +\x14\x00Q\xde\xc8\x02g4\xdb\xd1\x80\x1a\x9fn\x0b|\ +\xb2N\xd1\x90\xa9\xf7w\xbe{34>:\xf9\xac\xe4\ +%*\x8f\xdeLr\x17_)\xa4\xe3\xf1sk_Y\ +\xd4M\xbd\xbf\xf7\xf8\xcd\xe9\x87q\xf6j\xbe\xcc\xb0\x8e\ +I%DC-.\xcb\x1d\xbd\xdc\xd9\xa8\xa5\xf4\xc9\xb9\ +\x86\x05\xbdW0]g\xbc7Z\xc1,\x8f\xc2\x18\x10\ +\xb0\x99\xbb\xb8\xe7\x1c\xe6\xc0X\xd8\x1b\xbf\xb3\xe6\x0b\xf9\ +\xbe\xf9~\xd3\x02\xda\xeb[g\x01\x05R\x8esN\xc6\ +n\x22zO_\xdb\xc6H\xec\xec\x82fVf-\xf1\ +{\x062[z\x87eC\xf7\xf7X'\x93\x0d(\x86\ +\x96\xad\x1d\xb59R\xc3\x04\x85\xdeO\xefN\xc6\xba\xd7\ +R^\x97'\xde\x15>S\xa4\xf8\xda\x1b\x16\xcd\xd2a\ +)u\x97\xaf(\x93\x8d\xda\xaf};\xe2\xe9\xee\xbew\ +<\xe7y\xfbl3f\x9c\xe8\x90\x09\xd2\x1b\x8f\xf5n\ +\xa5X\xb2\x86\x18\x03\x9b\xbe\xc1,;\x0e~\xa7\x9b\xbf\ +]YO\xf7\xcb\x95=6\xb3\xa2\x1a@\xdf\xeb\xc9\x07\ +\x85\xe3\x03\xb2\xe1et/\x14\xad\xf5va\xdeV\xbd\ +b\x00\x9d\xd8\xf3\xb8\xba\xef\xfc\xd2^\xf9!m\x00\xbd\ +\xb7\x1f\x1a\x8ez=d\xc4\x02\x0c\x06\x04\x0f\xe1\x8f\x9e\ +#}\xf9\xe5k\x97\xe7dw\xdc\xfa\xdf7\xac\x1f4\ +\x94\x89\x9c\x97\xc9\x91F%M<\xd39\xd2\xa9\xef\xda\ +NB\x0f\xf7\xe2\x96\x99:\xd9y3\x0ea\xbc\xb1\x04\ +a^S\xce\x9b\xbd\xe8?\xf9\xd0\xa3\x7f\x1c\xbf\x8e\x9f\ +\xdb\xd1\x97\xc7\x1d Z&\xeb\xdc\x85\xb6R\xa6\x9e\x9e\ +\x0bvt\xfb\xbbI\xcfGW\xff2\xd5\xd1\xbaJ\xe6\ +\x85\x93J\x88G\xd9\xa6\x8e\xeeG\xbb?\x01\xed\xfe}\ +=~\xfe\x7fe:\x15\x83\x01e\x91\xf6\x9e\x83g\xa1\ +&\xd2\xc1\xfdG\xfb\xf7\xf6W2\x17\x5c\xe8b\xe8\xe0\ +\xec\xbf\x81\xe1\xa7\x07^\x87+\x0b\xd0\xe4\xbc&J\x7f\ +\x09\xe8\xd4\xda\xca\xda\xfeVf\xea\xbb\xbe\x0b@3_\ +F\xcf$\xbf\xddW\x01\x92\xb1I\xe8\x8e\xa8\x09\xb1\x9e\ +nW\xe7\xd4O;\xf1\xc1g\x95\x9e\x95\xc5\x01\xc2\x1e\ +#t\xb4\x01\x9f>\xda\x00\xea\xde>\xda]I\ +Z\xd9\xa2\xe5fOE\x8b@\xba\xd0\xa5\xd4\xf5\xda\x0c\ +\xf1p aP\xc20\x88\xf2C\xb1\xbe\xe0O\x9a\x1c\ +R\xf5\x83\xde\xf0\xa0j=\xb2\xfc\x5c\x06l\xcb\xbc\x99\ +=J\x17\xb1j\xf9\xaa\xd6\x9e\x88\xe4\x0e\xf3\x0b\x86\x1d\ +=L\x88\x8d\xb0\xa4,\xe5\xdaj\x84\x8b\x00\x80,\x9d\ +\x16\xd1\x93X=;\xcb\xaa\xa8u|\xc8\xe7\xe6j\xf9\ +\xbc\x98\xa8\x9aN\xe9\xae.\x9e\xe7\xa1e\x91\xd8\x85b\ +\xad\xd0B\x9e)\xaf\xfd)\x124y\x99\xfaR-\x1f\ +Q\xd5g\x11i^>\x95\x15\x13\xa8P\x0dED\xe7\ +,\x1d:1\x09\xcf\xbf)\x18G\xaa\xa5\xf2Uq\xfd\ +\xbf\x8f\xcb\x8f\x94\xfe\xbc\xac+Jc\xc0\xa1X\xcb\x7f\ +\xe4\xba\x12s\xf3<\x84\xc3\x22W\x81\x1e\x9e\xca<\xaf\ +.\xcd\x08|0u\xba\xd0\xab+\xf5z\xb1\xb0t\xec\ +o \x9d\x91sd]\x11\x87\x01\xfe5\xa8\xb9Hd\ +\xe9X\xe2W\x13&\xf3-\xdbU\xe7\xd4\xe5D\xbd\xbc\ +\x1eY\xf0\x9f\x05\xa4Rk\xea0\x95e\x15\xe8\xa0$\ +\xd8\xa6\xc8r\xa1\x90\xe3\xdb\xcdc\xe5\x83\x0f\xe5`\xb0\ +mY/;e@P\xe08\x7f\x02i\xb2K\xda\x13\ +z\x89\xcf\xfeU\xe7\x83\xffn\x1ck\xd9:\xd7\xa2j\ +_\xces z\x0f\xdc\xd5g\xcf\x8fr\xa1v\xdc\xcf\ +\xa7\xf7\x12E\xe3\x96\xde>.\xf2ICmf\xf2\x91\ +2N\xd9\x91\xc6\x9e\x92\xd6'\x1a8~h\x92\x08\xb9\ +\xecjJo\xbf\xbf,r\xa9D\xd10\xf8\xc9\xa7\xab\ +\xbc\xd6\xfeA\xa9\xcdh-v\xd4Pe\xe4\xb6\xa88\ +\x9b$\xad\xc0dD5.\xa9\xb63\xafh\xdc\xf8\xb1\ +.\x1d\xde\x969^\xe8\x7f^7\xbd\x92d\x97\x86\xfa\ +\x9d3\xc9\xec\x97\xe949\xd2\x8e\x0f\x16\x05\x8a)\xf6\ +\x9b':\x9cX\xe0\xb8\xf4^M,\x85\x1e.\xa8b\ +\xbdP\x97\x88w@\x10*}3\xd1w\x84^qL\ +pUY\x9a7e\x9f\xed\xd2M\xea\xf0\xd2fp\xae\ +\xa0\xd4\x96d\x952\x03\x02N\x1d6\x90\xaa\x0d\xa6\x8e\ +/\xa1V6\xea\x9b\xb3\x8f\xeb&i\xf8\xf1\xbc\xc6q\ +\x1d\x1bz\x91+\xb6?)\x93\x94\xc6\xf1\x81z\xd1\x86\ +\xd4\x9ci\xe9]\xaek\xa6\xba\x1f*I6\x90f\x02\ +\xf7M\x88\x5cR1e\xbf~\xaa\xdad\xa1\xc85J\ +Pm\xf2bewi\xfd\xd5!3\x94\xcf\x96\xfe\xae\ +['\xbbW3\xa9\xae\xeaN\xc1\xb4Q*\xfe\xd8z\ +\xd3\x16#\xb5\xf5\xed\xe1o\x14n\xf4\xcf\xc7\xe1c]\ +\xb3\xe6\x06vM\x88\xdc\xadW\x1a9\xb1\xc0\xf9\x0e\xef\ +\xeb\x03\x03a\x8e\xf9\x90P\xd7^)\xba^\xb7(z\ +\xdc\x87\x84In.\x06\x9b\xb7o\xf8\x1b%\x11^\x80\ +\xdaq\x18l\xe0\x0c\xeb\xcb\x85\xd5\xd2\xd0n\xfdP\xd1\ +\xe7\xf5\xa5\x067\xf3\xb0\xb0\xca\x11\x0d\xae\xd3\x9dl0\ +\xf9D\x8f\x97T#b\x0e\xcc\xae'W\xa3\xa9D2\ +0\xba\xb4\x9a\xd8\xfcA\x99?l\x18\xfe\xf0\x8d\xef{\ +\xf2`F\xf8\x0f\x92&Ck\xdc\xf7p\xa3\x83\x0d\xfc\ +5R\xea\xbd{\x5cX\x1f\xeaZ\xd6\x9b\xb4\xeb9\xb0\ +2\x01G\x1b\x9a\x06%\x9b)S\xf6\xa3\xefL\x0b\x9a\ +*\x1c\x06F\xde\xbdJ\x06\x1e\xfc\xb3\xe1\x9b\x18\xa7\xe4\ +\x170u\xb8IP\xa2\xea\x7fK<7e?\xb4\x9b\ +2\xech\xf8k\x9d\x09\x9c\xfem5\xddQ\xb2\xdf\x9b\ +\x87\xbd*\xb5\x19\x03\x82\xacT\xe2\x8d}\xe8\x1f\x1f\xfa\ +AO\x1b:5\xad\x98GX(\x14\x99\xbdT\x89\xde\ +nG\xf2\xediCg4\x98\xc0\xec\x5c\xda\xb2I\x95\ +G\x8a)\xfb\x91SS\xf6\xab\xaf\xb2\xe4\x9b\x15\xa8\x06\ +\xce\x95\xe7\xcfK\x16)w\xa9P\xd3\x19\xeb\x92\xf6\x9d\ +f\x8d\x7f\xa2[:\xc72\xe9\xb4\xa3\x86\xbd \xd0\xd8\ +:\x1c\x9b\x9c\x0cx\xa3\x8f\x97\xd7Yo\xc7pj\xfc\ +`lY\xb5\x90\x1e\x84L\xd9\x07\x16k\xccg\xe0\xe6\ +\xe1\x8c\x83\xf7\xfd\x9cXe{\xbb\x94\x02\xe3\xbd\x93\x1a\ +\xf7\x8e\xb7-\xa5,.n`\xf4\xa1fM6\x90\xad\ +\x9c\xa6M\x1d\xf6x;B\xcf_\x85\xe3_\xbc9\x0d\ +\x1b\xa6\xbe#\xd9\xb6\xf7H)Y\xb2?\xb9=\x87\xfb\ +\x02\x8aSZ&^\xedi\xf1\xd5;}\xb6\xed\xcd\xae\ +\xa1N\xb1I}\xdc{\xe7a\xd6\x22\xba\x06\x02\xf4\xf7\ +\xccC\xc2\xbck\x97\xf4dW\xf9p\xfc&9\xfd=\ +\xe3\xedS\x86\xbc\x15}Y\xd7\x80\xdb\xe88\x8ew\x16\ +8c-\x00\x89\x1d\x9d\x9e$\xde\xa9/k\xb3\xec\xe8\ +m\xfd`Uo\x9f\x0c\x00\x89\xaep\x1e\xbe\x1b\x5c\x81\ +0\x8etT\x99\xdd\xbf}\x98\xd9\xd2\xd9\x8e\xd0\xd3\xa5\ +\x8d0\x8d\xce\x9d\xbdy*7k\x88\xe1-\xc9\x8dn\ +\xa5\x02\x156>\xfd0\xed\x8dE\x03,\x95\x1d5\xf6\ +\x99H\x19\xb8F\xa9\xf7u4~\xe1Hc\xd3\xcb&\ +\xc7\xb9\xef\xcd\x01v%\x97A6\x1bl\xed\x93\x08\xd9\ +\xe8\x1a?\xd9\xd9\x1d\x1d\xa9\x5c\xf4\xa0#\x85C\xc3\x81\ +\xc6p\xcb\x8e\x1c\x98\x91{\x8e\xb4\x0a\xf1\xf5\x99\xb1\x93\ +x<~\xc9\xd1\xf7nM:\xe1\xbc\xf1H\x0a\xc49\ +\xd0\x22\xa6\x1d\xcdd\xe2\x1e\xd7vW4\xde\xdb\x1b\xab\ +x/`\x8d9\xdd:\x8c\xf9\xee\x91\x8a\xe3\x99\x06\x16\ +\x7f\xf5\xade\x5c\x9e\xc1\xa3\x89\xaeG\xd3]\x8b\xbd\xb8\ +\x8bRY\x92'P\xec\x0d\xa9\x84\xb1\xac\xa2{zm\ +`j\xd0dB\x0dD+\xd1\xcc\xe0WC\xcd'X\ +)/\xf8C\x11]?B\xf5t\x1b?o}QO\ +|\xc0\xb8\x9c\x0d\x03\x95\x09\x1d8x;\xf0\xda\x84\x18\ +\x87\xe0j\xb4\x00\xda}\x8e3:\x1d\xea\xab\x18\xf7s\ +b\xcc7\xb6\xb8;\x1as\xc5\xa3\xd1\xe8\xe8\xe3\xbd\x18\ +\xf6B|\x96\xc4\x8c\xf2Xd\xec\xa9\xb5\xae\xd1\x06\xd1\ +u`\xf1\xe8\xfd\xfb\x89\xe1\xb8\xcb5\xb8vr\xe7\xde\ +\xcb\xa3Y\xcf\xe0=\x03o\x85d\xc0\x1e\xcb\x83\x0aj\ +\x11{\xfa\xe6_;\x8bG\x16]\xc78\xc8G\x19\x8f\ +k\xad\xab\xd7\xd3`\xe8d&\xfa\x0ct1\xd8\x12\x08\ +\xd8\x8b\x1dAQ\xe4\xf92\x1e\xc7\xb9\xbb\xa7'st\ +b\x01\x9d\x8awo\xfb\xb6\xb6L\x22\xf6@%\x9e\x19\ +\x9b\x8e\xa1\xb2;\xbc.\xb8]D\xaa5\x90\x8aU\xb5\ +\x7f\xb5\x8c\xcd\xc3\xffr\xb4\xdb\x92\xbdg\xfb}\xa6\xe7\ +\xed\x8b\x98\xab{ltw\xb7\xaf\xfb\x86^\x97\xe0\xf8\ +r\x7fc\xab\x8a\xda/\x8b\x12\xfa\x85\x81\x8f\xca\xf4r\ +,c\x01\xdd6\xc5\xbe\xf6,\xeaqug\x06\xb0K\ +:\xd0\xcd\xfd\xc6\x89\x96\x17\xac\xbb)\xe6\xc4\x05\xbb\xda\ +\x93T\xbd\xb2\xeak\xea\xde\xfb\x01\x93\xa658\xd1g\ +Y\xfc\xfd\xfdLwfql?N\x93Y`O*\ +9\x13\xbdT\xd5\xae\xda\xd1ruF\xae^\xdc\xf2\xd6\ +9\xb5\xfflq\xed\xa5\xc5'[Y\x9c2\x8ft{\ +kql\xf7N\xdc\x01\xb1\x00\x83;l\xa2\xac\xf6?\ +9\x03*\x16/k}\xb9*?\x11\xcb\x97\xb6\xbc\xb9\ +_N\x0f\xf6\x9c\xb1\x08\xdf\xaeD]=q#\x08Y\ +\xec\x8b\x03;\x8c^h\xdc\xccq\xdaBN\x14\x1b\x85\ +|\xad*]\xa0\xba\x16E\xd1/\x95\xcbW\xeeh\xf7\ +\xd6\xc9G\xaf4\xb5\x12\x8a\x8e\x8c\xc4\x09H\x84\xd0\xb8\ +\xb9X\x0c6D~\xb6\xe6-'\x96\x85\xa2\xb5\x9eH\ +\xaa\xca3\xd5\xb2\x8d2\xfd6\xb1\xfd\xc9\x7f\xfe\xf6\xd3\ +\xb3\xb1\x01x[\x84e\xb1\xde\xe6R\xf9\x8fg\xb9\x9a\ +\xb3\xf4=\xd8\x7f\x06\xb4h\xe8SU2i:\xfdU\ +\xa9\xec\xb73OS\xdf\xdd\xb3\x0es\xc0\x14\x7fO7\ +!\x89\xb0\xe9\xa2\x92\x0b@\x8b\x0b\x8d&CIT\x8b\ +A\xd5Z\xfc\xa2m\x9e\xb7\x9a\xa4j\xd1\xbc\x9ab\xb1\ +\x5cnR{rO\x98wtjm\xbb\xe7F:b\ +\x17\xec\xbdvV\xc0\xcfV\x8d\x7f4\xd1l\xdbjb\ +\x95\x0fJ\x17S\x11\x7fs\x83\xff\xdbO[\xa3k\xbb\ +\xbe\x01\xfc\xfd\x1f$O\x07ZG\xda\xd8\xa5\xa2\x8a%\ +\x8e\x0bf\xad\xb3T\xabb\xbf(\xb4\x5c\xfd\xf2)g\ +\x9az\xbb\xb2\x9fqLtE=z\x15\xcc\xcar\xd5\ +:\xd2R\xbbyW\x1bB\xd7\x8a\xa2\x84;\xc5\x88\xce\ +\x96iP \xb8`Q+nZ\xda\xa4\xad\x9a\x7f\xb2\ +\x22\xf8)\x04\x0a\xcf\x09\xe1\xc5N\xc1\xfe\x06P\xd1\xea\ +8U[F\xf8\x92,_K\x97\x81\x0f\x8b`6m\ +m\x806\x10\x9a\xd7\xd3\xfc\xd5Z\xe6\x22\xeb\xff\xac\x95\ +\xcd\xad\xc3J\xa2Y\x8b\x91Vw\xd9\xc6\xd7\x07\xb3\x0d\ +m\xaa\xda.(\xfa\x18\x93T#\x86\xf5O&\x12O\ +\xfc\xe5\x5c}F\x22\xe7=\x91\x11r\xcdo\xb3\xaa\x15\ +\xa5\xc6\xd2D\xfb\x84I2i\x99\xfa\xf3|NX\x98\ +W\xea~\xbf>#\x95\x9b)\x13\xce.\x1d\x22\xfbd\ +\xde\xcb\xcd\xfe\x9c\xd6\x8a6\xbe\x10\x11\x8d\x13M$\x0a\ +Bv\xfei\xa1h\xc8\xbe\x1ai=\xbb\x0c_\xf8\x84\ +E\xd0\xba\xb8\xa8\xc6&\xb7\xd3t\x8b\xf1v[\x99\xef\ +\xdf\xafGL\xdax\xb5.\x133 \x9aY\xa7t\x07\ +\xec\x09V\x9b4T{%Z\xdc\xe1Zm\xa3\x90\xcf\ +=\x8b\xf8\xfd\x1bu\x09\xb4\xf9\x05\xcd\xd0\x1a\x0a=\x1e\ +\x0a\x806\x01\xd8\xdc\xd1\xf6H\xce\xe2\xb7?\xcb\xef\xbd\ +{'\xdd/\x88Z\xfd\x22#\x97\x06\x89\xf0^\xe8u\ +:\xd0J\xf6A\x0d\xa3\x88_-X'*\xdc-l\ +\xd6k\xe2zM\x0eV\xef\x9e:*\x8d_\xfd\x02c\ +\xc3\x01v\x9ci\x864\x98\xed\x17\xb5\xd6\x05\x08\xc9\x08\ +\xf1\x85b\xa2\x01\xb4?/\x1b\xb1\x9e\xf4s\xc1\xef/\ +\x8a\xe4\xc4\x02\xbb,t\xc27\xfd\xe3p\xda\x16fZ\ +]\xef\xdf,\xa5\xb9V\xdc\xe1\x5c~9gh\x93z\ +Kn\xb8\xa5g\xc7\xa6\xb3o\x93%h\xfb\xc6\xd5Z\ +\xf0\xb1\x91\x1f\xff\xee\x1b\xb7W\xfb\xc0a{\xd8Z\x97\ +\xd9\xb4\x0f.\xe6\xb2\xfa\x8cf\x86P\xd2\x03\xa5a\xf3\ +\xdf\x1c\x9b\x1c\xfc2\xd0\xd7\xa3\x89\x05'\x8f^\x7f\xb7\ +nS|*m&53\x12=\x0b\xf3\x9a\x00M\x16\ +\x14\xb9\x11B\x09\xb3\xaf\xaaV\xdc\x9c\x8bT\xc9\xda\xe0\ +\xae\xabf\xb42~\xb6`\xe1\xe0 f\x99\xd1\xa3G\ +\xe3W|\xa8q1W\xb3A\xaeUAGzR5\ +\x92;\xf5\xbf\x96\xcfKO\x92\x1cY\xc0\xa5\x13a\xd1\ +\x1dc\xfb+\x01K\xe4\xbf\x86\xa6\x1fX\x0bUN&\ +\xe6.\x09>\xad&\xcd\x8b\xd9\xaaRR\xcd\xcfG\x14\ +\x93Fx\x5c\x13\xcfC\x92b\xe8T\xf4\xe3\xd5G\xf1\ +\xa6Z\xa2_uX\x22\x8f\xc6\xa2\x8b\x8b&\xe6\xc0\xb7\ +\xeb\x97\xcdS\xf0\x22J;\xa4ZD\x97\x8a\x93\x8a\x91\ +;\xad>\xed\xff\x18\x94\xa8\xf5\xbc,R\xea\x85Z\xcd\ +\xfa\xdd\xc3\x80\xb72\xf6:\x16\x1b\xd9\xd9\x09\x98\x9ei\ +q:\x8c]r.j\x86\xe4S\x11\xd18\xd4\xbf\xc9\ +\xc6\x0d\xf8\xba\xf0\x89\xf0&-\xe8\xf2\xa5\xd0\x190+\ +r\xedH\x0f\x1e\x0c\xfb&\xd2\xde\xccW\xeb\xbe_\x87\ +\x87\xacK\xcaF\xb7f\xf1\xc8\xd8\xda\x8c\xa2\xd47\xb9\ +`\xaaV7W\xf3\x9b\x15\x88\x8dZ\xf5B8*I\ +M\xcb\x8e\x97\x169#\xd5>~\xb2;z2\xf6u\ +\x98\xcd\xec\xbc0\x8e\x94\xf56\x90\x8e\xa4q\x80f\xe5\ +\x88\x9e=\xfcAQ\x83\xc3\xff\xac\x8b\xe5 _6\x14\ +\xfe\xf0\xe9\x02\x16\x03\x02\xa9\xf5\x97\xa1\xc6w\xf6\x02l\ +\xe5h/0\xb08q\xe0ec\xf7\x86p\xcb\xb8\x86\ +\xc87\x97\xe7\x8d\xf8~\xe8]\xae\xbc\xfeT\x97\x04M\ +\x94\xcd\xc3\x94\xe8\xb0t\xae\x1c\xea\xb6/ln\xf6\xdb\ +2e\xef{=\xf4(4\x17\xc0[O4\x9b\x10\xb9\ +\xf4\xf7u#Y\x1e\x7fS/\x16SJ\xbe_V\x22\ +EDvwQ\xeb;A\xf3L\x99\xad!C\xd6\x99\ +gs\xac7::\xbd\xbbW\xc1HE:\x0e\x0d\xa0\ +\x07\xa79-\xad\xe7\xdb\x8d\x18\x7f\xf8\x15\xcf\x07\x93m\ +J\xbdJH\xcbtat\x97\xe3\xbf\xdf3\x97\x0f\xee\ +$\x8d\xdfX\x0c/\x0f\xfd\x900\x04\xde\xa1G\x8a\xdc\ +\xdc\xbcn(\xd4\xdd\xbc\xf6Q\xe2M\x16N\x0b(\x83\ +\x8f>\xd25\xdf\xeb\xf1\x8e\x91G\xbf\x04\xb0R\x91l\ +\xb2=\xcd\x1c\x16d\x8eI\x0f=\xafr\xe9\xdb\xf9\x5c\ +v\xb5\xb6\xca\xf3\x98\xfd\x1b\x07\xdc\xbc\x81\xfd\x1d\xdf\xaf\ +\x0f*1\x8c\xdaS\xb0\x7f\xfeXO\x16\x99\x8e\x9dy\ +C\x99\xc6k\xb2\x96N\xfe\xb9\x96\x9f\x975\x02\xfe(\ +\xfc\xd5\xc8X\xb4\xaf\x82\x97\xdb\xcd\x1eg\xd3A\x93\xaa\ +\xa5+\x9b\x1cW\xbau\xacr\xe1\xff=[E\xead\ +\xcb\x1b\xa5J\xc9'\xb9\xdf\x9a/\x96\xb2j\xb8\xc4\xcc\ +u\xd5\xb5R2\xb2d\xc8\xfen^\x85\xbc`O\x5c\ +\x80\x00\xcd[N\x1e+\x89z~>\x1f\x0c\xf8\x96\x22\ +\xf5Zv\xd3HC\xd7\x95~\xc8\xce\x02\x087\x8f|\ +YE:\x9c\x0dg\xd5\xd1y\x95\x09O\xd6\xe4F\x85\ +D\xabU\x91\xfde?j;\x11\xe1[\xb1-\xbb\x22\ +\x5cz2\xaf\x1az\x05y}\x17#(A\xfbzP\ +\x13<}\xb8\xbe\xa9\xcf'\xd3\x18\x14R\x84\xafwc\ +D\xf8.r\xa4\xe1T\xa4\xd6\xaf\xe1\xf0\x1d\x91\x15\xe7\ +NpI\x07t\xa4\x1d\x1a\xde\x22\x80\xa6S- \xde\ +\x93\x0bXp&\x22\x16\xf0\x90U_XS-$O\ +\xb0B\xe9\x8e~\x81\x0a\xdb\x11>\xbc\x0c$\x11bp\ +\x9c\x89\x86ZX\x82\xe9e\x82U_\xd0\x99`\xc2\xfd\ +\x1f\x0c\x11\xef\x89\xee\xd3\x5c8\xbc'\x06Bq\x16l\ +\xf9\xa3\xce\x1f\xe2d\xbd`\x22Yk{\x8f\xd1gr\ +\xb9i\x1c)\xce\x1d\xe5\xc0+\x13a\xb2\xc7{:\x90\ +%X\xa8\xc2\x83\x80\x22\xc3\xa7&\xe7\xe9\x05\xd2\x1dy\ +\x02;\xda\x09]T\xe2\xe0%)L\xa4\x18k=\x09\ +\x87\xee\x90\x9c\x12\x06\x18<\xd1\x88G\xbd$\x16\x1f\xba\ +l\x9c\xe4q\x09\xf0\x04+\x16\x19\x9bk\x1d8\x93\xec\ +\xc3\xbf\xa2L\xa4\xaf\xefB.\xa9\x9fP\xeb\xc1\x0bU\ +\x90{\xf3\x90\xfbG\x05\x02\x83\xef\x81owt\xaa\xf5\ +8C\xd6$9\x13\xceF\x15\x8e\xa1k\xf0\x09\x07C\ +\xe1k\xd1\xc1\xa9\x08\x9d\xad?N\xf7M\xd3\x99\x06\x87\ +\x17 \x88\x1em\xa0P{\xc2XW\xe1|\x0b%\x22\ +\x1euSI\xee\xae\x99Q\x824\x14\xd6lp\xd3\xd9\ +=K\xb0\xba\x1f6\x0d\xee\xc2!>y(DO<\ +b\xa0\x09\x9d\x8a\x90\xedyc\xa1H\xed\x0a%\x93\x8b\x82\xaf\ +\x07R\xc9\xecN\xd4\xddIe&\x18\xd4\x10\xe3\x09:\ +w\xc8\xf7\xd6=\x1er\x22>(pFP5\x90\xbe\ +\xdeC\x940\xc3K:\x82\xe3\xe4\x0e\xc9\xd2\xc1Z\xa3\ +\x04{\xe3P\xb8\x99\xc9\x06\xac\xd5\x0a0^\xa6\xdf\xf1\ +\x98\x10Z\xed\x99\x9b);^~\xc5\x9c\x8c\x9cG\xe1\ +\x05V\xa1\x09R@<\xea\x81'Md\xe5<\x9e*\ +\x7f\x94\x98\xe8\x0a,>\x09\x8e\xa7\x18\xe9,\xa1$\x88\ +G\xdd4\x88\xf88\xef\xb2\xa1\xb6\x0e;\xee\xdcQy\ +*\x16g!>\x0f\x99\x0b%\xa2\x94\x5cw\xa1\x8e\x89\ +O~\x01\xe5\xeb\xc9H\x84\xf0\xe4\x8ed\x94\x0d8\xc1\ +\x8a\xe1B1*\x10\xa8:\xae@@\x22\xc4\xa0\xe4\xc2\ +\xdb7\x0e\x87\x03\x09\x89\xaepe\xc2\x1d\xb4u\xf0\xf6\ +\x0dF\x1a\x8aA\x1b\xe79\x87\xd1\x13\x11\x81\x94\xc4<\ +\x11\x88\x1e\xecB=$\xca\xc40\x0ei\x99\xf0\xdc\xce\ +\xe1\xfbq8OY79\xd1\xcfQvd\x1c\x0f\x0c\ +\x5c\x0d\xf0\xddD\xaf\xef\x82\x0b\xa4<\xe7\x90\x01Ag\ +\x80\x95\x84\xdfN\xdb<\xd9\xd7\x9eh\xb8P\x01E'\ +\xa2\xf1T\xac\xd7\xeb|`\x00\xd9\xb9\xfb,DW\x0e\ +yI\x9b\x0c/7\xd3zZ\x8f\x9d1\xb4J\xce\xe4\ +C-^\xb4\xe8\xb1x\x99\xce\x94\xc9EH'\xa2\xf0\ +\xba\x04\xba>\x8a\xbe\xa2.\xe7#\x18\xa4\xef\x8a8i\ +\xdf\xd0y\xc0\x9e$pvN,\x80\xe7\x22<\xee\xdc\ +\xba\x93\xf6\xcd\x0d\x19|\xdeq\x91\x8c\xc0>\xa1'\x06\ +H\xc6\xd6\xe9\xbf`OV\x1f\xe5\x1dV\xf3<\x8e\xb6\ +U\x90\xa5\x22\x84; \x5c.\xa7\xf1(N-\x8fw\ +\xac\xf5.\xb0\xab'*\x94\xc0x\xf8\x84\xec\x17/\x9c\ +\x8c\xcd\x81\xb3P\x0a\x1bU\xe0\x99\x08v\xeb\x0e\x90\x8a\ +\x80\xfb\xf5X\x93W\xb8\xb2o\xa6\xf5\x84\x0f\xc3#\xbb\ +\xb6PJ\x89\x9f\x84S\x82\x93\x8aP\xa0\x11\x22\xd9\x8e\ +@\x9cXS-\x18\x15g\x8e~\x98\xe7\xa2\x10=\xe1\ +\xc4\xa3<\x04(Q\xdc\xcc\xb2\xf0^(\xcf9#\x11\ +b\xf9z\x0fA\x8f\x91q\xcev\xa4\xb2P\x85\x06w\ +\xd8\xf9\xb6L\xf4\xfavh\x1a\xca\x13p\xf3p|\xbd\ +\xcbynG\xfa\x04+\xdd\xbc\x1e-z\x0eg\xad\x86\ +S\xad'(\x93\x91\xb0\x1d\x05P\xce\x84\xee.c\x14\ + (\x00%;Q\x17\x94\x92\xcb\x920 x\xe1\xc6\ +\x0d>\xce48\x0e\x81\x94w\xc8v\x84gwX\x95\ +\x12\xbc\xa7M!T\x0d\x97\x0bJ{b\x9d\xd7t\x9c\ +7\xc4nl\xdf\x13\xf2\xdde\x0a\xc4\x02\x96u^q\ +\x16xP^O\x85\xe3L$z\x01H\x22\xa4\xf3\xfa\ +\x0d\x09\xf9\x05\xe6\xeb\xb1\xcc\x93\x87FC\x8c\x83\x03u\ +\xdc\x07\xc7!\xe42\xb0\x02)\x19\x9d\xc8C\xa3\xf8\x04\ +\x8c\x9e\x04\x92\x8a\xf3g\x1a\xbc\x82\x18|\xac\xad\x1a4\ +^\x8d\xbc\x89\xc0\xd9\xe3\xa1Q\xd3\xc1\xd9\xa8\x02\xc9\xeb\ +\x89^@\xa1\xd2\xb4\x05\xa6\xcbT*\xce8u\x128\ +\xdb\x11\xc3\xd5;\x1f\xb0\xe70\x0a\x10\x020gr\xa3\ +\xad(\x19'\x17\xb4L\xc7/P0\xf8\xa4/\xf2A\ +H\x84\xfe\x9b\xd9D\x08\xee\xde\xa0W\xba\x12\xe5\xf5\xe0\ +f\x83\xd3\xdd\x8e\xe8E\xa9X[(\x09\xcby\xc0=\ +\xf3$<|\xf0::\xd6\xf9(\x1b\xd2\xd7\xdf\x10\x05\ +\x02'\xb7\xe3\xa9\xe7\xf5\x1e\xe7\xbc'\x82\x16\xa3\xbb\x93\ +~^O\xc6\x1a\xe7AZ\x7fS\xa2g\x08\x1bM\x0e\ +\x96\xa7\x11\xf2\xdb\xe9N1R\xda=K\xb4\x1f\x99\xa7\ +>iK\xa1}\x83\xbf\x99\x0a\xd2\x0b\xf5\x80\xb9y8\ +\xefp:\xed\xd7\xd3\xd9\xde\x8e\xa6\xe4\xf2\x98\xab\x00`\ +\xe3\x96\xc0\x89\x01\x06\x87?\x8a\xb9\xe1\x0f\x12\xe1\xbb>\ +\x0bA\x8b\x17\x84\xcf`G\xbd\x8es;\x0c\xcf\x04\xec\ +\xdaz\xbdD\x9d;\xf4\x8e\x5c\xfb\xc8\x19T\x1f\xc5\xf0\ +\xf5\xc0;\xcac/w\xfc?U\x97$z\x0e0%\ +\xb9\x00\x00\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x0a\ +\x04\xc8G\xe7\ +\x00b\ +\x00a\x00n\x00n\x00e\x00r\x00.\x00p\x00n\x00g\ +\x00\x0e\ +\x07\x04\x9f\x87\ +\x00b\ +\x00a\x00c\x00k\x00g\x00r\x00o\x00u\x00n\x00d\x00.\x00p\x00n\x00g\ +\x00\x0e\ +\x09\xbdo'\ +\x00w\ +\x00a\x00t\x00e\x00r\x00m\x00a\x00r\x00k\x001\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01z\xe7\xee'\x05\ +\x00\x00\x00,\x00\x00\x00\x00\x00\x01\x00\x00\x0fo\ +\x00\x00\x01z\xe7\xee'\x05\ +\x00\x00\x00N\x00\x00\x00\x00\x00\x01\x00\x00]\xa5\ +\x00\x00\x01z\xe7\xee'\x05\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/widgets/dialogs/classwizard/doc/classwizard.png b/examples/widgets/dialogs/classwizard/doc/classwizard.png new file mode 100644 index 0000000000000000000000000000000000000000..2245a89dbde2b114072330264ef4ac8fc31d7a3a GIT binary patch literal 32720 zcmZs?cQ{*r_&45G)vB!&F-q;#Y7uIbme_lbs8V~x-qcnjHbv3edley8B~`1a*t@a! zjy;~}=lgxG=XYJdKSFZO``qV!-{;=<>wHpI1rZa{5#G6Thgd=Wt>&FO_W;<>9sCE_ zBRw1SU$FlOAo2#T*z=!mKX=uWgW2xf2@F%Y6*HaqM(n9Ix^MW5O2SQBY~FDmLIp*&YvZBzB9A7Ra-5VM6JF@sxaC7kRlCe~fHLtcdDu!wIyy{v97#JXp|0Fd2 z3!ByTUW6?6t2&Sq5K1P4{|$ou^CT1@jb_IFO8im0&&VO2(Zg3$j^PgD8AK{?-GcKv7caLHF!oyNO(nx9d*R!VHpU_f zGJggUKGc4+#pI8qQI~{E;;|~zn?Ss==QqNSDh%t-J#V*8@Ste3;&wH;F|yw4Gu660 z7rh~WA{zpJH6IdAOn=REyXw;ee+gAK&c^U&`3Tws;?Lx7-}K?Ol^8j-Vs7k*ayxHu z%crkNUfPbVN#!GawgR8t^7#yC;)KCG{(Bx{SD%U{@66XFG#e@(VQzt=Mx|yPjoXG^ z>Ce2G{{i2Y3i=gGe`EFMt8~cCLOAAgI|r6PqzKAH4};M&jk{YpXs8O=hMFL6B=T8% z?`X9!(5jji4+g-tuPU$s+WCGwLV zTvgRby_gYW_o8yhQ1?Gt10imgEVbQoTLg&IYsPu}Hm=Rx8#90Nn>ft=O&vJqW?Zm1 zu%WHQ)DU)sf^X~nfM1ROlNp|WYiB*pU$GcF!OH$dxkW=_vro9V*H5UgPMbMd7_wRD zYupG}Xm4=d2RWh6Pq{ab%POYrL>#7$=r$L{e!zDPHybuTx^H2Az~>)rI=kOK)5OSO zcP&#>42F6f{BiSHWly89QO-D`o^IUUxY?OF4wv{^iz3(Q z|76y}Ukj$6GjHqfXOzUQvS9=hsdlup?t)h((2p(B-Ln6bylB(%!2N$HcQp!kRSt># zx;Bsd`eU@l?kuokKprHACEW4(`Rrp#q85Bl{TvaPq@&H%?9};@>gM9T&Bcb)k99a> z4uqS>#~$T}v$yI`=JeDQgu&>TIyrCGL+vP=NnlWu%*;hYhGxroO9nmC@dMucMVe9S z$sd$6aPQ_ApJVU!(ZFiA?a{bfgAtWky8@0HE%vuTHk{ifFm6( zF7(@0x!(%QiA!j}#ZNi0_mgo+)@7K+uUv0zSfq=ylc+pvJnp(j5=ifQuV|LX2KT29 z5LKW_7UlhSNE)>q1o|h}Jh!%X*xw9j22}rvO<_sO?@%N^y-yuQdFgf6pAjG zsBevJNw}tvwB0731Ry>aUqYyn8znF za(|zD@eU+x%-pI{N&a^>!ay}=q|iTTkTkKeZ#$EUW5M9Maksi`3qi7QiHNwKAajoI_u@K5 zHM25rrJOQ8rNtD$8+f&8YSQr>Tv<|+I%x!njZ+3{)+65+)A;zjni~ftdT%r-81#id zSe18o#9ozO_`-JU=^5IyU5SUD4iMedm_<46W;{JRWiBz|e4hhQ431S{M}DmeZrzN2M?}M5gT#nElAnIs7jE48u-mHD%cBwgOU93H-7s)@J#UVia$F#hP<&QrJv_0V_ zVte{UhYK0mm0D~N^p740YAIEp*Sq81V{zITh0dhSKZ{QkR(e*m@5@RNLj~DoGI2*(4{PCe50i5GN^0zcGF~ zyBm-kK@_oXrDpq*EJVvnGD_)ZS59^c>44uFCv78X*Uw>|F>_}uiC;nz!uMKL?bkN~ zhY<#Z)5>m6J0 z#KwcCLwSRDCNEb=nzS{!rEd1)T&@wYgN2sPZ$w>tMO{h?HU!T zB8yavA6#NY?NN~i5Z~GAcPLksJ=4wapCvk>xtmx1%bzg;@x1hn#3yV-1ha0!aE86XpO|XMIo7 z%*=n4#5vy#EpmK_VgsQ4w&zMwS3}ZjC4>8x_wRD?RH+Xl1AZgpNUKuEaS%h}6eQP< z@n0XmTrluHNGGs~Lp}$N?T*vG2ynT~jf?v(+GXU_zQ{@Ku`chPxzfL2!ZjFc=VQM< z?cO-Hm=R|e82%k7Lj`ptRTM<#lu$uKBB0$RXOv6P37&mH{bkGh-_&~hVZ!m#yVmSg zRmNk`FFwbr=U;s(Q>7fdz-g(0BXQH5S2=?2?`a;2Ox^*4N?p5B zTV(|RKE1`AReKhD`Fl%Kp1!XWX&qagU(-P=ymi`|PHaWn%$lOW_VvHZO(IlXlGqqX zj{@|uh6A3fuOE~FLU-l?lu&|1tWO%Dn)CK-FE@q_?O(H|iYqsS;xI|Qd>8+a@hk?@ zo{aZlW@%mV8RV6ulOc1>rllMl&Hu-`rsCa8*_NMVKxdQrEnCSHV(W z87N72Q|vc9jzhA({H7J(Nbn*o8F;1g7 zC>1^zNBpVhcS!Bc9(npT%Fq4gk46f@Ebwx~K%g%@PD-PzQ0!)%R4Vm3C3{(1;PqJ? z_s{ZOBjY3Z*3@@_Ytg4m0)c1I=jWHR%+ewA4#t=JuxSVBtm(mVc@984u{=l&jrH7% zp*Szb_Wx4@_g2$H+T$ZHHZmqPFKvFen*xBim;9s9%K3&j4@l^^2UYx}H$-e%JYPET zeP0#O%;E)JpC-VTll)yR#;=irZoh#F*jQjo=zGkdZi82Jk>K-Le31?Fe6D)#m5;IH z`I6Sz-lE!QrXq(D5W-~f_w*C#5&|~gbK3J_Ar92BuD9Bzp|gp@`&>a%N~T=u`ZS4+ zPp!lQ4js#U><9uL@1xDN;Y;7HL*AP%in=!kY_+ytl*#B_cqfodHu*YTiZ09yDu2%1 z34w_3$(vnH)YHSdH!zu$*`&5WAJWIa=ZPr@kD~*F@lSyqnz8ExdF|9tjLSe(Md0^q zE$;bzaZhYMG-Wi7k&`?r3FQDdG#@8hg#QX%JT2{Xxo#_4`rTq>v6|f~_;eX=f zi)oj&?wV7FO%bOg6(`5E!_*&Z)8R2bx&#r|fcHUgqKhWU%Tr2&%Z;ehlMvn3A`WF; zrZ+$z$xHpq2{zd(rTtgCzod5mU-JqT=6N2A;KI| zp62Q}T{G-CwAR4jR3r{dKm>7waD;J;7xwulKD3Z7P$0>(c5CrFoanE0(5FeqTz;?J zg?!LhJFl27u#3w^okA@SekaBCbTwP{fOZGcS|dn!o^;%17V#M}97=$;Rxb@%G4;(q z>uqx=&%b2e)$@xR0V5!0o#4SIfJP?Rpr5zd2gOdf{NlaX?z@h=$A9uP4Rs5lOhEg5 zY+e=zXJEPKEsp`H7df9rFeP8EP5+7sl%74d+#fh~C}!%o$vC|?= zv*xafv40}_U478`Wj0s?k+6Vuj!zl=j+`f3Pd*YhU9YPJCOWk@Tes3mR_$mZo;x(0 zdyT?XO6TsmlM|&<_lT?tbkENEmZ(zr#dzo%@2&D0mqG(=t|@e)@7@)?IHM_j^K^6^ zv~k}_{d3?qr#ERt7Izs0&xPG;IMLOT0XIurY(!p_e-8!PG+}BP!b<+oyJkl7K1Q;(w9H=!MhB&<&lv`8z=Vz1>|E39n!K7I@U?QGhVtMjL_c3L19DS z-V&kMJWtQVn(MCoF!R;6H>jd{bHTv%vRaQ(#mTcNd(qP=DsQL$hm-9#pOmx3H5k_p zBi(=B@!rg8-A9|=Mw;7FLMXj0>`lsumDm&@K|y?My=8?6RK%G0`>)1eXXjlL&N5-g zgp{$HA7l1Y?DP%W@%_`DJ(}k(3;R)oggz!mV{sy0ausq3Spe+ju~QP-vo z2|noG9pxS0{Hyix!$PE<-c|wsQ~P6o-{#y@B!qak8$(Bef!zEzw_O4J9*6&$1w9Jr zQ(5l+zK0=;AWysT{`aC=LjT)S2xE0cSNA>mcj_A?pOS%fpi2`x-zW!@NJQWGW;Xo>I{p(DG;qd<{)hP>1dx6;Rz+343w0L7G2M~2x z-u)`-#{A-Vhd6t-`BK9e@X*QOuxq7X@A|ke+&#U>&MFE&}SczFi0{(B0+_1pFp6N zk|To#Z`#8^bFNpIhe+%sKg` z?VaL*C0Oj_+~R%Q9TTtZ+N1qvHP5Uslmzpw=u1p@#hRwXcKiFAyICo9dwps6O}!oG zbCN}}y6H=fSJB7CJJ7TxZVSXFTx6QEwx9Qpy67B6 zEcFZx_AG?3rNlYuot-w2N^rtVOq43&g_TDgofj@)U%V@FMyft!ZI;q69XsOWL;i-K z4hju7#K%1{p5V20xnAft#M$z1;o6(Q8KwuA!Ur1CrQX4o4^PLFp~+e*>C2 ze734=XW1Rj#rdyx9Jt28{`Hp|8PtM)eO%ss`xgpq0LFGwfvRO#%R8)%;x~mOllfEp zzI32LVp|Bbo>;9)!CONldHWATnx94&y*yUEBe=(hIyl?{$9nVptey)E6b7%VE8#!b z$HdpVO!?Z|(2U+@CwgPDaGBoTii@`T``@Jb-1i-ikN8DRHO@Zo#tpqgpRakaSiy}aoDcaeSy=l*tFZs+0s9#z^ zPcPEU9XRRASBZ_u9+bjSf&QO3(8WfL()<%`;GP|;g8fl0+h^rnzZ;tmo{K!3_uT1A4rjS2NkvBkyl6qJR zI!+{4W`5_hMo7DH7!v+NwRV)(*pMTxGrCZCdXh_RvW`JIs*k|`dm#1|3>0i1gN8ZiUh^EZRl7Wm3~$RiW8)Rb^A-kTp;0CR0|O8?7SC^Nup zOLKp^0AT0qz(T)IyN7 z;ORbIfo!YcL0Oq?j|wSo>WLB$k(daHgR%FHAxxne6fSR8b+4(yo2aBJiqEKf!v8~Q zyxZz<|I)a;lfIy{c{GXUpCxviONi7uB=)M2!rRG1q>0glyM9yY0`$OW)s9ujxGIfNPhmqh^wXaCSj% z4`bO*n2T4Z{<^;&Wz)9-Ax)7Aknt zx!a&mNeFT^iy%yck;}*vE0ruA{Hc1z0tg62=JTg;7UWG$y~j2j5ee;FDbK{TgDK*e z-y*9Z_t_YlcmXlDp*alM?av*6b)^rl3B?fPBYRbxVmhS`b)vUX|G<|dLLsCbXp_wK z=ysw|t;BZJF!6PmtEsJpuX`1|J-IIU!|t0Iyd{jwX6Wq z@7Z&8%MQ|xu|iL>{$~dk2y(f7YyMqL0>NH0%{0Y{VY##LH`vWXjO=6S9T?wkhZ77D z5B%G1L_*)Ri?^)*pUrg@uE+h$Ln~j9*f|Rov}IG1z$Yh)OH1xb?p1C%`Y+%={zXtT zacR$8UZTR)zuXG_Zpd1dAcD)GMtb1yvk&D>J$e0UCr+FqbAHjX5+(lbd?o&i zd?`61kC|ng3+1H`YigV8HWn36)Z$ZdlPm%aAWn2f<~R0kl$g z`lXj`G(gl<;2_wz{`V4_ezh~8& zTeZSp*QbsvKDc>Gv7=S3uUD&JpGdA_cF|)0=q{?$r=Q-i>a069r(}Evdv+l1WI zzOLbA8d2OBYf~|tIm~Z4-e>D_WnZ|2bAZdWZuptzGU|=Wl!$*c-nxYd8#Uq z&N^*5(Jou{OFk-P!BuSlyZG9k=9&W4uml^k*9V%*>1FXQiS^8ehu z@Yqx@nRgEU?X}Q*$m!!6wb-5&)t7cD)z!!5auAzKuFWwcBoMGeR}Zs z`n)|nu#XBlLj`??;tB|5oyUechbUs-AfwL+=T+j052tc18sJm`z2mgZSAz+py_8{# znL1mb)0g zLwWSUik1=5gU+X zD`;3nA3JeGuIhW(X3q@Qsp|$fX60S-7#w=NXtMkDyvZW4-#EZhRjTOdCY1}IT=Mv( z%}8>GsdV=PEpDxXulw?oV2X>&J&UIAo%)kn8Jqx`Xpq7pJ89ohY{YU>bcxKs7`>H- zsg0OVnlZN&*RT&&Z=xPy!E`i7LAe_&#&Hys>hCRD07=dQvz!Pu8nH8RE1b2o8_lX! zwg;xey-GyvHi-j=3wqanb`kl=&tBUt$!tw1b+Q&nZ(4|UUp5ucKnc&f&!T}F* ztTx$H&y=?ve>l5L!CMXo>GqsW_%E+w6G0#U{B8{<02#=kRAa_oK5^ms5SC;5@NPtR-?TCRQn<`g`MPy`wF+XG3g3 z%Y0`l$ge=u=Wu@=<4#r#RvO~>)NAOG|FrX%*8d!s^-baR+cKky`3$U zUwT71Xz;`eyv_%k6*4#ubh^lyJ(zPb_f#TOuPX<*mU z#0#7z;EcYsZ2!IC8eu$d{>{%Aj5$l)V&G75iW}8P4rHSb7fP}-EFcuII-Y46ff)O& z(l)hD%6lJ*w;dN9O#NWjvjq^#Wgeb0yt(NpHL&j40XBk|o#@+)=Bw-a>!PnECO65Ap-QI#ssjnC#c`)~wUP@- z;}=RH0|Gt!FRL6Z5oXQ-AymS&kwl42PjTYn-DXnZE;YpbeP;=Xvtz+2LLOtz^-q`m^1 z%(L2%lYa9|M%%TgqP}NZEX{h#F9r{wFz8RUX7ih@@}#B_1TzejVR-vFnSl82h%%Fqp3Ya>GUP;wFkAfF`k- z!$V?Rj*dj1FDJFxPp!vw20exWkuG!(A z2QCg(ENA5ly#SIcam&h#t%G{SODWJMVAp7MZKkw9e;jBtYXzqYOg|NCzWU8CcJ)R4 z3TwSf7DLvOh1$VnBwAy`cm^+R{fu}Ck`HzzQ(Irfbz5z`H()QKK1vP`+Z@j4mmj$F z6WB`YG1*NB%5E;^kE#OTy zvP{${J1uAY*}H#jy!p*v6#ALA+v#S|L>NOM(?k(Urm3|C&=P`;?#jTctQ7l z+xKwLx9L1U;0yIp78s?p;rWF>VvEv93EFcs5W9TM#uPrrNOyE%yFdYZmO~kq_n@*+ zgsb5Fl+XFI2Z0q|;Ci|$6M+6qnI00_xkfGf_4IMRs)j`hVZZPuwz2u95He^r?61!S z?eY)rGRz4=!Amk(mh@#J^hI2!rABg3O&VMQ39fqD&;ES#BpIO*BA59+Jg?OL^RsBy z$lxJPR=~O@7k%`Af<{_|-?h`ILtg1{_yFnhXotgcsu*VJnB=5)0@s|!R-nMO$ga*MDW zwX5$(jeM}5=oa%;iN(_li%XwCO2n=#^|V^w0B_0#y=M|lT$RV^u5}yo;{Wovi{AFGilG|(OQK-HdqpZR>+}#@g!Qg^wJeY zq}(X-(T5}g_4M*3ylbKZ^EYC~!liIWiu&ucSLGVZko-^)r8I}M<3);JuctX;9@K0P zD*$JNYkVf!);%tgnAY*{KTgxEX~_Rk6dhf zLQs3z&jrutEDwJ0FqIHhO}p-K1EAAxNr50odx632x&ZdE=VcFOSlnMJC&Kuib4kGr z8Jp@eTigm=#+CavcjBct+skLJcnU}9nOE%s{SKze1Z!}Yic^b{!TH+rfKD?I>ijh(W za{(|BJ-Q}N2eXFW`PmrPvtkyT1?!FN1|5%miv3bAB=MFQ& zp<)HrfvczoxwNl|@K9W()+6WBga4NWf`|y`wGsi|yABs_lq5we<%|tZaDs?wOT((c z4sYZZ>7;{W>`hFsabPOAVcC)oK-)GKbOW|%y{c25^KNK*$p8~bRdop@$=2dl{r4~o zRU!*e&sN$)UXBmuZAB{E`W9gu_FRC9ipAs9$(%uxl&VjyV1!w71*{;*aTn)9<%##~ zm@>N9%oV6?sK#U=)|ua7Iw>Ckwcy>l$Zhc(9Io{nu{EgQ<8f~`d3$;J#(l0h!!pU5 z^H%VKF=5EQV-?;IdV&6_7G^wir_X5~`ZwlwT3i6fOq*81h{NznUJ=+73!qX;iFDe9 zAq=@M)U$&jIXq$czFpLVKwkr9z<6rYZr`b(y0LP-$B8`TP|&8%4vr%4ALZ8Bv76NQ zunWNn>=wIQ!jYj36ZZM6F>X;@xOs(jzbum!gS1~iOO>oqR_KDC6^*XG>x@YvSbrpS zqdxo33@|)^zMm^mO#qBi# zg+}2Di(`X**C;B6CtMBFK9nRUCwE~NElzfYkde>$ApOkuDwB`t-R;W9*B-FYR1J#L zs%8FNEV#1NouiJn{z~kjaPm!2<{tg!GF)Ty!Od;X%lqZ8Ai>Wn{EdQo{SG2xyQ`VIM{*lMD_{K+G}xF;PvINGN$a9O!qMG z?IeAA)uvcuGmcdh5E^nb>pZ=%>2CBQjCD0iPDP>Q{%FDbVEfZYBqMsvEa=Cb)l0e7 z_BFq4hE2h?lSWbO4C*f5Y+qV#YrMZpKGelrp9}q@K)?~pe!aWDD2ue1$rg0{%qA49 zykfX?;W14o5`m;bM;eN|xgnGBLCJ_3n;|YP?k^Sj9sG2kNeIc)=f72JazB9T2?k9s z%H|C|>Zv_GDV`$6k0_mejV`VT2tgzOuMX;^krvD2X|5-}f5QzZ8X+Sw+YQPkBY#Y| zrMI*QWW=|~p~Wi@dn0e~n6iG^5+YmI;ML(*UdCr?1V2;Vr3$Gi^VJ$2GUQnx8Hdz0 z67o6m=KTns%oHG!73&8V{@#O?l0)sokQGX@IwjRM#bLX7--rBC!l5-+HO8HOBJ~aV9%e_k9dglCnD@0f8z#`FOvwsA5-GdwyV#XktM`GK>kE*b`yna`Bh zdTlGpe=#3fICkn`a1o9gKvlT=pKPZsD;R<1zp&u)Mf61vKakhk^cJ#48OS-E&ma$L zlL9i!H>vfCDhe1I(&0`AZr2%L7}O__80F7b#Mj6O3m0pnRyB&2Qa!(_cxIlrv;1<} zA?rFT8C1;&>$O|k$BL~3KZ5H*J2;-WeIY^PC6Xd+X}W>;6;J1))lWMivQhmBhqo;% zkHT`IeO0s*@O?wgJ0p9~NqmoRy2^8Eb?V!uhPmbI-<@UH#%7%ue5fhLxT~LhvvLXL z0~~9h9H*a2IJCG;g4f~BC>yOZiG2HMq6KVmiHO{qVE>J#m#Xpu^Hi+vno(LJs`*H# zEoK`U#ab=FSauu_+|K^76Yw899k=YXQacU~Ub_n0Jh%(YQUROV3Jixi>TRLReXiUVs6nms&IrOt;mtQ$!c< z)m;f1014?#Cq>Z?lq<_Wuh!{nySpc+7h;sR2w*6X_G56@Q z;W16pX=Rfx)n-2xC)QdeiM9ufZK+7REpI#P-tpWS%$X=5DF6T6c=_$dhloIxP+<`p zZ0ll(__Ea;BkC@##>TM5*&)k#uV%F$b-LQPmN#&3yR63@;Jp4BE-LxtrI}m=8($f_ zz3!^vguAu)`-GXWdo>;6Bz_VSzj>OJI-|YrQ==i1;p;Yw1&hbMF5|ID&`iUuP$cqL z$qA8Q$y%AV`k00U3xCUMNEMsgX>cE1w)3Hc3hq`(!>g8=0h9K`tp|o*;s=ehO>NPU zK6#EA+YS6i;Jk^{%@eGqXyBy5(ly)7P*LYzch@fcOZo4;f2WqtOc%t7r^y8~^{0 zPG8>Yv@1Eu@Nx0d8%11lB8JgwB|O5{FtrNamAB{jGzgUUeuk=vKPVxW56|9d^6P%j z1`s>{xTr~hmoHnObABnjCxij#(M$hE|CtuGVt}u;5D)kLQcBxS*`eoP5Uz(4fHJnz z2#i2_Dg!Q*mhaOP;SRNqM#chI15}+>ZmlHoyvSe-LvGr|AKQsKc3>KWM$YOX)AF`A zS9~H?d6m;1MzBDR(R#k|Ro^>dtaw`7h1lU8c1Sa!7km_!;c9jj`(E`e%@#SyOt|iF z$&E1wKN*1uchwgS6Am&82@EA}mUVQP*Hc*gR7X=*=+jIg3>Fx2;L;{TJRhI{jJPc$ zP3BfW;>z@=%Q|A}nL$+ep?78(tY35@Ubtmjr>nF6B(f^=A(YT#ZAyLP{`L1%UOw(B zDvN7PQ=0gJqo-n-g-l_sG`hHHT7V!d1WT?0-3=23fKeP|54-Q=0>~n=rUM10Egdy; zKO$5vVu8DNwpYp7o%{Gym({y@Pn$KQudCkjf99Co!HC#hhI; zlvp6W>3(-TJ{AO|4zzu(*qNL=v_W?s7I~kAnsZCJ&1syz$RePOk-&uOjtynLJ~P=d zS6-y$+7(x%%h%!&2O$Y9?tkzhHcBjRhlpUAf0aWODQ=+Miv6WCT)t1R84MUZ>7i zbK5U&HOFS3e0-88Q_a&B|Ie7{l~cLfG```%j=s&5M-%{R@{CeS ztu;(2lDKdO5wzB6lRny%End4({Cfk%-1%UNKyZb%*uLoliSw4BK(N)@i6SX z(+>F1_^<9PZr-Da#> zT{qBs(ix{>yyE+$B=2 z-uuzC35`2{GH$Gqc4e07e(Q$3LVZA+SQzW{(8}l|G-S%yz~KAdmlmxIM;y!aO*wTd z>@kEPId&GZnmhDM^X7O3+g}Rho$zdP(JVneFuWD{+)8=^#A5H3+jpVJC4cTwHbALE z{TnkseVSh(=1c^dygWrau{3e)BX;_*Cq6+JNzIyDow@O(CX|9j-h-zU!csOVU$HGI zsIcd>ak`h8+w@a|6*zgF#jcml*b1)bV@jyfD>=mwVLcXr4y+nXVi969m8^(r(scNW zfx8PwI%I>f5Dzd7)~L(T#f5ZGdqeZ@ck3T>{s?^u{DjBuH+7Qvw*jV?r9)2Ajr_H$ zSE`Lq`1(1=8$LDqdU%xfyT#3;X|W!sK-at|<3?HOJwIkfTUPrF#2+kh%?YMhKMDcb zS1PwXgF7VNs^vfU3P!_VfAm9rx833%wPsOlC0f2U45N96Uik$jbcEho!YQlYHq(k) z2*3!NrohTZu|QF*GZ}4~-uo+PR;p*Zicw>`AX4&ar2KxIA{kld>!o`_)N67l*; zbm5No`TnF$?Td*mb9V7`)gR(qn1k>3{Mnq>m}oK|0;kOV2s0kF z)6aRsOI9IYyo)uY!C&%~vmYlcG}Ubthl+c!K!?R3dTRnKA^>GwPkP;}4UE?uVqhV= z$1v;VdrYU}^le)E`3RBgbF!>I7+S1X?A9tUD#sq%$17DBpo?}Rm0ut+5k^W0X{ zEkdD%r&Ek{>Hg-TMpw`w-?qrGYj3_7wzUQ8vgD=%=l>5J!Vc(SS=W?G5OW>=?DZW; zhiWQuzEX89g9g6eL(z_Xv5MRXA1>N-Z*_$Sj^nvO?+2EiymM;zsI7hX5~+|ks?&uA z0WY^S(LO%6@QwSrFKsg*#RExa7s-#c6~0m36kFU&AmSrwR8iIHGX5R$;E=|;xerZ1ZL&|C6wgEGu5lH9yi~)FkjPD_WYbl{QQ6TAYO$w(4o)RCD7O_{@Kr9PDoY0( zKY0h1W#wIutkqBcul8+WxLi(Fos_JXFVIvk|1>BKH#05ua$70vRrsnf%l-LTl~5qD}uvN>SEaq`y(I3*O9CL_yFbmXIsN3{`mOMW=7@j53`NEw+UlcCslytEu} zf?Da8h$#YH^lrrNrws8TU7NBj=by8nTvZsHnCc@-Z1C}zHWxJ?8<1p{%_qpPw2A)J zioMR8Cc#J0Vr-(=4T@h+em2bQhy0hCOaP$Fd4OYKowrY)DJxaDFbS#@$S~vVZeL_Y z88XWTN4KPs$m13UvLMj9Pooz1yhh$zPNPP85h-IvSb}ra@xxX9t9#-WG;HD0YOW&##Lv!FyGljghY zuQk>(^EgUua)6A(GD8nCpN(CPvX-*raM6{AgVH|vw|I}NCs$jr_ToqQ_gb@~&_eKA z;I%sNF?x@WA<~#CF6SHj$Bpxc_PVkRcq`z1F-CW$c!IZrWK9rmI(Pc>6g8BYOc5a{ z6N{I}Dvd&(O@Xofmb?MBwVcAOK2%U)vg^Y6X57h{= z(Q+<@elBMDLqMcm#}e}h)5K3#Sl=nv`urc;LfSxPf?WskQVSe+TDUF_MNlh8eAG#_ zlxE^x0%>iW3)OfE>7O_!)1LXCDQ58v#et{M|2>_DVK^EDk-@6zule16$`t9;X}|jk zl$>w24vBJEy9<`Dd1pW;3F`fDxHQV$PhpYF>aF6Rj770&aZ3|l656iO+-{x|U?csM zm7k`QsZ)!krygK;L0y`w!p9sL{Pizo4(oO>i{=+R4f1z}SK$g+L|-DbSftZMLgLoQ z#RFf!M|D8JG4VgI=B7%+-V`YEcKndj#eWbg^C)s)p2jIjHvehTH`CE{RrG=IcN7hD;SCst|*O5oV~r0+e!@ z(;TsKLZ^KSVq+Dj-wr;rSrrsRgy$i*y-GjF=usiMuf=_DO7W=<$VY6?H&ThQ^T}=2 zew9xy_YJxdO57$mpq1DjC!Ld2`^KA#-duiF+ggw;)7JXD&wxY_L z>OC-tLqA7Jqrg8Y-)(s`t-77JiBT{GzQ zZ9iD|H!xit2zR_*_d0*tXal@_PFvEjMK7BaAdnbRi}5|5Wwe zfl&W{{3*#iBP-6xWoKru%yVSjp+scW2cc7_ls(QoJ1g1QGb2=TvO`u@;!3t`$?Eqy zr|<9g`~20%z3+YR*Lse}^YMJVJsui%1ibuFG=$DPuSIq4*J~@s-_7C{~aF6)kmma7q1Ylj0C4FH63*_o5+~gKt4q2nkR2dnv zq1Sqg9M0Nbx+%Ao%rqF?z40w)_y;#u11( zixO`mw=4Xgxm_Rw#CY5$@GCPFiJ#INElKoMY@jvceIe6+O2pZZ*4}BTYssS{y_3QRYt5kT$Ne>df{8D}T$827zb1gn*Y(Q|U)8nvYh8B*)ugz| zV*(vLEItOGZojxqVznwQ@NIDq)%{KA&|iVZayjKP)cn?U75UrB2G_I|h&#$i?g0<3 zxz**DG_)IY`FZO*K0Zx(Zl2`yEMtCM$X(8ao3he36b*)Y;|tRg%}O5QEj^%`X95By zwj^s46iqM3_MZ-HztlH%+)LDGV%B044>4wb^9NL0uFrR9Dm5V84YXvos-(Y$kdt2` zZO>M*8)@5gYySKc#eF`8MTyxqdyua%_sm?|h^Bc6(O=jBiioECL1>7hrO=ztuo{wT zZtn3@^=9%Oh+F* zqo2U&J$dFyMRSgbiS>HU>AVO<CLZ-1E}qq&f|17co7 za;}DThQY)DZ0L<>qIiSxK`(wyh&2=ea(d6i`6sM93XtJ01@zn0FcP&7b8o!c_abyr z34SHJY94vqss07Q&uMP$(w}XXb7S=7Gh`liWGbin8c=k+_yod-$-W9x(?UXKepCqC z&rto%pi2&g6@l}lq!;CJm3MLGOz%_`w5DDS3V1b9EXs&Kqe3!3&$%_PI7RD}hpkI* zsFmgC6ZzMx{81sXx)jQJwg9=bwi(HC!>d}74RC~7WkxZ@M$S}+yIKrqGbCY$6CX;W zm3jl+W@4z)g^*Wd+n9y_tTh4-+d9#xfyr|dOw5F*wZoVyCGds0b}J9H5^I>h96tSa zIq^<(UvZ?0*+2y-;yo#y3ffhoekygQP6O_)t3}cMs;gZ?6ZBUeU6*FNV!+4ff45Oy zrUX>l2>u2_iCM?dyDPLtqa9*DbJ?Nz!{sm1I0>4g_$i%4===c|z!|tlV>##_jigS! z%zUc7IQEB*BNO!u&Y8w?KkH6&Uy&EbWCvV{*b~=Lj6=rrKs~uhLglz!PS+bb#^2~I z_+p$3H@a6@edno%UJ-d{S$9Q5@XMpH@5o%eIEyML&kIz@Jf z-9*Dg>*Am3Ux!5@2bHT-lgQiLH**VLSp!#QJsGQse%DF10shTl|`v; z=fN%q*}kyL&T)w@)WneqTHeR>an`J<1`uYC)2F%M7DENzPnJRg)0+QqEo_;D^9^{X6SWN1jn-tid% zFmF7hsfyk+scTQrB2kHZAl8Vr;mG#R(|emQi$qMPXgfbtN$F8*C7j_9zP8_EBF!FZ zrfNj@=Yt;2yD;g3nyo_nmhxwWoD3KiS-_OMCx@n64h$QFjqo1=sYmj z8gWn+Uw$YTLwVElQQzaO(*geS7vxw_!cMbouTbp)$R>~nvLjzzKk1+p;e54>qPV88 z0|0>r&5A+N!tViW80O z7qrPk4otYZ8H?AxjG1D??s-MTvZT#@kJjDwC}UaSN`yf%w`F$zv+-7vSn6CO@p<7v z(`}zSEkRkgZy6dA4#1D+b-`d9NL3+H?kejh+G~C8_k?)pla~vPxeFKNYQ>a`KB`j% zz2`_51b9IBh^+(C|Lvvn%)XF>y6*!n38CiRw|CHRGy`TdlpR8 znQ(06{pXZP!)(_Y|0v(SI{RCWJ1J65muSTeD78OV(VO%OWHX1Va(f4iQ@DpiM-SsK zFWwRWKJ)ql-PgNZYr*ZA`b<^+*}ad`+ZN*z924tqD+)&Z;wW8I23EN67ef29UC&q^ zq1hMvc07+kvsnPe9z*l#t?J^L*31|Ra*XTk;i@cSaUm^+2zTxce{!-#DY||H(@%s) z&3feL5q^RRA{J<<(-FNiY5R{EW%rZ)W9 zoL;&D127?+f57L$r^D?_voAwgUfz8z@&(i+3dZef^eTuMGex$|Ky^R&^&yQ*boG8_ z%gL`zbNnSP9pOhXQt#hTih=(pIrax17XUAYI9*IMs^!hssV!;Iv3 z4D&P7JtlB4T{3RU6cDY@(@_oC&U?|&EXo)S`ZI=)w7QHTw1+^v#vBT^RR6PJqUol} zk7JY83@S3KMru)KUwNx5aC4cg4tyo5}(Y#y@Z8^yDn@n@_I(@Uuk7tapA|w2x*X262`64EY z6sv5^^TQY7;UlHfX*9=y1G!w)`nUH}f=_@2R>Cd|ng(R$uzL!s1)ZU%IVjEM{^CYR z3`r~vaP+zE$tdyE;)sbiME>S5s>MIzDrt+)#QQ{ysmU3Jtn3SozNiN_<%4La=wNqi zD>8*^l7&A)6}sq6lfvI|$O!!bR-b@b+Veu`LfxxKQdAkwJn-8w))ZWpW=AAu3NU{6 zZ;IvXpA;yl3w=~%HrGF`Qj*keD-Atgi{4!^lHeVn-=fA=+;uxiUujkNpEUnY@6dkHX0_U<>1lB%I zDM)8)X|Z_m<=={fafODC^5O(jksJf`Lm&HZ70-<};Q6H^spcodX%eJ~7?cRkpOKP> z?G)$ntKAbu@g@6{#86gh%hS=QeLP*aP|uENu@_>sL0|;W!vme7 zJ#>q$smkKr1@OtgQ^MT|0d~!2QTBzCPQ9DMZUp>jfPKdtJ5zAh{>%bnD5>Vz;OwOk zC9d+m4|W$>#`u(g4dFdW|`>qI^J~O0)iick-9#RlZ$o)|oFeoA-)9gGwWryE8RmMyojS=%) zwxeL_wNsK=d8fCzVi>==8WxkjlaQIm-{u2Ig+h9qXkK>f2Oqs!dI&l8IW?1XrAjSP z!hn#ulJxu0aWjypfdkVYX^%fOkFs5P*qqWo`VI-IAcM!+}T(kK>m z`nhv!omTs>ZZ5FpCrW-Un>!^mWNIGHT3RvIff0oD#QQsQ>t`GDnV))*&85H)dzsz! zJBeEV+!sMc{!T*DgP=JN={TFs&^gJEjo12}AcX&5ErvLE{X?MMPo6|)dtpw#6%>WJ zTva0E)&a@*t#lNhIf#E+H6P_q-+Fv25fM_>&1z9Hz^7~C%pr357-GkKKl~nT0^;3^ zR_!T2B<}ZF<)Fk7>6ci1$tqu|EV_qJ>Eze|g$u-TaHeZ4b#;}KBSQM#8Am2ryr1Arprb;csmD+6Qofn{I4`0TXckD3kC7{s zo+dGx5!%NyU^7URQm;l6z z0Di2qK{Vy!?#XQ-9%`zfn4$U^j*jxXX4Br%~Pqsz^3ESs`i>zKEkNm-~SdJjeD}Sxd0DTt-O#{IL{W9 zuWPhY(TRkJ(3(2Qg!c-Dspe`-k;VFj=7!rB{1Cw#3C53di{~>&#G}!~9$A1{rmOUG z2zWgY$pCGPbojNwLIy^2HWTDsXRH=D@0xa#U(cI5DZN1PE7;m*@UhJ}c`-*Z5CVzf z;jKbV7y^7HkD=CGGX;gLVSUc(pysEVD+Fyl6kybUZIK}*KC|2Y2*hS4pM z!@6t+9zPtc{kZsxfgfKna&L6P&Z89WL5Xoq8IHZcKlb6_?6F5d27)}dBP2r}YGd8y zu<4G9y;UCjtZ{;M(ghb!Pej94jITj44yWcgfgsFR3)yVXr*?vbQYdHMavD57J!C+B1j zifT_yj9Ri-iWe3#b{ybFad_rQqe6y`0GFe-4P-H)W?xmY8lfwIX3u67t647Pxj;wF zf&WlxE`x>;LpMfjwN{QA3w95HSk6)UW#BYrK0m|a8LC~&ZugoA5*mcPI|_p;q*lHe z`Pem)^uiQZSusKG!Tz#QximY6=LBFeqtO=4H^B+8ZO31yNS!f<5;p7lDc8Kz8YjdeDxOrVKaJ8xCaD4d;sKn}gOJf1 zWi1ZASg;k&j19KL@M+3Q#hhad4FCzBF_I?Tw)q=JD25sGl@@=DZ{vV_@33znUH21r z_Wl_;9=>l5Qq&)S337V{i8XOd1Wew71j>*IHK=|hNkv=#NTI^!u8XU%gJ>}Tutqg?G_ zoQNbc)sgM3A49F*Yh^Q^K`l3KNuD zuXfdf+NJ$vmoY0)H)OZ*DB=#Na_yBcWv_Jk`R9#2sj1wesg%j#*+t3cFQWQ7Ro!`? z1YWkcArx$uK01<*Zd{B=M02~?vQX_;BMFFzcpgKT`)-soDK94|oT6k5CQF=TYol1p zvms*!?E1W%PQ^S7)lGRjo@3;Zl?gv17+^2o+#c$g`P>fRfH(6{?k;56=Q=$u z*z`>!oiWh~E75Ns= zCnvAGr)uqX@=DB3@p)VISxRdz9D9;v1_No-!}ey z5$?rp>%Sj!z1c09C$$Kxk!N~6J#ia$w@_UNG{NVFTW1!N(gQe1jZ*u5OfVX#i%m#q zXlPw>o-kjr^^g4_RBEde#)7YiICm0e`R8A+zLfmA@PYMjLm|t6g0|V4t&4V=SJtk2 za-{pAx#KEbJ2ojm*xrc0#1R_sIK3H}j`RO+Z27kEdEw0rShlg0bt(gGt`avirby@S z?loR$=mS+rbYr-a8P|j&YVC32^%Nf^7=F!IuIof4NlQ*|9@TlB@D+;Xwa?qkh^zvG z_)(YrN4JVfMpTFFw(H-R6qsXgL>C}186uT7@KGXLl*GA3^E;|qV0al2 zVJ14o)1$$OasE6g_gk6lS|e_|^w^5$br(x>+QWZ5d}jENYOko{tb%nlI`an^5L;3t z)rz9asJN-69Alt{6wo}A0aJ)8qLCrT{|_>Ca!ArmD6RCNgkNN!qaqJd76DW5WKmbU z2w~2(G@=e?q~_rc4S7>q(C0~}{l!_xbb+Q3%`FrtW1=Zamj$NUi6rbp?!e<9*mHO@ zT2zGU4b4hDt615RQXGt3t&8kr3s(8SLfNqTXD}ZJ`FD2Aa?R0|HB)6vvTv77!+5$X zZ8c-V?~WSt#?X<6V08-ukk@i!P|YhK@Nl*b4xP3WTZqfdYvG)FJLz`ZPvvEF(z|VSHMIw|;0?P;k~&!~M)kA;NoJ;M^|_ z(*J;)6jI0<6e6VhGwQ4A%}O-xsne^O*9RMWepm+`m*S-FuCb7k031d^v;2i=WL2!=zKLLr!0W)JQ`o} z6|Me${Zb{A?N}`gJhmX4^quPZZ-v?U06g%Lx?>q4*bj>OMNGf0^VqE(DK?P#=8 zBK-aa1IfDIWmV2Kd90du8>p=SJSCgyjirl6%|~1FNoER1Cd=2cx^mg!po92$q-~=2 zuc*ls!EpYTe4!}r0RQhs@8U@r0-EU8ReLB<8ZlG|GOXITCe1ER^37=5O~0G$ax4Q< zHUK-+EhZ*?)XvfVG!jsugI z0*dZWFB1!%a2?E)yROl9ylg|PzD0>a6sVs%eYCP(e5CAcl#S04Reb#G>Z{RP@sQkWTZ@l# zHH>`yheD^Awrx7#$>}G=2q2ll9}f4p<}3=A7rzfnv?smDZq5*ZD7KG35k!H}jR6`& z6+LY{CA`IK`gti@bCUTQ5n-~ffg-i#aiQp4%W3A>@I8TWcs(%*haND+Ih(Yfsu0(L zE$ZZ)D7w_Y=}9n16d1SFk46Vce<4)$2|T?xKn(_k%K(G?UHWK&5FfVz0mAOyK*{I{ zv(YG2;k9M5vEaI63@YKZoF40aS6nW#3CxE_p{B%Eckv171TM$Jew0XygbX^#9RTBV z;Y5!Hc7H&~hURF)q6LUv>9IOmad?~*$pEHQDIxQzgTR3?(QUm?qdipB%yz85LdpYu zrFVhmnnL!=7MtlYJ|SDT?%W=)MIdW$9$UTaAd6SggJC!wfwL{CaKauA+&F2!7ew<}gBTx$ei zMFgL2;|z+keR%S!Ypp@q$g6=(L=TH!+cGSF>6A(5x~s9OeA>o zY}J9tk35vPT$W3>gOdVpgQwg zU5IA~t7!3Kj5rW_M85+c5c~nmgQbPByzgST6E06jH<*P; zIohg_mTJ(3cJ1qlO3#Pp+bM7m4MgeXX+*${`XR;xf_y-6h}V@k!MmwasfLq+uPC%d zALXAw^htqDxB@`*FR6b{*0gb~gh;7vMSUdcI8Y$i(xfNI7UgAk`Gg>Xz?0iDYYzcp zeNf=T<2}9TdG@KkWo_q5l`cjkv!W0&ctWHHhob!0qq&FPE3$^ z1rxmm6h*d(Oqakp;<#<>*9(9TI-jf2tzO20MIBEjeaC58=BU(n*IKv!f&S9qVBy!U z0&%GRSv4`V9g(OwY}I0eYA$fZ#om8-;*&z(I!JMi4DP45(9bZ)f`uoLCjisL9%q9J zY6()nijUj8PK1b1ocz7FJfAl3)+$QEZ7m5jnEbvI(jm$OCysn9w?ETZ$j8DqkeRkD-_TO2YkP}8TkBW= zB_tXkD4x zZQ4LE6odcvwwv(cW|ju8!$QY!Hu5R{cmoPR-)FPGka9XwNi29&NVJ4lRe0Lm=4sjU z_ArZu&m2N(BW|P@CJEq&0Q5x*a-}ME={&q;*`%}PpR*!m`zd}gJ^P$*3M1&VaH%|5 zrds0UR5D(%`08(jw_n0^$U!|)64_>tQQ318X*m$`?S{Bds;cSzQG9>+EKwbvj7zR zy}uv_>Ks8J(rQQDkD$rH!a{NV&)8jhb#jh3MjDXF0A5#9aifM;Ci0}#jAg5Rslqjj zCKb7Wd{jg#{Y9xjlnD?$3CJtpK;}M{%HRRLCrk&aUc?89jG-C4KA0vxt`tgsax`OE zTq^&Vx7!RrAwVc88~d*i2>V?y<8{wj<&`mR(TIQ%3jn`mm~Dfi!RQRa^+R1XQw(fQ z{4z__>|ixv1Yk>Tzs`PnVqeI7fojalz@|4ZUlP7f=2=)FE%ViY>FReIC*kAhEE$EL z7Slip?(EStIWon|wrvpkN&bR~dO@&APqV8J9Ed=vU(Q!_fZP1r1%Q3JCq{+M*uJK?kdm$);!F0H>I6^3;NHz zGT_Ap0h0}oXde}l#_HM-@AbfEpuiCki4B==te4svy99Vs#Pb$~wikx}VZ)2xdBT2jU0{U(qcan*-adaJwITZk`8M)uCQ!)MTAMPR|cd8tz69u7SHYbF}w zyq4;JEQ25zAaB|*h0j_91;!uy%-DF~8`E0B#?w}T%i`FMTL1B#oVZ+EQ7iEGm+wb- z&9e~8p!8-5EkSG$FwW#^peE8kOO#B6Rh)Hw1rDFtx4Q$tZYh|YkSoI0XOUX+db;_* zq6~qDNoi{CpFKWs6Wd!~+3tO-H9K+0_rqxJWrXXn+ihM1Qo#9?#Qlg|(aPb|k`KV5 zcj;+BnEBcvfw0x(Ev49UogLgdJn-Z>#=MKb5&tfzAo^H;E!luLNRy(8UR>0(beWTC zvVBfZOXvf%n*|!s-Wg9kq|H}Org%OqTz*v1I5(MhU zNbIf4Y{Tj&?qUPPuYw-XKMf)>=NHx(PK+=kmQDVSl)#ucQsJQEfAm=pOCs`M?Cat# z^EYB@p!K79-+7O<7YQuo4nh3q8g{-g?e}@6Rq3t7SPA3SPXn5Y0urc=LwtYkQ3H*^ zV^}=qSAzIX;fw|cMyJYV>>Z9A*lKDE!&PlL&})5cgo9vPOTU{$q z$mt>)X>lPyN;Pl&Xrem=R#SjA%3NW&Dt00KpYau9m3B+g6&*nb^+URe#TQU|J1)o` zOM4Thg7Dyk9S7|9aqWQcDY%4=5_1mkFkZc|{pB#~c<%y<@RLuDuO?XM|L0x^G|vB? zV%fU981&lho50ls#W+ou`ySr=MUL5CZ)#<694hGdb@-gw>|5!&&wmx?e;?Rr@{7ZP zT>liXdnt}@`~XJO0|i;o$>SN~kd2-zO@aafyRs)gO2XoI{y4&>i?hIyoID@wrrb0c znskMVcu_JxwDUxJTmb5di-pS&uRE?k{%;bF#}Rr?<Oh*C=={%YjE_c;`I*{g2q+ z4Y5mSdS5CRTPfy`c!cq?Q(Y~HX)FRX4H+&>iaJ!FYHOZdML%f@f`RjcRIH4&seqqewelp)ADp~B~udcD;Q~CQ=FIgP<>XQWw(|ee(E$@5uAWbjhz3Ka1`LA=>k<01m z>C=0dt4D%nLNZ-BBVV51wWCF(tn748kag=Hj$CuBojYvNmfSzex1U%&Vmx@*d+P1o zg&^44)JR5C;$Z|F5&b19_nSyv2Th$!JmiqSdyiJ^#(q=S)wfqoDaZ8^?R?3PekX!0 z8FowVDCqA^^ZPr)y{p(R;lAF)NALITe$HL}%bnqp&fC}f^oHosi%I#vYg&48M|8g) zw%^B-N;NKYjUV)w}lhe*ON7r`W4N4du`mUFek@Zc5P}k0+-}3-P!y`DoVS^_<;j zt}5$=MIVm#HS><84$p(~KX)Lf9IyD|Y+QY7@SlppSe4c}?5*yZtcsy-_zxCt(rtfz z+VN;>`7g!qvzBsSXMf)S`zUuL_{Y5q7k2lST$^2r;r(Md9iz4MjT>x3b)(n2SIM=z z)1Q=OQ-9>WlT&i@Rl2}mCzdb#<;~+YI*6|cVF3+yy)9Xa`tD30&S+lZv(%;q7Lc z5-v8(tIvxq9P&2e!jByK!!1%xkA+RX)! zE6JecaIeI0FE{QU9-14)R?@})CkEem8UN?W;sRH{*DdZw8n^SCb7Yh-^fX@Og~s+%2%yuZfD%wp%r_Ru zA0sD6iKx34Ol7k^A<=d3F&}FzDirq_DZ53`GW#V>nC*(Dki7% zm)qkas^3V>nAz8dd_NOrw!UuaQ03Y~;T%5Ye?V4KQcpkksLgJ2j_I=!&W-g>8Q-n3 zCbG_b(X6cc)}cL$fxAaR8mEWwt`bRYmp@(D5K?h`i;WtDt+&lFj}9M%w3K@V9r_nU%d1gk8Sg&YS6Vm@)LERAhxM`?ubMUDyrs4;y=$D3`@-+4FPvz+3(c3E-q8~Edbl%K6`Eoq^ z>G~F`bWTw?(Y|^#wo!?pWl90kXg({X2Os(o`}j&D!>{LehwdKmlU+>QW z_7AM8Xvp&y8#I{<#9pEr!a7=!3Mvz>azjVA1SZR{eGv-+rW0>^mvDH=rY1s~{!SFi zspH@(L(^T@V^-xPjAi^H)H!c$iDAIDMpR0<@_xTA^ju79d2vPV=H1}NsBMlv3uaY6 zs~JM?O1=0NFuL_@)ccEDA_p9`LGnU5C4AVTNi+D1v(qGXZqES)#`tXLTFuv?+E9<#ex%aMg z^r0pfe$8^k2f`&f7Aod+Yfp)#Bu_h*At?Yb3tr}&ezIR@eYp2KHg1DNhF7d*BF(Tl z`%Ce`Gmhsg^;S>8W-hxeXZ89e*n&72;>krd(n%E3Kfj}LqigzZPzgmz1zw-~t&X|0*di41B zJrP6gNCxZ~{r9Vm+J9PeMxR%ciy4G#4pEicwbu5<+|En6eKKjUo6Ms>wP%Jte(}(= z;^m5viq!@KpJABVr%f^LyI;wv4<EYf~JaQYyTmDXSq#2RXYyKRZ(c&|5 z^mg+cgkl|<?e2u3XUzNzK0uoM~zP;WEGR>Q8pmgW4~*u^YoA{vt%!h7Z~#%hAsU z9{+C0dph-D@HO)jgPfTg3ZKfOX=@EYBlDr@K5+57no`$i#>Q`IcdnF;u`<5Cpyj#h zzVd7Au_lFfF!@06CCv!y(RWL}S4wO59bPFw_R$mn`I<`NvarJ|GT-`QSDCP{A)EWc zAbJ@9ConFSWLs_Y$7t^&E^9Jn#Ke;^?Wme;><+{v<1yE@!Crx8qi(hcHz^O$6{?W+ zzO`|>LAGI||OjK+D|Xxk(on2g%Y5zGIAJX1F2r=S^vfmFMxCnEDUR zqf@$94mt514&t*nW8=js?Ao;KD&iuAr2A0SOnp(Q!L()LLl0`h_x z-QN?*8_rMz^A`eR41xT!zqAs!8XJ_HlaR`x+GXNI4?_WciKV`$+=VltQbxG!Gh)G5sPuKSMcX&8CC8l&Qjaw=Lxm_m4< zFT2grbu5oy$s*~bMx`GXPDCeR4rF(3zEAnD@aPJ2B&Q$A!=0>wD}CX(NHe_%toqCw zfgrt942`@;#i)qfduJt_UDH;nvXpR^cJ5! z8lMZ+SbwM?H?*{VaEd>7l>+msei|*ObBYigV96S(>Pih5P7z#Z;9DJLjH9Sm>lZnJ8QFjOr=WE~WfzzFqpRp&72= zU!7Q;Qf>Kk#cO$#1>9!2{9El33@7nycdf~IkXGQRpAH)n6N3o|4D`)m&6|CIZNsauze1$hS zHSUZ{H%%)&c<^BK_L=4KfxCasvYg&?j!`3}hg>j;DUl7*fck;RdVygi;u;$1ZINV5 z`tj<(b&k#uH7A>#xrv4sJlsdIwTlQD>fWC$kKdPe3!eVYK z(lY$}*f}YZaI^BJE1t`vO|n6DGaa#4*`%F@ny%R}wj5`3h`;oZPS4KAonD>KZsX}> z>45qXo*V)>s*|v5J1}Ru>tJMLMEd{TGO1)$1}~ng;b{xnxIul#Z1ieSNXXG^p-;5K zZ!-#g&k4OWkzwo&)C5WFRs=m3O}M}ElCQv+7$lQc{Jjp1Tg6QM zId3c}w-SHF`_drq1n&>tCEiWm{X3tV=^$4DkOzahC`(*_Db#-QD4?-6Zsqq{?kFTU zrzJvrV$ZRJx{{Rz+cjMBzn^6NGDZbIQ*Ty1_y{Up_G1n3+e+qGB)4!U_qZqba!om% zXKbo-P>|&Bq{n)}YM zy(6(~ukRku44mgdqe;DXqY^7ThJS#&{gERDnkw=+z zv1AV_9W4+)2`@q(kRR_J{E{Mkp=7G+S+Wmp=|!FkPJ0rEz4#`u|I9OVC5)wxoWRX) z2)jhNcl_b3Uv2QYQ_T3xkGf}`<+;jb+JM;nzRuzDfKVNa`9#7Sx)J;iVun#~6PFXI zzqEe0IV}08s$Be6qspRbQj5E)Um4e*5(_z0M_pLi4P(63OA;p1`EGRk+y|xHtBX5x z0VZ(-4t>=CDM<+t)+ocV|mto8H%7ZjzJM)aYA#>T~ccI?{bU{|0Bw)KZt>e;&pSfuV?d zxpClX@&(Rk4@YE^c#C;oN9{Xr&33>)z&Ju4vu@as6TltyU$l|WWH!uQZ;D>{mIh-d ziEC0ygh35$**TvcTudEmo3Hot|yFkYv0>CnCx84iln7jx&< zd+xx>c^jkByta2b;Q87L)a&9iInwY}!jBAW?#@=lj=+7U3}Ng(+6v|o7_on!R44WQ ze}7*w1u!O^19K){u*PHCcCxW;W223+F*mkt+qO5h?c|MZJ8$e{Z~nLHeu`UDgPNL}Gt;Nf z)7`&wB7P}IA;RIofq;M@%1DbVf1k@iKtSDKpuVqIR6*WAKv0!DRW+TJ4c$oW9qr64 ztW8OrJ?u?MOx-QaKtSBruQGopQt;SH{A-6}2!J34NgFK7aLqru@JChCU0NWYUL8A@ zP0_{GBHFul-rW~WCj|I?o*@3~&r56$QC`xvW4J4Om^Zx%8lK7f>M7IQettIpaA*4T zxxG9JD^)gqs%RY^CLg@p=3$!r%evcb?gHk_ zl(-ci<82o_=)yw2Ufue3jl5U|_|i4_Y7l+teC7##R=lwGjNa#2uKDVee?H<@e7W4} zNBFfne0^bXe{A4O?SE#CzJ7JPZFHa9I~TFjuJ?pT?n$|P5D0S9c=(oa^d$GDoUkQRA<21^e2 z(!c`0l#OIK%G5TBD5O!6DiR4wk!55(6RuR_j7m;)O3F9de?BIV2R15~L=cB&{SlvL zpzA*KnEk6v`!Z)_@Q2x`WO=<(9lm*G&XKOVWx0uG9C2E^$x=map=PiFvuasx`tQc+ zJR5qXwF_M5A`UfGA!TcZ_$3*bwS zj3-AGh)bB1c-rO(4btR3Q&^%r#CIYPrHd0uOW)vWH=wZ1qOGZr=(#Yn{W;g}S8i9Z zF0{z?y2Fdzj3IE^u#XtSi9edK7 z)Zq!JRunz-MY)95zf<*Bi$^&JPzlk{rb91Q+{5HWf41s78`V&(cQ zu~in~sC9ox*=w40?uu7#o8|=IdhPtqXlhnDx=cl#WL;pKA2>`cTHi}Gr)9s~Wspzj zxCuy^_G=+MXbLN^LcA-nu4`!&?n~Y&E08$exWTvEh^&r2Cs?jp3qHaJga% zyRmH~r|A5wb9*{yo9*(CIr~0LhN&&XLT%4}wS0Bn(w%OhM(EVS6+pH6lCNT=bWFky zDE~AIPN#d!t;OxJIMiW&Cx!b=KX&M~hlI_*ZJ}2h->8J(HTpgcBfU4&P4YDn*T0qd zZ})-4kTl)ky4gUe+?~fOCZoDKH8T2wfOB`oQ7R6%lp24ZyXw-PPsy{6G?!Cj-i>Ah z-;E24H)wqr0tLe<;aadrqk?&Gyjsl1V`l4^n`_94q1i=aTk4J8XVaB;Q~5@aONkPM zv+NA7gb8z%C8zrul*k;eHF;}-K;)gyNpQKLPJA!fanhrDNnT|=v*@aEyMukDURYTt z3+WQ+;JL`vZFiwMub2yKo%gMNgZAR2W^xUc2o{HM+jr{Hg5@wVZ0x> z$t+2)wscgu$}Ql~3t7r*Ba-tI!uCVDmidyTrbg}TEk&RL)+u?A-mBq*93Ewg`ZwC_ z!ZhxvAje*Y5>M+J?1$;@7>b1<8NFS%haCh-9cTKs>`*kqxds|-9pJ2kiX-qZse_Kx zcsXd0X(Vohq<-w}Y{`7EiaL&5KlKCw3;)<}H!X0HTL2*Pp^0T_M2C_~a;iDBlANO| zUyPNCw#g{3A9a90MfkZs%+-ItoyX~YJbk`}1|_jQ?4hN?NeTm7(4`*(X4gS1I-HH0UW_dmW94+E3n)xM8y*&NJ&&a)`RTCIFl3Lc z4i(^pvX&8b_3QcvH%fsqg4}U1vt7Bv^!X;74f(WyLdm+37Dk;<^{a^_>Y8a^SNsYV zU(5}O?P#9`V?lT7Gip9iC%Lg+x$Zh`khvP<*BtvNaful5&W66h^Ebdm{oxR$QU4d1);g_^H| zJnwh^0;49S7X)>(y*wzWo6U)yOV>CJdSsI}k`sW}HIcu?zEZI9aw<7bYQ5)X(7A2m zzjfY>_{;IiuS96lPist;oAPHa;n!E`;9+0w+4^|Z&g$VV1(z6hy2yg_Z=g7dC)K;? z;-5NWTww)_Y)&RGD^2DjOC(qdDH;Hc6XJx)9+8DY_W(6*NwA7!QOzPZ5PlH{1EN#8 zcW@Qczv@5@nx481CmhF?+ax)ZcaDO}ORTiKRnc?^BP-cy)*lVEAY2rrN2_k+z{Ehz zd$>B50|F23l(#Zq_HUFgtT+UlS#ah1-+(?k*j7Kkcm6JrYs% z!q0tXCQYo&U}O+SY@yi1z?8B)A?Js*6=(Y!F;o~TZm8lKR=rWGRNNuf;u85c{dERZ zmV*ib4yy2gIh;X@lhXZv!g%>sr34*_7Z~a+Sp!r6;H)%5ewPFLJpCq&9ylDyOq>GQ zSW500+>GuqnEFq3)Df+9bCm*S1QZpAe_Wrw z2u`&9#OcC(xeOm&>S>J6&%<14U9`znI3|z-Clx(PD11Lyw2R`Ck+cU>@daLM!_XZ(QJrgsL46l%snq7n!i}IveSfI!hmHoxrUWNL?h!9@OHe^*PD<9}H zaz(8QC!!?8ASfFw*aG`VsEcsuXus1%vlk&Ch4=a~Cn_d*_Blj8tAjT=BgYl5kStgR zHG-4bceYAKpIqgKx|}H+G7P)Gk8sb;c7{g|Rp<~6y_z)AXhoBJogT`=krpq2Av|ro zFPwwL#QcyGu;6OT+;=r&*^e4z9Yoam@8}JO%daj}6HgR3oSvFgdNQO5Q5L0ss~Jrx z^dhG{N^+^iAxMi+m)o8sI415X{xCPGCM=w5U@{*z0!{@BeApJPk6v^uJuLEVf!V$a zVRcBIj2S9_-Wt>CjRe=ktev4AMRL44^#oP2x$rt327KDRqvQE>rCezp>e?P|F3LYp z_5wu_F_`{$Pl0fPV|P3eUG7CZv?4B-jr2Z}BHY-i4s%@7(t5CBSi)DHIB{a?&zFW_=QvuFlrB8#B@!R}|Edi;WcsKqz- zxk`{}*mJ*L{t&ofIJ@a7Hg4SPA~3CmHR)?SE0Jz)yfcUcu+71Wv5}HM2~mV_4NE3F zpvKW{AGW{|2=l?a0=-1r$-#QBbm49coBD``G(ZIprw$o*xNl6lQgx7vsVRf(wiR1> zG5ix`r=pGiEVkqA!Ppx$iUk7GHEHFA`;v%wAqe09CPFZ&1m^UIDFoY?(m(9sV%m(f zA#|aGjf;y=ATW~)lFj}+B^bUXx|z-Q@3$TwL`n5;K2c!C1R4;Qqyz>{OAIC0PpYoEErA- zgo`&OYJQ`FU(Go_duI%NcnOtM=!poB+zTRly=NK$Z~>t{WRT zGbcYNmI|IQ3x*c_b|%IYE?R00855Q}xm$o(KYx%edI96%Gqw!hSz8+w2oxxHk%;n1 z3v@=i`I!~GH6>sEKZ!O7DS42n6|iwc%8L~<@qe_UG z?Tz@h>#d!=ggCbY_PK8^FZ91Fm^=RL?PhlnvLOSCQiIN0?x@+Q&M{5MGRKcfAo}IC z1GM3wtPxCpG>E5guOHM4F&ZW)%s|PnsSLSbk&31)=h@SN^*Infb76U+_jcB5h&5G+ z0Ko&T^+$wW#Th%V*fESjA1)SaW-ITG!L**~T@8kiCftTc8S@MHB5Eu_SkPf|GG`nD zY0~%9B|L8ZM4L@hC$o|}kPc%<`P)PeDE?Gu9Ecqyab(9}IW$w&ssVxqg08>7E^`mQ z4DMd*9*%I`e8SuU)Qtu3+xmpL2D@6d!ch$HO^KNirVrMw?sI~bq?BXLs)Ct;nXjB-c6Ma?)Le31nxf|U zXcthcUPB&uut}K2(C)S%TBI~fGNt3uAmajU-k25VsWAiyUAOmkcSY}Ap})jHhqWr+ zYw!JOH3Ds(hXfe;B{;%^see}OhDE=cx6B&pU?m-86}?!^j7gJlPknMecL?53kjVYh z9gR5*>^HGN^#0{OQv**en1oMX-Ge{OwVcxW?^?yf01OTN%%gtmtHpo;y%H`x%|ncl zhz>LH5s<)}P4R(UI8|vyDl8fnWk5_qFw=4nIGQ~tpsy`cE`xW-QSOC?d0n{G;&7B) z!yRJ4H_fIB*6Kge%}7j^ya$t;3`lYh>@F!T{o<3}rpwIMyw#EZ(Dvy!K*2TqNcx-M zpj4*_6B3M9B>St7VRKu1ED0NH7u+acW>Cnd87rE-{d8shFyRbw7b(!vO|*_>wXbBnU_k3gd+Cl%`aw5?qpyr5EsO zp``4Wt5J)F{Gw|*H*h>7X19=5)**mg2@Dd7QiH}e*Co_}6uE&Onx2-Kllb{jL(>#~ z8+$;s{l1;n2?Qz7Gt0zG2VvjhREcOyAFqk**MOK6V+%#i&>G36pxoo>x!yZ?*G)F} zSo!36Tg)B?$&==vL|CBOCW*CKhdS}uXQrE=z2&)WlfkC&J?z-O!#@#Cg3QI`T&VEa zXRg;gH7E(vnp+Gniy*HoRq2U$&^qcG)}qtUy2$+qDah_=m~zn`lr}(>jVBQm!K6$! zB>&l|5E+7zGb->QCf_U07@|YT>`0#vhUmC}`~}_XWpz|WwN?C!;MCJ0J5GtD4W8XH z_TJ}`I|jY)AA-)Ajb91Uly{<@l~n?Hz8`*Do2}IZk$pQjf*@`K4Hu;l18E-g_RMKk zLth`mZ0GS)wM*;*G>Lro&utLsus+Rzh82PBt*y0IKP&CecTl%U$BMG~)AeuY1#2&@ z<@8O%BL3S!e zS*u>!TGI@t1FyBBoUkYP_OjUkQ@Zzp$S|bAD5C!_4`ctr)FDNXgFliMPqIZykCB`& z$-J(hNQE|=Ip4@));(M& zRqPU)!JYB5oMsD{K#5s zj>G#9SR61)5TInahI>krgYQx=Rwb|+ z;HE(@QinwBi1=jzn(MtZ$`yMeyt0bzyRJ~!>M8j4Ez294YY}i))jYU3go|A-&LwZp1Zo4F2pDEfu9Au&_b$BZLH$bf=P+k%@m& z4JRZJIMPCKx&HBhMUV80eg$menD0RNn0s!P=f#h zAVG4N*2Mz{4gIg+IX-7U>bZ;3S83Ez!`>ka*BV_^P9`{44xc)d{m{6MT}*Ym{*T@j1yEwCEFjB_?l#x6N?px zt0G8~7wB?5e*ZBVLE{-ZFU8czoY}iuOsX^&kb~(~<2(x1P2yowUXp(b9~^iR6#ZUu zr^hF&S-@#-?4nqw9|f-5h;E%D*X0BCDmhhoh<2TfDDqxyqQew0a9l_RrhNd5Rup2C zAj@qm)-JFZg}jlDc0rYGvhH1KTirR~rhrn#NCW8!Eq+!U+046QeHbfq)saKFH_Qx0Nk-&@Tl$5smgX*%Ud_OqY26> zP2$yiaI~aJ`)7rN6|NJ@Oiu%~phe?OsN+1s`eF^7 zm6$RA@ra;#my@vwa5iKeo8q=K9-`U?$z`MQ5_^Vl2mGZwlx%n6+Bl>h6;*!hlTyhe z#-JAw$^tu3FwBCKGPc_N^u$oMW;n-PfoAYen}dc*w4?U5;Zfopmk0hLtI8;Qmu&`0A+|2j4n-cFPZ)Rj*H0DiA9OY?FJVMx+ zpuN>Tm{`1DStWY>Is{W!gjhz^uj%HSMt=^K4q${%dPY(2AM=5>cNiC5RQHpiF7WZo zuHCtI)zyYw!A?%M<9Qp)I9`ITq~QH?tnwfy*iHwOd)E=gwn*w31l9Z4^5My&;4m)D z&o=R8kluh^>-e@;BBR-zRvXbC=?=dWs@)_p0Yh8<5{(~dVU`a!X^-D(0mKj~?ZCPB0snn0O;$E~E*1N84t{n= zKxlMqgQa8AM<%>qqTkkxQ}2H61?nWw{s83oFMN(Ui0Ju#ZN~n#&%lF6K(_)XVh(l( zJzgXKK1I*9p+Fwl&?n-x8qP>B?{6UiNa!+8G7=B$#FgM_pTLJd8eLVEk-V0+B4sx) z#bU+hX{hTQsM}RctzKDcoPKuQjYXg9fCjk3W(71|7Vz?jMyK4xDE+kk)(kQ6Ni2u9cCfu4V9ia0?hmm8Ls) z@w>plxuACM!mBUA$iT13F2;r$0ehc1-i)ajwQH+rVI6iHK!c#tix3FcP1r z_TRE%%hhxPx8I-P3J6=)(ssp51T43BAdlt=4xgVJX-8A&RJ1rWBpE`s5=1?gx}a`l z?A;L1Xi=!U<37r&gm#1%qNG^bfmoluB!_WrZWzYRqfFIs<;9 zZ3R0$=Wu^1e8+!%+%-b`zp6!FirIU7*$l!(Q^`;>+9RRf!gFU&i8DIF)tUIr>v-iJ zzjzo0ai0aBLlI6YFO?YIh!ugZbrogfgvFy*s?S`^SC?xPv5>q3{V^9g#zJY~amDa( zB!}ic0<*QbvOfCmPraK~WwNaENDOAR?PNXRCvuEDurhRLI+gY2&)VwKDM}ZQun$x6 zXPI#%D@I)(>u4_CU2sX&q|zD3J3wt?>})ee#N`2V2Pc#};y4B7M_n0B!`+Q5<*F<2 zqEyMsY8`w5ez?wgv$5V|uI07%3_gt)LMfp$$uSE=W57yUE)9d;pOBtv9j$LjF$S zwMQggfh)lcp**8x34YyGuIUNamDJn__j7)+L#v3F6VNUwcT&j&0ZWn03!`JwS~J^s zZ!b&^H3PIYM(*zPWa^;|Js`k}GG2%{`Q^uRr>=(;$JA1}(WD{2TFPsionL4M~>s*`Nh(yL3`A?J%7m&_TN|Jv>UCLy4 z5h4AnISEQ*J}s&NPN8;-ZfMN`zwcdE>q&YHj}2up^v?l$4kdBeEGsTv7yQBUh=jOo z6qSDA5uN58d-+2Gb+PLl9~fO4M1%OY;o8|%4Oy-?cq@2IcZg-aeX+)=my8}}Vahz>f;c}6QEV!RJPD&r z46R!+t{+^4O%#8Dw%ybx?)*nF-($k@*=W&uW_f&!nVO%SPG(MtPN$rlU`-0yGLqX_5Xg zdWAWp5%N?ey}H>d)(tq=4PHiwX(tNV(gZ6JEbE7I#{hs-(xakp4dw9mH;7ZAreBdF zjDv@4Zw!-|l!T1!EWk24@1ZVe?FW3W)=dzfK>r}5mfUWf%Ohex$M1p1&EYra7gsLi zYr(f*qp4y_j2ybYy=ty^S)=gYoyMqa2gyj&DDY&*mpl$gUmOXk@Q=@{4;np}<;MO6 zed0JUuG1u^sLmOh=Ha9BI;%ikosh3S&EV{Skb>a~udfm;mO)N3NH@pIf}X1q#I+@L z&6alV)s4SJKLTYOCs-Sw=z}!s#7k-%2AC2+*R~F~XlRkTIVU;1B&O~a#KeB( zT%GU75|Jg3&$f<{(&yd%t^A93D&TjIXp2w+m^9 zfU8F{*6S4;0nh(y?V&FRe9W)rQzgZ6G+kGk6+YdyTBdK`iMPM>_WYVb(NH$*0!GIy zKtKjjWNhX-TiHzNxoA>cU)-{Tw%huwAeB={=ZCJw`UOaAE-snpjl_UZq3mS zuV8n%(`|1&I&E71HCh$v=qWIH{o6MhPN-A?@pcZ3b-EF&%(Ny?ke52mu78Sqwj=*E zVHXEV(__NN?-6Tt`?SyQ;Dq1CiyAA^;`Q*ubLm=@z*GAk5B;=aCmpQHM z)|o$3sosW~(V(jZ%`-dY64xNZ)p0A9El!f8P=VHl!Zrg1@E$QA>=bh!eh_wnQ`hG4OxW2jY_zY*Is012OyX7#Nqq! zc&l04Sg&d9xA1~GqG>8x`zX@WvH4AAG?osGKU8&tk4lA26c7ot=Lc}z(xsS?hv-)z zNq1yd2-dmp<$BK^kt=KCjGL|MCTNPT1}B|;5Nw;CI0TVqlr*$M*N8;rW;u1Jxhh9_ z2Dt=v0zY3KBPGUquLI^YkINqy%tf5vm^<7hiilxedqr2C`s+Kl#IxBxLgQBQdxvXv z;m{KKZ%>`bzwpl2-VISQsr4FYz`m%yrdD`FDNP*WjVkt*YlxQ??q~ML&Zua=74miu zjVd@~qKu55AGL&|NM!7v*u>kQ%s%*vq#N{mT-z+|&@Hoqo@VG|%KA%Olcuivuo~%L zI~Cpd@T@Kkn;jXYSL?6wBa%UVOV+Qzak0=|lRJyEKSPtVK2{V+^0COC(U(b1nB3;& z2ZNMNjMJEFgSK~~>e@v}-=fwIH!0VzJjlR}oVFaNx{2rUJD3J=w+^YlF`H}dDIS_* z=AoF136vV$k}|-M_N>CW5xp%57z?HmeD?!M!kD8 z7bBwVx(}9AY_uV=mFjl(pm=R~M2K{3T47+7@UcQB$@tF6GE_({FUdrq*utz*&WX5T zpoe(a0$zge9yPVvcNYgaMc7m0e;y=-c8glC`XoEaFTTA&4KlRuDQ7Jny#M-WIatB| z#gh`FCg`vb#|e+TPEPC1`fPwC36$1!hUdW!JmfZyr}3kZW<}py@Y}fQ z(->E)M%aEE4@btM2Xs<^k?uq}NjE(0o@Tc(V2(+%86N2nu?~+id)Tb{qltTz9L%Mq z#=km;S)}9+Mc3uLt!U|7R;!osB67Bj8e(kMn>-7ygds46-FO9r$;^vtw>#f}&3=X?_EuDNKeN3?LZ(_)0#Y~wjeb*?wR zeiHPGWe0;~IZ4a>X8IPs@?ql0A&J+&L@=-V4mD%3M4}r4<2m|dn~iYWlAw+X`x{g3 zYN+0&ne|N%o-ZRO?|M@4?G+kK4QUj**I-0_F#s79R>;cJpM2_rR#T|`of{Mo zog8Mk5{@sJ#Cp=f*kyG#Q!VYt4h^g6YW9#QcLG%OxQm#i$XN$`4vc75ilZO?!Q*yy zPQL{ibN@u|^tVfMr-QYY@aY1`p6>`y?tbH)(Q)zC$Hm0m40vdGVfGjW3H-vs>HI1V{sEe~qsw6th3{EuXB{}?k z!H_X>jWPwZ8X0t<9%1aQi{bWnN8QiY7mT0n^Wl!!YFT`w9cL%Ni3;#j;f4`27ID)75=xkzKxcjBfE;mqzcy|}iK4tx1{Tea7ARd|d~(=UPBYJ@1rxct z`RolH7Fh3wRCrJVQ8J1nw2pKFptZ0E-0*Q@!}H)WM@naA$Fzl?MIL4EX(Z?Q7yKqc z5E=8E(hsh@J9pX7x{ed$y z-n1xQFRNr82C5&2UcheXLn%_y)oGed>RrQD{4-5ul(`R#=pO*HY+2#4JQ3%xC{h)N zJeiteqsH3C0fkAI#M>Xr%$GX6I`f|it!kE-P?P>d#Bt3z$`}DdN_5yf6uklq2O}(+ zm#&0b^HT?}=|9TmcC}gc6qyN+qvJ^!C;_-IuN*-dn$hBp5-J~o%uFKNTezj@=6yAv z*Mo0C*WQUtOhf7HLhZ(8Slu?No19j{#}{IM^Z|jxd-<*<%v!uan*^Dp=dgOKP0eQU zt4_NILDgu&)Mi9V{7qJyl`C2sS0Cg;w5|>c!@W&gxNJ6*JFDYq8>?tOebrxKh9B0` z15FB{8fA6dx;{i$b{l-MGn8Y{+KaPn~Ew?o#C z9rCN`^Sdemo1v%Es{)HVehO#rW4=FJNxA1;97PzDO}+7W?aTv0*xbh zEqy%vZNtdpyDfr-u`avj4pl%y^<$;>(@PdwAbPsjj^-pDWF3|+kVU^>vJlbD251Xv z`A;sbXz+TuLCrN}U0su`icX*QI@f9VcM)7};2x%8C4j5J0|<4YkzKHl5?qPA}kcs0JVLvJ+VxFtuNDoUvty^`QkL^$X>&N;d&yN{4Fe z%g)tuqb4A=z#E}xY$NviuL$pb!fKjBld{ffWM3VGHa_9kyFNLxgOUo(uPB!)yAZ`P zey@pR{)i>rP%H4)?`xNK_r|G?8!ZHfc}0g{B&1;1JYIsM)Isb$vZ5*d;bmO=SbFue zsy0Uu{9!6P%TQ|LVWhZ>-Xz7U z=<25G%$eH3OkUVZ{i#rE5rWIz&`|EUD%yuIqO!BJ6mXc|Sz~>1V>+y}MVCp>bEsfm zv+Qez8UIQQEz>G&TkxANwO4*X9R~6`L7ciVj#tCI&*R{t|ifB>yw{SPkyC&rx##aDAng zHs@8lRSYtK`>xU|kpNOZ6e?YpP3B&=5tSlxok>OaBLF>NrN7=@2j z7#G~rOKfcx%V$(1W;6_MI&0xXeH9~dtAH&1)*NOfcHrMdFeDn!W9}crHX_*t4Wok! zk>N6Qs1Qbxu?g53MHZp0`~3UEGt>hN0PO=o(uVWt{=j&JAy$^>vky}1GYfs4C}{JG zlQRMf)>Gy*OlOSRnmYGq3C*|QWUm-&+|NsORdw`f7@qXKmMM1AiY4o zt~Vj|X)D4r=Xv^q?Z&Zo?qcTAf%`hO!>6w=nkUFkZ0E=@?YD?n@fQBhm66cuWO?Ux zNkGeSz41Fz&)l@BAB2LpZJhQ;H%a?x_*}cXz>@;Lp?Y*mSW8g+&HxVvni&bevSHMV zeoT|xo-uSvz^=&=zZQF=J#H<6=w1hbA4?c0?C(C}>eF?_IrYrYpcv<|%LDLRnssPx zUWr2{V6~mytKn>H;n_giA>}ytsIJfLXLvk|wQwKbD2#RM#L$$dS*HYuMxGfo%6^x- z-x#3#IQDnz+8}SYiorERxGp_aE zr)+GPqWtzOzoW^?G4`yD3FnBX+3;2N%I6{49F5B(){(XN7@vvWpPDHiF~W~#@s~u{ zoT;UBL{Z=Ip90Q*DybdC1ak1f!!{1nT~|D7c^poD|K(ve5Mn~X&NQCX25(GbR$L#V zZHHjZo@_LtLx{@eJ|?9S$0$?BwCJYpXO0teUr~~83(3%0*|isGolxAi4g%Ftebf!x zrO4U*8pyOxsLOK<%2^G>?2EVdo|oCf!Yf_6e@=6@4!Qo)x96B#!H2Al~OV3 zbqqoM5h0nvw8R(-VdEMVZ*I~aZ^_AN6tirLNd)FyHeH>l75k2WS}~}oZ%exrpMZ1o zW_Y7_-QkoX*+<~g;9O%C@5f{2N*0McNhvyaXrp8jf7t#B)v`>At>kE1jaNA@JD0D(f8L z?J6PXr41&8ttXi)DBFahQ?6M!s zz9;-P&udo+JK~_Af#N>YFt2MLL|ccHzoXvCnoRjq;LTc6;iB`Ktjg`sfYOm4=f08;e4@=kb1m+DGkjOhk2xW*Ku6xEvw zBk2R#&d88OFD#p7t>Y~yNqunlt+^4Asr@^)W5uk0BOV6`YY=h22;`sMjFZNNvwkGH zAb-|a+pg_r+5~-W;UWF~)v}oqpq0xuf_!BxXtTQiU^7w_iKT!nJzO{yOLDlUdBpLOkzhv8L1OIYI z!~#7$j)G+f=zng+Nu~8XSd=@`No@F7KuQLXh_|pI*pc2jQ!mRN*4*P5|3EY=89EkP z(+BFXVw5f${|thT5|7(2us5beLRjMPi_1>T_#3?vgm4mAK8B#&S}&W|N54s2>rVdN z`s_qp(BmeNlfJ=~m=(&M*Nbcuf_|t0T@Z&_Iy!Np&yjRhk+Pv$S?;7BEfbRhY_xb7 zNlo(qh8naMUkjLV+>VmN5NLcIcwYWbs zXYwdq3M<+J?Z+hTD3DLg)ee+>aH6|-*jK3?{k<*`Z4vTpUH1$>ZD57|Zh`lTetabW zeip@29(3<{dCdDTqszRD0JWhjh6@bR&KA>YgIH^PSjiC+R&X1qWBg`Uuza+KH(tpu z9ft9(xKCRbhaTtNpKNB~&3Mf3?YnuGnU`I(W@3KB^H5h(`lr^cEXEJCgXyqEgiPcQ zK|DSEJi+*M^fW!8Gx9W~Bv$N4+S$yWkK}RJ6&v^tj;>YT$8`T; z!u6hb{T_E9a|sa;uT(&HlJT=R@Eg82;&U=1XRseZrM|5;u<8*9dtVq)up>dP;IrIKj_Rp4Pg`EG$LX#rB|n1lUr}z_M_Kc*69~-drsR%uCDzlp1Th7IAGwsEre3_O7EkjdP#ZE!Ki>YR02EzU~9Rckx>}g}d#wG!VbD zb#C*-!6?IS$=*k@sc1FRagOtHwWFvS^Oe@0N@-TFL~JdW!R?-V%Y4zK(PF*}|PMy}V!>qK0L!GE(a)YXolDJfj6f$R`u&tWey6U~f zxVpr%#*yn@4g;zzvQp@Z_E>8$Cl;YRp&Mt(zoDWRCKb%x{Iw=*K1?5Ym<%^dq5O)* z`Nq$Wc%22b=1Olv0)eu38a1c9PwEfW?ml{(1pq|Kt3 z!q)%+zZtf|Wvl|$Bs?}V-%=Q$#wXww-7-DuBnZ|ktWeC4HjThvPdyF`7!7Td(uwg) ztQ$&^1Js}=g-wNNHqk#?<1Dt^FPcl&)Qb?R^{g5QNdK#8m@(AH@U?)){YC_)g3BH9 zdM>zB77HaGG~lE{##m{KDct5CF<|eW&^`YjL79O&ObZ)jlNTl!=pCL5mY+pwtLhGn6$k!j^`=1~~^ z^vnzUwK ztA`(ER(w0=WK*tJxzr!pSUIetZYyL_UzrlNR7pA1pCK(#RjS93BhCCu3-1G#2oV{Y zzy{5--wBqrAzZiFaUoNq5cHYFE50TB{+Kq;Wtjc?N2q zuRkugbK3k|=qBWg>zp=1wi$BT#$aUv%P@K&K*(KHU=S@kU?yH!GM0}Vz}$NDN*4^V zOQG}a57VS?B3^OuOLEC*{BG#mg52>B zGq~PpvRe(e+0Ow}xX>aq#crMMC5BdP2556)(q5FW$x*LKofd*>jeM=pJ!(0(G063D zkij3Vv^gwJac3_J=#qf8c7xYsgrKjaT6vaS7w_2D0CHq5&W#|+M!h|~N7X%^G$xlJ zD)gXcWXk0Twhm~DayvH3Jj|f@?b?#{X4D0@>|nd4@3lYXmClm)QcqWGhrby-ZIbz{ zo=QP&fDbFyPXyN|AH;8(P}W2&*H9nI{4x5f&6C+-h(re`Jwv}b39c;g8Q#xa5wH3C zxV8K&TF0YY!k7$t)GA31XVlLS%)|EBfCG~oG*(q1wY>@b9-2_}emG5*j@ya8ujz(< za?h_T{big5y4R5-sPMcl?S<9;Re^ymZ0m}4$f7;iS)7s)y5GeOIBkxh`=8q}^z@$B zu~1nz#A|mXH4#OP60Qv?YK=CS&NuelH@uK%th$q~uM>LqN1QmuZ%y%Ns|$U?ud^<| z}7Sqz?WHNfk6+$ma3cQv_Yo{>Q-Lc_yg98#i7bm#E zNp~(J7`02G``1=-QrdYVjEp`E(9hvylU!Q1g2@<1h<}|SY}iOH)EGN8G3DMbm#dwT zjRnL5DIFEj#X`S>o;FqK_0#pXm?!{H|!rqs@u-fEU@)y9fR$<6=ajeqQTkve5*eV@=u8C(h9R zL=LBD$?9h!I3PM=GPn7+xm_8g;&-rvD+F!1+tyIIT08o<3_CmgvM4vgV2EJJ#=Jcc zf&!(7hU`{&fDN$F-MaMxj(m=RExW4W8@tZwj5$->*x%$TB8>(nkGOEq*6wn9m)*0u z9e4>W~#vVIg?q%VoE&QCwG`w99J$Vcze>@VB( zy?#I+htc2Gs_bDoP$Qx1gPhTx(NM8rFL^iM($*}>JPNs6nXO*5H6g0=@w#E41M+yr zdU)G`a&gWvuq!%^9iAH`ZN|7r^%nOik+r@=foGCzGVnq1r4w#>Nt1UXr8kuV$3MLjv9 zr7-B_Uzww13k6c9uJ~m|Jvrnuh^ zpS8*dBkKhEHH^M5u42)c$&{>K><8z)#VtFFxaz^r@qOo!A2}q9)51I50pT}}0ljh9 zX4%q1kp~W|R;@<%c!k?Yfe0tGmrgWqL~x@6fjH3sxWPqTP@I1+D5+&{B$Mtr-8NbK z=Oe(o0yj#;C?`==qWzF?20;43F7;TzhrL^K0k7ef1YfX_)_|as$48P6FVY#nM%u+G zKyBPsoWfcuGT8{Sy-@Eg{<4bmom1xtnHncC9p6pOd2dHxi36V2BtP#C%bmHODugRO( zs(pO@+I*MrsIGYIke0cPI?pV8IymIT@D226pIrRv{k`WxK9d@37)P2KoE?+MKSQDy zX5HDv1D2!m-0VKMT@TBiP3T_c5yHOoVQhqT?^`edPM|xxIuuP+LSBD&-PjxJIId>%|DVHkZwP_xlKDYr@{C5TteJ*0_{|DL(L>n=!>5sQx9xLnteQW8kE+w zR-ykcbc6O{8%y{y4RxXA#D)&g%|Ue|u#pg`7Kz@u90jQglD+VRwJ7f8?C?ABno7#F;Q=SyiqLT)7Hxk$*KAQI3oLRoNUeXm45od zb=KS0p#JCFN@`=t6R~~E#y&*@v6F~ilN$^P7(a@}6ClK`9frW^R_vi)y8i%#!h;)% z{U@=~|FM zPAB5BhepQpXCwDxPY&4$!j9&)iTH)Ot$7a0vu8g`1w7p z*iT$uhZtpUVPv_hT&(t9;RsNb{A-l%TFAoKJ!h7pL)1G&tAVfH?zHF53pd9^@b1M+ z`*7Xag8HRFY-eZ?$rYQ`;m%~P1ysAi|IWE`2_>tfGPtc<#B~gs>w9w!sAL|>E9@5{ z0n4a6`-L;D$v9)kM^QSd&epg ziCVGRS~a3EYSes?QhmSg_5Km>@8^eeuIt>Nb6=kkOW(~#{Mpr_U^LCBbE8uwai^GM zYp25gnzNj8Cos_-Ze62Q72Hpdp5nA=Gj>65GHiC|L_CMTR_H-u}N87IaB7nnL z{Py$kk`@UwRH>y=e47C-lrDx$l+q%3{Z_>tSl{29HfF(=b{H;KiKYezH{>H!2Sy%U zi0kLB5q9AhjbkGd{o?HxInr|0lEjW)GMdMX8wqVr>!SD4Y3zOH;RJM5hMm~P`7pF4 zD6f748JYJr7ZAeny6>0w--kwNsH6?Et6$&f1zW*Dq5YF?OkGxwsRepS9UBiZU(%pm zbKZm{CR2qsr)}h+@muW;GnLez2;%7+LDC`xXj!I;e0BFaj02G$Rj1HXtTzi=yF4kM zAKh`O@u6=HSHk%t=x$4E{vFN>GFE!$Y5);SY9|Ohvw!t9D?O9j7->;yD6b@48EKa7dARr?2|JL0`IpP%?9b99kDf49Bq4;kr2!qA06oY8?-|3N zuM}*@)UPJWkmH0h0=1NMl?y#QGlTX=p4#-HMGwT-OtOso$;dyUp4sQ0uO^<|;+b1P z`0~2vSIUA5k(+4uL=*W8aLGz&KF9R)1))b4Q*{=O^hzEw82E9j6QRE52De8i=-ll` z{+I}L@w!>Pe?Lv~Dp++xMyZg$x2Y zXtU4`_S7G07P3O(a#;o*Y@M1OF4Aw8y-Lr^WRqb!GsIX!@A}CVzQp8aF_R5XE-X1- z-kH1Po^<=c4xWa+0MJ%_njtXQ&!>OF1v)<NlP+ST+`D|zVfqBkcH1dO zwu}xn8|{gJ*j|Q~Lo9<&%pj4qTSA+2eU|B63H5<9z%nX9BoXE$*)C&DT_ppSkN?G4 zn>n%M*j%9xa)0m3s8faCjI>bgYsew@_BQq@rh=YOYOHQy%`I6~X`{8eDI`-|>kWXMI!`O2H`evWZ z@eTY@*vH79g|`li|5EDAtZ*D6mYM3n2A$Z}0$lOxi!Q@>XH=8z)3mO7k^>JHk%**+Vv@`QXE4$ke8?4-dv&GY_nr!(Ow z_abci#2h5IGMwwf-6o~h6-OOnp;UW6uqwQZvR^R7rnxyT^EZ4jYCW}9e|OTZB%#*u zgy-zqGq)+!{Pw$hJ8pXEI)EOU4wk<;#4g&M{zU(s2Iw3zZyMqn7mLCGNs8(p2m*TSytnhuDbw7|-P zZ*&avXe2pqT%wNVFIlryHq9`sxt(1+hssK`C6E!#a+6V&0(ZP9n4Ki*kpE0?NAiAc z8{PigbBV{1A)J$wtzOy3%{r=_b2Yd00rC*^hvCT2H+`S7?(fdX zJ7qGjbud0k39&xHUA9-Z+;uxEa5ZNIeYIRJpm5eHsd69tsyY|i34ea77BLuHdBAi= zJaLaG9&>PAYJmRg&*S%>O@3KvPsCQXMs$KIWs#TKi2?PV=E!mffTb_@CmF|8#bAjMR(so zi(5z&!4=$*N0wf4uoN_4$Vx#tT*FuiPM!#sr#grO?dyy!(2xt@%+XoO3=(I17u$! z_vpo8i{{H3d=yAmnr;@2(P%LKtRY#yJVFX2@VlTsyjq)Ac$&Gi@syI=#2m=0@zf6g z*5LOh<4XOtc-+#4qUd7u_X6+yd9Z4ZNwGLOxvv5;rW?5G<K(Oyzma*SEb>gMwP;u;f+V=TXE|7>omd2u3XH+t;|41@iC!f|i2 zWZ|4qwrsra*-tuaYY+(oAF|a8$fLBxWAf*pEIIbI-OH}O6ms@XzLVqoQ)NTIBJ}^r efl>wjTyRA^l2S>N*#Y9NboUL-4QljV;Qs-ouh)(M literal 0 HcmV?d00001 diff --git a/examples/widgets/dialogs/classwizard/images/banner.png b/examples/widgets/dialogs/classwizard/images/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..3169152b8e6d9fbbaa61cb3598a6604f5660250b GIT binary patch literal 3947 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 FV1kZVGdKVM literal 0 HcmV?d00001 diff --git a/examples/widgets/dialogs/classwizard/images/watermark1.png b/examples/widgets/dialogs/classwizard/images/watermark1.png new file mode 100644 index 0000000000000000000000000000000000000000..2b4d7e56be127ae82286e6cffb2d1433c077d6cb GIT binary patch literal 12190 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 literal 0 HcmV?d00001 diff --git a/examples/widgets/dialogs/classwizard/listchooser.py b/examples/widgets/dialogs/classwizard/listchooser.py new file mode 100644 index 0000000..bf15be8 --- /dev/null +++ b/examples/widgets/dialogs/classwizard/listchooser.py @@ -0,0 +1,173 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QRegularExpression, Property, Slot +from PySide6.QtGui import QRegularExpressionValidator +from PySide6.QtWidgets import (QComboBox, QDialog, QDialogButtonBox, + QFormLayout, QGroupBox, QHBoxLayout, + QLineEdit, QListWidget, + QListWidgetItem, QPushButton, QVBoxLayout, + ) + + +DEFAULT_TYPES = ['int', 'str', 'PySide6.QtCore.QPoint', 'PySide6.QtCore.QRect', + 'PySide6.QtCore.QSize', 'PySide6.QtGui.QColor'] + + +FUNCTION_PATTERN = r'^\w+\([\w ,]*\)$' + + +class ValidatingInputDialog(QDialog): + """A dialog for text input with a regular expression validation.""" + def __init__(self, label, pattern, parent=None): + super().__init__(parent) + layout = QVBoxLayout(self) + + self._form_layout = QFormLayout() + self._lineedit = QLineEdit() + self._lineedit.setClearButtonEnabled(True) + re = QRegularExpression(pattern) + assert(re.isValid()) + self._validator = QRegularExpressionValidator(re, self) + self._lineedit.setValidator(self._validator) + self._form_layout.addRow(label, self._lineedit) + layout.addLayout(self._form_layout) + + bb = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + layout.addWidget(bb) + bb.rejected.connect(self.reject) + bb.accepted.connect(self.accept) + + @Property(str) + def text(self): + return self._lineedit.text() + + @text.setter + def text(self, t): + self._lineedit.setText(t) + + @Property(str) + def placeholder_text(self): + return self._lineedit.placeholderText() + + @placeholder_text.setter + def placeholder_text(self, t): + self._lineedit.setPlaceholderText(t) + + @Property(int) + def cursor_position(self): + return self._lineedit.cursorPosition() + + @cursor_position.setter + def cursor_position(self, p): + self._lineedit.setCursorPosition(p) + + def is_valid(self): + return self.text + + def accept(self): + if self.is_valid(): + super(ValidatingInputDialog, self).accept() + + +class FunctionSignatureDialog(ValidatingInputDialog): + """A dialog for input of function signatures.""" + def __init__(self, name, parent=None): + super().__init__(name, FUNCTION_PATTERN, parent) + self.text = '()' + self.cursor_position = 0 + + +class PropertyDialog(ValidatingInputDialog): + """A dialog for input of a property name and type.""" + def __init__(self, parent=None): + super().__init__('&Name:', r'^\w+$', parent) + self.setWindowTitle('Add a Property') + self._type_combo = QComboBox() + self._type_combo.addItems(DEFAULT_TYPES) + self._form_layout.insertRow(0, '&Type:', self._type_combo) + + def property_type(self): + return self._type_combo.currentText() + + +class ListChooser(QGroupBox): + """A widget for editing a list of strings with a customization point + for creating the strings.""" + def __init__(self, title, parent=None): + super().__init__(title, parent) + main_layout = QHBoxLayout(self) + self._list = QListWidget(self) + self._list.currentItemChanged.connect(self._current_item_changed) + main_layout.addWidget(self._list) + + vbox_layout = QVBoxLayout() + main_layout.addLayout(vbox_layout) + self._addButton = QPushButton("Add...") + vbox_layout.addWidget(self._addButton) + self._addButton.clicked.connect(self._add) + self._removeButton = QPushButton("Remove") + self._removeButton.setEnabled(False) + self._removeButton.clicked.connect(self._remove_current) + vbox_layout.addWidget(self._removeButton) + vbox_layout.addStretch() + + @Property(list) + def items(self): + result = [] + for i in range(self._list.count()): + result.append(self._list.item(i).text()) + return result + + @items.setter + def items(self, item_list): + self._list.clear() + for i in item_list: + self._list.append(i) + + @Slot(QListWidgetItem, QListWidgetItem) + def _current_item_changed(self, current, previous): + self._removeButton.setEnabled(current is not None) + + @Slot() + def _add(self): + new_item = self._create_new_item() + if new_item: + self._list.addItem(new_item) + + def _create_new_item(self): + """Overwrite to return a new item.""" + return 'new_item' + + @Slot() + def _remove_current(self): + row = self._list.row(self._list.currentItem()) + if row >= 0: + self._list.takeItem(row) + + +class SignalChooser(ListChooser): + """A widget for editing a list of signal function signatures.""" + def __init__(self, parent=None): + super().__init__('Signals', parent) + + def _create_new_item(self): + dialog = FunctionSignatureDialog('&Signal signature:', self) + dialog.setWindowTitle('Enter Signal') + if dialog.exec() != QDialog.Accepted: + return '' + return dialog.text + + +class PropertyChooser(ListChooser): + """A widget for editing a list of properties as a string of 'type name'.""" + def __init__(self, parent=None): + super().__init__('Properties', parent) + + def _create_new_item(self): + dialog = PropertyDialog(self) + if dialog.exec() != QDialog.Accepted: + return '' + name = dialog.text + property_type = dialog.property_type() + return f'{property_type} {name}' diff --git a/examples/widgets/dialogs/extension/extension.py b/examples/widgets/dialogs/extension/extension.py new file mode 100644 index 0000000..b8919f3 --- /dev/null +++ b/examples/widgets/dialogs/extension/extension.py @@ -0,0 +1,77 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the widgets/dialogs/extension example from Qt v5.x""" + +import sys + +from PySide6.QtCore import Qt +from PySide6.QtWidgets import (QApplication, QCheckBox, QDialog, + QDialogButtonBox, QGridLayout, QHBoxLayout, + QLabel, QLayout, QLineEdit, QPushButton, + QVBoxLayout, QWidget) + + +class FindDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + + label = QLabel("Find &what:") + line_edit = QLineEdit() + label.setBuddy(line_edit) + + case_check_box = QCheckBox("Match &case") + from_start_check_box = QCheckBox("Search from &start") + from_start_check_box.setChecked(True) + + find_button = QPushButton("&Find") + find_button.setDefault(True) + + more_button = QPushButton("&More") + more_button.setCheckable(True) + more_button.setAutoDefault(False) + + button_box = QDialogButtonBox(Qt.Vertical) + button_box.addButton(find_button, QDialogButtonBox.ActionRole) + button_box.addButton(more_button, QDialogButtonBox.ActionRole) + + extension = QWidget() + + whole_words_check_box = QCheckBox("&Whole words") + backward_check_box = QCheckBox("Search &backward") + search_selection_check_box = QCheckBox("Search se&lection") + + more_button.toggled.connect(extension.setVisible) + + extension_layout = QVBoxLayout() + extension_layout.setContentsMargins(0, 0, 0, 0) + extension_layout.addWidget(whole_words_check_box) + extension_layout.addWidget(backward_check_box) + extension_layout.addWidget(search_selection_check_box) + extension.setLayout(extension_layout) + + top_left_layout = QHBoxLayout() + top_left_layout.addWidget(label) + top_left_layout.addWidget(line_edit) + + left_layout = QVBoxLayout() + left_layout.addLayout(top_left_layout) + left_layout.addWidget(case_check_box) + left_layout.addWidget(from_start_check_box) + left_layout.addStretch(1) + + main_layout = QGridLayout(self) + main_layout.setSizeConstraint(QLayout.SetFixedSize) + main_layout.addLayout(left_layout, 0, 0) + main_layout.addWidget(button_box, 0, 1) + main_layout.addWidget(extension, 1, 0, 1, 2) + + self.setWindowTitle("Extension") + extension.hide() + + +if __name__ == '__main__': + app = QApplication(sys.argv) + dialog = FindDialog() + sys.exit(dialog.exec()) diff --git a/examples/widgets/dialogs/extension/extension.pyproject b/examples/widgets/dialogs/extension/extension.pyproject new file mode 100644 index 0000000..e0f2ba7 --- /dev/null +++ b/examples/widgets/dialogs/extension/extension.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["extension.py"] +} diff --git a/examples/widgets/dialogs/licensewizard/doc/licensewizard.png b/examples/widgets/dialogs/licensewizard/doc/licensewizard.png new file mode 100644 index 0000000000000000000000000000000000000000..cdba877cac88fac8c1e51c43f2dab5aa9da5472b GIT binary patch literal 47064 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 SN+cTUQdQJ?S0n#1@_zs=lOC@C literal 0 HcmV?d00001 diff --git a/examples/widgets/dialogs/licensewizard/doc/licensewizard.rst b/examples/widgets/dialogs/licensewizard/doc/licensewizard.rst new file mode 100644 index 0000000..a056900 --- /dev/null +++ b/examples/widgets/dialogs/licensewizard/doc/licensewizard.rst @@ -0,0 +1,9 @@ +License Wizard Example +====================== + +The License Wizard example shows how to implement complex wizards in Qt. +`Original example `_. + +.. image:: licensewizard.png + :width: 623 + :alt: licensewizard screenshot diff --git a/examples/widgets/dialogs/licensewizard/images/logo.png b/examples/widgets/dialogs/licensewizard/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..56f17a3e5ade40967dd5b0a8e48ba8bc674f20df GIT binary patch literal 1810 zcmWladsGv57RU3@U@0#6XazyxpcZsp1>0RkFa!!mNF&DBED{NixS+(76*oo12pA&m zL6!wIlm&?x8xYx)tT@X{29Y|^#SW$DXazb(R!0RHo*gR??@sUe{(ir6?)~F?&*$EA zenrx_or_&px^g(2#j!C_GWHeyb{6s3+ti|e&EfExq>|60JyU@Vi`fFR5Fvt)C=hRh zh%g9=0pnSuy3!gV0*Zo&ZNM;KEVtslph_kEQbGI)sQkb$0c1g-@B_tKPy~V^4c5zH zeFCU5NRTY2P`HF&HB=GaS0L;#iC%0l~$t}s>`j+6r+e?v>K2}Xt9(w6rqM9 zFqF`SvtTF(v78pm8L=G12~b>u6_?Y-5=0@Tjb~|D8f7d;jOD1Y98)Av#!6OTG=b4f zDH1@Tq{K>4WI(kEsWwrbX%HfXYSyt9R8q=fB2`k_Vzye$xJpi0YS9Qeqf$~TmTjZe z+Q>pctWBgiijheeqya@5aHJ7Yr2*1RBF%ubGcqYFP^Xe;JE2YmbsC9wQtC9oIx%$y zsn!5y$1ppN*=fuU>Z9x^3EYlHB+z&diTASf2z3sw&Se1-ct54p;6yJej$sUXRC|;l z9s)4{VhN+o!N~zqn?sW%sm;a6VMd#aYxV4W8EqlES8Omk4X!(i(-f`C!s!u4mqqH> zwaLL{sX$LLIz6t_6S^YCkOPKX%#aJ6s^N4FXMuNYRK(}UlfHd$;QVWa5BAhrUvy0~ zxV>3(;Zd_@@HchdQ9iDmp?j}Zz3Qp{<=tEPNOG+4-ttXr)_jxx#pB11qZ7?&Y~s4D zDYk;?Ij8+)q`9n7(zl;0N%?AB8TWW@p5SDMuj9v$9oP9}$Fh2ESWbZSyHh*I&vTC? z3BpczO;FK({=C&Y_)9_^Ki(5HbY3#ArPKVpW3UxIS@Q+2TakG3kIvpac~8x|M7GLUCy)|nRP z3(jmsMSlik*3D$@YsFt&wv_t|>@&3k1wU1EbT2BO^+Rpmi5r&&>m>n>sS4j4{%4pY z8$pMR4s029#`1;5MRTJmhY#O2a$E8bc&K(x=V^`~Y^fppP95yI{YwDflRUg#AKCT% zjYIEUw<9(v>`vgqmB|+Oa_P_KH}QabNRd%h=`X!2Y6^FM(bAFkzbUV-z75}S>rK0S zS8|!F<7Y&^|5lpR={=&U=>ykJY#+}Ke)wQ@#%V6G+jfOpv*2|8^1hMmzI&p}HlN#? zn&LV5Ht+S;PXrrp?&VkIT|b%ag0$Uo&TR2`GZegh^WgXspVhwpmquMUk{d;Ne+$iP zbWi$p6OZs`>#m3X(7a;wbY1`GUhA?UbNHSsg}!@sKi-XVi8#^mYk`?XGxl@gBZlpd z1ftPMWPIf7uJ1m&<|g3{U*u1WOto&kC|sWzkh|5HIeI-?v*?`;jrDbZ7I@w>X5xcX z&WpA4;py4;iyz%Q_I&V_%bL0wLiCSiW#h0qGvEe2mw@VyfV>?>BL}OR~`h&=}D$@xK zBrm&Wrc-#7SCPHY^5R4OPw_r)PAuQ2q?x!BPG%1MK8HJ~b>VyuPd%Rep2v4<4U2a@ zw83d@c5l^inr-`U98>Nb41X_4@ViO#uCCIE*-hK-Uv_#Yw}ncD@)KSjd8q~NULtLX zEjy@wU~pjRkoP`t%BS9riAopkd-pH*(hA`hn~{M#Csj)x&8^wN-!XYAeDT3p+oPwo zmxLE9xU+>_7vx97KigkdS2~t(k|^$Tk}9j}C|3Q*gTC#yn3KNw#ye=2pXb+jtp zmZ52n{`uB)?XzjGyL;#T{f&>T_tAXNAuxZo&6_$WyDDNOe;Joqp`_%NhMFt9i=L-#l|_&7NDI6U|`px{3= z_&_lDN0{PBB=|@u_(&}HNU-QgyjV{p_)r}9P$2kN8~9kHNLaY&Sjb3V%xGu8=xC@o zXtd~Pyl`;5Sa8^IdSZ!yq)>p&NPy6Qh`jiS&}fgIZjcx_n2LCqxKNnDaG1zQpiFR} zm}sG(Sfkp2s1P`)6fmgdV6e1Mu*8V4%wV`ANVup-xWI707)Zb;J6^*%)sc_(BO!Ou-NF} zz_9SZuz&;z@XXM-R56&}>lf@bJj&_~5Xhc);+O*y!M>sOY$e^7-KC#K?dY z2#^Q}Z@A!~7$DG?n23Ay%)s#Y@WABo*t3@C#GsG>5OB!w z`26^A003Yt0B{Tda3~PC*WqBG*c>-=tblPakgz~(fEa9;SQr49P$0NiDERp3s0bMM z`tVq&$Y2ZrxFjG@BmkJ(m`Df!cmx=bL_p9;KwtzAn3$f7I9(7xSW|On2yC}?pH{eA zZ`g!5kiUVps-|M9=rEAL%XpATsMtUh0G9SqE&u?9ut`KgRCr!YnT3+$NVA3g)?#Lv znVG4Xd6;o|f4&G$aZje~jm=U?Zg|)VWlxnx`cNws=%b9N#blsnTP6mjsE4spfvPd?u2%9Mt zELAtu8e!II%~q2vs2Mdw6$~MDUcIZ{ouA)TtM<5BWzIe1W5p~S5u^uZGr_Jb_+mh8 zTJXhrwIXR%8+uA{n2VlZQ@6G4cJCmjPL#T009althR%#oSH#aGtqyTzMO9=~g_fmm z4;uEmutu$67_#HYMydcttU~qG?d>gG_Nvp7;7ssHa5(eQVnO*w4OiKNkZgI4JZ_p5 ze&UVs*({d}33EDawMKV$f;a)D4lxY@TQ)!`%RaFR@VY|L08Bv^$>aBp25CEQH10@L z2u**V>OjTw>iJ!_dwu3vZTO$~43>|qvRQzI(EotM~jMYSV zPQzyRt!QOgOxe*%7naf@F%8FnvbwKBRU+5bT5aA4YKja|d$mRnQub8zcio*3Q`DD_1o85lWSfYSe7p+7Pa4v&Ek6bza3Yta$7( z3=glCZ7oXAJ z0ydn*T(97BJ0QwEW>?6<&^4 z*M_k!H6V{iLU}e8WiT8~&4zS^AyqUlae`J_f|2rw{BKhlX`U&~a>U3MHAG;7h5W7p zQUMdPhbpCI0a2yQ2d6;(HfjoDlOf^wW&^a{l)Ypt>RCNo%x1GXUKqxGsT5NJd+2_) z=jBPj$`MgwliL^A_OfJpo@wq=NrK~JE(_E~b5Jqi44Z~NVa5D5OG$<}^|2r^0u-4q z&@!k+)zB+pl-!MGuK~_pYH2Rl#d`;EeCa#Z^?C^%DNoS)JRoY!$C<>O<%MUSpO=<} z%Yx}~M2xk(N3kqDN`z_8!ly3@=By`YvoatvJ~4un2rVlsW~od%B4-uhgAtGlQBoIg zHeir6MUajRA$M1D11lsNa|Gr+m{cLsJ!77*?0-Lft7M-)KQ}9THOIh=&4Q%Cs?}?E zGyR4h^b`g?0fmwKxdJQ@pza`3)-#V2`)gVZN#0Dg#56XI@i)3n~)@ISk>LRnT zloxpT0KF)hk3iIH&_Y&8A}u-L%iu*^mOdX$hA%&UB9||;|0)wGBDoYVk1E>2dz3n@ zX?pW*8a;)ho?#_%sjy^_Rh$qYbw|r_=v{0>RSdWs2@jtGvR3PYv(f9Nip8CNMIyw4 z5p2S#kvSJ%wSjXTis~ zzyd=~TWB@DNWRt`S$04P0c8qFBF3V=Ln9FiW{@fZkD+#%!-$lQ1b%TYX;h11Se2#R zxg4)->+tXyAWaYbeQzK}skLp60khi8*Kb@j_0gy&TR!;~2$(By5wh+BSQnBQU@ajf zLng99P*BhBYbmhN@^RxQGs5s7PE(3KENVr&)G1Jkqfsu0{r8qN!}ZzB@J-`B2$@jT~Y;1NGWDyLV7SN z>e!z1!hA%rfjHwh=W(svr?}?*cF-SY7iID_z0aHrk3)HOW^4G3WOuLK!63XzkD3C+ za}pW|3dlCFcpP#-r;~t&sM46EC=eUt8yO}y2b?M5y2xSy5S!@yJtR7YX_`>d#s(#b zb}b!CIz713y)t+~j{dYh*T8-43R1G{9sIAmp+jl39pKC22o!FP18E z>k$E|puA%X3|W)m_CGxC?@JIbHvSJ>JXSPsj0;Y$l5FVJJPK70`lsfCfypG^5R(&b zHj8Z%*}SfA-SB3bYpH07jtCSs3r(A}lqXi!aSVqA#gwc=%$g#!mG-I)Ios`3udNu3 z6asR${=|q)3RBi!m{hMdk7f&L!GXueiSLDjt5b~;6OI3D2$IhW5)O%P>q7*=>Py>>6qSOuQI;w66IOJ{ztM2pT%tIEjQCC3-6L;pORPvs`Ax3K`Q8W(A5bZ3ybc z(6%%hxiq{HrOuMk5;)ftaiWWgOztE^NQupqs@z7N&+A_X+cqr4Ud4?U8HXaknQ>n= z*Grrg#!{hLWmPL5-W1*q9gYJ6#G->6r%z=8z&MCGLQK0f8@SWlQxi~*z|#gUoiz1j zzfGgMu4J>KPiG4(s+t%xsGzS_+s(InyPc866bQK`?vn_6Uyzs)r3inqURMhRl%Ila zR<(*LeR%Wk)3B)VIfKRI4lgAqB+0`g_RtNa$}$)YqUjWrvfz+>GK`ua*C7&EFbuHK z3?~yl%mAgVK+M67y9K2va#g2ISmbbQ=40~_lZn$WmQ^Va%DeL;>D~9`>o@N|4KKKz zvzRPtSpqIUCA(9i3I7pV1|vF83OJHGy8$yfL<)Wzn5sdL&=bt$br2^8DSzHQW-giNOVwDGQ{hR4L$ss-W~}+LO*b zP==$MaAajB5K5f*1Sng`AqVPNqDneCq=!OL>yVl%k)r=>Ha8<7Gs(1>lAX?af{1R+ zN=E+XH!dhLrShBXaOf0L?~dNQx%@mCX1y|F;+DuM6(A=Z@1bPIF(xC^jAx_K=%$zX zouu-ei4UVO7)!>b!vHBlNt%g4Dk#ufSLdtxU^A$lSQ+1Mr-;wzturSBgAW$0*J~&X zOpeoH{&nip)$jM^H}Agx^M5agKVE&d!H0_h%awvAF{k9sG#hHpg4mQg!3ZwzP2h1b z?dv%3FsKosp*s#ZlPJ(>Q{|UI>3;b#m|K23Lpjb$G8!`ik{H)Y5Qb4Y-3@xZV9mWq zEqq8lzZ$Mzzj^oHZ@vQ(y@zCkaqeIPle~_CP7Mfh2Fv9wq#X4o8Tf~cvU!4ABBDVz zn4l-hX)W z`oo9MzyEkREP5I<(qfY!qy$m~r3asTB?RYfGYkg`C~4U674n&-PsrIK0Wz9Fqc_(l zl@eWV&sQfdQ(BgvNj%Pn96++1xM>KfR^-+s6I6ymr(FCUIr>8QeyB;E}6yTML)qHB>g}^x!rCs z<Xn63PL#1IR9<1Y}LHGDseHT;~S48_xYn zRta*jFc(eJ^>my3n;KmX(4p#SyZ`0CU7r-O%wul*lRwekJ~PVPV0?00%mt;XQg zN?IIThXV_c$-&Qpau%5`?{&m;*Twm3J|61M;qmdqvx8w)!mLSa&sioNkB%xw3k{U;N-zsFFKARIOK1xLr&HqPy@tR@V73=D+DDD$fHrOp=}zp2-w zC>rHPtyU{aU#Gu4eaZj&&_8_WL&AfvU-7&`@qFB!BC$Dj7KDja@VpX#CKAkMqq-ni z@LRErPw}S!7UpOn>7ljNUlgW)4eXi~6S%{%EkDRW%_3IY0 zGnz%YR@6$Tr_(R>e?5cCpZ(?2f^zWy&xQq$3)3StOaI$d@K}}r5MZ8s&?nz zG>Ae#iN^BLE;-5sIxzx|@`i;)V;pRw5SZc2lg{rlFkeyi6jyRyn9+h+=(^J{kg|@B z6Sc|rhFKFeE$CB@z>+4U#>E}CVfFM9z#dIcxgPqN#;>C4zNm{_*LT$ zJq51zNt#I}lYE;7LKu=-Aw6N3ENg>N6rt^eGrQ`%wRqOBtdze~5{BH#g`>KA%2-w-L02pgG*8_59ynJnJ97{3-Q+{fEOBKMen;f7+z)Ou~2!M6Q~|3dkeVluT^T zqZDfPRFs|*q>Sa0I#x0ab5LeEC^_W~qt`@Zo<{gLXMtIyummI~6!Q2UlB5h>grEy0 zr|C514I7*vrKf1=zrA?&YyY?BfB&g}c<{r^tHb_5ZE%x=AqKsCHBU1UkD3LOzPXm* zZ2V?6XySMcN`ZnF-z=W9B;C%bT!NcFKK>6|N;N$ay{rQV*w`2Ocr&E=r-M1M~^HF-# zJk%rVkht85jJ*trivBcB z-@xJd>onEMR=Sk~G6c;{-M7Cy`}OeP<>gNwPd`3?{^Hs3Je=ac6^&XmU;@;u*k!nW zfx6CZh`;CRyb2mHB5Gxm@<=z&m^H>d|LK3o2RY)ef(aDuz6WB2ts9p^5NpQs6;sOTK?pmUAlDX z)Ax1>b{Y1!q5TVNY;5exTl?&@&nCWmP^;Z5%`NaO1!}Mi;xo!qFQHuJ&Rt7 z5ZOwZ-~i)q*%=>?)|_2@L#_}%O5`ZB>oFFG4XT9{bk)OA*Is#ChO%;NqSreTR=Gx+6r_;we5yY zQj}U@tEl^?*E$AYlJt5%CH?**Wt9m~UWq((><}j)n38^nmVc3QA*$8Pso{L7G+zWI zASvZ|s1mB4sewit{KAbsDKIe0r`s|-@einGVfN~KvT zyuwU$+C%N!DWolkDMYNI&Yd|Mn2TnPBjp7l4JCGRelU|_exjCmj*cG9N1o!s10|`Y zBSWN+Vs^vp&{sI2)=?Lffb948`lsDq<<;KKDy5837rb;f3bYVnkr_nF3qoEsl7=sQ4v{(1QcR+ttu4UXQ49XYR`IIOUTWbYKf7Q`~J<5?Fy+_PX6BM)sX85ZVgqd%ZnY`gK--%LrCB0~)4K9Vs=pRtIHNlM0CuOtSZS@M(myXr~k8S6-7qXAio(%DhT3-U?pF)m(C2lODjyY#%XYMVK zE)o)ylan({aiiw~uI;8Ilcl}Z1{_CnZaTRf+)ic74Jmaf;PSfmMP_}cUjSv&-@ASt ziy3CO(`sQi(podgWg|bE&88t{Ti^9b`6rNLi#L}K1_Qvk127*D(*@*^a?V^jpwDL( zqLi{#2xHmdD2X&eaa0cE3!yLnh^10%U+1?T6+qc+f|8X8lsGB;H2@`i&dtxmn3Y`# zg1YZt`ZSLJ1X3&>45r4Wz;-spm^=XGt%D)uHS-$Uh>5pY^C&l9U70VxokX6-8Mq&*u?PX~pBIS9=`-6kaW8cQ{ zzYeaTMnXz-921s9O8nV3gNey&hLR44%ZW)!BbZII@D<46@8w2pffIlhBa;Oa_6(HG zUDV6#7%wriw*&rm4m9Q{9JbzvWrU12IT!wl>yZc?BRSjfvnlQ(copmWR z^P*#fScO-K8sOXuk2$Hub>J+%~J#>3@-ObX)7zhU*u`g(i0?*p&Tti z@GPZd$6;e6B_XGXYs%1#_}>Wmo)T)#e!q?}6PziyRfdW~BBx5=<#G*Crq3H0nBlaP zR6)>oU+*_7=#G73Nz&v{^lQx&A`9cQw)p-wzd2JX9g%XhPHNDM3>X4%9575+;^$ZK zO?Lpuca(%oHDF_M~gYJMn<*8TW5ru_&SD(7`xJdi8Deuyn~DPlDDZP>$mMg zOFkk7r<2RrIDc0>6UK%sDKHaDuRPmtRR9RcDhJGCxc`r>oXbWo9ieq7blnMYzxK(U zPtnImI}YP-WS*P?6peMsbt*TLh!=z(gOV;+W+&IAockj8mD0H+8LFs7Uhps#$eZpyDv@Nor-ya!z z$H-_(BncL$-S(CQQTaJ}F0g_i_wdK0ld%#p1~^h>#ypa=4t`%;Qo$ z?pZ%fA?ygL@)8z+3rKvc$9Yp@*mNCGf)VD19iFn9{HX#G&8Op@wGIPF8HSKDkRd~p znMlgf0po9u!92G<++?>o4{0cQiIx8r37l)5M=il9&A;{Xya=n>wv%&!7nn0(82+yT z(wyUZofZ}!&cOXe6LUelP{yB4&FOa#+X@&O?3) z$}eVl$WExOP2L2DWJ=|vXDo^y!veS&|2fDjA>n9nmhE!Jo#uHPXZ3fKhk-jyEj4yw zzmCe=mdb}Y&Sg-ZnTdGhL#0xJ#Y3~y>89zw2rf3pxv-u_f^miLKJr2Qj(PCcAT*` zG2M|xY|(_}c}PQfI}P7Tr8bLz^inEgtK2piWvHSE7c`Ok6x0JJ02#LUQns*)os$ZB zPcm%dZ=h?d(`lZ*Ia~>}vvC)c+?PWOoOXtkA8m`oyfyU>asov(7<>ddq(o5W^Qvee z4A&Gq4l%hkDkURe0`fMBegw`OBEd|>QsYZyemObe(FOvO!v>`M=>+O_pRE9HqweDt z79h1Rl(I6HQ6WFxyKm6NgfwQBiRq6ZzaZuMCMcD%ifR)nof1m=_{k3BJ+7tGQM52? zE=Pefmnj2L4JT0bo{nJY2xOEQ$NB4jCqq^32VO%=|&l904>-afH7`eDU zOniL<#v1yK`Q___5lBP%@2jg&ve9T*+sN#cEg+QyW*~F5^;(UXb6ky{tPU}`s0WVk zM~~rh)=HjWlJ@lEr2BOL_3LK~Dg+}j1M3_9-*QJoMb5h%$ezmt(O$yB>DJz{W z-cP-Lot>Fo8e)b9Q2SaKN&|U$1d{uMJ77c(KCtP@5hV@f=bL#Cl+;qGd_JWe^Vl+w zUR0~qesMds^lh^f&82JGxpFKVFUsV%r<=cSchJST>+*o(P1 zbUYY={0dS|{2%FNv)i`Sgkf%)HU-=k{rNt?Kl>~KblcoOFQ6BYU9aIV;wfdCuC1z$ zQzft?SwFNS$3zsEswKsyElLPU$q*VQFu=I7L0O9w0Rmk`-#G-*?&2y#36|i^qdA=6 z{JsxTPzpChqq@f^x#XmF6%PC!e0QUfXN}RDH{Xwd$(Wv0IZtdh_8vVtHlw!#>xSzN zUb~_@5m^z^@hI&5F_y;T!={`oEJ2s)-2#*u=fyGQ%qJ8I{j2-XzXD{e%XV&SIR(lT zJYh=eJ4J{CManyDP(&;WN(Z9rTve3X8k!I_xBS*MqR2x11(fHm0Sgb^X3sl&KK6oU zsa3^7m9X>mG$3I^A72CI%*;&+h2BBlu8wZJAMzVe&JtyXD1Ui~zY-&9IE-4+41zn; zaT<=PGhOV5<+FMZ?+0kKnOWk_JJGcZWvLAS?Lhz#Y+r8VymF^QF4c zy}XQ~dOf82FCro+*0wF{(0hL91wCgMdaT|dWulNJY9%ox9HbEJ2>iT$`@!hsDv*LQ zyILu3Et8EeZ>3U_ENehSUmaspOq26F8sp3~9R{KQ0ei4!ku#5c+YNoUzE9ai)ZOpa ztq|Hg>-Ao4?WSQqOIY;;BwjHkS@+40&tmz3a)v8G3d+^hTyAe0>B4da`IscHKxnr& zpVt}2+vv>G9H13(p~{ zlw5-Yj|;t{dq+qbM#OkE$XQU%ujU}jF=Zvzr3^_V;CBXSN;Bs!Qvk|2qg(YZ8#FB& z5&G#X^qf%`LfD4d#%Y(jXI2w2rtS9z9kDQ5*x0y-MfrBWU6~P-G3VDOCnpFnt_lgt z`FZHF_z+WC+kjlINHmbkY55cv%tvKxz#s`+GS?wYD_i@M3!9-w=rZWs>Cv{-r zV-sHTb@zPVKN}jiz$YLLD!TQ8`l)U8cGP0Kl_pHgl63AD3fUHwFQ$YPlOi6k^@3UJLrJqU&!PJB_=5QRY_a(jUn)L+>_Q{`s1on9wp z(%5C;ai>M)izy-JiL!+n!SSBCx!T^%!Nw^w7b|L@)m51dG$PfQtk8LLMP`XL-$3YV zSV3Tbk}&ZN<_@QhX%j1Gmepj@$+gn(?AW2eYImVPlv6?q%4`-bJh4k$Y3C{u9X24D z%9+mbj_q2*1$!b%^0H5jC^rg%OB}W9cDs>l4TlIV$DVD6FVMB-MJJg>B@-vUfxY>3 znkc7)6qJt({XT+qghpG%?5acu&Oyp`RTSfJC&GkO7(N$$A#So}NP({rO#C`1DO!&r ze>e$<(z2|V7*Am|ScR%E%>1Yi5xSfbk|^ggi%&C)8La4T6_1KZcp~CVa22o|HZE(V zN8z8u@(A*vizsp-!6ZEY?pru?!w>xckdyHkC7I@mA}D#yEEWoVBzZ^9hM=4h5|ndu z2M3wEPcz9(cVy(kYCstV z9%i&`n+D$LS;}jUgCD+!q~6&e$|)gZ%Ef~NHIq?0B@_)z32J@Y80oDwpo%w#aM3eY6V z7&Y=lbYE)1ACXEmS<`vE8HQ+G$!{uo8|NK`pfrSm4`DTkG2Cznh1yuCD6cS5rouZN zWO$D0IE$ZNfA(xj$T?6hWKo|GU)nK9C7?2%wVGALK*zLb?3=e0H1h#!VS zP>MRR2g)7{KRgTq`;~32C3sQ?rI|@0ldlz>#l`EOoL&|d4xWfTEnPPOSp%iOQ<=_b zZy&<(1}5Hs#`!}@nng@ubbd;{5>HC%jZ-mr(rY4u(-dkK(qg*FO-RQ1U`j>96 zO;0}QbR?Oa4pGuYe6c{Kf?wr2#|GGiA4YCO^#bae83;Qp!-cH}!C^C)FxtVXDN2&# zVmwKd(;hcu0Ycl(n`S<*X8!u<_eDvDnZTYIW3duR-jQ;soR+!sWh;sR2}(%49t}h2 z(z0OYLC<@kmCFi*Ah`)pocISpLjGpr?3&s*vplY%Dj&dAT=>pa6c^m>UQWKiex=6U z9U55~DU%V4A&V^02w5z48&R}~1Xd47X7v&RSU3}7haq-YHYr2lPqDxM5xX^yz>=H` z|8m~X)8~1@nqTm1ILFJ`?FVn6oSsXwi0Ho5Y`)YeQJwaT@IM2>x z13Z%)w$xI@)x0zWqywiYw>fR7EkfNTv}RL}THJs%+xc5rJEz|+lI?dGat-{urE`*@ zTk}KBg@&P`3rS|-<;28<>PxL@jcPj}vuqhCgt*hig_nzl?5`f8jyR$IMASQhp9eQVfjk-p|`lYq!rA~W=IIv$X?&KbAbaJ^)dzD^Q$^|p@ zJXk{~WKos-QMu;KEF8=p9Hi(N3<_)oq<_}8M5&tys?B^pfs$?lLdv!;UsV_xR3o=Td<73OY#DD9W_nW^1aDMFbGf`T$! zRB%Jzt$AVOHyqB!hBb$9;kuh&5#Up4$ubL)bS$B&yYTf5W-^dJ?X7o{eA4gs&*O?9 zWt?>!y#K-C)BE?sL6ZucDGB%AliNHKp&G~%rhX{QcI39~c1JA3eWMY7D5a%}J+$vs55v%A}2*m{4b zm_zZMVvb6x45gly5F%=!=VFdgMAs0yUc=|Cd+6wYBDJ110fuOpwQgTVQOMVuruEm8 zO8$GS@B{T5nC9t(r9LYr0WqOB>{mn2AqE*_&{^2sX11Cg!rXptIk$|?*^_#n+ju;? zQY`MQ6fsvmEtZ3Jq%>-SC22=B=qEOBvuo_BVaW|5^Jk>p}0 zSI)GZVgw`yNh4os4&emYNAX0$Sgu+EBwT6&Nnv{yVVNaksCPGwqy=;|a17)9mHbL6p6Oi2) zMBZR!cC=FY-dYhKMfq)1u2bBd94ej*xWXVv+mJ-%pkZt1gD-elTX*_JS#Xi-lN5v{CqI@Jg8z;uA`FF zaoNE+fbvnB>G0yt{^BB#55F2Q0=lx2EADsNjT&%80t1|34Rt%B#00QMyxql*3P1vy z;@E|5C(^tUs5;#xU^{N(&agMQo+NcPfa~2@wOWNmxq*WDY(Km+XEGc%o7H66_gpAx zn1k}}_U+Nv<`JrxOkj8&l*(q}6kmDoC2w9Q@gc|bEt2Ky5Xc%e}CZe_=@+QlbE)2XzYh+ZtKESl2&uGhE>tnecIye9I+N^iTxE6}l}COXSNAh*g8QRcZc-x~ z{+XjwT$;Gq#*dI=y9U#$WSN1}cle63)gVS*4NT7qk)io`4aKKSXeihid1V=6CmX@( z0vWh-l#+2QNn$=DMW&(H9A!(FA^!-WXz0vgf1z5fYGM^9i<7gE2|_8!T!1T9@C8Dq?!g(ix3Si zY>0C+L&dqkg0Y=J!3L>ZZHz9U;*$YLqAoGblkXtS$RwJw9K#BX6Ho;tmW>MPJ z7RG8mg->XdGD|?^=h8STPur1bEh3UF`V1J!N!2Elgd>Yb@qh$GT$hvAEnte0EIH(e zS4%RlqMML3i)bKqf8)2__Njfr15@D%@5U6+KVh9`6)hl>U$de9CF(v*t3Wmi z0BtV-DCY?>fcTJ@Sy*Q!_wgV_a#*q#$f8%hRTadwRfELGGp@yP07=}Y>bW_@xQ=}1 z((6Fyv&~j-pq2+2c4KNFga{@%94c%U{61Soy}>ETGU1wqP_c#npb=vHZa7W97J*^6 zuqv`pXN@R1atN}#2bBjbAknZm^@1=O{mL$_u!K>A>=I_WN@SWg)5Pl$X3_)m70ZNo zCcwTNiuj2IkUpWrFqt+==q7PF!l3L-+Qq(rEdZI({$oUwsqP9&S8bL-dOn=uD|kge zkfsqNoFd$kI8(kWG?s;SG{8@Ww5bo2@nGhEOcZANMFO*GUwkW|Qz*7#LSvS$OX2?p+<^W;#;{H4CZ6VQ#GlDU2MgfpEFGCR$ zP1oQg8mc6L(08R`WpX%K%0kM!O6! zgJzWQ>SL0;i3cW8_>Bh^HdXGsz#X;<1?b*YS^ zVuXfG!8F1O-7X8{P%#rR!wH;+>dmb~kHUx<0*Gr7=p@HNNK2WLa|ghUD4B$?&4M{` z!{~a{!SCKBr)&n%K~kh4Kw(l7gUW7JswbrbKWs^smAHz=J=;Dwa@vtq7W|qM>7y`B zuoee0funCux}g{u`A89)MBoT8j3h`AV`Cw>nKG23Mlof&ziCo29a{k7X=Z1`<7$74INYqvoBDj!l5KL{(3E9ln=Za+n zCoGjrmeKhh@=LM}Q%FnZEa6XQz?F_2U#(9@()HOis3tL(L`+RXpkC}!gIQ-pN22*Z zQMS&2>^B|7z$ib6otjo?vWyI}_J1nZR}_mVkw(_l5M$IXuRdi)kl_}J05N-#rR+2H z_KysY0ybTiW8$=%jT}dijs%>~SF5oi4U|MkAeDir&4-w#*m~?`Cf)OX|CElmPWDM7 z%3`7MA^yEVldWwj%5w)3z{9nfCIJ%2HOm09p4oUnmbS_zTLruwfs%XR^lK7kYV7Lf z=J<=vO}r>W=nQPQIpdfx{h9Qetmhn6k)^U9ZcXnEic~EtX!g6vRuL(dgwNQe>GMAY z0V;M+g2>ryHkb$jc|16Od6NG0@u9VpCk&zTTkuZ$-ze_l8$O)Amuk$sXTz|o&$V1$>{c^*^n4N{F{ z>czptR}&9z$6mj_dAk|-)R_x#I^sm(NAFwfUjFEa8WTCvh*>nJg40}jzdyHzSj1u4Qd zV#=u(FaBfV#f$6f@vEz=x9A;20PRP2hP8U9>tW+)YB)GeV#P~PMzEwCjI+;AEK1d% zurqg`H2Y26$F_C!;kWZ)`G=x92wss46Th%v@3N?A+d;0xxF$2GoRHA52o{qNIMLQ> z2~6A1ii%K<*7*4N*y}IY>_?W`fnk9h%w6`_3I2FI?6rX8LLDp+;U#CnWWj}pL#b$r z%a4R!_1wbheB*!EH)J}~!eHq5RxFyixwdsi?kFNho$O|E=;yt?pZ6G()>?b|qy%M2 z!VLX#F?Ij?`uaYUCeE8(*St=gR?G#DdzYt4{^Lhng+wkA5fL@-FiA?N7|MS@*(d$5 z=SpL)_N?(sgHgDXd5y?|i9K@7p>&8eozb(ffPowxX5k74AQ{Ygru#@hU0Zv)RU(IL z`=wCqr0!h{^ZvvHZ{x3zU)pWmCQaQ|mu|OGTp`(L9QQ8!Mu{x(Bq%8@85G4f2S(ZD zKSD`g&QpS{XE9{{m-DIf-tloUVmz&;TfVVMMQq!5W=O3F<1<}3@NCZ(e9vHIqW>vM z$K%!4i}HH%-u?UcuW=%zId-+ZkPQWiHdGY(N2I_(v)YD|diU?5WE(*{s|xF9^g1$3 z{z4nXF}IrF`*Af(Tz5id`=+J_pHEIct~d=!_KYx*CWUcYk2@pH)C!W{Jt_R>JuYwh ziAg73%TE9;7n!Rs?|+**+`iquoxFZeJb@$Jh1NG@g?w2snq z=SGQ>oE#4s#`}A{K2VD@q~5hQebD1)DAUw#yS!)k8Lyi2cqALn=jNx5ko~`2p0pdH z)GfutBRAAD8-JBp4yD|imoQl-R|)gU8WT??=KjmeP#zxM+&+GLyFGC*@!%eYIXB~h ziPanpTBoOo>OI1O^5mqaZRrFh^P*Uc_lP-^plTRkzC#{4HLCmCky z(-B#bUZ-YhkHOwFu2bR!)EXMUgS-P3Gw;g?v$U3Da-N49sl$6WHxF;#9=t@9ljGyB zGdxEP)UHKGEhU$p90XI8Nc&x6sU||lDLxEiNfvopw?P|R??Z`*hfUJT%RkbMzkd46 zx8cdjkFQUTqQE2LKpBN;&HNS0?79E#FJd#RG}>oBW0#yIgYub18%sKY-N~hZynT3k zgD5BO-ya{lnN{VY-K6Q@7{XYD+*1POrOxFhO@`ePZ5DOauf@XzX)~`=2eP8fZj^7P zgM~LvB3ThD&_ub=dh*r_8$UvHI0 zPhfs1r^d&|w*P!{^J4qO;r;K%uU^kaDz8FaqdM11kw}`&1Q*6WFD1+*!Luz3Rl1Bo z#UFlGt$8O)l#k~V5vtSP!s$`@)k+`l71*i z&bd)x@aJC?Ee-K*S3nfbw-h=WYAFj6^mybVBou5zjE?KG6 z<=YIDH6YW4RS5rzY`m7KX2ovYHhV3wD-9 zEWBeDy=d0`qh>OiXxs@siN~Eb)5PtBu?3DBw>^U~9y$%FBus#EK~d${9R|_JV}#Ti zs^M46^IoE;s|*CUlz#J`d(J&y_Y`}PnI&SvH}?|w!?Rh$xRs3`{`vY({U*7BDJUuT zG>gM-J)A=3*j9R4LYWrI^zA3NRk%dM)%rGCc^?z^Fa1t#d$8^c<+4NX{lMgW(vs9@ zIeH)x3+#p;ZMp?%1&{tXS5|$tc$iYwvG5(COyp;=1Sn%sEVpht4WU##0d1hvC77ScUn8Ss``Bfp++ls$zgM-3s*lWwRR?5?GP457Q91sb5^^o&WkP&6nnvCJbl`W^CoU*~>5l6IlMnje z{p%lqEHEZa{w_$ju;K!#OH^9@7ECw=WGTA^nSeGip^O1DHj8=rRIQeu&r>NsicI6O zS*O_+SW5OP+y>soh%&|07q0w&J7_c!5q2 z?E{jbF^;{U3S1WEuc^FRq0}t?UFWU78I(s$k_#4qQKGa<9Mp<|ucF36!H&0i@%6 zkhtKkuJVV^t^YCJGP{ZBfoZ%MY=SY0LE#!c$MLaH=Ha)|XdbMnY(ius)C-iT3CaRO z3#~W_ZKniW3T4Obpg?}FXWSLat}4N_l6o_(y0hCcVHGynGO6RUX`f>(KTU&@ioqIuWDcxZuHXFed4@iEcr~%V;S{ejOtR+soNL9tc zrnI_!Pgbf!{D2s~Fx~ltN*6SlWt-+-d2xKiX#2M9C>3OxYuOMCD5P%DO@yy(24ejk(P_7z4aclT77f+I74X zcN~KWG=Fh%9=!_(3(WLisLJofJdAm>2THDAoV{35lO zbLGAF^|NzPh!fYf%D$RZv%&~UTeG0}b1vJCfJdeypBa?I8zCTtl7m1d2>kvp{l?UH zN~J76?2ouZfG7*4b$_h^(uQcQ5n)eOs{+~`$H18|f)$8x$p;u0Ye@^UR;RjyC+;Fw z8cb{sgQE#QWjh+2X~{&jp;I9FonTh7=nmJjk^@jPhebj3k_dbO#^gM?wnoGT%zWyFPx(oKx9Vpq zqkxr`!B*xsY3z$NK77ZZD=WN084_8V>2f$Ee3bNukUE;0LD-)ROz>3}-2nhcLNS_U z@&){G_#Ew)p7T}b_P}bB2ZdAKAk|8IoMCvY= z7-hO`F$0y_&(Br1;HELW!xf^`-L{JpG#c7}8m}>0G#Ug0cT%19yhFq-F16;IGE}0) z%#kZ(<);Jk`NaiekTnVbaF4)fnK#NAc%HaqL0a8T&Ex3JB8t{(x!i;PjUsM@ZufH1 zs4D2;4z+IOt4Zo@ou~;{jz-u4W!G}qg+s*?!!|qvB_9d4std$lCJxvUT|B|CdGGf~8x+KmVQ<*1%g(RgooNkhbo zKDW}>P|2rIvJS@M4;do}Y-7TW{CZrE0U%i^u8m42)81?bmyb#|+&;}#eiTM#FLD#5 z>4YZF(XjPXsE7iv>ZEREh#I2_@~E|U9GfI<@BL;7N^WyAtrWd z;tWCf=EaE~xOMV1y^qgJzyzm*zL~`Q7@;qcQX;e`@)B6jydJTd&)wY+%DOs7P!pD? zf`~L%2Hm+;k0YPzhAK+G@Q4sRIoJMxg&A6qjLW35Y6nqbsDfE+{!n<5y zO0CXxZyv#%U6nkT6p)&6|L}vfq4-Lc2r{jvCz2k^F$Rx%x@OI*r_8PrttR1t+K-ji0YL+y>1-Uqs|Q9w&nk!~3W``S;yMHY096zBLA9W#4>=HZ`T=wUULEYXDn<%YHBVaAj5 zM4S|Rgc9ZROwz^AjJ^N)alLu)u7TEcF+U+Fui-ND*>$>j<4zDaeo%85w&ir-46{GF zwBfQbl6&KgT9A(X5oX@DLssnA8FSJw%RflR-$W9cy^DoQ=qTjOX_4L8D9dpDuzh1Z74N|D=V&S5>5< zdWu108`q*-%2+m=6XG#sJyrzI?um6(rj88f0LN(X__5DttS4Nn-8)Xj_^?zG+gS)TWCi097{Qr{P$3kXClVv@ zVDMNO-*@#;)%u~Tqj>Eyl^G;FM9yhoLbC>+666lYyhw!{)Tg77&0?WE-6DCVN%4%4 zne7hVTf?6LGG;s^7tOpUhliT7h(>9w3nu*4o4uzR2Ent3F()TQ(8dX9ygWRj}d`fs*uV8y@ZS+sT(m92WH*OMX+W zk6k-_^tReC9O8c8iG++>Z+1b4syrT7p@+v*FSanQ)oM z0dQ{N_9y9W;k(!otH*Cpho3eHKV` zl`xp>JCeFdtxzHW*aT*6XCp<;0)bz;U7BAGY|oH%`NlR0+JhAG)Y`nCsSJtiuiK#1 z7&?aR{HMBvOFTAPwWw-KkpINiwLZBdxa{E(3!}Z(JP(|A4^`*c#3pH&;7c4}ri^Ke zDp`4#Dn_olP$ptf$v-Z4e+LgZ76pyVAtN2;x)xUJq-M>rnx;s6#7|kXM*|Tm zR5DN@c2f@P#U){&BL3;er!aJIjPQ6##v5u z(MZ_xmAzAc*bct>_|0y3LMbQm+)N}0JfIA0W_A#N94>o4)X55%^(#jA=%;pum4uR- z?1|r0xZDbt+oA@90@Ru3{P-kaMD&@)9ZCGq&B{J3_+9Nya^|NcfSawx%kW4*4K?oCFs(SN{AtI zF)ejtiOKyWzyKXn%WayuJD1b?aCyQQz<75T&GFN|8x4kZ0KW#_KQjX8K>nArhQZcr z`Y%vW*ZQKRwqOcrPzE%7OohI8TN4?l-??lF~{u zF>xhD7ej(iMDNInQyfb&nV?lBO1f{jXtUN)N}&)={-`NAt2?H(MkQ)W_(uAmOh9?h zQwW+1ME}QHE|dOxoW-EL1f?h(-bA-xyaFi?kU1isjREuK5C6k^wb-FU=g4-jaFpQ! znIrPs`5-#I(48iJ1T2RNfQs2Cbv6Q9s}3|g;{_-Jg&+fEEtIgRJgo(jWWdfzdge(LEiKYp7484_S|?uWa1BI|cce z4T*IQOfkk0%#l)=tBKwBHT5(dHY8mfA zv)yw_K@NlvQ?J7bqE-7tEup3SrDU!SF=}E96iQM-xMwi%skvI;P#k!2d=ZEt28aW_ z*Ap%YMrQ-E&usqPZ~x^t1j%>roR+XC|8EI9WcIJP)%-lVQnG@ES;0bFWMCS|R*5GI zB>8y1+N(UDSg$%=kasBB@VS9aGB?D|uXp{!iJU41n1V9RXl$*S-xxt>m8ZDBZ20Lm(Z( zhXnl#)#gC#(~(f7308(3gYmpSD{ktC94+saupT3DkxjOquXluTg%J{Oj#TpYHX7f4 zb$7>dJH*nb@&@zE%e(J>_u(CN5BB2`0stv88x-aCO>~9GqszjUNXi8^TBXTI)^l&0 z|KTJ#FH63w2~#F&v#Qrp5*(e=81pg-lMDG7z=8Mmj1DzAGM^G4dreQ;!^o~sPfU!2NGzR zf^vdlk{XBDziLiH89sE)FR8a&SyfS~)t}MKxH#sGJKwe7)RYOFp1yO&^RH0RH+twt z*HPrP$B<_SF@XGcrcoh;XI;OV8{3(T;|?R)oZ*ZR!Z*2&iz&k!Bu3oDmv0!lCMF zL`6ehQdujv??!BaazMDoyN>EtujpsT$AS$j*Z0>XwQSb)*)8GtIJ06%Cx{_y&BXd%+V&=YV7 z`10nUv_T-;3#F3KS9{`Q{G7A$x%0JN*UNX?X>plFzObOCzK`@<9O?jmU3PQi)seMF zzhI40(%n$#85>IVj+#7Yz_ifpTOJ59p$KF${pCI#$&T28x@X!K64G&7-LfcjTVzFJ z>4xB~=z)}=tXKbw`8*qy+pX(rINLONI*qfYCzB`R={0sJFo>XUU4P&yLQ*49?|L{| zs2oQMknMQffYI8*&u8d6RC3+-a_OLy?W|N_tJJ2szoHjsYvQR^1}Q=G49(MO^^4V+ zr5qQ^dWFoDbEL6Q7B1YK#(ox03pGx=(`%UBHocq&ZRGk;>R1q`0D*W7Qt+%Ivl;R- z=n>|<{L}MBx>g}}#49f0iTJ22O+ivyMCtu6Uf+k-c$1-2hEl=Q5@33s$N~is$`!JA z;<(7NV^b^8-%>chfd1gz|6D4X2p(k)#jXi ztr7U9R4)rd0H>0SRIa)VXluxh66!VZs=h@Z8K9yVU1|dV^uGYPp@&U?z^s^7#zm2B z-*1cKQT>BseBN%4GoL+B3Yvkd>PIf~&HR|{d_4h}lLS2?bfgzhoLMbL&Z&0`xmFE;Nz?7kxFVd(*4zrZhK}^Q( zZXb*6IHQ>KcbnA|GC5;;BfgWuy#?xgmSufR-B~vZiWU%u7NLN70XE0UuZ9etW7?_2 zNy!ktj2<)-7U2@C1WB7kVkBUf28>n;OUin?^#k)owWUeAZoe*d^$O+gQ7B!=blq%| zBwKgj&gPbA%m(iKE%^P}_1k09w0I)w;7D;kk}sEkRj(S9$_R#RUKb;I#IxFepoB}i zjJzz>!q&tV-BV|i9}+Z!dr_+~^`aBG3>_{HB?rTi&(xR_DzjqxNHK}e%$j8xK3=*W zkgo@>2S_(Mg7P@K##;)eLpC4HaXd2ZE^+qQFN#H``XYHsb}>COsW+6OQt<_OlIgG^ z0YGhn*D|AYLn?>K$AoLr$&Sl~xIBQ3a0*0QlUc@qEP@1-z|5R|I(gi>1Z0>cdZPt{ z*W%UT*r@l)vP#nk0wOjv`*Z!fQ-oum(upadh3 zfr*wjdE-Ey_SHqCOdV?5VUrt5XV>O0ae%91lXejrN;R%Z*$7-}JgRiQ9(C*L2rf*Z z(joAhaSJ5o^Dwb11b9xZQ%X~)^^>GHy8Xt%p)m>BZf8620a7Tz$;YMSK6eR#k;S7^ z1e=H(oGs2XcO-Eq+vP9IRIy@D6gRb0f3;HhMt)0NCZq030r1eI;2kr;~td2r1Kz@W_mi98{M4%*Y5USoSZc^ zO#E_-yutJrl;B0^TVUeW9Rex&BuC2yq#IC)1Nzj^wWSSyY1zh7=^~9bi5#}hn?UJ< z@NYng&TSOZsl-xkMDQ5(9sOD2iH7J%94dc8x!^g)CdQM{b1hJp1d$uYpFkd^oY)U2 z$?D+pW(>-`bbsa=a)mr9!jL&+5U>KbNx-z1 z06;0Vy*E*t^@Q>RCW;!LSu6acF?OCc%vQEZLVc2e?`K>})b>qq;Sy{f(NhJa&bsgW z{e~PP7s~0=G=)2%tU)Pu4itpgFh;a7D%FeC(#sj{>NBb_U0HYp9o(Y@kVxYg&~#=k zfrCr=RKcV-A!C0?0y2*+82=ii3zzco^6F$8Y6^DUbg8C)seMV}<YJAAXt4y188n}L#~4ty=S2*vmboJ#EIGa|b*oM5X-b+(GD{tL?0@~o&#(TX6o zCxIP7Za1fZyA{ofT0_&oqD+f8#&b#F@2U0yDVhIV@;FQ$%m$A7 zft+@?Q~#K`vo^|lEE~|o(=ri7e@T@a7)l*Nq7ZH%Qy~V|haKhYS*OeMR74rb&b^`p zik%(IgJ71GU@o+spe^`Tl&@jy^vylCM4); zY;{$u1-_jiX{nnE1>LD0th7}nZ#gTJla2Pu+Qu-sFh2>(nnKc!p>>sKhsMt5_f0fl2V6R3O!(Vw{EE@K&ib}I?F7IsAxpwf#8(7CPk_y zPF80MgcL8>P49^|Q0X|E3X$8f_pK0@jHUkyW?3m|M>7p&5wJTm(we7y5l6W%UxstW zJ1uVY04}W$()U{=juqK~%NIilAL4R~{=r)3*K6ZsuO7?FNLi#%xk}Vf+p7XY+*X}| zN$O#ZI+bXa%GF)7WT8%NN{=)s8M@(Ur|*kx$79n2k$K9??IX@!Fr7Y?=E>@DkJ^Xj z4Vy|5xG=v!Vmhd2h6ojjwMW$5Md=JMAi*WUXOC8f7Dy|ABXDp80w+^58Yg1(z!}xG zsH|(aBy<%k+dv8mih%+t8%m_FASX#}eQ zEM^fnWHH0ti#KqlE8;niaYI500xXK0JP?^RTv|F0L;*Ej;eb;59J5ktC>2>ZDJ3O9 z1(Pz8;8+9#3D|Fs&e|H7HX?6_^6K!tCKt+EdcyP)@%ECSw0~ z3zu3H?5|INJawaT@{PQS?fx^h3>GvL5glNa6iVGtLTM#|D5hbFvs{VF4rN_Ia}~fk zm{x}_Es|z(Boe(&wV4_7riu-At+HiuhSBX%?&A0F0cc_;LIMs#8L#9z&Hsf9uL!gsYLNax*&MDW*U0MY5vA7@1dgzefwSyiSaO2)jLIE~jl? z`fm0)W>^DsxcsF9k^LLG7!3Z=%GQ%Nx>etWJ(f}-Z&X`$0SVv}Lzqv1DpnO*X(&-k zyM3cj;zlce?|jx((3)BXpah{hg!+QppxY=DJfS3V;gMuQA@bdJX6`mQnHU*eIC^}1 zd|--ijbIKaPbV8qMG%=g7;O2ZM0~lgXDV2$2oD1a`ZpH7tEtelPDtv2PO3gAYZffgthFTxostM zos;jtB`DA3bW_2SB!1A}hDs%3_vippMd|ocpk$ZiER>co0}iGrIzrXI%Go%EP@n1= z3TSB(*Q{ElNxT>0Me^$V9}H#QDrK!wk>Qj%LgSeCDim> zp_co~ysU5ZN(*iG(!eB5&PD z@kd=Tsy(h(|M#c&xJ$0-q`=7veR06qbQ=IvXUZVXFjSG7SEbYu zFo?>M8%>=m)S#};m0&Ivm7f`m@f0Zn(S>S9!Lbe*r2h;gilf?GSnWES0F$@fXaI-F zkAL$cC>u}~1raX^*;xDX@4x&7OEVy3-)^eCf+B1B=;g41%q1WJkOtxtuTlX9gS91F z4VRIBjV+VIfwK61T2SHIz7r7Cf0-a`SPw(19u1U?_B z%FZ}^RjI4XrcxJWgBnp2>?kI292+K6$Bx@(k%d`w6U{|(fmKz;k!LXSRUQ{_{n{tAQ-#Cp@2@|rk-m_Sk$7p$zHK22Vi|@~1yro0|pnUP- zMc!$BT79-xEFO3VrGsaW*H4?c(SQHuf)XPf$Z}M-0GMSNQ!2-m8R0jP1*kVFKo7qJ<)cQ z==qd&CO}!&1iu3hO8G8$CCer;6EA>-vh@y1XQZpHpgcaiW`xLcXpqCgPJYLA%C%ap zTCSAKUX^iBTyKOIw4ZTQib>I4PsAJ{!=4#(gsR4FX|@JyS7y?=7G)o&sg;1wQCKok zx!8KMOctElVY$5jrhMR4 zD&FB&)q~O{n9?$ba0A0PQ7)xh-;rw<3Ue&xvr!dz!8KWq2T*ncAow&qogT&>nw}^X zTk#86>zsg6MDcdE{ihaC65Oa4_3IBRYC6pUlwfMZXlu)<6pNL8&pSA%RFGxui@nkx z8X=riV3-cn8PP+f?Ln^S8 zfq(~0xpS33>spz*hpFCaoZ(@v2bB88P`2rAY3H$*d!^^kHkOw&+ogk|SKfd9s#x0o zc-92exj;4np0G2q0D?7YR1zkOFA^|4-;!o1%p=~+M+>xgDnV(}kws02){^hGJqv-M zH^c;*@HjjjMX_B+ut@V{0ObH3hZ4-)F~xi=(Z=#@q0Wr#<#tI@Ef)9wRN6jkHJgs3 zkVE^PBMTVe%icgGR~fa}{i_+)Nud!;pc{}!u0tPZ44F2=;P&yt!nJ)~lW;FS}bQan_3IZ1Ir`1xWdgytt|NNI~>9HSN zKq+rdc-fOCpgq_|D5Gd`wVrcr0!JXBrTtsX^Yg62I9zCxPog*YZ9Q^YQxj!;$r_qz zjcJX*`Yilb0|2;5%0H-L@S%?|HRr=|JD=Zji^QtxJdTF&WCp2>6 z9$%z4LT)#KEM>I3w4S4j+0DDDb<#@T4{kB>t05K)QL4M~rqNP66pykygH(-J=-P)y zi~*D*73ch0|HBT@-&HMQ%c{{3ra$%-ZPcO64Sj#yXwJ`{VUG4|Rffm%T=bemaI%6E zhT=!0iKSUxOBVPl|HhYpynjF8PG`8s@CeGIKKr13c9&I2n3MjB&@7ovwQ#4V=S+_s z54ocxGl8;>DC6qOwXz_@IrPVvO$SK&rg`Pl&zpUAP~Cs+!B{E3Iow-)r;TS(MmlbQ zETu(@%}gRMMjqEK+{@>tfwhIjf3y=eFkKkbIa_N|>SL)ilm-_;iJ6l3oG{d` zjOweZ8V@CrVN1a}+w6{yBSPhemD6&lgUc^Xx{k`f9)Iz4D6HTKS-~2v{$uID7y`iqsZsnS4HZ z@7|IQmkwDj>nwgw^!5chI688a*a5=74$4R(nkY(&zy%H&GPPEQ@ zQLu#V0|ZJWGj=2kAlpR6WAfrfsZ#l(=rM|VHnezfKoX9^p9zpl$();UVQl*vS}Y6{ zaBvY`_dm$a+5v^G$+8ErU9<$Gwc2;B(rp>|u?!NTlD*_}O&~$kfD}lLkWkY{mWn-K z6eWV&C{?{X$kHVN4EC~TnA$vEq}DPCH~B#46ntUYH_ex|#&kJ^O(@BPkUFRxQChtt ziXodud4oTUDP>N9Me+!`d3`I$frP2jzhQ;}GcL_RB9f`DZTq|=j=_ zK#>C(z|?*CFr7$080IV~G(;OZXzHKzf8e0edpxB%C{~F2on(gizN|ygL#3oQJr!R9 zz?B18yo#Fj?+Vs>?i8uttUGOWC?b;a|0wsWRRRz15YFXA_UR+s4U|!2-Tc$UXX*4x zW=RvE=Z-U{w+NGxBK!Vxlzh^QlgyqKGwia6o=WoOb@17N`ghPBDSt<A zt0LI)90U&Og=N@vGNBf>=<@@tdb#SEL>G@1*&dWg#TI2W%WS3-$qXmD;F2u;7&m4< zg^~j&WCN};4Sxk7%PpeJzn@3lM+|1W<$U8`#m4XI@7k~X` zyI7MTtL4{UdEW1zKH`>#kaPx1DVsi9N~InYT;vFwjZ@(naE>?X^=31Sp?q5r^SnD! zybB_UGNL8%L>-Y`OOy;m3wHyR{>3e&=G`ysyh!8=JD76(w?m|2S$)B8_1VV#4(&Ot zYLtt6&!2BBCJQDHjYNk~%d2(Q-F5R@sCBzwGY+qnP-A2QDd(K&Ry%mM7qMI7uoCT{ zTp(XFk?>@ipsbI?*b!wA*Q*kN_c8MgT{H9Xc zUR~H&=3$ko!}F7$%Pl2S3D?#oL!3hNZ{;aU{I`@Nu<~hFmoN!Z)zm;mJd{}%vZFMD z)qGn>WmagQVYYI(L+VHd31sWXk4{cqlCB{0xzk42y_q~MRch7B9-;AKcDcNqPN&zF z7SWA#y-u|E(j^$O#TXAkYGs<$Y&sVlb|nsk(t-)~wgx@CdN-COcAV56aB3bl-!cQi zAPkXXzoD(4F`#e#0;_U&m-@^2_~YlB4vasIshWf4N6(AJ(#B#r^Kf%1l~{T5$CGar?tT$$NOy;=5sv;2n*8jA&`PdN~KX;tRgg)8TZ&o)Rf3~vXrZe|fGAmD3 z(&^b0GqBG3umh2IGj3v(WJNjjo7O~)dpU2~tZN16HlVK3V72yG+H>Q`$76zkWZrv6 zgaFL;DbZj-rk7xAXR9#WeYv~qAFpp_($4h%Arr#X!Rklni^um9iB#g=N+OkZ(<{kj zYS#I*wtkA2nL(%@8~z<7LvBIE;fo98sUj+`9l-H4P`)$D9wi<14y!TGIPsfDX!VJY z0P!qJ8mYQ~`|{qy_1UriGV^N(uD12q*~r-rCrj{sc5}s@xk-f;uA5G}$<)&2<;Tm8 z?qC*H8`0evba6uJx4Oc)5FyhWfaYjFvnx<5>Bv5jn;>9hX$mhN-WZ$^=IY>Tf!feG zUOt7T2fuxwNpq7)2ekIA^+_$9co;Zgo=)DspFB+D+Nn$`CrV-fbdhyIhEuStVDoi9e%&(`>Kjc5`+s3G9(GivN3*qtNW&FLm$515r}bL zCf@V&@ze1WE_Du^YU@4y>$u+vlx5jK?IV@@1ZlNP4&4|orr<~e(!k^+!T~V);2jdV z)YWplz>5Z^`v6KV^vrw&b*7(T@%r{`l31Ws)8#=o9QYy$*HC4klPzreK1e7^k_FY)>-N`shyC&)M8wHQB( zs(*gI$w7%Y*(C542^;4lbWP0SQ{J$F17Pk0NhYd)(Z2$_u4h4~BYc#%<|edIBLm-x zR}Ftw@b(DaXRr9|;SJ_!M*0Ml$civF!WtNDW!n}|3Zb?Jol)pFX7uej#SK*^7)wr< zrEZt!=atybVfq9da`hQUy(sJ>7(Gbq7>u%S#MmqMK3`l6oZ&&!v4-7&ZG}yXebs>l z1i}8fu?6*8csyB&$pJH3%GE~{8qYpx4vi86;-f}emJo78)zL7S{Fcr6Ov3)~OrCR} zZ?saPEX%4CLbKb3@UHt@a5D#&5cn$|1?BoRWUsu>-(8%9DBM8mG6XIG@e+h12tu)6 zHR!$QjYlJe_9Mreh;p_9N`c@4N&$F*qb&=KqZL?M!sI^NId&lw@@HrkSeUpMe=W7f zI9(@+(p6Py%`QL!rdiH_!6&KNvBISeHWD1fsPyxhZ6Qg9eh|84vHhaVCiDrqvCkXi zR9-sCwdUP(xSIr?yqzF&omKwHyX)sAZO$5C(TyRbke;~b2(_MEo=5qWZ?R3pSV*XRuY%Arjr7oxqe;>r zA6=xLNtkLx%b4wn*x2XUNaj%C0U;9PfpyTdw3^4}K(Pe0Z#|Du7TZR!My&xICXNxT zwHC0sQF)wvIR%a2L2_#FVE>l)8aKL(SN}Ic-llA4V(vY}I@qq6Kf|HKxUj)JXZZq3 zSFrgAFc;jjmMlIsKIL}P1xT1Z7>4xYA#e(n#xqu1*VI z1}UVujs(HX){!V#kRGt`eovHO9`J!&n`PB_KM%GTb7^XINEOUbQyUyGcxkF)o+txU z-bV%Inqt?}U(SIGs~ePo@7wUqgO(~Mu^#{##5YQk$%rlDf^2^^-68XZp#g}eo83-I z6JJrBlC8ty3!=m%odZF0?@<7K{`9zje>9fqc7gc}>00#C+A&7sUV zr_mumxhPvedDygU4z7exU0SwS=8_3Li>OR0iK#h%eDsiVu(Kh{LWsc_?REgme7}zH zYfJ#-97rI>FX5@?K<_hKO3!0#_);%LyvIOHkLLbx2$U$hca5Um_Asc`c{*1)t&X|O z*YBB5OXUyUE@ON+q{S(sTrPPOGp34|(G%0U9v?p{H68=YbgW_VD9Uc4HFSxLl^LYc zluR?_BCC6dM^q|x$uWYbwXUP9u%l75a&Iz{Qqj@iyr>L~cDq-MRHT(s0zW)aYXxhL zRPubHl;sQhcXhq1 zky{g({0{STW^^;en*R^?qmUz`u#SN;iU8BmV!2G_(g^%1y~pqsC`%Pfm<5?iL4*`n za78iBsa-wVClYZEL174dAw=PM9uIrLmtlD{WDEsNSG}?aZ6F~fh`~(8nITQPf9~qt zW|x_R`wK&vxTl`O)zmDgBYq$gDXiHnS~st*uAohw&vB`eDF=(w`z=rwN(j`#=D|U$ ztq{3U2U6?tLz?S^ORHPU0>aP^giyL%R=wq;7Fy)R2$8cONPc_5^6|W`BmMDXw$o5x z5=X{sclGAuX2;SL#~d_*c946rB?Cg{c?49vhM}MW=jsqJBVB8>--wTtF|%#GYP4I0 z-2y*z576M0rBb?6BhTqLo+smEg%kPvSj?O#5T(X7$O?W_)wl|Xw@;^ca5MCP$$0!& z;e9pYCDS{x%O)97N@UHOT_k7On#!cR6Dnec6^NLzIw#>xD8T}hvKd~5VFxhhd#><< zq1oM6Kv}dQ3Pl?K*ecc1b_=sWd3DCWnzbk`Jn*G5>Q4Yg^=n&Xpq^Cqy3s ztMja{M&~tn`Rd4pE>8&0vWp*zwo-Key(U^?UP*1@X z;CflCmm9sla{ASheG3v`A~V+QaXNwf<>Tctoy&TMbk1tbqz<@iq$%J-;F={)Dsz>_ zCJ)13q^8UD5usS%W(dC z?&Brd$+ARB0k}Cm_wx#p@;0-kzydDTdURc*!htldX>t;e%z%WeqPnp`n#jEvA?ti#l45?eTQrs?i ze+Q7$J17cR65`P{(l&{jQSSU<3b=*_-2^I=&F{ZQTLNMQ=VWG*5(JVwUuM+Xx@ilD z&&rf-024T6!cs_~_P4OYENDobgJ5bcEN5t|!uBCHQl{+yWVdNKuG=~}IqCL0Fj6uF zsapUme(t9T?&CCP1kiC_mD6{Xb2MUISN=n8QpL) zQG)(PA2$etLBEn3ulO5iCt&alFB)2=D}ofZ<=V;?%t~#W(suh@M>|gUK{P1p=EXbB7ifTZ-D zim);yxBg%Nm3E-rh>p3AN2UdAbamxkoai&BqzZ8SNwS(d)H2=Ydp(VDQ(Mmw#&>z5vP>fO>g(*>qdY7nr93W#HQs zVY_Y{D9P>gV9>=!0%zpI(vk$<1Y3ilHjTHW;`mX5^i7cQHeoAZbZn>FcK{Wk*p8oLN>x-VZdhpU*(Cx=k#~9FiO2GkaPSx9Z z*aZtGrr0fDHP04}FXj*2kU%QSMW&HLdue2pDy_8yiPOGulcQ!JB*nDxNK3Vr+pi$Y z63!;-f9ji?5dIxWq!1)J)5dQlCXtOF{{Hs*_Tu!|!)Sz?I?V>jxP%^r?JEU6+eFF7 zS#fG0Q(7+bsOu=)CX|v*0f=vj(C)tz?yuG-%c-=oc`?2Sd^P&ZXHs{cx*Q4YG zn25c#!RO0dK>)KnBO|3k5ufeJ)XVcx0+cH=V1ctENSG2)P-F}ePby&rp|z%9`s0Ks z&l5=g2$XFXth+=gsnLW~g&1jX_QwEfhER>`>+9Rwx3Ayco}GG}+3WJGfSjFOKz{7? zOCze7r%VN^R3*BzXKz*Pi+Q0G8GZ>3lY2uxttLXOuaL5RrlgU?N<^NQ8e)+{2$T-T z33y5+Rwd)R*S1ldN}=Yc6#$5FH^}OYl10eRl%Vnc{kz}Z|N7hepW&Pyri%UB+yA}= z@YmO`Z!a!xZ*MQodSyA9W8UBaqcRKMpPtz>0<*2~S?#iydn+@#%Msd@CMq%@PTH7E zMoF2(J`^e{_k>x}7Xaq8sYILU*B0Q96ZDH;K+d9@PK4`7Sdk>N`tKi%{PthJ|9*jw zDlXpr^835%pWgm-{SIMu{f;;nABUw;1O-LLPk(d6f!4A93PtFyA#dpzx(pFu9p z&rg4Z-W!}Z2j02x`?52&L-}fzKikEK& z189~-U=~B1j?;m{J0c!2^%~~(|3#e7j@wvv#|Z2070^-1VJNQI-BnfyV|-w9S)Fu+WG|KqP0H#gtiTwJ{R z`u5e&SA2H-o8SHBg3X9UhfVzFv=XyDEkKMzdjg3<*kP#jz%keXN*)T{DP`8jJvMuP z_5L#99q+DhZ-IV)M>t%5!B80e>8B^Y-K1cA`Q?cZf`5GbmHOqyFZ@J_tl&RSd-3z1 zyui^I@|Uj{7g+TA_WD|E`s(uTlAi!vT%h&WAHQC_`SqKdH$T4l%WwYTuYUb49dB(r zw6V2Os0Q72gB`36A+&>3&`QFU!h!s0F|aH*?LmzV$j`t|Q$zx+M_uN-lP zhXn2|FZSm@lQZ9b`^^jaDCFtOE9&a)Fphqj-0^%qAD7gA zfA#s(`}db(sF(kUi+=ejrPr%3gadmztL2Lq+-0EO-of(zv)~Bf$0LxOA`sqfw}3vZD0X3<9L2dop?0HjvNdJ8Fxk>c^_V>m^?hY+UYNO?a`(>l?5V~S$A zU*7HS?mpjLU0vcQ*!U?5Mq^}IQeN;5`|34}aNJ(sUcGwq)8n|0H0iekUtuO$Qh zNF6sfH#gATz2R5ETnxbnJ+uQ(r|~q_du^sLBX5Yw`eERJ^Fug2o?;vmBa-qvP(CU$xC`5m0EKR-cvdHMPM-SOt`n(3ID&GCj0EhJ8ko3(3n zo#)1MopzheW;{apTpQPJ#?1!Q^9$)NwPE7&DTJ!$05LlG2scau_V{>8gpcTqoagg;@?tL| zj3-gvV=YA8@82a?0K8usXG4QB>mxz|&-YPJH%Ah!QHlAF9xZW zAh$VrWEm6Fn5Iz-^klkf3J+D4Yxq3?q~~cAKcn>oWU#!d1Jszl z?+Gt+iER=m@P71SEe`2%ZVizV$_7q73^<@37>ry|1~r?m z=uB4NdhzpN9wU@95>haVojj0MI$qcK+SoYQpq*B_Hx(x-v)!H&NO>}02F?=U6UT=D z3uXaxPIX4c=rDh}LYbN$hp6|s%hrQbBuGS4Z7So&pe2F|rc$gewj1dON4b}791dLL z!rIn44~ZYRk-N}p-ARHK_xqzGS_lD52($M>ZzFa?85_NCBb4HN(F-omsQ#fmd_pLY zo_vKeI5~rtorVH@(6v^y-1#{$`JHn~wUH)!>&6+^osUpT9Vn7~;jJGJ$Eh)`P-=^V zwCXXRc-^g`oE(U<*a|WEet^kg1}k z@I3K{@Nxx*5>Sw5dF&bUG;)oLErD2erM5cnjDyG4(w(~MyKdW6eMn{7gFr?Qla{=s z2|iR=nH5EIJOebkaq5e%>`ZUOx}}l4R4NQ`$ZE(9AxxdX<#;|?DASXm%P)c%fjl80 zn2B>7p{$CsTy0BKtIB<6s-Z7s>!_-3yWM_xfKb=9rCLgkNet4;1;@-8vowS=L=z)Y zW?5Epsmii2MinWzu`&Wfkr?C9M>>zdsX=%wfs+W{17&f(DBI#EByJ-PB8jvrOHR5i zx4Wv_ZMS`w^(P>OvD-cn8Ok+MiViVICt#h|rZLWXvSG8{n_N{@F9BQJ3tpF%IaMp` zz0Pwtg$c@3A&85f@5B~p3LOW0_lS6--Hf6xoZ}{?kRxdi3&uZZZ>mJRZksWSS&g3C z)oQom;oPKmHLLPQ2Um-fZF9tJW^$=EtTRonB&M?>&$E1*pf-7~od{$V@u9jNIw@#} zXUddj0C5n?8L&t|jx&@AQf*XiQKvpY8R(wTmF{T!cJ-lLt)%NK>cg(u%Inv*#>fSn zbQ}fTgnU3++T#xN)z}bnyl&|7G#jOyCCj3xb-2b$6x4!-3lnKb%rM0Wt4H$SL4(?p z>Jn+uHwwU|$`xWpD9K9ZFmx*@vuwB9_SH69Z9lAbS=HxVua(YuBl-c#Mp@eA*Nst) z(U$X%ty(rrfP>P|;KoPS9xPQ45=wK*YWxDh`*xhCH9Z;Z1zifDuzeNpq-@D5)0Cs;?}6mCn5lx12~TFY=)8}P>zG{j_+bAe-{Hx4>Kdz%;&XTk~~%7Ky_ zyi(D1d4=BsZ1c>@?S#=WoxwH=8j~*#8Xk|JPi9&diyEKSIu2cxJyUk3yZ^0NoaXlr zy_Nx3-J4$bJ?9QMb}F!bKnwA|v3`&>$1#tMmMQRw(GOw>EE8}Lg9$JlLrFX)y17RqedxN0c;CURiT$e5 z(yy+p`d|n}PAcAO2i-TW9a~*D+5@1pf7X&bAM`*aDYYKtEe=O>jc6~67{}x(uN6rk z@qehBwPP*zV?+y#vB(|PtvNSEoa2;Ic^XKH_9;XA2MPUcfO6YWWkthsoL?fSYVuMb zbY*1o2M-cn4gFAx*h}%lPLU|1R)eM;;L~}FeV@kzIN{Xpc^_e1=QDH8{-O~!EDVr_ zb_OIEYWibT)^OT3oD$gf;o$)_x1Aiha;UOui>Xv4IeTBj$hxls0c4ah0%_4IMA;X@ z{YT)fP{Y|!k%)~y@;!8ru3bOemh972u5D7GnCuAPhn`Ysw})=klI_MV|?BWS8t z461Ct8u_5CwjVxxc)nT5pjIsNRo{1}+78U28=Pt~ zq5#?EG^S&>G9gipo><)=8*<`h48~xD$^?N_fF6`mZZe`|xihE20000Super Product One™ or start " + "evaluating the product" + ) + self.top_label.setWordWrap(True) + + self.register_radio_button = QRadioButton("&Register your copy") + self.register_radio_button.setChecked(True) + + self.evaluate_radio_button = QRadioButton("&Evaluate the product for 30 days") + layout = QVBoxLayout(self) + layout.addWidget(self.top_label) + layout.addWidget(self.register_radio_button) + layout.addWidget(self.evaluate_radio_button) + + def nextId(self): + if self.evaluate_radio_button.isChecked(): + return Pages.Page_Evaluate + else: + return Pages.Page_Register + + +class EvaluatePage(QWizardPage): + def __init__(self, parent=None): + super().__init__(parent) + self.setTitle("Evaluate Super Product One&trade") + self.setSubTitle( + "Please fill both fields. Make sure to provide a valid " + "email address (e.g., john.smith@example.com)." + ) + + self.name_label = QLabel("N&ame:") + self.name_line_edit = QLineEdit() + + self.name_label.setBuddy(self.name_line_edit) + + self.email_label = QLabel("&Email address:") + self.email_line_edit = QLineEdit() + self.email_line_edit.setValidator( + QRegularExpressionValidator(QRegularExpression(EMAIL_REGEXP), self) + ) + self.email_label.setBuddy(self.email_line_edit) + + self.registerField("evaluate.name*", self.name_line_edit) + self.registerField("evaluate.email*", self.email_line_edit) + + layout = QGridLayout(self) + layout.addWidget(self.name_label, 0, 0) + layout.addWidget(self.name_line_edit, 0, 1) + layout.addWidget(self.email_label, 1, 0) + layout.addWidget(self.email_line_edit, 1, 1) + + def nextId(self): + return Pages.Page_Conclusion + + +class RegisterPage(QWizardPage): + def __init__(self, parent=None): + super().__init__(parent) + self.setTitle("Register Your Copy of Super Product One&trade") + self.setSubTitle("If you have an upgrade key, please fill in " "the appropriate field.") + + self.name_label = QLabel("N&ame:") + self.name_line_edit = QLineEdit() + self.name_label.setBuddy(self.name_line_edit) + + self.upgrade_key_label = QLabel("&Upgrade key:") + self.upgrade_key_line_edit = QLineEdit() + self.upgrade_key_label.setBuddy(self.upgrade_key_line_edit) + + self.registerField("register.name*", self.name_line_edit) + self.registerField("register.upgradeKey", self.upgrade_key_line_edit) + + layout = QGridLayout(self) + layout.addWidget(self.name_label, 0, 0) + layout.addWidget(self.name_line_edit, 0, 1) + layout.addWidget(self.upgrade_key_label, 1, 0) + layout.addWidget(self.upgrade_key_line_edit, 1, 1) + + def nextId(self): + if self.upgrade_key_line_edit.text(): + return Pages.Page_Details + else: + return Pages.Page_Conclusion + + +class DetailsPage(QWizardPage): + def __init__(self, parent=None): + super().__init__(parent) + self.setTitle("Fill In Your Details") + self.setSubTitle( + "Please fill all three fields. Make sure to provide a valid " + "email address (e.g., tanaka.aya@example.co.jp)." + ) + + self.company_label = QLabel("&Company name:") + self.company_line_edit = QLineEdit() + self.company_label.setBuddy(self.company_line_edit) + + self.email_label = QLabel("&Email address:") + self.email_line_edit = QLineEdit() + self.email_line_edit.setValidator( + QRegularExpressionValidator(QRegularExpression(EMAIL_REGEXP), self) + ) + self.email_label.setBuddy(self.email_line_edit) + + self.postal_label = QLabel("&Postal address:") + self.postal_line_edit = QLineEdit() + self.postal_label.setBuddy(self.postal_line_edit) + + self.registerField("details.company*", self.company_line_edit) + self.registerField("details.email*", self.email_line_edit) + self.registerField("details.postal*", self.postal_line_edit) + + layout = QGridLayout(self) + layout.addWidget(self.company_label, 0, 0) + layout.addWidget(self.company_line_edit, 0, 1) + layout.addWidget(self.email_label, 1, 0) + layout.addWidget(self.email_line_edit, 1, 1) + layout.addWidget(self.postal_label, 2, 0) + layout.addWidget(self.postal_line_edit, 2, 1) + + def nextId(self): + return Pages.Page_Conclusion + + +class ConclusionPage(QWizardPage): + def __init__(self, parent=None): + super().__init__(parent) + self.setTitle("Complete Your Registration") + + path = Path(__file__).resolve().parent + self.setPixmap(QWizard.WatermarkPixmap, QPixmap(path / "images" / "watermark.png")) + + self.bottom_label = QLabel() + self.bottom_label.setWordWrap(True) + + agreeCheckBox = QCheckBox("I agree to the terms of the license") + + self.registerField("conclusion.agree*", agreeCheckBox) + + layout = QVBoxLayout(self) + layout.addWidget(self.bottom_label) + layout.addWidget(agreeCheckBox) + + self.custom_button_clicked_signal_connected = False + + def nextId(self): + return -1 + + def initializePage(self): + if self.wizard().hasVisitedPage(Pages.Page_Evaluate): + license_text = "Evaluation License Agreement: " + "You can use self software for 30 days and make one " + "backup, but you are not allowed to distribute it." + elif self.wizard().hasVisitedPage(Pages.Page_Details): + license_text = ( + "First-Time License Agreement: " + "You can use self software subject to the license " + "you will receive by email." + ) + + else: + license_text = ( + "Upgrade License Agreement: " + "This software is licensed under the terms of your " + "current license." + ) + self.bottom_label.setText(license_text) + + def setVisible(self, visible: bool): + super().setVisible(visible) + if visible: + self.wizard().setButtonText(QWizard.CustomButton1, "&Print") + self.wizard().setOption(QWizard.HaveCustomButton1, True) + + if not self.custom_button_clicked_signal_connected: + self.custom_button_clicked_signal_connected = True + self.wizard().customButtonClicked.connect(self.print_button_clicked) + else: + self.wizard().setOption(QWizard.HaveCustomButton1, False) + + if self.custom_button_clicked_signal_connected: + self.custom_button_clicked_signal_connected = False + self.wizard().customButtonClicked.disconnect(self.print_button_clicked) + + def print_button_clicked(self): + printer = QPrinter() + + dialog = QPrintDialog(printer, self) + if dialog.exec(): + QMessageBox.warning( + self, + "Print License", + "As an environmentally friendly measure, the " + "license text will not actually be printed.", + ) + + +class LicenseWizard(QWizard): + def __init__(self, parent=None): + super().__init__(parent) + + self._pages = [ + IntroPage(), + EvaluatePage(), + RegisterPage(), + DetailsPage(), + ConclusionPage() + ] + + for page in self._pages: + self.addPage(page) + + self.setStartId(Pages.Page_Intro) + + if sys.platform == 'darwin': + self.setWizardStyle(QWizard.ModernStyle) + + self.setOption(QWizard.HaveHelpButton, True) + + path = Path(__file__).resolve().parent + self.setPixmap(QWizard.LogoPixmap, QPixmap(path / "images" / "logo.png")) + + self.helpRequested.connect(self.show_help) + self.setWindowTitle("License Wizard") + + self.last_help_message: str = None + + def show_help(self): + if self.currentId() == Pages.Page_Intro: + message = "The decision you make here will affect which page you get to see next." + + elif self.currentId() == Pages.Page_Evaluate: + message = ( + "Make sure to provide a valid email address, such as " + "toni.buddenbrook@example.de." + ) + + elif self.currentId() == Pages.Page_Register: + message = ( + "If you don't provide an upgrade key, you will be asked to fill in your details." + ) + + elif self.currentId() == Pages.Page_Details: + message = ( + "Make sure to provide a valid email address, such as " + "thomas.gradgrind@example.co.uk." + ) + + elif self.currentId() == Pages.Page_Conclusion: + message = "You must accept the terms and conditions of the license to proceed." + else: + message = "This help is likely not to be of any help." + + if self.last_help_message == message: + message = ( + "Sorry, I already gave what help I could. Maybe you should try asking a human?" + ) + + QMessageBox.information(self, "License Wizard Help", message) + + self.last_help_message = message diff --git a/examples/widgets/dialogs/licensewizard/licensewizard.pyproject b/examples/widgets/dialogs/licensewizard/licensewizard.pyproject new file mode 100644 index 0000000..ef8b801 --- /dev/null +++ b/examples/widgets/dialogs/licensewizard/licensewizard.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "licensewizard.py"] +} diff --git a/examples/widgets/dialogs/licensewizard/main.py b/examples/widgets/dialogs/licensewizard/main.py new file mode 100644 index 0000000..26537dd --- /dev/null +++ b/examples/widgets/dialogs/licensewizard/main.py @@ -0,0 +1,15 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtWidgets import QApplication + +from licensewizard import LicenseWizard + +if __name__ == "__main__": + app = QApplication(sys.argv) + + wizard = LicenseWizard() + wizard.show() + sys.exit(app.exec()) diff --git a/examples/widgets/dialogs/standarddialogs/standarddialogs.py b/examples/widgets/dialogs/standarddialogs/standarddialogs.py new file mode 100644 index 0000000..8a2a442 --- /dev/null +++ b/examples/widgets/dialogs/standarddialogs/standarddialogs.py @@ -0,0 +1,442 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the widgets/dialogs/standarddialogs example from Qt v5.x""" + +import sys +from textwrap import dedent + +from PySide6.QtCore import QDir, Qt, Slot +from PySide6.QtGui import QFont, QPalette +from PySide6.QtWidgets import (QApplication, QColorDialog, QCheckBox, QDialog, + QErrorMessage, QFontDialog, QFileDialog, QFrame, + QGridLayout, QGroupBox, QInputDialog, QLabel, + QLineEdit, QMessageBox, QPushButton, + QSizePolicy, QSpacerItem, QToolBox, + QVBoxLayout, QWidget) + + +class DialogOptionsWidget(QGroupBox): + """Widget displaying a number of check boxes representing the dialog + options.""" + def __init__(self, parent=None): + super().__init__(parent) + self._layout = QVBoxLayout(self) + self._mapping = {} + + def value(self): + result = 0 + for checkbox, value in self._mapping.items(): + if checkbox.isChecked(): + result |= value + return result + + def add_checkbox(self, text, value): + checkbox = QCheckBox(text) + self._layout.addWidget(checkbox) + self._mapping[checkbox] = value + + +class Dialog(QDialog): + + def __init__(self, parent=None): + super().__init__(parent) + + self._open_files_path = '' + + self._error_message_dialog = QErrorMessage(self) + + frame_style = QFrame.Sunken | QFrame.Panel + + self._integer_label = QLabel() + self._integer_label.setFrameStyle(frame_style) + self._integer_button = QPushButton("QInputDialog.get&Integer()") + + self._double_label = QLabel() + self._double_label.setFrameStyle(frame_style) + self._double_button = QPushButton("QInputDialog.get&Double()") + + self._item_label = QLabel() + self._item_label.setFrameStyle(frame_style) + self._item_button = QPushButton("QInputDialog.getIte&m()") + + self._text_label = QLabel() + self._text_label.setFrameStyle(frame_style) + self._text_button = QPushButton("QInputDialog.get&Text()") + + self._multiline_text_label = QLabel() + self._multiline_text_label.setFrameStyle(frame_style) + self._multiline_text_button = QPushButton("QInputDialog::get&MultiLineText()") + + self._color_label = QLabel() + self._color_label.setFrameStyle(frame_style) + self._color_button = QPushButton("QColorDialog.get&Color()") + self._color_options = DialogOptionsWidget() + self._color_options.add_checkbox("Show alpha channel", + QColorDialog.ShowAlphaChannel) + self._color_options.add_checkbox("No buttons", + QColorDialog.NoButtons) + + self._font_label = QLabel() + self._font_label.setFrameStyle(frame_style) + self._font_button = QPushButton("QFontDialog.get&Font()") + self._font_options = DialogOptionsWidget() + self._font_options.add_checkbox("Do not use native dialog", + QFontDialog.DontUseNativeDialog) + self._font_options.add_checkbox("Show scalable fonts", + QFontDialog.ScalableFonts) + self._font_options.add_checkbox("Show non-scalable fonts", + QFontDialog.NonScalableFonts) + self._font_options.add_checkbox("Show monospaced fonts", + QFontDialog.MonospacedFonts) + self._font_options.add_checkbox("Show proportional fonts", + QFontDialog.ProportionalFonts) + self._font_options.add_checkbox("No buttons", QFontDialog.NoButtons) + + self._directory_label = QLabel() + self._directory_label.setFrameStyle(frame_style) + self._directory_button = QPushButton("QFileDialog.getE&xistingDirectory()") + + self._open_file_name_label = QLabel() + self._open_file_name_label.setFrameStyle(frame_style) + self._open_file_name_button = QPushButton("QFileDialog.get&OpenFileName()") + + self._open_file_names_label = QLabel() + self._open_file_names_label.setFrameStyle(frame_style) + self._open_file_names_button = QPushButton("QFileDialog.&getOpenFileNames()") + + self._save_file_name_label = QLabel() + self._save_file_name_label.setFrameStyle(frame_style) + self._save_file_name_button = QPushButton("QFileDialog.get&SaveFileName()") + + self._file_options = DialogOptionsWidget() + self._file_options.add_checkbox("Do not use native dialog", + QFileDialog.DontUseNativeDialog) + self._file_options.add_checkbox("Show directories only", + QFileDialog.ShowDirsOnly) + self._file_options.add_checkbox("Do not resolve symlinks", + QFileDialog.DontResolveSymlinks) + self._file_options.add_checkbox("Do not confirm overwrite", + QFileDialog.DontConfirmOverwrite) + self._file_options.add_checkbox("Readonly", QFileDialog.ReadOnly) + self._file_options.add_checkbox("Hide name filter details", + QFileDialog.HideNameFilterDetails) + self._file_options.add_checkbox("Do not use custom directory icons (Windows)", + QFileDialog.DontUseCustomDirectoryIcons) + + self._critical_label = QLabel() + self._critical_label.setFrameStyle(frame_style) + self._critical_button = QPushButton("QMessageBox.critica&l()") + + self._information_label = QLabel() + self._information_label.setFrameStyle(frame_style) + self._information_button = QPushButton("QMessageBox.i&nformation()") + + self._question_label = QLabel() + self._question_label.setFrameStyle(frame_style) + self._question_button = QPushButton("QMessageBox.&question()") + + self._warning_label = QLabel() + self._warning_label.setFrameStyle(frame_style) + self._warning_button = QPushButton("QMessageBox.&warning()") + + self._error_button = QPushButton("QErrorMessage.showM&essage()") + + self._integer_button.clicked.connect(self.set_integer) + self._double_button.clicked.connect(self.set_double) + self._item_button.clicked.connect(self.set_item) + self._text_button.clicked.connect(self.set_text) + self._multiline_text_button.clicked.connect(self.set_multiline_text) + + self._color_button.clicked.connect(self.set_color) + self._font_button.clicked.connect(self.set_font) + self._directory_button.clicked.connect(self.set_existing_directory) + self._open_file_name_button.clicked.connect(self.set_open_file_name) + self._open_file_names_button.clicked.connect(self.set_open_file_names) + self._save_file_name_button.clicked.connect(self.set_save_file_name) + self._critical_button.clicked.connect(self.critical_message) + self._information_button.clicked.connect(self.information_message) + self._question_button.clicked.connect(self.question_message) + self._warning_button.clicked.connect(self.warning_message) + self._error_button.clicked.connect(self.error_message) + + vertical_layout = QVBoxLayout(self) + toolbox = QToolBox() + + vertical_layout.addWidget(toolbox) + page = QWidget() + layout = QGridLayout(page) + layout.addWidget(self._integer_button, 0, 0) + layout.addWidget(self._integer_label, 0, 1) + layout.addWidget(self._double_button, 1, 0) + layout.addWidget(self._double_label, 1, 1) + layout.addWidget(self._item_button, 2, 0) + layout.addWidget(self._item_label, 2, 1) + layout.addWidget(self._text_button, 3, 0) + layout.addWidget(self._text_label, 3, 1) + layout.addWidget(self._multiline_text_label, 4, 1) + layout.addWidget(self._multiline_text_button, 4, 0) + spacer = QSpacerItem(0, 0, QSizePolicy.Ignored, QSizePolicy.MinimumExpanding) + layout.addItem(spacer, 5, 0) + toolbox.addItem(page, "Input Dialogs") + + page = QWidget() + layout = QGridLayout(page) + layout.addWidget(self._color_button, 0, 0) + layout.addWidget(self._color_label, 0, 1) + spacer = QSpacerItem(0, 0, QSizePolicy.Ignored, QSizePolicy.MinimumExpanding) + layout.addItem(spacer, 1, 0) + layout.addWidget(self._color_options, 2, 0, 1, 2) + toolbox.addItem(page, "Color Dialog") + + page = QWidget() + layout = QGridLayout(page) + layout.addWidget(self._font_button, 0, 0) + layout.addWidget(self._font_label, 0, 1) + spacer = QSpacerItem(0, 0, QSizePolicy.Ignored, QSizePolicy.MinimumExpanding) + layout.addItem(spacer, 1, 0) + layout.addWidget(self._font_options, 2, 0, 1, 2) + toolbox.addItem(page, "Font Dialog") + + page = QWidget() + layout = QGridLayout(page) + layout.addWidget(self._directory_button, 0, 0) + layout.addWidget(self._directory_label, 0, 1) + layout.addWidget(self._open_file_name_button, 1, 0) + layout.addWidget(self._open_file_name_label, 1, 1) + layout.addWidget(self._open_file_names_button, 2, 0) + layout.addWidget(self._open_file_names_label, 2, 1) + layout.addWidget(self._save_file_name_button, 3, 0) + layout.addWidget(self._save_file_name_label, 3, 1) + spacer = QSpacerItem(0, 0, QSizePolicy.Ignored, QSizePolicy.MinimumExpanding) + layout.addItem(spacer, 4, 0) + layout.addWidget(self._file_options, 5, 0, 1, 2) + + toolbox.addItem(page, "File Dialogs") + + page = QWidget() + layout = QGridLayout(page) + layout.addWidget(self._critical_button, 0, 0) + layout.addWidget(self._critical_label, 0, 1) + layout.addWidget(self._information_button, 1, 0) + layout.addWidget(self._information_label, 1, 1) + layout.addWidget(self._question_button, 2, 0) + layout.addWidget(self._question_label, 2, 1) + layout.addWidget(self._warning_button, 3, 0) + layout.addWidget(self._warning_label, 3, 1) + layout.addWidget(self._error_button, 4, 0) + spacer = QSpacerItem(0, 0, QSizePolicy.Ignored, QSizePolicy.MinimumExpanding) + layout.addItem(spacer, 5, 0) + toolbox.addItem(page, "Message Boxes") + + self.setWindowTitle("Standard Dialogs") + + @Slot() + def set_integer(self): + i, ok = QInputDialog.getInt(self, + "QInputDialog.getInteger()", "Percentage:", 25, 0, 100, 1) + if ok: + self._integer_label.setText(f"{i}%") + + @Slot() + def set_double(self): + d, ok = QInputDialog.getDouble(self, "QInputDialog.getDouble()", + "Amount:", 37.56, -10000, 10000, 2) + if ok: + self._double_label.setText(f"${d:g}") + + @Slot() + def set_item(self): + items = ("Spring", "Summer", "Fall", "Winter") + + item, ok = QInputDialog.getItem(self, "QInputDialog.getItem()", + "Season:", items, 0, False) + if ok and item: + self._item_label.setText(item) + + @Slot() + def set_text(self): + text, ok = QInputDialog.getText(self, "QInputDialog.getText()", + "User name:", QLineEdit.Normal, + QDir.home().dirName()) + if ok and text != '': + self._text_label.setText(text) + + @Slot() + def set_multiline_text(self): + text, ok = QInputDialog.getMultiLineText(self, "QInputDialog::getMultiLineText()", + "Address:", "John Doe\nFreedom Street") + if ok and text != '': + self._multiline_text_label.setText(text) + + @Slot() + def set_color(self): + options_value = self._color_options.value() + options = QColorDialog.ColorDialogOptions(options_value) + color = QColorDialog.getColor(Qt.green, self, "Select Color", options) + + if color.isValid(): + self._color_label.setText(color.name()) + self._color_label.setPalette(QPalette(color)) + self._color_label.setAutoFillBackground(True) + + @Slot() + def set_font(self): + options_value = self._font_options.value() + options = QFontDialog.FontDialogOptions(options_value) + + description = self._font_label.text() + default_font = QFont() + if description: + default_font.fromString(description) + + ok, font = QFontDialog.getFont(default_font, self, "Select Font", options) + if ok: + self._font_label.setText(font.key()) + self._font_label.setFont(font) + + @Slot() + def set_existing_directory(self): + options_value = self._file_options.value() + options = QFileDialog.Options(options_value) | QFileDialog.ShowDirsOnly + + directory = QFileDialog.getExistingDirectory(self, + "QFileDialog.getExistingDirectory()", + self._directory_label.text(), options) + if directory: + self._directory_label.setText(directory) + + @Slot() + def set_open_file_name(self): + options_value = self._file_options.value() + options = QFileDialog.Options(options_value) + + fileName, filtr = QFileDialog.getOpenFileName(self, + "QFileDialog.getOpenFileName()", + self._open_file_name_label.text(), + "All Files (*);;Text Files (*.txt)", "", options) + if fileName: + self._open_file_name_label.setText(fileName) + + @Slot() + def set_open_file_names(self): + options_value = self._file_options.value() + options = QFileDialog.Options(options_value) + + files, filtr = QFileDialog.getOpenFileNames(self, + "QFileDialog.getOpenFileNames()", self._open_files_path, + "All Files (*);;Text Files (*.txt)", "", options) + if files: + self._open_files_path = files[0] + file_list = ', '.join(files) + self._open_file_names_label.setText(f"[{file_list}]") + + @Slot() + def set_save_file_name(self): + options_value = self._file_options.value() + options = QFileDialog.Options(options_value) + + fileName, filtr = QFileDialog.getSaveFileName(self, + "QFileDialog.getSaveFileName()", + self._save_file_name_label.text(), + "All Files (*);;Text Files (*.txt)", "", options) + if fileName: + self._save_file_name_label.setText(fileName) + + @Slot() + def critical_message(self): + m = dedent("""\ + Activating the liquid oxygen stirring fans caused an + explosion in one of the tanks. Liquid oxygen levels + are getting low. This may jeopardize the moon landing mission.""") + msg_box = QMessageBox(QMessageBox.Critical, "QMessageBox.critical()", + "Houston, we have a problem", + QMessageBox.Abort | QMessageBox.Retry | QMessageBox.Ignore, + self) + msg_box.setInformativeText(m) + reply = msg_box.exec() + if reply == QMessageBox.Abort: + self._critical_label.setText("Abort") + elif reply == QMessageBox.Retry: + self._critical_label.setText("Retry") + else: + self._critical_label.setText("Ignore") + + @Slot() + def information_message(self): + m = dedent("""\ + This phrase was often used by public address announcers at + the conclusion of Elvis Presley concerts in order to + disperse audiences who lingered in hopes of an encore. + It has since become a catchphrase and punchline.""") + msg_box = QMessageBox(QMessageBox.Information, "QMessageBox.information()", + "Elvis has left the building.", + QMessageBox.Ok, self) + msg_box.setInformativeText(m) + reply = msg_box.exec() + if reply == QMessageBox.Ok: + self._information_label.setText("OK") + else: + self._information_label.setText("Escape") + + @Slot() + def question_message(self): + m = dedent("""\ + A cheeseburger is a hamburger topped with cheese. + Traditionally, the slice of cheese is placed on top of the + meat patty. The cheese is usually added to the cooking + hamburger patty shortly before serving, which allows the + cheese to melt.""") + msg_box = QMessageBox(QMessageBox.Question, "QMessageBox.question()", + "Would you like cheese with that?", + QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel) + msg_box.setInformativeText(m) + reply = msg_box.exec() + if reply == QMessageBox.Yes: + self._question_label.setText("Yes") + elif reply == QMessageBox.No: + self._question_label.setText("No") + else: + self._question_label.setText("Cancel") + + @Slot() + def warning_message(self): + msg_box = QMessageBox(QMessageBox.Warning, "QMessageBox.warning()", + "Delete the only copy of your movie manuscript?", + QMessageBox.NoButton, self) + m = "You've been working on this manuscript for 738 days now. Hang in there!" + msg_box.setInformativeText(m) + msg_box.setDetailedText('"A long time ago in a galaxy far, far away...."') + msg_box.addButton("&Keep", QMessageBox.AcceptRole) + msg_box.addButton("Delete", QMessageBox.RejectRole) + if msg_box.exec() == QMessageBox.AcceptRole: + self._warning_label.setText("Keep") + else: + self._warning_label.setText("Delete") + + @Slot() + def error_message(self): + m = dedent("""\ + This dialog shows and remembers error messages. If the + user chooses to not show the dialog again, the dialog + will not appear again if QErrorMessage.showMessage() + is called with the same message.""") + self._error_message_dialog.showMessage(m) + m = dedent("""\ + You can queue up error messages, and they will be + shown one after each other. Each message maintains + its own state for whether it will be shown again + the next time QErrorMessage::showMessage() is called + with the same message.""") + self._error_message_dialog.showMessage(m) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + dialog = Dialog() + availableGeometry = dialog.screen().availableGeometry() + dialog.resize(availableGeometry.width() / 3, availableGeometry.height() * 2 / 3) + dialog.move((availableGeometry.width() - dialog.width()) / 2, + (availableGeometry.height() - dialog.height()) / 2) + sys.exit(dialog.exec()) diff --git a/examples/widgets/dialogs/standarddialogs/standarddialogs.pyproject b/examples/widgets/dialogs/standarddialogs/standarddialogs.pyproject new file mode 100644 index 0000000..766902e --- /dev/null +++ b/examples/widgets/dialogs/standarddialogs/standarddialogs.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["standarddialogs.py"] +} diff --git a/examples/widgets/dialogs/tabdialog/doc/tabdialog.png b/examples/widgets/dialogs/tabdialog/doc/tabdialog.png new file mode 100644 index 0000000000000000000000000000000000000000..a92af5f9c18d711c866602d7143abcc98d7060a7 GIT binary patch literal 13222 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 2: + file_name = sys.argv[1] + else: + file_name = "." + + tab_dialog = TabDialog(file_name) + tab_dialog.show() + + sys.exit(app.exec()) diff --git a/examples/widgets/dialogs/tabdialog/tabdialog.pyproject b/examples/widgets/dialogs/tabdialog/tabdialog.pyproject new file mode 100644 index 0000000..f121cd8 --- /dev/null +++ b/examples/widgets/dialogs/tabdialog/tabdialog.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["tabdialog.py"] +} diff --git a/examples/widgets/dialogs/trivialwizard/trivialwizard.py b/examples/widgets/dialogs/trivialwizard/trivialwizard.py new file mode 100644 index 0000000..0eb9fb5 --- /dev/null +++ b/examples/widgets/dialogs/trivialwizard/trivialwizard.py @@ -0,0 +1,63 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the widgets/dialogs/trivialwizard example from Qt v5.x""" + +import sys + +from PySide6.QtWidgets import (QApplication, QFormLayout, QLabel, QLineEdit, + QVBoxLayout, QWizardPage, QWizard) + + +def create_intro_page(): + page = QWizardPage() + page.setTitle("Introduction") + + label = QLabel("This wizard will help you register your copy of " + "Super Product Two.") + label.setWordWrap(True) + + layout = QVBoxLayout(page) + layout.addWidget(label) + + return page + + +def create_registration_page(): + page = QWizardPage() + page.setTitle("Registration") + page.setSubTitle("Please fill both fields.") + + layout = QFormLayout(page) + layout.addRow("Name:", QLineEdit()) + layout.addRow("Email address:", QLineEdit()) + + return page + + +def create_conclusion_page(): + page = QWizardPage() + page.setTitle("Conclusion") + + label = QLabel("You are now successfully registered. Have a nice day!") + label.setWordWrap(True) + + layout = QVBoxLayout(page) + layout.addWidget(label) + + return page + + +if __name__ == '__main__': + app = QApplication(sys.argv) + + wizard = QWizard() + wizard.addPage(create_intro_page()) + wizard.addPage(create_registration_page()) + wizard.addPage(create_conclusion_page()) + + wizard.setWindowTitle("Trivial Wizard") + wizard.show() + + sys.exit(wizard.exec()) diff --git a/examples/widgets/dialogs/trivialwizard/trivialwizard.pyproject b/examples/widgets/dialogs/trivialwizard/trivialwizard.pyproject new file mode 100644 index 0000000..739a43a --- /dev/null +++ b/examples/widgets/dialogs/trivialwizard/trivialwizard.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["trivialwizard.py"] +} diff --git a/examples/widgets/draganddrop/draggableicons/doc/draggableicons.png b/examples/widgets/draganddrop/draggableicons/doc/draggableicons.png new file mode 100644 index 0000000000000000000000000000000000000000..640a99e440e0df41c82d509b1193f27bd0f07bc5 GIT binary patch literal 21766 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 Whi{qeA+LuFK;Y@>=d#Wzp$Pzigy{eP literal 0 HcmV?d00001 diff --git a/examples/widgets/draganddrop/draggableicons/doc/draggableicons.rst b/examples/widgets/draganddrop/draggableicons/doc/draggableicons.rst new file mode 100644 index 0000000..3f67e58 --- /dev/null +++ b/examples/widgets/draganddrop/draggableicons/doc/draggableicons.rst @@ -0,0 +1,9 @@ +Draggable Icons Example +======================= + +The Draggable Icons example shows how to drag and drop image data between +widgets in the same application,and between different applications. + +.. image:: draggableicons.png + :width: 536 + :alt: draggable icons screenshot diff --git a/examples/widgets/draganddrop/draggableicons/draggableicons.py b/examples/widgets/draganddrop/draggableicons/draggableicons.py new file mode 100644 index 0000000..b929bd5 --- /dev/null +++ b/examples/widgets/draganddrop/draggableicons/draggableicons.py @@ -0,0 +1,128 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from pathlib import Path +import sys + +from PySide6.QtCore import QByteArray, QDataStream, QIODevice, QMimeData, QPoint, Qt +from PySide6.QtGui import QColor, QDrag, QPainter, QPixmap +from PySide6.QtWidgets import QApplication, QFrame, QHBoxLayout, QLabel, QWidget + + +class DragWidget(QFrame): + def __init__(self, parent: QWidget): + super().__init__(parent) + self.setMinimumSize(200, 200) + self.setFrameStyle(QFrame.Sunken | QFrame.StyledPanel) + self.setAcceptDrops(True) + + path = Path(__file__).resolve().parent + + boat_icon = QLabel(self) + boat_icon.setPixmap(QPixmap(path / "images" / "boat.png")) + boat_icon.move(10, 10) + boat_icon.show() + boat_icon.setAttribute(Qt.WA_DeleteOnClose) + + car_icon = QLabel(self) + car_icon.setPixmap(QPixmap(path / "images" / "car.png")) + car_icon.move(100, 10) + car_icon.show() + car_icon.setAttribute(Qt.WA_DeleteOnClose) + + house_icon = QLabel(self) + house_icon.setPixmap(QPixmap(path / "images" / "house.png")) + house_icon.move(10, 80) + house_icon.show() + house_icon.setAttribute(Qt.WA_DeleteOnClose) + + def dragEnterEvent(self, event): + if event.mimeData().hasFormat("application/x-dnditem_data"): + if event.source() == self: + event.setDropAction(Qt.MoveAction) + event.accept() + else: + event.acceptProposedAction() + else: + event.ignore() + + def dragMoveEvent(self, event): + if event.mimeData().hasFormat("application/x-dnditem_data"): + if event.source() == self: + event.setDropAction(Qt.MoveAction) + event.accept() + else: + event.acceptProposedAction() + else: + event.ignore() + + def dropEvent(self, event): + if event.mimeData().hasFormat("application/x-dnditem_data"): + item_data: QByteArray = event.mimeData().data("application/x-dnditem_data") + data_stream = QDataStream(item_data, QIODevice.ReadOnly) + + pixmap = QPixmap() + offset = QPoint() + + data_stream >> pixmap >> offset + + new_icon = QLabel(self) + new_icon.setPixmap(pixmap) + new_icon.move(event.position().toPoint() - offset) + new_icon.show() + new_icon.setAttribute(Qt.WA_DeleteOnClose) + + if event.source() == self: + event.setDropAction(Qt.MoveAction) + event.accept() + else: + event.acceptProposedAction() + else: + event.ignore() + + def mousePressEvent(self, event): + child: QLabel = self.childAt(event.position().toPoint()) + if not child: + return + + pixmap = child.pixmap() + + item_data = QByteArray() + data_stream = QDataStream(item_data, QIODevice.WriteOnly) + + data_stream << pixmap << QPoint(event.position().toPoint() - child.pos()) + + mime_data = QMimeData() + mime_data.setData("application/x-dnditem_data", item_data) + + drag = QDrag(self) + drag.setMimeData(mime_data) + drag.setPixmap(pixmap) + drag.setHotSpot(event.position().toPoint() - child.pos()) + + # .copy() is important: python is different than c++ in this case + temp_pixmap = pixmap.copy() + with QPainter(temp_pixmap) as painter: + painter.fillRect(pixmap.rect(), QColor(127, 127, 127, 127)) + + child.setPixmap(temp_pixmap) + + if drag.exec(Qt.CopyAction | Qt.MoveAction, Qt.CopyAction) == Qt.MoveAction: + child.close() + else: + child.show() + child.setPixmap(pixmap) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + + main_widget = QWidget() + horizontal_layout = QHBoxLayout(main_widget) + horizontal_layout.addWidget(DragWidget(main_widget)) + horizontal_layout.addWidget(DragWidget(main_widget)) + + main_widget.setWindowTitle("Draggable Icons") + main_widget.show() + + sys.exit(app.exec()) diff --git a/examples/widgets/draganddrop/draggableicons/draggableicons.qrc b/examples/widgets/draganddrop/draggableicons/draggableicons.qrc new file mode 100644 index 0000000..63f84ac --- /dev/null +++ b/examples/widgets/draganddrop/draggableicons/draggableicons.qrc @@ -0,0 +1,7 @@ + + + images/boat.png + images/car.png + images/house.png + + diff --git a/examples/widgets/draganddrop/draggableicons/images/boat.png b/examples/widgets/draganddrop/draggableicons/images/boat.png new file mode 100644 index 0000000000000000000000000000000000000000..46c894f06bce2aabfb7968c9fdfbec0098bf77c5 GIT binary patch literal 2772 zcmYk6c{~&TAIInTV$3nEh+JU}6{04JuwjPDnR2EUC1vj9$Tdx_$vw%PgvwRR5QZFc zHb==>xf{t`<43>m@A3G39*@uG^Uvq`K3|{rV{0|0olPzYTsw{K&aeCAd|N86MQ7>{5pW#9X3u>CD&;%Z<+p~FT(>e|xiuzwJ2 z5s^m?C66vtSzqgW!!=j}hP1e0iL|xDIi_XoO>gUT5r{xoUVKICQ!mcLMoag8J@&8R zYg)#+5Fh^Truox0X-w80lN3aw{48IKJGsZ2B&e&qKf4&zT7grDl2HuR0J(hLUt?os zJAQtC*F~MebzL;nE7y<_&~*QfM3F8=K zeMlnv&s=f$>!oFzR=ZPH`d(55Rr^})z?+G-*H})YxA!0tl_s(ypS3Ws@Inu98Tk^>x4M<*tts`e3^!lUps2xV^U)g%>4MF9k`09w$tRyigXq&00M(=d7?j^=q4`?$Ap22 zYlQr1b&)irSob<52whsLCFu`pB`ESMUVMXd_848eR^+nNA#X~4W#B;PzKn)NN8RCn z`XtqE`qYfpMRZDvc`w?;grw<9sI73iF|kvM9C1TDPphcNDUJ2Eun-oIkdT-!&xz>l zjdaA}&NTbxSNk@%I&p7O0!>4CsLul^g;CIB_nSAjKlVm`+xoMB7nE|ev5A(bgq{vq zAz@iEkci_c>XTt#CX%d@bAc4!1^US7sExI?DsY58O^3R%f6XG`%s~XJ{zwi_4MAa) zdtz#8WF)7SmR7G$$j-a!>J+4_=~wPE%@Hszq@sHh8=N$kmuTg6+4>g9)IeEVJ7lIk zX(D88wy!%2es7FSP4-*dUdaqQA4fj+uXAylPj3FatU`(Q11~SHe1kalm1ewPg;PVw z_WF`I+|$QTJI=0heGI^i&ig+vdWPguEh6#i8hM6$c6fNWFW)etx~#0Mun-9Xb3VHe zctFj4nrG8?=~X=gK+sJx&Wuc$!uW>^5yB#^jjmD{SDJexpV^d3X!&^{k^j_M z1_xi9?uDTTyx;E&cgRWS%6mmkm@};~{N&$aDtHj9|}jQ1*MaI-Nnrl$P1tSM@&F9lfU?>R1z5OWir6=tEJxefsnY!1)@*^+k8KA*E` zxxkAwF{nv;qqmyBnXm8Jq3!UK)fAw>SKCoW%A?(7k=6BlQAi0SIEWz3&ux(y<0Drc zUT|Y~#%lJI1KDS)<#AzQ;j2R@AK1_RemhuqiQ#ewG+?0j3JO0&eQs1Z`>hnFx*`Lf zGcvyID)&-VU4VS!6A_gRO?moMCH7sFM{f!X=;;xV>jG{CDOjK^8^%zN#1CErt{~p# z*u69{^NQWx-o`w;@c!Mq^i6$jx~3|YbmO~NPcY^y-%9|dE5-xef zCJG8;!_=i+J%>(Foe|2MRf#$_FuKEooteWljN|y^bci-{bQRMw=G1UNl z_5}zk4{>hfkTYikc{KW8+2mUje+Hj* zzv%27lrmL1|IE=3=Rfz@!ENO6n10bX_QHGdznTGXUAV+<-PKiZBNkPFt5YHro3WZd zeQ&dbJ{f6{&3(VoyEzaPn^2sVGa5m}h(?qdAGhEDi0-$uG3>+!4Brk_x~Z&HZ_z9d z?v%z4G>nt)4x?+l$M0*g0&lxsHkRItb3a%LJ?GfzaM@`;IWAyk<`1P4r8RdpLBPLsUu3WI4BNCVa3G{&1=Q6sh zJLhF~VG=~{xCDwi9((e^x3`OO9RdB{KKQ3Gef(sWcq^uogJ?P3?R(oaZ>NU^TB(i! z>ipE#Mk$V*G7vT(`u@Sl!kTrmWe19fo`58$GW&ZHwY;=5?wcw#w|zlsw>R@fzQ7GUjd@2%$H?;MyG*DV zr+o^vba{}Mrrq8D)ZRv=q>1d#%1TCPD6g&r1})oTFc@XQgg{A2N9@7{a&OY|RD<|x z6a7462!6PJI_n`pOj;VOOVtrVDb}ZF)IIjQ27B2MC`b)G)WEl@6Zx}#((9x6{v-qd NP)IXGxt??Qe*naBHSYib literal 0 HcmV?d00001 diff --git a/examples/widgets/draganddrop/draggableicons/images/car.png b/examples/widgets/draganddrop/draggableicons/images/car.png new file mode 100644 index 0000000000000000000000000000000000000000..3cb35e56cb9b18e4a43eb0a44b728207dd9baf4a GIT binary patch literal 2963 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 JPDHLkV1ij+#9aUY literal 0 HcmV?d00001 diff --git a/examples/widgets/draganddrop/draggableicons/images/house.png b/examples/widgets/draganddrop/draggableicons/images/house.png new file mode 100644 index 0000000000000000000000000000000000000000..ee9d5b11598b8021af04ecad1651541b97e7239c GIT binary patch literal 3292 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 195: + x = 5 + y += word_label.height() + 2 + + new_palette = self.palette() + new_palette.setColor(QPalette.Window, Qt.white) + self.setPalette(new_palette) + + self.setAcceptDrops(True) + self.setMinimumSize(400, max(200, y)) + self.setWindowTitle("Draggable Text") + + def dragEnterEvent(self, event): + if event.mimeData().hasText(): + if event.source() in self.children(): + event.setDropAction(Qt.MoveAction) + event.accept() + else: + event.acceptProposedAction() + else: + event.ignore() + + def dropEvent(self, event): + if event.mimeData().hasText(): + mime = event.mimeData() + pieces = mime.text().split() + position = event.position().toPoint() + hot_spot = QPoint() + + hot_spot_pos = mime.data('application/x-hotspot').split(' ') + if len(hot_spot_pos) == 2: + hot_spot.setX(hot_spot_pos[0].toInt()[0]) + hot_spot.setY(hot_spot_pos[1].toInt()[0]) + + for piece in pieces: + new_label = DragLabel(piece, self) + new_label.move(position - hot_spot) + new_label.show() + + position += QPoint(new_label.width(), 0) + + if event.source() in self.children(): + event.setDropAction(Qt.MoveAction) + event.accept() + else: + event.acceptProposedAction() + else: + event.ignore() + + +if __name__ == '__main__': + + import sys + + app = QApplication(sys.argv) + window = DragWidget() + window.show() + sys.exit(app.exec()) diff --git a/examples/widgets/draganddrop/draggabletext/draggabletext.pyproject b/examples/widgets/draganddrop/draggabletext/draggabletext.pyproject new file mode 100644 index 0000000..fd97c90 --- /dev/null +++ b/examples/widgets/draganddrop/draggabletext/draggabletext.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["words.txt", "draggabletext.qrc", "draggabletext.py"] +} diff --git a/examples/widgets/draganddrop/draggabletext/draggabletext.qrc b/examples/widgets/draganddrop/draggabletext/draggabletext.qrc new file mode 100644 index 0000000..b72217d --- /dev/null +++ b/examples/widgets/draganddrop/draggabletext/draggabletext.qrc @@ -0,0 +1,5 @@ + + + words.txt + + diff --git a/examples/widgets/draganddrop/draggabletext/draggabletext_rc.py b/examples/widgets/draganddrop/draggabletext/draggabletext_rc.py new file mode 100644 index 0000000..30c01ce --- /dev/null +++ b/examples/widgets/draganddrop/draggabletext/draggabletext_rc.py @@ -0,0 +1,55 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.2.2 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00\x00\xf7\ +Q\ +t\x0aQuarterly\x0ais\x0aa\ +\x0apaper\x0abased\x0anew\ +sletter\x0aexclusiv\ +ely\x0aavailable\x0ato\ +\x0aQt\x0acustomers\x0aEv\ +ery\x0aquarter\x0awe\x0am\ +ail\x0aout\x0aan\x0aissue\ +\x0athat\x0awe\x0ahope\x0awi\ +ll\x0abring\x0aadded\x0ai\ +nsight\x0aand\x0apleas\ +ure\x0ato\x0ayour\x0aQt\x0ap\ +rogramming\x0awith\x0a\ +high\x0aquality\x0atec\ +hnical\x0aarticles\x0a\ +written\x0aby\x0aQt\x0aex\ +perts\x0a\ +" + +qt_resource_name = b"\ +\x00\x0a\ +\x0b\x0b\x17\xd9\ +\x00d\ +\x00i\x00c\x00t\x00i\x00o\x00n\x00a\x00r\x00y\ +\x00\x09\ +\x08\xb6\xa74\ +\x00w\ +\x00o\x00r\x00d\x00s\x00.\x00t\x00x\x00t\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01z\xe7\xee'\x05\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/widgets/draganddrop/draggabletext/words.txt b/examples/widgets/draganddrop/draggabletext/words.txt new file mode 100644 index 0000000..19b8b03 --- /dev/null +++ b/examples/widgets/draganddrop/draggabletext/words.txt @@ -0,0 +1,41 @@ +Qt +Quarterly +is +a +paper +based +newsletter +exclusively +available +to +Qt +customers +Every +quarter +we +mail +out +an +issue +that +we +hope +will +bring +added +insight +and +pleasure +to +your +Qt +programming +with +high +quality +technical +articles +written +by +Qt +experts diff --git a/examples/widgets/draganddrop/dropsite/doc/dropsite.rst b/examples/widgets/draganddrop/dropsite/doc/dropsite.rst new file mode 100644 index 0000000..8d6c42b --- /dev/null +++ b/examples/widgets/draganddrop/dropsite/doc/dropsite.rst @@ -0,0 +1,8 @@ +Drop Site Example +================= + +The Drop Site example shows how to distinguish the various MIME formats +available in a drag and drop operation. + +It accepts drops from other applications and displays the MIME formats +provided by the drag object. diff --git a/examples/widgets/draganddrop/dropsite/droparea.py b/examples/widgets/draganddrop/dropsite/droparea.py new file mode 100644 index 0000000..efc4614 --- /dev/null +++ b/examples/widgets/draganddrop/dropsite/droparea.py @@ -0,0 +1,67 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import QMimeData, Qt, Slot, Signal +from PySide6.QtGui import QPalette, QPixmap +from PySide6.QtWidgets import QFrame, QLabel + + +class DropArea(QLabel): + + changed = Signal(QMimeData) + + def __init__(self, parent=None): + super().__init__(parent) + self.setMinimumSize(200, 200) + self.setFrameStyle(QFrame.Sunken | QFrame.StyledPanel) + self.setAlignment(Qt.AlignCenter) + self.setAcceptDrops(True) + self.setAutoFillBackground(True) + self.clear() + + def dragEnterEvent(self, event): + self.setText("") + self.setBackgroundRole(QPalette.Highlight) + + event.acceptProposedAction() + self.changed.emit(event.mimeData()) + + def dragMoveEvent(self, event): + event.acceptProposedAction() + + def dropEvent(self, event): + mime_data = event.mimeData() + + if mime_data.hasImage(): + self.setPixmap(QPixmap(mime_data.imageData())) + elif mime_data.hasFormat("text/markdown"): + self.setText(mime_data.data("text/markdown")) + self.setTextFormat(Qt.MarkdownText) + elif mime_data.hasHtml(): + self.setText(mime_data.html()) + self.setTextFormat(Qt.RichText) + elif mime_data.hasText(): + self.setText(mime_data.text()) + self.setTextFormat(Qt.PlainText) + elif mime_data.hasUrls(): + url_list = mime_data.urls() + text = "" + for i in range(0, min(len(url_list), 32)): + text += url_list[i].path() + "\n" + self.setText(text) + else: + self.setText("Cannot display data") + + self.setBackgroundRole(QPalette.Dark) + event.acceptProposedAction() + + def dragLeaveEvent(self, event): + self.clear() + event.accept() + + @Slot() + def clear(self): + self.setText("") + self.setBackgroundRole(QPalette.Dark) + + self.changed.emit(None) diff --git a/examples/widgets/draganddrop/dropsite/dropsite.pyproject b/examples/widgets/draganddrop/dropsite/dropsite.pyproject new file mode 100644 index 0000000..0173d5c --- /dev/null +++ b/examples/widgets/draganddrop/dropsite/dropsite.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "droparea.py", "dropsitewindow.py"] +} diff --git a/examples/widgets/draganddrop/dropsite/dropsitewindow.py b/examples/widgets/draganddrop/dropsite/dropsitewindow.py new file mode 100644 index 0000000..5427d52 --- /dev/null +++ b/examples/widgets/draganddrop/dropsite/dropsitewindow.py @@ -0,0 +1,115 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import re +from PySide6.QtCore import QMimeData, Qt, Slot +from PySide6.QtGui import QGuiApplication +from PySide6.QtWidgets import (QAbstractItemView, QPushButton, + QDialogButtonBox, QLabel, + QTableWidget, QTableWidgetItem, + QVBoxLayout, QWidget) + +from droparea import DropArea + +DESCRIPTION = """This example accepts drags from other applications and +displays the MIME types provided by the drag object.""" + + +_WHITESPACE_PATTERN = re.compile(r"\s+") + + +def simplify_whitespace(s): + return _WHITESPACE_PATTERN.sub(" ", s).strip() + + +class DropSiteWindow(QWidget): + + def __init__(self): + super().__init__() + drop_area = DropArea() + abstract_label = QLabel() + self._formats_table = QTableWidget() + + button_box = QDialogButtonBox() + abstract_label = QLabel(DESCRIPTION) + abstract_label.setWordWrap(True) + abstract_label.adjustSize() + + drop_area = DropArea() + drop_area.changed.connect(self.update_formats_table) + + self._formats_table = QTableWidget() + self._formats_table.setColumnCount(2) + self._formats_table.setEditTriggers(QAbstractItemView.NoEditTriggers) + self._formats_table.setHorizontalHeaderLabels(["Format", "Content"]) + self._formats_table.horizontalHeader().setStretchLastSection(True) + + clear_button = QPushButton("Clear") + self._copy_button = QPushButton("Copy") + quit_button = QPushButton("Quit") + + button_box = QDialogButtonBox() + button_box.addButton(clear_button, QDialogButtonBox.ActionRole) + button_box.addButton(self._copy_button, QDialogButtonBox.ActionRole) + self._copy_button.setVisible(False) + + button_box.addButton(quit_button, QDialogButtonBox.RejectRole) + + quit_button.clicked.connect(self.close) + clear_button.clicked.connect(drop_area.clear) + self._copy_button.clicked.connect(self.copy) + + main_layout = QVBoxLayout(self) + main_layout.addWidget(abstract_label) + main_layout.addWidget(drop_area) + main_layout.addWidget(self._formats_table) + main_layout.addWidget(button_box) + + self.setWindowTitle("Drop Site") + self.resize(700, 500) + + @Slot(QMimeData) + def update_formats_table(self, mime_data): + self._formats_table.setRowCount(0) + self._copy_button.setEnabled(False) + if not mime_data: + return + + for format in mime_data.formats(): + format_item = QTableWidgetItem(format) + format_item.setFlags(Qt.ItemIsEnabled) + format_item.setTextAlignment(Qt.AlignTop | Qt.AlignLeft) + + if format == "text/plain": + text = simplify_whitespace(mime_data.text()) + elif format == "text/markdown": + text = mime_data.data("text/markdown").data().decode("utf8") + elif format == "text/html": + text = simplify_whitespace(mime_data.html()) + elif format == "text/uri-list": + url_list = mime_data.urls() + text = "" + for i in range(0, min(len(url_list), 32)): + text += url_list[i].toString() + " " + else: + data = mime_data.data(format) + if data.size() > 32: + data.truncate(32) + text = data.toHex(" ").data().decode("utf8").upper() + + row = self._formats_table.rowCount() + self._formats_table.insertRow(row) + self._formats_table.setItem(row, 0, QTableWidgetItem(format)) + self._formats_table.setItem(row, 1, QTableWidgetItem(text)) + + self._formats_table.resizeColumnToContents(0) + self._copy_button.setEnabled(self._formats_table.rowCount() > 0) + + @Slot() + def copy(self): + text = "" + for row in range(0, self._formats_table.rowCount()): + c1 = self._formats_table.item(row, 0).text() + c2 = self._formats_table.item(row, 1).text() + text += f"{c1}: {c2}\n" + QGuiApplication.clipboard().setText(text) diff --git a/examples/widgets/draganddrop/dropsite/main.py b/examples/widgets/draganddrop/dropsite/main.py new file mode 100644 index 0000000..bce476a --- /dev/null +++ b/examples/widgets/draganddrop/dropsite/main.py @@ -0,0 +1,15 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtWidgets import QApplication + +from dropsitewindow import DropSiteWindow + + +if __name__ == "__main__": + app = QApplication(sys.argv) + window = DropSiteWindow() + window.show() + sys.exit(app.exec()) diff --git a/examples/widgets/effects/blurpicker/blureffect.py b/examples/widgets/effects/blurpicker/blureffect.py new file mode 100644 index 0000000..16c14a7 --- /dev/null +++ b/examples/widgets/effects/blurpicker/blureffect.py @@ -0,0 +1,33 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +from PySide6.QtCore import QRect +from PySide6.QtGui import QPainter +from PySide6.QtWidgets import QGraphicsBlurEffect + + +class BlurEffect(QGraphicsBlurEffect): + def __init__(self, item): + super().__init__() + self._base_line = 200 + self._item = item + + def adjust_for_item(self): + y = self._base_line - self._item.pos().y() + + # radius = qBound(qreal(0.0), y / 32, qreal(16.0)); which is equivalent to + radius = max(0, min(y / 32, 16)) + + self.setBlurRadius(radius) + + def set_base_line(self, base_line): + self._base_line = base_line + + def boundingRect(self) -> QRect: + self.adjust_for_item() + return super().boundingRect() + + def draw(self, painter: QPainter): + self.adjust_for_item() + super().draw(painter) diff --git a/examples/widgets/effects/blurpicker/blurpicker.py b/examples/widgets/effects/blurpicker/blurpicker.py new file mode 100644 index 0000000..6ff11f2 --- /dev/null +++ b/examples/widgets/effects/blurpicker/blurpicker.py @@ -0,0 +1,105 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +from pathlib import Path +from PySide6.QtCore import ( + QEasingCurve, + QPointF, + Qt, + QAbstractAnimation, + QPropertyAnimation, + Property, +) +from PySide6.QtGui import QPainter, QTransform, QPixmap +from PySide6.QtWidgets import QGraphicsView, QFrame, QGraphicsScene, QGraphicsPixmapItem +from math import pi, sin, cos +from blureffect import BlurEffect + + +class BlurPicker(QGraphicsView): + def __init__(self, parent=None): + super().__init__(parent) + self._index = 0 + self._animation = QPropertyAnimation(self, b"index") + self._path = Path(__file__).resolve().parent + + self._background = QPixmap(self._path / "images" / "background.jpg") + self.setBackgroundBrush(self._background) + self.setScene(QGraphicsScene(self)) + + self._icons = [] + + self.setup_scene() + self.index = 0 + + self._animation.setDuration(400) + self._animation.setEasingCurve(QEasingCurve.InOutSine) + + self.setRenderHint(QPainter.Antialiasing, True) + self.setFrameStyle(QFrame.NoFrame) + + @Property(float) + def index(self) -> float: + return self._index + + @index.setter + def index(self, index: float): + self._index = index + + base_line = 0.0 + iconAngle = 2 * pi / len(self._icons) + + for i, icon in enumerate(self._icons): + a = (i + self._index) * iconAngle + xs = 170 * sin(a) + ys = 100 * cos(a) + pos = QPointF(xs, ys) + pos = QTransform().rotate(-20).map(pos) + pos -= QPointF(40, 40) + icon.setPos(pos) + base_line = max(base_line, ys) + + icon.graphicsEffect().set_base_line(base_line) + + self.scene().update() + + def setup_scene(self): + self.scene().setSceneRect(-200, -120, 400, 240) + + names = ["accessories-calculator.png", "accessories-text-editor.png", + "help-browser.png", "internet-group-chat.png", + "internet-mail.png", "internet-web-browser.png", "office-calendar.png", + "system-users.png"] + + for name in names: + pixmap = QPixmap(self._path / "images" / name) + icon: QGraphicsPixmapItem = self.scene().addPixmap(pixmap) + icon.setZValue(1) + icon.setGraphicsEffect(BlurEffect(icon)) + self._icons.append(icon) + + bg: QGraphicsPixmapItem = self.scene().addPixmap(self._background) + bg.setZValue(0) + bg.setPos(-200, -150) + + def keyPressEvent(self, event): + delta = 0 + if event.key() == Qt.Key_Left: + delta = -1 + elif event.key() == Qt.Key_Right: + delta = 1 + + if self._animation.state() == QAbstractAnimation.Stopped and delta: + self._animation.setEndValue(self._index + delta) + self._animation.start() + event.accept() + + def mousePressEvent(self, event): + right = event.position().x() > (self.width() / 2) + delta = 1 if right else -1 + + if self._animation.state() == QAbstractAnimation.Stopped: + self._animation.setEndValue(self._index + delta) + self._animation.start() + event.accept() diff --git a/examples/widgets/effects/blurpicker/blurpicker.pyproject b/examples/widgets/effects/blurpicker/blurpicker.pyproject new file mode 100644 index 0000000..6ae3032 --- /dev/null +++ b/examples/widgets/effects/blurpicker/blurpicker.pyproject @@ -0,0 +1,17 @@ +{ + "files": [ + "main.py", + "blurpicker.py", + "blureffect.py", + "images/accessories-calculator.png", + "images/accessories-text-editor.png", + "images/background.jpg", + "images/help-browser.png", + "images/internet-group-chat.png", + "images/internet-mail.png", + "images/internet-web-browser.png", + "images/office-calendar.png", + "images/README.txt", + "images/system-users.png" + ] +} diff --git a/examples/widgets/effects/blurpicker/doc/blurpicker.png b/examples/widgets/effects/blurpicker/doc/blurpicker.png new file mode 100644 index 0000000000000000000000000000000000000000..826eef20140eb9f8d4986af919ceabe3c06f866a GIT binary patch literal 48358 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

    The Image Viewer example shows how to combine QLabel +and QScrollArea to display an image. QLabel is typically used +for displaying a text, but it can also display an image. +QScrollArea provides a scrolling view around another widget. +If the child widget exceeds the size of the frame, QScrollArea +automatically provides scroll bars.

    The example +demonstrates how QLabel's ability to scale its contents +(QLabel.scaledContents), and QScrollArea's ability to +automatically resize its contents +(QScrollArea.widgetResizable), can be used to implement +zooming and scaling features.

    In addition the example +shows how to use QPainter to print an image.

    +""" + + +class ImageViewer(QMainWindow): + def __init__(self, parent=None): + super().__init__(parent) + self._scale_factor = 1.0 + self._first_file_dialog = True + self._image_label = QLabel() + self._image_label.setBackgroundRole(QPalette.Base) + self._image_label.setSizePolicy(QSizePolicy.Ignored, + QSizePolicy.Ignored) + self._image_label.setScaledContents(True) + + self._scroll_area = QScrollArea() + self._scroll_area.setBackgroundRole(QPalette.Dark) + self._scroll_area.setWidget(self._image_label) + self._scroll_area.setVisible(False) + self.setCentralWidget(self._scroll_area) + + self._create_actions() + + self.resize(QGuiApplication.primaryScreen().availableSize() * 3 / 5) + + def load_file(self, fileName): + reader = QImageReader(fileName) + reader.setAutoTransform(True) + new_image = reader.read() + native_filename = QDir.toNativeSeparators(fileName) + if new_image.isNull(): + error = reader.errorString() + QMessageBox.information(self, QGuiApplication.applicationDisplayName(), + f"Cannot load {native_filename}: {error}") + return False + self._set_image(new_image) + self.setWindowFilePath(fileName) + + w = self._image.width() + h = self._image.height() + d = self._image.depth() + color_space = self._image.colorSpace() + description = color_space.description() if color_space.isValid() else 'unknown' + message = f'Opened "{native_filename}", {w}x{h}, Depth: {d} ({description})' + self.statusBar().showMessage(message) + return True + + def _set_image(self, new_image): + self._image = new_image + if self._image.colorSpace().isValid(): + self._image.convertToColorSpace(QColorSpace.SRgb) + self._image_label.setPixmap(QPixmap.fromImage(self._image)) + self._scale_factor = 1.0 + + self._scroll_area.setVisible(True) + self._print_act.setEnabled(True) + self._fit_to_window_act.setEnabled(True) + self._update_actions() + + if not self._fit_to_window_act.isChecked(): + self._image_label.adjustSize() + + def _save_file(self, fileName): + writer = QImageWriter(fileName) + + native_filename = QDir.toNativeSeparators(fileName) + if not writer.write(self._image): + error = writer.errorString() + message = f"Cannot write {native_filename}: {error}" + QMessageBox.information(self, QGuiApplication.applicationDisplayName(), + message) + return False + self.statusBar().showMessage(f'Wrote "{native_filename}"') + return True + + @Slot() + def _open(self): + dialog = QFileDialog(self, "Open File") + self._initialize_image_filedialog(dialog, QFileDialog.AcceptOpen) + while (dialog.exec() == QDialog.Accepted + and not self.load_file(dialog.selectedFiles()[0])): + pass + + @Slot() + def _save_as(self): + dialog = QFileDialog(self, "Save File As") + self._initialize_image_filedialog(dialog, QFileDialog.AcceptSave) + while (dialog.exec() == QDialog.Accepted + and not self._save_file(dialog.selectedFiles()[0])): + pass + + @Slot() + def _print_(self): + printer = QPrinter() + dialog = QPrintDialog(printer, self) + if dialog.exec() == QDialog.Accepted: + with QPainter(printer) as painter: + pixmap = self._image_label.pixmap() + rect = painter.viewport() + size = pixmap.size() + size.scale(rect.size(), Qt.KeepAspectRatio) + painter.setViewport(rect.x(), rect.y(), size.width(), size.height()) + painter.setWindow(pixmap.rect()) + painter.drawPixmap(0, 0, pixmap) + + @Slot() + def _copy(self): + QGuiApplication.clipboard().setImage(self._image) + + @Slot() + def _paste(self): + new_image = QGuiApplication.clipboard().image() + if new_image.isNull(): + self.statusBar().showMessage("No image in clipboard") + else: + self._set_image(new_image) + self.setWindowFilePath('') + w = new_image.width() + h = new_image.height() + d = new_image.depth() + message = f"Obtained image from clipboard, {w}x{h}, Depth: {d}" + self.statusBar().showMessage(message) + + @Slot() + def _zoom_in(self): + self._scale_image(1.25) + + @Slot() + def _zoom_out(self): + self._scale_image(0.8) + + @Slot() + def _normal_size(self): + self._image_label.adjustSize() + self._scale_factor = 1.0 + + @Slot() + def _fit_to_window(self): + fit_to_window = self._fit_to_window_act.isChecked() + self._scroll_area.setWidgetResizable(fit_to_window) + if not fit_to_window: + self._normal_size() + self._update_actions() + + @Slot() + def _about(self): + QMessageBox.about(self, "About Image Viewer", ABOUT) + + def _create_actions(self): + file_menu = self.menuBar().addMenu("&File") + + self._open_act = file_menu.addAction("&Open...") + self._open_act.triggered.connect(self._open) + self._open_act.setShortcut(QKeySequence.Open) + + self._save_as_act = file_menu.addAction("&Save As...") + self._save_as_act.triggered.connect(self._save_as) + self._save_as_act.setEnabled(False) + + self._print_act = file_menu.addAction("&Print...") + self._print_act.triggered.connect(self._print_) + self._print_act.setShortcut(QKeySequence.Print) + self._print_act.setEnabled(False) + + file_menu.addSeparator() + + self._exit_act = file_menu.addAction("E&xit") + self._exit_act.triggered.connect(self.close) + self._exit_act.setShortcut("Ctrl+Q") + + edit_menu = self.menuBar().addMenu("&Edit") + + self._copy_act = edit_menu.addAction("&Copy") + self._copy_act.triggered.connect(self._copy) + self._copy_act.setShortcut(QKeySequence.Copy) + self._copy_act.setEnabled(False) + + self._paste_act = edit_menu.addAction("&Paste") + self._paste_act.triggered.connect(self._paste) + self._paste_act.setShortcut(QKeySequence.Paste) + + view_menu = self.menuBar().addMenu("&View") + + self._zoom_in_act = view_menu.addAction("Zoom &In (25%)") + self._zoom_in_act.setShortcut(QKeySequence.ZoomIn) + self._zoom_in_act.triggered.connect(self._zoom_in) + self._zoom_in_act.setEnabled(False) + + self._zoom_out_act = view_menu.addAction("Zoom &Out (25%)") + self._zoom_out_act.triggered.connect(self._zoom_out) + self._zoom_out_act.setShortcut(QKeySequence.ZoomOut) + self._zoom_out_act.setEnabled(False) + + self._normal_size_act = view_menu.addAction("&Normal Size") + self._normal_size_act.triggered.connect(self._normal_size) + self._normal_size_act.setShortcut("Ctrl+S") + self._normal_size_act.setEnabled(False) + + view_menu.addSeparator() + + self._fit_to_window_act = view_menu.addAction("&Fit to Window") + self._fit_to_window_act.triggered.connect(self._fit_to_window) + self._fit_to_window_act.setEnabled(False) + self._fit_to_window_act.setCheckable(True) + self._fit_to_window_act.setShortcut("Ctrl+F") + + help_menu = self.menuBar().addMenu("&Help") + + about_act = help_menu.addAction("&About") + about_act.triggered.connect(self._about) + about_qt_act = help_menu.addAction("About &Qt") + about_qt_act.triggered.connect(QApplication.aboutQt) + + def _update_actions(self): + has_image = not self._image.isNull() + self._save_as_act.setEnabled(has_image) + self._copy_act.setEnabled(has_image) + enable_zoom = not self._fit_to_window_act.isChecked() + self._zoom_in_act.setEnabled(enable_zoom) + self._zoom_out_act.setEnabled(enable_zoom) + self._normal_size_act.setEnabled(enable_zoom) + + def _scale_image(self, factor): + self._scale_factor *= factor + new_size = self._scale_factor * self._image_label.pixmap().size() + self._image_label.resize(new_size) + + self._adjust_scrollbar(self._scroll_area.horizontalScrollBar(), factor) + self._adjust_scrollbar(self._scroll_area.verticalScrollBar(), factor) + + self._zoom_in_act.setEnabled(self._scale_factor < 3.0) + self._zoom_out_act.setEnabled(self._scale_factor > 0.333) + + def _adjust_scrollbar(self, scrollBar, factor): + pos = int(factor * scrollBar.value() + + ((factor - 1) * scrollBar.pageStep() / 2)) + scrollBar.setValue(pos) + + def _initialize_image_filedialog(self, dialog, acceptMode): + if self._first_file_dialog: + self._first_file_dialog = False + locations = QStandardPaths.standardLocations(QStandardPaths.PicturesLocation) + directory = locations[-1] if locations else QDir.currentPath() + dialog.setDirectory(directory) + + mime_types = [m.data().decode('utf-8') for m in QImageWriter.supportedMimeTypes()] + mime_types.sort() + + dialog.setMimeTypeFilters(mime_types) + dialog.selectMimeTypeFilter("image/jpeg") + dialog.setAcceptMode(acceptMode) + if acceptMode == QFileDialog.AcceptSave: + dialog.setDefaultSuffix("jpg") diff --git a/examples/widgets/imageviewer/imageviewer.pyproject b/examples/widgets/imageviewer/imageviewer.pyproject new file mode 100644 index 0000000..d2db1ff --- /dev/null +++ b/examples/widgets/imageviewer/imageviewer.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py", "imageviewer.py"] +} diff --git a/examples/widgets/imageviewer/main.py b/examples/widgets/imageviewer/main.py new file mode 100644 index 0000000..949def6 --- /dev/null +++ b/examples/widgets/imageviewer/main.py @@ -0,0 +1,27 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the widgets/imageviewer example from Qt v6.0""" + +from argparse import ArgumentParser, RawTextHelpFormatter +import sys + +from PySide6.QtWidgets import (QApplication) + +from imageviewer import ImageViewer + + +if __name__ == '__main__': + arg_parser = ArgumentParser(description="Image Viewer", + formatter_class=RawTextHelpFormatter) + arg_parser.add_argument('file', type=str, nargs='?', help='Image file') + args = arg_parser.parse_args() + + app = QApplication(sys.argv) + image_viewer = ImageViewer() + + if args.file and not image_viewer.load_file(args.file): + sys.exit(-1) + + image_viewer.show() + sys.exit(app.exec()) diff --git a/examples/widgets/itemviews/address_book/adddialogwidget.py b/examples/widgets/itemviews/address_book/adddialogwidget.py new file mode 100644 index 0000000..276a8d2 --- /dev/null +++ b/examples/widgets/itemviews/address_book/adddialogwidget.py @@ -0,0 +1,65 @@ +# Copyright (C) 2011 Arun Srinivasan +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Qt +from PySide6.QtWidgets import (QDialog, QLabel, QTextEdit, QLineEdit, + QDialogButtonBox, QGridLayout, QVBoxLayout) + + +class AddDialogWidget(QDialog): + """ A dialog to add a new address to the addressbook. """ + + def __init__(self, parent=None): + super().__init__(parent) + + name_label = QLabel("Name") + address_label = QLabel("Address") + button_box = QDialogButtonBox(QDialogButtonBox.Ok | + QDialogButtonBox.Cancel) + + self._name_text = QLineEdit() + self._address_text = QTextEdit() + + grid = QGridLayout() + grid.setColumnStretch(1, 2) + grid.addWidget(name_label, 0, 0) + grid.addWidget(self._name_text, 0, 1) + grid.addWidget(address_label, 1, 0, Qt.AlignLeft | Qt.AlignTop) + grid.addWidget(self._address_text, 1, 1, Qt.AlignLeft) + + layout = QVBoxLayout() + layout.addLayout(grid) + layout.addWidget(button_box) + + self.setLayout(layout) + + self.setWindowTitle("Add a Contact") + + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + + # These properties make using this dialog a little cleaner. It's much + # nicer to type "addDialog.address" to retrieve the address as compared + # to "addDialog.addressText.toPlainText()" + @property + def name(self): + return self._name_text.text() + + @property + def address(self): + return self._address_text.toPlainText() + + +if __name__ == "__main__": + import sys + from PySide6.QtWidgets import QApplication + + app = QApplication(sys.argv) + + dialog = AddDialogWidget() + if (dialog.exec()): + name = dialog.name + address = dialog.address + print(f"Name: {name}") + print(f"Address: {address}") diff --git a/examples/widgets/itemviews/address_book/address_book.py b/examples/widgets/itemviews/address_book/address_book.py new file mode 100644 index 0000000..2e1f6b9 --- /dev/null +++ b/examples/widgets/itemviews/address_book/address_book.py @@ -0,0 +1,96 @@ +# Copyright (C) 2011 Arun Srinivasan +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Slot +from PySide6.QtGui import QAction +from PySide6.QtWidgets import (QMainWindow, QFileDialog, QApplication) + +from addresswidget import AddressWidget + + +class MainWindow(QMainWindow): + + def __init__(self, parent=None): + super().__init__(parent) + + self._address_widget = AddressWidget() + self.setCentralWidget(self._address_widget) + self.create_menus() + self.setWindowTitle("Address Book") + + def create_menus(self): + # Create the main menuBar menu items + file_menu = self.menuBar().addMenu("&File") + tool_menu = self.menuBar().addMenu("&Tools") + + # Populate the File menu + open_action = self.create_action("&Open...", file_menu, self.open_file) + save_action = self.create_action("&Save As...", file_menu, self.save_file) + file_menu.addSeparator() + exit_action = self.create_action("E&xit", file_menu, self.close) + + # Populate the Tools menu + add_action = self.create_action("&Add Entry...", tool_menu, self._address_widget.add_entry) + self._edit_action = self.create_action("&Edit Entry...", tool_menu, self._address_widget.edit_entry) + tool_menu.addSeparator() + self._remove_action = self.create_action("&Remove Entry", tool_menu, self._address_widget.remove_entry) + + # Disable the edit and remove menu items initially, as there are + # no items yet. + self._edit_action.setEnabled(False) + self._remove_action.setEnabled(False) + + # Wire up the updateActions slot + self._address_widget.selection_changed.connect(self.update_actions) + + def create_action(self, text, menu, slot): + """ Helper function to save typing when populating menus + with action. + """ + action = QAction(text, self) + menu.addAction(action) + action.triggered.connect(slot) + return action + + # Quick gotcha: + # + # QFiledialog.getOpenFilename and QFileDialog.get.SaveFileName don't + # behave in PySide6 as they do in Qt, where they return a QString + # containing the filename. + # + # In PySide6, these functions return a tuple: (filename, filter) + + @Slot() + def open_file(self): + filename, _ = QFileDialog.getOpenFileName(self) + if filename: + self._address_widget.read_from_file(filename) + + @Slot() + def save_file(self): + filename, _ = QFileDialog.getSaveFileName(self) + if filename: + self._address_widget.write_to_file(filename) + + def update_actions(self, selection): + """ Only allow the user to remove or edit an item if an item + is actually selected. + """ + indexes = selection.indexes() + + if len(indexes) > 0: + self._remove_action.setEnabled(True) + self._edit_action.setEnabled(True) + else: + self._remove_action.setEnabled(False) + self._edit_action.setEnabled(False) + + +if __name__ == "__main__": + """ Run the application. """ + import sys + app = QApplication(sys.argv) + mw = MainWindow() + mw.show() + sys.exit(app.exec()) diff --git a/examples/widgets/itemviews/address_book/address_book.pyproject b/examples/widgets/itemviews/address_book/address_book.pyproject new file mode 100644 index 0000000..1b5dd59 --- /dev/null +++ b/examples/widgets/itemviews/address_book/address_book.pyproject @@ -0,0 +1,4 @@ +{ + "files": ["tablemodel.py", "address_book.py", "adddialogwidget.py", + "addresswidget.py", "newaddresstab.py"] +} diff --git a/examples/widgets/itemviews/address_book/addresswidget.py b/examples/widgets/itemviews/address_book/addresswidget.py new file mode 100644 index 0000000..ab1330e --- /dev/null +++ b/examples/widgets/itemviews/address_book/addresswidget.py @@ -0,0 +1,214 @@ +# Copyright (C) 2011 Arun Srinivasan +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +try: + import cpickle as pickle +except ImportError: + import pickle + +from PySide6.QtCore import (Qt, Signal, Slot, QRegularExpression, QModelIndex, + QItemSelection, QSortFilterProxyModel) +from PySide6.QtWidgets import QTabWidget, QMessageBox, QTableView, QAbstractItemView + +from tablemodel import TableModel +from newaddresstab import NewAddressTab +from adddialogwidget import AddDialogWidget + + +class AddressWidget(QTabWidget): + """ The central widget of the application. Most of the addressbook's + functionality is contained in this class. + """ + + selection_changed = Signal(QItemSelection) + + def __init__(self, parent=None): + """ Initialize the AddressWidget. """ + super().__init__(parent) + + self._table_model = TableModel() + self._new_address_tab = NewAddressTab() + self._new_address_tab.send_details.connect(self.add_entry) + + self.addTab(self._new_address_tab, "Address Book") + + self.setup_tabs() + + @Slot() + def add_entry(self, name=None, address=None): + """ Add an entry to the addressbook. """ + if name is None and address is None: + add_dialog = AddDialogWidget() + + if add_dialog.exec(): + name = add_dialog.name + address = add_dialog.address + + address = {"name": name, "address": address} + addresses = self._table_model.addresses[:] + + # The QT docs for this example state that what we're doing here + # is checking if the entered name already exists. What they + # (and we here) are actually doing is checking if the whole + # name/address pair exists already - ok for the purposes of this + # example, but obviously not how a real addressbook application + # should behave. + try: + addresses.remove(address) + QMessageBox.information(self, "Duplicate Name", + f'The name "{name}" already exists.') + except ValueError: + # The address didn't already exist, so let's add it to the model. + + # Step 1: create the row + self._table_model.insertRows(0) + + # Step 2: get the index of the newly created row and use it. + # to set the name + ix = self._table_model.index(0, 0, QModelIndex()) + self._table_model.setData(ix, address["name"], Qt.EditRole) + + # Step 3: lather, rinse, repeat for the address. + ix = self._table_model.index(0, 1, QModelIndex()) + self._table_model.setData(ix, address["address"], Qt.EditRole) + + # Remove the newAddressTab, as we now have at least one + # address in the model. + self.removeTab(self.indexOf(self._new_address_tab)) + + # The screenshot for the QT example shows nicely formatted + # multiline cells, but the actual application doesn't behave + # quite so nicely, at least on Ubuntu. Here we resize the newly + # created row so that multiline addresses look reasonable. + table_view = self.currentWidget() + table_view.resizeRowToContents(ix.row()) + + @Slot() + def edit_entry(self): + """ Edit an entry in the addressbook. """ + table_view = self.currentWidget() + proxy_model = table_view.model() + selection_model = table_view.selectionModel() + + # Get the name and address of the currently selected row. + indexes = selection_model.selectedRows() + if len(indexes) != 1: + return + + row = proxy_model.mapToSource(indexes[0]).row() + ix = self._table_model.index(row, 0, QModelIndex()) + name = self._table_model.data(ix, Qt.DisplayRole) + ix = self._table_model.index(row, 1, QModelIndex()) + address = self._table_model.data(ix, Qt.DisplayRole) + + # Open an addDialogWidget, and only allow the user to edit the address. + add_dialog = AddDialogWidget() + add_dialog.setWindowTitle("Edit a Contact") + + add_dialog._name_text.setReadOnly(True) + add_dialog._name_text.setText(name) + add_dialog._address_text.setText(address) + + # If the address is different, add it to the model. + if add_dialog.exec(): + new_address = add_dialog.address + if new_address != address: + ix = self._table_model.index(row, 1, QModelIndex()) + self._table_model.setData(ix, new_address, Qt.EditRole) + + @Slot() + def remove_entry(self): + """ Remove an entry from the addressbook. """ + table_view = self.currentWidget() + proxy_model = table_view.model() + selection_model = table_view.selectionModel() + + # Just like editEntry, but this time remove the selected row. + indexes = selection_model.selectedRows() + + for index in indexes: + row = proxy_model.mapToSource(index).row() + self._table_model.removeRows(row) + + # If we've removed the last address in the model, display the + # newAddressTab + if self._table_model.rowCount() == 0: + self.insertTab(0, self._new_address_tab, "Address Book") + + def setup_tabs(self): + """ Setup the various tabs in the AddressWidget. """ + groups = ["ABC", "DEF", "GHI", "JKL", "MNO", "PQR", "STU", "VW", "XYZ"] + + for group in groups: + proxy_model = QSortFilterProxyModel(self) + proxy_model.setSourceModel(self._table_model) + proxy_model.setDynamicSortFilter(True) + + table_view = QTableView() + table_view.setModel(proxy_model) + table_view.setSortingEnabled(True) + table_view.setSelectionBehavior(QAbstractItemView.SelectRows) + table_view.horizontalHeader().setStretchLastSection(True) + table_view.verticalHeader().hide() + table_view.setEditTriggers(QAbstractItemView.NoEditTriggers) + table_view.setSelectionMode(QAbstractItemView.SingleSelection) + + # This here be the magic: we use the group name (e.g. "ABC") to + # build the regex for the QSortFilterProxyModel for the group's + # tab. The regex will end up looking like "^[ABC].*", only + # allowing this tab to display items where the name starts with + # "A", "B", or "C". Notice that we set it to be case-insensitive. + re = QRegularExpression(f"^[{group}].*") + assert re.isValid() + re.setPatternOptions(QRegularExpression.CaseInsensitiveOption) + proxy_model.setFilterRegularExpression(re) + proxy_model.setFilterKeyColumn(0) # Filter on the "name" column + proxy_model.sort(0, Qt.AscendingOrder) + + # This prevents an application crash (see: https://www.qtcentre.org/threads/58874-QListView-SelectionModel-selectionChanged-Crash) + viewselectionmodel = table_view.selectionModel() + table_view.selectionModel().selectionChanged.connect(self.selection_changed) + + self.addTab(table_view, group) + + # Note: the QT example uses a QDataStream for the saving and loading. + # Here we're using a python dictionary to store the addresses, which + # can't be streamed using QDataStream, so we just use cpickle for this + # example. + def read_from_file(self, filename): + """ Read contacts in from a file. """ + try: + f = open(filename, "rb") + addresses = pickle.load(f) + except IOError: + QMessageBox.information(self, f"Unable to open file: {filename}") + finally: + f.close() + + if len(addresses) == 0: + QMessageBox.information(self, f"No contacts in file: {filename}") + else: + for address in addresses: + self.add_entry(address["name"], address["address"]) + + def write_to_file(self, filename): + """ Save all contacts in the model to a file. """ + try: + f = open(filename, "wb") + pickle.dump(self._table_model.addresses, f) + + except IOError: + QMessageBox.information(self, f"Unable to open file: {filename}") + finally: + f.close() + + +if __name__ == "__main__": + import sys + from PySide6.QtWidgets import QApplication + + app = QApplication(sys.argv) + address_widget = AddressWidget() + address_widget.show() + sys.exit(app.exec()) diff --git a/examples/widgets/itemviews/address_book/doc/address_book.png b/examples/widgets/itemviews/address_book/doc/address_book.png new file mode 100644 index 0000000000000000000000000000000000000000..40f2d9e63ad204a143a3b066260494456ae9a828 GIT binary patch literal 4922 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 +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import (Qt, Signal) +from PySide6.QtWidgets import (QWidget, QLabel, QPushButton, QVBoxLayout) + +from adddialogwidget import AddDialogWidget + + +class NewAddressTab(QWidget): + """ An extra tab that prompts the user to add new contacts. + To be displayed only when there are no contacts in the model. + """ + + send_details = Signal(str, str) + + def __init__(self, parent=None): + super().__init__(parent) + + description_label = QLabel("There are no contacts in your address book." + "\nClick Add to add new contacts.") + + add_button = QPushButton("Add") + + layout = QVBoxLayout() + layout.addWidget(description_label) + layout.addWidget(add_button, 0, Qt.AlignCenter) + + self.setLayout(layout) + + add_button.clicked.connect(self.add_entry) + + def add_entry(self): + add_dialog = AddDialogWidget() + + if add_dialog.exec(): + name = add_dialog.name + address = add_dialog.address + self.send_details.emit(name, address) + + +if __name__ == "__main__": + + def print_address(name, address): + print(f"Name: {name}") + print(f"Address: {address}") + + import sys + from PySide6.QtWidgets import QApplication + + app = QApplication(sys.argv) + new_address_tab = NewAddressTab() + new_address_tab.send_details.connect(print_address) + new_address_tab.show() + sys.exit(app.exec()) diff --git a/examples/widgets/itemviews/address_book/tablemodel.py b/examples/widgets/itemviews/address_book/tablemodel.py new file mode 100644 index 0000000..a0d63bb --- /dev/null +++ b/examples/widgets/itemviews/address_book/tablemodel.py @@ -0,0 +1,109 @@ +# Copyright (C) 2011 Arun Srinivasan +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import (Qt, QAbstractTableModel, QModelIndex) + + +class TableModel(QAbstractTableModel): + + def __init__(self, addresses=None, parent=None): + super().__init__(parent) + + if addresses is None: + self.addresses = [] + else: + self.addresses = addresses + + def rowCount(self, index=QModelIndex()): + """ Returns the number of rows the model holds. """ + return len(self.addresses) + + def columnCount(self, index=QModelIndex()): + """ Returns the number of columns the model holds. """ + return 2 + + def data(self, index, role=Qt.DisplayRole): + """ Depending on the index and role given, return data. If not + returning data, return None (PySide equivalent of QT's + "invalid QVariant"). + """ + if not index.isValid(): + return None + + if not 0 <= index.row() < len(self.addresses): + return None + + if role == Qt.DisplayRole: + name = self.addresses[index.row()]["name"] + address = self.addresses[index.row()]["address"] + + if index.column() == 0: + return name + elif index.column() == 1: + return address + + return None + + def headerData(self, section, orientation, role=Qt.DisplayRole): + """ Set the headers to be displayed. """ + if role != Qt.DisplayRole: + return None + + if orientation == Qt.Horizontal: + if section == 0: + return "Name" + elif section == 1: + return "Address" + + return None + + def insertRows(self, position, rows=1, index=QModelIndex()): + """ Insert a row into the model. """ + self.beginInsertRows(QModelIndex(), position, position + rows - 1) + + for row in range(rows): + self.addresses.insert(position + row, {"name": "", "address": ""}) + + self.endInsertRows() + return True + + def removeRows(self, position, rows=1, index=QModelIndex()): + """ Remove a row from the model. """ + self.beginRemoveRows(QModelIndex(), position, position + rows - 1) + + del self.addresses[position:position + rows] + + self.endRemoveRows() + return True + + def setData(self, index, value, role=Qt.EditRole): + """ Adjust the data (set it to ) depending on the given + index and role. + """ + if role != Qt.EditRole: + return False + + if index.isValid() and 0 <= index.row() < len(self.addresses): + address = self.addresses[index.row()] + if index.column() == 0: + address["name"] = value + elif index.column() == 1: + address["address"] = value + else: + return False + + self.dataChanged.emit(index, index, 0) + return True + + return False + + def flags(self, index): + """ Set the item flags at the given index. Seems like we're + implementing this function just to see how it's done, as we + manually adjust each tableView to have NoEditTriggers. + """ + if not index.isValid(): + return Qt.ItemIsEnabled + return Qt.ItemFlags(QAbstractTableModel.flags(self, index) | + Qt.ItemIsEditable) diff --git a/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py b/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py new file mode 100644 index 0000000..8342374 --- /dev/null +++ b/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py @@ -0,0 +1,178 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys +from PySide6.QtCore import (QDate, QDateTime, QRegularExpression, + QSortFilterProxyModel, QTime, Qt, Slot) +from PySide6.QtGui import QStandardItemModel +from PySide6.QtWidgets import (QApplication, QCheckBox, QComboBox, QGridLayout, + QGroupBox, QHBoxLayout, QLabel, QLineEdit, + QTreeView, QVBoxLayout, QWidget) + + +REGULAR_EXPRESSION = 0 +WILDCARD = 1 +FIXED_STRING = 2 + + +class Window(QWidget): + def __init__(self): + super().__init__() + + self._proxy_model = QSortFilterProxyModel() + self._proxy_model.setDynamicSortFilter(True) + + self._source_group_box = QGroupBox("Original Model") + self._proxy_group_box = QGroupBox("Sorted/Filtered Model") + + self._source_view = QTreeView() + self._source_view.setRootIsDecorated(False) + self._source_view.setAlternatingRowColors(True) + + self._proxy_view = QTreeView() + self._proxy_view.setRootIsDecorated(False) + self._proxy_view.setAlternatingRowColors(True) + self._proxy_view.setModel(self._proxy_model) + self._proxy_view.setSortingEnabled(True) + + self._sort_case_sensitivity_check_box = QCheckBox("Case sensitive sorting") + self._filter_case_sensitivity_check_box = QCheckBox("Case sensitive filter") + + self._filter_pattern_line_edit = QLineEdit() + self._filter_pattern_line_edit.setClearButtonEnabled(True) + self._filter_pattern_label = QLabel("&Filter pattern:") + self._filter_pattern_label.setBuddy(self._filter_pattern_line_edit) + + self._filter_syntax_combo_box = QComboBox() + self._filter_syntax_combo_box.addItem("Regular expression", + REGULAR_EXPRESSION) + self._filter_syntax_combo_box.addItem("Wildcard", + WILDCARD) + self._filter_syntax_combo_box.addItem("Fixed string", + FIXED_STRING) + self._filter_syntax_label = QLabel("Filter &syntax:") + self._filter_syntax_label.setBuddy(self._filter_syntax_combo_box) + + self._filter_column_combo_box = QComboBox() + self._filter_column_combo_box.addItem("Subject") + self._filter_column_combo_box.addItem("Sender") + self._filter_column_combo_box.addItem("Date") + self._filter_column_label = QLabel("Filter &column:") + self._filter_column_label.setBuddy(self._filter_column_combo_box) + + self._filter_pattern_line_edit.textChanged.connect(self.filter_reg_exp_changed) + self._filter_syntax_combo_box.currentIndexChanged.connect(self.filter_reg_exp_changed) + self._filter_column_combo_box.currentIndexChanged.connect(self.filter_column_changed) + self._filter_case_sensitivity_check_box.toggled.connect(self.filter_reg_exp_changed) + self._sort_case_sensitivity_check_box.toggled.connect(self.sort_changed) + + source_layout = QHBoxLayout() + source_layout.addWidget(self._source_view) + self._source_group_box.setLayout(source_layout) + + proxy_layout = QGridLayout() + proxy_layout.addWidget(self._proxy_view, 0, 0, 1, 3) + proxy_layout.addWidget(self._filter_pattern_label, 1, 0) + proxy_layout.addWidget(self._filter_pattern_line_edit, 1, 1, 1, 2) + proxy_layout.addWidget(self._filter_syntax_label, 2, 0) + proxy_layout.addWidget(self._filter_syntax_combo_box, 2, 1, 1, 2) + proxy_layout.addWidget(self._filter_column_label, 3, 0) + proxy_layout.addWidget(self._filter_column_combo_box, 3, 1, 1, 2) + proxy_layout.addWidget(self._filter_case_sensitivity_check_box, 4, 0, 1, 2) + proxy_layout.addWidget(self._sort_case_sensitivity_check_box, 4, 2) + self._proxy_group_box.setLayout(proxy_layout) + + main_layout = QVBoxLayout() + main_layout.addWidget(self._source_group_box) + main_layout.addWidget(self._proxy_group_box) + self.setLayout(main_layout) + + self.setWindowTitle("Basic Sort/Filter Model") + self.resize(500, 450) + + self._proxy_view.sortByColumn(1, Qt.AscendingOrder) + self._filter_column_combo_box.setCurrentIndex(1) + + self._filter_pattern_line_edit.setText("Andy|Grace") + self._filter_case_sensitivity_check_box.setChecked(True) + self._sort_case_sensitivity_check_box.setChecked(True) + + def set_source_model(self, model): + self._proxy_model.setSourceModel(model) + self._source_view.setModel(model) + + @Slot() + def filter_reg_exp_changed(self): + syntax_nr = self._filter_syntax_combo_box.currentData() + pattern = self._filter_pattern_line_edit.text() + if syntax_nr == WILDCARD: + pattern = QRegularExpression.wildcardToRegularExpression(pattern) + elif syntax_nr == FIXED_STRING: + pattern = QRegularExpression.escape(pattern) + + reg_exp = QRegularExpression(pattern) + if not self._filter_case_sensitivity_check_box.isChecked(): + options = reg_exp.patternOptions() + options |= QRegularExpression.CaseInsensitiveOption + reg_exp.setPatternOptions(options) + self._proxy_model.setFilterRegularExpression(reg_exp) + + @Slot() + def filter_column_changed(self): + self._proxy_model.setFilterKeyColumn(self._filter_column_combo_box.currentIndex()) + + @Slot() + def sort_changed(self): + if self._sort_case_sensitivity_check_box.isChecked(): + case_sensitivity = Qt.CaseSensitive + else: + case_sensitivity = Qt.CaseInsensitive + + self._proxy_model.setSortCaseSensitivity(case_sensitivity) + + +def add_mail(model, subject, sender, date): + model.insertRow(0) + model.setData(model.index(0, 0), subject) + model.setData(model.index(0, 1), sender) + model.setData(model.index(0, 2), date) + + +def create_mail_model(parent): + model = QStandardItemModel(0, 3, parent) + + model.setHeaderData(0, Qt.Horizontal, "Subject") + model.setHeaderData(1, Qt.Horizontal, "Sender") + model.setHeaderData(2, Qt.Horizontal, "Date") + + add_mail(model, "Happy New Year!", "Grace K. ", + QDateTime(QDate(2006, 12, 31), QTime(17, 3))) + add_mail(model, "Radically new concept", "Grace K. ", + QDateTime(QDate(2006, 12, 22), QTime(9, 44))) + add_mail(model, "Accounts", "pascale@nospam.com", + QDateTime(QDate(2006, 12, 31), QTime(12, 50))) + add_mail(model, "Expenses", "Joe Bloggs ", + QDateTime(QDate(2006, 12, 25), QTime(11, 39))) + add_mail(model, "Re: Expenses", "Andy ", + QDateTime(QDate(2007, 1, 2), QTime(16, 5))) + add_mail(model, "Re: Accounts", "Joe Bloggs ", + QDateTime(QDate(2007, 1, 3), QTime(14, 18))) + add_mail(model, "Re: Accounts", "Andy ", + QDateTime(QDate(2007, 1, 3), QTime(14, 26))) + add_mail(model, "Sports", "Linda Smith ", + QDateTime(QDate(2007, 1, 5), QTime(11, 33))) + add_mail(model, "AW: Sports", "Rolf Newschweinstein ", + QDateTime(QDate(2007, 1, 5), QTime(12, 0))) + add_mail(model, "RE: Sports", "Petra Schmidt ", + QDateTime(QDate(2007, 1, 5), QTime(12, 1))) + + return model + + +if __name__ == '__main__': + app = QApplication(sys.argv) + window = Window() + window.set_source_model(create_mail_model(window)) + window.show() + sys.exit(app.exec()) diff --git a/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.pyproject b/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.pyproject new file mode 100644 index 0000000..3351bba --- /dev/null +++ b/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["basicsortfiltermodel.py"] +} diff --git a/examples/widgets/itemviews/dirview/dirview.py b/examples/widgets/itemviews/dirview/dirview.py new file mode 100644 index 0000000..aa1e621 --- /dev/null +++ b/examples/widgets/itemviews/dirview/dirview.py @@ -0,0 +1,60 @@ +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys +from argparse import ArgumentParser, RawTextHelpFormatter + +from PySide6.QtWidgets import (QApplication, QFileSystemModel, + QFileIconProvider, QScroller, QTreeView) +from PySide6.QtCore import QDir + +"""PySide6 port of the widgets/itemviews/dirview example from Qt v6.x""" + + +if __name__ == "__main__": + app = QApplication(sys.argv) + + name = "Dir View" + argument_parser = ArgumentParser(description=name, + formatter_class=RawTextHelpFormatter) + argument_parser.add_argument("--no-custom", "-c", action="store_true", + help="Set QFileSystemModel.DontUseCustomDirectoryIcons") + argument_parser.add_argument("--no-watch", "-w", action="store_true", + help="Set QFileSystemModel.DontWatch") + argument_parser.add_argument("directory", + help="The directory to start in.", + nargs='?', type=str) + options = argument_parser.parse_args() + root_path = options.directory + + model = QFileSystemModel() + icon_provider = QFileIconProvider() + model.setIconProvider(icon_provider) + model.setRootPath("") + if options.no_custom: + model.setOption(QFileSystemModel.DontUseCustomDirectoryIcons) + if options.no_watch: + model.setOption(QFileSystemModel.DontWatchForChanges) + tree = QTreeView() + tree.setModel(model) + if root_path: + root_index = model.index(QDir.cleanPath(root_path)) + if root_index.isValid(): + tree.setRootIndex(root_index) + + # Demonstrating look and feel features + tree.setAnimated(False) + tree.setIndentation(20) + tree.setSortingEnabled(True) + availableSize = tree.screen().availableGeometry().size() + tree.resize(availableSize / 2) + tree.setColumnWidth(0, tree.width() / 3) + + # Make it flickable on touchscreens + QScroller.grabGesture(tree, QScroller.ScrollerGestureType.TouchGesture) + + tree.setWindowTitle(name) + tree.show() + + sys.exit(app.exec()) + diff --git a/examples/widgets/itemviews/dirview/dirview.pyproject b/examples/widgets/itemviews/dirview/dirview.pyproject new file mode 100644 index 0000000..9470083 --- /dev/null +++ b/examples/widgets/itemviews/dirview/dirview.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["dirview.py"] +} diff --git a/examples/widgets/itemviews/dirview/doc/dirview.rst b/examples/widgets/itemviews/dirview/doc/dirview.rst new file mode 100644 index 0000000..7044fdf --- /dev/null +++ b/examples/widgets/itemviews/dirview/doc/dirview.rst @@ -0,0 +1,5 @@ +Dir View Example +================ + +The Dir View example shows a tree view of the local file system. It uses the +QFileSystemModel class to provide file and directory information. diff --git a/examples/widgets/itemviews/editabletreemodel/default.txt b/examples/widgets/itemviews/editabletreemodel/default.txt new file mode 100644 index 0000000..9874654 --- /dev/null +++ b/examples/widgets/itemviews/editabletreemodel/default.txt @@ -0,0 +1,40 @@ +Getting Started How to familiarize yourself with Qt Designer + Launching Designer Running the Qt Designer application + The User Interface How to interact with Qt Designer + +Designing a Component Creating a GUI for your application + Creating a Dialog How to create a dialog + Composing the Dialog Putting widgets into the dialog example + Creating a Layout Arranging widgets on a form + Signal and Slot Connections Making widget communicate with each other + +Using a Component in Your Application Generating code from forms + The Direct Approach Using a form without any adjustments + The Single Inheritance Approach Subclassing a form's base class + The Multiple Inheritance Approach Subclassing the form itself + Automatic Connections Connecting widgets using a naming scheme + A Dialog Without Auto-Connect How to connect widgets without a naming scheme + A Dialog With Auto-Connect Using automatic connections + +Form Editing Mode How to edit a form in Qt Designer + Managing Forms Loading and saving forms + Editing a Form Basic editing techniques + The Property Editor Changing widget properties + The Object Inspector Examining the hierarchy of objects on a form + Layouts Objects that arrange widgets on a form + Applying and Breaking Layouts Managing widgets in layouts + Horizontal and Vertical Layouts Standard row and column layouts + The Grid Layout Arranging widgets in a matrix + Previewing Forms Checking that the design works + +Using Containers How to group widgets together + General Features Common container features + Frames QFrame + Group Boxes QGroupBox + Stacked Widgets QStackedWidget + Tab Widgets QTabWidget + Toolbox Widgets QToolBox + +Connection Editing Mode Connecting widgets together with signals and slots + Connecting Objects Making connections in Qt Designer + Editing Connections Changing existing connections diff --git a/examples/widgets/itemviews/editabletreemodel/doc/editabletreemodel.png b/examples/widgets/itemviews/editabletreemodel/doc/editabletreemodel.png new file mode 100644 index 0000000000000000000000000000000000000000..b50c792aa15b36fa5ee9b9861b0231389674d945 GIT binary patch literal 111556 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⪼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 A6#xJL literal 0 HcmV?d00001 diff --git a/examples/widgets/itemviews/editabletreemodel/doc/editabletreemodel.rst b/examples/widgets/itemviews/editabletreemodel/doc/editabletreemodel.rst new file mode 100644 index 0000000..c936972 --- /dev/null +++ b/examples/widgets/itemviews/editabletreemodel/doc/editabletreemodel.rst @@ -0,0 +1,10 @@ +Editable Tree Model Example +=========================== + +A Python application that demonstrates the analogous example in C++ +`Editable Tree Model Example `_ + +.. image:: editabletreemodel.png + :width: 611 + :alt: editabletreemodel screenshot + diff --git a/examples/widgets/itemviews/editabletreemodel/editabletreemodel.pyproject b/examples/widgets/itemviews/editabletreemodel/editabletreemodel.pyproject new file mode 100644 index 0000000..1e67c72 --- /dev/null +++ b/examples/widgets/itemviews/editabletreemodel/editabletreemodel.pyproject @@ -0,0 +1,7 @@ +{ + "files": ["main.py", + "mainwindow.py", + "treeitem.py", + "treemodel.py", + "default.txt"] +} diff --git a/examples/widgets/itemviews/editabletreemodel/main.py b/examples/widgets/itemviews/editabletreemodel/main.py new file mode 100644 index 0000000..491baa6 --- /dev/null +++ b/examples/widgets/itemviews/editabletreemodel/main.py @@ -0,0 +1,14 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +import sys +from PySide6.QtWidgets import QApplication +from mainwindow import MainWindow + + +if __name__ == '__main__': + app = QApplication(sys.argv) + window = MainWindow() + window.show() + sys.exit(app.exec()) diff --git a/examples/widgets/itemviews/editabletreemodel/mainwindow.py b/examples/widgets/itemviews/editabletreemodel/mainwindow.py new file mode 100644 index 0000000..c6abfa5 --- /dev/null +++ b/examples/widgets/itemviews/editabletreemodel/mainwindow.py @@ -0,0 +1,163 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys +from pathlib import Path + +from PySide6.QtCore import (QAbstractItemModel, QItemSelectionModel, + QModelIndex, Qt, Slot) +from PySide6.QtWidgets import (QAbstractItemView, QMainWindow, QTreeView, + QWidget) +from PySide6.QtTest import QAbstractItemModelTester + +from treemodel import TreeModel + + +class MainWindow(QMainWindow): + def __init__(self, parent: QWidget = None): + super().__init__(parent) + self.resize(573, 468) + + self.view = QTreeView() + self.view.setAlternatingRowColors(True) + self.view.setSelectionBehavior(QAbstractItemView.SelectItems) + self.view.setHorizontalScrollMode(QAbstractItemView.ScrollPerPixel) + self.view.setAnimated(False) + self.view.setAllColumnsShowFocus(True) + self.setCentralWidget(self.view) + + menubar = self.menuBar() + file_menu = menubar.addMenu("&File") + self.exit_action = file_menu.addAction("E&xit") + self.exit_action.setShortcut("Ctrl+Q") + self.exit_action.triggered.connect(self.close) + + actions_menu = menubar.addMenu("&Actions") + actions_menu.triggered.connect(self.update_actions) + self.insert_row_action = actions_menu.addAction("Insert Row") + self.insert_row_action.setShortcut("Ctrl+I, R") + self.insert_row_action.triggered.connect(self.insert_row) + self.insert_column_action = actions_menu.addAction("Insert Column") + self.insert_column_action.setShortcut("Ctrl+I, C") + self.insert_column_action.triggered.connect(self.insert_column) + actions_menu.addSeparator() + self.remove_row_action = actions_menu.addAction("Remove Row") + self.remove_row_action.setShortcut("Ctrl+R, R") + self.remove_row_action.triggered.connect(self.remove_row) + self.remove_column_action = actions_menu.addAction("Remove Column") + self.remove_column_action.setShortcut("Ctrl+R, C") + self.remove_column_action.triggered.connect(self.remove_column) + actions_menu.addSeparator() + self.insert_child_action = actions_menu.addAction("Insert Child") + self.insert_child_action.setShortcut("Ctrl+N") + self.insert_child_action.triggered.connect(self.insert_child) + help_menu = menubar.addMenu("&Help") + about_qt_action = help_menu.addAction("About Qt", qApp.aboutQt) + about_qt_action.setShortcut("F1") + + self.setWindowTitle("Editable Tree Model") + + headers = ["Title", "Description"] + + file = Path(__file__).parent / "default.txt" + self.model = TreeModel(headers, file.read_text(), self) + + if "-t" in sys.argv: + QAbstractItemModelTester(self.model, self) + self.view.setModel(self.model) + self.view.expandAll() + + for column in range(self.model.columnCount()): + self.view.resizeColumnToContents(column) + + selection_model = self.view.selectionModel() + selection_model.selectionChanged.connect(self.update_actions) + + self.update_actions() + + @Slot() + def insert_child(self) -> None: + selection_model = self.view.selectionModel() + index: QModelIndex = selection_model.currentIndex() + model: QAbstractItemModel = self.view.model() + + if model.columnCount(index) == 0: + if not model.insertColumn(0, index): + return + + if not model.insertRow(0, index): + return + + for column in range(model.columnCount(index)): + child: QModelIndex = model.index(0, column, index) + model.setData(child, "[No data]", Qt.EditRole) + if not model.headerData(column, Qt.Horizontal): + model.setHeaderData(column, Qt.Horizontal, "[No header]", + Qt.EditRole) + + selection_model.setCurrentIndex( + model.index(0, 0, index), QItemSelectionModel.ClearAndSelect + ) + self.update_actions() + + @Slot() + def insert_column(self) -> None: + model: QAbstractItemModel = self.view.model() + column: int = self.view.selectionModel().currentIndex().column() + + changed: bool = model.insertColumn(column + 1) + if changed: + model.setHeaderData(column + 1, Qt.Horizontal, "[No header]", + Qt.EditRole) + + self.update_actions() + + @Slot() + def insert_row(self) -> None: + index: QModelIndex = self.view.selectionModel().currentIndex() + model: QAbstractItemModel = self.view.model() + parent: QModelIndex = index.parent() + + if not model.insertRow(index.row() + 1, parent): + return + + self.update_actions() + + for column in range(model.columnCount(parent)): + child: QModelIndex = model.index(index.row() + 1, column, parent) + model.setData(child, "[No data]", Qt.EditRole) + + @Slot() + def remove_column(self) -> None: + model: QAbstractItemModel = self.view.model() + column: int = self.view.selectionModel().currentIndex().column() + + if model.removeColumn(column): + self.update_actions() + + @Slot() + def remove_row(self) -> None: + index: QModelIndex = self.view.selectionModel().currentIndex() + model: QAbstractItemModel = self.view.model() + + if model.removeRow(index.row(), index.parent()): + self.update_actions() + + @Slot() + def update_actions(self) -> None: + selection_model = self.view.selectionModel() + has_selection: bool = not selection_model.selection().isEmpty() + self.remove_row_action.setEnabled(has_selection) + self.remove_column_action.setEnabled(has_selection) + + current_index = selection_model.currentIndex() + has_current: bool = current_index.isValid() + self.insert_row_action.setEnabled(has_current) + self.insert_column_action.setEnabled(has_current) + + if has_current: + self.view.closePersistentEditor(current_index) + msg = f"Position: ({current_index.row()},{current_index.column()})" + if not current_index.parent().isValid(): + msg += " in top level" + self.statusBar().showMessage(msg) diff --git a/examples/widgets/itemviews/editabletreemodel/treeitem.py b/examples/widgets/itemviews/editabletreemodel/treeitem.py new file mode 100644 index 0000000..1a25b07 --- /dev/null +++ b/examples/widgets/itemviews/editabletreemodel/treeitem.py @@ -0,0 +1,94 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +class TreeItem: + def __init__(self, data: list, parent: 'TreeItem' = None): + self.item_data = data + self.parent_item = parent + self.child_items = [] + + def child(self, number: int) -> 'TreeItem': + if number < 0 or number >= len(self.child_items): + return None + return self.child_items[number] + + def last_child(self): + return self.child_items[-1] if self.child_items else None + + def child_count(self) -> int: + return len(self.child_items) + + def child_number(self) -> int: + if self.parent_item: + return self.parent_item.child_items.index(self) + return 0 + + def column_count(self) -> int: + return len(self.item_data) + + def data(self, column: int): + if column < 0 or column >= len(self.item_data): + return None + return self.item_data[column] + + def insert_children(self, position: int, count: int, columns: int) -> bool: + if position < 0 or position > len(self.child_items): + return False + + for row in range(count): + data = [None] * columns + item = TreeItem(data.copy(), self) + self.child_items.insert(position, item) + + return True + + def insert_columns(self, position: int, columns: int) -> bool: + if position < 0 or position > len(self.item_data): + return False + + for column in range(columns): + self.item_data.insert(position, None) + + for child in self.child_items: + child.insert_columns(position, columns) + + return True + + def parent(self): + return self.parent_item + + def remove_children(self, position: int, count: int) -> bool: + if position < 0 or position + count > len(self.child_items): + return False + + for row in range(count): + self.child_items.pop(position) + + return True + + def remove_columns(self, position: int, columns: int) -> bool: + if position < 0 or position + columns > len(self.item_data): + return False + + for column in range(columns): + self.item_data.pop(position) + + for child in self.child_items: + child.remove_columns(position, columns) + + return True + + def set_data(self, column: int, value): + if column < 0 or column >= len(self.item_data): + return False + + self.item_data[column] = value + return True + + def __repr__(self) -> str: + result = f"" + result += f", {len(self.child_items)} children>" + return result diff --git a/examples/widgets/itemviews/editabletreemodel/treemodel.py b/examples/widgets/itemviews/editabletreemodel/treemodel.py new file mode 100644 index 0000000..a58572f --- /dev/null +++ b/examples/widgets/itemviews/editabletreemodel/treemodel.py @@ -0,0 +1,199 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +from PySide6.QtCore import QModelIndex, Qt, QAbstractItemModel +from treeitem import TreeItem + + +class TreeModel(QAbstractItemModel): + + def __init__(self, headers: list, data: str, parent=None): + super().__init__(parent) + + self.root_data = headers + self.root_item = TreeItem(self.root_data.copy()) + self.setup_model_data(data.split("\n"), self.root_item) + + def columnCount(self, parent: QModelIndex = None) -> int: + return self.root_item.column_count() + + def data(self, index: QModelIndex, role: int = None): + if not index.isValid(): + return None + + if role != Qt.DisplayRole and role != Qt.EditRole: + return None + + item: TreeItem = self.get_item(index) + + return item.data(index.column()) + + def flags(self, index: QModelIndex) -> Qt.ItemFlags: + if not index.isValid(): + return Qt.NoItemFlags + + return Qt.ItemIsEditable | QAbstractItemModel.flags(self, index) + + def get_item(self, index: QModelIndex = QModelIndex()) -> TreeItem: + if index.isValid(): + item: TreeItem = index.internalPointer() + if item: + return item + + return self.root_item + + def headerData(self, section: int, orientation: Qt.Orientation, + role: int = Qt.DisplayRole): + if orientation == Qt.Horizontal and role == Qt.DisplayRole: + return self.root_item.data(section) + + return None + + def index(self, row: int, column: int, parent: QModelIndex = QModelIndex()) -> QModelIndex: + if parent.isValid() and parent.column() != 0: + return QModelIndex() + + parent_item: TreeItem = self.get_item(parent) + if not parent_item: + return QModelIndex() + + child_item: TreeItem = parent_item.child(row) + if child_item: + return self.createIndex(row, column, child_item) + return QModelIndex() + + def insertColumns(self, position: int, columns: int, + parent: QModelIndex = QModelIndex()) -> bool: + self.beginInsertColumns(parent, position, position + columns - 1) + success: bool = self.root_item.insert_columns(position, columns) + self.endInsertColumns() + + return success + + def insertRows(self, position: int, rows: int, + parent: QModelIndex = QModelIndex()) -> bool: + parent_item: TreeItem = self.get_item(parent) + if not parent_item: + return False + + self.beginInsertRows(parent, position, position + rows - 1) + column_count = self.root_item.column_count() + success: bool = parent_item.insert_children(position, rows, column_count) + self.endInsertRows() + + return success + + def parent(self, index: QModelIndex = QModelIndex()) -> QModelIndex: + if not index.isValid(): + return QModelIndex() + + child_item: TreeItem = self.get_item(index) + if child_item: + parent_item: TreeItem = child_item.parent() + else: + parent_item = None + + if parent_item == self.root_item or not parent_item: + return QModelIndex() + + return self.createIndex(parent_item.child_number(), 0, parent_item) + + def removeColumns(self, position: int, columns: int, + parent: QModelIndex = QModelIndex()) -> bool: + self.beginRemoveColumns(parent, position, position + columns - 1) + success: bool = self.root_item.remove_columns(position, columns) + self.endRemoveColumns() + + if self.root_item.column_count() == 0: + self.removeRows(0, self.rowCount()) + + return success + + def removeRows(self, position: int, rows: int, + parent: QModelIndex = QModelIndex()) -> bool: + parent_item: TreeItem = self.get_item(parent) + if not parent_item: + return False + + self.beginRemoveRows(parent, position, position + rows - 1) + success: bool = parent_item.remove_children(position, rows) + self.endRemoveRows() + + return success + + def rowCount(self, parent: QModelIndex = QModelIndex()) -> int: + if parent.isValid() and parent.column() > 0: + return 0 + + parent_item: TreeItem = self.get_item(parent) + if not parent_item: + return 0 + return parent_item.child_count() + + def setData(self, index: QModelIndex, value, role: int) -> bool: + if role != Qt.EditRole: + return False + + item: TreeItem = self.get_item(index) + result: bool = item.set_data(index.column(), value) + + if result: + self.dataChanged.emit(index, index, [Qt.DisplayRole, Qt.EditRole]) + + return result + + def setHeaderData(self, section: int, orientation: Qt.Orientation, value, + role: int = None) -> bool: + if role != Qt.EditRole or orientation != Qt.Horizontal: + return False + + result: bool = self.root_item.set_data(section, value) + + if result: + self.headerDataChanged.emit(orientation, section, section) + + return result + + def setup_model_data(self, lines: list, parent: TreeItem): + parents = [parent] + indentations = [0] + + for line in lines: + line = line.rstrip() + if line and "\t" in line: + + position = 0 + while position < len(line): + if line[position] != " ": + break + position += 1 + + column_data = line[position:].split("\t") + column_data = [string for string in column_data if string] + + if position > indentations[-1]: + if parents[-1].child_count() > 0: + parents.append(parents[-1].last_child()) + indentations.append(position) + else: + while position < indentations[-1] and parents: + parents.pop() + indentations.pop() + + parent: TreeItem = parents[-1] + col_count = self.root_item.column_count() + parent.insert_children(parent.child_count(), 1, col_count) + + for column in range(len(column_data)): + child = parent.last_child() + child.set_data(column, column_data[column]) + + def _repr_recursion(self, item: TreeItem, indent: int = 0) -> str: + result = " " * indent + repr(item) + "\n" + for child in item.child_items: + result += self._repr_recursion(child, indent + 2) + return result + + def __repr__(self) -> str: + return self._repr_recursion(self.root_item) diff --git a/examples/widgets/itemviews/fetchmore/fetchmore.py b/examples/widgets/itemviews/fetchmore/fetchmore.py new file mode 100644 index 0000000..ecee86e --- /dev/null +++ b/examples/widgets/itemviews/fetchmore/fetchmore.py @@ -0,0 +1,137 @@ +# Copyright (C) 2009 Darryl Wallace, 2009 +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the itemviews/fetchmore/fetchmore example from Qt v6.x + +Navigate to a directory with many entries by doubleclicking and scroll +down the list to see the model being populated on demand. +""" + +import sys + +from PySide6.QtCore import (QAbstractListModel, QDir, + QModelIndex, Qt, Signal, Slot) +from PySide6.QtWidgets import (QApplication, QFileIconProvider, QListView, + QPlainTextEdit, QSizePolicy, QVBoxLayout, + QWidget) + + +BATCH_SIZE = 100 + + +class FileListModel(QAbstractListModel): + + number_populated = Signal(str, int, int, int) + + def __init__(self, parent=None): + super().__init__(parent) + + self._path = '' + self._file_count = 0 + self._file_list = [] + self._icon_provider = QFileIconProvider() + + def rowCount(self, parent=QModelIndex()): + return self._file_count + + def data(self, index, role=Qt.DisplayRole): + if not index.isValid(): + return None + + row = index.row() + if row >= len(self._file_list) or row < 0: + return None + + if role == Qt.DisplayRole: + return self._file_list[row].fileName() + + if role == Qt.BackgroundRole: + batch = row // BATCH_SIZE + palette = qApp.palette() + return palette.base() if batch % 2 == 0 else palette.alternateBase() + + if role == Qt.DecorationRole: + return self._icon_provider.icon(self._file_list[row]) + + return None + + def canFetchMore(self, index): + return self._file_count < len(self._file_list) + + def fetchMore(self, index): + start = self._file_count + total = len(self._file_list) + remainder = total - start + items_to_fetch = min(BATCH_SIZE, remainder) + + self.beginInsertRows(QModelIndex(), start, start + items_to_fetch) + + self._file_count += items_to_fetch + + self.endInsertRows() + + self.number_populated.emit(self._path, start, items_to_fetch, total) + + @Slot(str) + def set_dir_path(self, path): + self._path = path + directory = QDir(path) + + self.beginResetModel() + directory_filter = QDir.AllEntries | QDir.NoDot + self._file_list = directory.entryInfoList(directory_filter, QDir.Name) + self._file_count = 0 + self.endResetModel() + + def fileinfo_at(self, index): + return self._file_list[index.row()] + + +class Window(QWidget): + def __init__(self, parent=None): + super().__init__(parent) + + self._model = FileListModel(self) + self._model.set_dir_path(QDir.rootPath()) + + self._view = QListView() + self._view.setModel(self._model) + + self._log_viewer = QPlainTextEdit() + self._log_viewer.setSizePolicy(QSizePolicy(QSizePolicy.Preferred, + QSizePolicy.Preferred)) + + self._model.number_populated.connect(self.update_log) + self._view.activated.connect(self.activated) + + layout = QVBoxLayout(self) + layout.addWidget(self._view) + layout.addWidget(self._log_viewer) + + self.setWindowTitle("Fetch More Example") + + @Slot(str,int,int,int) + def update_log(self, path, start, number, total): + native_path = QDir.toNativeSeparators(path) + last = start + number - 1 + entry = f'{start}..{last}/{total} items from "{native_path}" added.' + self._log_viewer.appendPlainText(entry) + + @Slot(QModelIndex) + def activated(self, index): + fileinfo = self._model.fileinfo_at(index) + if fileinfo.isDir(): + self._log_viewer.clear() + self._model.set_dir_path(fileinfo.absoluteFilePath()) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + + window = Window() + window.resize(400, 500) + window.show() + + sys.exit(app.exec()) diff --git a/examples/widgets/itemviews/fetchmore/fetchmore.pyproject b/examples/widgets/itemviews/fetchmore/fetchmore.pyproject new file mode 100644 index 0000000..e5c3693 --- /dev/null +++ b/examples/widgets/itemviews/fetchmore/fetchmore.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["fetchmore.py"] +} diff --git a/examples/widgets/itemviews/jsonmodel/doc/jsonmodel.png b/examples/widgets/itemviews/jsonmodel/doc/jsonmodel.png new file mode 100644 index 0000000000000000000000000000000000000000..8b5c8d0c31eab4eae3527836541a51d451f044e7 GIT binary patch literal 14837 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 "TreeItem": + """Return the child of the current item from the given row""" + return self._children[row] + + def parent(self) -> "TreeItem": + """Return the parent of the current item""" + return self._parent + + def childCount(self) -> int: + """Return the number of children of the current item""" + return len(self._children) + + def row(self) -> int: + """Return the row where the current item occupies in the parent""" + return self._parent._children.index(self) if self._parent else 0 + + @property + def key(self) -> str: + """Return the key name""" + return self._key + + @key.setter + def key(self, key: str): + """Set key name of the current item""" + self._key = key + + @property + def value(self) -> str: + """Return the value name of the current item""" + return self._value + + @value.setter + def value(self, value: str): + """Set value name of the current item""" + self._value = value + + @property + def value_type(self): + """Return the python type of the item's value.""" + return self._value_type + + @value_type.setter + def value_type(self, value): + """Set the python type of the item's value.""" + self._value_type = value + + @classmethod + def load( + cls, value: Union[List, Dict], parent: "TreeItem" = None, sort=True + ) -> "TreeItem": + """Create a 'root' TreeItem from a nested list or a nested dictonary + + Examples: + with open("file.json") as file: + data = json.dump(file) + root = TreeItem.load(data) + + This method is a recursive function that calls itself. + + Returns: + TreeItem: TreeItem + """ + rootItem = TreeItem(parent) + rootItem.key = "root" + + if isinstance(value, dict): + items = sorted(value.items()) if sort else value.items() + + for key, value in items: + child = cls.load(value, rootItem) + child.key = key + child.value_type = type(value) + rootItem.appendChild(child) + + elif isinstance(value, list): + for index, value in enumerate(value): + child = cls.load(value, rootItem) + child.key = index + child.value_type = type(value) + rootItem.appendChild(child) + + else: + rootItem.value = value + rootItem.value_type = type(value) + + return rootItem + + +class JsonModel(QAbstractItemModel): + """ An editable model of Json data """ + + def __init__(self, parent: QObject = None): + super().__init__(parent) + + self._rootItem = TreeItem() + self._headers = ("key", "value") + + def clear(self): + """ Clear data from the model """ + self.load({}) + + def load(self, document: dict): + """Load model from a nested dictionary returned by json.loads() + + Arguments: + document (dict): JSON-compatible dictionary + """ + + assert isinstance( + document, (dict, list, tuple) + ), "`document` must be of dict, list or tuple, " f"not {type(document)}" + + self.beginResetModel() + + self._rootItem = TreeItem.load(document) + self._rootItem.value_type = type(document) + + self.endResetModel() + + return True + + def data(self, index: QModelIndex, role: Qt.ItemDataRole) -> Any: + """Override from QAbstractItemModel + + Return data from a json item according index and role + + """ + if not index.isValid(): + return None + + item = index.internalPointer() + + if role == Qt.DisplayRole: + if index.column() == 0: + return item.key + + if index.column() == 1: + return item.value + + elif role == Qt.EditRole: + if index.column() == 1: + return item.value + + def setData(self, index: QModelIndex, value: Any, role: Qt.ItemDataRole): + """Override from QAbstractItemModel + + Set json item according index and role + + Args: + index (QModelIndex) + value (Any) + role (Qt.ItemDataRole) + + """ + if role == Qt.EditRole: + if index.column() == 1: + item = index.internalPointer() + item.value = str(value) + + self.dataChanged.emit(index, index, [Qt.EditRole]) + + return True + + return False + + def headerData( + self, section: int, orientation: Qt.Orientation, role: Qt.ItemDataRole + ): + """Override from QAbstractItemModel + + For the JsonModel, it returns only data for columns (orientation = Horizontal) + + """ + if role != Qt.DisplayRole: + return None + + if orientation == Qt.Horizontal: + return self._headers[section] + + def index(self, row: int, column: int, parent=QModelIndex()) -> QModelIndex: + """Override from QAbstractItemModel + + Return index according row, column and parent + + """ + if not self.hasIndex(row, column, parent): + return QModelIndex() + + if not parent.isValid(): + parentItem = self._rootItem + else: + parentItem = parent.internalPointer() + + childItem = parentItem.child(row) + if childItem: + return self.createIndex(row, column, childItem) + else: + return QModelIndex() + + def parent(self, index: QModelIndex) -> QModelIndex: + """Override from QAbstractItemModel + + Return parent index of index + + """ + + if not index.isValid(): + return QModelIndex() + + childItem = index.internalPointer() + parentItem = childItem.parent() + + if parentItem == self._rootItem: + return QModelIndex() + + return self.createIndex(parentItem.row(), 0, parentItem) + + def rowCount(self, parent=QModelIndex()): + """Override from QAbstractItemModel + + Return row count from parent index + """ + if parent.column() > 0: + return 0 + + if not parent.isValid(): + parentItem = self._rootItem + else: + parentItem = parent.internalPointer() + + return parentItem.childCount() + + def columnCount(self, parent=QModelIndex()): + """Override from QAbstractItemModel + + Return column number. For the model, it always return 2 columns + """ + return 2 + + def flags(self, index: QModelIndex) -> Qt.ItemFlags: + """Override from QAbstractItemModel + + Return flags of index + """ + flags = super(JsonModel, self).flags(index) + + if index.column() == 1: + return Qt.ItemIsEditable | flags + else: + return flags + + def to_json(self, item=None): + + if item is None: + item = self._rootItem + + nchild = item.childCount() + + if item.value_type is dict: + document = {} + for i in range(nchild): + ch = item.child(i) + document[ch.key] = self.to_json(ch) + return document + + elif item.value_type == list: + document = [] + for i in range(nchild): + ch = item.child(i) + document.append(self.to_json(ch)) + return document + + else: + return item.value + + +if __name__ == "__main__": + + app = QApplication(sys.argv) + view = QTreeView() + model = JsonModel() + + view.setModel(model) + + json_path = QFileInfo(__file__).absoluteDir().filePath("example.json") + + with open(json_path) as file: + document = json.load(file) + model.load(document) + + view.show() + view.header().setSectionResizeMode(0, QHeaderView.Stretch) + view.setAlternatingRowColors(True) + view.resize(500, 300) + app.exec() diff --git a/examples/widgets/itemviews/jsonmodel/jsonmodel.pyproject b/examples/widgets/itemviews/jsonmodel/jsonmodel.pyproject new file mode 100644 index 0000000..7d551b3 --- /dev/null +++ b/examples/widgets/itemviews/jsonmodel/jsonmodel.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["jsonmodel.py", "example.json"] +} diff --git a/examples/widgets/itemviews/spinboxdelegate/doc/spinboxdelegate.rst b/examples/widgets/itemviews/spinboxdelegate/doc/spinboxdelegate.rst new file mode 100644 index 0000000..12e5052 --- /dev/null +++ b/examples/widgets/itemviews/spinboxdelegate/doc/spinboxdelegate.rst @@ -0,0 +1,5 @@ +SpinBox Delegate Example +========================= + +A simple example that shows how a view can use a custom delegate to edit +data obtained from a model. diff --git a/examples/widgets/itemviews/spinboxdelegate/spinboxdelegate.py b/examples/widgets/itemviews/spinboxdelegate/spinboxdelegate.py new file mode 100644 index 0000000..266b8c1 --- /dev/null +++ b/examples/widgets/itemviews/spinboxdelegate/spinboxdelegate.py @@ -0,0 +1,78 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +from PySide6.QtWidgets import (QApplication, QStyledItemDelegate, QSpinBox, + QTableView) +from PySide6.QtGui import QStandardItemModel, Qt +from PySide6.QtCore import QModelIndex + +"""PySide6 port of the widgets/itemviews/spinboxdelegate from Qt v6.x""" + +#! [0] +class SpinBoxDelegate(QStyledItemDelegate): + """A delegate that allows the user to change integer values from the model + using a spin box widget. """ + +#! [0] + def __init__(self, parent=None): + super().__init__(parent) +#! [0] + +#! [1] + def createEditor(self, parent, option, index): + editor = QSpinBox(parent) + editor.setFrame(False) + editor.setMinimum(0) + editor.setMaximum(100) + return editor +#! [1] + +#! [2] + def setEditorData(self, editor, index): + value = index.model().data(index, Qt.EditRole) + editor.setValue(value) +#! [2] + +#! [3] + def setModelData(self, editor, model, index): + editor.interpretText() + value = editor.value() + model.setData(index, value, Qt.EditRole) +#! [3] + +#! [4] + def updateEditorGeometry(self, editor, option, index): + editor.setGeometry(option.rect) +#! [4] + + +#! [main0] +if __name__ == '__main__': + app = QApplication(sys.argv) + + model= QStandardItemModel(4, 2) + tableView = QTableView() + tableView.setModel(model) + + delegate = SpinBoxDelegate() + tableView.setItemDelegate(delegate) +#! [main0] + + tableView.horizontalHeader().setStretchLastSection(True) + +#! [main1] + for row in range(4): + for column in range(2): + index = model.index(row, column, QModelIndex()) + value = (row + 1) * (column + 1) + model.setData(index, value) +#! [main1] //# [main2] +#! [main2] + +#! [main3] + tableView.setWindowTitle("Spin Box Delegate") + tableView.show() + sys.exit(app.exec()) +#! [main3] diff --git a/examples/widgets/itemviews/spinboxdelegate/spinboxdelegate.pyproject b/examples/widgets/itemviews/spinboxdelegate/spinboxdelegate.pyproject new file mode 100644 index 0000000..7061690 --- /dev/null +++ b/examples/widgets/itemviews/spinboxdelegate/spinboxdelegate.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["spinboxdelegate.py"] +} diff --git a/examples/widgets/itemviews/spreadsheet/doc/spreadsheet.png b/examples/widgets/itemviews/spreadsheet/doc/spreadsheet.png new file mode 100644 index 0000000000000000000000000000000000000000..ae7dde24b03d8eb40595de2b48fb162511c56e2d GIT binary patch literal 40187 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 n7BADx%*^EE None: + super().__init__(parent) + + self._tool_bar = QToolBar(self) + self._color_action = QAction() + self._font_action = QAction() + self._first_separator = QAction() + self._cell_sum_action = QAction() + self._cell_add_action = QAction() + self._cell_sub_action = QAction() + self._cell_mul_action = QAction() + self._cell_div_action = QAction() + self._second_separator = QAction() + self._clear_action = QAction() + self._about_spreadsheet = QAction() + self._exit_action = QAction() + + # self._print_action = QAction() + + self._cell_label = QLabel(self._tool_bar) + self._table = QTableWidget(rows, cols, self) + self._formula_input = QLineEdit(self) + + self.addToolBar(self._tool_bar) + + self._cell_label.setMinimumSize(80, 0) + + self._tool_bar.addWidget(self._cell_label) + self._tool_bar.addWidget(self._formula_input) + + self._table.setSizeAdjustPolicy(QTableWidget.SizeAdjustPolicy.AdjustToContents) + for c in range(cols): + character = chr(ord('A') + c) + self._table.setHorizontalHeaderItem(c, QTableWidgetItem(character)) + + self._table.setItemPrototype(self._table.item(rows - 1, cols - 1)) + self._table.setItemDelegate(SpreadSheetDelegate()) + + self.create_actions() + self.update_color(None) + self.setup_menu_bar() + self.setup_contents() + self.setup_context_menu() + self.setCentralWidget(self._table) + + self.statusBar() + self._table.currentItemChanged.connect(self.update_status) + self._table.currentItemChanged.connect(self.update_color) + self._table.currentItemChanged.connect(self.update_line_edit) + self._table.itemChanged.connect(self.update_status) + self._formula_input.returnPressed.connect(self.return_pressed) + self._table.itemChanged.connect(self.update_line_edit) + + self.setWindowTitle("Spreadsheet") + + def create_actions(self) -> None: + self._cell_sum_action = QAction("Sum", self) + self._cell_sum_action.triggered.connect(self.action_sum) + + self._cell_add_action = QAction("&Add", self) + self._cell_add_action.setShortcut(Qt.CTRL | Qt.Key_Plus) + self._cell_add_action.triggered.connect(self.action_add) + + self._cell_sub_action = QAction("&Subtract", self) + self._cell_sub_action.setShortcut(Qt.CTRL | Qt.Key_Minus) + self._cell_sub_action.triggered.connect(self.action_subtract) + + self._cell_mul_action = QAction("&Multiply", self) + self._cell_mul_action.setShortcut(Qt.CTRL | Qt.Key_multiply) + self._cell_mul_action.triggered.connect(self.action_multiply) + + self._cell_div_action = QAction("&Divide", self) + self._cell_div_action.setShortcut(Qt.CTRL | Qt.Key_division) + self._cell_div_action.triggered.connect(self.action_divide) + + self._font_action = QAction("Font...", self) + self._font_action.setShortcut(Qt.CTRL | Qt.Key_F) + self._font_action.triggered.connect(self.select_font) + + self._color_action = QAction(QPixmap(16, 16), "Background &Color...", self) + self._color_action.triggered.connect(self.select_color) + + self._clear_action = QAction("Clear", self) + self._clear_action.setShortcut(Qt.Key_Delete) + self._clear_action.triggered.connect(self.clear) + + self._about_spreadsheet = QAction("About Spreadsheet", self) + self._about_spreadsheet.triggered.connect(self.show_about) + + self._exit_action = QAction("E&xit", self) + self._exit_action.triggered.connect(QCoreApplication.quit) + + self._first_separator = QAction(self) + self._first_separator.setSeparator(True) + + self._second_separator = QAction(self) + self._second_separator.setSeparator(True) + + def setup_menu_bar(self) -> None: + file_menu = self.menuBar().addMenu("&File") + # file_menu.addAction(self._print_action) + file_menu.addAction(self._exit_action) + + cell_menu = self.menuBar().addMenu("&Cell") + cell_menu.addAction(self._cell_add_action) + cell_menu.addAction(self._cell_sub_action) + cell_menu.addAction(self._cell_mul_action) + cell_menu.addAction(self._cell_div_action) + cell_menu.addAction(self._cell_sum_action) + cell_menu.addSeparator() + cell_menu.addAction(self._color_action) + cell_menu.addAction(self._font_action) + + self.menuBar().addSeparator() + + about_menu = self.menuBar().addMenu("&Help") + about_menu.addAction(self._about_spreadsheet) + + @Slot(QTableWidgetItem) + def update_status(self, item: QTableWidgetItem) -> None: + if item and item == self._table.currentItem(): + self.statusBar().showMessage(str(item.data(Qt.StatusTipRole)), 1000) + self._cell_label.setText( + "Cell: ({})".format( + SpreadSheetItem.encode_pos(self._table.row(item), self._table.column(item)) + ) + ) + + @Slot(QTableWidgetItem) + def update_color(self, item: QTableWidgetItem) -> None: + pix = QPixmap(16, 16) + col = QColor() + if item: + col = item.background().color() + if not col.isValid(): + col = self.palette().base().color() + + pt = QPainter(pix) + pt.fillRect(0, 0, 16, 16, col) + + lighter = col.lighter() + pt.setPen(lighter) + light_frame = [QPoint(0, 15), QPoint(0, 0), QPoint(15, 0)] + pt.drawPolyline(light_frame) + + pt.setPen(col.darker()) + darkFrame = [QPoint(1, 15), QPoint(15, 15), QPoint(15, 1)] + pt.drawPolyline(darkFrame) + + pt.end() + + self._color_action.setIcon(pix) + + @Slot(QTableWidgetItem) + def update_line_edit(self, item: QTableWidgetItem) -> None: + if item != self._table.currentItem(): + return + if item: + self._formula_input.setText(str(item.data(Qt.EditRole))) + else: + self._formula_input.clear() + + @Slot() + def return_pressed(self) -> None: + text = self._formula_input.text() + row = self._table.currentRow() + col = self._table.currentColumn() + item = self._table.item(row, col) + if not item: + self._table.setItem(row, col, SpreadSheetItem(text)) + else: + item.setData(Qt.EditRole, text) + self._table.viewport().update() + + @Slot() + def select_color(self) -> None: + item = self._table.currentItem() + col = item.background().color() if item else self._table.palette().base().color() + col = QColorDialog.getColor(col, self) + if not col.isValid(): + return + + selected = self._table.selectedItems() + if not selected: + return + + for i in selected: + if i: + i.setBackground(col) + + self.update_color(self._table.currentItem()) + + @Slot() + def select_font(self) -> None: + selected = self._table.selectedItems() + if not selected: + return + + ok = False + fnt = QFontDialog.getFont(ok, self.font(), self) + + if not ok: + return + for i in selected: + if i: + i.setFont(fnt) + + def run_input_dialog(self, title: str, c1Text: str, c2Text: str, opText: str, + outText: str, cell1: str, cell2: str, outCell: str) -> bool: + rows, cols = [], [] + for c in range(self._table.columnCount()): + cols.append(chr(ord('A') + c)) + for r in range(self._table.rowCount()): + rows.append(str(1 + r)) + + add_dialog = QDialog(self) + add_dialog.setWindowTitle(title) + + group = QGroupBox(title, add_dialog) + group.setMinimumSize(250, 100) + + cell1_label = QLabel(c1Text, group) + cell1_row_input = QComboBox(group) + c1_row, c1_col = SpreadSheetItem.decode_pos(cell1) + cell1_row_input.addItems(rows) + cell1_row_input.setCurrentIndex(c1_row) + + cell1_col_input = QComboBox(group) + cell1_col_input.addItems(cols) + cell1_col_input.setCurrentIndex(c1_col) + + operator_label = QLabel(opText, group) + operator_label.setAlignment(Qt.AlignHCenter) + + cell2_label = QLabel(c2Text, group) + cell2_row_input = QComboBox(group) + c2_row, c2_col = SpreadSheetItem.decode_pos(cell2) + cell2_row_input.addItems(rows) + cell2_row_input.setCurrentIndex(c2_row) + cell2_col_input = QComboBox(group) + cell2_col_input.addItems(cols) + cell2_col_input.setCurrentIndex(c2_col) + + equals_label = QLabel("=", group) + equals_label.setAlignment(Qt.AlignHCenter) + + out_label = QLabel(outText, group) + out_row_input = QComboBox(group) + out_row, out_col = SpreadSheetItem.decode_pos(outCell) + out_row_input.addItems(rows) + out_row_input.setCurrentIndex(out_row) + out_col_input = QComboBox(group) + out_col_input.addItems(cols) + out_col_input.setCurrentIndex(out_col) + + cancel_button = QPushButton("Cancel", add_dialog) + cancel_button.clicked.connect(add_dialog.reject) + + ok_button = QPushButton("OK", add_dialog) + ok_button.setDefault(True) + ok_button.clicked.connect(add_dialog.accept) + + buttons_layout = QHBoxLayout() + buttons_layout.addStretch(1) + buttons_layout.addWidget(ok_button) + buttons_layout.addSpacing(10) + buttons_layout.addWidget(cancel_button) + + dialog_layout = QVBoxLayout(add_dialog) + dialog_layout.addWidget(group) + dialog_layout.addStretch(1) + dialog_layout.addItem(buttons_layout) + + cell1_layout = QHBoxLayout() + cell1_layout.addWidget(cell1_label) + cell1_layout.addSpacing(10) + cell1_layout.addWidget(cell1_col_input) + cell1_layout.addSpacing(10) + cell1_layout.addWidget(cell1_row_input) + + cell2_layout = QHBoxLayout() + cell2_layout.addWidget(cell2_label) + cell2_layout.addSpacing(10) + cell2_layout.addWidget(cell2_col_input) + cell2_layout.addSpacing(10) + cell2_layout.addWidget(cell2_row_input) + + out_layout = QHBoxLayout() + out_layout.addWidget(out_label) + out_layout.addSpacing(10) + out_layout.addWidget(out_col_input) + out_layout.addSpacing(10) + out_layout.addWidget(out_row_input) + + v_layout = QVBoxLayout(group) + v_layout.addItem(cell1_layout) + v_layout.addWidget(operator_label) + v_layout.addItem(cell2_layout) + v_layout.addWidget(equals_label) + v_layout.addStretch(1) + v_layout.addItem(out_layout) + + if add_dialog.exec(): + cell1 = cell1_col_input.currentText() + cell1_row_input.currentText() + cell2 = cell2_col_input.currentText() + cell2_row_input.currentText() + outCell = out_col_input.currentText() + out_row_input.currentText() + return True + + return False + + @Slot() + def action_sum(self) -> None: + row_first = row_last = row_cur = 0 + col_first = col_last = col_cur = 0 + + selected = self._table.selectedItems() + + if selected is not None: + first = selected[0] + last = selected[-1] + row_first = self._table.row(first) + row_last = self._table.row(last) + col_first = self._table.column(first) + col_last = self._table.column(last) + + current = self._table.currentItem() + + if current: + row_cur = self._table.row(current) + col_cur = self._table.column(current) + + cell1 = SpreadSheetItem.encode_pos(row_first, col_first) + cell2 = SpreadSheetItem.encode_pos(row_last, col_last) + out = SpreadSheetItem.encode_pos(row_cur, col_cur) + + if self.run_input_dialog( + "Sum cells", "First cell:", "Last cell:", + f"{(chr(0x03a3))}", "Output to:", + cell1, cell2, out + ): + row, col = SpreadSheetItem.decode_pos(out) + self._table.item(row, col).setText(f"sum {cell1} {cell2}") + + def action_math_helper(self, title: str, op: str) -> None: + cell1 = "C1" + cell2 = "C2" + out = "C3" + + current = self._table.currentItem() + if current: + out = SpreadSheetItem.encode_pos(self._table.currentRow(), self._table.currentColumn()) + + if self.run_input_dialog(title, "Cell 1", "Cell 2", op, "Output to:", cell1, cell2, out): + row, col = SpreadSheetItem.decode_pos(out) + self._table.item(row, col).setText(f"{op} {cell1} {cell2}") + + @Slot() + def action_add(self) -> None: + self.action_math_helper("Addition", "+") + + @Slot() + def action_subtract(self) -> None: + self.action_math_helper("Subtraction", "-") + + @Slot() + def action_multiply(self) -> None: + self.action_math_helper("Multiplication", "*") + + @Slot() + def action_divide(self) -> None: + self.action_math_helper("Division", "/") + + @Slot() + def clear(self) -> None: + selected_items = self._table.selectedItems() + for item in selected_items: + item.setText("") + + def setup_context_menu(self) -> None: + self.addAction(self._cell_add_action) + self.addAction(self._cell_sub_action) + self.addAction(self._cell_mul_action) + self.addAction(self._cell_div_action) + self.addAction(self._cell_sum_action) + self.addAction(self._first_separator) + self.addAction(self._color_action) + self.addAction(self._font_action) + self.addAction(self._second_separator) + self.addAction(self._clear_action) + self.setContextMenuPolicy(Qt.ActionsContextMenu) + + def setup_contents(self) -> None: + title_background = QBrush(Qt.lightGray) + title_font = self._table.font() + title_font.setBold(True) + + # column 0 + self._table.setItem(0, 0, SpreadSheetItem("Item")) + self._table.item(0, 0).setBackground(title_background) + self._table.item(0, 0).setToolTip( + "This column shows the purchased item/service" + ) + self._table.item(0, 0).setFont(title_font) + + self._table.setItem(1, 0, SpreadSheetItem("AirportBus")) + self._table.setItem(2, 0, SpreadSheetItem("Flight (Munich)")) + self._table.setItem(3, 0, SpreadSheetItem("Lunch")) + self._table.setItem(4, 0, SpreadSheetItem("Flight (LA)")) + self._table.setItem(5, 0, SpreadSheetItem("Taxi")) + self._table.setItem(6, 0, SpreadSheetItem("Dinner")) + self._table.setItem(7, 0, SpreadSheetItem("Hotel")) + self._table.setItem(8, 0, SpreadSheetItem("Flight (Oslo)")) + self._table.setItem(9, 0, SpreadSheetItem("Total:")) + + self._table.item(9, 0).setFont(title_font) + self._table.item(9, 0).setBackground(title_background) + + # column 1 + self._table.setItem(0, 1, SpreadSheetItem("Date")) + self._table.item(0, 1).setBackground(title_background) + self._table.item(0, 1).setToolTip( + "This column shows the purchase date, double click to change" + ) + self._table.item(0, 1).setFont(title_font) + + self._table.setItem(1, 1, SpreadSheetItem("15/6/2006")) + self._table.setItem(2, 1, SpreadSheetItem("15/6/2006")) + self._table.setItem(3, 1, SpreadSheetItem("15/6/2006")) + self._table.setItem(4, 1, SpreadSheetItem("21/5/2006")) + self._table.setItem(5, 1, SpreadSheetItem("16/6/2006")) + self._table.setItem(6, 1, SpreadSheetItem("16/6/2006")) + self._table.setItem(7, 1, SpreadSheetItem("16/6/2006")) + self._table.setItem(8, 1, SpreadSheetItem("18/6/2006")) + + self._table.setItem(9, 1, SpreadSheetItem()) + self._table.item(9, 1).setBackground(title_background) + + # column 2 + self._table.setItem(0, 2, SpreadSheetItem("Price")) + self._table.item(0, 2).setBackground(title_background) + self._table.item(0, 2).setToolTip("This column shows the price of the purchase") + self._table.item(0, 2).setFont(title_font) + + self._table.setItem(1, 2, SpreadSheetItem("150")) + self._table.setItem(2, 2, SpreadSheetItem("2350")) + self._table.setItem(3, 2, SpreadSheetItem("-14")) + self._table.setItem(4, 2, SpreadSheetItem("980")) + self._table.setItem(5, 2, SpreadSheetItem("5")) + self._table.setItem(6, 2, SpreadSheetItem("120")) + self._table.setItem(7, 2, SpreadSheetItem("300")) + self._table.setItem(8, 2, SpreadSheetItem("1240")) + + self._table.setItem(9, 2, SpreadSheetItem()) + self._table.item(9, 2).setBackground(Qt.lightGray) + + # column 3 + self._table.setItem(0, 3, SpreadSheetItem("Currency")) + self._table.item(0, 3).setBackground(title_background) + self._table.item(0, 3).setToolTip("This column shows the currency") + self._table.item(0, 3).setFont(title_font) + + self._table.setItem(1, 3, SpreadSheetItem("NOK")) + self._table.setItem(2, 3, SpreadSheetItem("NOK")) + self._table.setItem(3, 3, SpreadSheetItem("EUR")) + self._table.setItem(4, 3, SpreadSheetItem("EUR")) + self._table.setItem(5, 3, SpreadSheetItem("USD")) + self._table.setItem(6, 3, SpreadSheetItem("USD")) + self._table.setItem(7, 3, SpreadSheetItem("USD")) + self._table.setItem(8, 3, SpreadSheetItem("USD")) + + self._table.setItem(9, 3, SpreadSheetItem()) + self._table.item(9, 3).setBackground(Qt.lightGray) + + # column 4 + self._table.setItem(0, 4, SpreadSheetItem("Ex. Rate")) + self._table.item(0, 4).setBackground(title_background) + self._table.item(0, 4).setToolTip("This column shows the exchange rate to NOK") + self._table.item(0, 4).setFont(title_font) + + self._table.setItem(1, 4, SpreadSheetItem("1")) + self._table.setItem(2, 4, SpreadSheetItem("1")) + self._table.setItem(3, 4, SpreadSheetItem("8")) + self._table.setItem(4, 4, SpreadSheetItem("8")) + self._table.setItem(5, 4, SpreadSheetItem("7")) + self._table.setItem(6, 4, SpreadSheetItem("7")) + self._table.setItem(7, 4, SpreadSheetItem("7")) + self._table.setItem(8, 4, SpreadSheetItem("7")) + + self._table.setItem(9, 4, SpreadSheetItem()) + self._table.item(9, 4).setBackground(title_background) + + # column 5 + self._table.setItem(0, 5, SpreadSheetItem("NOK")) + self._table.item(0, 5).setBackground(title_background) + self._table.item(0, 5).setToolTip("This column shows the expenses in NOK") + self._table.item(0, 5).setFont(title_font) + + self._table.setItem(1, 5, SpreadSheetItem("* C2 E2")) + self._table.setItem(2, 5, SpreadSheetItem("* C3 E3")) + self._table.setItem(3, 5, SpreadSheetItem("* C4 E4")) + self._table.setItem(4, 5, SpreadSheetItem("* C5 E5")) + self._table.setItem(5, 5, SpreadSheetItem("* C6 E6")) + self._table.setItem(6, 5, SpreadSheetItem("* C7 E7")) + self._table.setItem(7, 5, SpreadSheetItem("* C8 E8")) + self._table.setItem(8, 5, SpreadSheetItem("* C9 E9")) + + self._table.setItem(9, 5, SpreadSheetItem("sum F2 F9")) + self._table.item(9, 5).setBackground(title_background) + + @Slot() + def show_about(self) -> None: + html_text = ( + "" + "

    This demo shows use of QTableWidget with custom handling for" + " individual cells.

    " + "

    Using a customized table item we make it possible to have dynamic" + " output in different cells. The content that is implemented for this" + " particular demo is:" + "

    G1jk`~<;-2;FB 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 iR@z3k$oWs_uP@K_Xs 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 literal 0 HcmV?d00001 diff --git a/examples/widgets/effects/blurpicker/images/help-browser.png b/examples/widgets/effects/blurpicker/images/help-browser.png new file mode 100644 index 0000000000000000000000000000000000000000..8ef4fae91b4177191209bba60ec9d09cf9fe3b10 GIT binary patch literal 5392 zcmV+r74PbaP)Z*U`uk9YaqDMVlZ9Q1e^dN zo8*uU$!-b>B-#{GfJA4LC2Tk(Ilv~_r3OsN2C+5}Y>2@&wgb3hY|B-$EUQ>g?Y(#3 z%>HrveNV=ejL&%H-8!H7{^mFBN@%V5M}+#O785uNI2{-Zj0Yw;X_a$X7jPKZ@1z~T zMqo`_YqRx_D3|ysf$N)E#sC)qR{@s;#re6hRCPs>s3|Wps>+K*by*QrWkm=9M|%e7 z>K)){&!9fqGm!4=j_ct>Dh9-XzW~nyE8AL|`#-8Oek8#4O)c|*p91Ft#@=}1x(gG?= z3#lk6pt7`px^bnt)dM^Zep z;%%OOc^e~1%Leq~Xuug>%SYFmyqp+UEt$cx3+7Oe7YkpiH1|EZj{6>eO#@E=pKohz z9{JF~^-V2ff#>sb%-Jp9ywtpC(X_zbU|EX)eRT)_)B2{Pra%gTkP%?)Ji^7ak7x4g zP^z`2xFDD7FP_WgXHUm4Wayq3*1b#fJl6-_%k7tg9|BYW&>~ zK4~`ARfk}A?(5=?2UpSF6-P=RREE?Is|+}xnVprZuUjOowG-|9xXNOFc+(OljScq# z@9gX1%Xd6&b@s$}0E^mMn}^;vaD7vY0G`atF|T~&=hvAt>uWqvfS1Cnl{l zcm3fN9$UF3RM;7HRs7;xmzhHFN#OR;pt34l-_&vq@Wj`zJ5zk++QlK*pWOd4ul#+V zZNgG|rtId05Pq7?afQq}9Gs?$#!)z;uGSi@?7UK%b3b0kw{JKzWGW9l{RVeG^r{Ay zwY4@ce@}($n_9*J4>g@VgPX5i6gv07GaEy&h7_J6-m!p6ax@h~N*Yd-nBM)ysQ37m zBv}3TeLTG4?NHPB($x#Na>*=!ha8qr$n50cr^SVN<`2Jgz7T<~=f(BAd2Hq85Ui(g zFpacfDFp?2F&f5~Q&pPJn8G~96y{PfCXbsbwax zQ=tg+nk>4n^S{bI^X3No62 zl*0e*yx&SI?tbKTthDmXd)b9^nNVA*fL{gyJ>dGLmQMhe-16D8&D@x8>3@D@2OZt< z3{^c7HUg<(pU;Vz#0*GVNs`GVN-4C~S^8$zf%$o@6nUnmaZ)*7yzFD-=f)y!R|d)< zy^224Gr-DqyIq~gi5YzR#&b;I5{E5A;qN!r*QiU+n&GKCG@Rn0=ifpK>9tG04M&v? ztKhYn095eUXwka{MdPG$KD~4%rfGQZGXjb%)f!?_Nlr|_kKaqj%d-o?WsDV}M%#ci|F80mWh?;Y_On>>?E>f2A zR9^D&1^~lh^tz?1r%kL<6KhKiSD81q9U^6=?H2?G6QO~IU%N(BVFy$p=^ae5>7Apr z9~+>vcaUSphbbw{Wm0Vk=ggZxUF{gaZsXB`kZB0UR~BPPi4e9|wsmq+4O%KdptWEm zm1gtqPChKjbbx2Fp$t+?TWMsm$eSO6)o6*eS9VNsw38vA|r z5L~f-+hGsbZp+h+9eX=3t8Z$_F@dE(!O{i3IV+`kW7{DgG^lJ~U=gf_0|hT_ph1CstBin3s$X zj?9(7xSEP0e;5huIn?7T8&a20dlo^H7MW`MeRXgqCA`7Jd8bZfW?eaW(?B0qYkO2@ zr4=3B1CicfG{54D)7IYWJxd4}TUjiCaS|9?U0xJwzdilKne$m0{w*WQir`=%)L)B? zQIcs&&Y3%&v*(N>*A(8sBp3mtVbXqVkmG~NNY@wfC(-grLEk_kWGOWj#Rf3e1SVCL z70F<~+0#Glw6$!51hQ7bs9jgYo10Q{$)Y;u)mM-cfQ<&jH0e5?;F&dh?8Tx&2g1u+HRZ)p2r);aDdLcySls(t#y?NSV=3L69kT#rf1>8`{xXbPQtu}3ma(T z(@!bm6LZI53Pn1tLKW-+n`VsoNSYTm9b!*MKZbO@vEStcJ+c;dRPK9m%LFkqYlxxO=3B`(y2ibe1 zKdUzmS8O&P;|o+;oEKv1>Kz0jIwf%MXwN_xxHum?Roy3tUl4*0T$>T4AjdSQEicIG zjooQuN=a62?%;6ukiVc1th5Z+sHKI=R$3GW?(7}_^g$Ci(A7KWj@3d6djop{i|5|& zz`0N*WP(?f6_6W~SXMH-M>Y(422$+n8nlOy&fvl|Vb^*TZrx|MHh)D*Q06Ht0L{^! zxYC*fCeVJgJ8l79J1#HD_X-o7p$ebSt5qU3Ocn+5V+Mv07_pe=sDeRC$+7s5-DaIO z>N=lnj?;gHZ(ZImrxHAqws|>XGq#&R`;qPek+RZWL!aGHlNHcCkWmQ{^@INl1l{oj zTlV*1NRZNS+O@Bg1`c%(A%#RsjnZMzj53JeyQ0F_d3RU|*rPRjo3-5p)+AF_Y}59` zESftJfQhvwjIAst>da0m1Wema2S-x8vZVvlU5GdQWmqZgmSkCJN4cxSL6E-=8tS>t)`wOuFAd4h8_W%*ov zW&?(FttMcG!d`&ic__|?U0o-9&dI*qof^7f)rLI?A&%^Q?z@{@N45OLweO~a{$%0o z3I1l!Nd)gwXJ5#T8pw;8Q7tU&^ww;%|DDD%53Ui{oyU*)-=2R->Ma#0h zyiy8{v(6mYUh%hD{4!{_BDKz16;-7L)CYDK-`RhR_M^vR*k1&Bz^?%DRU7wu7aCG< z{Y7)b4-M34_Ja6%?POfRgHu3vF+JQL+iO_bS+CCMuLD&Xt=izZE6TwdQyW4M zcNlG8=OeJEo_z7`)Nmr@Jz(kldM4JEcm)nAm*uF<9Dvezn_xuF1%HFRqpy@A9oQ_( zHc0U|*)o4ms48ah?C~D#NFv4K|MzA}Yo2mHbPKLa-*L2iKs?;~mUlo3!RIcSmqj^0 zpYc1gr|a(cWrL2!bXqw(68_eT(tZWFc|FSeuQ|6d)XzV*ax+Jc^$Xw*kIBunwKnes z?!Eu1wW;3zVeh7o<`DK#EMw1#y+#UNa8KS+_OOjK>9HEE?h=(GbKQaVF*|Cx<- z70hX<^2*&8AK^EDdMyRq>#&7^op9&CP%`nmkaqH>A-L_jg-oa__J9v|9_Ny;KA5)Bs=2MTIkcIU4LDZ_ z-kCMIcEUq7crfiKlIF zH?NfDpRbt5yeZY*Ge!~?pS%4}=`FiD4r#5Yx3xBhmOe7R0BCD%PH0Wj*4;-&zJK3J zts;Yw8!xuIstjl1m|C!qO4+7qD-vj<>3~YvqG!q~5dEg2mA!y)-T93nSgkcb`rV6q z%dYkjt#wlrHY>0Ly$x9Q{NHx)+vV&06B;gFJcZkCSVUfq>9wUGw5^QF1dli*7v6HB z3#&pV>r|2ox99vEldpa1G|rkkAyn=Mp54fwS8YXWmN^U=;k~}o`WEoZd%km(xOnjt z=MLKlJC4Qq)#Go_)i)Gcf*ox~G4pdKz}bCp8=rRi7v-3Bw%z{fvI4$*#mA@&Okp+f z*A094m%E(KVjguh%P+_`LEg~Ba)5ZLSLv}V?%3NAZi zGUF=4%gHHAarYyy@%v}ifmZh=`#Wwqyyo82hXNM%&?PqUg4=JBvHbr$>$C>>AKz+{ zC6P5FfOik}(E9prb{*_NLw4A}Vq0`tXBWi=mI9`XFXO@mbxa;tn(?l_fe~)|)${7r zO?$L8+_FJOyOUe*e$G13 z-aRzXvGwMzHy>RWfK35OC#G}+a8zIiHa7?iO7rE*+#i3DgrdR(=4^{K9&L77(CsSRyegWWrZd)hX|_pjZQ?C0z1&zl#WGW4))hTZW?n^)5t9@C>%Sd&de{ZFmj8_Wlmwa5i2N_vHUUs zl^X6#r-u5{iGkkqNPnL-+}k_Ux$QtYF))n%2U?aBQ-L&?kAl1TVQgpRDSJ}D5pcKd z24T%eJ{XNaDg#lFIfi#vj+7JAfz*n?X9Ev{CPwRnPZ~G?F7Z{3IWR7)3+U$EI2vqZ zoRtCX0taId-UW6YRz{!up@Bm;+9NO-fDVFZgLQ$UyCg0!0nlt}N6k2WA|*#H_Xh>e u`Y<7aKvCGJ%98A=MxmYQ_xp#-7XBZJ!^5(M6D_C!0000$HU zt*V4TNd03%3{|RB@uH!X!8FbPZPKc&qXfFDQW8)*Aq2|8G!|M|pwZ}{TPCWACTcZW z0UDGfM8t01?6ZA$&;B@{bFt5f@rnbV1IK~(mX?-+poH5HBauiG&MR~N&>!&`tifFn+66*mou zL?SDIm+R{4*s^5{p->1R1X4;2!$3+|wZY@@@aUtDvVHq@>vFaix=yz}@p}NPSFgt7 z@gSu{Rn?N4n^Qiw;(R_Ip-_l$IE>%#CzVQlzmQ$7dLmE*uwumufUNhGqDle;NT<_T zj|>C?0KP)Dxed{*L@}#*Pypt}S@suFMIbIlOAW9XRW-y10U%Unic^w`nfom@JWEvv z@j>xEyQ-==R};VovQMlgSPS*as(@Hcuu6ftMi;sWw+EkMwPX;h$*Ug7KCzm> zxH?aaL?Qv;SHR1_cPMQmH30DO#~<^_C!dsLV9^x?0<2oKij5mL($LV5cizor?Fcav ziG+cF0?z;lA@F!S3ohJ}uIuQ!UUL5VWEck1)6+zwQLbOV&epA4dHnImv*(v;vV9nM z=7}esVB5BB)YQ~e{YGjck>J|3Yjk&abMD+ZUVr^{YxiZAD$*xLB9R*4r+&YmS6_WK zyA!>b4NkWMn2#McY}mlF&pyla^fWha+^7gZaQ4JCfcLS-9>eSPBBdmeNGzz(g{stx zv%U)<2nK`rd_LB!Swnw+Kcl0gJoVI5i>{*>IgQRW08LFzfZ5-;DJL++#@Uaphf3ja z7=TnNRj`hQ#1*50qqEhYxHX!VI>{~+XWi`FzPl1ror+Jk7u$5_i?g3A=Za=7RTSb< zF4HPLPb{~}-E@nIbEBL>auuT6P1o(Rij`{+s}+nJP|FUn8a%C7+ZGB>2oaD{CUfJ< z2C-Vas+_ht$S;IQODShfp34HUTAOY;^5@70_yN@(xhRO$&~)dUE0!7uGZS~)c~2(H zQb`c2q3OCktr0??C<=yQkWQxoB<3<%2qA>DWn3`CYVb6te7SLfK!C=^Mx>NXOibkM z0r>rXYHMrr%C_Y7nrIS<1gff{>-r7Mjp@8S!J;8ngQqRTlN3eCf~c>rXMB7-n^sDR z-|xrgEBK-p0P%R7o}M1-_yVRkN|{q>Q4q`NF>dCw>#MK6;?${Ayzu zvxi_Xh+!B^O-*IJG@VY<-`}5?*OFlvlarH^fBEpk4_oiuyB7yEAeEc0AjJ8MuU4Rz zrlzKPgb<#)ckllA0|FJJzn5W>)P-7ADJG)+^# z_~MHpAc;ApNdYM-rIuUQyq@UPX;*`%6>*a%jvYJpyPZ3CwtV^Jmz&z!+Ia1?*9ZoK z)YsPo=HLQm|9S1&wHugyo(HqZ>OdM3UNRFLxA+(I+_@0YV!XDJ`2Z9}(N$GV96fq; ze-wK#v6y)0op-o!;Q|02kLUTl zd-v{P#skw=xMIVP0$YxTB-vUk48!{K+@pe6vB*wBwjf-`mj8 z@TV7Fe6cQ*Ud$JS5cv=@l@~p&SZbh!WEh6!g|j>;CnzUQoVfn>+i$-yI5_xBDwXZt}#D;A!m3`8Gudlc5^M<0DO+S=OsW^ZrrcQsAx z-??+=+G6XhauU@^{QQ$nb z&#Z~|6^jS(rqgN1RgBwU7VCKq<=MSWVP>=~1ZKW~LwZ9>X?kMD3q62G*L4M8dV1Qd zT~R9TX{7+P-k;2Dpym~cxs0=ptpTjmYtT@Sskxue0+Rt`SRu5ym=ETC0?(W z+S=Oe3qwv9sA<})mpG-A_r5xb<8gFd&qA>F?)s#kh@dw)GRI5@=2HkO+Cbm|uueIqSTv|QeDd!xO*y{);q z`R}V&uYNul46d>-7lXlIQz#VLWPc~nF9I0%@8AE$@#Dw;=BD8} zvicgy3_Pnjr{o+Ps^w4?qRksEU@~)F#{_EtG&eUl1_FUiUayzBx;iE%Civik4;UF4 zK}tCmi^UEcJ9g}xn?^gxYAMz<#&QV92TSGFtSOF^(hx$VnCTxafZ0*yg%@7Q&LLze#T|5yik8Dgs|_!2|(`K zw{J@@82qz6os{xcDwT>HK76>6%{Nzh&DqU?B(L&f>JmbT0|yQ)_xXH-z_LvA=TgeI z?%cW4b@JrNirn$}R7r4l75%Sukw~N)*aBPzT3T9K&bw*YgQWihw|;3tluDOr00000 LNkvXXu0mjfdhlRI literal 0 HcmV?d00001 diff --git a/examples/widgets/effects/blurpicker/images/internet-mail.png b/examples/widgets/effects/blurpicker/images/internet-mail.png new file mode 100644 index 0000000000000000000000000000000000000000..7e6b93be83f9411b7b32451503afe120e0a883dd GIT binary patch literal 3899 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 QUH||907*qoM6N<$f}?!61ONa4 literal 0 HcmV?d00001 diff --git a/examples/widgets/effects/blurpicker/images/system-users.png b/examples/widgets/effects/blurpicker/images/system-users.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f630a5bd2c021bcb0c42ba6031e7a5dcca49fa GIT binary patch literal 5353 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 Mouse.TWO_PI: + angle -= Mouse.TWO_PI + return angle + + def boundingRect(self): + return Mouse.BOUNDING_RECT + + def shape(self): + path = QPainterPath() + path.addRect(-10, -20, 20, 40) + return path + + def paint(self, painter, option, widget): + # Body. + painter.setBrush(self.color) + painter.drawEllipse(-10, -20, 20, 40) + + # Eyes. + painter.setBrush(Qt.white) + painter.drawEllipse(-10, -17, 8, 8) + painter.drawEllipse(2, -17, 8, 8) + + # Nose. + painter.setBrush(Qt.black) + painter.drawEllipse(QRectF(-2, -22, 4, 4)) + + # Pupils. + painter.drawEllipse(QRectF(-8.0 + self._mouse_eye_direction, -17, 4, 4)) + painter.drawEllipse(QRectF(4.0 + self._mouse_eye_direction, -17, 4, 4)) + + # Ears. + if self.scene().collidingItems(self): + painter.setBrush(Qt.red) + else: + painter.setBrush(Qt.darkYellow) + + painter.drawEllipse(-17, -12, 16, 16) + painter.drawEllipse(1, -12, 16, 16) + + # Tail. + path = QPainterPath(QPointF(0, 20)) + path.cubicTo(-5, 22, -5, 22, 0, 25) + path.cubicTo(5, 27, 5, 32, 0, 30) + path.cubicTo(-5, 32, -5, 42, 0, 35) + painter.setBrush(Qt.NoBrush) + painter.drawPath(path) + + def advance(self, phase): + if not phase: + return + # Don't move too far away. + line_to_center = QLineF(QPointF(0, 0), self.mapFromScene(0, 0)) + if line_to_center.length() > 150: + angle_to_center = math.acos(line_to_center.dx() / line_to_center.length()) + if line_to_center.dy() < 0: + angle_to_center = Mouse.TWO_PI - angle_to_center + angle_to_center = Mouse.normalize_angle((Mouse.PI - angle_to_center) + Mouse.PI / 2) + + if angle_to_center < Mouse.PI and angle_to_center > Mouse.PI / 4: + # Rotate left. + self.angle += [-0.25, 0.25][self.angle < -Mouse.PI / 2] + elif angle_to_center >= Mouse.PI and angle_to_center < (Mouse.PI + Mouse.PI / 2 + Mouse.PI / 4): + # Rotate right. + self.angle += [-0.25, 0.25][self.angle < Mouse.PI / 2] + elif math.sin(self.angle) < 0: + self.angle += 0.25 + elif math.sin(self.angle) > 0: + self.angle -= 0.25 + + # Try not to crash with any other mice. + danger_mice = self.scene().items(QPolygonF([self.mapToScene(0, 0), + self.mapToScene(-30, -50), + self.mapToScene(30, -50)])) + + for item in danger_mice: + if item is self: + continue + + line_to_mouse = QLineF(QPointF(0, 0), self.mapFromItem(item, 0, 0)) + angle_to_mouse = math.acos(line_to_mouse.dx() / line_to_mouse.length()) + if line_to_mouse.dy() < 0: + angle_to_mouse = Mouse.TWO_PI - angle_to_mouse + angle_to_mouse = Mouse.normalize_angle((Mouse.PI - angle_to_mouse) + Mouse.PI / 2) + + if angle_to_mouse >= 0 and angle_to_mouse < Mouse.PI / 2: + # Rotate right. + self.angle += 0.5 + elif angle_to_mouse <= Mouse.TWO_PI and angle_to_mouse > (Mouse.TWO_PI - Mouse.PI / 2): + # Rotate left. + self.angle -= 0.5 + + # Add some random movement. + if len(danger_mice) > 1 and random(10) == 0: + if random(2) != 0: + self.angle += random(100) / 500.0 + else: + self.angle -= random(100) / 500.0 + + self.speed += (-50 + random(100)) / 100.0 + + dx = math.sin(self.angle) * 10 + + self._mouse_eye_direction = [dx / 5, 0.0][abs(dx / 5) < 1] + + self.setRotation(self.rotation() + dx) + self.setPos(self.mapToParent(0, -(3 + math.sin(self.speed) * 3))) + + +if __name__ == '__main__': + MOUSE_COUNT = 7 + app = QApplication(sys.argv) + + scene = QGraphicsScene() + scene.setSceneRect(-300, -300, 600, 600) + scene.setItemIndexMethod(QGraphicsScene.NoIndex) + + for i in range(MOUSE_COUNT): + mouse = Mouse() + mouse.setPos(math.sin((i * 6.28) / MOUSE_COUNT) * 200, + math.cos((i * 6.28) / MOUSE_COUNT) * 200) + scene.addItem(mouse) + + view = QGraphicsView(scene) + view.setRenderHint(QPainter.Antialiasing) + view.setBackgroundBrush(QBrush(QPixmap(':/images/cheese.jpg'))) + view.setCacheMode(QGraphicsView.CacheBackground) + view.setViewportUpdateMode(QGraphicsView.BoundingRectViewportUpdate) + view.setDragMode(QGraphicsView.ScrollHandDrag) + view.setWindowTitle("Colliding Mice") + view.resize(400, 300) + view.show() + + timer = QTimer() + timer.timeout.connect(scene.advance) + timer.start(1000 / 33) + sys.exit(app.exec()) diff --git a/examples/widgets/graphicsview/collidingmice/collidingmice.pyproject b/examples/widgets/graphicsview/collidingmice/collidingmice.pyproject new file mode 100644 index 0000000..621bfd6 --- /dev/null +++ b/examples/widgets/graphicsview/collidingmice/collidingmice.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["collidingmice.py"] +} diff --git a/examples/widgets/graphicsview/collidingmice/mice_rc.py b/examples/widgets/graphicsview/collidingmice/mice_rc.py new file mode 100644 index 0000000..e2a22b2 --- /dev/null +++ b/examples/widgets/graphicsview/collidingmice/mice_rc.py @@ -0,0 +1,232 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +# Resource object code +# +# Created: Fri Jul 30 17:52:15 2010 +# by: The Resource Compiler for PySide (Qt v4.6.2) +# +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00\x0b\xd5\ +\xff\ +\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x02\x01\x00\x48\x00\ +\x48\x00\x00\xff\xee\x00\x0e\x41\x64\x6f\x62\x65\x00\x64\x40\x00\ +\x00\x00\x01\xff\xdb\x00\x84\x00\x02\x02\x02\x02\x02\x02\x02\x02\ +\x02\x02\x03\x02\x02\x02\x03\x04\x03\x02\x02\x03\x04\x05\x04\x04\ +\x04\x04\x04\x05\x06\x05\x05\x05\x05\x05\x05\x06\x06\x07\x07\x08\ +\x07\x07\x06\x09\x09\x0a\x0a\x09\x09\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x01\x03\x03\x03\x05\x04\x05\x09\ +\x06\x06\x09\x0d\x0a\x09\x0a\x0d\x0f\x0e\x0e\x0e\x0e\x0f\x0f\x0c\ +\x0c\x0c\x0c\x0c\x0f\x0f\x0c\x0c\x0c\x0c\x0c\x0c\x0f\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\ +\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\xff\xc0\x00\x11\x08\x00\x5e\ +\x00\x5e\x03\x01\x11\x00\x02\x11\x01\x03\x11\x01\xff\xdd\x00\x04\ +\x00\x0c\xff\xc4\x01\xa2\x00\x00\x00\x07\x01\x01\x01\x01\x01\x00\ +\x00\x00\x00\x00\x00\x00\x00\x04\x05\x03\x02\x06\x01\x00\x07\x08\ +\x09\x0a\x0b\x01\x00\x02\x02\x03\x01\x01\x01\x01\x01\x00\x00\x00\ +\x00\x00\x00\x00\x01\x00\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\ +\x10\x00\x02\x01\x03\x03\x02\x04\x02\x06\x07\x03\x04\x02\x06\x02\ +\x73\x01\x02\x03\x11\x04\x00\x05\x21\x12\x31\x41\x51\x06\x13\x61\ +\x22\x71\x81\x14\x32\x91\xa1\x07\x15\xb1\x42\x23\xc1\x52\xd1\xe1\ +\x33\x16\x62\xf0\x24\x72\x82\xf1\x25\x43\x34\x53\x92\xa2\xb2\x63\ +\x73\xc2\x35\x44\x27\x93\xa3\xb3\x36\x17\x54\x64\x74\xc3\xd2\xe2\ +\x08\x26\x83\x09\x0a\x18\x19\x84\x94\x45\x46\xa4\xb4\x56\xd3\x55\ +\x28\x1a\xf2\xe3\xf3\xc4\xd4\xe4\xf4\x65\x75\x85\x95\xa5\xb5\xc5\ +\xd5\xe5\xf5\x66\x76\x86\x96\xa6\xb6\xc6\xd6\xe6\xf6\x37\x47\x57\ +\x67\x77\x87\x97\xa7\xb7\xc7\xd7\xe7\xf7\x38\x48\x58\x68\x78\x88\ +\x98\xa8\xb8\xc8\xd8\xe8\xf8\x29\x39\x49\x59\x69\x79\x89\x99\xa9\ +\xb9\xc9\xd9\xe9\xf9\x2a\x3a\x4a\x5a\x6a\x7a\x8a\x9a\xaa\xba\xca\ +\xda\xea\xfa\x11\x00\x02\x02\x01\x02\x03\x05\x05\x04\x05\x06\x04\ +\x08\x03\x03\x6d\x01\x00\x02\x11\x03\x04\x21\x12\x31\x41\x05\x51\ +\x13\x61\x22\x06\x71\x81\x91\x32\xa1\xb1\xf0\x14\xc1\xd1\xe1\x23\ +\x42\x15\x52\x62\x72\xf1\x33\x24\x34\x43\x82\x16\x92\x53\x25\xa2\ +\x63\xb2\xc2\x07\x73\xd2\x35\xe2\x44\x83\x17\x54\x93\x08\x09\x0a\ +\x18\x19\x26\x36\x45\x1a\x27\x64\x74\x55\x37\xf2\xa3\xb3\xc3\x28\ +\x29\xd3\xe3\xf3\x84\x94\xa4\xb4\xc4\xd4\xe4\xf4\x65\x75\x85\x95\ +\xa5\xb5\xc5\xd5\xe5\xf5\x46\x56\x66\x76\x86\x96\xa6\xb6\xc6\xd6\ +\xe6\xf6\x47\x57\x67\x77\x87\x97\xa7\xb7\xc7\xd7\xe7\xf7\x38\x48\ +\x58\x68\x78\x88\x98\xa8\xb8\xc8\xd8\xe8\xf8\x39\x49\x59\x69\x79\ +\x89\x99\xa9\xb9\xc9\xd9\xe9\xf9\x2a\x3a\x4a\x5a\x6a\x7a\x8a\x9a\ +\xaa\xba\xca\xda\xea\xfa\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\ +\x11\x00\x3f\x00\xfb\x41\xd3\x6f\xa2\x87\xc7\x3c\x37\x89\xe9\xd4\ +\xe9\xe2\x6b\x90\x29\x6e\xa3\x72\x4d\x0d\x0f\x8f\xf0\xc8\x82\xa5\ +\xb2\x41\x5a\x86\xfa\x46\xf9\x22\x37\x50\xa6\x63\xe5\xe2\x76\xf9\ +\x60\xe4\x95\xc1\x48\xd8\x74\x3d\x46\x0b\x56\xa4\x9a\x18\x14\x31\ +\x60\xa4\xec\x6b\xe3\x92\x1b\xa0\xac\x49\x92\x51\x1b\x02\xad\xc8\ +\x91\xb7\xea\xc2\x84\x34\xaf\xc5\x8e\xfb\x77\xc9\x81\x6c\x49\x62\ +\x3a\xaf\x9e\x3c\xbf\xa3\xcc\x6d\xee\xef\x2b\x38\x34\x68\x61\x1e\ +\xa3\x03\xfe\x55\x36\x1f\x7e\x3c\x51\x09\x11\x94\x91\xfa\x47\x9a\ +\xb4\x9d\x6e\xa9\x61\x75\xce\x50\x2a\x60\x70\x51\xe9\xec\x0f\x5f\ +\xa3\x11\x38\xc8\xd2\x0c\x65\x16\x48\x25\x3c\x5b\x7f\x0c\x4c\x37\ +\x5e\x2d\x9f\xff\xd0\xfb\x3a\xfb\x0a\xee\x4d\x6b\x4c\xf0\xb0\x1e\ +\xa1\x6f\x2d\xfa\x6e\x71\x21\x34\xb8\x11\x5e\x9b\xe4\x50\xd3\x53\ +\xa7\x8e\xe7\x25\x6a\xda\xd0\xee\x48\x03\xc7\x04\x95\x4e\x59\x12\ +\x15\x2e\xce\x02\x81\x52\x7e\x59\x00\x2d\x2f\x9c\xbf\x36\xbc\xc7\ +\xa8\x98\xa5\x5d\x1f\xce\x9a\x7e\x8f\x67\x14\x6c\xb7\x36\xf1\xd5\ +\xef\x5d\xc8\x20\x08\xe8\x0f\x1a\xd7\xae\xc4\x65\xb8\xf2\x00\x6a\ +\x89\xfb\x99\xc6\x16\x37\x67\x9f\x93\xcf\xa8\xdc\xf9\x2a\xda\xe2\ +\xfe\x49\xa6\x9d\xee\x65\x58\xee\x2e\x09\x77\x68\xd4\x2d\x0d\x4e\ +\xf5\xa9\x3d\x72\x73\x02\xb8\xbb\xda\xe5\xb4\xa9\x96\xf9\xa2\x6b\ +\x8b\x2d\x12\xfa\xea\xdc\x11\x3d\x38\x44\x47\x50\x5b\x6a\xfd\x19\ +\x5c\xe5\x51\xd9\x61\x1e\x29\x51\x7c\xdf\x17\x97\xda\xf2\x43\x35\ +\xc2\x16\x66\x35\x24\xd4\xd0\x93\x95\x44\x97\x22\x42\x99\x5e\x9b\ +\xa3\x5c\xe9\x77\x56\xd7\x56\xfc\x97\x83\x06\x53\x4e\x84\x65\x73\ +\xca\x8e\x0b\x7b\xbf\xac\x46\x9e\x2f\x3d\x3d\xcc\x3e\xa7\xa7\xef\ +\x4e\x9f\x7e\x65\xf8\x9e\x9e\x2f\x27\x13\x87\x7a\x7f\xff\xd1\xfb\ +\x3f\x4a\xed\xd4\xf6\xcf\x0b\xa7\xa8\x51\x79\x15\x3f\xd6\x3d\xb0\ +\x88\x71\x2d\xd2\x81\x9a\x84\x16\x6a\x7b\x64\xbc\x26\x06\x61\xc6\ +\x70\x4a\x91\x4a\x74\x22\x98\xf8\x74\x8e\x30\x55\xd4\x87\x07\x6e\ +\xdb\x8c\x8f\x0b\x3b\x40\xde\xda\x0b\x88\x9a\x16\x62\x12\x4a\x83\ +\xc4\xd1\xa8\x7c\x0e\xf9\x20\x05\xee\xac\x15\xbf\x2b\x7c\xb5\x3d\ +\xe0\xbb\x9e\x59\x1b\xe2\xe4\xc8\x62\x42\xff\x00\x21\x25\x4f\xdf\ +\xc7\x2c\x88\xc5\xd6\xfd\xcc\xbc\x49\x8e\x54\xf4\x6b\x2b\x5b\x2d\ +\x3a\xd6\x1b\x2b\x0b\x65\xb6\xb4\x80\x11\x1c\x29\xfe\x51\xab\x13\ +\xee\x4e\xe7\x21\x96\x7c\x67\x95\x00\xc0\x0e\xa7\x9a\xdd\x4e\xca\ +\x3d\x4e\xc2\xe6\xcd\xb6\x12\x80\x50\x9e\xcc\x37\x15\xca\xc4\x44\ +\xbd\x27\xab\x21\x23\x13\x61\x85\x69\xbe\x5c\x92\xdd\xbd\x3b\x8b\ +\x76\x4a\x1d\xd5\xc6\xff\x00\xdb\x98\xd9\x23\x2c\x47\x84\xb9\x3c\ +\x42\x7b\xb2\xdf\xd0\x29\x38\x58\x91\x15\x55\x57\x76\x3f\x65\x47\ +\x72\x4f\xb6\x47\x06\x9a\x59\x32\xd0\x3b\x75\x3d\xc1\xae\x79\xc4\ +\x42\x61\xe9\xdb\x95\x16\xf4\xff\x00\x47\x54\xf4\xf9\x53\xf6\x69\ +\xc7\x95\x3f\x1c\xd8\xdc\x38\xab\xf8\x7f\x43\x8b\x52\xab\xea\xff\ +\x00\xff\xd2\xfb\x3e\x0f\x2d\x80\xa9\xcf\x0a\xb7\xa8\x4a\x2f\xe7\ +\x8e\xda\x39\xee\x66\x71\x1c\x50\x21\x79\x1c\xf4\x01\x45\x49\x39\ +\x7c\x48\x02\xcb\x59\xb2\x68\x3e\x52\xf3\x27\xe6\x7f\x9a\xf5\x4b\ +\xe9\x62\xd0\x49\xd3\x6c\x51\x88\x8d\xd2\x9e\xab\x81\xdd\x9c\x83\ +\xd7\xc0\x65\x3e\x29\x9f\x5a\x72\x23\x86\x31\xe7\xba\x71\xe5\x5f\ +\x3e\x79\xa2\xd6\xee\x08\xf5\x8b\x87\xbe\xb5\x94\x81\x22\x4c\x01\ +\x60\x0f\x52\xac\x05\x76\xf7\xc8\x1c\x86\x06\xed\x12\xc4\x25\xc8\ +\x53\xe9\x9b\x49\x96\x45\x8a\x68\xdb\x9c\x52\x85\x64\x61\xd0\xa9\ +\x1b\x66\x41\x20\x8b\x0e\x3c\x6c\x1a\x4c\x4d\x08\x3b\x74\x39\x53\ +\x6a\xd0\xb4\xad\x0d\x3d\xb0\x5a\xb7\xb8\x20\x56\x83\x1b\x55\xe2\ +\x4e\x3d\x45\x6a\x30\x91\x6a\xa1\x15\xed\xd4\x44\x8a\x2c\xb1\x8f\ +\xb0\x8e\xa1\xa9\xf2\xae\xf9\x31\x9a\x63\x6d\x8f\xbc\x02\xd6\x60\ +\x3d\xcb\xa4\xbc\xbc\xb9\xf8\x5d\xb8\x45\xfc\x8a\x02\x83\xf3\x00\ +\x63\x3c\xb2\x90\xa3\xb0\xee\x00\x01\xf6\x2c\x71\x81\xc9\xc6\x36\ +\xe2\x14\x1d\x89\xf8\xbe\xef\xeb\x95\x58\x6c\xa7\xff\xd3\xfb\x3c\ +\xa4\x0e\x9b\x30\xf0\xcf\x07\xb7\xa9\x48\xfc\xc9\x66\xf7\xbe\x5f\ +\xd6\xe0\x88\x16\x96\x58\x1b\x8a\x8e\xa4\x0a\x13\xf8\x64\xc8\x33\ +\x89\x01\x61\xb4\xc1\x2f\x9e\x34\x6f\x29\x2b\x86\x01\x0a\x90\x76\ +\x04\x6f\x53\x98\xd0\x90\xe4\x79\xb9\x99\x3c\x99\xef\xf8\x20\x08\ +\x22\x67\x00\x48\xa7\x96\xc3\x31\x67\x9a\xe7\xc3\xd1\x63\x10\x05\ +\xbd\x3f\x46\xb2\x7b\x4d\x26\xc6\x19\x3e\xd8\x5a\xa8\x3d\x81\x35\ +\x19\xb5\x84\x0c\x31\x80\x7b\x9d\x7c\x88\x33\x34\x9b\x00\x6a\x7a\ +\xef\x4e\x4d\xef\xed\x90\x3c\x99\x86\xb8\x35\x09\x00\x91\x5a\x57\ +\xb7\xcb\x10\x0f\x35\xb5\x8c\xac\x0d\x6b\x81\x2d\xa9\xad\x01\xf0\ +\x39\x24\x2e\xe3\x4e\x84\x0f\x0e\xf8\x15\x7d\x48\x1e\x07\x25\x41\ +\x5d\xc8\xd4\xf8\xf8\xd7\x23\x4a\xff\x00\xff\xd4\xfb\x43\xc9\x29\ +\xd8\x1c\xf0\x7a\x7a\x85\x1e\x7f\x1f\x7a\x74\x20\xf4\xc9\xc4\xf0\ +\x9b\x1c\xd4\x8b\x4b\xad\xb4\x7d\x14\x4e\xed\x0c\xbf\x55\x94\xb1\ +\x66\x8e\x5a\x94\xff\x00\x60\xc0\x7e\x07\x27\x9b\x06\x3c\xfb\xc6\ +\x5c\x27\xb8\xdd\x7c\x08\xfd\x2b\x1c\xd2\x86\xc4\x5a\x7f\x27\xe8\ +\xab\x60\xbe\xa4\xab\x78\xca\x28\x21\x8c\x1a\x13\xdb\x93\x35\x36\ +\xc4\x69\xf1\x42\x62\x52\x90\xc9\x5d\x22\x0e\xfe\xf2\x40\x6a\xf1\ +\x72\x4f\x90\xaf\x34\x2a\xb3\xdc\xb9\x9d\xf8\xaa\xb1\x3c\x40\xd8\ +\x7c\x80\xf0\x18\x72\xe4\x96\x42\x65\x2e\x65\x94\x00\x88\xa0\xaa\ +\x40\x3f\x3e\x94\xca\x3a\x33\x73\x31\x20\x06\xdc\x2e\xca\xb5\xfd\ +\x58\x6c\xf5\x45\x21\xdc\x6f\xb0\x26\xa7\x14\xac\x0a\x7a\xd7\xe5\ +\x8a\x55\x14\x13\xd0\xf6\xeb\x8d\xa1\x7d\x09\x34\x1d\xf0\xda\xb8\ +\xc4\x79\xaa\x72\x52\x4f\x5d\xf6\x1f\x4f\x4c\x3c\x3b\xd5\xa3\x89\ +\xff\xd5\xfb\x38\xc0\xd6\xa3\xae\x78\x5d\xbd\x42\x93\x47\x5e\x84\ +\xd7\xb9\xc4\x2a\x80\xb7\x5d\xd9\xb6\x35\xdb\xc4\xe2\x00\x28\x56\ +\x48\xa0\x5f\x89\xba\xf8\x9d\xf2\x44\x1e\x8c\x78\x82\x36\xaa\x63\ +\xa2\x80\x05\x36\x23\x23\xcd\x92\x9f\xa8\x54\x7c\x40\x9d\xfa\xe2\ +\x60\x96\xea\x5c\xf1\x14\x1f\x3d\xce\x42\x92\xba\xaa\x2a\xa4\xd7\ +\xdf\x0f\x0a\x16\x54\x03\x4a\x54\x7b\x63\x4a\xbb\x9d\x77\x51\xb7\ +\x6c\x95\x2a\xe0\x6b\xfe\x4b\x78\x64\x24\x15\xdb\xd4\x6f\xf4\x60\ +\x57\xff\xd6\xfb\x3d\x51\xd7\x7f\x96\x78\x53\xd4\x2f\x24\x71\x24\ +\x6c\x69\xd3\x01\xd9\x52\x8d\x6e\x4b\x8b\x7d\x1b\x51\xbb\xb3\xa1\ +\xba\x86\x12\x6d\xc1\x1b\x06\x62\x00\x34\xf6\xad\x72\x32\x91\x11\ +\x24\x26\x31\x12\x90\x05\xe2\xba\x66\x87\xe6\x68\xee\x06\xaa\x35\ +\x3b\xc9\xae\x39\x09\x24\x32\x48\xc5\x18\x1e\xa2\x84\xd2\x9e\xd8\ +\x80\x40\x07\xab\x74\xa2\x39\x3d\xe2\xd4\xb9\x86\x27\x91\x78\x34\ +\x88\xae\xc9\xe0\x58\x54\x8c\xc8\xc9\xb5\x17\x16\x2a\xc6\x87\xae\ +\xf4\x34\xca\xec\xb3\x52\x63\xc7\x7a\x6e\x7b\xe2\x16\xd4\x4c\xbd\ +\x87\x5c\xb0\x06\x04\xb4\x26\x00\xd0\xb6\xfe\x03\x1e\x04\x71\xaf\ +\xf5\x96\x94\xaf\xd1\x80\xc1\x22\x6a\xab\x29\x24\x50\x8e\xbb\xe4\ +\x08\xa6\x56\xa6\x25\x23\x9a\x92\x79\x12\x29\x91\xa5\x7f\xff\xd7\ +\xfb\x3b\xd0\x50\x1a\x0f\xc7\x3c\x2a\xde\xa1\x50\x50\xfb\xf5\xc4\ +\xab\xa4\x55\x28\x41\x5e\x4a\xc0\x86\x53\xd0\x82\x28\x41\xc6\x04\ +\x83\x61\x05\x0f\x6e\xf6\xd1\x47\xe9\xc3\x61\x46\xaf\xd9\x67\xe4\ +\x83\xe8\xa5\x4f\xdf\x99\x7e\x2e\x21\xbf\x0e\xfe\xfd\xbf\x1f\x16\ +\x24\x4c\xf5\x54\x53\x23\x33\x99\x00\x24\xb6\xd4\x1e\xd9\x8b\x93\ +\x27\x19\xbe\xac\x80\xa6\x85\x6a\x46\xd5\x34\x60\xbd\xc7\xcf\x01\ +\xe4\x94\x35\xc1\x22\x83\xb9\xe9\x92\xc7\xbb\x19\x30\x2f\x38\xf9\ +\xc2\xc7\xca\x76\x42\x7b\xa0\xd3\x5c\x4b\x51\x6d\x6a\x86\x8d\x21\ +\x1d\x6a\x7f\x65\x45\x7a\xe5\xb2\x98\x80\xf3\x63\x08\x19\x97\xcf\ +\xf2\xfe\x73\xf9\xa6\xe6\xea\x96\x91\x43\x6b\x6b\x5f\x86\x31\x0f\ +\x30\x07\xbb\x31\xa9\xca\x8c\xe6\x7a\xb7\x8c\x31\x0f\x52\xf2\x6f\ +\xe6\x3c\xfa\xc4\xf1\x58\xea\xf0\xa4\x72\xcc\x42\xc5\x73\x10\x2a\ +\x39\x1e\x81\x94\x93\x4a\xf8\x8c\x11\xcc\x41\xa9\x35\xcf\x10\xab\ +\x0f\x64\x8d\x8a\xb0\x27\xa5\x77\x19\x74\xe3\xb3\x54\x64\x8d\xf4\ +\x96\xb5\xed\x4e\x99\x8e\xdc\xff\x00\xff\xd0\xfb\x34\xca\xdb\x1e\ +\xfd\xc6\x78\x43\xd4\xb6\x8c\x41\x5a\x91\xd6\xa7\x24\x82\xa8\x4f\ +\x26\x00\x12\x40\xaf\xb0\xdb\x02\xaf\xf8\x54\x6f\x40\x72\x2a\xb4\ +\x02\xcd\x55\x0d\x41\xd4\xf8\x7b\xe2\x02\x57\x15\xa7\x41\xd7\xae\ +\x1e\x88\x43\xbc\x6d\x2b\x2d\x0d\x46\xe3\x6c\xb3\x19\x63\x37\xcb\ +\xbf\x99\xb6\x37\x3a\x8f\x9a\x65\x88\x82\xd6\xd6\xa1\x62\x44\xeb\ +\x40\x00\x3f\x89\x39\x8b\x92\x77\x37\x37\x0c\x00\xc6\x12\x4b\x1f\ +\x2c\x8a\x46\x1a\x1d\x9b\x75\xf0\xcb\x2c\xc4\x30\x20\x5b\x21\x87\ +\xcb\x32\x59\xdc\x45\x3c\x51\xb2\x0d\x89\xa7\x6a\x66\x2c\xf3\x71\ +\x36\x08\x3e\x85\xd2\x7d\x5b\x8d\x2e\xd2\x69\x7f\xbd\x31\x81\x21\ +\xf1\x23\xbe\x6c\x71\x4a\xf1\x82\x5d\x7c\xc5\x4a\x93\x7e\x27\xd3\ +\xfa\x32\xbe\xad\x8f\xff\xd1\xfb\x39\x2d\x06\xfc\x4e\x78\x43\xd4\ +\x30\x2f\x32\x6b\x5e\x65\xb0\xd4\xf4\xfb\x2d\x0b\x46\x8b\x51\x8a\ +\x78\xda\x7b\xb9\xa6\x76\x50\x15\x5b\x8f\x08\xf8\xfe\xd6\xd5\xa9\ +\xf6\xc6\x79\x04\x06\xec\xa3\x8c\xcb\xab\x3f\xb5\x76\x78\x91\x9d\ +\x0a\x3d\x01\x74\x3d\x41\x22\xb4\x3e\xe3\x24\x46\xec\x02\xb9\x41\ +\xb9\x1d\x70\x14\xb6\xa0\x70\x55\x0c\x76\xdf\x7f\xd7\x86\x90\xef\ +\x87\xa7\x8f\x51\x80\xec\x97\x72\xe2\x00\x34\xc3\x19\x20\x87\x99\ +\x79\xc3\xcb\x6b\x75\xa8\x26\xab\x14\x6c\xde\xb5\x04\xe5\x77\x2a\ +\xe0\x01\x53\xec\x72\x59\xf4\xfc\x51\xe3\x8f\xc7\xcb\xf6\x16\xec\ +\x19\xab\xd2\x51\x5a\x46\x86\x84\xa7\xab\x0e\xe2\x82\x94\xa8\xda\ +\x9e\x1f\x2c\xc0\xe3\x32\x3c\x37\xbb\x71\xa1\xbb\x27\x6d\x01\xae\ +\x5c\x45\x14\x7c\x98\xec\x06\xd4\x1f\x4f\x86\x43\x49\xa3\x9e\x4c\ +\xfc\x11\xde\xcf\xf6\xb0\xc9\xa9\x88\x8d\x94\xcf\xd2\x8a\x08\xe2\ +\xb4\x82\x8f\x1d\xba\x88\xc3\xff\x00\x37\x11\xc4\x9f\xa6\x99\xb8\ +\xcd\xc1\x13\xc3\x0e\x43\x6f\x96\xdf\x6f\x37\x06\x16\x77\x3d\x55\ +\x39\x1a\xd3\x8f\x4d\xa9\x98\xf6\xdd\x4f\xff\xd2\xfb\x3c\x69\xc8\ +\xf5\x23\xbe\x78\x4e\xcf\x50\xd0\xe4\x5c\x7a\x5e\xa2\xb5\x0e\xc9\ +\xe1\xf4\x54\xe4\xa3\x7d\x11\x2a\xea\xbd\x00\xe3\x50\x41\xf6\xc8\ +\xa5\x78\xe7\xe1\x51\xf4\x62\x50\xb8\xd6\x83\xae\x05\x51\x25\xb9\ +\x8a\x83\xf3\xed\x85\x2b\x8f\x2a\x0c\x21\x0e\x53\x74\x18\x9b\x55\ +\xe4\xc3\xed\x03\x4e\x05\x7b\xf2\xe5\xb5\x3e\x79\x93\xa7\x39\x2f\ +\xd1\xf1\xee\xf8\xf4\x61\x3e\x1a\xdd\x5e\xda\xea\xdc\x90\x65\xd3\ +\x14\x4c\x2b\xc8\x24\xd4\x42\x7c\x77\xe4\x47\xdf\x95\x9c\xda\x7e\ +\x2b\x9e\x3b\x3b\xdd\x48\x81\xfa\x7e\xc2\x89\x47\x2d\x7d\x5b\x7b\ +\x95\x27\x9f\x50\x96\x29\xbe\xa9\x64\x96\xd6\xe1\x7f\x7d\xe9\xba\ +\xbb\xf1\xef\x53\xca\xb4\xf1\xa0\xc9\xe3\x99\x9c\x25\xe1\x44\x46\ +\x35\xbd\x6f\x2a\xeb\x77\xbf\xbe\x80\x0d\x62\x20\x11\xc4\x49\x3e\ +\x69\x64\x03\xe2\x1c\x8f\xc5\xe1\x94\x1a\xa7\x21\x19\xf0\xd4\x65\ +\x69\x7f\xff\xd9\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03\x7d\xc3\ +\x00\x69\ +\x00\x6d\x00\x61\x00\x67\x00\x65\x00\x73\ +\x00\x0a\ +\x0c\x9d\x6c\x07\ +\x00\x63\ +\x00\x68\x00\x65\x00\x65\x00\x73\x00\x65\x00\x2e\x00\x6a\x00\x70\x00\x67\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/widgets/graphicsview/diagramscene/diagramscene.py b/examples/widgets/graphicsview/diagramscene/diagramscene.py new file mode 100644 index 0000000..3348577 --- /dev/null +++ b/examples/widgets/graphicsview/diagramscene/diagramscene.py @@ -0,0 +1,816 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import math +import sys + +from PySide6.QtCore import (QLineF, QPointF, QRect, QRectF, QSize, QSizeF, Qt, + Signal, Slot) +from PySide6.QtGui import (QAction, QBrush, QColor, QFont, QIcon, QIntValidator, + QPainter, QPainterPath, QPen, QPixmap, QPolygonF) +from PySide6.QtWidgets import (QAbstractButton, QApplication, QButtonGroup, + QComboBox, QFontComboBox, QGraphicsItem, QGraphicsLineItem, + QGraphicsPolygonItem, QGraphicsTextItem, + QGraphicsScene, QGraphicsView, QGridLayout, + QHBoxLayout, QLabel, QMainWindow, QMenu, + QMessageBox, QSizePolicy, QToolBox, QToolButton, + QWidget) + +import diagramscene_rc + + +class Arrow(QGraphicsLineItem): + def __init__(self, startItem, endItem, parent=None, scene=None): + super().__init__(parent, scene) + + self._arrow_head = QPolygonF() + + self._my_start_item = startItem + self._my_end_item = endItem + self.setFlag(QGraphicsItem.ItemIsSelectable, True) + self._my_color = Qt.black + self.setPen(QPen(self._my_color, 2, Qt.SolidLine, + Qt.RoundCap, Qt.RoundJoin)) + + def set_color(self, color): + self._my_color = color + + def start_item(self): + return self._my_start_item + + def end_item(self): + return self._my_end_item + + def boundingRect(self): + extra = (self.pen().width() + 20) / 2.0 + p1 = self.line().p1() + p2 = self.line().p2() + rect = QRectF(p1, QSizeF(p2.x() - p1.x(), p2.y() - p1.y())) + return rect.normalized().adjusted(-extra, -extra, extra, extra) + + def shape(self): + path = super(Arrow, self).shape() + path.addPolygon(self._arrow_head) + return path + + def update_position(self): + start = self.mapFromItem(self._my_start_item, 0, 0) + end = self.mapFromItem(self._my_end_item, 0, 0) + self.setLine(QLineF(start, end)) + + def paint(self, painter, option, widget=None): + if (self._my_start_item.collidesWithItem(self._my_end_item)): + return + + my_start_item = self._my_start_item + my_end_item = self._my_end_item + my_color = self._my_color + my_pen = self.pen() + my_pen.setColor(self._my_color) + arrow_size = 20.0 + painter.setPen(my_pen) + painter.setBrush(self._my_color) + + center_line = QLineF(my_start_item.pos(), my_end_item.pos()) + end_polygon = my_end_item.polygon() + p1 = end_polygon.at(0) + my_end_item.pos() + + intersect_point = QPointF() + for i in end_polygon: + p2 = i + my_end_item.pos() + poly_line = QLineF(p1, p2) + intersectType, intersect_point = poly_line.intersects(center_line) + if intersectType == QLineF.BoundedIntersection: + break + p1 = p2 + + self.setLine(QLineF(intersect_point, my_start_item.pos())) + line = self.line() + + angle = math.acos(line.dx() / line.length()) + if line.dy() >= 0: + angle = (math.pi * 2.0) - angle + + arrow_head1 = QPointF(math.sin(angle + math.pi / 3.0) * arrow_size, + math.cos(angle + math.pi / 3) * arrow_size) + arrow_p1 = line.p1() + arrow_head1 + arrow_head2 = QPointF(math.sin(angle + math.pi - math.pi / 3.0) * arrow_size, + math.cos(angle + math.pi - math.pi / 3.0) * arrow_size) + arrow_p2 = line.p1() + arrow_head2 + + self._arrow_head.clear() + for point in [line.p1(), arrow_p1, arrow_p2]: + self._arrow_head.append(point) + + painter.drawLine(line) + painter.drawPolygon(self._arrow_head) + if self.isSelected(): + painter.setPen(QPen(my_color, 1, Qt.DashLine)) + my_line = QLineF(line) + my_line.translate(0, 4.0) + painter.drawLine(my_line) + my_line.translate(0, -8.0) + painter.drawLine(my_line) + + +class DiagramTextItem(QGraphicsTextItem): + lost_focus = Signal(QGraphicsTextItem) + + selected_change = Signal(QGraphicsItem) + + def __init__(self, parent=None, scene=None): + super().__init__(parent, scene) + + self.setFlag(QGraphicsItem.ItemIsMovable) + self.setFlag(QGraphicsItem.ItemIsSelectable) + + def itemChange(self, change, value): + if change == QGraphicsItem.ItemSelectedChange: + self.selected_change.emit(self) + return value + + def focusOutEvent(self, event): + self.setTextInteractionFlags(Qt.NoTextInteraction) + self.lost_focus.emit(self) + super(DiagramTextItem, self).focusOutEvent(event) + + def mouseDoubleClickEvent(self, event): + if self.textInteractionFlags() == Qt.NoTextInteraction: + self.setTextInteractionFlags(Qt.TextEditorInteraction) + super(DiagramTextItem, self).mouseDoubleClickEvent(event) + + +class DiagramItem(QGraphicsPolygonItem): + Step, Conditional, StartEnd, Io = range(4) + + def __init__(self, diagram_type, contextMenu, parent=None, scene=None): + super().__init__(parent, scene) + + self.arrows = [] + + self.diagram_type = diagram_type + self._my_context_menu = contextMenu + + path = QPainterPath() + if self.diagram_type == self.StartEnd: + path.moveTo(200, 50) + path.arcTo(150, 0, 50, 50, 0, 90) + path.arcTo(50, 0, 50, 50, 90, 90) + path.arcTo(50, 50, 50, 50, 180, 90) + path.arcTo(150, 50, 50, 50, 270, 90) + path.lineTo(200, 25) + self._my_polygon = path.toFillPolygon() + elif self.diagram_type == self.Conditional: + self._my_polygon = QPolygonF([ + QPointF(-100, 0), QPointF(0, 100), + QPointF(100, 0), QPointF(0, -100), + QPointF(-100, 0)]) + elif self.diagram_type == self.Step: + self._my_polygon = QPolygonF([ + QPointF(-100, -100), QPointF(100, -100), + QPointF(100, 100), QPointF(-100, 100), + QPointF(-100, -100)]) + else: + self._my_polygon = QPolygonF([ + QPointF(-120, -80), QPointF(-70, 80), + QPointF(120, 80), QPointF(70, -80), + QPointF(-120, -80)]) + + self.setPolygon(self._my_polygon) + self.setFlag(QGraphicsItem.ItemIsMovable, True) + self.setFlag(QGraphicsItem.ItemIsSelectable, True) + + def remove_arrow(self, arrow): + try: + self.arrows.remove(arrow) + except ValueError: + pass + + def remove_arrows(self): + for arrow in self.arrows[:]: + arrow.start_item().remove_arrow(arrow) + arrow.end_item().remove_arrow(arrow) + self.scene().removeItem(arrow) + + def add_arrow(self, arrow): + self.arrows.append(arrow) + + def image(self): + pixmap = QPixmap(250, 250) + pixmap.fill(Qt.transparent) + with QPainter(pixmap) as painter: + painter.setPen(QPen(Qt.black, 8)) + painter.translate(125, 125) + painter.drawPolyline(self._my_polygon) + return pixmap + + def contextMenuEvent(self, event): + self.scene().clearSelection() + self.setSelected(True) + self._my_context_menu.exec(event.screenPos()) + + def itemChange(self, change, value): + if change == QGraphicsItem.ItemPositionChange: + for arrow in self.arrows: + arrow.updatePosition() + + return value + + +class DiagramScene(QGraphicsScene): + InsertItem, InsertLine, InsertText, MoveItem = range(4) + + item_inserted = Signal(DiagramItem) + + text_inserted = Signal(QGraphicsTextItem) + + item_selected = Signal(QGraphicsItem) + + def __init__(self, itemMenu, parent=None): + super().__init__(parent) + + self._my_item_menu = itemMenu + self._my_mode = self.MoveItem + self._my_item_type = DiagramItem.Step + self.line = None + self._text_item = None + self._my_item_color = Qt.white + self._my_text_color = Qt.black + self._my_line_color = Qt.black + self._my_font = QFont() + + def set_line_color(self, color): + self._my_line_color = color + if self.is_item_change(Arrow): + item = self.selectedItems()[0] + item.set_color(self._my_line_color) + self.update() + + def set_text_color(self, color): + self._my_text_color = color + if self.is_item_change(DiagramTextItem): + item = self.selectedItems()[0] + item.setDefaultTextColor(self._my_text_color) + + def set_item_color(self, color): + self._my_item_color = color + if self.is_item_change(DiagramItem): + item = self.selectedItems()[0] + item.setBrush(self._my_item_color) + + def set_font(self, font): + self._my_font = font + if self.is_item_change(DiagramTextItem): + item = self.selectedItems()[0] + item.setFont(self._my_font) + + def set_mode(self, mode): + self._my_mode = mode + + def set_item_type(self, type): + self._my_item_type = type + + def editor_lost_focus(self, item): + cursor = item.textCursor() + cursor.clearSelection() + item.setTextCursor(cursor) + + if not item.toPlainText(): + self.removeItem(item) + item.deleteLater() + + def mousePressEvent(self, mouseEvent): + if (mouseEvent.button() != Qt.LeftButton): + return + + if self._my_mode == self.InsertItem: + item = DiagramItem(self._my_item_type, self._my_item_menu) + item.setBrush(self._my_item_color) + self.addItem(item) + item.setPos(mouseEvent.scenePos()) + self.item_inserted.emit(item) + elif self._my_mode == self.InsertLine: + self.line = QGraphicsLineItem(QLineF(mouseEvent.scenePos(), + mouseEvent.scenePos())) + self.line.setPen(QPen(self._my_line_color, 2)) + self.addItem(self.line) + elif self._my_mode == self.InsertText: + text_item = DiagramTextItem() + text_item.setFont(self._my_font) + text_item.setTextInteractionFlags(Qt.TextEditorInteraction) + text_item.setZValue(1000.0) + text_item.lost_focus.connect(self.editor_lost_focus) + text_item.selected_change.connect(self.item_selected) + self.addItem(text_item) + text_item.setDefaultTextColor(self._my_text_color) + text_item.setPos(mouseEvent.scenePos()) + self.text_inserted.emit(text_item) + + super(DiagramScene, self).mousePressEvent(mouseEvent) + + def mouseMoveEvent(self, mouseEvent): + if self._my_mode == self.InsertLine and self.line: + new_line = QLineF(self.line.line().p1(), mouseEvent.scenePos()) + self.line.setLine(new_line) + elif self._my_mode == self.MoveItem: + super(DiagramScene, self).mouseMoveEvent(mouseEvent) + + def mouseReleaseEvent(self, mouseEvent): + if self.line and self._my_mode == self.InsertLine: + start_items = self.items(self.line.line().p1()) + if len(start_items) and start_items[0] == self.line: + start_items.pop(0) + end_items = self.items(self.line.line().p2()) + if len(end_items) and end_items[0] == self.line: + end_items.pop(0) + + self.removeItem(self.line) + self.line = None + + if (len(start_items) and len(end_items) and + isinstance(start_items[0], DiagramItem) and + isinstance(end_items[0], DiagramItem) and + start_items[0] != end_items[0]): + start_item = start_items[0] + end_item = end_items[0] + arrow = Arrow(start_item, end_item) + arrow.set_color(self._my_line_color) + start_item.add_arrow(arrow) + end_item.add_arrow(arrow) + arrow.setZValue(-1000.0) + self.addItem(arrow) + arrow.update_position() + + self.line = None + super(DiagramScene, self).mouseReleaseEvent(mouseEvent) + + def is_item_change(self, type): + for item in self.selectedItems(): + if isinstance(item, type): + return True + return False + + +class MainWindow(QMainWindow): + insert_text_button = 10 + + def __init__(self): + super().__init__() + + self.create_actions() + self.create_menus() + self.create_tool_box() + + self.scene = DiagramScene(self._item_menu) + self.scene.setSceneRect(QRectF(0, 0, 5000, 5000)) + self.scene.item_inserted.connect(self.item_inserted) + self.scene.text_inserted.connect(self.text_inserted) + self.scene.item_selected.connect(self.item_selected) + + self.create_toolbars() + + layout = QHBoxLayout() + layout.addWidget(self._tool_box) + self.view = QGraphicsView(self.scene) + layout.addWidget(self.view) + + self.widget = QWidget() + self.widget.setLayout(layout) + + self.setCentralWidget(self.widget) + self.setWindowTitle("Diagramscene") + + @Slot(QAbstractButton) + def background_button_group_clicked(self, button): + buttons = self._background_button_group.buttons() + for myButton in buttons: + if myButton != button: + button.setChecked(False) + + text = button.text() + if text == "Blue Grid": + self.scene.setBackgroundBrush(QBrush(QPixmap(':/images/background1.png'))) + elif text == "White Grid": + self.scene.setBackgroundBrush(QBrush(QPixmap(':/images/background2.png'))) + elif text == "Gray Grid": + self.scene.setBackgroundBrush(QBrush(QPixmap(':/images/background3.png'))) + else: + self.scene.setBackgroundBrush(QBrush(QPixmap(':/images/background4.png'))) + + self.scene.update() + self.view.update() + + @Slot(int) + def button_group_clicked(self, idx): + buttons = self._button_group.buttons() + for button in buttons: + if self._button_group.button(idx) != button: + button.setChecked(False) + + if idx == self.insert_text_button: + self.scene.set_mode(DiagramScene.InsertText) + else: + self.scene.set_item_type(idx) + self.scene.set_mode(DiagramScene.InsertItem) + + @Slot() + def delete_item(self): + for item in self.scene.selectedItems(): + if isinstance(item, DiagramItem): + item.remove_arrows() + self.scene.removeItem(item) + + @Slot(int) + def pointer_group_clicked(self, i): + self.scene.set_mode(self._pointer_type_group.checkedId()) + + @Slot() + def bring_to_front(self): + if not self.scene.selectedItems(): + return + + selected_item = self.scene.selectedItems()[0] + overlap_items = selected_item.collidingItems() + + z_value = 0 + for item in overlap_items: + if (item.zValue() >= z_value and isinstance(item, DiagramItem)): + z_value = item.zValue() + 0.1 + selected_item.setZValue(z_value) + + @Slot() + def send_to_back(self): + if not self.scene.selectedItems(): + return + + selected_item = self.scene.selectedItems()[0] + overlap_items = selected_item.collidingItems() + + z_value = 0 + for item in overlap_items: + if (item.zValue() <= z_value and isinstance(item, DiagramItem)): + z_value = item.zValue() - 0.1 + selected_item.setZValue(z_value) + + @Slot(QGraphicsPolygonItem) + def item_inserted(self, item): + self._pointer_type_group.button(DiagramScene.MoveItem).setChecked(True) + self.scene.set_mode(self._pointer_type_group.checkedId()) + self._button_group.button(item.diagram_type).setChecked(False) + + @Slot(QGraphicsTextItem) + def text_inserted(self, item): + self._button_group.button(self.insert_text_button).setChecked(False) + self.scene.set_mode(self._pointer_type_group.checkedId()) + + @Slot(QFont) + def current_font_changed(self, font): + self.handle_font_change() + + @Slot(int) + def font_size_changed(self, font): + self.handle_font_change() + + @Slot(str) + def scene_scale_changed(self, scale): + new_scale = int(scale[:-1]) / 100.0 + old_matrix = self.view.transform() + self.view.resetTransform() + self.view.translate(old_matrix.dx(), old_matrix.dy()) + self.view.scale(new_scale, new_scale) + + @Slot() + def text_color_changed(self): + self._text_action = self.sender() + self._font_color_tool_button.setIcon(self.create_color_tool_button_icon( + ':/images/textpointer.png', + QColor(self._text_action.data()))) + self.text_button_triggered() + + @Slot() + def item_color_changed(self): + self._fill_action = self.sender() + self._fill_color_tool_button.setIcon(self.create_color_tool_button_icon( + ':/images/floodfill.png', + QColor(self._fill_action.data()))) + self.fill_button_triggered() + + @Slot() + def line_color_changed(self): + self._line_action = self.sender() + self._line_color_tool_button.setIcon(self.create_color_tool_button_icon( + ':/images/linecolor.png', + QColor(self._line_action.data()))) + self.line_button_triggered() + + @Slot() + def text_button_triggered(self): + self.scene.set_text_color(QColor(self._text_action.data())) + + @Slot() + def fill_button_triggered(self): + self.scene.set_item_color(QColor(self._fill_action.data())) + + @Slot() + def line_button_triggered(self): + self.scene.set_line_color(QColor(self._line_action.data())) + + @Slot() + def handle_font_change(self): + font = self._font_combo.currentFont() + font.setPointSize(int(self._font_size_combo.currentText())) + if self._bold_action.isChecked(): + font.setWeight(QFont.Bold) + else: + font.setWeight(QFont.Normal) + font.setItalic(self._italic_action.isChecked()) + font.setUnderline(self._underline_action.isChecked()) + + self.scene.set_font(font) + + @Slot(QGraphicsItem) + def item_selected(self, item): + font = item.font() + self._font_combo.setCurrentFont(font) + self._font_size_combo.setEditText(str(font.pointSize())) + self._bold_action.setChecked(font.weight() == QFont.Bold) + self._italic_action.setChecked(font.italic()) + self._underline_action.setChecked(font.underline()) + + @Slot() + def about(self): + QMessageBox.about(self, "About Diagram Scene", + "The Diagram Scene example shows use of the graphics framework.") + + def create_tool_box(self): + self._button_group = QButtonGroup() + self._button_group.setExclusive(False) + self._button_group.idClicked.connect(self.button_group_clicked) + + layout = QGridLayout() + layout.addWidget(self.create_cell_widget("Conditional", DiagramItem.Conditional), + 0, 0) + layout.addWidget(self.create_cell_widget("Process", DiagramItem.Step), 0, + 1) + layout.addWidget(self.create_cell_widget("Input/Output", DiagramItem.Io), + 1, 0) + + text_button = QToolButton() + text_button.setCheckable(True) + self._button_group.addButton(text_button, self.insert_text_button) + text_button.setIcon(QIcon(QPixmap(':/images/textpointer.png') + .scaled(30, 30))) + text_button.setIconSize(QSize(50, 50)) + + text_layout = QGridLayout() + text_layout.addWidget(text_button, 0, 0, Qt.AlignHCenter) + text_layout.addWidget(QLabel("Text"), 1, 0, Qt.AlignCenter) + text_widget = QWidget() + text_widget.setLayout(text_layout) + layout.addWidget(text_widget, 1, 1) + + layout.setRowStretch(3, 10) + layout.setColumnStretch(2, 10) + + item_widget = QWidget() + item_widget.setLayout(layout) + + self._background_button_group = QButtonGroup() + self._background_button_group.buttonClicked.connect(self.background_button_group_clicked) + + background_layout = QGridLayout() + background_layout.addWidget(self.create_background_cell_widget("Blue Grid", + ':/images/background1.png'), 0, 0) + background_layout.addWidget(self.create_background_cell_widget("White Grid", + ':/images/background2.png'), 0, 1) + background_layout.addWidget(self.create_background_cell_widget("Gray Grid", + ':/images/background3.png'), 1, 0) + background_layout.addWidget(self.create_background_cell_widget("No Grid", + ':/images/background4.png'), 1, 1) + + background_layout.setRowStretch(2, 10) + background_layout.setColumnStretch(2, 10) + + background_widget = QWidget() + background_widget.setLayout(background_layout) + + self._tool_box = QToolBox() + self._tool_box.setSizePolicy(QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Ignored)) + self._tool_box.setMinimumWidth(item_widget.sizeHint().width()) + self._tool_box.addItem(item_widget, "Basic Flowchart Shapes") + self._tool_box.addItem(background_widget, "Backgrounds") + + def create_actions(self): + self._to_front_action = QAction( + QIcon(':/images/bringtofront.png'), "Bring to &Front", + self, shortcut="Ctrl+F", statusTip="Bring item to front", + triggered=self.bring_to_front) + + self._send_back_action = QAction( + QIcon(':/images/sendtoback.png'), "Send to &Back", self, + shortcut="Ctrl+B", statusTip="Send item to back", + triggered=self.send_to_back) + + self._delete_action = QAction(QIcon(':/images/delete.png'), + "&Delete", self, shortcut="Delete", + statusTip="Delete item from diagram", + triggered=self.delete_item) + + self._exit_action = QAction("E&xit", self, shortcut="Ctrl+X", + statusTip="Quit Scenediagram example", triggered=self.close) + + self._bold_action = QAction(QIcon(':/images/bold.png'), + "Bold", self, checkable=True, shortcut="Ctrl+B", + triggered=self.handle_font_change) + + self._italic_action = QAction(QIcon(':/images/italic.png'), + "Italic", self, checkable=True, shortcut="Ctrl+I", + triggered=self.handle_font_change) + + self._underline_action = QAction( + QIcon(':/images/underline.png'), "Underline", self, + checkable=True, shortcut="Ctrl+U", + triggered=self.handle_font_change) + + self._about_action = QAction("A&bout", self, shortcut="Ctrl+B", + triggered=self.about) + + def create_menus(self): + self._file_menu = self.menuBar().addMenu("&File") + self._file_menu.addAction(self._exit_action) + + self._item_menu = self.menuBar().addMenu("&Item") + self._item_menu.addAction(self._delete_action) + self._item_menu.addSeparator() + self._item_menu.addAction(self._to_front_action) + self._item_menu.addAction(self._send_back_action) + + self._about_menu = self.menuBar().addMenu("&Help") + self._about_menu.addAction(self._about_action) + + def create_toolbars(self): + self._edit_tool_bar = self.addToolBar("Edit") + self._edit_tool_bar.addAction(self._delete_action) + self._edit_tool_bar.addAction(self._to_front_action) + self._edit_tool_bar.addAction(self._send_back_action) + + self._font_combo = QFontComboBox() + self._font_combo.currentFontChanged.connect(self.current_font_changed) + + self._font_size_combo = QComboBox() + self._font_size_combo.setEditable(True) + for i in range(8, 30, 2): + self._font_size_combo.addItem(str(i)) + validator = QIntValidator(2, 64, self) + self._font_size_combo.setValidator(validator) + self._font_size_combo.currentIndexChanged.connect(self.font_size_changed) + + self._font_color_tool_button = QToolButton() + self._font_color_tool_button.setPopupMode(QToolButton.MenuButtonPopup) + self._font_color_tool_button.setMenu( + self.create_color_menu(self.text_color_changed, Qt.black)) + self._text_action = self._font_color_tool_button.menu().defaultAction() + self._font_color_tool_button.setIcon( + self.create_color_tool_button_icon(':/images/textpointer.png', + Qt.black)) + self._font_color_tool_button.setAutoFillBackground(True) + self._font_color_tool_button.clicked.connect(self.text_button_triggered) + + self._fill_color_tool_button = QToolButton() + self._fill_color_tool_button.setPopupMode(QToolButton.MenuButtonPopup) + self._fill_color_tool_button.setMenu( + self.create_color_menu(self.item_color_changed, Qt.white)) + self._fill_action = self._fill_color_tool_button.menu().defaultAction() + self._fill_color_tool_button.setIcon( + self.create_color_tool_button_icon(':/images/floodfill.png', + Qt.white)) + self._fill_color_tool_button.clicked.connect(self.fill_button_triggered) + + self._line_color_tool_button = QToolButton() + self._line_color_tool_button.setPopupMode(QToolButton.MenuButtonPopup) + self._line_color_tool_button.setMenu( + self.create_color_menu(self.line_color_changed, Qt.black)) + self._line_action = self._line_color_tool_button.menu().defaultAction() + self._line_color_tool_button.setIcon( + self.create_color_tool_button_icon(':/images/linecolor.png', + Qt.black)) + self._line_color_tool_button.clicked.connect(self.line_button_triggered) + + self._text_tool_bar = self.addToolBar("Font") + self._text_tool_bar.addWidget(self._font_combo) + self._text_tool_bar.addWidget(self._font_size_combo) + self._text_tool_bar.addAction(self._bold_action) + self._text_tool_bar.addAction(self._italic_action) + self._text_tool_bar.addAction(self._underline_action) + + self._color_tool_bar = self.addToolBar("Color") + self._color_tool_bar.addWidget(self._font_color_tool_button) + self._color_tool_bar.addWidget(self._fill_color_tool_button) + self._color_tool_bar.addWidget(self._line_color_tool_button) + + pointer_button = QToolButton() + pointer_button.setCheckable(True) + pointer_button.setChecked(True) + pointer_button.setIcon(QIcon(':/images/pointer.png')) + line_pointer_button = QToolButton() + line_pointer_button.setCheckable(True) + line_pointer_button.setIcon(QIcon(':/images/linepointer.png')) + + self._pointer_type_group = QButtonGroup() + self._pointer_type_group.addButton(pointer_button, DiagramScene.MoveItem) + self._pointer_type_group.addButton(line_pointer_button, + DiagramScene.InsertLine) + self._pointer_type_group.idClicked.connect(self.pointer_group_clicked) + + self._scene_scale_combo = QComboBox() + self._scene_scale_combo.addItems(["50%", "75%", "100%", "125%", "150%"]) + self._scene_scale_combo.setCurrentIndex(2) + self._scene_scale_combo.currentTextChanged.connect(self.scene_scale_changed) + + self._pointer_toolbar = self.addToolBar("Pointer type") + self._pointer_toolbar.addWidget(pointer_button) + self._pointer_toolbar.addWidget(line_pointer_button) + self._pointer_toolbar.addWidget(self._scene_scale_combo) + + def create_background_cell_widget(self, text, image): + button = QToolButton() + button.setText(text) + button.setIcon(QIcon(image)) + button.setIconSize(QSize(50, 50)) + button.setCheckable(True) + self._background_button_group.addButton(button) + + layout = QGridLayout() + layout.addWidget(button, 0, 0, Qt.AlignHCenter) + layout.addWidget(QLabel(text), 1, 0, Qt.AlignCenter) + + widget = QWidget() + widget.setLayout(layout) + + return widget + + def create_cell_widget(self, text, diagram_type): + item = DiagramItem(diagram_type, self._item_menu) + icon = QIcon(item.image()) + + button = QToolButton() + button.setIcon(icon) + button.setIconSize(QSize(50, 50)) + button.setCheckable(True) + self._button_group.addButton(button, diagram_type) + + layout = QGridLayout() + layout.addWidget(button, 0, 0, Qt.AlignHCenter) + layout.addWidget(QLabel(text), 1, 0, Qt.AlignCenter) + + widget = QWidget() + widget.setLayout(layout) + + return widget + + def create_color_menu(self, slot, defaultColor): + colors = [Qt.black, Qt.white, Qt.red, Qt.blue, Qt.yellow] + names = ["black", "white", "red", "blue", "yellow"] + + color_menu = QMenu(self) + for color, name in zip(colors, names): + action = QAction(self.create_color_icon(color), name, self, + triggered=slot) + action.setData(QColor(color)) + color_menu.addAction(action) + if color == defaultColor: + color_menu.setDefaultAction(action) + return color_menu + + def create_color_tool_button_icon(self, imageFile, color): + pixmap = QPixmap(50, 80) + pixmap.fill(Qt.transparent) + + with QPainter(pixmap) as painter: + image = QPixmap(imageFile) + target = QRect(0, 0, 50, 60) + source = QRect(0, 0, 42, 42) + painter.fillRect(QRect(0, 60, 50, 80), color) + painter.drawPixmap(target, image, source) + + return QIcon(pixmap) + + def create_color_icon(self, color): + pixmap = QPixmap(20, 20) + + with QPainter(pixmap) as painter: + painter.setPen(Qt.NoPen) + painter.fillRect(QRect(0, 0, 20, 20), color) + + return QIcon(pixmap) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + + main_window = MainWindow() + main_window.setGeometry(100, 100, 800, 500) + main_window.show() + + sys.exit(app.exec()) diff --git a/examples/widgets/graphicsview/diagramscene/diagramscene.pyproject b/examples/widgets/graphicsview/diagramscene/diagramscene.pyproject new file mode 100644 index 0000000..79b8c86 --- /dev/null +++ b/examples/widgets/graphicsview/diagramscene/diagramscene.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["diagramscene.qrc", "diagramscene.py"] +} diff --git a/examples/widgets/graphicsview/diagramscene/diagramscene.qrc b/examples/widgets/graphicsview/diagramscene/diagramscene.qrc new file mode 100644 index 0000000..c4d845e --- /dev/null +++ b/examples/widgets/graphicsview/diagramscene/diagramscene.qrc @@ -0,0 +1,19 @@ + + + images/pointer.png + images/linepointer.png + images/textpointer.png + images/bold.png + images/italic.png + images/underline.png + images/floodfill.png + images/bringtofront.png + images/delete.png + images/sendtoback.png + images/linecolor.png + images/background1.png + images/background2.png + images/background3.png + images/background4.png + + diff --git a/examples/widgets/graphicsview/diagramscene/diagramscene_rc.py b/examples/widgets/graphicsview/diagramscene/diagramscene_rc.py new file mode 100644 index 0000000..144d920 --- /dev/null +++ b/examples/widgets/graphicsview/diagramscene/diagramscene_rc.py @@ -0,0 +1,417 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.2.2 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00\x00\xad\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0f\x00\x00\x00\x18\x02\x03\x00\x00\x00XkO\xfa\ +\x00\x00\x00\x09PLTE\xff\xff\xff\xff\xff\xff\x00\x00\ +\x00\x8e\xf4\xc3\xec\x00\x00\x00\x01tRNS\x00@\xe6\ +\xd8f\x00\x00\x00RIDAT\x08\x1d\x05\xc1\xb1\x0d\ +\xc20\x14\x05\xc0\x8b\x04\x1b\xd0\xe6\xde\xce?\x7ff\xcec\xae\x87\x88<&\ +\xf8\xf3\x01~\xa8\x07\x01Pgk\x0cm\x9d\xa1\x0d\xf2\ +\xda\xca\x9c!\xf2\x8a\x11Q\x7f\x7f^\x16l\x04a\xe0\ +\xafa\xeaw\xb4\x03\x03J\xdb\x08\x22\xe2\xe15\x85\x8e\ +\xe9\xbf\xa1!*uwS\xa1,f6\x83(\xcfW\ +iS)*\xf5\xf4P)\x18T\xda8hp\xe6\xcd\ +\xe3\x97`Z\xec\xed\xa5BK\x0b\xe5\xf0\xfe]\x9bo\ +U\xe6\xca\xb44R\xbex\xe8\xa0\xd6\ +\x1e\x05\x09\xf3\x12\xf2I\xd0\xb7\xb1\xe0\xa4>R\x97\xb4\ +\xa9}mV:\xf4\x94\xd6\xb2\xe9\x1e\xf1\x88\xda\xa5\xd6\ +\xa0\xcc\xe5H;\xc1\x965.\xfa\xa8\xcc)mB\xd6\ +\xea\x8b\xde\xfa4\xf1\x82MN\x9c\xca\xe1\x89\xac\xf3i\ +\x8a\x88\xa6Y\xd6\xa8Syku\x9eO>\x8e\x1b\xec\ +\x0f\xe4\x1a\xda\xa0h\xebM\xed\x7f=\xa9\x97\x96\x02\xf1\ ++\x1c\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00t\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x7f\x00\x00\x00\x7f\x01\x03\x00\x00\x00\xfcs\x8fP\ +\x00\x00\x00\x06PLTE\xc0\xc0\xc0\xff\xff\xff+i\ +\x87\xb4\x00\x00\x00)IDATHKc\xf8\x0f\x05\ +\x0d\x0cP0*0*0*0*@\xa4\x00\x0c\xd8\ +C\xc4\xff\x8d\x0a\x8c\x0a\x8c\x0a\x8c\x0a`\x17\x00\x00?\ +x\xe4\xb7\xe3\x900_\x00\x00\x00\x00IEND\xae\ +B`\x82\ +\x00\x00\x00`\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x7f\x00\x00\x00\x7f\x01\x03\x00\x00\x00\xfcs\x8fP\ +\x00\x00\x00\x03PLTE\xff\xff\xff\xa7\xc4\x1b\xc8\x00\ +\x00\x00\x18IDATx^\xed\xc01\x01\x00\x00\x00\ +\xc2 \xfb\xa76\xc5>X\x0b\x00\xe0\x08o\x00\x01\x01\ +>\xc31\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00p\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x7f\x00\x00\x00\x7f\x01\x03\x00\x00\x00\xfcs\x8fP\ +\x00\x00\x00\x06PLTE\x00\xff\xff\xff\xff\xff\xb1\xb8\ +^\xa0\x00\x00\x00%IDATx^\xed\xcc!\x12\ +\x00\x00\x04\x00A\xff\x7f4\x82\x11du/n\xb8\xd8\ +j\xca\x0b\x00\x00\xf0\x9d\x01\x00@\x03\x94\x98\xeb\xc0\x19\ +8\xa1\x84\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x01>\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4l;\ +\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\ +\xa7\x93\x00\x00\x00\xf3IDAT8\xcb\xed\x94An\ +\x830\x10E\x9f%\xe0\x0c\xbdC/\xd0\x13\xe5\xfaU\ +b\x9b\xd83\x01w\x81\x0d$\x85\xaa1\xca\xaa\x1d\x89\ +\x8d\x0dO\xef{\x067m\xdb&\x0e\x94\xaa\x9a\xad\xf5\ +\x06@D\xaa\xa0]\xd7\xed\xee5\xbc\xa8\xfe\xc1\x7f\x01\ +l\x8c\xd9\xdbJ\x87\x8dS\xda`\x8c\x03\x0c\x01\xf4\x0a\ +\xd2Ct\x98\xb7\xf7\x83G1*h\x81z\x10\x07\xd1\ +\x1d<\xe3A&\xa0\xf6\x0b48\x88\x97Jp\x1aa\ +\x88Kt\xf5\x93e\xb4\xd3#5\xc6i\x80[\x00)\ +\xd1=\xa8\x83`W`_\x01\x96\x1c}\xb6|0\x95\ +jp\xfep\x06\xba\x15\xd4\xe5\x14v\x01\xfft\xfd\xdd\ +U\xb8\xe4\xce\xdb\x05\x5c&A\xfd\xb2\x064{\x17\xf5\ +\xe6\x8f\x10\xce\xdf\xa1\xc54\xe6\x89\xa8j^\xf8\x9cF\ +j\xb6t\x10\xb3\xa9\xac\x1a\xf84\xf8z\xce\xa6\x16b\ +\x0fj\xef\x1bXRT\x81\xa5\x98nLE\xf4p\xeb\ +\x9f\x07\x9b\x8f\xd3\xaf\xdf\xfd\x02\xd6\xbd\xde\xdfp\xdb\x04\ +\x83\x00\x00\x00\x00IEND\xaeB`\x82\ +\x00\x00\x00\xfa\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0b\x00\x00\x00\x0c\x08\x06\x00\x00\x00\xb4\xa9G\x9e\ +\x00\x00\x00\xc1IDAT(S\xcd\x901\x0a\x840\ +\x10E\xc7\xceV\xb0\xd3F\x10o`\xe5\x01\xbcB@\ +\x0b\x9bt\x22\x11\xbc\x94\x9d'\xd2\x03x\x03\x03\x19\xf7\ +\x0f\xb8\xd9,l\xbf\x81Of\xde\xfc|\xc8P\x1c\xc7\ +LD\xa2(\x8a8\xcfs~\x1d\xc2\xfd\xc9\xd34e\ +\xd2ZsQ\x14\x02\x86a\xe0y\x9e\xc5\x8c\x1b=8\ +\xe6\xe382a\xa0\x94\x12\x88\xfa[\xe0\x98;\xe7B\ +3\xc0/3\xea\x7fJ\xee\xbaN\xcc\xd7u\x05\x0f\xd0\ +\x83\xf7}\xef\x93\xb1&\xc0}\xdf\x03\xf3q\x1c\xc2\x97\ +e\xf1\xc9\xeb\xba\x0a\x9c\xa6)0?!\xdb\xb6\xf9d\ +\xa8\xaek\x19\x94e\xc9m\xdbrUU\xd27M\xc3\ +\xd6Z\x9f\xfc\xc8\x18\xc3Y\x96\x89)I\x12\xc6_\xce\ +\xf3|o\xe9\x063 8\xcd\x08\x1exv\x00\x00\x00\ +\x00IEND\xaeB`\x82\ +\x00\x00\x01%\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x16\x00\x00\x00\x16\x08\x06\x00\x00\x00\xc4\xb4l;\ +\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\ +\xa7\x93\x00\x00\x00\xdaIDATH\xc7\xed\x94A\x0e\ +\x820\x10E\x1fF8\x83w\xf0\xfe\x87\xf0\x1a^@\ +\xb1\xa5t\xa6\x1a\x5c\xb4\x04\x8c\xa2\x11\xca\xc2\xc4I\xd8\ +\xd0\xe4\xe5\xf5\xf7g\x8a\xb2,;\x16L\x08\xa1x\xf5\ +\x7f\x0b\xa0\xaa\xb3\xa0UUM\x9emXi\xfe\xe0\x1f\ +\x06o30\xbaU\xc0\xdd\xed\x0a7\x0f\xa1\x05u \ +\x96b\xb7\xcf`\x1c\x5c\x826\xa0\x16\xc4f\x8aB\xed\ +\x00\xf5\x16\xe4\x92\x09,\x97h)&~\x9a\xcb\xd8\xd7\ +\xe0\xcd\x08\xdcd\x02\xbb\xf3`\xaa9\xc1\xed9A\xfb\ +\xac\xcd\x00~\xb7\xfe>g\x5c\xc7\x8cC\x93\xe2H\x19\ +O-\xeaW\x95\xed\x8e\x87!KI\x96\xbe\x8e\xa6\x92\ +\x1a1\xeb\xf1\xfc)V\xaa\xefk\xb0 \xc9TG\x0f\ +\xf85\xb8M\xd7V\x03\xe2 \x98\xc7\xaa\xf5\xb7\x98\x05\ +\xd6\xde\xd4>\xf7W\x1a\xb8:\x00\x8a\xa5\xcbfj\xee\ +\x91a\xa9f\xc0\x0f\xb5]\x00\x00\x00\x00IEND\ +\xaeB`\x82\ +\x00\x00\x00\x91\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00*\x00\x00\x00+\x01\x03\x00\x00\x004Q\x88\xbd\ +\x00\x00\x00\x06PLTE\xff\xff\xff\x00\x00\x00U\xc2\ +\xd3~\x00\x00\x00\x01tRNS\x00@\xe6\xd8f\x00\ +\x00\x009IDAT\x18Wc`\xc0\x05\x14 T\ +\x01\x84\xfa\x01&\x19\xff\x80)f\x08\x8f\xfd\x03\x98\xe2\ +\x7f\x00\xa6\xe4\x0f\x80)\xfb\x060U\x0f\xd1\xf6oP\ +k\xe3\x87hc\x83P,\x0c\x84\x00\x00\x91\xca\x1c\x09\ +\xf6#*\xfe\x00\x00\x00\x00IEND\xaeB`\x82\ +\ +\x00\x00\x02\xf1\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00*\x00\x00\x00,\x08\x03\x00\x00\x00$D\xdat\ +\x00\x00\x012PLTE\xff\xff\xff\xfe\xfe\xfe\x01\x01\ +\x01\xbe\xbe\xbe\xfd\xfd\xfd\x00\x00\x00ddd\xd2\xd2\xd2\ +|||\xfb\xfb\xfb\xe7\xe7\xe7\x84\x84\x84\xd7\xd7\xd7\xe0\ +\xe0\xe0\xe1\xe1\xe1\x0c\x0c\x0c(((\xf5\xf5\xf5\xb3\xb3\ +\xb3\x02\x02\x02\x95\x95\x95...\x11\x11\x11kkk\ +\x03\x03\x03rrrIII\xfc\xfc\xfc\x13\x13\x13\x04\ +\x04\x04\x9f\x9f\x9f\xc4\xc4\xc4\xa9\xa9\xa9\x05\x05\x05WW\ +W\x17\x17\x17\xf6\xf6\xf6\x16\x16\x16\xa6\xa6\xa6\xa0\xa0\xa0\ +```$$$>>>###\xb7\xb7\xb7M\ +MM\xf8\xf8\xf8\xc0\xc0\xc0000\x09\x09\x09\xec\xec\ +\xec \x8a\x8a\x8a\xda\xda\xda\xf1\xf1\xf1\x0d\x0d\x0d\ +\x99\x99\x99\x19\x19\x19\xf9\xf9\xf9\xcd\xcd\xcd\xf4\xf4\xf49\ +99---;;;\x12\x12\x12CCC\xc2\xc2\ +\xc2\xa4\xa4\xa4\xdc\xdc\xdcUUUhhhZZZ\ +PPP\xf0\xf0\xf0\x06\x06\x06\x1f\x1f\x1fttt\xb1\ +\xb1\xb1]]]!!!666\x08\x08\x08\xea\xea\ +\xea\xdb\xdb\xdb\x81\x81\x81\x9c\x9c\x9c\x8b\x8b\x8buuu\ +\xf2\xf2\xf2%%%\xce\xce\xceHHHccc\xba\ +\xba\xbaSSS888\xf7\xf7\xf7\xe4\xe4\xe4\xa2\xa2\ +\xa2JJJ\xf3\xf3\xf3___\xf1i\x00\xec\x00\x00\ +\x00\x01tRNS\x00@\xe6\xd8f\x00\x00\x01mI\ +DATx^\xd5\x92\xc5v\xc30\x10E=\x92\x1d\ +f\xe6\x94\x99\x99\x99\x99\x99\xe1\xff\x7f\xa1\x9e\x89\x93S\ +\xa9\xb2Nvm\xdf\xf2\xea\xfa\xbdY\xd8\xf8+\xf10\ +\xeb[X\xcc\x047\x13<\x96\x10\xc6\xb5\xadB\xda\x9a\ +om\x0d@\xb3\xad,\xe8\xda\x1a\xe2\xb5\xf4\xd4\xddq\ +\xbf\xa1\x0d\x14{\x1b\xed\x09\xd0\xbb\x03\x0d\x93\x0d\xeaM\ +\xd8A+3\x82n.\xac5\xc39\xbb\x95\xe5\xbb\xa9\ +\xdb\xa7\xbd\xc0G\xcedG'~1;\xa7q\x87\xda\ +\xd1,\x00\xf8\xe8\xda\x16\xcd~\x17\x19\x09\xc3\x88\x94\xd1\ +]\xd5\xb4\xf6\xe1n\xbf\xdf66\xe9\x92\x90\xab\xeb\xa5\ +\xf7\x09\xdb\x84a\xea\xcf\xbb\xeeg\xd1\x1c\x1dC`\xa6\ +\xd1]\x89\xbb\x98S\xd3\xb8\xef\xa9\x81\x19Z\xa8\x80\xda\ +M\xd1\xeb<\xbd\xc2B\x06\xbf[T\x9b\xe6\x12\x9a\xcb\ +N\x0f\x1c\xd0\xb5w\xca\xfd5z[\xaf\x83\x8d$\xba\ +[\xca\x0b\xb6q_\x0a\x8b\xee*\xdc\xc0\x9e\xa5\x08K\ +)\xf6\x83\x962i\xf3\x87\xe9\xdfgj\xb7\x0a\xb2{\ +\xe8b\xb2#\xd9\x84\x02\xf2c.\xe4\x04\xd9\xe9\x99d\ +\x9eS\xc3\x85H/i\xe9\x0aDzmS\x96\x8c\x08\ +\x14n\xa2Ho\x8b\x02\x8d\x97\xb0\xf5\x1e\xa4\xad\x07\xda\ +z\x14XE\xfd\xd7W\xe9\x82'\xa1\xe1\x19\x97J/\ +r\xab\x19C^~\xads\xce\xf9\x1b}\xfd\xce1\x1f\ +\xe0`\xcc'\xademL\xcc\x12\xc2\xbcN#\x139\ +A\x89y\xc1P5\xfc~\xeb\xff\xca\x17Uq \xbb\ +\xd7\xbb.\xca\x00\x00\x00\x00IEND\xaeB`\x82\ +\ +\x00\x00\x01\x1a\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00*\x00\x00\x00+\x02\x03\x00\x00\x00s\xf1\xf2m\ +\x00\x00\x00\x0cPLTE\xff\xff\xff\x80\x80\x80\x00\x00\ +\x00\xff\xff\xffEJK8\x00\x00\x00\x01tRNS\ +\x00@\xe6\xd8f\x00\x00\x00\xbcIDATx^M\ +\xcb\xbd\x89\x041\x0c\x86a\xa1\xd0U8\x1c\xdc\x8f&\ +\xd8\x12\xa6\x0a\xb3\xe1\xe6N.2\x07\x02\xdb\x07[\xc0\ +\x96\xb4U\x9cG?3V\xf4!\xde\x07B\xcd\xe0\x17\ +F\xbd\xf6\xb6\xec\x1a\xef\xa6A\x024\xb2A\x80`$\ +\xcf\x9d\x9a\xee8\x8b~x\x83O~d\xb30hW\ +\x102t\x22\x05\x98\x91\x89\x0c\xe4P\x88\x0c\xd4D\xe4\ + \xce\xdc\xc1\x98\x89\x833q \x89\x02\xe4\x9d\x1d`\ +\xa1.@\xff\xe9\x02\xfd\xf1*\x0e\xd2\xfe{\x81P\xda\ +\x02\x8e\xef\x02>\x0bx\xb3l\x01\x7f]\x1a\x03f\x1d\ +4\x00\x03B\x15\xb0\xe4\x0a$7P$W\xc0\x92+\ +\xe8\x92\x1b\x90\xdc\x80\xe4\x0a$7\xf0so\x1cp_\ +[v<\xc7?\xd6Qh R\x85\xdb_\x00\x00\x00\ +\x00IEND\xaeB`\x82\ +\x00\x00\x00\xf7\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0b\x00\x00\x00\x0c\x08\x06\x00\x00\x00\xb4\xa9G\x9e\ +\x00\x00\x00\xbeIDAT(S\x85\x911\x0e@@\ +\x10EWM$J7\xa1\xa4\x918\x85^t\xaa=\ +\x8aNT{\x80\xadun\xa0\xd1l\xe7\x12\xc4\x97\x19\ +\xb1!YQ\xfcb\xfe\xbc\xfc\x99\xcc\x08\x00\x82t\x1c\ +\x07\xa6i\x82\x10\xc2)\xcf\xf3.\xf0\xd68\x8e\xa8\xaa\ +\x8aU\x14\x05\x03I\x92X\xef\x05?\xd5u\x1d\xc3Z\ +k\xd0T\xf2\x9c 5\xeb\xbafx]W\xdc\xfeg\ +r\x9a\xa6\x88\xe3\x18O\xcf\x09n\xdb\x06\xdf\xf7Q\x96\ +\xa5]\xc1\x09Ss\x9eg^AJ\xf9\x9f<\x0c\x03\ +\xc3J\xa9\xff\xe4\xb6m\x19^\x96\xe5?9\xcfs\x84\ +a\x88}\xdf\xdf\xc9T\x18c\xec\xe1IA\x10 \x8a\ +\x22[7M\x03\x9b\xdc\xf7\xfd\xf5\xce\x8fWgY\xc6\ +\x13N\xfaWVX\xe8@\xda\xc6\x00\x00\x00\x00IE\ +ND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x0b\ +\x0a+\x97\xe7\ +\x00p\ +\x00o\x00i\x00n\x00t\x00e\x00r\x00.\x00p\x00n\x00g\ +\x00\x08\ +\x06'Zg\ +\x00b\ +\x00o\x00l\x00d\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x00I\xdb\xa7\ +\x00b\ +\x00a\x00c\x00k\x00g\x00r\x00o\x00u\x00n\x00d\x002\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x03J#\xe7\ +\x00l\ +\x00i\x00n\x00e\x00p\x00o\x00i\x00n\x00t\x00e\x00r\x00.\x00p\x00n\x00g\ +\x00\x0a\ +\x0c\xad\x0f\x07\ +\x00d\ +\x00e\x00l\x00e\x00t\x00e\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x00J\xdb\xa7\ +\x00b\ +\x00a\x00c\x00k\x00g\x00r\x00o\x00u\x00n\x00d\x003\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x00K\xdb\xa7\ +\x00b\ +\x00a\x00c\x00k\x00g\x00r\x00o\x00u\x00n\x00d\x004\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x00P\xdb\xa7\ +\x00b\ +\x00a\x00c\x00k\x00g\x00r\x00o\x00u\x00n\x00d\x001\x00.\x00p\x00n\x00g\ +\x00\x0e\ +\x0f\x0d\x22'\ +\x00s\ +\x00e\x00n\x00d\x00t\x00o\x00b\x00a\x00c\x00k\x00.\x00p\x00n\x00g\ +\x00\x0d\ +\x08\xd5\xc4\xe7\ +\x00u\ +\x00n\x00d\x00e\x00r\x00l\x00i\x00n\x00e\x00.\x00p\x00n\x00g\ +\x00\x10\ +\x0f\x9b\x88g\ +\x00b\ +\x00r\x00i\x00n\x00g\x00t\x00o\x00f\x00r\x00o\x00n\x00t\x00.\x00p\x00n\x00g\ +\x00\x0d\ +\x05l\x22\xc7\ +\x00l\ +\x00i\x00n\x00e\x00c\x00o\x00l\x00o\x00r\x00.\x00p\x00n\x00g\ +\x00\x0f\ +\x05\xaa\x0c\xc7\ +\x00t\ +\x00e\x00x\x00t\x00p\x00o\x00i\x00n\x00t\x00e\x00r\x00.\x00p\x00n\x00g\ +\x00\x0d\ +\x06C\xe3g\ +\x00f\ +\x00l\x00o\x00o\x00d\x00f\x00i\x00l\x00l\x00.\x00p\x00n\x00g\ +\x00\x0a\ +\x02\xfcBG\ +\x00i\ +\x00t\x00a\x00l\x00i\x00c\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x0f\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00D\x00\x00\x00\x00\x00\x01\x00\x00\x01\xc7\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x00\xa6\x00\x00\x00\x00\x00\x01\x00\x00\x06\x11\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x00\xca\x00\x00\x00\x00\x00\x01\x00\x00\x06\x89\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x00\xee\x00\x00\x00\x00\x00\x01\x00\x00\x06\xed\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x01\xde\x00\x00\x00\x00\x00\x01\x00\x00\x0fr\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x00h\x00\x00\x00\x00\x00\x01\x00\x00\x02=\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x01z\x00\x00\x00\x00\x00\x01\x00\x00\x0a\xca\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x01\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x0b_\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x00.\x00\x00\x00\x00\x00\x01\x00\x00\x00\xb1\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x01\xbe\x00\x00\x00\x00\x00\x01\x00\x00\x0eT\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x014\x00\x00\x00\x00\x00\x01\x00\x00\x08\xa3\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x00\x8c\x00\x00\x00\x00\x00\x01\x00\x00\x02\xce\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x01\x12\x00\x00\x00\x00\x00\x01\x00\x00\x07a\ +\x00\x00\x01z\xe7\xee'\x09\ +\x00\x00\x01T\x00\x00\x00\x00\x00\x01\x00\x00\x09\xa1\ +\x00\x00\x01z\xe7\xee'\x09\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/widgets/graphicsview/diagramscene/images/background1.png b/examples/widgets/graphicsview/diagramscene/images/background1.png new file mode 100644 index 0000000000000000000000000000000000000000..0f93c6bf420da2d6488601c5fa165c57206b322d GIT binary patch literal 112 zcmeAS@N?(olHy`uVBq!ia0vp^^&rg13?%;)_Xhwewg8_HSBC!}uyIG+0-%Vhr;B4q zMcmsnib4zwEDVnS>rI*jQ%d#ocHGE1#m&I*VJ;(s1M`#_uMbFCENlU4VDNPHb6Mw< G&;$V2W+Jly literal 0 HcmV?d00001 diff --git a/examples/widgets/graphicsview/diagramscene/images/background2.png b/examples/widgets/graphicsview/diagramscene/images/background2.png new file mode 100644 index 0000000000000000000000000000000000000000..1e293db67a5dfedacaee2b7448148dcf6bc53b92 GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^^&rg13?%;)_Xhwewg8_H*Z=?j1DTL*{Qv)7JF|TYP(;(y z#WBRgJNXAcD=$xgfffWhEMefe;e6zOFINv3CWtdI*jGH+{&<2xJWvyZr>mdKI;Vst E0PAKUcK`qY literal 0 HcmV?d00001 diff --git a/examples/widgets/graphicsview/diagramscene/images/background4.png b/examples/widgets/graphicsview/diagramscene/images/background4.png new file mode 100644 index 0000000000000000000000000000000000000000..9c1f3bfd77764732b9a0138ffbd134e696e9c6d1 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^^&rg13?%;)_Xhwe<^Z1%*Z=?jFFzuE0?3u{ba4!+ qhYP)(Fbo8M z2lQrH7A8r8p993c@02?QX__)52*dDESl2Zd0R;qA-d*T+9EWqZZR5jP3hzWw#Nr?b z^v>(LV%xTAl)mpzv3w|sg30q7ecxvTAp{P?piDrw4bwDP+;!b0{+@Z;Hk_u3W7#2& zV;sj3)y!`nBxJs-s{h+qmPL(5U0%0A%=3&*)1b^}S#~*lo~LkK_vh2vZAhr7EKAk# Y0MNh_$Of+#C;$Ke07*qoM6N<$f{V6t!Tdm4?Fu&!p#^mymSVTh zU>sb6HlP;7W{N`X0QDB+k_jxAXelOsn#*51@U_g5OYIsl5L%VuiskzuK3zz?-u00000NkvXXu0mjfg_VD% literal 0 HcmV?d00001 diff --git a/examples/widgets/graphicsview/diagramscene/images/delete.png b/examples/widgets/graphicsview/diagramscene/images/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..df2a147d246ef62d628d73db36b0b24af98a2ab9 GIT binary patch literal 831 zcmV-F1Hk-=P)R5;6h zl}l(-K@^6Q=FtdACA#^NDs^{Lp)6)L zgDB5eX;UdG_4H6F7*yIgXmIAu0!5NyOCtSU7G=!;6%|3j{gliox-!pOK?G(o&X({YLK$5)lC7F{VZbo703UCXA=&? zO>Nu>w#%A8Rp;5oKacEBBT*BGX+{#I_yE%2i8f!~SeeejbP6SvLH5VQ-~o6A-hwe1 z-+)oOG3-#N-p|7H3rxph%DcJ`E`ihFDtIo2X&L#)9#wa!-__Ey=>18UreVqnx(m*O z14e_~1JA$~|`2HhU^Ra!WRl)GgiU zYU$BXh#q3R4$gpm?mF#|Br$YH!gK>%1c$VCx82fBJaI+hxwpFb)g=^Dbv{zQc<7+k z9t8>W67osVx3S=)K2n#oseNr$I`ov*vgsc2h}xyrpv>h+JHeJUF8ZjWkj` zH1UE>PMpf&iLCQ!iioCJ)~Hi?YjvJaK8_pg59Au!plIt&?SDO~mzDzYD;xj-002ov JPDHLkV1h`%ho%4k literal 0 HcmV?d00001 diff --git a/examples/widgets/graphicsview/diagramscene/images/floodfill.png b/examples/widgets/graphicsview/diagramscene/images/floodfill.png new file mode 100644 index 0000000000000000000000000000000000000000..54c0dae237849b1ac4c8f74edd2a9f868df636e0 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^T0pGL#0(^hKYq#uQak}ZA+G=b|8Hn$0P=tgS1)f1 zAd9gi$S;_|;n|HeAZL%Ki(^PdobTzqoh*htZHWsngj&el=~ufUw2W)>!)JbaM(j+t z*`p6k+Y&m*-QGCti{d?Yr?U^l-S&Rl_D1UcGDjwpO^yu-D(C0UdS}sHSJCWWm$KO) zBV53!M2U6A#7>?k0UbP7T%IVLyK`_xXR~pkLMPLcxv~ih^&I}cWcvG2i|^9E>c)Uu zOnvW}?6@m7=P=gCN-?L&nlLasiEenprD7hS5`JKk_KQi<6YeyC_#cY%WeVb>%WRI@ YUkl7o2x`3@5A+9vr>mdKI;Vst01-}XF8}}l literal 0 HcmV?d00001 diff --git a/examples/widgets/graphicsview/diagramscene/images/italic.png b/examples/widgets/graphicsview/diagramscene/images/italic.png new file mode 100644 index 0000000000000000000000000000000000000000..9a438b57ad4369dfd110d2f2bdc126890e1aec8e GIT binary patch literal 247 zcmV(sy*Prg8NDWuEbzopr0L)V>;{X5v literal 0 HcmV?d00001 diff --git a/examples/widgets/graphicsview/diagramscene/images/linepointer.png b/examples/widgets/graphicsview/diagramscene/images/linepointer.png new file mode 100644 index 0000000000000000000000000000000000000000..66933d43b30e4352c763cadb4f0ca3bd80325037 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^(jd&p3?#QprHKJ4wg8_H*Z=?j1DTH@0 zC%qJfboH$su}j!iZuY)9>DRxMGyQkOZ#I9EdvfFM;~TQYiF#Z5)IYFal@OGE>#O_) PXgY(ZtDnm{r-UW|*?2%h literal 0 HcmV?d00001 diff --git a/examples/widgets/graphicsview/diagramscene/images/sendtoback.png b/examples/widgets/graphicsview/diagramscene/images/sendtoback.png new file mode 100644 index 0000000000000000000000000000000000000000..5aa3b0a24382610f1dc25d6708a02a90e3d6c340 GIT binary patch literal 318 zcmV-E0m1%>P)1A0e687B!#Lm%BmfS zjSWxldj>ac+a?Z_s+z6!20%orpk3GP?lruq{=t6%Y>e64N{5Y8+F*&ZZV(4{GllSW;AhrI>C^Mf7m%p9hk07*qoM6N<$f)Wjg@&Et; literal 0 HcmV?d00001 diff --git a/examples/widgets/graphicsview/diagramscene/images/textpointer.png b/examples/widgets/graphicsview/diagramscene/images/textpointer.png new file mode 100644 index 0000000000000000000000000000000000000000..b25832cada22845efb19650500edf1ceb522a8b4 GIT binary patch literal 753 zcmVE}0|Ntca&k#YN&Ni$6B82z1O%U-pTxw(si~<21qD}ER~Hu- z_V)G`78a(arl6ppU|?V*BqTmQJ|iO|x3{-VO-=at_`txxFfcF)2?^}%>>wZ@ii(Qb z+S>8)@eK_PnVFdx85#Nc`OVGE^z`&OIXNvYEjv3q5)u+aLqo#C!lb06+}zw%RaIzc zXj)oYP*70t@bCr(1|J_EbaZsFv9VoUT_GVMHa0d02ng!x>f77ffq{XXoSch`i*swgN1UC~rmJr6ZtwP$GZ*2`gv#l)X+8W}u^wiyPzo88jdmHTu(7OW- zlMU)k*g-2Zf^IIXHN!c(mF2ss+o!$2N6utNCw?(Ir*Vhc(JTP?=-L*|eis=D!-$m8 zUDdSq;cma*Ha6*!kgMyZ_X*pCVd~Gj?q|^)9YbKI(OrqVm{ZfZ@2PHF{gGgN-D*TgnTzabF6H?ke2Co}~y&DfWYwGHLUN z>ECB+w+ga*=wh-X*@Ob}V=m+b+3A^No>RkxNH1yW3PgHsQ;K9ZRdFD@*Sjvt00000NkvXXu0mjfuiIx( literal 0 HcmV?d00001 diff --git a/examples/widgets/graphicsview/diagramscene/images/underline.png b/examples/widgets/graphicsview/diagramscene/images/underline.png new file mode 100644 index 0000000000000000000000000000000000000000..9b8209f5252f74c3af386430d17b60f7eeda7ce3 GIT binary patch literal 250 zcmVVHb^x=zg3bp;R5gZF*!ld&eiecuD~aU8;zW%0@Dx(b}8DKI}F+qU^+sIF@nlx4|n z+j3P^(l<@R)>@zZ$QZ*}mWe4z62@Q7^L%gV1~VWy%?KWNb^rhX07*qoM6N<$f?^zL A8~^|S literal 0 HcmV?d00001 diff --git a/examples/widgets/graphicsview/dragdroprobot/dragdroprobot.py b/examples/widgets/graphicsview/dragdroprobot/dragdroprobot.py new file mode 100644 index 0000000..0bfd3e0 --- /dev/null +++ b/examples/widgets/graphicsview/dragdroprobot/dragdroprobot.py @@ -0,0 +1,254 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys +import math + +from PySide6.QtCore import (QEasingCurve, QLineF, QMimeData, QPoint, QPointF, + QRandomGenerator, QRectF, QTimeLine, Qt) +from PySide6.QtGui import (QBrush, QColor, QDrag, QImage, QPainter, QPixmap, + QPen, QTransform) +from PySide6.QtWidgets import (QApplication, QGraphicsItem, + QGraphicsItemAnimation, QGraphicsScene, + QGraphicsView) + +import dragdroprobot_rc + + +def random(boundary): + return QRandomGenerator.global_().bounded(boundary) + + +class ColorItem(QGraphicsItem): + n = 0 + + def __init__(self): + super().__init__() + + self.color = QColor(random(256), random(256), random(256)) + + (r, g, b) = (self.color.red(), self.color.green(), self.color.blue()) + self.setToolTip( + f"QColor({r}, {g}, {b})\nClick and drag this color onto the robot!") + self.setCursor(Qt.OpenHandCursor) + self._start_drag_distance = QApplication.startDragDistance() + + def boundingRect(self): + return QRectF(-15.5, -15.5, 34, 34) + + def paint(self, painter, option, widget): + painter.setPen(Qt.NoPen) + painter.setBrush(Qt.darkGray) + painter.drawEllipse(-12, -12, 30, 30) + painter.setPen(QPen(Qt.black, 1)) + painter.setBrush(QBrush(self.color)) + painter.drawEllipse(-15, -15, 30, 30) + + def mousePressEvent(self, event): + if event.button() != Qt.LeftButton: + event.ignore() + return + + self.setCursor(Qt.ClosedHandCursor) + + def mouseMoveEvent(self, event): + start = QPointF(event.buttonDownScreenPos(Qt.LeftButton)) + if QLineF(event.screenPos(), start).length() < self._start_drag_distance: + return + + drag = QDrag(event.widget()) + mime = QMimeData() + drag.setMimeData(mime) + + ColorItem.n += 1 + if ColorItem.n > 2 and random(3) == 0: + image = QImage(':/images/head.png') + mime.setImageData(image) + drag.setPixmap(QPixmap.fromImage(image).scaled(30, 40)) + drag.setHotSpot(QPoint(15, 30)) + else: + mime.setColorData(self.color) + (r, g, b) = (self.color.red(), self.color.green(), self.color.blue()) + mime.setText(f"#{r:02x}{g:02x}{b:02x}") + + pixmap = QPixmap(34, 34) + pixmap.fill(Qt.white) + + with QPainter(pixmap) as painter: + painter.translate(15, 15) + painter.setRenderHint(QPainter.Antialiasing) + self.paint(painter, None, None) + + pixmap.setMask(pixmap.createHeuristicMask()) + + drag.setPixmap(pixmap) + drag.setHotSpot(QPoint(15, 20)) + + drag.exec() + self.setCursor(Qt.OpenHandCursor) + + def mouseReleaseEvent(self, event): + self.setCursor(Qt.OpenHandCursor) + + +class RobotPart(QGraphicsItem): + def __init__(self, parent=None): + super().__init__(parent) + + self.color = QColor(Qt.lightGray) + self.pixmap = None + self._drag_over = False + + self.setAcceptDrops(True) + + def dragEnterEvent(self, event): + if (event.mimeData().hasColor() or + (isinstance(self, RobotHead) and event.mimeData().hasImage())): + event.setAccepted(True) + self._drag_over = True + self.update() + else: + event.setAccepted(False) + + def dragLeaveEvent(self, event): + self._drag_over = False + self.update() + + def dropEvent(self, event): + self._drag_over = False + if event.mimeData().hasColor(): + self.color = QColor(event.mimeData().colorData()) + elif event.mimeData().hasImage(): + self.pixmap = QPixmap(event.mimeData().imageData()) + + self.update() + + +class RobotHead(RobotPart): + def boundingRect(self): + return QRectF(-15, -50, 30, 50) + + def paint(self, painter, option, widget=None): + if not self.pixmap: + painter.setBrush(self._drag_over and self.color.lighter(130) + or self.color) + painter.drawRoundedRect(-10, -30, 20, 30, 25, 25, Qt.RelativeSize) + painter.setBrush(Qt.white) + painter.drawEllipse(-7, -3 - 20, 7, 7) + painter.drawEllipse(0, -3 - 20, 7, 7) + painter.setBrush(Qt.black) + painter.drawEllipse(-5, -1 - 20, 2, 2) + painter.drawEllipse(2, -1 - 20, 2, 2) + painter.setPen(QPen(Qt.black, 2)) + painter.setBrush(Qt.NoBrush) + painter.drawArc(-6, -2 - 20, 12, 15, 190 * 16, 160 * 16) + else: + painter.scale(.2272, .2824) + painter.drawPixmap(QPointF(-15 * 4.4, -50 * 3.54), self.pixmap) + + +class RobotTorso(RobotPart): + def boundingRect(self): + return QRectF(-30, -20, 60, 60) + + def paint(self, painter, option, widget=None): + painter.setBrush(self._drag_over and self.color.lighter(130) + or self.color) + painter.drawRoundedRect(-20, -20, 40, 60, 25, 25, Qt.RelativeSize) + painter.drawEllipse(-25, -20, 20, 20) + painter.drawEllipse(5, -20, 20, 20) + painter.drawEllipse(-20, 22, 20, 20) + painter.drawEllipse(0, 22, 20, 20) + + +class RobotLimb(RobotPart): + def boundingRect(self): + return QRectF(-5, -5, 40, 10) + + def paint(self, painter, option, widget=None): + painter.setBrush(self._drag_over and self.color.lighter(130) or self.color) + painter.drawRoundedRect(self.boundingRect(), 50, 50, + Qt.RelativeSize) + painter.drawEllipse(-5, -5, 10, 10) + + +class Robot(RobotPart): + def __init__(self): + super().__init__() + + self.torsoItem = RobotTorso(self) + self.headItem = RobotHead(self.torsoItem) + self.upperLeftArmItem = RobotLimb(self.torsoItem) + self.lowerLeftArmItem = RobotLimb(self.upperLeftArmItem) + self._upper_right_arm_item = RobotLimb(self.torsoItem) + self._lower_right_arm_item = RobotLimb(self._upper_right_arm_item) + self._upper_right_leg_item = RobotLimb(self.torsoItem) + self._lower_right_leg_item = RobotLimb(self._upper_right_leg_item) + self.upperLeftLegItem = RobotLimb(self.torsoItem) + self.lowerLeftLegItem = RobotLimb(self.upperLeftLegItem) + + self.timeline = QTimeLine() + settings = [ + # item position rotation at + # x y time 0 / 1 + ( self.headItem, 0, -18, 20, -20 ), + ( self.upperLeftArmItem, -15, -10, 190, 180 ), + ( self.lowerLeftArmItem, 30, 0, 50, 10 ), + ( self._upper_right_arm_item, 15, -10, 300, 310 ), + ( self._lower_right_arm_item, 30, 0, 0, -70 ), + ( self._upper_right_leg_item, 10, 32, 40, 120 ), + ( self._lower_right_leg_item, 30, 0, 10, 50 ), + ( self.upperLeftLegItem, -10, 32, 150, 80 ), + ( self.lowerLeftLegItem, 30, 0, 70, 10 ), + ( self.torsoItem, 0, 0, 5, -20 ) + ] + self.animations = [] + for item, pos_x, pos_y, rotation1, rotation2 in settings: + item.setPos(pos_x,pos_y) + animation = QGraphicsItemAnimation() + animation.setItem(item) + animation.setTimeLine(self.timeline) + animation.setRotationAt(0, rotation1) + animation.setRotationAt(1, rotation2) + self.animations.append(animation) + self.animations[0].setScaleAt(1, 1.1, 1.1) + + self.timeline.setUpdateInterval(1000 / 25) + curve = QEasingCurve(QEasingCurve.SineCurve) + self.timeline.setEasingCurve(curve) + self.timeline.setLoopCount(0) + self.timeline.setDuration(2000) + self.timeline.start() + + def boundingRect(self): + return QRectF() + + def paint(self, painter, option, widget=None): + pass + + +if __name__== '__main__': + app = QApplication(sys.argv) + + scene = QGraphicsScene(-200, -200, 400, 400) + + for i in range(10): + item = ColorItem() + angle = i * 2.0 * math.pi / 10.0 + item.setPos(math.sin(angle) * 150, math.cos(angle) * 150) + scene.addItem(item) + + robot = Robot() + robot.setTransform(QTransform().scale(1.2, 1.2)) + robot.setPos(0, -20) + scene.addItem(robot) + + view = QGraphicsView(scene) + view.setRenderHint(QPainter.Antialiasing) + view.setViewportUpdateMode(QGraphicsView.BoundingRectViewportUpdate) + view.setBackgroundBrush(QColor(230, 200, 167)) + view.setWindowTitle("Drag and Drop Robot") + view.show() + + sys.exit(app.exec()) diff --git a/examples/widgets/graphicsview/dragdroprobot/dragdroprobot.pyproject b/examples/widgets/graphicsview/dragdroprobot/dragdroprobot.pyproject new file mode 100644 index 0000000..f31851b --- /dev/null +++ b/examples/widgets/graphicsview/dragdroprobot/dragdroprobot.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["dragdroprobot.qrc", "dragdroprobot.py"] +} diff --git a/examples/widgets/graphicsview/dragdroprobot/dragdroprobot.qrc b/examples/widgets/graphicsview/dragdroprobot/dragdroprobot.qrc new file mode 100644 index 0000000..b0969d2 --- /dev/null +++ b/examples/widgets/graphicsview/dragdroprobot/dragdroprobot.qrc @@ -0,0 +1,5 @@ + + + images/head.png + + diff --git a/examples/widgets/graphicsview/dragdroprobot/dragdroprobot_rc.py b/examples/widgets/graphicsview/dragdroprobot/dragdroprobot_rc.py new file mode 100644 index 0000000..b0e29d4 --- /dev/null +++ b/examples/widgets/graphicsview/dragdroprobot/dragdroprobot_rc.py @@ -0,0 +1,975 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.2.2 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00:|\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x84\x00\x00\x00\xb1\x08\x04\x00\x00\x00\xaf\xfa\xdd2\ +\x00\x00\x00\x09pHYs\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x00\x07tIME\x07\xd6\x03\ +\x10\x0a1\x18\xc7\xacb\xef\x00\x00\x00\x1dtEXt\ +Comment\x00Created \ +with The GIMP\xefd%\ +n\x00\x00\x00\x02bKGD\x00\xff\x87\x8f\xcc\xbf\x00\ +\x009\xe4IDATx\xda\xd5\xbd\xd9\xb2]\xc7\xb5\ +\x9e\xf9e\xe6lW\xbb\xf7\x066\x00\xf6$\xa8\xc6u\ +\x8e\x1daY\xf2E\xd5E]T\xd1\xe1\x8b\xba&\x1f\ +\x81z\x04\xea\x11\xc8G\x10\x1fAz\x041\xea\xae\xae\ +|\x8e\xe3\xd4)GX\x16M\x1cQ\x02\x89nw\xab\ +\x9d}\xa6/r\xcc\x5cs-l\x10\x0dI\x85\x0b\x0c\ +\x92\x00v\xb7\xd6\x98\x99\xa3\xf9\xc7?\xfe\xa1V\xfc\xb8\ +\xbf\xdc\xe0\xf7*\xfc\x9d\x02,J~?\xfcSK\x07\ +\xc4\x18*\xda\x8f\xdb\xdfr\x19\xfd&\xfe\x9b\xfc\xa6\xa1\ +\xc3\xde\x8d\xee\xc5h\xc0\xe1\x00\x15\xbe\x9b\xda3\xf9\xff\ +\xd4\x86\xf0/\xdb\xc9[wh\x1c\x96N\x8c\xd2|z\ +\xf1IAM\xca\x98\x88\x925[\x1c\x09\x19\x0aKB\ +N\x8d\x05R&\xe4*\x12\xf3)\xf9\x09\xea\xe0'\xbd\ +\xbc!\x22\xfef\xbf\xfa\x0b\x01\x1a\xb0h:\xca\x8f\xb7\ +\xbf\xad\xb1T\x94lQ\xa4(\x1a6\x5c\xb2$&\xa7\ +\xe2\x8a\x0a\x03\xb4\x14hbr\xe6\x1c\xbb9\xb9\xca\xe4\ +\xad*9\x1d\xdf\xef\xd7\xdf\xd0\x10jp\x84-\x0d\xd5\ +\xdd\xf2\xabK.\xa8\xe8h\xd8r\xcc1s\x1c\x0b\xce\ +\xd8b\xd1\x94\x14\xc2{\x85\x9a\x0e(\xdd\x8a\xfbl8\xa3`\xc2)\ +34\x11[V\xac(\xa9)i8c\x83\xe1\x981\ +-\x96\x0c\x87\x01j\x1a\x14\x19)w\x98s\xca\x09\xe3\ +\xf7\xd3{\xe6{;\xcb\xe8\xd5\xdf\x9cz\xea\x8d\xf6\xb7\ +\xbfC\xc9S\xe2\xc0U\xb64\x1f\x17\xbf\xdd\xb2\xa1\xe4\ +>\x1d\x96\x11c\x124\x86+6\x5c\xb1f\xcb\x96%\ +%WL\x99\xd3\xf0\x98\x16ML\xd3\xc7\x16\x22fL\ +\x80\x05k\xd6\xcc\xbf\x9a1W\x99D!\xff\x1a\xa0\xc5\ +\x1c8\xd3\x1f\xe1D\xb8gX\xdcI6\xe0\x7f\xf5A\ +N\x0dND\xcd\x85[Rr\xceC.\xb0\x8c\xb8\xc1\ +\x18G\x83C\xb3\xe1\x82\x15\x1bJ\xb6T(\x12b4\ +\x1d-\x00\xe7\x00\xc4\xa4\xa4\xc4\x18nb\xd1Dd\x9c\ +\xf0&\xb7xS\xc5\x98\xf0\xca\xdc\xde\xef\x86\xa1[\xfd\ +\x18>b\xdf$>\x18j\x1c\x0d\xb5\xb3\xe8\xcb\xf4\xa4\ +\xf7\xed\x0d\x06G\xf5\xe99\xe7\x94<\xe0K\x22r\xc6\ +(\xd6,hHI\xb9\xe2!\x17\x944X,s:\ +:\xac\x18\xb8\xa3\xa6E\xa1\x18\x13c\xd9\xb2\x92\x8fk\ +\xe6\x9c\xf1\x0e\xb8\x19\xe3_\xeb\xcf\x15\x86\x18\xb5\xf7P\ +\x86g\xf7zc|\xcf\x131\xbc\x97\xed .\x94w\ +\xb7_\xadQ\xc4\x8c/''\x11\x8e\x0eC\xc9c\xf7\ +5\x8f\xd9\xf0\x98\x87$\xdc\xe6\x84\x96K\x1a&\xcc\xf8\ +\x86%\x17\xac\xb0D$\xc4\xa4(\x8c\x98\x01\xa0\xa2\xa2\ +!fLLK\xcd\x82\x88\x84\x08H\xb9\xcd\x1d\xde\xe1\ +\x84\x13r\x12r\x95`\xb0rU\x86y\x86\x1b\xc4\xaf\ +\x1f%j\xa8p\x19,\x0eMzO\xab\x09kw\xc1\ +\xf9\xf1\xc8\x1d3U1\x9b\x0f\x1e\xfd\xe1k\xce\xb9\xe2\ +\x9c\x0d\x13@\xb1\xe015\xc78\x9e\xf0\xdfh\xb1@\ +B\x8cO\xa93r\xa0\xa2A\x11ai\xa9\xd9\xb0\xc1\ +\x88\x07\xf2\x97\xa7\xa5\xe6\x9c\x86)-\x1d\xc7\x1c\x01\x8e\ +n\xcf\x87\xb9\xe7\x86\xd8\xe8\x87\x88\x07Jn\xaf\xa5\xb8\ +\xbb\xf8\xaa\xc6\xa0h\xb9\xf1Y\xc5\x9a\x05\x09%\x85\xcb\ +x\xcc=\xee\xd3\xb2\xe1\x09\x969\x8e+\xb6l\x99\x10\ +q\xce_)1$h\x1c%\x0bZ&\x8c\xa8\xb1l\ +(\x81\x08GMEA\x87&#F\xd1\xe1Hq@\ +\x89\xe1K&\x9c\xf2:\x11c\x0cJ.\xd5\xbe\xb3\xfe\ +Q\x9c\xa5\x93<\xb1/\x86b*\xce\xdd7\xacpT\ +,\xb9C\xc1\x8a\x12HH1\xacy\xc2\x0aE\xc1\x05\ +59\x19\x1d\x90\x12Qp\xc9\x92\x11\x96\x96\x8a\x92\x9a\ +\x0e\xcb\x1c\x83\xa6\xa5\xa4\x06\x14)\x96\x8e\x0e\x87&\xc2\ +\xe0\x80\x84\x8c\x94\x88\x8c\x9c-\x19G\xbc\xc5\xff\xc2O\ +9Q\xd1\xc0G\xb8\xa7j\x11\xf5C\x9e\x08\x9f\xda\xb6\ +t\x1f\xb7\x9f\xdac\xc7DU\xff\xe0\x1d]\xc7\x15\xdf\ +r\xc1\x96\x05+j\x1411\x13\x1c\xd0Qa\xa9\xd8\ +p\x8c\xe2\x84#\x9e\xf0gj\x8eh\xd8\xb2dCC\ +L\xce\x88\x86\x8a\x8e\x16\x8b\x95$\xcc\x07h\x034T\ +\xf2\xd2c:\x1c-%\x13\xa0\xe4\x9c\xc7\xdc \xfd\x87\ +\xd1\xaf\x8cD,\xf7}\xf3\x88\xa7\x13\x94\x0e'_\xe0\ +\xd0@Mq\xd1\x1c\xb7\x94\x94t\x94n\xc9#\x1eq\ +\xc6\x86\x0a\xcb)\x96\x92\x92\x05\x1bj\x1c7\x982\xa1\ +e\xc9\x96\x88\x11\x0d\xff\x9a\x9c\xff\x8f\x7f!bB\xc9\ +_h\xa8Qd\x8c\xa4\xe6\xachhH\xc8\xb0Tt\ +\xe4D8\x222\xa0d\x89\xc2\xe2\xe8\x980\x22aL\ +DF\xc4\x92\xc7\x8c~\x19\xdd\xcd\xef\xa9g\x84J\xf5\ +\xaa>B\x85\xcc\xc0\xed\xfdM{ws\x5cR\xb3a\ +A\xc1\x92K\x1e\xb3\xa2\x15\xff\xfc\x98\x96\x825\x05\x9a\ +1cFh6\xacY\xd11\x22\xe5\x94oYr\x81\ +\xa6fIA\x81\xc3a)\xe9\xa8I\xd8b\xe9\xd0\x18\ +q\x93q@,*\x14\x8e\x1b\xf2\xd1\x0cCK\x87\x22\ +''!\xf1\xce\xf4\x9e\x1b\xbca\xf5}N\x84\xba\xa6\ +zT\xc1\x03\xb7Tw/\xbfz\xcc\x9a\x8a+\xceX\ +\xe0\xb8bAK\x8c\xa2\xa4\xa0\xc0\xd2\xd0\x00)3f\ +,\xe9\xc4\x03$\xa4\xe48\xfe\xcac\x14\x8a\x15k\xc9\ +\x0b\x15\x96\x9a\x96\x96\x94\x0c|\x00&\xa1@\x01\x11)\ +\xd0b\xe9\xb0\x92\xbe\xa5\x80\xc6\xd2\xb1e*\xaf;%\ +\xa5qwTD\xf4\xc2\xb9e\xf42.R\x85\xff\xd6\ +\xac\xddC.9gK\xc1%gl\x18Q\xca]\xae\ +Y\xb1!E3\x22!&B\xb1a%?\xd0G\xff\ +\x8eoY\xd2\xe1(Y\xe2\xc8\x05\xab\xf0~@\x039\ +\xa0\x88\xc8\x18\x91\x92\xb0\xc0\x90\x12S\xb1\xa1\xc5R\xd3\ +\xa1p$\xc4@K\xcd\x16E\xc1\x15W\x5cr\x83\xad\ +\x9b2#W&\xa4\xdd\xdf\xdb\x10\xee\xe0O\x1dK\xf7\ +\x90\xaf\xd8RR\xb3\xe6\x92\x15\x0d\x1bj\x1a\x1a\xc9\x03\ +\x0d\xa7(bF\xc4\x94\x5c\xb0\x22\xc6\x04\xef]\xd3\xb0\ +%f\xcc\x86Fp\x06EC\x85!&\xc6\xa0Y\x89\ +\xd9\xb7\x8c\x88\xe9\xe8\xd8\xd2\x90\xd1R\xe1\xe4\xcd\xbbA\ +M3%\x92\xef\xdc\xd0p\xc9\x827x\x8f\xd3\xdf\xe5\ +\x1f\x99k\x11\xac\x974\x84\x1b\xfc\xd7\x07\xca\x8e\xb5{\ +\xc8}.\xe4G\xaeYQ`\xb9\xa0\x91\x808bD\ +\xca-*\x1a\xf1\xf0\x15%\x11\x84\x97\xad1\x01l\xcb\ +\xc8P8R\xa0\xc3\x11\xcb\x19\x8aPr\x99Z\xc9\x1a\ +|D\x89\x80\x8c)[y(-V\xaa\x92\xfe\x12X\ +6\xb4\x8ci1\xc4\x1fE\xa8\x83*\xe8\x15\x0c\xe1\x06\ +\xa6\xd0\x929l.\x1e\xf1\x0d\x17t\x14l(\xd9\xb0\ +\xa1\xa0\xa5\xc4a\x18q\xcc\x9c\x1cC\x22a\xb2\xa4\xa6\ +%\xa1#&#\x0e`\x9d\xa6\xc0\x91`\x80\x8eN\xae\ +\x81\xcf\x12\x224\xb7H\x81\x15+Z4\x8a\x86\x9a\x82\ +\x98\x04\x85\xa6\xa6\xa1\x93\xbc\xc21&a+>%\xc3\ +Q\xb2\xe5&\xed\xc0\xaf}\xef\xf0\xe9\xc2\xbfJ\xfe_\ +\x1c\x9fqA\x85\xa5\xe0R`\x12\xff\xec\x0d#nq\ +\x9b\x9c\x92\x15\x1d\x0d-%k\x1a\x22R\x14cNH\ +\xa8YS\xd2bh\x80\x8c\x9a\x12\xc5\x98\x92\x98D\x0a\ +70lI\x18\x01\x8e\x06\x85\xa1\xc6`\x88\x89\xe8\xa8\ +X3\xa1\xa1\xa2eCGMJ\x07\x82Xu4T\ +|I\xc4)S\xa7\xd5\xee\xb4\xbcr\xd4\xd8A\xe5\xfe\ +\xd0m\xef^~\xf5\x84\x82H\xea\x8a\x8a\x85\xd4\x80-\ +\x0d\xb7x\x93c4K\xceXp\x8b\x86\x92\x12\xc8\x99\ +0f\xc6\x881\xb0A\x13\xd3\xb1\x06\x1a\x1a49\xe0\ +\x88P\x18\x22\xa9^[\x14[JZ**\x09\xdd\xb7\ +\xd8\xe0\xc8X\xb1%e\x83\x96\x1cSq\xc5\x869\x9a\ +D\xa2\x86\x22Bs\xc1=2\x227W\xec]\x8d\xeb\ +`\x84\xe8\xc5\xa2\x857H\xc3\xfa\xabs\x9ep\xc9\x9a\ +\x86BR\xe1\x1a\x87!\xe7\x16\xb7\xb8\x85b-)\x8e\ +\xcf\x04cb\xc6\x9cp\xc4)\x19\x09\x0dK\xb4\x9c\x06\ +\x0dT8I\xd5T\x00cA\xa1q(24\x19\x05\ +\x15-s\x22\x0c\x15\x1111\xd0a\xe9h\xd1\x82P\ +t8j\x898\xb1\xc0\xbdK.9\x11,\xfc{E\ +\x0d5\xb8\x1a\x96\xea\xd35+\x96\x5c\xb1\xa6\xa1\xa3\x0e\ +\xb9\x7fJ\xc2\x0d\xa6\xf2,\xbdc\xad%\xce'\xdc\xe0\ +5\x8e\x99\x13\x11QKG\xa3\x22\x95:\xa3\xa3\xa5\x93\ +\xd4\xbb\xa3\x13\x5c\xa3\xa3 e\xca\x98\x94D\x12\xa6\x8c\ +\x84\x05\x8e\x91\x9cO%\x91C\x912f\x85\xa5\xa5\xc0\ +\xd2\x92\x12I\x0ds\xc6\x9c\xd4E*\xf9\xbeQC\x0d\ +\xf0\x06\xdf~\x89\x80\x92\x92\x88\x9a\x1aH\xc9\xc8\x89I\ +\xa9\xa9\xe4+6\x5c\x91cHI\x98r\x93\x1b\x1ca\ +0\x18\x14S \xa3aCJLAECM\x87\x91\ +S\xd6\xd2a\xb1h\x1aZ\xa9B3\x14\x1b4\x19\x15\ +\x0d\x19\x8e\x82X\xaa\xd5\x92N\xea\x93\x86Zj\x9d\x96\ +\x18\x83\xe3\x82\x87\x8cH\x88\xdcL\x99W/\xba\xdcA\ +\x87\xaa\xa1\xa4\x09]\x84\x86\x82\x0a\x183%\xc21\x01\ +\x1a6T\x94l\xa8\xc9I\x98s\xc4\x11'\x1c3\xa6\ +\x22\x12\x18%\xa7\xa6\xe31cr\xc1(\x155\x11%\ +m\xf8\xfe\x8a1\x8a\x08G\x85\x0d~C\x03\x1d\x86T\ +J9\x0f\xf0W\xb4\x94\x8cp\xe1\xba\xb4\x186T(\ +rRbR\xa2\xdfM?z\xc5Z\xc3\xed\xfd\xde\xd1\ +|\xbc\xe6\x9cK\x96\x14\xb4h)\xa5R&Lq\xd2\ +~qlyLM\xca\x11\x13f\xdc\xe1\x94\x19SF\ +$\x18\x01T\x1c\x09\xad<\xf1\x92\x15\x0b\x96\xac\xa9(\ +qt@\x14 :\x1f#\x1c%\x96\x96\x88\x0d1\x8e\ +\x92\x08C\x22\xd7(\x17\x8f\xe3B\x81\xee0h\xe9\xa3\ +\xb5l\xb8`\xc4\x09\xb3\x0f'\xdf\x99hG\xcf\xf3\x0f\ +H)dY\xfc\xf6\x8c3\x96\x14l\xd8\xd2Qc\x18\ +3f\xce\x98\x06\xcbC`\xcb%\x15\x19GL8\xe5\ +\x88\x9b\x1c\xf9\xa3\x89&\x0b\xd8v,\x00}GK\xc1\ +\x8a%k\x1a\xbe\xa5\xa5\xa1\xa6\xa6\xa0\xa0\xa2BI8\ +\xf4\x10m\xcb\x8a\x12\xcd\x86\x98)\x09\x0d-[R\x0c\ +\xbe\x01\xe8\xaf\xad\xc1JD\xf3\x0es\xcb%\x19\x0bN\ +\xbf\x8f\xb3\xec\x9bi\xdey]r\xc9\x06+\xdf\xbe\x22\ +%!f\xca\x84\x14\x03\xfc\x99\x0dk4\xa7\xbc\xc1\x14\ +\xcb\xebb\xa4Hz\xdc\xb9T\x11J\x92p\x1f\x8d&\ +L\x98\x0b\x1c\xe7k\xcb\x82+.\xd9\xd2\xa01tX\ +\x0c\x13F\x5c\xd0\xd1\xa1\xa9p8\x12\x14[j:\x12\ +\xc0\xa0\xb1h)\xbf\xac\xb8P_\x9a\xd5\x18.X\x7f\ +\xbf\xa8\xe1\xb0\x18\x0cW\xee\x1b\x16X\x12\xd6<\xe2\x9c\ +\x0a\x85b\xc61)\x1b\x1ep\xce\x9aK \xe1\x98\xdb\ +\xdc\xe6\x98\x84#f\xcc\x88h\xb1D\xc4\x12\xe3\xfb\x80\ +\xec\xdf\xa2\xc2\x90K\x1a\x95SQ\xd0`\xa9)(\xb9\ +\x92\xe4\xbc\x93@\x1b\xf1:5%\x9a\x92Kr\x14\x11\ +1\x06CB\x84a-\x10NC#\xc5yBGM\ +N\xc9}r^ws\xa5\xf6J\xc7\x97\x0a\x9f\x1aG\ +\xc5\x15\x0f\xd8\xd2P\xb2\xe6\x9c+\x22f\xdc\xa6\xe4[\ +*J*J\x1a\x0c\x09\x13nr\x9bS\x8eH\xc9H\ +B\xd3WK^\xe0\x06\x08\xb2\x1ep\x1a\x14\x9a\x13j\ +*\x81ZJ\xc1\xacJ\x0aJZ:\x1c\x09[\xb6$\ +\x18\x22 &\x11\x88\xd6\x10\x91b\xa4[\xdeIn\xea\ +A\xc4\x1e\xff~B\xca;p1;Q\x07\xdd\x96\x17\ +0\x84\x95c\xdc\xb2vO\xf86@d5\x96\x9c\x9b\ +d\xac\xb9`%WH\x913\xe56o\xf2\x1a7\x98\ +\x08\x9a\xe0?\xa21!7\xdd\xfd\xab\xa5\x14Rh,\ +\x0eED\x22e]C\xc3\x11\x96\x9a-[\xd6\x14\x12\ +\xa8c\x0a\x22\x12:\x14\xa9d1\x8aX\x8a\xfb\xde\x9b\ +\xb5t\xb4lqt\x8c\x04\x1b\x1dq\xc1\xcd\xe3\xe93\ +\x0b\xf2\xe7\xe6\x11\x96\xfa\xe3\xad`\xc7\x0d[Z\x12f\ +L\xc9\xb9`\x8bf$!\xad%\xe7&os\x87c\ +\xc6\xe4$\xb4by\x1f-vgL\x1d\x9c\xb8\xde`\ +\xde\xe7\xf7m\x01E\x8e\xa3c\xcc\x96\x945U\xc0 \ +\x0c\xb1t@\x8dT%\xbe\xfb\x11\x0bn\xddR\xd1\xd2\ +RH\xd7]3\xe6\x84\xdb\x9c2\xfe\xcc\xbc\x8a\x8f\xd0\ +\xf2\x8d\xca\xdf\x96\xc0\x845W,h\x18\xe1\xd0,y\ +\x82\x22\x11\x1f`\x88x\x9b\x9b\xbc\xce1\xa9'~\xd0\ +\x02\x9a\x98H^\xa8\x0a\xff\xf4&\xde\xb1]\xf4\xa0\xa8\ +sRv94Z\xcc\x18S\xb1\xa4\x91\xaa$\x93\x0b\ +\xa9\x89\x04\xcc\xdd\x99\xcfI\xf5\xd1\xe7\x14\x8a5\x09'\ +\xfc\x8c7?\x9b\xfe\x86\xd0\xf6yig\xd9}\x5cR\ +H\x82\xe2\xf1\x80\x11\x0d\x1bV\x820T\x94hf\xcc\ +\xb8\xcb\x8c99\x0aGM#/Ic\xa4\x80\xd7\x03\ +<\xa2\x0f\xcb\xc3\xeeS\xffF\xfa|\xa0\x09\x9eE\x11\ +\xd3\x08\x16\xb5\xa1\x95\xccvA$\xa7\xa1O\xcd;\x81\ +\xed\x1aq\xf2-\x8d<\x14MF\xf2\x1b\x7f^\xa2k\ +M\xf1|`\xe6n\xc3\x92s\x16\x9c\xe3\x181\xc2R\ +R\xb0\x05j*J,\xc7\xbc\xc9\xdb\xbcIB\x86\x91\ +\x00\xe6\xdf\x9a\xde3\x02\x03Z\x87;\x00\x82\xa1\x93\x0b\ +\xd4\x17]\xf1\x80\x1e\xa4\xa5\xab1bI#x\x83\x0e\ +\xde\xa5\x95\xb3\xd3I u\x18,\x8e\x8a\x12\xe5[\x8d\ +<\xe0=w\xa4\xcc n\xbdd\xd4P\xf7Z|F\ +y\xce\x9499+6\xac\xa9I\xa8\xa9h\xc8\xb9\xc5\ +Oy\x8fL\xb2\x84\xfe\xc6\xabp{\xad\xfc\xee\x90P\ +\xb6\x9f\xf2\xba\x80-\x1ay\xb2\xfd\xdf\xfa\x0e\xc5H\xfa\ +]\x05V\x80|\x8fO5\xf2=\xbc\xe1|F\xd1_\ +N\x7f\xb1\x1a\x1es\x8f\xbf#\xffx\xfc\xf9\xb3\xe0\xdc\ +\xef\xe8t\xf9O\xae\xb9\xef\xfe\x89/)x\xc4\x09\xc7\ +8\xcex\xc2\x96\x8eR\x90\xe5\xd7\xf97\xbc\xcf\x8c4\ +\xf8\x00\x7f\xe8\xe3\x90\xf31\xb8\x14J|\x82\x12\x1c\xba\ +o\xdf\x80\x198\xe8\xbe\xf0\xeaBBg\xa5\xe4/\xd8\ +J\xc5\xb3\x11\xc4\xbb\xa1\xa4\x12\xa6\x95\x93\xf0\xdb\x08~\ +\xf5\x10\xcb\xeb\xb4t\xbc\xcb\x7f\xe4\xdfs\xaa\x90\xcc\xf3\ +%3\xcb!`\xabhX\xd3\xb2\xa5Ea\x98`\x88\ +\x19\xf3\x0ew\x98\x92\x0d\x0erO\xd8\xd0r\xf3\x19\xb8\ +\xc9\xde\x0cC\x0e\xc3!\x1dl\x98_\xf4W\xcc\xcaS\ +\xb7Xi\x09\xfb\xfb^\x0b$\xac\xa9q\x12\xf2}-\ +\xe2H)9\xa7$\xa6\xe5\x09\xf7\xf8\x197\x9f\x09\xef\ +\xbf@_\xa3\x7f\xca1\x1d[Z)q=\xe9o<\ +\x88\x14Qx;z\xf0vw}rs`\x90>p\ +\xdap\x86v\x89\x8e\x0ao]\x853\xe4\xb3\x0e\x8d&\ +\x16(\xbf\xa3!\x11@\xb7\xe6R~r\x84!\x07\x1a\ +\x8eXq%\xc8G\xc5W\x9c\xf16\xf1\xab`\x96}\ +\xc1\x93\x90H\x09\xdd\x81\xa0\xce\x8a\x15\x09#N8\x22\ +\x0d\xb4\x8c\x9d)\xf4\x81\xd5\xd5\x9e\x11\xd8\x0byVn\ +\xf5\xfeg\x0f\x197}b\xe6\x82\x89}O4\xa2\x95\ +\xd8\x14\xb1\x91\xd8\xa1\x89\x84V`\x980\xc1b\xc9\x18\ +\xd1\xd2\xd2=\xf3\x0dG\xcfo\xe9\x18a,\xf4\x81\xac\ +'\xf5\xf9\xca\xe2\x881i\xe8\x88\x0e\x9f\xe9\xae\x05\xa0\ +\x0f(\x86\x87\x94\x82>\x03u\x83|CK\xb7\xb5\xaf\ +xl\xc8<41V\x12\xa8\xfe\xc4Y \x97\xaeJ\ +o\xaa\x9c\x8e\x11\xb79c\xc1\x8c\x9b\x1c\x93\x85\xcb\xf3\ +t\xdcx\x01\x84J\xcb\x97v\x18\x22\xb1\xbf\xffA\x19\ +S\xa6\xa4 \x8c\xb7\xdd\xdb\xfanf\xb4\x1b\x98\xf9Y\ +mZ\xff\xfc\x87\x0cl-\xdc\x19\x9f\xb2\xfb\x9a\xb6\xbf\ +b\x16\x18\xd3P\xd2\x06\xbf4\xa7dNJ\xc9\x19\x96\ +9o\x09A\xf1\x15\xf1\x08'\x00G-f\xf0\x07\xd9\ +`\x88\xc8\x980\x22\x96\x00\xe9_\xaa\x93\xecah\x8e\ +\xa1\x83\xd4\x07<&5h.\xab=j\x8f\x0b'\x03\ +\x81\x8f\x11\xc2\xb2\x22\x96\xb3\xd1\xc9u\x00%<\xba:\ +\x5c\xcc\x88\x889\x9a\x05O\xe8$+\x1eF\xaf\x97\x8e\ +\x1a\xde\x0c\x95\xf8\x09'\x04\x1fCL\xce\x84\x09)N\ +:W\xfd[\xe8\xa9=z`\x06-OO\xedqY\ +\xf4\xe0Y_G\xe5\xd8w\xad\x8e\x88.T\x16}U\ +\xdb\x9f\x94J\xc0\x98\xfe\xf07(F\xe4\xdc\xe2\x8c\x15\ +-\xe7\x14\xc1\xb0\xaf\xe4#4\x0999\x8dT\x0d\x11\ +\x9a\x84\x98\x9c7\xb8\x81\xc1\x92\xa2\xa9I\x06\x1d\xf3\x9d\ +\xb3S!T\xea\x01\xbd`\xc7k\xda\xfd3\xf4&\xfe\ +\xabZ\xc9#\x08\xd9\x86\x96\xef\xea\xe1\xb9\xfemE\x02\ +\xdfDt\x81z\xe6\xb0\x82l\xbe\x86\xe2\x1e\x8fQ\x94\ +\xb4\x1f\xa4_t\xa1\x5c{\xc9\xbe\x86\xa5\x11\x04)f\ +\x84\xa2\xc5\x11\x11\x0b\xd0\x1e\x85\xb2\xc8=\x15\x1f\x86f\ +\xe1\xa9\xa2\xeb\xbaK\xe0\xf6:l\x87\x83\x0dn\xef\xcf\ +&P\x09\xd8\xfbs\xef3\x1a4-c2,\x05\x8a\ +\x98\x96\xf6\x0fN\xbd\xa2\xb3tXjjJ\x22\xc6\xe4\ +\xd2\x7f\x82\x88\x91t\xad\xd5 \xee\xef\x07?u`\x98\ +}3\xec\xa2\x8b\xba\xa6\x02=t\xb1\xea \xf5\xea\x83\ +(!\xec\x1a\xb9\xba]0eM+L\xefJ\x1a\xcc\ +\x0d6D8\xf5r>\xc2\x09@n1dL\xb0\x94\ +\xf2\xe3#q\x8e\x96v/\xe2\xab\x80L\xeeg\x92O\ +g\x11\xbb\xe6\xf2\xf0I\x0e\xa3\xca\xae\xed\xf84\xb3\xd3\ +`1\x82Y{\xaa\xa1#\x11\x9e\x96\xa6#\x92\x14\xdc\ +\xa2\x89\x89I%\x0e\xbd2?\xa2G\x8f\x8e8fF\ +\xcbF\xf2\xb7h\x8fq\xab\x0f\x12\xec\xc3t\xfa\xe9\xf4\ +\xf9\xba\xc2K\x85\xb9\x9c\xde\x99v\xe1\x9a\xa8k\xd2p\ +'\xa0\xad\xa1E\x13\x85A\x986`\xd9=.\x12\xc9\ +\xe9\xed\xd3>\xfd\xf2\x86\xf0\x00kGN\x82\xa1\xa2\x96\ +\xaa.\x92&\xec\x0e\xdb<\xac\x13\xfah\xc1A\x03\xf6\ +\xbah\xee\x0eH\xc2\x87y\x86\x1ad\xaf\x87Y\x8e\x7f\ +\x1d\xadd\x98\x0c.\x97\x12\xd2J\xcc\x88\x9a\x86\xfa\x99\ +\xd4\xd3\x172D\xcc\x18C\x1c0K'\x00\xaa\x0b\xd4\ +s\x06\xfc\xaa\xdd\x91\x1f\xbaJ7\xf8\xa8;\xe0F\xbb\ +\xa78\x9b\xbb\xb3\xa1\xf6\xd0\xad]r\xd5\x0dLa\x88\ +$\xae\xf4\xf1\xc0\x05<\x149\x119%\x1b\xd64\xa4\ +\xd7\x9aB\xbf\x88!\x22\x12r\xb2\x10\xa5=\x0f\xd2\x06\ +\xb0\xcd\xc9\x8bP{o\xfa\xb0\xbe\xd8\xb5\x93\xdd5\xc3\ +Gn\x10\xf8^\x84\xda\xa6\x0e\x9c\xa8\x1e\x94{\xc3\xbc\ +\xc5\xd2\xd1\x08\xbe\xbdfC\xf3\x01/\x8bPY\xf9f\ +\x11c&l\x89\x85\x1a\x94a\xc8\xc9\xc9HB\xc6\xa7\ +\xc2\xad\x1b\xbe\xf1\xc3\xcc\x80\x01[F\xc9\xedwRN\ +ij1\x96\x1e\x9c\x10\x04\x01\xdfuC\xfa\xf6\x90\x95\ +\x9c\xa1\xa5\x95\xd75$\xb0;i4;\xc9\x83#b\ +\xe68\xd6T\x7f\x98\xa8W\xa2\x17z2NBA#\ +\x00\x98\x96\xbe\xb6\x13\x94H\xbd\xf0\xac\x8c;\xf0\x08.\ +\x14R\xee\x9a\xabr\xf8\xa7\x1e\xacw!\xc7\xf0\x81\xbd\ +\x0e\xfd\x8b\xdd\xd5\xdae\x90V\x00\x1e+\xae\xb3\x09\x90\ +\xe0K\x1aB\x13_f\xc7\x09J\x9c\xa4\x15B\xb1\x11\ +\x0c\xc9\xed\x11;\xaeK\x8f\x87oi??\x19^\x14\ +\xb7g\x9eCC8q\x966T\x16\x86\x8e\x8eZZ\ +\xd1Z \xba\x9d\xd7pr\xeaZ\xaa`\x8aV\x98W\ +\xd7=:\xfd\xddO\xd0\x01\xd1G\x89\xdc\xb5\x96F\x0a\ +.5x6\xfb\x07\xdf\x1d R\xd7\x99\xc1\xed\x99\xc0\ +\x0e\x00;+\x7f\xe3\xa4\x1e\xd97\x95\x0b\xe0\x1d\x82\x88\ +:ZZ\xc1&\x5c8+*\xb4\x8f\x9d4\x96[\xb9\ +L\xdd3\xc9\xa7/\xc0\x8f\xd0_h,\x15H\xac\xde\ +\xa59\x1c`X\xea\xa9\x13\xa5\x9e\x82g\x0e\xcd\xe2\x0e\ +\x80\xfd\xe1\xef\xd53\xdaB\x04:\xba\x11lB\x07\xcf\ +B\xc0\xcc;\xb4\xf4H\x9c4\xa1\xf4^\xd7\xed\x15\x08\ +\xa7\x96\x86\x92H\xea\xffXR)\xbd\x973\xee\xa7\xad\ +\xea\x19f\xd8\x9f\xad\xeaa:up\x1d\xd8\xab6\x86\ +\x95\xcb\xae\x9d\xe3$\x9b\xcc\xa5\xdf\x89\x10\x0d\xf5\xe0\xea\ +\xf5\xb5\xb3\x91\xb7\xaf\xbf\x83\x97\xfdB\xe0m'\xd8O\ +\x0b\xc2\x80\x8f\x9eB\x1d\x9e\x9e\xa1R\xd7\xfcY\xed\xa5\ +\xd6}l\xb2RJ\xbbA\x0e\xa1\xf6\xfa`\x9e\xff\xa0\ +\x03|g\xe5m\xfb\x8eg\x89\xa5\x19D\xb0]3\xc0\ +\x8a\x89zD\xbd'%\xbd\xa2!z'\xd5\x84\xe7\x12\ +\x89\x85\xf5S\x9e\xe0\xe9\xa2\x8a\xa7N\x89\xdb\xcb\x00\x86\ +9\x81\xdb#\xa8\xec\x17m6T\xa8}\x8f\xb3\xef|\ +j,\xed\x00\x96U\x03\xe7\xb7\xc3P#9\x1f\xf6e\ +3K\x1b\x92\x14K\xc3Hj\xceX|q,cG\ +]\xc87\xfc\x8b\xeahe\xd6\x8a\x81/Q2\xdf\xed\ +\xf9\x8fV.\x96\x0d\x1fi\xa8\xa9B\xfe!NZz\ +\x97J\xee\x7fG#\x90\xa0\x05\x19\x93\xf6\xf0@BK\ +#\x8e<\x06i\x15#|=#\x8c\xfe)-\x15k\ +!\xa8\xbc4\x9c\xef\xe8\xee\xfa\x16J'-]=\x80\ +\xdc\x875j\x86\x13\x9a\xb8\x91\x82W\x87\xca\xd0\xec\xc1\ +v\xfe,\xb5\xa1\xe5\xdb3j\x86\x10\xcd.g\xd0\xf2\ +\xffH`9#(Y)\x83\xb6\xbe\xac\x8a\x83ct\ +\x12#\x08\xdf\xadgb\x9b\x80\xbf\xaa\x97\xcd#\x1c\x96\ +\xf6w\x95\xb4\xe1=!\xa3\x0b\x17d\x97R\xfb\xe3\xd6\ +\xca3\x89\xe8\x84\x14\xe0\x065C,/\xc7\x0e\xfc\x87\ +\x09\xc77\x92\xd6\x9d\x0d\x9f_\x87\xf8\xa1\xa4s\xa6\x06\ +n\xd6\x9b<\x09\x0dg-o\xbd\x1b\xc4\x1d\x1b\xfc\x89\ +\x11\xfc:z\xf52\xdc\xe1~\xe9ogJL$\xbd\ +\x81\xec\xe0\x9b:,k\x10\xdf\xd1HsX\x87RY\ +cHP\xd2\x1a\xea\xf1\x84\xde#4\x92Xw\x83H\ +\xafB\xbe\xb8\xff{'\xcc(- \x0c\xf4:$Z\ +Jp'\xa7\xb5\x16#(1BC>\x98\xfe{\x89\ +\xab\xe1\x06\x18c\xc2X\x80\x8d\x8aV\xa6\xfbM\xf8\x11\ +J\xe0\x90\x84\x14-\x94A?\xd4\xac\x85\x11\x97\x91P\ +\x910b,\x06\x88\x04i\xd6t\x94\x01\x05\xb7\x83\xe8\ +a\x07\xa9\xb4\x15\xb2\x80\x91\xb3\x86\xd0\xd4}\xc7+\x0e\ +Mg\xa4'\xee\x06s>\x04\x94\xdb\x8f>\xb8\x97G\ +\xa8v\x9f\x94\xc9E\xf0\xe0WJN&\x13\x176p\ +\xe23\xe1\xc1\x9e\xf1\x90+\xc1\xb1z\xb7\x97\x92\xf2\x90\ +\x11sfD\x92\xa6\xcf\x88\x992\x16'\xaa\x07Y\x9f\ +\xdb\x8b\x19\xfb%{+\x97\xae\x939\xd0F\x1e\x94\xa1\ +\x0c\xaf\xb7\xa3\x91\xecb\xe7\xaa}\xf8M\xbe\x0fB\x85\ +\xf45[q]\x09S\xa6\x8c0\x02\xec#.q\x8d\ +\xa3\xe4\x82oyB%-|?\x01\xe8i^k\x12\ +\xc6\x8c\x85\xd5\x92s\x87\x9c\xdb\xdc\xc4P\xa1\x19\xc9t\ +\xe7!\xb6\xb9\x03d\x94p}\x15\x9a\xad\x0c\xcb\xf8A\ +\x05?\xf5\xd3\x08\xc8\xbf3\x87\x0d\xd7\xc4\xb3&\x22a\ +|^\x97\xa9>\xc7Y\x0eYo\x9d\x1c\xe6\x8c1\xb9\ +\xb8.\x1b\xfa\x97\x8a{\x14\x5c\xf0\x80sj\x91\xc5\xf0\ +\xdc\x99\xad0\xac3\x1aa69\x12\xc6(F\xe2\xea\ +\xae\xe8\x980\x93.k*\xa0\xb0\x1d\xe4\x95\x08;n\ +)\xfd\x95%\x0fx\x80\xc2\xb2e\x0b\x8c\x19q\x84!\ +\x13\x98\x06\x14\xd5 \x87\xf0EZ\x14b\xdewF\x0d\ +{\x00\x91:\xc9\xd9{\xbeA$\x938S2\x0c\x11\ +\x0d-9\x9a\x9a\x98\x96?s\x9f\x0b.\xa8\x889\xe6\ +\x84\x09\xb0\xa5\xa1\xe1\xb1\xd0JR eJ\xc1\x9a\x88\ +\x91P\xda\xad(DLyD\xc6\x9c\x13\xe1\xca8\x1c\ +5)F\x98\x96%\x9a\x15\x8fY\x12c8\xe3\x01\x8f\ +he\x84\xa5\x22a\xca\x9c\x88)\xb78\x0a\x19\x8a\x1b\ +\xcc\x00+\xa6\xd4$\xcc\x07\x19\xed3\x0c\xa1\x0f\xda}\ +Z2\xb1\x86:8\x9d($R\x9e#\xe1\x7f\xe0\x92\ +K\x1e\x00\x093\x12N\xb8\xc9\x94\x94\x8a\x9a-\x0do\ +\xf03\x1e\xf2\x84+,\x8a\x8c\x09)\x96%\xaf\xb1\xe2\ +B2\xbe\x9a\x05\x05s\x8ct\xaf\xad\xa4\xf0\xc3\xb3\xb9\ +\xe2\x8co\xb9@\xa1Yq\x8e\x9f*\xae\xa8(\xd8\xb0\ +bI\xc4\x98%\x13Rr\xc6\x02\xf472\xc6\xc0\xc1\ +\x95x\xc1\xab\xe1d0\xa1gO\x1b\x0c\x85p\x99\x12\ +\xe9\x80\x1a\x8c\xf4\x1b\xcf\xf9\x92\x0b\x12\x22nr\x83[\ +\xcc\x89\xe8\x18\x13QS\x11\xa1y\xc4=\xbe\xe2\x9cs\ +\x96\xdc\xe0\x98\x88\x965%1%\x11%\x15\x0dk2\ +\x89#;j\x88\x0d\xdd\xae\x96\x15W<\xe1\x02E\xc4\ +\x96\x0d-uh6UTl\x88\x18\xb3%#c\xc2\ +\x94\x19c\x22\x0a\xac\xc8\xf4\xc8I\xbf\xd4\xcf3\x84=\ +\xf8\xb0\xc5\x12\xe3X\xf3-\x8fPL%\x06\x18\xa9?\ +\x95\xcc\xdfD\xacy\x02\x8c\x18s\xc2\x9c)\x09--\ +9\x193\xe9,\xdcb\xc41\x0f\xf9\x9a+ fD\ +\xc7\xa58\xcf\x86\x0eKLJN\x8e\xc1I\xc1\xdc\xe7\ +\x14%\x86\x8e\x82\x0b\xae(\xe80\xc2t\xd8\xd2\xe2H\ +\x980bC\xc9E\x80\xf2K\x0aV\xb4\x18&Dt\ +2\xf3#\xc8\xea\xbdW\xe0Yj\x14\x9b\x0f\xbe\xe4?\ +\xb3!\xe5\xef$\x19v\x18\x91<\xb1BQ\xb7\x8c\x19\ +\xf1.S\xc6\x92<\xf9c\xbd\x95\xb4gK\xcb\x94\xb7\ +\xb9\xc3\xbb<\xa1 &\xc7\x90\x01\x19))\x96\x12\xc8\ +\x18\x13aiB\xeam\x05\x95t\xb4ly\xc0\x05%\ +\x0eG\xc5\x8a\xb58\xc3X\x94\x03\x1c\x09\x0d\x05-9\ +)\x85$\xe4\xa7\x81u\xe9\x06\x88\x85\xbb\x06=\x89\x9e\ +\xcd`\xf0\xb5D\xf9\x87\x07\x14\xcc\x98\x852\xa6\xc7\x05\ +\x1d\x13*\ +\x0c9\x9a\x86\x94\x9c-OX\xf3:\x7f\xcf\xfbL\xa8\ +)iI1\xccI\xa8\xe8P\xd4t\x94\x94\xf2\xaaV\ +\xac\xf9\x0b\x97\xacd\x22P\x93p,\x95\x8bg\xeag\ +R^\x95\xacY\xb0\x16\xbd\x02\xc3\x1b\xfc\x8c\xb7\xb9\xcd\ +\x9c\x12\xcb{\xfcD\xe6\xfd\xbe\xf3D(\x1c\xd5\x87\x97\ +\xac\x99\x93H\x17#bJC\xc1\x96\x0c\x87\x0aHv\ +\xce\x7f\xe6\x92\x9c\xbb\xccXpNK\xce\x96\x9a\x8a%\ +\x0bR\x12\x0a\x19Yy\x8d\x11\x8a\x07\x94l\x04r\xdb\ +\xa29\x22\xa6\xe2Oly\x9b9\xd01\x95!\xc7\xad\ +\xa8\x0c,)Y\xd3\x01\x15W,\xd8PP\x86\xa6p\ +\xcb\x8a-\x17\xa1$\x1c1\xc1\x900\xe7\x06W<\x94\ +\xc1\x5c\x9f\xd9Z\x22\x22\xe2P\xca?\x07\xc5\xf6\xb7~\ +\xcb\x05[\x92\xe0\x05\x22&X\x19#2\xe4\x8c\x88%\ +e\xfdg\xbe\xe6\x94\xd7\x98s\x9f\x7f\xa2\xa6!\x16\x81\ +\x9c\x9a\x04#\x91{\xca\x84\x88\x88\x1c\xcb%[Z\xb6\ +\x14Lx\x8d\x9cK\x1e\xb3\xc5\xf2\x1e9\xd0J\x92\xa6\ +E\x84\xab\x95r\xbee\xc39\x0b9\xf4.\x10\x83Z\ +\x09\xe4\x86\x96\x8dP\xd6\xa7\xdc`\xc6\x84c\x0cJ&\ +\x00\x17\x94\x81\xec\x94\xbeH\xd1\xe5\xa4n\xeb$\xdbk\ +\xc4!A\x82\xa1eE\xce1\xb79\x92*\xf4&\x17\ +\xc4\xb4\xacx\xc8\xd7\x14\xb6\xc4!\x0f\xeb\ +\xe1\x8e\x941\x13*r2\x01ObR2Fl\xa9\ +i\xb8C\xc6\x8a\x88\x09\xc7\xe4\xd4\x5cp\xc6\x9a%7\ +\xb8b\xcb\x98w\xd8p\x9f\x0d\x11gL8\xe5\x94\x9c\ +\x88\x96\x11)\x965\x97T\x9c\xf3W\x14\x0f\xd8\xf0s\ +\x12\xfe\x85{<\x14\x91\xcf\x15\x8d\x88\xae%\x8cIP\ +t\xd4\xd4\xa4D\xe4L\xc8PT\xd4B]i\xa4K\ +\x1b\x09\xf0;\x22\x97\xaa\xb9D\x13\xfd^\x89T\x97}\ +vB\xe5p\xd8_v\xa2\xfb\x93\xc9\x13\x81\x9c\x88\x88\ +N\x9e\x87\xcf\xcf\x0c)\x1br4\x1b\x19|N\xb9\xc9\ +\x94\x89\xa4;\x055Sn\xb0\x22g\xc6\x98%%w\ +\xa8\xe4\xc7\x97hRZZ\x22n\x93\xb0a\xc3},\ +\x8a\x96\x8a\x02\xc3\x88\x13\xd6\xacXp\xc5Vr\xd9X\ +\x0e\xb7\x17\xee\xebd\xc27%\xa2\x1d\x00\xc6\x95\x8c\xee\ +[\x16\x182\xc6L\xa4\xf3\xd1\xa1\x89>z\x01g\xd9\ +\xc9)P\xc2\x7f\xa8h\xa9e\xc2\xb2\x11\x18\xafsD\x8aa\xc4[\x18jN\x19\ +\xd31gE\xc4\x11Y\x98\xddT\xe4\xcc\x19IO-\ +b\x84b\xcb\x05\x17l\xb02y:\x95WQ\xb3\xa0\ +\xa2\xa1\x0aY\xe5Z\x06\x16<\xbcW\xb2\xe6\xbfsI\ +\xf7\xa9\x83\x01\x0d\xe5\x19\xd5\xa7\xc7\x12\xdb\xc0\xb7N\xc8\ +\xa4\xe4\xed0d\x8cd\xb6\xd2\x05\xaaq\xff\xdf\x11\xad\ +\x8c\xcb\xfb\x03\xb8\xa6\x22e\xc4\x9c9\xef\xb1\x024[\ +\x8ex\x8f\x9c\x0a\xc5\x11)\xf0:W4\xccY\xa0x\ +\x0b\xc3M^\x93\xe2\xc8\x8a\xa0\xeb\x11\x89\x88\xbce\xa4\ +\x94\xd4d\x1cs\xcc9\x05G\xcc\xb9\xa4\x12D+!\ +\xa6\xa3\x10\x0d#M!\xe7\xe1\x8a\x11\x11sR,\x0d\ +\xabO.>\xd9r\xc4\x0d\x15\x7f\x97\x8f\xb0\xe8\x7fL\ +\x7fi$\xe0x\xe0}+>\xbac\xca(\x08f\xea\ +@\xf3\xf1\x0d9?\xc2>F\x93\xcaA+\xb8\x8d\x22\ +\xe1\x06\xef\xb1fE)\x99\xdd\x92\x15%#\x8e)%\ +\xc9ih8&g\xc2\xcfy\x8d4P\xd5bf\xdc\ +&\xa7\xa6%bJ\xcd\x9a\x96\x1b\xfc=o\xf0G.\ +iX\xb1\xc5\x91\x92a\x98s\x835O\xd8\x023\x14\ +\x1d%\x8e\x9a%\x86\x8a\x8a)\x1b.y\xc4\x13\x9e\xf0\ +6\xa9;Q\xee\xd9\xe1S\x13\xff*v6\xa4\xd1\xbe\ +\xd5\x87\x94-\x99\x88'2P\xb4U\x01\xaa\xc9Y\x09\ +\x0c\x97\xd1\xe1\x18\x91\x0a\xc2\xe5\xb9\xbb\x8d\xa8:$R\ +S\xae\x98\xb1`\xcc\x11O(\xf9\x09\x0b~\xca\xfbL\ +\x84\x13\xe9\x95(F\xbc\xcb\x1b<\xa0\x22%\x13$\xc4\ +\xa00\x9c\xf06_\xb2\x02f\x9c\x10\xe3\xc8\xb8IJ\ +%\x91\xc9I;\xd03;\x1e\xb0%\xa6\xe2\x18E\xc1\ +\x8a\x95\x0cp>\x13\xb3\xecY(^\x83pM\xc5\x16\ +\xcb\x14-\xe5\xae\x09\x83\x08CB\xb0\x95\xce\xe3)\x8e\ +%#\xd2\xa0`;\x22\xc7\xb0\xa6&eBMA\x1b\ +\x84|k\xa0\xe0\x989gt\xbc\xcf\x92\x9f3\x17\x08\ +0\xc2\x91p\x8ef\xc6[\xfc\x15\x87\xa2\x91\xeb\xa4\xf8\ +\x9a\x86#~A\xce}\xb9\xb4\x8e)'\xc4\x8c\xb8E\ +J\x11\xf8\x94)\x13rj\x12F\xc4\x14l\xf8&\xf4\ +F\xddw#T>\xcd\xf6\xddD\x0f\x7f\xa4LD\x04\ +\xab\x0b\xf4\x9e\xbe\x17\xa9\x03/\xd7\x90\xf0\x0b\xfe\xcc\x9a\ +\x96\xa9\xa0\xdd\x0d\x19\x19\x8e\x9cDx\xd3\x1b\xd6\xb4X\ +\x81\xe4\x96$LPT\x18\x8e8\xe1\x88H\x5cqM\ +IMLI\xc3\x88\xdbh\x0a\x0a\xa9\x14\x12JV\xdc\ +\xe0\x94\x8c\x8c\x19k\x16d\xbc\xcd\x11\x8d8\xdb%W\ +bN\xcd\x88cb&\xdc\xe6\x04\xc5\x96%5\xb3\xbd\ +\xf9\xe1k\x13\xaa.p'U\xa0g)\x99\x90\xea\x02\ +S\xc9\x86\xa4j\x9fZ\xfaSV,i\xc3\x90\xe3\x09\ +\x9a\x96\x8e\x94\x88\x8a%\x05\x8e\x94Q8\xb8\xdf\xf2\x06\ +\x89t(\x157\xe4\xda\xf9\xe2k\xc3\x86c\x1eS\x01\ +sb\x96<\xa1@\x91J\x16aY\xd10\xe3\x16\x15\ +_\x93qG\x94\xf0\x0c9%\x8aD\x86/-\x8a\x84\ +9o\xf361_r\x0e\xcc\x99_3\xe2\xb6g\x88\ +\x9e][\xcb\xb7\x84\x96\x84\x1cE-\x9d\x22\x85\x15\xe2\ +\xd0\x8e\xb2\xd3\xf7\x13\x97\xbcK\xc2\x9f\xb8\xcf\xbb\x9c\xd2\ +\xb0$\x92\xf9\xbb--\x1a\xc7\x98LZ:\x1d[^\ +GS\x921c\xccH\x8c\xa7\x02\xfb!\x91V\x8eb\ +B\x22\xd5\xa6\xa3eMBFL\x8d\x16\xbd\x02G\xc5\ +#\x22.\xa4\x8d\xec\xd5n\xc01!'#\xa7\xe2\x09\ +'\xe4\xc4\xdcb\x8ba\xc6\xe4\xfd\xf6\xc0\x18{>\xa2\ +\x07\xcf\xbd?h\xc88\x22\x13\xe1\x94r\x8fK{]\ +?\xb9\xc61\xe3]\xcex\xc4\x82\x113\xc1\x0a\x12i\ +\xca{\xca\xea\x15\x17\x94 \xc2L#F\xa2-`\xf6\ +\xc0\x80\xbe\xfb\x19\x8bZ\x89!c\x83\x96t\xde\x1b\xad\ +$!\xe7\x84\x82\x96\x9a\xf5\x80\x9e\x10K~3\x165\ +\xe5\x98\x11c\xc1\xb1\xbc\x19\xf5=\xf3\xdd>\xa2\xfbx\ +7\xa8\xd4\x0a\xfa\x90\xd2\xd2\xb0\x0d3v\xea\x19\xed\xc1\ +\x84\x9a\x093\xe6\xdcc\x89\xe3\x98\x8a\x86B\xe6\xc5k\ +\x0c-\x05\x8f9Gs\xc4L\x847Fdr\xa6\xa2\ +\x019\xd4\xc90\xdd\x8811\x05\x86T\x84?\x9d\xa0\ +\x14\xbd d\xca\x84\x92\x15\xad\xe4\xb8\xad\xcc%\x1af\ +\x8c0h\x12\x22\xc6\x8c\x04\x97\xcf\x18\x93]\xc3\x938\ +H\xa8\xb8\xa7\x05\x91\x8cI\x18\xcb\x19\xe8\x84\x98\xe3\x06\ +\xbd\xa2\xa7\xf9\xd4\x095\x96\x8c[\xb4<\xa6\xe3\x01\x05\ +[\xea0\xc8\xf0\xae\x08~F\xcc\xb8\xc5LD[{\ +\xd1>'\x1d\x8d^\x86OI\xcd3\x16q\x8d\x98\x89\ +\x08\x80Ul\x88%\xd3l\xa5\xfb\x922b-\xf5\x8f\ +\xef\xa0\xc6r1\xf5\x80\xbf\xefU2'd\xd7P\x0c\ +\xa3\xfd\xb9\x0c\xf3E\x8c\x96\x14fB\x8e\x15\x03\xf4s\ +\xbe\xee\xda\x86\x99\x12l\x19\x81\xe1f\xa2B\xd9I\xfe\ +\xd03\xa7|\xf9\x1e1a\x12\xc6\x1ct\x98\xf3\xeb\x82\ +FY\xaf\x03\xe1\x03\xe0\x98\x05\xe0\xb8\xc5ZN\x85W\ +\xa4\xf2=\x95&D\xbbJF_SrR\x226\x22\ +\xd8\xd53{\xfc\xe4W\xca\x8c\xe4yM`\x87\x22\xba\ +L\x8e\xb5\xa8\xce&\x82){\xee\xd4n\xc0L=5\ +\xee\xea\xbb\xcf9\xb0\xa5$\xe2\x88\x19[\x22\x22!&\ +\xf6}h\x07\xa4\x22\xb5\x91\x1cL\x89n\xe5'\xec\x8f\ +\xa5\x8c9\x92~EB\x22m\xc0\x9a\x0d\xb14\x00l\ +`a\xdd\x1e\xcc\x18:,9cQ\xca\xb4\xf2\xf3-\ +\x8e\x11\x13\x92\xff\xc0w\xe5\x11\x86\x9a\xee\xae\xfe\x22\xfd\ +p$\xc2\xbb.\x8c\x86 \x8aa\xc3Y\xbb\xc3\x19\xd1\ +X\xe4\xf2\xb4\xccV\xa5r\xdfw\xf4\xe0X\x14\x0a=\ +\xcf-:\x18g\xd9]\x89>s\xf5\xc5\xde\x09K\x96\ +\x14\x22\xeb\x92\xd1\xb2e\x8b#\x97\x11%\x83b\x22=\ +\xf9JH\xea\x8e\x96[L\x85\xea\xd4Ia\x8e`-\ +\xc95M\x9e\x83\x06O\xf3\x0f^t\xbb\x91y(\x82\ +\x97(\x06\xa3\xc9\xd7\x83\x1bI\xd0\xb6\xd744\xd2G\ +\xf0\xd5l+ET$\xe9:a\xb0\xdaI/\xc5\x86\ +\xb1\x84\xa1\xac\x82#f\xcc\x8c\x0cC\x8db\xcc\x5cb\ +X\xcd\xa5\x0c\xec\xa7L\x98\xa0\xd9\x08\xa1TI\xdd9\ +e\x22\x17\x89\x81\xb4W2\x88P\xcf\xbc\x1a\x11\xe6\xf3\ +\xe5'\x96\x09\x19\x1b:\x1e\x10q,z\xb3\x06E\x8d\ +\x22\x0d,}\x0e&lj\x8c\xa0\xc4}\x08NCH\ +\xd3\xe4\xe2\x15bY\x13\xa1\xa4\xcd\xdb\x89o\xb0\xc2\xaa\ +&\xf8\x8d\x9e\x91\x9f0\xe7\x98\x05+\xd1\xc7\x9eq\x07\ +K\xc9#\x1e\xf3\x95l\xdb8f\xc49\x15\x0d\x11'\ +\xbc\xc9\x1b\xccY\x90\xb3\xa0\x90\x86\x94\xe7\x5clQ\x8c\ +\xdf7\xd7\x080\x1d\x14]\xfas\xfd\x89\x95\x09O\x0f\ +\xb8\xd5\x1c\xcb\x88\xa0g,\xf9\xb7\x13]\xe3,M\xf0\ +3\xbd\x12\x90f(\x0d\xea\xbb\x1c\x1a%\xc0H+\x14\ +\x94N\xbeJ\x0fX\xffJ\x1a7~\x9et\xcc\x8cc\ +\xd1\xcb6T\xc4d\xcc\xb8\xc1\x86%+*\x1ck6\ +\xe4\x8c\xc8\x99q\xc4\x18\xc5\x86\x0aD\x92\xa7W\xd8\xed\ +\x06\x93\x1d\xea\xbb\xae\x86\xc2\xdc\x8bdX)\xa1\x10\xd7\ +g\x84-w\xc6\x88\xa9\xbc\xdcN\xc6\x8f\x87Tc\x13\ +F\x9aL\x18\x91v\xe1\xb0\x9b\xa0\x13\xd5\xb3!\x1bZ\ +\x1aZ\xf9\x0a\x13\x92\xfafo\x14\xbe#\x22a\xcc\x94\ +\x0b\xd6T(2\x1arf\xcc\x83\xc2\x88Wc\xd6\xe4\ +\xcc\x99\x93cYS\xa2\xa8\xe4\xf5g\xd2\xb2n|\xc2\ +x\x97{\xcf\xa5\x05D\xa4\xbf\xe7CC\xf4\x99\xfe|\ +\xf6\x95'\x0b*\xb9\xe7\x0b\xe9]I\xa0}&\xe7J\ +\x07\xa5\x97\xdd\xfc\x84\x11ZI+\xd5\x8a\x17\xdc#\x8c\ +7\xf7\x1c]+$4+\xd4\xe1\x9d\x86DD\xca\x15\ +[\x22\xc6\x924y1\xe1#Zi\x19n\x03\xe5\xd0\ +;M/:\xef\x0d\x14\x0b\xaabQ\xa8{\xd7\xcd\x19\ +F\xfb\xdckC\xfa\x11\xbfsw\xd5=}o\xfa\xeb\ +)\xa3\xdf\xae$\x11\xf1\x14\xcf^R\xd5\x8b\x9b\xb0\x97\ +l\xbb@\xcf\xd1\x81\x1d\xb9S\x18\xf1,\x89:\xa0\x05\ +\x9dh\x8cE\x81j\xeeg\xc6b\xd9\xd5U\xc2\x80o\ +\xd9\x9f\xa8Z4\x95\xbdf\x9d\x92\x04\xca\xb3\xabgA\ +\x18\xb4\x15\xd2P\x1df\xba\xb4(mj\x12\xf4=\x9e\ +?\xaf\xa1\x88\xb0\x1f\xb5\x9f\xda\x0f@}\x11\xdf\xe3\x1e\ +\x7f\xf0\x92\xae:0\x18]\x80s\x87S\xdf\xc3I`\ +B[\xc5\x89\x1cF\x07\xf2\x06\x1a\xc9\x1d-\x91\xac\x84\ +\xb0\x81P\xda\xd1\x89z\x89\x8fSCSF\x02\xc1\x95\ +,1$$$\xb42\xf9\xab\xf1\xa3V\x08\x9e\xe2\xc7\ +\x96|\xa9\x88\xc4\xbe-\x0bYH`\x9e\xef#\xc2D\ +\xe6]\xfb\x81\xfd\x80\xe3\xee\xf7\xed\x87\xfe\x09\x1a&\xd4\ +\x02\x89\xc6R\x0dF\x83Etj\x8f\x89\xbf?\xc7\xdd\ +\xcf\xe29\x19\x80\xe9\xf5\x08\xc7B\xf4\xe8\xbf\xce\x8b\xf8\ +\xb80\xe7\xdd\x086\xe6k\x8b\x02\xcb\x98\x8a5\xe7\xc0\ +$\x08A\xea0\xaa\xf0h0\xaf\xe1\x85@[\x09\xdd\ +\x1d\x1d\x1b\x964\x02\x15\xf1<\xa2H\x98\xa2\xba\xeb\x8e\ +\xa1\xc1~\xd8J\xd9\x1d3\xa3\x94\x9e\xe7\x88Lx\xb2\ +n\xf0f\x87\x03k:p\xe2\x94\x98\xa1\x92\xc3n\xe5\ +\xd8&\xc4\x92n\xa9\x103\x96@\x22\xacY\x1b\xe4\xc8\ +[*\xb6,\xb8\x92U4K\xb6\xa44\x83\x8c\xd4\x8a\ +\xf6\xd8F|\x91\xbfFH\x03I\x89\x8c\x9f7e\x1c\ +\x14\xd5\x9fC\x14\x11H\xffW\xcd?\xd8_\xee\x18\xab\ +\x1d9oPI\xc9\xachEzG\x0d8\xfcJn\ +\xb3\x158\xc4Jk\xad\x13U\xca\xde9\xf6\xfau\x11\ +\x0d\x95\xe8\x9e\xf6\x18DC!\xaa\xd9~\xed\x80\x1fH\ +X\xf2\x0d\xf79\xa7%\x13~\xe6\x8a3&(4\xb9\ +\xcc\xff\xa80\xc6\xe0I\xa8\xad@<\x15\x19\x19#`\ +C\x8d\xe5\x16\xf30\xde\xaf\xbe\xdbG\xf8\xab\xe1~\xd9\ +J>\x80Hx\xb6ldl\xc5\x1d\x0c\xb23\x18y\ +\xb4a\xc8D\x85<\xd4I\xba\xdc\x05\xef\x1f\xe1h\x18\ +\x03\x9a\x8a\x0dW\x94(Q\xaf\x8d\x84\x9e\xa6e\x98\xf1\ +\x09\xdf\xf2\x80+\x11\x1a\xf6\xb3\xc8%\x0b\x9e0\x96\x82\ +\xae\x7fCGA\xa7\xdb\x0a\xa3\xc7\xbb\xe5\x94\x18GA\ +G\x16<\xc4s\xc2\xe7!\xf3\xb6\xa7\x9c\x1bR&\x81\ +\xffx8\xdbMP\x88\xda]/\x7f[\x1b\xc1\xb1{\ +\xce\xb4\xe7D\xe6D\xa2\xa1\xdeQp\xc6\x9f\xf8\x8a+\ +:\xc6\xdc\xe1\xe7\xbc\xcb\x11Hs\xb9\xe6\x82\xfb|\xcd\ +\x19\x05\x8eZ\xd6\x0b@\xcd\x8a\x0bN\xc9(\x84\x18k\ +\x80)\x95D\x8dZ\x94f<\xf9\xcd\xf7\xef7(\x8e\ +9!\xf9\xb5\xbevh7\xbaNe\xc8\xdc3\xbfw\ +\x1fva\x8e\xd6\xffm\xb2G\xf8\xe6\xa9\x89\xbd\xc3\xa1\ +\xd5\xdd<\xa7\x0fz\x06M*P\xae\xc6p\xc1\x86G\ +|\xc9\x7f\xe5>%\x86\x9c\x85<\xf3\x84B\xf4\xf0\xae\ +8\xe3\x9c\xc7Th\x0c\x95h\xe9\xf7\x8b\xaaRr\xf9\ +\x0a\x17vz\xb5\xb2Xb7\xa5\x9e\xc8\xfe\xd0\x13\xee\ +p\x93\xe4s\xf5\x22>\xa2\x97\xe0R\x1fE\x94\xceO\ +\xe0\xd9\xa0\xda\xb1\x1b#\xd8e\x96\xfd\x84\x94\x1aL\xe6\ +\xb8`,M\xcdV\x18+~\xcf\x8a\xef\x9f&\xb2'\ +\xa3d\x03\xdc`\xce)\xb7iP\x9c\xd1\x92c\xa9x\ +\xc2\x9a\x0b\x1e\xf1\x0d\xe74\x02\xbc\x19\xaa\x90\x94\x17\x94\ +\xb2\xf7\xb1\xd7\x0fh\x04\xd9\xf4\xf9E%r\x1a\x19\x0d\ +k\x11\x17\x9c\xffc4\x08\xf5\xcf!\x9c*\xf1\xbc\xf5\ +\x9e>\x90\x12N\x15\x073\xbf;Q\x83\xee\x80\xd3\xdf\ +\x0a\x93\xa1\xa0\x09z\x03Y\x88\x121\xc7T\xe4\x8c\xb8\ +\xc9\x88\x9f\xf0\x1e7Ys\xc5\x96\x8as.XRr\ +\xc1\x19\xe7\x5c\xb0\xc5I\x85c\xa5\x83\xb5+\xed;\xc9\ +D}p\xeeB\xb2o(\x04\xe3\x8cXq\x85\xc20\ +%\xff\x95z\xbe\x8f\x18\x1e\x19\x8d#~\x1f\xcc\xa7\xd1\ +\x87N\x9ef!#\xe6\xfb\xcf}\x98W\xee\x8fD\xd7\ +\xa2\xad\xee\x88\x85a\xbbC\xaa;Q\x9a\xbc\xc1]n\ +\x91p\x9b)\x1dcF\x94<\xe6\x09\xf79\xa3c!\ +S\x19\xfd\xd5\xf3\x1d8\x15\x0a\xbfH\xc2%\xe2\x8e\xdb\ +\xb0\xd9\xa1o\xe1h2\x0c\xe7,\xb8I\x17\x84\xdb^\ +h\x12x\x07\xc6\x8d\xee\x81\xfbh7O{\xee\xf4\xc0\ +c\xa8\xa7t@\xf4@\x92Q\x05\xde\x84W\x17\xedq\ +\xea^\xbb\xba\x11\xec\xeb\x16\xa7\x82U\xc4\x94\x02\xd3\x97\ +,\xd9PsEAK\x02h\x09\xd8=\xb5\xd9\x08\xd6\ +\x19I\xab\xc6\x84\xb8\xe4'\xc5k\x01\xf0z\x95\xcb-\ +\x85\xcc1\xf7\xa3W/0\xe5w\xa8$gB\x9d\x91\ +\x0d\x86\x81\x5c\xc0\x13v\x9a\x0evO\xa8\xc0\xdfaO\ +F\xcdH\xc3\xbcV\x9fox\x86\x85O\x81\x0d\x95(\ +\xa6:\x147x\x0f\xc3\x05g\x5c\xb1\x09\x13z\xa9L\ +\x89\xf8\x81\x83)sN\xc9\x85\x9a\xd6\x05\xf9\xd7\xbe\xd2\ +\xb0\xe23\xeep\x0bG\xc21\x11\xb1h\xa9\xbf\xf4\xb8\ +\xe3\xd3\x9f\xda\xf7\xbe\xdc0\x0b=\xc8,\xfb\xa3\xd9\x0a\ +\x8c\x13I\xd3h(\xed\xe8\x02\x03\xa6\xc7=\xbd\xea\x99\ +\x0f\xb3\x8e\x19wy\x9d\x87<\xe1L\x96\x18ZRi\ +\xf8e\x18\x8cH\x8f\x0f\x05\x7fz\xd1\xdf\xdd\x03\xf1\xe0\ +\xaf\x91Nl|\xc0'\xfd\x1e\xdb\x1d\xa3\xcf\xcc'&\ +LY\xed\x9c\xe5\xae\x05\xd8\x0a\x94\xdaJ\x17=\x91\x9e\ +\x05\xb2\x10D\x0d\xc6g\x9d\xb8\xbeNh\x00Z\x06\x9d\ +*:\x09\x8bcr\x0cWB\x15\xf5\x13@\x91x\x9b\ +\x89pg\xfa\xael'\x86p\x83\xa1\xe7R\xe4`\xda\ +\xd0\xb1\xbf^\xef\xe8\x855f\x82!~\x13\x07\x85\x80\ +\xa1\xf4\x81;\x80\xd8\x90&\x8c\xa7\x96\x8c\x06\x94>\xf5\ +\x94<\x06\x82ED\xa2g\xd4\xc85\xd4\x228>c\ +\xce\x0979\xe5&\x13\xc6\xe4dL\x983\x11\x9a\x92\ +\x09\xc5]'\x8f\xa0\x96\x1e\x8c\x15\x10'\x91\x93h\x18\ +\x87\xa7\xee^U6\xa1\xffT=P\x12\x1anrw\ +\xe1\x87\xb9\x90\xdc\x18Y3\xa6\x02S!\x0aC\xd4\xfb\ +J\x97f/\x18k\xa9c\xc01\xe6\x88HZ\x8e\xc8\ +8c$0\xbe\xde\xd3\xa2\xe8\xa4\xf4\xaaCd\xd3\xe4\ +B<\xdc\xd00b\xc4\x0d\xd2W[+q\xdd \xcb\ +~\xa6\xd0_\x92\x9d\xcam$\x82\x15\xb1\xec\xe4$\xcc\ +wG\x03!`\xbb\xa7\xfd\xd1\xbf\x0d#\xfa@~9\ +\x88\xa6c\xc4\x14EFMM#\xacY'\x88\x85o\ +\x08t\x81\x9a\xe0D\x14\xb8\x0dM\x81)\xb9\xa0\x990\ +a\xceMr\xf5\xb4\xb0\xe8+\x18b\xe7 \xf7\xc7\xdd\ +\xbb\x10)\x8b\x06]\x15-\xc5\xf7\x84\x09\xe6\xf3\ +\x97I\x17_\xea\x97\x1e\x5c\x0dwM\xb6n\x07\x93\xa3\ +Q\xd8\xd7\xebOJ\xca\x9c\x98\x93\xa0/\xe8\x04\xafX\ +\xb3\xa1\x92E\xca\x95\xc0p\xbd>m\x8f>\x18\xf9\x0a\ +#s\xe0\x89\xb4\xf4\xac\xd4/\x914\x95{\xc3L8\ +a\x8e\xf9|\xa8\xb8\xfc\x03_\x8dg\x7fC\x13B\xa1\ +\x8f\xf3>\x90%\x12I\x12\x19_P\xb2o\xcfk\x90\ +\xcc\x89\xb1\x94\xb25g\xc5\x13\xceYJS\xf7\xb10\ +a*i\x0c\xf7\xd4\xa3\x96\x9a\x0c\xcb\x8d\x80O\xf89\ +\xafB\xb2M\x88\xc8\x85Jv\x9d>\xd6+\x19b_\ +oP\x13\xbf\xaf\xbfR\xe1\x12\xa8\x00\xc6\xd8 |\xb1\ +\x13f\xb2\x82*\xf5\xbb\x9d:\xd9\x84\xd0\x85\x5c\xb4\xa2\ +\x22e\xcc\x94\x115[@s*\xcb/K\x16X\x96\ +\x9c\xb3\x92E\xec\x17T\x92+(&h\x96\x1c\x91\xcb\ +8S\xc7Z\xf2\x0c\xef\x80s\x8e8Qj\xa0\xa5\xf5\ +E.d\x02\xdc\ +k\x0f\xd8\xb0\xdcr#'\xa6\x14\xbe^*Sf^\ +\x0c\xccW(\x06G\xc5\x96-\x85\xd0\x0a'\xdc\xe6\x0e\ +\x93_\xeb\x17H\xab_\xd9\x10\xa0\xd0_\xe8\x0f\x87m\ +_\x06p\x8d\x0a\xb3=n\x0f(u\x83\xc9R\x17\xe6\ +~\xa64\xa2IP\xe1hX\xb1bI-\x0c\xbcZ\ +\xd2m+J21#\x19u\x8e$\xaa \x1f\xf3\xaa\ +C\x05#\xc00\xe6\x989\xe9\xe7j\x0fH|\x81k\ +\xbfz)X\xc6R\xb1rW,D\xb9#\x0aD\x9c\ +~!\x95\x19d\x8d*8W\x7f\xf8\xfbU\xb8\x8dl\ +}\xeed\xf2\xb7\xa4\xa4e\xcd\x8as\x16\xa2Z\xecD\ +\xe6\xb9\xef\xc7\xfb\xb9\xb1\xa9\xc8\x05&a\xbd\x89\x1fr\ +)iH\x898\xe2_\xf1\x0b\xde}\x7ft\xefE\xa3\ +\xc5+F\x0dpw{\xe7\xd8Jq\xa5\x06\xad x\ +z\x99\x04\xa1&\x1c\xeeOqTr\xae\x22i\xff\xb4\ +4\x8c\xa4\x87\xea\xcb)B\x87\xd3\xc9(\xa6\x9f2\xac\ +\xe9h\xc8$\x1d/E\xba/A\x91s\xcc\x8c\xe4\xde\ +\xcb]\x8bW2\xc4\xae\xd6\xace=\x91\x1e\x90\xc9z\ +\xfd\x07\x0d\x07{\xba\x86\x86\xf0\x90Y#\xe6t\x03\xfc\ +3\x91S\xd6\x0d\xb8\x15\x9d,.H\x05\xa1\xb4\xd2\x0f\ +\x89\x84\x13\xb3\x116DB\xe47\x94\xff:~\x85\xf7\ +\xf3\xca\x86 L\xd8\xc5\xc2\xabi\x05L\xd1\xb2\x1fg\ +\xa8\x83\xbc\xaf\xda\xe0\xeb\xc5~YT+yE$\x9a\ +\xc6\x99\xd0\x8az0\xcfg\x13\x0d\x0c\xba\xf3\x0a\x84\x5c\ +\x5c\xc9\xd0\x82\x01&\xbc\xc6-\xf2\xcfy\xe6\xce\x84\x1f\ +\xd0\x10\xea\x9e\x0ac\x91v\x80Q\xf6\xfb\x90\x5c\x80\xd2\ +\xf6+T\xb5W\x07j`6h\xc9\xb4t\xc4\x8c\x85\ +\xdejdgC\xbf\x97/aD+\xe3k;1\xd8\ +*\x84\xc8\x9e\xf1\x7f\x837\x99\x7f\xa6\x9fA\x88\xfdA\ +\xa3\x06\x83\x89p_!\xf4\xe9\xb2G\x9a\xfb\xb3a\x07\ +{\x9a\x14\xfb\x8b\xca\x5c(\xd9\xd5\x8e\xdbIG\x1a\xea\ +R\x9f8\xf5\xcc\xcb:@2=\x89\xb8'&9\xd9\ +\xe9\xe7\xab\xdb\x9c;\xdc\x22\xfd\x8d\xbbF\xda\xf7\x07?\ +\x11*\xd8?\x96\xa1\x14\xff\xc4\xa2A\xa6a\xd9WB\ +\x1cn\xe3s\x831\x07\xcbP\xf8K\x09\xf3\xba\x11\xfe\ +m,\x86h\xc2\xf9JC\xfb\xc6\x89C\xed\x04\xe2Q\ +Dd\x9cH\x22E\xd82\xfa\xe3^\x8d\xa0bl\xc4\ +Y52^\x9c\x0d\xea\x8f\xe1\xdaJ\xbd\xa7\x8d\xbb\xe3\ +\xe0E\xec\xd6\xa1)\x81\xd9l``\xf7*\xc9\xdd\x01\ +\x19\xd9\xc9\x89\xb2b\x8eZ\x96\x1a\xa6\xcc\x99\x91\xa8\x97\ +l\xe8\xbej\xad\xb1\x93\xe8\x8fI\xc8D\x12)bJ\ +N!\xf9^?<\xdd+\x9f\xfa^D$)\xd8\xae\ +\x8b\xd1'eV\xc0|'\xe4\x0fG%\xd8c\xaft\ +\xec\xf9\xd4\x1b\x09\xd8\x08\xb8W\x07f\xb7#\xe1\x94\x9f\ +\xf2\x9a\x0cM\x1f.\xb0P?^\xd4\xe8g2b\xd2\ +@/\xadE\x97\xb8\x17\xedK\x84\xd5\xdfK\xf1\x9ap\ +6\x5c\xd0\xadf\xb0CA\x05\xb2\xea\x90Lbe\xdd\ +M3\x18si\x82x[?\xf48b\xc2\x9c\xec3\ +3\xd8\xdc\xe3~\xec\xf0\xd9\x17\xd811\x19\x994\xde\ +J*\x12)\x85\xfd\xbf\xb9d\x85;>n\xb4\xb7\x9a\ +F\x0fL\xd1_\xa96\x0c\xadt\xe2\x10+\xa97\x1a\ +i\x05\xb7\xf2\x7f#T\xf9\x88\x88\x11G\x9cpL\xfa\ +\x9bg\x13A~PC\xb8=\xb4\xb8Ou;Jy\ +ym\xd0\xd47\x18\xe9\xf1I\x05\xa1V\x02\xed+a44\ +r\xe3\x9dt*k\xd9\x93P\x00\xa5\xb0\xf2=\xacW\ +\x0b`\xe7EG\x8d\xf8\xa2\xa7\x89\xf2\xee`\x01\xef\x0f\ +`\x88\xa1{\xdc)\x9b\xfaC\x5c\xa2ei\xba\x95\xb2\ +\xa7\xa6F\xcb\x0cv#\x8a\xb7\x1eH\xa9eT5\x15\ +x5!a\x11\xbe\xd6\xca\x89h\xd1\x82Hy\xde\xe4\ +\x15Kj\x99\xfc\xed\xb3X\x9f\x95\xf4\xdb\x04sQ\xcc\ +\xcd\xb8-C\x94Jh\xa6\xee\x87\x86\xeaT\xc0y\xf4\ +`%%\x03\x8e\xad!\x16\xf5(\x1dj\x91.PG\ +T\x98\xea\xf3\x12I}\x83\xb6\x1f;\xb0\x92\x84iY\ +km%Dv\xa2k\xeb\x85\x9e\x0b:\xe9\x86\xd90\ +.\xe1/R'.;\xe6\xfb\xfd\x8a\x9e\xe7\x16\x9f>\ +!\x84\xbdk=\x01<\x95&\x8dw\x8d\xad\x88&\xfa\ +\x99,\x8fGUat\xc0aD\xbf\xce\x0f\x92 j\ +D\x91\x9c&\xa4\xcd\xd7p\xc9\x8a\x95\xccsUX\xaa\ +\x81\xe9\xbdw\xf0\x17\xc9\xf3q\xd3\xff\xf0\xa3\x19\xe2\x90\ +\x8c,\x9c\xa8O{\x9c@\xef}\x9e\x16\xf9\x95\xbe*\ +0R#tAr~+%\x92\xe7M\x8c8\x0a\xfb\ +\xc2\xbd!\x12\xa0\xa4a\xc5\x15+ja\xdd\xd6\x92R\ +9i\xfb\x1bQ+\x8d\xa5WR\x13{\x1d\x8a/~\ +4C\xec\x17\xdf\x04\xd2F\xdf\xb9\xe8\x8f\xb5\x92\xcc1\ +\x91P\xd8Osi1\xc2\x8eQ\xe9'4:\xb6l\ +\x89)\x88Ej\xd3W%3Z\xb6,\xb9d\xc1F\ +\xb6\xceV\x92\xa5\xd8\xa03a\x84Kg\xa4mh\x84\ +M\xa1\xf9\x91\x0d\xc1`\x8f\x96\x0e=\x8d\xbe\xba\xec\xd9\ +)\xb1\xf44\xfb\x1bo\x05J\xab\x83\x06\x80\x966~\ ++\xca\xd6J\x9a\xbe\xb1x\x0e\xc7\x94\x8a%KVl\ +\xc4]6ar\x18\xd1>\xd2\x03\x95\x81&\x94v\xd9\ +\x8fk\x08\xb7G\x1e\xb3\xd4\x1fd_@\xf7I#G\ +\xd4\x0d\x1at~\x9b\xa2~Jp\xa5\x0e\x07\x1aa\xcb\ +\x1a\x99\xd6\xeaX\x8b\x98x\x22\x18e*\x02{\xb5\xb0\ +_\x90<\x03!\x94\xf5\x1a\xecJ\xce\x99\xef\x8d\xf8z\ +'\x82\x1f\xd3\x10}\x82\xe2k\xbe\xd5\x1f\xdcg\xe67\ +=\x10\x12S\x85\xd0\xba[E\xd9\xc9t\xae?\x07\xad\ +\x9c\x1f#\x88U_\xbeW(\xa9\x1a*Y\x8eW\x0d\ +V\x0f\xda\xbd\x15D\xbb,\xf6\xb0\xb3\xe6\x13\xb0^n\ +\xf4G3\x84\x93\x14\xd8\xa0\xa9\xf9\x8b\xfb\x9a-\xff\xee\ +\x93c\xa9\xf9Z\xd9\xba\xaa\x84A\xe7$zk\x12*\ +\xb6(Q\x83K$\x1cZ:\xe2\xa0 \x13\xcbFV\ +\xbf\x18\xc2\xcaI\xe8\x85v\x86\xab\xb6u\xc0\xc34=\ +O\xbb\x0f\xd2\x9dD'\xaf\xaa\xa8\x9f\x8ak\xdf\xcd\xf6\ +x\xce\x98\x82{j\x99m\xcd\xa5\xfb3\x7f\xe2[~\ +JE\xf5\x89\x0d\x9e\x82\x01\x04\xa7C6iD\xf0\xa6\ +\x8f4\xdd\x80\x07\xd9ObyDa&\xe2\xbd\x9d\x90\ +\xc8uX&\xc1\x80N`\x0et\xafv%{&\x84\ +\xb3^\xdcuX\xb6\xbd\xc2\x89\xd8\x0f\x90;\xce\x91\xc3\ +\xb2p\x0b.\xf8g\xfe\x09\xc5\xbb\xfc\x9c\xe3\x01\xbcF\ +\xc8\xe4z\xb3\xf4\xb1!\x11\xd8-\x92\x1a@\xc9\x8a\xed\ +\xed \xb86\x02\xb3\x19r\xb9.]\xd8\xe5\xea\x06h\ +\xa6\x19\x0c\x1e\xa9\xbd\xde;B'\x88H\x19\xc9\xc6\xa8\ +\xe1\x93\xfe\x1e\x99\xe5.?\xef(>\xa8\xfep\xc9\x1f\ +\xf9\x923\xfe\xcc%\xbf\xe0\x7f\xe5]R\xb6\x942\x82\ +\x14\x0dXl\x04i\x1c_\x1a\xa7\x02\xca'\xc2\xa0\xf4\ +\xdc\x88\x9d\x80\x8fO\xd5\x1fa\x84y]\xcb\xa2\x80\xbe\ +\xfepb\xd8\xe1\xe2\xc4C\x05,G%\x9ae\x89\x08\ +\xba\xb8\x01\x14|\x1d\xf3\xef\xa5\xa8C\x16G\xc5\xa5{\ +\xc89_\xf2W\xbe\xe6\x9c\x98\x9f\xf3\xbf\xf1&\x0d-\ +\x0bY\xe6\xa0\x83~\x84\x0a\xab\xb2u\xc84z\x8az\ +\x22\x99BD\xc4V\x8a\xea*\xc8\xff\xf5\x88\xb4\xa7y\ +X\xe9|1p\xc1\xc3\x85sz\xeft \x9a\xa7\x8a\ +\x8aR\xe8\xa6\xfa\x80\xc0\xf2\xca'Bc\xd9~\xb0\xfe\ +\xc3\x05\xdf\xf0\x15\x0f\xb8\xa4\xe2\x92K~\xc2\xff\xc9\xbf\ +%f\x032\x97\xa3e4i\x08\xe92\xe8}\xba\xc0\ +\x911Rv\xc5\x14\xc2\x89i\xc2\x10Z<\x10W\xf1\ +\x9a\xa8*L\x10\xab\xc1\xe2k\xb5\x17:w\xff\xa4\xd2\ +\xf4k\xf6\xb6R?\x8b)\xfe\x12\x86\xa8Y\xb8o\xf8\ +\x0b\x8f8\xe3\x9c\x0d5O\xd8\xf0&\xff;?\x93\x8d\ +\xcb\x88\xcc\x8a\xf7\xd6\xf1\xc1\x8f\x8c\xf7\xdc\xd9\xee)j\ +\xf9hGA*\x93\xfa\x8d4\xfd\xeb\x80^\xec\xc8$\ +\xf6)\xb2\xda\xee<\x0cw\x91\x97r6[\x16<\xa4\ +p7\xdfO\xee\xc5\x83\xc7\xfa\xca\x08\xd5c\xf7\x0d\xff\ +\xcc\x1fE\x16Ss\xc1\x97\x8c\xf8?\xf8\xbfH\xb8\x12\ +<\xb0\x92/1\xd2\x89:\xfcV6`\x01;I\x0c\ ++\xd2\x1b7\xa9\x990f\xcc9\x89,\x1c\xd1\xa28\ +\xd5\x84\xb0i\xaf\xd9\xd8\xd6\xb7\x15\xf7O\xc4VF\xe7\ +\xd6\xdc\xe3\x02\xf8\x8f_M\x98\xaah\xaf\x0ez\x09C\ +\xf86ks\xd7~\xfc\xff\xf0G\xfe,\xd4\xe0F\xda\ +\xefo\xf3\xafp\xac\x83\xb0\xa7\xefSDhj\xb1\xe1\ +n?g;\x98\xc1\xe8\x84\x89\xb9;\x11\x09\x15#f\ +\x1c\xb3\xe4\x88\x05[\x1e\xb3d\x1b\xe4\xc5\xd5\xdeNz\ +\xb5\xa7M\xa0D!d_F2\xa6\xa6`N\xc6\x82\ +\xff\xca7\xac\xf97\xfc\x9d\xbb\xa1z\xe5U-*\xb9\ +*\xd0\xd2w[g\xaf\xc9#*V\xcek\xdd?f\ +AI\x1b\x10$\x98s*\xea>&\x88\xa3 \xd9\xc2\ +~W\x0bI\x88m \x07\x0cW\xd2\xfa)\x8d,4\ +\xf0\xfc\xc0Z\xce\x82\x95\x88g\x94\xc1Y\xda\xf0=v\ +m\xc2af\xa9B\xaeY\x0b\xeb\xaa\xa5\xe1\x82\xc7\xfc\ +\xdf\x9ccy\xdf\xcd\x19\xa9\xdd\xf03\xd2^\xec\x88\x04\ +@\xba\xbe\x17\xf6?\x00\xe1\x00\x14\x01\xde&\x16\xb2\x00\ +\x00\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x08\ +\x0bwZ\x87\ +\x00h\ +\x00e\x00a\x00d\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01z\xe7\xee'\x09\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/widgets/graphicsview/dragdroprobot/images/head.png b/examples/widgets/graphicsview/dragdroprobot/images/head.png new file mode 100644 index 0000000000000000000000000000000000000000..1e520e09b8d0bde4af5947c1430a83feae03a822 GIT binary patch literal 14972 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 0: + angle = 2 * math.pi - angle + + arrow_head1 = QPointF(math.sin(angle + math.pi / 3) * self._arrow_size, + math.cos(angle + math.pi / 3) * self._arrow_size) + source_arrow_p1 = self._source_point + arrow_head1 + arrow_head2 = QPointF(math.sin(angle + math.pi - math.pi / 3) * self._arrow_size, + math.cos(angle + math.pi - math.pi / 3) * self._arrow_size) + source_arrow_p2 = self._source_point + arrow_head2 + + arrow_head1 = QPointF(math.sin(angle - math.pi / 3) * self._arrow_size, + math.cos(angle - math.pi / 3) * self._arrow_size) + dest_arrow_p1 = self._dest_point + arrow_head1 + arrow_head2 = QPointF(math.sin(angle - math.pi + math.pi / 3) * self._arrow_size, + math.cos(angle - math.pi + math.pi / 3) * self._arrow_size) + dest_arrow_p2 = self._dest_point + arrow_head2 + + painter.setBrush(Qt.black) + painter.drawPolygon(QPolygonF([line.p1(), source_arrow_p1, source_arrow_p2])) + painter.drawPolygon(QPolygonF([line.p2(), dest_arrow_p1, dest_arrow_p2])) + + +class Node(QGraphicsItem): + item_type = QGraphicsItem.UserType + 1 + + def __init__(self, graphWidget): + super().__init__() + + self.graph = weakref.ref(graphWidget) + self._edge_list = [] + self._new_pos = QPointF() + self.setFlag(QGraphicsItem.ItemIsMovable) + self.setFlag(QGraphicsItem.ItemSendsGeometryChanges) + self.setCacheMode(QGraphicsItem.DeviceCoordinateCache) + self.setZValue(-1) + + def item_type(self): + return Node.item_type + + def add_edge(self, edge): + self._edge_list.append(weakref.ref(edge)) + edge.adjust() + + def edges(self): + return self._edge_list + + def calculate_forces(self): + if not self.scene() or self.scene().mouseGrabberItem() is self: + self._new_pos = self.pos() + return + + # Sum up all forces pushing this item away. + xvel = 0.0 + yvel = 0.0 + for item in self.scene().items(): + if not isinstance(item, Node): + continue + + line = QLineF(self.mapFromItem(item, 0, 0), QPointF(0, 0)) + dx = line.dx() + dy = line.dy() + l = 2.0 * (dx * dx + dy * dy) + if l > 0: + xvel += (dx * 150.0) / l + yvel += (dy * 150.0) / l + + # Now subtract all forces pulling items together. + weight = (len(self._edge_list) + 1) * 10.0 + for edge in self._edge_list: + if edge().source_node() is self: + pos = self.mapFromItem(edge().dest_node(), 0, 0) + else: + pos = self.mapFromItem(edge().source_node(), 0, 0) + xvel += pos.x() / weight + yvel += pos.y() / weight + + if qAbs(xvel) < 0.1 and qAbs(yvel) < 0.1: + xvel = yvel = 0.0 + + scene_rect = self.scene().sceneRect() + self._new_pos = self.pos() + QPointF(xvel, yvel) + self._new_pos.setX(min(max(self._new_pos.x(), scene_rect.left() + 10), + scene_rect.right() - 10)) + self._new_pos.setY(min(max(self._new_pos.y(), scene_rect.top() + 10), + scene_rect.bottom() - 10)) + + def advance(self): + if self._new_pos == self.pos(): + return False + + self.setPos(self._new_pos) + return True + + def boundingRect(self): + adjust = 2.0 + return QRectF(-10 - adjust, -10 - adjust, + 23 + adjust, 23 + adjust) + + def shape(self): + path = QPainterPath() + path.addEllipse(-10, -10, 20, 20) + return path + + def paint(self, painter, option, widget): + painter.setPen(Qt.NoPen) + painter.setBrush(Qt.darkGray) + painter.drawEllipse(-7, -7, 20, 20) + + gradient = QRadialGradient(-3, -3, 10) + if option.state & QStyle.State_Sunken: + gradient.setCenter(3, 3) + gradient.setFocalPoint(3, 3) + gradient.setColorAt(1, QColor(Qt.yellow).lighter(120)) + gradient.setColorAt(0, QColor(Qt.darkYellow).lighter(120)) + else: + gradient.setColorAt(0, Qt.yellow) + gradient.setColorAt(1, Qt.darkYellow) + + painter.setBrush(QBrush(gradient)) + painter.setPen(QPen(Qt.black, 0)) + painter.drawEllipse(-10, -10, 20, 20) + + def itemChange(self, change, value): + if change == QGraphicsItem.ItemPositionChange: + for edge in self._edge_list: + edge().adjust() + self.graph().item_moved() + + return QGraphicsItem.itemChange(self, change, value) + + def mousePressEvent(self, event): + self.update() + QGraphicsItem.mousePressEvent(self, event) + + def mouseReleaseEvent(self, event): + self.update() + QGraphicsItem.mouseReleaseEvent(self, event) + + +class GraphWidget(QGraphicsView): + def __init__(self): + super().__init__() + + self._timer_id = 0 + + scene = QGraphicsScene(self) + scene.setItemIndexMethod(QGraphicsScene.NoIndex) + scene.setSceneRect(-200, -200, 400, 400) + self.setScene(scene) + self.setCacheMode(QGraphicsView.CacheBackground) + self.setRenderHint(QPainter.Antialiasing) + self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse) + self.setResizeAnchor(QGraphicsView.AnchorViewCenter) + + node1 = Node(self) + node2 = Node(self) + node3 = Node(self) + node4 = Node(self) + self._center_node = Node(self) + node6 = Node(self) + node7 = Node(self) + node8 = Node(self) + node9 = Node(self) + scene.addItem(node1) + scene.addItem(node2) + scene.addItem(node3) + scene.addItem(node4) + scene.addItem(self._center_node) + scene.addItem(node6) + scene.addItem(node7) + scene.addItem(node8) + scene.addItem(node9) + scene.addItem(Edge(node1, node2)) + scene.addItem(Edge(node2, node3)) + scene.addItem(Edge(node2, self._center_node)) + scene.addItem(Edge(node3, node6)) + scene.addItem(Edge(node4, node1)) + scene.addItem(Edge(node4, self._center_node)) + scene.addItem(Edge(self._center_node, node6)) + scene.addItem(Edge(self._center_node, node8)) + scene.addItem(Edge(node6, node9)) + scene.addItem(Edge(node7, node4)) + scene.addItem(Edge(node8, node7)) + scene.addItem(Edge(node9, node8)) + + node1.setPos(-50, -50) + node2.setPos(0, -50) + node3.setPos(50, -50) + node4.setPos(-50, 0) + self._center_node.setPos(0, 0) + node6.setPos(50, 0) + node7.setPos(-50, 50) + node8.setPos(0, 50) + node9.setPos(50, 50) + + self.scale(0.8, 0.8) + self.setMinimumSize(400, 400) + self.setWindowTitle(self.tr("Elastic Nodes")) + + def item_moved(self): + if not self._timer_id: + self._timer_id = self.startTimer(1000 / 25) + + def keyPressEvent(self, event): + key = event.key() + + if key == Qt.Key_Up: + self._center_node.moveBy(0, -20) + elif key == Qt.Key_Down: + self._center_node.moveBy(0, 20) + elif key == Qt.Key_Left: + self._center_node.moveBy(-20, 0) + elif key == Qt.Key_Right: + self._center_node.moveBy(20, 0) + elif key == Qt.Key_Plus: + self.scale_view(1.2) + elif key == Qt.Key_Minus: + self.scale_view(1 / 1.2) + elif key == Qt.Key_Space or key == Qt.Key_Enter: + for item in self.scene().items(): + if isinstance(item, Node): + item.setPos(-150 + random(300), -150 + random(300)) + else: + QGraphicsView.keyPressEvent(self, event) + + def timerEvent(self, event): + nodes = [item for item in self.scene().items() if isinstance(item, Node)] + + for node in nodes: + node.calculate_forces() + + items_moved = False + for node in nodes: + if node.advance(): + items_moved = True + + if not items_moved: + self.killTimer(self._timer_id) + self._timer_id = 0 + + def wheelEvent(self, event): + delta = event.angleDelta().y() + self.scale_view(math.pow(2.0, -delta / 240.0)) + + def draw_background(self, painter, rect): + # Shadow. + scene_rect = self.sceneRect() + right_shadow = QRectF(scene_rect.right(), scene_rect.top() + 5, + 5, scene_rect.height()) + bottom_shadow = QRectF(scene_rect.left() + 5, scene_rect.bottom(), + scene_rect.width(), 5) + if right_shadow.intersects(rect) or right_shadow.contains(rect): + painter.fillRect(right_shadow, Qt.darkGray) + if bottom_shadow.intersects(rect) or bottom_shadow.contains(rect): + painter.fillRect(bottom_shadow, Qt.darkGray) + + # Fill. + gradient = QLinearGradient(scene_rect.topLeft(), scene_rect.bottomRight()) + gradient.setColorAt(0, Qt.white) + gradient.setColorAt(1, Qt.lightGray) + painter.fillRect(rect.intersected(scene_rect), QBrush(gradient)) + painter.setBrush(Qt.NoBrush) + painter.drawRect(scene_rect) + + # Text. + text_rect = QRectF(scene_rect.left() + 4, scene_rect.top() + 4, + scene_rect.width() - 4, scene_rect.height() - 4) + message = self.tr("Click and drag the nodes around, and zoom with the " + "mouse wheel or the '+' and '-' keys") + + font = painter.font() + font.setBold(True) + font.setPointSize(14) + painter.setFont(font) + painter.setPen(Qt.lightGray) + painter.drawText(text_rect.translated(2, 2), message) + painter.setPen(Qt.black) + painter.drawText(text_rect, message) + + def scale_view(self, scaleFactor): + factor = self.transform().scale(scaleFactor, scaleFactor).mapRect(QRectF(0, 0, 1, 1)).width() + + if factor < 0.07 or factor > 100: + return + + self.scale(scaleFactor, scaleFactor) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + + widget = GraphWidget() + widget.show() + + sys.exit(app.exec()) diff --git a/examples/widgets/graphicsview/elasticnodes/elasticnodes.pyproject b/examples/widgets/graphicsview/elasticnodes/elasticnodes.pyproject new file mode 100644 index 0000000..f6083e7 --- /dev/null +++ b/examples/widgets/graphicsview/elasticnodes/elasticnodes.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["elasticnodes.py"] +} diff --git a/examples/widgets/imageviewer/imageviewer.py b/examples/widgets/imageviewer/imageviewer.py new file mode 100644 index 0000000..ded7f24 --- /dev/null +++ b/examples/widgets/imageviewer/imageviewer.py @@ -0,0 +1,277 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtPrintSupport import QPrintDialog, QPrinter +from PySide6.QtWidgets import (QApplication, QDialog, QFileDialog, QLabel, + QMainWindow, QMessageBox, QScrollArea, + QSizePolicy) +from PySide6.QtGui import (QColorSpace, QGuiApplication, + QImageReader, QImageWriter, QKeySequence, + QPalette, QPainter, QPixmap) +from PySide6.QtCore import QDir, QStandardPaths, Qt, Slot + + +ABOUT = """

    Q*=7RNPSfK{KWxr>KVz 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 literal 0 HcmV?d00001 diff --git a/examples/quick/scenegraph/openglunderqml/main.py b/examples/quick/scenegraph/openglunderqml/main.py new file mode 100644 index 0000000..a79d1be --- /dev/null +++ b/examples/quick/scenegraph/openglunderqml/main.py @@ -0,0 +1,27 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys +from pathlib import Path + +from PySide6.QtCore import QUrl +from PySide6.QtGui import QGuiApplication +from PySide6.QtQuick import QQuickView, QQuickWindow, QSGRendererInterface + +from squircle import Squircle + +if __name__ == "__main__": + app = QGuiApplication(sys.argv) + + QQuickWindow.setGraphicsApi(QSGRendererInterface.OpenGL) + + view = QQuickView() + view.setResizeMode(QQuickView.SizeRootObjectToView) + qml_file = Path(__file__).parent / "main.qml" + view.setSource(QUrl.fromLocalFile(qml_file)) + + if view.status() == QQuickView.Error: + sys.exit(-1) + view.show() + + sys.exit(app.exec()) diff --git a/examples/quick/scenegraph/openglunderqml/main.qml b/examples/quick/scenegraph/openglunderqml/main.qml new file mode 100644 index 0000000..73bfa32 --- /dev/null +++ b/examples/quick/scenegraph/openglunderqml/main.qml @@ -0,0 +1,39 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import OpenGLUnderQML + +Item { + + width: 320 + height: 480 + + Squircle { + SequentialAnimation on t { + NumberAnimation { to: 1; duration: 2500; easing.type: Easing.InQuad } + NumberAnimation { to: 0; duration: 2500; easing.type: Easing.OutQuad } + loops: Animation.Infinite + running: true + } + } + Rectangle { + color: Qt.rgba(1, 1, 1, 0.7) + radius: 10 + border.width: 1 + border.color: "white" + anchors.fill: label + anchors.margins: -10 + } + + Text { + id: label + color: "black" + wrapMode: Text.WordWrap + text: "The background here is a squircle rendered with raw OpenGL using the 'beforeRender()' signal in QQuickWindow. This text label and its border is rendered using QML" + anchors.right: parent.right + anchors.left: parent.left + anchors.bottom: parent.bottom + anchors.margins: 20 + } +} diff --git a/examples/quick/scenegraph/openglunderqml/openglunderqml.pyproject b/examples/quick/scenegraph/openglunderqml/openglunderqml.pyproject new file mode 100644 index 0000000..e7cfbc5 --- /dev/null +++ b/examples/quick/scenegraph/openglunderqml/openglunderqml.pyproject @@ -0,0 +1,3 @@ +{ + "files": [ "main.py", "main.qml", "squircle.py", "squirclerenderer.py"] +} diff --git a/examples/quick/scenegraph/openglunderqml/squircle.py b/examples/quick/scenegraph/openglunderqml/squircle.py new file mode 100644 index 0000000..d290019 --- /dev/null +++ b/examples/quick/scenegraph/openglunderqml/squircle.py @@ -0,0 +1,79 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Property, QRunnable, Qt, Signal, Slot +from PySide6.QtQml import QmlElement +from PySide6.QtQuick import QQuickItem, QQuickWindow + +from squirclerenderer import SquircleRenderer + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "OpenGLUnderQML" +QML_IMPORT_MAJOR_VERSION = 1 + + +class CleanupJob(QRunnable): + def __init__(self, renderer): + super().__init__() + self._renderer = renderer + + def run(self): + del self._renderer + + +@QmlElement +class Squircle(QQuickItem): + + tChanged = Signal() + + def __init__(self, parent=None): + super().__init__(parent) + self._t = 0.0 + self._renderer = None + self.windowChanged.connect(self.handleWindowChanged) + + def t(self): + return self._t + + def setT(self, value): + if self._t == value: + return + self._t = value + self.tChanged.emit() + if self.window(): + self.window().update() + + @Slot(QQuickWindow) + def handleWindowChanged(self, win): + if win: + win.beforeSynchronizing.connect(self.sync, type=Qt.DirectConnection) + win.sceneGraphInvalidated.connect(self.cleanup, type=Qt.DirectConnection) + win.setColor(Qt.black) + self.sync() + + @Slot() + def cleanup(self): + del self._renderer + self._renderer = None + + @Slot() + def sync(self): + window = self.window() + if not self._renderer: + self._renderer = SquircleRenderer() + window.beforeRendering.connect(self._renderer.init, Qt.DirectConnection) + window.beforeRenderPassRecording.connect( + self._renderer.paint, Qt.DirectConnection + ) + self._renderer.setViewportSize(window.size() * window.devicePixelRatio()) + self._renderer.setT(self._t) + self._renderer.setWindow(window) + + def releaseResources(self): + self.window().scheduleRenderJob( + CleanupJob(self._renderer), QQuickWindow.BeforeSynchronizingStage + ) + self._renderer = None + + t = Property(float, t, setT, notify=tChanged) diff --git a/examples/quick/scenegraph/openglunderqml/squirclerenderer.py b/examples/quick/scenegraph/openglunderqml/squirclerenderer.py new file mode 100644 index 0000000..d824f96 --- /dev/null +++ b/examples/quick/scenegraph/openglunderqml/squirclerenderer.py @@ -0,0 +1,98 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from textwrap import dedent + +import numpy as np +from OpenGL.GL import (GL_ARRAY_BUFFER, GL_BLEND, GL_DEPTH_TEST, GL_FLOAT, + GL_ONE, GL_SRC_ALPHA, GL_TRIANGLE_STRIP) +from PySide6.QtCore import QSize, Slot +from PySide6.QtGui import QOpenGLFunctions +from PySide6.QtOpenGL import QOpenGLShader, QOpenGLShaderProgram +from PySide6.QtQuick import QQuickWindow, QSGRendererInterface + +VERTEX_SHADER = dedent( + """\ + attribute highp vec4 vertices; + varying highp vec2 coords; + void main() { + gl_Position = vertices; + coords = vertices.xy; + } + """ +) +FRAGMENT_SHADER = dedent( + """\ + uniform lowp float t; + varying highp vec2 coords; + void main() { + lowp float i = 1. - (pow(abs(coords.x), 4.) + pow(abs(coords.y), 4.)); + i = smoothstep(t - 0.8, t + 0.8, i); + i = floor(i * 20.) / 20.; + gl_FragColor = vec4(coords * .5 + .5, i, i); + } + """ +) + + +class SquircleRenderer(QOpenGLFunctions): + def __init__(self): + QOpenGLFunctions.__init__(self) + self._viewport_size = QSize() + self._t = 0.0 + self._program = None + self._window = QQuickWindow() + + def setT(self, t): + self._t = t + + def setViewportSize(self, size): + self._viewport_size = size + + def setWindow(self, window): + self._window = window + + @Slot() + def init(self): + if not self._program: + rif = self._window.rendererInterface() + assert (rif.graphicsApi() == QSGRendererInterface.OpenGL) + self.initializeOpenGLFunctions() + self._program = QOpenGLShaderProgram() + self._program.addCacheableShaderFromSourceCode(QOpenGLShader.Vertex, VERTEX_SHADER) + self._program.addCacheableShaderFromSourceCode(QOpenGLShader.Fragment, FRAGMENT_SHADER) + self._program.bindAttributeLocation("vertices", 0) + self._program.link() + + @Slot() + def paint(self): + # Play nice with the RHI. Not strictly needed when the scenegraph uses + # OpenGL directly. + self._window.beginExternalCommands() + + self._program.bind() + + self._program.enableAttributeArray(0) + + values = np.array([-1, -1, 1, -1, -1, 1, 1, 1], dtype="single") + + # This example relies on (deprecated) client-side pointers for the vertex + # input. Therefore, we have to make sure no vertex buffer is bound. + self.glBindBuffer(GL_ARRAY_BUFFER, 0) + + self._program.setAttributeArray(0, GL_FLOAT, values, 2) + self._program.setUniformValue1f("t", self._t) + + self.glViewport(0, 0, self._viewport_size.width(), self._viewport_size.height()) + + self.glDisable(GL_DEPTH_TEST) + + self.glEnable(GL_BLEND) + self.glBlendFunc(GL_SRC_ALPHA, GL_ONE) + + self.glDrawArrays(GL_TRIANGLE_STRIP, 0, 4) + + self._program.disableAttributeArray(0) + self._program.release() + + self._window.endExternalCommands() diff --git a/examples/quick/scenegraph/scenegraph_customgeometry/doc/scenegraph_customgeometry.rst b/examples/quick/scenegraph/scenegraph_customgeometry/doc/scenegraph_customgeometry.rst new file mode 100644 index 0000000..190ab80 --- /dev/null +++ b/examples/quick/scenegraph/scenegraph_customgeometry/doc/scenegraph_customgeometry.rst @@ -0,0 +1,7 @@ +Scene Graph - Custom Geometry +============================= + +The custom geometry example shows how to create a QQuickItem which uses the +scene graph API to build a custom geometry for the scene graph. It does this +by creating a BezierCurve item which is made part of the CustomGeometry module +and makes use of this in a QML file. diff --git a/examples/quick/scenegraph/scenegraph_customgeometry/main.py b/examples/quick/scenegraph/scenegraph_customgeometry/main.py new file mode 100644 index 0000000..60a9040 --- /dev/null +++ b/examples/quick/scenegraph/scenegraph_customgeometry/main.py @@ -0,0 +1,152 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Qt Quick customgeometry example from Qt v6.x""" + +import sys +from pathlib import Path + +from PySide6.QtQuick import (QQuickView, QQuickItem, QSGNode, QSGGeometryNode, + QSGGeometry, QSGFlatColorMaterial) +from PySide6.QtQml import QmlElement +from PySide6.QtGui import QGuiApplication, QColor +from PySide6.QtCore import (QPointF, QUrl, Property, Signal, Slot) + +# To be used on the @QmlElement decorator +# (QML_IMPORT_MINOR_VERSION is optional) +QML_IMPORT_NAME = "CustomGeometry" +QML_IMPORT_MAJOR_VERSION = 1 + + +@QmlElement +class BezierCurve(QQuickItem): + p1Changed = Signal() + p2Changed = Signal() + p3Changed = Signal() + p4Changed = Signal() + segmentCountChanged = Signal() + + def __init__(self, parent=None): + super().__init__(parent) + + self._p1 = QPointF(0, 0) + self._p2 = QPointF(1, 0) + self._p3 = QPointF(0, 1) + self._p4 = QPointF(1, 1) + self._segmentCount = 32 + + self._node = None + self._geometry = None + self.setFlag(QQuickItem.Flags.ItemHasContents, True) + + def p1(self): + return self._p1 + + def p2(self): + return self._p2 + + def p3(self): + return self._p3 + + def p4(self): + return self._p4 + + def segmentCount(self): + return self._segmentCount + + @Slot(QPointF) + def setP1(self, p): + if p != self._p1: + self._p1 = p + self.p1Changed.emit() + self.update() + + @Slot(QPointF) + def setP2(self, p): + if p != self._p2: + self._p2 = p + self.p2Changed.emit() + self.update() + + @Slot(QPointF) + def setP3(self, p): + if p != self._p3: + self._p3 = p + self.p3Changed.emit() + self.update() + + @Slot(QPointF) + def setP4(self, p): + if p != self._p4: + self._p4 = p + self.p4Changed.emit() + self.update() + + @Slot(int) + def setSegmentCount(self, p): + if p != self._segmentCount: + self._segmentCount = p + self.segmentCountChanged.emit() + self.update() + + def updatePaintNode(self, oldNode, updatePaintNodeData): + self._node = oldNode + if not self._node: + self._default_attributes = QSGGeometry.defaultAttributes_Point2D() + self._geometry = QSGGeometry(self._default_attributes, self._segmentCount) + self._geometry.setLineWidth(2) + self._geometry.setDrawingMode(QSGGeometry.DrawingMode.DrawLineStrip) + + self._node = QSGGeometryNode() + self._node.setGeometry(self._geometry) + self._node.setFlag(QSGNode.Flags.OwnsGeometry) + self._material = QSGFlatColorMaterial() + self._material.setColor(QColor(255, 0, 0)) + self._node.setMaterial(self._material) + self._node.setFlag(QSGNode.Flags.OwnsMaterial) + else: + self._geometry = self._node.geometry() + self._geometry.allocate(self._segmentCount) + + item_size = self.size() + item_width = float(item_size.width()) + item_height = float(item_size.height()) + vertices = self._geometry.vertexDataAsPoint2D() + for i in range(self._segmentCount): + t = float(i) / float(self._segmentCount - 1) + inv_t = 1 - t + pos = ((inv_t * inv_t * inv_t * self._p1) + + (3 * inv_t * inv_t * t * self._p2) + + (3 * inv_t * t * t * self._p3) + + (t * t * t * self._p4)) + vertices[i].set(pos.x() * item_width, pos.y() * item_height) + + self._geometry.setVertexDataAsPoint2D(vertices) + + self._node.markDirty(QSGNode.DirtyGeometry) + return self._node + + p1 = Property(QPointF, p1, setP1, notify=p1Changed) + p2 = Property(QPointF, p2, setP2, notify=p2Changed) + p3 = Property(QPointF, p3, setP3, notify=p3Changed) + p4 = Property(QPointF, p4, setP4, notify=p4Changed) + + segmentCount = Property(int, segmentCount, setSegmentCount, + notify=segmentCountChanged) + + +if __name__ == "__main__": + app = QGuiApplication([]) + view = QQuickView() + format = view.format() + format.setSamples(16) + view.setFormat(format) + + qml_file = Path(__file__).parent / "main.qml" + view.setSource(QUrl.fromLocalFile(qml_file)) + if not view.rootObject(): + sys.exit(-1) + view.show() + ex = app.exec() + del view + sys.exit(ex) diff --git a/examples/quick/scenegraph/scenegraph_customgeometry/main.qml b/examples/quick/scenegraph/scenegraph_customgeometry/main.qml new file mode 100644 index 0000000..88431a1 --- /dev/null +++ b/examples/quick/scenegraph/scenegraph_customgeometry/main.qml @@ -0,0 +1,34 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import CustomGeometry + +Item { + width: 300 + height: 200 + + BezierCurve { + id: line + anchors.fill: parent + anchors.margins: 20 + property real t + SequentialAnimation on t { + NumberAnimation { to: 1; duration: 2000; easing.type: Easing.InOutQuad } + NumberAnimation { to: 0; duration: 2000; easing.type: Easing.InOutQuad } + loops: Animation.Infinite + } + + p2: Qt.point(t, 1 - t) + p3: Qt.point(1 - t, t) + } + + Text { + anchors.bottom: line.bottom + x: 20 + width: parent.width - 40 + wrapMode: Text.WordWrap + + text: "This curve is a custom scene graph item, implemented using GL_LINE_STRIP" + } +} diff --git a/examples/quick/scenegraph/scenegraph_customgeometry/scenegraph_customgeometry.pyproject b/examples/quick/scenegraph/scenegraph_customgeometry/scenegraph_customgeometry.pyproject new file mode 100644 index 0000000..a5247ef --- /dev/null +++ b/examples/quick/scenegraph/scenegraph_customgeometry/scenegraph_customgeometry.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["main.py","main.qml"] +} diff --git a/examples/quick/shared/Button.qml b/examples/quick/shared/Button.qml new file mode 100644 index 0000000..2d4797a --- /dev/null +++ b/examples/quick/shared/Button.qml @@ -0,0 +1,50 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Window 2.1 + +Item { + id: container + + property alias text: buttonLabel.text + property alias label: buttonLabel + signal clicked + property alias containsMouse: hoverHandler.hovered + property alias pressed: tapHandler.pressed + implicitHeight: Math.max(Screen.pixelDensity * 7, buttonLabel.implicitHeight * 1.2) + implicitWidth: Math.max(Screen.pixelDensity * 11, buttonLabel.implicitWidth * 1.3) + height: implicitHeight + width: implicitWidth + + SystemPalette { id: palette } + + Rectangle { + id: frame + anchors.fill: parent + color: palette.button + gradient: Gradient { + GradientStop { position: 0.0; color: tapHandler.pressed ? Qt.darker(palette.button, 1.3) : palette.button } + GradientStop { position: 1.0; color: Qt.darker(palette.button, 1.3) } + } + antialiasing: true + radius: height / 6 + border.color: Qt.darker(palette.button, 1.5) + border.width: 1 + } + + TapHandler { + id: tapHandler + onTapped: container.clicked(); + } + HoverHandler { + id: hoverHandler + } + + Text { + id: buttonLabel + text: container.text + color: palette.buttonText + anchors.centerIn: parent + } +} diff --git a/examples/quick/shared/CheckBox.qml b/examples/quick/shared/CheckBox.qml new file mode 100644 index 0000000..45c4f4e --- /dev/null +++ b/examples/quick/shared/CheckBox.qml @@ -0,0 +1,59 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Item { + id: root + implicitHeight: frame.height + implicitWidth: row.implicitWidth + width: implicitWidth + height: implicitHeight + property alias text: label.text + property bool checked + property alias pressed: tapHandler.pressed + property alias row: row + signal clicked + + SystemPalette { id: palette } + + Row { + id: row + anchors.verticalCenter: parent.verticalCenter + spacing: 6 + Rectangle { + id: frame + gradient: Gradient { + GradientStop { position: 0.0; color: tapHandler.pressed ? Qt.darker(palette.button, 1.3) : palette.button } + GradientStop { position: 1.0; color: Qt.darker(palette.button, 1.3) } + } + height: label.implicitHeight * 1.5 + width: height + anchors.margins: 1 + radius: 3 + antialiasing: true + border.color: Qt.darker(palette.button, 1.5) + Image { + id: theX + source: "images/checkmark.png" + anchors.fill: frame + anchors.margins: frame.width / 5 + fillMode: Image.PreserveAspectFit + smooth: true + visible: root.checked + } + } + Text { + id: label + color: palette.text + anchors.verticalCenter: frame.verticalCenter + } + } + TapHandler { + id: tapHandler + onTapped: { + parent.checked = !parent.checked + parent.clicked() + } + } +} diff --git a/examples/quick/shared/FlickrRssModel.qml b/examples/quick/shared/FlickrRssModel.qml new file mode 100644 index 0000000..e78d1ff --- /dev/null +++ b/examples/quick/shared/FlickrRssModel.qml @@ -0,0 +1,45 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +ListModel { + id: flickrImages + property string tags : "" + readonly property string queryUrl : "http://api.flickr.com/services/feeds/photos_public.gne?" + + function encodeParams(x) { + return encodeURIComponent(x.replace(" ",",")); + } + function fetchImages(format) { + var requestURL = queryUrl + (tags ? "tags="+encodeParams(tags)+"&" : "") + "format=" + format + "&nojsoncallback=1"; + var xhr = new XMLHttpRequest; + xhr.onreadystatechange = function() { + if (xhr.readyState === XMLHttpRequest.DONE) { + + if (xhr.status !== 200) { + console.log("Failed to get images from flickr. status code: " + xhr.status); + return; + } + + var jsonText = xhr.responseText; + var objArray = JSON.parse(jsonText.replace(/\'/g,"'")) + if (objArray.errors !== undefined) + console.log("Error fetching tweets: " + objArray.errors[0].message) + else { + for (var key in objArray.items) { + var rssItem = objArray.items[key]; + var jsonObject = "{ \"title\": \"" + rssItem.title +"\",\"media\": \"" + rssItem.media.m + "\", \"thumbnail\": \"" + rssItem.media.m.replace(/\_m\.jpg/,"_s.jpg") +"\"}" + flickrImages.append(JSON.parse(jsonObject)); + } + } + } + } + xhr.open("GET", requestURL, true); + xhr.send(); + } + Component.onCompleted: { + fetchImages("json"); + } +} + diff --git a/examples/quick/shared/Images.qml b/examples/quick/shared/Images.qml new file mode 100644 index 0000000..ade3619 --- /dev/null +++ b/examples/quick/shared/Images.qml @@ -0,0 +1,14 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +pragma Singleton +import QtQml + +QtObject { + readonly property url back: Qt.resolvedUrl("images/back.png") + readonly property url checkmark: Qt.resolvedUrl("images/checkmark.png") + readonly property url next: Qt.resolvedUrl("images/next.png") + readonly property url qtLogo: Qt.resolvedUrl("images/qt-logo.png") + readonly property url sliderHandle: Qt.resolvedUrl("images/slider_handle.png") + readonly property url tab: Qt.resolvedUrl("images/tab.png") +} diff --git a/examples/quick/shared/Label.qml b/examples/quick/shared/Label.qml new file mode 100644 index 0000000..5393336 --- /dev/null +++ b/examples/quick/shared/Label.qml @@ -0,0 +1,9 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Text { + SystemPalette { id: palette } + color: palette.text +} diff --git a/examples/quick/shared/LauncherList.qml b/examples/quick/shared/LauncherList.qml new file mode 100644 index 0000000..ff383e4 --- /dev/null +++ b/examples/quick/shared/LauncherList.qml @@ -0,0 +1,205 @@ +// Copyright (C) 2017 Crimson AS +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQml +import QtQml.Models 2.12 +import QtQuick + +Rectangle { + id: root + property int activePageCount: 0 + + //model is a list of {"name":"somename", "url":"file:///some/url/mainfile.qml"} + //function used to add to model A) to enforce scheme B) to allow Qt.resolveUrl in url assignments + + color: "#eee" + function addExample(name, desc, url) { + myModel.append({"name":name, "description":desc, "url":url}) + } + function showExample(url) { + pageComponent.createObject(pageContainer, { exampleUrl: url }).show() + } + + // The container rectangle here is used to give a nice "feel" when + // transitioning into an example. + Rectangle { + anchors.fill: parent + color: "black" + + ListView { + id: launcherList + clip: true + delegate: SimpleLauncherDelegate{ + required property url url + onClicked: root.showExample(url) + } + model: ListModel {id:myModel} + anchors.fill: parent + enabled: opacity == 1.0 + } + } + + Item { + id: pageContainer + anchors.fill: parent + } + + Component { + id: pageComponent + Rectangle { + id: page + clip: true + property url exampleUrl + width: parent.width + height: parent.height - bar.height + color: "white" + TapHandler { + //Eats mouse events + } + Loader{ + focus: true + source: parent.exampleUrl + anchors.fill: parent + } + + function show() { + showAnim.start() + } + + function exit() { + exitAnim.start() + } + + ParallelAnimation { + id: showAnim + ScriptAction { + script: root.activePageCount++ + } + NumberAnimation { + target: launcherList + property: "opacity" + from: 1.0 + to: 0.0 + duration: 500 + } + NumberAnimation { + target: launcherList + property: "scale" + from: 1.0 + to: 0.0 + duration: 500 + } + NumberAnimation { + target: page + property: "x" + from: -page.width + to: 0 + duration: 300 + } + } + SequentialAnimation { + id: exitAnim + + ScriptAction { + script: root.activePageCount-- + } + + ParallelAnimation { + NumberAnimation { + target: launcherList + property: "opacity" + from: 0.0 + to: 1.0 + duration: 300 + } + NumberAnimation { + target: launcherList + property: "scale" + from: 0.0 + to: 1.0 + duration: 300 + } + NumberAnimation { + target: page + property: "x" + from: 0 + to: -page.width + duration: 300 + } + } + + ScriptAction { + script: page.destroy() + } + } + } + } + Rectangle { + id: bar + visible: height > 0 + anchors.bottom: parent.bottom + width: parent.width + height: root.activePageCount > 0 ? 40 : 0 + + Behavior on height { + NumberAnimation { + duration: 300 + } + } + + Rectangle { + height: 1 + color: "#ccc" + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + } + + Rectangle { + height: 1 + color: "#fff" + anchors.top: parent.top + anchors.topMargin: 1 + anchors.left: parent.left + anchors.right: parent.right + } + + gradient: Gradient { + GradientStop { position: 0 ; color: "#eee" } + GradientStop { position: 1 ; color: "#ccc" } + } + + Image { + id: back + source: "images/back.png" + anchors.verticalCenter: parent.verticalCenter + anchors.verticalCenterOffset: 2 + anchors.left: parent.left + anchors.leftMargin: 16 + + TapHandler { + id: tapHandler + enabled: root.activePageCount > 0 + onTapped: { + pageContainer.children[pageContainer.children.length - 1].exit() + } + } + Rectangle { + anchors.centerIn: back + width: 38 + height: 31 + anchors.verticalCenterOffset: -1 + opacity: tapHandler.pressed ? 1 : 0 + Behavior on opacity { NumberAnimation{ duration: 100 }} + gradient: Gradient { + GradientStop { position: 0 ; color: "#22000000" } + GradientStop { position: 0.2 ; color: "#11000000" } + } + border.color: "darkgray" + antialiasing: true + radius: 4 + } + } + } +} diff --git a/examples/quick/shared/README b/examples/quick/shared/README new file mode 100644 index 0000000..2bf26d7 --- /dev/null +++ b/examples/quick/shared/README @@ -0,0 +1,11 @@ +These files are shared between multiple examples as a set of common and +reusuable components. While they do demonstrate the building of reusable +components in QML, they are not official examples themselves. +Consequently they do not have entries in the Qt documentation, and are +documented only through the code comments within the files. Developers +new to QML are strongly encouraged to go through the official examples +before delving into this directory. + +For most application use, see the Qt Quick Components project to find +ready-made Components you can use in your own projects. Qt Quick +examples do not use them only to avoid external dependencies. diff --git a/examples/quick/shared/SimpleLauncherDelegate.qml b/examples/quick/shared/SimpleLauncherDelegate.qml new file mode 100644 index 0000000..c6ca980 --- /dev/null +++ b/examples/quick/shared/SimpleLauncherDelegate.qml @@ -0,0 +1,96 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +import QtQuick + +Rectangle { + id: container + required property string name + required property string description + + property Item exampleItem + width: ListView.view.width + height: button.implicitHeight + 22 + + signal clicked() + + gradient: Gradient { + GradientStop { + position: 0 + Behavior on color {ColorAnimation { duration: 100 }} + color: tapHandler.pressed ? "#e0e0e0" : "#fff" + } + GradientStop { + position: 1 + Behavior on color {ColorAnimation { duration: 100 }} + color: tapHandler.pressed ? "#e0e0e0" : button.containsMouse ? "#f5f5f5" : "#eee" + } + } + + Image { + id: image + opacity: 0.7 + Behavior on opacity {NumberAnimation {duration: 100}} + source: "images/next.png" + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right + anchors.rightMargin: 16 + } + + Item { + id: button + anchors.top: parent.top + anchors.left: parent.left + anchors.bottom: parent.bottom + anchors.right:image.left + implicitHeight: col.height + height: implicitHeight + width: buttonLabel.width + 20 + property alias containsMouse: hoverHandler.hovered + + TapHandler { + id: tapHandler + onTapped: container.clicked() + } + HoverHandler { + id: hoverHandler + } + + Column { + spacing: 2 + id: col + anchors.verticalCenter: parent.verticalCenter + width: parent.width + Text { + id: buttonLabel + anchors.left: parent.left + anchors.leftMargin: 10 + anchors.right: parent.right + anchors.rightMargin: 10 + text: container.name + color: "black" + font.pixelSize: 22 + wrapMode: Text.WrapAtWordBoundaryOrAnywhere + styleColor: "white" + style: Text.Raised + + } + Text { + id: buttonLabel2 + anchors.left: parent.left + anchors.leftMargin: 10 + text: container.description + wrapMode: Text.WrapAtWordBoundaryOrAnywhere + color: "#666" + font.pixelSize: 12 + } + } + } + + Rectangle { + height: 1 + color: "#ccc" + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + } +} diff --git a/examples/quick/shared/Slider.qml b/examples/quick/shared/Slider.qml new file mode 100644 index 0000000..b8bb6ed --- /dev/null +++ b/examples/quick/shared/Slider.qml @@ -0,0 +1,82 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Item { + id: slider + height: 26 + // default drag range is 180: divisible by 2, 3, 4, 5, 6, 9, 10, ... + width: sliderName.width + 223 + handle.width / 2 + + property real min: 0 + property real max: 1 + property real value: min + (max - min) * dragHandler.value + property real init: min+(max-min)/2 + property string name: "Slider" + property color color: "#0066cc" + property real minLabelWidth: 44 + + DragHandler { + id: dragHandler + target: handle + xAxis.minimum: Math.round(-handle.width / 2 + 3) + xAxis.maximum: Math.round(groove.width - handle.width / 2 - 3) + property real value: (handle.x - xAxis.minimum) / (xAxis.maximum - xAxis.minimum) + } + + Component.onCompleted: setValue(init) + function setValue(v) { + if (min < max) { + handle.x = Math.round( v / (max - min) * + (dragHandler.xAxis.maximum - dragHandler.xAxis.minimum) + + dragHandler.xAxis.minimum); +// console.log(name, v, "-> handle.x", handle.x, "from fraction", (v / (max - min)), +// "of drag range", (dragHandler.xAxis.maximum - dragHandler.xAxis.minimum), "px", min, ":", max) + } + } + Rectangle { + id:sliderName + anchors.left: parent.left + anchors.leftMargin: 16 + height: childrenRect.height + width: Math.max(slider.minLabelWidth, childrenRect.width) + anchors.verticalCenter: parent.verticalCenter + Text { + text: slider.name + ":" + font.pointSize: 12 + color: "#333" + } + } + + Rectangle { + id: groove + width: parent.width - 8 - sliderName.width + color: "#eee" + height: 7 + radius: 3 + antialiasing: true + border.color: Qt.darker(color, 1.2) + anchors.left: sliderName.right + anchors.right: parent.right + anchors.leftMargin: 10 + anchors.rightMargin: 24 + anchors.verticalCenter: parent.verticalCenter + + Rectangle { + height: parent.height + anchors.left: parent.left + anchors.right: handle.horizontalCenter + color: slider.color + radius: 3 + border.width: 1 + border.color: Qt.darker(color, 1.3) + opacity: 0.8 + } + Image { + id: handle + source: "images/slider_handle.png" + anchors.verticalCenter: parent.verticalCenter + } + } +} diff --git a/examples/quick/shared/TabSet.qml b/examples/quick/shared/TabSet.qml new file mode 100644 index 0000000..e78880b --- /dev/null +++ b/examples/quick/shared/TabSet.qml @@ -0,0 +1,69 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Window 2.1 + +Item { + id: tabWidget + + // Setting the default property to stack.children means any child items + // of the TabWidget are actually added to the 'stack' item's children. + // See the "Property Binding" + // documentation for details on default properties. + default property alias content: stack.children + + property int current: 0 + + onCurrentChanged: setZOrders() + Component.onCompleted: setZOrders() + + function setZOrders() { + for (var i = 0; i < stack.children.length; ++i) { + stack.children[i].z = (i == current ? 1 : 0) + stack.children[i].enabled = (i == current) + } + } + + Row { + id: header + + Repeater { + model: stack.children.length + delegate: Rectangle { + required property int index + width: tabWidget.width / stack.children.length + height: Math.max(Screen.pixelDensity * 7, label.implicitHeight * 1.2) + + Rectangle { + width: parent.width; height: 1 + anchors { bottom: parent.bottom; bottomMargin: 1 } + color: "#acb2c2" + } + BorderImage { + anchors { fill: parent; leftMargin: 2; topMargin: 5; rightMargin: 1 } + border { left: 7; right: 7 } + source: "images/tab.png" + visible: tabWidget.current == parent.index + } + Text { + id: label + horizontalAlignment: Qt.AlignHCenter; verticalAlignment: Qt.AlignVCenter + anchors.fill: parent + text: stack.children[parent.index].title + elide: Text.ElideRight + font.bold: tabWidget.current == parent.index + } + TapHandler { + onTapped: tabWidget.current = parent.index + } + } + } + } + + Item { + id: stack + width: tabWidget.width + anchors.top: header.bottom; anchors.bottom: tabWidget.bottom + } +} diff --git a/examples/quick/shared/TextField.qml b/examples/quick/shared/TextField.qml new file mode 100644 index 0000000..66854c8 --- /dev/null +++ b/examples/quick/shared/TextField.qml @@ -0,0 +1,43 @@ +// Copyright (C) 2017 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick + +Item { + id: root + + property alias textInput: textInput + property alias text: textInput.text + signal accepted + signal downPressed + implicitWidth: textInput.implicitWidth + rect.radius * 2 + implicitHeight: textInput.implicitHeight + + function copyAll() { + textInput.selectAll() + textInput.copy() + } + + SystemPalette { id: palette } + height: textInput.implicitHeight + 8 + clip: true + + Rectangle { + id: rect + anchors.fill: parent + radius: height / 4 + color: palette.button + border.color: Qt.darker(palette.button, 1.5) + } + + TextInput { + id: textInput + color: palette.text + anchors.fill: parent + anchors.leftMargin: rect.radius + anchors.rightMargin: rect.radius + verticalAlignment: Text.AlignVCenter + onAccepted: root.accepted() + Keys.onDownPressed: root.downPressed() + } +} diff --git a/examples/quick/shared/images/back.png b/examples/quick/shared/images/back.png new file mode 100644 index 0000000000000000000000000000000000000000..53402096b294d5f7afdbbd36f5f13f68d7eb945e GIT binary patch literal 1590 zcmeAS@N?(olHy`uVBq!ia0vp@KrGI|1|%;mJK6}OBuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFso#SM3hAM`dB6B=jtVb)aX^@765fKFxc2v6eK2Rr0UTq__OB&@Hb09I0xZL0)vRD^GUf^&XRs)DJWv2L<~p`n7AnVzAE zshOFfj)IYap^?4;5Si&3npl~dSs9rtK!Fm_wxX0Ys~{IQs9ivwtx`rwNr9EVetCJh zUb(Seeo?xx^|#0uTKVr7^KE~&-IMVSR9nfZANAQKal@=Hr> zm4GgVcp$o0y!L2NKW( z>+top^2{qPNz6-5^>ndS0-B+hnVDkc;_PZ+WNv0@YHng-Xy|I>WZ>#*Y2@VUYGiI; zV(#Ju)9aF-T$-DjR|38Iua(|ZvxVNYLRdxL?2X@#eYV@SoV zo+bjqPAtebucc)VTMZf1V)@8@r}*L{7aS3Nj=_x+t(i~XPf z&MTIToOaUjaMo770-5hKP82N+(7Bhu*K{i?`h8~UF2k(~6N+~F6uo|Jm}h?=ZSzhZ zw!_SU>(xtb{JC101YHZas->9Clvo>P&6eQ8wBTaKl%L7Gy!LMoLGkha5^ajTy}g|4&zo;dS3NEE;fjLi^{=4}pWPOJ+O*mMbvm9UC_~USn8hJahfdn0GNs6MyU#Ud6|L<)ey(jcl)*zJ@~BnY7I% z^9yaN8UEd=O~{<_^R~0I$>vA1J)Q`?6Fi)=^%C3J119ckS37<_$!UCCQ&+ zF8sZ~DF05##@TQ&HjFtgem`}rCe$s$4+7i0i^l~&;E9sIu4 z3jA!~vj~6I3VbPWNrdkKrdcsSlY`$kSb<+w$lKcr;JJg}7g;gD2@yVyA#D)h2Y@+N z;AaATq5-y9n*9!k%#IoD6XEY$+T_%c+woOua$}LD*}pE%{w7QC2SxbPmcI83&{En7 zU`in`{g@^A{UZEcOYjZAH?+eHQ@VX> zUakf>^uOWj#RzR)78g1v^mWGvzgLf*k7wv>xtQJYqG;(ZdPX*#io~Vg;>#zm-N67m z()6PwH#>a_R+=0PaEm`{Z{`Z`kzQcBPX<`*V1Qv@eo7w?glD(<7Oqx>L5^yK#||#! zWn!}=T++!rw>Q8fpTK{Iorg zT04ebh@7pRiBk5a9Q_hPruNo%;L!<)A)sp<``;PG9Nxlln*A;!tS4iH?d2j@nK~TD;sxI6qMqZWZC9B&prlkV>DU96A8m;wV&M+Qk na{36apC$+{Cv-ZxiWm9?!Sbd75alXI00000NkvXXu0mjf8smSI literal 0 HcmV?d00001 diff --git a/examples/quick/shared/images/next.png b/examples/quick/shared/images/next.png new file mode 100644 index 0000000000000000000000000000000000000000..cdef8db6e8227ae8202a184bd9d2477aaa4f6f2d GIT binary patch literal 1371 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 literal 0 HcmV?d00001 diff --git a/examples/quick/shared/images/slider_handle.png b/examples/quick/shared/images/slider_handle.png new file mode 100644 index 0000000000000000000000000000000000000000..63c518be7d7669e474dd119cce67a6bb9ee5aebe GIT binary patch literal 887 zcmV--1Bm>IP)^@R7efIRy|BwQ4|KG(NIML6bOUJW=zu%lLnWj-Mce%XpEs7 zofx`xVQM04CpH&{cI?)r8!m(d0wx$00*TU!{3NzSd9UAh``-2W`sAlJp5)}-$GzYA z?)lz%=VDh?)plRzxGy5|I432u!?eBnXoL!RpwdX0>|@q#8VL!EZY1KIB+_pq9Z3cv z%1jdTs1r*9>`^pAF@lie4YQQdkPS)bGw|7kg@r&Ok$Aqmyu7x!xcI2s?S8M<>*Z`V z`>o&apJLAdK7=cp>P+%lTF%Xm%_QJKX5kN`(dg5iot;nBYW3&Y*_nENey+CLZ87qh zzjHkni#_3f4M)7g7<(MiJTiG*sZ_coXf~Vb;o%{JOXo9x=X$AB>c->oHz1j}BE0d= zH2HMd9su}idwcsMe*+fs4vzd`YH-5@pV++t}E6d2w+uQaUSo76fs`GYz}Ds}6_5HXQQZPH)5!9}b7tfF_wROES0H z?WY`fG2)k&mVAgYl1%OOdM%dnU5xlnr}G0be{zU#r#1 zKua?Dov}2r!01j?Q8=H^7hEpa94l*D1CAB>Ykhq^ik?{mUVLlj%y!LRdY{Q^#3pHwgq2CB%=8;K^~%c1D*GM_;Q07>-|D6YM##r^g}E?GGP(Gl|AUMq zBdH-vJzI`u)2moko_PbG$CBwFjZ|Rt-wdOW$|#v(O-?5!lZZP^egl0~I52ng?(P5p N002ovPDHLkV1g6$qHh2I literal 0 HcmV?d00001 diff --git a/examples/quick/shared/images/tab.png b/examples/quick/shared/images/tab.png new file mode 100644 index 0000000000000000000000000000000000000000..2ea989b68ded5ce002dcacb5d37518059a0b801b GIT binary patch literal 309 zcmV-50m}Y~P)kO6-4|JAg_`#{e*ug>-2~ZI&077X1MAJzU0ZA;95U8SyL;!RS zx&*QvYWnb$%UIxe$!SfW=A27oYJ2^;&ga{!niRIvi{tS>R*s&n?vWnI00000NkvXX Hu0mjfNiv1? literal 0 HcmV?d00001 diff --git a/examples/quick/shared/qmldir b/examples/quick/shared/qmldir new file mode 100644 index 0000000..5ccdf60 --- /dev/null +++ b/examples/quick/shared/qmldir @@ -0,0 +1,11 @@ +module shared +Button 2.0 Button.qml +CheckBox 2.1 CheckBox.qml +FlickrRssModel 2.0 FlickrRssModel.qml +Label 2.0 Label.qml +LauncherList 2.0 LauncherList.qml +SimpleLauncherDelegate 2.0 SimpleLauncherDelegate.qml +Slider 2.0 Slider.qml +TabSet 2.1 TabSet.qml +TextField 2.1 TextField.qml +singleton Images 2.2 Images.qml diff --git a/examples/quick/shared/quick_shared.qrc b/examples/quick/shared/quick_shared.qrc new file mode 100644 index 0000000..21f393a --- /dev/null +++ b/examples/quick/shared/quick_shared.qrc @@ -0,0 +1,15 @@ + + + LauncherList.qml + SimpleLauncherDelegate.qml + Button.qml + CheckBox.qml + Label.qml + TextField.qml + images/back.png + images/next.png + images/checkmark.png + Slider.qml + images/slider_handle.png + + diff --git a/examples/quick/shared/shared.qrc b/examples/quick/shared/shared.qrc new file mode 100644 index 0000000..c19063a --- /dev/null +++ b/examples/quick/shared/shared.qrc @@ -0,0 +1,21 @@ + + + Button.qml + CheckBox.qml + FlickrRssModel.qml + Images.qml + Label.qml + LauncherList.qml + SimpleLauncherDelegate.qml + Slider.qml + TabSet.qml + TextField.qml + images/back.png + images/checkmark.png + images/next.png + images/qt-logo.png + images/slider_handle.png + images/tab.png + qmldir + + diff --git a/examples/quick/shared/shared_rc.py b/examples/quick/shared/shared_rc.py new file mode 100644 index 0000000..14a9da5 --- /dev/null +++ b/examples/quick/shared/shared_rc.py @@ -0,0 +1,2253 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.5.0 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00\x06\xd1\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0d\x0a// SPD\ +X-License-Identi\ +fier: LicenseRef\ +-Qt-Commercial O\ +R BSD-3-Clause\x0d\x0a\ +\x0d\x0aimport QtQuick\ +\x0d\x0a\x0d\x0aItem {\x0d\x0a \ +id: root\x0d\x0a im\ +plicitHeight: fr\ +ame.height\x0d\x0a \ +implicitWidth: r\ +ow.implicitWidth\ +\x0d\x0a width: imp\ +licitWidth\x0d\x0a \ +height: implicit\ +Height\x0d\x0a prop\ +erty alias text:\ + label.text\x0d\x0a \ + property bool c\ +hecked\x0d\x0a prop\ +erty alias press\ +ed: tapHandler.p\ +ressed\x0d\x0a prop\ +erty alias row: \ +row\x0d\x0a signal \ +clicked\x0d\x0a\x0d\x0a S\ +ystemPalette { i\ +d: palette }\x0d\x0a\x0d\x0a\ + Row {\x0d\x0a \ + id: row\x0d\x0a \ + anchors.vert\ +icalCenter: pare\ +nt.verticalCente\ +r\x0d\x0a spaci\ +ng: 6\x0d\x0a R\ +ectangle {\x0d\x0a \ + id: fram\ +e\x0d\x0a g\ +radient: Gradien\ +t {\x0d\x0a \ + GradientSto\ +p { position: 0.\ +0; color: tapHan\ +dler.pressed ? Q\ +t.darker(palette\ +.button, 1.3) : \ +palette.button }\ +\x0d\x0a \ + GradientStop {\ + position: 1.0; \ +color: Qt.darker\ +(palette.button,\ + 1.3) }\x0d\x0a \ + }\x0d\x0a \ + height: labe\ +l.implicitHeight\ + * 1.5\x0d\x0a \ + width: heigh\ +t\x0d\x0a a\ +nchors.margins: \ +1\x0d\x0a r\ +adius: 3\x0d\x0a \ + antialiasi\ +ng: true\x0d\x0a \ + border.col\ +or: Qt.darker(pa\ +lette.button, 1.\ +5)\x0d\x0a \ +Image {\x0d\x0a \ + id: the\ +X\x0d\x0a \ + source: \x22imag\ +es/checkmark.png\ +\x22\x0d\x0a \ + anchors.fill:\ + frame\x0d\x0a \ + anchors.\ +margins: frame.w\ +idth / 5\x0d\x0a \ + fillMo\ +de: Image.Preser\ +veAspectFit\x0d\x0a \ + smo\ +oth: true\x0d\x0a \ + visib\ +le: root.checked\ +\x0d\x0a }\x0d\ +\x0a }\x0d\x0a \ + Text {\x0d\x0a \ + id: labe\ +l\x0d\x0a c\ +olor: palette.te\ +xt\x0d\x0a \ +anchors.vertical\ +Center: frame.ve\ +rticalCenter\x0d\x0a \ + }\x0d\x0a }\x0d\x0a\ + TapHandler {\ +\x0d\x0a id: ta\ +pHandler\x0d\x0a \ + onTapped: {\x0d\x0a \ + paren\ +t.checked = !par\ +ent.checked\x0d\x0a \ + parent.\ +clicked()\x0d\x0a \ + }\x0d\x0a }\x0d\x0a}\x0d\x0a\ +\ +\x00\x00\x04C\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0d\x0a// SPD\ +X-License-Identi\ +fier: LicenseRef\ +-Qt-Commercial O\ +R BSD-3-Clause\x0d\x0a\ +\x0d\x0aimport QtQuick\ +\x0d\x0a\x0d\x0aItem {\x0d\x0a \ +id: root\x0d\x0a\x0d\x0a \ +property alias t\ +extInput: textIn\ +put\x0d\x0a propert\ +y alias text: te\ +xtInput.text\x0d\x0a \ + signal accepte\ +d\x0d\x0a signal do\ +wnPressed\x0d\x0a i\ +mplicitWidth: te\ +xtInput.implicit\ +Width + rect.rad\ +ius * 2\x0d\x0a imp\ +licitHeight: tex\ +tInput.implicitH\ +eight\x0d\x0a\x0d\x0a fun\ +ction copyAll() \ +{\x0d\x0a textI\ +nput.selectAll()\ +\x0d\x0a textIn\ +put.copy()\x0d\x0a \ +}\x0d\x0a\x0d\x0a SystemP\ +alette { id: pal\ +ette }\x0d\x0a heig\ +ht: textInput.im\ +plicitHeight + 8\ +\x0d\x0a clip: true\ +\x0d\x0a\x0d\x0a Rectangl\ +e {\x0d\x0a id:\ + rect\x0d\x0a a\ +nchors.fill: par\ +ent\x0d\x0a rad\ +ius: height / 4\x0d\ +\x0a color: \ +palette.button\x0d\x0a\ + border.c\ +olor: Qt.darker(\ +palette.button, \ +1.5)\x0d\x0a }\x0d\x0a\x0d\x0a \ + TextInput {\x0d\x0a\ + id: text\ +Input\x0d\x0a c\ +olor: palette.te\ +xt\x0d\x0a anch\ +ors.fill: parent\ +\x0d\x0a anchor\ +s.leftMargin: re\ +ct.radius\x0d\x0a \ + anchors.right\ +Margin: rect.rad\ +ius\x0d\x0a ver\ +ticalAlignment: \ +Text.AlignVCente\ +r\x0d\x0a onAcc\ +epted: root.acce\ +pted()\x0d\x0a \ +Keys.onDownPress\ +ed: root.downPre\ +ssed()\x0d\x0a }\x0d\x0a}\ +\x0d\x0a\ +\x00\x00\x00\xcc\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0d\x0a// SPD\ +X-License-Identi\ +fier: LicenseRef\ +-Qt-Commercial O\ +R BSD-3-Clause\x0d\x0a\ +\x0d\x0aimport QtQuick\ +\x0d\x0a\x0d\x0aText {\x0d\x0a \ +SystemPalette { \ +id: palette }\x0d\x0a \ + color: palett\ +e.text\x0d\x0a}\x0d\x0a\ +\x00\x00\x039\ +\x00\ +\x00\x0a\xd3x\xda\xc5VYO\xdb@\x10~\x8f\x94\xff\ +0\x0a/\xa0*\xceQ5H~\xa9 H\x05\x09J\ +9T\xfa\xba\xb1'\xf6\x0a{\xd7\xdd]\x13R\xc4\x7f\ +\xef\xac\x8f\xf8J(\xa0\xaauP\xd8\x9d\xf9fw\x8e\ +o\xc6\x19\x8d`.\x93\xb5\xe2Ah`\x7f~\x00\xd3\ +\xf1\xe4\x10nC\x84+C\x9a8ab\x0d\xe7\xc6w\ +\xfa\xbd\xd1\x08n\xbe\x9d\xfc\x18\x9es\x0f\x85\xc6\xe1\x99\ +\x8f\xc2\xf0%G\xe5B!\xbb\xc6\xe5\xf0\xca\x0c\xc9.\ +F\xe5q\x16\xc1\xe55\x1c\xdf\x9c\x0c?\x0e\xe7\x11K\ +5\xf6{\xc0tZ^\xa4y (\x0b\x1e\xe9\ +\xef\xd1\xdf?(\xe5\x81b>\xa7\xf4\xb9\xf0\xa5X\x95\ +\xc1\xdb\xa7\x94\xdd\x18\x99\xd4\xe5\x99\xebRs\x1b\x8a\x0b\ +\xe3\xa6\xe2\x18C\xf6\xc0\xa5\x02)({\x11-\x9e\xe6\ +\xf6\xdf\x91\xe01\xb3\x16\xf0\x04~\xaaXn<\x19\x8f\ +\xe1\xf9\xb9yBf\xe5\x82a\xc9)\x13~\x84\xcaI\ +\x14jM)\xfd\x0c\x83=\x1c\xdb\xcf\x00\x5cZ/\x97\ +\xcbAe\xfb\xfcV\xcf'\xff\xcb\xf3\xa2`\x05\xb9\xf4\ +\x85$Jf\x90\xe5'\xfb\xc9\x83C\xc4np\xcfe\ +\xe5\xceb\x16`=4\xcbVn\x85\x95H&\x8c\xe8\ +\xb0\xa6\x129\x87\x95\xb4\x1ef\x81\x80\xa7\xafi\xbc\xc0\ +z\xa4\x8d@\xebqj\x99*\x0f\xc9\xc1\xec2=\x12\ +\xf8h\x9cD\x045_\x99\xf0B\xa9\xb4\xf3@\xdc\xe6\ +\x1e\x8b\xe6T\x09\xdb\x9d\x09S\xb4j\x89\xbbf*g\ +u\x81\xcev;@\x17L\x05\xdc\xba8kg\xc7\xf6\ +S+9y\xd2\xbb'\x11E6\x97\xd1\xba\x0b\x88p\ +Y\xb9c7]\xc8B\xd2\xd9\xf1\x06\x94owE\x96\ +%\xaeuP\xb3w\xed\xdc\x89\x9c\xbc\xbd+L\xd9\xee\ +Ml\xa5/\xc6E\x1e\xe79[`\x94\x0f\x0b;\x09\ +jM\xba\x19:,\xe2LC\x83\x84.\x84\x92\xcaS\ +\xb27\xdb\xa0_f\xd5>\xb7\x1bn\xb7\xfb\xca\xe6\xb8\ +b~S'\x05\xd9%X\x1f\xa8Nm\x18m\xe9\xe0\ +\xd3\x9a\x1f\xdbn\xaa\xfb\xd98\xa0\xdaP\xf3\xa6\xb1h\ +\x1bkKy\x11\xb80\xed\x1eJYo\x0a\xdf\xc9\xe4\ +Z5\x0admjo2I\x8d\xd3v\xae\xc9\xd5\xac\ +\x86]\xc0+x\xb9\x0d\xbai\x96\xf1n\xdc\x8b\xad\xf7\ +r\x0bn9\xd5P\x84\xf5\x8aW/\xc9-Cs\xb0\ +\x88\x98w?\xe8\xea\x97d\xef$\xfc\x11\xa3\x1b\xfe\x8b\ +\x18:\x9dv1+\xc5\x92\x0b\xe9\x93\xd6f\xd5\xb9\xa3\ +\xed\x91\xb9\x93\xca?\x96\xa9\xf0\x99Z_\xd2l[\xaf\ +Bbs\xd7X\x9bu\x84\xf3\xc2\x8bU\xc8\x0d\x0ev\ +\x80\x8a\xe3\xaf\x19\xd7\xcd\xaeh\x91\xf7\x0d\xe5\x9d\xfe\x93\ +\xfa\xb6+\xd1\xf8-\xf2W\x93YVso6\x9b\xbd\ +\xa2\x98\x93\xe9\xce$\xb6\xdfx\x9d\xdfg\xf5\x99X{\ +\x95o<\xf0\xdc\x0d\x03\x86}\xa0\xa5\x93\xcdU\x22U\x92N\ +\x1a\x18\xfe\xef;J\xa2-\xc9\x94\xe2\xac\xdd\x86\x12y\ +\x88\xc7\xbb\xe3\xbdyd\x10\x90\x99\xc8o%[\xae4\ +\x19\xcc\x86d:\x9e|Gf\x92eJpr1'\ +?2\x9e\x88\x9f\xa2\x12\xe0s\xf1\xe4\xf4$p\xd2\xbc\ +_\x01y\xabq%\xcb)\xbf%W:\xf6\x0b\xd4\xf9\ +\x9b\xe7\xbf\x8f\xaeX\x04\x5c\xc1\xe82\x06\xaeY\xc2@\ +\x86\xa4\x82\xbd\x83d\xf4V\x8f\x90.\x03\x191\x9a\x92\ +\xd7\xef\xc8\xb3\xf9\xf3\xd1\xf9h\x96\xd2\xb5\x82\xd3\x93\xd3\ +\x13\x96\xe5Bj\xe4\xff6K\x9b3\xff\x95\x88!U\ +d\xeaO\xa6\xf5\x955\x8b>\x18\xcaw\x10i\xca\x97\ +)\x90\xcd\xe9\x09\xc1\xc1\xe2\x90H!t9\xcb\xa5\xc8\ +A\xea[\xc2\xb8&4\xd2\xec\x1a\xde\xd0%\xcc\xc4\x9a\ +\xeb\x90\x8c\x0d\x07\x83\x16\x04\x99\xd9\x860E(I\x99\ +\xd2D$d\xe3q\x9a\x81\x17zJdP|\x9e\x11\ +o-S\x84$,\x850\x08\x02\xb3\x12 (\xc8(\ +\xda\x11\x81\xfe\xc7,\xf5\xb6\x96i\xb2\xe6\xb8%\x1a\x1a\ +\xd5\x8c\x89\x16\x84\xc6\xc5\xbfr\xb3\x8b\xa1\xf9\x06\xb4\xbf\ +\x8c\x80\xa8h\x05\x19\x90g\x05\x90\xa6\xa9\xb8A5}\ +\x09J\xa4\xd7\xf0\xabD\xd9\x90\x0d\xfe\xa3J\xb1%G\ +\x81\xb4\xb2\xd2G\x22\x15hp\xef\x01\x00x%h\xb7\ +3\xee\xf8\xe2\x13\xcd\xf2\x14\x06F\x853\x12\x83\x8a\xce\ +\x0c\xa7\xa1\xb5\x98\x19\xd9mag\x9f\xe69\xf0x`\ +U/I9\x9aH7,\xd6\ +++\xb7_\xcc\x9a\x08+0\xd5}\x87QN\xc9\x88\ +,\xa8\xac&-i\xaa\xd8\xbdY1mk\x8c\x1d\xef\ +i\xfe3\xe5q\x8a9\xe7\x08\xad xA\xb5B\xcf\ +c\xf6\x11\xb8.\xebVO\x88\x5c\x09\x1a\x83t0J\ +D\xb4V.\x8b\x98\xa1\xc4\x1a\x8b\xe8N\x9f.\xbb\x1c\ +\x17X\xdbzn\x1e\x14\xb5\xc1\xd0\xa5\xa6Y\xb9\xe0,\ +\xf3\x95\xa6R\x0f\x86\xc7r\x84OL\xbb9\x9a\x95{\ +p|C%\x9e\x1a\x90\x1a\x12Z\xb0v\xf04\xa1f\ +%=\x5c\x9d\x17E\xfe\x22\xea\xa2.\xf4,p\xaa\xdc\ +o\x1d\xa8\x0f\x1f\x1e\xd2l\x0fA\xbf\xac\xb3\x05\xc8^\ +9\xcd@\xad\x97\xa0\xfb\x0a`;%0>\xabR\xe0\ +\xb9\x11\x13)\xb2\xb0Y#\x1a;\x0al\x09\xba\x16\xe3\ +\xb5,\xc4\x0d\xc97\xe3\xf1\xff\xae\xa7\x8ah\x0a_\xa3\ +\x96\x87\x85\xce\xa1\xdd\xa7^\xcdF\x86\x87\xab\xa854\ +\xbcK\xbf\xf3#\xf4kM\xe7xJ\x9a\xfe\x96\xde\x9d\ +d6y\xdbY\xfa%\xd2l4r\x0a~\x08<\xaa\ +$\xdc\xc3\x87\xf7\x8b\xd6{e\xe6\xde\xbb\x9d\xa1i=\ +;\xe9C\xb8\xc3\xbf\x1d1\xfc_\xd9\xa0/k\xbfJ\ +\x0btg\xf3\x91\x19]\xd3\xba_\xe7;\x93\xfe\x9f\xeb\ +\xbe\xfd\xdc$-D\xc3k\x91\x96\xe2\xb6}N\xf7W\ +\x95m\xe3\xee\xe4\xec\x10M5\xc1\xael\x0f\xb8f\x8a\ +a\xdf\x1bV=\x1cyR7\x9dmn\x16Bkc\ +\xd5\xaa\x1f*\xa7{\xb4\xde\xfe\xd0\xf6\x86\xae\xdacv\ +#O\xc9\xa31\xa9\xdd\x9e\xcdx\x06+z\xcd\x84\xc4\ +\xfb\x81\x15\xace\xb5#\xc2\xab\xc7\x7fM\xa3\x1d\xd1U\ +[-&\xeeF\xf6A\x14E\x9e\xfb\xc6\xa1E\xbe3\ +\x0d~\xbb\x91RH\xf6\xed\xb3\x99\xb8\xd1d\xa3\xcd\x96\ +\xcd\xc6\xfa\xcb(\x92$\xc9\xe7(\x82\x0b\xaf0\x9b\x19\ +?\xd8\xe1_Su)i\xcc\xc0<\xc0\xbc\xac\xbe\xda\ +:[\xf8\x1c\xa5#\x1b\x92\x8b\xf2:\x8e1G~h\ +>w\xb4\x93\xab\x93rR\xa74\xce\xef\x0c\xa9\xcb\x0c\ +\xa3\xdduI[P\xf3\xe6\xe4\xbavx\xcc\xd0\xa8\xc0\ +`\xf89_v8\xe4\x1a\xab!\xc33`\x86\x02\x9a\ +'\xb2\xcaVM\xf01\xa4\xaf\x93D\x99\xfa;\xfd,\ +\x8f\x99\x95\x9d\xef\xbfmW\xc1\xfek\x9d\xb1\x87\xdea\ +8n/\xf6r\xdeUE\x5c/\x0b\xef\xcd\xf3\x13\xd2\ +t\xd4\xdb\xc6]\xdd\x8fV,\x8dQ\xc3?\xdc`\xd4\ +\x8e/\xf5\x0a\xef\xb4\x93?\xfd\xf2\x96u\xdf~\xaf3\ +%\xebF\x8c\x0a\x87\x5crWx\xd4J\xed\xf9\xf7\x87\ +K6\xb3\xcf'\xdd\xec\xdd~\x1f9(\xaa\x06\xab\xee\ +\x16?\x97\xa0\xcc\xa3\xd7S\x0c\x7f\xe7\x11[/\xdb\xf6\ +\x19e\xd3.\xd5\x9bZa\x9e\x8c\xc7d\xeb8D\xef\ +\xce\xe9\xfb\xe5\xf6t:.\x86\xd7\xd5\xadt\xb3\xf1\xa7\ +uF\x93I\x0f#\x07h!dl\xc2\xa8\xa2\x8f\xa9\ +\xfc\x80\xba\xb9\xfaVZ\x5c\x05\x18U\x8c/\xbb\xde%\ +\x8c\x90\xe6\xd5\xe2\xd1\x11-\x00\xfe\xfc\x0d[\xcf\xd1\xfe\ +\ +\x00\x00\x0a\x95\ +/\ +/ Copyright (C) \ +2016 The Qt Comp\ +any Ltd.\x0d\x0a// SPD\ +X-License-Identi\ +fier: LicenseRef\ +-Qt-Commercial O\ +R BSD-3-Clause\x0d\x0a\ +\x0d\x0aimport QtQuick\ +\x0d\x0a\x0d\x0aItem {\x0d\x0a \ +id: slider\x0d\x0a \ +height: 26\x0d\x0a \ +// default drag \ +range is 180: di\ +visible by 2, 3,\ + 4, 5, 6, 9, 10,\ + ...\x0d\x0a width:\ + sliderName.widt\ +h + 223 + handle\ +.width / 2\x0d\x0a\x0d\x0a \ + property real \ +min: 0\x0d\x0a prop\ +erty real max: 1\ +\x0d\x0a property r\ +eal value: min +\ + (max - min) * d\ +ragHandler.value\ +\x0d\x0a property r\ +eal init: min+(m\ +ax-min)/2\x0d\x0a p\ +roperty string n\ +ame: \x22Slider\x22\x0d\x0a \ + property colo\ +r color: \x22#0066c\ +c\x22\x0d\x0a property\ + real minLabelWi\ +dth: 44\x0d\x0a\x0d\x0a D\ +ragHandler {\x0d\x0a \ + id: dragHa\ +ndler\x0d\x0a t\ +arget: handle\x0d\x0a \ + xAxis.min\ +imum: Math.round\ +(-handle.width /\ + 2 + 3)\x0d\x0a \ + xAxis.maximum: \ +Math.round(groov\ +e.width - handle\ +.width / 2 - 3)\x0d\ +\x0a propert\ +y real value: (h\ +andle.x - xAxis.\ +minimum) / (xAxi\ +s.maximum - xAxi\ +s.minimum)\x0d\x0a \ +}\x0d\x0a\x0d\x0a Compone\ +nt.onCompleted: \ +setValue(init)\x0d\x0a\ + function set\ +Value(v) {\x0d\x0a \ + if (min < ma\ +x) {\x0d\x0a \ + handle.x = Mat\ +h.round( v / (ma\ +x - min) *\x0d\x0a \ + \ + (dra\ +gHandler.xAxis.m\ +aximum - dragHan\ +dler.xAxis.minim\ +um)\x0d\x0a \ + \ + + dragHandl\ +er.xAxis.minimum\ +);\x0d\x0a// \ + console.log(na\ +me, v, \x22-> handl\ +e.x\x22, handle.x, \ +\x22from fraction\x22,\ + (v / (max - min\ +)),\x0d\x0a// \ + \x22of drag \ +range\x22, (dragHan\ +dler.xAxis.maxim\ +um - dragHandler\ +.xAxis.minimum),\ + \x22px\x22, min, \x22:\x22,\ + max)\x0d\x0a }\ +\x0d\x0a }\x0d\x0a Rec\ +tangle {\x0d\x0a \ + id:sliderName\x0d\ +\x0a anchors\ +.left: parent.le\ +ft\x0d\x0a anch\ +ors.leftMargin: \ +16\x0d\x0a heig\ +ht: childrenRect\ +.height\x0d\x0a \ + width: Math.max\ +(slider.minLabel\ +Width, childrenR\ +ect.width)\x0d\x0a \ + anchors.vert\ +icalCenter: pare\ +nt.verticalCente\ +r\x0d\x0a Text \ +{\x0d\x0a t\ +ext: slider.name\ + + \x22:\x22\x0d\x0a \ + font.pointSi\ +ze: 12\x0d\x0a \ + color: \x22#333\ +\x22\x0d\x0a }\x0d\x0a \ + }\x0d\x0a\x0d\x0a Recta\ +ngle {\x0d\x0a \ +id: groove\x0d\x0a \ + width: paren\ +t.width - 8 - sl\ +iderName.width\x0d\x0a\ + color: \x22\ +#eee\x22\x0d\x0a h\ +eight: 7\x0d\x0a \ + radius: 3\x0d\x0a \ + antialiasin\ +g: true\x0d\x0a \ + border.color: Q\ +t.darker(color, \ +1.2)\x0d\x0a an\ +chors.left: slid\ +erName.right\x0d\x0a \ + anchors.ri\ +ght: parent.righ\ +t\x0d\x0a ancho\ +rs.leftMargin: 1\ +0\x0d\x0a ancho\ +rs.rightMargin: \ +24\x0d\x0a anch\ +ors.verticalCent\ +er: parent.verti\ +calCenter\x0d\x0a\x0d\x0a \ + Rectangle {\ +\x0d\x0a he\ +ight: parent.hei\ +ght\x0d\x0a \ + anchors.left: p\ +arent.left\x0d\x0a \ + anchors.\ +right: handle.ho\ +rizontalCenter\x0d\x0a\ + colo\ +r: slider.color\x0d\ +\x0a rad\ +ius: 3\x0d\x0a \ + border.width\ +: 1\x0d\x0a \ + border.color: Q\ +t.darker(color, \ +1.3)\x0d\x0a \ + opacity: 0.8\x0d\x0a\ + }\x0d\x0a \ + Image {\x0d\x0a \ + id: hand\ +le\x0d\x0a \ +source: \x22images/\ +slider_handle.pn\ +g\x22\x0d\x0a \ +anchors.vertical\ +Center: parent.v\ +erticalCenter\x0d\x0a \ + }\x0d\x0a }\x0d\ +\x0a}\x0d\x0a\ +\x00\x00\x06\xed\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0d\x0a// SPD\ +X-License-Identi\ +fier: LicenseRef\ +-Qt-Commercial O\ +R BSD-3-Clause\x0d\x0a\ +\x0d\x0aimport QtQuick\ +\x0d\x0a\x0d\x0aListModel {\x0d\ +\x0a id: flickrI\ +mages\x0d\x0a prope\ +rty string tags \ +: \x22\x22\x0d\x0a readon\ +ly property stri\ +ng queryUrl : \x22h\ +ttp://api.flickr\ +.com/services/fe\ +eds/photos_publi\ +c.gne?\x22\x0d\x0a\x0d\x0a f\ +unction encodePa\ +rams(x) {\x0d\x0a \ + return encode\ +URIComponent(x.r\ +eplace(\x22 \x22,\x22,\x22))\ +;\x0d\x0a }\x0d\x0a fu\ +nction fetchImag\ +es(format) {\x0d\x0a \ + var reques\ +tURL = queryUrl \ ++ (tags ? \x22tags=\ +\x22+encodeParams(t\ +ags)+\x22&\x22 : \x22\x22) +\ + \x22format=\x22 + for\ +mat + \x22&nojsonca\ +llback=1\x22;\x0d\x0a \ + var xhr = ne\ +w XMLHttpRequest\ +;\x0d\x0a xhr.o\ +nreadystatechang\ +e = function() {\ +\x0d\x0a if\ + (xhr.readyState\ + === XMLHttpRequ\ +est.DONE) {\x0d\x0a\x0d\x0a \ + i\ +f (xhr.status !=\ += 200) {\x0d\x0a \ + co\ +nsole.log(\x22Faile\ +d to get images \ +from flickr. sta\ +tus code: \x22 + xh\ +r.status);\x0d\x0a \ + \ +return;\x0d\x0a \ + }\x0d\x0a\x0d\x0a \ + va\ +r jsonText = xhr\ +.responseText;\x0d\x0a\ + \ +var objArray = J\ +SON.parse(jsonTe\ +xt.replace(/\x5c'/g\ +,\x22'\x22))\x0d\x0a \ + if (objA\ +rray.errors !== \ +undefined)\x0d\x0a \ + \ +console.log(\x22Err\ +or fetching twee\ +ts: \x22 + objArray\ +.errors[0].messa\ +ge)\x0d\x0a \ + else {\x0d\x0a \ + \ + for (var key in\ + objArray.items)\ + {\x0d\x0a \ + var \ +rssItem = objArr\ +ay.items[key];\x0d\x0a\ + \ + var json\ +Object = \x22{ \x5c\x22ti\ +tle\x5c\x22: \x5c\x22\x22 + rss\ +Item.title +\x22\x5c\x22,\ +\x5c\x22media\x5c\x22: \x5c\x22\x22 +\ + rssItem.media.m\ + + \x22\x5c\x22, \x5c\x22thumbn\ +ail\x5c\x22: \x5c\x22\x22 + rss\ +Item.media.m.rep\ +lace(/\x5c_m\x5c.jpg/,\ +\x22_s.jpg\x22) +\x22\x5c\x22}\x22\ +\x0d\x0a \ + flickr\ +Images.append(JS\ +ON.parse(jsonObj\ +ect));\x0d\x0a \ + }\x0d\x0a \ + }\ +\x0d\x0a }\x0d\ +\x0a }\x0d\x0a \ + xhr.open(\x22GE\ +T\x22, requestURL, \ +true);\x0d\x0a \ +xhr.send();\x0d\x0a \ + }\x0d\x0a Componen\ +t.onCompleted: {\ +\x0d\x0a fetchI\ +mages(\x22json\x22);\x0d\x0a\ + }\x0d\x0a}\x0d\x0a\x0d\x0a\ +\x00\x00\x01C\ +m\ +odule shared\x0d\x0aBu\ +tton 2.0 Button.\ +qml\x0d\x0aCheckBox 2.\ +1 CheckBox.qml\x0d\x0a\ +FlickrRssModel 2\ +.0 FlickrRssMode\ +l.qml\x0d\x0aLabel 2.0\ + Label.qml\x0d\x0aLaun\ +cherList 2.0 Lau\ +ncherList.qml\x0d\x0aS\ +impleLauncherDel\ +egate 2.0 Simple\ +LauncherDelegate\ +.qml\x0d\x0aSlider 2.0\ + Slider.qml\x0d\x0aTab\ +Set 2.1 TabSet.q\ +ml\x0d\x0aTextField 2.\ +1 TextField.qml\x0d\ +\x0asingleton Image\ +s 2.2 Images.qml\ +\x0d\x0a\ +\x00\x00\x09\x1c\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0d\x0a// SPD\ +X-License-Identi\ +fier: LicenseRef\ +-Qt-Commercial O\ +R BSD-3-Clause\x0d\x0a\ +\x0d\x0aimport QtQuick\ +\x0d\x0aimport QtQuick\ +.Window 2.1\x0d\x0a\x0d\x0aI\ +tem {\x0d\x0a id: t\ +abWidget\x0d\x0a\x0d\x0a \ +// Setting the d\ +efault property \ +to stack.childre\ +n means any chil\ +d items\x0d\x0a // \ +of the TabWidget\ + are actually ad\ +ded to the 'stac\ +k' item's childr\ +en.\x0d\x0a // See \ +the \x22Property Bi\ +nding\x22\x0d\x0a // d\ +ocumentation for\ + details on defa\ +ult properties.\x0d\ +\x0a default pro\ +perty alias cont\ +ent: stack.child\ +ren\x0d\x0a\x0d\x0a prope\ +rty int current:\ + 0\x0d\x0a\x0d\x0a onCurr\ +entChanged: setZ\ +Orders()\x0d\x0a Co\ +mponent.onComple\ +ted: setZOrders(\ +)\x0d\x0a\x0d\x0a functio\ +n setZOrders() {\ +\x0d\x0a for (v\ +ar i = 0; i < st\ +ack.children.len\ +gth; ++i) {\x0d\x0a \ + stack.c\ +hildren[i].z = (\ +i == current ? 1\ + : 0)\x0d\x0a \ + stack.childre\ +n[i].enabled = (\ +i == current)\x0d\x0a \ + }\x0d\x0a }\x0d\ +\x0a\x0d\x0a Row {\x0d\x0a \ + id: header\ +\x0d\x0a\x0d\x0a Repe\ +ater {\x0d\x0a \ + model: stack\ +.children.length\ +\x0d\x0a de\ +legate: Rectangl\ +e {\x0d\x0a \ + required pr\ +operty int index\ +\x0d\x0a \ + width: tabWidg\ +et.width / stack\ +.children.length\ +\x0d\x0a \ + height: Math.m\ +ax(Screen.pixelD\ +ensity * 7, labe\ +l.implicitHeight\ + * 1.2)\x0d\x0a\x0d\x0a \ + Recta\ +ngle {\x0d\x0a \ + widt\ +h: parent.width;\ + height: 1\x0d\x0a \ + \ +anchors { bottom\ +: parent.bottom;\ + bottomMargin: 1\ + }\x0d\x0a \ + color: \x22\ +#acb2c2\x22\x0d\x0a \ + }\x0d\x0a \ + Bor\ +derImage {\x0d\x0a \ + \ +anchors { fill: \ +parent; leftMarg\ +in: 2; topMargin\ +: 5; rightMargin\ +: 1 }\x0d\x0a \ + borde\ +r { left: 7; rig\ +ht: 7 }\x0d\x0a \ + sou\ +rce: \x22images/tab\ +.png\x22\x0d\x0a \ + visib\ +le: tabWidget.cu\ +rrent == parent.\ +index\x0d\x0a \ + }\x0d\x0a \ + Text {\ +\x0d\x0a \ + id: label\x0d\ +\x0a \ + horizontalA\ +lignment: Qt.Ali\ +gnHCenter; verti\ +calAlignment: Qt\ +.AlignVCenter\x0d\x0a \ + \ + anchors.fill:\ + parent\x0d\x0a \ + tex\ +t: stack.childre\ +n[parent.index].\ +title\x0d\x0a \ + elide\ +: Text.ElideRigh\ +t\x0d\x0a \ + font.bold\ +: tabWidget.curr\ +ent == parent.in\ +dex\x0d\x0a \ + }\x0d\x0a \ + TapHandl\ +er {\x0d\x0a \ + onTapp\ +ed: tabWidget.cu\ +rrent = parent.i\ +ndex\x0d\x0a \ + }\x0d\x0a \ + }\x0d\x0a \ +}\x0d\x0a }\x0d\x0a\x0d\x0a \ +Item {\x0d\x0a \ +id: stack\x0d\x0a \ + width: tabWid\ +get.width\x0d\x0a \ + anchors.top: \ +header.bottom; a\ +nchors.bottom: t\ +abWidget.bottom\x0d\ +\x0a }\x0d\x0a}\x0d\x0a\ +\x00\x00\x02v\ +/\ +/ Copyright (C) \ +2021 The Qt Comp\ +any Ltd.\x0d\x0a// SPD\ +X-License-Identi\ +fier: LicenseRef\ +-Qt-Commercial O\ +R BSD-3-Clause\x0d\x0a\ +\x0d\x0apragma Singlet\ +on\x0d\x0aimport QtQml\ +\x0d\x0a\x0d\x0aQtObject {\x0d\x0a\ + readonly pro\ +perty url back: \ + Qt.resol\ +vedUrl(\x22images/b\ +ack.png\x22)\x0d\x0a r\ +eadonly property\ + url checkmark: \ + Qt.resolvedUr\ +l(\x22images/checkm\ +ark.png\x22)\x0d\x0a r\ +eadonly property\ + url next: \ + Qt.resolvedUr\ +l(\x22images/next.p\ +ng\x22)\x0d\x0a readon\ +ly property url \ +qtLogo: Qt\ +.resolvedUrl(\x22im\ +ages/qt-logo.png\ +\x22)\x0d\x0a readonly\ + property url sl\ +iderHandle: Qt.r\ +esolvedUrl(\x22imag\ +es/slider_handle\ +.png\x22)\x0d\x0a read\ +only property ur\ +l tab: \ +Qt.resolvedUrl(\x22\ +images/tab.png\x22)\ +\x0d\x0a}\x0d\x0a\ +\x00\x00\x05\xa1\ +/\ +/ Copyright (C) \ +2017 The Qt Comp\ +any Ltd.\x0d\x0a// SPD\ +X-License-Identi\ +fier: LicenseRef\ +-Qt-Commercial O\ +R BSD-3-Clause\x0d\x0a\ +\x0d\x0aimport QtQuick\ +\x0d\x0aimport QtQuick\ +.Window 2.1\x0d\x0a\x0d\x0aI\ +tem {\x0d\x0a id: c\ +ontainer\x0d\x0a\x0d\x0a \ +property alias t\ +ext: buttonLabel\ +.text\x0d\x0a prope\ +rty alias label:\ + buttonLabel\x0d\x0a \ + signal clicked\ +\x0d\x0a property a\ +lias containsMou\ +se: hoverHandler\ +.hovered\x0d\x0a pr\ +operty alias pre\ +ssed: tapHandler\ +.pressed\x0d\x0a im\ +plicitHeight: Ma\ +th.max(Screen.pi\ +xelDensity * 7, \ +buttonLabel.impl\ +icitHeight * 1.2\ +)\x0d\x0a implicitW\ +idth: Math.max(S\ +creen.pixelDensi\ +ty * 11, buttonL\ +abel.implicitWid\ +th * 1.3)\x0d\x0a h\ +eight: implicitH\ +eight\x0d\x0a width\ +: implicitWidth\x0d\ +\x0a\x0d\x0a SystemPal\ +ette { id: palet\ +te }\x0d\x0a\x0d\x0a Rect\ +angle {\x0d\x0a \ + id: frame\x0d\x0a \ + anchors.fill\ +: parent\x0d\x0a \ + color: palette\ +.button\x0d\x0a \ + gradient: Gradi\ +ent {\x0d\x0a \ + GradientStop \ +{ position: 0.0;\ + color: tapHandl\ +er.pressed ? Qt.\ +darker(palette.b\ +utton, 1.3) : pa\ +lette.button }\x0d\x0a\ + Grad\ +ientStop { posit\ +ion: 1.0; color:\ + Qt.darker(palet\ +te.button, 1.3) \ +}\x0d\x0a }\x0d\x0a \ + antialiasi\ +ng: true\x0d\x0a \ + radius: height\ + / 6\x0d\x0a bo\ +rder.color: Qt.d\ +arker(palette.bu\ +tton, 1.5)\x0d\x0a \ + border.width\ +: 1\x0d\x0a }\x0d\x0a\x0d\x0a \ + TapHandler {\x0d\x0a\ + id: tapH\ +andler\x0d\x0a \ +onTapped: contai\ +ner.clicked();\x0d\x0a\ + }\x0d\x0a Hover\ +Handler {\x0d\x0a \ + id: hoverHand\ +ler\x0d\x0a }\x0d\x0a\x0d\x0a \ + Text {\x0d\x0a \ + id: buttonLabe\ +l\x0d\x0a text:\ + container.text\x0d\ +\x0a color: \ +palette.buttonTe\ +xt\x0d\x0a anch\ +ors.centerIn: pa\ +rent\x0d\x0a }\x0d\x0a}\x0d\x0a\ +\ +\x00\x00\x03)\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00@\x00\x00\x00@\x08\x06\x00\x00\x00\xaaiq\xde\ +\x00\x00\x02\xf0IDATx\xda\xe5\x9b_h\xcda\ +\x18\xc7?\x9bm1\xab\x91\xc2\xd0Y+5\xbb`h\ +\xc9\x85\x0b7HJ\x93H))\xe5\xc2\xcd\xb0\x91R\ +\xdc(7\xbbP\xae\x88\x5cXI[v%\xc9\x9fb\ +.\xfc\xbd\xc0(\xffN\xc8\xc6\xd9p16\x8c9.\ +~?u\xac\xe3\x9c\xf3}\xb7\xc3\xfb{\xce\xb7\xde\xab\ +\xd3\xef=\xef\xe7y\xdf\xe7\xf7{\xde\xe7}^\xb0\xa7\ +\x12\xa0\x1aX\x03\xb4\x02W\x8080\x00\x0c\x03\x83@\ +w\xf8\xbb9m\x04n\x03\x9f\x80d\x96v\xc3\x12x\ +\x05p1\x07\xe8\xd4\xb6\xc2\x0a|5\xf0Z\x84?\x0f\ +L\xb0\x00_\x16\xfa\xb6\x02\xff\xde\xca\xccO\x04\xee\x89\ +\xf0\x1f\x81\x1a+\x068)\xc2'\x81uV\xe0\x0f8\ +\xc0\xef\xb6\x02\xbf\x0a\xf8.\xc2\xb7\x01\xc5\x16\xe0k\x80\ +!\x11\xfe!Pj\x01~*\xd0#\xc2\xf7\x02\x95V\ +\x96~\x9b\x08?b)\xd89\xec\xf0\xd2\xdbb\xe9\xa5\ +\xa7\xc2\x1f\xb3\x14\xec$D\xf8\xa7\xe1s&\xd4-\xc2\ +\x0f\x02\xe5\x85\xea\xf7?\x81\x95V\xe0\xeb\x1d\xfc\xbe\xd5\ +\x0a\xfcl\xe0\xb3\x08\x7f\xd6\x0a|)pI\x84\xef\x01\ +\xa6Y1@\x93\x83\xdf7X\x81_V\xc8\xdb\xdb\x0a\ +\xe0\xb9\x83\xdf\x17Y1\xc0\x09\x11>\x8e!m\x10\xe1\ +\x07\x809V\xe0g\x02}\xa2\x01\xb6Y\x9a\xfd\x0e\x87\ +\xcc\x8e\x19\xed\x13\xe1\xef[\xda\xe4\xd4\x91\xdb\xf1Uj\ +rc\x91\xa5\xd9\xbf.\xce\xfe&K\xf0\x07E\xf8\xd3\ +\x96\xbe\xf7\x0b\xd0R\xda\x09`J!/\xfd\x98%\xf8\ +\xfd\x22\xfc^K\xf0\x0d\xc07\xb4\xc3\x0cS\xba\x8av\ +\x82;\xd9\x12\xfc\x1e\xf1{\xdf\xe8\xcb\xc0g\x01k\x09\ +\x8e\xa1\xaf\x01G\x80*\xb1\x8fZ\xd1\xef;|\x00/\ +&8X\xe8O3\xc0w\xe2\xf2\xbc \xc0?\xc2\x83\ +\x13\xdc%\xc0\x87,\x03=\x9ac_\x8d\x02\xfcW\x1f\ +B\xdd\x96\xd0\x07\xb3\x0d\xf6Y\x98\xc1\xc9\xa4\x18AM\ +^\xae\x068\xf4\xbf\xe1\xeb\xc5\x08m^\x16\x17:'\ +\xf4u\xc7\x07\xbfW\x8f\x9e\x8fg\xe8k\xb9\x98\xdd\xf1\ +\xa2h\xe9.zF6\x9d\x8a\xc4\xa5\xdf\xe2\xcb'\xaf\ +\xdd\xc1\x00;\xd2\xf4\xa3$7;}\x0aV\x9a\x1c\x0c\ +p\x8b?ko\xe6\x0a\xef\x91^`\xbaO\x06X\xec\ +`\x80a`~J\x1f\x0f\x84g\xb7\xfa\x16\xaeV\x85\ +A\x8ej\x84\xc7\x0e.\xe4eb\xb3$\x5c\xd2\xc9<\ +\xb77\xc0$\x9f\xc0\x7f\x87\x9e?\x80\xcb\xff\xe0\xff\x9a\ +\x81/\xbe\xee\xdaj\xf3<\xfb\xedQ\xd8\xba\xbe\xca\x13\ +\xfc\x8b\x1c\xc2g/\xb4+O\x06\x88LZ;\x86^\ +\x88\x9c\xad\x9d\x89R\xf6\xa6\x1c\xfd\x12B\xa6\xf6\xd6w\ +\xe0\xd1\x09\x88!\xa0k\x1c\xfb\xdf\x19\xc5\x1c\xde\xc2q\ +\x9a\xfd.\x22\xac'c\x84\xef'\xe2\x15\x9b\xab\xc7\x00\ +?\x02l&\xe2*\x03^:\x1a\xe0f\x94@\xffv\ +yp\x04\x98AP\xba\xa6\xaa.\xdc)F^\x95\xe8\ +%\xab\xdb1\xa6\xa5\x02\xfc)\x8c\xdc\xcc\x1a\xad\xf5a\ +\xce0\x1efr\xfa\x08\xae\x9f&\x08.'t:\xba\ +\x8a\x17\xfa\x05\xc1\xf2\xa6\x01\x10\xe5*G\x00\x00\x00\x00\ +IEND\xaeB`\x82\ +\x00\x00\x015\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x10\x00\x00\x00\x1f\x08\x00\x00\x00\x00\xcb\xce\x12h\ +\x00\x00\x00\xfcIDAT(\x15\x05\xc1AjTa\ +\x10\x06\xc0\xea\x9e\x7fF\x12\x17\x22(\xe8\x01t#\xf1\ +\x12\x9e\xdc\xadk\x97\x0a\x0aB\x5cj\x22$\x99y\xaf\ +?\xabj\xeb\xbbo\x7f\x1f\x8e[e\xbd}\xf5&U\ +\xf3\xfd\xc7\xcd\xcbc\x0a\xbf\x7f\x9d>V\xfd\xf9\xf2i\ +{\x08\xb8:|}\xfe\xae\x7f~\xd8\xee\x0a\xd8\xee\xdf\ +\xdfN\xff{vn@\xf4<\xae\xfb\xeb\xc7\x9e\x80\xbd\ +\xfa\xf2\xd4\xe7\x95\x00Fm\xb3ZK\x81\xe9\x9a\xee\xde\ +;\x80JJ\xc7\x000\x95\x85t\x80\x99\xb2jT\x88\ +\xa8\xb2[\x95)AIfY\x22\x22\xe8\x12\x0bB)\ +\xfb!,\x12\x80$\x96\x1a*%\xe20\x16Q#J\ +\xd2m\x91\xda+\x85\xba\xecc\xc5t\x22\xe8\xde\x97%\ +\x00b\xc6\x22\x09P\x11-\x00Bi\x00D\xd3I\x12\ +\x01I,\x92\x10\xa8\xa2\x8bD\x00t\x0e\xba\x04\xb2\x1d\ +j\xfa\xf0\x94\xcbX\xe0x\xc9iM\x9f\xe6\x9cKc\ +j{\xfd\xb9\xce\xe7\xdb\xab\x9a\x14\xb6\xd3\x8b\xe3\xf1?\ +V\x8e\x9e\xad\xee\x91\x1e\xc8\x00\x00\x00\x00IEND\ +\xaeB`\x82\ +\x00\x00\x066\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x0d\x00\x00\x00\x17\x08\x06\x00\x00\x00\xd0\xa6\xc5\x81\ +\x00\x00\x00\x19tEXtSoftware\ +\x00Adobe ImageRead\ +yq\xc9e<\x00\x00\x03$iTXtXML\ +:com.adobe.xmp\x00\x00\ +\x00\x00\x00 \ + \x97\xa0=\xd8\x00\x00\x02\xa8IDATx\xda\x8c\ +\x94_HSQ\x1c\xc7\xcf\xbd\xbb\xd7;\xb7\xdd\xddQ\ +\x90\xbe\x0cb\x9b\x93\xd4\xf5\x10\xc1\x0a\xf4\xc5)\xd8\x1f\ +)Fd\xd4C\xeaK\xe4CB\xf6\x98\xb4\xb5\xad=\ +\xc8\xe8\xc9\xf5\x1e\xf4\x92\xd2\x96E\xeb!Y\x96\xc5\x94\ +\xc2\x94\x05\xb2\xf9\x10H\xed\xa1\x8767\xc1\xfd\xf3\xf6\ +=\xd7ML\x97z\xe0\xcb\xdd\xef\xdc}8\xbf\xf3\xfd\ +\x9es\x19Y\x96\xc9A\xc3j\xb5\x0ep\x1c\xf7\x98\xc8\ +r\xa1P,\xde`\x0e\x82\xdaZ[\xefiu\xba1\ +\xb5 \x90r\xb9Lr\xeb\xeb1n?\xc0f\xb3\xb9\ +\x0c\x06\xc3\x03Q\xaf'u \ + \xd9\x0c\xdf\xc0\x00\x00\x01\xcdIDATx\xda\xac\ +\x95;K\x03A\x14\x857\x994\xdaF1>@\xc5\ +\x88A\x8c,*\x16b#XZ\x08\x06\x04\x0b\xa3\xad\ +\x85\x9d`\x13\x0b\x1bm,5\x8d\x88\x89\xd8(B4\ +>@B\x88\x16\x16\x22b:\xff\x86 X\x04]\xcf\ +\x95+\x84e\xe6\xee\xaef\xe0\xec\xcc\xee\x1c\xbey\xec\ +\xbd3\x91\xa5t\xba\xd9\xb2\xac\x03h\x0ez\x832\x87\ +\xb9\x5c\xd6\x0aX\xc2\xd0\x064\x0fE\xa0(\xb4\x07\xf8\ +\xfa_@\xe3\x9a\xef[\x80e\x82\x82\x1e\x0d}\x9b\x80\ +m\xfb\x05)\xdb\xb6\x1fPO@\xbd\x9a\xfeI\xf47\ +\xbdT\xab%/P\x88\x1e\xbc\xe1\x97\xd0\x94\xc1\xb7\x03\ +\xad\xe1'8\xc6\x19\xd1\x03#\xd60\xf2\xa903\xfa\ +\xde\x06\xcf5\xbcf\x90\x0b6\x0c\x0dh\xbcc\x12L\ +\xd5\xbf0\xec\x0cM[\x80\xb5\xc3s\x03\xafc\x041\ +\xec\xd3\x036\x0a\xc5\xe19\xaf\x87)\xddz\xeb`q\ +(\xa9\xb1$\xdd0e\xfa\x0b\x0c+x\xc0\xfa\xe1)\ +\x927\xe4\x15\x1f\x08\x0d\x1a,\x0f-\x18,E(\xa5\ +\xbc@4uZ\x02\x9a1\xde\x1fw\xa1}\x8c)?\ +\xe1\xcf\xb0+4;\xa1\x11\xdd2\xc3\x01\xf22\xca1\ +\xa6+\xef!?\x04\xecS+\xaa24d\xb0\xac\xa8\ +\x06@V\x91\x83\xbb\xca\x03\xd2\x81\xaa$\xcd\x84 b\ +\x1c\x01\xd2\x85\xea\x0eJ\x08\x90\xac\x18\xd9\x0c\xa9@}\ +\x9a\xee/h\x19\x90}1\xd7\x00\xe9\xe1=1A\x16\ +\x019\x12\xb3\x1f\x10J\x87{\xa8[\x80\x1c\x8b\xe7\x11\ +C*\x1ct\xeeR\xa3\x9b\x06\x90\x13\xf1\x84\x04$\xc1\ +\xcb1AR\x80\x14\xc4\xc3\x1f\x90A^NL\x80\x5c\ +x\xc5\x1b]\x8a\xb4q-\x9a\xbe\x0fh\x16\x90[?\ +\xd1\x1f1$!Af\x00)\x07\xb9 \x9f\xff\x0b\xf9\ +\x05\xd1\x81\xf5\xc4\xef\xaf\xd0tP\xc8\xcf\x05\xe98\x8e\ +\xd5\x88\xf2-\xc0\x00\xaa\xfa\xae\x1fG|9m\x00\x00\ +\x00\x00IEND\xaeB`\x82\ +\x00\x00\x03w\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x00\x1b\x00\x00\x00\x1c\x08\x06\x00\x00\x00\x90\xd1\xc4\xed\ +\x00\x00\x00\x09pHYs\x00\x00\x0b\x13\x00\x00\x0b\x13\ +\x01\x00\x9a\x9c\x18\x00\x00\x03)IDATH\x0d\xbd\ +V=LZQ\x14\x06\xa4\xd1PE\x03\x14\x08\x83\xc8\ +fL\xd3\x10\x93\x06\x97\xa6\xdd\xbb3th\x8c\xa1\x1b\ +\x9d\x18\xbauaj\x22k'6\x17\x87v\xec\xd6\xa5\ +\x1b.\x84\x04\x02&\x18\x15\x02\x89\xd2\x8a\xfc$\xb6D\ +y\xaf\xdfw\xfb\xde\xf5\xf9\xfa\xe4\xa76\x9e\xe4\xe4\xde\ +\xc7\xbd\xdf\xf9\xee\xf9\xdey\xe7bWU\xd5v_\xe6\ +\xb8/\x22\xf28'%\xb3\xc3\xb4\xbd\xfah\x84\x0ay\ +\xa0\xd2H\x99\xecc\xd6m\x1a\x09\x09\x8cn$\xe2\x9c\ +$\xd2o#\x1dI\x06\x22\xcaL\x12\xf3\xa8\x13K\x02\ +\xecQ4B1\x82\x90\xe3\x0d\xb3\x94\xd1\x90\x0dI\xe8\ +3\xf0\xd9\x85\x85\x85@\x22\x91x\xbe\xbc\xbc\xbc\xb6\xb8\ +\xb8\xf8\xa8\xdb\xed~\xaf\xd7\xeb\xe5l6\xfb\xad\xdf\xef\ +\x9fb\xcf\x00>\x84+\x9a\xeaL\xf2ZZ\xce\xcd\x8e\ +\xcd$\xe0Af\xe1\x0f\xa3\xd1\xe8\xd3\x9d\x9d\x9dO\xd5\ +j\xf5\xe7\xd9\xd9\x99z~~\xae\xb6\xdbm1\xf2\x99\ +\xbfs=\x16\x8b=\xe1~\x0dG\xbc\xc3\x18{\x1c\xd1\ +<2y]\xa9T\xba$h6\x9b\xea\xe1\xe1!\x83\ +K\xe73\x7f\xe7z\xa9T\xea\xc6\xe3\xf17 \x99\xb7\ +\x22\xbc\xf1\xce4\xf9t\xd9\x1e\x00\xf8j{{\xfb#\ +\xe4s\x22\x03q0\x04\xb14\xca\xe6\xf7\xfbm \xbd\ +L\xa7\xd3\x09H\xfb\x19\x1b/\xe1BVd\xa8\x9a\xc9\ +t\x22'\xa4{\xbc\xbb\xbb\xfb5\x14\x0a\xb9OO\xf9\ +:&3\x9f\xcfg;99\xe9mnn>\xdb\xdb\ +\xdb\xab\x02u\x05\x1f\x82Kapa\x86\xa2`\xa5\xcd\ +\xa6R\xa9w\x81@\xc0\xddj\xb5\xb4\x1d\x93\x0dT \ +\x18\x0c\xba\x93\xc9\xe4{\xc6\x81\x8b\xcae|I\xa6\x85\ +\x12e\xce\xaa\xdb\xd8\xd8xyqq1R:+z\ +\x16\x04q\xc43\x0e\xf6\x90\x83q\xc5\x84#M\x9c\x80\ +\xe3\xd6\xd6\xd6\x0b\x8f\xc737\x18\xb0\x92\xa77\xe2\x88\ +g\x1c\xa0e\x5csf\x8cl\x8fD\x22\xab\x0e\x87\xc3\ +6\x1c\xf2\xddNo\xc4\x11\x1f\x0e\x87\xd7\x80&\x990\ +K2\xb7\xdb\xed\xa7\x1cw1\xe2\x97\x96\x96|\x881\ +\x92L\xed\xf5z-\x96\xf2]\x8c\xf8N\xa7\xf3\x031\ +\xe4\xa9\xad2S\x8f\x8e\x8e\xf6\x15E\xb1\xcd\xcc\xb0K\ +Mo\xc4\x11_\xab\xd5\xca@K2\xf9\x9d\xb14\xb1\ +\xc0\xe8NTQ8\x9f\xcf\x17\x5c.\xd7\x1c+kZ\ +\x03\x8e\x15\xf9k}}=\x8a\x9eY\x03^|k\xe6\ +\xccx\x0a\x85M5\x97\xcb}!hZ9\xb9\x9f8\ +\xe2\xb5\xe6\xac\xdf\x06\xd7\xa5\x8f\x17J\x22\xdd\x07\x99L\ +\xe6\x03;\x81\xd7\xeb\x9d*1\xb6\xacF\xa3\xd1'\x1e\ +@~;\x22&\xe3[f\x86\x0d\xc3B\xa1P\x06\xe0\ +-Nw\x85N26Cf\xc4V\x85\xa2\xb8Bo\ +L\x11\xcf8p\x99\xd9\xd8\xae\xcf.^,\x16{\x93\ +t\xfd\x83\x83\x83\x0eo\x09\x10Xv\xfd\xbf\xc8\xfe\xa8\ +\xf9o\xf7\x19\xef=\x10\xddz\x9f\xc9j\xc4&i\x90\ +\x84\x95I\xa7\xcc\xf4\x1b7\xf5\xca\xca\xca*\xfb\x1e\x0b\ +\xe0\xf8\xf8x\xdf\xea\xa6\x06F\xc8\xc7w\x85\xb90K\ +2\xb9\xf8\x9f\xff\x83\x8c$#\xa9!K=[\x8ef\ +\xd3\xabXV\x9ey\x03\x9f\xc7\x92\xe9 \x8dT`\xf4\ +\xdf\x0c\xa3\x90\xca(\x99aMN'&\x93\x88;L\ +~\x03}U80w\xf4\xee\xee\x00\x00\x00\x00IE\ +ND\xaeB`\x82\ +\x00\x005\x1c\ +\x89\ +PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\ +\x00\x01\x00\x00\x00\x01\x00\x08\x03\x00\x00\x00k\xacXT\ +\x00\x00\x18\x8azTXtRaw prof\ +ile type exif\x00\x00x\ +\xda\xd5\x9bYv\xdc\xb8\x96E\xff1\x8a\x1a\x02\xfaf\ +8h\xd7\xaa\x19\xd4\xf0k\x1f0\xa4\xb4l\xcb\x96^\ +~=+\x1d!\x07\x19$p\x9b\xd3\x00L\xb3\xff\xef\ +\x7f\x8f\xf9\x1f\xfe\x14\xe7\xac\x89\xa9\xd4\xdcr\xb6\xfc\x89\ +-6\xdf\xf9\xa5\xda\xe7O\xbf\xaf\xce\xc6\xfb\xfa\xf6\xc7\ +\xbd^?|n\xde\x7f\xf5\xbc\x07\xde\xc3s\xa0\xe6\xd7\ +\xb7\xde>w\x1f.c]\xe7\xb7\xf4\xc3\x85\xea|\x1d\ +\x18\x1f\x0f\xb4\xf8\xbc\xfb\xfa\xd3\x85^7\x0a\x1a\x91\xe7\ +\x97\xf5\xbaP{](\xf8\xe7\x80{]\xa0?\xd3\xb2\ +\xb9\xd5\xf2\xe3\x14\xc6~\xde\xd7\xdbD\xeb\xf3\xd7\xe8\xa5\ +\x8e\xe7>.\xbd\x8e\xfd\xf4\xefX\x88\xdeJ\xdc'x\ +\xbf\x83\x0b\x96\xd7\x10^\x03\x08\xfa\x1bL\xe8\xfc\x12x\ +\xf5!r\xa2\xe3\xa7\x87x_]x\x8b\x09\x01\xf9]\ +\x9c\xde\xff4Ft4\xd4\xf8\xdb\x93\xbe\x94\xad\xb7\xdf\ +\xcc\xcf\xd9\x8a\xfeuJ\xf8)\xc8\xf9\xfd\xfd\xb7\x9f\x1b\ +\xe2\xf0\xdb\xac\xdc\xd0\xffp\xe7X\xdf\xcb\xe4\xc3\xe7\xa5\ +\xb8\xfeVG\x1f\xa2\xaf\xbf\xe7\xacz\xee\x9c\x99E\x8f\ +\x99P\xe7\xd7\xa4\xde\xa3\xa6_8op\x0b\xdd\xba\x1a\ +\x86\x96m\xe1o\xe2\x12\xe5\xfe4~*U=)\x85\ +e\xa7\x1d\xfcL\xd7\x9c'\xfa\xc7E\xb7\x5cw\xc7\xed\ +\xfb>\xddd\x88\xd1o\xe3\x0b\xbfx?}\xb8\x1f\xd6\ +P|\xf33(\x7fQ?\xee\xf8\x12ZX\xa1\x92\xd7\ +y\xd3\x1e\x83\x7f\x1f\x8b\xbb\xb7mv\x9a{\xb7\xca\x9d\ +\x97\xe3T\xef\xb8\x98\xe3+\xdf\xfe1\xdf\xfd\xc29j\ +\x05\xda\xbd\xbe\xc7\x8aqy\xaf`3\x0ceN\xaf\x9c\ +FF\xdcy\x055\xdd\x00\xbf\xfd\xfc\xfcGy\x0dd\ +0)\xcaj\x91F`\xc7s\x89\x91\xdc?H\x10n\ +\xa2\x03'&\xde\x9f\x1ete\xbd.@\x88\xb8ub\ +0tCtd\xcd\x85\xe4\xb2\xb3\xc5{\x00\x8a@V\ +\x12\xd4\x19\xbazf\x90\x01\x97\x92_\x0c\xd2\xc7\x102\ +\xb9\xa9^\xb7\xe6+\xc5\xddS}\xf2|l\xf8\x1c0\ +#\x13)\xe4P\xc8M\x0b\x9dd\xc5\x98\xa8\x9f\x12+\ +5\xd4SH1\xa5\x94SI5\xb5\xd4s\xc81\xa7\ +\x9cs\xc9\x02\xc5^B\x89\xa6\xa4\x92K)\xb5\xb4\xd2\ +k\xa8\xb1\xa6\x9ak\xa9\xb5\xb6\xda\x9bo\x01\xd0L-\ +\xb7\xd2jk\xadw\xee\xd9\xb9r\xe7\xdb\x9d\x13z\x1f\ +~\x84\x11G2#\x8f2\xeah\xa3O\xcag\xc6\x99\ +f\x9ee\xd6\xd9f_~\x85\x05~\xac\xbc\xca\xaa\xab\ +\xad\xbe\xdd\xa6\x94v\xdci\xe7]v\xddm\xf7C\xa9\ +\x9d`N<\xe9\xe4SN=\xed\xf4\xf7\xac\xbd\xd2\xfa\ +\xcb\xcf7\xb2\xe6^Y\xf37S:\xb1\xbcg\x8dO\ +Ky\xbb\x84\x13\x9c$\xe5\x8c\x84y\x13\x1d\x19/J\ +\x01\x05\xed\x953[]\x8c^\x99S\xcel\x03\xfeB\ +\xf2\x0c2)g\xcb)cd0n\xe7\xd3qo\xb9\ +3\xfe\xc9\xa82\xf7\xaf\xf2fJ\xfc\x907\xff\x9ff\ +\xce(u\xdf\xcc\xdc\xafy\xfb]\xd6\x96\xf0n\xde\x8c\ +=]\xa8\xa0\xda@\xf7q|\xd7\xeek\x17\xd9\xfd\xf2\ +n>;\xf0\xdd\xf7\xff\x9a\x0b\x8dQ\x8e]g\x862\ +\xd6*!.\xe0\x83\xec\x12M[{\x14\xa4\x86\x98\xc6\ +\xea1\x9d}\xb2\xd8\xd6\x80\xc6\xab\xf4\xc3\xc1P\x00\xbf\ +\xb2\x09\xec\xc8\x87Z\x99yPn\xa7S\x8b+\x9f<\ +w8\xbcw\xa8\xfa\xec}:\xaf\xfe\xf4\xb2\xf6I\x8d\ +s\xe9~\xbf\xba\x0f\xbb\x9c\xe0\xe7Z+\xb42\xa8\x81\ +\xb1R\xde\xe7\x08\xe0\xe7\xd0\xfbv\xf1\xe8}\xc5R\xf4\ +\xeeS8g@\xec\xe79b~=t\x92U\xcd1\ +\xee1\xda\x8e\xe5\xe4\xb1\x19m\xd39\x96\xa9D*W\ +\xbfO\xdf\xee\xa5{\xe5\x8e\xdb\xc4\xce\xa7\x99\xfa>\x1f\ +\x0f\xbc>O\xbb\xbb\x98\xdc^>\xad\xc9\xa4\xe9\xaeq\ +\xe69\x15\x16\xf0w\xb0w@\x12\x11\xcf\x80\xeep\xe8\ +\xfe\xf7\xb1R\x80?\x1f\xb9C\xad'7\xbf\xb7\xa3r\ +O]\x87\x90L\x02\xd9\x9c\xd9\xe9~\xc9\xf6;\xdc\xdd\ +\xc3\x8dH\xd3\xe8\xe8\x07h\xe5\x93#\xb4Yr\xb1\x8c\ +\xd8\x00\x96\xb3\x97)3\x9f\xc3(@\xa4Yi\x1a\x9d\ +\x5c5\x08\xde\x93[\xc0T\xbb\xe3\xdbs\xd7?\x1c\x1b\ +fE*\xe7\x89l\xfd1\xae\xefQ\xbd\xa1c\xcc7\ +t|)>#\xfc'\xac\xcf1\xf3\xf1\xe0g\xb1e\ +$\xfef\xf6\xd3b0\x1f\xab\xe1\x93b\xf8,\xc2\x0a\ +\xb0\x8a\x82q \xfdn\x14\xdb3\xc8W|\xef\xa1_\ +\x8e\xfc\x1c\xdf\x1b^A\x8c\x02l\x9e\x083\xcf\xfa\xa4\ +\xf9\xdc(Rn\x8a\xe3\x13\xe1O\x8e\x8c\x0f\xe15_\ +\xab\xdb\xbf\x97\xad\xf9Z\xdd\xfe\xbdl\xcd\xd7\xea\xf6\xef\ +ek\xbeV\xb7\x7f/[\xf3\xb5\xba\xfd{\xd9\x9a\xaf\ +\xd5\xed\xdf\xcb\xd6|\xac\xdb\x9d-h\x99\xe1\xe7S5\ +\xa5\xb1\x138\xd9\xa7 \xb5\x8e\x19\x80\xd7\x11\xee\xd8\xd3\ +\xd8u\xea*\xbc\x87S\x87\xd9\xed\x94\xfa\x1f|Q\xdf\ +\x1b+\xe7\xbe{\x8a\xbbVsR\x09i\xae\xd2\xf2!\ +\x0e\xc2\xefq\x96\xb4!cO\xb5\x1d\x982\xea\x1f\xf6\ +/\xef\xc6~\xf1\xc4\x7fy\xa1\x04\xa1\xe7\x05?\x8c\x98\ +\x97\xdf\x85\xec\xed9\x08\xa9Ksd4B\xf3\xf1z\ +\xd0b\x90\x1b\xd1\x9e\xb8s\x05\xf0]\xf1\x99\xd7\xb5\x9a\ +_\x9b\x9f\x91\xdb\xca\x5c\x06\xc5\x10\xf9\xfe\x1aS\x84\xb0\ +\xd6\xc0\x19S\xd2\xb0\x5c\x18\xad\x1f8'\x9b\xb0\xfd\x9c\ +\xc9\x8d\xd9\x5c\xa6\xae\xe1\xa5\x1cjB\x9bT\xac\x0a\x8a\ +f\x17\x8bb\xf2\x16\xd9\xc1\xeb\x09\xb3n>th\x96\ +\xb6}\x1c\xeb\xb8\x901P\xdbt\x94\xc9\xac\x0d\xb5&\ +\xa5F\xd2\x90a\xbb\xc7S\xc2\xc2l\xc9\xd8\x85\x94\x8f\ +\xa3\x14{;\x09\x19\xc6l\xda\xf4\xbe\xa7D\x9e\x18\x9b\ +\x7f\xa0\x04\x18\xd9$\xacL(\xd3\x93b\xe4\x98\x1b\xc9\ +\x97\x9aCs\x08\xdflc\xaa\x93\xd1\xb7+N\xc7\xa0\ +N\x0e$\x9e\xda\x85\x14z\x8a\xb2\xbft\x14\x1d\xf5\x7f\ +\xfb\xcc\xaa\x90\xe1i\x8f\x0a\x82p\xa9\xdc\x19\x0b\x88I\ +\x8d\xe2\x9c\x18\xa8\x8fh4\xea\x9d\xc1\xa1\xa7\x96\xcd'\ +]\x8f\xa3\x82w\x04{\xaf03\xfa\xd9\x0f\xdf\xa2B\ +5\x5c\xc9\xc4\xad\xe4\xeds\x0b\x93\xab\xc0\xf8;\xe6R\ +\xb9;G%5f\xa5\xfcOl\x9dz\xedg\x88\xd7\ +\xea\xe8\xa9\xcc\xd4\xc6\xaa\x05\xf1\xd9\xfb\xaa\xb3(\xc2\xb9\ +\xb7\x86Qa2\x0e\xe9<\xa3\xe3\xcb\x04\xce\x06\x92\x82\ +\xe0\xab\xad\x13\x81Vb;\xe8\xe4h\xe8\x07\xbf\xd1\x1e\ +\xd1\x8eV\xaa;D\x09\xcf\x9f\x8bW+x\x8bxe\ +(\x03\x1c\xd9+\x85\xd5\xd2^s\x033\xc3%\xce\x9c\ +\x13\xc38c\x5c\xa3\x19'\xec\x09\xc2\xb9\xecC\xc7\x0a\ +9\xdfs\xdb\xb34$\xedl\xb9\xa6\x14\xd1(\x07m\ +$\xbc+\xd8Y\xc4*\xf58\x0f_\x9b(&\xb2\x84\ +\x801\xbeSv\x8e\x8a\xf5I\xd7\xb7\x01_u\x16\x02\ +\x95\xf4\xee\xb4\xecA\x87#\x84)\xaf>7\xdfF\x90\ +\x0f\xf0$\xe6L1\xa1\xb4\xebK\x9c\x99\x89!F\xdf\ +\xd6SQ\xbe\x83VV\xdc\xe3(\x0c\x07\xda\x18c\xe4\ +:\x171u\xb1\xa2\xcfq\x12\xfb\x14\x8a\x14N\xd96\ +\x15W\xde\x8a\xc0\x8c\x9b\xfa_\x8b\x00\xdd\xbf\x06\xc8\xb0\ +\xfa$c\x94\x16\xff\xd5\x15\x93\x8f\x8c\x0e%\x18Si\ +\x93Z\xe0{\xfd\xd6Q\x22\xbe(\xba\xc1T\xd7$\x90\ +\x13{\x9eK;\x88y\xc5\xf5\xa0\xf8H\x8e0\xc8\x0b\ +\xf2zm2h\x0e\xb5\xee\x87\xdd\x94\x00\xa5\xe9\x11w\ +\x06P\xf7\xa3^\xf8\x89\x951\xf7;g\xfb\xf5\xf7\xe3\ +\x08{;\xa6_\xb0\xc7\x9aP\x8e`\x9d\xf3\x99\xb1\xc1\ +h\x80\xdf\x22\x9e\xd8\x19ej\xba\xd5\x03\xe3\x02@p\ +5\xa5/\xd2\xb1&\xa6\x0a5:\x17h\xeeL\x83\x88\ +\xa8+\x82l\x99n\xc5\x99\xb5Y\xc6q\xe9\x84\xac\xb9\ +\xce\x01K`\x8e\x16Q\x1e;7R\x12\xe9B\xee\x0d\ +~\xce\x16\xaa\x9b:\xdc\x0dL\x805\x0a\x8c\xa22\xe7\ +^RZ\x09\xc2)4R\xc6Y\x95\x13\x09-\x99J\ +\x8b\xa8\x12\x9c\xe1\xea(t1 P*\xdekS\x13\ +eXw\xf5\xd1\xcaN\xf0\xd6;\xe5\xba\x86\x94z\xf4\ +\xc8\x84v\xec\xf6k\xcd~\x9d\x13m\xd2I\x88{\xf8\ +\x14#\x07X\xd0>m\xd8\xc2t\x86AWK\x0b3\ +\x87\xe0\x00\x9c\xd4\x03|XJ\xf7\x9e\x91\x04\x8a\x99\xda\ +\xee\xb8@+h\xc5\x0f\x14\x1b\x89L\x1a-Y\xd4x\ +.\xb6Q\xc582S\x99\x8eZ\xbc\xe0f\xc9\x1c\x97\ +\xf3Q\xcb\x0b\xb38\xb2\x92\xb8\x84\xd3\x12P\xc1\xd2\x12\ +\xdb\x88\x11\xe0\x1aX\x83\x02\xb4\xe6N\x22\xf0\x84\x07\x7f\ +iZ\xc8\xd0\x0ee\xc7\x8c\xa9\xb2U\xb8\x10U\x05\x9a\ +\xa5](\x1e\xea%$J\x17g\x89\x8b\x83\xb0}q\ +\x9b\xd7\x1be\x97\x06\x9e\x84A\xd5f\xb8i[\xa1\xd0\ +f\x05\x87\x0a\xe3V\xa2\xe1\x1d7$\xaa\xccx\x8c\x9e\ +W\x00\x82g\x0c\x80\xe6T\x83\xa3(`\xe3-\x10]\ +\xd3\xeeLk5C^G\xa4\x91\xc9V\xe0\xee`\x0a\ +}a\xd1\x144Z\xb5\xb1\x12\xf7\x10\xd6t\x88\x85Q\ +U\x14*\x9cA\xc0\x8a\xb2>\xe2n\xc3\x13\xc6e:\ +\x97-\x1e\x99Z\xb5\x9e\xd2T\x15.-h\xa0PB\ +)\xec\x19<\xd3\x1e3\xa5P\xc8\x06\x08r\xb0\xbbS\ +\xab.\x8b\xacP\x03\x85\xfe\x1d\xd9\x0cn9\xc5\x14\x90\ +\xbc\xbf\x8c\xe0f.4\xd1\x14\xa2-\x01\xec\xd4H0\ +\xf0\x89\x0c\x88\x86\xfc\x8c{\x00\xe0h\x12\xe6\x16w\x0c\ +\x80\x8f\xa9\x90U\xd1\x90A8B9U\xc3\xfe\x02A\ +\xd1w\x98\xedB\xc4\xe1\xc4\x01\xe2\x025V\xb2\x8e\xd2\ +\xe1~\xd5\xcb\xc11H\x90\xb0wC\xf6=g\xd4\x12\ +\xb7s\x9d\xc1&\xe9\xc3q:\xad?\x1eW=\xe3i\ +\x0c\x85\xf0z4\xd0\xacX9n\x04\xf9\x028\x1d\xfc\ +\xa1\x96\x88\x11~\x93B@&\x82\xfa\x85+\xd0>\x87\ +y\x94\xbe\x9d\x1f\xd4:\xba1`\x18=\xe4U@F\ +2/Jr\xb7\xd5[\x9dw\xf9\xef\xe2\xd1\xa2\xa2\xb6\ +z\xe3\xcaM\xfb(\xca\x1c\xaeD\xcd\xe8\xa1\x93!\x19\ +\x14%\xd5\xa6\x12,\xe4\xeb\xcatZ80\xd0\x1d_\ +Xk\xe0\xe0\xf5]\x10\x0a\x8c\xbaBv\x95F;\x16\ +\x90\x80\x13\xcdD\x8ePBP\x00\xa0\x9e\x8b\x93\xe4\xb2\ +\x05\xdaJ)\xc1N\x09\x84\xec\xda\x16`X +b\ +F\x08\x9e\xaeJA\xa3\x14q\x13\x15{\x1a\xd2oh\ +\xe5F\x18\xd4\x1a\xae\x99\xd8\xb5\xa0f\xf1 D;9\ +q\x1f\x0a{zJ\xb1\xf0\x0d>\xd3\xb2\xcfD.\xc5\ +\x15\xe9\x9e\x01$\xd6Fe\xe78jC\x84 \xa1 \ +\x07\xce\xa1\x99\xcf@&\x9c\xd8\x85\xbf\xb4;H\x16c\ +\x1d\x14X%\x9a4w\xb6\x9e\xfa\xb5\xb7\x8fa\x93\xb6\ +-\x05\x09R#F2\xc4=\x93gZ\x1d\xccm\xe8\ +3-$1.j\xc5\xceNz\xa0\x94q\xb4\x8a\x04\ +\xab\x13\xd7\xedmo\xf4\xbe\xa5\xbe\x80\xbf\xf1\x18?\xf7\ +\x0a\xfd\xd4\x92\xcd\x0f\xb8~\x13\x0b\xbfC\x88\xdc{\x07\ +\xdb$6\x98\xda\x96\x06B\xe3u4\x95\xe4X\x0a\xa8\ +Z\x98\xaaA\xa7+\x81\xd4\x94\x8c*\xa1\x1c\x07\xc0\xf3\ +\xeb\xb8\x5cC\x9f\xb9\x10!\xa2\x09\xef\x00^\x9d\x92\x91\ +Pd\xd4~\x12\xe8\xb3\xc8\x1a\x818k\x87\x95\xe1y\ +\x11\x85G\x05\x80\x1c\xcc\x02\x05t\x02\xec\x07\x02T\xe8\ +\x10\xa0\x93\x96k\xd0m(\xb4\xbc\x1a\x88\x99\xddD8\ +o\x0d\xb4\x89\x09r\xb4\x04G\xc1\xc9[\x96so\xd8\ +\xf5*>\x07Z2\x80\x81\xa4\x88\xa2\x0d\x10\xc9:\x8c\ +\x15\x84\xd0\x22\xf2-g\x14+\xfdf\xe6!\xca\xb3\x8b\ +\xe5bG\xec\xc3s\xe8\x05\xfa7\xa9F>\xca\xbb_\ +\x89]\xea\xea\x00\x8cg\x1b:uq\x03\xb8\xaf\x91\x05\ +\x8c\x94\x1f2\x9f9\xc1\x194\xee\xd1\xa2\x22\xect\xc6\ +\xc4\xca\xe5-6\x99]\x0c\xc6\xb7\x0a\xe2\x03\x01\x0a\x9e\ +\x94aZ\xb3~\xdfh\xd4\x04\xf0\x80\xd9-\xa0\x9b\xe8\ +\xa3\x15i\xaf\xb5V\xd5\xdf\x08\xad\x80\x8b\x09\xa1\xd8\xa3\ +\x1f\x12\xcf\xcb5\x00\x87\xeeF\xfalm\xb0\xa4dS\ +&T\x01q\x05]\xc3x\x09exEF\xdcwJ\ +\x99)\xc1l\xf9\x84 \xabJ\xfd\xb6\x80\x1cG\xd7\xa9\ +\x99@\x83\xd0\x87Qt_Ax\x0f\xc1\xe3\xd3&p\ +\xb5\x1a\x93)o\x8e\x0d\xbd\xd70@\xa8\xad\x22\x9f\x0a\ +U\xdd\x1eX\x01J1\xb3D\xa6\x011\x12\x99\x98G\ +\xe2\x82\xdd\xc2X\xdc\x00>{\xad:\xc07\x13,\x9a\ +\x81\xc4\xca\xe7\xa1~\xdcO\x030?\x8e` 9\xa6\ +\x05\x0d\x91\x02\xa5\x86\x002n\xf1\xa7GP\x12\xe3\xb5\ +\xa4\xb2R\xa3\xd8\xe8\xb6\x00\xff\x85\x85j\xab7\x8ff\ +\xc2\x7f\xfd\x0e|Y\xa7\xc5]]\x92\xc3\xcfz\x04\x84\ +\xcd}`\x1d\x12\x873\x86\xe0\x10\xbf\x04\xba\xfa\x0c\xcc\ +\x07:\x87\x86\x01\xf4\xe8~Wa\x890AW\xe6\xaf\ +\xe5\xd6\x18@\x9d\xadM\x9f\x956\xce\x83qRjc\ +h\xeb\xecv\xe1p\xb7\x9a\x7fZ(4\x9f-->\ +\x0b\x1dU\xb1\x08\xf6\x82\xeb\xb8\xaf\x07N\x1cS\xda\x91\ +*\x0c@\xf3\x9cdr/\xc5\x08\x0f\x81k\xb1}7\ +2)\xac_R\xb9|\xa9x\xf8\x89\x0b\xe1\xab!\x81\ +\xbb\x84\x01\xf0\xe1\xd4)\xa6\x9b\x86\xda\x0b\xb6\x84\xbf\x16\ +O[_\xcb<\x04\xb8\xdd\xb0e\xd8\xe4DI\xbe\x81\ +\xf5\x00\x7f\x90\x11\x93\xc9\xdf8\xc2\x0b\x08\xf7$Y\xf4\ +\xcc3@\x99\xfa\xd5\xbc\x90\xe7O\x13\x811)\xea\x0f\ +\x13y\xcdc0\x05\xc7\x10\xfc\xec\x06\xb2<\xd9\x1d\xdc\ +@k\x1b\xe0\x04E\xe6ky\x83\x06\x8f\xeb\xb9(\x1f\ +t\xdf6v\x05{\x8eP\xd1:E=X\x02\xf1Z\ +zx\x0d\xf1\x94\xb8\xe1v\xf0-u\x8f\x11[\x9d\x1b\ +\xd5\xbbZ\xc1\xe4\xaeGV9\xf2S?\xa7S\x03\x9f\ +\x22\xfe+lw\xa8\xa8t\x83\xb8T\x83\x00\x02\x82t\ +\xa2USd\x0chR<2\xd3\xda-\x0a\xf2\xe2\x91\ +\xa9\xb96\x14\x91\x02f\xe7\xab.e\x11\xdeBa\xef\ +\xe1\x89&!\x0eU/\xf1\xae\x09!\x16\xd0\x154Z\ +\x9ew\xc2K\xe8\xe2\x09\xc9]m\xd0ffi\xfd\xbb\ +\x8b\x06Z\xa1\x99\x99[\xb6\xaa`\x0c-\xd6-\xb4\xb5\ +\xa2\xac\xfe\x83\x1eV\xf7yY\xc1|\xed\x1b\x17\xb5\xb7\ +`\x08D\xdfj\xfd\xda\xe4Kq\xd6\x80\x0f\xba\x08\x8a\ +\x8eT\x03\x95W\x0c\xb6\x15\xd5\x851\xe5\x1f$\xf7\x93\ +\x9c\xdc\x94 Jh0a\xf2e\xa3\x04\xd5\xe0ya\ +V\x00a\x1a\x04\xbd@\xb1\xda\x82\xe0\x0c#Udh\ +'\xf5\xd2h\x89\x92\xc6\x15 \xf5\xb4\x08\x8er\x14\xdf\ +\x9f\xfeV\x8b\xda\xdc|'Ask\xf1V\xa2\x8c=\ +cP%*\xfco\x95\xd8\xc6\xf6\xda\x04\xa1\x87\x0b\x16\ +\xces>\xcatZ\xb4\xeb\xc1\x1bb\x06*\xd2\x91^\ +\x93\x13*\x94\x0e\x94\x81\xcf\x97zgJN\xae]\xe0\ +\x86\x22jW\xcd\x7f\xdak\xdcd\x003\xe8l4\x22\ +r\x99QY\xc1\x16B\x19,\x81\x96\x98,\xd8N$\ +\x91$@\xa3\xd8\x94\x5cM\xd4_\x1fS\xfb\xf6\xc5.\ +$\xf4\x9eO\xa7\xa2\xd8\x1e\xa1\xb8\x11/6j\x1d\xf2\ +\x8f\xc5)jT\x81\xe1%\x9f4\x10\x9ag\x85}I\ +.\xc36\xbb\x03\x19\xa0\x07\x83\x19j\x13/\x1dt\x19\ +R\xab\xb6W\x0b^%\x08:\x07\xa3k\xc4\xab\xe1\ +o\x90WZ\x82\xe1\xac(YSW\xa9\x80\xfd\x0a\x08\ +\x0cl\x16&\x0d\xc1\xd5=ra0\xc8\xa2*\x83\x0d\ +h\xb6X\xae\xb0G\x19\xd0\x0c\xb1\xf5\xb8/:\x16\x0a\ +\xa4jWt\x22\xaf`\x81\x00\xb3k5v]\x1b\xc3\ +\xb7\x06\xa2\xa07\x81\x167Ar\xad\x94\x00\x8d\xce\xe0\ +\x08a81&\x84 \x0a\xd36\xfcA\xcd&\xd2N\ +\xf85m\xc2#I\x82\x97n\xd1B\x18\xb6{7\xcf\ +8\x91\x9bE\xb5\x88)\x18\x9b\xae[\xcb\xc6-\x91\x80\ +\x81\xd3Z\x1a\xe4\x94\xa3\xdb\x06|=\xe8\x15\xc4I\xef\ +\x97\x19p\xe0uh\xaf\x89b`\x1c'\xb6-\xc7H\ ++;\xf2\x82m\xda\xc8l-\xb7\x04ms\xeaz'\ +\x92I\xc3\xd7;\xbe\x0f;4\xb4|\x02\xb7U\x89\x0d\ +ej\x95\xdd\x9feda$\x9a\xba\xbe\x16\x1a\xac\xf8\ +\x15H\x8e\xc8\xbbp\xc4\x84\xb9\x18\xd0\x14O\x80\x08b\ +\x02\x03\xfds\xd0\xb1Yf:x\xc4H\xb1J=\xe2\ +\xba\x82m\xd4\x22*\xb0bz\xec\xdeb\xf4\xc9\xbd\x91\ +\x9ah\xca\xe4\xcdjz\x1c ]\x1esx'=\xae\ +@\xc3\xa3\xe0#\x8d\x93\x94Q\x92\xac5\x84\xcd\x99D\ +1\x90\x1e\xa0\x1c\xdb\xab-\xcb\xc7\xc7\xe0}\x88\x117\ +\x06\xe9\x88\xaf\x9a\x15?\xae\x95%\xf4\x8fv\xdb\xda|\ +\xd9\x9b\xa4\x85#.\xb5\x04s\x82\xc01\x1d~\xcc\xaa\ +Xd\xe8\xacC\xf9\xa3\xc2\xa4\x08\x98\x06\x9a.\xa2\xbf\ +m\x90\x1b\x8c\x1e\x81\x05\xf3n4\x0f\x86\xb7\xfb\x82\x1a\ ++\xa0$l\x89\x03\xd5\xc6\xed\xe9M\xcfR\xdc\x10\xa2\ +j)^\x12\xf1\xa1\x17\x9fN|\xda0\xa0U\xc2\xa7\ +\x96\xaf\xa4\x95\xb4\x15\xe2\x0c\xc5\xd9\x04g=QdA\ +\xf9\xff\x8cEd\xfejt\xc09v*\xe1\x00v\xa7\ +\x84\xee\x964n\xc4\xc4\x0ar\xdcu_\xc0\xec\xdc\xec\ +\xf8\x7f\x98\xa7\xdc\x9d\xc7\x0f\xbcsi\xa7\xfeB/\xe6\ +o\xfc#\x90E#\x0f\x10\x8d\xe2s\xe0S\xe7\xe2\x99\ +\x86\x92\xc5*Q\xe5\x80ro\xc0\xc8\x96\x88\xc74Q\ +\xa5J\xba\xc5?,O\xf7\xd3\xad\xa9a\x91+\x05\x01\ +\xe2V\xb4i\xefQ\xb5\xcfP\xe5\x82\xa4\x0c\xa8,b\ +\xdf,\x1a2\x00T]\x126\x07OK\xc6\x11\xa8\x0b\ +,\xfc\xa1[\x8bl\xbd\xe0}\x07\xad\xfa\xc2\xa4q \ +MI\xefq\xf8\x84E_\xd6IJqr\x06\xd7\xc5\ +\xd9\xce\xa1\xcbK\x9c9\xa2\xf2\xdc\xc1R\xe2\xdeh\xfc\ +\x08Zw\x10\x8e\x82\xc4h\x8dN_$\xbbr\x9f\x88\ +\x19\xa1/\x0d\xa1=\xaa:\xa7\xa1'0HT\x9cu\ +\xa32\x82\xa1Up\xac\xd4\x8e\x5c\xf8d\xb1/}\x9b\ +\x89\xee\xa2\xf0\x0e\xe8\xa2\xb5A\xcc\xf5@\xb1W\x00O\ +\x0bE8,\xe3\xf6\x12\xf9\xe2\x15A\x0aOk\xf6\x81\ +1\xe5\x18\x22\xa5\xaevTwR\x5c9<;9#\ +\xf4\x0b\xcd\x90\xc9\x15\xe3L\x18\xc9u7|\xab\x9e\x17\ +\xa0\x8d\xb5\x0c\xb6\x19\x04S_Z\x98w\x8b\xfc,|\ +\x858\xb4\xc1]Y52\x22\xf81\xddlZ\xb3\xef\ +NK\xe6w\xc1\xcal_k\xcd\x00~\xac\x085j\ +na4\xee\xce\x81t@\x19\xaf\x9d\x83\x15\x92\xd6\xd8\ +\x9e\x9d\x03\xd4\x95\x96\x9b,\x83\xa3\xaa\xb4\xbac!H\ +J\x04\x98\xddx\xd1\xdc\x18\x82VS*\x91Dqp\ +\xe7\xeeI#\xf3\xe8\xb6j\x1dkg\x9aV\xad\x83<\ +\xc1\x9e\xc8\x91\xca\xd3\x8e\x16\xb1\xa2U\x8fgH\x81P\ +\xeb\x05\xcb\x12\xa1\xe3\x0d \xb9\xcd\x84]E\xde\xe0^\ +<\xfeeG\x8a\xed\xc0\xfa[\xf2\x12\x0a\xb1\xb02\x11\ +F\xe0\x80\xfb\x86\xe1j5\xa8j\x91\x19\x09T\x05\x22\ +\xf4z\xadc\x11bY\xba\x0d\xdf'\x89\xa56Gk\ +\x22w\xeav\x0b\xc3F\xd7\xf8\xf0\x03\xf6\xf2\x1a\xc9\x93\ +\x92\xc6gxd)\x81\x90|\xa0\x88z\xce\xae\x12~\ +\x8c\xdfP\xd5d\x0b\xca\xe8\xd1\x80\x84\x0c\xe1\x12]\xcb\ +B\xa0\x86\xe7\x15`\xab5\x90\x0a\xf47\xe7\xa9\x99!\ +\x89\xfb\xf8\x01\xb1Gw\xce\xcdD\xb4\xe5\x02ZQX\ +\xb2g@c\x09Ryw\x9d\xad\xa1\x7f\x82\x9e\x821\ +\xe8|-r\xd9\xd7>\xdf$\xa6\xf1.\x8d\x00b9\ +l!\xc3\x8cZ +\x87\xbbPM-<\xe2^\xab\ +dwq\x90\x89/\x7f\xcc^\xd4\x1fc*\x996\xa2\ +\x9b\xa5e\x9cx\xa6\xea\xec\xa0\xcdI\xd9\xa7\xdd\x8a\xa3\ +=:x8c\xcdi\xd0\x1b\xa9Y\xfam\xd3\xcaH\ +\x22\xa3\xf83\x10\x18`\xe1\xccP>\xbd\xf6\x0e.D\ +<\xe6\x08\xa8\xa3\x82\x80\xc6j\xef\x8c\x99O\xe1>r\ +\xe7\xf2\xd4J\xb94\xde\xbe\xde\x1c\x0c7\xda\x05\xc6Q\ +\xf6\xb5\x1c4Z\xb5i\xe7\xb3\x05\x14W\x22\xe7\x84\x98\ +P\x83\xeb\xd2\x85tURU\xc3\xc9\x95\x9a\x1d \x15\ +\xce0\xabk\x11ZC\x22U\x9a3\x83\x9a\xfb8 \ +\x98a`\xb6r\xbfe\xa3uen\xa5us.!\ +QA\x07B\xbe-\x06+l\xd6\xca\xf9\x86\x15L\xb8\ +P\x98\xc1\x87\xfd\x0f\x8f~\xf5\x9d\x8b\xe8\xe9M\x9a6\ +\x99\x5ca*\xe4\xeb\x94[\x95Q\xe8=\xc7\x88\x9c\xa4\ +\xa6%2urh\x22N\x0b.\x80\xbeA\x0f\x01Q\ +%D0P\xb6p/\x8e\x0e\x11\xd16\xaa\xdb\xeb\x89\ +\x15R\xc6I\xbaW\xb7\x1d\x08\xe4\x03\x88r\x03\xfa]\ +\xfb\xc6\x7f\xdcc\xc7\x1d!\x05IOw\xadg\xbf5\ +\xa0|\xb8t9\x8a\xc3\x9f\xf6\xaf)\xc6:0g{\ +j\xf5|Y\x83\xd6\xd6\xbc6zZ6$\xa5\xd1\xf0\ +\xe1 \x22\x93\xc9 \x08\xcd\xb9\xa7E\xfc/\xd0\x11\xf3\ +Z\xb4\x0e\x1c1\xdf^\xf0\x08\xbd\xb5\xe42mdH\ +4\xba\xc6\xce\x9am\x91\xc2:Q+\xaf\xa8\x5c\xa4\xc3\ +a\xaa\x89le\xb2N\xf5\xee\x96\xaf\x1b\x9c\x93\xa2\x1f\ +@o\x04{\xb4\x83C\xdf\x1c\x83\xa8\x99q\x11B\xba\ +'\x22\xd2\xc5\x04\xd3YZK\xff\xa9\xc3\x98\xa1C\xd7\ +9\x8f\x8f\xa6\xcc\x88\x18J\xa7\xa2\xa0\x8e\xd7b\xa6\x05\ +\xd0g\xf3\x06v\xa17%\xda\xe8N\xb4C\x9e\xb4X\ +R\xff\xa1\xb9\x91s\xa8\x16\xa4\x02\xc4\xd1\xf0M\x0d\xc9\ +\x00\x9fP\xe2X\xd4.gQ\xa3D\x0f\xb6\x02\xe3\xb7\ +\xa1.\xbe\x06\xd8p\x87\xa2\x87\x13\xdbD\xd0u\x9ai\ +\xab?\xb5;K\x0dc9\xa2\xd6\x18\xc7\x09\xb4\x1c\x8a\ +\x82\xf2\x86n\xa5\x9d+4d\x9c\x96\xeaH\xed\xd4\xc6\ +\x8ev\xba\x06\xcd\x1f\xe2\x0e\xa0\x9e l\x06\xe2\x86U\ +m3\xf4\x80(\xd5\xda\xf1k\xd1\x16\x1cs\xe4\x99\xee\ +\x07\xad\x0d\xa4\x97GM\xf6\xee\xac!5'~\xe0\xee\ +\x5c\xa1\x99\xb7\x9eD%l\xd8G\x8a\xaf\x93\x17O?\ +-=\xc9\xe6D\xf8\x98\x80$\xc6r[\x0f\xc4\xb5\x83\ +X\xc3Thu\x1cq?\x1a4\xd9\xb4\x12xwZ\ +\xd1\xd8\xc0$*\x1fo\xae\x0d\xa0O\x9f\x042\xf7\xa9\ +\xa5\xf3<\xb5DG\x87,\xf9C\xbe\xdf\x9e\xaa\x80\x5c\ +\xc0\x97\x16\xd0\xbb\xd22D\xdd\xc1QQl+\x19\xed\ +}\x13\xdb\xfaf,n\x0fL\xca\x03\x06\xf3\xdaaA\ +o\xf9q\xd7\xb6BVL\xab6?I\xc5Xw\x15\ +\xd3\x92\x8a\xe1\xc0%Z\x0f\xf8f\x06\xb4\x17i7h\ +\x06l\x11|\x90\x226\xe2\xb5f\x0b\x9b~h\xf5\x80\ +\xd0\x04\xb8\xb3G\xdd\xe9\xb9\xc1}\xb7$6\x83\xd2\x83\ +\xe1\xbbSBf\xea\xd9\xf2\xf5\x1f>3\x80\xf2\x22\xe5\ +GOS\x1a=\xfcB}\xc0E(\x12\x04s^-\ +k\xdfjC\xca\xa1\xae\xd9\xe5\xb2\xbd*\x1e\xb8\xd3\x7f\ +\x90\x22\x10p\xe2Y\x04s\xc8\x01\xc48\xf22\xb4\xa5\ +\x9eu\xa4\xae\xf4\x08Kn\xc8\xf9\xb1\x93Oz\x18\x19\ +}#\xa7G\xebo\x22\x03\x80`\xeb\xb5.<\x22\xaa\ +a\xa7\x94s\xa1\xc0\xc0Vj\xd7\xa4\x8eo`jE\ +a\x86\xac\x91\x08\x1b\x00\x0d\xd4\x11BY\x9b+\xc8\x0d\ +4\x88\x5c\x0d\x15\x88\xc0@*\xe89\xc7\xa0\x07\x04N\ +\x81\x17\x81=Oe\xa3\x08\xe1\xd65igl4\xc6\ +S\xef\x03\xb6\x05O\xc8\xc0b\x5c\x11\x8d\x94\x11\x0c\x07\ +\xd3\xe8\x1e\x19\x16z\xd3F\xac\xb6\xd8P#\xb833\ +\xd0\xa1\x8dXh\xe3\xc6\xa3\x06b\xd3\x86O_\xafe\ +=\xadQ|\xe5\xd1\xc1f\x9a\xa7, \x9a\x80\xd5A\ +qi\x9f\xaf\xe9\xc9\xcfp\xf7\xf9\xa0\xa4\x93U\x04\x91\ +\x1a\xc2c0Cq\xfe\xddF@\xf2R\x96\xdaF\xa0\ +\xff\xf1\xfd\xf5\xaemR\x1a\x5c\x04\xd69 UM2\ +Q\x05\xb5+\xd7A\x84\x10LL4\x92+\x87\x05\xbf\ +\xbb\x15J\xbb\x9bX[\x04\xc5\xca\x0eU\x8b\x1d\x06\xfa\ +\x98\x5c\xc3~\x96_\xbe\x01S\x03>zp#\xd1\x8d\ +\xda\x0fh\xe90\xf8\x94\xd5\xf7\xf86I\x0eZ\xd5\x88\ +\x8b\x8e6\x97\xee^\xf2\xb9j\x13\x91-\xad)\xe3_\ +\x9e\x85\xe8\x83\x16\x0a\x0fWk\x99WL\x9d\x9fU\xad\ +\xf1P\x837\xf4)2\xe3>G\xb5\xf5\xfc*\xff8\ +J\x9e\xb6\xcf\xab\x8c\xbf\xd7sM\x1c\x04\x07^k\x80\ +\xe7Y\xcf\x81\xdc\x9e'\xcc\x86\x1e$\xba\xfb\x22L\xe6\ +\xae\xc1\x1c\xad/\xcaIB\xccCHt\xb2\xcf\x9e\x89\ +\xdc\x85z\x94\x19\x1a\xe3\xb3q=\x1b,\xfe\xedy\xa8\ +\x8f\xf3\xba\x1a\xfay\x8c\x8a\x99\xad\x86\xf8:t\xbe+\ +\xab\x95\x85\x22t\x0b\xa0\x0e\xd2\xe1COh\xca\x88\xfe\ +8$\x22\xe2\x9e\x07\xa2\xfe4)\x95\x1c0][\x1d\ +h\xb7}\x0c\xc8\xf2\xaf\x03\xcd|\xb2IP\xd0\x97\xa2\ +|\x87\xc3e_1\xbe\x11\xfea.\xe6\x87\xc9|!\ +\xbe\x8fF\xd3j\xe0\x1d\xce\x13\xdc;\x13\xf3\xc9T\xfe\ +\x14Y\xfb6\x9c\x1f\xf3m\xfeI\xf8\x1f'\xf3sl\ +\x7f\x08\xed\x93m\xf3y\xba\xff<\xa1\xfcSp\xcd\xf7\ +k\xf8\xf7%l\xbe_\xc3\xbf/a\xf3\xfd\x1a\xfe}\ +\x09\x9b\xef\xd7\xf0\xefK\xd8|\xbf\x86\x7f_\xc2\xe6\xfb\ +5\xfc\xfb\x126\xaf\xf8\x22\xe0`bW\xa5\xe9e\x82\ +p\xc8q\x04\x84\xc5\xb4H\xeb\xde|\x19z\x8c\xa60\ +\xa3\xa2M\xa8\xa5Uk\xfd_;9#;\xd1\x0a\x06\ +_}\x9f\x9a\xc0\x19bc\xa1\xc3)\x0d\x0a\xa4\x8b\xb1\ +H\x9d\x1e\xdf\xc0^\xae,\xf9\x81\xa4\xc8\xe2\xb5]\xf0\ +\x94\ +\x89\x085\xde\x95o\xff\xf0\xfe\xdd\xef\xfcQ\x0a\x98\x7f\ +\xff\xdc\xe1\x7f\xe5\x85(\x1el\x87\xb5\xe6\xff\x015\x94\ +3\xa6\xf6\xe2\x8e\xf3\x00\x00\x01\x85iCCPIC\ +C profile\x00\x00x\x9c}\x91=\ +H\xc3@\x1c\xc5_S\xa5R*\x0ev\xa8\xe2\x90\xa1\ +\x8a\x83\x05Q\x11G\xadB\x11*\x84Z\xa1U\x07\x93\ +K\xbf\xa0IC\x92\xe2\xe2(\xb8\x16\x1c\xfcX\xac:\ +\xb88\xeb\xea\xe0*\x08\x82\x1f \xae.N\x8a.R\ +\xe2\xff\xd2B\x8b\x18\x0f\x8e\xfb\xf1\xee\xde\xe3\xee\x1d \ +\xd4\xcbL\xb3\xba\xc6\x01M\xb7\xcdT\x22.f\xb2\xab\ +b\xe0\x15~D\x10\xc4(\x06df\x19s\x92\x94\x84\ +\xe7\xf8\xba\x87\x8f\xafw1\x9e\xe5}\xee\xcf\xd1\xab\xe6\ +,\x06\xf8D\xe2Yf\x986\xf1\x06\xf1\xf4\xa6mp\ +\xde'\x0e\xb3\xa2\xac\x12\x9f\x13\x8f\x99tA\xe2G\xae\ ++M~\xe3\x5cpY\xe0\x99a3\x9d\x9a'\x0e\x13\ +\x8b\x85\x0eV:\x98\x15M\x8dx\x8a8\xaaj:\xe5\ +\x0b\x99&\xab\x9c\xb78k\xe5*k\xdd\x93\xbf0\x94\ +\xd3W\x96\xb9Ns\x08\x09,b\x09\x12D(\xa8\xa2\ +\x842l\xc4h\xd5I\xb1\x90\xa2\xfd\xb8\x87\x7f\xd0\xf5\ +K\xe4R\xc8U\x02#\xc7\x02*\xd0 \xbb~\xf0?\ +\xf8\xdd\xad\x95\x9f\x9ch&\x85\xe2@\xf7\x8b\xe3|\x0c\ +\x03\x81]\xa0Qs\x9c\xefc\xc7i\x9c\x00\xfeg\xe0\ +Jo\xfb+u`\xe6\x93\xf4Z[\x8b\x1e\x01}\xdb\ +\xc0\xc5u[S\xf6\x80\xcb\x1d \xf2d\xc8\xa6\xecJ\ +~\x9aB>\x0f\xbc\x9f\xd17e\x81\xfe[ \xb8\xd6\ +\xec\xad\xb5\x8f\xd3\x07 M]%o\x80\x83C`\xa4\ +@\xd9\xeb\x1e\xef\xee\xe9\xec\xed\xdf3\xad\xfe~\x00p\ +\xa2r\xa6'\xfd-\xde\x00\x00\x0d\x1aiTXtX\ +ML:com.adobe.xmp\ +\x00\x00\x00\x00\x00\x0a\x0a \ +\x0a \ +\x0a \x0a \x0a \x0a \x0a \x0a \x0a \x0a\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \ +\x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a\ + \ + \ + \ + \ + \ + \ + \x0a \ + \ + \ + \ + \ + \ + \x0a \ + \ + \x0a\x88u\x1fu\x00\x00\x00\ +\x09pHYs\x00\x00\x10\xdf\x00\x00\x10\xdf\x01tU\ +^0\x00\x00\x00\x07tIME\x07\xe7\x03\x18\x0a)\ +\x0a\xbc\x9cw\x19\x00\x00\x02\xdfPLTE\x00\x00\x00\ +\x00\xff\xff\x00\xff\x80U\xff\xaa@\xbf\x803\xcc\x99+\ +\xd5\x80$\xdb\x92 \xdf\x809\xe3\x8e3\xe6\x80.\xe8\ +\x8b+\xd5\x80$\xdb\x803\xdd\x880\xdf\x80-\xe1\x87\ ++\xe3\x80(\xe4\x86&\xd9\x801\xdb\x86,\xde\x85+\ +\xdf\x8a)\xe0\x85'\xe2\x89/\xe3\x84.\xdb\x89,\xdc\ +\x84+\xdd\x88)\xde\x840\xdf\x87.\xe0\x83-\xe1\x87\ +,\xdb\x83+\xdc\x87)\xdd\x83/\xdd\x86.\xde\x83-\ +\xdf\x86,\xe0\x83+\xe1\x86*\xdb\x82.\xdc\x85-\xdd\ +\x82,\xde\x85+\xde\x88+\xdf\x85*\xe0\x87.\xe0\x85\ +-\xdc\x87,\xdd\x84+\xdd\x87+\xde\x84*\xdf\x86.\ +\xdf\x84-\xe0\x86,\xdc\x84+\xdc\x86+\xdd\x84.\xde\ +\x86-\xde\x84-\xdf\x86,\xdf\x83+\xe0\x85+\xdc\x83\ +.\xdd\x85-\xdd\x83,\xde\x85,\xde\x87+\xdf\x85+\ +\xdf\x87-\xe0\x85-\xdd\x86,\xdd\x85,\xdd\x86+\xde\ +\x84+\xde\x86-\xdf\x84-\xdf\x86,\xe0\x84,\xdd\x86\ ++\xdd\x84+\xde\x86-\xde\x84,\xde\x85,\xdf\x84+\ +\xdf\x85+\xdd\x84-\xdd\x85,\xde\x85,\xde\x86+\xde\ +\x85+\xdf\x86-\xdf\x85-\xdd\x86,\xdd\x85,\xde\x86\ ++\xde\x85+\xde\x86-\xdf\x85,\xdf\x84,\xdd\x86+\ +\xdd\x84+\xde\x85-\xde\x84,\xde\x85,\xdf\x85+\xdf\ +\x84+\xdd\x85-\xdd\x84,\xde\x85,\xde\x84,\xde\x85\ ++\xdf\x86-\xdf\x85-\xdd\x86,\xdd\x85,\xde\x86,\ +\xde\x85+\xde\x86-\xde\x85-\xdf\x86,\xdf\x85,\xdd\ +\x85+\xdd\x84+\xde\x85-\xde\x84,\xde\x85,\xde\x84\ +,\xdf\x85+\xdf\x84+\xdd\x85-\xdd\x84,\xde\x84,\ +\xde\x85+\xde\x86+\xdf\x85-\xdd\x86,\xdd\x85,\xde\ +\x86,\xde\x85+\xde\x86-\xde\x85,\xde\x85,\xdf\x85\ +,\xdd\x85,\xdd\x85+\xde\x85-\xde\x84,\xde\x85,\ +\xde\x84+\xdd\x85-\xde\x84,\xde\x85,\xde\x84,\xde\ +\x85,\xde\x86+\xdf\x85-\xdf\x86,\xdd\x85,\xde\x86\ +,\xde\x85,\xde\x86-\xde\x85,\xde\x85,\xdf\x85,\ +\xdd\x85,\xdd\x85+\xde\x85-\xde\x85,\xde\x85,\xde\ +\x84,\xde\x85,\xdf\x84+\xdd\x85-\xde\x84,\xde\x85\ +,\xde\x84,\xde\x85+\xde\x85-\xdf\x86,\xdd\x85,\ +\xde\x86,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xdf\ +\x85,\xde\x85,\xde\x85-\xde\x85,\xde\x85,\xde\x85\ +,\xde\x85,\xdf\x85,\xdd\x85-\xde\x84,\xde\x85,\ +\xde\x84,\xde\x85,\xde\x86,\xde\x85-\xdf\x86,\xdd\ +\x85,\xde\x85,\xde\x85,\xde\x85+\xde\x85,\xde\x85\ +,\xdf\x85,\xde\x85,\xde\x85+\xde\x85,\xde\x85,\ +\xde\x85,\xde\x85,\xde\x85,\xdd\x85-\xde\x85,\xde\ +\x85,\xde\x84,\xde\x85,\xde\x86,\xde\x85,\xde\x85\ +,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\ +\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\ +\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85,\xde\x85\ +,\xde\x85,\xde\x85,\xde\x85,\xde\x85\x1ci\x96\x02\ +\x00\x00\x00\xf4tRNS\x00\x01\x02\x03\x04\x05\x06\x07\ +\x08\x09\x0a\x0b\x0c\x0e\x0f\x10\x11\x12\x13\x14\x15\x17\x18\x19\ +\x1a\x1b\x1c\x1d\x1e\x1f !\x22#$%&'()\ +*+,-./0123456789\ +:;<=>?@ABCDEFGHI\ +JKLMNOPQRSTUVWXY\ +Z\x5c]^_`abcdefhijk\ +lmopqrstuvwxyz{|\ +}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8b\x8c\x8d\ +\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9f\ +\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\ +\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbc\xbd\xbe\xbf\xc0\ +\xc1\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\ +\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdc\xdd\xde\xdf\xe0\xe1\xe2\ +\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\ +\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\x88\x04\x8a\x05\ +\x00\x00\x00\x01bKGD\x00\x88\x05\x1dH\x00\x00\x09\ +vIDATx\xda\xed\x9d\xf9_UE\x18\xc6\x0f\ +\x8ak\xd2&Y\xeeK\x0be\x92\x91\xa5\xa5\x94\x8a\x9a\ +\x99\xa6Yi\x0b\xe6Jfj\x8bXR\x16b\xde\x8a\ +\xd2\x16\xcb\x12\x836\xcd\xca\xa5\x05\x13\xc3\x0c\xcd\xc4\xd4\ +J\x055KD\xad@\x13Q\x90\xcb\x9d? \xf9T\ +Z\xcc{\xce\x9d\x99{\xb9s\xde;\xef\xf3\xabg\x9e\ +\x99\xe7\x8b\xf7\x9c3s\xde3\xc7\xb2H$\x12\x89D\ +\x22\x91H$\x12\x89D\x22\x91H$\x12\x89D\x22\x91\ +H$\x12\x89D\x22\x91H$\x92\xb1\xea\x7f\x9c\x85\xbd\ +L\xcf\xef\x04\xa0\x9f\x09\xf9\x99\xe9\xf9\x99\xe9\xf9\x99\xe9\ +\xf9\x99\xe9\xf9\x99\xe9\xf9\x99\xe9\xf9\x99\xe9\xf9\x99\xe9\xf9\ +\x99\xe9\xf9\x99\xe9\xf9\x99\xe9\xf9k\x03\x88?\xc6\x8c\x06\ +`^~fz~fz~fz~fz~f\ +z~fz\xfe\x7f\x01\xc4\x971\xa3\x01\x98\x9b\x9f\x99\ +\x9e\x9f\x99\x9e\xbf\x06@/\x93\xf33\xd3\xf33\xabO\ +y\x1d\xb8V\xee\xca\xc9\x98y\xff\xa0\x84\xeb\xe2:\xb6\ +k\xd9!6\xaeo\xff{\xa6\xbd\xba\xf2\x87?\xdd\x08\ + \xe8\xf9\x0b2'v\x8d\xb4Ymo;\xf2\xa5\xf5\ +\x15.\x03\x10T\xb7\xaa\xec1\xcd\xfd=rn\xd4\x7f\ +aI\x98\x02\xc8\x1d\x7f\xbe\xd8c\xf7\x06\x03\x17\x1d\x0f\ +;\x00\xde\xb7\xaf\x92)=\x88~\xf2\x8f\xf0\x02\xb0\xf4\ +2\xd9\xea\x8b\xa8\xd4\xf2\xf0\x01P\xd8O\xa5\x00\xa5\xdd\ +\x8ap\x01\x90y\x96b\x0dN\xe2\xd1p\x00P>B\ +\xbd\x0a\xe9\x92\x9d\xfe\xfdWyj\xeb\x90\xab\x00\x14\xc7\ +\x05R\x87uN\x8e\xdf\x0e&r\x8d\xbew\x13\x80\xe2\ +\xcb\x03\xabDk\xb4\x0c7\x80\x83\x9d\x02\xad\xc5k\xb8\ +\x1a3\x80\xb2k\x02\xafF\x8c\xda\x8a\x18\xc0}\xc1\xa8\ +\xc7l[\x82\x16\xc0[\xc1\xa9H\x1d\x8e\x15\xc0\x81s\ +\x82T\x93\xbb\x0c)\x80;\x9dB]<2%#w\ +S\xc1\xde\xe2\xdd\xf9y\x1f\xce\x19\xd7#\xd2\xe1\xd8\xd6\ +e(\x01|f\x1b(rX\xe6>\xee|\xf9\xc5d\ +\xfb\xc9\xe2T\x8c\x00*\xdb\xdb\xa49?\xad\x18nQ\ +\xf1\xee\xd5v\xc4\xb6#\x04\xb0\xd0f\xb2?\xe1w\xfb\ +6\xbe\xcc\x166\xb3\x02|\x00\xbc\x17\xc3\xd7\xb4|\xe7\ +f\xa5\x03\xe1\xff\x02{\xd0\x01x\x1f\x0cr\xd3o\xfe\ +\xdaUO\x07\x1b>\x80\x0d\x80\xaf\x0b\x14\xa3\xa7\xc8R\ +\xd7\x0c\xa8e\xe3\x83\xc8\x00\xe4A)\xae,\x15b7\ +\x16j\xfb\x022\x00I\xd0\xcc\xee'\xc1\xebGg\xa0\ +q,.\x00\x95\xd05\xfd9\xd1\xd6\x9b\x1b\x00\xad\xb7\ +\xa2\x02\xb0\x14Hpy\x95p\xf3\x07\x81\xe6\x8f\xa2\x02\ +0\x14H\xf0\xbex\xf3_\x1b\xf2\xcd[\xfa\x10\x01\xa8\ +l\xc6\x07\x88\xa9\x960\x80\xce\x83\xdb\x10\x01\xc8\x05\xc6\ +?_\xc6`\xab\xf8u\xc0\x95\x00\x80Ky\xe3R)\ +\x87X\xdea\x00\x22\x00\xdd\xf8\xe1\x8f\x90sH\xe7\x1d\ +\x9a\x9c@\x03\xa0\xa4>?\xfc\x8f\xe5,\xf6\x01\xbf\x81\ +\xff,\x8f\x96L8-~\xd9y\xf8\x04H\xd3B\x08\ +\xe0S`\x12xD\xd2\x03XN\x9f}\xe6_\x7f\x91\ +_V\xba(\x84\x00R\x81Y\x90\xac\xc7T\xde\xe3\x0e\ +4\x00n\xe7\xbb\x9f#\xeb\xf19\xef\xd1\x11\x0d\x80\xb6\ +|\xf7ke=J#8\x8f\x88R$\x00\xfe\xe0{\ +\xaf'\xff\x9c\x17x\xa6\x94\x8b\x04\xc0j`\x1e \xef\ +2\x92w\x99\x8b\x04\xc0\xebRkzvz\x9ew\x99\ +\x84\x04\xc04\xbe\xf7g\xe5]V\xf0.\xb7\x22\x01\x00\ +<\x10Y*\xef\xb2\x83w\xe9\x8c\x04@7\xe1\x99\x9c\ +\xe3\x8c\x92\xbf\x9d<\x0b\x09\x80h\xfe\x02\xa6R\xf1\xd5\ +\x81\x0fq\x08\x05\x802\xa0\xecO\xa5\xef\x1by\x9fo\ +Q\x00(\xe0;\xef\xa2\xd27p\x1d\x5c\x8e\x02\xc0z\ +\xe1\xa9\xbc\xb3\xa6\xf0>\x19(\x00\x00w\xf1\xa3T\xfa\ +\xf6\xf0>\xe9\xff\xfe\xdb\xa1\x84\xd3j\xc5\x1du]\x02\ +\xa4\x11!\x03\x90\xc5\x0f\x5ci.\xbe\x88\xf7\x99\x81b\ +Ad\xae\xe3L^\x5c\x1f\xf3>\x13Q\x00\x98\xc9\x0f\ +\xfc\x95 M)F\xa2\x00\xf0\x10?\xf0E*}o\ +\x046\xb0C\x01`\x5c\xc0\x0b\x82\xb6\xf7\xc2\xf1(\x00\ +\x8c\xe2\x07\xfe\xa5J\xdfE\xbcOw\x14\x00\xeevZ\ +\xc9\x90\xd0o\xbcO\x1c\x0a\x00\xc3\xf9\x81\xafS\xe9\xbb\ +\x14(0@\x01`\x08?\xf0\x0d*}\x1f\xe5}.\ +E\x01\xe0f~\xe0\x9bT\xfa>\xc1\xfbt@\x01\xa0\ +/?\xf0-*}W\x01\x8f\xc8Q\x00H\xb0\x823\ +$/P3\x8b\xf5'\xf0\x9dJ\xdf\x15@\x811\xd6\ +\x93\xe0z\x95\xbe\xcb\x9c\x16\x05M\xb8\x0c\x1e\xc6z\x1f\ +\x10\xac\x1b\xa1\xdfy\x9f\xebQ\x00H\xe4\x07\xbeJ\xa5\ +\xefb\xde\xa77\x0a\x00@\x81\xd3G*}\x17\xf2>\ +\x03\xb1N\x873T\xfa\xce\xe7}\x86b]\x10yY\ +\xa5\xef\x5c\xb1B#\xf7\x01\x98\xc7\x0f\x19\xeeM\xebh\xd3\xa4\xde&\xb9\x1f\ +\xdb\x0c7\x00`\xb7\xd9\xbf\xc0\xd4ztF\xe1\xff\x0f\ +>\xf2\xd9\xe3=\x22l\x8fO\x92\x5c9\xb0\x06o\xf4\ +\xe9\x07P\x14\xe5\xf8\x16W\xe3\x98A\xe3\xa7\xa5x<\ +\xa9\xc9\x0f\xdeum\xb4\xe3\xa1\xed\x1d\x1f,e\x81m\ +.\xb8{\xca\xactOJr\xd2\xf8;\x87%\xf4\x8a\ +\x8b\xe90$\xe4\x00\xa0\x85m%\xd5w.2\xdb%\ +\xe6\x12\x1bz\x00\xd5\xbd\x82\x03\xe0\x05?\xfd\xb4\x11r\ +i\x1fz\x00\xac\xe8\x82`\xe4\xbf\xd7_7\xf7\x0b\xd9\ +\x9c\xa7\x01\x00[\xd7$\xf0\xfc\xb7T*,AB\x93\ +\x09\x9f\x06\x00le\x83@\xf3\xf7\xf1\xbf\x0b\xe7\xc9h\ +!\xa7c:\x00\xb0\xe5\x8d\x03\xcb?\x5cd\x17\xd2d\ +!\xab\xfdZ\x00\xb0\xb5\xcd\x03\xc9?Uh\xfexH\ +\xe8#&\xdb\xf5\x00`{\xd5\xbf\xb1q\xf6\x12\xc1>\ +\x9e\x14q\xdb\xa0\x09\x00;\x99\x12\xa9\x08@\xf8=\x8b\ +\xcaX\x01\xb7U\xba\x000\xb6%^\x0d\xc08\xe1\x1e\ +\x0a[\xf8w[\xa2\x0f\x00\xf3\xadP\xba'\x8a\x10\x7f\ +\xc4\xb1\xedB\xbfn\x0b5\x028\xa5\xbca\xf5\xe4\x09\ +t>)\xec\x7f\xa0\xb7?\xb3t\xbd\x00\x18\xfb9\xbd\ +\xa74\x03\x89M\xe8\xaa3[;{\xcd\xd4\x0d\xa0\xe6\ +\xcf\xf4\xc6\xb0VR\x00\x9a\xee\x91p\xafx'\xdev\ +F\xdd\xac\xfb\x84\x5c\x17\x00\xa8Q\xf1\xf2\x94\xc1W\x9e\ +\xcb\x8f\xb0\x1f\xb8\x1f\xff@I\xc2o'v\xa9u\xf3\ +\x19}\xc3\xe89\x1f\xed\xaaV\x1cm\x1d\x00\xf8[e\ +?e/^0\xdf\x93\x96\x9c\xfc\x8cg\xc1\xa2%_\ +\xfd\xeacy\xe0\x0fd\xb1\xfcew{NV\xba\xe7\ +\x89\xe4\xe9\x9e\xb9Ykv\x04\xf8\xcd\xd8:\x03\x00i\ +\x1c\x04\xa0\xc5a\xa6S!\x05P\x02\xde5O2\x07\ +\x00{\x13\x5c\x10\xcd3\x07@5\xf4P\xd4\xear\xd2\ +\x18\x00l\x1b8kx\xd1\x1c\x00l2x3\xf0\xb3\ +9\x00\x8e\x82O\x86\x86\x9a\x03\x80\xbd'\xf9d0\xec\ +\x00@\x1bp\xf8\xf9\xdaZ]\xaa<\xf4\x00\x0a\x1bA\ +\x04\x1e\xd6\x94\xbfo\xe8\x01\xc0\xdfY\xaa\xbfYS~\ +\x0d\x00\x8e\x83_\xa9\xeb\xe6\xd5\x93_\x03\x00hG\xca\ +SzMO~\x1d\x00\xa0]X,+\xaaHK~\ +-\x00\xf6\x82UR\x8fh\xc9\xaf\x05\x00\x9b\xcd\xc7\xbf\ +:\xd3\xab%\xbf\x1e\x00\x95\xb5k\xc5{\xae\x0c\xf5\x99\ +\xf8\xf4\xed\x88\x9e\xeb\xef\xda\xff\xae\xed\xd5\x1b\xbc1\xe4\ +W\xa23\xdb\x81i\xba\x03;Sl\xdd(\xb1\x80i\ +\xcc\xaf\x0b\xc0\xc1\x7f\xbe\xd9\x1c5\xb9\x98i\xcd\xaf\x0b\ +\xc0\xdf;\xb1\xb4x\xfa\x08\xd3\x9c_\x1b\x00oW\xab\ +\xd3\xbc\x13L{~m\x00X\xfe\xb2j\xe6\x82\xfc\xfa\ +\x00hR\xed\xfc\x96\xe9\xf9-\xd3\xf3[\xa6\xe7\xb7L\ +\xcfo\x99\x9e\xdf \x00\x15\x83,\xa3\x01\xd8\xe4\xb7L\ +\xcfo\x99\x9e\xdf2=\xbfez~\xcb\xf4\xfc\x96\xe9\ +\xf9-\xd3\xf3\x93H$\x12\x89D\x22\x91H$\x12\x89\ +D\x22\x91H$\x12\x89D\x22\x91H$\x12\x89D\x22\ +\x91H$RX\xeb/\xa5p6\xac\x5c\xb9\xe4\xd3\x00\ +\x00\x00\x00IEND\xaeB`\x82\ +" + +qt_resource_name = b"\ +\x00\x06\ +\x07\x9e\x88\xb4\ +\x00s\ +\x00h\x00a\x00r\x00e\x00d\ +\x00\x0c\ +\x00V'\xdc\ +\x00C\ +\x00h\x00e\x00c\x00k\x00B\x00o\x00x\x00.\x00q\x00m\x00l\ +\x00\x0d\ +\x01\xb8P\x9c\ +\x00T\ +\x00e\x00x\x00t\x00F\x00i\x00e\x00l\x00d\x00.\x00q\x00m\x00l\ +\x00\x09\ +\x08\xbf\xf4\xdc\ +\x00L\ +\x00a\x00b\x00e\x00l\x00.\x00q\x00m\x00l\ +\x00\x1a\ +\x04'S\xdc\ +\x00S\ +\x00i\x00m\x00p\x00l\x00e\x00L\x00a\x00u\x00n\x00c\x00h\x00e\x00r\x00D\x00e\x00l\ +\x00e\x00g\x00a\x00t\x00e\x00.\x00q\x00m\x00l\ +\x00\x10\ +\x09\x8e}\x5c\ +\x00L\ +\x00a\x00u\x00n\x00c\x00h\x00e\x00r\x00L\x00i\x00s\x00t\x00.\x00q\x00m\x00l\ +\x00\x0a\ +\x0a\xce\x15\xdc\ +\x00S\ +\x00l\x00i\x00d\x00e\x00r\x00.\x00q\x00m\x00l\ +\x00\x12\ +\x06\xc0(<\ +\x00F\ +\x00l\x00i\x00c\x00k\x00r\x00R\x00s\x00s\x00M\x00o\x00d\x00e\x00l\x00.\x00q\x00m\ +\x00l\ +\x00\x06\ +\x07\x03}\xc3\ +\x00i\ +\x00m\x00a\x00g\x00e\x00s\ +\x00\x06\ +\x07\x84+\x02\ +\x00q\ +\x00m\x00l\x00d\x00i\x00r\ +\x00\x0a\ +\x09\xcc\x1a\xdc\ +\x00T\ +\x00a\x00b\x00S\x00e\x00t\x00.\x00q\x00m\x00l\ +\x00\x0a\ +\x0d\xd0R\xdc\ +\x00I\ +\x00m\x00a\x00g\x00e\x00s\x00.\x00q\x00m\x00l\ +\x00\x0a\ +\x0bhq\x5c\ +\x00B\ +\x00u\x00t\x00t\x00o\x00n\x00.\x00q\x00m\x00l\ +\x00\x0d\ +\x0b]\x12\x87\ +\x00c\ +\x00h\x00e\x00c\x00k\x00m\x00a\x00r\x00k\x00.\x00p\x00n\x00g\ +\x00\x07\ +\x0auW\xa7\ +\x00t\ +\x00a\x00b\x00.\x00p\x00n\x00g\ +\x00\x08\ +\x07\x9eZG\ +\x00b\ +\x00a\x00c\x00k\x00.\x00p\x00n\x00g\ +\x00\x08\ +\x0c\xf7Y\xc7\ +\x00n\ +\x00e\x00x\x00t\x00.\x00p\x00n\x00g\ +\x00\x11\ +\x02G!g\ +\x00s\ +\x00l\x00i\x00d\x00e\x00r\x00_\x00h\x00a\x00n\x00d\x00l\x00e\x00.\x00p\x00n\x00g\ +\ +\x00\x0b\ +\x05R\xbf'\ +\x00q\ +\x00t\x00-\x00l\x00o\x00g\x00o\x00.\x00p\x00n\x00g\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x00\x12\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +\x00\x00\x01\x87\xc7\xa1\xf0\xe5\ +\x00\x00\x000\x00\x00\x00\x00\x00\x01\x00\x00\x06\xd5\ +\x00\x00\x01\x87\xc7\xa1\xf0\xe5\ +\x00\x00\x00h\x00\x01\x00\x00\x00\x01\x00\x00\x0b\xec\ +\x00\x00\x01\x87\xc7\xa1\xf0\xe5\ +\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x1fg\ +\x00\x00\x01\x87\xc7\xa1\xf0\xe5\ +\x00\x00\x01\x0c\x00\x02\x00\x00\x00\x06\x00\x00\x00\x0e\ +\x00\x00\x00\x00\x00\x00\x00\x00\ +\x00\x00\x01\x1e\x00\x00\x00\x00\x00\x01\x00\x00&X\ +\x00\x00\x01\x87V\x12\x92B\ +\x00\x00\x00P\x00\x00\x00\x00\x00\x01\x00\x00\x0b\x1c\ +\x00\x00\x01\x87\xc7\xa1\xf0\xe5\ +\x00\x00\x00\xa2\x00\x01\x00\x00\x00\x01\x00\x00\x0f)\ +\x00\x00\x01\x87\xc7\xa1\xf0\xe5\ +\x00\x00\x010\x00\x00\x00\x00\x00\x01\x00\x00'\x9f\ +\x00\x00\x01\x87\xc7\xa1\xf0\xe5\ +\x00\x00\x00\xc8\x00\x00\x00\x00\x00\x01\x00\x00\x14\xce\ +\x00\x00\x01\x87\xc7\xa1\xf0\xe5\ +\x00\x00\x01d\x00\x00\x00\x00\x00\x01\x00\x0039\ +\x00\x00\x01\x87\xc7\xa1\xf0\xe5\ +\x00\x00\x01J\x00\x00\x00\x00\x00\x01\x00\x000\xbf\ +\x00\x00\x01\x87V\x12\x92B\ +\x00\x00\x01\xde\x00\x00\x00\x00\x00\x01\x00\x00H\xdd\ +\x00\x00\x01\x87V\x12\x92B\ +\x00\x00\x02\x06\x00\x00\x00\x00\x00\x01\x00\x00LX\ +\x00\x00\x01\x87V\x12\x92B\ +\x00\x00\x01\xb2\x00\x00\x00\x00\x00\x01\x00\x00=D\ +\x00\x00\x01\x87V\x12\x92B\ +\x00\x00\x01\x9e\x00\x00\x00\x00\x00\x01\x00\x00<\x0b\ +\x00\x00\x01\x87V\x12\x92B\ +\x00\x00\x01~\x00\x00\x00\x00\x00\x01\x00\x008\xde\ +\x00\x00\x01\x87V\x12\x92B\ +\x00\x00\x01\xc8\x00\x00\x00\x00\x00\x01\x00\x00C~\ +\x00\x00\x01\x87V\x12\x92B\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x03, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/quick/window/AllScreens.qml b/examples/quick/window/AllScreens.qml new file mode 100644 index 0000000..25438f2 --- /dev/null +++ b/examples/quick/window/AllScreens.qml @@ -0,0 +1,42 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +Column { + id: root + spacing: 8 + + Label { + text: "Total number of screens: " + screenInfo.count + font.bold: true + } + + Flow { + spacing: 12 + width: parent.width + + Repeater { + id: screenInfo + model: (Qt.application as Application).screens + Label { + required property string name + required property int virtualX + required property int virtualY + required property var modelData // avoid shadowing Label.width and height + + lineHeight: 1.5 + text: name + "\n" + virtualX + ", " + virtualY + " " + modelData.width + "x" + modelData.height + } + } + } + + Component.onCompleted: { + var screens = (Qt.application as Application).screens; + for (var i = 0; i < screens.length; ++i) + console.log("screen " + screens[i].name + " has geometry " + + screens[i].virtualX + ", " + screens[i].virtualY + " " + + screens[i].width + "x" + screens[i].height) + } +} diff --git a/examples/quick/window/CurrentScreen.qml b/examples/quick/window/CurrentScreen.qml new file mode 100644 index 0000000..1f4da7f --- /dev/null +++ b/examples/quick/window/CurrentScreen.qml @@ -0,0 +1,83 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls + +Item { + id: root + width: 400 + height: propertyGrid.implicitHeight + 16 + + function orientationToString(o) { + switch (o) { + case Qt.PrimaryOrientation: + return "primary"; + case Qt.PortraitOrientation: + return "portrait"; + case Qt.LandscapeOrientation: + return "landscape"; + case Qt.InvertedPortraitOrientation: + return "inverted portrait"; + case Qt.InvertedLandscapeOrientation: + return "inverted landscape"; + } + return "unknown"; + } + + Grid { + id: propertyGrid + columns: 2 + spacing: 8 + x: spacing + y: spacing + + //! [screen] + Label { + text: "Screen \"" + Screen.name + "\":" + font.bold: true + } + Item { width: 1; height: 1 } // spacer + + Label { text: "manufacturer" } + Label { text: Screen.manufacturer ? Screen.manufacturer : "unknown" } + + Label { text: "model" } + Label { text: Screen.model ? Screen.model : "unknown" } + + Label { text: "serial number" } + Label { text: Screen.serialNumber ? Screen.serialNumber : "unknown" } + + Label { text: "dimensions" } + Label { text: Screen.width + "x" + Screen.height } + + Label { text: "pixel density" } + Label { text: Screen.pixelDensity.toFixed(2) + " dots/mm (" + (Screen.pixelDensity * 25.4).toFixed(2) + " dots/inch)" } + + Label { text: "logical pixel density" } + Label { text: Screen.logicalPixelDensity.toFixed(2) + " dots/mm (" + (Screen.logicalPixelDensity * 25.4).toFixed(2) + " dots/inch)" } + + Label { text: "device pixel ratio" } + Label { text: Screen.devicePixelRatio.toFixed(2) } + + Label { text: "available virtual desktop" } + Label { text: Screen.desktopAvailableWidth + "x" + Screen.desktopAvailableHeight } + + Label { text: "position in virtual desktop" } + Label { text: Screen.virtualX + ", " + Screen.virtualY } + + Label { text: "orientation" } + Label { text: root.orientationToString(Screen.orientation) + " (" + Screen.orientation + ")" } + + Label { text: "primary orientation" } + Label { text: root.orientationToString(Screen.primaryOrientation) + " (" + Screen.primaryOrientation + ")" } + //! [screen] + + Label { text: "10mm rectangle" } + Rectangle { + color: "red" + width: Screen.pixelDensity * 10 + height: width + } + } +} diff --git a/examples/quick/window/Splash.qml b/examples/quick/window/Splash.qml new file mode 100644 index 0000000..0a7da21 --- /dev/null +++ b/examples/quick/window/Splash.qml @@ -0,0 +1,42 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import shared + +//! [splash-properties] +Window { + id: splash + color: "transparent" + title: "Splash Window" + modality: Qt.ApplicationModal + flags: Qt.SplashScreen + property int timeoutInterval: 2000 + signal timeout +//! [splash-properties] +//! [screen-properties] + x: (Screen.width - splashImage.width) / 2 + y: (Screen.height - splashImage.height) / 2 +//! [screen-properties] + width: splashImage.width + height: splashImage.height + + Image { + id: splashImage + source: Images.qtLogo + MouseArea { + anchors.fill: parent + onClicked: Qt.quit() + } + } + //! [timer] + Timer { + interval: splash.timeoutInterval; running: true; repeat: false + onTriggered: { + splash.visible = false + splash.timeout() + } + } + //! [timer] + Component.onCompleted: visible = true +} diff --git a/examples/quick/window/doc/window.png b/examples/quick/window/doc/window.png new file mode 100644 index 0000000000000000000000000000000000000000..72487b4d939f4806bf590592cf7d8ac48aca6e21 GIT binary patch literal 9863 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 literal 0 HcmV?d00001 diff --git a/examples/quick/window/doc/window.rst b/examples/quick/window/doc/window.rst new file mode 100644 index 0000000..6a8f73e --- /dev/null +++ b/examples/quick/window/doc/window.rst @@ -0,0 +1,35 @@ +Qt Quick Examples - Window and Screen +===================================== + +This example demonstrates the Window and Screen types in QML. + +.. image:: window.png + :width: 392 + :alt: Window and Screen screenshot + +In addition, this example demonstrates the usage of the Qt Resource System in +Qt for Python for more advanced scenarios. There are several QML files, one of +which imports a module from this sibling directory. Both this "shared" module +and the QML files of the example need to be compiled into Python modules with +the resource compiler rcc. + +For the "shared" module approach to work with QML and rcc, you need: + +* A module definition *qmldir* file +* A Qt Resource Collection file (.qrc) specifying all the QML files and other + resources, plus the *qmldir* file + +The .qrc file is the input to rcc. This will generate a Python module (called +*shared_rc* here) that can then be imported from the Python code. At runtime, +only this Python module is needed, not the .qrc file or any of the .qml files +or even the image resources, as they have all been compiled into the Python +module. + +For the example, rcc needs: + +* A Qt Resource Collection file (.qrc) specifying all the QML files and other + resources. There is no qmldir file here because this is not a module. + +This will generate a Python module (called *window_rc* here) that can then be +imported from the Python code. Again, only the Python module is needed at +runtime. diff --git a/examples/quick/window/main.py b/examples/quick/window/main.py new file mode 100644 index 0000000..549e425 --- /dev/null +++ b/examples/quick/window/main.py @@ -0,0 +1,40 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +from pathlib import Path +import sys + +from PySide6.QtCore import QUrl, qWarning +from PySide6.QtGui import QGuiApplication +from PySide6.QtQml import QQmlComponent, QQmlEngine +from PySide6.QtQuick import QQuickWindow +from PySide6.QtQuickControls2 import QQuickStyle + +import rc_window + +# Append the parent directory of this file so that Python can find and +# import from the "shared" sibling directory. +sys.path.append(os.fspath(Path(__file__).parent.parent)) +from shared import shared_rc + + +if __name__ == "__main__": + app = QGuiApplication(sys.argv) + if sys.platform == "win32": + QQuickStyle.setStyle("Fusion") + engine = QQmlEngine() + + # Add the qrc root as QML import path so that the "shared" module + # can be found. + engine.addImportPath(":/") + + component = QQmlComponent(engine) + QQuickWindow.setDefaultAlphaBuffer(True) + component.loadUrl(QUrl("qrc:///window/window.qml")) + if component.isReady(): + component.create() + else: + qWarning(component.errorString()) + app.exit(1) + app.exec() diff --git a/examples/quick/window/rc_window.py b/examples/quick/window/rc_window.py new file mode 100644 index 0000000..30b1fbf --- /dev/null +++ b/examples/quick/window/rc_window.py @@ -0,0 +1,335 @@ +# Resource object code (Python 3) +# Created by: object code +# Created by: The Resource Compiler for Qt version 6.5.0 +# WARNING! All changes made in this file will be lost! + +from PySide6 import QtCore + +qt_resource_data = b"\ +\x00\x00\x05\x12\ +/\ +/ Copyright (C) \ +2021 The Qt Comp\ +any Ltd.\x0d\x0a// SPD\ +X-License-Identi\ +fier: LicenseRef\ +-Qt-Commercial O\ +R BSD-3-Clause\x0d\x0a\ +\x0d\x0aimport QtQuick\ +\x0d\x0aimport QtQuick\ +.Controls\x0d\x0a\x0d\x0aCol\ +umn {\x0d\x0a id: r\ +oot\x0d\x0a spacing\ +: 8\x0d\x0a\x0d\x0a Label\ + {\x0d\x0a text\ +: \x22Total number \ +of screens: \x22 + \ +screenInfo.count\ +\x0d\x0a font.b\ +old: true\x0d\x0a }\ +\x0d\x0a\x0d\x0a Flow {\x0d\x0a\ + spacing:\ + 12\x0d\x0a wid\ +th: parent.width\ +\x0d\x0a\x0d\x0a Repe\ +ater {\x0d\x0a \ + id: screenIn\ +fo\x0d\x0a \ +model: (Qt.appli\ +cation as Applic\ +ation).screens\x0d\x0a\ + Labe\ +l {\x0d\x0a \ + required pr\ +operty string na\ +me\x0d\x0a \ + required pro\ +perty int virtua\ +lX\x0d\x0a \ + required pro\ +perty int virtua\ +lY\x0d\x0a \ + required pro\ +perty var modelD\ +ata // avoid sha\ +dowing Label.wid\ +th and height\x0d\x0a\x0d\ +\x0a \ + lineHeight: 1.5\ +\x0d\x0a \ + text: name + \x22\ +\x5cn\x22 + virtualX +\ + \x22, \x22 + virtualY\ + + \x22 \x22 + modelDa\ +ta.width + \x22x\x22 +\ + modelData.heigh\ +t\x0d\x0a }\ +\x0d\x0a }\x0d\x0a \ + }\x0d\x0a\x0d\x0a Compon\ +ent.onCompleted:\ + {\x0d\x0a var \ +screens = (Qt.ap\ +plication as App\ +lication).screen\ +s;\x0d\x0a for \ +(var i = 0; i < \ +screens.length; \ +++i)\x0d\x0a \ + console.log(\x22s\ +creen \x22 + screen\ +s[i].name + \x22 ha\ +s geometry \x22 +\x0d\x0a\ + \ + screens[\ +i].virtualX + \x22,\ + \x22 + screens[i].\ +virtualY + \x22 \x22 +\ +\x0d\x0a \ + screen\ +s[i].width + \x22x\x22\ + + screens[i].he\ +ight)\x0d\x0a }\x0d\x0a}\x0d\ +\x0a\ +\x00\x00\x04\x8a\ +\x00\ +\x00\x16\xa7x\xda\xcdXYo\xdbF\x10~7\xe0\xff\ +0a_\xec\x06\xba\x93\x17\x15Fa+H\x1d\xc0A\ +b\xcb\xa8\x03\x14}\xa0\xc9\x91\xb8\xf5\x8a+\xec.-\ +9\xae\xff{\x87\xc7\x92\x94\xb8$\xe5ZnJ\x08\x10\ +\xb9;;\xc77\x07g\xd8\xeb\xc1D,\x1f$\x9b\x07\ +\x1a\x8e&\xc70\xec\x0f\x07p\x1d \x5cj\xdaY,\ +\xdd\xf0\x01.\xb4\xdf=<\xe8\xf5`\xfa\xf5\xc3\xb7\xce\ +\x05\xf30T\xd8\xf9\xe4c\xa8\xd9\x8c\xa1\x1cC\xb6v\ +\x85\xb3\xce\xa5\xee\xd0\xb9\x05J\x8f\xb9\x1c\xbe\x5c\xc1\xd9\ +\xf4Cg\xd4\x99p7Rxxpx\xc0\x16K!\ +5\xf1\xbf\x8c\x98w\xb7\xfd\xdc\x9d\x88PK\xc1UL\ +z\xa9\xbf\xdc\xfe\x85\x9e\x86\xc7\xc3\x03\xa0\x8b\xf9c\x90\ +B\xe8\xf4i)\xc5\x12\xa5~\x00\x89$\xc9\xc7\x99\x1b\ +q=]\xba\x1e\x0b\xe7c\x18\xf4\xb7\xa8\xa6\x0fJ\xe3\ +\xe2\xab\xcbQk\x84e\xfa?\xdeZ~\x84\xa7X\xf0\ +\xc6\xc1{W\x82\x97ju\xc3B_\xac\xc6\x90\xfe\x1b\ +\xb5\xe2k\xc5|\x1d\x8c\x89\x8ew\xc9 \xce<\xa6o\ +\xe2%x\x9bh\xdc\xddT\x0f~\x86aq6\xc0\x18\ +\xfe\xcd\xc3\xe7\xc9\xda.\xa7\xe9\x94\x90).\xdd\xcc\xaa\ +\xee*\xd1\xaf\xa0\xd1Ls\xb2\xd5\xc9\xc0\xcd\xf4w\x0a\ +\x82\x89\xe0\xd1\x22,\x1bd\xf0&\xf6\x9b\x8bn\xe8\x05\ +B\xaa\xee\x8cq>&\x1c%\x85\x81\x9db\xe1\xca9\ +\x0b\xd5\xd8f\xc3\xe6\x09e\xbc\xd6J\xb9\xe9t\x0f9\ +\xbf)\x90O\x9c\x00=\x18A\xc7\xb0\xdc<}\xe1\xde\ +\x22''k\x5c\xeb\x12\x1c\x9a\xe2]!\xf9\xd8\x87\x14\ +\xb9\xb1\x13\xc7A\xf9\xe4o\x92\xf9\xdb\xf0\x18\x88\xe6\xb4\ +W\xdd\xf1\x12H\xc9\xfaQuow{K\xb1\x95B\ +\x9d\x1aY%:\x8b\xb4\x16\xa1ME\xa3\xa6\x0a\xc4*\ +\xa5\xb2\xd3\x94B8\xc7\xd5N\x99\xc2\x97\xe8\xaeQ\xe9\ +4\x9a\xba\xf7L\xb1[\x8e\xf0+8\xe7\xccG\x07\x08\ +\xe1i\xb0\x11f\xe5K\x84\x13\x8a\xf4;\xf4\xeb9\x9d\ +\xc0\x9b\x9a\xad*\xcb\xa7\xeaR\xaf\xf7\x06\xfeH\x1d\x8a\ +\xfe$@\xef\xeeV\xac\xff\xac\xd2%[gb]\x07\ +^\x16-7\x19\xa7\x1a{L\x16\x170w\xd3\xa5\x97\ +\xa2}Fr\xe3\xac'\xefz\xb1\xa6H\x81HE\x89\ +GX\x83\x1c\xe3\x8c\x12\xe4\xe4\xe4$\xcb\xf3\xae\xd1\xdc\ +\x06\xd2.\xae\xc8\x18n\xb3\xfbO\x9d\xf0j\xf0f\xde\ +\xfd\x18q\x0eSO\x22\x86\xcek\xf9!\x96\x91\x8a\xd8\ +\x93'\x0a\x86;\xf9\xa2\xbdF\xb8\x91\x16\xfb\xac\x11\xce\ +)1\x5c\xb8\x9ay\xce^\x0c\xce\xd9\xfd\x9eo\xeed\ +\xf9\xae\xd1U\xd8\xdf\x18]\x99q\x9fY\xc8\x16\xec{\ +mIxy\xc4\xe4\x12\xf6\x1409\xbf\x1f\x89\x9a\xbb\ +~m\xd4\x8c\x84}\xa1f\xf8\xb5\xa2\xb6\xf58\x8bB\ +O32\xa4\xe0z-\xa6Z\x92yG\xf7\xc76X\ +\xd5\x8ai/\x80\x9a]\xcfU\xb8]\x85\xc7v\x13%\ +\xeaH\x86\xe0\x98\xd2\xeb\xfc\xd2\xcc.\x8f\x8c\x16~\x8b\ +<\xe6\xdb\x18\x1a\xd0\xda\x18\xe6\xe1\xd0\xc2\xb0(v-\ +\x1cgD\xa8\xd2J\xde\xc2\xd2RNZx\xbby=\ +kaM-\x90\xdf\xaai\x90\x10\xd9XY\x02\xd7\x1c\ +\x8a\xc2\xbbP\xac*\xa7\x9e\xac\xad\xae\xbdc-\xc21\ +!\xab\x12e\xa9\xba\xd1\x14\x03S\xe0\xd0Dr\xd4\xd0\ +\xf8e\xb7I\xef\xc7B\xf3t\x0co\xed8\x001t\ +I@\xe0\xaa\x92N\x89\x94\xac\xdb\xb5$N}\xc6\x1e\ +7\x22rE\x93\xa4\x1b\xceI\xd1Gk\xb7^\x99\xa2\ +b\x10\xfee7n*\xe3\xa0Q\xa3I$c&Y\ +K\xf0\xf8\xffW\xf8\xd4d\xa0\x22m-|\xcb\xf4\xd9\ +\xad}\x9e.\xdc\xd70L\x8f\x86\xfd\xea\x90<|\xd7\ +\xaf\xcc\xbe\xceO\xc3\xc1\xfbw\xfd\xbeS\x9dx\xafI\ +\x90\x91@\xa55H\x8f$\x11\x96\xdc\x15'f\xdc\x9d\ +\xd3\xb4v\xa9\xb3\xca\x0a\x7f\x17\xf7\x1f\xf3\x8a\x92\xbe\xe6\ +\xceYy\xe6\xad\xf5\xd3k\x8c\xca\xb5ymXy$\ +\x04\xe5\xa7\xd0.\xb0\x94\xdc\xd34\xb9+\xdf\x02,~\ +\xff,\x22\x85\xa74r7\x09\xae\xb7\xb2\xe5\x95\x9b\xba\ +\xe4\x84\xdc\x88}o4\xc0f]\xea\x9bX\xa3\x88L\ +#%\x0bLioH\x0c\xb1\x16\xcb\x9c\x94\xee\xeb\x09\ +wwQ\xcb\x88\xdc4\x16P\x09\xc55\xd3Pz\x85\ +\xc5\xa5t.\xca+\xb5)>x\xdfo\x04\xbe\xae\xf1\ +\x9f\xc1\xd1s5=\xae+\xe8\xb0\xbf>>\xbe\x90+\ +|\x99\xa8g\xccH\xcf\x8e4\x8e\xb3\x22\xd0\xe2\x87\x1f\ +\x14g\xce\xb7\xfa\xa0\x18\xf5\x9f\x97\x8c\x5c(<\xaa\x7f\ +\x936\x96u\xb5\xe4\xae\x0aLa\x9f&Oe\xfcD\ +x\xcd\x16(\x22\x93\x1a\x1b\x9fUK\x9f}\xb4\x8c0\ +\x97C\xbf\x7f\x00\xe8k\x05\xe6\ +\x00\x00\x04$\ +/\ +/ Copyright (C) \ +2021 The Qt Comp\ +any Ltd.\x0d\x0a// SPD\ +X-License-Identi\ +fier: LicenseRef\ +-Qt-Commercial O\ +R BSD-3-Clause\x0d\x0a\ +\x0d\x0aimport QtQuick\ +\x0d\x0aimport shared\x0d\ +\x0a\x0d\x0a//! [splash-p\ +roperties]\x0d\x0aWind\ +ow {\x0d\x0a id: sp\ +lash\x0d\x0a color:\ + \x22transparent\x22\x0d\x0a\ + title: \x22Spla\ +sh Window\x22\x0d\x0a \ +modality: Qt.App\ +licationModal\x0d\x0a \ + flags: Qt.Spl\ +ashScreen\x0d\x0a p\ +roperty int time\ +outInterval: 200\ +0\x0d\x0a signal ti\ +meout\x0d\x0a//! [spla\ +sh-properties]\x0d\x0a\ +//! [screen-prop\ +erties]\x0d\x0a x: \ +(Screen.width - \ +splashImage.widt\ +h) / 2\x0d\x0a y: (\ +Screen.height - \ +splashImage.heig\ +ht) / 2\x0d\x0a//! [sc\ +reen-properties]\ +\x0d\x0a width: spl\ +ashImage.width\x0d\x0a\ + height: spla\ +shImage.height\x0d\x0a\ +\x0d\x0a Image {\x0d\x0a \ + id: splas\ +hImage\x0d\x0a \ +source: Images.q\ +tLogo\x0d\x0a M\ +ouseArea {\x0d\x0a \ + anchors.\ +fill: parent\x0d\x0a \ + onClic\ +ked: Qt.quit()\x0d\x0a\ + }\x0d\x0a }\ +\x0d\x0a //! [timer\ +]\x0d\x0a Timer {\x0d\x0a\ + interval\ +: splash.timeout\ +Interval; runnin\ +g: true; repeat:\ + false\x0d\x0a \ +onTriggered: {\x0d\x0a\ + spla\ +sh.visible = fal\ +se\x0d\x0a \ +splash.timeout()\ +\x0d\x0a }\x0d\x0a \ + }\x0d\x0a //! [tim\ +er]\x0d\x0a Compone\ +nt.onCompleted: \ +visible = true\x0d\x0a\ +}\x0d\x0a\ +\x00\x00\x03\x08\ +\x00\ +\x00\x0a\xb7x\xda\xadV\xdfo\xda0\x10~G\xe2\x7f\ +\xb8\xe5\x09\xb6\x91\x00\xeb\xa6)}\x986\xaam\x95\xd0\ +\xdaB\xa5uZ\xf7`\x92\x03\xac&v\xe48\x144\ +\xf5\x7f\x9f\x9d\x1f\x8d\x01\x0f\x82\xb6\x08\x89\xdc\xf9\xbb\xfb\ +>\xdbg_<\x0fF<\xd9\x08\xbaXJ\xe8\x8c\xba\ +0\xec\x0f\x07p\xbbD\xb8\x91j$N\x08\xdb\xc0X\ +\x86n\xbb\xe5y0\xbd\xbe\xb8\xeb\x8di\x80,\xc5\xde\ +e\x88L\xd29E\xe1C\xe9\x9b\xe0\xbcw#{*\ +.F\x11P\x12\xc1\xd5\x04>M/zoz\xa3\x88\ +d)\xb6[\xed\x16\x8d\x13.\xa4\xca\x7f\x93\xd1\xe0a\ +\xd7vG\x9cI\xc1\xa3TC/%\xc6\xf0\xbb\xdd\x02\ +\xf5\xd0\xd0\x07\xc1\xb9,\xacG\x1a\xca\xa5\x0fg\xfd~\ +a/Q\xcf\xc0\x87D\xf0\x04\x85\xdc|\x114tU\ +\xe6\x88\x06T~\xcd\x07\xe1\x15\x0c\xde\xe9\xac\x1a?\xcf\ +X )g\xc0\x05U\xd3 \xfa\xfd\x96O\xa5\xa0l\ +\xd1\xe1\xdd\x8aT?\xe9#\x95\xc1\x12v\xbc\x01I\xf5\ +\x1a\xb9\xd7\x82\xc6Dl\xae\xea4~\x0d\xd2\x8f@\x99\ +\x09\x06NR\x00\x9dsK\x0e5\x7fA\xa8l\x90\xa4\ +D\xda\xb2\x8c\x09\x0b\xd3\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 JE0Kdh{{f9RReb;e literal 0 HcmV?d00001 diff --git a/examples/quick/window/resources/icon.ico b/examples/quick/window/resources/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..52af30a6ca230cd8f97c69f19a66a3db20dea067 GIT binary patch literal 11825 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 literal 0 HcmV?d00001 diff --git a/examples/quick/window/resources/icon.svg b/examples/quick/window/resources/icon.svg new file mode 100644 index 0000000..0b61532 --- /dev/null +++ b/examples/quick/window/resources/icon.svg @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/quick/window/resources/icon64.png b/examples/quick/window/resources/icon64.png new file mode 100644 index 0000000000000000000000000000000000000000..0fa324401fcd0beb474e4705189207a04285deb0 GIT binary patch literal 3004 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 + + window.qml + Splash.qml + CurrentScreen.qml + AllScreens.qml + + diff --git a/examples/quick3d/customgeometry/customgeometry.pyproject b/examples/quick3d/customgeometry/customgeometry.pyproject new file mode 100644 index 0000000..3e31ac9 --- /dev/null +++ b/examples/quick3d/customgeometry/customgeometry.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["examplepoint.py", "exampletriangle.py", "main.py", "main.qml", "resources.qrc"] +} diff --git a/examples/quick3d/customgeometry/doc/customgeometry-example.jpg b/examples/quick3d/customgeometry/doc/customgeometry-example.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f443c3e9777853b1a01b38c1f0e747e40a4029b GIT binary patch literal 51016 zcmeFYbzB`u)&P3(puyeU6C8rOOCY$r6Wk?1LkR93Jh;0BcL)&Nf;+*3^O__(o1NX6 zZ)V^3d+(pGZgcze@j7+7>Qvw6e)|3k2w6%@QVawJ1_rVQKA`(M5Sp;PvA(0R5wVN8 zqZzTdq^!dI3V4~Mu&}OzqP&=-j3~ej0)fA`GPHJpdeIo!a0$_T3z(D|>e!v_2fcG9?)9)}i0D{o%UnmL#eM1LeV$)w> zgI{1nGkYLV;H&@-xskOEpdVcA2W<2Jdp^L{R!)F#-`hhE5sYn=m4Guj@P`i)2T6it zK?)#ZkO9aEWDc?dIf58~vkic804V}=p+Atv{VuNnNErZ9<{(2rLIm^@7&!g!@}P$? z0C<4*&)7PcurPl|fguQiKv0YK_a_t}5KJ@(bQ^Jhf1PoEf13#cLCk|dA8r0A|MEQu z#CZnbBmRjaPX~b>`-4C=o&Urc#DhS!K_C$JjIF-C{&zbNz&E&w2?%tY2Ld6ggFtAX zKp;5HA8`X{4|Gu06bSSJh?UF`2$Yxv0#TX*y0!kG-;V%+-{SVCJU`=iKL-*9L4bol z96*Bv4yZ>^P>_&Na4;~?j}YJx5a8k9;SrHgkr9zlkl^8wF_BTw&@nJD5FTS;W1?fD zqGO;xC;@{2WFVnnp`c*V5#bTh|8~1?2cbLy{{#hs07C(Rqkuu6fZcZjodE-ZLp

    Qwgt8=d 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 KeCCfO!2bZ48udp2 literal 0 HcmV?d00001 diff --git a/examples/location/mapviewer/main.py b/examples/location/mapviewer/main.py new file mode 100644 index 0000000..24ae162 --- /dev/null +++ b/examples/location/mapviewer/main.py @@ -0,0 +1,75 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the location/mapviewer example from Qt v6.x""" + +import os +import sys +from pathlib import Path + +from PySide6.QtQml import QQmlApplicationEngine +from PySide6.QtGui import QGuiApplication +from PySide6.QtNetwork import QSslSocket +from PySide6.QtCore import QCoreApplication, QMetaObject, Q_ARG + +HELP = """Usage: +plugin. - Sets parameter = value for plugin""" + + +def parseArgs(args): + parameters = {} + while args: + param = args[0] + args = args[1:] + if param.startswith("--plugin."): + param = param[9:] + if not args or args[0].startswith("--"): + parameters[param] = True + else: + value = args[0] + args = args[1:] + if value in ("true", "on", "enabled"): + parameters[param] = True + elif value in ("false", "off", "disable"): + parameters[param] = False + else: + parameters[param] = value + return parameters + + +if __name__ == "__main__": + additionalLibraryPaths = os.environ.get("QTLOCATION_EXTRA_LIBRARY_PATH") + if additionalLibraryPaths: + for p in additionalLibraryPaths.split(':'): + QCoreApplication.addLibraryPath(p) + + application = QGuiApplication(sys.argv) + name = "QtLocation Mapviewer example" + QCoreApplication.setApplicationName(name) + + args = sys.argv[1:] + if "--help" in args: + print(f"{name}\n\n{HELP}") + sys.exit(0) + + parameters = parseArgs(args) + if not parameters.get("osm.useragent"): + parameters["osm.useragent"] = name + + engine = QQmlApplicationEngine() + engine.rootContext().setContextProperty("supportsSsl", + QSslSocket.supportsSsl()) + engine.addImportPath(Path(__file__).parent) + engine.loadFromModule("MapViewer", "Main") + engine.quit.connect(QCoreApplication.quit) + + items = engine.rootObjects() + if not items: + sys.exit(-1) + + QMetaObject.invokeMethod(items[0], "initializeProviders", + Q_ARG("QVariant", parameters)) + + ex = application.exec() + del engine + sys.exit(ex) diff --git a/examples/location/mapviewer/mapviewer.pyproject b/examples/location/mapviewer/mapviewer.pyproject new file mode 100644 index 0000000..8e2cadd --- /dev/null +++ b/examples/location/mapviewer/mapviewer.pyproject @@ -0,0 +1,33 @@ +{ + "files": ["main.py", + "MapViewer/forms/Geocode.qml", + "MapViewer/forms/GeocodeForm.ui.qml", + "MapViewer/forms/Locale.qml", + "MapViewer/forms/LocaleForm.ui.qml", + "MapViewer/forms/Message.qml", + "MapViewer/forms/MessageForm.ui.qml", + "MapViewer/forms/ReverseGeocode.qml", + "MapViewer/forms/ReverseGeocodeForm.ui.qml", + "MapViewer/forms/RouteAddress.qml", + "MapViewer/forms/RouteAddressForm.ui.qml", + "MapViewer/forms/RouteCoordinate.qml", + "MapViewer/forms/RouteCoordinateForm.ui.qml", + "MapViewer/forms/RouteList.qml", + "MapViewer/forms/RouteListDelegate.qml", + "MapViewer/forms/RouteListHeader.qml", + "MapViewer/map/MapComponent.qml", + "MapViewer/map/MapSliders.qml", + "MapViewer/map/Marker.qml", + "MapViewer/map/MiniMap.qml", + "MapViewer/menus/ItemPopupMenu.qml", + "MapViewer/menus/MainMenu.qml", + "MapViewer/menus/MapPopupMenu.qml", + "MapViewer/menus/MarkerPopupMenu.qml", + "MapViewer/resources/marker_blue.png", + "MapViewer/resources/marker.png", + "MapViewer/resources/scale_end.png", + "MapViewer/resources/scale.png", + "MapViewer/helper.js", + "MapViewer/Main.qml", + "MapViewer/qmldir"] +} diff --git a/examples/multimedia/audiooutput/audiooutput.py b/examples/multimedia/audiooutput/audiooutput.py new file mode 100644 index 0000000..e0634e7 --- /dev/null +++ b/examples/multimedia/audiooutput/audiooutput.py @@ -0,0 +1,272 @@ +# Copyright (C) 2013 Riverbank Computing Limited. +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the multimedia/audiooutput example from Qt v5.x, originating from PyQt""" + +import sys +from math import pi, sin +from struct import pack + +from PySide6.QtCore import (QByteArray, QIODevice, Qt, QSysInfo, QTimer, + qWarning, Slot) +from PySide6.QtMultimedia import (QAudio, QAudioFormat, + QAudioSink, QMediaDevices) +from PySide6.QtWidgets import (QApplication, QComboBox, QHBoxLayout, QLabel, + QMainWindow, QPushButton, QSlider, + QVBoxLayout, QWidget) + + +class Generator(QIODevice): + + def __init__(self, format, durationUs, sampleRate, parent): + super().__init__(parent) + + self.m_pos = 0 + self.m_buffer = QByteArray() + + self.generate_data(format, durationUs, sampleRate) + + def start(self): + self.open(QIODevice.ReadOnly) + + def stop(self): + self.m_pos = 0 + self.close() + + def generate_data(self, fmt, durationUs, sampleRate): + pack_format = '' + + sample_size = fmt.bytesPerSample() * 8 + if sample_size == 8: + if fmt.sampleFormat() == QAudioFormat.UInt8: + scaler = lambda x: ((1.0 + x) / 2 * 255) + pack_format = 'B' + elif fmt.sampleFormat() == QAudioFormat.Int16: + scaler = lambda x: x * 127 + pack_format = 'b' + elif sample_size == 16: + little_endian = QSysInfo.ByteOrder == QSysInfo.LittleEndian + if fmt.sampleFormat() == QAudioFormat.UInt8: + scaler = lambda x: (1.0 + x) / 2 * 65535 + pack_format = 'H' + elif fmt.sampleFormat() == QAudioFormat.Int16: + scaler = lambda x: x * 32767 + pack_format = 'h' + + assert(pack_format != '') + + channel_bytes = fmt.bytesPerSample() + sample_bytes = fmt.channelCount() * channel_bytes + + length = (fmt.sampleRate() * fmt.channelCount() * channel_bytes) * durationUs // 100000 + + self.m_buffer.clear() + sample_index = 0 + factor = 2 * pi * sampleRate / fmt.sampleRate() + + while length != 0: + x = sin((sample_index % fmt.sampleRate()) * factor) + packed = pack(pack_format, int(scaler(x))) + + for _ in range(fmt.channelCount()): + self.m_buffer.append(packed) + length -= channel_bytes + + sample_index += 1 + + def readData(self, maxlen): + data = QByteArray() + total = 0 + + while maxlen > total: + chunk = min(self.m_buffer.size() - self.m_pos, maxlen - total) + data.append(self.m_buffer.mid(self.m_pos, chunk)) + self.m_pos = (self.m_pos + chunk) % self.m_buffer.size() + total += chunk + + return data.data() + + def writeData(self, data): + return 0 + + def bytesAvailable(self): + return self.m_buffer.size() + super(Generator, self).bytesAvailable() + + +class AudioTest(QMainWindow): + + PUSH_MODE_LABEL = "Enable push mode" + PULL_MODE_LABEL = "Enable pull mode" + SUSPEND_LABEL = "Suspend playback" + RESUME_LABEL = "Resume playback" + + DURATION_SECONDS = 1 + TONE_SAMPLE_RATE_HZ = 600 + DATA_SAMPLE_RATE_HZ = 44100 + + def __init__(self, devices): + super().__init__() + + self.m_devices = devices + self.m_device = self.m_devices[0] + self.m_output = None + + self.initialize_window() + self.initialize_audio() + + def initialize_window(self): + + central_widget = QWidget() + layout = QVBoxLayout(central_widget) + + self.m_deviceBox = QComboBox() + self.m_deviceBox.activated[int].connect(self.device_changed) + for deviceInfo in self.m_devices: + self.m_deviceBox.addItem(deviceInfo.description(), deviceInfo) + + layout.addWidget(self.m_deviceBox) + + self.m_modeButton = QPushButton() + self.m_modeButton.clicked.connect(self.toggle_mode) + self.m_modeButton.setText(self.PUSH_MODE_LABEL) + + layout.addWidget(self.m_modeButton) + + self.m_suspendResumeButton = QPushButton( + clicked=self.toggle_suspend_resume) + self.m_suspendResumeButton.setText(self.SUSPEND_LABEL) + + layout.addWidget(self.m_suspendResumeButton) + + volume_box = QHBoxLayout() + volume_label = QLabel("Volume:") + self.m_volumeSlider = QSlider(Qt.Horizontal, minimum=0, maximum=100, + singleStep=10) + self.m_volumeSlider.valueChanged.connect(self.volume_changed) + + volume_box.addWidget(volume_label) + volume_box.addWidget(self.m_volumeSlider) + + layout.addLayout(volume_box) + + self.setCentralWidget(central_widget) + + def initialize_audio(self): + self.m_pullTimer = QTimer(self) + self.m_pullTimer.timeout.connect(self.pull_timer_expired) + self.m_pullMode = True + + self.m_format = QAudioFormat() + self.m_format.setSampleRate(self.DATA_SAMPLE_RATE_HZ) + self.m_format.setChannelCount(1) + self.m_format.setSampleFormat(QAudioFormat.Int16) + + info = self.m_devices[0] + if not info.isFormatSupported(self.m_format): + qWarning("Default format not supported - trying to use nearest") + self.m_format = info.nearestFormat(self.m_format) + + self.m_generator = Generator(self.m_format, + self.DURATION_SECONDS * 1000000, self.TONE_SAMPLE_RATE_HZ, self) + + self.create_audio_output() + + def create_audio_output(self): + self.m_audioSink = QAudioSink(self.m_device, self.m_format) + self.m_audioSink.stateChanged.connect(self.handle_state_changed) + + self.m_generator.start() + self.m_audioSink.start(self.m_generator) + self.m_volumeSlider.setValue(self.m_audioSink.volume() * 100) + + @Slot(int) + def device_changed(self, index): + self.m_pullTimer.stop() + self.m_generator.stop() + self.m_audioSink.stop() + self.m_device = self.m_deviceBox.itemData(index) + + self.create_audio_output() + + @Slot(int) + def volume_changed(self, value): + if self.m_audioSink is not None: + self.m_audioSink.setVolume(value / 100.0) + + @Slot() + def notified(self): + bytes_free = self.m_audioSink.bytesFree() + elapsed = self.m_audioSink.elapsedUSecs() + processed = self.m_audioSink.processedUSecs() + qWarning(f"bytesFree = {bytes_free}, " + f"elapsedUSecs = {elapsed}, " + f"processedUSecs = {processed}") + + @Slot() + def pull_timer_expired(self): + if self.m_audioSink is not None and self.m_audioSink.state() != QAudio.StoppedState: + bytes_free = self.m_audioSink.bytesFree() + data = self.m_generator.read(bytes_free) + if data: + self.m_output.write(data) + + @Slot() + def toggle_mode(self): + self.m_pullTimer.stop() + self.m_audioSink.stop() + + if self.m_pullMode: + self.m_modeButton.setText(self.PULL_MODE_LABEL) + self.m_output = self.m_audioSink.start() + self.m_pullMode = False + self.m_pullTimer.start(20) + else: + self.m_modeButton.setText(self.PUSH_MODE_LABEL) + self.m_pullMode = True + self.m_audioSink.start(self.m_generator) + + self.m_suspendResumeButton.setText(self.SUSPEND_LABEL) + + @Slot() + def toggle_suspend_resume(self): + if self.m_audioSink.state() == QAudio.SuspendedState: + qWarning("status: Suspended, resume()") + self.m_audioSink.resume() + self.m_suspendResumeButton.setText(self.SUSPEND_LABEL) + elif self.m_audioSink.state() == QAudio.ActiveState: + qWarning("status: Active, suspend()") + self.m_audioSink.suspend() + self.m_suspendResumeButton.setText(self.RESUME_LABEL) + elif self.m_audioSink.state() == QAudio.StoppedState: + qWarning("status: Stopped, resume()") + self.m_audioSink.resume() + self.m_suspendResumeButton.setText(self.SUSPEND_LABEL) + elif self.m_audioSink.state() == QAudio.IdleState: + qWarning("status: IdleState") + + state_map = { + QAudio.ActiveState: "ActiveState", + QAudio.SuspendedState: "SuspendedState", + QAudio.StoppedState: "StoppedState", + QAudio.IdleState: "IdleState"} + + @Slot("QAudio::State") + def handle_state_changed(self, state): + state = self.state_map.get(state, 'Unknown') + qWarning(f"state = {state}") + + +if __name__ == '__main__': + app = QApplication(sys.argv) + app.setApplicationName("Audio Output Test") + + devices = QMediaDevices.audioOutputs() + if not devices: + print('No audio outputs found.', file=sys.stderr) + sys.exit(-1) + + audio = AudioTest(devices) + audio.show() + + sys.exit(app.exec()) diff --git a/examples/multimedia/audiooutput/audiooutput.pyproject b/examples/multimedia/audiooutput/audiooutput.pyproject new file mode 100644 index 0000000..399a7c6 --- /dev/null +++ b/examples/multimedia/audiooutput/audiooutput.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["audiooutput.py"] +} diff --git a/examples/multimedia/audiooutput/doc/audiooutput.png b/examples/multimedia/audiooutput/doc/audiooutput.png new file mode 100644 index 0000000000000000000000000000000000000000..d19f959cd4b777cc7540e301d376810d1bb14baa GIT binary patch literal 5082 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 float: + channel_bytes: int = int(self.m_format.bytesPerSample()) + sample_bytes: int = int(self.m_format.bytesPerFrame()) + num_samples: int = int(length / sample_bytes) + + maxValue: float = 0 + m_offset: int = 0 + + for i in range(num_samples): + for j in range(self.m_format.channelCount()): + value = 0 + if len(data) > m_offset: + data_sample = data[m_offset:] + value = self.m_format.normalizedSampleValue(data_sample) + maxValue = max(value, maxValue) + m_offset = m_offset + channel_bytes + + return maxValue + + +class RenderArea(QWidget): + def __init__(self, parent: Optional[PySide6.QtWidgets.QWidget] = None) -> None: + super().__init__(parent=parent) + self.m_level = 0 + self.setBackgroundRole(QPalette.Base) + self.setAutoFillBackground(True) + self.setMinimumHeight(30) + self.setMinimumWidth(200) + + def set_level(self, value): + self.m_level = value + self.update() + + def paintEvent(self, event: PySide6.QtGui.QPaintEvent) -> None: + with QPainter(self) as painter: + painter.setPen(Qt.black) + frame = painter.viewport() - QMargins(10, 10, 10, 10) + + painter.drawRect(frame) + + if self.m_level == 0.0: + return + + pos: int = round((frame.width() - 1) * self.m_level) + painter.fillRect( + frame.left() + 1, frame.top() + 1, pos, frame.height() - 1, Qt.red + ) + + +class InputTest(QWidget): + def __init__(self) -> None: + super().__init__() + self.m_devices = QMediaDevices(self) + self.m_pullMode = False + + self.initialize_window() + self.initialize_audio(QMediaDevices.defaultAudioInput()) + + def initialize_window(self): + self.layout = QVBoxLayout(self) + + self.m_canvas = RenderArea(self) + self.layout.addWidget(self.m_canvas) + + self.m_device_box = QComboBox(self) + default_device_info = QMediaDevices.defaultAudioInput() + self.m_device_box.addItem( + default_device_info.description(), default_device_info + ) + + for device_info in self.m_devices.audioInputs(): + if device_info != default_device_info: + self.m_device_box.addItem(device_info.description(), device_info) + + self.m_device_box.activated[int].connect(self.device_changed) + self.layout.addWidget(self.m_device_box) + + self.m_volume_slider = QSlider(Qt.Horizontal, self) + self.m_volume_slider.setRange(0, 100) + self.m_volume_slider.setValue(100) + self.m_volume_slider.valueChanged.connect(self.slider_changed) + self.layout.addWidget(self.m_volume_slider) + + self.m_mode_button = QPushButton(self) + self.m_mode_button.clicked.connect(self.toggle_mode) + self.layout.addWidget(self.m_mode_button) + + self.m_suspend_resume_button = QPushButton(self) + self.m_suspend_resume_button.clicked.connect(self.toggle_suspend) + self.layout.addWidget(self.m_suspend_resume_button) + + def initialize_audio(self, device_info: QAudioDevice): + format = QAudioFormat() + format.setSampleRate(8000) + format.setChannelCount(1) + format.setSampleFormat(QAudioFormat.Int16) + + self.m_audio_info = AudioInfo(format) + + self.m_audio_input = QAudioSource(device_info, format) + initial_volume = QAudio.convertVolume( + self.m_audio_input.volume(), + QAudio.LinearVolumeScale, + QAudio.LogarithmicVolumeScale, + ) + self.m_volume_slider.setValue(int(round(initial_volume * 100))) + self.toggle_mode() + + @Slot() + def toggle_mode(self): + self.m_audio_input.stop() + self.toggle_suspend() + + self.m_mode_button.setText("Enable pull mode") + io = self.m_audio_input.start() + + def push_mode_slot(): + len = self.m_audio_input.bytesAvailable() + buffer_size = 4096 + if len > buffer_size: + len = buffer_size + buffer: QByteArray = io.read(len) + if len > 0: + level = self.m_audio_info.calculate_level(buffer, len) + self.m_canvas.set_level(level) + + io.readyRead.connect(push_mode_slot) + + @Slot() + def toggle_suspend(self): + # toggle suspend/resume + state = self.m_audio_input.state() + if (state == QAudio.SuspendedState) or (state == QAudio.StoppedState): + self.m_audio_input.resume() + self.m_suspend_resume_button.setText("Suspend recording") + elif state == QAudio.ActiveState: + self.m_audio_input.suspend() + self.m_suspend_resume_button.setText("Resume recording") + # else no-op + + @Slot(int) + def device_changed(self, index): + self.m_audio_input.stop() + self.m_audio_input.disconnect(self) + self.initialize_audio(self.m_device_box.itemData(index)) + + @Slot(int) + def slider_changed(self, value): + linearVolume = QAudio.convertVolume( + value / float(100), QAudio.LogarithmicVolumeScale, QAudio.LinearVolumeScale + ) + + self.m_audio_input.setVolume(linearVolume) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + app.setApplicationName("Audio Sources Example") + input = InputTest() + input.show() + sys.exit(app.exec()) diff --git a/examples/multimedia/audiosource/audiosource.pyproject b/examples/multimedia/audiosource/audiosource.pyproject new file mode 100644 index 0000000..c09e773 --- /dev/null +++ b/examples/multimedia/audiosource/audiosource.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["audiosource.py"] +} diff --git a/examples/multimedia/audiosource/doc/audiosource.png b/examples/multimedia/audiosource/doc/audiosource.png new file mode 100644 index 0000000000000000000000000000000000000000..cac183b7553f84e04b4d88b95a38e2d2a9b2ea62 GIT binary patch literal 11897 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 + + +.. image:: audiosource.png + :width: 400 + :alt: audiosource example + diff --git a/examples/multimedia/camera/camera.py b/examples/multimedia/camera/camera.py new file mode 100644 index 0000000..95d3324 --- /dev/null +++ b/examples/multimedia/camera/camera.py @@ -0,0 +1,322 @@ +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +from pathlib import Path + +from PySide6.QtMultimedia import (QAudioInput, QCamera, QCameraDevice, + QImageCapture, QMediaCaptureSession, + QMediaDevices, QMediaMetaData, + QMediaRecorder) +from PySide6.QtWidgets import QDialog, QMainWindow, QMessageBox +from PySide6.QtGui import QAction, QActionGroup, QIcon, QImage, QPixmap +from PySide6.QtCore import QDateTime, QDir, QTimer, Qt, Slot + +from ui_camera import Ui_Camera +from metadatadialog import MetaDataDialog +from imagesettings import ImageSettings +from videosettings import VideoSettings + + +class Camera(QMainWindow): + def __init__(self): + super().__init__() + + self._video_devices_group = None + + self.m_devices = QMediaDevices() + self.m_imageCapture = None + self.m_captureSession = QMediaCaptureSession() + self.m_camera = None + self.m_audioInput = QAudioInput() + self.m_captureSession.setAudioInput(self.m_audioInput) + self.m_mediaRecorder = None + + self.m_isCapturingImage = False + self.m_applicationExiting = False + self.m_doImageCapture = True + + self.m_metaDataDialog = None + + self._ui = Ui_Camera() + self._ui.setupUi(self) + image = Path(__file__).parent / "shutter.svg" + self._ui.takeImageButton.setIcon(QIcon(os.fspath(image))) + self._ui.actionAbout_Qt.triggered.connect(qApp.aboutQt) + + # disable all buttons by default + self.updateCameraActive(False) + self.readyForCapture(False) + self._ui.recordButton.setEnabled(False) + self._ui.pauseButton.setEnabled(False) + self._ui.stopButton.setEnabled(False) + self._ui.metaDataButton.setEnabled(False) + + # try to actually initialize camera & mic + + self._video_devices_group = QActionGroup(self) + self._video_devices_group.setExclusive(True) + self.updateCameras() + self.m_devices.videoInputsChanged.connect(self.updateCameras) + + self._video_devices_group.triggered.connect(self.updateCameraDevice) + self._ui.captureWidget.currentChanged.connect(self.updateCaptureMode) + + self._ui.metaDataButton.clicked.connect(self.showMetaDataDialog) + self._ui.exposureCompensation.valueChanged.connect(self.setExposureCompensation) + + self.setCamera(QMediaDevices.defaultVideoInput()) + + @Slot(QCameraDevice) + def setCamera(self, cameraDevice): + self.m_camera = QCamera(cameraDevice) + self.m_captureSession.setCamera(self.m_camera) + + self.m_camera.activeChanged.connect(self.updateCameraActive) + self.m_camera.errorOccurred.connect(self.displayCameraError) + + if not self.m_mediaRecorder: + self.m_mediaRecorder = QMediaRecorder() + self.m_captureSession.setRecorder(self.m_mediaRecorder) + self.m_mediaRecorder.recorderStateChanged.connect(self.updateRecorderState) + self.m_mediaRecorder.durationChanged.connect(self.updateRecordTime) + self.m_mediaRecorder.errorChanged.connect(self.displayRecorderError) + + if not self.m_imageCapture: + self.m_imageCapture = QImageCapture() + self.m_captureSession.setImageCapture(self.m_imageCapture) + self.m_imageCapture.readyForCaptureChanged.connect(self.readyForCapture) + self.m_imageCapture.imageCaptured.connect(self.processCapturedImage) + self.m_imageCapture.imageSaved.connect(self.imageSaved) + self.m_imageCapture.errorOccurred.connect(self.displayCaptureError) + + self.m_captureSession.setVideoOutput(self._ui.viewfinder) + + self.updateCameraActive(self.m_camera.isActive()) + self.updateRecorderState(self.m_mediaRecorder.recorderState()) + self.readyForCapture(self.m_imageCapture.isReadyForCapture()) + + self.updateCaptureMode() + + self.m_camera.start() + + def keyPressEvent(self, event): + if event.isAutoRepeat(): + return + + key = event.key() + if key == Qt.Key_CameraFocus: + self.displayViewfinder() + event.accept() + elif key == Qt.Key_Camera: + if self.m_doImageCapture: + self.takeImage() + else: + if self.m_mediaRecorder.recorderState() == QMediaRecorder.RecordingState: + self.stop() + else: + self.record() + + event.accept() + else: + super().keyPressEvent(event) + + @Slot() + def updateRecordTime(self): + d = self.m_mediaRecorder.duration() / 1000 + self._ui.statusbar.showMessage(f"Recorded {d} sec") + + @Slot(int, QImage) + def processCapturedImage(self, requestId, img): + scaled_image = img.scaled(self._ui.viewfinder.size(), Qt.KeepAspectRatio, + Qt.SmoothTransformation) + + self._ui.lastImagePreviewLabel.setPixmap(QPixmap.fromImage(scaled_image)) + + # Display captured image for 4 seconds. + self.displayCapturedImage() + QTimer.singleShot(4000, self.displayViewfinder) + + @Slot() + def configureCaptureSettings(self): + if self.m_doImageCapture: + self.configureImageSettings() + else: + self.configureVideoSettings() + + @Slot() + def configureVideoSettings(self): + settings_dialog = VideoSettings(self.m_mediaRecorder) + + if settings_dialog.exec(): + settings_dialog.apply_settings() + + @Slot() + def configureImageSettings(self): + settings_dialog = ImageSettings(self.m_imageCapture) + + if settings_dialog.exec(): + settings_dialog.apply_image_settings() + + @Slot() + def record(self): + self.m_mediaRecorder.record() + self.updateRecordTime() + + @Slot() + def pause(self): + self.m_mediaRecorder.pause() + + @Slot() + def stop(self): + self.m_mediaRecorder.stop() + + @Slot(bool) + def setMuted(self, muted): + self.m_captureSession.audioInput().setMuted(muted) + + @Slot() + def takeImage(self): + self.m_isCapturingImage = True + self.m_imageCapture.captureToFile() + + @Slot(int, QImageCapture.Error, str) + def displayCaptureError(self, id, error, errorString): + QMessageBox.warning(self, "Image Capture Error", errorString) + self.m_isCapturingImage = False + + @Slot() + def startCamera(self): + self.m_camera.start() + + @Slot() + def stopCamera(self): + self.m_camera.stop() + + @Slot() + def updateCaptureMode(self): + tab_index = self._ui.captureWidget.currentIndex() + self.m_doImageCapture = (tab_index == 0) + + @Slot(bool) + def updateCameraActive(self, active): + if active: + self._ui.actionStartCamera.setEnabled(False) + self._ui.actionStopCamera.setEnabled(True) + self._ui.captureWidget.setEnabled(True) + self._ui.actionSettings.setEnabled(True) + else: + self._ui.actionStartCamera.setEnabled(True) + self._ui.actionStopCamera.setEnabled(False) + self._ui.captureWidget.setEnabled(False) + self._ui.actionSettings.setEnabled(False) + + @Slot(QMediaRecorder.RecorderState) + def updateRecorderState(self, state): + if state == QMediaRecorder.StoppedState: + self._ui.recordButton.setEnabled(True) + self._ui.pauseButton.setEnabled(True) + self._ui.stopButton.setEnabled(False) + self._ui.metaDataButton.setEnabled(True) + elif state == QMediaRecorder.PausedState: + self._ui.recordButton.setEnabled(True) + self._ui.pauseButton.setEnabled(False) + self._ui.stopButton.setEnabled(True) + self._ui.metaDataButton.setEnabled(False) + elif state == QMediaRecorder.RecordingState: + self._ui.recordButton.setEnabled(False) + self._ui.pauseButton.setEnabled(True) + self._ui.stopButton.setEnabled(True) + self._ui.metaDataButton.setEnabled(False) + + @Slot(int) + def setExposureCompensation(self, index): + self.m_camera.setExposureCompensation(index * 0.5) + + @Slot() + def displayRecorderError(self): + if self.m_mediaRecorder.error() != QMediaRecorder.NoError: + QMessageBox.warning(self, "Capture Error", + self.m_mediaRecorder.errorString()) + + @Slot() + def displayCameraError(self): + if self.m_camera.error() != QCamera.NoError: + QMessageBox.warning(self, "Camera Error", + self.m_camera.errorString()) + + @Slot(QAction) + def updateCameraDevice(self, action): + self.setCamera(QCameraDevice(action)) + + @Slot() + def displayViewfinder(self): + self._ui.stackedWidget.setCurrentIndex(0) + + @Slot() + def displayCapturedImage(self): + self._ui.stackedWidget.setCurrentIndex(1) + + @Slot(bool) + def readyForCapture(self, ready): + self._ui.takeImageButton.setEnabled(ready) + + @Slot(int, str) + def imageSaved(self, id, fileName): + f = QDir.toNativeSeparators(fileName) + self._ui.statusbar.showMessage(f"Captured \"{f}\"") + + self.m_isCapturingImage = False + if self.m_applicationExiting: + self.close() + + def closeEvent(self, event): + if self.m_isCapturingImage: + self.setEnabled(False) + self.m_applicationExiting = True + event.ignore() + else: + event.accept() + + @Slot() + def updateCameras(self): + self._ui.menuDevices.clear() + available_cameras = QMediaDevices.videoInputs() + for cameraDevice in available_cameras: + video_device_action = QAction(cameraDevice.description(), + self._video_devices_group) + video_device_action.setCheckable(True) + video_device_action.setData(cameraDevice) + if cameraDevice == QMediaDevices.defaultVideoInput(): + video_device_action.setChecked(True) + + self._ui.menuDevices.addAction(video_device_action) + + @Slot() + def showMetaDataDialog(self): + if not self.m_metaDataDialog: + self.m_metaDataDialog = MetaDataDialog(self) + self.m_metaDataDialog.setAttribute(Qt.WA_DeleteOnClose, False) + if self.m_metaDataDialog.exec() == QDialog.Accepted: + self.saveMetaData() + + @Slot() + def saveMetaData(self): + data = QMediaMetaData() + for i in range(0, QMediaMetaData.NumMetaData): + val = self.m_metaDataDialog.m_metaDataFields[i].text() + if val: + key = QMediaMetaData.Key(i) + if key == QMediaMetaData.CoverArtImage: + cover_art = QImage(val) + data.insert(key, cover_art) + elif key == QMediaMetaData.ThumbnailImage: + thumbnail = QImage(val) + data.insert(key, thumbnail) + elif key == QMediaMetaData.Date: + date = QDateTime.fromString(val) + data.insert(key, date) + else: + data.insert(key, val) + + self.m_mediaRecorder.setMetaData(data) diff --git a/examples/multimedia/camera/camera.pyproject b/examples/multimedia/camera/camera.pyproject new file mode 100644 index 0000000..9b4171d --- /dev/null +++ b/examples/multimedia/camera/camera.pyproject @@ -0,0 +1,10 @@ +{ + "files": ["main.py", + "camera.py", + "camera.ui", + "imagesettings.py", + "imagesettings.ui", + "metadatadialog.py", + "videosettings.py", + "videosettings.ui"] +} diff --git a/examples/multimedia/camera/camera.ui b/examples/multimedia/camera/camera.ui new file mode 100644 index 0000000..4584e90 --- /dev/null +++ b/examples/multimedia/camera/camera.ui @@ -0,0 +1,497 @@ + + + Camera + + + + 0 + 0 + 668 + 429 + + + + Camera + + + + + + + 0 + + + + Image + + + + + + Qt::Vertical + + + + 20 + 161 + + + + + + + + false + + + Capture Photo + + + + + + + -4 + + + 4 + + + 2 + + + Qt::Horizontal + + + QSlider::TicksAbove + + + + + + + Exposure Compensation: + + + + + + + + Video + + + + + + Record + + + + + + + Pause + + + + + + + Stop + + + + + + + Qt::Vertical + + + + 20 + 76 + + + + + + + + Mute + + + true + + + + + + + Set metadata + + + true + + + + + + + + + + + + 1 + 0 + + + + + + + + + 255 + 255 + 255 + + + + + + + 145 + 145 + 145 + + + + + + + + + 255 + 255 + 255 + + + + + + + 145 + 145 + 145 + + + + + + + + + 145 + 145 + 145 + + + + + + + 145 + 145 + 145 + + + + + + + + 0 + + + + + + + + + + + + + + + 0 + 0 + + + + QFrame::Box + + + + + + + + + + + + + + + + 0 + 0 + 668 + 19 + + + + + File + + + + + + + + + + + Devices + + + + + Help + + + + + + + + + + + Quit + + + Ctrl+Q + + + + + Start Camera + + + + + Stop Camera + + + + + Change Settings + + + + + About Qt + + + + + + QVideoWidget + QWidget +

    8!|ZGlz?Vr%@8aQ<6N0X3n5Xca^g-W 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�nXa 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 M$g8}qkTnVVKQu-6(*OVf literal 0 HcmV?d00001 diff --git a/examples/external/opencv/doc/opencv.rst b/examples/external/opencv/doc/opencv.rst new file mode 100644 index 0000000..ff2c725 --- /dev/null +++ b/examples/external/opencv/doc/opencv.rst @@ -0,0 +1,9 @@ +OpenCV Face Detection Example +============================= + +A Python application that demonstrates how to use OpenCV +and a trained model to detect faces detected from a webcam. + +.. image:: opencv.png + :width: 400 + :alt: OpenCV Face Detection Screenshot diff --git a/examples/external/opencv/opencv.pyproject b/examples/external/opencv/opencv.pyproject new file mode 100644 index 0000000..dd9a73e --- /dev/null +++ b/examples/external/opencv/opencv.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["webcam_pattern_detection.py"] +} diff --git a/examples/external/opencv/requirements.txt b/examples/external/opencv/requirements.txt new file mode 100644 index 0000000..0dd006b --- /dev/null +++ b/examples/external/opencv/requirements.txt @@ -0,0 +1 @@ +opencv-python diff --git a/examples/external/opencv/webcam_pattern_detection.py b/examples/external/opencv/webcam_pattern_detection.py new file mode 100644 index 0000000..a3a1e37 --- /dev/null +++ b/examples/external/opencv/webcam_pattern_detection.py @@ -0,0 +1,170 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import os +import sys +import time + +import cv2 +from PySide6.QtCore import Qt, QThread, Signal, Slot +from PySide6.QtGui import QAction, QImage, QKeySequence, QPixmap +from PySide6.QtWidgets import (QApplication, QComboBox, QGroupBox, + QHBoxLayout, QLabel, QMainWindow, QPushButton, + QSizePolicy, QVBoxLayout, QWidget) + + +"""This example uses the video from a webcam to apply pattern +detection from the OpenCV module. e.g.: face, eyes, body, etc.""" + + +class Thread(QThread): + updateFrame = Signal(QImage) + + def __init__(self, parent=None): + QThread.__init__(self, parent) + self.trained_file = None + self.status = True + self.cap = True + + def set_file(self, fname): + # The data comes with the 'opencv-python' module + self.trained_file = os.path.join(cv2.data.haarcascades, fname) + + def run(self): + self.cap = cv2.VideoCapture(0) + while self.status: + cascade = cv2.CascadeClassifier(self.trained_file) + ret, frame = self.cap.read() + if not ret: + continue + + # Reading frame in gray scale to process the pattern + gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) + + detections = cascade.detectMultiScale(gray_frame, scaleFactor=1.1, + minNeighbors=5, minSize=(30, 30)) + + # Drawing green rectangle around the pattern + for (x, y, w, h) in detections: + pos_ori = (x, y) + pos_end = (x + w, y + h) + color = (0, 255, 0) + cv2.rectangle(frame, pos_ori, pos_end, color, 2) + + # Reading the image in RGB to display it + color_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) + + # Creating and scaling QImage + h, w, ch = color_frame.shape + img = QImage(color_frame.data, w, h, ch * w, QImage.Format_RGB888) + scaled_img = img.scaled(640, 480, Qt.KeepAspectRatio) + + # Emit signal + self.updateFrame.emit(scaled_img) + sys.exit(-1) + + +class Window(QMainWindow): + def __init__(self): + super().__init__() + # Title and dimensions + self.setWindowTitle("Patterns detection") + self.setGeometry(0, 0, 800, 500) + + # Main menu bar + self.menu = self.menuBar() + self.menu_file = self.menu.addMenu("File") + exit = QAction("Exit", self, triggered=qApp.quit) + self.menu_file.addAction(exit) + + self.menu_about = self.menu.addMenu("&About") + about = QAction("About Qt", self, shortcut=QKeySequence(QKeySequence.HelpContents), + triggered=qApp.aboutQt) + self.menu_about.addAction(about) + + # Create a label for the display camera + self.label = QLabel(self) + self.label.setFixedSize(640, 480) + + # Thread in charge of updating the image + self.th = Thread(self) + self.th.finished.connect(self.close) + self.th.updateFrame.connect(self.setImage) + + # Model group + self.group_model = QGroupBox("Trained model") + self.group_model.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) + model_layout = QHBoxLayout() + + self.combobox = QComboBox() + for xml_file in os.listdir(cv2.data.haarcascades): + if xml_file.endswith(".xml"): + self.combobox.addItem(xml_file) + + model_layout.addWidget(QLabel("File:"), 10) + model_layout.addWidget(self.combobox, 90) + self.group_model.setLayout(model_layout) + + # Buttons layout + buttons_layout = QHBoxLayout() + self.button1 = QPushButton("Start") + self.button2 = QPushButton("Stop/Close") + self.button1.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) + self.button2.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) + buttons_layout.addWidget(self.button2) + buttons_layout.addWidget(self.button1) + + right_layout = QHBoxLayout() + right_layout.addWidget(self.group_model, 1) + right_layout.addLayout(buttons_layout, 1) + + # Main layout + layout = QVBoxLayout() + layout.addWidget(self.label) + layout.addLayout(right_layout) + + # Central widget + widget = QWidget(self) + widget.setLayout(layout) + self.setCentralWidget(widget) + + # Connections + self.button1.clicked.connect(self.start) + self.button2.clicked.connect(self.kill_thread) + self.button2.setEnabled(False) + self.combobox.currentTextChanged.connect(self.set_model) + + @Slot() + def set_model(self, text): + self.th.set_file(text) + + @Slot() + def kill_thread(self): + print("Finishing...") + self.button2.setEnabled(False) + self.button1.setEnabled(True) + self.th.cap.release() + cv2.destroyAllWindows() + self.status = False + self.th.terminate() + # Give time for the thread to finish + time.sleep(1) + + @Slot() + def start(self): + print("Starting...") + self.button2.setEnabled(True) + self.button1.setEnabled(False) + self.th.set_file(self.combobox.currentText()) + self.th.start() + + @Slot(QImage) + def setImage(self, image): + self.label.setPixmap(QPixmap.fromImage(image)) + + +if __name__ == "__main__": + app = QApplication() + w = Window() + w.show() + sys.exit(app.exec()) diff --git a/examples/external/pandas/dataframe_model.py b/examples/external/pandas/dataframe_model.py new file mode 100644 index 0000000..b3d9e81 --- /dev/null +++ b/examples/external/pandas/dataframe_model.py @@ -0,0 +1,82 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import pandas as pd + +from PySide6.QtWidgets import QTableView, QApplication +from PySide6.QtCore import QAbstractTableModel, Qt, QModelIndex +import sys + + +class PandasModel(QAbstractTableModel): + """A model to interface a Qt view with pandas dataframe """ + + def __init__(self, dataframe: pd.DataFrame, parent=None): + QAbstractTableModel.__init__(self, parent) + self._dataframe = dataframe + + def rowCount(self, parent=QModelIndex()) -> int: + """ Override method from QAbstractTableModel + + Return row count of the pandas DataFrame + """ + if parent == QModelIndex(): + return len(self._dataframe) + + return 0 + + def columnCount(self, parent=QModelIndex()) -> int: + """Override method from QAbstractTableModel + + Return column count of the pandas DataFrame + """ + if parent == QModelIndex(): + return len(self._dataframe.columns) + return 0 + + def data(self, index: QModelIndex, role=Qt.ItemDataRole): + """Override method from QAbstractTableModel + + Return data cell from the pandas DataFrame + """ + if not index.isValid(): + return None + + if role == Qt.DisplayRole: + return str(self._dataframe.iloc[index.row(), index.column()]) + + return None + + def headerData( + self, section: int, orientation: Qt.Orientation, role: Qt.ItemDataRole + ): + """Override method from QAbstractTableModel + + Return dataframe index as vertical header data and columns as horizontal header data. + """ + if role == Qt.DisplayRole: + if orientation == Qt.Horizontal: + return str(self._dataframe.columns[section]) + + if orientation == Qt.Vertical: + return str(self._dataframe.index[section]) + + return None + + +if __name__ == "__main__": + + app = QApplication(sys.argv) + + df = pd.read_csv("iris.csv") + + view = QTableView() + view.resize(800, 500) + view.horizontalHeader().setStretchLastSection(True) + view.setAlternatingRowColors(True) + view.setSelectionBehavior(QTableView.SelectRows) + + model = PandasModel(df) + view.setModel(model) + view.show() + app.exec() diff --git a/examples/external/pandas/doc/pandas.rst b/examples/external/pandas/doc/pandas.rst new file mode 100644 index 0000000..8e75eea --- /dev/null +++ b/examples/external/pandas/doc/pandas.rst @@ -0,0 +1,9 @@ +Pandas Simple Example +===================== + +A Python application that demonstrates how to visualize +a Pandas DataFrame. + +.. image:: pandas_simple.png + :width: 400 + :alt: Pandas Simple Screenshot diff --git a/examples/external/pandas/doc/pandas_simple.png b/examples/external/pandas/doc/pandas_simple.png new file mode 100644 index 0000000000000000000000000000000000000000..ea5d240bde74766810ddb3d501ad2081a39259ac GIT binary patch literal 37161 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%0AY*-stq{!;iA^^0XX*DZhf$7w(A>yaZi6h#hi~ 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 literal 0 HcmV?d00001 diff --git a/examples/external/pandas/iris.csv b/examples/external/pandas/iris.csv new file mode 100644 index 0000000..bf14e16 --- /dev/null +++ b/examples/external/pandas/iris.csv @@ -0,0 +1,151 @@ +"sepal.length","sepal.width","petal.length","petal.width","variety" +5.1,3.5,1.4,.2,"Setosa" +4.9,3,1.4,.2,"Setosa" +4.7,3.2,1.3,.2,"Setosa" +4.6,3.1,1.5,.2,"Setosa" +5,3.6,1.4,.2,"Setosa" +5.4,3.9,1.7,.4,"Setosa" +4.6,3.4,1.4,.3,"Setosa" +5,3.4,1.5,.2,"Setosa" +4.4,2.9,1.4,.2,"Setosa" +4.9,3.1,1.5,.1,"Setosa" +5.4,3.7,1.5,.2,"Setosa" +4.8,3.4,1.6,.2,"Setosa" +4.8,3,1.4,.1,"Setosa" +4.3,3,1.1,.1,"Setosa" +5.8,4,1.2,.2,"Setosa" +5.7,4.4,1.5,.4,"Setosa" +5.4,3.9,1.3,.4,"Setosa" +5.1,3.5,1.4,.3,"Setosa" +5.7,3.8,1.7,.3,"Setosa" +5.1,3.8,1.5,.3,"Setosa" +5.4,3.4,1.7,.2,"Setosa" +5.1,3.7,1.5,.4,"Setosa" +4.6,3.6,1,.2,"Setosa" +5.1,3.3,1.7,.5,"Setosa" +4.8,3.4,1.9,.2,"Setosa" +5,3,1.6,.2,"Setosa" +5,3.4,1.6,.4,"Setosa" +5.2,3.5,1.5,.2,"Setosa" +5.2,3.4,1.4,.2,"Setosa" +4.7,3.2,1.6,.2,"Setosa" +4.8,3.1,1.6,.2,"Setosa" +5.4,3.4,1.5,.4,"Setosa" +5.2,4.1,1.5,.1,"Setosa" +5.5,4.2,1.4,.2,"Setosa" +4.9,3.1,1.5,.2,"Setosa" +5,3.2,1.2,.2,"Setosa" +5.5,3.5,1.3,.2,"Setosa" +4.9,3.6,1.4,.1,"Setosa" +4.4,3,1.3,.2,"Setosa" +5.1,3.4,1.5,.2,"Setosa" +5,3.5,1.3,.3,"Setosa" +4.5,2.3,1.3,.3,"Setosa" +4.4,3.2,1.3,.2,"Setosa" +5,3.5,1.6,.6,"Setosa" +5.1,3.8,1.9,.4,"Setosa" +4.8,3,1.4,.3,"Setosa" +5.1,3.8,1.6,.2,"Setosa" +4.6,3.2,1.4,.2,"Setosa" +5.3,3.7,1.5,.2,"Setosa" +5,3.3,1.4,.2,"Setosa" +7,3.2,4.7,1.4,"Versicolor" +6.4,3.2,4.5,1.5,"Versicolor" +6.9,3.1,4.9,1.5,"Versicolor" +5.5,2.3,4,1.3,"Versicolor" +6.5,2.8,4.6,1.5,"Versicolor" +5.7,2.8,4.5,1.3,"Versicolor" +6.3,3.3,4.7,1.6,"Versicolor" +4.9,2.4,3.3,1,"Versicolor" +6.6,2.9,4.6,1.3,"Versicolor" +5.2,2.7,3.9,1.4,"Versicolor" +5,2,3.5,1,"Versicolor" +5.9,3,4.2,1.5,"Versicolor" +6,2.2,4,1,"Versicolor" +6.1,2.9,4.7,1.4,"Versicolor" +5.6,2.9,3.6,1.3,"Versicolor" +6.7,3.1,4.4,1.4,"Versicolor" +5.6,3,4.5,1.5,"Versicolor" +5.8,2.7,4.1,1,"Versicolor" +6.2,2.2,4.5,1.5,"Versicolor" +5.6,2.5,3.9,1.1,"Versicolor" +5.9,3.2,4.8,1.8,"Versicolor" +6.1,2.8,4,1.3,"Versicolor" +6.3,2.5,4.9,1.5,"Versicolor" +6.1,2.8,4.7,1.2,"Versicolor" +6.4,2.9,4.3,1.3,"Versicolor" +6.6,3,4.4,1.4,"Versicolor" +6.8,2.8,4.8,1.4,"Versicolor" +6.7,3,5,1.7,"Versicolor" +6,2.9,4.5,1.5,"Versicolor" +5.7,2.6,3.5,1,"Versicolor" +5.5,2.4,3.8,1.1,"Versicolor" +5.5,2.4,3.7,1,"Versicolor" +5.8,2.7,3.9,1.2,"Versicolor" +6,2.7,5.1,1.6,"Versicolor" +5.4,3,4.5,1.5,"Versicolor" +6,3.4,4.5,1.6,"Versicolor" +6.7,3.1,4.7,1.5,"Versicolor" +6.3,2.3,4.4,1.3,"Versicolor" +5.6,3,4.1,1.3,"Versicolor" +5.5,2.5,4,1.3,"Versicolor" +5.5,2.6,4.4,1.2,"Versicolor" +6.1,3,4.6,1.4,"Versicolor" +5.8,2.6,4,1.2,"Versicolor" +5,2.3,3.3,1,"Versicolor" +5.6,2.7,4.2,1.3,"Versicolor" +5.7,3,4.2,1.2,"Versicolor" +5.7,2.9,4.2,1.3,"Versicolor" +6.2,2.9,4.3,1.3,"Versicolor" +5.1,2.5,3,1.1,"Versicolor" +5.7,2.8,4.1,1.3,"Versicolor" +6.3,3.3,6,2.5,"Virginica" +5.8,2.7,5.1,1.9,"Virginica" +7.1,3,5.9,2.1,"Virginica" +6.3,2.9,5.6,1.8,"Virginica" +6.5,3,5.8,2.2,"Virginica" +7.6,3,6.6,2.1,"Virginica" +4.9,2.5,4.5,1.7,"Virginica" +7.3,2.9,6.3,1.8,"Virginica" +6.7,2.5,5.8,1.8,"Virginica" +7.2,3.6,6.1,2.5,"Virginica" +6.5,3.2,5.1,2,"Virginica" +6.4,2.7,5.3,1.9,"Virginica" +6.8,3,5.5,2.1,"Virginica" +5.7,2.5,5,2,"Virginica" +5.8,2.8,5.1,2.4,"Virginica" +6.4,3.2,5.3,2.3,"Virginica" +6.5,3,5.5,1.8,"Virginica" +7.7,3.8,6.7,2.2,"Virginica" +7.7,2.6,6.9,2.3,"Virginica" +6,2.2,5,1.5,"Virginica" +6.9,3.2,5.7,2.3,"Virginica" +5.6,2.8,4.9,2,"Virginica" +7.7,2.8,6.7,2,"Virginica" +6.3,2.7,4.9,1.8,"Virginica" +6.7,3.3,5.7,2.1,"Virginica" +7.2,3.2,6,1.8,"Virginica" +6.2,2.8,4.8,1.8,"Virginica" +6.1,3,4.9,1.8,"Virginica" +6.4,2.8,5.6,2.1,"Virginica" +7.2,3,5.8,1.6,"Virginica" +7.4,2.8,6.1,1.9,"Virginica" +7.9,3.8,6.4,2,"Virginica" +6.4,2.8,5.6,2.2,"Virginica" +6.3,2.8,5.1,1.5,"Virginica" +6.1,2.6,5.6,1.4,"Virginica" +7.7,3,6.1,2.3,"Virginica" +6.3,3.4,5.6,2.4,"Virginica" +6.4,3.1,5.5,1.8,"Virginica" +6,3,4.8,1.8,"Virginica" +6.9,3.1,5.4,2.1,"Virginica" +6.7,3.1,5.6,2.4,"Virginica" +6.9,3.1,5.1,2.3,"Virginica" +5.8,2.7,5.1,1.9,"Virginica" +6.8,3.2,5.9,2.3,"Virginica" +6.7,3.3,5.7,2.5,"Virginica" +6.7,3,5.2,2.3,"Virginica" +6.3,2.5,5,1.9,"Virginica" +6.5,3,5.2,2,"Virginica" +6.2,3.4,5.4,2.3,"Virginica" +5.9,3,5.1,1.8,"Virginica" diff --git a/examples/external/pandas/pandas.pyproject b/examples/external/pandas/pandas.pyproject new file mode 100644 index 0000000..4731cf7 --- /dev/null +++ b/examples/external/pandas/pandas.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["dataframe_model.py"] +} diff --git a/examples/external/pandas/requirements.txt b/examples/external/pandas/requirements.txt new file mode 100644 index 0000000..fb6c7ed --- /dev/null +++ b/examples/external/pandas/requirements.txt @@ -0,0 +1 @@ +pandas diff --git a/examples/external/scikit/doc/scikit.png b/examples/external/scikit/doc/scikit.png new file mode 100644 index 0000000000000000000000000000000000000000..930a1c7c9c1c1d9cfe3c50aad187d5492465849d GIT binary patch literal 390406 zcmce7byQUU8|DxSND8PlqO^!~mje<55<^MH(A}L%JD|eQ9RmUa($YvOHFS4(ckbo; z{q3GTXV320-Lq%^;vVMSPrRS^eV*ri?o7C{q742cibo(22wzTC3JL;Y0+;9-*yz9? zIS*q@(1YV%IjOg59+TTMo(a_Ii2}E0Y?ZSObwjC7uqmW8zHy>G>_m$(Qo$sD`qq4$ z=v2rx*LoWXfiwq~9_mq@F%d3vrat!jyVE96Ut)Td-ajiZtNkLH&9gIyELpzioLB`3euvpy4uU+?># zPOR-!NIui|Fe=ihySu$InCRUt>t-hu*$2_s|MO5q@X{MI$)|X>VJD7e!V~#L;pA4e*EV`00zOh*H#gs*!ld)*4R|A60n=hP@39a zz9}}{Uk)P$>TU~0q10|Wm1C2g)pLGV(G2pSd6M+=wh(;E*}L1bJz&{$SF>mP-(UW- zZUxY-MkkeXPk(>^%P%5MQ?}Kq?NoW4Y(9CVk>Yo`(R9&kuWwPlmhOMMJyBlL zc)2-uv+GWK-i-C%%^Xd8yB})5PC-rWyZgxhdWqKmYHH5!_9*?#*S{}CusiPc)xa0O zW2ifWTr{QKuZ5qj1WPHjKKsANbe-Sd{oEw+*`)QGD_ESV zz28x?!DjLGGL!g#_8t&HkVD&J87hzYz?Uyye){wY#9`h?Ri{|`;m3#-CBGdNIeDU> zbMBIW+l7XX?a6*C;nITCKZ&^hL>Bb%d4j0-slf*$U^DH;2eaOL$m5kUQa$HhUb*P) z+O6VK8RW3*n4bILUnUF*{WIEk1Ix?HKeWo3k;#0v#NctN`9$-yL|*Hspdh1!+VYKH_OM5usd^S`|& z^gnNnlwM-6UBD7Q|9v`T-(>PP`gbu>K3?qheCdnGAvTE0byx*RNT%8S5Pp%%_3XQw zxjTFiymSx9yr$cel4oom_7{M0T5#V?`<~698Ey2K`&* zRnI-_ss6p>K$G}SKxqylDfx|G{d;poaI+xj-w$lx{>1$EicSIaFT8*gK>ywr^xqyg zLJ#<#K@T>`f2Jj3{Lhg8tAT)<^`E2xWu)YPIpn=v+Bse0Y>rC1sj6<+0glq=`k>Qb zP}-_;lD%&GkZbnFv}s?x%r}VW()+xX_Ex!Y#BJOtbj|m4iT2K;NaH>YerD=lpWFe5 zR6JsJUv;IXz(OqK-B)5Y*|jUy0r=|x5W;QNbFI4Zq-berNmJLcUEh1hbpsi1d{FPIqJ4QRBXAH9VE-rbTzZbZqRsL zo_=FPgxN{!fBku4_+l;HfHhXXL#%%L*$W`>Z)Pch6gWbO`vb_)nk$h2%6L82*49RD zo`MDfa&K0SDYfE4VdWagn>SBC-=jf~xmY;>zo<0Ps}j2+cicCByZz{Z(mr17P2$CE za_qnJ{(v5&uUA}u*yUE&03>g^$6`3j_cZKf)HnbTG4vOs)s3-lrh#kgO6}}{50zFU z07S0#r6!N%iB%8lTl-F!#=q9CuvqO$yvG8Rz!Kc6!EgDS%&1i*P&@Pnwv)J>ot@T| zlT&lIZY(RBO_w7x?sL8t78aefBAZm%!y!w8%a2q;JAK0$K;Hc|zhS6hN{fy$V)oN8K%5>^!6sSrIKhZPo8B>@xB zcyBxI)~r=c?f3-4q6Aj~{KN<-EUqmW9TC=CsBXI1Dea`Gn{k`MCm`4bK4ePwIgC*f zo49IMD;xn9LrW*ss0^tADp9Qe|>@!mcOSS7HMgVa4AEEEGk#$LX)H>Xp!8A{lmvrnRg zHkm=^7bt%*+lzP4^jrX9;Y;oX)?{mFI3HYf_w9?1$;IKy)>w%_y~n|QMjrL@?*Z)S zNY#|!%iRHR7pKAPVLUJ`5DF$HrZ+Xq(Eu%-6g&TAh}ZQwXjdU^Sb1$f0h|#zOw+*k zMEveZyhOi&f{-0-f$IXC3pFsr8ITgdoYfu&#&m7%&kX8;P5=G-*V6iSQ?p5EzZqi; zfMtgTFzV_|TAFth9IorJ5R66RVL1EN`43$v6+lg(pWW4QExTS)Zd``8c*3Ac_Da z9~HYd6nK&9Z=GrpS`)gUsf)EgC&rwx&Twi0Ecv+<{r|SnwW8* zOwDIg_)S;4bxr+`fTE-Xi2%u@Z4Kc!{~536HUUu8eSoHx4(m%APDXV!i**Ho(RJ(_ zTmgmy^;=aE2yg$a+pXPd-=50;BF2iW2ll;+N+$#owtuz%;3jrXEfB?@M+^!gOtsF`cit-2uV1w?phZ0a5 z_wma3M9^j60c3a6QR?0gHP+Kk<_JZxi)Bjt`U7Ad;hW(~}fHuiZ-=K)&tIeFuu>d zpt-v_^Iv&ou(7uXEVaq5uJE420LH$a1E>$E)5DSg5e5Mu(gs#TdH|sAd7`}88;%E! zOR+)x(+;f%K;;AUOyz%l0Ou5`?4QGy0reNkCgr9oVu5bK&l+zClp!NqC$lR+Xn#cB zqGj-NuDb$3!f0j^zmTK6!H~#TyIg$MbiR1DZ*6du1l%$Yl=ISn3@ttgz^{_SC#L|0 z&B}`-kB3#2W&j1b3y3`Ch<&1$LHbyHcGDlc#TwcZ`J!*TG#kO#_vdnmo4q7paJ~2p z$bMkWV-vW3b_a{?7YSBmAyuraz?z$uqvf|_X+dK9frLFtyjy2YcfR(I2LQR6By$H+ zW+rVsj4c5*zpkD>)D-XL9n&4MsssdsIIvz2-EvI&_40i|+RfDZ;8tqy07t{!;j{mV z)@L=*Tv2F)9yuKGz9(}4EA8Hv|qjSa?q zcFJCQW;_1N5w-_L4mX_5UX8=P@KWHjFaS(fIch!nV*)6p0<$~U6?Z;t@{ zQo3C^jB>AELZ~Wgl^VALIW}We86~{?3xhx)<4j$K+I3iPEv4LPr3>Y=%AMj2`cUJ9 zBw7Ttd(+JU!vugRc{A{P74HqO9dPEq0FYji3j@?m32oY1u+jL2OGih?Q$U^7Z^5IY z&_S>tXM^@l^tXo{+00heQzKTD%FGJho9`Gw7r)*X>#}1=#F<`1d+#;4Pn4OWM2>o# z4Q7R3;sbH2yS%#cKP^ueb-(Bozde|J3-V_00b~xKXpZd6jg7O;IxWxK%2Vf14GYP7 zX}Ok-%K+P+YMG~=Osi;2JvfTDovgqC0lZjf*;FbfDY^5Y6I}nXU_Lb z^tfNr8=%ai;{AR}LbPT8&p3+un6N)K)tkb4=6>0~QPUc}GCc)&`%OgF8=nQ-D}ajt zb>=&V72tnW?O(SNr*nHsErFdmMl?mz1oU*zC^GNa>~53yv_#*-|KPJhiem>k&`P}0 z`0=5_VxYM>plC83Sa9Kp*SES$aCK@z)iqEgUY8qrXoemh9<3qxL(+Vpc|Zmk)Hnfx zP2aQsE!GSmjga0cz3~n|x)7C`y z3~fACE)DKZ z46b&n=kCz}`Nnsn=F0g#8H?UDo-YC!W$NJIFe!p|uk+VEk55h}>iB(tX4Rn7_?`YX zGxGYhy2&>5K_5_;&yLIk(zk+06hQ%R{4csszjT8n>Sk__ft5mb>Koqn1GRssqobgp zkmA(E0$~v;!_Iuo-jZ<)qrFPtGy}>6=&hH$J9?|6=@w|>fcAU`CAdZf`pM5& z3pg3uREzreu#vA;dwtkF#3KsyUbc&Y{e}4V#Gl$qC@vC_1@!$fcL%h0jtjxhb}NPy z5rY7y*ccmsbiNIKq0L%f>(tWCI zps5{@)o#;{oq%RGsh)AW>h!;sVOe?Ocko%O-0U@ADtI#W&;|8xP2H<}pk=l9-O>TH z&jcWotAKi8jsT7)5gAr291N4q#AECfJ;GGBZv!rxa0@EgT|? zVK3R6uARWxqjwpa_I^?C1N4KV0118%3!iAO=K)^@2<$Z=4uJjvQ0TkyP1h?GhnMkI zfX{PJpZ9Iuz393Be;uGx00JwTut9Ieoyl8lccxmq$HzgW{HN#V_nr)3Fwg?r0VKXs z-b@z&rBzhVbRB*JX+;1u3kwTI-bTm1capT1{ZBM?4d9}#K3h#9jHY69aSu9m;U?y^Q?YN6d<{p zjof5LMn*udf4}e8E6;pKwcqGe{g|*x1GHE}wUa)e&w;}+RH)xe<|< zIvwgpXByj91$f#GklRi*@YqYBnZ9+qKTu%ljet<10$iPOiuDm3fSKb~0QIn!iaBb- zckgcrM9l$xlF<^-gkDk>={H<h^@?C zjR z;D2-;|5xq*o&SZrKURizkuk=7K`1oncNU6*v26o2uc)H_<1th``2Anq%>PgR!@owx z|BhMlf9HDqpT+3^&TIL9Z_NCUd;LE=j^;TOGG71QuRU*UvKYt$Dvy?s1IRD-g%KJ$ zfMP%(ppo-)=pZ-u*>z6$Ue64@??3=4W^ZDG`Gpg>vv2WWAHxdTkHmpjs%TDUhh*Ih$F=l{hh~Pk4pa?&l`FW z3@cN1t(0~HcsFZr&>I+dzp(rD$ z#LD1uFdpzlQf3*_#V&V{9L!I_sddF9p%sVGQJtopoh$ZfZ-Wwn z1nft{upX63Wr(dm0xh84yledKF~}G`piPnen>i6_Imii72Elkto0-vUvot;h9#B!p z6qz|k6B!~fizS=kk#H$T5e{pDvyTE%k%RC-wvCESl2i>*J6@kJs6?@MQ> zl$FqS1=bQ}!|C3fgZht454pOjI_V^q*sR^7Iq;}Mx7g%_iw@pz$&8B5d?);3uWeo7 zCiv#zyLj(JH5G(xHXbKri@rCA>xF7KUy?)TYXQ4vvSeN!=hJx*C+j8;bU-dR1Mw=8 zDWp?i0kW}xPr0b5#vVLk#lm(G@<$1m6k>@s-*2#-y%(7f26aJF-R4&BtB};k`1PuuFKibl8j)pQny>=Uh z3@VnYxqNb}%cii^V#8;BuS$oLtu>m7NhPgYQ1YYG=gK(Q8Pzw(5hC7Y3FHn5}7*N z!zf81$CL;>W=#r2CPEMrH~_&VKi4O^EM7W)D}imxGr8pYd**Fly_xmQ(id@M_Ht@> zzaz?L_4#Vae?N2A9}+os>t}-V3vmKCp)C2NYj9PX&eGOY@COH7EO@@sXpJNU31y1H z2Qk!-SXoPI@AQqEa4V|cH7gfE<%Cpxow%&3$&ph%>Eb**&k=wbDgH!0I5RV`WGxYcK}3-7QPp_8qDs!MUr3Z8%t*u}RvX!nZyXUi z{PC3&YDtTc1+dYr@HnJ>(kU^tDPeeYZDdD-SJZhlvXWEqD0H`s)T{;p$1V#)( zDf)0g%%59hof_Vf;f%OevAFY zdNJn-mh~Int}&sVnki4-@ngSg%otY7p6H!?zhVw<{OL^;ev@!osyC5F1KF5evi@Rt z)=n=jxlP=$ZPh$J{B6fBahbA$P{Ez@^!-lFgy@7zl2uXVjOduD8*a*wPv`c+u3+nt z0lqOUxAf5wK1hH`)I7fQ&MXnyB|xx}!fJZxJaR+^BW=#fUriY&j5XE9WkajXoEE z>up5KpWN$twCed*fCKiG3}cXoDKwPdhWXi}PZ-<+E2JKS;n)K!U|AeX-egA@+=}`s zdOYU~^*>r4@-N#n)be?sXmN?QJ#uc)I1a#67^iRQ7uc>x1^<@X$3dI!3 zO?GM(vyAh%pP@@z62D9N#$#8=#{T59v@*(lkQqJpB4cx>w$pHSI}?J;skE%KLzqY* zkw1w|vxdm=TcC8zv5$hyxEVWwinlKOp1-F<7?qM;rm4Kx;VE~!DgE|M(Hbg;RDTG` z4N}2^4@#Mlx)cOKyVew&e=Ul{u&RR#!@>}cQJHe{s?s%U>Nu~ery}V$ETl<7iJu1v z20tfFltpTU)TZruNp%e;Bn%RT#hVNs$Rkv~Y#2+J_6YTcZ1TjeMLWGK2ny6GRyXUK zpd52idm0)Ho=$*k_tN)Lg?bjNQd6;xUAF%GLroxEQ_K`ppmzBx*6D-8lH%utA7rHO zh>@vPospg7sP8Z4g;OrR#1eA~CZ77<#5M*7I@OGCRNw{BVrnBH z(U9N#Jv%vNB%LEpa(UEtLB!OIOXR)`itz4yL@DWC`0qwYC6x6^Ia`bz%-E$h7oV~r zLz(_2YO9cKBm+-5l)E$M!CZE<^4s4IE0_ehgNiyi9V-Yl$AlRA#4W6mTeMa0@ZmO` z-~|;nct6~sNXu5bnfVFSqDXYkRd0+8W7vYF{QD9I$~;H67~MoDGVF1x;;Z+A^zUbctWJh@JZ)HBy;JSlzlzV=cZR6$&79m}4x6E8Hh>Irxe1ze|NF>L%@6Ap6hR zJ&KovkWk+DLsB`=@XSPv;w{(7RE~X?%oO3MEvLS~aoLtPafJ{|7Ub50j)b4eIX#r= zHV@J$L*8=Y<$Tp9K{v!ZY0W56HoK05bT?WR4gK{g8PeRc{#rFaDxq1}?vxKL8ihY5 ztr#U{#`ze{*~|FNlJRpegpt&OjEo91rY7nyjO$ptW)kB(C3I#Sj6nv8#MiZ{z>%;y zhV`sw#6T&(C&gCydY*ftO2uNbH?a_rP^KJ*WQ z8cVj?u^QXBjOcYL3qARQPDZJV4x&>v`o5$L!GUF*s3B}x4XzTLp9hT-O@~AyD8TTW zZ8xPd1zbANHm;n#nXx245)Ua6hVLKf3_HT7taj`pONM|1u!!pB!% zV3K9?omTD`emWOf8k}_K!=}@=2C)RWQFW0m`D{)b;$aVTSR})Mr8&x04`fUc(%&fio*kNazo+zGfF>BPaU2cVE zyv^r{ky>jC7=lO$)d|lm?#52+a?2S$B{l2`Igz%$M`dS3dLBs?^`YC=?kCY~o`9^G zAt`KI_(KpZp;wSO)vIVU1lnHHrxV~j>doplBo2c=?1!>;@ZEJ0fh!nG#tLt?n9v;b z+yQss{zVmm;4)D%Y6kF4^HQ83dqQbzo@rxsIch}@jL;Bv{1hZHB=7+(?oeHnt^1-{ zn1=PBtE`}l`~w520*%8MHTSFvvB$y1+`|UWB6&|_U`sJ=bm62cP$Rb@ZB|Sg^H?W! zaxP9mtse;0e2SOJ+OT9YS1n~;#Q{!6>~6#7s4aZXhZ3*e<5Z5Jvmi%_;e5{#3gHlu z-11*TDdXdIyrL-lPs*-Y-^EH-55%jsvbA%KShm#)rtx_}oVltc;wNk3{8Kwx&Z~g~ z0PI?Qf@+(wMt*|Iv5eU8>2nmybIQPacO#Y52>KA`gYWq->`l)^iy$qq6W1oROZM;~%9MetqIe4IyanFi@Q z%TLN*{;+c5n9{tQcYsnc^KW|Dm}Gqb-l0dynMNSXNP}>_ zRK^_jI%Pv8bLHaXc06f#`z?7R#VxO&j~1xqt6yD}E7pmXX-&46!NGfDdTG;F(=}DV@$2mVV93ZwwQ!Fe9w;6&{kB0KZU&O zTyd^WGbq4Ex9B94M;hm=0XA+2(U-FDUylcHn3%Er-oCPwl4-Y1ta>+kAi(m_SKCaE zm{$iMbynrq>ci4L1h@-2)qNJ~MWa@}yt|j}(7zl>;R@uoASpKDmoa?SJX@(6L#~N? zf~ksGInP5}vgmi{U&IC*tEh^JaJ97l{IKI(Q;1I(L8HkN@dVjONs6X0ZP#u&tw@3z zD&CW0iT;(%{rLRJn0wYJCRvwHQb!Tk^{d-r&g}OwChY@Re*=Rg7a_UrUs2K8vUIK% zYN~Q{LkZk=9)HloVwjmdd@Hr55sch&+z}M`B?8UlpJO4DwtXVt{4Ix$7I5aefJoGf z%%Ij^qf(Ih6lfo_sRTJvF^&N`S}JPF1I#eIzMzon^7BOShf3L$Sl)JB$@yY)uT)ZTVCwKf1R*e;&kans!rQz7pX{ zz)|!`oG{Pp)Xf>sd`ToZ7CUp>4I7Qc_N&QUw@IQgoD9~wI6Hu`ep+Kkz<}flBD?bR z4yCs7f{pFDfh1{2tZhMfbUb@PJ3A?6@MYTR-OQbXoyLgePk4NBm8JQJ$zs^27PcXX zCHU9Ypk2(S4_mv~SEw*SWoFGzbrtzHe5{>3We5qlPH?;&Y%(Qj>s~U|fbUQDXRCLy zf^UW>ZnbbKdye{Z!X&c(bHkL3*a>SNzk4AGdWx#I(8`(#>Z|;0vm32f-F~`j)$wj- z??Z3y_rltyDD&jB6)i1yGV=oGRL%lk6^MK2+wCD~>z7E*j%D8q(ewe3viJ0nBc1o4 zm~dT!6_GbjU3CUMB07!RVRN}uhHsA3+jx8~d3TQm&G2GsLNdRywA5QH1SXzgYt*rQ zjl#M{N~guEV+e1XdGZw+pnlMt}hdyt7szeFwPD(*}NWbl*9; z5NeUqFTA=yj>lEkxE z*GEM@EUF}Cq3dwQUQ&~#6WUogQBsQf;+CaRqZ{o=(UoO< zFrCKtG02tkb#Vc{C&PnxJTj3}8`EZ)blzz21Hr^dnfg7(q`<#}Z3^}lXDGzVR<|pxH7G=*a3+DuezY^}8#JOH zXw}MysruLf%!)lro)_C$K;LDHD(!m0>kVwQzXEWFnmu z*CWJ5@mdXn3n`Q;{nGm5Rsi9Pr0-ui^>(-3;N`Gqrma~!G=q@CCqA9dzT!k+BJgh_ z4hayP4`R)M0L6eG{~6>_hsfn)X9j(3K4Uh8JMR*)(8J(FR&YgG^i9W{lO8rnj| z2CPqnccco9N#7xu8C1bM?qnD;InmA?%yNTLuQqB4%%h$0gNTiz>2no6#{G*{4VhK= zFKcJM_ETd$zrZNMUqcXm9en!z*v%(NBp?H^tn%6SH7r?jb`6)I_h=Vtf97vrVT&OK z!w!gSKD?>cs~MVmQIb{qR);2d>dV*AU!E4Ro&9dS9brV;EJdWHH;Y3~Pju40$=Hah zOQ_m^t5%@Vn(WvfMfLC2P31Czl9R{W>L{~=IN+9j{4#-V{1u}JXc2w@-$N>M)|H<{ zws$+PKa^1)@m*KGE%1E_$wU90MrvAcH%n&QDR;=j= z6B)h37RsqAZOWoNa zWb$Z9YKjeh55(ND4<|OI7BJ0tgC@CC(LoQgbJQO3D04tu7Qc^-ek6HP-N7gmD%>md z;GNVc8RZnIJMeOOolE~%kO>k#%s?TP^v)I;e$aY3p3ujYh)nIEFN*y>5V%L5YU5%& zeMH4j{%a<8nE9K~w5bRPE%JcT0^`MzZ>~q(h{Xf_{Q0;g3oc3(eL97~1WP%VA?;TT zdZ;P0Dcgbv_BKP8IYSXiy{jg^#x_4@tR7#zw}cauXXEk2zA#d=?AJC^liwA9TRd!8 zc~}uXBoIYmNldbzR3u~yLR2nRF~S{Jf7Qp($B?|vVsWJ!!+H%=0qceXE!kK|DNzs{ zME|QlJWIi5*>0ZrgM7+Sm zZNz}ML|3S?gse37TVPDT1b4_mYL-0M-F5R#V8+w9K?cmib`lcSMdVA-;j>v6kQhUlR( z;SYnqLPsqsMCXn~#W@F~FanHT#AvhFlF}id)FDwzak}v)i9=CI#htqGR_~tBkxIy+ zX@_PKa=NA{SQh`5O*GZgVD;*8<;3*w)!XsTwgO|X<>(kF9{y~;9alxetZLF=nc3M3 zs(<+MP4l|Odj-+;(_zJvz14y89h%)8uJl}{d5(*xpxg+CG6imFn{emq7k`#jRNR*? z1X@=g?OE!zdsa*qrKGW*{}EoTx~w>fmDw8k{ux3r5ZRaPC^exctajD>Kc*7sQ*Rp^!JM)~CRvZs7LeMsM<2a} z<2sZ#trFXJm?M)?5-xO53sKpXk8q9ZMkr<~{=PvBN|8Pa&e7t8dKJr?XsKl3^I~r6 zQiI_dld?G4*4c1~8bxIiiKDfXODlKlRyz9wzar=$6n#BshHBy`K}C|d{nOYM(`Gm$ zq>CpUwt!y2#8fGZ+y1e~_$BwF$rS}>eY{qy%5BFqhHxTsqE;%Ug3bw5aSA?}+{OD}SxrjSV$P|P86 z>yLi=IdBbqoa+&b)GBA1)WG?Af^0Bf?Su`zBa{5Qq+E)GXF+ngFY z27>autDkv8%JJdwLg11RO|}RmTOlVFI{z$1;A0eV&&l_tz=061T)D!DLmw2O2)Z=x zh#e2Jqpmn;M;RSjXeMkdCC^fchzt*Rt3&44DGUobvzUU)Gzu}(NZcnW`CPC$i`O1^ zWhoZmZ_rX5w;1QTa7R5kVfB@C9Nv_A4StstUOIr29|>i}yWvP_7}0RX!om{m{5z;- zxpRfKM#F%~)BQmqe}TYVq`GBBKvB1odYe$tS-aQG*F{xX!Q+GLHFRB2>?kM$iX*L_ zsR4=pHDT2yfQC+kdu6o(M+bWBvm)&fJ-T zYQ_$o9nPd&8r62FGFwnlh=X3J%A_S<)@sn)SdCA~3@&_oeH6gzMcz@GP+!1b`Fg!`Xc@-!Lk^$*^YhH<@Y(6ctDIQuM z%}{zTzjKNeQy*8WV^UW0F#C%1_!Kea@tqQ$Br=%#6xkr*WPF$~tD!rt{Du(o$fKfK zu^~Bfxm+{-iRT*Sp5g(|jDn=RuP7tZfjz4xAUHwEO`an&!cbdC! zJg(*w!mvk;!Ha)_uA#G_Is<9`(|B{p_0yPT!(OgVcp7RbRY>3SU7Q}b602A4T9O?@ z?B65xs{)bBbUx#+sM$W@Ki+w4XQ!XfQbs%@>S~1N?0Vd$Fvhj0RAG9jK7D!UQy7y) zso68OR&;oDJ&FzMX{@NE7Hj|T!yiuCyiuZ9US)l~FKrsg(dpb4Rwr5Ma`iJ18*(aM zGMl-K53!9XGu=~6tdc@SQDo)9HJ)+Yz^g_j$6*b*@);{qTqB}~I|8|B2IOS>5p+v5 z?hO`MjgCvX_$ZO0@*MvR;-~1yAhf06OpR#{ewD9``CK5w4rx9Hm4+r=R`u@blR#o) z*}{>@Uq(y0?~@;fhCDQXpk^BLaw~y*qc)8)sEfq{9GUqr3~fm$#o__PiVo4`66f%e zHE>C`dPg~Zz|D7>{@a!^>g=tVR-SEz6WK;d95bnJd?z?Z+j)`HXHNDBZ;}xiM|Suq zYxiW4MiL_i_vNdVveB{$3q`)orIWvIY}Xl+{2cBMt9W!V^qWCyEggOkX=2qNAx6*(&-9A6t-9-nud1Um_S4{DL^bY7J5CLsLGkeTzR z?58q1hBiy5(c2F>JsU1UzP^ELf+<+VTM%;d#Qkd!wzd0W^HD6CaW_t6Cg?@f)DD58 z?i=jFA1G(feA1|~7+!0>FgEscJO7&HT1A$9;hiYl+7gP>lM}~K6$le!$L2}66;h;M zJOdOW({Tg#EVP~blVVslK}?ZU%Kr3GV{4fLgO=##uwLIF+i88q2Uc~f72|vX9v+Lm z5PAgbQ~4EWVgQ;g^8#2Nqm2ArYAGk|`Fk#g_sYy19pNg{^lA(PZPJz@fy?hI=&{jt zo^5|}(Zv9<$3EBP%XZ=uy`;a5nObe@(!N=Pb^@#_sT%SDn(Mgo>U7ZpeG!Vv*pduVaV8+C zoEJ|ZvV%J+|hsB zRwS#2d(kupDhCoB9Zs?$@02;470=t*5r)2D$F(_ZJ@NzehfDWHG@?$wr zS-~T3d2Jf^@Kvk|+FGQuJO`sY&me(YgFa8~`O_z;##Xs$SNmQAUxv?#EUaaTWDFX= z${H`4tiutlqaEJOtZG*geYe~|UHbKGTk-0rXm!+I>wbRzB>Y!`Om4qgs}fRa4AZ`MIs~;h~(QVj2cEK*!=v9(&d+W5i)Vk#@w|!wY zckb@pRe3%Ii%r!xwm(vySx-#eF0&Y%XUF~$Xr*LxM1yh1sk;UQ0} z#FOPeIbhD8D470T9w#%eP-dowGD1)A`>?y!TXa`{6$c*t;^q^Yw&XSMTYnWB5fsg) zItj|uMIU)o5$Go45}h++#k-ZA*$F`&_9T7^Hhx~FnAGOT1O=->kYFN$lQXO|ZoaZ_ z97?K>(r8D`xKLP<6@%cgfG0@VnC~p*n1~!qwK$5z4YmPGV<`&WttHCIax(%`6&@iz zecE&~s+0w%F_u_z-hAarGKQQ5w%xY3WMOR9ii&+?WET8@-66?BO_8LPkI?RogMKx2 zGR`V>TXJ}%Za-_Z)%e>p778G}kBu$Ui1d*e;>n}>Il=%U2#Y%vER>YxZ%$4|%@(Fn zg4F9LAuCq2WJ7q@@3%%fQl+ebq?XiWsnDR08v33JGL`twCrz%$QOpP3;IYbUx8nUy zAj{0!tGDD83}L3SrI5n0g=c}J!__S0l44vXPc#;$odo--XY80PSu31!4BM1ph<+){ zAx-84sW6^VXb$z}GwL~aom6JU@+?|eNuErEN*@bn+X{kwu`Y#(y|S-N01v%G1fo`8 z3}()5bJWX@9qs~oqzRk%*<{CdQ(J|tnGCMGDv7t(2s;-W6eBtqJNa#<$u4IlitG&y zLpmqg!g^$RlwX~k#C~QlV4kqyr7ZHwhf<{o#yB!XE^0Yf1FzDE(Nqd86JFw5O0jS- zz30xCpp3&w&CUNhNEo(u*URVf0K)Da|Gjz zbP++8qHd&89=|M?MP?0!FVV|IOIa^n`Q@vz#zC~Vc;5TYond^TjD6=gIGn=$B}9uc z5ef!3%SBfiqhabwk{K!HkzfUb=dZdfGD(#mA`UXt5-VMY*?6-@m!+_RaDF`#fIH=u z5t!IEjWbEKJ2I(e@W>55B+4UtijM}V8P4YmfhM)(4?e^`Ps>A?!R1(3R-llMge@=a ze0n(%6gTh-TQ2n{w%wYQoWqV(bX=$t-7mrfU$XezpLZMYk|CjEEF98-L@ZALx03pC zILAI{TDsgcY_tP2uvJhcvBl$(x6@5}^=0Hicqn-!t=EA;yAsm17byv?iH!2sOJ+=%- z!cUc2=XbQsU4O&g@+zg)>NkTuOV|({CD&xOp?sdryEp`E_x5`xI{Q$cG)dHR=pILl zT5khF)m=lqOEw>#D0F7SJWXvpDZ)*^Ck(t&Pm2`wT~02H_G($bzAlrSJf6e7x~ng^ zofwh2P{5nKDVh+WiG9Yqq7^Fo8##QcFM)uLnWoqm&oG%3%+Joo$v{%)9=lGGN6YLt zY$U$dP3LwV6LDv^PjhuI$6XiX>Gy6sQmqz#|87cEsENQ3egAU!hZ4`$QgJ5|x}%tt zsJcnX!xl!8NDpQRS0IT`G+sw^2kspzCdry2GNIoU)|sQGMN6yRbeHyjx87!Vh)0rf1lZOc_B%xPwTy!Kk|v<@}U{XNSmUdGAx!%))q*3psQ8FOj7vyJ_f34E3e(OjEDEV;BpCdHXGp=K zwT3bzlhnz_r3ZxQUePu%sMMef`tHR|0>K`!kq+6{zJogz%_-9$vpyW+j%cS;awq=z zfGAwCntPtf)?N0qB~Z{Z&Ju%4R%ZPpEgoLq^u7WlVXF=e6qLE=X$Nzv5EB#Q6QZdW z23ycoY?1OjV2Lf&RD7g8U|f2BS9(UH6K$g7HZG`{?DUxRUHI4@8YUW>aaT!8$-E>- zC%=OtJMjk#m+Y%p*~gPJ!y}=ew(N`^kGzj66!JwRE|BjszVO*|uKM{qY6;{M{rVA- zJM1et<8qgaj@i|kCk-j=xd*|wgfNiOnY&(Iju+N%6^G?;&VGnPpFm8n89!~ha@dZa z_f<{&NAj1sNk0?k6FZL^fpbxW2A9e1{1=}_^~PNJ`T50tt`+6YiWstpM4vIo z4t^9C7N<)4MMNvsxTecN$Mth&rLy=`j2k>038K5QB+m8R?Oe{)cE~S8sO~%5*p*?z18qi)H#2ffM$Vx7Jm0h?bFu74IP8ABH&6dH;&p8uA=Hwjq#m~ilbVM%ObUIQQ zhjoxiRI~rbKty`JuP~dZvr-HWm_3 zhDi6}vV;m`r9Rm_-ubES^PdWyzZF=J^P)sTYekiGCM+gH!-6_5A{f501`<(W!xZ40 zQp(y~(kU3Q0Oge6pk^|dtZX6~SpBbpXO#jogQ-T+NNiQ>5x>Yyoi`iz9|jjwxo3Yp z(U_T%SGfw1qVqHe+Hg?(i^+1~g|VL;zWw>~MUYPvN&DR9;n>4YsPa#!a>{h| z-GTV+-ra`y4ebi@*+EZjl3`k_)$!HhqF&hrTJzPh!EN{4Q#aKf?stqd=#GlupYPK3 zu6sYrc?C+ff7WgE8dWE$ce6@65d9I$D*vrTtKb{1n*nV1MZ4B94MX>LiM6sDW^BK2 zf=?9K+F01i@XApfjw*>wJ;^8w!mbvhfq)wg{>s_Xly~nhcu|7wf1IMAT*&iU(fJ3C zL(w0*W-~@yb5O)VNziW|v3FtJqR#r^Ifq4kCIK2=<1ybA*J9`= zGiada4MnZ{1nQS+^i4!JdifoqPaD)Sf}Hwf+s3l;4=c(rSO&|;j*Q#2(p3AD9@jVI zVlkn8kTYS$T?iIRgZb>^w`$=vvfPwod~~`a#c+A-7&|k`kG_w^08(;C)T_i+vSZ8{ z_>!8*{4gdP;=xlw9XYI1+}Pc{m7~L?r3wyUAGAqz-N>iK+KMc8ue+%`)0~^p^*LL} ziW97TX+});eenH|T5g(oGFQ)#4_U~>)!yy#(yh~(2z9!h|H9XT0@LRpqZHl4p`o3U z0i`ibO;wjAk+aaXJK(n>dv~Y)H|cD^mmt@~t8Kd<3qFJV!MhlHa|Y2oozaIpg?2F$ z|4cbFBJ)w0nt9jfxGtlfxaWUex?4LS6w=e~vL4#%nDWDZvv^`B79kjt*Gi;XK35I# zxm%G}oSmt^DlK+b(9~u9{R`i*DhgEnzLQx~{j>1(ad%!`Ymne6ijYM?)!!lJgcEHE z!VixRWD6$sWfngoQa$8EUjt`wO3RVg;|@Ek)BX8MB2jFWeXb#Y9Mh+SV8r?wJ3m^J zez!miJ-#aJmX4sJdP@XFgCV#dA!C+mjG)+Qu=KfNkk zIEO>zq-Q^>yFH4%ZH7TMh-SuTF^4dI?8$E(jdU^j-Khapx8nP=Ndd zeVqE_e#a8yM4$O3$@KlSJd2Nyr>l1!#btT$Oj2A_WUiBF%`-aOTYSPZT0u=+m?jP9 zCvB(fu#J!&?_`DT*oXA%IgQkR>=p60T*<{!4*Vj)lwg;U5s@8}>gRpJ8|FlPTi5ca(BD@eMxsj0wpi zQd7UAOuH4e1N9jvAa_1%M0{MtV`mK{fwO<8r|%VxPmwpRu!nO`t;^! zzJfXK$8gSP>YR&Z`T_4wmBFuZe;kWF{)X6&Y+1-lClG9{L4H?$rd`1kwtTb5BSEJ~ zWoE>+qAdAg$PE1t^f3ByA~)No*Nvtwl3K* zejT8B+H1dK{|f-5KwH1prx9K}8>hw3qJ1iBqVheL8+$?gX8}Ddf-5*jaK7O}i`r*7 zIp;(sIyXP8b$7VV>p#QympgyqX^b(V9OKfW@RHuU+@)(W@Om-$LJW$x_#k}V#v}lyB(zfX zelLs)KrOQIc(n5%86v`T>?>o05E61sju2A93_K^2LPg5+Jl5NmV=cMphcQ^IxiY5l z5nTi=nDucON6K-YXCWjy;D*M$%bLrv=t@)^zbmvc6)Qvb`57tC?&H7&O(UV)OEcbCLf8_ zx*lVC?8ihA8F$V~4qBVd#WwkA=A<~-c^YS%4MbpJu$=47?ox6LG4#XeoEyjCczE(| zZa3|_ckeFtmr@!jRZf7QQ;u3oAxnE@j4?csJQ; zv?)>3B*r)*O2HXY&JmD=WL)r+5)jKd8)Jw{?_Ua68+oy6;K z`WMh#-rgGjEu-u5*TNPG`YfR?DdobKl;T3*lEzpj(`Br?_KYsLwrn|;D&;fOd$~aC zxR~F%nGqqS6XGvRj3t)moG*!tQO+mC8DlPLC0GS(uHF@#`53OnKW`@1>nmFhvuIbO z#8s3~5%<%2jJ>KJds!x&U8m&z3v()mUzB4@{qUKe(8_F$OP=W(<)3x!r{xLfdBtb& zw=}pQ>9Sl}UHVsfoh!J!j^9DXcp3kfHi`8@2F}4*D_-}iNAJy@xq4AtIM_O8X*uEL zCwFmToOgG$#1_G;_l*l@Tdw|_mtJe_-rQq_43q<5zx|>5Mgaa84=M0szjuTQrIIz{ zRRr#=>xbjRFTWgaZ)-`dskG41hr7Fn`-kD~X&fx6sy0=BtLr-YfQ_>&F5)dJKf)q0Ww~n-A(Z^^9-E_v7 z5R3BTG?hV^FK=;zCxYs@2>dr)kQR{WO31<#W?E zx~e#1DOfxEkbsdQ&9lljBp*m=}S zQ%)&`7(GIaDSPjQ;B{Rw0?x29dKd3DSYo+C``qPhpJ|2%b zxxfDO*W1s(UhLYcX+w;Mx#yhQvu3DdQux@riD1!hodWsP!aaIEt zyX{_bFvd9V5YYKxU6g_&ptHf*@pwFXJ4q>byIs!R`|F$cA3o#+&IM~dV|=^cX)O@} z7*&;)lKT*zpNH9oWJxKLIg2^kED%IM$+VW0*S52G2^v8#3c>dwLckOrI_0voQ z{qYc`@RsMS0p&PP(wIzOv`Q%fa#PpVrI<5gIE*7AD6QJIa?V-nr4mXi1m|4vK3Nx~ z0Hd^4rQ;6Drk*HM20)f`>FG?F5&<$~oD0r4XA%fw4jdRDFwT@@F-FRsVX7-F6&fRx zcR9Ilc=~s^0Vvqw6nIj^0}ISuqFR=0_yW{o%;%VMUeZw(l{V)uBki@T@*HUMDr00B zzW!#u4vP|cod>_pCp}~RT(T6;sf@4S+TvU+psM8UEO2&tnh-@-a~g^Zfo1T#7(-V{ zL9~qa7mjg8sATPFE?Owll1o!)Qc6(#luH`@YYd8vu~G)SM3=s)vN}(`@%5nk1y9Ea zMMPcwu0;}S&*uX1Bw-p`V6TZqGyq6yPfU1O95F~ z4y@x-aajVSbjkx=6%zmd==R^Rg>|vo>ge!H!s!qEEAd}C0nl|-Z??nJ=(7+c#>wW4 zDY)a^=kf72`?>D6MmOW&e);v&uU{XIA&x#XS#Nf`{qAzJyR4g5sVe6fobSCetlHEl z7$2wccpSQR+tyo1*dKcDV$-xg+}wQl;k(KCX`Gle!!SdlTB#U=x3e1$nB0E1tt9u( zg?YB~p})ITKqPnykTcA)cOklvLZqB>4l(CEJ8MG#p{oWe!ze?Dq;-Qp-n$Uv^nC0t zFE@!q%!mM#wBkZg)9SWso}R{(Y_x-bq&QWIi*0u}^i8)>rV0_#6hLIIghXHxwKg23 z5|>R|o3@G3{o8;0Z;WD(fBqQk;KoDKbU-wFH}oSHm5?T+jHcS&nEE1B+nsrQjKSs@ z#^dwYKT9d9rlSlwWMc1|*UeneJ~-!2pLxtwO3m|ZDw7fpL$rZs z)ERX~BMmSE2_bULYLTKpSbv;nmWiuQfKu8hDMSifX{orB+=>ZuK0H3=lnJvBNg1QG zabxf8D|F@AZ*VE-5AF`chcM z{=B3EE%KEjL@9t~X&5~lZBH8d)qHmW>n9vpv^r%@Spo{rfcpeBRyv9oa11MBz&hTZ zb5_Rczr|II718{nSK#Z4-xBm$g5=Nt_Y{XxFkfjAhLO)gveb#Q4fzD+Di){Wt&pw7Q@g| z9(+!4dXcxSujKmnUM{W>EQGYg8Kv}!8=pNVi-#V6o5*x#QyGA*ugF@Q1_1wDKLEUx zALH_)w8S(m8A0?%#{d7~2|(SnPyKj*7(rI;_JUHLjt2-+7#^cLMnC1$O`{+B{_cLT zft0Cv%~jJ~-dtVm-ZjlO69yj;GiM9|qmQIGA`3pvlfT$ko6Y|3{`=qF-`{Wdd#Tii z4_a{ro~PL(SI9*oU`@T(QZqh}qu|_5)ARH3FobS%vET2BqV0#O(uly7 z0G1R}Oh^(kkaa!^CA2a9Xq^k%r)jj_Mb)F0t8LVoFy{gf!XFXrr{2QVA)6(meH){4`DDaFhZs_FL0cbzcc} z^Wpm+F0S7*t{)zU7?K;U6kZ5*b={$4!kD((-2eKslt$}HNfs!YO;a^Z%ou^!?H+7= zJRD=+&(2l~qRcr=vN2UthY%?wWFn>+C;`QsQuL7_X~})?3|S(YrU?x>9vZM3_lwg^ZjXrW81nVM;8c zs&={o$vNeqSk1MM(Z`&a&|L?$Ho^M{l#+GR6oVW4A*G-gu;?_$2VGluFIk ze*JR){?q;DVz=4s>*`|DF~QjAY|02s9>+l%86wwG$C!u%V_b4FMw{Bil)aBWM246t zi=2TFi8HQ3vcniS*IcBwlco~vNGS&*GTIo01^wB1Od)x18CFQhnIOQFQ_e|9nJ7sq zIg`_L$T>G%6O*sC@F4-^+GwP2F`&O!^k3vF1$LivKY%e-5X>U@URZw zhmf3GnXu@E;4FaV907`?r?`7hEw->qI4RFxEUIfG!Ge$$jrB_5{i3xv1FX}N%RqN= z)1H$JPnhP6l21Tqd1IX8Vy}c(hGtsB^ny@}tfBz)*ZPW6QYWp1`e%GxCijVRb`H`x z!RsaEW+{YPTElY2oU`|NRay0-=|5LHl~>AVeG5CMxZ<0brb3X`RnTwt0BiDA@btob zRu||c*k=)omzPrt7+V7M*McHk$y!clrs$W7#{FFG`?4B3!*^I;#In{{qFPrAC@6S( zHF|%!8~{bGlh1Z=I7cm=HUMXF8ZGo@@d+%vW$8{n?}hNppw@g6S95(_gl8o_s~r8( z4P5m4OP}$g0xEal5>Z+X;e}|g%EHdcq_mukbuZhS?A^smz9s_;zg_cz@_x?N8vND- z{D*y*s`}f%|LI`q`ul&i+wI*vMLUJ**-i(_No%PTk0~6dF#$APXZ9Bnxv1KUtM^T_ z%Ngg%rWlOioH0x=^t~cMX}-O^ZR%>b+x+~?U;plZ{*Rlho6F0~5ECF;Yv*yaE;L=# zN(u&dUp_xR-Zyp4DQl%uO!v39x1Ya+Y2rkZi^Q_`LDy~5?M=Hu?}>7>p=z6L&PsB| zE0+QRrI@F2jv;0QABh2RE@o?I>r(~-bUt7XMCG?EAYuv;34HMLkZL0ZgB1MZ{gVq` zXlY}RA+)+lImQ@LikMi0#6TioCORIE4-ZcY;{E-@;pxuL$=`;ch>n~ zybIBDCO88Grnr&3VFXH5G{Lk2{xD-@hDiV-D~oXZfxJiE-2xAE8?byF!*Awyl& z^E3b#ewrEA?PfE(A*84Pm{2Lf^K?wnBP7VtyQx1s3jtb5=N)o(wSTwU@3|113uDaj z*nj={B?D8Lui<&=`vdP;Vl<_ri-m`aK$ zoVPZF?EGY%7+u$zy4z%?LT0iux~ZqhjpHD7C8Puw7)#r2M{S77UV`!!%(gu2fTRV~X=MQbx^nqg6oetevJIhKL*)<3?*Kl3K*pGU94BixDRY37f?$jz3o!!l7|2>iV5a@Ac7bZIzNpQAR&X4k`N+O_TB@4l%h0e z3&sGDp(_9W?eV*Ngpj?@01JM7`HWva>CeThc?Am+;L3 zcFRn9vE(k05njr?PVZ%bPyjDX;0-`|9lG-B`2~LqQ6T0kQTuB04LQRS&X~`DZqZ}B zXkrl8^VCJbQW81Or;9BqJw%vJ@c(6AyLgMwQ8ux}-Xp%Gqn7Wm%$OHwTjU=_Ewkjr z7qQC9+Pes!XayNzIU(mMZ^?LhtNK_k0TvRq;NA6e7E*L>V$Q1G?)+rou9u8GzX@W0Z< zl}_lBIBgx=1g{G>isWxOv^PSa*H3;$-qw`k8v*!3J-*!C-96kl`}do+mYnA3aYpR^hx@0;`+xWE z|6R8+fBpIIcNd!vAK$fI4alu?|M=Ix-rqkmsdl^lez(tHjF5zoJzb` zNFmy3n(q5U-_PS5`=@@kfg=kp0I;TEf?=hk6)sU^#D$WXFvgT~j@}8xW`FqsaC132 z>+ZgO#T2`G&p7}@!3jBqxlc27ZCyzgYYjx4=ZlLi02_vBwl=2hLqz1-2nNU*(~=7< zQ%aOF6HHe%W{N(flu}N2w_kzd_dk3Wa%!rEGls~Mu9Xl{DPj#_l2VOsOfjYq5RizT zo}TCF*w$6sR6?qlqN$p?>1G>_!(+GEUteD_Ja}(Iu(jL((qx_1b=zIG&BK@f`B#pv zuE}s2Qvjwmbq6HpX$US+n3ZIkrW+x~(GPYe-8h%I5Eq+PK+bsthB-%P2S#YPfJ9oF zl(Q6kbJ2BO>+BSQk0B6|&|)KZ1YDXbvm9~^iOnuK=Ukv+awxoMl#s}gWsD&?#z9EI zg-}vUt{nNCSl4a|c?>=hbA${KcAKr}8%kaJ+=>?-NxQ%mIxd@8e z0aqv)SAj66G?+!Vvr@vW|N5#`s=QDst~yJ)LCUf~D5!3s0gHD3MWGYp3!W~%;d5U8 z+ttT1Xg|A?Pmp?9!kn=_{uar>OZV*(lbRV5%Yx;M5nll7YZ1{2fUc`&*V~@+f(1)7 z{<<3Z{ARFFzSq%~ul&tRvM1t+Z59y@dnEvR+59Yb>B{f>%DTFw{j3Xjmn@xg`X{`; z>t5a%oXX2^(W)(UYe~ypm6R>+WLVkCUwZ4_@YQ9Tu_{4(8SuY8z5m1&S&O*fRdi{o z=q@+&OX$#gXn$Vs5WIHdtjX}wymmgrcy9E=vmo#r0r(?6e*Wp_P1}9r+mdb_=T54;ts)pa+`Ggrw}wHBEDm~athNpAD^D; zMt7U)_U;q1e0jM;4!Smg;_ma|FdQ?G;uzfg<=268yt%n<>S`SN!{M1_BN=N=wcm7c z?wi^?JRin+uDczR)$B6~0#q3xvWQFyNlG$1PYfAnTq`A+LSQzAe(bf8yK1Agin*?u zHb(ez`-I7FJ2Q?`CJXo2G4)z_~x>6plyBIUxMRXcl$TZW_Z825<~(#svUQvjaw%aJHUt(pq!Q zFvn=K^-gfkvZ$3pLsJ|mB*FQy@2k3EjA2gJx(tY1NF$We8Hp>&n37ts)Kj; zcXwaEe&v|2uP!&cos<$&)Rh4gPtScOxVU_uQ|`LPhIn`X88oYR*C9cg14eAxtKG#r z%>8ByF;8EXi~UW1?C%~Pj>kcB zX}Tr{KaKtKFe(O3qw7iv!|JN$TnHv@I1tf1&qUKa*_hnsqS?RyAS#17PzV{KY`GSS zF%g1IKs6JlGS;~etrWs~KTlS1!H{7Q!y=>@7($FOgix~ow37R6M-ZAyF@~A4l1gxn z$j`GiGDbQoYFsYE~0rz%$0Iy<>mi$LLSBAg(!{WPz zmBV#eKAc5a`D`kEgZ@uDkkXobo`};L@~+11xcvLl`+H^!covD_IS&6tMYFu6#dZP! zIj8lPmO8nGp`CL`Po(j+O6>%cmrml+S6yr{>m=NiPEfd9vh%q;y=b{-7MWb3WW^g$ zZsyXA_GV>NzIpk%ySl0$A7|&%`i@$MpDxT~aRV1JR#ZU0{fS;(&C^{CE7S8@X!rUC zdue4}Ic-i%e#Lw7|D!kH8v*#;Kbofb@y8#V-Nr^gPGf(33~n?^%Em~gT$n~TH%(nP zI~$N!wQ07 zWGQDm&YUAa9VqX*RvRUy;)3VWxs4@;A|^)!k_b{tEGEu{(v=oUGA58QbHg|YF9oFRo!o8OO8RMhy1%n_4&LrAHrtD> z;s`NN3X%(Bbnq#qWVC48%7;imG3FFw@K_n6I0qtv1UWkID9TDIE+i4g7*k5oyA)%8 zI1uL{Cn1y%!Mm7&GoAqgVwOrXt|&9gsUN0NP1V!}nD8MoE|spNGAR=RF%NR>J+j$~Nl~PEtHcE0< z>zXs%)LKgY^nA=xo9!+zSyffnwUAP4r{F9_PjU9yCGSwgMkuMZsp_U}#&IMfy;HhU zf&(L$(#%=Sfl>-7c*ukRF=a&ZJ{W20x|wE|i711$wykR}dFlK?K&50|8SgC;a9~C& zr7&k}ZOD`%0{{pqiA0Ri$B2kkU1y+ano>%Lpp;4}0i5P=L=q^96twq+1pU3u=EO>3NfX zvgRR6)X!OEwBVk+Qm34lMroowi&ai2hcQ_D7S>_#=d(hKVEUgQrNas?!|GsjO0SUC zav-aDEh<%n9Jr){E@>^xIVsrdjSORXxuVr(49l5bXwUk%&IZ|~kM-EmsM6o3KEJltcTS=)B5xc%2aSf3XA*I5F zUZrHNh~-H}zbZm5pVzc}heg-E=xrD)7K^n8=9N^beB0%QdE@q8koR&qmaN!S_wdUp zB7)o7aaI3}OBMHeo3YB^KiQgBmvxQfPe-)Au@`mR>rDczbwO)~2K|=uzS`LQ!5{zP z2|!h~ZF_Zf@ynNouU|d^#kNv{0b^{Krj$e7ZZ;SDW^*w)0MQBE5o=hM)>(#B87*1r zhneD>{QPwLIs1{~^x^&ckMG|aLE_)vc+tW{4qpCQVMU%tGqAl9Fd&LYlhj62Uahz$&e(Fi*vinF&l?&r?Oo`|;?V zwbRfao{6ETnj8Y+sB|Muja)Iny3$;r4_Z=k<1nWnd1aK$DbdqIOvySg#z_eg5D$l= zscNaT(kkVEjD<#})C}Wfb51$r%u2ojXG{vt5r$!8L^&r8$T-V6+xOr9 z5QvzNvrqHvUF?MfDKkPQ!W_}h&f4+te5mSXw|&o$LiEInd>{LVLnh)v>~x`Z%8oPs@8n=Kdo>GAH^KVDvLFE1}C@!5G()yi-JG?ft?=XoLm?*kDwZO4FJ zUEWMKJ|D(Ps@l}^91;mrb(`&08;yWkH!hIis;!FAd0?0kVoEdTVVn+-vX&}ms02d< z@*~fQ#mJfLOv4abBWwsE$7;KgUDsZcGDa(9=hDGMg0 zWXQDAZB2bYrvygJl>9jKYTp^7f@e9Vm=ou`6dOkuyz_{tjZ#uSKR-L?x7$sOQ7KhG zij-1HSw2JoV6)jU#;VGM;I;l%1opdplwq@T6hbP{dmkDL+7IRa=M4aqov ziR4@$;G&KwTIX}&*NcJjH$a@0zrF#Q<;jbR{fy^cI$76mb!nk31CS8N`=m8r6{D8$ znKJAwIQXQ5c@zG#OpBNLr1i>TEyGxjXpOYq^j@9eBb`Ozr{Q{e^`ezp>HFbLbj&%i z6aW|i#1do&Z{Q%FJq&LvV3&CQ;`0W0LB?l#R)R`lU0HB8Sf5V*+UvY{N!JNH1&@}< zqw}A0*;FhsLCZpE9m-k0TBzx=pIL6mh0&GEx-3}M3a7;#o)YAIsw*xst#y|IBGRk& zbUH`1QrWbuq-g6#g@vc#+Shwd0(~`WFXwq_1}JK!atI~pb`8W~)i8ZNQd$Zz%2G}U z3<1x*&a_TPVvLoJ=XG7c65+o{v(_Z`&AENGO2AjPf$~<%TUw`SeIo#WsK@2yMblI{ zg%}(nGgt9rA)y4h@Y1bG|>L^vFth|;^8t4-H@>JO4L!DUrd#lqCq zRdjXNw$J|HeI#NrWnw%5Qp{x>5>v7+uo!KkZg;uaT@lkcf#4Wzm}dt>bya1G(>Um= z{d#xz_+m|Wc|r9@6Xq?|&! zdw8((xZiedYqa7y2Bj6_a+>{Y?KI9(s&2C}Rg;Ng$rsEqQyTg>_J{quJ@}j;3njU! zP^gE)z4laZwo)>qRM)j(p5pB9AMOsv-c)TQbr_w{6UUHwewyr0vx_lEt93pe`^U#87jn!nj}+A)XTMWU#UtdvG3 zRn>SOjgif~QO@XN)nIAijba$~M4z&$-lEbI!|%uKf8MnEw3Ly*_-@nwQD(S+Ad$`Tc_P&gW+>#&|XGF8Ec5Q!VbB=$mt6>&ZX5 zSRLRcerM60zf9;?bN5#uzRZIQ2UuWeu{#(4K+$=hn;hP%KF-7pUvD-@hyo(<+^bba z>Ff>WTURNs6OC4qp@kaJ`qYJxR}~O1Y-(u|D2TZfDHLH(QB{>Pf#oG~F6?D7e!%NJ z02H`izFHvoS>=U`J-yt7AF^FJ&aS=ZBOf)&$KOHl&zx?Shl~Hl-QvyMpu`H#qj-=+>i_PWb z{_^tTFpS-q%{>L6 zobT>?soXS&x~in)N-0wb#%jTkQ9`7c(Ylzxn%Xf&A$X1;1ZR{fM=X1M#PSPjnx@&# z!c;8fw%sDrPft%$ab-ksgeVBedN*75;lq0&86Yqra|)5rS?g>-CX}wKszKm6K}wM* z367cI@c3}6KV7~58&fHQ6jIV{_3_8Q`Q_(1gH!c3Ck_OhGfyFg^@lC$ zVI}~=JdfkkY?G-rHD@kNyZs)4J>ESu%~r}rDh3P%hZx-P&_5p!1i+Zclza$JPY0<@ z({wRqL@u;o$T{at)dGf7c+xx%{d0;AsZ=1dx~etjb3a5kMhKD# z#z0CYInLAM=1D6_!G`Iml;RA4QS#jTh{yoZ#Y`w<-L>r|TFXS$A07cxW}IuSv}`tY z%5JvvFpQTz5DPI6s+np{9BlAIM16nv6j^_DacP*$Dwk=OvmvLPQ!e5w0icwSTBek& zJpv@g0V$;r>aG@yr$hi4Le@qw;MN8J>bea;(pu};5B(fMQc55)A;dII2rx~P)>=vp z04b%ElJ_~rI1JM_JpH?SNLj)MOZdsFMSn5Hu0!Pu`d@05R%1>e0x3_ypbMH@rm98i zbB?fF#>TYDwWP&1a0YX4RtWSaf$=PH$xG1t`qdW^xs+^CMHiA_j94;%7+ZpdUi9%R z90_mO(b6!moWO-LEj7stuv?C6*-I2nPEpb^MmfK#tvw(9i{5(4(O>oe>lMLD5Krfr zCL$`q_EZ?idS9_CCM1YISgw$P_@lIGHBy^dX4vXxFn*XR1=lT2uB z1ujT^&1sj^&htO)L`w1XkY#0qS=xe6 z8=>_fEI58GC0Zh$RwB0(OId#E3IYC2F&r#)%ijpVA9N#(^!4+vfB)03-0XDSIOmj> zKzW!(p%OkGFT`eZ@m`v30GTq2nCq_7N`~o>`X@IZBDmQd1^FL7TvPNMv94>S^gJgZ zF^z7XeYd^5dH-Eix8pPq!wdk&{vZ|q*Z<33w)^hs=}!04r713yMJ(Y+FV>*efV*A`M%PX+KA8(pMU*1MPF52UF)hc zZQK3&_4Y9N_aA>~x(((8z=crY;^A;~ZuHSfBfCw8S_0NWhUPrfWC5?PXO}G3As%s!C}iwKpjkx2@_irlhKoGQ|}7ery_Jj1nA; zs%p&zBm{UGyw4aT^v5xJCj~IhDZ_LBzz}Ow)mjHTXQC9NbMxVFc-L$QAQ73S-7_Ht zF>opQl*z{^q;6W|LO36qT5sBBn#Yu)^AWk&wp+nv2>IdRx$A0V87MNzkTQkvc>C4P zeS7iI2js*JS0BaSJPi-?e5{%a${>ZzIRQc<%8cu#O|oLV`|$2#N-_Cf3{PUVT4^m= zj~yh7SM?!tkR|otY8g5mEV_b3P#}j1tGx zJA(nN)>`TF>Dbmy3?Vp&F`ehxkHZ`SQ!Nv1By%Km)wF=HnhZc{yB$f$VkK=#2ovy< zp%|T>N6hfe-QH?tv`Q|Bh9-hY(hw(vaEdkno@Ud}lQRj$fFQ}H;an0zB0vZs#$>eS zRbAJW3u(9O5cZT{1d&pT5O5|c*-X<2fV~ST;(2yI{P4vG_vzC&bzQAi>)X4#S!n=_ z5C%X}%JcagW8|DyRmB+3!r~a?)fXK9j;DWx699-2ayPMbpbOe|E*0do$oaZl>jkC( z#&9P8yyLnQtdKEN9v$TNf6@M49nI0Au6V;nC|?EewBN`>ac6p0W;vfcMebn9rzS*{im-NUQTQUfe|q zxlrDV$l+@82<3Sy8rFr|%*FNSiav4vC~E^;)w(6Fp}@*(ZrU4mQ;ac7RP(ME>$A*q zzFg%Jg0@8e*Rf2@be$y!X<=Rjr5?*=SU&Pn8kJMa6O2q`&(hnx6w8iyxx0$6B-am1 zN>WL{&8Jf$&#pg|1Z9-xElavfx#&f>{BFPAzh}#oE4T;%#>*YSBIUYV4!DLPECt^S zC#cumc^|I7Bt=$Uv^j;tmY)vzg_~2!^C~eK#&`hWoMfv|#*nq?9r>q-n14A>_DVB8m^}?#z-gygj0lvhbL_Vicw5*Xz}0yH!@tW^PtZ)i%>S z?{D{%U_!t;?PJu|0>YSJ#(7iKZBt9maWIoIYV7A}h!Af-e*4WI{=B-qO_*xy3Bx}4 zSt$T$YJpN97&xaf1i`tKau`R59y!|x4#|3Neejr&suoSxgy^+V2w?3Na*1DL_IgR#L3mN(g3*PLbVxyx+9Vczl}s!_c1(#}i3WQtpiB z1XIqfR9$<=q&N)cr_-}K&u&&;+p1n+%qbOABnS~<#^$m- z2*Cs))K-!ZWVH!lW}J(r21GDPfCyo%CEYYlJ|rPn-K>nZ{rLM zanjS{=N~`H)&rBxnjq3`w^h4!F>&5>O&gsH-h1c9c}9ftsuS%7vn`ezr4>|?k~&J0 zf=f77RYgESQd+5}FAwMQG+WEX~tmoo4cx!O2c;B63Wi!NogZRgQ1fe8^nCIUo0KdMih;F?v%z>0rM%Xd;^_Ly-(g9tFATgzg5S-oX7m)o;ld{BP zm8SR=!W2ji%gnE3!?6&JiqfC};!Ih|1eHSjfmZ@LzDg=zi-Am+Cj>7rC0aJK3%e#q z94yH*%l`LLmH@BW2=Ur7$AzzQCAGho5CFin639hM$kUiB5eSv8KfJ0@Uq=K**?gU% zT%u%Qp?`SQKwJsv3x}D)3AvaEm29bZP`Kz^OC`4Wr=@33%D;Q_(*Z zuKe{LyA+U_pHuG4C9*G9xy(JTmm_(ftC~~<@e5%$Dy0AA?H59H4rT8kj1i@;Ry_HG z%Wcm&em7Wn7xk4=axUbnlOL;m`tN(eZzJ25bfDjG8StOI0QljjpS8BK*(M*2GK?}~ zt@9C4$z`?s_$S`(M+>6nOw^JwH1*m{I4Ez2UPRAoa z@*#fsc6YPid1p?igLnRXK2#O+-gCi245wi*-fg!#CMo8KF-9rX^El4ad7Na`5zZ-P z+Gq-nN5g{}r{l}Rm&4NoCit6ApFaNaANF_O7$5X(2_PTbG>j?Q&9?dYVY}PZ!CR{p zBc$urQZS`PGfx#oZ6}0eOmDa|}ReEn(cpN8{+GQPdJxxc;n^yyoxrXQ^y$6-c+dur_ejLY#r-M^kU9TB$Xd`h*7$L$nZ=}$2=wHsm z;2jq%XXZAW6(|obPRh6#qW4rO8wjZ-Z`zho;-dG?GC^6Q&N^@GbUvS+p6@@koUqv? zgsIZDtpq30`dLkrcfM}gh!`QvIM<&>Dfl?3aWXz&A{1p!>zaG(o*o`i z0+Z6i-~W1Z_i=Umjk6l@X1(3te)GqODWRfk*Q!4c<8VGafBETWgt)9Wn05(Q#$hTq znBlP}F$}eoILy;<9*z%cJdXW2`FMMGUvI_!!^i#Y2TXWBY9CTnx88+e=qY0eAjIH8 zoTg#B#dTfHbC|{hq-d=+bBtbiJzG7sjp+NQ5IannwT2_ot-1u5V9c2ef)EIm6cAI` zc+MCku*OI!gb?02F2(tDHvJf;fl#g-n8Q(zQ@h#-*-(zcJP|+wVo$Q z-0BHv*K}+ct#P47i4us&V&v!XShriwSF+~Z1Y_cC{b|rlYQjYV&lq4pjH2kk2Zs>> z91)6ykmwPkvaaj?d^XlFMi5GXe2m7Jc^Zv1WEfNYdX5OHhX>j45In|&bMCCmra&%TGH7|jZq+bcIeM)+N*E< z#rv|ze3yk~eoH2_WO{ueFD<*~xb)yFL^}em2gctxLlNlC+4ffnGl2!hWCy-uQpi)VVBRp#ucNB#d0bPr7XZmoC5&P zp<_$8s62AXk54XmypN?^$yPs$J8C)6x>R>%7*!swy!Tw}c^^_rLXc9Bmj^8`b@|_A z?)6d&@p}RA8{D+m4 zO153wkAwBLs$_%+1OpU0Jg2^s^!~tb3V;_oFK-gt_7zt#Y%J)MQS{Z(-|XJtvX7G;M~mWd_2xt zt#`X)KSshoe)q?=k%;42&4e{Vth~jDB0^$HS}*}|{`tqBe*Wo)wq|wHZf|d;l-+72 zssQmZ>l2OL3d}La*{RbZhY(Uq#}Iw6LP%NjVK@!b851_m z)<>odiOB8)xD-MPF@@klQ_E>GG5HuF_&_S+y=RQha}+{YYcb~e`{{Q){j1xq2oSVPKDqkpyi)lKzAv+ag&G?u#d*bI#7j5Qw+>G5_Hv|m^N?I+ zQM!yWfTdU^pK^BdEIzXtF)wXZi&asnflD=5#x+aH#9LYXYvph?Fuhzp@8eaf0nS~V zi}D>3LW&WJDNtT9#$HD#3#QPUNk#Ex%7s%AjVxj!UJa@8(d9e8OzrYt=~5MBJK zIKQ~~Yb_0|mS&*uo|NAUfZx{n3$a>lw8Iz?z%(W#Yw2RBMZMkM6DH5Yq;zOH;hl-j z2Q#8z&2*TDBS9g?pp+7rez?2s&xcb#^!@SFpJIZ|e!t$Vw(E7%)XrJK2yUvsJ$}8p z-5IA=tCh9Z`$!O}>sm^w=DDgWj8Te-5Sjq3)@uUvtS4uU6a*(@=VL+y#n{xMYCd$k z{pRi)%qr(1M;OQ8&FszOoPy}Mz;!L95T`I=jQ6|!s_QoU-FfJPGZ=$&)>_jF#uRDw1p_G*|cABPY#W`cy#Y-EFfm4C4^(>nt1T*x{dUjS#H~a0~?T#~o8A*VQwGR&u z1OX*1Nhzvoz1`J9TBV(J#^}Rvs_Uw$>lniT2|@P0dc7uy3d*W&lM*60B0`M|k1xls z&tG272W{;=Fv`{l5lktUG(kwg)|*@2wEf{_I-O<*&dsZ~Tdi9zS<}j4(C5=I4r7*y zA(ALT`3u5$UsV<7{CIppi0Wz5<0Ll{rDU`=#u%Lh^4^-@oZM`8yM06yQY6uyhEwpN zX&NS^4_<4XQWBNKgm@pd2_Yn$B1)ufR?p8*I|R?4KYPUg@qhn6T?j6u&HncG{^Q@z zr=cG!f`ZlO<4aZ5H~W3>qB5FR(mBN;VUnCx&dge!vF#z6o81aFosiXjcemc{>bAp# z&clo_ld?frC}qZ>Z`zvT1Ti2$02mSkZ>>=%dPWj(2*wi(6aYht!5MA(*){FD?dp&cp)`1bIdMi!TCKMGbyH3A6m7WKwmu}|oU=ZL$QhBG zAxykSHY3?zg;KO6sV_`^(9+Y>``n~|#a{60A@ha_z3f;Qh+mE{CHzZd zwvbdpaZ$XMG#BHS+%GT9<~#>@mq7du2*M&4cIjA}kNH~U;LMd;a#R)#=GXB;CS3?Y zti8JKU-5CqsoqD%a0rl{aJ2Th?|ywRTpP)+w38fdmQOId+<1>lPIH;VWbAwOm7DA6vO34Esw@hkbRXm6h0DMS0Gz6kq}}L z*IwhR%ft*7^QDaAvpVHnK-;^#g1o%WMaE)I5JUe#D;~kyyz26s{6gm<=XgmFKPu=zhxp_&@nq0+UiSO_(Dhyly(#)Y>R#^>%-|T5n7{1hG94yUb=OI z2w{v*)7&&2k&I%}9|x;UBkO4#oG}0i#UL4vK5+~b$F7sIA_=>?X}|>Jv21tE=9ZA! zdx*i$Mvcekm&cz4OU_P=k=1I=Nj;AC+|PvYZo5O23L&{sr{NqSU_#gH4S~>~Pceke zW>wV<Bx<>c)X`VN$t)zUK#zr=jQmsw&F_?6=b4p1xGQ{X3$g10{cU9fg ztvsFwJq=G^f0lBt+jWE*2oOpLsR1F1o88^^{yt9Q>F2-yHEMI;RohCgSKY8Ol93c# z=HgD{kjIXgV5JSCqN&?TPL$x_teVGqvlW!i#zG7zB}|YH&O4L57mTv1)k=-W^EAy} zEh#4<`V_r0ju4U(vc?%}6N*xZrj`(cvIcXRFr}0|KRw-^PW4tAYd9DCn>#!8Jn4!A zYgJW=?ajXF8gGcx7~v!;9-|%RaUPCtKGHbT;2?zr@n*mK_|3OfRX-n}kK=K(y>T{R zDoH{(Vnz}tPzxEo){~Kpdgp!c=V2U&Gb0$I01%x~F}S*_+NK$X@u#1@jMI!MCv?=- zG)=SLtkY&yS2Bd)W8_@6jSQwfozB);#`t=(_bDczlnO3IiUcDn1a(Fa!--I~-ER>@ zfPjcI&b^$zsM*zB_vsIRUTt;}fwrD9+O}L{I~eCZp;YX)^{BL(9BZmtwtBYxd8CN8 zRTZXyDR$n@<228@ZCFew#u!4xfDr=cf~c}kgGwo_H6aATSd4L=XU1t$H+55U&M~Q^ z$=Vvz&R02Yt8xZHlV-Ctu#$@Z@xf~OzSTw zpB^H;NPo5H#tf+-TaoOp=^kqwS=>qt|g5R?2&Y}f>`jz~BWwWG(bx(qY4^IZ- z1-OI|or_nQZ>|$AGTZ_&m$AOfb9u{Vc_oYIeP&%IrMOt>!`qCoVp{*MtDU{@7o|>m zr!ly4vMTOutg*>wil3U(;S?s&a1HL93rote~{qO83b&ayV)Dro8OTkvkza^m#0G1+P zj3GvnuR>msVyL>DFO}S}5_?x>XxF#{T-5X4rw~%!SMld9v#IM@UsyobGc85tB^diE zfX+l9QdaV<7$#k9On*5Z`Mm)6jcy4M7h*&>0RSelZj{xSa!Pp$$ww!z-ouC1ly&X|YGA7N# znKGGDQ2oop=fBVW(`qFk*t!zy)!KXX^UqJGLCLBE!lqf1!y%-=g#fF@d7kuKQEaUf zg3GGrLX6`)jEYcscYD{Yw%(<~^D(9%rL>dM!_cg^_aAI%+IC&7)(BH;ZAcE`z-m@+l{IG*Q$w&26k`No6{9sHV{c=!fCy z;j0!SA_JUFLg3JC>Hh|!)>aXJs%yKgIAKRrDDas2^PYJI?z zFu{&rehvb?9ABKbTyidW$19zjN2#iaQieoBlf@KRBA5`$>s4KCH!F<7Fr1<{j7mw7 zpdumy;A4yxqaeULb9nx8czULsdKY61!_d#;P)Sa349*dPwwo17@pL#UZ4ZYtqQnOs zA{e76!P9p2B-l6iA7mvkA&l{+Y4@9M?#~`lih*-R5b`M|gr%rBuPNou*%)Hmt;g|5 zF!tVI0yp=2@4V68u3(&|@BjX9`|0-P!<}FpAqNTSnsTyEK0d#^th#m6v^FG07?o87 zzzHfLB{N575Mc;l9ESdUZkt<1I7NT}r3B9TVIC1dP19DA=QgX>I;EJwdj0~dtJZs; zAP|~_q$Uy}XxFVF5v{Cqj*yI*qLk8mpQ-=3c^PA5j9F)_P2RiT@$|2-0Jxxtt5yH2 z@-=_u6N3Ij3R&X^c-5I-Xeq-^z=*bpD_e*L7#6KK`GBS7H+4@ zG$?p0Z+L_Fi?dLEWya_ktpeoSwCH_G*?GcW$l@8=UaOjmzohqwbBs`aJI>JdI=;X; zimR}?y@w)@&DSF1(Tt>1y37+YJdLr;f-c43)wva}nFht+=n`sHB*hu%FEA@yp+COn z+P-Qn7Sx(0-9HDP;WEZ4V)Ww88bZPt7m;*vL%QPH1dx^AP_n?T=C(@?KP>2KxG<*j zey=vEuvGnC{WqaJGD}QPX^xe+GxHNQT#3vG0kjK@-3l|jm)6nQPVm!r9NB&FXAfZx z>&>cb8)GAlKqygaR(ghDtm+*O-f2v5UA3$Anpf3%IDh}+PtJ$^-F??cib2Y%s_Ga$ z09HypJw1=pwApMwe!O?V#gw!*jL_f$N!TbokCU0^{-}fZ+sy`HB!p1&9E|UpS~5DR zF-GeWvfj$NQ;wXEz4goo!l>4&KOH|me)${3sS^82a8Wng^_F0EJWVb@y^;YCA!MFs zCMZC1&LIHC1tce{s%>gYSx5+Bh6umAx%uu7e@;LWCV;@289Dp-^k6)wd1yCVYprCW zZaacWf>_nUYoq45X=*80e;T8=41-Z4iaN!>7!`t^$H4_F1dA#8=rO?|MXgNRw)fi& zrZ7zXtn~SO4gogX9Yd+BL{rJ*d76%A7aUL!W*s6%q^6uls1U7uazI(V`_@ikHUq~> zaz+U5x(Z;U)DR<91|vX}3QSl?$XaKt&8RL0KlG<*II&84tGv^!?Epo|S=&}Axaa2w z!iQm;lv2CRrfwQcK_JeUv@Xf2n#ZU{}R6GQ0J*qfgb#07EYh#SBnvMz450hkE zaNbm+tpx;ke0jzwh2ROs+1xf73(gL`wMNONr9vj;BE}(Dgur_vg$N93MQ0ykNElO$ z*><~;q7DJRJUsmT<@3w)1H$q4?p847jH@e28THAI^F%OeS4{+PR+)gXNWm*viTnE- z!ds>N;dq>El95Zk~0F2aGUhB*hqlM<~SJ$(R6Rj4>vZ{O0Z9ew*!{^veG(&Hif-wcz-Y z`C1G#VM)tzE@qIu^haNIzKey(LJUw|@Y!blej>} zVi=mzH8Jp#afXYnPzKXwuuvHGS3*2u>~*}b&{bc&GL7*e;8!l!n>k57{a4fdg8tu5 zY~IL!uPdL*(H1fBQZ51uqkZqwaukqP0ACIY6{U5#ra4u2X>av*fb-@;FUD3ELXoxM z>VzAYX~frRJmz{J@1op_7$e3mn(~GH5m|!!BEVRN@x42$<-{p31*Mnd?{}($jQf{U zg*P;#-zNaS;qCVR?*9G*W|c8$R%TLa-EFt~&CShy+wR9n9ge4A=#MYY1S6Du3SJqN zV(6MyHY-f2*7`gS=do`p(XH2ATjLmODLA7sU<~+tK7aZ0rLOCyl_5Hek!>cG1nV(jl2d8^^R4)`_O>D3eC3m;UAW z{6$U2x&k3k-LTDiv)k=wboiU>*&2ttgrs1n8KX15DgYdv9t5ha8PmdHxT z{q2XgTOUv7u^%?;^?tLqdU|;>!TG=b>%VMn?*8;&{+o3{FbROFN=U{|^Q4q|d45XK z&ePzGB9N>x6sJna3D9}$`?-%O@(5@1%TgC)N)FZ&MYXx;9@@bAhDMpN^?Y6V__H-Wm zVFCcgSW4K1z$uC`LQ2kgMA&-)vhMoEpb- zQ%gV?5NP9OWdISvxM0EuA7jKAJc6pLnPtIy!6>F!>v@GBri1`*cenQ+zWMz9zjPJ< z_QNMc7$O)`l)z2XL=hDPQE;n94(BNaTM5>m&ksNM7{O-KRkb{y4%0ZNgq1Rs@@~Bm zQW#_V;}Ju;+pX3W6|x$qnQ_4xg#=OxW3<&e#W0VfR@z&~nP|IhL?m;rocz z;BBN=VW?l3C+JQGr^*#NJ;{v~MvEdr{tcT?%|zIu{gj~~bQrmRr1=*k(HKjB-RoKBV=fiff07V@-wOb^ z`{tXrZM;VWW6qfOx@*M!e&fA%dN67}AD`w)C$Bt!l#Q-HmmCX{{Fk~ z{=!)E|NcM!vmg4+O~oi9SJODB6-tg_5Vb@pFoJp8w%w{~TNh%&e$%bD`@N6h-~aaS z(>VR}fB&bhVbeGg47WF%^Q4V2&N{6FA%W50jOtH^r>~D+9v<{O25;tRfZzy5tFHO( z(>ILLVK^(}5G8_Qj4`s#2fyBJFkm13FpggyzczEd-|wrcZCa=G>GA0qQ}pS(k4>{$ zt-9OoPX74$Uw`~O9Ukp$^=z&6>-|UE;y^GWoKZp|6&oCxfuY$w_PPT<<*RJVj3t z#NZ$%LRnQ+f^h6v zlC2w_VG|)Z#^{_2Ay7*5C?K6#+Z}T-r&FNz8^xk7IOF+E(Qx{p(Q51aPF^1lKm*rHI@Oc z8d< zpyWv}>~UVfdP$}$0@>oZd8O&Y!d)jVYN7H`m%oQaExn-JyiwE?a@0H7MpjUi2LE+H zfv=>U*D504X~jH>kdm~G3zMe+{d~V=dBBxC25)PsJib8XVo{1?4EatfQ=@kyv3K;p zYkcx=IrH&9djYUouNWmEI?hN821P4LWXKVUIRn8FL4lHpD;X2iO-l*(j7!OD!PWFQ zo?cF;(>V6ue*4Y+$9u+w3xQLPF;i-MemXopesbYHQFcqicNl1yQpv=xgue1U}wGP@unnFm15R!r(`^Tq;$9X(@eGoM4cH2*% z?!No>!+w9?HTA>O%jYjY#^f2Ngc5=fqcp{2XN{w8D%Q$c4+H0HwO-Y27XXdto(XyP z;axes2qla&86XkvtVckDkMlgA&g0>DI2}#^5TbuMJVOXwTQfq2 zVgA4V@Bgu0t(&F-ED{PXdWKm-V1sHHM+mdJqTYuX`f+q2aVA4ZUAO7`)5F6frRer{ z*R49XZoc!kDaOx_2d&QzV2A)%!W}4h(+WQN>niGgY%wnju1-0N2h&^6eWme9+e*Fwr<<5L4b#0gb?#rK(IF8 zn36}{KrqM|ZT0l>G8~?&ni3QvN-xoc7;1#6SaU+G_eyIM54`F=+WrCw)1S)jm*JD zAw)_k04SxhfnT^fUwG%IX=>YsQuaHZ{?%;@td?7nD9e8f8)s>pvW#@iXd}avloIFU zN=(1NrlpQ{2`rYf)WY1z1e@}LESFpw`xGb5E2$l>fl9G3e~J-)exq~o>Q8?GX{DC9 zwp8&FEEcduDZX}y)723l7Ex9g3Q(cG`FZcatyn%V6!0zzcj z;4j0UrCENyBDt}>{N+_$fUdKPH?hRUa(>Z_CyN|qxauNenMjm@LvhGi-p_@URg}TY zeCrZ(0j~+i>3X|D2_DW>O;KemM^e|fyjD{gI%oT%a>o|AZMm^wk?Qp}a2kpRBc(S_ zO=i0-7;YG2=6%Yg(eg9?qdC%lFl$;aV9u?}kJY=fp{OGk&JGv5q!?52F#Wv%_ziAt zx1uAP?Kmw)=lo12|6 z?(^rL{`UP3O80kn`??m^>fn)-45A|_RFVpUoKYBJ+jOhd%188aI2_LXc6(!;cX2wM z4x8-?#o)b)Nyw&_s2bG#`25nY?S zKlT6mKmYaX*DuZ@7cit?jUfbWHWi{YA~V^9Q6i$QS0u&YteK5H^>grOzq#G*Z?*1E zhl4ibhY$DL&HjGB<%Coee|%miU0358el*3?rng1n1m2xL;!iHz^e(oDQdHRtOV>tq;C#8bUFrf>53imQpgo zwTe_o)-)7>_nsl#wk_w}Dx0}#0TN-XYFbPPB(G-k{QN`^Uai(4BnU3JdDNqKewt9zMZU<`!B+iepXc6dGlxc;S|&#+#%K#(<-iCT7h3WU)r;fl#tIrRMWvRiMz z`{w>oQ|DX=HborrHzGF-m!k43J`q1ko6iF*YR#AvkLY7DCi*+sudlzGpvI0o{x?zk7At8jAq7VXO{M+`1`)yAEvIaNf!rY83CV-S8@A1`l z{Iz{pG>(KI#xUokK&1@u7PKE!#J=yy(}i!d91Da{2nnww?`w2XjIr?GOL*!f7&W)s zuLd%gm{`W}l}C|^abl)E7xaI%L%Hm?^of_9&cd`Qd%vKUU&nfmL}`V46+3oBL|sXTF8W8LV~ry`fhV9{S_+{oQ`sasvM8`4O?YU2Sjo>q)xvpaC&JG(iGN z0wAkY@|Gsw3i^j{K5W-3%DFS10Ky5*$K&^Z|3US~Km6h2?q;)IuP7tO<6%}>%6hxo z*L9=S=)CpO#YB(&ahNB{dBPMD={7fvidh>Jd`Ngwh9wpgXH0~kbUy~~^>jihZny32 z?P}`nJnCAqb=zTtymjaEQ5&_}b?tf`0r$hXu0-3=2x;BQbzLQIql=8KK<>l-#efF`G5UCLWEgqt^L?rDaCfzHZ9YZ%;T6+KtQQr6r-k1-n;X07GGlOVPRSFDQ3NJB%4&of;-jd~k)#v{ zWo&XGC8acQ&SfRfr}J5BXARk{C1)Xc=Pk$a@ypL`Q@5M7O2Mi*1;5>HD#;TSOmY*G zlrn@gjx(V$00Rm@rSl;qwBK%>)5btsSF3evd<@osb3#g^=dYjV!Tx;+ED`zbcYhIr zIxjKjkfQAN({Pw=P3`tT%T4B!aTE5t79eV~7}Cg2uGgzvJm&-FEH1UoaD6 zm~#vO*2ZfCm|&dAEz9< zJ{CgKy!VSKWVV?vE!eAL56=D0Oc^RLt91QK1VP?1`}}$&X~879Ft(S8VA=Skz~bdd zAy+JU4H?6^q{+%oj1d4?n0vmeX^Y-^fj%#AJhz;4+Q5=uWNolElr)AbL`#M4a+L(U zvdN2FxG=01;co9N9~M?Q`CY~Y#_-kG=v9>wLKekd zu3a7_Ez_wN{bsa0mtTVZMO!^B5dZrY{*u_UunR&nzqfelGxii<_QD$&j~me|p5p@7Fa$NUM43PrONJwLuu$5NGWZAj%+y zfG{#zTQ#JhDNTZN&Ir5wIYa>?r_IaD^W($ApTGO?=Rg0Ma2#V8$MJMNcpuxQt3*W* zjy`s6tES#LueD8xh-&Q<^@;MjN)e`Uih4HIdmoXD!G+)r_AzQL+X_JlL9eP!BU#W? za$Z-p*81h};=J?L3Xbc#p@KfY^v9_fTXh&>{xIkeCooJ8L=nJ{5CXz#!fW2%M24b5vpzCF z2*5`d5|NdNsq2p?t+iGX0m7K26mTN_`8=J6&3fyNo~Iro*lt&xVJrpZ3_LJQ&ck@> zr}d`70TK|#DnwIVHHC5CitXBg(0y0U$V! zFk+km(8KZc^7J(J=Xso(wq32)#s!=J0V0IO1cb7-TMH>r0>-G(CinmXb1tZm-D(4f z9MAnQ4#ryLkpafqJ*rn~8YSb1Bu@Q2&DMDCBjcR%s&3)_W)CTR{`m(zkDGNXC}k+d z6jO@chQssOI`16f0$XF$JWRvLC?*)JozKU!51u53F^(x3H3h2>gtitcfpOXf1^_RI zW7AZd&5BYwjJI5OBNC2$S(Z!qH z7Gex;w8mQd|FQR8%Z?=3me_Xf9uZJSq^#&*v8IO1eA`Ci4uQwk(bL?Dn@YwsmE=RgIgl%?dgZcA!V42cksQXq<$0%J7B z?$SsLAXL%$Yvt0V*|#|0Ilt5(y!O7sQbl|% zHz+HSy7yRq=oK_Cfvv9?NVy=DP1R(fqSA>GmVWNME+|-+0IZqM>vagMTLQ}cv*fy7 zg0mJ9UYXC@`2c@4-YSIe1mJi2@NS-u=Nu==lh%sUe0q6)Ivpo#b+@zDo#+1PWpsfQ zFCj^RK~gMow4)zFv_Jge<9@qI&LO4I$K>48*N5}*>F##_cmMGBfBz4Ef9hY(=i@lJ z95bhE+jhIn_H^u>^_=kNgAlSm4?q-?T_7eB$rw-3Pd52}&LO3Q;6ic^kSGe;=!O$# z9m$Dh?QXxfc0Qj@S_;V7rx;S6TpA{Se0gjecIa9{lK1D&pGVW}HoLb* zHGqL4%)|L~>_2^acz8VCy#4V%|8M{M{oA)lsFZSd_wM%H$D8{P|NKAy>EZd=hOak= zUAMoxd&56{`pe7HL(UmOA}-_%+r!P>821GTI4&Y&H!>KlP&viI9L9 zrO-K&R&>*8?q81GPP=*3ngc0yL^K7kF3L<{}`t-}se@P)|rEYG! zwlO&;nxhX^H5p)G-2_3aXi6fXF4|o?=Q|O2MTNJjEDDy1A1Xkx)W8=cPxDe{g zm#>sEO1bx8o-N~)F&2CPf;kZa-;2P0qa2{vH)$;bEA!?By=CuHo&VK_-KBtuNJ(mH zdqE)UCv#5MaVu-dO_g`AMHCf_FL;_1Tm{#3!V4-bYM(mZuD>XbZq2VORKtR zg#}+#Wi6GfS7=+0XA!i}1&ilJNPUewDl^&`a|nr2Y7DPesXRER)<$bn(H9jZQjs35 zr0TF94=)y5Dg>?8TgGTf0a^-lbD7H5VRJ?HF(N=hq>GZI9&?ql6tGK{>MlYlE*JJ{ zS+2)Z{R7|RRKn6Jku!RK5l5v&%GLtlYB2bQe6Gs@Ds8K}sXF;CKd6$!l(4KCD(@<| zy*zXAcE2jMt-GeW_b9{o)!yT(eJ^{Ma=w+1l}*dy6262!l||4hW#|>_c)bC*h7^@- z*4l6I-~QVVDdqq1KYj+da*1*zoU@!$Iml9cAtmFSmbFY3)U7{dRot}>2`%hy5o?iU zhjzW@@VbewLi~C!)yJ>%tiBU~-_PUe%jfLQoM59^^w!z=INE>u*MDsfhh}#hU~tLD z%uTmFJ|Dw8-E@kf_2b#jFXz+K&COxA+iI<1NOqnXWyAUS^!3wW+kE)Pe|YouE@AHb z!3Qse6x+QNiXimIQ?MaeXEbBT=3!1$2(yhS1L{cR>|(Gn0ViCs?2Ktr0!DyyzG*ap zthFFv_9~Y&&k<2g5KV3_Zu!% zMvzQJ=TGDK_3`QDIPDI1|K3wY3zrg56)?=xfEOorKOM@5rt$ocaTERt$yi8$|)r%IWt1gjwmks z$-6jAFM*TD8#@mPE65n>LWq=eKU(-C9xQF3+v?tT39 zd6=yYcDwJIMnJN5eBLzMM&!{YPBJn>|}_3_yl$puH?s5Jmh5hYhC2Wtaj5q2{| zC}WaymPyPx7ZE=IDbc!&w@R82va^n2+;r-&@4Bv==JLf80H8JiFvgs7m=O_%eh@;1 z@O=aD+j|t;ypCe8-|hu)l%RAz4l4!*b% z%DQH)dXEtR@;aoeMh30-Kk#apyw3QqEC{Qfe$}o8l~q!eq6 zRc%141Z)wBVfAy@Te>(L*2l2Ey-R5tW8}a8_dhp{cr6ElC94N=COKayS<%8R>m#xl z%Ap>^`dsUWZt*9;>v!ZT%qu+Ywe1Afo40yKYro2O0`NP09G_k|aa!_5H!t(cFF*e> zoG0%ibK&!sC)MKS<~^l!o(9a`&HXu^HH#$9^EBiX4~GLm7|*AYH|Xs2`IkRU{mZ+% zzw0*IdHdzdJWV6#Oh^uZ6p3>#gp@)~F`Q3>ckbNxoBh2u4RV#4h$sS(h$2(Lr4qc` z?smuHDJD-D5lR!xLU7$QLI}>}Jh^dp!#o>fe);!5K0bf_`2NHF{k>B9(=VUDetnd( zJM8y}c^HP^=F{msj6>J9LI}=1CW0Y!*a8o~wGiOvv zC8hBxO6di+r_p}?`XzXKc$-+pC^o!hKowJlw>tuH_7lapX=UpElPJiAQB*(V|>2`P~blxx*c9=-FNB_MI^&%beqnkeR1+DE>7r-Focq2%zC6bey0#^h zW&*%S^f_gWDViq}PrrOhDZqZ$ zZuc?f98yH4xzB+h&rs$m&g8LD?bA%+LxtpgipMJ9ANP#d)wQ7*im~x6h7^fMWkBW=TBxF=(CzKEj zlUIrppyK8}d+$!?7ybCGv?lCf`{pCjyPMtHO=mJAE{T+Aig_3Z?*d~oC1g~@7;}n* z@|--mj6P{e`%WnVX2e`#KnsLY%5W+v(iGE|&tJN(BZ@ahNyz~cWk4y0;FOZ{JP`tn z3C=}I7(#N+S?f=yahm4uc=|W@NU2yzVI_rsrMdqVE4V_3s>1&!!m_Az%EYnavlX`Z z|I!cFx$-g(zT%H>wBRXWN(ojeI&08Y;9AZV2GQkY;n#V!6>lw}`|CADi5|*zJ+jiD zz`BpN@|^P9#S~Fd;N{{`N{kVl=NQvG2SSKaY~3nQRslJar5zR)Z8|AQK`VP`IhXQp zu?j_UzP8C$DM%gSF1%P$w(bf&Sxte;*YN+mB7Slqma6jil|1RWh?Yn@L+2hx5 zL|J!~8)p4iYhwvq6FFan`U8~BPtDW3gcO&mcm)!qw0ZFOL4i2&u2#|5rV9;MC;y+a$X!G7or6~t55o`c^k;$ zC?IP=-KuTia_Y{d5{A1@=`CxJs{3DGsPZ2~@w9v=0KZoP@T7RMj50!|ady@-BKNyn zP=-t(|)V%`N_vXll9Zwnuas>^7IG@ZPUh-{{7$n?azPwmp}aBhY#=X z86)F3PIl&;G;Jd|2f+SxP9bqF#(u(_V(@}<&X_h0P>zgKp-Gm45lXoAV@@0hm0D%U z33J9wD0MEBpf+IKhA{WT>}=CE#^~p#$HUG3hY#;}yRCC>9A_rvX1CYI#FQ{aJ5I;r z(P-Unx}4F60EFb6&gcH-{jS~a+|x-L!$JDsX6K(?jv-*vc7icX7y}Tl54Z0lHB;dB z9QG7iDSdGL`TX$ZlWMj<{{7$VZ*OzPj6`V@Vt9Fe8pa{zObC-wDXl(y{IEal5!26q z`RU>Dm@^SvC}k$^oSi8nRB1{Xm9*A3-fp*BiWzfk8!d#G zhTi*edikVcq-{p2Qk0ByrWy)~^(Qx<1u{le%2V`-3rQIdJ`g}30#M`vC_+CBZ{cpg zKM+cuU!DUnu3Ob?n9w0ICY4ex67S}Km^sJUo?f0m-|V~F!>(&}jN!*0KHlEm7&9S- z?XKgP{X7UxQo`|kOycXVe=*%2bLNC1fs}Gg!8-RZ|MG8NK0oXahgJ*g9G40hm0HRS zG5E=jJ|w|-*XY(X$;V+n#b}k1(fg3|ZhyGDyK~kak3AEDNjXOp$Yit884?f|0^=-a zEE)fVQY9tl;Qcs1j>BX#q0Qz-aL^#yR_jKo#I<7ght0N?FVp$_^w1w)`qMF3+qMm( zbesmv&L~MRqxajkGurqNW*fQULdlJ3nNX(dhH-K^8`C&zV+b6Hl3JTaP%_QIM?$!i z(!_*M&qp63iVnmVwR_(jx`;H-nF0;ohbatWugy*04>3d_*t8ohH3D6d-G!7=aK;!T zfRxe@LX1%ekz(ddQp!SzA*Ep$lvYA+3B{OPh?ue`gga+T1_h<`bUL5UXU_RB3}3%K z8f|9lhJN^tr+IL3yw`!U~MSIKO{3?>EHq)h) zbWIF!tp@p~JZm+uU#E*=Rc=&hSai}=#Zl1A@)Jotq&4(h=NDBFS*FOZmEYIXk1;QD z9kv!P)vnxXPF)4jT-b$DtO#SAOWr3TYLE`DL;5QPs(N|=NC_6xFj;mZv@AMOx(JiL zQQFiZ=VCKhL+bJ;zwY8)FF;=JSl}Dod?5frFwSY6I+sJLbf^-KC502}JF@<{-p8^- zD1W<7o>|^XAOx!=H(zQBFGQvAu1X+Z=PXrl|Bdzb6}qhwspXw5Yzj-r)#`JBtJ@EY zU7L_^@ALYC1^O@fwq&`7={hWEiJHB7?W^m9F@kvA@RUxO+zTn2sy=b-_O(Z=Khuu+7AO`EF%)m zkh0tRx4LOIi2&vtaT@LE)B}>+o7=8y=V@ewYdvG567I6;aqLDB)b?hkqR(T z)y>D#Je&n1DI#HlP(~@Y$>tOpBN=kcNl6xhbI#?AoN>a0kd16QE_F!gVkBIKlyb~~ zrExL>L`u;ZdD!o~3xW${wjm;wJmus=%mgz)O4-hKnxm&rZaTM`&)y0yy|sRt2Cc1K0idHH*el0;BB|3Bn3Bx z5E!R!IzLb6m&ZrfpCGt2k1S_JaMS5d@!%)U2qhr*9T!R}6%qT%>UQH35!!IA+wGp7 z$MgBDH=BqsPBtd%V-ys2n~m8VS|606o9#v`Msl9!^V8#_%VPKD$L;O=!=_~ttV6`; zL!PGbeCES2^?lD66RK5`Qpx}l=UgeNr7BBa0@)ZfP2=TD{o>*z-iL%#8||EnDNfTU zr3RoOSSh;@T^ZxW7(RdgGLEA$W}fGvpHf5sqP6~xrhmgc0AKy0rny(|<5H(Zs-(N> zo69d#DyoJ8S!kW*=e*YX<63~RHiNG82IQ~q2-g3$;{Ml|l`=-W&)i=?boMF z>XxP!8!wWxE4f`7@#;>gHg;Xm_IilEutBn@j4uA^<;mrvkr7FaF)ef`gj`+bwMnB~ zTUZ>%OI+2Zfg1p%q-*Ey5}|wL2ES_fx+WK;ghCXV6Ilu_NKOANSEk&bt9)Mg-UINv zeJIH}Bi7osX?DBAr%w+lqY)Z~mQoAT0vG)-`53eos=XOr9-f{)D=GisKm5lx_xGPZ ze@e+S3iCV;!})O7{O#X9NV-t6~;(rFwpM}RDaM8L*0N-FPW!nje} z82#uxJ)MnK6dxmyjbUsavfXjm}vDxZSi((@@5QqPxvO za6Z`+VzAy0BWtzh5Pc582j|>#|MSh;4}$(zCmdU%RvpL z#0Yjx+M`_%B$T%r2owaK zV2_GcvAo7A{nfT^c$_4v^5u^Z)Mz4hLd_mN>9kOx>-r$SZzsxVzAvK6f~*(uV{hyq zU?nXrU|h%ocnBrBk>W8_K(2cIniI=LIITY-5*kl$-N%t1IzDf+P#<$zv+PTM@`Ez? zJXYhGZ(fL#$QL|H5C^2advj^t98zbX>|0qgF01%WcJBe6BE=YTwggoCuSz6k>p&o| zBeudmn6iBM!4mm$bf^hEvIF$F?wbShy8l$KCry)er*QK0rjbcbO5*7p$_DSPGI5o5 z=0toB(J6J$u3rVdID6NR3H$PESck2r{yi|7pwDz3@(UlU#KGdYS`pVUn z5WSsj0sEkMCQu3BXY$g|1FI%#Wo6a-${3Z?SfDsLqH3xA zR4BFN1D37Npe1N0tz|r|*;jY3vwdvx^RB;N!ZZZ0a@)U66~58?>M=a!5yfSlNr})r z_exD_d>+`?I6AP^ouaUw!{5G*tT=s%WUu~tOF?)7KRBL7&mgPaf^oflFvz@4WDL1IpBIRuop0*>PWLRPoRGvw;IO}m=o zr8lDb(}F$uS!I7C)T6*vcM>?vTjLCqqhlzXp?H}SN#{$L2pZrg9Au+j{z$SC{04`5 zxwL!{2Vyn@fr>Tc7*BERk@-D}&HqH7*DyBG&>yRC%7798B_vNrM~jO3`*U%P#C}C^ zU;jJO5M0xpoU7z{2qid8)w|w^G%|!jGbix%UjZuu%C-k`0vnXn3I!HCsu+i&1nAu= z1vB&^PPCYNmlJ#IT{EYtqTvb#tg*d{PNG21x!@7XkraqMwzkL8%po52na93Q0y z+O%noq^K9hXoHb3yKFya&>_T=tBFtFI*{fE#r~yR_UnurhaxCfs0cU{#$T}PnkFw0 z;ySEE+*xM^2hviKV29p$O2&m8rcq;I(A>Jmi}v}b8aSmrw|TiQbI5Xx2)K-#-*g!0 zf-5%m{E9(}fdR=Hy;|~=;FW2dcAtHFw9dZ%mT<|jA#(&hd+;J~X))h-MyD68Ph86( zZD+eFoQ<4N(bBXE@+q^p&B(m8tG$o$-JE`ELNwKrHvK@}%Tl4|-HG3Gd3|$*L4A@M z$%lc8QzH!DD@jTDLJab$X|18@39F*(+Q{>Ujr0^~E}UR(JF%RF+mgC9qtIBT^{oO} zQHP2~%kt8PLesycG}17f7S(`1{e}`$P_Sr@riB^BR()oFYpwjO(DP|DEkJQF+t{GA zvUp;fyK$qUFa%^EH&JFWISVle{2B_=S+zAh{Y(xaHwKI;=ykmHG|&Cmv}+_*q^QqD ztwC&k8$PX40n$$?BjhriI@K;0wKfGHG;y$On1&aA{%wnZ z24$*Ntrv;M|JOkM_xgx>pCWQ1Gbm^W21BPbc z8tCUAwi!i0O#->-&BRP>T3_D85>tJ6X6Eh4i`e%`3>*|B;WHcYO43w=R=5YgAx$%2 z|GND^M4Shi8FtL4_WEVNZ8kd*XbV@FBOTD()B%|lvFu87#=n`-kfoy_%w4fG3585k zz7|*`oUlIOmm7{03i0el@U^J?kW-X1!~0w)oVT#=6j z!t$z$PdwPT?-d?Qnz@e_*7Q-z%x@2(t?WDke_m_cf|eGzd<4yRR&KHHMt)` zDUp;@mzAm%MgH5(751W;BOck-6(^Y#2RNsm#h%!IsJgX0=C8EBYs2``6V?!l>{E!O ztpCng75g+H!!l_q(Dkx4%^rpY*uxe;saO`5G19_CfOf882@P zKfH?49JW87<3~&=uSCy*_ft$ozUj9zscCkYRf}k%C|HcSZfy}QiG}2ce8=tI3yTXU z*p;nI!1sQW{#;d(kO@Gc3!UH!ZdUdNQ}=<6J9Em+*^vN5_e75VfNJa=ZQmH@f@>df zE|48;Yo39t6du(l8)3sDaNWjPQ26*lg}KD=en?t0Mn?fx{{=FEf2D=lx~fE^L#OId z=TyYFkVW_1hO?ONj!Mxgj&8;{k7w{7LMvDO74D)hhNPWzdIT*m{TmEjW*86f%X;?( zl@V{LZ}2Ji=`&im_uwwCLh9-0^ludGu&nHd+yJfKCF!`Kvr=coPGa%9W#j3j7 zMIKfln<5^};Dhik8;4UA9Ai)&xN8MGEgMj+_J^|%kn zkXZ+%*K>Q04Rcam0nB%sg@dAf96Ut)G3XhkZs04@+(t@%+1@n%441_GBGXup6UWEL zfrGD>t>)V9FZ>(CaqjdT+_dq%pPws>9g7HVe7k0~B&__zTnWI}S7)n~TB~|1CSoOx zPu2PG{_vEFZ*h@nvEyrM5cw)cB)wIfQEhEZtr#(&nXz5t|K)kB7pP?Kf z)jVgn4k9Tey#g;yPK*SsnhOuUVqXtrjPtzG$C^DHWCYCCLo{MLFW0hChV*LF`CdbZ zfmAt(3AmbBo(qXMG+JXIM25p`Hie%dSRSBh&3_Sp4JR>gwV!oCWM|{X*s-f?2TQ*5 z2M5;JfV*|U)tj@s1*^Fp1Vnzk)?fghNTFwgaqxgsB9+nUf}CQqgFoH?eL!N^5InWM zMz!m1qfGRdmN`fa|EkanW@g~3(-|Y)Z=vvbT@?>knux!{u4oR~VaX86zrT){T zw)Ncc3e#~fD6o0f@@*>+kMBjEc?g~P)mU%Z9uu|7h}B%Z1Qy|Xwy61%|5@{p<`BP} z%o?JQhDZl8ZQ*<~0YzsWV}$x^&6PG}3WQiJ(4lnz>qE&kM2!0Rc|&-2CtWwa_&NIe zK>26K3Oim!hCj|Z`aa5NS)4mKsPu2KLNJ+YY4>iKswch&JznWw->2CZS96}pSH^9O&M2oQzKPVCS~fxS4$->X35n6Jp>#bd%|2g-@pHvR?IzJT=p6I zrF5HEssHePovBULogcSKjlVK(7q<-k**@_bk)S>3uX|YWx*;X3d|I*K7obwas%rD^ zKac@0lRK4+p|lQJm_Nj=6Il{d_?hP}8Ixj?H!f43H)4Nel&hiD86bN(*>k^RsROuO zmMD@*u@Wt}4`&emVw9V09tq;i8T#?)0;hQ9P}pM;L<%#Z1MJbnAp4R!=B&@Gg)+or za-Y6uF6?;(^t*}1h)_KV`XKTCLynPT?SUI6t&am`7}1}4jH{pZZg|gBOQpey;>bt0 zK$onU;mdNafaJ9h&=1^VS)8x!6MB-k-1Zwq`4^{M2i!Usw_AOHbt{ktrv)XZ5m3)B zEon?Lsp2ZG4F;|o&JQGg`J(pUVMLUPALAEj8xRi>no}Q>hkkspMkskH>g4$0<|2P$ zV`sWja&33Di6U=oLCVEeOaXwkW$5?*8yv|&Ts7#ENh!m1DF<f%$1te_ zN@h{}@8T$_NS3?1Qv+_N1Kvpn5Q#bo*~cjGzt2)#71QkEu>Qz`g!4O_!lp7SlIAIg zkA+MJ5(w5q>|_B?zyf_GYrt2uqySTbf_RcZfrM|*i%jqSoo;Lt&N+q-kmoyCz_!*t zi9Z1oYm|n}E-pEGzPnp9iv5)Dj-j*P+vJwDFu;=nQ3mPL#t%0$r;V2`sDaGM5nWS4 zoAeJAf6rZ>xJtbD_nRu@_xYBt&KW`pxEfQPxh`SuA5_n6jHd?>J%kJPW!A^Y^rdmI zgE&$YKm+o=J%li4EO$CT58qQSMj*HIg|n3uQ=WH3H8m| zrdbh=+b9#00H}tDtQT=?*UM7i^BkgAFp$dPXi^R}i#!J;LuI?~lgW5|TF{U9ahwTV zNQDvO;F(4912Y@^;rXa)9B-ncXbXbcl01-(MMOgb)i*<6Db5{g5u*{zk3~^R5Hdp_ zL&KFbeOW)U6!D#7e%nXlO}r@pC4Vn{k8>VEK{pe`NtnAX)J%Vuvh5^VcMP0VvZQH^);!eJ%KmKCu&$px{+ILbz1(aq`dH7Z zqVfAp*|J5i0w2 zQ1!1bnyHNZ8w5};3uDKk=GUCOvQv5$WG^c!Fv3>>?$*y5^_ZI1Z@ES3@Z<-zS-EuA zEB*=~+i_m&`U>CW%tZ?2oKDQa@(Y&2{e51v=bDA33*KwB?fE%r1 z`Z2#;S{4X?;cPum2b+?I-sM35dAtSz%-vd^Hk*$J@}&>P-&(YtzmRuq@d#)fD@+38 zC&#H`!+9yX#TMr0Uwt%Z0N~P+NO@xUUI2RtHA|z0#2aaPMF0*(qV~>nv_FLtt%Vrv zz63O-vszHjEu`=hCZ;bN$mc4xXoYNHi&l>=TpOF_c0Ew)F=hrF%-_yCflgV>VOv{U z$c0@TL3Kq!6*E#l%s+g zQHmn$%H^fRy9ISA0PDvg#P__J@E|YS*?N1S&>p~?2X0FnJyxo7n4J<6{d7QYYCt@Y zPALcQVOHsXLc8t!wWv-qYjldp+`?I;*|sN*#P8}Vje36Ju4={+w@o^u`2fY;rm3GVPvL}^u%5s^7$;xY1ZIm5-C{LX3xYT)S@pd+BR^1&xA%b@H z@||Z0pLPbfGej!1?3Q*K$SGXdRxm#?c*Oa&_61wXkDO%a`JBy!KspZM*cDk9o2=g3tH1~l~vwcHv;2+0w$!NIDYm4V(G#DUCEda1O!C4sf||9W3BCq$yQ z{m3*d8X}Kyjl==l0J`F_2+hP}FGcSvSDUw1O=~w`A0wQ8K zcPf2P5= zTb4YYD;4%9C)L2$a)v7g+D49N1Ee9HKHqg;8WJfu3+owu+v5sBRd$?^8ahK!>;&J1 z;ca;h?8OBH=Q|e9D`aJ>^ljD{2uVJYuIUeslvP3%%P@dq&l&%Jtnq`Ooykz&|@O((=Sxh7K=$)80)3KL+3f77jx0N?c3s z+cpQwBZ9I&n92I^lxV#rWnCn9Z-jGR?25sSfK>T=!9#?_kLE{{_>_B^(H$Bc#5DcWb8>cqncsyapfWDiRTSk;v5Jy_nVtq5? zeA?$O&5IQmm(Jgd>eKQ0=(j#9=*?>N`ED%3Ub^)^HvRMl# zAGtAv-`N!9+6wD9#O6wIh7goq4Kk~~w{**x-HcZlyYVz#H| zJ8xGu&U_hgEOz5|Uw8^r_%z3LmuPzDLw;U`yPbf=G zBe#Ed{*q;&ap}3m8^*z~h6Y?=#o9*Al&6O4g8auGIyxi}H%efti60j~ca>;YVAh&r z!FHml=wqsrTKNU`VKySniwid0R$nD^RCy^V9J4i@fwH7D>Krx6LrkOZgF6UUnr21> zkwZ?Zola6h$A5|lAuVI$luy*0Gyb*21zew`vc(i8qW$eWvuqtTCNPB6IZji*2!K#bg1-EeKx@q^&iij4@Xi#iK}zcUt_^{HgKVT8Mw=h%ktS1R z$62#P@WsrOj*MK_ixXSMlfC||)WnfW&O(=D5}!xGX9jL_4^zmUt)Iyx1hRvimEg1L z3i$GPoBJEFYhq{V_%$A32xydJHZcqOni!^LRV#&Vv^_gNAhvXT7uU@nu1C+E!F{D5 z1T3OtDc~sh4dY6od`X6LtHUULNJLp-{5uewn@_4hGAu;|_yqe3kCVG0Q$-V@E!cM29bA$YERx~-3DYt1=%T)(X7MUsLy zc6L1=oJhDD_}9wQW@=EyRn8Fq_HL`=2XKI9wMt59Ab|^gzM?(dRC|FBJC{*8{--4+ z6)wRNrtfBTp(X~~wzOmNBW{&XjEkSP+E;55L8`!2C5(Yl9jR@dSMdWoR9+B@z{vyy zki*b*i&#fx^$8dH+b=O@+Kz)t`!v%~$4c-yYigyh$xPnQJiTV>u25^E`IWMx%TwDW zz9)@mpb6h1uA}0L8QHVrJ^D#1$)9BvOFoCfJtaK_JQGLTNp~CEWo4Woo=4>NP3oq8 zJ6BlvzpI!pAouC7BD%CGs1J^luR7@ruM>5)aw=Kl?22``>3Dd8ajCZROG>cj5KgS* zeYCME6th}8vqW9!OSlZ<=Z7Ux;A_gH=#dKj_fQW!NMDdv?v4@aXk}WEfOxiCi+V=Y zz7*rvDTY zps(@rt8DG~>THL_qR(@G{HBXZGyfYelb)eh{kw3hyiDG50Qv!k7N;WTKkr`i`w{EA z=8e#dAm!sPNDHRLcgrJ6n1~mkvn(wY>6_BhnLOpgHEgP)OPf7riTM>td+-16^A&%Ulu7H6~KN z7XgA1!hxeTsoh7;yPoHs6?XU&UWk6v$C^yfFA@8a{;e}kzJD=CxT^c`+Zj3>R}F2$KF0j`llh#j=O5&C;Z`AENi&zSJ%ov}^!eRgz@0skWi%W; zRT4m;QSWL#3Qi!q@PJ)$0 z6Jf;Y>~_8FcJn{efBtf{k_B{00y1d3J-11S=ecqX(Kr+aB97m%twlQzp&LtG0cd{L zSOvAv&s`!AMG8Zcb{M1aqhKGtBNwvPX`k(kcA>K=HOyb|Ez zyE<+n>OXgPV|{--dXKEVGlUAN=Fhn%3iWzFcG$M7Sy&E?C>P?4AwUSm6Ugf7=7ki; z3?iUbct2+CEM2XLmSHKwU5NB#>cEfzfGnE@diauo$Z}(*pU$(z&~O^N0@u8H`lVMFgwIlv(|r9N8E{sZVpU&RP$EFmb+5?WSz|Xvn`M|2cZQy z)Jb%#jLS$hRQHYYPv>mAkl~h-i=G^1y>Gj6XwUy`aDw4_buZeT<;m7uX8g?P(v>Ko z1FW2KxU1ED*VV08$Xa$`q1!VxUA`}RN^!%A*mlaU5FdUkXv0M{)2-Y8cmq9f5_V?#* zvnoVZY5ob_T&@p>7nH@M_0@gVbnjG6^dpr<)lB6j3uJ)ObjNYSK*N04_^ei)>EP<6 zkaD+U!_0xxwg1L&iV$`p$0%`FF2D(;oSsARh8g2gGrhOZXFW9md8Yw)b=J2v589N7 z8vqa;NITavsA3*guI7=Rcz%|YjQL1^+&S@K|A*4Fzhd4K_4Xz18NMMB zqvmF6nG5X;d-77SRfE8{T|z|mW-vW~j-I%x3lno`^Wwgf$K36Qo9=_YPG(hWECaT5 zx%&@A7f0}{KB3YuOPEkBcBQqc%|1gr;TNN}0$cXgs^;tJ*)>Yleo3WlN>Sx=0SW4r z!WNPsUz%|qcKibGci7*7y%mmsX}q$r7#0Ktcm`g#NcK?$NTqHS^|oT+X7&DN8e18_ zdQw=j;Z2jUSFb|Vc7808U6e1k#rX*wZ_%&=!z{hX={vSPdy!0_6Y4E?K03P89%4Ho z<36dCtjy9!ms!8)AS!vWdc+YtrEBFjvVV5>SojRf@^$hfl<7i3BAl{Tkl^?EH>8-2u$dg{o~;aZYECt0wE-_)>(XA*DOXHx z@+jc#7fZ{WIK{U*xiQI87p!AOZ#7f*FF0!*mFK**em)sveQD%-n<~!vtk_Z!{>Xbl zr7HH3kxCW9&lG}c=+AIH{uMV|D$yvf_Uu!+R-FR7^>S9od8yJzFD>Az@%8R6jTas4 zuR9ZIs!3x5J=Z(`zb72ZO-2t~-sxsT*qd0cQMYXHP_H}=FWq2wsr`}O!k9~@yD+AXl>r8WV z=GQ(TJ+)fecQl-|vQi2XQ^HCs6+1|SBgajKFP#VOBDU67l_wz{^*_3W&Tea1{_Kei z;c+@AvjlHqQ?dQWTa8<|tF`2Z7wj&vlHRamHHg8S$l^6lj62DPqDoIpA1{WFjC?|F zt$Pi)Xf(_Xz56&3#%ZWb%v!X0TOA-Zp3{EKhEQX~Blt<4Km%-%A{=$#G$VkNB5DND z{oZH%?2^w%dBdfL03_FGML^bg?LLMwnlSi{1X|te#P^-3vZeC60SVazD}Pbd)^@qWuMqb_K(=(G{GV|thehiLX0eU z^6bt($CVl%U40X)nx0VW{(sI!X_rw<>}AuqRLdBN?TKxlG-? zCb;{ucgx$FkoVt9P(rY!@%2tLjr&L~PedtQ?St|!yOnOy?(^eOF#PF2ln&lW>}6G& zml5)3bKr$#soKCB``X%*Wm?s4*KxD0MrZeDrP7^RL^98ynZ0qA_|f*92~(fbcFMSV zJQHmB+ucHDlzrx{mSlj+dKYO9x**TnA+}JC1y8S_#Y|z@}$T&_s+u^0^b+X)y-lHflF(caVSO}4Q-%7`X`bV?KkZUx0 zjeGa)ZQ0G>oyZ=6JY9-}3W&b}G-e8j`L)m8pdF^OQ~Sg64UcE@Cf5{mwJaiEn7hb` z>Zh|-(z3Yi#s9Yi_)}7LaAv=YSk@Kg-=*7y4~vTdt_yp%!@+Q1&M1~L*cmRiE}@z6 zys%It8LD44GaBCgM1H^7qhm>|EFAjbq>7U>Yvc?d;ooZ8wb_&s&=7BmIbt2x-h8 zAFUtWoLqRd%t_(E*!8Y;!eIrdk-hM_5i893t?KSDyLd0EujFVd-%vOmdsETzm=L#pa z*rN#50QRLmX?;CPLxIb?NmH>O$>`PP;IF&VR#%Xo_2aW5%4Kj6y!&??#s;yFzEG0$ zm=||83h>OQ(E!8qEp}CTBh~GZa1SlvN7hs#XaKVRXcHSL_~56|bz1Ov?ZRGZbNigr zs9%6YEJlKWgL0*(S%jDkVFuRz!+?r6gB|a-sRH=~;svI(T5ccl;o5h1`fby!55Aqh zNPyMxulM{6gdPs|?-dG!bxBy{u>V&?{^`SMzgV`|kYhll0L1dJtrsMZ051U@*#1AAY*~S#W%cnHRb_jze!kIym??N=Rv&_%5Gbuu?v|@%kCYd?e^_|G5&QQ= zBVQOl};Cj0j#0Y$cnb7K{I(qt&c?}8@Z+;Y-w+R?Mi<%&?qrIQsGFPcqW7c&h}68>TB{ z1v2Mm-9&?+7GoADcgj`1s}ZYki?kXkw!qaDzEN{DNuuxd)t^bU-RbEO6$?-ic-0cu zz*2N4@mQKd;i`K~b@lsqNa<#g@@m8%o12T3GYs~?j2xG!4)D9aoa?xW3#hA5!0-!- zwS$tyBdeXs3mrBv{BQTWtGA zE-i-D_1~sR8McvY;24p_9{0o}h|U8$OL5PP#~P=vyx{x0$^%tmVl1#A}v6Qfl+gm^I<%Mf;somG>m6Lyo z(1%3t)RSj6#1L^N7GVCJM>8oQT-HIa$X?CP0+BR=;`VrKa#E=Bv2HONltxrho@h3MpA zekDCY#Ihfcz`0qLck=z;arrg@NY(F7vcDl@ozJIP9!x(zXM~<;@lYF}M2tWE$8z|t zJ0jh@)ubeNwyu4^LZ|u9^jSbtHqqM(d}I90Uu>o%5hzXHvIwhrFc>WW zxt_vw&&)4D>dw4py7I@NmY-<`*Qci7$(9uaT%x%kwXuw->EE-x)XRT!n+oQ5IBI;M zvcJ5UOYth@?k+r9+W7_a_7_WD-2&K>Gm@!O1Y#e^l&K;spu?`c5fz}t!nrvpj1%mtXv zet^F~GMg9je@JgiY0gcg^G93YS!Ylz-R?^$-Bw#a`{ufBY?K|#e}Se~&UC&y3lF#! z#b0vBfMA>JJ(7Q=$GBf-k(qBAKTe#nTM$VGm6S86NUxWJ+7{e_$o~GK?v>h^eOQ?< zF@MNj;RBs-&g3toZt06`x8t!1v94(e7pLNgIvp1;{@^ur|j_64@s#1St|A_B_0935ud_ ziA7Rds)flf$;Zy<@b05;mmkCMUFeEv%nh{&=+Z^ex%HA(@e}oPv*Rn4)R7;3py`*#uMW`itzdXnQehEW|h^qSasM>K_-@BJDPw$ zCrg>8Z+AnN%1;x!uI2o$6sHe~TzCwgd%1)4t|F=ke|Op69NItL(JJs7EEnF$1}JstK*NdTVBX0=;;`!=+Y`XjmgiODqZd^ z3tB~bckDCWGcQk+Nn3W_TIPZ~AC&b3nr#%<>Eq(=D)$VK%F7pJE2F&(T041kDV~yv zibdYG)Tx%%4+EngH}ZKrlim8eu0Ol7zN6s;C%Tt4tvM_6mX7W~zjIc9z^n6voM~vM z(u<+)wK-+NGy1^{TMu`1r^ks2?ZI zANByLbQo$;_7Ch-q==s;5Vy866}q^oEG_Q3M#aTZ;Isgdu;RKBuGAXx?)me4+j^Ca%`7Nv!a>m^J1g@Nw`~X^G~>kr(M5yKDz!uDOm7W;;KDqPjX;Kk^dO z#<`#e0Nx);-ht3e51gk$GSuSJlBw-l{N~Av_}GJ%{Q`W_v0m>kR|l7Ohl)K2esNk%AAC=hJ}7T#n>nbHBS01$ z5=k`?_-nBSA1XG|HI}`9o?-egGCK@{H4bOzV+Kv zYvW^jPyY>dVDoUjp8-4}QSQ>W$vhe+w`S!=^MbS#Ny%MxYZUSdDcn^hA*8(e!@+`m z>Xe=OmMHzVYsp>gEha(Y5o!Y`PA#i6uPP;UpQ(7LTeP2gw*I~)LxwA2&Y!#F89?yc zk>Ng}3$6PY<9>o@*^S<9?9er@#Z@S6t@e4l-f*zb5`We+Xc|a^bI-_LYm8K|Tg&!J z=hJ&ysbf$kpv-NOT5XWrNQhc7z50cefz*AOgbB$|sE*GryipP|5dTrm1LJ=iCpdcpLmTFgODd6}PULaf0Pmd&A0f041A zkM5odzEHF|qRz^lSZCq+rBO=>PCovZXT=jV6zcc6>MNSvFStU_HPtj>%1+^h?B zm{Es{$<)1;1>4SH9rANy;?A?6kusB)eP#n($B1XZ7>$m|z<|1NjVM^caGoK?ZLWEn z`WnvuFz2sQq9*zApK1M!dVHRvkNS*)ql=?P2?F|%=7(%WX~7g>pJ8K7xMoS0vs*rL z$z3T+^==xy(fTQK6BY+SBDt|Jsgb|blcfuB3D}1)4g$H=rQVFfAe#hB5_Q zqZiY)3zMhk`D_zHkM%2aAQbai*|JMW?*RnmbS{p+lBU`{Giq9cOS*miyzRC*dOIi- zQ!Nq(P+>BcLGgcDw$Y`CzX67n6jh9Ai@GOk_}-iqL+TFB2-pTk2VXs)R_(r6KT>RH zX=%H5Y-nPUk(sPVRj1(3-j48%Bz@3B0eelwf^5tY8bfsEsHX|TW7t3dJvB;;c=1{f zfGBifD#8i982wR

    ?GjJ{&=WTuKZ+lNSC1sE;oSUqrx+!rKPn~w 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 literal 0 HcmV?d00001 diff --git a/examples/designer/taskmenuextension/doc/taskmenuextension.rst b/examples/designer/taskmenuextension/doc/taskmenuextension.rst new file mode 100644 index 0000000..a1b584f --- /dev/null +++ b/examples/designer/taskmenuextension/doc/taskmenuextension.rst @@ -0,0 +1,15 @@ +Task Menu Extension (Designer) +============================== + +This example shows how to add custom widgets to Qt Designer, +which can be launched with `pyside6-designer`, and to extend +its built-in context menu. + +The main mechanism is based on the :ref:`QPyDesignerCustomWidgetCollection` +class that takes care of handling the registration. + +More information can be found in :ref:`designer_custom_widgets`. + +.. image:: taskmenuextension.png + :width: 400 + :alt: Task Menu Extension Screenshot diff --git a/examples/designer/taskmenuextension/main.py b/examples/designer/taskmenuextension/main.py new file mode 100644 index 0000000..ffde89d --- /dev/null +++ b/examples/designer/taskmenuextension/main.py @@ -0,0 +1,16 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Qt Designer taskmenuextension example from Qt v6.x""" + +import sys +from PySide6.QtWidgets import QApplication + +from tictactoe import TicTacToe + +if __name__ == '__main__': + app = QApplication(sys.argv) + window = TicTacToe() + window.state = "-X-XO----" + window.show() + sys.exit(app.exec()) diff --git a/examples/designer/taskmenuextension/registertictactoe.py b/examples/designer/taskmenuextension/registertictactoe.py new file mode 100644 index 0000000..4f163e3 --- /dev/null +++ b/examples/designer/taskmenuextension/registertictactoe.py @@ -0,0 +1,13 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from tictactoe import TicTacToe +from tictactoeplugin import TicTacToePlugin + +from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection + +# Set PYSIDE_DESIGNER_PLUGINS to point to this directory and load the plugin + + +if __name__ == '__main__': + QPyDesignerCustomWidgetCollection.addCustomWidget(TicTacToePlugin()) diff --git a/examples/designer/taskmenuextension/taskmenuextension.pyproject b/examples/designer/taskmenuextension/taskmenuextension.pyproject new file mode 100644 index 0000000..29ec524 --- /dev/null +++ b/examples/designer/taskmenuextension/taskmenuextension.pyproject @@ -0,0 +1,4 @@ +{ + "files": ["tictactoe.py", "main.py", "registertictactoe.py", "tictactoeplugin.py", + "tictactoetaskmenu.py"] +} diff --git a/examples/designer/taskmenuextension/tictactoe.py b/examples/designer/taskmenuextension/tictactoe.py new file mode 100644 index 0000000..9155d23 --- /dev/null +++ b/examples/designer/taskmenuextension/tictactoe.py @@ -0,0 +1,133 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from PySide6.QtCore import Qt, QPoint, QRect, QSize, Property, Slot +from PySide6.QtGui import QPainter, QPen +from PySide6.QtWidgets import QWidget + + +EMPTY = '-' +CROSS = 'X' +NOUGHT = 'O' +DEFAULT_STATE = "---------" + + +class TicTacToe(QWidget): + def __init__(self, parent=None): + super().__init__(parent) + self._state = DEFAULT_STATE + self._turn_number = 0 + + def minimumSizeHint(self): + return QSize(200, 200) + + def sizeHint(self): + return QSize(200, 200) + + def setState(self, new_state): + self._turn_number = 0 + self._state = DEFAULT_STATE + for position in range(min(9, len(new_state))): + mark = new_state[position] + if mark == CROSS or mark == NOUGHT: + self._turn_number += 1 + self._change_state_at(position, mark) + position += 1 + self.update() + + def state(self): + return self._state + + @Slot() + def clear_board(self): + self._state = DEFAULT_STATE + self._turn_number = 0 + self.update() + + def _change_state_at(self, pos, new_state): + self._state = (self._state[:pos] + new_state + + self._state[pos + 1:]) + + def mousePressEvent(self, event): + if self._turn_number == 9: + self.clear_board() + return + for position in range(9): + cell = self._cell_rect(position) + if cell.contains(event.position().toPoint()): + if self._state[position] == EMPTY: + new_state = CROSS if self._turn_number % 2 == 0 else NOUGHT + self._change_state_at(position, new_state) + self._turn_number += 1 + self.update() + + def paintEvent(self, event): + with QPainter(self) as painter: + painter.setRenderHint(QPainter.Antialiasing) + + painter.setPen(QPen(Qt.darkGreen, 1)) + painter.drawLine(self._cell_width(), 0, + self._cell_width(), self.height()) + painter.drawLine(2 * self._cell_width(), 0, + 2 * self._cell_width(), self.height()) + painter.drawLine(0, self._cell_height(), + self.width(), self._cell_height()) + painter.drawLine(0, 2 * self._cell_height(), + self.width(), 2 * self._cell_height()) + + painter.setPen(QPen(Qt.darkBlue, 2)) + + for position in range(9): + cell = self._cell_rect(position) + if self._state[position] == CROSS: + painter.drawLine(cell.topLeft(), cell.bottomRight()) + painter.drawLine(cell.topRight(), cell.bottomLeft()) + elif self._state[position] == NOUGHT: + painter.drawEllipse(cell) + + painter.setPen(QPen(Qt.yellow, 3)) + + for position in range(0, 8, 3): + if (self._state[position] != EMPTY + and self._state[position + 1] == self._state[position] + and self._state[position + 2] == self._state[position]): + y = self._cell_rect(position).center().y() + painter.drawLine(0, y, self.width(), y) + self._turn_number = 9 + + for position in range(3): + if (self._state[position] != EMPTY + and self._state[position + 3] == self._state[position] + and self._state[position + 6] == self._state[position]): + x = self._cell_rect(position).center().x() + painter.drawLine(x, 0, x, self.height()) + self._turn_number = 9 + + if (self._state[0] != EMPTY and self._state[4] == self._state[0] + and self._state[8] == self._state[0]): + painter.drawLine(0, 0, self.width(), self.height()) + self._turn_number = 9 + + if (self._state[2] != EMPTY and self._state[4] == self._state[2] + and self._state[6] == self._state[2]): + painter.drawLine(0, self.height(), self.width(), 0) + self._turn_number = 9 + + def _cell_rect(self, position): + h_margin = self.width() / 30 + v_margin = self.height() / 30 + row = int(position / 3) + column = position - 3 * row + pos = QPoint(column * self._cell_width() + h_margin, + row * self._cell_height() + v_margin) + size = QSize(self._cell_width() - 2 * h_margin, + self._cell_height() - 2 * v_margin) + return QRect(pos, size) + + def _cell_width(self): + return self.width() / 3 + + def _cell_height(self): + return self.height() / 3 + + state = Property(str, state, setState) diff --git a/examples/designer/taskmenuextension/tictactoeplugin.py b/examples/designer/taskmenuextension/tictactoeplugin.py new file mode 100644 index 0000000..0d53844 --- /dev/null +++ b/examples/designer/taskmenuextension/tictactoeplugin.py @@ -0,0 +1,70 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from tictactoe import TicTacToe +from tictactoetaskmenu import TicTacToeTaskMenuFactory + +from PySide6.QtGui import QIcon +from PySide6.QtDesigner import QDesignerCustomWidgetInterface + + +DOM_XML = """ + + + + + 0 + 0 + 200 + 200 + + + + -X-XO---- + + + +""" + + +class TicTacToePlugin(QDesignerCustomWidgetInterface): + def __init__(self): + super().__init__() + self._form_editor = None + + def createWidget(self, parent): + t = TicTacToe(parent) + return t + + def domXml(self): + return DOM_XML + + def group(self): + return '' + + def icon(self): + return QIcon() + + def includeFile(self): + return 'tictactoe' + + def initialize(self, form_editor): + self._form_editor = form_editor + manager = form_editor.extensionManager() + iid = TicTacToeTaskMenuFactory.task_menu_iid() + manager.registerExtensions(TicTacToeTaskMenuFactory(manager), iid) + + def isContainer(self): + return False + + def isInitialized(self): + return self._form_editor is not None + + def name(self): + return 'TicTacToe' + + def toolTip(self): + return 'Tic Tac Toe Example, demonstrating class QDesignerTaskMenuExtension (Python)' + + def whatsThis(self): + return self.toolTip() diff --git a/examples/designer/taskmenuextension/tictactoetaskmenu.py b/examples/designer/taskmenuextension/tictactoetaskmenu.py new file mode 100644 index 0000000..71826dc --- /dev/null +++ b/examples/designer/taskmenuextension/tictactoetaskmenu.py @@ -0,0 +1,68 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +from tictactoe import TicTacToe + +from PySide6.QtCore import Slot +from PySide6.QtGui import QAction +from PySide6.QtWidgets import QDialog, QDialogButtonBox, QVBoxLayout +from PySide6.QtDesigner import (QExtensionFactory, QPyDesignerTaskMenuExtension) + + +class TicTacToeDialog(QDialog): + def __init__(self, parent): + super().__init__(parent) + layout = QVBoxLayout(self) + self._ticTacToe = TicTacToe(self) + layout.addWidget(self._ticTacToe) + button_box = QDialogButtonBox(QDialogButtonBox.Ok + | QDialogButtonBox.Cancel + | QDialogButtonBox.Reset) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + reset_button = button_box.button(QDialogButtonBox.Reset) + reset_button.clicked.connect(self._ticTacToe.clear_board) + layout.addWidget(button_box) + + def set_state(self, new_state): + self._ticTacToe.setState(new_state) + + def state(self): + return self._ticTacToe.state + + +class TicTacToeTaskMenu(QPyDesignerTaskMenuExtension): + def __init__(self, ticTacToe, parent): + super().__init__(parent) + self._ticTacToe = ticTacToe + self._edit_state_action = QAction('Edit State...', None) + self._edit_state_action.triggered.connect(self._edit_state) + + def taskActions(self): + return [self._edit_state_action] + + def preferredEditAction(self): + return self._edit_state_action + + @Slot() + def _edit_state(self): + dialog = TicTacToeDialog(self._ticTacToe) + dialog.set_state(self._ticTacToe.state) + if dialog.exec() == QDialog.Accepted: + self._ticTacToe.state = dialog.state() + + +class TicTacToeTaskMenuFactory(QExtensionFactory): + def __init__(self, extension_manager): + super().__init__(extension_manager) + + @staticmethod + def task_menu_iid(): + return 'org.qt-project.Qt.Designer.TaskMenu' + + def createExtension(self, object, iid, parent): + if iid != TicTacToeTaskMenuFactory.task_menu_iid(): + return None + if object.__class__.__name__ != 'TicTacToe': + return None + return TicTacToeTaskMenu(object, parent) diff --git a/examples/examples.pyproject b/examples/examples.pyproject new file mode 100644 index 0000000..814aae0 --- /dev/null +++ b/examples/examples.pyproject @@ -0,0 +1,162 @@ +{ + "files": ["3d/simple3d/simple3d.py", + "axcontainer/axviewer/axviewer.py", + "charts/audio/audio.py", + "charts/callout/callout.py", + "charts/chartthemes/main.py", + "charts/donutbreakdown/donutbreakdown.py", + "charts/legend/legend.py", + "charts/lineandbar/lineandbar.py", + "charts/linechart/linechart.py", + "charts/logvalueaxis/logvalueaxis.py", + "charts/memoryusage/memoryusage.py", + "charts/modeldata/modeldata.py", + "charts/nesteddonuts/nesteddonuts.py", + "charts/percentbarchart/percentbarchart.py", + "charts/piechart/piechart.py", + "charts/qmlpolarchart/qmlpolarchart.py", + "charts/temperaturerecords/temperaturerecords.py", + "corelib/settingseditor/settingseditor.py", + "corelib/threads/mandelbrot.py", + "datavisualization/bars3d/bars3d.py", + "declarative/extending/chapter1-basics/basics.py", + "declarative/extending/chapter2-methods/methods.py", + "declarative/extending/chapter3-bindings/bindings.py", + "declarative/extending/chapter4-customPropertyTypes/customPropertyTypes.py", + "declarative/extending/chapter5-listproperties/listproperties.py", + "declarative/scrolling/scrolling.py", + "declarative/signals/pytoqml1/main.py", + "declarative/signals/pytoqml2/main.py", + "declarative/signals/qmltopy1/main.py", + "declarative/signals/qmltopy2/main.py", + "declarative/signals/qmltopy3/main.py", + "declarative/signals/qmltopy4/main.py", + "declarative/textproperties/main.py", + "declarative/usingmodel/usingmodel.py", + "designer/taskmenuextension/main.py", + "designer/taskmenuextension/registertictactoe.py", + "designer/taskmenuextension/tictactoeplugin.py", + "designer/taskmenuextension/tictactoe.py", + "designer/taskmenuextension/tictactoetaskmenu.py", + "external/matplotlib/widget_3dplot.py", + "external/opencv/webcam_pattern_detection.py", + "external/pandas/dataframe_model.py", + "external/scikit/staining_colors_separation.py", + "installer_test/hello.py", + "macextras/macpasteboardmime/macpasteboardmime.py", + "multimedia/audiooutput/audiooutput.py", + "multimedia/camera/camera.py", + "multimedia/player/player.py", + "network/blockingfortuneclient/blockingfortuneclient.py", + "network/fortuneclient/fortuneclient.py", + "network/fortuneserver/fortuneserver.py", + "network/threadedfortuneserver/threadedfortuneserver.py", + "opengl/contextinfo/contextinfo.py", + "opengl/hellogl2/hellogl2.py", + "opengl/textures/textures.py", + "quickcontrols/gallery/gallery.py", + "quickcontrols/filesystemexplorer/filesystemexplorer.py", + "quick/painteditem/painteditem.py", + "remoteobjects/modelview/modelviewclient.py", + "remoteobjects/modelview/modelviewserver.py", + "samplebinding/main.py", + "sql/books/bookdelegate.py", + "sql/books/bookwindow.py", + "sql/books/createdb.py", + "sql/books/main.py", + "texttospeech/hello_speak/hello_speak.py", + "uitools/uiloader/uiloader.py", + "webchannel/standalone/core.py", + "webchannel/standalone/dialog.py", + "webchannel/standalone/main.py", + "webchannel/standalone/websocketclientwrapper.py", + "webchannel/standalone/websockettransport.py", + "webenginequick/nanobrowser/quicknanobrowser.py", + "webenginewidgets/simplebrowser/simplebrowser.py", + "webenginewidgets/tabbedbrowser/bookmarkwidget.py", + "webenginewidgets/tabbedbrowser/browsertabwidget.py", + "webenginewidgets/tabbedbrowser/downloadwidget.py", + "webenginewidgets/tabbedbrowser/findtoolbar.py", + "webenginewidgets/tabbedbrowser/historywindow.py", + "webenginewidgets/tabbedbrowser/main.py", + "webenginewidgets/tabbedbrowser/webengineview.py", + "widgetbinding/dialog.py", + "widgetbinding/main.py", + "widgetbinding/registerwigglywidget.py", + "widgetbinding/wigglywidget.py", + "widgets/animation/animatedtiles/animatedtiles.py", + "widgets/animation/appchooser/appchooser.py", + "widgets/animation/easing/easing.py", + "widgets/animation/states/states.py", + "widgets/codeeditor/codeeditor.py", + "widgets/codeeditor/main.py", + "widgets/dialogs/classwizard/classwizard.py", + "widgets/dialogs/extension/extension.py", + "widgets/dialogs/findfiles/findfiles.py", + "widgets/dialogs/standarddialogs/standarddialogs.py", + "widgets/dialogs/trivialwizard/trivialwizard.py", + "widgets/draganddrop/draggabletext/draggabletext.py", + "widgets/effects/lighting.py", + "widgets/gallery/main.py", + "widgets/gallery/widgetgallery.py", + "widgets/graphicsview/anchorlayout/anchorlayout.py", + "widgets/graphicsview/collidingmice/collidingmice.py", + "widgets/graphicsview/diagramscene/diagramscene.py", + "widgets/graphicsview/dragdroprobot/dragdroprobot.py", + "widgets/graphicsview/elasticnodes/elasticnodes.py", + "widgets/imageviewer/imageviewer.py", + "widgets/imageviewer/main.py", + "widgets/itemviews/addressbook/adddialogwidget.py", + "widgets/itemviews/addressbook/addressbook.py", + "widgets/itemviews/addressbook/addresswidget.py", + "widgets/itemviews/addressbook/newaddresstab.py", + "widgets/itemviews/addressbook/tablemodel.py", + "widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py", + "widgets/itemviews/fetchmore/fetchmore.py", + "widgets/itemviews/stardelegate/stardelegate.py", + "widgets/itemviews/stardelegate/stareditor.py", + "widgets/itemviews/stardelegate/starrating.py", + "widgets/layouts/basiclayouts/basiclayouts.py", + "widgets/layouts/dynamiclayouts/dynamiclayouts.py", + "widgets/layouts/flowlayout/flowlayout.py", + "widgets/mainwindows/application/application.py", + "widgets/mainwindows/dockwidgets/dockwidgets.py", + "widgets/mainwindows/mdi/mdi.py", + "widgets/painting/basicdrawing/basicdrawing.py", + "widgets/painting/concentriccircles/concentriccircles.py", + "widgets/richtext/orderform/orderform.py", + "widgets/richtext/syntaxhighlighter/syntaxhighlighter.py", + "widgets/richtext/textobject/textobject.py", + "widgets/state-machine/eventtrans/eventtrans.py", + "widgets/state-machine/factstates/factstates.py", + "widgets/state-machine/pingpong/pingpong.py", + "widgets/state-machine/rogue/rogue.py", + "widgets/state-machine/trafficlight/trafficlight.py", + "widgets/state-machine/twowaybutton/twowaybutton.py", + "widgets/systray/main.py", + "widgets/systray/window.py", + "widgets/tetrix/tetrix.py", + "widgets/threads/thread_signals.py", + "widgets/tutorials/addressbook/part1.py", + "widgets/tutorials/addressbook/part2.py", + "widgets/tutorials/addressbook/part3.py", + "widgets/tutorials/addressbook/part4.py", + "widgets/tutorials/addressbook/part5.py", + "widgets/tutorials/addressbook/part6.py", + "widgets/tutorials/addressbook/part7.py", + "widgets/tutorials/cannon/t10.py", + "widgets/tutorials/cannon/t11.py", + "widgets/tutorials/cannon/t12.py", + "widgets/tutorials/cannon/t13.py", + "widgets/tutorials/cannon/t14.py", + "widgets/tutorials/cannon/t1.py", + "widgets/tutorials/cannon/t2.py", + "widgets/tutorials/cannon/t3.py", + "widgets/tutorials/cannon/t4.py", + "widgets/tutorials/cannon/t5.py", + "widgets/tutorials/cannon/t6.py", + "widgets/tutorials/cannon/t7.py", + "widgets/tutorials/cannon/t8.py", + "widgets/tutorials/cannon/t9.py", + "xml/dombookmarks/dombookmarks.py"] +} diff --git a/examples/external/matplotlib/widget3d/doc/widget3d.png b/examples/external/matplotlib/widget3d/doc/widget3d.png new file mode 100644 index 0000000000000000000000000000000000000000..fa2ed5043b2d4b30344dd6037d80e1c78fa3baee GIT binary patch literal 135383 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�njdmOI@K_}JrKoCxR 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 QC;qM4E^Vb$Mf3Cj4}M6$kpKVy literal 0 HcmV?d00001 diff --git a/examples/external/matplotlib/widget3d/doc/widget3d.rst b/examples/external/matplotlib/widget3d/doc/widget3d.rst new file mode 100644 index 0000000..b5c9fd8 --- /dev/null +++ b/examples/external/matplotlib/widget3d/doc/widget3d.rst @@ -0,0 +1,9 @@ +Matplotlib Widget 3D Example +============================ + +A Python application that demonstrates how to combine matplotlib +with Qt Widget-based functionality. + +.. image:: widget3d.png + :width: 400 + :alt: Matplotlib Widget 3D Screenshot diff --git a/examples/external/matplotlib/widget3d/requirements.txt b/examples/external/matplotlib/widget3d/requirements.txt new file mode 100644 index 0000000..db5d81e --- /dev/null +++ b/examples/external/matplotlib/widget3d/requirements.txt @@ -0,0 +1,2 @@ +matplotlib +numpy diff --git a/examples/external/matplotlib/widget3d/widget3d.py b/examples/external/matplotlib/widget3d/widget3d.py new file mode 100644 index 0000000..bed6c7e --- /dev/null +++ b/examples/external/matplotlib/widget3d/widget3d.py @@ -0,0 +1,207 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +import numpy as np +from matplotlib.backends.backend_qtagg import FigureCanvas +from matplotlib.figure import Figure +from mpl_toolkits.mplot3d import axes3d +from PySide6.QtCore import Qt, Slot +from PySide6.QtGui import QAction, QKeySequence +from PySide6.QtWidgets import (QApplication, QComboBox, QHBoxLayout, + QHeaderView, QLabel, QMainWindow, QSlider, + QTableWidget, QTableWidgetItem, QVBoxLayout, + QWidget) + + +"""This example implements the interaction between Qt Widgets and a 3D +matplotlib plot""" + + +class ApplicationWindow(QMainWindow): + def __init__(self, parent=None): + QMainWindow.__init__(self, parent) + + self.column_names = ["Column A", "Column B", "Column C"] + + # Central widget + self._main = QWidget() + self.setCentralWidget(self._main) + + # Main menu bar + self.menu = self.menuBar() + self.menu_file = self.menu.addMenu("File") + exit = QAction("Exit", self, triggered=qApp.quit) + self.menu_file.addAction(exit) + + self.menu_about = self.menu.addMenu("&About") + about = QAction("About Qt", self, shortcut=QKeySequence(QKeySequence.HelpContents), + triggered=qApp.aboutQt) + self.menu_about.addAction(about) + + # Figure (Left) + self.fig = Figure(figsize=(5, 3)) + self.canvas = FigureCanvas(self.fig) + + # Sliders (Left) + min = 0 + max = 360 + self.slider_azim = QSlider(minimum=min, maximum=max, orientation=Qt.Horizontal) + self.slider_elev = QSlider(minimum=min, maximum=max, orientation=Qt.Horizontal) + + self.slider_azim_layout = QHBoxLayout() + self.slider_azim_layout.addWidget(QLabel(f"{min}")) + self.slider_azim_layout.addWidget(self.slider_azim) + self.slider_azim_layout.addWidget(QLabel(f"{max}")) + + self.slider_elev_layout = QHBoxLayout() + self.slider_elev_layout.addWidget(QLabel(f"{min}")) + self.slider_elev_layout.addWidget(self.slider_elev) + self.slider_elev_layout.addWidget(QLabel(f"{max}")) + + # Table (Right) + self.table = QTableWidget() + header = self.table.horizontalHeader() + header.setSectionResizeMode(QHeaderView.Stretch) + + # ComboBox (Right) + self.combo = QComboBox() + self.combo.addItems(["Wired", "Surface", "Triangular Surface", "Sphere"]) + + # Right layout + rlayout = QVBoxLayout() + rlayout.setContentsMargins(1, 1, 1, 1) + rlayout.addWidget(QLabel("Plot type:")) + rlayout.addWidget(self.combo) + rlayout.addWidget(self.table) + + # Left layout + llayout = QVBoxLayout() + rlayout.setContentsMargins(1, 1, 1, 1) + llayout.addWidget(self.canvas, 88) + llayout.addWidget(QLabel("Azimuth:"), 1) + llayout.addLayout(self.slider_azim_layout, 5) + llayout.addWidget(QLabel("Elevation:"), 1) + llayout.addLayout(self.slider_elev_layout, 5) + + # Main layout + layout = QHBoxLayout(self._main) + layout.addLayout(llayout, 70) + layout.addLayout(rlayout, 30) + + # Signal and Slots connections + self.combo.currentTextChanged.connect(self.combo_option) + self.slider_azim.valueChanged.connect(self.rotate_azim) + self.slider_elev.valueChanged.connect(self.rotate_elev) + + # Initial setup + self.plot_wire() + self._ax.view_init(30, 30) + self.slider_azim.setValue(30) + self.slider_elev.setValue(30) + self.fig.canvas.mpl_connect("button_release_event", self.on_click) + + # Matplotlib slot method + def on_click(self, event): + azim, elev = self._ax.azim, self._ax.elev + self.slider_azim.setValue(azim + 180) + self.slider_elev.setValue(elev + 180) + + # Utils methods + + def set_table_data(self, X, Y, Z): + for i in range(len(X)): + self.table.setItem(i, 0, QTableWidgetItem(f"{X[i]:.2f}")) + self.table.setItem(i, 1, QTableWidgetItem(f"{Y[i]:.2f}")) + self.table.setItem(i, 2, QTableWidgetItem(f"{Z[i]:.2f}")) + + def set_canvas_table_configuration(self, row_count, data): + self.fig.set_canvas(self.canvas) + self._ax = self.canvas.figure.add_subplot(projection="3d") + + self._ax.set_xlabel(self.column_names[0]) + self._ax.set_ylabel(self.column_names[1]) + self._ax.set_zlabel(self.column_names[2]) + + self.table.setRowCount(row_count) + self.table.setColumnCount(3) + self.table.setHorizontalHeaderLabels(self.column_names) + self.set_table_data(data[0], data[1], data[2]) + + # Plot methods + + def plot_wire(self): + # Data + self.X, self.Y, self.Z = axes3d.get_test_data(0.03) + + self.set_canvas_table_configuration(len(self.X[0]), (self.X[0], self.Y[0], self.Z[0])) + self._ax.plot_wireframe(self.X, self.Y, self.Z, rstride=10, cstride=10, cmap="viridis") + self.canvas.draw() + + def plot_surface(self): + # Data + self.X, self.Y = np.meshgrid(np.linspace(-6, 6, 30), np.linspace(-6, 6, 30)) + self.Z = np.sin(np.sqrt(self.X ** 2 + self.Y ** 2)) + + self.set_canvas_table_configuration(len(self.X[0]), (self.X[0], self.Y[0], self.Z[0])) + self._ax.plot_surface(self.X, self.Y, self.Z, + rstride=1, cstride=1, cmap="viridis", edgecolor="none") + self.canvas.draw() + + def plot_triangular_surface(self): + # Data + radii = np.linspace(0.125, 1.0, 8) + angles = np.linspace(0, 2 * np.pi, 36, endpoint=False)[..., np.newaxis] + self.X = np.append(0, (radii * np.cos(angles)).flatten()) + self.Y = np.append(0, (radii * np.sin(angles)).flatten()) + self.Z = np.sin(-self.X * self.Y) + + self.set_canvas_table_configuration(len(self.X), (self.X, self.Y, self.Z)) + self._ax.plot_trisurf(self.X, self.Y, self.Z, linewidth=0.2, antialiased=True) + self.canvas.draw() + + def plot_sphere(self): + # Data + u = np.linspace(0, 2 * np.pi, 100) + v = np.linspace(0, np.pi, 100) + self.X = 10 * np.outer(np.cos(u), np.sin(v)) + self.Y = 10 * np.outer(np.sin(u), np.sin(v)) + self.Z = 9 * np.outer(np.ones(np.size(u)), np.cos(v)) + + self.set_canvas_table_configuration(len(self.X), (self.X[0], self.Y[0], self.Z[0])) + self._ax.plot_surface(self.X, self.Y, self.Z) + self.canvas.draw() + + # Slots + + @Slot() + def combo_option(self, text): + if text == "Wired": + self.plot_wire() + elif text == "Surface": + self.plot_surface() + elif text == "Triangular Surface": + self.plot_triangular_surface() + elif text == "Sphere": + self.plot_sphere() + + @Slot() + def rotate_azim(self, value): + self._ax.view_init(self._ax.elev, value) + self.fig.set_canvas(self.canvas) + self.canvas.draw() + + @Slot() + def rotate_elev(self, value): + self._ax.view_init(value, self._ax.azim) + self.fig.set_canvas(self.canvas) + self.canvas.draw() + + +if __name__ == "__main__": + app = QApplication(sys.argv) + w = ApplicationWindow() + w.setFixedSize(1280, 720) + w.show() + app.exec() diff --git a/examples/external/matplotlib/widget3d/widget3d.pyproject b/examples/external/matplotlib/widget3d/widget3d.pyproject new file mode 100644 index 0000000..6b25c5b --- /dev/null +++ b/examples/external/matplotlib/widget3d/widget3d.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["widget3d.py"] +} diff --git a/examples/external/matplotlib/widget_gaussian/doc/widget_gaussian.png b/examples/external/matplotlib/widget_gaussian/doc/widget_gaussian.png new file mode 100644 index 0000000000000000000000000000000000000000..e9fe16354493a024777b5f052f66180b8a8c4f27 GIT binary patch literal 16198 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 literal 0 HcmV?d00001 diff --git a/examples/external/matplotlib/widget_gaussian/doc/widget_gaussian.rst b/examples/external/matplotlib/widget_gaussian/doc/widget_gaussian.rst new file mode 100644 index 0000000..467fb42 --- /dev/null +++ b/examples/external/matplotlib/widget_gaussian/doc/widget_gaussian.rst @@ -0,0 +1,9 @@ +Matplotlib Widget Gaussian Example +================================== + +A Python application that demonstrates how to interact with +matplotlib and scipy, combined with Qt Widgets. + +.. image:: widget_gaussian.png + :width: 400 + :alt: Matplotlib Widget Gaussian Screenshot diff --git a/examples/external/matplotlib/widget_gaussian/requirements.txt b/examples/external/matplotlib/widget_gaussian/requirements.txt new file mode 100644 index 0000000..26a2b43 --- /dev/null +++ b/examples/external/matplotlib/widget_gaussian/requirements.txt @@ -0,0 +1,3 @@ +matplotlib +scipy +numpy diff --git a/examples/external/matplotlib/widget_gaussian/widget_gaussian.py b/examples/external/matplotlib/widget_gaussian/widget_gaussian.py new file mode 100644 index 0000000..2423e49 --- /dev/null +++ b/examples/external/matplotlib/widget_gaussian/widget_gaussian.py @@ -0,0 +1,74 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import sys + +import numpy as np +from scipy.stats import norm +from matplotlib.figure import Figure +from matplotlib.backends.backend_qtagg import FigureCanvas +from matplotlib.backends.backend_qtagg import NavigationToolbar2QT +from PySide6.QtCore import Slot +from PySide6.QtWidgets import ( + QApplication, + QWidget, + QDoubleSpinBox, + QVBoxLayout, + QHBoxLayout, +) + + +"""This example implements the interaction between Qt Widgets and a 2D +matplotlib plot showing a gaussian curve with scipy""" + + +class PlotWidget(QWidget): + def __init__(self, parent=None): + super().__init__(parent) + + #  create widgets + self.view = FigureCanvas(Figure(figsize=(5, 3))) + self.axes = self.view.figure.subplots() + self.toolbar = NavigationToolbar2QT(self.view, self) + self.mu_input = QDoubleSpinBox() + self.std_input = QDoubleSpinBox() + self.mu_input.setPrefix("μ: ") + self.std_input.setPrefix("σ: ") + self.std_input.setValue(10) + + #  Create layout + input_layout = QHBoxLayout() + input_layout.addWidget(self.mu_input) + input_layout.addWidget(self.std_input) + vlayout = QVBoxLayout() + vlayout.addWidget(self.toolbar) + vlayout.addWidget(self.view) + vlayout.addLayout(input_layout) + self.setLayout(vlayout) + + # connect inputs with on_change method + self.mu_input.valueChanged.connect(self.on_change) + self.std_input.valueChanged.connect(self.on_change) + + self.on_change() + + @Slot() + def on_change(self): + """ Update the plot with the current input values """ + mu = self.mu_input.value() + std = self.std_input.value() + + x = np.linspace(-100, 100) + y = norm.pdf(x, mu, std) + + self.axes.clear() + self.axes.plot(x, y) + self.view.draw() + + +if __name__ == "__main__": + + app = QApplication(sys.argv) + w = PlotWidget() + w.show() + sys.exit(app.exec()) diff --git a/examples/external/matplotlib/widget_gaussian/widget_gaussian.pyproject b/examples/external/matplotlib/widget_gaussian/widget_gaussian.pyproject new file mode 100644 index 0000000..72c5adc --- /dev/null +++ b/examples/external/matplotlib/widget_gaussian/widget_gaussian.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["widget_gaussian.py"] +} diff --git a/examples/external/networkx/doc/networkx.png b/examples/external/networkx/doc/networkx.png new file mode 100644 index 0000000000000000000000000000000000000000..d3264f8ee81359cd5c75b8913beb5a68534a49f3 GIT binary patch literal 28017 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%0D9|6E=Qo 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 ZMBW}s``Q%@<#qq1dPDPifxLr4oqmy~o5J-`6p z8GP!k^{wR(7|xt~pPkpf_PGsIQhZ5(OND#m#tnkkucTFO+`xEr|5XyBJB8< z8#n4^UrS4n=bX$YGLQ6{~GOU;i%)5P1K&AYM~N zMMX_5nr?((5Jz57@grZR|8ld2fy;Ly@O7uBUn2zare)>jvv}53wlI4?7q=qbF@Ohb z1m&f-Now3rmLD&3(IT`W^~1vZOh2zlzP!5H`TYO*oZOJ|78xfN5Qx9>D-wx(g(p4Q zeEX}^;&?~s+Y-Hlk3L#Cn@X$w$<#uQW>}<6rz?qrnJ+hW-;T+epPpiVxl^mXcmJ)Y zf9%_^P&Fkb#1}eLbAPxk0xd-4axDupj-rixuC^lnc()7*x4O;)~e+bpi((r++pU=bC)INqMt zIS_)O1Qz1f&!86@n&EWfV|9LOydRT>$T+pOR`|=))6*9@R8&YPt1WbM*v$Bjh zc799to(_h?)b#Wodoj(1QSl4}*pl|F9x@QqYUBw{ckLb})ud3)-ZMbUEEO?(vRIZEk32 zxH`GIoO=V?kFp#unOtzY2iu;kc)1w4(X8Q)i59kwXs3vg5!MPh6Kw32{Ix*dTW$+1 z=XJU2HB?PIAGd7qod7mjQiyLKlNjy;efsonsI6FvfStwOUtmU+Q|g z*r8D8aa!w$f&O7kSO?af#<%!qTNv*@`NI#cQ zDDC`sJWtBO%3~47wE#O^3cj9;R$n=Xm0yXx<~`Nc!ub+^a!wK-xwxOZxX5So`4iGU z=Hz6=NLyAf92*-QRmQ~qYdKbw%b`fnv)rpmN=7!+QwpEGI$g!+{7M><=y?7yZI6&W z@3D4y(xW%=+@j1&CEtfSJDuBuMyIQ{>E9*@Idv>{zVSIqPd9Mhx$WFzUu`wHpGkKS zu=Q0;g$y;EddZC9c=7}><2>iNo*gH4aX6g&CbioA)-&s=!*148PMylGcUH{K&L^07 zWQW_+ao*?9tF!Tp3`U*!#Kd!SC@C3?7N~ojPtRR0ieF|z;joyP7_bSeu*Yh$GjQ~L zZ?#7c7g47JUWza21U|fj!NiK0zhsFvp!R!>l8o{?gtKz)Z7;-V>YpB!dNrE#QTa+T zXd%-izKDp3nAO-e?D@T0$ReQTNA1VKvqZ1XA9O<_XH$?53qD6xwQ z99H3qZ$3_xV1V~eM1QLI8_oFYGt|LAH@{DeW~u(g%r5L@-n)ft5#53-<_Z zfNH_RxWi*747|u`5Lq zzctHeDw!vbCMPFX0?=W*vqQ{&w?FArM)%Jmp^aGeTOKB+FHLu~=_f%dbC+)`T_?|! zdlC5USK{%?=H^`P8?P@fpEu&eJ3=T^lahvh|Nd@1tP!M9Szc5W!brtO_|x#IHjcIA zQ<*$@iN}v07gtxua+4zG8XVxNd$SG`5{%W$><)Bi5rLrXR`HU#1u%i-7^Ow3_r zp#Wn^-6sM2G?*m7`}>n9MO>ad?pofTyShAaKi*3B{r>%ltjm&ZWlH2Q{OTMIt#b@i znMs%O4`}uw@H#4lin<-X8ckGJRxWed`^!E@TAY4lZ82oNbpy_#m?TLrGhPRUOSEE= z{&C-)A_#q)z+-xuEG&_8`NmN(FF7vmK%h;VLvm7np z%V~uA(MHPL(^IC%XuJ1bnOXL=E6Y5&XQ7Xev`&+kc#_$hi4OxQo^PwIcB7Yd>pxoW zFLfWR4&;XG>+45nn|;n$J%L|cysfc`aNU}NrxtlPeOk|l9gS*+(+J)tCqJ>hI<|ET z@`;hwtV~JrjwR>P6>wOQ*Xio+X3*hQL-yIiqP~88Zu)6$8^pEOy72FDrVyr$4BRF1 z+ix8+*3yP^6hPg{`@Zlqkl1;5_Aw{*?pMO6@0vd)Bv9SrJCix|#l*|CB_$@7>TPOj z^7b9peCU>0$b@=fFU0y?T@@wtaVt?KIChAXfd>f5)IwIw+)tm$$ibMIK_c@5GOt-5 zg9B%ib9L2AH?}Y$q~z8$V^zYiKiY6|TBUDHziHzkaCYALlb*1*x5phH!s(-v zD4WgA!xP2n^F2{=E{s+<&)_xExMUwBy8szBMHS4m>=CVOx>vnM{zktXH`Z8HslROe zp4`+UGYo->3{X3JDhs9k9(fAWesE{{5EkDCX?2{soBVR`oV&sw|F6 zkL;GYp<#wOlJCN>(xIn#Bl!8XXWH5>oOhO9~*{YPdr}lW;Io%0_CT}@-`|1Q&zmRVILQh z-r(Z9L0c>Ys)+Y8{J}*p^pdfNq=WaX`4Bf|&cuY4F@$_sGe{{aH8|Eh)SOQ!bVX$< zigk~~#*9NJMZ~o({e9%0>EDD*a`cY;M_ylAh;%5aKdrZC6W|OAHJASUnPt%S0@qsL ze$}xL(|y=u-5)=Hk4l6p;%4eqBo%6ws$`rk-1T~O>h~e3oW6Lj%930nJe|sz-plKX z-!%L_^Z8MNIo5M*O}HNlXr-s9_s3$`GOWnb_-ThDDRZ+>AN zCQ03NI3(A)?}J0k2BjLK{`d;7viQ4v7(Gn{Cu-O0s{VVV%MSE%8QRs#zJ7^X6~9YJ zn8T;|zAy(V!!H%f#F?9&jW@XRw_PsU-6w{`A+Me7pQoIi&{;hZu@Ld`fBCz$`Lh(e z1r7&9|F9gjl1Ylrardf*{aVW<(~*+{uoo+34y*mjnJ;iS0xLnOPW{v5Ijw69GFaIC z1Dwr#b$S}-`R32($J@jjVjjq^f0>h`W{nwc!IVAHDkP+*ZN}pSQ5$L$l|=9mnGTk3 z!+8F))D|Ur^(k7ZT0H_mRQ}Lm$cxFzCq`?N6>9UEkPb+jFY_>SaF(x>f0z<>rg3@* zt+0d{AC+c~hk1afWM|V87sKXH41NTx@(B9ra^_f^&u#QUFGpl~^c~I)&08Tl^v~RP z8&B{z;i!E%@T-9RQdd_56TxP_xt5xmG@cKX#F(TJYHVyAO!hd#OvcN+c1FmNsxP}z zul|_g>)9{L0ZJYd>OaDwqEcF7?#DEkw^Xm5shN%6U^}1{hZ**eG$w<3lBPwEaIQx> zUBQr*<~#&*L1914hsXF=q(N!;{P5vJy$YHh@5(2jHiO-;wZDpSX?_1B->y{rCRI$D z$GZQ)C>^ia*YENTM?3YqxV`T?!$e&WY2W1oUKqW=)7I9${W^y$`7{!!M6)VF%O(4LrrHsEnWNYW!Q@>*^97DfvC2*^7gtjIqdIAiv!eM1lgkK%|~GBW}N>rQUl)E-KVr#Tr-P{jr~M( z@}0Zi;*e$rX88v7GaGDmE8~>5YP~16E_s{=|%9`M)PM3$*S{{T~)tK z%#4QxoJG7P@2vd0ySt-rnJ**)tb34pB@YjXt*EH*z4@$C#C(YP%uv#Jk#5Y>aKUgIp_7w>t+KYZbiklG ze&aSjKs{Om)p<&7y2-P?<;I#YYKc|6)@d`gw&%_?u{6?Y@2`vwg}{gTy~R%7n83h5 zqaXqT0szDDpV6(851z0lKHEOCAcqT4-#OUd*Pl3->5w{qEhk4Vruc21Axl#g#jUAI zgz2-khV|2k>Rh=FKv3 z!$Kal-ut~$PH#Tj;2NFb!}%(Q4ZnrqoIx$)ql2Da@}3{4^)9E&ae<+@shbr8VwpL$ z>WJW9PDsQ;YfpPHIW;0U*0e9dI0y=AJd*TAzsX3DcL@%->O_(i^OQD?i8cN8ZSV_n)EMvSJb9-b9Spf}qBD}SS*VBFu%al+&tIQ* zzG2)(h~N+uG(KFjyLADog32L}KXk=nwvqZ#r5?N7eb^wW2Lmj^88jeFc%2gv)}Igq zf$RNkB`r}`1=SL z=>P|yf6rqi;Bal=oLH&#ms%_sX=$hyEIMqui;D~2?s&0FuZN!lyu7p6{OQ&ZS!5 zE++fp?lv3{Qm$sbjtX&p#oz+cFGxB)rLZFoi($N&=_*8CUf#*9d$`AfsrdP1o^obS zZ?AiOF)q?rM05f4c!AA|$wE8^-dKA=3-tzFgp+rRNm4wL#5_M*Z7~^arI{N$Al0?C zt3Gb~X;-Y=FHm@JlywTD<^&Z-pizIQDWl?fDCr{lV#Je~Q5; zvsCtGDEsF)jeA2}=3QSIeyXeF$v9H!ZD&jARnv6ETg7m*Rgn_Z+)JKCterH0-fra8 zM+rQ0p1q%_(}Ove#ZZ1dDD9j24S7at3Q;$jH7w-lkroSYFQ=N87DW{#AM-gi?CN}O zpufMPid;H(a1>Ff8jB$qUyRH13U5YlIHzxGD{ole)CHjEpOhe9f#U0W(D!Wn*qydV zQs~>!tPCO;KZP^31g5S&8bn%nvMv0{xDJpz8x-PPsj)|M#ddDi>*479YzhwG~2m0x{)Zp-P{DvT!a z?cDPkND&?HvtH_ocwb{Zt*oa$KKZMNQ?6RA2gWEy?ghTtXhZP zD#gjLepO`pKUlArZ{H}$$zO8$-+?+yvmyX@)hbWN#rQvnvGIrU&?PJ-0=q60wNPn;sXOS1-7^IbF^;0zM}`r z0pa(!SIe>}jyE$%~m3)_y+hexD_hiS{nHcWG z2;}T={f#l8MT9?YMapJ_29b^J$4f+Ed3izN5*9Fz;~dk@T)5eA9c-U@HXUKP+Ak_5 z*7QTG8S>Jq2}IL7Btm&`@M+GKv39lamdrZnc!x!? z;6K@!VHGaQ%S+-ho&AjAUk@KBSs?esnkR2)ySdlMzwcx=P4^={y+vxVFu&0(Omh<+ zVk?HbB4j)3-5r%nX_e@>tB(XkWmkhHD69{R>ZZ50Xj(2i!;(LoAJg81_b1nX_c(nN zbQMevu{1Ly60uqAc)Vnz7BzM3Bjwnhb%1jUMc$~CDHWI zRAMd8s4QPzV0E^O@{2NB9|3N$Ta-=w-b92jj?M56As`<*f7@ZYN$rx~4`E`aj*+c$ zTo0P5KcQMgbDJc4-NGXlM=O2Ppvn!K9Q^pfx}+T+uWi&lI?AW6uI^nrsKFQ!Kok0n zlaVn}BQ`o(#64DaGP|tI4sc&hO|YD>z*&fk|Kj3!j>6k`vcAL`rSIE-+;Kh$1Wqme z9=PCbQ^|@y^yRKWS0hU4#YWt|Lne-Rdpq22XyJR!+^I0)I%G+5$42JXAG%|P9 zwWYfITVtawHb-FSi!hq$9E^~muTSLLwWQT5u?*sG*zEi{wSM$l(T{-ISf`fqJ^T|i zEdS#CF4gaz-p!t^Ne2QOsZ-Fv+WjS2CiUh?521dx-a+8`R)mAY9dN%RU1^e`F@PA? znLRfaIkr6AR|o9=%EwnonPx1Mq_^EyBVr;VHnQM+Jsa$^TNvyyvKF@T@!WbJqS#eU zLa3H!O%4PdRzzKh-UmV3+aI>>1NQmu0})9)#t1V&sXury?DIArbl7}O^5~G>+v^>v z?#BBw!%B4@cQn1rwgIb0;AI#MPdlV-qV(_(e@dx~d&DrFUm-Q7OSS8!d8pFqO5crn zazw9P_MlmSJ)3tFhEjSCM!cv90Wi4&{Oy#Q8RdD^ zv`gsT1Vj~O;S5XzFf)%@llwCgr0?xTf$okUC%t{vM&{<`Sc!?77u*WU(NEYga72HC zd<6aRA<%qzW5WVSoH@Qg?%J|F{h4-aSa&y$9j0vQaf$N1A9y)50%-Tk`+jj%l(}&C z6MeLdWhD3R@p&NG%5?@E9_u%3fxKt^C#OuA*M4atFVDj65`#Ozd0yn-W6FBPJ~DUzE(x4C9W=0NP*^iIlwkLVuDA#vaqtqoHWLuED903-0z(>Sri^>nX+} z5!d}n(4l+b`1=8`$^iKj_q(x@;~|DUMfp7c-L}=$Rmj`wNUcx-tGjGghIG=MgPJ!(*Fy1jHIc8_-{@^Pb$@ed(H z*n>T60~V3=t;vdAU!+XNCvnR$8v7`_MV9T^#&O4*B`Oe-Ik@jT71K!G5yAsz+2|s2 zl~k~?v3dQW(RP662Y4=TrXJn_GNT01ef--k!t`iR^XduFe*h6M?qq0rP6Pl806#vr zF(g2Zz6ERXrT_7NET^9**Twe616#OY{cr34V{bHw!T7K3!TSH+`vU_u*MDvABq^I+ zzEE3GSlHXslXXl=tH~HKaS)I}HhBL<$v-)%R;yozoN|9ZuBu;)I>L0(_ldJ}S?UWL8va~j6&DqanDI83 zJ|GrUH!w&~zAMXYlv-%xaf)-i?J8ZRV?Er&rn)C`7l4@gxKRgbZS8o;^zR3D#@zAJ zjAaKB>`#^5$`2&0Y3us(b8=qf4&MYRs~G|`@t;3{Qjdv350(Gphku^~o&PTjfHlzH z`j0he3;i$4!G2(m|Nh1`()%A@_}_N_-yaWz|Ie-em1!B(%5ZeE`KN9o5 zp9U8HLz(|2Q{6+2K8`{(u)N-=>Yiq5R$#*5FSgIqnLc zjoa5n&v;wjgs1gC;ys+5s-o7(_^>_S()K|Tje>JqA&R-4<+7=?4Ri1I8|1IFQ)KG_S3H zgO88zW^gev@iK}9_hCjbqjyK>$vSqh-iuZMO@phE%SYBOz>5VOpew6@F6wdydEmlln zp(Xan1CfA;-eoXL)o$`2{deRQ!e!%)`OncLBR9Pke`>E3T-&3xKd@Ucci**wz#SlX z2hg_f4(EzXXeAzP&w6Bi@K_01Mb7~VY4<=K5BO?kY-2MECa-_~yy#EhV-*z4E|%cN zx3+m+0>;@Y_v(HsrifT?ID>&7tA_gn+zo)n=5MQ3qK`!A4b_z@KU;yaF`4ZUuEx+R z{3N(mDkm$%m;Ylry9+Qzm^&O4KQI{NVPH^ZiE<8s0(`3f{T+@gTec72eqv;0*gyP3 zVKklDIXR&ePhW77QSZVtG9nRS@8pm!n`730`E`f_r7N4t%eOt)0MrB3J$iv@`)d=$ zwI(*2CWhWEFudIU0-2KMx%tnq8yO0il3v^hyp19YOUt`-V*DVx!!GU=YgaUtl+4n= z2xx^Eg@rp^-g;fVtqfdP1R%>?Y7rOQi}2Bomh=e+ox;GkJsB*h34ku-5STEL%TQK6 zz}f%Ixx+ue^QNEyIxfES?MGFgRM>T}74}*u(8uha(|!j=E|(4s4du`*NgqO&CfQs0 z{Nrms16AAn!@=}9N2wz;(Q(l)^KmeK?Ocz`Ds7B4S~-@|{cZ;WpG zEgUZ~QJkZbixU>yrC5zvuxgp1^JJn2yZ70@_*%J;RWGa+zx164@g=0>b4JN~WWzf*j3^3^e(_>;2!KwG<|+s9gG#8{W>?cSrc7fXhX+nO9MLXXgVW;EnnTU z_gUF_qOUzO*>@eVn!<+MZ}J=Fz9%)J+kGHtEg`JTn4y4rcZ1G8BxR;(vuE_?bvl}J zl1Y}Q<|$Q0s|%fudYur#-9i^AhR(;aB1`B)-h}JZD@JBE4VU7fPcx-%wUznpn}1_Q zCFTCVoHHeNKZGBqw<#4SNM7fldu`>>N7ZXNzvBTEF3OmnuLr}Yxdzv_rEJzK6*sP* zY;6f-Ng6x*`d-H6SvcPHgAPk`#zkk|b#L8ohIHA3IcV*Nh5P*&ASRY?Binm9Mi``Y z9@wLbD((v2x=umINwUiMIMg$=2vBaegC>Hp@mFsG6KrfF+xc<|Y(1y;zh+XG7M1td zp*2I^0ZDmp56MG`t%;$NiK?qx3f%2T==u?(g?qt|?|NQ-T`V$5{-e{03B=STfeR?t zu{dU_H-nm1RXCh0+Sus%;Q>1R%?3kBCf?H7%TJ6f`_ueWe6XXv-ruo)#Z90np+eB+ zo}Zm9h@j)E@jl!|hJRM)S7nnjsGmUieI2-t7VdYK%Wgql;ht_G8fU> zQ3Udd>4<;8k8&*+c5p+pAL#F6q8MixH-^NQD7d2qetoIhWLc)cj?(QFqXNLjpglzQCj6V#z?eTxs?GPE z>&y{{w?O`OskG^|%=21xsd8E=3oc237C`h4?iDtu#eFY3V(8qeI2PnW6h^&HHal^qV1hdifL&4wt==fIz(?g>rVFHrHWb zUfKb3J1hcwYH;HQOhIX1zMqflQ}xSuVYf*)KxdC%H4SW^9D7{bCFGA!nF4MG1wrdS zZa-CHD!&7p#DQyta&4#etUf+RmoYF3(VCBw`>Uy>6hL$}-B&6jBa@vCpicv6`__j@ zQ&LtxLq+|dLbX#@OczpN&t?~?RJUD?<~7HiK*OK)T2*137<~b1pf&jhyvR>~^zNwh z*%3CnavbjkW5R0LV7`7jys9L|bAa7Zy$L(QhpjIqoG-Guad^(IP^C6xv>yLUv0-Z5l*A$4VV?1XiIC`iak79kh*>L@C4*!>vLxMgQm zrjF2w!?@iJe}G2+F0D}OAsH^BH)SiEa09CT&Cn|o6XulsPVCC#oq|H~IvmWqR8@x` zaTI1`WV{TaASNNP+EAQ)0eEc=e<3EJ&-iWFYwb%=^>fdO3UrDYj-bh6)bK4Z_?t}c|;%$MKzh{Y#iwk=qb+x}=Cd2nXiN#=ciyrZf zSnweVhtV{U)npI3#=&t@nd3U{A#5_^B$(LLawpX3HaZek_V99BmJz*Lfcb?xuG?dg z=EXFDn+0HD)rs8PE}#C~u2U{uY0)||W_sN<|Pz=9+C!d=+Ie}NX>~YV>#q0%- zu0=Y(y-1z}*`%lTb|aK4916yoAgQQekuox6PSHx?qssBz)t@;ddaUQ;Fj&4-Rvt1) z`B6JlN46)4xazocMf}MxFAr*X2*xT~6FARokT>B)0Z=RBETQk=QlEjxpxytrvVK57 zfR&Y1RscDTM~&B2i=d#OwY~K7=kM(70(H3te*H?|w_XA4*eB@6RtWL&E!Yt^YN}>; zeztMWwfZRsM?Ih;I15u*PXN8t`c3w3xH-6s*!GintQDfKUg(Kb55HT61q0xIK29)S zt)M+PuC_LmhPTVQKgkt90q(wg0EK*XPJJb4h;j)B-O_KCW{CT|raMU4twkrzrQ~Vk zQLEYe=TYyy(P+&d`pu?`GndTUFRg(-hZeV zs~IBduHe$IuWn6!@(&smQ^a5pqQ#0`B;OH5=N!=xC~Y~|A0!$Jj%sd6&-2vATL6jv zgZB2)D7Skc@1mWE$@KT#vedcY>*PRpD)`_KUDb~$V4l7Do_%Hi_PCGw1k!arNY_r+ zrKcT|bQ>g)LQ_QW1P4mco&AxpEV%GE9~Znx&e}iX6S@4vD9a7Dx>v>MsNcG>MVxzdfYrdnCn?Rq% zUIz6yhOg1?U&wtsM1NM!0ejlhe|^|xLu59cp;uYlwKA-K+9k=STSa!at5CL;<7O8~ zaGHPR-SeoB?0iZyVBZk55QAT8;3|TTvwH(Jc^iJX#aC7Vjt4{%ghjCO;14GhN>e8M zR_?zIavpi~i`+tUqIHUumf`4&)sjA)noZlNmB#%zhO0dry7Vm(*NEpFa#=G}kf~%g zv6LxC_O~A^lrGa$)Jqv3SZZLjqnicG1x?Ls>)P9+xLpFc%wO8l8Qw+N8{e}Xll9eaJjZy3!Xf+=5A-XU0sGoOs7Z%W_@E>#{c)K2%uUnQHpiP~UhG5*k)TVw53+sJ$ZDO|dW#VNPDOlh`c;j_R~cg#aa%%G zI8Ie9rL3bHV8khxMZl$eSgZZocp`a2Zj#&kNjw?R9iUC^E`0?_du6Q43d?^AC57#6 zxaG{(u~_7Q44<3JH6KST$D(QB^ec>*TnJOY14*iyzi|VeQ2D17>*yAYvS*gr&LB!L zP@4m&t(1I7bIZ^ZdE^>p+q3J|iVk%*Vc1@|3d^*rgI7b(xzl($*iu#2<=dXO*Y7u1 zB6)aQ#?7T&_7zAc7O6+$cGeTUN+{eVLjwPN^o|e*!@~E6wH@aQ)r{qDJEbHk_jA)UbMl1fHd116$n{siwrba|zHp3GANz zJs0Jyhu9TvG}i_ufxCot3*_v(64L|Y-UG%xOs;DtLkr;$Z@m{h_Nv}(bx_H~cbv~a z3@CCF7~QP3W6dk^Tul|KJutsob zW;Ckjt+BwAPg#odfx8LaLgPHgfu^wm-g_f(ZPSZ`8z5^iWiuo+$EeA^$^6M zg~(DVES;@26+Q;OCK0)w-07-(G}8%r^m-(ul^#e_u}H2-Tu2wZbwI`{ThlIq2G8fO zx#DUPk~36@pJFcEM%nWPGOHw($K8a7iA7OVjGuCvtAe`}ROGZQ?=fM5d?2u292E~7 z-sC?o3MHH(Mz&+1(faK&8Q3GZ_{~Icq?|i;!-u27Tc4mlFR)abzCc~?Z!1{-apjFx zi7(MeZ|4L1u*3GI)+W#5Su#uXDPukpMwo4Qahw7~N zzkeQ)w0vrPS9X!Z*aiPSayc5=zNBmBTKk)|p>Ea>r_2*|HkMDJ$TZH+%NER$y)KjS zqp0qC^rNdzWAe=4aQ~IvrsT$*7iWy6(Uhjdoyo5$EMMdFOyZ-fl3{P#$g`_kI^gL! zk1RK5R*Jsgg(;(EV-SyFdR>vSyc$0aeymA&Hbw@r#iA~?T5a!kp1_k>hU?BKJm%vL z7C_llJ8dZ5hb0$>m05fJblxj`k>apCNj^Tja&F97zi-uF`!kSCa&+?ci5&Z|=MecF zqf)%SX;O8^5TeJmJ>egUl@9Y%5?XQy7po)K}*GdhATr+jMX2QyLy9L9A^7N;*w zqZB6P*u>(GO8#7cuw_9R%I&TZ$L^jt6#aZ~;_Gs0monGBWPV#;pPdI+y6pJ049L+5 zDPfRVYn8bPs}+C+CT3xna+R^d>^v&=l3&iDO8&TdXl0Ll|AYE^%VGW@NqC~53c+GI zIXQBf7dfhQCck}>ez`0ubNNvqLwA}evPN(15EmklHZ(bK=M%I)7)p~VCz`eo!+3}0 z3HUa1bw(#b8}ScdlnA+;aLb~@g{?N+D)s93j14eQTDe0)*3AkzBuAhxQ(jPX02H-%SxC^`}4T9 z>kI^;jB)KTyd3D|Cxm6Q^3qk0{vJrFN4m>=PQ$Ze}%&(+Ht+} z6b2v00^8oveeFC+$p%_+YS4;{x5w?C7nkuaQd2)Dh#$x!5KLW?*m44%|1k1)gJa(K z{5W7-!5kez@~kFed#u)F&=O4U0Uaa&#zVd3$G}G!e%%YX1+?bLy0YIl=T%yoyeD@- z12@vy2@W8ibJacmp03~RLmK4ed}wY84A0JIKi<$pxJ(P?Wz^!Zp-(rZSQHZeZf=_D zv~+fkf0fQ7At9;bhS`DJyXj0i8Ecjs{=rlSnO0`38yn4A1d_R$j(blDGR-=K>DwJ7w-0|q~BDhBu82CB|S!Fr? zVB2AjwtsTvC$il#yUwTYY}_1rm3gKpUM-X}qiOTDaG0Z*MQQD@E;~M8 z0Cc*un`y0pN(NW>uzOE-UxJ%w6&SF+Aw#EkbWhMt!DxSeRQIa&<C_W?~48{Bi++YN67MSQ5 zfQHV_u6RI+ggowWeK>XM8Gk#Ze%Z5lGe z<1guYD@v+P;jfqrN=mB7275LtP(zy7w(moJiE~9(UOBAQ5yM_@mlPB{YE=NQ{#AjC z8gg-5&ebQux`mgu;Kel@xX?L<`XhDAE9-QK3FwY*!i6+ouU*6E*34ly553K#n=fe9#iaM8nICo#OCPU76f_iHgPgN?3dWNm^* z?de1s=kb8m_F)i*@W2PibDBRMTeQe*jY1|yMldMMRx$s8m;r1KFihniqatwApb~MT z_u~8>c&#WfhniZZ!lbXNJ1Sfx*X!Nw-xwevHM$_M;P$(FDRp4)v*Z5vuL8xslmv5@ z-E+ZNws1?vn}s>j>?%Eqd1gBcY{uXb80acs_LVw2gkO-6o4Wuo9s!U3i}4VI!1e&* zp1K-1qhCKy5qo7%+elTIh-}}Jmt1xl___B}Uu+%E(rA**Q)XVXv>5_MAdg8w)?88p zufMq?5fR_T{xKYW>`g$YMs2QubUR+~m?uPMr@%^~nGH`?x7%=DPA@)9uT?u^E2%F* zINjtIHIG~5*g8`*3UqfDUUu#gT4a>!H`;*V3V1CrSYb`WE5%meKGG;gvL{COkK1wRMvZpLQO_IDr1WSrkFFoEL=DXR7$+P#@_KJdE8^8y zS0cd~)1I}meSlL))*I%VJ0=^$=*v=|WtDm!ZrK`~O@$V_TpU(Ly6^~o_b~j~ti!7M z5o9IBr z3zZAQp2p|;wCIDbF;P1>r@~FgE+%i&u&0vBH8vr_PQv!J z-xd|#3=#fIUO3qC*fucA_K9}x<3C>MYlHE(ok1v%mUFhrqB(kHgj}544dTM7$~;@o zoWP`lP`$KJXs+C3pAn7ee#6Ay8`a$2g>v)EwGA1OSU|Fwix0(45aXVPy2xld$|XT7o8ff)n_S>Y*Xc1 z<^1Pq8!^E^$WLhA_UwaOE@a$j-SMu)3%AEk56U#7$$o^0UWUD3b<0fC zFJG7J1d;+`IVdTf6cxV(rXyDi=48-^w*1(LJ8 z>hXm(H0aWf&?OmpB5+fGYKZeDt-dgR{d`Qv5^(RmEe~xXJ-5WpeMk5{tV9OaNM_l~ zSZ4}6*_oV+-P)#dauPY4-RC}+lvewQIq)nlAR5#X?N)uM661i;5IlXu`M3*2u(J7k z@=C(WfrE_^v5L)I)jW|@-hBPR%Yaq=&(NbsA00pNm5mE)_A+v)>4||^)v8|ahXp~q zoU^gq=MM{G$H9oM_DuRq=4khUCr_+4IpB~9xgwjPG313w}3K?!%EFj#Q!qP-`Eg+CBm2kv_k3$ zzwe#3=wEuRSO`7qGY=K%X24%0z*0)j#z8~3-r-HY zisrKb)ceRw5iftz{9czs&p*L0=H6<->i@Q86y8lC8@Hh3uhB0%FoH5wZV0lX=zG^%nCNB zZKYXJ<~#gvl{Ck%g@T_A+3!x68WUL1CaSZ}QK%a>Lmv0mt{h>)CaK^Pf8RbztvSLF z%rM#4G0*+j{$VOnyO8ab-_rKHu*bxoh`mi0o#Dbb*?`6|5sTk;8fHs3;54`3-$LFu zvv824)>OV3KPXqha3KwR0F{lmvAh;43wOD3!X;GWt@gN!=>Gb21^;w(T@%llesL8S zppG{;xk`_Mdy7cetK{86QDz?5mV{`2j11(dxbhm~v4 zuZeeb8x}lgO><3e`5B+2H`MP+^G_M16 z4oje}xz}-d&zd`4uvYrV$zVKGIVOxx-8fImZweklk31#BZE@71Dqk}DN zFabEqVJ=p>aGfO-UL3d7OE_;*U4HYnft0EvyA+Ts7Ef9??$_W-yd{HIsM@w)e5C91 z(7JpO6a>KFD2Y7q-POfybv)a*Xx%-;?}U$B^jb)4o=HdJ=itt#Xbza*z~ zAOe1UM7B< zmdaVDkvkGVyHJD#&g9B~7=Tho<60x8C>w0wb;MY4Te(L#Z`)4#Jy z$ntwONH9msi}rJ(4fmo@9a!2<2Kjt7#2k%_J^kWrmn-@$O=(GwFXK5%vVMJJL(9g< zJ~~xnVq>2(c#^t>h$(d9f@yz-YNQdFM+ljH60^bb=-|s~Lc~n3s4=^Fu(ZtZ*m=b8 zW>!oebHcKz?@Y}VahjFazCm+P)d`OJz#0a+9x|#0$+@4=Jo+!+sU;M*DV1lciq1g& z{&x@sd_Ofh^De}P=8CYX`#3BUpkOpyVWAeA^kzTJ<(o3~kZ&n?5sy?Q!=(a5wDdH7 zB^r!u4Xu-M`xL&p4@*mkz+AR+vO!DF^_sMx*1usZ5V}~CT0OXSzMgWD7)_s>bsOpfB8$Scg_NOOPT@OaCYK5Q>7J?&)w0OY-Ko= zJDxQ`Fem$Ui}9H6F%lyX4dsPT{g#v7A9~il3M<4xZQOBNtK8f4IVY9x`2UFe?r1o_ z?%xm+L6jg`kVNzr5p{$hh!CPh)Dh8p??y-=Y7o5z(aS{dMi%UM0$hAuSM+m}o;pL^Xxf}YSXYD5hXd*U^`yx> z^ARCB#ZBGD_r$&d&-32$vyCFS78d%N$P0bk`Xs-&ma=g<)L%vDiW&*BUvf8;EK}2P zU+J)>CBmop5I&FW|CT48xqV>jQXM;382v21tPR@Q3FN-MPbq$p=fX3YfWWIGm(lbu zA9dd0GHUG)-m<+NH(vGgQY_34X%(V$xRx;^SWKAEMu z^$dIO8K_a48#(HW8Rgjc~`3blfKye(uvwu{o zWv1Cx&V~;{(}IC>tR0EJEemHCk4??;2U|w1rc9)#)JiLAmJ^oK-|WKPnaNp{dJCeI zmY+}-*Oe9yQUYCl`%6Z0ib3c%Mh6FeMELlonUVKX3gZppm-H_SX%M#5z%H?^l7~;# zX?f_GN&GbUICL2iC+B#}gRA%^>~-0r&1|>L)Re{N+;OeKCV9`OQA$fO1+1IpFHvE@UIYnAoH?w0wk{8a}g5l2Gy{X8LigSI^@8>KJ>HY zGrRU>F0ImBMZ15bCkz^O@RCZ-0F-kM{P@QLI-QVK80rE;5!)>xgIK(X{PEZ5iK z_CA$U>B#11CiFJQejFk%75~_Vj))5;elfKWQ;lDfo?LLU+x2)&1A^-P7LA``G81Rm zV9z1ddU0tlb{E0z-;oJRP##21jadlp5mPnOD#r~`A(Git5tXmDe~154S}Gkw`!@uS zAce(SX55Xm$oU*SLHX34)6O@6Ynx^pdzHbJLPw{AZJkCce5RB))o_vh91yPSrY284 z+szugrr-5G_<3Wi*SB7x{{0?D*ZqpC`gsbh*Iz8Hy2_jTL2+pg)Y~8*gn1A=2y_m@ z{11uMt2PeT>dBjl-0V`tWBjmsvn3T@<@WDsx^(wQO$H0mwkw9(AM)d2AS%qJH8PI| zj7WbC-#r`P?WnS9R%$Rl;(4Myyzb*(oM|-DEz~`Rrd??985YN%+R5j_f1UoF4`elUuC(Ye=PV~a~g`>(-H@u@1 zMw0uMFGc^>+_iata@9(K?J2dIMau3l2=zLi&)ryJHC@lwqhnJ-`#n%IRLXl?j=L@(FoYR>{c{oPPSDT)(8*`%245iqMpc!=O2CTP@jCe^e;!Pw zx$)9iJyqdI9M>R3QhH>(K6=wk+S_-?%ve{ok^n7r_qxkC&w`733ZnvMwVrDg<^}rf zg#UU7Uaj28An&f_sMzu2y`2hNZ{bN_h*jb>75dv`Hdvw--+e*W4qcQuda13W)jMJ_)g6v?WtK_?zzlg zqLgyzz64@Ja$bakUyM+G$G;;=2V{ARu>%P=$X9pdVlE9m-~^F6NpiYKGwSzt41+e* ziCqaGV5i6Xu$3xxyCV|QbE#&GDrF-`2 z7NT;f^tkfNgZSj?^4z$~h$8mMvzH7_3n#5J1QiwNpy_DfS5F0!=_J`lwJ)V868QNZ zyiko#o>JfAm<%w`W#?&n1R_>XRR^f(U!5A8_GWjXvovsTw1wlh=>)qTl`^>HLXJ-1 z5Rd9aC5a66OvzwS;&X&d^$>uH_6(*l)VCC*%@tl-?~7u$dbXs?wouEJ%!%9iM7QxZ zNPrB4;y2t9v^57=#2|^hBZilsb3NaLhK_C$6xC8c6BBz49JnC%);bwACL70GeOURX z;m}Y%i7fot4ZUabI&v|%70YE~ojOqZE@F9_ww*yc1GtOFRUm!x=xG}GSiUF}_{m>w za$XfWM#LvF$=y{W7^2(EPF-M%C#WQfRb`3r4>t|ivSr-ZJV5L~q05jHdl|@3 z0g=w|e#Z`eI$7q=2P@*2?fCSzaq#@X_4n>u;2d#B$Q@1;KTrlLK{=yOzpOrMU|w0; zw7c=@w|FCIbK%qBnDr6g)-#jkWv+Gq_?b~=`e`dOio89IB&7=BaP zMKIN=u~9g{->txIfz}S`Fw>X`Kq~n8_inq&-&Cf4OJw1eS=P{KCCw5Id#I8qM z+*Ss$PRCOak=~luQBy)(l6A<^l0A6mpKe0qEa!d?_C36IV$XiM8W_q9g zRHgD}O_kE5H_alEEyhn7Sf)z#TW(I%$XCfyxm>Q*2no6+Xh?wIvmBe5caVHVKo}hL z$Sp4rIGYMIML%>uIxy5Z%gg$aOn<~u^NU=4d!l(F2->2|KpJtj1WnR&2Dt;%kx%a} zPkLILm;gI8@Rs1fxW`PD3m)d>cdOn|I3+C;quviIccKWyAc?k?HY*6F{xV(v?w+kS z=jZUwO3eYCR|Jw))q|iQxCIKAOw36Eum(u%wD5w)322J;L>^EVJ*Mk5d&gX({WRh3 zOZE3u)l`V>dliG6ku|QFb2foTAHuz$0H13yheNx<`&RodR8X)yGZO%d0AQ>hdZ~bG zxVU@{>E`qfj0=w5e# z1o!uKb)ekoWu^+vf-eaEY^Fj-@lS-el zFmlyEm#3hrp!y=mNq`x~jb8{mNdu{+cDDv?o?C5DKQSp;IZ>KKiROtY-bT)`ir!Wk z^fQ`44*lYJrfsIIkUSmH)Tc@CH&GgOK#F8i1GqpSt)By0^K-cxDhJNd)$gaE*o91^ zXWpogrMoE-TH;PvU3y?NAs~sunml zWl6X{3_gq1q&3{?(!&0{T(6>Yuzf(4wyh^{>K?I6sKcQB<|5}B|GE9M>!9Lf7;$!+ zqq~Jq(3@%#lqZI@%|D?AEF)3Gqr|}tQDh^#NBE|xJ!KxynxpGR2TxT-L+d7paXQUK z>+3#Fy+ewyN!{Iv4Ohxd%>kM_4N_HE*-SW{oJtuQf;eL*erNRUVj&C&2kPlP4I<96O_Vd=bwV!hTD$a^!RmKh)z zGVt)>rsncd?_L3~O<=w%Ye_aw1v*r6vl`;dK}g2eZsmR{ZnB3E})Z^pD;f{cbgQA>esUtn>e*Zc)lbMuXcDNRA%zT7fpdI1Wj^&L~7e_;_YX+p} zbB*0&$@3Qon_7<+r~zS;_}LLUw6SoAzcs2RdtGdAE!)8V&GJS#3vbSKXg^y0Dels# zXw0o&snCz9@Mlr>ddU@6erhu;nJUj7r(?>h-5yc%+d%W;B4=OS@*ni==NCfl+QoVGmm=`>2?>5Y2c5qo)YHpW$$)A}*>L$(7 zsf|S-6zk=+;$;V$zztElPshiy475r8R})nDvR=6*yap6osa%~uz|bV)=xfcv!`60q z!O5r~lTl_ErShU_vqd>pr`lNb&pJRtVYY0y!mh*YxDO>YGwqR4o~}S3{j8c;*!trF zq!o%Om6Af!c3< zHa>|mXvY^?6oC=|8zF~H-JewR3N^`}ommWGrdh0{8{k*S+(cxB#umAoyWH7oJnxI8!l}VD;QphmR=A z$BR+-K;(Z6!3+DHQyGL-9vhQ> zkTwm`*eV-u-u2S0Pm7*3m;Nj#dV))yI{K^Un$@e*iHPY{ zkaEuYQ6YP9RgTDGRoRkagqN}G$Tle8?miy>xo0K_s-8Y94t@PR^Ilyzo$an%oHdVG ze?w@m;NJB0pL#)7$2b8I^RnM6c!Q~Kp>!wScRls_cD2eM5t;Ulxf$(!Sw^# zJMqQYT^&E^yY8hH$jeot>z{_H5%`9iIm>ByHKad8?Ih(|TXQPh_WZ0IXo zs^v;pxQiEDhGTVT!0z?}^&CVs zGow7X)jIe53Y%;=THr-jI^Mp0hEWyK+?P$6*LI$f>v{=cdE&X>*$Dq+=6QDZb7Nv+ zbl-Aqyr$IY7zVFys_4&E`ck1;?3myG(#)(F{LwbEC|>vT^TpwO>t~*f$$DHPfr)YB zhxmZZ13ZKRg&cS7J$?FnT{|)RWDWX^VS-&Q6ASI_g1poX;iW;MLGn3A_e=MPiu=Db zyGE3jqj1={nB~l0Rvu1sX0_`eN8Nt_@bv?*}2Ddg454Hy}OwQJS8kK1*Y+s_Z}~cVog_5OEyZwuP@-9+RsbZZ25LIo3S0fT-sth7FKK{8_T| zwAxo*Dj4tLDvvUa>Je90iO1g4*-7<$w23!0n4zsDqq?#)64ZBKxWb+{A8tNmU_15z zu_U&!F*_gfR_lB^k~lEM>z+kf8|8LE^6<0DUt3RGksj$_03aNS{jcSZ6cY&>H$t6PoWBvc9lO)8;* zFUPv1kVKttuG;&l$g$c^L_de4tH<`&$b#EnA?WPzyCjI@-sMs!O4BQ{`ktQ3iSelY z(VfMab9IodU{luWejKy%ClW)%m!X8-*VpRh(U;?C1AI~QIz+Yk3X?OLBhOiEA4c-U zFEF>V+Zs8as`qy68KxG);eTk$5B5$O#9*411i$OhLHg-nXp8^E5Az9l{*NYj9o~uh+V2+$-Bf@w;IyhePA#xz zdjO&?B|?SS&oi%WU;GFZ1^emQYScK1{Q7b2gx}z|=nSRQd5QX63PfH>)Twh1F_vcq zGor_I+Z~i1ox5vjtJX_SGfEvrF}S8({ja@~zJxB>BWp#b8kX@2vgXrjMyD?4Tc0F6 zKX(vfAja64{BMq#K}^3B+%$_I4~+@vnhp8$8frw4%HnBUw><9<-q!YHu%g<}+rn_CuUSSvKz#e3<$Mwx zel;_2@iPbotkyG3#2sU*R>5s&R{w9a-JVM>GJ@x@mP*J9H5l0RBqHP2w3JI9Z)vA{Ucp~ZLZ}0OzLCc z`R?=cSf}4_OdY0&&gM;E8;j6_>!>*){Xf4~y<+b{ zMiver+PfM!2|WFZ=p#(Q1&+Y_@kI!c>qS8-eeFD zu)v#|;>n?tmH& z9gKlcQO!v5XKp!tN_C&L&#CfUzzORveN`{B zYkJjpPp!Rz74o7xZ}VktZZ5#__M3Xf7{<%Xi|vx$sI!a5=FKVe>v8+Hpb4(bi0d9z z3!j7_5Hm9~h&NkLd)*j)cp*T|(p?WB_+C>Z@5pj zUD-m4m#=?REKmFz!W(K;T3R~T-|v8>U8J1SgM->u0rZZ3kWx_a47D&(O%EM(ns^o+ zz4W_6gyn1WqvQ-zwkWQWOEA z#6)J3UQ&eJXQ!V#!rahJJPwS!MoFWoL7cl>Aujk=-aLQ41`u)@HQ7~J`$OoZn+O&l zP6f#+> zNja!;UGSyw$`cno*|l4^0&qWR-hcnff&U0s1Au;769x5I5M4&pzi@Fm*xtc&S{-8W zf&vtcf=3~C8IR$>|0F|kPh^|NX`Nb9vWb%|zy!=W$HNZCe)zf2@ z-Mh5BLcRF;oplrrz|Di8I17hSCkLW09!V7s2U2JDIlp8Ux~%=d4;da4!)a;V=oWHW z(O-zLPWOI*0FBY@Kl6CmR}fMQ2fkJ;y>ub%NdUY7K%v*SPoo$iJ6Z=DqC-_KvhMEn z#>n}}2CZV#j$BR38*ErJ_lePj#nJ%4QXL)D)bGFDM&ZIZmQ|#r49!<(bPbcAfJNRV zMHqG^kkeG_cElXS5k5W602TEe(L5XTkxX0~MFF?l=izT+R@)`G@g%dMTAg6_yg>(a9L z)pk4pHaP=Ox_0%>iF;$AXHcioG5%$Cssv~vu?LRnUj)WvGJTb&dB8m{X&pKPKpX&+ zhOG;ve>99q!OX$tZWCMrs3E!qIH{;WpJhmMP6;RocxjppcD(+zh5yy?6Ow|mDA;-xxo=C z0^oc+APXLKhE?tlbRi>dM90lvi2-UeZT87@H@43@$ z=!u;Ej_kAldO;ls2uTS5Ju<+_=h{iB3 zKrsK}U4OV(E&3avv|<5>taHfBe?EP<{p!!yXq1SHw_qT2@8I0@hJcr>zXg)}4`2M} z6Z#wA9y@0qXlRLlKH-UdCpzbAK&KS@AD`CWP7#1f|F`+0zna{X1;=;hg}^7jA_V4@ zzn;eQ25P~Kv`@W^%C{4;`+x*a=*18dp&mrbA$yXnZ;+XIV&jit)X|{7!@@#5#c!B$ z@~M|li8@BHqF*>gfU}N+1N*c_5n*7%K^OBiIawBaD44_T?=J zTO>e}^Pd1QasD6lV$uKk>jAWa{68K5H2S}L0PNEFEB+b*=)f2M`D=v#(*skHOn@Zp zZMfdugkmHwRO~Y^DRUFNFGer_E!ePzGc^2aCk82Pa{cP0z1PL=P7$1;v07nH%yDxq zFGc=E$5#Haka{cYq2v;7xQ|JxoRo02xez_uaoUF^^Q-^0cZSSQn#8~$F^m!QeC^?Jxw_1OZMIiI z^x$~E)M_#$)b=`pXADDT@o2A)t7Zs1isbbI_|`vV!jg@n9~d-WrOUAbJRKXQ#4MC9 z?{VGeDhA1|{=Pn?=|q47VFvGT*{CK2;zhWQi*@?L2SN#41ki+hC$D=$yiNS3pUGAV z7TFZMX~_dhh7S&`+?^lXHC{_(c!-V9tiZcEBxvG;*c&h<6n#o}jR@8g;RVHs`r2w( zs3;Z~tZ+ZJA6_+c_H8Cm0s2j%HR5_iQHeHjZ%DRUE_*7NFp&WlRmm zL)2$hDk>^~Y@Au?P48-Mtdarfjck*SC2kpwRwG3&AdCR2R}hYC&E0E5Yx@9R;>CmK zz_0*HG*zG!F~V}}smIA)l%QR5SeSAnufc=ik>V8~1gvNUtUrq^>KB7B8)zG~4Y2T2 z&p`B3v?K-!jpF5a092@=qEZ10RA*8OcYnp? z=ljP?#v2TS4nWO~jh)dvR+BZCUuHWXC#)trUsddKJfL#Ps;JOtgacvfx!WU^FHuoi zsy5aa!2$i{_(LGkeLMPD>J3p5AkxUWbduqv`mMI6A}0q3cxNoR#N_7@6>wChosG}9ztB%a!u-2-OW?CzmeEYrI9&NXnsPfDN+qV07!&Bf*^D59*!@qnHqNW8gARPp( z!5bS-JFg+5f7xQRChZ5H!}|KTo1|MPJ+qiG0;o6+BRlKk!hVFVVSJ#Q%ieUW!@l`g z_r?{cONeGV1p7@qGLNkFrh~!)ke9&0E2gB}o7wH(D)u2NA{j{BU#oW}{3x2<@@xn5OfunW7R>pk2Z z9HjGD^=!69^2$3KW|*Q0JSQi4ux~e=b<~_M_#;%sm4t+bA=>zp#%(>t^efj4t{wWm zrZCMs+wJ9!)LvL1zagrsHuxfXV|jUfb(K`Yw?;uig1%U;=E#)ECU&R_z-WJ4`y9&* z16sgLBiB!|qwGcLU2xbic$<6~92>uXUOf4=WdB65yxe7%_!)`qO%E;h!}m5{@Hh{} z;ghgq?HRrYx5*qrihd+0Dk_@{k}|Nc4EokKhWq>ZwFY12R*{y!M|WL;a~GHf;@F5r zH-zyWS>Iera>a><{H4Ahkktnw6gCi*ZZoqLtr3Oy(9WA@l^b~+%*^(Oq}UY2x{cwj zw4Kes(S<=G2f~^gHIO3f=}j@{Ku&o+O=TXEB zphIJp4{ew7A5k-TR^2Yw}y|;i+oeZhg+W{J9@tg4|d$@ zNzL$2`zm!f)6{07USvERC)mSTsR`8c@k*D5tu~hpH3I`Oj|iPjVNVpY6`)UtF|-O4 z8EpNgsD~#-n!JTtOFw?jt@nwBoBiJA%I0)phQZw<@0&+ohwS7SL{TT0KAOjkqcXUGpXr|Km1;1q}Zz(ToIW2>eHTrU_roS;hsJvrFH!|g=26SNJv z3k!VJ*GdY6pdK`34|ctU3pc=N!UdXc7sn3D(vS>}CB(4ek`h5tS^X<0ZwRK5-!y|` z(f2Z!oq-pPpq-#qJksHCI~-hOs+!0iS|MUL#H)xsECkN)2Rwz1W|5Un8;@MJcQ?be zYp8)bMa7T0k?5{Z!N|lEiECqLCo3T_TjjFTBlJ z3{UT`;j{jtq>TQ;%@}4PhjiFo`~+Mhd%L^7+Bm_qk7x&SxW1{RIO44(S8B@S2K8*R zadVrj3~)8^gWgv{RIpr~lb|v)paZ>U`4~CWQ=k0x>t_wFPPT0oV_>8qzd@e!xa|x3 zQQu|V(&60FY3gqO*OUT?kceUl8vmHcRwAp zLnYfM-2lhLx8$*9veemTwX#Iq=|hKQv)!}h<(QsL{~uPsL#2PKV6H!V5X8~k4%Wl2 zej)`(SJMP#4I60``HevoHydSkI{|OkdqeI|tDdjN8{TeJGyJGKssHIyY0uPW3AlVo zN{G47Y}M7(=yqL^*Fj?ph2#S^5SOpPw*dVHwSnDDMU2ooKM6pwmczN$VA^o5gQ8ux z7?)ANw*R98Be5@(ZnUZm^l6}W{-+NAmoD~SRBfPivt#|EU;pz7t!e*J*Z!@!i;Ec+ zmLGfqGJRxZWLE^>^RL(o(eWquoAOcx22&?ZCI+<~&?g6Wr@4>e&=Amk0so_mfay#I z`*!kT8a^bqcXT|0r8TG4x+%t?^gicT6r`t1)7kfg6tLrgTQe1OZ6WA;6Fh+_v{nE4 z^XD~#RQihISakg2lhTbK2PkfE(i&(%veI%~V&q^)&q$Um?(3@IWN!JGa z_8u5`NnG}h1wo3;_q!YTtB7kcd4?PnAL^g`l5G?_UylTRnkVquFzUE?Ibhsk zwU^LSr0-rQ8v3|15X-}HtxJ>hbj0=$dvrX!szMwEoN#~73^Y2pyuP`@_Z-*kxBFFx za`tOoqiv3aQ<0C2E)Xd(5P!cKY2aVAw?9Taw9;BX5T90T&PV;fjr4A4WcJ4D{Hq&K zq5xYBlK-4NQmnoBtgH_1k0^=UxD4bndNEk|n4n%0SZ1d~F{-l>)yDaTT<9#(Ki@U0 zZ9QTbh@0mm1o_5OLB0)K60y=q2RF`tydsKo%|;W%9l6Y1apNiCumPo2|tHr%-~cQedOz{PP& z-L-Ch13f6_cwMn}m?0PAAwyjjI{fr!P{Y;HqCNG(o7aUU&#vat+ci3%<=k9(Lk~{= zd^HEi4ig^lk!c2~BIiL4^d1EmylZx3TvL^Xh|DKerI{A>qkp2$Cx4_KcG9!ZV1@Z6 z4;5}!$+{k)g!b^Gmw?^~g{Fgu`>mdK!qwp-68D{+f$Se|2yk~jNzb4i*&gIEQI5(! zE15_z;~J&EU)@Rjp#2%1XwzMj_$RPx5Pus zi3!4UWyOh3Rto4dcmDFf=%=~mING3)C_LwEibUfz{(VB2>1SFt@UUysK9HRRgg;%cN{u}@z1poKhG-Fr3HUJzv<`m1K82Ew{@Etbg@eI z-_Oq!f_czc>>r(vz%4d@XB}PQ_2(!==}wb(jnG+9y8p=EFXKW3n@$CN@`uje{d=e< zcVX8Y-|-p^hxy#HlGLrOr3qOkkmix-<{y=He8scCv(%fTZZ*<&aP2qe0`xp)e8IrB zL}Aw$Kk#}SfgiTf^XP(GXYcbErfU`iE}8u5fdi-9uf*ZsZDRCjJSa3b5wCr66Sfue zjB%bWs7fZ5mEy8?OC@Mf}+paUy zf(AmhZh3Eg6`uF~o-oK^h-l-wQuO@7u@BBx)YAqouUrU&$ei)c!TG^^BVN`JaZp0) z_Gu^Xrp3RQNi!X?pR-W(RBv#G9AQldc*#M|o-nSgB!+kcm z9LU7`y3=uV^buI#ak5HE+naB;R!IRu!DQ%D1zMJtY5?mrY^JjTa?a^U2N57NZ-bGTg>4&Ej#dlR?C#PTjI?m*YjZKV2^nkvZ{MvdPb z6cpsJB7$z|fN5B@DXZ(6TWSaqXE`g@!rw8G9m zuo1tzpv)a~%IP(~pX7noB)w?5exQVnSAaFB-XuHNt>Z5CE`6&<;<~-gv11_T~-AbmVRPiQ$-# z5Sg#P_0mV~m>L@!``ndyO>!SVTbi1ie`y@VUU4m zY{pD`s_LYg#j+*o7giIy1JPJ%SusOSu)ha_7m-m|s7z6&{v+ZzqVG*`Fdu|D&;TMN zba$90$rmc23T){P@<@5AU0Biq+o~JlqbblEK{t=ES9h404uH8Lb}SNA4b_rP6UZo? zeSm8f7H3Ocjb`!X61sf@t4;J!$Eq`!sF^o}@e+)ezZA3!BaMW9{`&go7s~MPciJaz z2Q%Qhs0qvt0$)Ueh{sF4538$jLqko#UxST5>OLI0IX1N^i8;u{J#nYd9-I4@ z*_xOP1C6(7uu&7hTtA=)08l=^BKOhB64%J@tNbb`DCjpWK6ivulJOSjnl)=`~c8DJ1V3P{PY7wWFBFT^de)Y9DX zf`Wh-tx)4&{u`#nj=sL#p&?2AESDWUM-WUH(*|*$;|)R)&ewdgr54AofFwl(%_rw4 zwueysdN63HseBCztj=mT!p4Kld@(*^O%~APCJ=Zm_<*6f)1B1NkoZEZ7VA>Av)k67 zo^pak1+otcWbD;Vwni)zl@VHalW^){PGe#Pz-QJKrJ8u@$!zF zVlS9U|0r_jjCon8kk_dEU3KW`4>mk${Bw;AMRgthIGPQf3wCbd91XMPDz9jz(@wK& zV&HWCw*-~DbXiK*HM%GhyltyM_w${9iw-oKyL2T$w_m;2NZ?8_LQvxS?(P5f0RJni zE{9#W)aPUry#GVSf+<|nul;Vg5`TDk@D`MqeZBM}5HIKJzF^b0b=`?te3jGg51!IT zLBRB+^(!R4GapXe&{1X?+WjLa(F`3608dv6yuNR@2lZAA0;AmRrm0%a-y6tb+QB{< z3Eiw(TW77i7c|cM`}NB7KNKjF!37!u&1yI*^sAK^5IV%a39f1k%hnL5KXlOMMEoe$ zmIj5!f9as80I2!6jCA|Gn)@S29iU9pSE1D`YK*El*_jP&51`Wn`GRW%Qe6ABWJ4S8 z-meBKV*uTjzp}o+nr7KPJ{JBMvDZ40xhvzL=eNz38F+4V{`szvbt0Pv;zRSWKTeWd z2P<+8gjVHE*d9u46yBwDy_J<2pd@naPJ-|3@ci=10w}4M4bqvRR#eAMEgLTnvqYp!J+4hP49Y z@tq}UWN5h|VTycG8UJ4cx}j#={BD(wG6}aFL?8>4(QCZ2 zKGi?JzQwi_d{RZTei7wHlcE%9!2e*7Nm0E(?bfDEI+}#SW3MaE66~AW1`L-)m<60lob={TDIUMV zjkr#KMwB)?o_V-6!E`h)|7(>#Z;74FIv=z!L(AE!sORy}^mqh2RGghB_{sP;$=*M! z{eImhD1%M>FTWc`w&pn!mqwUpQM5l6~&o3t9J@ z)UVbekz|z+(wWHYC%EsNU?-EMp+I!ykA{mAMTA2!VOY)E zW;2{`J^RFb5^Zo?^MkVUNAWr)EWHs5ETI*fICVs>c*;6OMq_Gb3I~n zS2VGrFy62YEm9O753oyLyCsU!bI}aW%v6k5`}P!MuX$GQ@3g7XC2(oF6gby`b;y%8 z;j`~_ePRE^1r1X<>DjB`aEjR%{v6M|R;4rs~ zIcq(3(b@COg;>B*2^LjEWsX0rK@RBFH%T#_O}*IzgO zQ;`!R@x9w8pOOzdkNr1_X)Jn3i9R11IK@5oHAIJ9Eb$mmTFkO?_>Ic?5=)NFu(KI) zd}IQzD{N+`z}x);op!_jIrMXz{uTlY%(kt-Wsk9*y5)a~4GLRs#rfRBPwiN=M7x7Y z{`CYH2?YG#CLB9LH&H)SZMG*-4<@UMaOaFbK&iOAqjJsY;o9G}w;axN*4!B`>X~d(V>!eo##tve`$t$O>hC}{+Tu6H>d2c#CxWSEAjl8BW!ZXzkM|K z{n)e_ogv3rO%vqM(|u;mpnnE_u_b%o@jjR-g-No#+Wlo{+KTO=RQ@jo_}R~uG=Q;c9tUIU4Sq zniVIe4tO3uc2qJj_tpQyOtIvmrXqFuU)e<{58sC#(ZJd97i*ZGHgczU)ctrKCL#O#`=4t$99YuM3!N;b1oIJ`0nqznP#yNQcTZJCMILm2JVmF` ze;|P=hODo@q{43ojWL0N!OY4^OMCx3wTW2O8aO!O?#9X-RyrdhReNug$$Z!wu-v*C zK_aY{NjhQC6v($w5fo%+~A!%d# z{u&RlXTIxf&6~N(bpR3l1~oR#a^GgH6gXt~HB{yHuhoat(~w+2)SMp0Hu!kjp4tuM z4AO~mQdPjDee`~PV=f$KKjmSV9|0jMwC|}N9|64IyhfeErZ9Gp)1+tUT-%=Thzq1~ z#_(>)Ks^aHQ8N@J%iX#~S}fQblS68JPHha4gzYYa{&SEpd$r=w%3oGgHJ!yfX~-8 zQSy6ok1=o{bKk;#7fgMpg_RT+IFR|oW4CSSpQVPv=8`t713Ec?^J1qvIHTWmyS3Yi zS!}J?a?_vR;l|5;n+c6IZz?Sp#WVn(>^75R#iXamD(bGKx zPeW5vyHkZ|E)rAJ`>3dS*)HOX=O>1`FUNUedxb5n>2ohd*K?J}?aTE}YO!0Qq%A&q z9MurlC_?G514I^=S6A;9KDiB(41)On!kWN%Wj>4DHcu{H_BM)Jp}X`K?k=SJ$lkcq zx{pWO(eit4o0(a8#J!SJe5T4fQCF!qpD=M&+U=Y5WmqQC#??`=$-#RvH>Q^47MOaw=k5$C>?otrx*?vXN922N`N9|F@w2<^;Z zcW^hMtmsC!6YyyhAwI%bwG!PyoA9Z_ovj;e_wL;TX<}QOZz-2Cxpj}c*?@~YJ(cHS zT8whKufba#iWnZPf!nBL(?RHQ_VN#5)v9i83&*A9i1izvcr%fE*xGY5KN{gbYuOEL#@^;JtQ;toh@6#U3~Q^wQGf4MQ{*K! zCmnzLhkmcG8i%mxE8rp@JD#r^PrzODJ%By`CsVZS0FRumVRI%$c`gVv2$jjPo`3ce zWIYfb`v<#Qed4vN(`BjH_tcWz_N5;=UYVh9(~Kv-wefH*zkpFo#|zTjM1xj$PSWi? zjJZZn=CYDL_q*#NFQpHfidGIf7Pa)vIXZ!=kH~B8S`i@0-)76EewG}gtiv$nH{Ko6 z>aU)DuO8cjzKc&YQER1cam+6@G#vMqr#K?cOT4%o%}@Hs9kCIM!1gMO2t?Jb&$HLcC1kY~(&P@x2K)5#SFl=X*@H^?&1ki< z$Jx``qC=a2k~cBCRDm{DFKw||1xh1RU7xb04_Mh?Ay6f zGM{(gZ6$j0NScKaUEU$>I92CBU+?}>u36|-n10_HbT5I;L$?k_N{vPHF#OOUNI9TE7 zaz)%yW@c2)b@E*L4%e!e26;0tcf8(KydycPlrygkDYg+Wt3ZcwsHj{W`JJ3ZCUDWy zDXATOzMpKNz<3!Js8)$+YBXMX4k|J!@fV({-BW|b^b{SxoaHy!8@-V&BCLu^8x;^d z6%b1O9X65xah#xzMO!Ad*hAd_I{M(X5uRZ%4` zduRjIN@sX3MH$G*eBI)bl56zM4T1HM*O+4s*F!Sp$kOGY81pb1NP@#{ zvCXm+9F$T(Fc%31>c^bbD@63OVPDC3Z z?f^xOTPKi2NBuVUdgR^!`&ORT3~TACLydXr!{)`@XG;XLcO}JdkM+FP_dNdAYlhtR z=dp0X#dH13P;9osPEdRFO^LgEX%AAe{{&&gU*$x-B7c+P>wV_WiIlFvKov!jMR+vC z3CGKvj&8eo(C5o;mIwVAoz!c04P6@s6GTHFFgmgSd=b>FGqWAs zMuX4xKJbtEjcJI&l$sh|ZkQ>%G0=WEGscqew1v4df|Jtu(&?ABM6htUbtBwMkS>?X zZK)K*?V{N{4f0Ol90wfojtvHn{HwY0><^7s!>4;l{DVC9xV6Fc!>94&&9hh6Rxo@! z)?=yfd8bup##YwwZ$&#m0Xw0fF{V%}?$VHsOUC3ZBX1k}MBVxkI$r<%@FUYL*w%#T z2(SykPH>rMP_Y(jNA@6d@tot?b_D)MK2wM(TYet5kl*9yA6#!RkY*gR<|Nb5rr z2}($5n4IsA#{?&83LCiCM%MFgvCGdNAGJ6Way3wOMpjEARRIaH#jp zPKaG+108aq3KJioVT7Em3Px+9SeNoYqIY%L8*0gf2Wp47u-cJV@Zs5S@=g*3p4=OB z8T2hCWye0=m_ZsWe2ACS;Fi5PvHntB0D4|j_TeflWdDnC>abZWje!6N zD3dWFCF>X;L5bkmS3zXCnOnCk&n@Dcs1T>Xgp0&|w_Xp;$ykY1hb-jt>S8zVD*>P) z?%7)MZI|EXqtkvObiYAUFrXJ+M`Rd0ILy*}xPNql?GpJ3tt^TYA}V&q<*uf&W1&Z8 z(;fQVHq)U~f^s;CchDGRW5KnVsPMmjr4D|4t`-v_ zq)gvlII)0tqq%{qcfhEIW>!Ew5;|A0?ov%d)9X? jWPusLPAPMk@XnWwX#vT>nY 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 literal 0 HcmV?d00001 diff --git a/examples/charts/chartthemes/doc/chartthemes.rst b/examples/charts/chartthemes/doc/chartthemes.rst new file mode 100644 index 0000000..104c679 --- /dev/null +++ b/examples/charts/chartthemes/doc/chartthemes.rst @@ -0,0 +1,11 @@ +Chart Themes Example +==================== + +The example shows the look and feel of the different built-in themes. + +This example shows the look and feel of the different built-in themes for some +of the supported chart types. + +.. image:: chartthemes.png + :width: 400 + :alt: Chart Themes Screenshot diff --git a/examples/charts/chartthemes/main.py b/examples/charts/chartthemes/main.py new file mode 100644 index 0000000..8b023f9 --- /dev/null +++ b/examples/charts/chartthemes/main.py @@ -0,0 +1,369 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Chart Themes example from Qt v5.x""" + +import sys +from PySide6.QtCore import QPointF, Qt +from PySide6.QtGui import QColor, QPainter, QPalette +from PySide6.QtWidgets import (QApplication, QMainWindow, QSizePolicy, + QWidget) +from PySide6.QtCharts import (QAreaSeries, QBarSet, QChart, QChartView, + QLineSeries, QPieSeries, QScatterSeries, + QSplineSeries, QStackedBarSeries) + +from ui_themewidget import Ui_ThemeWidgetForm as ui + +from random import random, uniform + + +class ThemeWidget(QWidget): + def __init__(self, parent): + QWidget.__init__(self, parent) + self.charts = [] + + self.ui = ui() + self.list_count = 3 + self.value_max = 10 + self.value_count = 7 + self.data_table = self.generate_random_data(self.list_count, + self.value_max, self.value_count) + + self.ui.setupUi(self) + self.populate_themebox() + self.populate_animationbox() + self.populate_legendbox() + + # Area Chart + chart_view = QChartView(self.create_areachart()) + self.ui.gridLayout.addWidget(chart_view, 1, 0) + self.charts.append(chart_view) + + # Pie Chart + chart_view = QChartView(self.create_pie_chart()) + chart_view.setSizePolicy(QSizePolicy.Ignored, + QSizePolicy.Ignored) + self.ui.gridLayout.addWidget(chart_view, 1, 1) + self.charts.append(chart_view) + + # Line Chart + chart_view = QChartView(self.create_line_chart()) + self.ui.gridLayout.addWidget(chart_view, 1, 2) + self.charts.append(chart_view) + + # Bar Chart + chart_view = QChartView(self.create_bar_chart()) + self.ui.gridLayout.addWidget(chart_view, 2, 0) + self.charts.append(chart_view) + + # Spline Chart + chart_view = QChartView(self.create_spline_chart()) + self.ui.gridLayout.addWidget(chart_view, 2, 1) + self.charts.append(chart_view) + + # Scatter Chart + chart_view = QChartView(self.create_scatterchart()) + self.ui.gridLayout.addWidget(chart_view, 2, 2) + self.charts.append(chart_view) + + # Set defaults + self.ui.antialiasCheckBox.setChecked(True) + + # Set the colors from the light theme as default ones + pal = qApp.palette() + pal.setColor(QPalette.Window, QColor(0xf0f0f0)) + pal.setColor(QPalette.WindowText, QColor(0x404044)) + qApp.setPalette(pal) + + self.update_ui() + + def generate_random_data(self, list_count, value_max, value_count): + data_table = [] + for i in range(list_count): + data_list = [] + y_value = 0 + for j in range(value_count): + constant = value_max / float(value_count) + y_value += uniform(0, constant) + x_value = (j + random()) * constant + value = QPointF(x_value, y_value) + label = f"Slice {i}: {j}" + data_list.append((value, label)) + data_table.append(data_list) + + return data_table + + def populate_themebox(self): + theme = self.ui.themeComboBox + + theme.addItem("Light", QChart.ChartThemeLight) + theme.addItem("Blue Cerulean", QChart.ChartThemeBlueCerulean) + theme.addItem("Dark", QChart.ChartThemeDark) + theme.addItem("Brown Sand", QChart.ChartThemeBrownSand) + theme.addItem("Blue NCS", QChart.ChartThemeBlueNcs) + theme.addItem("High Contrast", QChart.ChartThemeHighContrast) + theme.addItem("Blue Icy", QChart.ChartThemeBlueIcy) + theme.addItem("Qt", QChart.ChartThemeQt) + + def populate_animationbox(self): + animated = self.ui.animatedComboBox + + animated.addItem("No Animations", QChart.NoAnimation) + animated.addItem("GridAxis Animations", QChart.GridAxisAnimations) + animated.addItem("Series Animations", QChart.SeriesAnimations) + animated.addItem("All Animations", QChart.AllAnimations) + + def populate_legendbox(self): + legend = self.ui.legendComboBox + + legend.addItem("No Legend ", 0) + legend.addItem("Legend Top", Qt.AlignTop) + legend.addItem("Legend Bottom", Qt.AlignBottom) + legend.addItem("Legend Left", Qt.AlignLeft) + legend.addItem("Legend Right", Qt.AlignRight) + + def create_areachart(self): + chart = QChart() + chart.setTitle("Area Chart") + + # The lower series initialized to zero values + lower_series = None + name = "Series " + for i in range(len(self.data_table)): + upper_series = QLineSeries(chart) + for j in range(len(self.data_table[i])): + data = self.data_table[i][j] + if lower_series: + points = lower_series.points() + y_value = points[i].y() + data[0].y() + upper_series.append(QPointF(j, y_value)) + else: + upper_series.append(QPointF(j, data[0].y())) + area = QAreaSeries(upper_series, lower_series) + area.setName(f"{name}{i}") + chart.addSeries(area) + lower_series = upper_series + + chart.createDefaultAxes() + axis_x = chart.axes(Qt.Horizontal)[0] + axis_x.setRange(0, self.value_count - 1) + axis_y = chart.axes(Qt.Vertical)[0] + axis_y.setRange(0, self.value_max) + # Add space to label to add space between labels and axis + axis_y.setLabelFormat("%.1f ") + + return chart + + def create_bar_chart(self): + chart = QChart() + chart.setTitle("Bar chart") + + series = QStackedBarSeries(chart) + for i in range(len(self.data_table)): + barset = QBarSet(f"Bar set {i}") + for data in self.data_table[i]: + barset.append(data[0].y()) + series.append(barset) + + chart.addSeries(series) + + chart.createDefaultAxes() + axis_y = chart.axes(Qt.Vertical)[0] + axis_y.setRange(0, self.value_max * 2) + # Add space to label to add space between labels and axis + axis_y.setLabelFormat("%.1f ") + + return chart + + def create_line_chart(self): + chart = QChart() + chart.setTitle("Line chart") + + name = "Series " + for i, lst in enumerate(self.data_table): + series = QLineSeries(chart) + for data in lst: + series.append(data[0]) + series.setName(f"{name}{i}") + chart.addSeries(series) + + chart.createDefaultAxes() + axis_x = chart.axes(Qt.Horizontal)[0] + axis_x.setRange(0, self.value_max) + axis_y = chart.axes(Qt.Vertical)[0] + axis_y.setRange(0, self.value_count) + # Add space to label to add space between labels and axis + axis_y.setLabelFormat("%.1f ") + + return chart + + def create_pie_chart(self): + chart = QChart() + chart.setTitle("Pie chart") + + series = QPieSeries(chart) + for data in self.data_table[0]: + slc = series.append(data[1], data[0].y()) + if data == self.data_table[0][0]: + # Show the first slice exploded with label + slc.setLabelVisible() + slc.setExploded() + slc.setExplodeDistanceFactor(0.5) + + series.setPieSize(0.4) + chart.addSeries(series) + + return chart + + def create_spline_chart(self): + chart = QChart() + chart.setTitle("Spline chart") + name = "Series " + for i, lst in enumerate(self.data_table): + series = QSplineSeries(chart) + for data in lst: + series.append(data[0]) + series.setName(f"{name}{i}") + chart.addSeries(series) + + chart.createDefaultAxes() + axis_x = chart.axes(Qt.Horizontal)[0] + axis_x.setRange(0, self.value_max) + axis_y = chart.axes(Qt.Vertical)[0] + axis_y.setRange(0, self.value_count) + # Add space to label to add space between labels and axis + axis_y.setLabelFormat("%.1f ") + + return chart + + def create_scatterchart(self): + chart = QChart() + chart.setTitle("Scatter chart") + name = "Series " + for i, lst in enumerate(self.data_table): + series = QScatterSeries(chart) + for data in lst: + series.append(data[0]) + series.setName(f"{name}{i}") + chart.addSeries(series) + + chart.createDefaultAxes() + axis_x = chart.axes(Qt.Horizontal)[0] + axis_x.setRange(0, self.value_max) + axis_y = chart.axes(Qt.Vertical)[0] + axis_y.setRange(0, self.value_count) + # Add space to label to add space between labels and axis + axis_y.setLabelFormat("%.1f ") + + return chart + + def update_ui(self): + def set_colors(window_color, text_color): + pal = self.window().palette() + pal.setColor(QPalette.Window, window_color) + pal.setColor(QPalette.WindowText, text_color) + self.window().setPalette(pal) + + idx = self.ui.themeComboBox.currentIndex() + theme = self.ui.themeComboBox.itemData(idx) + + if len(self.charts): + chart_theme = self.charts[0].chart().theme() + if chart_theme != theme: + for chart_view in self.charts: + if theme == 0: + theme_name = QChart.ChartThemeLight + elif theme == 1: + theme_name = QChart.ChartThemeBlueCerulean + elif theme == 2: + theme_name = QChart.ChartThemeDark + elif theme == 3: + theme_name = QChart.ChartThemeBrownSand + elif theme == 4: + theme_name = QChart.ChartThemeBlueNcs + elif theme == 5: + theme_name = QChart.ChartThemeHighContrast + elif theme == 6: + theme_name = QChart.ChartThemeBlueIcy + elif theme == 7: + theme_name = QChart.ChartThemeQt + else: + theme_name = QChart.ChartThemeLight + + chart_view.chart().setTheme(theme_name) + + # Set palette colors based on selected theme + if theme == QChart.ChartThemeLight: + set_colors(QColor(0xf0f0f0), QColor(0x404044)) + elif theme == QChart.ChartThemeDark: + set_colors(QColor(0x121218), QColor(0xd6d6d6)) + elif theme == QChart.ChartThemeBlueCerulean: + set_colors(QColor(0x40434a), QColor(0xd6d6d6)) + elif theme == QChart.ChartThemeBrownSand: + set_colors(QColor(0x9e8965), QColor(0x404044)) + elif theme == QChart.ChartThemeBlueNcs: + set_colors(QColor(0x018bba), QColor(0x404044)) + elif theme == QChart.ChartThemeHighContrast: + set_colors(QColor(0xffab03), QColor(0x181818)) + elif theme == QChart.ChartThemeBlueIcy: + set_colors(QColor(0xcee7f0), QColor(0x404044)) + else: + set_colors(QColor(0xf0f0f0), QColor(0x404044)) + + # Update antialiasing + checked = self.ui.antialiasCheckBox.isChecked() + for chart in self.charts: + chart.setRenderHint(QPainter.Antialiasing, checked) + + # Update animation options + idx = self.ui.animatedComboBox.currentIndex() + options = self.ui.animatedComboBox.itemData(idx) + + if len(self.charts): + chart = self.charts[0].chart() + animation_options = chart.animationOptions() + if animation_options != options: + for chart_view in self.charts: + options_name = QChart.NoAnimation + if options == 0: + options_name = QChart.NoAnimation + elif options == 1: + options_name = QChart.GridAxisAnimations + elif options == 2: + options_name = QChart.SeriesAnimations + elif options == 3: + options_name = QChart.AllAnimations + chart_view.chart().setAnimationOptions(options_name) + + # Update legend alignment + idx = self.ui.legendComboBox.currentIndex() + alignment = self.ui.legendComboBox.itemData(idx) + + if not alignment: + for chart_view in self.charts: + chart_view.chart().legend().hide() + else: + for chart_view in self.charts: + alignment_name = Qt.AlignTop + if alignment == 32: + alignment_name = Qt.AlignTop + elif alignment == 64: + alignment_name = Qt.AlignBottom + elif alignment == 1: + alignment_name = Qt.AlignLeft + elif alignment == 2: + alignment_name = Qt.AlignRight + chart_view.chart().legend().setAlignment(alignment_name) + chart_view.chart().legend().show() + + +if __name__ == "__main__": + app = QApplication(sys.argv) + window = QMainWindow() + widget = ThemeWidget(None) + window.setCentralWidget(widget) + available_geometry = window.screen().availableGeometry() + size = available_geometry.height() * 0.75 + window.setFixedSize(size, size * 0.8) + window.show() + sys.exit(app.exec()) diff --git a/examples/charts/chartthemes/themewidget.ui b/examples/charts/chartthemes/themewidget.ui new file mode 100644 index 0000000..ad1e02f --- /dev/null +++ b/examples/charts/chartthemes/themewidget.ui @@ -0,0 +1,103 @@ + + + ThemeWidgetForm + + + + 0 + 0 + 900 + 600 + + + + + + + + + Theme: + + + + + + + + + + Animation: + + + + + + + + + + Legend: + + + + + + + + + + Anti-aliasing + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + themeComboBox + currentIndexChanged(int) + ThemeWidgetForm + update_ui() + + + antialiasCheckBox + toggled(bool) + ThemeWidgetForm + update_ui() + + + legendComboBox + currentIndexChanged(int) + ThemeWidgetForm + update_ui() + + + animatedComboBox + currentIndexChanged(int) + ThemeWidgetForm + update_ui() + + + + update_ui() + + diff --git a/examples/charts/chartthemes/ui_themewidget.py b/examples/charts/chartthemes/ui_themewidget.py new file mode 100644 index 0000000..231813a --- /dev/null +++ b/examples/charts/chartthemes/ui_themewidget.py @@ -0,0 +1,91 @@ +# -*- coding: utf-8 -*- + +################################################################################ +## Form generated from reading UI file 'themewidget.ui' +## +## Created by: Qt User Interface Compiler version 6.2.3 +## +## WARNING! All changes made in this file will be lost when recompiling UI file! +################################################################################ + +from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, + QMetaObject, QObject, QPoint, QRect, + QSize, QTime, QUrl, Qt) +from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, + QFont, QFontDatabase, QGradient, QIcon, + QImage, QKeySequence, QLinearGradient, QPainter, + QPalette, QPixmap, QRadialGradient, QTransform) +from PySide6.QtWidgets import (QApplication, QCheckBox, QComboBox, QGridLayout, + QHBoxLayout, QLabel, QSizePolicy, QSpacerItem, + QWidget) + +class Ui_ThemeWidgetForm(object): + def setupUi(self, ThemeWidgetForm): + if not ThemeWidgetForm.objectName(): + ThemeWidgetForm.setObjectName(u"ThemeWidgetForm") + ThemeWidgetForm.resize(900, 600) + self.gridLayout = QGridLayout(ThemeWidgetForm) + self.gridLayout.setObjectName(u"gridLayout") + self.horizontalLayout = QHBoxLayout() + self.horizontalLayout.setObjectName(u"horizontalLayout") + self.themeLabel = QLabel(ThemeWidgetForm) + self.themeLabel.setObjectName(u"themeLabel") + + self.horizontalLayout.addWidget(self.themeLabel) + + self.themeComboBox = QComboBox(ThemeWidgetForm) + self.themeComboBox.setObjectName(u"themeComboBox") + + self.horizontalLayout.addWidget(self.themeComboBox) + + self.animatedLabel = QLabel(ThemeWidgetForm) + self.animatedLabel.setObjectName(u"animatedLabel") + + self.horizontalLayout.addWidget(self.animatedLabel) + + self.animatedComboBox = QComboBox(ThemeWidgetForm) + self.animatedComboBox.setObjectName(u"animatedComboBox") + + self.horizontalLayout.addWidget(self.animatedComboBox) + + self.legendLabel = QLabel(ThemeWidgetForm) + self.legendLabel.setObjectName(u"legendLabel") + + self.horizontalLayout.addWidget(self.legendLabel) + + self.legendComboBox = QComboBox(ThemeWidgetForm) + self.legendComboBox.setObjectName(u"legendComboBox") + + self.horizontalLayout.addWidget(self.legendComboBox) + + self.antialiasCheckBox = QCheckBox(ThemeWidgetForm) + self.antialiasCheckBox.setObjectName(u"antialiasCheckBox") + self.antialiasCheckBox.setChecked(False) + + self.horizontalLayout.addWidget(self.antialiasCheckBox) + + self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) + + self.horizontalLayout.addItem(self.horizontalSpacer) + + + self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 3) + + + self.retranslateUi(ThemeWidgetForm) + self.themeComboBox.currentIndexChanged.connect(ThemeWidgetForm.update_ui) + self.antialiasCheckBox.toggled.connect(ThemeWidgetForm.update_ui) + self.legendComboBox.currentIndexChanged.connect(ThemeWidgetForm.update_ui) + self.animatedComboBox.currentIndexChanged.connect(ThemeWidgetForm.update_ui) + + QMetaObject.connectSlotsByName(ThemeWidgetForm) + # setupUi + + def retranslateUi(self, ThemeWidgetForm): + self.themeLabel.setText(QCoreApplication.translate("ThemeWidgetForm", u"Theme:", None)) + self.animatedLabel.setText(QCoreApplication.translate("ThemeWidgetForm", u"Animation:", None)) + self.legendLabel.setText(QCoreApplication.translate("ThemeWidgetForm", u"Legend:", None)) + self.antialiasCheckBox.setText(QCoreApplication.translate("ThemeWidgetForm", u"Anti-aliasing", None)) + pass + # retranslateUi + diff --git a/examples/charts/donutbreakdown/doc/donutbreakdown.png b/examples/charts/donutbreakdown/doc/donutbreakdown.png new file mode 100644 index 0000000000000000000000000000000000000000..6499a8790f10e9ed9813090551811787f9f3a2d0 GIT binary patch literal 50391 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 m|Gz%v-+B4ZSo#mIXg|`_. + +.. image:: dynamicspline1.png + :width: 400 + :alt: Dynamic Spline Screenshot 1 + +.. image:: dynamicspline2.png + :width: 400 + :alt: Dynamic Spline Screenshot 2 diff --git a/examples/charts/dynamicspline/doc/dynamicspline1.png b/examples/charts/dynamicspline/doc/dynamicspline1.png new file mode 100644 index 0000000000000000000000000000000000000000..bcee80ed4c084b3096e81485940bae4625d98832 GIT binary patch literal 34292 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 literal 0 HcmV?d00001 diff --git a/examples/charts/dynamicspline/doc/dynamicspline2.png b/examples/charts/dynamicspline/doc/dynamicspline2.png new file mode 100644 index 0000000000000000000000000000000000000000..595c38b1f285fef29f28fc6b309a7aab191f23c9 GIT binary patch literal 40347 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 literal 0 HcmV?d00001 diff --git a/examples/charts/dynamicspline/dynamicspline.pyproject b/examples/charts/dynamicspline/dynamicspline.pyproject new file mode 100644 index 0000000..bdd6419 --- /dev/null +++ b/examples/charts/dynamicspline/dynamicspline.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["chart.py", "main.py"] +} diff --git a/examples/charts/dynamicspline/main.py b/examples/charts/dynamicspline/main.py new file mode 100644 index 0000000..8405824 --- /dev/null +++ b/examples/charts/dynamicspline/main.py @@ -0,0 +1,27 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Dynamic Spline example from Qt v5.x""" +import sys + +from PySide6.QtCharts import QChart, QChartView +from PySide6.QtGui import QPainter +from PySide6.QtWidgets import QApplication, QMainWindow + +from chart import Chart + +if __name__ == "__main__": + + a = QApplication(sys.argv) + window = QMainWindow() + chart = Chart() + chart.setTitle("Dynamic spline chart") + chart.legend().hide() + chart.setAnimationOptions(QChart.AllAnimations) + chart_view = QChartView(chart) + chart_view.setRenderHint(QPainter.Antialiasing) + window.setCentralWidget(chart_view) + window.resize(400, 300) + window.show() + + sys.exit(a.exec()) diff --git a/examples/charts/legend/doc/legend.png b/examples/charts/legend/doc/legend.png new file mode 100644 index 0000000000000000000000000000000000000000..1adc3d75bdbd498ff015622a67cb06bd2f9f638a GIT binary patch literal 22719 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 H`a$Y1xiqz? literal 0 HcmV?d00001 diff --git a/examples/charts/legend/doc/legend.rst b/examples/charts/legend/doc/legend.rst new file mode 100644 index 0000000..10fb79c --- /dev/null +++ b/examples/charts/legend/doc/legend.rst @@ -0,0 +1,20 @@ +Legend Example +============== + +This example shows how to detach the legend from the chart and how to attach it +back. + +By default the chart draws the legend inside the same view with the chart. In +some cases the user may want to draw the legend to somewhere else. To make this +possible the legend can be detached from the chart. Detaching means that the +chart doesn't draw the legend or try to change its layout. The detached legend can +then be drawn wherever the user wishes, for example, in a different graphics +scene. The behavior of the legend can be inspected by running the legend +example. In the example we use the bar series where we add or remove the bar +sets. The legend reflects the changes in the series. The legend can be detached or +attached back to the chart and its alignment can be modified. When the legend +is detached, it can be resized and positioned freely. + +.. image:: legend.png + :width: 400 + :alt: Legend Screenshot diff --git a/examples/charts/legend/legend.py b/examples/charts/legend/legend.py new file mode 100644 index 0000000..f192954 --- /dev/null +++ b/examples/charts/legend/legend.py @@ -0,0 +1,225 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Legend example from Qt v5.x""" + +import sys +from PySide6.QtCore import Qt, QRectF, Slot +from PySide6.QtGui import QBrush, QColor, QPainter, QPen +from PySide6.QtWidgets import (QApplication, QDoubleSpinBox, + QFormLayout, QGridLayout, QGroupBox, QPushButton, QWidget) +from PySide6.QtCharts import QBarSeries, QBarSet, QChart, QChartView + + +class MainWidget(QWidget): + def __init__(self, parent=None): + super().__init__(parent) + self.chart = QChart() + self.series = QBarSeries() + + self.main_layout = QGridLayout() + self.button_layout = QGridLayout() + self.font_layout = QFormLayout() + + self.font_size = QDoubleSpinBox() + + self.legend_posx = QDoubleSpinBox() + self.legend_posy = QDoubleSpinBox() + self.legend_width = QDoubleSpinBox() + self.legend_height = QDoubleSpinBox() + + self.detach_legend_button = QPushButton("Toggle attached") + self.detach_legend_button.clicked.connect(self.toggle_attached) + self.button_layout.addWidget(self.detach_legend_button, 0, 0) + + self.add_set_button = QPushButton("add barset") + self.add_set_button.clicked.connect(self.add_barset) + self.button_layout.addWidget(self.add_set_button, 2, 0) + + self.remove_barset_button = QPushButton("remove barset") + self.remove_barset_button.clicked.connect(self.remove_barset) + self.button_layout.addWidget(self.remove_barset_button, 3, 0) + + self.align_button = QPushButton("Align (Bottom)") + self.align_button.clicked.connect(self.set_legend_alignment) + self.button_layout.addWidget(self.align_button, 4, 0) + + self.bold_button = QPushButton("Toggle bold") + self.bold_button.clicked.connect(self.toggle_bold) + self.button_layout.addWidget(self.bold_button, 8, 0) + + self.italic_button = QPushButton("Toggle italic") + self.italic_button.clicked.connect(self.toggle_italic) + self.button_layout.addWidget(self.italic_button, 9, 0) + + self.legend_posx.valueChanged.connect(self.update_legend_layout) + self.legend_posy.valueChanged.connect(self.update_legend_layout) + self.legend_width.valueChanged.connect(self.update_legend_layout) + self.legend_height.valueChanged.connect(self.update_legend_layout) + + legend_layout = QFormLayout() + legend_layout.addRow("HPos", self.legend_posx) + legend_layout.addRow("VPos", self.legend_posy) + legend_layout.addRow("Width", self.legend_width) + legend_layout.addRow("Height", self.legend_height) + + self.legend_settings = QGroupBox("Detached legend") + self.legend_settings.setLayout(legend_layout) + self.button_layout.addWidget(self.legend_settings) + self.legend_settings.setVisible(False) + + # Create chart view with the chart + self.chart_view = QChartView(self.chart, self) + + # Create spinbox to modify font size + self.font_size.setValue(self.chart.legend().font().pointSizeF()) + self.font_size.valueChanged.connect(self.font_size_changed) + + self.font_layout.addRow("Legend font size", self.font_size) + + # Create layout for grid and detached legend + self.main_layout.addLayout(self.button_layout, 0, 0) + self.main_layout.addLayout(self.font_layout, 1, 0) + self.main_layout.addWidget(self.chart_view, 0, 1, 3, 1) + self.setLayout(self.main_layout) + + self.create_series() + + def create_series(self): + self.add_barset() + self.add_barset() + self.add_barset() + self.add_barset() + + self.chart.addSeries(self.series) + self.chart.setTitle("Legend detach example") + self.chart.createDefaultAxes() + + self.chart.legend().setVisible(True) + self.chart.legend().setAlignment(Qt.AlignBottom) + + self.chart_view.setRenderHint(QPainter.Antialiasing) + + def show_legend_spinbox(self): + self.legend_settings.setVisible(True) + chart_viewrect = self.chart_view.rect() + + self.legend_posx.setMinimum(0) + self.legend_posx.setMaximum(chart_viewrect.width()) + self.legend_posx.setValue(150) + + self.legend_posy.setMinimum(0) + self.legend_posy.setMaximum(chart_viewrect.height()) + self.legend_posy.setValue(150) + + self.legend_width.setMinimum(0) + self.legend_width.setMaximum(chart_viewrect.width()) + self.legend_width.setValue(150) + + self.legend_height.setMinimum(0) + self.legend_height.setMaximum(chart_viewrect.height()) + self.legend_height.setValue(75) + + def hide_legend_spinbox(self): + self.legend_settings.setVisible(False) + + @Slot() + def toggle_attached(self): + legend = self.chart.legend() + if legend.isAttachedToChart(): + legend.detachFromChart() + legend.setBackgroundVisible(True) + legend.setBrush(QBrush(QColor(128, 128, 128, 128))) + legend.setPen(QPen(QColor(192, 192, 192, 192))) + + self.show_legend_spinbox() + self.update_legend_layout() + else: + legend.attachToChart() + legend.setBackgroundVisible(False) + self.hide_legend_spinbox() + self.update() + + @Slot() + def add_barset(self): + series_count = self.series.count() + bar_set = QBarSet(f"set {series_count}") + delta = series_count * 0.1 + bar_set.append([1 + delta, 2 + delta, 3 + delta, 4 + delta]) + self.series.append(bar_set) + + @Slot() + def remove_barset(self): + sets = self.series.barSets() + len_sets = len(sets) + if len_sets > 0: + self.series.remove(sets[len_sets - 1]) + + @Slot() + def set_legend_alignment(self): + button = self.sender() + legend = self.chart.legend() + alignment = legend.alignment() + + if alignment == Qt.AlignTop: + legend.setAlignment(Qt.AlignLeft) + if button: + button.setText("Align (Left)") + elif alignment == Qt.AlignLeft: + legend.setAlignment(Qt.AlignBottom) + if button: + button.setText("Align (Bottom)") + elif alignment == Qt.AlignBottom: + legend.setAlignment(Qt.AlignRight) + if button: + button.setText("Align (Right)") + else: + if button: + button.setText("Align (Top)") + legend.setAlignment(Qt.AlignTop) + + @Slot() + def toggle_bold(self): + legend = self.chart.legend() + font = legend.font() + font.setBold(not font.bold()) + legend.setFont(font) + + @Slot() + def toggle_italic(self): + legend = self.chart.legend() + font = legend.font() + font.setItalic(not font.italic()) + legend.setFont(font) + + @Slot() + def font_size_changed(self): + legend = self.chart.legend() + font = legend.font() + font_size = self.font_size.value() + if font_size < 1: + font_size = 1 + font.setPointSizeF(font_size) + legend.setFont(font) + + @Slot() + def update_legend_layout(self): + legend = self.chart.legend() + + rect = QRectF(self.legend_posx.value(), + self.legend_posy.value(), + self.legend_width.value(), + self.legend_height.value()) + legend.setGeometry(rect) + + legend.update() + + +if __name__ == "__main__": + app = QApplication(sys.argv) + w = MainWidget() + available_geometry = w.screen().availableGeometry() + size = available_geometry.height() * 0.75 + w.setFixedSize(size, size) + w.show() + sys.exit(app.exec()) diff --git a/examples/charts/legend/legend.pyproject b/examples/charts/legend/legend.pyproject new file mode 100644 index 0000000..f130dcf --- /dev/null +++ b/examples/charts/legend/legend.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["legend.py"] +} diff --git a/examples/charts/lineandbar/doc/lineandbar.png b/examples/charts/lineandbar/doc/lineandbar.png new file mode 100644 index 0000000000000000000000000000000000000000..a5c1fcea57ecf46e991b2064a3e1ef6b7ebc8509 GIT binary patch literal 14482 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 literal 0 HcmV?d00001 diff --git a/examples/charts/lineandbar/doc/lineandbar.rst b/examples/charts/lineandbar/doc/lineandbar.rst new file mode 100644 index 0000000..18dce9e --- /dev/null +++ b/examples/charts/lineandbar/doc/lineandbar.rst @@ -0,0 +1,11 @@ +Line and Bar Chart Example +========================== + +The example shows how to combine different charts and set the axes. + +In the example, we combine a linechart with a barchart and use the category +axis as a common axis for both. + +.. image:: lineandbar.png + :width: 400 + :alt: Line and Bar Chart Screenshot diff --git a/examples/charts/lineandbar/lineandbar.py b/examples/charts/lineandbar/lineandbar.py new file mode 100644 index 0000000..62721c7 --- /dev/null +++ b/examples/charts/lineandbar/lineandbar.py @@ -0,0 +1,81 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the line/bar example from Qt v5.x""" + +import sys +from PySide6.QtCore import QPoint, Qt +from PySide6.QtGui import QPainter +from PySide6.QtWidgets import QMainWindow, QApplication +from PySide6.QtCharts import (QBarCategoryAxis, QBarSeries, QBarSet, QChart, + QChartView, QLineSeries, QValueAxis) + + +class TestChart(QMainWindow): + def __init__(self): + super().__init__() + + self.set0 = QBarSet("Jane") + self.set1 = QBarSet("John") + self.set2 = QBarSet("Axel") + self.set3 = QBarSet("Mary") + self.set4 = QBarSet("Sam") + + self.set0.append([1, 2, 3, 4, 5, 6]) + self.set1.append([5, 0, 0, 4, 0, 7]) + self.set2.append([3, 5, 8, 13, 8, 5]) + self.set3.append([5, 6, 7, 3, 4, 5]) + self.set4.append([9, 7, 5, 3, 1, 2]) + + self._bar_series = QBarSeries() + self._bar_series.append(self.set0) + self._bar_series.append(self.set1) + self._bar_series.append(self.set2) + self._bar_series.append(self.set3) + self._bar_series.append(self.set4) + + self._line_series = QLineSeries() + self._line_series.setName("trend") + self._line_series.append(QPoint(0, 4)) + self._line_series.append(QPoint(1, 15)) + self._line_series.append(QPoint(2, 20)) + self._line_series.append(QPoint(3, 4)) + self._line_series.append(QPoint(4, 12)) + self._line_series.append(QPoint(5, 17)) + + self.chart = QChart() + self.chart.addSeries(self._bar_series) + self.chart.addSeries(self._line_series) + self.chart.setTitle("Line and barchart example") + + self.categories = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"] + self._axis_x = QBarCategoryAxis() + self._axis_x.append(self.categories) + self.chart.addAxis(self._axis_x, Qt.AlignBottom) + self._line_series.attachAxis(self._axis_x) + self._bar_series.attachAxis(self._axis_x) + self._axis_x.setRange("Jan", "Jun") + + self._axis_y = QValueAxis() + self.chart.addAxis(self._axis_x, Qt.AlignLeft) + self._line_series.attachAxis(self._axis_y) + self._bar_series.attachAxis(self._axis_y) + self._axis_y.setRange(0, 20) + + self.chart.legend().setVisible(True) + self.chart.legend().setAlignment(Qt.AlignBottom) + + self._chart_view = QChartView(self.chart) + self._chart_view.setRenderHint(QPainter.Antialiasing) + + self.setCentralWidget(self._chart_view) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + + window = TestChart() + window.show() + window.resize(440, 300) + + sys.exit(app.exec()) diff --git a/examples/charts/lineandbar/lineandbar.pyproject b/examples/charts/lineandbar/lineandbar.pyproject new file mode 100644 index 0000000..8d9010c --- /dev/null +++ b/examples/charts/lineandbar/lineandbar.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["lineandbar.py"] +} diff --git a/examples/charts/linechart/doc/linechart.png b/examples/charts/linechart/doc/linechart.png new file mode 100644 index 0000000000000000000000000000000000000000..9c32aabd5f66747c2771b86f883810ba3b91a803 GIT binary patch literal 13485 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ʁ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≶6`ZGL^Lzes;WyN+V?$&7oRL3^-a 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 literal 0 HcmV?d00001 diff --git a/examples/charts/logvalueaxis/doc/logvalueaxis.rst b/examples/charts/logvalueaxis/doc/logvalueaxis.rst new file mode 100644 index 0000000..14c080a --- /dev/null +++ b/examples/charts/logvalueaxis/doc/logvalueaxis.rst @@ -0,0 +1,8 @@ +Logarithmic Axis Example +======================== + +The example shows how to use QLogValueAxis. + +.. image:: logvalueaxis.png + :width: 400 + :alt: Logarithmic Axis Example Screenshot diff --git a/examples/charts/logvalueaxis/logvalueaxis.py b/examples/charts/logvalueaxis/logvalueaxis.py new file mode 100644 index 0000000..e727c12 --- /dev/null +++ b/examples/charts/logvalueaxis/logvalueaxis.py @@ -0,0 +1,57 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +"""PySide6 port of the Logarithmic Axis Example from Qt v5.x""" + + +import sys +from PySide6.QtCore import Qt, QPointF +from PySide6.QtGui import QPainter +from PySide6.QtWidgets import QMainWindow, QApplication +from PySide6.QtCharts import (QChart, QChartView, QLineSeries, QLogValueAxis, + QValueAxis) + + +class TestChart(QMainWindow): + def __init__(self): + super().__init__() + + self.series = QLineSeries() + self.series.append([ + QPointF(1.0, 1.0), QPointF(2.0, 73.0), QPointF(3.0, 268.0), + QPointF(4.0, 17.0), QPointF(5.0, 4325.0), QPointF(6.0, 723.0)]) + + self.chart = QChart() + self.chart.addSeries(self.series) + self.chart.legend().hide() + self.chart.setTitle("Logarithmic axis example") + + self._axis_x = QValueAxis() + self._axis_x.setTitleText("Data point") + self._axis_x.setLabelFormat("%i") + self._axis_x.setTickCount(self.series.count()) + self.chart.addAxis(self._axis_x, Qt.AlignBottom) + self.series.attachAxis(self._axis_x) + + self._axis_y = QLogValueAxis() + self._axis_y.setTitleText("Values") + self._axis_y.setLabelFormat("%g") + self._axis_y.setBase(8.0) + self._axis_y.setMinorTickCount(-1) + self.chart.addAxis(self._axis_y, Qt.AlignLeft) + self.series.attachAxis(self._axis_y) + + self._chart_view = QChartView(self.chart) + self._chart_view.setRenderHint(QPainter.Antialiasing) + + self.setCentralWidget(self._chart_view) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + + window = TestChart() + window.show() + window.resize(800, 600) + + sys.exit(app.exec()) diff --git a/examples/charts/logvalueaxis/logvalueaxis.pyproject b/examples/charts/logvalueaxis/logvalueaxis.pyproject new file mode 100644 index 0000000..b6b3a8e --- /dev/null +++ b/examples/charts/logvalueaxis/logvalueaxis.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["logvalueaxis.py"] +} diff --git a/examples/charts/memoryusage/doc/memoryusage.png b/examples/charts/memoryusage/doc/memoryusage.png new file mode 100644 index 0000000000000000000000000000000000000000..de19d1602963869e77e8308911895a30307c2040 GIT binary patch literal 6633 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 74: + command = line[0:23].strip() + if command.endswith('.exe'): + command = command[0:len(command) - 4] + memory_usage = float(line[64:74].strip().replace(',', '').replace('.', '')) + legend = '' + if memory_usage > 10240: + mb = memory_usage / 1024 + legend = f'{command} {mb}M' + else: + legend = f'{command} {memory_usage}K' + result.append([legend, memory_usage]) + else: + # Unix: Obtain memory usage percentage from 'ps' + ps_options = ['-e', 'v'] + memory_column = 8 + command_column = 9 + if sys.platform == 'darwin': + ps_options = ['-e', '-v'] + memory_column = 11 + command_column = 12 + for line in run_process('ps', ps_options): + tokens = line.split(None) + if len(tokens) > command_column and "PID" not in tokens: # Percentage and command + command = tokens[command_column] + if not command.startswith('['): + command = os.path.basename(command) + memory_usage = round(float(tokens[memory_column].replace(',', '.'))) + legend = f'{command} {memory_usage}%' + result.append([legend, memory_usage]) + + result.sort(key = lambda x: x[1], reverse=True) + return result + + +class MainWindow(QMainWindow): + + def __init__(self): + super().__init__() + + self.setWindowTitle('Memory Usage') + + memory_usage = get_memory_usage() + if len(memory_usage) > 5: + memory_usage = memory_usage[0:4] + + self.series = QPieSeries() + for item in memory_usage: + self.series.append(item[0], item[1]) + + chart_slice = self.series.slices()[0] + chart_slice.setExploded() + chart_slice.setLabelVisible() + self.chart = QChart() + self.chart.addSeries(self.series) + self._chart_view = QChartView(self.chart) + self.setCentralWidget(self._chart_view) + + +if __name__ == '__main__': + app = QApplication(sys.argv) + main_win = MainWindow() + available_geometry = main_win.screen().availableGeometry() + size = available_geometry.height() * 3 / 4 + main_win.resize(size, size) + main_win.show() + sys.exit(app.exec()) diff --git a/examples/charts/memoryusage/memoryusage.pyproject b/examples/charts/memoryusage/memoryusage.pyproject new file mode 100644 index 0000000..4a3c69e --- /dev/null +++ b/examples/charts/memoryusage/memoryusage.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["memoryusage.py"] +} diff --git a/examples/charts/modeldata/doc/modeldata.png b/examples/charts/modeldata/doc/modeldata.png new file mode 100644 index 0000000000000000000000000000000000000000..29cb57084ce18bba8365d194bc8b0a73b42114e9 GIT binary patch literal 70926 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