From 55370dcd53d9adcd4074c8075c49d34a409428a6 Mon Sep 17 00:00:00 2001 From: tenkuma Date: Wed, 3 Dec 2025 15:02:05 -0300 Subject: [PATCH] First commit. --- .gradle/8.8/checksums/checksums.lock | Bin 0 -> 17 bytes .gradle/8.8/checksums/md5-checksums.bin | Bin 0 -> 24547 bytes .gradle/8.8/checksums/sha1-checksums.bin | Bin 0 -> 35615 bytes .../8.8/dependencies-accessors/gc.properties | 0 .../8.8/executionHistory/executionHistory.bin | Bin 0 -> 59640 bytes .../executionHistory/executionHistory.lock | Bin 0 -> 17 bytes .gradle/8.8/fileChanges/last-build.bin | Bin 0 -> 1 bytes .gradle/8.8/fileHashes/fileHashes.bin | Bin 0 -> 19747 bytes .gradle/8.8/fileHashes/fileHashes.lock | Bin 0 -> 17 bytes .../8.8/fileHashes/resourceHashesCache.bin | Bin 0 -> 18701 bytes .gradle/8.8/gc.properties | 0 .../buildOutputCleanup.lock | Bin 0 -> 17 bytes .gradle/buildOutputCleanup/cache.properties | 2 + .gradle/buildOutputCleanup/outputFiles.bin | Bin 0 -> 19001 bytes .gradle/file-system.probe | Bin 0 -> 8 bytes .gradle/vcs-1/gc.properties | 0 .idea/.gitignore | 3 + .idea/artifacts/regions_jar.xml | 9 + .idea/compiler.xml | 6 + .idea/gradle.xml | 17 ++ .idea/misc.xml | 7 + .idea/modules.xml | 8 + .idea/modules/regions.main.iml | 14 + .idea/vcs.xml | 6 + build.gradle | 55 ++++ .../io/github/adrianvic/regions/Config.class | Bin 0 -> 2686 bytes .../adrianvic/regions/DataShifter.class | Bin 0 -> 314 bytes .../adrianvic/regions/PlaceListener.class | Bin 0 -> 2072 bytes .../io/github/adrianvic/regions/Regions.class | Bin 0 -> 1473 bytes .../github/adrianvic/regions/Validator.class | Bin 0 -> 2125 bytes .../regions/commands/ListPolicies.class | Bin 0 -> 3662 bytes .../regions/commands/PolicyInfo.class | Bin 0 -> 4746 bytes .../regions/policy/LocationPolicy.class | Bin 0 -> 5517 bytes .../regions/policy/PermissionPolicy.class | Bin 0 -> 2471 bytes .../regions/policy/PlayerNamePolicy.class | Bin 0 -> 2418 bytes .../adrianvic/regions/policy/PolicyNode.class | Bin 0 -> 3484 bytes build/resources/main/plugin.yml | 4 + .../stash-dir/PlaceListener.class.uniqueId1 | Bin 0 -> 1007 bytes .../stash-dir/Regions.class.uniqueId0 | Bin 0 -> 793 bytes .../compileJava/previous-compilation-data.bin | Bin 0 -> 62481 bytes gradle.properties | 0 gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43453 bytes gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 249 ++++++++++++++++++ gradlew.bat | 92 +++++++ out/production/resources/plugin.yml | 14 + out/production/resources/settings.yml | 33 +++ settings.gradle | 1 + .../io/github/adrianvic/regions/Config.java | 61 +++++ .../github/adrianvic/regions/DataShifter.java | 4 + .../adrianvic/regions/PlaceListener.java | 33 +++ .../io/github/adrianvic/regions/Regions.java | 25 ++ .../github/adrianvic/regions/Validator.java | 38 +++ .../regions/commands/ListPolicies.java | 31 +++ .../regions/commands/PolicyInfo.java | 51 ++++ .../regions/policy/LocationPolicy.java | 65 +++++ .../regions/policy/PermissionPolicy.java | 7 + .../regions/policy/PlayerNamePolicy.java | 7 + .../adrianvic/regions/policy/PolicyNode.java | 32 +++ src/main/resources/plugin.yml | 14 + src/main/resources/settings.yml | 33 +++ 61 files changed, 928 insertions(+) create mode 100644 .gradle/8.8/checksums/checksums.lock create mode 100644 .gradle/8.8/checksums/md5-checksums.bin create mode 100644 .gradle/8.8/checksums/sha1-checksums.bin create mode 100644 .gradle/8.8/dependencies-accessors/gc.properties create mode 100644 .gradle/8.8/executionHistory/executionHistory.bin create mode 100644 .gradle/8.8/executionHistory/executionHistory.lock create mode 100644 .gradle/8.8/fileChanges/last-build.bin create mode 100644 .gradle/8.8/fileHashes/fileHashes.bin create mode 100644 .gradle/8.8/fileHashes/fileHashes.lock create mode 100644 .gradle/8.8/fileHashes/resourceHashesCache.bin create mode 100644 .gradle/8.8/gc.properties create mode 100644 .gradle/buildOutputCleanup/buildOutputCleanup.lock create mode 100644 .gradle/buildOutputCleanup/cache.properties create mode 100644 .gradle/buildOutputCleanup/outputFiles.bin create mode 100644 .gradle/file-system.probe create mode 100644 .gradle/vcs-1/gc.properties create mode 100644 .idea/.gitignore create mode 100644 .idea/artifacts/regions_jar.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/modules/regions.main.iml create mode 100644 .idea/vcs.xml create mode 100644 build.gradle create mode 100644 build/classes/java/main/io/github/adrianvic/regions/Config.class create mode 100644 build/classes/java/main/io/github/adrianvic/regions/DataShifter.class create mode 100644 build/classes/java/main/io/github/adrianvic/regions/PlaceListener.class create mode 100644 build/classes/java/main/io/github/adrianvic/regions/Regions.class create mode 100644 build/classes/java/main/io/github/adrianvic/regions/Validator.class create mode 100644 build/classes/java/main/io/github/adrianvic/regions/commands/ListPolicies.class create mode 100644 build/classes/java/main/io/github/adrianvic/regions/commands/PolicyInfo.class create mode 100644 build/classes/java/main/io/github/adrianvic/regions/policy/LocationPolicy.class create mode 100644 build/classes/java/main/io/github/adrianvic/regions/policy/PermissionPolicy.class create mode 100644 build/classes/java/main/io/github/adrianvic/regions/policy/PlayerNamePolicy.class create mode 100644 build/classes/java/main/io/github/adrianvic/regions/policy/PolicyNode.class create mode 100644 build/resources/main/plugin.yml create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/PlaceListener.class.uniqueId1 create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/Regions.class.uniqueId0 create mode 100644 build/tmp/compileJava/previous-compilation-data.bin create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 out/production/resources/plugin.yml create mode 100644 out/production/resources/settings.yml create mode 100644 settings.gradle create mode 100644 src/main/java/io/github/adrianvic/regions/Config.java create mode 100644 src/main/java/io/github/adrianvic/regions/DataShifter.java create mode 100644 src/main/java/io/github/adrianvic/regions/PlaceListener.java create mode 100644 src/main/java/io/github/adrianvic/regions/Regions.java create mode 100644 src/main/java/io/github/adrianvic/regions/Validator.java create mode 100644 src/main/java/io/github/adrianvic/regions/commands/ListPolicies.java create mode 100644 src/main/java/io/github/adrianvic/regions/commands/PolicyInfo.java create mode 100644 src/main/java/io/github/adrianvic/regions/policy/LocationPolicy.java create mode 100644 src/main/java/io/github/adrianvic/regions/policy/PermissionPolicy.java create mode 100644 src/main/java/io/github/adrianvic/regions/policy/PlayerNamePolicy.java create mode 100644 src/main/java/io/github/adrianvic/regions/policy/PolicyNode.java create mode 100644 src/main/resources/plugin.yml create mode 100644 src/main/resources/settings.yml diff --git a/.gradle/8.8/checksums/checksums.lock b/.gradle/8.8/checksums/checksums.lock new file mode 100644 index 0000000000000000000000000000000000000000..38929136ddde278200b11996312f82411872ce20 GIT binary patch literal 17 VcmZR+yu1NQ&` literal 0 HcmV?d00001 diff --git a/.gradle/8.8/checksums/md5-checksums.bin b/.gradle/8.8/checksums/md5-checksums.bin new file mode 100644 index 0000000000000000000000000000000000000000..95a682b2271f43ea6bd2ec02ec7d1a37aed5fd23 GIT binary patch literal 24547 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 AWB>pF literal 0 HcmV?d00001 diff --git a/.gradle/8.8/dependencies-accessors/gc.properties b/.gradle/8.8/dependencies-accessors/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/8.8/executionHistory/executionHistory.bin b/.gradle/8.8/executionHistory/executionHistory.bin new file mode 100644 index 0000000000000000000000000000000000000000..99e11918a5ec04d13d799e0385d10490eac42680 GIT binary patch literal 59640 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 literal 0 HcmV?d00001 diff --git a/.gradle/8.8/executionHistory/executionHistory.lock b/.gradle/8.8/executionHistory/executionHistory.lock new file mode 100644 index 0000000000000000000000000000000000000000..f69dcd5192f2d6e8eef4575d17d2e752c9504060 GIT binary patch literal 17 TcmZQ}R?d4=#dai;0RrR!DB%Nk literal 0 HcmV?d00001 diff --git a/.gradle/8.8/fileChanges/last-build.bin b/.gradle/8.8/fileChanges/last-build.bin new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/.gradle/8.8/fileHashes/fileHashes.bin b/.gradle/8.8/fileHashes/fileHashes.bin new file mode 100644 index 0000000000000000000000000000000000000000..d26d2d236a501140a9580c402f8dd374524e22d3 GIT binary patch literal 19747 zcmZ=^V2}{_4+RVeAc|m)vPMH-Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!n zMnhmU1V%$(Gz3ONU^E0qLtr!nhD!*9GB7Z3K|CX&!vtdRmoqRJ@GvkiNOrr=OME+5 z?i@&zfx&w+bo$_bZ)^Gn=g#@z5OI&|F!4UK0~dVs?R_EQp1Cmb$>#a$YbylUAmSd5 zF!7mdn%}+3o3IBW?llu8zVN6sli00}6%cXnM40%BMPa=D3o-*C;$DAY;=6B!6gDcI z-wP45OJ^5F!6H>7GL{fV*C#x?r9AZ|Jm+s$lj8o3K93|g^9Ck zr^?Ej!C5yG0&{hP)ELw3TsvIKj{T(KrS|7`~X8N8Qh`1*wOuXpG zH0u+ug(gA7y^q4g%Pmc6SIqDI01@}u4->CrW4NMtJ2@9Bt_c%|(F_bsnGm^Aax?@+ zLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!nMnhmU1V%$( zGz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!n zMniyFAz;kFz@W*%z@P}i0>92>X z!+O@T!>!?G3-`u!u1SpKy^NxR;qp-i1_pE;_7Ok2x;VDq@iE`EAR^)liVjxUMob-w zlIPFlR8*-*PBB<{2z&>YS_=TzCvTvK3riPu1_mh^Zb-(PVLv%D~L3D7Z zVd^;ls>D1ocmr>Hu=A0ZwJxtAI_fq-bgTsJb3hBLTWx#?i(|tkZ=>|Jg z=7`*R90k&G->a1u;t$4XOgjS8E#DtpIyWzRda4)ODxFNQj^N+W{V7Z)m^vhMc3HXo zxshjeMtNTT^N0$tju8I45IdM9F?B>UH{5Ld|ITQ~HTUpk5}9YAIzB>m+{D!JV4M5r z7ea2<9MOL{4i@r&^Wgmu0Y`|AFM^mlSQg~|*121;#=m@J@J>JJMvxu1*T+HA6+;S< zI?hKYLF~Y$L(6HF;kk5gj=vAOrfb<;_XF8+-(xd0tQedz?Wjy$P!tf-9)7dY^hx6c zNg1#X_aKmuLDqo$gBFAOcKiG?O1*yDSF~+7)-iVtSVw^DEs$~s21YFLQ7drBe9|ZX Wcs9jdf!l1o5}`UyL3LPxTm=9$o`P}! literal 0 HcmV?d00001 diff --git a/.gradle/8.8/fileHashes/fileHashes.lock b/.gradle/8.8/fileHashes/fileHashes.lock new file mode 100644 index 0000000000000000000000000000000000000000..06ab1a1815f8796622e3ecd3cefde858fe189bf7 GIT binary patch literal 17 UcmZR+JNcU6?~;Z63=m)q06&feH2?qr literal 0 HcmV?d00001 diff --git a/.gradle/8.8/fileHashes/resourceHashesCache.bin b/.gradle/8.8/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000000000000000000000000000000000000..772a42695209f4c7726a85fc7dcd3d67fb42963f GIT binary patch literal 18701 zcmZ=^V2}{_4+RVeAc|m)vPMH-Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!n zMnhmU1V%$(Gz3ONU^E0qLtr!nhD!*9GB7Z3K|CX&!vtdRmoqRJ@GvkiuuWr}di5XY z4`Yxh1A~Vnbo$``%J^N618;1b0~J3B6W?UI=A_EgIe(zy%VFX_pUW?2)sygminqeV zMYc7k2p-+(3l)D26A%1ZxGLhv139R8GE5vsGcYhLgvgDOqaiRF0;3@?8UmvsFd71* zAut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@? z8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd72LApqJ0 zAj!bMAPB+&i;w6mleqG6VNQ8QqI)3wG6n_)IaC#%e!rjTWli$?v$8l(esy~crV7TQ zY_+zJHom9JH=JAcDOC(p#lbzEDzBnXn8tJb;`o`i_#38*3loLkN=>oeZTRMh-(3C2 aDwrxVS}z`ZG(Wvc{p)V=-d8>8AQb=^?UpqF literal 0 HcmV?d00001 diff --git a/.gradle/8.8/gc.properties b/.gradle/8.8/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 0000000000000000000000000000000000000000..d49b8d6cef3e7d6d496ed546baca6b7808d7f965 GIT binary patch literal 17 TcmZQRZ5{67n;>?C0RmhAC|?6` literal 0 HcmV?d00001 diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 0000000..44a92ec --- /dev/null +++ b/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Mon Dec 01 17:53:37 BRT 2025 +gradle.version=8.8 diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 0000000000000000000000000000000000000000..83af39495d675a3147e0073a614e5e086cda1f24 GIT binary patch literal 19001 zcmZ=^V2}{_4+RVeAc|m)vPMH-Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!n zMnhmU1V%$(Gz3ONU^E0qLtr!nhD!*9GB7Z3K|CX&!vtdRmoqRJ@Gvki$n=>VxZtC2 z?+X%TVDNB+P9OYV$Wy;|(t|`@h`8r;nE0wnp$dziBCJsHk1+9F4|c?Vm5VwI5%=hX ziJx1r_}Ui}<9|@`$1w4?dJN^A)A?UQ#68c##J@f|oYA(VH4Q4h5+?pVEdME&z^uyO=0S+KM>$NKjbmN@+AWg>AmX0vFmZP6RI^Kh zVlfbLkF_vyo`QLIel$hAhlqQr!^HVQd}8l^;)#cddwhk73qKM1m9X@}2Z*>AGfZ6M z--j2gd8N)k#662);!0Zno%6#DmO#Wk_QS-rBs&97UlUpk5%=_miR*-V*(psfQ-q2q z!o)2e|9EhcW7ctqxJNKd+&Ok;w#3xUhEVZTn0Supk6UiLB40tpFT%ugZ|N?a)AB+e zBJODm6EA$Z`{Ir#^SB}69 + + $USER_HOME$/Desktop/regionstestserver/plugins/ + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b86273d --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..f2c1963 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..5cd9a10 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..3312386 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/regions.main.iml b/.idea/modules/regions.main.iml new file mode 100644 index 0000000..bbeeb3e --- /dev/null +++ b/.idea/modules/regions.main.iml @@ -0,0 +1,14 @@ + + + + + + + PAPER + ADVENTURE + + 1 + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..36427d7 --- /dev/null +++ b/build.gradle @@ -0,0 +1,55 @@ +plugins { + id 'java' + id("xyz.jpenilla.run-paper") version "2.3.1" +} + +group = 'io.github.adrianvic' +version = '1.0-SNAPSHOT' + +repositories { + mavenCentral() + maven { + name = "papermc-repo" + url = "https://repo.papermc.io/repository/maven-public/" + } +} + +dependencies { + compileOnly("io.papermc.paper:paper-api:1.21.10-R0.1-SNAPSHOT") +} + +tasks { + runServer { + // Configure the Minecraft version for our task. + // This is the only required configuration besides applying the plugin. + // Your plugin's jar (or shadowJar if present) will be used automatically. + minecraftVersion("1.21") + } +} + +def targetJavaVersion = 21 +java { + def javaVersion = JavaVersion.toVersion(targetJavaVersion) + sourceCompatibility = javaVersion + targetCompatibility = javaVersion + if (JavaVersion.current() < javaVersion) { + toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion) + } +} + +tasks.withType(JavaCompile).configureEach { + options.encoding = 'UTF-8' + + if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) { + options.release.set(targetJavaVersion) + } +} + +processResources { + def props = [version: version] + inputs.properties props + filteringCharset 'UTF-8' + filesMatching('plugin.yml') { + expand props + } +} diff --git a/build/classes/java/main/io/github/adrianvic/regions/Config.class b/build/classes/java/main/io/github/adrianvic/regions/Config.class new file mode 100644 index 0000000000000000000000000000000000000000..59a62c2b72d81bb007e63c604b346f14abdae80b GIT binary patch literal 2686 zcmX^0Z`VEs1_nolGA;%t24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00Sb_Nbc1|G1Y%zS;f%$!s%1}+9}b_O0E23`g}Mh4}~eEsyyl8n+M{lt`_ z%*4F1%w+wd)bz~!ykh+z2+hdAot|3anO9trn3tT&$e^yF=|hAzYmij}JPd*iLW~T& z>8T|yi6x0{`8g@6MT`sr8k#=H&a&oU5MgBCDNZdZ$;?YH)~n3T;bLHC5Ci#BoRL9U z164JI2ljVxNl|8Ay0vB)Cxaw|6gz`74}%PYEF*&wJ|{Zo=cQ$)GcvHGW#*(ZGVnpn zg9ec`$YyyS1_cI1Mh3Rjip=7YVsLOqfqbOQ!=S>T3UX^=S!z&faeiqLC{V4U7-k4((Xfj9^%%*CL_zzp(^77v3q zgAOAD8$=f)gP{+JMp=W*(&J&!XE0!7V9zfA*;>rVV5Ol+s!9G3z1Ca|MhwR63?@7b zrVM6`3}z%c2x<%?18+fMQE{qser|4R9w>aRHKHhRlNy5s4}&Fx6(a*nPJUtvBZD9` zK45VQiV7P>24Qfb14oi;MRF?GPh1Sv40b#W_Mi;KUr>~pR}x&3n4BF_l$e~#!QjZq zAQ+IJlbM{ETCC@jpA3#TP^dcdFt{+dGBR+br9<}!o; zC|UXPF!(X}GcpL|K)nMtH8ZuCkwE~{t!fN`JPbkLpe;@;O9gp7goh!NA&ilMxj3~1 zR31PyA^RCg1X3_rYld+#NHRo#jA8>hB8rD0njwaffg=-Mu&CfIRv=l#8e|GHBLin} zW_n&?Noi3kBZDi%Hn=Bk@S1})M6Khu}Ah9HakwFMaIW&bcGO(5<=9H$QNlC0|N&Gvswx} zgEb2SBSR3}gSiY$U=NCb+yilA0L+abH!(19Gw{LPB*wtXz`&r*z|Ek?z{jA&z|Ww| zAk3f-x0@fyZV@EA*%_GppjL-6gh9hLgn^lXnSp_U4`j8r&NhZ%t!)h9h*;tS%Nj9o zG8i-PGMIoZQ2>kaL5*f$;A6;U$N_tmk0F;KkAaDSks+Um3IM7*p}PP8 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/io/github/adrianvic/regions/DataShifter.class b/build/classes/java/main/io/github/adrianvic/regions/DataShifter.class new file mode 100644 index 0000000000000000000000000000000000000000..f0ff7bc41f5fa4a4d91b4fb827bc5d1bb04d1dc4 GIT binary patch literal 314 zcmX^0Z`VEs1_nn40WJn624;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00Sb_Nbc2KCH*{q)R|jM60i#FV1U#JsZ1Wc{Ml^vwLcVttpylEmPQ%(Rl! zB1Q%l=lqmZMh1SL%)C^;(%hufqL9R-oK!{zA)ox@#GJ6iqD&AUD#%ijky*^hpy@-T z`PPgKT*3LJMaijdnIJ<2knGk2d4xfcft`Vg0R$Ks7(qT{U}WHAU|`T^0Pz_ZShcn@ sFm7aEU|?e4VqjokV_;-pU|?q8W?*380kc^dco=vY7#J8C_`s_80bfc;g#Z8m literal 0 HcmV?d00001 diff --git a/build/classes/java/main/io/github/adrianvic/regions/PlaceListener.class b/build/classes/java/main/io/github/adrianvic/regions/PlaceListener.class new file mode 100644 index 0000000000000000000000000000000000000000..4f97ea6a988b7d23945822fb93dc73b781794bf2 GIT binary patch literal 2072 zcmX^0Z`VEs1_nolP%Z{024;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00Sb_Nbc2Gz`b{q)R|jM60i#FV1U#JsZ1Wc{Ml^vwLcV*RkhoXnKOlKdhr z26hH!P6loU9(D#^9tJ)JentjOd^!Vi5|dMXGK))6^HPf#8JNowa~K)aeeh|4TV~D0 zAjlxZ&LGUgAi^NZ$e@;Al&+stnw_0lqMurpnpdKql#`#Ft?vXPor+Quvt2==j0~LV zsU-n9iIpH5Wi&K>koD!2WR_IwLu9Q%-Vx_vkYJExWDw6R_9)Fw%*)SAaZJid4axUN zEGkPaE@5O)(!gQ@SgkAAG;7T$kV~a`7-Se^85wwrQ%jr^^O93@a#B+m8CW!;G{d+U z219lRBOV501`|dGLnN0# zVlNdOdisz+bVMh0z^P=*8@)`V}Z8OF%K z3Rb|#K(r=C23~N=@l7m%I$AQQG_NExH#ID?I5R0H)iEzGza+5)R1h#S$fINhaM*z3 z$|Er^B`3AWnvp>$KM$6EGxPJnl8g)nSe%19$%8$ji)j-c9gGap`FW7E07)=tDaj0r z0|=!*uroN4!C4uUlNqBJ8Q36hKo1Cv#AeONV2tSjf;KWTa0Ta=7A2>;WrEWbO485+ zmE#PG4BQM%42%rc42%p6pc0sYfq{jA5meMOFf!OOFfiCLFoWd;w6-%aYVBrVkKE3{ zxs`!yBLf2i6N4QC0|TgnU|`^8U}4~4uxDUk;DM-TaA0s`U|?WmaAI&~U;>+!%fQUQ z#K6EHp{=!rflGTEgTOWhu~`i4EXx^Kn71)Vfy`t^GE;y-oIwz5rWiyY)Jz5j2?iGi zR|ZA~HwFdTqC!QL1i0*7Q#V#2nX>oFf%YPh%&GlR-}R0E4M7D6n+4 zF_^;~W~VK?jll}xHX*P+83sWHSq3ErIRygDitG4}%IQ6|m&wC#G;Ps4+6|BMW81xwo*cl9Y7>pQ<85tCiA_b}m)iOo~?&8!E*NW8S(vtilMh111D1m8# zx(uewS~HA;!IY7KC$|V329=q4Y5D97=8O#bM7bL5;!4lFw0tfGGmx7(7_4|0tQl+| znE(4lUQ7g8hX%F0S;nBRI4!L!T_$| z{L-T2RJTl!i+G^odLUmg7&34$Ffo7t3j-sl>|tPJuw`Ii&}U#|U}RumVAa~rz_^it zfq{v^j)8%J4J^pcV9&t7zyoHpGB_|eGB7YOGB|-{L7K}Mn89+kTH6@dcQWuYGVEp$ zj@-^5s z)ZAi522md@c35*V2r>w@q zgeyo`j)y@WS=hrLEUd`Gpac@;3GxpKarKLL^KlLK;AT)^P-SOO<6%%|&|qYcMRHPV zUP)$2rM^dLZepG*n9az*lb%}QnOByYSCU^;$;hCgq3MI9BNHa0ACQw+nOX!_Y0b@` z#h}g3pu@wU%b>@|phAo$Mg~EUZ6&F>o_W5BnRy_1tSA@W-&-F zIF&FmNN6Aj09=D+6eu38co?if@yL;!pI4HYnODrsV9Q{~&S1~O;K1O>$RL5_GH7T+ z0*;Y^J3Y0;CqFr{Br`t`!(A{5Yc2+71{Zb)R~`m826xnC2UEkyz>%I>5}sd_lfuX# zg6co8s5Li(CxaI|gEtR@4}&iwg8-7FzzP@{M2ky`GP6^CGSf3k@-p+%UDMLQ8PE#F z^DrB&QPKp|UvRy_V56)#82lL-OapRK6N^(7^72bk6-qJ^OB5>eOBE7}z#PescqAdB+Stu@0K z890M8)AJHbN{dn%8FV0-3AK!{!5WEn){G1+&iN^+j12rfnR%&xrMXF|MInhvIjM{c zLLl$vge4Ybg7{ED7LY3$8Pt7q!}f z1}3nZg|)PIGAJ`L>}1enWZ1@_zm36k4crPguy!%9QDP9~P@@n?|4GwYu literal 0 HcmV?d00001 diff --git a/build/classes/java/main/io/github/adrianvic/regions/commands/ListPolicies.class b/build/classes/java/main/io/github/adrianvic/regions/commands/ListPolicies.class new file mode 100644 index 0000000000000000000000000000000000000000..aaa4fe50faa98ad7a185db0f09bdd836aedacfaf GIT binary patch literal 3662 zcmX^0Z`VEs1_nol30w?J49x5dEIbUX3~Y=H0$GV=iTXK-dFlH8Nm;4MC5#MgHko;u zC3cJq%o>_u>5L5A>8T~2dBr7(dC94a3~Cyh zK7@5ygDeu{VGv>vW@HdfPc8AuPfje!%+CwR&&f>AOf6<)5Yo`}K{ylSLThdYQ3f$~ z25}w+2?j|<20m12Mh1?|lGLKalKdh@1~C-fo=|aXZU$)v8FmI)9tJrEc}4~ygb6Su zj124l~RDay=C2YX$che3xymyv-vF(rkOK~w`0JjjmFjN)L> zXJlZ~QQ%@QWH4f9Fy>(}VK7BW6%Yd%8CbINGxHc39FUE1&PXf@PAx1=%}Y+TMlv28 zI7vCF*3c*c+X*qqT8M#x!JLP|g29rJK|D7xJJmTqFFCO!JhLRjIUk%XN{T_r0?9b2 zPArCTGgvd&urt{5FxWBJGcqXT7p3bbm1bvWmgpzv=jJBnrRY0D=-|}6l++?d2JYh2 zycFNm;^M^gRJ1^WSrZ0IH;z0EPN2lbl%K}V;6fm(pmr7OgOVLANwPDzF)}FOc9CmE zYI12wei1u^2P1<#7Ih(sNzVDX1v#lDAcwO!=clAHGVuFk=B4_T<|d^Ug(N2Bq%txH zfl^3LSYlBohz}KHDaptzW@IqNo42q!+nSMqGd~X+YK#nN8a`N@29<^csx=-J$f*Jv zzR_4>Hj0sfv4D_sv1SNsMh0G}KOnAQWKhE69*7!iMh14MCPoGsJj$&Z85luj3#OA9 z8Q6=#S*@6nK^Tjd7#UcKic5+Z83Z7D!G$L%c~~P2c+Ccco*~bp# z;oy?Q0;o3mpwhgO%-mGZyt2&V%%q&ukjjEo$Gp7!5^xz=%*db&_G4CRNm5Z_ zW?r#=B0^H%FTcdEG$+TJkwFFBoPfll#9UDFLotjuKMyHsGBT9XC5b?S0y!8tgEQ0f z5=%;pQW+UK2f__FqDLA%7*Rq`1z%K@=H!4fu{9$DS8#r5QF5wVCMb&wf)Wm_T+stn zLW~RoPWkyI#U(|F1-_{z8Tl#291J;(3`~rA{A>()TnzaP1?&ukpmMf|kwFEd1yadp z=9T4Vr|LuUBBbbbOH3}wFREl@n1NijLlr^{_eji3$w@6%@yXB6E-k>4sUfigPN*mv zK`9Z7a^wsHX?CDg6;LCb6LWHcGfPsf85wvy^YT)QoO2S3i&Kl)8A=%$R5AR7&8h4R z<%|q+_?0p;utEIA$RMbqqEeJvkY5DO5-KVx28;|W8lIYAJPef#Ra^|t4AqPbc8*2q zrManjB?@WzMG6kk{G(6+%Pb1&s>SLG`DqHO#d@m63c01lB?@`@B??KY3VEeDIUEeN z91KAm3?Up0VH^w*91JcT41OF8NsJ6^Y57IDi6x8-mdFtSi7IOXK?YUD!_dai4yw#M z7#Wlh-uBGNNlj18fjQi@B004H)O=!R=mNC^?YS7b8G6tPGHAT8GxRYiGB`6ZF)%T> zGPpA^Ft9K%g4&J@j0~O(3=H}Vj0}tn3=FJV+Zh-)GB7YOF?caBFtC9I`5C+!7#MiK zY*q#z244mS21W)y27d--kY+|<24)5h1_p*g?c)sW%sUurbdEEyv+Q7~(LK(<&bou4 zMv~S5ZK8e!pLC7CdsywL5h)KCWAbPrNGE=fI-EI zU6NIjeH(+?P6jO|hVbS8?`jL_NwV%>FxbUl#=x+X!HS82WewOLaSRL$0t{>%?CczW z8ARC`*x4DRRl&}eVqjxXWDsW1Vh~~QWe{bEVi049We{h`XOIAU$%BEN!Iy!TA%G!} zfgR)lsOK0M3K@bJg25gxWC&phWnco!hB1UQFoRhU43P{h3|b8C3{ecx46F<>&;Wvn z#4@ll#4|83s57vNF)%PBFffQQLMSE(#S98-kT5ft&ydK#z#s{VkpytiVvPrAeb<)f}IM9SCFG&URQ^EU7Z2ub#(@a*Hgf0B$Xizno80c7{FfEWndFwU`S_R zpoYfVuavNJlaYH3Tnb5RPOPY7Ab^z#Yjf)D*m&fjN>zs5uyHB!eErNN|Dxv5~PE0|O}a zL2x9iPz%@$R-smq89Nv{cQbTH#cyZm-4BjNP^cF%aQtU5VPIrrU}9%5WM}CA&%jP5 u&zMMk49pD03=9lh42%pV3}p-z43Z2P;MmG!$YNk%;9y{6$Yo$;$OZresk;XN literal 0 HcmV?d00001 diff --git a/build/classes/java/main/io/github/adrianvic/regions/commands/PolicyInfo.class b/build/classes/java/main/io/github/adrianvic/regions/commands/PolicyInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..f818aa9407cf125275d160d71b478ef0d00fdf13 GIT binary patch literal 4746 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 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/io/github/adrianvic/regions/policy/PermissionPolicy.class b/build/classes/java/main/io/github/adrianvic/regions/policy/PermissionPolicy.class new file mode 100644 index 0000000000000000000000000000000000000000..21775d77a53d3f3dc1b8cb2444c1d7bbe291c8ad GIT binary patch literal 2471 zcmX^0Z`VEs1_nol04@e524;2!79Ivx1~x_pfvm)`ME#t^ymbAb)a3l46h;O%o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3V^%zXXy%#w`KB>lvcqRhm+vdm=tqSW-v{JdiQ zg8ZD!ryCHW9HGBS8-5M=}0^$>4c zYeIYg4qJ#()*uVyco^gv6c`yeG7^h3obyvs85u0dw7?T&o)Qm(GJ^^u16yigX<|+> zBZC)trXji3KPf9Uxx`vCijjdcI5Ryjv81#pm65>;q69TcY<%*I()E){v$Hcx^pRo^ zDH&MXSu-+3X+U%%2M0t1)jVsW!Wt2qQJP_l3@ngvOcZT#T*QF zj0_5(0?HaG^;(0=7HfFvz|Y9Q&dO+DJY7rv?XA;bAMuv^ZA)lF7mYDz}7#Qjpm>5_=1-aIC z21YIItqkm1I$IfdwRE>K2x^J4Y-JGL$iTqB%%I7@z`(}9$iTqB&Y;D>z+eK=#h}fg z!vF$OVB10RQegW*Zju7q%nULeRDUqAFz7NcFz|p)0jW}BU}Df?U|{LSrMzB_Ptz8U~3=A8<{zG>c#B_G3y962J89>@V zJ_XSr_kpy_GBB(mO1mlvcqRhm+vdm=tqSW-v{JdiQ zg8ZD!=M8HlvJ=8 zVmu7u3=)hCoQXL(`QRU%9xLu6`@j$4B{};(Bg=ZK^waaR(~)u7;0#e=ozq+qZk>ug7Zs@ zl2hF>L9r={UXbX4iVsExHdsL=;FO; z^D{EA^D{E=@-s3B@-s4s^0P6xa51=B4DM7OVK==VzA|SVJ-Za#SISKsAO`7NokQ z7AF^F7L?={A!~8YNh~f#7Jz2AXiP(pZAU4GAil6>WZ?14%S$Z+8<|?n&fvqypo;J_ z)G5fO!2H0@;K#@yhhHfp0~^G{42BFG3``6R3@i*npz4Exfk6mV)H5(Ls4_4xFfphx z2!YCSu(&vb1Oo#D2LmGmD}y=%GlK>L14A7H69X%#P}bVcz^J9Ym4RJLXDb7*mhM&t zK`l|1tqh_Y85kIt88jIf7}yvX85kJY8MGJ}7)&6#7_=F57(hS@Y&%F^3T!{fO;TW+ znL(z5>H-E923-aQ1|F~}AXRD%ObmJq3=D!S4BQM14EziX48jZy4B`w7P{->t2r@`B z7%(t`oodLy2-eE3wTnTLfnfvKf9URln9dG$mmq^Y14tXlryv^SK9F`<28K06X;)@2 zg4%AwzyuCx4lV6n42rn)i$T;ttp^3RF@p)%-P~}0=!5wT46IsP7})Xof)#2EBLhE! zDFYKY5Rf(V5~CTC49pl98H5?kp?*O&M35Lm7#YMFEU;)6#TSY&=d&C+W8h%0Ww2*(U~pt`V(?;MVBlh4WbkJ2 JW$lvcqRhm+vdm=tqSW-v{JdiQ zg8ZD!*ySTk7Av8X7q5+uXLAjrVX%^=Dk#?Bzl!yv&R$;iNm zPzO@N$iR_Vl3J8ll3&EgAf};-WVR<%+?ty~nn8x0L6(O>jzON0K?q?2ObH_cdq!fh zUus1OI6$I6Iuv;rlo*s58Cdeb!XhxU!NKUCl$Dwca=9ua124in-^2oL1{DT%9tI5t zO-2Te)Vz|S%HY%zMg~EccCZhFQ%kJ58MHzE(m^pGIJJbGK@TM~d=m>)TtVh=Gw3oH z@GuyH9L1KNTH>8r$Skx7%UmA7#WxoQ&Jci zL^U9Rh3p~CC@uyL1{+Yiv1MdXMOFbZ+Zv(=>h#2tf6rSb`Hc4Ymm{-JPa-ju8a&E8HvRi&fo-RM6%JIAd}pA7(5s}85!78 z3riDoiWwPPNHquId9VwiDL^xdk%2QfGd(Y{q_ilNkwFEb1Rg#%5I$H7)KhlWj0`Lg zkMR3s=B4_T<|d^Ug(N2BfHP5ka$-(cVo@fD4;5r7$;d2bWY8xuKp7dtd{9iQEJ%f# zDBzn~l98VhkXV$Mn_7}uRLsa=NjS2xdPXyhk%6lqv8Xr|R2mdBGAKa}f`n0tuU=Z>Tg>=q=x zZ(;$F=73z_h@=x@5^1>&WCm|=Nn&!gZ(;#BRj@N;pcEz$?=muUp~olGl_YxJ4kH=Z zkeHr9PDU+;p*ad%XnQg;2%!|Rpir@9WKhEpgt{Lbr%)3>Mso${mlh?bx@Cg$AwQym z(*u?7j0|kBs#CxzKfk27q$sffl8K5r7>XGgxIvYmHKdN?XJlaKXJp{zXJaVmVyIxK zWM`=2VW?)PVPud883w6}i%RoKGILY)A>j-)i;;md31&Pa!$xS(gPoe0SC*fhst-}< zk(if~lUl6elb@emS^!PVU}aDrL6Qep1gbHlvLMwZwK%ybv!Eou2w97BPGWH}vH;YK zXiP(pZHGlD*b;~@tQi@2JoEBWi@-*Lavv+W?qX+XU}R85_#NsbWYb`NVP|M!WRSzJ zl#ziA;&BE;1`Y-$1_lNu1|d-6g@J)V2-MtQU}W$Di+VG#GcYo+GT1UOGx#ttFvNpe zMhpxL{94-?7`3#wGO%muY-Qlx$iTqB%;3wwz`(}9$iTqB&fv$uz@Wgu3{uMA&k(=> z0{mbrK=S-xOPCk}85kINz&b!8-V96(K@1EGoJrMuJkZL0>xoCMg}VmNsfaIMl%`2B{>c-7+G;j zvP*LAWH4u92w%?N1(Fk;$>0Q%6Sd-!8|_VQ^*O zV+ds6XNY1DU`S>VVklw|W~gTnVd!HJWmv@^#;}t?oZ&EoB*QTVX@(mNG7PsFWEt); z$bloJfPtH#h=G?OjDd%NlVK+V7nsG%u!=#FA)FzCfrp`w!Ga-@L4bjaA&{XR9A#__ zQ4Dq9C}U?xW+-KdVu)biU~pxa%n;2G!@$a*#ITbgmLU!t-47Vz83Y&@7&sViFeESt zFff86*^Yq?YHlI}7t}OR+Jcyo1UDlYZbk~+j8q0jhBO8ShHwUszYP5B45I7|(tjD` z*%?&W8KnO+_=DQsq7Y$-7(0V5JA)BeB%OibAA>jpm@TdSgMsNkg9xZ;4^_{=@QZ;7 zn#eL41Q{F{vKSaaiHyOJff1Z8*|l~t*fB7G;(`er7sv@5l62Xj30#oDg&`Y@b|(gg zHQ>yIotK!^ptTkORqS49J>!iO~!xG;$eO81leA&SxlKU|;~blbeADoTWht0;0;Bp^$-r qfscWap^SlrfrFulp@gB7p%z>OF)`>es4&#AaWd31G%_?ZNCE(B<4V2& literal 0 HcmV?d00001 diff --git a/build/resources/main/plugin.yml b/build/resources/main/plugin.yml new file mode 100644 index 0000000..612eeed --- /dev/null +++ b/build/resources/main/plugin.yml @@ -0,0 +1,4 @@ +name: regions +version: '1.0-SNAPSHOT' +main: io.github.adrianvic.regions.Regions +api-version: '1.21' diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/PlaceListener.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/PlaceListener.class.uniqueId1 new file mode 100644 index 0000000000000000000000000000000000000000..816f2dfa688d5164a19b80654d8d40c0c2e119bf GIT binary patch literal 1007 zcmX^0Z`VEs1_nn46)pxQ24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SE(Q(;PId+^9tLg(9!3VW{GxRIq|)r{%o6?7vedj1{iK}y5b0Eu znwaeh5@lrIDNZeMPRvVA&B;kkVPs&@hyt0#2QrJFk-;J}U%w!+Ahjqr8A3x1E67Q# zOfAw6C`t_gvm8rG5|guC^GY&HD!~S`GYB#=XlCZ?r)QRAlqTsXrW9o+=9Oh8>ldY_ zXXfV>>j&f{Ca3yj7MG;vr53R>2s1KBVz?P5&B(ywoS%})$iVNDnV0HUnwykb6q1;f zlgh{-P0@9*KD=IjKd~j0`gQ zdAOs1k-=626aZw!AJ{)uECK&rJ_wlT0Hbc6B}NFOT$FW3Yzh$^TFAk(E8WEdD3WI=iv h7#ZZi=E^fDU^AB&-CRKiRt6!Q<|<;Cs|5CyG5`-2|3?4- literal 0 HcmV?d00001 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/Regions.class.uniqueId0 b/build/tmp/compileJava/compileTransaction/stash-dir/Regions.class.uniqueId0 new file mode 100644 index 0000000000000000000000000000000000000000..fe7a51652e6e4deaef413483b59f22d5536160a9 GIT binary patch literal 793 zcmX^0Z`VEs1_nn4RW1f524;2!79Ivx1~x_p#r&dl{iM?D?93AVf}GOy%sl<9#Ii(v zuf(#%05G4Cfz2i}FSEpsk%3u5GmMLYgMpKsfs2QMn}LUsK{+#DKRvS~qcllBF{LOo zF|RB$S-&VXJu^SASU(6tGcs_drl+8G%*^YdIXiy>^T;QZ2}1+Qz`XlYy6!VK;+tF%nS(QK*^PXfs;Xu gfeXn#K(qqkcb%yrDyp){OB1Q&A1_ljRO(!iUZ9N@569RuHYv&{~w5 zn5_m@XW(k+YUE_>V&ZD5XQroO&d{EkSCUy$$z{RN24+|?v?b;yrl(plG*wza^jP~S z^MExoFf#HoFxUj!>Pd0gF|?%?m8BMeh3tJD0vz=uxfGm0j!I023Nth?AOSe%A*ZvR zi=L~Vo1QyEOI~V;2SZzSWqwhnCqsLFK}lwQo)<$~Sz=CUsy9P#L1J=tVtT4>W?ovp zz}jnn)n_npiz2s=$^T{?fT865rl22*^KXmuOz%V_VA5k)NCh3RHnq5mnYSjR`BCP8KMTbAI4a z=2jk3;Zdnqr6*O*(3+8&Q@~Zj(2|-{P|MJoUyzwx$IzabT#{c@DUhUa<=?HOKAom( z>=ri{Fy5;VYhcuCWYm*xVq|E|%FoT=YG!2UNChc2&J@_aZt{+eE2E?wlLQWMAM8Hc z!Wh=T*a}yWCQyEF>*ouz?4-T_7)gFpQascKQqT@pkRp&}rg5%D!r5Y-*$W#HzP=M3 zjLw~mDqV~L-Ha+djIO&8R0m zhmm1oaz<)$c4|>tQDSatd45s$Tt3jeLs8e9NX}f(cn^S>W!zDS1`J+Wb|0YsJEI?Zw;f~T1LHf zjC$_t85vr0Q{qiGFoFt?y!6!6jf@N}i3ORP7#UiVGZIU3IU%1Mb*w`ehgH^-1Mzz)3!_?Tk)47*%#M z2JK=D+0Cf8hf!}YquxG7z3Ban3_ZD-d6~JX#l?x~sRtMtT1pbr4>B@z7Nr*F=ai)u zaUEi0XiiK&42nFc$Pq?{_R`Fpl++@DEotYj%;8=Yg^{79vLIDJcG;45XYlVnTNw*mpIx13=OF{JkpZCqRTf@Bzck%f4```L(c85{#E~DN( zM!oxtdJh;GT9Wf~A2Kqur|0LV=cLYMe8kAm2`<5tN{hV(Zrt7P=a~HG^W=-^2?BA8 z|2$^&e8TAVlu_>)qn^}rMux7;JW#QdUsTEU0u-V}d5OuXFBus+VZs8_X3SCRxOH^S zfn_B-@4r?$`HC^*HKWQKMxVEgPPXqruFZQ7it*wSt}BcJi#$1-q%C&+5i2Teubx&W z{ejWvBPic}Vq|EC=rJw+EKiMqm4sQ?TVT=Vy?DFQC`~Wo@HOfiBBGBL6?y zT~-t~aJy(BC;FAq^&6w!cSgM*AW#2fWN1w<&d>YB$k3UYSCU$kmzcx#8x&y4Ii;ZV z5Piorl+EvP)xNWJ{L4>2toXy|^p{cPA7jve#()N zTbLNyQwvK|i%YnUFbZ_?=yhj!{w?V$nHa~tU$U{4$*GM=rJc#SgDIqw$*GIUubas= z%7TlFD*>dOcf%_t$F*%wE51Evk(?a7zlX`Gmnp1|$+MryX9APnL?*pSOnT24Co?g$ zmSv`vPhn!{NP;9^uF{u`Q<)fAGE>WsFbY&{aAQ=8IC*g|w~VD^H1E@COkoX-)0r3` z#hy``fW|>FU*CllK^r&QpVc~j(sBlq-b^OFSxkDfne^r`>CI)*lb#1wo|9QnoI0P0 zp*=CRBqOzG0TV+@aY5!nCWfx${JcDHTr6T@XwONk%r7nR7MQ-+ZQuQk()XI$b2gaH z3gTJJ%c`1|gGA5PfOpYs0q zPsvQo$xq(^vN9P|6>x22VrT=4ZDL|*g9uGxoWQt=NkC-JOsfOeHgcp*t@o=5@8;jk zguHwMTX`F|_A{nF1Rec!OtNxYM>r__U~} z%Z6pUK!LOy?CX;JBBK-mTmH*EqBG?_F|R&geEFzm?H;D!y-e==nDq8D=^bFwlRC)6 z(3K8qsDVnzLre@^#U(|h$t9&lsa%Jd7&;*`sVPU87&>7R0{j2jp0yNw{Nr46%7X7L znjelbc^+f(wLQ+n&{|rYnS6qYp(_t$45;Q6@U+Z&k$1IW!_M!ni#9fI{B@E^?-Y~X zX(qihOnPUT^rX*$0;wP|IV1Hv6GKN%etLRlUit+lhPIsibd#(FOx^-Q?Ilu^3;rMM zec3zrn$O?c7ny=DF{xZ;3d^~|#L${pnp47cm5HIXB(Wq_Kqu?PDy_Wx3gv%1yOZ9x zT)4)hcb!S^1}K_T3%v!7GF-dHeB4oCN_n=!my$%un@qk9jJKE=IulEZGAoQzk_FT> z59YF`o2FH`ZF+69++pKwCjUE3DtDQjdl~OBF?1y6618OA-Yh z8EM^-l$@Tqt1-YX&vml)b0(h`OrbBCLS8ZHy=KyT!=yKx@huZW7rbhm$H;Ys@f{OG zb8%{^z}am-g?CSJ$-Q*u#?|*WOMky-3jV;P@{uX{6O+$pCcQ6AdQ#?GUzr#>Gt)Cl z@-p+%zcDeil@w)Wr*eH~VrVPKOwTV7=!m(a*?!iK&%DI`n$EF?CqI~celofJVhVi4 z^qYyHvotX$Gc7Z<=noS^bAHiZCWekoP*s{!Ebw9F_LGlHEcZ;i#GNs_%RJ{FQ@HJa zP(&7itP%*@{iyKF{{yl8t^QH}o1$_Xn1dUc^_rOVqMMl++SBrjauZ9qT9`p?s+?4T z!80TGw3F>(r>wwC z&NnlY`42}@MbzZf2DpX6IgJl|JTxe&+BA%qkO^ zohLDeOlEeP!t6Jd*(pj7TwYCMW@ybX%1N2d%+Q=)%r%3Vp({VXC?zv5u_P5#i2r>r zzbf@h=s)$yOHH@0?K?7)*=-iH%4}wrIn0i8nf2x|>jlndX6Q*wDND>tP6auTYXLJu zH-fv6nV~(ixF9F7l4}t&Lo2A6BXD2rG>_6F9*bF-$JI<#knWF}|lCFZ6I{AfNEy3_M* zds@TBL~9!xi#5!?Ynh#|Gp=K1XwT2hP0UMK&&<%ASRn8z!8Us{tGaBS$%J2%uE^zW zVD{O_te3~Ni5ZecKrL&5Kf4ki&SG@DyKm;^)f}HU?b*y6w1wGuE3@ZQ#%;_DEhVYB z+rgelE7`%!(3VmF#B@S+m@K*7rj`>|_qu#jLlRSx;&YGeci;eqLE> zQ8C#0#aw%t8QO~Sa|=oYKBg{HlwBY3X)Tk?zla}($M!M%>}OUv!0dF8+366o-eG3F zm?O*#9ZC7c#Yu@pTt}H1TJnpFkAeJB#Kj}Pelz&1e2X>v+>VnyPn|oTA7^$x!K`NoEe$X;9Rrq$Ud-on3IHTy)pfw~pycHXJwQI>YR;k@+k$Lw9CTD!3?4 z%n?}dU#x+_=&5AJG{)=Aj)kYrG3$M2^cG;Xbd>wn&gg7%@Lc@!_PdGanLST1Utnfv z%}YtG5LkKP%<^wbrrMrNaMWv^;&%EXv-2fp-<-=Ji;IgZuP}qU83m~&0$R^59R0pv z>c^}$A+ETKY-g@A`(I-Ye#La1nW4Qj3DmK;!OYN~y35SaQBahhmYI{vb&r{$Ehn)uwdg)GLq}=_sJJc`n9|JQ^F)O8 z(Bb2!raiwJ=JSBr^)2H=kYh`VDg`8TW);pmSncpn@;9sg77yM>%zBTR^`0>6&1HJZ z%+Ok#SzP*znW42jvnbVDfc@=r!5tn!iyvM27i5%mcFJ>R&lk+WFPWWRG3&i%){{EL z%=HH3yX1`26uY;~pq5vjz=Q=XksE{~zTE5hdD-dS-ja9BdheO_PBVRAW@s-iNh|?1 z!VK~da+OKo(W#$SXHISkEPCxMdiNMRSQuK95{py0I$0RnbHG`>i-n=J zvLLm%n}wmdD7A+LR4eC|=HyuQvM{u#rh#fEfyWOeTOP%+@rT|O*`dg}-?ERzw}G*r zg`pc<(UY3W0?tQindzkv z=TBo{Xa%Q(=`0K_iMcs5SQvWq^APd^nXlaEmoI5oHPz~wz9)F=(U~k^4UDr`plv6U zOo6>}!S~Y}8Bf~mb}s8>U37gmi}M^7y?u;abHTm<^|}SD^%z%AezCAsl;eL3^QF`3 z^H`kbvxF^R@m$E_JAr8t$h0DG4;$2KJHjZiq^+aK+CkvXrrNi*tRMV8EoSjw!s5D= zMQ<64o>VGV+H#Pq(^88B8s04_cbm4FqtmW-H{aX`xhq)0R zi&g9e3D!f&N6Rl+?_Rl@#d!^j<60J%bu0nvS@brr=t*s4VdyDHEh+|&G9{;SZDL{Q zf^kcPH?uIbrz94Xq!!I(5$Ibu*EXXjknQG|b9;)q=df)7g~e8o>p^X7lQaQ&zX$3e z4H8AiHRWes`R>lOjU{M1OUMoum7OfkyI4YYv*_(%(R<9amxZAl-uo%$+Q-7slAoWG zz_pKMKMO-kX-=xZof*GA{vn*$)54#I6p5qNPn#!+(dMWy1(NV8zJ zOA8ONcphf)eag6qFZ_V4#M@LwEjNcQBAoFn_m>riEW#FtUq8d*c$P(F1tZrc zCV}D$W(}K#XPl0o$W-SOZPIv-B{=6i3qxB;VrEgXz|!{&4h@=7Zu4$)YUOKI23%kX zzR03-i6!_li{2F$y_l;Y>+(zUQn;?MFtmah*Fn~Tx(fm|dD6%97QNZwaEx~ehxX)u zH&`5RvV=t4Vqxfp4%uYp=XEj*D8}TN&8_{Hn>g!eh!FchJ~RmwWPEt?=1^MD`@mfV3}0h<_)P#0)Z?{QQARo)84T-y=PJRz~c6i z#rYG9-e(rQ=r1e`U1>RqCE&qLu7s~F44rV^5k`USoU0E7t^5}^G4)K_gADzT-&g{^ zvpD}?QTfT@{EH=cBlB+-hL+5f)IT8iBxZtIOI&|J?n%td`v=O*MI{3N%V&n%mzS#C z=J{=lQp^?c|19netj>+BdIy-enphcHGfMNan^_s4ZS(vh0f{*ZcV^#cZZF-`ohQmH zR@1`j(aP%C#v0tt8q&e4*U73EsLR#G%FvRTlX{iuC1W=$LtB1MN@|fnWMqS}&QdSQ z1^U-^Ox-#&x`#EOm({h8Rj;2_&us!LLr-c&VlJpLl$oE$HIbE}3&KsxNu9*X&{33M zkXlqyDZu`at9blc$wUUfwd9Rc{Kb-fX6+tPDNHm3hg@pw3D~iMIg5DFJrH zqSJFfJw357!Tj#lX{>J3S^Z|P>dj=;o5iXZIGdHByEr+&C^acRu_$E@D?>+KX>JlI z&gQZ*w1JuPKyC-M9|hc|1ZnB-Q~EHma+!3^#brhFS@jmM>dj$V$jZ>0nO9trn3Dr8 z>%9dsfAuf=8CTUAE1~fAsjHszBG%x=tSU=bgO{>~-m$ta__i^`zFYg2s9COSsmug35rBb*v0+ zpypGtfcGaU#|yp|diTZ7t=uB0e|$Zw>jqZmjjVc`SoJou>IH6LWoRo0wKuo2GW4c^ zhkc9lLHUSl8^~X|Nr@#7nFUNvT-?;#HG`X9d^X>Uy}}7^7zIu}GM%yeV?^ljm`f>F zvoADnXARlGsIhn1lv4cW))`kBe%3Zua4jT5YG9&fw8(_gdXhmpDEepbH& zta=Ao^$xM>Ngrlq=*mhhNh(Ur%qu>^%Fu&okQQ?tWo76n&B+0IU%=bQoxSmq`xJi% zRd$!&>a&&c1S@EqG#ji>i9IjmFsILz z{aL(!JZ3)QILWGaidFA4tKL4wUyNtK@lsTrTI4OTMsT@xUF7=%KU$;g51(cGaF*5o z9IO9%R+S5^!53K_53pWhWoRzQyvzzJ+Db}`xvsD>bd;qQ6=kNRUS(xy$;+t}`1HtZ zqlK}zD4)EM*ID&$u(VSV5oWb>om7ygu zIaPq$U1LtZBm2HI+2d~wE*-IX%o?2Y1mvRpa)Aw{2i7ln@UGY9aN0u;>(zx%S$&_e zIzMN1vwZus_G(!NnPd4)vE?KeC2= zVpaLf8uEqJX)B{1BqixW$4TS*V~{dt>D&MkjZ>KqIP#A!|>8Ef9n{y|dN*7y5H=An@TR<)7ThV@=H>=ri19bRDr}}e5K26?w?+i^KOgMZARr8Y`!zu z93L^wVq<76%FQo&#w76Tf>*-43zORo9_ZPr-f|(kC+y*F|_Aq=H-_bF9tiiBq#M5lfaClEMfYm z<_rGZb=o8E0K3l;Hm9X*;kMJ5mw^-&fr@|kH@!`_vrSC7Vr~Wmg~SvrXA4-t=C_i~ zZ55l|4@R!lYz(cLsW~ZY*g#WMnR)4JK{|6XlPd+Zf=)hMs(0bgnjdQ->&~vfy^hUi zJzH1<;|4b9;HD9mK=O70H=B}oA;M`apR87&eY26xe-oSQW;UNKY7_P+vZ|>Dl#5 zw_fX2n78U}OYoX_kj?iHo62D}=bR&K3|*l4DeyD_SFwO*&DHsNb}rv{*0}d}`sleI zWeeNGHkC=B#^e9=Q<;wIjddRU<1_1%IL79DoGm!#1RFzZa%oQXNpSi|%&9Cc5m;xj zVz%GqxBnixus$eV`>^K}o8M_Ry%o${JuCtOKBgDytp!xSOZxndzWnsz88+9mY(eMP zT+g!wUtrT)!^CxsMeQORLq{rPNbw=Fz_w?5dAN^fmMyS(>Q=286ncrx`7)dH6*j#! zj9gdQ7+NwCORljowC3mJ7YU>^E?$z+=2ta61&Y#}$;!fkJYq9zeE0D6T{ zzAsfYjuk)_%>V69X7qYYlqtpuoYUdI|+F0n`>+F-TL_s8Quw%tjRsk*@9oNdHiF2$;Qy0n3tZJm%fcrpeW<{ zy1M-pwKL~D`SbVfi65`noL;l3ykT>F%NF#G&E-9t-fAYUjZ7EW9x{W*o%=Sg+jZ{h zOFyRE56e}3%;Y|>Ie%pH`NZb@nN4LW8&?zS7f^;wOu5G-@L6slv$^U*CL0^Y#Ay@R zEx)pbe`9n0&ZhT+P46e0-hIYjYz*D0MMe2V1x5LJsYh73enV48NoG<`>K`_Smduh2 z0k1b}Q@hr2T<3~BWVz|;YWBZudjHt;0@pKn3*5ajfvNE{?+5AFhCo;Dh4%m1d>hzR z8rg%J*!`Q?^<24H*csZu1Bk8c3~k97skw<RQ8aZY3vLgMVSSlVS(xFpw>>dz|4D5-}1k@KaxJQY26F2<@Gbz zT{;;zG6|F)-+Ed!^W}{lTz_2lUYV&qlRbPEdr;17c7~4BlwweueGWTAOJ-53!0K`> zAOF)n^WS()k88ePRXUg5c^n&r~yT`a3AfDWk%#5D0dUN=p8gVfr2vVV)^zOH3= z%Xz^l;L*8!dU?(K3GGflUz%#36ko?4u%106X9GJ!XKHdrUS@J)&PH~IwoH(}1j4wc zzEW}P;xN_B(Or9g!|qM&zMI+Iwy^7MW!F2+w2hsi13IC{wVj=zB`3dp2RlPMWQtEf z;qRQv4UOAMwsJl>s1;keVJExZE_S`$?0S3H_4cys?PJ%Q!}N=BKRZKfW^O^wRMrFR z3~iv1zm$XQ3|$39`DK|YsYS)!0^Yi1ODrF<`!0GkLpyY9dh#K5$HVMFIY+=Yff}|) zK^l`Y@{0sMy^u-X^uY1)K9i}Hj?Wqv9%I)#&aQWYUGF5j-YIsy)9eh*nI&h~8QMzo zGIKM}vNN=#6lb1eXXs2zEG_|!t(^y_*+h`Fen<4Zdb6v}1*Qv6|LyqXz$P|){= zw;VDZAcTrf2L7ZMlhMsd>*qjQo_;oEIQQYEgQsw?Nbs ziyU9&^%d?fzfE`b-hSdGyXPx*r>Bgs*%{hW6O;4vUNQ}xbN`e;M;fXd?9Mf z->^I9yk!SpkkIK^qY}>>t@Yac0s9sN4dWoordujgd z(928${>RQO@%eouzWT3iwU*4Ct3TNF{;+xrxU7~~8Cssbe64DskkY$b=|9W!1BY)The`u8R}%+AD=1L8Zm|pS%bUOVV40x(Hg4C#N0Sx> zG;{d0a5%PdIPYR^<6!7P8a!_2VCYOr%uC77OHJVsc;bJrUD}t=OI0UlQpEPFr?ytJe1WJ`pRJLc2IzyE%e-I0AY(^!hmTr209)Lr1xp#o*>N z*8~pG&=Hh7k%OTr47jgtF;s{#Ip|^xXFK{UbXg~@)feC7|F5_V6NKH%u^{DPK zFXv!r%g@iwOkKgj&;^;~%*@Xdh|?+N6#OTm7Wws0`C zCl=&n=A{et@0xK{FgM&c{ouyT3l?_PaG&*{*i{Tyz4*bZs3!0>+e<3JoGE=l$Glg;g?G&kgHqQK4$!)`)Z~)X6ah)MiG~Nt=5F^}dnkPG z%ganhIoytMI3DK+S;cmRaWhMufXk0bAFib+YKE;#_>#j~>~?}9=p=``?I{k>kZtOI z76F+pMU!+N{#<>2Bmcbz9_5SfvIuB9H>&)fe#&^2gP{jhDJPeflw{_mU*lkCOHIx!NEO%| zV3YJLY{ra`cib)iLU&HP&JlEj!|f)A$}JAJ+Z>K}ID%HO-34WuG*H!>nV)x$gP|=s zIkmX>J_kcvW==_J5!Zc=9n1n5GMZ19SH4g-<4)f7ead3{gRBCcWfC3heqG62_ru$j zNpU*c1CEfhj8_;1f;KzlR3uaGy%Axm+LvIe#a}I`XaM!#P)P3_7Fe^XYR%7w{Nm7ExP=sYz+_h70ui7ox}MD zN61eOm0ujLzd1twa0LA2(EG=sr}Cczv|14~%foe#xq*|RBQ+B$NxQYEL6IUB2Lnmlt98_)|VHB8} zT6W+s!<$RR5z>Y|f?p-uIYT=*ojN&vx;XW^IrVxt^(L|Rax%1K=B1=o%wy#0<78;f zFHbGH#?sHp(4Lo_mtUSIz!b8hjO}{|=fbULmi{-|{CWas@I+3PqikH0I2l@#6LV4p zbQdb`Q}vOm{H!D3SY;gleKMzW&R-S*n|;D6d(X~@<&S>T_uznJ`4mpQshoPVn5JA!x>|9^imU1$*rk17V2*_`k zKI6N)OX|L>dlSz&p3Gmy8DzVhlc6OsGey9aDM+U|@7DT>wcN?ek1}jt!5OlW(|Ik& zDo#*^mzD_{-OS9-yTT}teYJ6(=OO)N)4YGE_{=moy_(bc3ELV@P>Z}IwJ0-DVCM8i zyO>x_j90V#`4A#ub$%_U$2!iiX&h6Tx>*HMIXzga*YE90IiR5F%fw>2o-6|(*BqdB)vgIi5#NhfOl%E)zw_#bWyiO32Jhf>-O1^(i_>Q} zr`{e;y}g`z(fc?Vx{E>1&dIDwE!xk?(3(}8pT~886EvEXm|VG;QSBfns4mV-1gj7@ z${JeYcyZ+`-ggpV-nWvt4siw@=5##5sdto9Pij6h*8=8aoD4mwg{7HA;Q6>>fp5p> z-d_Bv?8f}&Loc>^=W8724B5bXf|H@WC=s;EP{8D<;F7Y5On>CfH%P2rrPX3WmX`4*?=ZBD&AoO&wH8M$6E-sNOy z&B-rLRpYt`3Zlf~{5%0M=?SOKS8CpgRH=H<-2*eq`pZMP^>gV&%IW%y)6Mn|`$RTSv^k!9;j(P8)Yo--do6uV zAFX}P>HC6H?A+I<+UULS$;naJ}skfHt z9VbJ326!fc>mpk>tH6x9B_jL6FBzw=e#T(Mz2WbB&VUb`dLKFUK5^>ZXZ*~`(4J+K zpOlq+gca1L4NU(f{gR>Re^#en)W)RflV3R9zjFG1Vt5`R8MPpD|34nXv!ue@>SME|ufVT#Z}|?WxK6pb@ahPjcaQEFlj$+D*6>+K)#y zarrhdHghp_!KY^h*3WhR{PXDZCeaxm%Wms-|60N#5I_0)tp(TEm%Lwpa^9W=>a{Ig zA+20`ZCrXW?OY5!;DQV?_rMh|z-`{BnQkHp^z-b>86N2Y zH9fKXdpbatb|P7tCJ<8+()#2Yvu&A(hvpoEPfA@}uAkYuxfr_h$})@c^FaM4f&9z7 zj0_z+P6tJ{7Obs5c&>*ltd}dekIQKlOFtJwdr@k6W?uRPE>PnxFJ&r|K>vqpd8Luh zzrFsxci(QcFIp410w!_!PUh0v%*r)|3)HvIo65z|nvqzXD$w-p+5JnW*DqdC=xupY zIg(`>m+y40;73d|xENZqOLKCbF$p|gdq;E6wXGf#H$05@SaU9BCYR?dF4w1wv$+_$ zAWN+?^U_~33e0ZuPV`!Qy`QO3>O=pWG!I3A9;+|G6F*9a3TUhsnb|#k*Bma7oVi>K zZTSTSsYL?E)lcea?lC)lRb=&z{?b#t^SDATvRq*lc&}|OpX18GvGtnKPr1qGy61BR zEZ|aE$mOz#%k?wUVlMEajG`r63~fb;>G^qFQ@I4@#7o}edz==|{KYTz>CS!Xz+^pLS4eF6Nq)gIdrSAva{0n4Ao`qf?IBYUmAxw>jyFh65njO+ zypk(m6_?6tF2^-oj-Q#D{L#NAcHjC*#}4i03faS@vX?9DGt)jUhK|gf9MBE{P_d?OR3`QKnQXlL z%gJk2tlznEKUcs3F1>?XdNGH%7&;2_!K+BQ4s$VdLYS#30vo5--Mf~wYo*Ae(>#8^ zJA#jJIUnV6%~{O#mR-PL>x#nAP3L!NKRaQc5$u zfb1_Q%>k`R6cE0iY0e{X$o9yQA7R0)Kf}&)1)SqjInNb*ob3V^LtAPdXn1!jm%!uq zXF2y-Nt+}x|E@5&~%h1e3YfsbD=Jv`>VY9Yg;R?CR z<+qmO8Yu0RWG1IxVH8N?zYgEQTKja=W@Bh6`XUE3p9n&2ty!=Xx=WVXwJ6vIRxq|L->D}kjTg&u-i=m}BwS?;;+gp~0 zTnx>rB?3{ePS4(<&cM!*F|Q=!)sEATxLhA|sXXEGUCREH3)F2X$pqQdyS03qHGE9?f;&{j9 z`JOBI1DDD{4z7<}3@sV?<=dDAb}VfH+f58<0IIUK_?Vq@OZm@g?CDiOxfpa3; z4(wjNyUZjn=9IVKy&soY1o8#1^1fs-Yn->&iK$hAJMarv*jFy!Z(Mrcx%8xda4~d( zR!^oRmLzihzCFcAE zg?FWZ@J3lCCr&N-j7Rs1d$i6Q{Nr-!Vfzm%BT~y#iv*^9M%{Q07ZsvAs;Z|wo_G#nxT*}_g z&Cr>f3mLe5&j_klWyRLD6~B3P^6NSlca?7jD>}HHI=KV7xb=G2xw^R-IueUYGLv&s zk1z`S75y`F=GrAaaR+$$HncW}^>7FEa=Z0$2cKu%$oYqfmPy>8f;)FAlK@ZJ4aH{$WzV{=3+}tNRc78~Zs#f7K~EX4 zaZKd~Eh5fLP8Imwl6bhvC$dcDl%du4svnbk7zN7KaalFBclb%Z4qPm&UUqC6cffS+ z;C)O-m}YQ;rhk%C1x{^Y|F|ogRoyu3PDm?$D^|k z%zab3nA>+1`x1~^(3rcxzU;UaPk)^`ZIg5Klij40n@hPJmvOsoWPZfDoSUJmq$Dvp z1Ds-aRfwf+?%?4+eNrIC{gLbA72LrqxkI)xcClV%5?EcLbybT0%@!*awNN=}cKKD@ zA*;Dn)^Iz2W?IY5(3}Wfqd&1vf6?7(rgigf73(a2DL8c$@J7l!)?_iq>D+!0ot^TV)fsQ_f~?(6*f%t}QUcK~mdzdSPdfU%nA*0R+j9@M%R3HGM^u0(?bP$U z8+|jb{gxGJ`I)tKFSqMHZjaAQ`?(ofOLG(RECg6yhDE9FyS?o6)xWp*>2+zefbxv9kkiOH!cf4KxKQvOc3 zv}(QKWZ}A)v_sxLN4bNKal0Pp_Bg@qbCO%{6t~`9&Yz522ROmacY!@0pYTlxjuAVh zReFB;pX29Gb35gn0VR#1qSPFLkkpJe*SRc$6^Bc&@bPYZdzL%+3n;SA#lPO6b~uG^ zN>$zA75c|H&v84S=MIj#zzy#7g4Ssz2rQYlXxa`Q_d|m7EH>Wt{xIbtcgQ7fmCM{A zSGe`Aa_hxh<7Q|p$t=l9<+=_^xFE(25Fx?tn7oU2cYsywnoVxF**LJ>qtL%&qr?Tkjd;Q*Kam3p9Ab^^BXL9W?Nkmp+|+5}Sar$fA#z_X}S>a>g{4 z>&&D2=iIIrSzd61=4-+2^b z#O<5QS5)vBPFNQt9ohF_!&`3OZ(Q%V8M>jRXHrh8z`Eum%Khihn0?YsnK1R_^(pVU zgFkSGeB}1&U_HSK&Oo;gY|@&(JD=mKr}@-KKHua|+zH#e)=hnN&c!ZVf2RCTZGkB_u=_e>ai$Nny0w0v0K26%~B=W>LJ zO*|^g*_wG6nhXVItopJ<$Y)ye&&~`1pM)10Ej+=kJWg8~`?)4?38>z>t|#KV?)I+P zzf%}hIM=oD_~f+nfMy~=TWSOzJ?}h})-mbMd?Am|3ZE1Abnt|9@&t78=ymhx<@fL~ zv?qbr^>g)tw18q2)ODBUzwly;u*YfJ8>azC#(cmt1=NK6X4+*f^QTa|(~oQ^rZ$FBt`PO1I`Y9S~@1c(7Vz`(GyY zsXU(NS*P(ZbU-)!2xz=nSR2Yy(Y0<}>Vp>xwzy8`@tncq^px>G*Goo$Q~FbP->F$~ z-tUA>?@wE;#F;!!vv^cy^90Y~ah}T)GLI)!%sJcN8(czIu7<^8GhF7W4Qm;n7>lqZhM`hoL1qwUX-yw?MA& ztpcs}clcJ$)85~&w*Aj?9;X#NDl2)MSMhj9t>$59PpwSK%u4|;W|(4=KS4=Y{I&g_ z#anmvyq1~BEHM3a__T_kt812;vPngm{_0r66V|}EmIpN52HMGznJmCqewWSBwctoz z`PQt%3dcFu@dO`dThGJLkx`VH3hJz;-4yt;|FmVexV+B~zs~Qf8+i0K^61@T+{DAs zmJHfq;w_Mr&uv<3u*~CN*0C4MIiBlp=JCqe!o$#(nO>Y&F2EPA5Pa=f(fluGG+u0# zTsvVakLNa?;HQj_LF+SpdLGMg^(w3XGJQK!P1U$&JCEKD9=+2{zZks**349yUYL7d z@~!`&9^?4#-#dAncJZj}=5gA?qqmnwFXlNT*K~GJNGc^e&0}=?bT;tCmo0ZEE!n=0 z$9F$Z@Btpsevzw8&zJ;q1y|NGeqDO``LVy|YZrygJILdFh$lGeFb_j3XklD}z~l~N z()kVtO(=Wi(Ganp$MPKaF&^jRJOL+o{5~^r zad8QVywB=pS4{bCY*vwmFrb}V~cop;K!%i65Dwr6>Ka?XKbG#Q*h{(U-f_Dh4r6P0(9j{6BU z=$+?ryTIdkk;nNGkKSca(z?O}S~8uUm|V$qm4~4-BN5bjN-g@&JdagC?C{!Id$JOp zjM8qWOPUuPyT%iCoyX}Fv)&CJ(10{(+n%+r|#=J5Hl zcn3V%xG6UvORxXOzQ;UzPk8j6^5{Kff5rnEq%HvMTFo!21f`o_A~&r>;{Z86b`Sstk7d%ccdE7oTy#kdmIiT4SJppOgjCk$f ze$lSoa*1=+_UOLmaeBj}@|Gv$9gpLC9^bVbA9xsAOLIyxH!)oSw@U3Mnz`FMhWGMc zm)n`4I?wbYkKP+rZvp2GYnqm&##ZfYe$kYpD1H1BPsnwi&mfm3<`sjs>ZBG4n1?H$ zbzXY)%8geMCv}6%UBB=I9N_v2D!{<~#bN=4Rp}R_#ZJ}7`7%yXNc!XXjVI(gkMj>6 zy`MaKF`Gb3RIV@z2zjrF-{U)L>*cxHZ_Eo>+kf%s-DLF^*n2te`!+c{a~X?MOqav= zg#705{mk@>Q=o9qk>3+f8BX|X!Wh1v<9YNS9=A>Gbpp%#_ip8y5^$zC)qe7gYin!% z@;LqDarw{V+rS&p$g9`HtGAk|nU|q8DLYZ1>5_Ki#}yrA9Ml>&B5Q4^&0T7+?^ zMLGV|S{l>J8{Ebl-p;G?kBRF)(^Vz`Fa3xBuCH5ftzMLx(Dh3)s)N^YBXcJ&Lwh=; zi*%!*FYj8V)@s4I&Ru?vYFS;pKHa>&J-h+Eyn21SdXoLT3|)|!{>;2|E`=TJJOT}G zSM!%!2VMUkyVv4w*yqFvyv`GO-6!z|Eate!e2QZQhd`1z|Mcct*=0XIEoDy+n^`cK z*J%o`Th3Ho&=$Dz)S_v;49%%20+nAvPCc2j!B{}PQuS|KWsxpr^U=P=PUWTrs{Ipc?+^7JDaq3aUoj=|!-(($i>-Wwn3wZq( z@;Wc#)tkb?1s%W3mZzZo@^eSG4_I$8HuBE)IdBI&x&~AN!<-B{utiHOX z{OvBQm?_uZ@sU$N&s>sOCi~L%$@|ioGXrjjtlm{S8qM9-VeqNyr4ZMMX8Co zTpM{AT8i`YHt{mF6=j0PLW2?x>xkRUe;_a;=6?51gVfEuJ|7vk@G>+d3+VN+s-132 zO|O*LJ@vJr7spm!xBbk^83kOvO{jiaCS9BV?7?5rn!B0Xczymce&!M|Ec3s_$?`aq zdp1LWQ|LDB?YzFdygPUqI#Y{_Q}fbOiv;R3SMCau`?~hWgorq&n_R3rd7T_~@iMf4 z2G#E6S@OxaY|CPpCKj@1-*Tbdyg_?-o%iyFMePGcVo^zHVot(-UWSg;yp+_U)FOd= z*DUYlS2(vy{+PZ@?T&E&0bY-Tyq<@60}u1MykhEQ`OS2Mm!T=|C@({2W@=GlQF2D5 zz}wClEomg9`6;wdKl3Cn!X^XgsT)tkd~k(Z%6CAAW1UyCS9pGN-Tig=xiaStiebbeqE4+H&xx57qytR*%d0X*Y zVB3St37aZiuJQ(7XV&Ey{n{#vWsV+~F)y6^w7?l!N}9bT2Y zyw3M{gXXc_=VjZbr@TJTc%7c}>b>CA3w+7T(2|sx$Muf!J>wNdfmQBDx6UZ9vR?N1U-FucoV-`O z!LNCp-|(uma&WbATxAk)5|-NR5f> zYP!w7gYuxaz{}OPTLW`-GJFKnl|n9mcxPnzjvQ+Rtj?%SjS~F_0D*7>dRv`fu^90|B21(Kk&pJc73zoKJ+)Q(?yme zi~`T+=3NVrn7#SKp#n#RMz`iaydi&ieb#V*LyTe7ird$CS81J|z#CUyvatOhZ^(aM zm38bO*LwX=vs|0D+4}E^iFWN_?E4DLNP&A7qGBBC=nU_Dba zd&fW5K0fCzwn=OP0`*HTye|HclbPu5`X}+?l)YR69!F$;M_2zSpZ&T!WWp-`ef@lT z6ZrHd^6C9yoy5n`mR^)tka3>j18?3`fDD4J%o?O8lO+ReYGt7u3x=g%8w_&ny7< zr~C49W^R*}lZ|a#;`wO3!k(#o!PEFcrt_(M;^CUX$Iu6w2nMx05O#m;=ax;V31LFr(87u{CPKKQL~>c^{e@uceAbG zW9WjcbOf#9x$m-j*Q8MO|2=P%S&wg8V6~Rde`gVb0Vk8>COn z`SkYRWS6I$0=H@>O?LSAN}-m&aObp1Z~NEt`EKCze8jYk`5BYI`K=NJ80=<82Th8%q=W|}lwu28eG6EjQUnVup^XF~($AMZsvLR|W zmfmF&@JUb=?ueOcXY~2kggdYEpYP<;+r_8%gn2g~LwjZ(r~%|w z9M-;xLVNi1_VVeSU}y6d=+Q_{dabpd)yikyi7Cgbx9{U~+|TEEfKTrrpWbPvQ_Nh` zcrLLDoPJd`X<63lM|*^;_8fflg7pxeV-Lp`Zh;H#+;il zPG|UB&+_@4rv>@9&kOV0ZP+3=J!0zoi+sVC z_?*u09%F7{7WgMFc2aob1Gb-Aj|jBC?wxa)Pwxt!-c>$5>1%upoyGZiiJ(2jyZO8Y ziVxd_I2WGSU@`aCX{N>>zpwM@O=9vE=t+5ZMP~bhjkzBdR*3&Nu=)m{$63a1R)Ny; zGhLe{KI~ImamBy?w)5|se0sO|^xm-E1|=@YYV^b+Z-I&Z3pf6LEL&M^<8p4A+Vu~2 z_=4{8`Q795zt89VfG;@eAs<6qa(+Q-O2QS^Ih>F97&;)6^eF<9i#EM%o^;^!((so5 zt`BUtJ?0C3!sq;y&;2C#M&5*joC2#Qe;@42-pVPYUoSY#+N;lu&*eV*Yd+9mQAx%Q_A8760(Pot71#d+ z{co+Z-6iC5_6?s)&Rb9!oL?lcR?=X_GS0>JtC=TO#IIm)WGl8$nW38@7T=m*21sX z%C8sG#?R21SelZVnwOl))y~h*m0whz2s-K@y@Q{j11bTDF9CgDt8c!$9lX+?#y?(| z{N1UOKftz|TVT7%*7ZLO^6xu`<$LpW_RsI)59#LD>*3d1%X9#AP=mma{uyS|oOBAd zZR!5<>+M&WUjBeqjy`^dwxZOu%nE^vliRH|CnnY`d870pKusdNhgo2yOx5hBq}a$K zWtX1mX9sik^SeyocgmT_&(NHiev3;WfYHiX@Z-CeE}NW^%J!?@oW!p;nP2Y&`xJhL zwxr6E)M9UeU;id^?snMm)V-F9|~r&dK*&=S45J(*9|=aUQ?Ve17+w z?d%KqL6gB5sd)l+%|8s|-zD-*Kd*njcdquSh5UMp`1MY)F6L)w%S|jv&hQqnll&R< zS}Z&>ficfSt7xgy5`O=s{K35(cFXt~Itm~MR|&X^2A%uX)>g@qrE={_!^C-Sc?4!K zF)rJ(C9z5An3ulu=Y{8%^LuP$Uct}Mk(iebN>u{!{<=JqwdZ9#vMWxX{NZ@ON`CJy z{=ZxTp?bH4ww0Xs-6M56Y|`hm*{k@SHZrf~XXq>{EzSVzJlw7Lch(ubP1y^#2(PIP zx_692U_tf)j>CHjn-#gkJf8OkO0MB|S<4@ivyPvkr6{rBEuVm~zRwjkuGBRX<=dvL zeC%;)DVxCTib=`O*62T37#dkVb6cvzdVa?Z{J|Uf^)~VAO<~#0&(H^33oUxUkp{ZDaIq>+=T~3qwY>&5`W|}3oa~r>V1M_x%(8gU**RJK$-R(P_ z{W}ajL}vA*x_;lmAGVV}XcxcBZhpOgY+M_e_V6=wq!t(C=M|?;WfG|Vr0w6*c{AR6 z(qrDKS9gBg%kT7#Z5OY=)XT;GTpU4*9vT1t;ni!*c+J8w z_w5~i-v-9J{LnKGj4O;%k_D%OB-LznNf_k+E^Ye^*{3<=H%{&5DAHyHq=j2;* z#NhwcL)Pyv-scZ^z#s6CU+)pWUJv_SX0FHl4DChWQ!pm63jDggrSrqfALiz|$M!nu zUfT17-}x!O(=&d(o2*>V`59Uhi!+ngF$?&}{aK(FZBTfl@vqB z_`!G0Mnl1M8`5Ml)fOHSc**boir=}5`#yIIyTJ4-U#^KgP&m0t%coN8Mm*PRe&;v* z!Hvvs`5D?W5>xWaudxZZux6i>QZqUdzW=w@>DwNU-|_3c=hvIf^nstDB_}`KTcB-u zMZVY8ckd<~H@mB7f8FRKzw;;lkk9;{U-+HB^6P!$*L%$LogcJBC%u?!65}@JLyWUH z1bVN(wtCg&d0=f*kH>BnYwjQXZa?|mY=7}Hw5KM54*OWnD8M2kF4cOgxF)jxV9&K{ z+#bLA!x|X>@PnG!CHX}rX~_cb*IYAS^zHkf>LTW@bLXp_|ML6(<9Gbe@BE0VK>)O& zG`|Rx(Pn|>I;Z_pV_RmsEMF`xXtnOsIJnD(=`2r#szmu4oXdJEKsnePqSC6KAK`BY7=+xsQ00v>GwZl9Uj1sGZ~i!-LP z3!Gfqu6#0yfgzvEeF4(IzlFVFM~xLx8~ z&L}W-<=#B2)g7*EyNxO=e%XF_qo;6 z=;Oa`l7P=r&`{9lhMCE8KJA_6VjX<1I(ehQWC7=utaDieoa=mg^44S(@4dWE{@~_% z{wV@sQw3C}350)Unl8Z5lAn{tHA8@*JrQ(zYKef&CC#6g*)M3^xuJb@oq@xpnF7wU z1e{he?&3`l5S!G;dhggpP9Z5R`HcZ;y|V=Z<_M_F6>ys;5b~L6z5uANUjW*O)Gol) z%OfClFl@!NJF`u~-7J=>UTFKXKp<$Lfaf9sy~P50fzKJawlSv*Y;JwIwff$xp4-co zRK1j`s9qwVw-gk_%LEu&GfHxEyajwOXn4rU+RbOSlT3QX-@ReEKwtyo3IU`dDa>sw(R7^UQ#0xDYtT(=1X zZx;yIArSP319YCxmdwuxz< z07F}8NlAX5Kx2E`pWnMfW_A>-oT<~=nXq3V_<(@QZ)VWGh24f*JJxG2R_*^^ba~+_ z0pEiH0iT%;fs#XUs=)6b39IHw-P~Ct{ijvGM1I0yfv^U~BLdKz3@R-9^h4h+@cmZz zB6juiEey|Y9~IC$26Ff$K5qei#fyv)drosot}4Aft#_r-aRJx!tS1B*dMXN1i!#A& z<{W`(`#uG*9=kfFP2zxU=p~(&lLGFi1cGg^v0P;r=zg?)R@Te<6D6A;$KJTIS?#ny z@MpH~Oah;8ySiE4{+i%1^985M=NZ4x2!x&$&^srfcV0km7UKm0hOT1p*+rRo>GK%5 zE($Po=M|PhP7F&C_$3lJPmRU(JBRob+iVwow@U)fmjzsRvs@8i=qfDDEGPh#JP86* ze*AiIzq7B`QvVIt?j4!oR|P_@3HY|~gPZSu$%(Fp^3{cv*&_2CZfbL07YMi^5b%)y z9`j>V2PdYq%R~kym*c=Ec*mYAN_&fVU9)a4=R@*ywsMH+qxtIR8Wz(nAoC4=9 z4Ss&yKYKC%%9Klswa(St5(r+%ds_gs1{5^FAaLe`g2-!S^B1~ay@$A72Uy+_aJ(xJ za!Bvb<2OUS}bIbAMsSVi)e|r+%{F|Zq|EYl96J~D#AZtB}0x`us!mDW`4BFi~11^l0|y%J#P1P`f$4n}2-*SpZ#VHYFQ z{$)mOTF$;!4uS2zg(my^Cv<$x-?;dX4!_uIP-=SvOKm2Z$pYW*a_YVC{g*X;N&REJ zshYfR1>D~Wxa7PS03DQ(n(_fuRwNde2za-h|5BtP@&-Ik zCzVmK^ZUG)XT`Uu9ra*VJpYDG;Ct7GKz-ZV?VJK9jlTQ**8C~p`b)t774vTahUT1< zKLQLbd8N4mmP-RFS2Jezc3Escw7X33&|iVze*${{1@!V81Q}Y3Gt=|9ezOQ{*E`~N zddl(MvfvfRZ?m(+HVOte3FPdljgbKXn-K3qhxQ{FAcUjY<-;=6a1Or+HRoVod za;EWe{bLa*xBijw^yhtsZ*c}M5>!0<+6CP^1cN&Tox0fdz}e{T_3VOJgXAlZKg7=X z;yUY}fxv$O{@eoh>#teXDz5qX_-#s;pkBA2-f5;DL5B8X&}Pn5Z-FPDLKMQT^jr(Q zuywid#L$Pmf_i;|dVATIvwI6%s+zHSXMpPWmN$~h1rvTx>K6={AgD4?FnE%n`(#1q zoVi?61VLNAQ*);ZLJqu0zMI9*V0hM=C*OhM47 zbV*TWQfWyl*DOJXo)QQLlogL&+ZQKl}20@6Q)>S|F&h zP|$UeV9;Vg&kJlP;9Ip{nS2*~*=<7@Ubyxn)^5<#DwrGlW1lx3;K0t{VmJ+{qC zt94zR%vzG6;kHaLWVxX4Wj1i3aIeO1;?DDv%EJ8b9LWFnt7?Uy?{D^JOafIL%O0IE zc`(y^BZJ`i*u2{-1)Ww2s;n0D{LeT6JoBFNb^iU6Z`Mqle)CqLjrNj!4Zk)D`fU;n zJ;2(}xml2*8+=?!W)A55=_`lImpr%M7-SMz?IEb39lS+QZ>yl*Y1Vz5-U4&4e0<0B zOXik$gNMb|UorLD1ogHH>YZTUA;{2~ln>sIRO~HqJg#HHv{eTT>L2@mt6T59{uYOT z;!(#|*R@?|Ua#h!J2Ua1@lHXHS={OZEB46F$SJxJt2}#tf6|j9AGY!dtUB=Iq?E+` zFLk2Fo(Pv^@7X2j+QOkG@Q__DzEp_IX!~=Qh-b5lY#Z4HZpMheW6LwTz!a>VQDv}R zVz;1s&K^O~N$jZt`qz2u@;>|%Jz4fxE8*+Zt$PK1_6fRuV)@F#BXH*AW@Gnvqp!2O#1mve>9{;nGYs&TY(g&vAEUY{t=zLVrDQXL6fLMtLkDPDJU6jGpikxOmio<; zHQH3V*E38@K6_Ho@iWspE`hqqzNOXX+s;J%uauv&`C#BFLD$oQUaQzP@^-QaT-8xt z|1!8KGi~eZ`Fqm796KZEGy$}u?9iLKkY$?|#2>NQYJ0tGlh|27*K>mY=LJ z;po^e&Yw}5dRs8~AjfqUfr))pnX5k}S?KMNC^>Yr*?B3Wz~dTE9_rs!iRpCq5mL$9obb2Z1(#Q)QdAab7 z{aJ}9%TC`v@ku4gAHTg447tU5g;7B2TykhwhUSI5+=t#G2beTp3;Mkg^m{9)_fAmn zy`Y}-2SJ9;tm1;yPl!`Dy(^E`eCpW8cf3lzpm?zplCJO}4^+LAM5>fJPzLod3*C zLJV#BMJ0(jiDc~(@?i7>8;2Bc#%|b3Y zx3~mYEz?BR+l#0roYESawcdFCaLn;Y)C)Lra&CZ?}+2k5E9bP;eLbU%@^hhStQQl47nlc7f#n z<2rd063#FC{qb`5x5Oj;LM{`8oF)qSO%igPEEI5>Z3@WfBFJv5;%?|s5DR#JK3c2t z`I1}S^1XMK9;u!xP3?8*_-jbQSdZv)0!z>|&&ho^f)I89};>tej>00yNF|C<3{h;P?+ql_6 zp0=Mj1o9OpZVNtjtE=wEw!@55V^Zb_InNbx%9$s`&{mq1l#@Ci6h%3uxp@M+?maCs z<~2H7ux;=1=z`iO3xt9f3aKm-3SP^+SO~POAtkj4w9&lvr&3JD$_JIN5>)2v@31Le zBIJCD?;4wc%7WAr>kNtxh@8v%laf&@wp2)OnULNI_T@sLbt8G{#ohwlrr}dBJh;1U z`4h1}TE)S0RtWiiW?Cu4(4L=H3>rN%w|^<4|AW0I*)0F~jYiF|RYC!)h1@3atPuij zD@mQiBj6zTW=mq_hn9=)p0-|hS(>v}C}5qC-g+Uu4MKVwh4iF12|*4X&&kQm+AIWG zHJF!vgcZ~qhF{dO$jcb?CJx+m$a|idbe`d=3v8MRJ716f-JwlG3nL2p|tR9)9F27_kvED-M z2djrJ(_W#FeL^bz{9OA%4$dhNU{i42(z@{J*E5VfvvWhHdmRwcJ1C_0hV_sTLq`VW z?hbDORhxruT37s5?)b{}*(dwgjKe~~M}$<43OP;}JSN1@32hRkavc`}9kEve?m`JP z`(*6D&Ga@jtS;l-+8YzhP6&CQ6bjkF{ea~!m%s|Y$@?4vv%71LF5$b!?5urCDD1RQ z$QdEOCv2xU4l$k;V(7{&&V*il;e2OCvfitE+aJbgaQFvqymL;-)kICeWrcX@@dYbZ zt~AI}-JN0`{C4LV+Q0cM>zQ+yQ=limKx0X5)zxQG zbNC%{GixsjIb9M`xh&*-MaciEkjFKlfEB#=n78qPR@Q*pagG~96ZA4xm#$Mr+vwrgglFW?pyrnCs^6E%R2DbKeni zy(<*7PUxNxLvw2SeIbVCiUI+z>(#+e_n$4B^NK2c@RJ;_m0t z6G~3$d2v1#^4ZFGjz_?#D7rd9weJnD*1MUfbVW;_2syWMJO!0Mko`qP0y92UrWeb- zS*O~+Fa7zppXtwpf}aa{*}f2BXfMr9P0FvhB_yE9A>9?|T&UJ|YI2K_7lZLGeu3mQ zi?%vk&#e6WoAs}2|L2%#`~qL?HRPJp_doLfZhw{Q24D9}A*WYDDqna&L3on=`@U1N zTH;sEVt4&Lr_JNFP{nVFaVL5QI_ze0f3>UrYv{%K|x{2ua|?%tC8Q7G_}kmGK~PUg=-46UW9rKtkz zQ?DQFGo5qhhr@x11z$_!zX%0<6$<$#r1xD&?=jO4A%@nHqRd>bpF#{RMVYz1JOY)* z*%_xZj1*rgs7{)FGsoXgAnU}9RhpfKbGvySU2N}|vHO>h<8L9A54@lQLFYPGs_yK) zxU>9pRpay3vk(6fa{en6@=wU=zmQ*paBx(kFhhGuei7*C6fUj=fqZ|Z!mNoUC-Ud^ zMP$C|UDqTG+9fFrEC17y1tj!C%P&4Qh+qm_I_34pj=%+c0yBhl(_c2H$OJL`oOw<4 zPGXC&o~yUOna>?>i$1GlC9KU{lJIin%~s*CHC+3+1dJ~q)j8d~`%#o8^U2r!YfDPGV(ZQch}uKuXp8s+h^ve@;*Q&+9tt>hCULzb@`0+yV<( zY_9pa*Cl>BcH@Kg&veIbVc#~kmz)9uoA$PTm>M-TD`Bbp(;Z@RJ;EWq!a;q)di}zB zKR71{Gjx{0HpopBX6Q;SCE{H+`oD*d}$*pQ?*SJ-Wyu;YATm8INV3xpXuz&l}5Qy#GjoJ?6Qown=plI73Y zw}$H0do2_WTO_QqSlIb9(-L8Z_KeKr?9@E283F>QO{Z?`jFRxWCVu<%fvaC$E){lJ z!raRuAj`9{`Nr94r}iyUs-Au!{>U<6@0U!QI0XJq|8?O!Q{1eS6%|{qU6echgH0fm zMd-$dKLJv0uY?@KU!^K77xp_X_)$>6$Rnq>KDX$|rTy9LA^G+XRtW38=kOM&7s=|7 zTg!E=W5ra7JkKlED}_T=3A?^xw)o5=(3Qdx<*T>WTjbdet3PM&KUgj7)W~s!Q9#u) zzvI(|aLJn=C(Ax9n|^1Fu+wD0wZfoAT#`V&*X8Ks>z`Nt?8)?EG+cgiov`0};ee&= zdpY)T2wXcs~AuCww+l?7&}m+dgwDD1gO z*!d~rQNEXq0txGbqqOB$^lC1PH2yQy!sI23fY7r))A#k5UO0T|O`6;jiCvq8owf)& z=WG>b=*Y+ftvOEFCd|;8pPyZvk(!ex(4s8)?sLgHlZJq+URV2fuih@~v6iKqRUl4D zc#$EazpCw(jBBTRujTI$j{3~BQ<$MGKQ}2eRiIC)agWLTDkH`<&;Qg3*k$b!_Q}~T z%+Ly2k0+q>w@!+mTLFx5%%B8xL25=8?wp+R6q;-5igeP6E3j7!aVEk zzGZ$s`-ENg3%eZ<);lPy*U5TFn4v8#r!+H#>jkT@fS}Q&fb97*1yr7z9O-d56M0zJ zxs7`bpMd?($@)2)G=3&Oy~dUK?}V^k%zDsSY@fLVk{eIGINhjxTRrQJP~ZBO z#wUe?PYFA3%w;+wU!FQ_|AP8T;4EofUREC#-Ui2UH@j&^#TQ(G}Snsm1-aFQ*EL;lDm;}!M zJM-UT)uGw@e_eCSb9(yhig55%;oyG)+Zcbd2vm0RsXjZh`OT(agK+i>(|%tA6?xZ% z89Kll!;R7eDx_3v)h8}Y&$QI{T5!s>>jp@{O}K&-f%JQ(@w+uQ`5)zcne&THckeA> zr`y6RhlN4T7QZMdv_9u)>-I~`5>lJwGw%pHZe(80Ex-`8Z>wRm%%hs(yNq7`&&}@& zhuYo)mBo_4S$UliYqx<}iVM8$u8EbP3T=^m574mFEEbMix& zUDZ_upO<_oej=>5gu`1Py>!-!Wsfa4_VG{H`skBh{7pfD;Q48*YUa+IY;`^+zrS#k z(onGq(`Tlm%mP8HI1dK)aXkv#*I;hL&7}HV z*y)9^<4a+^SHgNRQ<%8cf`VfDygfep@e0|>!T)D2+O+c2Yhlkf!tUR=-wHD{mzSL4 z6IkqVcklYG&*xq95^QqTJ-hOqaKL-vfJ;J;`6saoxO%uzEW56|oBzt6{y%LWigJ&flKCv`^F`R{tFZew;h^urjwhJ8 zxVX4Ja|v+n5WZbiTk%!X-FB(wqMDi?!u~&n{eB6%{uU1TBkbPA37$s1#4qsmRp;TA z_XL8}PFPx8ueJ95D;)MuSmgl+*MDIK@M6Lg0iNGGEYw!93wm+a@$MW9L3I8DGe;={^wHB(P< z?|Ad2IPTT7E|7w5xPlacMLrS#wPI`nd2DJ_x4z3f`(9AM;a=>~xB)DJ1d4h<~C7uJEP#68wZMp9n+HpPNi{f2>)vHz$MS?amPZD8hNzBX< zV2%sTvJiT_zi#ag-}m1FPEHo_og(5iRV4fo(=-v#)@kte1`xCBo2?oSz4o1Wc~< z7O0xFET?kq^N3Xw)xM;aD{PuA684&VDw9A_yvC`0Q~uX$o26^BuYV^$N5pBah{|I= zP-@#{@Z4vm{Qtzsr*7Fyp8MH}N9&!(hW7P6i)UM3U*vxJ;S!OM zr6P`>nU;w#wB=>yCgv;`0iOj{Byc(5r_QBw7eg=oxfyDtWB7c9i1SJj-$lHe1ZJ=Z z1a6X%HVvqk4xi4l>GgRRmsKJ`t3`s>hy=f4KEkwC1T>&pl$^1HS-|zLw}9iBOewAB z{{N%nKV+>F30^Pavq3~?q@og21a|9pt=N0;r&M;oV|67e}L;&evD^Q?&8IT1anm%Lo(MHre2 z-Z8#s6ws0O?u+m^bKqQli|noIKki%rWyOoItZ0%Zur$z*|JZ?DwtOnCj*=p~cV7~5 zw!OwCaMJaO%G+aJ9B({CGCG~IUtAXPyCR}@RYdQah~6aj>mm%Dd8Iiyppl4qj9f=q z1#WD=`|hjErROd)wr6Mc2`#uG;(1fV`IdFf=D+ah>85NPOGu zUE($US-^+>8K3-HgzkYHbsz4i6oF{%|D{W-FPr}04Vc-!RqVxTE&&}kZ`YjFlBc@An->+8F$=I>q? z{rR}?zegf^6G00PPkU`rlbjm((pG|_nNKg_u}D}0;}a3+kUD52>8057AFB4N@9G(U z`D6B8Lj0+S-!l=vE>7_9m=xvaB<7_Ea5ZTB3aYzOl*x7Z^_MmN zygeKO!aFZNyL5e*l`Q+`dG3{wrXNInK8gf6eiC8m0C9)5fG;8;pP9ajFmz@V<(GqcHQz))+ipM$UNdu21%!%1Zt0!&;EHLjEHKsP z%Kt8+_d`VQ2J24|hOUC5)RfHR#FA8R0e*2F^~LN*4*RF=-jun`E9#d>aLzVH0S{{- zU;DNNZl5M|&ff6(*R|gw&Rao?O6Dn6ynGt-XT?9a#r6?>Y%a5T1jOUq+jzywa&k^< zJU(H6z~hgI$6t|Vwyx5TJn-gHZpQGi-HEO6N@SjfmVus5xBtU z|HL-suItChcMla!T14G*T17!ikn_g3(u;8ao2vAWr*DFO~(+21q&u(TECYiV0td^i8yIih-VMfGMg%@bwl%E?bo%qdDO$oCd_c{Q?2V}t5~?4zY? z#P^tOo-gXt#LLs#oDoIF&1s37{U^J>wsHKLBISUxjPWfC}lxoL$@ zVa2z9wYe|U*xg>Q6%Ag&c8gs=IpqImF1bqHKf43N-!IwB0Yt z&{C0EEWq*9BD<64fq%@5*)uBQo_#$a>b#a^7KebsGr#Sjujg$o$z*!B?~6$4JCCb!CytBi-C*?=i2m?t>Jiqr zmfX88rk)9AnQ}rj?4+p5DbaxGBE39ZZ&?JA)KX_Pm94U!wJmC8nc%}s8$|>X*WNg? ztw+2{&bdkL;>7Sxr$rslhz8mIU_C3!&;dT#F~3M)Hao)yp~*~_^vZz?Iw$IQ zTJXFmLu*k{Vx_>%{96|TgCxxanm%r1%AaF+LDYE{^F>jHZs-xNpfd+9Uw&Jus<&gy zk&of-(Y@K8mqdLpi#lEr^?Af}lMTEKEtGS1_9W4e>K`jIlN9^Dp1dmRdrj2yx~T6X zrsGT}K>MQ)8|a%IX?nnz^|~WbDCP9c8=@ii*sm}O{1;>`u&uK3IP8B!)PLvH)m>}? z%>7(jIIES4rkt8^Yu4T=$8LgRbOndNR_W{0iqsF?5?*TY_ho(EwttKQ8X2!Fd9{sM zHtqII3u5}~w30_4`#{F_N1j~|!%WnhRGD@v-V$}XEvj;x2~?CUQImMEm%*W#wPA%u z(GRc7cSJ+(iiX@1_58{YTETaPQD8;K4lj;bk|A%CeCB;GtrWU1>XP$7l%X@TxF9vJ zIJHP%&vG8w+Xo~beiPETt@3@!j)$VbUsxZBGPIW#fX+Y^2vuKtI{kl+sQLu~1>aPz z#>b+1Pek>8Fdkv`7I5Eh!>*qlJ557&$Fn2VygBn%c*zaL z37eA31s2KvXq!>EDTRBn$1m=S8+xCK>OB|Lo5S=%6ttiYd~|kZexA2LbF9y-zlT#N z^Zn~v-DWfO=u6SyoL8WdBsC{Z;C#n!=H10N&i#Kh!-Dx-A^U65kT;?#Z$(|+i3a4n z7iDM%9~G7IK@`+TDgYgboyzr5l%W$e>I7<`2<-H2HoB=IV4EkKWAtl-GRIwZfjr+& zT0D1+oU?Uje6$ka4EiMM{8=<8=L;xn6ldmr6=i76Da|bqkPdmS)sS#d?6h9ggpbkN ze}5Bo`Yx)nM*tKHS3Az_bgBCmQ>2D@5)y32^lPR1Ocjs$?*?MKLo; zOLz&h07I~8ut?5?!ooFnmY<3~O!_IR_e)go9^-FN{sk?2n^1c&Uj6Nc&rAPLk~-5X zI_Hn5?_be?f1-NtSh*%}I0@*4IM)m2@4dTrn)1yjm$`IzG75M<(9pdk&9yZqd{M@m zz5h(NaSIe*6>F`sopZDQcH-ld7@sRB11J2q!?pW>RBvf+hJ>df!$VxAphdYxi=FmfA1I&{>pUkeCj-?P~9 z9!(bud&PW%N1$l^8=1v!7lo!ewRNj18nWzU5fD3LuxPT#q-g%VOa{@jc#fFUTrrh-VxIHGTo#ChyyN)G z44$Sx!YHshbN1aLL6PLrW7@Kd>Px>Z6w_NIrZN*V-z^$^6`soqVl`#e{JG3t5-EH6?0xD=3={CjG?(Q^%|SN zi~dK4ww{@Lydi*BxJ&G4zz;@&>Lka)3fx~;(N_^vN=9sIkR!ql++@DHM-(;0j7*4USdk|=j_hp zZ4lGj2-3Mp4AinH&hQq{e`>Wj_#Jyqs@Re*XMNLeZ59h`VB8|c(2ZEuF3{~f+e0&D zdUNO`O)O%Z5uQ52aTcv|`E zLH;M3^=*Fa5DWRrcZE?v*gh=0YCT{2`y&Q(Wezr|>=g5DVB7@?e9+~spmma}!pqCz zkKVcXERJQ7T%c#)ZZSvOJz@;aMI{0P2lLwNe{(F^F2vzpZpO#HS1f3sSipWUm501s z&joid3w*B)`>*Ck>cHOWhn)m8KF{eXf z&WFW9j)(;v6$>~frgvOSFYtsI=)SYclA^?9(ANKxVhmlNV;(X=r|$j`{3$pCw1;*2 z>x+r&^h%UF=KOZ?mQ%cPN=)yxnBEyNy+GBa9Nq$tjUUbXArY`yU%00`z_cgtteE3D zvEXG)=f%LQyE2nEF$sKjT7N6+>@m}lbvr9lr2Hmc5OdDC2+E+j1!*gZ~x z2}w>V2Qri!gIlDUji0;aJr)Z%%=rYQJU_h%G{639xkxj2PUF#|e>Hv_z4XELshIO_ zkw#8|m6u+6h)le*#>85V<#^1)`OTaHt^YUa`1Hs6tustK*BvU|{7lTPjpex*Lq};I zxY;PM=`0iL^~Jv{e>VJHb*}i8+Y2$hmtuMo`Cf^E_Ms<&?k7zx@)lUC|1eE`b;ae| zU+?nvXg}QkTFmv0SV+!WG0+_{B{`|@#2A{>(*@3p|5~@2Q>y3j_sgZy6@1^`i@ALe z3!cIH5fn|8IjJf0SOvB@HV2$KY;Mcfq#bekfIj0VvEa{Qu6Nih9u`8 zUpC+B*0>J|U&Nfgim9CA232V%`AU8~WSH>7Q_!Mnv-OLe-^9Yci>dq&3;4`5kss8r zJ&+j&W<{yyzL2{jj{zWyl|_Dd}2x0vT2G3W1W?->7zF|?)Us?S3I~+T*U^oPU4l;_AJfq9}LgyUlMFk`YqNk?mR)<`6=T> zaY!1>EK8llCa^6nNIzNIdt+*qbVXd&uZl_HPLst|7W0Av-!lHAU5DMYKBLW{R}7b_ zes5$H*mH-cvR~y>&^C9)RKxrA4pYQ^r;597VV@=rYWJ7yU>7isdtACua;oZfABUu6 zzyI+~7Y~{t?lV(7=mY00aqxMCnR%%xv&BK1>l1V4h%+>&rU@+V;@Ww5-{Kf|ZU4DS zD=Q1RMG>OfJWw=_zr~UsmZ=Sf` zd~v;lLQ`411+*sUY+3Xmj(hL&8VePSl$CIG%Ce7oNUl z;!exO{c@(U=?SdPetPsE>s{X`Z*mqM-g|ZK3h|)BEY~;$g0AGwyLV=%Oy6szx9d$) z=JtsQNJUG3|F&1OHh&w%E0*xYrV!ke7BKP6Dwy(c4N^PsI$`slt9=u81^#s>uafZ%{)Z|jo znC(?2fw_gJq+h<8^U;25)Sd;}jh5B|vy(oHqzZdoWHtFF@VimRZ;QCkR&nnYJga#= za|!Iu<@$B!Tj96F6>Sy8F=4FR#NF44Zx?6iO3ef9%FE2p6X3Xez2^DN$BCMp65)k= zEb4ZMyX+Kq-X*T`pM|T5Rajt3>r@$gr&XNKJ*y8N+-YWR~6?40&EW>D6zJU3dxa)f^3xVWEcQg3%Z2qe}I5A=RkxYT(;sKX9 z-}4Gw54<`*^-0cbmCwIeW^Ok6cS1a97W*U-fd@%*Cb<0(GxAo|pKG`0v+#K?0hP5g zZhPqT3+nrO>U6~QRh<-fIwh|1jfd+Ri$I~;uEV$A$MuAry6Lb=S3CN&xZW9Yz0+c# z1RtUL<*-U-go7}{fp+@^|Mu|KG?JMoVeb3alLzt z?%o1959d5NS-#)7EGJm#1=l0i3*veg#r5VeeG>K-c;tEDVYBd6?U_?{@?Bnb>-k$z zfwf;5Y_;b0R*5jb{k`~Dp8XdA0j`fFFJq6$iW@fx-L$!A@!*oU<7IK5^`g_+kFpD# z`z+raqZ|F`^N~NTyM48fUJ>{8a}rpekZC3mo_n^=H-piD$?e%yahGf2zB5G+@(T-a zD=n*d`gF2%>%?Pk?;}v^Y4pz@K^EROG1AIud@h<3c4_`zc5vCUaHOf z;c~spH*w$Z;=YfV)`Jd2IL$uu?e&dPN9LY;-k}+!)bvB#wSjB4n1JD`srpQwvu?gO zNdB*^x9#sw@sMBQ!L~<0SEKyD_b^{NbjAH}oAA9S&q(_J7I$jlJi;h&Mp>j`(&9@0 zGOuH{F{Y2Lp0f%RTzlKFJ36FZrF+`ph84@4|A_1T71#SGuJ?qU?Y}rfYehkUvA2N3 zjwtU-iQ6V*9KQGQ)1I>*8zjPZ2=C((V3hdqGe{>fGlN5?TF>)pW21yelSFW{gxeeO z<%|!xx>*I9r%qX#ddqryOsB>@1G`d%773p=w$m&E87h@qHpCaTth?jb!W3}!SrflN zYbaxB;v?%fPkE31>GZzvyj3Fj0AHH~Lq{p-n2^*W0U3==H#WE!D$mZ$ZQ|w=UfeF> zBibRs(3YPF>Mm&4Yfe+|)>|Ky@cDy5ykSYFgkG0~-bB7`35Jfc%;L-v(AjLtMqEk< zI@X+0pY}3u&ROGKJra6vIlTqKmoaSfdKW35I_Ks^ujpg;y%Hg7S*|b&#Iowf^Ue9p z+kg6>NbHFc<~|9hehJ?R5>D&HL52PiMuGgqzh^45xpyzi-}plEvn}653B9fC-U2F_ zleO2Z@|u;tagFuL-7)7TN%&5daGE0FHdP|z5z~Buc7bUU3~i;!*{LPZm;`E)R&rFl zY<{whL8$wyIzPvB3B4H-dUKe5aCr-SwO_Ho%|2^Etl%7( z0{_I4zJ(ILizHNba&r|6WY?@bxn;@TiN91g=ls zG~=(+#+Lz1^Do42li*q*5%6E^J+Hu(oQ`SNCM)e~SfnB>p`=v3QbKQ)gx(Y8)e;PC z;Dcek1>6kNPFQ9H^{sfb;*f*N#ke&R!T(ria0yhfPV%@q|I$GM2XE1|be zLhldjVli)lC@U*@p~-Fb&1Ov11+SBUB@14zeBQA`Pb?HTP1>K@ofVo*StJ% zCq~fz``-2)7q1uo6Pgfvym8@n38x(rDu0APO}xeSM~d8SU#yevS!I*j)m^hw!f}^` zV*}%U(cKaZ?Rn`rsU~Rx@3{r>S zrwiybI%}xSESD@+yMLtmr|Gey5+TPVRBj1^7Iu98DOU4TM5%sl=WVgT(?vIqOZc9U zaDK#e5|mnV3lfWqpD_vSp5yz?ciPiSsUKOJt+(CK-^nVVD%qd8;Cl7ZgGpK^cD}ro za7rTJv_$Ynkuwqu?Wske`%&KW3M{?lB#?8m>SgP6UtaG;Pc+X;I6e^S3p}jz2#xkZ=*PcseU%dHQrJ7Iif`s2&!K17K-QG+d6DJ7#e}Ct33R_%f z%0&sct)L^>ru^=6`4-`k;n1CYc>A5Jk1k0BU6%04`O0)ff}uG-MWCAJ;dJ|kKWq}q zA8zwLTw8HfBH)^Yd(L$UhSr?K;^G?;3@wRysRHYIK7P#BG?O`f>+YOiEW!0RB|>gV z_}rFo+sOK#we$+3z=ut&hGJ%{{OU|Ie>$kV=DZ`}aaTg+4IkG%35M3py!2FoR{pgo z^;cB5*WcTDXVGWF#rGxj9)OZKX!mQ%XOE0lzWY`8<-eZqn7{VRLkW*Z5-Nu|xE_P- z&q))A@RB(FdKWv7MB&c5qv^Uoo=5~gm2iG0;e4I(IVisJit}?)*D)^^63|+%8hmbj z%&dPI>~Gpm)^og&2wo|2TR`CG<|V&{c$f8sig^E@S@o^;rG)=^)>jgsd9nPQ)RI(z zy{5KyaliFB-#Nq_u6ECV_>x25jYjXz9hzP-mv44oI6v3r!)pouHxfP$U)bJCFtmcN zf(y97gLBJ}iWfmz+N&p+PY zUNGSXkL!;YZS$uI3G8!~Zk+nO>myUY`6}*zyTX1*`2Lg#m?k`d?Uw{Yb7qBrxXabx z)aE`Tx97(DQ`bHHF@;;8m1*lqH+iwuck9yC_p#|+_$?9qM(~e-fa@@=1v~ zKUg2K32dqo+A`BrYt5yIFtfC(`b+;MeAcsV;T8Duc%sYhniX1^Ub3wGm)7oUkaTL4 zbk14FtS4}h%eP_a@g+=kxoz`P?Z3-3Nd{cz{>LIP^ND6kboi!o^B4a7alu}p@06&( zcgyC!FH2WZ9*Tv1Bv^<7%k_qf0Dll>1PgCkGd zB%RwOT{Ba_z~YwhOl=l_rQO1kz*`g~^Umt<(m zEX&MGw-8uU!5p;b`P92L>9^abPsn*SK{9+9^F&F87SLfPrab8%j`h#Z+%G;=R;`BJ zZjz+iWXZ58l6q4m^?KMrr!7f>$_>zr+H?@BBsn9sNMLu0rPjJiWsmC(Oh#)JHJ8nh zbe<{cm@`WfbSGv>MrCoyY)OXpoKo zFWeH;x9;DeT(>k?&TNh8izS1XNUHqc1$7vGq$9rHP?%VsT&mP+a^WA_%2 znU#}MsCSCv+3Kw_S6eMtFO&3GF6p{L(r2Zl-a#R7YgJ%{^0|QO_{F<+GyT?@B2(kr zD=hHp&bl0*@`-=d7=pVq%Wf&Ik_=ld89Y_s8p{j;fge|mcqW9bTv*|pzWEZ9iR~Im z=e3d{>m;4lOZr7|f!0=wC6)F0Us-GL@3?Ulr0*8V;H{FbkC@ULg`Y7A zL|%IOt?}O3TbEDkdhJ=merKCx*mg;k9g@zUnRZGtH0PIt#*zxl9_-A?b!?g_@a^+_ z(dpCIiwi8QzJ5pLO}c!{!-(P^XI`=Ik__H0sj^4Xcdumd51xIXl#-s8nzDnPYriBz zXJ&dH_%sRu8BXb4Pfa{o_g%cy(0zFI`c58!%@4x2ZoRl)y4UB*?YuQtnh!_@9h6i# zB1O zs6FG*=JRJI-L^8mU=*;{J{bD5D7AhWUsR`S%Cy5DnFRXsavPpi_%6<{-u^3g=Ece9 zB%RMoI$w|sxF{LEm}8m<=2h7t#s7vRXun8uei>-}NSMGn?_ABhJClPu zqNl9v5nbkeQ!@CLWXNqvl}Tb;hZwi;3%Il|3pZ=wyIZQq>A?G&r}vJe>q!nZffq}T zny=VkaPr;Uk{c!>ZHad!-S)B83HYxGl5hLx{(GVPtrdZuNeTBP{q9SK+CGqE=*&w= zP0P$nP1!6c@F8egqussRr$q(ZZq9z$7XDB&WymnV`gIZq`S zIua{$KuesTf#SU+H5qiq^Q1*j{o4zJDv$46xw}>4tlM+R;2n%t1O=Q=%sp$aJ0sfB z|FZS|G_$rBl0GjuPqPTDjfhQ`a1mRR?|pkhduQRHmy(_xVy`3-w@jo6Yk$|J%(DzLWGk#5aLm zV6E>SuHf7qInEDk-qc?yJ^EhK`Gcg}ZkCUdpha>i2?9qZ-haj(Z2K(TK#611giG7I z*#tP(OIb1GtoZ4{;U&6zRe#1ONuSS>DhoKdmI?~&V&ZU2@qCh9c0(^E=wR5vFOtq* zB^~dIZf2RwBA^gcJ@tw?>)z0r6CBSNZoKhLQtt+nw?L<@3diJi?o;~AUUUfFPoDH$ z()Wj?(@#mqM@+9orb#?w5(wrAud`)YV6||?73boc>s)?GhWwTcpT+*4^^YV&YkpC3 zhCp#>*@0U*9J~3}d+#{rULNvS((j+7+kZ*t(`>I<{xE$M6xgS1UV24p(M&b96z#qL ztM)WV=`~8}P2>X&kFY5W^?}!o~ZPwO)8{aD#W%!ilL<_6?DUn=p~bV zs~f^+KFGP))TgOx-znwWB^CULsauMnEh95EC*>KFfKXKe>!Fu#56sZGcyX1Sok@?B zW3QBBpOj0#l*(Ryu8m9+q!?O3NAzuC63|iF)9;`mvO-bJL3}m~>%)msA(Ny+CQIo} zk<$CYI8_QX{0qLRlIsfNehGn9oX(#ERyAHp+;o6HdDqL0)1< z%}lwSCR-Otxh?Or)D`Jao)fDf1ej|0Ml-n{X z-;K=6r660L3vyCdNHMg5r>F#`KK0(ekI~z|z2Eoq$+fS=R!TW9;#wue&|XwoT#}e0 zpqF~AHT8;;p2@y!P80R|(A83IYot6+FwbXPE5*!n;B)owEi_!u}D{LCr$J!!b+y_xw+*9}rZUA!Bm7{&M8EeCVkcyRY2b8*#5yX_1gX%d)ArZeKXc`|`^lfm}Ye z1DmA6HcP2&k#hUYv=x-F^3y>TTBI)Hao)3zPxeaPQoHL@^Ld+8&;*_}>;m>ocjj#l zPh@|1IYj%)k3+uOrQ9Zn%wrX(Ty53!eQ%`U$~AihK5y;P+s!7x@20cW=xN+T_bs)D z8~!Yrv_r~yrQG$-AW(I`Z?1OF$z~GmI|x`l^dHSKgm+@WQq4TlYwL z?v--gCl&IDx1Zf&0=s~wVD*p6>feo=_a6EDKQ!;wekr{JQhKwQ*t`Y2)L!e&7U8+J z|H4(ayBw>pACwAfU_2xRT?c8Lk}NP`b>oa@j32h{){N1~dG_PoVJW90QYx3kK;78C zZqEYQ*j~78QQK_KYk`p-uvUU}%k=i|V`n>3aD<$muau10JG_UU|;J-C5 zE#|t5hN97wxMNa!?JV8`dLJD1Q=K}C!{e*A1}=QI^te>W2`R^KLbKR@3JKJyEIrSA z>03$I$2)hn7IrN@Ddl@g%IUO}_amk=pcI#1o|BrAo(dX@5qQXXj5T+cbiNcr>_nla zYL>H7J`Noc0!{Wj^`idotwKJTMSVUmbnTp!&v_{iW%c)r0x|RMs@2um-G268Z+lD4 z=3f`2LTnE)3Y>YKb69!hmg4y<)5LM%9iJQf6_5(+s;g?(YrFdVH*Qa-C#pMa7;K6o9wz*@y8P5f!9kxSpHtCS=y{Pa{R^qEw^E2igC zpgF_LlFEw$0@n=QxtW^JoZO?Z>F}xpA;K@Df@g{y@}B2<`KD%aPmA@LDS1jZ|>XTPcR-)WmmEpz{T@b5aFt zA2Mf(2?YGZk}`=gZOO14i@ z3|+82uEhdxtvXv}#2R%JG8ykp`LONwAxVLNNVAnW#vHRgt^YYETI0&i&r;4`q=LUn z>3x&Z3!KWrWjBLGAT+dVxsmIH|BT1@?qz>A{=HC8;Hx_a%hf+FjE#v8)XEL+&-^as z{6orf728iKh7NFsNlx9tCotVK)UEJjz_D2qSwn31o;>kO%K5jH{~xK~6}*3?7}^Rz zC$@t&tO{%vIdFc4g7mKTf3f1bnjBgGN$LHU(mTbypWR#Fozm`klTR6mUz;QPq3$=! z@&;*d+e4xP+c`_?{=eZrzeii<#G?A@H>(8&j4Riys7SCNhIZe_GZHXzM(aZud{hh2_x69s_x=qSaaMx{?4r!4NX_XE- zCI*_u?`Ic?@mhaNBhuppXRL_K^O7ZPZPEel(g7XJ-7Fo_pp)r9_aFk^^(IN{onW6V&Cs5flb;AWQO&;b+=|bMp)c1({!f(K{b}nIX}zh^diNNoN_h*+ zyW^!GdR(H>LZ4Y|r~K5uY0|;>*r!V~v?nKmZkG_ye0{g5)xc8pco?H^ z(!Tsw@NsfKW>Fbo6eF~AhP2B}u|_TdC;JQcA||Yv?X@_dN8yoy@=WQl2F6*^u#zk- zS)lw%4{JF``@t=)w>q{4-m;%99iTKv8nhWCzbLb$Qb0ygu}JjnDT75f&Kd~u&Euaf zEU@R}i$gIdimX?v8%xROG@hO-9WtH!3Zua5x7;;JH-*msJ~%Dm%S`*;dD41Kyxszb zu1%P%X_xK5kQ{H?`ol1KzI0H|0%?Yh)Phvdl3Rh0#VZ+|^L*^@%$$5FZhkh~LTR_p zOn=w~KA9Yok1;;5t1vIo>q2Dz-bK>BM}_u@2>jo_eY&xEL>2R;Sr2Qcg&kZh?X*PN zX{ogL8Qw#p;PdZ8EyBDa`cE9*?^56RdA9MNWzw#nnU+g4wC1JeRtoTckKbQG*#4fNu>hX^kig7}rRw@@l8J8~KC>?N%`7ysh=*0=|#dfqu{K-;th+nw%)h21Z z&7g#~MVg^KwKzGkAk|yo+vKH*21?QDF){qT4mW!0w@SO%Zj)x{%1lekOfJnSsT5FJ z(0jsY;mLfRDDf)u4U>Otm-gHt9q^R#9`j2^0n^FxY|*@J^IFWLJX)@uXWl98+bHNH z@Hjxf$Du9KsWT(f!&K&Q`Yvh5ZpKYa0@4DJRsF(`P8{=ZG1gq3qq1At`7_f)F@fen zweNE`-!6O~ss1zazzy9!(!n`1xCDOvWBKf2thUlANGvJX<<6JA(ym%+0-8Pr6W&UF z-1bntf1~Nv{rC4t`|p?bohx=gnxPYPfDGvP&HGFOH-B*o*8cG3y)V_UpLfbP*Mrgl zhoplY&q&OX7O+yEQQEgym+^5_v-srnkp9EcK1ZaTj!Fld6?x1L-XC)2odZ+zyLX10 zAIylHupy%=^S8{>w_FEt+}NdfA>07o~k07%xeK zj^HWEtT3rCPD>W>s?s?l&|UYjLh+_#_VYd~QGxR8z4>*Ao|>Di{C8}x(bJEYr9H1m zhc~iLW1he+@VKkDZT-79Cclp@y!>D8?3}C8Vb`SHRU+UD{{8=nYV@kqAA8R-)8WFnvMmG9Cf`DZCy9uWw5G-IDe@z&eNXqo6?N^^Z?K ztT1nCDN{Uqc>1k?+tN<`Qb!mCjJ2x#JkIJl7bo>gq>t2az z|2E+_EDU~f_pY?wZf0)*$@lMey>{K6ApPLazUB{S8}3Q#-Ivyz$oD`RdW&ybeo-!H zX^{TKJwK#3KAWGgf2#EvZj%!arGpopbD^w6pRn zP>6#MH2}|LL^`?ftt*N2I3ZJ+t+lRW-a=l1`bAZ4>@2lEZ}}?zp1?VA*8^68{}N7b zo}J3^)b{A$Zpk>^@LD?fF6fqwdqEB#H!*H(_5YRYf3-mB#T)6sx6+=knBGYLpmvu>}ywVOv^hW^csf(uT1gg7pCHE=3e`Ci)fgS5{r z{(eadflZmRF0+mLX8)NUfA;(QfA$}x{Wmgyk_Met44Ht5X309FaOTFx9GB*pXvv_v z69ok(ccnLUybnq-*r0v9FyV&EW-bA)?_1Z&xCzGJ;qjXyUA%eWXHdQI1(X0l;{nE* z$pTU9)l)CToQj=b*sHer)SkSr(!t-Poxe+~?C0RR%JWxBKH zHT@wS{8QTT4%;tjhSuWByyS;$0?z(ZU7{K^Ekx`0>YTYVeb!+%fw$&iYER=Ydek{j zsCp*k{p7c_#~*2xf2>?5c?HC6wz_NUaotecrjjOaZgT#wbnriEkN?sttpZ%r*{?DQ zxN2rfZQ0bzrcnG(WE=0Ky-gwl$K|dvUHhn5#}z10drjE>+FlWXyap9P+~gK? z>lc5Xt;(u39Wr5^GJgMro7nyf3uOPAeeU+WJyTd4o&*ZGS+#b_xXj`f7P!^cZM7SXOB+4nf#r3(ibgD9|NmtSNmn0CdjDF;s-TgzQ1;^K0Be=X^z5H@hfG9k0#3a z?`NJQ!_Z!qT9lJmDWErV#{K0Qv$XfmmWp({Jy~$FOmNN=8HVoU#I&^hoD|SmCzH}y zUY03!Y~3Ti<=KI^>-DF~IR9t7$0Sfbe^t~&^NG!;7&e_VQF_2MO~!w^jLITut{E~6 zodvK(IpVU;w^z7T$Gp3CFEQw5>6Do=ZaK4L7+OKco(mkDydtynQbk+HG=W#2rZ>Ks zEfX?F#&xcY&pa8u*Q}r+-Ybj(rn_<$eQKV&$X6n{chBw_F-`0OY1xaa?<9UYdvWEY z^Sj!2{kY5F!^psRO_Cvkk%9RL&r-%qVho9l42(-y7%~_c7_%5k7#R${2;630DYcaC zJ9`JmKGr)tr$ry|^f0~P`OWiIXtKavcAGWK%Q)8xOcy&Yaa!OZ?>^yM0xu-?iv8gI z&+>`=px77IM!{p!y^^P-_j0Xe{>s|Hy-H*W+jfz?+_%`yaxdg!C}U(`+$zRU&&a?& zUF@^;OzDGCGg(>~+ZY*I7#SI)Hj8Z&YZJQ3)WOvu)FixtYq>xh;{}m>B1iaF3+$BG zBXLoBx)?;yZ~hLEEi7Fk2Ur-|7#SHvo47!FTZBNmTNsxMfb`tqe=M>`0;Hpl1!NCY zeFq~W17jB>!(>K=4aNDTMaiiOMX+S8kO&!@$jr}EP%lf&DNR*Z$VeVw3P8OBf|=iAu|OSwtz(Ta{u6E*bWle$;faNMB6Z&0ZH88Tgkz2iII_k_o&bk zmM=nkSwFL`cV43|L~mNGJ21HZupD4vSPW9QoQYvGNb3s5E_hSN+8+j8?$ zN^??mGxO5&74p**)boqd^%4s}7b)t24&}?tO9#;=St!xk1u~$AnPDb~p3Tg#n3<7* zd7bcXj=z!&YnT}sm~7TEGi+dHWMEs%-X(cKY>n_Q$6^ z!*LM(M}*-FGb4lUTK4(Umn6=ytYhyH{V%v%aI^3x?gy;RLia`61V8b<6g?(5hwBad zM8UTLlX+)yuHj!KewghD*JY*)VvW*kBpM{&@I7Zc&3%^Vtn_Er8In`j?{hvBY7zY< zxs{LMJToH$f2-6+$qOtGC3~cPGw%~$z&D#?qRbEenaoE;c1dsLWw;1(%V$=GtIUiH zJWs_ZGyV|1Eb>(34F5%`r&8^lX9VsD{^Dl13G(B0fsN7(511JlSPo0SVf?{+hlk-g zNVg5cM-a7Il;I1A-pR`F6GZ=JW@unxWMF(I#?Z$CjcrioeJp~A?E@_LL>MNpFfuUp zioauLn90J(!1`L?H~(W1aKf9-!pOipop&eWc1DJIAhYhWFf0bqD_9s-fatp{468x9 zr*QO2Fl+(YvRMq2q8^KMa5V{El>W`XT;PJp0hS~D4BJ5Jcd{@X0I33{JcwKNNc6FQ zRBd4a6$lK6K&n1TFdPBV4h&~NhOc1U%*1dGB=DJ);R48sZ+T}3|K`2KvX7tP21vyx zt_X(PAO&|>7#>3DCm@LzlBf9?-ho6uurPcB(LY%j{ zu@FNKD&XRGGFSw*aqpB0t|~-K_xgV!wL{R zL4aXBh(6BA@P?6*f%&ks%_$Lv?I59@tPFcu85#I4NG)M$;JYinnsXm(7vDLdJ3KG= zL1p|Ufe8W(`&k(o-ZMs&ED$Q&!g!SNFy}>~$Bcg%9|*k^`Y7~PsDZgncn$MT=JU)q znIAAeXa2}Mn`O1|HkLyyM_6_Uzhn8&a+sxu^{nts!KcE{gr5t)Vcg65PWU)$gGi6a zbdfnC^F$VltPoiuGMQ}#+Y+|@A_qjav+ZO%%C?%Thhr}LG|?HN7ua92zhhr5`jfqb znRrDZ77uyMre~jf5IPbFC%;nt4_+NB0=T4RxVoSyTaIOW~aa-S6M;F-?zMc{_`R-U`!55y1h9O2o=`c3?&c!R`8 z_I8OcJl}ZwBwBf=^Pb{8E^(dL{x+|}3yH^U4SX$pU3|Tgd%5OIu8~~Jyozr%-+I3F z;>RS9OK#`8%k+`y5Z@iiN0QGa|MI<)>}H$6-zhay>aq~1uHDAJkN*Jw9?8r6i-fjI z?Phz;|B=5{;E>2;sTWd{1SSj2;$ADTUtosxC4q&~i=?guts`=^e6V00<9by zrMF6Nm)g9_+@4kt&csiuHT`pn8O z14MT*GRy?gpII5^g6IR>4D;C;8Q5m?9u|JW)ylm@?6@Gq3U)>YrVfrqL58&;HJ@1- z)`3K}@O@@w*aTu75T7E>a0n{52^0pO1eZz9mSMQS&d9*LNO}p&MRta3AeGaErV26K z2C?q4H}EmM1nGIn&F}_9e`aNP2cjpiFuVt;*vtKqo#8V`nWupd)D}6we@FNj{|m0uqMJFgUho{| zc+9$l?<4CnzOSrn`3?y_6`d&XmE$u<2k%nukJ1wbZ8k9fWI4mUT;dqpPVU{}JH(&y zU1UDX{h9Th$YF^ktPEWsn-B3ZOyXcDevHu#$t3!EidyRq>bX%S4y5ZRG*ArXMqYWWUT|vzht7 zXs2|q^hf5Mtk-!LN-trV%?xTq|KR<^4l24D_C6|OJ5Z+TX5GOPzV;Rh4LW)4OM z<{q&HoS#`4wt~dAb1>`%(a*#f_Jimf;tU5l7#TPkm~RV$Dubnr+xUO*uH;}i4D#SP zmN$HB_&>8>=laaba1>6Jwz+L z7{$Z~AP>FZpDX@XxI<jC}=0xLNf9&#{{+R%Ria>`2%hS#8|-O9O}o8dEvb)Mrh zE5lci94J+T=zXjVO`MDjOpWZVoDA)pj0}uFgc&A)=%Z{5lR@-nR)*f3!-fp zY#13>9Yhxi?PG11U|0YW`^?I)2t z-P{b@LAvLN9OZ5hVK@X5JIu*&97Oj@GMog_r#TtUg6LjJh6^D2xH!W#5WSb1;Xa7| z%*yZ>L_g(Zcn&fP)DAkr!te^@rK{`_tLG)=+hG`&rCo98D5WRwhVGfA?%*rs2i;;l^ z)OI{2u#cZ%K1g&S7sFBz-NMT7g_V&(s0372b#S~DvRNnggLf&{L9xBky^^cB&T?zK z7HMbyD#)+`q<;`1f)(NPyaPAa5L!n9ag)1SJ2NmEjnOUeC$U&dkWb3TlD3NpEL- zF3E5Tq;e_Se-?(bAQk7i7_NZm)f^1hLG))4v2-MR0%j5S)s7-ho?|J6Q!rLWQ3!jy+zsjqE@tVJjZ6(hKz86xjIVK4#6#OP?vx2i* zdNb!%&OHJ%q-TiD5nCm_gyojN9f7sdkdclzZ2P&+itUr0FL;IPi`X&gm4dgWUrX=i zIU_h%{H)+o#(RQWxi1L55Zn!JUiQn(mN_ZT@D7y1y7;zpF5o-Jv66$~6DSaGurOQ# zb%lQOHt`>lVE6(Od&|x63lwf&IDd07`~!*DFf?#8GBECBWoYJRWMFFLe$2_x0TSut zXXxQ(WRUORxi9rXYPVPe#{scb+)EjM3hd^Z$GeaDIP*@nOJZ}`jtU*+-XwK^`INwO z*4Z2vx!-a1FdvdQCVp7zkH}R4h6y0E?y@jU=4NDI?v%dF@k4^4hmnzib2-x^Nl<;f zjsL9J10is&JPo9F4->;o5WQ27VKK->;6}z$5bFVJizveiZbk-{AG|HBTNvMSGpquM zzu=!Bz_1Rihm~Oih~C7_@DtQ;dMV1V6{LQ);8CXeg1h(`c7kL-voh@FW@KQyE&YLS zp4eXg3xcmX81`~AGH~8yxy|x}cecbQ_QNcb1wOKGmu5Hs((#y$;Se_?gMJ4OsNpi3 z`84Nlu^+tCxImTaPU!>uD_9SR-V~g|@l*Viz+Tq*9Mic^i_Vw)#r2W@A6J|BNvSTj zUHlUSjxt^5SkL!GXgl9o$#aqo(rv;vcO>_6cS^4n=;Xg7z;F~~)f^Fq(;)gYE5liC zMh2cwJYQLV@UGzg!up+kA5RCz8o|?|Q~6%-Fq{K=T0r!49)>m${h5`agNG3` z!~(8$Ia!KI80Yj_wLxIZwiWBUy1N3<}4Mzf#;VCz68fW~v6^i~l4kcD9< z$fJD{ha}dE@8)6H2NK=M%5V^5_*vnlj0{IWtfh<*497rHt-=iZSQ!~~O13bb6MDb{ z8Z%uf{DT+NH|*kjCJZW_Kt15?A|IJ%@VAM=##wLh?~yt!+A07ZU0or)M*5`ysO!}z zXmDM6ugG5R1Kel1zX~#(1lhHh`z1faS&(I)SsBiQ=pGSs|4?k_?YPY*4sOWM+5)vS=wA!)p+|nuFmJh;9^Q_ySV%QmBc4KNrI{kl0Ca zhTlAl3~Ud1e{=of`og)8YqvDRACOFo1jApD>VBCQg0uJ;T6q~67;P9jco`Yk&vSg@ z?GgLTzJPP8*k@LTE?!0krtQ2Nq!=cE6#d|3m<*ypjVNA524+w#wUd!yHb|_Mn_(U= zxXZVfYlkqnrdt3q5mXm0}!$(er z-RSMiYF2_)8i0@G>0WWn^H148;B7W;n*n$iO+B=M(!|MER%WH=6T^l8x@;w9jE`4ot|So({A%`@R;oD7#hMobf0!#h>zy%fV$kYpF% z5|-D}D>=IO8LoqD+{wyt3*?+*qQ9BX^Dx|oSbvw7!GV!M`3G++2dMY7LFzmEZ;4N0 z&$vV<^L^oJmzc@dEq+ewtkf~dLwrA^ZRT=r=ba>ci|r8idd{s9Z8AG~zw><%dCPrD z!k*zF$d=zc3{OC`4Z|xC)yl!}7Gx=?DKtZv;R8r)rU1hy5dE2z;R}df&B5@4mytoV zWD6r`s-cT_0`GR-Q@jm)t$e+bizQd_ePjYPl~!`td|~b2)?j!H>c}79e#G{J7d-a$ z8)V2O7KT3{AFbx-mS*?|5?RO2(7*>yUoCu$49rW}mWlu1W$0pLWMFF)n8y^1#by6EN5b5VEra~R_u9S#H2Mt>t z8^c~uUA~u_VKN^h0}FVdW49>7RFLE+9)_8Gj0{YZgttmC%maxm;A2<|8g-s2^+oU* zmuT41)B)6=WfQGW zL4BO3pl1DJ&J}_`*%{XJF*3+(mRv7BgY5y+B#HTK)40}g-xc2^x{v24dl%m~@$IZD z1Xpr=VZJ2#m;boLPS)>|*LkmsHgKPmnk>Swk&lsqe~s7%v7G|DSf@zeVcaCWfoG}Y zQGuVLO9Z+Fj!B&pXV?OA!Dm*6?I7BQ;Vx)opofuRABfv3!EgxVur7`^nRk*5he2X@ zSs0G-F*2}iVt*+8ho^;Yi$seA!*P&@4hy$(Gn@vgc_GPg5hQYo*M{K+NMI!g!yOR4 zl#$^vNMepi10TaPkjQ;bh8H0EhA6`u5Dgm30MWa-84iFN$e>o)e2IO`KX@6wfW&`` zGkgcp&$t-=g6P%a4F5s&Aqj>~esF=*!3`S0njpZ?#m~sVI6;7+7eu#mF!Vs`qlwH6 z{UDLgtPE2@^Z{;$8T^b4%zL?i^YltG%;INcU;>qu40A!OB`m#?4D&$hKC?0`0g1H9 z+~Hw(3o7_mbG+tZSPl~F5o_aNSP3%a1%DT)p|uLC;~1#-4(hufu*lX6!z*P8ZwB%CMdvJYV-#=qYC>&o!P) zBHe5Z+dy`L+8zu$KxRG`X4ng|`?fS_G=gCth<%9#6mkp)_!${wuZn{PLOM7=116_M zU+_#2xFB_z!=_VuHRos6oh&<9x3Sz501bhBVQm19q^{@N%e_PVEH}duentinP%j8H zq7Ui?fhGo9z|(?|DZ!c2pfP^PbRfeqkYhfxGMoT8Z>mr$H^Uizl5@;ukn6v&f(C6E zZh#DYFU@d=pOJwJG`|R%-Z(4(n$FtA1fI^i2U5|)%5WbM5eh94l+uf-cBu1PLsWBAR_$iNSp&;-qM zfTlA+)1XKAcS<}KxhOr81w4E57i7&&R))Kv;_o)^QbvYW0Y(PKz1$4_0*nkypmaY0 z#IU)_%kTk|;NS7>=4O}(QUe;X1&wNfqVEBuML$V^kwM}%?<(mVED`girm^mkoXghE ze1zwV*e9+BLTe-si5%qk#sispJHWh~_Z;^j35Lla!~TmhOaa*gZrsllU}WIw6<@`- zo)1*EED*9;E53qpkx&=kVo8SCAmx)J7#4t(AK+if!LVF_kwFj?x1b(wo6utsQ2c`C zYz|6+`nX*ppxK>!A`Ghq7#Vomgg}$RGo{xF9+ZN#->wPY5C%;TGt2@tV`p-&W!@>s zuvUPPf%yf0ujB*)hRq-wfABK6GORHWz5faf_+4^xlCF8)tEN13iM&6eomZ4=(kyFz## z%TCsn!uB^Me(*0%!i~0*nl-hoyh;PUE`6 zW5aM0WDlrTXE+TSwpz{Ez;}mdf&jxUkd}qKD@0yMFx&wdvz&?H0f=78#_$Y8ujXQS zApn}26mI37&AUX5;U&nV4bqR<7+OK)+b+QiqECbvUW2TItSA6ylD8nepII3`g6J;- z4BtWY8+L{_ppp4kYz#jI7#X;a3U%MrkO+bss_ARiE8_zQB=7Dn*oexo3$ z>n+XD0;1al8QMYg7gmOT5Is?lVVWQ#19Jm-2!dfYNbD6G!yJ$pq;1A9A0&2^iD3zd z2Gzxaj0{Ym0cD02Al5?ZovaKiL2|1F8K#4}ynC2diM-$kh13KAhBY9WMnQ&kf{YBp zE#Pdhj%|T>J*W`6CVW9;wZI+z4~(A~4-0_S1b{uhQIL^=^$X8#-UjB&-21s0Zh?j` z!2|d^LC%`VJ&U_jlwm8V+WO4OunQ#C%yB`qm4l%XG<@I6`JatpH^|!0tPFcW^amD( zLxPM9YF8!Z@q;F`--XXbrm&y0bxAG} z>=6S^Ur!U8A^A&Ww(w+`nKI|OCW^H2FdPwNWZ+oI1DXy!#~lGGXBP7^90OVRnU&$V zAZQ|h?*RXLzMZTLCqbf1*%(d15H#fsoke&uUhFc&JP>sxR8>IV@ld= zoFN986xa=(nC@lnvw}?`7X(4Gn4m$X1Kh6!&vApN zi0=rJoOSPkLa2dnB?rS3P?)`tV7LGhSu4Gpo8bj09&Stj<=G3Gb9e>fePp+J&;E&> z;WbF{9Ug{Hp!DM)+Q7%~1*Gj6*HuP_uONkASl~P0QXfR@89G4vR|_lTBt(+*f%SPJv_&a5J0((R)Q0&I>W@!d<1MRwU+T=7D!B=@pk0W#*-$RBwkt zgY1vRY#R7}@PbzDfZTUo;EVV&-pfLFco?pOoDM20&Pg!b0oiw(m*IgBBLmMW>E%3= z#E%HhW&@3X+~)%|54!ozN-$(GGBAE-Wq1fu44NDO(SP|Eo`5{KOR$xL;Tg!t7yNC) z69gD`ftorm_(9d{D>jB{pk~YgZibg2JzsbjUV~Jw<^&B~FuWCFWMJRJbXpWLezjO) z8aKm7Aw~uk(2(_Z#@Q?kUqGr~@E@0&Ai&_q$iR3-oZ%P9pbxwZe?XQmW!x^o&?L;r zAOvbnfo2atX$RD10JWtcOGJ?vygB%QNK&n8q!NQCTEVFr^a6JOeSZ@Hi^^{-(AHznF{9!(Z zmn;m+(GwbIQB`qH8rmwV%^)41UYsx^1IHew72Nw+*Mlc!8wHnfGVB1!Hb^k+0@0sY z8TNo|+RQUifMFj<~4IU-FW46UG2qLICsbB@Sw@dgow4iQEMUdRG0P`3oM8gm2J0`cVnpe6`twoHVP zfge^>w+Y>3+9}o~3~J0T7l1U=kMJ|R7i3t4Ej7WeK1C^}dPEo*82dyRCW4%FLi{r; z!(@=idU1y7B8&`r9Xx%apt&5-`k8~GCxl+`UljVm51KzZ$N?F}|0489Xr@F1^Dn6e zX`5xdpc$mq(!0fe^UmYyVqDI2N?FxU3{VPc=4QAd zLUQuH2TCM}L;y=DeJr4rdPn#fR)Z$Bma?4`WOx8_@?{Z*ha!v&O8bP@N`K)6HKlsE ze)Im}ohP9JCCP817r@hMJH)%C-|_7c=$Dxz zHjBT7hvBgZw5{+{Fxx=14MQi0n#s-3 z1EN7=LZGEEpII6DK>YcF43k9}8Iqk>2^|nR!+1gn)Ef1>#?&G_S$Kx<3gLaizqwji zr?FlT26YmzvA$wmB=VEBN9d8rU$*Ze>qL)>PT>G`2VaVUdV^~@k8^(ETp>1_c_P1O zbwz(jOp@#s-XOVA@|xrgzMFiY&gV-0*;4bQ=1bk@-zN2f|0VwffnI6X&#d#LuL~TL z7Tq9tU3#M6Jwb+PApfl5W0)bz$iTFP@rp3Re2_?s1j7OlJyC>VF-Yct&}w0ZWgw9y zEDXJ@j0~zbSh^VZ@$Zp5CJI_F30f_AiRBT`U0zUIdb-FzM#!4U-8{FMK&vJ}U7po~ zpp}!$c-zGeFi#S@$o-SK2eN*0Imq1kq717+^j#K)wW6TK$ZVkI4#PT-?TbZvB^fq> zWOuSM>;Q>;Wt=L+up1;YftO()NTiQvEg!=HQAPHMl}r*N#0Sk1B$v`F=!C?f;c zH=dRJFZkziz2iD2-XIN%@aZB9$3z(!_&V4cm=_3uRwHcVzt8tbvQ-AOY-lzI*vBV8 zHcS^`*hqS=J1xq{!19$9G?L#a$Z!tiL~yZi0VMuJ;+Q08oS)$mNF2QK?kdQtovaKu zL>U=a*YmyL2QBCV4Og-;GVuQ3Jt=rqa2@w#;hTcJlHF`C_`fi}^b1Zo#SSo4DWbJzzb{^HTIP>lF4i{D;|=iJuT(BfLj?jRZqEBLh>} zRxyT`AibYi8D4|vx1tPp*%=vF=ZUOmz0D3PKtF+mKeIA?1JQc~7=C~}2PuC+Q$Y+% zK&w1Xu`&Ds$=fsRWCX8$u-VSINN6?-!!~Y42G%~&t=zK(=L^1KWB3p9>I&B1JT{M| z7#hVOTLzjy^hb7vRxw5fCh#i9b}?{I;HBgb$mIQR&?BCWy<*Ff|aafaKVAUiDz znkr{_3=;dn%kUJW8kD-4LF<#6I2oS71YUzwd}d{M52B~BGJFEj`&b#ifD|lcJjc!O z4J7h{pW!FSl~aY*@NN)3EPPA&30EukInieBG6)}KS||3Kr%&_;??S<) zY%P54f`8dpbM0fDFW4*jg8!tzC4px`69gFkgUnkY!O$iS9^nLcdfLTFuA;le85tNS z2{ZJ9Xd8xpkZBEkJ6R9#GfWZ(?;csq%h1TkunawUfSUbT`MEhL>0%1Vls`NS(@A&8 zT##-1Sa0w#Tn3E-9FkyIAkN6Z4cd0nAq0y1X-pj=plvGP*k1&)2sCsCrB{G-9|kq) z`#^PX17D8_!%C1}_OaS5Wn;L{$H>458Cq&*`Xe-vc`@%f?g)m}Al;y1A4IPgXV?g) zIT@@O8Q4Ho`v;MAQtcA<3|l}ZftC;~=V90eRwK@^17xGke-?(_AOX<87>J%K!>|uT zzvO2)08-E*@rQ@ukT@d)$3E8IJinRSWPb2&=i4u^PL$!OIOf7e#5go^r#-PC6D5?V zg4X3ir!tR;GcvI5WBtJkSw+NfT%3`C%|Z0CG-%7ge-?%lAlHBv2!NVei$KlhlOWH0 z;{o-f7|w!pgQlie3;tnTDah~^R2qV&WI^MpOW783FWOOT?au9T)t}&2R&xwUv+I7KnZ!$#54$ z?__0|2g)6D#CCHtJODXr4S4Ar!&8uX-O?ZU-to;B1TAD;C^09m&>+-B zc18w1(3+kL>_2!L__j+Q;O~`e6{)~&?o_38+cljp#>!3z|aI5);Pd@NCIR=s{|th^F!$ti5517c96U% zL$3rQ1Iq!?|6-u#0z)52aJ@LgBoGZ+NC=Vzt$J%0+t0-?8^i-G*q8@em@yBeri+nb zKFCUNmt-MGWG6SnVvq=U*nT-k||wR zU|Yhno%J*83x3cFUWQX3nYo+{XF-7q8o=o0V>kyAyDr3F&j?ycazTQT!KF_Wv{Y&b zKWL@c6ps7+zr~;M-{D!!(Zd8y+yp4k%LME{6(OYadl&iR@33+Eg$ z&=Q!PtPgpw3(RJ|&GLm8w59P6?*-v~(#x6Fvu z5JVs5V0Z$eZ5UpFs1+g%FF|3pmwS=WdcI!Cl^hpDm$FR|V0Z}{!=EYef`j2T$RP0W zz&ntR|11ojK=fS}hHs!STFe7p1~m;dR5n%UG2d6lqZ|xBKq~%mF-!q12m`I}vsod| z@Eas(!|)$Otz%lQI0q8hEy{2SWIL!EdrXw!8c58K;ULkAW<8Jdyc^C>68Q6WYK&S`?{`BqE6;D^-OU7)n_ z2&4tl?gS0+trli@3^MC8E5maTy_1pQ1;`ACBPn=MZ4G!UWV5o*WKn_AhMK^ z;T=eEn+(Hy5DgmcWMgFDyeasDw^#C{;1}krf}l~VE;fcwAo&HH3|~Noe&oL+%J3Z| zvXhnJ7l{7M%J3KDpu@tT#?CV_@YrIL6eMxAN`baZfR;(Mfmo+Sm$ET*g5-9xGW38% zZcFdwXP79($iNI;wJ;4NdzXn}CP)@Mxo{aYDsoY1885?pklZv@hDA~&H-wf-F*0y~ z=CeMDPGz6YIa3C_0&OM8z%K#}t3j55=hfGNSfGi84IruQybOClz6PhIMWE@4ClWKI z%D3}v7qMyJTf@AM6|`9A3BTxCW`<25o!}PhHjvg5hV3A#PlRDNX#R0EAHxpPUA+fn zM6V>nK`BNCG0;fMHZjn$gquwDkc9%EX7n9?(7xvnjD0Mi#`6})KIy|CjhDn2j)Le( zVho2s%_h){KErX4$P6}ylOTF0E5lhS@D@f;JLnuJ8kAm(>=j|SAjQbQx|3x+pAC3q z^&;s`zYQ|~2QR~YkfFy!FGfSfs-rwOvV;U&nRb1V$6K{Tjc z4zlDLJ7}Vi;Uh?FhbY4#P~tqn!SETxw_#Wa%IWh38NP$K(}Wm)f#_wt3=PtZ3>Kgz z#EYeuuz;2j9}ojIe||{p<^nAt-XwKX@Td4UG0+m?=d6c0L5qlg@UN0=69?_-hAbhz z%d$=KC=+On%NL;s9IvIP2(03^na8`6?T+M8AM@ATOw&(j&sqC=JOv%^>=q7(*L~Zf9ob1kqw3qKA>kEER>wba&!whLg1}1Pfai%mQgFGblKx%T(+KLTa&@=>^AUT4x z=N^=jKs)F`4RX+;S@6F5+0u**%!;6VF&k7qgLa`wgI7OI=e7ZtX7fR=_{_?%5M(QO z8hw#8BLmxdz6QS4(jXUgu`w(L$=OU0U|0rXtPonr#jpaz0=GX`Ni#CAoDtkE(aN+& zl3_K-xM_k6Ye2Rvl>RKzD)2yjH5bELkoazHhIJs-par7Sd3Q20te0kF;P2ykEBb|X zsT61>Pp{+)uD3$}SkEwDWCm@sn90tt0b~=n=J>?U$RM{-crwp)9?%Ne7S@;SGr2xV ztQOtMvt1graqFt|1n#qvt-^=-Y(UFq|BL?R`^bEZ_a*lVmP0HpJPaE_mR}b*ENwH5 zi(xCsMN8Qjwu9)s+zdNGv<<^95Y@xTup1O`$9Pr)dkU?Ss5-$ zBQ2Q%b+^$cy+9pr$h6l176woUpn;F!GROy~xIq2q|11nwK}OwWVYm*WfAcWhlxAf3 z&Kyxv*1@=iaXaHt#!HNs8A1Cs_Anh~y3O=}se!qb8MHfiGxI*?b1Hk)le+Y&a& z&fr^YkJvu2wX@G)pUFO#eI5G+_S@`l*x#|gXaCNAndvY4PxfYx4vsDk&`#m~90xfL zbDZF~%waQ^a{=cv&efdjIX81|=RCyunDY+)KGvaIfNC$Gwvqwo&*Z_jB%-+)G&B za<}kw@XX{{4BpJLnP(@@KJZqSeXQqsuJM4@^*rKv!SjXZ6VErER^Be&>AdrJ7w|6T zUB$6X=xWgeq6bBfiJk`U3BM|OL$r(SALB}% zTcUSF%kQ%P5Z%exDE42pUFshK9U4&N_#H(Qu3YT7s+n6?~ME+sNmWwqQS6`myv-3HU#@a^p?O2i3Pk251?C9 zUV};;P(S}F?`X7{xJ9!x1gABdFzmSXJBS_zFLC^-( z)7%UbL6taY_XcQdm4oOz_Dx(9SQtKoO3LYCGg;uP??9743|~Q>+Rwr814P>}90oPR zK(jX>voA9LV`caYl4uoRXaddkJmv!p0Wj>i7#e+Eq;daJkMpu-{OrD zpn1yIJiGWm3i;gz7oN*_e=^TzxypNkA#@KwH|j@q@Osf#yl3a2yi3CHjHy0mo~Og@R3-zofp2 zuHf9py_U0E8nmPBIOiO(I|6H^->{t(+b7-32^#ah!gYz|wsa%=Zl1Z~pv6T?8A1Ek zJ_&ZnfcCC6u`~36yapO$V(15X?S&x2M34x0!^32d2x#UCB=V2(4i?FOtz;ETg|fMxTwH zgOiI-j)8%Jk$0(#-ZGi6g)#zQF8^{Fy%jRSD`i|3$_R^qg#=g0=&hFVStAp$P==ca KEW`jZmjM9vF)_IS literal 0 HcmV?d00001 diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..e69de29 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..e6441136f3d4ba8a0da8d277868979cfbc8ad796 GIT binary patch literal 43453 zcmWIWW@Zs#;Nak3U|>*WKn4N~oD9CMA&$D9es20cp3bg*!LFeptPG4GMR%j3i*K8W z)tz5|AR{gPjij6B?ziu@)dnRm4>g}^JZbMtJ0}&5L}wu#hp21+e%XrO(KzY%t<-kr zwMCuH&BZ^@mGgb^s(G1y@pRGpBkZxO&aDjB-}6&Hb*|amA7%fx3G6?aH|3kgzS`g4 zcBhNKZD08Rmssbq&F_n4J?(XQ+p^D-{&YWD&~AJB zA@B1?dp9m|x4(7I;fTs=w{~{h%$deATYU+23E@H!0=$G|P-0wFyN_9fgbfZ@-pP zy}FAn``f8$8oyrs-d?|R*;}3&?Y#0Vz0J}GUcF#0m>jC-!7?%WYNMbR@47i2=fC*q z{Xg7eT*#XJ(cF6XxxIY7aYG4 zPF(67#Z?jpC}uM;oc2Jk)4Tdk#gwBXI>7UWR=P{NS$ zM#;a3wQCqWSr6RmSJ0?o3e1h zTJb_w_5lA)ZxhoaI4|OYiMe|(W9g4AdQ@Zo~0fsrI4!jL#w!8|QtZmqJ z(8SKag^62Q+OCn~{WF`{dkoeTopM|<;j3y+nv@q;#Io{T&9Ucd>-vr}E`R0uOZ?H5 zntN3eXYZA(+zaPj9knvKZdF`Vm&g`w*~Ot@rtT-2-x*8habIjIymT@wmVJ3PgHrVA zNnI`zub#-bV!ZT%)u}5dU%wYPRolD&#mCDs9h$S>iu1k@*1K|P1v}U5A1z5cKKZD4 z80APuvDVl7{Z#VqVhp^0;F@nku6Z7#wM_-fJ;#f#vnE&BiDoDt`e+;_xX0(|yQ5hX zg+*ObZ^=EbU43AN>5NB}pFWjdjXU#bW?G!s_1_$)H+Yy%Xt>58A^xIuZH`7CpV;+M z7rSHUqT>_9p16gd49Hl1aA}I-@7<4%28nFczR&zmbuNQoX>+&qf+-5R+L05vb}p6< zd0oWOKFeB5M^W{v$A7ln^4jv7r=Hkav{+oS$7hkkX0uzo7I~Idt3GW>_O5uD`9$4m zPspq*!3KxEtWlJEsIl()(+oHElefKoOD;UGRwkk`y{PKC;5TQDMg1o>h${;o%-Y6O z?LG1NtD3TTht&UA$yuj75ZCn2b2xJRTT1Xo_S9`$k2p0JE2*$A{ahO)WcBqq$H&VL zwk>6>F5c;OX!cTh=8M~lKXPBvy7Mj8rY<2Y$+)QS>&B{$Gf!U9aZhCp4N74X;!s>* zywTzjs{`M|DF;4OnKq<4{b2lJdeu?+`U{`$vuxf!IP&A8=?1yohmW0Bu%cF3@xo)_3p2gfE>@ox z@uW7|@3XR)aHQSsk4~2AIf?9lO^YwMcP{u{|6s0m#Ij$E!aPxZiUBGC7YdzAbgS&L zpV=;Wt&pQHFS>Eh0)ej=m#v%l+)*%q_kjL?ae<>Z8fAqG4+y88=i*E|bn*hro5dSe zzxmB}+xK$g<&&p6V&k@Mnke<=?EAEKX6;E6?(7mYw>}Z~e96@*bGNd7;gs#YwD8;0 z&ibe87V?_S{Uj>*fM3EhYWn5#Y1yftx_mFX0$x8$id_6ZS^o*c zN`qyKgW2{bi$3vtG@tWH&EvYMTwzbHU9K|l#@UWPo%YSomu5UU*jsgAv02t} zR|XxiDgJXFu!zPpS*+q*v*YvHvPr>e&t(p8Y_g9^TBXpo@`i~Jb1K)_73Zg1$XFut zSyg|7);hi!i(c#%(7wcaDD2>2ftriE6nK9h>00<;_s)pbHAW`O*G5*yqeh|j%?sDPO%KSHcAD_QjFzMCdO!be#Q!j3KZgzVz zyLqQqvV7}bYyMK5Hi0etyAE4Ce0MSRw(^mq6WnIr*!BK|MAuWFa=p!S*GefI>^d-e zv)H^{%okpKDY$v8@UVygYg)vrzSjPCOoF@K>C)D^e z-;}<5?tSAF>)Yz**YPmvrJS0XdNO|IiVIa<9~Q1zaoopox!x>MN6$xd%!MC2_D*Qz zcXHR*cWm9v8K=eeWrTB?O}MD>a>LwH%fHllo(fZN+wijA(O0s>XPckcESIU(f$j5) z4Cb>$&bxk@amt0#Ly|f(cZV>Ze<~e4CpwaC-E`lbHTeYxy}o)b6KHJUn=qG^Dfg=s ze`U|Umj!n0yv9P@stY;y-Y*t!`%#+r?96=^xgAscob6sH27T`0NnO=wNSDb{u*p?Z-v&?&}8Y1*D6U&8w&o5->K}% zOnG2%guyt*M{QP^}sp{au1C*O7X)H=>qTI%b2_R+_gVJh>_9Su>c+)-+F)|+e2-7w!( z1u1teyw$XN3r!?XAMty-M0ke9lj^LpKfVm#S9P-P+F9{pL6=q0tg5D7uim%%o@ewt z9@RXqIHj~XG0f~(Rawc@8Fud~tWG4Z+J1KV`TyS8&oaeU&Sd53PIwj7dfPp2zY()u z*LL%e_-$>ojeKs)ZY_^+^Ds4cvMg8?R3q4uIbr9K{3CCg*q0<6y&?2=!Scli?0@kr z?DMf*Y1CZ7bT30-b=jp)doN|afB2s1A6tL~M~8F7nTnEB4omiBcW(9yNZpHHVOYy~ zU1HPGoslUf7GHzD38w%0r~Kkc@{D*sM`;tjiIZ-Hto|pnb-(SQrgsO_BQBj>8t}un z`}*Y-yb+QW?wssj)^+%@`(>Sfwpnp@)BPIL9RW-?g6ijYOTS%FddT~BR1MQV&N9nm zDjlox`tKYFdfuxW*2MTp$y7g+D@>*R=bduTtJ+sY+u4@uX8kkk(^o&Y_t;J`hkrR6 z1y7&#`LpMSj`_hI^QV2^f6w+#w}1E7s*Sti@8uo2Yqfvc{%U=()%Hj1r>~Y?U_C3p zVSa(tt4p3H551=LdIqyyoD;$}$I5B4_p(K8C+0cpNPMoV{Qqzp!|L^M`r+@dpT4TU zegFM+@3=qye*5e0`UOuPJ%8H%^sl^#)BEY)SKsEXuT6NES`)M8U?RV~SoX({iGM%l z6`#I3EuUL@Pb9Kh@K*D~KdQxI;!EB;}Q>E5dz=U*N$brIj^^l`d?`RwVRwp_G) z;8Jmi;rcDXP1eD$Zm1cr_+1?~>)12#wa?G$9KUD(?1SYD5%Jm!MXRNE*~BM36?LfJ z)%Ybr^23USiRv#n=9ZadahgX8I5^uGy|}XO;(>i$rLjkDze_SY)jN5<{;}Vp!mM*% znpb(Z^i8?_&_?NAbc-(gAGW5&w?Cf#dGLj$ro6=zPQ7fC+&Ah>Poi#~x?9rLzxr@E z)1~RmG3!6%+3v1wYhg+{9nR^IP_e9AyeKZiA!E+Y#(Ng)w$-Hfh1y)p+GA>$TXJ$% z@{t)6=f5~-ZG8A@O;W+vM{_GKaP{An;JY!`@T#Nv&o>{8MN%(+7h2wOg3~Qz&$L~V zy5Y(f6Er5g z&Nw>d+~Tb-x1I6tW1PHD`*_;a_7z8e-l?emlABV|72ez-4 zUbA}oKDO_#_6K;gb8OhYSnee+1H(Rb1_s>yMG@rwqOYT$r<-eVh@P(-ywCXA_snS@ zZ(Y5MyxzK6=gyqp9At3C_`%apXLL_^p7lMe?Wx1a^{Opp+LI+wnmfc*mpxgc)grDc zCbC5AW6{SVMh1{mayQ!9IxsLW*fZdBiXj6hLw-@ZetJ=2N=~YNa!#hcbAE1aVqS_* zW?rgeQF>`^YF>$JMRICENoIbYUUE)iaWUMTzW!&um<o@1xm^iPJ(m2XnpU0eh zVP^W$=@rX)jb5b29X-{3B|)dRPkrXrLra5al{^m3yePW8U+D9zcVZ?IGPWJP9lZrw z^QNx5Aol;IFWXt|wsM-(1OZa)y;da%e&9b;(c`=6cLjXsv;B_85jx}@kN9h-iYwW7W%0{vHrr2BDTz} zOW$&dXf(~=QMYyJ=~L}d2YxvHQCN8`g6ZH7qr0-(m~Y=rEB7{W``7-DG5%@?i*L{Q ze|+`rRpkq}wM^e>Tz<~>`MH_DU!UJD&+u%+nGbdO?<-&ShCP1PSD>5gX}o>QqO_{s zWhE6Fw&D2|(-!Q}mpRDnIK5QvMOy3(Ysb}s8Q#%%I9&p>Z&fv$mr53P+Q-0SspTw&0JH_%T~VD$S`zP;ASo%p2N3mrc3jc=PnMqEta-o!F+a^c+$K^!H0Qse{5AY7d;~=y`CH*@o?jy4Q(Ys^q`}f;3ZVch< zKF%cB)sqz8m>~Z+TTJ`gg75O6q!_Q-lQCmSX7)^q~e%Xl3D~w z*2QS0%GBUo|H}a)b$ZOFb{RUb)QD@JFw@|E)XsQ}#nZ<}%wW-sk4NupE00~cH#X0D zio{RFe{A*{O_MSn@qcia^xrNhFimIMN!#tuZO&WzpSS(~eZKsD1{;@&4=-Q5c={9j z;YZ*0P3YU0b;C6I;D*Bs9{#lX=9I~{Q2E6A7X1npjfm$HGq1Pql{alZ5wW(=UWnW6 zuqpFBgS{&48^Yu)uNftV{+tq@{magBk(K#$p^g$;&6ZC~yzenDR9fZw@6)4CNjFQ5 zG=41P=yANyH~W;>d7F5H84HWN*FEaf_uBS;s@Wlh2bWd`EEA7$bvnD|deXveQk@?> zob3-g`Fq{YIc_5+#U^R=O|s?SiWrXzP1esZtuf@W`?f^fK5@p`?``5`62Cs5=eCY~ zapKhlgE>b9E@kp0v?Q85XrHEFsg?Ji{jkfvO~?5wPCmb+n|s{z{57uKJck$lVc&k6 z^?GY%;G?J0wg}J5=K1^B%l}&TPW{8>pM)Y0voyb0wl;lzmA9?_rn{FkWhd`&doFS6 zY{0y4&oZ~m{fn<^dl}bcdMD{b=l6||UZ2Wkb2=tCH-2}C@wY#hb_M;}@W}OJlvsIz zdGGBRX%g?5E+iN%+3`3=qCq#?|Ary2gP8G*tA+CX84Ju_Of&3JQ8Js|sCq>^?%eV5z%30cBorOKspYI!f zf7Y`&xTN7*=B71M_wla;SJ5ep_9{d%F)(an!Iy?@h)KgvscHE|scxA?#U;U|Nzi%| zEirEm&Gx?>AW_Gs&>A(RyJCM&7tgk-oWU|@q#x)CUa(M=RGYQ=-GG-C7A2{~?VI^yaZmnrNyiDFj_PJ#e{S=>dfxYz|)<-vnkaL?;=7EKiT*2#;m7PSRSr3VExXb8@6NlOVNe;m8PeI)x~zc?3@y% zn=Q6J%k6=)$no=2x+EX%x_SRwx9Me-1FH*iRTkVxJuG&}^o`NN(}%uh=pWjAc;>@3 zVM3>0Z8kGtvwVLgCN{>{=b*u}9ZyScK2;4~QhM3L-+J27x0iS-cb$#(-|;s%>0)8$ z+p4;KVL5BOGZHPtGpkoi9kJed=q}r&?>qHXwis>sC3^U^{n-WQTy~xm{Jkep`k!mt z>*kAJ_Dh!T*wQy$dRF*_wr^!`nie@6%aauPW>8{brdjeg!2Ix`2WOP`ow=;G{q)N{ z@=MINOGSh zzsT0Sd~%aY(Az7HQq4D3IZc#XB%M+Fy5+0yX^)0;{-5q|o1C{Zjq~>YUlHQHB7H_B z|6L=o_S**A4*n>QPkUK$sbho1)!Lfw5AXBubMa1V z;(U_Q^Vr7uy;$6#1^TB>Jhx|dBp zyzF6nvU66b$h+7$6IQp3I?pe+66eMqv{+p4n{d!#@oUp6tB$l^OkRs7)b#hIWQkVa zSNc)1aB`jEYu2cXPT$!(O}~gdW4iXQ{6$6k;+6aX`xovv_$@orMOLb&^PQ;**B6sH zH8UcPo|tW#!lgUEa9hFV$kXNXy=#uNhQ|Ec)wa?q+s#|Gv;3>?0^#c~tsJ~wy1Ho1 z-q8M~^zyq}5zjd#JwZ0fTXs3fgk8Va@+=-y#dJS56xU&9V2EYMmpyHX$)4VM`Q>?# zDh5*N1eYY1q@v}|xnY^*BB^3^ahDcO^6OMtlQ?mapoi7n%*ZPf6lS@&EU|X9ntY?d zd+BT6)#480(|A4EfdS)U)t_8G2qsz zXC=<1rKfw+bbBY?dBzql>(_pGm9Q`W=P!xs^GluHI8!9!zuXWG@65OKR754Nqn z^+4>>*4tg*oGTA2G#amQGv^dFUOaow?Oih!Uvg}h-PQdhcWrdk?L|`ZoU&^flR4DZ z?wR|n`~_S3j+>i|H}b@Qr~M^9dkyIQuR_OIM!Dbwm=rXBj8yH=f6 zWsxvDpA~a3&#pPA^3f9Q4Ms;Eg}*#*{vu(9x9^_0>UN!MK-{DC=6iZ!tpT^$pD804KO6dnNnx^te@wK-gV_pDBmH$tYRMU|&p>xgQiq;u%x^*1Dr6s?)CQQ+&=700wBO;?EK zUq8vQ$ZwCPQA&*RJtrfv2T>o(Y(tl&mff0JGi|n>bNJ-*3l`3r8PVAEZ09oPnZ3rG zz9Ict53lXpD5JV}-;+mq&ZTqsBont>StKdg#%kRDciKA74An`$f~w0;?QqmMx}h`i z;nNGMIScPdUs?QagZtGyN%Kd`6t+D|`?WqxYN}7>k-g3B6}R4I+|y5%zQwv!R?bnx z@!W$&X89Sjlx2TN=rg)!SOCV^SYO?q{ z5ubPadJZRDtw`Oe-l2Cya$89}WB;PaJApo@Lu0-ggohMcsX5(p?i8Q9;#MBN{UafF zo=NZCh-|F>xy0sfZ>^HQXWQ(wv))eSGKZdtD^_ar9JjyVvhUT-g3Q%j66{Scj@z=B z9=>ZGn!ar2Bin25PfRdcwfk__vAJ8;R$nUfk7;J+Ijy&Rr}lbjsqLzFq>t1_I3{mD zGGXDupnGx+TD!6)oN_q(G$Y!`MSI&{Q9WgGsU17=I~E?>+9jP@7<|-7vQ4jq|DtZO z)LtPT!(ANNVrf4EG^IBS74cmE>AST6~>gBZn5wg#}wY>V*E{$LgLGG5?i{u zC!O4|@KS+>_(_YVjS6lb1!kUU+ibxkzp(4%%{vPpeQ@=&yrCj~uK!^m<2OUCe@+!f z^8_}f$)xW{JJxbV)kgKxs?51<2QSlS5s#C0*|dx~=^t`r=N&6H@sRzisQ1`E z$w=?`=dBi9p+_gaj{J4|nQEJC=bneJOt_Z6z7^=U^X&SnZ+o0X7w^6k7JE7^B5IAq z`)PMsEnWXe#fb;pTfn7fKmCK4p<{f0lG+K2#@f;f>GuILYMgrO55E-I+iuUjcfY}v zv>fgE(hJNce>9(e{QGIHgO5L@2rOsml3K-pP$y|F=_=kR;|IyWlPPSP`{p;PmY{HLCha&So_Utj9v;00A%ZuI} z3#3&;0%I5tZ4$TUiV#vs{t^@4m8$tS(zbJ-@C5w@_M-EgUd2Qlm|3=aijzQ}YSHe7 zm^F*)vu&NeC&wQw?K#)-+I8u=r3WHeR@u!e6H!^ZXmQoXOSQ@0bUmM4Hjd1?W8V9E zoq?--zQv3cVjI76NUeJ3&t~QElj)uJR`z8D|1B=9{Pt>n;B|?NHS=837O0ALE({-6lIKxBW){^JnzSP$} z|8l3e{@<^E%mB3W+E(8Fa$fbcj&FNYSMPPXwZO3B{g;^OG7tI8#gaO= z$ZEPg@R+@)T8Tqb{HOG1@6Wu4g{p7;mXUB?`1CtduuWmi!Gh!bZ+6KRoE9y;T>9$u zzUPIRrk!8rurK6Dn{S!uapG)V%&)}<@?33%xY{JMjvteoVWM<;!dGFg!$qHO+-PoT z=U6RLe}AIimxhPy>ZBYhyAvboqwWO-HbgZv8H!py`7CkJ!ujIk{M$`S9JkE8X1UV* z{s-H*@|{~=uhn?>Hmh>B<3;(l)Z~4$4o7zV4qucoNky(d!{1pnSVOcxPF&(x%}?>V z-yDAgIsLD%IXc;0bBE98hu)LQVg)bO+`0B&`S-&;TI-UQHE8cx_DD(ZsP8oix7wW# zPan)*FMIXsd@vEkk#wXl?N@s~B1Zi^U6C|O5U&i&bDe09A>om-9Xg;+0FW0g)< zudOBP`d{{Qu6H}H6FF_eO39TKvpOUhGrM6$fTQ^~qr6i)IA*f&a`G{`G{v8Ytk!7Vro3F%sppSCeY5ZD-cbUKXE_~lJ>G8_o+jqXXMBOzvZGWE~wm^|<@?*Eeo*hQj zPxr@e%4OOkyRMf-k!Y&Rp-oYUP(xO z`7gp&`f}O<*1J2@jL!xG`MHw9n#J)=$ z>O9KOvCxu>^`pcqK~A5wJZJgrwK%jwem!k7+@e0M>?h;-8+S~Nv+D}R2?@RHB2-@X2Xs(xH08gI{^6_&sCm*^Lx zJHqYzo>*p1lX>_{PBe@!_LHvluveZ-1^}nV{Hx z`b)eu`4oj4+a5~y>ZdPAn6mJm$iF>jZC7nFow#S(Q&tbA#}#r%CE^S+LTAsty==u( z=FcK2l5FqJq&)5HPSoo1yujJ|{AF-@2A9vzNx=d|bH#H6-z{Dl{GvU$xx%2uq1a|d zu#;25llva$r+>NDY@nDTcju1J+(nutebc^Z-rA?Q<57nDan;X;nO85YS`uY-{=*0E zT*q<-S+WP9@O;921ZzO$q`|e%w|6|;hC9PWD`1WQz zdRq}V?U_@Nw$an&kv&JUr<~xOWbyP^|1yc#nM$Vj9=3QlTgT1&p?SXcp^ZV!e?7kH zDXV|;f1T{)rF3S>@85c^s!obo3x$%Nui*XbT2sG$`|a<^bE>!VCh*K!yyk-7JkCxY zKBKuTozFHNQJAD;arV-b)fEnY(_^HscR?eg5p?RJR|yespLRcTSrYYPs~NaYV7& zVI|(c`iBdToXVD3!}sn=!_Jj2?=87*rKr4S-(N=U`*ZJ=eR>siPfbVn>2trd4_PlA z4Rv?2W^afvv$U*Xl;*B^S#e71a%|HlTTp^1jjpm^#K^!<%Y-jM5H+9+Nf5y$MVWc& zXnpKb=tPBccJ!;POvcp<7HNA$?=tD&7wzGn^uwj4qj8G3@oww8d~d?jw$~bdvj4*W zV-@EV7vcH_`%@L$bw4gPoqXn=W%2o$)#vZY+wZSq{~*D3`1s|^*Uy&kI=NQ(;q70` z^0t26mB$*V5i584fcc&SVlCPax#T!^z4>rrgViCc&Rua!^0)1j?%XA3)pp$3SxxFt z&95V7<{IIq`aj>Udo3hTx?|(KB|rMUv<6%%=XlF0dNI1i{JPn-S#7#izd)^lI{Oz| z-g~C3OE6%1Y9ezqH{3)g+-w{3`N#YAI(t>exH{>+Z}U9+yKvEL*I9|rW_+(W{B+;t z8>aoOqUjS8Jqn*1Oew32=hKYlnVF#Ac+mLe=^vJdy;5!RWmd{f$XQyo;Gx#KrxTBs z@>=@%Kjum^dD0%(sVL6w%yu|tsnyCR&BG@i9*bWZZ&osyr!#5YqZa|kWZQmnE)DHB z(Md4ukKS=M;NSOuuHn131w`KY%U^rp;9i?)1@nC#BzhD(Ui0^oZFYMUEhU#=Ik93z zBHw4vEr$-QSg++=HCwG|;elWEpgV-fGCcJFEq95UD0nw9VUl>0^c zjJJ;i<)`{<^gp;Y|3msCqbr%`FO=^HYAy=e51yM8yZ%y!mx+PF8SgxT5i#Wu?h>dq z@U$1Rp~&8iTd!tq-50JW6SL(~;fIYY_+vDl)-$?_K%T)WkfwxcL0ZohSF^zt>;Suz`=8M^0YuTy}Zi`DW>mg`3~9_%46NVwJ~z zGI-%s>DL09`2kA)6HbWv-&xRl(DzcOaQg0(sZF8FWp^6p?>{?C*xQ?7`oXtz^mNx$Q= zn4L21f)ct8a$G!{o<2U6%Gj10)Ae(0e@g15%iG?vH190>dwl)GTc_WLtdkJg`fKrS zsRhynoBq8ow&Sh0&1ye5BTPN2cIqwplBNH9|3^*R@=Mh+M6vWy!?9xtm(={MHugVj z`Yp8C`^p@f8~W^L%KENZ-trYRI`nXAxn&sygRKf&o?!pW1J%NZFM&fzVF?1@Pap?TTF4Es$D ze(NV3C}2B%o7gF?Y5Afe;a9em?5>#+abSi*=fxWhf=3;E&b)n>8hNAt**h^)H@PF} zAKKMeh3kJX*i9+S)4ZhMd3gTZ>hx!GER8pR|2}{IeuguNZ4XZ$Jb3z(`rcD(Z3S=q zT9lXj+Vw8i-&wCe-r!|E%%AI6r)hIg+3}#PoaD8>4c`{+l7HEK`%bq@;Cjop^Vw~y zEnG?;?u(tfJSNiaVE%R6ewmAW=4qi`4|X&PT;i4a^p0CHQ1{bx@6Ss&C3e^TEjE{M zPP1L(?QK(NdvJq**YOgS?Y4^slA+sQ|NM^DR~D%m%z4}T}DUA9F2_qAlX zZj(to#j+2dKhQH=qEwoq5o#s0#c{fXP>dB1^VHaV=Y9Lx`*zB$?$f-IJvT}6%jPq_ za=UxyD@>Q$)hKPBB(U?pq_uF2PfcC3;>_x4_b*&%*Opu|@#+M}eEuMbD+?ZOvf|Bt z;nr`}YxKoZsqWO`)R$Lk1&>^*)7$U*&OpISa(x&7$4#@2`{>nQbWA(c5R^5qqqU8* zCw;}E-eteH+rzvpU7+HiRfp}I5b!8 z&av3GgT+FZPOPjyvaNGL?4PL8@Q9B=b>7a5mnEMBE=gT;!8++hxKh~by3iBhdtPy# zxukLF%Pip&t70!`uKspq%NEs5niG<~T;A@o-E)`vNj_1t`)YLw3BLrKk2?2Av`hTv zGbs!&Ts!ry`?QH~z3Ot0u1nq{dU{*Z%0q&Ab=j@zg{yV%l$zOmDIz?ow*x0y)+y>{;-1TTkrGJ78ElvFdWC*m%+al z08-+iRk6LH(dELSBLDa}eWVs$C@_wAA#re7=4B4om#y83A}ezzUlPg6*f{UZ95rWk z-w`kX!g1aJ_XH70e z?v8po&CX|@+s?;a?v4{4K8UqDepzk%sh2e`*Ilq-{Vl=w)crX7=bbNO(ozztOpNX9 z45lS_@cw?VD}6?$`;?4 zNrAG-^IzXt+w)=8mjk|+=k3ot8})6^)ciS#H_8ug;CV0PtZ=bTyNTICqOB>d?OCp! zhz!?bgIUTQ57w%^IU3k@fz@m8!v_c4mPJl(3KdAUSjBz4pk-bp_r3>(>)-vlez)&I z?3R{78FeL&zgyv)Bp^$~~P<7NZDg}O}wvr-J+y7)K8w0-V8Id{+7d(6CTo!|e?%B{S! z;f~_Q69p;70lj@Mru!_ppnB3b*f&^l&QJfxCV9aZd}Uu$-T8Qj^YH4Nk6Xore*WT+ zZ!hF~-r1w|J;O?-?cLcMIjz>Lh3oZneBU^n^mr@~c&XdY)AK*yob^p2F){m(^*-37 z^Fp=ekih*Nc^6DvXU>*f9xFhe%Ea3ZmsRt zbY{gwJzKQv)Y4ODqgsQ*FPzC*<@U0mch!qaKC5z9n*BGtdrkCEsMf=tw*fUgd#x{+ z?sPWYwpeLLo4@MP>*b1f=g&ER=tNS-!uR!QDu#8IS1Yxa_snLJOUyW%Zk{ zd`PLGbL~=LjsI?6Pp+R-oxHa5&#F|JcKu5MVjY6-_@wm=i>x+Q|NE!Nx%f@~qcDlb zGZX|pbMEFoiQ`G;QE}_qtELm}x9XZe`(z&TI1Q26d=1ZJ@~YoZw_B- z!Bsy$uM3ABDE#ftyB}`goOmH!QC(~ghgQbTej}c?1+HvuhdaN$wRAV&4t}(1iO*K6 zgH>fSE}MTpwM$#t)biB#7pHV;^E@O|LyNvV~i-C%?SEblda4Y=>I6cE`RW4Qkvdv{7E6UUARnzTBg7^3@u< z$|cpC`{z0K9*bA_$a9kIhoRMlom~IAnQnQXpV}8L&OF_3OHKRwNwVtazOl}K9HFzL zhkts3vRKc&Shw>+m+X}^d&Q?stZZ7A&-CWyYx{VmXr6yuOD#k?Sh+7YKH=tBm+)h| z?zcO7-!Ah0j@W2%=_Awp^$DLWmrYk}v#vW9+oofWTwE1Z^N`3EiwWqW46T+hP5kj#Ov?}4Q(1Q&oQ(CK!c%slid zz24BwpU3wXju^_-f#l`Ekj8rwlW#JpwlrAiBU3A64)+ep(Ql`3bVcI3u z)2gT0Kd?Sw-Enkl7IWIln97HrSoeH!UGx7OqtN7~-<1B}x4&P1>;Crgy5Fyl&u8>G zoKo@W$H%)*!XM6A^|sKP|9tz_8Vj*&Z<0Sd>s9|kGLg?JY_UwN=|XQZvUbAiqX2ye?MGjG+?t#o-W&a-@xabz^1uQiyo}lby9d%rpmh&eW$;M z?v4o2wRQcf@zo4=XweM{;N^#nfsTfbxKS*4%w+q%b=aXnQ^4Nlmhnt!wKio51v z(V4Z~ZK)O4CH#8JSK1WzA2hcs^gn3Gb8><}io~lK!G}C04|8a7EZ8r<*WzyDq9mbn zCoHrBjM!LS`LcT5t?vHz%4lB8gr07t$GkjTcW(1A9)8^S>So`JibbhUqI-WdH3i0q z%{?a3H21#ujD!gurqU%YTi?FZ?ocvo;CRGSw_42Z=9;@sGNFDCWE*F{QrX}7&5Bbf zO+xSgbeCB-w2jtv9iGbl$MpK)Ty8VVzzIj@^hBQ7-nn|6GH3Ue;FUhwD#xwOU-Xp3 zewJFt?Q}mmV4u!yx%h2gZf{F8^x58(V)=a1F_ZkOX1=Eu&%C|rD!WqW+<)mgOLJye zsjJW(czfTwv{opd~HY9J^%1u#C^*TkE|sZ^t4{C>eOGr z<@-e9kZz9PXV$AZ^A6u~?louewduVQ-FnRJ?#2nJ)rxbUXEM|pHS7^6pZ+qN|7;%* zU-P<0T6?d~Saf;%i|+^f6+iBoV6GxJVOFTrw0Z4PP4_}&mY=u%^*;L4E7jk=CX>$Q zg%>R9dYH4SDfptiLD132hx3*H*L2q}?CL(mKe_&;z~hxKxP6Rj+Et5|Nya5@>so!Y zg!R2#QX_-(N2>=f`aSkEM$GyypYWu|zO3Wv+U4%`b^IT%>$hB)q2oRI*NJ7yp=(mF zYwvg%U(*=P^D<)b-77mIHb=eUeBx2?S73JZ7WWU%4_%JB-~FmxsH1=W)muEA zPt9)WT=-SDiSv~8fuGNBMA;uuHCo9WqcHj1Z_c2y>ciqEe=MGPFG6ibul@1mXPxFh z{Oq<+J7h)s8&()46JZ?}jr~n`T>6VJpz@_mRI_?g{yRC8$IjDwwDStxt6+W?_$O2 zv&!~(K3ZP$s9URo}_Pi$8;w{L%j)k>4 z=4#VCj(Mvb7tJ}U*FSYe@vlVPhkv7{6nA_(w9>D7UQy~_=h||C<18!W*3Uf=e96G8 zbwZ$&&@Qbdi{e_Y@2y-P_qrqWdAV@U!b_*vj0D6NM;Kf&lKi#s$=rw^fvZ}5D&LfA zKDqy7SGoJAIqk=LW9Cd?JH=x?|3m1z<2Jm1rQfP6U0^#VxvHz&HLiHB`jP6AWjkkH zyR>t~(wqOC=Wp11oF_!0$78KZ?cQ?%vu4&txQfPyZjg;PHn@MpPs%A%Z|g4kmvV>i zt(_G(we@c0Rk>AFIZ2Ze&wTc&Ih?>2xvFxCR@-0s>tOedHDO1 z$AxjfnXg`2CRV$8!~M_xfmc4SIIQ^V!{;r^tWI9bSAJd8897TMIL^yE`O%H#&g->x zg_up--Y&dgo_b9@Xnpv@^H#s2dr3np}g ztp6j`QJ0s?oG!8FrE=D-zA1ClZapi@K zSwzz)$OTst-r}=|9^DqwbOOeD!)l`MUs)FJzu64NT;^2hAny_;q@Lo zR`XNEU*ta%1H&A=U06p3lzj!L87(J2IXg2iUEj4LIj6KZvn{spsf%Mb?m&PETDzw|acp6X!oi^>yi%Z1)AL z{!IASIL~rn(Ss9>@}Z?Uja4t?(oEj(tu(gouYdQB@l8_fgXdqrUcdO=U}Bb+885$+ zDc^Rd&?m;ZDJ!|9pSpVWSR1L>8d^@Y3la_rj(=)rBjNoxQ+rNopkDgKb+#In+vlrQ zuPI&p{9j=z4|AQ;;<-^t#<`tywn;87E}EBaXm{)0Z8=xXvxnuq1(@z`UR2cOw?(n> z@S)VgXDL}4*S4voFYP?;b97li@U|}dIIZAH+k7cI4cB}1lfu%TFl}K8(|;0k%x%-B z;v&aYJR3ANR4iGmcb{7)CuiRG4K04+jJuecW8zdxa=85CwS1TE6pFZSk?T_;Xx`$( zBbzsG^ACHA1Ky3>R-Kj$yBK+li;XG!|Fj3CnPKsk2WC0Ep5fmryQQ+~Z=A!G(*-q$ zuQqIca7XT5($8grB^R9kch>!OSxgQzQP52~<5+ zZY@96&d9*PjCZKc4mJ8qOEPox;b|beD6ya*wa6v2xTGjEsT8!YB(x~UIX|x~wWtIm z?pp(6^Di5S*rwez+Qrbk_VMrJhfAB6F&=Y{5Y%_}@Nixb%KY`BXI^lApRlE0yufe8 zKV7z^LX#_8AGs^eDP=a9upuS#`;R%*?>6rL|KpSB0pT@9HTUk{=d-U8?Emhedaq5K ze{Y}o^GHP%bEWXQY3eD3zLP3EzZD(vwwDXs6CM`%GM8tk&dSH4E9ZYaBwotjHP6;} zQR(Tc4_DSjcxE;h9r=6Q)OD$oVCKT0?mo}y*G@l5EZ-~ri?esH|K|jrvvqMVXT))O z@+7XitZ>z4qDY9_2?q`5s6xq_3wty?_KPgNsI=&t84uYGuQ{2^^E>aYv19C=LvLr5v@hJ4xqth{ zu1Jd&)6X_m?v{Lab5%E6+MAcMiHQakpFappSBv=7wp4iw8^4usjP;STobTjH`24Pz z{+3Cr1E-p#j*Y_++kHy{fuu-~S)Kcn>(=3I0(~`LpPY-n@XagJ%8xk8`BH zKVGAiovZQUlv?W4%^&)BC#P$kJE4BFXEXPHjoKO;)yF&Kue$~X&3&QPtllsGbh7fr zT^IBJmn8NG)VZD9F!6>{blUP<#W$1YPLDg(&*t77IO(%d-TkJZjQ-WFr+>^eTXSJ` z%tW!iqQftv-Am8v*{)vopgCsVL`k(%mX6qZ-$>P7cUi+sm zmq>DM3*MnuU+EjLZ0hHAceb%keQ@ld_?_`7etBL_eqxG>OKMtTX-)}@A5fH^UX)r~?2}ns zlA4E6So8)5=3fpI`KOop>RPe4m$XL6gsY2nIDMTpwHG!rYCC&zzP_?xk;mj4y|s^b zl)ia$%WtBV3uMp8q}` zuOG)`(Yszk?(XjGVLOwz?bxbWb34Xp?KaEoD97#3t89vx_g~@7aV*rdIq2*-TUKt` zn!XKYhj&QN^3HwNnsn`rEZm)T!H_-`@B}wBmTsM9U5^nqi3w1l5^4gJzt~Yi(Z9k({{Y7YFa4evHXokUiG3qs+H^2Q+|4F zcv{W4y+2+sSFZZv?XTO73YKsj-X-mJNId8;gL7K*_sW}(_XWr0=5lCXGB{!Ig0)Xs z<#5PfW|prhn@<^}T;`CG3se-hWBIdxYQQRITg_j20`313SWI8K^Q>|EI;XtW{MV$1 z5&x7~MXyN){XDd*F)*bhL&DggZeXi85k_uSkdQJ{=oc?RF1 zG>_-uVO+19r_b_`Yr9yUyzAWJzP80KSD$Vd-4dpKh3CnKm3_%G!V0gOf4KSj>&N=u z9fF#brgIW5{JPV9G;4O(iR)ZnzZ-@!SBjL>^eG*F`2S7hVI5z0*BY(gA$9(8S#D-W z_&0vg4ZQ1JVCndIntDeHU#hI?9HmKrKDh@h7tLyXc*6Qf)EoD_@S57&Lbj#)CN&2Q zc5ZKxmX*v=)r{*d3OlZ(rSkHQz%(A2V}f%_EY2Iun^V|alw0a=b*VaG<~y##|Eywr z^B?7TpODs)fA(^Y+o>f6%T(0zeK_Z2xPF>+cX`O+x?gdNLiw0Q7>{+IeLwH>KX43f1XR+e`ZM6eUP{>UVrT1{flQ_NLK%FOS8umEd-RKQ2#5JhUwg-$Gkho8PxO8N=n3C5W8?0Z@qwq7l@~ly6SO;eVr%?{ z8#;E!cZTnL$<8SUfmgcFe*v< zOX#$RMxwS}#+F|Hc)sp-wENqC(j=&!8I(aAE~~O>GBYqd!P}BE!ColCGNejCQGP|G zV`)i7YF>!TtQ829?H zk6U~u-k#TyeKly&q1Bw)FBG|gC#NMgZ7|v!9lz$L8S5S+{~lI>^HaIZ8N4PV|4;(YDd+8KyoUKVn-pK33RBGoc#;)3%TPz>spu2 z4__{6wLYrvX?(iGh3KM-scmJpyVf{0u2N``6HP2BeaP@jqHkKu{v)>eSEr^io90eV zjOf??RV620ZgZP8;j$KAlEHHsuQAL?Fiw#q% zKd789sN1jNUbu$ay)Y02H%|Os@F7N`PWZi_ z$5GXocgIxLT{sgJ+G=q0!fxH<>zauZtWRWJm+x08 z*;O+Ru4&@gWOCB>*k_a7Z(m1qp#*Nbgggy#GIQ@W!wUSH&(I@-N|wiNA5=tWDsVqnzcxYjc>( z@8@SGM!(6;_z%uc<%_qeJ!N8G5X8H>N)dm4LTlD64d<+p36=c6KgE3W-8}D2xy;^~ zvd&J$ZaTq3AL5p-KCp;Zz%q$F;^|jLv;PF z2vV(E9^GfL6T`>EPtR@rU6nclu8C0d%dwuC&s zwjz(``zp_M%XQhV9V$;Sr1*qjoLRrdL4UoSPFF*+ zxt$A3efRU9-gu}xRUddECeV!_~@@9MY#!KA{dWjK6*`9~8 z9);@WX-xCe)180x_Ozvw86@>%dc+qr9kj2Hby971nR)%_ah=<*Uf1s6$rfA8b(Kf& zteXD$ljlw|Op58Y+PHpR;!U0V;d$cflLVCNkLvRtE0A|Koz@q>H_JTsv0se6n-iYIol%S;MXrKdtaPX8#_ySicXiaOhSau5!p5&|4WWF9hN1pB38co*;#BiW!wMWvma|? zG~|o$lre)~_38HlItZ z6^)Hh+rG)vMed~c?a1id#`VY6#@%VUKEXj%EIZK0)M~ewMAow>wRYDouF96$*Gxy_8joA@q{V7S4%5U*aO}?VZTdJV@t>sBxb(T=hGB5VY zmyNj&EArbN5cttQH{?+J3bBl`nZ=9tMEy5-_w|v6ol~j`&vo9fYPa+F-znEysDFC! zSgHKIXrGOnX^~$*c2kqy!^t5tp2SMOUU0bMpt`~9W2d7Rov>+m9CxSR$859HA`hn} z-TAj(9ON|Grm(n$eWf~g`c0R%RsSbhelrXDu4(h+sEORNOG?_?vjb~WA!6F*2{oMYOFCBE>ag>xI;YtP`JkT-&N%-(zZWV6>Dzo ziB7W9(SLH?R@cs^bA9)h|7^`VW<9OPCUstDSasCtwutw}W5Ii_&a^ygx!*N7uB$@# zIHT^WWfG6&YSj1tJe%bxw9i|&V^%!>R7LZ(Z@zfMR-UcA+o&{mfB*8mKji8T6gaPQ z?#|K-h*)N`D$1E#WL?&&S$QYZtfnrSJy*|iQSaqor+v%zPv&~>zBBTInd19tzYJxS zR;et?tomDUv0&RVPpz-=)~aqRp1*uDcYZ2+U%YwXqxs{w~w(p2MZ1-#hd;KEy15y0{e7?I+y%~^t>S}1(=D+cizrQ>f zueq45RC#4YvC%4rf8r-r%(VQL|6{jDPyGd%yI!5T_cXqkz4lUP-*HjU);PrtKad@ z#hgCf$kc4lodIEy(l>XP3x!{mJ$~)i&1H~p5w{8G3lW9>=;Rx*>@y)%%)zsc6B}14yJbwCsnQ_ zzr8Hc_ha(b$sV>z+>t){%*{4IY0maxH#W?<=gze5NS5@e9aq{yzlewjR7`BUzsAw} zWO+|Q>|5rHuhGFfR(99~r6ucc-gsGK_OXK<3w$0;RsV2{^S1K&%j?BmS1fsN%5wUH z)t-BTr}!rIdvWM(J$fgt+p^PIDc0=YGMRf%ta?{5{5^4bhq2Hd^Um!l1uM2_Ht%M7 z(&{WJ^U{jTKbGzNJFa<+*-iU?{e6FP`oZ7*2i!Mp`(;1lp!;9>Z1F#`|NMQD4*AcU z-QzMV=HE&lxsUa`ekk6Ve{ivH-hau)`g^VwOK$vcH4tRZb2}Zx<}VQ1#nNrQ^Kbm= z2eY;B{Lc8vxoN_c{2Q_bKlkfa%s=%!HFBD++3{5}hc9mKzkdB1tL$Ur9}ioEx1`Tm zpnHh%(?!icEZZMW;N^duCw;H^caDW)o#2PStnIEW^OwYFJP5A1)pq_tq_ovP{pC#y zwU+(ST693{vE_~k!;7ar1m~P#`(d!BY||aRO};z+Kezn8o%_vn%Qemk`_CoLW%`}V z_gd)2`}3{73+m@M-d!s9kXvZ~_LWO+{Li`Z^uPBFS)S=EF^QTF_^PuGFI6pl7_`#v zO}$<~5!3%Op`nI<#TNbm?=q2K*}#*^$-tl`gm3;x7klH)9ejFDXmM(hM}BUqPkw%O zX#rY8t{1ijTKjI@f{4I?kd#mj&fC3@oL!Tef*venyBsAvf7Z))Z_8fRrIu}P1D$HY zo!sOmTn}CXoze5CS>L$${G8(VJIkNl{(e55@y_wC1G^tTE_>X2Z~C?7AUNU8itx>$Tr0bG1dp&RTdcJM9+j^*AiW}<_)-?X75wqs;$b4QG($AFhDmIH!n3RH zXTny`-%!x>`s(aGa~%FRSif)V)H(iIq{tpTC*oKv&UurOfngKgp)M_ai3d6;4jSS_ zOF2s;Icub!POZ;3xzuy)RHC+@l2g+o6_-BU*)0>C4+_M4&N<UsA2UiJOm{rUU8+&bJZbWuw4Sjlx>^OF1uXW#X5wmD0ZOc&0|i1)4az2d`n zOt{J{Z&{P4aaw|Ht_qKBaze4gd6vb@ZeI%2rk}ae^6QJsu@&nj-|(w_J(v)4!Jx`~ zUGLX8o*Q4;GO`c|4fwq)+kstNkx} zIc=}r-?907l=7_56Gv6lH=Z}K-(YXE@&05{pPW^DCuN>Hl9larK1Jlxj6Hwd%EE7* zY2t{;G0v4TZH$`jcC6#srH^j{9*4~EmHTu-r&lY(?DC||hqX+mXNvJj?{;ALD zxv}NuXY=0mWoF1aL_3LRY?<+AX@)Gg`qxrk9Wz`^sKZJn3r|Uck6GP5P!$sS1TB|ZL;i~-P@G*SkKm)K{@Wo z69(rG^Bq39D`C=!`?=-unSdOqF;k< z1ilDTbNwOIQSrhk`p;>{*Ow}^=Izbts(2jta$#E5#TA`Vxm({|y6mR)dSRL4g3fI> zTy}q1@^E49H>o#Itu7R-ofo(65}$>`;e=Z*1u2i++?M)%m}z(!yhKBemOzf;QE8L@k`@w zoK=%M(->B8z~|8a2|TgS7Rai;KAqO_;Y`fU<&Mg=SM+yCTCCXOebKU0i^JNYG++P3Y3wux7KeqY}x|S+svnM&b ze{ngtA~)b=)f@q1ql+bb7R+B&bnb&&)#L}C+md9WmzyuY{7WF|L;QkRTjh$xsK7;c zlN8#$BiRnlexWP1cji5-*y+=RkEmsaEZpu`DJ-(>DUX z*!|Ay&0F}rBT8i6u~Nn-wNiWM-aEhL-PfkX%I=Hl%ib2eJNZ@Yo9M3Y%ce2*KyY_@SLaf(%w%@?7@dwcPbP?2Oz$ zJr)WIGCW`Px!pu+Y5T&d2?hVJ`m(jq>Eng&tmdU9TuT)vzdkE+XSdab zK(pxjMmg~d@h;CygH7&zM*0{wlTHg@$;FC|T<9uJ<)giy6LZtkU_9R>Xevldv*WSL*@jPd2 zZSaqx<36wcY-6aD^IbJFOK(ZxvS~&0KA$i8En5{>@HMc;x>?;b-oD(zv15ML7vn%H?L}!?-EJnE z4@-Qypzq>bYW;Uo=E0D_sG^T9K3DF?FaDvxP`CJ^_af86&VSaeQc^nF|9DaqUcP_H z-*iNNqWz|2dtWZJ?{s^n`pdYdRgN)pf8T%5 zlWDVS*@08?22bo?)VECiCvG%rrQYTX;uSA?E_`4XXnGb^()BFE|EP^l=e$RZWmC2- z340lGBl1PevDvFuvL+^_Pi_|tGcDT~ts&C2?@P>{v7NJKhr}5;`-yBkB%$z1f|+Gy&%%R-GiKik z6T9@KCw0Hd^v^=aG77Dex6BClTg{bxq~PI%XD&>wDMhTJQ)OmOp8lDuce>%S?wie- z%FO2_-?J|ls}C%&m3a_lF4A4-tlQSqzV_fFF}|)p6Egkz(%NnAaQuIqb<9UG{n2%4 zxj1I_!-tMu{`9UQGwSek4vsUt;yzk)GdO;IZ4v$O_V^;VgHh5m#BQ$n70B`TWQ>w@ zd-w0R*A_cIop4Or^+0SuL)T2VWAlwRGuS8n_RV^X;;-ZPhy@*UIKUoA&Y8PDhh-ykU>e zI*{C zEKPI1eeZVu)_H03`DdRRj{W|*U`9>9BHzP~c9%=pNoVv;Q$0lV>~Hl;UYwJ$c!&5t z{Yhs}ZHk&XYw;Un-rmJMzn(Y!{(dwt*?ZHaDT||YXT(HpzbwRGaEG_#jB)oVg{_G) z-ZQFv9=cRc*KrR`{Gz(qaHYKI<@WO9liM^Wag|q8OjuvM`DBK%c*Aw&2}!$BUojb< zh`Qz!c`kEK${F8mrl(7`PcoD2y!trFCw(Dm-3LP+nol`rc(k@qUg1>H zrt3x9%oVqso|Sv&j0(-JW9}NA#Y>Lp-hMT6a%iR0gXhdO+mDqSrYVYUiE7()=;;%OxBtZW>pSdqp8VlZ z(lnQFE;_zP?#6wku1oGelbPN=KDw#RtZu4d=^=T|LW72 zWX0@q3g;jD{%N^u{g)j-O7~|>5_n#$K6{z#`2||G8b;er&Iq0od)IpV_U-S&em)WL zc&*muo^vA5Ax>U?%SQQa*N?q1m3}8!{Wh>-XQ9rl6RD5f*JR&(mLc-$<(1$I0!f=P zH^m=SjI>&+{^s@O7D-#4uV&lMcktb{I~HGX_@P|7RsFMssC`in)n{Bv=baLyul4*L zYgX#_Q)yPWxt5#OO`5-{H$V2$0=p?ZOIv44*R}0mGVxG+Td|4CqV~{ZUmkkN^(6*; z|8V`yoPVVjDKfP+QhS?bx;1~Cv$yZ$<2{^RcXx(}Sr!B>{*deAxHe5saC29^N$!EG zf10o5&aw|%^6b6w<+_Ds`wbf6pNh|T*6{k-y`GsTQh9H0(vP~{_9wP?zWChMS(k#B zo!Ak^z4z{6`v>w}uYN15ciI<6nOS%2{~A%au3^{iK+UsDay?(Kn_S=a)1o%yX?(_? z;=p{#=^{*0 zCEah1-}(Qz_tu}+H_rW4|6}DL316+X(aqOdW*V*&5HIRn*!fy!PF`-u!!ubP|4-Fl z{-OWp`=rjK?+j zPGU(F*>|NvMKZYO$pnM-7D6B6LW2UXoUW+q&PT({%HSMhzu zEw+=wYq}%U&N>_0s?O<>_&m|}`0S0I){hS5M)BN=evrEG$>k-imn!A5w%5&n2e)Rq9fAvwPVa*%+xYd7m zO+EN0^0F42Vt}~vG>spR$|c-?KbEXN_pfG=SFA;qledH$`vPvByLG>32_AZXNT&2# zw{uH#<(3)Df-ZM841@TCYZvbNrGCs}w-e`9zn(4Eel$0KGl;#`71O>{LhVqA(LAF+ zfe-VVH4>)HXia%`f8FxGwVB2*`)3(07T+YQyEXjIr8%uzI}&o^H`eNu@Y*`BTvL~` z=#>|H*Zd+~sn}&tKj*sL7c-vTb+bI{($%A{MYz+1jEE4=1)<^dcDZNx&s(?Yf7|hl_$LP% z*9lr_%vZVlljEwZQs1hK{+QG+Pc-8~%O{t14xGKP~`d-1L zJej4lkH2_3ae|H8c9$mg7u#&^S~|U#UHCZpOQXjL$uB3BzZ`6Tk?f;5{rp#fg(q## zEwA;5M%H$HyCJd5e6&BI{6 zr!QaH)S5n#u`8DUwm$Re!g|GUHVq7cx9EfVY-3Nt6al$6|;>$XK^UlnX)h)PWLUs8G;g(X&bAZ4v*5ZFr=C`RRUxM6z!+0VHXOHbWBv@!j6%++n@THo%esV?+y_Bmy6_R~(8t6ixx6IfE*ex9@0 zZ@#4J=ikMD4tkv6jek`A=})KOK5;*l^@m?CUlnTbW#-P)pZ_#GjpmB8=RPmwe))8J zjy$*Kp^8_Wc8ppVR!?OynQ#0=uB|`es2BI8>Q_$h7WjYN$+~obLP?Xn)N<8BP6EwN ztft>N|JA505nZ{n_S^=6Ky9Ju$oIw9eU(a9O$m6oJbTVF&VP?2>?JvWD=hP0*KRle z+~>_ZU(Rv= z`Z}!t#R^55F0uJv6dwyxd+&lY^-`WJTTvU&ff?88gme$b3PY$N}3CHFDg&j;6o_B-<&Y%9w#mfKk zonP)x`6q|HkGO2<Ynt=!@j!?wz+E3T-8 znDth^vkJXp*z5qF(md<9aZ-4FgF+?wXTl9Iq)ahT}ge6_u9KSQr=Hd~TkMYcJ zH%QIyRk^5Fbir=YNr%J2>f*c$-|iITJ-_?Hi#yIz3#VODKk5AaqRy`QX_v2O@Y%W- zM=thSw@B;d$#;{4({wSvuYM8 z%3J7r&LH;Ho@uk@NbWjQ*`imzuiec0{o=H6)vY_O1+9MVmsPyC|5ohz%VJA=w`py^ zWcF11%ECP!x2H~DsD0-3h3PJRkaZS!MRvFIiZU>))WkPbuf%||0v)!n&@->NBrzuk zWBq7vICo8Ss_6fE&&$=-vvX_L+`hDTS6=hF+*^C2wi(Dpvj=IUu8~%~z2uJC_P2K@ z-6<;GoVUlt#YKdbWh--Fz{(dQGh(AO3>@wzG%Q+SGiMLWLH0!}Ry53hUgNoI%jsvo zelLAK@BQy{ziXb)$^U=^Klai@v6odcT_X^YF22r?f*j z7}uWlx}o^k$2f`O%!W7be&t2;yZ8LEi+=ys^v$nl5qB;sPps?~dBQ1@du{uxuY$JM zV(a6crztbzVRvq&f(|BT>X#8%CS#IMcp0wF>Ilo=0vNrM(F`o15YxeBU6*KxLUeViZo#@@q zrIT?o(W9EnELC3hSIzR{J?Eo6jy+fMia!55Y=+@w%g_Vsq*j;f=`6mtF+y&8AGh9z zMG~s49~PY9=576BdX+o>)#>L)S$v+Xe;McFBv^k|q#)cdRx>R-AV6_~`#SaizU!hc z7}>R@%r(Ew!TOm+twj2q)LiD7U15Q32FWYM)gQRH^F3e9;7QtvdM*=|<}UD> z*u1dGcS_0LJpv260;XwC)i@!((E0H3Lc>-=AJ!X++E&4dJb|AABxWmB+4w0PQ&}6M zBFa z9S%E^Q23$hBv-QZ$G+;sQv*#T^c*4Jxa7<+j()3$}A(d+t0pOy)2Zqi|#o8pvvgQiCWhA z%a<(pcPlHWc+U?eKiwm|Ka@m|&xqNcNHuP30d(&Yx+b!J!@;08uzD59+Z9J>HPAD&+eaT&0L##ULH5OyN@qr z`2EW7&QZtzYNGGo)O>n$`wp+!<99xx{^?y!?*l^1*G$dzJ$rWMq93vAyuUxFeiArK z@XWfmtJm&}ICAN*?@LCP1&YV7TF(3Rv-VHJ*WJ@MSqkpH@+SA;v-&MLa;7~T?~m)L z{YhMvx#ZRJcT?thMy>8XExkBthQRFwTDzxuxjemC?fPt4#YY9V8K<37a@}67atWWF zDE)A2o8IrM$}^96W>1N%H*pt8nOqTbIQfTQc*n)NBED7s)up~A=&S07E-m0bn-XVp z@YtJ!lbPlP9O=4zD)`Q_?+-G)CaGx)a)uw#S-z-yeLZVxwm<7s=2Oe&2U$HkvC!v) zh>f>g=j+&GRkK%}S+lCJHEEA|UE_0;KQjAeu4fou|2U)f+x0n@&vSQJiRw=(Oewn4 z#p-eLeu`GZl9=ns(X}fTKWx9F%cCB9Wp736-Va7`s&m&?#P*~yi>?pe{B*``G0A5E zH!UCTaAOF1$-8G|;P)T3%f2tsVqY%PSr>g^>%QDA{V8t+pUQt+&h&?|Uhei*m3Y>A z#a5ZsM_(N2KLeuRVSu zp|dO;brz^Oe&+QJ?TkCFowcIlLe^S`uMd@k%;#_=&ldEusNvRr5#@T;Vn6HSn2;BT zx~#;!dt?`1eKC3Rnh1?{_Kh9Ot{%R0T`j3k()8R7F{7%d8p_i$k~Gb?&78@V(xSa7 zI?z?TP?@uLN{VROoG&XE9G@k*Zb6>H_g5hsb(Ed0ddyzEtev5%Y_M!jO75ByvwqJy zfBMz}^;>HWi=37GFY$1V@$%r7*)Q(;EVi2dpHi&H$|xY`_rq+Gvsqt${pFFBG$7&E#j_WOH`+xPg16* z@?Yvc6?0l=H)lH1K9P?|IY`k#yh3@BRqW4;F z+HF0v+d^W7!c@I4nRdT^mHal1Gc0%!I$tcH_7(GwIS#KLyEWG7JY28OY2&5GnX%-5 z_zgw7wTqY3b8MeDQ!`%WV{c;3>e>evCNGKqr@%Jp#>?-Thj;XgN~;*NeF& z#_Qm34>v|tYDomBShvc~IU-Q~y^-g5JM*iKDX)TSXW7eg)xUajXw761_M#IU-&o8I zk0vjwkzgPMAeNw&J$N6<#67wcatNNoVKgo1aDa(J}XZAhi&5rYzE5FdQyfQ6Z%VqX* zLwn6nr#@NVYHOJ!(mF-UGw@EoZcfeX4h`O48HukZXsEw-Kf-fMUdZ@l>F<*ls{@~& z))(E(oOSPTKvN^rcK=M}>tZTLW4P`#USkxwxPDILnZ^B@{}Kb|in#ohN?g_QZ|{u9 zr%(Slb~#Y%)$vrv+*02loxJJORec`(3Hx8GoRm4ixZcC$&BOO0GTui$Cw*%T+Gr!| zaqGBK73&=>JrVWGB6a;O)|qXo79H#=H8Q_d?)WoH9-jW8t7ZLTU(Wl-b_>-husFZk zIIBhYNC@ZYqcWV@M~gW91+!Iqy5c_CBu?*mt+FTXj>5y_;~xSU#jOOe7qg|9mKPa{q8kK z@$v4M-5^25>yw4jPyD#N?zzgj2_MB{^}XjPK3>1;-UJKhWA}^psu#BP$d`ar7OZOX z4UsfoEMv2Kj`P*6vUxc!a(l1YesMW-d}~Nzep}b>l}U9hy%}6bvnpK8)jBlPc1anW zEamHpc^&ZPR)f%WSB+B38E@=(Q{QbiJi3=H`0i`Nv$cvf?|g&$qQeTm{|B$cP?|AO z?l3n4!!A*LeFGfJcs!wf11JsN0*zI!ZqJ4>BsEm6Jq#^W`sELUER`L=g{(OKTS z=G}WD(&lN|tk}9&beq{s)3ft`mW5}F<+xY9W}W1srD&wp8S!@F#u~BLXSbf+x=cLi z{9gG+ffX@JVudd(yri;W%B&OpJv^pAx4WfDO8&RlxbsTYM{9WzaqZ-Qgilf5maI<| z`kB5qo9mNN+s*gce>8e;uCKb39`Z{3-)@~POE1MbFHc$9Gh>F;&(fVIx^Ekq?pZE0 z^*y(a&VSP%{MYqay-t7iX6IWaI>qo|0?XpX5>96wS(9B&bqy*GtZymJJN3tyd4;G* z_|~R}IucwegZUaOBk0tK4eg^9`?796KX?!QH#I`;t0nhsr9J$zEBE3=Gfl zZt7RS+tWjfz@-t~HNnqI?b$u2)d=$6mQa%GOe&b5dit55!HkwGW-5ka{Yf053X0b+ zZLM|Ob$#!5u7XV$@|17i%6oll8GnZKrkw80x^GXhZ3>RMvHIk+(zm-x-_E;xE#>aD zy}RE1^?3QeW>Qbi=_R*+e7wB#{`a}>Yo1#_ua}!2|M%ST^@11G&Kbs9RDXN0O+BjZ z%NftZr?!=BPic$36>U^jcjnB?d705C_slglcrRh;T+XZ0_bSiGI4i|(SL>eJmu%NO zk6FAoHAiLU_2ZM4oiJ$Ic7LwyEuOga=+yrOiqj9bSg%qy=jt|1ifVf};~Gbrzhqzc zW`q4}lZ%gUOSxuo^;1g63{UAT+mE9sZM|7lf~ zp16wrvfx@UtXO|;kkZyb@VQ)r}ti+UG`M6Z|QTZ_JcQOZZ=jge0c8e z=e+h0yQ+Ooe zZYXR$pm8fYC+JY(YF0w?D+Z(p3LZeQ7K_0;CZ>X*x=$Q{2p^@l?4rHsux z@)y2*XC$kUX#F_xR?wv)?Jd_fH9gm zEzh;wFXMLgzud?^<>cZ>1IuRtj(W1O_g}5+Ps=^r8?{aR?2T#5XNQGsKXx$e(n*s$ zeJ|b_Cre1&T#@eH?yD_rdhUg!zPa38i?inU1Q*SdTp07Ie8R5>U5U3(zTWWi+l?3p znYD$7cg7^%^8KE@rCTl`>c6d$hR0u@?Bx6|4^cm6skaM7Cf_%eHy6qHb$Cnvx9*>O z3ag%*#^21+>q&P1{6GA*?2(BMyDRqW&t2zwsHB6hTWbZt`{^b)yujTSw3heFUe0D4C){#q}CrR0O8kiRRSuv+%PUiX9${u~!Wp}rWYe_b56xaX(KUJMn})5Dw*w~p`QgOIais4Xmx!%a#*<5$F2RX9tE(?qb}ao@ zCs^Kg%yshdgY!<_Tqn5f{p4Q{E=^82uT`rk5V^|S=lz0muJ_-=x2)S$n1Aq0>Qb#g z3*4TwXz-d_{tAo=Ir>9!#<|V%Cg-MnJLCAK1wDAz(X&eRkcRDRbs0Mlrql!n3n%-2=&>g@?ba@rdxYKWX!8 z!hu_7R+#Bz@n7d^c(H*`CFOn2)~K~6R!e8uRMy&9t(tGN$hj@i)z-HEf}5OWZq;Jh zwPEvfd1w3Cz3P1>SJ(66*Q>M5i>;UvH%y3^mo3i8`EqP=$FV}o)l+mPJx#e780WsJ z%j>#;X)Mcn<(ZtV3fj?&b}?T)mB`h+^6{zLix2nBb)Qo0cW|oC^HuxSJL`$v4XvGh z*l(TntykNkrdISXdo!um>+GZD7lxTti&#-Z|bk9*Dr zUiX>&Rz8=eeAsW|94G2MVI9-v3WhgZWs}R#op9Dt_!pVUXXkuf;KH=RW7_&>_$IyN z`f~b<_Mv~PPuwZqa*x;ac=MOn7bF&L5FrGaqjjauMaXsC6yj8mM+rO zd}e;}{LWt+xO68TExG<(8<)#>>zQ;){hFBjPz?{sLT#lr0d zHadb^_df_ty>~x(*V91nTv6Z^(*7b|`>F5G7Z+9}&%f5ra_>Li(S+GWj=Y!axkCOm|69FF=G}U( zC;u7kt2}Hpc=e5~;u9jG`~(9;-uzI{ z$EpQF`fF{4e;rMF%`@_MItFGSNnld|jW}D_cdTP9VX;Y1~Le~@htw*$MnM_B%UXh09p6lPunmLbY6{AqT=Jfk-bhW?F^_Ng;&3|rvM5tn)DbxI! zPJFp%6R#IkxhWW)(RE;*cKy&#quC*s74z1rEUE08Um?@7#y^+06@L=w>WX!Ud-Bgfedl61tI|bb59WNjcvi&MFB3p3_591?0 z2KlqA4(u~AwVpXW?cvGo1^vgq7wVhMSofu@FId9)C+}yy6t6XJ_$K^`_G+1YLAl3* zBdjt}>e?Lp>1X;nN_Y1p?w#;i>oN1@ZIA!d-BT`;nep>`_y4sE6yCd@UA;xE;$;Qv z_Iwd>(~#$T()%lt?d302$nO`OnX~J=#oFD0pP#L@cCuMkkg2nTzMS zwZAb~zI5CA)Gf@sS9dy^+AG?zU6~ra>)nd*qEZvFNA64auDvJ|?*1iN=wb!$&rf;L z9mYN%qn%5wx~FCFN?(}WK2d17bJ7Jj(X|Pm(u7i<_}0&#>uMA;$w)UjUeP|qqTNL# z*CmwW&~3Y{3H$#)Snc@l*W!#BVvTH!%}2MeSbk=4dwuXdd#tFx{Ol#iR&UX$%**&a+zm#o-4`On<~z-(-8fq4#L5{>6!` zFG{Z^)#X~v?J{4c{xVUcdR`J|>A$(1t4n-DYFHj0zqE3Crstzs|07rV|1k5NFh72! zT~fw5!R{*x=Ok3@ScMJeAIX>bwywFC{{oZExtbELV^#WV{_v!!C;YwsV0!-HIpzn# z{UuLL>y2tJ{dhrNo_f36D{R;8`7@SmH`iHuzGWA);Qoj=B~{sXjjzn; zVW~M=>ROe=bZr^G$#vZw8fpKdj2`J z(x#*-UpD6L*SCA&&%<_${q>~gUVGV(({;YoNPYWx^R-v^>kSUZYnSNmxS2I2ePQm8 zyGFU|k3Qfy5cj@$Z`{%Hy<6_5mV8S(%D&5V-Jhu}KUoVeTixHgT6o9VtdBW18>@t6 ztX-$;1swSPXeaB1zoi9nH5++iOuSR2^L5>i7l*&}vf3-2CD#2V^WfdmgLf@!{zx$! z&G&vUeA1wHlgEBT*Z6<~KOa>_DNX-%S6SG6pM|6Q?aARUPapa@bxTFsqRzIMvAkUw8<9qG+iyPT@Nx9`8O`8`X480NbDvY%`DWjWX2E%6tdOMEUSm&jaGy_6YoF>sTp?uBZRsqqi1 z?Q2~wPKr1A!F=P$E2bxX`5`$SI~SaiU>ABD{N?)eOTQnzJS`%)M77Vnu6WWvF%HHy zssD2JZ=b%eKf=EtWJ$f|X0?9vf3uVRzJEFOwMF-X`Bo|UC&TVLwyY2qXIL<4=Z~Ul zo3&1r3V|u{FI^ILpV;t(efExZDqcHZJ(~E*@$K>17A=#PRTNH?*0Nf2OZ}PKv!wYu zChz`xM>ar5TR`N|)prYah%)?KRWao{$1TC|PxiWn2g}7OV}lfCji7|SU-NIiOEjQR2qy6ci$A-JtW!NUTI8DDMI%~(r zHx4Q{-p*Ip?z4OSCFz%Hb|xp=*Q+ZX^iZgrDWCOd`@>(NHx&8XgpyWSoT>bBLN(>R zF7qbeH*CAjJ}Pg}5MnYn`B+$^c2%@}mPPcYlA1~G>%zV3W;!u_-z>Pl=AicaYCket6zy+ZbwQ+VA)Nf3-+)PyML=a*`DH)Qv9d zdsb>zdrftm0Pcp z(;lC?!C7;dTk6Qi2{DrdKc)n`wOv(tZQ!-X-ddQmBc+Zbb+zllNZy>;PP~Vig4sVs%v$#)_jBmqhBXn+UJ2ine$C84<_$MwgJV7J=##x2t*O?hJ&M5SLH0)70ZJd|Dedg(E z@yhItQSOn2)3a98_9T5WIb$fS^2YeOO64}0M)&F2D@{@(7B6n8=|0t(wg2dJ)-$Uo%u@d0%HZol)RCN<$%>;K|fA(7Cg(05s_3+_x~RWdB?tNzf)}FnS^btPnMcaKKg!!o$D{@ zymi|Of5+@-vW`t$sC}la<+1F;z2!&sWke#L8y?Ny;F0)!_YJMKpKNJXH(Cx&n|Axe z_a^7`gv1T;>w34w_3$$;K2`n#eE)Oox2^fsObiTicux#LJF*ux^A0**(XqHVH8&{- z|D)&% zA)6lzc2g__Z7sMzfBgGxcI3Cuum3VL_$BloJe^i7Z~HOggzBso|DAI_GfsDn)6&%n zouQyFq>>l7xWHrj%!0-<0eW|}%4@8|Z#`_7o;ji0DBvq!kNR>?n`LWy|2=!Iy_R!_ z56fb!q@YxRwMLp3O{3iN1^e3`CyJ=-cy`{-fNgGjQmSg4b}vsK*X*{HqMgS+TH(7U>`0n3eK6sifw{vVGp~8m=hk%I$aj{?$C7S@**}aEb6r zbF!TZBLf3yP%OZknMH(wgM)*CfkBZ085m$M5rQj=OHy+Kit-Cmi%K$6i#-zaQZS>U zHw1E$e4np%q0p8sQ=CLN8ME^)bGY*ARxoz=ere(jVAroOvh-~8OWSnLCn_R#(;w+C z2gBnkXX%`Y`t)En|GuBnf5flV2HjdFK0R&inKM7X)xOW4fB*l#r{N6KFC^Tk`INGA z$HY|y*`YhGUMV@XYUwA<)7jf{+S#`~m-1b&#WDSm;2m+5oPzrsqz*-Wz3ppn8vD3U z|I^B_yBVLRC2GqrDtcP9)yQ?%rX9)g+17lFbDRaG^v^~m6>{S0>2a|m7e!fQCKbG$% zMPzjt@Yp}e-t(YfdtAgS8G2@9t>f`Wt-~vAm)iZF z_s-g4^&u5WHr?Z&U1c;wotU0$J`DZ1Lx)Lp$$oW~vqwJasZDuU&2#))r%8&$qA~>) zew&j8Me}oCiu&;toj5+B^`Jpf#JYtC76{%KJGxk*uUn$`VQtK!t{A2jsn&77-F)oy zA2Togu9zxN5u#f7X2Cl%uU)P&7Z)bZQhfHlD9Na6_3s;-*RE?+Tl1T7dgJ~i_AR!_ zFAv*Y4Y5C(Ze@3{wC(!evZM7=4@K-MN#UEH9F}>1Nu2c-@l%Eq7mFO1@$&khI`?%J zlkm&KPvvelR_d(Ss542CchmxO7XU61nn6G@{@hByG`m>W#8^1+~#Q*p9t}fZPKAH7?z~n2B zcDrOew!gJepIhsxbfND5uanC=r~P`hytVJn zg4udSe9cGHzb<~L>{Z`pHTT~E0ndiBIpT)J`X+|xb=7M$S&KMlqTOZL$*fxQM-W6b;qx&Pp2P{ zT(h`s^NbgJ)h8TeOP%Yuul(Kt|GnE+V`3>kE zQ|J7=w9NFBya!Ph^Jn^=Pn+Z#CT{<$LEyvlEwkbh&Zo8tc4Y0EGN~jgB;r-j@~c{xgWv1y zUb|8?a@EVTw$%rn6)OB*n=B0o^^$#ZKJwrfCw<0+8q&-3o@d9nD{QzQvhs|NY})s* ziCMk*4;wjKzW+}>HM8dU+g;{Ybc7}H=AN4R^3S87bzzDRYW2g{`rO&Pg)!!1&}IF5 zr$m=s^7moe>zS=jo-QUJ| zo9~9$?E718RBdtm@?qJ-a&Gs`GhP?mgpVIzzWjcoO3iY{i68c|^%UnfRZm`+v4Jso z9-GU4rvI%9Y=zd261zU|Uzj~3@4yz}`Hf3t`4>Lr{-Uza@kzJryw)kwa)lp`ulup1 z`TWkukNNE0cj;UFSY*BL!2|DgKU$jY3y-VI*gWp?xB9Wk+V158?G3M*{A;%z&i=54 zxj&&?rbgB*=EI6+`(|JBJ9#?yy#JIreh25MXM!vz-+}gRmo1~T*%>Vq!lXKPY>&kz=tNy;X{@>oO;tjkz&Ki{c zD#`zR@<4-#{G%+T4Y~sUY)*|krky*{m2zs9lwUTd-)F1v9VrD-GE;gAY9<_S@5#Bv zk>l;vbK(^+JqvY}9zY1zm%JC%$V;w#nNS;JeIdm)opmXL#FGWw-fVn=;ko{FOgtZ9iFc zkH4&O55A_9L0yO3e)iB&mvrvk#`v)0$h@Uly4y^`ju zGL+}GEm+t#;rolTt*&xc79Hc(e|FYUbXvv3V=^DNp5f+y*0o-g=iVcWmno4urU;kJDX7dzBn5fQ!j z?x@rn(FQA~B|B~^zl<@JtrLI7Sn0MW!y&*TFC|0o)XireVZQ5DPnvZ8&Nm(Y6xT;j z=65XE>!PLCvhqY>x`l6NV(d*N5%)RWo=?-BIOJO&6**|dKWoFh#Kwc(I!0HnOwa1x zm3u@ju=VVeghd`Zr=FW2-EW}dH8o0*J1$4m#wi?H@nr7kMcA>DTfPeCm^$YV*sy_FOpnbA78~LG2>NEehH_{KDsEh(6DlJUviG{Dbh4SPjSgFjLK0cNZ7V zE1Y%pGtWXZ-PJ08R;B%NUHtL+uG#x9bp7>=_5S_(nnbB@-Wt9iy_@sO@dHm5gi z+3|eK>X~ai-F8kXd$`t#|KxU+4+psNWwMPBEeFA#>Q*PW``m~-JGUt24beeaT8 zn_e=mdoO-l@b$}{T`wBL8>I?AUJmcw@h#WWpJ|ewz{CiL|C1St6Irz~zr8<}kZd5* z(|g#w^H#)~Y?F7u^zaz2_~PN-gS z|4_2nt(x7LUsCe6T)*zQcwRt#YwL>E=6%aED=fBGT=}lk`)Ft2r9+0?ncU|i4Rm`V zEGi{eTd5ang;h$giwJj3zVh9vf@yv0vBGEPO1*R&!eS22&T!tYTU~Hun!90&H>-M1 zrBHfK<+OjTEPQUypy{a<)H;rz*ZrMBW_`O+uYn5`g_THU-SZ+a~=tl|^u?`Lh9MhY=9C1P<{CL&J}Izr?XrRybAQ#Y_`wev77~n1d=bpXz;KiY z)COc^5@A4e12=46EccR^fnlFI1A_nqCvvZlfq}u-HN;WZ)6Y%c$J5!>FW5CSgq492 zq$a={)tKCkcD4=-3=H-R3=ASD#u)G+8RP5d=jrAe9HQszhSR9Y2~`n_j0_9~j0_Bh zC`Rq(V_?WHO4m;ZpPr+ioRg{VoS&PUn3v*{nV0HVlwO*fnpfglk(^q9rKO7Qt)KsP*P(O!ipCI*IWEDQ|BD2DS3<1-w5CrFWsV_HdS z5yYZmz2uz4;$ob^)&1B|T!)!~A(owi0dyrhD0U$DvM3QYIi;rM7p1yo78RESmnK1j zlYo`T_rrs((S}$DB8w!6u+lp(zdR4(If!?IOA<>`3D}8zsW+-Ok17yhr!Nur(4)s8 z^5w^<-fU4O!b*q_9n10F9gc1%^8LD?Yn4HP3c=^qh_;jXP({916*ZYY&>-46tXKG= zdkp!;P9u~I5w1;yO~iW%`Nl-h1)z}71Ci;vL|8=Rb)e|pL%y2~wJ-@VAZ#mvwExRtqNTaXX^Mh#LMSFE_eqi+TQDtfu0dAVW7Cc^nut z-2-thh@8-e)o|h_f6%Q#9vnlB)QOX@S_4gp_=cF#?Lh9%fQH#Xo`B%TQ}Nk>W6&+Y Vo0ScuU6DbNL5P=uVd@+Z4*=P9Hgf;~ literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..a441313 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..b740cf1 --- /dev/null +++ b/gradlew @@ -0,0 +1,249 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..7101f8e --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/out/production/resources/plugin.yml b/out/production/resources/plugin.yml new file mode 100644 index 0000000..af2b314 --- /dev/null +++ b/out/production/resources/plugin.yml @@ -0,0 +1,14 @@ +name: regions +version: '1.0-SNAPSHOT' +main: io.github.adrianvic.regions.Regions +api-version: '1.21' +author: 'Adrian Victor' +website: https://github.io/adrianvic +description: Change what players can do based in custom criteria. +commands: + mrlistpolicies: + description: "Lists all loaded policies" + usage: "/mrlistpolicies" + mrpolicyinfo: + description: "Show info about a policy" + usage: "/mrpolicyinfo" \ No newline at end of file diff --git a/out/production/resources/settings.yml b/out/production/resources/settings.yml new file mode 100644 index 0000000..8057aef --- /dev/null +++ b/out/production/resources/settings.yml @@ -0,0 +1,33 @@ +Policies: + Location: + - name: "spawn-protection" + allowlist: false + nodes: + # example PolicyNode fields — adapt to your actual structure + canHit: false + canHarvest: false + message: "You cannot use tools here." + locations: + # first group (ArrayList) + - + # region 1 in group 1 + - corner1: { x: 100, y: 60, z: 100 } + corner2: { x: 110, y: 70, z: 110 } + # region 2 in group 1 + - corner1: { x: 120, y: 58, z: 95 } + corner2: { x: 125, y: 64, z: 100 } + # second group (another ArrayList) + - + - corner1: { x: -50, y: 50, z: -50 } + corner2: { x: -40, y: 60, z: -40 } + + - name: "farm-area" + allowlist: true + nodes: + canHit: true + canHarvest: true + message: "Farming allowed." + locations: + - + - corner1: { x: 200, y: 62, z: 200 } + corner2: { x: 220, y: 66, z: 220 } \ No newline at end of file diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..52b1811 --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'regions' diff --git a/src/main/java/io/github/adrianvic/regions/Config.java b/src/main/java/io/github/adrianvic/regions/Config.java new file mode 100644 index 0000000..281dc78 --- /dev/null +++ b/src/main/java/io/github/adrianvic/regions/Config.java @@ -0,0 +1,61 @@ +package io.github.adrianvic.regions; + +import io.github.adrianvic.regions.policy.LocationPolicy; +import io.github.adrianvic.regions.policy.PermissionPolicy; +import io.github.adrianvic.regions.policy.PlayerNamePolicy; +import org.bukkit.configuration.file.YamlConfiguration; + +import java.io.File; +import java.util.List; + +public class Config { + private final static Config instance = new Config(); + private File file; + private YamlConfiguration config; + + private List locationPolicies; + private List permissionPolicies; + private List playerNamePolicies; + + private Config() { + } + + public void load() { + file = new File(Regions.getInstance().getDataFolder(), "settings.yml"); + + if (!file.exists()) + Regions.getInstance().saveResource("settings.yml", false); + + config = new YamlConfiguration(); + config.options().parseComments(true); + + try { + config.load(file); + } catch (Exception e) { + e.printStackTrace(); + } + + locationPolicies = LocationPolicy.parseLocationPolicy(config.getMapList("Policies.Location")); + } + + public void save() { + try { + config.save(file); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void set(String path, Object value) { + config.set(path, value); + save(); + } + + public List getLocationPolicies() { + return locationPolicies; + } + + public static Config getInstance() { + return instance; + } +} \ No newline at end of file diff --git a/src/main/java/io/github/adrianvic/regions/DataShifter.java b/src/main/java/io/github/adrianvic/regions/DataShifter.java new file mode 100644 index 0000000..c9cea2a --- /dev/null +++ b/src/main/java/io/github/adrianvic/regions/DataShifter.java @@ -0,0 +1,4 @@ +package io.github.adrianvic.regions; + +public class DataShifter { +} diff --git a/src/main/java/io/github/adrianvic/regions/PlaceListener.java b/src/main/java/io/github/adrianvic/regions/PlaceListener.java new file mode 100644 index 0000000..e5e4eed --- /dev/null +++ b/src/main/java/io/github/adrianvic/regions/PlaceListener.java @@ -0,0 +1,33 @@ +package io.github.adrianvic.regions; + +import org.bukkit.Location; +import org.bukkit.entity.HumanEntity; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.player.PlayerInteractEvent; + +public class PlaceListener implements Listener { + Validator val = new Validator(); + + @EventHandler + public void onBlockBreak(BlockBreakEvent event) { + event.setCancelled(!val.isHumanoidAbleToHarvest(event.getPlayer())); + } + + @EventHandler + public void onInteractionEvent(PlayerInteractEvent event) { + if (event.getItem() != null) { + event.setCancelled(!val.isItemValid(event.getItem().getType())); + } + } + + @EventHandler + public void onEntityDamageByEntityEvent(EntityDamageByEntityEvent event) { + if (event.getDamager() instanceof HumanEntity player) { + boolean canceled = !val.isHumanoidAbleToHit(player); + event.setCancelled(canceled); + } + } +} diff --git a/src/main/java/io/github/adrianvic/regions/Regions.java b/src/main/java/io/github/adrianvic/regions/Regions.java new file mode 100644 index 0000000..4a3e84c --- /dev/null +++ b/src/main/java/io/github/adrianvic/regions/Regions.java @@ -0,0 +1,25 @@ +package io.github.adrianvic.regions; + +import io.github.adrianvic.regions.commands.ListPolicies; +import io.github.adrianvic.regions.commands.PolicyInfo; +import org.bukkit.plugin.java.JavaPlugin; + +public final class Regions extends JavaPlugin { + + @Override + public void onEnable() { + getServer().getPluginManager().registerEvents(new PlaceListener(), this); + Config.getInstance().load(); + getCommand("mrlistpolicies").setExecutor(new ListPolicies()); + getCommand("mrpolicyinfo").setExecutor(new PolicyInfo()); + } + + @Override + public void onDisable() { + // Plugin shutdown logic + } + + public static Regions getInstance() { + return getPlugin(Regions.class); + } +} \ No newline at end of file diff --git a/src/main/java/io/github/adrianvic/regions/Validator.java b/src/main/java/io/github/adrianvic/regions/Validator.java new file mode 100644 index 0000000..26fcc63 --- /dev/null +++ b/src/main/java/io/github/adrianvic/regions/Validator.java @@ -0,0 +1,38 @@ +package io.github.adrianvic.regions; + +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.entity.HumanEntity; +import org.bukkit.entity.Player; + +import java.util.ArrayList; + + +public class Validator { + ArrayList blacklistedItems = new ArrayList(); + + public Validator() { + blacklistedItems.add(Material.COPPER_SWORD); + blacklistedItems.add(Material.COPPER_AXE); + blacklistedItems.add(Material.COPPER_HOE); + blacklistedItems.add(Material.ROTTEN_FLESH); + } + + public boolean isHumanoidAbleToHit(HumanEntity damager) { + return isItemValid(damager.getInventory().getItemInMainHand().getType()); + } + + public boolean isHumanoidAbleToHarvest(HumanEntity harvester) { + return isItemValid(harvester.getInventory().getItemInMainHand().getType()); + } + + public boolean isItemValid(Material item) { + return !blacklistedItems.contains(item); + } + + public void warnPlayer(Player player) { + Location loc = player.getLocation(); + loc.getWorld().strikeLightningEffect(loc); + player.sendMessage("Please note that you are not allowed to do this here!"); + } +} diff --git a/src/main/java/io/github/adrianvic/regions/commands/ListPolicies.java b/src/main/java/io/github/adrianvic/regions/commands/ListPolicies.java new file mode 100644 index 0000000..585d758 --- /dev/null +++ b/src/main/java/io/github/adrianvic/regions/commands/ListPolicies.java @@ -0,0 +1,31 @@ +package io.github.adrianvic.regions.commands; + +import io.github.adrianvic.regions.Config; +import io.github.adrianvic.regions.policy.LocationPolicy; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.command.TabCompleter; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.ArrayList; +import java.util.List; + +public class ListPolicies implements CommandExecutor, TabCompleter { + + @Override + public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String @NotNull [] strings) { + List rstr = new ArrayList<>(); + for (LocationPolicy p : Config.getInstance().getLocationPolicies()) { + rstr.add(p.name()); + } + commandSender.sendMessage(String.join(", ", rstr) + "."); + return true; + } + + @Override + public @Nullable List onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String @NotNull [] strings) { + return List.of(); + } +} diff --git a/src/main/java/io/github/adrianvic/regions/commands/PolicyInfo.java b/src/main/java/io/github/adrianvic/regions/commands/PolicyInfo.java new file mode 100644 index 0000000..e4e5021 --- /dev/null +++ b/src/main/java/io/github/adrianvic/regions/commands/PolicyInfo.java @@ -0,0 +1,51 @@ +package io.github.adrianvic.regions.commands; + +import io.github.adrianvic.regions.Config; +import io.github.adrianvic.regions.policy.LocationPolicy; +import io.github.adrianvic.regions.policy.PolicyNode; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.command.TabCompleter; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.ArrayList; +import java.util.List; + +public class PolicyInfo implements CommandExecutor, TabCompleter { + @Override + public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String @NotNull [] strings) { + List policies = Config.getInstance().getLocationPolicies(); + for (LocationPolicy lp : policies) { + if (lp.name().equals(strings[0])) { + String locations = lp.locations().toString(); + + List nodes = lp.nodes(); + List nodeNames = new ArrayList<>(); + for (PolicyNode n : nodes) { + nodeNames.add(n.type()); + } + String nodesStr = String.join(", ", nodeNames) + "."; + + commandSender.sendMessage(String.format(""" + Showing info for policy "%s": + Type: %s + Locations: %s + Nodes: %s + %s + """, lp.name(), "location", locations, nodesStr, lp.allowlist() ? "Is allowlist" : "Is blacklist")); + } + } + return true; + } + + @Override + public @Nullable List onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String @NotNull [] strings) { + List rstr = new ArrayList<>(); + for (LocationPolicy p : Config.getInstance().getLocationPolicies()) { + rstr.add(p.name()); + } + return rstr; + } +} diff --git a/src/main/java/io/github/adrianvic/regions/policy/LocationPolicy.java b/src/main/java/io/github/adrianvic/regions/policy/LocationPolicy.java new file mode 100644 index 0000000..eb39ad7 --- /dev/null +++ b/src/main/java/io/github/adrianvic/regions/policy/LocationPolicy.java @@ -0,0 +1,65 @@ +package io.github.adrianvic.regions.policy; + +import org.bukkit.Bukkit; +import org.bukkit.Location; +import org.bukkit.util.BoundingBox; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public record LocationPolicy(String name, List> locations, List nodes, boolean allowlist) { + public static List parseLocationPolicy(List> raw) { + List out = new ArrayList<>(raw.size()); + for (Map m : raw) { + String name = (String) m.get("name"); + boolean allowList = Boolean.TRUE.equals(m.get("allowList")); + + // Nodes + Object rawNodes = m.get("nodes"); + List> nodeList = new ArrayList<>(); + if (rawNodes instanceof List list) { + for (Object o : list) { + if (o instanceof Map map) + nodeList.add((Map) map); + } + } + + List nodes = PolicyNode.parseNodes(nodeList); + + // Parsing locations + List> locations = new ArrayList<>(); + Object rawGroups = m.get("locations"); + List groups = rawGroups instanceof List ? (List) rawGroups : List.of(); + + // Getting groups + for (Object gObj : groups) { + List group = (List) gObj; + ArrayList boxes = new ArrayList<>(group.size()); + + // Now iterate over regions inside the group + for (Object rObj : group) { + Map region = (Map) rObj; + Map c1 = (Map) region.get("corner1"); + Map c2 = (Map) region.get("corner2"); + + double x1 = ((Number) c1.get("x")).doubleValue(); + double y1 = ((Number) c1.get("y")).doubleValue(); + double z1 = ((Number) c1.get("z")).doubleValue(); + + double x2 = ((Number) c2.get("x")).doubleValue(); + double y2 = ((Number) c2.get("y")).doubleValue(); + double z2 = ((Number) c2.get("z")).doubleValue(); + + Location loc1 = new Location(Bukkit.getWorlds().getFirst(), x1, y1, z1); + Location loc2 = new Location(Bukkit.getWorlds().getFirst(), x2, y2, z2); + + boxes.add(BoundingBox.of(loc1, loc2)); + } + locations.add(boxes); + } + out.add(new LocationPolicy(name, locations, nodes, allowList)); + } + return out; + } +} \ No newline at end of file diff --git a/src/main/java/io/github/adrianvic/regions/policy/PermissionPolicy.java b/src/main/java/io/github/adrianvic/regions/policy/PermissionPolicy.java new file mode 100644 index 0000000..751c19f --- /dev/null +++ b/src/main/java/io/github/adrianvic/regions/policy/PermissionPolicy.java @@ -0,0 +1,7 @@ +package io.github.adrianvic.regions.policy; + +import org.bukkit.permissions.Permission; + +import java.util.ArrayList; + +public record PermissionPolicy(String name, ArrayList permissions, PolicyNode nodes, boolean allowlist) {} diff --git a/src/main/java/io/github/adrianvic/regions/policy/PlayerNamePolicy.java b/src/main/java/io/github/adrianvic/regions/policy/PlayerNamePolicy.java new file mode 100644 index 0000000..61cd436 --- /dev/null +++ b/src/main/java/io/github/adrianvic/regions/policy/PlayerNamePolicy.java @@ -0,0 +1,7 @@ +package io.github.adrianvic.regions.policy; + +import org.bukkit.permissions.Permission; + +import java.util.ArrayList; + +public record PlayerNamePolicy(String name, ArrayList playerName, PolicyNode nodes, boolean allowlist) {} \ No newline at end of file diff --git a/src/main/java/io/github/adrianvic/regions/policy/PolicyNode.java b/src/main/java/io/github/adrianvic/regions/policy/PolicyNode.java new file mode 100644 index 0000000..97a3a0e --- /dev/null +++ b/src/main/java/io/github/adrianvic/regions/policy/PolicyNode.java @@ -0,0 +1,32 @@ +package io.github.adrianvic.regions.policy; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public record PolicyNode(String type, List values) { + public static List parseNodes(List> raw) { + List nodes = new ArrayList<>(); + + for (Map m : raw) { + for (Map.Entry entry : m.entrySet()) { + + String type = entry.getKey(); + List values = new ArrayList<>(); + Object val = entry.getValue(); + + if (val instanceof String s) { + values.add((s)); + } else if (val instanceof List l) { + for (Object o : l) { + if (o instanceof String s) { + values.add(s); + } + } + } + nodes.add(new PolicyNode(type, values)); + } + } + return nodes; + } +} \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..af2b314 --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,14 @@ +name: regions +version: '1.0-SNAPSHOT' +main: io.github.adrianvic.regions.Regions +api-version: '1.21' +author: 'Adrian Victor' +website: https://github.io/adrianvic +description: Change what players can do based in custom criteria. +commands: + mrlistpolicies: + description: "Lists all loaded policies" + usage: "/mrlistpolicies" + mrpolicyinfo: + description: "Show info about a policy" + usage: "/mrpolicyinfo" \ No newline at end of file diff --git a/src/main/resources/settings.yml b/src/main/resources/settings.yml new file mode 100644 index 0000000..8057aef --- /dev/null +++ b/src/main/resources/settings.yml @@ -0,0 +1,33 @@ +Policies: + Location: + - name: "spawn-protection" + allowlist: false + nodes: + # example PolicyNode fields — adapt to your actual structure + canHit: false + canHarvest: false + message: "You cannot use tools here." + locations: + # first group (ArrayList) + - + # region 1 in group 1 + - corner1: { x: 100, y: 60, z: 100 } + corner2: { x: 110, y: 70, z: 110 } + # region 2 in group 1 + - corner1: { x: 120, y: 58, z: 95 } + corner2: { x: 125, y: 64, z: 100 } + # second group (another ArrayList) + - + - corner1: { x: -50, y: 50, z: -50 } + corner2: { x: -40, y: 60, z: -40 } + + - name: "farm-area" + allowlist: true + nodes: + canHit: true + canHarvest: true + message: "Farming allowed." + locations: + - + - corner1: { x: 200, y: 62, z: 200 } + corner2: { x: 220, y: 66, z: 220 } \ No newline at end of file