From 2c2aee2d30afb3d741fc6f7af9394734f9d35501 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Wed, 27 Nov 2019 22:55:19 +1100 Subject: [PATCH] Windows console (#299) * initial release of wails console * lint fix --- CONTRIBUTORS.md | 38 ++-- app.go | 7 +- .../angular-template/frontend/browserslist | 2 +- lib/interfaces/renderer.go | 2 + lib/renderer/bridge.go | 4 + lib/renderer/renderer-mewn.go | 3 +- lib/renderer/webview.go | 25 ++- runtime/assets/console.js | 175 ++++++++++++++++++ runtime/assets/wails.js | 2 +- runtime/js/core/ipc.js | 20 +- runtime/js/core/main.js | 2 + scripts/build.go | 1 + 12 files changed, 251 insertions(+), 30 deletions(-) create mode 100644 runtime/assets/console.js diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index b2c61c408..72d2f0bc5 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -2,22 +2,22 @@ Wails is what it is because of the time and effort given by these great people. A huge thank you to each and every one! -* [Dustin Krysak](https://wiki.ubuntu.com/bashfulrobot) -* [Qais Patankar](https://github.com/qaisjp) -* [Anthony Lee](https://github.com/alee792) -* [Adrian Lanzafame](https://github.com/lanzafame) -* [Mattn](https://github.com/mattn) -* [0xflotus](https://github.com/0xflotus) -* [Michael D Henderson](https://github.com/mdhender) -* [fred2104](https://github.com/fishfishfish2104) -* [intelwalk](https://github.com/intelwalk) -* [Mark Stenglein](https://github.com/ocelotsloth) -* [admin_3.exe](https://github.com/bh90210) -* [iceleo-com](https://github.com/iceleo-com) -* [fallendusk](https://github.com/fallendusk) -* [Florian Didran](https://github.com/fdidron) -* [Nikolai Zimmermann](https://github.com/Chronophylos) -* [Toyam Cox](https://github.com/Vaelatern) -* [Robin Eklind](https://github.com/mewmew) -* [Kris Raney](https://github.com/kraney) -* [Jack Mordaunt](https://github.com/JackMordaunt) + * [Dustin Krysak](https://wiki.ubuntu.com/bashfulrobot) + * [Qais Patankar](https://github.com/qaisjp) + * [Anthony Lee](https://github.com/alee792) + * [Adrian Lanzafame](https://github.com/lanzafame) + * [Mattn](https://github.com/mattn) + * [0xflotus](https://github.com/0xflotus) + * [Michael D Henderson](https://github.com/mdhender) + * [fred2104](https://github.com/fishfishfish2104) + * [intelwalk](https://github.com/intelwalk) + * [Mark Stenglein](https://github.com/ocelotsloth) + * [admin_3.exe](https://github.com/bh90210) + * [iceleo-com](https://github.com/iceleo-com) + * [fallendusk](https://github.com/fallendusk) + * [Florian Didran](https://github.com/fdidron) + * [Nikolai Zimmermann](https://github.com/Chronophylos) + * [Toyam Cox](https://github.com/Vaelatern) + * [Robin Eklind](https://github.com/mewmew) + * [Kris Raney](https://github.com/kraney) + * [Jack Mordaunt](https://github.com/JackMordaunt) diff --git a/app.go b/app.go index 40ae98b1f..7cc60a0a5 100644 --- a/app.go +++ b/app.go @@ -45,7 +45,7 @@ func CreateApp(optionalConfig ...*AppConfig) *App { } result := &App{ - logLevel: "info", + logLevel: "debug", renderer: renderer.NewWebView(), ipc: ipc.NewManager(), bindingManager: binding.NewManager(), @@ -123,6 +123,11 @@ func (a *App) start() error { return err } + // Enable console for Windows debug builds + if runtime.GOOS == "windows" && BuildMode == cmd.BuildModeDebug { + a.renderer.EnableConsole() + } + // Start signal handler t := tebata.New(os.Interrupt, os.Kill, syscall.SIGTERM, syscall.SIGINT, syscall.SIGKILL) t.Reserve(func() { diff --git a/cmd/templates/angular-template/frontend/browserslist b/cmd/templates/angular-template/frontend/browserslist index 342360874..3cb56d100 100644 --- a/cmd/templates/angular-template/frontend/browserslist +++ b/cmd/templates/angular-template/frontend/browserslist @@ -9,4 +9,4 @@ last 2 versions Firefox ESR not dead -IE 9-11 # For IE 9-11 support, remove 'not'. \ No newline at end of file +IE 9-11 # For IE 9-11 support, remove 'not'. diff --git a/lib/interfaces/renderer.go b/lib/interfaces/renderer.go index 9d95818ea..1a56dc1fd 100644 --- a/lib/interfaces/renderer.go +++ b/lib/interfaces/renderer.go @@ -3,10 +3,12 @@ package interfaces import ( "github.com/wailsapp/wails/lib/messages" ) + // Renderer is an interface describing a Wails target to render the app to type Renderer interface { Initialise(AppConfig, IPCManager, EventManager) error Run() error + EnableConsole() // Binding NewBinding(bindingName string) error diff --git a/lib/renderer/bridge.go b/lib/renderer/bridge.go index c4455fead..2b74f868d 100644 --- a/lib/renderer/bridge.go +++ b/lib/renderer/bridge.go @@ -74,6 +74,10 @@ func (h *Bridge) evalJS(js string, mtype messageType) error { return nil } +// EnableConsole not needed for bridge! +func (h *Bridge) EnableConsole() { +} + func (h *Bridge) injectCSS(css string) { // Minify css to overcome issues in the browser with carriage returns minified, err := htmlmin.Minify([]byte(css), &htmlmin.Options{ diff --git a/lib/renderer/renderer-mewn.go b/lib/renderer/renderer-mewn.go index b424f611f..bc00151ea 100644 --- a/lib/renderer/renderer-mewn.go +++ b/lib/renderer/renderer-mewn.go @@ -5,6 +5,7 @@ package renderer import "github.com/leaanthony/mewn" func init() { - mewn.AddAsset(".", "../../runtime/assets/wails.js", "1f8b08000000000000ff94586d8f1bb711fe2b2ba255481f8f91dc14a957610ce7e22057d87781cf6e3fa84240ed8e24fa56a44a52a70812ff7b31dc17adeea56801c35e71869ce13c33cf0c3d586c4d11b435d4b0c3837219c8439cb48b59a08e1df482c2d4cd9883b07526c36f017f6cac0b7e825bacc42579d0b9e3553e18f346981f629c349b0c6e2a545551dbeee5969fbe03e3565472303aadc520d6d2f0200a093c88529e5ce5c01d3b0461f1931d8fb7f3af500451c2421bf8cdd90db8b04f6a0730db353835af201f8cf81242ee228b3c0827fb57275b53ef2ec94086fd06ec22bbdbafe7b61a0eeb7f45b077c169b3fcac96c3e14b169feaf2c383aab690938fb6dc564022e32f6d26bfff0ebe516bb70d46b5bbe1ecfa0994f11086436a64a08631feb721b40899895ed0ef504a6c3245647b27331ce21f71b274da84583ad93857385001a8d95615c3e38270d4bde4bae3a48485da56813c8e787d0b13197f9d1cf2292ea7201bb6b08ea634cab4c90c0ba2a48e5bde5d17d8a14b22984531d7a64c7e71cb589b5f0e6364e4d36c7e74dbb79dc6e954d1f81ef367845d06a35fc089221c180734671f41d2283621da381b2c5e52ac94bfdd9936587515e0063c632309e18106e1e588453a3dcbf18079e921c39815814c1003600d4e87386930a923467e86f97649f8d33b14b1d3b9360bfb9ccaf6a4f24fe50c22f48c5675d27aef9c75cfe92c4e3abfa8a0aae774cac81ae2e8738d6eefdcdc0f63971b8ee19aabe2fefae73cf08dda57569539c4c91973edb429ed4eec94aefcdce972096f9f2e891dccbd2dee21080f98432c6f94e08f00cea84a68f360ef811a16e9dfef6e6f449dad7ab1a78eb1d8b9aa9a1aa4a4b24bc20f153c40951bbe06efd51272883de5021d549494353ea627da36229d60e94baa46b26bd1e80b178d106a10faa2b2112dead81b1631496c8d89e5e47603e6cba70fcfa1b28c675abf6864a1a76afb063ccf7767f06d5af8dacad956d54086e1b0f9381e699023c60decb2df9c5d6b0fb43bdd715be3ae26a53d28692ec825b9f094c5dd4a5740775335ab69e8c71143bd427a089ff51aec36d09e9396a6cca4e44a5555166c462ecc05c9825e4399d96d10d927f8f7167cc8ae7fce3372a11896219ba0017908f581bf2a53569017dc0196726eb9036fab07c85d9c04b747e0312d093f201969b3bc516bccd55205953f4a1cac73c562a142b142700a6bbcad4024f030d3fab9f270c6241b4aeafc15e4221146a7b7c4931aad074a7e7276e7c1890edd7e4aec5fd6ad31362c7ad95442e1f69b60fb2c89d1361251fba24df8cbeb77cea93d1d77cc7bb6512c217c52a6b4eb7f20ef7b6ad874347b8e58df8c46df8fdfbc79fdd7efbeff6ef4e6cdf8d5471556c2a5bd94c59462f38e603343536e0d9e34c1013599363e2853603b01c6c2cad95d860e7fde6fa04b07636cc810b54c6545a5bccf94cf54d61e4858a461a53d378c07ccd6cb31c7dfe2aae19fb3ded28e42426d36d5beee4686f1cbf14062ca8fa494345cca318b91afcfca64d596c97a6a6612ff3a1ea7b386d3d1e979bae9042562b3f52bea7a58dea2714d093c80c15e6b5ecebbe94cf84a17ad8bca2db76b30c1b37a998e198b2ca2ddf7670edea1094cf2b68e6197fdd25e9da03eb9308c0f46a794ae3507e37872f4be439adeb72385f25e2fcdf1d80f64dbfc418e27f043e7a4a8c02cc36a021717750606d9c9a6309bb4db1cce0c81fd4f2d3770c7705ec25935e03c1bbb1ecf9a20a50438452a36b98df08329e521f2660ab8363a3c478e3791f17ee391fd1fc7e321f2274726e8bfcac30dec7eaac9247f3ac54c67a2b0a650811ae137950e9408c2d2670d250ff2fc64244b68c2f8e3b81bb29c1c4ddc0fade0723c7117725c5ba9c778dc37b8a396b11efe4d1191d609cb49a67d8615a5b20755e932fbaa1e942f9cde844c9760825e687082303609533b43f29fda993cc4545d533b4b99a725888ddd50d658d5ffd5aafeffacea997c44632047fda74d9b595da5a43439c13fe968d8f080f4db4d82a7de73c60a200d66c8f219e98932220f91b2c85b5e798af6c4c8120a5bc2974fd75776bdb1060c02ef6053a902e8b7fff217df2e3921ecb4341d5dbe51978bd9e17544d19fff344c4170fb03c8440c1be57c1a6ceaaa85f6f2e4dad4a144ad6ca3bc8712fb663b76e559177f10cd7cc389c83e36a34e4658979a6c52736f4143dde76b04434d334ed611c65375c9addcb5e9d6f47e2d491b94ec9bceaae3e49b84b983a5f601cac160403a4b67cd54f7ad6a168b0a946b87042bceba3be325541020432f7873c25b2bea964f9b0596e34aeafd1404d22c8bfcc606bdd8e74f5a1152f689d14222f7866c19af0b2f2d35dcd6af3c5c473fb49ca690004b63461f3ae841b7a0e7b0a163990713103993dc13d97bec111976884c26ce8eb66b6654b3e130b4fce1f898c5d48f428cfc5d59dea5927a74c3fa52a52d5279340fc4f715e02f4aea2a446044803f8234bcd39cdb728f040ba6bc5ae9aac4ec80e1f0368d46d706e37d7577f70cebbd682bec2b206c025888ef42707abe0d4009523fe104ed7f5b784f18079174ef5600e16dff8728bcff9cfccce1ccb7473651e7c696909ed827e10a54793c763f97101ae7fc4ffbcf2a8d8394a012c1f9879d59a86fad437e13f9953c7cb0cbdcf1662acb2d4fb0f9fc706b1ec57fd53c1a6fcdc76d15f4a6827cc5dfaf75c86ff9afa05c98833ac7ecf498c20165f21e11ee31522a8f6b13c03da82a3d2491971c4ed6dd6a4f1d678f983c7857dc1bbbaba05cc2196a58cb68a437822dbad14b9d36655b83df265bb56ef7eadd70f20d72171e44717efa3dffda1b4f6ed090a12cded37e6fe5575de3b52695eef97f17059e9e18fd2de2835d8aa6c7bc7af5ea5576a5b6cb55c8be98556288b226920c65e4bcadf7b79e8810c7a297b4be7cfa801af0b2c6076d20bbb1a8155ed6bab2d5766d1a3df7b25e0a01ea58cc187c47eacae7f8768692b0386393ff040000ffff0ad2b781fa130000") + mewn.AddAsset(".", "../../runtime/assets/wails.js", "1f8b08000000000000ff94587f8f1bb711fd2a2ba255481f8f91dc14a977c318cee582a838df053ebbfd4315026a7724d1b722b75cea1441e2772f667feb7e142d60d82b72480ee7bd7933f468b533a9d7d650c38e8fca45208f216907234f1d3bea1585b95b30077ee74c84df02fe28acf365824bacc42179d4b1e3793c9af266323e8690348b0c2e4a559e53dbaee596f7df9e712b72399af463c18bad34dc8b5402f72293bdab1cb863472f2c7eb2d3e96ef915522f32586903bf395b80f387caec0866b705a79639c4a3095f838f5d60817be1e4f0ea6467ead51919497f28c0aea2fbc37669f3f1b8fe57787bef9d36ebcf6a3d1ebf76e2735b7e7c54f90e62f2d166bb1c4860fcb5c5e4f7dfa16cccda65a349edae3fbb7e05ca740ce33135d253c318ffdb185a844ca257f43b9c25b63a8ac8f64e663cc63fa23fa95f84583ad938973a501ea8d9e539c3edbc70d4bde6bae3248395dae59e3c8d787d0b13187f5b39545671e9836cd8ca3a5ad128d22632cc8b8c3a6e79775d60c78e44b00862a94d56f9c52d632dbf1cc6c8c8e76c7e72dbf79d45bfab687c0ff10b931d83d12fe044110e8c031e679f40d21836212a9cf5162f2936aabcdb9b36587516e002dca39084704fbd28e584053a3fe3b8475e961061cc524f12c4005883d331240d2675c4c8cfb0dcad097f7e875de86c6666655f32c97b937f2a6710a117ac56bdd5b573d6bd6493f536bf28aff2976ccac01ae1682e61eb359693bb02cc974f372fad3a8433ab5f3466c973b365b3b996f3452f64aa0d68133c0426361cb158aaf461f673ec79a10eb955590c21399345bda27b6d32bb177ba5f372e974b686f7cf87c41e96a54d1fc08b1290a32c6e8ce00f0fcea85c68f3681f801ac6b5c8c1acfde6c7499700202709fcd04e247071c1f41c16d4b040ff7e7f772beadcd1ab03758c85ee6e694d3f45496ed7841f7378843c367c0b65a9d610431818eff046292559cd163398ca9b295d916438b36a66f62d378693593309352586536533b5aa996058c07bee797156641e5b6cda9cdbe5f948faf1b8f9389da89713c60deca3df9cddea1268878fe3b6065527993d6a692ec825b9d85316f61b9d032de67a510bd88f138676a92cc17fd65bb03b4f07f4b1b4e23425572acf236f2372612e48e4f516b2c8eebc883ec1bf7750fa68f6731c910bcd3081598207c8a3af37fc55992c8738e50e500462cb1d94367f84d885c4bb0382849c23fc8832a6cdfa566d918899f22a7e02322a846621553edd5481b4a6b439882ad0c88a21aeeb330d7aa4a466a6201795d4747607dca9b15a53f293b3fb129ce8f26e08dff275db3afb0c0b7bd9703c7587c2dba1be62b48d44d4be68e3fff2f68373ea40a79d669f2d146bf09f94c9ecf61f58319039f3c9e225497e37997c3f7df7eeed5fbffbfebbc9bb77d3371f95df0857ada52c54c9bfeda43932b4e2d6e859f91c511369537a65522c44c098df38bb8fd0e1cf87023a3a18637d84a8452a4a735596912a2315b51b1216a8dfe8921bc63db2f572caf1b7b86ac4e5ac2ab54d945045911fea3a6618bf9c8e24527e22a5a4fe524e59087c739626776d9a6ce66621f1afd369be68aa013abdad6e9ae08c2876e586ba0196d778b8a2041ec1609536aff36ebe1065aed3d645e5d6bb2d185fb27a984e190b7526df9f39f8804720c9db3c867df44b7b7582f6e4c2303e9af494ae2d47d3d03b7ad5214dafda664495a55e9bd36918c85e35a709fcd0393954cf8a815e7673735824ed3287dd8667ff53b1f6dc31ecb4b0cbf5d80987ae3b604d902a02f4910a0db7117e30993c06def40f33a3fd4b656b16181f961439fc713a1d037fb66505fd5779bc85fd4fb598c4cffb9ff942a4d6a4ca5323ca22d79e124158f55943c9bd3cdf19c512daea34edaa939393c4fdd04e5c4e137721a7f529f50300d78d1ea8656c807f9344a475c27212e932c28c52d1a3ca75167d558faa4c9d2e7ca433305eaf343841184bfcdc2e50fce776218fa1caaeb95d84baba83286c415973aafeafa7eaffef54bd904f640c4bf3e051d432abcb948a263dfc4927c3867b94dfae87ec6bcf992a8034c890f50bb3bd6404ee036581b7baf21cedc4c80c529bc1974fb32bbb2dac0183c03b28729502fdf65fe5c5b76b4e08eb87e693cb77ea72b538be0d38f5e73f8dab20b8c31164250c857225b62c4dd6427b7932337528d12a2a5459428675b3eda9e2a88b3f88a617e144441f9bb62422aca3264b6aeddd515fd7f91a415fcb8c93758471579d712b8b966e6ded97a40d4af44d77aae3e49b0a73076b5d7ac846a311694f3a2fa67a782ad6dc1c946b9b042bceaa3be319e4e021422f78b3c37b2bea924f9b0116e34855fb2908945916f8adf57a75889f952294ec5ed17c25ee8dd8325e275e35d468db30f3701cfda8da5dcc5c86d0e9217430802ea3e7b0a1635109c62372a6724f44d7582322ac1091ac343bd8ae9851cdc663dfea87e35316aa7ae443e01fb2ecbe4aa92737ac2f95d9b44a8fe669799d03fea2a4ce42044678f8c34bc33bcba5cd0e28b060b2ab8dce3364078cc7d7556b343318efabfbfb1754efd5b3fc2107c212c044fce0bdd3cb9d074a50fa092778feb7695912c64154b6f71b00ff7ef843a465f9b9f2338633df9e9c8936b73683ea71de4f6e4065a753f7730dbe71aefce9f05955ed20256844b0ff616727d4b7d63e9e61a867bf5ddd20ad0db8b308e8baf8637fc86fe5f1c6ae63c79bde2db6bc02b78c8f77e6094a77cda3f4ce7cdce55e1739c477fc7aab7d7ccd7f05e5fc12d439b2fd7b0adb98e41e7930d0ad2a8966c6837b5479f55045f572d87f77a30373ec5042e5c187f4c1d87d0ed91ae2270fb1111e3268d4b2ae4153fda26867f0db449bd6ed812a184ebe4185c38d28c6e8f7f8eba08999e14186b27075f6e8e3b75d79b6a64af0f3ff8ef2bc7a880c97881bbb164d257af3e6cd9be84aedd61b1f7d319b4a47b25a6e229c23e7c57fb8b4974b6c9e5eb3faf2e9062de0758b1b6d20bab568e55fb7bab2f96e6b1a3bf7ba5d1502b4b12cf06b7c19eabc8cf1f90c196161c192ff040000ffff8bf286145a140000") + mewn.AddAsset(".", "../../runtime/assets/console.js", "1f8b08000000000000ffb4586d6be3381e7f3f30dfe18f8f5ddb746aa73b576e499ac06e18d8dc75b7850e771ca51c8aa5389aca9291e4b6b9a5dffd906c27b22dbbbd1763088995dffff94952b4ab78a6a9e010c5f0e7c70f1f3f00003c538ec573f28c285399e04a30024bf8f375d1029e90044cb6557efa178bac2a08d7492609d2e40b23e62d0a307d0ae2c5896c4f1026f2ff206844dc54fa1d44ad82471cc2f8cb13e1fa9a2a4d389151f8480e55197e0226f27f90437cb4c9b527a11896105807d8f560e101297d6024d909aeefe87f8d0f828b9fcb9709e833c57a6f71b3d90f13b83da1f9de981b7cbe9cc215e8e5b777424ba1a88df312821d7d217802cbc8ce729c4d1ab345d9632e45c5f15a3061221ac87c8ba29f2e2f3fb59f59f2733cc542484ce45751c212c28bf205946014c396a1ec311c27cb5a791638c11f5355327430502e38098eb1ae93702a2a1d84130fc7271d88236acbc449ab34ede24a8431e5796d73f07984db13919a6688fdc2686e4356508c19f1621b8ed74dd02ec6343cc5ebcd5035749473227ffbfafbb52100b85225e260992dc356c37364549c43ad60b8827f999a8175d317567045795969a078196682531eb61ceae0cf9b989be8db702ec0c6630e97b31fc2d5556ac9571dd98dc5e7264fe77059be2c20aba412725e0aca35918b1004cf18cd1e97a1a79725192348362a4671b85a9bf7abd4c858355fa75c39f51f4f29a1ad12acd2c7c80cc0dee41aa04e09862a2d4661bac91a27c469ea51703c2306d8add05a14bd6a1fa2c66a7d36fbd47e2ee25172f144e48e89e77f1b429549c1d828b650370dfacebc1b8af3429d1bbfeca90d7bcd608b64e0efdda82c09c7eb3d6538aa3339f6b5081776d2e2086d07c856e04307eb3289bb56244ce4d1781f8a5b758f43b79e4111b1b3179aa7197a94bbf32e27ba1976bf1e36386a6aa9956f1eba838824cf7b9aed61b9849ffe063ffe0824517bbad366d0b922cca3459e33d25681e5e7b27b1de57cf1d9706e2cfc2755746baa68c0bf36a328906d38967ff2845845122d6911b9b25a210d3c6184e77a0f2b980db8f6bd1dac2080b356503c046b79f0f1300f31ea204d36a6c5b4c2fb7a595f408674b6875ea07c3a1129858c485210a5504ebcdcbc16b5de31091ff4a85e07617975f63ac76cea87c4d555125d493e3924fba3eb7520c09732fdccedcfdc6e1abd21df52c430364ce1ad31dffcea55c5d0c24118eb00ec4456a9c853054357b4b9f3e5a59444292a78448e3f9dad74eb9612e9fd1dc94d012b58c2fd4392099e21ed5025aa6454476112c6fdba76a9ef670fc69266b08503535c6c5dfd51ec2d6b5ba0959484eb9bed37929961513375a4ef8484c820292c61b6000a575d0975ad2e809e9d795b8003866587f49e3ef87a80abd1bd83b756571c931de5047b0bb149f21d628a8c97908d77cfee71a9fe96e8b6a0bfdfddfc91282d29cfe9eed035203e9d2f1c05b5acc86891f9bb926baea7a5d9163d4cc9967ac25b3d3701618af8d086fb588f74fbd378ab1c6b91fe6a3b6e6fee88864a4155025280803507b99ed7f6423c6eb8169bdb75b7f119cfb87b4033bbdcf7e43fc395e4178c37b7ebf6cc38b064121d95526444a9cdedfaf7e110f03b5811fd951644543a720cf90417b399bf1b99af8ec98b411e0dd4885a87bbd2dd44f6ccacba82a522b861b2984cc30e1496604bc32efa98bf3b57822fe60b28b70228cf6173bb8686e3dc6e004627ee484fe8f54126f2e2a87570bfb95d3f8033bad433b58a76ec4bf4a1f4688e148130438c85f361153972cecca16a8d18ab0de8b22ed1810984932de566cffb072afa0dcd890e2a946fd7d08ddf6d8b7362e297899146be7d4b3d884ebcdedaa63509514b7509dfb727eab92a6a9c64d89d4110fbacdd4a821e17be783091bf231cd72287683c188c3c1166854f85ac1814ca947a98ec50c5f4b46e4b18321d194627aab83f61de3a09c3127ab7813d01e690d6b91318ec141d4d3adc263a4f9fa977f90c82e91b80706502728c2584ed697e2bd355b8f04aadcf91f54dcc60b9be573b76d5d7de41cff6a5ef6aa2bde49a4b8217e0b1166c47acd3f07b58edda9ca6f5c5adff38aa7e3d7c45b64145c15e172c88ef670f83cb89faac66fe8702c99cf25af5fdf122d3ac5d93ddf1fced256d1cd1a5756e3b4e53304dcd4cdd704da4d9b7b4613269dde5ab89d241bc78b5b376e6487f93bc194d4294aa66f0b9cbc0f84c65929613f7d6610d08e3059c04dba544c9cc94d85eeb52cdd334c3fc9b4a32262abc6348922413458abea19794d1ad4a77549a73d139a39aa417c95f93596729f9a6fea23492faa6249ce0a5d980068eccf1db8e5a1babdfc70faf71142ffe170000ffffba2edbba33180000") mewn.AddAsset(".", "../../runtime/assets/wails.css", "1f8b08000000000000ff7cb8c70ef6c07225b617a077b85e8d216ac49cae30b09973cedcf163ce39fae58dff9721ef868b4677559f53a7ba16ac6ef0dffef1affff28f7f78f358fe23dff77f54db3cfea3398e65ff2708d6ed7efc47dd1ecdf9fb8f7c1ec1ec570ed9de67209dd36591915081c2288c570899e104f62b91b2c46828afb0bf9c4636bdff389a6ceaf7ffe35fffe5dfc07ffd977ffd17f0dffe9bbc9aa763ff8f7a9eeba1fccbbe2f65de8ee504baf36f3ee6ff6b2f87323fda79fa8f2a1bdbe1fd5fff65ff270a41ff8e41d0bfe310f4ef2404fd37e17ddffff197743ddb6d2b87bfa4c73c0f3b7897bf3f9eff599753b965c7bcfde38f9cfffbafadcaf2f21fffcf1fc1ffdff24fac7ffee37ffc57b4fff19fffedd98f7728fff98f69dec66cf8ffcd77d9d6cdf1cf7fa010f4d7b86ff93fcf6df83f8becc8fe992dcbd0e6d99f2cc0ffda3d57d57fe64db6ede5f1bfcea3fa9fd47ffeb2bd24b07f2f205a726b8665fe7c927733acf1777a5437c338ccffe663257770cd3f93f5eff2fe33e6a91707a850086e90300c230b7f8cc31f1e2b89a5264c5c98b5833f5b873f43b1310ce3e0d31cdbcf230770c8310ca3be7f40fe1f90f6a29eb56210edeb9fc230cc46fd71fdc54b5c6dae6f93207093330cc3c17f13b0ff28216a8b6f6bb62b26a76618c6c0feb8843f789613fc59bb91f44e11886118a8ff63dcff841a43ffe0802945c4ef0f1f7ffc81327f400cf7373f76fac9c3f827933f7cbeb8338cf252e1263099d40c49e4308cb8ffd567fcd1c7272682dde45f9fc33011faf7d0fe92aa0c75b03f78fec52ec630ecef8f08669aff50af5334443ef25c0922308c88fd2906fbfed157d4bf9b47ac5f24627ff4c574fddf7c0aa3284c569c49040f0cc356c0df4afcc9cf962cfff58098bd72d4611849fe7b08d41fd409a6911e01b9ac0e7ff812f2afe83fa564e7aab6e50246d3481d1986edffd69749fe1e702ed231f437eadfd2321f8fb4dfdfd2f302c50ae75fa369638a89634883da48307309cb32586583a505f380d686dcb2641a476043967167a66198b9ea853ad501eaae7c6d573183b19ebe55a000f56ec9b355e9ab1a82b09d10bdb8ec95298cd4ab705284586967af86f0fb3807d4f2cb48ba708310c00eb524e842d34dd1bbc13b4a6b4bc062a953a7fbf993126fb05e48d91e6c9c44486c3b2e44129f10567aa58b1d893f30368113588beaacecf99fdce42e43d382cc557f10f3acfa7d65ac7ab2fa5bb4138b34dd753488f1608ccba4063985e88e8643e194d8a27db76897213397e7b0d0e46b6a070a661d5a3553753484eb27e998939e815a0612535d0fb58573eb45ec82dec3c6d900a16d21c1ebfba9aac2640d88c6b66d81687582b46d95544a51930f6b9978ee8b1a20951597657380b063f76f571d2350a02831a7834702606c5ae1c3b6a99633dd9a033f18a00ec8a20e8f47f1ad89ab8810dd6d7fd03411369586c9021c5ed1d7831ea8b499dbf96d71b631439af7089538433840ebec2705756c073340b7f5cf79b01ed72fcc43cc312c36738417ae953d49403ad0c5fb4627c4ce74f96885b62348ed6c73d6308b5564a602a2665ed72bddf902d121517fd32f1c89a634d6c21dcdb21ee4c275c1d028e22d46cb0785a5eda1d1e52a91803d159e7624aeb651964e44ba56ac9af13ee61a5984d2bedad3c762df5878ec5c8c44b8f6dc4f984b4ad8aa03356601fa5e6c36cc38206897cc9c842aabd6f10e356c8e8200ab160f94dd53b8660401c5a34ef59fde5d529c9ce496da87eb45dd4d3bc3c11c740b1225ea1ccef20bcda1eed47049ae024c38353680fbf87eaaf539c99030d8cc56262b655771e7af08afd88071f218265c98b0212669b714c14da7a17504323f4aec6ef9d864a9181833eb9963650cd2e1e19951e05a44af9d6d01d6ce38f5aa3236bd562b3f3024371f6a72ab341e8ad3cd28f1ed7dde0f56767d8d755fac2ceb8430c2cff56624c737289d56df9176b9a3416abad1a8fe8e9014fec9d6447ad4090936d235d139c43602d859968335fff4774e1a6d272f3f0f8fbb685367295874f545528f5d68706b0ce0d969a4e27327a274f86cee1c4f7fba7781431a6d91dc5fda572d7a7592164891933cb7c5d273da2efb9859d402c807ef3a7c922b4bc02963d14f7b82ee88b2bdd0c8b05d64e7844f1441a8e2b6d65e305739368eec14cf0cad25b9f3373fd0ab31e3858e913fa6fadd72eaf0d1c2e8512d3905c23df50e712e60e46aea21e7c6f003634b3dd3516c1b3385d9ac14876a1b1bb355b6de2216fa7b9e58fbcf3192cc3262cf9823cbd8a92fd46448acd828407a1a3a41d428e3bda05da4963b8f714ff6b17033d15d14c8c96e4abed0c2b0918301deefd1a8d88edc0464c52d082f916c6618626e3cb3071849620c96a879023d8a57ed121e613d446da379ce4d12a884239b585d322e47b4a62fda93b03e088bf5cc8ec009603a98e26c9ea6ce59b9df81d1197c5bf973326f8f57fba3a0a1b90a612c44622f212f7c45b3ac4b3f722fa001d46b7a00c70f4ea6ac01980e20a5622f8b634190116c17c32d9f41d77544203e881f6b59c7c118dc453105c94dd8c95f994ba55cb20a68c3c27ce60b41b2be48dd00ea98c0998c884179d31d832983239167ca5f0b733ac0550f0154074cc820165517d28e1396f4c02f2b15beacd6e8d1e065b260b2a96eb220dd925c6ce43d90114563e5ca08b0625a8046e4cfa7124852533bcee070ab64bdbb9a1cc9c4361dc19d8c914383e48e12a5514bee9cd2918e0f931d4444c101b3eeed3eb4ac290e3e633097430278ef2b27bfdca669327369d8a2f7099587ddc70e1778b10f7af3297f01f3c4d09c08b69102a7632f6352474ba4f82df03c63234944923c621ff199e148931b1353820f28826a7d524a1f5bf1a507781a23c440fd8340dae5ef54ae19804c14767ca153f73b2d979e7a1ae1691d06cf5fae59e4891753569bd5fe55505f9668e65cbddcd51242913c7ac9d8dd10a86e6fb5dc7132a1e9159208faa54c2185df328ca134127664c45ea5acf18e8d3cce2fa7707346bec8319bb2307348fbe98bc98ef6b38a5e165c23eaff023c1c89edc742dd3edeb309ee3239e1600d5631691e3406cdd47932293d164e0f721d4d110f129feb34514c49a7c06f3bd59b3c712ccbbdcac82abade12a2004cf204fe34eb6793c9a564b6179d88ac24353a2c6ef6751f7ded572d87086f237d82f2e58903ef80d0baba649c20cdd7fd183d8d6d0f7cedfd18b4777ad7c2ef2ec91c1bfe749a32e25756bdd773460354085585f7796141881b94567fdb96ad6f319f021117f67d7e5a7a79259777f8d74bc03198a0698efb7e420242b47b19b555e8820c5598ad609d37930155c5dd97e021f157504c0c39be3dc9fce17d9baacddf7b421ed6680c78e25f971a8c607323e2eb7e65eba6fecb2d38b7d8c10a06ea8e474de2c16e4e3fcd082bfa31e8faef045bc157e3674b8fbb4f970d56f86132ec730368084caa04c6b2dea0e420a71e24d1b05d64ac35b67fac5328d4f700092a015594f2e5f47946fb58c5f388af629f38f9baa3272428a7241f6f1a69774aecb74afac71969d748c6f3f14cda6cb557e02fab765bd83ff0aa252f9c52b8d0a309d11335d6439f94e06e9d136e67e4f52b1d8e92c27325f796b12d22d52879918da371dca41035ba9985d70ff7a6945aa236a6370ef8e035c2de4baffc488295bbb74aeca51980be3d1cb0cf1a9757e3d481a731802de974159c46d3af8adab05882dff9b63c9ced3e3cf9361504917ce6feecc9f2ac9c0c299db3653403f2639a7e590755a1754d038de619b1d1b34aae278248d39b6695fab3dd19d6a0337e61387dd16e90d01b5fe8e58d29d64aed08bb590cd922f783662e717db1226c3f6395e3ee57ee5643a17d125768a116788de66b3a1e375451154c75f1549eeda56d5a15393361ffb06ab79c4daa35f833d669ee17ee7c4e11794ed224497f64e208e9b442063d4ab8b4311eda17073c5ceee3402459a6c770afc8240998ca0d7d9b6e8101db59e22013cc775af07d37034968d8c4903785ec05241abb16c034a1e6ee079313adbb33ce7bdf7821bf9b5647a1faca8e2ffac357b3187cdb2211eb91ca64e59380ffe2cf6e544f270ed9ae6af641455aced129d2229d09104d577529a18814ddacbb2c3317c731ac882938bd9a023697d98676bbcf77e4799e6fe2594acdd25c24cb4dc6d393dd48323e7c70d6526204f3c8087ead057e0ef96bb31dd41a9e7240cac7bc5ccae15dde0dea5cd734acfd53b1697df225f8e8db3206f38d6236d4e4c3b8cb12841d93880f92881d12492a9e68336e839979424af54feb0d5fb80d85b959fea9317bae6e8d4d78c459ebab3bc18b3c152602a3a24ec05a486523346e67363adb64f3f68936f6640646e1859bc923e6cefef4fb09c2d689943109db4b6e9d3825a3f746a2e33a734fb5ee94f5ad398f53f4862fdfc6e13ca0941be9fad4d69e422e26ea4ee0b25e2f5a4e30b07e2056773037f12899f3a2af134ded2008f0bea32d21c226375b0b610ed48ac6d4b3c7f06144a9214529a1012ab7dd8104484de00d823af85d00063624b0cbea83e5d5c4d77785c9e543ee95ce3f7732cbba43ed64030074b2c152e1152ac34a66cb48e5a32a062616cd9a31752289438214356ee92356c61d4c3381d024aee81ab1a07adeb048618f974e28aa5110867e08f30174fc5cb8b0518a775eb31360e3cbef43d790fd177d07c942f9943e456ca2b9edbff425c314052a3c335b9c03e9fcdd1aed4ca85d72daadf0b49944cfc431bdfb877b4f72c53f7c7fb2195ee9f2444816c088e440c8f444c9a123719c069e510b68eb2587e0d4f6078f16d284f8f137271eab640647ea5b1ecd5978e28747f5f27ee91bf9e6f061dc5875c63f9a5ea09f89e68fcc6f1a65f9cd0ce497a42d271a853319a10b8163771eeae061f5460054d648993729d76e201ab0c0188ca911dafaf72dc421d81fc3640c9b3392c2a40e3b3252ce640ebb32d2cefc18f6633481296ff663e49c29191667e4f9cf9a62648ca919ae67b480c91db662c480291c56605de1effd320e25d21f0e56302193bf2df631ebda2ae660c747e799ce867526014ee036e54f11779ac54435b74505568638d665d06c7bc67ace5c65bc9346841acae9b046e8ccadd514c8face2fa788d4802eadcf1694882e3b00f2be37f482dd21040c70e5f8190c4df81b8121c6a11872343e236d2c3000623abb5ceec01f2b6305f4efed6d2980c83a5ca105245d90592500bc2beadb9383f77dda7408aeec1bd6ca7e7970f2e43399e7bedbc0ac8758a4dc86e625cba99c36917ae0964338b2e9bb1eb9d0efe58d47c65fdf6502e438587503604e0e2954083c9cd7974d4046b57dc1d6f1ef24560b31f48ffcc3905d2cf6cd9e13c558bf449011c38c4ae72ef99a1a4553435563de79574692f5123856f26566c6f1e253c1d56580a0f69eed51bdeeea9a2d909e458e6f8d417cd2066df5307f1155dc5793ca86885ecfa05b57a734c79c08914226edc87081cbb9438c37cd665fde2de1a24e7e1017d456fc74285070ba7f2282430d6408f39d1871f20220f4f7bed84a86db64b5908afe88655d4d65f9aaa3fc36526670ace428934d28e9f78117e0cd326173ef694ab5c50a2661a21b386ff1da6a27257ec4abd216b887f37f3dc9390c0b8214c3a35df6c5905cb17e485f7cae15a78796cffe7ad9ef3c464760b5771776cf1942214856457419b7e7089aed355fad57ae9e11ab661dfd1bef88d5c59a711d9d9b573a892f1638fc49a06a0bfd26f41b0902304914040990fc50f53bb1d100cabc04c805875f0b27974fe6e9fc9c05dfe2cc78639513e2865dd44d80d76689484d2b4924d983b090920cd5beb11f5ff4f0942b827d83aabd8da20fa6304e5a706c6bb739ac04567c1d9a07a8f5ab8703fc7113e1e98bcc8e5fbdd99cba63dbc0843f336c388a0a853d8802bdf1d7d33b9e890ec3b9ffc46c55e97186db9cdbc2380db820f127605f70d8d315fe0c1e5b417ef9950d4ee6a31ecefb0bf6a976178b5778a2bf05ed23c4ca4b25b41291e9561ace900907220a03ce274cfaea3d13b973e59ab0d5bd8b35a16d3c5d78864970f6c05195799855d61772d93a5c455708adf0b0d8667fc7aa28812b8097e3f3742040750313e921d523dea48c5fadb7d76c5bd4426641293eaf915e4733058dd7e86db1f1ed97d6fb72708e3017d61ca8ba66a2a349b73018d6d8081ed64dbc90914e145ee25bf6d9a912ee9b4c51f8e296379cbbeab69e5bb5716290f6ad41e3ba755aa2873fac6dbb94c943525bd415ff666ed60604ce6ba6898b66a6062f922335f09d586b3372ac9fea34fb981c7dea3e1141a71fc4e53ccfd369a7ca5c47ab020002a21f0a1f0fd9ebba012300c043aafe78d7956ca8b4400c03c2cbad82f7c12ddf5af7677fc2e1703a824a13c77b2e5623023784532f584edc04d6a47ccd2425e60bad81f5348e0f40f832b958ec055ba1545da66e3ff969f81687b5771c64da22157dda0428a0d26febe6d10d4f6d0e6e750c754cf54a680c727895e8555b811aa6edbfd686882d9d035a470e1d989202edaa1f88d3725cb00039d9144f66bd4fa0743a48d6404cb2f7db7ead20370b73481784bad6f1b45fe66d8609527c2fcbbc0d3bcdde645b2b6b8083e4a5c0450234e884a73953843982f78a9b0389d8efd8754e330897f88ab0399f1c3cf663c42ca2ad25855ea29f0207ab147b72ba205e98c3ce160bccc05f8f72e40677308f3449374e619ad613c48cd5e35a5dad896b7c265d196b3b066613629ee74bd302f5a1bf74dc31d820919910628e790fa30ffe58b666ef2644953912374f6f0170543d487ba18dfbf55f5b5c95be0355827264df8718f629095a115ed269707200c810c628d99d34490793dbced7773cc8476de64a8dc7089e40e4c7ed11800a5ca3eb4d1a137a58f0435ddb41c2a785fe0c70063ae9a62843abda6f993af96969d08f7f1445a717a060ad7b80587c2c7bec251ee05131f78bdbf1b2b7288082f912898d514251a09329ea1f91aaa3fa0a85ad8522a01de2ec1ebd6e3ac1a40d7f9d2d664359dcea20d13b3e87a45dc79e48864813239446daf662910ed3e7893ab74acba91ef4a79dfb89fb6a5d658f834b224aa1fba7cbd3f92e3876f2c9e9a26bb40ee96463f0eb49e96ab236c0e5a58c7e5dbfd9779fbea71621a608ec577513d87f508e7cc494db931ff87e6948324a17911d517d41baf9a5de1848ed0e0a489fbe2ecd2177faf60087dc1e61be57f6f7a43e14d93abe411e14ee589a17f9b9b7a700cb93a88da0b11d300253ba5c1460c9c8d82e85d49d1547e410be7932504f92bb626393bc88195b3061c57d65cc695e7d408bc4584e322a47e40841137a7bd88b1deb8967e01c6e74bbef492275726e55ba4ef1ba72af3b49bf17c99c40d8936eb1aa015918da5ba1c5f24788fd3d5ebc690ed3050abe8f469592ceb800496c54e912d26b1818893ac78da9ac1ea45ace5b5e1f6e36da14b1936a3e6baef7742a828db8180476bac761827171a03f5cf84ea4978f6bdaba9ad0d10f68880ab87e97f19adb0f25a8f3fb49e1f56973b7c771ac1fa722f3cb222d090efc1277fa321d80b1a01a51fda0ba21a3f0a50765109489f522afa7280f7db0795065fb89d26d0445ba5316057429ed28291bf0b896a3352d04667ee3a5ab722b2c80f6d3948cb9073b455359fd35eee2b127db80503b6496901b4c2948a9a620d12321138ef168962764996371d436f425190a6e71852c72f9b0eda1bbfdd6b9974b84c295b7c3d009f5b08b72bb4f977c7161c03195dd9fa5ebdbe69f524a7d60c27f15f05aef747cce0e5335b55608d05e57665b108f5e081120a772832e005e35d87d794cfcd0e276022a75d7a6da49a482f52b60688eea2f0ffc71c3e6383302265f2bf2450daaa35cacd0d5f805527fdbcbe2b8815fdd62909ec5bff6844076b1dd15fab65d21233183a2dfc94f5c07b317dd62b9fbcea9cb50aac005aa32f33c7908c97609fe1891fd990fb371ea3160065de381cda1030d9a5c38a139c73be6f14f2884266c43b0e12f63fbb5f3c1ca84b9abd92604b8c0730bc8348e9cced0ed39bda2778003a90b4ba55082101e62998b7cda2bba52cf615db1cc37800e2befa68a128a83ace81f0940f4db2fb370581572fed7c2fb7134319a3b537eb8af62ef4112cc231c2d12b7abf5acf9bdce893c8779811b48f5c836beae2581bd8ee974788a7423895e8d3972af74fac9cd82e51f43276fa0fa58ba3100ea833ffd0a1a4cecc639f6097dfa327532394d45c614e7dd1f099199fe7a6af924fb783f96e1246d3d439f729769af98011767e65890968345e34b774b3aca44dbd3a30ecf200da038601707101d9845527131de964b45e8ec6ea01004062342ba82293149149a9176f92f9f26900f3af7e42bb4ae10ff2d4e062939dbc590677d2b8409dd4f0e0ec50cb91f249ab2ea0a341901cbd661e391c6c0712257a6c219b6e8f81c8a203b24d52d611c755fa6a630dc95cefc3dbabe4c2aa75577f98d1c1f4ef474df898d0b081566197ba28ad02ce82ac0f169629c53683aa7e6fa9c74d7b1f42028a3ad5c58c30c15a97ce64ef5d05807aeee05e671fcd435a03f5210165eefe9229491d69bdd11d80d00624f83d42ea1109a80fb19bafb89ba5b71e06033b78cdf1687656700bd82075f4222d4e3590c47006edf29346956ae15008eb6c29dd43434909663c7757de89a4d63ede23cb3d04e212b328623cc73ed52af6832deb00a891ef3385bc44ddcd98b8d4e653fa5a54a3d895c0ecc422ca805e7889226eaeedd3e9f460d6e2d474f8ebd6151a225060edf866f807402fc13bc1c9a34924b21ac8dfde6bc23775e47d8a96bbc665291f16b4ed5826df474c3ae020df5b6fa6ca843ad55839354cf192513eed48dc00933b87004749f4b77c77eea8fefcfad0ecf77b83036fe46e8dc2ffb1f78c2c122f196aa871fea83002e4f13e4602c2511a043de22a86ca5cee9ae0808a578b519c780ceb232a1f830de7a16f6670c9122392fd1a4fe3a43909bbb1d83043db1c89d7343a6ca0894cd0f42a09faaffecef23176167dd1b100937839b1cdef3402d41ac73ac656a30cac165a174aac6a2f16bad35b81a7e2433ab5cd424ecc3572f7ac2ba7fe38fe7276e70d9bf0f78139bd4cecc888ee28240685bdb7594b59da2aec8cbf223026d52ba6b7aeacf589fe88d82ac05560820ab6844f313b0b4aaa97e19a0943323c25d38c96d7e839c928d5f802fca5b042588e58ab2e2f0a39359b911f6973a42c6bdc31a0945bb9313af0452cf93044f0a13b746045faca99e7978d54fe8d6e86ba5573c5e6222ad8f2d717882d5645ccdbb2345706b5d7ee23abdd0d80d613a747570b8bcb00fa6b259d69fc85970698ca3901b7d8d6b70316ba5cf6489414ed839b16935923e86b47e8374b5b7bee6e9c1b3a72b3529b849df934aca54a181f06bcff0e664a4274900c43713ed3285eecebcfdbe2604b47f3fb14c1aff1710ce0d4788aa14fe813a2aa8a13b275e451675c492b76b1ca4d161b0de5a24c13b7b8d6f28112717ddd5d86662f22dbfcd63f93bc7773ba25f51e7f154f117779c642e82820885e3463e943a5edd07820c3e81b739773e42e1e1510f9d4fbd416c16392692247c1db137a362ad5bead9d703f5e16779e23b733e74b3c17214402154ee88874178768f0e1fc5f3bc52e9ddb7302143bb7185597d609fc3581c7444e13770530989ab0545e9c2a7a79bddec31e6b57c0b90a635771a8b23033f51d04afd43a4e68950f44ad0d067fa3c0ac1f4de5105e97ea2475f912df73d728eb2fd7b3837eefd4beb2d212503f0c2cfe5842b9cce802aa484ab1b81900210101510b4b4d24b0379900bd8e26733b6f67bdd3a98b85546a824711899afd344e01b591bab7bac0e552e3982285b0c0ccf19a72ef5e3a19ab6520e4b30614c8fb67bc31b0929377cb49abb245e02c8e00dfbe2dd61789c85f944b7195e82597bd99e273baceab95284824c7ad18fd21931999b1a78ed4aedd6c24c7779f8f215813258d1bcf0db2d0fdfc7d9c7f420e4248317be75480bd77b0982042a252f16f84502a59066bcb06330afc7f5c5ec4bc48084de74f833baed1b73749b5058b548f1a46118b52fb287c6887c7305d79f08599795a269470e536b8b9aa01ca7eac63050118b3575c9f28aec24887e4d7d533f3c477380e9ee07db35b06129a6ba81b8fd5eb7359b1f9b4253de7fa1101699726902878eadeb3ea4c3cf3e2262d6daffead67f18f333c452508d947fddfece927cd20e4b8e154c9f08508a9ad820545b148dc23afdc4775bec904419044eadd8acd454b441f98ad2983e01c8291bdda4e0ddd7786cf0c4b2b52ad79b12a51396fd1ed26f8ea64b8f4368df3602ef9589a60100a9ca8c82f70349f82b9917fd9c170a5ba96c86d13b37387f353b63c679c011c56e352b69d6e8277b22316faac5f8a62fa9da1e61d3f493f433f99a1c8d21fae22854a6bfd0fc3d4c659bb18a908362a56c3d8b719bcbbc298ac6500e5e91fe324ec27269aca55564bfabbe7fb72a996eb2f5cd3b78313bccae118ce7c3f102b35a439b2660acbbdd73805d478424e60ef558cc1ecdd809efe3edba8427d3f6113afe3a9263912e047512f044fe2d1f1ca9a7038d7b86becd7e053960576da9213f83dbd420a06d3e98916890700e2a201e7c30e73c024a479d2ea24a4b2d2fb91b637bda4d5a25efb1187fb678eee0497c826ff14f0eb61d146bcd87169fc7eede6a7a11df47591c838d4f083125421a65c2bdbebc7c860756d878d945cce4ec6fbb38b64a8d6c6839bd31a7b87aaf9d1bd5a87e9da9a9630a824544a3535642233886b14d7e4eb36e3efa2cd26669ef4d0511b38ba7b1861416df6c5b44ab2f737eae96701214018e76d1c14f6136458f54ef941041fa2269f49324146e93892e8922c48139ee3e7ab72edb97cf331e5172811f92bae866cad213584fa22c411833c381abc6ac814c19eab753d44e892c5d8eda9334a88dd5857aca2e39af6d6b719e42ef2899b1562eddd1d6d624bfd4f5cd496e6bef44ce0c4fe2ef0a477a82a693d6f15e5d4e4b3b7bb9d456e850c822c84ce754e350af7a86df41dd4b88e8f1202e0e7990667a0d2599ebad05d4ccc658150735e4cee28419d225ea26adfa6653c50661f8f7a5ae09dcbcc521fa46c86f8847574cbef1790e3057febabb447e2f593060ea4abd4452a8e1da6fa282b95b29bb917b4b24da7ed313c8179f801ba216fee727c1011fe9004a7055e3bbc5e38266fc89b83dbdfa1be1eeaa0a8172e39f831803cfd97cc86e86957a0ab50fd9b444d3480ef907188c132ef6d4e9a324d2774706c6934e7fb8c6c5d5047f125a3461290d9067fbe2f57d7aa53051bc7b136ff9c55efcdc0adfa85eadfa0542f907b4e392178f7543a435a4d5b39574484025436e3541dd44a9be1aade55ab63164467cd28ee12fd7e05ee1ad5594f9453313283ff60413d5ceed8dc177a2facefc2ab9860030dba686629da04e3ba3fde6f7d957dc187e261c7bea6fddd181c9b167f261c97764d5b353c7443a5f741e20ac17dd77f11cd19c1eb3b4ba375c03569c210d71d1c932670a31dbddfa4d857f1d904db3e7481e675646bf07acdbd6cf35440f54d7a2818455ec8e5793601b1b026ad72ccf65d3c3871f958600e56583675a74407a592373f6e2cf59f1f400f7258c0f3f1870aab8740bb5bd18df400c2b1b393c103c4fbdbb32464dfd71b1880967c5c848cacf68cf9c93d261d66d946edb5c2ee6643f4fd00361ff42cc71541bda6f0cf8198956b3ccccc5d25747ac74bf176fb18253cdb5ba3868c289da1abc1b61f59367a022ebd0d541c437759c057f682fa44842d55a31e91927c977bc3068d360ed9b0fbea09f5f17d86a2944ace185d85b54c6946f9525d607bfe400fc355d65a49bee2fcece3bb72afb22c34163328cdc28f7dddd5b9ff0639b575c48a21b42b729791bdf705b15576ed45ba1303acab5ad9d59d3bafa6bb13eead5b68c0fcb7eeb64b6c35486bef484741c74abd63b7fd0f8d2871123e3a02259468385ee0d64e02350e91fbd9be72a1608efac0b497a8a4a525ab53f4a8cd3528a2d4402e5adeb20f30697f4784dfa223c1864a725d2fe5c7083364bdf7d367988f82f000df9ea0eac5785491bad4e9e09932cc45d99a8aba5d2f2c6bf14501b9d812ee7a39d7c34e5aeae4671f97e203615020be86c97103a8dfcec9379309cf35f8fa1f1d4628ea730b29dcde704e60add5084ae0736d3d98d462c64f8a1fbaa64dcb9db5f973f01e3fe71f2d91165c8308df824a21462e10eb3e5f2ad2c4d9bf04e6bb22c1ac65c17293b8676148d29cfde9702d83d7595ae6249a0cae0575a6ccf148194694f7d9c9e136d7c617ac9945a6cf6f980313874e6471f3673fad10f267fd4da2163f59b846f3f37a623dabe1309abc547a83817543017cbb60b1b218841e75fcd91d2a6163822ea03fd204e19c41569ae02b960023a504816ff99d05bcfa2a137da1de84bff2d40e62c823751dc65c7b9010a24c241ae4695b102d3d5411745624e31405d291bf815ad52fe596e82b33c3681b0601bf9945da9adb487e70a62fc926020a1b705a97dcd1b2d7ac727b590a4910b748c9a1249da5f2393da0abb5e0d115a0f9e818d03e24015a31792a17ab150206eceab24c936d8ed5f7b5541b1c05ac276b9eb54b9ea0403f38bd9d8c0cbc0605de5ad5ff16435fd4ee954364119b5dd86e65ad7fb72809335640612062cbd8f20c1e663e5d61255bbf6e4b1b0eb549a10ef16db3ae6702d6deaa16be4ea9a28a36261fdd868a86a1a2e84c36aa13f3571a6a84e1701891ecd1c5acee50516d15a714f84e99edb881d4f40f186fa56f1dff6aab5aa6f8c4fc9b20690d5b3c65f46f78b4edbde0165206bf8031a2f6abd45d557e0c02678b48043790c9f648802437905da341182a5da73c496c372ac3be7d4cacb4dd9989de9bc0b8e9bea4c9cc00e4c248c83f34e4be25417f312b99f59bda81fdaa64075423f8a946f6b87c2fa233473bafdf2d79645843f7532880fb9a27006c00ce35fa6414881a3d391ffcbbad0a3d317390613af35b92bb4b7f92ccf3195bcee4dc5183ef215a833c91c31575fbf3868c73f3c203f7e24fee144d56d20e0c676dc060d4b16eb84ded442c6875ea23d28f59dfb0bd156125549288c548d90e9cac8f7051bd04dfdc810fd8dcb89befe54a8fef25b2f6ae497d72f16617d504883b317cb520e0cbb9aa8561890748669d06afd5069a3b80a674ce830e526a013ffbc288daf78bfbd127253fdede8aa02f98f1065b0de93bc5a4fc5ed86a10eec9bcfac448ac9fe12d1a4fe42b5338dc3eaf84b791d96d907d87c08247cf4afa325bf96f6e9dc35fd481dd1d6b14133ee9ca0d184fe4162a89801e6ee83c2731df79eb39b3f89930345d7e8f4f4f96a7bf52209d2f3af183b77f89960755e878ce20440d72090c4bf5ed37fc7af28d1aa45e869ab4874f6b163b0a28d66df62d554edb57b3c9ee85a35796045de812b88f73508d8b1cf0b5607ed894256597e1c509b35d8162b0f08796b84ca9b2515730bbfda92d924f3b6a40df14d1f3c779de26eede9474165cc53c9ab3af0828a04c840006ac49e748948874dcd1f91c2b47b04f98057fea64158e8b2c04dcd56178163f7ce0bdc510240381465dde43c61001246787e9db184a767c176078b677e42fd8c40a4e7568f06446f215cec38fe09860ef00b34b063f621883a9a999f7523beefa664da9205e2f5106529dbf6e4e94ba1b686f4f24b3b3396249a4ad020fecb2fdbfe4509bc4e5095fb383191d7d2a338064d4583a93d12cbee3883d5365827c9093fb18fab89b736f91ae967231f0347d50dce809c2fd9771eb7ada189e5f7f8e44d634e57230c19e131be2ee8afbee75f262949eac014344810d6f87731d4af32d7be668d6f3d2c393b231c8c3693f41ea7ea7ceeb6146ef7a9cdc7124e199ae9cebacb598387fffb5af5ede0a269b7b1b7306bc5b44d3aec4e5245d3937ec02e8cf5560ba690989e6760a79e8871c1d0ef4161801364a081e5fb2a937304c0643e74d8d5a620081c17c91ac0ba0f3945cb10057a78c2660a49b19f9f75f1cecff5c70b43bb8a8f54d3b1151abbc91aedd429d0495a513f1aa3f10d480a3a1062c6d393ddfb9e24ab45a9307b4df48f6cabfabbb862555bbe107f4ddd6bd4c0ec286450a101a7021bd87e85d434e8b763488fd056e7299ce70d72ef56a51bde7b00d4294dfda81c473ba80decf940f6f692c5e9944f1dcd4b79a262d1efd8318b9c7957be46a91c44cd291ef481a605b89b3b036a37c8a497ccb8e8d8be6a21e4e63466e6d398e1707a338447e3cd508771b3bd9c408eba34fea5998f49e3f226417a6b15eaa2234b8428794a209592211b149d475daa54292f3ce521384683b41e253ca2d2c486a2d346c944a848854c68c4a9505558fe9ccebbbd7e2c2489c946a1289442c7646dde8105ac7c6353367893a44db336f1ecd25405d115846184ec7dd0bc5c171c5da8e4a1e001fcc9796cce10a74d92b731f88983d864efe41ca1672c447bbacafcebb837df507d673649481fb1fe523fc41916ff8d3114926c956d5878f1b13f2fe07d0677c5cf3ee91332b18b5dfce559627bfd3de361b6acabebc607cb9d5dbac28c4a45627d9f79a931ef52063f6c93b26eb7ea88cadf043cabe33cc86ad960adea9cbdb6e1d0598d5fbf889289b5aedbe57780a0503e648fa040e11b0a45f9e64202efbacf8ca02cab97f2c1f664b2a55962555924b070923f7c575a27d9868cec08c05d9268027e44f53a44aabe74eb537a9ddfb4a6dc852150a293cca22353950b49d83b60b1e133f2f8ded0c380750c5fdd2d769d1036a8c67777f1c193ffa8e53890fed300923d4d83db91980ff61952e7a68a91eb8cd28a9c0f3d4ff439c72e66896c1b20c62846459415bb337603b8a11289b3cae87aa3e968a4eb398872e2728a4828863e8cb0d31126610b3ed503445c61239ee48aa2892634b49f949914ebcec092af771ab71a4b6160669f552451b47e447e1c53b9ce161db6c4d0f3e14e4bee6b8e3811b1f19ee39cbef25b5b95abba494419cfe8b6b07d65a5f557a5488ce8b4de213578270d17f83d4a9bd371d55d0f97f7158207575cf772505b4a037c18ce3ff336acf86ec72941d7d7c4d1d5d721de61148cade87446f27cc864e4631af2eafa8835563df0468ce54e2e90bee110fe0eb8a2a8c32f8bdbaf98b90ae8327e2498d84fd9cc9fd8121762b5faec3181f79cf4b0bf7bf37b509338a4ad7a88dd77286997497180732a82661f7c287c34f787ecf79a7fed79d031705bcc1e6f3f1389049b0ae6741b6bb12f79ca3e2f0e4a5ccb36ba3c4ba7fdf992771406a58b5c67c9c4a7f1d236bdb504c1ce9e6df1e72c8a44bf08a4b08052777098a20a74cd52f6c3e80a228bef868ae064ebe438433db28fcab256fb076cd7a1d2cd31ad3d1dfa0f6ec3e87e6f66f0dbc524453986f601459027d9b395c9af3f816df8ca8d58d85ad47981129788f47c927d9114468393bbd3e4726ff7865063209b730038cd1addedd9efa39ca79644a96d607ea11463ba7e460baaf0b28ed3046a701816d74876a9356409650204bd93f751507be5d1349d5f8464bc15fd80f4f311feefa8a156f746f3b9e55c7d47f30a9a8ea3f5449a8a38f91c8499515fd23e8b681a9c77d35af36dc7e66129a1452d2bdf00034462b758ce71c00c75eb1b7b477b3046a8b2745dfc80d29a2ccfb4e3afa64103b9646721ab9cba44fe049b20baa1a5523590761f54879b25c54010e4b5c5aafaeee67b07936f9bb07676f307e5fbc884e7e75fcab69bf2f6d180f821446ee9a7235ee63a2a2860d0dbdfccaa00759eccb8e45e12fa44fea6a8eb3ddf5e343e9894e537a2de80f95a6743fcd049c73cefd2d8fd2392026cc97159fd08cb76a27037aa1a491ba7fdb7a006325c10fc965a31c2b003dac8ad9adf0fc4c1b89026500987eb91e22237b6cc302136d236b6ab92b782525a9238351e54258dfcb509f0561090fac181bc1032862beec68392629b678e9a18a725b2058d1abfb49ad147b94f98f97109943269a35d6e8d3275e05147fd23da508786c871368a1f7e30a5806c028f25c7d8c8114b94113fe0c48fcb865d917f1a6042e0ac92b74a5f19d3b9a4b9ca7ce04706a304bc02bc4c003022badc960bda6d788f8b9575a913efb30565bd787011e8596ab216fb11ce1df434e9689db6e4ddda13e79fdd685b7f96b8bfc8530848a951177e2bf6cd93e085b534fd30c50b4aa57ba5e31d08631cde106d6557336c1844172ef3c4982e41baf51af0650e9665850a45519d815c9cd2ad6bfe828256dee126d03d20add0402e09267d312a459ef9b1e9f1ce273f51d17a2b9931a7edd72accacc68a467fd5b45ef5d7c5b4fc6019da85277211510e2e71c63130a96f3f65909af64af179757b735f0e426c97ba0d19c2b295abb6a30938b75b2b6bb65e60b48447ac7dd417890c0df0818616109c83cf42928956ea868d5b732029407ecc0d2bf75362969b7ea353da8ac8178c1cf1c87c425a3636865270d4695f6580583225fc56407cc8a85c04af94b076a03e18579b18535259a94787266a17cb24917d5343ea6b44227ee04a0701caefded292c5295a02abad476fe54a2fc88cea5daef32ad6daf877d6b955c8be6559021ad45a62590da25b0d3872f2bf4d023496c22bf064c6991048672d2fae4850354f3b55e2622cc94682921546e9ba74639a8bb6a91ee154ae04de48657b870afbfdec9b2df1a9a3dfb6322dd9f51d13df253da42f626a234564848de6a3241b558cd5b03e5aaa1a037414a16162900ea59e253643e627c2a4688effc1c951c7c8afde568b404b9f19ebe3e4208fe897da90adc47a3039409ab0538fc1f6cab03e98692bcc3ad7a3b5e80324e546872c1356dbcc7ebd4462ba19e918a087b69e01431cdeb6d29bb644ff10d5863fa91abb7cafe43b36eaf3ab2f926017cfc85e700dc593ba18109df1152add5ac21641e942b79243fd04403088da2fe0b48050b842728f19ae98741bd7aee24edcad6ec0f92a306984242253a6aa305713b29239e76faa0a901bca7be068cd9df35831b51ab83354ef17433097a45fecf4a13fa44609cf64447503d93b9c1c795988aa27341b16c1ee1f5e508ea84e76acda25bd5d70441d23ba659889a03a3948166d21317b9ed5cf3a0bcfc4f1d2bd79bab2a60be173203fdeacaa703495e9d9e9b3f25e32f3f4958f75fb4164823bdcb504968f430628a35c94514f4d14b8751630f674158830d9c40cb5115e2fcf2d9189b1ffb5310fcca344a4004d5b7dfca11832a3bc0e28056283bfbb1190e3e064cf45ce0ae649efdb8fba8e5ea5da99edb83f12ff2ab97a7ad259aac6c13c5f14f155a7c225f22e3ea0a4f538fccc83de382040a1abd4df81e7fbf19ba923154e9d32ebff97a6bbd6d9965b02307c4014b895c883bb4387bb3b47bff37ed97fbb9255cf3dc5e48a465d012b4df2efd753c79402c12fdad118042cc286974bb22c3beea99d84f14fc3402bac7d06a02a83453b01fa748ae041656384382bad82a0e5f596b97ed8f42095620af51bbc3fdc373ceb3b0ad08849690b0f21eaa7632e75f7d35685aaa4dc78f23cd7f4cdefa84f58c56419cf4e4dc861af03983aac59642a323d00d52632c695e8f28f79e8e89bcadf2f24cbf9d58f5651b11a2d3d7356564b77e4abc5851e50c796a299d88d321a5bbcbc9482a5c6971e92e64e9dbf6cd8f1e26ffec49359f9df8556c3fb9445aa079ea13c18425b3704d21fa4744a0f60d5cc62df864e8572dd39b1960850187f595c1b44d4811db09d88752358e992d42d50036d87e4dc82da34ab6accdeead722b0167facd9c782c64b46ba756d13fb678e225dddefbfdf71c6a62b7e6e2b1290580b7812c9d3aa0711fa3c6909ea2fe13017b528f1efb60f30a377b1a96309d474690af20bfbdd967d43d61923b2f8cde8c7aedd110e5cac982337fe7e2831036e90068cd026b3bd48e13caa0cc235f62f97a1feaa7e2c9cecf42040a1fe7a9fb4e07837b751007ddd03a258227b3a5ed30280acd7f552fde4d12f4c6551aea39fada70b23eb6cfcee50d23b996c30558787742e2704bfd5e0866b903214417a9a7f81b5664d5e9a2a986585aae52c2515982604baaa044d4f8a634d6bcb4f172df7ecd2bb87fd24ec4fd319928200c7e7948469992c8f3fdff7959b28132cd14e97ca74e785229431aaaeae71c16d0b86b95e9c79102669014dd2d2e181401025fae4bcf7e479941a15bbb267368c6bd71485d3faa977f2a136b822cd32ce10c9d8848c460d7966d063eac40daf53293caed460c3bdd21438d55438afa0e83e272b5626e32f582f88faf5dd7bb728dffc307883a844466dbc82ec18d104eff309e4a26766cb0d6606b747a834146b8fe3e5bfe39a0e59db87622d60093f80ee4a45fa2eabcf3ba1959a3ce8015a09579a90db41199e66853bfdc57a8acc6d5fdafdbdb5e07ab2f16d17bc12f3cfab079bff5868c5faf211f1667209fb3e475e6ac79d431768a2a9a81e6be317c4654186e0c61fc66e18315c78918871114bf038ed2afbd3400e54df6006612f845257210975a713d3043417cce069cf1b5823eade81c079751336929f4d79194c6efc244e8e04e658ac786468177364106154b56715a7e7a5c1dbc2585d875791b4b2e9736197834b5e948105b65fdb295c1b159c78db9018888afeb5bad1695c5ab4194a1688176527780160a95d48b497f367893dd267380648e5421e51065d1e701297656d64600103e459127afb88d2d369976e94c3639f8f4706e487c4674f1afa63baf61628bd3b04caf870f060277a638fe7ec4a31fccdcdcdf385642bbe00f3a3d3085b0e087a3d08364a87549cd5f80ac61cdbfa7ee46f439bc70ced49bf8dcd026fa82b19578aa1af9f9627872f61de7444292f42bfa700c0ce244192dc8402d92cda35b1082ac9e22369c9bca25304b771cc0198224c78c7a9d262d15fc47d891a619bc98888f8f57bde29d9ba1ba37a4e4670de3a739ea8ed0a86da9efd9ee75a9a7e483a3bbee73fac6d2290a7a77ae22984eabe46d3b18b4468c32cd405a9e11741aba57b2785b1ba3b08748e0900587e1200b8ffd803ff4512da9e2f191436688916cacda422726262cee440349b1b1cb65f3611cd09dcbd43e76c057e90ec10b6900cd6bb4c0830ca4630346e6d261352906bdf0bc538c4237bb1045c8c0cd4ab56eca358fb562d4632574e80f1a1f1b9e124d28077ecff30675ff8d7eb27f791b6d49502adf0a51c7fe5777cf51dd5339de70ae7a034639d9fc5b5ed6ef4ed1a8fed3bdf72c7e4d339e65bd87cceb714b8caf14d24a82c3ce1e6a39872527fbfdeb62e3526040eb0a13216ebd0515c17b110a7ddcbb4706ad9a801082b2dd0eaf527daa22ffac5cd1b9c14ec79215846a85447051102cff4941f892312ded60f39853c3e00ee856c24f8f4bf170111b231ad9f4ac902851ac86e42b0c1d024c4eaba48cbe98e8fcbee7946cc3d7e6270254ca4fb1ecda6129767071ca6b066748dfc2a78b969cca9a464085f88a71fe5fe69c91ec51fa0f46a44aeb1b633bbec686c93a4e002bff0a90870bc249bab36933832c6fa5949cb45c15ca82f347dcd70a1a37783bb094f38c6c21ff9951e786c5db2615904239ed17e7d510963b50f737f596bf7568109d0118c9c5557a400fa19372d761ba690513f7af50afea26b114ea1a21461fc6dd9b69d3079b9762be99fdb1f0cf5d96a7dcf77dbc352106fa84f6c1cf031641fc6736d2d4bb37929178d10e5fab1646297a38e04f0d490b6cc817b9c1c5785e996fe509cd58dbee46008f2cafae38d1121fbee8bef6b18a643d93d7c9238e55968b6595e9eaf08d51eb8a1357ce87db3d0a3f06ed08a03b929587a1fd5b4d0aac3ee63cab2e381e8f4f4bc0f20ae732f96a7caa93ce49c842e300d8f617374228706e9aaeb8c0f41e233f4c0842648f9420b0400d3fc0c40872c1f1d0000bc1a5494004a70b25e3ca379f32858f3a4d9d349f4ae34e03c92e24b764ee4eb36a52bee28de31c3955f080219c552144ff5b8e8699077127e817bb84e6b71f0be50f0691c56dd67aa2eb07c1c5d9a2eada9311d79d402274eb875174239d4ea295352162dac54835067bd6eae99ac0c348664c40ec57ceff5047809e3e7c6603aa6cf66a0174d6d540024f5d47a301a7b35ec8b105281a6788cf59de6fe3bcf736690d37491980547e45cd5ceae9af037aeddad5eb404ffb4cb0854ef098e86c79d7700cc937ef929c1b4610406b6e155ba16589b278fca7627862dfc97d7624908cabddf4a3da9281ee3b11ff99bd9eaf8023bbd20ee6406be007824fd105bb04ce5dbcf3dae95bdcdbfeded62c25356792cb9367b2399c098aa00c6cd2d424078f4511574177d3e02df3499655e209b830b1cf0973f92cdec6b5b7cfa440f9e223fbf01011de384125d42f72ed66590c6a2e4dd4dabd2661d864af4fad41c84b687a6a8c3cc78caa591e85bafe7352f1e5fa1d21c3d0b43b2dc1e412c9d861edcf56bdae455f0bbe6003b8eb8639aeab485a673b0720a1fdc4df2800843dc86d694b42a8443cf68805542714195fab315698428b285c6b0ec9791d2912c88986f78a505d028de95f7c481ef92fda270eb31845bd6f29aa674c71e7d8f9d5c46185fbeaa6317ef249fda73c422fc1c022a63bb4556c9a4d521b1dd2a0ef7a8517bcf3582e1170a48b56d14531c308845d7ccc3472c5e939dd0445752a5aad3ae39b645e8403dc309cd19dc63c9fac3f7d87a938b96882e0a48608519c2dcb122b63254d2b9828a112b88ec12d0bec7359239510cbb1a7be98fd24aa42dabad90eeab87eae936d4a279b72a0160bf4fa3dc12d2b8715869ea658c4d1d4dafa10d8c0cdb89e5dae0bdd3e947ec43ee403d691d652583b2ab8211721057c0a64dbd83c669410dd1db618f53a27c5c951c87e8753527d2674f614293f93568ba7c7b057f646a6f1fe9a67b71a0d05dec229587968492495182c502ee469798bc33d3ab1963251c9554ae8088a51e73d67b8c12c48112a261455fa9c4802545531d1f212f8d03e9805099594af546dc55fc0ad553d10a713d599ec9386c291db383b20873af2d6c23dbaa4c66a003e4bf29a76e9e57d687dd78836e7c5b5323eeaa401c341f67dc63d23869796e22cb1c2272186cd07412e3cec7e603f51eb0640e0beefe717e0f70395ef024f2653a079a0d30e065003b2364b5479e999ee04fd10da380f0ca9270ed2ddcdd24b120e8df18ad46f1f690d3909ffc10d7a5983adb8bc3262f0ce9030eff60ae6733bd537831c798352b317d8c647596816170753d3c26edaa154f5d8b3256f9066509d2e573c500a8c32d7f63ad0910ae4d2c46a5996d09ad225bd504765dc530e55098c31824d0481105698481527e9c80522e31dd0c05b8e802c427b98b3d9ae2ae0384b6a91e1e899c06daf99ad67ce5a0e8bdec6746f471b109f2b01cccc77c22725bccb99f0c42ed0f34d6a96ccc5d138b58350d5ef9d531f8d83e33a57b15f8aafd88f9d14c6c2ec8d676a973293d8842ce9db4b7cc03dda62d7d3c12bc8822a62d5ce11f1fb5b096c600856d01a4bc8fd87c39dca073e4402a3fc1073423c83b2587730abbb044bd0c9c89fe2950920e018f52bd49556f96681b66918786a6bc719f26253527bef5d6b60400e83d51b14e26d560f70a26850e04a48f8e7d96940c0e160802ea5e68a1b049c433bd9e18d974eb66a38112fa0d1bb9caaaac0f61910d4b04395ee4588382b9545a5654c1b542a65ea3e2e02567db292f16f606403d8febb6aba606ef36b19a11ed14ce68d289f36919ae117c83aa49d3cb24287f318b1a137352dc9bf8b10d2fcdcd9ddd7298fac6dd70f81bbc4d287de6e39560b4b1ed558ae1c6368b13e5472b7c4fd044ff760254dee92d59e9440854acb45416b9013dce4e18227ced3b362fd89c192e81bc18c0eaa88a6b62eaa0f5f88f6c2dcaab6c339e72af92cafea7c3d92ff400a33aa22ec55ea4a4377aa6123b3ba2a68d29094e0ce397af3992122ae26fad5ea1548fa4152ca913ac5867cbe6fcdd9897b10151e4de15836e43b13c9a5ab55591400414e4bfc0c0f6fd9ba9218c92b49f7da15254da6c1fa7831af596ead80ba4f477ff5c4344f7377199a45f98fc958f567073fd7a036d4966f873acf16661795bc88c581233b57643679151b8df6300abf14e350d7b3233acfad6180692fefc1675e35c8822ab364f68dc212089a87c66c80ebef826b060384603ffcd79541b214aa3cd20308a06d7c679626b464bb333361fa6c7aa8bb1328b8587ac5172e58eec9b8126c8d35245a8c3715d54f9a8f951d9046239efddff9ec1dd957d5182adeba0f558e2c53111c6c816c6f0821d9622c843c56e9b8065b8caf3dcc46aab4a4405d19eff65c98bc76875aa5bb287e82618a3910e11409f2a010e1bf0f94b58597c6f8d81fcecd6d70e70b23a39107fa33b00ee41d487ad25aa69a6db13d6fed7fe4c17cce907a51abfdc9e631ec4cb3a6ebe7fc0397750922b848e5fe270137eabcc1273d6541ae3ef992e41d00cf918e654de21a2cc372fdd04019a9d6f683bf8594195e5a597517e444be1e80586911a4a1bc88f32b719cb477e35e41f58215e316d03e1950bbcf3347518c4e8c900cd154ebf04e1f54b84b3f04368bd5328fafd2a84d37300bbb547593304fd15bb2b8b3f028c7ef91545b0ab9720f789b93c91e82ffa06941f89947e8025047e9beb50b5387da304cfb77c9cdb286257b766cae1147513e82e4884a087cf0bc358877578782f149ff334c1d7b6507812fc9300fa52d9ab1a8d75ea86ccf3e34f52c1cd337125f16feff0347cb1f5f86863fa0cd7f4b84877b7716101dbe864efd2b0e16ea29c4b416039208c84db2622d3108c0e6be8fc85bcaa740780e3d2796c52ebddc6b57d136f510e557717be8b5c77eea8769415348ce9ed3a32b7ce4f3689d1965559fa8d31e9d25e4420cf689783d8bf227301b41f10b43314c1769ffad891f8416c4eb4602b728747558a928769916591c5f91e9a2064851965ca6ecec6a06e4570fe1e7b3460bbe9096ba4321413fd350f7bb0e3221c99abeb4901a4dfa33e1b11d68777f7a278b29598ca5be6858c2532e46b74c036606dcceed7f215e9fee030f5704ab4d3116a4c583b13c559b4b5a77f38074de31bb5bba19b47e7166b3b5b6e93fc02cae9bdbed197e92a3ba737672c4a627b1af264d64c76e48f7c25403704f485de2779d362d3b5e8f90d7b4aeaa779fa700c74949eaaad8ee19042cd23a891a2fd6b7c4249414c97005c17ecfcc6f8baa48cb3c180ac0b364595cc654d98c217eb16f180254db868a9174788e49face4c920eef6cfb2c27782dd00e915be31b89582be8fb12b8238d565c16456f084ec0eb811d1daef71dd21d2cf90ee0711420c33fe39b884f86f3a9819ffab8cbcb926a97303b2aa3c658620b55cc48c896ccc06024a25889f0a1400becbcdc0e0462bbdb0227a96d53836327b76008b6a8d0bb99eb82a9a46f7362177d7aecc0445f5dd3a31659e987f7677f4ce82225272a8e6fbca640d4027ec919aa752a5edb0375793c1af9c3acb8b699c7c66f620bb0c628d472d1b6a9286f7a5fc422e2d518dab2f103cd3c778630a89a10dfe64568bf7814e8657036dd3900eaf62e60f8c22b2e14e01bc98edb23a838da72ec97eed2c71a2d39a1f23567063d86492607e5604cb65448a11f70bdb1d4134899a7036c4e5bf38d56a13293d1a83871400091474c29ccec5cec83b579458e51c5fcd1356661530675d5120ad9e8ae8759d9da096354b05273d4450d10f411077de44942e4c568584dad2e2bf16b72c1607a6c8adef9c0c877992c8f37ec04b53c59c1ebb61801e6c0e2034cfab21cab98f7879f419101980480a8a6709be8e0ddc2bc60276bef2003b7bbf72b8100b19d3a005032217baa9f2c28d04e7b0742bb19053abd3c991316109e99d16e191b144969c86c0d3ff225b0a799ae9a736327bc33abe2f47ec2b9b26740373403da7c8afbc46dd512630f6efa30bebc3a56e2115e5cc5090c7c74c9ae60f5eb97540f0419e5cf5b620c95efb5dd081fa46647d123c69dee7bc614cde5c142e572eaeccbcab7856563b9a574df49a50ee6b553b4986eff49a74409fb188d470e9d7956703dc1034c3e6d157624775214214c092fbd2b7d4fa14d11b715906072f227ecd84b0fbbfc05cf1e7246d985f7a70862e921ae96ee52cd5c0f2c329db92f73c750de3b5b392b8f047e49ec98745ae34c87f6b1067976cc8699bcc7c626f2795681cc5d9db9bb7011fecdf40b9819bb964ec3a188112d31977be67872b542c14fc0bd4f5c430cb60eeeba9c4ccb384af7ed30c142acc0994846debeda7498bddf51214dfbd8e9eaa111bbf844fba6f05d11ab88544814ea38eeb66ec43be159d1fb074ee6cc74527f14d3c79cd5c030638a6d7a08fa4d2d90b7cde59956fcc085d2b560dc8b88f9ed68e24d93c556c155a8d0485799924db2743c769f47ce3273fe9176c62bd38238f32fb5de13be307397916247b54da513fc73aea8b0253cc19ce69f3003d33be288761be66c4a3f799fd469592acc7b22552df82ab2e3ebe8c770ba25d3dbff5eab2ec4212229907789a19adfe172af5c1cf1d44570a3843300900c9d6e597ab6450cf6660a0bd7b37e3afd98550692bc13c00be357b92902c521495b0af9d65b8874fe0ab49be18c738ac8d2dcacd44a44d14904165346bb0bebe9c6ac9b5467b80abc7a0ecb575f7cdbb881516967100f181fe20a764a5d8c46eb2939f528af5d4b5d1570c2105ae12c715547474b8351988076a14241956c2674946452ee49cb8446d55f4ef0cac4b38077e7006645e59742d5445cc89a1858cc3e95cbf9e2b2a8a19f6f09d528460c7237826d6279ffec566c79bec1d39b7495351ed8a98ee402f0f339128057aa947b58ae173077755f9856d9d473e888f20c0b5f3ef6d0ab787b87ca983eee9a74f56e56bc1aa5a8f4e458e715d2303cbe47dc547f5654c6f73bb31f5cbbbe06c5ac58b275f941252a4064fdaa041afbb50027542cb39c986f66d3a6ec72326515136d78fa1768bb63694776699d2fdfea1cb90376202815239c038d9741465e1120deddd6c7b7bdbdde2c48b7dbf093f522629d6860181edb4f44710b64a074966689bd7009c74fd307098724b34366b705a1542d886c58e7ded54e48c68e021498be41a076cc00e9dc5d112c29e1ad3dc0891290f7c41e10bae5684211d0de82d091675456d51e9436d0d0fb1e21e1407c75a3796e57cafbcb0f93da0ad0c60aa0cd50c23122a6f3239913345c02049cd015e0a5867cab56a81b4ecac3f9a965917eba71f7243fb8db3176e8f48e55eec186ecc5f8888f7142d283d3937847cbe97190dab5f262aa95ffba5f6de3bf75425c404bcba41d71d0f6e087c8eef042b4abf9111023c8a094046d4a0ca86c128021a2b6d0ed88da21099488f556124222aa3369fe4020b92e6c454f853579bd03c217ddc4b4eca8c14e1daeaac784f62613e668534d0378b8e8324537ab882ae307e9bdad7b41cf4e6b60e5e7b9efdbc007db818cb2b4ee78ce05eb08c7b4816e27325891491c573c609fb0672e65630dd3adb0259ebbba684d91969ba763041470394fcde644db6a4484124b03484d4f1eb20684a40c0e0a4af548ddad303a3a2713ccfb64cbc17f753b818979203d5fac526adc739bdb157462d237b854e854c1a2dd0787ba70ec14efefd033dc827b54055e5549a00d9b15700fb391886bff3b798197b8dbde74b0896d15be0b8b757f4ab4c26ae2d79c72a13687cc229ec2a159342825c9cb7a7a4559420b041a6599832aaf80e4125a29da165d42c265b6ae68897886a77551eba2a96972ba662ce90abc6f0dd9f17b4acf5af7d2075f5b08c1d9cf607c39b9a7a633df2d6919e472edd5ba4a5cb62c366a107c0cff7f700de9438cd2311780363f2c4b5dc34169bdcb547719430cc1fb592a52dd388d006e007a95b78f6f8381550c437adc584043feaddae8052a73fe3de1f89ea22e70be07df1f9017d18ce9505f0386d2bc02135013ac72157c8b20289f220d78b5953e3596e00baaa370b88029b298ad2babb4c8a9e9220acbaa9e1a7ded4becaf643aec7358d2a1b5e9fca9462185c9ffce6bcd893ccf84093edd51e8774ce0c13d5446d8652fcebcaeb2fc57af807a3407dbda8955a5ea773729b7adc946b0db09ce6a9010855d139ebd6934325fb28435175acf86704d4436155005a934522536546ba7945b3f50b49897cb00e41ddb84769e690006cba32ef4b31ff6b71f685b2f35a709b3a132dd1377b429e9a89a8cf28c27755bf135f537cef6822907cfc3d2dc7e11988dc61c18501d07c96c6c06efcb8f1c8772e1a64eb4245eda4c076805b44486f0d3714cbf9098d99d30c628cfd61e3960c0a87d61d0943f1e42d64a1d6223f9bf5978238ba956f6f13f399444feb3b6196b8ba27ac7b9c52a7d2de549a845ad0a6eb41a5dd5b46b4cca0641fd89d434f4504377ce1c542f91ad73e13350621107078a4a783269555ae799725d2c3404c0482e923b64db48d75e3cc909342e8732cd073b34488ce8aefd26c4683ad841a89060d8e0bd5aadb0fd1b2dea77a405436c4746923f68f68392f5d99d26f0594c9ba04791eaec264c71b901edd14df11fd2a9307ba65971791b4e128a436b4ea7b7cc5b4dfa19f4f6f0f85d27a805b4a40422400a62ed2a05e559addd290f6a4f8015902ce37d8252068c1f496a4e4e65b27ef2bda203cbd7d6e7c72daeeaf990d55996efc4cd85ff9a8df04bcff8566badeb9dde80240ceee98d82f328eb1a9e84643d89f5cc1c2a824069532bbdf68c3ce5d46f3fc7ef143689c3e2699c570c4e7fea277b46f28c61d87c26602c0baa824531d8a49f7f3cd4f548144413441ee5f06a029a34b055a21168144ef99450f18003724305b348cbe8c0041dae4f11d218102684d730b78b4aad05092a5a244528f26f000a603a84a13199453ada843b3525c00dc75c0d5080448d60c86c1814851ea0764e580226b558cc3451ddf0ab720c07b27c2a0eb480bdf09874f447f60b2cedf4ba51a88e8aceb08c094087525644645d05a37814f4fd38340085a3ad634e1487d04f698c33211fa3857b20f461fcdf1739f0ebeb68535f2d09ac93a4682cd097115241de210755f7a209433cf4f2cbd172d216e3aea2daecee7016991fcc8039c79447e9b13cc11851b946070414c6f05611df8b351b768aed6cccf68b4b37773959d9c6979f7efde6a540ee54df8253f971e03c516876623a27df1bb64ebda4de8a7cc1c1a808a9079388df85ec9213d0fb350bdbe82bc7ae93fa27d64724b84a182458247e81a967782b4c12df98cfc6de0cdb5d070353fd546665990b628360c1d21201cd98b1d94d65f41af817735db52b145eaf307cbd1701a0149b5a97c3fe30adc2e9ed728e626b0a96978efd614434afab032369a8947200e3ad73db718c12a504aa9e769d46965687116b7474d88fed6eb24d9a83931594fe430aa63acdff73b235b7561693fc1c3180d5f575fdd0d104f72246463d12c593ded406be85162f6f327a97aefee524a1f5600ddf0880c787fda89361bbd42400b46b3449838a168bb6634d059b61cc80a18e4dab701df985df19925acdbc26ccc3342de47f1cf43bb0cc22709af02017d3770e8ee41374b3280d06cc6c884392203ddf46a9b80edf2ccb45b2b06bbf71072dbdd9ad92ed109b3b28db7328b921a324ea12ffaa2c35cc8f06a1a0deec098cae3ff20933672a2352da93e06ca3a3d9e2ada12b77714c198ec89031d1e0050b1d1e54a61824ab5cb0a962fdb6029fd0027ddf74c2f8930a8f89d841294866ea2b87ec74595f6817eea571a707120e588a7294dbd7eeef11dfcc4d2545f87a57568b6d256f4a239a8879db7e1b37968288b5aa134f2201774c4934adcef308658019daaba504ea70b52264353f240726a10fd8bae637d7a447b6eaa3046126d57d16307986bc7d4923de4858790aea7ec8c5584b47a7368a593f10251390cf60b62645ade46a8fd76fc0ee020c0540630cee1408743e5c40be265f9d9ddb83af290c0cb983518cdf489a1ad9cb878f8e8f8100f7c6a3e627420224bcb910da24c974adcb794461be5cee61e649617ea9d51044ae8f9f8d8e6c436111817addee751dc785ffd548de4fdb8698df3f1c7a4a160d5bf413e861cf1869db004d0aa7521cb5370948d570956edcb610ef3415b34253000db7aad8a2887213d356db87918fc555f52fce1a0af3c69d4bc533d26773af8d1427f6039c32d7b2c952ca4e78864c67c25ab941c3a6cfd48cf12f8316b1b7e4e0083e93939f3194f56ddd8d0e50301189dc19f97318ce9a9a4cb5d66b7f383b58fee3810183e5ab7d5b7f77737d83e8b758196db208879256df2ba9b176260053ad781603eb90adb81afecd0eb65a3f78da19234f66a84f921c72b9341cd7cb816098cbe9c70cc6a271d9da726c21a014fffd0c0ef4048dd2c1690bf28eb8c5c032a90b0c8a752e8f193aae015811abfb3f33540a6acf6f45013e0ea01bfad2a9c6ce66b05e0e904b61f0f687b4ee292948058ae6894c24244cc9524701e38b8ff40dbc6336550f9383d685934749430c16febe0372ca9f4c4d48488a514ba5eb2e7390582d623bbb1ad97b4ebae9366487d0f82a292f23f4f0820eaedd3ce64cf22525344ffbaf5d2a3655fb6997999bcd1936e1f085cd4859555e97a16571a5d9c1237ba13ed836ec0a859674b2355d16c1f4fca5450fae89d303da4b519a84b3580d0c784b947bc6e4b7457c014c63592c91e81c4f524b0c3098b994c324be9309ab7ec2adf8b8671e86ca81f20ba79356ad1837a7bc47cae7596f166a19ff5f4eef262cdd112a8950001aa6df07cd39be20404111745f4cbe96de692fd42050b8733c5095ccb9cb61701b5b9519ee6829cfe81f632ff7d4d937a86176fecf93a810b5152fadae72cb57d598f098c0ffea92065bb362dbd1673a2f77318fe54271332a3b14540335a38b013ebd79cf56c03815f41d8b48a75640535a457d9a730c9ecf6d75a4afd583ea237885de8792de0666f83da085fd6f3f443bc1b0dcebc5b8d8b9816431b08693dd47dcc706c1cf7eb59ecfb73d61e32d666b4dedd1858235795d3247114538334dfc7d8f5f1917b7661e88058bb913e974816f3d1eb19b0f08b850cfa15a505831d99c2e3c62ab308da3fcc336a188ef83c6940bce3d01adb1e7663bb53dc37854bf9efec329f37ee0476fc264f48d5d91f30114c2095e08444c59f09093a45644ce532f71748e2fea0ce258c6cb20704391e6a28050194d3698a389fd1bf629b0be25bca0d18a22fd17a8bc50f5c7a9c824ccd2e6d0eceeb53badf1c6e200352c69af591c33333a6f5b5d2b0d9406c7c2274e2ce1f42095bc624513986c908228edca7a294511bad346e125489f9230cfc47adff0e420eec237395ecbd78133176c55cd3ab9081b37fb97667590040f188f4e9563eba0663dcb67b9fd06162e159a1ca4dafee1041e9c54f127107fd8bc2d254d18d784b638632cf4476d68e38bc9a37f7bb1fe6172df39060970975db0e072befb6c583eb05a91b7bd26d0191f09dbd425ce9c5011fb4848c8ab9b578f8de37f4d5ce915909c9c9070b396236e30a187ebe4a1674468ca1cb027bbb1d319a29986ac43fd946826104019c9aeab213b45218e10cc59c3d9554575463b1217d20de3f59c356765519d3c77d2c11f56f486713d923fa741a1ff9865b7956aa6cb9063ebecf114dc3d42130f76d26e7c0e845d116f7c3bf5d4377eddb908bce4746704e94dfe365471b5eb6ba6bc2a61936514946f3ef37870e8d0d7cac74c7d2c0d7e76385ed1e656669b6622590086165bfb55f0890942c405b0f34a6c3ae9204d5ccbdbb6170752206d61ce65fbf7d45b29aea623ec06733c003a39826082ae118b6c6a8914f0593167b3bb4a2c3927b38dc450ecb5baa9318a2c4293c663b6c4a75385f9b98a36370ca9dcd885abb58ac9b2d49fc76cfd7cbee1da9671cdbe14864c7b7e0129faaa60d91d5cb55be197dd824283358670d20f50f3403033b4abd514789dcee11954b71d540db647979a707c96c2858af50594a197840a907b45b925dceb4d69d4e41445ef5bbf6044502d2d1f46708724299638c164ddc41c7036515e48e2a70d9e403d3fa85585e011cd6859bd91411e8196a84f235004debc9e625465b03a08e104a3651bb3151d142838718b59975c12624f63ef658d0551e9fd39b2d135bf2822879ed5b1731fd98ecce4d4abf66438fe4700469f151e254cce8f1d508054393d9fca5ae96a33f1b14c30cad440a85787e0693a62ff6c4f4e36308cb7d25d24e92bc8162e8ef629d03bd58ee57dad0b858f16cad6f7ddc11ebb2270ce887912813db184ef942f7f11cf2aed190ea6e7c67eb3dc5bba3ebaf741f2213c2b6746df214ffc246a6000dbb913f347ac0ef7d264103e9f656380d6a9548817bb71c49b4a111fff31a3ad54754ec9b1290a57b212ae6977bdf0cf5c78056b99702f6467a6506a887018086161a172ba0d89dcc43947fa4bda461ec11eed70e0a9fd63b3f0db6ed1ddc84663e7f13fb2d3253bc3f3283634c938d52cfe8185e0c4ba9ac85af62bf9a1e460872fc2a6ce203722ead3f3b4a2d42df1b4ffdaefbb31355de25929696698f746ac5b3d23e86dd3bf2796bcaf3aebe9c49331a5b219a34c5be3e71ae5cabdc9938d944a2019a5af473f249c3049f23e0df97dc3dbfe80f200293a4a1b0aa7ed197c4e62e24f3dc5ae7c26c35087baa3ddcf0dba2eb4a44ce500ba83703a3a4c38a5eb29a03df0214fd8e092be0ba753e00c3c06e5a2a10b4cc23fc9448fa3a91148c7442188c4509aaa52e713d4242b0176cfa0923c780840f6bf1276837a99814ac5de1873aecf49c647d985426b2cb8d4b70da2a2933d57342c36d33a6882d22ec4d1606ec5711dc9db28bafeb54cced740a150bc303566f8b982f2ec780ec315af68066b8d3da5772cb20d4c8999ee631916e3330c69aff49ed18ccda34b1dd13003fd6ec7b448c69935f7abdf7a4d2abb9b5e585b7cddb6c4ced939832b11f7ab4dd42ef75ea266b98ef9d1d49fb75f372be3b952345778029c00ef0025f771166d12580140d8fd54c6303c071e4f7ecc99c3e638d7e1b8e003c0abca1d7f1e4d3e3fd158f242e2151e5a138341d7441554a8d0d8b1d4bdbaf17c9208fe8c052c262879b8e878771cff1527f4403e5cb0126709f65257e5920512feccf0cb598250b56207fc5c85c8192482c6cb76de185c09a7b1c2a3dcfb4e0df83886ea7879c644e64d043718386064ddd71e06f7342ee0099c05374616a4d23e4bcdddeee4762deea70e17bc98b67bb9751c88f44b9d8c463dde7f161f3c849930cd561329d2a2e46c254334ef59252f76bc718e0e3fc3c71af5f99ce4baf4ac923520192db668e91dd1749e523e03493fb2037668568d44dce3ea0fea3b7fd0edbda155f6e1482f1818564d7a4e891c9ba63c5d193c0a3ab1d626f8900d943f9b1cd83349d8cac2be2b31259ab10051fd38a103bcaf901bcf2c4fa4f4c4fc448aa55e89ecc8c0ae44980f25792487e3d6c918c46029a2e2523dfbe51d2eb6ccc82071e0cc8f16a909fe90e122947927138086e9d71a17474de6d5b832a1df99dc02251790056986f918779a309dba9270b4560e34ed06609bbb39df905f910e1fa3f134a7dd6c8ef902b7a2af3e25a677ffc91bbc919197b4c8e62281b91027f9f734065d3b2df110eeae74578159840e447002050678c656db9cc1efa583381009de10c396f7e1ebf2c44bfcaa3de98a33145d20b793dbecf35d9349392bd2908938475db151c1e55ded0bf2784271d3ce4c12cbf3462a20762e9dad2b2963c35ce9a5a678576f03a0aa9293ee21bdc18321d49c27abfef23b2e6d5d16d596c9d42c02fa16de073b11e97f907ca82efade181a883a9b3805b03428eec6aa15232d9eda484170e3461ef94ba67ceff625e342a7f12327d0f49d297475011bd29de0d0aad36e61066faadfb017e20a2909b7edae0a30d2317e0acab47d054abbaeb7e2dcf81d7d1f3c6ad72a37bb6a58c7de44ccde79404c187c0a48ca5da0a5c96af7c3345be632401170473c56752b006d735af457aaff7fa479067636dbcf6075f372f229e6763624ddba88e7f5ce8a9cb281b3b31d94dc2d55e0a91c2a78d9a9700cf9ee2a2394122f0d9479bad3b6588fc81f5b9bb9ad25c0f809d1105aa4db87a680ddec2193b9078ae9dd252ecd705df9b7cd2ab13bd6bd1a2c90f44cccc10c55e4153465bc5516e168d4c2529e0b97993312db767e148e96e068f45d0616207c3d4bdc844fb582028132f1ebf90cc63f4c70582f21c4f191f3bdf5e69bf9bbb2371c514534c11c7cb1dfb0a029f77215af0c8c7764ef5b9d13da4d44895c1e9f5d3dba539a3de0e4326682f50d75150f8b60f35814fd10b7bb7fb326ee5caa5ed187444e79859009a43e12ea00fa06b4a47e2f65e384ab10a54e561f5b28665affebe730ee89a39a511e304881c53b35ff27b189a39ff56a183e3277109b909a6196a0ebbe2c9d38b093d8b1b66fadd046a65b897dc01861db8104ef0ac980801f1970d81b5c0c01f4dd6defb643b998c556e899fbf1457c7a1c55991d27b2e99fdee2089735f33017cc94861de59fa2a84007f7e3a6179c962b92395c4e3d92467fccbbdc806d5d038fa1f716d3fe171c3487226a73e4959981b46eb1109c33e2e63c70ca3b4c4baeed37c4ce02533cf0edd4312bf707ea9a881350e5b3b1c89b880d895ef40a2a07f9e4c3b427d77285ed43b05f7a1c2a0058c8950423e62ba0614e35cf00f079f0c429275b6b7679be6c93f9b4d24e122a24f91808e25d0b903cfe5a3f7e5f282b0c670076dc1808b4d0d2b6c613aac437f586c00886f40abaca5e3cfdefb88a2c02688ca4f68d90d2b2d2bf48e2a00601c505c78fd8b4147a17c6b0500d57f23782326571075c852baceabb41fb20d93fab61527cc3e1798913a1517029b5582ba00e001770fb3fcff3daa3e16d93a1e59f917f6a0a8d3178507ec34eb2ccb91a0afd5d20c8216c055b2b6d325673a6f6dd8afce308c9f417a5ab318321a7522f2b56a11e4308bec55696067d11b62fa49cdc933c6facc38da223075699628862b388ea447d6555520da78b35c37bbff25ac1332b713d6da82f5ee67c8b5c16d462cde63ee3c8a0f3e33acaa9cdc380ec4bdc6cf454959557f299b05726d83c0d162adca062227ac4e72205e59d27a9d3d770c7e17580225409338f8c1cca5310e08fd86c1a51f082e5a8ec01bc278852b0a2571e99940807f3d42fc1e986004cc7ba615af7b6b15270db6cbc7ce811a41489125bfd2d3034550f706c8173a977bbfb7776dd55d62d64e4765cf6285b83383c255f44b19eff844a196f772859acc8be9955fb1c0394dfaca16915aaeb992d6714f274b93cfb273a5c48ca5fb9d52e90445b66901a6b4f41371e9fdd2ab1457a3e9fda810b464c1f454a3f054c1ef42eb97e981d52e3a172f3a83dba7adfabeac3b97a4b0faa4285fabcfe3602e0eabba6161b73c51c304ecbf2f4abd24ed1b167bcd7df71395b9f00a186be76a5f1e735709f61972e2cbab3d0fca26e6922607a81bca563d82a4329cf398f602781aa09326ac19b25488b369552b47c2da7ffb616b8fe9f3df521385313481726da7889e729b0da91452c76be4edcbb699988d0e36968e2b29307a396a0dc5f8840a445388a58409387d195a70c336f5c15ab91d86eced19efa60ee8a95404091613c418e235f8c27039544f10bd66e00f0a374fc1065489bbabc32c883434417976b4157050fe19f057051453260f45841e270586d3539b993aca4dd830f145e805e22497f3cd5b0b6f99fffbbbb0c8c3a2f0c1f12b57fdca6a319727e114a8d07f983a7415f87852688813d6811ad888596a84790c279a280c32824f73000bbe2f212bc72184c39ac4bbf5846bee00cd76a527ada411b074bfdb7659e4740f3ce08f83493129389626e590977e3e5ff3243c21b4cdfce7c941b2c46b723c743cacfbfd4b8e1212bf781be901dd40a1a4c4c0d085b9f136a56fac37bc31e7ce1a4d8958536cd2dd87b8cec349ac9f875f0be4cc728b9344e425d9ada7903e2fca46794ad7e0ae754f66f10aa659268d1d51d795c28179a0f850bfe8f94a63c262b0bb5e9e9145a6eb39edb60356d17fed6d479c817112eb4132670f0b67f5cad428e18fc0ecab755ac59007ead7f99ee668850c2e4af703767b7c2b53a6b1f6aa4fcaa6dcdc913745c015aaefcf5ebbfbc74d06f9f0dbc3efd69ab4bd9f91c8152e293dda77e2cb664a9b4fc32b5fb241b517f4019375674de4abc2630f82a0fbfc5be3aaee2f5bc01133f5d6996ae74bf63040dcaa753e87b09b0512b2886937ac29ed04b05accb9d8f569f5b98721ec10ff0e496a06f31176875f661e79c80086980385a991431665348b652f100be8e1f4cf8284a79145c68e359ef575e169123181deade31fbdf41fd095c3844fb4490fa8b70f95267e84160ac3f7c635eddc4bf5753729495cb8bef643bcddccc063f5e8424420bf9664b6bd3afb0891413b9478b9f8f88ecac98865242a9f9ffb93d83d4fba6dcfc9af03f24cb9d54949f1c8d3427b97c1e4d16a8bf35cbcd1a67cf782b78a54047f18f9ab3a77ffcfff621873679c9a11fe8ff473ff9cf69a09198661194628febdfe8faef7d8d99867b2c4f603cc3dfcbb9e813c504edd3060e59cf528ed9473ce327cefc6fbf5a0bdb21614798a75aa18a4a2a805e52e2d0251f56b951565b4c014a6856227c688257aea1f6409f163b87a2b590ad74a84c1fd8c4f536caf96e50ba98d980718d55604bd794c8c0dca33b2cff56c6a7eadde9546411a0431e15628f0d438dc76985373c8701778f3f6172ae5a67dbe6036f6cb904abf5b6254ec87b6b9bd519a8fb0f608fb3143d0c8623310282e5aec01e1a1e99c41768edc44889246b4c6dffa46121bc5be23cd5a22fa49d781f68060a6976813828fd21ea05cd893cb95de7eeb86b54dd35cf98c611ed7b62de3581b2759e243314d859cd08088ae05c5419834c22fd8b48ab50a4d3c567100f488434b2b9a4749451a93ab25ac812f2c1898fe799672061169c450f6d4ed442032f00b42cd9a512496fdfb4e8685b6fdb2a1a75cf2cefebc273f1c1d2b874b5d74fb6dbcd274afedcfc876085cc07d77826febe70479fdfde78debf97038ebc12d38aa48ffa3c3605df319c381ce53735a956151fb9558f3c6c84458c102fa0a176295e1447e1c4b3f49c121acecbfa7d0171b288ab888cf909ef8f8c8430c6c262457f69e5cf9865ce8b4c0fda13396d77d3902393c95e6111f644fe3c03b173bdaa1215b97eb5eb44cc92f1be9f517954532d2edbb9ad7f2a6ead9139739e5cea17b1100574304d6f951a9ecf737d54a733920bed87fa8e03ca07ca93151583a8a3a2778a39b55385be9dbf2764d3fc6435ea1bf73914919d95d2156c9383e65e6a6641d45726c676c678e1d3d4c8a99df046ee6f34215da033864b5eabc7d341cd81608d48aa72462abb88afe0bda47f84146316aaa826382d0f7ede8ba9ee75905cfebaab2ec79bef7dd742b9a962abc5c0e42426ece10e2d072e734f10b2ee0e0a26aec66896f6e6cd562a19f97f9fb5b67d635db59c29c75cf4fc0c421a98df8ab3bc9e867b7b3a43d7e3a9bb5e2977346030b175f320803ef545d8abf869c8cf8c303610f5c73d35409f82605bf92cfc1ac5c7dba78fc91243d31f626aaa6bef7cd8ae6f86cc7565eabd525f9e8f3352203600fd287bbcad07340d1f39c91b6e5241d3a71bf0f775fe82c294cf94a7b62a383bcdba3c29c06a49e2e5b29dd529ec2f76f4e48c39fe233c9acee8b3be856fe6970a372c411dfc87ae64b13c29b66d1d13758748ebddf785278820aedf1082da5f66da3f6edbdf4edb2f42d96f4ed904c56ce0de4c4c91efeb6d9b163a9dbe7b899f5ad8593aa43bd49ce6989d3ae64092cf938219862563dea6b8b2b857a3906fa20e32e2143eb6f4f6943e1bd055e5211d254581b48350e53650f2a32c36f625b4984c856102e318b1dcf754d060a33f6f7d60fd3939c1b3abafcdcc9c7841e0b5008af29b8b6a86ee10a562163181643fac8ba429233589ec913aa70eac6b92e85f584a621426d113a73bb29d52be275f8da17d290932cb8cfcecfe177e7d72d6acf3dbc19821f6085e33688d9a949711622e9f74fcd7977608f4a84f67c6c6169437dcca82f880ef6e627fd70ed420c2749ab465423258a06b3db9914078b6606a5cdfb403aa7605bd075d86a7e23f904c633be16aabba7b15b58063f1d0d89250d4c4906d39d53701588d9b720d348dc563cffb03eb4c256c025b932f5fd7b747a63c7a7afb7469d2defc2211d468479162114104b424b3c07ea0c78a23377f25bf45f7f0d9dddd2a6f87e97f19d59f6b1ad49b30840641af5f758b301adde51cd30fff35fd5bc8de9f13ffeed9eabeadffee77ffcf7fff6fffcf7fff67f55f374fcaf2acdcb7ffddffffdbffdeb5fffbb38b6c3fbeffffa3777cee663feb7fff82fc97ebc43f9efff9afe9886ff0fbecbb66e8e7fff170641ff80fb96fffbbfce6df81f457aa4ff9e2ecbd0e6e9d1ce13f89fd5e7aafa8fbc49b7bd3cfecff3a8fe17f51f59ba9704f67f14102db9f55f006418464a778635fec99eb8f39f41f3fff762257770cdbfccfa4ff1fe4bf3c48b72e75708ee2ffe8ba6c21fa8fff1f00acf32f2eec2acfdfbab5afd81cdc8304cb81da876ff44f907071cc3305af4a7e4fec995b34fd950ea695fff1486618e7f8c047f2289abc7f58362046ef2bf684ed57fa0fde709515b7c5bb35d31397fa0f917e1191efb4b01e1150c4c4aee0481188641fe9c64f73fbe31f00f0e981244fcfef878e81f53caff5e29300ccb4e993cfcf96b070cc3f87dce300ac99492c8924833c4a1c33022f2a7ca187faa7c6c99f83ea45233c40ec344ffb9bcf8f387511940654b7cce22176318b6f867da4c7f226bdd8ac70690e78a1181612476feb3fcfef1150d23491a938522f66724ee9cffe25318456152fa8c43786018b6fdf38fc9fee426a21b84784eec95a30ec348ce5f7bd87fbaea0493500f815c56873fbea4fa33c2fd735a2a40e03974356812aa23c3b0e3f28febf13f33a4a0dc08fac7ea3f43cb7c3cd27eff74152f50ac70fe039a36a609e6fffea8666b8c315bdd899d5852eb3864fb95d1dbb465fb646d9a92497a1b29303689d9d7371846c400d6fee366316441e2126503d88da40bb5fc1173fabf9beb283dd22a9cb8309c53b3aa7be790e23733f3c82ca2892b02cb3aa4fb1dac27dde44b42cd3abba8edc8b0373ce4b92876b494db900d1c64a473cdb7105a523faa8a3f2e6b530e5558a1c8d94af864dd0a96923819d96775d2d746a2a8e5e4562dd754cbe5ee557a27eeed0f784a93b7800c2c01917dcd18de210f5957dbeef8eec7182e20378f7bc9360d721289d00c668bb247e79d1f5ab512184e8df1408173cd995a8f756e8cc4578d9067c28d01596f805869f86e6d4c4a0cbe68cadab75c2c82adec5a22197ab42b7da0295a8e72f9309ffec144f3c22102f69d839d2fbc15425bd1b115a7836c5ce6c9f2dc4d425c5f3dd8d324c7c4f43b8130c3f1eb385444cf706d42828fa7fbc0bba3e3e09cbdb8a99694f6fc9e86ab43d36db6604fe262adcb5b6eb17b4bccf405ae37b9bad160273bfeea73e2e9ba98b7bb4aac4710495613899bd0d71ca74d7423cc1010033a8f323dc06d50ef065fcf111655087ad11bc6cc016e9cdd16a71ef0e18cb457483cbf4b5d6ed3a2a2bc3b801a365c0ede5aff546b5d543eed0725506da9afbbd4d34d9ce3334b70acfeb5fa26840ae52d63ba954904c2084ec84ff78bf207950e7c7eaee1407220f870eb4934f549d5968abcae5dde7e779a7098f1765a43804543faab9a349934e3aa6abe18a5027083ef4ce27462e47aff609f78f8758f7bc34b5dc3470caee0db31cc5eb6742e5f189bf9808d2c8d4e3458c62b76630aa7e3fc09367b5fd310e41e500c48a005a42cd065a813157cbb079ef462e708c9559ea3a0045a62807f97706c256e47e9f09fcd1eca86d3a813e97dbb571e4d4cca6f49f777b46f3f793b3d9c147e3859617b75a4f75492052b8d02fa9d269f435190befd72af51a9fcd693688b9d758c9be5bc5314eabf316ee96b969df3e19433593016d6a98206f855fb2937ac59e2aae5a6049ccab82df3512af8868555dc2c68dcb8d5ed919f12049e981e5e1d1c856cbb9bd3723134df917caa786ac5d8272b866fc057f47befb78f2dfc9794ad0979910b974f440e3f980211886e79d18e9b1a0c865d7224e0f0f42b75634324cf276a699134b44b6d022c0f77a10571b19e77519ce77de3b57a18c5687f575a52c335c93d0e8983f21dbfdd14b9330e4cb19df75144b9f7c374e045a8e41461eeceff30c5234351aa4f58ec9590682128945a0892bc0689f544cda07c9ff8f86e043d592a38df5f0e89437a14d1c4234f91af77fc1c68d2a84e5424adaafc64f2c4f3957bf30330074f0eaf334907ff93436d4f4b8ca1c89ecb462650d5e8d54035bb34853c865268dfd82e101d292d7ae4d1ca230991a94f511c92c4904a4544adb1d446e427590ddcebca5df73abe7f2f34664da784b6ced79446a8b879801c85f4e5b527df1b0925f4d9824f45172e9b9396032d6b6debaf2fa3739b7e6ffa3bf5bddaf3f93e1fc07d798e24495db3f5b3845a49a0538f3317a587840fb4874e2bd53082c84f27f267a20fe8a39f34044fdb8906906ca181ce81f9d4816823ca6168b000d3f1cd47e21ebf7420866844b58a9732c5663e4c71988f9375ba27a0d0a1d53394b72a5b248abd38dbf21206b0eb79c61f3e522bd201f9f944c0d94b81e25af10af1f436e7eb169fb4ca3890fa6633bcfb005e2fdbfd6c4352a0b594c806c92f8a09e0e76ed8ccea0e7634c1bccd01b441f3e3c592852801227dd01f806d44e4b86b0561d544345048ddc5d22fa0027df3f8720745f66718003f2180bcf7d91e31ebe285da92feedc9a507903748ead122dc9fd0062a3f8e809a7c7cc88dbf7c25ba504155065cc044d4fbbdc2afb779f088c8f44169c3f02e4f726eba7d75951578e9cd9698ada9f6b4eff4c19bdef846ec57bee8227b808da42370cfb6cad5ca8776dc12144e339620beba33bcb3df45fd0efbeda606d6e711e7f3146f3fb2a595f3eb7ee3725b000c0b6987e07552bb133b6933720d9bfed9946adddb8d484c7c700b0213ef370229cc4cc05438c8d5007daf7c5474617cd7f06276d715e050b43076a099f547d5808aa9fb9d09eacfc468767e0985dc85cf352a689f1184d9b2118ff2e134d91fffa0cc0277742efdead4bd33b0f20112cbfc4536a94ee727982a37f0997635e14f03af4a19970698024e543579f0d72907709f4c0b02e74b94e0d56ab6f589b436151f9577d6f9e1d6f90c17cee8d08850be08c34fd049fbea1b531b6526e5c34a415cd525c35569ac4468d83ab12db12f2b54293fc1cf8804bacc967e0a4de48e8c282250d98b771da058f2298931f0a9c7882c72a278d345ea0add8842c28a1fa05bcce7399f8d316e7a2c986a6573855bec38ee260abc3db51295375fad6563f074cbbe11eb6372081e4015806644df36610156b1e127f9802cce217e301ec097e54bd621e4ea84ad036e1a41aefe9c08c498a021a276f5a586b8275ed86ec74c646d36cc3117d66955274937c9182d29791bb649081daaebb3a76d66ce6e6f39dd32fd3c8751a3148b9069a2887dc31e23001adf05792446d804a05399ad38a04dd516e81eb8bf838b8ee7e6bf093a54a773f9cc2cc0f05985f20bdfa7495271265d48d6cc81884a5ab521af8f213bf527c2f5948ccc9cbc30d91731702af0937088e120096cb3db0fa2cbc8f1a4861eec6c02b884601c28784a6b0db846a36c2e1ec89c1df6c5b2885f1592258358dad6aa93dff3f941ee7fb086b015874ccb3a2063da94133206ade841054d1b23c688697d6ef3ef81be40282b6269153e731f60fa7dabba1181bf83551f7d2ba63cebc832a2fbd8e04fdb91b08dd66213318fb37699e866018029608c7e3e6d41a61a3c370fd40e18b783f0054760047ed00539fc0b7c2bc07d35f0d336edd66df93d48b75a0af45d09541e774c2cbe7c6ac14f11763ad554e2c7274168f4b811905fe2a287aa90b052bc7d8c9f6d84e013a156d9e3af9e85fe7ac07d6403205d12c245e4285a7ad38a73e981a1baabfca830bcfe6753a98b25b78e2db60d0dfdee14597c72686a04613d33656e2061bbbc1a1e29615549a1ef2849af9d706e4e19acee64548c9f82b3729b7edc6dfd525cebb8d8724a911186aa7aa89a28f3986d3d1e941136119ab967345e806b9b836b5bc01ac9a885e6bedf3e4c2c3fbff75834354d588c049695177a8c8436b83e0cf0256b249e0fea82e3393688cdb9577a2357b5a08e11b6830496e0309ead77897d399b89db435294786fea54d2e26753e4f470444dbeb92d963c8ce1d3a82f0575b031a170a94a504e268c6fe31a19dc9705d0948566e5ce45b9b7d6f0d5bb36ecd52ab8e81a19f20a7821ba799121f8f613588f196f8bf95cca659b7e0ee3c7a818060ff7d86b26edb684e36d794951f04264985fc027d07ff677ec26cbc7dcc6c6dcddaac349cbd681503a9d592542d3c5235b3392a09406cfd03ec0389950bea22350054a830594c86c1b579b751bd5cd53dda88db112486c37d5801b6f628d325c2fb26dccf8f76e400ef35f3f4d62296562b6ff1b6da764f4de88755c67eea9d69db2be35e7718adef0e5db389c07947223599fdada13c8c544ddf9b9acd78b96f31b58ff2756f76f6ea25132e7455f279ada4110e07d475b02848d6fb616821ca8158da9678fe1839052038a520203546ebb0309909ac01b0475f0bb000c6c486097d507cbab89afef0a93cb87dc2b9d7fee78967587dac90600e87883a5c22b548695cc9691ca47550c4c2c9a3565ea58128718296adcd247ac8c3a98667e4213bba26b4482ea79c322053d5e3a81a886bf20f00398ff4147e6c2858d52bcf39a9d001b5f7e1fba86ec59f81d240be553f2149189e6b6ffd2970c5314a8f0cc6c710ea4f3776bb433a176f169b7c2d3a6123d13c7f4ee1fee3df11565f8fea433bcd2e589902c8011f18190c989924347e2380d3ca3f6a3ad971c7ea7b63f78b89026c48fd91c7bac921a1ca96f7938a7c1891f1ed5cbfba56fe49bc3877163d5196534bd409989e68fcc6f1a65f9cd0ce497a42d271a063319a20b8163771ee8e061f5c60fa8ac91326f52aedd9f68c0026330a64668eb3fdb010ec1660c33391ccf281433dc5cc3683f66bff91f6330cc5a7327a3f7cccdf01263ee4cc7701ea3efcc58730123e74c557337a3194c5373132338a2e0fcf33e297ed9618590e0a00e6433982c201c83238df78d092f95842072b91f74a1da5b583470528fe68ba4e78e50398a28f0c57a4929d72c429bb1ad1079f2c3d9ade019c8a9cc9d435aa4f97d4bff79d4eaae53b5a414ede3afe7dc07247d7e46fb7d0bef378f2ed6b575f10bd57791665206bd534482f52e8db4f4b39099c17df8d21c2af1fd930d376f020f99e2e68c0459f0b39e16324d1b82f959253c41c097e3f130fb927284786f90a88fa8893be65ed476c45a0c5c061d383e7f4af7f33e12d9bd14e313aa493505d64f1148182ff2a714d197bbaede1be7b8fb693cea3aa0b236dbe403140416fcd95d7a07c8bb034d5dbf9b593b557cc309ceb398c5bff10fdaf2fe6d6f53a89276a51c45488c9ceba6013526601178dc6375e91206cd022ce97032a92f2a66e6137b07296a84e0237b500e10fbfc8e4a50faed0460b412d2d46edc1dad1633aa2ba852508d92b403b4ce64fdefba6c47f518bc92ec0a8794c32263977fa323fa5946102be54466a8adebed7684674ee8ce545cebb8ce503b99004c5ad79ef35383e93724767772d900886b753553ba86412983090e3aa3e505b447b92a2b7947f6a64c10093c61fd9f9b850c2383e0cdd8a5b9d29553d4a2198594792f085a7efbf7a391f0d6948467b25e8d17a52fa427165cc7117e8ed7af91a35fcee6b9e96ac6a338ee2fa30e2b5bdf55ecc810e5febcc79e89c6ae7c4cdc7713fc36e41b214821ae132441b032a869578d2fff01e482c3af85bf646fc9440cabb96f7166b435da398fd74fb3124a8615133aa4f3174bb2076101a5a7c241989283e01dfc762c8008b8c2e6226e7062a5e3a16726730135b4ffc1f45cd5168b81bdb9a0f8f07b03d12005246bf4536b5d8c5a7e77a1386665e65220efa2b3a0212fc981309cb746a523e525efe06ddb4f8405fb5e4e64166a5cb86821c760ef53f4fd971205f79c9beabf56fe88ac47de907affc070fe16580edca3cac33b41743c3bf0cbb2209ac06c17a54df473d9bc32652e7fd5118f968f0bbcc6b384789fc47effdd77330ff52aca0aa61e2da6ebc2ae1e33a6d27734692b3b1881416a69820edeb128df06f192dee830873068852fa278ba57e3a19e2b03c992023d5a9ab4509abfa6e643fd7d6dfe0cebf1663718e8740e8bf81f67b1921fc45964e4583f8ed04047773e25d6ec037b3eaa7c9797d53444334ffdfabec2b5dcca462ca5fa3595a558cf622c288437a51da30665e3ecb8817927623687f2eca75219874d4b271881cef513f12a4ddf5195e9211339f67557d3122b4908beb15461a5bb1f094444a965076fad8cf3c4e48a9ef432dff7a2402b60fc7551db265f330310d04a4fc15fec755b1b013d09ded5f759ee7bd5eed9f4a45d016ff547dfd049bd6049b22458a3d535a394067a44067009120fd36215a58059600f9bd9a95c14c8019069abdcdde23f28fb2556d5e34b88022ae8198f39632ba69d8c7d8b6e766bc06d422b505b375bc115b7b5b94bf569ea4ed21945c261c02f41d32772e9df029c3be8d9c77655490621bfc4109111ecc9e87b53487fbde43064ec80f9cc80b1d43faa5aa431c9e6e42a1a1da2cdc44e1e22213ba57af989bf855fcf1662994374a56d095123098449109ba7a103e3b450e3310f0b71ee1c5d716e77e9307f6e935b0a30146335b21c2cf072e736e0196692f381b6f828ce459a85125c98b4d1c1af297c6467a61417392480ce7c6f8f55f08dae8f9bb5302cba326b7ff4f45d30c893a3148b095fc1cef07b15cd208944d54ac79514dd42acb25118817bef9a38b659a2e2548a625b031dd9c0cac6ad38c67c4cf7b2b2fc6b23092a29a3d0ceaea953690c453e8f2a870d9d16c02da0863a3f2ea84af3ba4680b27bd9fcc0e73aab6e06319f7c1f203d97e27e737bcabae61bd1eb1c6820ac88147bddf351a76b5127afda492b89343c12cfd3204b09fbd587f89cad32b2a2efe6593c44ecef10cb65c8d8257c8781d463477514f202e21a92af5c5b4bdc4c7c5fc060fe2382fd470ffef6eb2a6e197d7317214b7d18cb0d0d6f8f143127877d3ca7a2176f3f1dacc0fd056aa4ebdd6f133f2ed07733287a4cd81d23e6e282b272b7e3d8f817c0e6aff0ace08999d404255fb91ad8bee0a3dae74b8884eed8df1c2cbd90458a3da239907e233a1b9ae786798076e58763c7af715b243b8494aa88c1043d925495ec09f76bda269a88c6e833d7372992e0a0d19426b5ada901f0e8c44c36c18d160c525f103c2b2fce439213f97492384e893e619aceb806be4db2ce3d9acc6f95728b4506b8ab618e8f2287d9ea572b13dcb68e25d5dbc28e29d8a02d1b8f7aee5aac54c7df6256df876f3d43865fcec3c9043cf08b965ddd49f4554bee385510650d4f6afc2478854b1a37e388c1d0342c0922ab159c5f075df0f2cb99e88e164acb13210dbb4b353e447ec4cced49c6295cbbd676a6007aa1d016edbc1f603606be51764d7395b54da49abeba0dc0ac0aab94f3444a15ab20642b6038c3b207bb7b1126b0a4dcaaae4617b0da8e8a2e21a42f461d07dacda1f731eaaecb2da566801f3264de0273df8f84751d9dd6c6453e8000287a5c0e607ecd844ccbc9e4b779a737128567dd1c437bf955a6dc2d858b124506d64f27e4687ca2ed2d9cfe1810d66f81a2e4f6dd547b27a9684f7c505c742c7b93407b3c288d1f03c8a971346165c2c7f66a37d459c9f0e590fbfc4a2f951d447159e71892b14746b06653db272b236ba10b43121ba443fed93b78dcb7eeb2f3f05371b0de4022cf383d8abe67d8c474a90a313a2190ccafabce33a452e8f23bdc8ca788c39f5e2a0f4ed8fc00b0676602ea55758dde64f7eefd1157b0b8c1a2aa904bdd586a422fdbd72dd42da9c15e381dac7c8dc3ed3829f01189dc0b41d32a258bc51f28e9dbc1be7106d0311dec7c159170c7300d56f96e10c3435ea58e034f5d708547e1dfc18552f37200de058987edd8a902d1e8be6f7f880f8993c15264f29261731160d40066914cc2f3e7d8d7222eda55f90853b29cb492cd10af21d692e60bc38a99d6eff6986fed69c2ecc2bc96bbb153cd3eefbd5a7deb66a0a919cf3534e7734bab492b8259a0e15ef5d73efd5587ecb02e483373735d8351cde70d0b78ebbbcec40e9dc48e2160e264c90246c93c94eed1ec794ebaed82f39824119af283eec0f849d3e9f66cd046cccafdd8cd191b3ab05916534efc491e9ce6f58e7af2d38a1ae4c6a199a256ec32318ba4f46280d87b353ce73601e117ee3f7e740c45333e381d1e7ba5dcd2c9ec1184d3eb453d4a0acf242739331134378755ef4d1e2684558ce30bd194cc679db7521563245812fbc1710cb1796b7276a494a9932cb0683c8dcf10559a751806637ff7b270da516f60ea1bb2fcd45f259810851e3c8db7e6fc09106b85026b2186cc11862a6e55d32209e7ec75239803c2321f6f37dab032a7df13a6ea1df1ecbef513f8438ee1b24a4ed17bd772e1ff82fc8068789b647e0700c0e2f2c232e517c9419203324b0c7f7b39eef20783b4f4b56571fcec3405418f1e3bd263c3c59265aa7e69f5892ad0925f030a6b52b7998e8826eb96a3696e744d7ff030c84df56226c698f5a508ea4076e0daf614db635cec66fc4d687fb554535e6b55f5dd7343210a3122092449ad8bf0820570adcb4b793c65bfec6e453ca39f95440d62e6b4b8e4b1f233e4746e092ea50b25dff5f7e4e92c0f75b705ff9268d418fa597a90b178b1681cf3e4864c3186c460afc4076ab7e33a89f7f82b9d62c723b5b597466db5dede9801e316c6cd5354a5cc0b4ff16cb45b1b30654dcca7cf4bed287bcbaebaee75b991441305c1139c6dd205d32e3d26ea414f946e5050d7e1f66980ac1b3ea7ab55e205c764d25d6578c15675b67b0d992a98c3efc73a91ccdb432ca3118f7d88d48573fd38831ff799d3c3432e8c0e6b7312ac28871bfd98abeb5d636fa5b72b9a939758f837879dfd72f3396b9bc73529f3ab2d2f1ab257c126654172c86c4236900cf655069f6d34079d17a8c69baafc6dd57a75bdbd0527905bb21184f9a8a7a37981db79c0f635f1fec76bb9095384c3bef11ef2fe074e13954ea4551aba2983d51e404529b9ee11105f7e0140f5606cb562ec58c51ca87bdc004ca69b63ca162f5ff099972eb2921141066fe6015b2cbdad91b163ac77db68caa8b58bc1f69c3126eb992c4eaa980ea358ce4f18444cfab52228e89cd134f4cddb75c3b61b204424ffbc3344611d80a23d72c89c8f212e5c2c1f6e6e01a80888a794f0ae54e98d2fefc906b9c91d6a43dcbd5c28b3fcbb4d23a506ed461cf2fbb1d4642cde2392cead1f44cc1fb6141334dca1c00bfee21edb8ab7b5ca7e80911f4588724e2fdf96e365d83f8b3ce6e72e69980872509aa3c92ebacbebe9eb6149c56431adeb91e5f8c3720d6f58610c5546fae7f8b09a6b4ffd2e11ed1253b4523c80a6737b92c2c4b888ad6d4d903e2e2d2b5e79bc2af0d2fb0c05d5abb02f98c60b7548e1348d6df085cc55928b4bfb3078a30c63354387fd8ed57de596600a997d7cf1becf50f849a386446c99267ccc3a1c52cff2caf26aec00f5923012943aec294cf050863adce75070c3d9301b84eb3e9bea585d8b2b2bc73bbe338ad413a8746d24f9be43339d8b6f8751cc378d154f7830480127ce6e997ceef9e40fdf4da50537da3a79a8a193205e7a882805dafd45d277251f09a802052874275e9ee982800c0cf130a482a2231cbcc59052fcb2f36fa41a5693546792e5f684ada6d9975d7893886b40618a00f11a4c3d4265713d70cfa28f24be95927f1785416cc73fd33a32122d30f440e31de499673ee2d97ab9fb129d9f4e65943bce35bbe96a1bd59eeac6625d17b667626eafd902dc53f403199de00a26acee4a0270d8d481f71f7bc4471ffc5a7e227e276200ee4e40db79568e21ff865c8ceb527e1bbf71d1f8a1721bf1f73643611402b0a2fa7603a5491b26c8ca4a0d3106ca73ac90bde875b2b9e9817a419a082d394b6de4429b863ce40c001d2a0e551dc59149f6693015861f51eeeaef923f95063353ccd7de9226bfef40016f74c03d612e5ca282c56787c5eec41c1c98bc15cb154559af0b2f2c98f5530ac55a1f8759fb06dc33fc94ef651a98ccd785346082aed642b4a863bcda8b48f1449f0f525e0a052ab6e1f86e9a19c64b9a90d52f104b32bd71ed0243fdd8e5e9aba6532287fe4e4f1dbf6fc05934cc43071422fde87053a0ede9c2183de01236882e0a1b8130ea08c90606ab922e22806c34fef91caeb4c59612a6f21b957648911f7e4b8419d203cfa6a9f0b06d6836ee4aa51c7d9fd6d1af8d961dba43967e2813e1e54512a48f8f4d8c40a1dd1eb9700085e41ef92bbb845ae2f72ab8dc10a0e0850757e1eb62d6d0163f7f2a7c1b3b7d6e8267c0c3e137933b20dacb19133ac07aa7e64d39916cf3d8541fd5208905fa19849286b017c2d0b56d5bb2d61f27d3f6bfabcfde885b65cc011fecbaf6d718c36ad92354c9c9b0e7224e28055a3a2f351153678fa554ee93f8d206cef4ca43bed52ac5dcb2f328f5ca5bcf4f2ee5d9916cf489ec0620bf9bd768474bfd2be8220a7f92400964035389fc4ef9ae01a5a47477df2593949124d5592077e51c48443cba9d720bc4dd9529c7d966a8d49c6db46eea1578be48f8ef74a398fe5a7d38cb605e4b49b0566bbcad45dbc68698878229d1887cadfc36bcf556f42a4241f50c2173b9d94db38b1afd20afba325817f31201e1842042405920ea6eea03c89664d47d1062757a7a4dcee05bd7855c0225f5e8deb6be65710f4cd35e81dc55912369eb9ce7f41d33adb4ea7cc710d57ea76b4f4f7442d47d8b8b59b640747ce42724fe2409308b3f4dbad2e2c2c443a04961ebc0da776f01ff019c98aeca753122cc56a1720b83df851590ebf31dbc738a6fc5f2fa3f93218615b69768a5c7f347ad6315dd739a6430409e7bdb501f0c38d7cbce8c645cf7fe7b7772410808ef54cf1fc6756d84d3a5a13abbfb9702b32728ee4cd37e7c44346fc28437379470af98932bbabaac79d32090eed8348d50ebb8c5b89e47b08ca514c02c894381e6aba050f72ea1e67cea0353537dca7b946b57e73c53fd4f42ed986ed9eba934f090d409c1a0fe25f9312373ab288999d0cb8f867815454e2f72e1ef73545aa341f569efe7dc8254bfd69116323b1d16cdabbfea20c5ed072690bb900e6c56f7d18d17513cb0ef19334993df24449a711ad367a3c488a62e4d6736f2152900a3e8f72da6108a72a8a0244650749bf049429133427e009852177ad487a5317da1c2a76567ee0870cc0778e8c4be31781b6798f7dc2419a296e68568a55e2468a9a686f19d3bae303b72306f3f4e7279a8bdfbbbaee6936712e2c7d40a3973ce9755d9bb55d5f571405c111b6e54955a063ff953cd910a26ea38e7ea06ab279a7e01683e65f1387413c37cea9c7040e38a1cd1f635af3689ad13aad26313ed30ce79cff4101afa694e0f75a1bbdfc95a8c8b2f5e2e180e3fafb029cfea34b43fdd5c17df58fc2d81f26394a8d595c8fc54f789d91d072ec42e6e802c4812e9aa9820fc6cfa95f0b725d80fd50b0272f5c383a624f868aa0ac69a9e457a22e0ca527e314c63687aa833621bbe13d20027efe8489eaceb178149f1f57208e7f1d0bb7a4f2ce3ed6dbad8f7b423c6f8b5727d1a02a3de50aa4c4dd4d1943187337ffdf0da0d07df84be3572d8129581989f6e3ea1799b23fb796359de4a3ee1a1c6a141ab5ef64174be8f158dab8a4308a29cf62b9852caa5203f3afd8894673dd0f185cd40621b6064a32d1dc44b00c81ac42ca7376a7ba3d44133e7c0a132df298a76e4d163fad5b52af24cb33dcd39e5b78c71208096d2a30df254f016c2d6f8c833520fe6d020885e35170fdc9422cf12a57d90c9d4041a862a80f4eba8317577d82128ab620b32677d505eee7907213041b032f192532174c29f4f28281a7f7d3896251c493fd49363320e4ae2d1394c34dcbfd32ceb67a9afcdbf9c4f1ec6883e05bc9211d0f0b1cac67caf18eb23d8ab0cfeec840f81e3d6cb144888fdca91ab307a282ad346f3c9f28849da2dd2907ceef1632674fe55d200d83a6aed1d444f243e73b6acfc4aceb3254a7a0435cd770edb73496ac805145983303f1c309b39bddaf257c0b35fb5fbeb320960cc692b9fbd51e64a3ea3b02907fb230965e8a705a78d09cec832e0f08f7fd74bfe74ee3b737bc7581c0b2c3b1bd211ac56f2044f99db9530354d2444119bb0664e75911a4a2fbd070bc4852755e9bf545bf071a13af6a15a9ffd0400eaf38df8bed9861d68692182b216eea3a9fd4acadbfa337865a9fd5ebc7fdaa3f1aecb5ff92643cac07ab34b097da2f5c2e7ab6ddddd87b259a54d1650a6e3cc0f36b509b8b80cc38c585e00397bcc25e338c7e90c43b0f88e8deab4ea2755fdf0aa4334192cf695e2a3aa9980ac194f38c7bedfaf904a5a160d5a142dfc70e31e224c362114b05308cde38f33f5aa9081ae594f96a04229c9b5a29e44261e252103ee91aa90d633d507da187915c30640783d4dc188c3e05c49222c4999b5743dfc0f3f59c75047c36ccd56f57094722bbc04a984bc1f6ee996dba60e7b431fc1a6fbad4c546a32904b28344ffa844bc12ae756c05f2cbe3bc72542caf4d88666f4a5df9068572600993719fcccabf22724bc1bd10ca724ab7d331817fa555b5e6104269dd22df1478cd438ec91284217bd156e58ee5e47097265dff99c4823197f452f0b46f3c5c9ed60baa07a0d53484217f505c2e8e6341134f9efa047b21eaf4e06927605c76cd48be04e7f43161c6264fa43506b9452accb8c4b3dedb262ffb88d129be7a42b4603bb4c6c54f6f6a253ed4417a294f6b9d8a7762c5f7e23406470796f947029a1c529b6df8ca19ed7c51d9a0de63be9537bbdc43812efcb239f5eb01efd7adae045b2c78256b6b0eb27e9e5b86eabc2aa8045bf58078f2e2a9c93b7d0dbf576765ae11e55ae2b4c8660974d0324b31159b476a16e4489a61e088265c62307712050d763b49de68912cad04fc08e100030eafc8063890cc10c865473191316793323020ce2eec997e9720e054b7bd2719ccbe058ca185cc8f5c817eb1575a834dc4e5184871d6a0fa1dc1eec3bff386800ca4a5f3a7e14b5ffdc4c7d27b0ba2c7e03b48baa68acb409a370b43d069da4451ca692275626618d26f64fb83acd416f9170546a67988a22dc478f09279ceb1465f25df986a2d83c52e7350c5ade14fb6d7198f698296c92325bd603debdd4e79dd4040c867faaabbecb15998b4cf98377572a1a523a49be90814d3a596ce57553d4a2c3e84d9f3e08c05ca5929ebdda986af836a5f70165f723ea9840367756e6665216b6ee633d8ba805882b0dc46fd0a62662c8530e7f71eb9b5da627ecf18e1eafac7e115aa8d45a9a34fdcc4b401db2623dfd61fb597fb7d2ffc087ffa865ea9ba984ab62417e9bda23400c238da802e5775f8cd500dc9c55484835178d3c99877bf7949d28ccc0d83b1959e446bc170fb2cde29b90d71cbffa9449565d952aef2f684fe41ec7c14c2cbf56167b40fdbb315d0a387f06d44b99c12a347768fec05a63498f96f32c7195c66b49043da2987f6a590f9c0a50c2345d1970b78219582c2fd6112441ee121d3e349e5ae66a5c5a3117abbac1c5d2c597fa238d728c326cdaeb8124601cbfba228380f288366264cf895f40e2613b987cec32e6598435d77db9e285141afe473dfccd3389359e1ae6339ec26deeaac502d71deb6ca611e399a39f60f973d464bb5b70d1d2fa5643997f41f559769f780bd641d95f14dcb088061e9056fa6f645862efdf3c5ed5dcb7c731fd8c3a8dd492ab0a72adf3d4a839bd7e72a99d6a714321d4cae48986f58337e5fba3d708d7402ea160710463aab825acb4a57a2ae11f849551cf3b749375a68af9902477a5b40026167c16630509d67cc6b3e58853a9eca62f60d546bb95f901b6af2bff718563246087720ef3ec22941c45337ee4d56212231bb5d858cc6a6c36737eeb3ac24c4606e85e80610f74a5faf879f123318efa5d1b7122a05289a7587889acc9f1126fdf4aab6f206e2b4de2c95c55ab0a667345a655b872259511e749a0e0e4db78ab2793b0260deb056bd1d61f7081b6389e12246e81d89912df5a149c6050fbd5b421c9f8991f6d973b3478943ef3fa61228f9de5925e4ccbd93d4b25377e0e81264591bc11c3bdb232c403dd1c249542567815b56d79cae8b2fa15809f450e9603ba9d9ee2320204f48939e0c5907455a29cb074c1047ff70a9af8faab722d9a99577be61b077db9bb9ccec16164fdb0035e4346836ee644f877fef03e7ca896d68675ee3ac1a707d0f139bd775e989a98bb653e30d2f61ebc0e3f4cc70b8bc18fa4aa0aa7a606bf14fe92658a47174122e986272083d8add5511bec0ede4eba61ef5352c8703bd8bfd931db1def2e8ac535e6c0b00835614cf0512eb27b3af9c1d0bbac01412a6decb7f6955e54f0e99b6dc77426b186e1260dc34ff23c659a7325c00586ed190e6d4e0135e2aa29a8d47e222b7a370bd1798c66fda218daf1cac58c7740065ddff6e7faaaa319b3a9c2fd7c10d4af4c77cc40f8db3370a9d1aa4664db10537061f179740c7a6adfaf14a1e282a0702bec4d5bafcc3119381c72cb563a4b11d2b86390b13b5efb89bf850ab942b4653ec25d899c6c364363ce40629d9120d9926d4af1b36e11b3d57aef79a6d3f931680dc3950f2a360f864dbe5b7f501d1fdbaf18fa51af461ada938947f1ee766c34ad545b0cfc8919d0258920558ad09e4cec0bbc3df091c10ead1720f8f4a4a2439b37b950b068cc78852d4ce699cd174709585b99b8764fdcf599aad6053c05572490884d9662ebeec81b75fc2a89a33fb183f9e5d17a71cf31bbe9705a0dcd7e8d8b39cb8c54e7d8eb092f6cd21b293ed3a47059c7df9fdf587245d2e6a601d70c5a089a3120738dd873d279ae8a177b2a69bbae40e5237d380fc5ddae6798e1ad592c7c2dc5392dbf7e1cdc181135fd28605c79fc49979f1bdac1dd330d166ea66ffefa6d520b5571dc79a4ab61e8682ad3397cd1fa73deea6decdeb457a20c3d35f123da6cbfd0ca6611fdd12052afbf3043d7912e210e2c72493ec242391198046a2231acd74be10c45414bc0872e41f1012493b7f0c194a4d344ef5ec1fae9d954c30f9cb353ae98b0b5b7496eccfd8d3addeea8ae214eeafd33af3c0e2f66178cb6ca6b8f312661945c1185ae9160e0803af796c5d0cdbffa73cc33dac3be3331bfead41a4417871b342ea2a0d21402372959e9d8bc40dcaee3133c178ecc98b00089538e16ccaa87ab024b5aa4c182df3c502a1b8439dbf0a6911d47aadce10a34182c83298ac378dd8ee7b21fe1dd20863a50fbc9711adf8dfe0cddab6c8ea60cee010b09318efdedb0a1d80724a288498b5f173876e2b6d086053dbadb3e406121deec1d8645b8244d83701ba5690114076000944201e6681f6115f176fdeb51beb8894e75eaadaed8f3a2c453c0787b03cc169e1d184c8496f1bb199909cc9c95d3c0b5c83be2795e593cdfd87ecb19bc17ea24b7bc2b6b7ac8259aa595d3df88e9da6d78106ea950bfdeeb05cfd06b4f9476e70e9449d2e4b7785249b084a11d3a1d4d496f30f5b8db369d63346c80eccb5ea03c3541514f01d11dec03877d5c12d5d81d79dbe94329294889b9850fa15cf993c2b2092eec0e641b092aea843667fddadf1c01dbce72a51b69a8d8315c77f53a680c9177e21bd92c4a335ea81b6345acd4a62bbd5c1cebde64cffcbf1cddb5b9a5000044e18208700b71bdb867b8bb53fd7efbba3833c91fa8b9ceac09459566979522b78711bf5d168795c50a76e33c4567f2799575cadb294ddc14cb22d056e9256ef40b5d10708175a1d6c273eb3209e525976c3dc730777c6d3a058a60604bf7106eab2b063ebefaa66db327f52b974eb691dd43d5bae1a1a890f725fc6d5cf0e0b0a270862073b5986c9b0bf0d26909f7674478f70bfd6898f81d98bc825e305a6783c0a051822e4af83e0cfde93eb4df3ecd32f590f2f714b8174b81a91f3c6276556779327122ca1839ac00d8674be1efc768f3ad36ae53e4b3f1faf96f807cf5e7ebc98f1a1a0136039fa794b4a9d7a4fc0d7267765c82abe2c61ad3eadc20571b313c6ac38b4d39be9f9aa131fe2c3f82d6e67389abcd8a26fdb58689e8b5489c801c5ac25416d338425d306975c745fd9c095fb1d20741b740c30d3f09ec3841e40c2f0cebea25fcbc8596aa0bfcde1dc5bb217de25fa57042354d002664ef4d58d7fc41ea7ce11ec2e46f014bdee733c99b92ba342493021bc94c75bfb5739fb5e902fdb7fff8df586a43c50121c918a3efcee43b17e702403d30abae25a1bc7b499ca752c4091395b082274c3e3501ac9d609a22f5734fdba498f3c62f87b24afa47dd87e442966f2f9ab850e3ea7fe661ee7e2f0f6981ecf712a439e411453452aa2b6e3fca16d7a3902c923ce08b383618668a76a0cd0b0aba774c4af8a5468312b10c07cc13971a753657f8276edd75a60e0b2290c8682a51cf4d54c22f43bc9279fc462e2a35f1cb8d8ebc0aa71e65a28715c4a84c5b90d491887fb91f4d385c2016498700b1644904c3815bc421571d2afd13616c20bd0118af52780d3ddb6affeccd26b8956365f42de933219d38c2576dac30061054c0cf26d5a176f7645a1d991df312b6f31d7e329bc14155406804e3e1af9995661c8b18ba149d36e1317ea68c32afcb87e71f694134209234d30518db83d2aa451ab2191137113a9d717246a9dc463ac088d40722ef4e976b93bb88c3527171a3b79a903fbd8f7bcc87cb866739cd960a8fb2349fe663bd896f5f7d173fd001e35fd5264ffdf3e833735863f8d1f1d1cc972d5f2a87168a70d3541e22530250c37dbf70011160951030791e85883585dac204b96e2c723c98148135590f1e89b5326041933ca294b10932c360b8501662c4954d2c935044cfa22af911205e7bdd20521a5250669bcf4b3ef017c5ecbb60ec6c515becc0cb2692ca747063c1fa8957059c17addeb08183ca87a39568adf60d76bf74669a64befcf134f48695204f2f1506f2e180dbd13e2968b888539928b54c4857cc1c19a0c675ca90d230d6ee9ad5c59234ceb4b09b796cdce285ff66a9ca7b6027fa975736ac95f703ed7aa9fa23ecb733b347db2fc10b7a6907358944de74b7981ed8b85087ba79d1a186bd044edd6fb753957690decffbce2f284140fe2e709223cb8349305bf0900023b63f64b545dd6e6c27dc00209aa8e40a30ab0895e78ca2c15dd5db7c6190d06a9c082c0e2dab216c5b93aa2beb3f0185123f3f7b543024a0d91e9800a155622a3bde9c735a3f0b222aba3f7fe750084daf7c9206cfeda13b64c0c863c42b1b4009c407110204e38981a96681481b9a2b5946d691cda73e26c1ed3a6aa9a4536a2a11151326a008efaa3ba2316e63c149ebc56fd151113259f686a28d45686de82c9ca49a93401117261d9b55864ca07724b3bca8f078a916fe3bcb9f4768b2525db677cc3c794faa9b74299b7a7396a23240e2530eb7bf291d695c0da0b67f24bfd247e5fe0c37e93e842e4dd18c756d99fdaafcb176cba76b286250955b104902fbb8750018834154d464551a176e62133a9e23bd26e4fd74c38de7b257b92f016ee7051760995cd539884195c315e0722fb957bbd55735789dd6a0363f9ac26b07ac69dbcb14848d44c74c164529e275b942e1a79673e3d8f69146bf9e6805ba8d16e510180a3f9391a50a6c64e7fcb71edb3c7a2874b66466e05509b0cc025a9f09d3089479e46d60357ba27e7fb5364501e856697bb8b357c2bb31fbd9983665cdc4352064b2d31cdccb1e309e6914afdd2c5dcce44e66238def171fd1a7ac5e6b7ead06abe2a1524dbf93845f22856c1560f26dd8fb7951f1c914da5af40020c153196b550b0c6525f826997db37dcc22fb6df3c0f09099924f31df645c7b32f4e16c2d973d0afaf390b94b8ebd68873c056d86f4375034cdfe26590af9f21b9b08eb3da452ab13d5d9382c62b91616a2014d9e554847c89300e8454947bda54c71de86d2a3f5c99645736202384aa07ac8e9c0d08138c2161a1f983f7c2ea226b83ef241cd7749fe92c73edb444fe291500e4a6e6a2b310d2e6f6eb1bd732bb2ec3e0c499026b07ee14038dcc800e9a70fe53646d978fbb8243057f105a63cadb9e0f148dcfb47b1b556e099125179780f2db234dadb0f33e91b0d09823056a56ca71394367895caa32958da4d25490057f48b17bbd3097a7a93fba58ca506f66cf686787381abd4f72ac360547050bea51a25ab53337a4678351b61bef483a48f21122fed07d663bc3816faed6d7b374f879907018911d74aed9683466bbe4e23da3c2f139e294db775f7a7b9b5a0574fa57967b158f78504a5121c3424a6c06c995acb1a692624f54becaf1d83c3b22f1d58190fe669a761518b3571ce687dd24765ba5fee341752cefe43b30622a7c5cc834a883825127ec7bcd9d7ee0786f809cd257061675f62d32b8e960987f2e5eebe61d4704b8de0f9e8e7a4ed116bd52038caa6acbd56b856b17b583e28973340465e8d3f9cf0e3b544498624eac5da9aa105d9730f361eff508aa281d27a88325764e4bb8d0a953b2f00e81505cb54b0b6b5290ab0f6a21392b151a415ccbba5683c701dd6804fc62686075e5a764f78baa16b2a6f11a463835260eb568b52287f71c5e1b7ca79befd899b807e54ecb0daa179d65df21fb5ad2c96aaa13cb4793bdf653daacf9de02c60bd856d1e9188e6ddb7e86b64ea68b9eb2533bec64fdfaadf49e665c6c65da258d6d1e218e8e18fac4304705e59d4ea8988dd4ae452f4055532480e377356cd5b1bc9a20ed84c734c594dd9e9fa07b30589f42ae3a1b88253893e2168cf90e805824085585d7e3b8761829c43912dcb2a8d34dedee35e0e012d36208f58b5f95e4ba7950ede83395871da132f56649e92e529d33546d6c61d057d6e5b5b3e5e0922a8f435e4830bc6f4f847aade3887d4f053ac29d5dc94bfad1afc69bf18fc357c9017e33dcf06c106ae5ecb650b98593a1291cf39422a375db886053bfcd4051a2829d04cc5452519b52f265afb3c40c82a6dca8a9546b0baae6bb10cf1036aaf831e71da7eaaba264d6863a22381469a8a9de93b92a7ab8fe1b1091ba763d33e51d3bae24a3feb8c2697e9c8a53479ca15f4fa109b88775327e77be95ee54a8644ff534594f5b24f0815d61531fd9dfd75c623cc2558c0717cac89d5afe3d7165e81d9d0d9ed254cb5d1a09be435ead85218af214aaf7af665161a242eba1e1ccc1ea3afab427a34a627b375c5396ab9ce09a6124f76242abf0d6d253c7cdbb07893df9dc88c39dac379d648f5863792e45763132b6bac0661c6a010e25c739bc1589c224ccc5a8675576a90e18774399fb441659c721d93f6ee02855857db1175a8a3aa76cf98c151d08f21de938ece1f139accd036e1607f716291709794e6157de0c80adfa7b932bdac8b0952aa59a1e410c2dca58c60fa414e04820d8346fda147de9167b043e766a883a5259b37e198100f9539e0cfa96261c2302559d669ba416ce526b3f1e7e5702d8f5dd83145286462f625b7bfa59e3e988841740726e588abc7a9d28c1fa4feacb7f3c7f1a53c1d904e2b478f254f4cab49f2b2eb90f65112b0fb0c2f30e5ad59f9b74c6bd9db699717770457d7743d02004399464841c10b90b6908fd7f59b4d62e55f7729ad12a09d080131384a01581c113f6c7480f203f5a60728d7e5734d112f36285091cf8c66169ae5573d762241919449762b501e63e7e05ff5c21d09c01960b9a57d4c5fd2c91e3e1177e22e0d9198a6e7e0505dfe3ad064e01de074cb780ad2fae5ae66caa8a5f1353e670cb1798de0ed9e640d34c6e454dfcddb2054a12ec711bf05fc7970d896ca7e139db8105e825d1c32cf62b16861ccd8fb0075f6f6751bdbafa855bc1cce9ea3631efcbe437316d5919113ed7f64ca00364bc6128d34ef2f5b4c65f93917e6007a817700ce7b875aa81bb2585ee8a171bef06a006b49a639c133d82b843000d99d2cd95debadae9e3f8ccc06047011853572bd069f2b192883ad78adfbf839c9c47c54440dc5cba1c3dc913dd07c76ce8f50e4fd26e6e6d759a9569d50624c505731982f250f0d5d21a40c0f3cd24fe205cf1d920ce516c14dd531af1fc22422f5bb56fa8644224f2924883cec98e9d2f78bb98188a2d7b55722eb3cdc0f26f0f1983b2ef5d791575294831852418ed2f6f6debc436883f10b7704777edf5047205449c9e37ae2db9bede439ccf0b8be990f46911908b53c18716a07806978393cfcb6878012ea078cf9666652d450169754a4234988da41e5e793c104b5eba497a97a41aedb263e044e540a3080559f102f90809ca1900b2a59d63cea1b2097b95102abf1d140029ead10bee09aa344e56239559aa65e95f2081f39e950b13ab9e40901478a4456e654b04c439b951f9454b2d009ce17e817b3f51b2ea96de31fe976e14f48d04177ecdfa179942e3da458b47c978428a27f6259171b43c304b30a6c606a4253f161fccad6af00dcdabc2fddd8e04f0929463625991f4d60ac6c319707ca104f0d26540c23a11288352f13d6ee88f7ac5da413875721590ba28606cad7dc732a98adc9c29ecd1cecb009346cdc0e300c979b7c57a8520a5c6d6327618f550053b537552f34665e86f44361aa596d8ae2cf9f7e2445f5d5fb59a42e74cc52980f99d2323bac9b18affcb40c3775a4f8e030d61175a85665b6a9fb2ac420a0e6886516193550332d38d816d3d4b96b917ccda8670a95f4a02f038a05c8caf2e4928b714e5a8dd41d490dfa4257b740e4aec5fd1cb53263871436736684c0cb947d71b2d82d5c04d71f8f6b5914d165696e6c85a0db6d153a488725d4e134d13636bde3909fc9836b82db12e56ba3c2b14966474d6c8dca11044826b2d1a03c487901279d0cd2be57fbcc423fe7b6d0be6967efc8f064ca637bc5de9ee3c81a884c1db66b2f421a1b9bc37a2bc11a8c7b6b6ac57e3171f66c05489367d7594eedcce08a433a404031a59da8f50594ec7ccf5b2ac8f9a64c5ac2f4fb7efbaffcd52f99533f644b9da0b8aa3103483d4c3c7afe05df7de779d641d445241840937dd2c049a30ed18f6c4204fde0fa75e81dc5d595c39a73ecb277f08a845f984a6b4c394f4729f61903e813b4dbe55ce4e58d7e50d6dd87cee3740a1bf5aedee9a73fbac41c2176249cc2870fdc52ebf9e2aa317fe44009246a3a2f697e9171f6056f45a040544a1125bec04664211a4c2a2a0fefa11130041ad903897bf24ee7ac37f4160b483f5d7e3a2711d6a38217cf57cad968003e3ee7e0aa69771557ac2b6d428dcd2e3b62fc972842e0e1489e0c908ad0f60d1252f604606ef74d20e3f728ddd383932e582795bcb4ad46bbaa1facf45511062954dc1b8bb683c4d66db749b7e7a75b3ff2b2f13d51979da3e465d241cef4bd4a232f888997822e6bc4df72f6ab5de7c24f58b37757be1c36e612c9dca434d20b8648dbb215edbd2ce5a8cb51b086a601b87cd65ef2b0e8e07e52e8ea11a48fd5696a6316e5b2273ca5742ccc696ae8140110291e8b66f39e1856b18e044dda1cd0b02ba7d20d5486100238688969c00a85cf471d36ed079230b782184d1747eee21b7e35cb8929917dd603324767d53a98998fe17aa75a0ef619cf244c750ab2fcb9efdf47b4729474e9cf3e9500a152695872a8f5d03d4c43af479ebbe937927c3aa05248677dd36a1ae0852668130e753a2af712f584293dc2ccd902005795813a97afb939eb942eac05eea5736f198c005130f8f98a7c4a288f85c27b82980e1e5e2c3c33528f94d5d86ef09cd9932545e3b98396e8c78197baee30969ef0880d12a04f1b25e51507027e852fa94dd7e9fc9a5ae9dc060d57d9e6e877185cf632ad3b2dda868972871708aab36dfdc693903079434fee56ff45918f040669a69a2b0d2c2d1c2bae7a0e9203477bdd07e33f50fad9e9bd3f9b03e397af858f5e3ac56a90c58652c2244f001ba1281ac9afb657d5c8f8aff3007e5e9c0164cf15ea4d03c86e8bb79e927ce9610234a3b14c2bebb9e2eccea1dadae2da9b896875b38b0c94c390a9adceaf92b64fcd15ba2dfb312f109df2f422a30a4c78e389091feecc21c2e6b9755c1bad32cc793fcbf38e81a857e4552e8b03816e158a5e2e7ae4b23e50606979f80a90a7516964658c961bfcd2038053b4ce2bb444f913211be1b8266fc3bb7366a534d0c9e501648aa182eab53f2286596b54ad4b0ed3bb9993af4dce2bffc8026c1bc28d879aae27e2efb362c99f86ff38538bd8c698a9c029d73afdc43e5de4789abc1fd05858426f4e7bc67cf07adbabc1758a26c13ee4e65cefd2583cd8033c023f509312ce23752c595e5dd58696273232c519a198e1ac51973f74754099628168dae8639486c15e3915639d839abedc4657759ade1aea5f8d307a16d7356181b0344fc7c2f76c22294b476feb647bef1dad98fba9a809284c574157a05f35a6092e109913b395d17a5ce2d9a750438f79bad9e91b1b28121d94c5598cf83a0d9b892c19d6916cb1a6aacc83eb7e92fef646b1493c2241a846cd6bbc2bc753cdba0822daa4bc0950418a094ba2ca9d6b9f7ebbf596f476f683dfedc61e8bdc0822a2e88c42aa4c3e46c8318e222ca4738b063329d25729cd5b5e60b0b31e05c075dd145772901ee958904ff2a6a4e15f9197c34384691c53498904eb6c8ca8bb89294df53c79c07a5c4cb716647503e31707def4f97ae039432ab177e3cc858bba62c19de725f7d5fa3e192468e49366b2740ee98b0ad14c1a2cf4ce2608303b389b20b0e453f6e4f24aeabcca056d8eaa0ca36eb7042fdb8e95b05ab2d9789837ab90534d61cadf7215e2e9158e6d377939ffa91bd29bbd635df3557a8174297698aa46111e5eff5498accadb8bcaee4d6b1fc5de3a0ef8ef691db11cf3ed96f3889ad00a05f8800ee87a0219cd48f79ab8c80d2abd4c6bef8fa0ac4414384c7d725de1ba0ae636d7a1b15a319b594a66f82a815b5198a7b4fbd30ac5f4356482bb66f4a274308dae7c10cbeb2e7d7bfbd90b3e00a0f2600d8cf3ea089566a48146049a8b6ee263c26fb4b9200865371724dfdf3122996debc9a84c3b0372f49aff224c259d1f28cfb599843167be0ce054fae493392c6a26aa2d1f356d5158bb5dca15bcfb8691f6f3799d5fa3b6a2eac40cd7ae613721fd56c3b3a8daba6d07c606bb8ae1980bf62d7455bf3ae4eed7de54cf910df1cb83c9c5fcf494799fd85f6539594e41a12785ed8016b850984ba7d6d0b531c34c110864e54a8efdc55c4742b22c46c671badb9d59a4e1e4bf390c1647caa4d53b855f6eeafafd759e53f64cb20c4a46dafa8a4546204cbf74172bd508d481044eafe10ec282fd86b66d50c3698d9d4dbf3c9feff751f2b1185320c6c22a6bce0e6fdc07f2dbd866c582de5edf84ee24849eda10b7304fa10b2d3391d65037bcc3a069c9962f9def01e7a8bc13852431451c2bd5d8ce82bea21207ea427b1515a207a5f3965c36c546dd6ef6baee5d2496285d85162e97744308a3d7e035af30ef74fb89e514d8232a32e36b9dbc365cb32327753f2c88f4617d519fd3a11026508893367163a6e167dcda0ea719b133e6d13e1d8739c6cf06fb651f999b6c745768a0366384c1a506004b23f70a078528f532b8d00bdacd11062d79a21f680c3c5b41868128f6125bf1ac282b802eb13cec12ecce767e3c68ca87c96a43b6a02881677e22580340e93724b7a30bbc8c38307eaca979e9b666d400a38aeaf8c604b5b307b8c8def0552834c4c8b544de28b927ac6010520de747c3435ae2c032546581dae2fc948edcbe2413d252eb4a90c85a251336a55aa029577c334ed3d335a85749a4437dd98b00afbbdc03c0ceb42d7d3b6a97435c048ed59e61c01e763dc50609bfcc107638d48e90399a4f33a84c07c86437c87fcd92ee178abf55c993f1ae6d619a6979d590aadae9e2af410cfce36465a615001f0593c95447aed11f0e5b8bdc1a213a000cb8f8f2a8e4c890a894315f9c4e9ce325d4abc9bbdaf7fe40203939e007372712bdb7c44f772951fbde42ab57464503bbc380a64f41fd2055d22d11ce453245bb64eb8890bca04c765c5308a4ec95a06f05f64f3a7386f8cd77e84a417a9c6ac01d72e4146a13103a4bb8464d1dd2e478a7e4a7b61f5aca2fbc249f19384c535d334cfb307a55cb617a821eda6e30eb4822dcaf2f7889317cc2b2dab02ef1469c7df2627a9c086f5a5443e6b3fa0f876f0b9a64d6e4f7780ff54d2963f6361dff6149a4953d04b9bf46e6eb497b3a549894b76622b4bd2192431e283480638ff7f7c25797c7f5289d5451a1e0248e969c8f7fdd6a392af3b23189d1bc8f06e6c467350ec69a29bb04354be61c9086b15f61a205c649c895853c7e446f1b3ccf47121591254bd5ee805712193794ccd016a9b5594b92d129a934fe8cc5feea2239df6e514bb78ea2f604ba5a2af8b05d4633dd586fa79f3dc3da34b32750d0f10c8a8b4feb74aa0b156b7d63b25c16a550c8a47131c6506a27d92a80b539af3619fba937eb214088122bb1002fec8a111d02d4eb820c0e5720ca0dc66e4809b32281943704841a274aa59d72249a62b52a7b98243d0c6221e02a77dea2334cc35d59d24ea370648d100861bfd2a901e130dff5f1051ff0c9042e8cbda7dfc4cc650eebf4bc09e17eb15b7d423526dfe5d6e81ae91b62054688ca7a341514a64f0f8733b7e8467f717ca3fadc428a2abbde34e0cf828e9c22331f15ac880d246e12be8609cdc4776e22531c2747f50fc64c1de8ed32a016a2ae8d922486281bfaa151be4fe0332ce9564b9093cf29d6525f900ad7bdf02a2d38ad9cc1b5ec90e7d8d1590356167cca5e6e2ba4222b61d0e8abcafaf0f58903b4b93736db23145da9fec529512cef690ce0c56f79330c8d91231c92d1025910f8002fdd0ff9d14bfb79733bee40befaa1d7576c5ff80d7e8d2bed43da887ab71cd85732ee3e2f88f36671c03ad655d1b78f4a0979847e214f837867dc114b09d1ce523e336125d29c6a6270d828a730762eac6b864a23b1f19030cc6de7c0f4d55ba61289b67a20e215a7f74eb75e6cb459c25675e023a3ae6422c433c5cada5eaf3ced7f72df536218f40cfaf0d12e50c53a9414b2a89f58c3104d22892c6e81c9191f0305c2e4c9a6e2565076aed73cd92a06dcc6dd4cb9cadb8ac6a0d601e850aef712cd55c59c3f1ac34a95a605561b2df358e9a4535f037bc4a3631917dd2ccc402b7a4a1bc4ee221dcfcb0480ee4a2fc53d743c769cc802e835edcc5817e1128a5d6dd4d8363d6cd93836f40c9bbb5f2b3111ae1bf55c269d05e586f02a7b6777a21cb80705245d88557451e712237ebf19b1b830ea2d85fa10c728066fd6148e23d370dff8da60e0f62074c96f6b3e25c01dee2e5c926e1c703c13a940630b400b36f65bc68e6461222e97b1c966f49082110070b9f27e7f683be714b802bbefb7ccb9efc113b1e36d9eb89bc3a98b32c1c1a8b61bcb3568478ef5ed3e002c4dd6c4a2a9efcc96b152cde073bf02524d67c24afe2c9f6776346b8613851cdd78f424dc74cb674ff3db782b6632af92cca726f9dccc0f3825bdfacc34b43b85ee3235fc71ad5e2c9708993ebb9861eb7630543628b6042b6b8c498979ec0a0409aca073bfda12c49f450fa3e8e8ebe2094b469d9eca8940f0a703d3f0d832fa78af59075ffd14607dec30267e34cf9aa05f33aaeaaa3183acc461376e272a7aaddfd62bcc976ff67671b04b00774a14b1dc9ab40c368cbc53e06dfecfda826ea2679871107642a22066161d3ddf7ac6b4f46efcf8dbc7abeb3d80a9d514f516b05150640bdfe9c2b47458ce1fd051be83a598779e26aa22479c8ebdbdf6ca0a493636fab502fd8e9f6687b5cf5cf9ba0eb9d89b0310182733f11fadb4a414a149b7cfc9ac0cb53ab9d40628a393acc00cdc791f7c47054582ac82390a9b277be20516588f26d607ca9e3fa247629837522e46fb834cc979ea7f939e381284121eec20c47434024dbf46e019490040b8bbe0ec72b080893f849f13b637e1a0cac218691318c773e1376206bebc501285e5346be397eeb6b9be137fcdca07c7c2d0ecd9e769fa3e48a3e1901c19248248aa736d5812566525a7869daa87991fb666deff2e786eb22319375d90b4fb2ca68b5ad4a685a802f2ed41c44e21385eb034555ab6788ccea98677619a008214c8afc6ab7f55c1bc31ef76d70795bb5dd16665e9866c7e8aff8bba6386c1a88764306abf9f745b710b804b9b75b91158975a3ce7c6d8d6f72b0b185ea7530760ef12a12bf851c4e49074cea34881b69aba64857257ec38e5e9516258a8d117688158b4d8a89eedb10170c29605a23fe1e7c01a9bd67b1b376eb4170c07998e9316c3400e1833662b5926dd1e3ef9990c0f64a0ef45362337321247af9e80316e37c60276d0c1a1c7daa3d908105e6a65fc4063a6bc4ba770bf19c6d49b65c89d949aa19cea981cdedc796f88694fda777bfd8754cca9a023013cf02993963c22cf727be0a5d40e685b2b7c22fe702e186a639c9015dc1e8fd4d85dbf4062e1b14403e664981c3292e8fb787823da3baafa6ff6139ce40e8c14ccc73241bec1ddf173250561c100c8fefa80934a5a4a9309681f481fe454b2a7c19c260f5c52b62365defe6606d8b84c4e57dc6e241f0c840a7ce7c7845112b4ab962f9b2f39c6b5a055774a9fd728cf120836328ade5c0e7a223dd5a3d1d9ca052080e164c40caf7646a6dd61d6475cbea04f227fc91ccc72e17eec0a28216d0c1543a6497f3583324f08bdb4a5a40ad6d9bae8fe0a26547574a6f0b486b8d587bd7bdf48b12e05c778e9745b3acbbe2fa7ed43dd6f7f9127aa8fc018e876a7f30b4fc07c204f0d3abd7e48a5dd9460f05431985bbd6e902f4ce06bf1847e81c3a9211b15f944984e020de8981f7a00f46af4384810fa3d6bd1b71d759c25159dca041912c421eb0f757b3e7a4d15adbb26dc4114d8555a424fb82e2d952e46fc711ae18216a088031ba08fd70a8eb84539ea8fac30d3df6134b872941f302bbe6a5c27b430dc052a97b289bd97d98ba79213893c63ec0b78a9ec0e7b1f8080ecf64a7eb63ec47b366e89e5b4cf5392d6c81bbf9a85019b042868e4212bf0a5d1078f16d432b961d69de37c9d5254685dab8e2a5d0cf9031b2b04826dad3a6046711c5ca111c1bbf6a178a7aceee20c0b8f0a0c44bf1ec8351999ee51ae9256af5d15a4104830741b8e207ac3e9a297aa652aeff9501f0b64d6b879e1ee2044d6bb67f0c133b5cd460d6ab58509cf151027961e3d592b0c77d27f211d9c5df2614e178883ec03b447c078de1b1e8b3c605f96635cbc715295c5385aa5b0fef5a5def6721cb88c7a5db8a859c1eab447d1ae0565713f874f5be58897344fd014c3d72584e23d46263764fbf3c9eb2bd8275bf7554937fb4bb8b4e6445c47962cb1adcf0723e84b209c0be37b78fb2515b63d6e0ac56059d15ab56449074b8468db85b3ed3038621c58c02e849d3613245290ea7639a0fc05a9f1630d976e62679b5ebc9faddc1986a0093fda1161c62b255d771e4b8bf3025da04fb19ac6cc5b362f8e8919cc452f385e311298010fa5e89f2b1e40b312eb05c4c19b98c0e0f92b7c91f95df710805ff412ac34a942e842b9faf5610cef50acf587132fea3ee104abc99e614bc76ff9c5f6560886b86043c3a821ad541cd9810f0a0dd5c2899fd977dd14e45e4af8634eaeb09658bc1f2312a250da426de3888a46afcd878868542b66e25b0ca16fb7dc3ecfaf90c7452fe22e9ca399e05fea9b5b3a50eaab5a36f8be8ecd8280aa82eb9483a564d8f709a81dbf2b4b4409e8ad47df6c5c23a83e17cbc20ca5581d70717d1022cf4e2c65cfdfc9447cda0db1ebf54d58974bf93314be0c295f7bbc64d9a112ef5d6e3d0b954fe8169068de600b7c7077a065ef8fc313c285a8bd4e9e6e428ec9d76328588f0ec3655a4ea1785e692feae3c507c64d5f6af6ed826dad519568ac860226b7b05e637d5c2530cdfc1a3117763c155fa89c08439dcd51d8fd48227e0d5950a7ccb2ebaaffdd110efa23c56135ce30c05b445525ab0b5a15bf5077c805443d91e5ac04cba80a43292f9370383d47f17372eaf790954b511f5d5d66289edd2947dbdcd0a64fb7606754669aaf8e11f635b94dc04ee6e752c0641b91fa779eeb45a6619eaa6d7d45b88066a8be37c359461139dc06515c677529ad73c197368d094ced68da584739c855ae8cc0ed6ab4fe45636115a29c06b9f3d2d91301b40310357f17dca49778884c96cbc17d5cf755a5bd2db46bab103ac4b88b42eecb0474c5a751c1da93db12dbb8ee64d48e0f7f985494eff36b9f2f3ed34ae8656ce1323654a94c808960bc702622ec3bdc7fe34db72bd397dfe8c3dd7b2ba8928846fcab51f5e5c014c70788ebcf90ec9dba364a0edf726bc50ec49d52d4fa605e063e2aa0ca07b234d57a3ab5eeb26900f2f27d756061113523c22e4c3676b08d9bafc68ff01411c7eb53a0dde97d59e18c7a281e35778630dc02d5aa4b1a360605eba19e7d99b3f60c33a3b710a24f3b9ef5d2567c1dfc97c7c548190127f3c32f6b9942588826c0651792f599e00782e060c81f47a5a656a0524e861768e53b233f45252d2c46286d52a1afe1285504ab2d6f2ff39b0a6245347bb322c439eea29550ce9e227ef359a762abaab65c2c6e8f28986e0a5a771ce22f93ed78854341907cbe1de2d5121348de14e6346bcea160d2fff05c378465c65793ecd9256d533673220835e7771d9ff30d7f1677e1db58b34dd3776e77d54d961d4451379612d762d02766c406d08959a5662eea6c361ad2ff0e654651479d7b8acfd06c6ea0df229dca9c3095b809d1453df9982b5d0aa12f298e40eebbfe6242917c4e921221f27710848b15a70369c94edda8b961e20983db8d241f60e18de3c9f330e03d943c41a450feb53d3255a76f5995654c0346629abdd56949a8662cb8da24d68e810a4d2aec268ab111bf36850da775a864c7bced696fc79a72d261815c4960822960a4ff80ebc987b2f7cc8f957c32864fdf2422831cc73cdac25095b60ad4b70353522b59d0a0b42a9a1408cb5f7d1353d70154d65b3875c8fab0fd39186b09e2b4e83257376c863c175bf223f6ed2043991ac96de100d1d5ac85204a78c39087765eaa020c0ad9c72cded4e498045e7e335405503a5b8deba837371f4df14bac8448557ab2b1c4e487675052f0fc39b13f43dd487287f096e9c212331423beff23e80c7848fec38033b75a05af820f9d01ea344df105b3f2d24a1ea87e96b7e2c5bef3d00336cc7d5cd5553ff9d8e037f63ddb8b97bfc81b6b05cbcc17a672a316c8a83ae859c8b07eaf40e933e709a948921872b2d2a33dc1d49d78188736f17ec5d9b28c13c568e6feb9e178fe1892ddae40796915cab3d4f4e7c51ae32e1dd75b0f0c987846afa893531a3bc07f9ffbe6713371c7febc775ae52bdb35a59ddd5b6287a073be654d0c1ae2125bf576b6a889f4bc1a5b112827ffffcabb0b48129749bd74ec25fd85043181548007e7f2eef7e432bd741d62acc48f7dbb2e99eaab0f7bc425113cf88d5e98adc5cf27c361d876e2dbcd02b4f262972be183f4d47914ae80f560bc83953cbc0d5649005e3d8aadcac5ea42773acfc2622fa006a486067e1430cecf5ed98a9dfa9f6f1b2a0c4d034e0477136c955d84f1040f3d535247d0db0d9f904c57803ab4843a2385e62ff8315b19b3f1f021c5e45b5ddfb64808893745b1b20677e5137afe3bfdea70aa8fd5463315c813b56269e6e499fdb92e08106697e21da1e495f5e60c3460bd51c56493b20f35a71f562889679e80df431258e80691e9ff1e75d9f36fca3f4447f7776991f001315d324337a8d959d03eeeda5c413667d8e2dd563b980a92ebb8097f3cb70d0efc52dee440a1363ddce9858240d6a5385c1059d1c7cb6b8e83cc887d71b1c136d424a93f49f517a22e66e8635e88dff047a3f1154976bbfe7c275c25984586aad6996b27640f27ec4137a27819e134c7b7c937467f8e0e38f645d0a79b4f716d88ffc9775f44d4f7f09f092b3658db672bddc241230a8a961768f7b9687d68f2436f95c6be385a5f5efbaee9217fdbed1fc21767c73026e929c016dfaf1377ecce7ce6e2e9ff3080531fa107de7b58cc68805a903781368a52c2821030aa2ef8ca5c0553099a6524a88cb34d7b246b81da605ec9d581cb8e1d6a6427fc096fd17ef1a9b8c51ec745157319e7b2dcba553e2fd68ca62ed4d217f8d4d94897a18a465c328b1578d5f957383110b969f56485d64b39e1a8152147aa68090b11ef7c48d01411f4b7e1752e401078a62e370c14f431b92642ce5688c62619f0ae0e9ec34bc6e75a1230a51c60d5ba5d25895950523b9c6e28c11b3c8153e91b2ed5e8ffaef7025dfd0630c04871027bc8df334d3224503ba89659b37ddf44bff269127e3ef34c68ca61300cd29eeb5dee69405e368acb99a81f43bdf78bf8b86a39a758ce5c068162bb916c90e66aa7cefac368183cf9e497f07106cbf6428744ba41d84fbdcca890a1bac7d1baa6f1a7bbfc853c5d0cd1cd68d4c2aea367a4fe713103b4f91d27fe2ae2d5228df0ba1cb6ae971214bbbd37a00483aee54e45a9862f9a1df3b214912804fa516e1e997db2ec9efc8ae0301a0408e5b1614a4f603de5dee7227a5e8e6c56aa7d24e18539f6d705963ac21e53437e0cd066472447e24c7bfbb319994b41c85e06d5acb8cd9619a44cca440c6f0fdb7ec9ac81401d8685109672b76ef23d4f15d023efdbf96dc29489e2cdfa07b68f5923523d06841bb80117bb1fbc498d63ac09060bfd429def789d8392e96a3653a8472efbad7a6cefb85aa1a96b2eacdbfd89d28c2b388ba8fe89c0e6c8f8fb02d9569f43b718c1334e2e6570dba639028a986c3e248bb293ff6028c2a4195f4eee1d155de73ebfb90896cb1d620c77544f2f8de1bb109f476685e8e3a524fb1bf40f2c318f3573150bc754da2c051383e45e83093f74e0d7d59e6b848ea48f079df612b1c3ddab0b2a002df7f5bdda52c8befef55e8a4ef268126632f542fc982fa4a1423ab4c5c36bbf270f6e7b4b735675c2cfeceed8de18edcd14020c6c6c53496626957d0e9b949f630ba21ec8ab9f1cf9c1c361cc66f9043e8f903f831df040407566f97ac770285a0c3ecd3d7cac194670cd5ecc66cfb7709d968a49715c2dafd8cf487d7725485bec013df1088175be336bdafc9d006f501e7ba2e9db0dcce623f7cac0750cb3720b1bbd6732bdd055bed3fc4c85de312fecd2f0e264bd0d48dbb36c9c25ce1f57514e7d819fb446b6ac143b8d7536927ac4d138bb7425da9f6142976a99c7c410bf3ce5d8ee4d3b86ac6908c7c0d60b0b336e57014f8c526608548d6065e1b80b5623db8ef04dc714eb56e5de5d0fb95c188fa9862c55fdbc2078d50160ca52e08848770fd4f984874c4bb35f87020d0b34b2b3ba24f02a0f50b2a9b8c775e85bad0a8cce1284088b2426cd4a4932ccc49dac0e7962d15f294406f68034d1ac14fb22ab675c481553cc94166871a11fb85ec3d035375438df4601d72b836883c250290348604650d435a47bde28977ed3a63eeaa8af895f84f26d11bac51a9729acdc7dcb54dce8a09bcbe3f54e2cb1ef16af7b9c12cb3fc41202f6f00e18f034143495eb198985b5c621310fdc175fcdcca8696f8c7dacda3eb61522397995a8b6d8ef2e21d47b08bc9699e405ac39c6a0a3531ce0786da385cdc73e9356513259ccf63e40a89bb30be2cbb792c7f794a63a92875feab222eb369f235cbf0f25c4a55bb66fe387b52d87457710614d61fc5d0098561e0fc792fb4b532eb7001efd50537fec88bba3db04e96487dab4196a4a9f3e5dc71cd0de5a19882377444182be697daa42507e1f44557fbf6c4a4353cc1d01bf4ce1ace6508a09677f858665bcaed81850c82e8c1323b41b6c81bf4aab7a8d69a9ca0bbd4b4b3b79823323dfd88023b254b4726defce9fa2a9674b00a48893cbdf682d5033f1d14949dfbbf957ab4fb97781c06799dc9d2b87ffbb2a1004922a3763a4cc6bf40e4c502535e57e61ec78276fdc19628b6d6cc45d6bc9f3f8d6de6bab6307de1fff95192f0e2e739f392e3fc995c346a3e71468fa61ec4ab41d0ef0bb6f44b1b9d88bcc9b03a77529d494bebd66a98110d265dbb92745bc5920dc8dda300c63abb2dd80c48a6b4b198ae88682d914735d3d173a6d7c18832718f682831791955fdfc3acecf1c241f5c9c440c787db4c4bd57eb820eb3797ea274f578a7c8b534361269d68299d3cbc4e371f7e1a48dace6f07c9a8b7669bb5301c0b8bd88b97398f9d0896984a0c06c7739166cb3a157a4abd05bff1fc5dd876419735a3251f44a95b55edd5c17c9f4308ff35beb22cb4352d7362f6c9e4e2a68df3cfb85f4496b859236ec17b403f5040d309448d8eca8def153b8a65091373c0863217aabe0dd9e1a0af0f8b1ad7b88c960d528856e3eb8578781e7050b5b88c0bf4940ed201f95e9369a5822b3bb77bf04baa9f958dcf40f462eb6c52cc57892c48958a9fc7c71553f2dd1831f07c9569a51a41a4d0ac61ac1a4a466eccda466dc9f0015bcf4580368c16c7fd65ea00434436817d75d13c32611f626d4e98d65e9cca91520b127c992452e05190d92496c3c9a292191a29c5341e33b9c16a17a7b7f803cfac23236b04ffb4fcc7d569172ccad7d2e87785bfebdc55d8e7cf84b28ec768bde206514fdda0134cc53a071263a2885fc251d7afe43212baab8a80029aba10d5d1dbb93590904339e212bfcbc9359b42dd844a133d15efafd56fc8547bbc7d6ba4bcc7e77935d66dafb56709a10cdc729fbc56fcc644356ea7feb1496a9a4947d84e8e7cf1afe32f8f3d039f2d678ceb2309d2ddad9c39bef2c67897218ee8028428ccc768df397263f33cfd6cf30cd236af5f8274edab5a181ca67ce102c926bcfdf12b3a3f2cefdf49489a93360f54ef336c781bfe8faff7d6812558ae047d02fc87e77106b583d2ea1104b6b4d65dd22badb5aec5fefbe25e7287deb4d14815a74f46021919d1c6119b601d3758261784e06a39913f86f8e57174a9754cc2fc87eb0aa6a537f43abe8c1df88a4c40ae1b9d9af196055a97cc8dcd298eb9e9db681fa1f18ec4f0ce63d97e8fe6bed1105abb08763a3458107a8c83d6f8e1273637b6bd4e9d4eecbf69c05f8ac278b448457726a8c6c548a868a364c8e6d36d3886e25b0cc0db047f797964cf0db759cc591a66b76a19baeac4355039f2b4692e2de0e23086212e1515da1cd535b53da2c0834a6be1221f40842e2cd4f007a7dda3ed52915585784b6b505c0a12c2108163358e4479097c277916696b987476837e473d35305b5d6709b1090d316fd0af1fea694e0cbf52e96bddcba18eeb6a7c8e784e1806e5beb3889524922d9a403530af6969ae3eefdd8f3040d3276966e79fd1433169f1bdcf174c52290a6d8e3bcb04f8581e5e3fdf177e2aca97b22dbaf20cb561f68f1456d7fb229c387577a5fa205582b2164b452c186d94d9851b3a35ed160ac38ef6094778dfb27647bcbeed341cedfacd397ec3a1c5641af381c8e5b02c2aceaf52d70d7b4bb0b78469bd7b7071038dcb03dbc84ddbfbc9edccfc1e1f7af96aae2bdb5200f5718e99d50e85a58180e209bbba2db8667c5d206b958418cda2d5b88dba8e943d6e308471013a678911ec9119cf5bb8f0d2f4afb34116146f29aaff5bff4e62db58e67454bb930f01bfc197cafa1604fd029d5cc95c10ac280171ec04a7145cd61898576e8661de8739c8ffd257eb638b99c1ed0ceb58a4b18aa241b27c9bcf60dc8067b49b1b33a7944b73397a88560251f09f8d464972b8044e5b6ea536b84ff376e97e669e1b1191477ef4ed13a3b3125a33d07ba5f89bee88c6a9c2d67849acc7991201698ae27c4c0b8b5be872d2d6cc7de0f9c5dc42a34ea08bf3b60c0d547659e61438a0b6fdc06c81dd3990b265e23fa5769ef31202f192a63e070331ab01b1ffaef737a40d6fa6f59dd1c224bc6fd4872a1ccff4a304dae56e57d15a3918f53cee790ce69a40df8a540fe4cbeb8707e8c61dccf4edc31fcbaf1dc6476a1f52948f3c9cf874b9e43d544a53daf281f118ad6faf3d85d541e6b4a1b75599cfd9a3b199bc01bee2ebd45ddf44c883527b0733cc508242dacdb0572436540e02e6ce71f7123b6ad520b234c683b4f1db13219d41cb59b3bd21daef63d31b6c30aec734069afdcef3d346c242690fb9d9d9b5e47e92d9e0a9c1231a8f88dce520b9bc262b56246a65f6676049890115382b484dff174ac596990ad8a76ea5cc44fa7c5602d720e4c3652c20cd9bec343d3eee876ee84df94840d5980a8fb980bb8686687685d661c5b7dadc0052942e0f9a8ce095ac989dd04e651ab33568cdf5727a1670f6bab84151367a16b82f77d9948fa121d17c2f3f91e479d0a87214e6ddf1303e65fdd5acfb695b30265442c32d7e3ead4cc4d0ae4a1db1af4c72d9dca12282a37b94a628b2c235ad6a345d76f11d7774bbb8f4db1d1d6838d3748d720f93bb0657893766463a133a146ab99894d0de4b3d65ef6b61af488ea2c2c122bd7db44905214ef9215cd941d2c9af8c1544266dd5dd5bcdf2b20e26ccd98655816c05dd6379de4621b6a8ef3fdea61ef14625ee5c90fc8ca5783577fa52f3d1246e83fb446a0190c3058bbdaebaba765481a73248693d4f69f138072d0172e17ff5e2639363eff795dcf8a17fbc6a0078c38fda19079f5cc596d850a1b1c4c924ecf33508ebcea537bfb15d7c1c8d8614c0c39252b4475fd35a52f2a0968e3dedc4a6b98637da29a50f820a725ed26f7616dfbddaac89fd2e86c2e0a8e54bebc07e28fb504ef474a54e3e3428da5402761417d4ea530f2f67ce0a5e6f86d0dd532994ca0f6ac457a066a76ca35dd91e0650696532ead47723d73445716e400136bcfc5153f572155448a81aec45ce0d35ede14d95cf7be675114f27bc7de1b5bee8a7a237536fab65cefea9a9511fbd18ba5922566a930f668f962efaaae0af22aa7afe383b0eaab62534e1f9555ae8cf85d715be95b8e6a05b7e42b495508a4e1a30833fc1fdb2eae18ca6e6165cc434adc5f7a34c3d99adb145d284f4fa835fa1626d699fcd1cfe90009cb3861c332617208c6cbb68618396b3d709a19a755a076395ad0da3aa9b504ab15fd999a36162703e86d0bb7dcc67f04bb78d06700bba1c27936cf7bbed7d9b2eb7fbb97ec0aa1e7104cbec6e8e3784c8c8f3cbf82a318a7e4032e4a649aec2117edc8dc97d50c9c43e7fd2dcc7b9a9c978737f79d6494893ecc7a4c5f4359b15e6c43649004e306c530b7b22d8f8dd45e29147e8809f09727f10cb88d2d56733c33002c330fcc6083ec3fed54c6418a66658865118b16618c661d8e4af661d8b2113ecbd10c939ac43eb69dd28f5d1456cd39d9d72ce0acb0aa8d02919e661b56664f3a3ce65d8f8ba73d85d7a822c03bab450e5969d7e206f140cab77ea947fcb445ab23da2b51a3f6cd14296a2326a0909d2a1508ddbcade906beedb8190dc5862f66c36634053e3966a06f05834ed4a7135aea9a4cdae7d88a96a6f9b3ffa822c36c3e99d1b61ae6b1da9cc6d7017c28f0b381056c10ee1422322a2b8ec5f2e0b3e1bd7da8464d82379730c551c262b318c95bd9c6c2725e7403f928e7e3525e7a6c8bc89db26d849032bf62ef9d49007bf75079085491806c8c4fe1c370b65c69af704ca6b41824d3cc1751bff601a6d09680c9c8868ec0acde4d2999d89a2689a3d46219af7d0901277c5acf2d3cf71c3c011362ff3e5fa34757914314a84d444fba98924b27b2f4f2b4707e78e16f338a5f9eeedc8e4637b07f954399526dd5e724c880f1cf386b427b289c4094573bc5de774bdf080c84b3075a006aa23d72fb0890c22cae93ec7708fa91f6c77a666e09f7b5e7bb33532c80e38f1431cfd0b6322e10bcc5c1bfcd7b2ca9662221d5502850f21495c9e1bb462af750e4b9a2a6d29679c6465b74125f59d60cd29ca6ce17fde07105fec3e2a380f285f6a4c14968ea2ce09dee86615ce56fe6c79bb269ff19057e8ef5c64524676578855328e4f99b9295947911cdb19db9963470f9362c69fc0cd7c5ea8427b0087ac569db78f8603db02815af194446c1557d1fda07d041f328a5153151c1384be6f47d7f53ccf2a785e579565cff3bdefa65bd1b454e1e57210127273861087963ba7093fb880838baab19b25beb9b1558b857e5ee68fe225a3aed9ce12e6ac7b7c011387a436e2afee24a39fddce92f6f8e96cd68a5fce190d2c5c7e92411878a7ea52fc35e464c41f1e087be09a9ba64ac03729f8957c0e66e5ead3c5a34f92f4c4d89ba89afade372b9ae3b31d5b79ad5697f4439faf1119007b903edc55869e038a9ee78cb42d27e9d089f33fdc7da1b3a430e52bed898d0ef26e8f0a731a907aba6ca5744b798adfefe68434f4951f93cceabeb8836ee59f06372a471cf18dac67be3421bc69161d7d8345e7d8fb8d278527a8d01e8fd0526adf366adfde4bdf2e4bdf6249df0ec964e5dc404e9cece16f9b1d3b96ba7d8e9b59df5a38a93ad49be49c9638ed4a96c0928f13822966d5a33f6d71a5502fc7401f64dc256468f5f7943614de5be02515214d85b58154e33055f6a02233fc26b69544886c05e112b3d8f15cd764a030637f6ffd303dc9b9a1a3cbcf9d7c4ce8b10085f09a826b8bea16ae6015b2bff75b879abbb37106cb4898f874109da566afc803a4150cb0ed99ae42822fceb755dc701eb87925d05b4fb6e464073e6221004882984c3315a460fb9d7545b1b391f44c8db44e9a84f0789c5a33013bab88eabd99a767b036ab1d1631c1011c33b4c4c7d40d6fc9ab99d8cf28739364ac337ef0cedc467c6f72fe0531a3be2693a943d2da5ae3073d0a904939f433c4851493f7a669e39efa86d006a08c35ab00c3f60b24304a5c426198a0f20aca6018e63ffee37ffea39ab7313dfec7bfdd7355fddbfffcf77ffd97fff75fffe5ffaee6e9f85f559a97fff87ffef55ffef18fffea8eedf0fef31fffe6ced97cccfff6efff7b663fdea1fce73fa63f48c37f0fdf655b37c73fff8143d0dfc17dcbfff98f731bfe47911ee93fd36519da3c3dda7902ff73f95c55ff9e37e9b697c77f9c47f5bfa87fcfd2bd24b0ffab8068c9fd1b8c188691528a618dbfcde3bcff04a6ffc38795dcc135ff34d6bfdd3fb90c93275e94074221b87ecc308cfc27f231c31f1c2b8ea426885d98b5fd3f4b873f5fa5c2308cab4884f00354d987038e611815ff63f4fbc3437b514f5b3181fee9df9fa5fb1f5026f883277135b8425c8cc04dce300c87fedd80fd8709515b7c5bb35d31397fc2aaf997aef0a7c92a427f87d198dc0902310c03ff0165f73f7863f03b38604a10f1fb83c75f7ff7f3d719fc9f48cd9a53260f23c330f61f92bf49601805cd8783c259a419e2d0611811a6fe1afd31e5634b5d8e2e959a21761826cafe2becffd92043636c15cc59e4620cc3167f9830d3fec749ebb9b0f26f7cae18111846fa7b18ecf7875f51af49ff295928627ff8c5cdfdbff114465198143ee3101e18866dff388129fe98da869512be11b1578e3a0c23397f9058ea8fd50926a11e02b9ac0e7ff092facf14f70794d501cc77711a4d42756418763cfe52ffeb7aa9a08b08fafbab7f8f96f978a4fdfe52e1058a15cebf83a68d696282210d6a23feccc52ccb60950d9616cc035a1b70cb926a1c810d69ca9da98661e6aa17ea54fba8bbf2b55d450cc67afa568102d4bb25cf56e54fd51084ed84f0c565af4c60a45e859322c44a3b7b3580dfc739a0965f46d2851b840076a82541179a6e8ade0dde515a5b02164b9d3afd973f09f1faeb8594edc146718844b6e34224f10941a557bad891f80363133881b5a8ceca9edfff297e8e26c5968b5120e61588d318a54f5369cbf3500b4fa628acb808cec30ae626fa2d731c86a4f43fc7187e9bc3a5c361dae118e3152b7810b1b2c79ea79ed84290fe9d01c30e22532305b2aa6208ed4a23b49a197b9bab3dd50ecea485e714c1f93eb0c2d31701550e26df56816989c3302e0c1ae46c74c40ce83700942b99a14db6803f58c05111c0912cc1592e64902d3faef2dcd1d173614ea932b74b66b7cbbabba76d2051348a8883bbbee83799c3cf8ed0ad04bc3980e8d2c38db3d36aee1abc3ede7e599f2ed8988ae7013bc0534ad98e3e274167e38f19f121bee15d53de726df4d96f5c76e9cfc4ab3eea0d6aaac640ef36cf83c80ae91b577685d386b9a05c2bdc36d97ea6025520f933c4df375c1f1dd844601d11b2565121fc8e72c8e96843518b0c48807c78b49f2ea765d09ea5665ebb6d90e76e33630e88b5673ec665b54e2ecec4c28d6900067dab3d36df869f8825829d5112b78b6c1f91f0db9015e6408e6e2d2dc50552b7257bb2b56892c606274d04c5766445d682bac30ae2d686de3b203da33baf93407e07fa231784402ba40fcc042b178fa89b2a6eb61f92ce115f35d42cf5c0ab8f23f6c59c1a51c0eb8b478d0f31ebed4cebd769584fe6181aa4ce9d9befd9c68bf121d3218c5332c9c5f2678231d9ad54358cd403520fddb43a3c3c330a5273e5cd96940040cc5326314a637c7033ba77c3adec78c34e0253cafc6aa62a0e2e7049761b7f3a949ad4a3e662b060dbde59491c185138bbcb2d713f8f6ae34386597230d70e66f1617b7f4c96f545ac1268208541b9b72b66cd1698672b1d6f747f210edf59a8861d6514ac832c963fcf8752b32ce7d767bdd4b6c9a468aad41825fcc1530464a5ee397e498c1a20137ff0c77f4e989c9037912b6d8376e695dd408f35b2ddb65d8b884400435e2da37fda8689d90ffa539ffe2a4aadcf7434ea9610a3600b0dd7322859606119a4813e39dcba4c966f67b885abfbb2d196d88cf5997e63958df16145217c864a1dce9cd98a88bf14a7b81a0be7bd7fbfd08d926d4c7aba5fa2a885388c46b042386d73155df298e51c999bb22d579d3d7c3e99d907a905b00b5d5200da2b7037856e2bf7b7cd74fb311cac3bdc10b3c6b2cbbfe58460084116440e1772fbffcfaffde1e42d1237ff797c70cef437f9dc4a44ede9deed23b92614fc5a1c42f2a6d68b4ddca116369dc7ea57755a28278de64b6c2ab8a8a022091759dab750b606b20dc3cc64a5ac50ba47758eb27f6d822a08a7073795f2cc09e933234da4225d228616b1035f21173d55d58057c893adf4398dc960f43a71299b9efbec1e61e2670bead1ab08f25cc828e9c87c21f54ab6c475cadb25733388a233e468c8af872c89ba1054cc629cbea343f39314ecf69c04e335431dbec0c044273a82c2a8768570ca31ab74e7ed922b10fb5aea2431e1d19c40c4865810addf06992d88ee2570d2ba353f8c3403df53595eb22a2b12ef2f97a479bcbc06c48669952376c80b5a8a22d9050f79eb150a7aca6a12ce368323b2343b08fed844e4ebc42223b98e042d8d948d75a2cda35be0b5854ce0eeb337e44faa0d111fef9b1391ba1f1bc4792a90310387eb458f2e66233115236525d1f4ec136418a1793d96f4053c177a60e5954ad5d18f12fe8bb281f00c8884cffe1310638a89d66e3094eada23c3505e8f361d65a1f2032050aed44e8401b6fd10ca92b248e247f52781350fbc9c9eaab809229fe5e1ae62d2f5d521f55452ecbaeb262812990c77577481697d6c52917f6335b14043a6e666071186c408cc81f2281b24159468ccbd16d4b9b54cea557459e9d9bbed1b4dd5d5b9878c685588873af77a670e640a86034257c0f149dc0689efdb9017673b5b48ba5988995050e03e517c65b17f1660884c0400470f02b0f394bf4b2478230ab5f60feada64a73f5c3640322433a97b80e8d38d02640588373d4a7ef3f57c290625b928e3c1a9faa809b46e6622251274460a5b00f36a008ca687475296125e080c35475ef978a7d087af2e3116cd9792d2ad36339ccec41b21fa619e2a9cf1271604b7a8cad17101284969367b34e1b70a6a0963e7a9e06848d503546ab3e8aaca6c73f9b33caf4bdc972d20b351daedad5b767f586372b2be1f433f7fd31c17f6cfb7ded70747e0ebedbebf103f5dec3ea276750351036714cb6f93ed303c5529f6457df7b5d655eca3e1264f9d81f87ac0c5fbcdbe222ee1924c90bf876a8cfef2fa63d533086adba997bc37084b3c1b5284960eb61eb6064d1be7453c0fccbcd75ac9dee970efb3b7a365716beefadef073ec98c0fc5e49f0696c396ea7dfee7e19173772fdf6feb519eec63ced2700172ec4d7477c4a0459dcaf479eaf3b9dd36d0e982fdbf98179057f792dc6d8c1286a64b4ee72cf6b60b4ee42b26e8f378650ff94f6c7ee493687c2f16e5cb06a89569f38dbeb7efeca8a9574bbf874bb683c081b13384729bf579245aab1e35290a57de9b6007ae0d9f99a3541ca7c832a2958c402aeed81863ba588f0e9ac3eab0fda1f9b27e579017bbc821d3e5b05d6e92db5aba0d94ac6775f6b27277b7a8f1943b9adf0a49361c6086dd66b890f0acadfd98b9a588283994567dced5a76515de3bea331771c248f92ea85203fd446df0e78a8b35812ea0d06af6e5013d8743da0ce7c3b831971c4ebeab10dbc617d0585b43457b8cf698d1904ff99800e421c4fcf55addeb9c055f650709543b9aece59eea7d947b1855aa9ef17b1a95f2ee86091a73962413a57011d097039768a4eaa2e46843d33129fbe693a41c37273f9b5f53d91255bdb4205ae6a80c878f7d7e227622150361d7e5efac6fc888b1297c91a35883625c9f3ee68779f3ebf9b0aa48111ab98aff3713b80e96e1a74b5231df9e64fddefd760023efaaeda63e4952567ffa4c6ef2c5634d5ab3cd0329a3539d6e99e346bcf204dd537b4d00f1ba5cdc613fa90f14f8ae318cbdd5fbcec7e29d64c3295bbd2e1ea224f53d7c0d94a871181cabd7de0208327c7348eb615b6788a92b1a3536706bd941ca112458fa61291810bcef8a6fc24f424200bc1c6cb266a9ad6ec55850b8b2bab88cd3a5d1eaf40333c1067ef2c2702e8dcf34fab88a15ae880f71df66f313f19c41e3474e6dd79ce9aaf605424d67771ce80e9de93cc36961826761aec3678d8c65876774925607e0f5aa134eaf6b9a436c04e320fc8d8af15af49ddf8b164953c2eb67bc8e78ce6f8925ab3e8e6c0fc9f54e73ffffc63eb64666bc94924b66131e6749efaea779e2b9983257866e14516711ea3625e9897a9e47ec64d62886772e5da3f58571035c7c759cf174d270059af15cb3846dafe5c2bf4fd4010334d661da258ec188971838f60ea99e31a853183ec1ea2ef6efc8fea18c00637f0ad401ea42ed002c90e902fe2ce27b97980dce259b02e48f97ca8dd96d9b6ce0ffefd4e9924e1f6f21358857a468811854948a1afbf3a40a465e6d83a0e832e41f81e3bb3062fed08621d4f6c844078726750b5b04fc2df80b3be3f246e1098916ffe3cf8900308ac6e935710e3e77fe6c741fb963e4766a1bbecbec524c2395adcb4ad2354157d1f551b5c8da9bcb3db9cf26add3c9a2d06283f499d33a45b914afbec41175bbab8c64f5cbb70830932db65b25b5a343b46b23a43fb9a269494e2e50791fa1978d8fac9433aeda8632567d3284233dffa7e1e4fda2c2139c2faeb942f755e97fa85d0c737005e5c2832b93b5a7c426eeddb8d5b5287bf54bc8e649184dd9195d33675ece35f004438cf0fa788ec46f9bd6445c7ff7c87b919689bd7e56f39849fc59de10dc6519883e108c65098e7e63dc69a99d1e169c68d1994e13bc68218eae669c68959e1e66346f3198ce11e46bf998ee12d465598c7e16146a7988de14e46704421ead22890c8df70b0820999fc6db18f59d75631fb3b3e3acf7436ac3309700cb7097f8ab8d32c26aab92d2ab032c4b12e83a6db33d673ea2ae31d3722d4504e873542676eada640d6777e3945240674697dbaa04478d93e90f7bda117ec0e21a08f2b47663034f1db080c310ec590c3f1196963810110d3d9e57207fe5819cba7b3b7b7251f22eb608516907441669500f0aea86f8f0ffef7a34d87e0cabe61ad34cbfd93279fc93cf7dd06663dc042e536342f5e4ee5b489c403b71cc2914ddff5d085b297371e197f7f2ee323c7c1aa1b00737240a182efe1bcbe6c0232aaed0bb6ceef8e23b51083df917f18b28bc5bed973ac18eb170b32629861e9dc255f53a3686aa86acc3befca48bc5e02c74a3f999971bcf854707519c0afbd677b54afbbba66f3a567f9933c32c88fb4415b3dcc2ca48afb6a12d910d1eb1974ebea94e698632154c8b81d19ce77397788f0a6d9eccbbb255cd4c90fe2fcda8a9e0e050a4eff9d88e0500319c07c27869cbc0008fdbd2fb692c136592da4a219b1acaba92c5f7594df46ca0c8e951c65b23125651f7801de2c1336f79ea6545bac601226ba81f316adad7652e247bc2a6d817b30ff6709cf61b8bf25a40b041986c6900da65984f1e122bb51754aa2b1d0cd0e4d74616418f6407ca8ed6b5adb386ef3586d6897a81c14a2aee3beac34a5d5bef10eb9776d674eb1b98f64816bd857517a04f674e40affc8054d32667baf13244110c4ef9d3cd5ce9e26f93a89b2c8bbb320f2e706df8851559419b7d9e44e999f46a1df2d56743b25b12d2a17e416c3dd9cb3f9aa793ec931e0a8b484eaa6b43a1cee95f149039d560255d072f1ef379c26a03eae3d62f56ccabe05eb91fb7e1340c823993a9333c584de7752c40ca7766ff6ced873aae853c87900697b5c3211d3e696bee16d111b81dbf96256c87e61a61e0d9a5a7dc35f825e7e5f3b5da199081237744d1db44391ef79676d1070be089a46dd80fa618566a3620dc7021b24150834c33009174fadd8af022c5cea1a83ad1722ff9460703ed7720d6c1ff64ee254e988933e6fef03f85a207c041fc431de66b3a255b9e031c0cb713adacf344fd000741e521550e20d8cecc0272c6972261605e005362a44c6babd942fbfc5d44bc413598db8fb4729280e7d5a0b859dc1729dfcf131191939de8fc33b98bfdb9f126b85581f0b5fd8cc70a61cd2cde1dc53b086a8ee769427a9f7160ba9a57d367a04dc7e9f499e8fc937f89ed74b8f1d7982f81d58ab87fdb25d55fa8e8b515dbf8f0b1e01dc0f1f6e78558a5f0c016257385552ce3b7b1248d057d4bed17065326d18a701898a708f78c87322c9f01bca579d4ea9237f3813d4844e4b209b972162ab86618ae37649e398fdd5e892658c04152d03dbcbad5014d341dcaa6dcc02459f00bd134bf00498908fb6bb09b3be10074670c4ca822bbefc52ace4e4fcf13725560613b20a02bf73ccea11f7c58b9389d6695c10e4644200f5f687447f2e059b3703d865572a069988b2edf3474760116675374b158f3e3b669d5580d21679c0dada603d4f4c1d55162c1d230731baaf0e920c4e72bd6c09e3144297d84c17462f0f8d6acfb1716d3e89bee023f09ec5adbfb987041deac720ba869e9db7a6b87966d6a380455ffbd825c371d13cbf7c75d331df41b5ed057dd2f3b63915128936e88e816e2b461826d078d6604ef0fce062c9d49506067819b39b188a8ed7330bfb561d8220de540e00bff867f6edc6c09650a41a5da78e12cefa0ba5ab575f04c4692db5e95abbe93388e7580d0462ec6b9d8c57e3d2e9378a3d806f0f72fee789137ed9d29045058b475c2076f5f3d1c58e7e4f03d2cec765c9e25339f9f1240e0cfa7b272604cf2f80d39bd63e197dd9404602a665a037b523bf06bed76689b1c20aa308ffae920260da04ee608901669c2ed4ddcdec96ceeffc7144a401d27a1a88e1f65b1c34fbaff616ed5c21246ac455fb166d60566c903ec8dff440d8fa9446c1fccd58f46c822a3f2e35d94a8f05c0748faa031566016dfcafd920e6b5d48fb962c4f0f66817f3962c59b3589b835f7c4f0ca5da17d3a06f71556e7d72b9d785793cd53dd4b735a8586bdb75d17eabb3af5acdbba5d072221f80d382befaa05e18a06fb085966708a210865944e142586a8c8c7cdd59fb984162b8bf95ae766415019afa750eb920e457621e5db0d8c6001a9a9d9179a04068d9dbb6dd7d7f117476dcb856037435b57c84daa8bd40171c650702ce39685bb277101db960b7c2e9eefccd3ce8fc4e55646c6ab86be31ab96db450763e8719f3947b574786ca935ee09a1e66d6baf5da4ef5ba613f9d017bcf711962b85ef2410ad3be9c21f577647ba8e38c8c4b711429aded3846bbae8b9e79bf30045526d3b85f66ff02cf1d63560d12c06a986d8666cb23777cfea003569747f85887a5b49919bf4e59bdd6b666848d75f1b99e7010b8e0917e1050eb05c61cdaaaca912d3fea8656030bd2f89379aaaad9fa85c7b94f5249b5514420a03efa7b3eccf960387b708848f2912ee0c4a00085ead215cdac719387b9adca52920b42de257a883a0ac01d02c78d9fdad09549071e96fece70ec8052e8869a3456f649ccf0a6d0d8e69b68696754a31868797eb1f3437c06f754bbe243253ff35face8926ce3d402db761b4f3e808e67822c2288f0ad95a366d9edb5a7a69f18a60786b0809f24ba56ab42f49370fb16dd5ecdf710ccb4b530ec5f72e9c295865b35a00a0f22a12d7404ad3f70732cb6fdc33d3b55427dd88a1e743a1ee0e890b2e88692683b65d8d6bacd97529ea71c5737c7c3497848ec67acb6a8e1e30dfcdecd35fabea082515daf325a4e0434351845de4ff9c28a8fd22bc4c3d2033dce65a0bdcd08528f0ad1b757dbaee4ea4dac412e60c7aa7acab7853165a7497c61f79d13d81bf5e98d9be9351dd765589035e64a6e4e455c0c97a1da59900de9f63b61e505d6d7983bbd5e3fd5ae600c16c5da9e3e4a03ad95f991309e2fa515324bade4c8d70ea730dc8ad68936547058c9f0d72ee7e58ef4de1f4d5861e197e7da12fc02490ca56570de9f24242e30b1a1a09cf2ddd7f5cc597083448b81b796f604d0d6e252fcc45b15fadf9dc2b11e0d33ee61531b0b87232f3f66bd187949787f7c3fbcf71e2f003f85065703d5260b10eec2699c7120ed00a7ea98ac2b8754c23c6326d98da169537fab3b34ae2f6b9a900ea713397ce40c8a9b58bf51d7368faaa7467849c0fecdb05bd2b4fd83e6a76ac16abbc50913c027dbdf5a173c4f1ac3eb6ef6a6092d9501eadabeb6a781241ba64ba6b8ac88614034839102546fecd76de29de963e66eee47d77b8d1cbce1cf84158247b7e8de0691aebf86260206000880d185127cb2411abfaeb560d820b9e703219a6e8cb58ef9e3e83c5624c9e67166c6aafed4df0ad1bf14b141ff4aa7c3b0c0b30b19ee7d188962e1a7b9b142570748535e3d19ccb250042fdec5c8f057c49ba1e1f77849e8a7d85ca0672bc460440209cf666fe4eda6d686f80b914e555d28ce02921ca12405947926ee2ff0db9af32ebe8d9571c14efb112eb78ce82e9838af55233c0f672100b09f6d31e94c07c0f241599c67182abd19f7c683d7706ccd52b13661349e54ebd6db823a789548629abb76fb5aa8913be35f7ef918adb399187da76b611b8ca0ba852955a9dce94661088221b10465ee13efdd3dfbad481a71ae3b02f1d3ca6812e88271f30fcfc5d5af62851ecf5397c16b27a5549d84ad52aec3caba4c46d614b3e5e4b8b6b557c356cb87b8cf3f022f18a27bc94c5761c5171aa2bbf5ea8aee281dc031102c45828e48c0af5604b73be825323b92ad2f572f0d032dabdada4f05af6029c173b6a2a4a3eec45a5fe4c9795030ebabba99ea394ee5c937f7eadc95e574c1f5ee00124c855b4ac078333717f4d060c7fd09a6ba5a210cd590a58cbf913985b1dedfb98a79d3c5d3b30cf28055cf534ee5217862fcd138e0a1fc25ec74ad8fe158d57b45529462fee5dce670d712d272d7a37072cf5a2b0f90e769b393f577d6dd6d2a71416fafd9b2e0600e6fc1812040b60d060190793f15a8666c7647c0a5a5514fb8152a002c172e0618509927204b6e75297c50d85725135091d32610fec0a03ad3a390a289af4f0a7033eaa8658f12edade44cfdf401a7f5d1d20c47bcc76e96b0b521febd4dbc62d42727f22ec03720b421f99366364eb655481686d42c9fd1bdb37e82487555a5685996dd3f48e8586fe785753426321c0b84241e0d05053f2ca956bee70a9ec174d371bd04c0e901f2263329390d18d3b0c2ee4bbc2852db13375b3c973060304f024db6a176aa1753f4d1ff9c46b124688166f92cf39722a76c8aee155e07a89874f59b20f961050c4f4a0af84d2261a14e6dfa44f4107b72384e6e300cc0e2f98c5f1c4faf84077dc83decad130cf5f924a215fea4d4a3eb162bb09dae15926b59cf96b18abd8f0fba41cb4dac33249fb3daa94d1bb042e9ea9f4ea6407a8e248a930338c18eed47e16f038139f237f23e440f9c6c7430aa35c840c0523eba70a393253ea62ab49bb4f28edaf9eacd462ce9b098bff444234c8434e8792778c07507fb7d65335601d74b6ad2d1f63b1d1ce3423c1549dff26101f1a9777676400b870f4d62508d8c0c54bc1db14efbbc5121be7d0d4f09b3b80bb38f4b3a03556cf0496330bf3710ceeccb061e60bc8ab106225ddd8142f24b9944629d0b1f130b6dfec5fd0a9c6a03f405a29a82fba5c09ff165fa433389e328c52670f02128c682aa72e9ec8d6f3bbf50f24df6ee8e8117137e567be714a3c724bf4b89dab642b68fa4eba8e6c8cc5bc6f1367341baf3111ce389e8bd2539e7cd87e13cd629100a67616ed06d2e1667ddaff113a2a066446038b5b1a7737134267a643d0b6dea5be9aa6cc9750b4112291bf0ea4c1a27ee99d3d8393a4bef5bc6b93612d59cdd428c6e4d38860f9af3105cf2b6e63e42047cd3736d092ab3402bba4392ce0d80909a70a39b075812600e2b72bb97ab8cd8b13ac76832a7f5529b632095d52793f3c301cba00d34f5878e42539a8a2210ff9e4d156198a0f3daaf26de9dbed57d3824ef32ecc64b78831816a51c25dfcea42ed692b953f266c5f1ca474494d18b496b67160766597616f550614632c6589c2eb03893b5184297333996a93e4544d62e14f166b1fb83b2d559ad00e0ae74d743887ccf6fe0392b7054afd1a7619a07d7438dccb2b2aaf5296ba389d9c0670700728f8c8f13dc223c310832df0f4ba39f5c67111200c308b6ec42cca6d42cb5ec5e2e7b2a7ff9efc18b4d762fa7a2318a3f6fae1a21f1b25fc662e8a9c3e9194d253211e1345ff5eae74ba07ed4ed9a394e754465bd56d928bdf805373ffc36622dcaea6b2d1a7cabed580faf7a74b3382efc5c52468d79c001a6a01029db53fb79c494f236a649c86e69524324cbd27f06b672bed70593bf909593157b39ee8cca4139959b3e4228198db5b7d3dc0670ab3b876377e0bf2883603c36e54ef555cddd7b864c3dd325a8231ca174e92262e559896adfbbac99cfdc3fa39a0cdb1af42dc36ce32ea96ad8e742d5c55a0cec95b8a79e170280e76264a1d474f94ce86a733838be0f9519db4befbfd2bedf6a5adaf6e3012801400058a6a282365986119cb4402eca7992083e25c42cf1bd98239f25edbecc88f22fd84c6e36e4a1778fe73ed807faa1778be410513db763cd94a916a02f37eefe39cd2af7954bac950d1d67b2f641cbcc110b66300b6e99c81a5d51d9f532d175f7b415072d8be5c2f3476ab82868172e00c00006b87ad52d5099e80cc51f9ad24a50cc691a291179b2f1571a71303b6092a651d7051fe78c8e9ba24fe45bc0db82b68324fdb33fabdd35a6487caab21740695339992b37f1e92ae3f8ac2062e833cd21e9c5645bead168f865e92ed881b0d54b74c45cceea1af38c5cc301221af2a3bcef227906959528333555216c803afe594e1575837e62784a9283f6413eaa8ff68a8d0671e801ec90aa3c8862c03c99008887467253d5eebfca13bc5d737f6d9b7c2c290aab27f9ceb4c30c1e785d24a9442b7d9e77cc8dec2a4fc766ed8308930769dfa30c335b3f36ba62b1222a23f596bd4b89145fa562900752db8ff4a827eab383d897d346be186d301e288014681911d6068c00f99e6a755e4826fc525bbbb87dd2bf4223da6bbd6a7bed934eacea4b2d914ad869443fb7fbfb053eda3da48e02bfd9269eb69248d2b3bb942e1d1e6b25f287126db44640296e344d423c0b922fde25eda5c1c747b9d98682afa88fe5c68f75d675cf4a6ec758c4620a1f2868f1f785e2d58ec8f9537a027db73bf3d6b403818ef4a60e6f2198a414aefccadac76adde8581f2bc7dd519e8be100642d248bd71dd2fd636cae9759e971a8ca14a34a970998fe04ecd75f7d8982c6de4e0daee9700053f24489c4f23367f5447c973af9dfef70edd8176c0b86f924a4e65f5a729c8901a2cb84a60791db7e84fcf37af8f81c5b1db9c92a6056b10637fff6d4a70b40daa20b9ef71c77a05ae97e719d8bcaad74c9dc524aadcd5d1bebc34984d0584494079eeb9223b8f70391b3eaa9175f49e237a1d7f6f59b48935403890098737d436f83865d2570fd9c491a2aa9ca8cd3d6572a6b2b15334f909191c4c1d0bef729d1036bcc40fdac4863a6909e1b291006c5c78360d56fbc07f3e5eb65160dc4555de6e22d5990742e732443631a1f3495b7fb9870b86b5891ea5fc94e5447af2e6fc913f9aa1e1f82fdaa43e54e15c747ac147fa2683689010e8cd704ae5a15d90838c0298d8d700c6c0b4a03989a54290212544a07345daec9830d8bff8e18bb522c72d40c3854eb09a1278971d52c2e8cc2ffb2b56cc4caab7e5152b001fb9693a6744fc13fc92239ad02d0cebc94a5ebd2091a1d1d483c830c908ea53911eed91187a1dfb512185559834f9286bb6875f5208ebdece031a708c0aab04dba8a079b1f831878b3ad556938ce4ce638b28408c41ecfb2eb67c2a718f6e5f8967c48c27aced7bb6f5ce23075bf4a15a437b1a2bf086f29f0f024fb458be193707c310f761a1bf149a9cb86597c4e419df972856f2b910229e70374a6691e15ddc3c264691263a3ba1351084afb42afc7f8082d99f326085a9f3e97503a1dd62e83a2c9f891c1cf7e224c56fb562e8844e9c4cb1afdcdc638a7c3b1f4948a7b789fd5b6eb01b307084d5ba3550447267e3b73e1fbe23a3b0f2d92a9ca18913adf9bceddf91bc023086c3bc594ec6d2f7ea82a1cde6d3f03743b3d80fca641fc467a9b9c9ee10554a2ca7f3088ccd336fab8f5e8175f0cc09478dfd94c9e566d708ffc782e1ea51f872a62bdb08edf9ce18ab960af10cde3e43eabbf3d4f94a3fcb23a9c2912c75d4408d89d9c295c5ee27b59cafb7afdf66732cd5b02bf47c16e9e1dec888b19be8c668ec462aa29f3e2a0bd66414c00b1c1b3a3f888da9ca32922761f43ab5580491eadf1408de7d9bdbc10df2bf77d7554618fc86fa8547e37c3e7484b5f3efa2d3775c1189d03df76512dbf23e935b5970fdf870c5e8d847fa2a67cd7a9f57397e3aae4ca714f3f4ee5272fc1a79802aff3daf4cac0058bd2ab2da39d978abd9e0728dbb5e9c4454f94bfcab6aaafca281e71858739b805d9068ab7f07dfadc37ebb2d1b2b29ac6ac0e8c25ee6ce0322e8c5d274bca798af356c247176fa9a8868b727ac55fb832292e69bea559a6f194448b2a93601c9b9bd4e6360729d2a8a3715b35a4c3cb611aa9f61abed0928836c7e57c272a7917d1ed2d871a818a82f819014be57ca3e52622396328801260dc08a82f08e44f98fb6abb266bd5189033db17a2ccc8f8343f45dad2ed492185e7e694d1cddb549596c3d57d3d94252be2f997f024278580814d422437d854d6981d78d0648fbfb72f1d324e7244a74fc4900ad321df305c13cf005ed52e57d6000294ab23c1f108d3b16e093124289003c5b03fd707998e563c731406b25f6c11d624dfcb7eb87e2a0374b7680bf73bbab6ee2082a776014d89d8644422bb5f963838c9cd430d220013ce84e284ce76447f92c5229f3288b4539be5f26ddaf51980745d98dd46dbf1dd94bbfa780bbbcef3d689ee55f66c55f61da6e824034b57f8c0d0eb745a4f81f92a476a177883a4cca320cd7d7baffc488e08484bd4e15e02b0829e35ad214257f3862fbde9770f8a71f8f59c4476e312da19200e057c32f9f6bd3ccef7ab2cdf9a828ff45a7c1cd3282bb454bb2dcef60503b6185cc36d27866c02f1b0951f132c914d928ba5d1814c26309a3c910aeee1ac1993ad767916cb7ead34af7c87864fbf91c28e0063a03af187cce0a50d49a291f5e304812897a1cb946907e8f10758cb2b21238f06dcab606bf5acf3e40cf264f718552122d5ebf9d65dca414dcf574b6f2deebf82ef774491b3c530853a2d44a7906f527a5b7a1e6a2f41b84a903dcff272301276445089d406d68958abde1692acbc224d06b285036d3d5b8e4a17ece7a11eca212b1b36610a2e9fc3a0a10684bedf5a579f80f6d809cf97625d85197ad1342dbbe8f40cb864d7bda3718978d2992ef9f912704f1cda12eb3b56f9b17e7f4de1222787b01345e9c3569c293a5f3d31cd495307a98985de615c94f09a3e01a405fe27091514b0dc437d48abb05ba5f7770126046ee9086665d81ec9a5b67a25afff1f0767896c390000c103458449262fcc4c2ecccc39fdd65f3d35ae4d9b267d308323f09275ea403aa3e32fc9c3d13206c58c3aaae8caacbe59ceb17b760223d6ac183ef463ca0f85d2841bf7cea74f689cf74444e4d45ea1dd3118a5c750296784966d75638d35b76bc6050f235e944eaec11277d5102c52214046711ab07e4966099bbb5b82ad9b1166e1e736a8dafacc70e92ed93c6d3f96b75765df8c8f690772b11319404d7549a03e664ac0e9f9a813eb9d6c000a40fa2043893b012638061598d21a606fc7121a134a5a689abbe00051bb0f0a3313abc4745be652e229233b9691ede01eb356e5714e79eb78407cd95919e64524d23e9ff192db02c9e52d2a31b697817aade2335d7f13ae548de0d7bb10dfe694d7059e73c23f3913d84e2ea527f61c5187c6c3b1c75e86d221ad7ce8f447945cecd6c0edba9c3e93f636769c384d39501c8fbceb7e7b143f89948b37314bce9d52665d40b10e6327f1e58402d913b4610da1dd8f39f68de32e738ecbc6a4d5cb5d64293e515e5ef92d610928e274f1003825b0872fd6ca95db6d5246dd4593379a197fbd66d7ea0fed54c6cc58b4e396843bdb45f59e2b0137c4f8cc1533d35038c62eec5f85061eaf44c21ed10bf1c45404ea5fa713d0ae05735500839d055cb9a3a0cb34f7bfae861eadc25043a794a7a3d8fb2326c79bc1f069c4c8d3d3e5d9d406f77e0fb2a1bfd1e9f71f29c6ad18da32a894e7b29ef57b57df5ead4b5b8258a1dde02613d874ae28b76ca7518ec8bc33ba3f2eb0dac6be9cdaaac60e98e1ca00eeba32139775f576604ac913de86797df9ce5e5d4d43913b5479c4ef0a04eb38301560ed6f14a13bfcf5be7d95aeaa8704f76692720739e23b8fcb05f14a4a6e7ff0b409fd965e91db6b897a6dafaac0a1a1ca2bd14127ff37b177ec14de6c319df5cc634c0c6809fd7d20206006450ce07da219ec646a711fbfe0de199663648c62677d19cdbb2a0d91cc85533cec6957aac2ec7e3f6980945ac7c4f84b6694e439f7094211aa0e30ddb99b347310aae705dde7d133d6d6dc99040bf645797d8b97d26bf03dec035b0b6a21390416bf4ad1fbe8cbfb80201547160416c7705a9d7ab0fd9afa7e53e57fd19a8010cc53f770ea0057e112f393cb609c56e31cf3826443677e935eb8d69ff5901fdde386ddada27eb2f405755c1d6bf28ea0dc7d503862742fc23ce4ac444a6b1c1eff0d85319a642ddb93888808bc8d3849fa96ca38d370c20a3c87d609697c5e3a8f79e42befefe4f8f9c94458fc4c008baad61a9f4bf0a726fd844075d3adf799265cfeeb5bb0e61e3f30705b0d948c83f1dca32eb388a9a2b234f8fc3a2a2241d84d2d33423e72db43f882312841a562012f2d48a106834183768607ceab4a23b70bc2037805d6c4f10f5ca0c09caa0c491060f82e7fdf673c259bc91073054f2e7485b0c3e6fcb35466ece4fa6b06ac4fa5e9bedc7c4aaed17cdca82737adeadcef30dc0281c2613b3f49667e2d614a338bcd8d7d1fdb4c88da1ef9ca2727b69d49ca0a15967d87a313455ebcd22090075b495419f341e525f2ce85746630305e5be5e1ea005bf54d1b1c1a5b821ba7f8e0a0de03214c8af95031e4260c087454e82d2af8aa82976b1b420df2d438979f5f5466d2cb793e743333b1b75f72ce041ddfec0113cec86ad594eab2bad707f0a92149f06433b881b9f18512c33735f9245dc224063d917d0e45791db63cdc4ed22e0870b41801ae3150948964250f51c14b9e2347922b918f7d6bf03985dc3fc8f89424e2a2fd692e868284862b19e19656e9a93368f6d38b2318186238186efd78125cf901be86c3f8f0fea5ef93e989cd0d5afaf80ac6b1293cd4c78ca09cf97e8cb2254f3ec5451af22097f527085bde0a9230477e630681f00f29aab214ae92c877ecbe2c1efd51608b2ce4b4050b27bf7e5945d0545e572fb47b25d4726ea42638e5c70fa10d2d3ea1a11bdfc7cbbccf20ba8801fbfadb05c7c794a62d8e4a643a47127a2ee8303ec8ef5f5d6cc3a2ee6313795ad65f82cc4b86aa719b54c6d650b0fd195ddfa055209c12aa46c6226e12f1418292438c60a041845350371a71c122fbf42b019989ae0b30134bb46d0b4897b2a253bfeb2cc42fb604a23bfa15e4c46e028d26d9692d734226981251c83166633f965136e753b52a1ae6aa667ad779bd71ce87a47b4e6f7fc8956af55feab99f83d74aeadb1edf8b16d439f2cd38fce7f2fb5b5400145b0f3921c6969f1570799e390a41256a542d96d71926d42511ecce2cb319dc855aacecd00cb98a608e705fb6f93bee3a116b3e6678cde33c443b792a6e7e6f0d248cd08f1856520a07daa504c76aae4002b2c4cb7d095d6077ae16334f7f1a2fe3e7459cf4011eb80c4b88f7356eaa651ba4202e66110943fa212b334e1c473f98352d470ffa1609c400ed0b064ca2aff5c1104e9600702943649d846435526584d41cc18b051b3a455325e85aadafa35bf0028741efd0295a994bed72429da87ef4007adb5004b2d2c47ef5b3ecac3e63a3063d26bbf55d62b719cc85a166bf4ce6dd9a482873f8df390e20c06a33f127e87a893307ecf786619e4a4ea23e5e5c6788224adb1f094e67c7a3304eb1674b89b188a1921ac1b3816023ebe3f71ce7b14d7c763da4fcba45359dc4a927ce36a20933836f6ec7cf5e2c2d4eca304f29032ab821512149415862a76081e002ad00e8936016c45599c06a6d99e4104bbd12dd1177464f8dd6aa99cc1ef8bb5f09bf914a52ea8cd9a5d554129fe68dad0f9a9b8af5f4ed6750949a8dd43af4148f4f2be29151d4c62864b8a6434d6ad9991105253205602eab8c8d603c8f4381ce82b9cbbefe2bc1cde94141e73a7a4a4705e08b4ce8e87680a34461f9b56f5c51c61c9cedf30266fc5a0b912fea952ac8e832dcbae0a3cf49e847631ef624a54a022564ee960cc070d7b5fcced4511734a6203601c55d9108e0d45171e433478adfca683ac0b9616442ea9f6ec4af88396ecd6a9957f2793b38a8f18946d5ef3ccb8cbd4347bfa251b1eea760e5100ec24f5cb7de90e97d5dd4a21fb5471607455995093a180d53d211b14de3c0ee3183dad6d2b2f9344711fea8d43c8bf82b0c0a2d034fc3c9514143f14a4ea235a268a35f00ac82881f22ea6aa74e03ceec356debea5e146cca02bcc5c8b9deea616cf42ee8ef1a760efd290ed8e60bc8d2f36781925759480f48e2b99fe7b99a57a8c1d84cce989f13a02146ed3b2d01040505c360112274c511b56a8057cdc1c7937a0f42bb6a92298b95b3db85672031add4aa2f779afc61eb7645b906aca112d017383bb2b16937a0641d318f4411013beab12039cdc00b627581a607d0c307ec5b300175128a96d46182b803a6f423de5e913df1baf3887799baafed68ffeb8b60d935e2fbb5d5e44882410c2be8f7eb8f287dfbd8f9ee3080e9dabf5fdc10d1ba4e2e72678bd1f79c4bf7ba081192b57566518280b655199f5859a58713e95ddc41aea66e4830fde9683d2e303cc1aaf9f14885dfd05122d675a373a05fb7955bfaef20aabc47a5d49a4658e6cb9d5d24be036d52eb2c82d676900e14a2abb6bca7b3d3d9bc4d90d7a9ea125264babb370aebda00a024aff7ceaeaddb50bc3ad02f249da228cc731fa2d7718ff99c2291680da7722805cc247a91abe1f91adc44109a922cf6cec58060e5f3c63879b88e301564cafc9cb5ef036393e1a44f1b0e79a54a7401ea52dfdf003968105f11c5e5c4f5e5bb8b5436ce503fd1bc3d4bcde5d88d3bd165be3ac1fc346e5ddfb7d8a436b69271c1b509e554a60688f878d7804351e953aa92baa973dbc30f92716f1ac59bfffe32e42c5ab50a8fa0c292d88853c733fdb8eb2323dde8a7cc446598e6d5e2204e2543541144664eda1c8486426e71a3dcc05e497978865e3f4a58449b4d015f9b2b9547854a95e584165100a87f14e7cca63a423a2428ea9155598904d609c7910cae4cf2d38609f4c9af76bbe258ccf9321ff9d8ce4d0a5d3103ae91c2ad7439be35297fe2b564121e87e51a99718f89cd5af5ed7ec8ed791954fcee548d0f5df1be344a1a29829b0a4b4c455d353faf6cd7b2549d6da92281f94dd34628f737073020987bd2c98a0e513b226a76edf9282becbd383e6c7cec6d3b849eebc661868b073fa4815aa719dc3cecfcd2ba1688d98e3427ea182a4c6eddd38cd79b5d4a7c11c3c30797f6f87b0213d5753a47f3d38dc4b424862f5454f6a16ebb6211904f7a039413723f4837f415044f801d60320379e2dabc7ae1d758970533c76f51211dc34c7ee35ee428033d029abff8a10cb7dc1f5d289f6c937c6515e23c99432d39f6205a745acda2c2649a36c57b1e0a22245b58d3c080e6d515f05d09446f9b201cfd3e90bef1290210c8161fd7b708cb2f3043c6d05e03ac83709d2484bbd275fa72fe1e899cb352f10bca82b387066eb67aab2b00f4767a6c40f6f2d92054a8e858dbe46390d1053a88326eb27bb26864ded3e0a9ce823dd2f6ce87a0f0f786863408ae93daa3fde9a19e9c8a2fc43563d7ad8a5aec6f21f86c7fa48ef25f75bedfb2544db0c4e2f9095d8139630e24f99705366b725229ea3949af9adb344d8a2b05a5d5e1da7186d6c63840fdec6ffa3d96d4b8a232a31fca82bdc51d6fa64a6d8066a75776250815adf0437fc3a66afc2d6b6a55bf722d01da12fad0687ec88ed8fe4a37ad5c09b240cb014146acffb9039efca05a1d035f2043c2099a037e8997ac357000566becdaa5682392cac196f8aec2da380d4a2aaa881c088710efe7751d4ab01f4aab96df9fb327e64c8bc14791629bf05af1fe3bcb7195ca43c568d8b1365d171131e748b397cfbbcad9d8a6e5f7fb1efa87d3d931a72cbd61d74b25dda2492d2af16acd80019cc072743f49882b7285cd17f62379e64ef2a9d52940cecffedb83a2da8a89769d00a50ff8723092021bf4cc8c88202c69e250cc01001516305c524b78ec81a85d20394ea57c50c8eb376aa3310610148f324795be06c16fec51ac5569b63ff4d986dd42a836ca0c332d6f686953be9dfdc87a22df67a9f6d19d8687d2c2cf5b265ee3bbeb56265eb1e360824ae0f00ca470f929755a5508ced74506919f3e5c02e4f62410f77c8a040f9ab4996286e7c00c7df95be19998c3522290473c6daaa9a9a59af9c15d90daee27a1781f109e98a66e78e1608af1188821d464ae7738fbeb075e61bbbc5a7c1978504517421827ea5000405f7647e432a8deb9be9a3714eb4c225fca146888f5bc49caf9416e4df9a100258f7d84d31c618e652d1b353cfe4a4ac2eff08067bfdaefe29465797ca4574895484ff4f530d6b091fd20407a34adc18be40c82f9a3d2bd8ebcbcae639bf965c589c486e9bea79c74d0ce646cb7dc6d75684d72d367159014d23913cd15e73e794052997a849d57e66d18294a658f223ece1614154d480396d6444025f9bbaeb15ba02fb81214a52bdb92e368b4d8066e7a84a1df5fe86cec491a1e236d7568898901099eedc57a8e9abdfd7633e420f5abf99e5551bbf2484702465e07bf4c1192bfcf1c0799e23176d5f76aaa79982a71d7b49a2a5e892a7ee005c558c396d2fcc68ed04c7889d18d40ec9ed00f007f10a4bb23ea5bacd4b056a1756bb14d42471ff0b402a4ad11dd9340df1741a161da2d2a8cc88128c1f278542470125fdfaa2af0cb4fb147bd0fc59bed23fade9434a334ab05ef8ab89338dfe223b2dfb72e4407dd3785880e0d75eb45e41ae68d6d9f945d457a76fa1c8e2527be59f53ef520b95a62977423b7ebb7d7c0cab503d14416246a95e85b7369a2df2a8dc50694aeb67531a328a2ed85ca71d593edf48cfd80648433023689fcf3dcf491f92d9d2d786a83b7105c462fa114bfa0a61a1b7b932ee891acbc4e2904c0942e0f500cbfca3a2d350ce19c02749a0b112acd77b4f4c0ca9cacc94dd063fa868104915d9248b4a36708fd0e82a2524ce248f805b1d458f1f80c73fe1aad0a21b9e1025107a3cf8f3bcdf4fe4c19e88561417f6f38d3424745228a9b760e73c5877c9c2256154ed8450d5ccd9e5a8bedd105ce194999172c31e21dd7e6d7aa1be2af5f5a8fadcddc9a6a09ee10e2ba8949da41d4c0b6e98637227462c5e13e6080f8f765a23b226762f83a3f0b5dfd5ce112f5d7b35128bdc69ff8766935305e9a6c4938223c3a2aaff399829c21155459425a19d6c625fc8bcbbb0e6dccfb894740d1addbf74766fa22a97be8c8bb9784ce4ba106efeae75e439b5f813c8934663311db5d63d1126173bc1503cf6b4326223eda8c7da25ca81706ae123e333cbc9afb75097988bc83d38d864b484cfcd1f6b73d6f793e5c94f8d37f31530cce1222b7792794a11b55ab573f02cd43552a50574ba149f991f9b999af311d56246fb1e09b218792672a1f088c27d4dcd7fe4cdb4197d77681dcc55278668cecf1cf293dd621ac70c02b093ab053ed92b2ba24d00019648ba6e621f1b6b0a2d923bf12e4a5ab78a65ecbf0411a369a001c738313ab02090100f78a37919d40b56e6c429edb30c24e81d4103f652ec4081aa763b2a6024f74a47f6e1acca38ed8278973b0372d2f880e3e1a45526f2a4814e81da6343a25276bd292bab4e93f80340a38c23640e84dfe4e80b8dfeaf51334795beb264c7e0e25a75c974ab728ea15a3305c684f8d43dbfb28e8b8b97935decfc9d3f31a1df7ef656630f90183c05d9908d384d8275279b9154c1e8873450c447cdc4aca80a8911130d8db693a71d14e0713c5f5603090ff115c4455b2191c3cab016fc69d2176b1502b1bdfdb027d0494af864d1f35772d1fae809b76504460c50be50e79c92eada2fc26f9e27b601b2f032fe7f3aee94b545822edd368b2371be3e3580a74601cff6a4c88e36580418ba408233fb8e4c9fc8ec3e0a6061fb64bfac150aee92f8b81990ca428b5b81195c23f3655d1bed839a4c30d9fc87027354a99b164fdd0c0c6a97c1cc669274291c78e503e1e208526c883a8c12c3a6cb09a7e03599c081a814252947a18ad84be9f17482f45416b205f4aaf195c972a9c0141870749e3bdf098c97a58eb025ea5f2f524dd98f982638e199e15b0cd335a9a17da1993317c418d90d449481da9c6009302cefe036ee83d8528f75c964d911a6c650fd1f134796daf3efd9fb2ee398d098dd9c2739be3319921ec91899ad50381633c1dac6fa39c0f427a98b491fc5208e4b2a0f3ba758c028616f8169a1588d03e71f3d2cd0598d0d3b5da6a9b915504aa5e7e411d5aa4e07a31758cd7bbb1245d74089d9c083dc633941a628efba09575509b821bd3e74a0153afa5cd4868ae557948a2508edc6f37484ea008ea1022313ce424675161738cf0d75dec850af7a495b9c304972bed091b7b0445514555d41a09a66e502e307105fd10252c5d1eaede1758e0763dc7a0c85a908373c0927c43f96f22eee68e8a864ed64efb799a6b1f423417389b53b38d75d8059c1ff4ec079f13f911e573645dfd21cba8fd0e247b602cf10b9259b733d6547038f34854858d8ca89b0275fa0cd11cd335b3d5ff09db70282cde4f6468beba208a84fd650da76fcc784f932a08b251d475624382de35f5aaadbff8a053f6c2da8dff5ec3fd7440a0d42de53f9da89fd9037504e8636526f0e18df3a2ce662c0cc764fe5c50982beb9c32bfc7706cc2417fd6e1e9ca413b3fac10f951152466567369e704367803989bb093d71069e751506c41191c139d9b87cbe6293845618b9d35517cd7a921a1e295e776ec7ee4a306f3f6bd99c20ad626970047884a87d6a4151e228ca1256f245222613cfe05aa21b774cf71e4f7661c72bdcba0a990cc731e478c93adc33b10978db8aee09d230b2995b2bbc7c09a6b83b94dfa9f3df8240bd5c5e869204aaec7745e673004348645ee03124576a0382101fd7b8440456d2a1bfc521dc31a5ba1130f405f083d8e663da2cca46010a6c9c5db1214b880f10a8c153e08c5b3b5ee15fcaa1fa4f5abc100c78206948fabb7a695e82adf091d01eb95badc15183fc12ec6e2e8d64b3c58f550e4e4c5aa61e2272459165991336afc7df292334fe145d7ac34f7e98d6bdcdddca59a32021cf400c7e8abd5f78f3b0401e711624b944535ad4f0594c58a006405ae01418d465b1dca77f94152f8f49316239a59fbd38c9e032360e9f18f674ec1b13d135b29b21251d9459b374b787b16fe06f9bcddfb473af290291cc94410b301a3d0d6ee8ddf4b692281d16fc06b3cf7c4bd84070398108914dd4c6122c66db20dcaf8d02aadacc61241ccd11465a2e63319ea6f34047b8d56ef66e3d61ab4abd7f8d20cf53ac0e871628da1109d67c67ec74b6c5bd322f3aa6c694cd11d8d53089905c5bba25b84ff4261f1a36342d449f31a81c5f3b06be76bf2f03ecb506ea1df4063006f7b7e061d6df754835b3c32b2eec0003455972f5176adc470cf80163416d91b2b70f249238661941ab74fdca4a930eb22bcf0c6a2690e6ffde8823c04b96fb3201d3f6877c6d24bb58f49f5bc5684c38d3924c50ab78ba9c85d168b4a0abd3a09ee44897823971afc8996d13a7e962dd855ea04654d8ab8144b40bcbae71c1a71f7f3e1ec69ba8d90afd0123b86cce27030c509c5d34da8d864c11921542240a1c902022267026063dac555b008061646ff1a94be1c1b5d3f7cd5aa57c0d5e29e588c3b6b71680ccd687e1d5a86f3e28184e61e10077621b8ee22679265fcb2e02a6d3766ce1a70955249c17e893368ec84792496948027ecd9343c2b959afa7e19169375789867fe739ddb3099690e4455633f7ffd8529ee3ef627060a677d4271860a407d74f97909051d423066cb0e27224266d6ecd056f5709608cc7124f0e104f416b62040b81e4459acb418b092b38c3183802fd5c2e85909cf57199b07b2016150e37e498d14d70600ed05246b35c9284fb388015469ee6e1799b063298bb4461d0a4a1bd8b61ef39dde2ca763dceeb31b8ddaf9c62ee503340957935788b6a18427702c468d3116eb526b8cb404cf207165c0476020c5852a01e0e5aed9bfa2d227fe3b928c39c843385a68bdf85f00f0a37fc5d4af95ad69c5117adb804bce4a072962218a921f75737e74e63bf66d5c4e315ece9097ad8f9c05f137deac11ebf9c017dbf7329ce984e6777d73ee3a9fe6e8866cb9c2c3dce6993c081811f0f607793f7c1b233f0b56527f71b6e30a672891203e190902b109e9d20bd0a09d887903e2326cb42cde6174237b18bbc7d3b5a9c3aeff9c782420306089bd53d24cdb755813654fa736e5532ab18b0ef6aa2ac5f2c927ced23d41891afb04a4178c150bd0ec386058afd13fecc5b6862d3f9afd5c0467b443ea892dc2e9c7ec14d182e35868d02a3bb2afc83f8bfd4222169a6d57c51faf8eaac4c9b5fca8c9a526e613bd69a6cadd5ebc86a1ca18f863d060a61b520b3673180de38a3d484a8d21d589f6ee92be0f47b4a77fb5c84744d18ca691f44710bf4ae2eac79ab8cd50f2e92ec087adc7f46a58a709cdcf9ef9532773b4c1545b5093f8fe64d138b7bf8b1fde5d86d65d381ccb12b6502f6047de4a4d1dc43ac30a79fbbd2a8a87705352aa63dd66cfe381878a99e0d1c6ba362608434193f13dad55aa0c0a2e3d058a62a48fa08127c2c473b406cb2e340493f901f5da030b5eb6392dad13a21aa518aeeb62e2bb14425da9429636961c14be5118af3b240f1c012bfe7e461855ea19d8d519c787effd84090b061cfe496d5aa6bad7c247b4ae2e164869052bad708e095dd25058ef0d9d96ad16bc8ceaa6bd7a470f76572d67737c9d6b0b7dc34e1a530936ba447a0a930f64628fa6385b1eab277a4bdab25517b65f8cc0aa3c2b22379c5f8e29fbc15f6cb6315d92c0f21315aee12891eecd30fab8c8ce4a7de31b560990f1f60b406cbec8af1aa876bf4ed421a40afc568406dd7c23b7b3f31228aa1cb23488e8e88054356c22b1460e473ed5d586a8aa04a198e5a05b11da00cc4117925bdba063a4668a2c21419a7e9b0554b9e23e6b5f140561435abb91b5bc2bf05b41c332adc3cf82d5a22b61a44be0252bd7146fc21c2101f5e343c0364cb41fa1c3180e07b036a5d461c0fd0884c701951fc3cc1a9cb524eef3bb6af3a7fac1454c166bb911e06be2f2cb95a22d77443ed12a1f2b4b505d23b5c9d62701148d68f08ac3769add46ca7f36036771bdc6376ece776cf95a6bb8a9a7561567c6de7af0f537b432fefd22192fc29c601a32144a164be99c7afd3c7494b6d1339202b9586ea5c42b646d81cd2619401d47a8417765b2ebfa8d67396265951ef11c681202f0adb7756b3ea2eada75ec87d18f86eab7a66351ec6776af99468f3ded25d11136e82edc8217e4658c964850733943a83385786210ec41fd5a10a9f0d4c7a7ac14deb95b27f4b0a4bd5933aca8f395cd42ecc80e38f3d83d135b43d5a571db231a03de89e7b0fd1c92d76f8a56a71143b6db859eddce26562052c83e48691298ec36802bc2a1d11f04fab05fe694f6a78da736baa536727be58d71182100cbe27231bc9f98f371a91151d99d7b81873786d03dfa8434bbb0dad76bea2816e07947f7e40b042395aa6c90e9e1e61dcf67538c699e4b2ca99562a2aeee7ce9666bfc08c5310d1896edc8f700ccf031059458dec997a84beec3eea2c85e45647753d1046fb654547f93bf93b4b90954588118d779aab15ef82e1296e601894bac21ff1031e1e2c68943c8234ccb1d908a892a523fddecf74003f3ce6531ea7d702951bc2b059ffbc4fb7b9ac368370c4e1403fa9a0874925c1584d747c67948e6876474cc73b2144418b0fe4143da0c208bc7b3c41fd04291a575ad03d8fa2b6af551d2574bc2563d5200cb92e6f14ff715b077c11adea44225d30f7eb2ac83376145a2ba6ca91482587e13b0a87b8a753d7cf0e8f2c077ec2e6f07ce338631e78e2ad4a2b13c9c931ab30177727fef089ea770c1d0b1936d509313c5c021a5e1267d480b84209852201b3a17a12f00389394824b469f34cb311a412b1c134257955d5a0cfa3aaeaf14e4222f03befa85689fb3d8942865fc83895307ba8b146c8ab945ec632376ad2f420303aeafaad57c915496f54f56b65461e16ec89e7173e51ac4dcea9fd43d0762751d85637ae7a5a656773a32f66abfe2854f6def46e0b1f84a0af4e4da029633e739b11add040a9854f398482c04411e8c4f04033bf7ddc8f969c360d2c8b7c9bc53c367520c3194f252049be361cf6177729fb1876398f98d40403fefe375f7f4f67479396cbf2b9689281960d8cf0f51f682dccc4c46fb3e141b5ee915b28f1feb2b2c5f30679f2aae82b857caa12f9c8edec698d143e34535499c159844f19c6e24a5291ac87cf47b39d7d72f75961e3bcb82092252b15babc9822654d2594aee134b140e64a9118f0e59a821c9749c9ca5407e5c4b5f714d5cb34ae14ecfa974e69b3097efd43a5eb4863758f96994fc06bb91611c0786be1b56f54e500310f2112ba5d24e956168de21f5e331eda768f3adcccd2c8139c721a79f68f722f67c123b6b89a5469ae3f39d179a2bf6865bb4da052c75915d29b841f4f412e98110bda0f63d6400ae05900ac84c246da309cf55ddb86d91b749be9ddc0ac4d32c8699f4e070a6a48df17d4c9eb3b7998cc88ff2f914e84e366cce8a155e5dffc86731c2b32850ae3924e1b65530f7a6b5deb97743f04a1c896dccaca2ee22208ed326c4bd97d481d6260176a4983647955bb0614ba979cb13361f68d21bd630569ab291476939429444ff3142921eddc9388e88e09c2d33ea24fed6c3af572c5caf56440f2a9d1e4162a42dc169fc468db2a62f73df7e51acbea3c98888951677aa3179ff245b74f2419cea230381a7887cee870a32d926479cb58d960ad48398591cc01f5384c8b37f9def8fc5a312c8678a982d4503bb391c45a2a7064512768278ab23644e7d71d21221515520c8a3b1de5b58411ab44d456c8931c12f8973b37c43e1aaea7cd78af357c5c89afd24b03309e2d126f2f9dd44a2cd20d7623dbdc80fa1179820f143c80b3f3decb618971c683f4811d1b923e5996d18c78eaff36e1036b6439ac1d54b2295c9186e8d07e59b685f5e5a2ead9dee27a414f512514a22fe1d81e8e0d2201a569d9f2144fa578e0b94f1f307c95df87970e4abeca65fd95d653522486b4460c4bc20929ab765152ea6c0a49fea36d7794abdf927de386b904ff67a644a7d0fd5c90b0125eb685677dffeb24bd1f36a124a8090956b62e885f61656d9d75475ccb115626540ef4cc0bbdff7415ee7efae3d2bb2c5af9e88fdbac5fe4dfd4d37310166d3bc3023d91c8e924eda885b53a76672ffd94df6fd0a88558e7469da550320dd3e8fcc60a286bd78c931004128592b37702df5dc7ae1f11ef37579410306bf1436f5bee4f219d02fe82e788c7251cb9076699aa561f2c95c1b85922417a11da46e816d00acd6ea24ab9aedd0d6ced78926d2f737488449005c728d15f162b034a15bb3cf694d1b646444dc4b8e778119df9a42af5f29dd714b8f9fa4f74aa61beb1b7f61a0eb25bb46f4a710c272fc069f531855e0188d63b977482d11d2a83c284f04f5bb6e2f6d4e1325b87fcab312c1b807709976564c64ba1b288fc9404d90c4a3be5048a2bcce153d852802999f57d73f0824ddaa43e17e0c04eae7f01715cabc8f4a1887742664e09f6a35a019865d2995f8b57a3be579c6956b6a16a6cb536e37e0c53294398e1416c81c56372ce8d851c87776c262064494c9a1e9067ff5c041ea4ff78dab057f355910581941d990d5872d3a778ac6544d8c2eb91dac968b3ee2287a98cd8a2a0d73816cf9af3c133b96befdb7aac3de0e2ddd883a4bfa49b868be19c3fbd9271bff88c2cf9b563561da5b6ea77b9449b93de1dbf679593e6576b5577dfcc61cf573b5605d1f1d92346d401fdf9e74e05ffdf3785434f270189faef8117b2416d3a3ad069a1c6a2b271fbadd2c3d3f708c90c182426ab2e56a6b8c7ba877e5fea0e33ae509397ee53977829e213c926605693f2d494da6a66929ffb1d31767780a01808eb06068676a969e26dbcd98a2bb516e2690f6767dcd3b10ac64fc7c10df74c71e172d56403be530f32b0a30f95e19474503cdf5ac1c184cd5d3517906ff6097db241285281ead86ac523eb0028d5e9546af10876e02b007d81a080d304b5c6ee41e8c6336227e270cd65cf76021a070073552ccdaf5c7dab05218765e0ba5e77e80cd708c6e61ce4d696b2c8d0dd7c089aa0774d81bf2f9fb72b2326c317fb50539ee4c2bb313b720c09cdf92eeae557305aa4ca6107ccdc3ac48e4f7d07d9474a1fc65fb4c97923548fe5ea16e5b8f51047afefe0b224e824d41ce0b0018852940ae4bc3a53cdb9d91cecdd2d4706cfe6824f6bb12f5f32bcc0c88bf2a8973f67ba127a997cae5420767c6d3b4447021ed0bbc8f26a2632ec8bb743cbbefde3bec7ee07634ac59c247c7d8770be0c89877e6fa6cd94913a745d8d989cf3f1938d4f36359a23def63101251d3869f8904bb8a89d487a92c084dce53b869bf03d0b9caa9c1c18ff1d03a9045d1bc1f5d69473272378df1241c718435a433d6c7903f041643d5c22ae8670ec043a2e8d493944a0ffb355c00c836186dc8978f59768b363f3e9bc5b371f21627865fb6f0b64338bf9e0e6b9d0eb7e3b1800e52198338f4ac9f3ee892104b965267aa7f195bef4aeb2c6e4aebb72dbe82077460d38fce8b59efbe0f4bc42665dec0284f8cb61b87ab9b7a762a5618232ec183661dea8f934f0437442c6aef67e7edd7f558ead5af18d3d4799db780d6275fd9f80cf6f326f5cbd073587bee0b22d65cde444a5fb6fa091df4744eaba41939a42db1b8a518271058df9cfb6290ef4377e672a9b9ff5e122d7aa129e1db6bfde1c26f53304977d215d544dee1fb9d1b50d3339ac94d051344445ffab054e671b385885f5f809c9b2c2e5b2e741d749fd80312d924ccfeb09ead5b0b33256936a6c0f0b4a24a8a41e9a584f4afaa546babf29f6f3c7e558fe2101375a4edf5680914c8609c7bb32dbfdd0babf4244f1087b5575424723ffcd727b406584fd1089ffcc502e18ebd0e970093078a0f3bc42f38aeb3826388eb5252dc03bb74763eaa4e04541dbec3a27a70c906fae55596121299ad7dcbcf0f35a597e6d7c1e8a5e3c55b2d364e7020e5896e5aca53bcec17da7d860afd417ac924907517c844484cce69c7f31ab90bfbcb7263c09319cf2b70f59bc33579df009ceb6b8f4e0a16f721fca1d0b12e2b812e4d0894666eeb5d5c204129083bbfc66859cf9c4c12311ff2747febc15561bc224c4bfebe427fea497024ec8c96c7c5a5b6b89f75b1334476376df1c42c96c42ce80f2660603446f7cec1433681ca703da0a772e565b109b713b3156eb3f925e0b90f57b749c3570df0c1b8a945fcc878b11540088940b786a385053594cf8716c1a25b414979a3440d5e3f537c33609c566ade9f82a4508cdabb33a5a47016108fffeaf3be800bf70150c55ca8aa4a4e7b900db8a288bcc1847241f74137782667e8045b0ccf27b8ab30ba5e819253f4a4083764006373a6aa7ac775cb5c5bff501602b6e8a6a7f14c2dd11eb536f83356acafe083788f6ca94ba23ac1a786ec8d201f9cd1dc99bc31acc669701608d2c1156499323fd15c4fbb06f50ad8afacbe568e9ad310c4cb445c00d19eb9b1ea8c0a5fc44e3be46363becf06c0c183cdc1f5c978d308bae0299afc6f69a79f1bf618d50d6c9069c34342d2b800d7a5683df27a13f51172a87b7d8f1f5e0739096aab06d5ef5abfc456516741689fe4b7e08a4de9baff21a5eb7be2ef3e38a688145268d6a2874a7e0983966a074bfb82c968887c4ee3ac470c316c88a646731567897e77c2e3a4685af71f010c62aa17b8c4593c1e3063ce12220afcc559badbfec1c5ba92e6461db7385a0d41d759b23dd3dfd7cd013b02dfe5ec46fec9aa873fb76dd3a4d7b60934315d3de87b10572ea0fbc4c1a839d50c66c9c44678b0143d01a2efa192eae0efcd1448ce019a8de7a41ef795a82482ea109efbcdb06f53937016d59a1c484e5c144abc7e0ef9c8f2e8c60efbae2801cddd0c405c820c259a298f5789a3d8065434bb5daa4163c6a8a120b62140a8bd8dc3f46c4dae474f2509595a679838a74d8f79ac2262d943453f569caba8fea5d364028a90798bcf075623af38b26592fa99887e4113853129d1ec719768ebd906ed178a6bb90da23aa863531e697cf180f783a6a7d5584091944978738c6a88fb1d53ebbdc21c957bc5cd2738c13ed92b6de5f4564ead7c19c957e257c7d3b61bac694364841f3e11ef8b99758b644d18426c001e042a65150f6fa4d68927a759f437308980d7bafd0c78df725a045ee90f1d2a1230e53991c4134c759304fda649a431cf3f24b40ce8c6dded3c16b5440f9e979e3908f524700395d640db247556d4587e85df649a605658648b75b6d14d6479b6589208beb3b0bab2aaef4f4e1cc28c6c3ea7dd88d95867915618c2cf5f1a44e9e39331938f1955a44f2077834ad458647f49dd1b7bdae1a8cf671760c90516cdf998de179253555191e7bba481f6be2d1482af163cd3cb28568b12bc42cda31d24925892c2155562c1b77f98aa5a5f0cbf26b218a06b3586e72383d5bd50eeee874b06d00238d10efaea704b68ecbe4c1478cd05d78972ae882de20ee09c8e15c2f51d761f8c3cc5335c48cf8ba1af828efec57e46a38d5a62a69976283f433562e9721bcab76de91b99413d56ceef9a01e81f6369a6d0e369fe3032c96387777d3651ff8db8a28c6acaa5f6b2875494ea8b6153100587e9a742ce8510e145185f66d6b9f9d2f2c19fd0c72bcc806489b23e1234e79c4e94bf62b8ea86adfd9823ccc3a747571239dc62895cea0f8db916b83fee71265028953bfc699efcab4e7a59be4feb9deb9603a4d571f2170755f7a2b9506b3ddaf5e4cfa3bc387b70f1e24a53161d3841b439c8fdfec66989c96a1a2ff292742cb586bf4f2c936ff046338fa15dd7382f143909fb51a6b18842315362b551a68e509807638374a0ea917311b1733bcc28bbcc35a593a759c56210ac152433b4ca4055e36c94cc0335c112378b77dfdf14621d5e4c3c443ee82c03b8beea877cd77d27fdc0d46ddfab77271ef5b32f25a406d655617d940d1b67159238eb1869f50b7adf258bfe78d4df6f04a0bef89af2550975e50c91259f1efb01b7c0824684f8bebbe093cd5de321921c34c4f868349f00a77063edf85d4bd3ac5b6fd29d1b25dc7c995a8ed01fbea2f66ddad9f8a6c2b0497c63a691699d71b9b12e98edf0be5339b1b63e64e7eddc14bda095f85c7a2c71de45d60507711a1ad31e3c7d5ab245aff54f734bdc29c95987bfc61446b15c84ebe74d731f794de1cc7d16cbe3a3b5861ae38a5847b2a24379aa2dc1fab916e8960519e41306f63f183b499bb87d8e32831ff1e15cf321d532f0ebc9c85f18afd1c21b25ab5a71751270206a3afe7e624f0caed367988f11b786f0e8a36a88dce357b56c1bf80824095cd7b0d3b9c8c2410502f69e676c4d5071cc89336a09da296bb0859db89a7c1b072d110e48fd1cb1f44f46f0e4306ce658267f12906d90daa6f037e7758be610ba77ef0620c056f3d31e7c71dfbc5af510cecb5600147483acfa502b6543fbb7a37dda009c950ef119ef27145f260cf1b89b2b1ef82b0bc0ea0fe0247a5cb9e1e2834d686d7f741152542053b296a11b2ca176de7f24da4d2ed26317b601f6b0686f000c554c5f68af43c801598d58887e3da9998fcd76eb079e26c1e323fbe1967eb8a303d4107ac04ac9bddf965b3b13c5dd0a56bbecd83942c15363b72036f3315fad1fc09334d547f0494363aceec0ae84175f81bfe4d22c3fa92d989ca0206227fa0d153608a6af4e67e7bdae07bdf2658765b1e98e4efaed19b309e7e9660f8abc1ed2d216e7721a1877586e15bbbe58feae2b788ba7e18156134fdf506daceee1aea4cce48b0ba1a51a4e5a1196f2f3bd305a660c69f89526d28b6bcdb9d939f5e1714abdf5e1a3cc80e6714965fcea7b78afcf8ff6c29943bc7bfc0a228124bbe56988bf9654d4af31e342fff7c1debb0f90e1f48407f8efbb4d6ae689c30f262c7cf925650ef9e987ec2ef7e95b5d1667b097da90ac460e4d6aa4bdbe1f61af9ba0e30272a7ab7a8bc651c4249499a63e06e599bd6789ded7490209a40451295b84a2b0da5ced81de2677f19f957858ac92c41e6d29981684a380ed81a2967d32933bd0c673870fb5ed4ae38b34ee49f0d0840d657fa81e38ab917b97d3fce3eb3d76680792ecc07d03fd0fb56b091c81de5543c0d07befb9e3a5f7de0ee6df07ef554bdacd5d5c244f669e3819201111b9894a7e3f87b9ecd67fb4528bf711de417b246c57106e7cfa52763e11a1bb3ba31870f107bbfa337ea24711d1fccb1fcb2f2ac1d0eec586200220acc5f661db50bcd45268805aac72c8a2e9298c2eaf3fe28d6764b9818ef9d2ef97dadf17339ac9627a9aa042ccf78980b22961ddd1693063faf92862df22831d9d729cb86d7b8c5731391db4f6a32c9ab42f6b4d6f8fb00f78b3a6aa844dc79e0464c39ddef30b6c526d4107843f8a009e0a7af372b7e7ea7b4c80593cd0f39f9f2d2ee12f032caceec07d761bba53819cd07783e83e109f6d6198aaad1a94b1ab921f5bf833dd5e22122983c763e79bc1178798ac72e5d1af9b0366b0c4601b9b255da8a238e171dc42a87c5acd0ca615d9494e503325941f348a66e6e3aa372db8da178f35285587daad3dd8e3e8855db7eb67e95c38495971d8683a4df0287c67cadb8c1a16356591aec625ec906292af7d310a0dc9ab7438c02085cef22863e08cc1580e814ded896bfc60042e0f72371d552e060aa452154f4c9272735d6b7551f0ab17c397ecf879e6ef04438c68270f3cfcaec4c9ea40d16bdab0147ef1c443827585e39a28dfd0d7fd3758f770b799fc953c141b85a03080b7ae76d85f6d353674ab72a6ce50938c07a13a91aa1f8cb92c8ba868e277d10dfc308d113ab6d5ee228b9a8f91e6362a4c765d3cee21b21dc55720b727df3b370998eb479c4c7cdb9ddf666367c1e8b48aa545d769726f40df7ce4529d954cec6d76e7d970d7f745618eb10ba8d397cf8aa11c024fb96e3300ec73ee1219b09d9f0aa82447cb6efb0e7978c840326382ffc67cb09587063af9c68233534c5f5ec4cf45db1fbd62b5357d975c4b3dba00264d155f0e06f4dd178a7f313b3cd69f63f464f3b30cd45e74c3b52ee1e3b3cb02c0b3e0150b46716ac617e378fa27a9213d1b5f404314d8e6518ef9a218d96f23fff4da50daeb81b5dfe67baedfb477a6271d4e504945f8e98c97306aa06da7f4e5c934304f22b9f5dcf1c14b98deed5cf7956104e6cd637c172e5b650d24ef485831074523ff08b26e227061028142fe247b352a45b57087d8a05dab8ad7dce0b83649dd0b5ed7c33cfb2dbd667ac9a2322acd2841c43561f4483b1b84be67d0db7230f73d70e0147165f7796af69abcd1c20896328dc7edb6f56772d7c47f94d7167ca803d878885d125aaf6a4c7c4ec36277d07216988da1148396cdaea7279fc4b666ae3ade74f83d2cf14e6078abc91cc7832b599fe1de05345656356502cd48c0fa8b208a15ee82d33729d1371b37c3f5b4e7b60e3f10c551d7bcbcf84bbe292ad738528ba6c606bced332f56be1a0beb341a68ac1658159536615459d457f6d0584e81a1097dab5175915ed1547aaa209dcb9942930afd2400e67ef3460fd0d49fafdcc08bf455bef11290f86de970c5f34d93c178f9f1a752505a90b9e6da1345555987ef20486ddc1e9bd722ab1f5a4c159fa10b521e80be0064c05f229ce67157e80f971386c7f9836a6775d528e4b449ac249c56aa89dfb11a91f4dcbf0920b3758ff5a2d8f075f4d4aa933e2a952ed03d6945a6ab2f43bb19752347e57d77bd243e76327627f0875508875a8119b4d46dc4de51e9ced315ef89f8241a97f156ceb6e6da9d4ba1907e6485fde9058baf6e92191f58672a5de5c3987b2ba9c147d27fba05667e38d4028f237b06b6f93f99056a41ea65b4ed1219e8f6351d3dab4dee66ef68b90672f165a17380ba892518e176fcd789e6151d95f26d05b34f43a06f4cc3d1566b53933e532082b5b716b187b9d2e607b724c4dc4da9eff0a1b6eea6d370cc7bfc8fc05f48ced42cbb3e15a7e010b223aa11261559d111cc8b2b8731529f74ffd25717f8954529a5ee89edafb39104c2a90fc0124459f22c6929552f7c409b69d11db9b4fcf5e88d19a9d0fad6e766e663d0506c60aad3bebc9a6c6b41bb1a850fe727f3ba537d70ab49442365d598a8c563efac9bc17724d930646e6935fff485b2f896418e203f962b239849f145b2e39c54b897115a1597af3bcfdf440a1d41f757d2b63614f9496c9b62485f6ed92147cd7ad6527434e0b6d866a0fab383c8e8cf217df13a40ee6977edbd9395a8cb1355e712c6b402c22ab5c06f2737ee3c130a05cd9b5adeb8cb94174619b823a33a983b8ada70e125bdab16ac5d1c37f5acf07285acdd4502473e231c45bf4b298b53409ca86efa7aaa798690c7b15726dc7f693d4c99e1fd9655550ab5d9f0407a205901f85d98951ec53d8b692ab9b315b54b283ddb7c2f58c04178c022471d0b4b826dbb1aa41fe48efe3d01c83b0d88eb1339b68a6d9b50ddfbe5617e3230c719d387c59c4616c52cddef94a632308159c4b788903aac6a1d0c183993750ffedeba4914938e00ed3af8f0ab706196a92249daf02e69e221414c3d605bdcf7b58efd25293f1bf62951efa6b0771ef5260ef7e05e255c11f9728354c0b4e88281e2a8d5219910161cc4fc4ea360e462db1a14d5b4330f982d23441b9f7ec33123373dd84f24f84fced067c138c36a9089fd5241d0bd2af208e923a488dd504c0c794ca808a5aded80fa30dbacb7a472d0cc2385b50609d805782fd7f85a76a7cf1e607c7960f4282c31c4f05020b1863b4c0e610cd06320d64b55427ea7bfc8d0da23a1ac458ebce858553143885e23d6737beccaef507506a7d66cefdb2bb465d44fb97d826628344e5a8220c57069261f4779165c217d74493a6f557977d56a870839c1e41668467046aa83a1932aa19e9cd9ed18fbaaf7d1ff9e3a752dd19a21ce490638f8cab1d3e9e1edfca945b86e875e465b879ce95c55091abf194583422946af686eadffd57f3941d83e91d83a19d924b4b050dae98bc243769a0d96e54810625a1eaae81884cd8e47ca8a39ddb7369dd76018c649281dff5ffde124bed66c821c6689adf20b842b3adee7fc6384d0b9b99d59f240aee22efba566e1b1a12b2a714ceab6dd69bdad36da3006b590f5ef2ca6b3d284d832d84c6c9656364bd9e834bde79d8a0de36724e529e3d421db0b59ad43b3cd5510d5046ae2321ed04a1e002ba743bb7c49f7f722a2729de0109e52406a47973997e0ed7878c7d04d60cd1e692aa914f749c11326ab1362a912bab70a42fa65526cb7aac87b126b01cc878e0a68e7e9f2eea1393899078c69e3b475d8ce61e72ca0a3b88e32dc0ea866721519818bce888f2aa1ebf7d605cc4baedd415cf8435bf84e5e05ba64c50ca6f1be56f9fb49bc3d3628f954b111d22d3ace756da444a7ef0cfc2a7cc881dd700a602e172f1ea1cbee269162a49a2acc8b2aceb929e830c3a068dc2a7879b685cb1df388a0d479ba8fb9490382b44017c8648282574e6ad640e39be4cf0be5596d0de826d359547e66918d74d363651f6ee859ecf352c76ecafaae01b9b74510db44b71d8cf386bae801b7aae28bd41a12788928a0ce5276f7c5038c22975d1d15cefa80ac4ea2a701e2752f039d5ba3cc0f5c9c25481ff745baf6b81c0cddaecf43341097672c50f3598e7b6e982046ac30b52416f9ad9d0f4a6676845e94b8a425a507c00eb86f19e52052a33918a90f3429f4163745f7cff4940781f90d4d41e051d2591c414345d9c5614dfe1216b4889acb2eefe3285d4b7a108e70f72850b4622ac5f8e226f39caf0e647c1d4b7b8831c8b81a2ba7ba353b643df9dae92e4535d8ef4b7a4f850642025e4cb1c62d0b44169d64831074963261de5b4086447ddd21134099ae7ddfa99156ddc86ec23a88144775b47e960113339cca7c5c2ab02dce613060aaa739dccf4c60067c3c148da245d6bea8bb0f38fefaec40e700f996dfc3dabf5797be4d91bea4ba0534c9b1e8bfbedf1a52645e5692a19361c3e81f7264ace4c5dbd830e9ba8f3835198736cad9b73d0377bdc54db4f6d3ec4e849f12846e3e8473ef56e6831cf91a2057967b9c042977c98638f9ecf15039ce2dba05f75f7793b6a9e29f2dd19819775d291e980eca0fc5c5b75eca132680cdf5fe18f564fa804b6f1f661548186f47e62c8cfbb12aa41a4ea77261affe1a211228ccb9dab25542a5a1043e7075972f1470613be1dc1de9d52dd5c426bb6ea888f2325723551b57a5beb1faef6e548f1d543898cca05abbcd7105365551dc527bbd6fb2d7faa946dee2af8f3a1f6e5f3d0d8ce01d3661af218f978a3614c06fbb68bf7ef14386982f578b821ef7e4d1a23a2c34f1705abb2be04def85d56cb942ce0e3ea0c332edf10ed3d821f2ebd5cc09173b925678439a2ff38a592eb8075ace818212d4a9b2305efc428e2107742720051b80971523641bcad8ef1b94c220a59eb63288fe357d934e97742a7634bfe3976f125a6cf3806aef338a96dfb771deaeadcf19e947329186baa7c3f822d12fd12fd3dfd5b33ea0adbc2b5276b0919ff3bc73ef4e96aaa6e6f6fcf8fa32ff7d1d6084eab34faa969bcb5018bff44327cb2a4c47ee4c20ad3e1dcfdf0129cf4ac3c26da872e3f84ac661ad55cdab7f35b5131886e137463018d6f917c2d40ccb300a23d67f7bdeb169fdb74323864c88f705981fb8ad843e8313ac90a9ce901e92e69b446c160aadd03948f3308eaa390efa680ec8e0a823038dc14420e3a1bc79b7c74d3a8112d7127ae71afc7dc3170d678b5b5e5ee6207a95150df6a917fc2858412844057adfa2ac729a6c7dd7004e6fde3f2e11b170a4612de679d2ab332cafee6658be732c4c80befd69b81e4096b56996f9b382efee7800a5b72e8db244d29f507fa636f2a98aaa5e4eeb77fb1ffab9e850aee53bf103b06132fd016a5e0205f555820d803570ac04e55745caec091984ebc26cb01f09ede5a80706d033d6fe29fc03d86856451b6e3247aa254e22ca419df334f63bfafe94cd1612c8c0c81d7bf25ba3137357cd2040fbc040d0108acf477ea523fc708af2dda029222fd465f327c11592f60b4ca538b667c8f6f5a4bbed9686a9cdfcd01d616d9f3fa3fc6a9ef0526f1774223039654c32d3de57a46da24e97efe2362d6ed8382ce491de972598ef2baba68e5044779ffe4ae9fa8f567751b7c1b35587e8dd8f7008bba998e31934030d7340e584fcb1c767756851a09ec223134f72520e2b27d5ada7518a93484775ed0a14077d181058761aa755ea6c3789f7a59e6108c6d00ae9af5b3338397740e5f78f28fc7118c2402eaf9368dcab9372e6000d19c62c4ffe9b7fa08e893c7eeef232555243b740d855151c09f2e58ec3dc811b54790285c3ea3fc5f3d93b6067a69036476876c59cb956c444a64e199acbb45a9152bd4e6bd6ab801d9575172c7d727208656c2f1b0d038a0409a6519a3e521aa13edc48175cdf799064eebba9763ccfd35251545505870c63efdbf179ded7b32aa69e97b9360a2270a7f3e0c2dfe44dec872e6e0412905a0099552796ccb7f3527b5e3b76f66d242fc74806e635a72d3a7e1d8523f374166724afd74806963d9d645002de292a977c4d3618c9377fa3d1ef6967c967fe74f610784f2820fbdcff482bef467a32f91abf27c96c53ffba909c01f6a087ced793b6e21b6bbac65f6600a8d4ae644b0878b2933337bb7b1e69e20f699b6ba77076b4cb5cf5ed41d63d9cfceacec4805c2cd18bd360b0e164f093cc73bb77ac1361d3661477499dc660c77a7c0729d8f1cfd822a1d757b8e3b3157f47f117ed3309575640c25fa75b19f90d53ee69a8e0e9f7e869c2e8e9dce869e3e8e9cde869e198e3b7169fb952e893a69ec8d72c92fbf5f0e929e4b40ffca70eb7b20c9cb61d2431bc59f5ab6b18f00b631d843439883438836a90e7ca5bbc6783eedad4a6689863679e8235de87269ddb27048f6be2d773bb7ecbb9812159635246accb187ff5fbe9cc09c14acaf31e62bec47709a82f9058b76822a4a930c8787434bbfbdffcdace9185df554662fcfa378387535227e7689eb2b5afc77b1a7c388eb02808e64677c6dcde740657db55f51eb1dc30c55f9736f89e032662c2f36b9ea81d59f6b602f84f2b83a2465486d2e0f1e1e2854eea95f894be3bdf1758962ef8f0fab693e40e2c4ba244116065d6a1efe39e018c830266e741fe7e1947803eee089b86ffe5a3aea144bd27352d1ac62d773b9268ea7899bcf00e698d8f1a05719f5a664cfb8d636f3a999cf4385b7257e81d0c23c6d054450cc3fccffffe8f6adec6ecf86fff71cf55f51ffffd3ffffddffedf7fffb7ffbb9aa7e37f54595efee3fff9f77ffbc73ffeeb716c87f79ffff80f77fecdc7fc1ffff9bf67f6e31dca7ffe63fac334fc1ff82edbba39fef90f1282fe82fb96fff31fe736fcb7223bb27f66cb32b47976b4f304fe6bf95c55ff9937d9b697c7ff3c8fea7f50fff9cbf692c0feaf02a225f76f006318462a6f8635fe0ecfd7f913ccfe7f7eace40eaef967b0fe7dbcfffce7a917e7a150086e90fca9acfe444b46ffc3c32b3ccbc8bb0bb376f06769f5076c298661a276863e36a7e5000e398661b4fdcf26f7cfbc72f6191b493dedeb9fc230ccf5972ffcab956b9ef53b12046ef23ff4ec9fa82bd97f9410b5c5b735db1593f30734ffea13fe0c594500859840d23b45208661d03f4ad8fd8fa931f40f0e985244fcfef2117f0fffd719fc9fe8ce9ad34f1e468661ec3ffafc2361180553307572efa81992c8611891f8239231ff6e4a2c013f964c6a86c4619878bbff952a300ca33274cf96f4fc8b5d8c61d812fd034e7fec59eb232820383e5782080c23897f40f6fbb3aba81d99d7bc5f24627ff4252ff3bff914465198ec3993081e1886edfe2acffea83477ed6c859fcc5e39ea308ce4ff0159eacfae134c233d0272591dfef0a5e75fd1f29ff94c5c63bb39d03452478661a7bffe6392bf5e2fe82286eaff950831ccc723edf7f768bc40b1c25f16c6b4314d4cffab20666b8c315bdd499c4452eb2462fb95d1dbac65fb746d9a92497b1b2930364dd8d7371846c400d616fe95402d4852a26cf8b8a85c015589b38af75af6c894020cbdda152e92d4dc8296b567c6c88894c8dd6288fec609c642fefcce3772509b3d05f6b70ceada412d8366e09f3eba94ec719c6c3297883b5cad34fc8061372efcf16b27d303400f95b3e9a92a7c3398c313f90d247d4d050a10a5ed6a8aa769fbb0d00a2aa3a80e43634227f41e8fbc6fa300de57d18bdf668602545012be656a8ae1eaad4eb6e2497384ef83996a4c9b4c8f54e02b90dbf97d1b387d5452fc5be8411e2a814ad9a5f75be551f0d481defb0e6c042f6705751f38ac01c5675f3a846f70af5ffa4b7ae301f15a5275ded11bc03bd6078b4f637d943f95696cb8f9157e317b658003eaef1a7ad3551290ff66c1b1d89c12975caaeaade469ccb69d6f6c5093e720db6ae4a2b3208b74b0825f206978697339f3e997ce21d6a5088122f18d76fac7e2b0e265479631703f7889bfa8bdcc198744297d3c8eebfd6ec56b9a16a85f65ea47c1612802e58bb82ee2ad55167b6d78254a799a72bfc5dd411464004bdeb4d44b5233876bd3e8f0d05933ccd25859742856a1412fbe61dcf4fe12e90898ef37333e1218698930f975a318c630f9323ff73ab3da3ab3cb3ab3bf7566f172c6b08ee267c8e14c584e8c715a90eef25087bbfc5c36e35b06bdade545f0bc0c23c169dd06cad4fbf4ea913c364b85d762305518cb8c1002de0a48d5dd4c76ea9c5f50c61bd517be920199fd71a542cb75dcf75d989efb107ba6e78923cb8b711b4c92300d23f446bf0a54fa76550a5b8225fa26cd9d1683a0527f83f8486f902f67289766057ac3808db671d0ec091b69f17827721af33493eb56766577ae076162279e22bd4dbfabc26aaba80cc81aa5975435b6783311422c4d1b64760ffe44d844fad2af9568cc8aa6e990e437fea2ae6ccef4c84c42c247889203e47c7ece38a559002daa170daae6419bba635334182b9f6e3e81f4d2f91202a7ad82b6f683cf90a1c382b1b358083ee2d81894733f7aaa9fa60be595a440233f4d5747f3a1101ff8690c9016361a5c8305aa8596f2c3218fc32609d16f918ea0fd7e94ad1fd4fc51ce820fd306cd179e1454b32f699c45de6f083c2d0cde485ad2930cbc050d3cc2c8131c4320a2fa34d612509ac5a55138242ec7b1706ae452d09025d275caf5ab3b3946e1feed6d7db4e893e27afedd6fbc265169b43844eb53329e4593e2913a8dc259ba24290b33c57590625bb05990da03efbe9da409224f457f46df8b948d4bfe6c63a67eccd61847d9a150a9a3d74e7f5d9d847936a09acdcdb4d6bdab9dcd54d6c1ab6dcd34c1931777badf539a4877e7d6d972a46c5b8f46446aeca779d4c1990dfd56e93c3a1836a273f370648a8385faba530880457dbbc581b54a354235e9a9d725cacfa21071aa1812e0d1dd98b2a3fb38dd2559e253137ce306b6b4223372a180cde37d30c666add4230ec3a2efbe3d3b8f3684b1f8bc571297a7be7cbf47b3bd5b235b3dcee1e2eda0f5cf41d6eecd6ceb3d31598f30f293d984eacb06e9964f2444c2948d7876672278a2a6ec5c5fcc84cc1e253d1623013caa53f5c850ee82f2707158be922a1f06b451cd70efb9b3acd97063811e322e6c6acc4fa6d4f9573d36f793e453437338a7baefb5d314434cd47e4a42d0a7342e74815c94abd04354b3bd99d23a64b5adc72260fdffd8898b45fc2e5fdc4f1451ccf8cdcd59ee3763f7cd03b133c10315119d57314a9b31da91099f3d3cbbf07d5b461f9f44bf9ee011eddc690c4c1e38a5cd9c6e5fbf2aa18a359f97469af0fd43fd75099d83bf2e642fa465e0ab283e38939b8b90f33226c342adb7656a15f287cd0ef8a63c3de06848493f40a6a1a943fdf277e1633136ebd8c6c4949364ded807cd8c9256aada4f58ce6b37edcb05277e2a62bb10d57179d8f22752b742114d9a61e43db5e50829c9fb59995baa26f7099f69e579600ce466bd65120069b300bf44d1e1f99afa6ca78adcdc115a1aaf7c88892564c6ef1c402a3ccc395fefab10c905548034abf0cda35d9948ec15a86d78501d760210f987afe8a7c416ff43cb46aa463e9a046b24099af787cad2c9c42ec223f9f99f791117458ce425ff02b44b4a20e1fd9ab03e34a009a27268743b91cfdd0d5ea0f471d324a59c87e987b81df959fc998cd2e7c5bc788d4675379a955bf68257557e9d451593cc5d8392184b07c1372e5a4e0e1003e87a6244d001a45ff995814693dc3f47f331f3b64ed643d0edb6070048ae5982ffcac4bb0e6502a9caa2fd18b75170dc5f6900b606240e1cffc5f08dc909be2758450b30e811106d6a6e00df8543283c58e8ec4314253f4d43f75d6ebec5fcd80e97def8c456963393ba39161f014269f393e9746b02d711b0fe935c25aea6d757a54458d854d590305144da0d75fb855e0a060e31ef1dd91b570f88298080963141be6a91413f14742d7eb05e2b85ba71ef0a19512c7fb725c325162351bcb651ada7666d44b47feb1ab6490f2610baa4e7f05d8af940bffb37917e3359487c4aaab1c4aa5261e3df75f5feee97a81cce3de0feb7ab52de02857fc3e5931aa4cc815cde846da61bba87c7d81e3c2463742d8da3e619cfab097536a509e4c3fede43cf8dd7caa96bf8a49c100bed583fe9993424a66cd8a16bccbf7ebfac32bec9fa3a3cad5e668509c1b9b690149c1444e2d3c496136942294dda12f0982a0125a3ebe8f0cff71cdd010ed244367ec27e06f3d04ef22e7d74ba946d7cdbd2fb0d7b3d61a1c45107c2b8cbe3a5ce0723eb4fd4d0280a3e22ea33204380d157d4965801a1ea5f7110cd87183921c7fafd9eae7bcfe6ae3583e7f6c33cedd6515388653dad365bbae69c31f142f6a23f6fdd0ccf539ae3859ecd015276ef210577dfb59fe6af924611dda014181ccb0e9f3648b50dc6ba66eee091ad7d472dd1725cb6d473fb870f3e33bec88fe4f461c263a915e1a86c292e99843ba1f6873520d47d26f339cd367551d7311bd765ecb3315bc7659cad700b453378033ee4d7d148c4ac702100c6509985a2becb95c657c29aca960783e4268a0cef176524315f29acc40fe021a47b05a0b7912c4a8471c6d2a7bb218b41018370a1347bd9779cc16704ed755cfcd42b021910b01e212bcda54b24b74e2cb68d0cfdee14597c72686a04613d7fcadc40c27679353c52c2aa9242df51925e3bd1dc9c3258dde9a8188182b3729b7ddc6d0519ae755c6239a5c80843553d544d9479c2b61e0fca089b0acddc331a2fc0b5cdc1b52d608d64d44273df6f1fa5969fdf7b229a9a262c460acbca0b3d464a1b5c1f85f8f26b249e0feb82e339364cccb9577a2357b5b04e10b6830496e0309ead77897d399b49da435294646fea4cd2926753e4ec70444dbeb92d913c8ce1b3b82f0575b031a170a94a504e264a6ee31a19dc9705d0948566e5ce45b9b7d6f0d5bb36ecd52ab8f81a19f20a7921be799121f8f613588f196f8bf95cca659b7e8e92c7a818068ff6c46b26edb684e36d794951f042649820e453e85ffefeb949b1f1b7b13177b7ea70dab27528944e6756a9d074c9c8d68c2428a5c133b40f30ce4f285fd111a802a5c1024a45b64daacdba8deae6a96ed4c6440925b69b6ac04d36b146196eac7586ed19e643ff658fadd399ad252795d886c598d379eaabdf79ae640e96e099851759c4f9a3fd8579994aef67dc2486782657ae838375055173029cf502d1744290f55ab14c12a4edcfb542df0f0431d364d6214ec48e911837fc08a69e39ae511833fcdd43fcdd4df0511d03d8e006be15c883d4055a20d901f245dcf924370f905b3c0bd605299f0fb5db32dbd6f9c1bfdf299324dc5e410aab50cf0809a2302929f4f5578788b4cc1c5b2751d8a508df63e7afc14b3b8658c7131b21149edc19542dead3c81f70360886d40d43330e4cdf830f3984c0ea36790531fce0333f0edab7ec397e16bacbee5b4c229ca3c54ddb3a4255f1f751b5c1d598ca3bbbcd29afd6cda3d96280e24beafc43ba15a9b4cf1e74b1a58b6bfcc4b58b3698207fbb4c764b8bfe8e91accec8bea60925a564f121523f430f5b3f79c8a61d75acf46c1a4568e65bdfcfe3c99a252247587f9df2a5ceeb52bf08faf806c08b0b452677478b4fc8ad7dbb714beaf0974ad6912cd2a83b7ee5b44d1dfb04170011cee3e314f1bb517e2f59d109bec0616e06dae675f97bddc3cfe2cef01fe3edcce3f026633a0ceaf00d63ed0c79f318e3eeccea080d13602c7f0b31e3deace2083be333ac798b02e338cc7ef32aa3524cc3700c23e60cc4f01e2338a21077591c4aa43f1cac6042267f5bec63d6b555ccc18e8fce339d0deb4c029cc06dca9f22ee348b896a6e8b0aac0c71accba0d9f68cf59cb9ca78278d083594d3618dd0995bab2990f59d5f4e11a9015d5a9f2d28115d7600e47d6fe805bb430818e0caf133189af03702438c4331e4687c46da586000c47476b9dc813f56c60ae8dfdbdb52009175b8420b48ba20b34a007857d4b72707effbb4e9105cd937ac95fdf2e0e4c96732cf7db781590fb148b90dcd4b9653396d22f5c02d877064d3773d72a1dfcb1b8f8cbfbecb04c871b0ea06c09c1c52a8107838af2f9b808c6afb82ade3df49ac1662e81ff98721bb58ec9b3d278ab17e892023861995ce5df235358aa686aac6bcf3ae8c24eb2570ace4cbcc8ce3c5a782abcb0041ed3ddba37addd5355b203d8b1cdf1a83f8a40ddaea61fe22aab8af26950d11bd9e41b7ae4e698e391122854cda91e102977387186f9acdbebc5bc2459dfc202ea8adf8e950a0e074ff4404871ac810e63b31e2e40540e8ef7db1950cb7c96a2115fd11cbba9acaf25547f96da4cce058c951269b50d2ef032fc09b65c2e6ded3946a8b154cc2443770dee2b5d54e4afc8857a52d700fe77f5d513a7f5eac9a612e1064181a43b68866d12708ab84012d6c83e8f3372eb861d57d6f0886d70cc4e09500ed31c5120c8ea35101b76acc2caece1c4ecf65ecedba526a16880f1c3ef2af6d10339945b870e2975ae08f444fdf735aec0241b42af7914292f1922beb2ccbb2dac9a1d430f401856f11a5fc56479c5bc27b48d12eed64f0c19ab5bfc8d0f2c83b37c68599b01dcb8b6727a63ab672ecce812e1fea93dbaf069dde32ecbb132a5365a6300a0a0faac5cc5fbeeebfaa152ecf59260c7ef2f8c54ffcd7bca1cb6fd89495da5b6a27ac34cfe39036171dfc44052ee147a9a745f911a5f15a109cfe12a946af62a43cfe16e8fb503ccfb1222b82577202090c8afbce0f73c47a893ae08a2bfac5c00b917af0875ff0f34278e75ef16a0d7f22376d4fc593035852269640f69bf8d8fe29aca237660aa74e42be8701e6cce6ecd44ae67ef126504a967ec5d5e494568fc142dc3b031cb46087febee2c7095379e7d4ae2dc6f46b0d258dcdf56f8fd14c37171d4c288075e9db02c6f03ec73c168d9baf4a8e4be41996302465ac88782c8021ee543076d2a286a5fcf6fae08334fce022261c644c9b4c549c465f424c99d4a704fb93d97a3a1e1b0d50faa15c52f6d117deb8a10f5e05833120b9ba05f1c07f55c97cf05266772fe865a01ae0bee56fd0d613dd1c275b8d42b89dae7e2b3ca6b29071f8c61a12f3379dc3008069a20fe65912c88fa6dd920a78853ae257429c8a814c6a0419c4de7ed118014c4b6823cc96107089e761001c6383bc837e3a4de65505f0790374d5bdd1fa7c612a99361bfafafad9633018e047074ac159b53844830c979c84dbfb6e8af8232ee628b0a0be7df3d1c25dbb8671f9eadac214082cc84d1f163c362cc6cea4da4a615405b85c600534e00c5263fa5a4576dd36cdefb20d60795bbdf66f7add14a01a1e197c0ac90a1acc1ca4453e5906eb7c589c0e353c291c353373afb8d9ce22a0e65520740549b8774c035527a1d6eba301ebd611dfba4de4c86bd46eef34ba67e5350731e868766ec0dfdc1646093bab336d81e240b95a3210bc83e5b1ebbde5f1d8a320dc9435ddd3763d7a9ba46c868e94f4a7f01e3534c69bba9b1596f3ca3341403e6558fde484bbb0fbc26b53540bf887739bb4547168847ce9398eded07920015ac9db4224d9236388a11bf64add5fa35f20f0ecd932fc79646e670dedc7474e9dd22752a0d95607056eb9ede17244d34e81276589f44a6e4dbc4b21056d43cf4742f2b5cfa04f5d3139bcd0c5ea2a841566058e5c4255b40b037a55939060b74be7e58344c4f119e53193c537198fd6c4a2f925bca8391c711c3e42d1e4fc6f5a852310d34cfb620d913c7ab074248ce5506c076741754b6a47e878cad0adf2755fc419c83800cc76b9386c6916d025760a64911555b11b413ae2fc3318779d7bff77abeb59f37ce2f4da48e805b3194426a57267bafb1204dee8fa216b886685d5b8bceab3e33e7dc12d5a87c3b4a054355af9c788e6950554ee8eda31727f8056dafe15d11229ca349ec8af410fc58ed815dae3c785cae51357717c3d3f544c62342663184b48102e1fbc84c909ac358cb76a70460133ef7f1d046dd68faee10404f9f3abd0c8ae3e0559369678c103d569d0c4b9bd4ac47329942d66d3f8d1e3019ee44710665964c5755aa1f3d7c75c58b48c6b218e2bcd482e9488fb0e52d76903fc8ea3b70598ecd35e741b872cf30ba535a5ca5c8ab7724134de1caa4409342c56c4db2f777c8ae6e017aa5a910cd9f8e896dc469bad3747d4f41938534703c5a30e57b4633df88b7284666586619050b8c861ecd9389112c26b6b4e3d8515ebd9e92f1d22ef96970c8f932918d003550cd645a3d85e6571ed5f20908948773a97d415537fa562627efd9e18c4e14ece5e1ecc3eca638fda32ca5f2d555560b197c0915b50f522a45f1dd9ea523449ece8337c651f7eebb5389521b3cba17755c7887c92d2b0f061adddae9b06b31e816899c6ea8324c292f9c8a1a6e5e65a7c47a6ff6e21045e373c9912cd60f1b4d1714e5fe3acbad6d206560fd829fe7619f6e0ef6560c5352ef6fbca5e9f1277482bb0b00eb924f31d39b6e686c0cd4abe95c41a1e57cfb8a4ab598e23744743701de0587e2e1156c5e3d4680f904b08d62fdd7d3ba05fc1828ce310881b0f5939c97302ca3c9533f67d7994d1c98590499c37d4e6b7ad58498a1a755507b441b5e381267f9e7fb65fd5425f5a65a905d729d9a0ea41a708a313f71da22c19eb03e7aecef67c9de70a4da639386fffbca4bff6c75aa81fd8aa78541c8a7d91533deea5c91bb10d9a91e71517b0328005a178e638272a30a7da18ed27a1de34b63b7d172386c1893eaec29c17c91cb4b121c08e3aedf84fe6923276759e0b1e246c4f24b9fb2258e1776a550983935f15e5e89d7ec9161f33a611cd34556483cbd463cc20f68acf318249174349bf0f04e975e7f679326af0b57670686f9d180a19a93849dab01f9e91216f17320ee252513f0e7c18214690e2ee9a36f9233e3e824dd4905ae24ce67b19c2200c94a77e353743c387f25d0a09647453004117b7eb0397821de4ae3638f6a2c4add3c0ae1a83e99d7042a546d546345c643a28a8648017f69c1fb663d4c622eb396c3ee3fb68ad33dcfd52994a177500bdc2d4c50ac5c61f30df259a55e82a0a795635e88da1d440b200b362d55cee72aff3f2088d81658f100face049fd027c06d15587987df076269d6a469cb211bb7e942594e32b8a422a1adc1cf88d22f95c7f85a486fb3bcd40d8d1203435ce96f1946ee608fd8796360752787dbd65a0c10e061b2681e35e87e2f037359f3656df22e559654f7e995ce3776ce3ced82a437adde447fc7856994eaf2432cb5e50b56d07c22f6bf6a04dc832dde9700d978dce043874d767a9786f8b94ca984b35b026dab66d37870bdbc228b91288336b0cb5424c821884733262030e382b0a8da0fdf10d924b2d603fd35231e149d9a7567c143962dc27a1125ecb98a72abfa7eb7b76ff3456f66aa75b3c4f173e1f5f21be65d5181e2fdbc3314b4a434ee3a0c63f606916a64cc2126871c21d02d64eff156fb87339d4cb4c13f719568359539e969f91644a5179d5f2c50254e788f3b6ce1ec2e4abd05329cb930004bdd9d303df658166bf6b8b5b0bfce2f3264957249e9c034db8213385a9de11ade73d56c0bbbd07c098158ee632a5082a994b69cc008dfb77a8c944eabf961739b168f7fde75d49435501b3f35a1728252b93f994c02091fc8a554d58e518c69ac76c48e7d45c149c00b8df8b89e90ff5f2b94275cf0de9256a052d51031a331e8c2dd86eca272c8cbbf40541bc200f0ea8ccc96fdabdfaa56b0fc6557f18210c2044bb1d23b9da870b2af8297e7a0382549aeb2af616f62a83d0857cf685fe3aa1fa1d627682e685aa386b6708772c6783801c73fe7ac172ecd442ac3bc26aef67655bf6e31a7b15c5cb72b2c8d630975339acc90893cd03f1edc4241538b17d07613932aac35cb662cb9a6298eb1e3ede7f2591ff80bd0a7f206bb4eed4e1af37750baa2b0419c6de9a90d34dd5688ec9a7ed48512c618648d11ad4419b17e7e8f23b9ce1ee92fd781852e186eed82cc7ba21847f6a92581647ec42852a2068cf8aad739dbe5f98707a839d9f0445ab7f2e87deadc3936873dd27d4b0551da51eaaed030614f609aecfcf22531c4ab49f77548478d39b0a4ee28357e661c634ae90cb7ce7800daf08b07e73f7c438e8f147312353feb3e11d06119a799e9e011e7e513d521163ce3f7f7535e7144370818044dae57ddd07b21a431ade11432d6ed76e7f0865d00b95c9ee0c5d0b8c9bd7e99cd381eaae7cdb8791de7a1bc673dcae120996e6b1a573ec95388823ceeea4806cdee7d81772beb172216f8fc88fce373bcbaf40fce88acea351a0675495c185148658570fe02d54e31a7f5687f84052693ea5aeaf735d03a0253e8ccbe744134f495def105708893d1be4c4d85c977be34cbd8e1bfacb066b03703f0d16bcdc62cda097459ca3d4fe25dac80622ba26ab78fa0e0086277f3eaffae740b8c438e46149272ee9ecfd69816ecda898c59a81e99122bc4fdc6d6deb0ebede7c39732db42d73a9370078cd727314168c98b95aed318116be3667dbed7eed94b69c1724bc707eb12e15bd449da0c13ba16b8dfb24fff19e49eb65122db86d3561de9f0bf19616329d154d81c05e525e6546190886d6b8827dc5716b6a4f3a7e43792497008f764f4d55e682ef573bbbd9af98d0c9aaaa4b8fcbf8cadce8bc80638fe387f81db2df1cdca00f209726c0cf943e73a5eb7715a1049dd8f4c77c10e728541a9baf0acb8c7a4e8e907d72e3a165eb95300fb7440d333587f782bdd6a9c86e8149b03907f48205e48e384a119b0122bf9892e176b83a3c01be9c7e93f6afe646d48c59429fc3a1393b74201bc0bd4502d66de448d1c709a2370c9564244c08d913c73b203749b3a87a82efeb21e9a8ab18956ee29dd9b69d2160ec9fc06f43d070d93645f3343f494e852ecf9006337d3bde37bbabba70d019152ba1cdd8cf2179cb8ba28de596d004b6dc141cb1710a8921efdd5059603ab3302088cbf8b9778e40fbc6fb81d1dd283ba5b2ee7f31d7f8c7cb8d8077446a77ef593a172db3553e2e4be1faa5d8cec0863e35b7c717223664130fa173289b82c7084dbad4a371df893442c1ea292a5b127176e26392ec186b273ac2e454e2adc1afb173b97711611bb251f441e9005c50cebc58c3699a4e7ec89433e09d7802847286bb56afcfec72b464989cdda1b6458b12f29854f2bbf5cbf95cc984eec0fbb59e7c529d626a38041ef359d29c5a08a962cf42eb22d0626342d7982e471d611b1307fadb83759faac96286406e136ab7f26b369ff24bb8b7a18f226199a77566114d61eb3c29572d91e2fe96c3af35cb9d9bd70022142063fc03bf44f87915062d4cdcb2adedcda5bde6d82ec08934f94cddfadd36cd76a01892a1a83119ba3ce024feaa06bcd00b02a073e2f52bd0bbf4beaa02bd2690b144a2dca5893bf94b6e23b8042eeec0a1e218bf760641e73c3ee4cd914c7edec4b0fd7280f1fab9e2d5926b18eb4c81180b223627368c19f0f43cfc74bfe7bd251bc684d808b342d08ef02dad216a2b6cf3443a74951256d100f496c18fce85a533490e4db72c4fbfc7d4fe9178f6d15288f69692cfc6df28439be46418a290e627628fdf5b5e087508bf6a11a606fd86a86a03246c41b3591442e90a89e3578ae1667761f6ce0226fac2e0c269eea9b911d475867a57e2284c3cc09c7d14b30eaa85ceb276318bd83971e09b2e987ee3bbf3da23e52cc4bda12f56e43976b5090aa244f4095742160060db6b76b13d49a29f4292e84347d12f45331d1967c2879fa3dfc2f8f0733b2bc173470f25a5d5e5e10dba254fca788a1e89201960aafdf2e8c3fc3272d3fc502c4aafc0dacab6ed8fa59796ac72c99f8ecb51c15fd55dafc14928cdbd5785cacacb80481f0c3dee5dd9d16d875322d97c7cc752a2a5fa9d58b31ca7dc214665b95493d9ef973f0fd4fb8e8464b7262e5f5ed5c6cf69c660a97759ad83ddb618c04e353810e156895e8f3e902064eac41376c0d0b831a71ac72776395dd20adda46ad3eb5afbff38346b644b0100801d8802b712e7e16e1deeee9c7ee7ef1d3293147173c95fd214aaf088677cd6c4244880c125c3fd5e3f146469ce5e55e69398f198e384bac54ab9f1df9b30ded57160f663c699ac138ade9ac84e56e11dec05c858f619ce5ad703ff0dfae8def7c061c05d2ffd9e79aec179af5f2bd979d75e90cd7c2216385ee20a2ba1ce5abe29bc6f77c1a914a68c3e74b15ee01d1876991e95509154d54401f10001ac95951401e4a9ee0f5cd2c02b82e99962301676f3b42592f1823324cad31a3d35d5effbda110c9b57870bd3bf8c2557566e72c313654701f08d6f9bfd1d5379e48a7895d9fa0e52c83698600d5b65e5815de0a91d1a93944d59f67347dd37875e87ee39e244db43238c5dea8c5338a078663277d1cf9a5c6b87c8b4a1411746512ab8d089dc3e2f73c3233699afa0161215c8e742b573021a3923600c8daa8b1fee45af22f242580082ce783d4d82541492198b85e7e5caa6099e0d158eb97bfbbbcdfa075d3fa18965d37643d5aa61359d01574413d600b567d60e1916600dc604d105aaa6241deacab2832f63126cc925f017d2e537342120f41822b4877f4357633858a38e20fd124fb2e6f71bcc8361243884bc9a8bc7477ec2fd6342885d6acd33e04e253bb96d51ae92e442bd5d8619651abfb386ac36a5b22aa206efd2ad4694be180b39c269b43e1187333e27e0bc00b3fc198b54b1169d7b3406be7e1f6d57e9f8a137db8a4ef5fa00df00081679b40f3c49ff1ca6db7db7db906f9565ac8a3d6c23da921b7bee7ec835af0a8de093c360f3dd607faa0a0a4c92e9ccae8c298fed8ead258f6bf4d07e7a5ab3448a2e7c66aa9071238bebba2b415c8c4255d76069ef8a25e482bfb40b981f208547a8d57b88552db105c0d3b5ef37995b02472f110d0aa4769d71215f3b8d5b91c65f0f9c3ad775d2287d58044e544685379021d5b358703041241aef999ed4749188bc7e3bab76c44ff9853ec21e1df6670b741099f536c9467f81852d6e1f18882ffcd3f53506bf9aa274dca922f426adf3decb72ee080a907cc3372779a4aedb406f07da4aca255d69f5ed260b212cf56e167c329e52d424067ee2726f445ac4840af765bb733dfb4ba5203972a1d409bc57062fc86742977982952a495856a706b3cadea1690bf0e70461cf7d3390d8c524d72efcfb506b03f686d2cd2662f7079d375827c244817ef3fc9d7985b5e6fc66b213ec7a18538ab2b946add647aa0fdaa8448214c20a3880c542232d8a322814925c59c1010d93b509a08495060a72bd8098f4adace47600994baf9bbb2fbefbc8254224f4f56edb8652fdde612af1fb858f126af66dd7ab95f6b474e6b73e5e726c40754a1465ed573835e0cc6ac28c2d08f96d70249ac2ff6e9f2234c39b2dbe159f7ce797d69c5646eabeccb9d71ffff0b92da67652da21994179564619b2f838a37f53dce073dfa314841495d85d114f97a132f5d70490958bbae938fcea947e9160a6565d6d665dbf54c86f7fbfbd55cd30b19155e5ed85f93952c5e423cf5c50a79e25c9dd9ec1374e65d1a5034500d7078c4822b6916e9a7572605d002369169c130cf74706576287616fe8532862158729fc02134f882638769a91401a9d7c7da975fdf0a167f291221ff2186f8b3c52f052f0803c463073aa2cdf11c8c212f0a46f790140cf43364b2ea7b706832871d085068de1b25032a0f1b3aaae5675a90df180a9a4659da60b98c3b3b95294cfb853693c4ab9e4390f5d66ebf482fb1120267704129af11ad5cb45582d7c778a9f02a7bca89442063038090eed54a55a90a294fd50cb06b79f5b2daeaf7e60519a1f0ad4190053c1871fa0f07befee887417e869601747399f84244d9211e2bea88fdc94e9b9affee55217b363db195c56443aa37196a22dc3a1af3b269c84afbf431c92ac101eaa835abf48b289098f3b3ed8cac3fa20975e9df5e844c21a50328314ed239106f439c3424472ce6d0342277338fddef385440e0935188bfa1448acc06d9415e81dd28e61b2e9c2566f1557f7706cf24e88adcd9345af44429f37c9c6f6b885638b0e9398f40c3fce07dd6d039cc2504a582601a0725d383f2fb3f51785266802e526602df24ae5019612df27ff1215e52a9a11c8c4a9ec6b76b29bf2b5d5bb190512e6c5da2b3cc1e4d9073e988a3ccb6a92b1018fc150d42712745504a6449efdba8b2396ae66c2e02cdd702f965356c920f11f326f8932e814570beb9b1fcbc347aa7b6f67d6a898c62dddc6957268503edcb89110d108eeed21cff4ec30409b565ba96fbdf840e34b95118d059c606902004a17db03173bea3570725c4af1a1c8524e321d98682f99133b7fa5e10a6389865516b5883768e8863fcfaa280398166197cd04555480c407babb5d718a98be7222bf27478d3ce11a7e115b95f396a535b158131447378658713bfc9c7f5dd2e4eae7d490b504dc7642d3b23a941ffd05f64ea28208f2c08b712748f0c4226491f226c5d76ee1aa8ab26d382d735c5c2796abf33e9c3f0335530bc89282b53ef19a6b9ed946cc91eb5c47952280ed1daa5737f2374559c5990f170239014a1fddc18f1eed1c594588a1939e939706464c8ad75bccaa515420030dc6ea7451793873d65790aa8d9ae342e2322757aec1aef4faef427f0cafc43de9f13f99abc4ea6ca1d6c999bc033fa22bcfd9d44ca23992bac2bb1bd038e2b7483dbc6a30dc8c039f32c4efc4e70596a3636528b8e01eff6c3c6046dab7ae4b489ebe1302689ba765636bc2150d1d2fb3937cc5a2aab56d21cff351ca8ef9bb38560d9693d633483fee3cd7186cb47633519455c18c43397f9c7f81ab465ffaf6d39c0a32489af27343b3caefc246642701956ff832c301cdd766510f45350995677ec891f7d07d553da9d5d7ce6bb884de0217f62f507e5d1819ea976f9e6f8c5f7e8597c378ba1805651988725802c7e35a7fc084d46947016c046816c5de1a311d5f0f860fb433d33be459d6cc5f4b9ddba44d4a5fb332a5da60f67354a8073598c6582b03e20b4473d85aaa9201f3eb0373109256e05da02bbc917910381d5e97245d533f7d6d49ac89a671afdf28a4747d4138483b2844ee910336dd7bb6144d5bd3053b07765eb042b62e0459cc4cb1116d64d41213bc00ffc466cb6cabca4855c08b8f8d14b92c289ff849ca2ef1bf9e339d15ebdb3633c6c11a7d9aa6f7229b6891cc6f08e5ced3a8982f32588a6fbb4277af7641e6d2b50ffda1acc224dde965e67030a9135c5d956f0aa3d11d807fde44e719e6363b3ef210762aefb7fe8478571a37e028fee6bd1dcdde5435263751ab2da96814eb8c8c7228e5772ea56ba69a24b19cd2d73f32f551157da301fd5eba03811f487080180dfc8ac8771fc73916a598b0d5fa4da72f7c489aa8bbed4f507fbb35e57d0b2e17d25ff2296d9ed55c7b3788cc4f58e1b397b29f72f50da601f796f610718161d71e9cc1ac345667d0d7c61a43849318e59700e1dc9c663b80c2ba4fb38c15e2db8a35f972b7b79173a9d0bf9885185062bc673d7e76b4e2f27cc73f543a68ba58f098e781e4f5d83e78238954ee9df6483af2f283b15db136f4da1ab045e4a910d5885731f6616719e3d559fbb77fed6f8e7c8dda11fa8c132fbd4b83e0690e40be044a8e12c424bf8ee966aaaeb99b0097527dfa7cc15f68714e4b3a34d5023d41f1cf80ba096870828193cebbe556efef847681da772e5a3c22d5895f0b2a844c0197f5805f1a2e655b51df8193746aeff057a13d3f03540a471fdaaab18c82e8ce42b782a51763717327a1693d9fd554e188342294848287a06e8f6ff69c0686cb4e77bf814279e2cc18a9f6e74ca44c1e2d60ca433699a4ba6419b217236f91c3158fdb457478b14ec844d148371d101844bd866b1930e2d50e204ae41925a65d9473ee9113a3e14c05860ef35055575f562569b219d938ea62563fbf3ca22ce810f85809b2307dea99c99ec09562ff7877362516bc3c9267e3b5992b0968d85112c56518239f9c8aadc942367ee0139017bc20a58e6a26c9200770fee0df0da34d593b87b9f8e803c38f0be498cf50b8d4276fee536d398f062a3ee24c6e9c6dd61a2e103048fd218d30367c4e8b0106dedc2106cc49ed18f3f50251d4f6cd20185d73108bea6630bf86b825b98ffc9ce9f319f5aba2efb80af1c7e9e8d38f5e7f42b1045c15451cbe9ce00645a6cf7697fa55f9174721e9b91243094000b02a0414ed52349dd2190a600acaa4b5b551dfbabedfa104e3dca46dd53c99d97644bf82eacd06ac8f30dca6bcd1bc38eaff14ba1fcca5f9118b38d0852578db0e293377ba2dbcc742471f7ce6f915477759a287c788838c8adff92cf5ab74821a0ef13ab446f30164d996977873cdcd36431add93256c5a18b000100df5cb9998951ec95025923fa4477f5bca4ad290e92740acb2634c3da4be1aefc064f71b23f2c7d6a539324667c4cfd4e7b662ab043613cc5113772de1c28d24bb45a632c428c39bf7591b29a349cbfd2795e320708dd4881b52e8a2e5356a3cd60d308449684b719b7941776ae83559209896f163233289b20f3d3f5890386f0e505806e6c049c71851222fa9c7d7f9765f927e4c4924f3ef8cf24f8470e93c7d36d221fe076893cd6eacbf76b8be2d898dee3547684a8c7297deb7ea601bfbeeed2070c7c42e46a85948db34535a0bcb767f348fc7e1e8cd354096a49bdc9b359363e8593b6504733c5fbca251e6918f53398a2d39de9a13413e740c84914c3cc97e012a21654765f511a72259259a0706266f50695bc7d31a420cc374d12044eebf85c1c32d68d1e5fcb9100096e19594ce8de77437ee378bba8704a62cfb9947b3c3cc18176f9f190eb9d74b5e1743d744f8b323bbb51eb2b36763a04f89a367fd5c89321ecf5483b9172294a37b2c93fd1685749b2cb5cf07727e445d3d5e4f258645174c1a6138a33a2a4aab54f650e186ed64cf1975460b2d17156befbbc74b3989ad3ef5b3296e910d099f561adf13331befd85a32b7d056f863770a1eea12dfd424b9e38fbe8f5173e5b19929f2870bdd07de6dd17da4d411609ce648cfdfca87968ce285f60c3b4c88992894b80efb0abfc0dd5a3d5976ba8ffd1d2ae065104657b0785fb7695167e8c7d875166bc7937aefb87373e63c22acbf469148218d1c1d5ca36393e451cc13d1ee96ee68d34a75c5a812b98eb898a0f1c60ad42db53f5fdccf8cebbf3338fb4cc17e2ba967751bb91cc6cc2acddca3cd154b80f3c2314710f8506e51127345a406bc6640f298c5fc910c7dda0960f91e5c3c691458910fd7398741740748bdf17ac5937c9d591b12c45e8966ac77bb3f61cec4ef80c969d3688ea4e7ba9aa846db2a61be668f9e522f1718b887d3adf8b8d9cdfbeb9029d8db3f0bc386a9a9ba787244ab73d5f6b7c64af27c9200e0e7b953e26ecdd62236124ac74b047603464497dad3db5335c6d9b2fcb1df72171ce14f4ec114b0783e23e1c2c25acb7b5ef8ec8822784b6b12fdcb17bf115b3026929c7317f02bbde771ad0f5158afb79ffc3c6100b840656d7ef55da758a739d5f1a79292e70b2cef06e8137cedeee224900f7259dc6180e68e09e3df830b28715d771bf71d7e38dab9902b9b31d819b93a2b0a81e25cef5464fb2eff024ca6a11b8408916dbadc1cc3ee011ae63776e38948461f79cdbe0f554b5c6ebc0238b0126442d93bb3422419856103291abcdf0515aa40658694339953599c5084d17ac958a487bac0fe21a87705594c519d956ac610edccc5e14c862991aaab996b470c3396872d4c444f5b8e58366ec017e5343a111c17c21624b2fe8c3f57e8a69cfeb15faac90812168c62bfe426621b6f54e507633055209df9a5bb4e524871b4d2e22d31386d8500c03a817f487769458081978527ba8b5891196726a5e8faceecf7514f0bc4ed94b1b1ead629b553a542d24555c963ba39d74228a3c9e6036c8aa0ac872c7a8c12ce56d9af4f90cb31fadb370504788c00ea1da6fe150d44d8b91a45648a2cd73a4af6850b2bc10e2a5ee46b1ac31cc5f60780a60f8ea7457c5629f890b054129226b476af7983c921f8cdecf939e38206040682ad4fe331dd958e9bd2b9068fb6e39dec247c8c45bb7c093123964c9cf897d27822d2099a8027c618074152fadd66b5107d44f5248e8525d668141e8f111c4b8993e7f9ed5c11f3d34a63a1d0b4e2aaed23d07de4471c6d1c4bceb8e6c0a8893fe9814371853c7efb3afd0abb760745ced647c9fd479903acecd31b535a291456aa96e3269af8e27cd4167f491bb61e9a00d02af6548be071f4c662f63af81cb9e47c90bc632eb5620e92128a33b0aacee6a251bf803b2b3d0603c7f7063d1a22a69bae4ec61d7b43c02f67bdd0fbd142bb69ef7e169ba729d2f2430b73a7da8a992bd732b0c4bd37c1d2b56a759b2700bcfa53db4b4320f181948809e888391873db4f40bcac7e3d8ad4f4c02ae6b073d60bcc7501aedb27cda862ab002247af4f79fafebdca8156283edf99a3a86ddaf2f9a8e3edf9070c19ef399cde76ddd20b89747c119c99091b06b6dc0db65b9c06c2fd56a57478d4610eb60de9cadf0d4401c0d04cc1dda4983027c0f000a73d18a9e24ae1c62b296f82439f8127c6c63cbc6de2ec17f7f167ee2c970f60ffe3250177a93cce1641cbe605f24d3a8d2896760afb0279eb260987cf5f4a301272b769672bbd26d0d54c8832c4da1fffe834e2fb3d98284de30a3f484dffd644364366e255508837c96798053b99205134ef39220038e75138147342d16d1375e619c46a6d407e458a0a7b804dd6e59afb59b958abc502fe9cdc9209d775c25d0e9c8d07a0c36f60b0199ca5c2aaed87e526b58654809e2cad6ee05ae1bc3e28a4b0504dca18a27de44e61ef9d9c24be29dd108b0cfc07d31634db690ddfcd3163d081700f52489a18ba37d44ca69adbc88c0d8e182f7ef1eadc1a4d5d11a807efaf193d8ca8bc22327f5f03432f1ea0c0538e28729500b6ab170f65ddecaee0208b366edcc2310a25f1cf0ac076f3f59f15a601d9eed72c45624534240ecc320cca84318427568277618b96fa22db6f1302a12a568e938cc0c665ff325643ef5978b27b0eda375f9ddbc3a9fb5bc2242065d0e7d3955db2cf803bd3834626bcf9155a03e9229da908ba310c65a3dd40d1c678cddff965030a934bee29130ed3d6859c48eab271054bfae12163fff679d253dbe417ec1616c791b45949eb6edd3840384d47628e3049cd6f4521e88b819eca5894239a228fade3d3d6210848fcba30315f89a9c0923767dd795eab2d99a89fc9ca94765702fc88b7169a58bbda3c93324c290ca0760936950b26b8f8ca5e631b8139d1351fe5ea3924959b6096557426167d0a00fb2e373488e350956efb550395f5732f31981debc6ed8ea8c4d60e37ab3eca7ae404b88ca1dd84e7595899d0dd355d6a1ade2055b19cf75ed0be18c9432ead0f4108a8863947545fa4f3d70682bf8216827e28761e086dd610451f6fc8143990f7935c8d9e9cc334728d60b9942e4e223f32a96f098cc6e25846ea5793ada6b15f891aba176cb63965aed81e9ba3448ca314718b07c5ddc45bf8cd47a1a9d37e237a928cf02531cf4c3e1742e11ba2bb9c06ac24df7e4d9b9506a7502a075d61e790c54a57f34eed3742752145fea413af4731b6a0305fd95fd2ff6a4b63d199541bd5431fc0f3d0d82ce7a3e47bdbb6a1dfb03bade3b12a6ce846ea5085c6669b21c2cc0f326493515b7c3debead6eb03e2e136cb832335470ce6aa9834bcccd11083d628641313d6e0885505f2abac4a194673f0455a90ea24e94b1639d93f21c74ac142ab8aa0a002af40b6eb1710059c2a79d0d29a2634b20151269f2e033112dd37e07a5f1117f9d2b6be42d3501347f91fdd2dbf25fe893ff4e73e765ad8225ab9b1467a498bca5b4b783bfc3a33dc819cbc06e282beb1f2938853a53a1994ea3b71cb1fe0d6e068d81a73ca7ba31c230cf38493a59e19aa6761c3b8953685e42aed8c880c21d828f6892d2eafc4a16ac771821752cc44096b54ac13df2471a376ae6abf5da0bc2f8f45bad187f630550015a1d58425793848c0f99005a00f16f94a5228011d710c579c050b3dc0ca306a46f9d596e35cebcf1250844d2c99e31ea198cf5d103e6df886faee960627de7aff227873403f5d1a034353647d2c7742cc575414f28f71c1ce27aa585c75c41eeeec02d98f9c0757b2d08aa40c6ddcbc20913932ad0ed5107533d4d4b1717ada78997b4f6e22f12b291865184099259e6648235e8d87770003add418018c2f0119f1826bf2481a862088ecb60fc7ac8017c9174a4d51e39e943aa5ee69ef2344e50f5c51b03acb0831093cbeaed0ccbcd394b505c41e74db06f81350106ebb32d250fa7bf2191d5a98ac41e990e938a4de818dc42372f79bc212b198148b701e2c727757b02006640c8b2721cdabd1b5d8466336f821a962d75baeb048863917a6c251687468d0b2e4e440dc13c9790a88f74aed847c06bbf91f80b91b31e194fe93713baa107824c1885fc41369e56355537bae98ceed375a9bf0b7aa222f003eef6a2bb60a72ea2b24bac2b7dc31c3650cb2c69f07f506e2b860c3fb5424c060322db13f34820a81743e6a62e3f743a1eed2493018e9eeb81a61cb0cec026db5d4e227ebf48806f53d63238be60c770c472690fb011e6e6f09cd01ebde31672598d9ad5af003e9da63e0fc2d7d0fef4b16299edbc1ea2f22137428a743a57d0e85e1b42d776e711c401b97331b2a5a2a43e75becec92562cd472001fea0220a7567c54ebce9de9720d6e13b0e34e3116ba3a693388df9aea9fe77e035cfc405dcceb89ce5dfff6dcaa25d227bf4e98cca8f31522e7f8013b000a188820e98673049d3b4a0a58f21495272a43f0cad3b5bf489a4c0016a3a8249686022f79ce146f79758ff6754d4b191bd6952834495333f4507785921d5d03bb428adffd6547f2790f0528b347f2dc7704deb81038ef5e63a8578b25c4d40f23dc66625ec8c15066a844f976d666159a4f11dad21be0f8887f2343aafee02df71afe98bce8c685c354e8dadc590fed370db8685b8a12d9224fb0b4a317b0a2b9e1b44a7b68dd36f0e67b1e38129f2f9b0a8dc8dafee1234bb223261cb1fd1471c1473913a695327dcc13fef02f137afd6ce079db5caddb9a2682bd3086b588edc5d889cf250004c42987b87adb83650dd2c6fd371ae3d4e2edfd3c84144c4fa344131f9bdbd6edc899e75a471c2bf53ce42034996c7561d2844f317b015e3e96539d53f1bbd7183cd5709897f231c6e3ad7e440e2f864e9590be07174b5ca358cd5bb859e293f52dbaca11c13149f126880aa8400fe34f6a56ca6d2945e8d5d44baf2c8c110b8b62041da14232400a8993e49100c806f3003959ee0d9ed5b9016da84f5feb7eca8c6515087ac82e44c00f307b4b9279e4b4646b24e98bdd36dc7a126d42162bc3d1bd50d003975d2bf6cacf39df8c446512df88b9835d383ea28fde810e21d1b5da2acfa8d4af65e165aadb1492dd58f38dc07ceb300c5e498cd8c457ea007778ecd1da21c958d5de90bac39e8150e62ed345d58d04fb2df68e1d9de0ad01d6bed61f6467f5bd2f7044e76aefbf9acb4dd1ece7cefef280597ab3137e7702b1ae46da774090695b2dfe93e366224ff80a6f42052e3859ee1609f04630ca9b433c316c692f558cde744187cc1d73103929601c53649c15891cc5bc4158321ccd0a1097fa38659fb95225e19889a5982b37d6c59237633d6221ceb37ad9329538865a024018e140fa8a3079f75194c623a4846951ed5a1d86ae900bf38cb5f1fe86b41324a8dbf94965363f81be4ae1d2ea550a8933e2c171bd2795bd846ca6bd05a41d2bd539cd2d41b202285950a67dbca7a8e5071a8349578376d4e926d4d3e6f53ef25dba833a744b07990f7020d6ab38e3a81046f99a1b61c006718bb549fb6103450fe3d62a5a95e80674db88d74569273e29e9cc24bff582a61a74a63e29c761442a8e2e11802173ff1c3a9076533cb5d3f7163c880a801468b4771e090a359309fa846b6c1f42676b06d56e3159aba0354391d1ec6a8302598683fe06929f96fbc698a5728b0334cca330f132ae3a237d12f40b106841ab5f0f82f69221d042f5325a1c1534f7379a3dc15ef79ae244a11e57defb3679918fda20ded3768a21385aca31e51775da29e68a8049bc0d9f79a4af64ac577509bf39be327cc478309ca2a1b41c401469d8881e291d2a5a92f46b45be41ef93e49877f7c4719efab4d70d3c0593a3e25fd9dbcf8864271704912042898f3583253b9069eaea3a833fe00a8f74a2969bb181a9e23ae5275804444a187e434c5f65fa2fd48e5024fa118909a7586edcf54cec17344df64318fbeeea77514004ba6867cbeec6039cc2ec3d398d8912da4287ad4aaaaa6a2685411ea5aa73c0292992566b3a77096bab6b712eb39bcb5908695e04b9ebd25ddbce7adbebf23691198e1df01588da82a979285d7754899b05901227fb51e26c47c00bdbb8e8ef904790d5496a45ade2837be1515f8c35aa148a52495f52d3e575495e327217820acaefc4a5a60fa00d0ac0c1b84dfd43251115e17a75555ddf997901241eb7796614808d16cd363a794f313fc26c0ae7f7d6b6ebf06366d55d3943c36a2a8276eefd373af3e8198bfe0a08da44db91144f1f25a68a8f6f3f22106646aeb83dbb21bb81a7dbf7da199ceb8b81a16ad36a1fd0a1c3440575d9819e28093f309d7b8d8a58c7dbad345db446f1bd0f78627cf8e5b49a7e5a061781ae88bb241ef6b0ec744a472ae0eedde665d615c5076aebdfe35a94c719d707435886d16cb38c57df93290ffc1c7f858a3ba2c9f54b02997b105c7b2499abce640ffd72fc5469f5d958045dbdd43b42b99cbd1551d98684907cf79c56cd2a5af374570c2c74c736c0a58179dc216fd1fee2ee1720575bd7d20b423b63ffd606904ba0bbc24df9b4e943c9f0a49f2c73804c04f8d2d5f44546046786fc1455119f74041e8d799550e4e44b57a6bb956e42f53dc09884dbcfb6bf4d68bceb3d81ea24a1742b9569edfab62a259b4fe4cb7917bfec34be37ba385727d47267f51cf6f7888a54430e2644e9d63ac3ce289d32652452c31addaaf9bfcae8f2846a2b2ff8f839a48d7c1bc7167a04f53941734472085b303ee9413ac5584c2e9aea6ab5f7049834393d1e4972c63b826f927332cf3156bbb8622da703a6e447dead3c3cdb8d6426929567c511576ea979331af0a55b144b2e69c16d62f0ace30b21976b6ed1f67947cf961e9c61604b9614c006384ab61c24039bc977f63695317a2b2bc92a8dd2e88d86b65021d5551e2b0a6e2a9b11c5be20c759f97c710d1dcfd1419510c0d1622d9c9f0d31c28b2ee111984855a5c58bcb9b1bb2f7b21e3bbfa5a2c6e80934030822ae46151a09be98e58a1c111b5396dd79874c26b6645ada7155fe4aab25287ec552f3f90c3007809600ba870996f040473d85f6c509af139ac054ad5dbfe8f7993e9eaa3c64d210a79938428e61788a113060f3b8da4e9ea297501701c1f11b929d5cb032ebdec02777cc26229266a94bfab09f349e74ba6b5248dcd780ea61008f604b1815ebb95547e635925f161d84d94e29f0cb5d9b7c3afe44d6165342099661c29a65d8f7de25426f44104bbe569fa696a2d026410bc9e4131aa89f13b53aa2842c802f2e3fef475aab539be776c8d98f5d3e7a3425fa846b9975ea220d6a73acaf2b27067e1caf68247f3daf707027eb480ea00f878f884c5db1a72806f3640966a24e3f344264fa6cf6069937b47bd1541f651b0ba1014d92ccdb43412f5debb3b6526b5bf1ea4b86f91b2ac330bdae30242f93fab7d04f9c8e6b7be68b2caaef734ea6ac3f673982a980a04d8a2c156f2d601b2e6cecbadeecfaf125bf063a47cc9d104e9556233970248e61ff28bf91940303eb0240358cdf1f99a4b76598dda2398071b02fb9c22ea28eb6b9d8d8097644614413eb3dadc738e1c5497af53dbe5ee449f8a72177285c87b8a89f8b89f5967a18150c64220b5906ab5cc08195ed02e9100af0caed815e993e2cae493fed151cb8f0652685a58a349be25d0b7bfa2ff89aca8f2029823d9c94dfa1d3f214bd0b54b8072a154ff7c44a369354ca68e5ac93d6e68006e530755421b77caa670f6318dff2cc70808f34cd79e6b2b9d839ed7c9e1be6837e43f8b9550cc4a82eeba4f5de63fdc3a9ae8e5583e14723ed55abb8bce8386fb983638fd65ab9862953b419cf6ce50d39a3225d7ef6141979b197df51bfd9ade86f555d15dd13aeeaf48a610244014b19716a01795c7106592b4be5ba595ddc18ea33377fb67a43bdf715d19dd645356f0a5ee0174f4818bf24654eae82db3cf8083f574e72deae3e5c6a64bd122a10aaa791f7d9df0a360f72a2a2318dc7466463382c34598d6631551d876bdf785e917ff7cdb1bbba3c6691431b7df94d05e0e0608e18f2b4519eaa4ff5bd9c2cb5da2d4f4035c7bad1880f2de99a63b758a14216c7e77f0c5a7aa8b0a1e8749aa69953d80808556338458fe1dba89bf640d974006d6df91056acbb6e8087dac12849774a830396fe4be7a564c0f23360272b65a6e25e28fde8842c49177eb94c9c56032f8f9cd7ddc308fbeab708e39e0a6d95dddf42a1b6e07bba4f7a85f9a623b1b72afdd336746927712a133f6153c8852ed1182b072c09b39be2806e23f46d90bc8f97afe89d149625e44ef7a810a9925cc331b44e37fce95bef1801196384e2c15c4842fb03bbd180c7f36c981e9e22dd1440270725c8e7c6e95aa3aadb7263f2136eacf541820858d9297f6b145b02e7c68543acdf0fe340515b2b65add56677362367ae3b9004fd6228380e3f7e2395061cd937eec23a2d47400e9edb673fd008611c147c82f4afc81e0e5af066b31eedf1c16dd2d1e4b1b0b1ead742ad9847a73a4595f2986117c14e6351372524a820da0edbb5f1a509fd5568dc50605af3d03f8101d278540d1ab8095731600c4d8a35fdf52c5eec79227b8741e29e00484017bc5865225bd26eba3acb0f4f2064110e054440c9f1c3c9eeb3601626f76c8b5ab1259670a4a53d550fede46ff331aee1d670d121950b8af3727c3762e4fcabdcc484476054e65a095fd50873981f00dad5cdf8365687176580c443a3bd41a1175696c549a7035d3c1ad70fc6b8ba39cc62d89aa2586d7f6e7a4d652554bb4b6b2951217352b6451c254287a630fcebd56f69d28e3f0f4b8b1441bd1e6a97e02f04cb119bbfad5fd9e7c63045a4a5a2c71d3d53ba6bfdc6d8c1668e4fe49f31deeb18fb0c4a2665d9ee6b8ce5a7158b3629c6a440a5a1df7b25f85808bc2916fe0b01cc27223eb8da76b2caa99446c4f2c9077c131c19a70edc0c2534824e91377192d570550795f4729466b544de2d2f92c7df73723d58812f58a73626af3fc837cdb982f950e2e74699cdb9156d0c44340364faaaf6009e0185c5563074cdf5ccfc61441304bf8556dcc67756967bbab531fb8f5d752f665eae89b4e24945c17b7574dd16f6901281ff99839230c10a550f740afd4fce8b21dd2297dc45dd0b73320cc78e8d8a8c7dccbb4da9595f966e90b436167d9ac5400b1aed47363c0ab9591464727aebb8726524cdb640c1448784fd29ee7b2413d105aa5af7cc1c28366388fc7e463fed125de9e80f1e5cd32adf3a14f94086a4a715490b1d4ffb05f94a4167dfb7105ee7fe20c5755a00e3dea8a6d2109c3bc1da6c4f6e68dbcb45d0ca81c33dcf1f1abd2f711c6a19249b5e049313951502d4bb20485a1f27ed0bb8e28c6ad75e5940439f90c6f720a73b887c64999d929eda114df0d5374bb566f0ee52fdd6e8066c3517cf2f468eaa990f5fba8fd9031f2149d839af1187bc3b3b3595d28ce55c6a1cdd12d3a6e2d71c2de6b72ad8a7f9769d1bee33016d07134170c75b0fd1c1c6e48f56d74810c6a120ce167e8c007ab807b4d315e6da3374eef26725a9e2e00c7eab4791312b8d1e22acc1402f7fce31d129f741d96c759011db043ad205772e850e32a39029ef81962e5bd6dde02222a927e6b37a363ce8204a7815ae7490580dd24f01136f59517c9e63628e1867f51948ab55578bd1a0781d862ff3623fe0b17e24585414d481a359a29ae75d8870eca90291e6be4bf7c7831c5ebc25ef6035caf866c02705f60f6b3ceb77f0e479649c5194b1941861e21d810add78a104709885626ca46514d6dc226707d7a249e136e0b5b3897e1e5e895e867e8e5eb9d5da9e32e01199c8b421ec8abff36fc4d32c20c6c23d8f37899f845c0a61a3ad4bbd5f18b146edf248eec90ef00338003cdf56ce79d7941990ef5c6453336ec275ae4256541f9a81bd3e435a628d8e93a136de64c42bab1ce98733d7aa68f18eb5dc16cdf75574e3880c85b0e492c19fc41f0ecd770bb1cfcb27b7aadb7ed60ee28fd1edd7e26d6f3c0446395c1d6771c8807dea7426c59027fe990a3663732d2a1a0057cd8ff2235c2af8dc440842557f813f598429f9d9f8e3b7b7ab837c0972bada4acd47a8dfc621a713ac677f6ecc13805a7bb5135bc101eb8777b4a567109e2aadd2be1b34181931dbb3ed041250dae0a8b0aa2c1e823dde5a07b0a05e5bdd030b8c6fa9b9ab8cd7b9b2b26846ecfe822df7519a1b0afd20350b17dfc2ee80cc844dcc37e79e98c28759a0cfd64b045fd140c59dd557fbb85a07557114e919bcb8b68923deefc955999dfc094a894ca9bb3de6bc797e65b52fcf53fb0a67692daa0b1c0c95308abff1c111fc89169fc5ce004cba540b0f3276b4655c7f4ae4b7ddd7b596c3e58652a85befe27d47e046d86ab6b526f537a0e1c9ef8834ac52ce23d88179d5a3c3b5840a804a8c4fdc7f56c6f9b42b3a2481caeeb03964249f9ac382117ac8809da49ef4ebe97583d9b421037e3c65f98b104475a52950039ad52366004e319cd7f034b25864300417f79ffff256928db3df2709cec33c9136bd65759f96d1c9d14f49a044a8deab5e7ddeb36e478b2caa46aa07eae37f08ac528cb3ca03dc2387eee4be68e820277269d9795c30bf9cdb619f61a2fcd400918bbab90e183348104010b94703e36b4553b301d303f4a5c7b2fbd40b4abdacf1010ac2e395f80ae1154a54e6d532e825fa53409c3a2df41d0077654be31afd09964ab280cf829c40133fd4c3e6352fb859d4efb838249c1487cb0806a2d446492090fa82a026704f0653380c39ccccc1e4891d6cfa9692c42f0d614c61eb876d3e438e7ec333430a1a2528068a797dd85c9a14927e895902913f9bb8009d9edf88d1a790d35d71ef1dfdec75d1678d3d732a163f7843c86583993eb6cffab35eba08969c96f224cc5780c258829fd70871233c2b2ea406cfe7dc35d8019ff276eb2fc775c0cd1c3289b02edb057b570471c30d2538a1b6e94b0dba97cf287698756708d5095516d528e97d991605b46a4927178fac4c81aee2f29043bba55e781a38441e6af68d07be52301be43c3e95e57ce10734a1078491c0c3c228a6e47d940272c2639c41104e70fe10c0c9b5666e88e486d34860945d14b957552a38caea5688efb6047dc0cc6cea12302498d714df1cb68f6201b718ec8c2fe3d659aed5fcbe92b4e8a38bc5029f17d8acc1805f12100f05aa705edc1098dcdbabbf623183a7e75d7c0a3f09868531b4f1b9114d1d1e5f7d695211f3ab66dd3c4f3fde60acdb47343831025683b9c317ba88b764a61b9b2e537cf552e42c8f55a720f1669af38a7a627ba2919d7facd470cf1b89575813064178781872a7c9b465478fc56a03a41ec4150b9373ed6ee13977839c070159f9658c4e7445d214515c789427a709caecce14da4a1495113afd0488a8f67c5189e53d7f6d91879555a8b1976f48f65d9ec8ba82e312a1de350168db09f4463e247161cd803d1808dcdd60d1cb45b6ca8c279544b9e01e9a1420fc0a0c08a4e7ab618e1e620fffc6b064d9945a66692d3e8b1f69060a16a504d092d4defb1a085649e06e2927a6c0f2632665447735901049cbf0d56bac652050fdf9b3c0ed77e463dd8d14b7d283f706f28aa410605926d006546bd3df08b41bf2b9ce0ff455eeb86ea2763cea98bd6a6c708b663adc39cbe37541e8902bcff770b6bad6a70ca568057b371e22c6a64f284d0711f82923e2194ccf7ba9ea2b431384e7e2a8cfb2400dc6374d63e4a637ce9e18fc3c8a2f9869829edff2139e23ec1356487c30aba86b32b4dcd9a8f9a46ee410b26522251de1c465d3e96312a41a8226b716c82096007aead7a96bcad627f37e72e71576144cad8419701b6ddefb671867e355ac55eabcae0b1c3949d5342a026c37125d418ae3cc280d14a5a49a1e31497f9459892e19a846ffdd7458f503e93160e8a7ca3424ec999219903981fab1412fee05f000332aab2f2e530d90dd21caf0e804aba0871a562c26afe03b341f932e589c2581243d42f7eba14db6dabbee7af3c4e51ffe6717077a4b505515aa529571587beba537fc771b8ee9e586888738e59a70966888db040072f7505503753108a7cf7b9a779840e0fda8b586cbc2d384e8f4c07bff26f31119e4b12d6c57fa6994629ea3fab4b8d49d854e477202fa4dd44292ed5ed1a2b8526ad9e0b04edd39a9a1f52592c526ac73af50b183ff39313596db122a158f2636341e3b1a1c65e49fcd19c75b7e354bb20d281aa405a5c63e2b7659eba0866ba0a21bbe93c6f7039c60fe8ff125dbb58e9d6fa2d062303fc4c1db947bda157cd73aaa7c12203fe8b7d1edfbeca723333d9ea9adf917465a59017dbbf8d3e018c5975cf8c321736cd907c8b353220011cc75109c65f7c0434120bed0f3d16f9ffaa0bb75f8118e2306e9751cc9b6b9da3af8ee885c4163cf216efe5e1e0df69ac488c33dcb3435b6555af19342cf618f745051a163f0a1ad6c821c559d518c70577ff3bba96138f0c9e37c09a8281a8acc0dbb499a3e0266b3b159076fe089541bf1f5a13401fdb0c5b97bda225a0641b06c6f3b37a754a11cc2012f2db83ee0903ddab3f6e3c5aac23463bb82c0d0dac8ad40abf34cf1f8b5a94c74c9c40dc8a5fddaec2db667bee3ea9b167ae73c45ce1642238f2a2ae95d669e0d441fd4b6b46dc7370a526572b808fe8781902a4623f68b5ea16b5f65a6887b0b0ffa3127d2709f115ec7dad8e25c51f7e7895dcc08d3cbe499928fa0c94bdbc5aca23d7fe310f3cf00ebf827b5532ad451fe5dbf40f52234d1ab6972de78282a41d120fa8b9e32857b6934d2940a1db298757c0bb77bd8c17a9a4bf513b9e6f81c76fec7da9bf450cb345962fb92ea3f7cbbea162e334fd5ab649e67b8c00eb8ccf3ccc5f27fb79eb7be7761cbd5b2e44e09917122e3c4c98b829bac629a6d9f2f539ad356aef7a5ee71431b1f3fb7eab7c9b75e74cdcbd0598cf65f8f586ea6c88b4d25b216afe69bc4f22cf1013dea5d28679d1e54ad7a5aee2341880ac70e928af39a373df8d19df1d256f35d6fc847ac2f3fb91cbd89784a311f7ec6cea4b1de85b1bfa1b4d1b62ec489badfd3c4313edd272c0afb7bb870f01bf205fae8b55f14cd609f09177cda188d1c3309a63e5cde57e4bfa8e73f04a162a4e3b5e9e0b9f66289bd33a06cdd7ab3e1f8d42f684c4bfe2d449f873e3c5249007f1caab7764f4d2a4ac6f68601eb6ee296e9dfb2609ae6fd72f528d91ad1de5f56f13651ae8edd1b3fe7170f3954dc8854cfc2a4819d3d841558bedca9f8f34d7825e51aa2c2c28afbe19764a406fa181210fda1b3a666581d4b348492284fcfae509c9153f746caf36cd34cab9f1db45a6b251a655412aa5099426145b3546dba5624735366e13d541074b105523d54749ece5cd25545f457cbd613a29f60573cddc6754c20f1f29e9c8d30935c86a0745257175bde31ef6f615d6a29107b7e6bad8676dd2d2372ba2d981c9e6001c0c2166fcdd53f77ed173d775e0cc2e16d7a47cf283679654edd9c4b7e65ff4c2457bf13ce63ec7a16208566d2d59f28da7e35ff6008c77a9c422d13f8e2b083255cfaf44695ea624b6021dd46bb5d4085bbf2834fbc03698cdeedc042607fea1e5949bd5a8b45b8f32ed85569caf7c0d108d35f53d083bb3c66f373699f40d7ba8895a0dbd7490443431cef3aa56536e537d90955e2bc62e8a8feb6e26469429144bbfa09983b661c192dd37925f91b3bbbeb3d681731b01685b30ab03f3ab5217e821e9dcb4f37fbb16b711c24444cb37f4d024d5307990fc3c3751369d05a55ee50b02e5f871ae2b764d7dc18083a78c72616a6c687b0293f2276ff180f0913b6e18ddc3a1698002a56e56a3af9aab266dae05c9bfe7c2dc17d3938b8e4c86a761f69db96f12008b9affee942abcb36fbb0261e144b337c2c8270c30c4d828f3570f2486a42a2703dda29667b65686b84549805438cc9affdf2fb610b8295ee90fa2dcb49d0faaf06277c59126236faddb5865f6d164325fb10fa8c780e3e07df658628377acf88c83e85d8b987d17fb6a22f618f9152d49ae9b9b7a7df0e25bfec3938adc5add55a3570da04bf639b482382c076a68c7681a00688d4b0fe62f7cb28cedfb1c6a3df78bf9f350d7fe666a6dc24bf4e729ee19a87b62e3060b2b0d0b4cac2caed424f8b0f4911377b2ea9b84920849e317bbb5e56ea5abadc9e79d8a6599d4d90edac1e3c8fdd866e13db8c80770199cd3e5a5f3cdcdf335b14bf27bbcc50b3a03003c3a73521c94d0aff70a92795bebf05d49e4b4825f35799f7edd660a350f6a511fe187d162f43ddb2146511d3a46ac77a16249ca73d9ef1300b93992df3b93ac43dde79d12e504db7e9a19031ccf320fd46919efb21c2f6138457e1cdf297442a24c3b6bcad4602654da5c953a236f8e7d8044fe18af61740399d77d42a8a699855469871863c546a14ebdbd75c7a390db48392c895f6b5b553e74e526fe358c74976e470fd2160b37c36b748c7e8a94fb2dd2b6eb83284dde8ae478a562ce957b61745fdec45922a9fc583dc68eecfad3611bdc738c7ca14fd983f1c26276e5db94f301f5349671acdd04c462b2c3effc4a6065f78fb36060cdab35096914b0a369533ef8d652c39d290fd8871d0249914b554935507c7db8490bc41f623ef5764f030fb55b62e55383275dc7d1719fdfea6902a10813e9d58132794e8bc7a3658f7927764e7bad92e14daabd5e0abbc4cdccb93159a9d00c5bbafeb56ebeef88f65a89e5892ba8d59f2123bec3ce4dfc7c9346654cf1583ec8e96868d4434843582390af1cfb33bc347cdbdf78d0d03de1075faf570f17803f42be07cc3e0ea1b34579cdbd5fe1547527a4ce35716274692811d478a38dc82b6bf25fc252b4ce1009b409767239322dff95b1d95f059c863a117c43631017106e12b52f5441e54ed0ee2ea8eccd2db6ad8d806397a6d984b640815de1aa88fdb6f16f9e80d186b6cc4eaec0d124c89401f87cb060f5a33c575f33190b8663fc538fe905fb60ad3180db7dd0f7b43601920a67131acf4d7a169a86ccbc2eb6e8e40bb277decf9dcd3a8617f95b4bc1fee1827065920b7ca7de1bb7ee09237f2ab1ec1a4c5f38b89c524928635f3ace587892e80d20dfc3b3eab94ff187ed2eb01a1f362e8e66a4c51a3f5eabe3d2f9a94e6bfb2cfbc41e0897d32d3f2c0ef4b285524396ac6677bf179b2773011579924a8dfd494ec2ec747855fae67c13bc281f10a919ec4d558a318bf1038a64f9f19b7cbd6da1bbbb434a65876a8a072167805cae8884619b489a093330f9716dbb94ffb4bd21554f9b65f990951f9bdcce74a164d897e13b3d0ea5959f46a06391c6937bc854e3b0cd90217cce1439aefc1cf4ac7ce05af8846a468799563006fcbb81ceb3536500fc519c76e15ddd999cd1c881b4090f42bb0ae30cae4f56d73e85094527f67f58ccacf348740951db34aceb9f100d256ee6493af1211ab32409f9fcab7162c420495df4346eac4473a4398c4a584b93ffeb3652120e1acb054269c5689c74569b4f0575ebf0612bad73308cfa3140c9318d161f34b1527b1f3c53d7c6aa9845cf3612b6b25699480eddba791eb68d87281ab92b8479dcaf43e36cd84335660a52aaa79cbb0143aa3187127fd7eeb31b76c4d615b1e6adfbf241fd7efa1bad28846682dcb4ab6394c70395365e0eb85657e7569c140d324c1a4b0929c70e13afd4a3962dc9f304a213907f3b408cff01be9e98338d51eeeec57b1b41b81436e6ae9841f71f06dd9791b2311c1d2e8d684a13a4050467de2a719813cc661fac72ad9e5cffc2afeae1804955dd7300bb90ece43765a3e2573cf8c3031b5192d63bf262470bd269a6d5d50fc0deb95b96246ffd1229de25f7fe194305c8504b5826c805d8249daed622f88fee09bd375d80746fd97c05e8f4272670de0e7776df97648eb2db0a244fd128bf6d3ca198d3372fafe1378f52febb6dcc5a2ebc2f674c3f65e19d03bc82f8b791e12c7c3587f590a2fb18ac13b944e9a29585a686065051583dcbeaf9150f4bbce50b551a36f0b324af01a65a67c6c8f56e393075a9e705f9a2a9bf5a0cb13ed19f8e7f03f047d4dd902b5300522e5e58a9272cddd724acbe1e2227d3f8823cb5f75a1fc19957eecd9f8df58427f78d805df4fa2b6db7bec6223ed03dc1f095f193a18da36d7f4569f1959d9b9cbfce52ff5393b8ab6a25f656cd52f44a553feb42463ec942b63e2ded9e563ed7473b75bd1ce5c00faf04af63e772c645a885c0e8a0993018913e95ef9b229593ee61496d870f5efd8d7513782ddf80dc37bd2e875ef9133b513672d73ce5cf070f22febe3bc843410cb930cb266de73ee618430bce54cb30f0bb0d92d710443d7b7c9b21c627147b41c5dd53df8b32c7eb9fce895a4865cf790838a6e2a04b4a078a96df594b3d40e14d839988c51b0e6fbf3fc3914d0709530ad8cc1497b71981442ee7a1ed98081b212b9ed7a1ed6f0551ceff106b339a26c66eac512deb009e213ec77a2c66955c147c712287c3c501e6610eb52f474cd0a2da528ecb08b8bc3dea896cefea694d0a48c7a7e5e62c04e8c9ed81eb72e3689f6433a4cb12dd5b580915943d7cede75dda40c873bd267399de65330af7b3edb02848f8c1cc831db2f1f7cda678f5a7fc9863769038d331cd6b36c26627d79100943178eb95bda7676b83ef323b513cb6f17f3b36f1b4fec7d681108c44f8fda2e96bd80d5dfabccc42952fbad4d067c2d61a24d74ef664308dc0ba373969571a184efc0d90d57037d15e28195d60c6b717369479370a1079e108e80c0f4e240ee167f21c6cec30e3e5ac30bc82165ce0ae09059b5dc775fe068938a8a5514c24f76e59a9b921135bedbbe6622c88e01a31683a68580c204fd23337870f833db3f01f6564e82aea8226f234e74b45f4c0764cb5beb54cbb2abdccf4226d1a1f747d5ec106111ad0b85dec663adc6f8fd90ddc9f0335bd1bb824ef37c06c777eb22abfc8595b6e20ce2e018f6a5ad78360b9e6e564827b158b27324c14d5fdcc33cc5d8164ba1706f9445d143e9759319899177902e4b62f9942f265a571ef142e3ae72bbd27ba0c5747c4676977bc245cb215676494bb292894e62a061f757ba3aa89f4f3546c10731d53e316c89e2f31abb1bb7b22fc0afd7983ec4dcc1ecca072c9b6b4e6c2ed9a177372ba7fa9d11e55e322610da52a1d59fb6d48806cbe7a53fa73f984394c851b5ef88ddb9c25dcfabba7c0a4ca2bc9e2f45397999a1fd3d92ef3ee4c72ca1dfa36181dfa4dd880f3551260616f849bae843dfeaa9fe81a8dca6969b0df14c61975c1a282685439644ea996559121bbff7f98936fa1cf67eeaed0c39259b09372a1aacea24a5ae55bfda9b2a16b7581fbb39bb703ff3db4d79b01b6c02cf474898af722b8ce84eb8f960b0737e8429e6f14fa47d1b75bbe6ae657f7c20d3d8e4c6e98a1417f3abae850a83921f944789fd853d6e5833232cb4b9f0a4a0b6debde3bbb290aa29f98bce202a28bf33af96080a89d007c5bc7bfbe3019d53fa148b7356eb0cea2ea38dde9633cc59293c1989a7bd869487c3d4a00e0f890f8ab3da32ce4eff99326126ec9853e996436b0ffd3cbeb2f2a1287be5821448b8287b595fe7912e1c9b48f829ec14739fcf36ea3d8270e305b1e3823e5beda5b944a20da5ed956116b79b103d6159cc95075ceb572341af8c25794a40a4ba3de15a527850d4e6c5b69d44ed3d24f7295115b5ec2131ccc5e860c51c5761989fd1cf8a2f10c7de80a6eabd62ea86232165dd6fd1d13474296515f7f8d3a087a2e22f7cb08a8dc5d6994dddf0e4dd617087f89a8597d622e47e98ced682e227044dc929cae37582e925b0c44be10a92d940978c507109ae79a3e6a29baf4e3b4c65974fde846d1b288fb1740ade5ab3911f26bb897f5b6fbf81173a2927ff81ee80ec9adba04e499397a1c8834ca1c79f46f4aa605c1438bab12e442db8ef9b7e9f20367e2a394b7ac7992096c621cc934fd613d0a981649c9c7a15dbde5222f7d79e913a2f861a5ced4cb425216522cff93f3d8e4f5e4783377945066a98dbb80b88a71d17ab3e433ea454a813a2c9e2cffac4be4716cbc79937f1f9d4acdf07bf0209a967931f8628132581c2526ca42379681e1a6644694890eefab6c52d9557dd9047250ad179d72ffcb1297cee576a9847e850a5c87a89fb3d4b5f6bc573ce36be9f68fb9aebf1e3f9860273164945c1fdca7c533e7a22aab9dbafcbe9aec9e9ae46affb126f93edd83062d147cfc5691a478d4427173c0b491fd70a1113a71a5837044597ee2e409e01038a8925eaf133a5d357588c98084292b841fdb81fbd176523f1113c6d72c5846f130e58d7fbabdff63ffb7527b256434e0337a1c85c0c1a73536f730d4fc0a2d909620e4f70ecf402265e29c4f589282c5ac60197bb7fee3bffdd0f90e03be82433ae8e7118462738a579c5049c149a6003bafd729845602316c4481d865e205fef84e3dc38d3bcf299b764401a229434bffd56a770ac6d2ab53ed59c00466b1f7d750deeb738c5c6250dd3c4e345895b5c56325e549244c34d584e20d43d72ddcf2660b15bb311421f9daed63403d9745132d4f7fc32b8cb9a7313bd9ff8c70f830abd967afb558b176ee240cd987eeb03fd48c9b66cd98f75098ae25e06573f01eb1969d6fcacb07e3ab6f894c335f489c8cc12f230a13dfbc2bdd3308587e1d30d59fbf0d73d24e5edc7b63b43994b53417b9b14df57b4f82de8502f709521597708ce8eb2b4ee27d9e2f71d95d39b27e65144e5aba20da10154af286c3ca8b2e87f53f3a1fae571474849e84b459721790316386acf4a9a361d7b43ba4ce392a43ce5bbde366cc70f7e37f050373aaa4b1a875fd76be212b292d2f79b65ae4dfdecaa24710df9bdcdf822cdb191cfe3ca8b15df5ae3cfb31c8a81b39b2fc2285a4f896c62409595aa89bf65aea2f3200f10fffd0291724a58a06ccb3b1c55fc5ca1bb5ebd5199c18cdc4486821dc1cecf1cb2dffb934fc9f360aa5cc296c259f2c0310f3e1fd4d85baeae83e77044735beb7e5d6b21c2fa60ee547835d3c7bfe60e6ae38c163ef311429d9fdf17833f15680bce1c06c2ce3c4eac4af2171ac85a7149445f01fff67bdd9fb70f971d52ecade04386ee07085f3fd4d5429ce3cb10b9e3530f88e83cadb0058a7732fa0c4919dd9b569baf7c62106b6658eaf371df669494498ad6429537d3a6868a923e81ad4f25304954d53f61afc0fdfef025c7b21284848e9fa07d1fead7c3e37947e01f8ef6729a562c68c66e7d4fbd28497429352ee267ca5f4fd510647f143db569a1a27f1beb6daf230e3f350d1845891fe93e1b0e101c9cb9852dfd67bd096e5d9845d37ecc2a7cda403b9329addf512f1e0553a05b367871b7fc27d7c5d48536a0ef11f5bb319027f7d1e2bb79de36cd174420d4ba6da4776c0bc4634ecaa7f0863b8da56f32e58d719ae5e3e03c49b853439551705fa51d11715c4f4c4a772164188470091b93c1ad03f9b5ca83960159ed963c9835acee46de488c9cd319f56a9c561ce7a06c955d331eb311c3deb7fd4457a1b9836a1389ed76635cfed133cdf12c5c9498baea2fdec5f4cf23a09ad4f7d52fd8b484d4aac5fcf5eeea8fbe80b9650b0e8d453a38c446ffcc4a43bb76f3e8e3e272faa5f40f5272faf17119495243b49d98f0f23c478f09771f443db497001a13a43b06190a09d2df573d9b3feb7e840ad52f2bff59f0487442011ad4ecf3f8a71d2ccb303650021b2e76883a826d7e9529c7a27c250fc12617a2f27c69cb21a564dc8528e75a7258754db57e655e9b53a3d15b33981f478efd04d336d624c97619ab4f520596b363fc8d18aaba43ed5dca499ac493f3dba5b50f3e15ebdfb994eee6889e18b7a5c7d1c2bb79feec3f6fe417d7dd42ea1add766642a8398e7ca7d34c9f01328707fdda6e4f7e827ab07df2296d7927bd77b8c0ae6def0615153d84a7f3bc51ec1c058e0fe819d8a00663bea4db3ffbe90160efc0ad81f49f0df6000f8008400d3e00000e0069fc0b55baac890c23d8352009c80189bcd704e21e2bf1c0d71be1efaee59b7e2272dffa2b5a66c9f98bb42e0752d54a358715816c0fcfde89c3842f72cb0b92761a9dde24cb50a989177ac285552bca8676738529eabb5a0c51ab843bd16f8d6c19b7a41281f39b99e6fe9592464c0e9a12c08f187d7940d89961bc67d9308844eb62c7e2007d1c1687f03cfbf894524c0a1fe45e6175651d76a63c64d9f50b93b4e8a5ab04ed628006355127ce577e3b714244d3e03507cc053753c9b7e8e9dda8a9a701df51f406b3a62768f263032d3e2971645ff8c13ed134d15dd225dc7d2b86fe4e8ee894bf3caa34ba65c6b779751f472cc426616cc1204c75afc489a38bca0591a7b62c395ea1a66d399bd4abecde33efa310417e62b92b2c8b0567d57659d46caa43f46f133b9e64ebcc83fec47770f0651f5311d742f4ee8f8add2a73c0dac7181e89c50215b6080ba9306013975a7c5f23898ce9c31cfd1556951dac155a051aeab4abe4bd2d07506847b677b27aecfc29b618b3a29b6b5119d9c2e0e5919010acb750acc16cb12eeb06ce8c066d6e345b36eda39802e54b48bce0ab3509c66662e6836e138f4777ad86a0b4960311be7b888bee032b9796505fdbc071f7846f7cb3bfee56068eb25d53087cec27f67721810c28de8a706ace0b19989b927355d975dcb19d796ef4093901e1046fd6f3432abc8748c46eb5797b5934726c18aa555f4da556f554238cda470c11f33bea9a4a12a2d8f7ede879beefdb5f41303475d98b62efbbe956753d5305a51cc494dedce14322cb5db054185dd0c1c7d5d8cdb2d0dcc4aa27623f2ff3cb08b259d75c678b73de3da14848435a9bc95b77b2d9cf5e67cb7bf2740e67273fde1d4de2b304b2499964a71972f236f464262f19897be4599baec9d03ba9e495be2e6117dad3256348d3ec049c4dd22c63ef9b152fc8d949eca2d6aa4b0ef0e76d2400110fd67f760db073c4b0f39cd38eeda61d3ef1e14b7a3fe42c19427d4b67e2e283bedba322dc06669e2e5f19c3569f6f10dcbc987d423500e9aced8b371876f1ea68a3f1d491dcd87a164bf34137dd66e377b0d982f8bde3c990292eb6c723b68cd6b78dd6b7f7d2b7cbd2b744dab7433ad9053fd013aff8e4afcd8f9dc8bcbe20adbc6f6d92d65ce69716bc9ebaed4a97d0528c1346a856d5e381be78f2c728c7c81814d2a314640df78c3555c15fd02593105d43f581d6924fa6ee5145e7e44d6d2b8d51f90aa3256173e3b9aee9c010e6febb8dc3f265f7468eae3877fab190c78654ca6fbe7cfbad6ef18a5631ffeb7cdce1b673c35cc2090a13905954b139b6aeeaca8126c0d4cf8ecefbc7f035149331cc01f2a58e9b9fdf64b5482f86e367739d106a7f796a4cf79f358e6764e08604e77683f92386ab386612298efdd840447fea1d98d747df84861c7b898351206e6ad30026dce63b48382211062e33cd533065ef533bb2161290774452e024d6f7de9424fd660256b121a09a5fb39ac3626cb9e586ca445eb358ae8096b614e4bfef5e53d880802aff342d80fb3ba97749c08022ac01e0edc76a24e2eed59f5555b74c5698c9fd79d747ac86a33500fffd1fd5bc8dd9f1dffeed9eabeadffefbfff8d77ff93ffff55ffef55f9a631cfef17ffcebbffce31fd53c1dff5e65633bfcfee31fffe6cdf97cccfff6cf55fffb9db5c3feefc35ccfffb938cf8abedee673fafe7b3b6675f91fff38b7e1bf7db323fb8fbf6c7899eaff91677b4911ff5b1b71b67723ba5cffd5eed5f2c3460cebbffe87fed9fbd5fca354bdd9f3f933d951ce8cc410fc4f06075cf1bfc2ff2bdfff33ae551ae6efebffcd9638e0368a4708a03615ae4efe60b5c221b5e2111a0fea4ae1ee3ffe3fd71fdce0ebf94fac27dccc1feccffa4a7eeebf39ff70fc89f983fff1ffc1fef8ff93d7234ab9d9ffe66bfea941e3415ffd959343fecef3f7fc0fd7df1ca5fcec7fdb7faffbdb97494ff177ce3ff81fdbe2effbcf3c96b8f06f7da5fcdca1d898bec8fdb5cf3f31b1e485cd5fdafecaf1d77e53a929fe68ca65aece65aeff837d242efc3be6cf3efef0fdb1ffe42f64af4f242ff95bfb7ff56cfe67beffaf23141bf5cfbd537e7f6e7cd97f95fe2f00f7fc603001b8135de6f64b128add6cc34a0404a5d6b5afbd2123f0130d39b14297dddd8446e820f974d28db74086bb48f11b1b50b74271eca738f183f87a607417db3feadca3cd38a3aa39b2c12eb56f3a5b68aca5623b1e44367bb521c3c5e17fb7b4e5a82f833ad641c2f6a27faac9519815d6021164e5cf652b9ccb68db67959c57ef0533d36c4a07cba98e8543df8460c62ff57bb71e003516fdd0e322a5cb6853fecf3252f91acefa7875d5ffbfbfe1ff6d244e5ebbff9cff1c0815232ffa5f399a0021feae4866620f4efa5f4a1f25257c968b2ddf356fefb0e623613f8768a28a960c72bd13c5dc4e4172ee1758053902a23ac8d86c39aa7560df981199989d30568b7c4532e528a5ab2624aee1c09989a4cac3fdf6e5e24a6aee87973165b77c703c8f7c738cbcbe385bbb6e7dc8d0d158852db33b71f0ba3820d8d25780cb05af82597773ea86cb84768f63ee207eeefaaabbd9d416f825225571a1781b9ab1167f88f89b3952b56aed3ac5dfc306aaff794e74acebd843d84c6f38a3e6446186e9f4275f36972a6db3e85046bbc10d8fddc020a5d0d28e80cb23fce1dfb86daa4a760f3ee3a40ce772151b431f265b58bec1f6554a777d223bbc245b6b26a4fea8d3af89a9f2bbf2a234ab0126e6922a0a3a12de72133cde6d03aa4cd612564c697e9a1b81b623bfe3fcc7b89fe6b7c6b0cedd4bd92e557bc8f5f3b27e089ee45b69a598fb4561bfc38f7888ce4d0e715289cfe75c3d487fa5060cf589063bdbfa513acafc849a9d3780cc06aafb99afd8e49e4d3089d927e0ea170303ca61b50a6f02680b6b69ae7a8701f781427a21742615a5150c5f53cc383c7e9c4583dae5011d1fd3b54408cff598e00c20dfb66656cc7942f709d703994c314de0cd9c379f4b45e7fa4556e17d838064f2fd02392d64f18921e8e37037680112bcc8c9492b840ae33231c1d567bd50cbe2c85e5017d5b040634855f1252e494b398d99521780ab2d507c6573efd416239d9975b4d9d508cea54e57ba9d6a67deb45007f460be6c1290043f3f26e06e8e47292447a1b0fa49eb515c18e23733e8e17512b61e89f934717e96c16f780e4ea454095300ba48420e553491fc4c830b1b39d03253b9a08dfdb6445c9bab444c70ee72ddcd64ae5103919bab69735867b8246762966a39f8a907b29357d9f9fb15fad4d50bcaf80f96857c01849a17c9d5c7e9dbfe56e9c130f977094a12be8da8e1f7510f3e6a8c797ec667fc09141088bab27d23a2fabdd0b7c0a61525fc95c2590959312cf1d6fc935f9633927d9988065083b179a7a7be29da231d26cf5fcfbf2ccc19385fa31cac4289e41e7cd9ca8f3a2a0e3bb0e74aba811a67572b9cedf062a421e1f037ca972484cff88683cfdc3e669a9784bfd511557b6efe63184c607986d5f45beb26f2212df8b3b6478555874293d523c182e590c852e9d72ffa89d0826b30e6e00edc15045063ff7026f7c386526ec5f461be1819675f1d3eaf178fbab4f167c5f1af61cbb013e7e51e043651c577042867711b9737e5321f60f17b22bfab6179c9ea7e2f7ca23758860f7513c5f5e14ad7c0e892268b2d472002ba2c3fd51a73219de62d1007639c6f30fe2afb37f41051910a5c43aa68c4da5288a6d5b133195343105359676a2f74236785e1fe85e3f3cba39b7f2ff86f24a0d23856ea5b1dd77d7315fce4f3bd0da060f999915cb91d1d454c0e5c5e491d3e11ba3732b70b331b3f2ee8a8392a8b4fde4668bc23ec2a46dd478038eb3a69f9e3e4a799b8728db57d320cc7e3c3232dadd771c83ffed94ebcfac67cd4596388e0d3f466c5555dcd26a3f259f44a278bc24c9337dcc40a74601bc4b4f9376b118b90afe4e768156db1116faa116791b0b696dc6b92cfa60822c1798012e10874dc49a0820d93b948e7b40712e10ec8e5835fe423e579ed37b4f0adb8e95454a7b9393e82cb0edcc98fc20dc8bc8a8cbc4b704a68064f17096b7b9e7064be148904cf3398fd73694c01306838c0efa744141893819088e4e55fd449022c094a695b088f0399b84d6220d41929304bb569c0a8732ea2e6cd78599a5a913bfdf9b1491a84fb004ad24995ab5549ff6c0e3ef81ed4c04e190af1b4d72c04ebcbae88b025f12da336b5255c217727be4bf7b055489503458a077a5c3160d2f7137ca721b52040c3e7ab50486a8ae0d6047bb0736be220bf3053a1b88d01fb3a2d73796ccbe3740d0fef11fa76f32c4accd7058d0b85ae6c2bea9bc3c8aad337891495c8e1be03c1b5e9ffca9cbe201290a439486c5574ec8ebe35318f8880ba390eb809881a854ec84dacd0de0e5f58a365086e8139afb04f04909007bcc08ace6284dac3abbf524df98b4e63df10bbacc47bc6bd41b34549d2a9019577951643343c3eaca8e5122c3325ef073fd8ff90ee57b0801356eaf7484dcd230431a017a253811a4d9e8064bc9d1bd417d93e159202a455d892d89484236883694db5b34107f86e265c99a3c29a37926d9b3f4eed3cde8b1d5c66c96b2277ddb65c4e0c61b058071a93ad6ee414cba86ef0ce980dac3d5b06cf9aa9ac45a15f3f0320a08ebc6d8f0b3ef01250d9931f37699584ba41fc306eae5c8baa8c8b10c6af4542c2ab14336bb9666df5cc090d772f7dc0b7565da871a4128a43ee49fcf4933e488a01af15decd522ea2b78dcc26a911e36686ca0a079a60cf53432127c6f2794c5d7162e2cbefa0fcc92202a048bda1cdcf33f44bb6f5702e37ddb88bb609c98dbb8e8648b705628e9d9802e9d80bceb879b7714b1096f9656881e94504dc00ce4abde3888d3297a77c8715de24cf4c5b80676fcc88a86cf15f4baa1f69e23db8af1cc8583be6c05a8a72cb8099a00f47f0500521a22c0c29ab9c6746a26ff6256658ca121b0bee3d8c103cab29d939a9e05ae30b9ce0d9486d80a15f7a9310306b0370fb039f727b6eb644b2bf34bddb98ef706b3aedf78734937394cda9bd70e01617e7db76b76b75d632df14082aec5f8f481728c0384f8438455cb3372ef0ee2cabf93c843cb1ef00a759d761e0e6742c1fc67900c539fccd0cdbaa44bbb6fdeb68d997cfef4ec4f8b28d433c51d6bcf3681b28eeb73c070d4e1d0346b00786cfdce4b719b0b661cb104956f4c01c31365444bcdf2ec1ef7cb46bf2cebd0c27146896dda7f91401c41765675475aca56f0b34a18cd8fc1187b4a51be69e94dd8ce084f88eeb1776e1655f85e1eb897c82cafec5740fbaf9349c5649ec154a6d965dee4c9bf149c0a0e0b74768c597cd0da06fd94e81014dd9f0bb670d1530124cfdc4920c4de0680f979acfe2c0a49080111664ec2be41d9d6cefd7caf861d025eee334f6cf83eb038620a29220fe03ec1a247bec8d8a103b20e2a5ebd5f7f25350e0ce207b2416433785d11608e39ce0b7c1a10e3f734684bb85ff005619879e41af06431cf848e51acb122cc180d67b8f86096460df7029c27bfcd4a0238cbbc38fedf8ed826b0e4c78c1b2974e2bd4c23f143d3ee998c1075edb44c97c0ee91ed986a5dc4a9de01ca623ba82ab4dc2b71eb532544cf27a6543713e06d1c8780f39011465cdb1839b89384992c281135d917b414db5a6f5be150c8e091d18c87e0f2d2255eccd226d6403f6d5def70ec56f4fbf57795419f6edd5ebc72ac0ec81cda3141b9f17fc836be1fabd1d45a6ae53448273e7fc2646cfc6a82e8c4f3e2ab61532c1e42d2574f01dc87a408120f2b3496cbcb6417cf58625fd59d02ac45ac0931ef66e4804897345933caac083e96b394d23915708e157e47cceacd735d6a08931f245cb61c8f6b9e06d8047fdf0e40b0b454e5d48c0c67426c3b534f68fb483c377be8c83c2f7522c1718a2959166c1b29ab497600e491ca2503c87f0dbf898e584d68519c8b5109c73cce874e7c096fd91b958a8c0878fec82abea5c8158aa83085c6e61cafaac1523c2c382013ee41bfdf6808304d695d3d49680eeb81af001b4618ac5ac4564eadcf3e359223c0430c772faa678aab0f226088d0f53c474f54b990a7212d001c971739e7af9b796f289bb199934be221c99c247ad64f3b5e14228a8030fe8f233a0d9f49cb44d8684291eec6120df840bc507afb9b853d91642b9a0fed53a11a9c23dd248ffe3b06670ce986b7548c3b7b68719d8359d563bbe9fee475c7e72a59c165d8a05d98109013e279d198828b93710b720efbe9ceb0354eae67feaf5a358d9bcbfb3f725b4c4f4c28d3260ed53ab00ff061e530af2a9282bccd7a5c1c6b5b0690ea55c9c6dd6a6ecf1bbe339b2c30278c408649c2a606a936aa8579eb0ad70f03eacf540a528156e47f680000a5b427117916a8de70e4b9438ee0269ddca4ab4f361235c30ce1cab74cf9408d01037fc9ddf3c9c524d548d7390b8b4db5eee5e730adfea062cc37c083b860f659c0eb15138b1a0861881348f4040712fe06691f8c2729942cc9705d20c6c195705033e29d6d95d61043c2a617871d71bebb20a6cd75811a223e5ecbf069a2a35f025cfc2dc46df2150a8c96c23365020cc2ce5d9ba751ba58ab306796ad67bf3184bb52680764b9ceb937da5e78b7495fc1164a15f3226733036372e4407bffa1cbcc27cfc05aa810d12d54ab60ab0e07e0e72393a3ced0077d5825eaa97fb70588dc6b3daecb89cce35579a86c74e628c465853e9f005f10750c5b37a098e8316c35c124248f4c077c7acc4dc1b64ae538ca14122df34fcd6dc00561c584d7f9b4f1bc9dacea1fc68e22d1a4b1d3b5fd44b74c830704d2b90aee0660a5471727a7e850fc2ef36bb1a92733c40db9b9b5b72d84543a7c659ebd25e20656d554826afe24a5a2471cdc79fa8657f9cba3e099c2daca6e059b9a9c70eac44f1f9aeeb3c250391c408632dece7b35951527d45157809a7ce0bcd520b27b86fba026995af66cb9c818b711baf02ca7e3d69c921fe923b7650083f1dd5b1f5a4c2555a508968617acc2198df36f031fedbca4febececda08358708182835ad9a976f9980ad305f53767fc6662a7427de5547164be57790a4d059a27dd813c9d446f77914389454f31efeda5f79cd6a09589553702277dd067eec8dcb21b59106bd5297ed2b2a192f43352f3299cbcf9e547146a5d1243af2d7e57790169b067254067c26dc167a3e47b9bff8b56ad7f95db11a84ca3ea8627d016ebb0d59dd381988b6e49a976612b5e34dbb20014699f8fa27194cd04494ff2100cd920eda2e70ed37e3d578d0d482f4170d2a0a18d5b118aef9ddd32e8eb779f1cd52b21fff61065107825bd6dcc267d1efeebd11d808b731d2cebbc3e757f053480918711f069568651775d4a76a1bc67090b9ea203c427e618bb902997c7bbead2365ba2b41db05fac197895b1625f120b81e03054414f7f23269546a75a72b482c13e38bb4f025f51bcf0a2547edd71a78d8bb1e8ace7687e64b240a39a8af66c0ba60e1d6203811a2200caab280688db505c92a3f324d6d9c6a2301a2d6dad9d90fa332845d9081298d8afaa63d1b52fc15fe1804cf21fb8a36626257054da176fb7ed1b2c60040811fca8bce7c6d93974bb926a0ef9e9ba0dab1048c26b962e89daa09c31dbd366cc3f303962b72e413262af1a8c58649f632320a43f882e53b4bc45cd5b0214c5243c9cfcd558ea8c99a5fc4bcb36b0c39a16647b8fb77b95f27c50ca5e0462096c0d41da8b592d106b563cb1c669d9a1995ae82ee71d32ed39dc267e5293cdf40d1178f750dda3cd9e4abc09543b0139c7515df8fdb7330a0c076cb0a2dfc909c100eed93df258ce473bfd433c2d5fbaecc695268267af2115060a9d10c1c62a14d417e907ecd136e0bce12ec75ec7a2defc7a0ca25677f2ddf02085780a37860a4be7943fc8087126e7550a1681ea45a15fcca8d65525dc2c3ea9b4224cf6da9874cdd616d62c30ba59955c16dfb70050d9cb53001f97b4cdb2d8cf5f791eae707296b8d339d19ee826bb820a0f87bf689f4d8908dea7fd42846d904b6a844c83fa59a4d532410271c5d6802ad9ff2a272c245d2f0203875c1f08ba8bf9a087128a7b6472d31ee7480acabc95aa9957beca8de42606a68d5b7e6f99ff0c649af7a3495ff185ca56a589e9e076aaf30874e56aabc6aaf79bd86e7a8d7c076030c2a1f96b3b9f10e98b03a79d2d792627676039a8ef052e54796771eeceb355e2a51b5fcef03b829e06e73be6ef489a014fa38374a7ea192d59408d0aed64dc07261eca33694528b654dc22a8d2e3fa0de80a61433d2541484f298ce17d3955b457d33aaabae26bb8c58c2a1b51a368a7a4c78ae7b2ee5520274694adb1dfe6d95daae5a03772c4ca72cd001a1da3f12d5a37e06b884abfbca0a03f70a5cdeb9c1c487517254cc0b49e58c1b0e8a6af2ede5c0c66e8f5064a0b8405a1e20d5238bb4efb443a997806b6de7860cbadf89f622cf3d307f26dcacd50a04f9a3d7bf7d87237094b334d1178a6e149c98ee5f168dc2ae164a1a74b35dc7d5edc1be3ed21188495eae08b8ec0ead1eb9f736b9276d12c06b563dd1d17255f703b14ebb312f935546bcbe70cf35b34271dcbed5b6cbdb422a6b20070fcc4f644d036e01f143ebb966e5feb203ab2e4c79866a693ac2fb3cea91b583f5329cd40aa409a1d94b5261bbe79262e69444dd3bb9165b3a25c55aadea00a51bc3844d50684d9425eb57028aa816aa0154b13d660b08cc914d3595be178bb3463ad10ab357ca5f1a8de6e18a847b76d31ad563bb223748b814e69df78bfe79c6c62d937e5669d5277a6f133c694380bd3eea9e12fd6182beb016efdb1b40f8f7cff9fc1a81a1f46d8b1ca980e480a62a90b33ec4f54fe102a4e64b008bce65e4e3fb97b6e65b2b358f29690533bb5ec51799c0021a5d2cc1d11c067d3d581a422e5ed18590abd7f00fff07f060004adf04539a70a04e0e6f0732670db17993860325f0a0408b13c5fb063dd086beb5f2b9ef4fc3b73597a0d1c2009e7f26217dfeec0dbf65927a02cbdcd5d6d5c13d8691d32246f9955ec8acf08dd4990b6ea54bcf1907919d8d792ff2145cf9b106ecc745107372dbd487bbdd0b8499b58474320f9c223ba87d49fa2543c8053feddb34ee80433af471b61cd2a00d7d6a9d2a178c17c499e0e2f83786309d823100e791701d0fafdb9ee01fe0aa72c38e3397326dd8902547eebb90b5060c2387077d61e3b2c8128a00e3cbb7b028d3e50202e20ba4342c1c68c4db0f16c770db599b2be43094fd570df89d541b401c5a05a66e13a61546a76076769e080be050b600170e789c6818d98082bd05824809e55c9f99fc449b5d93553ff5454b7525dff1e432b1c9957db54ef4c1ad88dae103feb65c317cb7788891097ed3029e835b558063047c8e380930d66c075d23ebcc91e8f7a54c7e056c22600da1e14bc045b15ccd5fab4aa84414663103e3fe2653ad59f9aab02cb4147607f30c1b7c2bfe6c8caaf40e8553fab286419e685dd194c4112e3da3900e501982f6844b9ee8e98578ff1d976ae2057c443ee07684ccad79e2d0e4b8c115aa814278ccee154605e10e142047edd80a08700ecdb2ef8f9baf78a8ac6a62608853fbdf7d597b81b02b6845692f8fb8175519afb69e2dad79886cd02b3c040dc15216ecedb54226fcbdd816aa4a0196a2ae96b0fb9523fefa8577c4318903bd6f906390db376e39ed71fe5400305920356f2d652d4931b0da50eb6366022c07f665b1090e2a113fafd621530683f1e087a301493c6d9d3dd4becf2e5bf3a7f3b598c596d34ed4997b5aa062e6fcf8cf195a398d71da780f949dc98a22093650de36ccd4d666f6f6f70801b791dae7a89e0e5e2aad1a2b527813b36b451cb8b4a0cbcd0a740246c4ae1e1d0af9ee9c4af192c81f89e2a38027781cfa5a526f924683cfb65c421df95479e2534ac5a79bf418cb895e6000364f6fd34b15bf8b87af2faa307b31026dafcc3ba5620fe169557bbb0be83acb868be2ab218067389e956d32b21c5281a255beec672483dda60cdab2be7ab55044d910c467f23f2186b31acc762c84c4100602b31e42b984067e160ea1b65c60cba9b955f0efe3af62c0a7429c00b9ceb0056c9dba36c1d4a5056f8bf4b6c44f7139e5cec1004efb1398a25f1eb87c3f16dfda17d5c14bfcc3e177544839abb96f3d54b6ae86dcdbd5522e674a2c73e8673238fdcb192e67abb80b81528be7bc734b4ee1bf2175cb7e0edef98bfcaa27b1f66f7b4c41c574e79555cfc454c3c4ee60ca817eeee7554f37effd029d0cbbe1d46feae3a6546dcc208b3ce5ff22b92c92a75582207e2016b82d1b7767901d32b80ecee95ffcbf7781eccea85f64650d77ebac4bc6afcd0af8a34ed2b417d94480383830bac6f166a1bac09c4727da41c5d779adc33d19c539be17a8e2c950cb9655439ee8768da99d9fc279993802ce02f3ac484e556c333751e96200efc2d7d85cb1da9c0d047a3f97c23c4b2b0d3f478d9875c4cee7ec60167b60a8621fe5bcf8b496fdf73152527d84688f6b8be0092a1d32e6466396acdd48132df72baac8f1fe861e24d512cd16e8864d30fca2ff9f4f860181796c6c4ffaf770afe40fc2d87d1f26b6b721b794811c5dbcdecd4742e1566d33c2793a6a63a8e141de761ceb98c9365cdb4c9980d79a722b460b44a990eb32960177e3cbcc9a2c37d44ec29f849783c6b9afb2751db2becd1576ab322361d2969a47705c9052bc17e45dde239cc7880b0c421bc81fd24fbf49cf19b087a28076e5b4936baec69d1afc1c040da8ce7401ce7dd6e8f178957501d4bc3494360797336231270175e342f6ebf6056b72583a29f104b6b31b82ba583308db96f346823f87d002e622b04dcd06ab7c76d513fb437c036e16da65771db25a16474e1df6fe55df41f5a4de21149be204a17396a3e45053ff9eb84107ccd740a24b47e0c6b0dd0f0578f8e20df8b6b0149c89594b2666b926582796bc064d366b19e59efa266455a0da10ee6413948adb01825bc45a4a0418c05fa8a250c3f59b49f275ee332f3e128e086d14dc70cc1d97c9760b4ca02a3f48f0dc046a29beae1501ebe6b3db61b04fd304939a78fa163206e5cfa6eb9856e9d77cf36f0b05248d6fbf7d7fbd349b1326ac5611cde1b7c57147cae566fd5a9727fa2ed063ce0f7d17b4373f6c3d9080bac0195e482a59fd2c855b813582e9a09d346c1f542b2cc746638cf095cf5dac52c1f0bb8f2d620f7f203fab2c1f99db096e55ff477663e7edc245e8b9acf418214ca29c5814c1d78203891751c8a3900369e3b9f170530dfb80f809808ec8020b514a30801878b3cbe65ebf41d2c9f27e5b08c4027b55cd8ba51558b2fa5e9867990fa1471556f323ef25412dba9f797f6f0980a27e7bed4d32b3d67b0e0ade14f009b753abeb0e8cea037de6c56e63998474a52338192c00e17dd12261b50a1bc18ba9e2fd540b04d6c4b5360bd77612cf8faa85cd5742ce013e9f966604ffaeb4371b42a324faa316cedc65a077b5fd384566796b2593675a82d4a1e3e58ef80c02d3c3484c0f622120d10644a74ec38553605e1006d1c64108b0e516c4638beaf47a251f68b2c3d8f2274f35f844c0efa3308efe1506592b0801535fdb1cc62b4abb2108f17d79b602665c050c6b2ae9ae9469789b860f001b31fbb5418335b82aa1e2f44b67fc9bef3fd079d375b9e45f61188e702938b909bed63b43a41ce993bc3a0ea5852180d1d7ddafe6100a481808ed87942bb7b78226f02ef800d59898bee78bed920ffe53575cd03aa027980f94375a4926482c7a098791c1aa80bc29bfa6e28d4ffa7b966ceccf76d28f681b7ebcead632c2291da95b8c32a945edc5052fca81c0278cc5880d781f433cbe314c958bf5d5c74bf3c418946b60609de58fa2fcfa83f54dd260838d3b801ff9fa886d5847840714424d0b1082e28214d7767f761d98a001aee53cb786ba8e5a75331c3f63535f1f516cf52f87115b3335d105cd295e3eb3b5303fc521c584eb046e92af2389f50f98b88b4ed702c8cd8717d497e867708208a840ed6b139160a390c39826b55a8991a28991cb10bd84c752c014af8072054651cd607fee8ef90c13911011eb1c582f7f1e1714740216104a843ef4e0107620190c87987eaf58866bc14077dd45a08d0aab4c2b5e6d4f6288d635ae72d6f0f9a70374c8a5e63dac65059c9a22d97c08f7d45183f9db6dd1687456aee5641e24a0ba62b26ef5002cc256f5b84efc183cb50949ad24bf3ec9db93ed3af8e584c9680019d78dae4d20f537e6cae2871023893f6df65e21a50cafe6572e0146db25a2f74853add4835728090f3543cf04f558172bb7832ed5455d25e89f39117c988db90f17fe05f2303b404d461a2b87702e03e2e37d0c6cb52457be26ae7fa8ccb7b84fd100077dc0c9bf9c2842616db808e4e4e0ebc7c09c8580b3ae4815ddfe2db29ee050cbd196dec2167966f8dd439ccbb47371f93d686a67cb62e90409d963d997c748b8ad6b301c5f0946ada80d9701cf6d9f7bef39522b8059cbd2f7165ab8e72b94a8cc7991d3ab90097e6f6dcda6f8062d67ff172f85bc2a961274b13355d49322dbd42a664f83e7831a00e4226773a81819730811e2651f6ceabbf5f425cbbaee5e0b7d3ebc667e2c5d75842dfd5c4ade9b714d4c63d304311a8464d8ace3a024f23d04e0924299e094590fd6e50281a8bbe7bd05c0fe1a1fc4e52733fe7bee2cb7336d59ce1c0e45f84a97948b6704c9ded77b9da3c8fc11a9755737ed9e35491fd8619470dfc2107bed9219b5e8de71fff43e8c85b048726503c0cfbaf2226e3daf01ecbbb93ca222554db459c6cc1b058c67590b9eafdc534e765a0c6bfe238dfc0783239d577906045ded035ed454b0820cd279132a4836730ab8bbcb5c888de514c10e20d414247359ee00e4607bf50fbf81437666ba3c13d486597b753f042752df077440743d9258a9f7db982074c72b2838493e39dfc35a68c3588121b889b11d69cf6b1d53a8be54c0ddc929f31bf6205a7a44c94813e4e97d7d72fd53f3a85f00dfd6c60fe5aa4cdd74028ff96fdda8e0ebd96ed53d26e2bc435e7f8e4b6533e4c143e7dddbdfac9e84aeabe9122838c8c1f1aa1fe992dc604d4d665ddf0e2cb81992ad70f0e82be2b50246b08171d611e025f9b0f08351f67c101145d913e8b4be739c88be2d568075a76eef831c4767407dc000e04cce9d481f47a077bb0905e0b9360da4ad240b05db95990c7d764d44b8e50256cad38077c874a32a95165b1ec739e9e58247e6779a962fce3a5c21a9c6887c082ead795942330f27ecf0fdb2f3b7cf114022a11aa6f7ef07c05af47cc66721f77c5deafa696d1eeeadd40a75bf47693a1c73700b13902a4e6e3cb72802b8964bbc1d660e0266143c88146acbe2d8657c2a744317bc21ca364538c8f985ab5aef37a1dffaec9a8c8a298eea4a4bdfbc94e44e207b14f7497ed664c93eda1a71572007a28e264bc4df68e4ae35526b5bad1552e22ac48728dc0bb2bf9cc8ef6fa58660d78339b7c04d4df017e62784f7f6714b0f8f7986903075b2992dd77070669e44bdc3e4db97695eda77a502068c66a0dac5a0ae2851e6d9824f386a442209e809c042466d5e5246530867e4eff644a1fec0edab42d9e37f07f7328c1818feb5349bdfc2ae6df059b0d7fabc5dfc4bc85ee802a1df6bf1e8f04101aa5ec506e1267c03de97e6b77094dac06064b7ff724ead0556067bc1d594d2c0d4ee1cf1576c8cec4f71baafd5ea22db0611c511675b211717b6b3229c95f002f1066ec33e3642dd4ea7131d9c79eb9e8390d67933be661e35bdaba935a576098e274a58b4927a241cc34d579bb78e2b769f1a3015dfde9e3ed81f64cb7423040ea31859c5a01349601c39e5a26c68cba5a95d99cc122f7cd8cc1643e379866fcf81a676a499435da1809c4f067c28747459297a57ee23f46ca1b2d47f071c1e7f6cc8c95f8ec51dec33449166ec23c81387c38af289d22c069d6ff09bfcd010d6dba0e257b27b80408b7c2c184168ca667965f5e18a84ee7f7ae9a8594c7e068419fb67b8099e7e0bb17141ee0d7cc59bc22530bcaa33e0fbc8e5ecc465d728c01d85ef6221726126d0e489bf4b8e5c9492f936063261633deacc3de2fff0a5b474a300996d49e91b5a75c26c4dc377254b6d609d5938abd3841f3841762812528b424d6ae964e665cf4c1c13cbfc06b3ebf850d348a60f54c2278414d38242ec1bc95958533742ce165853148df95b4906216b1c54878351b8e325f93cadd824113af95e36820887804b0c78ed96f4fa0b4d527978b1a6138814707a2f684ccf3eda0f502fca4d0eb9db07427ca954682dbc4de9a6caf909d8aa3f77f562474cbd5c91e8aad6d0e7193f1640034ff073baa7196f00023f1f6c70296d22d800d70fda5819f378fbcb2b5372eca2c625e712bf8a7dba0219186e03be14426a2df2d111b0b251312f81867be82da892c511a4ad89f5036dd02ca868067c0c7cfc5f978f401439cc6edba1d72b2225248ffb3535dff714f608679cb332a4f1217f089c24f38c46ffbee147957a2b7513aba18d80e892cf496ddc3b72bef9352aad290cd772fb6710f8d510a923b081120942374139627e79d18d46a0ce9b0ba262007b5b2020ef876dff5ee15a5baace4897e2c08e0c63fef2c78116525126fbe6a3b315d4f095dc5cb740c97285d60463204e0c9d8023165875e304fc946c60103d0282c629d81e63979d89e3f5f83a82a2cb17948d180a142a4c94aebe9834cf00fc54e9ce1b524b04358c0861feba1b1a289da00675b807518dad8ac6175c202a150dfdf4d5da12083c9001875a79f1b61a1aef07017a2f17c2bc9a8c48fe36a84ee1801e0ad5b884b8c5f86274144798ae6fdba20075aecdadf10a32ad4660f8e35eb92860ebdc8869e10ad36a7a66e392e0e37b38073855dd05c85f9fc700877baebbba4f0acf849c8d3bb1d4e4743be11adf2dc70ae9d94da36b88a001f78172e2fb79be678ea362cf4d895033c6a551ed66549a7181457a9bc46dc1fa30e379f031549e25dd56a360968c5f5ce03112407a71cdc335e94535372b06623e0ec43c49ea424ebb12769b7abe6edbe1dec6cc0cc87684b822043ac2bb07841a09b725d0357bd62758c178e9d80ca05fef44c4c083e2e6096e25f43c896a8e7280c56595ccdbcade4d4e51c41c12e819d5b5525468aa5188f56bfee0c91cd5daaac623cdba85514660a8f81bbdca68e0265b045f6ad0e54ba05d372eb6cff54b9c0d1b0461906a8eae4e553094dc848c22544d82abe4f1ed2f81a7d5376f44e563cf2174e32b6bfb2217a9be802422273565b98d31803d61026ec26ed57aaf187cc83ecf15eb17014b2b5d123227c51d03b3cee1b4bfeb136e17a32038a24df421b8878c910ff00de26ac3ec394b807d53349544ba8a6ab75dedf50082046cbca41762340beb48c8292a1061087e895b89a5b43be4472b341b4a079d4b80006129f882cf0799182d7c1149dc7e14e4899c0ddc609c71da38d525a272ac164fe6b9faac1296e30cc71632b6216210f0040158dc13bc8f04c69ce1bea0b04636186a3e39b1b4e0d4d657fcae1be4b27b05f34af7812a6694d6c23f8c3762f53aa970c388e048e2eb492da3f6447d09d4205d46a891941c8190995f8a67c037e73313d2a18ab9bd4ab9e781a57833fbae1a97e442f7a8c9894e8cc0cac440d440535c62cc4db116083aea0b04f5591fb08f089422130a6e58981493bf2025a569612184af7415f6957090c3c416c101040cc3c592ebb7e9e3d04aaf7562153979301e5a759dfa773ccacf8f9db31d48eeb76581f7567c046c178f8f0e6f5c0c409d01c43520c9e918b6cd71ab2ff47019f84933a74649410dc3ac5fb25976964e962e83d6cf087ac099abc9705e6f33438929a002da059826c763949b051da85f7739527aa9d4187586fe766049f5e12dfc9ac6cd5b9d02fd92fc098180f1f7755179c25a5ff1b0bfe39009ed3b8e403282da86c19b482e1f7159e78aee8f78b5e15246b538d6988ed535c73f46eb4054da4e1100c52e233250b03e0b6e17c6b631617c58ae089377950bd2aa5439fa82003ba17ba5e8d77ca9f9a2e01a07b8d52f2073d9afedaf4ba6df0a1897bca590c9f9bc5b6e08a825d8e27870f3e43ed9510e336cb60d740d4ed537fcdf770192365cdac97cfd4b73416789fed80c5e9e5d35e78a1dd07c975481dde8a487b826923329eda42dee7c935a56bbd19e5383d28071bf83d2a4b05dbd7ad473b6ea9dc2c1a98fe93c5b53b780e20f0e2ea67389a8220f69c8cc254a97ec0bf4fd983924ff99978fc77f5261f989f50e76eee6f46a49660098f9511ea2918d0a3ba310cb93903d64ebfabac6a25743dcbf40137dd720e6ece293d3ec53e0f43d0148a6cf17ffeb6df6d3e70ccb8aa9018b73227a9beb2315b8f476bbd216217eb0316721701e91696e60dff0f05cbce8d720e74da8dc3b11b0be571f57bdf01d3d105348c8223941d76b2abc70002457cda95e7e2ed659e5078a2f8988eb8f072fdf014691484f44b3d6b20e5f80c0829b50e26946888ccc9d9543b800ecd685b9820ac2533ca7cb335d227bf0875eaba09e53784bb04f0de6c31563ceff6d57d9b1f420c2e43119053dda37cd3d5f87a25e7891007f1f976c13593a46357f7f42f3e718c5d7ac2db5c4e3dbf2283449bc714910d3b510de510b137a5cc07ee09517e943aed5cbe480510beff3b707a913e32f7f2520fb66b528c34aa149f7af518da7b3f6fb74ae51ff2b14fb1cd11eccde5b9391c83e2c3237c50628db09e9cb227084900905c6dedf33e5be6b1274ad7858ad2d9948849e76eb22c7f35fd55779d21b260399d7ce75bb411c687d982d9afda16cc3c6efb0172586efed4ddc7d45e82fd3e3195ae15e3aa6f83456dfe49b153e685f9e7b4d6c46032bc3a508c921befaa9b435f3ae6eea166cbd5dbe7cfaad760f64fd8e8bd3956e938ce4ef401887396a32043b10c07889e68568e7fbe19e78750583dfe168382bfcf98a660dd60f88bfe5177d05c067bf065a014ec9c2b5a2c9ed1d6fba5aa7833601c23a390047a321dc234163e9f4d3070b0ee9b361fbc14724725cbd70f4f407e6e28b033d236b05c390975080fac1e52caf04392d69a0dca7eab4d579266f54cb40740da63fe492f9cc0224a3a967885c0cac238cf131d26cf8a969020a7888710c92590a41fee47e8662196c334b06f23a83fc80e5d488df708be87a507e9be9255e72c00b9c7a617fac0297131ecee4ac4f73814e7441a216a03e1d7b416b7e34c2734e42361fa1196cae2c36901b910319b2169c45bd0a1e1d4ed80deedffb053403622ae837128478fadd7faa3d94f997945012a3579c13e3530939eb45672d9a39979379034834f4c6acc8428bacb4eb5a5a6a9080096e7fbe8963e5b35d505ed8aadb603abbc30bacc65d7c5e790df24d32b0a1b65c370e8ef3247a78475fd9a5cdf04a5cba5300e22a9d3c723da801cbd99d7a75566055168837c13c65114cb9c83566868d0814c083f5f22ac0a133afd64ccd6b03f23a56fb4552ff796b797bf128c23b7c4db4493f4b04a18d091980c83c4e4d70c5b369f5ccd59cc81b26f845df23a77ed519b1588f7049ee5a8d6ae75fadbcd60c96ecc5709e37708c5828b88e4b78f71df9e145379b019e581e163440e927c2a7a4ff9ed800e4edeb5d52365f7cd7d760560b10e0280232ac9bd9b449727e8f02e5d9f71ab8878f62b74b2113dc8a274926455b4d95b0b29c08444b6d7e66c7bed58b3344ed2c0b74ffb81d900c1073aded4204b49f9f69856ed21535ee5ab59fd4e157feb905973f307f2d5502446d423384f79de58c67ad42365683eb5fe68590935e405ddd1085f58b9d78e72bfa1842418a7e92f64ce662e3d3e2e75b731e3efe60e1512360d7cd25cccc361668ada2598b61b65080131ef340aa8ecf1e55e1c4fc2e1fcf842767cbda55c1effe00f7b74af2427bf776c112568bd29856381b162bde7f3f63aa0ead31dc1de392a189800bb09cdc6917b79fbfef1488ebb559fa29720d6865aa33968c8487898a08cd4969f837c2282f712e0f893597b5ba7df56bf816ec2dd55a82fcf40067537e48e917cb45daf7affce257bd406b1784713f3444082e98177199b96b9bc192cffdaa8d98bb7a671e2c0ae6f43bb3871cb8bd163b84c9038d105de7f9745efcc59af7e6baccd4855caaec23d85d3f218d5e210c463495f39d09e1d7d41c7cddf68bd6d5c71a14214cd4d415d90dc84a136ee68ea036f2fa5bc088f158d0c70837c427ad01245e1c3ff6ae45c2796957a27285274c499111dec3c7903c5fa545817b4275dbadfd177c44920c37d495b254699bc41c2b7c9f98d1fcde2009ccc9da03d44cb8c1f2574182426e0a769d404bf2cb8c70b57fdf5df5b3a6c15b1397104ad9740a5db08a60ea6bedcecfb20ff223d334ecaba16d563c23010075922bfc21ed9f069f5906a36f2a9a718daaffe5cc4d404874ed6e0cc58a0289c6373fc89f3b0f40073ce043302dca772612615c680773ebed020a693008c0d6a39d35291a3e1e6f590a414e62640a83250182fb7c809570c3d7162278555adff5b1a501aa51e9c6f08599dc1a64470c101049fd7e356ca5bc45bef3e3c5a35489020539d36708f2aded310eabea66e2472ce332ffe83406ba2bff7c5003a41f0ac8c84f28f5af1603be6e5cfe2492b029eeeae2a29fa6a1ba7c31c90b92e997d54a8f7981bee6885f297a8dc6860a5cc3771ed99ac9a48bd387e13adeb2a7bb40301d2827ea085992f05f25e04ed39def400a196e04781bd641dbe15992111a5264cb608d2e524ff55c184ef91ae3174067a968871cd31a4585819e7dc20eae660688ac7a65cb606ba29bd53e1963aff31b6b1ba1a96f138ad475fb4331e6cca02f096bce9c1acf4ba0640014e16ffce1b326bfb4c81d40c9325cbbc94c61cdcf47fed15a7cfa6f284d2f00150bbd5f2096eea3e2a95addf3f10a78a8c8fcc0ff6d5d349847ee779ee79527a347fd021cf82004632d3375d054818881ebbd375d7253d7b98e9aaf4b1aafcabc96c5e0180aa172118eea229846012bb26a79fc2c5ec203826c76937574c5e69aac21953c4c2015aeed356ba2a98f11c9e017c1a99ddbea6fcb55363c2e8b38686f10771dee6b193515a0addb98356cdc77c307583a0cefd78f2a990969974d979c2fad535996b701c6eab65955dbee0ff3c4da87d1d3d0ad5c41d2dc0adb702e5bbdbda3bae46f2478983f85ae873ec4586e40d70b329052189f7439f135dc291757db5aef5c6256345898cce9f3fc38be755c4958d64cfaaa84287c932b07da1ea17ad2392bb373ad0aa10dc1b75a6da21cdb8a26703e41c29198a15632c1fd35054eac52a79f979d782ec61c2d3a6491bea21035137118fe1e55cfa5f585f1fa4944c8d31cfe4ec73f69e5da4e7fa76a0d7e0d597a89784948b0891f2d147ea21db6df79bc38273111579e951056cf7c40be71cca91cba4c94d04b8ca0e246074197ae1653b53b78c00b827f624c8f31504af00c3f995d9d2af21e27f161d24a10188f0679abd8eb456b5deb254d3f3f220472dd16997ceecdcf4d38992fb31d3a5c653544098566c7fc764dd798579d027682c1efbe0b4e06ec8673290f3302d2318d51d876dc26c5b4472f3f12cf0121326da1195c7300760a483ac56fc287caa8829a473f562dc7494181728f1e432884000410e9be5ae72fbdb040701bd6134d977eb50a34135e139cb34c0b57bbfcad45ba9ba68a1676cd25844f73c7a409238663a928f78887ca12c2cf76c175f37d004c4ebca72444b93854ae8fabdde52abb7df3d9b2b42e0996a3b9820d2cd589f26862d8d2392a64623938d9aacd42b5e24328911aba1f6ac0e4b19e4be138394e7a3a0f808d136aae08d44f8206ca5c08082d725f5b2fc9b57dd4096afd1153941b30338c7ce0cff979291aeaa52584e2d33fe1a68b20ebf00871061ce87656b2a1a6483245fd099e3cca1410576e023a51dfbe6586162488dfe802f102cc2a60ddd261c1cccc5cde4293e86a5d73523b357e7387192a0ca6d906660bab407c1236d2a6ed1efb3bc2c5426917b949cd25e7f4a57ca9641935e4f117bd70138269c75b2f747d37f49c3034730e28fd5a72f69c4d33bcad31f1f8eee82beaa4a2efebec9ca1b22d5313f1f54353e197d9a5231fdac60e9cea5e12986d07a4ebfcd6762d037d164a91378762558cd2af642fa9382e184297a00ae20729af7450944133781fa999e4086859335dd156ec8f59a1e0f46196f7ab2bfcdc9f4b46a904e66968b5c4c7139ab3e5f45aaad5902b185c0e626078831d18001649466096cb4ae9f428710fc10db8420a7123ec77f8de435344c23ce13fc870f4133b6f142a1d4c79dc6eb323552354c62fcc00f2cb1e68d7f26682fb42709c7a06b9a6adaf71617dfd1a0f604f59f3568cba898b56ee544cde108a1254c4d9b442a78215f9c16c4da28ce2e3eeb63056b70617f9f8426ec538a9d39976c4a5447b093cb3f56001169c4d1ce7b7d54c77dfab17d58dcb455b0c295386c06b0b8629492923888739bcb2fff2dc67058b01fdd3f5e947c06d04f10a1bc0b5822fc369a2e85a289fa9950036b8a03bdd5247ba59ec418518f0a1d9cb35114f066cf025f8c060a35aab29037a11ea868caa9dc035b65f15db21a8e3d7cc62ce4d55ee8809c1af8131ae176db935dd8ba7407673b540b30f953cab69b93910da9f2d5373fc7d840afba531d33163b5a26f0af713a376429ff4f8e665ee01f906eb29a1805a049da4fd798922d70d804f4175f9d0eb47181550a15a166633e02089d35bc5ae101fa1e9a06984259d116767f8b2e3c4845cec5a28131c9560b19d9908779b481678a678a8f96eacc5996b01421db7bad1c9df6d26102d559b0adbe32078fc3d9ebf07c64fd2c46a0ee44280a38d1d6d1fa1ba82124aa5da266c86c71af80be681e151eea9354dbdb696a1cb7208ffb46c8dbd55f4f68029202f9ec22bbc08717e048c95c89939090edcefef715835c44dbf75166507c146deb76a721bd87152fe8aec1cd719e0619f3335009baebe128ff2c369de2f2ac198b0fee3067c8c5ff8c4e5dccb9eb2ee8a2b2f210ab47a50344d6119ddc4f6d3fbf9a4c9f02b9d3868d378b0a9ac7b71e6e136d6331dc2e412d8179e29b96b59decf22873b438fb937f43a1c982d60ebcf3a52c8eff08a8bf009de174c6b56870afe6c90ac4d24a61f8d3233db9580dcba27c851a7e0e0400c230fd2f2fc7c7699e32204086061382b302f08a783fce28cbb1f42f8e724c090703170b55be2c4f228f4b238be22dd297321271bea06cea31041cada26fc6af67e10792472ef52c52a6820181226ca969f5908c1031c78de4abea41d86b708bad654f3aa38336fed123f3f74d7cae8767ba5b8a29042308a59d99f7e6a97801279b72b51fcb03bc65340ccbfc347846f005c7cde192bf73e1a444f70925b054ff08560895720befa6738ac52c493cf4939d01cf870824c078c32de6b0b52785f1c26facfb05029346bccf70d9a016822cc99bcfb6e8281d8661bf3d3c235b5c3715e2dcce2f51dfb92de23ebdbbd91049db94f2cd1c5623ba77b286d5d3265d64d6218284428016167b3eb27dc4703f6154e77eee5c76b86a8abc83aafeaed74fe825c6743398e1254773e375ae025a60d0743266b1a0489d34b9c4a16fb0d13f1cad95eb3d709120071aa2028102da125f217f0ddc5cb7c22676bf6cb2a78a54ffdbb5e0b86462e3d3d6f8056a7db4f46f3d2b5c80e8d283488d157101731953dd8d65ecbba12d6be98d3046e83ebb85a60a62993b13abc21ba84f3e3aa85a0431265fd902ced6617e95c6cb07c7acadff9a4cc48e5ad8df84c72c3b5e6be75531068330cd48cf09afea3b542756516a34132f4d4e6f123abf3f94e1c72a597131de8cc5ec9362e02dd1abdd89e361c0a26fcbc3537ef0005a6aa32c04e5003d81ad3440c240c5dff422965cd10c501411323fe6394e9cf72c137f311cad0edc811b58e4dc8dd8101f655a6a8e04640d49cc489dff164c576e65bb741619ff47f2c82b5704816605618f331a2e72e166cc536bc0604d14f958bb80d9fea23bb6407262a808f5b22376acb1564e05f1f65eefa0d58b868665a874c549bd19f88579168481d015309ce4868599f5c553de137c5b11f7eec37deda069c385c5068da72821b98094839b374d29ad70ee0d6d7b813aa8aacdefa5dd9886148bc3a231601b3c266dcc9496572dae3ab031ce7c65599d75116c1fe249e714c2536d1b5dcd58b250319e1dd8fc8750bfeab45d524a8461c2a417ac02108bf18874d082254459b76e361f9396db7a36e10d8cd2e2eaaf47251fa94086c6a4122ff516a29a8c9bc00e62c4e9927f3a6f5554fc2cc536eb513a93b9fe2a18304f634a48373781f7ed382a4b6a1e16a6ec11bf6907cd1955cfd561041eed00c2639099c4a388ce6683254f8e1f05815006b6b41e7b4ef0c039b2f844c6d0dd1926ba04543c57046b93639197561644826dc451d5c51bc0a0d9a29908bfcdb6e80d75cfa903fa1e0c85f92a6bcc64757517e542c0141a9266006c526cbb21a46b2e7e7edd056b527d0d117a60785abe1e81efbeacd530663d27c7b106da423a0e7cdab4cbb9b002b06504a52297f09390159be0b621e788540365300e4a77258879da5f4313f14cdfc04e17c14f785d213c5e1cf0f8c748f7a15f1006e9645212803514df11c1942cf3f06582c73a98cdd36116f4446774bfdd32ea9d3915995cbc925077c9ae51db3d62e4c3a706ec3d95733d45f37b9eabe7cc01c6a35968796d176cfb6f0c003a3ba3ddb71cca618afb7e61592dcfd560a667c767b7f1053dc5069be968991235993183d86d023b0dfedc07818c7b72f4bdeb408c1cc9033e0b27b2229f80da6c494325b1a1e89fcd2508c84c6cf8cb946ac0141f5b25be4f8bdf66dfdc330b05ca68dbe9e7f91b39c356a2d2d39b3742fd64eb54c0db3dabad59e8e93c3f7a74e120e2ce68306fa8bf3c2ef196234435c0eaaaef5e27434ddee1f707141c018f6554d233df1b9214c182edda178922275a52ae586565da61dbb7ce57c6d988c19619279f3ce4a1ee6173431beb60014bc5c5dd9749b7d852b6c4473bd2b1ea2727cb4229d6be61cbfd7215e5d506d041a824f27e56894c85f9e95b4e3261780298ad95995a782deb54a0900070e193f1458104d297f87bdc98cf0458854199ab2ff14a6b27ec4bcabea8f88c9bc546ba445befbcb54ef4fa8ae431589b0b275934674f77565fa0d8842d766ee55d5b7ed73b6803ec1bd68169c329bdb57e1cb583370bc4abe758ab70358ca3aa9da4d612e614e2850f9290f5a15c1e0273608718e7733729f857961d4712af6141c3dc5f67c226f80b60fcde158fc5d1e8ee9d662aca800fe8ec0eee96ab79a25d985b2a1aac9b40afddc256ca5c24aeb84e1ba5a72f3a63b93f84b3108d54d7d1fe662558525bde20513046cbce96602de4c8ca07d144abbb073f808128db85d6e9da0122a382a771dd4a9fb4b135caf176092e20cad8bf6da3dc7a57ee83ecbe32b383fc79926583b13443ef603c67deb97d91e23716cbf46f6b5e74893ff226835bc86b7fa2aa630015a59a7a3a879058b246b4f71e28f3f5697c80df84d9c6df28cd4127ad5d52fdab85d23e84bc7a7c9951f088818a946b551b1c75146e584a9ee57fa2e6e7201e822936b8776449cbc9e2ddbcad78a02d2608920d34defdaf63306d4c559fc47b041958915278a846d4c7dd13544a5825a0269e87930756bf20660f33803977faadaa6de3ce5051b0898ce1d29df0924c5055459b9060c5c3a3628fde05db2dc52f7caddf3b38183e5edc95682dd06180805f67ebac9ae0473fb2e9b9cf2bd80a90c27c1402295bf599461a402a42ab186990db8544f745522cafde60a8b099e43dec101992e8c3a2621d75d0480a8710a70eb55de0074881cebd2e474708f64e6a1863207f9d39ceb8080a2852650ad1e9feddd055807a49c2e943dfd45791912f2e5c399f53cc9094dbaf26d7b87e51e13b4f6cdd9b44e81e4da6b775fa5137b9d6dea49a5b77f8b93175dc2a9a4a2c0675d4159f676a46b768faaf0e30c6c8c1bd2b40b02b4e6defd2214f8f47218fd2d5c77b7b5fd23cf19c75d8307bcf0c8f4943f2e4fb80cc6f3504a54aa63f441d385547955de6d6075805051bc820193b5d10c3400667957940f05f3334c2b56f4038f7b99a39812e1da6bfe0ccb94aefe606fcf81c1c22acc8bfc81ab56baaf650c84e0e2af0051f3c55aab7e9b447eb8722b1a63a2c08080debd6620b2e4b62a881fca5ea7e0c71c953f11912c43e809551284925875b19af020141230ba6703bb164035f3e827afc18d5e3d20bb2ad158255bb459623864f58ddac1c9ef44e5367edd7a3d0385017eb2123092dd430989f3587d7cc0745fa5506e360dc282a4aadadb75cbf74e145fdd48b5b42b75015a6c82b73f23f4e7814d78973cdd37be687f7302ae4a6719926b1d309c0e328a3aa66ae1b50949a1ceac7acc19bc67068eb8ccb2e2e0a511680f63b6bb6c0e092bc11f36e3ece9ed36a636091e23082f7480c0c3448cf8542d65da22243574d49a8d403067ba1a5e562f3d8f7f7eacab2400c86ce8faaaa012bae9855fb768b78f2d6de16ce340e9ee69a1bf6b89e83bffa1f3fd035bef0c1e599dc023bc9783488529f3abcb01b68073cd748515847d85e55c75a7041ff290b8d781281712b800c47bc30864c24a4c1b619e02334560d642cc8cceade8e6241e34928c15ce6de4a93af4c27ecc81fbc21ae17a396aa000887ce2e4c51078312249cc139bae78ede1e0630d947134a813a5d02afbfbd9f9087075138cb2ca5e0610296e7a896d443941046082c786c509fa3e43447880391b1af4c228e66a0869df320f23860478f150039beb04881b6e5793a0164ae677ef07ff065a220afc257454176c4306e6ae0098fc4d19d59f797ee465b00c732771fd4bddf709df40556bd84364f6803fcc2888cf2f60cf39d601f765ee38accf1c8e5a0af02c918a172f9caf3886d3ecf6d6ed5eb70a962b6b0db9e29515cc4babd55572254055d6898431c556b9c1a07be5b56df223b22fdbad310538d57c3c705904a9a8f2a3cd80924f763e7a6427846f3cea6de7bf841fe27e18f1d6d713862e4480c8adc0bf7d86a3f958d176f396041836b8490467cdf2493511ea1b0cc396eb2c5cbb19108dd8e64ea0c7125809a211187216d19715b60b9860ca5f82779cc547384f9feb475749001abad64857a9cd49b9b7866b40c77465b4cd853ad3b3c25ac683ce5f0b4c9e08fb7bf7edde427198bf599ce53dedc8c985f8b07189091ea277ade03c0cd3ad93319d0518af9bdced6b61d6678b4038d7aa0556ed1e4168949a75010fc6a37a3434dc167dc97dc778279e57646cc3d3b67c18230f46c84bbd0699a007827fe7a9966d7eb6de7219e0b0d0b7c16a6e8d92bd302eb15ae5e8cf57e5044d5a2d4d760177a8b972667d2ef45e2f1bfca07583f844696d1a79c990138eb391aa38b1efa003941a16d2166c9308d877f8d2bf13365dec58a6eeb5c15057ce4c2cb67935751672ad12bfadf1dba49a0fc137346a7b6ebc0910029098eae9e86dbe523006de67dbcdec05ba8c39ee19a1730507b5f3fb8c8c59bcc047628a39b983e260527c17f751ad77588bcdbe48a2bffdcade75018897d04f672d10706fb8625137751e3b6c0378412d297e56889aeb442c6313e8f3e7470f662e70429815796958822f7b58a219312bd70730e2ff08dfa6c6d8ad5ce4e05cde4e1002684c123a993873b388f1a80212701e696bd2b809403b8eef9cf9bbc97fcf80c4e14048b046abf32bcb851f547e9ce53889ee6438a75a661f389b975e172fc81338dc1962c43c137ba0df4a17a30a9300a77e7b5a3284041097d60e21c3d6d2c66937faadb5bc37be0719445eeb548403cd28ce74d52c3aa78a167428b460009c24aa4b17d45199e16108b4f29255a30e98beee05a0b12a80c4e3a426393f8fdcc3234bea398df6fc5a2a2294aa24688a250312d94dde9ceef703363c49f8ba63fe75356d7f2526dd94dc204cfbf9900bff058ea84b84821527e39240061c91135bb579047a42e8d9aeadabcb718b7dee9f975e4e47b0399932f5346b56137b311b40de9911fc25fb8a189582bc818290458e93c670bf3c570c0970d5025048d7077640796bcf759cc0624ff46026b9fe44f5a7d7c8e38ffec7b99985029808770ac2aaca3bd42180791f0b6a878216ba7793cbb080a0f9b5e04d4a372e71f9bd2e0e7072e801299f35d27020b69eb67a6d169c2eb4339d7ac233e1f82923a057c21a2f275eb11c56c86fa5debb40bec91ec1b1f7034ac453bca831c32f9121208a91863c7b2da4cacc5dfc067e4fad0245e3e741a499be70b273f5579d677066e49cdfa9bda73068b8098f6d84393049ccd48fa12755ab5eadb238174c1c29a3a2c3437c6b14d683087dd68b1b70bee1874df49967604e948146d53a21d90710ddafa11d41e4d1d4b2d70126636264758d6d17207561de6f4c2266713660c4aa9370f9da401eacc07037ee051256407c791a177a49d3f50e50aadf312838d92d49b7abe578f7d4f56d3fcc434f36da2f78163f2d6f54a6838f075b5f2e0a340feecc0dce520f068e5b616e54ad16fdb0e6ac2db5cc484aeb4adf51f23f9b3071ce01ac25047c4c62b52d173577f9e0f92b36c1f98eddf787066121cbb93e61b6991d022cb2a00f18ef9cde8a5767228765b56a05685b3160f3bd3887b62b62f86fd66274f57790126a23e0f8ebc5800194ab9a73500333ea2bed8ed137b22af92ef226ddd51d4e6f3a74e0fc415bd1027a2dccce9ac2c0c26079dbea9761debcde8155d3b59612d627b81e915d32022889a8f510aa57a9213984c47dc170f9001282f37cb0607a69b854ccb0a64c52cba293c1c37d4abef0ca5b86bec04e0f5ce4115a92f8c2c6c430706d3730b2b9dc5480c3bf80aaa518a1123afeab97dcc52fd1b87df32940e2eeae2c87eab03accc674684e34fd4c99134643100d311054016a1ad24b9fbbdf843255d00025b18d698bd9009e450a9e44f9930ad6b6d7ef42a618c149c4dc2ea71083d45134d99ef988e3b90db86ba3abd1ae3bdb2cae4dff2b5917796b60ba7b09e337a48a7233e75009abd60dcbce1da53c8db0095feb9f8bda13ce99c5985ca31de484d861de89f9e1bfbff372fccedc688bf5cbdad3c92ec84b69577259db00d8eff9047028927017d3b5325da07a2ce2a502bc21c8a6cbebf2e2e85954b2dd88800071de9b6550cd04c0615db4a5b44d51ca060ef3763af6f11061e46570a02237ff1be417b0b071b2b55241042cfa2a0dcec064ca6ffc0e816501ceda00fb52d10e0a4ab09e1f8691152fadc07d7e34afb1e1a2bb17c08ea1b22e6e049f97f93ab5123a94f770347189cc06ac3906c2455efc43904d8203e952b4ad27216e65c268bdabeff8185b1f2bfd13ee96bad1990209e98a3e15ec01a7235cc961a0437298ba3e6048981d32940a9fdc589b5904e63302450657701e1261e8516d32a067427adfcf185f4898ff8f91f3d69a9607b2f50511086f42e169bc695c86efc67b1aaefeacf7fbcf64138c422d4149cfaecdaa0a907ba98f9426b53e907bd22004b5e90d5f80e782975208fcb79beac5401a73aa0f96fb46a0b9c4fcbd4375c61aebeb470fa61d17b8c4b1f96088715019c76ac5053d19a285adc4dca734a0c29fd0bcf84ea6dece637b97d9d51829e981cba79cc87d9519f3b59d2c49758b6259b98dc67667cfc3c9cd297d22a8087fdef8eaf7bc3ec7945f739c2f7e0833280edae7e16a477488f66eaf5f5fa71dbc3af6f359e404f2fcd5f0d8e5bde34839f8162054252eef4cdfe0e9858ac00d4a20240e642befc85df10ddd66aafd14994706f1afe02a69979f3ede89b76fb84171b2ebdfb72fe05e9896b05d09f93b0bfeee359170829339e2c97185247c3c4104d07c9d83a4db6b9d356201e32f302d5a029af01ae90d0c8e1613922ebfb3d6325961aa6f49a5e51d2d7d37231adf5b5cefd2c399766b020c4d65a9eff7cb2860cc23a2ab722b6ba826cc1a79886cf4c2ed3556172bf0ea10e42d2dff5e2cb58f89d8e175339a886f35327e8978b875c4bc270817c85219be355592eccfe0448e2e256aa2c7420fd5fdc31245e38905417aa366b64f7b4e7139f160418424a25e152f931246df71e086501e67eebc8ef7ea37eda5940e294b09c2e3287b552814b6aeb8be24d2c6d1cfaf20e36db0e2658b80921daaa2debfaeb809502919ab619dd3ca5bd377a2fe2070eb059bfbb7aea41902cd3ea844e185ba94eb02584f3051f09cc39f37fcf168438c9ba3ca7ab8c3b1713e428e81c899d35a515501e90ab67b112eac7f7743bd398549a52f28275eab195dd11db76f5058b87502f1a2f0b9498a6016f77a76ce3283494783a2432feafc22ada1754f5f71af9f7471f5fc7b3f854b16fa54739bd2188db8f118dfdce1f5d3b302476175ec39c8b313115192d713d2a76a73d49903942135e0cb9c6c3e5f92f55bf2e42fa59e68fbe9f00f4ef497db11f66b134c1c3c7571d20e13b3bc46569df5263e175ef9b156bd4562c082a7136099ba00d12ca86e667819f54252b7f4ed2c5288c8842206807d683c6455933bad03efc5126a7d0cb1fb793763add1b7b0d3699985a0700b928735dbab9a4f8a007fd668cc024127a981c12434d944799399745384c46c0288a264f3d8e6db205af12b07efe6abcd9ea78e63f888a3ce1d2313e7197a304230e0f92823df4f5fde0840ea82382a94f491e8c5def48360b1fbce3910fd2cbdc704f26d35aada69d45dbddc9a8b7e077cd9bc96a8577a9c26d2ca18f4ab31ae4215cc3e2bdba6fadb94aeeb5d1cb211341163b700fafa190d06973e879fe657462ed6ca805f472a8c310708c76c11a1f8225fef37090dd6feb5dfdbaaa108056b00e596358e6b17fc414fb957c1eb13c88037a71abc74a09427103661a2b69d4786045a8dbd4261a6df775abe01e90ab07acc4ba27741c633cb4c78b774e5d3ad80a9fe5ada20b0e5b645735a1884ebb4b5fe204911f95f412fbb63a839f49708e05edd219f10fe231caf0e86d590e26ee900ccc950b8506c6e70af9f9bc34a959ccc922d8077855dab0af428ec467f020e635608b0e0a47e4195d7159a77b97b124a43793fe2230a87ac2b28275f68ce05901248d917c3c9b76277682047cb71bf7b27308f148ec14052e2efb5c6895b70c6f5e988f690d15a38b15505b47b08079c3152cac95f23109354f7291df1f33eee8cd7dbe09cb8af6e92abfb6988b4d35b4025e257329a0269251a08162c9f33ac4120ba113d2181e47e664ef522e4f11836bf9ce77c069fae66c09ccb685c56f1b9a842d8d1e482b98b7e822540166651fb972ed9dc3722678a7410238ae01edfe3eaf31f9384cf8df27a11de538c71eaf3de0425ae6dcc86ef5a55a313f15330cbb852c1df21bee6ea421b44aaeb8416fb4faef8715bc14aff545e646b53c96ac876c5a03c0da89dcdaf6792b831c9a129fd75497cbb1bf78a851cd4f2cb78f3bd82d480a957a2e6df7bd0b8f6792f82c04557e9aa63f3cac45e4a859a42e7d844bee612b8dc253eccb3ce04d8037edbe080f08286bb4a016fd492835f4bef807dc997d8c0641a0fd8dd1c87b54804032d2cf4c45fdb9ad7b077f3ca597a9d659d7c25aeda58836a7dd57a1e436e04d4127326ec1fb549d38dff88d76be3cb4909fbd8f9a12574b4ef174ebf16839fc3b5ece553713d00f3d76b78efa6a465a234bdd366e15e6386405844828d3d6ac619bcaa6fa7215bd16932095f0fad66cdd30833fc1a574b9197bdc7506e08b5316a5f06b71b8a80d5784ef01a94e90cf59b88382cee4240eef2cd4ef1e50d02d42150731bc0a6a75bf0102072fc372c55abb151efe752dfc57d7f0f6b90b989fa75f073406159c40b5d185030ccac52361463b189ff0424e73f28b146a7c435764aa3caa3582f9f535b3fce9325c0d2c0ab911f6339f8b60460d258de81af4cffda02b7bc9ad33534e8c22783f0cafd13bc721ba13f48d0e818659baa8c9a17afbadabebb5b3201c9d5241bff2c594ad31e509fd44e3ce392df946b7f361f824fc9cb46c7315dc1373c2ba6e27cc9464d051c83a4a0015f8e97be627869092b7d34f12b67bcbc2b035a476780aa97c8f3a204c5e2b0bd02ecf57213ff9df5c07951280e31512de83328369be8ee6ad9014f58a204ab82fac08acf1234e6956fa25677ddd80419df177b544025a094961759f8c5d84df3c1e03001da1a01c05a69140d63f29f296d24a2af60df582b9cc4b3d1bc23ba89d64aa592d6f0554099deb9a50d80b80e1a434f74c9151adbcd3ad168750aac0dbc4be598e62fd72003bb02309c004b7cd391a061decae5c2a16ee07e6376c46b7c0d87b818b21643a0c7314340b748080810d7c7e75bac939d3a75f488f51c36a28f81d38e19d8c1f012d2abca1de1cbee64804480d4bf80484ad6e269799a1d8b6b1457a70062c5be731730106b8452371d301103b81c25380361310098606db4b999a2eb6abec6c97f3015ecbc09b9c6873a299a7a7d3abf374782d719005c7803e4875d10bdb6cc069fc12af8e66ea0fbc44dda622a9f401bca0dbfb20ab0f1af555f4e748e4edc541b745e3ba17d45484c79a536ea57efedc1dde00917897e37e2b1c80d57007276e70ad93941bc141be6c3e1f9374fb88bbbb8da6fa3aa9d77791bbebe7f467e1bdc28d684b2f0b203564f6c9cd54f83e52de410fa47cd8c321170c3cdf2c565c043e4713998da981aeef044363ae6dc7b4470fb100e51409757636a848c368bfb48b7ce59bc2bb0bc79bda0ed6841d59a4477326cc6e977ca2012d200f773098fc2cb862e2358a370a2f36544cb655d80e7c20503f42da6166fbaf136ba423c0c1fb300e289b81fc0e53b9b692e0931c5c560675e0a0a21224f4aa6942e902f21c93b972e692126a8c3aeb1930ce816105c9549d5b4b86a60278df882fc0c2921730b8628a108076834f07afd7001c5102fb5ffeca2920117222732ea01eb839fae429d7da37ad775f7eb14d28bf7b51d3e6be5af2e2495a310a0ede81fa2bf52420d91ba89d36b2e911141a7ed9b2382fc1154288b6f5e0e4d534c5d91b1de904503368262c327ce5cf2a1c6d8eac8a2640d8674a76e8b5b09c4fd88ae82cb9690385f80ae782e36810e8f6b71df4fbdaad701af9f5d4051e45a57d40a2eff8ecc487bbf1a997f6c08fdccf9449a777cc466892488d7e682bf610ac564762c01acae0a79575486f7c5c77a73b4caa7613dc4a9e90711e936a61deb055f9fe2cb358d70c908852a5725d02bdd722ebff2213fceb8df9016144868aaf839f937e23a43de126c0116d50594992dbc476877d108979269c60761fa5f84c5dc156f91e3bc2eb55aa698700247ba0453226a2855614667d7a77ef0e4679bf542b0e20770abe8895d7b9b748af99a1ac1ed58d8fcb21bea8a3eaea8402ba2d98aeec1db313a781b4d2b1790af622cec7374a8e9ba1def96eda9a5e94ae0fe344e2af5efc15708f4076b0a451b4e6f98b8ea2cf39bbb82c87935d7015bd10c7f0fe3cfb1f4a95f0ebbd59583e52ccf7908155dae4595bceba07ace5b4f782ed9670a55fe2d5e903f850eca948b9dbe0351b1808a40b3d6e7c70a4828355963d24c396512006dad4f820950fb0dac3689da771e9eec5bed6172c9db265e1a421610eed011736824d1e539cbaa228343a4fd263b79f0f57c924cf8c4f19ddfc3bdb80a887520b823d22e2d93bbaa26e072d08c18af38e235a0066b3825a1b4d62fbe3ece7b96013e42220c86abb3e900bfdef11df9428e4228f62d6d81cab91c0e6e619dfaaa3cef02e8955078cb6fdec5213d44ae584ad517e96cc929299365d40581564c183672140ab41d4594db978539e9cc4f30e35578c823329b3598de9d189031fba9d740d934019581e64e7cdfd8616208cc855d22ae23d0babfdc086253ec54b5d7c2665abfc13bf1ba1df2420344959e9f16f9d02cbf7dda907a71b6881f1d4ab94a23a8b020852c153ff0115911113b4b6de539b65a292850169a3c4a86ef2a909eead1176b1b7ebe22f1fa2283e07c1266666b2b344b20a602a7112a2980700ce1a55e0e2218d025df0b9c689774a52b73b9cd84e2e76ce4788b893a76e025981a27dd9ae13861aa385923436d89bc421b1131967dd561aff39759f36e67c8377cbd4f0457a0d823346f684ad50d1ad3ddd8b39d1e7eb932404a2e01d60593945a5d6a4b87405be5d6854d170bae4332c8db2340d3d49ef0572fbd2106ad35e60349aa207f61aa06f5daa9455fbc67f8546c4ce841cdb2d00cd804e1ec9a5a14f2f9da29eac8d9cf1e2e9c49e5264f6d33f3beee967989a1b90a19532229dc422c0904319cb88000c660f612457623cd296ef5bb0330cd9b7d7df6fa8cd6bd06710111aa14a43206ef47825f3e406ce754e915ccb4c7eebd331a05c3d26665bb5a2412d082d984a33f7469c0ebb8972f22b2af76884b7eee0176b74c166a74197efca77d57cb4643eb0a1053aa1702616682a357f641762e4049f2e688ebba0329c4165f5194a0fc302a7168576530f8610342451e40522cf9aafdd4cb8c35234aa131a0fa869d13ae48b9df085f227eb9d2393db2bf522af8462477e20d235daec994a7315bf8b64e9e1a629f0192a7815923879bf956c2d81fd2e1e5ef05efc686846daec0c63330edea2c60bf0091418476d468384cfd514c284599f4d9ec77f1c52646fd16935e8846815d06a0afd6ae0121614877bd477075e996ebb08329b4dd0a3793ba4e6e6f9dbb0590f5026d51820d6f34ba99169536c90875918cf3431d97b7c3a75e0786a9698e0e7d87a1d83b9f6b0ff521efca97a8434bc45d7db4ca932cedd28817c0035d5f11dbd9fba4f192fabb21c5722179e55f6dc1bf73f22ef285ca6bf0a8a0ed0cd93d006bbc588ff9b250864a23669f983501e1182005dc542701facacb101cc64866975733112e5e62ed6c8ba36a13ad9a8967f33d70133a3ea6dfd29f601b192b793b347134bccb37fce75d46273b7007d29546512fe30ebeaf3c7d8f624a24508112fdfa1cbfdfae8ac73cd9fed5ddc9dbaea6870b29ee491cae083c27836f3e6d83139e04ee838158fbcd006ed0b159d382e0bcef172badebef627eba8581112f08a9a10f30634cfe5ddf35ee50760d8e60fef03f412745bef2ade0977306782ebbc5aaad645255ccabb28ad8f0c46f0a89cb0868976321db947fcb67fea5ab1756a8a39300b0ce0946e7cdc31750be04b7930932bc87c0fd6db6da9c5ccb453b1dc79fcd08791beca487e5a074ad059cbfaddd29e31eb334de730bac8bc4bbcac5b3e2b762e78fb981c73b255711b3adb6c3acb28d76e79c324adcbf86e3c4c6c89ea8c21196df97c290af5b9f8b0aae96a17e530e5fc1c896efafe69de44448b77ed22393a82ec07c6e31edf08b6fc2f4156effdda8acb1bf098246b93ede9917f274c78b07816e7f5fcfdd6abf1d6826651ebfa43e3cb7aa547856c87ec14f835d7a93e02b1b244f61c44c94c6afd026198007dc58b9fc841157d95e04fb8ebf89c81f3b6bd63a96e086fe4001775406a45709eec5cb1085e677025d1964196bec113dda206b2989622400967a5a7c17d16cc27c680a29f2b02c49b03fc96f9408b7e432843f01bd943b8314285e7c1127306bfe5c0fed3117caa57a40dd8dbc415bac8f742500d82f2d3dbaec9e29d1a1c955476f503bf80836476426c32e0480678972e72da921722d361bec19ba99c98ed71cf1611d33628cbd5e2de1f5e40059c6b402a365315ae7656290b6923b0461060ae4aad685226824d701906adc397076d4d060afb2de26bcb5a67f08576c80eb00764395d60a930297e3cc061522c9d93f095c74b966cffa9d1ceaaac918c386cc6531f7eed5fc08b02b606fb9c12d81505e3d369f7cacf68ccc6f7c6bd034baf29c1d30d4abf34b7d1c23f104f46df50c5270253006a6ac91c53b540b02cf3e7208d9520d399a1d7d8ad5d714f14babaf98d6e95ba441e4aa5ec7d122df11ce2ede92954451952ef2961bf515ec575dc5106c75dad4cf8f2353935227a4baeb13124776edb743522d703fc192be88fc05a8725f1d43e27501e032553dc9a3de89fc1a9ee40110c0187dd8133cc3c989984d0d51e5e81d72655901a5bc38e926ff023c1efb75c39e968204284b176391ada4168cfb2dbb7ac49e1441abbaa0fbdd6b6a47388e62be04563e28cd58a90dfa968bc0f37005462dc79d6d13b3df1114c812dd47d2a95f8cb9dee10a62b2d8fa8aa8dabd1edb65c82b103b959ebf5ebbbfcc1936ee70133d24dbfb0a9f11b28aafce2f0824497af6137391b3af48ed2c23b0862b529630ff05dbc55f1cf4af3d681ee09360f87aa0af975b43ce38a86905a8234d3dbfa889267c7e98d7a78920e357f0ca89d3a7d871bbad1f3b28f391e07add3dc8f3028f4feeef033d7b7e3b19ee872550f38ded3e82eb663b76387f8c3ac4410b227008e799d1fcdf19e85cb09da50f1457dc6257641123423be7c83419896ffb472cf5f7a352ff383980ba62fda27cc6a72f887f6e98f02307268ed567bb63f024faa1b09e31a4ac080788c38971b35afa6bba5d50cb4724af57142367aead6bbb2b6d8014a45a7b223bd43f0cc427f6c4c361d0fbbb055b96472e2f39df9f9d8e37fb94055a890a85d2a3bc722548eb57cc01c61c8135a9745f259caa4b9518fca87984fabd714c39ca6b4ed37af67e5ebe92f0800c6b3c2c1ece0447ec7567ffa803c90567ac7b19d8e02b881b1ddda03c218f8f00b6e6ecf846f1fedb17dcd16ef00143bdc8f509d211cc3f55006940f8748b4339892e911de4f5d596b72b07ac351fa5fd5cd5c229528d68046a12c0e619bc451a5c7388d5923291825fe172daa3e2ca3da895a4174fbd6fdd51c3b83526b97afe714b8dc456c5b84e68d04c0dd36687501b756ec8b7ca735af721d683c2154e50eb8a8fb9bc9c39c5b9534017e1b5711358fab5ba209cb9681f9fdfd9d3fbacb874771fa548c40b959808a36f8f43a708fdaa6230b7ec1080118d5fdde4735ee59617a0d8123af0443e07e0ec5fb3ae026d727c2ff2000deb2341cc9334eb70e592f33582fe890f9289b2fe9d5d85ab3b5378526e72b02d3e7ea853943049ac64d1395af19c5b928f2913042b773af9e8c87433d2379a3193983904490c3549b2c3efcb0cc5db610b7a932bf803b71b22584bf6b50942d14101323a55feea4e2c84057c5cb2b15ee0079a927b2fda59a72ad5b5db1e47f426ba90c3ac4a11c1d018c81d3704d682e2ae5922f378795822607e26477bbfd5cf7c6387c399a57f7b450bbceadc7a8e8e29baec2786b0883ce6bfe9350ca5a01ecf473d45ec9fc6f2c18f207cea61f10d2194b97701c9b467479dee2b614d77aa3b6c1698546ccb28672c543dda782f3a050a895f44dbffbd4b906b11e3b080b9bef45073b18d2cdfaf37bb29e65d827a782e358801990b3fae1095622c4ea300fd5205daa9fd90a4b2c8d997f721efc88a36a58a69a49aede43afb01f2a6fbd8122df07c104e8bb6de7a1730e74c9b290dc7dfeaf1404219e1f0a121c2807d43871b57b283808ecefd8b87807fc044d54f28caedeef38df87b0d62fefbc9cbd9057410e4801d3dacc6ab7d068737ad16451df95b0b69473dd68f7ac28f0abccf49eae04cf49a8b2d249bddad5f48963f3db448ed2c53c527ac19b4524be11cbc77fc23326c1ec5a3e949275e3eea41f22a78619c1c33ed0b3c0566757ba8622e29723260d7f3e16afc185ec23c5c04e55da6cea96ac5f3eaf1fd9cdbf51f8b354693804d12072fc4df362c74dcab6f88ba243ab6055ee6ed7d7e075cb3a75f9e5ecc8c42e6aa4e4b70ca56742afe2f6f0deed3010ae1ec5b7d714903137a7194ef8897848dccf79a74c467be75ad7c2464bcd6afe470117438123a481aa62af04558e40e92b7446a8c3cdbf06eb77c3d748acbe3ca719a1c08eb558947de3f89584011788d082a28829e46a6bf5c1d574ce2cbf2dabb3373aa36fa58c8967fc992f0538539542bb07ed0e43078e285001af761a68d208e74f65b7e5e93aef8645bf5eb2da48d6b638aa80967b1c7b5292aebe073ebae81fd8bb752b1c3ad5d1e0a9e22e6bea74987d5e7abc9f21b4887423b57eaf71f5ff8518fec131f6cc5ce1d525e763e77b9de69f137269337c2b697172ea4f5e34f3e18de036aaae504d52afdaad5fee648d1e29823c1fd097dcfccd287b4a520830a84135fe9632757b2289e33f6278f68b82ae3d5834a410f7066c1e7cc872609be5bbb4fd11e4c28d7c2bd795e30c2265a97a85e17f5efd7165e66a35706065932fb36316b512763942f13cfe7d756699a1c8e1cbb53b50e06d63ae493e29ebb7f0f111b0ef14d187862eb581ef918468bf85d987819c36e1d49b1a7bcfaada9801cbf3f7f5838f3aef7f74ff16e601058c8cef84fff9de33d5906c75647fb613e17e05eb15e5f94082485473c2ac16b14540a8313554fcca08f9df18c77956b0456f4a13454afa95555641b699be050a4479023ee23763a15deef6a0c0a7320bf52da4b155006296eb7399d28637f23c6b884f543792786d46ab8a4e7fa25913a17e8fd8c0e84e97fcfc5a28edc0e3efffb984da17bc8af7fb6da72829c9a1ecb3f2962de25f9e676a667cffea4ae29c860f1c246f6e52d7d53d386f104588e47c73bce7881f87eb77a059f88a0f9a7111a6ec2c4f70f7fbd0e826b2bc4f9e45362cfd89ce72f0a67bbba8596b2bcbda67a7d8920e210bb6e2832c9314ac9f70d260c4ffbb79ce84678ae2a77a474dff1c161f440f9316f389d99e8f6f0d13fe713baf35f3dc69fcbe4483ac6946a107edd973c952bf9f11d0ceaaff74cd9611df6f918ee756d641437d8141e3d0703b8e31c0f1a897ebf3a5ab07db5f381591cc9858df97da9afdbab476624c84d66b08884ce10b7f7023848dd8b580903fb66201802bdb80f1096275279fca5d2b4f1f7bc36ece8e3e8e7bee7fed2702c5214506d8c4ed0200f0528b4484752c9195ca889387025456e950508dd2d2cde7646013d600af21cdd1c089f01901e842674ed8f5e8abfdb24c13b05caec35621dbbf080aef02d52c5f6eaf0d8fa88638f76d79291f95d10a2565c73bf5743a9965f54aec3b1803ac0a94208dddd4f65e3042f5ffc90d016591b3947d04a104ac1a4bfdf1b81360361924a7d0b2e499436c1962bd4e0e464f2f4241cd55ee9c51e352d57c463963f1cfc1a08c50bc59be96d18c7071117720c40bca24bfd20a21a75020cf69993e4e043e5c12a904a713e31752006d1232cf3658ed0b9490875ed0a766956760661ea9be3c2735e58e64b1d36b9f9ef44e3d75af757eacc828eb3813372008d19510c29107e00c96bab257a54926b4924e359f04219608ec8390639e0e74b6c161c42c95f8377f263cfbaff62eb471f33da2e6a5001a347da1e784e4e4a222f700ae14df66f0b5d626991fd4892a245fe7a9ebf753138495c04d00c8fe6ba47f3ae57ebb60f1d74754f200fc25443cd32f54a81cf0f6d6a7897dfde65db37d75cb31e61c107db5b42e51864e5d025458181d0c15b3ce1ed77653a10609523d0c75f0f48c9329ecc4ea7e0b19012199d892f9c57854ec25de0767162ee77647f790c00ce2960c85102a98cc699b4372dfaee6356e3cba1a2a593d956cf638642c6faf690b176f969ea325137aedfcba9e9b1c929460dd087b3c1c303a36a04747b4fe2227604606e362575b698ed12d40eda622807c52555706f1d6f950acf62efac3232f8dc7580a6a2da6f7a1bac8e922b8b0269ab52afed16000aa436690f5010f9c88e9e2044ba7660ec7700e054e598a5d7136100f6d408163e49d3d31b624515539f790adae077bc30032751f5201886fd9114022d5c6b393fde4ee21ee91254b8734a63ff9696fe7d00843c08b660a0d24ceec9711e42ee27eb1d095e0799db21deee00aa4560ec766b6f9d9fe0e033b0c7b74d7878e21630bb54a8338859a362260de61b05695e830c7ce531af59fd48832fd5f08d73092871229ffae2b96f1c2f59b14f644def7fdbc1184e311a9482521b8985909a4853bbcafeed882535c3f59d81ed8cad6bec5b399b019282dab42ef3bdd23c0723faf572c29bc3f60ee408c604d91df58d05915be1395768b89aac81eb4cfee7e79654bf7b35c2ee15fbdd5c9685e6a71e8202b2270afe42f63c4fd1c7fc412ea9e170ce015c3a3aef5c3383a970eef327bec5d5fa5b287302a1a7c7b23a3a38f0bdf6510393936c6b2a7838a8841a17ef3a2c443ec6f735c6c1a690105376262d9f0793d34d74f91f9e730f4c600ea1c009b5221dfb974b5b160af2933ba8b50f08ca6b3656401b2a50e2d7e9dc8f4624467e13c0bed707c14425ebd46e214e47e593101511784e2e19663c9cebc47205e3c36020e9b73e3a23d782262dc32f09a1e18ede4b12ea4a33a01967f5570508aa2b861232d08606142f9eb7845292d8d9375396af200b656167bcea1bbcb294a5fff685d3d08410ea90d35cf2fe77f9bc9bc33b5d999ef49f2112d7d3b8a40e56f0a654a186bef6ba201cce5324561cb31b4c4abccf80eed9621572e687e19b935e9ea3498df0a2a06c227af32d582dff78a1cc7b355bd3374b6743f59bf1cd2b44602221c6243788f7fc4ee7bfeef4033c72c750982c5c5d31753cbcce2f51bbfc267f2ed8083ee933f7816107e10a8a83ec6b0b320bf19d2a775198b149a8bda08902b661a56385aa0f701c803a548ae749603a3088ed4af00e84c116eef259d8b071da9ed873f521bfcf6035d226363c84c30fc6bc727c9ec368f8c171c5e3db4e17ea8a17cbb20f1460381f1c4ff26fabb113cfb5911821efb92567ac542e31b1910dc9a526687828754fddb0c24a5f51c3b23bf75a7faf521d36b910b30920a17ec1462cb2845c3cb4e23b613258a8f38e0dcd02834e462255a143e9ab8a89c86cc758b850d16028d41225af098a42cbeb1fde85ddf56b1efbabe5ebc2be1b032b795f1c3e14c9ef4bf2814222c117741dd7293a88d549c3a327b7d510151da85763d4484379d2146ca03f35ea15b6199bcf2c1ce60e77dcf87bcbeedaf0f31add1036529040e163dfc6f2647705cf5e3f915ad6280722e1a5b2e722f8c4a5f1ef41a2d74b71c49484e45203f5c53f738642ab3194a811c83f2d27df2a544ac10b44c248e31db812c21f42a1fafdc61b5083be76db2cc4669c9c6368a063f36a6a078d910c862e7a0f80bfc86eb6b78c358e125011d1982be059911dce1b930b5eb92c77172b85b9247813f05b77af44b5a90d460e46d738c257c287d0a9021ead4ea682e9763c2cc9f2f48b6fbfc1df4dc3a6a5cc72a1df54dc9fad082c6fe71bd527859197c396c8ed18caa843a16cfdf356b76f7ad7851defc6d04675d65a6d4040f8d340dca2090ed3c076d0936f92602200ef2d97ce7297e432976080ab846c9c76122ddc248650b083109a63b242f1e4f69352994914b59fd118bd01c51a8c50803dff89a14f6f3c2bd86a717ca0d6d4c6ffc4b924f852fc16ae4f9517e109a7f7da68922ea9508096f185038f4e81093f070993cb3041dd3ac2f5c7bb0390febd1b85a5c1653ad0d75b6142e15c5b0e84f0c57a7113b83754a3753a58711776a18150f8378ff9d2cb59574a05e4e01a9b68f32ed4c40181fb9388135f2a8d68346501b5c3a1d8a8469a2220851672a787427d2125e5bc79f5677a50e26ff0b2d9176270f1b1b2069e8aeb254b8f88b8a6ccf274737e4fb9d9ca1b57e12258885bfb72c80c48ecb9981ecbd7c680040aa8595370eb34f910e285527e9f238ac0ea4c92f981cbe5f8596456440fd0004a30729b905cb6431091e3c83116febe0f0d03cdd53b1ef3e9278da7b2275078b84d94a89fca8b8913a79dfba11ba07d46b6dc9c9979db3e8283d08050a4043e6a90ef7ae30ac1a47b3176bc5cc36abddbf29745756e30e012a31a8689ec71b838853dc06f1a3a9aa79a1aa2ee775916e309b4572a48acb0dceb48e456c0386b87be6b57c8052d13232fe474e1128d7a92cdc14eb2c9d08d73bf17872661a33e92e121344d731de6216e9f36f0386e270838181efa606004f6cb925a13380baee2ccb31f6f43d2f6a727b526728a5ca6c55635e22ded1ae4530ecaddadb9af84836af715d1dab5b2a4bef9f14f13ab4a6ae8088e13342efc37c4bbc65129fc3f8d77581e4f6d4768f26d2cf2f536a7cd87783ec8cd64d5a8d1ece267a6d5e0f04eda12c29a85ab5f09d035c7533c38676ddecae4565c28fbcb53128c216368bd670131d7ca87e70541502449d2342d715db7693effdb1c257eaf011c235bddc5e9dbd22c514c7453c1e9cdf9e56f80a17fdbf48a156260b9b73a472211b4e4a547f310e1ac4fc6556b9eaaf118ae7eba297aca3ec3287811b369ac8d0490a18cc625decb8d80422577b8cb52401d29fd21ac53fcc3cd34cff32b1a2aca6b78718c83cb1c88c41a74538e28f7d49120049f11f8af83893f287cf7fa68733b1dbc1bdf8d764b75e5632b86e259a2f95d278aea04d1448aae2a85508af2ee02ada23c53c192c6be462ddaa4ddaf2f2f8f353f1a8fa368f363a085171352a7541e7bc684ebb67b41426a07ad11497f5007ca323583efde79b4ab546b364525c849fe19ad23832f2142d1adb1689e66dfb6ee7f69676bec84ede1ad1fee0577d5546106175991cdbbb7aff4e0a97852f072bc2b688ccf2c8a925abd0d5748c9d95511c1588e1e539ced1ef477c9bc5b6da144173a56f942a0fe6322b2f921f16470cd9d3d51fadbc74c0a1ae115202b761cbff92bce34449b2f6b2e80fb61280a66fffd1036d30d3654c7d732c5c5f45a5a2841a6fc41b820299d190795f0f89585c28a05693e5d907421e28e24a6e0bd8929d4115457d8cd7d92713bc3c0757d3eb35fce35de32508f3c7b5f46c76221cefb1d065bc64d61f0d6d56136994d9f832cfb1d9a1fc3e6ed9ab75deaaf8a989fe1be7414fa318da23481d6a56deb1f7bcfc80bfbfc58ceda4ba1196613de6a5a2df44e6cde06517241c797cdfe103763ece5ed8faf9546520fbe3edf1ce65a873c33d35f0fd6e45d55017d7fc2c38dcba8db536723685fe2beed71dff18f8d79180a3e6a9c89e80a22b5ce189fa6d67d443bb5cb0026d72fec2678f8df335a978a06b11e90b0c3a2ab3ffa6c805cb7f67e48f58ed685e99300a86b46e2f1765af0a664e57f5cf94f5448d388411e7e8970e3f731db14c5e25c6b16f64fe094f57a0a2f9171fcb30ebb44545224faa47e393b61bd78ea8695d211cc24af19d5811ccd171ab9f233bed4af4661f79ae4c61317a28750e521e47ca971c8c08db6b5bb7637d5cc6196ecdc025746a7b724f829dd35cf997d6adce7ae1c53610e579c7fbe65b4e210855d98ba2f2acca1f36988e2211a9ca7da617c68e184aeab428a842c62aaf73e3cc036b4b77a39b751c09540727532869d9fa4937feb8d9e0b1f3b718102cb142edf02b9d9e46e11aaacdf8bd1bc9af0ad4c4f953cafb46c888c8b28674f5964b690cfd94c50bce48967b9cb64bff7230797f222c0c61f7dad60b8e0b623f2be1bcaff2423669062d282d8eadcf01121bf33b4ca41a5c94395d72e957915b66d0c9572bd714c46ebc97e37b0901b8115d84feb23dcfc99aab8b19e17f33965e61aa7cf2cd55e86bd7b19f3fa60c1cf8bff7eefd5b65d27820744b2a5371821811c9c2a8ae9cddbfbe13f83409eb0c3ca589fb2798203c5ae48f3b922c893f95ba4b7a55f14d12e76fcc5361f10f4ef0c1812d21c206bc3360eb3b3a703b7aca1a1a4f7da5de725924fc950861ed99ea2b09d88649ef1819df02b32199f93c3113e452cf4c1250a441a9c90cf0db4f97ce177c274e2b95f7650da6df7d264e9b80e961bd89fe5ee03fce6e3cd9535878c8a8ab07123381f38889f91abb877fdc9b9db85092d984687ad6f80d1519be809dfe2036abe2ebe904838696df29a277db9d14e2c0240cad7eee9292bda994543aee21ac91fbc0ef27eb482df8db0152f3531d4f0f78c431e55af6c7baab6b6fcb106684a8c7b85d0e32f72610f65ce6ba419e713d7f852bea25f42582cae6c4b044251c02df2cf076338422507ff2bb150f7cf9b31bd22343448eaacd31f65bca250be54ccdbce037d5d120959ed21c6d907299bc1e302c4d92a870070e52328569d4afc1783af7c53aed60bc93ce13391eeb3eaa748dbe075ae8837017cea9aea9deb7551e0c7fa7402493e4a2e9b3e0325419b5cd68057fbe47595a1db92a5ab6a44e37c9e406f0d49c4771eb9512f490fba4e793a780502cff0d78cb84adf99112b24e1081784b1fffdb02ef439345c4e40a1d3f4bf1694265f870b5bca7fec6b15eaca753a88210b6e0e71f76c54c199939d72132d37751811a6487bb46f42a5116c913f1a431c6286bee34bba28b8433ba6bf6e40ad642b5bef13d926cb6af0e1895afa8b5d32f2834ea8652c3b224e93686269e6aefae52e85b2c4d88172fb150b1ef315c6ec38813829df837412418742faaf066f839449984f98e47ede0e75b8de36eb699982b032b2ef7885f70f3afd9586b32bdf4aca8c4c0155f7736bdc1b623c37c7435f338da46984436892704305f23e9fc0ba66854d3088710260ac5f44c62045d79b39e65edd0f1a68e3403fb9145b452dbf2ba190f2c72749f24170452a663f1ab48ac4b62743336f92b37f065483142eb06ea0c0766a37fc2ef14d38abfa825cace3407b5d35a342a44141974b981317d2a1a3ddc6db9d40fa51c32f66c6fac11b5a50667787bfabb13eed0a3a72c2c75a23201c0364efd4aa230c9af60bd5cdaa5f1c19a6c845babfcf32fb6da22d0209d24b596a4f13e5f7cf223f2e0c5c7efc7c36a64dd48bda36be77798d2415d6721704196b63c44a541ff971a68c4c3a1e435e20c9a3daf36b0c967b3ac31508aa613b0bf2fdee4b0d7c21f46d62381025ac8b0f4287e91b7e65562d6cf2d51895ff6108e38de9a8ee11523ed5b5a224fc3a49d77795e05c84a3210988171c76ca2f101dcc89a9eb61f4299f22791d9adec93f79a140fed44e24e9634ba7c70833f226113048f3acd6fc9a5751b3894058d2a1192c2f39a43e8f79db7e3a387033eb5ff4c44b300aebf9cadd1b46004c94a1642866cf8b66f16793ad34ba35a3ba63814fc0aa6c04469947f316b56bf6e6bf1cc72db1b82c99a2d61956c273e53fa487d204f99790ba9a487d0b166efc552f59d0ded2bb14fdf4ab8fd0fcc883c9478d4846d1c8c75f5e93b1030a1e0a93fb3b4c94075f97f13b7c981f952835904a2d7ad66bd38746e6b617d139a444aba1eff2a5c06fdaf7cf375ed4ecaea08437746df7b98efd6c14ccec5b706a6a67286f7b811e84fc60815dadcb145feb47964154e0aa45533f8e7d877b1968cef5292b2c6d2c6e360aa837add72b8d9041c9c8bbdf81d3c2af1797467221f478f4282c025d2ff9ebef3f2b04def3b133d16bbebc818c2b6e9870e12053668d3225dafd93a9273cc1674694422b06ee3a0a7555a2945450bf82f7c47792361457f4c6b65de4eeab81fa4a7397bfd278d170ca4778ee07fac1641412a58ac6f55d8ac21d2f68973e49b43bfd0e688467f5cf8978b30e6100452a6938adc0db14dd1c346fe9d8891dd9e8034acc242e70876018e403f6ad1b4e2856dd981443ed9ebfca65377998957f3ea0ffbf0f2eb14fdc4614b1c4ee790d369b5f4fdaa60993ecbea3addb5d25e51f2468647f4004bc71b70a6dfadfc18e12fa719ac2d429c98792e4e0c2a12565b4a9422727527b08de1a4d5f0c96f35ac05df0636943a12d49ac351bd0199637b5a99a746f38ff73854468287a4360276d29be22c1236ceb50780369a66f2f878172f1b448362e4a0ccac28fc8fa3693b6be9fc5788091146fd841ed50a97bc378d9765829d33ad7f105528aeea7506e3c289a9f3c40f14005f3ebe130ea767bbfb4a06d1b2abda30ec922f5c5b38aff86da2854ca82f2d3f045372ad2a326d26e1b7d0d5b9a369a1bc07250804037080cae6b28a07586f5ae0f4af0ac6810770b7cc3ee54445dfa898af63aada52521e9a58db43ab3cabca19389453464129f0935fd6bfc83e4274284049d782db3b7bb2decfe7a093b4e35c51b0ef032ebb582f83773d0c3ce70e837aa74c935f52abbc2b058f59e3f59a37f385724cdaf9b351e4f0cdaab81c754f1f8b8046b5ae9dfd8822f170a1435e8582115bca5ba113c78bcf94969c7b93af17a36b9828697c190e38345707ba3d107a112f49706374a35272a4d21625acfa54d3e947c81cf9a8ac21343321d81f65f6ffc525ebb0b654d7b5e298f0b37827d0d49a82252bc9c2f6c871083d1d1365b0785c3eac039bc5a9d8598c4af9e9d411f1a52448adf98a1195ad38cb408c35d10bebfd7fd410a06fe5c41330a58f278abc5b07448b21d26ebf82d95d8bd8f719ef9c4074e87f97012b49a41dedf3581e32bb3a8d3a12483d16bc30e1b5983df00e3c982e04de1a3258d64228d2af656215bf04b98bbc2a2399a3513f7d5c2eedf77e58021e40b212fb87c03fbe8e2452e96463cb9e4277de6317abb53c3f109c79453c1d88d380d5d20005e28b833f10a98b2eed8b43ac9a7b0d4b48cfca32c54a54fbc1bad21e08b143681d9797c63a26f697b303a0cded013711bbf026d970dd45e928c0aaad6bf8aeef985dd2b11da1bfa6e5ae4b843e443234d50b2d553a649b836de9415a45cc788a48913a3bcaf52140c1faebf93f8dddbd9785a0a554d33f6ba238aac101bfeb483472cb0a37c04f21c481c672a62c78a835b110cc7b957d1c11e6a86868badbd20d3025f13f4d15dcd5d89b787e880e62408f6f68a062655f5df8d6956f29b176c738550ffadff8f95f3688198c7b2f6bea1ff436f3fcc8743d9657b9a5e48ced92ea772ed1ce51ccba960fefbf0be3d0db36c86b9a08d4007a17b10cfe2708d3bf0800d148ebe4a3693e4663e6a7108b4197cc4b370bbf0142598066fb40219cbd65f7b86c752aa50774399c859b0ad483612a4dccc2328eace132d4dd49a5b4d85def4ece19f3dea90818410e8964039dfd92ae3f298cd0a6c4ba8804b7fa23dc663bc8ea9cdd63696b6897125c6f5dca611406a07eae4a155f8d383aadcd968f65c25f1119cd1a0f5486afff8dc9ef8de4ee86d02390546cd901d70c65e49df533c49b3f4517ac306e26abe3668dee0b241118249d4424f7c430782d3fa688dd2fda6f8eb728aeccb9db0c1b471bda5184b151fad70a416f03e0fcbb08ed9ea4d64c648154d134fc0336ec3db2c02d040083283020b901c38a390782a4960c9eee9be8341c3e648034a40c242754ebb56142f39e55be067f9021710b4f7437a34ccf5c5adbca00d7144e2958315098e10d494ed01260853e6012c5cad689aada807fedabd2cc067660095e48885a2855fa03e4f9d254c43a4a1ea4c1cc84eb5a65d1dbcb1271081cc0901203dd08d8c18e8473b777ed7eb1e68f8e1a953c7e7c75677e1dc5e6e6bd73083f0ac59b9f0f44cff9c6baf6be2812be6465da4231e6d0b3d1021bd03bd061bf295405d2f3d5c78d065ae93ef6d127c1380e212d39f9d4f0a8dd74c96b506384e55cc27927b3d404ad4f9eac3d4a94ea160f83ffb2bf9026881bee885b14b5290cfb7f476681753fba1231695db5d0c16ed1e5494f6cb95d2378688cd162c4bc2afa73db8ebe6fc9d068426064c6a58e248c95a4e801e885a87940e3408fa01108d4be66e28d4d3a335c8b04f6de0bd52a41d273380114f515190ac200fd07070ab2f906c6bf267e3a58a96ddbc83dc3981173029325196c8bf5b7776549dd01e3be69864e46b09f4044668b16ab00bcf82faf01edfef2dda1024b892ac9a640710536a61e0845225f9f2f1cddc9f1b3f7f5547e67961a1c820184e3490e27956263f398ab8fdb419f75d1c69e5a0d86f12d60ed49a0750a9097e665565f7e969a662243c7bfd5dd0e924e83680f86437021dc2402fd3af9b556d6a2102c7812189d81cf400683a665f3d6c0801cfbbb7a23de22506f41f4c1076110086f5c8a04dde38bbe9e14830fa00ec2cb3914689118b87e9e1da4921d0ef028fffc9b3be1226a91637fe8b35141b9f50c5938fba213476d3e3cd5163c9137939cb5e86d566428640cc2759a911cdc5a013bb0e4fb208d17d6cb07624fdf6147c3f6102c9ae19b2a0533a88bd53f99c5c935a6389f75e3c1092e26b0031ebf983ac1cbe236277f5ab7b4898557e5e5ca4e9d543a045c57bc9196b9d10bf3be8e8677aa7afc693ddc2669f5400065082c38368b6f9ba77258bcf4f0ed72d4f10070197e5ebaaf1d225ba828383a35204c652aa0b2a6912c57bebeeb400a307475a66f20584b0e3bdd76b1eaefc7838d89ada735727b0be5ca05334b86519adc0290a1dbf2d45e0acb3e266649ef9bb278bf7c860d8efdd944cc2146e5009c6924ca430a6bfd1e7469d76d441954c42202620283a8b4606aa2e11bc71728d10de6096e8fac164d080124c8178521bc87f64dfd11301b5717683d2df44da2fcdb3e22e649e71c94ae32656e0eaadde83dec70da5b04821d6965f27f7ced3fae30d80ac59a7657de7f3c9e2bb3189ef925c06c56a77d51546a10343fe4402614e7f70e276b9039ffb0470092788ba1c265934285da24e755f070a6a934b3da1a03ddba94d64e9209d7d7b72d1ec069c8384ed86b964ff4e9deb81943bcaa712650dbc7f0a1e9900caaf8ef3985cfba64c4a298f049abee0cf3bddd0fe8db2bde611b04059bf1237d9696104b98d5f529421e55e431ce2d70c0ee1112e236d3b00c112c6c6f5db8da9385a6613c723a9d1560641d4affdbc6da22f185bf294444d08a12b469ba5ab2856f988d528bd60f86050ee4ddc545cea04cb229a16d55d07ac109951805353af4991105c421f3d8fa852df5f681da3647cc898b56bf50e225d9c60267905cc3307749e9eeb0e48873b4bd3e7697b15977bba67ecead4bc30bc7a03c1b2cce787c3508ab2a671683ded040d0b47db8c7f55791cb999f8ccca4a6ed373d21b4041674e501e6f574f414852b1a11cc2f987d77c4ff7d65772794e68e40a1036f157835dccf535ec0917dfde21e95204f0faf4cb3988961c0c88f069c54db839ae2f3a38c89dbd4cdc5c8c09a9216c636a3d957cb8ec5c8fec993c8a21ef05fcee1ec6afa0f21b63f8f16205167d24cecb452b6ddf7a39f16ce98e388ea10d4f8107ccd60017b9ddc85d87d44a203fff762a05a157e006f83d933207ae0e4451749490e5599e142788a9e980d9580fe41396b4b6c5eb6f6b7fdaf45edc5c47a76bfa39df9eb50326a1ef5fe04e11bce2c46778fe54cc4b14366ce2682df791f52deb419df99da0845c6c850a552f9e7a25ae0ebc4c881efd2e92e475acdcf155b72bc2e2aaf5825a77814d675402a40cfd9636fd704826e90f41feb89f75e5f90b89b45cecaf8f1a96a47f8a7be57c702d6bb71f0ad5d1a175aced9bf7e89e6459dc0e76389d12485d6272ef5074652f8717912de25287283c8579cc3e1ebd2a2a18c1a4130227865aa950a36cc0088c42da2d3c0f8e5f317a4811602ea9cc67ca3302ace7d1dba34fc4a45ef625d702115220e947201631acc1c1c6335024041fcba4be94c3071d18bea406f4d5fe48a6f0e4f836d33c6134321c1312777f23389efa137547e57b48043dab9f7b4ebe4af9ee7ee38869da40a46256fc3917794c2425176fe2882ba51361b0f3b37fd1a7e70e82722a5aec090ed578402aa207510811c54f0d8095ba04b896d8f1bb0872710f45a7393dc77732eaec19de34b4c4d944ea4c73599d8312663ef1440f3ba4ab574f566d6a2cdb5ba94d370505d890791a17090ee05dbc243dc479421ecc5dfb7930a7eba978d4bf3d114117858e49f27406b1678e8fd8d729b7a28ded3f2014e39fe31b3237c09fc771ee931547574729bf3825e3de0296f399f6beafd489273282b0e7614819b9318e41e2acfefb0932a2fb9eee1552140f2b3ab193b3f24c8ded072b5ffc1758db317fc5e92b79c7e7be4efce3e2274cec13961fab3fef064f21d0f2d166712c5383ebebd3f0b4f4324f884873ce6fb462c137e0e3df4fc55bbf4ec915962ed35c401371be3aeed2ec7ee27b5f5e0585586153ca22f67e4aba5231d290560fcf1f373473d82a82e888751ba4dd8c9ea6603cbc082793c49d005360ec97fc5c142f614160142fa9e1bed5fb29f0d085a3b4cbd0b9b7f153e7ba887c2049dcbdc663dce3a5325bbecf4c9666e95bff5a6ebf0dc8b8802dfd3ec95320ec87064474f05c4875a2642804fbdc5b1ee8acd94404964fdc1bc04b48a8258bdfa344084fc948e6f64a0305f84afa150339935d299b1b5becc04ff024a4c7094e2ae93b3d558f7bc5f53aa884c134232b3bd8d33380303578ba49662a70d39e1038da636290c5a94d5be220bbf547a1dfd448a1c284213245b54a81187a0a387f41743a47015cc61410d055cc5899ba1dd31e47d595034a85aafdf9ae6aa74f3f87b05c6df0fa8f430943c17363b95e5ff9a9256d3dbdccd0334209b8af6e3fbb6809d29aa9b224b1786753894d66e57961a6f6b70fc74d02166f37a931488ee7161258dd5b4642e05eae07195743fe352f57c0b3251e8baf1cbab227bc5b7b8ae25a9fab25513cad5df83a6dca2d30b5ecb054e3e399864bf0fd3a109147600b194c6385f38470c2deb89ce74ab3f6e02a9d299c8244586755f642332c77ba506758849fc28e086fead54144582429c2e4210d74be82aaea1293836d0cc15984344d26e5cd294d37175f0fac4f232f1f47ca55dce150e56ff8010f5012f3f01bb55bd6592b717cb16256605c2545f2aaeae2c2b2f77dfdf8360f810ef3cf7e9c32e59ffb1157dc5485f329e2ddc247571bc41126a9d3010cad315d0b9850d869e57c3943a072c6c0b9a7b7abc4f1f94c5d3e2dd038a3c0c779194df87a0ae387f20ef7b1d0a5ca2405531bb4aee25bdef092a41e132b09331092da0c015bcff95769f056cd839b21ac79bef76b1fed0b516ab83c2b1eacf63e4cfbedb03c8d57d97171a2d66f4d50e48bab57d4d703e142e69fd11e05b64ee9cd1bdb7d27c2f8fdeab5c1910e9e1b07e6b77bdb1acf264ee46d6c0ccf6f5527a2f63c388f2be96e0df4526e4766d553c70897497ea19f9061f15be09e781be9374197326d11afdaa697379bded9f778e1b666cedf109f7e9973d5aedc57785dabac111fd2b82cf1c758066a26533557865ba1ca7668a9e3f60436b7c7cf4d7899df1b03c1ab5c578cd3d31d22b6aa786e37e84422c9d78f7b99b537c5971855d71d2e5f5e656866e63db8b0ec375efd6f6fcd62f2c55f9c334fe5f1dc498a6c9f047bbf40986352648b92314755ad23abc1badee2dc053d57cb1e3f249ad31e4f78699dd27572295c292c4c17ac41228d0bcc871638a1e1b2d397ce1ffad9a61f038afdf488ac2e0bf02eac7b201b0c1e81344fd669c9bd0ff5e100115b370686a9a4004a2bac953cb8bb9ccfc6520cd4572b1913bffc76d0cecad35fd6000fd99afde4146b387a2e2bac87415a6f3e79d8971f5c1c73973621aca389f8a249824f9e021c03f169587469f0ffb5323cfb57f805dc2e464ad1ebdf4abfc8d5ffeedcbf5b7540d0d27feb7323ff85f2ffa97c947a9c03ff292f61d1e6e62804ffb302e04feff1b6bbeab89bf38f1da8bf42465a3b1d21f48f7ffcbfbffff52f7ffb5b96e61d5aa77d2cfeffd6fccafff85b3e1de5faf7bffee53fff2b0000ffff3062de1544dc0200") } diff --git a/lib/renderer/webview.go b/lib/renderer/webview.go index 18e966e91..8ab31a8c0 100644 --- a/lib/renderer/webview.go +++ b/lib/renderer/webview.go @@ -19,12 +19,13 @@ import ( // WebView defines the main webview application window // Default values in [] type WebView struct { - window wv.WebView // The webview object - ipc interfaces.IPCManager - log *logger.CustomLogger - config interfaces.AppConfig - eventManager interfaces.EventManager - bindingCache []string + window wv.WebView // The webview object + ipc interfaces.IPCManager + log *logger.CustomLogger + config interfaces.AppConfig + eventManager interfaces.EventManager + bindingCache []string + enableConsole bool } // NewWebView returns a new WebView struct @@ -103,6 +104,11 @@ func (w *WebView) evalJS(js string) error { return nil } +// EnableConsole enables the console! +func (w *WebView) EnableConsole() { + w.enableConsole = true +} + // Escape the Javascripts! func escapeJS(js string) (string, error) { result := strings.Replace(js, "\\", "\\\\", -1) @@ -172,6 +178,13 @@ func (w *WebView) Run() error { w.log.Info("Running...") + // Inject firebug in debug mode on Windows + if w.enableConsole { + w.log.Debug("Enabling Wails console") + console := mewn.String("../../runtime/assets/console.js") + w.evalJS(console) + } + // Runtime assets wailsRuntime := mewn.String("../../runtime/assets/wails.js") w.evalJS(wailsRuntime) diff --git a/runtime/assets/console.js b/runtime/assets/console.js new file mode 100644 index 000000000..e64867d25 --- /dev/null +++ b/runtime/assets/console.js @@ -0,0 +1,175 @@ +(function () { + + window.wailsconsole = {}; + + var debugconsole = document.createElement("div"); + var header = document.createElement("div"); + var consoleOut = document.createElement("div"); + + + document.addEventListener('keyup', logKey); + + debugconsole.id = "wailsdebug"; + debugconsole.style.fontSize = "18px"; + debugconsole.style.width = "100%"; + debugconsole.style.height = "35%"; + debugconsole.style.maxHeight = "35%"; + debugconsole.style.position = "fixed"; + debugconsole.style.left = "0px"; + debugconsole.style.backgroundColor = "rgba(255,255,255,0.8)"; + debugconsole.style.borderTop = '1px solid black'; + debugconsole.style.color = "black"; + debugconsole.style.display = "none"; + + header.style.width = "100%"; + header.style.height = "30px"; + header.style.display = "block"; + // header.style.paddingTop = "3px"; + header.style.verticalAlign = "middle"; + header.style.paddingLeft = "10px"; + header.style.background = "rgba(255,255,255,0.8)"; + header.innerHTML = " Wails Console > Clear"; + + consoleOut.style.position = "absolute"; + consoleOut.style.width = "100%"; + consoleOut.style.height = "auto"; + consoleOut.style.top = "30px"; + // consoleOut.style.paddingLeft = "10px"; + consoleOut.style.bottom = "0px"; + consoleOut.style.backgroundColor = "rgba(200,200,200,1)"; + consoleOut.style.overflowY = "scroll"; + consoleOut.style.msOverflowStyle = "-ms-autohiding-scrollbar"; + + debugconsole.appendChild(header); + debugconsole.appendChild(consoleOut); + document.body.appendChild(debugconsole); + console.log(debugconsole.style.display) + + function logKey(e) { + var conin = document.getElementById('conin'); + if (e.which == 27 && e.shiftKey) { + toggleConsole(conin); + } + if (e.which == 13 && consoleVisible()) { + var command = conin.value.trim(); + if (command.length > 0) { + console.log("> " + command) + try { + evaluateInput(command); + } catch (e) { + console.error(e.message); + } + conin.value = ""; + } + } + }; + + + function consoleVisible() { + return debugconsole.style.display == "block"; + } + + function toggleConsole(conin) { + var display = "none" + if (debugconsole.style.display == "none") display = "block"; + debugconsole.style.display = display; + if (display == "block") { + conin.focus(); + } + } + + function evaluateExpression(expression) { + + var pathSegments = [].concat(expression.split('.')); + if (pathSegments[0] == 'window') { + pathSegments.shift() + } + var currentObject = window; + for (var i = 0; i < pathSegments.length; i++) { + var pathSegment = pathSegments[i]; + if (currentObject[pathSegment] == undefined) { + return false; + } + currentObject = currentObject[pathSegment]; + } + console.log(JSON.stringify(currentObject)); + + return true; + } + + function evaluateInput(command) { + try { + if (evaluateExpression(command)) { + return + } else { + eval(command); + } + } catch (e) { + console.error(e.message) + } + } + + + // Set us up as a listener + function hookIntoIPC() { + if (window.wails && window.wails._ && window.wails._.AddIPCListener) { + window.wails._.AddIPCListener(processIPCMessage); + } else { + setTimeout(hookIntoIPC, 100); + } + } + hookIntoIPC(); + + function processIPCMessage(message) { + console.log(message); + var parsedMessage; + try { + parsedMessage = JSON.parse(message); + } catch (e) { + console.error("Error in parsing IPC message: " + e.message); + return false; + } + var logmessage = "[IPC] " + switch (parsedMessage.type) { + case 'call': + logmessage += " Call: " + parsedMessage.payload.bindingName; + var params = ""; + var parsedParams = JSON.parse(parsedMessage.payload.data); + if (parsedParams.length > 0) { + params = parsedParams; + } + logmessage += "(" + params + ")"; + break; + case 'log': + logmessage += "Log (" + parsedMessage.payload.level + "): " + parsedMessage.payload.message; + break; + default: + logmessage = message; + } + console.log(logmessage); + } + + window.wailsconsole.clearConsole = function () { + consoleOut.innerHTML = ""; + } + + console.log = function (message) { + consoleOut.innerHTML = consoleOut.innerHTML + "" + message + '
'; + consoleOut.scrollTop = consoleOut.scrollHeight; + + }; + console.error = function (message) { + consoleOut.innerHTML = consoleOut.innerHTML + " Error: " + message + '
'; + consoleOut.scrollTop = consoleOut.scrollHeight; + }; + // var h = document.getElementsByTagName("html")[0]; + // console.log("html margin: " + h.style.marginLeft); + // console.log("html padding: " + h.style.paddingLeft); + + // setInterval(function() { console.log("test");}, 1000); + // setInterval(function() { console.error("oops");}, 3000); + // var script = document.createElement('script'); + // script.src = "https://cdnjs.cloudflare.com/ajax/libs/firebug-lite/1.4.0/firebug-lite.js#startOpened=true"; + // document.body.appendChild(script); + +})(); \ No newline at end of file diff --git a/runtime/assets/wails.js b/runtime/assets/wails.js index e5eff346b..49082fa5d 100644 --- a/runtime/assets/wails.js +++ b/runtime/assets/wails.js @@ -1 +1 @@ -!function(n){var e={};function t(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return n[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,r){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:r})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(r,o,function(e){return n[e]}.bind(null,o));return r},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){"use strict";t.r(e);var r={};t.r(r),t.d(r,"Debug",function(){return c}),t.d(r,"Info",function(){return u}),t.d(r,"Warning",function(){return l}),t.d(r,"Error",function(){return f}),t.d(r,"Fatal",function(){return d});var o={};function i(n,e,t){var r={type:n,callbackID:t,payload:e};!function(n){window.wailsbridge?window.wailsbridge.websocket.send(n):window.external.invoke(n)}(JSON.stringify(r))}function a(n,e){i("log",{level:n,message:e})}function c(n){a("debug",n)}function u(n){a("info",n)}function l(n){a("warning",n)}function f(n){a("error",n)}function d(n){a("fatal",n)}t.r(o),t.d(o,"OpenURL",function(){return g}),t.d(o,"OpenFile",function(){return y});var s,w={};function p(n,e,t){return null!=t&&null!=t||(t=0),new Promise(function(r,o){var a;do{a=n+"-"+s()}while(w[a]);if(t>0)var c=setTimeout(function(){o(Error("Call to "+n+" timed out. Request ID: "+a))},t);w[a]={timeoutHandle:c,reject:o,resolve:r};try{i("call",{bindingName:n,data:JSON.stringify(e)},a)}catch(n){console.error(n)}})}function v(n,e){return p(".wails."+n,e)}function g(n){return v("Browser.OpenURL",n)}function y(n){return v("Browser.OpenFile",n)}s=window.crypto?function(){var n=new Uint32Array(1);return window.crypto.getRandomValues(n)[0]}:function(){return 9007199254740991*Math.random()};var b=function n(e,t){!function(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),t=t||-1,this.Callback=function(n){return e.apply(null,n),-1!==t&&0===(t-=1)}},m={};function h(n,e,t){m[n]=m[n]||[];var r=new b(e,t);m[n].push(r)}function O(n){i("event",{name:n,data:JSON.stringify([].slice.apply(arguments).slice(1))})}var E={};function S(n){try{return new Function("var "+n),!0}catch(n){return!1}}function k(){return(k=Object.assign||function(n){for(var e=1;e1)for(var r=0;r0)for(var e=0;e0)var c=setTimeout(function(){o(Error("Call to "+n+" timed out. Request ID: "+i))},t);p[i]={timeoutHandle:c,reject:o,resolve:r};try{a("call",{bindingName:n,data:JSON.stringify(e)},i)}catch(n){console.error(n)}})}function g(n,e){return v(".wails."+n,e)}function y(n){return g("Browser.OpenURL",n)}function b(n){return g("Browser.OpenFile",n)}w=window.crypto?function(){var n=new Uint32Array(1);return window.crypto.getRandomValues(n)[0]}:function(){return 9007199254740991*Math.random()};var m=function n(e,t){!function(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n),t=t||-1,this.Callback=function(n){return e.apply(null,n),-1!==t&&0===(t-=1)}},h={};function O(n,e,t){h[n]=h[n]||[];var r=new m(e,t);h[n].push(r)}function E(n){a("event",{name:n,data:JSON.stringify([].slice.apply(arguments).slice(1))})}var S={};function k(n){try{return new Function("var "+n),!0}catch(n){return!1}}function C(){return(C=Object.assign||function(n){for(var e=1;e1)for(var r=0;r 0) { + for (var i = 0; i < listeners.length; i++) { + listeners[i](message); + } + } } /** diff --git a/runtime/js/core/main.js b/runtime/js/core/main.js index 0adedeb48..1f40d636f 100644 --- a/runtime/js/core/main.js +++ b/runtime/js/core/main.js @@ -14,6 +14,7 @@ import { On, OnMultiple, Emit, Notify, Heartbeat, Acknowledge } from './events'; import { NewBinding } from './bindings'; import { Callback } from './calls'; import { AddScript, InjectCSS } from './utils'; +import { AddIPCListener } from './ipc'; // Initialise global if not already window.wails = window.wails || {}; @@ -27,6 +28,7 @@ var internal = { AddScript, InjectCSS, Init, + AddIPCListener, }; // Setup runtime structure diff --git a/scripts/build.go b/scripts/build.go index d749d18d7..1b6f2e718 100644 --- a/scripts/build.go +++ b/scripts/build.go @@ -43,6 +43,7 @@ echo "**** WE ARE DONE! ****" func runCommand(command string, args ...string) { cmd := exec.Command(command, args...) output, err := cmd.CombinedOutput() + fmt.Println(string(output)) if err != nil { log.Println(string(output)) log.Fatal(err)