From e9a7aa12a4bc73f4084a8ef06428b6db1c86d556 Mon Sep 17 00:00:00 2001 From: Mark Jessop Date: Mon, 15 Jun 2020 18:15:54 +0930 Subject: [PATCH] Initial commit --- CMakeLists.txt | 90 + README.md | 31 +- samples/horus_binary_ebno_4.5db.wav | Bin 0 -> 160044 bytes samples/horusb_iq_s16.raw | Bin 0 -> 1049088 bytes samples/wenet_sample.c8 | 1 + src/CMakeLists.txt | 64 + src/H2064_516_sparse.h | 33 + src/H2064_516_sparse_test.h | 33 + src/H_128_384_23.c | 22 + src/H_128_384_23.h | 19 + src/H_256_768_22.c | 22 + src/H_256_768_22.h | 19 + src/_kiss_fft_guts.h | 164 ++ src/codec2_fdmdv.h | 113 + src/comp.h | 38 + src/comp_prim.h | 141 + src/debug_alloc.h | 61 + src/drs232.c | 235 ++ src/drs232_ldpc.c | 286 ++ src/fsk.c | 1041 +++++++ src/fsk.h | 207 ++ src/fsk_demod.c | 445 +++ src/fsk_get_test_bits.c | 96 + src/fsk_mod.c | 127 + src/fsk_put_test_bits.c | 147 + src/golay23.c | 311 ++ src/golay23.h | 45 + src/golaydectable.h | 2052 ++++++++++++++ src/golayenctable.h | 4100 +++++++++++++++++++++++++++ src/horus_api.c | 516 ++++ src/horus_api.h | 81 + src/horus_demod.c | 296 ++ src/horus_gen_test_bits.c | 195 ++ src/horus_l2.c | 946 ++++++ src/horus_l2.h | 30 + src/kiss_fft.c | 408 +++ src/kiss_fft.h | 124 + src/kiss_fftr.c | 154 + src/kiss_fftr.h | 46 + src/modem_probe.c | 241 ++ src/modem_probe.h | 130 + src/modem_stats.c | 123 + src/modem_stats.h | 89 + src/mpdecode_core.c | 709 +++++ src/mpdecode_core.h | 54 + src/mpdecode_core_test.c | 693 +++++ src/mpdecode_core_test.h | 49 + src/octave.c | 143 + src/octave.h | 39 + src/phi0.c | 218 ++ src/phi0.h | 7 + 51 files changed, 15232 insertions(+), 2 deletions(-) create mode 100644 CMakeLists.txt create mode 100644 samples/horus_binary_ebno_4.5db.wav create mode 100644 samples/horusb_iq_s16.raw create mode 100644 samples/wenet_sample.c8 create mode 100644 src/CMakeLists.txt create mode 100644 src/H2064_516_sparse.h create mode 100644 src/H2064_516_sparse_test.h create mode 100644 src/H_128_384_23.c create mode 100644 src/H_128_384_23.h create mode 100644 src/H_256_768_22.c create mode 100644 src/H_256_768_22.h create mode 100644 src/_kiss_fft_guts.h create mode 100644 src/codec2_fdmdv.h create mode 100644 src/comp.h create mode 100644 src/comp_prim.h create mode 100644 src/debug_alloc.h create mode 100644 src/drs232.c create mode 100644 src/drs232_ldpc.c create mode 100644 src/fsk.c create mode 100644 src/fsk.h create mode 100644 src/fsk_demod.c create mode 100644 src/fsk_get_test_bits.c create mode 100644 src/fsk_mod.c create mode 100644 src/fsk_put_test_bits.c create mode 100644 src/golay23.c create mode 100644 src/golay23.h create mode 100644 src/golaydectable.h create mode 100644 src/golayenctable.h create mode 100644 src/horus_api.c create mode 100644 src/horus_api.h create mode 100644 src/horus_demod.c create mode 100644 src/horus_gen_test_bits.c create mode 100644 src/horus_l2.c create mode 100644 src/horus_l2.h create mode 100644 src/kiss_fft.c create mode 100644 src/kiss_fft.h create mode 100644 src/kiss_fftr.c create mode 100644 src/kiss_fftr.h create mode 100644 src/modem_probe.c create mode 100644 src/modem_probe.h create mode 100644 src/modem_stats.c create mode 100644 src/modem_stats.h create mode 100644 src/mpdecode_core.c create mode 100644 src/mpdecode_core.h create mode 100644 src/mpdecode_core_test.c create mode 100644 src/mpdecode_core_test.h create mode 100644 src/octave.c create mode 100644 src/octave.h create mode 100644 src/phi0.c create mode 100644 src/phi0.h diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..2ccaac0 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,90 @@ +cmake_minimum_required(VERSION 3.0) +project(horus C) + +include(GNUInstallDirs) +mark_as_advanced(CLEAR + CMAKE_INSTALL_BINDIR + CMAKE_INSTALL_INCLUDEDIR + CMAKE_INSTALL_LIBDIR +) + +# +# Prevent in-source builds +# If an in-source build is attempted, you will still need to clean up a few +# files manually. +# +set(CMAKE_DISABLE_SOURCE_CHANGES ON) +set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) +if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") + message(FATAL_ERROR "In-source builds in ${CMAKE_BINARY_DIR} are not " + "allowed, please remove ./CMakeCache.txt and ./CMakeFiles/, create a " + "separate build directory and run cmake from there.") +endif("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") + + +# Set project version information. This should probably be done via external +# file at some point. +# +set(HORUS_VERSION_MAJOR 0) +set(HORUS_VERSION_MINOR 2) +# Set to patch level if needed, otherwise leave FALSE. +# Must be positive (non-zero) if set, since 0 == FALSE in CMake. +set(HORUS_VERSION_PATCH FALSE) +set(HORUS_VERSION "${HORUS_VERSION_MAJOR}.${HORUS_VERSION_MINOR}") +# Patch level version bumps should not change API/ABI. +set(SOVERSION "${HORUS_VERSION_MAJOR}.${HORUS_VERSION_MINOR}") +if(HORUS_VERSION_PATCH) + set(HORUS_VERSION "${HORUS_VERSION}.${HORUS_VERSION_PATCH}") +endif() +message(STATUS "Horuslib version: ${HORUS_VERSION}") + +# Set default flags +set(CMAKE_C_FLAGS "-Wall -Wextra -Wno-unused-function -Wno-strict-overflow -O3 -g -I. -MD ${CMAKE_C_FLAGS} -DENABLE_ASSERTIONS") + +# Arch specific stuff here +message(STATUS "Host system arch is: ${CMAKE_SYSTEM_PROCESSOR}") + + +add_subdirectory(src) + +# Ctests ---------------------------------------------------------------------- + +include(CTest) +enable_testing() + + add_test(NAME test_horus_binary + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; + sox ${CMAKE_CURRENT_SOURCE_DIR}/samples/horus_binary_ebno_4.5db.wav -r 48000 -t raw - | + ./horus_demod -m binary - -" + ) + set_tests_properties(test_horus_binary PROPERTIES PASS_REGULAR_EXPRESSION "1C9A9545") + + add_test(NAME test_horus_binary_iq + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; + cat ${CMAKE_CURRENT_SOURCE_DIR}/samples/horusb_iq_s16.raw | + ./horus_demod -q -m binary --fsk_lower=1000 --fsk_upper=20000 - -" + ) + set_tests_properties(test_horus_binary_iq PROPERTIES + PASS_REGULAR_EXPRESSION "000900071E2A000000000000000000000000259A6B14") + + # Wenet - Using Mask estimator (Assuming ~120 kHz tone spacing) + add_test(NAME test_wenet_mask + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; + cat ${CMAKE_CURRENT_SOURCE_DIR}/samples/wenet_sample.c8 | + ./fsk_demod --cu8 -s --mask=120000 2 921416 115177 - - | + ./drs232_ldpc - - 2>&1 | strings" + ) + set_tests_properties(test_wenet_mask PROPERTIES + PASS_REGULAR_EXPRESSION "packet_errors: 0 PER: 0.000") + + # Using regular frequency estimator, tell freq est to avoid first 100 kHz due to a DC line + add_test(NAME test_wenet_nomask + COMMAND sh -c "cd ${CMAKE_CURRENT_BINARY_DIR}/src; + cat ${CMAKE_CURRENT_SOURCE_DIR}/samples/wenet_sample.c8 | + ./fsk_demod --cu8 -s --fsk_lower 100000 2 921416 115177 - - | + ./drs232_ldpc - - 2>&1 | strings" + ) + set_tests_properties(test_wenet_nomask PROPERTIES + PASS_REGULAR_EXPRESSION "packet_errors: 0 PER: 0.000") + + diff --git a/README.md b/README.md index df0bed5..56ca065 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,29 @@ -# horuslib -High Altitude Balloon Telemetry Library +# High Altitude Balloon (HAB) telemetry library + +## Building + +``` +$ git clone https://github.com/drowe67/codec2.git +$ cd codec2 && mkdir build_linux && cd build_linux && cmake ../ && make +$ cd ~ +$ git clone https://github.com/drowe67/hab.git +$ cd hab && mkdir build_linux && cd build_linux +$ cmake -DCODEC2_BUILD_DIR=~/codec2/build_linux .. +$ make +``` + +## Testing + +``` +$ cd hab/build_linux +$ ctest +``` + +## Further Reading + + Here are some links to projects and blog posts that use this code: + + 1. [Horus Binary](https://github.com/projecthorus/horusbinary) High Altitude Balloon (HAB) telemetry protocol, 3 second updates, works at 7dB lower SNR that RTTY. + 1. [Testing HAB Telemetry, Horus binary waveform](http://www.rowetel.com/?p=5906) + 1. [Wenet](https://github.com/projecthorus/wenet) - high speed SSTV images from balloons at the edge of space + 1. [Wenet High speed SSTV images](http://www.rowetel.com/?p=5344) diff --git a/samples/horus_binary_ebno_4.5db.wav b/samples/horus_binary_ebno_4.5db.wav new file mode 100644 index 0000000000000000000000000000000000000000..323076b29d3672a06c5b3d7f067b879e5ffc1bb9 GIT binary patch literal 160044 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%0DXXfB^*8M3P9 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�b5qMxaV{LI}i`YZewebCv!JWbma{ucen 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

p&?mN7~_oLIjQc_ z%04}d3U!~u%MiUo!r9Ql&N4KnY*l&dftP64RW+mZ$p>X!ec0zS47#2OfqY&B!vT)I zHH{YI1Qry3RXuEyCFqeK8MV!Y-e&1(a zlS?8SJS$cqSYCCvsA#VS@V4*y$pd_rrL0wNXu%e|dVg!??uFDw#pF-9UR(D%_1+(& zLWQR6H7<|Cm|w{xA-2NYI3Mn>haH1vSMFwDaULg&KWM7Du&`)~+0FamiAxZ3wtW(4 zcYmq2X{A-w45w8oo)Bw(=@%2Qs67HPgfVzj&cqh;HU4PM>@S~rhX;Aa=yh3-Mo`!c zTwl0kiF3FwtL4G6Y!-%~*7U$nITMyx%@)ToQg0bjKgThaWJk2_$_~H!6oGK?j@&hM>%5{xWW*P^;Gz8(zDSSOmv~E_d4qGSnay8~Q}vI(X{SG? z)1QZF?0=n|HC=ct!qj(U-qMM4K!WySUW& z<(tM5ANcJ~l<`mO%iXNZdor2p_wkcoc-SbeB<$K6pWzBF!!XX{qOs{%HZV?BK@Jw| zf-`O0lVxnJt;XaWuQ#u1zSuhw?C3bhK9QqpL6HUY)7x)8p*`=3RXMXch>`4%=UF>K zy{9+7HaB65UtZ=fyBGAzC$!#YF?EN!_v-MBSz`C}$0vR1XU~%D5HcPKSzrt(b)T0x zJKL(w+Iz%#Et@B>lm^{v?730J4d%EvkM34qaseFe8LNIcr0Tmm7|zWe^)(OnznU&8 zU=3Fm&{0gw0n6aUK{*D_;SPH{lx0emh;;SX^YUmpsc$8aGenSiFe#At*DKeG;iNLi zEcS_DNRt0?v^pPiV5{<~dpv3;5ldkszmdzTynw^CVj;bn&DUJ4Hgh`rZ?%uT(U!f1XmHUsQlzOJMt4Idd8!2foS3lYXRs$(QcEzd3*X72{JT)$?<$? z4pat*bn(JBjS}Nlky=B*0Jg@VmFmC;?vkL7pYAKn%XBZJ8KJ8%bg@1n#nFCYOCKDZ zf5;9E=<3mHNcwRuDG-l2GO0KWv*I9|L$$0$ORw2sZbVM?yj=kMQGJ?R=ipe~W7n8Z zqxLqMH;HiEEB}$`kCx}@wc$OEk z6EbDDxD6TCh)GC}%Hpme5+GaTng5GnEK)OI*DR85d>vNZkpf3ZlPOD>`(Fo7r zL@O9!LsbjH)huUi%K!a7~QiwxIwl)&B#0Ly+Csk#}je79A`*74?$M{bcGmht0 zG&~iP^B~*I#A_|)NzqTc=Av|KmconWH7z#lBuPBTiXN!5(756V!sMwtc6eeP39&Z4tya^bSeNry z!D_yVH<$qpcdeLhnr;JGpSo!{ste;Dzc|@{OPtHPeBZzO2AdW19D3S=X!R z&^7zwp=?kl;SHXJ2&q=AjUxUq4uZ0cOvg%iE=P#|m;_tTjYJo(Y0&C`#m<)D(w7*50?`=|Mhbh*`Q=&O?SG5cVZV?60NbeiQukJa>GGu_Gto{JFD!bsh=i~H<8 zk}PIuDMGZwPH3)#$iQDZDtIQH(%e_dan`^p+pV@j31l>>e`Di?Z$zlh{( zI^baE=SdohoX(p0Ls4Hy`Y#&eGHqEvT1=D4NhU>HhzOqw+P+U2fMn5L&V&sQWINoT z(@be!NfL{_h6}`Sv0B1Q+UubfiXDFMn|pCazO5?oO?8Am zDglcojhc(>VFS~^lzU>n`F=&tw}92)%P zVYVgW<(h0NH?gqDH#*!pZ&aF!9sV~{fSWASjwTP{mia6sj9`~7uEYaltUi@T^exwV zrx!Lt5CeSXn=xX!Ht=Cx+15_Ar|@pU|EUdhYsEB|Um3XS*@$M`>c z|M(>~L?+gWu<{{1c)CnSJDC}JtmB=k zO^hWmmcsVOyKmNUF$z!iYXLES=Qmzh^q7~BCqu<88jBVP$DQUbU0pjN*H-+7pnW}~ z(SQYdLz55uXCds{+i2bd9kSa|>)l+f4Xr!ubg^08GluIZ|}0Yt=vP zwXgPd-vz$cSG0OXH|za&Oh`3aY}NP2S4667*+~!b?Vs2+(b`$qs5f4b>hJO#IrYLk z9>qqEgH@25mfJCj^^m%gv2eCSsS-L^e)9Z84p=oJ#JQu8D(Sk z(<8*%Z8eh=%SNUJ+v)5`JKaSKX3Dx4<~M&QE2cT`Ob@j|Y{kjdA39d4#59|6MK5te zPe0BT7xIEf)eC;E1E{_#h<;XtWgoBD%?5w{;-Fu=bWYT$QSqMda1RE~i4U1VW=+dk zsl67ogGZ6txv9&&UWvg@v-Wu!F*d(lFdeu z?=wWI$f`hD0WVljhM1;1-^nS};@*s2V?iv!XkKlPf^H&^_tF)5 z`tzkaZ`{y@$TH#BUarkQB$Sn)D}#Bc?qpaeHV=j1@~BL2H2I*ppLlaDAOHEESG8xk zGw~cJ$_b=<*B<0Wfrn^%ck@NI>E}mIrIm9mH%^R$IyQ^hct^5p26Bo_Slnsn!A}0> zQToeLtZzolURr9W2H1JrOe&50TQ-Ctn~lKZUoJP4IUMJ2<3PTuz*pq}mc@7b3S!8p zye`U|Df?rW>_=ncgm`F@?g;O|Q3SaH4n6(Er`fTbRQ`kspLRVDW1WGTpJtK_oXqk+O6!<@Z|tj&l?bH1|);YL25bqFk`DIrEwe$FSwTN!bVQ& z{sm~`T6}_CQAR8Lq&=+Ex$LG1mW4STAm%>#m>9YwIhSu--`0=5#Ser;f7jKZNN4zI znSadXWaMI}{%~clSjnn!mp;ja1B}Z!xI->|LK}X~sIy$Wl)dXU9qc^tAB2j{au6L< zJ?zUaF{1t%x5y!hr}=mmo0rODG!bKX85>Ai#*syMP#$1Oo)v$xo(KIPq<-TLKj8`P z>H$Zil3EpYEuU`q?H3xZbkb2DxHXG&Pl2P=U9#kUlacvH&fbqlWLp zK(Q4XA`VOJP|5ngy?7%h#4>1MjS*B2vdviJoBRonW(BHKbq)gbgJl`02&AJO|EhY~ z1E2B7wH11a{upBa4jTHzX}&T?+l-iX&XOKu<+&;~pR&Ko#X`|eZ@r9y>9l8u>zu4G zA}w%%Ou9KQ#zRe??!Y1Whufvlj(mFXyDH{Lb9nnH#-ItdKqyI~ARJ+we~rf@xB)+2 zf;f&eQ}ef2)k6RHNMl+$5(mtC`|J!Dd+2A)1OGVM{dV{PE0&Sgr#oO#Sw+mz0}^&- zns;bjyO9R8eS8n=+4{MjkHo@f^bb!&u&-Q#fFU zR%Hgq@}pxh1^1h0;FU+dP6N-)ft#s8Mr`v>e#KQh;U^wsYqi$BI$j&4Jk~s_3@`IQ zUW;;==m;ICu@f^ywb5y2H9FQXeHx%i}AuUN%kw`qUPSt`oRFY_=^EXVjX@tVoYq#`YdCIUs%DR zm}5oyK@=}yul`0VPO^=q*x0$^9_Jy*FRC+H&9SOB{LtPEyP9#v_3mRby3ZtqLNx;$ z=q9s5 zbvLX%b!g#avU%GWUPIo_xtx)g8oBWgQ+qm%_j6dBnl_FOkBztYpW%^>ohHojSbwR~$N zqvEP_xJiHhfj`_lih^!L#k>w}v(^{)`Sy;!$ za&r;qYOZ>urC;;Bu);O@3&+gm$rN|7${6i0UOP7zOmB;0n$64C%StI51Qi|nMeICvl)~2BHio^D`JA9 z(3OMDWW%CN4`bO+8_&)A@~i&kf?mta=Bf1BKCeDjn$7y4YDC;%0Z;RP(VaYqH&WLT zSg=Fg%q-)4!* znvNozls?;&Px1g;F||+UhuJR|6Y`Gd_Lfw@?#9jM7{Kq1fR*Vl7TSyAHD2);Q$&1o zYrH0Do_DPdGI2E)+KpsCY>O&6P^ITx*qPlzLjHi98KyfU^i(z3EmQj363B@qNIGhK z=R^`dHG)@FMDb#bW`}ewzh8rsK->X)%4PoBv{&Xun{^xxtvs-p#M^Q@;EwZDTaNpwyC0>9yTUkK|yyB~JBAM|C zH^fLe$6wOK5Pi&lAV^2rtQPP|l?FPzCg$*7U$p^ac!6K&AnM9O#)Es&OY&yKVL>9) zjk~!6Pl~CSP;E#ikCr{l`1#k7{GY7m`mGHe@4@zQ7D{#!$_!*1z15jHr;+gjCeH{$&*ztsI1L)e`;}6Ffr-ud`3R3>#-)V&6p_gA&c{Q{$L3 zVw6O9Yfoo-@sC+e4CW8s%&IugzKC~pCI>_GW4Rcj4NbhR?!^nf#z;&eaZ$#bP_LRo zC!68w*C=@w#y#g3xu*CHA-eTVW}cPLU3ti3j+IYB4qxbqHEc4zSNsmiD!WfoBfVLQ zEA3vDb#NcQ@wd2=<6-MO4cP(VDo>b(ktp(sGCWA1@~?Ajpc@%tIsDsw;qfXlyy=a< zdW#xb=q1MRTuWSTpG|w&#C_W`25sVgHCu!XhWgkiuhZ0z`G^sUD95$MW;`%vF)I4C#5QQU+9SWfmYv3uYv_T4@`Ow!n%To5 z&v>~0;<)Su5h!DrvAtrUv5iC{xkzt_iL2>L_r(wtppn&KM_RTPZS#n;wB!Th@)#|} zc2NLTS)cY;#BMR2gpM1_5&D>w{Pp#Z>z^#_bzWbqtKtnmSVLO*L-asO{xPBmfD+Eo zgq}%Zi(g~Igw|OXe(>=Kx&4)k9D^^8lOYJA&VU}ZCPQRCfqY=DgGGctn~;p|-F zwbux5v)Q7ttmHXn7P0J;`Sr|0u=86Tz{m#+`>S5#8U%0~PUeB)oTk`PzQTs0&^e>i z&gU@~(?o!~A6tU1O#+FahkOX6O$5HlFNBGp84>Ta(h`fk*Y9hZtik?X} zLoAk6U6PARmdS(g_b}h`oF_5XYY%?X7JrIcS*I8(K4{X8uNeaQWXPW4tP0D&TEj=h zZ=XVRlxxeoZ0OFYcq8wGGdXgw)sSOVE7_-PSiBZDW@2pUt}|G*wsmKE{-Fs?aRLL4 zPH#ww1zv#+Roz(aDy1Hx}mioo#m{k6S2`2F(+^YyQ z5Z^{OAL`DeFy+6p1zqUWeZeFZPj&=6Ph+`_E$lRsH5$2jR`w9TWh)f`Tkwmv+VFz@ z*w%cK##NYR26C|o5Z^R_3|-m4YjQx0#IZ)^H@0fShHPTLqx2JlbdW{zxz_ZQcblz1 zh%Tg**&)M*t`C*@Xb(mGJ=e=OdK=9+*s52f6$jW~bU-h!;4WsA@x@SH5}5d`p|=u+3xj$P)g5JI(a%(>BO%tp_b_%3|4*6|yqzWJ|i!1a_j+ zD?WfzzULRSPp{x?CP^=RgI+k5MdAa$kryiLuxDY%MO4y11lTPv(NSEbZ&^eg@SC;0 zzg4c`1G43N)?`sy^R|0n;D}Q=97n`p^DH?>1Vc5Cu5OpFRd_6mi`wC1Y-g?5ffU_i zpX|?8`BYmoXB@YlB(v3<9(~ubn3ox8K+E#1IWEifhG?J34`*14Pkb z5z~y_s(=SchG|}HCgFIwf-huM*^TxwqTGjlaoDJ?+sR+7e0$I70I|LQ4fDuZK8jf+ zm6h{q^_{&TSk{FxO=%EgcorwHrXy_N89OILZm1+fVh+tJjpS;QfeMwhg$-{2;xQ_|D;IDr2Q2mMzM~uUgW^5wK*mQ6% zOX9J(gNM~(8nF^zph7$2@P}7^%UiesKM_$BVwwzA{1^j@`l%oB7)#z=_9ijr)5cM~ zT{(v)|92N}HI}CO^Qe8*u3X1ucJhMRBUHv{7;mkehr0_6@AD3RL7r{KrzyW$yRqIG zR`RzNd?tVMLu`oyvH3clT;DfqpVAn+Q&d!l?JBfU?B1wEq`@Y1X$w6**Fzp4hjm8R z*4e5AMA{>BOumh~;Y8-N&oX0?P_*&4Yd6MQZdl|asL3(H78(U?l3U;20@f=Q6S$bn%Pc_$Wc$Z3#Z2aHtcd}RJ5L#4-}+}Lo? z)~>4DQVggW+KLBl<_SKGiDi&6tc;@ve&8}*v`a#^`q18znU9!|Tk$&tpu;a^i|&PV zPcY1%UJ6W?}w|$)ubxwcih&X4VZ>M7HaGr;I4<~-{67Q9V z%HYlZ*OD9zV>gt@Xz!YhM)kUp(nPg#oc;cXJ!WDHtny6Jthd}zEN5rl=ed|i!X=!u zSR^kV>4_U<2|C~u%ZC*%Kt-(av)C_MM7h~1M(Alx4Ucdzixgv!tc+|7x=np$FQ?<}0scB?>DN?jrPx7&8tP&CARC8GnChU>N{2I@F>;8*(c*&kD zliMK;9eY=Oo;uWx*?sRnbOV8|u9IxS&*VRJLJ8tTVgG%8yTiJ2X*6@UHQxybfpDO(5TPe&{KRj zmoNqv8HcuhKEKe^!f5I5nHDl8E|!%W)#&sv2F|86JJ{Wf(9FU!KI^J@Oi(GSPPhl1 za!L%z(xQN#TK2hsR&=Tm@29u(;m&$YY8@vZ$}+vH%cpj__69{Z$QMSbI`}V-nL&_T zhRahTquE!!H5b5&sv>LP&+3q}cO^Q?991`xl2$gMdlgwv62v9ljRvpZUeCwbI4Bye zM?*O5&B<4lcoQc@YkqQC?2(XFfWeCb(CcBU+#?e(35LEo$i2zv4fMpmEohdMrWhQ=a$$BO~F$kr-={0VW$)t6Kj@*zp=rBC@z zHVeTrtO$cRonnc0#^=Q_Xx@ZLv6a7!QtoCcr2AwydebHi>yw|&*tB8|yl7;MaU7p` ztQK zlkC%6inXlIS0us4GuzJ9?Gw5 z;*;{9buQg@mkLjX5PoU{Bb=Zo?Hz5+ATHQxw#hp3v5qwJ!u*{7aeyS}@mCI>j^#${ zcWz)QFejz4}Od{#D-(GtaEC%3{c*SE#lGIGGodP+oXf^_CykaA-I7>T6@HdaB zpxD%PGN0zDN|7HE8_P)i&9{z29r|n|n?zc7J=>}fli?U{`WlBX$%civXSorllenji ztUxLrl+|QdquFscJ`THH6S~*%rBD3BCA%}l9=zy5g7&1tr@L)vE-TRjHmqp=QvBeP z^-~@WQ+-%XS22kbX2GQL3oXskMI_05fkVb9@91T%Q8t1@K7ta@$BDirBws+2JhMzZ zFav>isFV%kPIc!_Tx;V&%N_ss4f$fdnX=dH za3z%ty*xY%llHc7Z#$uw=XdXElwrk*)t&L+Kt~y; zddHg~tmoo@SBqLLnTwCjTrEQGw%<<*1j7rOVk;W@e zo6*Y{7+5qeM?gq+veVQoSVmAgNRqwOHxUn|ykaEzpN>X%14igNsIcXqqRQErgE7#Ae=!+D zMIH>vq`5ZaktWAL62i_kCvzVdo2!TXsE6}0x_8FurMLX81)R)mXhWWy4R85}7i&*a z(N&b@S^oC=i4;Bk7`@s==UO=m!=hd0Wm!?}KeR=Uyi}Y)!nkaJMDGQ`kD{D*`gtwV znr(ZRwzw$wmLH)_5+sc5F%QK_*N%(KMj@kB^m4CE(ftIit{{_czTeJxEHaAvjW;Y- zSuv!jR5AFFr+aS|Hs@h2L`AreY__O3)K&vS$5H3;$_#>dNs_}|uSWqlG*A8OUq^Rd98W+v{C5MJGMCA~*rwpgo#woE?-iyr`(mf=2$dkoD z{7~z(PFos_18vf|wGGDbe{1OUE`RejY&__;Orw48oFJ25%5pqq1l%yLGxCb_>LMMX z(mC?rm6h-yg|DFuCt8tWG{5H5enO)anOOB&EW(65Hr5YQ;tjOpsN7L}vlX81c4$`y zRxlOM>0e%^2_3M(nd%phVOR)4g{{WRHe6{X*j{RNJ~^z31EgV_e(a?I3&b&B#X+rU zwHQdt@Wc|cC+L%A_61ePXEyV|>;(}}jr;uwurp%0KJb`Vke2j|2P&K-~n5fQ)#Sn*0 zt6Eo`U>ut^r_zcQMs(IFETM6)p~ODz=H)weWAQ@xky^enp3#$Jl^cpxlkS=Dec9cI zm7R71*o>cSD&MgNp4F~pt)UG=BW1C_dd8UYLL-WQsL|CG4E&@U$*#%d2`I9*`ZcVp z)7q%GVNc7llGn}|v%KT8KH%BDl!`_+CGJv3PcWp@N^R$+zLJYqS?=^bWj6?I=7{RWaf?IoWELM@6zm zbIx}dhK!zK4tqpxem5Ql;hvsYU8QSJhBal=J9+Iys)~?Z#$+Xy!axm*|MFOK3%13i zK8xAtwJBr36C9QLR zIO;#kVF?|6D^^0qS-A~D)%@vN#Nq;e@P>ByAR^d=j{46cQPj5*%70^ z3W=YN|MTXKEG~obeODc`!WdZZL7%c`v0?N^lf7dMYuV1fj#b4)7dzGW_9gi<9z%j` zG8cUiGMnMG=8di|sz-PhBi;L#wfroGF%PP-P{y;9R$iBvn#JhNc0Zmsi({oohlne> z(4ein*S)FMT5O`L5%9?WW{Kufsz!BAZ&-=ZX1lYbXyCuFVJR+&NY^R-=cDo+uX)~> zF=M+nMyL|N4(cqh+fzlO1OGH{F7om4``0Inwv$whu~?P8=BJDHyv#$ak=@e|U&KjP zd8bt|B6Glw2fGeHQWYf5kQAOVmgZtN275K1$r$QdUaAhTn>3iytoa?@^qIkpzWsSK38;umpTyfwx*7HB6li)mW#dc$>^*Bcp zem5$)wI(4wWgniFZE-?f#W5rBjVW7h^x2u2{lXc_uVGH-0&8vsTQN zqg|XkB=`8$r=EXjw7x!6f)`q>^4T4|ZM@4Vk6nWay znMEoEFII`j*S;B>lYu)%vfq-$#XB@$S#>E3vCcTW!y~XWo(MHF zHt%e1L`O{2MjyW8U%1dVEuqtV0UNxce^-lR8}B!NFrqPI0`1aQ4>1ToJh4i^i{jAx z7D#rk*w-`E*kSzMm61k8s^c;@3(A{3R(8TFRzV%>Vh#B+YgMFs=3z%K{~vzRldRTa zJjiSK!1r;q?34%M*oF4XJ9tK~=W4kt0bcWH;~DRR zb7y9wr|WR`--vYE`ooTSbDaDvDB;wkk)-o$>;i#%2{ntTe3k*#Zj) zJ1dgnj%aO6Yk*bmeMx&|R5FYpM9@Z4NgL|}* zpS7%-J5q$;92r>PNYz2C>BE!F1&R$m#!1}a7xH~NU0J1jQAkrWc%dplFZBwu_z~`T z8CS{@T6YDmooPK~B0ptFEjI_r!|cNnEj(C4Gyd?sN>)dD#1Ziz2Wq2-DC)bd=#ypQ zNqezuoxwi1#uno{7Sb_c92C9Qib;l9nU6kjG~;XLYTOvZ+s#4a80leyLGA7pu|;9) z#%4)mr8Tr^WPULAYU4Syd75^~E@H|>bi)UuTZyuh^|Uu<@jeBfBtaJSA7j;ua4FNV z+Sn{6pC)3|(bm~_;?A(bLrdHV=^_g%BYS1c4&)7~EqtP}TzRiWb zYt(+BSZ-dzGJatjp6eTuc;wtxY}nFVrS|Yt-7t&J5R(gfMw0la7v72hUUVFTL=Y_S zL*zryYp8hbe^{+w>kvM|NIGhV)p^C}ydn40S6q?7n<1_Cl7~5tS5Nr7sHTnl)hrr6 zi)}2RpV8A=R`$#Y)tF{cWYQ{$y(f9>!f=}Nw;E@sn8apayjUdjH0KEco3RGKdUDKVJ1(?2S!)Ex(A%)!N<@#>cWx ze1H^xmP1&;`>vfl_wtnM9@MoW0aL8*X#2k}ZY3v-#B%wPN9C>9lx;Y#XCCrQZm$OO z5DU#a!$NIycKl#v{KOsl8^QNK#$*UB#?lbJG%&haDyKt_CGlC-W04>C2I|4*aI`Y3 zzCS*szu6d_ibEa@tD@Sc8_{E2ga=m1qZr*cy6E4Wk|jyN7RPx!-_yN5#UT5$2lG6a z!CI?}UVQKK$M~SwGpoW%p9$k$Dfi!$zi8MjOdgOiib8*j;EyjUm?ZYP2F7dH<8Sit*_HHytSZ{84R4u%*7Fw(6cp{84PsF^>G2ZtX;OWnu)PcX*Z2T zzi?@t^ZsPe*#Oc7664lnx7CtlG96T4RjwvIu`Gnt5gL^r=djqP+}mAs>+abyqHI};m8^1Az+ zJfo*yeu9Je&_{m3U7F-IJTnTp#emVu){R--Afvg8?}5M>$cUYySszzeoH0IbK)@?~ zRV6X%2s`n~I~T=QaVbXRR_DsM@jL&J)xBf9C9|}`+Nk+OZ~H?~ri(at?{+*gPP~MX zcr9D2-Q;K`%d)CCq>%`RNj6vS=!ci0gv1@Slc8PL>zg(4LTh_9f(}Lzt1Op2LWvKY zZ5FMjv_EDQ#5;5#iaN{Jjm2a zl=(iuyzN!;(sdkS0qcx}Wg?cGkah&RSq&+>KP;f3JcE^VAk~bktVtg0$%eBCiOV9G zG`fF0*<)5Yjov)Kmv+CZ5A+c=Z1W#R#T1K%xac;zcxJQFlW#Ou@V&qCj(s&51LNd5 zEsaj=(4Liz*yt+lw^-pK$z?GX%ELdsEOQ47ow}k;8g12(tSINOEEa4Bx^~)&WjLuJ zY=&iiZKj7?<8cg%;cQ_|T8V3zKBJlqkj{5vp?K#NznI5gF{(Lx9I+mUhOtChQNWI3 zk9{N<*^fv3;&on?k7QhW`fvQTz@f4_??GWP{?~u*95R;`h1nJN)og5p6aPYn#jT`8 zF}_sE+O-y4m_!F2D_4zaMmD}GBO2QGVP9y+5VPI(_>2t=xIrxLkU&d#;0Vq02dT#P z5Nkzw*;9;!eHED8*hs49;=DaPGy6tvC)VhVuZnAuvg$2D>DV<9{9<>tfu*!& z3-n=wN8J&%-B9{#mk;Bg9>w0{u{(5<(z^X@_=!6f@5l4*xpKBKmtW!4Zb({T5Vq=z zMKmc>^eL5g2<>&SxbxNA_MgQyJu$GXBvXW?+z#FLEaFkGXqn(8SKfV8T8oMulT~&B3{NaQuRQs!Y8rXcM6G1=)g~Z7UGfU#dzoFM*;@Z zM+-Q}ARcP1=Sde`kTM1)Xp7wsAo4wFho%3Nbjio~KvtHVlEsX(1`Ndhbv)NVBayY-}rKZx0#A+F-`mmsU zMlaYITOO)f(GUBJ|wd zw^)^*`9EJbuPcAioHQ{)N?92@U_|UREk=~YNTV=E7Hgw}PgVQ4868bhVv3to}WV;Bw0 zxML~Jd4@F6A-k1Fj0jOz2pug>#SGqe=al!dE#hfhm3$<`QL8y~uGpSV^b+euont;n zr+CHMco~X*SA2`r(K(;!`xUtGE>}A|ik3&wDVF zy&TW(BGW5BxXNQN=NUeNnZ8D0rK8x>r@he^&Sh|nfIk%Yg>9JP2)sL6hR5D=FYDt8 zJw*xJ@)x#*Kh5UDxNYpLQ2FW6T+3+fYi74Le5?h=($&4~A@0sUvk4kI<6Q$#7GpFc zTQ4m{WjTQ+uz`l-d}M|uKFhx4ht_(~BSGZa;ev{LviR1sA|$-&?CMxiMHUTc!gKtB zmp-dhE)v&b%^bMu>}olUVuRkaHa5SLO#-j@tWLN)JWdyXX~8?@JXtAAVu=3c ze)J=UpR>n#ni@kKvQ2(01J(ooipl16bZ;!V22S6=2an)R3~(u4o9MX&g^Y~0?>GKSCa zuPsSDQFg*9^~mldYv?53iQF(MWKjZZe+Fu(YRIHov;1I=q;k8?#wo`Fml(*Rb#UQgEH+Yl!QKeJTqsK~`d^~*S- z#~3se5o|O!BMB#=-d=7D&t}%JLe`*nbwJOU5{}IjtPzUH>@NDuOYqzpja9m8j1*~8&`IoreD>>tN2&tb23Ih<}q z8r}5ZI*5@-A;DT17OvsY4u&wLwG6Bs{GRKQu;5=6NLG*moM)l` z)ii9UC)?V;GY*c(7j~#2r7f+CUoz<`bI6fqDl99K(*v8D3DK2ZETBR8%dzkYowqj< znMTG2cJYlUE9bFWFWMW?Z(gz=RF#39@p?Z{vniToK{;Tnf09~3E~B>N!FoO^>gjA` zQ3PW#-fT9uI*&1QG9Dda`+SE2-SFRDe>wh|U7ulzwJ?^oYXQNcsOXY+VxG0R7|xe; z>VDE<$2g%MleW)KDt~x%rwZhFtDQ9bVv`zHlIIKwBGO1S9FoXhj0M;#S^( zk1?I~o=#T z%i6fb!*JIds~m~JaDfuG7=h(w%wh^}%K>ET<5%U8zstVH6&>2TQd+KzgW@3%|QT3 z1+yA=(-c8rOpBtwyRpqy!jj$Wz#=^3GuZQYb3)o0kBxTEwA%isC~l2azhaxtVu$|v z`jvlpAr_T;#2E>44lH<{{A!}?Nf$V!7eAUmiMyEXId8*NYd`L_s5%ta_~U%s@;(Hk zHuLabKXIT9OzbG}8;wN*rqYXk^spB}e`8o{gpZ0D_sH_2NBVn)VX|B@;21OL1<~dr zJqt1Z*TxD92FAmMVhEzRgDYgxysBg*67(`7kn_p`>@pJm%bL4WOPj_Jmvp5EiQ>o@ zp+xH+ZjS-aT(v0{aU+XW`tn5ajY0fP9~k&+e1Ch7p1FhPMSY%tzkcC^+2su@?fO=W zNi?%@4}q-AM*bDu0JNDoPJGz@9j>;8s77cg+9(dxf z)(~i&QzXX#7&>2uWdn;Gb429u2=-XxVNUDH^ro|i80CHYT}4s)LyLrZvduo1+$bBx zU^8nvmytw|^Zc)6lJVb+Mn=Ja=5^*DSys&DOD*W0?V^$wwO}{y`D;8@VN!O=a0o3L@a*M5qU@RPc;CE^?0BiYyjJz` zoS%vV+!6^`DF)**zt9x_&1hBB=08<^{4f_a3$T9=6G)Fg-J=l;X^(5-JFQ5?W#>B* zpUc#a<9eRy3PK#1<|Og~o?%OTWKUP|iaVq9t`atMwV>8zY%`|jS9~Vd50-G1n_q*w)k`U$(|j$MGxA-GLVh9jD>yg;?xe zt@t5QRT_vCV~&Oo28JZ;tb*h@x{D8EnGO1k#V5-6p0@ea=w%AF(wLXp$2JB}79X=3 zM%uKqKl|~j@Bf7-Yl{!_E-WPli)keStrKFYRl8Xzt(`4@!m6x5LaT|i(;pAa%K12N z7rW*LA_xYM!B@DFq=FT1$t^;}DZW9>uC6#}zOlKXsN?4>6*Hc}%t(3Ec%DO*RmQCD zVoeB&(p~FF7p#$$jV~ID3`~=89aly14H`7X18At^&J~%YnSFOPBoyiE{UB*YFVzvY z?9S^(x~DJf)e(B&9md5`N6Zm%okq>ti!4_1M3@?1JhIgY#^L3VDWA3rSR9dNBo;s` z8~HDvwx*2*m{~qGf2o)FwZEq_IEOvr)^nq>1aIM0mh>up9D{*A7*cI|Jf&{fK@r8} zg8DjAw1jkV6x*^5md101&v9#Z>o?f&9?#*DJW(Asewi2kd_;E=Fw2@Af*$UekWKYW z6O}72Iv;D~ZF7a@wzQ=aPmwH2&9&)I6Hx?tzS63-e9YF0NA)FJWU->0BBsc!4ntOZ z*@r(`HMd`3RLAj1lW zk>^;3`79AN&@txod1bidyz!v!c~R>>`9;ulUsmKtW9!kC&E-Yt&>zFBrdh$`Ea59v ztxrcHyJ!n($a*x3nOy87k3RgKHF%OeEDoV~z-BnJmp`@7iuRjW2bJ=J5o;|^kj@j$ zW!Xns?}(v)841JL$ZvcWa?s*u5}Z+Etn~PONCV$Zx zR^lBV#k_Tf>-;JTU1?YbjU#fGI5vWNC9PS-CjD85p;~5hT4)PXc}7om6p!SGZnH=k z6W>Kp^9Q`n|D@70Z0+IMV_`$qT9rB{a+1j=R`P6>gEe{3{ZKx&iOS%6;3c5()T79($ct!|e~#*q%x2sWOOj zamC!xOxNno4n+HFU1!Ja_7bp|eWc*LT#SFTbA-NhheFksXRS-J*8V>R;b>kbiM?i} zkgT2dpdj0XGnO@!Bk1M=cUMts=LEoar^$k@Y zyR|NMXxp00+8vkr^p6l0J$!%%`OWyaYXnSUFT7|%G993DjqYriJI8PADf>dTn3VT< z%lrV#^0ZICj%P- zGyhq`=S9#DuiZ^Ds#l)Tlx2TjWc%blSw}Rno|il?cX@^zMyQ_jEbc6KL36oVMkWKI z+R{k{>-rQ-Lb~b)Lvo8)(FYs-#1{;q0V`RM^KETj=+G5ujfOS5O= zhGt&E3Q>ezWix(grp#OTZ9Wl8TD8)uN}wf-ioSL|;Ywr7u?LBZ`WrdDcy%+RtfhAq z35xZGHzY(uRfpGQ1#<(diB|nIGaE8S@8RNGu?Kf?Koe4@bCE)qA}I8mhti{rblvV5 z>%^F6xTIA(1*FPO@We#Fq1#>WSX=!oMtCbmlh*n#t>GJL@gMrjd#wb;6l;u6?_#-G zi#XsjE%KMXe)CgI<41lGZHqbnQ618EXZezzR>4J8J!y!GB4n{pv=xQ$$iq-2O+|?5 zFokT{s`u8(am5i|@)wMa1&?YLRLe!Y*;QL(u-W{>w_81tpLWI#kyvTRkmtf458Blg zlWA1Nvnv2sQP7+Rqu`chv(6Fr=WYCyAIdp&tExC!mfc8u%mhR9KlKySQ)^eo+^VenpIUdV~>1V_GJxS^>Mv~ zc4c-^(R&Zc;8ot>^X5+4;#v7v77_{Nc1PWbz;-L_xaug){Fjl++qfyp`MC2KqgO1J z;qZz_>`^Q_ivMBc(+6NJQk&Zv1zTi%JjcXUV0;U8E#xEivlB<5`RQ^%vq5t`efg># zfV9*DLd`p!_nfX|Vi@+v&zLV}y5rPQzGaKC#k`2Hvga?>KC>=4kL31K@Me*&CvUO5 zs4pt%o7U#E#WSR08~ri(fO`2I(jlxyn2GsjM|$|=BW?ASd-URWS%PFfvsF7Il$ThZ z*NW`4uB}*M5iHl63|i?;7L6dwUdPP5`P|4}7pLNk^>&6>ApaVV$9W(|vl<#!aGo0- zhrNOoZ}JsgpgJ@#T~F;W4BmPgr}%p4Mjw0WhGlUGO7^Joc1V-s89jK! zJ(ya@Z}=peMIT?f!iL{SHOjLh)sh~?2PxJWu(3^HDs*Uq`%R zJKbbB{&K7{5cNE%aDYg<(u!{$*CL z>roD}b6`i7T=UDSb1_pj(VqYC*MC|Son*li@{L_ahf3Z_+s&7Zr7hn#AKPwdJ|HEA z$$IAEtG~EFoARP|H0+9$$ipI@)c@1VOE{%=#8L3ysVfec7`*@h=r zM3Nl@7_z#RMC)SwYsFOtZDmd~=(SQAqs$GBz|Y2Zwi;)IGKc@hq=88Ey7?x~8Lf9h zJ7*t&2W#8evW-!o+0}6#v3rF(#>Voz%|~!yC;a6~^8BTREWn4@#`b1Av}T_y=SPpt zQb@oZ{XN1Cs@X?Nxsfakbe@Ndz{lc`|KMm|4*`8exW6K!EG~Dl1%JxCWiN<@TXO=o z(5Vc8@2nk%9(&jM(}tKB6n=!UB#(o*|JHc=1F;|uK3evJ6&8sWJ z-dX-PAB8TvJ!s<-)9m{>?h5$&w4+d4t915=+w@T(jBYO>ALM^%$|3Rw+l;KPV02Nd zV#lV{Px%FN#3fmB9v{g}vOKKh2^?@d&MkxTC0)cpXIW2g5e74o!b3(dzDR+d9jsc( zI6O<5cxq-PLSqkHCf^ZUfJgi)V!|r#c#kiy)T+5Mj^xGeoGpV@*JL(2ItD}Bf-jrN zg^>TeKyP;W-`ocCLzNxHo3`x12ssZ2TeIV}9&~erOlYtf24Th59(3k8T4~d2lCH}#S)-PRG2P@F`tU=jlZCbZ$2d%eP=02QT$uJU6Q8RV z%|hQF_sj5XfoC(=Rli!|o*v~X*%OM6`t$((%{_XM!&|guFHZ1MBg<%3S?Ss=BQA&& zRYL^PVSC&9rD6Pplo|M&*Zbql3#zh^-HIcxo9XIFSKK9e+~XO?@M+e>nq~-m`Sxbn zBtgw}%|)`2oaX`Z;)IxhdESuos?*^j`{fZk3lNeqSV1Ze}Y2*5ck+RV+JF)Rx!jX}-}NQKYgK zgI3k;la_BFpoPC!5e}k`b-X}Fl|hTRT)y^K)ljS8)NU-)(uX9qBaHMWDP+^gYtM?j z^lZ%Qcw@=*&KFtO$qw@h*0d^(S0uIXI)-@%py~Z0hVFEck<1hYpgl0xhraGYo{uM8H&NHy{aNhn5HdWi$ zlaGtTvP@UJM0m9gw$8JkEyjZw&bebAHn=Cx%LAma)p&Y|S7$!lG0*7C!*tTl%)su` z@(S6`U}|{a-}^JsE`*IiY16T<~

+H98BYswK$IAkrAM3OnzZ4PZX)Dh6p6v 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

  • 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 A(*OVf literal 0 HcmV?d00001 diff --git a/samples/wenet_sample.c8 b/samples/wenet_sample.c8 new file mode 100644 index 0000000..15885c1 --- /dev/null +++ b/samples/wenet_sample.c8 @@ -0,0 +1 @@ +~€}€~‚}€~‚€~~‚~~~€}~€~€}}~~€€~€~€~~~~€~€~€~~~€~€~€~~~~€}~€~~€~€€}€}€~~€~~‚~~~€~€~€‚~~€~~~€~€€~€~€}~~€~€~€€€~€}~~€}€€~€~~~€~€€~€~~~€€~~~}€€~€~~~€~€~€~€~€~~~~€}€}€€}~€~€~~€}€€€~~~~€~~€€~€~~~€~€~~€~€~~€~~~~€€~€~€~€€‚~€~€€€€~€~€~~€}€~€}€~€~~~~€~€}€~€~~}~~€}~€~~€€}~}€~~€€~€~€~~€~~€~€~€}~€}€~~€~€€~€~€~€€}€~€~€~€~~~€~€€~€~€~~€}€~€~~~~~~~~€}€€~€~€~~‚}~€}€~€}~€~€€~~€~}~~‚~~€‚}~~€}€~€~~€~€~€~~~€~~€€~€~€~~~~‚~€~~~~€}€€‚~€~~€€~~€€}~~~€}€~€€~}€~~~~€~€~€}~~€~~€€€~~~~€~~€}~~‚~~€}€€}€€~€~€~~~~€~€~~~€~~~€~~~~€€~~€~~~~€€€}€~€~~~~€‚~€~€~€~~~~~€€~€~~€~€€‚~€~~€}€~~€~€~€}€€~€~€~€~~~}~€~€~€~~~€~€€}€~~~~~~€}€~€~€~‚~~~€€~€€}€~~~~€~€~€€~€€~€~~~}~~€~~€~~€~€~~€~€€€~~~€~~€€‚~~~~€~~€~~~€€~~€~}~€~€~~€~€~~€}~€~€€~€~~~~~€}€€~‚€~€~€~€~~€~€€€~}€~€~}}~€}€€~€~€~~~€~€~€~€€€€~€~~~~€~€€~€~~€~€}€€~€~€~€~~~~€€~~€~~~€~~€€~~~~~€~€~~~~€~€€€~~~€~€€‚~~€~€~€~€~€€~~~‚~~€~€}€~~€~~}~€~€€€~‚~~€~€€~€}€~€~‚~~~~€~~€}~€~~~€~~€~‚€~~€~€~€~€~~~€~€~€€}€~}€€~~‚~€~€}€~€~~~€~~}~~~€~~~~~€~€€~€~}€~€~€~€~~~~€€~€~€~~~€~€~€€}€~€~€~~€~€€~€~~~~€~€~€~~}€€‚}~€~€~€~~€€}~~€‚~€}~~€~~‚}€}~~€}~~€~€~€~~€~€€€~€}€~~€€‚~~€~€}~€~€~~€~€~~€€}€}~€~€~~~~€~~€€}~~€}€~~~€~€~€~€}€~}€€~€€~~€~€}~~}€}€€~€~€~€~‚€~€}~~~~€€}}€}€~~~€‚~~}€€€~€~~~~€€€~€~}~€~€~}~~~~€~€~~~}~€€€‚~€~~€}€~€~~~€~€~€~~~€~~€~€‚~~~€}€€}€€~}~~~€}€~~~~~€~}~~}€~~€€}€~~~~}~€€€‚~~~}€~‚€€~€~~}€~€€~€~€€}€}~€}€€}‚~~}~€}€€~€~€~~‚~~€}}~~~~€~~€~~€~‚€‚€€~€}~€~€€~€}€~€€~~€~~~€€~~€~~~~~~~~€~~€~€~€~€~~€~€€~€~~~‚€€€~~~~~€}€}~€~€}€}‚~€}€~~~~~€€€~~~‚~€~€€~€€€~€}~~€~€~€~~~€~€€€~€~€~€€€‚~}~~~€~~~€~€~€€~~~~€}~~€~€}}~€~~€}€~€~€}~~€~€€€€~€}~~€€~~~‚€~€~~~€~€~€~~€~€€~~€~~~€~€~~~€~€€~€~~€€~€~€~€~€€~€~~€~€~€~~~~~~€~€~€~~~}€~€€€‚~€~~~€}€~~~€}~€~€€~€~€~~~~€~€€~~~~€€}€}€~€~~€~~~~€~€~€}~~}€~€~€}}~~~€}}~€~€~}€}~€~€~~~~}€~~€~~€~€~}€~}€~€€€~€~~~€~€~~‚€~€~~~€~€€~~€~~€~~€€€~€~€~~€}~€€€~~~€~€~€}}€~€€~€~~~€~€€~}~}}~~€~€}€~€~€€~~~‚~€~~€€€~€}~~€~€€€~€}~€~€~~~€}~~~}€€~€}~€€€~€~~~‚€~~~~~~~~‚€~€~€~~~€~‚€€}€€~€€}€€~€~}‚€~~€€}~€~€}~~€~€~€}€~~~€}~~€}~~€€€}€~~~~~€~€€}€~~€~~~‚~~€~€~€~~€}€€~€~~€}~€‚~~~€~€~€}€~€~~€~€~€~~~€~€€~€€}€~~~€}€€~€~€~‚~~€~€~€~~~~€€~€€~~~‚€~~€}€€}€€~€€~~€~€~€~€€€~~~€€~€~~~~€~~€~}€}€~€~‚€}~€}€€€~~€~}~~€€~€~~~€~€~~€~~~€~€~€~€~~~‚~€~€~}~€~~€~~€€~€~~€}~~€~~~€~~€€€~€~€~~~€€~~~~~~€~€~€}€~€}€~~€~€~~€~€€€~~~€~~€€€~~~}€}€~€~€~~~~~~~~€‚~€~~€}€~~~€€€€~~€}€€~~}€~€}€}~~~~~~€~€~€~~€€€~}€}~}€~€€~€~€~~€~€‚~€~~~~€~€€}~€}€~~€~‚€~€~€~€€~€~€~~€€~€€~‚€~}€~~}€~~€€~€~~}€~€~€~}~~‚~~€}~€~€~~€~~~€~€~€~€~€}€~€€}~~}}€~€€~€}~~~€~€€~€€~€~~‚€}~€~€~€€~~€~€}~€~€~~€~€€€}€~~€}€~€€~€~~}€€~€}~~€}~€~€}~~€~€~~~~~€~€}€€~}€~€~€€}€~€~~~~~€}€~€}€~~€€~€~€~~~~€~€~~€~€~~~€~€€~€~~€€~€~€}€~~~€~}€~€~€~~€}€~€~~}€~~€€€~}~€~€~€}~€~~€~~~€‚~€~~~~€~~€€€~€~~€~€€‚~~€~€}€~}~~€~~€€~€~~€€}€~~~€€~~€~€}~€}~€~€~€~~€€€~€~€€}€~€€~€~€~~€€~€~~€}~€€~€~~~€~€~€~€}~~€~€€~~€}€~€~~€~€~€~~~~~€€~~~~~€€}€}€}€€~€~€~~€€€€~€}€~‚~~~€€~~~€~€~€~~€€}€}€~~~€€~~~~€~€}€~€€€€~€}~~~~€}€€}€€~€~€~~€~~€€~€}~~~~€~€~~~}€~€€~~€~~€€€~€€}€€~~€~€€~~}~€~~€€~€~~~€€€‚~~~€}€~€}€~~~‚€€~€~~€~€€~€~~€~€€~~~~~~~€€~€~~€~€~€€€€}~~~€‚€~~€~€~€~€~€~~€~}€~€~~€~~}‚}~€~€}€}€~~€‚~€~}€}€~~~~€~~€~~~~€}€€~~~~€~€€~€~€~~€~~€~€~~‚~~~~~€~€~~€}€~~€}~€~€~~~~~‚}€~€~€~~€~~€~~€€}€~~€}~~~€~€}€€~€~~~€~€~€}€}€~~€~}~€~}€~€}€~}€€}€€~€~~€}‚~€€~€~€~€~€~€€~€~~~~€€~€~€~~€}€€~€~~€~€~€€€~~€~€~~€‚}€€€~€~€~€}€~~‚€~~€~€€~€~~~€~~€€~€~}~€€‚}€~~~~€~€~~~}€}‚€~€}~~~~€~~€~€~~~~~€~~~~~€~~€~~€~€~€€}€~€€~€€~€€~~~€‚~€~~~~€€~€~~~}€~}~~~‚}€~€~~€€€~€~~€~€€~€~€~~€~~€~~€~~€}€€~€~~~€~~€€€~€~€}€€~€€}~€~€~~~‚€€€~€~~~~€~~€~€}~~~€~€€~~~€~€~€~~~€~€~€€€~€~€~~~€€€~€~~€~€€}}€~‚€~~~~€~€€~€~€~~€€~€~€~~}~~~€€}€~~€~€~~~€~~€€~}€~~€€€}€~€~€}~~~~~€~~€~~~€~€€€~~€~~~€€~€~~€€€}€~€~€~€€~€~€€€~€€~~€~€€€~€}€~~€}€€}€~€~~€€~~~~€‚}~€~€~€}~€~}€~~~~€~€€~~€~~~~~€€~€~~~€}~~~€~~€€‚~}€~~€~~€~~~€}€~~€€€~~€~€~~}~€~‚€~~€~€}~€~€~~~€}€€~€~€~~~€~€€~€~~~~~€~€€~€}~~€}€~€~€~€~~€~~€}€~€~~~€~€~~~~~€€~€~~}€€~~~€€‚~€~€}€~~€€~€~~~€~€~~~€~~€€€~~~€}€€}~€~~€€€|€~€~€}~~~€~~€~€~€~~~~€~~~€~}~~~~€€~}€~~€‚~~€~}~€~€~€€}€€~€~}‚€~~~€~€~€€~~~€~~~€~€€~~~~€}~€€~~€~~€}~€€~~~‚~~~~€€~€}€~~€€~€~~~~€~€€~~~~€‚~~}~€~€~~€~‚€€~~€~~€}€}€€~€~~€~}€~~€~~€~~~€}€~~€~~€~€~€~~€}€~~~~€‚}€~}€€~€~€~~€~€€€€‚~~~€€~~€~€}€€}~€~€~~~~€~€~€~~€~~~€~€~€~~€}€€€~~~~~€€~~~€}€€€~€}€~€~€€~‚~~~}€}€~~€~~€~€~~~~‚€~}€~€~€€}€~~€€€€~~}€~‚}}€~€€}€~€~‚€~~€}€}€~€~€‚~~~€~€}~~€~€~€€€~€~€~€~~€~€‚~~€~€€~~€~€}€~~€~€~€}€~~~€~~~}€~€~}~~}€€}€€€~~~~€~~€€~~€}~}€~€€~~€~~}~~€~€~€~€~€€~~€}~~€~~€~}€€‚~€~~~~€‚€~~}€~€€€~€~~€~€~€}€€}€~~~~€}€~~€~€~€~€~€~~~~€~€~~€~€}~€}€~€}€~€~~}€~€~€€~€~~€‚~€~~€~€~€€~€~~€~‚€~€~~€~€€~€~~~~~~~}~~€€~€~}€~€€~}~~~~€€~~~€~€€~~€}€~‚€~€~~€~€~€~€~€~€~~~~€~€€~~}~€€€~~€~~€~~€~~€~€~~€~€~}€‚~~€‚~€€~€~€€~€~~€~€}€~€€€~€~€}€}€}~~~~}€~€€}€~€}~~€€~€}€}}~€}€~€€~~€~~€€€~~~€~€~€~€~€~€~~~}~~€}€€~€~~€~~€~~~~€€~€~~€~€€€~~~€~€€}€~€~€€~€~~‚~~‚~€~€~€~~~€~€~€€€~}€~~~‚~€~~~€~€~€~€~€~€€~~~~~~€~€€~~€~€~€~€€€~€}~~€~€€€~}~}€~€€~€~€~~~€€~~}~~~}€~~€~€~~€€€~}~}€~€~~~‚~€€~~~~~~€~~‚€~~~€}€}~€~€€€~~€~~~€~€€€~~~€}~€€~€~~~€~~€€~~€~~€€~~€~€€~~}~~~}~€~€~~€~€€~€}~}~€~€}€€~~€~~}~~€€~€~~~~~€€~€~€~€~‚~€~~}~€€~€~~~~€€~€~~~~€~€€€~~~€~~~€}€~€~~€}~€€~}}~~~€~~~~€~€~~~€~€~€~~€~€€~~€~€€~~~~€}~€€~~€~~}€~€}~~~€€€~€}€€€~€€~€~~~€~~€€~€~€~~~€~€}€~€~€€}‚€~€}€~~~€}€~€~€~~~€€€}€~~}€~€~€}€~~€~~€~€}€~}‚€~~~€~€€~€}€~~}~€€}€~~‚~~~~~€€~€~~~€~~€€~~€~~~€~~~~€~€€~}~~€~€}€€~€~~~~}€€~~~€~€~€~€€€~~€~~€€€~€~~€~€‚}~~~~€~€~€~~~~~€~€€€~~€~~€~~€€~}~~€}~‚€€‚~€~~€~€€}€€}}€~€~€~~~€~€~€~~~~~~€~€~€}€~~}€~€~~€~€~~~€‚~€€}€~€}~€~€~€~€~€~~~}€~€€€}€~~~€~€~€~€~€~€€~~€}€~€€~}€~€~~~~~~€€~~€~~~}€~~€~~}€~€€€€~€~~€}€€~~~~}~€~}€}}~~€~~~€~€~€€€€~€~€}€}€€~~€‚€~€~~~~€~€€~€}~€~‚€~€}}€~€~~~€~€€~€~€€}€~~~‚~€}€€~}~~}€}~~~€~~}€~€~€~€~€€~}~~~€~€€~€~}~€€~€~~€}€~~~~€~€}€~~~€~€~€~~~~€~€~€‚€€~~€~~€~€~€~€~€€~€~€€~€}€~‚~~‚}}€~€~~€~~€€~€~~~€~€€~~€~€~€}€~}~€~~€~€~~~~€~‚€€~€~~}€~€€}€}~~€~~€}~~~~€~€€}€~€€~~‚}~€~€~€~~~€~€~~€~~€~€~€~€€~€~}€}~~~€€€€€~~~~€~€~€~~€~€~€~€~€}€~€~€~~~€}€€~~€~~~~€€€~~€~~}~~€€}€€~€~~€~€~€€€~€}€~€}~~€~~~€~€~€~€~€~€€~~€}~}€~~}€~€~€~~‚}~~€}€~‚€‚€€~€~~~€€~€~€~~~€~€}€~€~€‚~~~€~€~~€}~~€~€~~~~}}€€~€~€€~~~€~€}€}€~~~‚}€~€~€€~~€€~€~~~€~€€}€~~€~€~€€~~€€€~€~~~~~~~€~€~~~€~€~€~~~~€~€~~~~~€‚~€~€}€€}€~~€}€~€~€}~€€€€}€~~~~€€~€~~~~~€~€~€~€€~€~~~~€‚~€~~~€~~~~~}~€€~€~~}~€~€€€~€~~~~€€€~€~~~€€~€~~~~€€~€~~€~€~€}~~€~€€€~~€~€€€~€~€~€~€}€~~~~~€‚~€€}€~~€~€~€~~€~~€€~~~€~€~~~~~‚€~€~~~€~€~~~€}€}~€}€~~~~€€~}€~~~€~~€~€}~~€~€~€~~€~~€€~~~~~€~€~€€~}€}~~~€~€~~~€~€€€~€~~€~€€€~~~€~€€~€}€~€}~€€€~~€~}~€€~~}€€~€}~~€~€~~~~~‚€€~~‚}€~€€}€}€~€~~~€~€€€~€~~~~€€€}~~~€€~€}€~€~~€~€~~€~~€€~€€~~€}€~~}~€}€}€€~~‚~~€~€~~€~€€€€~€~~€~~~€‚~~}€€~}€~~€~€~€~~€‚}€~€~€€~€~~}‚~~~€~~€~€~€~}~~€~€~€~~€~€~€~}~~€}€~€€~~~}€€~€~~€€€‚~~‚~~~€~€~€}~€~€~€~~€~~~~~€~€€~€~€}}~€~€‚~€~€€~€~~~€€€~€~€~~€~€~~€~€€~€~~~~€~€~~~~€~€€€~€€~~€~~€}€~€€€~€~€~~€~€~~~€~€}€~€~~~~€}€~~€~~€~~€~€~€~‚~~€~€~€~€~~~~€€~€~~€~€~~~€}€~€~~~~€~}~~~€~~€€€€€}€~€~~€~€~€€€€‚~~€~~€~€€~€}€~€~€~~€~~~€}€~€€~~~~€~€~€€~€€~~~~~~€~~€‚~~€~€~€~€€}€~~~~€~€~~~~~€~~€~€}~€}€~~€~~€~€~~‚~‚}~€~€€€~€~~~~~~€€}€~€~€~€~~€~~€}€~}~~€~€~€~€~~~€~€~~~€€}~~~€€~€~~€~€}€€~€~€€}~~€~€~€~~‚~~}€‚~~€€€‚~~€~~€€~€€}€~€}€~~€~~€~€~~€~~€~€€€~€}~~€~€‚~~€~€~€~€€}~~}€~€~~€~€~€~~€~€€}~~€€~~€~~€~€€}~~€~€€€€~€~€~~~€~€~~~€~~€~~~~€~~€‚~€~€}€~€~~~€}~~~€}€}€~€~~€~€€€€~~~€€‚~€~€~€~€~€~€~~~‚~~€~€~~~~~€~€€‚~~€~~~€~€€€~€}~€~€€~~€~€~€~~~~€€€€~€~€~€~~€~~~€~~€~€€~~€~‚€‚€~€~~€€€€~€~~}€~€~~€~€}€~€€~€~€€~~~€}€€€~~~~~€~€€‚~€€}€~~€~~~€€~~~€~~€~€€~~€~~€~€~€~~€~~~~€~€~~}€€€}€~~~€~€~€~€~€€~~}~~~€€~~€}€€~~~~€~~~€~€}€~~~~~€~€€€~~€~€~~~‚~€~~€~€~€€€~€~€~~~€€}€~~~~€~€~€€~€~~~~~€~}~€€€~~€~~€~~€€~€~~€~€~€}€~~€~~~~€~~}€~~~€~~€}€€}€~€~~~€~€~€}€~€~~~~€~€}‚~€~€~€€~€€~€~€~€~~€~~~€~€€~€€}€~~~~€}€€~}~~~‚~€~~~€~€€~€~~}€}€€~€}~€‚}~€~€~}€}‚~€~~~€~€€€~~}€~€€~~~€~€€€~€~€}~~€~~€‚}€€}~~€~~€€~}€€€~~~€}~~€~~~€}€~~~€~€~€~€~€~€~~€€~€~€~€}‚€~~~~‚~~}€~€€€~~~~€€~~€}~~€€}~~€}‚~~~~€~~~€~€€€€~}€~~~€~€}€~~€€~€~~~€€€€~€~~~}€}€~€}€€~~€~€~€~~~~~~€~€€~~~}~~€~€}~~~~€~€€~~€€~€~€~~€~€}€~€€~€~€~~~}€€~}€~€~~~~€€~~~€~€~€€€~~~~€~€}€~€}€~~€~}€€€~€~~~€~€€~}~~~€~€€}€~€}‚€~~~~~€~€~~~€~€€~~€~€~€~~€~~€€~~€~~~~‚‚~~€~~}€~€€€€~~~€~€~€€€~€~~~€}~~~~€~€~€}€~€}€~~€~€€~~€~~}€~€~€~~€€~~~€}€~€~€~€~~~‚~~€~€€~€~€~~€~~~~€}€~~€~}€~€~~‚€}~~€}€~€~~‚}~~€~€}~~~~~~€€~~€~~€}€€}€~~~€~€€~~€~~~€~}€€€~~~€~~~€€~€~~~~€~€~€~€~€~~~~~~€}€€€~€~~~€~€€~~~€~€‚~€~€~€€~€~€~~€~€€€~~€~~€~€~€~~€~€€€~~€}€~~€~€~€€~€~€~~~~€‚}€~€€~€~~~}~~~€~€€~€}~€~€€€~~€~€~€€€~€~~€€}~~€~€€€~€~~}~€}€~€~€€~€~€}€~}€~€€€€~€~~€~€€€~~~€~€~€~€~€€~~~~€~€€}€~‚€~~€~~}€~€~€€~‚€~~~€}€}€~}~€~€~‚€€~~~~}€~€~~~~~~~~€€~€~€~€~}~€~€€€~~~~~~€€~~€~€€€~~€~~}€~€€~€~~~€~‚~€~~~€~€~€~€}~~‚€~~€€~~~~~€€‚~~~~€~‚~€~~~€~€~€~~~€~€€€~~€~~€~€€€~€~€~~€~€~€€~~€~~~~€~€~~~€€~€~~~~‚~€~€}}€~~€~~~€~~€€~~}€€~€~€~€€~~€~~~€~€€~€~~~€~~€€~€~€~~€~~€€~€~~~€€~€~€~~€~€€~€~~€}}€~€~‚~€~~€€~€~~~~}€€€€~€~€~~~€~~€€~€~~€~~~€~€€~€€}€~€€~€~€~€~~€~~€~}~€~~~€}}€}€~~~~~~}€€~€€~€~~~€~~~~~~€~€~~~€~€€€~€~€}€~~€}€~€~~€~€}€~~€€~€~~€€€€~~€~}~€€€~}~}€}€~~€€~€~~}~~~€}€€~€€~~€~~~€~€~~~€~€~~€~€€€~}€}€~€€€~~€€~€~€~€~€}€~~~€€€€‚€~~€~~€}€~€€~~€~~~~€~€~€~~~€‚~€€}~~~~€€~€~€~€~~~€~€~€~~}€€€~€~~~€€~~~€€€~~€}~}€€€~~~€~}€€€~~~~~~€~€~~€~€€~€~€€~€€}€}€~€~~~€~}€€~€~€~~€~~~€~~€‚~€~€}€~€~~€‚~€€‚}€€}€~}~~€€~€~}€€€~€~~~€~€€€~€}~€~€}~~}~~~}~}€€~~~~€~}€~€€~~~~~~€~~~€~~€~€~~}~€€~€~€}€~€}€€}€~€~~‚~~€~€~€~€~€~~€~~€~€}‚€~~~€‚~€}€€~‚~~}€~€~€~‚~~~€~€~~€€~~€~~}~€€~~~€~~€~€~}‚~~~~€€€€~€~‚~€~~€}€}€~~~€€€€~~~€~€~}€~~~€€~€~~~€€~€}€€~~~‚~~~~€}~~~€~€€~€~~€€~€~€€€‚~€~€~€}€~~€~~~}€~‚€~~}~€~€}€~~€~€}€~€~~~~~~€~~€~‚€~~~€}€~~~€~€~~€~~~€~€€~€~€}€€~~~€~€}~~~€€€~~€~€€€~€~~~~~€‚~€~€€~~€~€~€~~€€~€}~~~~~~‚~~€}~~~}€~~~€~~€}~~€}€€€~€~~}~~~€~€~€~€~€~~€€~€~€~€€~‚~~€~~€~€~€€€€~€~~~~}€~~€~~~‚€€€~~€~~€}€~€€~~€~~~€~€~~€}€~~€~€€~~€~~~€‚€~~~~€~~€}€~€~~€~~€}€€‚~~~€~~€‚~€€~~€€~€~€~~~~~€}€~}~‚€~~€~€€~€~~‚~€~~€€~~€~€~€€}€}~~‚€~~~}€~~€~~~~€~€€~€~€}~~€~~€€€~~€}€~‚€~€~€~}}~~}}€€~€}~€}~‚€~~~€~~~}~‚~€€€~€~€~€€}€~€}€~€~€~~}~~~€~~~€€~€~~~}€~€€‚~~~~€~~€€€}~€~~~€~€}€€~~~~~€~€}‚€~€}~~~€~€}€~~~€€~~~~~€~~€~~~}~~~€~€~€~€~~~€~€€~€~€~~~~€€€€}€~€~€~€~€~€~€€~€~~€~}~~~€}~€€~€~~€~~€~€}€}~‚~~~€~€€~€~€~‚€€~~€~~€~~€~~€~€€~~€€}€~~€~~‚~€€}€~€€~}~€}€~‚~~~€~~~€~€~~~€~~€€~~~€}~}~€}~~~~}~€€~€~~~~€~€~€‚}€€~~€€}€~€~~~€€~€~€~€~~€~}~~}€~€~€€~€~~€~~€~€€€~~~~}~€€~~}€~~}€~~~€€~€~€~€}€€~~€~~€€€€~€~€~€~€~€€~~€~‚€€~~~~€~~€~€~€€~€~~~€~€~€~€~€}€}€~€}~~€~€~}€~€~}~€~~~~€~€}€€}€~~€€~€~~€~~€}€~~€~~€~~€~€€€~€~€~€~}€€~€~~}€~€~€~~€~~€€~~€€€~€~~~€~€€~€~~~~~€~€~€}€€}€~~~€~~}€}~€~~~€~€~~~~~~‚~~€}€~€~~€~€€~~~~€~€€~~€~€~~€~~€‚}~~€~€~€~€~€‚~~€~€~~€~€~€}€~~€}€~~€~€€€‚~~€~~~€}}~€~€~~€~}€€€~~~~€~€€~~~~~€~€~€€~~€}~€~€~€€€~€€~€~}~~~~~€~~€~€~~~€~€~€~~~~€€‚~€~~}€~€€~~~€~€€‚€}€~~~€}}€}€€}€~€~€~€€~€}€~}}€}€€~~~~~~€€~}€~~€~~€~€}~€€~€€~€~~€}~~€}~€€~€~~~~~€}€€~€~€~€~~~~€~}€~~€~~~~€‚~~~€€€~€}‚€~~‚~~€~€€~~€€}~~~€~€~€~€~€~‚~~€~€}€~€}~~€~€‚~~€~}€~€~€~€~€~€€~~~€}}~€~‚~€~€~~~€~€~€~€}~~~‚€€~}~~€~€~~€~~€~€~€~€~€€~~~~€€}€~€~€€~€~€}€~~~€~€~~~~~€~~~€~‚€~€}~~€}€‚‚~€~~~~€}€€~€€~~€~€~€~~~€~~~~€}€~€~€~€~~~~€~€~€~~~€~€‚~~~€~€~~}~~€€~€}€~€~~€~~~~€~~~}€~€€~€}€~€~€€~~€~~~€~€€‚~~~~€€€~~€~~€~~€€~€~€~~~~~€~~€~~€~‚€~~~€~€}~~€~€€~~~~~€~€~€~€~~€~€€~~€~~~€~~~~€~€€~€~~~~€€€~~€~}€~€€~€~€~}€~€~€~~€~~~~€}€~€€~€~~~~€~€€~€~€~€~~€~€€€~~~€~€€~€~€~€~€€~~€}~€~€~€}€€~€~€~~€~€~€}~€~~~~€~}€~~~€~€€~€~~~€~€~€~~€}€€€€}~~€~€}~€€€~€~€}~€}€~€~~~€~~€~}~~€~€€‚€~~~~€~€€~~~}~€}€~€€~~~~€~€€€~€~~€}}~€~€~€}€€}‚€~~€~€~€~€~€~~€~€€~}€~~~€~€~~€~~€~€~€}~}€€~€~~‚~~~€€~~~~~€€€~~~€~€~~€~~€~~~}€€~~€€~€~€€~€~€~€~€~~€}~€~~}€~€~~€~€€€~€~~€~€~~~~~€}€€€~~€~€}€~€~‚€~~‚~€~€~€€~‚€~~€€€€~~€~~~~€€~€~€}~~€~~~€~€~€~€~€~€€~€~‚~€~€}€~€€~~€€~€~~€}~~~€~€~}~€~€}€~€}€€~€~~}~~~~€}€}€~€~~~€~~€~€~}‚~~€~€~}€~€~€€~€~~~~€}€€~~€~€€}€~€~~~~~€€}~€~}~~€~€€~~}}€}€~€}€€~~~~€~€}~~€~€€~€}€~}€€}€}€}€~~~~€}~€}€€~~}€€€~€}~~~‚~~€~€€~~€~~~€~€}€€}}€~€~~~€~€€~€~~€€~~~€~€~€~~~~€~€~€€~€}€~~}€~€~~€€~€~~~~~~~~~~}~€€~€~€}€~~€}€~€€}€}€~~~~~€~~~~~€~~~€~€~‚~~~~€~~€€€~~€~~€}€€~~€~}€~~~~~}€}€~~~€~€€€‚~~~~€~~€~€}€€~€~~~}€~~€}~€~~~~€€~€~€~€~€~€€~~€~~~~~€‚}~€}€€~€~€~~~~}€€}€~~~€‚~€~€}€~}}~~~€~€€€€~€~€}€~€~€€€€~€~~}€~€~~~‚~~‚~€~~€~€€€€~€~€~€}~€}€~~~~~€~€€~€~~}€}€€~€~~~~€‚~€€~€~~‚~€~~~~€}€~€€~€~~€~€~~~€~€€€€~~~~}‚~~€~~€}~€~~~€~~~€}~€~~€}€~€~€~‚€€~€}~~~€€€~€~~~~~€‚}€}€~€~€€~~€~}~€~~€~€€~~€~}€~~€‚}€~€~€}€~~~~€~€~€~€~~~~~~€}€‚~~€~€‚}€€}~€~~~~~€~€}€~~}~€}€~}€~€~~~€~~€~~~~€~€€~€~~€€~‚€~€~~~€}€}€~~€~~€~€}‚€~}~€~€~€~€~~~€}~€}€~~‚~~~€}‚~~€~~€€€~€~~~€~€}~€€}€~}~~~~€~€€~~~~~€€€~€}~}€€~€~~~€€~~€~~€~€~€}}€~€~€~~€~€~~€~~€~€€}€}€~€~~‚~~~~€~€€€}€~€}~€~€€}€}€~~~€€~~~€~~~~€~€€}€~}}~€~€}€}~~~€~~€}€~~€~€€~€}~~~~€~€~€€€~~€~~~€€~€~~~€€~~~~€~€€~€~}~€€€€~€~~~~~€~€~~€~€~€~€~€~€}‚}~€€~€~}€~~€~€~€‚~~€~~~~~€~€~€€~€~€~~€~€~€€€~€~€~~~€€€~~€~~~~~€~‚~€~~~~€}€€~€~€~€}~~€~~€€€€€~}€~~~€€~€}~~~~€~€€€}€~€}€‚€€€~~€~~}€~€€~€~~€€€€~~~€}€~‚}€€}€~}€~~€~€}~~€~€~€‚~€€}€~€~‚€~~€~€€€~€~~~€€€€~€~€~€€€€~~~~€~€€}€~€€~€}~~€~€€}€~~€~~€}~€€~€~€~~}~€~}€€~€~~€}€€‚~€~~~~€~}€€~€~~€}~€‚~}~€}€€~~~~€€€€~~~€~~€€~}€~€~€€€~€~~~€~€}}€}€~}}~€~€}€~~~€~€€€~~€~~€~€}€~€€~~€~€~€€~~€~~~€€~€}~}€€€~€~~~€~€~~€~€~~~‚~€€~€~€}~~~‚~€~€~€}€~€~~€}€€~~€~~~€}~€~‚~~~€~~~~€€€~~~~~~€}€€~€€~~€~€€~~~~€‚€€€~~€~~€~€~€~€~~€}€~~€~~~~~€~€~€~€~€€€~~~~€~€‚€~~~}€€~~~~€€~€~€~€~€~}€€~~~€}€}~€~€~€~‚~€}€~€€}€€~€~~~€~‚€~€~~~~€~€~~~€~~€~€}~€}~€~~€€~~€~~~€~€€~€~~~€~€}€~}€~~‚~€~€}€}~~~~~€}€~‚€~€~~~€€~~~~~}€~€~}~~~~€€~~~~~€~€~€~~€~~€~€~€~€~~~~€~€~}€~€}€€~€€~}€~€~~~~€~€}~~€~€~‚€~€~~}€€€~€~~~~~€€~}€~~~~€€~~€~~}~€~~~€}€~~~€~€€€~€~~~~~€€}~€~€~€€~€~~€}~€~€~~~‚€}€~~~~€~€~~~€~~~€~€€~€~€€~€~~~~€~€€}€}€~~~€~€~€|‚~~€~~€~~€~€€€€~~~~€€€€~~~~~€~€~~~~}~€€~~~}€~€~~‚~~€€~€~~€€~€~€}€~~€~€~~€~€€€~~€}€€~€~€~€€€~~€}~€~€~€~}€~~€~~€‚~}€~~~~€~€~€~€~~~~€~€€~€~~~~€~~€~~~€€€‚~€~~}€~€~~~€€€}€~€}€}‚€~}€}~~€~~‚€~~~€~€~}€~~~~€~€}}€~€€~~~~}€~~‚~~~€}€~€€}€~~€}~€€€~~€~€~~€~~~€~€~€~€~€~~~~€~€}€€~€}~~€~€~€~€~€~€€~~~€~€‚~€~€~€€~€~~€~€€€~}€€~~~~~~€~€}~~~‚€€€~~€~~~~€~~~~€}€~}€}€~~~€€~}~~€}~€€~~€~~~€~€~~~€~€~~~€~€€€~€~}€~€~~~‚~~~€~€€~€~~~~€~~€~~€~~}€~€€~€~~~€€~€}€~~}‚~€~€€€~€~~€~€~€~€€~€€~€~‚~}~€~~~€}~~€~€}~~€~~~€~~~~€€~}~~€~€€€~€}€~€~~€€~~~€~~€€€~~~}~€~€~€~€‚~€~~~~}€~€€€~€~~~~€€~}~~~‚€~€~~‚~‚~~~€€~€~~€€€~}~€~€€€~~~€€~~€}~~~~€~€~~~€~€~~}~€€~~€~€~€~€}~€~~€~}€~~€~€~€~~~‚€€~~~€}~€~~~~~‚~€~€~€€€~€}~€}€€€~€~~‚~€~€~€~€}€}€}€~}~~€~€€~€€~‚~~~~}€~€~~€~~~~€~€€~€}€~€~~~€€~€~~~€~~€€€~€~~}‚€€~€~~~€~€€~~~€}~€~€€}€~€~‚€~~€~€~€~~~€~€}€~‚€€~€~}€~~~€~€~€~~€~}~‚~€~€~~~}€~€€‚~€€~€~€}€~€~~~~€}€~€~€~~~}€~€€~€~€~~€€~€~€}}€~~~~~~€€}€}€~}€€}~€}~~€~~€€~}~~~~~€~~~€~~~~€}€~€~€€~€~€~€~~~€‚~€~€€~}€}~€~€~~~}~€€€~€~~€~€~€€~€~~~~€~€~~€~~‚~~€~€€~‚~€~~~€~~€~}}}~~€~€€~~€€€~}~€}~€€~~€~€}€~€~€€}€~~~~~~€€~‚€}~}‚~~€~€~€~‚~}~€~}€}€~€~~€€€€}~~~€~€~~€}~~~‚}€~~€€~~~~~~€~~~~~€}€€}€~~‚~€~~€€€~}€~~~€~€~~~€~€}€~€~~€~€~}~~€~~~€~€~€~€}€}~€€~€~€~}~€~~€~~~~€~~€~€~~~€~€~€~€€}€€~€~~€€€~€~€€}‚€~~~‚~~€~~€~€~€~€~~€}€~€}€}€~€~~€~€~€€~~€}€}}€€~€~~‚~~€€~€~€~~~€~€~}€~€~€€€€~~~€€~}~~~~€€€}€~~€}~€€€}€~~€}€~€€€~~€€}€~€~~~€€‚€~~~}€}~€€‚}€~€€~~~~€€~€~€~~~~~€‚~€~~€€}€~~€~€~€~}~~~€~€€~€€~€}~~}€}~€~~~€~€~€~€~‚€~€~~€~~~€~€~~~€~€€€~~~~~€‚~€~~€~€€~€~~~€~€~€~~}~~€}~~€~€€}€~~~€~€~~€~€}€}~~€~€€€~~~€~}€~€}~€€~~~~~€€€~~€}~~€}~€~€}€~~€€~€~~~€~€€~~~~~€~~~€~€~€~€~~}~€€€~€~~€~€~‚€~~€~~~€€~€~~€~€€~€€}€€€~‚}~€~~~€~€€~€~~€~€€€€~€~~€€~~€~€}€~€~~€~€}€~‚~}€~~€~~€~~~€}€€~€~~~€~€~~~~~~~€~€~~€}€~}~€~€~€~€~}~~~€~€€€~€~~~€~€€~€}€}€~~‚~~~€~€~€~~~€€~€€~€~~‚€}~~€€€~€~}€~~€€€~€~~~€~€€~€~~€}€~~}~~~€€}~~€~€~€~€~€}€~€~~~€~€€€€~~~~€~€~~€~€~~~€~€~}~~}€€~€~~‚€€~~}€~€~~€~~~€€~}€€~€~€~~€~~~~€}€~€}~€€~~€~€~}€~‚€~€~€}€~~€~~~~€~~€€~€}~~€~€€~~€~}~€~€~~€}~€~€€€~€~€}~€€~€~~~~~€}€~~€}~€~€~€€‚~€~~€~~€~}€~€€€~€}€~€‚~€~€‚~€~€~€~~€~€~€~€~~~~~€}‚€~€}~~€~€~}€€}€}~€~€‚~€~€~€~~€~~€~€€~€~~~~€~€~€}}€}€€~}€~~€}~€~~}€€€€~€~~~~€€~€~~€~}€€~€~€}€~€~€~~~€~€~€€€€~€~~~€~€€~€~€~€~€}~€~‚€€~€~€~~}€~€~~~‚€~~~~€~€}€}€}~~~€~~€~~~€~€}}€~€€}~€~~~€€€€~€~~~€~~€~~~€~€~~‚~~~~€~€~~~~~€}€€~€~}€}~€~€~€~~~~}€€~~€}€~~~~€~€~€}‚€~€~~~~€~€~€€~}~~€~€}€~€~~‚~~€~€~€}€~€€~€~~~€~€‚}~~€~€~€€~€~}}€~~€~~~€€€€~€~€~€}€}€~€~€€~€}~~}€~€€~~€~~€~~~€€~~€~~}€€€~€~~€~€~€~~~€~€~€}€~€}€€‚~~~€}€~€~€~~€~€€~~~}~€~~~€~~€~€}~€~€~~~€~€~€~}~€€}~~€~~~}}~€€€~€~~€~€€€~€~~~~~~€€~~€~~~€~~€~€€~€~~€~~~€}€~~~~}€~€}}€~}~€}€}€}~~~€~€€~€~~~~€~€~~€~‚€€~€~}€~€~€€}€~€€~‚€~~€~~€€€€~€~~€}~~€~€}€€‚€€~€~€~€}~€€‚~~~~€~€~€~~~€~~€‚~~~~€~€~€~~€€~€~~~~~~~€}€~€~€~~~~~€€~€~€~~}€€€~€}~~~€~~~€€‚~~€~~‚€~}€~~€~€€~~€~~}€~€€~~€€}€~€~~€€‚~€~€~~~€~€~€~€~€}~~~~€~€€€~~}}€}€€~€€~€~€~}~~€}€€}€~~}€~€}~€€€~€~~~€~€€~~~~€~~€}€€~€~€~~~€~€~€~~€~€€~~}~€€~€~~~~~€~€~€~~~}€~€€~€€~€~~~€~€~~€€~~~~€~‚‚~‚}€‚}~€~€~€~€~€€€~€~€~~€~€~€~~~~‚€€€~€~~~€}~~€~€~~~€~€~€~€~‚~~€}€~€~€~}€~€~€€~€~~€~~€€€}€~~~€~€€~€~€~~€}‚€€}€~€~€~€~€}€~~~€}}€€€~€~~€~€~€€~€~€~~}€~€€~€~~~€~€~~€~€~€~€~~~€~€€~~~~€‚~}€~€€~€€}€~~~~~~€}~~~~€~€~€€~‚€~€~~€}€~€~~€~€~€~€~~€~€~~€}€~~€€~€€~€~~€~~€~€€~€~~~~€~€~€}€~€~~€~}~}€}€€~€~€€€€~~€~~€~€€€}~~€}€~€~~~‚~€~~~€€€€~~~~€}€~€}€€~€~€~~~~€}€€€~~}~€€€~€~€}~€~~€~€}€€€~€}~~~€€~~~€~~€~€€~€~€€€~~~~€~~€€€~€~~€~~€~€~€~€~}€}€~€~~€~€€~€~~€~}€~~~~€~€~€~€~~€~€€€€~~€~€~€€~~~~~€~~~~€}~€~€~€€~~€~€€~~~€~€€~€}~€~€€~€~~~~€~€€~€~€€~€~~~€€}€~~~~}€~}~~€~€€‚~€~€~~€~€€€€~~}~~€~~~}~€€~~~€~~€~~€~€}€€~~~€~~~€~€~€~~€~~€€€~~€~~~~€€~~~€~€~€€~€~}€€€~€~}€~€~€~}€~€~~~€~~~‚~~~}€~‚€€~~~€~€€~€~~~€~€~~~€‚}€~}}‚€~~~~€€~€~~€~~€~€}€~€€~~€~€~€~€}€~€€~€~}€~€€~€~~€~€}€~€€}€~~€~€€€~~~~€€€}€~~~~€€~~~~€~~€~€€~€~€~€€€€~~~‚~~€~~}~€€€~~€€}€€~€~€~~€~~~}~€€~‚€}€~€~€€‚€~~€~€~~~€~€€~}~€~~~~~€}~~€~~~€~€€€~€~~€~€€~€~€~€€~€~€~~~~~€~€~}~~‚€~~€~€~€€~€~€~~}~€~€~€~€~€~€€~€~€~€}€~€€~~€~~~~€~€~€~€~~~~€}€~~}€~€€~}€~€~~‚~~~~~~€~~€~~~€~€€~}€}~€}€~€~€}~€~€~€~€~~‚€~€~€}€}€~~€~€~~~~€~~~€€€~€~~~€~€€~~€~~€~€}€€€~€}~~~~€€€~€~€~}~€€~€~€}~€€~€~~~€~€~€~€~~}~~~€}€~€}}€~~~~€~€~€~~~€~€€€€~€~~~€~€~€€~€~~~}€€€€~€~~€~~€~€~}€}~€~€~~€~€€~€~~€~€€~€~~~€~€~~€~€~~€}€~~~€~€€~€~~~~€€}€~€}€~~~€~€€~€~~€€~~€~€~€~€~~~~€~€~€~€~€€~~~€~€~~€~€~€~~€}~€€~€~~~€~€~€~€€~~}€~~€~€€~€€}~€€}€~€€€~€}~}~€~€~~~€€~~€~€~€~€~~~€~~€~~~€~€€€€~€}~€€€~}~€~€€~€~€~€~~~~€~€~~~~€~€€}€~€}€€~~€}€€~€~~€~~€~€~~€‚}~€~€~€~€€€€~€}~€~€~~}‚€‚~~~~~€~€€~€~~~€~€~~€}€~€€~€~€€}€~€~€~€~€~€~~~~~~€~€~~~€~€~€~~~€~‚€~~~€~€~~~~~€}€€~~€~€~~‚~}~€~~€~€~€€€~~}€~€€~~€~€~~€~€~~~~€~€€~€~~€~€~€€€~~€~€€€~~€~€€€}~€}~€~~~}€~~~~€~€€~~€~~€~~€€~~€~€~€€€}~€~~€~€~€~€~~€~€~~€~~~~~€~~€€€~}}€~‚€€€~€~€}€€~€~~€~~~€~€~~~~€~€~€~€€€€~€~~~€~€~~~~€~€}€}€€~€~~€~€€~€~€~€€}€~€~€€~€€~€~~€~€~€~~~~~~~€~€~€~~~~€~€~€~~~}}€~€~~~€€€~~€~~€~~€~€~€~€€~~~€}€~€€€~~€~~€}€}€€~€~~~~‚~€~~€~€~€€€€~€~€~~€~}€~€}~€~}€}€~~~€~€€€€€~~€€‚~~~€~~€~‚}}}€€~€~~~€€~€~}€}€~~€‚~~€~~~€~€€€€~€~~}‚~‚€~€~€~€€}€~~~~€~~€}~~€~~}€~€~€~~~€€~€~~~~€~€~€€~€€~€~~}€~€€~€~€€~€~~~~€~€}€~~~€€€~~~}€€~~~~~}~~€€€~€~€~€~€~€€~€}€}‚€~€~~~€~€~€~€~~€}€~€~€~~€}€~€~}~~€~~€~~~~~€~€~€}€~€€~€~€€~}~€€}€~€€~~~~}~€€€~~€~~€~}€€}€~~~~~€€~€~~€~€~€~€~€~€€~€~€€~~~~~~€€€~€~~~~€‚}~€~€~€~€~€~€~€€~€~~~€€‚~€~}€~€‚}€~~~~€}€~€}€~€€~€~~~~€~€~€~~€~€}€~€~€~€~}~~~€€€~~~~~€~€€~€~€~€~€~€~~~€~€}€€}€€~~€‚~~€}€~~€~€€€€€~€~}€~€~€~€~€€~€}‚€€~~€~‚~€~~~~}~€€~~~~}€~€~€€€€~~€~~~€~€€~€~~~~€}€~€}~€~€€~€~~~‚€~€~€~‚~€~~~€}~€‚~~~~€~€~~€}€~~~~€~€€~€}€}~~~€}€€~€~~~€~€~~€~€~€~~€~~€€~~}~~~€~€}€€~~~~~~~€€€~€}~~~€~€€~€~~€~€€€€€~€~€€~€~~}~€€€~~~€~€~€}€€~~~€~~‚~€}€~~€~~€€~~€~€}~€€}€}€~€~€~~}€~€€~€~~~~€~}€‚~~€}€~€~~~~€}€€€~~~~€€€}~~€~€€€~€€~~~€~€€~€~~~€~€}€€}~€€}€~€}€€~~~€€~€}€~€}~€~€~€~~~~€~€}€}€~€~~~€€~~€~~~€~~€~€~€}~€~€~~~~€‚~€€}~€~‚€}~~€~€~€~~~€~€~~€~~}~€~€€€~~~€~€~€€}€€~€~~€~~€~€~~~~€}‚€€‚~}~€~~€~€~~~~€~€€}€€~~€~~€~€}€€~~~€~~€€~~~}€~€~€~€~€~~~~€}€}€}€~‚~~~€€€€}€~€~~€€}€~~€€~€~€~€~€~~€}~€€~~~€~€€€€€~€}~€~€~€€~€~€}~~~~€~~€~~‚}€}€~€~€}~~~€€}€€~€~~~€}€~~€~€€}€}~€~€~€~€~~€}~€€~€~~€~€€€~}€~~~€€€€€~€}‚€~~~~~€‚~~~€}~€€~€~~~€}€€~~~~€~€}€€~€}~~€~~}€~€~€~‚~~~€~€~~~€~€€€~~€~~€~}€~~~€~€~€€~€~‚€~~~~~€~€~€~~€€€€}~€~~~~€€~€~~€~‚}€~~€~€€€~~€~€~€}€~~€~€~~~~€€€~€~~€~€}€~~~‚~~~€€~~€~~~€}€‚}€~€~€€}€~~~€€€~~€~~~}~~~€}~€}~€~~€~~~€~€~~€}~€~~~}~€‚~€~€€~€~~€}€~€€~€~~€~€‚~~€~~€~€~~~~~~€~€‚~€~~~€~€}€€~€~€}€~~~}€~€~€~€€~€~€~~€}‚~~~~€‚~€~€~€€}‚~€~€€~€~~€~€}€€}€~€~~~}€~€~~~~~~~}~€€€€€~€~~€~€~~€}~~~~€~~€~€~€~€~€€~€~~~€~~€~€~~€~~~~€~€~~~~€~~€~~}~~€~€€€~~€~€~€~~€~€~~€~~~€~€€}€~~€€~€~~}€~€~~‚~~~€}~€~€~€}~~€~€~€~~€~}€~~€~€~~€~~~~~~€€~€~~~‚~~€~€}€~€}~€~~~}€€€€~~~€~€€€~€~}~€~€€}€€~€}€€~~€~€€~~€~~€~€~€}~~€}€~€~€}~~€~€€€€~€}€~~}€~€€}€~€~‚~~€~~~€~~€~~€~€€€~~€}€~€}€~€~~~~~€€}€€€~€~~~~€~€€~€~€}~~€~€€~€~}}~~€~€€~€~€}~~~~~~}€€~€~~€}€~€€~~~€}~~€~~~€€}~€€~€~~€~€~€~€}~€}€€~}€~~€€~€~~~~~~€}}€~€}‚~€~€~€}€€€€€~€~~~~€€~€~~~~€~€€}€}€~€~~}€~€€~€~~~~~€~~€€~€~€~~~~€~€~~~‚}€~~~€€€€~€~~~€~€~~}~€€~~~‚~€}~€‚}}€€€~€~€~~}~€~€€}€~€~~€€}~~€~~€~€}~~~€~~~€~€~~€~~€€~~€~€~~~€~€~~€~~€}€~€€~€~€~~€~€€€~€~€~~~€~~€€~~€~~€~~~~~€}~~~€€~€}€~€€~~€~~~€€~€~~~~€~€€~€~~~€}€~€~~}~€€~~€~€~€}€~~€€€€~€~~€€~€~~€~~€~~~~€€~€~€~€}€}~€~€€~~€~€~€~€€~~}€~€}€€}€~€~}€~€~€}€€~€~~~~€~€~~€}€€~€~€~€‚~~~€}€~€~~~€~€~€~€~~~€}~€~€~€}€€€€~€~€~~€~€€~€~~~~€}~€~~~‚}€~~€~~€~~€~~}€~€€~~}~~€~€~~~~~~~€€}€~~~€~€~}€~€€~~€~€~€~~~~~€~~€~€}‚€~€~~‚€~€}€€€~€~~€‚~€~€~€~€~€~~~€~~‚€~}}€}€€~€~~€}€€€~}}~‚~€~€€~€}€~€~~~~}€~~~€~€€~~~€~€~}€~€}~~~~€€~€~~~~~~€~€~€~€~€~‚€~~~€‚~€~~€~‚€~~€~~€~€~~€~€€€~~€€~~}€~~~€~~~€~€€~~€~‚}~€}€|~~€~~€}~€~€~€~‚~~~€~€~~€~€€€~~€~}€~€}~€~€~€€~€~€}€€~€~~~€~€~~~~€~~~~€}€~€€€~~~€€~€~€~€~~€~~~€€~€~~~~‚€}€}€}€€€‚~}~€~€€€~€~~€~€€€‚€}~€~€€~~~~€~€~}€~~€~€~~€~€}}€€~~€~€~~€}€~~~}~~€~~€~~~~€~€}€}}~€~€‚€~€}~€‚}€~€~€~€~‚~~~€~~~~€~~€€}€€}€~€€~€~~~€~€€~~€~~}~€€€~~~€~€~€}‚€~~~~~€‚}€€}€~~~€€~€~~€€€€~€}~~~€€€~€~~~~~~€~~~€}‚~€~€~€~€€~~~€~€~€~~€}€~€€€€~€€~€~~~€}€~€~€~~‚€}€~}€}€~€~~~€}€~€~€~€€€~€~~€}€€~€~~~~€€~€}€~€~€~€~~}€~~€€~€~€~€~~~~~~€~€~~~€~€€~~~~}~€}€€~€~€}€~}~~€€~~€~~€€~€~€~€~€~~~~~€~~~}~€}€~€}€€~€~€~}~~€~~€~~€‚~~~}~€€€~~‚~~~€~€€~~€}€‚~~~€€~~}€~~~€~€~€~€}€~~}€~~€}€€}‚€~€~~~~€~€~~~€~€~~~€~~~€~~€€~€~€~~~€~€}€€€~€}€~€}€~€~~€€~€~~~€}€~€~~~€‚~€~~~€~‚~€~€~€€~€~€~€€~€~€~~~~~~€}€~}€~~}~€~€}€€~€~€€}€~€~~~~€~€‚~€}~~€€€€~}~~€~€~€~~€€~€~€}€~~~~~~€~€~~~‚~€}€~~€~~~~€}€}€~}~€~€~~~~~€€~~~}€~~~€~~€€€~~€~~~~~~€~€}€~€}~~~€~€€~€~~~€~~~€~~~~~€€~~€~~~~~€€~~}€~~€~~€~€€}€}~€~~€€€~~€~~~~~€~}}€~~~~~€~€€€~}~~}~€€~~~€~€~€€€~€~~~€~€€€€~€~~~€~€~€€€~€}~€}~€~€€~€~€~€~€~~~~‚~€€~€~~€~~€~€~~~€~~~€~}€€~‚€}~~€~~€~€}~€~}€€~}}‚~~~~€~€}€~€~~~€~~€~€~~~~€€~€€~€}€~€~€~~~‚~~‚}€~~€~€~€€~~€~~~€~‚€€~€}~€~€~}~~€~€€~~~~€€~~}~€~€~€~€~~~€‚}}€~€€€~€}€}€~€~‚€~}‚~~~€}€~€~€~~~€~€~}€€~€}~~€}~€~€~}€~€~~‚€}€~€~~~~~€~‚€~}~~€~€~~~~~€~}€~€~€~}€~}~~~~€~}~~€}€}~€}~~~€~~~~~€€}~~~~€~€€~€€~€}€}€€}€‚~}~~~€}€€~}~€}€~€€€~€~~~~€~€}~~€€~€}€~}€~~~€~€€~‚€~€~~}€~~€~}€~€€~€~~~€}€~€}€~~€}~~‚~~€~€}€~€~€~~~~€€~~~~~€~€}~~~€~€~€€}€~€~~€}€€~€~~~~‚~€~€~}~€€€€~€}€~~€}€€€~€}~~€€€~€}~~~€€~~}€~~€€~€}~}~€€€}~~€~~€€~~~€€€€€~€~~€~€~~€}~~~}~€}€€~€~€~~~~€~€~€€€€~~~~€~~€~}€~~~~€~€~€}€~~}~~~€€€€~~€‚~€~}}€€~~€}~€~€~€~}~~€€€~~~~€~€€~~~€~€}€€~~€€~€~~~~€~€~~~~€€}€~~€~}€~€}€~€}€~€~€~€}~~€~~‚~~~~€~~~€~€~€€€~€~€~€€}€~€~€~~~€~€~€~‚}~€~~~~€~~‚€}~€~€€}€~€~~€~€€~€~~}€~~€~~€~€~€~~~~~€}€}€~€~€€}€~~~€€€€~~€~€}‚~~~€~~€~~~~~€~‚€~€€~€~€}~~€€~€~~~~~}€€}€~~~~~€~€€~€€~€€~~€~~~€~€€~€}~}~~~~€~~~~~€€€~€€~€~~}€~~~€~€€€~}€~~€~€~€€~€~€}}€~€}~~€~~~€€}~€~€€~€~€~~€}~€}€~€€~€}~}~€~€~~}~}~~}€€~€~€~~~€‚}€~~€~€€~~~€}€~€€~€~~~~~}~~€€€}€~~€~~€€~€~€~€€~€~~~~€~‚€€}~~~€}€~~€€€~~€~~~€€~€~€~€€~€~€~~}€~€~~~~~~~}€~€€}€~~€}~‚€~€~€~~~€~€~€~~~€}}}€€€~€~~€~€~€}‚€~~€~}€~~€~€€~~€‚~~€~~€~€~}€~~€}€~~€~~~~€€~~€}~€~€~€€€}€~€~~‚€~~~€€~~~~~‚~~€‚~€~€~€~~~~€~}€€}€~~€~€€~€~~€~~~€~€}~€~~€}~€€€€~€~€~~~~€~€~~~~€~€~€~}€€~€~~}€~€€~€}€~~~~~~€~€~~€~€~~€~€€~€~€~~~~€€~€~€~~~~~€~~~~~€~€}€~€~~€~€~}€~€‚~€~}~~~‚€€~€~€~~~~~~€€}€~€€~€€~€~~€~‚€€~~~~~€~€€~}~~€~€~€~}~~€~€~~€€~€}~~€~€}€~€~~€~~~€€}€~~}€~~€~€€€€‚~€~~€~~~€‚}€€~€€~€~€~~~€€~€€~~~‚€€}€~~€~€~~€€~~€~€}€€}€~~€~€~€~€‚~€~€~€~€€€~~~€}~€~€~€€‚}€~~~~€~€€~€~~~‚~€~~}€~€~~~€~€~€}€€~€€~€~}~€~‚~~~~~~€‚~€~~~€~€~~}€~~€~~€€€~~€~~~€~‚€~€~‚~~€~€~~€~~€€€~€~€€~~€}~€~€~~~€~~~~~€~~~€~~€€~€~€€~€€~€€~}~€€€~~€~~~~~~~~€~€}~}€~€~€€~€€~€€}€~~~€€€~~€~~~€~~~~€~€~~€~€~~€~€~€}~~€~€~€~€~€~‚~€~€~~~~~}€~‚€€‚~€}€}€}€~~€~€€~~€~}~~~€~~~€~}€~€€‚}€~€€~€~~~€}€€€~€~~€~~€}€€~€~~€~~€€~€~€~~~€~‚€~€~€~~~~€}€€~€~€~~~€~€~€}€~~~}€}€€€~~~€~€~€~€~€~~~~~€€€€~~~~~~~€~~€€~€}€~~~€}€~€}€}€€‚~€~~}€~~~~€~~}€~}~€€~~€~€~€~€}€~€€~€~~~~€}€€~~}€€~~~€€~€~~€€~€}~~€~€~€~€}€~€~€~~€~€~}}~~‚~~€~~€~€~€€}~~€}€}€€€~€~€~€~}€€}€€~}€~}€~€~€~~~}~€~€~~€~€~~~€€€}€~€~€~€~€~€~~€~~~~~€~~~€€~€~€~~}€~~€~€~~~~~}~~~€}€~}€}€~~‚‚~~~€}€€~~€~~~€}~€€~‚€~~€~~€€~€~~~€}€€}~€}€~€~~~€}€~€~€~€}€~€~€~‚€~~~€~€~~~~€~€€€€~€€}€~€~€~~~~€€€}€~~€}€~€~~~€~€€~~~€~‚€~~€~~€~€~~€~~~€}€~~€~‚€€~~€~€~€~€~~~~~€€~~}~~€~€~~€}€~~~€~€€~€~€~~~~€€€~€~~~€~€€~€~}€~€~‚€€~€~‚~~~~€~€€€~€~~~~€€~~~€~~€~€~€€~~~}~~€~€~€~€€~€~~~€~€~€}€~~€~€€~~~~~€~~€~}~~~€~€}€~~~‚~~€~~€€€~€~€~~}€€~~~€~€~€~~~}€~€~~~€~~~€~€}€€€}€}€~€}~~€~€€~~€~~~€}€~€€~}~~€~€~~€~€€~~~€~~€€€~€~~€~€~~€~€€~~€~€~~€~~~~€~€€~~~~€~€€~€~€~‚€}~€€~~~~~}€€€€~~~€€~€~~~€~€€€~€}~€~€~~~€~€€€~€~}~~€€}~€}€}~~~€€~€~~~~€~~€~€~€~€~€~‚~€€~€~~€€}€~€~€~€}}‚~~~€}€€~€€~~€}~€~€~€}}€~€}€€~€~€€~€€€~€€~€~€~€~€~~~€~€‚~€~€}~€~~€}~€€€~~€~~~~~€~~~~~€~€}€~€€}~~~~€‚~€~€€~€~€~€~~€€~€~}€€~€~€~€€~~~~€~€€~€~~~~~€~€~€€}‚~~~~~€~~~€€}€~€~}~€€~~€€~€~€~€~~~€~~€~}~€~€~~~€~€~~€~~€}€~~~‚~~€~€~€€‚~~~~~€~€~€}€~€}~~€}€~€~€€€€€€~€~~~€~~€€~~~~~€~€€€€~€~€~€~~€~~€~€€~}€}€~€~}€~~€~€~€‚~~‚}~~€€€~~€~€~~€~€~~€~€€~~~~€~~€}€~~~~~}€~€~€~~€€~€~€~}€~~€~€~€~~~€~~€€~€~~€~~€}€€€}€~€€}~€~€~~€}€‚}~~~€€~}€~~€}~€~€~~€}€~€€~€}€~}~~‚€~€~~€~~}~€~€~€~€~€~~€€€~€€~‚€€~€~~€~€~~~~€€~~~~}€~~€€~€~~~€€€~€~~€~€€~}€}~‚€~€~~€~€~~€~~~}~€~~€€€~€}€~~€~€~€€~~€€}€~~}~€€~~€~~~~~~~~€~~~~~€~€€~€~~~}€€€€~€~~~€€‚~€~~~€€~€~~€~€€~€~~~~~‚~€€€~€~€}€~€€€}€}~~‚€~€~~~€€~€€~‚~~~~~‚~€~€~~~€~}€~~€€}€~€~€€~}~€~€€~€}~~€~€~€~€~~~}€~€~€}€€~~~~€~€€€~~}€~€~~~~€~~€~~~~€‚~€~€€~€}~~€~€€€~}~~~~€€}~€~€}€}€~~‚~~~€~€~~~~}€~}€€}€~}€}€~~€~~€€€~~~~~€€~€}~}~€€€}€~~€~€~€~€€~€€‚~€~~~~~~€~€~€~~‚~€~€€~€~€~€}€~}€~€~~€~€€~€~€€~€~€~~€~~€~€€~€}~€~€€}~€~}‚€~~€~~~~€~€~~~~€€}~€~‚€€€€~€~~€~€€~€~€}€~}€~~~€~€~€€~€~~~€~€~~~~~€‚~~~€}€~€}€}€‚~~~~~~€€€~€~~~€~€~€}€~~€~~€€~€~~€€~€€~~~~~€~~€~~~€~€~€~€~€~€~~~€~€€~~~~€€}€}~€~€€€~€~~~€~€~€~€~}€}€~~}€~~~~€~€~€~€~}~~~€~~€~~~~€€~€~~~€~€~}€~~€€€~~€~~€€‚~€~~~}€€~~€~~€~€}~€~€~€~~€~€€~~€~~~€~€~~~~€~€€}€~€}€~~€~€~}~~€~~~€~~€~~€€~~€~~€~€~€~€~€~€~€~~}€~€€~€~}€~~~~~€~€€~€~~€~}€~€€}€~~~€}€€€€~€}~€~~€}€€~€~€~~€~~€~~€€~~~~‚~~€~€€€€‚~€}~~~€}€~}€~~€~~~~€~}~€€€€~~€~€~€}€‚~~€‚~€~€}€}€~€~}‚}€~€~€~€~~~}€~~~€}~~~~~~~‚~~€~€€~€€€€~€~~€~€€~}~}~~~‚~€€~€~~~~€}€~€~€€~€}€€~}~€~€}€~€~~€~~€~€}€~~€~€~€~}€~~€~€~~‚~~€‚~€~~~€~€€~~€~€‚~€~€~€€~€~~}~€~}~~€~€€~€~~~€~€€}~}€}€~€~}€€~€}~~~€~~~‚€‚}‚~€}€}~~~€}€~€~€~}€}~}€~~~€~€~~€}~~~€}€}€~€€€€~~~€}€~€~~~€}}€~€~€}€}~~€€~}€~€~€€~}€}€}€~€~~€€~€}~~~€~~~€}€~€€~€€~~€€~‚€~~~€~€€€€€~€~€~€~€~}~€~~~~~‚‚~€~€‚~€€~~~€‚~~~~€}€~~~}~€~€€~€~~€~~€}€~~€~~€€~~~}€~€~€~~€€}~€€~€}€~~€~€€~~~~}€~€€}€~~~€€~€~}~€~€~~~€~€}~}€}€€}€}‚€~~~€~€€€€€}€~~€~~€}€€~€~€~~~~€~}€}~€€€~~~~~€~€€~€~~€~€}~~~~~~€~~€~€~~~€~€~€~€~€~~}€~~~}~€}~€€~€}€~€~€€~~~~€}€~€€~}~~~€~~~~~€€}~~~€€~}€~~~€~€€€~}~~‚~~€‚~€~€‚~‚~~~~€~€€€~€~~~~€€~~~€~}‚€€~€~}~€€~}€€~€€~€~€~€~€~€~~~~€‚~€€~~~€~~€~€€~€~~~€€}€}€~€€~€~~~~€€~€}€~€~~~€}€~~€~€€~€~~€}€~€€~€}€~€€}}~€~~}€~~€~‚~~€}€~€~€~€~~€~€~€€~€~~~€€~€~~~€~€€€€~€~€~~€~€€€~~~~~€}€€~€€~€~€~~€~~~~~€€~€~€€~€~€~~~€~}€~~€}~~~~€€~~~~€€~€€}~€~~€‚~~}€~€~~€€~~€~€~€}€~€~~~~€~€~€~}~~~€€~€~€~~€}€~€}€~€}~~€}€€€~~€€~€~~€€~€~‚~~~€~€~€~€~~~~€}€~~~€~~}~~~€~€~}~~~€}€€~€~€~€~€~€€€~€}€~€~€~€~~~~€€€~~€~~~€~~~€~€~€~~~~€~€~€~}€~~~€~€€€~€~~}€€~€}~~~€€‚~€~€~€€}€€~~~€€~~€~~€~€€€~€~~~€€~€~~~€~€€€~}~€~€€€€~}~€~€€~~~~€~€€€€~~€~~~~€}€~~€}€~~€~€~}~‚€~~€~€}€€~~€~}€~~~€~€~€~~}€~€€€€~}~~€~€€€~€~€~€€~}€~~€€~~€~~}~€~€~~€~€€€}~~€~€€~€~}~€€~€~~~~~€}~~€~‚€€~€~~~~€~~~~~€~€~€€~‚~~~€~€~€~~}}~€~€~€€~€~~€~€~€€~€~~~€~€€~€~€~~~~~€‚~€~€€~~‚~~€~€~~€~~€€€‚~~€~~~~€~€‚}€~€~}~~~€~€€~€~~€~€€~€~€~€~~€€}~€}€~~€}~€~~€~€~€}€€~€~€~~}~€~€€}€~‚~~€~~~€€€~~€~~~~€~€€~€~~€~€~~~~€~€~€~€~~}€€€~~€~€€}€~€}~€€~~~€}€~€~~~~€}€€}€~€~~~~€~€€~€~€~~}€~~~~~~~€€~~‚~~€~~€~€€}€€~€~€€~~~~~€€€~~~€~~€€€~~~}~€€~€€~€€~€~€~€~~€~~~~€€}€~€~~€~€~~‚~~~}~€~~~€~~€~‚~€~~~€€€~€~€~~~€€}€~€~~€€€€~~~}€~€€€~€~~~~€€~€~~€~€~€}~~~€€~€~~~~~‚~~€~€€~€~€}€€~~~~€~~€~€~}€€~€~€~€€€€€~€}~~€€€€‚}€~~~€}€€}€~€}€~}€~~€€€~~~~‚€~€€€~€~~€~~€€€~€~~~€~‚~~€}€}€€}€~~€~€~€€~~~~}€€€~~€~~~€~€~€~€€~~€~~€~€~€€~€~~~€~‚€~€}€€€}‚€~~~~~€~€~€€~~~~~€~€€€€~}€~~€~€~€€~€~€€~}€~€~~~€~€~}~€€~~€~~€~€€~€~~€~€€~~~~€€~~~€~€~€}€~€}~€~}~~€~}€~‚€€~€~~~€~€~€€€~€~~€}~€~€€~€~~~~~}€~€~~€~~€~€~€€~€~}€~~€€€~€~~~€~€€~€~€€€}€~~~€~€€€€~~€~~€€€€~€~~~~€~€€~€}€~€~€~~~€~€€~€~€}€~~~}€€€~€~~~€}€}€€~€}~~}€~€~€~~~‚~~€}€~€€~€€}€~€‚}~~~€~~}~€~€~~~€}€€€€€~~~~€~~€~€}€~€€~~€~€~€€~€~~~€~€€€~}€€~€€€~~~~~€€~€~~~€€€€~~€~~€€~€~~~€~~~€~€~~€~€~€~~€}€}€}€~€~~~€~~€€~€~~~~€~€€€~~~€~€€~€~€~~€~~€€‚~€~€}€€~€~~‚~~€}}~~€~€}€~€~~€~~~}€}‚€~~€~€~€~‚€€€€~~~€~€}€~~~€~€~~€~€€€~~}€~€~€~~€~~}€~~~€~€€~€~€~~~}~€~€~~€~€~€}€~€~€~~€}€~€€~~€~~€~€€€~~~}~~€~€€~€~€~€~~€€~~~~~€€~€~~~€}€€~€}€~~~~€~€~€}~~~€~€€}€~~~~~~}€~€~€}~~}€€~€€~~€~€€~€~~~}€~}~~€€~€}~€~~€}~~€~€€~~~€~~€~€}€~€~€€~€~~€~€~€}€~€~€~~€~~~~€~€~€€}€~€€~€~€}€€‚~€~}€}€~€~€€~€€~~€~€~€~}~€~€€~}€~~€~€€~€~€~~€}~€~€€|€€~~~€~}€~€€~~€~~€~~€€~€~}€€~}€~€}‚~~~€~€~€€}€€~~~€~€€~~€~~~~€€€~€~}€€~~~~~~€~€}€}€~~}~‚€€~~€€~~€}€~€~€~~~~€~~~}€~~€€~€~~~~€~~~€~€~€€~€~~€€~€~~€~~€€~€~~}~€~€€}€~€}€~}€~~€~}€€~~~‚}~~€~}€€~€~~~€~~€~~€~~~€~€~~~~~~€€~€}~~€~}~€}~€}€}€~~€~~€€~€~€~€~€~€€€€~~€~€€€~€~€~}~~‚€~~~€~€~~€€~€~~€~€}€~€}€€~~~€~€€~~€}}€€~~~~€€~}~~€~~~€~~€~~~€~€}€~~}€}~€}€~~~}~€~€€~~~~~€~€€~}€~~~~€€}€~~€~~~‚~~~€}€€~€€~€€}€~~~€~€}‚€}€}€~€}€~~~€~€€~€~~~~~~€}€~~€~~‚~~€€}€}€~~~~€~€€~€~€~~~€‚~€~€€~€~~~€~€€~~~~€}€~€}€~€~~~~}€~€~}~~€€~€~~~~€~€~€}€~€~}€}~~€~€€€‚}~€~~€}€€}€€~€}€~~€~}~~€€€~€}€~€~€~€~~~~~~~~~~€€}}€~~€‚~€~€€~€~~~~~€~€~~~€~~€}€~€~€~€~€€~~}€~~~€~€~€~€~~€~€~~~€~~€~~~€}€~€~~€€~}€}€~€}€~~€~€~~~~~€~€€‚}€~~€~~~€€€€~}€~}€~€~~~€€}€~€~€~}€~€€}€~~‚~~~€~€€~€€~€}~~€}€~€~€~~€~€€~€~€~}€~€~~€~€€€~€~€~~~‚~~~€~€}~€~€€~~~€~€€€€~€~~}€€~€~€~€~€~~~€~€€€~€~€~~~€€€~~~€~€~€~€~}}€~€€~€}~€}~€€€~~€~~~~€€€~€~~€~€~€€€}€~~€~€}€~€~€€~€~€}}€~€€€}€~€~~‚~~€~€~€€}€~~}€€~€~~~€~€€}~~€~~€~~€~}~€~€~~~€~~€€}€€~€}€~~~€~€~€~€}~~~€~€€}€~~€~€~€€€€~~~}}~€}€€~~€}€~}€~€~~~}€~€€~€}€}~€~~~€}~€‚~€€~€~€~€~~~€~€}~~€~~€€~~€}€~~~€}~€€~}€}}€~€€~~~€~€€}~~€~€~~€~€~~€€~~€~~~~€~~‚€~~€~€~€~€€€€~€~€~€~€€~€}€~~€~~~~~~~€~€~€€€~€~~~}€€~}~€}‚~‚€€~~~~}€}€~€}€~~~}}€~€~}€}~€~€~€~~€~€~~€~€~€~€€~~€€}€€~~€~‚~~€~~€~~€}~~€}~€€~}~~~~€~~~~~€~}~}€~~~€~€~€~~~€~€~€}€~€~~~€~~€€€~€~~~€}€~€~~€~€}€€~€€~€€~€€~€~€~}€~€~‚~~€~€~~€~€~~€}€}~€~€~~~~€~€€~€~€~‚~€~€~€€~€~~~~€~€~€~~~~€€€~€~~‚~}~‚~~~€}€}€~~~€~~~~€~~€~€~~€€‚~€~~~~‚~€~~~€~~€~~€€~€}€}€~~~€~~~~~~€~€~€€~€~~~~~€€}€~€~€}€€~~€~€~~€€~~‚€~~~€€€}~~€€~~€~}€~€€~~~€}€~€€€€}~~€}€€~~}~€}€€~‚€}€~~~~€~€~€}~€}€~€€~€}€~~€~€~~€€€~€~€~€~€~~€€~€~€~~€~€€~~~€~~€€~~€~€~~‚€€~€~~~€€~~~}€~~€~€~€€€~‚}€~~€~€~€}~~~€‚~~~€~~€€~~€~€€~€}€€~~€~~€~€€~€~~~€€~€~€~€€}€~~€‚~€~€~€~~~~€~€€}€~~~€‚~~€€€€~€}~€~€€~€~~~€~€~€~€€~€€€~€~~~€€~€~€~~‚€~~€€~~€~€~~~€~~~~~€~~€€~~~~~€~~~€~~~~€~~~€~~€~€€~€}€~€~€~~~€€~€~€~}}}€~~~}€~€~~~€~‚~~~€€}~€~€~€~~€~€~~€~€~€~}~€~~€~€€~€~€~€~~~€~€}~~€~€€~~~~~‚€€€~€~~€~€€~€€~€~€€}€~~€~~~€~€}€~€€€~€~~€~€€‚~~~~€€€~€~~€~‚‚~~~~€~€~€€~€~€~~~€€~€~€~~€}€~€€~€~~€~~~~€~~€~€€~~~~€€‚~~€~€~~~€~€~€~~~€~€‚~~€‚~€}€}€€}€~€~~~~€}€~~~‚~}€~€~€~€~~€~€€€€~€}€~~€€}€~€~€}€~~~€~€~€}€~€€€€€~€~}€~€€~~}€~€}~€~€~~~~€~~~€~€€~€€}€~€}€~~~~~€}€~€~~~~~~€}€~~€~~~€€~~}€~€~€~~€}€~~~~€~€€}~~~€€€‚~~€~€€€~€~~€~€€~€~€~~}€~€€~€~~~€~}~€}~~€~~€~€€€~€~~€}~~~~€€‚~€~~€~~~~€~~‚}€~€~€~€~~~€}€}€~€~}€‚~~~€€}€~}}~€~€}}€~€~€‚~€~€~€}€~~€}~€~€~€€~~€~~}€~€~~~~€~€}~€€~€~~€‚~~~}€€~€~~~‚€}€~~€~€~~~€~€~~€~€€~~€~€~€~~€~€~€‚~€~~‚~~~~~~€~~€~€€€€€~€~~~€~~€€~~€~€€}€}€~€~}€~}~€}€~~€~€‚~€~€}~~}‚~€~€~~~}€}€€~€~€~~€~}€}€~€}€~~~€~€~€€~}€~~~€~€~~€~~€~€€€}€~~€€€~~€~€}€}€~€~€}€~~‚~€~€€~€}~~€~~€€€}~~~~€€€‚~€~€~}‚~~~€~€~€~€€}€~}~~€~~€€~~~€}~~€}€~}}€}~€~€}€~€~‚€}€~~€€~~€~~~€~€€‚~~}}~€€~~€~~~~}€~€€~€~€~~€~~€~‚~€€~€€€~~€~~~}€}€~€€€‚~~~€~€~€}‚€~€~€~~~~€~€}€~‚€€~~~~~€~~€~~~}€~€~€~~~€‚~~€~~~~€€€}€~~~~~€~€~€~€}€~~~~€~}€~€€€~~€~€}€~~~€~€~~}~~€~~~€~~~~~~€~~~€}€}€~~~€‚~~€~€€}~~}~~€}~~~~}~€~€~}}}€}€~€~€€€€~~€~€~~}~~~€~}€}~€}‚€€~~€~€~~~~‚~~~€~€~~€€~€~~€~€~€~}~~~~€~€~€~€~~€~‚€€€~€~~€~€~€~€~€~€~}€}€€~~€~}‚}~~€~€€~~€~‚~~~~€~€}€~~€~€€€€€~~~€€€~€~~€~€}€~~€~€~€€~€~€~€~~~€~€€~€~€~€~~}~€~€~€€~}~~€}~€€~€~~€~€~}~~€}€~€}€~€~€}~~~€€~€}€~~€~~€€~€~€~€~~‚€~€~~~€€~€~~~€~€€€~~€}€~€€~~€€~€€~€~€~~~€~‚€€~€~€~€~€}€}€€}€~‚€~~~€}~~~~€~~‚€}€~~€~~€~€}€€~€~~€~€€~€~}€~€€€~€~~~~€€~~~~€~€~~€€~€~€~~~€~~€~}€~€}€}€~€€~~€€~€~€~~~€~€~~}~€}~€~€~‚€~~~€}€€}€}~~€}€€~€€~~~€~€€€€€‚~€~‚~~€~€‚}€~€~€€~€~~~€}€~~~€~‚€€~~~~}~€€~~~~€}€}~€}€~~~€}~}€~€~~~€~€}€~€~~~~~€~€€~€~}~~€~€€~~~€~€‚~€~}€€~~}~~~€~~€~~~‚€€~€~~~~€~~€~~~}~}‚~€~€~€€~~€~~~}€~€}€~~€}€~~}~~~}~‚€~€~~~€~~€~~~}€‚~}€€~€~€~~€€€~€~~~€€~€€~€~€€~€~€}~}€~€~€}~~€~€€~~~}€~~~~€~~€€~‚~€~~~€~~€~€€~~~€~~~}~~€}€~~}‚~~€}~€€~~~~~€~€‚~~~~~~}~€}€€~€~€~~‚}~€}€€}€~~‚~€~~€€}~~~€€~€~~€€€~€}€~~~~~€‚~€~€}€}€~~~~~€€~€~~€~€€~~~€~€~€€~~€~€~~€€€~€~€~~~€~€~~€~€~~€~~€‚}€~~€~€€€~~€~~€€~€~}€~~~~~€~~€~~~~€€~€~}€~€€€€~€~€~€~€~‚~~~~~€~€€~}€~}€€‚}~€~€~€~~€€~€}~~~€~€€€~€}~€~€€€~~~€~€~€~~}€~€€€~~~€~~€€}~}€~€~~€€~€}€~~~€~€~~~€~€~€}~~€}~€~€}€€~€~€~~€~~€€~~€~~~€~€~€~~~€~€}}€~€€~~~~€~~€€~}~~€}~€~€~€}€~€}€~~€~€€€}€~€~€~€‚~€~€~€€€~€~€~~€‚}€}€€~€€~€~~~~~€€}€}€~}€€~~€~~€€~€~~~~€~~~€~~€~€~€~}€€~~€€~~€}€~‚~€€~~€~}~€€€€~€~~€~~€~~€~~~~~~€~~€}~~€}€~~~‚}~€~€~€€~€~~~€~€€‚~€~~}€~€~€~}€~‚€~~~€€€€€~€~~~~~~~€}}~€‚~€~}~~~~€~€€~€~€}€~€~~€~€€€~~€~~~‚~~~€}€€}€~~}}~€~€€~€~}‚~€}~€~‚€}~~€~€~€€~€~~€~~~€~~~€~€~€}}€~~€€~~~~€~~€~€~€~€~~€~€€€~}~}€~€€~~€€}€~€~€~~€€~€~€~~€~€~€}~~€~~~€~€€€€~~~€~€}€~€}€}€€~~~~€~€}€}€~~~€~€~€~}~~€~€~€€}€~€~€~€~~€}€~€~€€€€‚~~~~€~€~€~~~}~~€~€~€~~~€~€~~€€~€€}€€~~~€~€€~€~€~€~€~~~€‚€}~€}€€~€~~€~€~~~~~€~€~€€~~~~€~€€~€~€~€~~~‚~€~€€~~~€~~€~€~~~~~‚€~~‚~}~}€}~~~€‚~€~€~~~~€~€€}€~~€~~€~€~€~~€~€~~~€~‚€€~~€}€€€~€~~‚~€~€€~~€~~~~~~~~€~€~~‚}~€}€}€~€~~~~€~~€~€€~€~€~€~‚~€‚€€~~~}~€~€~€~€}€~}}€~€}€~€}€~‚~€€~€€€~~~~~~€~}~‚~~€~~€~€~€}€~~~~€~€‚~€}€~~~€~~€€~~€~~~€~€€€~€~~~€~€€€~€~~~€€~€~~~€€~€~~€~€~‚~}~€~~~€€~€€~~€~~~~€}~€~~~€~€€~€~€~~€~€€€~€~~~~€~€~~€~€~~}~€~€~€~~~~~€~€}€~~}~~€~€~€€~~€~}€~€}€~€~~~}€~€€~~~~‚~€€~‚€~~~€~€€~€}€~~~}~~€€}€~~€~~~}€€}€€~€~‚~~€~€~€~€~~~}~€~€}€~€€€~}~~~€~~€‚~€~~}€~~~€~€€}€€~€€~€~€~~~}€~€€~~~~~~~~~~€}~€€~€~~~~€~€~~€~}€~~€~€~~€}~~~~~€~€}€}€~~€~‚€~}~€~~€€~€~~}~€~€~~}€~~€€~€}~€~~€€~€~~~~€~~~€~€}€~€~}€~€~€€~€~~€~€~~€~~€~€€€~‚~~~~€€€~~~€~€€€}~~~€~~~€~€}~€~~~~€€~€}~€€}€~€€‚~€€~€~€~€€‚~€}~~€~}~~~~~~€~€~€~~~~~€‚}€~€~~~€~‚~€€~~~€~~€€~€~‚~€~€}}€}€~€€~~~~€~~€~€}€~€€~~~~~€}€~}€}}~€~€~€~}~~~€€}€}~~~€~~€~€}€~€~€~~€€~~€~~€}€~€~}~~€‚}€~€~€~~~€}‚€~€}~~~~€€~~}€}~€~€~}€~€~€€~~€~€€}€~~~€~~~€~~€€~€~€~~~~€~€~~~€~~€€~~~~€~~~€~~~€€€‚~€~~}€~~~~}€€~€~€€~}~~€~~€~€~€}€~~~~€€€‚~€~€~€~€}€€~€~€}‚~~~€~€}~€}€~€€~~€~}€~~~€~€}€~€€€~€~€~~~~~}}€~~€€~~~€~~€€€~~€~€}~}€€~€~~‚€}€}€€}€€~€~}€~€~}€~~€~€}€~}~€~€€~€}€~€~~€}~€€}€~€}€}€€€~€}€~}€~~€~~€~~~~‚€~~~~€}€~€~~~}~€€~~~~~€€~€€~€}€~}~€~~€€€€~~}€~€~€~~€~€~~~€~€~~€~€~}€€~€~€~€~€~~~~€}€~~}~~€~€~€}€~~~€‚}€~€~~}€~~‚}}~}}~€€€€€€~€~~~€~€~€}~€~€€€~€~~€~€€€~€~}€~€€}€}€€~€~€~~€}€€~‚€~~~€}€‚€~€}~€}€~‚~€~€~~€}~€~~‚€‚}~€~€~~€€€~€}~~€~~€€€~~€~~€€€€~€€~~€€~€~~~€€}€€~~€}€~~~~~€€~€}~€}~€€€€~}€~~€~~}~‚~€}€€~€~~~}~€~€~€€~€~~~~~€€‚~€~~€~€€}€€}€~~€~~~}€€~€~€~€€€€~€~~€~€€~~~~€~€~€~€~~~€}€~~€€~€€~€~€~~€~~~~€€~~~~~€€~€}€~€~€~~€}€€€~€~~‚€~~~€}€~€~€}€~~~~€~~€€~~€€~}€~~~€~€~€~}€~€~€~‚~}€~€€~€~~~‚~~~€€~~~~~}€~€€~€~~~€€~~€€~~~~€~€}~€~€~€~~~~~€}~€~€}~~~€~€€}€~~‚}~~€~€~}€~~~€}€~~€~~‚~€~~€€}~}~~~€~€~€~~€~€€~€€~~€}~€~€~~€~~€~~€}~€~€~€€~€}~€€€€~€~€~~€~~€}€~~€}€~~}}~€€~~~€~€~€€~€}~€~€~~~€~€€~~~}~€€~~~~~€~~}€~€}€~~€}€€~€~~€}€€~}~€~€€~€}~~€~€~€~€}~€€~~~€~€~‚~~~€€~€~~€}€€€~~~€~~€~}~~~~€€€~€~€€~~}‚€~~~~€~~€~~}€~€€~}€~~€€~~€~~€€~~~~~€€~~~~}€€}€}~~~~~€~€~~~~€~€€~€}~~€}€€€~~~~€€~€~~~~€€~~€~~€}€€}‚~~€~~~}~€}€}€~€~‚~€~~~€€€~~€}~€€}€~€~~~€~€}~~~€}€~€€~~}€~~~~~€~€€}~~~€}€~~€€}€~~~€~€}€€‚~€~€~~~}€€~€€}€~€€}€}€~€~}‚~~€~€€}€~~€‚~~€~~~~~€~€~€~~€~€~~€~~€~€€~~€~~€~€€}€~~€~~‚~~~€~€~~€}~~~}€}€€~€}€}~~€~€~€€~~~€~€~~~‚~~}}€~€€~~€~~€€}€€~~€~~~~€}~€}€~€~~€€€}~~‚~~€~~€~~~€}€~~~€~€~~€~~~€}€~€~}€~~~€~€€}~€}~€€~€~~~€~€~}€~€€~€~~€~~€€}€~~~€~€€~€~€~€~€€€~€~}€~€€~€~}€~~€}€~€~€}€€~€~~~~€~€~~~€~€~~€~€€€~~€~€~}~~~~€~~€~~}~€€€~€~~~€~€~€~€€}€}~~~~€~~~€~~€€€~~~~€~€€}~~€}~€€~~€€~€€~€~~~€~€}€~~~~€~~€~€~~~€}€~€~€~}€~€~€~~~€~~€€~~€~~~€~€}~€~‚€~~~€}€~~~€~~~€€~~~€}€~€~€}€€~~€~~€~~€€~€~~€~€€~€~~€~€€~~~€~~€}€~€~‚€~€~~}}~€€~€~~€~€~~~~€€~€~~€}€~}~~~~~€€~€}€~€~€€€€~€~~~~~€~~~€}~~€~~~€‚~€€~€}~~~€~€~~~€}~€~€~~~€~€~€}€~€~€~~€~~€~~~€€~€~~€~€~€~~}~~~€~~€~€~~~~€~€~~€~~~‚~~~€€~~~~~‚€~~~€~~€~‚€‚~~~}}€~€~~€}€~~~~~€~~~€€~€€~€~}}€}€€€~€~€€€~€€~€~€~€€~~~~€~~~~~~€~}€~€€€~€~~€~€€€€~~~~€~€€~~€~€~~€€~~€~~~~€€€~€~~~€€~~~‚}~€~}€~€€€€~€}~~€€}€}€~~€~~€~~~€~~€€~€~€}€~€~€~}€~}~€}~}€€}€€~€~~~~€~€€€~€~~}€~€€€~~~€~€~€€~€€~€€}€~€~~~€€~€~€~}€~€~~~€€~~~~~€~€~€~~€~€€€~~€~~~€€~€}~~}‚~€~€~€~~€€~€~€}~~~~}€‚~€€}€€~€~€}€~€~€€€€~~~}}~€~€}€~~€~~~€~‚€€~‚~€~~€~€~~€}€~€~€€}~€~€~~~€~€€€~€~€~~€~€}€€~€}€€~€}~~~€}€€~€~€}~‚~€€~~~~€~€€€~€~~~~€~~~€~€€€~€}‚~~~~~€}€€~~€}~~€}€€€}€~~~€~~~~~€~~}€}€~€~€~~€}€€~€~€~~€~~~€~‚€~€~~€~€~€~~~~~~~€~€~~€}€~€~~€~€~€€~€}~€~€~€~€€}~€€~€}€~~€~€€~}~~€~~€~~}€€€€€~€~€~€~€~€~€}€€~€~~~€}~€~€~€~~€~€~€~€~€€~~‚~€~~~€€€~‚€~~€~€~€~€~~~~€~€€~~€~}€~~€~€~€}~€}€~€~€~‚€~~€~€}}€}~~~}€}€€€‚}€~~~€~€€€~~~~€~~}}€~€€€~~}~‚~~€~€~€€~€}~€~‚€}€~€€}€€~€~€~}€€}€€}€€~~}~€}}€}}€~~~~€}~€~€~€~~~}€~€€‚}€~~~€€€€}€~~€~€€~~~~~}€€~€~~~~}€‚~€}~€}€~~€~€€}€}~~€€€~€~~~~€~~€~€~~~~~~€~~€~~€~}€~€~€~€~~~€}~€€€€~~€~~€€~€~~€~‚~€~~~~}€~€~€€~~€~‚€€~~€€~~€~~€}€}€~~€~€~€€}€€~€~€~~€~~~€~}€~€€~€~€€}€€}~~€~~~€~~€~}‚€~€}€€~€}~}~~€~~~~€~~€€~}~€~€€~€~}€€}€~€~€~~‚~€~~}€~~~€~€~‚~~~~€€€~~€~€~~€€€~~~€~€~€€~€~€}€~~~~€~€€}€~~~~€}~€}€~€€‚}~~~€~‚€€~€€}€~~€}~~~€}~€~€~~~€~€€~€~~~~€~~€~€€~€~~€~€}€}~~€~€~~~€~~~€~€~~€~€~~~€~€€~€~~~}€~€~€~~~~~~}~€~€~‚€~~~~~€~€~~~€~€~~€~~€€€~€~~~~€€€~~~€~€~€}€~‚€~€~~~€~‚€~€€}€~~€~~~€}€~€€~€}~~€~€}€~€}~~€~€~€€~€~~~}~€€~€~~€~€~€€~€~~€~~€~~€€€€~~~~~~€~~€~~~~~~€~€~€~~~~€}~~€~€€~~€~~€€€~~~€~‚~~~~€€~€~€~}€~€~€~€~€~~€~~~‚~~~€}~~€€~€~}~~~€~~€~~€€~€€}€~}~~€~~€}~~~~~€~€~€~€~€€~€}~‚~€~€~~€~~~~~€~€~€€}€~~‚~}~~€€~€€}‚€~€~~€€~€~€€~~}€~~€€}}~€€€~€~€~~€~€~€~~~€~€~}€~}~~~€~€~~~~€~€~€~~~~~~€€~€~~~}}~€€€€‚~€~€~€~€€€~€}~}~€~€~€‚€€~~~€~€€€~~~€~€~€~€~~}€~€~~€~€€~~~~€~~€‚~€~€~€~€~~€~~€~€~}~~€~€~€~€~~}€~~€~}€~€~~~€‚~~€~€~~€€~€~~~~€~~€€~€~€€~€~€€~}~€~€~~~~€~~~€}}€~~€~€~‚€~€~~~~€~€~~€~‚~~€~~}€~€~~~‚‚~~€~~€~~€~~€~~€}€~~~~€~~~€~~€€€~€~~~~~~‚~€~€‚€~~~~€€€~€~€€~}~}~€€~€~€~~€~€€~~~€~€€}~~€~€}€}€}€€~€€~~€€€~€}~€€~~~€~€~€€~~€}}€€~~€~~~~€€~€~}€€~€~~€€~€€~~~~€~€€€€€~€}€~€~~~~~€~€€~€~€~~~~€}€€}€€~~~€~€}€~€~~~~~~€}€~~~€~€~€€}}~~€~€€~}~€~~~€}~€~€~~~~~}€€~€~€€~}~€~€~~~€~€€~~~€~€~€€~€~~€€‚~€~~€~€~€€~€~}€€~~~€~}€€~€~€~€€~€~~~€}€€€~~~€~~€~~~€€€€~€~€~~€~~€€~€}€€€~~~~€~€~~~~~€~~€~€~~~~€~€~€~€~€~~€}€}€~}~€~€€~‚€€€~~~~€~~€~€~€~€~€}~~€~€€€~€~}€€~€~‚~~~~~€~€}€}€~~€~~€~€~€€~€~~}€~€~€~€~~€~~€€~}€~€€~€~~€}€~~~€~‚€€~€€~€€~€}€€~€~€~€€€~~€~}‚~~~~€~€~€€~€~~€‚~€~€~€~~€~€€€~~~~€~€€~€}~~~€~~€~~€€}~€}€~€~~~}€~€~€€~€~}~~~~€~€€~€~€~~~‚€€~€~~~€~€}€~~€~€€~€~~~€~€€€‚~}~~€€~€~~~~~€~€~€€}€~~~€~€~~€~€~~~~€€€~€~~€}€€€~€}€€}€~~€~~}€~€€~~~€~€~€€~€~~€~€€~€~~€~~~~~~€}€}~~}€€}€~}€€}€~€~~~€~€~~~~~€~~~€~~€~~~~€~€€€~~~€~€~~~€~€~€€~~~~€€~~~€~€€~}€~€€}€€~€~€~€€~€~€~~~€~€€€~€~~€~€~€€~~€~~~‚~~€~€~€~€€~~~~~~€~€€€€~€~~€€€€~~€~€~‚€~~~€}€€€€}€~~~‚~€~€~€~€~€~€~~}~€~€~€~~~~€~€~€~~~€~~€€‚~€~~~€~€~~~€~€~€}~~€~~€€~€~~~€~€~€~~€~€}€€€}~~~€€~~€€}€~€~~€}~~€}~€€‚}€~€~€~€~‚€}€~€€~€~~€€~~€~~}~~€~€~€~€~~~~~~‚~€€~~€}€~}~~}€~€~~~~~€~€€€~~~~~€€~€~~€~~€~~~~€}€€}€~~€~~~€~€~€~€~~~~}~€}€~€€~€~€€~}€~~€‚€€~€~~€~€€~~€~~~€~€~€~€~~~€~€€~~€~~~€~€€~~~€~€€~€~‚~~€~€~€}€€~~~€~€~€~€~~~€~€~€~€~~€~€€€€~€~}~€~€~€~€~~€~€€~€~€~€~~€~€€€~€~~~~€~€€€~€}€~‚€~~~€~€~~~~€€~€~€~~~~‚€~~~€~€}~€€~€~~}€~€€~€~€~€}€€~~~~€€€~}€€~€~€€~€~€~~~€~€~€~~€~~€}€~€€}€~€}€~~~~€€~€€~~~~~~€~€~€}€~~~€~~~€~€€}€}€~€}€}€~~‚~~€~€~~€~~~€€~~}€~€~~~€~€~€~€~‚~~~}€~~€€‚~€}~~~€€~~€~~€~€€€~~€~€~€~~~€€€~€~~~~€~€~~€~€~€~€€~€}€~~€~~~€‚~€€~€~€~€~~~€}~€€~€~€}~€~~‚~~€€‚~€~‚~€~~~€~~€€€€~~€~}€~€€~€~€~€}€€~~~~€€€~~€~~~~€€~€}~€~~€~‚€~€~}~~~~€~‚€€€}€~€~~€~€~€~€~}~~~~~€~€~€~€~~~~€‚}€}€~€~~€~€~~~~~€}€~}€~~~~€€~€~}€~€€~€~~€}€€~€}€~€~~€~€}€}€~€~~~€~~€~~€}€~~~€~€~~€~€}~~~~€~}€~~~~€€~€€~€~€~€€~~~€€€€~€~}€}€€~~€~~~~€€~€~~}€~€~€~~}€~€}~~~€~€~€~~~€}€~€‚~~~€~~€~~€‚~~€~€~€~}~~~€~~€~€~€~~~€~€€‚~~€~~€€€~€€~€~~~~~€€~~€}€~€€~€~€~€~€~~~€~~~~€~€€€~€~~~€~€€~€~€~€~€€}~}~}€~~~€~€€~€~~~~}~€€~€~€~~€~~}€€~€~€€}€€~~~€~€€~~€~~€~€~}€~~€}€~~€~~~€}€}€€~€~~~€€€€€~~€~~~~€~€€~~€}€}€~€~~€~~€~}~€~€€~~~~€~€}€€~}€}‚~~€}€~~~~~€€~€~~~€}~~~€~€}}€€~€}‚~~€~}}‚€€€~€~~€~‚€€~€€}€~€€}~€~~€€€€~€~~~€~‚~~~€~~~~~€}€~€€€~€~~€~€€€€~~~~~€}~€€~}~~~€~‚€}~€~€€~~€~€~~€}€~}~~~~€~}~~~~€€€}~~~~€€~~€~}€€~€~€~€~~€~~€~€€~€~€~~~~€~}€}€~~~€~€}€€}€~}€~€~€~€~~€}€~€~~‚~~}€~~~~~€~€}€~~~~€~~€~€~€€}€~€~~~€€~€~€~~~€~€~}€~€~€~~~~€~~~€}~€~~~€~~€€~€~€~€€}~~~€~€~~~€~~€}~€€~€~€~€~€€~€~~€~€€~}~~€~€€~~€~€€€}€~~}€€€~~€~~~~€~€€~€~}€€~~~~€~€€~~~~€‚€~€~€€}‚€~~€~€~€€€~€~~~~€~€€€~~~~€€~€€~~€~€~€€€~€~~~€~~€€€}€~€€~~€€~}€~‚~~€~€~€}~~~~~}€€~€}€~~€}€~~~‚‚~~~€~~~€}€€€}~~€€€€~~~€‚~~€~€}€~€~~~~€~€€~~€~€€~~~~€}€€~}€~€~€€~€}€~~€~€~~€~~~€~€~~€~€~~~€~~~}€~}~€~€~€~~€~€~~~~€~€€}€~‚€~~~€~€}€}~~~~~}€€~~€~€€~€~~~€~€€€~€~~}}€~}~~~€~€~~€~€~~€€~€}€~~€~~€~~€~€~‚~~€€~~€~~~€€€~}€~€€~}€~€~€~~~~‚€~~€€}€~€€~€~€~€€€~~€}€€~€€~‚€~~~‚~~~€~€~€~~~}€€~~~~~€€}~€~~~~~‚~~~€€}€€~€~~€~€~€~€~€€€~~€}€~€}~~~€~~€~€~€€~€~€}~}€~€~~€~‚~€}~€}€}~~~~€€~~~~~€}~€~€€~€~€~~~€~~€~~€€~~~€~€}€~~~€€€~~€~~€~€€~~€~€~~€€~€~€~€}€~€~€~€~}~~‚~€~€~~€~~~~}}~€€€‚}€~~~‚€€‚~€~~~€‚~€~~€~€~€}‚€~~~‚~~€~€€~€~~~~€€}€~€€}€€€}€~}}~€}~€~~~~~~}€€~€~~€~€~~€~~€€}€~~~€€~~€~~~‚~€€~€}€~~~€~~}~€~€~€~~€~€~~~€~€€~€~€~€~€~€~~~~~€€~€~~~€~€€€}€€}€~}~~~€€‚~€~€~}€}€€~€~~}~‚€~€~~~€~€€~€~~~~€}~~€~~€~}€~€€~€}~€~€~€€~€~€~~€}}~}€~~€~€€~€}€}}€~~~€~~~~~€~€€~€}€~~~~~€~€}€~€~€~~‚€~€~~€~~€~€€€}€~‚~~€~€~€~€}€~€~~€~~€~€€€€€€~~~€€~€~~€}‚~€~€}‚€}€~~~~~€€}€~~~~‚~€‚}€~€}€~~€€~€~€}~~€~~€~~~€~€€~~~€~~€€€~~~€~€€~€~€~€€~€~~}~€~‚~€~€~}€~€~€~€}~}~}€~€~~}~€}€~~~~€€€~}~~~€~‚€~~~}~€~€~}€€~~€}~}~€~~€~~}€~€}€~}~}‚}~€‚~€~€€~€~€~~~€~~€~~€~€~~€}€~€~~€~€~€€~€~}~€~~~€~€~€~€~~~€~€~~}€~€€€~}€}€€~~~€~€€}€~~~~~€~}~€~€~€~~€~}€~€€€~~€~€~€~€~~~€~~~~}~€€€}~~€~~}~€~~~~~€}~}‚~€~€~€~~~~€~~€€€~~~€~~€~~~~~~€~}~~~~€~‚€‚~€~€€~€}€~€~€~~~‚~€~€~€~€~€~‚~~~€~€€}€€~€~~~€~€€€~€}~€~~€€€~€~~€€€~~~~~‚~€~~~€€€~€€}€€}€~€~~~€~€€~€~~~~~~€~~€~€~€€€~}~€~~}€€}€€~€~~~€~~€€}€€~~€}‚€~~~€€€~~€~~~€}~€~€€}€€~€~‚‚}~€‚~}~€}~€~€€€~€}~~~€€€~€}~€~€€€~~~€~€~~~~~~€~€~€~~~‚~€~~€}~~}€~€~~€€€}€~€€~~~~€~€€€€~€~€~€~€~~~‚~€€}€€}‚~€~€~~€~‚€€~~€~~~~€~€€~€}€€~€€~€}€~~~€~€~‚€~€~€~€~~€~€~~~~~€}€€~€}~‚~~‚~€}~~~~€~€~€~}~€€~€~€~€€~€~€~~€}€~~€}€~~~~~~~€}~€€}€€~€~€~~‚~€€~€~€~€~~‚~€~€€}€}‚€~~€~€€~}~~€~~€€€~€}~€€~~~€‚~~~€~~€‚€€€~€~€}€€}€~~~€€€~€~€~~}€~€€‚~~~~€}~€~‚€~~}€~€}~€€~~€€~~€~€€~€}}~~~€€~€~€~€~€~€~€~€}~~~€€€~~€~~€~~€€~~€~€~€~€}€€~€€~€~~}~€€~€~~}€~€~€~~€~€~€~~~€~€‚~~~‚}~~€}€~€~~€~~€~€€}€~‚€~€~€~€€~~€~~~€~€~~~~~€€~}€~~€~€~€€~€}€~~~~€€~€~‚€€~€~~~€~€~€}~€~~~~}€~}€}~~‚~€€~€~€~~‚}~€€€~€}~}€~€€~~~€}€€~~~~~~€~€~€~~~~€~€~€~‚€~€~}€€€~~€~~~~€~~~€~€€~€~~~€€}€~€~€}€€~‚€~~~~€}€~€€~~~~}€~‚€€~~~~~~€€~}€~~€~€~€€‚~~€‚~€~€~€}~€~~~~€~~€~}€‚€€~~€~€~}€€€}}~€~€~~~€~€‚~€~~€~€~€}€€~}€~€~€~~~€~€€~€~~€€~~~}€~~€}~~~~~€~€€~~€~€~€~~€~€~~~€~‚€~~~~€~~€~€~€€}€~€~€~~~€€€€}€~~~€€~~€~€€~~€~€€~€~€~~~€€~€~€~‚€€~~~~~~‚€€}€~}€~€€~~~€~~€}~€~~~~~~~€€€~€~€~€~€€~~~~€€€~€~~€~€~~~~€~€~}~~‚~€~€~~‚€€€~~~€~€~€}€~~€~€}~‚~€~€~€~}€}~€}€€}€~€~~€~~~~€~€~€}€€~€}€~~~~€€~€}~€~€€€~€~€~~€€~€~}~~€~€~~€~}~€€€~€}~€~€€~€~€~~€~€}€~~~€}€€}€~~~~€}‚€~~}}~€‚}€~€€~~~~}~€~€€~€~}‚~~~~~~€~€~€€€~€}~~€€€€€~€~}€~€€€~~~€~€~~~~€~‚~€€€€~€~~€}~€~€}€~€€~€~~~~€~€}€~€~~~~~€~~€€~€~€~€~€€}€~~€€~€}€~~~€€€~~~~~~~~€~~~‚€}€~~€~€~€€}€~€€~‚€€~~€‚}€~€~€€}€~~‚~€~€€~~~~€~‚€€~~~~~~~€~€~€€€~}~~€}€~~€~€~~€~~~€~€€}‚€~~~‚€~~~€~‚€€~€~~~}~€€}€~€~€~~~€~€~~~~~€€~~~€~€~~€€~~€€~~€~~~€€~€~~€~~}~~€~€~€~€~~€‚~}€~~~~€€~€}€€}€€~€~€~€~~€}€}~~~~€~€~€~~~€~~~~€€}}€~€~€~€€~€‚~~€~~€~€€‚~€~~~€~€€}€~€~~~~~~€‚}€€~€€€‚~}€~~~€~‚€€~€~~€~~~€€~€~€€}€~~~€~€€~€~~~€€~~€~€€}€~~~~~€~€€~€~~~}€€€~~€~~~~€~€~~€~€€€€~€~~~~~€€~€€}€}~€~~~}€}€~€~~}~~€‚~€}€€~€~€~€~€~€~~~€~€~~€~~~€~~~€~}€~€€}€~~~€}€~~~€~~‚~~€~€€}€~~€~~€~€~€~‚€~~~~€‚~€~€~€~~~}~€€~€~~€}€~€€}€~€}€~~€~~€~~~~~€~€~€€}~€~€~€€~~~€~€€€~~~~€}€~€}€~~}~€€~€~~€}~€~~~€}€~~€~~‚€€~€~€~€}~€€~€~€}€~€~~~€€}€~€~€€~€~~€~~}~~~€}~€€~€~€€}~€}€~~‚~~‚~€~€~~~~~~€~€~€~€~€€€~€~€~~~~€~€}€~€€~€~}€~€‚~€~~€~€€~€}€}€€€~~€~~€~~~~~€~€~€~€€€~~~~€€€€~~~~~~~€~~€~~~€~€€€~~€~}€~€€~€}~~~€€€}€~€~~~€~€€}~€}€~~€‚~€~€~€~€€€~€~~€~€~€~€~€}€~~~~‚~~}€~€~~€~€~~~~€~€}€~~€~€€~€~~€~~€~~}€~€~€~~€~€~€~~~~€~€~€~€€~€~€~€~€~~€~€€€~€~€~~€}€€~€~~~~~‚~€~€~~€~~}~€€€~€~~~€~€€~€~€‚~€€~€~€~~€~€€€€€}€~€~€~~~~€‚~€€~}€~‚~€~~‚~€~€€~~€~~€~€~€}~€~~~~€~~€‚~~~~}~~€€~€~€~€~€€}€~}€~€~~‚€}~€~~~€~€€~€}}€~€~€~~}~€}€~~€}€~€~€~€}€}€€~~~€~€}€~€~~~~€~€€~€~~€~~€~€~~€€€}~}€~€€~€~~€~€€€~€~~~€~€~~€~~~€~~€}~€~€€€~~€~~~~‚€~€~‚€~~~€€€~€~~€~~~€~€}€~€~~~‚~~~€~€~€‚}~}€~€}€~}€~~~€~€}€~~‚~~~€€€~~~€€€~€~~}€~€€€~~€~€€€~€~}}€€~€€~€€~€€}€~~~‚}€~€~~€€~~€€‚~€~~~~€}€‚~~~~}~€€~~€~~€~€~€€~€€~€€}‚€€€~~~~~€~€}~~€}‚€~~~€}}~€€€€~~~~~~‚€€~€~~~~€~€}€€~€~€~~€~€~€€~~€~€~€~€}~}€}‚€~€~~~~~}~~~~~€€~€~€~~~~€~~~~€€€~~~~€~€€~€~€~€€}‚~€~€}€}€~€~€€€~€}~~€€}€~€}€~~€~~~~~€~}€~~€€‚~€}‚~}€~~€~€€€~~~~€~~€}€€}‚€~€~‚~€}€}}€~~€~€}€~€}‚}~€~€~~~~~€}€}‚€~~€}€}€~€~€~€~€~€€€~}€}~}€~~€~€}€~~€}‚€~~~~~€~€~€~€~~€~~€~€€~~€~€~~~€~€€€~~€~€~€~~~€}~€~€~€}€}~~€~~€€€~€~~€~~€€~€~€~~~~}€€}~€~~~~€~€~€~€}~€€~~~€€~~€~€~€~~~€~€€€~€~~€~€~€~€€~~€~}~~€~€~~€~~~~€~‚€€}€€}~~~~€~}}€~‚€~~~~‚~€~~€~~~€‚~€~€}~}~€~€€}~~}€~~€€~€}€~~€€~~~€~€€~~~~~~€}€€}€~€~~~€~~‚€€€~~€~~€‚~€~€~€~€~~€~~~‚~~}}~~€}€€~€€~€€~€~~€€€~€~}~€€€‚~€~€}~~~~€~~~~€~€~€€€~~~~€~€€€‚~€~~~€€}€}‚€~€~‚~}€~~€~€~€~€~~‚€€€~~~‚}€~€~€~€~~€~~€~‚€€€~~~€~€~€€~€~€~€~~~~€~€€}‚~~~~€}€€~€~€~}€~‚~~~€~€€~€~~~~~~~}€€}€‚~~€~~€~~€}~~}€~€~€~~€~€€~}~~€~~€€€}€~~~€~~€~€€~€€}€~~~}€~€~~~€~€~€}~€}~€~~€~€€€~}~~€€€‚~€~~~€~€~€}€~€}~€~~~}~€€}€~~€€‚€~~~~~€€~€~~€~~€}€~~‚~~‚~~€~~€~~€€~€}€~~€}€}€€~€}€~€€~~~~€~~€€~€€~€~~~~€€€€~€~€~~€~~€~~~€~~€~€‚~€~€~€~€€~~~€€€€}€~~~~~€~}€~~~€~€~~€~}€~~~~€~€€~‚€~~€}~€~€€€€~€~~~‚~~€~€‚~€€~€~~€~‚~€€€~~~€}€€~}~€~€€~€~€~~€~~€€€~€~€~€€€€~€~~~€€€~€~}~~~~~~€~€}~~€~‚€~€~~~€~€€~~~~€~€}€~€€€~€}~~€~€~€€~€~~€~}~€~}~€~€~~~€~~}€~~~€~~€~€~€~~€~~€}€€€~€€~~€‚}€~€}~€~€}‚€~~€~€~}€}~€~€~€€€~€~~€~€‚}€~€~€~€€~~€~€~€€~€~~~€€€}€~~}€~€~}€~~}€~€€~€~~~~~}€}~€~€€€~€~~€~~€~~€~~€€~€€~~~€~~~~€~€€~~€~~~~‚~€}‚€~~€~~€€}€}~~€}~€~€~€~~~}~~€~}€~€~€~~€~~~€}€~~~~€€~€~€€~€}~~~€~€~~€€~~~~€~€~€~~~~~~€€~€€~}€€~~}~€€€~~€~~~€}€~}€~€€€~~€~€}€}€}‚€~~~~€~€~€€~€~€~~€~~~€€~€~€~€‚}€€~€€€~~~~€€}€~€~€~€~~€~€€‚~~~~€~‚€€€~€~~}€€‚~~}~€€}€~€~‚~~}}~~€}€}}~~€~~~~~~€~€€€€~€~~€~~€~€~€}~~€}~€€~€~~~€~€}€~~€~~€~~~€€€~~~€}~€€~~~~€~€€~~€~€}~€~~}~~~€~~€~~~~~~~€€~€~€~~€~€~€€~}€~~€‚~~€~€~€€~~€~~~€}}€~€~~€~€~€€}€~~~€~€~}€~€~€}€€~€~~‚‚~~~€~€}€~~~~€€€~~~~€~~€~~€€~€€~}~~~€~~€~}~€~€~€~}€~~}~€€~€~~€~€€€~~}€~€~€~~~€~€€€~€~~€~€€~€~€~€~€~€~€~€~~€~~€~€~~‚~~€~€~€~~€~€€}€~~~}€€~~~~~~€€~€~~~€~€€~€~~~~€€€}€}€~€~€€~€}~~~€~~~~€~~€€~€~~~€}~€€}€~~~€€~}~}€~~~€}~~~€~€~~~~€~€€€~~~€}€€€~€}~}€~€€€~~€~~€~‚€€~~€~~~€~€€}€~~€€~€~€}€~€~~€}~€€}€€~~€~‚€~~€~€€~€~~~€~€~~~~€€~€~}€}~~€~~€~€€~€~€}€~~€~~~€~~~~~€~~€~~~€~€~~€~~€~€~}€~€€~€~}~€€‚~€~~€~‚€}~€~€€~~~€~~€€~}~~€€~~€~~€~€}€~~€~€~~~€~€}€€~€~€}€~~€}€€}€~~~€~€~€~€~~~~~}~~€~€€~€~~~€~€€~~~}€~€€}€~}€~~~~~}€€}~~~€}€~€~}€~~~€~€~€~€~€~~€~€}€€~€}}~€}€~}~€~~}~€~~€~€€}€€}€}€~€~€~~€~~~€}€€~‚}€~~~€~€€~~~€}~€€}€}€~€~‚}~€~€€~~~~~€~€~€€~€~~~€‚~}€~~€~€}~€~€€~€€~~~~€~~~€€€~€~~~€}€~~}€~€€~€~~€~€~~~€~}€~€}€~€€€€~}~€~~€~€~~€€€~}~~€~~}€~€~€}~}~~~€~€~€~€~€€}}~~~€}€~~€~€~€}€~~€~~€€~~€~~€}~€€~€~~}~~€~~€~€~€€~€€~€€}€~}‚~~~€~€~€~€~~~~€~€}€}€~~~~€~~~~€}€~€€€~€~~€~€€~€~€~€~€~€~€~~~~€‚}€€~€~€~‚~~}}€}~‚€€~}€~~€~€€~~~~~€~€~~~~~~€~€€~~€€~€~~~~€€~€~~~€~~~}€~€~~€~€~~}€~€€~€€}€~€~~~~~€}€~€~~~‚€~}€~~~}€}€~€€~~~€}€€~~~~~€€€~€~~~~€}€~‚~€~~}€€~€~€~}€€~~€}~€~€}€€~~€~€}~€~~~~€~€~~€~~~~}€~~~~}€~~€~~€~~€~€~}€~~~€~~~€€~}€~~€~€€~~~~€~€€€€~~~€~€€~~~€~~€€€~~~€~€~~€}~~€~€}€€}€~€~‚~~~€€}€~~~€~~€€~€~~~€~~~~~€~€}€~‚~€€€~}€~€€}€€}€~~€€~€~~~€~~~~~€~~€}€~~~€‚~€}€~~~€€€€}€}€}€~€~€~}~~€~~‚~€}€~€€}€~~~~~~~€~€~~€}~~~€~€€€~€}~}€~€€~€~€~~~~€~€€€~€~~~€€‚~€~~~€~€~~~€~~~~~€~~€~~€~€~~~~~€‚~€~€~€~}~€~€€}€~~€~€~€€€~€~€~~~~€~~€~~~€~€€~€~€}€€}€~~€~~~€}€~‚€~€~~~~€~€}€}~~€~~€~‚€€‚~€~~€~€€€~€~~€~€~€€€~~~€~~}€€~€~€~€~~~~€~€€€€~€}~€~~€~€~€~€~€~‚~€~€}€~~~~€~€€~~€~€~~~€~€~€~€~~~~€~€~~€~~}~~€~€~€}~~~€~€€€€~~~€}€~€~€‚~€€~~€}€€~~€~€~€€~~€~€}~~€~€~€~~€€}~€~€~€€€~€~~€}~€}€~€~~}~€~€€~€~~~~€}€~~~~€€~~€}€~€~€€}‚~~}~}~~~€~€€~€}~€~€€~~€}€~€€~€~€~€~~€~€€~~~~~~€~~~€~€€~~~~€}€~€~€~€€~~~~€~~~~€~~€~€~€~€~}~~~€€~€}~€~€}~€}€€~€~€~~~~~€~€~€}€}~~~‚~€€~€~€~~€~~~€~~€€~€~€€~€~€~~€~€€€~~~~~€~€€~€~~€~€~~€~~€~~}€~€}€}}~}€~‚€€€~~}€}€~€~~~~€€€~€}~~€}~~€~~}~~~~€~€€€~€~~~}~~}~€€~}€~~€~~€~€}}‚~€~~~€~€€€}€}~€~€‚~€~€}€~€€€~~€}€~~€~€~€€~~~€€~~€~~~€€~~~‚~€€}€~€}€~~€~€~€€~€~€~~€~~€~€€~‚~~€~€~~€~~~€€~€~~~‚~€~€}€}~~}~€€€~€~€~~€€~~€~~~€~€€~€~~€~~~}~€~€}~~~}€€€€~€~~~€~€€~€~~€~€}~~}€~~€~~~€~~~€}€~€~~~~€~€}€~‚€~€~~~~~~€€€~}€~€~€€~€~€~~€€~~€~€~~€}~€€€~€~€~~€}€}~~~~€~~~€~~€~~€~}€~€~~~~~~~~€}€€}€~€~~~~€}€€}‚€~~€~~€~~€€~€~~€}€€~€~~~~€~~€€€~€}€~~€~~~~~€}~€‚}€~€~~~€}~€€€~€}~~€€€~€}~~~€~~~€~€€€~~€~€~€€~€~~~€~~€~~€~~~~~€~€€€~~€~€~~}€~€€~~€~~€~€€€}€~~~€~€~€~€€€~€~~€~€~€€~€~€€~€€~€~€~~~€€~€~~€~~€€~~€~~}€~‚€€€~~€€~~€~€~€€~€€~€€~€‚~€~~~€~~€~~~€€~~€~€~}€€~€€~~~~~€~€}€~~€~€~~€€~€~~~€}€~€~€~€€~€~~€€€€€~€~€€}~€~€~€~~‚‚}~€~}€~~~€~€~~€}~~}~~€~€}€€€}~~~€~€~~~~~€~~}~€€}€~~~€~‚~~€~€~€~~~~~~€~€~~€}€~}~€}€~€€~€~~}€~€~~€~~€~€€€~~€~~€~~~~~~€~~€~€~~€€}~~€~~€€€~€~€€~~€€~~€~€}€€~€€€}~~€~€~~€~~€~€~€€€~€}~~€~€~~}€~~€€~~€~€~~€~~€~~}€€}€~~€~€€€€€~}€~€}~€~‚€€~~~‚€€~€~~€~~€}€€~€}€~€~~€€€~€~~~€}~€€‚~€~‚~~‚}~€~€€~€}€~~~€€~€€~€~€}€~~€~€€€~€~€~~~€€€€~€~~€}~}€~~€~€€€€~€~~}~~~~~~€~~€~€~€}~€~€€€€~€~~€~€}€~€~~~€~€€~€€}€~€~~€}€~€~€€}€~€~€~€}€~€~€~€}€~~€€}€~~€~~~€€~€~~~€~€~€€}€€}€~€~€~~‚€~~~€~€~€€€~~€~~~€~~~~~~€~~~~€~€€~~~€}€~~€~‚€~~}~€}€}€~€~~~€~€€~}€~~~€~€€€€~€~~}€~€€€~€~}€~€€€€~~~€~~€€€€~€~~€~~€€~€~~~€€€~}€~~€}~€€€€}€~~~~~~~~€€~€~}~€}€~~€~€~~~€~€}€€~€~~~€~€€~~€~€}~~€}€~€~~€~€~€~~€~€}€~}€€~~€~€~~~~€~€€€~~~€~~€~€€~~€~€~~~€€~~~€~€~€~€€€€€~~~~~€€€~~~~~€€}€€~€€}€€~€~€~~~€~~€€}€€~€}€~€€€€~~~~~~€€}€€}€€}€~~~‚€}€~~€€~€}~~€~€~~~}~~€~~~€~~€€€~}~~€€~€~~€~€€}€~€~€~‚~~~€~€~~~€~€~€~~~€€~€~€~~€~~€€~~~~~€~€~~}~€€~€~€}€€}~~€~€~~€~€~€~€~~€€€~}€~~~~€~~~€~~€~€~€€~~€~€~€~‚~€~~~~~~€~€~~€~~€~€€~~€~~}€~€~€~€~€€~€€~€~~€~€~€~~€€~€~~~~€~€~€~€~€€~€~~}~~~€~€€}€€€~~€~€~~€~€€~~€~~~~€~€~€~€~~}~€}}}€}‚€~‚~~€~€}€~~~‚~}€~€}~~}€‚~~€~€~~€~€~€€~€~~€~€€€€~€}~€~€~~€~~€~€~~~€€~~~‚~€~€~€~€}~€~€~€€~~~€}€€~€€}€~~€}~~~€€~~€~~~€~~€~€€~€~~€}~€}€~€~€~~~~€~€€~€~~€~~€~€~€}€~~€€~€~€~~€~‚€€€~€}~€~~€~€~}€~€€~€~~€~€~€~€‚}€~~€~€€€€€~€}~€~‚€~~}‚~€€~€~~~€€~~€~€€~€}~~€~€~}€€~€}~~~€}~€~€~€~~€~~~€€~€~€~€}€€~€}€}€~~~€~€~~~€~€€~~€~€€~‚~~~~~~€~€€~€~€~}€~€€€~~€~€‚~~€}€~€€}~~€}€€~~€~~~~~~€~€€}~€~~€€~€~~‚~~~~€~€€€}€}~~€~€~€~~€€~€~~~~€~€€€~~€}~€~€€~€~~~€~€€€~€~€~€~~€~~}~€~€~~~€~~€€~€}~€}€~€€~€~€~~~€}}€€~~~~€~€€€€~~€~€~}€~€~€€}€~~~‚~~~€~€}~}~~~€€}€}€€€~~~~€}~€€€}~~€€~€~~~€~~€€~€}€~€~~~~~~€€~~~~€~~€€}€~€~~~€~€~~~‚€~~€~€€~~€}€~€~~~~~~€~€~~~~€~€~~~~}€~€€‚~€~€}€~~€~€~~€~€~€~~~~~€~‚€~~~~€~€€~€~€€~€~}~€€~~€}€~~€~~€~€~~~~€~€}€~€~~€~~€€}€~~~~€~~~~~~€€}~€~€€€‚~€~~~€~€€~~~~}~€‚}€~}€~€~~~€~€~€~~€~~~€}€}~€~~€~~€}€€~~~~€~€€€~€~€~~}€}€~~}~~}~€~€~~~€~€€€€~~~€~~€€€~€~€}€~€€}€~~€~~~€~€€}}~~~~~€€~~~~€~€€~€~‚€~~~‚€~~€}~~€~€}€€~~€~~€~~~€~€€€~€}~~~€~€€}~}~~~€~€~€~~~€~€€€~€}~~~€~€€}}}‚~~€~~€~€}€~~~€€~€~~~~~€}~€~€€}~€~‚~€€€‚~~~€}~€~€}€}~€~~€~~€€~€~~€}€‚~€~€~€~€~~}€€~€~~€~€~€~~€~‚€~~~€~‚~~~~€~~€~~}~~~~~€€€~~€}~~€~€€€~~~~€~~€~~€~~€~~~€€~€~€}€~~€~€€~€~~~€~€€€~~~€}€~€~~€~~€~€~€~€€}~~~~~€~€~€}€~€}€€}}€}€}~€~€~~~‚~€}€~€~€‚~~~~~€~€~~~~€~€~~€~~~€‚~~€~~~€}~€€€‚~€~€~€~~~~~€€~€~€~~€~‚~€~}€~}€~€€~€~€~~€}~€~~~~‚~€‚}€}~}}~€€~~}~~€€~€~€~€~€€~€~~€~~€~}€~€~~~€€‚}~€}€~~€~€€~€~~~~€~€€~~€}€€}€€~€}€}€~€}~~€‚~}~~€~€~~‚€€~€~€~€~€€~€~€}~~~~€€~€~€~€}~€~€~~~~~~€~€€~€~}€~~€~€€}~€}€€~}€~}~€}€}€€~~€~~~€~~€~~‚€~~€~€~~~€~€~€~}€~€}~}~€~€~~~€}€~~~‚~~~€~€~€€}€}€€~~~€‚~€~€~~~}€}€~}~~~€~~€~€~~~~€~~€€~€}~€€~€€}€~€~€~~~€~~~~~~€~~~€~~€~€~~€~€~€€‚~~€}~€~~€~€€€€~€~~€~€~€~~~~~€~€€€€~€~~~~~€~€~~~~€~€~~~~€~€€}~€~‚€~~~€~‚€~€~€~€~€~~~~€~~€~}€}€€€~~€~~€~€€~~~~~€~€~~~€~€~~€~€~€}€€~€€~€~€~€~~~€~€€€~€~€~}€~€}€}€~€~~~}€€€~~~€}€~}€~€}€}€~~€€~€~€~~}~€€€~€~~~~€€~}€~~~~€~€€€~~€~~}~€€€~€}€~€~€~~~~€~€~}~~~€~€€~~~€~~€€~}€~€~€~~€~~~€~~~}€~‚~}~€~€~€€~€€}€~~‚€~~~€€~€~~~~€~~€~~€~~}~~~~€€~€~~~~€~€€~€~~~~~€~€~€~~~€}~€~€€~€€~€}€~}€~€€~€}~~€~€€€~}~€~€€~€~€~~€€~~~~~€~€€~~~€~~€~€~€~~€}‚€~~€‚~€~€}~€}€~~~€~€€€€~€~~€€€~€~~~~€~€€~~~€~€~€}€}€}~€~~~~~€~€}€~~~‚}€~}~~€~~€€~€~~€}€~€€~~€~~€}€€€~~€~€~~€}€~~€~€~€~~€~€}€€}€~€~€~~~~€~€~€€€~~~~€~€€~€}€~€€~~€~~~€‚~€~€~€~~}~€€~~~€~‚€}€~€€~€€~~€}€~~‚~€~€~~~€~€€~‚€~€~~‚~€~€~~€€€~~€~~~~€~€~~~€~€~€}€}€~€~‚~~~~€}}~}€~€~€}€~€~~~}€~€~~~€~€€€€~~€~~€€€~€€~€~~€~€~~€~}€~~~~~‚€~~~€~€~€~€~~€€€~€~€~~~~€~~€~€‚~€€~€~€}€~€~~~}€€€~~€~€~~€~~~€€€~~€~~€~~€€~€~€€~~‚€~~~‚€€~~~~~~€€~}€~~€~~€€€~~~€~‚€€~~€€€}€€~~€~}€€~€~€~€~~€~~€~€~}€}€~~}€€€}€~~€~€€~€~~~‚‚~~~€~}~~€~€€}~~€~~€~~~}~~€}~}€~€~~~~~€€€~~~~€~€}€~€~~~€~~€€€~€~~~€~€€~~~~€}€~~~~~~~€€~~~~~€€€~€~~€~€~~~~~~€}€€~€~€~~~~€~€€€~~~~~~~€€~€~~~€~‚~~~€~€~€~}~€€~}€~~}€~~~~~€~€}€€~€~}~€~~€€~~~~~€€~€~€~€~~~~~€~€~~€‚~€€~€}€€}€}~~€‚~~€€€~€}~~~~~€€~~€€~€€€€}€~~~€~~~€~~€~~~€€~€~~€}~€}€~}€~~€}~~€}~€~~~}~€~€}}~€€~€~~~~€€}€~€}€~€~€~‚~~€~€€~~~~‚‚~~~}€~~~}€~}€€€‚~~€~~€~€}}‚~~~€~€€~€~~}€~€€€€‚~€~€‚~~}€}‚~}~~€~€~€~~€~€€~~€~€‚}~}~~€€~€~€€~~‚€~~~€~€}~~}€~€€~€~}~~€~~}€~~€~€}€~€~€~~~€‚~€~€~~~}€€€~~€}€~€‚~€~~€€~€~~€€}€€~}€~~€~~~€~€~~€~€~€€€~€€~‚€~~‚~~€€€~€~}€}€€~}€~€~€~€~~€~‚~€~~€}€~~~~€}€~€~€~~~~}€~‚€€~}~~€~€€~€}€~~‚~~€}‚~~€~~~€}€}€~~~}~€€~€~€~}€~€~~~€~}}€~€€~€~€€€€€~}~~€}~€€~€~~~€€~€}~€~€€€~€~~~€~~~€~~}‚}}€€€~~~~€}€~€~~€~~‚‚~~€}€}€~€€~~~~€€~€~}€~}€~€~€~}€~~€€~~€~€~~€~€}€€~€~~~~€~€~€€~‚€~€~~}€~~}€~€€€~~€~~€~}€€~€}€~~€~€~€~~~~~€~€~€~~€~~€~€}€~€~}€€~€~~~€~~€~€~~€}€~€~~~€€€~~~€}€~€~€}€€€~€}~}€~€~~‚~}€~€~~~~}€~€}€€~~€€~‚€~~~~€€€~~€~~~€}~€€€~~~~~}}€€~€~~€~€~~€}~}€~‚~~€~}~~€~~€€€‚~~€~~~€€~€~}€€€€~€~~~~€~€€€}€~}€~€€~~~€~€€€~€~~~€}€~~~~~~€}€~€€€~€~€~€~~€€~‚€~€€}‚€~~~‚~~€~€~~€}~‚€€~~~~~‚~~€~€~~€~~€~€}~~~€€}€~€~€~€~€€~€}~‚~‚~~€~€~€}~€}€}€€~€~€€}€}~€~€~~‚}~€~~€€€~€~~€}~€~€€~}€~€~~€~€€€~€~~~~€~€}€~€~~}~€}€~€}~~~€~~~€~€~€~€~€~€}}~}~~€€~€~~€€~~~€~€}€€€~~€~‚~€€}€~€€‚~€}€~~€~~€}‚€~~~}~~€~€~~€€€~~€~€~€~€€~€~€~~}~€~€~€~~€‚€~~~€~€€€}~€~€~~€~€~€€€€€~~€~€~€~€~€~~€~€}~€~€€~}~€}€~~€~~€€~€~~€}€~~~~€~~€~‚€~~€~~€}€~€~€€€}€~~~~~€~~‚~~~€~€~~~€~€~€~€~}€€~€~€~~~€€‚~~€~~€~~~}~€~~~~€}€~€€~€€}€~€€~~~~€~~€}€~€~~~~€~€€~~~}€~€€~€€~€~€€}€~~~€€€~€~}~~~€~~~€~~~€~~€~€~~€~€~~€~€€€€~~€~~~‚€~€}€~~~~~~€€€}€~€~}€~~~€}€~}€~~~€~€}€~€~€~~~€~~€~€~€~€~~~~€€€€~€~€}‚€€~~€}}€~~~~~€€~€~€~~€~~€~~€€€~€~€~~~€~€~€~~€~~~~}€€~~€€~~‚~€}€}€€€~€~~€~€~€~~€}~€~~~€~~~€€~~€~~€~~€€€~~€~~€~€~}€}€}~€~€~~€~€~~~~~~}~€€€~~€~€~€€~€}€}€€~€~€~~~~€~€~~~€~‚~~~~€€‚~~~€~€}€€~}€€‚~}€~}~~€~€~~~~~~}€~€€~€}~€~€~€€~€~~~€€~~€}~~€~€~€€‚}~€}~€~€}~~€~€€~~€~€~€€~€}€~€~€€~€~~€~€~€€~~€}~€~~~€~€€€~~€}€~€€}€~~~€}€~~~€~€~~~€‚~€}€~~€~€€~~}~€}€~~~€€~€}~~€~~~~€~€~€~€~€€€}€~}€~~~‚~~€€~€~~~~€}€~~~€~€€~€~~~€~€€€€~€~}€~~~€~€‚~€~~~~€}€~€}~€€~€~€~~}€~€€~~€~~~~~~€~~~~€~~€~~€}€~~~~€~€€€~€~~€~~~€~€‚~~€~~~~~€~€}€~€~€~}~~~~€€€~€~~~~€€~~€~~~~‚~~€€}€~€}}~~~~€€€~€~‚€}€~€€~€~~€}€~€~€~€}}€}€~~~~‚~~€~€~€~~~~~€~€}€~~~€~~~€€€~~€~€€~€~€~€~€}€~~€~€~~~~€~~~€~€€~~~~~€~€€~~€€€}€~~~€}€}~~~‚~€~~~€€~}~€}€}€€~~~€~~€}~~€~€~€~~€~€~~~€~€€~~€€~€~€€}€}~€€~~€~~€~€~‚~~€€}€~}€~€€€‚~€~€~€~~~~€€€~€~~~€~€~~‚€~~~€~€~}€~€€}€€~~€€~€€~€~~€~€€€€~~~€~‚~~}~~€~€~~~~€~~€€}€~€~€}€~€~~€~€}€~~€}}~€~~€€~€~~~}€€€~~€€~}€€~~~~~~€~~~€~~~~€~}€}€~~€€~~~€€~€~~}€€~€~€~€~‚€€~€}~~€~€~~~~€~€~€€~€~€~€€~€€~~€~€~~~€}€~~€~~~€~€€‚~€}~~~€‚~€~€€‚~€}~~~€~€}€~€~€~~~‚€}~€~€€~€€€€~~~~~€€~€~~€~€~€~€}€}€~~‚~~~€}€€}€~‚~~~~€~~}~€~€}€~~~€‚~~€~€€~€~~~~€~€~€€~‚€~~}€‚~~~~€€~€}~~‚~~‚~~€~€€~~~}~~€}€}€~~€‚~~€~€€~}€~€~~€~}~€€~€~€}~€€€~€~~~~€€~~€~~~~€€€~€~~€~€~€~~€~€‚€~~€}€€~~~~€~€~~~€}€€~~€}€~}€~€~~‚€~€~~~~€~~~‚}~~€}€~~€~€‚~€~€~~€}€~~~€~~€~~}~|~€~€}€~~€€~}€}€}€~~€~~€€~€}€~}~~~~€}~€€~€~~~€€€~~€~€~€}€~~~~€~€~€~‚€~~~~€~€~~€~}~€~~€~~~€~€~~~€~€€~~€~~€~~}€}€~~€~€€~}€~~€‚~~~€}€€}~~€~€~€~€~}€~~€~€€€‚~}€}~‚~~~}€€~€~€~~€~€~€~€~~~€~€€}~€~~€~€~~~€~€€~~~~€~€€~~~}€~~€~€~€~€~}€~€~€~€~€~€}~~}€~€€}€~€~€~~~~€~€€€~€~~€~~€€~€~€~~~€€€~€~~€~€€€~~~€~€~€~~€€~€~~~€~€€~~€~€€~€}~~€~‚€~~~}€€~€€~~€€~€}€~€€€~€}€~~€}~~~€~~€}~~€}€~€€~€€}~~~~~~€~~~~€‚}}€~€}‚~~€~€€~€€~~}~€~€~€€~€~~‚~}€€~~€~€€€}€~€~}€€}€~€~~~€~€~~€~~€~~~~~€}€}€~~~€}~€€~~~~~€~~€~€~~€~~~~}}€~€~€~~‚€~€}€}‚€~}~‚~}~€€~€~~€~€€€~~~~~~€~€~€€~€~€~~€~€€~€~~~€~€€~€}~~€~€€€~~~~~~€€~€~€}€~€~~~~€€€‚~€~~~€~€~~~€‚~€~€}€~~€~€}~€~€}€~~€~€~~~~}€€~€~}€~€€~}~~€~~€€}€~~€}~€€~~€~}€~€€~€€}€~~‚€~}€€€~~~€}~€~~~€~~~~~€~€€€~€€~~€~~~~‚}€~€~€~€€~€~~~~€~~€€~~~}€~‚}€~~‚€€~€~~€~€€~€~€~~~~~€~€€~~€}~€}~~€}~~€~€~€~~~€~€€~€~€~€~€~}€€~€~~~~~~~€~€}~~~€‚~~‚~€~~~~~€‚}€€~€~€~~~~€~~~‚€~~}}~‚€€~~~}~€€€~~}~~€~€~~~}~~~‚‚~~€~€~~}~€€‚‚~€~~~€~€~€}~€~€~€~€}€}€€~€~}€€~€}~~}€~€€~~~€~€~~€~€€~~€~~€~€€~}€~~€}~€€~~€~~~€~€~~€~~~€~€€~€~}€~~~}€~€~€~€€‚~€~€~~~€€~€~~~~€~~€~~~~€€‚~€~€~~€~~‚€~~€~€~€}~€~€}€~€~€}€~~€~€€‚}~~}€€~€~€~€€~€~~€~€€€~€~€~~~€€~€~€~€€~€~~~€~€~~~€}~~€~~~~€€€€€~~€~~€~€~€~~€~~€€~€~€}€~}‚€~~€~€~~€~€}€}€~~~~~~€€~€~~€~€€~~€~~~€€€~€~€~~€}€}€~}~~€}€€~€~~€~~~€}€€~€~€~~€~}€~€€€}€~~~€~€~~~€€}~~€~~€~}€~€€~€}€~~€~~€~€€€~€~~~€}€~€}€~€~€~~~~~€~€~~~€~€€€~€~~€€~€€~~~€€‚~€}~€~~€€€~€}~€~€~€€}€}€}‚}~€~€‚€€€~~~~~€€~€€~€~€~€~}€~~~~€€~€~~€}€~~€~~~€}€~€€‚}€€}€}€~‚}€}€€}€~€~~~‚~€~€~€}‚€~€~~€~~~€~€~~~}~€~€~€}€~€€€~€~~€~€€€~~~€~€}€€~}~€~}€~~}€~€~~~~‚~€~~€~€}€~€~~€€~€~€~~~€~€~‚€€€~€~~~€€~€~}€~~€}‚€€}€~~€~€~€~‚€~~~€}€€€~~~~~~€~€~~€~~~~€€~€~~}€€~~~€~~‚~~~~}€~€~€~€~€~~~€~~€}€~€€€~€~~~~€~€€~~~€~€~€~~~~€~~~€€~€~€~€€~€~~~~~€~~~~€}€~~€~€~~~€~€~€€€~€~~~~€~€~~€~€~€}€}€~€~~€~‚€€~}€}€~~~~~€~€~€€~€~€~~~~€~€~~€~€€~€}~€~€}€~€~€~€~~~€€}}€~€~~~€~‚~€}€€~€~~€~~€~€~€€€€~€~~€~€~€€€~~~~€}~€€~~€~~€}~~~~€~€}€€~~~€€~€~~~~€€}€€~~€€}€~~~€~~€~€~€~€~~€€~€~€~}~~€}€€}€€~€~€}€~€€€}€~~€~€€}€~~~~€€~~~€€~€}€€€‚€}€~~€~€€€~~~€€€~€~€~€~€€€~~€€~€}~~€~€~~€~€~€~~~€~~~€~€~~~~~€€~€€}€~}~‚€~€~€~}€€~€}€~~€}€€~~€~~~€€€€~€~~€~€€~~~€}€~}€~€€~~~~€€~€~€~€€€~~~~~}~~~€~€~~~€~€€~€€}€}€€}€~€}€~€~~~~€~€€}€~~€€~€€~~€€~~€~~~€~€€}€€€€~€~~~~€~€€~}€~~~€~~€}€~~~~~~~€~€~€€~~€~€‚~€~~}€~~€€~€~~€~€~€~€~€~€€~€~€~‚~€}€~€€~€~~~€~~€~~€~~~~€€~€}‚~~~‚€~~€~€~}€~~}€~~€€€~}~€~}€~€€~€~~~€€~~€~~~€~€€~€~~~€€~~€‚~€€}€€~€~€~€~~}~~~~~€~€€€~€~€~~~~€€€€~€~€~~~€~€~~~~€€~€~}~€€~€}€~}~~~€€€€~€~~€‚~~€‚~€~€€~€~~~~~€€}‚€~~€~~~~~€}€}‚€~~~~€}€}€~€~~€~€~~€~~~‚~€~€~€}€~}}~€~~€}€€~~~~€~~€~~~€~€~€~}€~€€€}€~~€}€~€€~~€~~~‚~€~€~€€}€~~}~€€}€}~€~€~€~~€~€~€€~€~€}~~~~€‚~€~€~€~€~~€~€~€€~€~€~~€}€~~€~€€€~€~~€~€€€€~€~~€}€€€~~~€~€~€~~~€~€€~~~~~€€}€~€€~~€~€~€~~‚€‚~€~~€~€€~~€~€~~~€~€€€~~~}€~‚~~~‚~€~€}}‚€€~~~€~€€~}€~~~€‚~}€~€~~~~€~€~~~€€~}€~~~€€€}~€~~€~€}~}‚€~~€~}~~}€~€€~€~€~~€€€~€}~~€€~€€~}€‚~~€~€~€}~~€~‚€€~€~€~€~€€}€}~€~€€€~€}~~€~€~€‚~€€}€~~~~€}€~€~€~}€~€€~€~~~~€~€~€~€~€}}~€~€~~€€€€€~€~€~€~€€~€}€~€€~€~~~€~€~€~~~~€€€€~€~~~~€€~€~€€~€~€}~~~€~€~€}~~~€~€~€~~‚~~}€~~€~€€~€~~~~€~€€€€~€~~€~€€€~}~~€€€~€}~~€~€€€~~€~~€€~€~~€~~€€‚€~~~~€}€€€~€~~~~~€}‚€~~~~~€~€~}€~~€~€€€~€~}€~€€~~€~€~€}~~~~~€~~€~€~€}€}€~~‚~~~€}€€}€~~~~}€~~€~~~~}€~€€€~€~~~~~€€€~€~~~€~€~€€~€€~€~€~~~~€~}€€€~~€~~~€~~~€~~~€€~€€~€}~€~€€€}€~~~}€}€~€~€~€~~€~€~~~~€~~~€~~€}€~€€€~~€~~€~€}€€€€~~€~€~€~~€~€€~}€~~~~~~~~~~€‚}€~~~€€~€}~~~€~€~~~€~€~€}€~~~€€€€~€~~}€}€€~€}~€~~€~€}€~€~~€‚~~€~€~‚€~~€~€}€~~€~~€~€€~}}~~€~€~€€~€}€€~€}~}€~€€~€~€~~€€~€~€€~€~€~~€}€~~€€~}€}€~~€€~~~€~€€~€~€~~€~€~~€~€~€€~€}~~~€~€€~€~‚~€€~~~~~~€~€~€€~~€~€}€~~€~€~€‚}€~€}~€€€€~€}€~€€~€~~~€~€~€~~}€~€€€~~~€~€~~~~€}~~~€~€~€~~~€~€€~€~€~~~€€~~€~€}€€~€~€~~€}€~~~€~€~~~~}€~€}€~‚€~~~€~€}~~~}€~~€€~~€~~€~~~~~~€~~€~‚€€€€~€~~€~€~€~€~€~€~~€~~~~€~~~~€~€~€~€€~€~€~~€€~€~}~‚~€‚~€€~€€~~}€~€€~€~~‚~~€}€~€~€€~€~€~€€~€~~~€~€~€~~~€}€€€~~~~€€‚~~€€~~€€~~~~€€~€~~~€}€€~}€~€€~}~~€~€€€}}€~€€~€~~~€~~€~€~~€~~€~~~}}€€~~~€~€€~~€~~~~€~€€€~~~€~€~€~€€}€~€€~~~}~€€€€~€~~€~€€~~€~~€€€‚~~€~~~€~~€~}€€~~~~€€€~~€€}€}€~~~~€~~~€~~€~€~~€~~~€~€~€~€~€~€€~~€€~~€~~}€~~€€€~€~~€€~~€€~€~€€~€~~€€~}€~~€€€€}€~~}€~€~~€}€~€~~€~€}~€}€~~~€~€}€~€~~~~€~~~~€€€~~~}€~€}€~~€~€€€~€~~€~€€~~~€~€~~~€}€€~€~~€~~€€~€~~€~€€~€~~€~€€€~~€~€~~~~€€}€~~~€~~~€~‚~€€€€~~€~€~€~€€}€~~~€~~€~€}€~~€~€}€~€~~€~€}€~~€~~~€~€}€~€~€~~€~€€~€~~~~€€€~€~€~~~~€}~~~€€€€~€}}~€€€~~‚~~~€~€~€~~~€~€~~~€~€~€~~€~€~}~€~€€€€~}€~€~~‚~€~€~~~€~~€~~€~€~€~€€~~~~€€~~€}€€~}€€~€}€~€€}~~~€~€~€€€~€~~€}€~~~~~€~€~€~€~€~~}~€~~€~€~€€€~€~€~€~€€€~~€~~‚€}~€€~~€~€~~€~~€~€~~~€€€~~€}€~€~€~€~€~~€~€~€}~~}€~€~€€~€~€~~€~€~~~€~€€‚}€~~‚~~€}€€~~€}~~~€}€~€~~~€~€€~€~}~€~~€}€€~}€€~€€~}~€~€}~}€~€~€~~€~~€€~€}€}€~}}~~€€~€~~~€~~€€~€~~€~€€€€~€~~€~}€~~€~€~€~~~~€~€€~~€€~€€~€~~€~€€€~~}€~€~€~€~€}€~€~€~€~€~~}€~~€€~€~~€~€~€~€}‚}~€}~€~€~€€~~€~~~€~‚€€€€~~€~€€}€~€~€~~~~€~~~~~‚~€}€€~€~€}~€~}€€~€~~~€~€~~€€~€~~€~€~€€‚}€~~~~€}€~~€€~€~€~€~€~€€~€~€~€~€~€~~~~~€}~€~}}€~€€}~€~~€~~€~€~~€~€~€~~€€~€~~}€~~~~€~~~€~€€~€€~~€}€~€~~~€~€~€}}~€€‚~€€}€~€}~~}€~€€~~~€}€}€€~€~€~€~€~~€~€~~~~€}€~€~€€}€~}~€}€~€}}€~}~€~€}€~€~~~€}€~~~~~€~€~€€~€~~~€~}€~~~€~‚€}~€}€~€€~€~€€~€~~~}~€~~€~€~€€}€€~€}€€~€~~€~€}~}~~~€}€}€€~~~€~~€~€€~€}~€~~~~~€~€}€}€~€~~~€~€€~~~~€~€€€€~€~~€~€~€~}~~€~~€~~~€€‚~€~€~€€}~€~€~~~€}€}€~}~~~€~€€~~€~~€~~€€‚~€}€~€€~€~€}~~~€}€~€~€~€€~€~€~€~€~}~}€~€~€~~~€}€€€}}€~}€~€~~€~€~€~€~~€~~€€~€~€~~~€~€€€~€~~~‚€€~€}~€}€€€~€~~~€~€~~€~€€€~€~€}€~~€~€€~~~~~~€€~€~~~}€~€€~€}}€€~~€~~~€~~~~€}€~€€~~}~€~€~€~~}~~~€}€~€~~~€~~~€~~€€€€~~€~€€€€€~~€‚‚~€~€~€~€~~€~}€~}}€~€~~€~€~€~€~~~~~~€~€€~~~~~€‚~€~€~€€}€~~€~~€~~€~€€~€~€}~~~€‚~}~€~~~~~~€~€~€~~€~€~€}~€~~€}~€~€~~€}€~€€}€~‚~~~~€}€€~€}€}€~~~~~~€€~€~~€~€‚~~~€~€€~}€}€~€€}€~€~€~~~~~€}€}~~}€~€~~€~€~‚~~~€~€}~}€~€€€€~€~~€~‚}~€~}€€~~~€~~€€~~~€€~€~€~~~~~€}€~€€~‚~~~}€~€~~~}€~~€~~~~~€~€€~€~€}‚~~€}€€~}€~~}€~€€~€}~~~~€€€~€~~~€~€~~€~~€~~~€~€€€~€~~€}€€€‚~}~~€~€~~~~€~€~€€€}€}~€~€~~~~€}~€€~‚~~€~~~€}~€€~€~€~€~€~~~€~€~€~~€~~€~~€~€€€~€~~~€~~€~~~~€€~€~~€€~€~~~~~~~~~€~€~~~~~€}€~€~€€€}€~~}€~~~€€~€~~~€~~€~~€}~€~€}€~€~}~~~~€€~~~}€~~€}~€}€~€€~€~€~}~~~€~‚~€~€}€~€~~€~€~€€~}~€€~~€~~~€€~€~~}€~~~~€~€~€~‚€~~€~€~€~€~}~~€}€~~€~~~€€~€~€}€~~€~€€~€~}€~€~€~~€~~€~~}€~‚~€~€€}€~}€~~~€~~€~€€~}~~~€}~€€€‚~~~~€~€€~€~~€~€€~€~~€}€€€€~}€~~€}€€€€}€~€}€€~€~€~~€}~€€~€~~~~€~€~€~~€~€€€~~~€~€€€~~€~~~€€€~~~€€€‚~€~~€€~€~€~€~€‚~€~}~€}€~€~~‚~~€~€~€€}€}~~€~~€€~€~~~€}~€€~€~~}~€€~€~€~~~~‚~€~~€~~~~€~€€€€~€~~~€~€~~~~}~€~€€~€~~€€~€€}€~€~€~€~~€~~€~}~~€}€~~€~€€~~€}~€}~€~€~€~~~~~€€€~€~~€~€~~~~€€‚~~€~€€€~€~~~€€~~~€~€€€€~~~€€}€}€€~€€}€}€}€~~~€~~~‚€€€€~€~~~}€€€~€~~€~€€€€~€~€}‚~}€~€~€}€€~}€~~~~€~€~€}~€~‚€~€~~}~~€~~€~}€~€€~~~€€~‚~~~€}€~€~€€~~~~~€~€‚~€~€~€~€~€~€~€€‚€}€~~€~€€€~~~€~€€~~€~~~~~~~€}€€}€~~‚~~€~}~€~~~~€~~€~~€~~€~€€~€~€~€~~€~€€~~€~€~€~~~€~€€€~~~€€~~~€~€~~~~~€}€~~€~‚€€~€~~€~€€~€~€~~~~~€€~€~~~€~€~€~~€~~~€~€~€~~~€€€~€~€~~~€‚~~€}€~~€~€~~~~€€~€€~€~€~€}~€~€~€‚~~~€~~€€~~~~~~‚€ƒ~}€~~€~~}}~€~€€~€‚}~~~~€€‚~€~~}~‚~€€~€~~€~}€}€€~~~~~€~€~~€€~~€~~~€€€~€~~€~~~~~~€~€~€~~~~€€‚~€~~~€€~~~~~€~€~€~€€~~€~€~€~€~€~~€€~~€~€~€€~€~~€~€~~~}€~~~€~€€~~~~}~€~€~~€~€€}€~€~~€€~€~}~€~~~€~€~~~€}€~}€~€~€~‚€}€~€~~€€~~€~€€‚~€~~€~~‚€€‚~€~~~}€€‚~€~~€~€~~€~~}€€€€}~~~€€€€€~~~€~€€€~~€}~~‚€‚~~€~€~~~~~€~€~~€}€~€€~~~~~€~}€~~€€~~€~€}€}€~€~~€~€~}€~~~€~€~‚€~~~€~€~€}€€~}~€~€}~~~~~~~~}€~€€~~€~~~~~€~€}€~~€~€~~~‚~€}~~~~~€€~€}~€}€€€~~€~~€~~€‚}€~~~€~}€}€~€~€}~~€~€~€}€}€~~~~~€€}€~~€~~€€€~}€~€~€~~€~~€€}€~~€~~~€~~€~€~€~~~€~€~€~€~€~€~~€~€€€€‚~€~~~€€€~€~~€~€~€€~~€~~}€~~€~€~~€~~~}€~}€€~€~€~~~€~€€}€~~~€€~€~~~€~€€~‚€~~€‚~~}€~‚€€€~~~€~€~€~€}€~€~‚~~~€~€~€~~~€€€~€€€€~€~~€~€€~}€~~€~~€€~€~€}€~~‚~~€~€}€~€}€~~~~€€~€~~~~~€€~~€~~~~€€~€~~~€~€}€€}€}€~~€~~~}€~€~~€~~~€~€~~~~‚€€€€~€~~€~€€‚}~€‚~€~}~~€~€€€~~€}€~}~~~€}~€~€€~€}‚€€~~‚€}~}€}€~~~€~€€~€~~‚}~€~€}}€€€}€}~€~€~~~€~€}€~~~€~~€~~€~‚€~€~‚€~~~‚€~€~€}€€~‚€~~~~€~}€€€~~~~~€€~~€~~~~€€~€~€~€~€~~€~€€€€~~~€~€€€~~~}€€~€~€}€}€€}€€~€}€~~~€~~€~~~€~€~~€€~~€~€~~~€~€~€~€~€}~~~~~‚€~‚}~~€€€~~~~€~~€}€~~~‚‚~€~€}€~~~}~€~€~€~€~~~€~~€~~€~€~~~€}€~€~€~~€}€~€~€~‚€~~~€}~€€~~~€~€~€~€~~~~€~€€€~~€~~~~€€~€€~~€}€~€~~€~€€€€~€}~€~~~€‚~€~€}€€~€~€~~€~~~}}€~~~€~~€~~~~€~~€€~€~~}€€~~~~€~~~€‚}€~€~‚€€€~}€~~€~€~~€€~~~€€}€~€~}€~€€€~€~~~€€€~}€~~~€€~€~}€~‚€€~€~~}€~€€€€~}~€}€€€~~€~}€~€€~€~}€~€~~€~‚~€€~~€~~~€~€€€~€~~~€~~~€€~€€~€~~~}€~~~~‚}~~€~€€~€~~‚~~~€~€€~€~~~~€~€~€~€~~€}~~}~€€~€~~~~€€€}€~~~€~‚€~}€}€€€‚€~~}~€}~~€}€€}€~~}€}~€€€€~€~~~~~€€€~~~€~€€€~€~~€~~€€~€~€~~~€}€€~}€€}€~~~~~€‚~~~~~~~€~~~~€~~~~}€€€~~~~€}€~€~~€}~€~€~~€~€~~~€€~~~€~€~€~~~€‚}}€~~}~~€}€}€~~~€~~€~~~€~~€~€~~€€€~€~€~}€~€€~€}~€}€~~~€~~€€~~€~‚~€€~€~~~€~€~€~~~~€}€~€}€~€~~~€~€~€€~€~~~€}~€€€~€}~€~€‚~€€~~€~€€~€~~~~~‚€~€~~~€~€€~€€~€~€~€€~~€~€€‚~€~~€~€€~€~€~~~€€~‚€~€~~‚~~~€‚}€€}€~}~~~€}€€~~€~~€}~€€~€~~€~€~}€~~~‚€}~~~~€}€~‚~~€~€~€~€~~~€~€~}~€~~~€~€~€~}€~~€~€~~~~€~€€~€€~~€}€~€~~~€€~~€~~€~€~€~~~€~€€€~~~€}~‚}€}€~~€~~‚€~}~‚€~~}~~€~€~€~~~€€~~€~~€~~€~~~€~€~€€}€€}€~~€~€}€~~€~€~€~~€~~~}€~€~€~}~}~~€‚}€~‚~€€~~‚€~€~€€~~€~€~~}~€~~€~€€}€€}~€€~~~}€€~€€~€}~~€~€€~}€}~~€~~€~}~~€~€~~~€~€€~€~~€}~€€~~~~~~€€~~~~€€~€}~~€~€}€~€€}~€€~€~€~~‚~~€}€€~€~~}~~€~€~‚~€~€~~~€~€€~~~~€~~€}€~€~€~€~€~~~€~€~~€~~~~€€~€~~€~€~€~~€~€€~€~~€~€€€~€~€}€~€~€}€}€~~‚€~€}€€€€}€~~~€~€~~€~~€~}€~€€~€~~~€~€‚~€~€~‚~~~~~€€~€}~€~€~€€}€~~~€‚~~~€~~€~€~€€€~~€~€~€}€~€~€€~~€~~~€}~€~€~€‚€‚~~€~€€€~€}€~€~€~~~€€€~€~~~€€€€~~~~~€€}€~}€‚‚~€~}€~€€~€~~~~}~€~€~€~€~~€}€€€~~~€~~€€€~€~€~~€€~€}~~~~~€~€~}~~€~€€~€}€~€}€~€~~~~€€~€}~€~~€€~~~‚~€€~€~~~€~€€~€~€~~€~~~~€~€~€€~€€~€~€€~~~~~~~€~}€€~€~~~~€‚}€~€~€~~€~~€~€€~€€€~€~}~€€~~~~~~~~€}€€}~~~~~€‚}€~€~€~€~€~~~~‚~€€~€~~~‚€}€~€~€~€~}~~~~€~€€~€~}~€~€~€~~~~€}€~€~~~~€~~€€~~€~~}~€}€€}~~€~~€~~~€}€€~~~€~~‚€~~~€~€~€}€}€€~€~~€~€}€€}€~~~€~€~~~~‚€€€~€~~~~€~€~~~~~~€~~€~€}€}~€~€~}‚€}~€~€~€}€~}€~~€~€€€~€~~€}€~}€~€~~~~~€}€€~€~€~‚~~€~~~~~€~~€€~€}€~€~€~~~€€~€~~~~€€~€~~€}‚€~~~~€~€~€~~~~~€€€~~~~~~€}~€~€€~€~€~~€~€~}€~~€~€~€~€~€~~~~~~~}€~~€~~~~€€€~~€€~€€€~€}‚}€~€}€~}€~~€~~~€~€€€~~€}€}€~€~~€}€~~~€~~€~€~€~~€€~€€}€~€€~€~€~€€~€~~€~€€~~~~€€~~}~€~~€‚~€~~€~€€~~}€~€€~~~~~€€~}~€~~‚€€‚~~€}~~€}€€~~}€~}~‚€€~€}€~~~~€~€€€}€~~~}~€~€~}€€‚~€~~€}‚€~~~€~‚~~€~€€~€~€~}€~€}€~€~€~€~€~~€~~~€}€~~‚‚~~€~~~€~€~~€~€}€~€~€~€~~~~€~€€~€~€~~€~~€~€~€~~~€€~€€}‚€€~~€~~~€~€€~~~~€~€~€~}€~€~€~~€~~€€~€}€€~~}€~~€€}€~~~€}€~€€€~€~€~~~}~~€€~€~~€}€~€~~€~~‚~~~€€~€€€€~~€~~~€~€~€€}€~}€~€~€€~€}€~€~~€~€€€€€~€~~€~€€~~€~}~~~~€~~~~~~€}€~€~€~‚~€~€~~€~€€~€~€~~€~€~~€~~€€€~€~~}~€~~€}~~€~€}€€~€€}~~~~€~€~€~€~~€~~€€€~}€~~€~€€~€~}€~€~~}~~€€~€€‚~€}€~}}~€€~~€~~€}€€‚~~~~~€€~€~~~~~€~€}€~~€~~~}€}}€€}€€~~}€~~~~~€}~€€€~€}~~€‚~€~€€~~€~~~~~€~€|}€}€~~~€~~€€€€~€~~~~€€~~€~~€}€~~€~~€~€~€~€€}€~€~€~~}€~€€€€€~~~}~€~€~~~~€€~€}~~~~~€~~€~€~€~€~~~€€~}~~~€‚~€}~~€€€~€~€~~~€€~€~€~€~‚~€~~€~€~€~€}€~~~€~€~€~€}~~~€~€~€~€}~~~~€€‚~€~€~€~€~}~~€~€~€€~~~~~€~€~‚~~€‚~€}~€~~€~~}€~~€~}}~€€~€~~€~€~€€€€~~~~€€€}€~€~€~~~~~~~€~€~~~~€~€‚}€~~€}€€~}€~~€~~€~~~€‚~~€‚}€}€~€}€~~~~€~€~€~~~€~€}~€~~€€€~~~~€~€€~}~€~~‚€€~€~€~€~€}}~€~€}€€~€€~~‚~~~~~€~~~€~~~~€~€~~~~€~~€}}~€~€~€€~€~~€~€~~€€~‚€~~~‚€~~~€~}€~€~~~€~~€€€~~€~€~~€~€~€~}~~}~€€€~}€~~€}€€€~~~~~€€€~€~}€~€~€~€~€~€~~€~€€€~€~~€~€€~€}~~€~€€~~~~~€€}~€~€€€~~~~~€‚~€~€€}€~€~}}€~€€~€}~~€~~€€~€~€~€~€}‚~~}€~€~€~~~€~€€~~~~€~€~~€}€~€~€~~€~€€~~~€}€€~€~~~~€~€~€€€‚~~€~}€~~€~€~€~€~~‚~€~€~}~€€~€~~~€~€~~~€~~€~€~€~€~€~€~€€~~€~~~€€~~~~€€~€~~~€~}€~~€~€~~}€~~€€~~~€€}€~€~€€~€€‚~€~~€}€€~€~~~~€~~~€~~€€€~€~€~‚€€€~€~~~~~€‚~€~€€~~€~~€~~€}€~~~}~€}}€~€~€~€~~~€~~€~€~~€~€€€~€~~~~€~€~€}€~~€~€€~€~~~~€€}€~~}‚€€~€~~~~~€€€~~~~€~€€~~€~€~€€~€}~€~€~€~~€€€~~~~€~€~€€~€~~€~€€€‚~€~~~~~€~€~€€~€}€€~€~~}~€€}€€}€~~€}~~}€~~€€}€~~~~€~€~~~€€~€€~€~}€€~~€~~~~~€~€~~€~€}€~€~€~€~~~‚}}€€~~~}€~€€€€~~~~€~€‚}~~€}€~~~~€€€€~€~}~~‚~~€}€}~€~~~€}€€~~€~~~‚€}€}~~€~€€~~~}€~€~~~€‚~€~~}~€~}~€~~€~}€~€€€~}€~~€~€~€€~~€~~~~~~€~€~€~~~€~€€}€~~€~~~~€~€~~€~~}‚~€}€~€}€~€~~}~~€~€~€~€€~€€~€€}€~€~€~€€~€~€~~~€~€€~€~~~~€}€€}€~~~~€~€~€~‚€€~~€~€~€~€~~~}€~€€~~€~~~€~€€€~€~~}€€}~€~€~~€~~€}~~~€€~~~}€~€~€€}€~~~€~€€€€~~~€€€€~€~~€}‚€~€~€~€€~€~€~€~~€~~€~~€~~~€~€~~€}~~€~€€~€~}~‚~€~~€~~}€}‚€‚~~~€€~€~€~€}€€‚~~€~~€~€€~~~~}~€€~€~~~~~€~€€~€~}€~€€€~~~€~~€€~~€~~}~€€~€~~€~€~€~~~€~€~~€€}€~€}~~~€}€€~€~€~~€~€€~€~~€~~~€~}€~€~~€~~~}}€€~€}€€€~~€~~€}~€~~€~€~~}~€€~~~~~€~€€€~~~~~€~€€~€~€~€}~~~€~€€~~€}€~~~€~€€~€€~€~~€~€~€~€~~}€~~€~~}€~€€‚}€~~‚~~‚~~€~€€~€~~€}~€~€}}€}~€}€}~€€€€€~€~~~€€~€~~~~€}~~€}}€}€€}~}‚~~€‚~€~€~€~}‚~€~€€~€}}€~€~€~€€~€~€~~~}€~€€~€~€~~~€~€€€~€}€~~€~~‚~€~€~€}~~~€}€€~~€~~€€~~€~~~€~€‚~~~€~€~€~~~~€~~~~€~€€€~~~€~‚€€~€~~~~€~€~~~~~€€~}~~€~€€~}€~€~~~~~€‚}~€~€€~~~~~}~€~€€~€~~~~€~€€~~~~€~€~€~€€~}~€~€~~~~}~€}€€~~€~~€~~€~€~~€~~€~€~€}€~€~~~€}€}€~€~~~€}€~~€~€€€€~}€~€~€~€~~~€~~~~€~~}€~€€~~‚~~}~€~€€}~~~€~~~~~‚‚€~~~~~€€€~€~€~~€~€€~~~~€~~€€~€~~€}€€~€}€~~~~€€€~€~€~~€~€~€~€~€€~€~€~€~~}€€~~€~}~~€~€~~~~~€~~€€~~€~}€~€€~€~~€~€€~€}€~~}}~€€~€}~~€~€~€€}~€~€~~€~~‚€€~€~~~~€‚~~~€~}€~~~~~}€€}€~~~‚‚~~€~~~~~~€}~€~}€€~€~€~€~€~}}€€~€~~€~~€~€~~€~‚~€~~€~€}~~€~€€~€€~€}~€~€~~€~€~~~~~~€~€~~~}€~€€~}~€~~~~€~€~€~~~€~€€}€€~€~€~€~~~‚~~€€~€€~€~~~€~~‚€~~~‚}‚~€€~€~€~€~€}~€~€€€~~€~~€~€}~€}€~€~€~}€~~€~€}€~€~~€~€€~€~~~€~€~}~~~~~~~€~€}~€~~€~€}~~€}€~}~~€~€~€~€~€~€}€€~~~}~~€~~€~}‚~€€}€~€~€~€~~~}‚~~~€~€~~~€~~€}€€}€~€€}~~}~€€~€~€~~~€~€€}~~€~‚~€€~~€~}€€~~€~€€~€~€}€€~~~€€~€~€~€~}~~~€~~€~€~€€~~€~~~~€€~€~~}~€€~€~€€~~€~~€€~€~~€~~€€€~€}€~€~~~~~€‚~€~~€~~~~€~€~€~~~}€~~~€~€€~~€}€€~€~€~€€~~~~€}€~€~~~€~€~€~€€~€~~~€}€€€~€~~€~€€~€~~~€€€~€~~~~€€~€}~~~‚‚~~€~€‚~~~~€}€€‚~~~~~€€€~~~~€}€€€}€~~~~~€~~€~€~€‚}~€~€€~~~}€~€~~€~€~~~€~€~€~€~~~}€€€€~}€~~€~}€€~€~€~€~~~€~€~€~€~~}}€€~€}~~€}€}€€~}€~~€~€€~€~~€}€~€~€~€~~~€~~~€}~‚€€€€}~€~~€}€~~‚~~~‚€}~€~€}‚€~~€}~€~€~~€~€€~}~~€€€~€~~‚€~}~€~€}~}~€€~€~€~~€~€~€~~€~€~€€~€}€€~€~~€~€€€€}~~~~€€~~~~€}€€~€}€~~~}}~€€€~~~€}€~~€~€~~~€~~€~€~€~€~€~€~€~~~~~€‚}€€~€~€~€~~~€~€€}€~€~~~}€~€~€~€~~~~€~~€~€~€~~€~~€}~~€~€~€~~€~~€~€~~~‚~€~€~€~}€~€~€}€~~€~~~}€~€~€~~€~€€}~~~~€~€~~~~€~€~€€~€~~~~~€~€€~€}€~€}~~~~€~€~€~~~‚~~€~~€~~~€~~‚€}€~€~}~~~€~€€}€~€~‚€~}€~~~~€~€€~€~~€~€€~€~~~~€€~~~€€€~~€~~€~€~€€}€~~€~~€~~€~€}€~€~}€}€}€€~€}~€~€€~€}€~~~€€~~~€~€~€€~~~€}€~€~}€~~€~~€~~~€~~~~~€~€~€€~~€~€€€€~€~~~~~€~€~~€}€~€~~€}~€~€€€~€~~~€~‚€€~~€}€~€€~~€~~~€~€~}€}€€~€}~€€}€~~~~€~€~€~~~}~€~}€~€~~~~~€€~}€~€€}‚€~€€~€}~}€~~~€~€~€}€~€~}‚~~€~€~€~‚€~~€€~€~~€~~€€€€€~€~€~€}~€€}~~}~€€€}€~€€~}~~~€~€~~~€~~€~~€~~~€€€€€~~€~~€~€~~€~€~€€‚€~€€}~€€~~~~~€€~€~~~€~€~~~€~~€}~€~€~€~€~‚~€€~€€~~~~}~€~€~€€}~~€€€~€~~~€€€€~€~~}€~€~€~~€~~€~€€€~€~~€€~€~~€~€~€~€€}~~~€~€€}€~~~~~€~€~~}~€€~~~‚}~€~€€~~€~~~€~€€}‚€~€~€~}~~€~~€€~~€€~~€€€€~€~~}~€~€~~€€~€€~~€€€~€~~~~€~~~‚€~~~€}€~~~€~€~€~€~€~~~~€~~€~~~~€~~~€}€€}€~€€~~~~€~€}€}€}€€}€~€~~~~€~€~~€~€‚~~€~€~€~~~€~€€~€~€~~~~~~€~€}€~€€~~~~~€~€€~€~~€~€€~€}~€~}~~}€~€€~€~~€~~}€~~~~€~~~€~€€}€~}~€~€‚~€~~€~~~€~~~~~€~€}€€~~~~€~~~}€~~~}~~€~€}~~~~~€}€€~€~€~~~€~€~~~€}~€~€~€€}€~~€~~~€}€~€~€~€~~}€~~~€~€€~€~€€~€}€~€~€€€}€~~~~~€‚~}€€~€~~~€}~~~€}}€‚~~~€€~€~€~~~€~€~€~~~€~€~€}€~€~~€€€~~‚€€~€~‚~€~€~€€~€~€}~€~‚€}€~~€~€~€€~€~€~€~€~}€~€~€~€~€€~€~€}~~~~€€~~~~~€~€€€~€~€~€~€~~€~~€~€€~€~€}}€}~€~€€€€~~€~~€~€~€€~}€}€~~‚~~}€~€~€~~~‚~€}€~€}€~~~€€~~~€~€}€~€}€}€~~€~€€‚€~}~~~~~~€€~€}~‚~~~~€~€€€~~~€~€€€€~€~€€~}€€}€~€€~~€€€~~~€~~€}~€}€~€~~~€~~€€€€€~€~€~€~€~~~‚~~€~€~€~~~~~~€~€~€€€~€}~}~€€€~€~~~~~€€}€}€~€~~€~€~€}€~~€~€~€€~€~~~~€~~~€~~‚€€€~~~€~€€€~~~€€~~}€~}€}~~€~€~~€~€~€~€~}€}€~~~€~€€~€~~~€€€}€}~~€}~€~€~€~€~€~€~€~€~~€~~~~€~€€~‚€~~€~~~€€~€~~~€~}€~~€~~€}~€€~€~~~€}~€}€€~€~€€~€~€~~€~€~€~€~€~€~€€~~€~€€€‚~~€~€€~€}~€~~€}~€~€~€€~€}€~~‚€‚~~~€}€~€~€~~}€~€~€~~€~€~€€€~~~~~~~~€~€€}‚€~~€€}€}~~~~€~~€~€€~~~€‚~~~€~€~€}€}€~~€~€}~~~}~€€€€~~~~€~~~€~~~~€€}€~~€~€€€~€~~~~~€}~~~~~€}€€€~€€~€€~~€~~~~~€~€~€~~€}€€}~~€~€€~€}€~€~~€~~~€~~€~~€~~€~~~}€~€€~~~~~€~~€~€€~~~€}€~~}€}€}~~€}~€€~€}~~€~€~€~€~€~~~~~€€€~€~~€~€€~~€~~~€~~€~~~€~€~€~€~€}~~€}~~‚~€~~€€~~~~€€}€~~~~‚~€~~€}€€~€€~€~}~~€~€€~€~€~}€~€€€~~~~~~~~~~}€~€€}€}€~€~~~~}~~€€~€€~€~€~~~€~~~~~€~€~~€€~~€~~€~€€~€~~~€€~~~€~~€€€~€}~~~~€~€€€}~~€}€~€€€~~~}€}€€~€~~€~€~€}~€~€~€~€~~~€~‚€~€~~~~€}~~€}€~€~~~€~€~€~~~€~€€€~€}~~~€~€€~€~€€~€~€~~~€~€~€~€}~~~~~~€€€€~~~€‚}€€~~€}€~~‚‚~€~~~€}€€€~€}€~~~~€~€€€}€~~~~~€€€€~~~~~~€~~~€~~~€~}~€€€€€~~~~€~~€€~~~€€€€}€~~€~~€€~~€~€~€€~~€~~}€}€€€~€~~€}€~€~€~~€~€~€~€€}€~€}~€€€}~~€~€~}€~~‚€~€~~~€~~‚€~€~}€~€€~~~€~€€~~~~€~€~€~~~}~~€€~‚}€~}€~€€€€~~~€}~~~~€€~€€€€}€~~€~€~€~€~€~€€~~€~~~~~€~€~€~€}€~€~~€~€€‚~~~}~€}€~~}€~€~~~~€~€€€€~€~~~€~€€~€}~~€~‚~€~€~~€~~~~€~€~}€~€~€~}~~€€€~€~~€~€~~~~~€€€~~€~~~~€~€€‚~€€~€~€}~€~~~€~€~€~€~€€~~€€~~€€~€~~~~~€}€~€~€~€~~~€}€~€~€~~€€€€‚~€~~€~€~€‚~~~~~€~}~~€~~€~€~€€~~€~€€€~}~~€~€~€€~€~~€~€€~€~~~€€‚~~~€~€€~€}~€~€~€~~~~~~€~€€€€~~~€~}€€~€~€€~€~€}~~~€~~~€€€~}~€~€~€~€€}€€}€~€~€€~~~~€~€~~€~~~~~€~€€~€~€~}€~€~~€‚~~€‚~€~~€~€~€~~€~~~€€€~€~‚€~~€~~€~~€}~€~~}~€~€~~~€~€€~€~€~~~€~€€~€}~€~‚€}}€~~~‚€~€}€~€€~~~€~~~€~~€€~~~~~€~€~~~~€~€~~€~€~~€~~~‚~€~€~€€}€~~‚~€~€~€~€~~€}€€~€~~~€~€}€~~€~~~~~~~€~€~€~~€€€~}€~~€~~}€~~€~€~~~€~~‚€€~}~~€~~‚~~~~~€€~€~€€~~~}€~€~€~€‚~~~€}€}~~~‚‚~€€}€~~}€~€€€~€~€~~}~~€~€~€}€€}€~€€€~~€~~~€~€~~~€€~€~€€€~€~~€~€~€}€~~}€~€~€~€€~€~€}€€€~€}€~~~‚€~~€}€€~€~€~€~~~€~€€~€~}€~€€€€~~~€}~~~€~€€~~€~~~~€€~€~~€~€€}~‚~€€~~}€~€}€~€~~~~€~€~€~€~~€~€€€~~€~€~€€~€€~€~€~€~€~~€~€~€~~~‚~€~€~€~€~‚€~~€€~€~~€~~€~€~~~€}€~~€~€}€~€~}~~~€~€€~~€}‚~~€€~€~€~‚~~~~€}~€€€€~€~~€}€€~€~~‚}~€~€~}€~€~‚‚~~}~€~€~~~~€~~€~€€~€}€~€~~€~‚€€€~€}€~€~€~~€€~~€}~€~~€€€~~~€~€~~€}~~~~~€~€}€}~€}~€~€~€€~€€~~~€~€~€~~}€~€€~~~€€~€~~€~€€€~€~~}~~€~~€~€~€}}~}€~€€€~€~}~€~€~~~~€}€€~€~€~~€‚~~~~€~€~€}~€€}€~~€~€€~€~~~~€}€~€~€~€€}€~€~€~~~‚~€~~€~~}€~€€~€~~€~~€}€~€~€~~~~€~€€€~~€~~€~€~~~~€~€~€~€€~€~}~~€~‚~€€}€€~~~~~~€~~~~~~€~€€~€€~€}~~~€}€~~~~€~€~~~€€~~~€~€€~}€~€€€~€}~~~€€€~€~~€~€€€€~€~~~~€€~€~~€~€~€~~€~~€~€~~€}€€}€~~}€~~€~€€~€~~~~~~€}€~€~€~~~~}€}€€~~}~~€~~€~€€€~~€~~}€~€~~~~€~€€€~~~~€}~€€~€~€}€~€~~€~~€}€€~€~€~~€~€~}~~€€‚~€€~€€~€~~~~~~€~€~€~‚~}€}€~€}~€~~~€‚~€~€€~€~~~€€~~~€~~~€€~€~€~€}~~~€~€~~€€~€‚~€~~€~~~~€~~€€~€~€~~~~~~~€~‚€~~€€~~~€}~€€~€}~€‚~€~~~€~~€€~~~€~~€€€~€€~~~€}€~€~~€~~~~€~~€~~‚}€~€~€€}€~~~€}~}€~€€~€}€~~~~€~€~~~€}€~€~~~~~~€~€~~~€~€€~€~~~€~€€~}~€~€}€}€~~~‚~€~€~}€~~~~€€~~€~~€€€~~€~~€~€€€€~€~~~~€€~€~€}€~€€~~€~€~‚~~€€~~€~~}€~€~€~€}~~€€~€~~€~€~€}~€~}€~}~€~€~}~~€~€~‚€€~~~~~~€€~~~~€~€~€~~€~~€~€€~€~}€~€€€~€}~€~€~€~~€}€€~€}~~€~€€€~~€~~€~~‚€~€~~}~€~~‚€€€~~~€}€~€~~~€~€~~~}}€~€~~}€€‚~~}€~€}€~~~€}~~~€€~~€~€€~~~~~€~€}€‚~}€~~~€€~€€}€~~~~€~~~€~€€€€~~~€~}~}€€~€~}~€~€~~€~€~‚~€€€~€~€}‚~~~€~€~€€~€~}€~~~€}€€€~€~~~€}~€}~€~}~~~€~‚~€~€€€~~€~~~~€~€€‚~€~~~€}€~~€~€~~€‚~~~€~€€~~€~€~~~€~‚€~~€~~~€~~€~€~€~€~~€~€€€}€~€~~€~€~€~€€}€~~€~€~€~~€~~€€€~€~€~€~€}€~~~~€~~~~~~€~~~~~~‚}~€€~}€~~~€}€}~€€~€~~€~~€€€}~~€~€€~€~€~}~~€€€~€~€~~~~€}€€~~~~~€€~~}~~~€€€~€~~€~€€~~~€~€€~~~~€~€€€}~€~€€~~~€~€€~~€~}€~€~€~~~~€€}€€~€}~~~€€€~€~~€}€€~~~~€~€€~~€~~€}€~€~€€~€~}~€}~€€€€~~€€€~€}€€}€~€~~€~~€~~~€€€~~~~€}~€~}€€}€~~€~~€~€€~€}~~~€~€~}~€~€€~~~~~€~€}€~~‚~~~€~€}~~~€~~€~€}€€~~~~€~€€€€€~}€}~€~€€~}€}€~€~~€}€~€~~€~€€€€}~~~€~‚€€~‚~€}€~~~€~~€€~€~~€~€€€}€~~€~€~€~~‚~~~~€~€~€€€~€~~€~€€€~~~~€€~€~~€~€~}~~~~}€~€~€~€~€}€€~€~~‚€‚}€~€~€~€~~€€}€}~}€€~~~€~~€~~€~€€~~}€}€€~€~~~€~€€~€~€~€~€€~~€}€€~~~~€€~€~~~€~€€~€~~€~€~€€}~~€~‚~€~€~€€}~~}~€~~€€€~€~~€~€€~€~~€}}~}€}~€~€}€~~}€}€~€~€~€~~€€€~~}€~~€}€€~~}€~~~}~~€‚~€€}€€~€}€~~€~€~€~~€~~€~€~€~€~~}€}€€}€~€~€~~€}€€~€~‚€€~~~~€}~~€~~€}€~~€~€€€€~€~~€}€€~}€~€€}€€~€€~€~}€~~~€}~€}€}~~€~€~}~~€~€€~~€~€~~€~€}€~€€~€~~€~€€‚~€~~€~€~‚€€~~€}~}€~€‚}~~€~‚€€~~€~~€}€~€~€~~€~€€€€~€~~€}€€€~€~~~~€€€}€~€~~€~~€~€~~€~€~€~‚€€~~~~€~€~€~€€~€€~~€~~€}€~}€~~}€}€~€€~€€~€}~€~}€}€~~€}€~~~€}€~~€}€€~€~~€~€~~€~}~€~€~€~~~€~€~~~~~~€~~~€}~€~€~~€~€€€~~~~€}~€~€}€~€~€~~~€~€€~~~~€~€€~}~~~€~€~€~~€~~~~€€~€~~€~€~€~€€‚~€~€~~~€~€€~~€~~€}€~}~~~€€€~~~€~~€~~~~~}~€~}~~€~€€€~€}~~€~~€~}~€~€€€~~~~€~~~€}~€~~€~~€€€}~€~~~~~~€}€€~}€}‚€}~~€~€€~~~~~~~~~€~€€~€~€~~€}€~~€~€~€~~€~~€€€~~~~}€~€€€~€€~€~€~€~~€~€€~€~~~€~€€}€~€~€€€~~€~~~€€~€~~€~‚€~‚~~€}€€~~€~~~€~€~~~€~€~€~€}€~~~~€~}€~}‚~€}€€~€~~~€~‚€€~}€~}€€€~}~€~~~~‚~~€~€}€€}€~~~€~€€€~€~~~~€€~~€}€~~~~~~€~€~€~€~~~€}~€€}€~~~~€}€€~€~€~~~~€~€~€€~~~~€~€}€€~~€~~~~~€~€~~~€}~€€~~€~~€~€~~~€~€~€~€€~€~€~€~~€€€~~~~€€~~€€}€€~}€€~€}~}€~~€€~€~€}€€}€}~}}~€€}€~}~}€~~€€~~~~~~€€€€~~~~€€~€~~~€}~}€~€~€~€~~~€€~€}~~€}€€€€~€~}€~€~€~~~€€€~€~~~€~€€€€~~€~€~€}€~€~~~~‚€~€~~€~}~€€€~~}~~~€~~}€~~~~}~€€~~€}~~~~~~€~€€~€~}~~~€~€~~€~~~€€€~€~€~~€~€€€€~~}€~€~~~~~‚~~€€€~€~~€~€~‚€~~€}€}€~€€€€~€~~}€~€€€~€~~~€~€€~€~~€~}€~~~€‚~€~€€~€~~~€~~~€}€€~€~€~€~~€~~€~€~€€€~~€~~~€}€~€~~~~~€}€€}}€~~}€~‚€€}~€~€€}€€}€€~}€~~~~}~~€}€~€~~~€~€€€‚~€}€~~€~~€€~€~~‚€~~}€~‚}€€~‚€~€~~€~~€~‚€~€}~~}~€~~€~~~€~€~~~~~€~€~€€}}€~‚€~~‚~~€~€~€€~€€~€~~~~€~€~~~~~€~€~€€€}€}~~€~€€}€€}€~€}€~~~€€€~€~~~€€€~€}€~€~€~~~~~€~~€~~€€€~}€~}}€~€~€}€~~~~€€€€~€~~~€~€€~}}€~€~~~€~~€€}€~~~~‚}~~~€~}‚~~€}€~€€~~€€~€}~€~€€~€}~€}€~~€~€~€~~~€~~€~~€}€€~~~€‚~~~€}€~}€}€~~~}~€}€~‚€€}~€~€~€~~‚~~~~~~~~€€€}~~~€€~~~~€~~~€€~}~~€~~€~~~~€~€€~}€~€~€€~€~~~~€€~€~~€~‚€€~~~~€~€~€€~€~}€~~~€}€€~}€~~}€}€~~€€~€€~~}€€€€}€~€~‚€~€~€€‚~€~~~€}~€€€~€~}€~€~}~€~€~€€~€€}€~~~€}€~€~~}~~~€~€€€~~~~€~€€~‚~~~€}~€}€€~€~~~€~€~€~€~€}~~€}€€~€~€~~~}€~€}€€}€~€}~~~~‚€€~~€~~~€€~€~€}€~‚€}€~~~~€€€}}~}~~~€~}€~~€€€€~€~~€~€€€}€~~~€}€€~€}€~€~~~~~~~~~~}~€~€~€~€~}€~~€~~€~€~€~€~€~€€€}€~~€~~‚}€€}€~€~€€~~~~~€~€~€~€~~~}€~~€~~~~€~€~€€‚€~€~~~~~€€€~~~€€~€~~~‚€}~~~~€~€~€~~€€~~€~~€~€~€~€~€~€~}~~€~‚€€~~~€~€~€€~~€~~€~€€~€€~}€€~~€}€€~~~~}€~€~}~€~€€~€~~€~€}€}€}€€~€~€~~‚~€~€~€€~€~~~€~€€}~€~}‚~~~~~€~€€~€~}~~~€}~€~~~~€~}~€~€~€€~€€~~€}~€~‚}~€}€€}€~~~}~€~~€~€~~~~~~~~‚~€~€~€~~~€}~€€~€~~€~€€€}€‚~~€~€~€‚}€~~€~€~€€~€}~~~€~€~~~~€~‚~€~€~~€~~€€~}}€€€~€€~~€~€~~~~€~~~€‚}€~}€€}€€~~~€~~€~€~€€~€~~~€~~€€~€~~€€€~~~~~€€}€~~~~~}€}€~~~~~~}€~€~~€€€~~~~~€~‚€~€€~€~€~€}€~~~‚~}~€~€~~€}€~}€~‚~~‚~€~}€~€€~~€~€€~€~€~€€}‚€€~€}~€~€~€~€~~~€€€~€~€~~€€~€~€€~€~~€~~~€~~~~~€}€€€~€}€€~}€~~€€~€~~€}~€~€~~~€~€~~~€}~~~~€~€€€€~€~~~~~€~~€~€~€~~€~~€€~€~~€}‚‚}~€~€~}€€}}€}~€}€€~€~}~~}€~€€€~€~€~€€~€~€~‚~€€~~€€}~~}~€~€~€~€}‚€}~€}€~€~}~~~€€~€~€~~~~~‚€~~~~~~€€}~€~~~€~~~~~~€}€~~€‚~€~€~€€~€~~~‚~~€€€~~€~€~€€€~~~~€~€~€~€~€€~€~€~}€~~~~~€}€~~€}~€~~€€€‚}€~}€~~€€~~€~€€}~€~‚€€~~~€~€€€€~}~~€}€€~~€~~~€}€~€}€€}€~€~‚€~~~€~~€~‚€€€€~~~~€~€€€~}~~€€~~~~}~~}~~€~€~~€€~€~~~€~€€~€~€}~~€€€~€}~€~~~~~~€~~€~~€}€~€~€€}€~€€~~€~€~€~€~~€~€~~~€}€~€€€~~€~~~~€€€~€~~€~€~~~~}€~€€~€~€~~~~€~€~€}€~~~~€~~~€~€€~€~~~~€€€~€~~‚~~~~~~€}€}~€}~~€~€~€€~‚~~€€€€€~€~€~~~€€~€~~€~€~€~~‚~~€~€~~€~€~€~€~~~~€~€€~~~€~€~~€}€~€}€~}€~€~~~~~€~€~~€~~~€}~~~}€}€~€~~~€}€€~€~~~~€€}~€€~~~€~~}~~~~~~€€~~€}€~~€}€€~~€~~~€~‚~€~~~~€€€~~~€~€€€~~~~€~€€~}€~~€}~~~~~~~~€~€~€~€€~}€~~€}~~~€~€~~€}€~€€~€}‚€~~~~€‚}€~€~€~€~~~€~~~~€~€€€}€}~€€€~~~€~}€~€~‚}~~€~}€~}~~~~€€~~€~€~€€€€€~~~€~~~~~€}€~€}~~€~€~€~€~€}~~€~€€€~}€~~€}€}€}€~€€~€~~~€‚~€~€}€€€~€~€~€~€€}‚~~~‚€~~€~€~€~€~}€~~€€€~~~€~€€~€€~}€~~~€~€~€€~~€}€~€~€}~~€~~}€~€€}€}€~~€~~~€~€~€~~}€~‚€€~€}€~€~~~~€‚}~~€€€~~€}€~€€}€€}~€~‚~€~€~~€~€€~~~~~€~~€~€‚€€€~€~€~~€€}~~~€~~~€}€~€~€~~€~€~€~~€~~}€~€~~€~€~€€}~€~€~€~€~€~~€~€~~~~}€~€~~~€~€}}€~€€~~€}€~€~€~€~~€~€}€~€€~€}€~~€~~€~€~~€~€~€~}€€~€~€~~~€€~€~~~~€~}~€~€~~}€€}~}~€~~€~€~~~€~~€~€~€€~~~}€~€~€~~€~€€~€}~€~€~~€~€~€€~}~~€~~€}~€~€~~€~~€€~€~~€~~~€~€~€~~~€~€€~~~~€}~~~~~€~€~€}€~€~~~~€~€€€~€}€~€~€€~€~~~~€~€~€~€}}€€€~€~€~€~€~€~~€~~€€€~€~~~€‚~~€~€€~~~~}€~€~€~€~~~~~}~€~€~€~~~€~€~~~~~€~}€~~€}~~€}~~€~~€€~~~~}~€}€~€~€}€~~€~€~~~€~€~€~}€~~~~€€~~€€}€~~}~€}€}~€~€~€~€~~~~€~€~€}€~~€~~€~€€~~€~~~~€~€~}~~€‚~€~€}€}€~~~~~€~€~€}}~~€~~€€~~€~€}~€€}€€~~~€€}€}~}€~~€€~€~~€~€€€}€~}€€~€~€~€€~~~€~€~~€~~€~~~~€~‚€€~€~€}€€~€€~€~€~€}€~~~€~€~~~~~€€~€~~~€~€~~~~€~~€~~~~~~~€}€}€~€~€~€~€~~}~€€~€~€~~~~~€}~€€}~~€~€~~~€~€€}~€}€}~€~€~}€~€€~‚}~~€~€~~~€}~~~€~€~~~~€~€€~~~~€}€~€€€~€~~€~€~€~€~€~€}€~€~‚€~~~€~€~€€~~~‚~~€€}~€}€}~~€~~}~€€~~~€~€€~€~~~~~}€€~€~€~~~~€~~€~~~~€}~€~€}€~‚€€€‚~~~~‚€~~€€~~€~~~€~~€€‚~€€~€€}€€}€~€~~€€€~€~€~~€~€~€}~€}€~~€€~€~~€~€~€€~~‚~€~€~€€~€€€~€~~€}€~€~~~€~~€}€}€~€~€~}~~~€~€€€}~~€~~€€‚~~~~‚€€€~~€~~~~€~€‚~~€~€~€~€€~~€~€~€€~~€€}‚€~~~~€~€€~~€}€~~€€~€€}€€€~€~~~~~~~~~€~€~€~€~~~~€~€}€~‚~~~€~~€~€€~~~~€~}€~€€€~€~~€}€~~~~€~~€~~~€~€€€~€}€~€~~€~~€‚~}€~}€~~€€}€~€€€€~~€~~~~€€€~€~~~‚€€€~~~~€€~~~~€~€~}€~‚€~€~€~}~€~~€~€€€€€~~~€~€€€~€~€~€}€€€~€~~~~~€}~€}€€~~€~~€~~€€~€~€~‚~€~€€~€~~€~€€‚~€~€€}€~~~~€~€€€€~€~~~~€€~}€~€}~€~€~€~~€~~€~~€‚~~€‚~€~€~€}€~€~~€~€€€~€~€~~}~}€€}‚€~€~€~€~~€~~€€€€‚~~~‚~~€~~€€~~~€~€}€€€~~}~~~€}€€~~€~€€~€~~~€}€€~€~~€~€~~€~€~~~€~€~€~€~€~~~€€€}€}}~€~€~~~~~~~~€€~~~€}€}~€}€€~~~~~€~€€~~~~€€~€€}~}€~€~€~€~}~€~€}~€~~€€€€~~€~~~€~€~€}€~€}€‚~~‚~€~€~€€~~€~€~€~€~~~€}€}€€}~}€~~€€~}~~~~€€~€~€~~€€~~€~€~€€€~€~~~€~‚~~~~€~€€}}€}€€~~~€}~€€~€}€~€~~~~€~€€€~~~~~€€~~€~€}~€}€€~€~€~€~~~~€€€€€~€~~~€~~~€~€€}~€~}~~€~€~€€}€~€~~~~€}€~~€~€~~€~}€~€~~~~€€€~}~~}€~€€€~~€}€~€~€~}~~€~€}€~}€~~~€}€~€€~€~~~€~€€€~€}~~€~€~€}€~€}€€~~~~€~€~€~~~~€}€~€€~€~~}~€€~~~€~€€~€~~€}€~€~~~€€‚~€~€~~}~€~~€~€€€~€~~}~€€€~€~€}€~€~€~~}€~€€~€~~~€€~€~€~~€}~€€~‚€€~}~~~€~€€~~€€}~~€~~~€€€~€~~€~€}€~~~‚€~~‚}€~~~~€~€~€€~€~€~~~}~€€~€~~~‚€~~€}€~€~€~€~€~~€~~~~~€~€~~~€€~~€~€~~€~~€~~€‚~€€}€€~€}€€~~~€}€~€~~~€~}€}€€~~€}€€}€~€~~~€~€~~€€€~~€~~~€~~~~~~€~€€~€~~~€~€~€€~€~~~€€€~~€~~€}€~€~~~~~€~€~~~€~~€€~€~€~~€~€€~~~~~€}€~€€€€‚~€~~}~€€~~€~~€}€~€~€~€~~}€~€€‚~€~€~~~~~~}€~€~€~€~~€€~€~€~~‚~€}€€~€€~€~}~~€~€‚~~}€€~~€€~}€~€}€}€~~}~~~€~€~€€~~}€~€€€}€~}~~~}€~€~~~~~€€€}€€~€~~~~€~~€€~€~~~€}€~~}€~€~€~~~€~~€€~~€€~€€~€~€~€€~~€}€}€€~€~~€~~€€~}~€~€~€€~~€~~~~€€€~~~~€~€€~€~~~€~€~€~~€€~€~€~€€~~~€€~€~~€~€€€€€}€~€~~~~~€~€~€~€~~~€~€€€~€‚~€~€~~€~€~‚€~~~€~€€~€€~~~€~}~€€€€~€~~~~€€~~€€~~~€~}€€~€}~€~€€€~~}€~€€~~€~€}~€~~€€€€~~€~~€}€~€~~‚~€~€~€€~€€~~~€~~~~~~€~~€~~€~€€~€}~€}€€~€~~~€~€€€~€~~€~€~}€~~€~€€~€~€~€~€€~~€~‚€€€~~€~~~‚~~€~€~€~~€~~}€~€€~~~~€~€~€€~€~€~€€~}€~~~~€€€~~~~~€~€€}~€}€~€~~€~~~~~€‚~~~€~€~~€~~€~~€€}~~€}~~€~€€~€~€~~}~€~€~€~€~€€~€€~~~€~€~~€€~€~~€~~~€€~€€~~~}~~~~~€}~€~€~€~~€}€~€~~€}~€~~€~€€~~€~~~~€~€€~€~~~~€}€€~€~~€~€~~€~~€€~~}€~€€~€~€~€~~€~~€~~~~~~€~€~~€~~€~€€€~~€~~€~€}~€~€~~}~~€~€~€€~€~€~€€~€}~~~€~€€~€~~~€~€€€€}€~€~~€~~€~€€}~€}~~€}€€~€~€€~~~~‚}~~€€~€~~€~€~€€}€~~‚€€~€~€~~€~~€~~€~€~€~~€~~~~€~~€€~~~~~~€~€~~~€~€~€~~€~~€~€€~~‚€~~‚~€~€~€~€~}€~~~€~€~€~~€~€€€€€~~€~€~~~~€}€€€~~~~~€‚€€~~~~~~€€~~~~~€}€~~€}~~€€~€}~~~€~€€~€€~€}€~€~€~€~€~~€~~~~~~~~}€~€~~‚~~€}€~€~~~€€~€~}€~€€~€~~~}€~€~~~€€~}€~€€~€~~€~~€~€~~€~€€~€}€~€~~}€~€€€~€~~€~€~€~€~€~€€€~€~€~~€~€~€~€}€~€~€~}€~€~€~~€€€‚~~~~€€~~€~~~€~€~€€€~€~€~€}~~€}~€~~~€€~€~~~~€~‚€€€€~€~~}€~~‚~~€~€~€€~~‚~~€}€€€€€~€~~~~€€~€~~~€~€€~~~€~€~€~‚~€}~€~~~€~€~~~€}€~~€~~~~‚‚€€~€~~€€€~}€~~~€€€~€~~~€~~~€~€~~€~€~€€€€~~~€~€~~~€~~€€~~~~~€€€€~~~~~€~~~~~~€}€~€~€€€€€~€}€}€€}€~~~€~~~~€}€~~€~~€€~~€~~€~€~€€~€}~~€€}€~~€~~€€€~€~€~€~~~€~~€€~€~~€~€€~~€}€~€~€~~€€€~€}~~€~€€~~~}~}€~€~~~~€€~€~€€~€~~~}~€€€~~~~€~€}~~€~‚€€}~}~€~~€~€€€~~€~€~~~~~~~~}€}€~~~€~€€€~€~€~~€~~€€€}€~€~€~€€~}}€€€~€~~~€~€~~~€€€€~€~~€~€€~€~€~€€€~~~€~€‚}€~€€}€€~€~~€~€~~€~~~€€€€‚~€~~}€}~~~~~~€~}€€~€}€~~€~€~€~€~~~‚~€~~€}€}€~~~€~~‚€~€~€~€€~~€~€~~}}€~~~~~~€€€~€~~€~€€}~€~€~€~€~€~~€€€~€~€~~~‚€€~€‚~~€~€~~~~€~}€~€€~€~€~€~€}€~~~€~}€~~€~€~€€~€~€~€~~~€~~€€~~~~~~~€~€€~€€€€~€}~~~~€~€€~~€~€~~~~€~€~€~~~€€~~~~€~€~€~€~€~€~}~~~~~‚€~€€~~~€~~€€~€€~~€~€~~~€~€~€~~~€€}~€~‚€€~~~€€}€}€~€~~~}~€~~~€}€~‚~}~~€~€€~€}~€~€€~€~~~~€~~~€~~~€~€~~€~€€€‚€~€~~€~~€€€€~€~~~€~€~€~€}€~€~€~~~~€€€~€~€~}€~€~~~~€~€}~~~~~~~~€€€~€~~}€~~~}~~€~€~~€~~€~}€~~€~~€€~€~~€~‚€~~€~}€~~€~~~~~€~€~€~~€~~€}~}}}~€}€~~€~€~~€~~~€}€~€€~~~€~€~~~~€}€€}€~~€~€€~€~€~~€}€}€~€}€~~€}€€~€~~~€~€~€€~€~€~~~€€~€~~~€~€~~~€}~~€~~€}€€}€€}}€~~€~€~~~~€~€~€~€~~€~€~€~€~~~€~€~€~€}€€~~€~€€~€~~~€~€~~~~€~€~€~~€~~€€~€~~~~~~€€~~~~~}}€€}~~€~~€€~€~~}~€~€~~~€~€€€~~~€~€}~€~~€~~~€~€~~~~€~~€€€}€~~€~€~€~~~€~~~~€}€~€~}~€~€~€~€~€}~~€~~€€€~~€~~~€~€~€€~€~~~~~}€}€~~~€~€~~€~‚€~~€€‚~€€}~}€~~~€}€}€~~}€~€~€}€}€~~~~€~€€~€~€~}€~~~€~€~~€~~€€~~~~€~€€€~€}€~€~‚€~}~€€}€~€~€~}~€€~~~~€~~€€€~~€~~~€~€€‚~€~€~€~~~€€~€~€~~€~~~€~€~~~~€€~€~€~€~€€€~€~€~€~~~~~~€€€~~~~}€~~€€~€}€~~~~~~€€}€~~}€~€€€~~~~~~€€~~~~€€€~€€}€}~€~~€~€€~~~~}€}€}€~€~€€}€~~~‚}}€~~€€‚~€~~€}}€€~~~~€€~€}~~€~~€~~€~~~~€~€~€~~€€€~€}€~~€~~~~~€~€~€~€€~~€~~~~~€~~€€€~~€~€~~€~~~~~€~~~€~~€~€~€~€}€~€~‚~€~€€‚~€}~~~~€€€~€~~€~€€€~~~~€~€~€~€~~~€~€€~€}~~~€€~€}€€~€~~~€~~€}€~~€~~€€~€~~~}‚~~€~€~€~~€~€~€€}~~~~~‚}~€~€‚~€~€~~}€~€~€€~~€~~€~€€~€~~~€~€~€~}~~€~~~€~~€€~€~~~€}€~€€~~~‚~~}€~€~€~}€~~~€~~€~€~€~€~€€€~~€~~~€~~~€~€~~~€}€€€~~~€~~€€~~€~~~€€€~}~~}~~~‚~}~}€~€~~~€~}€~€~~~}€~~€~~~~€~€€~~~~€~€~€€~‚~€}€~~€~€€€~€~€~~~€~€€€~~~€~‚€€€~€~~~€€€~~~€~€€~~‚~~}€}€~€€‚€~€~~€}€~€€}€~€€~€}€~~~~€~‚~~~~€}€€}~€€}€~~~€~~~~€~~€€~€€}€}€€}€~~~€~~€€~€~~~~~€}€€~€~~~€}~€€~€~~~€~€~€~~€}~€~€~~}~~~€~€€~~€~€~~~~€~€€}€~~€~€€€€}~~~€€€~€~~~€€€~€~€~€~€€€~€~~~€~€~~~€~€€€€~€}~€~€~€}~€~€~~‚~~‚}~~€€€}€~~~€}€€~~€€~€€€~€~~~€~€~€~€~€€~~€~~‚€~~€~€~~€}€}€~}€~~€~€~€~~€~€~€€€~~€~}€~€€€€}€€~~€~€}€€~~€€~€~~€~€~€}€~~€~€~~€~€€€€}~~€}~}€}€€~€}~}€~€€€~€~~€~‚€€~€€~~€~€~~~~~€~€}€€€~€~~}€~€€~~~~€€~€~~~~€~€€~}~}~€~€~~€}€€€~€~€~€~€~~~~~~~€~€}€~€~‚~~~~€~€€€~~€~~~€~€~€~~~€€}€€~~€~€~‚~~€~€~€~~}€€€~€~€}~~€~}}~€~€~~~~~~€€€~€}~€~€~~~€~‚€€€€~€~~}~~~€‚}~€}€~€~~~~}€€€€€€~€}}€~€€~€}€~~~€~~~€~€€~‚€~~}~€~€~€}~~~€}~~€~€€~€~}€~€€}€~~~€~€~€~€~}~~~€}€€~€~}~}€~€€~€€~€~€}~€~~€€~€}~~~‚€~~€~€€‚~€}€€~~€~€~~€~€~}€€€€~€~~~~€€€}€~€}~~~~€~€€~€~€~€~€~~~€€~€~€~€}€€~~~€~€€€~€~€~~~€}~€~~~~~~€~€~€~€~~~~€€€€~~~~€~€€~€~~~~€€€~€~€~€~€€~€}~€~~}€~€~€€~~€~€~~‚€‚}~~}€~€~~€€~}~~€~€~‚~€€€~€~~€~€~€~~~€}€€~€~~€~€~€€€~}~~€~€€~~~€~€€~€~~€~€~~€~~€~~€~~€~€~€~~~}~~€}€€~€~€~~~€~~€€}€~€~‚~~~~€~€~€}}€~€~~~~€~€€~~~‚}~€~€~€~€~~€~€~€€~~~}~€~~~~~€~~~~~€~~~‚}~€~€~~€~€‚€~€~€~€~€~~~€~€~€}€~€€~€~€~~€€~~€~€€~~€‚~€~~~~~€~€~€€~~~~~€€~~~€€~€~€~~~~€}€~€€}‚~€~€~}€~€€~~€~~}€€}€~€}€~€~~~~€~‚€~~~€~€€€~~~€}€€~~€}€‚~~€~€~€€~€~~€~€€~~€~€€‚~~€}€~€}~€~~€‚~~~€}€€}€~~~€~€~€}~~~€€}€}~€~~~€~€~€~€~~}€€~€€~€~~~€~~€~€€}€~~~€~}~€}~€~€~€~€~~~~€~€}€~~~}~€}€~~~~€~~€~€‚~€~}}€~€~€~~€}~€}€€~€}€€~€~~~~~~€‚~€~€~}~~~€~~~€~~~‚€~~€~}~€~€~~~~~~€~€~}€~€€~€~~~~€}€€€~€~~~~~€€~€~}€~€~~€~~€~~~€~€€~€~~~€~€~~~€~€€€~~~€~€€€~~~€~€€~€~~€~~€~€~~€~€€~~€~~}€~€€€€}~€~€~€~€~~~~€}~~€~~‚~~~~€‚~€}€~€~~€~~~€}€€~€~€€~€~~~€€~~~~~~~€~€€€~~~€~€~~€~~€€~~€~~‚~~~~€~~~~€~€€~€~€~€€}€€~~€~€€€€€~€~€€}~‚~€~~€~~€~€~~€}€€~~€~€~€~€€€€€}€~~~}€~~€~€€€~€~~€~~}€}€€~€€~~€~€}€~~~~~€~€€~~€}~~~€~€~€~~€€~€€~~~€~€€~€~~~€~€~€€~€~~~~€€~€€}€€~€€~€~‚}~€~€‚‚~~~‚}~€~€}€€~€~~~€~€€}€~~€~~~€~~€€€~~~€‚~~€~€‚}€~€}~~~~~€€}€~€}~~€~~€€€~~~‚€~~€~€~€~~~~€€~€}€~€~€~~~€~€}€€€~€~~€}~~€}€€}€~~}€~€~€~€~}‚€~€~~€~€€‚~~€~€~€~€€~€€~€€€~~€~~€~€~€~€~~~~€~~~€~€€€~~€}€~€~€€~€€€~€}~~€~€~~~~~€‚~~€~‚€‚~~~€~~~€~€€€~~€}~~~‚€~€~~~~~€~~~~€~~€~€~€~€€~€€€~€€€~€~€~~‚~~~€~€~~€}€€€‚}€~€~€€~€~€~~€€€€€~€~~€}~~~‚~~~€~€}€€}€€€~€}€}€|€~€}~€€~~}~~~~~~€~~~€€€‚~€}€~€~€~€~}€~€€}~€~~€~~~~~€€~€}~~~€€€~€~€~€}€~~€~€€~€~~~~€~€~~~}€~~€€~€~€~€}~~€~€€~~€~~€~~~~€~€€~~~~€€€~€€~€~€~€~~€}‚€€~€~~~}~€}€~€€~~~€~~€~€~€~~~€~€€€~~€~}€~~€€}€}€~€}~~~€~€~~€~~~~€~€€~~~~€‚~€~€€}€~€€}~~€€~~~~~€}~~€€~~€~~€€~€€~~€€~€~~~~~€~€€€~~}~}~~€€€€~€~~~€}€€}€~€€~€‚~€~€~~~€~€~~~~€~€~~€~~~~€~€}€~€~€}€~}~~~~€~~~€€~~€€‚~€~€~€€‚€~~€~€~€}€€~~~~€~~€~€~€~~~~~~€~€~€~€€€~€~€}€~€€~‚~~€~€}~~~€~€~~~~~€~€~~€~€€~~€~~€}€~~~€€~€~~~~~€‚~~€~€~€~€€}€€€€~~€~€}‚~~€€€~€~~~}€~€€~~€~€~€~~€~~€~€~€~}€~~€~€~€~~~€~€€~€~€~€}~€~~€~€~€€~~~~}~~~€€€~€~~~~€~€‚}€~€€}€}€~€~~~€~‚€€€}~€~~~~~€€€~€~€~~~€}€~€€}€€~€€~€~€~€€~€~‚€€~~‚~}€~€~~€~~~€}€€~€}€~€€~~~€~€‚~~~~~€~€~‚€€~~€~€~€~€€~~€€}€€~~~~€~€~~~~~~}€}€€~€}~~~~€~€€}~€€}€~~~~~€}~‚€€€~€~~~~~€~€~€€€~€~€~~~~€~€~€}€~~~€~€~€~~€}~~€€~€~}€}~€~€€~~~~~€~~~€~€~~~€~€~~€~€}€~~€~€€~€~~€~~€~€€€€~~}€}~~€~€€}€}~~€~~€~~~€€‚}~€~€~~€€~~~€~€€~€~}€~~€~€}€~€~~€~€€~€}€~€~~€~€~~€€€~~€~€~€~€}€~€}~~€~€}€~~€}€€€€~~€~~€}€~~~€€€~~~~€~€~€~€~€€~€~~~€~~~€€~€}~~}€~€~~~~€~~€~€~€€~~€~€~~~€~€~€}}€~~}~€~~~~€~€€}€€~€}€~€~€~~~~}€€€~€~~‚}~€€~€€}€~~€~€}€€~}€~~€~€€~~~~‚~~€~€}€€~€~€~€~~€~€}~€€}€~€~~~€~€€~€~€~~€}€~~€~€~~€~€~€€€~~€}~€~€~~~€~‚~~€~€~~€€~€‚~~€~€~~€~~~~€€~€~~€~}€~€~€€~€~~~}€~~~~~~~}‚€€~€~€~€~~€~€~€€~€€~~€~~~~€~~~~}~€}€~€~€~€~~€~€}€~~€€~~‚}~~~€~€~‚~~€~€~~€€€~€~~€~€€~€~€~€}~~~~}~€}€€~€~~~€~€‚~€~~}~~~€~~€€€€~~~~‚€€}€~€~€€~€~€}~~‚~€~€~€~}~~€~€~~‚€~€~€~~~€}~}€~€~€~~€~~€€~€~~€~€~~€~~~~€~€€~~~€~~~€~€~€€€€~€~~€€~€~€~~€€€}}€~~~~~€~~~€~~€€~€~€}€€~~~€‚~~~€€~€~€~~~€~€~€€€~~~€~~‚€~€~~€}~€€~€~~~€€€€~€~~~€~€~~€~€€~~~}‚€~~~~~€~€~~€}€~€€€€~€~~€~€~~~€~€~€~€~€}€€~}~~~€~€~€~€~~€~€~€‚~€~‚€~€}‚~‚~€~€~~~~}€~€~€~€~~~€~€~€~€~~€~€~~~~~€~€‚€€~€€~€~~~~€~€€~~~~€€}€€€}€~€~€~~~€}~€€}€~€~~~‚~~~€}€€~‚€}€~}€~~€~~~€}~€€€~}~~€~€~~‚~~€‚~~~‚€€€~~€}€~~€~‚€€~~€~€~€~€~€~€€€€~}~~~~~~~€€~€~~~~~€€€~~€}~€€€~€~~}€€~€~}~€€‚~€~€~€€~€~€€~‚~€~~~€~~€~€~~~~€~€}€~~€~€}~€~€€~€~‚€}€}~~€€~€~€~€}€€~€~~~€~€€~€~~~€€€}~€€~€~€~€~~€€€~€}~~€~€~€~~€~€€~€€}€}€€~~€~}~~€~€€~€~€~‚~~~~~~~~€~€}€}€~~‚€}~~‚€€€€}€~~}~€€~€~~€~‚~~€~€‚~€}~€}~€€€€~~~~€~€€~~€~€~~€€~€~~€~€~€€~€~€€~€}~~‚}~~€~€€}€~~‚}€~€€~€~€~~~~€~€~~~~€€}€}€~€}€€~~€~€€€~~€}€€~~~€~€€~}~€}‚~€~€~€}€}€~€~~~€~€€€~€~~~€~€~€~~€~€€~~~€~€~~€~€~~~~€~€€€€~€€~€~€~~~€~€€€~€~~~€€~€~~~€~€€~€~~~€~€~~~~€~~€~~~€~€~}‚€~}~~€€~}~~~€€~~€~~€~€€~€~}~€€}€~€~€~€€~~~€~~€€€~~~~~€~€€}€€~€~€~~~€~€€€~€~~~€~€~~~€}€~€€~€~~~€€€€~~~~~€~~€~~~€~€~~~€~€~€~€~~~~€~€~~€}€~€~€~€€€€~€~~}~€€~€~€~~}~~€€~}€€~~}~~~~€€~~€~€~€€~€}€~€~~}€~~€€€~€~~€}€~€~€~~~~~~€~~€~€}€~€}€€€~€~€}€}€}€€~~€~€}~€~~~€€}~€~~€~~€}€€~€~€~€~}~~€~€€~~€~€}€~€~~~€€€~~~~€~€€~~~~~€~~~€~~€€}~€~€~~€€~~~~€~~€~~~~‚€‚~€~~~€~€€~~~~€~‚~€€~€~~~€}€~~~€€€~€€~€}}€~€~‚~}€}€€~€~}~~€~€~~€~~‚‚~€~~€~€€~€}€~€~€€~~~€}~€}€}€}€~~~~€‚~}€€~~€~~~€€~~€€~~}~~€~€€~€€~~~~~~€~}€€~~~‚~€~€~€~~€~€€~€~~€~~€€~€~~~~~€€~€}€~~€€~€~~~€€~€~~~€€~€}~€~€}€~€€~€~~~~€~‚~~}~€~€~€~~€}€~€}€€~€€~~~~~€~€}€~~~~~~€€~€€~€~€~}~~€~€}€~€€~}~€~€€€~~€~~~~€€€~€€~‚€~}~~~€€~€~€€}€~~‚~€}~€}€~~~€~€~‚€€~~~~~~‚}~‚}€~€~€€}€€~~~~€~~€}€€~~~~€~€€~€~~€}€€€€~€~~~~€~€~~~€}€€€~}~€~€€~€~€~€~€}€}€~~~~}€~~€~~}€~}€~~€~~~€}€~~€€}€~~‚~~~€~~€€~€~~}~€~€}€~~~~€~~~~€~€~~~€~~‚~€}€€}€~~‚€€~~~€~~€~~€~€~~~~‚€€€~~€~~€~~€€€~}€~€€~~~€~~€~~€~€€~€~€~€€~~~€~€€€‚€~€~~~€~€}‚€~€€}€€~~~~~~}~€€~€~~~~€~€}€€~€~}€~~~~€€~€~€€~}€~~‚~€~€~€~€€~~}€~}€~~~~€~€€~~~~‚}€~}€~€~~~~€~~€}~~~€~€€~€€~€€~€~~~}€~€€~€€}€~~~~€~~€€~€~~~€}€}€€~€~€~}€~€€~€}€~~~~~€€~~~~€€€~€~~~~€~~~}~€~~€~~€~~€}€}€}~€~~~~}€~€}~€€~€~~€€~€~€~€~€}}€~€~~~~€}€€~~~€~~€}~~€~€}€€~€~€~€~~€€~€~~~€~€~€€€~}~~€~~€€~~~€}€~€€~~€~}€~€~~~~‚€~~~~€~~~€}€€~}~~€~€€€~€~~}~€€~~€~€}~~€€~€~~~€~~€‚~€€~€~€€}~€~€~€~}€~~€~€~€~~~€~~‚€~€~‚€~~~‚~~€}€€~~~€~~€}€€~~~€~€~~~€~~€~€€~€~~‚€~}~~~€~€€~~~~~€~€€~€~€~~~~‚€~~€~~~€€~€}~€~~€}~€~€}€~€~€~€~€~€€}~}~€}€~~€~€~~~€~€~€~€~~€€~~~~€~~€€€~€€~‚€~€~‚€€~~€~€~€€~€€}€~}€~~~~~€€~€~~}€~‚€}€~‚€~€~~‚~~€‚}~~~€~~~€~~~€~€~€~€~}~€}~~~~€~}€~~~~€€~~~€~~‚~€}€~€~~}€~~~€~€~€€~€~€~~€~€}~€~~€‚~~~€~€~€~}}~~€~~€~~~€~€~€~~}€~~€}~~~€~~€€€}~€~€~€~€~€~€~€€~‚‚~~€~€€}~~€~€€€}€}~€~€~€€~€€}€}€€~€~~‚~~€~€€~€}€€€~€}€~~€€~~€~€~€~}€~~~‚~€~~€~~~~€~~~€~~€~€~€}~€€€~~€~€€~€}~~€~€~€~€€}€~}~€€€€~€~~~~€~€~~}€~~~~~€~~~€~€~~€}~~~~€}~€€~}€~€~~~€}€}€}€}€~~€~€€€~~€~~€~€~~€~€~€~€}€}€}€~€~€~‚€~~~~~€~€€}€~~€~€~€€~€~€~€}~€~~€~€~~~€€~€~~€~€~}€~€~€~€~€~~‚€€~~€~~~€€~~€~~~€~€~€‚~~€}€~~€~€€~}€~‚~€}~~~‚~€~€~€~~€~€~€~€}€~~~€~€~~€~€}~€€€}€~~}~}€€~€€~~~}~€~€€~~~€~€€€}€~~~~€€}€~€~€~€€~€~~~€~€~€~€}€~~€€}€€~€}~~~€~~€~}~~€~€~€€~€~€~~€}~~~~€€~€~~~€~€€~~€~~~€~€€}€~~~€}~~€‚~~~€~€€}~€€~~~€~€~€~€~~~~€~~~~€~~~€~~~~~~€‚~~~€}€}~€~~€~€€€€~€~~~€~~€€~€}€~€~€€€~€}~}€€~~~€~€~€~~€}€~€€~€}€~~~€~~~~~€~€€€~€~~€€~~~€~€}€€€€}~~€~€€~€€}€~€~€~~~~€~~€~~€€~€~€~~€~€~~~~~€~}€~~‚~~~~€}€~€~€~~€€~€}~~}~€€~€~€~€}~€€~€~~~€~€}~€€~€~~~€~€~€}}€~}~~~€~€~~€~}~€€~€}€~~~~€€~~~~}~€}€}€~€~€€~~~~~€~€~€€~~~~€~€~€~€~~€~}€}~€~€}~€~€€~€~~€~~~€~€~€~€€~€~~€€~€~~€~€~€€~€~€~}€~~€~~€}€~~€~~~~~~€€~€€}€~~~~~€€~€~€€~~€}€~}~€}~€€€~~~~~~€}~€€€€}~~~€~€€~€}€~~€~€~~~€‚~~~~~€€~~~€~€~€€~€~€~€~~~‚~€~~€}€~€~€€~€~~~€~€€€~€~~€~~€€~€~€~~~€€~€~~~~~€~~€€~€~~~€~€~€~~€~€}€€~€~~~€}€~€~‚~~~~~}€~€€~€~€~€€~€~~~~~~€~€~€€€~€~}€~€€~€~€~€~~€~€€€€~€~~€~€~~}~€}~~~~~~~€~~~~€~€~€~€~€~€€€€~~€~~€~€~~~~~€~€~~}€}€~€~€~~~€~€~€€~~€~~~€~€€€€~€€~€€~}€~€~€~€~~€}‚€€~~€~~€~~€~€}€~~€€~€~€~‚~~}€€~€~€~€€~~~~~€~€~€}€~€~~~}~€~€~€~€~~~€~€~~~€~~~~~€~€~~~~€~€~€€~€€~€€}€}€~€~~€‚~€}~~~€~€~~€~€~€~~€}€€~€€€€~€}~~€~€}€}‚€~~€~~~€~}€~€~€~~~~~€€~~€~~~€~€~€€}€~€~~~€€€€~€~~}€~€€~€~~~€€~€€~‚€~€~~~€~~~€€}€€~€~~€}~€€€~€~~~~€€~€~~~~~‚€~€~€€~€~€‚~~€~~‚€€€~€~~€~~€~~€€€€~€~~~€~€~~€~~~~€€~~~€€€~~€~~~€~€~€~~€~‚€€~~~€~€€}€~€~€€€~€}€€~€}€~~€€~€~~~€~€~€€~~€~~}€~€~‚€~€}~~~€€}~€~€€}€~€€€~~}€~€~€~~~€~~€€~€~~€~€~€~€}€~€~€~€€~€~~~€~€~€~~€~~~}€€€~€~€~~~€~€~€~€}€€€€~€~~€~€€~€~~~€~€€~€~€}€~~€~€~€€~€~~€~€€€}€}~~~€€€~€~~€€~~~€~~~}~€~€~€~€~}~€~~€€€~~€~~€~€~€~~~}€~}€~€€€~~~~~€€~€~}€~€~}€~€~€€~€}‚~~~€~€}€~€~‚~}€~€€~~~~€€}€~€~€}€~~€€~€~~~€~€€}€€~€~€}€~~~}€~€}€~€~~~€€}€~€~~~~€~€~€~€~~€€€~€~€~~}~€€~€~~~€~~€~€~€~€~~€~~€‚~€}€~€~~~€€€~~~~~~€€~€~~€~~€~~€~€~}~~€~~‚€~€~€€}€€}€~€}~~€€‚~€~~€~€~€~€€~€~€~€~€€€~€~€~~~~~~~€~~~€~~€€‚‚~~~€~~€€€€~~~~€~€€~~~~€€€~€~}~€}€~~~€~€€~€}~}€~€€€~€~€}€~}}€~€€~€~~~€~€~€~}~€~~€~€€}€}€~€€~€~€€€~~€~~~€~€~}€~~~~€~€}€~€~€}‚~€~~€€~€~€~€€~~€~€~~~€}€~€€~~~~€~€~€~~~~~~}€~~€€€~€~€}€~~€~~~~~€}€~~~}~€~€€~€€~€‚~~€~€~€~~~~€}~~€~~€~€}~}€~~~~€~‚€€}€~~€~~€€~~~€~€~~~~€~€€€~~€~€~€€~~€~~~€€~€~~~~€€~€~~‚€~~€~€~~€~€~}€~~€~€~~€~€~~~~€€€~~~~€~€€}€€~~€~~~~€€~€}~€~€}~€~~€~€~€~}€~~~€~€~€~€~€~€~~~€€}€€~€€~€~~~€€€~}€~~€€~€~€}€~€€‚~€~~€~€€~€}€~~~~~€~€€~~€~~~€~€~~€€~€}€~‚~~€~€€}€€~€~€~~€~€€~€~€~~~~€~€~~~€}~€€~€}}€~}€~~€~€~€~~€~€€~‚~~~~€}€}€€€~~€~~~~~€~€€~‚€~€~~€~€}€~€€~~~~‚}~€~€~~€}~~~€~}~~~€~€~€}€€}€~€~‚€~~€‚~€~~~}€€€€€~~~€~€~€}€~~€~€~~€~€€~€~~€~€~~~~€}€€~~~~~€~€}~€~€~‚~€}€~~€}}€‚~€~~~€}€~~~~~~~€~~€}€~~~€~€~~€~€€~~~~~€~€~€~~€~€~}€~~‚€€~~€}€}€~€}‚~~€~€€~€~€~€~€~€~€}‚€~€~€€€~€~€~~~€}€~~~~€}€}€~~~~€~€€~~€}~~€~€~~€~€€}€€~€~~€}€~€€€}€~~€~€€€~~~€~€~€€~€€~€~€€~€~€~~~~€~~~€~~~€~~€}€~~~€€~€~€~~~}€€~€~~€}€~~~€~~€€~€~~€~€€~~€~~€~~€€~€~~~~~~~~€~€~€}~€~€~€~~€~€~€~~‚~€~~€~€€€~€~~€~€€~€~~~~~€~€€~€~€~‚€}~€~~€€€~~~~€}~€}‚€~€~€~~~€~€~~€~~€~€~€€~€€~~~€~€~€€~€~~~€€€€}€~~€}€~€~€~€€~€}€~~€~€~€~~~~~~~~€~€€€~€~~~€~€€~€~~€~€€~€}~€~€~€~~€}‚~~€‚~€€}€~}€~~}€€~€~€~~~}€}€€~~~~€}€~€~€€€€~€~~€~€€~€~~€~€~~~~€~~~~~~~€~€~€€~€€€~}€~~€€€€~~€~‚~~~~~~~}€}€~€~‚€}~€~€€~~}~~€}€}€~~~}€}€€~€~}€~~}€~€~~€}~€}€~€€~~€~€~€€€~}€~~€~€}€~‚€~€~~~~€~~€~€~~€€~€~}~~~~€~~~~€}~€~€‚~~~€}€}‚~~€~€~€~€~€~€~~~~‚€~€~~~~€~~€~€€~€}~€~€~€€}‚€}€~€€~~€~~~€~€€~€~~€~€€}€}~€~€~~€~€~€~}€€~~}~€~~€~~€~~€€€~€}~~}}€€}€€~€~€~€€€~€~€~~€~€~~~~€~€}~~€~~€€~~}€}€~€€}~€~~~~~~~€~~~~€€~€~€~~~~~~~€~~~€~€}~€€~‚€€~€~€~~~€~~~‚~~}€~€€€~€~€~}~}€€~€}€}€~~~~€~€}€~~€}€€~}€}~~€~}€~€~€~~€~~€€~~€~~~€~€€‚}€~~~€~}€}€~€~€~€~~~€€~€~€€€€€~~~€€€~€~~‚~€~€}€~~€€~~~~}~~‚€€~~€~€~€~€~€~€~€~~~}€}€~€~~~~~€~€}€~~}}~~€‚}€€~}€~~€~~~€~€‚~~~€~~€~~€~~~€~~€€~€~~€~~~~}€€}~€~~~~€}€~~€~€€€€~‚€~~~~}€~}€~€~~~€~‚€~~€~€~€~€}€€~~€~€~~€~~~~~~€€€~~~~~€€}~~€~€~€~~~~~€~€€~€~~~~~€}€~}€€~‚€~~~}€~~€~~€~~€~€~~€€}€€~€~~~}€€~~€}~~~~€~~€~€~~~}~~€~}€~€€~~~‚€~~}€~~€~€~~~€~€€€~€~~~€€‚~€~€}€}€~€€~€~}~}~€€~€}~~€~~€‚~€~~€~€€~€~€€€€~~€~~€~€€€€‚~€~~~€~~€~€~~~~€~~€~~€~~~~~~~€}€~€~€~~~€}~€€~€}~~€~~€€~€~~}~~~~~~~€~}€~€€€~€~~~}€€~~€~€€}€~~~€~~€~~~~€~€}€~€~€€~€~€~}€}€~€~€~~~€‚~€~€~€~~~€~€€€€‚~€~~~€~~€~€~€~~~€€~~~€~€~€‚~€~~}€€€~€~~}~€~€~€}€}€~~€~~€~€~€~€~€~~€~~€~~}€~€€~€~~~‚~€~~~€~€~€~~€~€€~~€~~€~~€€~~€}€~€€€~~~~~~€€~€~~~€}€~€~€~€~~}~€~€}~€~€€€~‚~€~~€~€~€€~€~~€~€~€~~~€~€~~~}€~€€}~~€~€€~€~€~~€~€€~~€~~~€€~}€~}€~€~€~~€‚}€}€~€~~~~€€€~~~€~€~€~€~€€~€~€~}€~~~~€}€~}}‚~~~~€}€~~€~€~~€~€€€~€~}€~~€€€~}€~~€~€€~€~}€}‚~€~~~~}€~€~~€~€~€~~~~€€€~€~~~}‚€€~~€}€~~€€}‚€~€~€~~€~€€~~€~€‚~€}~€€}€~~€~~~~~€~€€€~~~~€~€~~~€~€~€~€}‚}~~€~€€~~}~€€~~~€~€~~~€€~€~€~~~~~€€}}€}€~€€€~~€~€~€}~~~‚€~€~~}~€~€~€}€€}€~}~‚~€~€}€~€~€~€}€€‚~~€‚~€~€‚~€€~€~~‚~~~€~€~~}‚~€~€~€€~€~~€~~}€~‚€€}~~€~€~‚€~~€}€}€~€}€~€~€~~€~}€~€~€}€€~~~~€~~€€~~~~~€~~€€€~€~~~€}€€€~€~~~€€€~€~~€€‚~~~€~€€~~~€~}€~€~€~€‚~~€~€~~€~€~~€}~€€}€€~€~~~~€€~€}€€~€~~~€~€€}~~€~€€~€~~~€}~€€~€~€~~~~€~€€€~€~~~€€~€}€~€}€~~€~€}~~€~€~€~~~~€~~€~€€~€~~€€€€~~~€~~€€~~€~~€~€€~€~}€~€~€~€~€~€~~‚}€€~}~~~€}€~€€~€~~}~€€~€~~€}€~€€~}~‚~~}€~~€}€€~~~~€~€€€€~~~~€~€~}~~€~€~€€~~€~~~€‚€~€~~€~€~€~~}}€~€}€}~~}~€€~~~€}€~€€€~€~~}~€€~€~~~€}~€~€}~€€~€~€}€~~~}€‚~€}~€~~€~€~~€~€€~€~~~€~~€~~€€~€~€}~~}€~~~€~€€€~€~~€~~€€~~€~~€}~€~~~~€€~~€~~€€~€~~€}€€~~€}‚€~€~~}€€~€}‚€~~~‚~€€~€~~€~~~}~€€‚~€~~€}~€}€~€}~€€~€~}~€}}~€~€}€€~€}€~€~€€€~~€~~€~~€~€~}~€~€€~‚~€€~€€~~€~~‚€€~€}‚~}€‚~~€~€}~~~~~€~€€€~€~€~€€~€~€~€~~~€}€~}€~‚~~€€~€~}€~€€€€~€}€~}€~}~~~€~~~~€}€€~~€~~€€~~}‚€~~~}€~€€}~~~~‚€€}~~€~€€~~~}~~€}~€~~~~€~~~€~€~€~€~€€~€}€~€~~}€€~€~~€~~€€~~}~€~€~~~€~€}~~€~€€~~€€‚~€}€~€€€€~€~~}€}€~~~€~€}€~€~€}~€~~€~€~~~€~€~~€~€€}~€~~€€€~€~~~}€€~€~}~€~€}€}€~‚€~€‚~€~€~€€}‚€~~}€~€}€~~~~€~€}~~~‚~€~€€€‚~~€~~~€~€~€~€€}€~€~~€~€€€~€~€~~€€€}€~‚€~€~~€~~~€€~~€~}~€~€€~€~~~€€€~}~~€€€~€~~~€}€~€~€~€~€~€~~€~~~€~€€~€~€~~‚~~~~€€~€~€~~€‚~~€~€}}€}~~€}€~}€}€~~~~€€~€€}€~~}€~€}€}‚€~€~~~€€€€~€~}~~€~}~€~€}~~€~~}~}~€€~€~€~€€€~‚~€}€~~€~~€€€~~~€~~€‚~€€~€€}€~~‚}€~~~€~€~}€€}€~€}€~}€€~~~€~€}~€~€€~€~~~€~‚€€‚}€~~~€~€€~~~~~~~€€~€~~}€~~~€}~€~}€~€€€~€~}€~€~~~~€~€~~~€€€~~~€‚~€~€}€€}€~€}~~€€~~~}€}€€}€~~€}~~~}€}€~~€~~€~~‚€€€~€~~€~€€~€~€€~~€}~€~€€~~~}€~~€}€~€~~~€~€~€~€~~~~€€€~€}~~€~€~~€~€~€~~€€~~€~}‚~~€€~~~~€~€~~~€~€~€~}€}~~€€~}~€~€€€€€~€~~~€~~~~‚~~€~€~€€~€~€~~~€€~€}€~€~~€€}€}~~€~€~€~~~~€~€~~~€~€€~~€~~€€~~~€~~~~€~~~~~~€~€€€~€~~€~€~€~€~€~€€€~€}~€~€~€}€~~~~€~€~€~€~€~}~€~€€}~~~‚}}€~€~€€~~€~€€~~€€€~€~€~~€~€~~~~~~€~}€~€€~€~~€~~€}~€~~€€~~€~~~~€~€€~€}~€}~€~€~€}€€~}~~~€~€~~€~€€~€~€~}~€~€}~€}€}€}€}€€~€~}~~€~€~€~~~~~€~€}€~€}€~~€~€€€}~}~~€~€~~€}€~€~€~~~€€€‚~€~€~€~€€~€}€~~~‚~€}€}€~€€~~}~€~‚~€}~~~~}€~~~~~€~€~€~~~~€~~€€€~~€~~~€~€€~~€~~€}€~~~€~~~€~€~~~}‚€~€~~~~€€€~~~~€‚~~~€€~€€~}~€~€€~~€}€€}~~€~~€€~~~‚~~€€~€~€€~~~€~€~€€€~€}~€}~~~€~€~€€~~€~~€€€€~~€~~}~€€~~€~~€~€€~~~€~€~~~~€~€~€~€~}~~€~€~~€~€~~~€~~€}€€~€~€~}€~€€~€}€~}}~€}€~~€~€~~~€~~€~~€€}€~~€~}~~~€~‚€€~€~€~~~€~€€€}~€}€~€€€€~~~~~~€~€~€~€~~€~€~~}€~€€}€~~€~€~€~~~~€~€~€}€~~€}€~€}€~€€}€~~‚~~€€}€€~€~}‚€~~€}€~€~€~~€~€~~~€€}€~€~€~€~€~€~~~€€~€~~~~€~}~~‚}€~€~€€}€~}~€~€€€€~€~~~}€€‚~€~~~€}€€~~€~€~€~€}€~€~~~~~€~€}€~€~~€~€~~~}€~~€~€~€€~€~~}~€€€€~€€€~€~€~~€~€€~~~~~~€~€€€€~€~~}~‚€~~~‚~~~~€~}€}€~}€~~€~~~€~~€~€~~€~~~~~~~~€~~€}€~~€€€~~~~€}€~€~€€}~~~}€~~€~~~‚~~€}€€~~€~~~€~~~€~€‚~~~€}€~€€€~€~~~~}~€~€€~~~‚€€~~€}€~‚€~‚~~€~€€€~~€~~~€~€€€~€~€}~~~~~€~~~~}€~€€€~}€~~~€~€€~€~~}~€€~€~~~~€€~€~€}€~€}€~~€~€€€~}~~€~~€€~‚~€~€~€~~~€~€€€€~~~~€€€~~}~€€~€~}€~‚€€€~€~~~€~€€€~~€~€€}€}~€~~~€~~~€~€~€~~}~€€~~€~€~}~~~€~~€~€~~~~~€~‚€~~~~~~}€~€€€~€~€~~€€~€~€~€~‚~~~€~€~€€~€~~~~€~€~~€~~€€~€}€~~~~€€€~€~~€}~€€~€~~€~‚~~€~~€€~€~~~€~€~€~€~~€~€€~~€~~}€€€~~€~€~~€~‚~}~€~~~€~€€€}~}€~~~€~~~€~}~€~€~€~~~€‚~€~€~€~€~€~~€€}~~€~~€~‚€€€~€~~€~~€~~~~}~~~€€€~}€~~€~~€€}€~~€~€~~~~€}~€€~€}~~~~}€~~€~€~~€~}~€~€}€~€~~~~€~€~€~}€~€€€~~~€~€€~~~}~€~~€~€}~~€~€}€€~€€~~€}~€~~€~€~€€}€}~€~€€€€~€~€~~~€€}€~~~€~€~€~€~~€~~€~€}€~}€}~€~€€~€~~}€~€~€€~€}€~‚€~~~€~~~€€}~~~€~€€~€~~}~~€€~€~~€~€}€~}€}‚~~~€€€~€~€~€~}€€~‚€€~€}~~€}~~€~~~}~€~€€~€~~‚~~€}€~~~‚}€}€~~~~€€~€}~~€~~€~~€~€~€~€~€~~}€~~~~€€~~~€‚~€~€~~~€€~~€~~€~€€€~~€~€}~€~€~€}€}€~}~€€€~€~~}€‚~~€€~~€~~~~€~}€€~€€}€~~~~~€}~‚€€~€~~~€€€‚~€~~~~€}€€~€~€~€€~~~€~€€€~~~€€€~~€~€~~‚~€~€~€~€€~~~~€~€‚~€~€€~€~€~~€~€€~~~~~€}~}€~€€~}~€~~€€~~€~€~€€~€€~€~~~€~€~€}€~~~~~€~€€~~€~~~€€~~€€~}€€~~€€€€~€}€~~~€~€~€~€~€€~€~€~}~€€~~~~€~‚€~~€~}€€~€~€~€~~}~~€}€}€~€~~~‚~€}€€~~€~~~€~€€€~€~~~~}€~~€~€~€~~~~€€}€€~}€~€~~~~€€~€~~}~‚€€~€}~~€~€€~€~}€~~~€~€~€€~~€~~€~€€€~~~~~€~€~~~€~€~€~~~~€~}€€~€~€~~~€€~€~€~~€~€€~~~€~}}€}€~€}~€~~~}~€€}€~€~~~‚}~~~€€~‚€}~}€}€~€€€}€~€~€~€€~€~~~€~€~€~~€€}€€~‚~€~€~~~€~~€‚~€~€~~~~€~€~€€€€€~~~}€}€€~~€~~~€~€}€~€~€}€}~~~}€~~~~~€~€~€}€}~~€}€}€~~~~~~~€~~€}€€}€~€~€~~~€~€~€~~€€~~€~~€}€~~€€~€~~€~~€€~€}~€~~€€~}~€~~€~€~€€€~}~€~~€€~€~~€~~‚~~€~€~}€~€€€~€~~€~€~~~~€€~€~~~~€~~€~€~~€~€€~~€~~€~~€€~€~€~€€}€€~~€~€€~‚~€~~~~‚~€~~}€~€~~~~€}€€~€~€~€~€~~~~~~~~}€~€~€~~€€~€}~~€€~€€~€~€~~€€}€~~}€~€€~‚€~€~€~~~~€~€€}€~€~}€~~€~€~~€~~€€~€}~€~€~€}~€}~€€~€~~~~€~€~‚~€~~~€~~€€~€~~€~€€~€~~€~€€~€~~~~~~~~~€€€~€~€~‚~~€‚}€}€~~~~€~~€€€€~€~~~€}€~€€}€€~€~€~€~‚~~€~€~€~~~~~€€~~€~~~‚€€~€}€~~~~€€€€~~~€~}€}€~}}~€~€€~€~€~~~€~€~€~~‚€€‚~~~~€~€~~~~€~€~€~€~~~‚~~€~€~€€€~~€€€~~€~€}€~€€}€~€~€€~€~~~~€~~€€~€~~~€~€€€~€~~~~€€‚~€~}~~}~~~€€~€~~~€~€€}€~~~€~€~~~~€€~€~€~€€€~~€~€~€€}€€}~~~‚~€}~€}€~~~€}€}~€€€€~~€~€~€€€€~€~~~€€}€€~}€~€~€~€~~~€~~€€}~€€}€~€~€~€~~~~~~€~€‚~~}~€~€~~€~€~€€€~~€~€~}€~~~~€}€~€}€~€~~€~€~€~€~~€}€~~€~~~€}€€€~€~~~~~€}€€}€~€~€~~~€€€€~€~~~€~€}~~€~€€~€~€~}€€~€~€}~€~~~~~}~~€€€~~~€~€~€€}€~€~€~€}€~~~~€~€€€~€€~€€~€~~€~€~~~€€~€}~~~~€~~~€~€~€}}€€~}€}€~~€}~€~~€€~~~€}€€~€~~~€~€€}€~}€~€~€~~€~€€~€~~€~€~€}€}€€~}€€€€‚~~~€~€~‚€€€~~~€~€€~€~~€~€~€~~~~€~€~~€~~€~€~~€~~€~~€€~€~~‚~~~€~€~~~~€~€€€€~€~~~€}€~‚€~~€~}€~€€€~€}~~€~~€~~~~~€€~~~~~~€~€€€€~€~~€€}€€}€~€}‚€€}€~€~€~€€}€~~~~€€~€~~}€€~€}€€~}~€€~€~~€~~€~~~€}~€~€€}€€~~€~~~~€}€€€~€~~~€}€~€}~€~€€~€~€}~~~€~~€~€€~€€~~€~~€~€~~~€~€~~€~~‚€‚}€~€~~~€~~~€€~€~~~~~~~~€~~€€~€}€~~‚€}~€~~€}‚~~€}€}€}~€}€€€~~~€~‚€€€~}€€~€€~~~}€~~€~€}€€}€}~€}€~~~€~~~~€}‚~~~~~€~~€}€€~€~€}~~~~€~~~€~}€~€~€~~‚€€~~~~€‚~€~€~~€~€€€‚~}€~~~€€}~~€~€~~~~~€~}~€~€~~~‚~~€}€€€~~€~~€~€€~€~€~}€~€€~€~}~€}€€}€}€~€~~€~~~}€~€~€~€~~€~~€~~~~€}~~€}~~€~‚€€~}~~~€€~~€~~~€~€~~~€~‚€€~€~~~~€~}€~~€€~~}~}~~~€~€€€~}€~~~€~€~~~~~~€~€}€€~€~€~€}~€€€~~~~~€€~~€~€~~}~~~€}~€~€€€~~€~€}€€~€}€~€~~~~}€€€~~€~~‚€~~~€~€€€~~€}€~€}~~€€~€~~~€~€~€~~~~~€€}~~~~‚€€‚~€}~~~€€€~€~~}€~~~‚~~~€}~€~€€€€~€~~~€~€€€~€~~~€~~~€}€~€~}€~~€}~€€€€~€~~€~€€~€~~~€~~~€€~~~€~€~€}~~‚~~~~~€€}~~€€€~€~~}€€€€~~~~~€~}€~€€}€~‚€~~~€~€~~~€~‚~€~}€€~‚€~€~‚€~€€~~€~‚€}~€~€~€~~~€€€~€~€~~€~€€~€~~~€}€€~~~€~~€€€}€~€~~€€€~~~~€}€~€€~€~~~€~€~€}€~~~‚~~~€€€~€~€~~€€~€~~~~~€€~€~~~~€~€~~€~€~€~~€~€~€}€~‚€~~~~€~€~€~~€~€€€~€~‚~~~€~~€€€~€~~~~€€~€€~€~€~€€~~~~~€}~€~€~~‚~€~€€~€~~~~~~€~}~~€~€€~~~~€~€€~€~€~€~€}€~‚~€}€~€}~~€~€~€}~€~~€€~€~~~~€~~€€~‚~€~~~}€~€€~€~~~‚~~€}€}~€~~~€~€~€}€~~€~~€€~€~~€€€€~~€~~€~€€€~€~~€~€~€~€€~}€~~€}€~€€~~~€~~€€}€~€~€€€~€~€~~~~€€~€~~~~€~€€~€€}€~€€~~€~€€‚~€~‚~~~~}€~€€€~€~~~€~€€~€~~~€~€~€€~€~€}€~~~€€~€~€~}€~~~~€~€€~€~€~~~€~~€€~~~~~€~€~€€~€~}~€~€~~~€€€~€~€€}€€}€~€~~~€€€~~€}€~~~€‚~~€~€~~€~~€}~€}€~~€€}€€~~~~€~€}€~~€~~~€€~€€~~~~~‚€€}€~~€~€~~~€€~€~~~€~€€~~~~€~€~~€~~~~€~€€~€~~~~€€~€~€~}~€€~€~~€~€~~~~~€~€}€~~€}€~~~€~~€€~~€~~‚€~€~€€€~€~€~~~€~€~€€~€~€~€~~~~€~€}}€~~~€~~€~~€~~€€€~~€~~€}~€‚€~~~€€~€€~}€~€}~€~€~~€€~€~~~€~€~€}~€~€€~~~~~~€€€~~~€~€~€~~~€}€~€~€~~~}~€€€~~€~~€~~~~~€€~€~€}€~~€}€~~€€~€€}€~€~€~€~~~~€~€~~€€~~~~€~€~~€}€€~€~~€~€€~€}~€}€~€€~€~€~‚€~€}~~~€}€~€~~~‚~~~€~€~€~€~€~€~~~~~~~€~€€~€~€~€€~~~~~€~€~€€}€}‚~~~€€}€€~€~~€~€}€~~€~~€‚~€€}€~€~~~€~€~€}€€~~~~~€€~€~}}€~€~€~€}~~€~€€~~€~€~€€}€~€~€~~~€~‚€~€€~~~~€~~~€€~€€~€€}€~~~‚~~€€~€€~~€€€~~~~~~~€}€}~}~~€€€€€~€~~~~€~€~~~~€€€~~€~€~~€~€~~‚~~€€}€~€~€~€€€€€~~€}~~~~€~€~€~~~~€€~€}€€~€~~~‚€€€~~€~€~€€}€~€}~~~}€~€~~~~€€€€~~€~€}€~€~€~~~~~€~~~€~~€~~€~~€€~€~€~€€€}~~~~€~€€~€~~€}~~~~€€€€}€€~~€}€~€€~€€~~}~~~€~~€~€}~~€~€~€}€~~€~€~€~‚€~€€~€€~€~~‚~~€€€~~~€~€~€}€€~~~~€~€~€~€~€~€~€€€€~€~~~€€~~€€~€€}€€~€~€~€~~~~€€~~~€€€€~€~€~€~~‚~€~}~€~€€}€~€~€€~€}€~€~€€~€€~€€~€~€~~€~~€~~~€~€‚}~~€~€€~€~€}€€~~€~€€~~€~~€~€€~~~€‚~€€~~€}~~~~€€~€~€€~€~~~~€~~~€~€~€~~~}€€€€~~~€€€€~€~€€~€}€}€~~~~~€€~}€~€~~€}€€~~~~~€~~€€~€~~‚€~€~€~€€}~~~~€€€~~€~~~~€~~€~€}~~€~€}€~€~~~‚€€€~€~~}}~}€~€}€~€~€~~~~~€~€€~‚€~€}€~€~~~~~€~~€~~€~€~~€~€~€~~€}€€~€~€~€~€~€~€~~€~‚~~~€~€€€~~~}€~€~€}~€~~€~~~€~~€~~€~~~€~€~}€}€~}€€~~€~~€~€~€}~~€~~‚€€€~~€~€€€~€~€}€}€~€~~€~‚€€~€~~€~€€~~~~€~~~~~~~}€~€€~~€~€~~~€}€€€~€~~€~€~€~‚€~€~~€}€~~~€~~€~€~~€~€€~~~~~€}~€~€‚~€~~~€~€~€€}€~~€~€~~€}€~€~€}€~€}€~€~€€~~€~~~€~€€€~€~~~€€~~€~€~~€~~~€€€~~~€~€~€~€~~€}€}~~~~€}€~€€~~~~~~€€}€€~€}€~€~€~~}€~€€~€~}~€~€~€~‚~€€€€~}€}€~~~€€€€~€~~€~~€€}~~€~€€~~~~~~}}€€~€~}~~€~~~~~€~€€~€€}€~€~~~~€~€~~~~€~~€~€~~‚}~€~}€~~}€~~€~€€~~~‚€~~~~€~€€}€}€~~€~~~€~~€~}€~€~~€€€€~€~€~~€€€~€~~~€~€€~€~~€€}~}€~€€~~~~~~€~€~~€~~~~~€€~~~€€~~~~€}€~€~~‚€‚~€~~€~€~€~~€}~~€~€~€‚€~€~}~€~~~€~€~~~€~}~€€}€}~€~€~~~€~€€~€~~€~€€€€~~~~}~€€~€~€~€€~€€~~~€€€‚~€}€~~‚~~~€€€~€~€~~€~‚~€~€~€}€~~€~~~€~€€~€€€~€~~~~€}€€~~€~~~€€~€~~}€~€~€€~~€~€}€}€}€€~€€~~~~€~€}€~€~~~~€€~€~€~~€}€~€~€~~~€~€}€~€~~€~‚€~~€~~€€€€~~‚€~~‚~‚~~€~€~}~~€~€‚€€~~€~€~€~€~€~€~€~€~€~€~~€~€~€~€€€~€~~€~€€€~~}€€~€~~~~~‚}~€~€€€€~€~~~€~€~~€}€~}€}€~~~€~€€€~~~€~~€‚~}€}€}€~‚€~~~€~~€~€~€~€€~€€~€~~~~}€~€€~€~~~~€~€€~~}€~~€~€~~~~}€~€}€}~~€~€~}€~~~}~€~}€‚~}€~€~€}~€€~€~€~~€€~€}~~€~€}€~€~€}€~~€€€~€~~}~}€€~€~€~€€~~~~€€€€~~}~~€~~€~~~~€€~~~~€~€~~€}~~€~€~€€~€}€€~~€€€~~~~€~~~~€~€€}€~}~€€~€~€~€}€}€~€}€~€~}}~~€~€€}€}€~~~~€~€€€€~€~~~~€~€~€~~€~~~~€}€€~~€~~~€~~€}}~~~~€~~~€~~€~~€~}}~~~~~~€~€€~€~€~~~~€~€~€}~~€~€€€~€~~~~€€~€~}€~€~€~~€~‚€~}€~€}€~€~~€~~€‚~€€~€~~~€~€~~€~€€€€~~~~€~€€~€~€~~€}€}€€}€€}€~~~€~~€~€~€~€€~€~€€~€~~~€~€~}~~~~~}~€€‚~€}€~~~€~‚€€}€€~€€~€€}~~‚~~€~€~€€~€~~~~~€}€~€~~€~~€}€~~~‚~€€~€}~~~~€~€€~‚€~€}~~~‚~€~€~€€~€€~€~~~€~€~€~~~~€~€~~€~€€~€~€~~€€}}~~€‚~~~€}€~€~€~€~~~€€}€~€~€~~}€~€€~€~~€~€~€€~€~~~‚‚}~~€~€~~€~€~~€~€€€€~~~‚~~€~€~€~~€€€~€~€~~~€~€€~€~~€~€€~~~€‚~~~~€~€€~~~~€‚~€~‚€~~€~~~€~€~€~€~~~~~€}}€~€~~€€€~~€~~~€}€€~~€~€€€~}€~~€}€}~€}€€~~~~€~€€~€~}€~€€€€}~€~€~€}€~€~€~~€~~~€~€€€~€~~€‚~€~€~€€~€~~~€~€}~}~‚}~€~€€~~€€}~~~~€~€€~€~~~}~~~~€~~~~~€€€€}€~~€~~~~€~€~€~~~€€€~€}€~€}~€€‚~€~~€~€~€~~€€€~€~~€~€~~~€~€€~€~€~€}~€}€~~‚€}~~€€€~€~€~~~€~€~€~€‚~~~~€~€}~~€~€~€~~}~~€€€~~~~~~€~€}€€~}€~~~€~€€~€~~€}~~€~}€~€€}‚~~~~~€~€€~€~€~~~‚€€}~€~~~~€~€~}€~~~‚~€‚~}~~~€~€}€~€~€€~€~~~€~€~€~€~~~~~€~€€~€€~~‚~~€~€€}€€~~~€‚~€~€~~€€€~€}~~~€}~€~€~~€~€~€}€€~~~€~€~€~€€€~€~~~€~~~€|€~€~~€~~~€~€~~€~~€~€€~€~€}€}€~€}€€~€~~~€~€~~€~~~€~~~}~€€€‚}€~€€}€~~}€~~€~€}€~€~€~~~~€€~~~€€}~~}‚€€~€~~€~~~€~~‚~~~€}}€~€€}€}~€~~~€~}€€~€}‚~€~€~~€}}€~}~€€~}€~~~~€}€€~~~€}€€~}€}€~~€€~€~~~~€€~~~~~€~€}~€~‚~€€€€~€~€~~€€€~}~~}~€~~~€~€~€€€€~~~~~€€~€~~€~~~€‚}~~€~€~}€~€€€~~~~€~~€~€}~~~~~€~€€~€~€~~~~€~€~€~~~€~~€€~~€~~€~€€~~~~~€€~~€~~€€}€~~~€‚~€~€~€€~~€~~€€~~€~€~€~€€~~€~€~€~~~‚~€€~€~~~€~€€€~€~€€~~~~€}~~‚€€‚~€~~€~~~€~~€~‚€~€}~~~€€€~€~~}}€~€€~€}€€}€~~~€€€~€~~~€€~€~~€~€}€~~€~€~~~€~€~€€~}~€~~}€}€~€€~€~~~€~€€€~~€~~~~€€}€~€~€~€~~}~€}€~€~€~€~~~€~~€€}}€€~€~€~~€}~€€€~€~}€}~€€~~€~€~€€€~~~€~~~€~~€}~~~€}€~€~€~€~~€~€€~€~‚}€~€~€~‚~~€€}€~~€~€}}€}€}€~~~~~€~~€~~‚~€~€~€€}€~~€~~~€~€€}~~€~€€~€~€~~‚~~}~‚~~€}€}~€~€~~€~€€~€€~€}€~}€~€€~~~~~~~}€~}€~~~€~€~~€~€}€€~~€~€~~€~€~€~€~~~~~‚~~€‚~€€~~~~€€~€~€~~~€€~€~€~~€€€~€~~}~~~€}€~€~€~~~€€~~€~€€~~~~~}€~€~~~€~€€€~~~~~€~€~~~~€~~€~€€€~€~~~€}€€~€}€€~‚€~€~~}€~€€~€}}~€€€}€~€€~~~~~€€~€~~}~€~€~€}€€}€€~}~~~~€€~€~€~€€~~~‚}€~€}€~€€€~€~~€~}‚~~‚€~€~}€~€~~~€~€~€~€~~~€}~€~€~~~€~€€~€~~~€€€€~}~€€€€~€}~~€~€€~€~~€}€€~}~}€~€€€}€~€~€~€€~€~€~~‚~€~€‚~€€}~€}€€~€‚~€~~‚€~~€~€~€~€~~~€~€~€€€~€}~~€~~€€~~€~€~€~€~~}~~€~€~~€€}€~€}€~~~~~€~€}€€~€~~~€‚~€~€€‚~€~€~~~€€~€~€~~€~~~}€~€€~~~€€~€~€~€~~€~~~~~€€~€~€~}€~€~€}€~€~~€~~~}~~€~~‚€~~~}€~~~€~~~~€~€~€€€~~€}€€~~~€}€}~€~~~€‚}€€~€}€~‚€~~~‚~€~€~€~~~~€~€~€~€€~€~€~~€€€€~€~~€€‚~~€}}€€}€~~~€~~~€~€€~€~~‚€~~~€~€}‚€~~€~€~~~€~€€~€~~€‚~€~~~}€~€~€~~€~€€~~~€~€€~€~~}~~~€~€~~€~~~€~€€~€~€€}€~€~~~‚~~~€~€€~~€~~~€~€~€~~~€~€€~€~~~~~‚~€~€€~~€~~~€~~€€€~€~~€~€~€~~€~€€~€~€~~~~€~€€€€~~~€~€~€}€~€~€~~€~}€€~€€}~~~€~€~€€€€€€~~~~€}€~€‚~€}€€~€~~~€~€€€~~~~€}€~€€~~~~€~€€~~~~‚~~€~€~€~€~€~€~~~€~~~€~~€~€€€€~~€~}€€}€~€~€‚~~€~~€~€€€}~~~€€~€~€~€~€~~€~€€€€€€~€~~~~~€~~€~~~~~€~€€€~~~~~€~~~€~€€~}~€~€‚€~~€~~€~~€~€~}€~~~~€~~€~€~~}€~~€~€~~}~€~}€~~€~~€€€~€~~€~~~~}€~€~€~~€~€~~€€~~~~€~~€€€‚~€}~~€~€~~€~€~€~~€~~€~€€~€~€~~€€~€~~€~€~€}€~€€~€~€~€€~~€~€~€}~~~~€~€~€~€~}~€~€~~~€~~€~€~~~€€~~~}~~€}€}~€}~~~€~€~~€~€~€€~€€~}€~€}€}~~€€€€~~€~~€~€€€~€~~€~€~€~€~~~~~€~€~}~€~~~€‚}€€~€€€~€}~~~~€~€~€~~~€~~~‚~€~€}€}€~~€}~€~~~~€~€}}~€€~~€~€~~€~€~~€€~€~€~~~~~€~€~~~€~~€}~~~‚€€~‚€€~~~€€~€~€~€~}€~~€€~€~~}€~€~€€€}€}~~€€€~€~~}~~‚~€~€~~€~~~€~~€~€~~~~~€€}~~~~€€~€~€~€}~~~€€€~€~~~€~}~}~~~~~~‚~€~€€~~€~~~~€~€~€~€~~}€}€~€~€~€€~~~€~~€~~€~€~€~€€~€}€~€~~‚€~~€~€~€~€€~~€~~€~€~€~€€}€~~€}~}€}€}€€€~~}€~€€~€~}€~€~€~~~€~€~~~€~}€~}~‚~€€~€}€}‚€~€~€~€~~~~~€€~~€€}€€€~€}€}€~}€~‚~€~~€~€~€~€~€~~€~€~€€}‚€~€}~~€}€}€~~€~€~~~€~~€~~~€~€€€~~~~~€~€~~€~~~€~€~~~€~€~€€~€~~€~€~€~€~€€€~€}~€~€~}~~€~€€€~~~~~€}~€~€€~€€~‚}~~~‚~€€~€~}€~~€~~~~€}~€€€~~~~}~€€~~~~€~~€€}€~~€~€~~€~€}~~€€€‚~}~~~~~€}€€~€~~~€}€€~€~~~€~€€€~~€~~€~~€}€~€~€€~€}~~~€~€~~€€‚~}€~€~}~~}‚~~€~€€~€~~€}€€€~€~€~~€~€~€€€~~~€~~€~}~~€~~€}}€~~€€~€~€~}€~€€~~~€~€€~€~~~~€~€€~€~€~~€~€€~€~~~€~€}~~~€€€~~~~€~€~€~~~€~~~~~€~€€€~€}~€~‚€~€~~€~‚€~~€~€€€€~€~~€~€}~€~€~€~~~~}€~€~€~~~€~€~€~€~‚€‚~€~~}€~~€~~~€~€}€~}€~€€€~€}~€}~€~€~€~~€~~~€~~}~~~~€~€~€~€€~€€~€~€~}~~€‚}€€}€~€~€~~€€}€~€~~~€€~€~~€}€~~€~~€}€~~€~€€€~}~~€~€~~€~€~€~€~€~~€~€~~~€€~€~~€~€€~€~~~~~~~€~€~~~€€€~€€~~€€~€~~~€€€~~€~~~€~€€~€~~~€~~€~€~~~~€}~~€~€~€~€~€~~€~€~}€}€~€€~€~~€~~€~€~~€~~~€~~~€~€}€~~~€~~€~€€€~€~~~~~}~~€‚~€}€€~€€€~€}~€~€~€€~~~~~€~€~€~~~~~€}€€~€}€€~‚€~~~~€~€€~€€~€~~€~€~€}€~~~~€~€€~€~~}€~~€€€}€~~~€}€}€~~~~~~€~€€~€}‚€~~€}~€~€}~€~€€€~€~~€~€€~€~~€~€~€~~~€}€€~€~~~€~~€~€~~~€~~~€€~€~~~€}€~~€€~~~}~‚~~€~€}‚~~~€~~€~~€~€€~€}~~€~~€€€€~€~~~~€€€}€~€~~‚€~~€~~~€~€~‚~~~€~~}€~€€€~~~~€~~€~~€~~~€}€€~€~€~~€~€~€€€~~~~€€‚~€}€~€€~€€}€}~~~€~€~€~€~€~~~~~~~€~€€€€}~€~~~~~€~~~~~€~~~€~€~€~€~~~‚€€~}~}~~~€~~€~€~~€~~~€~€€~€~~~~~€€~€}€~~~~~€€~€}€~~€~~~~€~€€~~~€€€~€~~€~€€~~€~}~€~€}€~~~€‚}€€~€~~~~€€‚}}~€~€~~€~~€~‚€~€€~€~~~€€~€~~~~€}‚€€~~€~~€~}€~€‚€}€~~~~€€}€~}€€~~‚~~€~~~~€~~€€€€~€~€~€€~€}‚~~~}~€}€}€}€€~€~€~€~€€~~~€~€~}~~‚~~€~€~~~€~~~~€~}~€~€€}€~~€~€€€€~€~~€~€~‚}€€~€}€~€~~~~~€~€~€‚~€~€~~€}~~~‚€~~}€~€~€€}€~~~~€}€}€~~€‚}€~~~€~‚€€‚~€~}€~€~€~€~~~‚~~~€~€~€}‚€}~~~€~€~~~€~€~€€}€~€~}€~~€~€~‚€~~~€~€~~€~€~€~€}€~€}€~~€~€~~~€~€€~€~~€~€€~~~~~€€~€}~~~€€€~}~€~€€~€~~~~€€€~€~~}€~€}€}~~~~~~€~€~~€~€‚}~}€~€~~~€€~}€~~~€~€€~~~~~~€€€€~~€~}€~€}€€~€~€€}€~~~~€~€~€}€~~~€~~~~~~€€€€~~€~€€~€~~~€€}€~~€~‚€~~€€€~€~~}€~~€~~~€~€€~€~~~€~€~~~€~€~€~€~~€~€€~€~€~~~~~€~€~~~~€~~~€~€€}~~€~€~~€€~€~}€}~~~€}~~€~€~‚€€€~~~€~€€€~€~~~€~‚€~~~~~€~€~€€~~~~€~€€~€}€€~€~€}€~€~~€~~€~€~}€~~}~€€€~€~€~€~~€€~€~~~~€€~€~~€~€~€€~~€~~€~~€€‚}€~~€~€~€~€}€€€~~~€~€€€~€~~€~€~€~~~~~€}€€~~~~~~€}~€}€€~~~€~€~~€~~~€}€~€€€€~€~~~~€€~€€}€~€~€~€~~}~€~€€~€~€~~~€~~~~~€}€€~€~€€~€~~€}~€~~€}€€~~~€~~‚€}~€}€}€~€~~€~~~~€~€~}‚~~~~~€€~€}€~~~~€~~€~~~~€~€}€€~~~}€~~€€~€~€~~€€€}€~~~€~€€}€~~}~€€~€~~~~}~~€~€~~~~~€~}€€€~~~€~~€~€€}~~~~€~€€€~€~€~€~€~~€~€~€~~€~€~€€~€~‚€€~~~~~€€€€~€~~~~€‚~~€~€~~~~}€~€€€€€}€~‚€~~~€~€€~€~~~€~€€~€~~€~€€€~€~~~~€€€€~~~~‚€€~~~€~€~€~}€~‚~€~€~€~€€€~€~~~~€~~€~~~~€~~€~€€}€€~~~~~€~€~€~€~€~~€~~~€~€~~~~~~€~€~~€}€€~€~€}€~~~~}~~€~€~}~~~€}€~~€~~~€€€~€~~~€~€~€€€~~~~~‚€‚~€~€~}€~€~}~~€~€}€}€~~€~€~~€}€€€~~€~~~€€€~~€}~€~€€~€~€~~‚€~~~~~€~€~€€}€~}€€€~~~€~~€~€}€~€~~€~€€~~€~~}~€€€~€~~~€~~~~€~€}€}€€~€~~~‚~~~€~~€~~~€}~}€~~~€~€}€~€}€€}~€~~€~~€~€~~€~~‚~€~€~~€€~€~~‚~€~€~€~€~~~~€~€~€~€~€~€~€~~}}€€}}€~}‚€~€€~€}~~~~}€~€€~€€~€€~€~€~€~€}‚€~~~€€~~}~€~€}~~~€~€~~€~€~€~~€}~€€€~€}~~~€€~€~€€~€~~}~€}€€}~~~~~€}€€~€~€~~€~~€~~€~~€€~€~€~~€~~€~€€~€~€€~€~~~~€~€~€~€~~~~~€~€€~€~~~€}€€}€~~}€~€€€~~€~~~~~~}€~~~€~€~~~€€€~€}~~€~€}€‚~€~~€~‚~€}~~€€~~~}€}~~€~~€~€~~~€€~€~~€~€~}€~€}€~~~€~€€~€~~~€~€~‚~€~~~}~€€~€~~~~€}€~€}€€~€~~~~€€~}~€‚~~~€‚~€~~~€~€€~€~€~~~~~~~€~€}€~~‚‚~~~€~€~€~~~~~€}~~~}€~€€€€‚~~}€~€~€}‚€€~~€~~€~~€€~‚€~~~~~€~€€~‚€~~~~€~€€~€~~~~~€~€€~€~~€~€~~~~~€~€~€~€~~€~~€€€€}~~€}€~~~~€~~~}~€€~}~~€€‚~~~‚~~~€}€~€€€~€~€~~~~€~€~€~€~~~~~~€‚~~~€~€€~€~~~€~€~€~~€~€}€~~~€€€€€~€~€~~€~~€~~~€~€€~€~}~€€~~~~€~~€~€€~€~~~€~€€~€~~~€~~€~~€€€€~~~€}}}€€}~€}€}}~€€~~€~}€~€€~€}€~€~€~~~}€€}€}~€~€~€€~€~€~~€}€~€~€~~€‚~~~}€~~€€€~~~€~€}€~€~€€~€}€~~€~€~€~~€~~~~€~€~€€}€€~€~~€}€€~€}~~~€~€€~€~€~€~~~~~€€~~~}€~€€~€~€€~€~€~~~€}€€~}€}~€~€~€~~~~€~€€}€€~€}€~~~~~€€}€~€~~~‚~~€~~~~€~€~€€€~~€~~}}}€~~€~~~€~€~~€~~€~~~‚}~€~€}€~€~€~~€}€~€€~~€~€~€€}~€}€~‚€~~}€}€}}€~~~€}€€}€~€}~~~€~€}€~~~€€~€~~~€~€€~€~~€}€}€~€~~~~€~~}~€~~€~€~~€~€€€~~~€}€}}€~€€~~~~€~€€~€~€€~€~€}~€}~‚~€}€~€~~€~}€~~€~~€~~€}~€€}~~~€~€€~~~€~€€~~}~~‚~~€~€€~}€~~€~€~€~€~€~€~~€}€€~€~€~~€~€€€‚~~}~~€~~€€€~~~~€‚~~€~}~~~€~€€~~€~~}€~€€~€~}~€~~€~~€€~~~}€~€€~}~~€}€~€}€€~~€~~€~€€€€~€~€~~~~~€~€}€~€}~~€}}€~~~€~€€€€~}}~~~~€}€€~€}€~~~~€~€€}€~~€~€~€~€‚}€€~€~}€~~~‚~~€~€~~~~~€}~€~€}€€~~‚~~}€€~€}~‚~}€~€}~}€~~€~}€€~€~€~~~~€€‚}€}}~}}€€~~~€}€~~€}€~€~€€~€~€~€~€€€~~~~~€€}€~~~€~€}~€€€~~€‚~~€~€~}~~~€}€€~€~~~€‚~}€€€~}€~~€~€~€}~~‚€~~€~~€~~€€~~~~~~}€~~€€€€‚€~~~€~~~€~€~€~~€~~€~€€~~€~~~€€~€~~~~~€~~€~~~€}~€~€€€~~€~~€~‚€~€~~~€}€~€~€~~~~€~~€€€}}~€~~€€~€~~~€€~€~€~€~‚~~~~€€~€~€€~€€~~€~~~~€€~~€~~€~}~}€€}€€~€}~~~€~€~€~~}~~~~€}~€~~~€~€~€~~€~€€~~~€~€€€~~~}€€€~€~~~€€€~~€~~€€~~€~€}€~~~€~€€€~~€~~€~€€~}€~~€~€€~€~€~~€~€~€€}€~€~~~~€€€€~€~~~~~€}€€~€~€~~~~€~€~€~€~~~€}€~€€}€}~~}€~‚€~€}~~€}€€}€~‚~~~~€~‚~€}~~€~~}€~€~€€~€~~~~€€‚}€}€~€~€€~~~~~€~~€~‚€~~~€}€~€~€€~€~€~~‚~~~~€~~~~€~~€}€~€~~~€€~€}‚~~~~€~€€~~}€~€‚~€~€~~~‚~}€~€€~~€}~€~€~~€~€€~~€~~€~€€~~€€~€€€~€~~~€€~€~~€}€€~€~~~~€~€~‚~~~~€~~€~€€€~~€~~~€~€}€~€~~‚€~~€~€}€~€~~~~€~€}€~€~€}~~~€}~~€}€~€~~}~€~€~€~€~~€~~~€~€}~~~}€€}€~€~~€~~€~€~€~€}€€~}€}€~€€~€}€~€~~~~~~}€~€~€~~~~~~€~~~~‚~€}€€}€~~~€~~‚€€~€~}~€€‚}€}€~~€~~~€~€}€~~€}~€~€~~€~~€€~€~~~€€€~€~~~€~€~~€~€}~~~€€€~€~€~}~~}€€~€~€~€~€€}€€~~~‚~€~€}€~€~~€€~€~~~€~€€‚~~~~}~€€‚~~€~~€~~~€~€~~~€€~~~~~~€~}}€€~~€~€~~€~€~€~~~~~€~€€~€~~€~~€~€~€€~€~~~~~€~~€€~€€}~€~~€~~~€~€~~€}€€€~}€~~€~€~~~€~~~~€~€€~~~€~~~€€€~€~€~~}€~€}€~€~€~~€~€€~~~€~~~€~€~€~€€€~~~~~€~€~€}€~~~~~€~€~~€}~€~€€~€€~€~€~‚€~~~‚€~~}~€~~~€~€~€€~€€‚~~€€€~€~~€~~€~€~~~~€~€~~€€~€~}~€~€~}~€€~~€~~~~€~~€~~€~€}€€€~~~~€~~€€}€~~~€€}€~€~€~€~€~~~€}~€~~€€~~~~~€~€€~~~~~~€€~}~~€~€}€~~~~€€€~~€~€€€~€~~}€~€~€}€~€~€€~€~~~€~€~€~€~€}~~~‚~‚~€~~~~€€€~€~~~~€€€~€~€~€}€~‚~~~~€~~€~€~€}€~~~€~€€~~€~€~€~€€~€~~€~~€~€€~€~€~€~~‚}~~€~€}€~‚€~€~€€~~€€€€~€~€~~€~~~€€~€~~~€~€}€~~€€~€€€~~~~€~~‚€€‚~€~~~€}€€}€~€~~€~~~~€~€}€~~~~~}€€}€~€~}‚~€}€‚€€€~€~€~€}~€~€~~€€€€~~~~€~~~}~€€€€~€~~~€~€€~€~€~€€€~€~~~€~€~~€~€~~~~€~~€~~~€~€~€~€~~‚}~~~€€~~~~~€~€€}€~€~€€~~€~€~~~~€€€~~~€~€~~~~€~~~€~€€~€~€~~~~~€~€}€€~~‚~€~~€€‚~~€~€~€}€€~€~€~€~~€~~~€~€~~~~~€~€~€€~}~€~€€~€~~€€~~€~~€~€~€~~€~€€€€~~~€~€€€~€~€~€~~€~€~~~~~€~€~€~€€~€€~‚€~€}~~€~€~~€}€€}€~€~~~€€€~~~€~€€~~‚~€~€~~~€€~~€~~€€€~~~}~€}€~€~~€~~~€€~€~€~~€~}‚~€~€~~~~€€€~}€~}€~~~€~~€~€~~~}€€~€€~€~€~€~~~€~€€€‚~~€~~~€~€€~€~~~}~€€€~}~~€€€~~~~~~~~~~~~€~€~~€~€~€€~€~~€~€}€~~€€}€~~€~€~~~€~~€€~~€~‚€€~~€~~€~€}~€}€}~€}€~~}€€~€~€~€€~€~€~€€~€}€~~€~~€~€~€~~€~‚€€~~~~€~€~€~~€}‚€€~€}~€~€~€€~€}€€~~}~~}€~€~€~‚~~~}~€~€~~‚}€~€€}}~€~~~€€~~~~~€}€€~‚€~~~€~€€~~~~~~~€~€~€€€€~€~€~~~€~€€~~€~~€~€~€€~~~~~€~€~~~~~~~€~€€~~}€~€€}~}€~}~€~~€}€~~}}€~€€~~€}~~€}€€~~~~~€~€~~€~€~~~~€~€€}€~€~~~€~€€~}~~}~~€}~€~€~€~~~~€}€}€€€}€~€~€~€~~€}€~€~€}€~€€€~€}~~€~~}€~}€~€~€~}€~~€~}~~€~€€~€~€~~~€~~€€~~€~~€~~€~€€~€€~~~~€~€€~€~€~€~€€~~€}€€~€~~~€~~~~~€~~~~€~€€~~~~~~~€~€€}€~~€~€~~~€€~€~~€~~~€~€€~~~~€€}~€€}€€}‚~~~~€~}€~€~~~€€€~€}~~€€€~€~~€~€~€~€~~€~€~~€~€€€~~~€~€}€~€~€€~€~~~€~‚€~~‚~~‚~€~€~~~‚€€~€~~~€€~€~~€‚~€~€€~€~~~€~€€~€€~~€€~~€~~€€~~~~~€€}€~€€~}€~~€~€~~~~€~€€}~~~€~€€~~€~~€~€~€}€~}~€}€€~~~€}€~€~‚~€~~}€~€€~€~~~€}€~€€€€~€~~}~€~~€~~€~~€~€~~~~€~€€~€~~~~€€€€}€~€~€~€€€~€~~€~€~€~€€~€~€€~€~~‚}~€}€€~€€~€}~~~~€~}€~~€~€€€~€~~~€~€~€€‚~€~€€}€€~€~€~~~~~€€~}€~~€}~€‚~€}€~~€€~}€}€~€~€€~~~}€~~€~‚~~~~€~~€~€€~€~~}€}€~~~}~€}€€}€~~~€~€~€~~€~€~€€€€~€~€}~€€~€}~~~~€€~€€}€~€}€~~~~€‚~€~€~~€}~~€~€€~€€}€~~€}~‚€€€~~€~~€~~€~~€~€€~€~~€~€€‚}~€~€€‚~‚~~€~€€~€~~€~€€€~}~~€€‚~€}~€}€~~~~~€}€€~€~€~~~~~€~~€~€~€€~€~~~€~€€~~€~€}€€}€€~€~€~~€~~€~~€€~€~~€~‚~€~€~~~€~€~~€~€~€~€~€€~€}~~~€€~€~~€~€}€€}€€~€~~~€~€€€€~€~~€~€~€€~}~~~~€€€~€~~€~~€~~~€~€~~~~€~€}~€}€~‚~~~€~‚~€€€~~~€€€~}~€}€~~~~~€~€~~€€~~~~€€€€€~~~~€€€€~€~~~~€€€~~€~~€~€€~€~~€~€~€~~~~€~€€}~~~~}€~€~€~€~~~}€€~€}€~~€€}€~€~~~‚€~~€~€}}~~€~€~€~€~€~€~~€€€€~~€~~€€~€~€€€~}€~~€~‚€€}~~€~€€€~~~~€~~~‚~~~~€~€~€~€~€~~€~~€}€~€}~€~€€}~€~€€}€‚~€~€~~~€}~~~€}}€~€~€~~~~€}~€~}€~‚€€€~~~~~~~€~€~€~€~€~€}€~~€~€~€€~€~€€€~€~~~~~€}~€~}€~~~€€€}€€}€~~‚~€~€}~}€~€~€~€~~€~€€~‚~€~€€}€~}€€}€€€~~~€~~€}€}€~€~~~€€~€~€~~~€~~€~€€~€~€~€~}€~€€€~~~~€€€~~€€~‚€~€~~}€~~€~€~~~~~€~€€~~€~~~€~€~~~~~€~€~€~€}€~}~~€~~€~€~~~€}€~~~}~€~~€~~€~€~€€~€~~~~€€~€~}~€}€}€}€~€~~‚~~~€~€~€~€~€~~~€~€€€€~~~~€€}€€}€~~€~~~€}€~€€€~€}€€~€€€~~€~€~€€~~€~€~€~~~~~~~~}~€€€~€~~~~‚~€€}€~€~€~€~~€~€~€€~€€~€~~~~€}~~~€~~€~~€~~€~~~€~€€~€}€€~€€~~€~€~€}‚€~~~~€‚}~~€~‚‚~~€€~€€€~~~~~€~€~€€~€~~€~€€~€€}€~~~~~‚~~€€~‚€€€~€}~~€~~€~~~~~€~€~~€‚€€€~€}~}~€~~€~~€~€~€~}€~€~~}~€}~~€€}~~€€~~~~~€}€€~€~~~~~~}€~€~€~~€€€}~~€~~€~€~~~~€~€€~~~€~€€€~~~~€€~€~~~~~~~~}~€~€}~€€~€€}€~}~~€~~‚€€~~~~€}~€~€‚~€€~~€~~~~~€~€~~€€~~€€~€€~€~€€}€~€~€€‚€~€}~‚~€‚}€~€}€~€~~~€~€~~€€~€~~~€€~~~~~€}€€€~€~~€~€~~€~~€~~€~€~~€‚~~~€€~€~~~~‚~~€}~€~€~~}}€~€~€€~€~~~€~~}€~}€~~~‚~~€~€~‚€€€~€~€~~€€~€~~€}€€}€€}€~€~€~~~~~~€~€€}€€~~‚}~€€~€}€~~€~€~€€~€~€~~€~€~€€~~~~}~€~€~€}€~~~~~€‚~€~€~}€~€}~€€€~€~~}€€~€€}~€€}€~~~€~€~~€~‚€~~~€~€€~€‚~€~~~~€~~€€~€~~€~€}~}~€€~€~€~€€~€~€~€~~~~€~€~€~~€€~€~€~~~€~~~~€}€€~€}~‚}~~€~€~~€~~€~~~€~€~~€~€~€‚~~€~€~€~~~€}‚~‚~‚}}}€~€~~~€~‚~€~€~~~€‚}€}~‚~€~~~€~€~€~~~~€~~€€~€~€~€€~€~€~~€~€~€~€~~}€~€€€€~~~~€~}~~~€€~€~€~~€€~~€‚~~€‚~€~~~€€~~~~€€~€~~€~€}€~€~~~~€~~€}€~€}€~€~€€~‚}~€~€~}~~€~~€€~€~~~€~€€~€~}€~€€~}€~~€~€€~~~€}€}€€~€}~~~~~~}~€~€}~€~€~~€€~€~~€}€~€€~€~~}~€~€~€€~€~€}}€}~€€~€~~}€}~€€€~€~~€€~~~~€~€~€}€€~~€~€€€€~€~~~€}~~€~€~~€~€~€~~‚~~€~€~€~~~€‚}€€~€~€~}~~€~€~€}~~~€~€€~~€~~~€~€~€~~€~€~€~~€~€~~‚~~~€‚~~€~€€~€~€~}~~€}€€~€~€~€€~}€~~~€}€~€~€€~€€~€~~~€}~€€~~€~~€~~€€€~€~~}€}€~}€~€€~€~~€~€~~~€~€€~€~~€~~€€€}~~€~~€€~~~~€€~€~€~€~~~~€~~€~€~€~~~€~~€€€~~€~‚€}€}€~~~‚~‚~€€~€~€~€~~~€~€~€€€~€~€~~€}€~€~€~€}€€}€~€~€~~~~€~€~~~€~€~}~€€~~€~€}~~~~~~€€}€€~€~~‚~~~~€}€}€€}~€~~‚€€~~~~€~€~€}€}~€€‚~€~~€~€€~~~~€~€}€~€~€~~}€~€€}€~~~~~€~€€~€€~~~€~€€}€~~€~€~~}€}€€€€~€~~~€~~€}}~€}€~€~~~‚~~€}€~~}€~~€}€€}€€~~}~€€~~€}~€~~€€~€~~€~‚~~~~€~€€~€~€~~~€}€~€}€~€€€~~~€~‚€€€~~~~€€~€~~€~€€~~~~~€~€€~~~€~~~€~€}~~€~€€€~€~~€~€~€~~€}€}€€€~€~~€}€€€~€~€~~~~€€~€~€~€}€~~}€~‚€€~€~}€~€€€~€~€}€€~€€}~~€€}€}€~~€~€~€€€€~€~€~~€~~~€~€€}~~€~€€}€€~€~€€}€}~~€~€~€}€~~~~€~€~~€~€€}€~€~€€~€~€~€}~~€~€}~~~~~€~‚€€~~~~~€~€~~~~~€~€€}€}€~}~~~€~€€}€~~€~€~}~~}~~~€~~~~€~€€~€~~€€}€~€~~~€~€~~€~€~~€€€~€€}€~~~~€}€~€~€~~€€~~~~€~€€€€}€€~€~€}€~~€~€€~€~}~€~~~~€€€~}€~~~€~~€~}€€‚~€~~~€~€~~~~€€~€~~€~‚€€~€~~€~€€~~€~€~€}~€~~~~€‚}€€~€}}~€€€~€~~}~~}€~€€}€}€~~~‚~€€~€€~€~€}€}~~~€€€€~€~‚~~~€~€€~~~~~~€€~€€~€}~€~~}€€€€~~~~~‚€~€€~€€~€}}~~€~€~~€~€~}€€‚}€~~€~€€~~~~~~~€~€~€€~~~~~~~~€€~~‚~~~~€~€€€€~~~~€~€}€~€~€~}€~€~€~€~€~€~}€~€€~~~€€~~€~€~€€~€€€~~€~~~~€~€~~~~€}€~~€~€~}€~€‚~€€~€~€~€€}€}~€}€€~~}€~~€~~~~€~~€€}€~€}~~€~~~€€~€~~~~€~~~}€~~€~€}~~€}€€}~}€}€}~€~~€€~€}€~~}€~‚~~~€~€~~€~€~~~€€}€€~~€~€~~€~€}~€~~~~~~~€~~}€~‚€€~€}€}€}€~€~~~€€€~~€~}~~~~€~}€~~~}~€}€~€}~~€~€€~€~}‚~€}€~~~~€~~€€~€~€~€}€€~~€~€€€~~~~~~€~€~€‚}€~~€~€~€€~~€}~~€~~€€€~~€}€~€}~€~€}€€~€~€~~~}~€~€~€~~€~~€€~€}~~~}€€~€~€~~~~€~‚~~€~~~‚~~€€~€~€~€~~€€~€~€€~€~€~}~€~}~~~€}~€€~€~~€}~€~€~€€€~€~€~~~€~€€~~~€‚~}€~€€€~~€~~~€}€~€~€€~€€~~~~~€~€~~~~~€~€€€~~€~~}€€~€~€~€€~~€~~€~‚€~~~‚}~€}€~€~€€~€~€~€}€€~€~€~€~€~~~€~~€€~~~}€}€~~€~~€}€€~~‚€~€~€~€~~~€~}€~~€}}€~€~~€~‚€€€~}€~€~~~~~€~€~~~~€~€€~€‚}€~€~€~~€~~€€~~€€~€€~€~~€€~€~~~~€~~€~€~€~€€~€~~~€€€~€~~}~~€€~€~€~~~~€~‚€~€~€}€€}€~~~€~€€€~€~€~~~~~€~~€~~~~€~~€~€€~~~~~€~€€€~€~~}~~€~‚€~~€~~~€~~€~~€~‚~€€~€~~~€~‚~€€}€~}‚€~~~~~~~~~~€~~€€~€~€~€}€€~~€~€‚~~€~~~~€~‚€}€}~~~~~€€}}}‚€€~~€~~€€~€~~€}~€}€~€~€~€~~~~€}€€}€~€}‚~~~€}€~€€€‚~~~~~€~€€€~~€~~~}~€€}€~~~€~~~€~€~€~~~€}€~€}~€€€€~€~€~~~~€}€~€~€~~}€~~~~€€~~~€~€~€~€~~€~€~€~~}€~~€‚~€~~~€~~€€€~~~~€‚~€}€}€~€€~€~~}€~€}~~~€€~~€~€€~~€~~€~€}€€~~~~~€~€~}€~€~~~~~€‚}€~€~€~~€~~€€~€~}~~€}€‚~~€~€}€~~~~€~€€~€~€~€€~€~~}~‚€€€~~€~~€~€€~~~~€~€~~€~~~~€€~€€}}~€~€~€‚€€€€~€~~~~€€~‚~~~~€~~€‚~€€~}€€~€~€~~€€~€~~}~}~~€~€€~~€~~~€~~€€~€~€€~}€~~€~‚€€~€~~~~€~€}~~€~€~€€~€€~‚~~€~€}€~€}~€}~€}€~}€~€~~~}€~€~€€~~€~}~€~€~€~€~~}€~€~~}€~€}€~~€~€€~~}€~€}~~‚~~~€}~€~€~€~~€€€~€~}€~€~€~€€~~}~~~}€€~€~€~€~~~~€~~€~€€~€~€}€~€€€~~~€~~€~€~€~~~€}€€~~~~~~~}€~€€~€}~~€~~€~€~~~~}€~€}€€}€~~~€~€~€~€€}€‚~~€}€~€~~~~€€€€~}€~~€}€€}~~€~€~~‚}~€~~€~€~~~€~€}~€~€~€~}€~€~€}~€~€}€€~}€€}~~~~}€€€~~~~€~€€~€~~~€~€€€~~~€}€€~€~~~€~€€€}~€}~€€~€~~~€€€€~€€}€€~}€~~€€~~~~~€~‚~~~€}~€~€~~€~€~€€}€~~~~‚~~~€~€~}~~€~~€~€‚~€~€€~€~~~€€€€~~€}}~~~~€€€~~~~€~€~€~€~€}€€~€~~~}€~€€€€~€~}€~~~~~~~€~€~~€~€~€~~~€}€€~~€~~€~€€‚~~€}~~€~€~€€€~€}~~€~~~~€}~}€}€~~~€~€€€€~€~~~‚}~€}€~€~€~~~€~‚€~}~€~}€~~€~€}~~~€‚~€€~€~€€~€‚~~~~~€~€€~~€~~€~€€~}€~~}€~€€€€~€~~~€€~~€~}€€}€~~€~€‚}~€~€~€~~~€~€~€~}‚~~‚~}€}€~€~€~~~€€~€}€~~€~€€€~~€~~~€€~€~}€~€€~€~~~~€~~€~~~€~~€~€~€€~~~€}€€~}€~€€~~~~€}€€~~~~€~€~€€~€€~€}€~~~€~€€€~€~}~~€~€}€~€‚}€€~€~‚€~€~€}€€}‚€€~€~~€~‚€}~€€‚}€~€~€~~~€~€€~€}€€~~~~~€}}€~~~€~~€~~€}€€€~€~~}€~€~€}€~€~~€~€~~~}€~€~€€}€€~~€€~€~€€~~}}~~€}€~€~~~€~~~€‚}€~~€~~~€€~€~€€~€~}~~€}€~}€€~~~~~€€€€~~~}~€~}€~€€~€~~~~~€€~~€~~~~€€~€~€~€~~€~~€~€~€~~‚€~~€~€€€€€€~€~~}~€‚~€~€~€~~~~~€€€€~€}~~€~~€€~~€~~€}~€~€~~~€~€}€}~}€~~€~~}€~€€~€~~€~‚€~€}€~~~€€~€~~~€€~€~}€€~€€~€~~~€‚~€~€€~€~}~€}€€~€}~~€~~~~‚€€~€€~€}€€~€~~€~~~€~€~~€~~~~€~€~€€~€~€~‚~€~~€~€€€€~~~~€~€€€~€~~~€~€€~€~~~€~€€~€~~~~~~~~~€~€}€~€~}‚~~€}€€~€~~}~€~~€~€~}}€~~€€€~~€€}~~€~€~€~€}~~}~€€~~~€~€~}€~~€~~~‚~€€}~€~€€€€~~}€}€€~~~~~€€€~~€}~€~€~€~~~€€‚~~~€}~€~€~€€~€~~~€€€€~€~~~€~€~€€~€~~~€€~€}~€}€€€~€~~~~~}€~~€~€‚~€}~€€~€~~~€~€~€~~€~€‚~~~~€~€€~€~~~€~}€~€}€~€~€~~€}€~€€~~~~~€~~~~~€€~€~€}€}€~~‚~€~€~€}€~€~~~€~‚€€~€~~~~€~~€€€~}~~€~€€~€~~~~€€€~€~~~€~‚€~€~€€}€~~}€‚~~€~~}€}~~€~€~€~€~~‚}~€~€~~€~~€~€€€~€~~~~€~€€~€€~€~~€~~€€‚~€}~€~€€€€~€~~€~€€~}‚€~€~€~€€~€~~~}€~€~€€~€}€€}~~~}€~€~€€~€€~€~€~€~€€~€~~}€~€~€~~€}‚~~~€}€}€}}~~€~€~€€€}}€~}~}€~}€€~€~}~€~€€€~€~~~€€~€~~~€~€€~}€~}€€~~€€~‚€~~~}~€}€~~€}~€€€}€~~~€~€~}}€€€~€}~~~~~€~~€~€€~€~}~~~€€€~€~~€~€~~~€€~}€~~~€~€~~~~~€~€~€~€€~~~€~€}€€~€~~€~€~~~€~‚€}}}€~‚~~~€~€~~€~€€~~~~€€~~~~€}‚€~~€~~‚~€~~€}€~€€~~~‚~€~~€~€~€~~~~~€~~~€~€~}‚€~€~~€~}~€}€~~~‚~~~€~€}~}}€~‚~€~€€€~€~~~~€~~~~~€~€~~~~~~€~€~€€~~~€~~€~€~€~€~‚€~~‚~€~~~€~€~€€~€~€~}~~€}~€~€}€~€~€~}~~~}€~€€€‚}€}€~~€€~}€€~~€~~~€~€€~€~~~~€€}€~€~€~€~€€~€~€€}~€}~~€~€~€~~€~~~€~~~€~~€€~€~€€~~~~€~~‚€€~~€~€~}€~€~€€~~€~~~~€~~€€~€~€~~~€€€€~€~~~}€~€~€~~}€~~€}€~€~€~€~‚~~~~~}~~€}€€}€~~€~€~~€~~€~€€~€~€}~€}~€~~€~€}}~~€~€~€~~~€}€~}‚~~~~€~}€~‚€~~~€}€~€~€}€~€~~€~€~€€~~€}€~€~€€~€€~~~€~€~~€~~~~~‚~€~~€~€~€}~€~€~€€€~~~€~~€€€~}~~~~€€~€~~~€€}€}~€~€~~~~€~€~~€~~~~€~€€~€}~€~€€~€~~€}€~~~~€€~}€~~~€€~}€~~~€€~€~~€~€€}€~~€~€~€€~€~~€}€€~}~~~~~~€}€}~€~€~~~€}€~€~€~~€~~~~~~‚€}€~€~€}€~€€}€~~~~€}}€~€~~~€~€€~€~~€~€~€€~€~}~€€€~~€~~€~€~‚€€~€~~~€~€€}€~~}€~€~€~€~€~~~~~~€~~~€~€€~~~~€€~~~€~€~€}€~€~€}‚€~~€~€}€~€~€~~~~€€~€~~~~~€~€~~~€~~~~~~€~€}€~€~€~~}~€~€€~~€~€~~€~€€~€~€~€~€‚~‚~€~€~€~€~}~€~€€€€~~~€~€~€~€~~‚~~~~€‚~~}€}€~}~~~€~€~€~~~}~~~~~~€~~~€€}€~~€~€~€}~~}€~€€€~€~~€~€~€~€~~~~€~~~€~€€€~~~€~€~~~~}~€~€€~€~~~~€~€~€~~€€~€~€~~~€~€}€~€€~~€~~~€~€~~~~~~€~~€€~€~€~~‚}~€~€~€~~€~~~€€~}~€~€€€~~€~~~€€€€~~€~€€~€~~~~€€€}~~€€~€~€~€~€}~~}€~~~€~€~€~}€~~~}€~€€~€}€~~~~~€~~~~€}€~}}€~~~~€€~€~~~~€~€€~€~€}}~}€~€~~€~~~~~€}~€~~~~~€€}€~}€~‚€€~~€~~~~~~€~€~€~€~~‚}€~€€~~~€€€€~~~~€€~~~€~€€~€~~~~€}~}€~~€~€€~~~~~€}~}€}‚~€~‚~€~~~~€~~€€~€~~~~~€€~€~~€}~€€}~€€~}~~}~€~~€€~€€~€~~~}~€€€~~€~~€}~€~€€~~€~~€}€~~~~~~€€€€€€~~€€~~€~€}~€€~~€~~~€~€~~~€~~~€~€€~€€€€~~~~€}€€~~€~~€~€~€}€}€€}€}~€~~~~€€~€~}}€~€€~€}€~~~~€~€~€€}~€~‚€~}€€€~€€~€~~~~€}€~~€~€€€~€~~€}€€~~€~€}~€~~€~€~~~€}€~€~~€}~€€}€~€€~€~€~€~~€~‚~€~€~~~€~}‚~~}€~~}€€~~€~~~€€~€~~€~}~€}€~€}€~€~~~~~€~~~‚~‚~~~€~€~€~€~€~€~€}~~€}€€€}~~€}~€~~€~~~€~€€~€~€}€}€~€~~~€}€~€~~~€~~€~€~~€~€€€~€~~€~~€~~~€~€~~€~€~~~€~~€~}€~~€~€€}€€~€~~€~~}}€€~€}€~~€~~~€~€€€~€~~}~€~€~€~€}€€~~~~€€€~~€}€€~€~€}€~€~€~~~€~~~€}‚€~€~€€€~€}~~€~~€€~€}€€~€~~~~~~~€~~‚~€~€€€~~~~~€~€‚~€}~~€~€€~€~~~€~€€‚~€~~~€~€}~€€}€~€~€~~~~€~€€~€~€~~€~€~€~~~€~€~~~~€~~€~€~€~~~€}€€~€~€}~~€~~~~~€~~~€‚}€€~~€€}€~~€~€}€~~€~~~€~€~€~~~‚€~€~€~~€~€€€~~~€€~€~~~~€~~~€‚~€}~€}€~~~€~€~~€~~€€€~€~~~€~€€€€~€~€~€~€€~~€~€€€~€~~~€~€~~€}~€~€~€~~€}‚~€€~€~€~~}~€€~€~€~€€~€}~~€~€€~~~~€~‚€€~€~~€~€~€~€~~€~€~~~~€~~€}€}€~€}€~€}~‚~€~~€~~€~€~~~€~~€~€€€€}~~~‚€~€~~€~€~€€~~€}‚€€~€~~~€~€~€~€~€~~€}‚€€€~€€~€~€€~€~~~€~€€€~€~~~~~~~€~€~€~‚€~~~€€~~~~€€~€€~~~€€~€~€~~}€~€€~€}~~€€€€€~€~€~~€~€~~€~€€€~€~~€~€€}€~~‚€~~~}~€~€€€~€~~~€~€~€}~€~€~€~~€€~€~€~€~~€~~€€€€€~~€€€€~€~€~~~~~€~€}€€}‚~€~~€~€€€}~€~~€}€€~€~}~~~€}}~€€~~~~€~€~‚€~€~~~~€~€€~€~€~€~~~~€~€‚~}€~~€~€€~€~€~~€~~~€~€~€~€}‚€€}€~~€~€~~~~~~€~€~€~~€€}€~‚€}~€~€€~~~€~~~}€~}~~€~~€}€~€}€~~~€}€~~€~~€~~€€€€~€~€~~€~€€€~}~€~€~€~~€~€~~€€~~€~~€~€~€~~~€~€€€~~€}~~~~~€~€~€~€€€~€}€}€€}}€~~~€€~€~~~€€€~€}~~€~~€~€~€~€~}~~~€€~€~~€~€€€}€~~}€€€~€~€~€~€~€€~€~}~~~€€~€~€}€€€€‚~€~~~~€€~€~~}€€€}€~€€~€~~~}€~€~~‚~~~€~€~€~€~~~~€}€€~€~€~€€~~€~~~€€~€~~€~}€~~~€}€~~~~€€€~€~€~€~}~~€}€~€€~€€}~~~~~‚€€~€~}€~€~€}~~~€~€~€~~~€~€~€~€}€~€}~~€~~€~€~‚€~~~€~~€~~~~~€€~€~~~€~~€~~€}€~€~~€~€€~€~€}€~€~€~€€~~~~~€~€€~€~~~€~€~€}~€~€}€€~€€~€€}€~€~~~}€~€~~~~~~€~~€~€€}~€~€~€~€~~€~~~€}€~€~€}€~€}~€~€~€~~€~~€€€€~~€}~}‚~~€~~€~€€~}~€€~~~€~€€}€€~€~~~€~~€~~€~~€~€}‚€~€~€€~€~~~~~}€~€€~~€~€€€~}€}~~~~~€}~~€}~~€~€~€~}€~~€~‚~€~~€~~€€€~€~~€~€€~~~€~~€€~~~€~€€~€~€~}€€~€}~€~€~€~~€€€~~~€~€~~€}€~€€~}~}€~‚€~~~~€‚~~€€}€}€~€~~€~€~€~€€~~~~€~€~€~€~~~€€~~€~€}€~~€~€~€~€}€~~~~~€€}€€~€€~~}€~~~€}€~~€~€}€~~~€~‚€€~€~€€~€~€~~€~€€€€€~€~}€~~€~€~€~€}~€~€€~€}~~€~~€€~€~~~€~€€~~~~~€€‚~€€€~}€~~~~€~€~~€~€€~~~~~€}€~}€}€~~~€€~€~€~~}€~€~€~~€~~€€€~€~~€~€€€}€~~€}€~~€€~~€~€~€€~€~~~}~€€~€~~€~€~€€~€€~€}~€~~€€~~€~~~€~€~‚€€€~€~€}~€}~}~~€~~€~€€~€~€~~€~€~€~€€~€~€‚~~~€~~€€~€~}€}‚€€€~€~~€~€€}€~€~~~‚~€~~~~€€€€~~€‚~€~€}€~€€~€~~€~€€~~~~~€}~~€~€~€€~€~~~€€~€}~~€~€~€€}€~€~€}~€€~€~€~~~~~~~}~~€}€~~~€~€}€}€~€€~€}~~~~€~€~~€~€€€~€}~~}€€~€}~€~}€~€€~€~€~‚€€~€~~~€~€~€€~~~~~‚}€€}~~€~}€~€€~€~~~~€}~€~~€€€~}€~~~~~~€€~€~~€~€€€~}€~~}€€~~€}~~€~€€€~~~€~€€~€}~~~€~~~~€~€€~€~€~€~}€~~}~~€~€}~€~€€~€}~~~~~}€€~~€~~€~€~€€}€~~~€}€}€~~~€~~}€~€~€~~~~€~€€€~~}€}~€€~~€€}~~‚€~~~€€~€€~€€€~~}€~€€~€}€~}€~~€~~~}~€~€€}€}€}~~€~~€€~€~~~€~€€~~~€~€~~~€~}€}€~~~€~€~€~€€~~‚~€~€~€~~~~~€€~€~€~~€~€~€€~€}€€~~~€€€€~€~~€~~€}~~~~}~€€~€~~~€€}€~€~€€~~~~€€~€€~~€~€€~€~€~~~€~~~€}€€~€~€€~€~€~€~€€‚~~€~~~€€~€€~~€€~€~~€~€~~}~€~€€}€€~€}€}€}~~€~€~‚~€~~‚~€}~~€~€~‚€€}€~€}€€~€~€~~€€~€}€~~~~€~€~~~€~€~€~~€~€~€~~~~€~€€€~€~~€}€€~~€~~€~€€€~€~€~~€€€}€}~~€~€~€€~€~~€~€}~~€~~€}€~€~€€~~€~€~€}~‚~~‚~}€~~~€~€~€~€~~€€€€~€~~€}€€~~€~€€€~~€~~€~€~€€€}~~}€€~€~€~€€~€€}}€~~€~~€~€€€~€~~€~€€~}€~€}€~~~~~~~}€~€~~~€~€€~€}€~~€}~€€~€~€~~~~‚~~€~€€~}~~~~€~€€~€~~~~~€€~~~~€~~€€€~€~~~}~€~~€~€~€€~€~~€~€€~€~}€€~~€‚~€~€~~~€~€~~€~€}€€~~€~€~€~€~€~~}€~€€€}~~‚~~~~}€~€€~€~~€~€~€}€~€}€~~€~~€~~~€~~~€‚~€~€~~€}~~€}~‚€~~~~€€~€~~~€€~€~~~€‚~€€~€~€~~~€€~~€~€~~~}~€~€€€€~€~~€~€‚~~~~€~€€€~€}€~€~€}€€€~€~~~€€}€€~~~~€~€€€€~€~~€~~€€~~€~€}€~€~~~~€€~€~~~€~~~€~~€~€~€~~}€~€€€}€~€~~€~}}€€}€~€€~€}~€~~€~€~~}€~€€~~~~€~€~€~~~€~~€~€~€~~~~€~€~€~~€~~€€€~}€~€~~~€€~€~€~~~€~~}€~€~€~€~~~‚~~~€€~~€~~~€}€€~€€~}~}~€€€~€~~€~€~~~€~€€€€~~€~€€~~~}~~~€~€€~~~~€€€€‚~~€~€~~€€~~}€€~€~~~~}€~~€~€~€€~~€€~€}€~€}€€~~€~~~~€€€€~€~€~€~€~~€~€}~~€~€€~~~~€~€}~~€}€€~€€~€}~~~€~}~~}€}~~€}€~€}€~~~€~€}€~~~~~€€~~~~~€}€~€~€~~~~~€~~‚}~‚€~~€€}}~~~~~~€~€~€~~€}€~€€€~€~~~€~€€€€€~€~~~~€~~€~€€~€~€~~~€~~~€~€€}€~€~~~€~€€~€~~~€~€€~}€€}€€~€~€~€‚~€~}}~€~€~~}€~~€~€€€~~~€€~€}‚€€~~~€~€~~~~€~€~~~~€~€~€~€~€€€~~~€~~€~€~}€~€€€~~~~~~€~€}~€~~}€}€€€}€~€€~~€~~~€~~~~~€~€€~€}~‚€~€}‚~‚€~€~€~~~€~€~~~€~€€€~}~~€~€~€~~~€~€~~€~€€‚~€~~}€~€~€~~~€€€~€~~~~€€€~}~~€}€€€€€~€~€}€~€€‚~€}~~€~€€€~~~€€€~}~€~€~~€~~€~€~€~€~~€~~}~€€~€~~€~€€~€~‚€~~~~€~~€~~~~~~€}€€~€€~€~~~~~€}€~€€~€~€~~}~€€~}€~~€~~~€~€~€~€~~}~~€~~€~~€€€€~€~~~~~€~~~€}€€~€~€~~~~~~€~€€~~~€}€~€~€€}€~~~~€~~€~~~~}€€€~~€~~~€~€~~~€~~€~€~€~€~€~~€~~~€~~€~€~~€~€}€~€~}€~€}€€€~}~€~€~€}€~~~€€€~~€}€€}€~€~€~~€}€~~€€~€~~~~}€~€€€~~€~~~‚€€~~~€~€}€~~~€~~‚‚~~~€}€~€€€}€}~€~€~~~€~~€}€€~‚€~~€}€€€€~€~}€~‚€€~€~~€~€~~~~€~€~€~~~~~€~€}€}€}~€}~€€~€~~~~€€~~€~~~€~€~~~€€~€}€~€~~€~€~€€~}€~€~~}~~~~~~~~€~€€€~~~~€~€€€~€~~}€~~€~~~~€~~~€~€‚€}~‚~~~€€~~~~€~‚€}~€~}€~€~~€~€~~€}~~~~€}€}€~€€~~€~}‚€}€}€€~€~€~€~~~€~€~€}€~~~€~€€~€~€~‚~~€~~€~~~€€~€~€~}}€~€‚€€€~€~~~~~€~€}€~}€~€~€~€€~€~~€~~~~€~~€~€~~~€~~~€~~~€~€€€€~~~€€€~~€~~~€~€~~€~~€}€€~~}~~€}~€€€~~~~~€~€}€~~€~~€~€}€€~~€€}€~€}~~~~€~~}€~€€€€~~€~~€~€€~€~~€~~€€~€}~~~~~€~~~€~€~€~}~~~€~€~~€~€€~~~~€~€€€~€~~€}€~~€~~~€‚}€~~€~€~~€~~€~€€€~€~~~~~~€€~€~€~€~€~~~€~€}~€~‚~€~~€}€€~~~~}€}€€€~~€~~€~€€~€~~€~~~€~€}€~€~€~~€€~~€~~~~}~~€~€~€~~€~€~€‚~~~~€~€~~€~~}~€~}€€~€~~~€€€~€~~€~€€~€~~~€~€€~€~~~~~€~€~€€}~€~~~€}~€~€~~‚}€~€~€~~€~~€€€€~€~€~~~~~~€€~€~~~€~€~€}€€}€~~€~€€}~~~~~~€}€~€~€~€~~~~€~€€€~}~~€~~€€~€~‚~~~~~€~€~~€~~€~~€€~€~€€~€~‚€€€€€~€~~€~€}~€~€~€~€~~~€~€€}~}€~€}€~€‚}€€}€~~}~€~€}~€~‚€~~~~€~€~€~‚~~€~€€~~~~}€~~€}€~~~~~€~}€€~€~~~~€~€~€~~€~€~€~€~~~~€~€€~€}}€€~}€~~~€}€~€}€~€~~~~€}€~~€~~~€~~€€~€~~~€}€~~€~€~€~}~~~€~}‚€~€~€~}€~€~‚€~~~~€~€€}€~~€~€€€‚€~€~~~€€~€~€€€~~~~~~€}€}~€}€~~€~€€~~€~~}€~}€~~€~~~~~}}€~~€€€~€~~}€~~€€€~~~€~€€‚~~€~€~€~~~€€}€~~€~€~€€}€~€€}€€}~~~€}€~~~~~~€~€€~€~}~€~€~€€~€~~~€€~€~~}€~~€€}€~€~€~€~‚}€}~}‚~€€€~~€~~~~€~€€~~~~€~€~~€~€~€~€~€~~€€€~€~~}~€€~€~~~€}€~€}€~€~~~€~~€€~~~€~~~€‚~}€~~~~€~~€~€~~€}€‚~~€~~€}€}€~€~~€~€~€~€~}~~~~€~€}€~€}€€€€}}€~‚~€~~~~~~€€€~}~€~~€~}~~~€~~€~~~€~€~€€~€~~}~€€~~~~€~€€~€~}€~€€}€}€€~€}€~}~€€~~~€}€€€~~}€}€~}€~€€€‚~~~}€~€}}€~€€€€}~€~~€€‚~€~~~}~~€~~~€€€}~~}€~€~~~~€~€€}€~~€}€~€~€}€~€~‚~~~€}~}€~€~‚}€~~~€~~~~€‚}€~€~€€}€€~}~~‚~€~~~€€}€€~€~€~€~}~€~€~€~~€~~~€€~€}~}€~~}~~~€}€~€€~~€~€~€~€€‚~€}~€~€€€€~}€~€~~~€~~€€€€€~~~~~€€~~€~~€€~}~~~€~€~~}€~€€€~€~~€~€}€~~~€€}€€~€~€~€~~~€~€~€~~€~€~€€~€~‚€~}‚~~€‚~€€~~€~€‚~~~~€~€~€~€~€~€}~~~~€~~€}~~~‚€€€‚~~~~€~‚€€~~}€~€€~€~€~~~€~~~€€~€~~€~~€~€€}~€€~€~€~‚~~€~€~}€€~~€~€}~€€€~~€~~~€~€€}€~€}€~~~~€~~€€~~€~~~~€€€~€}€~€}€€}~~~€}€~€~~~€~~€€~~€~~~~€~€~~~€~€~€~~€€~€~~€€}€~}‚~~~~€}€€~~}}€}€~~€}€}~}€~€€~€€~€€~€~‚€~~}€~€€}}€~~€€}~}€}~~~€~~~‚~€~~€}€~€~€€~€}~€~€€€~€~€~~€€~€~~~€€}€~~}~€€~€~~€~€~~€}~~€€~~~~~€}€~€~€~~€€€~~€~~~€~€~€~}€~~€~€~~€}~€€‚~€}€~~€}€~€‚~~€~€€~~~€~€~‚~€~~~€~~€‚~~}~€}€~‚€~~‚}€~~€€~‚~~~€~€~€~€€~€~€~€~€~~€~€}€}~€~€~~€~~~€~€€~~~€}~€~~~~}~€~€~€~~€~~}€~€€~~}€€€‚~€}€~~~~~~€€€~~€~~~€~€~€€~~€~~~€~€‚~~~€}~€~€€~€}~~€~€€~~~~‚~~€~€~}€~~~€~€~€€}€}€~€~~~€~€~€~€~€~~~~}€~~~~€~€~€~~}~€€~€~~~€~€~€~€~}€~€~€~~~€~€€~}€~~€~~~€~€€~€~~~€€€€€~€~~~€~€~~€~€}€~€}€~~€€€~€~€~~~€}€€~€~€€~€~~~~~~~}€~~~€~€€€€~~€~~~~€~~€}€€~€€~€~€€~€~~~~€~€€€~~~€~€~€€€€~~€~~~~€~€~~~€~€~€€€~~~€~€‚~~€~€€}€~~~€~€}€}€~€~€€~~€‚€~€~~€~€}€€}€~€~€~}~~€~}€}‚€~~~€}€€~€~€~~~}€~€~€~~~€~€~}€~€€€~~€~€~}€~~~~€€~€€}€~}€~€~€‚~€~€~€~~~€~€€€~€~~€}€€~€~~€~~€€€}~€~€~€~~€~~~~~€~€}€~~€€~€~€~~~€€‚~}~~}~€€~€~~€€€}€€~~€}€~~~~~€~~€~€~~}~~~€~€}~~€€~~€~~}€~~~}}~€€~}€~~~€~€~~€~~~€~€€€~€~~~€~~€~€‚~}~€~€€€~~€~~€~€}}~~}~€}€€~~~~~~~€}€~€~~~€~€}€~}~€~~€€€~€}~~~~€~€~€}~~~€~~~~€~€~€~~€~€€~€}~€~€~€€~~~~€}~€~~~~~€~€~€€€}~~€}€€~€€~€~€~€~~~~€~‚€€€~~~}~€~~€~€~€~€~~~~~€€~~~~€~€€~€}€~~~~€~~€~~}€~}€~€~€~~~€~~~~}€~€€€€~€~~~€€~€}~€~€€~€~~~~€€~~~€~~€~€€~€€€~~€~~~€€~}€~}€‚~~€~€~~~~‚~~~~€}€~~€~~~}}}€~~~~~~€~€~€~~~€~€~€€~~~~€~~€~~~€€~€~€€~€€€~~~€~~€}€€}€~~€‚}~‚}€~~€~~€~~€~~€~‚€€~€~~~€€~~€~~~~€€~€~~€~~€~€}€€~~€~~€~~~€€}~~€~€~~}€~€€€~€}~~~€€~€~~€~€~€~~~~~~€~€~~€€}€~€~~€~€~‚~€}~~€€~~€~~~~~€~~€€~€€~€~‚~~~€~€€}€~~€~€~~~}~€}€~€€~€€}€~€~€~~€~€~€}‚€€~~€~}€~~€€~€~~~€€€~€~~~}€~€~~~~€}€~€~€}€~~~€€€‚~€~~~~€}€~~€€~€€}~€~€€€~~~~‚~~~€~€~€~~~€€‚~~~~€~~€€~}~}~~€~€~~€~~€~€~€~~€‚~~€}€~€€~€~€}€~~~~}€~~€~}€~~~€~€~€€~~€~~€€€~~~€~~€}€~€~~€~~€~€€€~€~€~~€~~€}€}€€~~~}~‚€€‚€€~€~€~~}~~~€~~~€}€~~~~€}€}€~~~~€€€~€~€~~€~~}~€~€€~€~~~~~~}~~€~€€€~€~~~€~~€€€~€~~€~~~~‚~~~€}~€€}~~€€~€~€€~€~~€~~€€~€~~~€~€~€€€~€}€~€}~€~}~~~~€}€€~€~~~~€~~€~~‚}~~€€~€~~€€~€~~€~~€€~~€~€€~~~€~~€}€~‚~€€}€€~~~€~€€~~~€}~€€€~~~}~€€~€~~~}€€}€}€~~~~~€~€~~€€~~€~}~~€€~~€~~€~~~€~€~€€~~}€€}€}€~€~€~~€}€~€~~€}€€€€~€~~€~~€€~€~~~€~€~~~~€~€€~€~€~€€}€~~~~€~€~€~€~€}€~€~€~~~~€~€~€~}€~€€~}€~~€€€}~€~}~€€}}€~€~€€~}~~€~€€~€}~€~€€~€~}~}€~€~€~€~~€~~€€~~€€~~€‚~€}~~€~€~~~€}€~€‚~€~€}€~€~€}€~~€~€~€€€~}€~~~€~€~~~~€~€~€~€~€~€~€~~~€~€~€€€~€~€€€~~€~~~€~€€~}€}€~€~}€€€~~~~€~‚€€~€}~€~‚€~~~~~~€~~~€~~€€}€~~€~‚€~~€~€€~~€€}~€€}€~}~€~€~~~~€~~~~€~€}€~~‚~~€~€€}€~€~~}~~€~€€}€~}~~~€~€}€~€~~‚~€~€€~~€}€€€€€}€~€~~~~~€€~€~~~€~€€€}~~~€~€~~~~~€~€€€€~€~~€}€€~€}€€}€~~~~€~€~€~€~~€€~€}€~~~~~€}}~€~€}~}}€~‚€~~~}€~€}€€~€€~~~€~€€~~~~~€~€~€€~€€}€~€}€~~~€~€~€~€€}~€€~€~€€~‚~}~€€€~~}€€€~~€~~€~~€€~€~€~~€€€€€~€~~~€~€}~~€€~€~€}€~€€~~€~~€€€€~~~}€~~€~€€~}~~€~€~€~~€~€€€€~~€~~€~‚€~€~}‚~~~€~€~€~€~‚€~~€~€€~€~€}~~~€€~€~~€~€€~€}€~~€~~~~}€~‚€€~}€~~~~‚~~€}€~€~€€~€~€~€~€}€€~€}€~‚€~€~~}~~€~€€~~~~€€}€~~~€~~~‚€€~~€~~€‚}€€}€~€~€~€~~~‚€~€€~€€~~}€€~~~€~€}€~‚}~€~€€€~€}~€~€}€~~}~~~€~€€}€~€~~~~€~€~~€€€€~~€~~€~‚€~~‚~~€~€€}€€~€~€~}€€€€~~€~~~€}€~€~€~€~~}~~€~~~€~~€€‚~€~€~~}~€~~~~~~~}€~€}€€~€~€~€~}€€~€~€€~~‚~~~€~€€~€}~€~~~~€€€~€}€~€}€€}€€~€~€€~~€~€}~~€~€€€~€~~€~€}~€~€€}~~~€~€€~€~~€~~€€}€~~€~~€€~~~~€~€~€€}€~~~€€~€~€~€~€}~€~€€~€€~€~~~~€~€€€€~€~~€~~~€~~€~~€~~~€}€~€~€}€~~~€}€€~€~€‚~€~€~€€~€~~€~~€€€~€~€~€~€€~€~~€~€‚~}~~~€€~€}€}~‚~€~~~€~€€~~~€~€}€~€~~€~€€€€~€~€€~€~€~€~~€~€}~~€€~~€~}€~€~‚~€~€}€}€~€~~~€~€€~€}~~~}€~~~€~~€€€~€}~~€~€~€€€~€~~€}€€€~}€}€}€}‚€~}‚~~~~€~€€~€~€~~~€~€}~~€~~~}€~€€‚~€~~~€~€€~€€~€€~€~~~~~€~~€~€~~}~€€~€~~€}~}~~€}‚€~~~€~€~€~~€~~€€€€€~~€~}€~~~}~€}€~~~€~€~~€€€€~€~}€~}~~~€€~€~~€~€~€~€€~~~‚}~~€€~€}~‚€~~~€~~~~€€~€~~~€~~€~~~€~€~‚€€~€~~~€~€€~~~~~}€~€~€€~~~~€€€‚~€~€~~‚~~~€~€€€€~~€~~€~€}€~}€}€~‚~~~~€~€€~€~€~~}~~€€~~€~~‚€€~~~~€~~€~€~€~€€}~€}~~~‚~~~~€~~~€~€~€€€~€~‚~~}~}~~€€~~€~€~€€~€}~~~~~~€~~~~~€~€€~}€~~~~€~€~€}~~€€‚~€~€~~~~€~~€€~€~€~~~€~€~€€€€~~~~€}~€~€~}€~€~~~€~€}€}€~}~€~~}€~€€~€~~€~€}~~€€~€€~~€~~€~~€€~€~~€~~€€~€~~~‚~~~€}€~€~€€~€}€~~~€€€€~€~~~‚~€~€~€~~€~‚€~~~}€~~€~€~~~~€~€€}~~€~€~~}€~~~€}}€~€~€€~€~~~~~€~€~€€~€~~€€€~~€~€~€€~€~€~€~‚€€€€}€€~~~~~~€}€~€~~‚~~€~€~}€~€~€~€~~~~~€~€‚~€€~€~€~~~~€€~~€€~€~~‚}~€€~€}~}€~}€}€€~€€~€€}€~~~~~~€~~~~€~}€~€~~€~~‚~~€}€~~~€~€~€~~~~€~€}€~~~‚€~€~}€}€~~‚€~€~‚€€~~€~€€~}~~~€€~€~~~~€€~€~~€~€}€€~€~€€~€~~~~~€~€~€€~€}~~~~€€€~~~}€~€€}~€~‚€~~€~~€~€~}€~~‚}€€~€€~€~~~€~€~€~€~~€}€~€~€~~€~~~~€}€~€}€~€~€~€~‚€~~€}€~€€€€~€~~~~€~€~€€~€~~~~~~€~€}€~€~€~€~€€~€~~~~€~~€~~~€~~~€~€€~~~~~€€~€~€€~~~~€~€€~~€~~€}~€€€}€~~~€~~€~~€~€~€}‚~€~~€~~€‚~€}~€~~~€~€~€€~€~~€~€~}~~€~€~}~€€~~€~€~~€~€~€~€~~~~€€~€€}€~~~~€~€~€~€~€€~‚~~}~€~~~€~~~~€~€~€€€~€}€~€€€~~~€€‚~€~~€}€~€~€~€~€}~~€~€€~€~€~~~~€~€~€~€~€}~~€~€€€€~~~€~~€}~€~~~€}€~€~~€~~€~€€€~€€~€~€~€}‚~~~€€~~€~~~}€~€€~€~}€€~€}€~}€~~~~€}€€~€€~~~~€}‚~€€~€~~~‚€~€€}€€~‚€€~~€~€€€~€~~}€~~~€‚~€}~€~€~€~~~€~€~€~€~~~~€€~~}~€}~‚€€€€~~€~€€€~€~~~~€~€€~€~€~~}~~€‚~€~~€~‚€~~€}~€~€~~€~€€€€~€~~~~~~€~~€}€~~~‚~€}~~€~€~~~€~€}€€€~~€~~~€~~~€~~~~€~€~€~~€~~~~~€€€€~€~~€~~€~€€}€~€€~€~~€~€~€~€€~~€~~~€~€€€‚~€~~~}€~€~€~€~~~€}~€€~€~~~€~€€€~}€}~~€}€~}~€~}}€€}~}€‚~~€}€~€~~€~~~€~€~€€~€~~~}€~€~~~~~~€~€~€€~~~€~~€~€€~€}€}~€~~€~€}~€€~~€}€~€~~~~€€€~€}€~~}~}~~€}~€}€~€~€~€€~€~~~~€~€~~~€€€~~~€~€€~€~€~€~€€~~€~~€~€~~~~~€€~~~~~€~€~}€€~~€~}~€€~€~€~~€~~€€€~€~~~~€~~€€~~~€~€~€~~€}~}€~€~€~~€}€~€~€~€~~€~€€~€}€~€~~€€~€€~€~€~‚€~€}€~~~€~€€€~€€}~€~€~~€}€€€~€}~~€~‚~~‚~€}€~€}~~~}~€~€€€~~~€}€€~~€~~~~€~~~~~~~~€~~€~}~€~€~~~€~€}€~€}€~€~~~€}€~€~~~~€}€~€€~~~~€€~€~€~€~€~~~€‚}€~}~€~€~~€~€~€~€~€€~~~}€}€~€~€~€~€~€€€~~~€~€€€~€~~€€~~€}€~€~€€~€€~€~~~€~€~~~~~~~~~€~€€~€~~~~}€}€€}€~€~~~~€€}€€~~}~‚~€~~€€€€~~€~€~~€}€}€~~€~€}€~}~€~€~€~€~~€~~}€€~€~~€~€~}€~€~~~€~€€~€~~€~~~‚}€~€€€~€~€~€~€~~€€~€~~€€~€~~€~€~€}€~~€}€~€€}€}~€~~€€}€~€~€€€€~~€~~~‚€€~€~~~€~‚€€~~~~€~~~€~€€~€~€~~}€€~~~~~€~~€~~~€~€~€€~€~€}€~~~€~€€~€~~~~€}€~€€~€~~~~€€€~}€~€€~€}~€~€€€~~~~€~€~}~~€~€€€€~€~~€~€€~}€~~€~€~€€}€~~€}€~€~~~}~~€~€}€~€€~~~€~€}~€~€~~~~‚~~~€~€}€~€~€~€~~~~€€€~~~~€€~€~€~~€~€€€~€~€€~€~€~€~}‚€~€~~€€~€~€~~€~€}€~~~~€~€€€~~€}~~~€€~€~~~~‚€‚~€~€€}~~€~€}€~~~€~€~€}€}€~~}~€~€~}€~~€~€€€~€}€€€~€~~€~‚€}~}~€~~~€~€€~€~~~}€~€€~€~€~}~€€~€~€}€~~~~€~€~~~€~~€€~~€}€~~€€~€~~‚~€~€~€€~€~~~€~€~€€€€~€}€€€~‚€~~~~€~€}€~~}€~€€~€~~€~€€€~€~}€€€~~~€€}~€~~€€‚~~€~~€~~~€~~€€~€~€~€}~~~€~€~€~€~€~€~~~~€~~€}€€}€~~~~€~€€~€~}€~€€€~~~€~€€€~~~€~€€~~€~€~€€€€~~€~€€€€~~~~€~~}€}~~€~€~€€~€}~€~€~€€~€}€~€~~€~€~€€~~~~€~€€€€~€~‚~€~~€~€€~~~~~€~€€~€~~€‚~~‚}~€~€~€~~€~~€€€~€~}€€€~€~~€~€~~~€~€€~€~~€}€~€~€€~€€~€~~~€€€€~~~~~€}€~€}€~~€~€~}€}~€€~~€~~~€€€~~€~~~€€€}~€€~€€~~€~€~~~~‚€€‚€~~~~~€€~~€~~~€~~€~~€~~€~‚€~}~€~€€~€~~~€~~~€~€€~€~~~~€€~~~€~€€~€€~€~€}€~~~~~€~€}€€~~€~€~€}€~~€~€}€€~~~~€~€‚~~€~~~~€~~€~~€~€€€~€~~€~€€€~~~~~€~€~€}€~~€~€€~€~€~~~~€~€€~€~~€~€€~€}}€~~~~~€~€~€~€€€~€~}€~~€€~~~~~€}€~~~~~~€€~€~€~~€~€€}€~~€~€~~€~~~€}€€~€}~~€~€€€~}~~~€€€€‚~}€~}~~~€}~~~€~€€€€~~~€~~~~~~}~~~~€€€~~€~~~€~€€~€~~}€~~~€}€~€}~~}€~€€~~€~~~€€~~€‚~€~€}€€~€}€}€~~}€~~~€~~€€‚€}€~~€~~‚€}~€~~€€}€~~€~~~~€}~€~~~~~~€~€~€~€}€‚~~~€‚~€~€~~~~~}€€~~~}~€€€~€~€~€~€‚}~€~€€~€€€}€}~}~~€€~‚~~~~€~€~€~€~~~‚~€~‚€~~~~€}€€€~€~€~~~~€€€}€~€~€}~~~~€~€~€€~€~~}~€~~€~€~~~~€~€}€€~€}~~~€~€€€~~€~~~~€}~€~~€~~~€~‚€€~}~€€~€~~~~€~€~€€~€~~~~€~~€€€~€~~~€‚}€~€}€€}€~€~}€}~~€}€€~€~~}}~€€~€~~~€~€€‚~~~€}€~€~}€~~€~}€~€~€€~€~€~€~€~€€~€~}€}‚€~~~~~€~€~~€~€€~€~~~~~€~€~€}€}€~~~~~~~€}€€~€~€€~}€~€~~~€}€~€€~‚€~~€‚}€€}€~~}~~€}€}‚€~~€}~~€~€€€~€€~~€€~~€~€}€~€~~}€~€~~€~€~€€~~~€€~€~~€~€~€~~€~€~~€~€~€~€~€~€€€~~€~~~€~~€€€~€}~~€€€~€~~~~€€€~~€}~~‚€~€}~~€~~€~€~€}~~~€‚€€€}}€}~€€~~€~~€~~€~~€~~€~€~€~~€}€~~€~€~€€~€~€~~~€~€~€~~~€~€~~€~€~~~~€~~~~~€~~~~~€~€€~€~~€‚~}€~€€~‚€~€}~~€~€~€~~€~€€€€}€~€~~‚~~~~}€}€~€€}€~€~~~~~€}€€}€~~~€€~€}~€}€}~€~~€}€~~~~~~}€~~€€~€€~~~€~€~€€~~€~~}€~€~~€€€~~€~~~€~€€€€~€~~~€~€€~€~€~€}‚€~€~€~~€~€~~€€}€~~€}~€‚}~€~€~€~~~€€~~~}€€€~€~}€~€€€€~~~€~€€~€~~€~€€~€}~€~€€~~€~€~€€~€~€}€~~}€€~€~}€~~}€~}€~~~~~~~€€~~€~~~~~‚~‚~~€~~~€}€~€€€~€~€~€~~~~€~~€~€~~}€~~~~€~€}€~~~€~~~€}€~~~€~~€‚~€~~€~€€~~~~€~~~}€~€€€~€~~€~~€~~~€~€~~~~€~€~€~~€}€€€~~~~€€€~€}~€~€€€~€~€€~~~~~€~€€~€~€~~~~€~€€~€~€~€~€€~€}€~~~€~~€}€}~€~€~~~€}€€~~~€}€~€~€~€€~€~€~~€~€~€~€}~~€~€~€~€~~~~€€€~€~€~~€~}€~€}€€}€€€~~€~€€~€~€~~}~€~}€~~€}€~€~~~~}€~€€~€~~€~€~€~~~‚€€~€}€~€~€€~€~~€~€~~}~€~€€€~~€~~€~€}}‚€~~~€€‚}€~~~€~~€€~~~~€~€~€~€€}€~}€~~€}€~€~~€~~€~€€€€€~€~~€€€€~~~€‚~~€}€~€~€~~€~€~~~~~€~€€~€~€‚~€~~€~€€~€~€€~€~~~~€~~€~€~€~~~~~€}€€~€~‚~~€€}€~~~~~€~~€}~}€~‚}€~€€€~~~}~€€~€}€~~‚€~~~‚~~€~€~€}€€€~~€~~~~€‚€~~€€€€~~~€}~€~~€~€~€~~~~€~€‚~~~€~€~€~€}‚~~€‚}€€~~}~€~€}‚€~~~}~}€}‚€~~€€~~~~~€~€€~~~~€~€~~€~~€~€€~€}€~€~€~€€~€~€~~€€~~€~€€~€~~€}€~~~~~€~€€~€~~~}€~~~€‚~~~€~€~~~~€~~€~~~~~~~€~€€}€~€~~~€~~~}€~€~~€~€}€€~€~~€}€~€~€€~€~~€~€~~~€~~€~€~}€€}€€~~‚~~€~€~€€~~~~~}€~€~€~~~}€~€~~€~~€€}€~€~€~€€}€}~~~€~€~€‚~~~~}~€€~€~~€~~~}€~€~€~~€}€€€€~~€~€~€~~€~}€~}€~~~~€€€~€~~~€€~~~€~€€€~€~~~€~~€€€}~~~~€~€}~€~~~~~€‚~}€€~€~~~€}~€}~~}€~€}€~€}€~~~€~€}€}€~€~€~}€}~€€€~€~~~€~€€€~€~~~€}€€~}€~€}€€€~~~~€~€€~}€~€}€~€~~€~~€€~€~}}€~‚€€€€~~~€€}€~‚€~~€~~€~€~}}~~€~€€~~€~~€~‚~‚€€}€~~€~‚€€}€~~€€~~~€~€~€}€~~~~~€~€~~€~‚~~~~€~€}~~€~€€€€~€~~‚~~~€~}€~€~~€~€~€~}€}€€~~€~€~}€€}€~~~~€~€~~~€~}€}€€~€~€~~‚~~~€~€}€~}€~~~~€~~€€€}€~€~€~~€€~~€~~~€}~€€~€~~€}~€~€~~~~€‚~~~€}€~€~~~~€~€€~€~~~~~~€€}€~€}‚~~~€~}€€~~~~~€€~~€~~€~€}}€~€~€€}€~~€~€~€~€~~€~~€€~~~€~~€~~~€~€€~€~€~€~~€~~€€~€~~~€}€~~€~~‚~~€‚~€~~€~€}€~€}€~~~~€}€~€~€~‚€~~€€}€~€}€~~~~€€€~€~~~~€€~€€~~~€~~‚}~€~€~€€~€~~~~€}}~~~€~€~~€~~~}~€€~€~€~~~€}€~€}€€}€~€~~€€~~€~~€~€€€}€€}€~€}€~~~~‚~~€}}‚€~~~€~€€€€€~~€~~€~~€~~~~‚~€~€€~~~~€~€€~}~~~~€€~~}‚~€~~€~~€}€~~~‚~€~€~€~€~€~‚}€}~~€€~~€‚~~€~€}€~~€~€€~€}~~€}€‚€~}€~~€~€€~~€~}€€~€~}~€}€€~€€~€}~~~€~‚}~~€}}€~~‚~~~~€~~~€~€€€€~~€~€€~~~€~€~~~~~~€€~€€€~~~~~€€~~~~‚‚}~€}€~€€~€~~€~~€€€~€~‚€~€~~€~~~‚~€~€~~€~€~~~‚€~€~€~~€‚}€~€~~‚€~~~}€~€€~€~~€}€~€€€~~~}€~}€~€~~‚~~~€~€~~~}€~‚~}€€~~€~€~~€}€}€~€~~€€~€~~~€}€~~€}€~€€~€~€~~€~€€~~~~€‚~€~€~~€~€€€~€~~}€~€~€~~€~€}~~~€€€~€}€~~~~€~€~€~~€~€~‚~€~~~€~€~‚€€~~€~€~‚~€~~€~€~~~€}€~€}€€}~€€~€~€~~€~~~~€‚~}€€~~~€~~€€€€~}€~~~€~€€€~€~€~€~~€}~€}~~~€~~~€~~~€~€€€~~~€}}€~~~~€~€~€€~}€~€~~~€‚}€~~€~‚}~€€€~€~}€~€€€~€~~}~~~}€€€~}~~}~~€€}€~€~€~~~€~€€~}~~€~€€~€}€~~~€~€€~}€~~~€€~}€}€~€~~~}€}€€~~€~~~}~€€€~€~~~€€}€}~€~€~€~~€~€€€~€~€€~~~€~€€€~€~€}€~€€€€~€~}~€~€~~€~€~€}€€~€~€€~~~~~€~€€~€~~€~~€€~‚~€€~€}€}‚€~~~€}€~€}~~~~}~}€~~~‚€~€~‚€~~€~~~€~~€€~€~~~€€~€}€~~€~~€€~‚~€}€~~€~€~~~~€~~~}€~€€€~€~€~€}€~~~€}€€~€~~~€~€~€~€~€~€€~~€~€€~~~~~€}€€~~~~€}€}€~€€€~€~~€~€€~~€~~€€~€~~~€~€~~~~~~€~~~€~€€~€~€€~€~€~}~~~€}€~€~€~‚€~~€~€~€‚~€~~~€}€}~~~€~€~}€~~~€}€~~€~‚€~~~}€~€€~€~€~~~€€~~~~€‚}€~~€€~€~€~~~~€~€~~~~~~~€~€~~}€~€€}€€~~€€}~€~€~€€€€~€~}~€€~€€~€€€~}~~€~}~€~€}€}€~~~~‚~€€}€~€}€~~€~€€~~~~~€~~€€~€€}~}€~~~€€€€~€~~}~~~~}€€~€~€~~~~~€}~~€~‚~~€€}€~€€~~~€~}}€~‚€~~€~€~}€€~~~~}€}€~€€~€~~~€~€€}€}€~€~}~~~€~€€€~€~~~~€~€~€}€~€~}~€~€}~}€~~~~~~~€€~€~~€~~~€€€~€~}€~~€€~€~~~~€~‚~€€~€~€}€€}€~~~€~€~€€‚~€~€}~}€~€€}€~~€~€~~€}€~€~€~~€~~€‚}€~€~€}€~~€~€~€~€~~€€€~€~€~~~~€€€€}~~~€~€€~€~~~~~~€~€~~€}€€€~€~€~~~€~€~~~€~€~€~~€~}€~€~€€~}~€~€€~~€~€}€}~€~~‚€€~€~€~~€€}€}~~~€~€~~€~€~~~€~~€}€~~~€€€~€~~€~€~€~~~~~€~~€€€‚~€~~€~€€~€~~~€~~€€~~~~€~~€€~€~€~~~~€€~~~€~€~~€~€€~€~}€~~~€~€~~€~~‚€€~€~~}€~€~€~~~}}€}€}€~€}‚~~~€~€€~~~€€€}~€~~€~~€}€€€}~~~€~€}~~~€~~~‚~~~€‚}€~€}€~€~~~~€~€~~~~€}€~€€~€~~€~€€~~~~€~€~€~€€€€}€}~}€~€€~~€~~}~~€€}~~€~€~~~€~~€}~€€}€~~~€€~~~‚€~~~}€~€~€~~€~€€‚€~€~~~€~~€~€€~~€}~}~€‚~€€~€~€}~~~~€€~~~~~}€~}~€~~€~€~}€~~€€~€~€}~€~~€~~~€~€€~€}€~€~€€~€€}€~€€~~€~€}€~‚€~€~~~€~~€~€}€~€~€~~€~€~~~€‚~€€}€€€~€~~~~€€€~~~~€~€~€~~€~€~~€}€€~€€~~€~~€}~~~~‚~~~€~€~€€}€~€~~€~~~~€€~~€}~~€~€‚~~~€~€€~~}~€~~~~€€}€€~~€€~€~~€‚€€€~€~~€~€~~€~~~€~~~~~€~~€€}€€~€~€€~€~€~~€€~~}€~€~~~€~~€~~~~€~€~~~~€}€}€~}‚‚~€~~}~€€€~€~~}€~~€~€~~‚€~~~€€~€~€~€~€~~~~~€‚~~~€~}€}€}}€~€~~~}€~~€~‚~~~€~€}€~}~€~€‚}€~€}}€~€€~~~€~€€€‚~€}~~‚~€~€~€~~~~~€}~~€}€}~~€}€~~€~}~€~€~€~€~~~~}€€}}€~‚€~~€~€€~€~€~~€~€~~}€~}€}€}€~€}€~~€~€€~€~~~€~~~~~~€‚~~~€€}€€~€~€}~~~~€~€~€~€~~€€€~~~~€~€€€€~€~€~~€~€€€}~~~€~€€~}~€~~~~~€~€€~~~~~€}~€€~€~~€~~‚€€~€}~~~~€~€}€}€€~€~}~~€~€}~~€~€}€~€€}€~€~~€€€€€~€~~~~~€~€€~€€}€~€~~~~€€€~€~€~€€€~€~~~}€~~~‚~~€~€~~}€~€€~~~€}~€€€~~~~€€~~~€~~€~~€~~~~€~~€€€~~~~~€€~€~~~€~€~~€}~}~€~~€~€€~~~~€~€€~~~~€~€~€}€~}}€~~€}€~€€~‚~€~€~€~€€~€}~€~€~€~~~€~€€~~~€~~~€€€~€~€~~€~~€~}€~~}~€~€~~~}€~~€€€~}€~~~~€€€€€~~~€~€~€~€~~‚€~~€~~€~€~~€~~€€~€~€~€~~‚‚~~€~}€}€€~€~~}€~€€~€€}‚€~~~~~}}€~~€€€~~€~~~€€€}€~€~€€€~€}~€€€~€}~€~€€~~~€€~€~€~€~~~€}~€~€~€~€~€~‚}€~€~~~~€‚~€€~~€~€€‚~€~€€~€}~~~~€~€~€~~~€~€~€~~€~€}€~~~~€~€€~€~~~€~€~€~~~€~~€~€~€~€~~€~€€~~~~€}€€~€~~€~€~~€~€~}~€€~€}~~€~~€€~€~~~€~€~€€~~‚~€~€~€~~~~~€€~€~~~€€~~~~€‚~€}€€€~€~€}~€~€~~~}~~~~€}€€}€~€~}€~€~~€~€~~€~~~~€~~~€~€~~€}€€~‚€~€}~€€~~~~~€~}€~}€€}~~~~~~€~€€}€~~~€~€~€~~~}~€~€~€~€}€~~€~€‚}~~€}€€~€}~€€‚~~€~~~€~€€~~€~‚~~€~€€~€~€~}~€~€~€~€}~~€~€~€~~€~€~~€}€~€~~€~~€€~€~€~€~€€~€€~€~€€~€}~~~€€€€~~~~€~€€€~€~~~€~€€~~~~~~~€~€~~~~€~€~€€~€~‚€~€~}~~}€€€~€~~~€~€€}€~~€~€€~€}~€~€~€~‚~€~‚€~€~~~~~€}~€}€}~~€~‚€~~€~€€€~€~}€~€€~€~~€~€€€€~~€~€~~€~€~€~€~€~~~€~€}}€~~€€~~~~€~~€~€~~~€~~€€€~€}€~€~€~~€}€~~}€~€€~~~}€~€~€~~€}€€~~€~€€~€~~~€~€€€~€~€~~~~€€~~€~~~€~~~~~€‚€~~€~€~~€€€~€~€~~€€~€~€~€~}~~}€}€~~€~~€€~~€~~~~~€€~€~~~€€€~~€~~€}~€€€~€~~}€~‚€}~~~€~€~~€~~~€~~~€~€~€~~€€~€}€~€}€~€~~~€~~€}~~€~€€~~~€~~}~~€~€~€~€}€~€~~€~~€€€~~~}€~€~€~€~~~€~€€}€€}}€€~~€}~€~€~~€€€~€}~~~~~}~€~~€}€~‚~€~~€€~€~€~~~~~€~}€~€}€}€}~~€~~~€~€}€~~~€~€~€~€~~€}€~€~~€€€~€~~~€~~€~€~}€~€€~~€~~~€€~€}~~€~~€~~~€}€€~€~€}~~~€~€~€}~~~‚€~€~€}€~€€€~~~€~€€~~~€}€~€€€€~€~€~~€~€~€€€~~€~~~€~€€~€~€~€~€€€~€~~~€€~~~}~€‚~€~~€~€~€~~~€~€~~}€}€~~€}€~~€€}€~~€~~€~€~€~}~}€~€€}€€~€~~~€~~€~€€}€~€}€~~~€}€~€~€~~~~€~€€€€~€~~~€€€~€~}~€~~}~~€€}€€~~~~~€~€~~€€~~€~€~€~‚€€~~~€}€~}€~~~~~~~~~€~~‚~€~€~€}€~~~€~~~€~~~~~€~€~~~~~~€~€~~€€~€~~}€€}~~€}€~~€€€~~€~€~€~~~~~€~€}€~€~€}~~}~€~€€~‚~€~€~~~}~‚€~~~~~€}~€~€€~€~~~€~€~~}~€€~~}€€}€~~€~€€~~€}~}€~~€~~€}€€~€~~~~~€~€~}€€~€€}€~€~€~~€~~~~€~€~€}~}€€€~~€~€~€~€€~~~}€~€~€€}€~€~‚~~~€~€~~€~€€~~€~~~€~€€}~€}}}€}€~~~€~~€~€€~€~}€~€€€€~€~~€~€~~~~€~€~€}€‚~~}€~€€~€~~~~€~€€~€~€~€€~~~€~~€€€€~€}~~€~~€€~~~€~€~€~€~€~~€~€‚}€}€~~€~~€~€}€~€€‚~~~~€~~}~‚~~~€~}~~}~€~€}€€~€~~€}~~~€~€}‚€~~~~~~€€€~~€~€~~€€~€€~€}€€}~~€~€€€€~€~€~~~€~€€~€~~~€~€€€~~~€~€‚~~~€~€~€}‚€~~}€~€~}€~~}~~€}~~~}~~~~€~€€~~~~~~€~~€~~~€~€~€~~}~€~€~~€}€€~~€~~€€~€~~€€€~~~~€~€€€~~€~~€}~~€‚}€€~~€~€~€~~~~€~€€~€~~~€€‚}€~~~~€€}€~~€}~~€}~€~€€€€~~~€}‚€~€~~€~}~€€~~€~€€~~~~~~€}€~€~€~~€~~~~~~~€~€~€~€~€~~}€~€€~€}€~~~~~€~}~~€~~€~€~€}€€~€}~€}€}€€€€~~€~~€~~€€~}€~}€~€€}~€~€€~~~€~€€~~€~~~~~€~~~€~€€€~€}€~~~€}€€~€~€€~€~~~€~€~€~‚~~~€€~€~€~~}~€~~~~~~~€‚~~€~€}€~€~€}~€€~€~~~€~€€~€~~€~~~~}~€~~~€~€€€~€~€~}~€~~‚~~~€~€€}€~~}€~€€~~~~~~€~€~€~€~~~~~~€}€~~~€~~~€€€€~€~~€€€€~€~€~~~~€~~€~~€~€~~€}~€~€~}~}€~€€‚~~€~€~€~}~€€€~€}~~€~€€€~~€~~~€€~~}~~~€‚~€}€~€~€}~~~~€€€~~~~€€€~}€~~€~€~~}€~}~€€}€~}€~€~~~~€~€~~€€€€€~~€~€€~€€~‚€~~€~€~~~~€~€€~~}~~€~€~€~‚€€~€~~€~€~~}~~~~€~€€~€~~~~€€~}€~~~~~~€€€~~€~~€€€€~€~~~€~~~~€€~~~~€}€€}€€~~€~~}~€€~~~€~~~€~€~€}~€~€~€€€‚~€~}~‚€€€€~€~~~€~€~€~~~~€~€~€€~~€}‚€~~‚€€~~€€~€~~€€€~€}€~~~€~€€~€}€}~~€~€}€~€~€€~~}~~~€~€~~€}~~€}€~€}~~~~~€~~€}€~€~~‚~~~~€€~€€}€~~€~~€}~~~~€}~€~€~}€~~€~~~€~€€€~~€~€~~€}€~~€~€€~€~€€~€~€~~~€~~‚~}€~€}€}~~~~€}€}€~~~~~~€~€€}€€~~~€}~€€~€~~‚~‚}~€}€~€€€~€~~~~€~€€~~€~€~€~~€}€~€€~~€}~~~€~~~~€~~€€~~€~€€~€~~}€~€}~€€~}€~~~€€}€~€}~~~€~~€~~~~~~~€~€}€€~~~~€~~€€‚~~~~€‚~~€~€€~€€}€~€~€~€~€}€}€~~~€~~‚€€€~~€~€~~€~€~~€}€~~~~~€€~~~€}~€€€~€~€~~}€~€€€~€~~~€}€~€~€~€~~~~€}~~€~~~~€€€~€~}~€~€~~~€€€€~~}€~€€~€}€~~‚~~€}€}€€~~€~€€€~€~~~~~€~€~~€~€~~~€~~€‚~~~~€}€€~~~€‚~~~€~€~~~~€~€~~}~€€€~€~~~€~‚€€€~€~€}€~€~‚€~}€~€~€~~~~€~€~€€~}€~~~€~€€~€~~~€}€€~€€}€€}€~~~}~€~€€~~}~~€~€~}~~€~€€€€}~~€~€}€~€}~€€~€}€~~~}€~€€~€~€~~~€}~€~~€~€~~~€~€}€~}‚€~€}~}~}€~€~}€~~€~€€~~€~~~~€~~€~~€~€~€~€~€‚~€~€~~‚€~~~€~€‚~€}~€€~€€‚~€}~~~€~€€~€~~~~~‚€‚~€~~€€~€~~~€~€€€~}€~}€€~}~~€~}~~~€~€€}€~€~€€}€~~~~€}€€~€~}}€~}€€~‚€~~~~€}€~€€€~€€~}€~~€~~~€~~~~€~€€~€~€}~€}~~€€~€}~€~€~‚€~~~~}€~€€~~~€~€€~€~€~€~~€€~€~€~€~€~}‚~~€}€~~~€€~€~€~~~€€~‚€~~€~€~€€~~€~€~€~€}€~~€~€€~€~~€}~€~‚~€€~€~~€~€~~~€~~~~€€~€~€€€~~€~~~€~€~€~~€~€€~€}€~~€€‚~€}‚€~~‚~~~}€~€}€€~€~~€}€~€€~€}€€~~~€~~€€~}~~~€~€~~~~€~€~€€~€}€~~€€~€~€~~~~~€~~€€~~}~~€~€}€€~~€~~~€~~€€~~~€~~€~€~€~~~€~€~€~€~~}~€~~€€~~€~€~€€‚€~~€}€~€~€~€€~~€~~~~~€€~€~~€~~~~€}€~}€~~~€€~€}€~€~~~~€€~~€~€€~~€}€~€~€~~~€€~€~~~€~€€€€~~~€~€~€~€~}~~‚€‚}~€~€€€€€~€~~€~€€~€~€~€~€€~~€~}~€€~~€~}€~€}~€~€€€~€~~~~€~€€~€~~~€~€€‚~€~~~€~€€‚}€~~€~~~~€}€~~€~~~€~~€~€€~€€}€~€€~~€~€‚~€€~~}€~~}~~€€~€~~~~~€~€~€~€€~€~€~~€€~€~~}~~~€}€€~}€€~‚~~~~€~€~~€~€~€}€~€~€~€~€~€}~~€~~~~‚€€€€~€~€~~€~~€~~€~~~€}~€~€€~€€~~~~€~€€€€~€}€~€~}~€~€€€~€~~€~€~€~}€€~€€~€~}€}~€€~€~€~~}~€~€€~€~~~€}€‚~€~~€~€~~~€~€~€€€~~€~~€€€~€~~€~€€€€~~~~€~€€€~€~€~~~~~}€~€}€~€€~€~€~€~€€~~}~€~€€~€~€~€€~€~~~€~€~€€~€~€}‚€~}€‚}€~€~€~€€~~€~~€~€~~~~~€}€~€~€€~~€~€€~}€~€€~€~€~€€~€€~€}€~~~~€€}~~€~~€€€~~~~€~€€€€~€~€~~€€}€~€~€~~~€~€~~€~€~~~€~€€~~~€~€~€~~€~€€‚~€~€~€~€€}€~€~€€~~~~€€€~~~~€~~€~€€~‚~~~€~€~€}€~~~}€~€€~€~~€~€~}€€€~~€~~~€~€€~~€~~~~€}€~~~}‚}€~€~€~‚€€~~~~€€~~~€~€€€}€~€}€‚€~€~~~€€€~~~}~€€~€~~€~€~€}~~€~€€~€~€}€€~~€}~€}€~~~‚~€~~€~‚€~~~€~€~~€~~}€~~€~~€~‚€€€~€~€~~}~€~€}€~€€~€~~€€€~€}€}€~‚€€~~~€€€~€~~€}€€€~€~~€€~~~€~~€€}~€~€€~€~}~€~‚€€€~€~€~~‚~~€~€~~€}~€~~~~~€~€~~}€~~€€€€€~€~€~~€~€~€~~€~~€~~~~€~€€~€~~€~~~€~€€~€€~}€~~~€~€~~~~}€~€~}~€~~~€~€€~~€~~~~~€~€}€€}€~€~~~€~~€~~€€~€~€€~€~€~€~~~~€}~€~~€}€~€~€~~€~~€~€~~~‚~~€~€}~~}€~€€~€€~€}€}~~€€€~€~~€}€~€~~~€~€€~€~€~€~~~€~€~€~~€~€~~€~€~€€~€~€~~~~~~€€~€~~~€~€~€€€~€}~}~€€~~~}~€€€~€~€~~~€€~€~~€~€~€~€~~~~€€~€}~€~€~€~€€~€~~~}~~€}€~~€~~~~€~€~~‚~€~~€~€~~€}~€~€~€~}~~~~€~€~€~~~€~~€€€~~~~}~‚~€~€€€~€}~€~~€€}~}~~}€~€~€}€€€€~~~€}€€~~~€~€~€~€~€}€~€~~~‚€€€~€~~€~~€€~€~~€~€~~€~€~}~~€~€~€~€~~€~~~€~€}€~€€~~~~~~€€~€~~~€~~€~}~€~€€}€}€~‚~€~€€~€~€~}~€~~€~€€~€}~€~~}€~~€~€~€~~€~€~€€~~€~~€€~€~~€~€€€~€~€~~~~€€~~€~~€~‚€€€~€~~~€~€}€~€~~€~~~~€~€}€~‚€€€~‚~€}~~€~~~~~€~~€~€~€€~€~}€~~~~~€~€~€€€~€~€~~~€~€~~~~~~~€~€~€~~€~~€~~~~€~€€€~€~~€~€€€€~~~€~€~€€~€~€}€~€~~€~€~€}~~~€€‚~€~€~€€~~€~€}~~€€€~‚~€~~€~€€~~€}€~€~€€~€~~~~~€~€~~~€~€}€}‚€~~}€~€€~~~€}€€~~€~~€~€~~€~~~€~€~~~~~€~€~~€~€~€}€~€~~€~€~€~~€}€}~~€~€~€~€€}€~~~~€~€~€€}€€~~€~€~€~€€}€~~€~€}~~€~~~€~€~~~€}€~€~~~€~€€~€~~~€~€‚~~€~~€~‚~€€€~€~~~€~€~€€~€~€~~€}~€€~~€~€€~€~~~~€~‚‚~~‚~~€~€~~€~‚~€€~€~€~~€}~~€‚~€€~€~~~~€~€€€}€€~‚€~~€~€€‚~€~€~}~€€€~€~}€~€~~‚~€~€~~~€€~€~€~€~€€}}€~€~€~~~}€~€~€~~~€€}€~€~}~~€}€€~~~~~€~€~~€~~€€~~€~}~€~~~€}~€~€€}€~~~€€€€~}€~~}~~}€€~€~~~~€~~€€}~}€~€~€~€€~~~€~€~~~~~~€€‚~~€€€}€~~~€~€~~€€~~~€}€~~€}~~€~€~~~€~€~€€}€€}~€€~€~~~}~~€~€}€~€~~~~€~€€~~‚~€~~€~€~~€~~~€~€€€}€~~€~€€€~€~€~~€}€~€€~€~~~~€€€~€~~€~€~~€}~€}€~€€~€€~€~€~€~€€~}‚€}~€}€}€€}~~~€~€€~€~~~~€~€‚~~~€~€~€}€~~€}€€~€~€~€~€~€~}€~€~€~€~€~~‚~~~€~€~}€€}‚~~~~€}~~€~‚€~}~€~~~€~~~€}€~€‚~€~~~~€€}~€~~€~~}€€~~€~€}~~€~€~€€€~€~}€~~€~€~~~~~~€€~€~€~€}~~~~}~€~€~~~€}€~€~~~‚~~€€~€~~€~~€€}€~€€~€~€€}~€~~€}€~~€~~~~~€~~€~~€~~~€~€~€~€~€€}€~€~~~‚}€~~€€~€~€~€}€~€~~‚~€€€€€~€~}~~€~~~~~~€~€€~€~~€}€€~~€~~€~~€}€€~~€€}€~€~€~~~~€~€~€~}‚~~}€~~€~€~€€~€~€~€~~~~}€~€}€}€€~€~~~€€~~€~~€~€~€~€}~}‚€~€~€€€~€}}‚~~€~€~‚}€~~€~€€~€~~€~€€~~€~€~~€~~€~€€~€~€}€~€~~€}~~~€~~€~~€~€~€}€~€~€€€~~~~€~~€€~€~€€~€~€€~€~~~€~~~~~~€~€~~~~~~€€€~~~~€~€~€~‚~~~€~}€}€€}€~~}€~~~~~€€€~€~€~~~€€~~‚€‚~€~€~€~€~€~~‚~€~€~€~€~~€~~€€€~€~~~€~€~€~€~€€~€}€~}€~~€~€~}‚€‚~~€~€~€}€~~}€~~€~~~€€}€~~€~€~~‚~~~€‚~~€}€~€~~€~€~~€~~~€~€€~€~~€~~}€}€~€~€~€~}€~~€~~€~€€€~€€~~€€~€~}~€~€€€€~€~€€~~~~€€€~€~~€}~€~€~~~€~€€~~~}€~€~€}€~~~}~€€€‚~~€~~~€}€~€~€~~~~€~~€~~~€€~€~}€~€~€~~€}~}€€}€‚~€}~€~€€€€~~€~~€~€€}€€~€~€~€~~~~€€€€~~}~~~~~€~€~€~€~~~€~€€~~€~€~€~~~~~~€€~€~€€€‚~}€~~~~€~€€~~~€~€}€~€}€~€~‚~~~€~~€~€€~€~~}€~~€€~€€~€~~€}‚€€€€~~~~€~~}}}€~‚~~€~€~€~‚€€~~€~~~€~€~~~~‚}€~}€€~~~€€~~€~~€}~€}}€}€~€~€~~€~~~€~~~€~~~~~~€~~€~~~€~€}~€~€~‚~€~~€}€~~€€~€}~~~~~€~€~€€~~~~}~€~€€~~€~~€~€}€~~€€~€~~€~€€~~~€}~~€~~€€~€~}€~‚}~€~€‚}€€~€~~€~~~~~€~€‚}€~€}€~€~~~}€~€~€~€€~‚‚~~~~€~€~€~}~~€~€€~€~~}}~€~~€€~€€‚}~~€}~€~~€‚~~€~€~€~~€~~€}~€~€€~€~~~€~€~~€€~}€~€~€~~~€~~€€~€~€~~~€~€~~~~€~€~€~€€€~~€~~~€€€~~~~~€~€€~€~€~~}~~€€€~~~~~}€€}€~~€~€~~~€~~~€~~~€}~€~€~~}€~€€~}~}€}€}€~~€~€€}~~~~~~€~€~€€}€~€~€}~~€~}€~~~€~€€}~€~€€~~~~€~~€~~}‚}~~}~}€}€~€~€~€€~~€~~~}€~€}~€~€}€~€~}€~~}€}€~€}€~€}€}€}~€~}~€~~~€}€~}€~}~€~€~€~~€€~~€~€}€~~~~€€}~€~€}€~‚€~‚~€}€~~€~€€~~€~€€~€~~~~€~€€~€~€}€~~~~~~€}€€€~~€~~€~~~~€}~}€~€€}€~€€~€~€~~‚~‚~~~€}€€~€~€~€~€~€~€~}~€€€~€~~€~€~~€€~€€~~€~€~€~~€~~€~~}~‚€~€~‚€~~~~€€€~€~~€~~€~€~~~~€~}~~€€~€~€~€€€~€~~~€~€€~~~€~€~~€~~€€~€}€~~~€‚~~€~€}€~€~€~~~~€~€€~€~€~~€~~€}€~€~€~~~~€~€~~€~~€}~€~€€~€~~~€€~~~~€~€€}~~€~€€‚~€~}€~€~~~~€~€~€€€~€~~~€€~€}€~~‚~€~~€~€€€~~}~€}€~€€~~€~~€~~~€~~‚€~€~€~€€~~~€~€}€~€€~€~~€~€€~€~€~€}~€~~€~€€~~~~€~~€~€~~€€€}€~~~€~€~€}€~~€~~~~€~~€~~}€€~€}€~€~~€€~~~~€~€~}€~}~€~~€~~€~€}€~€~~€€~€~€~€~€~~~~€‚~~~~~~€‚~€~€}€€~€~€~€€~~€~~€~~~~€~€~€~~€€€}€~€€~€~€~€~~€~€€€~€~~~~~~€~~€}€}~~~€~€}€€~€~~€~~€~€€€€~€~~~~~~€~~~}€~€}€€}€~~€~€~€€€~€~~~~€~~€~€~~~~€~€€‚}€~€~€~~~€~€€€~€~€~~~€€~~€}€~~€}~€€~}~€~~~~€€~€~€~~~€‚}€~€‚~€}~€~}€€}€~€€~€~~~~€~€~€}‚}~€}€€~€~€}~€~~€€€~~~~~~€~~€€~€~~~€~€~€€}€~‚~~~€~~€~~~~~~~€~€~€€€€€~€~~~€}€€~~€€~€~}~~€~€~~~~}€~€€€~€~~~€~€~€~€~€€~~~~~€~‚€~€‚~~~€}~€~€€€~€~€~€~€€}€~~€€€~€~~~~€€~€~~~€~~~€~€€~~€~€~|€€~}€~€~~~~‚~~~€}€~~€}~€~}~~€}€~€~€~€}~~€~~~~~~€}~€~~€~~€€€~~€~~€~€~€~~€€~€~~~€~~~~€‚~~€€~~}~€€€}~€~€~~€~€~~~€€‚~€~€~~~€~~~~€~€~€~€~~€€€€}€~€}}€~~~€€€~~€~~€~€‚~}€}€~~€~~~~€~~~€~€~~~~€‚~~€~~~€~}€~€~€}€~€~~€~€€}~€~~‚~~€€}€}~~€~~€~~€}€€~€~}€~€€€€~€~~€~~~~~€€‚~~€}~~~€}€~}€~€~~€~€€€€~€~~~~~€~€~~~~~€}€€}€}€}€€}~€~€~~€~€~~€~€~~}~€~€€}€~€~~€~€~~~~€€€~~€~~~€~€}€~~€~~~~€€~€~€~~€~~~~€~€€~~~~€~€~}€~€~€~~~€€~}€~~‚~~~~€}~€€€~~€~€~~€€~}€~~~€~€~€}€~~€‚~€~~~€~~€€~~~€~~€~€~€~~€~~€~€~€~}€~~~€~€~~~€~€‚~~€~}€~€~€€~€~~~€~€~€~~~€~~~~€~~€€€~€}€€~€€~~€€~~€€~€~~~}~~~‚~~€~}~~~€}€~€}€}€~€~€~€€€€}~~€}‚~~~~€~~~~~~€~€€‚~~€~€€~€€~€~~€~€€€€~~~~~~‚~~€€~€~€~~€~€~€€~€~€~€~€€~~}€€~€~}~~€‚~~€~€~~€~~~~€€~€}€~€}€~€}~€~€€~~~~~~‚~~€~€}€~~~~€€~€~€~€}€~~~€~€€€~€~~~~€~€~~€~~€}~~€~€~€}~~€}‚€€~€~~~~€‚}~€}€~€~€~~~~€~€~€}€~~‚€~~€~~€€€€‚~}~~~€€}€~€~€~~~~~€~€~~€~€~‚€~~}~€~€€€€}€~~~€~}€}€~€~~~~~€~€~~€€€~€~€~€~~~€~€~~~~~~€~}€~€}€~~~}€€€€}€€~~~‚~~~€}€~€}€‚~€~~}~€€}~€~€~~}~€€~~~€~~€€~€~~€€~€€~~~~€‚~~~~€}~€€€€~€~€~‚€~~‚€~~‚}€~€}€~€~~~€~€}€~~€~€~~~€}€~€~~€~~}~€€}€€€}~€~€€~€~~‚}~€~€}€~~€~€€~€~~€~€~€~€~€}~€~~€~€~€€~€~~~€~€~~€~€€~~}€~€~€€~€~€~€~~~€~€€}€}€~~~~€€~€}~~€~€~€€~~€~~~€~€~~~~‚€€€~€~~~~€~€~€~€€€~~€~€€‚}€~€~~~~€€€€}€}~~~€‚}€}}€€~€~~~€}~€€€€~€}€~~~€~€€€~€~€~}€}€}€~€}€~~€~€€€€~€~~~~€~€€~€~~~€~}€~~~~~~~€~~€‚~€~~~~~€}€~~€€~‚€~€~~~~€~~~€~~€~€€€€~€~~~€~€}~‚€~~€~€~€}€€}€€~~‚€~~€~€€€€~~~€~€~~€}€~€‚~~~~€~€~~~~~}}€~€€€€~~€}€~€€}€~€~€€~€~~~€€~}€~~~~~€€€~€~~€~~€~€}}€~€~€€€~~~€}€~€~€€}€€}€~~€€~~€~~~~~€~~}~~€~€~€~€~‚€~~€€~€~~€~€€~€~~€~€€~€~~€~€€~~~~€€~}~~€~~€€€~~~~~€€€}€}€~€}€~~~€~€€~€}€~~€~€}~€~~€~€}€~€~~~‚~~€~€€~€~€~€~~‚}€~€~~~}~~€~~~~€€}€~~~€~~€€~€~€~}€€}€~~€~€~€}~}€}€}€€}€€~€~~~~~€€~€}}~~~€€€~~~~€~€~€~€‚~€€~€~€}~~~~€~~~~€~~~€~~€€~~~~~€€}€~~€€~€~~~~~€€€~€}~~~€~€}€€~€~€~€}~~~€~~€€}€~€€}€€~}€~~€€€~€~~~}~€}€~~€~€~€~~~€~~€€~€~~~€~~€~€}€~~}€}€~€€€~€~€~~€~€~€€}€€~€~€~~~€~~~€~€€€~€~~€~€€€~€~~~€~€€~~~~€~€€~~€~~€€~€~~~}~€~€~~~€~€~~~~~~~~~€€~€}~€~€‚~~~~€~€€€~~~~~€€~€~~~~€€~~~€}~€~€~~~~€}~~€€}€~€~~€~}~~~€~~€€€~~~€~€~€~~~€~~~€~€€~€~~~~~€€}€~~~€€~€~~€~~~€~~~~€~~€~€~‚€~~~€~€~}~€~€‚~€~}€}€~€~~~}€~€€~€~€~€~€~€~~~€~~€~~€€€~~~€}€€~€~€~€€~€}€}€~~€~~~€}€~~~€~€~€~~€~~~€~~€}~€}€~€‚~€~~~€€€~}€€}€€~~€~€€~€~~~€~€€~~€~~~~€€~€~~€€~€~~€}€~€€~€~~}~€€~€~€€~}‚~~~€€~~~~~~€€€}€~~€€~€~~~~€~€~~€}‚€~~}€€~€~~€~~~€~€~€~€~€}~‚~~€~€€}€~€~€~€~€~~~~~€~€€€~€~~€~€€€~€}€~~~€€€~€~~€}~€€~~€~~~~~~€}~€~€~~€~€~€€‚~€~}}€~}~€~€}€€~€~€}~~}~~€~€€}€~~}}~€€~€~~~€}€€€€~€~~}€~€€€€~€}~~€~€~€~~~~€€~€€}€~~€€~~~~€~‚€€‚€~€~~~~€€}~€~€~€~~~€~€}~~}€~€}~€}}~~~~€€€~~~€~€}€~~~}~~~~€€~~€~€€€~~~€~€~€~}€€~€~€~€~€~€~€€€~~~~€~€}€€~€~€€}€€~}~~€~€€€~~€~~€~‚€~€~€}€}~~‚€~~~}~~€€~€~~~€~€€€‚~€€~‚~~‚~~€}€€~€~€~‚~€~~~~€~~€~€~~€~€~~~‚~€~€~€~~~€~€€€~~~€~€}€~€‚~€€}€~€~€~~€€‚~~€~~€}~~€~€€~€}€~~}~€~€~€}€}~~€‚~€}~€~€~~~€~€}~~€~€€€€~€€~€}~~~~€~€~~€~~~€~~€~€€}€€~€~~~€~€€€~€}~€~€€~€~€~€~~€~‚€~~~‚€~~€€~€~~€~€~€€€~€~~€~€~€~~~€~~~€~~~~‚~€€~€€~~~€~~€€€€~~~~€€~€~€~~€~€€~}~~€~€€‚}~€~€~‚€€~€~€~~€~~€‚~~€~€~~~~~€€~€€~€~€~~~}€~€~€~€~€~€~~~~€€€~€~€~~€~€~€}~‚~~~€~€~€~~}€~€€~~€~~}~~~€~~€~~€~€~~€~€€‚€~€}~€€~~€~€}€~€~~~}€}€~€~~~~‚~€~€€~€}~~~€~€~€~~~~~€€€€~€~~~€€‚~€~~€~~~€‚}€~€~€~‚€~~~~~€~€}~~€€€€~€~€}€~€€~~€~}€}~~€~~€~€~€~€~~€~€€€€~€~~~€~}€~€~€}€~}‚~~€~€~€~€}~~~€~€~€€~~~~~~€~€~€~}~€€~€~~€~€€~~~€}~€~€~~}~€}€€~€~€~~€~€~€}€€}€~~‚}~~€€~~€€~€~€~~}€€~~~~€~€~~~}€~€~~}€€}€€~~~€~€€€~€~~~€~€~~~€~~€~~~€~€€~~~€~€€~~~~€~€}~€€}€~~‚~‚~~~€~€~~€€~€~~~€€~€~~€~~€€~€~~€}€~~€~€~~€€~~€~~€}~€€~~€~€~€~€}€~~~€€}~~~€~~€‚}€~}€}€~€}~€~€~€}€~~‚~~€~€~€~~~~€~€~~~€~~€}€€~}€~‚€}€€~€~€€~~~‚~~}~€~€}€~~~€~€~€~‚~~~€~€~€~€}€€~~~~~€€€€~€~€~€}~€~~~~~€~€€~€~~€~€€~€~~~~}~€~~€~~~~€€~€~~€~~~~€~€€€€~}~~~€~~~~~~€~€~€€~€~€~€~~~~~€~€~€~€~~~~~€}~€€~€~~~€~€‚~€~€}€~€€~~€~‚€€€~~}~~€~~~}€}€€~€~€€~~€‚~~€~~€€~€~€~€~€~€~~~~€‚~€}~€~‚€~~~€~~€~~~~}€}~~~€‚~€~€€~€}€~€~€~€~€~~€€~€~~€~€€‚~~~~€~€€~€~€}~~~€~€€€~€~~~€~}€~‚€~€~~~€~€~~~~~~~}~}€}€~€~€~~~€€€~~~}}€~~~~€~‚€~~€~€~~~€~€~~€~~}~€~~~€~€€‚}~€‚~€~~€~‚~€~‚~~~€~~~€}€~€€€~€}~€~€€~~~€~€~€~€}~€€€~~€~~~~€€}€}~~€€‚}€~~~~~€€~€}~~€€~€}€€~~€~~€~~€~€~€}€~~~}~€~€~}}€€€‚~~~}~€€~}€~~}‚€~~~~~~€‚~€€~‚~~~€€~€~€~~~~€€€}€~€€~€~~~~€~~~€}€€~~~~}€~~€€€~~~~~}€~€€€~€~~~€~€}~~€€~~~~~€€~~}~~€~€~€~€~€}€}€~}~€~~~~~~€~}~~€~~~~€€}~€~€~€€~~€}€~}€~~~€~€€~€~~~~€€~€}€~€€~~~€~€€€~~~}€~€~€~~€~€€€~€~€~€~€~~~€~€~~€‚}~€~€~€~€~€}‚€~~~€€~€~~€~~€~~€~€~~€€‚~~~€}€€~€}€~~~}€€}€~€~~~€~€}€~€€~€~~~~€‚}€€}€~~~€~~€~€~€}€~~€€€~€}~~}€~€€~€~~~~~~~~€€~~€~~}€‚€€€~~€~~€€€~€~~~~~€€~}~€~€~€€~€~€~€~€~~€~~€~€~~€~~€}€}€~~}~€~€}€}‚~~~~€~~~€~€~}€€~€~€~€~~~€~€€~€~~~€‚}€~~€€~€~€~~~~~€€€}~~~€€~~~~~€~€~€€~€€}€~~~~€~€~€}€~~€~€~€}~~€€~€€}€€~€~€€~~}~€€~~~}€~€‚~€}€~€€~€~~‚‚}€}~€~€~~‚€~€~€~€~€€~~~~~€~}€€‚~€€~~€}€€~€~~€~€~€~}€€~~~~€}~€~€~~~€€€~~€~~€~€€~~~~€€€~}~~€~€~€}€~~~~€~€}~~€~€~€€€~€}~~€~€€~€~~~€~~€€~~}€}€€}~€~€~€~~}€~€~~~~~€~~~‚€€‚~~€~~€}€~€~}€~~€~€~€}€}}~~~€‚~€~€€€~€}~~~€€~€~~~€~€~~}€~‚€~}€~~€~~€€~~~~~~~€~€~€}€€~€~€~}€‚~~~€~€‚€~~~~€~~€~~~‚~~€~}€~~€}~~€~€€€~€~€}}€~€~€~€~€€}€~~~~~€~€~€~€~~~€~€~€~€~~~€}€~€~~~€€~€~~~~€~€€~~~}€€€€~€~~€~€~€}~~€~€€€~€}~~€€€€~~~€~€~~€}~€~~€~€€~€~€~€~€~€~}€~€€~€}€}€~~~~€~€}~}~~€~€~€~~€~~€~€~€}€}€~€~~~~~€‚~€}€~€€}€~~~~€‚}€~€~€~~~~€~€~‚€~~~}€~}€~€~~~€~€~€~~€~€~€€~€~€~~~~€~€€€~~~€~~~~€~€~€~~€~€~}~€€~€~€~~~€~€~~€€}€€~~~€~~€~~~~~€~~~€~€}€~€~‚~€~~€~‚€~~~}€~€€~~€€‚~€~€~€~€~€~~€}€~~€~~‚€}€~~~€~€€~~~€~€€~}€~~€~€€}€~€€~€€}€}€}~€~€~~~~~€~~~~€~€‚}€~€~€~€€€€~€~~€~€€€~~~~€~~}€~€~€~~~€~~~~}€€‚~~~~~€‚€€~~~~€~€€~€~~~€~€~~~~}€}€~€~~€~~~~€~~€~€€~€~€}~}€~€€~€~~€}€~€~~€~~~~~€€~€~€€~€~‚~~€~€~€}€~€~€~~~€€~‚€~~~~€~€€}€~€~~~€~€€~~‚~~€~€}~~€~€€€€~€~€~~~€€€~€~~€~~€‚}€~€}€€~€~}~~€~€€€~~€~€€€~~~€~~€}€~~}~€}€~€~€~€~~~~€€}€~}~€€€~~€~~~€€}€~~€~€€€~€~~€~~€€€€~~€}€~~€€~}~€~€~€€€~~~~~€‚€€~~}€~€~~~~€~~~~€~€~€}€~€}€~~~€}€~~}€~€~€~~€~€~~~~~€€~~€~~€~}€€~‚€~€~~~~€~€~€~€€~€~~~‚€€}~€€}€}€~~€~~~~€~€~~~€~€~€~€~~~€~€€‚€~~~~€~€~€€}€~~~~~€}€}€~~~}~€~~~€~€~€~€~~~}€€~~~€~~~€~€~€~~~€}€~€~€€€€~€~€€~~€~€~~€€~~~}€~€€~~~~€~€~€~}€‚~€‚~€~~€~‚€}~€~€~€~€~~~€~€}€}€~}~€~€€~€€~€~~~}€~€~~€~~~~€‚~~~€}€~~~€~€€€~~}€~~€~~~~€~~~}~€~€€~€}~€~~€~€€€~€}}~~€~~~€~~~~€~€€€‚}€~~}€~€€~~~€~~€~€~€€~~‚~€~€€}€}€~€€€~€~~€~€~€~~~€~€~€~}~€~~€€€€€~€}€€~€}€€~~~~~~~~€~~~~€~€€~€€}€~€‚~~€€~€~€~‚~~~€€~€~€~~~€~€€~€~~~~€€€~€~~€~~~~~€~€~€~~~~~€~€~~€~~€~€€~€€~€~€~€€~~~~~€~€€€~€€~~€€}~€~€~€€~€~€~~~~€~~€~€}~~~€~€~€~~~€~€€~~~}€~~~€~€€~€~~~€~~€~€~€€~€}€~~~‚€€€~~‚~~€€}€€~}€~€€~€}~€~€}€~€~€€~~~~~~€~€~€}€~€~~€}€~€~~‚€~~€€~~~~€~~€~~€~€~€~€}€€€~~€~~~~€€}€~~~~€€}€€}€}€}€~€~~€~€~€~€~~~}€~~}~€~~~~€~€}€€€~~~€€~€~~€€€~€~‚€~€}~~~‚~€~€~€}€€~~~€~€}€~~€€~~~€~€€~~€}€~€~~€~~~~~€}€}€~€~€~€€€€~€~€~€~€~€~~€}€€~~~€~~€~€~~€€~€~€~‚~~€~€}€€€~~~~€~~€~~‚€‚~~€~~€€€~~€~~€€~€}€~~€‚~€~}~~~€~~€€€~€}~€~~€~€~€~€€~€€}€}€~€~~}~~~~€~€€€~€~~~€~€€€€~~~€}€€€€~€~~~€~€€~~€}€~~€~}~~~€~€~€€~~~€~€€€€~~~~~~~€}€~€~€~€€~~€~€~~~€~€~€~€€~€€}€~€€~~€~€€~€€~~~€~€~~€}~€€~€~~€~€~€~~€~}€€~€~€}‚€~€~~€~~€€€~€~~€€~€~~~~€~€~€~€€€~€}€€~~€€}~~€~€~‚~€~‚~~~€~€€}€~~~~~€}€}€~~~~~€~~~€~~‚~‚~€~€~€}€‚€}~~~€€€~€~€~~€~~€~€€~€~€~~}~€~€€‚~~~€~€~€~€~€~~€€}~~~‚~~€€~€~~~€~‚~‚€~~~~~€}€~~€~€€~€~~~€~€~€}~€~€}€~~€€~€~~€€€~~~€€}€~€~€~€€~€~€€~€‚~€~~€}€~~~€~~€€~€~€~}€~€~€~~~~€~€~}€€~€~€~~~€€~~~€~€~€~~~€€€~~€~~€~~€€~~~€~€~€}€~~€~€~~}€~€€€€~~€~€~€~€~~€~}€€}~€~~~}€€}€€}€~~~€~€€€~€~€~}~€~~€~€€~€~€~~~~€~‚~~~€~€€}€~~€}€~€~~}}€~€~€~~~~€€~€~€~€~€~~€~~€€€~~~~‚~~€~€~€€€~~€~~~€~€~€~~~€€€~~€~~€~€€~~€~€€€~€}€~€}€~€}€~€€€~€~€~~~~€€~~~~€~~€€~€~€~€~€}€}~€~€€~~~~€€}€€~€~~}~€€€~€~~~€~€€‚~€}~€~€~~€~~€~€~€}€€€€~€~~€~~~~~~~~~€}€€~€~~~€~~~€€}~€~~€~~~€€}~~~~€~~€€}€~~~€~€~~‚~~€~~}€€~€~~€~€€~~~}~}~€~€~€}€~€}~~~€~€€~€~€~~}~€€~~€}~€~€~€€~€~€~€~~~€~€~}€~~€€€€~€~€}€~~‚€~}€~€}€€~€~~‚}€~€~€~~€€€~~€~~~€}€~€€€}~~~€~€~~€~~‚~~~€~€~~€}€~€~~~€~€€}€~~~}€~~€~~€~€~€€€€~~~€~€€€€~€}€€}€€~~€}€€~~~~~€€€‚}€~~€~€€~~}€~€€~~€~€~€€~€~~~~~~~~€}€~€~}~~€€€}€€~€~€€~€~~~~~€€~€~€~€~€~~€~€~~~~€~€}€~€~€~€}€}~~~~}€~€~€~‚~€~€}€~~€€~€~€~€~~‚€~~‚~~~€€~€~~~€~‚€~€}}€~€€€~€~€~~€~€~€~€}€~€~~€~€~€~€~€~}~€‚~}€€~€~~~~~~~~~€~€‚~€€}€~‚€€€~~~~€}€€~‚€}€€~~~€~~€~~~~~~~€~€~€€}}€~€}€€~€€~€~~€~~€~€~€€}€}€~€~~€}€~~~}~€€€~~~~€€~~€~€~€~€~€€~‚€~€~~~€}€~‚€€€~~~~€~€~}€€€~~€~~€€€}~~€}~€~~€~~~‚~~}€~~‚~~€~~€€}~~~€~€~~€~€~€€}}~~~~€€~~€~€€~€~€~~~€~€~€€~€€}€€~~~‚~~€}€~€€~€~~~~~€~~~€€~~€€}€~€~€€€€~€~€€~€€}}€~€~~~~€€€~€~~€‚€~€~€~}€~€}€€~€}€~~€~~~€}€€~~€}€€~~€~€€~€}€~~‚~€}€€~€~~~~~€~~€~}€~~€}~€~~~€~~}€€€~~~~~€€}€€}}€~€€~~~€~~€€€~~~€~~~€~~€~€~€€~~~~€~~€€}€~€}€~~~€~€~~~}~€€€~€~~€~‚€€~€~~~~€€€~€}~€~€€€~€~~€}€~~€~€€~~€~~~€~€~€~~€~~~~€}~€~€€}€~€~~~~€€€~€}~~€}~€€€~~€~~~~€~~‚~€~~€~‚€€~}€~€}€€}~€~€~€~~~~€}~€€~~~€}€~~€~€€}€~€}~~€~~‚€€€€~~~~~}€~~}~€~€}~€€~€€~~~€~€~~~~€€€~~€~}~€‚~€~~€~~€~€~~€~‚€}€}~~~~€~}€~~€~~€€€~}}€~~€€~~€}~€~€~‚€€~€~~~~~€~€~~€~€€~~~~€~‚€~€~~~€~€€}€~~€€}€€~~€~~€€~€~€~€~~}~€~€}€~~€€~€}~~~€~€~€~€‚~€€~~€€~€~€~~~€€€~~~‚~€~~€~€~~€€~€}~€~€€~€~€~~€}~€~~~~~~€}~}€}€~~€~€~€~~~€~€~€~€~~~€~~~}~~€}€}€}€~‚€~‚~€€€€~€~~~~€~~€~€~~€}€€‚~€~~}€~€€~€~€}~~~€€~€}~~~€~€~€~€~€~€~~~€~€‚}€}€~}~~~~€‚~~~€}~~~~€~€}€€~~~€~€~~~€~~€~~‚€~~€~~€€~~~}€}€~€}€~€€~€~€~€~€~€~‚~~€~~~€€}€~~€~€}€~€~}€~€~‚~~€~€}€~~€}€€~€~€~~~~€~}€~~}~~€€~~€~~}€‚€€~€~€}€~~€~~€~€€~~€}€}€~~€€€~€~~~€~€~~€~€~~~~~~}~~~€~~}€~€~~€~~€€€~€~€~€~€}~€~€~€~~}€~€~€~~~€~~€~€~€}~~~€~€~~€€}€~}€~~~€€~~€~~€~€~€~~€~~€€~€}€~~~~€€~}~~~€}€~€~€~€~€~€~~€€€~~~~~~~€}€€~~~€~€~€€}€€~~€~}€€~~~€}~€€€~€~€}~€~€€~~~~€~~€~€}~€~€~}€€€~€}~€~‚€€}€~€~€~~€~€€}€~}€~€}~€}€~€~€~~~~~~€}€~~€~}~~~€~~€€€€~€}}€~~~€~€}€}€€}€~‚~€~~~~~~~~~€~€~~€}‚€~~~~~~}€}€€~€}~~~€~€‚~~~€~€~€~~~~€€€~€}~~}~€~€}€~€}€}~€~~€~€~~~€~}~€€~€~~~~~€~€€~€~~~~€~€~€~~‚€~~‚~}~€€~€~~€~€‚~€}€~€€}€~~~~~~~}‚~~~‚~~€~€€€~€~~€~€~€}~‚}~€~~~€~€€~€~~~~€~€~€€}€€~~~€€€~~~~~~€‚€€~~€~~}€~€~~~€~€€}€~€~€€‚~~€~~€€~€€~~~€~}€~€~~€~€~€~€€€~€~~~~~~~€}€~~~‚€~~~~€~€~‚€€~}~~€~€€~€~~€~~~~€}}‚€~~~€~~€€~€}~~€€€~€~€~€}‚~€‚}€~€~€}€~€~~~€~€}€€~~€~~‚}€~€~€~€€~~~}€~€~€~€~€~~€~~~}~€€~€€~~€~€~~~€~€€€€€}~~~€€~~~€}€€~€~€~€~~€~€}€~~~~€~~~€€}€€‚~€~€~€~~}~~€}}€~~~€~€~~~€~~€~~€~€}~~~~€~~~~€~€~€~~~€~€~~€~€}~}€~€€}~~€~€~~~‚~~€€~€~~~~€~€€€‚~~~~~€€€~~~~~€~€}~~~~}€€~€~€~€~€~~}€~€€€~€~~€~€~€~€~~}€~€€€}~~€~€}€~~€€}€€~~}~~€~~~~~~€~€}€~~~€~€~~~€~€€~~€€}€}€€~€}~~~€~€€~~~~~~~€~€~}~~€‚}€}€~}~~€}€€}€~~~‚~€~€~€~€~‚~~~€~€€~€~€~}€‚~€€}€~~€€‚}€}€~€~‚€~~~€}}€~}€€~€~€~~~‚€~€~~€~€€~€~€~}~~~€}€~€}€~€‚~€~~}~~€~‚~~€~€‚~€~~~€~€~~€~€~~~~€}€}€€~~}€~}€~~€~€€~€~~~~~~~€~€~€~}~~€~€€€€€~~€~~€~€}~€~~~~~€}€}€}€~€€}~€}€~~~~€~€~€€}‚€€~~€~€~€~€}~~~€~}€~~}€~~€€€~€~~€~€€~}~}€~€€€~~~€~~€}~~~~€€}€~€}~€~€~€~}€~~~€~€€€~€~~~€~€€~~€}~€}~€}€~~~€~~€~~~~~~€~~€}‚€~~~~~~€‚~€~€~~€~‚~€~~~}~€~}€~€€~€}€~€~~€~~€€€€~€~~€}€~~€~€~~~~€}~€~~~~€€€~€}€~~~~€}€~€~€~~~€€~€~~€~~€€~~~€~€}€~€~€~€}€~‚€€~~€~€~€~~~€~~€€~€~~~~€~~~~€}€€}€~€~€~~~€}€}€€~~~€~€~€€~€}~€~€~€~€~~~€~~~€~€~€}~~‚~€~€~€€€~€~~~€~€~€}~~€~‚~~€}~~€~€~€~€€~~€~~€~€~€}€~€~~~€~€~€~~~~€~€}~~€~~€€~~€~€~~~‚}€~€€~€~€~‚€€€}€~~€~~~~~~€€€~€~~€~€~€€~€~~~€€~€~~€‚~€~€~€€~~€~€‚~~~€~€}~~€~€~€~€€~€}€€~~€~~€~€}€}€~~~€~~€~€~€~~~€~€€}€~€~€~€€€~~~€}€€~~~€~€€~€~€~~€}€~~~~€‚~€}~€~~~€€~€~~~€}~€€€~€~~€~€~}~~€~~€}€~€€€~~~€€€~€~~‚~~€‚~€~€€~~~~~~€~€~~€~€~€~~~€~€~~€€~€}~€~~€~€~~€~€~€€}€~€~~~~€~€~~~€~}~~~~~€}€~~€}€€€}~~~€~~~~€‚~€~~€€~~~€~~€~€€~~€~~~~€~€€}€~€~€€~€~~€}€€‚~€~~~~€€~~~~~}€€€‚~}~~€~€€‚~~~€~~€~€~€~~€}€~~€~~~~€~€€~€~€}}~€}€€~€€~€~€~€~€~~~~}€~€€€~€~~}€}€€}€~€~‚€~~€~~~}~~€~~~~€~}€~€~€€~€}~~€€€}}}€€~€~~€~€~~~~~~€€~€~~‚~‚€~~€€}€}€€~~€}~~€~}~€~~}€€~€~€}‚~~~€€~€~~~~~€~~€~~~€~~€€~}€~}€}€€~€~~€~€€~€~€~€~€~€~€~~€~}€€~~€~€~~~~€€‚~€~~€~€€}}~€€€~€~€~€~~~~~~€}€}€~}~~‚~€~€}€~€~~€€€€~€}€~~~€~€~€~€‚}€~}€~~~€€~€~€~‚~~‚€~€~~€~~~€~€}€~€}~~~€~~€€~~~~~~€€‚~~~~€~~€€~~€~€}}€‚~€}€}}€~~~}€~€€~€}‚~~~}€€~€~~~€€~€€}€€}~~}€~~}€€€~~€~~€~~€€}~€€~€}€~€~€~€~~}~€~~~€}€~€}~~~€~€€~€~~~~~€~~}~~~}€~€€~~~€~€~€~€€~~€~~€}€€€~~~€~€€~€~~~~€}€~~~~€~~~€~€~~~}~€~€}€~~€~~€~€~€€~€~~~€}~€~~€}€~€~€~€~~~€~~€‚~€~~}€~~~€~~€~~€~~€~€€€~~~€~~€}€~}€~€€~€~~~€‚~~~€€~‚€‚~€}€~€~€~~~~€}€~~~~}€~~€~€€}€~~~~€~~~}€~~~~‚}}€€€~€~~~€~~€}~~~~€}€~~€}~~€€~~€~~~€€‚~€~~€~~~~€~~~€~€€}~}€~‚€~~€}€~~€}€€}€~~~€~€€~~~~€~€}€~€~€}€~€}€€~€~~€‚}€€}~€}‚~~~~€~~~€}€}~~€‚~€~€~~~€€~€~~~~€~~€}€€~€€~€€}€~€}‚~~~€}~€€~~€~~~€~€€~~€~~€~€€~€~€~€~€~~~€~~}~~~~€~~€~~~€}€~}€~€€€~~~}€~~€~€~}}~€~€}€€€~€~~~~€~~~~€~€~~€~€~~~‚~}€€}€}~€~€~~€~€~~€}€}€~€~€~~~€}€~€~€}€}€~€€~~~€}~}~~€}~€~}€}~€~€~~€€~€~€~~~~}‚}~}€~€~~}€}~€~€€~€}€~~€}€}€~€~€~~~€~~€}€€~~~}~€~€€€}~~€~€€~~~€~€€€~€~~}€~€€€€~€~~~}€~€}}~~€~€~€~€~€~~~~€€€~€~~}~€€€~€~~~€‚~€~~}€~~~~€~€~~‚€€~~€€}€~~}€~~~€~€€€~€~€~~~~€€~€~~~~€~~€~€~~~€€~€~~}€€€~~~~~€€€~€~€}~€€~}€~}€€~€~€}€~€~€~~~~€€€€}~€~~~~€€~€~‚~€}€~~~~€}€}€~€~~€~€~€~€~€~~€€€€}€~€~€~~~~€}€~€~€€~€€~~~~~~~€}€}€~~€~€€~€~~€~€€€~~~€~~€~~~€€~€~€~~€~~€}~}€~}€€}€~€~€~~€~€€}€~€}~~€~~€~}~~~€}~€~€~€€~€€~}€~€€€~~€~~€~~€~€~~}~~~}€~€~€~}€~€€~€~€}~‚~~€€~€~~€~~~€~~~€~€€~€~~}~€€}~~€€€€~~€~€~€€~€}€~€~~€~~€~~€~~~~~€}€~€~‚€€€€~€~€}€~€€~€~€}€~~€}~€~‚€~€~~€~€€~€~~~€~€~€}€€}€}~€~~~€~~~~€~~~~}}€~€€~~€~€}€~~~~~}€~€}}}€€~~€~€~€~}~~~~}€€}~~€‚~€}€~€~~€€~~€~~~€}€~€~€€~€}€€~~~€€~€}~~€‚~€~~€~€~~~~€~€~€€€~}€~€~~€€~€~~~€}~€~€€~~€}€}~~€~‚~€~~€~~€~€~~}~€}€}€}€€~€~‚~~€}€€~€~~~~‚~€~€~€€€~~€~~~€‚€€~€~€~~€~€~€~~€~~~~€~€}~~€€~€~€‚~€~~€€~€~~~~~€~€€~~€~~}€~~€~€~€~~~~€}€~}~€~~€~€~~~~~‚~€~€~~€~€~€€€~~}€~€~~€~€~€~~~€€~€~~~~~€~€}€€~€~~€~€}€}€€}€€~~~€~~€€~€~~€€~€~€~~~~€€~€}€~~}€~€~€~€}€€~€}€~~~~€~€}€}€~€~€~~}€}€€}€~€~€~€~~}~~~€~~€~~~~€~~€€~€~~€~€€~~€~}€€~~€~~€€€~~€}~€}€~€~€}€~~‚~}€€~€€~€~~~€€‚€~~€~~~€€~€~~€~‚~€}€~€€~€~€€€€~~€~€}€~€€~~€~~€~€€~€~}~}‚~€~€~~~~€~€€~~€~~~‚€€~~~~~€‚~~~€~€‚~€}~€~~€~€€}€€~€~€~}‚~~€~€~~€~~€~€~~€~€~}€~~~€€~€}~~€€~€~€~€~€~~~€€}€~~~€~‚‚~~}€}€~€}€~~~€~€~~~~~€~€~€€}€}~~€~€}~~€~~€~€~€€}€€~€~€~}€~~€~€~~€}~€€}€~}~€€~}~~~€~€~~~€~€€}€}~€~€~€~~~€~€~‚}~€~~€}€}€}~~~~~€€€~€~€~}€~€~€€~€}€}€~~~€~€~€~€}~€€‚~€~~~€~€~€~~}~~€~€~€~‚~~~~}}~~€€€‚€~€~€}~~€~~€~~~€€~~€~~~€~€~€€~~~}~~€~€~€}}~~~€€~€~€~€~~~~~€~€‚€€~~~~€€€~€~~€}€~~~‚}€€€}~~€€}}~~~€€~~€~€~~€~~€}~€€€€~~€~€~€€}€€€~~~~€~€€~€~}€~€~~€}€~€}~~~€~€~€~~}~€~€€~€~€~~~~€€€~€~€~~~€~€~€}€€~€€~€~€€€~~~~€}€}€€~€}~€~€~€~~~€€~€}€~€~~€‚~€~€~~€€~~€~~€~€~~€~~€~~€€€~~~€~€~€}~€~€}~€}~€~€~~}€‚€€€}€~~}€~€~€~~~€~€€~€}~€~€€~~~~€~€~~€~€}~€€~€~~€~~€€~~~€~~€€~~€~~}€€€~€~~€~€€€}€~~€~‚~~~€€~}€~~}€}~€~€€~€~€}€~~~€€~€~~€}~~€~€€}€~~€}€~€€‚~€€}€~~}€~~~€~€~€€€~€~~~€~€~€‚}€~~~€}€}}€€}€~~€~~€€}~‚~€~€~€~~~~~~~€}€€~€~~~~}~€~€€~€~~~€~‚€€‚~~~€~~€~€€~€~~~‚~‚~€}€~}~~€‚~€~~€~€‚~~€}€€~~€~~~}€€~€€~€‚~~~~~€~€€~~~~}~~€€€~€~~€}~€€~€~~~€~€€~~€~}€~‚~~~~€‚~€~€}€~~}€~€€~€€~}€~}~~~~€~~€~€~€~€€~~~€~€€~~€~~~~€~€~€~€~€~€~~€~€~€~€~€~~€€€~~~~~~€€€~}~€~~~~~€~€~~€~~€~€~€~€}€~€~}~€}€€~€}€}~€€~€~€€~€~}~~€€~~‚€~~€~€}~€~~€~€~~~€~€€~~€€~~€~€~€€~€~€~~~€~~€~}~€€€~€~}€~€€}~€€~~€}€}€€€€~€~~€~€~€€~~~€}€~~~€~~€~~}~€}€~€€~€}~€~~€€~~€~~€}€}€~~€}€~~~€~‚€~~€€~~‚}€}€€€~€~~€~€€~€~€~€€~€~~€~€€€~~€~€~€€~€~~}€€€€€}~}‚€~~€€}€}~€~€~~~€~€~€€}€~€~€€€}€~~~€€}€€~}€~€€~€~~~€€€€~~~~~~€~€~€~€€~~€‚~~€}€~~}€~~€€}€~€~€~€~€~~~€~€€}€~€~}‚}~~€~€~~~€~‚€€~€~~~~~€‚~~~€~~~€~€~€€€~€}€~€€€~€~~€}€€€~€~€~~~~~}€~€~€}€~~~€‚~~~€~€~~~€~€}‚€€~~€~~€~~€~~}€€}€~€~€‚~~€~~~~€~~}€~€€~€}~€~€~€€~€~~~~‚~€~‚€~€~~~~~~€~€€~€~€~~€~}€~€~€~€~€€€~€~~~€~}~~~€}€€~€~€~€~~~€~~€€~€}€~~~€~€~€~€~€€€~€~~}€~~~~}€~}€~€€€~€~~~€~€€~€~~€~€‚~~~~€~}€~~~€€}~€~~€~~~€~€~€~~€}~€€~~~~€~€~€~€~~€€~~~€~€€€€~~~~€~€€~~~~€€€~~~~~~€‚€}~~~~~€‚~€~€€~~~}€€~€~€~€~€€~}€~€}€€}~~€~~~~€~€~€~}€€~€~~€~~~‚}}~}€€~€~~~~~€€~~~~€}€~~€}€~~€~€~€~~~~‚~€€}€€~~€}€~~~€}€~€~€}€€~~€~€~‚~}~~~~}€~€€~€~~~€€~~~~~~€}€~€}~€~~€~€~€€~~€~~~~€€€~€~€~€€~€~~~€‚~~~}€~€~~}~€}~~€€~~~€~€}€€~€~}€~~~}€~~~~~~€~€€€~€~~}€~€€€~€~€~€~€~€~‚€~€}~~~€~€~€}~€~€€}~€}€~€~€}~~~~~€}€}€~€~~€}€~€€~€}€~~€~€~€~~~€}~~~~€~}€€}~€~~}€~€}}}€~~}€~€€}~~€~~€€~~€~~€~€~€~~€~~€~~~~€€~~~€€~~€~~}€~€€~~~€~€~€€€~~~€~€€~~~€~€~€}~}}€€~~~€€~€}~~€}€€‚€}~€‚~€}~€~€€~€}~~~€}~€€~‚~~~€~~€€~~~€~€}€€~€~€~~€~€~€‚~~~€}€~€€~~€~€€~€~‚~~€~€~~~~€~~€~~€}€~~}€€€€}~~€~€€~€~~~€~~~}~€}}€~€€~€~~€}~‚€~~~€~~€~€~€€€‚~€}~}~€~€€}}}~~€~€~€‚~€~‚~~~}€~€}~~~~€~~~€~€€~€~€€}€€}€~€}€~~€}€~€~~‚~~€~~~~€~€€~€~~€~€~€~~~€~€~€~€~~~~€~€~~~~€~~~€€€}~~€~€}~€€~€~€~‚~~€~~}€~€€€~€€~€~~€~€~€€~€~~~~€~€€~~€€~€~€~~€€}~€€€~~~~€~€~~~~€~}}€~€~€~€}€~~€}€~~€~€}€~€~~~~~~€~~€~€€~€~~~€~€€€~~€~€~€~€€}€~~~€€‚~€~~~~€~€~~~~~€~~€~€~~~~€€}€€~€~~~€~~~‚‚}~€~€~€~}~€~~€€€€€~~~€~€~€€~~€~‚€~~€}€~~€~~~~€~€}~~~€~}~~~€~€~€~€~€€~€~~}€~€€€‚~€~€~~~~~€~€€€~€~~€~€€~€~~€~€~€}~€~~€~€€~€~€~€~€€€~€~~‚€~~~€}~€~€~~~~€~€~€~€~~€~€€€~€~€~€€~~€}~€€}€~€~€€}€~~~€~€}~€~€~€~~€~€€€~~€~~}€~€€€~€~€}~€€~~~~}~~~~€~€€~~~~~€€€}~~€}‚~~~€~€€~€~€~€€€~~€~€~~~~€}~~€}€€€~€~€~~€}€€~‚€€~~~~€}€€}€~~~€}€}€€~~~}~€€~~€~~€€~€€}€}€~~€~~~€~€€~€€~~~~~€~€€}€~~€€€~€~~}€}€~€~€€~€€~€~€~~~~€~€€~€~€~€€~~~€}~€~~€}€~€~€€€€~~€~€~€~€€€~€~€}€~€€€~€~}€~€€€~~~€}€€~€~€}€€~~~~~€€€~€~~€}€~~~~~€€}€~~~€}€~€~€}€~€~~~€€~€~€~€~~€~€~~€~€~€~~~€~€€~~}}}}€~€€€€€}€~~€~€~~~€~€~€~€~€~€€‚~€~€~~€‚~~€~€~~€~€~€€~€~~€~€€€‚~€}€~€~~€}€€}€~€€~€~€~~~€~€€~€~€~~‚~€~€}€€~~~~~~~€~~€~€€€‚~~€€~~€~~€~€€~~€~€~~}€~~€~~€~~~~€~€€€}€}€~}~~€}€~€~€}~~€~€~€€}€€~€~€}€~€~~~~~~~~€~€€~~~€~€~€~~~€~€€€~~~~€~€€~~€€~€~€~}€~€€~~~€}€~}€€~€€‚~~€~~~~~~€~€~~‚€~~€‚~€~€~€~~€€€~~~~~€~€}€~€~€~~~~€~~€€}€~€~}€~~~}€~~€~€~~~~€~~€€€~€~~€~€~€€~~~€~€}€€~~~~€€€€€€~~}€~~~~€~€~~€€}€~~}€~€€~€~€€~€~~~~}~€~~€}€~€€~€~~€~€~€€~€€~€}~~~~~€~€}€}‚€~€~~~€~€~~€~~€€€~€€~~}}~€}€€~€~~~‚~~~€}€~€~~~~€~~€~~~€~€~€~~€~€~~~€~€~€~€€~~€~~€€~€~€~€~€~~~~~€}€}€~~€€}€~€~€~€~~€~€~€~€~~€€}€€~€}~~~€~€~€}€~€~~~€~€~€~€~€€}€~~€~€€€~~€€~€€~€€}~~€€~}~~~~€~~€}€€~€}~~}‚~€~€€~€~~~~€~‚€~€~~€~€€~~~~€€}€~€~€~~}€~~€€~€~~€~€~~€~€~€€~~~~~€}€€€~~€~€€€~~~€€€~~~€~~€~€}€€}€}~~€~€}€~€~~~€~~€}}€~~~€~€~€~€~€€~~~€~€~€€€~€}~€~€€‚€~~€€~€}€~~€~€~~~~€€~~€~€~~€€~~€~~~~€€~€~~~~€~~€~€~€~}€~€€}€~€~€€}€}‚€~€~~€€~€~~~~€~~‚~€}€~€€~€}€}~€€‚~€~~~~€~€€~€~~€~~€€€~€~€~€~€~€~€~€~~~€~~€~€~~€‚~€}€~~~~~€~€~~€€~€~€~~}€~€~~}~€€~€~€~€~~~€~€~€€€‚~€~€~~€~€}€~€€}€~~‚}~~€~€~~~€~~€~}~~€~€~€}}~~€}€€€~€€~€€~}~€~~€~€‚€€~€~~~~}€€~}€~€~}€~€€€~€~~€~€€‚~~€~€‚~€~€~€€}€~€€~€~~~}€€€€€~€~~~‚€~€€~~~€~~€~~€~~€€€~€~‚~~€~€}€€~~€~~~€~€€€€~€~~€~€~~€~€~~€~~€€~€}€~~~~~€~€€~€~€~~€~~‚~€~€~~~€~~€€€~~~€~€~€~~€~€~€~€~~€~~~€}€~€~~€~~€}~€€~€~~~~€~€~€~~€~~}~€~€~€~~~~€~~€€€€~€~~€~€€~~€~~€}€~€€}}}~~€~€~€€~€~}~€~~€~€~€~€€~~€~~€~€~€~~~~€~~€~€}€~€~€€~€~€~€~~€~€€‚~€}€~€~~€€€}€~~€~‚€~~~~~€~€~|€€~€~}€}~€~}€€~€~~€~~~~€~€}~€~}€}€~~~€€€~€~~~€~€~~€~€~€}~€€~~~~~€~€}€€~€~€~~~~€~~~~€~€~~~~€~€‚~€~€~€}~€}~~€€€}€}~~€~~~€~€~€~~~€~€€~~~~~€€~~~~~‚}€~~€€~€~~~€~~€~‚~~€~€}~~~~~€~}€~~‚€}~~€€~~}€~€~€~‚~~€~~€}~€~€}~~~€~€€~€€~~~~€€€~~~~€~~}€~~€}~~~€~€€~}€~‚}~‚€}€~~€~~‚~~€~€~€}€€~~~~€~€~~€}~€~€€~€~}€~€€€€~~€€~€}~€~€€~~€~~€~~€~~~~~~~€~€}€€}€~€~~~€~€~~€~€}€~€~€}~€}€~~~‚~€~‚€€~~€}~€~€€~€~€~~€~€~~€€~€~}~~~€€€~~~~~|€}€~}~~~€~~€€€~€~€€}~‚€~}~€€~€~€~~}€~€‚~~~~~€~€~~€~€€€~}~€~€~€~~}€€€~€}~}€~~~~~~€‚~€~€~€~~~~~€}€~~€~€€€~~~~~€€€~~~~€~‚~€€}€}~€€~€€~€}€€}€~€~~~€€~}}€~~€~€€~~€~€~€€€~€~~~~€~€}~€€~€}€~~}~}€~€~~€‚}€~€~€~€€~~~~€}}€~€~‚~~€~~~~~~€~€€~~~~€~€~~€~€~€}€€}€~€€~€~€~~}~€€~€}€~}~€€}}€€}€~~~€~€~€~‚~~~‚~}€~€~€~€~€}~€}€~~€~~€€~}€~~€~€~€~€~}~€~€}~€~€~€~€~€~~~~~€‚~~€€}€~‚~€~€€~€‚~€~~~~~€€~~€~~€}€~€€}~~‚}~€~€~€~~€~€~€~~€~€€~~~€~€€€€~€~~}~€~€~€€~€~~~€~~€~~~€€~~~~€~~€}€~~}~€~~€~}‚~~€€~€€~€~€~~~~~~€~€€~€}~€}€€}€€~€~€~~~~€~}€~€€}€~~~€~€~~~~€~€€€~~€~~€€€}€~~€~€~€€~€~~€}~€€€~€~€~€~€€~~€~€}~~€~~€€~€~~~€~€€~~‚~~~}€€€~€~~~~~€~€€~€~€~€~~~}~€~€€~~€€~~€}~€~~~€~~~~€~}€~€€€}}€}€~€~‚€~~~€~€€~€~~~€~~€€~€~~€~~€~~~‚~~~~~€~€~€~~€~~~~~€~‚~~€~€~€€~€~€~€~€€€}€~~€~~}~~‚}€}€€~~~~€~€}€~~€~€~€~}€}€~€~€~~€€€~€~~~€~€€~€}€~€}€‚~~€~~€~€~€~~~~~~~€~}€~€~€}€~~~~€€€€€~€}~}~}~€}€}€}€~~~~~€€€}~~~€~€€~~~~€€‚}~€~€€€€~€}€~~‚€~~}€€€~~~~€~€€~~~~€~€~~~~~~€€}€~€~€~‚~~€}€~€‚~~€~€~€€€~~‚}€}€~€~€~€~~~~€~~~~~€~‚€}€€~€}€~€~€~~~~€~€€}~~~€~~€~€~€~~~~€€€~~€~}~~~~€}~€~€~~~~€~€€€~~~~‚~€~€~€~~~€~}‚€~~~~~€~€€~~~€}€€~€~€}€~~~~€€~~~~~~€~€€€€~€~‚}~~€~€}€~€‚€~~€~~~~€~€~}~€~€€€€~}~~~~€€~€}€~€}~€}~~~€~€~€~€~~}~€~€€~~~~~€€~~~~€€~~€~~€€}€~€~€}€~~~~~€~~~~€€~~~~~€€~~‚~€~€~€~}€€€€~€~~~€~€€€~~~€~€€€~~€~~}€~€~‚~€~~}~€€~€~~~~€€~€~~€~€}€}€€~}~~€€~~~~~}~€€€~€~~~€~~~~~€€‚~€~~~€€€~€~~€~€~€€~€~}€~~‚~}~€~€}~~~~~~€€€~~}~~€€~€~~~~€}€€}€~€~~€}}€}~€€~€~€}~€€~}€~€~~~~€~~€~~€~€~€~~€~€€~€~~}€€~€~}€~€}€~~~~~€~€€€~€~~~€}€~€~}€~}€~€~~€€~€~~~€€~€€~€€~€€}€€~€~~~~€~€~~€~~~€~€€~€}€€}€~~~€~€‚€~€~~~~~~~€~€~~~€~€}€€~€~€€~€~€~~~€‚~€€}€€€~€~€~~€~€~€€~~~}~€~~€~~€€~‚€~~€€~€}€~€~€€~€}€€~€~€~~€~}€}~~~€~€€€€~€~~~~~~€€~€}€€}‚€~€~~€~~~€}~€€~€~€~~€}€~~~€~€~€~€~€~~~~~~€€~~~~€~€~€~€~~~€~€~~}€~€€€~€~~€~~€~€~€~~‚}~€}€€~~€€}€~€~~~}€~€€~€~€€~€~~~€~€€€~€~~€~€€€~€~€}€~€}€~€~€~~~€~~€€~€~~}€~€€~€~€~€€~€~~€~€€€~€}~}~~€~€‚~~€~€}~~€~€~€€~€~~‚~~€}€~€€~€~‚€‚~}~~}~~€~€~}€~€~€}~~€~‚~~}}€}€~€€€‚~}~€~€~}€~~~}€~€€}€}€~€~~}€€~~~€~€€€~€~€~~~~~~~}~~~€~~€€€€~~~~€~€€€~~~~€~€€€}~~~~~€~~€~€~€~~€€~~€~~~~~€~€~€}€~~~~€~€~~~€}€€~€~~~~€~€~€}€€~‚}€~~€~€}€€~~€€~€~~€~€~€€}€}€~€~~€~~~~€~~€~~~~€~€€€~€~~€~€~~~~€~~€€€€~€~~€~€€~}~~€€}€~~€~~~€~~€}€~€€~€~‚~~~€}€~€~~~~€~€~~€~~€~€}€€~€~~€~~~~€€~~€~~~€~~€~~€~€~~€}‚~~~~€~~€~€~~~~}€~€~~~~~~~€€~€~~~~~€~€~~€~€~€€€~~~~~€~€~~€~~‚~€€~~~~‚€€~~~€~€€~~~~~€}€~~€}€~~~‚}€}~€~~~~€€€~€~€~€~€~€€~~‚€~€~€~~~~~€~~~~~€~€~€~€~€~€€€€€~€~€}~~€~€~€€~~€}~~€€‚}€~€€€€~~~€~€€~~~€~~€~}€~€€€€~€~€€~~€~€~~€€~€~~~~€~~€~~~~€~€~~€€~€~~~€‚~~€~~~~€~€€}~€€~€~~~~~€€~~€~~€~€€~€€~€€~€~~€~€~€~€~~€~‚}~~€}~}€}€€~~~€~~€~€}~~}€}€}~~€~}~€~€}€~~‚~~€~€}€~~€~~€~~€~‚€~}~€~~€€€€~€}~~€~€}€~€~~~~~€~~€~€}€‚}~~~~€~~~‚}€~~€~€€~€~~~€~€~€~€~~~€}€~€~€€}~~~€~~€~€}€€}€}~€~€€~~€‚~~}€}~€~‚~~€~€€~~€~~€~~€~€~~€€}~€~~~~~€~~€€€~€}~€}€~€~€~~~€€~€€}€}€}~~~€~€~€~~~~€~€~}€}‚€~~~€~€~€~~€~~~€~‚€€€€~€~€~€~€~}€~€~~}€€~~}€~€~€~~€~€}€~}€~~€~€€~~€~~~~€}€~~€~€~€€~€}~~~€€€~€€~€~~‚‚~~~€~€€€~€~~~~€~€€~€~€~€€€€‚~€~€~~€}€~‚}~~~‚~€€~€}~~€}€€~~~~€~€~~~~~~€‚}~~€}€~€~€}~~~€}€}€~}~€~€€~€}€~~€€€€~€~~~€~€€‚~€~€~€~€€}€~€~€}~€~~€€€}~~~€€€~~€}€~€}€~~~~€~~~~€€€~€~~~}~~€~‚€~~~~~€€~€~~~~€€€€~€~~‚~~‚~~~€}€~~}‚~~€€€~€~€~€€~€€~€~~€}}€~~€~€€~€~~€~€~€~~€€~~~~€~~€€€~€}~~€}€€€~~~€}€~€€}€~~~‚€~€~~~€€~~~€€}€~€}€€€~~~~€~€‚€€~~€~~€~~€~€~}~€€~~~€~€~€~}€~€~€}~€~€€~€€}~~~~~~~€~€~}€~~~~€~€~~€~~~€~€~~€~€‚€€~}~~€~~€‚~~€~€€~€~~~~€~€}€€~€~~}€~€}€}‚~~€~€}€€~~€~€~€~€~€~€~€}~~€}€~€€€}€~}€}€€€~~€~€€€}€~~€~€€~€}€~€}€~€}€~~€}~~}€~€€€~}~€}~€€~€€}~€€€~~~€~~~€~€~~€~~~€~€€~€~€~~€}€€~€~~~~~~~~~€€~~€~€~€€€~€~}€~€~~~~~~€}€€~€€~€€}€~~€~€€~~€~~~€~€~~~~~‚~~~€}€€~~~€}~~€}€}€~€~~~€~€€~€~~~€~€~€~€~€~~~€€~€~~€~~~~~€~€€~€~€~~~~€}€€~€~~€~~~~€~}~€}~€}€€~€~}€~€~€~}€~~€~~€~€~€~‚~~~€~€€~~~~€‚~€~€€~~€~€~~~€~€}€~~€~~~~}€€}€~€~~€~€€~€}~~€~~}€~€~€~~~~€~€€~€~€~€€~~~~€}~€~}€}~~}~€€~~~€€~€~~~€~~€€}€~€€~€~€~€~~~€€}€}~}~€~€~~€~€~}€~€~€}~~€~€€‚~~~~~€}~~€}€~}‚~~~~€~€~€~€~~€~~€€€~€~~€€}~€~€~~~}€~€~€}€~~~€}~~~€~~€€€~~~~€~~}€~~~~}~€€}€~~€€~€~€~~€~€€€€~€~~~}~~€~€}~€}€~~~~€~€~€~}€~€~€€}€€~~€~€~~~~~€~€€~~‚~€~€~~€€~€~~€~€}€~€~€~€€~€€}€~~~~€~€€~~€}€}€€}€~€~€}€~}~€}€~€~}}€~€€€€}~~€~€~€~€~~}€~€€}€~~~€~€‚~€~~‚€~~€~€~€~€~€~~€~€€€€~€~~€~€~~€~€€}€~~~~~€~€~€€~~~~~€~€~€}€~~€~€~~~~€~€€€€~~€~~~~‚~~€~€~~€€~~€~~‚~~€€~€~~~}€‚~~~€€~~~€~€€€~€~~~~€€~€~€~€~}~~~~~€~€}~€~~}~~€~€~‚€~~€~~~€}€€~‚~~€€~€~~€~€€€€~€~€€}€~€~‚€~~~€€~~~}~€€}€}~~€~~€~€~~~~~€~€~€~€~‚€€~~~~}€€}€~€~€~€~~~~~€€€€~€~~~}~€€~€}~~€}€~€}€~~~~~€~€€~€}€~€~~~~~€€~~~~~€~€€~‚}€~~~€€‚~€~~~~€€€~€~}~€€~€~€~~€€~€}€~~~~€€€~€~€~~~€~€~€~€‚}€€}~€~~€~€}€~}~~~~~€~€~€~~€~€~~€}€}€€~~~~€~~~€€~}€~~~~~€€~~~~~€~€~€~~€€€}€}€€~}€€~~~~€}€~~~}€€€‚~~~~€~€‚~~€~€€~€~~}‚~~}}€}‚€~~€}€~€~~€~€~€~~€~~}~€~~~}€~}€€}€~€€}‚€}~€~~€‚~€~€~€~~~€~~~€~~}~~}€~€€~~~~€~€~€~~€}€€~€~~~€}€~‚~~~€~€~€~€€€~~€~€~~€€~~€}€~~~~€~€~€~€~~~~€~~€€~€}€~€~€€}€~}~}~~€~€€~~}€~€€€~€~~~~~€}€~~~€~~~€~~€€€~~€~€€~}€~~€~€~~€~€~‚€€~~€€~€}~€~}€€~~€~~€~€€~~~~~~€}€€~€}~~~~€~€~€}€~€~€€~~~~~€€€€~€~~~~€~}€~~€~~~~~~}€~€~~~€‚~€}€~~€€€€€~€~~€}€~~€~€~€~€€€~€~€~~~€~~€}€€~~~~€€€~€~~€~~~~€~€~€€~~€~‚€€~~~~€}~€~€~~€~‚€~€€}€€}~€~~€~€€€~€~€~~€€€€}~~€}€~€}‚€~~‚€~€~~€~€€‚~~~€~€€~~~~~€€€}€~~€€€€~€~~}€€}€~~~€~€}~~€~~€~}€€~‚}}€~€€~€}~~€~~~€}€~€}~~~€}~~€~~~€~~€~€~€~€~~€~€~€~€~€~€~~€~~€~€€€€~€~€~€€€~}~€~~€~€~€€€~€~~~~~€€~€€~~}‚~~~€~€€}€~€~~€~€~€~€€~}‚€€}€~‚~~~€~~€€€~~~~}€~~€}€~}~~€‚~€~€}€~~~~€€}€€}€~€~€~~~~€~€~~€~~~€€~€~~~€~€€~~~€~€~€€€~}€~~‚}~~€}~€~}€~~~€~€~€€~€~~€€~€~~€~~€~~}~~€}€~~€€~€~€~~~€~~~~€}€~€~€~~€~€~~€}€~‚€~€~~€€~€~~~~€~€€~~€~€~€~€€~~~~~€€€~€~€~~~€~~€€~~€~~€~}€}€}~€€~~~€~€€}€~}~~€~€~}€€}€~~~~}€~€€€~€~~~€€€~€~~~~~~~€~€}~€}‚~~‚€~€~€€~~~€€}€€}€~~~~}€~~~~€€€~€~€~€~€~~€€~~€~~~€~~€~€~~€~~}€~‚€€€~~€~~€€€~~€~~€€}€~€~}~~}€~~€}~~€}€€~€~~~€~~€€€~€}~~~€~€}€€~€€}~~~€~€~‚~€€~~€~~~€}€~€~€€~€~€}€}~~€~€}€~€~~€~€~~€}€~~~€~€~~~~€€~€€~€~€€~€€~€~~€~~~€€~€~€~~~~€}~€~~~~~€~€~~€~€€~~~~€~€~}~~}~€€€}€€~‚~€€€€~€~~~€}€~~€€}~~‚~€€~~€€~€~~~€~€~~€~€~€~~}€~€‚~€}~~€~€€}€~~~€~}€~€~~€€~€~~€€~~€~€~~€~€~€~€~€~€€~‚~~~~€€~€}€~€~‚€~~~~~~}~€}€~€€~€~~~€~~€~€€~}€€}}~~~‚~€}~€~‚~~€}€€~€}€~~€~€~€€~€}€~~~~€}€~€~€}€~~~~€€~~~~~~€}€}~~€€~~~~€~~~~~€~€€~€~~~~€€€~€~~€}€~€~~~~€~€~€~~€~€€~~~~~€€~}€}}€€€~~‚€~€~€€€€€~~€~€~‚€€~~}~€}€~€€~‚~€~~€}~€€~€~~€~€€‚~~€€~€€~}€€~€~~€~~€~€€~€€~~~€€~€~~€~€€~~€~€~€~€~~€~€}€~~€~~€€~}~~€~~€~€~~~~‚~}~€€€€~€~~€€~~~~~~~~~~€~€~€~€~€~~€~€€~~€~~~€~€€€€~~~~‚}~€~€€~€€~~€~~~€~~€}~€~€~~€€}~~~€~€€~~€~€~€‚~€~~€€‚~~€~~~€}€€~€~~~~€~~€}€~€}~~~€~€€~~€~€‚~~€€~~~~€~~€~~€~€~‚€~~~€€~}€~€}€}~~€~~€~}~€~€~~~€~~€~€~€~€€}~€~~€€€~€~~~€‚~€~~}€€~€~~€~€~€~€~€}€~€~€~~‚~~~€}~~€~~~€}~~~}€~€€}€~€}€€~‚€~~~€~€~€~}~~~‚}~€~€~~~}~~~€~~~~€~~~~€~€€€~€~~€~~~€~€~€}€~€~~‚€‚~~~~€~€}~€€}€€~€€~}~€€€~~~~€~€€€~€~~€}‚€~}€~~~€€~€}€~€~€~€€~€~~~~€}€~€€~€~~}€~€€}€€}€€~‚€}~~€~€~€€€~~~~€~€€~}€~€~~€€~€~~€‚~€~}€€~€~~~~€€€~~~€~€€€~~~~€€~€~}~€}€~~~~€~€~€~€~€~€~€€~€€‚~~€~~€~~€~€~~~~€~€~€~~}€}€~}}€€~~€~€~€~€~~~€~€€€€~~€~~‚€~~~€€~~€~~~€~~€}€€}€~€~€~€}€~€€€€€~€~~~€~€~€~€€~~€~~~€~€€~€~~~€~€€‚~€~~~~~€~~€~€€~€}~€~€}~€~€~~~~€~~€‚~€~~~€~€~€€~€~~~€‚}€~~~~€€~€~€~~€~‚€€~~~‚‚~~€~€~€~~€~~~~€‚~~~~€~~~€‚~~~€~€~}€~~€~€~€~~~~~€€~€~€~€~~~€~€}€}€}€~€€€~€}€~~~€}€€~€}~€~€€}€~~€~€€~€~€~€~€€~€}€~}€~€~~€~~~€~€~€~€~~€~€~~~€~~€€~€}~€~€€~€~}€~~~~€~~€}~~~~~€€~€}~~€~€~~~‚~~€~€~~€}€~~~€~€€~~~~€€~€€~~€€~€~~~€~€}}~€€€~€}}~€}~~‚~~~~}€€~€~~€}~€~}€~~€€€~€€~€~~€~€~‚~~}€}€~}€~~~€€~€~€~~~€~€€}€€~€€~€~€~~~~€~€}‚€~~~€~€~€~€~~~~~€~‚€~€~~‚€~~€}€}€~~~~~€~€€~}~~~€~€}€~~~~~€}€€}€~~~€~€~€~€~~~~~~€€€~~€~~~€}~€€€~€}~~~€~~€}~€}€€~€~}~~€}}€€~€~~~€~~~€~€~~~~€~~€~~~~‚~~~€}€~€~~~~}~€€}€€~~~~€}~~€€€€€~}€~~€~€~~~~~€~€~‚€~~~}~~€~€€}€€€~~€~~~€~}~~€~€~€€~€~€~€€~~€}€€€€~€~~€~€~€€~}~~€~~€~~€~€~€€~€~~~€~€€~~€}~~€}€€~€}€~~~€~}~~~€~~€~€~€€~€~€~~~~~€~~€~€~€~~~€€~~~€€€~€~~€~~€€€}€~~€~~€}€~~€}€~~}€~~€€~~~~€}€~~~~€}€~€~~~€}€€€€~~€~€~€~€‚}€€}€~€~€~~~€~€}€}€}€~~~~€}€€~~€~~€~€~€~€}€€}€€}~~~€~€€~€€~~~~~~€€}€€~~~€~€~€~€~€~~~€€€€}€~~€~€~€~€~€€~€€~€~~}€~€€~€~~~~~~~}€~~€~€€€}€~~€~€€~~}~€€~~€~~€~~€€}€~~€~€~€~~~~~~€~€€€~}€~~}€~€}~€~€~€~€}‚€~~~€‚~€€~€€€~€~€~€~~~€€~€~~€}~~€~€€€~€€~€€~~€~}€€€~~€~~€~€~~€~~€€~}~~€~€~€€}€~~~~€€€€~€~€~~~€~~~‚~~€}€~€~~~€€~€€~€~€~~~€~€~€€}€€~€~~€~€€~€}€€~~~€~~€~~~‚~~€~€~~~€~€~€€€€}€~~~€~€}€~€}€€~€}€€~‚€~~€~€~€~€€}~€~€~€~€~‚€~~€~€~~€~€~€€€€~~€}€~€~€~€~€€~€~€~~~}~€~€€€~~~~€~€~€~€}€€}€~~€~~€~~~~~}€€€~}~€~‚~€€~}€~€~€}~€~€€~€~~€~€€€~~~€~~~~~€~€~€~~~€€~€}~}}~€€~€}€~€}~~~~€~~€~€~€~}~€~€}€€~€~~~€~€~€~€~~€€}€~€~~€~~~~~€~€~€€~€~~€€~‚€~€~~€~€}‚~~~~€~~€€~€~~}€~€€~~€~~~€~€€~€~~€€€~~€~€€~}€~~}€}€€~€~~}€~}€€}~~~€€€€~~~~€~~~~~€‚~€~~€}~~~~~€€~€~€~€~~€~~€€~€}~€~€€~€~~€~~€‚~€~~~€~~~~~€€~~€~€~€~~€}€~€€~€~~~~~€~€}€~€~€~€~€€}€~€~~€€€~€~~~~~~~~€~€~~€~€~~€~€~€~€~~€~~~~€}~€‚~€~€~€€~€€~€~~~~€~~€~€~~€€~~€~~~€~€€~€€}~€~€~~€~€€~‚~€~~~€~~€~}€~~}€~€~€~~€~€~€~€~€~~€}€~€~~€~€€€~~~€€}~€€~€~~€~~€~~€€~~}€~€}}€~€~~~~€€€~€~~}€~€~€}~€~~€~~~~€~€~€~~~}€€€~}€~~~€~€}€€~€€}€~€}‚~~}€~€€~€~€€~~€~€~~~}~€~~€~€~~~‚~€~}€~~€€~€~~~~€~€}€~€~€~~~€}}€€~€~~~€~€~€€€€€}~~€~‚€~~~€€€~~~~€~€€€~€~~}€‚~€€~€~€€~€€~}€~~€~€~€}€€~~€~~~€~€}€~~~€~€~~€~€€€~€~~~€~€€€~~~~€}~€€€}€~€€~€€~€€~~~€}€~~}€~~~~~‚~€~€~€€€~€}€~}€~‚€~€~‚€€~€~€~~~~€~€~€~~~€~€~€~€~€€~€€~€~€€}€~€~‚€~~}€~~€~~~~€€~€€€~~~€~€~€€~~~€~‚€~~~~€€~~~€}~€~€}€~~€~€}€~~~€€‚~€}€}€}~€~~~€€€€~€~}~€€€€~€~€~~€~€}€~‚€€~~‚~~~€~€}‚~€~~€~€~€~€~~~~~~€€}€€~~€}€~€€~}~~€~€~~~~~€}~‚€€~}~€~€€~~~€}€€€~~~~~~€~€€€~€~€~~~€~€€~~€~€~~~€~€€~}~~€~€€~~€}€~€€}€~~~~~€‚~€€~~~~€~€~€€~€~~}~~}€€}€~€~€~~~€~€~}~€~~~€}€~€~€~~~€€€~~€~€~€~€~~~€€~€~~~€~€}€~€‚~€~€}€~€~~~€~€€€~~€~~}€}€€€~€~~~~~€€€~€~~~~€~~~~~€‚~~~~€~€~~€~€}€~€~€~€~~€‚~€~€€~~~€~€€€~€~~~~€€€~€~€€~}€~~€~€~}€~€~€€€€~}€~€~€~~€~€~€~€~€~€~€}€€€~~€~~~€~€~€}€~~~€~€~~~€~€€€€~~~€~~€€€~}~~€~€€€~€~€~€~€~~~}€~~~}€~€€€~€~~~~€~€~€~~~}€‚€€~€~~~~€‚€€~~~€€~~~~~€}€€~~~‚€~€~€~€~€€€~~‚~~€}~€€~€~€~~€~~~~~€~~€€€€€~€~~~~€~~~}~€~€~~€~~~~~€}€~€~~€~€€€~€~€€}€}€}€}€~~}‚}€~~€}€~}~€~€~€~€~~€~€~~~~€~€€€~€~~€~€~€~~~€~‚€€€~~~‚€€}€~~~€~€€~€~€~€€}€~~€~~€~~€~~€~€€~€€}€~€€~€}€~}€~~~€€~~~~~}€€€€~€}€~€}€€~€€~~~}€~~~€}€€~€~€€~~~~}~~€~~€~€~€~~€~‚€~~~€~€}~€€~~}}~~€}€~€~~€~€~}€~~~€~~€€€~~€~~€~€~€~€~€€}€~€~~~~€~€~~~€~~€€~~€~}€~~}€~€}~€}€~€~€~€€~€~~~€}€€~~~~€~€~€~~€~~€~‚~~~€~€€€}€~~€~€€~€€}€~~‚€~~~€‚~€~~€€~€}€~~€~~€~€~~~€~€~~€~€€~~€~€}€~€€}~€~~€~~€€~€€}€~~€~}}€€€~~~~€~€€€€~‚}€~~€~€~~€~€~€~~~€~€~€~€~~~€€~~~€€~€€€€~~€}~~}~~‚~~€~~€~~~‚€~€~€~€}~€~~€€~€~}€~‚€~€~€~~€~€}€}€~€}€~~‚€~€~€~€~}€}€~~~~~~~€~€€~€~~€~~€€~~€~€}€~~~}€€~€}€~~‚~~~€~€~}€~~€~€€€€~€~~€~~€}€~~~€€€~~~~€~~€€~€~€€}€€}€€~€}€~~~‚~€~~~€~€~~€€~€~€~€}€€~€~€~€~€~~€~~€~€~€}€}}}€€€}€}~}~€}€~€€~€}‚€~€~€~~€~€~~~~€€~€€}~€€~~~~€~€€~~~€}~~€~~~~~~€€~~}€~€~~€}~‚€~€~€€€~€}~~~~€~€}€~~€~~€~€~€€~}~~~€~~~~~~~€~€€}€~~~‚~€~}€€~€~~€~€€~~~~€}€~~~}‚~}~€~~€~€}€~~€~€~€€€~€}€~~€€~€~~~~€~€~€}€€~}€~~~~}€~~€€}~~€~‚€€~~~~€~€€€}€~~€}€~€~~~€~~€~€~€~€~~~~€~€~€~€€€~€~€~~~€~€€~~~}}€€~€}€~€~~~€~€~€~€€~€€~€~€~~~€~~€€~~€~€}€~~~€~€~~~‚€~~~}~~€€}€~€~}€~~~~€}€~€€}€~€~€€~€~~~€€€€~€~€~~~~~€~€~€~€}€~~}~~€~~~~~€~€~€~€}~~~~}‚~€~~‚~~~~~~€~€€~~~€€~~~~~}€€~€~~€~€~~‚~~~€}€~€}€~€~~~~~~€~€~€~€}€~~€~€~€~€~~~~€€€€~~~‚~~~‚~~€~€€€~}~~~€~€~€~€}~€~€~€€€€~€~~~~~€€~€~}€~~‚~€~€€}€~~~~~~€~€~~€~€€€}~€~}€}€€~~€~€€~€~€~~€~~€~~~~€~€~~‚~€~~€€€~~~€~€~€}~~€~€€~€~~€~~~€~~€~€~~}€}~‚€}€}~~€~€€€~€~~~€}€€~}€~€€€~~€~~€~€€~€~€~~€~€~~‚}€‚~€~~}€~~€~~~€}€~€€~€€~€~€~~~~~~€~~~€~€~~€~~€~€‚~€~€~€}€~€}~~~~€~€~~€~~€~~€~}~~€~~€~~~€€~€}€~~€€€~€~~€~€‚~~€‚~~€~~€~€€~€}€~~€~€€~€}~~€~~€~~~~€~€€~€}~~€~€€~€~€~}~~~€}~€~~€~~€~€}€~~~~€}~€~‚~~~}€€}€~€}€}~€~~€~€€€~€}~~~~€~€~€~~~€~€€~€~~€~€~€~~€}€€~€~€~‚€~~~€~~~}€}€€~€€}€~~~€~€€€€~€}~~€~~€~~~~~€€~€~~}~~€€}€€}€€~€~~~€~~€€~€~~~~€~€€~€~~~€~€€€~~€~€}~~~€~€€~€~€€}€~€€€€~~€~€~~}€~€~€€}€€~€€€~~€~€€}~~€€€~€~~~€~‚€~~~€~€~~~~€€~€€~€~}€€}€~€~~~€~~€~~€~€€~€~~}€~~€}€€~€~~~€~€€€~€~~~€€€€~€~~~€~€€€~}€~€‚~€~~}€~~€}~~~€~€~}€~~~€~€~~€}€~~€~~€~€}}~~~~€~~€~~}~~€~€}€}€‚€€€~~}}€~€~€~€~~~}~€€€~€~~~~€~€~€~~€~€~~~€~~€€~€~~~~~~€~€~€‚~€€}€~~‚}€~~~€~€~€~€~€}€€~€€~}~€€~€~€~~~~€€~€~~~€~€€~€~~~€‚€€€~~€~€€~~€~~~€~€€€}~€}€~~~~€}€}€‚}€~€~}€~€~~~~€€~€~€}€€~€~~~~€€~~€}~~€~€~€~~€~€~€€~~~~€~€€~€~~~€~€€~}‚€€~~€~~€}€€~€€~€}~‚~~€~€}€}€~~€~€€~€~~€~€€~€~}€~~~€~€~€€~~}~~€~€‚~€~€}~€~~}€~}~€€~€~€~€~€‚~€~€~€}€€~~}€}€~€~€€~€~}€~€~€~€~€~~}~€~€~~€}€~€~€~~}~€~~€€€~€}~~~€€~€~~~~~}~€~~~~€~€~€€~€}€~€~~}€~€~€}}~~‚~~€~€}€~€~€~~‚€~€~~~€€}€~}‚~~~€€}€~€}~~€~€~€€‚~€}~€~€~€€~~~~~~~~€~€~€€~€~~~€~€€€~€~~~~~€€}‚€€€~~~~~€~€~€~~€~€~€}€~~€~~~€~~~€~€€~€‚~~€~~~€~€~€~€~~~€‚~€~~€~€€}€~~€~€€€€}~~~€~€€~}~~}€~€€~€~~€~~€~€}€€~€~~~~€~€€~€~€~~€~€}€~€~€€~~€~€€€~€~€~~€~€~~€~~€~~€~~~€}~€~€}~€~€€‚~~€~€~~~~~~~~€~€}€}}€}€}€~€}€~€~€~~€€~~€~~€~~~~~€~€}€€~€€}€~€~~€€€~~€~~€~~‚~~€€~~~~€~~€~€~€}€}€~€~€~€€~~€~~~~€~€~€~~~€~~€}}€~€}€}~€~~€~€}~~}~€~€~€~~~}€~€~~~€~€~€‚€€€~~~€~€}~€€~€~€~~~€~€€~~€€~}‚‚~€~€~€€‚~~€~~€~~€~€€~€€~€~€~~~€~~~~€~}€~€€€~€~~€~€}€~€~€}€~€}~~~€€€~€~}€~~}~€~€€}€~~€~€~€~€€~€~‚€€€}€~~€~€€~~‚~~~‚~€~€~€€}~~~€~€€}~}€~€~}€~~€~~€~~€~€~}€€€~€~~€}‚~€~€€~~~~~€€~~~~€€}~€€€€~€~~€~€~€~€~€~~€~€~~~~~€~~€~€~€}€~~€~~€€~}€~~€}€~€~}~~€}€~~~€~‚€~~€€~~€~€~~€~€~€~~€~€~€}€~~~€~€}€~~~€~~~‚~€€~€~~€~~€€€~€}~~‚~~€€~€~€~~~€~€}~~€}~€~~€~€€~~€}€~~}€~~€~€€~~€~~~€~€~~€~€}€~€~~~€~~€€}€}‚€~€~€~~~€€~€~~~~~~}€~}€€}€~€}€~~€€~€~‚~~‚}€~€€~€~~~~}€~€€~€~~~~€~€€€~€~~‚~~€~€€}€}€~~~~€€~~€€~}~~€~€€~€}‚~‚~~~~€€€~}€~~~~€€~~€}€~~}€~€€€~‚~~~€~}€€€‚~€}~~€~€~€€}~€~}€~~~~€€~€~~}~€}~€€~~€~}€~€~€~€~~}€}~~~~€~€€~~~~~€~€€~~€€~€~~~€€~€~€~~~~€~~~€~€~~€~~~€}~€~€~~~€~€€~€~€~~~€€~~€~€~~€~€~€~€}€€€~€}€~€€~}~~~€~~€~~€€}€~~€€}€€~€}~€~€~~€}€~~~‚€~~~~€~~~~~~€€~€~€~€€~€~~~€‚~~€}~€~~~‚~~~€€~€~~}€~€~~~€~~~~€~‚}}}€~~‚€~€~€~~~€}€~€~~€}€€~~~~€€~€~~€~~~}€€~~~~€~~€~~€}€}€}€~~~€~~€~~‚€}~}€~~}€~€€}€~€~€~~€~‚€€‚~€~~}~€~€~~€~~~~~~€€}€~€~€~€~~~~€€~€}€~~~~€~~€~€}~€~~~€~~€~€~€~~€}€~~€€~€~~~~€~€~€~€~€~~~~€~~€}€~€}‚~~€~€€€€€~€~~~€~€~€~€~€~~€~~~€~~€~€~~‚}~€~‚€€}€}€~€~€€~€~€~€€~€~~~~€~€~~~€}~€~~€€€~€~~~}€€}~€€}€~€~~~}~~}~€}€~€~€~€~~€~~€€~~€~€~€}~~€~€~€~~‚~~€‚~€~€~€€€€~~€~~€€~€~~€€~€~~~~€‚~~~~€~€~€~~€}~~€~€~~~€€~~€~~~~€‚~~~€~€~€~~€~€~€€~€}~~~€~€€~€~}€~~}~€€~€~~~~‚~€~€~€€~€~€~~~~€~€}€~€}€~~~}€}€~€~~~€€€‚~€~~‚€~~~~€~~~~~€~€€€}€~€~€€~€}~~‚~~~~€€~€~€}~~€}~€€~€~€~~}€~€€}€}~€~€~~~~~}€~€€~‚€~~~~€~~~~€~€€~€}~~~~~~€~€€~€~}~~€~€~}€~~~‚~~~€}€€€~~~~~€}~‚~~€~~€~€}€~~~~~€}€~}~~€}€~€€}€~~~€~€~€~~€~€~~€}€~}€~~~~~€~€€€~~€~~~€~€€~~~€~€~€~~~€~€}~}€~€€€~~€~€}~€~~~€~~€~€}€}€~€~~€~€~}€~€€€~€~~~~~}~~~€~~~€~€~€€~€}€~~~~€~€‚€€~~€~€~€~€}€€€~€~€~€}€€~€~€~€~~€~€~~~~~€€€~~~€~~€€~€}~€€~~€~€}€~~‚~~~‚~~€~€~€}€~~~~€~€€~€€~‚€€}~~€~~€€~~~~€}€~€}€~~~~~€~€~~€~~€~~~€~€~~~€~€~~€~~€~€~€€€~}€€}€€}€}€~~~‚€€}€~~~€~~~~€‚~~€~€~€~~~€~€€€€~~€~~~€}€~~~€~€~~~€~€€~€~~€}€~€}~~}€}~€‚~~€~€~~~€~‚€€‚}€~€~~~~~}€~~~€€}€~~}€~€€~€~~~€~€~€}~~€~€~~~~~~~€~€}€€~€~~~~€}€~~~€}€~€~~€~~~€~~€€€~€}€~~€}€~~€}€€~€€~€}~€€~€~~~~€~‚~~~€}}~~~€~‚€}€}€€~€~~€~~~~€~€€}€~~~~~€~€~€}~~~~€~€}€€~~~€~€~€}~€~~€~‚€€~~~€~€€}€~€~€~€~€~~€~~€€~~~~~~€~€‚~€~€~€}~~€~€}~~€~‚€€}€}€~€€~~€‚~~€€~€€€~€}~€~€~€~€~€~€‚~~€}€~~~€~€€€~€~~‚~~~}€~€~€~~€~~€€~€}~€~€€‚~€~}€~€€~€~~€~€€€€~€~€€~€€}€€~~‚€€~‚~€~~€}~€~€~~€~~~€~€~€}€€~€~~~€€€~€~~€~~€~€~~}€~‚€€‚~€~~~€~€}~€~€€~~~}~€€~~€~~€~€€~€~€€}€€}€}€€~~‚‚~€~~~~~~~€}€~€~~€~€€~~~€~€~€€~€~~€~€~€~}~~~‚~~€}~€~€~€~~}€~€€€€~€~~~~€~€‚~~~~~€~~~~~~€~€€~~~€~€‚~€~€~€~€~€~~€€€€‚~~€~€~€}€~€€~€~~€~~€~€~€€}~~~~‚}€~€~€}~~~~€~€~€~~€~~€€~€~€~€~€~€~€~~~~€~~€~}€~€}€~€€~€~~~}~€€}€€~€€‚~~€~~€€~€~~~~€€€~~€~~€€€~€~~~€}~€}€~€~€€€~€}~~~€~€}€~~~~‚~}‚€€€~€~~€~€~€~€~~~€~~~€~~€~€~~€}~€€€~€~€~~€~‚€~~~~€~€€~}}~~€~€€€€~€~~~€~€~€~€€~€~~~~€~€€~€~~~~~€€€~€}€~~}€~~€€€~€~~€~~€€~~€~~~~€~~~~~€~~€~€€€~€~~€~€€}}~~€~~€~~€~}€}‚€~~~}€~~€€€~~~€~~€€‚}€~‚~~~~~~€‚~€€~~€}€}€~~€~~~€~€~~€~~€€~€}~~€~~€€~~~€€~€~~€~€~~}€~€~€€}€€€~~~~~‚€€~€~~€~~€~€€~€}€}€~~€~€}~€}~~~}€~}~~€~~€~€€}€€}€~~~€~€~€~€~~€€€€€~~€~~~‚€€~~~€~€€~€~~€~€€€~€~~}~€€~~~€‚~~€€~€~~€~~€~€€€}~}~€€~~~~€~~€~~€~~~€€€~}~€~€€€€~~~}~~~€~€~€~~~€~~€€~~€~€~€€~~€~€€}€~~‚~}~€€‚~~~€~€€€}€}€~}€~~~~~€}€€~€~~~~€~€‚~€~}~€~€~€~~~~~€~€€~~€~~}€}€‚}€€}€€~€~~~}€~€~€~€~}~~~€}€€~€~€‚~€~}~~~~‚}~€~€~€~€~~€~€~€€~€~€~~~~~~~€~}€~€}~~€~€~€~~~€~~€}€~~€}~~€€~~~€~€€~€€~€€}€~~~~~€~€€}€~€~€~~€~~~€~€~~‚~€~‚€€~€~~~~€€~~€€~~~€~€~~~€~€~€~~~€~€~€~€~€~€~€~€~~€~~€}€~}€~€‚~€~~~~~€~€}€~€~€~€~~€~~€~€€€~}€~~~€€~€~€}€~~~~€~€}~~~€€€€~€~~~~€~€~~~~~€~€~~~€}~€~~}~}€~~~€~€~~~~}~~€~€~€€~€~€~~€€~€}€~~~‚~~€~€~€~~€~€~€~€~~€~~~~}€~~€~€~~~~~~€~~€€~€~~~}~€~€~~~~€}~€€€~€€~€~€~€~~~~€€~€}~~€~€~~€€‚~}~~€}€€~}€~€~~€~€€~~~~€}€~}€~~~‚€~~~}€~€€€€~€~~}€€€~~~~€€~€~€~€€~€€}}€~~~~€}€~€~€}~~~€€~}~~~~€~€~~~~€~€€€~~~~€~~€~~~€~~~~~€~€}€~~~‚€~~€~~~€~€~~~€}€~€€}€}€~~~‚~€~€~~€~}}€~€~~€€~€~~~€~~€€€€~~~~~~~€~~€€}~~~~€}€~€~€}~€~€}€}€~~~~~~€~€~€~~}~~~€~~€~~~~€~€~€~~‚~~~€~~~€}€€}€~€~€~€~~€}€€~~€~€~€~~€~~€~€~€~€~€~€~€~~€~‚~~€~€}~~€~€~€€~€~~€€€~~~~~‚€€}€~€~€~€~~~€~€€~€~~€‚~€~~€~€~€~€~}€~‚~~~€}~€~~~€}~‚€€€~€~~€~€~~~€~€~€~€~€~€~~}~€€~€~~~€€€€€~€~€~~~~€~€~€~~~€~~~€‚}€~€~~~€~€€€€~€~~~€~€€~€}~€~€€}€~€~€~‚‚€~~€€}€}~~~€~€~€€€~}€~€~~€~~€~~}~€~€€~€~€€~~~~€€€~~~~~€~€€~€~~~}€~€€}€}~€}‚€~~}~~€€~€~€}‚~€~€€~~~~€~~€~€€~€~€}€~~}€~~€~€~€€~€€€~~€~~~~€€~€~~~€~€~€}~€~~€~€}€~€€€~€~~€€~~~€~€~€€~}€}}~}€€~€~}€~€}~~€~€€‚~€~~€~‚€€~€~~€~€~~€~}€~~€~€}€~~~€~~~~‚~€~~€~€€~~€€~€~~€~~~~€€~~}€~~~‚~~€~€€~€~€€~~€€€~~~~‚€€~€~€~€~‚€€~~~€~€~~€€}€~€~~}€~~€~€€€~€~~~~€~~~€}€~€}€~€~}~}~€~€~€~~€~~€}€~€}€~€€~€~€€~~€~~}~€€€~~€~~~€~€~~~~~€€€~~~€~€~€€~€~€€~€~~~€~~€€€€}€}}~~€~~€}}~€~}~~~€~€€~€€~~€~€~€~~€~€€~~€~~~€~€~~~‚~€‚}€~€}}~~~~€€~~€~}~~}€~€€~€~€~~~€~€€~€~~~}‚€€~€~}~€€~€~~}~€~€~€~€~€}€~~€~~~€€~€~€}€~~}}€}€~€}~~€~}~~€‚~€~€}~~‚€€}~€~€~~~~~~~€~€~~~€~~‚~}~~€~€}€~€~€~~~~~€}€€~}~~€}~‚€~~~~~~€}€~€}~~~€‚~€~~~~€~~~€€~~€~€~~~‚~€~€€‚}~~€~€€~~~~€~~€~€~~~€~€~~~~~€~€~€~€€€~€~~€~€}~~€~~€~€~€~€~€~€~}~€‚~~~~‚~€~€€}}€~€}~~~~€~~€€€€}€~}€~€€~€~~~€~€~}~~€~€€€~€}€~€~€€~~€}€‚~€}€€~}~~~€~€~€~~€~€~€~€~~~~~~~€~€~€~€~€~}€~€€~€}€~€~€~~€€~~~€~€~~€~~~~€~~~~~€~€~€~~}~€~}€~€~~€~~€~~€}~~€~€~‚€~€~~‚~~~~€~~€~‚€€~€~~€~~€€~~€~€€}€}€~~‚€€~€~€~~~~~€~}~~~~€~€~€~€}~€~~~€~€~€~~~€}€~~~€}€€~€~~~€~€€€~€~€~~‚~€~‚€€~€~€~€~~~€~€~}~~~~~}€~~€}‚€~~~~~~~~~~€~€~€~~~€~€~‚€~~~€}~€~€~€~~€€~€~€~}€~~~~~~€}€€~€~~€~€€€~~€€~~~€€~€~€€~€~€~~€~€~€€€~€}~~}~€€~~~€~€€€€€}€~€}€€€~€~~}€~€€€€~~~€~€€€}€~€~}~~~€~€}€€~€~~~}€~€€~~€~~~~€~€~€~€~~~~€€€€~€}€~~~€~€~~€~€~€€~€€~€}€~‚~€‚~€~€~€}€‚}~€}€€~€~€}~}~~€€‚~~€~~€€~€~€~€~€~~~€}€~~~€~€~€~€~~~€~~€€~€~€}€}€}€~~€€€~~€~€~€~€~}~~€~€~€€~€~~€~€}~€}‚€€~~}€~}€}€~€€~€~~€~~€€€~€~~€~€€€~~€~€€}€~~€~€€~€~~€~€~€}€€~€€~~~€~€~€€~~~~~€€€}€€~}€€~€~~}~€~€~€~€~€}€~~}€~~€~~~€€~€€~€~‚~~~~€~~€}~€}€~~}€€~€~€~€~~~~€€~€~~~~€~~€€~~~‚~~€~€~€}~€~~~€~€}€~€}‚~~~~€€}€~€~~~~€€€€~€~~}€~€€}€}~}~€€~€~~€~~€€~~~~€~€~€}€€~€~€~~~€~€€~~€}~€}€€~€~€~€~€~~~€€€~~~~€~€‚~€}€~}~~€~€€~~~}~€}~~€~€~~€}€€~}€~€~€€~~€~~€~€€~€~~~€~~€~€€}€~€~€€€~€~‚€~~~€~€}€€~~€~€~~~€~€€€~~~~~€~€~€~€€~€}~€~~€€€~€€}€€~€~~€~‚~}~€}~€~~~€€~€~€~€~~€~~€~€€~€~~€}€€~€}€~}‚€~€}€~~€~~~~~€~€~~€€~€~~~~€€}€~~€~€~€~€~~€~‚~~~~€}€~~€~~€€~€~~€~€~€~~~~€~€€€~€~~~~‚}~~€‚~~~~~€~€€~€€~€~€€~€€~€~€€€‚~€}~€~~~€}~€~~€~~~~€~~€~}€~~~€~‚€€~~€€~~~€}€~~~€~~~€~€€~€~€~€~€~~~€~€€€~€~~€~~~€~€~€~~~~€~€€€~~€~€€~€~€€~€~~~€~~€~~~€~€~~€~~}€€~~~€€€€~€~~€€~}€~~€~~}€~~~€€~~€~~~~€€€~‚~~~~€€~€~~€~€€~€}~~€€~€€~€~€~€~~~€~€‚~€~~€~€€~~€~~€€~~~~€~€~€~~€}~€€€€~€~~€~€€€~€~~~~€€€~}~~~€€~~~~€€€~~}€~€€€~~~€~€€€~€~}€~€~~~~€~~~€~€~€~~~€~€~€~€~‚~‚~€~~~~€}€€}€}~~€~€€€~~~€~€~€€~}€~~~€~~€~~€~€~€}€~€€}€~~€~€}€}}€~~~€~€~€}€~€}€~€‚€€}€~~€~€~€~€~€~~~~~€€~~~€~€€}€€~€~€}€€~€~€€€~€~~€~€€~€€~~€~€~€~€}~~~€~~€‚~€€~€€~~~~‚€€€~}€~€~€~~€~~€~€€~~~~€€~}~~€€~~~~€}~€~€€~~€~~€~€€}~‚}~~€~€~€€~€€~€€~~~~~~€~}~€~~€€~€~}~~~€~€~€~€~~~~€~€€€~€~€~~‚~~~€}~€}~}‚}~€~€‚}€€}€~~~€~€‚€~~€~~€€~€~~~€~€€€~~€~€~€€€~€~~€~€€€~€~~~}€€~€}~~~€}€€€~€~~€€€~~€~}€}€~~€~€€€€~~~}€}~€€€~~~€~€€~~}~~€~~€~~€~~~€‚~€}€€~€}€~€~~€~~€~€}€~~~€}€€~~€~~~€~€~€~}~~~€}~€~€~~~€}€~€€~~€~~~€~€€€~~~‚€~~}€~€€€~€~~€~~€~~€~€~€~~€~~~€~€~€~~~€~€€~€~€~€~€€~€€}~€~€€~€~€~€~~€~€€€€~~~~€€~~€~€~€€~€~€~~~~~€€~€}€~€~€}~~€~€~~€}~€€~€~€~€}€~€~~€€€€€~~~~€~€€~~~~€~€€~€~€~}€~€~~~€~€€€}~~~€~€€~€~~€~‚~€~~~€~€}€€~€€~€~€~~~~€~€‚~€~€~~~€~}€}€~~~€~~~~~€~~€~€€}€~€~€~€~€~‚€€~€~€~~~~€~~€€~}~~~}~€€~€€~‚}€~€~~~€~€€€~~~~€}€~€€~€~€~~€~€~~~‚€~~~~€€~€~€~€~~€}‚€€~~~€}€~~€~€~}€~€}€~€~~€~€~€~~~€~€}€~€~~~~~€~€€~€~€€~}~€~€~€€€~~€~€~€~~~€~~~}~~‚€€€~€~€~€~€~€~€€}€€~~}€~~~€~€€€}€~~}~€~€€~€€~€}€~€~€~€€~€}~~~€~~~~€~€€~~€~~€~~€€€€~€~~~€~€€~€~~€€€~}~~€~~€€}€~~€~€~€€}€~€~€~€~~€}€€~~~~€~~€€~~~€€}€~€~~~‚~~€~€~€~€~€~€€€~~~€€~}€~~~€~€~~~~~~€~€~~€~€€€~€~~~~€€€€~€~~~€€€~~€~€€~€€~€}€~€~€~€}€~€~‚~~~}€€}~€~~€~€~~}€~€€€‚~€~~~~€~€}~€~€~~~~€}€}€€€€~€~}~~~~€~€}€~€~€€~€~€~€€}€~€~~~€€€~€~~€}€€~~€~€}€}€~€~~~~€}€~€€~€~~€€€€~~~€~~~~€~}}~~€~€~}€~€~€~~€~€€~€~~~~}€~€~€~€€~€~€~~~€~€~€~€~€~~€~}€~~~€~€~‚€€~€~€~€~€~‚~~~€~€}€~~~}€€€~€~~~}€~€€}€~€}€~~~€~€~€~€}‚~~€€~€}€~}~€€~€€~€~€}€~~~~€~€€~€€~€€~‚€‚~}~€€~€~~€‚~€~€~~~€~€~€€~~€~~~€~‚€~~~~}€€~~€~€~€~€~€~€~~~~€~~€€}~~~~€~€~€€€~€€~~€~€~~€~€€~€~~~~~}€~€}}€~€~~}~~€€€~~~~€€€}~~€~~€€€~€~~~€€~~€~~~€~€~€~~€€~€~~~~€~~€€~~}€€~‚~~~~~€~€€~€~€~€~€~}€~€€~€~€~€€~€~€~€~€€~~€~€~€€€~€~~€~€~€}~€~€€~~€~€~€}€€~€~€~€€~€~€€~~~~~~€~€~€~~~~€€€~~~€€~€~€~~~‚~}€€~€€~€}€~~€~~~€€~~€~€€~€€~€~~€~€~€€‚‚~€~~€~~€~~€}~~~}~~~€}~~€~€~€~€~€~~~€€€~€~~}€~€€€~~~€‚~€~~~€~~~€~€~€~~€~€€€~€~~~€~€€~}~~€}€€~€~€€€~~€~~~€~~~~€€€~€~€~€~€~}€}€~}~~€}€~€~€~~~€~}€~~€~~~€€~‚€~€~~€~~}~€}€}~~~€}€~€~~€}€~€€~€}~~~€€~~€~€~~€€€~€~~~€~€~€~€€~€~}€‚~~~€~€~€~€~~€~‚€€~€}€~}€~€€€~€~~~€~~€~€~€~€~€~€~}~€~€€~~~~~€~€}€~~€~€}€~~~‚€€€~~~~}~€}€€~€~€~€~~~~€~~€€~€~€~~~€€€€~€~~€~~€€‚~€~~€}~~€}~€~€~~~~€~~~€€~€~~~€~~€~€~€~~€€~€~€}€~€~~~~~€€€~€~€~}€~€~€~~€}€~€~~~~~€€€~€~~~€}~€~}‚€€}~~~€€~€~~~€~~€}€€}€}€€~~~~~€~~~~~€€€~€~€~€~€~~~€€~~}€~‚~€~~€€~€~€~~€~€~€€}€}~€}€~€‚€~€~€~€}€}~€~€~~~}€~€€}~~}€~€€~€~€~€~€€€~~€~€€~€~~}€~€~~~~€~€~€}~~~€‚~€~€~~~~~€~~€€€€~€~~~~~~~€}~€~€~‚€€~€~~~~€~€~‚€~€~}~~~}€}€€~~~~~€}€}€~}~€}€~€~~€~€€~~~~€~€~€€€~€~~~}~€}€€}€€~€€~€~~~~~€~€}€~€~~~~~€}€€~~~~€}€~~€~€€€€€~€~~~~€€€~~~€~€~€~~€~€€€~~~€~€}€~~~€~€~€€€~~€‚~~€~€€~€€€~€}€~~€~€€~~~~}}€~€}€~€€~~~€~€€€€~€~~€~€€~€}~€€}~~€€~€~~~}~€~€~~€~€~~~~€}€€~~€}~~€~~€€~€~~€~€€~€~~€~€~~‚~~€}€~~}~~€‚~€~}~}}€€~€~~~€€~€~~€~€€~~}€}€~~€}€~€~}~‚€€~€~~€~€~€}~~~€}€}€}€}€~~~‚€}~~€}€~~~~}€~}€~~~~~€€~€~€}€€€€}~~€€}€€~~}~€~€~€}}€~~‚€~€}€~€~}€€€~}€}€~~~~~~€~€~€~~~~€~€€€€~€~~}€~€€~~~€~€~€€~€~}~~~~€~€}€~~~€~€~€~€~~€~€~~}~~€~~€~€€~~€~€€}€~~~}€~€~~€}€~~~€}~€~}€}€~~~~€~€~€}€~~~€~€€}~~~€~€~}€~~€}~€€€~~~~€€€~~~€~€€~€~€€}~~~€~€€€‚~~€~~~€~€~}€~~~~€~€~~~~€~€~~€~~€~~€~€~~€€~€}~€~€€}€~€~€~€~€€~€€~}€~~~~€~€~~~~~‚~€~€~€~‚€€~€~~€~€€€~€~}‚~~~‚~~€~€}€~€~€~~€€}~~€€€~€}~€~~}‚€~€~€€~~~~€~€€€~€~~~~€~‚~€€}~~~€‚~€}~€}€€‚€~€~~~~~~€~~~~~~~€‚}€}€~€€~~€~€€~€~~~~€~€€~€€~€~€~~~~€}€}€€~€}~€}€€~€~~‚~~€~~~€~€€~€~€~~~€~~€~~€~~~€~}~~~~€~~~~~€~€~~~€}~€~€€}€~~€~~~€~€€‚~€}~~€~~~€}€~~~~€~~~€~~~€}€~€~~€~€}€}€~€€~€~~€~€~~~~‚~€}~€}€~~~~~~€~€}€~}‚}€~€‚~~€~~~€€~~~~€}~€~€}~€~€€~~}~€}€}€~€~€€~~€~€~~~€~~€€€~€~~~~~€~~~~€€~€€~€}~~€~~€€€~€~}~‚€€€~~~~~€~~~€€~~~~~~~}~€~€~~€~€€€~€~~~€€~€~€€€~€~€~~€~€€~~€~€‚~€~€~€~€€~~~~€~€€~€€}€€~}€~~€€~€}~~€~€€~~€~€~~€~~€€€~€~~€€}€~€}}~~€~€€}€‚~€~~~}€~~€€~€~~€~€~~~€€~€~~€}}€€~€~}€~€~~~~€}€~€€~€}~€~€}€~~~€~~€~€€~€}€~~~€~€~€~€€~‚€~€~}‚~~€}~~€€€~}€~~€~€~€€€~€€~~~€~€}}€}€~~€~€~€~€€€~}€~~}€~~€~~~€~€}€~~~‚~~€~€}~€€€~€~€~€}~€~~~€~€~€~~~€}€€~€~€~€€}€~€~~~€~€~~€~~~~~~~€}€~€€€}~}€~€€~€}~€~€€~€~~€~‚~‚~~~€~~€}~}€~~€~~~~€€~€}~€~€€€€~€}€~€~~~~€~€€€~€~€~~€€€~~€~~€€}€~~}€~€€~€~~~~€€~€~~~~€~€~€}~€~€~€~€~€}€€~€~}€~~~~~€~€€~€~~~~~€€~€~€~€}~}~~€‚~€~€~€~€}€~~€~€~€~~€~~€~~€~~€}~~€~~~€€€€~~~~€‚~€~~~€}~€}€€}€€~€~~~~€~~€~€~~~‚~~~€}€}€~€~€€~~~~~€~€~€€€}~~€~€~€~‚~€~~~€~~€~€~~~€€~}}~~~~€‚~€~€~€}~~~€~€~~~€~€~~~€}€~€~~€~~€~€~€€‚~€~€~~€}€€€~€~~~€~‚€€~~€~}€~€€€€~€~~€~€€~~€}}~€~€}€€~€~€€~€~}€~~~€~€‚€~€~~~€€€‚~‚~€~~}€~€~~€~€~€€‚}€}~~~€€~€~€~€~€~€~~‚~~€~€~~€~~~€~€~~€~~€}€~€~€€}€~€~~~~~~€~€~€~€~€~~~~€‚€~~~~€~~€~€~€~~€~€€€}~€}~€}€~€€~€}€~~~~}~~€~~~€~€}‚€~~€~€~€~€~‚€‚}~€€~€~~~~~~~~€€€€~~€~~~€~€~}~~~~€€~€~~~~€€~€~~~~€~~~~~€}~~€€€€~€~~€}€~€€}€}€~€€}€~~~}~~~€~~€}~€~~€€~~€€~~~~~~€~~~€€~€~~~€~€€~~~~~€€€€~€~~€€~€~€~€~€~}}€~€€~€~~~~€~€~€€~€~~€~€~~€€~~~}€~~€€~€}~~}€~~}€~‚~~}~€~~€~€~~€~€~~~~‚~~~€~€~~~~€~€‚}~~€~~€€~~‚~~€‚}€~~€€~€~}~}€~}€}€~~€}€€€~€~€~€~€€}€~€€}€€~~~~~~€€€€~~€~~€}€€~~€}€~‚~‚~~~€~€~€€~€~~~~€~€€~}}€~€€€~~~€~~~~€~~€~€~~€€€~€}€~~€~€€€~€~}€~€€~€~~€~€~~}~€~€€~€~~€}‚~~~~€~€~}€~~€~€}€~€~~~€€~€~~}€~~€~€~~~~~~€~€~€~~~}€~€}€~~}‚~€}€€~~€~~€}€~}€}~~€~€~}~~€~~~€~€€~€~€€~€~€~€€€~€~€}€~~}€}~€€~€€}~~€}€}€~~€~}€~~~~€~€~€}~€€~€~~}€~€~€}~~~€~€€~€~~€~€~€}€€~€~€~~~€~}€~~~‚~~€~}€}~€~~€‚~€~€~€~€~~€~€}~€~~€€€~~~€~€}€~}€~~€~€~€~€€~€}€~~}~~€€}€€~€}€~€}€}€~~€~€~€~€}~€~€€~~€}€€~€~}€~~~€~€~~~€~~€~€~€€€~€~~~€~€€€~€€~€}€}€~€}€~€€~€~~€}€~~‚~€€€~~~}€~€€}€~~€€~‚~€~~~€~€€~€~}~€~~~€~€~~€}€}€€~€€~€}}~~€~€~€~}€€~}~€~€~€~€~€~~~€~€~~~~~€~€€~€~~~€~€€~~€~~~€~€~€~}€~€€}€€‚~€~€~€~€€~~€}~~€~€~€~~}€~€}~€}€€~~€~€~€~€}€€~€}~}€~€€~€}‚~~€~€~~€~€€~€~}~~~}€€~~~~}€~€~€~~~€~€~€~€~~€~~€€€~~~}€~€~€€~~€€~€~~~~~€~~€}€~€~€€}€~~}€~~~~€€}~~~€~€€~€~~€~€~€€~€€€~~~~€~€}€€~€~}~€~~€€€~~€~€}~~~~€}€~~}€~~€€~~€~€€€~~~€~€€€~€}~€~€€€~€~}~€€~~€~~€~€€~~~€~~€€~€~€~~~‚€}~€}€}€€}€~€~€~€~€~€€~‚~~€~~~~~~€~~€€}€~}€~~~€~€~€~€~~€€€~€~~€}€~~€~~~~€~€}}€~‚‚~€}€~€}€~€~~€}€~€~~~~~~€€~€~~‚~~~€~€~€€~€~€~~~~~€~€€~€€~}‚€}~~~€~€~€€€€‚~}€~}€~€~~~~}€~€}€€~€~€}~~~€~€}€~~€~€~€~€~€~‚~‚~~~€~€}€€‚}~}~€€€~~~€}~€}€~€€€~}€~~€~€}€~€~~€~~€~~€~~~~€}€€~€€~~~€~~€€~}~~‚}~}€}€~~~‚~€}~€}€~~~~€~~€~~~€~€~€}€~~€€~€}~€}~€€€‚~€~~~€€}€€}€~€~€~~€~~~~~~~€~€~€}€~€~~€~~€~€~€~€~€~€€~€~€~~€~€~~~€}~€~~€~~€€~€~€~}€~€}~€€~~€~~~€‚~€~€€~€€~€€~~~~€~~€~‚~~‚~~€~€€€~€~~~€~€~€~€~€~~~~€~€}~~€~€~~€~€~€~€~~€€€‚}€~~~~~~€€€~~€~€€€€~€~~}~€€~€~~~€€€~~~€€~~~}€~€€}€~~~~~€~€€~~€~~€~~}€~~~}€~€~€~~€~~€}~€}~~~~~€~€}€€~€~~€~~~€~‚€€~~€~~€~€~~~€€~~€~€~~€~~‚~€~€€~€~~~€~€€€~€~~‚~~}€~€€~}€~~€~€~}~~‚~~€‚}€~€~~~€~€~€~€~~€~€€~€~~~€€€~€~~~~€€€~€}€~~}€€~€€}€~€}€~€~~~€~€~~‚~~€}€€~€€€~~€~€€~~€~~€~~~€}€€}€€~€~~€‚€€€~€~€~~€~~~€~‚€€€~~~€€~}€€}€~€~€~~}~~€~€}~~€}€€~~~~~€~}€~€~€~~€~€}~€~€€~€~€~€~~~€}€‚~~€€}~€~€~}~~~€~€}~€~~~€€}€€~€~~~€~€~€~€€~~~€~€~~€~}}~€}€€}~~€~€~€~€€~€€~}€~~€~€€€€~~~€~‚€~}€}€}€~~€~€~€}€}€~}€~}€}~~€}€~€}~€€€}€}~~€~€€€~~~€€€~~~€€~€~€~€}€€~~€~}€€~€~€~€€~€~~€~~€}~€~~~~~€~~€€€}~~~€~~€€€~€~}‚‚~~€~~€~€€~€}€~~€~€~~€~~~€~€€~~~~~€~€~~€~~€€~~~€€~€~€€~~~~~€‚}}~~‚}~~~€€~€~~~€€~~€}€~€~~€~€}~€~~~€€~~~~~~€~€~€~€~~~~}~€}€~€~‚€~€~€}€~€}~~€~~€~~~~~€~~€€~€~~€~€€~€~€~€€~€~€~~~€~€~€~~€~€~€€~~€~~~€}€~}€~~‚}~}€~€~€~~~€~€€€€~~€}~~~€€~~~~~€~~€~~~€~‚€€~~~€~€‚~~‚}}~€}~€~~€}€~€~€~€~€€€~~€~~€€~€€~€~~}€}€~}€~~~~€~~~€€~€~€~€}~~€~~~€~~~€€}~}‚~~€~€~€€~~€‚~€~~~~~~€~€}€~€~€~€~€~€€~~€~~€~€€€~€~~~€~€€~~~~~€~€~€~€~€€~~~~~€}€€~€~}€~€€€~~~}€~~~€~~€~~~~~€~€~€€}€~}€~~€~€€~~~}~}€}€‚~€~~~€~€€€~€}~~€~~~~€~}€}€~€€€€~€~~~€}~~~€‚~~€~€~~~€~€€€€~~€~~€~~~€~€€~€‚~~~~}~€€~€}€~~€~€€~€~~~~€~€~€~~~€~€€€€~€~~€~€€€€~}~€}€~~~~€~€~€~~€}€€€~~~~~€~€~€~€~€€~€€~~€€~€~~~€~€€€€}~~~€~€~€~~€€}~~€~€€~€€~€~~€~€~~€~€~~~~€~~€~‚~€‚~€~~€~€}€€~~€€}€€~€~~€~€~~~~~€}€~€€~€}}€~~€€~~~~€€}€~~€}~~~~€€}~~€~€‚~~~€~~€~€€~€~~€~€~}€}}~€~€€€~~€}€~€~~€€~~~€~}€~€~~€€~~€~€}€~€~€~~}€~€~€€}~~€~~€}€€€€€€~}€~~}~€€~€~€~~€~~~€~€€€~~~~€€~€~€}~€~€}€€~€~€}~€~€}€€~€~~€~€€~~~€€‚~€€~€~€~€~}€‚~~€~€~€~€€~~~‚€‚~€~~€~€~~~~€~€}€~}~~}€~€€}€~~‚~€~€~€~~~}€€}€}€€}€}~€}€~€~€~€~€~~~€~}~~€~€€€~€}€~~~~}€€~~€}€~~~~~€~€~~~~€~€~€~~€}€~~~€~€}€~€~~€~€~~~€~‚~€€~€~~~}~~€€~~}~~€€~€~€}€~‚€~~~€~€~€~€}€~€~€~€€€~€~€~€~€~€~€€}€€€~~€~}€~~€~€}€~~~~€~€€}€~€~‚~~~€€}€~~~~€~€€€€€~~~~€€~€~€€€‚~€~~~€~€~€~€~~€}€~~€~~€~~€€}~~€~€~€€~~€~~~€}~€€€}€}~~~€~€€€~€~~€~~~~€~€}€~€~€€€~~~~€~€€€€~€~~€~€€}€~~~€€€~}€~€~€€~€~~€~€}€}€€~€€~€~~}€~~€€~€~€~~€~~€~€~€€~‚€~~~€~€~€~€€}€}~€~€~€€€~€~€~€~€€€~~~€~€~€€~€~€~~~~~~~€}€€~~~‚€}~~}€}€~~}~~€€~~~~€~~‚€}€}}€~}€~€~}€€‚~~~~~€~~€}~€~€~}€}€~~~~~€~€~€}‚~~€~}~~~€}€~~~~~€~€€~~€~€~~€€~€~~}‚~€~~€}~€~€~€~€~€€~€}‚~€~~€€€€~€~~~~€~€}€~€~~~€~~€€~€~~‚€~~}~~~}€}€~€~~€~€~€~~~€~€€€~€~~~€€~€~€~‚~€~€~€€~€~~~€~€}€}€~€€~€~€~~€~€€€€~~€}€~~€~€€~~€~€~€~€€}€~€~}€~€~€€}€~€}~€~~€~€~~€€~~~€€~~€}€€~~€~‚€~€~~€‚~€€~~~~€~~€~€€€~~€}~~€€€~~€‚~~€}}~€~€€~~€~~~€~€€}}€}}€~~~~€}€~~€~~€~€~€~€~€~€~€€~}€~}€€~€~€}~~~€~~€‚~€~€~€~€~~‚€~}€€€€€~~€}~}€~€~€~~~~‚~~€‚~€€~€~~~€~€€~€~~}€~€~€~}€~€€~~~~~~~€~~~~~€~€}€~}€~~~~~}€€~~~~€~€~€€~~€~€€€~~~~€~~€~}€~}€€~€~€~€~~~}€~~€€}€~~€~€€}€~€}~€~~~}}€€€}€~‚~~€~~€}€~~€}€~~}€~€€~}~~€~~€}€~~~€~€€~~~€~€€}€~~~~€€~€~}€~€~~~}€~~}€}€}€}~€~€~€~~€~€~‚€€~~~€~€}€}€~€€€€~~~~‚€~€~}€}€~€}€~€~€€~€~~~€~€€‚~}~~€~€€~~€~~€~€~€~€~€}}€~~}€~€€~~~~‚~~€~€~~~€}~~~€~€€€€~~}€~€€~~€€~€~€~€~€~~€~‚€€€~€~~~€~~€€~~~~~€€~~~~€‚€~~~~€}€~~€~€€€~€~~~€~€€€~~~€~€€~€~~€}€~‚€€~€~~€~€~€}~~€~€€~€~€~€~€€€~~~~€~€~€}€}€~€}€~~~~€~€~€}€~‚~}~€~€~€€€€~€~~€~‚€€~~~€}€~€~€€}~~€~~~€~€~~€}~~€~€~~€~€~~~€~€~}~€~€€€~€~€}€~~€€}€}~~~€~€}€€~€~~~€~€~~~~€~~€€€~€~~~€~€€~€~~}~~€€€~}~}€~€€~€~€}€~€€~}€€}€~€~~€~~€~~€}€~~‚~€~}€~}€~~€~~€€~}€~~~}€}~€~€€~€~~€~€€‚~€}~~€~€€~~€~€€~€€~~~€~~~€}€€~€~€~‚€~~€~€~~~€€~~~~€~€~€~~‚~~€~€~~€}~€}€€~€~€€~~€}€€~~‚}~€~€~~€~€~€€€~~~~~€~€}€€}€~~€~€~€~~~€~€€~€}€~~€~€€~}€~~~€€~€~~€€}€}~~~~~€€~€}~~~€€~€€~~~}}€~‚€€~€~~€~€~€~€~€~~€~~~~~€~~~€€€~~~~€~€€€€~~€~€€}~~€}€€~€~€~}€~€~~‚~~~€}€~€~€€~~€~~€€~€~€~‚€~€~~~~~~€€~€}~~~€~~~€~~~€~~€~}~€}‚€~€~~€~€~€€€€~}~~€~€€~€}€~~~~€~~€€}€~~€~€€~€~}€~~~€~~€€~€~~€~€~€‚~€€~€}€€~€~~€~€€~~€~}~~~~~~€~€~~~€~€~€}€}€~~~~~€€~€~€€~€~~€~~€€~~€~€~€€€~~€~€€€~€~€~~~~€€~}€€~€~€~€~~~€~€~~~€~€€}€~~€}€~~€~~€~€~€‚~€~€~€~~~~}€}€€€~~€~€~}€~€~~~~~€~~€~~~~€}~€~€€~~€~}~~}€}€}€}€~~~€€~€~~~€~€}~€~€~~}~€~€€€}€~~~~€€€}~~€~€~~€}€~€€€~~€~~€~€~~€€}€}~~€~~€~€~~‚€}~}€~€€~€~~€~~€€~€€€~€~~~~}}€~~~€~~~€~~€€€~€~~€~€€~€~€~€~~~€~€~€~}~~~€~€~€€€~€~~~€~~€~~~€~€~€€€~€~~~~€€€~~~~~€€€~€~~€~€~}‚€~~~€~€~~€~€€~~~~€~~€€~€~‚~~~~~€~€~€~~€~~~€~~€€€‚~~€~€~~€€}~~~~~€~€}€}€~‚€~~~~€~}€~€€€‚~}~~}€~€€€~€~~€~€€€€~~€~€}~€€~}~€~€~€}~€~~~~~€~~~~~€€€€€}~~€~€~~€~~€~~‚€€‚~~€}~~€~~~€~~~€€}€~~‚~~€~€~~€€~€~}€~€€~}€~~~€~‚€€~€€~€€~€}€~€~~€~€€€€€~€~~€€~~~~€~}€~‚€~~~~~}€~€€}€~€~~€~€~€~~~€~}€~~€~}~€~~~€~~€€~€~~~~€~€~€€~€~~~~€~~}‚~~€~€~€~~~~~~€€~€€~~€€~€~~~~€~~€€~~~}€}€€~€~~~}€~€€€~~~~~~€}€~~€~€~~~~~~€~€€~~€}€~~~}€~€~€€~‚~~€€‚€~~€~€€~€~€~€}€€~~€~~€~€~€~~~~~€~€~€€€~}~}€€~‚€~€}€~~‚~}~€~€~~~€~€€~€~~€~€€~~€~€~€€~€€~€~€~€}~~~~~€}~€~€€€~~~~€~€~~€~~€~€€€~€~~€}€€}~€~€€~€~~€~~€~~~€~€~~~€‚~€~€~€~~€€€€~~€~€€~€~€~~€~€~~~€~€}~~~~€~€~~~€€~€€~~€~‚€~‚~~~€~€~~€~~~~€~€€~€€~~~~€~€~€~€}~~~€~€~‚~€€€~€€~}€~}}€€~~€€‚~~~~~€~€~~~€~€~€~€}~€~€~€~€~€~~~‚~~~~~~€€~€}€~~~~€}€}€~€~~€€}€}€~€~€€€~}~~€~€~€~€~~~~}€~€€}~~~€~€€~~~}€~€~€~~}€~€€~€~~~~€€~€€~~€€~€~€~€€~~€~€~~€€€€~~~~€~~€~~€~}€~€}€~}€~€~€~}}~€}€~€~€~~€~~€~~€~€~~}€~~}~~~€}€€~€~€~€~€€~€~~~€~~€€€€~€~€~~~€~‚€~€~‚€~~~€€~€~~€~~~€~€~~€~€~€~€€~€~~€€}€€~~~€~€€€€~€~€}€~}}}€~€~~€}€~€~}€~~~€€~€~~~€~€~~€€}€}~€~~‚~€~€}€€~‚€~€~€~~~€~~€~~~~€~€~~~€€€€€~~€~~}€€~€~~~~€~€~€~~~€~~€€€~~€€€€~€~~€~€~€~~~€~€~€~€~}~~€~~~€}~€~€€€€~~}€~}€~~€€€~€~~€~€~~~€~€~}€€}€~}~€€~~~€~€~€}€~€}~€~~~€~€€‚~}€~€~~€€~€~€€~~~~~€~€}€~€}‚€~~~€~€~€~~€~~€~~€~~€~~€€~‚~~~~}€€€~€~€~€~€€€€~€~‚~€€€~~~~€€}€}€~€~€~€}€~~€~‚€~~~€€~€~}~~€~€~€€~€~~~€}€‚€€~~~€€~€~~~€€‚~€~€~€~~€€}~€}~~~~€~~€~~€€~~€~€~€~}~~~€~€~~~~€~€€€€~~~}~€€~~€€~€~~€~€€€~~~~‚~€}€€~~€~~~~€}~€~€}€‚~~~€~~€~~~€‚€€~€}€}€}€~€~}€}€€~€~~€~~~~€}€€}€€~€}‚}}~€~€~€~€~€€}€~~~€€‚~~€~€‚~€~€€~~~~€‚€~€~~~€~~€€~~~~€~€~~}€~€}€}€~€}~~}€~€€€~€}€~€}~~}}€~€}€~~€~~€}€~€~~~€}€~€}€~€~€~‚€~~~€~€€~€~~~‚€‚€~~~€~~€€~€~~€~€~€~~~€}~€~€~€}}~€~€€}€~~€~~€€€~~€}€~}~~€€}€~~€}€€~~€}€€~~€}‚€€~~€€}€~€€~~€}~~~€}€~€~€~~}€~}~€~€}€~~}~~~~€}€}€€~~~~€~~€~~‚~~€~€~€~€€}€~~~€€~~€~~~~€~€€}€}€€~‚€~~}}€€~€~~€}€~~€€~€~€€~}€~~~€€~€~€~€~€~~‚€~~~€~‚€€‚~€~~€~€}€€~€~~€~€}€€€~~€~~€~€~~~~€€~}€~~~€€}€~~€}}€}€}€~€€~€~~~€€~~~€~€~€€~€}~~€~€~€~~€~}€€€€~€~~€€}€~~}€‚~~~€~}€‚~€~€~~~~€}€~€~~~‚~€~€~€~€€~€~€~€}~€€~}~}‚~~}€~€~~€~~~€}~€€€~€~~€}€‚~~€~~~€€}}€€~€~€~~~€~~~€~~‚€~€~~~€~€€~€~~~€~€~€}€~~€€€~€~€~€€}€~~~€~€~~}€~€€€€~€~~€~€~~€~€~}€€}~~€~~€~~‚€€~€~~~~€}€€~~~~~~~€~€}€~€~€~€~€€€€~€~€€}€~~~‚~}€~€}~~~€~€}€~€~€€}€~~}~~~€~~~~~~€}€~~€~€~€€~€~€~~~€€~~€~~€~€}€~~€~€~€~}~~~€‚}€}}€~€~~~€~€€€~}€~~~€~€~€~€~~€~~~~~~€~~€~€~~~~€~}€~‚~€€~€~€~~~€€~}~}€}~~€~€~~€~~~€~~€€~~€~€~€‚~€~€€~€~€~~€€~€~€~€~~€~~~€~~~€~€€}€~~€~€~~€~~€~~€€~‚}~~~€~~€€~€~€~~~€€~€~~}€~€€~~~€~~€€~€~€€~€}€~~€~~~€~€~€~~€~~~~€€~€~~€~€€~€}~~€~~€€€~~~€}}€€~€€~~€~~~€}~€~€}~~€€}€~€€}€~~€~€~€}€~€~~}~~€}€€~€~€~~€~~€}€€€€~€~~~~~€€~€~~}€€€~€~~~€~€~€~€~€‚~€~}€}€€€€‚€~€~}€~€€‚~~~~€~€€~€}€~€~~~~€€~~}~~€€~}€~~€~€€~~~~€€~€~‚€€~€}~~~€~€~€€~~€}€~~~€~~~€~€~}~€€€~€~€}€~€~~~~~€~€~~~~€~€€~€~~€€}€~€~~€~€~€~€}€~~~€~~~€}}~}~~€‚}€}€~‚~~€}~~~~€}€~€}€~€~}~€~€€€~€~~~€~~~€€~€~€€}}~€~~€~€~~}€€~}~€~€~€~€€€~€~€~~~~}€~‚}~€~€~€}~~~~€}€~~€~}€€~~€~€~~~€~‚~€}€}€}~~€~€~€~€~€€~~~~~€~€~~~}€~€~€~~~€€€~€~€€~€~~~~~~€€~€~~~€~€~€~€~~‚€~~€~€~€€€~€~~€~€€~€€}~~~€‚~~‚~€}€~€}€~~€~€}€€~€~~~~€~€~~~}€€}€€}€~}€~€~~~~€‚~€€~€~€~~~€~‚~€~}‚~~~€}€~‚€€~~€~~~€€~~~~~~€€~€~~€~€~‚€~€~~~~~€~~€€~~~}€~‚€€~~~~~€~€}~€}€~€~~€€~€}€€~€~€~~~€~€~€€€~€~€~~~~€~€~~~~€~€~€}~~€~~€€€€~€~~€~~€€‚~~~~~€~}€~€~€€}€~€~€€€~}€~~~~~~~}}€€~€€~€~~€~~~€}~~~€~€€€~€~~~€~€€€~€~~~€~€}€€~~€}€~~}‚~~~€}~€€~€~€~~~€~€€~€~~~~~€~€~€€€€~€}€~~€€~€~€~€~~~~~€~€~~€~€€€~~~~€~~€~~€}~€~€~~‚~€~€}~~~~€~€~~€~~~€}€~€€}€~€~€~€~€~~~~€~€~€€~€}€~€~~~}€~€€€~€~~~~€‚~€~€‚~€~~~~€~€€€€~€~~~€}€~€~€~~€~€~€€~~‚€~~~~~€€~~€~~€~€~~€~~}‚}~~€~}~€~‚~€€}€‚~€}‚~€~~~€€~€}€~€~~~~~~€€~~~€~€}€~~€~~€~}€~€€}€~~€~~~~~~~€€~€€}€~‚€~~~‚}€}~€~~€~€€~€~~~~€}~€}€}€~~€~€~~€€€€~€~~~}€€}~~€~€~€~~~‚€€~€~~}€~€}€€~~€€~€~€~~€~~€€€~~€~~}~~€~€€~~~~€~~~~€€~€~~~‚~~~€~€~€}€~~~~€€~€~€}€~€~€~€~€~€~€€~~€~~~~€~~~€~€}~~‚~~€}€~€~~€‚€~€~~€~€~~‚~~}€}€}€}€}€~~~€~€}€}~€€~€~€~~~}€}~~~~€}€}€}€~~~~~€~€}€~~~€}€~€~~€€~~~€}€€~‚€~~~€€~€~~€~€}}€~€~€€}€~~€~€€~€}€~~}‚€~~~€€‚~€~~~€~~€~€}~~€~~~€}€~~€}€~~~~€~€}€~€~~€}~€~€~€~€~~~~€€‚~€~€~~~€€~~€}€€€~€~~~~~€€~€€~~~}~~€€~~€~~€}}}}€~€~~~~€}€}€€~~~~€~€‚~€}~~€~€~€}~~€}€~€~}~~€€~~~~~€~€~€~€}€€~€~~~~~€~€~€~€~~~€~~€~~~~€~€}€€}€~€~€€~€~~€~€€~€~}‚~~~~~~€~€€~€€~€}}~~€€€€€€~€~~€~€€|~€~€~€~~€~~€~~~}~~~€€€~€~~~~€€€€~~€~€~€~~€~~€~€€~€~~€}~~~€€~~~}~€€~~~~}€~€~€~}€~€}‚~~~€~€~€€}€~~~€}€~€~€~€€‚~~€~~~~€€~€~~~€}~€€~~~~€~€€‚~€~~€}€~~€~€€€~~~€~€~}~~€~€}€~~~‚€~~~~}~~€~€~€~~€~~€~€}€~~~~€~€~~€~€€}€~~~€~~~€~€~}€€~‚€~~~~€‚}€~€~~~€€~~~~~~€€€}€~€~€~€~‚€~~~~€~€~€~~~~~€~€€~€}~}€~€~€~~~€~~~~~~~€€€~€~€€~€~€}€~}€~~~€}€~€~}€‚~~~€~€€}€€€}~~€~€~€~€~~~€~€€~~€~~€}~~~‚}€~€}€}~€~€~€~€€~~€~~~~€}€~€}€~~~~€€~~€~~~€}€~~€~€~~~~~}€~€€}€€}‚~€}}€~}€~‚~€~€~€~€€~~~€€~€~€~}€€~~€~~~€~€~€~€~~€~~}€~€€€~€}€~€}€}€~~~‚~~€~€~€~~~~€€‚~~~€}€€~~€}€€~~€~€~~€~~~€~€~€~€~~~€~~‚€€~~~~€€~€}€€~}€€€~~~~~~€}€~~€~~€€€~€~~€~€€€~~€}~€~€~€~€}€~€~‚€~~€~~}€~€€€~€}~€~‚€~~~€€~~€~~~~~€~~€~€}€~€~~~€~€€€~€}€~}~~~€€~~€~~€€€~€~~~~€€~~~~‚€}€~~€~€€~€~~~€~€€~~€~~€~~€}~~~~~~}~€~€€~€~~€~€~~}€}€€~€~~~~€~€€€~€~€~€~~}~~€~€}~€~€~€€€‚~€~€~€~~€~€€€~€~€~~€}€~}~~~~~€~~~€~€~€~€€~~~~~€€~~~~~~€~~~€~‚€€~~~~€~€€~~~~€}~€€~€}~~}€~€€€~€~}€}€}€€}€~€~~€~~€~€€~~~~€~€€€~~€~~~€~€€}€~€~~~€}€~€~~~€~€€€€€‚~€~€~€~€€~~~€~~€€}€}€€~~~~€~€€~~~~€~€}€~€~~}}€€‚}~€~~~€}~~€~€€~}~€~€€}~~€€€~€~~€~€€€‚~~€~~~€~€~€~€}~€~€~€€}€}€~~€~~~€~€~€~€~€~~~~€~~€~€€€}€~~€}~€}€~~~~‚€€~€~~~€~€~€}~€}€~€~~€~~€~~€~}~}€~‚€~€~€~~€~~€~€~~€‚~~€~€€€~€~}}€~€~€}~€€~€~~~€€~€~~~€}~€€~€~€~~~€~€~€€€€}€}€~€€~€~~~€}€€~€€~~€€~~€~~€~€~‚~€€}~€~‚€~~~€~€~€~~~~~€~~€~€€~}€~€~}~€~~}~€}€~€‚~~€~~~}€€€}~~~~€€~€}~~€~€€‚~}~~€€€€~€}~€~€~~}~€~€~~~~€~€€~€~€~€~~€~‚~~~~€}~€€~~€~~~€€~~~~€~€~}€€~€~€~€~~~€}€~~~€€€€€~€~€~~~~~€}€}~€~~}~~€}€~~€~}~~€€~~€~~€~€€€~~~~~‚~~€‚}€~€€~€}€~~}~‚€€~€~}~~€€€}€~€~~€}~€~€~€~€€~~~€~}€€}€~~~€~~€~~€~~~~~€€~~~~}€‚€€~€~‚~~‚~~€~€€}€~~~€~€€~~€€~€~~€~~~~€‚~€}€~€~~~€~€€~}~~€}€~€~}€~€~~~}€~€~€€~€~€~~€~€€~~~€~€€€~€~}€~€~~‚~€~€~€~}€~€€€~€~€~€}€~~~~€}~€}€~€€~€~€~~€~€€~€}€€~~~~€€~€€}~~~€€}~€~~~€~‚€~~€~€€~€~}~€~€€~€~~€~€€~~€}€~€~€~€~}€~~~€~€~€~~~~~~€~€€~}€~€~€€~€~~~‚~~‚~€}€}~~~~~€~€~€~}~‚€~~~€~€€~~~}€‚~€~‚~€~~€~~€~€€€}~~~€~€€}€€‚~}€~€}€~~}}}€€~~~~€}€~~€}€~~€~€€~€}~~€~€}€}€~€€}‚~}~~€~€€€~€~€~€}€~}‚~~~~€‚~€~€}€}~~}€€~~€~€‚~~~}}€~‚~~€~€}~€}~~€~€~~~~€}€€}~€~€€}€~€}€€~€~€}€~~~€~€~€~~~~€~~€~€~~€~~€}€~€~}~~~€}€€}€~€~€~~~~€~~~~€}€~~€}~€€~~~€~€}€€~‚€}€~~~~~€~}~‚~~~}~~€~~~€~€~€~€~~~€~€€~~€}€~~~~~€~~€€~€~~€}€~‚~€~€~~€~~~€~€€€€€~~~€~€~~~€€}~€~‚€€€~~}}~€~~€}€~€~€~€€~€€~~‚€~~~~€~€}€}€€~~~€}€~€~€}€~~€€}€~€~€}€€~~€~~~€€~€~~€}€~~~~~~€~€~€€€~€~~€~€~€€~~€~€~~‚~~€~~€}€~~‚€~€}€€~}€~~}€€€€~}~~€~€€~€~€~€~€~~€~~~~}~€€‚}€€}€~~€‚~€~~€~~€~€~€~€~~€~~€€~~~~~~€€}€~€~€~€~€~€}~~€}~~~€~€€€}~~€‚~€}€~€~€~}~~€€~~}€~~}~€~€~}~€€~~€~~€~€€‚~€~~~€}€€~~~€~~~€~€~€~~€}~€€€~~€~~~~€~€~€~~€}€}€~€~€~€~€~~~~€~~€~~~~€~~€~€~€~~~~€~~€~€~‚€€€~€~€~~€~~€€~~}€~€€~€~~}€~€~€~€~~}~~}~€~€}€‚~~~€~~€€€~~€~€~~€}‚€~€}€}~€~€~~€}~}€~€€~~}~€~~~€~‚€€~€~~€~€~€€}}~~€€~€~~~€~€~€€~€~€~€~~~€}€~~~€€~}~~~€~€~€~~€~€~}~€~~~~~~‚}€~€~€~€~~€~~€€}€~€~€~~€~~~~~‚~~€€~~~~~€~€~}€~~~~~€€€}€}~~€~€€€~~~€€€~}€~}€}~€}€~€}€€~€~~~€~€~}€~~€~~€~~~~~€~€€€~€€}€~€€~€~€~€€~€~~~‚~~€~€}~€~~~~€~€€~€~~~€€~€~~€~€€€~€€~}€}~€€€€~~~~~~~€€~}~~~~~~€~€~~€}~}~€~€~€}~~~€€~€~€€~€€~€~~~€~€€€~~~€~€~€€~€~~~€~€€~€~~€~~€~€}€~€~€~€~}€~€~}~~}€~€€~€~}€€~~€}‚€~~~€~€}€}~~~~€‚~€€~€€}€€}~€€~€~~~~€~€€€~€~~€€~€~€}~~€~~~~€~€~€~€~€€€~~€~€~~€~~~~~~€~€€~€~~~‚~}}}€}€~~~~€~€~€€~€}€€~~€~€€€~€~~€}€€}€~€~€~€}€}}€~€€~~€~€~€~~~‚€~~€~€}€€~€~~~‚}~~€}€~~~~€€~€~~~~€~€~€~~~€~~~~€~€~~€~~~€€~}€~~~~€~€~~€}}€€~€}€}€~~}~}€~~~€~~~}€~~€€~€~~€~€€~€~€~€‚~~€‚~€€€~~~€~€€}€~€~€~€€}€~€€~€}‚~~~~~€}€}~€~}€}~€€~}€}€~€~€~~~~~~€€€~~~}€~‚€€~€~~~€~~€~€€~€€~€~~€~€€€~€}€~~~~~€}€~~}~~~}€~€€~€}€~~€~€€~~€}€~~~‚€~~~€}~~€}€€~€}}‚~~€~€}€~~€~}€€~€}~~~€}€€~€€~€~~€~€€~~~~€~€~€€~€~€~~}~€~€}€€}€€~}‚‚}~€}€~€~}~~€}€€€~€~}€~€€~€~~~€~€~~}€~€€€~€~€}~~~€~~€}€~‚€~€~€~~~€€€€~€~~~€~€~€}~~~€~€~~€~€~€€~€}~~€€€}~€}€}~€~€€€~€}€}‚€€‚~~~}€}€€~€}€€~€~€~€~~€~~}~€~€~~~€~~‚€€~~~~€‚~€~~~€€~€~~~€~€~€}€~~~€~~€€~€~~€~€€~€~€~~~~~€€~~}€~€€~~~~~~€€~€}€€~€€~€~~~€~€~~~~~€€‚~~~€~~~~~€~€€€~}€~~€~€~~~~€~€~~€~€€~€}~~€~€€€~€~~€~€~€€~~~~€}~€€}~~€}~~€~€€~€€~~~~€~~€€€~€~€~~~~‚€}€}~€~€€~~~~€€~€~~~~€~€~€}€€~~€~~}€~€€~€~~~€~€~€€€~€~€~~~€}~€€~€€}‚€~~‚‚~~}€€~~~~€}€~€€~~€~€~€~€~~~~~‚~€}~€~€~~~€~}€~~~~~~€~€~€~~~€~€~€€€~~€~~~~~~€~~€€~€€~€~€~‚€~~€~€€~~€~~€~€€~~~~€~€€€~~~~~€€€~€~~~~€€~€~€}~€~‚~~~~€~€€~€€‚~€~~~}€~€~€~~}€~€~€~~€~€~~~€}€~€€€~€~~~€€~~~~~~€~€~~~€}€~€~}€~€~~€~€~‚~~~€~~€~€~€€~€~~€~€~~€~€~~‚~~€~€€}€~€~‚~~€~€‚~€€~€€}€~~€~~€‚~~~€~€}~€~~€~~}}~€~€~€€~€~~€~‚€€€~€~}~€€~~€~€‚~~}~€}€~€~~€€€~~€~€}€~€~€€€~€}~~~~~‚~~€~€~€~~~€~€€€}€}~€€€~~~~€}€~€~€€~€~~~~€}€~~€}€~€~€~€~}~~€~€~€}€~€~€~~€~€~~}€~€~€}~~€~~€€~~~€~€~}€~~~~~~€~€€€€}~€~€~€}€}‚€€~~~~€€}~~~~€€~€€~€}}€~~~‚~~€}~€~}€~~~~€~€€€€~€~~}~~€~~€~€€}€~€}€~~€~€€}€~~~‚~~~€~€~€~~~€~~~}~€~~€€}€~~€€~~€~€~~~€€~€~~~}‚~€~€€~~~~€~€~~~~~€~€~~~~~~€€‚}~€~~€€~€~~}~€~€}€~€~€~~€}€~€€~€~~€}€‚~€~~€}€€~~€~~€~‚~€~~€~~€~~~€}~€~~~~}€~}€€€€~~€~€}€€~€~€}‚~~~€~~€}~€~~~€~€€}~}‚€~~€~€€~~~~€}€~}€}€~~~~~~}€€~~~€€~€~~~}€~~~}€~~€€}€~~~~~~€~€€}€~€~€‚~~~€}‚€~~€~‚}€~€~€~}~~~€~~€~~~}~€€~€}‚€~~~~€~~~€~~~€~€~~~~€€~€~‚€~~~~~€€€€~€~~~}€~€~~€€~~~~~€~€€€~~~~€~€€~~~€~~€€€}~€~~~€~€~€~€~€~~€‚~€~€€~€€~‚€~~€~€~€~~~~~€}€€}€€}~€~~~€~€~€€€~~~‚~€}€€€~€}€~~€~‚€€~~€~~~‚~€~}€~€€~€}~}€€~~€~€€~~~~~~€~€~€}~~}~~~€~~€~€~‚€~~~€}€€~€~~~€~~€€€€~~€~~€€~€~~}€~€€~€~€€~€~~~€€~€~€~€~€€~€~~~€€€~~€~€~€€~€€}€~€€~~€}~€€~€~~€~€€~~~€~€~~€~~€~€~€~€~€~€~€}~€€~~€~~}~€~€€~~€~€}~~~~€‚}€€}€~€~~~~€}€€}€~}€~€~€~€€€~}~€~€€~€}€~‚‚~~~€}€~€~€~€}~~€‚}€}€~~~~€~~€~€~€}~€~~€‚~~€~€€~€~€~~~~~€€€~~€~~€~€~€~€~€€~€~~~€~€~€€‚~~€~~€~€}€~€€~€~€~~~€~~~€~~~€~€}€€~€~€~~}€~~€~€~~~€~€€~€~€~}€€‚~€}€~€~}€~€€~€}~€~€~€~€}€~‚€~€~~€~€~€€~€}~~~‚~€}€€~€~~~}€~€€~~€€~€€~}~€~€~€~€€~~~~~€~‚€‚~~~~~€€~~€~~€~}~~€}€~€€€}€~~€~~€~€~~~~€~€€€~€~~€}€~€~€}~€~}€~~~€}€}€€~€~~€}~€~€~~~€~~~~~€€~€€~~~~€€~~~€€‚~~~€~€~€€~~€~~~€~~€€}~€~€~€~€}€~€~€}~~~€~€~~€~€€€~~~~~€€~€}€}€€~~~€~~~~€~€€~~~€~€€~~€~€~€€~~~~€~~€~~~€~€~€~~~~~~~~~~‚€€~~~~~~€€~€~}€~€~~€~}€~‚€~~~€}€€~€~€~~~}~~€~€‚~€€~€~‚}~€€~€~€~~€~~~€~€€}€~~€~~€€~€~€~€~€~~~~€€€~}~€€~€~€~~~~~~~€€€}€~~~€€~€}€‚€~~~€~€€~€~~€~~~€}~€~€~~€~€€€~€~€~€~€€~~€~€}€€~~~€€~~~~€~€~€€~€~~€~€€}~}€~€~€~}€~€€~€}€~~~~~€~€€~€~~~€}€~€~€~~~€€~€}€~~€€}€€~€~€}~€}~€~€~€€€~€~~€~€€~€~~€~}~~~‚~~€‚}€€~~~~€~€€~~€~~€~€€~€~~€€}~~~~€€}€~€~~€~€€~~€~€}€~€€~€~€~€~~~~€~€~~€~~€€}€~€€~€~€~~€~~€}~}€~€~~€~€€€€€~~€~€~€~€}€~€}‚€~~~~€~€~€~€~~~~€€€~~}€~€~~€~~€~}}€}~€}‚€~~~~€~€~€~€~~~~€€~€~€~~~~~€€~€~~~€~~€€~€€~~~€}€~€€~€€~€~~~€~~€~~€€~~€~~}€~€€~€~~€€~~€}€~€€€}€}~€~€}€€~€}~}~€~~€€€€~~€~€€~€}~€€~~‚~~€€~}~~~~€~€~€~€€~~€~€€~}}€€€~€~~~€~€~€~€~}}€~€€~€~~€~€~€€~~~~€~€~€~~€€~€€}~€~€€~€~~~€~€€}€~~~€~€€}€€~~€€}€~€~€~€~€~~~~~€~~€~€€€~}€~€~€~€~~€~€~€}€€}€~~~€€~€}€~~~}~€€€€~€~~~€~~~‚€~}}~~€~€€~€~€~~€~€€€~€~~}€}€€~€~€~~~~~€€~€~~€~€€€~~~€~€€€~}~€}~€€€}€}€~€€€~€~~~€~€~€~€~€€€~~~~}~€~€~€~€~~‚~€~€~€~‚~€~~~€~€€~€~€}~€~}~€~€~€~~€~€~€€€~~}€~€€~€~}€~€€}~€~€€~~~€~€~€~~€~€€~~€~~€~€€~€~~~~€~~€~€€€€~€~€~€~€~~~}€~€~€~~€~~€~€~€}€~€~€~€~~~~~~€~€~€~€~~~€€~€}€€~~€~~€}€€€~€}~€~€~~~~~€~~~€~€~€€€~}€~€€€€~€~~~~~€~~€€€~€~~~~~€}€~€~~€€~~~€~}€~~~~~€~€~€~~~€€~€€~€~€~€~€~~‚~~~~€~€€‚€}€~~~€~€€€~~~€~}€~~€}€~~~€~~€€€~€€~€~€€}€~‚€€~~€~~€~€€~€€~€}€~€~€~}€~€~~~‚~€}€~~€€}‚~~~€~~~~}~€~~€~€€}€€~€}~€€~€€~€€‚~€~~~€~~€€€~€~~€~€~€}€~~€~~}€€}€~€€~€~€~}€~€~€€~~€~}€€~~€~€~~~€~€~~~€~€€~}~€~€~€~~€~€€~~~€~€€€€~~€}€~€~€~€~~~€€~€~~€~€~€~~~}€€~~~~€~~€~~€~~~€~€~€~€~~~€}~}€~~€€~~€~~~~}~€€€~~€~~€}~€€~~~€~€€~€~~~€~}~~€~€}}~~}~~€}€~€}€~~~€~€€}€~‚~~€}€€~~€~~€~‚~€~€~€~~€~~~€~~€€€~~~~€~€€~€€~€€~€}€~~€~€€~~€~~€€€~€~~~~€~€€€€~€~~€~‚€€~~~€~€€€~~€~€€~€€}€~€}€€~~€~~~}€~€€€~~~~€~€~€~€~€}€~~€€€€~€~~‚}€~€}€~€~}~~~~€~€~~€~€€€~}€€~~€€€€€~~€~€€~€}€~€~~~€€~~~~~€~€~~€~€~€~€~~€~€€€}~}~€€€~~€~€€~€~~~~€~€~€~€~}€~€}~~€€~€~~€~€~~€}€~~€~€~€~~€€~~€~€€€~€€~€}€}€~~~~€~€~€€~€~€}€~€}€~€~~€~€€}€~€}~€}~€~‚~~€~€~~€~~€€~€~€~€~€€~€€~~~~€~€~~~€€~€~€~€€}€~~}€€€~€}€~}€€€€€~€€€~€~€~€~~~~€}}€~~€~€€}€€~€~~~‚~€~€€~€~€~~~~~€~~€~€~~€€€~€~~€~€€‚~€~~€}}~€~€~€~€€}€~~~€~€~€€€~€~€~~~€~€€~€}~€~€~~~~€~€€~€}~€~€}€~~€~~~~}€~}€€~€~€~€~€~€€€~€~~€~€~€~€~~~~~€~€~€}€~~€~€}€~€~}~~~}}€~~~~€~€€~€~~~}€~€€€‚€~~~€~€}€€}€~€~~~€~~~€~€~‚€€€~€~~~€€~~~‚~~‚~~€~}€~~~~€~€~~€~€~€€€~~€€~€~€€~€~€~€€€€~~~~€~~~€~€~€}€~€~~~~€~€€~~€~€~~€~~~~€~€€€~€~~}€~~€~~‚‚}€€~~€€€€€~€~~~€€~€~€}~€~€~~~~~€€~~~~~~€~€€€~~~~€~€~€}€~€~~€~~~€}€}~~~€~€€~€~~~~~€~€€~€~~€~~€~€~€~€€~€~~}€~€~~~‚~~€~€€~€€~€}€~~~€~€~€€~~€~~~€}€€€~~€}€~€~€€}€~~~€~€~€~€}~~€~~€€~€~€~~€~€€€~~€~~€€~~~€~€€~€}~~~€€€~€~~~€€~}‚~~€~~~~~€€~€~~~‚~~€~~€~‚€~€~€‚}€~€~€}~~€}€~€€€~~~~~€~€~~€~€~€~€}€€€}~~~€~€}€€~€~€~~~~~~€~€€~€~~~~~~€€€~€~~€~€€€~~€~€€~€}~€~€~€}~~€~€~‚~~€‚}€€~€~€}€~~}€~€}~€|€~~‚~€}€€~€~~~‚}~€~~€~€~~€~~€~€~€}~€~~€~€}~€~€~~‚~}€~€€}‚€~€~~~€~~€~€~~~€~~~}~~~~€€~~€~~~‚~~€}€~€~~~€€~€~€~€~~~€~€}€~€~~€~€~~}~~~€€€~€€~€~}‚€~~€~€‚~~~~~~€€~~€}€~€~€~~‚€~~}€‚€~~€~~~~~€€}€€~€~€}€~~€~€€~~€~~€}~€€~€~~~€~€~‚€~~~~~€~€€~€~~~€}€€€€~~~€€€€~~~~~€€€~€~~~€~€~€~~~€}~~~~€~€}€~€~€~~€~‚€€~€~~~~€}€~~~€}‚~€~€~€~€~€~~~~~€€~€}€~~~€~€}€€~€}€~€}€~~~€~€€~€~€~~€€€€~€~~€~€€€~€}~~€~~€~~‚~~~~~€~€~‚~€~~~€~€€€~}~~€}€€~€~€~€~~€~€}€€~€~~€~€~€~~}€€~€~€~€~€€€~~}€~~}‚~~€~€€~€~~}€€~€~~€~€~€~~€~€€}€~€~~€~~~~~€~€~€€~€~~~~}€€~€~}€~€}€}€~€~€€~~~~€~~€~€~}€}~~€}~}~~€‚~~~€~~~~~€~~€~~€~~~~~~€€}€~€}€€~€€~~}€}€€€}~~€~€~€~‚~~~~~€~€€~€~€€}~~€~~€~~~€~€~}€~~€~~~€‚€}€~~€~€€~~~~~€~€~~€~~€‚~~€}€€~€}€~~€€~€~€~~}€}€~~€€~€~€~€}€~}~€~€€~€~~~€~~€€~~~~€~€€~€~~~€€}€~~}€~€‚~€~~~~€€~€~~€}€€~~‚€~~~~€~€€~}~~€~€€~€~~€~€€~~}€~€~€€~€~~€€~~‚~~~~~~€€~€~~~€~€}€~~~€~€}€€~}~~€~~€€€€€~~€~€~€~€~€‚~€~~~~€~€€~}~€}€€€€€~€}~€€~~~~~~~}€~€€}€}€€~€€‚~~€}€€~~€~~€€€~€~~~€~€€~~€~€€€~€}~~~€~€~€~~€~€~~€~€~€€~~€~€~€~~€€~€~~~~€~‚~€~€~€~~€€€~€~€~~€~~€~~~€~€~}€~€€€€~€~~€}€}€€~€~€~~~~€€€~~€~~~~€~€€~}€~~€~€~€€}€€~~~€~€~~€~~€€~€~€€€~~~~€~~€€€€~€€~€€~€~€}€~~€~}€~€~~€~~€€~~€~~€~€€~€}€~€~€}~€~}~€~€~€~}~~€~~~€}~€€€~€~~€~€€€~~€~~€€€€~€~~€~~€€€€~~~€€€~€~~~~}€}€~}€~~€~€}€~€~€~‚}€‚~€~€~€~}~€~~~~}€~€€}€~~~~‚€€~~€~€}€~€€€~€~~}~€€€~€~~€€}€€~~~€~~~}€€~€~~~~‚€~~~€~€}€}~}€‚~~~€}€~~}€~€€}€~€~€~~€€~~~€€~€~~€~‚€~}~€~€~~~~€~€€~€}~€~~€€~~~~~€€€~€~~~~}€~~€~€~}~€~€€}€~~€}€€€~}~~~~€}~€~~~~~€~€~€~€~~~~€€€~€~~€~€€€~~~~€€~€~~~~~€€}€~€€~‚~~€~€~€~€}€~~~~€~€~€~€~~~~€~~€€€€~€~~~€~‚€€~€~€}~~‚€‚~~€‚~~€}€~€~€~€~~~€~€~~€~‚~€~~€~€~~~€}€~€~~~€€€~€~€~€~€~~€~€~€‚~€~~~€~‚€€€~€~~€~€€€~€~‚€~~}€~€}~€~~~~~€~€~€~€~}~~~}€}€~~~€~€}€~€~~~~€~~€€€€~}}€~~€~~€~~~~~€~€€€~~€~~€~€~€€~~€‚~~~€}~€~€~€~}€~€€€~~~~€~€€€€~€~€~~~~€€€€~€~~€~~‚€~€~€}€~~€~€}€~€~~~}€‚~~€~~~~€~~€€€}~€€~€}~~~~€€€€~€}~~~€}~€}€}€~€~}~~€€€~€~€~€€~~~€~~~‚~€~~€~€~~€~€~€~~~~~~~~~~€~€~€€}€~€~€€€€~~~~€~€€€€~€~~~€~€€€~€~~~€~~€€€~€~~~€€€€~€~€~~€~€~~€~~€~€‚€~€€~~€~~~~~€~~~€~~}~}~~~~~~~€}€~~~~}€~€€~€~~‚~~~~€~~~€~€~~€~€€}€€~~€}~~€}~€€€~~~‚~}~~€~€~~€€€}€~~€~€~€€}€~~~~~~€~~€€~~~~~€~~€€~}€~~€~~€}~~~€~€~~~€~€~€~€€~€}€€€€~€~~~€~€~€€}€~€~~~€~€~€€~~~€~~€}€~€~~~€}€}€~~‚€}~€~€~~€}€~~€~€}€~€~~~€€~~€~€~}€‚~~€~€~~~}€~€~~€~~€}€~€~€~€€}€~~}€~€~~€~€~~€~~~~€€~~€~€~€€~‚€~~~€~~~}~~~€}€~~€~€}€}€~€€~‚€~~€~€€~€~~}}~€€~€~~~€~€€€~€}€}€€~€~~~€~€€€~€}~‚~€}~€€~€~~~}~€€~€~€~~€~~~€}~€€‚~~~€~€~}€~€~~€~€€~~€~€~}€~~€~€€€~€~~~€~~€~€~€~€~~~~€~€~€~}€~~}~~~€€~€~~€~€~€~€~€~~~~~€€€~~~€~~‚~~~~€€}~~€€}€~€~€€~€}~~~€~~~~€€~~€€~€~~€€€€~€~€€~~€~€~‚€€~~~~~€€~~~~~}~€€~~€~€~€€~}~€€~~€~~~~€~~~€‚~~€~~€~€~€€€€~~~€}€€€€~€€~‚€€~€~~~€~€~~€~€~€~~€€~~€~€€~€€}€~€~~~~€~~~€}~~€}€~€}€€€~€~€~€~}~€~€€~~~~~~‚€‚~~}~€€~€~€~~€€~€~€~€}€€~~€~~~~~€~~€€}€~€~€~~€~€€€~€€}€€~€~~~€€‚~€~€~~~€~~~~€€~€~~€}€€€~€~‚€~~‚€~~~~€€~}€~~€}€~€~€}€€~€~€}~€~€€€}€~€~~~~~€~€€~~€~~~€~€~€~€€}€€~~€~~€€€~€~~€~~~~€€~€~~~€}€~€€}€€}€~~~~~€}€€€~~€~~~}€~€€€~€}~€~€~€~€~€€}‚€~~~~€~€€€~€~~~~~€~€€~€}€~~~€}€€~~€}€~~~~€€€~~~~‚~€~€~‚€€€~€~€}~~~€~€~~€~€~~€~€~€€~~~~€}~€}€}~€}~~€~€€}€€}€~€~€‚~€~~€}~€€~~~‚~~€~€€~€€~€~~€~€}€}€~~€}€}~}€~€~~}~€~€~€€~€€€€~~€~~~~~~€~~}€~~~€}~€~~€~€~€~€~€€€~€}~~€~€~~‚~€~€~~€~€~€€}€€~€~€~€~~€€~~€~€~€~}€~~€~~~€~~~~€~€}~€}€~€€€~~}~~~€€~~~€~€€€}€~€‚}€€}€€~€~~€€€€~€~€€}€~~€‚~~€€~~~~€~€€}€~}€€~€~€~~€~€~€~~~~~~€}€~~€~€€€}€}~€€}€~€~~~€~€}€}€~~~~~€~~€~~~~~€€€~€~~€}€~~~€~€~~~~‚€}~~€‚}€~€~€~~~~~€€~€~€~€~€~€~~€~~€€~}€~~~~€~€~€~~~€}€~€~€€}€~~~~€~€~€}€~€~~€~€~€~€€~€~~~€~~‚~€}€€~€~~~~~€~€€~€}€€€~€~€~}}€~~~€~~€~€~~€~€~‚€€}€€~€~~~~~~€€~€~€~~~€~€~€~~€~€~~€€~~€~€~‚~~€~}€~€~€}€~€}€~~€~€€~~€~€~€}€~€~€~€~~€~€}}~~€~~€€}€~~~€~€€~~€€~€~€~€}~~}~~€}~€~€~~€~€~€€€~~€~€€}€€}€~~€~~}€~~€}€~~~€}€~€~~‚}~~€~~~}~€}€}~~€~~€~€~~€~€~~~~€~€~~€}‚~~€}€}~€€€~€~~}€~~~~€~~~~€~€€~€~~~~€€~€~~€€}€~}€~€€€€~€~~€~~~~~‚€‚~}~~€~€€~}}~€}€~€~€~€~€~~€~~€€‚}€}€~€}€~~~€~€€~}€}€~€€}€~€~€~€~~~€}€~€~€€€~~~~~€€€~€~~~}~€€~€~€€~€~€~~~€~€€}€~~€~~~~€~€€~€~€€}€~~€€}‚~€}€~~~€~€~‚~€~~~}~~~}€~€~€~~~~€~€~€}€~€~€}€~€~~€}~~€~€~€~~~‚€~~}~~€~€}€~~~€~€~€~€€~€€~€~~~~€}~~€~‚€~~}~€~~€~€€~€~€~}~~€~€€€}~€~€~~€~~~~€€‚~€~~~~€~~~~~€~~€~€€~€}~€~~€€}€~€}€~~~~~~~€~€~}€~€€~€~~~€~~€€~}€~~€~€€€~~~~~~‚€€~}€~~~€€€€}€~~~~€€~€~~€~€~‚~~‚~~€}€~€~~€€~~~~€~€€}€~~~~€~€~€~~€~~~~€~€}€~€}€~~~~~~~€€}€~~~€~€}€~€}€~~~€}€~€€~€~~€~~€€}€~~~~€~€~€~~€€€~~€~€~€€~~~€€€~€}~~}€~€~~~€}€~~€~~~€~€€€~€€~~€}~}€~€~€€~~€~€~€~€~}~~~€€~€}‚€~€~~€~~~€~€€~~€~~€}€~~€}€}~€~€~~~~‚€€~€~~~€~€~~€~~~€~€~~~€~€~€~~~~€€€~~~~€~€€~~~€}€€~~~~~~€~€~€~€}~~€~€€~€€}€~€}~~~}€~€€~€~~€€~€}~~~€~€~~~€€€~}~€~€€~€~~~€€€€~€~~€~€€~€~~~€€€~~~~€~~€}~~€~€~~~€~€~}~~€~€€€}€}€€~€~€~}€~€€€€~~€~~€~€€€~€}~€}~€€}€~€~€~‚~€~€~€~~€€}€~~€~€€~}~~~€~€€~€~€~~€~~€~€€~~€~~}€~€~€~~~~€€~€~~~€}~€€~~~~~~€~€€~€}€}~~~€€}€€~€~~~~~€~€~€€}€‚~€~~~~~€€}~€~~€~€~€~~€€€€€~€}}€€~€€€€}€~~~~€€}~~‚€~~€~~}€~~€€€€~~€€~€€~}€~}€~€~€~~~~€~~~~€~€~~~~~€~€~€~€~€}€€}€~~~‚€€€~~€~~}~~€~~~€~€€~~~~€}€~€}~€~~€€~~~~€~~€‚~€~€€~€~~€~~~€€€€~€~~€~€~€~~~€~€€€‚~€}~~~~€~€~€~~~€€‚€~~~~€}~~€~~€€~~€~€~€€~~~~€~~€}€~}€}~€‚~}~~€~€~~€~~€~~€~€~€~~€~‚€€~~~~}~€~~€~€€~€~~~}€~€€€€~~€~~€~‚~€~}€}€~€€~€€}€~€‚~~€~€~€€~€~~~€~€€‚~~~~‚~€~€€€~~~~€~€~€~~€~€€€~€~}€~‚€€}€~€~~‚~~€~€~€€€~~€~~€~~€€}€~~€~€€~~~~~€~€~~€~€‚}~~€~€~€~~~~~~}~€~€~€~~}€€~€~~~€}€€€€~}€~~€~€~€€~€~~~€~~~~€~€~€~~€~~€~€~€~~~~€~€~~€~~~‚€~€~~€~~~€~€~€~€€}€~~~€‚~€~€~€~}~€€€~€~€~~~~‚€‚~~€~€~€€~€~~~}~}€~€~€~~€€}}€~~€~~‚€~~~}~€~€~~€€~€~~€~€€~€}€~€~€~~€~~~~€~~€~€~€~~~€~€€}€~~~€‚}~€}~€~€~~~€~~€€~~~~€~~€~~~€€~€€~€}€}€~€€~€~~~€~€~€}€€}€~€}€€~~€}€~€~€€~€~€~~€€~€~~~€€~€}~~~}~~€~~~~~~€€€€~~€€~€~~‚~~€~€~€~~€€~~~~€~}~}~€~€€~€~~~€~~~~}~€~}€~€€~~~€€~€}€~}€~~€€~€€~~€~€~€€~~~~~}~~€€~€}€~€~€€€~~~€€}€~~€€~~~~~€}€~€~~~~~€~}~~€~€€~€~~~€~~€}~€}€~~€~€~~}~~~~€~~€}€~€~€~€~€~€~~‚€}€}€€~€~€€~€}~~€~€€~~~~€~€€€~}€~€~~€€~~~€~€€€~€}~~~‚~€~~~€~€~~~€‚~~€~€~€€~€€~€~~~€~€~~€~~€~€€~}€}€€}€~€}€~~~€‚~€~~€~}€€}~~€~€~€~~€€~€~~}€~~€€€}~~€~€~}}~€~€‚}€~€‚~€}€~€~~~€~€~}€~€~€~~€~~~~}~~€~~€~~~~€}€€~~~€}€}€~~~€}~€~~}€~~~€€~€~€~~~€€~~€~~~~~€‚~~~€~€~~}€€€€~~~~€~~~€€‚}~€~€€~€~€~‚~~~€‚~€€~}€~€~~€€~~€~~~€~€€€~€~€~€€€~~~€~~€€~€~~€€~€~~€}€~€~~€~€€~€~€~~€}€€€~~€~~€~€€~€~€~~€~~€~€~€€~~€~~€~€~€€}~€~~€‚~~€~€~€~~~€~€~€~€~€€}€}€~~~€~€~€~€~‚€~~~~€~~~~€~€€€€€~~€~€~~€~€~€~€~€~}‚}~€~}€~~~€~~€€~~€~€~€~€~~€}~~€€~€}‚‚}~~}€~€~€~~~€~€~€~~~€€~€~~~~~€~€~~~€~€€~~€~€~€~€€€~~~€~~€€}€~~€~€€~~€~€€€~€~~€~~€~~€~~€€}€~€~€~~~€~€~€~€~~~~€~€}€~€~~~€~~€~~€~€~~~~}€~€€~€}~€~€}€~~~~}~€‚~€}€~}€~~~€~€}€~~€€~~~~€~~€~~€~}€~~~€€~€}€~~~€~€€€~€~~~€}~€€~~€~‚~~~€~€~€~€€}€€~~~€~€}€~€~~~~€~€~€~}~€~~~~~€€~~~€€}€~€~€~€€~€~~€~€~~‚€~~~‚~€}€~~~€€€€~~€}€€}€€}€€~~€~€}~€~€~~}€}~€€‚}€}~€~€~~~}~€~‚~~~€~€}€~~€~€~€€~~~€€}~€~€~€}€~~~~€}€}~~~€~€€~€~€~€}€~~~€~€€}~~~~€~€}}~€}€~€~~€€€~€}~~~€€€€~€~~~€~~€}€~€~}€~~~€~€€}~€~~~€€~€~~~~~€~}~€€~€~~~€~€~€€~~~~}€€~~~€~€~€~€~}~€~€}€€~~€~€‚~€~~€~~€€‚~}€~€}~€€~~~~€~~~€~€€€~~€}~}€~€~€~€~€€}€~~~€‚}~€~}~€€~~€}~€~~€}~‚~~~€~~~€~€€€~€€~~~€}€€€~~€~€€€~}€€~€~~€~~€}€€~€~€~‚~~~€}€€~~~€~€€~~€~€~€~~~}€€~€~~~~€€~€€}}€~€~~~~~€~€€}€~~~~~€~~€~€€€~€}€~~€~€€€~~€~~~~€~~€~~€~‚€€~€~~€~€€~€}~~€~€€~~~€}€~€€~€}~~~€€~~€~~~€~~~€~€~€}€~~€}€~~~€~~€~~~€~~€€~€~€~€€~€€~€~€~€~€}~~€~€~~~~~€~€~€€~€~€€~€}€€€€€~~€~}€~€€€~€~~~€~€~~~~~€€~€€}€~€~€‚~~€}€~€~~~€~€~€~~€~€~~}~€€~~~~€~€€~€~}~€~€~~~€~€€~~€~€~€€€~€~€~€~}€}€~~~~€~€€}‚~‚€}€~€€~€~~~€~€~€}€~~~€}€~€€}€~}€€€~€~~~€~~~€~~~~€€}€~}~€~€}}€€~€~~~€~€€€~€~~~~~€€€~€}~~~~€~€~€~€€~~€~€~€~}€~~~~€~€}~~~€€€}€~€~€~€€€~€}~€~€~~~€~€€€}~€~€€€€~}€~}~€€~€~€~~€~~~~€€~€~~€}~~~€€~€€~€~~~€~~€€~€~~~€~~~€~€€~~~€~€€~~~~~~~}€€~~}€‚~~~€~€€~€~~~~~~€~€‚~€}€~~~€}€~€€~€€~~~~€~€€‚~€~~}~~€~€~~~~~€~~€‚~€~~€}~€~€~~}~€€~€~~~€~€€~~~~€~€~€~~€~€~€~~~~‚~}€~€~~}‚~~‚~€}~€~€~€€~€~~}€~‚€€~~~€~€€~~~~€~~€€~~~~€~~~~~€~€~€€~~~}€~€€~}€~€€€€~~€~~€~‚€~€}€~~}‚}~€~~~€€~‚€~~~~~€~€}~~~~€~€€}€~€~~~~€~€~€~€~~€~€~~~€~~€€€~€}~~~€~€}€~~€}€€~~€~~~~€‚~€~€€~€~€~~€~€€~€}~€€~€~~~€~~€~€€~€~€~~~~€~‚€€~€€~}~~€~€€€~€}~~€}€~€~€~}€~€~~~€~€~~~€~€€€€€~€~€€~€}~~~~€}€~€~~~€~€€~~‚~~~~€~€}€~~€}€~~~}€~€~€}€}~€~~~~~~€~~€}€€~€~~~~€~€~~€~~~~~€~~~€€€~€‚~~}€}€€€~€~~}€~€€~~~~~~€~€~€}€}€}€~~~€~€~€}€~€~€~~€~€}~~~~€~€~}€~€~€}}€~€€~€}€~~}}~€~€}€}€~€€~‚€~€~~€~€€€~€~}€~€‚~~€~~~~~€~€€€~€~~~€~€€~~€€}€€~€~€~‚~~€~€~€~~~~€~~€~~~~~€~€~€€~~€~€€~~€~~~~~~€~~€~€~€~}~~~~~€~~}€~€€~€~€}€~€~~~~€~~~€~€}€~€}€~~~~}€}€~~~€€~€~€€~€~€~€}€}€~~€€~€~~€}~€€€~~~~€€€~~~~‚~€}€€~~€€~€~~€~~€€€~€~€~~€€€€~~€~~€~€~€}~}~~€~€€~€~€~€~€~~€~€€~€€~€~~€~€~€~€~~€~€€€~~~~‚€€}~€~}€}€~€~€€‚€~€}~~~~€~€~~~€~€~~~~€~€€}€~~€€€~~~~€~€€}€€~€~€~€~~‚~~€}€~€~~~€}€€€~~€~~}€~€~~€~~‚€€~~‚}~€~€€}€€~~€~€~€}€~€€€€€}€~~~€€€~~~€€€€~~~~~~€€~€~~~~€~~~€~€~€€‚~~~€€€€~€~€}€€€~~~~€€~~~~‚€€€~€~~€€}€~~~~€~€}€~~€~~€€€~~~~€~€€€‚~~€~~€€~~~€~€€~€}€~€~€€€}€~~~€~€€‚~€~~€~€€~}€~€~€€€~€}~€~€€‚}€~~~~~‚~}€}€~€}€~~~€~~€~€~€~~}}€€~€~~€~€~€€}€}€~€~€~~~€~~~~~€€€~~~~€~~€€€~€~~€~€€‚~€~€€~€€€€~€~€€€~€~~€€~€~~~€~€€~€}€~€~}€~€~€~€~~€~€~€~€~€~~~~€}~~~€€~~}~€~€}~~~~€~~€~€€~€~~€~€€~~~~€~€€~€~~€}€€~}€~}€€€~~€~~€}€€~€~~€~~€~€~€}€~~€~€€~€~~€~€€~~~€~€~€~~~}€~}€}€~~€~~€~‚€€€€~€~~€~€€~~€~€€~€€~€€}~~~~~€~}€~~~€~€~€}€}€~~~~€~~€~~€~~€€~~€~~€~€€~€~~~€~€~€~~~}€~~€~~€€}€~~‚€~€€~€€~€~€~€€€€~~€~}€~€€~€~~~~~~}€}€€~€€}€~~€~‚€€~€~€~€~~€~~~€~~~~€}€~~€€~€~~~€~~~~~€~€~}€~€~~€€~~€€~€~}~~€~€~~€~~€€~€~~€~€€~€~~~€~‚€€€€~€~€~~€‚€~~~€€}€~}€~€~~€~€~€~~~}€~~€€€€~€~~~~€~€€~~~€~€~€€€~€~€~‚~€~€~€€~€~€}€~~~~~€~€~€}€}€~€}€~€}~~~€~€~€€~€}€}€~~~€€~€}€€€€€~€~€~~~€~~~‚~~€~€}~~€~€~€~€~€~~€}€~~€~€~~€~~~€~€~~€~€€€~~€~€€~~~~~~€~€~~€~€€}~}~€~€~~€}~€~}€~€}€~~€~€}€~€~~~~€~~€€~€}~€~~€~~~~~~~~€~~}~~€~€€~~~~}~€€~€~~€~€€€~}~€~€€~€~€}€~€~€}€~~~€~€€~~€€~€}€€~~~€~€~~~€~~~€‚~~€~€}€}€~€~€€€‚~€~~~}~€€€~€}~€~€€€~€~~€~~~~€~€€€€~~€~~€~€~~€~~€€~}€~€}€}€~€}~€~€~€~~~‚~~~€~€~€~€€~€~€€~€~€€€€~~~€~€€~€~€~~~~~€€~€~~€€}~€€~€~~€~~~€~€~€~~€~€~~€~€}€}€~€~€~~€}€~~€€~~~€~€}~€~~~€€~}~€~€€~~€~~}€~€€€~€~€~€€~€~‚€~~~~~~€‚}€}€~€~‚~~€€}€€~€~~€~~€~~€~~€~€€~€€~€~~€~~€~~€€€~€~€~~€~~~~€~€~€~~€~€€~~€~~€~€~~~~€}€€€‚~€~~€~€~~€~~~‚€€~€~~€~~€~€~}~€}€~€~~~~€~~€€~~€~€~€~‚€~~€~€~~~€~€~€€~€~€€€~~€~€~€~€}€~~‚~€~}~€~€}‚~~€~~~€€~~~~~~~€}€~€~~~€~~~€€~~€€~€€~€~€~€~€€}€€~}~~~~~€~€€~~~~€~€~€€~€~~€~€€~€~~~~€€~~~€}~€~‚€€}€~~~~€~~€€}€~€~€~€€~€~€~~€~~~€}€~~~€~€€~}~~€~€€€~€~€~€~€€~~€~~~€€~€~€~€}€}~€}€€€~€~~€~}~~~€‚~€~€€€~~~~€€€~€~~~€~€~€~~€}~~€~€~~€€€€~€~~€€€€}€}}€~€~€~~}€€~~€€~€€~€}€~~~€}€€€~€~~~€}€€‚~€€~~€€}€~~~€€~~€€~€~~}~~€}€€~€~~}€~€~€€€}€~~~€~€}~}~€~€~~€~€~‚~~~‚~}~€~€~€€~~€~€~€€}€€~}€~€~€~€~€}~~~~€€~€~€~€}}~~€~€~€~~€‚~}€~~€€~€}€~~€~€~€€~€}~~}~€~~~}€~€~€~€~€~~~~€~€€~~€~}~~~€~€~~€~~€€€~~€~~~€~€~~€~~~€~~€}€~~~€~€€}€~~}€~€~~€~€~€€~€~}€~~€~€€€~€}~~~€€~€€~€~€~€~~~~€}€~~~€~~€~~€}€~€}€~~€}€~€~~€~€~~~€~~€€~€€~€~€}€~€~€~~€~~~~~€~~€€~€~~‚€~€~€~€€~~€~€~€€~€~}€~€~€~€‚~}~~~€~€~€}~~~~~€‚€€€€~€~~€~~€~€~€}€~~€~~}€~€€‚~~~~~‚€}€~€~€€~~}€~}~~€~~~€~~~€~€~~€~~€€}€~~€~€€€~€~~~€€~€€~~€~~~€~~~~~€~€~~~€~~€~~€€~€~~~€~€€~€~~~~€~€~€}~}~~~€~€~€€~~~}~€~€€}€~~€}~~€~€~~€€~}€€€€~€}~~€~€€~~~~€}€€}~€€}€~~‚~€~€~€€~€~€~~€}€~€~~€‚~€~~~€€}€~€~~€~~~~~~€}€~€~~}€~€}~€€€€~€~}~~‚~~€‚~€~€~€~€~~~€~€€}~€~~€~€}~~€}€~~€~€~€€~~~€~€€~~~~€~€€~€}€~€}~€~€~~~~€~~€~€~€~€‚~}€~~€~€~€}~€~~€}€~~‚€~~~€‚~€~€€~€~€~€~‚€€€~~}€€€€}~€}€€}€~~}~~~}€~€~€~~~~€}€~~~~€~€}€~~~~€~€~~€~€~~~€~€~€€~€}€~~€}~€‚~€€}‚€~~~‚~~~~€€~~€~€~~€€~€~€~~~~€~€€~€€~€~}€~~~€}€~€€~€~€~€~€~€~~~~~~€€~€}~€~€€~€~}€}€~~~€‚~~~€}€}€}€~~~€~€}€~~€€€~€~~€~€€€~~€~~~€}€~~~~€~~€~€~~€~€~‚€€€€~~€~€~~~€€~‚~~€~€}€~€~~€~~€€~€~~~}€~€€€~€~~€~}€~~€}€~€~€~€~€}~€~~€€~€}~~€€€€~€~~~~~~€~~€~~€~€‚~~€‚~€€~€~€~~~~€~~€~€€~~€€€}€€~€~€~}€~~~€~€€~~~~€}€~€}€€~~€~~‚€~€~}€}~~€~€~€€~€~~€~~~~€~€€‚~€~~€~€~€~~~€~€~€~€~~~‚‚~€}€~€~€~€~~~€~€€€€~~~~€~€€~~~~~€€€~~€~€~€~€~}€~€~€}~~}€~~€€~~~~€~~€€~~€~~~~€€€~€~~€}~€~€~€~€~~~€€€}€~€~€~€~~€€~~€~~€€~~}€~~~~~€~€~~€€~‚€~}€~~€€€~~€~€}€~€€}€€~€~€~~~~€~~~~€~€€€}€€}€~€~€~~~€~€€~€~~€~€€~~€~~€~~€~€~~€~€~€~~~€€~~~‚~~€~€€~€€€~~€~~€~~€€~}€~~~€}€~€}€~€~~~€~€€€}€~‚€~~}~~~€}€~~€}‚€~‚~€~€~€~€~‚€~~€~€}‚€~€}~€}}€~€~~€~€€}€€€€~€€~~€~€}€}~~€}~€~€€}€€~€~}~€~€€}€}€~€~~~€~€~~~~‚~€}€~€~~€~€~€~~~~€~€~~}€~€~~€}~~‚~~~€~~~€~€~€€€~~€~~~€€~€~~€~€~€€~~~‚€~~~~‚~€~~€€}€€~~~~}~€~€~~~€~€~€~~~€~‚€€~€}~€~€~€€}€~€€~~~~€€~€~~€~~€€‚~~~~~€~~~~€~€€~}€~~~€~~€~~~€~~€~~‚€€~€}€~€}€~~‚€~~€}€€~€~€~€~€~€~€~~~€}€~€~~~~€~€~~~~€~€~€~€}~‚~}€~€€~€~€€~€}€~~€}~€€~~~€}~€~€€~€~~‚€~~~€€€~€~€~€€~€~~€}€~}~~€~€~€~€~‚~~}~~~€€~€~~~€}€€}€~~‚€€~€~€~~~€~‚€€~~€~~~€~€€~€}~€~~€~~~~€~~€~}€~~€~~€~€~~€~€€}€€~‚~€~€~~}‚~~~€~€€~~€~~~~~€~~€€€~€}~€~€~€~~€~€€~€}~€~€€€~~~~~}~~€~€}€~€~~~~~}€~€€}~€}€~€€~€~€~€~‚~€~€~€€~€€~~~‚~€€}}€~€€€€~€~~€€~€~€~~~€}€€~€}€€~~€€}€}€€~~~~~€~€€~~~€~}~€~€€~€}€~~€~€~€€}€€~€~~~~€~€€}€~~~€~€}~~}€~€€~€~~~~~~~€~€~}~€~€~~~€}}€~~}~~~€‚}}~€~~€~€€~~€~~~}€~€€€~~~€~€~}~~‚~~€}€~~~~‚€~€}~€~‚~€~~~€~~€€~€~~~€~}€~~~€€~~~~~€~€~~~€~‚€~€~~€~€}€~€~~€~}€~~€~€}€~~~€}€~~~~~€~€‚€~€~~~€~~€~}€~€~€~~~€~~€~~€~~~€€~€~~~~€€‚~€}€€€€~}€~~~~}}€~€~‚€~~~}~€~€~€~€€~~€~€~€€~~~€~€~~~€~‚€}~€€€~€~~~~€~~€€~~}~~€~~€~€~~€~}€}€~€€~~€€}€~~€~€~€€€~~~~~~~€~€~€}€€~€~~~}~€~€€€~~€~~~€€€~€~}~€~}€~}€~€~~}€~€~€~€~€}~~€~€€€~~€~~~€~€‚}€€|€~€~~~~‚~~€€}~~~€}€}€}~‚€~€~~~€~€~€€~€~~€€~€€~€}€}€~€~€~€~~~€~~€~€~€€~€~€~€~‚€~~~€~€~~~€~€€€~€~€~~~}~~~€~~€~€}€~~~€~}~}€~~€~€‚}€~€}€~‚€~~~€}€~€~€}€~~~€~€€}~~~~~€€~€€~€~~~‚€€~€~€}~~€~‚€€}€~~~~€~~~€~€~€€~~€~~€~€€~}~~€}€~€€€~€~~€~€€€~€~~€~~€}}€~€€~~~~€~€€~€~€~€~~~€~~€€~€~€€~€~~~~}€~€~}€}~€~€€~€~~~}~€€€~~~~€~~€~€€}~}~~~~€~€}€€€~~~~~~€~€~~€~~€}€~~€~€~~~€~€~€~~~€~~~~€~€~€~~‚~~~~€~€~€~~~~€~€~€€~~~‚~€}~~€~€}€~~~€€~€~€~~~€}~€~€~€}€~€€~€~~~~‚~€~€~}~~~€~€~€~~}~€€~}€~€~€~€~~€~€~~~€~€~€~~~~€~€€~€~~~~~}}€~€€~~€~~~€~€~€~~€~~~€~€~~~€~€~€€~}€}~€~~€€~€~€}~€}~~}€~€€~}}€~~‚€€~~~€}€~€€€~~~~~€}}€}€~€~€‚~€~€€}€~€~~~€}€}€~€~~€~€}€~~€~€€~~€~~}~€€~€~~~€€‚}€}~€~€€~~€~€€€€€}~~€~~}~€~€}€~~~~€~~}~€€}‚~}€~€€~~€~~~€~~€€}€~~~~€~~€€€~€~~~€~~€~}€€~€~€~‚~~€~€~~€~~~~€~€€‚~€~€~~~~~€~€~€~€~~~~~€}~€~€~~€}€€}€~~‚~}~}€}~€~~~~€~~~~~~€~€}}~€~~€~€~€~~}€€€~€~~€~‚€€€~~~€‚€€}€~€}€€~€~€}~€~€~€~~~~~~€~€~~€~~€€~€~~~€~€~~~~~€~~}~~~€~€}}€}€~€~~€~€€~€~~~}~€€~€~~€~€~~€~~~~€€~€~~‚~€~€~€€~€€}€€~~~‚€€~€}~~~~€~€~€€~€~~€~~~€~~€€}~€~€~~€~~€€~~~~€~~~}‚~~€~€}~}€~€~~~€~~~€~~~€~€€}€~~€~€€}€}~~€~€€‚~€}~€~€€€~~~€~€€€~~~€~‚€~~€}€~€~€~€~€~€€~~€~~~~~}~€~€~~€~}~€~~~€~~~~~€€}}€€€€~€~~~€}€~}~~}~€~€~~~€~~€~~€€}~~~}€~€~€~€~€~€€}€}}~~€}€~€€~€~€~~~€€~€~~~€}€~€~€€}€~€~‚~~~€~€~€~€~€€~~€}~}~€‚~€}~~}~~€~~€€€~€~~}~€~€~~‚~~€€~~€~~€~~~~}€€~€}~~~~€~~~€~€~~~€~~€~~}‚~€€~€~€€~€~‚~€}€‚~€}€~~~€~€~€}€€}€€~~~~~€~€~€€€~~~~~€€}€€~~~€~~€~~~~~€}€~€~~~€€~~}€€€~€~€~€€€~€~~~€€~€€~€€~~€~~~}€~~€~€~~€~~€~€~€~€~€~€~~€~€~€}~~‚~~€~}€~€}€~~‚€€‚}€~€}}€~~~€~€~€~€}‚~~€~€~€~€~}~€€}€~€~€~~€~~€~~~~~€€}€€~€~~‚~~€€‚~€~€}}€~€€€~~€~€~‚€‚~€~€~€~€}€€~€}‚}€~~€€~€€~€€~}~}€~€€‚~€€~€~€€}€~~~€~€€~€~~~€}€‚~€~€~€~€~€~€}~€~~~€}~€~~~~€~€~~€€~€~~}€~€€€~€}€~~€}€€~€€~€}~}€€}}~~}~~€€€~~€~€‚}}}€}€~~€~€~~€€€~~€~~€}~€€~}€~€~€€}€~~~€~~~~€~€~€~~~€~€~€~€~~}~~€€~€~~€}~€~}€€€}~~~€~€~~~~~€€}~~€€€~€~~~~€€~€~€~€‚€~~~‚~~€}€€~€€~~~€~~€€~~}€~€€€€~€}~€€~€~~€~€~~€}€}€€€~€}€~~~€~€€€~€}~~}€~€~~€~~~€€€~€~~€~~€~}€}€€~~~~€~€~~~~~€€~€~€~€}€~€}€~‚~~~€‚}€~€~€~€~~€}€€~~€~€~~€~~€~~~~~€~~~€~€€~~€}€~€~€€~~~~~~~€~€~€}€~€~~~~€~}€}€~~€~€~€~~€}€~€€~€~~~~~€~~~~€~€~€~}€€‚~~€~~€€}€~€~~~€~~}€~€‚~€~€~€~€~€~€~~‚€~~~€€~€}€€~~€}~€~€~€~~~~€€€‚}€~~~€~€~~€€}~~€~~€~~~€~~€~€€€~~}~~€~€€~~€~~~€~€€~~~€~}€~€~€}~€~~~€~‚€€~~€~€~€}€}€€~~‚~~~‚~~€}‚~~€~€~€~€~~€~}€~~~€~‚€~€~€~€€~€~}€}~€€~~~~~€~~€~~~€€€}€~~€‚~€~€~€}~€€~€~~~~}~€~€€€€}€€}€€}‚€~€}~~€~€‚~€~~~€~€€€~€~}€~€~€~}~€~~~€€~€}~~€~~€€€~~~~€~€€~€~}€~€}€~~€~€~~~~}~}€}€~~‚~~}~€~€€~€~~€}€~€€~€~~~}€~€€€~}}€~€€~€~}€~‚€~~€}€~€€~€~€~}€~~~€~€~€~€~~~}€~€€€€€~~€~~}€€~€~~€}~€€~€~~€~€~~~~~€~€~~€~~€~€~€€}€}€}€€}€~€~~‚}~~€}€€~€~~~~€~€€€~€}~~~€~€€€€~~€€~€~}€~€~~€~~~~€~€€~€~‚~~€~€}~€~€~~€~€~~~€€}€€~€~€€~€€~€}€~€€€€}~~€~~~~~€~€}€}~~€~‚~€~~~~€~€}€}€€~€~€}€}~~€~€~~‚~~~€‚~€~€}€~€~~~€€~€~€~~~~€~~€~~€€~€~€~}€~~€}€~€~~~‚~~€~~~€~~€€~€~€~€~~€~€~€€}€~~€}~~~€‚€~€}~~€€~€€~€~}~~€€~}~~~€~‚€€€~€~~€~€~€}}€~€~€~~~€~~‚~€~~€~€~€~€~€~€€~~€~€~€~€€~~€~~€€~~€}€€~~~~~~€€~€}€~€}‚€€~~€~€€€~€~€~~~~€~}~€~~€€~€~€~~€€~~€~~€~€~€~€}€~€€~€}~~€}€~~€~~~€~€€~~€~€~€~€~~€~~€~~€~€}}€€€€~€~~€~€€~€~€~~~~~~€~€}~€~€~€€~€~~~€€€}€~€~~€€€~€~~€~€‚~€~‚~€~€~}~€~€~€}~~}€€€€~€~€~€€~~~€€~€~~~~€~€~~~€€}€}~€~~~~~€}~€~€~€€~€~}€}€~€~~~€~€~€€}~~~€~€€~~~€~~~~€€€~€~€~~~€€‚~~~~€~~~~€~€€~~€~~€~~€~€~€}~~€~€€€~~€€~€~~‚}~€€~€~~€€}€}€~€€}€~~€‚~€~€~}~~~‚}~~‚}€~€~~~~€~€~~~~€~€€~~€~€~~~~€}€€~€€~~€~~€~~€~~~€}€‚~€~~€~~€~}~~€~€€}€~}€~~~~~€~€~€€~€~~€}€~~€}~~~€€~~~~~€~~€~~~€~€~€€~}€~~€~~€€€~~~~€~€~~~€~€€~€~~€~€~€~~€~€~€~}~€€~€€~€~€}€€‚}~~€~€~€€~~~}‚~~€~€~€~~~~~€~~€€~~€€~‚‚~€~~€~~€€€€~~~~~€}€~~€€}~€~~~~€~€€€~€~~€~€€}€}~€~€~€~~~€€~~€~€~€~€}~€€~~~~}€}€€~~‚~~~}€~€~€€~€~~~€~€~€~~€~~€~€~~~€~~~€€€€~€}~~~€~€€~~~~€€€~€~€}€€~~~€‚~}~€~€~‚}~€~€~€~€~€~€~~~~€~€~€~~~~€~~€€~~~€}€€€}€~~€~€~€€}~~~~€€~€~€~~~€~~€~€~€}~€~~~€~~€~€~~~€€€‚~€}€~€}~~~€€~€~~€~€€€~}~€~€~€~€~}~€~~~€~€€~€~~€€}~}€€~€€€~~€~~€~}€~€~}€‚~~€~€~~€}€~€€‚~€~~€~~~~~~~~€~~€~€~~€~~~~€}€}€}€~€€~€~~~}€€~€€}~~~€~€~€€~€~€~~~€€€~€~~€~€~€~€~€}~€~~€~€}€~€}€€~€~€€~€}~~€~€~€~€}€€€€~~~~~~~€€}€~~}~~€~€~€~€~€€~~~€€~€~€}€~~~€~€~€~€~~‚~€~€~€~~~~€~~€~€~~€‚~~~~€‚~€~€~~€~€~€~€€}€€€}€~~~~€~€~~€~~~€€€~€}€~€}€~~~~€€~€~~~~~€~€}€~~€~}‚}~€~€€€~~€~€~~~~€}€€€~~€€~€~€~~€~~€‚~~~~€~‚~€€‚~~~€~€€~~~~‚~~~€€€~~~€~€~€~~€~€~€€~~~€~€~€~€€€~€~€~€€~€~~€€~€~~€}€~€€€}~~€€~~~~€~‚€~~~€~~€€€~€~€~€~€€~~€~~~€€~~€}~~€€~€~~€~~€€~~~€~~€~~€~€€~~~~€~€~~~~~€}~€~~€~~~~€€‚~}€~€~‚€}€~€~€~€~€~€}€~€€}€}~€~€€€~€}~€}€€~€}€€}€~~~€~~~€~~€~€~€~€~~€~~€~€~€€~€~€~€~€~~€}€~€€~€~~~€€~€~€~€~~€~~}~~€~}€€~€~€}~~€~~€€~€~~~~€~€~~€~€€}€~€~€~~~~‚}~€~€}€€}€~€~}~~€~€}€~‚~~€~€€€~€~€~~~}~€~€}~€~€~}~~}€~€~€~€}~~€€€€€}€~~~}€~€~€€~‚€€€~~~€~~€~~~€~}€€€€~€~€~€~~€}€}‚€€~~~~€~€€~~~~€~€~€}€~€}€~€€~~~€~€~~€~~€~~~~€~€}€€~€}€}€‚~~~€~€€~€}~~~‚€€€~€€}€€~~€~~}~€~€~~~~~€~€~€}€~~~~€}€~~~~~~~€€~€~~~€€~€}~~€~€€€~€~~€~~€~€~}~~~€~€€~€~}€~€€€~€~~€~€~€~~€~€~€~~€}~€~€~€}€~~€€~€~€~}€~~€}€~‚€~~€~}€~€€€}€}}€~€~€~‚€€~€}~€~€~€~€~~}€€~€€~€~~~~~€€}€~€~€~~€~~€~€~€€~~~€~€~€€€~~€~~}~€€€~€~~€}€~~€€~€~€~~~~~€}~€}€~~~€~€€€€}€}€~~~~~€~€~€€~€~€~~‚€~~€}€~~~~€€~€~€€}~~}~€~€€}€}~}€}€€~€}~~~€€€€~€~~€~€~€~€~~€~€~~€€~~~€~~€€~~€~~€€~€~€~€~~€‚~€~~€~€~~€~€€}€€~€~~€}€~€~~~~~€~€€~~~~€€~~~‚€€~~}~~~~~€€€~~~~€~~€€~€~~~€}€€€~~~~€~€~€~€~~~}~€€€~}€~~~€~~€~€€}€~~~~€~€~‚~~~€~€€~€~~}~~€}€}€~~~€~€}€€~€~~€~€€~€~~€~~€~~€~€}€~~€€~€~€~}~€€}€~}€~€€~~~€~€€~€~~€~€€€€}€}~€~€~~€€}€~€~}€}€~‚€€€‚~€}~€~€€~€~~~~~€~~~€~€€~€~~€~€~}€€~€€~~~€}€‚€€‚~~~~€~€‚€}€~€~€~€€~~€}~~~€~~~~~€~€~~€}‚€€~~~~€~~€~€~€~€~€€~~}€~~‚~~~€~€~€~€€~€€~}€€~€~€~€~€~€~~~}€~€€‚~~€~€€€}~~~€€€}€}€~€€~€~~~€~€€€}€}€~~~~}~€€~~~~}€~€€€~€~~~}€~€‚~€~~~€}€€€€~€~€€~~‚~~~€€~€~€~€~~~€}€~~~~€~‚€~€€}~€~~€‚~€~~}€~€~€~~~€€~~~€~~€~~€€€~€~~~€}€€~}~~~€~€~~~€~~€€~€}~~€}€€€€~~~€~~€~~€~€€}‚€~€}~~~}€~€~~€~€~€~€~~‚}~~€€}~€~~€~~€}€}‚€~~~~‚~€~€~€~€~~~~€‚~€€}~~~€~€~€~~€€}€~~€~€‚~~~€~€~€~€~~€~~~~€~~‚€€~~€~€€~~€€€~€}€~€~€€}€~~~€~€€€~€~~~€€~€~~~€~€€}€~€€~€~€~~€~€€~€}~~~€‚~~€~€~€€~€~~€}}€}€€€€~€~€~~~~€~~~€~~€~€~}€~€}€~~‚~~€~€€~~~~€~~€€~€~~~€€€~€}~~€~~~~~€~€~~€~‚€~€~~€}~~€~€€~€~€}~~}€~€€€~€~~~€€‚~€}~~€€€~~~€}€~€}€~~~€~€~€~~€~‚€~€~€}€~~~~}~€€~~~€~~€€~€}€}€~~~€€~€~~~€~~~€~~€~€~~~€€€‚~€~}€~€€~~€~€~€~€~€~€~‚~~}€}€~~~€~€€€‚~~€~~~€~€€}€~~~€~€~€~€€~€€}~~€~€€~~~€~€€}~~}~€€€}~‚~€}€}€~€~€~€}€€~€}}~€€~€€€~~€~€~€~~~~~~€}€€}€~~~€~€}€€~}€~€~€€€~~€~~€~~~~€~€~‚€€~€~}€~~€~~~~~€~~~~€~€~€~~€~~€€~~€~}~~€~€~€€~€~~~€€€}€}€€~~~€€~€~€~~~~~€€€~~€~~€€€€€~~~€~~€~€~€~€~€~€€€~~~€~€~€~~€~€~€€}€~€€~€€€}~~€~~€€€~€~€~~~~~€~€€~€~€~€‚~~€}~€€‚~~~€~€€~€~€~~~}~~€€~€~~~~€€€~~€~€€€~~~€~€~€~~€~€}~~€~€}€~€€‚~}~~~€~€}€~€~~~€~~€~€~‚€€~€}~~€~€€€~}~€~~€€~€~~€~€€€~€~€~€~€€~€~~€~€€}~~€~~€€€~€~~€~~€~~€}€~~€}‚€}~€€~€~€~€~€€~~~€~~€€}€~~€~~€~€~€~€~~€~€~€~€~€~€€~}~€~~~~€~€€~€~~€~€€~~~~€~~€€}€~€~€€~€€~€~€~~‚~~€~€~}€~€€€~€~€~~~€€~€}~~}€}~€}€€~€~€~~~€€€€€‚~~‚~€~~€~~€‚~€~€}€~~~€‚~€}€~€~~~~}€~€€~€~~€~€€~€}~€~‚€€€€~~~~~~~~€€~€~€~~~€~€~€€}€€€~~}€€€€}€~~€~€€~~€€~€~€~~~~€~€€~~€~~~€€}€~€~€~~€~€€~€€~€~~€€€€~€€€~€}~€~~~‚~€~€€~€~€~€~~€€~€~€€€€€~€~~~€~€€€‚~€~~€~~€~€}~€~~~€~~~€~€€~~~€~€~€~€~}€~~€~€€~~€~~~€~€~€~~~~~}~€~~~~€~~€~‚€‚~~~~}~€€~~€~~€~€~€~€}€~€~€~~~}€~€€}€~€€~~€~€~€~~~€€~€~~~~€~€€~€~€}€~~€~~€~€€€~~~€~~~€€~~~€~~~~€~€~€€€€~~€~€€~~~~€€~€€~€€~€}€~~~€}€~€€~€~~~€~€}€~€~€€~~€~~~~€~€~~€~€~€€€€~~~~~€€€~€~€~€~€€~€~~€~€~€~}€€~€~~~~€~€€~€~}€~€€}€€}€}~€}~€~~~€~€€~~€~~€€~€~€€~~~€~~€€~€~~€~~~~~~€€€~~~~~€~€~€~€~€~€~~€}€~€}€~~€~€~~€~~~€€€€~€~~~~~€}€~€~€€~€~~~€~€~€~€}~~€~€~~~~€~€€~€€}€~}~~€}€€~€~€~~€€€~€~~€~€~€~€~€€€€~€~~~~€}€~€€~€~€~~€~€~}€€}€~~~€€‚~€€~€~~~‚~~€}€~~~€~€~€~~€€~}€~€~~‚~~€~€~~€~~~~€}€~~}}€~~~€~~€€€~~€}€~€€€~€~~~€~€~€~~€€~€~€€}~~~€€~~~~~€~€~~€~~€€€~~€~~€~~€~~~€€}€~€}€€~€€}~~€}~€~~€~€~~€~€}€~€~~~€~~~€~€~~€~€~€€}~~~~€€~€€}€~€~~€~~€€~€}~€~~€€~}€~~~€~€€~€‚~~~€~‚~€~€~~‚}~€€}€~€~~~~€~€~€~~~€‚}€~€}€€}€~€~€~€~€~~~~~~~~€€€~~~€~€~~€~~€€€~€}€~€~€€~~~~~€€}€}~~€~€~€~~€~€~€}~€}€€~€€}€~€€~~~}€~€~€~~€€~~€€}€}~~}€~€~}~€~€~€€‚}€}€}€€}€~€}~€~~€~€~~€~€~~~€~‚€~€~~}€€~€~~~~€€~~~‚~~~€~~€~€~€~}€~€~‚~€}€‚~~€~€€~€~~€€€€~~~€~~}~~~€~€~}€~~~€~€~€~}‚}€~€~~€~}~~€~€~~~~~€~€€~€€~€~€~}~€~€€~€€~~€€~~€~‚€€~€~€}€~€~€~~€~€~~}~€~~~~€~€~€~€€~~€}€~~€~€~€}~€€~~€~€~€€}€~~€~€€€~€~~~€~~€~€€~€~€~}€€~~~~~€~€~€~€~€€~€~~~€€~~€~€~~~}€€~€€~€~€~€~€~~~€~~~~~€~€~€~€~€€~~€~}~~~€~€€~€~€€~€~~€~~€~€€€~€~}€}~€€€~~€~~€~€~€~€€}~~‚~~€~€€}€~}~~€~€}€~~‚~~~€}~‚€}€~~€}‚~}€~€}€~~~€~€~€€~€}€~~€~€€~€}~~€}~€~€€~€~€~€€~€~~~~€~€€}~€~~€~~~€€~‚€~~~€€}€~€~~‚~~~€~€~~~€€~€}~~}€~‚~€~€€~€€~€}}€~~~~€}€~€~~~~€~€~~€~~}}~€~€€€}€~~€~€‚~~~€}€€€~~~~€€}€~~}€~€~€€}€~~~€~€€€~€~€~}}~~~}~€~€~~~€~€€‚~~}€}~€~€~€~~~€€~~€~~€~~€€}€~~€~~~~~€~€€€€}~~€~€~‚~€~~€€~€~~~€€€~€~€~€~~~€~€€~€}~€~€~€~~~~~€~‚€€~}€~~€~~€€€}€}€~€~~~€€€~}~€~€€€~€~~~€~~€€~~€~~~€€€}€~€}€€~€}€}€~~€~€~€}~€~~€~~~€~~€€~€}~€€~~€€€€~€}~~€~~€€€~€}€€~€€~~~~~‚€€}~~~~~~~~~}~€€~€€}€~~~‚‚~~€€}€€~€~~~€~€~~€~~‚€€€€~‚~€}~~~€~€~€}~}~~}€~~~€€~€€~€}€~~~}€}‚€~~~~~€~~€~€~~~€~~~~~€}€€~~€~€€}~~~‚€~€~‚€€~~}€~~~€~€€€~€}~€~~~€~€~€}€~~~€€~€~}€€~€}}€~~€~~~€€€}€~€~€~€}~}~€€~€~€~}~~~€~€€€~€~~~~~€}€€~€~€}€~~€}~~}€~€~€~~~~€~€~}€~€~€€€~€~~~€~~€~}€~€~}€~€€~€~€~~}~~~~}~€€~€~€~~~~€~€~€€~€~~€~~€~€~~€~€€~~~€}€€~€~€~€‚€~€~~~~~€~€€€~€~~€~‚~€~~€~€~€~~~~~€€~~~€~‚€€~~€~€€}€€~€~~€~~~~~€~€~~€~~€€‚~€~€}~€~~€}€~~€~€~~€~€}€€~€~€~~€~€€€~€~~~€‚~€~€‚}€}€~~€~~~€~€€~€~€~~€}~€~€}€~€€~~~€}~~~€~€€~~~€~~€€~}€~~€~€€€}€€}~€}€~€}€~€€€~€~}€}€€~€~~~€~€}€~€~~~€~€~~€€€~€~~€~€€~€~€~€~€~~~€€~~€~~€}€~€‚~€~€€}€}€~€€~€€~€~~~~~€€~~€~~~€}~}~€~€~~€~~~~€~~€~€}~~€~€}€~~~~~~€}€~~~€€‚~€~~~€~~~€}~~~€~~€~~€~}€~~~~€~€~€~€}~~~€~~}‚~~€~€~€}~€~~€~€~~€~‚€~~€~€}€}€~‚~~€~€€~~~~€~€€}~€~€~~~€~€~€~€~€€€€~€}~€~~€~~€~~€~~€~€€~~~‚~~~€‚~€€}€~€~~€~~~€~~}€~~€}€~~€~€~€~€~€~~€}€~~~~€~€~~€~€~€~‚~~~~~~€€~~€~€~~€}€~‚€€€~€~~€~€~~~~€~€~~~~~€€€~€~~€~€~€~€~€~€~€~~~~€~€~~~~~€~€~~€~~€€~~~~~~€~€~€~€~€~€€~€~€}~~~€~€€~€~~€~~€~€~€}€~~€~}€€€€€€}~~~~€€~~~~€}~€€~€~~~€}~~~}€~€~€~~€~€}}€~}~~€~~~€~€€~€~€~€€~~~~~€~~~€€€~~€}~~€~€€€~~€€~~€€€~€~~€~~€~€~~}€~€~€€~€~€~~~€~‚€€‚~€~€~~~~~~€}€~~€}~€~~~~~€€€~}~}~€€€€~}€~~€~€€~~€~}€~€}€}‚€~~~~~€~€€}€~~€€~~}~~~€€€~~€~€€~€}€~~~€~€~~‚€€~}€~~~~€€~€~~€~‚€€~~€~€€€€~€}~~~~~€‚}€~€}€~~~~€€}€€~€~}€~}~€~}€~€~~~~€~€€€€~€~}€~~€}~€~‚€€~~~~€~€~€~~€‚~€~~€}‚€€~~€~~~~€€~€€~~€~~€~~€~€€~~€~~~~~‚}~€}€}€€~€€~~~~~€€€€€~€~~~~€€€€~€~}‚~~‚~}~€~~~~~€~€~€~~€~‚€~~‚~€‚~€}€~~€}~€~€~€~~~~~€}€~€~€}€~~~‚~€}€~€}~€}€~~€}€~~~€~€‚}€}~€}€€€}~~~€~€~€~~€~€~~~€~}~~~€~€}€€~€}€}~~€€~€~~~~€~~~~€~€~~€~€~€~~~~€€~€~~~€~€~~~€~€~€~~€€}€~~~~€~€~€~~~€~~~€~€~~~~~€~€~~€~€~~€~€~€€~}€‚~€~~€}€~~~~€~€~€~~€€€~~}~}~~€~~€~€€}€~~‚‚~~€€~€~€~~~€€€~€~~~~€~€~€}€~~€~€~€~~~~~‚~~~€€}~€~€}‚~~€}€}€~€~€~€€~€~€~~€~~€~}€~~~}~€}€~€~€}€}€~€~€€}€~€~~}€}€}€}€}€~~~€~~€€~~‚€€~~~€~€~€€€~€~~€~€~~}€‚~}}~~~~‚€€€~€~~~€~€~€}~~€€}}€€€~€~€~~}~~~€€~~€~~€~€~€~€}€€~~€~€€~~~~€}€~‚€€€~€~~~€~€~~€~~~€~€~~~~€~€~~~~~~€€€~~~~€€~€~€€}€~€~€~‚~€}€~€~~€~€~~€~€€~€}~€~€~~€}€~€€~~~€€~}~€}€~~}~€~~~~~€~€}€}€€~€~€~€~€‚~~€}€€}€~~~~€}€~€~€~~€~€~€€}€~~~€~€€~~~‚~€}€~€‚}€€~~€~~€~€€€€~€~€€~‚€~~€€~~~€~€~€}€~}~€}€~~€~~€~~€~€~€}€}€€€~~~~€~€}€€~€~~€~~€}€€€~€~~€}€~€~€~~~~€}€}~€~~€}€€~€~~‚}~€~€~€€~€}€~}€‚}~€~~}€~€~~€€~}€}~~~€€€€}€~}€€€~€~€}€€€~€~~~€~€}€~~~€~€€€~€~~~‚}€~€€€~€~}~€~€~€~€‚~€~~€~€€€~€~~~~~€}~~€€‚~€}€~~~€~€€~~~€~~}~€}€~€}€€}€~‚~€~€€~~€~~€~~€~€~~~~€~~}€~€€~€}~~€~~€~€~~~~~~€‚}~€}€}€~~€‚~€~}€~€~~~€}€~€~~~~}€~~€€€~€~}€~€€~€}~€~€~‚~~€~€}€~€~€~€€€€~€}~~€~€~€~€~~}€~€~€~€~€~~~‚~~~~~€~€€€€~~~~€~€~€~~€~€€€~€}~~€~€€€~€}€~}€~€}€~~~€~~~€‚~€~~€~€€~~€~~~}€~~~~€~~€~€}€~}€~€~~€~€€€~~~~~€€€~€€~€~~}~~}€~€€€~~~}€~}€€€~€~}€~~€€~€€~~€~~~~~€~€~€~€€~€~~~€}€€€~€~€€~€}~€€~€~~€~~€€~}€~€}€€~€~€}€~~~€~€€€~€~~~€~~€€~}~€~€~€~€~~~~€~€~~~€~€€€~~~€€€~€~€}€~~€~~~€~€~~€}€~€€€€~€}~~€~€€€~€~}~~~~~~€~€}€}~€}€~~€~~€€~~~~~€€~€~~~~€€~~~}€€~€€}~€€~€~~~}€€€~~~~}~€€~€}€~~‚}€~€~€€~€~~€~€~€~€~~~€~€€~€~}€~~€~€~€~~~~€~€~€€€~€~~~€~€€~€~€~~€€€}€~}€~€~€~~~€€~€~~~}€‚€~~€~~€€~~~~€~€€€~~~€~€€~€~~€~~€€~€~~}}€~‚€~~‚€€~€~~~€~~~~~€~}€}€}€~~~€~€~~€~~€€}~‚€~€}€€}~€~€€€€€~~€~~~~€‚~€~~€€}€~~~~~€~€}€}€~~~‚~€}€~€€~~€~€~~~€~€~~~€}€~€€€~€~~~~~~€~€}€}€~}€}~~~~€€~€~€~€~€~€~~€~~€~~€~~~€~}~~€~€~€~€~€}€€~€~~~€~€€€€~€~~€~€€~~~}€~€~~~}€~~~€~€~€~}~‚€~~~}€~€€~€}‚€~~‚€‚~~~~€~€€~€~~€~€€}~~€€€‚~€~€~~~}€~€€~€~~€~}~~€€~~~~~€~~€€~€~}€~~~~~€~€€~~€~€}€~€~€~€~€~~~~€}~~€~€~€~~~~€~€~€~~~~€€}€~~€~~‚}~~€€~€~~~€~€~€~~~€€~€}~~€~€€~€~~~€~‚~~€~~~€}€~~~~~€~€€~€~~~€~€~€~~~€~‚€€€~€~~€}~~€€~~~€‚~~€€€~€}~€~€~€~€~€€~€~€~~€~€~~‚€~€~}~~€~€~€~~~~€}~€}€~€~€~€€~€~}‚‚~}€€~€}~~~‚‚~€}€}€~‚€~€}~€~€~~~€~€~~~~~~~€~~€€}€~~€€€~~~~€}~€€~€~€~€~€}€~~€~~~€€~~~‚~~~‚~~€}€€}€~~€‚~~€~~€~€€€~~€~€€}€}‚€~€~~~~€~€€€~~~€~~€€~€~~~€€€~€~€~€€}€~€~€~€€€€~€~€~‚~~~€~€~~€~~~~‚€~€€~€~€}€~~~€~€~€€~€}~~~€€~~€~€~~~€~€€~€~~€~€~~€~€~€€~€€~€}~~€}~€€€~~~€~€~€~€€~€~~~€~€~€€‚€~~~~€~~~€~€€~€~~~}~€~€~€~}~~€}€~€}€~€~~}€~€~€~€€€~€~~~}€~€€~€~~}€~~~~€€~~~~€~~€€}€~~€}~€€€~~~}€~€€€~€}~~€€~€~€~€~€€~€~~~~€€~€~~~€€~€~~€~€~€~~~€~€}€~€~€~~}~€€~€~~€~~€€}}€~~~‚€~€~~€‚~}€€~€~~~~}~~€}~€~~€~€~€€~~€~~~~€}~€€~€~~~~€~€€~~€}€~~€~€€€~~~~€~€~‚€~€~~€~€~€}€€}€€}}€~€~€€~~~~~€€~~€~~~€~~€€}‚€~€}~~€~~€~€~€~~€~€€~€~~€€€~~~~€~€~€~}€~€~}€€~€€~~€€€~~~€~€€€~€~~€~€~€~~‚~~~}€~}}~€~€~€~~~€~€~€~}€}€}}€~~~~€~€€~€~€€~‚~~}€}~€}}~‚~€}€~~€~€~€}~~~€~~€€€~€~~€~€€€~‚~~~~€}€}€€~€}‚€€~~~€}~~}€~~€€~€~~~~~€~~}€~€€~€~€~~~~~€€€~€}~~}€}€}€}€~~~}€~€~€~€~~~~~~‚~€~~~€€~€~€~€~€~~~~€€€~~~~~€€~€~~~€~~€€~€~€€~€~€~€~€‚~~€}€€~€~€~~€}€~€~~€~‚€~‚€‚~€~~€~~~€~€€€~€~€~€~€€~~~€~€~~€€~}€~~~€€€~€~~~€€~€~}€~~~~~}€~~~€€€~~~~~~€~‚~~€}€~€}€~~~€}€~€~~€~~~€~€~€€}€~~€~€~€}€~~€‚~~~€~~€~€€€~€~~€}€~}€€~~~~€~€~€€~€~~€~€€~~€}‚~~~€}€~€~€~~~€~~€}€~~~}~€€~~~€€~€€~~~~€~~~€~~~€~€~~€}~€€€}}~}~€~~~~~~~€}€€~€~€}€~~~€~€€~€~~~~€~€€€~~€~€~€€~~‚}~~~€€~€}€~~€~~~~~~‚~€€~€~}€€€€~€~~€~€~~~}~€€~~~€~€~€~€€~€~~€}~€~€~~€~~€€~~€~€~~~‚~€~€€}€~~}€‚~€~€€~€}€€€€~~€~€~€~~€~~€~€~€€~€~~€€~€~}€}~€~€~~~€}~€€~}~~€}€~€€€~~€~€€€~~€~~€~‚€€~€~€~~~€€€~€~~€~€€~~€~€€~}~~€~€~€€€~~~~€~~€€~~~€~€}€€}€~~€€‚~€~~~~€~€~~€~~€~€~~~€~~~€~€}~€~€~€€‚~~~~€~~~~~~~€€€€~~€~~~€~€~~€~~~~~€~~~}€~~€€€€~€~~~~€~€€~~~€~€~€€~~€€}€€~~€~€~€€~~€~~~€€~~~~€€‚~€~€~€€€€~€~~~€~€€~€~€~€~€~~~€~€~~~~~~‚€}€~€}€~€~~~~}€~~~€~€~~}€€€}~‚}~~€~€€~}€~~~€€~€~~~~€€}€~€}~€~}€~€}€}€€}~}~~~€}€~€~€~€}€€€~~€~~~€€~~€€~€~€~€~~‚~€}~€~€}€€~~€~‚€}€~€~€~~€€~~~€~‚}~€~€~~~~€~€€€‚€~€~~~~€€~~~~€~~€}€~€€‚~€~~€~~~~€}€~~€~}€~€}€~€~~~€}€}€~~~€~€~€€~€~€}~~~~}€}€~€~}~€€€€~€~~}€~~~~~€~€}~€}~€~€~~~€~€‚~~€}€~€~~€~€}~€€~~~~€~€€~€€~~~€~€~€~}€}€~~~‚~€}~€~€€~}~}€}€€€€~~~€~~€€}€~€~€~€~€~~€€~~€~~€~€~~€€~€~€~~~‚~~~€~‚€~€~€~~~~~€€~~€}‚€~€~€~€~€€~€~€~~~€}~€€~€~~€}€~€~€€~€~€~~}~~€}€~}~€~€€€~~€~€~€}~~~€€~€~€~€~€€€~~€~~~€~€€~€~€}~€€}€~}€€}€~€~~~~~€€}€~€~~~~€~€~€~~~~€}~€~€€~€~€~€~€€}€~~€~~‚}€~€~€~~~€~‚€~€~~€}€~€€€~~~€}~~~~~€‚€~€}~~€~~~‚€~~~€~}~~€~~€~~~€€€~€~€~~~~€~€€}~~~€~€~€~~~€~~~€}~€~€~~€~€€€~}€~~~~€€€~€~~~€~~~€€~€~€}~~}€~~€~~€€€‚~€}~~€}€€‚~€~€~~€~€}€~€~€~}€}€€€€~~~~€~€~€€~€€}€~€~~€~€~~~€~€~€~~}~~€~€~~~‚€~~€~~‚~€~~€~~~€~~€~~~€}€~~€~~€}~~€~€€~€}€~~€~€~€}€}~~€~~~€€}€~€~~~€~€~€~€~~€~~€~€}€€}€~€~€}~€€}€}~~~€€€~~€~~~~€~€~~~~~€~€€}~~~€~~€}~~}€~~€~€~~€}€~~~€€~}}~~€~€~€}€~~}‚~€~€~€€~~€~€~€}€~~€‚~€~€€~€~€~~~€}€€}€~~€~€€‚€~€~~~€~€~~€~~~~~~€€~€~~~€}€~~€~~~~€~€}€~~€~€€€~€~~~~€~~~~€~€~€~‚~€€~~€}€~€€~€~~~~€€~€~~~€}€~~€~~€~€€€‚~€}~~€~~€~€~€~€€~~~~€~€€~}€~~~~€€€~€~~~~€€€~€}€~€~€~‚€€~}€‚~€}~€~€~€€}~~€~~€~€~€~€~}~€}€~}‚~~€€}€~~~€~€€~}€~~€~~€€~€~‚~~~€~€~€€€~~€~~}~€~€}€~€}€~~~€~~€~€~€€~~€~~~~~~€€~€~}~€~~€~€~€€~~~~~€~€~€~€~~€~€~~€~~~€~~}€~€€‚~€~~€~~€~~€~€}~‚€~€~~€~~~€€}€}~~€~€}~}€}€~~~~€~€€€~~€~}€~~€€€~€~€€~€€~€~€~~€~€~~€~~€~€‚~€}~~€~€€€~€~~~€€€‚~~€}~~€~€~€~€}~€~~€€€~~~~~€€€~~~~€€~€~€~~€€€€~€~€}~€~~~€‚~~€~€~€€~~~~€}€€€~~~€~~~€~€~€}€~€~€~‚~~~~€}€~~~€~~€~€~}€~€€~~}~~‚~~~€}~€}€€}~‚}€€}€~€~€}}~~€€€~€~~€~€€€€~€~}‚~€€~€~~€~€€€~~~~~€€~‚€€€€~€~}€€}~€~€}~€~~€}€€~~€~€~€€€}~~€~€€€~~~~€~€€~}€~}~€~€€~~€~~€}€~€‚~€}~€~}~€~€~€}€€~€}€€€€€€~€~~~~€€~~€~~}€~€~€}€~~}€}€€~~~~~€~€}€~€~~~~€}€~€~€~~~€~€~€~~€~€~~~~}€~€~€€~€€~€€~~~€€€€~€~~}€}€€€~€}~~~€~€€~€~€~€~‚}~€}€~€€~€~~~~€~€}}€€€~}}~~~€€~€~€}~€~~€~~€}€~~~€€}€}~‚€~~€~~€€~~€~~€~~~€~~~€~€~€}€~~€€~€~~~~€~€€~€~€~€~€€~€~~~}€€~~~~€~‚~}€~€~€~~~~€€~}€~~~}€€}~}€~€~~~~€~€€€~~‚~~~€~~€€‚~~~~~~€~€}€€~€}€~~~~€~~€€~~~€~}€~€~€€€~~€~~€~€~€~~~€}~~~€~€~~€€}€€}€~€~€€}€~~~€}€€€€~~€~€~€€€~€~€~€~€~~~~€~}€~€€€~€~~€‚~€~~€€~€~~~~~€~~~~€€~€}~€~€~~~~~~€~€‚~€~~~€~€€~}€~€}}€~€~}€~~~€‚~~€~€~~}~€~€€€~€~~~~~€€~~€~~~~€}€~~€~€~}~~~€~~€~€~€}€~~€~€~€~}€~~€~~~€€~€~€~~‚€€‚}€€~€~€~€~€€‚~~~~~€~€~~€}€~€~€~~~€~€€~€~€~~~€€~~€}€~~~‚€~~~€~€~€€~~€~~~€~€~€~~€}€~€}€~~‚€~~~}€~€}€~€~~‚~€}€~~€~~~€~€€€}€~~}€~€~}€~€}€~~~€~€~~~~€}€€‚~€~~~}€~€€~€€~‚~€~~€~€~€€~€~~~~€€€~~€~€~~‚€~~~€‚}~~€~~€€€~~~€~€~€~€€~€~€~~‚~~~~€~~~‚~‚~}€~€~~~~€€€€€~€}€~~~€€€~~€~~~~€‚~~€~€€~€€~~‚€~~€}€€}‚€~~~€~€~~~€~€~€~€€}€~€~€€~€}~~€~€~~~€~~€~€~~€}‚~~€~€~€~€}~~~€~€~€~€}€~€~€~€~€~€€€€}€~~€~~€€~€~~€€€€€~€~~€~~€€~}~~~€~€~‚~€~~€€}€~€~€€~~€€}€}€~€}€~€~~~€~~€~€~€~€~~€~~€~€~€~}€~~~~€~€~}~€~~~€€~~€~€~‚€~~}~€~€€~€€~~~€~€}€~~€~€~€}€~~~€~€~~€~~€€~€~~~€~€€€~~~~~~€~€€~~~~~~€€~€~~~~‚€}€€~€}€~€~~~~€~~~~~€}€€~~€~~~€~€€}€~~~~‚}€~~€~~~€€€€~€~€~~~~~‚~~€~€~~€~€~€€€~€~€~€~€€}€~€~€€}€€~€~~€~€€}€~~~~‚~€~~}€~~€~€~€€~€~}‚~~~~€~€€€~€~€~~~€~€~€~~€€~~‚~~~€€~€~~€~€€~€~~}€€~~€~~€~€~€~€€~€~€~~~~~~€€~€~~€~~€‚~€~€~€€~€~€~~€~~~€~€~€~~~~€€~~€~~€}€~€~~€}€€~€~€}}€‚~~€~€~~~€~€~€~€~€€‚~€~€€~€~€€~~~€~€~~~€~‚€~~€€}€~€~€~€~~€~~€€~€~~€~~€~€~€~~~~}€€}€~~~~€~~~€~~~€~€~€}€~~~€‚~€}~€~~€€~~€~€€~€€~€~€€~}~~€}€~€~~~€~}€~€€€}}€~~€~€~‚€~~~€~€€~~€~~~~}€}€€€€~~€~~~€~~€€€~€}~€~€~~~€~~€~~~~€~€~€~~~~~€€}~~~€~€}~~}€~€€€~€~~~€€~~~~€}€€~€~€~€~~€~€~€~€‚~~~€}€~€~~~~€€€~€~}~‚€€~~€~€€~€€~}€~€€~€~€~~~€~~~€€~~~~€~€}€€~€~€~€}~€~€~€~€~~€~~~~€~€€}~€~~€}~~€~€~€€€~~~~€€}~~€~~‚~€~€€€~~€~~~~€}€~~€~€~€€€~€~~€~~~€~€~€€~€€~€~€~~~~‚~€~€~€~€}~€}€~€~€}‚~€€~€}~~€~~€€€~~~€~~€€~~€~~€~€~€~€}€~€~€~~€~€~€€~€~~~~€~€€€€~~~~~}€~€~~~€~€~~}€~€~€€~~~~€€~~~€}€~}€~~~‚~~~~~€~€~~~~€€~~€~~~€€~€~}€€}€~~~~~€~€~€~~}~€~€€~~€}€€~~€~€€€€~€~~~~€€~€~~€~€~~~~€~~~€~}€€~€}€~~€€~~€~~~~€~€€~~€~€~€~€~}~€€€~}~€~€€}€~~€~}€~€~~€~€~€~}€~€€€~€~€~~}€~€€~€€}€€~~~~~€€€€~€~~~~€~~€~~€~€~€~€~~€€}€~€~~€~€€~€~~~~~~€~~~~~€€€~~~€€~€~~€~€€~}€}~€~€~€}€~~€}€~~~€~€~~€~~~€€€~€~~~~~€~~€~~}€~~€~€~~~€}€~€~€~€€~~~€~€‚€€~~€~~€~€€~€~~€~€€~~~~€~€€~~€~€~€~~€~~}~€~€€}€€~~}~€~}€~~~~€€~€~€€~€€~~€~~~‚~€~~€~€€~}€~~€}~€~‚€~€}~~€~€€~~€~€~€€€~€~~~€~€~€~€~€~}~‚~€}~~~~~~€}}€~~~~~~€~€}€~~~€}~~}~€~€~€}€~€~~€}~€~~~€~~€~€€~€~€~~~€}~~}~~€~‚~~€‚}€~€~€~~€€~~~~€~~€€€~€~€~€€€~€~~€~€€€~€~€~€€€~~~~€~~€€~~€~~€~‚~€€€€~~€~~€}€~€€~~~~~~€‚~€~€}€}}€~~~€~~€~€€~€~~~~€~~~~€}€~€~€€~€~~‚~}€~€}~~€€~€}€€~~~~€~€~€~€€€€~€~}€~~‚€~~~€~~~~~€~~€~€~€}€~€}€~€€~€~~€}€~~~~€~~€€~€}€~€‚~~~€€}€~€~~€~€€€€€~€~€~~€~~€~€€€~€~~~€~€}€~€}~€~~~}~€€~€~€~~~~€€€}}€~~€€~~~~~€~€}~~~~€‚~€€~€~€}€€~€€€~€}~~€}~€€}€~~€~€€~~€~€~€€~€€~€~€~~€~€~~~~~€~€€}€~€~~€~€€€€~€~~€~€€€}€~~~~€~€}~€~~€~~~€~€€~~€~~~€~€~~€~~~~€€~~€~~€~}~~€}€€~€~€€}€~€}€€~~€}€€€~€~~€~€€}€~€~€~‚€~~‚~~€}€~€€€€~€~~€~~€‚~~€‚~€€}€}}}€}€€€~~~~}€€~€€~€}~~~€€~~€~€€~€~~~€€~€~~€€€~€~~~€~€~€€}€~~‚}~}€~€~€~€~€€€~~~~~~€~€}€~}€~~~€}€~€}€}€~~~€~€~‚€~€~~€~€~~€~~~~~~~€}€€~€~~~€~‚€€€~~€~~~€}€~€~~~~€~€~€~€~~}€€~€~~~€~€€~€~~~€~‚€€~‚~~~~~€~~~€~~~~}€~€}}‚~€~€~~€€€€}€€~€€~€~~€~€~~€~~€€~€~€~~€€~~~~~}}~€~€~€~}€~€~€~€€~~~~~€€}€~~€~~€}‚~~~~€~}€~€~€~~€€€~€~€~~~~€€€~€~~~‚~‚~€~€~€€}€~~~‚€‚}~~€€~€~‚~~~~€~€~~~~€}€~€€~~~~€~€~€}~~€‚~€~€~€~~~~€~~€~~~€~~~€~~€~€~€~€}~~~€}}€~€~~~€}€€~~~~€~€€~€€€~~~€~€~~€€€€~€~~€~€~€~€}€€~€~€~~~€}€~€~~~€}€~€~‚~~‚~€}~~~€~€~€€}€~€~~€€€~€~~~~€~€€‚}€~~€~‚€€}€~~~€~€~‚~€~€€~€~€~~€~~€~€€~€~}~€‚~€~€~}~€€~€~€~~€~~€~~€‚€€€~}€}~€~€€~€~~}€~€~€€}€€~€}€~~~€€~€~~€}~€~€~~€}~~~€~€€}€}~€~€~~€~~~€~~€~~€~~~€€~€~~€€~€~~€}~‚~~~~€~~~€~~€~~~~€€~~~€~€€~}~€~€~€~~€~}€}‚€~~}€~~€}€~~~€~~~}€}€~€~}€~€€~}€~€~€}€}€~~}€~‚~€}~~~€~~€~~€}€€€~€~~€~€}€~€€~€~€~~~€€€€~€~€~~~~€~€‚~}~€~~}~€€~€~€~€~‚~~€~€}~€~‚~~~~€}~~€~€~€€~~~‚~~}€}€~€~€~€~€~~€~~€~€€€~~€~~~~€~~~~~€~€~€€~€€~€~~}~€€~}~€~€~€~€€~€~€~€€~€}~~~€~~€€~~~€~€€€~€~~~€~€~~€‚}€€~€~€€}€~€~‚€~~€~€€~€€}€~€~~~~€~‚€€~~€~€~}€~~€€€~€~~~€€~€~€~~€~€€}€~~€€~€~€€€~€~€~~€~€~€~}~€€~€~~~€€}€}‚€~~~‚~~€~€~€~€€~€~€~€~‚€~~~~~€~~~}€~€€~€~€~€~€~€~~€~~~€~€~€~~}~~~€€~€}€~€~€}~€~€~€~€~€~~€~‚€€€€~€~~‚€~‚}~€~€€~€}€~~€~€€€€~€~~€€~~~€~€~€€~€}~~€~~€€~~€~€}€€~€~}‚€~~~~€}€‚~€}€~~€~€~€€€~€~~~€~~‚€~~~~€~€€~€€~€~~€€~~~~~~€€~€~€~€~~€}~~€~€~~~~~~~€€}€€}€~~€~€~€~~€}€~}~~~€~€}€~€~~€€~€~~€~~~‚~~€~€~€‚~}~~€~€~~}€~~~~€}€~€~€~~~€~€}~€~‚€~~~~€~€~~~~€~€~‚€€€~~€}€}€€}‚€€~€~~}~€~€~€~€}‚€~~‚~€‚}€~€~€~~~~~~€€~}~~~~}€~€€}€~~€€}€~€~~~€~€~€€~€~~€~~€€~€~~~€~€€~~€~€€~€€}€~~~~~€~€~~€~~~~€~~€€~€}~~~~‚€~}~~€~}€~€~€~€€~€~~€~€€~~~€~~€€}€~€~€€~~€}~~~}€~€~€~‚~~€}~€~€~‚€€€~€~}~€€~€€€~~}€~€~~€}€~~€~€}€~€~€~~~€~€~~~~€~€€~€~~€~€€€€~€~€~~€€~~~}€~€€~~€}€~€~~~€~~€~€~€~~€~~~€~~~~€~€~~€~~~‚}€}~~€~€€~€~~€~€€~}~}€}~€}~€€€}€~~€~€~€}€~~}€~~€~~‚~~€~€~€€}€€~€~~~~~€~€~€~~}€~€€}€~€€~~€~~€~€€~~}€‚~~€~€€~€~€~~~}€~€}€~€~~~€~€~~€}~€}€}€€~€~~~}~~€~‚€€~~}}€~€€‚~€~~€€}€~~}€€~~€~~~€~~€}~~~€~€‚‚€€~~€}~€~€~~€~€~€~~~€~~€~~~~€€~~€~€€~€~~€}€€}€~€~€~~€~~€~€~~‚~~~€~€€€~~}~€€}€~€~€~€~~~€~€~€~~~~€~€}€~€~€€€~}€~~€}€~€~~~€~~~~~‚~~~€~~€}€~€~~€€€~~€~€€~€~~~~~€~}~~€}‚€~~€~~€}€~}}~‚€€~€~€€~€}€}~€~~€€€~~~~~€~€‚~~~~€~€}€~~~€~€€€€}€~€~~€~~€€€~~~~€~€}€‚}€~€€}€~~€~€~€}€~~~~~~€€€~€~~€}‚~€~~€€~€~€€~~~€~€€€~€}€~~~€}~€€~~~~€}€}~}€€~€~}~€~€€€€‚}€}~~~~~€~€€€€~~~~~€~€}€~‚€~€}~€~~€~~~‚~€~€€~~~~‚~~€~~€~€~~~~€~€€€€€~€}~}€}€€~€~~~}~€~€€~}€}‚€~}~~€€€€€}~~~~‚€‚~€}€€~€~€~~€~€€~~€~€}€}~~~~€€~~~€}~€~€}€~€€~~~~~€~€~€}€~€~~~~~€}€~€€~}~€~€~~€~€~~~~~~€€~€~~~€~€€~~~€~€~€~€}€€€~~€~~€~€~}€€~€€~€~~€~~~€}‚~€~€~~€€~~~~€}‚€}€}‚~~~~€~€}€€~~~€}€~€~€~~€€~~~~€}€~}~~€~€~~€~€~€~€~€}€€~€~~€~€€€~~€~~€~€~€~‚€~~€~€~€~€~€~€€~€~~€€}€€~~€€€€~~~~~~~~~€~€~€~~}€}€~€€}€€~€~€}€~€~~€€~€}}€~~~~~€~~€~~€}€€~€~~€€}‚€~€~~~€~€~€~€~~€‚~~~€~~~~~€~€€~€~€~€~~€~€~€}~~~~~€~€}€~~~}~€€~€~€~~€~~€€€~~~€€}~€}€€~€~€~~~€}€~€€}€~€~€~€~‚€€€~~€~~€‚}€~€}€~€~€~€~~€~~€€~€~~€€€~~~€~~€~~}€~€~€~~}€~~}€~~€€~‚€~~~~€~~€~€~~€~€}€}€€~€~~€~~€~‚€€~€~~~‚~~~€}€~~~€}€€~~€€~‚€€~~~~€~€~~~‚€~€~~€~€€€~€~€~~€~~}€~€~€}~~~€~€€~~~€~}~€~€€€~€~€~€~€~€~€~€€~~€~~€}€~€~~~}~€~€~€€~~€~}€€}€~€}€}}~~€~€~‚€~~~€~€~~€}~€~~€~€~€}€€€}~€~~~}~~~~€~€~}€€~~~€~~€~€}~€€€~~~~€~~~€}€~~€~~~€~€€€€~€€~€}}€~~~€~€}€}€~~~€~~~€~€~€}€€~€~€}€}€~~~~€~}~~~€}~€}€}€€~~~€~~€~€~€~~€‚~~~€}€~~€}~€}€}€~~€~€~€~~€€~€~~€~~~~~~€€}€~€~€~€~~~€~~~~€~€}€~€€~€~~€~~€}€~~~‚~~~~~€~€~€~~~€}€~~€€~‚€~~}€~€€}€}~~~~€€}€}€~~€~~€~‚€€~}€~~~€~€~€}€~€~€}~~~}€~~€~~€‚€}€~}€~€€~€~~‚~€}€~€~€€}~€~€~€}~~}€~€~€~~€~€~~~~~~€~€€}€~~~~~€ƒ~€€~€~€~€~~~~€~~€~}€~~~€~€~€~€~€€}€€~€~€~~‚~~~€‚}~~€~€}€~~~€~€~~}€~~~€~€}€~€~~}}€~€~€~~€}€~€~€~€~~~€~~€~~€€~€~€~€~€~€~~~~~€~~~€}€~~~~~€~~€~~~€~€€~}€~~€~€€}~~~€€~€~€~}~~~€}~}€~~~€‚~~~~€~€~€~€}€~€~~~€€€€~~€~}~~~‚~~€~~€~€~€€~€€~€~€}€~~€~€€~€~€}~~€}~€}~€~~€€‚~€€~}~€~€~~~~~€~€~€€}~~~€~~~€~€€€~~~~€}‚~€€}~€~€~€~€~€€~~~}€~€}€~~€}€€~€€}~~~‚~€~€€€~€~~~~€}€}}€~€~~€~€€€}€}~~~~~~€~€~~~~~~~€€€~€}~€~€€~~€~~€}~€~€~~€}€€~~€~~~€€~€~~}~€~€€~}€~~~€~}€}~~~~~~€~€€€~€~~€~€‚~€~~~€~€~€€€~€~€~~€~~€€}~~}€€~€~~~~€~€€€~€~~€€€~€~~~€}€~€€~€~~}€~€€€~€~~~€~€~€€}€€~€~~€~€~~€€~~€€~}€~~‚~€~~€€}}€€~}~€~~~€~€€~€~~~€‚~~€~€~€~€~~€}€~€€€~€}€~~€}€~}‚€~~€‚~~~~€}€~€~€~€}€~€€~€}€~€€~€~~€}€}€~}‚~~~€~€€}€~€~~€~~€~~}€~}€~~}€~}~~€~~~~}~~€~~€€~€}€}‚~}~€~~~€€~~~}€~€€~€~€~~~}~~€€~~€~~~€~~~€~~€~‚€~€}~~~€~€~~€}~€~€~€~~€~~~€~€€~€}€~~~~~€~€~}€~‚~€~~~€~€€~€~~€~€€~€~~}€~€€€~}~~~€€€‚~€~€~€~€€€~~€~~€€~€~~}‚~€~€~€€}€~‚}~€€€}€~‚~~~~€}}~~~~~}~€€€€~€}€~€~~€€€~€~~‚€~~~€~€~€€}€~€~€~€~~~~€€~~~~~~€€€€~~~~~~€}€~~€~~}€~€~~~€}€€~~~€~€~~~€}€€€€~€~€~€€~€~€}€~~~~€~€~€€~~€‚}€~~€~~‚~€~€€~€~~€~€}€~‚€~€~€€~€~~€}€€~€~~€~€€~€}~€~€~~~€}€}€~}€~~}€~€~~~}€~€~~~}~€~~€~~~~€€~~€€~€~~€~€}€~~€~€}~~~€~~€~}~~€~€€~€~~~€~‚€~~~~€~€~‚€~€~~€~€€~~€~€~~~€~~€€~~€~~€€~€}~~~~€€~€}~€€€€}€~€~€€}‚€~~‚€€}€}€~~~~€~€€€~€~~~€}€~~~~€~€~€~~€~€~~~€}€}~~~~~€~€~€€€~€~~~€~€€€}~‚€€~}€~€~~€~€}€€~~€~~}€}€€€~€~~~~€€~€~~€~}~€}€~~~€}~€€~€~~~€~€€€€~€~€€}‚~~~€€~~€~~~€~€~€€~€~~€€~€~~€~~€~€~}€~€~€€}~€~€~‚~~~€~€}€~€~~~€}€~€~€~€~€~}~~~~~€~€€}~~~~€~~€}~~‚}€€~€~~~€~€~€}~~}~€~‚€~‚~~~~}€~€€~€~~~€}€}€~€€}€€~~€~~€~€~€~€~~}~€}€€}~€~}€~~~€~€€}€~}~~€~€€€~~~~‚}~€~€~~€~€}~~€~€€~€~}€~€}€‚~€~~€~€~€~€~€~‚}€}€~€~~~~€~€€~€~~~€~€~€~~€€~~~~~~€€~€€}~~€€€}€~€~~~€€~~~€€~~€~~€~€~€~~€‚€€€}~~~€€}€~~€~€~€~~~€~€€~€}~~€~€€~€}~~€}~~€~~€‚}€~~~€€~€~~~€€€~€}~~~~€~€}~€~€~~~‚~~€‚~~~€€~~}~~~~‚}€€~~~~~~€€}€~~~€€~~~~~~€~€~€~€~€~~€~€~~€}€}€}~€€‚~€~~~€€€~~€~€€~}€~~~€~~€~~€€~€~}€€€~€}~€~€€~€}~~~~‚€€~€~~~€~~€€€~€~~~~€~€€~~€‚~~€€}€~€~€€}€~~}€~€€~}‚~~~~€€}€~~€~€€€~€~€~€}~}€}€~‚€~€~~~~~€~€~‚€~~~~~~€~€‚}€~€~€~~~~€~€‚~~‚~~€~€€~€~€~~~~€}€~~~€}~€}€€~~€~~€€€€~~~~€€€~€}€€~‚€~€~~‚~}‚}€€~~€}€~€~€}€}€~~€~€~~~~€~~€~€~}€}€€}‚€~~~}~~€€}€€~~~~€~€~€€~~~€~€~€€€~~€}€~€€}€~€€~€~€~~~€~€~€€~~€}~€~~~€~€€}~€~~€~€€€€~€~€~~€€~€~~~~€~~}~€~~€~€~€~~€~€~~€}€~~€~€~~€}€€~€~~€~€€~€~€~€~~€~~€€~~~€}€~€€€}€€~~€}€~}~€~€}€~€~€~~€~€~€~~€€€€~€~~€~~€€‚~~~~€~~~€~€~€}~~~€€~~~~~~€€€}€~~~€~€~€€}€€}€~‚€~~~~~€}~}€~~€~€}€€~~~€~~€}€~~€~€~€~€~}~~€~€€~€~~~€~€~~}€€~~€~~~~~€€~€~~~€~€~~€€~~€~€~~€}~€€€~}€~€€€~~~€~~€~~€}€‚~}~~~~€~€}€€~€€}€~~~€~€€€~~€~~€~€~€~€}~~~‚€€~€~~~€~~€~€~~€}‚€~~‚€~~€}€€€~‚}€~€~~€~~‚~~€~~~}~€~€~€€~€~~~~€}€~€€‚~}€~€~€~€~}€€~~~~~~€~€~€€~€}~€€~~~}~~~€~€~€~~€~€€~~€~€‚~€€~€~~€~~€~~€}€‚~€~€}€~~€~€~€~€~~€€~~€}~~€~~€€~~€~€~~~}€}€~}~~€}€~~€~~‚~~~€€€~€}~~~€€€~}~€~~€€~€~~~€~€€~~~€~~‚€€~~€~€}€~€~€~~€~€€~€~~€~~~~€~€~~€~€€~€€}~€~€}€~€~~}~€~€€€€}€~€~€~€€~€~~~~~€€€~€~}€~€€€~€}~€~€€‚}~€~€~~€~~~~€€€}€~~~€~€~€}€~~~~€~€€}€~€~~~‚€~~~€~~€~€}€~~~~}~€~€~~‚~~€€~€€€~€~~€~€€€~€~~~€~‚€~€~€~~€~~€}€€~~}‚~~€‚~~€}}€~~~€~€~~€€€~€~€~€~€€~€~€~€~€~~~~~€~‚~~~~~€}€~~~~€~~€~~~€~€€~€~€~€~~€~€€~€~€}€~~}€~€~€}€~~~€~€~~€}€€‚~€~~~~}‚~~€~€~€€~~~€~€~‚€€‚~€}€~€~~€~~~€€€~~€}~~€}€~~€‚}€€~€~€€~€~~}~~€~}€~~~€~~€€~€~~€}~‚€€€~~€~~~~€~~~€~}}€~€~€~€~~~€€€~~~~€€~€~~€~~€€~~~~€~€€~€}€~~}€~~€~~}€€~}~~€~~€}€~~~~~~~€~€}€~~~€~€€€~€~~~~~€€€~€~€~€~€~€~€~€~~~€}~~€€€~€~€~~€€€~€~~~~€€~€~€~€€~~€~~~€~€~~~~€~€€~€€}€€}€~}‚~~€€~€~~~~€€~€~}~~~€‚~€~€~~~~~€€~€~~€~€€€~€~€~€‚}€~€~€€}€~~~~~€}€}}€€€~€~}~€€~€~€~€~€€~€~~‚€}€~€~€€~~€~~~€~€}€}€~€~~~€€~€~~~~~€€~}€~~€~€~~}‚~~~€‚}~€}€~€~~~€€€~€}~~€}€}€~€~€}€~€~‚~~€~€~€€}~~~~€~€€~€~~~€}€€~€}€~€€~~€~€}€€€~€~~~€€€€~€~~€€€€}€~}~€~€€}‚€‚~}~~~€~~€~~€~€~~~~~€}~€~~€~~€~~~~€~€€~~€~~~€~~}€€€~~€}~€~€€~~~€~€~~~€}€~~}€~€~€€~€~€~~~~€~€€€~€~~€}€€~€}~}~€}€~€€~€~€~€~~€‚~€}€€€~€~~~€~~€~~~€~€~€}€~~€~€€~~~€€€€}}~}€~€~€~€~€€}€~~€€€€€~}~€~€~~€~€~€~€~€~~€~€~~~~~€~€~€~€~‚~~€~~€}}~€}~€€~€}€€~~~€~~€€~€~~~€}~€}€}€~€~€~~~€€~€~€~~€€~€~€~~€~€~~€€}€~€~}€~€~€~}€}€€~€~}€~~~€~~~€}~~~€~}~~€}€~~€~€~€}€}€~~~‚€~~~}~‚~€~€~~€~€€}€}€~€~€~~€}€€~€}~€~€€~~€~~€~€~€~€~~€‚~~~€~€~€~~~€}€~€~~~€€€~€}€€€~€~~€€}~€}€}€€~~~~€€€‚~€~~‚~~~€€~€}~~}€‚~€~€~€€~~€~€}€}€~€}~€~~€~}€~€~€~}€€~€~~€~~€~}€€‚~~~~~€~€~€€~}€~~~€~€€}€}€~€~~~}€}€~~~€€~~€~~~€}€€~~~~€~€}€~€~}~~~€~€~€~€~€~€€}€~€€~}€~~~~~~~~~~€~€€‚~~€}€€~€}€~‚€~~€~~~~€~€€€€}~€~€€~€€~‚€~€~€~~~€~€~€}€~~~}€~€€~€~}~~€‚~€}~€~~~~€~~€~€~~€}~€~€€€}€~€~€€~€~~€~€}€~€€~}~€~€~€~}€~~€~}€~€€~~~~~~~€~€}€~€~~€~~€€€€~}€~€~€€€€}€~~~€‚~~~~}€~~€~€‚~€~~€~€~~~€~€~€€~}€~~€~€~~~~~€~€~~€~€~€~€~€~€€€~€~~~}~~}€~€€~€~~~€}~~~~€€€€€€~€~~~€~~€‚~~~€~€~€€€€~~~~€~€~€~€~€~€~€~~€~€~~€~}€€~€€~€}~~~€~~~~~€~~‚€~}€}€~~~€}€€€~€~~€~~€~€€}€€~~~~~€~€~€}€~}€~~€€€~~~€~~€€}€}~~‚‚~€~}€~~~€€€€€~~€~€~€~€€}~~~€~~€}€€~~~€~€~€€}€~~€~€€~€€~€~~€~~~€~~€~€~€~}€~€~€€~€~€~€€~€~~~€~€~€~€~~€}€~€}~~~~€}€~€~}‚~€€‚}€~€~~~~~€}€~€~~€~€~€~€~€~~~€€~€~~~€~‚~€€}€€~}~~~~€~~€€~~~€€~~€~}€~€€~€~~€~€€€€~~€~€~€~~€~~€~€~}~~€~€}}‚~€}~€~‚€~~}€~€~€~€~~~~~€€~}~~€~€€€~~}€}€~~~~€~€€~~€~~~€~€~~~~€~€€€~€~€€~€€~€€~€~€~‚€€}€~~€~€~~€~€~€~€~€~~~€€~~€~€}€~~€~~~~€}}€€€}€‚~€~€}€}‚~~}~€€~€€~€~~~€~€€~€~€~€}~€~€€}€€~€~€€‚~~€~}€~€€}~€~~~€~€€~€~€~€~~~€~~~~€}~€}€~~~~€}~€~€€~€~~~~€}€€~€€~}€~€~~€~~~€~€€~€~}~}€~€€~€~€€~€~€~€€~€~€}~~~€~€~~~~€~€€€~~€}~~€}€€€‚€~€~~~~€~€~€~€~€~€~~~~€~~~~€~€~~~}~€€}€~~€€~€~~~€~€~€}€~€~€~€€~~€}‚€~~€€~€}€~€}€€~~~~~€€€~€~~€~~€~~~€~€€~€~~~~~€~€€~€~€}€~~€~€€~€~€€~~€~~~€}~~€~~€€~€~€~~€€~€~€~€~~€~€€€~€~~€~€~€~~~€~€~~€~€~~~€}~€}€€}€€~~~€}€~~€€~€~~~€~€~€~~€~€}~€€€~€}€~€}~~€€~€~~~€~€~€~€€~~~‚~~~€~~~~€~€~~€~~€€}€~€€~€~~~€~€€~~~~~~~€~€~~€~~~~~€~€€~€€~€~€~€~}}~~€~€€}€~€~€~~€~~€€~~~~€~‚€€~~~~~~€€€~€~~~€€€~~~‚~~€~€~€~~~~€~€€}€~€~~€~€€€€~€~€~~€€€~~~€~€€~€~€€}~~€~€€~~~€~€€~~€~~€~~€€}€}€~€}€~~~€€€~~€~~~~€~€~€~~€~~‚~€~€~~~€}€‚~€~~€}‚€€}€~€~€~€€~~€~~€~€€€~€~~~€~‚€~~€~~~€~€€~€~~€~~~€~~€€€€~€~€~€€€~€~~~~€~€~~€~~~~~€~€€€~}€~}€~€~~€~€}~~€}~€€€~€~€~€€~}~~€}€€~€~€€~~€~€€}~~€~~€~}€~~~~€~~€~€€}€~€~€~‚~~~~}~€}€~}€~~~€~€~€€‚~€~~~€~€~€~€~€~€~}}€~~€~~~~~€}€~}~€}~€€~€~~~~}~~€€€~~€~}~~€€~€€~€~€~€‚~~€}~€~~€~~€~€~€}~~€~~€€~‚~€~€€~€}€~€~€€}€~‚~€‚}~~€~‚~~€€~€}~~~‚€€€~€€~~~~~~€~€~€~€~~~}€~€~~€€€~€~~~€~€€€~~€~~}€~€~€~€~~€~€~}€~€€~€~€}€~€€~€~~~€€~€~€€‚}~~~€€€€€~~~~€€~€~~€~~€~€~€~~~~~~€€‚~~~}€~~€~~~€~€€€~€~~~‚€~€€~‚~€~€~~~~€€~€~~~~€~‚~~€}~~€~€€~€~€~€~€}€€~€~~€€}~€~€~€~~~€~€€€~€~~}€~€~~}€~~€~~~~~~~~~€€~€~‚}€}€~€~€~‚~€~€~€~€~~~€€}}€~€~~}€€~€}~~€~€€~€~€~~~€~~~€~~€€~€~~~€}€€}€~‚€~~‚~~€~}€}€€~€~‚€~~~~~€~€~€~€~€€€€~~~~€~€~~€€€~~€~~€~€€}~~~~~~€~€~~~€€}}€~€€~€~€~~€€€~~~€~€~~~€}€~}€~~€}~€~}€}~~€~~~€~~€~€~€~€€€~~~€~~}‚~~~€~€~~€~~~€~€~~~~€~€~~~€~~€~€€~€~~~~€~€€~}~~€~€€~}€~~€~€~€~€~~~~€~€~~€€~~~~€~€€~€}€~€~~~€}€~€~€€~~~€~€~€~~~€€~€~~€€€~€}~€~€€~~~€~}€~€~€~€€~€~€~‚‚~~€~€~€€~€~~€}~€~~~~~€~€€€}€~~~~~€~€€~~~~~€~€~€~€~€€~‚€}€~~€~€€~€~€~~€~€~~~~€~€~~€~€~€€~~€~€}~~}€~€€~~~~€~€€€€~~~€~€€€‚~~~~€~€€€~€~€~~€~€~€~~‚€~~€~€€}€~~€~€~}~}€~~~€~~€€~€~~€~€€€~~€~€~~€€€~~€~~€~€~€€~€€}€}~~~€€€~~€~~€~€€~€€}€~€~€~~~~~~€}€€~~€~~~~€~€~~~~€~€~}€~€€~€}~€~€~€~€~~~~~~€~€€€}~~€~~€~€~€~€~~€~€~€~€~€€~€~~€}€~€~‚€~~~€~€~~€~€~€€‚~€~~}~€€~~~€~€~€~€}‚€€}~~€~€~~~~€~~€~€€}€~~€~€~~€€~€~~~}~€~}€~~€~~€~€€}€~~€~€}€~~€~€~}€~€~€~€~~€~€€~€~}~~~€~~€~€€~€~~~~~~‚‚€€€~€~~~€€~~~}€€€~€~€~€}~~€~~~~€~€€~€€~~~€~€€€€€~~~~~€~~€}€€~}€~€~€~~€~}€~~€~€~~€€€~‚~€~~~€~€~€~~€~€€~€~~€~€}~~€}~~~€~€€}€€~€~~~~~€€€~€~~€~€~€€~€~€~€~~€€}€~~€~€~€€€~€~~€~€~~~}€~€€~€~€€~€~~€€}€~~€~~~€}€€}€€~€~~~~€~€€‚~~€~~~~~€€~€~€~~€}€~€}€~€€~~~~€~€~€€~€€~~€~~~€~€€}€~€~~~~€~€}~€~}~€€~€€~~€~~€~€€~€~~€~€€‚~€~~€~€€~€€}€~~€~~€~~~~}~€~€}€~€€€€}}€~€€€~€}~~€~~€€~€~€~~~~~€~€~€~€~€~~~€~€~€~‚~~€~~~€}€}€~€~~}€~€~€~‚€~~~€~€~‚€€~}}€~€~~~€~~~€~€€~€€~‚€~~~}‚€€~~€}€€~~~€~€€}€}~}‚~~€}€~~€€~€~€~~€}€~€~~€}€~€~~€~€~€€€~€~~~}~~~€€€}€}~€}€€~~€}€}€~~~~~€€~~€~~}~~€€~~€~€~~€~€€€€~~€~€}€~€~€~}€‚~~€€€~€~~~~€}€~€€€~€€~~€}~~~€~€~€~~€€~€}~~}€~€}~€}}€~€€}~}~~€}€€~€~~~}~€~€~€~~€~~€€~€~~€~}€~€€~‚€~~€~~}~€€~€~~~€€~€~~€~€~~€~~€}€~€~€}€~~€~~€~€~‚~~~~€~€~€}€€~€~€~~€‚~~~~~€€}€~~}€~€~‚~~‚~~€~€~€~~€~€}€~~€€~~~€~€~~€}€}€~€~~~~~€}€€~€~~~~~~€~~}€}€~€}~€~~€€}€~~€~€€~€~€~~€}~€~€}€€}€~~~€~€~~}~~€€€€~~~€~€~~~~~}€€~€}€€~€~€~€€~€~€~€€€~€~€~€€~€~~}~€€€€~€~~~~€€~~~€~~€~~€}€~€~~~€~€~~~~€~€€€€~‚~€}~~~€~€€~~~~€~€€€~€}€~€~~€~~~€€~}€~~}‚~~€~‚€€€~}€~~~€}€€~€~€}€€€~€€~€€~}€€~~~~€~€~€~~~~€€€~~€~~‚~€~~~~€€~€~~}€~€~~€€~€~€}‚€~~~€~€~~~~~~€€~€~€~~~€~€€~~~~€~€~~€~€~€€€‚~~~~‚€}~€~~~~~~~€€~€€}~€~€~€~~~€€~}€~~€~~€~€~€€~€}~~€‚~~}€€~€~~~€~€~€~~€~€€~€~€~€~€€€~€~~~€~€~€€}~~~€~~~€~€€~€~~€~€}€~~~€~€€‚~€~€}€€~€~€~‚€~~€~~€~€€€€~~~~€€~€~~€~‚€€~~~€~€€€~€~~~~€€~~€€~~€}€~€~~€~~€€~~~€~€~€}€€~€~~~~~€}€~~~€~€~~~~€~€~€~~€~€€~€~‚~~‚‚~~~€}€~~€~€~€~}€~~€}€~€}~€~€€~~€~€~€~‚€~€~~~€~€~€€~€~~~}}€€~€}€~~~€}€€~€~~}€~~€€~~~~~~€~}‚€~~~~~€€~~€~~€~~€~}€€~€~€€~}~€~~~~~€~~€~€€~~€~‚~~~€~€~€~~€~€~~~€~€~€€‚~~~~~€€~€~~~€~€€~~~~~€~€€~€~€~~}~~€~€€€~€~~~~}€€~€~~~‚€~~~~}€~~€}€~€~€~~€€~}€~~€~~€~~~~}‚€~€~~€~€}€~}€}€}€~~~~~~~€~~~€}~~€~€~€€~€~~€~€~€€}€~~~~~}€~€€}€~€~~~€~€€~~~~~€}~€€€~}€~~~~€~€€}€~€~‚€~‚~~~€~~€~~~€€€~~€~~~~€~~~~€~~€~€~€~~€~€~€€}€€~€~~~~~€~~~~~~€~~€~€€€~€~~~€~€€€~~~€}~}€~€~~~€}~€~}€~~€~~~}€~€}€€~€~~~€~€~~~~‚~~€€~€}€~€~~€~€€}€}€}~€€~~€~€~€~}~~~€~~}~€~€€~€~~€}€~€~~€€€~€~€~~€}€~~~‚~~~€~~~~~€~‚€~~~€~~}~~‚~}~€~~€~~~~~€€~~€~~€€€~}€~~}~~€‚~~€€~€~~~~}€}‚€~€}~~~~€~~€}€~€}~€€€€€€~€}€~~~€~~€}~~€~‚~€~€~~~€€~~~‚€~~€~~€}~€€€~}~€}€€‚~~~~‚€€€€~€~~~~~~‚~~€~€~€~€€~‚~~~€€€~~€~~~~~€~~~€}€€}~}€~€~€€~~€~‚€~~€€~}~~€~~€~~€~€~‚~~~~~~€}€~€}€~~€~~€~€€€~~~€‚~~~€~€€€€}~}€~€€~~€~~€€€~€~€~~~~€€€~~~~€€~~~€€~€~€~€~€}~~€€~€~€~€€~}€~~€~€~~€~~€~€~€~‚}€~~~~€€€}€~~~€~€}~}€€€~€~~}€€~~~~~~€~€~€~}~~~€€~€€~€~€}‚~€~~€~€€€~~~‚~€}~‚€}~~€~€~€~~~~~€‚~€}~€~~€€€}€~~€~~€~~~~€~€}€~}€~~€~€~~€~‚€‚~~€}€€}~~~~~~€~~}~~€~‚€€}€€~€~}€~~€~}€~€~~€€~€~}~~€€€~~~~€~€€~}€~~~€€~~~€}€~€}€~‚}~€€€€~€~~~€€~€~€~‚€~‚}~€~€}€~€~€~~€€}€~€~~~~~€}€}~€€€~€~~~€~~€€~~€~~€~~€€~€~€~~~}~~‚}€~~~~~€€€~€~~€~‚€€~€~~}€~€€~€}~~~€}€~€}€}€~~~€~€€€‚}€~}€~~~~€~€~~€~~}}€~€~€}~~~€~~€€~~~~~€~€}€}€~€}€~€~}€~€€~€~~€~€€~~~~~€~€~€€~~€~~~~€}€}€€}€}~~~~€€~€~€~~~€}€~~€€}~~}€~~~}~€~€~€~€}€€}€€}‚€~}}€}€€€~€~€~}~~€€}€~€~~€~}€~€€~~~€€}~€€€€~€~~}€~~€~~€€€€~€}~‚€€}€~~}€~€€‚~€~~€~~€~~€~€~€~€€~€~~~€~~€~€~~}€~~~~€~~€€~~€}~€~~€€‚~€~~~€}€~~‚~~~~~€~€}€~€~~~~€~€}€~~}€~€€~€~~}€~~€€~€~~~€~€€~€}€~€€}€~€~‚~€~}~~~€~‚~€~€~€~~~€€€~~~}‚~~€€~€}€~~€~€€€~~~~~~€€~~~~~€~€~~~}~‚€€~~~‚~~€~€~€~€~~~€~€€~€~€~~~~€}€~€~€~~~€~€€~}€~~~~€€~}~~€€€~~~~€~€€€~~~€~€€€€€~€~€~€€~~€~~~€€~~~€~€~~€~~~‚~~€~€~€‚}€~~~~~€~}€~~}€~€~€€}€€~~€~€€~~~~~€~€€~‚€€~~~€}~€~€~~~~~~~€~€€~~~€~~€~€~€}€~€€~€~~~~€€~~€~~}~€~€€~€~€~~~~€€~~€~€~€~€}€~€€}~~~€€~~€~~€~€~€~€~~€~~€€‚}~€}€~€}€~€~~€~€~€~~}‚~€€~€~€~€}€~~~€~~€€€~€~~~€~€~€~€~€€}€~€~~€€€~€~}~‚€€€}€€~}€~~}~~€~€‚}€€~€~~~~~~€}€€}~~}‚}€~€€~}€~~~€~€~€~€~~~€~~€}€€€~~‚~}€~€}€~€~~~~€~€}}€~~€~~€~€€~€~€~~}€~€}€€}€~~€‚~~}€~~~~~~€~€~€~~€}~~€~€}€~~~€~~}€~€€€~~€~~€~~€€~€~~~}~€}€~€~~~}€~€~€~€~~~~~€~€€}€~~€~€~~€}€}‚€€~€~€~~~€~‚€€~~~~€~€}€}€~€€}€~}~~€€~~€~~€~~}~€€~~~€~€}}€€~€€~€€~€~~~~€}€€}€~€~~‚~€~~~~€~€€~€~~~€~€~~~€~€~€~€€~€~~‚~€~€€~}~€~€}~€€~€~~€~€€€€~€}~}€€~~€~€€~~~~~€~€}€~~~~€€~}€~~~€~€€~€~~~€~€~~~~€}€€~}~€~€~€~€€~€~€~~€€}€~~~€€€€€~€~€~~~€~~~~}€~~}~~€~~€€€~€~~‚}~~€~€}€~€}€~€}}‚~€~€~~~~~€~€~€~€}~~~€}€~€~}~~}~€€€~~}~~€~€~€€€~€~~~~€}~€€~€~€~€€~€~~€~€~~}€~~~€~€€€~€~~~€~€}~~€€~}€}€€~€~€~€~€~}€~€€}}~}€~~€~~€}~€€‚~€~~€}€~€~}€~~}€}€~~~~€€~€~~~€~~€€€~~~~€~€€€€~€~€~€€~~€}~~~€}~€}~€~~€‚}}€~€~€~~€~‚~~~€‚~€~€~€€~~€~~€}€€~€}€~~‚}€~€~€~~}€~~€‚}€~~€~‚~~~‚€€~€~€~~~€~~€~€}€~~~€~€€~€~€}€~€€}€~€~~}~~€~€€}~€}€€€€‚‚~~€}€€€€~~~~~€€~€~~€~€€€€~~~€~€€}€~€~}‚€~~~~€~€~~~~~€~€}€~€€~~~€~€€€~€€~€€~~€}€~~€€~€~~~€~€~€€}€~}~€}~€}€~€€~€}~€€~€~}€~~€€~€~~€€~‚~~}€~~€~€~~~~~~€~~€}~€€~€~~€~~~~€~€€~~}}~~~~€~€€€~~~€~€~~€~€~€~}~~}€~€€€~~~~€~~€€~€€~~€~~~~~€~€~‚€~€~~€€€€~~€~~€~€€}€}~‚€€~~~€~€€~}~~€~~€~€~€~€~€~€~~~€~}€~~}€~€~~€~€~~€‚~€~€~~€€~€}€~}~€~€~€€}€~~~~€€€‚~~~~€~€~€~€€~€~~~€~~€‚~€~~~€}~€~€€€~€~€€~€~€€~€€}€€~€}€~~~€}€€}€€~~~~~€~~~‚}~€~€~~€~€~€€€‚~€~€~~€€~~~‚}~‚~€~€}€€~~€~~~~€~€~€~~}~€€~}~~~€€~~€~~~}~~€~€€~~}~~~€}€€~€~}~~€€~€~€€~€~~€~€€~~~€~€€€~€~~€~€~~€}€~€€}€~‚€~~€~~€~€~€~€~~~€~~~~~€~‚€€€~€~~€~€~€~~€~€€~}~~~}€€~€~~€~~~€}€}€€~€~~€€€€~~}€~~€€~~~}€€€~€~~~€~€~€~~}€~€~€~~~€~‚€€~€~}€}€~€~~€~~€€~€~€~€~~€€~€}€~~€€€~€}€}‚~€~~~€~~€~~€}€~~~~€~~€~€€~€~~~}~€€~€~€}€€€~€~~€~€~€€~€~€~€€~€~€~€~~~~€€~~€~~~~€~€€~€~~€}~€~€€~€}~}~~€~€~€~€~~~~€~~€€~€~}~€~€~~~€~€€€~€~~€}€€‚~€~€~~€€~~€~~€€~~€~€€~~~~€}€~€€}€~~~€~€~}€€}€€€~~~€~€€€€}~~~~~~€}€~€€}€€~~~~~~€€}~~~~€€€~€~~~€}~€€~€~~€~€~~~~~€~€~~€€€€~€~€~€~€€€~~€~€~~€}€€~~}€~~€~€~€~€~€~~~€€~€~~€~~€~€~~}€~€€}~€~~~€€€~~‚~~~~~}€~€}€~~~‚~€}~~~€~€€~€€}€€~€~€~~€~€€€€~€~~}€~€€€€~~€~~€~€~€~€~‚€~~€}€€~€~€}~~~€~€~€€~~€~~~~€€~€~~€~‚~~€~€~~€~€~~€~€€}€~~~~~~~~~~~~€€~€~~~€~~~€}€~€~~€~€~}€~€~~}~€€~€~~€~€€~~€~€}€~€~~~~~~€~€}€€~~~~€~~€€~~€‚~~€~€~€€~~€~~~€~€~~~€~‚€~~€~~~~€~~€~~~~~€€€€‚~~€~~€€~~~€}~€~~~~€~~€€~€~~€~€~~~€~~€€~€~~€~€€}€~~~~‚~~€€}~€~€}€~~~€~€~~~€€€}~~€~~€~€~€~€~€}~~~‚~€~€~~~‚~~~€€}€€}€€~}~~€~~~~~€€}€~~€}~€€€~~€~€~€€}€~~‚~€~€~€~~~~€~~€€€}€}~€€€€}€~~€}€~€~~~€}~~~€~~~~~€~€}€~~~€~€~~~~€€~€~~€~‚€€~~~€~€€~}~~€€~~~~€€~€€‚~€€~€~~~€~€~€€~~€~}€}€€€~€~~€~€~~~€€~€}~~~}€~~€~€~€€€€~~€€}~~~~~~€~~~}€~~~~~‚€€€~~~~~}~€~~~€~~€~€~€}~~~€~€‚€€}€€~~~€~~~‚}€~€}€~€~~~€~€~€~€~€€~~~~}€~}€~~~€€~€~€~€~€~}~}€~}~~~~€€~€€~€~~~€~€~€€~€~‚~~€~€~€€~€~€~~~~€~~}€~‚~~~~€~€€€€~~~}~€}~€}}~~~~~~€~‚€€~~€~~€}€€}~~~€~€€~€~~€~€~€~€~€~€~€~~€~€€€~€~~~~~€€~}€~~€~~~€€€€~~~~~~€~€~€~~~€~~€€~€~}~~€}€}€}€}€~}€~€~€€~~€~€~~€~~€}€~~~€~~€€}€~~€~€~~€~€€~€~€}€~~~~€~~€~~~€}~€}€~€~€€€~€~€~€~€~€~~~~~}€~~€}~~~€~€~~€€€€~€~€~}€~€€€€~~~~}€~€~€~~~~€}€~~€~€~€~€~€~~~}~~‚}€~€€~~~~€~~~€€€~€~~€~€~~~~€€‚~~~€~€€€~}€~‚~€~~€~€~~‚~~€~€~€€~‚€~~€~~€~}€}~~€~€‚~€~~€}~~€~€€€~~€~€~~€~€~~~~€~€~€~€~~~~€~€~€}~~~~~~~~€‚~€~‚€~€~~‚~~€~€}‚~~~€~€€~€~~~~€~€€€~~~~}€~~‚~~€}€€~~}€~€~€€€€~€}€~~€€€}~~€~~€‚~~€~€~€}€~~~€€~€~€~€~}€~~€~€~€~~€}€€€€~~€~~~€~~€~€}~~€}€€~~€~~€~€~€}€~€~‚~‚}€~€}€~~~~‚~€~€€~~~~~~~€~€~~~€~€€}€~€€}~€~}€~~~€}€~€€€~~€~~€~€~€~~€~~€~~~}€€~€~€~~€~€€~€~~~€~€€~€~~~€~€€~~€~~}€€€~€~~~€~€~~~~€~€€‚~€~~~€~~~~€~~€€€€}€~}€€}€}€}€€~~€~}€~€~~~‚~~€~€~}}~~~~€~€}€€~~€~~~}€~€~~~~~€~€€€~}~€~€€~€}}€~~~~~~~€}~~€~€€~~€~~~€€€€€€~€~~€}€€}€~~~€~€€~€~~€~€~~}~~€~€€~€~~}~€€€~€~€~€~}€~}€}€~~€€~€~€~€~€~}€~€€€~€}€~~€~€~~€~€~€}~~€~~€€~€~~}€}€~~~}~€~~€€}~~~€~€~€}~~~~€~}€~€~~~~€}€}€~~~~€~€}€€~~~~€~€~€€~~€~~~€€€~€}~€~€€~€~}€}€€€~€~~~€~€€~€~~€~€€~€~‚€~€€~~€~~~€€€~~€~~~€€~€€}€}€~~‚~~~€~€}€~~~€~~€€~~~~~€~€~€}€}€~~~~~~~~~€~€‚€~€~~~€~€~~~€~}~€€}€~€}€~~€~~€}€}€€~€~}€~~€€€~~€~€€~€~~~€~~~~}€€€€~€~~~‚€€€}€€~€~€€~€~~~€€~€}~~€~~~€}€~€~€€}€~~€€}~€~€€€~~€~~€€~€~‚~~~€~€~€€}€~€€~€~~~~€~€€€€~~€}€~€€~€~€~~~~~€}€€~€~~€€~€}~€€€~€~€~~~€~€€~€~~~€€~€}~~€~€‚~}€~~~€~€~~~~~~€~€€~€€~€~~€~€}€~€~~~~~€~~€~~~€~€~~€~~€}€€€~~~€~€€~€}~€~€~~€}~~~€~€~€€€~€~~€€~€}~~€~€€~€~~~€€~€~€~~}‚~~~€€~}€~~~€~~€€~€~~€~~~‚€~€~€~€€€€~€~~€~~€€}~~€~~€~€}€~€~€~~€}€€‚~€~~~€}€~~~}~€~€~€~€~€€€~€~~~~€~€€~€~~~€~€~€~~}€~€€~€€~€}~~~‚€}€~€~€}‚€~~€~€~~~€~}~~~€~€~€~~€~~€€€~~€~€~€}~~~€~€}€}€€~€}~~€~~‚€€~€~}~‚€~€~~~~‚€~~~€~€~€~€~€~€~~~}€~~~€~~~~€~€~~~~~~€}€€}€€~~€€}€~~~~€‚~€€~€~€~€~~}€}~€}‚~~~~~€~€}€~~~€~~}€}€‚~€~~}€~€€€}~~~€€~}€~~~‚~~~€‚}€~~€~€~€~~~~€~€~€€€}€~€€~~€€€~~~~€~€~~~~€}€~€~€~€~~€}~}~~€~~‚€€}~~€€~€~}~~~€~~€~€~~~~€}€€}€~~~~€}€~~€~~€€€~~~€~~€~~€~€~~€}~~‚~€€~~€~€}~€~€~~~€~€~~€~~€~~€}€~€€~~}~€}€~€~~~~€~€~€~~€~~€~~~€€€‚€~~~€~€€~~€€~€€~€~€}€€}}~~~€~€~~~}€~~€~€€€€~~~€~~€~€~~}~~€~€€~€~~}€}€€~€~~~~~€€‚~~€~€~€~~~€~€~€}~€}€~€€~€~~~€~€~~€}~~~~€€~€€~€~}~€‚~€~€~}~~~}€€€€~~‚~~~~€~€~~€~€~}€~€~€€}€~~~€~€~~~€€€€€~€~~~€~€~}€~€€€~~~€~€~€~€~€~€~}}~€‚~€~€~~~€~~€€€~€~€~€~~€~~~~~~€~€~~€}~~‚~€~€€~~~}~€~~€~€~€€~€~€~}~~€€€~~€~~€~~€€€~€~~~~~€~€~~}€~€‚~€}~~€~€€‚~€~~~€}€~€~~~€~€}~~€~€~~€}~€€~€~~~€}€~€€~~€~~~~€~€~~€~~~~~~€~~~~~~€€~€~€~~~€€~€~~~€~€}€€~€~~~€~~}~€~~€€~€~}~~~€~€€€€~~~~€~€€~~~€~€€}€~€€€}~€~€~€~~}~}€€€€~€~~€~‚€€€}~€~€}€~€€~€~€~~~~~€~€~€~€~~€~€~~€~~~~€~~~€~€~~€~€€~€}€€~~~~~€~€~€~€~€~€~~~~€~€~~~‚~~~€}€~}€~~~}€~~~~€€€~€€~€€~~€~€€€~~€~~€~€~€€~€}}€~~~~€€~€~‚€~€~‚~~~€~€~€~€~~€~~~€~€€€€~~€}€~€€€~~€~€~€~€~€€}€€~€~~€}~€€}}~€}€€~~~€‚~€€}€~~‚~~€~€€~€~€~~€~€€~€~~€~~€~€}~€~~€~~~~~~~€~€€€~€~~€~€~€€~~€~€€~€~~€~~€€}€~~~~€}€~€~~€}€€€}€~~€€~~€~~€~€~}€‚~~€€~~€~€~€~~~~€~€€~€~€~€€~€~~~~~~€€€~~~~~€~€€€€~€~~€}€}€€~~~€~‚~€€~€~€€€€}€~~€‚~€€~€~‚~}~~~~€~€~~~~~€~€€€€~€~€}€~~~~€~~€~€~€~~~€}€~~€~€~~~€~€~~€}}~€~~~~~€€}€~€~~~~‚€~€~€~€~€~~€~€~€€~€~~€~€€€~€~~}€~€€~€~€~€~€€~~~€~€€€~€~~€~€~€}~~€~~€€}€~€~}€~€~€€~~€~}~~€}€~€~€}€€~~€€~€~~€}€€~~€~€€}~€~‚€~~€~€~€~€~€~~€~~€~€€~€~€€~€~€~~~€}€~€~~~€~€~€€~~~€~~€~~€~€~~€€€~~€~~€~~~€~€~€~€€€€~€~€~€}€€~€€}€€~€€~}~~~€~€~~}€~€€€~€~~~€~€€~}€}€€~€~~~€~~€€‚~~‚}€~€}€~€~€~~~~‚€~~€}€€~€~~€~‚€‚~~€€€~~€~€€€~}€~}€}€~~~~€~~~}€~~~~‚}~€~€}€~~~~€}~~€~~€~€€~€}€~~~€~~€~€~€~€~~~€€€~€~~€~€€€}€~~}€~€~}€~~€~~~€~}~~~~€€~€~€~€~€~€~€€~}~~€~~~~€~~~€~~€}~€€~€~~~€~€~~€~€~~€}€€}€€€€~~~~~€€~€~~~€~}€~€~€~~€}€~€€~€~~~~}~~€€~~€~~~€}€~€€~€~€€~€~}€~€€€~~~~~€€~€~~€}€~€~€}€~~€~€~‚}~€~€}€€~}€~~~€}€~€~€~~~~‚}€~€€€~~€~€€€€~€~~~€~~€}€~€~~~~~€~~€~€~€~~}~}€~€~€~}€~€€~~~€~€~~~€~€~~~}~€~€~€€~€€~~~~€}€€~~~~~€€€€~~~~€~€€~€~€~€€€}‚~€~~€~~€€~€~€~€}~€}€~€~~~~€€€}€}~€~~€~~~€~€~~€~~€~€~€~~~€~€€~€~~€~€~€~~~€~€€€~~€~~€~€~~~~€}~€€~~~€~€~€}€~€}€€~€~~~€€~~€€~€€~€~€~€€€€}€~€}€~~€}€€~€}~€~~€€€€~~~€}€€€~~~~€€€€~~~€}~€€€€~€~~€€€~€~~€~€~€~}€€~€~}€~~‚~€€€~€~~€~€€~€~~€€~~~€~€~~€~}€~~~~~€~~€~~~€~€~€~€}€~€€~€~~~€~€€€~€}~~€~~€€~€~€~}€~€€€~~~€~€€~€~~~€€€~€~~~€~€}€}€~€~~€~~€~€€€~€~~~~€€~}~~~~€€€~€~~~~€~€~€€~‚€~~€~€~€€}€~~~~€~€€€~€~~~~€~€€€~~€~€€~~€~€}~~€~‚€~~~€~€€~~€~~€~€}€€~€€~€~~~~€€€~~~~€~~~€~~€€~~~‚~€}€~€€~€~€~~~~€~€~€}€€~€€€~~~~~€€~‚~€~€~€€€~}~~€~€€~€~~}€}€~~~€~€€€~€~~~€~€€~~~~€€€~€~~~~€~€~€€€~~€}€~€~}€}€~~~~€€~€~‚‚~~€~€~~€}€€€€~€}€€€~€~€}€~€€~€~€~~~~€~~~~~€~€~}€€~}~€}€€€~~€}€~€}€~~~€~€€€~€~~€~€~€~~€€‚~~~~~€€~€~}~€€~€~~~€~€€€}€}~~€€~~€~€~~~~€~€~~~€~€‚~~~€~€~€}~€€€€~~€~~~€~€€€~~~~€~~€€€~€~€~€~€~~€}~€€~~~~€~€€€€~€}€~}€~~~€~€~~€}€~€€~}€~~€~€~~€~}€€€}€~~€~€~~~€~€€~~€}~€~~~~€~€€~~€~€~€~€~~€~~€~€€€~~€~€~~€~~~€~€~~€~€~€~€~~~€‚}~~~€}€~~€}€€~}~€~€€€~~€~€€~€}‚~~~€~€€‚~~~~€}€}€~~€€~€€~~~€~~€€}€~~~~~~€~€€€}€}~~~€~€€~€~€}€~~~~€~~€€~€~€~~€~€€~€~~}€~€€~€~~€~€€~~€~~€~€~€}~~~€€~€€}~~€~~~€}€~€€€~~€~€~€€€~~~€~€~~~€~~€~~€€~€~~€~~€~€~€~~}~~€~‚€€€~€~~€~€€€~~€~€€‚~~~~~~€}~€~~€~~€~€~~~~~€€~€€€~~~~€€~€}~€€€€~€}€~€~}€}~~~€~~~€€~€~~€~€}~€€~€~€~€~€~~€~~€€~~€~€‚}~~€~€€~~~~~~€‚~~~~}€~€€~€~~~€~~~€~€€€~~~}€~€‚~~€~€€€‚~€}€€~€~€~~~€~~~€~}~€€€€€€~~€~€~}€~‚~€~~~~€€~~€~~€~€€~€}~€~€~}~~~€~~~€~€€~~€~~~€€~€~}€€€~~~€~€€€~~~€~€~~€}€~~‚€}~~€~~~~~€€€~~€~€}€€}€~~~€€~€~€~~€‚~€~€€~~€}~~~€~~€~€~€~~~€~‚€€~€~~€~€€~~€~€€€~~€~‚~~€~~€~€~~€~€€€‚~€~~€€~‚€~~~~€€~€~~~~€~€€€~€~~~€~€€~€~~~€~}}€~€~}~€~€€~€~‚€~~~€~‚€€~€~~~~€}€~€~€€}€€}~~€~~‚€~~€~}}~€€€€}€~~~€~€€~€€~‚€~~€}~€}€~~~€~€€€~€~€~€€~~~€}€~€‚€~€~~~~€€€~~€~~~€~~€~€~€~€€~€}€~~~€~€€~€~‚~~~~}~€€€‚~€~~€~€~€~€~€€~€~}€~€€€}€~~€~€€~€~}€€~~~€€~€~~€~€~€~€~}€€~€€~€~€~€~~~€€~€~~€~€~€~~€~€‚~~~€}~~}€€€~~~~~~€~€~€~~~€€~}}€~~€€~€}~~~€€~~€~~€~€~~}€~€~€~€~€~~€~€~€~~~~€~~~‚~~~~€~~€~€€€~~€~~}~€~€~~~€~€~€}~€€~~€~~‚~€~€~~~~€~€‚~€~€~€~€}€~€~€€€~€}€~€~~~‚~~€~€€}€~}€~€€€~~~~€~‚€€~€~~€€€€~~~€~€~~~€~~}~~€}€€€~~~€~~€€~~~€~€}€~€~€~€~~~~€~€~€~€€~~~~~€€€~€~~~~€~€~€}€~€~~~~€~~€€~€€~€~~‚~~~€€}€~~~€€€€~~~~}€~€€~~€~€~€~~~€~€€~€~~€~€~~~€~€€~€~~~~€~€~€~~€~€€€}~~~€~‚}€€}€~€~~~~~~€~~€}~~~~€~€~€€~€~~~~€~‚€€€~€~}€}€€€}€~~€~€~€€€~€}‚~‚}€~€€~€~~€~€~€~€~€€~~~~€€~€~}€~€€~€~~~€~€€~~~~€‚~€~€~€~€€€~~}€~€~~~~~€€~€~~€€}€~~€€~€€~€~~~€~€€~€}~~~€€~€~~~~‚€~~~€~€€~~~€~€€€€~€~~~€~~€~€~€~~€€‚~€}~€~€~~€~~~€~~~€~~~~~€~€~€~}~€~€~~€~€~€}€~~~}~€~‚€€€~~~€}€~€}€~€~€€~€}€~~}€~€~€~~~€~~€~€~~€~€€€€~€~~€~€€€~~€~~‚€~€~€~€€~€~€~~€~~~~€~~€‚~~~~~€~~~€~~~€~~€~€}€~~€}€~€€~}€~~€~~€€~€~~}€~€‚~~~~~€€~~€~€~~€€~€~€~~~~€€€~€}~~~‚‚~~€~€}~~~€€€€~~€}~€€}~~~€~€€~~€~~€~~~~€€€}~€~€}€€~~€€~€€~€~€}~€~€€~€~€}~~~~€~€€~€~~~€~€€€~€~~~€~€€~€~~€~~€}~~€~€€€~}€~€~€€~~~€~~€€~€~~€~€€~€~€~}~~€~}€~~~~~€~€~€€}~€}€~€}~€€~€~~‚~~€~€~€~€~~~~€~€~€~€~€~~~€~€€€€‚~€~~€~~€~~€~€~~~€~€~~~~€~‚~~€~€~~‚€~~~€}}€~‚€€€€~€~~€~€€~€}~€~‚€€~€~€~€}€}‚€~€~‚€‚~~~€~~‚€€~‚€~~€~€~€~€~~€~€€~~~~~€~€€‚~~~~€~‚€~~}‚~~~€‚~~€~€€€€}~~€~~~€~€}~~€~~€€~€~~}€~€‚~~~~€~€~€~~€~€~}~€~€}€}€~€~~€~~~~€~~~€~}~€}~~}~€€€~~€~~~€€}€}}€~€€€~€~~€}~€~~~€~~€€~~~€~~€€~~~~€€€~~~€~€~~€}€~~~€€€}~}€}€~~€}€~€~€~~€~€~€€€}€€}€~€}€~~~€€~~€~~€~€~~~~€~~~€~€~€~~€€~€~~}€€€~€~€}~~€~€€€€~~~~€~~€~~‚~~€~€~€~~}€~€€~€~~€~€~€~~~€}~€€~~}~€€}€}€~~~~€}€~‚~€€~€~€€}‚€~€~€~€~~~€}€~€€€~€~€~~€~~€~~~€~€}~€€~€~~~€~~€~€~~~~~€~€€~‚~€}~~}€~€~€}€~~~€~~~€~€€~€~€~~~€~~~~€~~€~~}€~€~€~€€~€~~~~}€€~€~€~}~€~~€€€€~€~€}€~~~}}€€€~~€~~‚€€‚~€~~~~€€~~~~€~€€€~~€~~€€~€}~€€€~~~‚}€~€~}~€€~€~~~€}€~€~~}€~~€~€~€~}~€~~~€~€~~}€}~~}€~~€€}€~€~~€€~€~~€~~~€~~~~~€~~~€}€€€~€~~€}~}€~~€~~€€~€~~€~€}€€~‚€~€~~€~€€€~€~~~€~€€€~}~€~€€~€~€~€€}}€}€~€}~}~€~~‚~~~€~€~€~€€~~~}~€€€~€~~~~€€~€}~€~€~~~€~~€~€~~~€~€~€}~€~€~~€}€€€€€~~€~~~€€€€~€}€}~€€~~~~€~€~~~€~€~€~€~~€~~€~€~€~€}€~€~€~~€~€~~€}~€~~~~€~€~}€~€€~€~~€~€€~€}~~€~€€€~€~~~~€~~€}€~‚€€€~}~~€~€~€€~€~~}€~€€€}€}€€~€~~€~~€~€€~€}€~€~~~~~~~€~~~~~~€€~€~€~€~€~~€}€€~~€~‚~~~}€~€}~~~~~€€€}~~€~€~€~~~}€~€€€~~€~~}€~€€~~~~€~€€€~€~}~~€}€~~€~~~~€€~~~€~€€€~~~€~~€€~€~~~~‚~€}€€~~€~~~€~€€~€}€€}€~~~~€~~€€€~€~~~€€€~€~~€~€~~~~€}€~€~€}€€~~~~€}~€}€~~~}}€~€€~}~~~€~~~€~~€~€€~~~~€~€~€€}€~€~€}€}~€}€}~~~€}~€€~€~€~€~~~€~€€~€~€~€~~€~}€}~€€~€~~€}€€~~€}€~€~}€~~€€~}~~€~€€~€}~}€~€~~€~~~€€€~€~~~~~~€~~€€~€~€~~€~€~€~€~€€~€~€}€~€}~~~€~~~‚~~~€‚}€~~~~€€€~~€€~€}€€~€~€~€~€}~~~€}‚€€€~~~€~€~€€€~}~€~€~€}~~}~€€~}€~€~€~€~€}€}~~}€€~~~€~€~€€€~~~€}€€}~~€~€€€~€~€}€€~€~€~~€~€€€€€~€~~~~~~~~~~€}~‚€€~€~~~€~~}€~€€€~€~€~~€~~€€~}~~~~~€~€~€€~€€~~~~€€~~~€~€€€€}~~€~€€~~~‚~€‚}€~€~€~~€~€€~€€~€~~~~~€~€€€~}€~~~~€}€}€~€~~}~€~~€€~€€~€}€~€€€~~~~~€€~€~~€~€€€€€}€~~~€~€€€~~€~€€~€~~~€~~€~‚~€}€~~~~€€~~~~~~€~€€€~}€~~~€€~€€~}€~€‚~~€}€~€€~~~~~~‚~€}€€€~~€~~€‚~~~~~~€€}~~€~€€~€~~€~€€~€~~€~€~~}€‚}€~€€~}€~~€€~€}~€~€~~~~€€~~~~~}€}~€€€~€~~~€~€€~~€~€~~€€~€~~~€}~€€€~~}~~~€€€~€~~~€~€~~~~~~~€~~€€€~}~~€~~€~}~~€}~€€~€€~€}€‚~€~~€€‚~€}€~~€~~€~~€~~€~~~~}~}€~~~~}€~€€€~~€~€}€~€~~~€~€}~~}€€€€~~~€~€~€~€~€}~€~~€€€€~~~€~~~€~€€~~~~~€~€€~~€~~€€}€~~€~€€~‚~~€~~~}€~€€}€~~~€€~~€~~~€~‚€€‚~€~~~€€€~€~~}€~€~€~~€~€€€~€~~€€}€~}€}€€~}~~~~€~~€~~~~~~€~€€€~€~~€~€~~~~‚~~~€~€~€~}€~~~€~~€€}€~~€~~€}~€~€~~€}€€~€~~€~~€€~~~~~€‚~€~~€~~€~€~‚€‚~€~~~€~€€~}~€}€€€}}€~‚~‚~€~€€~€~~€~~‚€€~€~~€~€~~~}~€~€~€}‚~€~~~€~€~€~€~€}€~€~€~€~~€}}~€~€}€~€}€€~~~~~~€‚~€~€~€~}€~~~~~~€~€€}€~€}€~~~€~~€€€~€~€~€~~€~€~€}€€~€~€~~~€€~‚€~€~€~~€€~~~€~~~€‚~€~~}€~€~~~€}€€~€€}~€€~€~€}~~€~€€~~~}~€}~€€~~€~~~€~€€~€~€~~€~€~€~€~~€€€€~€}~€~€€~€}€~~€~€~€~€~€~~~~€}~€€~~€}€€~€~€~~€€~~€~~}€~€€€~}€~~~€~€€€~€~~€~€€~~€~€}~€~€€}€~€~~€~~~~€~€€~€~~~€€}€~~~~}€~€~~~~€€€~~€}€~€~~~€€~€~~}~€~€~€~~~~€~€€~€}€~~€~€€€~€~€~€~€}€~€~~~}~€}€}€€}~€‚~€~€~€~}~~~€€€~€}€~~~€~€€€~€~€~~€}~€~~}€~€}€~~€~~€€€€~€~}€~€€€}€~~~€~€~~€~€~€~€~€~€~~~€~€€€~~~~~€€~}€~~~~€~€~~~~~}€~€€}€~~€~€€€€~~~€~~€€~}€~€~€€~~€}€€~~€~~€‚~€}~~€~€}~€~€}~~~€~~€€€~€~€~~~~€~€~€~}€~~}~€€~€€~‚€~€~~~€~€€~€}€~~}~€~€~€‚~€~}~~€~€€€~~~€€~€}~~~€~~~}~€~€~€€~}€~}€~€€~~~~}€~€€€~~€~~€}~€~‚~}€~~‚€€~€~~€}€~~}~~‚~~~~€~~~€~~€€~€~€~€€}€~}€~~~€‚~€~€~€~~~~€~€~€€‚}€~~€~€€}€€~€€}€}‚~~}€~€~~€€~~~~~~~€~~~~}€€~€€€}~~€~€~€€€}~~~~€~~€~€~€~€~€€~€~€~€~~~~~~€}€~€}~~~}€~€~~€~~€~€€~€~€~€€‚€~€~~€~~€€~€€~~€~€~~€~€~€~~~~~€~~€}€~~~~~€‚~€}€€~~€~~€~~~~€~€€~€~~€~€~~~~~€€~~~~€~€€€~~€~€~€~~~€€~€~~}€€~~€~~~~€~€~€~€~~~~€}€€~€~~‚~€}€€~€~}~}~€~€€€~‚~}€}€}~~~€~€€€€~~€}€€€}€€}€~€~€~~~€~€€‚~€}~~€~~€~€€}€~}~~€~€‚~€€~€~~~~€€~}~~~€~~€€€~}}~~~~~€}€}~€}€~~~~€€~€~~~~€~~~~~~€€€~~}~€~~€€~~€~~~~€€~~~€~€€€€~€~~~~€~€~~€~€‚~~~~€€~~~€}€€~€~~€~~~€~~~€}€€~€}€~~€€€‚€~~€~‚€~}~€~€€~~}~~€~€~€~€~€~€~€}€~€~~€~€~€€~€~~~}€~~€€€}€}~€~‚€€}€€~€~€}~€~‚~~~€~€~~€~~€~~€€~~~€~€€~€}~€~€€~~€~€}~}€~~€~€~€‚~€~€~~€~€~€€~€}€~~€~€~€~€~€€~}~~€}€€€~€~~€~€~~€~}€€~€}~€~€~€~€~€}€~€~€~€€~€}€~~€~€}‚€~~~~~~€€~€~~~€~€€~€~~‚~€~€~~€~~€~~~€~€~~€}€€€‚~}}€~€~~€~}€~€~‚€‚~~~€~~€~€~€~~‚}€~€€~€~€}~€€€€~~~~€~€~€~~€€€~~}€~€€~€€~€}€~€}~€~~~€}€€}€~€}~€~€~~~~€~€~€€€‚~~~€€€~~€}}€€~€~~€}€€}€~~~€~€~€~€~€€~~~€~€~~~}~}€€~}€~€~~}~€€~€}~~€}€~~€€~€~~~€~€€€~~€~‚~€~€€~€~~~~~}€~€€}€~~}~€~€€~~~‚~~~~€~‚€~~€~€}€€€~~€€~~€~~}~~€€}€€~€}}}€~€€~~€~~~~€€~€€~~~€~~€~~€}~€}~€~€~€€€~~~~€~~€€‚~€~~€~€€~~~}€€~~~€~~~€}€~~~~~€~€€€~€~~~€~€~€~‚€~€~~~€~€}~~€~~€~€}€}€~}‚~€~€~€~~~€}~€€~€~€~~~€~~€~€€~}~~~€~€}€€}€}€~~€~~€~€‚~}€‚€€~€}€~~~€€}~~~€~€}€~€~€~€~~€€€€€€}€~~~€}€~~€~€}€~~~€}~~‚€~~~‚‚~~€}€~€~€~}€€~~€~~~~‚~~€~~}€~€~€~€€€~~€~~~€~€€~€}~~€~€~~~}~€€€€~~~€~€~€€~€~€~~~~€~€~€~~~€€~~€~~~}~€~~€~€~€~€~€}~~~}€}€~€~~€~€~€~€€~~€€~~€~€~€~}~~~€€}€~~€}€~~€€}€}~~~~~~€€~€~€~€€~~~~€~€€~€~€}€~€}~~~~€~€~€~~~}€~€€}~€~€€~€~€~€€~€~€€~€~~~}~~€€~€~~~}€~~€~~€~~~€€}€~~€~~}€~€}~~~~~~‚€}€~}€~€‚}€€}€}~~€}~€€€~~~}~€~€€}~€€~€}€~~~}~€~}€}~~~€€~€~~€€€~€~~€~€€}€€}}€~‚€~~€~~€~€€~€~~~~€~€}~~€~€~€~~€~~~€~€~~€~~~€~€~~~€~€~€}€~€~€€~€}€~~}~€€~}€~~€~€€~€~~~€~~€‚~~€~€~€}~}~~€}€}}~~€}€~€€~~€€~€}~~}~‚€‚~~€}€€~€~€€}‚€~~€~~€~€~€}~~~€~‚€~€~€€~~~‚~€}€~€~~€~~€}€€~€~~}}€~€€~€}€~€€~~€}~~~~€~€~€~~~~€~~€~€~~}€~€€€~~€~~€€€~€~€€~~€~‚€€~~~~~~€~€~}€~€~€€~‚~~~€~€~€~€~~~~€€~€€}€~~€€~€~€€}€€~€~~~}€€~€~€~}€}€~~~~€~€~~~~€}€~€~€~€€}}€~€€~€~€}~~€~~~}€~€€~~€~€€~}~}€~€~~€~€€}€~~~~~~}€}€€~€~~~~~~€€~~€~€}€~€€}€~~€~‚‚~~~€}€~€€~~€}~€~€~€€~~€~~€€~€~~~~‚€€~€}}€~€~~€~~€~~~~~€~€~€~~€~€~~~~€€~€~~€~€€‚€~€~~~€~€~~~~€}€€}€~}€€€~€}€~~~~~€€~€}~€~€~~~~~~€~€~‚~€~~€~~€~€~~~€~~‚~}‚~~€~~~€~‚€~}~€~~€€~€~€~€~€~~~~€€€~}~€€€~~~~€}€~~€}~€~€€€‚~~~~~€€~~€~€~€~~€€€~~€~~€~€€~~~~€~~€€€~~~~€€€~€}€~€€}€~€~€~€~~€~~~€~~~€}€}€}€~€~~~~~€~€~€~~€~}}~~€~~€~€~€}€~~~€~€€}€}€~~€~~€€~€~~}€~~~€}€€~€~€~~€~€€~€~€€~~~}~€~€€~~€~~~€}~€€€~€~~~~€~€~€~}€~€~€~€~€~€~€}€€€€€€}}~€~€~€€€}€~~€~€€‚~€~}€~€~€~~€~€€~€}~€~~‚€€~~~~€~€~~~€~~€€~€~‚~~€}~€~€~~€~€~~~€}€€~€~~€~€€~€~~€}€~~€€~€~€~€~~€~€~€~€}€~~€~€~€~€~}€~€€€~€}€~~~‚~€~€~€~€}~~€€€€}~€€~€~}€~€~~~~€~€~~~€~~~€~~~~~~€‚}~€€€€~€~~~€~€€~~€~~~~€€€~€~~€~€~~€~€€~€€~‚~€~€~~€}~€€~€~€~}~~~€€~€€~€~€~€~‚€~~€~€€~€~€~~€€~~~€€}€}~~€~~~~~~~€~€~€~€€€}€~€€~€~€~~‚~~~~€~€~‚~~~~€€~€~}}€€~~~€€}€~€~~€~€~~~€€€€}}€~~€€€~~€~~€~€€}~€~€~€~~~€€~€€~€~€}€}€~€}€€~~€~€€€}€~~€~€€€€~~€~€~~€~€~~~~€}~~~€~€€~}~~~~~€~€~€~€~~€€€}€~~€~~~}~€}€€}€~~€€€~~~~~€~}€~€€}€~€~}€‚~~~€€~€~~€~€~~€~€€~€~~}~€~€}~€~€~~€}~€€~~~~€€~€€~€~€€}€~~€~€~€~€~€€~€€€€~€~€~~€~€€€~€}€~€~€~€~€~~€~~€~‚~€~}}}€~€€~€}€~€€€~}~€~~€‚~~€~~€~~~€~~€€~€~~}~€~€~~€~€€~€~€~€~~~}€€‚~~~~~€}~€€~€~~€~€~€~~}~}€~€€~~€~~~~€~~~~€€€~~€~€€~€~~€€~€~€}€}€~}~€~€€€€€€~~~}~~€~€~~~~€€€€~€~~€~~~€‚~€~€}€~€~€~~~~~€~€€~~€~~~€€€}€~‚~~~€}}€}€}€~~~~~}€€~€~€~‚~€~€€~€~€~~€~~}~€€€~€~~€~~€€~€~~~€~~€~€~~~~€~~~~~€~€~~€~€~~€€}€€~~‚~~€}€~€~€~~~€~€}~~~€~~€€~€~€}€~€~€~~€~€€€€~€~~€~€€~~€~~~€€€}€~~~€~~€}€€~€€~€~~€}~€€€~}~€~~€€€€~}~~€~€€€~~~~~~~€~€€}€~€~€~~€~€~~€~~~~€€€~€~€~~~~€~€€~€~~€~€~~~~}~}€~€~€~€~~€€}€~~~~~€€€‚~€~~~€}€€~~€}~~€}€}~€€~‚€~~~€~}€€~€~€}€~~€~€€}€€~€~~~€~€~€}~€~~~~€~‚~~~}~~€}~~}}~€~€€€€~€}~}€}€€~€~€~~~~€€€~€~~€~~~€~€}€~€~€~~~~~€€~~~}€€~~€}~~€~€~€~€~€~~€~~€‚~€€~€~€~€~~~€}€€~~~~~€}€~~}~~~~~€~€€€€~€~~€~‚~€€~~}~€~~€~€~~~~€}€~€€~€~€~€~€~~€}€~€€~€€~€€€~€~~~~€~~~~€~~€~~~~€€€~~€~€~€}‚~}€~€~~~€}€~‚€~~~}€~€~~~€~€}€~}€}€~~~‚€}€}€~~~~€~€~€~€~~~~~€}~€}~€~€~€~~€€€~~~~~€€€€~~€~~~€}€€~~~€~€~}~€~€€€€}€~€~€~€}€€~€~~~~€~€€€€}€~~‚~€}€~€€}€~€~~€~€€~€~€~~~~~€~~€~~€~~€~€~€~€€~€€~~€~€~~~€~€€~}€~~~€~€€~€~~€~€~€~‚~€~€~€~}€}~€~€~€~€~~€~€~~€~~~~€~€~€~€~~~€~}€~€~~~€~€€~~~€~€€~€}€~€~€~€€~€€~€~€}~€~€~€}€~€~~~€}€~~~€~~€€€~~~€~€~€}}€~€€€~€~~~€~~~€~€€~~€~~~€€€€€~€~~€~~€€}€~~€}€~€~~~~~€‚~~€~€~€~€~~€~~~€~~~€}€~€€€~€~~€€€~~~€€€~€~~€~€~€~€€~€~~}€~€€€~€}~€€€~~~~€€€~~€~~€~~€~€~~€}~€~€~~~€€‚€~€~€€~~~~€‚~}€~~€~}~~€~€~€~€~}€‚~~€~€}€~‚€~~€~~~~€~€€~€~~€~~€€~}€~~€~€€~€~€~€€}~€~~€~~€}€~}€€}€~}}~~€}‚~€~€€~€~~€~€~~~~€€€~~€~€€~€~€~€€€~~~~€~‚€€€~~~~€€€€~€~~}}~€~€~€~€~~~}€~€~€}€~~~€~€~€~~~~~~€~}~‚~€~~€~€~}~€~€€~€~~€~€€€~€€~}~‚~~€‚~~€~€}€~~~€~€€~€~~‚}~€€}€€~€‚~€~~~~}€~€€€~~~~€~€~€~€~~~€‚~€~}€€~€~~~~~€~€~~€~€~€~~~~~‚€~€~€€€€~~€~~€~€~~~~€}~~~~~€~€~€€~~}~€~€~€~€~~~~~€~€}€€}€~~~€}€~‚€€€~~~€~€~€~€~€}€~~€}~~€~~€}~~~}~€~€€€€~€~~€~€€~}€~~€~€€€~}~~~~€€€~~~€~~€~€}€€~€~~~~€€~€~€~~€€~~€~€~€~€~€}€~~~€~}€~~€~~~€~~€}€}~~~€€~€~~~~~€~~~€€~€~~}€~~€€€€~€~€~~~~€~€€~€~~~~~€~€}€~€~€€~€~~}~~€€~€~€€~~€}~€~€€€~€~~€~€~€€~~€~€~~}~€€~~‚€~}~€~~€~€~~~€~~€€~€~€~~~€€}€~~€~€~~~€‚~~~€~€‚~€€}€~€~€~€}€~€€€~€~~~€~€€€}~€}~€}€~€~€€~€~~}€}€~~€}~€~€~€~~~€~€~€}€€~~~~€~~€€€~~~€~€€~€~€~~}‚~~€€~~€~~~~€~€~€~€€~€~€~~~~€~€~~~~~€~€~€~€~~~€}€~€~€€~€~~~€~€~~€~€‚~~~~€~€~~€~€€~€~~€~€~~~}~€~€~~~~€~€~€}~~~~~€€~€~~}€€~~€~€€~~~~€~€~€~€~€~~€}€€€~€~~€~€€}~~~‚~€}~}~€~~€~~~~}€~€€~€~~€~€€€€~}~€€~}~€~€~€€~€€~€~~~~~€}€}€~€~~‚}~€~€€}€~~~}~~€}~~‚€‚€~~~~~~€€~€~€~€~€~~€~}~~}€~€€€~€}€€~€€~€~~€~~~€€€~~€~~€‚€~€~~~€€}~}€~€‚~€}~~€~€€~}€€~€€~}~~~€~€}€€~€~~~~€}€}~~€€€}€~~}€~~}~~~€}€~€~€}€~}~€€~€~~~€€€€}~€}~€€~~~€}~€~~€~~~~€}€~€~€}‚€~€~€~€~€~~~~~€€~€~~~€~€}€~~€~€~~€}€~}~€€~€~€~~€~€~€~€~~}~€~~}€}€~€}~~€~€€€~‚}~~~€€~€~~€}€~€~~~~~€}€~€~~~~€}~€€€~€~~€~~~‚}~€~€€~€€~~€~~~~€~~€~~~€~€~€~€}~€€€~€~~~~~~~~€~€~€~~€~€~€~€~~~€~€}€€~~~€~~~€~€€~~}~€€~€~}~€€}~~€~}€~€}€~‚€~~€~}€~€~~~€~}~~~~€~€€~€~~~€~~€~€}€€~€~~~€~€~€}€~€~~~€}€€~€~€~€~~~€~~€€~}~€~€~€~~€~€~~€}~€€}€~€~~~~~€}€~~€~‚€~~€}€~€~}‚€~~‚~€~}€~~~~~~~€~~~‚~~€}€~€~~€€€~€~~€€~€~€~~~~~€~€~~€~~€}~~€~€~€~~~€~€~€€}€~~~}~€~€~€€~~€~~€~‚€€~€~~€€~~~~~~}~~~€~~€~~€€~€~€}€€~€}€~}~~€‚}€€}~€~~~€~€}€~~€}€~€€€~~~~~€€~~€~~}€€~€~~€~€€~~~€~‚€€}€~€~€€~€€~~€}‚€€~€~€~€€€}€~}~€€~€~~€€}€€~}€~€€~}€~~€€~€~€€~€~~‚~~€}‚€~€}~~€}€~€€~€~~€~€~€}~~€~~‚€~~~€~~€~€€~~~~~~€€€~~~~~~~€}€~}€}}‚~€~€~€~~€~€€~€~€~~~€€~€~€~~~~€~€~€~€}~}€~}€~€~€‚}~~~~€€~~~~~€€~€~€~~€~€}~~€}~€€}€~~~€~~~€~~~€}~€~€~€~€~~~~€€~}~€}€€€~€~~~~€~€~~€~}~€}~~€~€~€~~~~€~~}€~€€€~~€~€~€€€~~~~~€~€~~~€~€}~~€~€}€€~€~~€~~~€~€~}€~€‚}€~€~€}~~~~€~€~~€€€€€€}~~~€~€~~~€~€}€}€}€~~~~~}€~€~€~~€€~~€~~~}€€~~€~~~€€~~€~~€~~}€~€€€‚}€~~€~‚€~~€‚~~~€€€€~€~}€€~€~~~€~€~~~€€~~~~€~€~€~~~€~€~€}~€~€€~€~~€~€€}€~~€€€}€~}€€~€~€}€€~~~~€~€€~€~€~€~~‚€~~€~€€~€~~~~~~€~€}€€~€€~~~~€~€€~€~‚~~~~~€~€€€~~~~}€~€~€}€~€~€~~€~~€~~~~~~€~€€€~~~€}~€€~€~~€~~€€‚~}~€~€~€~~~€}€€}~€~€~€~~~€€€~~~€~~€~€€€~€~~~€}€€}€€~€}€}€~~~€~€€€~~~‚~~€‚~€€~€~~€~~~€~€}€€}€}€~€~~€~€~€€~~~~~€~€€~€€~}€~~€~€~€~€€~~€‚~€~~€~€€~€~~€~€}€€~€€€€~~~€~€}€}~~~€~~€~€€‚~€€‚~€€~€~}€€}~~€~€~~€~~€€~€~}€}~€€~€~€€~~€~~}~€€€~€~€~~~€~~~}~€~€~~€}€~~~€‚}~~€~€~€~~€~~€}€~~~~€€‚~~~~}€~€‚}€~~€€}€~€~~€€€~}~€}€~~~~€€~~}€~€€~€~€~€€~€~€~€~€€~~€~€~~~~~€~~€~€~€€}€€}€€~€€~€~€~~€~~‚€~~~‚‚~~~~~~€}~~€~~€€~€~€€~€€}€~€~€~‚€€‚€~~~‚~~~€~~~€~~~~~~€}~€~~‚~€~‚€~~~€~€€€~~~~~~‚€‚~~~€~~~€€‚~€}€€~~~€~€€€‚~~~‚~~~€~€€~~~~€~€‚~€€~‚€~~‚€~}€~€€€~€~~€}~€~€€}€~€}~~~€~~€~€~‚€~~~€~€~€€~€~€€}€€~~€~€~€~~€~€~~~€~~€~€€€~€~~€~€}€~}€~~€~~€~€~~~}€~€~€~€~€€~€~~€}€}€~€~€€~‚€€€~€}}}~€}€}‚~~~~~€~€€~€}€~€€}€€~~€}€~~€~~~€~€~~~}~~€~€}€€€€~€~€~€~€€}€~€~~€€~}~~~~€~~}€~€~€~~}€~€~€}€~€~€~€~~~€~~€~~~~~~~~€~€~€~~€~~€€€€~}€~€~~€}~€~~~~€~~~~€~€}€~~€~€~€€~€€~€~€~€~€~~€~€~~€~€~~€}~~€~€~€~€~~€~~€~~€~€~~€~€~€~}€~€~€~~~}€~~€‚~€}~~‚~~~€€~}€~~€}~€~~~€~€~}~€}€~€€€~€€}}~~€~€€€~€~}~~€~~~€}€€~~~€~~€~~‚€~~~~~€€€~€~€~€~€~€~€~€€~€~~€~~€€€~€~}~~~~€~€€~~€~~~€~~€}€~€~€~~~€~€€~~~€~€‚~€~€€~€~~€€~€€~€~€€}€‚}€~~€~€€~~~}€}€€€€~€}€~~~€€}€~~€~~~€~€€€~~~~€}€€~€€}€€€€~€~€~€}‚€~€}€~€~~~~‚€~~€~€}€~€~€}€~€€€~€~~€~~~€~~}€}€~}€~€~€~‚~~€‚}€}}€~~€€~€~€~~€~~€~~~~€~€~~~€~~€~~€~€~€~€~€~€€~~€~}€~}€~€~~€~~}€~€€‚~~~€€~€€}}€~€~~€~~~€~~‚€~~~€~~~~~€~€€€~~€}€€}€~€~~~€€€~€}€}‚€~~~~€~€~~~€~€~€€}€}€~€~~~~€€~€~~~~~~€€‚~€~}€~~€~€€€€~€~€}€~€~€~~€~€~}€~€~€~~~~€}~€~~€€€€~~~€~€~€~~€~‚€~~€~~€}€~€~~~€~€€€}€}€}~~€~€~€}~~‚~€}€~€~€€}€}~~~~}€~~€€€}~~}€}€~~€~~~€~€€}~€~€~~~‚~~~€~€}€~€~~‚€~~€~€}~~~€~~€€~€~€~~~~€~€€~€~€~‚~€~€~€}‚~€~}}~~€}€~~€~€€€~€~}~~‚€~~€~€€~€~€}~~~€~€~€~€~~~€~€~€€~€~€~€~~~~€~€€€~~~€}~€~€~~€€€~~~€~€~~~~~~€~€~~€€€€~~€~€~~~~~~€€€~~€~€~~~~~€€}~€~€}€~~€~€~~~}€~€€~€~~~€~€~€€€}€€~€€}€~€~~€~~~€~€~~~€~~€~€~}~~€€~}€~€~€}~~€€~€~}~€~~~€~~~€~~€~~€€€~€~€~€~~€~~~‚€~~~€~}€~‚~€~}€}~€€€€~€~}€€€€~€~~€}~€~€~}~~~€~~~€~€~€€€~~~~€‚~~~~€~~~€~~€~€~~€€~€~€€~€~}~€~€€€~€~~€~~~€~€~€~€}~}€}€~~~~€}€€€~~~€~€€€€}€~~€~€~€€€~~~€~€€€}€~~~~~€~€~€‚~€~~~€~€~€~€~€~~~~‚~€~~€}€€€~€~~~~€~€~€}€€~~€€€~~€~~€€€~€~~~€€~€~~~~€~€~€~‚~~€~€‚~€€~€}€€~~~~~~€~€€~~~€}€~€€~€€}€€~€€~~~€~€€€€}€~}€~~~~€}€~€€~€~€~~€~~~~€~€€}€~€~€}€~€~€€}~~~€€}~€~€~~~€~€€~€~€}€~~€~~€~~€~~}~€~~€€€~~€~€€}€~}€€~~~~}€~€~~~~}~~~€~€~~~~€~}~€~‚€~€~~€~€~~~€}~~€~~€~~€~~€€}€~€€}€}€~‚~€~€}~~~€}€€€~~~~~~‚~~€~~€~~€~€€€~~~€~~€€~€~€~~}€€€~}€~‚€€~€€~}€}€~€~}€~€€€€~~€}~€~~~~~€~€~€~€~€~}~€€~€}~€~€€€€~~€~~~€€~€~€~€€~~~~€€‚~€~}€~€~}€€~€€}€~€€~‚€~€~~~€€€~~~~~€~~€€€}€~~~€€€~€~~~~€}€€~€~~~€~€€€~€~€~€~~€}~~€}€}€~~~€~~€€~}~~€~€€~€~~~~~€~€€~€~~~€~€~€~~~~€€~€}~~€~€€‚~~~~~}~€~€}€~~€€}€~~‚~€~€~€~~}~~€~€~€}~~}‚€€~}~~~‚~€€~}€~€}~~€~€€€€}€~}~‚€~€}€}€~~€~~~€}€~€~€€~€~€~~~~€~€€~}€~~€€~€~}€~~~€€}€~€€€€€~€~~~~~€€}€~~€~€~~}€~~€€~~~€~€~~€~€~€€€~}€~~~€~€~€~€~~€‚~~~€~~€}€~~€~€~~~€~€~€}~~€~‚€€~€~€~~~€€~~€~€~€}€~€€~€€~~€~~~~~~~~~€~€}€}€~€~€€€~~~~€~~€~€~~~€~€~€~~~~€€€€~€~~€~€~€~~~€~‚~€€~€~€~~€€~€~€~€}~€}~€€~€~~~€}€€€~~~€~~€€}€}€~~‚~~~€~€~€}€~€€~€~~~}}~~€}€~~€~~~€~€€~~€~~~€‚~~~~~~€€~}~€~~~€}~~€~~€}€~€€~}€~~~€~~€~~€~€€~€~~~€€€‚~€~~€~€‚€}~~€~~~€€~~~~€~€~€€~€~~€~€€‚~€~~€~€€~}€~~€~~€~~~~€~€€}€~~~€~€€~~€}~€~€€}€€}€~€~€‚~~€~}~~~€~€~€~€~~~€~~€~~€~€~€~}€~~€~}~~€~€€}~‚€~~~~€}€~~~€€€€~~€~€‚~~~€~€~~€~~~}€~~€~€~€€~€~~€}~€~~~€~}€€‚~€~€~~~€~€~~€~~~~~}€~‚€€~€~~~€}~€€~€~€~€}~~€~€€~€~~~}‚}~€~}€€~€}€€~~~€~€€~~~~~€~€€~€~~~€~€€€~}€~€€~€}~~€~~€~€~€~~€}‚~€€~~~€}~€}~~€}€€‚~€~€~€}€}€~€~€~~~€~~€~~~€}~€€€~€€~~‚~~€‚~€}€~~€€~~€}~€€~€}~~€~€~€€~€~~~€‚~~€~~€}~~~€‚~€~€€~~~~€~€~}~~~€~€~~€~€~~€~€~~€}€€~€~~€~€€~€€~~€~€~‚~€€~€}~€~€€~~€~~€~}€€~€~~~~€~€~€~€~~€~~~~€~~€~€€~~~€~€~~~‚~€~~€~}€‚~~€~€~€~~~€~€€‚€~‚~€~€~€€~~€€~€~€€~}€}‚€‚~~}€~€}€€~~~~~}~~€~€~~~~€€€~€~€~~~~€~~€€€€€~€}~~€~€~~~~~}€~}€}€~~~~€}~~€~~~€}€~€€~~€~~€~~~}‚€~~€€~€~€~€~~~€~~€}~~~~~~€€€~€}~‚}€~€~€}€~€~‚~~€~€~~~€€€€~€~~~~€€€~€~~€~€‚~€€~~€€}€~~~~}~€~€~~~}~€€~~~~€~€~€~€~€}€€~€}€€~€~~€~~€~~€~~€~~‚~‚}€~€~€€~~~€~€~€~~€€~€€‚~€~~~€~€~~€~€€€~€~~€~€}~~~€~€}€~€€~~~}€~€~‚€~~~€~€~‚~€€~€~€~~}~€~€~~€~€~€~€}€€}~~~€~€€~€}~}€€~€~€}€~~€~~€~€€€~€~€~€~€~€}~€€‚~€~~~~€}€‚~~~~€~~~€}€~€€~€~~~€‚~€~€~~€}€}~€~~€~~€~€€~~~~€€~€~~€~€~€€~}€~~~€€~€~~€€~~~€~~}€~€€~~€}~€€}€~~~€~€~€~~~€~€€€~~€~€~€~€€~€}€€~~}~€}~€€~€~~}€~€€‚~€~~€~€€~~~~€}~€€~€~€}€~€~€€€~€~€~~€~€€€~€}~}€~€}€~€€~€~~~€}€~€~€}~€~~€}€~€~€~€~€€~€~€}€}~€€~€~~€~~€€€€~€~~€~~€€‚~~€~€€€~€~~~~~~€~€~€~€~~~€~€}€€}€~€}~~€~~€~}€~€}€~€~€~€~€~€~€~~€~€‚~~}€~~‚~~~}€~~€~€~~~€‚}€}~€}€~~~€~€€}€~€~~€‚~~~~~€~€}€€~€~~€~~€~€~~€~~€‚~€~€~~€~€€€~€~~€€€~}€~€€~€~~~€~~€}€~}€~~~€~€€€~~~~€~€}€€~€~‚€~~~~~~€€€€~~~~€~€€~€~~~~€~€~€~€~~€~~~~~~~~}~~~~~€€€~€~€~~€€~}}~~€~€~~€€~~€~~~€~€~~~~~~€}€~~€}€~€€€~~€~~€~~€~~€~€~€~}~~~‚~€~€}€~€€~~€}€~€~€}~€€€~~€~~€~~}}€~€~€~€~€~€~€€~€~€~~€~~€€€~€~}€~€€~~€~~}~€€~~~~~€~~€~€€}}€~‚€€~~€‚~€}€€€~}€~€~€~€€~€~€~}~€~~~€~~€€~~~€~€€}€}€~~~€~€€~€~€~€~‚€}€~~€€}€€~€~~~€~€€~€~~~}~€€~~}€~€}€~~‚~~~€~€~€~~~€~€€€€~~€€~€€€€~€~€}€}~~‚~~€~€}€~~~~€€€€~€~‚€~‚~~€~€~€}~€~€~€€€~~~€~€€~~€‚~€~}€~€~€~€~~€~€€~~€~~€~~€€€~~~~}~}€~€~€}€~~~~€}€€~€~~€~~€~~~€~€~€~~~~€~€~~~}€€}€~~~~€~€~~€~€~€}€€~€~€€}~~}~€}€~~~~}€~‚~€~~€~}€~€€~~€~}€}€~€€~€€~~€}~~€€~€~~€~€€~~€~~~~€€~}€}~~€€~€~~~€}€~}€~€~~~€‚~~~}€~‚€€~€~€}€€}€€~€~}€~€€€€~~€~~€~€~€~}€~€~€~€~€~~€€€}€~~€}€€€€€~€~~~€€~€~€~€€~€€}€~€~~}‚~€}€}€~~~}€~€€~€~}€~€€€~€~€~€}€~~~€~€€€‚€~}~~~~€~€~€~€~‚~~€~€€€~‚~€~€~€€~€€}€~€€}‚~€~~€~~€~~~~~€~}€~€~€~~€~€€€~~~~}€~€~€}€~€~€}~~€~€~€~€~€~~€€~~}€~€~~€~€€~}€}~€~~‚€~~~~€~€€€~€}~~~€‚~€€~€~~€~~~~€~€€}€~~~~€~€~€~~~€~€~€~}~~€~€~~€~€~€~€}€€}€~~€~~~€€~~~~€~€€~€€‚}€~€€~€~~}€~€€€€~~€}€~~‚€~~‚€€~€}€~~~€€€€}~€~€~€~~€~~}}€~€€€‚~€~~~~~€~~~€~€€~~~~~€€€~€}€~~€}€~€}€}€~€}}~‚}€~~€~€~~€~}€~~~~€€~}€~€~€€~~~~€~€~€~€~~€}~€}€~€€~~€~~}€€~~}~€~€€€~}€~~~€€‚€~~~~€~€~~€~€€€~€~~€~~~~}~€}€€~~€}~~€~€}€~~€~€~~~€€€~~€~€~€~€}€}~}€~€}€~~€~€~~€€~}~€~~€~~~€€}~€~€€}€€~~€~€}~~€~€~€~€~~~~€}}€~~€€€~~~~€}~€~€€}~€}€~€~€}~€~~€~~~€}~€€~€~~~~€€~€~~€}€}~}~€€€€~~€~~€~€~~€~€~‚€~€}€~€€~€€}~~~~~€€~}€~~}€~~€€~€€}}~~€~€€€~€~~~~€€~}~~€€~€~~~€~~~~€€€‚~~~}€}€~€€~~~€~€~~€}€~€~~~€~€€}€€~~€~€€}€~€~~€}~€}€~‚~~~€}€~~€~}}€~€€€}€~~€~€€~~~~}~€~€~~€}€~~~€€~€~€€~‚€~~‚~€€~€~€~}}€~€€€~€~€~€~€~~€~€~€~~~€~€~€~~~‚€~~~‚~€~~€}€~~€€~€~€}~~~~€‚}~~€~€~~€~~€€‚~€~‚~~~€€}€~€~€~~€~~}~€€~~€~~€~}}€€€~€~~€~€~~~€~~~~€~~~€~€€~}~~~€€‚~€}€~‚€}~€~€}~‚~~€~€~~€}€~‚~~}}€~€~~€~€€€€}€€}€~~€€~~~€~€}€~~€~€~€€~€~~~€~€€}~~€~~€~~€€€~€~€~~~€~‚€~€~}€€~~‚€~~~€~€}€~‚€~~~€~~€~~}€~€~€€~€~~‚€~}~~~~€}€€}€~~}€~€~~€~~€~€€~€~€€€~~}€€~€~~~€~€€~€~~~€€€~€~}€}€}€}€~€~~~€~€€~~~~~~‚€€~€~~€~~‚€~€~~€~€€€‚~€~~€‚€€~€~~}€€~€~€~€}€€~~~~€~€€~~~‚~~‚~~~}€~€~€~€~~€~€~€~~€~€~€€}€~}€‚~~~~€~€€~}~~€€}€~€€~€~~€‚~~~}€~€€~~~~‚~€~~}€~~~~~€~~€~~}€~€~€~‚~~€~€~€~€~€~~~€~€~~‚€€~€~€}€€~€~€}~~€~€~~~€~€€~€}}€}€~~~€~€€~~~}~€‚~€~€€}€}~~€~~‚€}€}‚€~€~€€€~~~~€}€~€}€~~€~~~~€€~€~~~€~€€€~~€~~€~€~€~~€~~€}€~€€~€~~~~€~~€~~~~~€€~~~€~€~€~~€~~~€}~€€~~€~}€~€~~~~€~€~~}€~€~€€}€~~€}~~~‚~~~€}~€~€~€~~~€€}‚€~~~~~€~€€~~€~~~€}~€€~€~}€~€€~}€}€~€€€‚~€~~~~€~€~€€}~€~€~€~~€~€€~~~~~€‚~~~~~~€~~€€€~€€}~~€~€€~€~~~€~~€€~€~‚€~~~~€€~€~€€~}€‚~~~€}€€~~~~€~€€€~€}€~~~~~~€~~€~€€~€~~~}€~€€€€}~~€~~€€~€~€~€~€~€~€~€€€~€~~€~€~‚~€~~~€~~€€~€€~€~~‚€}€~~€}€€}€~~~€~€~~}~~€€}€~~~~€~€€~€~~~€~~€~€~€~~~~‚€€~~}€~~€~~€~€€~€~~~€€~}~}~~~‚~~€~€}€~~€~~€~€€}€~€}€~€~}~€€€~€€€}~~~€~€}€~~~~€~€~~€~€€~~~~€}€~€~€~€~€€~€~~~€€€~~€~~~~€€}€~~€~~€~~~€}}€€€~}€~~€}€~€~~~€~€~~€~€€~~€~€‚~€~€~€~~€~}~€~€€~€}~€~€€~€~€~~~€€}€~€~€€~~€~€€€€‚~€~€}€~€~€~€‚~€~€~€~~€~€~€~€}~€€€~~€€}€€~€~~€€~~€~}~€~€~€}~€~}~~~~~€}€~€~€€~€~~~~€}€€€~~~~€~€~~~€~€~€€~€}€~~~~€~~€€~€}€~~€}~€‚~~}€~~~~~€€~€~€~~€~€€€}€~~€~€€~~€~€~€€€~~~~€€€€~€~€~~€€~~}€€~€~€~~€~€~€}€€~~€€~~~~€€~~€}€~€~€~€~~~€€}€~‚€~€~€~~~€~€€~€~~€~€~€~€€€€€~€~}€~€€€}€~~~€}~€}€}€~€~€€~~~€~€~€~~€~~€~€~€~~~~€€~€~~€~~~€~€€~€~€€~€~€~~€‚~€€~€~~~€~€€~€~~€~€~€€€~€~~~€€~~€~~€~€~~€~~~€~€€~~€€~~~€}~€€~€~~~~~€€}€~~€~€~€~~€~€~€}~~€~€€€€~€~~~€~€~~}~}€~€€€~€~€~~€~~€€~€~~~~€~€€~€€~€€~€~€~}€~~}}€€€~~~~€€~~~~€€~~€~~€€~€~~€~€}€~~~€~€€}€~~}€~~‚~€€~€}~~~~~~~~~€~€~~~~~~€~€€~€~€~€}~~}€~€€€~~~€~~€€~€~~€~€~~~~}~€€~€~€~€~€}€€~€~€~~~€~€~~~€€€€~€€}€~}~~~~€€~€~~€~~~€~€€~€~€~}€~~€€€€~€€~€~~~€~}€~€€~€~~~€~€~€€~}€~~~€~€~~€~~€}~~€~~€~~€~€}€€}~~€~€~~€~€€~~‚~~€~~€~€~€~~~€€~€}~~~€~€€~€€~€€~€~~~€~~€~~€€}~€~€~€€~€}~€‚~~~~€~€€€}€~~€~€€€€~€~~~€~€€~€~~~~€€~~}~€€}€~€~€~~€~€‚~~~€~€€€}~~~€€~~~~€~€‚}€€~€€~€~~}~~~€~~€}€€~~~€~€~€}€€~€~~€~€~~~€~€€~€€~€~€}€€~~~€~~€€~~~‚€~~~€~€~€~€~€~~€€~~€~€~€~€~~€~~€€€€~~~€}~€€~~€~~€~~€€€~€~~~~€€~€~~~~€€~€~€~€~€~~€‚~~€‚~€~~~~~€€€€}€~€~~}€}~€€~€~~~€~~~€€~€~~€~€~€~€}€~€~‚€~~~‚~€}€‚~€~~~}€~€~~€~~€~€€€}€~~€~€~€~€‚€}}}€~~~€~~€~€~}€~~~€}~€€€€~€~€~€~~}~~~~€~€~~€~~€~€€€~€~~~€€€~€~€~~€}€~€~~€~~~€~~€~~~€~€€~€~€€~€~~€~€~~€}€~€€~€}~~}€€}~€~~€~~€€~}~€~€€€~€~€}€€€€~€~~~€€~€}~€~€€~€}€€~€~~}~€€~€~~€~~}~€~€~€~€~€~€~€€}~€€~~~~€€€~€~~~€~€€~€}~~€€€€~€~€~}€~€~€€}€}€}€~~€~€~€~€€~€~~~~~€~€~~~~~~€€}€~~~€~~€€€€~€~~~€~€~}€~‚€}€~~~€€}€~~~€}~€~~€€€~€}~~€~€€~~~€}€~~€~~€}€~€€}€~~~€}€}~€}€€~~‚~~~€~€~€~€~€}~~€~~€€€~€~}€~€~~€~€~€~~~~~~€€~€~~€~}~€~€~€€~~€}€~~~€~€~~€~}}€€~€~€~€€~€~~~€€~€~~}€~€€~~}€~€€€~~~~€~€€€}~~}€€~€~~}~€€~€~~€~€€~€~~~€€€~€~~€~€}€~}€~€€}€~~~}€~€~€~‚€€~}€~‚€~€}€~~€~~€~€~~€~~~~~€€~€€~~~‚‚~~€}€€~~~~€~€~€~€}€~}~€~€~€€~€~€~~€~€~~~~~~€~€~~~€~€€€~€~~~€~€~€}€~€~€}€~€€~~~~€~~€~€}€~}€~€~€€~~}~~€}€€~€~~~€~€€~€~€€~~€~€~€~€~€€€~€~~~~~~~}€€€~}€~}€~€€€€~~~€~€~~~~€~‚~€€€~€~~€~€€€~~~€~€€~€~~~}€}€~€~€€~€~~‚€}~€}€~€~~~€~€‚~~~~~€}€~€~}€~~~~€~€~}€~~~€~~€}~€€€~€~~~€~€}€}€~€~~€~€~€~€~~~}€~€~€~~~€~€€~}€~~€~~€~€€€€~€}~€}~€~~€}€€‚~€~~~~~€~~~€~€~€€~€~~€€~~}€}€~€~~€~€~}~€~€€€~~~~€€€~€~~~€€€~€~€~€~€€~€~}€~~‚~~€~~~~~~€~€~€~~~€~~~~~~€~€~€~~~€~~€~}}€€~~~€~~€€€~€~~~~‚~€~€~€}€}€~€~~€}€~€€€~€~€~€}€~€~€~€€~~€~~€~€€~~€~~€€~~€~~}€~~€~~€€~€~~€~€€~€~~€~€~€~~€}~~€~~~€~€~~~~€~€~~€~~}~~€€~€~~~€€}€~€~€~€€~~€~~€}€~€~€~~‚~~€~€€~€}€~~~~€~€~€€~~€~~~}€~~~€~€~~~}~~€~}€~€~~€~~~}€~~~~€€}~€~€}~~~€}€€}€~‚€}€~~~€~‚€€‚~€}€~~€~€€€}~~€~€€~~€~€}€€~€~€€~~€‚~€~€~€~‚€‚~~~~€~~€~~~~~€€€~€~€~~€~€~€~}~}~€€~€~~~~€€~~€~~}€€~€€}€}€}€}}~~€~€~~€~€~€~~~€~€€€€}€~€~~€€~~~~€€€~~~€~€~€€€~€~~~€~€~€€}€~~~~~~€~€~~~€~€‚~€€~€~€~~~~€~€~€~~~~€~€~€~€~~€~€~€}~€~€~€~€~~}~~~~}€~~€~€€€~}~€€}€~€~€~}€~~€~~~€~€~€}~~€~€€}‚€~}€}€~€€€€~€~~~€}€~€€~€~€~€~€~~€~€~~€~€€€€}}€€€}€~€~€€~~€~€~€€~€~~€€€~€~~€€}€}€}~}~~~~}€~€~€~€~~~€~€€€~~€~~€}€~€~~€~€~~~~‚~~€~€~€€~€}€~~~€€~€~€~~~~€~~€€~€~~~~~€~~€~€€~€~€~~~~~~~~€~~€~€~~~~~€~~~~€€~~€~€€~€}~~€~€~€~~€~~€~~~~€}~~~€€€€€~~~}€~~~€~€€}€~€~€~~}~€~€€€€~~~~~€~€}~~€‚~€~~~€~€€€~~~~€~€€}€~€€~‚€~~‚}€~}€€}€~~~‚~€~€~}€~~~}€~€€~~€~€~€~~€€€~€}~€~€~€~~}€~~~‚~~~€}€~€~~~€~€}€~€~~€€€~€~~€~€~€~€~€~}€~€€~€~€~€~~€~€€~~~~~€~€€}~}€~~~~~€~€€~~€}~~€€€~€}~~€}‚~€~€~€~€€~€~~}~€€}€~~€~€~~~€~€~~~~€~€~~€~€€€~€}€~~€}€€€~€~~~€~~€‚~€}~€€}€~~€~€~€~~~~~€€~€~~}€~€€€~}~€€‚~~~~€~~~~~~}~~~€€}~€€€~€~€~~~~€~‚~~€~~€~€~€~~€~€~€~‚~€€}€~€}€€~~~~€€}€~~~~€~€~€~€}~}€€~€~~}€}€~€~€~~~~€}€~~€}€~~~}€~€}€~~€€€}~‚~~~€~~~€~€€~€~€~~~~€€€~~~€~€~€~€~~~~€~~€~~€~€€~~~~€€~~€~~€~~€~~€~~~~€}€~~}~~€~~€~~~}€€~€~€~~~€€€~€~~~€~~~€~€~~€~€~~~€~€€~~~~€€‚~€~~}€~€~~~€€~€~~~}~€}€€}€€~€}~~~~€~€~~‚~~~~~€~€~€~}~~~€}€~€}€~~~€~€€~€}~€~€}€}€~~‚€~~‚~€~€~€~€~€}€€~€~~~€€~€~€~€}€~~€~~‚~~€~~€~‚€~€€~€~€~€€~~~€~~€~~€}€€~}€~~€~~€~~~~€~€~€~€€}€~~~€€~€~~~€~€€~~€}€~}~€}~~€€€~€}€~€~€~~~~~~€~~~€€}€~~€~€€€€~€~€~~€}~€}€€~€~€}‚€~~~€~€~€€~~€€~~~€~~‚€~~~€~€}~}€~‚€€€~€€}€~€~~€~~€~€€~€}~€}€~~~~€}€€~}~€}€~€}~€~€~~~~}~€}€€~€}€~€~}~€}€~~~~€‚~€€~‚€~~€~~€}€}~€~}€}€~€~~€~€~€~€~€~€~€~€€€~€}€~€}€~€€~€~€€~~€~€}€~€~~~~€}~€~€~~€~~}€~€€}€~~~€€~€~€~€~~~}~€~€}€~€~}~€~~€€~€~~€~€~€~}~~~~€}€~€~€~€~~~€}~€~~~€€~}~~~€}€~~~}€~€}€~€}€~}~€~}€}~~~~}€~~€~~~€~€€~€~~€}€}€~~€~~€~}~€€‚~€~~}}€€~€~~~€~€~~€~€~€~~~€~€~~~~€~€~€}~~€~€€~€~€~}€€}€~€~‚~€~~~€~€€€~€}~~€~€~~~~€~~~€~€~€}€}~€€€~}€~~€~~~€~~€}€~€~~€~‚€~€~~~€€‚~~€~€~~€€‚~€~€}€~~€}€~€€~~~€~€}€€€}€}€~€€~~~€~‚€~~€}~~€~~€~€€€~€~~~€€}€~~~€€}€~~}€~~~~€}€~}}~€€~€€~€~~}~~€~~€}~~€~~~€}~€~~~~€~~€€€}€€~€~~€~~~€‚~~€~€~~~~€~~€~~~~~~~€}€~€~€~‚‚~~}‚~€~€~~~€~€~€~~~€~€~~~~~€~€~~~€~‚~}€€€~€~~~~~€~€~€~€~~~~~€}~€~~€~~€~€~~€€~~~€~‚€~€}}~€~~~~€€~€€~€~€~€~~~€~€~~€€€~~€}~€~€€~}~~~€~€€€~€€~€~€~€}€€~€~~~€~€€€~€~~~~‚€~~€~~€€~~~~€€~€~~~}€~€~€~‚}~~€~~~€~~€~~~€~~€‚~€€~~€~€~~~€~~~~}~€€€~}~~‚~~~~€~~€~€~€~~€~€€€~€~~€~~€~‚€~~~€~€}€€}€~~~€‚~€€~€€€~~~€~€~~‚€~~}‚~€~~~€~€~€€~}~~€~~€€€~~~€~~~€~~~€€€€~€~€~~‚€€€~€~~~€€~€}~~€~€~€€~~€€~€~€~~‚~€~~~€€~~€€€~~€~~€~‚€€€}~€€~€€~€}€}€~~~~€~€€~~~~}~}€}€€‚€~€}~}€~~€€}~€}€~~~~~~€~€~€~~}€~}€~€~~€€~~~€}€~€€€€~€€~€~~€~‚~}~}}~€€~~}~}€~€}€~~~~€}€}€}~€~€~€~€~€~~~~€}~€€~€~~€~€~}€~€~€}€€~~€}€€~€~€€}}~}~€€~€~~~€€~€~~~~~~€~~~€~€}€~€}€~€~€}€~€€€~~~~}€~€€~~}~€‚}€}€}€€}€~}€~~~€~€€€~€~~~~~~~€~€~~€~}€~€€~~~}~€€€~~~~€~~€~€}€€€~~€~~~~€€~}€~€~€€~€~~€€~~~€}~€~~€}~€~€~~~}€~€€~€~}~€~~~€~€€€~~~€~€~~~~€~~~€~€~€~€€~€~~‚~~~€~€~~}€~€€€~€~~~~€~~€€€~€~~~~~}€~~€~~~~~€~~€€}~~€~€~€~€~~€~~€~€~€~€~~€€€‚~€}~€~€~€€€~~€~~€‚€~€}~~€~€~€~~€~~~€~~~€}€~€~€~€~~€‚}€~€~€~‚~€~~~~€€€~€~}€~€€~€~~€€}€~~€€~€~~~€~€}€€~€~€~}~~€~€}€~~}€~~€€~€~~~~€~€€~~€~~~€€~€€~}€€~€~€~~€~€€~€~~~~~}~€}€~~~€~~€~€€~~€}~€~~€~~~€}€~~€~~€€~~€~~~‚~~€}€€~€€~€€~~€~€~€}~~€~~~€~€~€}€~}~~€€~€}€~~€~€€€~~€€}€€~€€}€}€~~‚€€}~~€~€~€~~~€~€~€€~}~~~€~~~€}~€~~€~€~€€~€~~€~€€€~~€~‚~~~€~~€~€~~~}€€}€€}€~€}€~€~~€~€}€€~}€‚~~€}€~€€~€~€~~~~€~€~€}€€~€}€~}~~€~€€€~~~~€€€~€}€~€~€~~€~~€~€~€~€}~~€~€~~€€~~~€~~€€€~€~~~~€~€€€~€~~€~‚€€}€~€~~‚€~~~~€}~€~€€€‚~€~~~~€€€~~€~~}€~€€~€~~€~€~~‚€~~€~€~~~€~€~€€~~~~€~‚€~€~~~~~€~€~€€~€€~€~€~~~~€~€~~€}~€~€}~~€}€€€€~~~~€}~€€}€~~€~€~€€~}~~~€€~€€~€~€~~~~€€~~€~~}~€€~~€~~€~€€€~~~~€~€~€~€€~€€~€~~}~€~€~~~~€~~€€‚}€~€~~€€~€~~€€~~~~~€}€~€}€€~€~~~~€~~~~€~€€~€~~~€~~~}€~~~€€~‚€~~~€~€~€~€~~}~~€}€€~€~~~€€~~€~~~€~€~€~~€}€~€€~€~~€~}€€}€€}€~€~~€}€€€~~~~€~~€€~€~~€~€~€}€~€~‚~~~€‚~}€€~~€~~€~€}}€~€~~€~€}€~€~€~~€~}€€~€~~~€}€~}€~~~~}€~€€}€~~€~€~€€€~€~~~€~€€~€€~~~~~€~~€~~}~€€€~€~~~~€€~€~~€€€~€~~€~€€€€€}~~~€€~€~€€~€€~€~€~€~~€‚~€}‚€~‚~€~~€}€€€€~€}~~€}~€€€€~€~}€€€~€~~~~€~~~~~~}~€~€€~~~~€~~€~~€}}€€}€~€€~~~~€}€€€€~~€~€~~~~€~}}€€~€~€~~€}~€€€~~€}~~~€€€~~‚~~‚}~~€}€}~€~}€}€~}€~€€~‚~€~€~€~€~€€~€~~~~~}€~~~~€~~€€€€~€~~~~€‚~~€~€~€€~€~~€‚~~~€}€~€€€~€~~~€~€€€~~~~€~€€~}€~~€}~~€~~~~~~€~€‚~€}~€}€~}~€€€€€~~~~€~€€~€}~~€~~~€~€€~€~€~~€~€€€~~~€~€€€~€~~€~€€~}~~~~‚~~€}€}€~€}‚~~~€€€€~€~€~€~€~€}€€~‚€~~€~~~€~€~~~€~€€€~€}‚€~~~~}€€~}~€~~~~€€}€}~}€€~~~~~~€~€~€€~€~~~}€~€€€~€~~€€~€}~€€~}€~€~~€~€~€}~€~~~~~€~€€}€~~€~€~€~€~}€€~€€~~~~~~~€}€€€~~€~~~€~€~}~€~€€~~~€~~€~~~€~~€~€~€~€}~~~€€€~~€~€~€~€~€~€}€~€~€~€~~~~~~~‚€€~€~~~€~€~€~~~~~€€~€~~€€€~€~€~€~~~€€‚~~~€~€~€~€~~‚~€}€~€~€€€~€~~~€~€€~€~€~€~€~}€€~€~€~~~€~~}~~~€~€~~~}~€€€~€~~~€}€€~€~~€€~}~~€~€~}~~~‚~€~€~~~~‚€‚~~~€~€~€~~€~~€~‚~€~€~~~~€}~~~€~€€}€~~€~€€~~~~}~€~}~~~~€€~~~~€€€~€~~~€€~€~~€€}€}€~€€~€~€~~~€~€€€~~€~~}~‚€}€€~€}€|€}~~€~€€€€~€}~€~~~‚~~€~€~€~~€~€€€~€~}‚€€~€~~~€~€€~~€~~€€€€}~€~€~}€€~€~~€~}€€€~~€~~~€€~€~€}€€~~~€~€€}€~€~~}~~€~€€~}€~€}}~€~€}€~~€~~€}€~€~~~~~€}€~€~€~~~~€~~~~~~~€€~€€~€~€~~‚}€}€~~~}€€€~~}}~~€}€~€}~€€~€~~€~€~€€€~~€~~~€€€~€~}~€€‚~€~€~}€~€~~~€€~~€~~~€}€~~€}€~~€}~€~€~~~€€~€~€~€}€~€€~€~~~€}€~~~€~€~~€~~€~€€€}€~€~~€~~~~~~€€}€~‚~~~~€~€~}~~‚€}€}€€~}€€~~€~€~~€~~~~€€~€~~~~~€~€~€~~‚~€~~€}~~~€~€~~€€~€~~€~~€€~€}‚€~~‚€}~~~€€~~€~~~~~~€~~€~€€€~€~~€~€}‚~€~€‚~~€~~‚€€~}€~}€€€~~~€~~€~€€€~€~~€~€~€}€~€}€}€~€~€~€~€~~}~€€}€~€~~‚€€}~€‚~~~€~€~~~~€~€~~€~‚€€€~€~€~~~~€€€‚~~~~~€~~‚~€}€~~€€~€}~~~€~€€~~€}~~€~€}€~‚€~~~~~€~~~€~~~~‚~€€}€~~~~€~€~€~~€~~€€~}€~€~€€}€~~€€}€~~~~~}€~~€€~€~‚~~~€~€€}€€€~~€~€~€€~€}~~€~€}€€~€}€~€~~~~€~€}€~~~~€~€~€~~}}€~~€}€€~~~‚~~~€~€~€}€€~€€~€~~~}€~€€€€~€~~~€~~~~~~~€}}~~~}~~€~€€~€}~~€~€~€€~~~‚~~~€~€}€€~~€}~~~}€€€~€~~€~~€€~~€~}~€€~€~€}~€}€~€~€~€~~€~€€~€~~~€~€~€€€€~€~€}€~€~€~~~~~~€‚}€~‚€~€~~~€}€~€€~~~~€~€~€~€}~€~~€~€~€~€€~~~}~}€~€}~‚€€~~€~~~~~€~~~}~€~€~€~€~~‚~€~€‚~€}€€~€}~~~€}€€~€€~~~~~€€~€€}‚€€~€~~~}€~‚€€~~~~~€€€~€~~€}€~€~€}~€€~~~~~}€~€~~€~~~~€}€~~€~€}~€~€€€~~~~€~€~€€~€~€~€~~€€~~~~~€~€~€~€}~€~~}~~~€}€}€~~€~~€}~‚€~~~€‚~~€~~€~€}€€~€~~~€~~~~~€}€}€~}€€~~€~~€~}~~€~€~~€~~€‚}€~~~€~~~~~€~~€€€~€~€~€~~€€~€~~}~€~€~}€€~€}~~‚~~}€~€~~~€~€~€~€~€~€~€}€~}€~€€€~€~~}€~€}€€~€~~~€~€~€~~€~‚}~~€‚~€~€~~~~€}€€}€~~~~~~€~€~~€~~€~~€~€€~~~~~€~€~€~€}~~‚}}€}€~~‚€~~€~€~‚€€~~~~€~€€~}~€~€}€€~€~€~€~~~€}~€€€~€}€~€~~~€~€€€~€~~~€~~€}€~~€€~~~€‚}€~}€}€€~€~€~€~€~~€~}€~€~~~}~‚€~~€~€~€~€~€€~€~€~~€~€~~~~~}€~€~€€~€€~~~€‚~€~€€~€}€~€}€~€~€~€€‚~~~€}€€~‚}~€€~€~€~€~€~}~}€}€€€~€~~~€€~}~~~‚€€}€}~€€}€~€~~€~€€~~}€~~~~~€~~€~~~€~€€€~€~~~~€~~~}~~€~€}€€~}~~~€~~€~~€~€€~~~€~€€~~~€~€€~€}€€~~~}~€}~}}€}~~~€~€€~€~€~~€~€‚€~€}€~~€}€~€~€~~}€~~~‚€~~~~~~€~€~~~€~€€€€‚~~~~€~~~}€~€~€~~~~€~€~€~}~€~~€€€~~€}€~~~~€~~€~€€~~€}~€}€€~}~~‚~~€~~€~€~€€}€~€}~€~€€~~~~€~€€~~€~~€€~~~~€€~~€~~~€€~‚€~€~‚€€‚~~~~€}€€~€~~‚€~€~~}€~€}€€}€~€€}€~~~‚~€~~~~€~}€~~€~€~~~~}€}€~€~}~€~€~€€}€~€~~€~€€€~~}~€}€€~~~~~~€}€~~€~~~~€€~€}‚€~~~~€~€~€~~€~€~~~€}€~€€‚~€~€~~~~€€€~€~~~~‚~~€~€~€€~€~~~~~~~~€~~€€~€~€€~€€~}€~~~€}€}€}€~€~~~€~€}€~€~€}~€~€~€~~~‚€~}€~~~€~~€€€~€~~€~€~~~€~€€€€~€}~€~€~€€€~€~~€~€~€~€~€}€~~~~~~~~~€€}~€~€€~}~€~€~~€€~€~€~~€~€~‚~€~~~€~€€~€}~~‚€~~~}€~€~€~~€~~~~€~€~€~}€€}€€~€~‚€~~€}~~~€}~€€~‚€~~€~~€~~€€€~€~~€~~€}€€~€‚~€~~~~~€€€~~€~~€~€~€~€~~€}‚€~~}€~€~€€~~~~€~~~€€~~€~~€}~‚€€}€~€}€}~~~€~€€}€~}~~€~~€~€~~€}€~€~€~~€€~€~€}~€€€~€~~}~€€€~~€~~€~€~€~~~~€~€~€€~€~€~~€~€€€~€~~~~€€~~€~€€~€€}€}~€~}€~~~~€€€~€~€~~~~~€}~}€~€~€}€~€~~~~~€~€~~}€}€~‚€~~~~€~~€€~€~€~€€~~€}€~~~‚}€~~€~~~~}€~€~~€€~~€~~€€~~€~~~}€~€€€~~~~€~~€€€€~€~~}€€€~€}€~€~€~€~~~€~€~€~~~€~€€~€}~~~€€€~~€€~€~~€~~~€}~~€~€€}€}~€€~€~€~~€~€€€~€~~€~€€~€}€~€}€~~~~~€}}€}~‚~€~€~€~€~~~~€~€~€~€~~~€~€€~€~~~~~€~€~€~~~~€~€~‚~~~€~~~}€~€€~~~€~€‚~~€~€~~~€~€~€€‚~~€~~~€€~€~~€~€€~~€~~~€~‚}~€~€}€~~€~€~~€~€~€}€~~~€~~€~~€~~~€}€~€€€~~~~€~€~€~~€~€~€~}~~~€~€~€~€~€€~‚€~~~~~‚~€~€~€~~}€~€~€~€€€€~€~~~~~€€‚~€~€~€}~~~~€~~€€~€~~~€~€~}~€}€€€€€~}€€~€€}€}€~€}€~~~€~~~~€~€€~~~€~~€€~~~€~€€€~€~~€~€~€€€}€}€~~€€~‚€~~€~~~~}€~€€~~€}€~~€~€~€~~‚~~€€~~€}~~€~€~~€€~€}~~€~€~€~~€~~€~€~€€€~}€~~€€€€~€~€~€~€€}€~~€~€~}€~€~~~~~~~€~~~€~€~~€~€€~€}€€~}~~€€~€~€~~€~~~~~€€~€~€~€€}€~€}€~€~~~€~€€€~€~~€€~~~€~€~€}€~~}~~~€€}€€€~€~€~€€}€~~‚~~€~‚~€~€€~~~~€~€~€~~~€€~~~€~€€€~~€~€€~€~~~€€€}€~~~~€~€~€}‚€~~~~€~€}€€€~~~€€~€~~~~~€~€~}€~€~~~~€~~€€€~€~~€~€~~€~€}€}~€~~€€~€~~€~€~~~~~~~€~~~~€}€~€~€€~~€~€~€€~€~€~}€~€~€€‚~€}~~~€}~€~€~€~€~~‚€~~~€~~€€~€~€~€~€~€~~~~~}€~€~~€~€}~€}}~€€€~€~~}}€~€~€~€~€~€~~~~€~€~~€~~~€}€€}€~}~}€~~€~~€€€~€}~~€~€€€~~€~~~~€~€~~€~~€~~€~€€€~~~€~€€~~~€~~~€~€~€~€€~~~}€~~~}€~€~€€~~€~€~~€€}€~€~€€~~€~~€}€~€€€€~€~€~€€~€~€}~~}~€}~~~~‚}€}€}€~‚~€~€~€~~~€~€~~~€~€~€€‚~€~€~€~€~€~~~~€~€~€~€~€~~~~€~~€€~€~~€~€~€€~€~€}€~€~~~€~€~€€}€~~}€€~€~~€~€€€€~€}€~~~~€€€~€~€~~~€~€~~€~€€~€~~~}€~€€€~}~€~~€~~€~€~€~€~€~€~~~~€}‚€~~~€}~~}€€€~~€~€~€~~~~~€}€€~€~€~~€~€€‚~€~€~~€€~€~}€~~~~€~~~€~€€~€~€€~€}€}€~€~~~€}€~~€~~~€~€€€~€~€~~~€€~€~€€~€€~€€~}€~€‚~€}€~€~€~€~€€~€~€~~~~~€~€‚~€~~€~€€€~}€~~~€~~€}€~€~~€~~~€€€~~€~€€~~‚~~~€~€}~€~€~~€~€~€€€}~~€~€€~€~~~€~€~~€~‚€~~€~~~€~~~~~€~€~~€}€}€~€~€€€~€~€~€~~~~}~€}€€~~~€}€€~€~€€~€€€~€~~}€~€€~€~€~~~}~€~€~~~~€~€~€}~€~~~€~€~€~€~~€}~~€~€~~~‚~€~€}€~€~~~€€€€}€~€}~€€~€~~€~€~~€~~~~€‚€~~}~~~€~€~€€~~~€~€€~~€~€~€€€~€~~~€€€~€~~~€~€~~€€~€~~~€}€€~€~€~~€~~€~€€~€}€~~€‚€€€~~~€~€€~€~~€€€€€~~~€~€}~€~~€~€€}€~€~}€~~€~~~€€€€~€~}€‚€~~~€~€}€€~€~€~‚€}~€~€€~€~~~€}€}€€~€~~~€~€€}€~€~€}€€~~~€€€~~~€}~~~‚~~€€~~~~€€€~~€~~~€~€~~~~€~€~€~€€}€~€~~~}€~~€~~~~€€€€~~~€~€~€~€}€€~€€~€~~~}€~~€€€~€~~€~€~€€~~~€€~~~€~€€~€~~€}€~€}€~€~€€~}€~~~}~~~}€~~~~€~€~~€~€€€~~€~€~}€~€}€~~~‚€}€~~€~~€~~€€}€~‚€~€~~~€}€€~~€~€}€~~€~~€€€~€~€€€~~€~~€€~€€~€~€~~~€}€~~~~~‚~~~€€~~€~~€~~€~€~€€~€€~~‚€}~€€}~€€~€~~€~€~~€~€€€~€}~€~€€~€~~~€}~€}€~€~€}€~€€}€~€~€€~~€~~~~€€€‚~€}~~~}€€€~€~€~€€€~€~~}~€~~~~~~}~}€~~€~€€~€~~~€~€€~~€~~€€€€~€}~~€~€~€~€~€}~~~€~€€€€~€}~~€~€~€~€~€€~~~}~~~‚€€€€~€}€~~€~~€€€~€~~€~~€€~€~€€~€~€~€~€~€~~~~~€€~~€~~€}€€~€~‚€}~€~~€~~~€~€€~€~~~€}~~€~€€}€~€€~~}~‚€~€~€}~€~€~~~~~€~€~~€€}€€~~~€~}€}€~~~€~€€~~€}€}€‚~€}€~€~€€~€€‚~~€~~~€~€~}~~~‚~€~~€~€~€}~~€~€€}€~~~€~€~~€~~€~€€€~‚~€}€~}~€€~~~~€€€~€~~€~€~€~}€~€~~~~€}€~~€}~€€€€€~~~~~~€~€~~~~€€~€~~€~€€~~~~€~€~~€}€~~€~~€€~~~~~~€€~€€}€~€~~€}~€~€}€€}~~~}€~€~€€}‚€~~~~€~€€‚~~€~~}~€€~€~~~€~€}€€}€€~€€}€~€~€€€~~~~€€€~~~~€~~€€~}€~€}€€€€}€}~~€~~~}~~~€~€€~€~€~~€~€~~~~~€€~~€€~€}~€~€€~€}~~€~~~€~€€€€~~~~€~~€€€}€~~€~~€€€~~~€~€€~€~~~~‚~}~~~€~€~~€}€€~~€€€€~€~~~€€~€~~}€~€~€~~~€~€~€}~~€€~~~~€~€€€~~~~~~~}€€‚~~~~~€~~€}€}€€~}~€~~‚~€~€€~~~€~~€}~~€}€~€~~~€~~€€€~}~€~~~~~}~€}€}€~~~€}€~~~~~€~€~~€~€€~~€}~€~€‚~€}€€~~€~€~~~€~€€}€~~~~€~€€‚~~}~~€~€€~€~€}€~~~€~€€~€~€~~€~€~~~€}€€}€€}~~€~€~€}€~~~€~~€~€~€~€€}€~~~€€€~~€~~~€€~€~€~€~~~~€~€~€~~~~€‚~€~€~€€~€~~~€~€~€~~~€~€€~€€~€~€~€€~}€~~€€~€~~€}~~~€~~~€€€€~€~€€}€€~€~€~~~€€€‚~~€}~~‚€~~~~~€€}€~~~€~€~~€}€€~€~~~€~€€€€~~~€~€€€~€~€~~~€~€~€~€~€~~~}€~~~~~~€€~~~€~€~~~€~€~€~~‚€~€}~€~€~~~€~€€~€~~~€}€€€}€~~~€€€~~€}~~€~€€~€~€}€€~~€€}~~‚€€€~€~~~€~~€€~€~~~€~€~€}€~~~~€€€~€~~~€~~€€~~€~€~~€€~€~~€~€~€€~‚~€~~€~€~}~‚~~}€}€}‚€}€~€~€~€~€€~€€~~~~€~~~‚~€‚}€}€~€€~€~~~~}€€~€}~~~€~~€}€~~€~€~€~€~€~€~€~~€€~~€~~~€~€~~~€€~€~~}€~€~€~~€~€€~~~€~€~~~~~€~€€~€~€€}€~~€~€€€€}€~~€~}€~€~~€~~~€~€~€‚€~~}~€~€~€€~€~~~~€€~€~~~€}€~€~€~€€€~€~~~€~~~€}€~€~€‚€€~€~~€~€€~€~€€}€~~€~€~€~€}~~~€~~€€~€}€~~€~€~€~}~€€~€}}€€~€~€~~~€€}€~~~~~~€~€}€€~€~€}€~€~~~€€€}€€}€}€}€~€€€~~€~~~€~€~€~€€~~€~~~€€€€~€~~~€~€€~~~~€~€€~~€~}~€~€~€~€}~~‚~~~€}€~€~€~~€}€€€€€~~~~~~€~€~}~€~~}€~€€€~~€~~~€~}€€~€~~~~~€€€€€~€~~€~€~~€}€€~€~~~€~€~€€~€~‚€~~~~~€~€€~~~~~~~€~€~~~€€~~€~~€~€~€~~~~~€€€~€~~~‚}~€}€~€~€~~~}€}€€~€~‚€~€~}}€€€€~~€€~€}€~€~€~}~~€~€~€€}€~~~~€€€€~~€~~~€~€~}€~€€€~~~~€~€€€~€~~€}~€€~€~~~€}~~€~€~€€~}€~€~}~~~}€}€~€~~~€}~‚€€€}€~~€€€€~~€~~~~‚€€~}~€~€€€~~~€~€€~~~€}€}€~~€~€€~‚~€~~~€}€}€~€~€‚€}€€~~€€}‚€~€~~~~€~€‚~}~~}€~€~‚€~~€~€~€~€~~}€€€~~~~~}€}~€~€~~~€~€}}€~~€}€~€€~€€~€~€~~~€~~€€~~~€}€€~€}€~~~€€‚~€~€~~~€~€~€~}€€~~~~€~€€~~~~€}~€~}~~~~~}€~€€~€~~‚~~€~€}€~€~€~€~~~€~€~€~€~~~~€~€€€~€~~€€€~€~~~~€~€~~€~€€~~~~~~€€€~€~~~€€~€~~~€}~}€}€~€~~‚}€€~€~~€~~€€~€~~~~€€~~~€‚~€~€}€~‚€~~~€‚~~~€~~€~€~€}€~€€~~~~~}€~€}€€~€~~~€€~€~€~~€~€~€~€€~€€~~€~~~~~€~‚€€~~~~€~€€€~~~~€€‚~}€~~€€~€~}~~~€~€~}€€€~€~~~€~~~~€~~€€~€€~€€~}€~~€~€~€€€~~~~€€~}~€€~~~~€~~€~~}~€~~~€~€~€€~€~~~€~~~€~~€~~~~€€}~~€~€~~~‚}€}€}€}~~€~€}€}}‚~~€~€~~~€€~€}~~~€€~~~~€~€€~~€~~€}~€€€~€~€~~}€€~~~€~~~€~€€~~~}€}€~€~}€€~~}€~~~‚€~~€~€€~~€~€}€€}}€€~€~€~~€~~€€€~€~~€~€~€}€~€}€~~~~€}‚€€~€~~~€~€~€~~~€~€~€~~€~€~~€}€€~~€~€~~€~~~€~~~~€€}€~~}€‚~~€~€~~€~€~~~~€}€~€}€~€€~~~€~€~}€€~€~€~~~€€€€~€~€}€€€~~~~€~€€~€~~€~€€~€~~€~€~€~~~€~€~~~~~}€~€€~€~}~€€~€~€}~~~€€~€€~~~}€€€€~€~~~€~€€~€~~~€~€€€~}~~~€~€€~€~~}€}€~~€~~€€~~~~€~€~€~‚€~€~~~~€~~~~~}€~€~€~€~€€~~~~€~~€~€~~~~~€~€~€~€}~~€}€€~€}€~~~~€€~‚€~~~~~€~€€~~€~€~€~€€€€€~}~~€€€~€~~€~~€~€~‚€€€~~~~€}€€€~€~€~~~€€~€~€~~~€~‚€€~~€~‚~}€~€~€€~€~~‚}~~€}€~€~€~~~€~€~€}€~€~€~€}€€~€~~€~€~€}€~‚~~€}€~€€‚~~€~~€~~€~~‚~€}€€~‚}€€~€€~~~~€~€~€€~€~~€~~€€€~€~~~€~€€€€€~~~~€€~}€~~€€~€~€~€~~~~~€~~‚~~€~~€~€€€€~€~~€~€~€~€~~€~~~~}~€€€~~~~€~~€~€~€~€~‚€~~~~€€~~~€~~‚~~€~€~}~~€~€€€~€~~€~€€~€~€~€~~~€~~€~~€~€~~€}€~€}€€~~~~€~€}€}€~}€€~€~€|€~€}~€~€€~€~~~€}€€€€~€~~~~}€~€~€~€~€~}~~€}€€~€~~~€~€~€~~~~~€~€~~€~€~~‚~~~€~€~~€}€~€€€~€~~€~€~€~~€~~~~~~€~€~€€~€~~~‚~~€€~~~~€~€~€~€~€~€~€~~€~~€€€~}‚€~~€}€~€€}~~~€}€€€~€~€~€~~€~€}€~€~}€}€€~€~~€€€€~~~€~€~€€~~€}~~€}€~}€€}~€€~~€}€~~~€}~€~€~~~~€~~€~€~€~€~~~‚~€~}€€~}~}€~~€€€€~€~~~€~€€~€~~~}€€~€~~~€~}€~~~‚}~€~€~€~~€~€~~€}€~€~€~€€~€}€}€~}}~€~€€~‚€~€~~€}~~~€€~~€~~~€€~€~~€~~€€~€~€~€~~~€~€~€~€~~€~~~~}€}€€~€}~~~~€~~€~€~€~€~€~~~€~}€~€~€~~‚~~~€~‚€~~~€€~€~€}€~€~~~~~€€~~€~€~€€}€~~~€~~€~~€}€~€~~€~€~~~€€€~€~€~~€~~€}€~}€~~~~€€~€€~€~€€~€€~€€}~‚~~€~~}€‚€€~€}€~€}€€~~~€€€€€}€~~~€~€~~€}}€~~~~~€~€}~}~€~€€~€~€€~€~€~€~€~€~€~}~€~€~€~€€}€~€~~~~€~€~€}€€€~€~~}‚€€~~‚~~€‚~€~}€}€~€~~€~€€~€~~~€~€€€}~~~~€~~~€€€~~~~€~~~€}€~~€€}€~~~~~€~€~~~~}€~€}~~€}~€€‚~€~~~€}€€~€~€€~~~€~~~€}~€€~~€‚~~€~€~€€€~€~~~€~€~}~~€}€~€~€~€€~~~~~~€}€}€~~~~€€€~~~€~~€~}~€~~~~}€~~~€~~€€€€~~€~}€~€€~€~~€‚~~~€}€€}~€~€~~€~€~€~~‚~~~€}€~€~€~‚€~€~}€~~~~~€~€~€}€~‚~€}€~‚~‚~~€~€~€~~€€~}€~~~€~‚€€€}~€~€~€~~~~€€}€~~~~€€~~~~€~€€~€~€}€~~€~€€~€}~€~~~€~€~~€~~€}~€€~€~€~€~~€~€€~}~~€~€~€~€}~~}€~€‚}€~~€~€~~}€€€~}€~~~~~~€~€~€~€~~€}~€~€}€~€~~€€€~~€~~~~~~€~~€}€€}€}~~€}€~€€€~€~}~~~€~~~€}€~€€~}‚‚~~€~€€}€~~~€}€~€€~‚~€~~~~~‚€~~~€~~€€~€~~~€~€€€€€~€~€}€€}€~}€~€~€~€~~~~€~‚€€€~€~~€~€~€~€}€~~€~~~€~€~~~€~€‚€~€~~~€€€‚~~~~€~~€~€}€~~~‚~€}€~€€~€~~~}~€€~€~~€~~~€}€~€€}€~€€€~€~~€}€~}~~~~~€~€~~~~~€}€€}€~}~€~€}~~€~~€€~~€~€€‚€~~~€~€~€~~~~€~€}€~|€~€~~~‚~€~~€~€€€€~~€~~€~€~~~€~~~€~€~~€~€~~€~~~€€€€~~€~~€~€€~~~~€~€~€~€€~€€~~€~~~€~€~€}~~‚}~~}€€~€~€}€~€~~~€~€~~~‚~€~~€}€~~€~€~~€~~~€~€€~}€~~€~€€~€~~~€~~€~}€~€€€€€~~~€~€€~€~~~€}€€€~€}€~~~~~€€~€~~~~€~~€~~€~€~~€~~€}€~~€~~€~~€~~€€€}€~~€€€}€}€~€~‚€‚~~~€‚~€~~~~€~€€‚~~~€}€€~~~~~~‚~€~€~~€~~€~‚€€~}~€~€~~~~€~€€€‚~~€~~}~€€€€~€~~~€~~€~~~~€~€€~€~€~€~€~~~€~€~~~€~€€~~~~€~€}€}~~€€~~€~~~€€€~€~~~€}€‚}~~€~€~€€~€~~‚€€~€~~~€~€€~€~~~~€~€~€~~€~~~~€}€~~€}‚€~~}€~€€€~€~~€€~€€}€€~€~€€~~~~~€€~~~~~~~~}}€€}€~~~‚~}€~€~€~€~€~€€~€~~~€}~€€€~~~~~€€€}€~€€~€€}€~€}€~~€‚}€}~€~~~‚~€~}€~€€~}~~~€~€~€~~~€~€‚~€~}€~€€€~€~~€~€€~€~€}~€~€~€€~€€~€~€€}~~€‚~€€€~€~~~€~€€~~~~‚~~€~€€}€}€~~~~~~~€}€€}€~~~€~€~~~~~~~~€~€}€~€~~€~€~€~}~}~~€€~€}€~€~€~~~€~€~€}€~~}€~€~€}€~~~~€~€€~~€€€~€~~€€~€~~€~€~€~~€}€€€~€~~€~€~~€}~}€~€€~~€~€}€~€~€~~€€~€~~~€~€~€~~€~€~€}~€~}~~€}€€~€~~}€‚€€~€~~€~€€€~€~€~~€~~€~~~~€€~~~}€~€€€~~}€~€€~€}~€~€~~€~~~€~~~€~€~~€~€~~}€~€~€€~€€€~€~€~~€~€€~€~~}€€€€~€~~~€~~~~€}~€€~€~~}€~€~€€~€}€~€}€~~~€~~€€~€~~€~€€€~~€~€~~~€~€~€}€€~}~€~€~€~~~~€~€~~€~~~~€~€~€~~€}€}~€~€}€€}€€}€~~~~€~€~€~€€€~~~}~€~€€~€~~€~}€€€~~€~~€}~€}‚€~~€~€~~€~~€~~~~€}€~€~~~~€~€~€€~‚€~~~~€~€}€}~~~€~€€~€~}€~€~~~€}€~€€~~€~}€~€€~~~~~~€€~€~~€~€~€~~€~€~€~~}€~€€~€~~~€~€~€~~€~‚€‚~€~€~€~}€~}€~€€€~€~~~€~€€~}€~~~~€~~~~~~~€}€€~€€~€€~~€~~~€}~~}€~~~~€~‚€~~€~€€~€~€~€~€~€~€~~~€~~~€}~€~€~~}~€~€€€€€}€~€~€€}€€~~€~~~€~€~~€~~~€~€~~~‚€‚~€€}€~~~~€~€€~€~~€~€€~~€~~~€€~€~}€€€~€}~€~€~€~~€}€~€€~€~€€~‚~~~€}€~€}€‚€€€}~~€~‚€~~~‚}~€}}€}~~€}€~€€€~€~~€~€~€€}€~~~€~€~€~~~~~€~}€}~€~€~€~~€~~}~~~€}€~€€}€~€~€~}€€~~€}€}€~€~~€}~€~€~€~€~~€}€~‚~~~~~‚~€€}€~~~€~}€~~~€~€€€~}€}~€~~€~€}€~}€~~€€€~~~€~€~€~~~~€€~€€}€~€}€}~~€~}€}~€~€~~~~€~€~~~€~~€€~}~~~€~€~~€€~€~~}€€€€~€~~}~€~€~~€}€~~€~~€‚~}€~~~}€€~€~€~~~~€}€~€~€~€~€€€~€~€}€~€~~€}€~€~€}€~~~€~€}~€~}€€~~€}€~~~€~€~€~€~€€~€~~~~€~€€€~€~~~€€~€~}€€~~~€€~€~~~€~~€€€}€~~~~~~~€~€~€€~€~€~~~€~~€€€~~~~€~~€€€€€~€~~€€€~~€~~€€~€~~€~€€€~€~~€~~~‚~~€~€~‚€~}~€~€~€~€~€‚~€~}€~~~€~€~€~€}~€~~€}~~~€€€~}€~~~€~~€~€~~€~€€~€~~~€€€~~}€€~€~€}~~€~€~€~€‚~€}€~~~€~~€€~€~~~~€~€€}€~€~~~€~€}~‚€~~~‚~€€~€€~€~€~€€€€~~~‚}~~€€}‚€~‚~€~~€~€€€~~}€}€}}€~~€~€~~~€~~~~~~~€}~~€}‚€€€~}€€~~€~~€€~~~~€}~€~~€~~~}~€~~}€}€}~€~€~~~}€~~~~€€€€€}€€~€~€~~~~€~€€~~~~€}€~~€‚~€~~€~~€~€}€}€~€~€~~}€~€~€~~}€~€}~€~€€~€~}€~~€€€}€~€~~~~€€€~€~~~€~€}~€~€~€€~€~~~€~€€€~€~€~~€~~€~€€~€~~~€~€€}€~~€~€~~‚~~~€~€~€~€~€~~€}€~€€}€}~€~~€~€€€€~~~~€~€~€€~€~~~~}€~~€~€€€~€~~€~}€~€~€~€~~~~~€~€~€€~~€€€€}€~~}€~€~~€~€~€€~~~~~~‚~}€~€~~~€€}€€~€~€}€~€~~€~€}€€~€~~~~€~€€~~~€}~€€€~€~€€~€~€~€€~€}€~}~}€~€~€~€~€€€€~€}€~~~€€€~~€~~}~€€~€~}~€€~€~~~€~€~‚€‚~€‚}~€~€€~€~€~~}€€€~€~~}~~€}€~€€~€~~}€~€‚~~~~€~€}~~€‚~€~~€€~‚€~€~€~}€€~€~~~€~€~€}€~€~€~~~~~€~~€}€~~}~}~€}€~€~€~~~~€€€~~~~€~€~€~~~~€~‚~€€~€~€~~~€€~€~~~€~€€~~€}€~€~~~~~~~~~€~€~€~~~~~€~€}~€~€€}~€~‚€~~€~€~€€~~~~~~~~€€€~€~~€~€€~€~~€~€€~~~€~~€€~€}€€~€€~~~~~~~~€~~~€~€~€}€~~~€~€€~~~~~~‚~~€}}€€}€~€~}€}~€~€~€~~}~~€~€€~€~‚~~~€~€~~€~~~~€~€€~€~~~~~€~€~~~€~~€€€€€~~}~€€~~€€~~~€~~~€€€€~~~~€~~€€~}€€~~€~~€}€~€~~€~€~€€~€}~~~€€~€~~~€~€~~~€~€€~€~~€~€€~€~€~~€}€~€~€€~€~~~~€€€~€}~€~€€€~€~€~€~~‚~~€€~~~€}€}~€~€~€~~}€~€~€~€~~€~~~~€~€~~~€~€~€~€~€~€}€~~€~€~‚€}€~~~~~€~~€~~~€€}€~~€}€~~~~€€€}~€~~€€~~~~}€~€€~‚~€~~€€~€~}€~€~€~}€~€~€~€~€~€~~~~~€~€~€~~~€€~}~€~€~€~€~~~€€€€~€}€€~~~~~~€~€~~€~}€~€}€~€~€~€€€}€~€~~~~~}€‚€~~~€~€~€~~€~}€€}€~}~€~€~}€~~~€~~€~~}€~€€€~€~~~€~€€~~}~€~€~}€€~€~~~€~€€~~€~}~~€€~€~€€~€}~}~€~~€~~~€~~~€€€~€}~~}€~€‚~€~}€~~~~€~~€~€€€~€~€~€€~€€}€}€~~}}€~€~€~~~€~~€~€~€~~~€€~€}€~~€€~~~}€~€€~~€~€€€~~€~~~~‚€€~~€~~~~€~€~~€~~€‚~~~~€}€~€€~~~~~€~‚€€~~}€~€~}~~€~€~€~~~~€€~€~~~~~~~~€~~€€€~€~~€~€€~€~~~~‚€~€}~€~€~€€~~~€€~~~€~€~}€~€€~}€~~~€~€~€~~~€€€~€~~€~€~~€~~}~~€~~€~€}€~‚~~~~€~~€€~~~}~€~€~€}~€€}€~~€€}€~€~~€€~~€€€}~~€}~‚€€€~€~~€~€~~~€~€€~€~€}€~~€€~€~€€~€€}€€~~~~~€~€€‚~}~~€}~€€}€~~€~~~}€~€~€~‚€€~~€~~~}€~€~€~~~€~€~€€~~€~~€~~€€€~€~~~~~€~~€~~~~€~€}~~~€~€€€~~~~~€~€€€~€~~~~€~€€~€~~€~€~€€~€€}€}€~€~~~~~€~€~€~~~~~€}€€~}~~~€~€~~~}€€~€€~€~€~€~€}~~~~€~€~€~~~~€€~~€~}‚~~€~‚‚€€~~~€~€€~~€}€€~€~~~~~€€~€~~~‚~€~~€~€}€~}€}€~€~€~€~~~€}€~€~€~~€€€~€~~~}~€‚~€}€~€~‚~~}~€~€~€€€~~~~€€~€~}€}€~~~€}€~€~€~€~~~€}€~€~~~€~€~‚~€~~~}€~€€€~€|€~~~~}~€€€~€~~€~€€}€}€€€~~~€~€‚~€~~~€~€~€}€~~~€~~~€}€~~€~‚~€~~~~~€~€~~€~€€~~~~€‚~~€€~€€~€}~~€~€~€~€}~€~~€~~€€~}~~€~€€€~€~€~~~~~€~€‚}€~~~€~€~~€}~‚€~€~~~€}€~€€~~~€~~~~~€}€€}€~€€~~€~~~€~€~~€}~€€€~~~~~€~€~~€~€€~~€~€|€€~‚€~€~~€€€€€€€‚€~~~€~}€~€€}~€~~~~€~€~~~€~}€~€}~~~€€€€~€}€~~~€~~~€~€}€~~~~€~€~€~~}€~~€~~€}€~~~€€€€~€~~~~~~€~€~€~€€}€}‚~~~}€~€~€~‚~~€€~€~€~~~€~€~€€~~~~}€€€€~€~€~~€}€~~€~~~~€€~€}~~~€€‚}€~~~€}€€~€~~~€}~€~€~€~~~‚€~}€~~€}€~~~~€~€€~}€~€€}}~~~€€~€~€~‚€~€~~~€}€}€€}€~€~€}€~€~€~~~€~~€€€~~€}~~€~€€~€~~~€~€~}€~~€~€~€~~~€~€€€~€~€~~€~~€}€~€~~‚€~}€~~€~€~€~~€~~~~~€~€~~~~€~~€}€~}€€~€~~~€~€€€}€~€}~~~‚~~}€€}€~~‚‚~€~~€€€~€~~€~‚€€€~~€}}‚~€€~€€‚~€~~€~€~€€€€~€~~~€~~€~€~€~}€€~€~~€~€}€€~€~~~€}~~€}€~€~~~€‚~€~~~~~~€~€~€}€~€~}€~€}€~€€€~~€~€~€~~~~~€~~~}~€€‚~€~~€€€~~~~€~‚}~€}€}€}~~€~€~€}~€€~€}~€}€~€~€~€~~€~~~€~€€€~~€~~~~€€€~€~€~~€~~€~€~~€~~€€~€~~€~€€€€~€~~~€~€€€}€~}~€€~€~~~~€‚€~€~€~€‚~€€~€~~~€~~€€€~€€}€~~‚~~€~€€€~~€~€~€~~€~€€~€}~€~~€~€~~€~€€~€~~~~€€~~€~€€€~€~€€}€~~~}€~€€~~}€~€~€€~€~~~~‚~€~€}€€~~~‚~~~€~€€~€~~€~€~€€‚~€~€~€~€~€€~€~€}~~~€~€€~€~~€~€~~€~~}~€€~~~€~€~€~~€~€}€€€~~€€~€€~€~€~€~~€~~~~€€€}€~€€~€}‚€~~‚~~~~€~~€~~~€~~€€~~~~~€~~€~€}€~~€~€~€€~€€~~€~~~€~€~~~€~€}€~€~€~€€‚~€}€~~~€€€~~€~€~€~€~€~€~}~~€~~€€~}€~~€~~~~‚€~~€~~€~~€~~€~~~€‚~~€~~~~€€€~~~€~€~€€~~~~€~}~€€}€~~‚€€~€}€~~€~€€~~~€~€€~€~€~€~€~€~}€€~€~~}~€~€~€~€~~~~€}€~~€~€€€€}€€~‚€~€~~~~‚€‚}€~‚~€~~‚~~‚~€€~€~€~€~~€€€~€~~~€~€~€€}€}~~€€~€}~€~€~€}€}}€~€€~~€~€~~€}€~~~€€~€}~~€~€~€}€~€€~€~~~€€€€~€~€}€€‚}€~~€~€~~}~€~~€}~~~€‚}€~‚~~~€}€~~~€~€€~€~€~€€~~€~€~~~~€~€~€~~€~~~~}€€€~~~~€‚€‚~€€~€}€}€~~~€~€€~~}~‚€~~‚~~~€}€~~€~€~~~€€€€~€~~€~€~€~€€~€~€~~€~€~~~~~~‚~€~~~€~€€€€~~€~~€~€}€~~~~}~~€~€~€€~}‚~}€~€€‚~€~~~~~€~€€~€~~€~€€€€~€~~~€~€€~€~~~€~€~€~€€~€~}~~€}€}~€€€€~€}~~€~€€~€~~}€~‚€~}~~€~€~~‚~~€€‚~€~€}~€€~~~~€~€€~€~~}€~€~€~}~~}~~~}€}~€~€~~~€}~€~€€~€}~€€~~€~€~~~}~€}€}€~€~~~€~€€~€~€~€}~€~~€~~€~~~€€€~€~~~~€~€~€}~€~~€‚~€~~€~€~€~}~€~~€~€~~~€€~€~~}€~‚€~~~~€~€~~~}~~€}~€~~~€€€~€~~~€~€~€}€~€€~~~~~€€‚~€~€~~~~€~€~~€}~~~€~€}€~€~€~~~~€~€€€‚~€~~€~~€~~€€~€€}€~€~€€~~~~~€~~~€~€~}€}‚€~€~~~€~€€~~~~~~~€€~€€}~€~~~}€€~€€}~~~~€}€~€~~€~~€€€~€~~~€~€~€~}€~‚€€€‚~€}~~~€€~~~~~€~}~~}€}€~€~~~€~~~€~€€~~€~€~€€}~~€~€~~€~€€~€€}€~~€~€~~~€~€€~~~€~~€}€~€€~€~~~}€€~~€~~~€~€€~€~}€~€€}€~~€~€€~€~€~~€~€€€~€~€~~~~~€~€}€}€~~~~~~~€~~€€~€€}€€}€€}€~~‚~~~€~~~~€~€‚~~~€}€~~~‚€~~}}‚€~~~€~€€~~€}€~~~€~€€~~€~~~€€€~}€~~€~€~~€}€}€~€~~~€~€€~€~€€~€~~~‚~€€~€~~~~€€€€~€~~~~€~€~~~€~~€~~~€~€€€~~€~€€€€~}~~‚~~~~~€~€~~~€~€~€~€}}€}€~€~~€}€‚}~€~~~~€}€~€~}€~~~‚}~€~€€‚~}€~€~€}~€}~~~}€~€~~‚€~~€~€~€€€~€~~~~}€~€~~€~}~‚~€€}€~~€~€~€~~€€~€~€€~‚~€~€~€€}€~€~}€~€~}€~€}~~~~~€}~~~}€€€~€~~€~~€~€€}~€~€~~€~€€~~~}€~€€€~€~~€~€~€~€~~~‚~€~~~€€~€~}€~€€~€€}~}~‚~~€~€€~€~~€}€€~€~~€€~‚~~‚~}€}€~€~~~~~€~€~€~€~~€~€€~~~}€~~€}~~‚~~~€€€~~~~€~~~€~€~~}€~~€€€~~€~~€~}€~€€€~€~}~€~€~€~~~€~€€~€~~~~€€~~€~~~€~~€~~€€€}~€~~€€~€~~€~~€~€€~€€€~~~~€~€€€~€~€}~€€~€~€~€~€€€~~~}€€€‚}€~~€~~~~~€€~€~~€~‚€~€}}}€~~}€~€€€€~~€~€}~€~~}~~€‚~€}€~€}€~€~€€~€~~~€~‚}€}€‚~€}€~~~€~€€}€~~~‚€}€~€~€€~€~~€€~‚~€}~~}€~~€~€€~€~~€}~€€€‚~€}€~}~~~€~€€€~€~€~~~‚€‚}€~€~€~€€~~€~€~€€~~~€}€€~€~~~~€~€}}~~€~€€~~~€~~}~‚~~€€~~€€}€}€~~€~€~€€~~€}~€~€€€€~€~€~~€~€~~~€~‚€€~€~~€~€€~~~€~€~€~~€~€€~€}€~€€~~~~€~€~€}€~~€~~~~€~€~}€}~~~€~€}€~€~}€~}€}€€~€}~~€}€€~€€}€€~€€‚€~€~~€}~€~~€~~}~€~€€€€~€~~~€~~€€~€€~€€‚€~€~~~~€~€~€~~~€€~~€~€€~~~€~€€}€€~€€~€~€~~~~~}€~~~~€~€~€€€~~€~€~€~€}€~€~€~~~€~~€~~€€€}~~€}~€€€€~~€~€~€€}~€~€~€~€~€}€~~€~~€~€‚}€~€}€~€€~}€~€~€€}‚€~~~‚~€€€~€}~~~€~€}}~~~~€~~€~€€}€€~€}~€~~~~~~~~€~€~~€~€~€~~€~‚€€}~€~€}€~~~~€~~€~~~€~~€}~€}€~~€~~€~€~€€}~‚~~€~~€€~~€~~~}‚€}~€~€}€~~~}€}€€€€~€~€~€~~~~€~€€~€~€~~}~€~€~€}€€~€€~~€~€€~€}€~~~€~€€€}~~~~~€‚~~}€€}‚€~}~}€~€€€~€}€~~€~€~€€~€~€~}€~€}€~~€}€~~~~€~~€‚}€~‚€€~‚~~~~€€€~€€~€~€}€}~~~€~~€€~~~~~~€~~€~€€‚~€~~€~}€€~€~€~}~~}€~~€€~€~~‚~~€€~€€~€~}€}€~€~€€~€€~}~€‚~€~~~€}€€€~€~€€~~€€€~}€~€~€~€~€~~~~€}~~€€}~€~€~€~€~~€€~~~~€~~€}‚~~~€}€~~~€~~~~€‚~€~€€}€~~€~€~~~€~€~€~~€~~€€~~~~}€~€€€}€~}~~€~€€€€€~€~€~~€‚~€~€~~€~€~€~~~€}€~~€~€~€~€~}~~~€€€}€~~~€~€~~€~~‚~~~~€~€€~€~}€€}€}~~€~€€~€~€~€}~~~~€€€~€~~€}~€}€€€~€€~€~~~€~€€€~€}€~€~~~€€~~€}€~€~€~~}€~€‚~€€~}€€}€~~€~€€€€~€~~~~€}~€~€~€~~}€~€€}€€~}€~€~~€€~~€~~~~€~~€€€}€~~~}~€~€€~€~€}~€~€€~€~}~€~€~€}€€~€~€~€€~€€~€~€}~~€~€€€}€~~€~€}€~€~€~}~€~€~~}}€~~~}~‚€€€~€~€~€~€~€~€~€€~~€~~~~~€}€}}~~€€€~€~~€~}€~€}€€}€€~~€~~~€~~€~€~€~}~€}~€~‚€€~€~€}€€~~€~€€~€~~}€~€~~~~~~}€~~€€€~€}€€}~€}€€~~€}€~}€~€~~~~‚}~€~€€€~€~~€}€~€~€~€}~~€~‚~~~~~€€~€~€}~€€~~€~~€€~€~~}~~~~~€~~€~~~€}€~~€~€~€€~€~€~€€~€~€~€€€‚~€~€~~~€~‚~‚~€}€~€~~€~€~€~€€}€}€}€}~~~€€~~~~€~€€~~~€~€~~~~~€~~€€}€~€~~‚€€~€~}€~€~‚€~~~€‚~€}~~€~€€~€€~~‚~€€~~~}€~~€}€€}€~~~€~€~€~€~}‚€~~€~€€~~~€~€€}€~€}€€~€~€}~€€~~€~~~~~~€€}€~€~}~€~€~€~€~~~~~‚€€~}~~~~€~€€}~~~~€}€€~€~€~€‚~~~~€~€€€~€~~~€~€~€€}€~€~~€~~~}€~€€~€€€€~€€~€~€~~€~€€~€}~€~~~~€~~€~~~€}€~€~}€~~}€~~€€~€~€€‚~€~~~€}~€~€~~~€~~€~€€~~€~€~€€}€~€~€~~€~€~~€~~~€~€€€~}~~€~€€‚}€}€~€}€€~}€~~€~€~}€}€~~~€‚~€~€€‚€~~~€~€~~€~~~€~~~€€}€~€}€~~~~€~€~~~€‚~€€~€~~~€~€€€€~€~~~}~€}€}‚€~€~€~~~€}~~€}~€~~€€~€€~€}€~~€~€}~€‚}~€~€}€~€€€~€~~€~€~~€}~~~~~~€~€€€~~~~€€€~€~~~€€€~€~€}€~‚€€€~€~~€~€€~€€~~€~€€~~€~€€~€~}~€}~€~€~‚~€~€}€~€€}€€~€}€~€~€~~€€€€~€~~~€€€~~€~~€€~€}~~~€~‚}€€~€~€}€~~€~€~€‚€~€~}€~€}€~~€~€~€~€~€€~€~~}‚€‚~~~€‚~€}~€~€~~€}€~€~~}€~€~€~~~‚€€€€~€€}}€}‚€~~€~~€~€~€~~~~€~~€€~~~~~€~€}€~}€~€~€€~€€}€~€}€}€~~~~€€€~~~~~€}€}€€€~€}~€}€~€~~~€~~€~~€€~€~~~€€€~€}}€~~~~€~~€~€~€€~~~~€~€~€€~‚€~~€~~~€}€~€~€~~€~€€€~~~~~€~€€~~€~~~~€€€}€~~€~€€~~~€~€~~~€~€~€}}€}€‚~~€~~€~€~}~€€€~~~~}€~€~€~~~~€~€~€€~€}~~€~€~‚€€~~~€‚~~€}~€}~€~€~~~€~€€~€€~€~~}}~€~~€}~~~~€}€}€~}~~€~€~€€~~€€~}€~~}€‚~~‚~~~€€~€~~}€~~‚}€€~€€~€~€~~€~‚€€€}}€~~~~‚}~€~€~€~~}}€~‚€}}~~€~€€€~€~~~~~€~€€~€~€~€€~€}€}€€~‚€~~~}~€}€€~‚€€~€~~~~~€~~~~~~~€}~€€€~}€~~~€~}~~~}€~~~~€~€€€~€~}€€~€€~€}€}€}~~€~~€~~~‚~~~‚}€~€}€€~€}€~€~}}~€€~}€~~~~‚€€~€~~~€€‚~€~~€~€€~€~~~~€~~€~~€~~~€~€~€}€~€}}~~~~~€€~€~€}~~€}€€~€€€~~€}~~€~€€~€~€~€~€€~€}~€€~~~‚~~~~€~€€}}€~€~~~~€~~€€~€~~~~~‚}~~€~~€€€~€~~~~€~€€~€~~~€~€~€~}~€€€~€~~~€~€~€€~€~}€~~~‚~€~€}€~€~~€~~}€}‚€~~~€~~€€€~€~€~~€~€~~€~~~€~~~~€~€€€€~€~}€€€~‚~€~~~€€~~€~}€~}€€~~~~€~€€€~}~€~€€~€~~~€~€}€~}€}€€~€~~€€~€~~~€~~~€~~~€~~~~~~~€€€~€~~€~~€~€~~€~€~~€~~€€~€~~}€}€€~~~€‚~€~~€~€‚~€~~€~€€€‚~€~~€~€€€~€~~€~€}€~€~~~}~€€€~€~~~~}~~€~}€~}€~€~€~~€}~€~€€~€~~~€~€~€~€~€~€~~~€~€~€€€}~}€€~€~~€~€~€~€~‚~~€~€~€~‚€~€~~}~~~~€}~€€~~}€~~€~€~€~€€}€‚~~€~€~€~~~~€~€€}€~~~€€~}€~€€~€~}€~~€~~~€~€~~€~€}€€}}€}€}~~~€~€€~€~~€~€€‚~~€~€~€~~~€€€~€~~~€~~€~~€€~€€~€~~~~~~€}~€}}~€}‚~€~~€}~~€~€}€~€€~‚€~~~~€€€~~~~€~€~€}€~€~~‚€}~€~€~€€~~~€~€€~€~€~~~‚€~~€~€~~~~~€€€~€~€€~€€~€~€~€~~€}~~€}€~~~€~€~~~}€€€€€~€~€~~€}€~€€€~€~~~€~€}€~€~~~}€~‚€€~€~€~~€~€~~}€~‚€~}€~~€‚~€~~~~€~€~~}~}€}€~€~€}~}€~€~~€€€~~€}€€~€}€~~~€~€~~€}€€€~€~~~€~}€~}~€~€~€~~€}€~}~~~€}€~}€~~~~€~€}~€}~~€}~~~~~€€~€~~~€~€~€~~€€€~€~~~€~€€~€~~€~~~~~€~€€‚~€~€~€~~~~€~€€~~€~~~}€~€€~€~~€~‚€~~~~~~€‚~~~€~€~‚~~~€€~€~~~~€}€~‚}€~€~€~€~~€~€~€~~€~}~~~€€~€€}~€~~~~€}€}€~~~€}€~~~~~€~€~€~~~€~~€€€~€~€€~~~€€~~~€~~~€~€€~€~~~~}~€~€€€~~~€~€~€~€}€~~€~~~€~~€~~€~}€€}€€~€}€€~}€~€€€€~€}~~‚‚~~€~~~€~€€~€}~~~~‚€€€~€}€~€~€€~€~€}€~~€~~~€~~~€~}~}€€~€~~€~€€€~~~}€~€€‚~~~€~€~~~~€~€~~€€~~~~€€~€~€~€~€~~~€~€€~~~~~~~~~~~€}€}€€}€€}€~€€}~~~}€~}~~~~€~€€‚€~~~€~}€€~€~~€~€‚~~~‚~~~~~€€~€~~~€~~€~}€~€€~€~~€~€€€~€~~~€~€€~€~~€~~~~€~~€~~€~€~€€~€}~~}~€~~€~~‚€€~€~~}~€~~~€~~€~~€~€}€~€€€~~€}~~€~~~~€€}€~€}€}~~‚~~€~~€}~~~€€}€~~€~~€€~€~€~€~€€€~~~€~€€~€~€~~~~~€~€€€~€}€~~~€}€~€~€€~€~~~~€~~€~}~~~}€~€€~}€~~€}€€~~~€~~~~€~€~€}€€}€€~€~€~~~€~€~€~~~€€~€~~~€~‚~€‚~~€~}€‚~~~~~€~€~€€~€~~~€€~€~€~€~€~€~€~€€~~~‚~~€~~€~€}‚€~~~€~€}€~€}€~~€~~€}€€~€~~}~€}€~€~}~~~€€~~‚~~€}~€€~~€~~~€~€€€‚~€~~}~€}€~~~~€~~€}€~~~~€}~€~€~~~~€~~€€~€~€~‚€~~~€~~€~}€~€~€~~~~€~€~~€€~~~€~€~~€~€€~€~}€~€€€~€~~~€}€~€~€€~~~~€~~€€}€~~~~€~~€~~~~€€}~€~~€~€€€~~~~~€~€~€€‚~€}€~~~€€~€~}€€~€~€~€€€€}€~}~~~€~€}€~~~€~€~~€~~~€~€~€~€}~}~~~€‚}€~€}€~€~}~€~€€~}~~~€~€€~€~~~~~€~€}~€~€~€~~~€}~~~}}€~€}€€€€~~€~€~~€~~~€~€~~~~~€~~€~~€~€~€€€€‚~€~~~~€}€€~~~~€€~€~€~€~€~‚}~~€~€~‚~€~~~€}~~€~€€~€~~~~€}€€~€~~~€~~€~~~€~~~€~€€~€~~~}€}€~€~~€~~~€€€€~€}~~€}€~€}€~€€~~€~~~~€~~~}~€€}~~€~€}~€~~€~€}€€‚~€~~~€~€~€}€~~~€~€~€€~~€~‚€~€~€€~~‚~€}€~€~~€~~‚~€~~€~~€€~€~~€}€~€€~€}€~~€~~€€~€~€~~~€€~€}€~~~€€€~€~~~~€~~€~€‚~€~~€~€€~~~€}~€~€~~~~€~~~}€~~€~€~€~~~~€~€€~~€~~}‚~€€‚~~~€~~~€~€~€€~€}~}€€~}€~‚€~~€~~}€}~~~~€~€~~€€~€~~€€~€}}€}‚~}€~€~€~€~~€~~~~~€~~€}€~€~€~€~~~€~€€€~€}~€~€~€€~€~~~€}€~~}~€~€~~€~€€~€~~~~€~€}€}€}€~€~~~€€€~~~~€~~~€~€~~€}~~€}~€~‚€~~~€}€}€~€~€~~~€~€€~~~€~€~€‚~~~~€~€~~~~~€~€~~€~~€€~€~€~~€~~~‚€~}~~€~€~~}~}€~~€~~~~€}~€~€€~}~~€~‚€~}~~€~~€€€€~~~}€~~€~~~}~~€~€}~€~}~€~€€~€~€~€~‚€€~~~~}~€€€~€~~~€€}~€~}€€~}€€~€~€~€~~€~€€~€~~~€~~€€€~~~‚€€~€~~~€~€~}~~~€~€}€~}‚~~‚~€~~€€~~~~€~~€€}~€~€~€€~€~~€~€€}}€~~€€~~~€~€€€~€~€~~€~€~~€~~€€~€~~€~€~€~}€~€€~€~~€~~~€‚€~€~€}€~€~€€~‚~€~}€~€~€~~€€~}~~€~‚~~~~~€~€~€€}€}€~€}~€~~}€~~€~€€~€~~~€~€~~~€~€€~~€}€~~€~~€~€~€~~€~€~€~€}~‚€€~€~~~~€}~€}€~€~€}~€~€€~€~€~€~}€~~~€€~€~€~~~~€€~~}€~€€~€~~€~€~€}€~€~€~~~€~€€€~}~~‚~~€‚~~€~€}€~~~}~~€‚€€€~}€~}€€~€~}€~~‚~~€~€€~~~€~€~~~~€~€}€~€€~€~}~~€~€~€~~}€~€~€€€€~~~~~‚€~€€}€€~~€~~‚€€~€~~€~€€}€~~~€€€€}€~~~‚~€~€}}€~€}~~€~~~~~€~€}‚€~}€~~€~€€~}€~~~~€~€~€}~~~€~€~€€~€€~~~~~€‚~€~~~‚~~€~€€~€~~~€}€~€~€~€~~~~~~~€}€~€~~~~€~€~~€~€~€~€~‚~€€€~€~~~€~€€~€~~~€~€}€~~€}€€~~~~€~€€€~€~}~€~~€}€~€€~}€}€~~~€~~€~~€~€~€~€}~€~€~~€~~€~‚~~~~€}€€€€~~€~~€~€~~~€~€€~~~€~€€€~~~€~€~€€~€~€~~~~~~€~€€€~~}€~€€€~€}€~€~‚~~~~€~€€~‚€~~~€~€~€~€~~}~~~~}€~~€~€€€~}~€~~€~~€}€}€~€~~~~~€~~€~€~~~~€~~€~€~€~€}~€~€€}€~€~~~~~€~€~~~€~€~€€~€~€}}~€~€€}€~~}€~€~€~€~€€~€~~~~~~€€~€~€~~~~€€€}~~~~€€~~~~~€}~€~~~}~€}€~€€~~€}~€€€€~€~~€~€€€~€~~~€~€~€~€~~€~€€~€€~€~€}€‚~€~~~€€€~~€~~€~€€~~~~€~€€~}€~€€~€}€~€~€~~~~~€}€~€~~€€~€~~}€~€€~€~~~~~~€}€~€}€~}~€~€}€~~€}€~€€~€}~€~‚€~~~€‚~€~€~€}€~€~~€~~€€€~~~~€~€}€€}€~€}€~~~€}€~€€~€~}~~~€€€~~~€~€}€~€€~~€~‚€~~€€~€€}€}~~~€‚~€€}€~~}~€€€€~€~}€€~€~~€~~€}€~€~€~€~~~€}~€~~€€~€~~~~‚€~€}€~~€~€~~€~€~€~€~~~€~€€~‚€~€~~~}€~€‚~~~~€~€€€~~~~~€~€~~~€~€~€~€~€€~€~€~€€~€€~€~~€}€€€~€~}}€~~€~€~€€}€~~€€~€~~€~~€€~~~~~€~}€€~}€~~€~€€~€~€~~~‚~~~€}€}€~€~€~€€€~€}€~~~€~€~€~~€}~€~€€~€~€~€~~~~}€}}€~€~‚~€}€~€~~~€~€€€€~€~~~~€~~€}€}€€~}€~~€}€~~~~~€€€~€~~~€€€~~~~€~~€~€€~€~~~~€~€}€~€}€~~€~€~€~€~~~€€€~~€~~~€~€‚~€~~€~€€€~€~€~€€~~€~€~€~}~€~~~€~~~~€€~€~~~€~€~€~~~~€}€~€€~€~€~€}€€}~€}€€~€~~€}€~~~~€~€€~}~~€€~€}~~€~€~€~€€~€~~~‚€}€~€€€~€~}€~}~~€~€~€}€}€~~~~€~€~~€~€~~~€~€~}€~}~€€~€~~€~€€~€~~~€~€~€€}€~€~€~~~~}€~~€~~~€~€‚~€}~~~€~€‚€~€~~}€€~€~~€€}€€}€~€~€~}€~}€~~~~~~€~~€~~~~€~€€~€}€}€€}~€}€~~~€}~€~€~~~€~€~€€~€~€~~~~€€~€~~~~€~‚€€€€~~~~€~~€~€€~~~€~€~€€~~€~€~~~€~€€€~~~}}€~€~€}€€~~€~~€~~€~€~€€~~~€~‚€€~~}}€~€€~€~~€}€~€~~~‚€}€~€~€~€}€~~€~€~€€€‚~~€~~€€€~€~~€~€~~~~€€}€~€~€~€€~~€~€€€}~€}€~€~€~€‚€‚~€~~~€~€~€~~€~€€€€~}~~~~€~€~€€~~€~~€~€~€~~~€~€~€€~€}~€€~€€~€~€~€~~€~~€€~~~~~}€~€€}€€~€~~~~~€€~€~€~~~€~~€}€~€~~~~€}€~€~~€~~}€}€}~~~€~€~€€€~€}~€~~~€~~~€€€~€~~~€~€~€~€€}€~~~€~~€~~~€~~‚€€~~€~~€~€~€€€~~€}~€~€€~€~€€~€~~}€~~€€‚}€€~~‚~~~~€~~€}€€~€~€}~~~€~~€~€~€~~~~€€~€~€}~~~~€~~€~€~€~~~}€}€~€~~€~€€~}€€~~€€~€~~~€€€€~€~€~€}‚~‚~~€~€€}~~~€~~€~€~~~~€~€}€€}~€€€}€~~€~€~€}€~~€~~€~€~}€~€€~€€~€~€~€~€~€€€~€~~€~€~€~€~€~~~~~~‚€~€€}€€~€}€~~€}~€~~~€~~~€~~€~€~€~€~~€‚~€~€~€€}~~~€€€~€~€~~~€~€€~€~€€~€}€~~€}~€€€~€~~~~€€~€~~~~€~~€€~}€~€€}~€}‚€~~~~€~€}€~~~~€€€~€}~~~€}€€~€~~€}€€€~€~~€}~~€~~~€~}€~€€~€}~€€~€}€€}€€~€~€~~~€~€€~€~~~~€~€}~€~€€~€~~€~€€~~~€~€€€~~~€~~€~~€~~~~~~€~€~~€~~€~~~€€€~~~€€~€€~€~€~~~‚~~€~€~}€~€€€€}‚€€~}~~~~€~€}€~‚~€~~~€~€€~~€€}€~€~€€~€€~}€‚~~€~€~€~~~~~€}~€€€€~~€}~€€}~€~~~‚~€}€}~~€~~~}}€~€~~€~€€~€€~€~~€~€~~€~~~€~€€€€€~€~~~€}€~€~€~€~~~€~€~€~€}€€€~€}€€~~~~~€~€~€~~}€~€~€~€€}€€~€}€~€~€~~~‚~€~€€~€~€~~~€~~€~~~~~€€}~€~‚€€€€~€}~€~€~€}€~€~€~~~€~€~€€~}~~~€€~~}~€€~€~€}€~€~€~€€€~~~€~~€€~€~€~~€~€}€~~~~~~€~€~€~€€~€}~~€~€€~€~~~€~~€}€~~}}~~€~€~~~~€~~€€€~€}~~€~€~€€€~~~~~€€~~~~€~€~€€~~€~€}~€~€}~}€‚}~€~€€~€~~~€€~€}‚~~€~~€~~€~~}~€~€~€€~€~~€~€~€~€~€~€€~~~}~€€€€~€~~€~€€~€€~€}€€}€~~}€~€~‚€~€~}€~€~€€~~€€~€~~€~€€~~~€€~€~€~}~€~~€~~~~€~€~~~€€‚~€~€}€~€€~~‚~~€~€~€}~~~€~~€~~~~~€~€€~}€~~~€~‚€~~€}€€~€~€~~€€€~~€~~€~€~}€~~€~€~€~~~€~‚€€~€~€~€€~€~€~€~€~€~~€€~~}€~€~}~~~€~}~~~€}€~€~€}€~}€~~€~€~~€€€~~~~~€}~~€~€~€~~~~€€}€€~€~~€~~~€~€~€€~~~~~€}€~~€}€~~€€~€~~€~€€}€~€}€~€}€}~~€~~~€~~€~€€~€~~€~€~€€~~€}‚€~~~€€€€~~€~}~€~€~€€~~~€~~‚~€€€~€~~€~}~€€€~}€~}€~~~€€~€~€€~€~~~~€~~€~~}€~€}‚~~~}€~€€~€~~~~€€‚~~€~~~€~€€€~€}~€~€~€~~€~€€~€}€~€~€~~€€~€~~€}~€€~€€€~€€€~€}}€}€}~€€}‚€~~€~~}~~€~}~~~}~€~€~€}~~€€~€€~€€~€~€~€~~‚}€~€~€~~~~€€€€€~~~€~~€€~~~}€€~~€~~}~~~€}}€~~€~~€~€}€~~~~€}€~€~‚~€~~~€~€~€€~~€~€}€~€~~~€€€€~€~€~~}€~~€~~€~€}~~~‚~~€}€€~}€~~~€€€}~€~~€€€~~~~~~€~€~€‚}€€~~}€‚~€~~~€~~€€~€~€}€~€€~€~€~€€~~€}€€€€~~~€}€€~‚€~}€‚~~~€~€~~~~~€}€~~€~€~€~€~€~€€}€~~‚~~€~€~~€€~€~~€~€~€~€~~~~€€~€~~~€}€€~€~~€~€~~€‚~€~€}€~€€~~~~€~€~}€~~€~€€~€~€}€€~‚~~€~€}€~}~€~€~}~€~€€€€~}€~~€~€~€€~~€~€€~€}€~~~€}€~~~~~~~€~~}€~~~~€~€€€~€€~~~€~€~€€‚~€~€~€}€~€€‚~€€~€€~€~~~~€~€~~€~~€~€~€~€~€~~€~‚~}€~€~€~€~‚€€~~~€~€€~}€€~€~€~~€~~€€~~€~~€~€~€~~~€}}€€€€}€~~€~€~€€~€~~}€}~~~€€€€~~€~~€}€€~}€}€}~~€}€€~~~~}~€~€€~€~€~~€€~€~~~~~~€}€~€~€}~~€}€~€€€}€}€~€}€~~‚€‚}~~~€€~}€}~~~€~~~~€‚}~€€}€~~~‚€~€~€€€~€~~~}€~€‚~~~~~~‚~~€~~€}€€€~€~~}€€€€~€~€~~€~€€€~‚~~~€~€}€~€}€~‚}~~~€~~~€~€‚~€~~€~€~€~~~~€~€}€~€€~€~€~~€€~€~€~~~€~€€€€~~€~€€~~~€~€~€~€~~~€€~€~~~~€}€€~€~€€~€~€~~€~€€~~~‚~~‚‚~~€~~~€~€~€€}€€~}€~€~~€~€€€~~~~€~€€‚~~~~~€€~€~~€~€€~€~~~€~€€~€~~€~€~€€}€~~€~€~€~~€~€€€~~€~~€~~~~€}~€}~}~~€~€}€~€~~~}€~~€~€~~~€€~~€€~€~€~~~~€€~~~€~€~€€~}€}€~}~~~~€€~€~~‚}~~~~€~€€€~€}~~~}€~~€}‚}~~~€~‚€€~~~~~€}€~€€€~~€~~€}€€~€}~~~~~~€~€~~€€}€~~~€~€€€~€~~~€~~€~€€~~€~€~}€~€‚~€~~€~€€€~~~€~~€€€~€~€~~~€~€€~€~€~~€~€~€€}}~~€€€€~~€~~€~€€€}~~€~~€€~€~€~~€~€~~~€~~€~€}~~€~‚€~~~€~€~€€}€€}€~~~€~€~€}€€~€~~~‚€}~€~€€~~~~~€}€~€~€~~~~€€}€~€€~€~}€~€~€~€€~€€~}~~€~€€~~€~€~€€~~€~~~€€€~€~~€~€}~~€€€~€€~€~€}€~~€€€}}€}~€€~€~~~~€~~€~€€€~€€}~€€~€~~~€~€€~€}~‚~~~}€€~~€~~~€~€~€}~~}€€€~~~€~€€~€~€~~~~~~€~~€~€}}€~~~~€€€~~~€~€€~€~~~~~€~€€€€~€~~~€~€€~€~~~€~€€~~~~~€€€€~}€~~€~€~€~€~~€€}€~€~~~~€~‚~}~~~€~€€~}~~~€€€~~~~~‚~~~‚~~€~€}€~€~~~€}€€~}€~€~~~~€€€~€~~€~€€}€}€€~€~~~~~~~€}€€~€~€~~‚~€~}€~‚€~~~€‚}€}~~~~~€~€€~€~€~~‚~~€~€~~€~~~€~~€}€€€~~}~~€‚~€~~€~~€}€~€€~€~~~~€~~€~}~€~€€€‚~~€~€€~~~~~€€€}~€~€€‚}~~}€€}~€‚€€~~}€~€~~~€~€~€€€~~€~€~€}€€~~€~€€}€~~~~}€~€€~~~}€~€~€~~€~~~€~€€€~€~€~~~~€}€~~€~€~~~}~€~€~€~€~€~}€~€€~~~~€~€}€€~~}€€}€~~€~€~~~~~~}€~‚~~€~~€~€~€€}€~~€~€~~~€}€~€~~€~‚€€~€}€€}€~~€~€~€}~~€}€~€~}€€~~€~€~€~~‚~}~€~~€}‚~~~€~€~~}€}~€€~€€~€~€~€~€~~€~€€~€~€~~~~€~}~~€~€~€~€~~€}€€~}€€~€}~€~€€~€~~~~~€~€~€~~~~~~€~€€~~‚~‚~€~€~~€€~€}~~~€€€~~~~€~}€€~‚€~~~~€~€~€~€€~‚~~~€~~€~~~}~~€€~~~~~~€}€~€€€~€~~~~~€€~~€~~~~€~~€~~~~€~~€~}~€~€~€}€~€~€~€~€~~~}€~~€~€~~€~€}€~~€}~}€}~€}~‚~~~}€~~€€€~~~~~~€€~~~~€~€}€~~}€~€€~€~~~€€~€~}€~€€~~~~€€€€~~~~~€€~€~~€~€€~€}€~~€}€~€~~€€}€}~~€}~€€€~}~€€~€~~~~€~~}~‚€€~€}~~€~€~€}€€~€€~~‚€‚~~~€~~€€}~€~~‚€~€€~€~€}€~€~€~~~€~‚~~‚~€~€~€~~~€~€€~€~~€~~€~~€~~€~}€€~~~~~€~€€~~€~~~€~€€€~€~€€~€}€~~~€}€~€~}~~€~€~€~~}~‚€€€~~~~~€~~€}€~€~}€~~~€~€~€‚~€~~€~~€€€~€~€~~~~~€~€~~~}€}~€€}}€€~~‚~~€€~€€}€~€}~€~~~~~€}€€€~~~€€~~€~€€~€~~~€~€€~~~~~‚€€~~€~~~~~€~~€~€~~€}€~~€~~€~~~}€~~~~~~~~€~€~€€~}€~~€~€€€€~€~€~€~€~€~€€~€~‚€}€€~€}~€~€~~€~€~€€~€}}€~~~€~€‚€€~€~~~€~~~€~~~€~‚€€~€~€€}€~~~€~€~}€~‚€}€~~~~~~€€€~~~~~~}~€~€~~~€~~€~~€~€€~€€}€~€}€~~€~~~€~€~~€~~~~‚€~~~~}~~€~€~~€~€~~€~€~€€~€~~~€€~€~€~}€~€~~}~}}€~~€~~~}€€~€~€~€~~€~€€~€~€€~€€~}~~€€~€~}€~~‚~~~€~€~€€~~€~~€~€}€~}€€}€~€~€~€€~~€~~~€‚€€€€~~€~~€~}~€~~~~€~€‚~€}€~€}€~~~€€}€~~€}€}~€€€€€€€~€~~€€€€€~€~€~~~€~~€~~}€~€~€€~€~€~‚€~~~~€€€~~~€~~€€~€~€~€~~}€~€€~~€~€}~€~€~€€~€~€~~€€€€€~~}~~~~€~~~~~€€~~€€}€}~~~€~€~~~~€~€~€~€}€~~€€~~~~~~~€€‚~~€~~~‚~€~~~€€€}€~€~~€~€~}€~€€€€€}€€~}~‚€~~~‚~€€}€€~~~~~€€€~€~~€~€€€~€~€~€}€~~}~€}€~€~€~~€~€€}€}€€‚~~€~}€~€~~~~€~~€~€~}€~€€}€€~~€}€€~~~~€}€~€~€~~~~~€~€~~~~~€}~€~~€~}€~€~€€}€~~€€~€}€~~€~€~€~~~‚~~€~€~~~€~~€€€~~€€~}€}€~‚~~~€‚}€~~}~~~€}}€€€~€~€}~~~~~}€~€}€~€€}~€~€€€‚€~€~~€€~€}€~€€}}€~€~~~~~~€~€~~€€~~~€~€€€~€~€€~~€~~~~€~~€~~€~€‚~€€~~€€}€~€}~€~€~€}€~~€}~~€}~€€€~}~€~€€€€~~~~€}‚€€~~€~~€~€}~€}€~~~~€~€~€~~€~~€~€}€€~€~€€~~~€€€}€~‚~~€}~€~€€~€~~€~~€}€}€€~€~€€~€~~~€~~}~}~€~}€}€~€~}€}€‚€€€~€~~~€~€~€~}~€‚}€~}€~€€€‚€~~}€~€~€}€~~‚€~~€~€}€€}}€~~€}€~€~~~€~€~€~~€~~€~‚€~~€€~€~~~~€~~€~~€~€€~~€~~}€~€~€~€~‚~€~~€‚€€~€~€}€€~€~€€~€€‚}€~~~€~€~~€}€~€}~~~€€€€~€}~~€~€€~€}€~€}~~€~€€‚~€~~~~€€~€~~~€~~~~€~~€}€€€€~€~}€~€~€~~€~~€~€~€~~~~~‚€€~€~~~€~€~€€~€}~~€€€~€}~€~€~~€~€~€~€}€~€}~~€‚~€€~€~€€~~€~€~~~€~~~~€‚~~~€~€~~~~~~€}€}€€~~€~€~‚~€}€~~~€~€~~~‚€~€}€~~€}€~~€~€~€~€~~~€~€€~€~€~~€~~~€}€}~~~€~~}€}€~~~~€~€€}~~€~€€~~~€}~€€€~€~~~€~€‚~€~}~~}~~€~€€~€~€€~€~€€€‚~€~~€~~~}€~€~€~}~€€€}€}~€~€€~€~~~€}€€~€~}~~~~€}€€~~~€€‚~€~~~€~~€€€~~€€~~~~}~~~€~~~€~~}€~€~€€}€~€€~€~€~~€}€~‚€€~‚~~~~€~€~€~~}€~€~€~~€~€~~~~~~~€€€~~~€~€~€€~~€~~€~€€€~~~~€~€€€~€}~~~€€~€~~€~€~€~€€}€€~}~€~€~€}~~€~€~€~€€€~€}~€~~€~~~~~~€‚~€€~€~~~~~‚~~~~€~€}€€~€~~~€~~€~~‚€~~~~~~€€}€~€~€€~~€~~€~€€~€~}~€~€~~~~€~€~~~€}€~~€€}€~~~€~~‚€€~~~€~~€~~€~~~€~€€~~~~~~€~~€~~~‚~~€€~}€~~~~€~€~~~}~€€€~~~~€~€€~~€~€€~€}€~€~€~€‚}~~~}~€~€~€~~€~€~}€~€~~~€~€~~€}€€~~~€}€€~~~€€~€~}€~‚~~€‚~€€~~€~}‚€~~€~€}€~€~}€€~€~€~~~€‚~€~€~€}€€~€~~€}€~‚€€€~€~€~€}€~€~€~€~~€~€~€€}€~~€}€~~~~~€~~€~€~€~~~~~‚~~}€€~€~~~~}€}€~€€~€~~}€~€~~~~€~€~~}~~~€~€€€€~€~~~~}€€}€~€~~‚~€~}~€~€€~€~~€~€~~}€~€~~~€}~~~€~‚€€~~€~~~€~€€~€}€~€~~‚€}~~~€€~€~~~€€€‚~€~€~‚~}}€‚~€~€}~€~~€~~€€~€~~~€€‚~}€€~~€‚~~€}€~~~€~€~€~€~€}~€~€€~~~~€€€€~~~~€~€€~}~€€}€€~€€‚€~~~‚~€~€€~}€~~€~~€€}€€€~€}~}€~€€€~€~~~€~€}€€}€}€€~~€~~~~€~€~€€~~‚€}~~~€€~€€~~~~€~€~€}‚~~~€}€€~€€~€~€~€~~}€~~€}€~€}€€~€~€~~€~€€~€~~€~€~}€~~€€~‚}€~}~~~€~}€~€~~~€~€€~€~€~~~~~€}€~€}‚~~~~€~€~€~€€}~~€~€~~€~~€~~~€}€€}~€~€}€~~~~€~€}€€}‚€~~}€}€~€€~~~€~€‚}~~€~~€€}~~€~€€~€~€}‚€~~€€~€~€~€~~€~€€€~€~€~~‚~€~€€€€~~~~€~€€~€~~~€~~€€~~}~€€~~~~€€€~~~‚€€~€~~~€~€~~~~€€‚~€~~}€€€€~~~€~~€€~€~}~€~€€~€~€}~}€}~€~€€}~~~~~€~€~€~€€}€~~~€€}~~~€~~€€‚~€~€}€€}€~}‚~~€€~€~€}~~~€~€€~€~€~‚~~€~}€~€~€~~~€}€€~€~€~~}€~€€€€€~~~€~€}€}€€~€~~~~~}€~€€}€}~~~€~€}€~€€€€~~~~€~€~€~€~~~~€~€€}€€~‚€~~}~~€~€~€€~€~€~€~~€~~~‚~~€~€~€~~~€€€€}~€~€~€~}€€€~€~~€}‚€€~~~~€}~~€~}€~~~~€~€€‚~€~€}€~€~€€~€~~}€~~€€~}€~~~~€~€~€~~€~€€~~€~~~€€~~~~~€~€€€~€~~~~€€~~€}€~€~~~}€~€€~~~€~€€~€~~€~€€€}€~€€~}~~€}€€€~~~~~}€~~€~~~~~€}€€}€~€~~€€~~€}~€€€~~~~~~€~€~~€~€~€~}€€}€~~€~€‚}~~~~€€€~€}~~~‚}€~}€~€}€~~~}~€}€€~€€~~~~~€~€~€~€~~}~~€~€~€~€~~~€~~€€}€€~~€~~€€~~~}~~€}€~€}€}€€€~€~€~~€~€€}€~€}€€~€~€~~€}~‚~€}€~€€~~~~€~€~€~~€~€~€€~~€€~€~~€~~~€}€€}~~~~~€‚~~~~€~€€€}€}~~~€~~~€~€~€€~€~~~~€~€€~€€}€~€~€~~€~€~€€€~~€~€}€~€~€€~€€€~~~~€~€€~€~~€~€€}~~€}€~€~~~~€~€~~~€€€€~~€€}~€~€~€€€~}€~~~€€~~~~}~€}€~}€~€€€€~‚~€}~~€~€€~€~~~€~~~€~€~}~~~€~€€~€~€~€~~}€€~€~~~~~€~€~€~€~€~~€~€~€}~€~~~~€~€}~‚€~~€~€~€€}€~~~€~€~~‚~~~~€~€~€~€~~~€}~~€}€€~€~€~€€~€}€~~~€~~€~~}€~~~€€}€~~~€‚~€~€}€~€~}€~~€~€~}~~‚~~~€~€}}€~€‚~~~€~€€€~~€~~~€€~~€€~€~€€~€~€€~€€~€~€~€€~~~~€~€~~}~~€}€€~€~€~€~~~€~€~~€}€~~~~~€~€€€~~~~~€€~~€~€}€~€€~€~~}€~€€€~€~~}€€€~€~~€~€€~~‚~~~€~€~€€~~~€€€~€~~~~€~}~~€~~~~€€~~~~~€}€~€~€€~€~~}~€~€€~~€~€~€~€€~~}~}€}€}€~}€~~€‚~~~~‚~€~}~~}~~~€~€€}~~€~~€€~~€~~~€€~~€~~~€€~~~€€~€~~~€~€€~~~~€€~~~~€~€€€€~}€~€}€~€~€~~~€~€~€}€~€~~€~~~€~~€€~~~€}~€€~€~~€~~‚}~€~€€€~€~~~€~€€~€}~€~‚€~~€~~€~€~€~~~~~€~€~€~~€~~~€~~~~€~~~€}€~€~€~~€~€€€€€~€~~€~€€~€~~€~~€€~~~~€~€€€~€€~€~€~~~~€~~€~~~~€€€~~~~€~€€~€~€~€}€~~~€€~~€~~~|‚‚}€~€~€€~~€~‚€€}€€~€~€~€~~€‚~~€~~€~‚~}}€~~€~€}~€~~}~€~~}€}€~€~~~‚~‚}}€~€}€~~~€~€~~€}~~€€‚}€~€~~€~€€~~€~~€‚~~€~€~€~€}~~~€~€€~€~€~~€~€~}€€}€}€}~€€€~€~~€~}~~~~€~€~€~~€}€~~€~~~~~€€~€}€}~~€~€~€€~€~~€~€€~~€~~€}~€~€~~€~~€€€~~~~}~€€}€~~€}~€€}€~~~€~~~~~~‚~~~€‚€~~€~€€}€~~€~€€~€}~€}~€~~~~~€~€€‚~~€~~€€~}~~€~€~€€~€~€~€~€~~€~~€€}€~~~~€€~€~~~€€€~€~€~~~€€€}€€~}€~~€~€~~~~~~€€€‚~~~~€}~€}€}€~~€~~~~€~€‚~€}‚€}~~€~€€~~~€~€€€~~~~~~€~€}€~~€~~€~€€€€}~~~~~€~€€~€~~~€}€€€~€€~~€~€~€~}}€€~€€~€~~~€~€~€€€€€~~~~~~€~}}‚€€~€~~€~€€~€~€~~~€~€€}€~~‚€~~~~~€~€€~€€~€~€~~€~€€~~~~~~~~~€}€€~€}~~€~€‚€~~~~€~€€~€~~~~€~~€~€~}€~~~~€~€€~~~~€}€~~€~€~€~€}€€~€~~~€~€~€~~~~€~€€~~~€~€~€~€~€€~~€}~~€}~€~€~~~~€~€€€€~~~~€~~€~~€~€€~~~~€~~€}€}‚€~~‚‚~~~€~€~~€~~€}€~~€~~€~}~~€}~€~€~~€€~€~~~€€€~€}€}~€~~~€~€€€~~~~€~€~€~‚}€~€~~€~€€~~€‚~€~€}€~€}€~~€~€€~€€~~~€‚~€}~~€~~€~|~€~€€€~~~~€€~~€}€~€~€~}‚~~‚~~€~€~€~€~€}~€€~~€~~€~€~~~~€~€~~€~~€€€}€~}~‚}€€}€~~~€~€}€}€~€~~~‚~€~€~€€~~€~€€€~~€~~~~€€}€~€}~~‚€}€~€~€€~€~}~€~~€}€~€~~€€~€~€~~€€~~€€~~~~€€~~€~~~~~€€€~~~}€~€~€}~~€~€€~~€}€~~~€~€€€~€}€~~‚€~~~}~~€~}}~‚€€~€€}€}€}€€~~€}€€~€~~~€€€~€~€~~‚€‚~€~~€~€~€~~€~‚€~~€~~€~€€}€~~€~€€€€~€~~~}~€~€~€~€~~€‚}€~~€~€~~~‚€}€~€~€~€~~€€€~€}€~~}€}€€€~~~~€}~€€~~~€~€~~~~~€~€~~€~~~€~€~~~€~~€~€~~€~€€€€~€~~€~~€~€~€€~~~~~~€€~~~~‚~}~‚€€~€~~€~~€~€~‚€€~€~~~~€~€€€~€~~~€~€€~€~~€~€~€~~~€~€€~€~~~€~€€~€~€~€~€€~€€~€€~€~~~€~~~€~€€}€~~~~€~€€‚~€}~€}€€~€~€€~~~~€}€€}~€~‚€~€~€~€€}~~~€~€~€~~€~~€€€~€~~€~€€€~€~€~€€}€~~€~~~€~€~€}€}€~~€}€~€€€~~€~~~€~~€~~~€€~€~€€~€~€~~~~€}€~€~~~~~€~€~€~~~~€}€~€~€~~~~€~€€~€~}~€~~€}€~€~€~~‚~€~€~€~~€€~€~€~~€~€~~~~~€€}€~~€~€€€~€~€~€~~~€~€€~€~€~€~~€~€~€~€~~€~~~€~€€€~~~}€~‚€€~€~‚€~‚~~€~€€€~~~~€~‚~€€~€€~~€}€~~~~€}€~~€~‚~~~€€~€~€~~~~}€~€~€}~~~€~~~~€~~~~€~€~~€~€~~€~€}~€}~€€€~~}€~~€~}€€~€€~€€}€~~~~€~~€€~€}~€~€€~€€}€€~€~€~~€~‚€€€}€~~€~~~~‚~€~€~€€}‚€~~~~}€~€~~€~~€}€~€€~€}~}~‚€€~~~}€€€€~~~€}~~~~€~~~~~~€~~}~€~€~~€~€~~€€€~~€}}~€~€~~€~€~~€~~€~€~€}€~€~€~~€€~€~~~~€~€~€~~~€}€€~~€€~€~€~~~€~€~~€€~~~~€}€~‚‚~~~€~~~€~€€~€~~€€€~€~€~€~€€€€~€~€~€~€~~~€‚~~~~€~€€~€~€~€~~€~€~~€}~€~‚€€€~‚~€~~~€}~€€~€~~~~~€€€~}€~~~€€€~€~~€~€}€€~}€~€}€~~€~~~€~‚~€~€€~€~~€€€€~€}~~~€€~€~~€~~€~~~~~~€‚}€~~~~€€‚~€~€~‚€~€~€}€~€~}€~~~€~€~~€~€~€~‚}€~~€}~~€~€~~~€€~€~€~~}€~€}~€€~€~~~~€€€€€~~~~~}~~€~~~€~~}~€~€}€~~~€‚~~~€~~~€~€€~~}}~€€~‚~~€~~€}€€€~€~€~~€~€€€€}~~~€~€€~€~~~€€€€~~€~€}€}€}€€}€~~€~€~€~~~~~€}€}€}€~€~~}€~€~}€€~~€~€€~~€~€}}€~~~€€~~€}~~€‚}€~€~€~~~~~€~~€€€~€~~€~€€€‚~€~~~€}~€~€~~~~~€~€€}~€~‚~€}€~€~€~€€}~€~~~€~€€€~€~~€}‚€€~€~€~€~~€€€‚}~€~€}€€~€~€}‚}~€}€€~€~€€~~~~€~€~€~€}~~~€€~~€}~~~€~€€}€€~~€}~€~€~€}€~€~~~€€~~€}~€~€€~€}~€~€€~€~~}~~~€~€€~€~~€~‚€€~€~~~€~€€€~€~~€~€€}€~~€}‚€~€~~€~~~~€~~~€~€€€}€~}€}€~€~€€~~€}€~}~€€€~€~~~€}€€€~€~~€~€€€~€}~}~€€€€~~~€~€~~€~~~€€~€~€~€€~€~€~~~~€~€‚}€~€~~~€‚}€}~€~}€~~€~~~~€~‚€~€}~~~~€~€~~€~€€€~€}~}}€€~}€~~€~~€€~€~€~€~€~€€~~~~~€€~~~€~€€€€~€~€~€~€~~~~~~€‚~€€}€}€~~~€~€~€€€}~€~€~~€}~€}€~~€€~~~€€~€~~€~€~€~~~€~€€~~~€}€€€~~€~€€~~}€€~~€‚€€~€~€~}~~€~~€~€~~€~€€€~~€~}€€~€~~€~~~~€~€€€~€}€~€€~~~}€~}€}~~€~€€~€€}€~}~~~€~€~~€~€~~~€~~€€€‚~€~~€~€€~€€‚~~€}~€~€€}~€~~€€€€~€~~~~€~€€€~€~€~~€~€~€~}€~€€~€~€~€~€~€€~€~€~~€€~~€}€~€~€~€~€€~€€~~€~€€‚~~€}~}€€~}~~€}~€€€€~€~~€}€‚€€€~~€~~€€€‚~€~~~~€€~€~€~€€~€~€~€€~~~€~‚~~‚~‚~€‚~€€~€~~€€~~€}€~~~~€€}€~~~€~}~~€}€~~€~€~~}€~€€€€~€~~~€~€€€~€~~€~~€€~~}€}€~~~€}€€}‚€~~~‚~€~€€~€}‚€~~€}€€~€~€~€€~~€~€}€}~~~~€~€~€~€~~‚€~}~~~€€~€~€~~€}€~‚~€~~~~€~€~€~~~€~€€}€~~~~€~€€€~€~~~€€~~€~~€~~€~~~~€~€}€~€~~~~€}€€~~~~~~€~~€€~~~}€€€€€}€€~€~}€~~~~€€~~€~€~€€€~€~~~~~~~~~€~€€~}~€~€}€~€}€~€~€~~~~€~~~~~€€~~~~€€~‚€€~€~~~~~€€~€~~~~€€~€~~€~€~~~€~€~~€~~€~€~€~~€€€~€~~€~€~€~~€€~€~€}~~}~€~€~€~~~€€€~‚~~€~~€€}~€~€}€€~€~€}€€~‚€~~€~€~€}€‚~~€}€€}~€~€~~€}€~€~~~€}~€}~€}~~€~}€~€€€~€~~€~~€€~~€~€}€€~~€}€€€~€}~}€~~€~~€}~~€~€€~€}~~€~€€€~€~~€~€~€€€~~€}~€}€~}~€}€~€~€~~€~€€€€€~}€~€~~€‚}€~~}€~~€~€~€€€~€~€~€€~€~€~€~~~€~€~~~~~€}€€~€€~~~€~~€~€~~€~€~€€~}‚~~€~€€€~€~~~}€~€€~€~}}€€~€~~~~~€}€~~~€€€~€~~~~€}€~€~~€~€~€~€~~}€~€€€€€~~~€~~€~‚€€~~~€~~€~~€~€€~€~~€~~€~€~~~€~€€~€~€~~~~€~~€~€}€~€}€~~~€~€~€~~~€}€~}€~€~~~‚~€~€~€~€~~€}€~€~~~€~~€€~€~€€€~€~~~}€~€~~~€~€~€}~€}€~~~€~€~€~~~~~€}€~~€€~~€~~~€~€}€~~~~€~€‚~€~€~~~~€~€~~~~~€~}€€~€}~~€~€€~~€~~~€~~~~€}€}~€~~~€€€€~~~€~€€€€~~~}€~€€€~~~~€~€€€}€~~~~‚€€~~~}}~~€}€~€~~~~€~‚€€€~€~€~~‚~~~€€}€~~~}€€€~€~€~€~€}~~€}€~€€~€}~~}€~€€€~€}~€€€€~€}~€~€~~‚~~€~€~€~€}€~€€~~~~€~€~~~€€‚~€~€~€~€~~~€~€~€€~€~€}~~€~€€€€~€~€~~}€~€€~~€~~€~~~~~€~~€~€~~€~~~~€€€€~€~~€~€€€~~€€~~€~~€~€€~€}€~€}€~€}~~€~€€~~€‚~~~€~~€~€}€}€€~~€€}~~~€}~€~€~€~€~~~€~~~€€}~€€~€~~~€~~€~~€~€~~~~€~€~~~~~€~€~€~~~€~€€~~€~€€€~€~~}€~~~~€~€€~~~€}€€€~~€~~~€€}€~€~€~€~€}€€€}€~}~€€~€~€~€~€~~€~€~€~~~~€~~~€}}€~€}€~€€€‚}~~}~~€~~~~}~€~€~€~€€~€€~€~€~€~~}‚~}€~€~~~€~~€}€~~‚~~~€‚~€~€~€~‚‚€}€~~~€~€~~€~€‚~€€~€~~~~€~~€€€€~€~~€~€€€~~~€}€€~~€~~€~€~~€}€~€€~}~~~€~€~€~~}~}~€€~€~€~~‚~~~€€‚~€}~€~€~~€}€~€€~€~~~~€€~€€~‚€~~€~~~€}€~~€}€~~}~~€~€€~~~}€€~€€~‚€€~€~€}€~~~~~€€~€~€~~€~~€}€€~€~~€~~€~~€€~€~~~~€~~€€€€~~~€}€~€~~~~}€€~~~~€~€~€~}~~€€}€}€~€~€~~€}€€~€~~~~€~€€~~~‚}~€~€~€~€‚~€}~}€~€€€~}€€}~}€}€~€~~~~€€~€~€~~~‚~~~~€}€~~}‚~€~€€}}‚~~€~€~€~€~~}~~€~~}~€~€~~€}€€~~€~~€~€€€€}~~€}€€~€~~~~€~€}~~€~€~}€}€~~~~~~€~€~€~~€~}~€~€~~~€}€€~€~~}~€~€~€~€€~€~~~~~€~€~€~~~€~€~€~~~}€€€€~€~~€~~€~€‚~€€~€€~€~€~~€}€~~~~~~€}~}€~~€~~€}~~‚€€}~~€€}€~~~~€}€~~~€€~€~€}€}€}~€€}€~€~€~~~€~€~~€}~€~~~€~€€~~~~~€€€€~€~‚‚~~~~€~~}‚~~€~€}€}€~€~~€€€~€~€~~}}€~€}€€}€~€~~~~€~~~€€€~~~€~€~}~~‚~}€~~€~€~€€}~~~~€€~€~~~€€€€~~€€€€~€~~€~€~€‚}€€~€~~€~€€}€~€~€~~‚~~€}€~€}€~}€~€€‚~€~~~€~€€~~€~~€€~€}~€}€~}~~€~~€~~€€€~€~€}~~€~€€€€~€~€~€~~€€~~}€~€~}€~€~~~~~~€~€~~€~€€€~€}~€}€€€€}}‚€~~~‚}~€~€~~€‚~€€‚~€~€~€~~~€€~~€~~~€~~€€~€~€~€~€~‚~~~‚}€~~€~€€~€~€~~~€€€~~~~}€~€€~€~~~€~~€~€}~€}€~€€€~}~~~€~€€~~€~€€€€€}€~~~~‚€€~~~€~€}~~€~€~€~~€€~€~€~€~€€}€~€~€€~~~~~€~€€€~}€~~€}€€€€~~€~~~~€€~€~€}€€~~€~~~~‚~~€€~~~€~€~~€€€~~€~€€~~~€}€~~~€€€~€~~}€~€€~~}~€€}€~€~€~€~€~~~€~€€}€}~~€~€~€€~€~~~~~~€€€€~€~}}€~~€~€~}€}€~~~~€~€~€}€~~€~€~~€~~€~€~€~€~~}€~€~€~€~€~€€}€~‚€~€~€~~€‚}€~€~€}€~€~~‚€€~€€~€~€~}€}€€~}€~~~}€~€€€~~~~~~~~~€}€€~€€}€~~~~€~€€€}€~€~}~~~~€~€}€€~€~€}~~~€~~€€~€~~~~€~‚~€~€~~‚~}€€~~~~€€~€~€~€~~€€~€~€~€~~~€}~€}€€~~€}~€~‚€€€‚~~€~~~€}€€€~~~€~€€~€~€~€}~€~~€~€}€€}€~~~~€€~€~~~€~}}~~€~~}€~~‚~~~€}€~€~~‚€~~€~~€~€~~€~~€~~€~~~€}€€}€~€€}€~}~~€~~€€~€~}€~~~€~€~~€~~~}~€~€~€~€~€~€~}~~~€}€~€~~~~~€€~€€}~~~€~~€~€~€€€€}€}~~€~€€‚}€~~€~€~€}€€}~€~‚€€~~€~€~€~€~€€}~€~€}€~€~~€~€}~€~€~}~~€~€€~€~€~~€}€}€}€€~€~~~€~€€€€~€~~~~€~€€~~~~€~~€€~€~€~}}€~~€~~€€~~‚~€~}€€~~€~€~~~€€~~€~~~€~~€~€~}}€~~~~}€}€~€~€~~‚}~€€~€~~~€}€€~~~~~~€€€}€€~€}€~€}€~‚€~€}~~}€}€~~}~~~€~€~~~€€€~~~~~~€~€~~~~€€~~~~~€~~€~€}€~~€€~€~€~~€~~~€~€€€~€~~~€€~~‚~}~€~€~~~‚~~€~€}~~‚}€~€€~€~~}€~€€~€~€~~€~~€€~~~€~~€~€}€~~€€~~~€€€~€~~~~€~€‚~~~~~€€~€~~~~€€€~€~~€€€€~€~}€~€~€~~~~~}~€~€€~€}~€}€€€~~~}€~~~~€~}€~€~~‚~€~~~€~‚€~‚~~}~~€€~€€}€€~€~~~~€}€}€~~~~~€€}€~~}}€~€~€~~}~€~€~€~€~€~€€‚~€~~€~€~€~~~~~€€€~€~€~~€}€~€€€}€~~€~~€}€~~€€€~€~~~€~‚€}€~~~€~~~€~€€~€~€~€~}~~~~~€€€~€}~~€~€€~~~€}~€~€€}~~~~€}~~€~€~€€€~~~€~€€~~€~€}~~€}~€€€€~~~€~~€€~~€~€€~€}~€~~~€~~}}€~€€€~€~~€~€‚~€€}€~€~€~~~~~€~}€~€€€~€~~~€~~€€~€~~~€€€~~~~€~€}~€~€~€}€~€~€~€~~}~~€€~~€~€~€~}~~~€€~€~~}~€€~€~~~~~€~€~€€~€~~~~€~€~~~€}~€€€€~€~€~€}~~~€€€}€~€~€~€~€~~~~~€~€~€~~~~€~€~€€~€~~~€~~€~}~~€~€€~€~€~~~}~~€€~€~~€€}~€~€~~€~€~}~}~~€~€~~}‚~~~€€€€~}€~~~€~€€€~€~~~~~€~€~€€~~~}€}€€~€}~~~€~€€€~€~€}€}~€~~€~~€~~~€~€€~~~~€~~~€€€~€}~€~€}€~~€~~~€‚}~~€~~~€€€~€~~~~‚€}~€€€~~~~€€~}€€~€€~‚€~~€~€~~€~€€€€€~€}€~€~€}€€~~~~~€~~~€}}~€~€~€}€~€}~€}‚~~€~~€~€~~€~~€€}‚€~~€‚~€~‚~€}‚~~€}~€~€~~}~€~}€~~~€€€~€~~€~€~€€€~€~~€~€~€}€~~~€}€~~~€~~~~}€‚}€€~‚€~€~€~~}€€}€~~~€~€‚}€€}€~€€~~€~~~}€~~€~€€~~€~€€€~€~~€~€€}€~~€€€~€~~~~~€}€~€‚}€€}€~€~~€~~€~~€~~~~‚€€~€~€~~~€~€€€€}~~€~€€~€}€~~€}~€€~€}~~‚~}€~€€~€~~~~€~€€€~€~}€~~~~}~~€}€~€}€~€~~~€€€€~~~~€}€~}€€~€~~~}~€€}€}€~€}~~€~€~€~€~~~€}~€}~€~~~€~€€~€~~~}€~€€~~€~~€~~€‚~€}€~~€}€~~‚~€~~€~€€~~€€~~€~€}€€}€~}‚~~}€}€~€~~~~€~~€~~€}€~~€~~€~~}€~€~€€€~~€~~~~‚€€~~€~€~~€€~€~~€~€~€~~~~€~€~€}€€~€~~~€~~€~~€€~~€}€~€€€~~€~~~€~€~€~€~€~}€~}~€~€~~~€~€€€~€~~€~€€~€~~}~€~€~~€}~~~~€~~}~€€€}~€~€~€~~€~€~€~~€~~~€~€€€~~~€~~€~€~€~€~€~~~~~€€~~~}€~€~‚€€~€}~€~€~~€‚}€~‚€€~€}~~€~€~€€~€}~~~}~€~€~€}~€~€€~€~€~€~€~€€~~~~€€~€~€~‚~€~€}€~~~}€~~€€}~~~~€€€~€~}€~€~€~€€~€}€~~€~€~€~€~~~€~~€~~€~~‚~~~€€~€~~}€~€~€~~~}~€~€~€~€~€~}€~~€€}€~~€~€~€~€‚~€€}‚€€~€~~€~€~€~~€~€~€}€€~~€~€€~~~€‚€€}€}~~€~€€~€~~~~€~€~~~€€}€~~~}€~€~~~€~€~€~€€~~~€~~€~}€€}€~€}~~~~€€~}~€~€€€~€~~~€~€~€~€~‚‚€€~~~€}€€€}€~~€€~}€~‚~~~€~~~€~€~€~}~€€~~€~~€}‚€~~~~~€~~€~~€~€~~~~~~€~€}€‚~~€~€}~~~~~€€~€~~~~~~~€~~€€}€€~~€~€~€~€€~~~€‚~€~}€~€€~€~~~~€~€~€€~~€~~~€€~€€~}~~€~~€~€~€~}€~~~€€~€~~€~€~€€~€~}€~€€~~€}~~€~~€€~~~€~€~€}€€~~~€~€~€~€~~€~€€€~€~~~~~~€~~€‚~~~~€~€~€}€€~€€}€~~}€‚€€~€~€~‚~~€~€}€~€€~€~~~}~€~€}€~~~‚€}~€€~€~‚~~€~€}€~~€~€€€‚~~~~‚‚}€~€‚~€}€€~~~~~€}€€~€~€~~~~€€~€~~}€~€€~€~~€}€~~€€|€~~~€~€~~}€~€~~~€‚€€~~~~€}}~€€€~€~~~€~~€}~€~€~~~€~~~€~€~€€€~€~}€~~~€~€€~€~€}€~~~€€~€~‚€€€~€~€~~‚€€~€~~}€~€€~~~€~€~€}€~‚~€~~~€~~€~~~~}€~~€~‚€~€€~~~€~~€}~~~~€€€~}~~~€€~€€‚~€~€€}}€~~~‚~~€~€€}€~}}~€~€€}€~~€}~€~~~€~~€~~€~€€€€~~€~~~~€~€}€~~~~~€~€€~€~~€€€~€~~‚€~~€‚}~~€~€~~~€~‚€€~€}~€~€~€€~~~~~€~~€~‚€~~~~€~€~~~~~~€~}~€€~€~~~~‚€~€~€€~€~€~~}€~€~€~€~~~~~}~€~€€€‚~~~~}~€€~}€~~}€~€€~€~}~€€~€~~~~}~€}€~€~~~€}~€€~€}€~~~€}€}€~€~~~~€‚~€~~}~~€~€}€~~€~€€~€~~~}€~€~~~~~~€~€€~€~~~~€~€~€~€~€}~~~~€~€~€~€~~€€€€€~€}~€~€~~~~~}€~}€~~~~~~€€‚~~€}~~~€~€~~€~€€~~~}~€€~€~~€~€}~~~€‚}€~~€~€€~€}€~€~‚€€~€~~€~~€€€~€~~~€~~€€€€}~€}~€~~€€~€~~€~~~~~€~€~€~€}€~}~~~€}€~€€€~~~€~€~€~~€}~~}€~€~~~~€~€€€~~€~~€}~€€~€~~~€€~}€~‚~~€~~‚€~€~~~~}~€~€~€~~€~~€}€~€~€€~~}~€~€~€}€~~~}€~~€~}€~~~~€~~€~~~€€€€~~€}‚€~~~~~€~€~~~‚€~~~€}€~~€~€~€}€~~~€~€~~~~€~€~‚€~~~‚~~€‚}}€~€}€~~€~~~}~}€}€~€~€~~€~~€~€~€~€~€~€~~€~~~€~€€€~€~}€€}€~~~~~€‚~€~€€~~€~~~~€~~€€€~€}}~‚€~€~€}€~€~~~€}~~€~~~~~~~€€~€~~~€~€~€€€~€}~€~€€~~~~}€€~€~€~~~~~€~€~€~~~~€~~€}€€€~€~~~€}€€€}€~~}~€~€~}€~~~~€~€€~€~€€}€~‚~~}€~€~€€€~~€~~€~€~€~~~}€€}‚€~€~~€~~~€~€€€~€€~~€~€~}~~€~~}~€}}€~€~€~~€€€€~€~~€~€~€~€~€~€~€~}~~€~€~~€~€~€€~€}~€~€€€~~~€€~~~}~€€€~€}~€~€~€~€~~‚}~€‚~€~€~€~‚~€~€~€~~€~€~~~~€~‚~€~~€~€€€~}~~€~~€€~}~~€}~€€€~~~€~~€€‚~€~~€~~€€€~€~~~€~€~€~~~€€~€~~€~€~€}~}€~~‚€~~€~€~~€~€~~~€~€~€€~€~~€~€~~€€~~€~~}€}€€~}~~~~€~~~~~€~€~€~~~}€~~~€€€~~~€~~~}‚€~~~~€€~€}~}€~€€€}}~}~~~~€~~€~€~€€~~~~~€~€~€~~~€~€~€~~~€~~~~~€~€~€€€~~€}~€}€~€~€~~~€}€~~€~~€€~~€~~~€~€~€€~~~€~€€}€~~~€€~€~~€~~€€~~€~~€~€€}€}~}~~€~€€€~~€~~~}€~€}€€~€~~~€~}~€~‚~~€~€‚~€}~~~€~€~€~€€~€~~~}€€€~~~~€~€~€€~€€~€€~€~€~~~€~€~~~~€~€~~~}~€~€~€~€~~}€~€~~€~€€}€€~~~~~}€~€~~~€~~€€~€~€~€~€€~}~~~~€~€~~~}€~€~€€~€€~€€~€€~~~~~~€~€}€€€~~€~~}~€~€€~~~~~€~€~€~€€€~~~€~€~€€}€~~€‚~~€~~~€}€~€€~~‚‚~~€~~~€~€~€~€~~€~~€€€}€~~€~€~~€~€}~€~~€~}€~€~~~€~€~€~~~€~€~€€}€~€‚€}~~€~€~€~‚~~‚~€€~~~€~€~€€€~~~€~€€~~~‚~~~€~€~‚~€~€~~~€}~€€~‚~~~~€~€€}€€€€€~€}}€~~~~~~€€~€~€~~~€~~€~€}€~€}€~~~€~~~~€~€~€~€€~~€~~~€~€€~€~~}€~€‚~€~}€~€~€~€~€}~~‚€€‚~€}~€}‚€€€}€~~~€~€~€~€}€€€~€€}~€}€~~~€~€€€~€~€~~€~~€~€~~€~€€~€~€~~€}~€~€€€~~~€}~€~€~~~~~~€~€€~~€~}~€~€~€€€~~€~€€~€€~€~€~€~~~€~€~€~}~~€~€~}€€€~€~~~€~€~€~~~€~~€~€~€€~~~€}€€~€~€~~}~€}€~€}€~~€~~€~€€€€~€~~€~€€~~~}€}€€}}~€~€~~€~€€~€~~~€~€~}€~€€€~~}€€}€~€~€}€€~€~€~~€€‚~€~~€€€~~~€~~~~~€€~~~‚~~€‚}€~~€~€~~€~€€€€~€~~~€}€~~€~€€€~€}~~~~€~€~~€~€€€~~€~€~€}~€~~€~~~}€}~€€}~€~€~~€~~€~~€~~€€~€€~€€~€~~~~~~~€}~€~€~€~~~€€€~}€~}€€~€~~€~~€~€~€€}€~~€~€~€€€~~€~~~‚€€~~€~~~€~€€~€~~€~€~~}€~€~}€~€~€~~~€~€€‚€~€~~~~€~€~€~€€€~€~€~€~€~~~€~~~~}~~~}€~~€€~€~~~€~€~€€~~€~~~€}€€€~€~~~~€~€~€~€~€~€€~~~~~~€€~€~€~€~~€~~}€~€~~}~€€€~€~~}~~€~€}~€€}~~~~€€~€~~~}€~€~~€}€€~€~~~‚~~€}~€~€}~€€€€€~€~~~~€~~~€~~€~‚€~€~~~~}€~€€~~~}€~€€~€~~€~~~~€~~}€~~~€~€~~€~~~~~€~€~€~€~}‚€~~€~€€}€}~~~€~~€€~€~~~€~~€~€}€€}€~€~~}€~~~€~€}€~~€~}}€}€~~€~€~€€}~~€}~€~€€}€~~}~~~€€}€~€€~€}~€~€€~‚~€~~~€}€€~€€~€~~~~~€~€~~}€€~€}~~‚~~€‚}€~€~€~€‚€~€€~€~~~~€€€~}}~€~€€~€~€~€~€~~€~}€~€}~~€€~€~~~~€€~}€~~~€~€~€~~}€~€}€~}€€~€~~€~~€€~~~€€~€~~~~€€~€~~~~€€€€~~€~~~~~€€~~€~~€~€€€€~€~~€~€~€~~~~€~€€€~€€~~~€~~~€~€€~~€~~~€~€€€~€}~~€€€€~€~~~€~€~€€}€~€€}€€~€€~~€‚}€~€~€}~~€~~€~~~€~€€€~€~€~~€~~€€~~€~€€€~€}‚~~}~~€€~€~}~~€~€~€~€~~~€€~€~~}€~€~€~€€~~€~~~€~}€~€~~~~€~~}€~€~€€~€~€~~}~€}€~~€€~€€~€~~€~~€€~€~€~~~€€~€~~€~€~}~~€€€‚~~~~€~€~~~€~€~~€~€~€~}€€~}~~€~€~}€~~~€}~~€€‚}€~~€~~€~€~€~€~}€~~~€}~€€}~~~~€~€€€~~~~€~€€~€}~~€}~~€~€}€~€}€~~~€€}€~€~€}€~€~€~€€~~€~€}~€~~~€~€~~€€~€~~€~€€}€~~~~€}€€}~~~€~~€€€~€}€~~~~~€}€~~€}‚€~€~~€~€~‚€€€~€~~€€}€~}€~~~€~€€~~~€~€~€~€~~~~€€~€}€}€~~~~€€€~~~€}‚~~€~‚~~€}€}~€~~~€~€~~‚€€~‚~€€~~~~€~~€€~~€~~~€}€~~~€~€€€€~~~€}~€~€€~€~€€~€~€~€}~€~€}€~€~€~~€~€€€~€~~€~€~~~€€~€~€€~€~€€}€~€~€~€~~€~€€~€~~€~~€~~~€}€~€~~~~€}~€€€~€~~~~€€~~€~€~€~€~~~~~€~€€€~€}~~~€}~‚~€}~~~€€~}€~~€~€~€~~€€~€~~~~€}€€~€~€~}~€~€~~~€~~€~€~~€€€€~}~~~€€~€~€~€~~~~~~€~€~€~~~€~€~€€~€}~~~€~€~€~€~~€~~€~€}€~€€€€~~~~}€~€~€€~€€~~‚~~€~€~€~€~~€€€€~€~~~€‚}~€€€~€~€}€~€~~~~‚~€~€~€~}~~€~€~€€~€~€~€~€€~~~~€€~€~~€~€~~~~€€€~~~~€~€€~€~~}€~€€€}~~€~€~€€}€~€€~}€~~€€~~~€~~€€~€~~~€~€~~~~~€€}}€~€}‚~~}€~€€‚~~~~~€~~~€€~~~€}}€~€~€~~€~€€~€~~~~‚~€€‚~€~€~€€~~~€~~€~€‚~€€€~€~~~€~€€€‚~€~~€~€~~€}€~~€~€~€~~~~€€~~€~~~€~€€}€~~€~~~€}€€~‚€~€}~~€}€€~€€~‚~€~€~~~~€~€€~€€~€€~€~€~€€€~~€~€}~€€~~€~€~€€}~~€€~€}~~~€~€}~~~~€€~~~€}€~€€‚~€}€}~€~€~€€~€~€~~€~€€~€}€€~}€}~~€€€~€~~~~€}€}€~~~~~€}€€}~~€~€~€}€~€~~€~€€~~€~~~€~€€}€~~}~€€~€~~~€~~€~€}€~€~€~€~~~~~€~€€€€~€~}~€~€~€}€~~€}€}~€~€€~~~}€~~€~€~~€€€€}€~€~€€~€~€~€~~~€~~€~~€~€€€~~€~~€}~€€€~€~€€~€~~€~~€~~~~€~€€~~~~€€~~~€~€€~€~~~~~€~€~~€~€€~€}~€€‚€~€~€€‚~~~€€€€~~~€~~€}€~}~~~€~€€~~€~€€~€~€~~~€~€€~~~~€€~€~~}€~€}€~~~€~€€‚~~~~€~~€~€€~€~~~€€~~~~~€~€~€€‚~€~€~€~€~€~€}€€~€~}€~~~~€€~€~~~€~~€€~€~~€~~€~~~~€€~€~}€~€~~}}€€~€~~}€€~€~€€~€€~€}~~}€€~€€€€€~€~€€~€~~€}€~€~€~€~~~€~€€~€~€~~€~~~€}€€~€€~~€~€~~~~€~€€€€}~€~€~}€~€~~€~€~~‚~€~€~€~€~€~~€€€€~€~~}~€€~~~€~~€~€~€~€€€~€~~€~€€€~€~~€~€€€~€~€~~~~€€€~}€~~~€~~€~€~€~€€~~€}€€€€~€~~‚€~~~€~€~€€~€~~~€~€€€~€~}~€~€~}~€€~~~~~€~€€~€}~€~€€~~€}€~~€€~~€~€~€€~€~€~~€~~~}€~~€€~~~~~~€~~€~€~€€€€~~~~~€€~~~~€€~€~~€~~€~~~€~~€€€‚~€~€~~~~~€~€€~~€~~€~€€~~~€~€€~~€~~€€€€~€~~€~€€€~}~€~€€~~~€~~‚€~~~}€~€~~~€€~~~€~€€~€~€}€~~€~~~€~~€~€~€~~€~€~€}€~}}~€€~~~€~€€~€~~~~€~€€}€~€€~€~~~€€~~~€~€~~€~€~€€~€~~€~€~€~~~€€~~€~~~~‚~~€~€~€~~€~~€€~~~~€~€€~€~~€~€~~~€~~€‚~~€~€~~€~~~€~~€~€~€€€€~~€~~€~~€€~~€~~~€€~~~~~~€‚~€€~€€€~~~€~€€}€~€~€~€~~~~€€€~€~~€~€€€~€~~€~~~~~~€~€}~€~€~€€€~€~~€~‚€€€}~~~‚~~€~~€~~€}€~~~€~€~€€}€€~€~~€~~~}€~~€€~€~€}€~€~€~~€~~~‚}~€~€~€}€}~~‚~€€~€~€~€~~€~~€~‚~€~€‚}~~€€~~~~€~~€~~€}~€€~€~~}€~€~~~€~€€~€~‚€~~}€}€~€~~~‚}€€~€€~€~~~€~€}€€~€€~€~~~}~€€~~~~€~€~€~€~€€‚~~~~~€}€~€~‚€~€~}€~~‚~€~€}€€~~€~~~~€€‚~€~~€~€}€~€~~€}€~€€}€~€~€~~~€~}~€}~~€~€~~~€~~~€}€€~}€~~~~€~€~€~~}€~€€~~€~€~€€~€~€~€~~€~€~~~€}€~€~~€}€~~~~€€€~€~~~~~€€€~~~~€~€€~€~~~~€~€~~~~€€~~~€~€€€~€}~}€~€€€€}€€‚~~€€~€~€~~€~€~€~€~~~~~~€€}€€}€~~€~€~~€€€~~€~~€~€~~€~€~€€~€}~~€~€€€~~€~~€€€~€~~€~€€~~~€~€~€€}€~€}€~€~~~€€~€~€~€}~~€}~€€~~€~~}€}~€€€€}€~~~~~~€€~€~€~~~€~€€~€~€}€~€€~€}}€~€€~~~€~~€}€€~€€~€~‚€~~~~€~}€~~}~~€€~~€~}€~~€~€~€}~~~~~€~~~€~~~€‚~€~€~€€‚~~€~}~€€€~€~}~€~€~€}~~€~~€~€}~~~~€~~~€€€~€~€}€€~€€}€~~~~€~€~}€~~€€~€~€}€~€}€€}€~~~~~€~€€~€~~~€€~~€}~€€€~€~€~€~€~~€~‚~~€~€~€~€~~~~€~€€~~€~~~}€~€~~€~~€€~~€~~€~€€€~€~~~€~€~€~€~€€~~€~~}€~~€~~€~€€~€~€~~€~~€~€~€~~€€~€€€}€~~~~€€~€~~€~}~~~€}€€~€~~‚€~~€~€}€~€€~~€~€~~~€~~€}€€€€~€~~~}€€€~~~€€}€}€~€€~€~€~~€~~€€~~~~€}~€€€~}~~€~~~~€~~‚~€}€~€~€~€~~€~€~~€€~~~~~~}~€€€~~€~}~€}€~€€}€}€~€}€~~~€€~}€~~~€~€~€~~€}~€€~€€~€€€~~~~~€}‚€~€€~~~€~~€~~~€~€€€}~€~€€€~~€}~€€~~~~~~€~€~€~~€~~€€€~€~~€~€~~~~~€€€~~~€~€€~€~€}€~€}€~~‚~€~}€~€~€€~€~~~€~€‚~}~€€~~~~~€€~~€~~~~€~~€}€€~€€~~€~€€~~€~~~€~€~€~€€~~~€~~€}€~€€~€}€~~€€~€~~€€€~~~€~~~~~€~~~~~€~€€~€~€~~~€€€~~€~~~€~€€€~€~~~€€€€~€~~~‚~~~€}€~€~€~€~~~€€‚}€}€~€}€}~€~€}€~‚~€‚€~€~~~~€}€‚~€~~€~~€~€~~~~€}€€€~~~€~€€~€€~€~€~€~€~€€~~~€~~€€~~~~~~~€‚}€~€~~€~~€€€~~€~€}€~~~~€€€~~€}~~~~€~~€~€~€~~~~€€~~€~~~€~~€~€€~€~~~~~€~€}€}€€}€€~€~~~€€~€~€~~€~‚€~€~~~€}~€}€~€~€€~€‚~~€~€~€~€~~€~€€~€~~~~~€~}€}€~~~€~€~€~~~€~€~€~€€~~€~€}€€~€~~~€~~~~€€~~€~~~}€}€€~€~~~}€€}€~€~€}€~~~€~€‚~‚~€~€~€~€€~€~~}€€}€~€~}}~~}€~~€~€~~~€~~€}€~€~~~€~€}€~~€€~€}~€~€€~~~€~~€~€~~€€€~~~€~€~}~~€~~~~~€~€~€~~~€~~~€~€~~‚~~€~~€~€~€~€~~€~€~~~€}‚€€}~~€~~~€~~€€~~€~€~€~~~~~€~~~}€~€~€~€}€}€€~~~€~~€~€~€~~‚~~~€‚~€~€~~~}€€~~}€€~~€~~€€€~}~~€~€~~€~~~€~~€~€}€€~€~€€}€~~~~€~~~€~‚~~~~€~}}€€€~€€~€~€€~€€~~€€~€}~~~~~~€‚}~~~~€~€‚~€~€€}€~€~~~€}€€€€~€~~~}~€~~~~~~€~~€~€~~€~€}~~€~}€~~€~~€~€‚~€~€~€~~~~€~€}€€}€~€}~€~€~€~€~~€~~€~€}€€~€~€~~~€~€~€~€~~~~€~~€~€~~~€~€~€~€€~~~~~€~€}€~~€~~~‚~~€~€}€€~€~~~€‚~~~€€~~~€~€~€~€~}‚€~~~}€~€~€€€}€~~€}}~€~€}€~~~€~~€~€~~‚}~€~~€~~€~€}€~~€~€~€}~}~€~€~~€‚~~€€~~~€}~€€~~~€~~€~~€}€€~€~~~}€~€~}~~€~€~~€~~€€~€~}€~€€~€~€~~~}€~‚€~~~}~€~€~€~~€~€€~}€~€€~~€€~€~€€~~€}~~€~~~~~€~€~~}€~€‚€}€~€~€€~‚~€~~~€~~€~~~€}‚~~~€‚~€~~€~~~~€€€~€}€~€~‚~~€€~€~}~~~€‚~€~€~€~~}€~€~€~€~€}~~€€~€~~~€~~~~}€~€~}~€~~€€~€}€~~~~~~€~€€~€}€~~~€~~€~€~€€}€€~~~~~€€}~€~}~~~€€€~€}~~~€}€~€€~€€~€~~~}~€€~~}~€~~€~€€}€~~€~€~€~€€~€~~~~€~€€€~~}~~€~€~€€~€}€~~~€~€~€~~€€~€‚}€~~€~€€€€~~~~€~€~~~€€€~€~~~€~}€~€~€~~€~~€~€€€~~~€}~€}€€~€~€~}€~~€~€~€~~€~€~€~~€~~~€~€}€€~~~€~~~€~€~~~€~~~€~€€~~~€~€~}}~€€€~€~~~€~€~€~€~~€€€~€}~~~€~€~~€}€~€~€€~€~€~€€~}€~~€~~~€~€~€€~~€~€~~~~€€}€~€~€~~~€‚~~‚€€~€~€~~~€~€€~€~}€}~€~€}€€~€~}~}~~~~~~€~€~€~~€€}€~€~}€}€€€~~€~~€~€~‚~~~€~€}~€~~€€}€€~~€~€~€~~~~€~}€~€~€~~~~~~~~€~€~~~€€€~€~~€~€~€€}€€~€}€~~~~~€~€~‚~~€~€~€€}€~€~}~€€~€~~€~~€€~€€~€€}~~~~€~€~€~~~‚~€}€€}€~~}€~€}~~~€}€€€€~~~}€€€€~~~~~€~€~€€}€}€~~~€~€}€}€~~€~~€€€~~€~~}€~€~€€~€~€~€‚~‚~€€}€~€~‚}€~€~€€~€~€~€~~}~€~€€€}€~~€~~€~~~€~€~~~~~€}€~€~€~~~€~€€€~€}~~€~~€~€~€~€€~~~€€€~€}€~~}€€€~~}~€~€€€~~€~}~‚€~€~~€~€€€~€~~€~€~‚~€~€~€€€~€~~~€~€~~~~€~€~€~~€~‚€€~€~€}}€€}€~€}€~€~~~~€~€‚~~~~~~€‚}€~~€~~€€€€~~€}€~€~€~~€€~€~~~€~~~}~€€~€~~€~€~€€}€€~~€~€~~€€~€}~}€~}~€}~€}€€~€~~~€~€}€€~€~}€€~~~~€~‚€‚~€}~~€€~~~~€~€~€~€€~€~~€~~€€~~€~~~}€}}€€}€}€~€~~~€~€€}€~~~~~~}~€~€~~~€~€~€€~}~€}~€~€€~~}~€~€€~~€~€€€~€~~€~~€~~~€~€€~~€~~€~~€~€}€~€~‚~~~~~€~~~~~€‚}€~€€}€~€~~~‚€€~~~€}€‚€€}€~~~€€€€~~~€~€~~~€~€~~}€~~€€€~€}€€~~€~€~~€€~~€~€€~~€~€€~€~~€~€~~}~~~~~~~~~€}~€€}€~€}€€}€~~~~€}€~€~€}~~~€~€~~~~‚~~€~€~€}~~~€~~€}€~~€~€€~~~€~€}€€~€€~~€€~~€}~~€}~€€~~€~~€~€~€~‚€~€~€~~€~€~€~€~~}~€~€€~~~€~~€€€€~€~~€~€€€~€~~}€~€~€€}~€~~~€}€~€~~}€~€}€}€€~€}€~~€~€€~~~€€~€€~}€~€~~€~~}€€€€~~€~~€€€}€~~€~€€~~~€~€~~~~‚~~~€~€}€~~€~€~€}€}~~€~~€~}€}€~€~~~€~€€~€~~~€€~€~}€~€€€€~~~€€€€~~~€}~€~~€~~€€€€~~~~~~~~€~~~~~€€~€~~€~‚€~~~‚}€~}€€}€€~€~~€~€~~~~€}~€€~€~~€}€~€~~€~€~~€~€~~~~€~~€~€~~€}‚€~~~~~~~€€~€~~~€}€~~~€~€€}~~€}€~~~}~}~€~~€~}€~€~€~}€~~~€}~€~~‚~~~€€~€~~~€}~‚€€‚~€~~€~~€}€€~€€~~~~~€~€€€~€~~€~~€~€~~~€€~€~~~~~€~~€~~€~~~~€€~~~}~‚€€~~€~~~~}~~€~€~€€~~~~€~€€~€~€~€€~~€~~€~~€€€~€~€~€€~€~~€~€€~~~€~€€~}~~€~~€€€~~€~€€}€}€~€~€~€~}€€~€~~~€~€€€~~~~€~€~~€~€~€€~}€€€€‚~€}€~~€~€~}~~€~~€~€‚}€~€~€~~~€~€~€€~}€~€~€~€~€~~€€€~€~~}~€€~~~~€~‚€€~~~€~€€~€~€~€€~~~~}~‚}~~~€~€~~~}~€€~~~~~€~€~€€~~~~€€~€~~€~€€}€~€€}€~€~~€~€€~€~~~~~~€‚~€~€~€~€€€~~€~}~€~€€€~€~~€~€€}€€~€~~€~€€~~€}~~~€~€€~€~~€~€~€~~}€~€€€€}}}€~€}€~€€€~~€~€€€~€}€~~~€~}€~~~~~€~€}€~€~~€~€€€~~~‚~€~€~€~€~~~}€~€~€}~€}~€~€€€€~}€~~€~~€~€€~~€~€~~~€}€~€~€~~~~€€€~€~~~}€~~€€~}€€}}€~~~€~€~~~~}€}€€~€€~€~‚}€~€~€€}€~}~}~~~€~~~€~€€~€~~~}‚}~~€~€€}€€~€~~€~€~€~~~€~~~€‚~~~~€}~€€~€~~~~€~€~~~~€~€€~€~~€~€~~~‚€~~~~€~€}€}€~~~€}€~€~€€~€~~~€}~€~€}~~€}€~€€~€~€~~~~~€€~~€~€~~€€€~€~~~~~€}€}~€~~€€~~€~~~€~€~~~~€~€€}€€~€~€~€€}~~€~€€~~‚~€~~~€€~€~€~~~€~€~€~~€~€€~~€~€~€€‚~€~~€~€~€~~€}€€~€~~~€}€~~€€~€}~‚~€~€~€~~~~‚~}€€€~€~~~€€~€~}€€~~€€~€~€~~€~~€€‚~€}€~€~}‚€~~€}€~€~~€~}€}€€€~€}~€~€€}€~~}~~€}€~~€€€}€~~~€€‚~€~~€~€~€~}€~€~~€~€€~€€~~~~€€€~€~~€}€~€~~€~€~€~€}~~€~~‚‚}~~€}€}€}~~~€~€~€~~€~€€€~€~~~~€€€~€~~€~~€~€~‚€}~}€~€€}€~~€~€}€~€}€€~€~~€~€€€€~}€~€}~€~€~€€}€€‚~~~€~€~~~€~~~€~€€~€€~€~~€}~€}€€~~‚~€}~~€~~~~€~€€€~€~€~~€€~~€€}~~~~€~€€€~€~€}~€€~€€}€}€~€~~€~€‚~~~~€}€~€~€~~}€~€~€~}~€‚~€~~€~€~€}~~~‚~€~~€€~~€~~~€~€~~~€~€~€~€~€}€~€}€~~€}}€~€~~‚€~~€~€~€}~~~~€€}€~~€€‚~~€}€€}€~€~~€~~~~~€}~€~~€~€~~€~€~€€}€}€~~~~~€~€~~€~€€~€~~}~€~€~~~€~€}€}€~~€~€}~~~€}€~€~€~€}~€€~€~}~~~€~‚€~€~~‚~~€€€~~~}€~~€~~~€~~~~~€~€~€~€~‚€~~~‚}€}€}€~~~€}€€~~~~~€€~€~€~~~~€~€~€}}€}‚€~~‚€‚~€~€~€~‚€~~~€€~€~€~~~€~€~~~~~~€€~~~~€~€€~€~~~€~€}~€~€}~€€}€~~€~~€~~~€~€~€€~~€~~~~€~}~€€}€~}~~‚~€~}~€~~€€~~‚~~~~€~}€~€€~€}€~€~€~€~€~~~~~€}€~~~~€€~€}€}~~€€€~€€~€~€~~‚~€~€€€~~€~€~€}€~€~~€~€~~€}€~~~~€~€}€~~€~~~€~€~€~€~~~~€~€€€}€}}~€€~€~}€~‚€€~€~~€~}~~~€}~~€~~€}€}€~€~~}€~€€~}~€~€~~€€~}~~€~€€~€~~€€~~€~€~€€€~~€~€~~~~~~}€€~€€~€~‚€~~€}€~€}}~~~€}€~€~€~€~€~€~€~€~€€~€~€~€~€€€€~€~~€~€~}€~~~€€~€~~~~~€€€€€~~€~€€€}‚€~~€~~~€~€}~~‚€€}€~~€~€~€}~~€~~€€‚€~~€~}€~€€~~~~~~€€€~~~€~€~~€~~€~€€~~~~€~€€~~€~€}€€~~~~}‚~‚~€~€~€€~~~~~€~~€}‚€~€~€~€€~€}~€‚~€~€~€}€€~€~€~~}~€€~~€~~~‚}~€~€€~~€~€~€~€~~€}€~€€}~~~€€€€~~~~~€€~€~~}~€€~~~~~€~€~€€}‚€€~€~~~€~€~€~€~~~€~~€~€~~~€~~~€}€€€€~€~€~~~~€}€~~€~€~~~~~€~~€~€€}~~€€}€€€~~€~~~~€€€€~€~~~€~‚€€~~~€~€~~~€~€~€€~€~~€€€~€~~€~~€~€~€~€~~€~€~}€€~~~‚~~€€~€€}€}€~€~€~€€€€~~€}€€€~}€~~~€~€€€~€~€€}€}~€~~~€€€~~€}€~€~~~~€~~}~€~‚‚}€}~€€~~€~~~€€‚~€~~€}€€~~~~€€~€~€~~~~~€~€~€}€~}€€~~~€~€€~€~~~€}~~}€}~€€~€~€}€€}€~€~~€~€€~€~€~€~€€~~€~~~€~‚€~~}€~~€~~€€€~~~~~€}€~€~~}€~~€}€~~~~~€€‚}~€€€~€~~€~~€}€~€‚~~€~~€~~~~}€€€~€~€}€~}~€€~~~~‚~~€}€‚}~€}€€~‚€~~}~~€~€€€€€}€~~~~€~€€~€~~~€~€~€~€}€€~€€~~~~~~~€~€~~~~€‚‚~~€~~€~€~€€}€€}€~~~~€~€~~~€€€~~€~~~€~€~€~€~€€}~~€~€€~€~€~}€~€€~~€~}‚~~~€}€~~}€~~}~€~€€~~€~~~€~~€€€~€~~~~€€€~}€~€€~~~~~€~~~~~€~€~~€~~€~€‚~€~€~€~~~~€}}€~€€~€~€~~€~€€~~€~~€~€~€~~€€€€~~~~~€~~€~‚~€}~€~€€~€€€~~~€}€~€~~~€‚~€~€~~€~€€~€~€~~~€~€}€}€€~~€€~€€}€~~~}€~€~€}€~€~€~~€~€~~€€‚~€~€~€~~~~€~€~€~}~~€~€~~~€~€}~€€~~~€~~€€}~~€~~~}€~~€}~~€‚}€}~€~~‚~€€€~€~€~€~€~€€}€~€~€€~~~~€‚}€~€}€€~€}~€~€}€~€~€~~~€~~€‚~~€~€~€}€€~€~~~~€~€€~€~~~~€~€~€€~€~‚~€}~~~€~}€~~€~~€‚~€€~€€~}}~€~€~€}€~€~~}~~€€~€€~}‚€~€€~€}€€~€~~~€~€~€~€~~~}€}€~€}~~€~~€~€~€~~~}~€‚€€~~~€~€€~}€~~€~~~€~~~€~~€~€‚€~€~€~€€~€~~~~€€~~~~~~‚~€~€~€€~€~}€~€~~€€€€€‚~~€~€€~€~€€~~€~€}~~}€€~€~~~€~}€~€~€~€€~~€~~€€‚~€~~}€~€€€~€~~€~€~~~~€~€~€~€~€}~€~€~€}~€}~€~~~~€~€~~~€~~‚~€~€~~~€~€€~€~€~€~~€}€~~~~}€~€~€~~~~~€€~€}€~~~~~~~€~€~~€~€€~€~€~}€~€~€~€~~€~~€€~~}€€~€~€~~~€€~€~€~~~~‚€‚~~~€}}€€~€}€~€~}~€€~€~€€~€~~~~~€€€‚~€~~€}~~}€€~}€‚~~‚~€}€€}€€€~€~€~€~€€~~~~€~~€~€€}€€~~~€}€€~€}€~~€€€€~€~€~€~€~€~~}~€~€~~~~~€€~~~€}~‚€€‚~€}~~}€~~}€~€}€}~~~€~€€~€~€~~€‚~€~€~€}€~~~~€}€~~~~~}€~€~€~€~~~~€~}€~€~€~€~€€}€}~~~€€€~~€~€~€€~€~}€~€~€~€}~~~~€~€€~€}€~~~~€~~}€€}€~€~~~€~~€€€~~€~~~~€}~€€}€~~€~~~~€~€~€~~€~€€~~€~€~€}~€~€~~~~~€~~~~~€€€~~€~~€~~€~~€~€~€~€€€~~}€~€€~€~~~~€~€€€~€~€}‚€~~€‚~~~€‚~~~~~€~~~€€€~~~~~€~€~~~~€~€€~€~€~~€}€~€~€~~~}€€‚}~€€~€~€€~€~~~€~€€~~€}~€}€€~€~~~‚~€~€~€}€~€~}~~€~€~€~~~~€~€~€~€~~€~~€}~}~€€~~€~€~€~~~~€~€}~€€~€~~~€~€€€€~€~€~~€~€€~€~~€~€}}~€~~~€~~€€~€~~~~~€~€}€~~€~~€~€€~€~€~€~~~€~~€~€~€~€~~~~~~‚~€}~€~€~~~€~€}€~~~€}€€€~€~~~~€€~€~€~€~~‚€~~~€~€~€~~~€~€€€~€~~~~€€~€~~~‚~€~€€~€€~€€~€€~€~~~~}~€}€€~~~~€€€~~~}€€€}€~€€~€~€~€~~~~~~€}€~€€~~~~~€€~€~€~€~€€€€~€~~~€~€}€~~~€~~~‚€~~~~€}€~€~€}€~~}€€€~€}~€~~€€}€~~€}~€~€~€~~~€€~€~}~€}~~€~€‚~€~~€~~€}~€~€€~~~€~~€€‚~~€~€~~€€€~~€~€}€€~€}€~€‚~€}€~}~€~~€~€}~~€~€~€€€~~~~~~~€~~~~~€}~€~~~}€~€€€€~€~~~~€€~~~€}~€}‚€}~~~~~}~~~€~€~~€~~€€€€~€}€~€~€~€~~€€}}€~~€€‚~~~~~€~~€~~~€~€~€~~}€€€€~€~~~~~€€€~€}€€~€~€~€~~}~~€~€}€~~~~€~€~€~€€€€~~~€~~~~~€‚~}€~€~€~~€~€~€~~~€~~€~~€~€€€~€~}€€~€~~}~€~€~€~€~€~€~€~€~€~€€~€~~~€€}~€~~~€~€~€~€~€€~~~€~~€€~€~~~}€€~~€~~~€€~€~~~~~}€~€~€€}€~~~‚~~}€~~€€~~€~€€~€~€~€~€~~~€~€~}~€~€~€€€~€~~~€~€€~€~€€€~~~€~€~€~€~€~~€~€‚~€€~€~~‚€~€~€~€~€~~€€~~€~~€~€}€€~~~~€~€€~€~~~€~~€~~~€€€€~~~€~€€~~€}€~€~€~~~}€~~€~~€€~~~€~}€~€€~~€~€€~~~€‚~}~~~}~€~€€€‚~~€~~€€}~€~€~€~~~~€~€~€~~~~€€€~}€~€~€€€~€~€~~~~€~‚~~€~~€~€‚~€}~€~~€~~€~~‚€€~€~~~~€€€~~~~€}~€~€€~€~~€~~~~~€~€~€~€€}€€~€~€~~~€€€~€~~€~€€€€€‚~~~€€€€}~~~~~€~€~€€~€~~~~‚€}€~~~~€~€€‚~}~~€}~€€~~}€€~€~~€}€~~~€€~€~~€}€~~~€~€~~~€~€~€~€~€€~~~~€‚~~€~€~~€~€~€~~~€€€€~€~~€~€}€€~€~€~€~~€‚~~€~~}~~€~€~€~}€‚~~~€}€~~~~€~~€~€€€‚}~€~~€~€~~€~~~~~€€~€~~€~~~€€~~€~€€€~~€~€~~€€€~€~‚~~‚~€~€€~~€~~~€€~€€}€€~€€~€‚~€~~~€€€€~€~~€}€~~}‚~}‚~€€€~€~~~€~€~€~€~€~€€€~€~~€~€~€~€€~€~~~€~~~~€}€~€~€~~€~~€€~€}~€~€~€~~€~€€~~€~~€~€~}€€€~€~~~€~€€~€~~~‚~€‚~€}}€~~€~~€~€~~€}~~~€~€~~~~~€~€~€}€€}€}€~€~€~~€}€~€€~€~€~€~~€€€~}~~~‚~€€~€€~€€}€~€€~~€~~€}€~€~€~}~~~€‚~~€€€€€~~~~€~€~~€~~~€€~~~~}€~€~€~~€~€~€€€~~~~€~€€~~~~€~~€€~~€~€~~~~€~€~}€~€~€€~€~}~}~~~€~€}€~€~€~€~€~€~€€~}€~~€~€€}€~~€}€}€~~€~€~~~€~€€€€~~€~€€}~€~~€~€~~€~€€}€}€€}€~€€~€}~~}€~€~€~€~€~€~~€}~€~€€‚~€~~~~~€~€~~€~€~~~~€~€€€~€~~€~~€€~~~~€}€€~}€~~€~€€€~~€~~~€~~€~}€~~€~€~€~~~€‚~€~~~€~~€~~}~€€~€~~~‚~~€~€~~€~€~~~€~€€~~€~‚~}~}~€~€~~~€}€€}€~€~€~~~€~€€~~~€€€€~€~~€~€€~€€}~~~€~€~€~~~~~~€~€~€€€~~~€~€}€~€~~€€€~€~€~~‚€€~~€~~€}€~~~€~€~~~~€€~€€}€~€€}€€~~~~‚~€}€€~€~‚~~€~€€~~~€~€€~~€}~€€€~€~€~€€~€~~~~€~~€~€~€~€~~€}€~~€~‚~~€}€}~~~€~€~€~~~~~‚€~~€~€~€€€~~€~~~~€~€€€~~~€}‚~}€~€}€~~~€}€~€~~~~~}€}€€~‚€~€}~~~~€~€~~~€~€~€~€€~€~~€~€~€}~€~~}~~~~~~€~~~€~~€~€€~}~€~€~€€€~€~~€}€€}~~€~~}~€~€~€€~€~€~€}€~~€~€€}~~~~~€~~~€~~€~€~~€}€~}€~€€€€‚~€}~~~‚~€~€~€~~~~€~€~€€~€~€~~~~‚}~~~€€~€~‚~€~€}€}€~~~€~}€~€}€~~€}€~~~~€~€}€€}€~~~~~€~~~~}€~€€€~~€~‚€}~€€~}~~~€~€‚~€~€‚~€€~~€}~€€~~€~~}~€~~}€~€€~~€€~~€~€}€~€~‚€~~~€‚}€~€~~~~€~€€~€~~~}~~€~€}€€€~€~€~~~€}€~~~‚€~}€€~€~~€~€~€~~}~~~~~€~€~€}€~~~€~~~}€~€€~€~~~}€~€}€~€€€€~€~€~~~€~€€~~~}€~€€~€~~€~€~€~€~~€~€€€€€~€~€~~€~~€€~€~~~~€€~€~~~€~€}~}~€€~€~~~~‚€~~€~€}€~~~~~~€~~~€~~€€€~~~~~€~~€~~}€~€‚~~~~€~€}€€~€€~€€~€~~~~~€~€€€€€‚~~~~€~€~€€~€€~€~€~€~~€‚}€€}€€~~~~~€~€~€€€€~€~€~~€~‚€€~~~€~€€~€}~€~€~€~~~€~€€~€~~€~€€~~€}~~€~€€~€~~~€~€€~~€~‚€€€~€~~~€~€~€~~€~~~€~€~€€~€~~€€~€~~€~~~€‚}~~€~€~~€}~€€~}€~€~~~€~€~~€~€~€~‚~~€‚}€~€€~€~}~€~€€}€~~~€€~€~~~~~~€~€}€~€~~~€€~€}€€~}~€~€}€~€~€~~}€€~€}€€}€~}~~~€~~~€€~~€~~}€~~~€}}€‚~~€~€~~~~~~€}€~€~€~~~€}€€~€~~}€~€€~~~~}~~€~€~‚€€~€~~€}€€~‚€~€~~€~~€~€~€~€~€~}€~‚€€€~~€~~~€~~€€~~€~~€~€€~€€}€~€~~~€~€~‚€~}€}€~€€~~~~~€~€~~~~~€~~€~€€~€}~€~~€€~€}~~€~€~€€~~}~~€€~€~~€~~~~‚~‚~€~€€~~€}€~€~~€~‚€€~€~€~€~€~~~€~€}€~€~€~€€€~~~€}}€~€€~€~€~~€~€~€€~~~~~€~€€~€~}€~€€}~~~€‚€€€~~~€€€}~~~‚€}€~€}€€~€}~~€€~€€~~€}€€€~€~€~~€€€‚~~~~€€~~~~€~€~€~€~~€~~~€}€~€~~€}€€€~€~~€~€€~~~€~~€€~€~~}~~€€~~~€~}~~€€~~€~€~€€~€}€~}€~€}€€~€~~}~€~€~€€~}€~~€~€€€~€~}}€~€€€~€~€~~~~~€€~}~~~~€~€~€~~€~~€~~€~€€‚~€~~~~€~~€~€€}‚€~~€~~€~€~~€~}~€}~€€~}€~~~~€~€~€}~€~€~~~€~€~~~~€~€€€~}~~~€~€€~€~~~~~}€~~€€€€~€~~€}~€}~~€~€~€€~}€~~€~€~~~~~€€~€~~€~‚€~€}~€~€€~€€~€~€}~~€~€€~€}~~}€~€€~€~~~€~~~~€~~€~€€~€~~€}€€€~~€~~€~}€~€€~€}~~€}€~‚€€€~€~~€€€€~€~€}€~~€€~€~€~~}€~€}€~€}~~~~€~€€}€~€~~€‚~~€~}€~€~€~~~~€~€€~~~~€~€€~~~€~€~~€~~~€~€~€~€~€€€€~~€€}~~~€~~€€~~€~~}~€~~€~~€}€~€€}€~~‚€~~€‚}€~€~€~€~~~€~~~€~€€~€~~~€~~~€~€~€~€~~~€€€~~~€~€~€€~€~~~~€€~€~~~~€€~~~€~€€€~‚~€}~€~€€~€~~€€~€~€~~€~€‚}€~€~~~‚~~€~~€~~~~~~€€~€~}}€~~~€~€€€~€~€~~~~~€~€~€~~€}€€€~€}~€~€~~~}€~€}€€}€}~~~~€~€€€~€~~~~€~€€€~}~~€~€~~€~€}€€~€~~~€€€~€~~~~€~€}€~}~~€~€~‚€~~€}€€€€}~~€~}€}€~~€~€~~~~€~€}~}€~~~~€€€~~~~~€~€€~€~€~‚€€~~€~~}€~€€€}€~~€~€€~€~~€}€~€€~€~€~~€~€€€~~€~€~~~€~~€€€~~~~€€~~~€~€~€~€~}‚}€}~€~€€~~~~€~€~~€~‚€~~~~~€~~~~€~€€~€~€~~€~€€~€~~}~€€~~€~~~~€€~€~~~€}€~~€~~~~~€~€~€~€€€€~}€~~€~}€~~~~‚€~€~€~€~~€‚~~}~~€€}€~€~€~~~~}~€€}€~€€‚~}~~~~€€~€~~€~}€~~€~~~€}€}€~€}‚€€~€}~~~€~~€~}€~~€~~€€~€~~~~€€~€~~~~€~€~~~~€€€~~€~€~~‚€~€~€€~~€~}€~~€~~€}~€€~€~€}~~~€~~€~~~€~€€€~}€}€~~}€~~~~}€~€~€~~€~€}€~~€~€~€~~}€~~~~~€€~€€~€~€~~~€}~€€‚~~~~€~€~€}~~€~~€~~€€~~~~€~~€~€~~€~~‚€~€€~~~€}~€~~€€€~}~€~€~€~}€~€€~~~~€~€~~€~‚€~€~~~}€}€€}€~~~€~€~€~~~}‚€€€}~€~~€€~~~~}~€€~~~€~€~€~~€~€~€€~€‚}~€}€€~€~€~€~~€~€}€~€~€€€€~€~~~~€€~€}~~€~~€~€~€€~~€~~~}€~~~}~~~€~~€~€€~~~~€~~~~~€~€~€€‚}€~~~€~€~€}€~€€~~}~€~~€~~€~€‚~€}€~~~~~}}€~~€€~€~~€~~€€€€~}~~€~~€€~~€~€}~€€€~€~~€€~€~~~€~€‚~€}€€€~€~~}~€~€~~~~€€~~~~€}€~~~~‚}~€~~€~€~~~€€€€~~~€~~€€~€~~~€~€~}~~~€~~‚€~€~€~}€~~~‚~€~€}€~‚~}€~}€~~~~~€~€€~€~€}€}€~€€}€€~€}€~~~~€~€~~~€~~~€~€~~~}€}€€€~€~€~}~~~~€€~€}~~}~€€€~~€~}~€~~~~~~~€~€€~~~~~}€€~€€~€~~~€}€}€~~€}€€€€}~€~~~}~€~€€}€€~~}~~€~~~€}€~~€}€~~€€~€~€~€~€}€~€€~€~}€~~€~€~~~€‚~€~€‚~€€}€~€}~~€~‚~~€~~€~€~~~€~~‚~}~~~€~€€€€€~~~€~~€€€~~~~~€}}~€~~~}€~‚€~~}~~~€€~€‚~€~~€}€€~~€~~€~€~}€~€€~€}€}€€~€~€~€~}~€~€€~€~~~~‚€€€}€~~€~€€}~~€~€~€~€~~€~€~€~€~€}~€~€~~~~€~€‚~~‚~~~~€}~‚€€~€~~~€~€~~~€~€€~€~€~€€}~~~}~€}€€}‚~}€}~€~€€}€~~~}€~€~€~€~~€~€€€€~€~~€~~€}€€}€~€~~€~€~}€~}~}~~~€~~~~‚€}€~€}€~~€~€~~€~€€~€~€~~~€}€~€}€~€~~~‚~~€~€€~€}€~‚~~~}€}€~~}€}€~€~€~~€€€€~~~}€€~€~~~€€€€}}}~€}~~€~€~~~€}€~€€~€~~~~~€€€~}~~€~~€~~~~~}~~€€~€~€~~~€}€~~€~~~€~€~~€~~€€€~}~~}€€€~}~~€~€~€€€€~~~~€€~~}€€€~€~€~~€~~~€~€€~}~€~€€~~~~€~€~~€~~€~€~€}‚€}€~€~€~€€~€~€~~~€~~}~~€}~€€‚~€}~~~€~€~€~€~~€~€‚}€~€~€€~‚~~~€}€€€~~€}~}~€€~€}€~~~€~‚~€~~€~~€~€~~€~€~€~~~~~€}~€~€€~€~~€~€€€}~€~€~€~~~~€~~}€~€€€€}€~€~~~‚~~~‚€€~€}~~~€~~€~€}€~~~€~~~€~€~~€}€~~€‚~€}‚~~€}~~€~~€€}}€€~€~~~€‚~~~€~‚~€~€~~‚~}€~~~€~~€~€~€~~}}€~€~€€~€~€~~~~€~€}€~€}€~~~€~€€~€~~~~‚~~~~€€~€~€€€~€~}€~}~~€~~~~~~€€~€~~€~€~€~~~€~‚€~€~€~~~~~~€€~€}~~~~~€€~€~€€€}~~€~€~€€}€~€~~~~€~€€~~~~~€~€€~€~~€~€€€~€~}€~~€€~€€~€€}€~~~~~~€}€~€~€~€€~€~€€~€~~€~~€€~€~~~€€~€€~€€~€€~~€~~~~€~€~€~}~~€}~€€€~}€~~~€~€~€}€~€}€€~~€~}~~~€€}€}€}}~€€~€}~€~€~€~}€~€~~‚~€}€~}€}€~~€~€~~€}~~~€}€~~~~€~€€€~€}~€~€}€~€~€~€~~~€~€~€€}~~~~€~€}€~‚€‚~~‚}€~€€~~€~~€~~€~~€~~~€}~}€~€‚~~~€}€€}€€~€~€}€~€~~~~~€€‚~€~~€~~~€~€€~€}~~~~~~€~}€~~~‚~€~€~~~~~€~€€€~~€~€~€~€~€}~~€~€€~€}€~€~‚~€~€~€~~€~~€€~~€~~€}€€~~€}€~€~~€~~€€€~~~~}€€€€~~€~~€€~~€~}}~~~~€~€}€~€€~€}‚~€~€€€‚~}€~~€~~€€~€~€~~€~€~€€~€~€~€}~€~€€~~€~~€}€~~€~€€~~‚€~~~‚~€~€~€}€~€}‚}~~~~€€€~€~~€~€~€~€~€~~~€€~~€~~€~€~€~€~~~~~}~€~€~€~~€~€€€€~€}~~€}€}~€€}€~~~~‚~€}€~}}€€~€€~€€~‚€~€~~€}~€€€€€}~~~~€~€~~~~€‚~€~~€~€~€~}€~~~€}€}€~~}~~~€~€}€~~‚~~~€~~}€~€~~~}€~‚€~€~~~~€~€‚}€}‚€~~~‚~€~€}€}€~~}€~~~€~~‚~~}€}€€~~~€‚}€€~}€€~€~€}~~€}€~~€~~~}~€~~€€~€~}€€~€~€}€~€~~~€}€€~~~€~‚€}€€~€~€~€}~}~€€€}€~}€~~~~€}€~€}€}‚€~}€~‚€€€€~€~~}~€€€~€}~€~€~€~~€€€€~€}~€~~€€~~~€~€~}€}~~€~€}€~€~€~~~‚€€~~~}~€€€~~~€}~~€~€~€~€~~€~€~€€€~‚}~€~~€}€~~~~€‚~€~€~~~~~€€€~€~~~~€€‚~~€~~~€~€~}€€}€€}€€~€~€~~€}~€€~€~~~€~€€~€~€}€}~~€~€€~€~~€}€€~€}€~~€}€€~€~€~~€~€~‚€~€~~~€~€€}€~€~~€~~€~~€~€€~~~€~~~~€~~€~€~€€~€€}€€~~€~~~€~€€€~€}~~€~€~~~‚~€~~€~€~€}}€}~~~~~€~€~€}€~~€~€€~€~~~~~€€‚€}~~€€~~€~~~€~€}~€~~~~€~€€€~~€}~€~~}€€}€~€~~~}~€€€€}~~€~€€~€~}~€€~~~€~~~€~€}~€~€~~}~~}€}~€~€}€€}~}€~~~~€~€€~€~~~~~€~€}~~~~€‚}€€~‚€~~€€~~€~~~€~€€~~€~~~‚€€€~~~€~€~€~~€~€€~€~~€~~€€€€}~~€~€€}~~~€~€~€~€~€~~€~~‚€~~}~~€~~€~~€~€~~~~€€€~€~~~€~~~€~€€~€~~~~~~~€€}‚€~~~~€€€~}€~~~~€€€~~~}€~~~}€~€~€~€~€~€€~€€~€}€~~€~€€€€~}~~}€~~€~€~~€}~€€~~~~~~€~€}~€~€~€~~~€€€‚}€€~€~€€~€~~~€~€~€€}~~‚~~~€~€~~€€€€~€~~~€~€€~~~€~~‚€€~~€~~~€~‚€€~~€~~~~~‚€€~}‚€}~~}€~€~~€€~~€~~~€~€€~‚~€~~€~~€}~€~~€~€~€~€}~€}€€€€€~~~~€}~~}€€~€}€~‚€~~€~~€€~€~~€€~€~~€~~€€~€~€}€€~€~~~€~~~~€}€~€~€~~‚€}~~€~€}~~€~€~€}~€~~~€€~€~€~~€€}€~~}€~€€€}€~~}€€}€~€~€~~~~€~€€€}€~€~€}~€~€~€~~€~~~~~~€€~€~~€~}€~~€~~}~€‚€€€~€~~~~~€~~€~€}€~}~~€€}€€}€~~~€€~~€~€€~€}~~~~€~~€}€~~~€}€~€~~}€~~€~~~~€~€}€€~€~€~~}€~~€€~~€~~€~~~~~€€~€€~€~€~~~~€€~€~~~€€~~€~}€~}€€~~~€~€€}€~€€~€~~~~~€€~~~~~€€€~€~~~~€~~€}€~€}}€~~~€€€~€~~~€€€€€~~€}€~~~€~€€~€~€~€~~€~€€}~}€€‚~~~€}€~~€~€€€~€~~€~‚~~~€~€~~~€~€€€€~€€~€~€~€~~~€~€€~~~~~€~}€}~~~~}€~~~‚~€~€€~€~€~~€~€}€~€~~€~~€}€€€~~~‚~~€}€€~~€€€~~~~€€~€~~}}}€€€}€~€~€~€~~€~~~~~~€€~}€~~~€~€€~€~~€~€€€~~€~€~~€~~~}€~}€€~€~€~~€~~~€~€~~~}‚~~€}€€~}~€}~€€€~€~‚€~~€}€~‚€‚€~}€~€}€€~}€~€~~~~~~€~€~€~~~~‚€~€~~~}€~€€~~€~~~€€}€~~~€~€~~€€€}}~€~€~~~~~€~~€€~~€}~~~~€}~~~~~€~€€~€~€~~~€}€~~€}‚~~€~~~€}~~€€€~€€~€~~€}~€~€~€~~~}~€~€~€~~€}€~~€~€}€€~~€}~~~€~€~€~}~€‚~~€}€~€}€€~~~~€‚~€~€~€}~~€€}€}€€~€~~~~~~€€€€~€~~€‚€~€~€~€~€~€}€~€~~~‚~€~€~~~~~‚€~€}€~€~€~€€€€~~€~€}~~~~~€~~€~}€~€~~€~€~‚}€}‚~€~€€~‚€~~~~~€~€}€~€~€~€~}~~~}€€}€~~~€~€€~€~~~€~}€~€}~‚€€‚~€~~~€}}€~€~€~€€~€~~€~€€~€~~~€}€€~€€~}€~~€~€~~~~‚€€~€€~~€}€~~~€~€€€~€~~~‚~€€}€~}~€€~€~~€}€~€~€€~~~€~~~~€€}~~€~€€~~~€~€~€€~}€€~€€}~~€~€€€~€~~~~€}‚€€~~€~~~€}€~€~€~€€~~€}~€~€~}€~€€€€~~€}€~~~€~€}€~~€~€~~}€~€~~~€~€~€~~€}~€~~€~€}€~}€€~€~€~~~€~~~€~‚~~}~€}€€~€€~€~€€~~}~~~~~€}€~~‚€~~}~~€~~€€}€~€~~€~€€~~~€}}€€€~€~~€€~€€~€~}€~€~~~€~€€~~~~~€~€}~~€€€~~}~~~€€€~€~~€~€€~~~~€~~~€~~€~~€}~€€€~~€~€~€~‚€~€~‚~~€~€~€~€}€€~~~~~~~~€€€€~€~€~~€€}€~~~~€}€~‚€~€~}~€~~€~€~~~~~€~€€€€~€~€€~€~€~}€~€}€€~~€€}€}}€~€}~~~~~€~€~~€~€‚~€}~€€~€€~€~€~€~~}~~~~€~€€~~€~~~€~€€~~~~~~‚~‚€~~€~~~~€‚~~€~€€~€~~€~~€~~}€~€~€~~€~€€€~€~~~€€€~€~€~€~€~~~~~~~€}€~€~€~~€~€€€~€~}‚€€~€~~~€~€€~}~~~€€}€€~~€~€~€~~~~€€€~€~~~~~€~‚€~}€~~€~€€~~€~~€€~€€~~€~}~~~~~~€~€~€~€~~€}€~€~€}€~€~€~€~€€€~~~~~~~€~€€}€~€~~~€~~€}}€}~‚~~~€~€€€~~€}€€~€~~€~€€€}€~~€~~€~~}€~€~~~€~€~~~~~€~€~€€~~~€~}€€€~~~~‚~€€~}€~€~€~€~~~€~€~€€~~€~€~€~€~€~~€~€~~€~€~‚€~~€}€}€€}€€~~~‚€€~~€~€}€€}€~€~~‚~~€~€~€~~€~€€~€~~€~‚~~~~€~‚}€‚~~€~€~€~~}€}€€~€~€€~€}‚€~~~€~€€€~~~~~€~€€~€~€~~~~€~€}€~€~}~~€~€€~€~~€~€‚~}~~€~€~~~~€~~€€~~€~~~‚~~€€~€~€€~~~~€~€€€‚~€~‚€~€~€~~~€~~€}€~€‚~€~~~€~~€€~~~€}~€€~~€~€~€~€}€}~~~~€~€~~€~~~~~€}€€~€~~~}€~€~€~~€~~€€~€~~~~€~~€~‚€€‚~}€~~~~€~€€~€}€}€~€~~~~€~€~~€~~~€~}€~}€~~€~‚~~€~€€}€€~~~€~€~‚€~~~€€~€~~~€}~€~€~€€~€~~~€~€~€€}€~~}~€€~€~€‚}€~€~~~~€€€~~‚€~}€~~~€}€~€~€~‚€}~€€€~€~€~€€~€~}€€~€~€~~}~€~€~~~~€~€~€~€€~€}€~~~€~€~~€~~}€~€~€~~€~€~€~}€€€~}~€~~~€}~~~€€~€~~~~€‚~~~€~~€€~€~€~€€~~€€€~€~~€~~~€~€}€€}~€~~~€}}€~~~€‚~€~€€~~~~€~€~€€€€~€~~~€~~}€~€€~~~~~€€~€~‚€~~~~~€~~€}~~~€~€€‚~€~‚~€~€~€}€€~~€~}~~€}~€~€‚}€~€}€}€€~~€}€~€€€~}~~~€€€~}~~~~}€~€~€~~€~€~~€~€~€}€€~~€€€~€~~~~~~~€}€€~€~~}€~€€€‚~~~~‚‚~€~€€€~~}~~€~€~€|~€~~€~~~€~€}€€€€€}~€~€€~~€~~‚€‚~~‚~€€}€€~~€~€€~€~~~€~€~€~~€~€€~‚~~~€~~€€~~~~€~~€€~~€~~~€}€€~~~~€~€€~€~~€~€€~~€~~}€~€€~€~~~€€~€~€~€~€€‚~€~~€~~€~€~€~‚€€~~~~€~€€€~~~€~€€}€~€€~€€€€~€}~~~€~€€‚~€~~€~€€~€~~€~~€~~€~€€€~€~~€€€‚~~~€~€~€€~}~€~€~~~~}€~€~€~~~~€~~€}~€~€~~~€‚}€}€}~‚~€}~€}€~€~€~~~€~€€€~€~‚€~}~~}€~€~~€~~}~€€~~~€~€~€€~€~~~}~€~€€~~~}€~~~€~‚~~}€~€~€€~€~~‚~~~€~€~~€~‚‚~€~~~€~€}€~€€€~~~~~€~€€}€}€}€~~}~~€~€~€~~€~€€~~~€~€€~€~€~~€~€€€~€~~~€~€~€€}€~€~}~~}€}€~€€~~~~~€~€~‚€~€~~€€~~€~€€~~~~~€€}~€~}€~~~€€~€~€}€€~€~~‚}~€}€€}€~€}~~~€~€€~€~~~€~~€~€€~€~}‚}~~€~~€~~~}€€~€~~€~~€}~€}€~€~€€~€~€~€}€~€€~€~€~€~€}~}€~‚~~‚€~~€}€~€~~€~€€~€~~~~€~€€~}~}€~€€~~€~€~~~~€~€€~€}‚~}}~‚€€~€}€~~€~~€~}~~‚~~~€€€€~€~~~€~€€€~€~€~€€€~~€~€}€~€€~€~~€~€~~}€~€€~€~€~~~€€~€~€~~~‚~~~€}~€~~€~€€~€~~~€~€€~~~~€~€€€€~~~€€€~€~~~€~€€}€~~}~€~€~~€~€~~€€~~~~~~€~€~€~€}€~~€~€~€~~~~€~€~~}€~€~€€€~€~~€~~€~€~~€}€~€~€~~€~€~€~~~€€€~€€~~€}‚€~~~~~~€~€€}‚~€~~}€~€€€}€}~~€~€€~€~€~€~~€~€~€€€}€~~€~~€€~~€~~€~€€€~€}~~~€~€~~~~€€~~}~€~€~€~~€€~‚€~~€~~€€~~€}}}€~€€~€~€~€~€€€~~€~~~~€€~~~€~~}€~€€‚~~~€~€€~~€~€~€€€~€~~€~€€~€~~~€~€€~€~~~~‚€€€~€}~€~€~}€~~~~~€~€~~€~€~€€~€‚~€€~€~~~€€~€~~€~~~€~€€€~€~~~€~€€}€€~€€~€~€~~~€~€~€}€~€~~€}~}~€~€€€€€~~€~€~€~~~€€}€~€~~€€~€~~~€€~€}€~~}}€~€~~€~~~€~€€~€}~~€}‚€~}€~~~€€€€~€~~~€€~€~€~~€~~~~€~€€~~}€~€~€~€~€€~~~€~~~€~€~~~}~~€€€€~}€~€€}€~}€€}~~~~€~€~€~~€~€€~~~~€€€~~~~€~€~€~~‚€‚~~€~€}~€~€‚~€}€~~}~~€€€€~€~€€~€€~€~~~€~~~~~€~~~~~€~~~~€€€~}~€~€}€~€~~}€€€~€}~~€~~~€~~€~€~€€~€~}€~~€~€€~€€~€~€~~€~~€~€€~€€}€~~~€~€~€€~€~€€€~~€}~~~€}~€}€~~€~‚€~~~~~€}€~€~€~~€~~€~‚€~€~~€~€€~~€~~~€€~€€}~€€€€~€~€~€~€~€}€~~‚~~€‚~~€€~~€~€€~€~~~~€~€~€~~€~€€~€~~€~€~~€~€~~€€~~~€‚~€~~€~~~~€€~€~~€~€~€€€~~€~~€‚~€~€€~€~€~€~~~~€~€~~~~~€€~€~€~~€‚}~€~€€€~€~~€€}€~€€~€€~}€~~~€~€€~~€~~€~€~€~€~€}€€~€~€~€~~~}€}€€~€}~~~€~€€€~€€~~~€}~}€~€~€~€~~€~€€~~}~~€€~€~€~~€€~€~~~€~€~€€~€~}~€~~€€~~€€~}~~€~~€~~~~€~€~€~~€€~~}~~€}~€€€€~}~~€~~€€~€~}~€}€~€~€~~}€€€€~~}~€€~€~~€~‚€~~~~€€~€}€€}€~€€€~~~~}~€~~~~~€€~€~‚~€€}~€€~}€~‚~€~€~~~~€~€}€€}~€~€~€€€~€~~€~€~€~~~€~€~~€~€~€~€€€€~€~~~€~~~~~€€€~€~€~‚€€}~€}€~€~~~€~€€}€€~‚€~€}~~€~~€~€~~~‚~~€€~€~~€€~€~~~€~€€~€~~€~€€}€~~~€€~€~~€~€~~~€}€~€€~€€€~€~€}~€€~~€~~~€€€€~€}€~€~€}~~~~~€}€€~€~~€~~~€}€€~€~~~‚}~~€~~}€}~€€~€~~€~€~€€~~€~€}€~€~}~‚~€€~€}~~~~€~‚€€€}€~~~€€}~€~€~€~€~~€€€~€~€~~€~€‚€~€~~~~€€~~€~~€~€~€}€~€€~€€~€}€~~~€~€~€}€~€~€~€}€~€~€~€}€€~€~~}€~~€€~~}~€~}€}~€~‚‚~~€~~€€~}~‚€~€~‚~€€}}€~€}€~~~€}€~€€€~~~€~€€~€}€}~~~€~~€~€€~€€~€~€~€~}‚‚~~~~~~€€~€~~€€~}~~€~€€~~€~€~€€~~~€~€€~}~~~€€‚~€~€~€~€€~~~€€~~€€~€~~~€€€~}€€~~}~~‚€~~€~~~€~‚€€‚~~~€}~€}~}€}~~€‚~€}€~€}~~€}€~€~}~}}€~€€€€€~€~}€~€€€~€~~~€~~~~~€~~€~€~}~~~€€~~~~~€~~~€~€€~€~~€~€~€~~€~€€€~€}~~€~€€€~€}~€~€}€~€~€}€~}€~~€€~€~~~‚€€€~€~~~€}€€€€~~~~~~€€€~~€~~~€~€~~~€~~€}€~€~€~~~~€~~€€~~~~€~~€€€~€}€~€~}‚€~€~€‚~€~€~€~~~~~€~€}€~€~~€~~€€€~€}€~€~€~€~€~~~€€~}~~~€~€~}€}€~~€~~€~€€€~~~~~€~~€~~~€‚€€}€~~€€~~€€~€€~€~€~~~~€~€€}~~€~€~~€€€~€€~~€}‚€~~‚}~€~€~~~~€~~€~~~€~~~~€~€€‚~€~~€~€}€~~}€~~~~~€~€~~}€€€~€~~€~€}~~€~€~~€€~‚€€€€~€~~~€~€€€€~€~~}€~€~€€~~}€€~~~~€~€~€€~€~}€~~~€~€~€~€~~‚~~€}~~€}€~€~€~~~~€~€~€~€~€€~€~~€€€~€~€~~€~€€~€}~€~~~€~~€~€€~~€}€€~~~~~€€€~€~€€~~~~~€~~}}~€}€€~~}‚~€‚}€~€~€~~~~~€~€~€~~€‚~€~€~€~€‚~~€~~~~€€~~€}€~€~€~€~€~~€~~€}€€}‚€~~~€~€~~~€~€€}€}€~~~~~€‚~~~~€~€~€}€~€~}€~€~~€~€~~~€~€~€€~~~€~€~}~~€}€€~}€}€~€~€~~~~€€~~~~€~~€€~~€~~€~‚€€~€~~~€~€~€~~~~~€~~~€~~€€€~€~~€~€€~~~~€}€€€€~€~~~€}~€€~~~~€€~€~~~€~€~€~€~~~€€~€€~€~€}€€~~~}~€~€~€~€€~~€~~€~€€~€~~€~€€€~~~€~€~~~‚~~€}€€}€~€~~€~€€}€~~€€}€€}€€€~~€~~€~€€€€~~~~€~~~€~~‚€~~€~€~~€€~€~~€~~€}€~€€~~~~€~€~€€~€~€}€€~€~~~€}~€€~€~~~€~€€~~~€~€€~~€€~~~~€~~€€~}~~€~€€~€}€~~~~€~€}~}€~€~€~}~€€~~~~~€~€~~~~~}~~€}€}~€~~€~~€~€~€€€~~~€}€~~€~~‚~€~~€~~~€~€~~~€~~~~}‚~~‚€~€~€~€€~€€~€}~~~€}€€€~€~}€~€~€€~€€~€~€~€~~~~€}€}€~€~~€~~~€~}~~~~~~€~~€€~€}~~~~€~~~~~€~€~€~€~€~~}€~€~~€~€~}~~€€€‚~€}~}~€€~~~~€~€}€~~€~€~~€~~€~€}€~€~€~}~€~~€~~~~~~~€~€~~€~€~€€€~~€€~}~~}€~€}€~~€~€~€~~€~€~€€€~€~~~~€€~€~~€‚~~~~~€~€~~~€€~€}€~}€~}~~€~}~~€~~€~€}~~€€€€~€~~€~€€}~~~€€~€~€~~~€~~€~~€~€€‚~€~€}€€~€}~€~~~~~€~€€~€€~€~~~~€‚}€~~€~~€~€€~}€~€~€€~€€}~}€~~€€€~€~~€~~~€}~~€~~€€~~~~€}€€€~}~~€~‚€}~}€~€~€€}€~€~€~€~€€‚~~~~€~€€~€€}€~€}€€~€~~~~€€~~~€~€€~€~‚~€~~~€~€~~~€€~‚€€}€€~€~€~~€~~~~~~}~€€}€~~~€|€~€€}€~€~~}~€}€~€~€}}}€}€€~€€€~€~~~~~€~~~~€~€€}~€€~}€~~~~€~€€~€~~€~€€€~~~€~~~~€~€€~€~€€~€~~~~~€~‚€€~~~~~€‚~€~~€~€~~€‚~~~~€}€}€~€~€€}€~~€~€~~€~€€~€€~€}~~~€}€~~€~~€~€~€€€€~€~}€}€~€}€~~~~€~€}€~€~~€€‚~€}~€~~~€~€~€€~€~~~€~~~€€~~€~€~~~‚€}€~€}€€~€~~~€~~€~€€}€~~~~€~€~€~~€}€~~~~~‚}~€€}€~€~~‚€}€~€}€}‚€~~~€~~€€~~~€~€€€~~~~~€~}~~€~€~€~~~€~€‚~~€~€~€€~~€~€€~€~€}€€€~€~~~~€€~€~}~€~€~€~€~~~~}~~€~€€~€€}~}€~€€~€~€~~€‚~€~}€~€~€~~~€~‚€€‚~€€~€~}~~~€~~€~€~€}~€~}~€}€~€€~€}€~€~€~‚€}€~€~~€}€~~}~€~~~~€}~}€~€~€€~~~~€~€~~~~€~€€~€€~€~€~€€~~~€~€€~€~€€~~€}€~~~~}€€€~}€~~€~€}€€}€}~€€~€}€~€}‚€~€~~~€~~€~€€~€~‚~‚~€~€€€~~€€€~~€~€~~€~€~€~€~€~€~€€~~€~€}€~~~€~€~€~~}€~€~€€~€~€€~~~€~€€€~€}~~€~~€€~€~~€~€~€~€~€~~€}~~~€€~€~€~~€~€~€~}~€‚~€~€}€~~~}€~€}€€~€}€~~~~~~€~€~€~€}~€~€€~€~~~€~€€€€}~‚~~~~~€€~~~~~€€~€}€}€€}€~~~€~€~€€€~€~}€€€~€}€~€~€~~~~€~€~~€~€€~€~€~~€€}€€~~€€~€~€€~}€~~~€~€~€~€~€}€~~‚~€~~€}€€~~€~€~€}€~~}€~€~~~~€€~~~~€€€~~€~€€~€€~€~€}€~€~~~~€~€€~€~~~€~€}‚€€~€~~~~~€~~€~~€~€€~€~€€‚~€}~~€}€~€€}€~}‚€‚~~€}~€€€€~€~~~~€~€€€~€}~~€~€~€~~~€~€~€~~~€~~~~~€~€~€~~€~€€€}€~€~€€~€€~€~€~€~~~€~€~€~~~~~€€€€‚~€~‚€~~~‚}€~€€~~~~€€~€€~€€~€~€~~€}€~€€~€}‚~~~~€~€€~€~~~‚€~€~~}€€€€~~~~€~€~~}~€~€‚~€~~}€~~~~~~}€€~€~~~~‚~€~€~}~€€€~€~~€}€€~€~€~~€~€~€~€~€~~€~€~~€€}€~€~€~~~€€‚~~~~€~€~€~€~€~~}€~€~€~~€~~€€~€~~~€}€~€€~€~~€~~~~€~€~€~}€}~}€}€~~€~‚}€~€€}€~~€~€‚~€~€~€~€~€}}€~~~~€~€~€€€~€~~€‚€~~€~€~~~‚€~€~€€~€€~€~€~~€~€~~€~~‚}€~€~€}~~€~€€~~~~~~~~~€~~€~~€~€~‚€€~€~€~€~~€~€~€~€~€~€~€~~€~~~€~~€~€}}~~~‚~€}€€~€}€~}~€€~€€~~}~€~€~€€~€~~‚~€~€~}€~~~€~€‚~€~~€~€~€~~€~€€}~~~€~€~€}€~~€~€~€€€~~}~~€~€~€~€~~~~€~~€~€€~€~€}~~€}~~~€}€€~€~~~~€~€€‚~}€}€€~€}€~€~~~€~€€}€€€~~€~€}~~€€€€€~~~~~€~~~}€}€€}€~}€~~~~~~€}€€€~~€~€}€~~€~€~~€~}~~€€~~€~~€~~€‚~€~~€}€~~}‚~}~€‚}€}€~€}~~€€~~~~€~€~€~€€~€€€€}€~~€}~€€€}€~‚~~€}€~€~€~~~~~€~€€€~~~~€‚~~}€~€~€€~€~€~~~€~~€~~~~€}€€€€€~€}~~€}€~€€€~~~~~€~‚€}€~~€‚~€~~€~€~€~~~€}€€}~€~~~~€~€}~~~€€~}~€€~€~€~~~~~€~€€~~~~‚}~~€‚}€}€~€€€€€~€~~€~€€~~€~~~€~€€~€~~}~€€€~€}~~~€~€~~~}~€~€€€~~~}~€€~~€~~}~€€€~€~~~€€~€~~€}€~€}€€~€~€~~~€~€€€}€~~€~~€€~}~~€~€~€€‚~€~~€~€~€~~€~€~€~€~~~‚€~€~~~€~~€~~~~~€~€~~€€~~€~~}€~€€}€~}€~€~~~€~€~€}~€~€~€~~~~~€~~‚€~~~~€~‚€€~~~€~}€~~€~€~~~~€~€~}~~~€~‚~~~~€~€~€~€~~~~€}€€~~€~‚€~~~}~~€}€~~~€~~€~‚€~~€}€~€}~€€}€}€~~~}~€}€~~~~~}~€~}€~€}€€}~~€~€€€€}~~}€€€~~€~~~~€~€~}€~€€€~€~~€~€‚~€}~€~€~€~€~~€~~€€‚~€~€~~~~€}€~~~€~€~~~€~€~~~}~~€€}€~€~€~€‚~€}€~€~€}€€}€~~€~€~€€€~~€~€~€€€~}~‚~~~~€}€€~€~€~~€~€~~€€}€~}~€~€€~~€~~~~€€~€~~}€~€~€~~€~€€~~~€~€€~€~€~~€~€~~€~~~~€‚~~€€}€~‚€~€~~€~€~€€}€€~€~€~~€~€}~~~€}~€€€€~~}~~€€~€~~€~€€€~€~€~~€~~€}€}~~€~~~€~~€€~~~€~€€~~€€~}~€~€}€~~€€}€€€~€~~~~€~€}~~€~~~€€‚~}~~~€€~€~€~€~€~~~~€~€€~€~~€~‚€€€€~€}€~~~€€€€~€~~€~~€€~€~}}~€}€~€~€~€~~‚~~~€}€}€~~~€~~€~€€€~€~~€~€~~€~€~~~~€~€€~~€~}€~€~€}€~€~€~~~~€€‚~~€~~}€~€~€~€~~~€€~~€~~~~~€}€~}€~~~€~€€~~~~~€~€~~~€€€€~~~}€~€€~}€~~~€€~€~~€~~€}€~}€~~€~~}€~€€~€~~~€~€~~~‚~~~€~€~€~€}‚€~~€€~~~~€~€€~€~~€~€€~~€~€€€~~€~}~€€€}€}~€~€~€}‚€~€~~€~~€€~€}€~€~€~~~}€€~€~~}€~€~~~~€~~€~€}~~€}€€€€~~~~€}€~€€~€~~~‚~‚~€~~€€~~~~~€}€€~€€~€~€€~~~€€€€€€}€}~}€~€€~}€~€~€~‚~€~€~~€}€€~€~~~€€€~€~~~€€~€~}€~~~~€~€€~€€€~~€~~€~€~}~€~~€~€~‚~€~€~€~~€€~€~~~€~~€€~~~€~€~€~~€}~~€~€~~€~€~~~~~€~€~~~~}€€~€~€~€~~~€~~~~~€~€~~~~€€~€~~€~€€~€~~~€~€~€~€€}€}~~~€€€€}€~~~~€}€€}~€}~~~‚~€~€€~~€~~€‚~~€~€~€~€~€}~}~~€~€~~}~€€}€~~~€~~€€~€~~€~€}~~€~€~€~~}~~€€}€~~~€€~~€~€€~}~~€~€€~~~~~~~~~€€~~€~~€~€€~€~}~€~€~€~~~€~€€~€~€}~‚~€~€~~~~€~~€€~€~~}€~€~~~€~~€~€€‚~~€~~}€~€€~~~~~€€~€}‚~€€~‚€~~~€~€~€€~€~~€~€~€€€~~€~€~€€~€~~~€~~~€~€~€~}~~~€~€€~€~}€~~~~~€€€~}€~~€~~€~€€~}}~€~€€€}€~€~~~€~€~€~€~~~€~€€€}€~~}~~€}€~€~€€~€~~~€€~€~€~~~}€~€€€€~~‚‚~~€~€}‚€€€€}€}~}€~€€€€~€~€~~€€€€}€~~~~€~€~~~~~~€~€€€~€~~€~€~~€€}€€~€€~~~~€}€~€~~€~~€~€}~~~€~€~~€}€}€€~~}€}~€~~~€~€€~€~€~~€~~€€~€~~~€~€}~€~€~~~€}€~€~~~~~~€€~€~€€~~‚~}€~€€€~€~~~€€~€}~€€}€~~~~~€€‚~~~~‚~~~€~€}€~€~~~~~€}€}€~~}}€~~€~€~~~~€~€€~~~€~€~€~€}‚€~~€~€€‚~€~€~€~€€~€€~~~€~~€€€}€~~~€~€~‚€€~€~~~€€}€~€€~€€}€~~~~~€~€}~}€~€€~~€}~~€~€€€}~~~€€€~~~~~~~~~~~€~~€€€~€}€~€~€€€~€~~~€~€€~~€~€~€€€~~€~~€~‚~~‚}€~€~~~~€~~€€~~}~~€~€€‚€~~~~€~€~~€~€~~‚€~~~~€~€~€~~~€~€€~€~~‚~~~€~€~~€~€~~€€~€}‚€~~~€~€~€~€€€~~€~~~~€~€~~~~€~€€~~~€~€}€}€~€}~~€~€~€€€~€~‚~}~€~€~€€€‚}~~€~€€}€~‚€~€~}€~~~€~€€~~~~€}€}€€€~€}~€~€~€€~€~€~~€‚~€~~€~€~~~‚}}€~€~€}~~~€~€~~€~€‚}€€~}€}~~~€~€€€€€}~€~~€€~€~€~}€~€~€~€~€~}€~€~€€~~~€~~€€~€~€€~€~~~€}€}€~~~€~~~~€~€~€‚~~~€}€~€}€~~~€~~€~~€~~€~€~€~~~~€~~€}€~}~€~€~€~€~€€~~~€~€~€‚€~~~€~~€}€~€~~€}€~€~~~€~€~€€€~~}~€€~~~€~€€~€}€~€~€€~~€~~~~€~€~}~€}€€€~€}~€}~€~€~~~€~€~~~€~~~~€}~€€~€~~~}€€~€~€~~‚~€€~€}~~€~€~~~€}€~€~}~~€~€€~€~‚€~~~‚€}~€~€€~€~€~}~€~€‚~€€}€~~€~~€€~€~~€~€€€~€€~€}€~€~€~~~~€€~€~~~~~}€~~€€~€~‚~~~~€~€€€~~~~~~€~€€~~€~€€}~~~‚~€€~~~~~~~€}€€}€~€~‚‚~€~~€~€~~€}~€€~~~~~€~~€€€~€~€~€~~€‚~~~€~€~€~~€€€~€~~~€~€€~‚~~}€‚}€~€€~€~~~~€€€~€~€~~}‚}€€}€€~€€~€~€~~~}€~€~€€~€~~~€~~€~~~€~€€€€}€~€~€€~‚}~~‚~~~€}€€~~~}‚}~€}€~€~~}€€}€€€~€}~€~~€}€~€~€~€}€€~€~}~~~€~€~€~~~~~€}~~}~~~€~~€€~‚‚~~€~~~~~~€~€€}€€~}~~€~€€}~~€€€~}€~~~€}€~€~€~€}~€€~€~~€~€~€€€~€~~~€~~€€~€€~~€‚~€~~€~€€€~~~€~~€€€}~€~€€~€~~~€~€~€}€~~~€~€€~€~~~€~€€}€€~€~~€~€~~~~€~€~€€}€~~‚€~}€€€~~€~~}€~€~~~€~€€~€}€~€~€~€~~€~€~€}€~€}€~~~~€€~€~~~€€~€€~€~€~€~~~€~€~€~~€}~€€~~€}€€~€~}€~~~~€~€€~~~~~€~€~}€~~~~€€}€}~€~€€~~~€~~€~€}€€~~€~~~€~€€~}€~€~€€€~~€~~€~€€~€~~~€~}€~~€~€~~~~‚~~~}~~~~~~€€~€~~~~~€~€€€€~€}€~€}€~€€~~€€€€~~~~€~€~~}~€~€~€}€€}€~~}}€~€~€~€~€}~~~}~€~~~€}~€~€}~‚€€~~€~}€€}€~€~€€€~~~€~€~}~€}~€~~€~~€~€~€€‚~~€~~€€€~}~~€~€€~~~€}}~~€~€~~€~€~}~~€€€€~€~~~€~€~€~€~€€~~€~~€~~€€~~€~~}€~€€‚~€€~€}€€~€~€~€~€€~€}~~€~€€€~~€~~€€}€~€€~}€€}€~~}€~€€€~~€~~€~€}€~€~€€}€~~€~~€}~~€~~€€~€~}€~€‚€~~€~€€~~€~}~~~€€~~~€~~~€€€€}€~~€~€~€~}€~€~€~~€~€€€€~~~€~€€€~~€~€~€~€~}€}€€~}€~~~€~€}€~€~~‚~€~€~~~~~€€~}~~}~€~~€~~€~~~€~~€~€€~€~€}€~€€€~~~€~~}~}~~€}~€€}~}‚~~~€~}€€€~€~~~€~€€~€}~~€}€}€~~€}€‚~~€~€~€€~~€~€~€~€€}€}€~€~~€~~€~€~~~€~€~~~~~€~€€~}€~~~€€~€€~€~€~~€~}€~€~€~~~€€€~~€~~€}}€€~€~~~€~~~~~~€€€‚~~€~~€€€~€~€~~~~€€€~~€}}€~}€}€~}€~€€~€}~~€~~€€~€~~~€€€}€~~€~~~€~~€}€}€~€~~~~~~~€}~€€€~~€~€~€~€€~€~€~~~~€‚~}€~~€}~€~€}~~€~~€}€€}€~~€~~~€€€€~~€~€~€~€~€~€€~~€~€~€~€~€~€~€€€~~€~}€~€‚~€~~€€~~€~~~€}€~€~€~€~~€~€}~~€~€€~€~~€~€€€~}~~€~~€€}€~€}€~~~€€~€}€~}€}€~€€~~~€}€€~€~€~€~~‚~‚~€~€}€}~~~~~~€~€}€~~~€€~€€}€€~€~~~~~€~~€~~~~€~€~~~}}€~~~~€}€€€~€~€~~~~~€~€}~€~~€€~~€~~€€~~~~€~€~€~~~~~~~~€€~~~~~€~€~€~€}€€~€}~~~€~€~~€€€~€~~~€~€~}~~€~€}€€}€~€~~}€~}~€~€€~€~~€~€}€€}€~€~~~}~~~€}~~~€€€~~€‚~~€~€}€}€€€~€}~~€~€€~~€~~€~~€€~€~~€~€~~}~~€€‚~~~€~€€€~€~~~~~€€}~~€€~‚~€~€~€~€€~€~}€€~~€~€€~~€~€~€~~~~€€}€~~~€~€~~€~€~€~€€~~~€~~~~}€€‚~~~€}€~€~~~~€~€~~€}€~€€~~~~€€~~‚~~€~~~€‚~€~~~~€~}€}€~€€€~€~~~€~€€€~€~~~€€~~€~€~€~~€€}~€~€~~~~~~€€~€€~€~~}~€~~}€~€~~€~~€~~‚€~€~~~~~~€}€~€~€€€~€~~}‚~~~~~€}€~€~€}~~€~€€~~~~~€~€~~~€~€~€~€~~~€}‚€~€~~€~~~€}€~€~~~~~€}€}€€~~€}~€~~~~€~€€~€~}€}~€}~€‚~€~€~~€~€~€~€~~~‚‚}~€}€~€€~~€~€€€€€€~~€~€€~€€~~€~€~€~~€€~€}€~~~}€~€€€‚~€~~~€~€~~~~€~€€~~~~~€€€~}~~€}‚€~~~‚}~€}€€~~€~~~€~€‚~‚~€~~}€~€€€~~€~€}‚€~~~€}€~€€~~~~~€~€~€€€~~~~€~€~€€~€~~€}~~~€€~€~€~~€€~€~~€~€€}€€~~€~€~~~~€€~€~~~€~~€~~~€~€~€~~~~€€€~~~€}€€~€~~€}~€€~€~~~}~~€~~€}€}~€~~~~€~~€€~~€~€~€~~€~~€€~~€}~~~€~€~~€}~€€~~~~€€€~€~~~€~€€‚€~~€~~€~~€~€‚~~€€~€~~€~~~€}€~€€~€~€~€€~~~€~~~~€~€€~€€~~~€~~~}€~~€~€~~€~~~~~€~€~€~€~~€~~~}~€}€~€}~~€€~€~€€~€~€~€}€€~}~~}~€€~~~~€~€‚}~€€~~€€€~~€~~~~€~€‚~~~€~€~~~~~€‚~€~€}€€~€€~~}~€~€~€~€€~€~~~€~€~€~}€~~€~€€~€~€~~‚~€~€€~€~€}‚~~€}€~€~~~€€€~€~€~~~~€€€}€~€€~}~~€€€~€€~€€~~€~~€}~€~€}€~}~~~€~~}€€}€€~€~€~~~€~~~€~~€€}€€}€~€~~~€~~~€~~~€€~€}€~}€~~~}€}€€~€}~€}€~‚€€~~~€~€~€€€~~€}€~~~€~€€€~}€~€€~€~‚€~€}€~~~€~~}€}€~€}~€~€€€~~€~~€€~€~€}€~‚}~€€~}€~~~€~~€€~}~~€~€~~~€~€~~€~€~~~€~€~€~~~€~~€~€~~~~€~€€~}€€~€~€~€€€~€~}€€~€~€~€€~~~€}~~€€~€~€}~€~€}€€€~~~}€~€~~~€~€€€~€~~}€€€€}€~€~}~~~€~€}€~€~€€~€~€~~~€}€~~~‚~}€~€~~}~€€~€€~€~€}~~€~€€~~€~~€}~€€~~€~~€~€~€~}~€~€€~~~€~€€~€~€~~€€~€~€}‚€~}‚~~€~€~}~€€€~€}~€~~€€~€~€~€~€~~€}€~€~~€~€~~€~~~~€‚~€~€~~~€~€~€~€€}~€€~€~~€~€~~~€~€~€~€€}€~~€~~€€€€~€~€~~~€~€~€€~~€}€~€€€€~~~€~€€~€~~~€€€€€~€~}€€€€~~~~~€}€~~~€€€~€~~€~€€~€~€}~€‚}€~€€‚~€}~€~€~~€~~~~€€~€~}€~€€€~€~~}€~~€~€~~‚€~~~}~€~€€}€€}€~~€~€€~~~~~€~~~€€€~€~~~~€€}€~~€~€~~~€~‚~€~~~~~€~€~€~€}€~€~€}~€~€€€~€}~€}€}~€~€~€€€~€~~€~~~€~€€€€€~~~€~€~€€€~€~~€~€~~~~€~€~€~€~€€~€~€~~~‚€~~€~}€~€€€~€~€~€€~~‚~~~‚~€~€}€~€~~‚€~~€~€~€}€~‚~~‚~~€€~€}~~~€~€~€~~€~~€€~€€}~~‚~}~€~~€€€€}€€~~€€~€~€€~€~€~~€~€€}}€~€€~~€}€€~€~~€~‚€~€~€~~€~€€~~€~~€€€~~€}~€€~€~~~}~~€€~€~~~€~€~€}€~€}~€€€€~~~~~€~€~€~}€~€~€~~~~~€~€€}€€}€~~€€~€~€~€~€€~~~~€}~€€~€~~~€~~€€~€~~€~~~€~~€~€€€~€~~~€~}€~€~€~~~~€~€€~€~€~€~€€€~~~~€~€€~€€}€}€€~~‚€~€€~€~€~€~€~~~€~€€~€}€~~~€€~€€~‚€~€~‚~~}€€€~€~~~€}~€€~€€~~}~~}€~€~~~€~€€€~€€~€}€€}€}€~~€~€€~~€~~€~€€~€~~~€~~€€€‚~€~~~€~€~€~€~€~~€~~~€~~€}€€~€}~~€€~€~~~€~€~€~~€€}€}€~~~‚~€}€€~€~€~~€}}€}€~~~€~€~€~~€~~€~}~~}~€€~€}€~€~€}€~~~€‚~€~~€}€€~~~€‚}€~€~€~€€~~€€~€~~~~€~~~~~~€€€~~~~€~€€€~€~~}€~~€~~€€}€~€~~~~€~€~€~}~~€€~€~€€~~€~~€~€€~~€~~€~€€€~€~~~€}€~~€~~€~~~€€~€~~~€~~~~~~€}€~€}€€‚~€~€~~€€}~€~€}‚~~~€~€~€~~‚~~}~}€}~~~€€~€}€~~€~~~€~~€}€~~~~€}€~~~€~€~€~€~€€~€~€~~€~€€€~~~}~€~€~~~€€~€}~€~€~€}€€~€€~~~~}€~‚€€~~}~€€~€~~€€€~€~~~~~€}€~€~€~~~~€}€~€€~~~€€€€~~}€~€€~~~~€~~~~€}~€€‚~€€~€~~~~~€~€~~~€~€~€~€~€€~€~~~€}€~€€~€~€~~~€}€~€€€€~€~~€~~€€}€~~€~‚~~€}€}€~€~€~€€~€~~}€~€€€~}€~€}€€~€}€~€~€~~~~€€~€~}€‚€~€€~€€~€~€~}~~€~€~€}€~€~€~}€~€~€~~~~~~€}€€~‚€~€€~€~~~~~}€~~€~€~}€~€€~€€~€}€€}€€~€~€~€~~~€~€€~}~~~€€€~€~~~~~~€}€~€~€~€~~€~€~~~€€€}}~€€~€}~€~€€~€€~€~€~‚€~~~€€~~€~~~€~€€~~€~€~~}€€~~~€€}~~€~~€€~~€~€~~€€~€~}€~‚€€~€}~€}€€€€~~~~~€€€~}€~~€€~~€~€~~€~‚€€~}~€~€~€~~€}€€~€~}~~~‚~€~€~€}~~€~€~€}€~~~€~€€~~€~~~~~~€~~€~€€~€}€~€~€€~~~~~€€~€~€~~~€}€~€~€}€~€~~€~€~€~€~€€€~€~~€€~€~~}~~€~~€~~~€~€~€~~€~€€~}€}€~€}€~~~€~€‚}€}€}€~~}~€€~~~~~~}€~}€~€~~€~€€~€~~€€~~~€~€€~~~€~€‚~€€}€~€~€~€~~€~~€~€~~€~€€~€~~€}€€~€~~€~}€€€€~€~€~~€~~€~€~€~‚€~~~~€‚~€~€~€~‚€~€~€~€~€~~~~~~€~€~~~~€}€~€€~€}€€€€~€~~~€}€~~~~€~€~~€}~€~€~€~~€~€~€€€}€~€}€}€€~~€€€~~€~}€~€~~~}€~€}€~€~~‚~€~€€€~€~~}€}€~~€~~~~€~€~~}~~€~~€€~€}€}€~€~~~~€}€~~~€~€~€€€~€~€~~€€€€~€~~~~€~€}~~€~€~~~~~~€‚~~€}}€~~~€€}€~~~€~€~€€€~€~~€~~€~~€}€~€~€€~€~~€~~~€~€~~~~€~€~~€~~}€~€‚~~~~~€€~€~~~‚~}€~~€~€~€~€~~€~€€€}€~}€}€€}€~~~‚}€}}€€~}€~€~~€~€~€~€~~€~€€}€}~~€~€~€€~€~~€~€~~€€~€~~~~~€~€~€€~}~~~€~~€~€~}€‚~~~€€~€~~€}~€~€~€}€€~€~~~€~€~~€~~~€~€€€~€~~~€}~€}€~€~~}~~€~~€~€~€~~}~€~€€€~€~~€~€~~€~€€~~€~~€}€~€€~~~~€}~~€~€~~~€~€}€€~~€~~~€~~€~~~~~~~€}€~~~€€€~~€~€~€€~€~€~€~€}~~~€~€€~~~~~~€~~~€€€}€~~€€}€~~~€~~~~€~€~~€~~~€~~€~~€€€~~€~€~€}~€~~€~€~}~€~€~~€~€~€~~~€~€€~€~€~€~~~€€~~€~~}€~~~~€~€€~€€}~~€~~€}€€~€€}€~€~~~€€€~€~~~~~~~€~~~~~€~~€€}€~€~~~~~~€€~€~€~~~€~€~€€}€€~~€~~€€~~~‚~}€€€~€~~~€}~€‚}€€~€~~~~~~€€€~€}€~~~~~€}€€€~~~€~€~€~~€€~€€}~~€~€€‚}€}~~‚~~€}€€€~}€~}~~~~€~€~€~~~€~~€€~~~~‚~~€€~€€~~€~~~€}€}€~€€~€}€~~}€~€€~~~~€~€}€€€~~~~~~€€~~€~€}~~}~€€~~~~~€~€}~€~€~€~€~~€}€~€~€~~}€}€€~~€}~€~€€~~€€~€~~~€~€~€~€€~€~€~}~~€€~}€}€~€€~~€€‚~~~~€~€~€~}€~~~€~€~~~~~€€‚~~€}€€~€€~€~€€€€~€~€~€}€~~€~~~€€~~~~~€~~~€~€~€~€~€~€~€~~~€~~~~~€~€}~~€~~€~€~€~€~€~€~~€~€€€€~€~€~‚~}~€~€~€}~~€~€~€~~€~~~€~€€}~~~~~~~€€€}€}~~€~€€~€}€~€~€~~~€}€€~~~~~}€~€€~€~}~€€~}€~€€}€~€~€~€€~~€~~~~€‚~~€}}€~~€~€~€€~‚~€€~€~~~€}€€~~€~~‚}€~€~€~~~~€~€~€}€~€}€~~~€~€€€~}~~~~~€}€~€€~~~~€~~~€~€~~~~~€~€€~€~~~~€~~€€~~~~~~€}~€~€~€~~€~~€€€~~~€}€~€‚}~€€€~€~~€~€~~~~}~~€€~~~€€~€~~€}€}€~~€~~€€~‚€~‚}‚~€~~~€~€€€~€~€~€‚}€}‚~€~€€€~€~~}€€~~~~~~~€~€~~€€}~€~€€}€€~€~€~€~~~€~€€~~~~~€~~~€€~~€~€~€€}€~~~€~€~~~~~€~~€~~€}~~€€€€~€~~€}‚€~~€~€}€~~~}€~‚€~~}~€~€~€~~~~€€€~€~€~}€~€~~~€€~~~~~~€}}~€~}~€~€~€~~€~€€}€~€~€~~€~~~€€€~~€}‚~~€€~€~~~~€}‚€‚~~‚€~~~‚~~~€€~~€~~~~€~~€~€€}€€~~~€~‚~€€}€~€~€~~~~€€€~€~~~€‚~€~€~€~€~~~~~€€€~€~€~~~~~€~~~~€~€~€€~€~€~~~€~€€~€~~~}~€~€~~}€~€~~~€~~€~~~‚~~~~~€~€€~~€~~~€~€~~€~~€~€~€€~€}~~€~€~~€~€~~~~~€~€€~€}~~€~~€€~€}€}€~~‚~€~~€€~€~~€€~€€~}€€~€~€~‚~~~€~€}~~€~€€~}€}~€~€€€~~~€~€€~€~€~~€~~‚~~€€}€€~€~~}~€€~€~~~€~€~}€~€~€~~~€~~€~}~~}~~€}€€~€~}~€~€€~€~~€~€~€~€~€~€~~€€}€€}€~~}~~€€~€€~€€~~~~~€~~€~€~~}€~€~€~~~~€~€~€~~~€~€€€~€}~}€€€‚~~~~€~€~~~€~€€~~~~€~€€~~~}~€€~~}}€€€~€~~~€€~€}€~€€~~€~~~€€€~€}€~€~~~‚€~€~}€~€€~€€~€}~~€~€€~}~‚~~~~~~~€~~~~€~€~€~~€€}€~~~€~€€~}~~~‚}~€~€~~~}€}€~€~€~€~€~~€~~€}€€~€~€~~~~€~€~€~}€~€~€~€~~~€‚~€}€}€€~€~€~€~~‚~€~€~€}~€}€~€€€~}€~~‚€~€~€€~~€~~~€~€~€}~€~€~~~€~€€€~€}~~€~€~€€~€~€~~~€~€€€~}~~€~€€~€~~€~~€€~€~~€€€~€~~~€~~€~€~€€~~€~~~}€€}€}}€~~~~€~€~€€~~€€~~€~€~~€~~~€~€€€~}€}~~€€€~~~~~€€~‚~€~~~€~~~€~€~~~€~~€}€€~€€~€~€~~}~€€~€~€}~~~€€~€~~~€~€€}€~~€~~~~~€~€}€~~€~~€~€~~€~‚€~€}€~€~~~~€~~€}~~€~€~€€~€~€~~€}€~€~~~€€~~~~~€~~~€~€~€~€€€~}€~~€~€~€~~~~}€~€~€}€~~}~€~~€~~~~€~}}€~~}~€~€~~€~}€~~€€~€}€~€€~€~~~~€~€}€~}€~~~~~€€~‚€~~~‚~~€~€€~€}~~}€€‚~€~~€~€€€~~€€~€~~}~~~€~~~~~€~€€~€~€~~€~~~~€~€~€~€}~~~~~€€€}~~€~€~~~~€~€€€~~€~~~~€~€€~~€€}€~~}€~~€~~~~~€‚~~~€}€~}~€~€~€€~€}~€~~‚~~€~€~€~~‚€~~~€€~€€~~~~€~€€€~~€~~€‚}€~€}€~€~€}€~~~€}€~~€}€€€~€~~€€€~€}~}€€~€}~€€€~~€~~€~€€€~~€~~€€€~€~~~€~€~~~~~€~€~~‚€~~~~~€}€€}€€~€~€‚~~€~€~€€}€~~€}€~€€~~~~€~€~€€~‚~~‚~~~€~€€~€~~}€~€€€~~€~€~~€€~€~~€~€~}‚€~~~€‚}€~~~€~~€€€~€~~~~~€~€~~€}~€€}~€~€~}€~€~€€~€~~~~~€~~~~~€~€~~}~‚€€~€~~€~€}€}~€~€‚~€}~€~€€~€}~~€€€~~~~€~~~~~~€‚~€~~~€~€€€}~€~€€~€~}€~€~€}€€}€~~~€~~~€~€~}€~€~€~€}€}€~€~~€~€€~€~}€~€€~€~€~€~~€€~€~€~€~~~€‚~~€€~€~€~€€~~€~}€~€€~€~~€~~€€€~€~~~€~~~~€€~~~~€~€€€~~~~€~‚€€~~~~€~}€~€€}€~€}‚~~€€~~~€}€~€}€~~€~}~~€~€€~€~€~~~~~~~€~€€~€~~~€~‚€~€€~€~~€~~€~‚€€~€~~€~€~€~€~~€~€€~~~€€~~~~€~€~~~€~€~€~~€~€~~€~~€€}€~€~€€~}€~~€}€~~~~€~€~€~~~€~~~~€€€~}€~~€~€~€€~~€~~~~~~€}€€€~€~~€~€€~‚~~~~€€~~}€€~}€~€~€~€}€~~€}€~~€~€€€€}€~~€€~€€~€~€€}‚~~€~~~€€~~~~€€~€}~€€}€~€}~€€€~€~€~~~€€€~~€}€~€~~~}€~€~€~~~~€€~€~~~~€~€~€~€}€~~~~€}€€}€~€€~€~€~€~~€}~€€€~€~~~€~€€~€}~€~~~‚‚~~€}€€~€~~€~~€€~~~~€~‚€€€~~€~~~€€~€~~~€€}€~~}€€~€~€~€~€~‚€~}~€‚~~~~~€~€€~~€}~~€~~€~€€~€~~~€~€~€~€~€~€€~~€~~€~€€~€~~~~€€}~~~€~€~€~~~€€~~~€~€€‚~}€~~‚€~~€~€€~€~~}€~€~€€‚~€~~~~€€~~€~~~~~€‚~€€~€~€}~€~€~€~~~€~€€~€~~}~€€~€~~€~€}€~€~€€}€€~}€~~€€}€~~€~~€~~€~~€~~~€~~€€}~€€~~~~€~€€~~~~~~~€}€~~€~~~€~~€€~€}€~€~~€€€‚~€~~€~€€~€~~~~~‚~€~€~€~~~~~€‚}€~€~~€€~~€~~€~€~~€~~€~€}€~~~~€~€€~€~€~~~~~~€~~€~€‚€€€€~€~~€}€~€€€€~€~~€~€‚~~€}€€~€€~~€~~~€~~€}~€~‚~}€~€€€€~€~~~€}€~}~€~~~€}~~~€~~€‚~€~€~~~~€~€~€~~}€~€~~~€~~~€~~~~~~€€~€~~€€~€}€}€~€€~~~~€~€~~~~~€~€‚~€}‚€~~}~~€}‚~€~~~€~€~~€~€‚~€~€}€€~~}~~~€~€}€~~~~~~€€€~€~€~€~€}€~~~~~~~~~~~~€~€~~€€~€~~€~€~~€~€~~~~€~~€‚~}~~~€€€‚~€~}~€~€~~}~€€~~~~€~€~~€}€~~~€~€}€~~€~~€€~€~€~}€€~€~‚}€~€~~}~€~€€‚~€~~~€€~€~}€~€€€~€~~€~€€€~€}~}€€€€~~€~~€€~~€}~~}€€~€~~€}‚€}€}€~€~€~}€}~~€~€~~€€~€~~€~€€~~~€~~~€~€}‚€~~€~€~~€€~~€~€~~€~€~€~€~€€~€€~~~~~€€~€}~~~€~€~~~€}~€~~€~€~€~€~€~~~€~‚~~€‚~}€~~~‚€}~~€}‚€€€€~€~~~€~~€~~~€€}€~€~€~~‚~~€}€€~~€}‚}~€~€€~€~~~€~~}€~~€~~€~€€~~~~}€€~€}€€~~}€~~€~€~~€~€€}€~~€~€~€€~€‚~€~~~€~~~~~€}~€}~~€€€~€~~~€~€€€€~€}~~~€}€~€~€€~€~~~€}€~€€€}€~€~}~€~€€~~~~€~€~€~€}€€}~}€‚~~€~€~€€€~~~€}€€~€~}€~}~€~~~}~€€~~€~€~~€~~€€~€~~‚~~~‚}€€~€€~~~€€}€~€~€€~€~~€~~~~€~~€}€€~‚€€~~€~€~~}~}€~€€€}€}€€}€€~€~~~€~€€€}€~€}€~}€~~€~}€~~~~~€~~€~~€€~~~€~€€€€~€~~~‚~€€€~€~€~€~‚€~€~~~~€~~}~~€€~€~}€~€~€~~€€~€~~~€~~€~~€~~€~€€€~€~~€}€~}€~~~~~~€~~€~~~€~~€~€€}€€~~€€€~~€~~€~€€€~€~~€€€~~~€}€~~~€}~€}€~€}~€~€~‚€€‚~€~~~~~~€~~€}€‚~~€~€~~€~€~‚~~€~€~€~€~~}~€~€~€‚~€~€€~~~~€~€€~€~€}~~€~€~€~~€~€~~~€€~~€~€€€~€~}€~€€‚~~€}~~€~~€~€~~~€~€~€€}€~}~€~~‚~~€~€}~€€€~~~€~€€€€~~~€}€~€}€}~~€~€~€~€~€~~€}€€€€~€~~€~€}€~‚}€~€~~~~€~€~~~€~~€€‚~~~€~€~€}€~€~€~}€~~€€~€~~€€~‚€~~~}€~€~€€~~€~~}€~€~‚~~~€~€}~~}€~€€‚~€~~€~€~€~~~~€~€~€~€€~€~€~~€~~€}€€~€~}‚~~~}€~€~€€~~€~}€~€€~}€~~~~€€~€~€}€~~}€~€~€~€~€€~~€~~€~~~~~€~€}~}~~}~€€}€~~~€~€~~€€}€~€~}~~€}€}€~~~€€~€€~€~€~~€~€~~~~€~€€~€€~}€~€~~€}~€~~€~~€}~€}€~~€~€~€~~~€~}~~~€~€~~€~€~€€~€~€~~‚~~€~~~€~~~€~€}€€~€}€}~~€~€~‚€€~~~~~€~€€~~€~~~~~€€~€~€}€€~~‚~~€~€~€€~~€~~~€~~€‚~~€~~~€€~~~~~€€€}~~€€€~€~~~€€€~€~~~~~~~€‚~}€~€}€~~€~€~~~~€~€€}€~€}€~€€~€}~~~‚€~€~€~€}€~€~~€~€€~~}€}~~~~€~€~}~~~€€~€}€~€~~~~~~€~~€}€€€~~€~~€€}€€~~€~€~~~€€€€~€}~~€~€€~€~€~€~€~~~~~~€~€}€€~€~~€~€~€}~~€~€€‚~€~~€~€~~€~~€~€}€~~~€~€~€~€~~€~€~€€€~€~~~‚~€~€}€}€€~€~~~~~€~~€€~€~~€}€~€~}€~€€~~~~€~€€~~~€~}~~~~~~~€~~€~€}€~€~€~~~~€~~~€~€~€~}€€~~€~€€~~€~~€~~€€}€~~€~€€€~€~~~€~~~€}}€~€~~~€~‚€~€~€~~}~~~€€€€}~~}€~~€~~~~~€~~€~~€~€~}~‚~~€}€~€~‚€~~~}€~~€~~~~~€€€€~€~~}€€~€~~~}€~€~~~€€~€~~€~€€€~~€~~~€~~‚}~~~€~€€~~€}€~€~~~€}€~€€~€~€~~~€}€€~€~~~€~€~€}€~~~€€€~€€}€~‚~}~€~€€~€~~€}€~~~‚~~~~€}€}~€~€~~~€~€~€€~€€~‚€~€}~~€}€€~€~~~€}~€~€~€€}~~~€~€~€€‚~~€~~~~~€~~~~~€~~€€€€~~~~€~€~€‚~€~~€}~€€~~~€~~€€~~~€~€~~€~~‚€€~~}~€~‚~~€}€~~~€~~~€~€~€€~~€~€~€~€}~€€€~~€~~~€€€€~}~~~€‚}€€}€~€~€€~~~€~€~€~€~€~~}~€€€~€~€~€~€€~€~€€}€~€~~€€~~~~€~€~€~~~€~~~€~€~€~€~€~~€~~~~~€~€€€~~~}~~€~~‚€~~~~~}~€~~€€~~~~€€~~~~€~~€€~€~~~€~€~€~€~~~~~€~€~~€~~€€‚~~}~€~~€~~~€~~~€€~€€}€~~€~~~€~~€~~€~~~~~~~€~~~€}‚€~~€~€€~~~€~€€€~€~€~~~‚}~}€€~€~€~€~~€€}€~€€~~€~~€€‚~€~~~~~~~€~€€~~€~~~€~~€€€~€~€~~€~~€~€~€}€~€~‚€~~€~}€~€}€€~~~~~~~€~~}€€~~~~~€~~€}€€~€€~€~€~~~€~€€~}€~~€~€€~€~}€~~€~~€~€€~€~€~~€~€~}~€}€~€~~~~~~~€€€~€~~€~~€€~€~€~~€}€€~€~~‚€~}}€~€€~€~~~€~€~€~~~€~€€‚~€~}€€~€~€}~~~€€~~€}~~~~~€~€}€~€~~~~~€~€€~~~€~}€}}€}€~~€}~~€}€~~~~€~€€}~€€€€~~€~€~€€€€~€}~}€~€€‚~~~€~€€€~€~~~€~€€~€~~€€}~€~€~~€~€~~~~~€~€€~€}~~}€~€€€~€~~€}€~€}€~~€~~€~€€€€€~~~~€~€€~€~~}€€~€€~€~‚€~~~‚~€}€~€~€}€~~€~~€~~}€~€€}€~~€€~~€}€~~~€}€~€€~€~~~~€€~€~~~€~€€€~€}€~}‚€~~}€~€€~€~~~~€~€~€~€~~~~~€~~~~€~~€~~}€~~€~}~~€~€€€~~~€}~€~€}‚~~~€~€€~~€~~€€€~~€}€€~€~~~~~~€€~‚€~~~~€~€~~€~€~~€~~€~~€}~~€€~~}~€~~€~€}€€~~€€~€~€~€~~‚~~~€}€€~‚€~}€~~~€~€~}~€~€~€€€}~~~€~€~€}€~~~€~€~~€~‚€~}€~~~€~€~~€~€~~~~~€~€~€~~~€~€}€€~~€€}€~€~~~~~€~~}€€~}~€}~€}€€~€~~~€~€~€}€~€~~€~~€~~€€~€~~€}€€€~€~~~~~}€~~€~€~~€~€~€€}€~€~}€~€~€~€~€~€~€~~}€~~~~~€~~~}~€~€~€~€~~~€€~€~~~€€~~€~~€~€~~€~€€~€~€~€€~€~~~~€€‚~~~}€€€~~~€‚}~€~€~~~€~€~€€~~€}€€~€~~~€~€~€€~€}€~~~~~€~~€~€€€€~€~€~€€€~€~€~}~€€~€~~~~€~€~€~€~€}€~}€}€~€~€~~~€~€~~~~~€€~€~€~~~~~~€~€€~~€~~~€€‚~~€~}€€€~€~~~€~€€~€~€~~€~€}‚~€~~€€~~~~~~~€~€~€}~~€~€~€~€~‚€}€~€}€~€}}€€~~~~€~€~€~€~€~€€~~€~~~€~€~€€~€~€~€~~~~€~€€~€~€~€€~€~~€~€~~~~~€~€~€~~~~~€~‚€€€~~~€~€€~~€}€~~~~€~€}€€~€~}€}~~~~€€~€~€~€~€€€~~~€€€~€}~~€€~€~~~~€}~~€}€€€~€~~€‚~~€€€~~~~€~€~€~~~€~€€€€~~~~€€~~}~€~€~~~€~€€€}~~€~€€€~€~~€~€~~~€}€~€}~~€€€€~€~~~~€~€~~€~€€~€~~€~€€~€~~€~~€~€~€~€~~€€~€~~~€€~‚~~~~€~€~~~€€~~€}~~€}€}€~€~€~~~€}}~~€~€~}€~€~~~€~€~€~~€~‚€}~€~€~€~€~€~~€~€~€€€~€~€~€~~~~€€‚~€~~~€~€€~~€}~~€~€~~€~~~~~€}€€~€~~~€~~~~}~~€€}€}€~}~€~~€€~€}€~~~€~€~€€€€~~~~€~€€~~€€€~}~€~~~€~€~€}€~}~€~€~€€~€~€€~€~€~~€~~~}€~€~€~€~€~€}€€~~}€€€}~~~€~€€€~~~~}€~~~‚~~€€~€~€~~€~€€~€~€~€€€~€~}~~€€~€~€~}~~~€~€}€~€~€€€}~~~€‚~~€}€€~€€~€}~~~€~~€~~~~€~€€€~€~~~€~€€€}~}€~€€€€€~€~~€}€~€~~€~~~€~€~€€~€~~~€~‚€€}€~€}~~‚€~~€€~€~€€~€~€~€~~€~€~€€€~~}€~€€€~€~~~~€}€~€~€~~~~~€~~€~€€~€~€~~~€~€~€~~~€~€€~€}€€~~~€€~~~~~€~€~€~~~€€~~~~€~~~€€~€~~€~€€~€~~€~€€€~€~€~}€~‚~~~€~€~~€~€~~~~€~‚€€~}~~~€~~€~~~~€~€~€€~}€~~~~~~€~€€~€~€~~€€€~€~~~€~€€}~~~€~€€~€~~~€~~€~€~~€~~~~€~€€~~~~€~€€~}€~€€~€~~~€~€}~~}~€€€~€~~~~€€~€€~~€~~~~€~€~€~~~€€~~€€€€€~~~~~€}€~€€~€~}~€~€~€~€€€}€~~€~€€~€~~€~€€~€~~}€~€€~~€~€€~€€~€~€~€~~€}~€€~€~~~~€}€~€}€~€~~~€~~~€€~€~~~~€~€~‚€€~€~~€€€~€~€~€}€~~€€~€}€€}€€~~€~~~€~€~€~€~~€~€€€~~€~~€~€€€€~€~~~~€~~€}€}€}€€~~~~€€€€~~~~€~~€€€~}~€~€~€~€€~€€}€~~~€~€€}€€~€~~€~€~€~€€€~~€~€}€~~‚€~~~~€~€~~}~€€€€}~~~€€€~€~~€~€€€~~€~€€~~~~€€~€~~~~€~‚€€~~~€€€€~€~~€€€€~~~€€~€~~€~€~~~€~€}~€~€~~~~€~€~~~~€~€€€}€~€~€~€~~~~~}€~€~~~~€~€~~€}€‚~€~€~~~~€~~€€~€~‚€~~~€~€‚~€~~€~€€€‚~~~~€~€€~~~~€~€~€~~~~€€~€~~~€~€‚~~~€~€€€~~~€~€~~€~€~€~€€€~}~~~~‚€~~€~~~€~€~‚~€~~~€~~€}€}€~~€‚~~€}€~€~€}~€~€~€~€€€~}~~~~€€€~€~}€~€€}€~€€}€€~€€~‚~~€~~~}~€€~~~~€}€~€~€€}€}€~~~~€~~€€€~~€~~€~€€€~€~~€~€~~~~€~€€~~€~~~~~€~€}€€~€~€}‚~}€~€~€~~‚€~~~~€~€€~€~}€~€~~‚~~}€~€€~~€~~€~~€€~€~~~€€~~~~€}~€€~‚~€~}~~~€€}‚€~~€~€~€~~~}€~~€€€~€~€}€~€~€~€~€}€€}€~€€~~~€~€~€€}~€€~€€€~~~~~~€~€~~~€~€€~}~€~€€~€€~€~~€~}€}~€€~€~~€€€~~~~€~€~€~~€~€~€~€~~€~~€~}€€}‚€€~~€}~€~€}€~€~~€~€~~€~~~€~~€~€~~~€~€€€~€~€}€~€~€~~~€~€~€~~€‚€~}€~€~€~~€~€€~~‚~~€~€~~€~}‚~€~€~~~~~~€~€~€~€~€~€~€€€~€}~€}€€~~~~€€~€€}€~~~€‚}€€€}€}€€~}€~€€~€~€~~€~~€€~~€~}€~€}€€}€~€}€~~~}€€~~€~~~~€€~€~}€~€~€~}~€~€€€~~~€~€€€~€~~~‚€~~€~‚}€}€~€}€€~€~~€~~€~€€~}€~~~€~€}€€~€}~~€~~€€~€}€~€€~~~€~}€~€~~€}€€~€~€}€~~€~~~~€‚€~~€€~€~€}€~~€~~€~€}€~‚€~€~~~}€~€~€€}€~~~~~€~}€~~~€€}€~€~~€}€€~€~~€~€€~€}€~~}}€~~€~‚€€~}~~€~€€‚~€}~~~€€~€}~€~~€€~€~~~€€~€~~~€€~€~~~€}€}€}€€~€~}~~€~€}~€€~}€~~~€~€‚~€~~~€€~~~€~€€~~~~~~€~€€~€}€~~~€~~€~~~~€€~€}~€~~€~€~~~~€~€~€~~‚}€~}€~~€~€~~~€}€~~€~~~€~€~~~€€~€~~~€~~~~~}€~~€}~~€€~€€}€~€€}€~€~~~€~€€~€~€~}~€~}€€~~€~€~~~~~~€€~€~~€~€€€~€~~~€~€}~€€~€~€~~}€€~~~‚~€~~~€~€€~€~~~€~~€€~€~‚€~}~~~~‚~€~~€~€~~€~€~€€~€~€€€~}~~~~~€}€~€~€~€~~~~~€~€€}€~~~€€~~€~€~~~€~€}€€~~€€}€}~~}€~€€~€~~~}~€~€}€~}‚~~€~€~€~~~€}€~€€€}€}~~€€€~€€}€€~€~€€~~€~~€~€€~€€~~€~€~€€~~~~~~€~€}€€~€~~€}~€~€~‚~€~~~}€~~~~~~~€~~€~€}~~€~€€€~€~~}€~€~€€~€€~~€~€}€}€}€~~~‚€~€}~€~~€}€~~~€~€~~€~€€~€~~€~€~~~~€}€~€~€€~}€~~~€~€~€~~€~€€~~~~€~€~~€}€€~~~~€}€~€}€~~€~~€~~~~€€}}~~~€}€€€~€}~~~€~€~€}~~~€~~€~~€~~€~~‚€€€~~€}~€~€}€€~€}€~~€~€€~€~~}€~€‚~~€‚}€~€€~€€~~~~~~~€}€€~€~~~€~€~}}~€€€~€}‚~}~}~€€~~€~~~~€~~€€~~€~~€~‚€~€~€~}~€€€‚~€~~€~€~€~~~€€€‚~€€}€~€}‚€~~€~~€}€€~€~€~}€~€€€~€~~~€~€~€€~~€~€~€~€€~€}~€~~~€~€~€}€~€~€€~~~€~~€€€~~~€~€€€~€~~~€~€~~€~€}}€~~~‚~€~€~€€€€€~~€}~~€€€~~~€}€~~€}~~~€~€~€~~~€€~}€~}€~€€~€~~€~€€~~~€~€€€~€~€~~€~€}~€~€~~~€~€€~}~~~~~~€~€~€~€~~€~€~€}€~~€€~€~~€~~€€€~~€}€~€~~~~~€~~}€}~€€~~~€€}~~€~€}€~~€}~~~€}€~€€}€~€}~€~€€}€~€~~~€}€~€€}~~~€~‚€€€~~~}~€~€~~€}~~~€~€~€~€€}€}~~€€~~~€~~€€~~€~€~€~€}~~€€€~€~€~€}€~}€~~‚‚~~€}€€}€~€~~~~€~€~€~€~€~~~€}€€~~€~€~~€€~~~~~~€~€~€~~€~€}€~~€€~€~~€~€€€~~~~~€~€€~~€~€€}€}~€~€€~~~~~~€~€~~€~~€€~}~~~~€~~}€€~€~€~~€~€€‚~}~~~€~~€€~~~~€€~~€~}€~}€~€~€~€~~~€~~€€~€~~€~€€€~~~€€~€~€~€~~~~€~€~~~€€€€~€€}€~~~~~~€~~€~‚~€}~~~€~€€~€~~~€~€€~€~€~€€~€€~~}~~€}€~€~€€~€~}€~~€€‚~€~~~‚~~€~~€~~~~€~€€~€~€~€}~}~€€~€~~}€~€€}€€~~€~~~~€~€~~€~~~~€~€~~€€€€~€~~€~€€‚~~~€~€}€€}~€~€~€~~~€~~‚€€~~~}~~€}€}€€€€~€~~~€~~€€~~€~~~€~~€€~€~€}€}~~‚~€~€~€~€~~~€€~~€~~~€~€€}€~~€~~€~€~€~€~~€€‚~~~~€}€€}€~~€~€~~~€~€€€~€}~}€~€€~~~€~~€~€~~~~€~€}€}€~~~€}€}€€~€}€‚~~}€~€~€~~~~~~€}‚~€~~~~~€~‚~~€~€~€~~}€~€~€€}}~~€~€€~€}~~€~€€~~~~€~€~~€~€€~€€~}€€~~€~~€€€€~}~€~~€€‚~€~€~€~~~~€€}€~€€~€}€~}€~€~€}€€}‚€~~~€~~€~€€}€~~~~€~~€~~~~€~€~€€~€~~€}€€€~~€~~~~~€€€~~~~~‚~€}~€€}€~~~}€~~}~~~€€€€~~~€~€€€~€~}~~~~€~€~~~~€~€€€€~~~~‚€€~€~€~~~€€~~€~~€€€}€~€}€€~€€~}‚€~~€~€~~~€}~€€€~€~€~‚~€~€~}€~~€€}~€}€}€~~€~~~€}~€€~~~~~~€~€€€~~~~€~~€€~~€~€€~~~~~}€}‚€~€~~~€~€€~€~~€~€~€~€}€€~‚€€~€~~~€~€~€~~€~€~~~€~€~€}~€€€€~€}~~~€~€€~~~€~€‚€~~€~€~€~}‚~~€}€€~€~~~~€}€€~~€~€~~€}‚€€~€~~~}~~~}}€~€~~~€~€€~~~~€~€€€~~€}€€‚~€}~~€~€€~~€~€~€~€~€~~€~}~€~€~~~~€€~€~€~~€~€€~€~~}~€~~~~€~~€~~~€~~€€~€€~~€€€~}€~~€}~€€~€~~~~€~~€~€~€}€~€~€~~~€‚}€€}€~~~€~~€€}€~€~~~~~€~€€~€~~~€€~€~~€~‚€~~~€€€~€~~~~~~€€~€}~€‚~~~€}~€€~~}}~€~€€~‚€~€~~~€~}€}€~~~~€~€€~€~~~~€€~€}~~~€~€~~~~~~~~€~}€~~‚€€€€~€~~€~€~€€~€~~‚}~€~~€€~~~~~€~€~€€}€~€€~€~~€~~€€~}‚~~€~€€~€€~~}€~€€~€}€~€~‚€~~~€~€€~€~~€~€~€~~~~€€~~~€~~€~€~~~~‚€€~€~~~€}€€~€~~~€€€~€~}~~~~~~}~€~€~~~~~€~€~€~~€}~~€~€}€€}~~€‚€€~€~~€~€€~€~~~€}€~€~€~€~€~~€~~€~€~~~~€€€€~€~€~€~€~~~~€€~€€€€~€~~~€~~€€~€~~~~€~€€}€€~~~€€€~€~~~}~€€}~€~€~~€~~~~~~€~~€€€€~€~€~€€~€~~~€~€~€~€~~€~~~€~~~€~€~€~€~~~€€€~€~~~~~€€~€}~~~€}~~~€€}€}}€~€~~~€~~€~~~€€~€~€~‚~~€~}~€~~~€~€}~€€~€~~~€€‚~€~~}‚€€€~~~}€€~€~~~€~€~~~~~~€~€}€€~~~€~€~€€}€~€~~€~~€}€~~~~~~~€}€~€~€~€€~~€~~€~~~~€~€~€€}€€~€~€~€~~~~€€€~€}~~~~~~€~~~~~~€€~}€~~}€€€~€~~€~€~€~~~€~€€~€~~~€~€~€~~€€~€‚}€~€~€}€€€~€~‚~~‚€~€~€€~€~~€€€€~~~~€~€€~~€~€}~€€~~€~~€~€~~~~€~€€~€~~~~€‚~€~€~€€}€~~~~€~€€}€€}~€~~€}€~€€€€}€~~~€~~€~€€~€€~~~~~~€~€€~€~€~~€€~€~€~€€~~€~‚€~~€‚~€}~~‚~~€}€€}€~€~}€}~€~~€~€~~~~€~€~€~€~}€~€€€€€~€}~€~€~€~~€€}€~€~~~~~€€~~~€~~€~~~~~€~~€}€~€€~}€~~~~€~€~€~~‚~~€~€~~€~€~~€~€~€~~€€~€~~~~€~€~~~~€~€~€~~€~~€€€~€}€}€~€~~€~€}€€~~€}€~~€~}€€~€€~~~}€€~‚€~~~~€~€€~€€~€~~€~~~€€~€€~€~€~~€~~€~€~€~€~€€}€~~~€~€‚~€~~~~~‚~€€~}~}€~€€~€~~~~€€~€~€~~~€€~~€~~€~~€€€}€€~~‚€~~~€~~~€}€~€~€}~~~~€~€~}€~€€~€~~~~~€~€~€~~€~€~€€€~€}~~~~€~€~€€~€~~}~~€}€€}€~€~~€~€€€€~~€~€~€€~~€}€~€}~~€~€€~~}€€~~€}€~€€~~€~~~€€€}€~€}€~~~~€~€~€~~€~€€}~€~€~€~€~~~€€~€~€~~~~€€}~~€~~€~€}€€~~~~~€€~€~€~~~€~~€€~€~}~€€~€~~€€‚~€~~~€~€€~~~€~~~~~~}~€~€}€€~€}~~€~€~€~€~~€‚€~~}~€€€~~€~€‚}€~€~~~~€~€~~€~€~~€~~€~€~~~€~‚€€~}€~~€~€€~~~~~~~~€€€~}€~}~}€~€~€‚~€~€~€}~}€~€~}}€~}~€~~~~€}€€~€~}€€~€~~~~‚€}€~€}€~~}~€~~~‚€€€~~€~~€~€€~€~~~€~€~€}€~€}€~€~~€~~€€€~€~~~€€€~€~€~~€~~~~€€~€~~~~~~~€~€€~€~€}~~~‚~~~~€€~€~~€~€~€~€~€~~~€}~€~€~~€€€~€}~~~€~€~€~€~~€~€~€~~€~€~€€}€~€}~~~€~€~€€€~€~}€~€~€~€~~€~~~€~~€€~€~€~€~~~~€€~‚~€~€€}€~€~€~~€~}€~~~~}~€~~€~€~€€}€€~€~~~€‚~~€~‚€~€~~~€~€€€~€~€}~€€€~€~}€~€€€€~€~~€~~€€~~~€~€~~€€~~€~~~~€€~€}€~~~€~~€}‚€~~~~~~€~€~€~~€€}€€}€~€€}‚€~€}~~~€~€€~€~€}~~~~€€}€€}€~€~~~~€~~~~}~‚€€€~€~~€~€~~~~~€}~€}€€}€~}€}~€~€}€~€€‚~~~~}~~~~~~€~€}€~€€~~€~~€~~€~€~}‚~~€~€€~€~~~}~€€~€~€~€~€}€}~~~~~~€€}~~€€~€€€€}~~}€~€€~€~€~~€€}~~€€~~€€~~€~€~€€€~~~€€€~~}€~€€~€€~€~€€~€~~~€~€~~~~€~€€~~~~€~€}€€~€}€~‚~€~€€~~€}~€~~€~€€}~€~~~~~€~€}€~€~€€‚€~€~~~~€~~€}~~}€~€€~€€}€}€€~~~€~€€~€}€~~€}~€€~€~€~€~}‚€~€‚~~€‚~€~€~~~€~€~€~€~}~~}€~€€~~~~€~€€~~~~~€‚~~~€}~~€€}€~~~~~€~€~€~€~~~€~€~€}€~~€}€~~€~~~€}~€~€~€~€~€~€}~€~€~~~~~€~€€~~}€~‚€}€~€~~}~}~€€€~}~~€~€€~~~~€€~€~~€~€~€€~€~€~~~€€}~~~~~€~€}€~~}‚€~~~€~€€~€}~~€~€€~~~~€~€€€~€~~€~~€€}€€~€~~€~€~€€~~~~€~~€€~€~~~€~€€€~€}‚~~~€~€}€€~€~€}€‚~€~€}€}€~~~~€|€}€~~€~€~~~~€~‚€€~~~€~€~€€~€~~€~€~€~~~€~€€€~~~€~~~€}~€€~~~~€~€€~€~€~€~€~~}€}€€€~~~~~€~~€~€~~~€€~~€~€}€€~~€€}€€~€€~~€~€€€~€}~~~~€}€~€€~€~~~€}€€~€~~€}~€~€}€~~€}€€}€~~~‚€€‚~€}~~~}€€~€~~~~€~~€~€~€€~€~€~~‚€~~€~€~~€€~€~~~€~€~~~€}~€€€~€~€}€€~€~~€~€}€~~~€}€~~€~~€~€~€~~‚~~€~€~~€~~€~€€€~€~~~€~€~~~~~~€~€€~€~~~€€}~~~€}€€~~~€~€}€}€~~}€€€~~~~}~€€~€~~~€}€~~~~€€~€~€~}€~~€~~€~~~~~€~€€€~€}€~~€~~~~€~€}€~€~~€‚}€~~€~€~€€€~~}~}~€}€€}~€~€€‚~~~}€~~€~~}€~€~€~€€~~~~€~€~}~~~€~}€~‚~~€~~~~€~€~€~}€~~€~€~€~~€~}€~€~€€€€~€}~€}‚€~~~€€‚~~~€~€~~~€~€~€~~€~~€€~€~€€~€~~~€~~€~~~€~~‚€€~~~~€~€~€~€~~~~€~€~€€}€€~~}~~€‚}~€~~~~€~~€€~€}~€~€~€~~~}~~~~€€€€}€~~}}€€€~€~~€~€~€}~€~‚€~~~€~€€~~~~€~‚€€~~€~~~€}€~~€}€}~€~€€~~~}€~€€€~€~~~€~€~€€~~~€~~€~€~€€~~€~~~€}€~€~€€~€~~}€~€~€€~€~€~~~€~€€~€~~~~~€}~€}€}€~~~€}~€~~€€~€~~€~€€€~~€~~€€~€€~}~€}}~~~~€€~€~~~~~€~€}€}€€~~~~€~~~~~€~€€~€~~€~€€~€~~€~€~€~€~~}€~€€}~~€}€€€~~€~~€~~~€~€~€€~€~€~~~€€~€~~€~€€~€~€~€~€€€~€}~~€~€~€~~€~€€~€}€~€~€€€~€~€~€~€~€€€~€~€}€~€€}‚€~}€‚~€~~}€~€€~€}~€~~€€€~~~~~€~€€~€~~‚€€~~€~€€~€~~~}€~€~€€~€~~~~€€~€~€~€~~€‚~€€~€~€~~€~€€~€~~~~‚€€}~~~€~€~~€}€€}€~~~€€~€}~€~~€~~€~€~€~€}~€€}€~~€}€~~~~€~~~~~€€€~}~€~~~€‚~€~€~€~€~~~}€€~€~}~~~€~€€~€~~~€€~€~~}€~~€€€~€€}€~€€~~~~~€}€~~€~€€~~~~~€}€~~€~€€€€€~~€}€€~~€}‚€~‚~~~€~€€~€~€~~€~€€~~‚~~€~~€~}~~~€~€~€~~€~€~~€~€}€}~€€~€~~~€~~~~€}~€~€}€~~€~~€€€€€~€~€~€~€~~~~~~€~€~‚~~~~~€€€~€~~~~~€}~€€€~€~~~~€~€€€~~}€~€~~}€~€~~~~€}€~€~€~~‚€~~€~~€}€}€~€~€}€€~€~€~~~€~}€~~€~~€~€~€~~~‚}~~~~~‚€€~€~~€€}€~~€‚~~€~€~€~€~~~~~€}€~~€€‚}~~~€~€~~~~~€~~~€~€~€~~€~€€€~}€€~~€~~~€€~}€~~}€~~~}~€}€~}€~€€€€~€}~~~~€~~€~€~}~€~~‚~~€~~€~~~€~~€€~€~~~~€~€~~€~€€}€€}€~€}~~~~€~€}€}€‚~~~€‚~€~€~~€~~~~€~€~€~€~~~€}€~€}~~€~€}€}€~~€€€~€~~~~€€~€}€~€~€~~‚}€~€~€~~€~~€€~€~~€~€}€€~€~€~€~€~‚‚~~€€~€€~€~~€}~€~€~~€€~€~€}€€~€€~€}‚‚~€~€€}€€~~~€€~~~€~~€~~€~€~€}€~€~~~€~€~€}€~~€~~€€€€~~‚~€}~‚€€€~€}~~€~}~€~€~€~~€~~€~€~~}€}€€€}€~€~~~~€~~€}~~~€}~}€}€~~€~€~~~€~€€~~€~~~}~€€~~€~~€~€€€~€~~}€~~€€~€~€~~€€~~~€~€‚€~~~€}€~€€}€~€€~€~€~~~~~€~~~}~~€~}~€~€€€~€~€~€~€~}~€€€~~€~~€~~€~~}‚}~€~€}€€}€~~~€~€€~€~~€}~~~€~€~€~~€~€}€~€}€~€~~€~€~€€~€~}~€~€~}€~~~€~~}€€€~€~€~€~‚~€~€}~~~€~€€~~€}€~€€}~€~€€€€~~~~€~€~€~~€~~~~€~€~€~~€~~~€~€€~~~~}€~€}~€~€}~~~}€~}~€~~€}€~€}€~€~~€€~€~~~}~€€}€~}€~€~~~~€€~~~€~€~~~~~€€~€~~‚€~~~~~€~€€}€~~~~€}€€~€~€~~~~€}~~}€~€~€~~~€€~~‚~€~€~€~€~~€€~€~€~€€~€~€~€‚~}~€}€€}€~€~~~~€~~€€~~‚}~€~€}€~€~~~~€~~€~}‚€€}~€~€~~€~~€~~€€€‚€}€~€}€}~€~€}~€~€~€~~~~€~€}€}€}}€~~~‚~~~€€~€~~~€}~€‚}€}~}~‚}€~‚~~€}~~}€~~€~‚€~~~€~~€~€~€€~€~~€~€~€}~€€~€~€~~~€~€~~~€~~€€€€~~~€~€~€€~}€~€€~~€}~~€~~}~€~~~~€}}~€€€~~€~€~€€}€}€~€€~€~~€~€€€€€~€~~€~~€~€}€~€}~~~~~‚€€‚~€~~~€€~€~~€~€€€~€~~€~€€~~~€~€~‚~€~€}€~€€}}~~~€~€}€€~~~€€~~~~~€~€€€~€}~€~€€~€~~~€~€€€~€~~}~~‚~~€~€}~€~~~~~€€~€€~€~€~~~~€€~€~€~~€}€}€~~€~~€~€}€~€~~~€€~~~~~~€~€~~€}€~~~}~€~€~€~€~€€€~€}~~€~€€~€}€~~~~€~~~~‚€€~€~€~~€~~€€€€}~~€~€~€€€~~€~€€~}€}~€~~~€~~€~€~~€~€}€€€~~~~}~€€€~~~~~~€~}€~€~€~€~€}~~}€~~€~€€}€~€~€}€~€~€€‚}~~€~€€~~€€€~€}€~~€~€~€~~€~€€~€~~~€~~€€~~~€€~~€‚~~€~€€}‚€~€‚~€~~€}€~~~€€€€}€}€~~€€~}~~~~~€~~~€}~€~€€~~~~~~€~€€~€}€~~€~~€€~€~~~€~€€€}~~€€€~~€~~~€€~€~~}€‚~€~€€}}€~~€~~~~€€‚~€€~€€}}~~~~~€~€~€€~€€~€~€~~€€~€~~~~€~€~~~~€~€€€€~~~~~€~~€€}}€~~~~~€~€}€}~~€‚~€~~~~€~€~€~~~€~€€~€~~€~€~€~€~€}€~~~€€~~€~~~€~~~€}€~€‚~€€~€~~~€~€~€~€~~€€}~€~‚~~~€~€~€~€€‚~~€~€~€~€~‚~~€}€~~~€€€‚~~€~€~~~€~€€€~~€~~}~}€~€~€€}€~€}~~~€€~€€€€~€~~~~€~€~~~‚~}€~~€~€}€~~~€€~~~~}€~€€}€~}~~€}€€}€~~€~€~€€€€€~}€~€€~~€~~€~€~€~~€~~€€‚~€~~~~€~~~~€~~€~~€~€€~€}€~~€~€€‚~~~€~€€€~€~€~€~~€€~€}€~€~€~~~€}€~~~~€‚~€}~€}€€~~€~€~€}€}€}~€~€€~~€~~€€€€~€}~~~€~€~€}€€€}€~~~~€~€~~€~~~~€~€€~€€~~}~~€€€~~€~~~~€~€~~~~€€€~€~~€~€€~€~€~~~€~~~~~€~€~~~~€~€€€~€~~~~€~€~~€}~~€~€€€€~€~€~€~€€~~€~~€~€~€~~~‚~€~~€~€€€~~~~€~€~€‚}€~€€~€~~€}€€~€}€‚€~~~€€€€~€~~€~€}€€~~~~~}€~€~€~~€‚~~~€~€~~~€~€€~~€~€~€~~}~~€}€~€~~~}€}€~€~~€~€€€~}}‚~~~~€~€}€€~€€~€~‚~~€~€€}€~~}€€€€~€~~~~~€}~€‚~€~€~}~~€~}€~€}€€~~€€~~€~€~€~€~~~~€~€~€€~}~~~€~€}~~€~€€€~€~~~~€~€€~€~~€~€€~€~~€€~€~~€~~€€~€€}€~€}~~€€€€~€~~~€~€~€~€~~€}€€~€~~~€~€€~€}€€~€~€‚~€~~€~~€€€~~~~€~€~€€~€}€~€~€}€€~~€~€~‚~~€~€}€€~€~~~€~€~€€~€~€~€~~€~€~~~~‚}€~€}€€~€€~€~€€~€~~€~€~€~€~€€~€€~€}~~~€~~€~~€~~~~€}€~€}‚€~~~€€€~€~}€€~€~€~~€€~~€~~€€~€}~~}~~€~~‚€~€}‚€~~~~€~~€~~€€~€~€~€~€€~~€~~€~€~~€~~~~€€€~€~~~}~€€€€~~~}~~}€}€€~€~€~~€€~~~~~€~€€€~~~~~€€~€~€~€~€~~€~€~€~~€~~€€€~~€~~€}€€€~~€~€~€€~€~~~‚~~€}€€~~}~~€~€€€€€€~€~~~~~~~~€€~€~~~€€€~€}~€~~€~~€}€~€~~€~€~~~€~€€€~~~~‚~€~€}€}€~~€~~€~€€~€~~}~€~~~€~€~~€~€}~~~€~~€~€~~~}€€}€~}€~€€~~€~}~‚€€€~~€}€~€~€~€~‚€€}~~€}€~~€~~~€~€~~€~~€~~€~~}€€~€~~€~~€~€~€~€€~€~€~~€~€~€€€€~~€~~~~€€~€~~€~€}~‚~€~€~~~€~~~€~€€€~~€~€}‚~~€}€~€}€~~€~~~~€}€€~~~~€~~€}€‚}~€~€€€~~~€~~€€~}~}€~~‚~~~€}€}€~€€}€~~~€€~€~~~~~~€€~€}€~~~~€~€€€€~€~~€}~€€~~~€~~€€€‚~€}€€~€€}€}€~~€~€~~~€~‚~€}~€}€€~}~~€}€~~€‚}€~€}€€~‚~~~~~€}€€~€~~~~~€~}€~€€€~€~~~~€‚}€€~€~€~€€~~~~~€€~€~~€€~€~~~€~€€~~€~€~€€~}€~€‚~€~~~€~€~~~~~~~€~€}€€€~€~~~~€~€~~~€€€€~€~~€~~€~~~€~~‚~~€~€€~€€~}€~€~~€}~}~~€~€~€~~~~€~~~€~~€~€~€‚~~~}€€~~~€€~~~€~€~€~€~~}~~€~€€~~€~€€~~}€~~~€~€~‚~€~~€}€~~€~~~~€€€~€~~~€€~€~~~~€€~~~€~€€~€~~€~€~€~~€~€~~~€}~€}€~}€~~€~~~~~€}€~€~~~~~~~€~€~€~€€€~~}~€‚~~€}€€}€~~‚€~€}~~€~€€~~€‚~€€~}€~€~~~€~€~€~~‚€~~~~€~€}€~€€}€~€~€~€€€€~€~~€~€~€~€~}€€~€~€~}€~~~€~~~€€~€}}€~€€~€~~€~€€€~~~€~~€€~€~~~€~~€~€€~€~€~€~€~~€€}€~€~~~€~€€~~~}~€~~€~€~~~€~~~~€€€‚~~€~€}~€~€~€€€€}~~~€~€‚~~}€~€~~~€~€€€~€~~€}€€~~€~~€~€~€~~€~~~~€€~€~~~€€~€~~}€~€~€€~~~~€‚€‚~~€}}}€~€~~€~€€~~~~€~€€€~}~~~€~€€~€~€~~~€€€~~~~~~~€~~€€~€~}~€€~€~~‚~~~~~€~€~~€~~~€~~€~€}~€~€€~€~~}€~€~€€€~~~€~€~€}€~}€~€}€~~~~€~~€}€€€~~€~€~€~€~€~€~€~€}~~~~~~~~}~€~€~€~~€~€€€~~~€€}€~€}€€€~~€~€~€€~€~€~€~~~}€~€~€}~~€~€~€~€}~~~€~€~~~~€~€~€}~~€~~€€€€€€~~~€~~~€~€€~~~€~}€~~€€~~~~~~€€~€€~€€~€~€€~~€~~€~‚€~~}~~~€~€~~~}€~€~~€~€~€€~€~€~€€~~‚~€~€€~~€~~~~€~~€€~€}€€}~~‚~~~€~€€~~~€€€~€~~~€€~€~~€~€€~€~}€~‚€€€~}€~~~€~~~€~€€~€€~€~}€~~~‚}~€‚~€}€~€~~€~€€€~~~€~~€€~~€~~€}€€~€~}€~~€€€~€~€}~~~~€}€€~~~~}€~€}€}€~€}‚‚~~~€‚~~€}~€}€~~€~€€}€~~}~€~~€€€}€}€~€~€~‚€€}~~€~€~~~~€~€~~~€€€~€~}€~‚€€~€~~}~€€~€€~€~€}~~€~€~~~€€€~€}€}€~€~~~€~€‚~~€~~~~~~~€}~€~€~€€~€~~‚~~€~€~€~~~~~€~~€~€€~}~~€€~€~€~~}~€~}~~~~€~~€~€€~€~~~}€~€~€€~~€}~~~€~~€€€}}‚~~‚~€~€€‚~~~~€~~~€€~€€~€~€€~~~~€}€~€~~~‚~€~€€~€~~€~~€€€€~€~~}€~€€€~€~~€~€€~~€€~~~€~€~‚€€~€~~~}~€€~}€~€~€€€€~~€~€~€€€~~~€~‚€~}€}€€~~~€‚}~€~€}€~€}€‚}~€~}€€~€~€~‚€~€~~~€~~~€~€}€~~€~€€~~~€~~€€~~€‚~~‚~€}~~€}€~‚~€~~~~~~‚€~€~€}€€~€~~~€~~~~€‚~€€}€~€~}~~€~€}€~~}€~~€€€~€~~€}€~€}~~~€~€~~~€~~€€~~€~~€~€~€€€~~~€~~‚}€~€€€~}€~~~€~€~~€€~€~~~€~~€€€}€~~~€~€€}€~~~€€~€~~€~~~€}€€~€~€}€~~~~€}€~€}€~€€€€€~€~~€~€€~~~€}€€~€~}~€€€~~}~€~€€}~~~€~€~}€~~€~€}~~€~€€~€~~€~~~~€}€~~€~€~~€~€~€~~}€~~€€~€~~€~€~€~~€~~€€€~€~‚€~€~~€~~~~€€€~€~~~}~€€€~€}~~~~~€~~€~€€~€~~~~€€€~€}~~€~€~~€}€~€~€~~€~€~€€~~~~€~~€€~€~€€~€~}€~~~€~€~}€€}€~~}€~€€~}~~~€~€€~~}€~€€~€~~€~~}~€~}€~€~€~€~}~‚~€}~€~}€~€€~€}€~}€€€~€~~~~€€~~}€€~€~~€€}~~€~€€~~~€~€~€~€~~€€€~€~~~€~€~~~~~€‚~€~~€~~€}~€€€~€~~~€}€}€~€€~€€~€~~~}€~€~€~~€~€~~~€~€~€~~~€~€€~~€~~€~€€€~€~~~€~~€~~~€~€€~~~€~€}€€}€~~~‚€~€}~}€~€€~€~~~€~~€€~€}~~~~€~~~€~€~€~~~~€€~€~€}€€~€~~}~€€~}€~€~€~€~€~~~~~€~€~~€~~€}€~~€~€€~~~€€~€~€€~~€~€}~€~~€~‚€~}€~€~€}€~~~~€~~~€}~}€~€}‚€€~~€‚~~~~‚€‚~€~~~~~€‚}}€€~€~~~€}€€€~€~€~~€€~~~~€~€}€~€€}€~~‚~€~€~~~~€€€€~~}€~~€€~€~€~€~€€}~}‚€€~€~~~~€~€~~~~~~€~~€}€}€~~~~€€€~€~~~€~€~€~€~~€}~€~€}~€~€€~€}~~~~€€~~€}€~€~€€~€~€~~~~~€~€~~~~€~€€€~€~~€€~~~€‚~€~€~€€}€~}~~‚~€~~~~€~~€€~~€~~~}€~€~€}€~~~€~€~~€~~~~€€~€~~~}~€~€~‚€~~~~€}€~€~€}~~€~€~~~~~€~€~€€~€~€}~€~€~€~€€€~~~€€}~€}€~€€~€~~~~€}€~~€}~€~€~€~~~}~~€€}€~~}~~~€~~€~€}~€~~€~~€€‚~~€~~€~€~~}€~~€~~~~~€€~€}~€~~€€}€~~€~€}~€}€~€€~~~€~€€€~€~~~‚€~~~€~~€€~€~~€~}~~€~~€~€~~€~€~€€}€€~‚€~€~~€~~~~€~€~~€~~~~~~€~~~~€~€€€~€}~€€€}~~€~}~~€}€~€~~~~€€~€~}€~€€€~}€~}€€~}~~~}~€~€~~€~~€‚~€}~~€~€~~~~~€}€€~~€}€~~€~~~~~~€~€~‚€€~}€~~€€€~~~~~€~€~€~€€}€~~~}~€~€}~€~}€~€€€~~€}€€€€€~~€~~‚€~€~~~~}~€€~~~€~€~€€}€~~€~~€~€~~~€€€~€~~€~~€~€~€€~€~€~‚€~~€~€}€~€~~~€~€€~~€~~~}€€€€~€€~~~}€}€€~~~~~€€}€€~€~}€~~}}}€€}€}‚~~€€~€}~‚€€~€~€~~€~~€€}€~~~~€}~~}€‚}€~~€~~€€~€~€~€~€~~~€~€~€€~~~€~~€€~~€~}€~€€~€~~~€~€€€~€~~~€~€}~~€}€€~~~€~‚€~~~~€~‚~~~~€}~€~€~€}€~~€~€~}€~€~~~~~€}€€~€}€~€}€~~~~€€€~~~€~}€~~~€}€~€}€~€~~€‚~€~€~€€~€~€~~}€~~~}€€~€}~~€~€€€€~€~€~€€~‚€~~~€~~~€~€~~‚€}~€~€~~~€~~€€}€}€}~€~~~~~€~€~€~~}€~€~€€}~~~€~€~~€}€~~~€~€~~€~€€€~€~€~€~€€€€~~}€€}~€~€}€~€~~‚~€€~~~~€~~~~~~€€€~~€~}€}~€~‚€~€~€~~~€~€~~~~~~€~€€~€}}€~~}~€€€~~~€~}~€~~€~~€}€€€~}€~€€~~€~~€~~€€~€~~€~€€~~~~€}€~€€€~}~€~€~€~€~}€}‚€~~~€}€€~€~€}~~€~€€~~€~}€~€€€}€~~}~~~~}~~}€~€€€}€~~~€~€~€~~€}€€~€}€~~~€‚~~~€~€€}€}‚~€~€~}€}~~€~€~€}€}}€~~~~€}~~~‚~~€~€~€~€~€~~~~~€}€~~~}€~€~€~~€~€~}‚~~€~€}€€}€€€~€~~€~~~€€~€}~~}€€€~~~~€~~€}€~}€~€€~~€}~€€~€~~€~~~‚~}€}€€}€~~~€~€€~~€~€~€~€€~€}~~~€~~€€€~~~€~€~~€~€~‚€‚}€~~}€~€€€€€~~€~~}€€€}€~€~~€~~~€€€~€~€~~€~~€€€~€~~€~~€€€~€~~€~€€~€~~€€€~€}~€~€€€~€~€~}€}€€€~~€~€~€}€€~€€~€~~~€~€~€~~~~€~€~€~}€€~€€~}€~€€€€}€~~~€~€€~€~€}~€~€~~}€~€€}€}~~€~~€~~€~€€~~~€~~€~~~~€~~~€~€€~€~}~~~€~€~~€~~~~€~€~€~~~~€€€~€~~}~€~~€}€€~€~€}‚€~~~}~}~€€~€~€~€~~~€~~}~~€~€€}~}‚~~€}~€}€~~~€‚~€€}€~~~~~€€~}~~€~€~€€~~€~~€~‚€€~€~~€‚}~~€€~€~~~€~€€€~€~€~€~€~~€}€~~€~~€€€}€~~€€~€~~€~€€~€}€€~€}€~€~~€~~€~€~€~~€~~~€}€€€€~€}~~€~€~€€~€€}€}~~~~}€}€~€~~~~€}}~~~~~€~€‚~€}€~~~€~~€~}~€~€~€€~€~€}€}€€~‚€~€~€€~~~€~€~~~€~€}€~~~€~€€}~€~€~€}~€}~€€~€~~~~~‚~~~€~~€}€€€‚~€~€€}€~€~~~€€~~~~~~€€~~~€€~€~~~€~€~€€}€€~~~€~‚~€€€~€~~~€€€~€~~€~€€~€~~€~€~~~€~€~€}~~€~€€}€~€~€~~€~~€~€€}€}€}~~~€}€~~~}€~~€€€~€€~€~~~€~~}~~~€~}€~~~‚}€€~€}€~€€€€~€}€~~~~€€~~~~€~€~}€~€€~~~~~€~€€~}€~~‚€}€~€~~~€~~€~€€€€~}€~~€€€€€~€~~€}€~~~~€}€~~€~~€€€~€~~}€~€~€~~€~€€€€}~~€~€}~€~~€}€€~~~€~~~~~~€~€~€~}}~~~~€~}€~~~€~€€€€~~~}~€€~€~~~~€~€~~}€~‚€}~~€€}}€~~‚€~~~€~€~~~€~~€~€}~€~~~~€~‚€~~~~~€~~~€~€~‚}€~~~€€~~€~~~€~~€}€~~€‚~€}~€~€}€}€}€~~~}€€€‚~~~€~~€}€~~~€~€€~~~€}~~€€}€~~~€~~€~~€€~€}€~€~€€~~~~€~~~~~~€~€~€}€€~€€~€~€~€€~}€~€}€~~}~~€~~~~~€~~€€€€~~~~~€€~~~~~~€~~€}€}€~~€~~~~~~‚€€~€~€~€~~~€~~~€~€~€€‚~~}~}€~~€~~~€~~~~€~~€~~€€~~~€~€~~~€~~}‚}~~€~€~~~~~€~€~€~~€€€‚‚~€~~~~€€}€~~€~€~€~~~€€€€~~~~~~~~~~€}€€~~~€}€~€~€~€~~€~~~€~€€~€~~€€~€~€€~€~~~€}€}~~~~~~€€€~}€~‚~}~~€}€~€}€~}€~€~€~~~€}€€~~~€}~€~€~€~~~€€}€~~€~~}‚€~~}~€~€}~~€~~~€~€€~€€~€~~€€}€~~~€‚~€}€~€€~€€~€}}€}}‚~~}~~~€}}€~~€€~€~~€~~~€‚}€~€~€€~€~~~€~~€~€~~~~~€~€€~~}~~~€€€€~~~€~€}€~€}€€}€~~~€~€€€~€~~€~€~€€€€~€~~~~~€~€€~€~~~~€~€~€~~~€~€€€~€~~€~€~~~€~€~€~~~€~€€~~€~€~~}€~‚€€€}~€~€€~~~~€~~}~~€}€~€~€}‚~€~€€€€€€~€~~€~~€€~€~€€~‚~~~€~~~€~€€}€€~€~~€}€~~~~€~}€~~~€~€~€€€~€~~€}€~~~~~€~€~~€€}~~~€~~€~€~€€€~€€~~€€~€~€~~€~~€€€~€~~~~}€~€~~€~€}€}€~~€~~€}€€~~€~€}€€~€~~~~~€~~€}€~€~~~~€~€~~~€~€€€}~~€~€~‚~€~~€~}}~~€~€€~€}~~~~€~~}€€}~€}‚€~~‚~€~€~€~€~~~€~€~~~~}}~~~€~~~~~€~~~€€~€~~€}€~€~~~}€~~€€~}~~€}€€~€€~}‚€~~€‚~~~~€~€€~€~~~€~€€~~€~€}€~~€}~~~}€}€~€~‚~~~~€€}€~€€~€~~€~~€~€~€€‚~~€}~~€}€~€€€~€~~€}}€€}}€€}€~~€}‚€€€~}~‚~~}€~€~€€}€~~‚~~€~~~€~€~~€€}€~€}~~~€~€~€~~~€~}~€€~€€~~~~~~~~~€~~~~€~‚~‚~€}~€€~€~~~~€~~‚~~~~€~€~}€~€€}~€}~€~€~~‚~~€‚~€~€€~~~~€}€~‚€~~~€}~~}€~~€~€~~}~€€€~€€}€~~}~~~~€~€€~€}€~~~€‚~€~}€~~€€€~~€~}€~€~~€~€~€~€€~€~~~~~€~€~~~~€}€€~~~€~~}€€€~€~€~~€~€~€~~€~~€€‚€~€~~}~€~€}€~€€€~~~~€}~€~€~€~~‚~~~€}}~€}~~~~€}€€~~}~€~€€~€~~~€€~€~~€~~}€~€}€~€~€€~€€~€~€~~€~€~}€~~}€€~~~€~€€~~~€~€~€}~‚€€€~€~~~€}~€€€~~€~€€~~~~~€€€~€~€~€~€~€€~€~€€}~~~€~€€€~€~~~}~‚€€~€~~~}€~~€~€~~€~~€~€~€€~~~~}€€~~€~~€~€~€~€~‚~€}€~~~~~€~€}€~€~~€~€€~‚~€~~~~~€}€~€~~~~~€~~€~€€}€~}€~~~€~€~€~€}€~€}~~~€~€~‚}~~}~€~~€}€~~~€~€}€~~€€~~~€~}€€~~€~~€~‚€~€~}}~~€}€~€~€~~~~~€}€€}€~€~~~€~€~€~€~€€€~€~~€~}€~~€‚~€}€~€~}~€}~~€}~€~€~€~~~~~€~€€~€~€€}€~€~~~€~€~€~~~€€~€~~~~‚€~€~€}€~~€~~€€€~~~~~€~€€~€}€~€}€}€~€~}€€~€}€~~}€€~€~~~€~~€}€~€}€€~~~~€~€~‚€~€}€~~~€~~~~}~€~~€~€~€~~~€€€~€~€~~~~‚~~€~€~€€~€~€~€~~€€~€~~~~€}~€}€~€~~€~€~~€~€€~€}€~€~€~€~~~~€€}€}€~~~~~~€~~€~€~~~~~~€~~€€~~~~€}€}€}€}€~~€€~~€~€}€}~‚~~€~€}€}€~~~€‚}€}}}€~~€}€~€~€~~~€~€~€~€}€~~€}~~€€~€~€}€}~€€€~€~€~€~€~~~€‚~~€~€}€~~~~~€~€~€~€~~~~€}~€~€~~€~€~~€€€~€~~~€~€~€~~€~€€~€~€€~€}€~~€~€~~~€~€~~~~€€~~€~€}~€~€~€}€~~€}€~€€}€~~€~€~€~~~€~€~€~€~€€€€~~}€~€€€€~~~~~€€~€~~~€~~~€~~~~€~~€€€~~~€~€~~}~~€~€€~~€~~~~~~€~~~€~~€€~€~€~€€~€‚~~}~~}€~‚€~€}~€~€~€~€~~€~€~€~€~€~~€~€~~€~€€€€}€~€}€}€~€}€~€~€~~~‚€~€}~€~€€~€~€~~€}€€~€}}‚€~~~~€}€~€~~€~€~€}€}€~‚~~€~€~€~~€~~~€~€~€~€~~€~€€€~€~~~}€€~€~€€~€€}€~€~}~~€~€~~€~~€~~€€~€~}€~~€}~€€~€€}€€~~~~}~€}€€}~~~€~~~€~€}~€~€€€~€}~€~€}€~€~€~€~€~~~~€~~€~~€~€€€~~~~€~~€}€~€}€€~€~€}~~~}€~~}}~~€~€~€~~}€~€~€€~€~€~€~~~~€~€~~~€}€~}€€~~~~€~}€~€}~€~~~~€~~~€~€~}~~€~€~€~~~€‚~€}}€~}€~~~€~€~}~~~€~}€~‚€~~~€~€}~~€~~‚€‚€}~€€~€~~~€~~~€~‚€€~~€~~~~~€~€~~~~€~€~}€€~€€~~~~€~}~~€~€€~€~~€~€~€~€~€€~€~~€~€~~~€€€~~€~~~~€€€~€~€~€~}€~~~~~~~€€~~~~~€€~~€~~~€~}}€~~€~~€~‚€€€~~}~€~~~~~~€~€~€}€€~€~}€~~~‚€~€~€~€€‚~~~€~€~€€‚~€~€~~€~€€~€~~€}€~€~~~€€€~~€~~€}€~~~}€~~}~~€~€~~~€~€€~~€~}€~€€}~€€~€~~€}€~€~~~€~~}~~~€€€€~~€~€€~~€~‚€~~~€~~€~€}€~€~~€€}€~€€€~~~~~~€~€}~€~€~€~~~€}€~~~‚~~~€~€~~€~~€€~€~~€~€€~€~€~€€}}€~~€~~~€~~€€€~€~~€~€~}€€~€~~€€~~~€}~‚~}~€}€~~€~€€~~~€~€€~€~€~€€~€~~~~€~~€}~€}€€~€~€~€~~~€}~~}€€~~€~€~~€~€}~€~€~€~~~€~€‚~}€}~~~€~€~€~€~~€€~€~~~€‚~€~}€~€~~~~€~~~€}~€€~€~~~€~€~~€‚~€~€€}€€~€~€~~~~€~€~}~‚€}~€~€€€~~€~€}€€~€}€~€€~€~~~~€~‚€~~‚}~€~€~€€~~€~~~~€~€€€~€~~~~~€~€~€~€€~‚€~€~~€~~€€~~€~~~€€€€}€~~€~‚~}~€~~~€}€}€~~~}€~~€€~~~~~~€~~€~~~€€€~€~~€€~~~~€}€€€~€}~~~€€~€~~~€~€€€~€~~€~€€‚~€~~€~€}€~~€}€~€~€}€€€~~~~€}€€€~}€~€}€}€~€~~€~~~}}}}€~~€€~€~€~~}~~€~€~€~€~~‚~€~€~€€}€~}€€~€~~~~‚~€~€~€€~€€~€}€}€}€~~~~€€~€~~~€~€~€}€€}€~~€~~~‚}€~€~€€~€~‚}€}€~~€~€~~€~~}€}~€~€~~€~€~€~€~€~~~~€~€~~€}€€~~}€~~€~~€~€~€~~~€~~€€~}€~~~~~€~€€~€€}€~~~€}~~€~€~€~€~~€€~‚€~~~€~‚€€~~~~€}€~€~}€~~€~~~€~€~€~€~}~€€€~€~€€~~€~~~€€~€~~~€~€}€~€~~~€~~€€}€~€~~€}€€~~€~~~~€}€~~~~~€}€~€€}€~~~}~€}€~€~~~‚~}~€~€}€~~~€~‚€~~~€~€€€€~€~~€~~€~€€~‚€€~~€~~~€‚~€€~~€}~~~€}€~€}€€~€€}€~~~€~~~‚€~~~~€~€~€~€}€~€~~€}~€€€‚~€€~€}~}€~‚€€‚}~~€~€}€€~‚€~€~€~~~€}€€~€~~€~€€~€~€€}€€€~€~€~€}€~€€~~~~~~€~€~~€~€€~€€~€~€~~~~~~~~~€~€~~}€~~}~€~€~€~€~€~~€~~~€~€€€~€~~~~€~€~€}€~~~€~~€~€€}€~€~~€~~~€€}€}€~€~~~€~€~€€~~€~€~€€~~€~‚~~~‚~€~~€~€}~€€~€~~€€€~~€~}€~~€~}~€}~€}~~€~€‚~~€~~€~€€€~€~€~~€~€~€‚}}€~€€~€€}‚€~€~~€~~~~€€~€~€~~~~~€}€~€€~~~€~€~~}~}€€}€€~€€~€€~€~~~€~~€~~€€}€~~€~~~€~~~~€€~€~€~€~~~€~€€€€€~€~}~~€~€}€~€}€~~€~~~~~}€~~€~€€}€}~~~€~€€~}€}€€}€~‚~~€€}€}€~~~~€~€~~~~€~€€€€~€~€~€~€~€‚~€€~~€~€~~~€€~€€~€~~~€~€~€}‚€~€~€~~~~}‚~€€~€~~€}€~€}€}€‚~~~~~€~~€€~€~~~~€€€€~€}~€~€~~€~€~€€~€}€~~~‚~€~€€~€~~€~€}€~€€€~~~}€}€~€~€}€~~€~~~~€~~~~~‚}€~€~€}€~€€€~~€~~~€~€€€~€~~~‚€€}~~~€€€~~~€~€€€~~‚~~€~€€}€~}~~€~~€~€~~~}~€~~€~~€~€€€}€~~~€€}€~€~€~~~~~€€€~}€~~€~~‚€~~~€€~€~€~€~~€€€~€~€~€~~~~~€~~~~~€~~€}~€~€~€}~€~€~€€~€~~€~€€~}€~~€€~€~€~~€€}€~€~€€~~€}€~€~~€}~~~€€~€€}~}€~‚~€}€€~€~}€€€€€~€~~~~‚~~~~€}~~€~~€}€€~€~€€~€~€~€~~~€~€~€€~€~}€€~€~€~~€~€~€€}€€~€}€~€~~~~~€~€‚~€~€€€~€}~~€~€€~€~~€~€}€€~€~€~~€~€€€€}€~~~€~€€~€~~€~€~€~€~€€~€~€~~~~~€~€~}~~~~€~€~}€~~€~€}~~~~€€~€}€}€~~€}~~€~€~€€~€~€~~€€€€~€~~€~€€~~~€€€~~~€~€~~}€~~€€~€~€€~€~~€~€€€~€}}€€~~~€~€~~€~€€€€~€~~€~€~~€~€~€}€~€~~~~€~~€€€~€~€€€~€}~€~‚€~~~~€}~€€}€~€~€~€~€~~~~~~€}€€~€~~‚~€~~€€€€€~€~€~€€}€€~€}€€~€}~~~~€~~}~€€€€~~€~€€€~€~€~€~€€~€~‚~~}‚~~~€€~~~~~€€~€~€}€€~~€}€~€~€~€€€€~~~€~~~}~~~€~~€~~€~€~~€}€~€~€~~€€~€}€~~€~~€€~~€€~€~€~€}€}~€~€~€€€~~€~~~~€€~€~‚~~}‚~~~€~~€~€~}€~~‚€~}€~€~}€€€~€~~~€~‚€~~€~~€~~€~~€€~}€~€~~€}~~€€~€~~€~€~€€€‚~~€~€~€€}€}€~€~~~€~€~€~€~~~€~~€}€€}€}€}€~~€~€€€€~~€~~€€€~~~€~€€~€~~€~€€€~~~~€~€€~~€}€€~€~~~€}~€}€€~€~€~€~~~~€‚~€}€~~}€€~€}€~~~€€€€~€}~~€~€~€€~~~~€€€~€~}~€€~~€~~~~~~€}€~~€€~€~€}€~~€~~€}€}€€~€~€~€€~€}€~€}~}€€}€~€~€€€€}€~~€~€~~€~€€~~~€}€€~€~€}€€~€~€~€~~~€~€}€€}€~~~€~€€~€}~~~~€~€~~€‚~~€~€€~€~€~€~€~~~€}€€‚€~~€~€}€~~€~~~€~~~~€~~~€~€~€~€€~€}~€~~‚~~€}€€}€~€~~}€~€~€~‚€~€~€€~€€~}~~~€}~€~‚€~~~}€~‚€€~€~€~~€~€~€€~~€~~~~€€~~€~~€~~€~~€€~€~~€‚~€~€~€€~€~~~~~€~€~€~€~€~‚~~€~€~}‚€~~‚€~~~~~~€~€€}~}€€~€~~~~€€~€~~~}€€€~€~€~€~€€~€~~~€€~~}€~~~~~€~€~~€~€}€~~~}€~€~€~~~€~~€~~~€}€~}€€~~~‚~~€€€~€~~~~€€€~~€~~€}€€~~€~€}€~€}€~€€€~€~€~~~€€}€~~~€€~€~~~~~€~~€€}~€€~~~€~€~~€~€~~~€€~~€~}€~€}€~€~~~~€~€~€~~~~~‚~~€~€~}}€~€€~€~€~‚~~~}~~€€~€}€~~€~€€~€€~€‚~~~€~€~€~€~~€~€~~€~€~}€€}€~€~~~~€~~€~~}~~€~~€€€€€~~€€~~~€~€~~~}€~€~€~~~€~~€~€~€~~~€~€€€~€~€~~}€~€€~~€~~€€~€~€~€€~~€~~€}~€~~~~‚€~~€~~~~}~€~€€~‚€~€~~‚~€~€€€~~€}~~~€~€€~€€~€~€~€~~€~€~€€~~}€~€€€~€€}€}€~~€}€€€~~~~€}€~~~€~~€~~~€~€€~~~~€~€~€~~}}€€€~€~~€~€€€}€~~~~€€€€~€~~€~€€~€~~€~€~}~€~€}€~€~€~‚~€~~~€€€€~€~€~~~€}€~€€~~~~~€~€€~€~~~~€€~~€~~~€‚}€~€}~~~~~€~€€~€€~€}~~€~€~€}~~}€~€~€~€~~~€€~€~€~~~~€~€~€€~~~~~€~€~€~€}€~~€‚}€~€~€~€€~~~€~€~~€~€~€~€~~€~~€€~€~€}€€~€~€}€€~~€}€~~€~€~~€}€~€€€~€~€~~~€~~~€€~€~€~€~~€~‚€~€~~~~€€~€}€~~€~~€€~€~€~~€}€€~€}€~~€}~€€€~~€~€~~€}€‚€~€~€~~~€~~~€~~€~€}~€~~€€€€~~€~}€€}€~€~€~~€~~~€~‚~~~€~~€}€~€~€€‚~€~€~}}€}~~~€}€}~~€}€€~}€~€~€~€}~~€~€€€}~€~€€€~~~~~€€~~€~~€~€€~€~~€~‚~€}~€~‚€~€}~€~~€~~€~€€€~~€}€€€~}}~~~€€€~€~}€~€~€~~€~€€~‚€~~€}‚€€€€~~€~‚~€~€€}€~~~}€~€‚€€~€~€~€€~€~€~~€~€€€€~€~~‚~~€€~~€€~€~~~€~€~€}€€~€~€~€~€~€~~€€~~€}€€~~~€€~€}€€~€~~~~€~~~€€~€~€}~€}€~€~~€~‚~~€~€~~~~~€~€~€~€~€~~~€~€~€‚~€~~~€~€~€€}€€~~€~~~€~}~€~€€~€~~€~€€€~~€~~€~~€~€~~~~€~€~~€~€~€~~~}€~€‚~€~€€}~€~€}€€~}€~~~~€~€~€€~€€~~~€~€€€~€~~€~~€€~€~€~~~~~~€~€~€~~‚€€€}€€‚~}~€~€}€~~€~‚~€~€~~€~~~~€‚~€~~~~€~€~€~€€~€~€~€~€~~€~€~}~~€~€~€~€}~€€€}~€~€~€€~€~€~~€€~~€~~~€~‚~€~~~~~€‚~€~~€~~~€~}€~~~‚€€~~€~~}}~~€~€~€}€~~€€~~€}€}€€}€~~€€‚~€~~€~€~~~€~€~~€~~~€~€€~}€~€~~€~~€~€€€~€~~~€~€}€~€‚~€~€~€}~~€~€~€~€}~}~~~€€€~~~~€~~€~€~€~~~~€~€}€~€~€~}~€~€~~}€~€~€}€~~~~~€~~€~€~~~~€}€‚€~}~}€}~}€~€~€~€~~~€~€€€€~€~€~~€~€~€€~}~~~€~€}€~€€~€}€~~~}~€~€~€~}~~~}€~€€€~€~~~~€}€€~~}€€~€~~€}€~€€€~~~~‚~~}€~‚€€€~€~~~€~€~€€~~€~~€}~~}€}€~~€~~€~~€€~€~€~~€~€}~€~€~€~~~~€~€~€€~~~€~‚~~€€}}~€€€~}~€€~€}€~~€~€~€~~€~€~€~~€}€~€}€~€€€~~~€~~~€~~~~~~~€}€€~~~~€~~~€}€~€€€~€~~€}~}€~~~‚€~€~~~€~€€~€€}€~€~€~~~~€~€~€~~€~~€€~~€~~~€~€~~~€~€~€~€~€€~~€~€~€~€}~~~~€~~€~~~€~€€~€€~€~€€~€~€~€~€€~~€}~~~~~}€~€~€€€~€~}€~€~~~€~€€€€~}}~~~}~€~~€~~~~€~€~€~€€}€}€€~~€~~€€€~€}€~‚€~~~€}‚~€~~€~€€~€}€€~€€~€~~~€~€€€€~}~~~~~€~€€‚~€}~~€€€~€~~}€~~~€€€~€~~~~€€}€~€~€}€~~€~€€~€~€~~~~~€}€€~€~~~~~~€~€}€€€~€~~~€~~~€~€€~‚~~~€€~€~€~€~€€}€€~€~}~~}€~€~€~~€~}}~€~€€€€~€~~‚~~~€~€€~€~~€~~€€}€~~~~€~€€€~€~~€~€~€~~~€~~~€~€~~‚~~~€}€~~€~~€€~}~~}€~~€~}€~€}~~~€~~~~~€}€~~~€~€€~€~€€~€~€}€~€€}€~~~€}‚€~~€‚~~~€~~}€~€€€€~~€~€~€€~€~~€~€~~~~~€~~~~‚~~~€}€~}€€€~€€~~€€~~€€~~€~~~€~€~€}~€~€€~€~~}€€€~€}€~€~€~~~~~€}€~€~€~}€~‚€€€~~~~~~~€~~~€€€~€~~~~~€}~€~‚~€}~€~~€~€~~€~€~€}€€~€~€~€}~€~€~€~~~€~€}€~€~~€€}€~~~€€€€€~€~€}€‚~~€~~€}€€~€~€~~~€~€€€€~€~}€~~€~~~~€~€~}€}€~~~}€~€€}€€~~~€~~€}~€‚}€€~~€}€~~~‚}€€}€~}~~€~€}€~~€~}€~~€}€}~€~€~~~€}€}€€}€~~~~€}€€~€~~~‚~€~€~~~}~~€~~€~~€~~~€}€~€€~€~~~}~€€~~~€~€€€~€~€~~€}~~€~€€~€~~~€€~€~~€~€€€~~~€~€€~‚€‚|€€‚}€€}~€~€~€€}€€~€€~€}~~€~€~~~~€€€~€~}€}~€}€~€€€~~€~~€~€~€~€~~€~€~~~~€~€€~~€~€~€€~€~€~€~~€~€€~~‚€~~€~€€~~~~~€€~€~€~~€~€~~~~€~€~€}€~~~~€}€~~€~€€€~€~}€~€€~~~€}€~€}€€}€~}€~~€‚~€~€~€~€~~€}€~}€~~~~~€}~~€~‚€~€}€€~€~~~€~~€€~€~€~}€~~~€€€~€~~~€~€€‚}€}~€~€€~€}~€~€€~€~€}€€~}~~€~€€~€~€~€~~~~~€~€~€~€~}~€~}~~~~~~€}€~€€~~€~~~€~€~}~€}€€~~€~€€~€~€~€~~~}~€~€€~~€~~€~~€~€~~~~~€~€€€~€~~€~‚€€~~€~~€~~~‚€‚~~€~€~~€~~€€€}€~~€~€~}‚~~€~~€}‚~~€~€€~€~€~~€~€€~€~~~~€}€~€~~€~~€}€€~~~€~€€}€€~€}~~€~~€~~‚€~~€~~€~€€}€€~~~~~}€€~€~€~}~~€}~~~~}€€€€~€~€~}~€€~€~~€~€~€~€~€~~€}~~~€~€~~~€€~}€~‚€~€}~~~€€~}€}€~~~€~€€~€~~€~~€}€~‚€€~€~~€~‚~€~~€€~€~~€}~€€€~~~€}~~~€}~€€€~€~~~€~€~€~~€~‚€€~~~‚€}€€}€~~€~~€€~€~~€~€~~~€~€~€}~€~€~€€‚~€}~€~~€€~€~~€€€€~€~~~‚€~~~€}€~€~~~€}€€€~€~€~€~€€€~€}€~}€€€~}€~€}~€€€~€~€~~}€€~€~‚€~}~~~€€~€€}€~~€~€~‚€€€~~€~~}~€€€~€~~€~€~€€~~€}€€~~€~€€€€~}€~}€€~€~~~€€~€~~~€~€~€~~~€~€~~~~~~~€~€~€€~€}€~~~‚€~~€~€€~€~~~~€~~€~€~~€~~€€~~€~~~€~}€~~~~~~€~€€~~€~~}€~‚€€€~€~~}€~€€~~~~~€~€~€~~~€}€€~€~~€~€€~€~~€€~€~€~~~~}€~€€€~~€~~~€~~~€€}€€€~€~~€~€€€~~}€~€~€~~}€~€€€€~€~~~€~€€€~}€~~€€~€~~~€~~€€~€€~€~€~~~}~~€~~~€~€~€}~~€~~~~~€€~€~€~~~€~~€€~€~€~€~~~€‚}€~€~~‚~~€~€€~€~€~~~~~€€~€}~€~€~€€~~€~~€}€€~~~~~€€€~€~~€~€~€~~€€}€€~€~~~~€}€€~€~~~~€€~€~‚€~~~~~‚~€~~€~~~}~~~€~‚~~€‚}~€~€‚~€~~~€€€€~~}€~€€€~~~€€€~}}€}~~~€~~~~€~€~€}~~€~€€~~~}~€~€~€}€€~~~~~~€~€€~‚€~~}€~€€~~~€~~}€}€~€€~€~~~~~€~~~€~~~€~~€}€~€~~~€~~€~~~}€~~}€~€€~€€}~~~‚~€~}€€€€}~~€~€~€€~€~€~~~~€}€~€~€~~€}€~~€€~€€~~~€~€€~€}}~€}~€~~€~€~€~~€~€~€~€€~€~€~~€}~€~€~€~}€}€‚~}~~€~€€€~€~~€~€~€~€~~€~€€€~~~€~~~€~~~}~~€~€~~€~~€}€€~€~~€~€~€€~~€~~€~€~}~€€€€~~~~~€~€€~€~~€~€~€~€€}€€€~€€€~~€~~€~€~€€~€~€~~~~~€~€~€~~~~~‚€€~€~€~~~~~€€~~~~€~€€}€}€}€€~€€}‚€~~€}€}€~€~}‚€~€~~€~€~€~~€~€~‚€€~~~€~~€~}€~€‚~~~€}€€€~}~~~€~~€~€€€~€~~~~€‚~€~~~€€~~€~€~~€~~~€~€~~~€~‚~€~€~€}€~€€~~~~~~~}€~€~~~~€~€}€~€~~~~€~€~~~€~~€~~€}€€~€~~€~‚€~€~€~€~€€~€}€~‚~~‚~~€~}€~€~~€~~~€€€~€}~€~~~~€~€~~}€~~€€}€~€€~€}€~~~€~~€~€~~~~~‚}~€~€~€}€~~‚~~~€}€€~€~~~}€~€~€~€}€~~€}€~€~€~~~}~€€~€€~€€€}€~~€€~~€~€€~€~€~€~€~~}~€€~~~}€~€}~~€€~~€}~€€~€~€~~€~€~~~~~€~~~€}€€~~€~~~€~€~€~~~~~€~€€~€~~€‚}~€~~€~€€~€~€~‚~‚€~€}~~€~€€€~€~~~}€€€~~€~€~}~~€~€~~~~€~€€€~~€~~~~~~~€~~~€~~€€~€~~€~€~€~€~~~~€}€~€€‚€~€~~~~~~~€}~€}€}€€~€~€€}~~~€~~€~}€€~€~~~~~~€~~~€}€~}~€~€~~~~€€~€~‚€~~~~~€~€~€~€~}~€~~€~~€€~~~~€~€~€~~€€~€~€€}€€~~€~€€~}~~€~€€€€€}~~~€}€€~€~€€~}€~‚€€~€~~€~€~}}€~~~€~~€€~}€~~}€~~€€~~€~€}€~€€€~€~~~~€€~€~€~€~€~€€€€~€~~€~€€~~€~~~€~€~€~~~~~€}€~€~€~~€~~€~~~~€~€~~€~~~€~€€€~€~~€~€~}~~~~€€€}~~~€€~€~~€~€~€~~~€~€€~€~~~€~€~~€~~~€~€€}€~€~~€€~~~~€~~€}€~€~~€~~€~€‚~€~~~~‚}~€~€€€~€~€}~~€}€~~€~€~€}~€}~€~€~€~~€~~~~€~~~€€€~€~~€~€~€~~~~€€}€~}€}€~~~~~€€~~€~~~€€~€€~€}€~~~€~€€~€€~€}€~}~~~€~€~€~~~€}~€€~€~~€~€~~~€~€~€~€~€~~€~€~€}€€~~~€~€€€~~~€€~~€}€~€~~~~|~€}€}€~~~}€~€~€~€~~~€~€}€~€~}~~~€€~€~€~~€~€~€€}€~€€~~€~~€~€€€~€~~€~}€~~€€€€~~€~~€~€~€~~€~€}€€~~€}€~~~~~€~€€~~~~€~~€‚~€€}~€~€~~~}€~€€~€~€~€~~€~€~€€~€}~}€~‚~€~€~}€~€€€‚~~~€€€€~€~~~€~~}€€€~~~€~€€€~}€€}‚€€€~~€~€~€~€~€~}€~~~€€~€~€~~€~€€~}}€~~~~~~€}€}~~‚€~€~€~€~€~€~~€~€~€~~€~~~~~€€}~}~~€~€€~€~~}~€€~€~~~~~€~€}~~€~€€€~€~€~€~€~~€~}€~~~~€€€}~~€€~~€€~~~~~€~€~€~~€~€‚}€~~€€~€~€€}€~~~‚~~~}€~~~~€~€~€€€~€~~~€€~~~~€}€~~€€}€€~~€}~~€€‚~€~~€~€~€€~€~~€~‚€}~~€~}~€€}‚€~€~}~€~~€€~€~}€~€€€‚~€~~€~€~~~~~€}€}€~€€}~~€~€}€}}€~~}€~€€€~€~€~€~€}€~€~‚€~€~~~}€~~~~~~€~€~€~€}€~~~~€~~€}€~~~€}€~}€~‚~~€}€~€~€~~~€~€~~~~€€~€~€~€~€€~}}€€~€~€~€~~€€~}€~~~€~€€€€~€~~~}€~€~~~€~~~€€€~€~~€€~~~}€}€€‚~~€~~€~€€€‚~}€~~~€~€~€€}€~€}€~€€~€}~€~€~~‚~~€~€~€~€~€~€~~€€~~~€~€~~€}€€€~€~~~€~~‚€€€~~}€~‚€~€}€~€}~}‚~€~~~€~€}€€~~}€~€~€~~~€~€€~€~~~€~~€~€~€~€~~~€~€~€~€~€~~~€}~€~~€~~~€€~~~~~€€€~€~~~€‚€~~€~€~~~~}~~~~~}€~~~€~€€€€~~~~€~€~~~€~‚€€~~~~€~€}~€€}~~~€~€~€€~€~~€~€~~~€€~€~~~€~€€~~~€~€€€€~€~~€}€€~~€€}‚‚~€~~~€~€€~~}~€}~€€~€~~~€~€€€~~~€~€€~€~~~€~€~~~‚}~€~~€€}€~~€~~€€~€~~~€€~€~~€~€€}€€~€~€~€€~€~~€~‚€~~~€}~€€~~€~€€~€~~€}~€€~€}€~~~€€€~€~~€~€€€~€~€~}€~~€~€~€€~}~~€~€€~€~€~}€€~~~~~€~€}€€~€~~~€€€€€~€~€~€€€~€~~~€~€€~~~~}€€€~€~€~€~}~~}€~€~€~~€~~€}€€~~€~‚€€~~€~~€~€~€~}€~€~€~~~€~€~~~~€~€€€€€~€~€}~€€~€~€~€~‚~~€€~€~~}€~€€€~~~€~€€~~~€~€~~~€~~~~€~€~€~~€€}~€~€~~€~€}€~}‚€~€~€~~~€}€€€}~~~€€€€~€~~€~€~~~€}€~€€~~~€€~€~€€~}€€~~~~€€~€~~€~~€€€€€}€}‚€€~~€}~€€~€~~~~~€~€~~}~€€~~~€~€€~€€‚~€~€~€€~€~€~€~~~€~€~}€~~€~~€~€€~€~~€€€~~~~€€€}~~€}€~€~~€~~€~€~€~€~}€}~}€~€€~~€~~~€~€€~~~€€€~~~~~€~€}€€~€€~€}~~€~€~€~~~€}€~€€}€€~€~~€€~€~~}€~€€}~}€€}€€}€}€}€~~~€~€~€‚~€~€~~€~~€~€~~~€~‚€~€~~€~€€~~~}~~€~€~~€~€~~~€€~~}~~~~€€~~~€~€~~}~€}€€~~€}€~~~€}€~€€~€}~~€}€~}~~~€~€€€~€~~~~€€~€~€~€}€}€~~~€‚~~~~€~€~~~€~€‚~€~~€~~€~~€~~~~€~~~~€~‚€€€~}€~€}€~€~~€€~€~€~~€€~~€~€~€~€~€~€}€~€}€~€€~€}~€~~€€}‚€~~~~~}~€€€~€}~€~€~€~~€~€~€~~~€}~€~~€~€}‚~~~~~€}~~€~~‚€~€€}€~€~€€~~€€€~€~~€~€€€~~~}}~€~€~~}~€~€€€~€}€~~€~€€~~~~~~‚~~€€‚~€~~€~€~€~€€}€~€}€€~~~€~‚€~~€~~}€~€€~€~~~€~€~€~€~~€~€€~€~~~€~€~~~~€~€~€~‚€€~~~€~~€~€~~~€€~~€~€~~~~€~}€}~~~~€€€€~€~~~€~~€}€~~~~~~€~~€~~~~~~~€}€~€~€~€~~~€~€~€~€~€€~}€~€~~~~€~€~€~€~~€~€~€~€~}~~€€~€}~€~€€~€~~€~~‚€€~}~~~~€€~€~~€~~€€~€~~€~€€~€~~€~€~€~€~€}~€~€€}~~~€}~€}€€}€€~€~}~€€€€€~€~€~€€€~€~~€~~€~~}€}€~~‚}}€~€€~}€~}€€~€}}€~~~~~€}€~€~€~}~~~}€~~€~~€~€~€~€~~€~~~€~€~€~~~~~~€~€}€~~}€~€€€€~€€~~€}€~~~€~€~€~~~€~€€€~€~~~~€~€€~€~€~€~~}€~€€~~€~~}~€}€~€}€€~€~}~€~€~€}~€€€}€}€~~‚~~~~~}€€~€€~~}€~€~€€€~€}~~€~€€~~~€~€‚~€~~~~€€~€~€~€€€~~€~~~~€€~~€~~€~€~}€~~€~~€~~€~€~€}€€~~€~€}~€€~€~~~€~~€€~€‚~€}€~€€‚~}€~~€~€~‚€€~~~}€~€~€~€~€€~€~~€}~€~€~~~~‚~€~€€€~€}€~~€~€~€~~~€~~€€~~~~~~€~€€~€~€~€~~€€~€~€~€~€~~€~~~€}~~~‚~€~€~€~€~€~~~~€}€€~€~~~~€~~‚€€~~€~€€€~€~~€~€€€~~€~€~~€€€}€}€~€}€~~~~€~€}}€~‚~~~}€€~€~}}~~€€~€~~€~€€}€}~€~€~~~~~€~€}€€~}€}~~~€}€~€~~~~~~€~€~€~€~~~‚~~€~€~€~~~€~€€€€€~~€~~€~€€€~€~‚~~~~~~€~€~€€~€~€}€~€~~~~~~€~€~~€~€~€~€€€~~€~~€~~~€~~‚€€~€~~}€}€~€~~€~€~€~~€~~€~€~€~€~€~~~~€~€}€~€~~}~€~€~€€€~~~€~~~}~€~€~~~€~€€€~€~€~~€€€~€~~€~€€€~€~€€~€~}}€~€€}€~€€~}€}€~€~€}~€€€~€~€~}€~€€~€~~~€~€€~€~}€~€~€€}€~€}€~~~~€€‚~€~~€~~~‚~}~~€€~€}€~€~~~€~~€~~~~~}}~~~~€~€~€~}€‚~~€~€€~€~}€~~~€~€€~€~~~~€~€}€~€~€‚~€~€~€}€}€~}€}€~~~€~€~€~€~€~~~~€~€~€~€€~€~€€}€~~~€~€€~~~~~~€~€‚~€}~€}€~€}€€~~€€~€~~~~€~€€~~€~~~€€~€~€~€}‚~~~~~€~~€‚~~€}€~~€~~€~~€~€~€~~~€~€~€€~€‚~€€~€~€~~~€}~‚€}€~€~~€~~€~€~~}~€~€~€~€‚€~€~€~~~€€~~~~€~~~€~}~€€~€~~}€~€€€€~€~€}~~€~€~€~~~~~~€~€€~€~}}€€€~€€~~~}€~€~€~~~€~€€~~~€~€€€}€}~€}€€~~~~€~~€€~~€~~}€€€~€~€~€€~~€~~€~€~~~€~€€}~€€€~€}~~€}€€~~€~€}€~}~~€€~€~~€~€~€~€}~}€~~}}~€~~€~€~~€~€€~~€}€}~~‚€€}~€~€~€€€~€~~~~~~€}~‚€~€~~~€~€~€~~~~~~~~€~€€~~€~~€~~€}~€~~€€~~€~}€~€~€}€~€~€~€~~€~~~}~~€~€~€~€~~€~~~€}€~€~€~~€~€€€€~€~~€~€~€~}€~€€~€€~~~~€€}~€}€~~€~€€€~€~€~€€}€~€~~~€~€}~€~€~€~~€~~‚‚~~~€‚~€~€~~~~€~€~€~~~€~€~€€€~}€}~€~}~~~~~€}€~€~}€~€~€~€~€~€~~~~€~€€€€~€~€~~‚€}€}€~~}}~€€~~€~~~‚~€~‚~€€~~}~€~~€~€€€}€~}€~€~~~€~€~€€}€~€€~~~}}~€€~~~~~~€€~€~€~€€~€~€~€~€~~~€€~€~€~€~€~€~€}€~~~€€~~~~€~}€~€€~}~~~~€~€}~~~€}€~€€~~~€}€~~~€~€€}€}€€~€}~~~~~€~€€~€~~}~€€~€~~€}€€~€}€~‚~~‚~~€€~€~~~€~€~~~€€€€€~€€~~€€}€~~€}€~~~}€€€~~~~~~~€~€}€~€~~€~€~~~€~€€‚~€~€€}€~€€~€€}~€~}~~€€~€~~~€~€~€€€~~~€~€~€~~~~€€~€~~~~€€‚~€~€~€~€~€~~€~~~~~€~~~€~€}~‚€~€~~~€}~€€~€~~~€~€~€~€~~€~~~€~€~~‚~‚€}€~€~~€~}€~€~~}€~€€€~~€~€€~€~~€~~€€}€~€~€~€~~~€~€€‚~€~~~~€€}€~~~€~~~}~}~€~~€€€€~}~~€~€€~€~€~€€‚~€~~~~€~€~€}~€~€~~~€~€€~~€}~}€~~€~€~~~€€~€~~€€~€~€}€€~~~€~~€}€~€€€‚€€}€~}~€~€€~~~€~~~}~~€€€~~€~~~€€€~€}€~~€~€}€~€}~~€~€€}€~€€~~~~~€~€}€~}~~~€€}~~~~~€~~~~~€€}€€~€~€}€~~€€€€~~€~~~€€~€~~€}€~}€~~€~€}€~~€€~€~€~€~€€€~~~~€~~~}€~~~€€~€}€~€~€~€~~}€€~€~€~}€~~€~€~}~€~~~~~€~€~€~~€~€€~}~~~€}€~€€~€~€~€~~~}€~~€€~€~€~€~€€}‚~}€~~~€}€~€~€~~€~~~€€~€~~~€}€~€~€}}~€€~€~€~€€}€~~~~‚~€€€~~~~€~€~~€~~€~~€€€~~€~~~€~€€~€}~~~€~‚~€~~~~€~€€~}~€~€~~~~‚~€€~€}~€}€~}~€€~€~€~€~€~€~~‚€~€~‚€~~€€~€~~€~€~€~€€~~€~}~~~~€}€‚~€~‚~€~~~€~€‚~€~€~€}‚€€~€~€~~~~~‚~€~€~€~~‚~€~~€~~€€~}~€~€~€~~~€~€€~~€~~€~€‚~}€~~€~€}€€~€€~€€}~}~~€~~€€€€‚~€~~€~~€}€~~€~€~€~~~€€}~~€~~€€~~~~€~€~~~€~€~€~~€~‚~€~‚€}€}€~~~~~€~~€~~~~€~€~€~€€€€~~€~~~€}€~€€~€~~€~€~€~€~€€}~~~~~~€~€~€~~~€}~}€~‚}~€€~€~~€~€€~~€~€€~~~~‚€€€~~~‚~~€~~€~~~~~~~€€}~€~€~~€‚}€~}}€~~~~~~€€~€}~}€€~~~~€€}€~~€~€€}~~€~€~~€~€€~€}€~~~~~€~€}~€~~€~€€€€~€~€~~€~€€~€~~~€~€~€~~}~}€~€}€~€~€€~~‚}~~~€~€~~~€}€~~~€~€€€}}€~€~~€€~~~€~€‚~€}}€€~€~€~~}€}€~€~€~~~€~€€~€~~€~€€~~~~~€~€~€~€~€€€€~€~~~€}€€€~~€~~€‚~~€~€~}~~€}€~€}€€~}€€~€~€~‚~~€~€~}€~€~~~~€~~€€€~~~}€€~€~~€~€~€‚~~€~€}€~€‚~€~~~€~€€~€~~€~€€€€~~~€€~~~~€}~€€€~€~~~~€€}€}€€~€}€~€€~€~~€€€~€~~~€~€~~€~}~~€~~~€~€€€~~}~€€€€~~~€~€€~~€~€~€€~~~~}€€}€~€~~€~€€~€€~€€}~€~}€~~€~~€€~~~€~€~€}~}€~€}€~€€~~€~~‚~~€~€€~€~~~~€~€€~~~~~€~€~€~€~€~~~€~€~€~~~~~€~~~€€€~}€~~~€~€€~}}€~€€~€~~~~€~€€~~€~€~~~~~€~€}€€}€~‚~~~€~€~€~~~€~~€€€~€~~}€€€~€~€~€€~‚€~€~~~~~€}€~}~~€~~€€~~€~~€~€~€~~~€~‚€€~~~€~€€~€~~~~~€€~€~~€~€€~€~€~~}€~~€~€‚~€}€~~~€~~~~}€}€~€€€~€~~~€~€~‚€~€~€~€~€€~€~€€~€€}€~~~€~€€~~~~~‚€‚~€~€~}€€~~‚~~€€~€~€~~~€‚}~€~}€~€€~~~}€~‚€~€~~~~€~~~}~~~€}€~}€~~€€€~}€~€~€€~€~€}€€€~~~€~€~€~~~€~€€}€~€~€€~~~~~~€~~€~~~~~€~~€}€~~~~€}~~€~€€€~€€~€€~€~€~~€~~€}~€~~~~€~€~€~€€~~}‚~}}€~~€€~~~€~~€€~~~€~€€€~€}}€€€€~}~~€~€€~~~€~€€~€~€}€~~€~~~€~}€~~€€€~}~~€~€€~~€~€}€€~€}€€~‚€~~~~€}€}€~~€}€~€~~~€~€~€~}€~~~~~€€}~€}~~~€~€~~~}€}€~€~~~€~~€€}€~€}~€~€€~€€~€}~€~~€}~~€~€~~€~~€~€€~}~~}€~€~~€~~€~€~~~€~€}€~}€~€~~€}~€}€~€~}€~~~€~€€~€~‚~~~‚€~~€~€}€~€~€~~}~€~€~€}€~‚€€‚~€€~€~€}€~€~€}~~~€~€€€~€}~€~€~}€~~~€~‚€€~€~~~~‚~~~‚}~€€~€}~€€€~~~€€€}€€}€~€~€‚~€}~€~€~€~~~€~€~€€~€}~~€~€~€~€~~€~~€}€€€~~~~~€~€~€~~~}~~€~€~€~€~€€~€~€~€}~~~€~~€~~}€~€~€~€€€€}€~~~€~~}€~~€~€€~~€}€€~~~~}€~€€€€~~€~~~€~€}€}€~~~~€~~€~€€}~}€€~€~€~~~€€€‚€~€}}~~~‚€~~~~~}€~~~€}€}€}€~}~~€~€~€€~€~€~~~~~€€}€€~~~~~€~€~€~€€~~~~~€€}€~€~~~~~€~~€~~€~€€~€~€~€~€€~€~~}€~‚~€~~€}~€}€}€€~€€~€~~}~€~€~~~~~€~~~}€~€€~~€~€~€~~€}€}€€~€€~€~~~€€€€~~~€~€€~~€~€€~~~~€~€€~€~~‚~~~~~€~€}~€~€}€~~€~€€~~~}€~€~~€~€€~€€~€~€€}~~~€}~~€~€€~€}~~€}~}€~~€~€€}~€}~€€~~€€~€~~€}€~~~~}€€~€~~€}~€~€~€}€~€}~€~€~€€~€€€~€~~~€~€€~€~~€€~~~}€~~~€€€~€~€~€~€€}€€~€€}€~~‚~€}€€~~~}~€~€€€€~€~~€}€~€€~}€~~}~€€}€~~}€~~€~~~€~‚€~€}~~€}€€~€~€€~~€}‚~~~~€~€}~€€€€~€~€~~}€~€~~€~€~€€~~~~}€~€€~~€~~€~€€~€~~€~~€~€~€}~€~€~€€€~~€~€~€~~€~~€~€~€}€€~€~‚€‚~€~€~€~€€€~~€~~€~~€€€~~€~~~€~€~€€~‚~~€€}€~€}€~~€€€€~€~~€~~}€~~€~€~~€~€~~€~~€~‚€€}€~~~€~€€~€}€~€}‚€€~€~€~€~€}€~~~}~€‚~€~~~€~~~~~€€~~€}€~~~‚€€€€~~~€~€€€~€~}€~€€~€~~~€€}€~€€€}€}€}‚~~€~€€~€€}~‚€~~€~€~€~~~~€€}€~€~€~~~~~€€~~~€~€€~€€€~~€~~~~€€~€~~€~‚€‚~~€~€~€~€~€}€~€~€~€€~~€~~}€~€}~€~€~€€~€€~€}€~~~~~€~~€€‚~~~~€}€}~~~€~€€}€~}€~€€~~~~~€~€€~}~}}~€~€€~€~~~~€€€~}€~~~€€}€~~€~€~€}€~€}€~~~~€~€€€~~‚~€~~€~€€}€~€}‚€~~€~€~~~€}~~~€~~}~€€~~~€~~€€~~~~~€€€€~€~~~€€~€~~~~€}€~€~€€~‚€~€~~~~€~~€~~€~~~€~~€~~€~€€~€~~~€~‚€€}~~€~€}~~~€~€€~€}~€€€~~~~€€€~€~~~€€€~€~~~~}€~~€€~€~~~~€~€~~€}€€~€}~€~€€€~€~~€}€}€~~€~€~€~~€~€€~€}~~€€€~€~~~~~~~~~€€~€~€~‚€€~€~€}€~‚€‚}€~€}€~~€~~€~€€~~~~€~~€€}~€~€€~€~~‚~€~€}€}€€~€}€~~}€~}€~€€~€~~~€~€~€~€~€~€~€~€€~€~~€~~€}€~‚~~€~€~€~~~~~€~€~~~~€~€~€‚~€~}€~}~€~€€€~~€~~~€~€~~~€}€~€}€€~€~~~€~€~€€~€~‚~~~~~~€~€‚}€~€~€~~~~€}€}€~€~~€~~€~~~}€‚}€€}€€~}‚~~~~}€~~€€~€~~€}€€~~~€‚€~~}€~€€€~~€}~~€~€€~€~~€~€~~~~€~€~€}€~€~€~€€~~€~~~€~€€~€~~~~€~€€~}~€~€€~€~~~€~€€€€‚}€€}€~~€~~~€€€€~€~€~~€~€€}€~€}€~€~~€~~~}€~~~~~€~~‚€‚~~€~~€€}~~€~~€€€~€~~~€~€~€}~€}€~€~~~€~~~~~€€~€~~€}~€€~~€~~~€~€€~€~~~~€€~€~~‚~~~~€}€~€~€~~€~€~~€~€~€€€€~}~~~€~}€~~~€~~~€~€€~€}~€~~~€~~~~‚€€~~€~~€~}~~€}€€~~~~~€€~~~~~€€~€€}€~€~€€~€‚~€€~€€}€~~€~€€~€~}‚€~}€}€~€~€}~€€€~€~€~~€~€~€~~~€~€~€~€~€~€~‚}~~€~~}~~€~€~€€‚~€~~~€~€€~€~~€}€~€€~€}€€~~€‚~~€~€€€€~€~~}€€~€€~€€~€~€~€‚~~~}€}~~€~~~€~€~~}}€~€€~}€~~~€€‚~€~€‚~€~~€}€€~€‚}~€}€€~€~~€~€~€~€}‚€€}~€€~~€~€~€}€€€~€~~€~~~}~~~€€~€~€~~~€}€~€~~~‚~€~€}}€~€}€}~~€€€~€~~}~~€~€€~€~€€}€~~}€~€~€~€}~~}~€~€~~~€~~€~~~~€€€~€~~~~€~€~€€~}€~‚€~~~~~€~€}€~}~~€}€}€~~~€~}€€€~}€~~€~€~€~~€~‚~~~~€~€€}€~~~€~€~€}€~~}~€~€}€~~€~€~~~~€~€~€~~€~~~€~€~~~~}‚~€~~€}€~€}~€€~€€~€€}€~€~~~‚‚}€~~~~€~€€~€~}~~€~~‚€~€~~~€~~~€~€~€~~~€€~~€~~~€‚€€€~~~€~€~~€~~}~~€~~‚€€}‚~~~}€€}€~~~~€}~€~~€~~€€}~€~~~‚~€~€~€}€~~}€~€€~€~€~~€~~~€}€~}€€}‚€~~€~€~€~€€}€~~‚€~~~~€€€‚~€~}~€€~€~~‚}}€€~€€~‚€€~€~€~~}€~€~€}€~€~€~€~~€€~€~~€~€~~~~€~‚~€€€~~~€~~€€~~~~‚~€~€~€~~~€~€~€~~€~€~~~~}€~€~~~€~~~}~‚€~€~~~}€}‚}}€~€€~€~€}€~~€}€~~€~€~~€~€~€~~}~€€~€}~€~~€~~€~€~€~}€€~€€~~€}~~€~~€~~‚~~~~~€}€€~€}€~€~€~€€}€~~~€€€€~€~~€~€~€~€~€~~€~~€~€~€~€~€}€€€~€~~€}‚€€€~€~~€~~€~€~}€€€~€~€~€~‚~~~€~€}~~€~}~€€~€~€~~~€~€€~~‚~~}~€~€~€~~€~}€~~€}€~€~€~}€€~€~~€~‚€€~~}~~~~~€~€€~€€}€~~~€~~€€~‚€€€~~€~~~€~}~~€~~€~€~~~~€~€€~€~€~€~~~~~~€~€~€€~€~€~~~€~‚€€~€~€~~€~~~€~}~€~~€€~~€}~‚}€~~~~€~~€€€~€~}€~~€~~~~~€~~€~~~~€€~€€~€}€€}€}~~~€~€€€~€~~€~€€~€~€~€~~~~€€~€~~~€}~€‚}~€~€~~~€~~~€~€€€~~~~€~~€€~~~€€~€~~€~€€~€~~~€~€~€~~€€~~€~€€~€~~€~€~€~€€~€~€€~~~€€€€€}€~~~~€~€€}€€‚€~€~~~€~~€€~€~~€~}~€€€}}~€~€~€~€~€~~~€~€~€}€~‚€~~€}€~€~€}~~€€~~€~~~€€}€~€~~€~€~€€~}€~€~€~€~~~~€~~€~€~€~~€}€~~€€~~€~~€~~€€€~}~€~€~€€~}€~}€€~€~}~~€~~~~€~€~€€~€~~~}~€~€~€€€~~€}}€}€€~€~~~~~€~€~€~~}~€€‚}~~~€~~~€~€~~€}~~€~€€}€€~€~~€~€}€~€}€~€‚~€~€}€€~€~~~€€€}~}‚€~~€~~€}€~~€€~~~~~€‚€€€€~~€}€~€}€€~€~}~~~€~€~~~€~€€~€€}}€~~‚~~~~~€~‚~~}€€~€€~€~€~€~~€~~~~~~~€€~€~~}€~€€~€~~€~€~~‚~~€‚~€~~}€€~~~~€€~€~€~€~€~~~}€}€€}€~}~€~€}€~~€~~€~€€~~€~~€~€€~€~~€~~~~~~~€~€~~~€}€€~€}€~~€~€€~~}~€~€~€€~€~~~~€~€~~~~~€€~‚€~~~|€€~~~‚}€~€~€~~~~~€~~€~~~~€~~€~€~€~~€~€~}€~~€~€~€~€~~€~€€~€€}€€~~€~€~~~~€~€€€~‚~€€}€~~~€~€~~~€~€~€~€~€~~~~~€~€~€€~€~~€}~€€€~€~~~€~€~~~~€€}€~~~~€~€€~~~}€~€€~€~€~€€‚}€~~~~€€€€}€~~}€~€€€~€~~€~€~~~~~}~}€~€€€€€~~~~€~€€~€~~€‚€~~€€}€}€€~~}€~‚€€~€~~€}€€€~~~~~€~}€~€~€}~€~~~~€€~€~~~~€‚~€}€~~~~}~€~€}~€~}~~€}€~€~~~~~€~~€~€~~€~€‚~}~€~€€€~~~}€~€€€~~€~~€~€~~~~‚€~€~~~~€~~‚~~€‚~~€}}}€~~€~€€~~€}~}€~€€~€~~~‚€~€~~€}€}€€~€~~€~~~€~€}~€~€~€}€~€}}~€~~€€€~}€~~}€~€€€~~~€~€~~€}€~‚~~~€~~€~€~€}€~}€~€~€~~€€€~€~~€~~~€}~€}€~~€~~€€€~€~~€~€~€~~~€~€€€~€}}€~~~~€~€}€~~}‚€~~€~~€€€~}~~€~‚€€~~~€~~~€~~€}€~€}€~€}~~€€~€~~€~~~€€}€}~~€‚~~~€~€~€~‚~~~€}€~€~~~€~€~€~~}~€~~€€€~~€~~€€}€~~~}‚~~€~€}€~‚€€~€~~~€~~€€~}€~~~€~€}€~€~~~€~€}€~€~~~€}€~€~€€~€~~~€~€~€~€~~€~€~~~€~€~~€€‚~€~~€~~~~€~€‚€~~~€~€~~~~€€~€€~€~~~~~€~€~€~€~}€~~~€~~€€‚€~~€~€~~~~~€€~€~~€~~€€€~€~~~€~~~~€~€~€~€€~€~‚~~~€~€€~€€~}~€~€~€€~€~€}~€€~€}€~~~~€€}€€~€}€~~€~~€~€~~~€~€}€€~€~~€~~€~~~~~~€~€~}€~€}€€~~~~€€~~€~~~~~€~€€€~~~~€€€}~€~~~€}~~€~€~~€~€€~~€~~€€~~€~}€~~~€€~€~€€}~~}€~€€~}~~~~~€~€€~€~~~~~€}€~€}~~~‚€~€~€~€~~~€~€}€~‚}~€~~€€~€~}€~€€€~~~€}~€~~‚~}~~€~€€~~€~~€~~€€~€~~€~€~€~€~€€~€}~}€~€}~~€~€~€~}€€~~€~~~€€~~€~~€€}~€}€~€}~~~€~€~€~~~~~~~~}€€€€‚~~€~€€~€~~€~~~~}€~€~~~€~~€€~€~~~€~€€~€~~€~‚€~€}~€}~€~€}€€~~€~€‚~~€~€~~€~€~€€€}€~€€}€}€~~~€~~€~~€}€€~~‚~€~€}€}~€~}€}~€~€}€€}€~€~€~~€~~~€~€€€€}~~~~€~~~€€~€~€~€}€€€€~~~}€€~~~‚~~~€~€~€~~~}€~€‚~}~€~~€~~~€~€~~~~€~€~€€€~€~~€€~~~~~€}€~€~€€~~€~‚~~€~€~~~€~€~€~~~€}€~~‚€~~~€~~€~}€~~~~~€€~€~~~€€~‚~~~~€€~€~~€~~}€~}~€~€~~~€~€€~€~~~€~~€~€~~€~€€€~~€~€€€~~~~€~€}€€~€}€€~€~€~~~€~€€~~~~~}~}}€~~~~~€}€}€}~~€~‚€€€€~€~~€~€€~€~~~~€€€~~€~~€}€~€~€~€~~~~~€€~€~~~~‚€€€~€}~€~~€€}€~}~~~~}~€€~~€~€€~€~~€}€~€€~€~~€~€~~}€€~€~~€€~€~€}€~}~}~~€€€~€~~~€}€~~€€~~~~~€~~}€~€€~€~€~€~€~€}€~€~€~€~~~€}€~€~€€~‚~~}€~€€€~€~~€}~~~€~€~~€€~€~€~~€}€~~}~~€~~€~€€€~€}~€~€€~€}~‚}~€~€~~~~‚~~~~€~~}€~‚€€€~~~~~€~€}~~€~~€€~€}~‚€~~~~€~€€~€~}€~~€~€~€}€~€€~€~~~}~€~€~~~€€~}~~~€€~}~~€~€€~€~€~~~€}€€€~€~€~€€~}€~€~}~~~€~€~€~~~€}€~€}‚€~~~~€~€~~~€~€€}}€}€~€~~~~~€}}€€}~€}€~}€}‚~~€}~€€€~~€~~~€€€~~~~€~€€€€~~~€~€€~€~€~~€~€€~~€~}€}€~~€€€~€~}€~€€~~€~~€~€€€}€~~€~~€€€~}€~€~~~~~€~€~€€~€~}~~~~€~€~~€}~€~~€~~€~~~€}€€~~~~€~€~~€€~€~~~€~~€~€~~€~~€‚~~€~€€~€~~~€~€~~€€~~}€~€}€~€~~}~~€~€€~€~€~~~€~€‚~€~~€~€€€~€€~€~}~‚€~€}~~€~€~€€€~€~€~~€€€~€~~~~€€~€~~€}€~€€~~~€~€€€~~~€~‚€~~€~~~€€€~€~€~€~~€~€~€~~€~€€€€~€}€~€~€~€~~€~€~€~~~€~~€~~~€€~€~~~~€€€}€~~€~€~~~€€€~}~€~}~€€}€~€~€~€~~€~€~€~‚€~~€~€~€€}€€~~€~€~€€~€~€~~}€~}€~€€}€~€~‚€~~‚~~~€}€€~€~~~€€~~€~~~€~€€~€~~~€~€}€~€~~€~€}~€€~€~€~~€~€}€~‚€~~}~~€~~€~€}~~€~€€€‚‚~€~€~~€~€~€€~€~€~}€~‚~€€€~€~€~~~€}€~€~~~€~€€€~€~~~€~€€‚~€~~~~€€€~~}€€~~~‚~~~€€~€€~€‚~€}~€€€~€~€~€}€€~~€~~€}€€~~~€~€€€~~~~~€€€€}~~}€~€~€~~}€~€€~}~€~€€€~~~~€~€~€~€~~€~~~‚}~~}€}€~€~~€~€~€€~~}~~~€€~}€~~€~~€}~}€~€}~~€~€~~€~~€~€€‚~€~~€~€~~~~~~€~€€}€}€~~~€~€}€}€~€~}€~~~€~€€}€€~~~€}€~‚€~~‚~~~~€~€~~€€€€€~~~€~~~~}~€~€~€~~~~€€~}~~}~~€~€‚~€~}~~€€€~€~€~~~~~€~€~~~~~€€}€~€~‚€€~€~~€~€~€~~~€~€~~}}~€~€~€}~~€~~€~€€€~~~€~€~~€~~€}€}€€~€~~€}~~€~€€}€~}€~€~€~~~~€~€~€€€~€~€~€~~€~€~€~€€€~€}~~€~~}€~}€~€~~~~€}€~‚}€~€~~~€~€€~€€~~€~~€~€}€€~€~~€~~€~€~€~~€~~~€~€~€€€~€~~~~~€}€}~~~~~€~€€~~€~€~€~~€~~~~~€~€€}€~€€~€~~}€€~€~€~~€~€€}€}€~}~€~€~€€~€~~€~€€~~~~€€~€}}€€}~€~~~€~€~€}€~€€€~€}~~€~~€€€}€~~€~€~€}‚~€~€€‚~€~~~€~€~€~‚}~€~€~€€}€~€~‚€~€€~~€}€~}~€~€~~€~€~€}€}€~€~~~€~€€~~~€~€€€€}€~~~~~€~€}€€~~€~~~~‚~~~€~€~}~€~~€}€€€~~~~~~~‚€~~~€~~€~~€~€€~~€~€~}€}~€€€~~€~€~}~~~€€~~€~€~~€~€}€}€€~€~€~€€€~€}€~€~~~€~€}€~€}€~~~€~~}€~~€}}~€~~~~€~€~~~€~€€~€~~€~€€‚}€€‚}€€~€€}~~€€~€€~}€~~~€~~€~€~~€€~€€~}€}~€}~~€€~~€~~~~~€€€€€}~~~€~€~~€~€}€€~€~€~€€~~€€~~~~€~}~~~€~~~€€€~~}~€}€~~€~~€}~€}€}€~~~‚~€~}‚€~}~€~€€€€~€~€~~€€}€€~€€~~€~~€~~~€}€~~~€€~€~~~€~~€~~~~~}~€~€~€~€~~€~€}€}€~~€~€€~€~~~€~€€~€€~€€~€€~€~~~€~~€€~~€~~~€~~€€€€~€~€~€}€~€€~€~~€}~}~€€~€~€~€€~€~~€~€~~~~~~€}€~€~~~€€~€€}€~€~~}~€}€€€€€~~~~~~€€~€~~‚~€~€~€}€€~€~€~~~~€~€~€~~‚~}€~€}€~€}~~€~~€€€~€~~€€€~€~€~€~€€€€~€}~€~€~€~~€€~}€~~~€~€~~€~~~€€~~~€~~€~~€}€€~€~€~~€~€€€~€}€€}€~~‚~~€~€~€€€}~€~€~~€€€~€~€€}€~}€€~€~€~~~~€~€€~€~~€~€€~€~€~€~~~~€€~€~€€~€€~€~~~€~€~~€~€~~€~~~~€~~€€€€~}~~~€€~€~€~~€~~€~€~€~€€~€~‚~~€€}}€€~~€~€€~€~€~~~€~€~€~~~€~~~~~~€}€~€€€}€~~€€~€~€~€~~€~€~€}~€~~~~€~€~€€~€~~~€~€~€~~~€~~}~~€~€€€~~~€~~€€~~€~€~~€€~}€~~€~‚€€€~~€~€~€~€€~€~€€}€~€}~~~~€~€€~€~€~€~€€~€~~~€€~~~€€~‚~~‚~€‚~~€~€~€~~€€€€~€~€~~}€~€~~€~~€~€~€~~€~€€~}~~€~€€~€€~~€€~€~~~€~€€€€~}€~~€~€€€€~€~~~~€~€~~€~~~€~~€€~~~€}~€€~€~}~€€€€~€}~~~~€}~~€~€€~}~~€~€~~€~~€}€~~€~€~~}€€~~€~~€~~~~~€€~€~~€~€€~~€~€~€~€€~€€~€€~€~€€~€~~€€~~€~~€~€€€~~~~€~€~~}€~}€€~€~€~€€~€~~€€€~€}~€~€~€~~‚}~~~€~~~€~€€~€~~€~€€~€~€~€~€}€}€~~€~~~€€~€~~€}€~€€~€~~~€~€€€~}€~€€€€~€~€~~€~~~€~€€€€~€~~}€€€€~€~~~~€~€~~€}€~~~€~€~€~~€€}€€~€~~~€~€~€€€€~€}€~€~~~€~€}€}~~€~€~€~€~€}~€€€‚~~~~~€€€~~€~~~€~€~€~~~€~€~~€~~€~€~~~€~~~€~€~€~€€~€€~€}}~~€~€~~~€~~~~~€~€~€~€~€}€€~~€~~~~~€}€~~‚€~€~€~~€~€~€~~~€~€~~~€}€~€~€~€~~€~€~€€~~€~~~~~€~€€~€}€~‚~€~€~€€~}~}~~€~€~€€~~~~~€~}~~~~€~~€~€€~€€~€}€~€~€~€€€~€}~~~~€}€~€~~€}~€~€€€€~€~€~€€~€~€~~€~~~~~~~~~~}€~€}€~€€~€}€€~€€}~€~~~~€€~€~€~€~~~~~€~€€€~€~€~~}€~€~€~€€}€~~~€€~€~~~€~€€€~~~~~€€~}€~~}€~€€~€}~}€~€€€~~~~~~~€€~€~~€}~€€~€~€~~€€€~€~€}€~€~€~~~~€~~~€~€}~€}€~€~€}~€}€~€~€~~~€~€€~€~~€~€€€€}€~~€}€€~€~~~€~€€~€~€€~€€~€~~~€}€€~~€~€~€~~~~~€€€‚~€~}‚~~€€~€~~~~€}€~€~€~~€~€€~}€~€}€€~€}€€~‚€€€€~~€}€~€~~~€~‚€€€}~}€~€€€~~€~~€€~~€~~~€~€~€~€~~€}€~€~€~~‚~~€}€€€~€~~~€~€€‚~~~€~€€€€~€~~€€€}~~€€€}€}€~€}€~€~~~~€}€~€}€~~~€~€~€~€~~€~€€€~€}~~~€~€~€~€~~~~€~€€~€~~~€~‚€€~€~~~€€€~~~€~€€~~€~€€~€~~~~€~~~€€~~€~~~€~€}~€~€€~€~~~~€€€~~~~€~~€€~€}€€}€}~~}~€~€~~~~€€~€~~}€~~~~€~€~~~€€~~~€~€~€€~€~~~~~€}€~~€~€~~~~€}€€}€~~~~~€~€€~€~~~€}}€€€~€~€~€}€~~€}~~€}~€~~~€~~€€~~~€~€~€~~€~€~~€~~~€~€}€~€~~~€~€}€~€~~‚~}~€~~~~~~€}}~€€}€}~€~€€~~~~~€€~€}~~‚~~~€€~€}€€~€}~~~~~€~}€~€~€~~~~€}€€}€€~€}€~~~€}€€}~~~}€€~€~€}€~€€~~‚€~~€~€~€}€~~~~€~}~€~~€‚~€~€~~~€€€~}€~}~€€€}€~€}€€~€~~}€€~~~~€~€~~~~€}€~~€}€~~~€€~€~€~~~~~~€~€~€€~‚€~~€~€}€€}€~~~€~€€‚~€~~€~~~~€~€~€}€~€}€~~~~€~€~~~€~~‚~~~~€}€~~€~‚~€~€€~€~~~€€}€~€~~€}€~}€~€€€~€~~€~€~€}€~€}~~€~~}€€}€~~~~€~€~€€~€}€~€€€~€~~~€~€€~€~~€~€€}€€~€~€~€~€~~~~€~€}~€~€~€€€~~€}~€€€~€~~~€~~€€~~~~€~€~}€~€€€~€}~~€€~€~~~€~€€‚~€~~€~€~€~~~€~~€‚~€~~€~€‚}€€~€~€€€€~€~~}€€€~€~~€~€~€~€€~~}€}~€~€~€€~}€~~~~€~€~€~€~~‚}~€€€€~€~}€€€~€~~€~€€€}~€~~€~‚€€~~~~~€~€€~€}~€~€€~}~~€~€~€~€}~€~~~~€~€‚~~€~€~}€~~~€~€~~~€~€€€~€}~€~~€~~~€~}~~€€~~€~€~~~~€~€~~~€€€€~~~€~€€€}~€}€~€~~}€~~€~~~€~€~€€~~~~~~~€~€~€€}€~€}€€€~€~€~~~~}€}~€~€~€€~€€~€~~~~}€~€~~~~€~~~~}€€€~~~~€€€~€~~€~~‚€€}€~~~€€~~€~€}€}€~€~€~~€~€~€~€~~~~€~€€}€~€}~~€~€€~€~€}€€€~€}~€}~~~€~€€€~€~~~}€~€}€€~€‚~€~€~~€€€~€}~~€~‚~~€~€€~~€}€~~~€}€~€~€€~~~~‚€~~€~~€€‚~€~€~€€~€~~~~}€€}€~€~€~~€~€€~}~~~€~€~€~~€~~€~~~€€~~€~€~}€~€~€~~}~~}~~€}~~~€~€~€€~~€€}€~~€~~~~€}€€~€~€}~~~€~€€~~~~~€}€~~€€~€~€~€~~€}€~€~~~}€~€~~~~~~€‚}€~€€~€€~€~}}€}€~€}~€~€~~€~€€~~€€}}~€~€~€~~€~€~€~€~~~~€€~€€~€~~€~€~€‚~~€~€€~€~~~~~~€€~~~~€}€~‚€€~€~~~€~€}€}€€~€~~~~€~~€€~€}~~~€~€~}€~~€~~~}~€€~~€~€~~€}~€€~€~~€~~€~‚€~~€€~}~~€}€€~~~€‚~€€~€‚~~~~}~€€~€~~€~~€~€~€~€€~~~€~€€~}€~~€€€~~€}€~€€~€~~‚~~€~€~€}€~€~‚€~~€~€€}€~~€€~€~€~€€~~~€}€€}€~€~~€}€~€~~~~€~€~€€~‚€~~€€~}€}€~~€€~~~~~~€€~€~~~€~€~~€€~~€~€€~~~~€‚~€~€~€€~€€~€~€~~~~~~‚~€~€~€~‚}~€€€~€~€~€}€€}~€~€~€~~~€~€~}~~~~€}€~€~~~~€~€€~~€~~~€‚~€~€~€~~~€}€€}€~€~}‚~~~€~€~~~€~~€€~€~~~~€~}€€~~€~~~}}€‚~~€}~~€€~€€~~~€~~€€~~~€€~~€~~~€€~€~~€~€€~}€~~€~~€}€€~€~€€~€~€~~~~}~€‚}€~€~~~}€~€€~~~~€~€€€~~~~€~€~€~€€}€~~~€~€~€€}~~€}~€€~€€~~€€‚~€~~~€‚~~€~€~€~~~~~€~€}~~€~~€~~€~}€}€€~€~~~~~€€€~~}~€€€}€~€~€~€}~€~~~~~€~€~€€~~€}~~€€€€~~~€~€€~€~~~€~€€€~€~~€~€~€~~~~€~€€}€~~~€~~€€€€}€~~~€€~€}€~€~}~~~~€~~}~€€‚~€~€~€~€~€~€~€€€~€~~~€~‚€€~€~~~€}€€€~~~~~€€€€~€~€~~€}~~€~€}€~€~€~€~~~~€~€€~€~~€~~€}~€€‚~€}~~€~€‚~€~€~€~€~}€~~~~€~€€}€}€~~€~€}~€€~~~~~€}€€€€~€~~~~~€~~€}€~€~~€~€€€€~€~€~€~€€~~€~€~~~~‚~€~€€~€€~‚€€~~€}€~€~€~~€~€€€€~~€~~€}~€€€€~€~€~~~€~~€~~~}€~~~€~€~€€~€~~‚€€€~€€}€~€‚~~€~~~~~~€€‚}~€~€~€~€~€€~‚€~~}~€}€€~€~~~€}€~€€~€~€~~€~€~€}~~~€~€~€~~~€}€}€}€~€€‚~€~~€~~€~~~~}€~€~~~€€~€~~€€€~~}€~€€}~€~€~~~~‚‚~€~€‚}€}€~~~€~~€€~}~~€~€€€‚~€~€~€}~~€€~~~~€}}€~€}€~€~‚€~~€~~€€}€~€~~€~€~€}~}~~€~€€€~~€~~€~€~€}€~~~€~~~€}€~€‚~~€~~~€~~€~€€~‚€~~~€~~~€€€€€~€~~}~~€~€~€€~€~€~~€€~~~€~€~€€€~€}~€}€~~~~~}€~~~~€‚}€}€€~€}~~€}€€~~€}~~€~€~~~~€}€~€}€€~€€}€}~~~~€~€}~€€~€~€~~€€‚~~€~€}€€~€}€€}~~}~~~€~€~~~€~€€€€~€~€~€~€€~€~~€~~€~~€~€€~€~~~~€~€~~~€}~‚~€}€~€~€€€~}~€~}€€~€€}€~€€€~€}~}€}€~€~~~~‚~€~~€€€€€~~€~~€~€}€~~}‚}€}~}€~€~€~€~€~€~~€~~€}~€~~€~€€~€}€~€€~€~~€~€~€~~€~€€~~~€~€€~}~€~€~}€~~€~€~€}€~~~~~~€~~~€€€~~~€~‚€~~~~~}€~€~€€~€~~~€~~~~~€€~€~~~€~€€~€~~~~€~€€~€~€~€~~~~€€~€~€€~€~~~‚~€~~}€~€€€~~€~€€€~~~~€~€~}~€~~€~€€~€€~~~~€~~€€~€~€~€~€€€~~~€~€~€~~}€~~~~€€~€}€~}~€‚}€~€~€}‚~~~~~~~€}~€€~~~~€€~~€~}~€€~€}‚€~~~~~€~~~€~~€€~€€~~~~~~~€‚~€}~~}~€~~~€~~€~~€}€~‚€~~~€€€~~€~~~~€‚€€~~~}~~‚~€‚~~€~}€€}€~~~€}~€~€€€~€~~~€~~€~€}~~~€~€~~~~‚€~€~~€‚~~~~€~€€~€~€}€~~~€}€€~€‚~€~~€~€~€‚~~€~~}~€~€~€~€}€~~€~~‚€~€~~~~€}€€~€~€~~}€~€€~~~€~~€~€~‚€~€~~}~€~€~~€€~€~~~€~}~‚€€~€~~~~€~‚~~~~~€}€~€}€€~€€~~~~~€}€~~€€€~€~}€€~~~€~~€€~~~€~~~€~~€~€~€~~~€~€}~€}€~}€~€~€€~€~}€~€~€~€~€~‚~~~€~€~~€€€~€}€~~€~~€€~€~~~€~‚€~~‚~€~€~€~~€~~€€~€~€}‚~~~€€~€~€~~~€}€}‚€~€~~~€€€~~~‚}€~€~€~€€~€~~~€€~€}~€~~€~~~~~~€~€}‚€~~‚~~}~€€}€€~€€~€~~~}~€€€~€}~~€}~€~~€~€~~€~€~€~€~~€~€~€~~~€}€~€~~€~~€}€}€~€~}}€~€~€€}€~}€}€~€}~~€~€€€~€~~€~€€~€~€}€~~~~~€}€}€~~~€~‚€~~€~~}~~~~}€~~~~~€~€€~€~€~‚~~~€}~€}~~€}~€€~~~~~€~€€}€€€~~€~~}€~€€~}~€}€}~~‚€~~~‚~~~€}€~€}‚€~~~€€}€~~€~€~€~~~€~~~~€‚}€~€~€}~€~€~€~~~~€€~€~~€~€€~~~€~~~~~€~~€~€~€}€~€~~‚}€~€~€€~€~~}€~€€€~~€~€€}€~€€~~~€‚~~~€}€~~~€~€~~~€~€€~}~~€}€~€~€~€~€€}€~€}~€~~~€~~€€~€~€~~~~€~€~~€}€€~€~~~~€~€~}~~}€~€~€~~~‚~~~€€~~~€~~€€~€~~}‚€~€~€}€}€€~~~€}~€€€€~€}~€~‚~€€€~€~~€€€€~€~~€~€€~€~~€~€~~€~~~‚~}~~€}}€€~~€}€€~€~€~}~~€~€~€~~~~€~€€~~~}€}~~€~€€}€~€}~€}‚~~€~€~~€~~~~€~€€€~€~~~€€}€~}€~€€~~€‚~~‚~~~€€~€€}€~~~}€}€€~~~~}€~€€€~€~~~€~€€~€~€~~€~€€€€}~~€~€€~€~~~~~~€‚~~€€~€~€€~}‚~€~‚€€~€~~~€~€€€~€~~~€€€}€~~~€~€~}‚~~~~€}€}€€~~€~€}€~€~€~€~}€~~~€~€~~€~€~€~€}€~~~~€~€€€~€}~~~~~}€~~}~~~€€€~€~€€}€~~~~~€~~€€‚~~~~~€~€~€~~€~€~~~~€€~€}~~~€~~}€~€€}€~€~€~€~~~~~~€~€~‚€€~~~~€}€€~€}~€~€~€€~€~~}€~€~€}€€€~}€~~~€~€€~€~€~€~€€~€~~}€€~€}€~~€~~€€~€~~~~€}€~}€~€~~~}€}€€~€~€~~€}~€~€~€~~€~€~€~~€~~€~€€~~~~~€€€~€~€~~€}€~}‚~~}€€~~€}‚~~€~€€~‚€€~~€}€~~~€~€€~~~~~€€€~~~~€~€~€€€~€~~€}€€~€~€~~€€~~€‚€€€~€~€}}~€~~€~~€}€€~~~€}~~€~€~~‚~~€€~~~€€~€~~€}~~€~~‚~€~€~€~€}~~€~€~€~~€€~€~~~~~~€~€~€~~~~€~€€€~~~~€~€~€~€}€~€}~€~€}~~~€€~€€~€}€€~€~~~~~~~€~€€€~€~€~~~€~€~€€~€~~~€~€~€€}€}€~‚€~€}~~€~€~€~€€}€~~~€~€€~~~~€€~€€}}€~€~}~~€~}€~}~}~€~€~~~~~~€~€~€~}}€€€~~~~~}~€~€}€‚}~€~~~€€~€€~~~~€~€€~~€~€~€€~€}€€}€~}~}~€~~~€~~€~€€~€€~€~}~€}€~€}€~€~‚}€€‚~€}‚~~€~~€}€~€€~~~€~~~~}€€~€~€}€~~~~€~€~~~€~€~‚€~€~~~€~€€~€}€~~€~€}€~€~~~~€~€~~}~~~~€~€€~€}€~~€}€~€}€}~~~~~€€‚~}~~~~~}€}€~~~€~~€€~~~}~€€€~€~~€~€€€}€}~~€~€€€~€~€}€€~€}~~~€€€€~€~~~€~€€€}€~~~€~€}€~~€~€€~€~€~€€~€~€~‚€~~~€}€~€}~€~}€~€€€€}€~~€~€~€~}}€~~~€~}€~~€}~~~~€~€~~~€~€€‚~€~~€~~~€~~€}€€~€€~€~~~‚€~€~‚€~~~€~~€~~€~~~~€~€€~~€}€€~~€€~€~~€~€~€~€~~~€~~~‚‚~~~€}€€~~€€~€~~~}€~€€}€~€~€}€}~}}€‚€€~~€~~€~€~€€€€~€}~~€}€~€}€~€~~€~€~~~~€€€~€}€~~~~€€€‚~€~€~~~~€€~€}€~€}~}€}~~€}~€€€~~~}~€€€~€~€~~~~€~‚~€~€~~€~€~~~€~‚}€~€~€€}€~~€~€‚~€}~~€~€€€~€~€~€~~€€~€~€~~€~‚€~~~~€~‚~~}€~~~€}‚€€€~€~~}€}~€€~€~~€}€~~€~~€~~€~~~€~€€€~€~€~€~€~~~~€}€~~€~~~€~€~€~€~}€~€}€~€~~~€~~€~€€€}€~€~~~€€€~~~€~€€€~~€~€~€~€€~€~€€~€~~~€€~~~‚~~€~~~€€~}~~}€~€€~€~~€~€~€€~€~€~}€€~€~~€~~~~‚€€~€~~}~€~€~€€~~~~~€€€~€€~~~~€~€~~~€~€€~€~~€~€€‚~~~~~€‚}€~€~€}~~€~~~€~~€~€€€}€~~€~€€~~‚}~~€~€~~€~€€‚}€€~€~€€~‚€~~~~~€}€~‚€€€~~€€€}~~€~€~€~~~}€€~€}~~€}~€€}€€€}~~€€}€~~~€~€}~~~€€‚~~~€~€~~~€~€}~~€~€€~~€€~~~~€~€~€€€€~€}~~€~€~€~€€~€}€~~~~€€~~~}€‚~~€~€~€€€~€~€~}€€}€~~€~€~€~€~€~€~‚~~~~}~€~€~€€~~€~€~~€~€~€€}€~€~~~}€~€€~~€~~€~€~€~€}€~~~€~€}~~~~€~€€~€~~~€~€€€€‚~€}~€~}€}€}€~€~€~~~~€}~€}€~€~€~~€~~~~€}€€~€~€~€€}€~}€€}€~~~€~€€‚~€~~€~~~~€~€}~~€~€‚~€€~€}€~€€~~€~~€€~€~€~~€€~€~}€~€~€~~}€~~€~€~~€}~~€~~€€€~}€~~€~€€€~~~€~€~~~~€~€€~~~~€~€~~€~€~~‚~~€~€}€~~€~~€}‚~€~€~€~~~~€~~~~~‚~€€~€~€~€~~€~~€}~€}€~~€~€€€‚~€€~€~€}€~€~€~~~~€€}€~€€~~~~~}€~~~€~~~€~€‚~€~€~€~€€€€~€~€~€€~€~€~~€€~~€~€€~~€€~~€~€€~~€~~€€~€}€~€~€~‚~€}€~€}~~€~€~€}€}~€~~~}€€~€~€}€~~€}€~€~~~~€~~€~€~~~}€~€€€€€~€~€~~€~~}€~~~€€€~~~~~€~€€~~~}~€€}€~€~€~€€€}€~€~€€~€~~€€€~€}€~~}€€€~~~€~€~~€~€~~~~€~~€~€€~€~€~~€~€€€€~€~}€~~€€~€~€~€~€~€~€~€€~€~~€~€€~}€~~€~€~€~~€~€€~€~~€~~€~€~~€~}€~€€€~~€€~€~€~€~~€€~€}~~€~~€€~€~}€~€€~~~€~~~€}~€~€€~~~~}€~€~}€~€~~~~~€~~€}€‚~€€~}€€~€~~~€€~~~~~~~~~€}€~~€~€€~€€~€~€~€~~€€€~€~~~~~€~€~~€~€~~€€~€~€€}}€~~€~~~€€}~~€~€~€~€~‚~~€~€~~~~}~~~€~~~~€~€€€~}}~}€~€~€}~€~€~€~~€~€€~€~~~€€~~}~~€€€}~~€~€€€‚~€~~~~€‚€~~€~~}€€~€}€}€}~€~€~‚~~€~€~€€€~~~~~€~~~€~}€€~}~~~€~€€~€€~€~~€€~~€~~~€}~€€~€~~€~€€‚~~~~€~€‚~€€~~€~€~€~€€~~~€~€~€~~}~~€~~~~~~€~€€€€~€~~~€~€~€~€~€~}~~~~€€~€€~~~~~€~€}€~~~}€€~€~€~~€}€€~€€~€~€~€}€}€~€~~€~€~}€~€~€~~€~€€}€~€~~€~€~~€~€}€€~€}€€€~€~~€~€€€~€€~€~~€~~~€‚~~€~€|€€~~~~€~~€€~€~~~€~€€€~€€~€~~}€~€~~~€~€~€~€~~€~€~~~€~€€~€~~~~~€‚~€€~~~‚€~~~€}€~€~€~~€~€~€~~~~€~€€~~~€~~€€~}€~€€~€€~€€~€}€~~~‚~~~€~}€‚~~~€}€~€€~~~€~~€€~~€~~~~~~€~€~€~€‚~~€~~€~}‚~€~~€~€~€~€€€~~~~~€}€~€€~€~~~€~€€~€~€~~}}~€~€~~~€}~~€€~‚€~€~~~€~€€€~€~~~€€€~€}~€~‚€~€~~€~€€€€}€~€~€}€~~~€€€~~~€~€€~€~~~~€~€~~€~€€~€~~~~€~‚€€~€~€€}€~~‚€€~~€~€~~€}€~~€~~~~€~~€€~~~€~€~€}€€~~€~~~€~€€~~€~~~~€~€~€}€~~~~€€}}~~~€€~€}~€~~~~~€~~€~€~~~€~~~€~‚~~}~~€}€€~€~€}€~~€~~€€€~~~€€}€~~~~~€‚~€~€~~€~~~€~~€€~~~~~~~€~€€~€~~€€~~€~~~€}€€€~€~~~~~~€~€~~€~€€€€}€~€~€~‚€~~~‚€€~~~‚€~}€‚~~~€~€€€~~~€}~€~€~~€€~~€~€€~€~€~€~€~~~€}€~~~~€~~€€~~~‚}~€~€~~}€~€€€~€~€~€}€~~‚~~€}€~€~€~}‚€~€}~~}~}€~€‚~€}~~€}€~~~€~€~€€~€~€~~~€~€€€~€~~€}€~€}€~€}€}€~€~~~~‚~~€€~~€~~~~€~~€~€~~}€}€}~~~‚}~€~€}€~€~~~~~€~€~€~~‚~~€~€~€}€~~}€~‚€€~~~€~~€€~€~€~}~€}€~€}~~~€~€~€~~~€~€~}~~€€~~~€~€€~~~€}€~€€~€}€~~~~€}€€}€~}€~€~€€~€~~~€~€~€~€~~€~~€~€€~€~~~€}€~€€€~~€~}€~€~€}€€}€~~~€~~€}~€€~~~~€~€€}€}~€~€€€~€~€~€~€~~~€~€~~~~€~€€€~~}€~~~~‚~~€‚~€~}€€}€}~~€~~~~~€~€~€~}€~€€~~}~~€}€~€}€~~~€~~€~€~€€}~€~€~€~~€~€~€€€~}~~€~~~€~€~~~~€€‚~€~€~~€‚~€~~~€~€€~~€~~~€€€€~~€~~~€€}€~~‚~~~~€~€}€~€~~€~~~€~€~‚€~€~~€€€~€~€~~~€~€~€}€~€~€~~€~€€~€~~~~~~€€€~~~€~€~€€~€~~~~~€€€€~€~~€~€€~€~€€~€€~€}€~~€}€~€}€~€~}€€~~€~~~€~€€~€~€}~€~€€~~€~~€~€€‚~€~~~~€~€~~~€€€€~€~~~€~€~€}~}~€~€‚~~~€~~€~~}€~€€~~~€€€~~~~~€€~~€~~~€~€~€~~~~€€~€~}€‚}~~€~€~~€~€~~~€~€}~}€€}€~‚~~€}€}~€}€~}~~~~€€~€~~}€€}~€~~€~~~~€~€€~~€~~€~€~~~€€~~€€~€~€€~€€~€~€~~~€~€~€~~~€}~€€€~~~~€€€€}€~~€}€€~~€€~€~~~€~€‚~}~~~€}€~~~€~~€}~~€~€~~~€~~€~€~€~€~€€~}~€~€~€€~€~€~~€~~~€€~€~€~€}~~~€€‚}€~€}€~~€€€‚~~€~~~~~~~€}€}€~~~€~€€~€~€~€~~€~~€~~~€€~~~€~~}€~~€~~~€~~€~€~‚€€~€~~~}€~€~€~~~‚~~}€~€€€~€~€~€€~€~~€~~~€€~~€}~~€~€€€~€}~~~~~€~€‚~~~~€~€~€~€~~~€~€€€€~€~}}~€~€}‚€~€~~~~‚}~€~€~€€~~‚}€~€~€}€~~€~€}~~~}€~€~~~€~€€€€~€~€}~€€~€~~~€€~~~~~€€~€~~€~€~€€~€~€~€}€€~~~~€~€€}€~~€~€~€€~~~~€~€€~€€~€~~‚~€}~€~€~€~€~~~€‚~}€€€~€~€~€~€€~€~~}€~~~€‚~~€~€}~~€~~€€~~~~€~~€€~}~€}€€~€~~~}€~~~€~€~~~€€~~€~~~€~€€‚~~€~€~€}€€~~€~~‚~~€~€~~~€~€~€€€€~~€}~~€~}€€~~€€~€~~~€~€~~~€~€€€‚~€}€}€€~€~~~~~~}€~€~~€‚~~~~~€~}€€}€~€€~€~€~~‚‚}€~€~€}€~~€~€~~€~€€€~€~€~€~€~~~€€~€~~€~~~~€€~€~~€~~€~~~~~€€}€}€~€}€~€~~€~~~€€~€~~€~€€~~€€€€€~€~~~~€€€€~~€~~€~€€~€}€~€~‚}~~€‚~€~€~€}‚€~~€€}€~€~€~€~€€~€~~~~~~~€}€€~€~€~~~€~~€~€~}€~~€~~€€€}€~~~€~€€~~~€~~€~~‚€~€~€~€€~€~~~‚~€~~€~€}€€~€~~€~€~€~~€~~€€€€}€}€~~~€€‚~}~~~€~€~~~~€~€~~~€~~€~~€€€~€€~€~~€~€~~~~~~~€€~€~~€~~€€€~€~~€~€€~€}€~€~€~€~€€€~€~~}~€~€~~‚€€~~~€~€~€€€€‚€~€~€}€€€~€~~€~~€~€~€~€~~~~€€~€~~€}€€~~€~~€}€€~€~€~€~~~€}€€~€~~‚}€~€~~€€~~€}~€~€}€~‚~‚}€}€~€~‚€~~€~€~€~‚€€€}€~~€~~€~~}~‚~~€~€€~€~~€~~€~~€€~€~~~~€}€~€~€}}€~~€~€€€~€~€~~€~~~~~€~€~€€~~~~~€~€}€€~€~~€~~€~€€€€~}~~€~€~~}€}€~~~~~€€~€~€~~~€~~~€€€€}€~~~~~€‚~€~~~~€€€~€}€~~~~€~€€~~~~}€~€~€€~€~~€~~€~€€€~€~€~~€~€€~~€~~~€~€€€~€~~~‚~€~€€~€~~~~~~€~€€~€~~€~~€~€€~€~~€~€€€‚~~€~€~€~€~~~~€~€}€~€€~€~~~€~~€€€~€~~~~€~€€€~€~~€~€~€~~€~~~~~€}€}€~}~€~€€~}€}~€~~€€~€~€}€~~~€}€~€~€~~€~~€€~€~~€~€€€~€}~~€~€~~€~~€}€€~€}~€~€€}€~~€}~€~€~€}€}€~~~€}€€~€}~~€~€~€‚‚~€~~~€~€~€~~~~€~‚€€~€~~€~€~€~€~€€€~€}~~€€~€~~€~€~€~€~~~€€~~}€€~€~~€~~~~~€~€~~~~€~€€€~€~~~~€~€€~€~€~~~~~€~€€~€€~~€~~~€~€€}€€~€~~€}€€€~~€~~~€~€€~€~~~€~~€€~~~€}€~~€€~€~€~~‚€~~€~€~€~€€~€~€}€~~€~~}~~€€€€~€~~}~€~€~~~€€€‚}~~}~€€~~€~€€~‚~€}€~~~€~~€€~€~€~€~~€~~€}€~~~€~~€€€~€~~€}~~~~~€}€€~~€€€~€~~~}€~€~€~€~€}€}~~€~~€~}~~~€}€}€~€~~~}€~}€~~~€€€}}€~}€~}€}€€€€~€~}€~€~€}€~€~€~~€}~€~~€}€€}€~€~€~~~€}~‚€€~€~~}€~€€~€~€~}~€€~€~€}~}~€~€}€~€~€€~~€}€~~}~~€~€~€~€€~€~~€~€€}~~€~€~€~€~€~€€~~~~€~~€€€~€~~}€€~€€}€~€~€~€~~€~€~€~~~~~~€~~€}€€€}€~€}€~~€~~~€~€~}€~€€€€~€~~€~€€€~~~€~€€€~~€~€}€~€~€€}€~€~€~~}~€~€~~}€~€~€€~}€}€€~~~€€€~€~~~€~~}€~€~€€}€~~~€}~~€~€~~€}€~€~€}€~€€~€~€~€€~~~~~‚€~€}€}~~€~€€~~~~~€~€€€~~~~~~€~~€~€~€~}€€~}€~~}€~€~€}€~€€~~€€~€~€~~€}€€~€~~~~€€€}€~~~~€€~€~~~~€~~€~}~~€~€€€~~~€~~€~€~€~~~~~}€~€~€}~~~€‚~€~€~€~€€~€~€~~~€~~€€~€~}€~~€~€~~~€~€€}€~€~~~€€€}€~~~€~€~~€~~€~€€€}~€~€~€}€~€~€~€€~€~~‚~€~~€~€~€~€~€~€~€~}~€~€~€‚~€}€~‚~~€~~‚€~€~~~~€}€~€~~€}€~~~€~€~€€~~~~€}~~€~€}~€}~~€~€€}€~€~~}~~€~€€€‚}€~~~~€~~€~~~€€~~€~€~}~~~€€€~~~~€~~~€~€~€‚€~~~€}~}€~~~}}~€€€~~}€~~€~‚€€~~€~€~~€~€~~~~~€~€€€€~~~€~€~€}€~‚€€~€~~€~€€~~~~€~~~€~~€€€€‚€}~€}€€~€~€€~€~€}~~}€~€~~~€~~€~€~€€€€~~€~€~€€~~€~€€€~~~~}~€€~~~€~€~~~€~€€~€€~~€€~€~~€€~€}€~~€~€~~~~~€‚~€~~~€~€€~€}~€€~~€~€~€~€}~}€~~‚~~€~€}~~€~€€~€€~~}€~€~~~‚~€~€~~€~~~~€~~€~€~}~€~€~€~€~~~€~€€~~~€}€~~~€€~€~~€~€~~€}€€~}€}€~~€~~~€€€~€~~}~~€~€~€~~~€~€~€€}€~€~€~~~€~€€€~~~~~~~}~€~}~€~€~€€}€~€~~}~~€~€€€~€~€~~~€~€~€~€€~€€~~~€~€€~€~~‚~~€~~€€~€~~~~€~€}€~€~€€~€€€}~~~€}€€€}~‚~~~€}€~€€€€~€}~~€}€}€€~€~€~€~~~~€€~€~‚~~€~~€~€€€~€~~}€~€~€€~€€~€}€‚~€~~}€~€~~~€}~~€€~€~€~~~€€~€€~€~~~‚€~€~}}~~~~~€}~~€~~}~€~~€€~€€~~~~€~~~~€~€~~~~~~~}€~€€~~€~€~~€~€€~~€~~€~‚€~‚~~~€}€~€}€}~‚€€€€~€~€~€~~€~€~~€~€~€~~}€€~~€}€~~€~€~€€}€~~€€~~~€}~€‚~€~~€~€€€}~€}€€~€~€~~€€€€~€}~€~~}‚€~~~€€~~€~~€}€‚~€~€}€~~€€~€€~~}€€~}€}~~€~~~~€~€~€€~€~€~€€~€~~~€~€~€~}~€~€€~~€~€~}€~~~~€~~€€~€~€~€~~€}€~~€~~~~€~€~~~€~~~€~€€~€~€~€~€~€~€~~~~€~€~~€~~~€}~€~€€~~€€}€~€~€~€€~€~€~~€~~€}~€~€~~~~€~~€~€~~~~~~~€€€~€~€~~~€}€~€€~~~~€~~€€~€}€~~~~€~€€~€~~€~~~‚}€}€€~~€~~€~~€~€~~~‚~€~€~€€€}~€~~€}}€~€~~~~€~€~~€~‚€€}€‚~~~€€€~€~€~€€~€~~€€~~€}~~}~~€~~€~~€~‚}~€}~€€~}~€}€€~€€~€}€€€€~}~~~~€~€€~~~€~~€€~~~€}€}€~€~€€~~~~~€~€~~~‚€~~~€~~€€€€}~€€~€€~~€~€‚~~~~€~€~€~~€~€}€~~~~€€~€€~~€~~€~~€~€€~€~€}~~€~~~~}~~€~€~}€~€€€€}€~~€~€~€~€€€~€~~€~‚~~~€~€~€~}}€~€€€~€€}€~€}~~~~€€~}~~€~~€~€€}~€€~~~€~~€€}€}€~}‚€~~€~€€~~€~€}€~€}€~€~€~€~€~~~~~€}€€€€€€~~~€~€~€~€~~~€~~~~€~~€~€~~€}€~€~}~€€€€~€~~€~€€~€~€~}}~€~€€}€~~€~~€€~}€~~~~€~€~€}‚~€~~~}~€~€~€~‚€~~‚~~€‚~€~€€~€~~‚~~~~€~€€~€~~€~€~€~€~~~€}~€~~€}€~€}€~~~€€~€~€~~€~€€€~~~~€~‚~€€~€~€}€~‚~~€~€}~~~~€}€}€~€~€}€~~~€~€}€~}€~~‚~}€~€~}€~~~~€~€}€€}~~‚~}€~~€€~~~€}€€~€~€€€~€~€}~€€€}~~€~~~}~~€~€€€~€~€~~€}€~~€~€€~€~}~€€€‚~~~~€~}€~€~€~€~~€~€~~~€~€~€}~€}€~€~€€€€~€~~€‚€€~~€~~~€€€~~€~}€~€~€€€‚~~€€~~€~€~~~~~€~~~€~€€~€~~~€~€}€~€€~€€~€~~~~€~€~~~€~~€€~€~~~€~}€~~~€~€~€~~€~€€~€~~€~~€}€~‚~€€€~€~~€€~€}~€~‚~€}~~€~€~€~~~€~‚‚}€€~€}€}€~€~€~~€€€~€}~~~~~~€~€~~~~€}€~€€~~~€~€~~~~€~€~€~€~€~€}~~€€~€€~€€~~€€}€~€~€€€€~~€~~~€~€€~€~~~~€~€~€~~~~~}~€€}€~€}~~~~}}€€}€~€~~€‚~€~€€€}~~€~~€€}~~~~€}€€€~}€~}~€~€~~€~~€}‚€~~€~€~~€€~€~€~~~€~}€~€€€~€~€€€~€}€~~~~~~€~€~}€~~€~€}€}€€~}€~~€~~€€~~~~~€~‚~~~€~€€~€~~~€~€~}€~€~~}~~~~~~~€€€~€~€~~~€€€~~~€~~~~~€}€~€€~}€€~€€~€~~~~€€~}€~~~}€~~~~€€~~~~€}~€~~€~‚€~~€}€~€~€~€~~€~~~€}~€€~€~~€~€€€~~€~€}€€~€~€~€~~~~€~€~}€€€~€}~~€}~~~~~‚~€~~€~~€€€~€~~€€}€~€~€€}€~~~€€~~€~~~€~€€~~€~~€~€~€~~€~€€~~~}€}€‚~€€~€~€~‚€~~~~€€~~€}~~€~€~€~€~~€~€~€~~~€}€~€~€}€€~€~€~€~€€}€}~€}€~€€€~}~€~€~€~€~€~€~€~~~~€€€€€~€~}€~~€€€~~~€~€€€€}~~€~~€~€~~~~~~€}€€}€~€~~~~€}€~~~€~~€~~}€}€€€€€~~~€}~~~‚~~€‚}€~~€~~€~~€~€~€}€~€~€~€~~~~€~€~~~€~‚~€€~~~~~~€€~~€~~€~€~~~~~~~€~€€‚~~€}~€~€€~}~}~~‚~~~€~€‚~~~~€~€~€€~€}~€~€€€~~€~~€€~~€~~~‚€}€~~€}€~~~€}€~€}€~~}€€~€~€~€}€~€~€~~~‚~~€~€~~€~€~~~‚€~€~€}€~€€~~~€~€~€~€~€~~~€~€€~€~€~~€~€€€€~~}€~~€€€~~~~€€~€~€}€€}€~€~€€~€~~~~€}€~~~€~€€~€~€€~~~€€€~€~~€~‚€~~~€~€€~€~~~€~€~€~~€~~€~€~€~€~€~€}~€~€~~‚€~~€~€~€~~~€€~~~~~~~~~~~‚~€}€€~€~€~~~~€}€€~€~€€~€~€~~€~~€€€~€}~€}€~€~~€~€€~€~~~€~~€~~~~~~~€~€~~€~~€€€}€~~€~‚€~€~~€~‚~€€€~€~€~~~~€€~€~~~€€€€~~€~~€}~€}€€~€~€}€~~~€~€}€€€~€~€~~€~€€~€}€€~~€€~~€~€€~€~€~~€~€€~€~~€~}€€~€~~~€€~~~~~~~€~€~~€}~~}~~~€~~€€~}€~~~€~€~€}~~€~€~€~€~~}~~€~€€~€~~‚~~~~~€~€€~~€}~€~€€€~~~~~~‚}€~€~€~~€~€€€~}€~€~}~~€~€€~}€~€~€€~€}~€~}}€~~€~€~}€~€€€~€~~~~€‚~€}‚~€€€~€~~~€~~€}€~‚€~~~~€}€~~€~}€~€€~€~~€~~~~€}€€}~€~~~}~€~€€~€~~~~}€~€~€~~€~~~}~€~€~€~€~~‚€€€~~~~~€€€}€~~~€‚~~€~€€~€~~~€}~€~~€~~‚€€€~~~€~€~€~~~~€~€~€}€~€~~€€~€~€~€€€~‚~€}€}€~€~~~€}€~~€~€€~€~}‚~~€~€~~~€€‚~€~~€~€€~~~~€~€€~€€}€}€~€~€~}€}€€~~~€}€~~~€€~~€}~~€}€~~~€‚~€~€~€~~~€~€~~~€}€€€€~€}~€~€€~~€~~~€€€~€~~€~~€€€~€€~~€~€~~~€}€~~€~€~€€€~~~~€~~~€}€~€€}€~‚€€~‚~€~€€~€~€~€}€~€‚~~~~€~~}€}~~€}€~~~€~‚~~€~~€~~~~€€€€~~~~€€~€~~~€~€~~€~€~~~~€‚~€~€‚~€~€~~~~€~€~}€~€~€€~~€~~€~‚€~€}~~€~€~~€~€~€~~€~€€~€~~~€}~€€~}€~~}€€€€€}€~}€€~€~}€€~€~}‚‚~~~}€}€~€~~~€~€€€~€~~€~~€~~~~~€€~}€~€~€~€€~}~~€€‚€~€~~€~€€~~~€}€~€~~~€~€€€}~~€~€€~}€~~€}€€~€~€}~~€}~€~€~~€~~€}~€~€€€~}~~€~~€€~€~~~€€}€~€~€~€~€~~~€€~~~€~€~€~~~€~€~€}~~€~~~~‚~~}€}~€€~€~€~~~€€}€}€~~€~€}~~€~€~~~€~€€€€~€~~~€€‚~~~~€~€€~€~~~€€€~~~~€€~~€~~€}€~€€~€~~€~~€}€~~‚€~~}~€€~~€~~~~€‚~€~~~~€~€~~€€€~€~~€~€~~}€~‚€~~~€~€€~~~€~€€~€}~~}€~€€€€~~€~~€€‚~€€}€€~€€~€~~€~€€€~€~~~€€~~€~~€~€€~€~€~~€}~€€}€~€}€€~€~~~€~~~€~€€~~~€}€~~~€~€~~~€~~}~~~~~~€€~€~~€~~€€~€~~€~€}~}€‚€€€~€~~~€~€€~~~~~~€€~~~~~‚€€~~~~€~€~€~~~~€~€~}€~€€~~€~€}~€~€€~€~€~~€€~~~€~€~€€}€~~~€~€~€~~~~€~~€~~}~~€~€€~€~~€~€~€~€~~€}~~}€~~€~~~~~‚€€~~€~~€~€}~~€€~€}€€~~~€}€~€€~€}~~€~€~€~€~€~~€~~~€~~~€~€~€}€~}€~€~€}~€~€€~€~~~~€~~~~€€~€~~~€}€}‚~~‚~€~~~€~~€~€€~~~€~‚€~~€~€~€€~}€~€€€}€~~~€€€€~~€~€~€~~€~€€€~~}€~€~€~€~€€~~~~€~€~€~~~~€~~€~€€€~€~~~€~€€~~€~€€€€€}~€}€€~~~~€€~}€~~€~€€~}~~~€~‚€€~€~~€~€~€~~}€~€~€~~~~€€~€~~€~~~€}~~€€~~€~~~€~~~€~~~€~€~€~~€~€€€€}~€~€€~€~~€~€€~~€~€~€€€€~~~~€}€€€~~~~€€~€~~~€€‚~€~~€~€€~€~~€~€~€}~€€~€}~~€€~€~‚~~~~€}€~~€~~€~€~€~€€~€~~}~€€€~€~~€}~€€€~€~~~€€~€~~~€~~€~€~~‚€~~‚€~€}~~~€~€~~~€~~€~€}€~€€€~~~~~€~~€~~€~€~€~~~~~€~~€~€~€€~€~€~€€~€}€~~~€~~€~~€~~~‚}€~€~€€~€€~€~~~€€‚~€}}‚€~~€€~~~~€}€~‚€~€~~€~€~€~~€~€€€~€~~~~~~~‚~~~€~€}€~~}€~€}€€~}€~€}~€~€€~€}~€~~€‚~€~~~€~}€}~€~€~€~~€€~~~~€€~~~~€€~~~~~€~€‚~€€~~€}€~~~~€€€~~}~‚~~}~‚~€~~~~€~}€}€~€~~€~‚~~€~€~€~~€}€~€€}‚€~}€~~€~~€~~~~}‚‚~€}€~‚€€~€~~~€~€~€}€~€~~~~€~€}€~€~~}~~€}€€~€~€~€~€~}€~€~€~~~~€~€~€~~~€~~€~~‚€€~~~€}~€~€~€€~€~~€~~~~€}~~~€~~€€€~~~€€~€€~~}€~€}~}}€~~~‚~€}€~~€~€‚€€~}€€~€€}~€~€€~€~~~~~€~~~~~€~€~~~€~€€~}€}€}€€~€€~~€€~€~~~€}~~~~~€‚~€~~}~~€}~€~€€~~~€~€~~~€~€~~€~~€~~~€~€€€~€}€€~~€~~~€~€}~~€}‚}~~€~€~€}~~~€~~€€~€€~€~€}€~~}~€~€~~~~~€~€~}~€}~€~€€€}€}€~~~~€€~€}~~}}€~}€€~€~~~~€~€€~€~~€~~~~~€~€€~€}€~€}~€~€€~€~~~~~€~€€€}~}~~~~€~€€€€~€~~~}€~€~€~€~~~~~€€~€~~~€~}€~~€}~~~€~€~‚€~€€~€~~~€~€~€~€~€~~~‚~~€~~€~€€€‚~€~€~€}€€~€~~€~€~~€~€€€€~~~€~~€‚~€~€€~~€~~€}€€}}€~~‚€~€~~~~~~€~€~~~}€€}~~€€~€~€~€~€~€€~€~~€~€~€~€~~~~€~~~€~€~€~€~~€~~€~€}€~€~€~€~€~~~€~€~~€~~€€€~~‚~€~€~€~€~€~~~~€~€}€~~~€~€€~~€~~€~€~€~€~‚€€~~€~€~‚€~€~~~~~€~~€~~~€~€}€~€€}€~€~€~~€€€€€~~€~~€~‚~~€~~‚}€~~~€~~€~€~€€~~~~€~€€€‚€~€~~}€~~~~~~€~~~~€~€~€~€~}€~€€~€~~~€€€€~€}€}‚~~~€}~~€~~~~€~€~~€€}~~~€~€€€~}€~‚€~~~~€}~€€€~€}~€~€€}€~}€~€~~}€€~}~~~~}€~€€~~~~€~~€~€€}~€~€~}€€€~€~€~~€~€~€€~€~€~~}€~€~~~€~}€~€~€€€€~€~~‚~~~€}€€~~~~~~~~€~€€~€~~~}~~€€~€~}~€~€}€€~€~€~~€~~€~}€~~}€€~}€}€€€~€~€}€€~€~€~€€€}~€~~€€~~~~~€~€~€€‚~~~€}€~~€~€~~€}~€~~€~€~€~~~~€~~~~€}€€~}€~€~~~~€~€€~~~~~€}~€~~€€~€~€~€€~€€~~€~€~~€~€~€€~~~~~€}~~~}€€€~€~€~€€~~}~}€~~€~~~~~~€€~€~~~~€€~€~€~}€~~€€€}}~€~~~€~~€€}~~€~€€€~€~€€~~€~€~~€€€~€}~~€~‚€~€~€~€€~~~€~~€€~€~€~€~~€€~~€~~~€~€~~€~~€~~€€€€~€€~€~€~~~~‚~€€€~€~~~}~€‚}€~~€}~€~€€€~€~€~~}~~€~€€€~~€~~~€€}~‚}€~€~€~~~€~~€€€€~€}€~~‚}~€~€~~€~~}~€~€~~€}€~~}~‚€€~€~~~~‚~€~€€€~€}~~~€~€~€}€€~€€~€€~€~~€€€€~€~~€~~‚€}€~‚€~€~~}~€€~€€~€~}€~€~~€~€~€~}‚‚~~€~~~€€}€}~€~€}€€~€~~€}€~~~~€~~€~~~~‚~~~€~€~€€~€~~~€~~€€~}€~€~~~€~€~~~~}~~~€€~€€€€~€~€~€~€€~€€~€}€~}€}€~€~~€~~~€}~€€€€~€€}€~~€~~~€~~~€~~~€}~~~€~€~€~€€~}€~~€~~~€~~~€€~~~€~€€‚~~~€}~~€~~€~€~€~€~~€~€~€}€~~€~~~~~~€}€~~€}€€~€~~€~€€~€~}€~~~~~~~~€}~€~€€~€€~€€~~~€~€~~€~~~}~€~~~€}€€~€~€~€€~€€~€~~€~€€~€~~€~~~~€~€~~€~~}€€~€~€€~€€~~€~~€€~~~~€~~~}~€~}€~~€‚€~€€~€~€€}€~~~~€€€~~€€~€~~}€€~€~~~~~€~€€~€~€€}~~~~€€€~€~€~~€~€€€~€~~}€~~€}€~€~~~~€~~€€€}€~~}~~€~€€~‚~€~€~}€~~€~}~~€~~€~€€~€~~~€~~~€}€}€€~€~~~~~€~€~€~€~}~€~~€~}~€€~~~€}‚€~€~}~€~€€~€}~~~~€}€€~~~€~€~€~€~€~€}~~~€~€~~€}~~€€€~~€~€~€}~€€~€€}€}€~~€~~€€~€~~~~‚~}€~~~€~‚€€€~~€~€€~~€~€€~€~~~}€~€~€€~~€€~€~~~€~€€€€€~€~}€€~€}€~€€~€~~€~€~~~‚€~~€€}~~€~€}€~~€~€~~~€~€~~~€}~~~€~€~€€~€~~€~€€~€~€}€~€~€~~‚€€~~~€}€~~€~€~€~€~~€~€€€}€~€~€}€~~~~€€€€~€~~~€}€‚~~€~~~€~}}€€€€}€€~€~€}€~~€~€€~~€~}~‚~€~€~€€}€€~~~€~€~€€}€~€~€}~€€€€~~~~~€~€}€~€€}}€~~€€€~€~€~~~€‚~~€~€€~€~}~€~€€~€~€€~~€~€~€€€~€~~~~‚~€~€~€~~€~~€}€€}€~~~€}‚€€€}€~~€~~~~~€€€~~~€~€}~~€}€~~€~€€~€~~~~~€~€~€€~€}~~~€}€}€~€}€~€~~€~~€€~~~~€}€}€€€}€~~~€~€}€~€~€}€~€}~€€€~~~}~€~€}€€€€‚~€~€~~€}€€}€~~€€~~~€~~€~~‚}€€~€~€~~€~€~€~}€~~€~~~€}€~~~~~‚€€}~€~€~~€~€~€€€€~€~€~~€~~‚~~~~€€~~€}€‚}€~€}€€~~€~~€~€€~€~€~~~€~€~€~~€~~€~~€~€€}~~€~€~}~~€~€€€€€‚~€~€}€~~~~€~€~~€}€~~€~€}€€~}~€~€€~€}~€~~~~€~€~€~~~~~€€~€~}€€~€~€}~€~€~~~€~~~~~€~€~~~€~€~€}€~€}€€~€€~~€}€€€~~€‚~€~€~€€~€~€~~~~€~€~€}€}€~}~~€€~}€~€~~€~€~‚€€~€}~~~~‚€}€€~€€~€~~}~€~€~~~~€~€€~~~~€~€~€€~€~~€}€~~€}€~~~~~€~€~€€}~~~€}~€~€~~~€~~€~€€~~~€}€~~€€~€€€~~~~€~~~€~€~~~~€~€€~€~~€~€~}€€~€€~€~~~€~~€~~€~~€~~~€€~€~€~~€€~~€~€~€~~~~€}€~~}~~€~~€~€€€‚~~€~€~€€~~€~€~€}~~~~€~~‚~~~€~€~~€~‚€€€~~€€~€}€}€~€~~€€~}~~€~‚~€~‚~€€~€~~~€~€~€~€~€€}€€~€~€}€~~€}~~~~€~€~~€~€€~€~€~€~€~~€€€~€~~~€€~~€~€~~€~‚}~€~€}‚€~~€€€~€~~~~~€~€~€€~~~€~~€€€~€}€~€~‚€~~~€€‚~~€~~~€~~~}~}~~~‚€~~~€€~~€~~~~€€~€~€~~}~€}€~€€}€~~€~€€€€€€}€~€~~€}€~~€~}€~€~€}€€~€~~€~€~€€}€~‚€~~€}€€}€~€~~€~€~~€~€€~~~}€~€€€€‚~~‚~~€~€~€~~~}~€€~€€~‚€~€~~}€~€€~~~~€~€~‚~€‚€~€}~~~€€~€€~€~€~~€~~~€€~~~€~~€€€€~~~~~€~€€~€€~€~€~€€~€~~€~~€€~~€‚~~}€~}€€~€~€~~€~€€~€}~€~~~~€~~€€~~€~~€~€~~€€€€~€~€~€~€€~~€}€~~~~~€~~~€~€~~€~~€~~€€€~~€~€~€~€~~~€~€~~~~€~€€~€~€~€~€~€}€€€€€~€~€~~~€~€€}€~~€~€~~€€€~€€~€~€‚}€~€~~€~€}~€~~}~~~€~~~€~~€€~€~€~€€}€~€~~~€€~~~€~~~€~€~€~~~~€~€€~€}€~€€~€~€~€~€€€€~~~€~~~~€€€~€~~~~€~€}€€~€}€~€~€}~€}~€€€~€}~~€~~‚€~€~~€~€~~€~€~€€~€~€~~~€}€€‚~~€~~}€~‚€~€~~~~€~€~€~€~€€~~€~€~€~€€~~€~}~€~€}€~€€~€~€~~~€~~€}€~€~~€€~~€~€€€€}€~~~~€}€~€~}€~~}€~~€~~€~~}~~~€~€~~€~}~€~€}}~~€~~~~€~}‚€~~~~~€~€€€~€~~~€~€~€~~€€~€}~~~~€~~~~~€~€~~~}€€~~€~€~€€~€~€€~€€€€~€~~~~~€~€~‚‚~~€}~~€~€€~~€}€€~€~€~€~~~~~~€~}}~~€~€~~€~€€€‚‚~}€€}€€}€~€~€€~€~~~~€~€~~~~€~€~~~€~€€€€}€~€€~€}€~€~€€~~€~~€~~~~~€€~~~}}€€€~€}€~€€~€~€€~~€€~~€~~~}‚~~~€}€€~€~~€~€€€~€~€}~~~€€~~€~~~€~‚~~€~€~€~~~~~€~‚€€~€~€~~~~~€€€~}~~~~~€~€~‚~~~€~€€~€€}~}€€~€€~€~€~€~~~€~€~€~€~€~~~€~~€€~~€~~~~~€€~}€~~~€}€~€~€~€€~}€~~€~€€€~€}‚€~~€~€~~€~~~~}€€~€~€€~€€~~~€}€~€€~€}€€~~~€}€~€}€~~€~€‚}€~}€~€€~~~€~~€€~€~€~~~€~‚€€‚‚~~€~€~€€~~€}€€~€~~€~€€~~~€~~€~€~‚€€~€~~~}€~~€€~€~€~~€}~€€~~}~€€}~€€~~~~€~~€€~}€~€~€~~~~€€~~~~~~€~€~€~~€~}~~€}€~}€~€~~~€~€€~~~}~}€€~~€€€~~}~€~~€}~~€~€~€~€~€~~}€~~~€€‚€~~~€}‚~~€~€~€~~~€~~€€~€~~€€}€~€~€€~}€}€~€€}~~€~~~~€~€~~~€~€~€~€}€~~~€~€~€~~€~}~€~€~~~€~~~€~€~€~€}€~€~}€}€€~€~~€~€~~€~€€€~€}€~€€}~€~~€~€€~€}~€~~~~~€~~~~~~€~€‚}€~€}€€~€~€~~~€€~€~~~~~}~€~€}~€~€~€~€}€€}~~~€~€€€€~}€~~~~~~€~€~~~~€~€€~€€~€~}~~~}€€€€~€~~~~€~~€~€€€~€~€~}~€~€~€€}€‚~€~~€€~€~~€‚}€~€~}~~}~€€~€~~€}}€~~€€~€~~~~€~€}€~€~€~}€~~~€}€~€~‚~~€~€€€~~~€~€~€~€~}€~€~~~~€~}€~~~}€}~€€~€~~€~€~€~€~€~€~~~~€€€}€~~~~~~€~~~€~€~€€~€}€~€~~~~~~€~~~€~€‚~}~€€€€~€~~€~€}€}€}€}€~€~~~}€~€~~~‚€~~€}€~~~€~€€€€~€~€~€€~€~€~€€€~€~~~~€}~~‚€€‚}€€~€~~€~~€€}~€~€~€~~€~~€~~~€~~~~€~€€}€~~~€~€~€}€~€~~~~€€~~~~€~~~~~~~€~‚€‚~€€~~~€~~~€€~€}~~€}€€~€}€~~€~~€~€€‚~€~€~€}‚~~€€~€~€~~€~‚~~~€}€~€€~~~~€~~‚€€~~~~~}€}€€~€~€~~~~~~€}€€}€~~~}€~€€€}~}~}~~~€~€€€~€~~~~€}€~€~€€~€~€~€~~~€€~~~~~~€~€€~€~€~}~€€~€€~€~€€~€~€~~~€~€€€‚~€~}~~€~~€~~€€~€~~}~~€€}€}~€~~€~~€~€~~~~€}€€~€~~~~€~€€}€€~€~€~€~~}~€~€~~~‚€‚~~~}€€€~€~€~~~~€}€~€~~€~}€}€€~~‚~~€~€~~€€~}~~~~€~€~€~~€~~~€~€€~}€}€€~€~~€~€~€~€~€~€~~‚~}~~~~€}€€~€~‚~€}~€€}€~€}€€~~€~~~€~€~~€~€~€~€€‚}€}~€}€~€€€~~€}€~€~~€~~~€~~€~~~€~~€€~~€~€~€~€~~€~€€~€~€}€~€~~~~€€~€~~€~~€}€€~€€}~€~~€~€€‚~~}~~€~~€~€~~~~€~€~€~€~€}€~€~~€~€~€~€}~~€‚~€~€~€~~}~€€~€~€~€€}€~~}€~€€€~}€~~~~~€~~€}~~€~~€}€€~€~€~€€~~~€€~€~~~~~€}€€~€}~~~~~€}€€~€~€~~€~~€€€€~~~‚~~~€‚~€€~€~€~~~~€~‚~€}€~}~~~}~€~€~~~~€~€}€€~}}~~~€~€~}€~~~~~€~€€~€~~€€~~€~€‚}€}€€€~€~~}€~~€~€€~€~~~€~}€~€€€~~€~~€~}€€~€~~€~~€}~}~~}€~€~~€~€~~€~€~€}€}€€}‚~€}~~~€~~€~~~€~€~€~~€€€~}~~€~€~~€~€€€~€~~~~€~€~~~~~€~€~€~~€€€~~~€~€€}€}€~€€}}~€~€€~}~~~€~~€€€€~€€~~€€~€~€~~€€€~€~~~€}}~~~~€~~~~€~€€€~~€~€~€~~€€€}€}~~}~~€}~~€€~~}€~~€€~€}€~€~€}€€~€~~~~~€~~€~~~~€~€€€€~€~€€}~~€~€€€~~€~~€~~~€}~€}~€~€€€€}~~€~~~~~€~~~€~}~€~€€~~~~~~€€~€~€~~~~€~€€~~€~~~}€~~€~€~~~~€‚€€~€}‚€~~}~~€~€€€€~€~€~~~€~€}€‚~€~€}€~~~€~€€€~€~~~~‚~€~€€~~€~~}€€}€€~€~€~~€~~€~~€~~~~~~€~€€€~}€~~~~€~€~~€€~€~€~~€~‚€~~~}~€}~€€~€}~€€~€€}€~€~€~€~~~~€~€~€€~~€€~€€~~€€€~€}€~€~€~€}€~€~~~~~~~~~~€~€~€~~€€~‚~€~~€~€~€€~€~~€~€~~~~€~~€‚~€}€~€~~€€~~~€~€€~€~~€€~~~}€~€~~€~€}~€~€€€€€~€}}€~€}~~~€~€~€~~~€~€~€~€€~€€~~~€~€€‚~~€}}€~~~€€€~€~~€~~~€~}€~~€}€~€€}€}}~~~~~€~€~€}~€~€~€€‚~€~~€~€€~~€~€€~}~€~~‚}~~€~~~€~€€~}~€}€~€~€~€€€}~€€~~‚~‚~~€‚~€~~~€~€€}€€~}€~‚€€~€~€€€‚~€~~€€~€~€‚}€}€~€~~~~€€~~~€~€€€}}~€}~~€~€~€€€~~~~~}€~€~~‚}}}€~€~~}~€~}€~€~€~~€}~€~}~€~‚€‚~~€~€€€~~‚€~€~€}€€}€€€~€~~~€~€€~€}~~}€~}€~€€}~~€~€~€~€€}€~~~~€€€~‚€~‚~}~€~€€~~€~€~€~}€~€~~~~€~~€~€~~~~~€~~~€~€~~€~€}€€}~€~€~€~~~~€~~~€€‚~~€€~~~~‚€€~€~€}~€~~€}€~~~~~€~€€‚~~€}€~~~€€€€}€~€~€}€~}€~~€~€}~~~~~~€€~€~~~€~€€€~€~~€}~~€€~€~~~}~~‚€}~€~€~€‚~€€€}~€}~€~~~€~€€~€}~€}~}~~€~~€~€€€~€}€~~‚€~~€€~€~€~~~€~~€~€}€~€€~~~€}€€€}€€}~~€€~€~€€~€~~}~~€~~~€~~~€~€€~€~€~}€~~€€~€~€~~~~€~~€~€€~€€~~~~€~€€~€~€~~~~€~€~~~}€~~€~€~~€€}€~~~€~€€~~~€‚~}€~€~~€~~~~€~~€~€~€~~~}€~€€~€~~~~~€~€€€~€}~~~€~€€}€}€€~~€~~}€~€‚€€~€~€~€~€~~€€~~€€}€~€€~€€}€~€~}€}€~~~~~€€‚}€~€€~}~~€~€~~€€~}~€~~~~~€€~}~€€~}€~~€€‚~€~~~€~~~€~~~€~€~~€~~~€~~€~€~~€~€~€}€~€~~€~~€€~€~~~~€~€}}~~~€~~€€~€~~~€}€~~€€€~€~€~€~€~€~~€~~~€~€}€~~€~~€}~~€€~}€~~~€€~~~€}€~€~€}€~~€~€~€€€~€}~‚~~‚‚~~€€~€~~~~~€~€}€~€}€~€~€€€~€~~€~~~€~€~‚~€~}€~€€~€€~€€~€€}€~€~~€}~€€€~€~€~€~~~~€~~€~~€~€~€~€~€}€}€~€~€~€€€~€~~~€€~~~€~€~~~~}€~€€~€~€€~€~~€~€€€~€~~~~‚~€~€~~~€~€~€~€}€~€€~€~~€}~‚€€~€~~~~€~€~€~€~€~~€}€}€~€~€}€~~€~€~€}}€~‚~~€~~~}€~€€€~€€~€~~€~~~~~€~€€€~~€~~~~~€~~€}€~}€~€€~€€~€~~€~~€~€€€~€~~~€~€~€€~€€~€€~€~~€~€}€}€~~~€}~€}€~~€~€}~€~€€~€€~~€~~~€~~€~~~~~‚~~~€~€€~€~~€~~€}€~€~€€~~}€}€~€~€~~~~~€~~€~€‚€€€~€~€€~€}€€~€}€€~~€~~~~€€~~~‚~~~€~}€~~€~€}}€~€~~~€€~€~~~€~€~~‚~~€~€~~~€~~€€‚~~~~€}€€~€~€~~~€}‚‚}€‚~€~€~~~~€~€~€~€€~}€€~€€~}}~~€~~~~€}€~€€~€~~€~€€}~~€~€~~~€~€€€~€~~~€~€‚~~~~€}€~~~~}€€~€~~€~€~‚~€€‚~€~~~~~~€}€~€~~€~€~€~€~~~€~€~€~€€~}€~}}€~€}€~€€~‚~~~€~€€‚~€~€~}‚~€~€€€€~~~~~}€~€~€€}€~}~~€~€€}€~~~~~€}€€~~€~~€~€~~€~€~~~~€~€€‚~€~€~~€~€~€~€~~~~€~€€~€}€~€~}€~~~~€~~€~~~‚}~€~€~€€~€}~~}€~€€}€~€~~€~~~€~~€€~~~‚~~€~~€€~€~€~~€~€~€€~~€}~€~}~~€€~~‚~€~€~}~€€~~€~~€~~€~~~~€~~~~€~€~€€~€~~€~~~~€~~€€€~}€~~€~€€~~€~€}~€~~~€~€€~~~~~€~€~€}€€€€~~€~~€}€~€~~€~~~~}€~€~€~~€~}€}€~€~}€~}€~€}‚€‚~~€~€~€~~~€~€~~}€}~}€~~€€~€~€~€~~‚€~~~~~~~~~€~€~€}€€~€‚}€€~€€}~~€~€~€}€~€€~~‚€€~~~€~~~}~€€~€}€€}~€~€~~€~~€}€~}€}~~€~€~~~~~‚€€~€~€~€~€~~€~€~€€~}€~€~~}€~}~€~€~€€}€~€~€~€€~~€~~€€~€~~~~€~€€€~€~~~~~€€~~€~€~€~~~~€€}€~~€}~€}€~€€~€}€~~€~€~€~€~€~€€~~€€~€~}€‚~~€€~~€€‚~~€~~~~€€}€~€~~€€~~~€~€€€~€~~€}€~€~€~€€~€~~~~€~€~~€~€~~~}~€€~~~€}€}€~€€~€€€~€~~~~~~€~~~}~€}€~€~€~~~€~€~~€€~€}€~~~~~€~~€~~}€~€}€€~€~€~€€}€€~€€}€~‚€~€~€~~~€~€~}~~‚~€~~€~€~€€~~~~€~~€~€~~~~€~€~~~~€~~‚€~~€~€~€€~€€~~€~~€~~€~€~~~}~€€€~€€~€~€~€~€€~€~€€~€~~€€~~}~€~~~~}~€~€~~~€}€€€€~€€~€}€}€~~€~€€~€~~€~€€}~~€‚~€~~€~}€~€€~€€~€~€}~~~€€€~€~~~€}~~~€~€~€~~~~€~~€€€€~€~€~€}€~‚~€~€~€~~}€‚}~}€~‚€~€~~~~~€~€~~€~~~€~€€~€~€~€}€€~~€~€~€€}€~~~~~€~€€~€~~~~~€~€€€~€~}~€~}€€}€€}~~~~}€}€€€~€~~~~€~€‚~~€~€~~€}€~~€€~€}}~~€~€€€~~~‚~~€}€€€~€~~€€}€~€}€}€~€~}€~€~~~}~~~€}€~€€€~€}~~€~€~€~€€~€}€€~€~~~€~‚~€~~~}~€~}€€€€€~~~~€~€€~€~€~€~~~~~~~€~~€~€~~~€~}€€~€~€~€~€€}€}€~~~€~€~~€~€~‚€~~‚~~~€~€~}€~‚€~€~€~€~€~~~~€~€~~~~€~~€}€~~~€~€~~€€€~€~€}€~}~‚~~€~€~~}€~€€~€~€~€~€€~~}~€€~~€~~€}€~€~€~~‚€~~~~€~~}€~€~€~€~€~}€€€~€~}~~}~~€€€~€~~~~€~€€~€~€~€}€}€~~€~€€€~}~~}~~€€~€~~~~~~€~~€~€~~~€~~€€~€~€~€~~~~~€~€}~~~~~~~€€~‚€~€~~~~€~~€~€~~~~~~€~~~~~€€}€~~€~€~~~~~€~~€~~€~~~~~~€~~€€}€~€~€}€~€~€~~€~~~~~€‚~~€€~~€~~€~~€€~€~€~}~€~€€~~~€€}~~€‚~€~€€~~€~~~~~~€~~~€}~€~€€€~~}}~~€}€~€}~~~~~~~€~~~€~~}€~€€€~~€€~€€~€~€€}€€~€~~€~~€~€~~~~‚~€}€~}~€~€~€€~€€~€€~€~€~~~~€~€~}~~~€~€~~}€€€~~€~€€}€~€~€~~€~}€~€~~~~€~€~~~€~~€€~€~}€€~€~€~€~~€~~€~€€}~‚~~€~€~~€~~€€€~€~~€€}€~~~€~€~~€~~~€}}€}€~~€~}€~€}€~€€~~}€€€~~€~~~€~~€~€~~€~€~~€~€€~~€~€}€~~€€€~€~}€}~€~€~€~€~~~~€~€€€€~€~€~~~~~~€~€~~~~~€~€~€}€€€€~€~€~~‚€€€€~€}€~~}€€~~~€€€~~€~~}€}€~€~€€~€€~€~~~€~€€‚~€~~~‚~~€~€~~€~~}~€~€~€‚~€~~~~~}€~‚€€~€}~~‚~€~€€~~€~~~€~€~~€}€~~€~~€~‚€€~€~~~~€~€€€~€~~~~}€€}€~€€~~~€~~~~~€€~~~}~€}€€€€~~~€~€}€€~~€~€~~}€~€~€€~€~}~~~€~~€€€~~~~€~~€€}€~€~€€~€}~~€~}€€~~‚~€~~}~€€~}€~~€~€~€~€~€~€€}~€~€~~~‚~€~€~}~€~}~€}€~~€~}€~~~€~€~€€~~€‚~~€~€~}€~€€€~~€~€~€~€~€~~€€~~€~~~€~~€€€~~€€}€~~€~}~€~~€}€~~}‚~€~€~~€}~€~€~€~€€~}~€~€€€~€~~€~€~~~€€~~€~~~€~€~~€~}€€~€€€~~€~€€~€~€~€~~~‚~~~€~€~€~~~€~~€~€}€}€€~€€~€~~€~€€€~~~‚~~~~€~€~€~~~€}€}€€~€~€}€~~~€~~€€€€€~}‚~~~€€~€~~~~€€~€€~€~€~€~~€~€~~€~‚€~€~€€~€}~~}€~€~€~~€~€~€~€€€€€~€~~~~~€~~~~~~€~~€€~€~~€~~€~€~€~~~€}€~€€€~~€~~~€~~€~€~€~€~}~~€~€€~€~€~~€~€€}€€~€~~~~€~€~~~€~~}~~€~€€€~€~}~~~€}€~€~~€}€~~€~€~€~}~~€~€~€}~€}€~€~~~€}~~~€~€~€~‚€~€~~€}~~€~€‚~~~~€}€~}€€~€€~€~€~~~~~€~}~~~~€‚~€~~€~~€€€€€~}€~€}€€}€~}€€~}~~~~€~~€~~~€~€~~€~~€~~€~€€~€€~€~~€€~€~€~~~~€~€~€~~~~€€€~€~€~€~€~~~€~€~~~€~~~~€€~€~~€}~€€~}€}€~€~€~~€~€~~€~~~€~€~~~}€~~€}~€~~€}€~}}€~~~€~€€€~€~€~~€~~~€~€~~~}€~€}~€€~~~€~~~~~~€~€~€€~}~~~€€‚~€~€~}~~€~€~~€~€~~}€}~~€~€~€~~€~€~€€€~€€}€~~~~€~€€~€~€~~~€€~€~€~€}€~€~~~€~€€~€~~~~~€~€€€~~~~~€~€€~€€~€€€~€~~}€~€€~~€~~~~€~€€~~€~~~‚~}€~~€~€~~~€~€€€~~~~~€~€~€~~~€~€~€€~€~€€~~€~~€~€€€~~}~€}€€~€~~~€~}€€~~€~€}€~~€~~~~~€~~~€}~€€~~~€~€~€}~~€‚~€~€~~}~€~‚~~~~~€~€€€~~€~€}~~€~~}~€€~~€~€~€~~€~€€€€€~€€~€~€~‚€}€~~~~~€~€~€€}€~€~€~~€~€~€~}€~~}~~~€~~~~~€~€~€~€~€€}~€~~€~€€~~~€~€~~~~€€~}€~~€~~‚€€~~€}€€}€~€~~€~€€€€€~€~~€~~~‚€~~~€~€~~~€}€€~€€~€~€}€~€~€~€€€}~~~~€}~€~€~~~}€~€~€~~€}€~~€~€‚€€~€~€}€~~~~€€~€~€~€~€}€~€~€}€~€~€~~~~~~}€€~~~~€}€~€~€€~€~€}€~~}€~€€~}€~~€~~€~€~€€€~~~~€}€€~}€~€~€~~~}€~€~~€~~~~~€~€~‚€€~€~€~~~~€~€~€~‚€~~~€~€~‚~~~€~~€~€‚~€€~€€}€~~~€~}€~}€~~‚}}€€€~~~€~€~€~~€~€~€~~~~~~€~€~}}€~~€~}~€~€~€€~€~€~€~€~~~€~€~€~€~}€~~~~€~€~~€~€€€€~}~€~€}€€~~€~€~€~€~~~€€~}~~€~€~€~~€€~}~€~€€~€~~~€€€~€~~€~€~‚~~~€}~~€~€~~€€~~~~€~}€~~~~€}€~~~}~€~~~€€€~€}€}€}€~~€~€~~~€~~~€~€~~€~€~€~~€~€€~€~~€~€~}~€~~€~~~€~~~~€‚~~€~~€~~€€}€~€~€~~€~€€€~€~~}~~~€€}€~€~~~~~€‚}€€€~~~€~€€€~€~€~~}€~€~€€}€~€~~}€~€}€€~€~~}~~€~€€~€}~€}€~}}€€}€€~€~~~~~€~€€~€€}€~~}~€€€}€}~€€~€€~€}€}€~€~€~€€€~€~~~~€~€€€~€~~~~}€}€~}~€~~~€}€~~~€€~€}€€€~~€~€~€€}€~€}€€~€~~~€€€}€~~€~€~€€€}~~€~€~€€~€~€~€~~~~€~€€~~~~€‚}~~~€~~~~€~~€~€~~€~€~~~~~~€€~~~€~~€€~~€€‚~€~~~€~€~€~~~€€~~~~~€~€~~~€~€~€~€~}~€€~~€~€~€~€~~~~€~~~~€~€~~€}~€}~€€€~€~}€~~€~€€~€~€}€~€‚~€~~€~~€~~€~€€~€~€~€~}‚~~~€~€~€~~€~€€}~€€}€€}€~~~€~€€€~€~~~‚€€~~~~€‚~€~~€~€~€~€€~~€€~€~€~~€~€€€~~~~~~€~€~€~~~€~€~}}€€~~~~€~~€€~~€~~~~~€‚€~~~~}~€~€€~€~€€}€~~~}€€~€~€~~~~~‚~~€‚~€~~~}€€~€€}€~€~‚€~~~€~€€~~€~}~~€~€~€~€€~~€~€€~€~~€~€~~~~‚€€~€~~~}~€}~€~‚€€~€~}~€~~€€~€~€~}~~€~€€~€~~~€~~~€}€~€€~€~~€~}€}~~~~~~€~~€€~€~~€~~€~€€~€€~€~~€}~~}€~~}~~~€~€€€~€~~€~€}€€}~€~€€~~~~€~€~~~~~~€}€€€€~~€~€~€€~€~€~~€~€~~~€~€~}‚~~€~~€~€€€€~€}€~€~€}~€~€~~}€}€~~‚~~€~€~€~~}€~€€}€€~€€~€€~€~~~€‚~€~~~€}€~~~€~€€~€~~~€€€~€}€€}€}€~€~~~€€‚~~~~€~~~~~€€~€~~€~~€~~€~€€}€~~€~€€~~~~€€~}~€~€~€€~€~~~€~~€€~€€~€~}‚€~~~€~€~~~€~~€~‚~€}€~€~~}~~€€~€€}‚€€~€~~‚~€€~€}~~~€~€~€}€~€€~€~~€~‚€~€}~~~~~€€~€~}€~~€~€~‚~~~~€~€~}€~€~~~~€~~~€~~€}€~€~~€~~~}€~€€€~€~~~~}~~~€}€€~€~~€€~€~~€}€~~~~~€€‚~~‚€~~~‚~~€~€~~€~~~€~€}€~€}€~~€~~~€€~~€~~€~€}€€}€~€~~€~€}€€~~€}€}€}~€~€€€~~~~~~€€€~~~€~€~€€}€~~€~€~~~€~€~€€€~~~~~€‚}~€€~~~€~€~€}€€~€~€~€~~€€~~~€~€~€~€~}€€€~€~€~~~€~€€~€~~~€~€~~~~€~€~~~€~~€~€~€}€~€~~€~€~€€~~~~~€~~~}€€~~€~€~~€~~~€€€~€~~€~}€€‚~}€~~~€~€€~€~€~€~~~€~€€~€~}€~€~~€~~€€€€~€~~~€~€~€~€~€}€}€~€~}€~€€~~€~~~~~~~~~€‚~€€~€~€€}€~€~~€~€€€~€~~€~~€~€~~€~€~€€~€€~€~~€€}€€~€~€€~}€~€~~€~€‚}€~€~~~~€~€€}€€~€}€}€~~~~€€~~~~~~€~€€~€~~~~€~~€€}€}€~~~~€~~~€~~€~~~€~€€~~~~~~~~€}€~€}€~~€€~€~~~~€}€€~€€‚~€~~~~€~€~€~€~~€~}€~€€}€~~€~€~~€~~€~€~€~~~~€~~‚~~~€~€€~€~~€~~€€~€~€€~€~~~€~€~€~~~~‚~€~~€~€€€€€~~~€~€~~€~€~€~}~€~~~~~€€~~€}~€€€~~}€~€~€~€~€€~€~€~~€~€~€~~~€}€~~~€~~€}€}€~€~~€~€~}€}€~~~~~€€~€~~€~€€~€~€}€€~€€~€~€€€~€~~~€~~~€~€~~€~€€}€€~€~€}‚€~~€€~€~€~~~€~‚€~~~€€~~~~€~€€€€€~€~€~€~€~€€~€~~~~€~~~€~~€~€~~}€~€€}~~€~‚€€~}~€€~€}€~~~~€~€}€~€~~€~~€€~€}€~~~€~€€€€~~~~‚}~€~€~~~~€~~€€€€~€~~€~~€~€~€~€}~~€}~~€€~€~~~~~€~€€€~€~€~~€~€}€€‚~€~~}€~€}€€~~€~€~~~€€~€~€~~~~€}€€~€~~€€}€€~€€~€~€~~€~~€€~~~~€~~€}€~€~~~~€}€~€€€~€~€~~€~€~€€€~~~~~~€}€~~€€~€~~~€~€~€€}~~€~€~~€~~~~~€~~~€€~}€€~€~€~€~€~€€~€~€~~€~€€~~~€~~~€~~€€~€~€~~€}€~~€€€~~~€~€~~~€~‚}€€}€~~€€~}€~~€~€~€~€~~€~~~~€~€}€~€}€€~€~€~~€€€€~€~€}€}}~~~€~}€~~€~~€€‚~€~€}€~~€~€~€€}€~}€~~~~€~€}~~€~€€}€~€~€}€~€~}€~€€€€~}~€€€}~~~€~€~€}€~~}€€~€~€€~~~€~€€}}€~~}~~€~€~~~€~€~€~~€}€~€~€€~€€~~€~~~~~€~€~~€~€~€~€}€~€€~€€~~}~€€~€~€~}~€~€~€€~€~€~~€~€~€~€~~}€€~~~~~€€~~}~~€~~€~€~€~~~~~€~~€~€}€~€~€~€}€~€€€}€}~‚~€‚~€}€€~}~}€~€}€€}‚€}~}€~€€€€~€~~~€~€‚~~€€‚}€~~€~€~~€~€~~€~~~€€€~€~€~€}€~€~~€€€~€~~~€}€€~€~€€~~~~€~€€€~€~~€}€€}~~€€~€~~~~€~‚~~€€~~€~~~~€€€~}~€~€~€}~€€~€~€~~~}€}€€~~~€€~€~~}€~‚€€~€~€}€~€}€}€~~~~€~€~€~~~€~~€~~‚€€~€~€€~€€~€€~€~€€€~~€~~~€~~}~€}€~€~€€‚}€}€~€€~€~~~~‚~€~€~€~~€~~€~€}€~~€€€€~€}€€~€~€~€~~€€‚~~€~~~€~€~€€}€~€€~€~~~€~€€}€~~€~~~~~€€~€~~~€}€~~€€}€~}€}~€~€€~€€~€~~~€~~€€€~€}~}~€~€}€~€€~~~~€~€~~}~~~‚€€€~€~€~~~€}€‚~~~}~~€}€€~}~~~€~€~€}~~€~~€~€~€~€~~~€~€€}€~€~~~}~~€€€€~~€~~~€€~~€€~€~~€~€~€€~~~‚~~‚€}€~€€€~~€}~~€~€}€~~€~~€~€€~~~~~~€}€€~€}~~€€€~~~€€}‚€€~€~~€~~€€€~~~}~€‚~€~€~~~~€~€~€~€~€~‚€€~~~~€~€~~‚~~~~~~€€€~€~~~€€~€~€~€~~~~€~€~~~~}~€}€€}~€€~}~~~€€~€}€~~€~~~}€~‚~~€~€~€}€~€€€~~€~~€~€~~€~~~€~}€~~€~€€~€~~€~€~€}€~€€€~€~~€~€~~‚~€~€~~~~€~€~~~€}€~~€~€~€€~~€}€€}€~~€~~€~}€}€~€€~~}€~~~~€~‚€€€~~~€~~~~~€~€}~€~~€€}€~€}€}€~~~€~€~~€~~~~~~€€€€~~€~€~€~€}€€~€}€~€}~€~~€€~~~~~~€~~€~€€~€~~~~€~€~€~~~~€~€€~€~~~€}€~€~€~~~€~~€€}~€~€~~€~€€€~€~~~~~€‚~€~€€~€}€~~~~~}~€}€~~€~€€~€~~€~~€}€~€€€~~~~~~€~€€~€}~~~€~~€€~~~}}~~€~€~€~}~~~€~€~€~~~}€~€~€~€~~€}€~€}€~€~€~€~€~~~€€~€~~}€~}€~€€~€~~~~~€~€~€}€~~~~€~€~~}~~‚~~€~~€€~~~}€€}~€}€}€~€~}~€~€}~~€}€~~€}~€€€€~}€~€}€€~€}€~€€~€~~~~~€~€~~~~€}€~€}€~€€~~€}€€~€€}€~~€~~€}~~~€~~~€}€~€~€~€€€€}€~€~€~€~~~€€~~€~~€~€€~~~~€~}}€€€€€}€€~~€€~€€€~€~~€~€~€}~~€}~€~‚~€‚}~€}€~~~~€€~€~~~~~~~€}€~~€~~}€~‚€€€~€~€~€~‚~~~€}€€~~€~~~~€~}~~€~€~€~€€~€~‚€€~~€€~€~€~~}~€~€}€~~}€~€€€~€~€~~~~€~€‚~~€~~~€€~€€~€€}€~€~~€~€€~~~~€~€}€€€~€}~~€~€~€~€€~€~€~~}€~€~~~~~~€~€€~€~~~€€}€€~~€~‚~€~~~~€€~~~~~~€~€~€€€‚~}€~~€~€}€€~~€~~€~~€~~€€~~}€}€€~~~€~€}€~€}€}€}~€~€~€~~~~€~€~~€€~€~~~}~€~€~~~€~€~€~€~~€~~~€~€~€€~€~€~€€~}~~€}~€~€~~~~}~~€~€~~~€}€€~€€~€~~€€~~€~€~€~€}€~€€~€~~€~€~€~€~€€~€~€}€~€€€~~€~€}€~~‚~€~€~€~~~~€~~€€€‚~~€~€}€}€~€~~€~€€€€~€~}€~~~~~~€~~€~€~€~€~€~€€~€~~€~€€€}€~€}€€~~~€~€~}~~~€~~€~€~~€€}€~~~€}€~€€€~‚~~€~~~~~€~€~€}~}€~€€}€~€€~€~~~€~€~€€~}~‚~~€}€€€~~~~~€~€~€€}€~€€~€~}€€€€‚~€~~€~~~}~€~~~~}€~€€}€€~€~~€~€}~€}€~~€~~~€}€~€~~~~€~€~}€~}~~~€~‚€~~€~~€~~€}€~€€~~~~~~~€~~€~€~€~€‚~~€~€€~€~~€~€~€}€€~€€~~€~~~~~€~€}~€~~‚~}€~€}€~~~€}~}€€~€~~€}~~€~€~€~}€~~€~€~~€~€~€~~€€}€~€€~€~€~€~~€~€~€~~~€~€~~€~€€€€€€~~€~}€}€~€€~€€~}~~€~~~~‚~~€}€~€}€~€€~}€~~€~~€~~€~€~~~‚€~~~~~~~€~~~~€€~€~~€~~€~~€€~€~€~~~€~€‚~~}€~€~€~}€~€€€}~}€~€~€~~€~~€}~~€~€~~~‚~}~€~€~€~~~€~~~€~€~€~€~~~€€}€~~~}}€~€}€~€~~~~€€~€€€}~€~€}€~~}€~€€€~€~~~~~‚~€}€}€~~~€~€~€€}€~€~€~‚€~~~€€€~€}~€~~€}~€€~~~€}€€€~€€~€~€~~‚€~~~‚€€‚~€~€~}€€~€~€}€€~€~~~€~~€€€~€~€~~}~~~€~~€~~€}€~}€€~€~~~~~€€€~~~~€}€€€~€}~~~€}€€~}‚}€~~~€}€€€~~~~‚~€~€€~€}~}€~€~€~~€}€~}€~~€~€~€€€~~~€~€}€~€}~€~€~€€}€~€}€€~~~€~€~~~~~€~€}€€~~~~€~~€€}€~~€~}~€}€~€€~~‚~~~€}€€~~€~€~€~€~€~€~€~€~~€~~~~€€~~€~~€~€}€~€~~€~~€~€~€€~‚€~~€~}€~~€~~}€~}€~€~~€~€€€}€~~€~~~~‚€}~~€~€~~~€~€~€}€~~~‚€€€~€~~€}€~€~~~~€~~~~€~€€~€~‚~€~€~€~€€~€~~€~~~~€€~~€~~~€~~~~€~€}€€~€~~€~€€€~}~~~~~€~~€~~€~€€~€€~€~€~€~~€~€€€€~€~~‚~~~~~~~~~€~€~€}€~€}€~~~~‚€€€~}€~~€}~€~€~~~~~€~€~~€€~}€~€€~~~~}€~~‚}~€}€~€€‚~}~~~€~€~€€~‚~}€~~€~}€€~€~~€€~~~~~~~~~€~~€~€~~~}~}~€€€}€~~€~€~€~€€~€€~€}~~~~~€~€~}‚~~€~~€~€~~€~€‚~€~€~€~€€€~€~~€~~}‚~~}~€€€€~€~~€~€~}~‚€~€~~~€~~€~~‚~~~~€~€~‚€€€~~~€}€€~~€~€‚~€~~~}€~€~~€‚~~€~}~}€~€~~~~€}~€€~~€~€~~€}‚€~}€~~~€€~€~~€}~€€€~}€}€~€€}~€~~~€~~€~€~~}~€~~~~€~€€}€~€€~€~€~}€~~€~~€~€~~€~€~~€~}€~€€€~~€~~€~‚€~~€€€~€~~~~~‚~~€~~~€~~€€€~€€~€~}€~~~€~€€~€~~~€~‚€}~~€}~€~€}~€~~‚€~~‚~€~~€~~€€€€~~~€~~~~€~€}€€~€~~~€~~€~€}€€~~€~~~‚€€€~~€~~€~€~€~€~€~~~~€}€~€€~€}€~~~€~~€~€€~€~~~}}~~€€}€~~~~~€}€~~‚~~€~‚€~~€~~~~€}€~€~€~€}~~€}€~€€€~€~}~~~€~€€€~€}€~~~€~€}~€}€€~~~€~€~€€€~~~~~~~€~€~~€~~~~€€~~€€~€~€~€~~~€~~€€~‚~~~€}}€~€}~~€~€~€€}€~€~}€~~~€~~~~~€}€~~€~~~~€~~€}€~~}~~~~~€~€~~~~~€~€}~€~}€~€~~€~~~€€€~€~~€~€~‚~~€~€~€~€~€€€~€}€~€}€~~}€~~‚€~~~~€~€~€‚~€~€~€~€~€~€~€~€~~~€~~€~~~€‚~}~~€~€€‚~~€~€~€~€}€~~€}€~€~~€~~~€~~€}~€~~€}~~€}€}€~€~€€~€~}€€~}‚‚~~€~~€}~€~€€~€€~}€€}~€~~€~€~~€~~~~~~€~€~€}~~~€~€‚}€~~€€~‚€~€~~€~€€€~€~}~‚~~€~~€~€~~~~€~‚€~€€~~€~€~€~~€~€€€~~€€~€}€~€}~€~~~€~€~€~€~}€~€~€~€~€}~€‚~€~€~~~~~~~€€}€~€~€~~~~€€~~€~~~‚~~~€~€€~~}~}€~€€€~€~€€~€~}~€~€€~€€~~€~€€~€€~€~~€~~€~€~€~€~~~€~€€€€€€~~~€}€~~€~€€~}~~€~~€~}€~~}~€~€€€€~~~€~€~€~€~‚~~~~€}~€~~~€~~~€€~~€~€}€~~€~€~€~~}}€~€‚~~~€}€~~~~€€~~~€~€}€€~~€~€~€}€}~~€€~~~~~€€‚~€~~~~€€€~€~€~€~~~‚€~~€~~~€~€€‚~~€~€~€~~€~€€}€~€}€~€~€~~~€€€~€~~~€~~~€~€~€~€~~~}€~~€€}€}€}}€~~~~€€~~€}~€~€~~~€~€~€~~~~~‚€€~€~€~~‚€~~~€€~€}~~€}~~~~€~€~€~~~€~~€€~€~€~€~~€~€€€€~€}~~€}~~~~~~~€‚}€~€~~~€~~~~€~}~}~€‚}€~€€}€€~€~~~~€€~€}€~€~~‚~~€€~~€~~~~€‚~€€~€~€€}€~~}€}€€€~€~€~~~~€~€‚~}€}~~~€~€€~€}€€~€}~~~~~€€€~~~~~€}€~€€~~~~€}€}~€~€€~}~€~€€€~€~~~~€€~€~~€€€~€~~~€~€€~€€}€€~~€~€~~~~~~€€~€~}~€~€~€‚~€~~~€~€~€~‚~}€~€~~}~~€~~~€}€}€€~€~€~€~~€~€~€~~~~~€~~~~~~‚~€}€~€€}€€€€€~€~}€~€}€~~~€~~~~~€}~~€}€~€~€~€~‚€€}€~}€~€}€}}€€~€~€~~~~~~€~€}€~€~€}€~€€€~€}€}€~€~~€~~~~€~~~~€~~€~€~€}€€~€~€~~€~€€€~€~}€€~~~‚~~~€€~€}~€~~€€}€}€€~€~~€~€€~€~€}‚~~~~€~~€~~~€~€‚€~€~~€~€}~~€~‚€€€€€~~~~~~€€~€~~€~€~€}€~€~€}€~~~~€€€~~€~~~€~€€‚~€}~~€~~€~€}€}€~€}~~€€€~€~~‚~~~~€}}€~~~€~€~€~€~~€~~~€€}~~}~~~€}€€~~€~~~€~€~€~~~€~~}~€€~€~~~}~€~€}€€~~~~~~€~€€}€~}€‚~€~€~€€€~~€}€}€€€€€~€~~€}~€~€~€~~}}€~€~€€€}~~€}€~€€}€€~€~~~~}~€~~€~€€~~€~~~€~€€~€~€}€~~€~€~~~~€~€~€}€~€~‚€}~€~€€~€~€~€~€}€~~~~€~~~~€~€}~~€}€~€}}€~€}~~~€€~€}~~}€~€€}€€~€}€~‚€~~€~€~€~€~€€~~€~~~€~€~~€‚~~~€~€~~€~€~~~~€€~~€~€~€~~€~€~~~€~~€€~€~~€~€€€~€~~€~~€€‚~€~€~~‚€}‚}~€€~€~€~€}~~~€~}€€~~~€~~~€~}€~~€~€‚}€~€~€~€~~€~€~€~€~€~~€~~€}€}€€~€~~~€~€€~~‚~€~€‚~€~~€€€€~~€}~€~€~€~€~~~€€~~~}€~€‚~~€~~€}€€}€~~~‚~~~‚~€€~€€~~~‚~€~~€}€~~€€~~~~~€}€€€€}€~~~€~‚~~€‚~€~~€~~€~€~€~€€~€~€~~~~€~€~€~€~€~€~€~~}€}€€}€~€~€~~~}€€}€€~~€~‚€€‚€‚~€}~€€~€~€€}~€~€~~~€}€~~€~€€~€~‚€~€~~~€~€}€~€€~~~~~€€‚~~~~€~€~€~~~~‚€~~€~€~€€}€~€}~€~~~~€~€~~~€~~€~€€~€}€~€~~‚~€~€~€€}€~€~~~~~€~~~‚~€~€~~~‚€€~}€€~€~€}€~}€‚€~€}€~~€~‚€~~~‚~~€~€~~~€~€€~~~~~€~€~€~~€~~€~€€~€}€~~~~€~€€~€~‚€€~~€}€€~~€~~€~€€‚€~€~~€€€}€~~~€€~€€}€€}€~€~~~~€€}~€~€~€€~€~~~€~€€~~€~~€~~€}€~~~€}€~~~}~~€}€€~€~}€~~‚~€~}€~~~~€‚}€}€~~‚€~~€~€€~€~~~~€~~~€}~€€€€€‚~~~~€~~€}€~€~~€~~~€~~~}~}~€~€~~€~}€€~€}~~€~€~€~~~}~€~‚~€€€~~€~~€~€}€~~~~~€~€~€~€}€~~~~€~~€‚}€~~€~€€~€~~€~€~€~€€~~~€~~€~~€~€~€~€~€€}€~~€€€~~~~€~€€~}€~~}~€€~€~~€~~€€~€~€~~€~~€~€~€~~~€}€€~€€~€~‚€~~‚~~€~}€~‚€~~~€€~~~~‚~€~€‚~€€~€~~~€~€~~€~€~~}€~€€€~~€~~~~€~€~~~‚}~€}€~~~€€€~~€~€}~~€~€€€€~~€~~€~€~~}}~€‚}€}}€}€€~~~}€~€~€~~~~}€~€~~€~€}~€~€~€€~€}}€~€~~~~~€}~~€}~€€~€~€~€}€~€~€~~~}~€€}€~€~~~€€~€~€~€~~~€~€€~}~€}~€€}€€~€~~~€~€}€~~€~€€~~€€~€~€}~€~~~~€~~€€~~~~€~~€~~~~€~~€€~€~}~~€~€}€~€€~€~€~~~€~€€~€~~~~€}€€}€~~}€~€€~€~‚~~~€~€€~€~~}€~€€~€~~~€~€€~~~€~€€~€~~€~€~~~€~€€~€~€}€~€}€~~~~~€~€~~~}€}€€€~€~~€~€€~~€~€€~~~€€~~€~€€~€~~~~~€€~€}~~€~~€~€~€~€~€~€€€~}€~~€~‚€€~€}~~~€€~~~~€~€~€~€~€~~~€~€€‚~~€~€~~‚€}~~€}€~€€€~€~€~~~~‚€~€~~€~~~€}€~€€~€~~€~€~€€}€}~~}}€~~~}€}€€~€~}€€~€~~~€€~€}€~~~~~€~€~€€~~€€~~~~~€}~€~€~€€~€}€~€~~~~€~€~€~‚€~€~€}€~~€~‚‚€€‚~€€~€€~€€}€~€~€€€~€~~}~€€~~~€~~€~~€~€~€~€~~~€~~€~€€}€}~~€~€€~~}€€~€~€~€€€~~~~€~€~€~~~€~€€~€~€~~~€~€€~~€~~~‚~‚~~€~€~€~€~}€~~}€~€~€~€~€~€~~~€€€~€~~€€€€~€~~~~€}~~€~€~~~€~€€€}€~~~~~€}€}€‚~€~~~~~€~~€~~€~€~~}€~€~€€~€~~}~~€~€}~~~€~~€€~~€~€~€€~}€~~~€€€~€~‚€~€~~€~€~€€‚~~€~~€~€€~}€~~€~~~~}€~€~~~~€€~€~}€€~€€~€~~€~~~€~€~€}~~~€€€€~€~~€~€€€€€}~€}€~€}~~€~€€€~~~}~€€~€}~~€~€€~€€~€~€}~€~}~€~€~€~€~~€€~~€€~~€~~€~€~€~€}€~~€~~€~€€~€~~~€~~€}€~~}~~~€~~€~~~}€€~€~~€~€€€~€}€~~€~€€~€~€~~€~€~€€~€~€~~}€~€€~~~€~€~~~~€}~~~€~€€~€~~}~€€~~~‚~~€}€~}€}€~~~~}~~~€~€€~€~~€~€€}€~~€~~€~€}€€~€~~€}€€~~~~~€~~€~€~€~~€€€~€~~€}€€€€~€~€~€€}€~€~€~€}~€~€€€~}€~~€~€€~}}€~€€~~€~~~~€€~~€~€~~‚~~~~€~~€~€€‚~€}€~€}€}~~~~€€~~€~€~€~€~~~€~~~€~~~~€}~~}~~€~€€~€~€~€}~€~€€~€~€~€~€~‚€~€~~€~~€~~~€}€€~}~€}€~~~€€}€~}~€~€~€~€~~€~~€‚~~~~€~€€~~~€~€~€}~€€€€~€~~€~€~€}~~€‚~€~€~~€~~€~~€~€}€€~~~€~~~€~€~€~€}~€~~€~~€~~€€~€~~~€~€€~}~€~~‚~~€~}€~~~€~€€~}€~~~~€}~~}€~€€}€~€€}~€~~~~~€~€~~€~~~~~€€~‚~~~€~~€€‚~€~~}~€~€}€~€}~€~~~€~€~€~~~}€~€~€~€~€~€~~€€~~€~~}~€~€€~€~~€~€~~~~~€}€~€€}€~~~~~€€~€~~€}~€€~~€~~€~~€~€~}€}€€~€~€~}~~€~~€~~€~€~~~€~€~~‚€}~~€~~€~€~€~~€‚}€~€€~€~~€‚~€~€~€~€~€€€~~€~~€~€~€€~~~~€€€~€}}€}‚€~€~‚~~~~€}€~€~~}}€~€~‚€}~€€~€~~~€}~€€~~}€~€€}€~~€~~€~~€~€€€~€~~~€~€€€~~~€€~€~~~€~€€~€~~€€€~€~~~}€~€~€~}€~€€~~€~€€~€~€€~}~~~€~€~~~~~}~€~~€~}~~€~~€€€‚~€~~€~€}~~~~€}€~€~€}€~~~~~€}€~€~~€~~€€€€~€~}~~}€~€~~€~€‚~~~~€}€€€~~~~€~~~~€~€}~€€~€}€~~~~€€€~~€~~~€~€~€~€~€~€~~~~~€~~}€€€~~€~€}€~~~~~~€~€~€~~~€~€~€~~€~€€~~~€}€~~€€~€~~€€}€~€}€€~~~~€~€€€~~~~€~€€€~~~€~~€€~€~~~€€€~}€}~€~~€}~€~€}€~~~~~~€~€~€~~~€€~}~~}~€~‚€~~~~~~€~~~€~€~€~~€€€~€~~€~€~€~€~~~~~€~€~€~~~€~~€€€~€}~~~€~€€€~~~€~€€~€~€~~€~€€~€~€~~€~€€€~}€~~€}~€€~€}€~€~€}}€~€~€€~€€~~€~~€}€~~~~€~€}€~€~€~~~€~€~~€~€~€~~~€~~€~€~~~~€~€~~€~€~€~€~€~€~€€}€~~~~~~€~~€€}€~~~~€~~‚~€€~€~€~~€~€€~€~~~€~~~}~~€~~~~€~€€€~}€~~€}~€€~~€~€~€}€~€~€€~€~~~€~€€€~€~~~~€~€~~}€~~~€~~~€€~~€~~€~€€~€~€~€€~€~€~~€€~~~~}~€€~~~~€€€~}€~€€€}€~~€~}€~€~}€~~~~€~€~€~~}~€€~€}€~€~€~~€~€€~€~~€~€€€~~€~€€€€~€~~}€~€€€~}€~~€~€€~~~~€~~~~}~€~~~}€~€~~~€}}~~€~‚€~~}~€~~€~~~€~~€€~€~€~€}~€€€€~~€~~€}€~€~€~~~€~~~~€~‚~}€}€€€~€~~€~€~~€~€€~~€~~€~~€~€~~}~€‚~€~~€~€~€}€~€€~~€~}€~~€~‚€~€~€~€~~~€}~€€€}€}~€~€€€~~~€~€~€€~~~~€~€~€}€~~€~€€€€~~€~€€~€~€~€~€€}€~~‚}~€€}€~~~€€~€~€~€~€~€~€€€~€~€~~~€~~€~~~€~€~~~}€€~€~~€~~€~~‚}~€€~~€~~€~€€~~€~~~€~€~€~€~~€~€€€‚~~€~€€~‚€€~~€~~~€}€~€~~~€~€~€~€~€~~€~€€~~€}€~~~€€~€€~~€~€~€€€~~~€~~€€}€~~~€~€~€}€€~~~~€~~€€}€~€~~~~~€€€~€~€~€~€}€~€~€~€}€€~~‚€~€~‚€€~~~~€~€~€€~€~}€€€~~~~€~€~~€~~€~€~€~€~€~~‚~€€€}~~€~€€~€}~~€~~~€~~~€~€€}~~~€~€€€~€~€~€€~}€~~~€€~€~€~€€~€~€~€€~€€~~€~~~~~€~}‚€~€~€€‚~~~~~€~€~€€~€€~€~€~~~€€~}‚~~~~€~€€~€€}€~~€~€~}€}‚~~~€~€}~€~~~€€~‚~€~~~~~€€}~~€~~~~~~~€€}€€€€}€~€}€€~~€~€€~€~€~~~€~€€~€~€}€€~€~€~~€~~~~~€~€€~€~€~~€~€~€~~~€€~€~€€~€~€~‚€~€~}‚€~~‚€~€~€~~~~€~~~€~~€~€}€~~~~€~€~€~~~€~€€~€~~~~~€~€€~€€~€~}~~~€‚~€€~€~€~€~€~~€€~€~~€~€~~~€~€~~~€€€}€}~~€~€~~€~€€~~~~‚}€~€~~€€€~~€~€~€€~€~€€~€€~~~€~€~~~~~€~~€€}€~~~~~~~}~}€~~~~~€~€~€}~~€€€~}€~~~€~€€~~}€~€€~}~~€~€}€~€€}€€~}€~~~€~€€€~€~~~€~€€~€€}~~€~€~‚~~€~~€~€~€}~€~€‚}€~€~€~~€€€~€~~~€~~‚€~~~}€~€€€€€}~€€€~€~€}€~€€~€~~€}€€~€~~~€€€~~€€€~~€~€~€€~€}~€~~€~~~€~~€~€}€€€€~~€€~€~€€~~~}€€}€~~~~€~€~}~~€€~~€€€~~~~~~€€€€€~€~}€~€~€~€€€}€}~€€~€~~~€~~€€€~€~€}€~€~~€€€~€~~~}€~€€‚~~~}}€~€€}~}€~€~‚~€~€€~€}€€~€~~€~€~~~~€~~€~~€€~€€}€}€€}€€~~€€~€~~~€~~~~~€~~€~~~€~‚€~€}~~~€€~€~~~€~‚€€€~~€~‚~~~~}€~€~€}€~~}€~€€€~~~~€~€€~~€~€~€€~~}€~€~~~‚~€€‚~€~€€~~~~€‚}€}€€~€~€€~~€~~€~~€}€~~~€~€~€‚~€~€~~€~€€~~€~~~~€~~~~~~€~€~€~€~~~€€~€~~~~€€~€~€~€€~€~}~~~€~€€€~~€€€~~~€~€~€~€~~€~~~}€~€€~~~~€€€€~€~~~~~‚~~€~~~€~~~~€}€~€~~~}€~€€€~}€~~€~~€~€}€€~~~€~~€~€€€~€~~€~€€€~}~€~€€~€~~~€€€}€~~€~€~€~€~~‚~~€~€}€~€~€~€€~€€~€~~€~}€~€~€~€~}€~€~€€~~~‚~~€~€€}~€€}‚€}~}}€~€~€}~~€~~€~€~~~€~€€~€~~~~~~€~}€~}~~€~~‚€€~}€~}€~€~€~€~€~~~~€~‚~~~~€~€}€~€€}€~‚€~~~~€~€~}~‚~~€€}~€}~~~~€~€€€~€~~~€~}€~€~€~~€~€€~~~€}€€~€~€}€}}€~€~€€€‚}€}‚€~~~€~‚~~€€~€~~}~~€~€}~€}‚~}~~€~€~€€}€~€~~}€~€€~}€~}~‚~€~€~€€~~}€~€~€~€~~~~}€~€}€~~€~‚€€€~€}~~~‚~€~}€€}€€€~‚€€€}~€~~€€€€~}€~€~€€~€€~€~~~~~~~€~€~~~~€~€€~€~€~~~€~€€~€~€~~~‚€}€}}€€~€~~~€~€€€}€~~~~~€~€€}€~~€~€€€~~~~}~~~€~~}€~€}~}€~~€}€~€~~€~€}~~~€~~~~€‚}€€~~}€~~€~€~€€€~€~~~~€~~~€~‚~€~~€~~€€~~~}~€€~€}~€€}€~€~€~€~€€~~~€~€}€€~€~€~€€€€~}~~~€~€€€~€~~€~€~}€~~~€~~€~€~~€}~}~~€~~€€€~€~~~€~€~€~~~€~€€~€~€~€}€~€~€~€€‚~€~~~~€€~€}~€~€~~~~~~€~~€€~€~€~~~€}€~€~€~€€~~€~€~€€€€~~€~€~€€~~€}€€€~~€~€~~€~~}~€~€~~~~€€€~~€~~~~~~€~~€€~€~€~~~€~€~€€}€~€~~€‚~~~€}€~€€€~€€~€~€~€~~€~€€€~€}~~}€~€€‚~€~~}~~€~€~€€}€}€~~‚€~~}€€~€~~~€}‚~€~€~€~€~€~~~~€~€~€€~~~~€€~€~€~~~€~€~€~€~€~~~€~~€€~€~~‚€~~€~~€~€€}~~}€}~€~~€€~~€~~~~€€‚~€}~~~~€~€€€€~~~~~~€~€~€€}€€}~~~€€~€}~~~€}~€~€}~~€}€€~€€~€~€~€}€}~€‚~}~~~~~€€~€~~€~~~~€~€~€€~€‚~€~~~~~~~~~~}€}~€€€~€~~~€~€~€€}€~€~€€~€~~~~€~~€€~~~~~}}~€~~€~~€~€~€€~€}€~~€~~~~€~~~€~€~~€}€€~~€~€~~€~~~€~€~€~}~€~~€}€€~€~~€€~€~€}€~€€~€}€~~€~~~€}€~€~~€€}€~€~~€~€€€}€~~€~€~€~€~~~€~~~~~€~€~~€~€~€~€~€~€~€€}€~€€~€~}~€~€}€~~~€}€~€€€}~€~€‚}€€~€~€~€~€€€~€~€~}‚~~}€}}~€~€~€}€~~€€~€€}€~~€€€~}€~~~~‚€~€~~€}~~~€€€€~€~€~€~€~~€}~€€~~~€~~~~~~~€~~}€~‚€}€€~}€€~€~~€€€€}€~~~~€}~€€~€}~~}}€~€~€~€}€~~€~€€€~}€~~}~~€~~€~~€~~€~~€~€}€~€~€€}~~€€€~~~~~€~€~€€}€€~€~‚~€~~~€}~€~€€~€~~€~~€~€~€~€~~€~€~~}€}€~~‚~~~‚‚}}€~€€~~€~}€~€€}€€~~€}€~€~~~€}~~€~€‚€€‚~~€~€€~€~€~}€~~~€~€}‚€~~~}~~€~~€€€€~~~€}€~€}€€~‚~~~~~€~€~€~~~~€~€€€€€~€~€~€€|€~~‚€~~~~€~~}€~~~~~€€~}€~€~€}~€~€~~€~~€~€~~~~€~~~€~€€€‚~€~€~€~€~~~~€~~~~‚€~}~€~~~~€~~€€€~€~}€~€~€€~€~€~~€~}~~€~€~~€~€~~€€~€~€~~€~~€€~€~~€~~~€‚~}~€}~€~€€~€€}€~~€~~€~€~€~~~~€~€~~€}€~~€~~~€~€€~€~€~€€}~€}€€~€~~~}}~€~€€}~}~~€}~€}€€~€~~}~€~€€~€~~}~€~~€€}€~€~€~~€~€~~~€}~‚~~€€€~€~~€~€~~€€~~€~~}€~€€~€~~€~~~~}~€~€€‚~€€~~~€}€€~€~€€}€}€}~~€€~‚€€‚~€~~€~~‚~€~}€€€}~€~€~€~€~€}€~~€~~€€~€~~~‚~~~~€~~~~~~€~€~€€~~€~€~€}~€~€~‚€~~~~~€}}~€€€~~€~€~}€€}€~~€€~€~€~~~~‚~€}€~€~~}€~€~~€~€~€}~~€~~~~€~€~~~~}~€~€€}~€~€~}€~€}~}€~~€~~~~~€~€~~}€~~~€}~€€‚~~€~€}€€~~€~~~€~€~€~~~€}€€€~~€~€}€€}€~€€€€~€~}‚€}~~~}€}€~€}€~~~€~€€€~€~€~€~€}€€~€€~~€~~€~~€~€~€~~~~}€~€€€~€~~~€}~~€}€~€~~€~€~€~~~€~€~€}€€~€~~€~~€~€~~~€~~€}€}~€}€~}€~€}€~~€~€~~~€~€€~~~€~€~€}~€~~}€}~~~€~€}}~€~€€~~~~~€~‚~€~~€}€~~€€~€~~€~‚€~}€~€~€}€}~€}~€€€€~€~~~€~‚~~~}~€~€€}~~~€‚}€}~€~~~~€}€€~€~€~~€}~€€€~~~~~~€~€€‚~€~~~€~€€€~~~~~‚€€~€~~~}~}€~€€€€‚~€}€~~€~€~€}~~€~€~€~€~~~€€€~~€~€~€~€~‚€€}€~€~~€€~~~~~€€~€~~€~€€~}€~€‚~€€~~~€~~€~~€~‚€~~€‚~€~€€€€~~€~€~€€~€~€~~€~~€~~€~€~~~~€~€~}€~€€€~€~€€}€€}€~~€~~~€~€€~~€~~~€}~~€€~€~~€~~€€}€~~€~€€~€€~€~€~€~~~~~€~€~€~~€€€~}~€‚~~~~€~~~~€~~€~€€~}€~€~€~€~€€€~}~}‚€~~~‚~~~~~€~~~~€€~€~~€~~€€€~}~€~€€~~€~€€€~€~~~~~€€€~€}€}~~€~€€~€~€~~€~~€€}€€~€€}€}€~~~€}€~€€~€€~€~~~~€~€~€}€}€€~~€~~€€€~€~€~~€€~}~~~~~€~~€~€~~~€~~~€~€~€€€~€~€~€~€}€€~~~~€~€~€~~~€~€~€€~~€~~~€~~~~€~~~~€~~€}€~~~€}€~€€}}~~€‚€}€~~}€~€€~€~~€€~€~€}€~}~~~€~~€€€€~€~~€~€~€~~}€€~‚}€~~~~~€~€~€~}€~~€}~€~€€~€~~~€€~€~€~~~~€€€~}~~~€€€~~~€~~~~€~€~€~}€~€}~~~~‚~~€~€~€~}€~~€€€~€~€~~~~~€~€€€€~€~}€~€~€~~€~€€~}€~~€~€€€€~€~~~€~‚}€}~~€~€€€~~€~~€}‚€~~€~~€~€‚~€~€~~~~€€‚~€~€~}€}€€~}€}~€€~~€~€}€~€~€~~€~€~€~~€}€~€€€~€~~€~€€‚}}€}€€~€~~~€~€€~€~}€€~€~~}~~~€~~~€~€€~~~~~€~‚~‚~~~~€€‚~€~~€~€~~~€}€~€}€}‚€}~~€€~~~~~~€}€~‚~~~}€~€€~~~~~~€}€~}~~€€~~€~~~€~€€€~€~~~€€~‚}€~€~€~}€}€~~~~~€}~}€~~~‚€}€~~~€~~~€}€~~€€~€~}‚~~~€~~~€~€€}~€~~€€~~}~}€}~€€~€~€~~~€~€€~~~€~€}€~}€~€~~€~€~€~€€~€€~~€~~~€~~€€~€}€~~~‚~}€~~€€~€~~€~€€~~~}€€~€~€~~€~€~€€~€~~€~€~€~~€~~€~}€~~~~~€€~~~€~€€€~€~}€}€~€~€}€~€€}€~€~€~~~~€~€€~€~~~~~€€}€~€€€~~€~~€~}€€~€~€~€~€~~€~€~‚€€€~~~~~€€~~~€~€€~~€~~€~€€€~€~~€~€€}~€~€~€~€~~~€~~€~~~~‚€€~~~€~~‚€€~~~€~€~~~€~€}€€~€~€}‚~€}~~~~€~€€~~€~€~€~}~€€€€~~€~€€€€~~~~‚€€~€~~€}€~‚€~~€~}€~€€€€}€}~€}€€~~~€€~~€~~~€~~~~~€~€~~~~€~€€€~€~€~€€~‚€~~}~€~€~€}€~~€~~€€€~~~}~€~€~}~~€~€~~~€~~€~€}€~€€}€~€~~€}€€€~~~~€~€~€‚~€~~~€~€~€~~€€}~€~€€~€~€~~~€}~€€~~€~€€€~}€}€~€€~‚~€€~€~~‚~€€~~~~€€‚~€~}€~~}‚~~~~€‚}€~~€~‚~~€~€~€~€}}~€~~€€€~€~}~~€~€~~~~}~€€~~}€~€~~~€~€~€~€~~~€€~€~~~~€~~€€~€~~€}€~€~€~€~€€~€€~€~~€€€~€~€~‚€~~~~‚~€~€~€}~~~€}€€~~}€~‚}€€~€€}€~}€~€€~€~€~~~€~~€~€~~~€~€~~}~~~€}~€€~€~~€~€~€€~~~~€~€€~~€}€€~€~€~~€~€€~~~€}€€~€~~~€~~~~€~}€~~€~€~€~~€€~}€~€}€€~€€~~€~}}€~€€}€~€~~~‚~€}~€}‚~~€}~€~~~€~~€~€€}€~€~}~€~€€‚~€~€~~~~€~€€~~~~}~€~~€~€~€~~€~‚€€‚~€~€~€~€~€~~€~€€~€~~~~~€€~~€~}€~€€~~~€}~~€~€€~€~~~€~€€~€€~€~~€~~~€~€~}~~}}€‚~€~€~€€~€~}€~~~~€~€}€€~€~€~~~}€}€~€~~€~~~€~€~~~~€}€~€~€~€~€€~}€~~}€~~~€~€€~~~~~€‚~€~}€~€~~€~~~€~€~~€}~}€~€€~€}~~€~€~€~~€~~€~€‚~€~~~€~€~€~~€~€€~€€}~€~~~~~~~~~€}€€~€~€~~~~~€~€~}€€~~€~€€‚~€~~~€~~€~€}~~‚€}~€€~~~~~€~~~~€~~~€}~€€~~}€~‚~~~~~~€~~€~~}€~€~€}€~~~~~~€~€}€~€~€~~€€€~€~~~~~€€}€~€~~~~~~~€~€~€€~~~~€~€€~~~~€~€€}€~~€~€~€~~€~~€€~€~‚€~~~~~‚~€}€~€~€~€‚~€~~~€€€~~~€~~~€~€}~€€~€~~€~€€€~~~~~€€~€}€~~€€€€~~~€~~€~€~€~€~€~~~~€~~€€}€~€~€~~€~~‚~~~~€~€~€~}~€~€~~€~€€€~€~~~}€€€~€~~€~€~€€~~~~€~€}€~~€}€~~~~€€~€~€~€€~~~€~~~‚~~€‚~€}€}€~€~~€~€}€}€}€~~€}~~~~€€‚}€€~~€~€~~}€€~€}€~€~€~~~~€~€~~€~~€~‚~~~~€~€}€~~~~€€}€€~~~}€~€~€~€~~~€~€~~~~€~~€~~~~~€~~~€€}€~€~~‚~€~€€€€~€}~}~€~€~€~€~~~€~~€}€€~~~‚~~}€~€€~~~€€~€~€~€~~~€~€€~~~~€~~€€€~~~~~€~~~~€~~~€~‚}}€~~€~~~€~€~€€~~€~€~~‚~~~}~~~}€~€€~€~~€~€~€~~~~€~€~€€~€}~~€}€~€€€€~~~€~€‚~€€}€}~€~~€‚~~€~€~€€~€~€~~€}€~€€~}€~~€~€€€~€~€~~€~~€~~~€~€~€~€~~€}~~€~€~~€~‚~~~€~€€€}~€~~€€~~}~€~~€~~~€~~~~~€~€~€€~~€~~€~~€~€}€}€~€}€~}}~~€~~€‚~~€~€}€~~~~~}€~€}€~‚€~~€~€~€~€~~€€~€€~€~€}~€~~~€€~€~~€}€}~€~€~€~~~€~€€€~~€~€}€€€€~~~~€}€€~€~€€~€€}€~€~€~€~~~~~~~€~€€~€~~~€~€~~~~~~€~€~~~~€~€~~~~}~€€}~€~€~~}~~€~€€~€~~€}€~€€€~}€~~}€€‚~~~~~€~€~~}€~~~~~}€~~}~~€~€€~€}~}~€€€}}~€~€€~€}~~€~€€€~~€}€~€~€€~€~€~~€}€€€€~€~~€~‚~~~~~‚~€}~€€€€~€}~~€}€}~~€~€~~~€~~€€€~~~€~~€~€~€~€€€~~€€~~~~~€€~~~}€€~~€~~~‚~~€€‚}~~}€~~}€‚}~€~‚~~€}~~€€}€‚~~~€~‚€€~~€~€€}€€~€}€~€~€~~}~€€~€~~€~€€€~€~€~~€€€~~}€~€€~€~~~~~€}€€~~~~€~€€}~€€€‚~€~~€~€~€~~~~~~€€~€~€}€~~€€~€~~~~~€}€‚~€€~~~~€~€~}€~~~~~}€€~€}€}~~~€~€~€}~~€€~€~~€~€~€}€~‚€}}}~€}€~~~€~€€€~€~€~~€€~‚€€~€~€~~~‚~€}€~}€~€~‚‚~€~}€~~€~~€~€}}~‚}~€~~€€~~€~€~€€~€}€~€~}~~€~€~~~€€€€~€€~€~~‚~~€~€~€~€~€~~~€}€~€~~~€~€~~€~€~€~€}~€~€~~€~€~}~€~~€~~~~€€€€€~~€~€~~~~~~}€~~€€~€~~€~€€~€~~}€€€}€~~€~€~€~€~~~}~~~€~~~€~~€€~€}~€€~€~‚~€}€}~€~€~}~€€~~~€~~€~~€~€€~€~~~€~€€~€~~€~€~€€~~€~€€€~~€~‚€€€‚}~~~€~€€€~€~~~€€~€~~~€€€~~}€€~€~~€~~€€~~€~€~~‚}€~€~}~€€~}€~~€~€~€}~~~€‚~€~~~~~€~~~€~~€~€~€€€~€}~~€~}~€~~~€~~~€~}‚~~~€~€}€~€~€~~~~€~€~€~~‚~~~~€~€~€‚}€~~~€~€€~~~}€~€}€~€~€~€‚~€~€}~~~‚}€~~€}€‚~~~}€~€€~€~~~€~€€€~~~€~~}€~€~€~€€~~€~~€~~~€}€€€€~€~~~€~€€€~€~~~€€€~€~~€}‚€€~€~~€~~€~}}‚€‚}~~~~€~~€}~~~€~€}€€~€~€~~~~~€€}~~€}€~€~€~~~~€~€€~€}€~}~€€~~€~~~~€~€~€~€~€~€~€~€~€~~€€~~€~~~€~~~€‚~~~€}}€€}€€~€€~~~€~€‚€~}~€~€~€€~€€~€~~~~€~~€€}~~~~~~}€~€€~€~~~~€~€~€~€~~€~€~€€~€~€~€}€~€~~~‚€‚~~€}€~€~€}€~~€}€~€€~€~‚€~~~€~€€}~€~~~€~€~€~~~~€~€€~‚~€€~€~€}~€~€~}€€}‚~~€}€}€~€~~€€€€€~~~~~€~€~€~€~~~~€~€€~€~~€~~€~~~€~€€~€}€€€~~€~~€~€€€~€~~~€~~€}€€~‚€~€~~}€~‚€€}€~~~€€€~€~~€~€~€~~€€~€~~~€~€€~€~~€~}€~€~~€~~€~€~~€€~~~€~~€}~~~~~€~~€~€~€~~~€~€€€~~~€~€€~}€~~€~€€€~~€~~€~~€€~€~~€€~€~€~~€€€~€~}€~€}~€~€€}~~~€~€€€~~€~€~~~€€~€}~~~€€}€}~€~€€~~~€~€~€~€~€~‚€€~~€€~€~~~}€~€€€~~~}€~€€€~~€~~}€€~}€}€~‚~~~€€€~€~€~~~€~‚€€~~€~€€~€}~~€}€}€~€€~~‚€~~~~€~€}€€~~‚€}~€~€~}€~~~‚€|€~€~€~‚€~~~~€~~€~~~€~~~€€~€~‚€~~€~€~}€}~~€}€€~~€~€~€~}€~€€€~€~~€~~€~€~€}€€€~€~~~‚~‚~~€~€€~€~~€~~€~€€~€~~~€~€~€€~€~€~€~~~~‚€~~~~~€}~€~€}€~€~€}~~€~€~€~€~~€~€~~€~~€€€~€~€~}€~€€~€~~~~€€‚~€~€~€~€€~€~~~€~~~‚~~~€}~}€~€~€€€}€~~€~€~~~€€‚~€~€~€~~~~~€~€€~€~€~€~€~€~€~€~‚€~‚€~~€~€€~€~~~€€~€~€~€‚~~€~€~€~€~~€~€~€}~€€€~€~}€~‚€~€~~~€}€~€~€~€}~~‚~€~€~€~~‚~~~€~€}~€~~€~€~€}~€€~€~€€€~~~€~€~€€~€~€}€€~~€~~€}€€€‚€~~~€~~€€€€~€~~~€~~~~€~~~~€~~~~~€~€~€€€~€~~~~€€~€~~€~~€€~€}€~‚€~€~€~€~~~€‚~€~}~€~~€€~€~~~~€}}€}€}€€~~~€~~€~~€€~€~~~€~~}~€~€~€€~€~€€~€~‚~€~~~€~€€~€}~€~€€~€€~~€~~€}‚~~~€}€~€}€~}€~€€~~€‚~~~€~€~€€}€~‚€~~€~€~~€~€~€~€€~€€~€~}~€~~€€~€~€~~~€~€€~~~~€~€€~~~~€~€~~~€~~€€}~€€€~€~~~~€~€€~€~~€}€‚~~~~~€~~~€~€~~€}€~~‚‚~€~~€~~€~~~~~~€€€~€~~€~‚€€€}~~~~~€~€~€~€~€~€}~~~~€€€~€~~~€€~€~~~~€}€~€~€~€~~€~€€~€~~€~‚€€~~€~~~€~€~€~€}~€}€~€~€}~€~€~€~~~€}€~~~€€}~~€€~€}~~€~€€€~~€~€€€‚~~€~~€}€€~€~€~~€~~€~€~~€~€~€€}€€~€€}€€}~€€€€€€~~~~}~‚€~€}€~~€}€€~~~~€~€~€~€~~~€€€€~€~}~~~~€~€€}€~~}~~€~€~~€~~~€~€~~€~€~~€‚~~~€~€~~€‚}€}€~~~€~€€€}€~~~}€~€€~€€}€~~€~~~€€€€~€~~€€~€~€~~€€~~~€‚~~~€~~€€~~}}€€€~~~€~€}~€}€€}€€}€~~}~~€~€~~~~€~€~~€€}€~€~}€~~}€~€€~€~~~}€€~€~~€~€€€€~€~~€~€€~}~€~~€€~€~€}~~€~~€€€€~~~€~~~~€~€~€~€~~€}~~~€€~~€€}€€}€€~€~€~~~~€€€€€‚~€~~€~€‚~}~~~~€~~~}€€~€~‚€~~~~€~€}}€}€~€~~~~€~~€}€~€€~€~}‚‚~~~€‚~€€~€~€}~€€~~~~~‚€€~}~€~€~‚~€~~~€~~€}~€~}~~€€€€~€~~€~~€€€€}€~~€~~~~€~€}}€€€~}~~~€~~€€~€~~‚~~‚~~~€}~}€~~€€~€~€~€~€€~€€~€~~~€~~€~€~~€~€~€}~~€€~€~~€~€~€~~€~~€~€€~‚€€~~€~~~~€~€~~~~€~€~€~€€~~~€€€€~€~~~€~€~€~€}~€}€‚€}€~}€~‚€~~~€}€}€~~~€€}€~€~~~€~€}€}€}€~€~€~~€~€€€~€~~~~€~~~}~}€~€~€}~~€~€~€~€}€~€~~~€~€~~~€~€~€}€€~€€~€~€~~€€‚~€~~~~~~‚~€~€~€~}€~€€€€~€~~€}€€~~~~~~€€}€~€€~€~~~€~~€~€~€~~‚~~€~€€}€~~€~€~€~€~€~€}~~~€€~€~~~€~~~~€~}€~~€~~€~~~€~€~€~~~~€~€~€€€~€~€~~~€}€~~~~‚~€~€~€~€~~}~€~€}‚~~~€}€~€€~€~~€~€€€~€~~€€~€~€~€€}€~€~€~~~~~€}€~€}€~~€~€~~€~€~€~~~€~~€€~€~€~€~}€€~€~~€‚~€~€€~€}€~~~~€~€~€~€~€~€~~€~~€~€€€~~€}~€€~€€~€~€~€~~~€‚~€}€~~~~€~€€}‚€~€~~€~€~€~~€~~€~€~€~€~~€~~~~€}€~~€~€€~€~€~€€~€~€~~‚~€~~~€}€€~€~~€~~€€~€~~~~~€~€€~~~~€~~~€€€}€~~~€€€}€~~~~~~€~€}€~~~~€~€}€~‚€~~~€~€~€~€€~€~€~~~€~€€}€~~€~€~€~€~~~~€~~~€€~~~€~~€€~€}~~~€€~€~}€~€€~~€~€~~}€~~~}€~€~€~~€~~€}~‚€~}€~~€~€~€€€~€~~~~€~~€€~~€~~}€€€~~€~€€}€~€~€€‚~}~~}~€€~~€~~€~€€~€}€}€~~~€€~~€~~€€}€~€}€~~€€~€~~~~€~‚€~€~~€~~€~~~~~€~€~€~~€~€~~~~~€~€~€~€~€~€~€~€~}~~€~~€}€~~~€~€~~~€~€€€€}€~€~€~€~€~~€€~€}~€}€€€€~~€~~€€€~€~}~€~€~~€€~€~€~~€~~€€€~~~€~~~€}€~€}€~‚€~~~€}~~€~~~€~€€}€~€~~~€}€~€~€~~€€€€~€~€€~~~~~€~€~€€~€€~€~€€~€~€~€~€€~€~~~€€~}€~~}~€}€~~€€~‚€~~~~€€€~}‚~‚~~~~€€~€~~}€~€~}€~€~€~€€€~~~€€~€~~€~€~}€~~€~€~€}€~~~~€€~~~€~€€€€~~~€~€€~~€~~~}€€~€€~€€~€}€~~~€~€~€~€~}€€~~€~€}€}€~~€~~€~~€~~€~€~~~€€~~~~~~€~}€€~€}€€~€€~€}~€~€€~€~~}€~}~€~~~~‚€€€~€~€}€~€€}€}€~~}€~€~€€~€€~~~‚}€~€}€~€~~}€}€€~€~€~}€}~€€€~~€~~}~€}~~~~€~€~}€€~~~~}€~~€€~€€~~€€‚~€~€~~~€~€€€}~~€‚~~~~€}€}€}€~~~~€~€}~~€~€~~~}~€~€~~€€~~€~~~€€€~~~€~€€~~€~€~€~€€~€}}‚~€~~~€€~}~~€€€€€~~~€~€~€~~€~€€~€~~~~€~€€~€~~~€€~~€~€~€~€~€€~‚€~~~~€~€~€~€}~€~€€~~€~€€~~~~~}€€}€~€€}€‚~~~€€~~€~~~€~€~€}~€}‚€€~~€}€~~€~~~€€~€~€}€€~€~€€~~~~~}€€~~€~€~~~~€~~€~€€€~€~~€~€~}€~~~€}€~~}~~~€~€‚€€€€~~~€~€~€€~€}~~~€~€€~€~€~€~€~€~~€~€~€€~€€~}€~~€~€~~~€~~€~€~~~€~€~€~~€}€€~€~}~€}~€~~€~~€~€~}€~€~€~~}€~~}~€€~~~~~~~€~€‚}€}€~~~~€~€~€~€~~€~€~€~~~~€€€}~~€€~~€~€}€€~~€~€~~~€‚~€~€~~€~€~€~€}€~~~€~€~~~€~€~€€€~€~€~~€~€€~€~€~~~€~~€}€€€€~€~~€~€~€~€~€}‚€}~~€~€€€~€~~~€}€~~€}€}}€€‚~€}~€~~~~~€~€~€}~}€~€€~~€~~~€~€~}~€~€~€€~}€~~€~~~~€€~€~~€~€€€€~€~~€~€€~€}€~€€~~~€~€€€~~~€~€~€€~}~€~~~~~€~€~~~~€€~€~~€~~~€~~€~~€~€}€€€~~€~€~~€~~~~€€€~€~~€€~~~€~~‚€~~€~~~€€~~}€€}~€~~€}€~€~~~~€~€~~}~€}€~€~}‚€~~~~€~€‚}€€~€~€~€~~~~€~~€~€€€‚~€~€}}€~~€€~~~€~~€€€~~€~~€~‚~~€~€~€‚~€€~€€~€~€~~€~‚€€~€~~~~€€~€~~€}‚~~€~~€~€€~~~€}€€~€~~~~€€~€~~~€~€~~€~€€~€~~~€~€€~€~~€~€~€~~€~€€~€~~~~€}~€€€€~~€~~~~€€~~}€~€~~~€~€~€€}~€~€€~}~~€~€€€~~~€~€€€€~€~~~~€~€~~~€€~€~~~~€~€~~~€~€~}~~€‚~~~€~~€€€~}€~€}€~~€~€~~~~‚}€~‚~€€~€~~€€~~}~€€€€~~€~€~€~€€‚~~€}€~€}€~€~€~~}€~~~~€€€€~€~~~€~€€€~€~€‚~€€}€~€~€€€~€~€~~~€~~€€~€~~€~€€~€~~€€€~€~~€~€€€}€}~€~€~€~~~€~€~~~~~€€€}~~€~‚€€€~~€~~€~€€~~€~~~~~€}€‚~€~~€~€€€}€~€~€~~~‚~~€~~~€~€~~}€~~€€€}€~~~~€€€~~€~€€~}€}~€€~€€~€~‚~~~€~~€~~~~€}€~€~~€}}~~~€€€~€}~€~€}€}€~~€~€~€}€€~~‚~€~€~~€~€€~~€}~~~€~€€}€~‚€~}€~€~€~€~~€~€~~~~€€~€~~€~~~€€~€~€€~€~~~€~€}€~€€~€~€}~~€~~€~€~}€}~~€~~€€€~€~~€~~€€~€~€€~€€}€€‚~~€~~~~€€‚~€€~€}€~€~~~}~~€~€}€}€~}€~€~€~~€~€€~}~~€~€€~~~~€}€~€€€~~€~~~€€€}€~~€}€}€~€}€~‚~~~€~€€~€~~~€~€€€~~~~€~€~‚~€~~~~€~€~€~~€}~€}€~‚€~~~‚}~€}€~€}€~€~~€~€~€~~~}€~€~~~~€}~€‚~‚~€~~€}€~€~€€€€~~~}€~€~~~€}€€}~€€~€~€~€~~€}~~€€€€~~€~€~€~~~~~‚~€~€‚~€€~€€~~~€~~~€~€}€~~~€~€~~~}€~€€€~€~}€~€€€‚~€€~€€~}€~~~€~€~€~~~}€}€~~€€~~~~~}~~€~€~€~€~~~€~~€€€€}€~~€~€€~€~~~~‚}~€~€}~~~€~€~€~~€~€~~~€€€€€~~~~‚~€~~€}€~~~€~~€~€}€~€~€~~~~~€}€}€}€~}€}~~€~~~~~€~€~€~~~€€€~€~~~€~€~~}€~€€}€~~}€~~~‚€~~~‚~}€~~~€~€~€~~~~~‚~€~}€€~€~€~}€~€€~€~€~~~€~}~}€~~~€~€~€~~}€}~€€€~~~~€}~€~}€~}€}€~€~€~~‚€~~€~€€€~~€€€~€~€}€~€~~~~}~€~€~~~~~~€}}~~€~~~€~€}€€~‚€~~~€}€€~€~~~€~€€€~€~}~€~~€~€~~€}€€~~~€~~€€€}~~~~€€~€~~~~€~~~€~€€~€~~}€~€}€~}€€~€‚}~~~~€‚€€~~~~€~~€~€€~€}€~~€~€€€€~~~~~€~€~€~€~~~€~€€}€~€€~€~€~~~~€}€~€~~~~€~€€€€€~~~€~€~~~€~€~~~€€}~}€~€€}~~~~~€}€~~€~€€~€~}€€~€~€~€~€€~€~€~}~~€~~~€€€€~€}}€~‚€~~}€}€~€~‚~‚~~‚~~~€‚}€€~‚€~~~~~~}€~€~~~€~€€€~}€~~~€€~€~}€}}€~€~~€~~~~~€~€€~~}~~~~€€~~~~~~~€~€}~~~€€~~€~~~€}€€}€~€~~€~€~€~}‚~~~€~~€~€~~~€}€~€~}€~~~€€‚~€~~€~€~~€~€~€~€~~~€€€~€~~~€}~~€}~€€~€~~~~€€~~€€~€€~€~~~€~~€~€~€€~~‚~}€~€}€~~~}~€~~~}€€~~‚€~~€~~€€~}€~~€~€~~€~€~~€‚~€~€~€~~~€‚~~€~~€~~~€~~~€~€~€~~€€€~€~€~}‚~~€~~~~~€~€€€~€~€}~€€~€~~~€~€~~}~€€€€€~€}~~€~€€~€~~€~€~€~~~~€~€}€}€€~€~€~}€~~€€€€~€~~~~~~€~€}€~€~~€~€~}€~~€€}€~}~€}€}€~‚€~~€~€~~~€€~€}€}~~€~€€~~~€~€~€~€~~€‚~~}~€~€~€}~€~€~}~~~~€~€~~€~€~~~€~€€€~}€€~€‚~~€~~~€~~€~~~€~€€€~€~~~€~}~~~€~€~€~~}~€}~€~~€~}~~€}€€~€‚~€~~~€€~€~~~€€~~€}~~€~‚€~~€~~~€€~}€€~€}~~~~‚~~~~€}~€~€‚~~€~€}€~€~€~~~€}€€~‚€€~€~€~~~€~~~~‚€~~~€~€~~~‚€~~€~€~€~~€€~€~~~€~~~~€€~€~€~‚€€€~€~~€~€€~~~€€€€~€~~~€~~€~€~€~€~}‚}€~€~€}~~~€~€~~€~€~~€}€~€~~€~~€~€~€€‚~€~~~}~~~€~~€~€~€~€~€€}€~€~‚~€~‚~€}€€‚~~€~~~~€~€€€~~~€€~~~~~€€€~~€‚}~~€€€~~}€}€€}€~€€~~‚~~~€‚~€}€~€~€~~€~€~€€~€‚~€~~~€~€€~~~~€~~€€~€~~~~€~~€‚~~€}€}€~}~~~€~€~}€~~~}€}€~~€€€‚~~€~€‚~€}~€}€~~~€€~€~~~~~€~}€€~~€~€~€}~€}€€~}€~~€~~~€~€}~~‚€~€€~€€~€€~€€~€~}€~€‚~~€~€~~€€€~~€~€~€~€€}€~~~~~€}}€~€~€~€€€€€~€}€~€~~€€}€~€€~~}~~~€}€~}}~€~€€~€~}€~~€~~€~€€‚}€~~€~~~€~€~€€~€~~~€~‚€}€~€~€}‚~~€~~€€~€~~‚~~€~€~~€~€~~~~~}€~}‚€~~~~€~€~€~~€~~~€}€€~€~~}~€€~~€~~~€~€€€€€~€}~~€~€~€~~€~~€€~}€~~~~€~€~~~€€~€}~€~€~€~€}€~€~~~€~€~€~~‚€~~‚~€~€~}€~€~~€~€~~~€~€~€~€}€€}~~€}~~}€€~€~~€€€}€~€~~€~~~~€}€~€}~~€~€~€~~€~€~€~~€~€~~~~~~€‚}€~€~€~~€~€~€~~€~€€~~~€~€€€€~€~~€~~~~€~€€~€~€~€~~~€}€~€}€~€~~€~€€€~~€}€}€~‚~~‚‚~€~€~~€~€~~~~€‚~€~~~‚€~€~~~~€€€€~€~€~€~€€€~€~~~~€~~€~€€}~}€~€~€}€~~~€~€~€}~€~~€~€€~€~~€~€~€}€}~}~‚~€~}~€~~~€€~~~~~€~€€€€~€~~~~€€~€~~€~€~~~~€~€~~}~~~~~€~~€~‚~€~}€~€~€~€~€~~~~~~€€€€€€~~~€~~€}€€~}~‚€~€}€~~€€€~~~~}€~€}~€€~€~~~€~€~~~~€}~~€~~€‚}€€~‚€~€~‚‚~~~€~€~€~€~~~~~~}€~~€€~€~}~‚€~‚~}~€~~€~€€~~~~€~€~€€~€~€~~€}~€~~€€~~~~~€€€~€~~~€}€~~€~~~€€€~€~€~€€~~€~€€€~~~€~~~€~€~€~€}}€€~€~~~€~€~‚€~€~~€}~~€~€€~€~~}~~€}€~€}€}}€~€~~~€~€€€~€~~}€}€‚~€~€}€~€€~€}~~€}~€€~~~€€}€~~€€~~€~~}€~~~€~€~~~~€€~~€~~~€~€}~~€~€~~€~~€}€€~~~€~~~€~€~~~~~€~~€~}~€~€~~€~€~~€}~~}€~€~€~€~€~~€~~€€}€€~€~€}€~}‚~€‚~~~€~~€}€~~~€~€€€€~~€~€€~€}€~€}€~~~~~~€}€€~€~€€~€~~~€~€€€~~€~}~€€€€€~~~~€~€}~€~€€~€}~€~€€€}€~}€}€}€~~€}€~}€€}€~€€}€€~~€~~~€~€€~€~~€~~€€~€~€~€~~€}€€~€~~}€~~€~~}€~€~‚~~€~€~€}€~€€~~€~€~€€~€~~~€~€~€~€~€~€€}€~~€~€~~~~€€~~~~€}~€~~~~~~€~€~€~~€~~}~€~€~~~~~€~€~~~€~€~}~€~€€~€€~€€~~€}~€€}€~~~€~~€~€~~~~€~€~}‚€~}~}€~€~€€€€~€~~~~€~~}€~~~€~€€€~€}~€~€}~~€~~€€~~€~}~€}€~~€~€~€~~€}~€~€~}~~~~€~€~~~~€}€~€~~€~~€~~€€}~€€~~~‚€~}€~~~~€€~~~~€~€~€€€~~~~€}~€~€~€~}€~€}€~~€~~~~}€~€~~~~€~€~~~€€~€}}€~€€€~€~€€~€€~~}~€€€~~~€~~€€~}€~~€~~€~€~~€~~€~€~€~~€~€~~~~€}€€~€~~~~€~}€~~€~€€~~~~€~€€‚~~~~€~€€€~~~~~~€~€~~~~~€~€€€}~€~~€€~€}~€~~€€~€}€~~~~€~€~~~€~€~€~€~~~€}~~~~~~€~€~~€~€~€€}~€}€~€~€}€~~‚}€~}€~~€~~€€€€~€~~~€}€~€€~}~}~~~~~€~€€~€~~~€~€€€}€~~~}€}€~€~€~}~~~~€~€}‚€~€~~€~~~€€~€}~~€‚}€}€~~~~€~€€~~~~€~~~~~€~~€~€~~€}~€~~€~~‚~~}€}€~~€~€~~~}€~€~~€~€~~~~~€}€~~~€~€~~~~~€~€~€~€~€€€~€}~~€€~€~}~€~€€~€~€~€~~~€}}€€€~€~~~€~€€€~~~}€~€€}€~~€€~€~}~~€~€~€€€~€~€~~~€~€~‚~€}‚€~€~~~~~€}€€‚~€~€~€€}€}€~~€~€~~~~~€~€€€~~~~~€~€~~€€~€~€~€€€~€~~€~~€€~}€}~€~~€~€~€~€~€}€~~€~~~~~€€€}~€~€€€~€~~}€}}€~€}~~€}~€~‚€}~~~€~€~€~~~€~€~~~€~~€€~~~€~€~~€~~€€}€~€~€}~~~~~€~~~~~€~€}€~€~~~~~~~€€~€~}~~~~€~‚€€~~€~€~€€€~~~~~€€€~~~~€€~~€}~€~€~~~}€€€€~€~€~~€~€}€~€}~€~€}€€~€}€€~}~~~€}€€~€~~‚~€~€~€~€~~~€€~~€~~~~€~€€€~~€}~€~€~€~~~€~€€~€~~~€~€~~‚€~~~}~€}~€€€€~€~€}€€€~€~~‚~~‚~~~}€}~}~~~‚}€€~€€~€~€€~€~~~~~€€€€~~~€~€~~~€~~~~~~€~€€~€~€~€€~€€~€€€€~€}~~~€~€€~€}~€~€€~~~}€~€€~~€}€~€~€~~€€€~€~~€~€~€€~~~~~€~€~€€}€€~~~~}€~}~€~~€~~~~‚€~~~€~€~~€€€~€~~~€~~€}~~€€~€~€€~€~€~~}€~€~~~€~€~~€~€~‚€~€~~€€~€~€€~~}€~}€€}‚€~~~€‚}~}€€~€}~~‚€~~€~~~~€€~€~}€~€~~~}~€~~~€‚€~}€~~€€€~~}€}~€€~€~€€~€~€~~~€€~‚~€~€~€~€}}~~€}~€€}€~€~~~€~€€€}~~€}~‚€€~€~}€~~€~~~€}€~€€}€~€~€~€}€}€~€}€~~~€}€€€}€}}€~€€€~~€~€€~~~€‚}€~‚~€~€€~~~€~€€~~~~~€~€€~€~~€~€€~~~~~~€€€~€~€~~€~~€~~~€~€€~~~€~€~~}~~~}€~~€€~€~~€}€€€~€~~}€~€€~~~€~~‚~~~}~€}€~‚~~€}€~€~}~~€}€€€~~€~€€€~~~€}~€€€~€~€~~~~€~€~€€}€~~~‚€~~€~€€€~~€~€}€~€~€}€~€}€€~~€~~~~€~~€~€€}€~~~~~~€~~~€~€~€~~~€~~€~~€~~~€~€~€}~€€~~€~~~~€~~~~€}~€~€~€~~€~€}€~€~€~€~~~€~€}€~~}~€~€~€~‚€~€~~€~€~€€~€~€~€€€}~~€~€€~~~€~€~€~~€~~~~~~~€€~€~~€}~€€~€}~€~€~~~~~~€~€~€~~~€}~~}€~€~€}€~~€}€}~‚}~~€~€~~€€€}~~~~€~€€~€~€~~~‚~}€€~€~~~}€}€~€€}~~€~€~}~€~€~~€€€~~€~~~~€~€~€~~~€~~~€~~€~€~~~~€~~~~~€€~€~~~~€€~~‚~~~€~€€~€~€~~€~~€€€€~€~~€~€€~€~~€~~€~~~~~€~~~~~€}€~€}€~~}€~€~}~}€~€~€€~‚~~~~€~€~€~€~€~~‚~€~€€~€~~~€~~€~€€~€~~~~€~€€€~€~~~€~~€~€~~€~~~€}~€}€~€~€}€~~~€‚}€}€~~}‚~~€}€€~€~~€€~€~€~~~~~€}€€~€~}€~€~€}€}€~~~€€~~€€€~}~~}~€~€~€}€‚~€}€}€}€~~~~~€}€~€€~~€~~€€€~~€}~€€~}~~~€~€€}€~~~~€~€€}€}‚€~~~€}€}€}€~€€~€~~~‚€~~€~~}€~}€~~~€€~€~~~~€~€~~~€~‚€€~}€~~€~€€~~~~€~~€€€~€~€€~~€~~~€~€~€~}~~‚}€~€€~}~€~~€~€}~€~~€€~~~€~€~~€}€€~€}~€}~€~€~~€~€~€~~€~€€~}~~€~~€€~}€~~€}~€€€~€~€~~€~€€~€}€~~~~~€~€~€~€~€~€€~€}€€~€~~~~~€~€~~€€~~~~~~€~€~~€~€~~~€~€€‚~€~€~~€~~~~~€€~€~}~~€~~~~€~€€~~~~€~€€€€}~~~€€~€~~€~€~~~~~~~~€~€~€}~€}~~~€~€}€~~€~€€€€~€~~€~€~}~€€~~€~‚€}€~~€€}€€~~€~€€~€~€~€~~€}€~€€~€~€~~~€~€~~~€€~€~~~€}~€€~~~€~€€~~~~~€€~€~~€~~€€~€~}€~€€~€~~~€~~‚€~~~~‚}€~€~€~~€~}€}€~€~€€~€~}€~€€~€~€€~~€~~€€~€~~€~~~€€~€~~~~€~€~}€~~~€~~~€}€~€}€€}€}~~€~€€}€~}‚~€~~~€~€€€~€}€€~€~€~~~€~€~~~~~‚€€€~~€~~€~~€€~~~~~~€~€~€}€€}~}€~~€}~}€~€~€~~€~€~€~€€~~€}€€~€€~€~~€~€~~~€~€~~€~€~~~€}€€€€~€~€~€~€~~€€~}}}~€~€~~€~€~~}€~€~~€~€€€‚~€~€€~€~€~€~€}€~~~€~€~}~~€~€€€}~~~}~€~~~~~}~€€€~€~~€~€€~€}~~€~€€~€~~~€~€~~~€}‚~€~€€}~€}€~~~~~~~€~€€~€~€~~€~~~~}~€€~€~~~~~~€~€€~€~€~~€~€~€~~€€€€~€~~~~€~€~~~€~€€~€~}€€~~~~~€~€€}~}‚~€~€}€~~}€~€€€~~€~€‚~€~~~€€~€}~€€}€€~€~~€€€}€€~€~€€~€~~~}€~€~€~~€~€€~~€}€€€~€~~€~€~€~€}€€~€~~‚~~~€~~€~€~€~~€~€€€€‚~~~~€~€~€€~~~~}€~€~~€~~€~€~~€€€~~~~€}€~€~€~~€~~~€~~€~~~€~€~~€~€~€~€€~€}€~~€€€~~€~~~€~~€€~~€~‚~~~€~€~~€€~€~€~€€~€~€~~~‚€€~€~}€~€~~~}€€}€~€~~‚~€~€~€}€~~€‚~}€~~~~~€~~€~€€€~~€~~€~~€€€~}€~~€€~€~~€~€~€}~€€~€~~€~€~€~~~€~€~€~~~~~€€€}€~~~€€~~~~~€€€~~}~~€~€}€~~~~€~€~€~€€~}€~~~€~~€€€~~€~~€}€~€€~€~~€€~~~€~€~€~€€~€~~~€~~€€~~€~~~€€~~€}€}€~~€~€~€~~~€~~€~€~~~~€~€~€~€€~‚~}‚€~~}€}€€}€€~~~€~€€€~}~€‚}€}~€~€~~‚}~€~~€~€€€~~}€~~}~€€~€~€€}€~€~€~~~€}~€~€~~€}€~€€~~‚~~€~€}€~~~€}€€€~~~€~~€~€~€€}€~€}€~~~~€~€~~~~€€€~€}€~~~~~~€~€€}€€~}~~€~~€€}~~€~€€~€~~€~€€€~€~~~€€~€~~€~€€~~€~€€~€~~~~€~€~~~‚€€€~€~~€~€~€}€~€~~~€}€~€€~€~~~~€‚~€~€€€€€~€~€~€~€~€~~€}€~}€~}~€}€}~€}€~€€~~€~~€~~‚~~~}€€~€~€€~‚€~}~€‚}€~~€~‚€~~€~€~~€~~~}~€~€€~€~€~€€€~€~~~€~€€~~€~~}€~€€~€~~~~€~€}~~€€~€~~€~€€~~~~~€~~~~€~~€€~€~€~€~€~€€~‚€~€~€~€~~~€~~€~€€€‚~~~~€€~€~~~~€~€~~~€€}€~~€~‚€€~€~~€~€€€~~€~~~~€~€~€~€~€}€~~‚}‚~€~€~~€~~€€~€~‚€~~~}€~€€€€~€~~~€~€€€€~€~~~~€€€}~~~~€€~€€}€~~~~€~€‚}€~€~€€~€~~€}~~‚€€~€~~~€~‚~€~~~€~€~€€~~€€~€€~}‚€~~~€~€€~~~~€~€€€~}€~~~}€~€€~€~~€~€~~~~€€~€~€€€~~~€}€~€~€~}~}~€~€~€~€~€}€~~€~~~€€€~€}~~€~€~€€~€~€}€~€~~~}€~€€€€~}~~€~€€€~~~~€€~€~~€~€~€~€~~€~€~€~~€~€€~~€~~€~€~}~€€‚~€}~€€€€€}€~}€€}€~~‚~€~}€~~€~€~€€€€€~~~~€~€€~~‚€~~~~~€~€€€~€~~~~~€~€~€~€€}€~}€~~~€}€}€~~~€~€}€}€~~~~~€}€}€~‚€~~~€~€~~€~~‚€}€~~~€~~€€~~€‚}€€~~}€€~€~€}}€~€~~€~€€~€~€~~€~€~€~‚€~~~€€~€~}€~€~€€~€~€~~€~€~~~~~~€}€€~€~~~~~€~€€~~€~€~}‚}~€~€€~€€~€~€}€€€€~€~}}~~‚~~€~€~~~€€€~€}€€~€€}€~€~€€}€~~€}€€€~~}€~€€~€€~‚€~~‚~~~~€€~€~~~€€€~~~~€~€€€€€~~€~€€€~~~~€~€€~€~~€~€€~€~~€~€€€~€~~~€~€€~}€~~~}€~~€~€~~~€€~€€~‚€~€}€~€~~~€€~~~~€~~~€~~€~~€€€€~~~€€€€~~€~€~€~€~~€€€~€~€~~€€~~€~~~€~€€€€~~~€}€~€€~€~€}€~€~€~€€~€~~~~€~€€~€~~€~‚~~€~€€~€~€~~€€~~€~~~~€~€~€~€~€€~€~~€€~€~€~~€}€~€~~}~~~€€~€~~~€~€~€~€~€~€~~~€~€}€~€~€~~€€}‚€~~~~~~€€€~€~€~~€€€~€~€~€~€~~€~€€~€~~~~€}€}€€~}€~~~€€~~~€~€}‚~}€€}~~€}€~€~€~~~~~~€}€€~€~€~€€~~}€~€€€~€}~~€€~€~€~~€~€~€~~€~€€}€~~~€~€~€~~€~€€€~~~€~€~€}~€€~€~€~~}€€€~€~€~~}€~€~€~~~€€~€~~€~~€~€~€€~€~€}€~~~~}~}~€€~€}€}€~‚€€~€~~€~~€€~€~~~€€€€~€~~~€~€~€~€~€~~~€~€€~€~~~€~€~~€}€~€~€~~‚€~€~€~€~€~~~~~~}€~~€~~~~€~~~~€~~€€~€~~€€~€~~€~€~€€~€€~€~~~~€~~€€~€~€~~~€~~~€~€€~~€~‚~€€€~~~€~~€€}€~€}€~€~€~~~€~~€€~~€~€~€€}~~€~€€€~}€~~€~€~€€~€~€}~~€~€~~~~~€~€~€€~€~~~€€~~~~€~€~€}€~€~€~~‚~~~€~~~~€€€‚~€~€~€€}€~€~€‚~~~€~€~€}€€}~€~€~€}~€€€€~€~~~€~€€~~~~€~€}~€~€€~~€~~~€~~€€~€~~€~€€}~€€}€€~€~~~~~€}€€~€~~~€~~€~€~€€€~€~€}€€~~}~~€€~€~}~€~€€€~€~~~€~€€~~~~~€€€~~€~€~~€€€~€~~€~~€€~€~~€~~€€~}€~€~€}€~}€~~€€~€~€~~€~~€~€€}€€~~€~~€€~~€~~€~€€€€~}€~€€€~€~~€~~‚~€~€~€~~~€~€~€€}€~€€}~~€~€‚€€€~€~~~€~~€~~~€~€~€€~€~€~€}€~€~~~~€~€~~~‚~€}€€~€~€€~~~€~€~€~~~~€€~€~~~€~€~€~€€~€~~€~~~~€~~~€~‚€€€~~€~~~€~~}~€~€~€€~€‚~€~}€}€€€~~~~~~€~~€~€~€~~~€€~~€€}€~~€~€~~~}€~€~€€}€~€€}€~}~~€€~€~€€~€~~€}€}€€~~}~~~€€~€€~€~€~~~€}€~~~‚€~‚~~€~€~€€~€~~€~€~€~€€€~}~~€~€€~€~€~~~€€€~~~~€~~~~€~€~€~~€}€~~€}€~€~~~€~~~€}~~€~€~€~€€~~~~~~~~}€€~€~~€}€~€€~~~~~€~€€~€~}€~€~€}€}‚€‚~}€~€}~€~€~€€}~~~‚‚~~~€~~€~€€€~}€~~€~~€€~€}~€~€€}~~~~~‚}€~€~€~€~~€~€€~€€~~~~€~~~€~€€~€~€€~}}€}€€€~~€~~~~€}€}€€}€~€~€~€~€~€€€~€€}~~€~}€~€€~~~€~~€~€~€~~}~~~€~~€€~€~~}€}~~€~€€€~€~€~€€€€}}‚€~~}€‚~~~€~€~€}€~~€~€€‚~€~€~€~~€€~~~~€}€~€€~€~~€~€€~€~€~€€~}}~€~€€~€€}€~~~~€‚}€}€~€~€~~€~€€~€~€~}~~}~€}€€~~€}€}~€~€€€~~€~€€€€~~€~~~€~€€€~€~€~~~~~~€~€~~}€~€~€~~€~€‚~~€~€€€~€~~~€~~€~€~~€~€~€~€~€€~€~€}~~~€~€€~€~€€~~€~~~€~€€~€~~~~€~‚€€€~€~~~€~€~€~~~~~€~€€~€}€€}€€~€~€}}~€~~€}€~~~€€€~}~~€~€€~~€€~~~~‚~€~~~€}~€€~}€~~~€~€~~€~~€~€€€€~€~€€€€~~~€~~€€~}€~~€~€€€~€~€~€~€}€€~€€~€~~~€~€~~€~~~€~~€€}€}€~~€~~€~€€€€~€~~}~~€€~€~~€~€~~}€~~€~€~€~~€~€~€€~~€~~}€€€~€~~~€~€~€~€~€€~~€~~€€~€€}€}~~€~€€€€€~}€~}~~~‚~€~€~~€~€~~€}€‚}~€}€~€}}€~€€~}~~~~~€€~~€~~~€€~€}€~€~€~}~€€€~€~~~€~€€€~~~~~~~~‚~€}€~€~~~€~}€~€€~€~~~~~~€}€~€€~€~€~~€}€€€€~€~~~€~€~~€}€~~~€~€€€€~€}~~€‚€~€~~€~€€~€~€€~~~~€~~€~€€~€}€‚~~~~}€€~~€~~~~€~€~~~€~~~~~~‚€€~~~~€~€€~€~~€~~~~~~€~€€~~~€€€€~€}€~~€~}~€~~~€~€~€~€€}€~~}€~€€}€}€~€~~€}~€€~~~~€~~€€~~€~~~€‚€€}€~}€€~€~€~€~~~~€}~€~~€}€~~~€‚~~€€€€~~€~~€€~~~~€~‚€€~~~}€~~~€}~€~~~€~€€€~€~~€~€€~}€~€~~€€€~}€~~~€€€~~~~~€€€~€~~€~€~‚€}€~~~€~€€~€~~€~€€€~€~~~€~€€~€~~~€~€}€€}€~}€~~~~‚€€‚~~~~€~~‚}~€~€~€~€~~~~€~~€€‚~€€~‚€~€}€~~~‚~€~~€~€~~~€~€~~€}€~~€€~€€~€~€~~~}€~€~€~~~€~€~€€}€~€}€~€~€~€€~~€~~~€~€~€~€~~}~€~~€~~€~~€~€~~~~~~~~€~€~€€~€~€}€~~}~€€€~€~€~€~€~~}~~~€~€~€~~€~~~~‚€~€~~~~~~€~}€€}€~€~~€~€~}€}€€~€~~€~€~€~~~~}€€‚~€~~~€~~€€}€€~€~‚~~~€‚~€€~~€~‚€~~~€}€}€€}€}€~€~€€~~~€~~~~~~~€€€~~~‚€€~~€~~€~~~~€~€~€~€~€€~€~~~~~}€~€~€€~~~~€~~€€€~€~~~€€~€~€€€~€~~~‚~€€~€~~~~€~€}~~~€~€~€~€€~~~}€~}}€~€~~~~€~€€~~€}€€}€}€~€~€€€~€~~~€~€€‚~~€~€~~€€€~}~~}€€~~€}€~€~}~‚€‚~€~€~€}‚€~~~€€~~~~}~€~~~€€~€~€}~‚€~~~~~€€€~~€~~~~~€~€~~€~}€~~€~~€}~}€~€~~€}€~}€}€€€~~~€~€€~€~€~}€€~€~€}€€~~~~~€~~~€~~€~€€€~€}€~~€~}‚€}~€~~~€~€€~€~~~€~€~~~~€~€~€}€€~~€~€€€~€~€~~~€€~~~€~~€}~€‚~€€~€~~‚€~~~€~€€~€~€~~~}€~€€€€~€~~€}~€€~~€~~~€€}€~€~}€}~€~€€€~€~~€€~€~€€~€~~€~€€~}€~~€‚~~€~€~€}€}€~‚~~‚}€~€€}€~~~€~€~€~~~€~€€€€}~€~€€‚~€~~~€~€€~€~~~~~€€~}~~€~~€~€€~€~€~€~~€}€~€€~€~~~€~€€~~€}€}€~~~€~~€}~€€~~€~~~~~€~€~~~~~~~€~~€€~€~€~~€€~~~€~~~€~€€~€~~€}€~~~~~~€~€~~€}~€€€~€~€~€~€~€~€~€€~~~~~~€€€€‚~~~€~~€€~€~~~€~€}€~~~€~~€~~~~‚€€~€~~~€}€~~~~€}€~€~€€~~€~~‚}€~€~~~€~€}€€~€€}€~€~‚€~€~~€~~€~~€~~€~€€€‚~~~~€~}~€€~€~~~~€~€}€€~€~€~~~€~~€~€€~~~€~~€~‚~~~€€~€~~}€~€€~~€~~~~~~€‚~€}~€}€~~~~€~€€~~~~€~€~€€€€~}~}€~€‚~€~€~~€~€~€~€€}€~€}€~~~€~€€€}€~€}~‚~~€~€~€}~~~‚~€}}~€€~€~‚~~~€~€~€~~€~~~~€~€‚~€~€~}€~€€~}€~~€~~~€}€~}€}~~~~~€}€€~}€~~~~€€}~}€‚~€~€€~€~~}€~€€~€~}€~~~€~~€~€€€~}~~€€€€}€}€~‚}~~€~€~~~~~€€€~€~~~€€€~~~€~~€€~€€~‚€}€}~~~€~~€~€€}€}€~~~~‚€€€~€~€~€~€€€€~€~~~€}€~€}€}€~€~~~‚~~€~€}€~~~}~€~€~~~~€~€~~~€~~€~€~€~~€}~‚}~€}~€~€~€~€€€~~€~€~}€~~~~~€€~€~€~€~~~€€€€~~~}€~€€‚~}~~€~€€~€~}~€~€€}~€~€€€}}€~€~€~‚€~€~}‚~~€~€~€~~~€}€~~}~€€~€€~€~€}~~~€€~~~€‚~€~€~€~}~€~€}€~€~~‚}€~~€~~€~~€€}~€~~~}€€€~€}~~€~}€~‚€~~~~€}€~€}€~~€~€€€~~~~}€~€€~€}~€}€}€€~€~~~}~‚€~}€~~€~~€€€~€}~€~€~~}€~€€~€~€}}~‚€~€}€€}~~€~€~‚€~€~~~€~~€~‚€€€~~~~~€}€}€~€~€~~~~€€~€~~€€~~€~}€~~~€}€~~€}€€€~~~~€~€~€~~~~~~}~€€€€~~€~~~€~}€}€~€~€‚~€~~~€~~€€€~}~€~€}€€~€€~~€~}€~~€€}€‚~~~€~€~€~~€€~~€~~}~€~€~~€€~€~~€‚~~€~€~€€~}€~‚€~~~~~€}‚€€€~}€~~€~€~€€}€€}~~~€~€€}€~~€~}€~€~€€~€~~~‚~€~€~~~~~€€€€~~~€~€€€~}~€€~€~~€~€}€~€~€}€~~€~€~~~€}~€€~€~~€}€‚~€~~~€~~€~€}~~€}€€}€~€~€‚}~€~€~€€€~~~~€}€~~~‚€}~~}€}~~~€~‚€€}€~€€~€€}~~~~€€€~€~~€~~€}€}~€~€~€~€~‚~~}€~€}€~~‚~~€~€~€€~~€~~~~~}~~€~€}€~€~€€~€~~~‚~€€~€~~~€~€}€€~~€~€~€}~}€€€€~€~‚~~~€€~€€~€~€~~~€€~}€~~€€~}€~~€~€~€€~~~€~€€€~€}~€~€~~~~€}€€€€~€~€~~~~€}€~€}}€~€€~~~~~€}€~~€€~€~}~~€~€€~€~~~~€€€~}€~€€~€~~~€~€€~€~~~~€€~€~~~€€~€€}€€~€~~~~~~€~€}€€~}€~€~€~~€~~€~€€~€~~€~‚}€~€}€€€€~€~€}€€~€}~~}€~€~€~€}}~~€€~~~~~€~€~€~~}~€€€~€~~}€}~€}~€€€~€~~~€~~~€~~€€~€€~€~€€~€€~~~€}€~€€~~‚~~~€~~€€~€~~~€~€€~€~~~€€€~~€~‚‚€~~~~€}~€€‚~~~~~€~€~~~~~}€~~€~€€€~€~~€~€€}€~€~€~€~€~~€}€~~~~~~~}€}€~~~€€~€}€€~€~~€~~~~~€}~€€~€}€‚~€}~~}€~~€~€~€}€~€~~€}€~~€~€€‚}€€~€~€~€~€~~~€~€~~€}€‚~€€~€~€~€~~~€~€€~€€~~~€~~~~€€~€~~€}€~€€€~€~~€}€~~~~~€~€~}~~~€€€€~}~~~€~~€~€€}~€}€€~€~€~€}€}€~€~€}~~~€}€€~}€~~~€~~€€€€~~~~€€‚~~€}~€€~~€~~~~€~€}€}~€~€€‚~€~}€~‚€€~~~}€€~~€}~}~€~€~€~}~~€~€}€~~~~~~€~~€~€~€€€€~€~€~~}€€€‚€~€~~€~€~}€~~~€~}~€€€€~€~~~~€~€€~~€~€~~€~€}~€~~€}€~€~€€~~~€~€~}€}€~€~€~}~~€~€€}€~€~€€~~€~€~€~€}€}€€~€~‚€~€~€€~€~}€~€~~€~€~€~€}€~€}~~~~€€}€~€~~~€~~€~€~€€€€‚~~€~~€}~}~~€~€~€~€~~€~€}€~~~~~~~€}€€~~~€€~~~~€~‚€€}€~~€~€}€}€~€‚~~€~~~~~~€~€€~}~~~~€~~~€~€~€€~~€~~€}~€€~~€}€~~€~~€~€~~~€€~~€~}}€~€€€€~€~~€~~€€€~~~~€€~€~~~~€~€~€~€~€~€€}€€~~€€€~€~€~~€~~€€€€~~~€~~~€~€~~€~€€~€~€~~~‚~~~€€~€~€~~}€~€€~~€~~~€~€€~€~~~€~~€~}€~€~€~€~€€~€~€}~~}€~€€~€~‚€~~~~€}€€}€~€}€‚~~~~€~€€€~€~~€~€€~~~€~~~~€~€€‚~€~~~~€€~€€~€€€}€}€~~~~€€~€~~~€~€~€~€~€}€~~€~~€~~~~~€~€€~€}€~~€}€€‚~€}~~~}~~€~~~~~~~€€~€}€~€~€€‚}€~~€€}~~€~€‚~€~~€‚~~€~€}~€}~~~~~€}€€}~‚€‚~~~€~€~~‚~€~€}€~€€~~~€~~€~€}€€}~€~~~€~€~€~~~~€€€~~}~€€~€~~€~€~~~~€}€€}~€}€}€~€‚~€~}€~‚€~~~€~€~€€~}~~~~€}€~€}€~€€€€€~~€~€€€~}~~€~€€~€~~}€}€€€~~~€~€€~~~€~€€‚~€~~€~€~~}€~€~€€~€~€~~~~€~€~~~‚‚~~}€}€€~€€~€~~~€~€}~~€~€~€€~}€€~€~~~€~€~}€~€~~}~€~€€}€~}€~}~~~~€~€~~~}}€€~€~~€~€~~~~€€~~~‚}~€}€}€~€~~~€~~€€€~€~~€~€€€~€~~~€€~‚~‚€~€~€€~€~~~€€€~€~~€~~€€}€~~€~€€~€~~~~€~€~€€~€}~~~€~€~€€€~€}€~~~€~~~€~~~}€~~€~€~€€~‚~€~~€~‚}€~€~~~~€~€}}€€~€~€~}€€~€~~€~€~€~€~}~~~€}€~€~€€~€~~}€€}~€€€~€~€~€~€}€€}€~~€~€~~~‚€~€~€~€€~€~~~~€}€~€~€~‚~~€}€~~~€~€€€~€~}~€~€~~~~€‚~€~~€€~€~~€~~}€~€~€~€~€€~~~~€€€~€}~~€~~~~~~~€}}€~€€~€~€~€}‚€~~~€€~~~~€~~€~~€~~€~€~€~}~‚}€~€}€~€~€~~€~‚€€~€}}‚€€~~€}~‚~€}€€~}€~€‚~}~€€€~~~~€}€}€€~€€~~€~~~~€}€€€~€}~€~€~€~€€~€€~~~~~~~}€~€~}€~~€€~€~~€~€€~~€~€~~€~€~€}~€€€~€~€~~~‚~~€~€€€~‚~€~~‚}€~€~€€}€~€~~~€~€€~€€~€€~~~~€~€~~~€~~€}€~€~€~€~~€~€~~~~€}€€}€~~€~~~€}€~€~€~~~€€}€~~}‚~~€~€~€€}€€~~~}€~€~~~~€‚~€}~€}€~€~~~€~€~~~‚~‚~~€~€~}€~~€}€~~€~~€€~~~~€~~€~~€~~€}€€~€}€€~€~€~~~€€~}}€‚~~}~€~€€€~€~~~€~€€~}€~€~€€€~~~‚~€}€~~~€€€~~~}€~€€~~€~€€‚~€}€~~€}‚~~~~~~€~€~€~~€~~~~€€~~€€~~~€~~€€€€~}€~~~€~€€€~€~}€~~€~~€€~~}€€~~}€~€€€~€~~€~~~€}€~€~~~€~€~€~‚~€~€~€}~~€~~€€~€~~€~€}€~€~}€€~~~€~€€€‚~€~~€~€~~€}~}‚~~~€~€~~~€}€~€~~€~€~~€~~~€~€~~~€~€€~€€~€€~€~~~~~~€~~~~}€~€~€~€€~€~€~~€~~‚€}€}~~€}€~~~€~~€}€€~€~€}~€}~}~€€€€~}}~~~€€~€~~}€~€€~€~~~€€€~}}€~€~~~‚}~€~~~€~€€}€~~€~~~~‚€‚~~~€~€~~~~~€€~~€~€€~~}€€~€‚~}€~~~€}~‚~~~~}€~€€€~}~€~€‚~€~~€}€€~}€~€~€~€€€~€~€~~€~~~~€~€~~~~~€€}€}€€€€€~€~~~€~}€€}~€~€~€~~€}€~~€~~€~~~€}€~€€~€~€~~~€~}€~€~‚~~€~€€€~}~~€€~€~~}~€€€~€~€}€€}€~€~~~€~€~~€~~€€~~~~€~€~€€~€€}~~€€~€~~~~~€€~~‚€~€}‚~~~~€~€~€€~€€~~€€~€~€~€}}€~€~‚€€~€}€~~~~€}€€}€~€~€~~~}~€~€~€~€~€~€~~€~€€€~€}€~~€~~~~~€~€}€€}‚€€~}€~€€€~€~~~€~‚€€~~~~€~~€~€~€~~€~€~}~~€}~€~€~~€~€€€~€~~~‚~~€~€‚}€~€~€~~‚€}~€}€€}€~€~€‚€~~€~€~~~€}€~€€~€}€~~€}€~€~~~‚~~~€}‚€€~~‚~€}€~}~~€~€~~~~€~€~€~€~~~‚€‚~€~€‚~€~~€~€~€€~~€~~~€€€~€~€~~€~€€~~€~~€~€€}€~}€€€~~€~€~€~€~€~~~~~~~~€~€}}~€}€€~~~€~~~€~€€~€}~~€~€€~~€~€€~~€~€€~}~~~€€€~€~~€}€€€}€~€~€~€~~~€~€~€~€~~~}€}€€~~~~~~€~€~€~}~~€~€~~€~~€}€~€~€~€~~~~€~€~~~~€‚~~}~}€~€€~~~€€~€}}~€~€~€~€~€~€~~~~~€}€}€}€~~~~€~€~~~~~~~€}€~~~~€~~€~€~€€}€€~€~€~~€~~~~€~€~€~€~}€~€~€~‚~~~€€€€~~€~~~€~€€‚~~€~~€~~~~~~€~€~€~~~€~€€~€~€~}€~~~€€~€~~~€~~€~€~€~€~€~€~~€~€€€~~~~€€€~~~~~~€€~€}~~~€€}€€~~€~€~~}€~~€~~€€€~€~€~~€~€~‚€€~€~€~€~€~€€€~€~€~~€~€€€~€~~€~~€}~~€~€~€~~€€}€~€~€~€~‚~€~€~€€}€€~~‚~€}€€~}~~~€}~~~~€~€~~~~~€~€~€€~€€}€€~€~~~~€~€~~~~~€~€}€}‚€~‚~~€}€~}~€€~}~~~€~~€}‚~‚~‚€~~€~~€~~€~€~~€€~€~}€~€€€~€}€~€}€~~‚~€~€}€~}~~€~€€}€~€~€€~€}~~€~~€€}€~~~~€€~~~~~€}€~€}€€~€~~€~~}~€€€~€~€~~~€~~~€~€~€~~~€~€€€~€}€~}€€~~€}€~~€~~~€~~€€~€€~~€€€}€~~~€~€€~€~~~€}~€}€€~‚€~€~~~~€}~~€€~~€~€~€~€~€~~€~€}~~}€}€€€~€}€~~€~€~€€~~~~€~€~€~€~€~~€~€~~~€}€~~~€~€~€€~€}~~€€~€~€}~€~~€€€€‚~€~€}€}~~€}~€~€€}~€}~~€}€€€~~~~€~€€~€~€~€~€€}€~~~€}€~~€~€}~€~}€~~~~€~€~€~~~}€~~€~~€~‚€€€€~~€~€~}~}~€€~€~~~€~~€}€€~€~€~€~~~€~~~}€~~~~}~~~€~€~€~€~€€~~~~‚€~€~€~€€~€}~~}€~€~~~€~€€€€}€~~~€~€~€€~~~~€~~€~€~~‚~~€~€€~~}€~€€~€~€~}€~~€~€~~~€}€€€~€~~~€}€€€€~€€~~~€€~€~€}~~€~~}€~~~€~~€€~€}€~€~~€€~~€~€~€~~}€€€‚€~~~~€~€€€~€}~€~~€~€~€€}~~€€~€~€~€}€~€}€~~€~€~~~€~~~€~€}~€€~~~}€~€€€~€~~€€~~€}‚€~€~€~~}~€~~€€€~€~~~€~€€~}~€~~€~~€}€€€~€~€~~€~~~€~~€~€~€€~€~~~€~€€~€~~~€~€~€~~€~~€~€€}€~€~€~~€~~€~€~€€}€~€}~€~€€~€}~~€€~~€~~~€€~~€}~€~~€€~€}~~€~€€€~~€~~€~€~€~€~€}~€~€~~~~~~€}€~€~€}€~~€~~€}€~~}}~€€~}€~~~€~€€~€}€~€~~€~€~€}~~~€}‚€€~~€~€~~€€~€~~~€~~€~}€}€~€€~€~€~~~€€€€€}~€~~€~€~€~~€€~~€~~~~~€~€~€~~€~€~~~~~€~€~€~~€€~~~~~€~€€~€~~~‚€~€~~}~€€~€~€~€}~€~~€~€€~€}~€~€€€~~~€~€€~€~~~€~~~~€€~€}€~€}~€~€}€€€}€~~~~€€€~€~~€~€~~€~€~€€~~~~~}~€}€€€~~~€~~€~€€~€~€~~~€~€€}€~€}€‚~~€~€}€~~‚~}~€~€€~}€~€€€€~~€~€}€~€€~€~€~€}€~~~€€€~~€~~~€€~€~~~~~€~€€~€~~‚~~€~€~€~€~~~€~}€~€~~~~~€~~€€}€€}~€€~€~~€~€€€~~~~€~~~€€~€€~}~~~€~€€~~~~€~€~~~€~~€€~~€~~€~€~€€}~€€~€€~€~~~}€~~€€}€~~€~€~€~€~€~€~~~€~€~€~€~€~€}}~€~€~€~~~€~~~€~€€€~€~~€~}€}€€~€~~~€~€~€~~~€}‚€€€~€~~~~~€€€~€~€}~€}€€~~~}€~~~~~~~€~€~~€~€~~€~~~€~~~}€~€~~~€~€~€€‚~~€~~}~€~€~~€~~~~€~€€~€~€~€~~€~~€€}€~~}€~€€€~€~~~€~€€~€~~~€~~~~€}€~~~€~€~€}~~~~€‚~€€}~€~~~~~‚€~€}}€~€~~€~~~€~€~€€}~~€€~€~~~~~~€~€~€~~~~€~€€€~~‚~~€~€€~€}€~~~~€~~€~€€€€~€~~~€€~~€~~€~‚€€}€}€€~€~~€~~€€€~€~€~~€~~€}€€}€€~€€}‚€~~€~€~~€€~~~€~€~€€~€~~~~€~€}€~~~~€€~€~~€€€~€~}€~€€€~~€~~€~€~€~€~€~€~€~~€~€€€~€~~~~€~€~~}~~€~€}~€~€~~€~~~~€~‚€~~~~~‚~€~€~}€~‚€~~}€~€~~~}€~€€€€€~€~~~~€~€~~~~~€‚~}~~€~€€€€}€~€~~}‚~~€~€~~~}€~€~€~}€~€~€~~€~€€€~€}~~~‚~€}~~€~~€}€}€~€}€~~€~‚~€€~€~~~€€~€~~€~€~€~€~~~~€}€~€~€~~€}€~€}€~€~€~€€~€}€~€~€~~€‚~~}€~€~~~~€~€~~€~€~}}€~}~~~~€~€~€~€~~~€€€~€~~}~€}€~€€~~€~~~~€~€~€€~€~~~€~€~€~€~€€€~~~~€~~~}€~€}€}~~€~~€€€~€~€~~€€€~€~~€~€~}€€~€}~~~€}€~€~€}~€~€€€€‚€~}~€~€€}€€~€~~€~€~€~€~~€€~€~~}~~€€€~}~€~€~€€~€~~€~€€€~€~~~~€~~€~~~~~€~€‚~€~€~~~~~€~€}€~€~€~~~~~€€~€~~~~€€€~€~~}€~‚~€~~~€€€~€~~~€~€~€~€€~}~~€~€~€€}€~~€~~€~€€€€~€~}€~~~€}€~€€}€~€€~~€}€~~~€€~€€~€€~€~€~€~~}€~€~€~€~~€}€€~~€~~~€~~€~€€~‚€~~~€~€}€~~~~€~~€€~€~€~€€~€~€€}€~~‚}€~€~€~€~~~€~~€~~€~€~€}€~~‚~€~€~€€~‚~€~~~~€~~€~~}€€€}€~€€~€~€~~~~~€~~~~€~}€~~~€~~€€~€~~~€~}€~€€~€~~~€~€~~€~~~€€~€~~€~€€~€~}€~~~€~€€~€~€~€€~€~€~~~€}€€~~€~~~€‚€€~€~€~~~~~€}€}€~€~~€€€~€~~€€~~€~€€}~€}‚€~~€~€~€~€}~~€~€~€~~~~€~€~~‚€€}~~€~~}€~€€€~~€~~~€€€~~€~€~€€~€~€~€€~~~~~€~~€~~~€~~€~€~€~€€~~~~~€€€€~~~€~€€}€~€}€€}€~€~~~€}~~}€~€~~~€~€~€~€~€}~~€~€~~~€~~€~€~€€€€~€~}}}€~~€~~€}€~€~~€~~€~€~€€}€~}€~~€~€€€€~~~€~~€~€}}~€~~~€€~~~~€}€~}~}€~€~€~~€~€€€€€€€~~€~€~~~~~~€€}€}‚~}~~€€€€~~~€~~€~~€~~€}~€€€€~~€~€~€~€}€~~€‚~€~€~€~€~€€€~~~€~~€€~€€~~~~~€~€€€~~€~~~€~€€~€~~~€~€~~}~€~~€~€~€€‚~~~€~€~€€}€€~‚~€~€~~€~€~€€~€~~~~€€€}}€~~}€~€‚~€~€~€~€~€}€}€~~~~€~€}€~€~€~~€~€~€€~~€~~€~€€~~~€~€€€€~~~~€€~~~€~€~€~~€€~~€~€~~€~€€‚~}}€~€~€~~€~€~€~€€}€~~~€~€~€€€}€~~€~~~~€~€~€~€~€~€~€‚}€~~~~€~€~€~€~}€}€~€~€~€€}~~~~€€‚~€~~~€~}€~€~€€~€~}~~€~€~‚€€~~€~~~€}~€‚~~~}€~~€~~~~€}€€€€~~~€~€€~€~€}€€€~~~€}€~€}€~€}€€~~~~€~€€~}~~~~~€€€~~~€~€‚~‚}€~€‚}€~~~~€~~~€}€~€}~€€~~€‚~€€}€~~~~~€€€~€~~~€~€~€}~}€~€~€~~€~~~€}~~€~€€~€~~€~€~}~~€€€~}€€~€~€€~€~€€€€~~€~~€~‚€~~~~~~€~€~€~€~‚~€~€€€~€~~€~€€€~€~~}€€~€~~~€€}€~€~€~~€~~~€~€~~€~€~€}€~€}€}~~~€~€~€~€€~€}€~€€€~€~~~€€~€~~€€}€}~~€~€~~~}~€~~€~€~~~€€~€~€~}}~€}€~€}€~€~~~€€}€~€~€~~~~€~€~~~€~€~‚€}€~~€~€~~}~~€€}€€~€€~}~~~~~~€~€€~€}€~~}~~~€}€~}€€~~~}}€~€€~€~~~~€€‚~€~~~~~~€}€€‚~€~~~€~€~€~~~€~~~~€~€~~€~€~€€~€~}€~€€€~~~€~€~€}~€~€€}€}€~~~€~}~~€~€€€~}~~€~€~€~~€€~~€~~€~~€~€‚~~~€~€~€€€€~~~€~€€~€€}€€~€~~€~~€~€~€~~~}~}€~€€€~€}~~~~€~€~~€}~~~~‚€~€~~€€~~€~}~€€€~€~€~€~€}€~~€~€}~~€~€~€~~}€}~~€€€~}€~~€~~€}~~€~~~~€~~€}~€}€~€€~€~€~€€~€}€€~€~€~€~~€~€}~~~€~€€~~€}€€~€€~€~~€~€€~€~€~€~€~~~~}€~}€~€€~€~€~~~~~€~€~}~€~~~‚~€~~€~~€~~€€}€~€~€€~€~€~~€~~€~~}€€~~€~~~€~€~~~€~€}€~€~€~€€~~~~€€€~~€~~~‚~€~€~~~~€~‚€€~€€~€}€~€€}~~€€~€~~~~~€~€~€}~~~~€~€€~€}~€~~€€~~}~~~€~€}€€~€~€~~€~€~€€~€~€}€~~~€~€€€~€~~~~~€}€~€€~€}~€~~€€~€~~~~€~€€€€}~~~~~€~€~€€~€~~€}~}€~~€~€}€~€~~‚€}~~€~‚€~€~~€‚~~€}}€}~~~~~€}~~~~~€~€€€~€~~~€~~€}€€}€~€~€}~€~~‚€~~€€}~€~~€€€~~~€~€~€~€~€}~€~~~~€}€~€~~~€~€}€~~}~€€~}€€~€€~€€}€~~€~~€~~€~€~~€~€‚~€~~~€~€€~€€}€~€€}~}€~€}~~~€~€€~~~€}~€~€~€}€~€~€~~€€~€~~€€€~~€~€~~~~~€~€~€~~€~€€€}~€~€}€~~€€€~€~~~~~‚~€‚}~€~}~~}€~~€€€€‚~€}€~€~€~€~~€€€€~€~€~~}~~~€~~}~~~€~€€€}€~€~~~~~€~€€‚~~€~€~€~~€}€}€~}€~}€~€~~€~~~~~~€~~€~~€~€€~€€}~}~~~€€€€~€~€~€~~€~~€~€€~}€}~}~€~€~€}€€~€€~~€~€~€~€~€~}~~€~€~~~€~~~€|€~€}€€}€~€}~€~~€€~~€~}~~€}~€€~€}~~€€}€€}€}€€~‚~€~~~~~‚€~€~~~€‚~~€~€€€~€~~~~€~€€}‚~~€~€~~~}~‚€€~€~~~~€}~~€€}~€~€€~€€~€~€~€~~€~~€~~}~€€~}€~€€€~~~~~}€€}€~~~‚€~~~~€~€~€€~~~~~€}€~€~€~€~~€~~€€~~}€€~€}€~}€‚~‚~€~€~€}€~€€€}€}€~€~~€~~€~€~€~~~€~€~€€}€~~€~}€~€€€€~€~~€~€}~‚~€~~€~~€€}~€}€}~~€~€€€~€~~‚€~‚~~€€~~€~~~€~€€€~~€€}€€~€~~~€~€€~~}~~~~~€~€}€}~~€~€~€~€~€€~€~€~~€~€€~~€~~~~€~}~€~}€~€~~€~€€~~€~€~~~€~€€~€~‚~}€€~}~~~€~€~€~~}€}~~~€€~€~~~€~€~€~~€~}~€}~}€}~€}~~~~~€~€€‚~€~€€~~~€~€€}€~€~€~~~€~€~€€~€~~~€~€~€€~~€~~€}€€‚€€}€~~~~~€~~€€~~€~~}€~~€}€~€€~€~~~€~€€~€~€€~€}€‚~~€€‚~€~~~€~€€~€€~€~€~‚~€~~€~€€€~}~~€~}}~€~€~€}~}~€€€}~~}~}~€~~€~~€}€~€~~~~~€~‚~~~€~€~~€~~~€~~€}~€€}‚€~~‚‚~~€‚}€€~€~~€~€€~~~€~€~€}€~€~€}~~~}~€~€~€~€~~}‚€~€~}}~~~~~~€~€~}~‚}~€~€~€~~€~€~~~€~~€~€}~~€‚}€}€~€~€~€€€€}~~~€‚~~€}€€~€€~€~~~€€~€~€~~€‚~~€}€~€~€~~€~€~}~~€~€~€}~~€€~€~~~€~€€~~€~~~~€€~€~€~~€~~~€~€~€}~~€€€~}}€€~~~~€~€€~~~~€}~‚€€€~€}€~~~~€~€€~€~€~}€~€~€}€~~€~~€~~€€~€}€~~~€~~€~€€€€~~€~~~~€}~~€€~€~€~€~€~€~€}€~€~€~€~}~€~€}~€~€~€~~~~€~€~~€~€~~~~€}€}€~€}}~~~‚~~~€~€€~€}€~€}€~€~€~~~~~€€~€~€}€€}~~~~~€€~~~~‚}€~€~€€~€€€~}~~}~€~€~~}€~~~~€€€~€~~€~€~€}~€~€~~€€€~€~~~€~€€~€~~€~~€€}~}€~€€~~€~~€~~€~~€~€~€~€~~€~~~~~€~~~€~€~€~~€€}‚€~€€~~~}€~‚€~~€~€~€€€~€~€~€~€~€~€~€~~~€€‚~€}~~€~€}~€}€€‚~€~~}€€~~€€€~~~€~€€~€}~€€}€~‚~€~€~~€~€€€~~~€~}~€~€€~~€€~‚~~~~€~€~€}~~~~€~€}€~~~}€~~€~€~~~€€}€€~€€~~}~~€}~~€‚~~€~€~~~~~€€‚~€~€~~~~~€~€~~~}€~~€}€~€€~€€~€~€~~~~€€€€~~~~€~‚~}~}~~€~€€~~~~€~€€€€~€~‚~~}‚~~~€‚}€}€~€~€~€~~~~€~€~~€~€~€~€~€~€€‚~€}~~€~€€€~€~~~€~‚€€~~€~€~€€~~~~~€~€~€~€~€~~~€€~€~~~~~~€~~€}€~€~~~€}€~~~‚€€€~~~€~€€€}~~€~~€€€~€~~~€€~€~€~}€€€~€~€~~€~€~~~€~€}€~~~~€~~€€~~~~€~€~€€~~~~~~~€~€~~~}€~€€~€~~€~€~}‚€~~}€€}€~~‚€~~~€}€~~~€~€~€€€~}€~~~€€~~€~€}€€~€~€~~€~€~~~~€~€€€~~€~€~€~€~~~~€€~~€~~~~€€€~~€~€}€~~€}€~~~€~€~€}~~€~€~~€~}€}~€~€~~€~~~}€~~~€~€€~€~~~€€€€~~€~~‚€~~~€~}~~~~€€~}€~~€}€~€€~€~~€~~€~~€~€€‚~}€€}€~~€€€~~€~~€~€~‚~€~€~€~~~}~€~€€€}€~€€}~‚€€€~~~~€~€€}~~~~€€}€}}€~€~€~~~~€~€~€~€~}~~€~~€€~}€~€~~€€~~€€~}~~€€~~~~€~€‚}€€}€~€~€~~~€~€€~}€~}~€€~~~~€~€€~€~~~€~~€€~~~~€~€€~€~~€~~€€~~€~~€€€~~~~€€~€~€~€~€~€}€~}€~~~€€~~€~~€~€~~~€‚~~€~€~€€~€~€}€~~€~€€€~€~~€}}~€~‚}~~~€~€€€€~€~€~€~~~~€~€€~~~€~~€~€}€€}€€~€~€~€~€€~€~~€~€€~€~~€~€~~~~~€€}€~}€~~€~~~}~€~€~€~~~€~~€~€~~€€~€}~}€€}€~€€}€~~€}}~€~€€~~}~€~€~€}€~~~€~~€~~€~~€€~~€~~~€~€€~~€~~~€€~€~~~€~€~€~~~€€€~€~~€~€€~€~~~€~€€~~€~~~€~~‚~~€~€~€~~€~~‚~€~€€~}~€}€~~~€‚}~~}~~€~€€}€~~€~€€~€~~€~~€~~€~~€~€€€~~€~€~~‚}€~~€}~~~€}€~€~~~~€}€~~}€~€}€~~€}€€}~~~€~}€~€€~€~€~€}€~€}€~€~€~€~‚~~€~€~€~~~~€~~€€€~€~€~~€~}~€~€~~€~€~~~€~~€~€~€~~~~€~~€€~€~€~‚€€~€~~~~€€€~€~~~€~€~€~~~~~~€€€€€~€~~~€~€‚~~€~€€~€~€}‚~€~~‚€~~€~~~~€}€€~€~~€~~€~€~~€€~€}~~~~€€~€~~~€~‚~€€€~€~€~€~~€~~~€€€~€~€~}}€€~€~~}~€~~€‚}€}€~€}€~~~‚~~€}€€~€}€~~€~~~~~~}€}~~€~~€~€~~~€}~€€~€~€~~~€}~~€}€~~~€‚}€~~€~€~€~~~€~~~~~~~€€~€~~~€~€}€€}€~€~~~}~~~~~‚€~€~€~~~€~€~€~~~~}€}~€~~€€}€~~~}€~€€~€}~€~€}€~~~€}€€~€~€~~‚€~€~}€~~€€‚~€}~~€~‚€€~€~~~€~~€~~~€~~~€~€€€~€~‚~~€~€}€€~~€}€~~}~€€}~~~€€~€~~~€}€~€€~€~€~~~~€€~~€~~}€€€~~€~€~€}€~}€~€~€}€€}€€~€€~~~€~‚€€~~}€~~~~~~~€~€~€~~€~€€€~€~€~~~€}}~~~~€€~€}€~€}€~~~€~€~€€~~~~~€~€~€€~€~~€}€€}€€~€~~€}€€~}€~~~~}~€~~€~~€~€}~}€€}€~~€~€~€~~€}~~€~€~~€}€~€~}€~~}€~}~~}~‚~€~€}€~}€~€}}}~€~€€~~€~~~€~€€~€~~}€~€€€€~€~~~}€~€~€~~~€~€€€~€~~~€~~€}€€~}~€~}€~~~~~€}€~€€~~~€€€~€~~}~€€}€€~€€~€~~~~~€€€€}€~€~~‚€€€~€~~~~€€€~€~€~~€~€~€€~€~€}€~~~~~~€€}€~€~€}~~€~€~}€~€€€~}€€~~€€~€~€~€~€}~~€‚~~~~€}€~€€‚~}~~€~~€€~€}€~€€€}~€~€}€~€€~€~€€~€~~~~€~€‚~€~~€€~€€~~€€~€~~~€€€€~€~~€€€~~}€€~€~€~€~}€~~~~~~€€~~~~~€€~€~€}}~€~€~€~~€}€~~~€}€~€€~€~€~~~€}€€~€~~~~~€€~}~}~€€~€}€€~€€}€~€~~~€~~€~}}€~~}~~~€€~€}~~€~€~€€€~€~~€~~€~~€‚~~}€~~€€‚~€~~~€€~€~~~€€€€~‚}~~€~~€~€~€}~€~~}~€~€~~€~€€€~~}~~~€€~~€~~~‚€€~~€~€€~€€~~€€~€~~€}€~€~€~}€~~€~€~~€~€}€~‚€~~~~€~€~~}~€€~€}€~~}€~~€~€~~€}€~€€~€~€~~~~€~~}}€€~€~~~~~~€~€~€~~€~€€€}~}€~‚€~~€~€€}€€}€~€€~€~~~€~~~€€~~~~~~€~~€~€}€~~~‚~~€~€€€€~~~€~~€~~~€€}€~€~€€~€~~€~€~~~€€}~€~€}€~~€€‚~€~~~€~‚€€~€~€~~~~€~€~~~~~€~€~}€~€~}~€~€€€~€~€~~~€€}€~~€}~€~}€~€~~~‚~~~~€}€€~€~€~~~~~€€~€~~€~€~}~~~~€}~‚~€~~~€~€~~~~~€~€~€~~~€~~~€}€€~€~~€~€€~~~€~€€~€~~€~~€~~~€€~€~~~~€€~€~~€~€~}€~~€~€~€~€~~~€}€~~~~€€€~€~~~~€~€~~}}€‚}€€}€€€~~~~€~~~€~~€~~€~€~€}€€}€~~~€~€~~~~~~€€~€~~~€€€~~~~~~€~~€~€~€~~~}}~€~€~€€~~€~€~€~€}~€}~~~~~€~~€~€~€}~€€~~€~~€}~€~~~€~€€~~~~€~€~}€~~~‚€€€~€~€€~€}~~€}€~€~}€~~~~~~‚~}€~€~€~~~~€€~€}~~€€€€~€~~~€€~~~~~~€}€€~~€~~}€~€€€€~~€~€~€€‚~€~~~~~€}€~€~~~~€€~€~~€~€€~€~~~~€€~~}€~~~€~~€~~~~~€€€~~~~~}€€}€~€€~€~‚~€}€€~€~€~~~€~€}~~~€‚~€‚}€~€}~~~€~~€€~~€~~}€}~€€€~}€~~~€~€€}}~€}€€~€}€~~€~€~€~€~}€€~~}~€~~€}~€~€~}€}€~~~}~~€~€~~}~~€€‚~~€~~€€~~~~}€~€~~~~€}€~€€~~€~‚~~~~}€€~€~~€}~~€}€~~~€€~€€~~}€~}~€~€~€~~}€~€€€}€~~€€~‚~~~‚~€}€€~€~~~~~~€€€€€~€~~€~€€~€~€~€}~€~€€~€~~€~~~‚~€~~€€~€~~~€}~€€~€}€~~€~~~€€~}€}}€~€~€~€}€~€~€~~~}€~€€€~€~~~€~€}€~~‚~~€}€€}€€~~~€}€~€€€~€}€~~~€~~~~~€€~€~€~~~}€~€~€€~~~~~~~€€~~€~~€~€~}€~€€~€~~~€€~€~~€~€~‚€~~€}€~~~€~€€€~€~€€}€~€~~€~€€~€~~~€€~~~~~€}€~~€~‚~}~}~~€€~€~~~~€€~‚€€~~€~~€}€~~}~~}€~~~~€~€€€~€~€‚~€~}€€}€€~€~~€~€~€~~‚~~~~€~~‚€€~€~€}€}€‚~€}€€€€€~~~~~~}‚~~}~}~~€~€}~}~~~€~€€~€~~~€}€~~€~~€~€~~~~€~€}~~€~€€~}€}€~€~€~~~€~€~~€~€~€€€€}€~~~€~€€~€~~€~€‚~€~€‚~€}€~~~~~~€~€}€~€~~}~€~~~€~€}~€~~€~€~€€}€~}€~€}~}~€‚}€}€~€~~}~~€~~~€~€~~}~€€~~€~~€}€€}~}€~~}}€~}€}~€}€€~€€~~~~~~€~€€}~~~€~€~€€~~€€~~€~€}~~€}€€~€~~€~~€~€~~}€~€~€€€€~€~€~~}€~€€~~~‚€~€~€~€~€~€~~~~~~€€}€€~‚€€~~~€}€~‚~}€~~~~€€€~€~~}€€€~€~~€~~~€}€}€‚~€~€~~€~€~~€~~€~€~€~~~€~~~€€}~€€~€~~€}€~~€~€~€~~}€~€~€~~€~€~€€~€€~€~}€~~~~~€~€€~~}~~€~€€€~€~~€~€€€~€}€~€~€~~€~€€€~~~~€~~€€€~~€~~~~~€~~~€€~~€}~~€~€€€~~€~~€€~~~~~€~}€}€}€~€€~€}€}~€}~~}~~~‚€~€~€}€}~€€€~}€}~€~€€~€~~~€}€~}€~€~€~€~~~€~~~€€€~~€~}€}€€€~€~~€~€~€€~€~€~€~€~~~€~€~~}€~€€€}~€}€}€~‚€€~‚€€~~~~€~€~~‚~€~€~~€~~€~€~~}€~€~€~~~~€€~~€~~€~€€~~~~€€~~€~~‚€€€~~~~€~€~€~~~€~€€€~~~€~€€~€}~€~€~€~€~€€€~}~~~~‚€€€~~€~€~~€~€~~€~€~€~~€~~€€~€~~~€~€€~€~€~~~~€€}}€~€~~€€~~~~€}€~€}€~€€~~~€}~€~~€~~€~~€€}€~~€~€~~~~‚€€~€~~€~€~€~€~€~€~€~€}€~~~€~€€€~€~~€~~~€~€€~€~~€}€~€~~€~€€}~€~€}€}~~~€€}~~€}€}€€~€}€~~€~€~~~€~~€~€~€€~€}~€~€~€~~€~€~€~‚~~~~}~€€~~~~~€€€~€~~€~€€~~~~€~~}‚~~€}€~€€€~€}~~€~€€~~€~~‚~~€~€€~€~€~€~~~~€~€~~€~~~€~€}€€}‚~€~~~~~€~€€€‚~€~~~~€€€~€~~~~~~~€}€~€~€}€~~~‚~€~€~€~~€~€~€€€~~€~~~€~€€}€~~€~€€~€~~}‚€€€~€~€}€~€}€~~€€~~~~€}€~~~€}~€€~}€~€€€~€}€~€~€~€~€~~~€~~€~~~€‚€~~~€~€~~€€~‚€~~~~€}€€~~~~€~~~€~€€~€~€~€~€~€~~€€~€}€~~~}~~‚€‚~€~€~~€~€}€€~€~€~‚€~~~~€€~€~~~€~€~}€~€~~~€~€}€€~€€~€}€~~~‚~~€}~€~€}€~~~€~€~~~€~€€€€€‚~€~€~€~~€~~~€~€~~~€}€~€€~~~€}€~€~~~~€~~~~~€€‚~~€~€~~€~€~€~€~‚€€€€~€~~€~€~€~}~€~€€~€~€€}€~~~~€~€€~~€~~~~€~€€}€~€~€~~~~~€€~~€~~€€€‚~€~~€~€€~~€~~~~€~~€~~~}€~€€€~€~€~€~€~€€~€~€}€~€~€~~~~€€~~~~€~€€~~~€~€€~~€}€€~€~€~€€~~€~~~~~€~€€~~€~~~€‚~€~~€~€€€€~€~~€~}€~€€}€€~}€~}~~€}}€€~}~€~€€€~€~€~~~€~€~~~~€~€~~}~€€€~~~€~€~~~€€~~€~~€~~€€~€~~~~~€~}~€~~€€~€~€}€~€€€~~€}€~€}€~~€€~€~~~~€~€€€€~€~€~~€€~€}€~~}€€~€~€~€}~~~~€~~€~€~€€€~}€~~~€~€€~~€~€~}~~~€€~~~€}€€}€~~€€~~€~}€~€€€~~}€€~~~~‚~€}€~€€~€~~}€~‚~€~~€€€~€~~€~~€€~}~€~~€~~~€~€~€~€~€~€~~}~€€‚~€}€€}~‚~‚}~€~€~€~~~~€~€€€~€~~€~‚€~~~~€~€~€€~€€€€~€~€~€~€~€}€~€~}€~~€}€~€€~€~€~€€€€~~~~~€}€~€~€~}€~‚€€~€~~€~€~~€~€€€~€~~~€~€€~~€€}€€~}€~~~~€}€}~~€~~€€€‚~€~}‚~~}€~~€}~}€€~€~€~€~€€€~€}~~€~€~€~~}€~€~€€~€~€~~~€~~€€~€€}€~€}~~‚~€~€}~€}€~}€~~€~~€€€~}~~€~€~~}€~€~€~€~€€~~€~€€~€€}€}€~€~~~€~~€€~€~~‚~~€€€€~~~€~~€~€}~€~~~~€~€€}€~€~~€~€€~€€~€~€~~~~~}~‚€~€~~~~€€~€~€~€~~€~€€~€~~}€~€€€~€~~}€~‚~~€~€~€€~~€~€€€~~~€~~€~}~€~~€}~~€~~€€€~€~}€~‚€~~~~€~€~€}€€~€~~~~~€~~€€~~~€~€€~€~~}€€}~‚~~~‚€~€~€~~~~~~€~€}~~€~~€~€~~~€€€~~~€}€~€~€€~€~~~~€~~~}~€€}}€}~€~~‚~~€}€€~€~~~~€~~€~~€~~€€€€‚~~~~~~~~€€~€~€~~~‚€}~~€~}~€}€€}~~~~~€}€€~€~~~~~€~~€~~~~€~€~€€~~~~~€€€~~€~~€€€€~€~~}~€~€~€~}~€~€}€~€€~€~~‚~}€~€~€€€~€~~€~€€~~€~~€~€}€}€~€}€~~~~€}}€~~~~€~€€~€~€~}€€~€~€~~~€}€}€~€€~}~~€~€€~~~€~~€€~€~~~~€~~~€~~€~~~~~€~€}~€€€€}€~~~€~€€}€€}€€~~~~€~€~~~€~€}€~€~€~~~€~~€~‚~~~~€~€~€€~€€~€~€~~€}€~€~~~€~€~€€€~€}€~~~€€~€~~€~€€€~€~~€~~~}~~€}€~}€~€~€~~~€~~}€~€€€€~~~€~€€~€~~€~€~€~€€~€~~€~~~€~~€~~€€€~€~~~€~€€€~€~~€~€~€~€~€~€~€~~‚~€~~~~€~~€€~€}€}~‚€~€€€~~}€~~€~‚€€~~€~€~€~€€€€~€~~€€€~~}€€€~~~}€€~~~~€€~~€~€}€~~€~~~‚~~€~~~~€~€~€}€~€~~~~€€~~~~€~€~~~~€~€}~€~€~€€~€~}€~€~€€€~~€~~€€‚~€~€€~~€~~‚€~€~€~~€~‚~~€~€~}€~€~~‚~~‚~~~~~€~~€€~~€~‚€~~}€~~€}~€~~~~€€€~~€~}€~€~€~€~~‚}€~~€€€~}~~€~~€‚~}~€~~‚€~~€~€~~€~€~~€~€~€~~€~€~€€}~~~€~‚~~€}€€~~€~€~~~€}€~~€~~€~€~€}€€~‚€€~€~~~~€€~€~€~~€€~€~€~~~~~~€~~~€~~}~€~€€~~€~~€~€~~~€€€€~€~~€€~€~~~€‚~~€~~€}€~~€~€~€~~€€€€~€€~€}€}~}€~~~€~~€~}€~~~~}€~€~~€~~€~€~€~~€~€~€~~~~€€€}€~~}€~€€€~€~~€~€~~~~€~~~~€~€~€~€~€€€~~€~€€€}~}~~~~~~€€~€~~~~~€~~€~€~~€~~~€~€€€€~€~~€~~‚~€€€~€~€~~~~€€}~€~€~€~€~€~~€~~€~}‚€~~~€€~€~~~~}€~€~~~€~€€€€}~€~}~€~~~€€~€€€~~~~~€‚~€~€€~€}€~€€€€~€~}€}€€€~€~~~~€~~~~€~€~~€~€~~~€~€€~€~€~~~~€}€~~€~~~€}€~~~€}~€~€~€~€~~€~€€~€~~€~€€€‚}€~€€}€€~€~€~~~~€~€}€€~€~€~‚€~~€~€~‚€~~~~€}‚€€~€~~~€~~€€~€~~€€~~‚€}€~€~€€€€~€~~}~€~€~~~‚~€€~~€~~~€€~€~~~~~€~~~}~€~~€€~~€~~€~€€€~~~€~€~€~~~~~~~~€~€~€~~}€~€€€}€~€~€}€~€~€~~~~~€€€~~~€~€€€~~€~~~~€~~€}€~€~€€~€~€~€~~€~€}~€~~€~€~~€€€~~€€~€}€~€~~~€€€~€~~~€~€~~€~€€}€}~‚€€€~€~€~€~€€~~€€~€~€~~€}€~~€~€}€€}€~~~~~€~€€~~~~~~~€~~~~€€~€€~€~€~}€‚~€€}€€~€~~€~}€~€€€€~~€~€€€~~€~€€~€}€~~~~}€~€~~~~~~€~€~€~~€~€}€~€~€}€€~€€~€~€~~€~€€€€~€~~~€€€~€~~€~€~}~~€~€€~~€~~€€€€~€~~~€}€~~~€~€~€~~~~€~~}~~~~€~€€€}~~€~€}€~€~€~‚}€~~€~‚€€~~~€~€€}€~€€€~€~~€~€€~~€}€}€€}}€~~€~~€~~~‚€~~€~€€~€~~€~€~€€~€€}€~€~~€€~€~€~}€€~~€~€~€~~€~€~~€~€~€~€}~~€~~€€~~€€~€~~~€}€€€}€~~~~~~~‚€~~~~€~€€~}~€~€~€€~€~~}~€€~€~~~€~€€}~~€€}€~€}€€~~€~~~}€~~€€~~}~€€~€~~~€~~€€}€€}~~~€€€~€~~~€~€€€€~}~€€}€~}€€}€~}‚€~~€€~€~~€~~‚~}€~€€}€€~~~~~€€~€€~€~€}€~~~‚€~~‚}~€€~~€~~€~~€€~€~~€~€€}€~€~€~€~~~~~€}€~‚€~€~~~€~€~~€~‚~~€~€~€€~€~~€~~~€~€~€€}€~€~}~€}€~~~}€~€~}€~~€}€~~€}€~€~€~~~~€}€€~€~~€~€~€~~}~~€~€~~€~~}€€~€~~~~~€€~~€~~‚~~~€}~€~€}~~€}~€€~€~~~~€}€€~€~€~€}€€~€~}€~€~~‚‚~€}€}~€~€€}~~€}€€~~}~€‚}€~~€€€€€~€~~~€~€~€€~€~~€~€~€~~€~€~€~~~€€~~~€~~€€‚~~~~€€€€~€~‚~~~~~€}€€}~€€~~~€~€~€€~€€~~~~€~€}€€}‚€€~€}~~€~~€€€~~‚~~~~€~€}€~€‚~~€}~€€€€€~}€~€€~~~€~€€~~~~€~€€~€€~€~€€}€~€~~~€‚~€~€~€~€€~€~€~~~€~~~~€~€~€~~~~€€~~€}~}~~~€€~€}€~~}~€~~€~~€~~€€~€~€~~~€~€€~~~~€}€€‚~}€~€~~~~~€~~~€}€~€}€~~€}~~~€€~€~€~~€~~€€€~€~~}€~€~~}}~€~~~€~€}€~~}}~€€}‚€~~~~€~~~€~~€€~}€€~€€}€~~€~€€~€~€~~‚~€~~~€€~~€~~}€~€€~€~~~€~~~€€~~€~}€~€~~~~‚~~€~€~€€‚~€}~~€~~€~€€~~~€}€€~€€~}~~€~}~~€~€~€€~‚€~€~~€~€~€~€~~€~€€~~€}€~€~~~}~€~€~€€~€~~~€~€€~€€~€~€~€~€~~€~~~~€}~€~€}~€~}€‚~€~€}‚€~€~~‚~~~€€~‚}~~~€€€}~}€~€€~€~€~~~~€~€€~€~~€~€~€~~~€}‚€}~€}€}€}€}~~~€~~€€~~~€~‚€~~~€~€€€~€~€~€~€~€}~€€~€~~~~€~€~€€~€}€~€€}€}€~~~€€~€}~~€~€~€~~€~€€}~€~€~~€~~€€€~€}~~€~€~€~~~€€~€~~~€~€€~€€}€~€~€~~€~€~€~~~€~€~€~€}€~~€~€~€€}€~€~€}€~~~€~€~~~~€~}€€~€~€~~}~€€~~~~€~€~€~€~~€~€€~€~€~€~€~~€~‚€€€~~~~€~€~}~€~€}€~~~€~~€}€}€~~€~~~€€€‚€~€~~~€~~€~€~€~€€~€~~~€~~~€}€~€~‚€}€}€~€~}~~‚~€€~€~~~€€€~€~}~}~€~}€€~€€~€~~~€~~€}€€€€~€~~~~€€€~}~~€~€~€€~€~€~~~~€~€~~}~~~€}€~€~€}}~€~€~€~~~€~€€‚€~€~~~€~€~~€€}€}€~~~€€~~~}€~€~€~~~€€~~~€~€~€€~~~€}~€€€~}~~~€€€~~~~€~€~€}~€~~~}~€€~€~€~~€}€€€€~€~}€~€€~€~~€~€~€~~}~}€~~€~€~€€€~~}€~€€~€€}€~€~€~~~€~€~€~~~~~€}~€~€}‚€~~~~~€~€~€}€~€~~~€~€~€€}~~~€~~€~‚~~€}€~~€~€~~€~~€~€}~€~€€€~€~~~€~€~€~~€~€€~€~~~€}€€€~€~~‚~~‚~€~€~€€~€~~~€~~€€}€~€~€~€~~€€}€~~€~€~€~€~~€~~€€~~~~~€~€~€~€~€€~€~€~~€~~~€~€€~€}€~€~~€~€~~~€}€~€~€~€~€~€~€~€€~~~~~~~~€}€~€~€}€~~~€}€}€~~~€~‚€€~€~~~~€~€€~€~~~€~€€~~~€€~€€~€~€€~~~€€€~€~~~€~~€~€€~~~~~€~~€€€€~~}~€€€€~€~~}€}€~€~‚~~€}~€}~€€~~}~€~€~~€€~€~~~~~€~€~€~~~}~€~€€}€~~€‚}€~€€~~~€~€€~€}~~€~€€}€€~€~€~€~~~€€~€~€}~€~€~~~~€~€€~~~~€€€~€~~€€€€~€~~€€~€~~~€€~€~~€~~}~~}~€}€€€~~~€}€€~€~€€~€€~~€~€~€€~~~€}~€}€€€€~~€~~€~€€€~€~}~€~€}~~€~~~‚~~€€~~~€€}€~€~~€~€~~€~~€}~~€~€~€~€~€}€€~€€}€~€~~‚‚~€~€~€~€~~~€~~€€~~€~~€€€}€~~}~€~~~€~€~~€~€€€~~~~‚€€~~~€~~~€~~€€€~€~~~€~~€~~€~~€~~€~€~~~€~€~~~€€€~~~€~~€~€~€€~~~€~€}€~€~~~€}€~€€~~€~~~~}~‚€€€~€~~€~€~€}€~€~€~~€~€~€€€€~~~~~~€~~~€}€€}€~€~~}~~€~€€€~€~~~€~‚~€~~~~€~€~~€~€~€~}€~€}€€~~~~~€}€€~€~€~€~€~€€~€~~~€~€€~~€~€~}~€~€€€~~€}~~€~}~~~~}~€~€€~~~€~€~€~~€}~€~~€~~~~€~€€€~~}€~€~€~‚~}~~€~€€~}~~€~€€~~€~~}~€~€~€~€~€~}€~€~~~~€~€~~~~}~€€~€~~~€‚~~~~}~‚€€€~~~~€~€€~~€€~€€~~€~€~€~€~~~€~€~~~}~€}€~€~€€€€~~~€~€€~~~€€~~~€€~€}€~~~€€~€~~~~}‚‚€~~€~€}€~€}€€~€~€~‚~~~€‚~€€}€~€~}€~€~€~~~€€~€€}€€~€~€~~~€€~€~€~~~}€€~€~~€~}~~€€~~~~€~€€~€}~~€~~~~€~€~€~€~€~}~~~€}€}€~~}‚€~~€~€~€€}~€~€~€€~~€~~€}€€€€€~€~~€~~€~~€~€€~€€}€~€~€~€~~~~€~~~}€~€€}€€~€~€~€~~~€}€~~~~~€~€~€~~€€~€~}~€~€~€€€~~€~~~~~~€}€~~€~}‚€~~€~~€€€~€~~}€~€~~~~€~€‚~}€~€€~~~€~~~~€}~€}~~€€~}€~~~~€~€}€}~~€~€~€~€~€~€~~~~€}€}€~}€€~~€~€~}€~~€~€€€}€~~~~€~€~€~€~€€}€~~€~€€‚~€~}€~€~}~~€~€~€~€~€€~€~€~€€€~€~~~€}€~€}~€~€~€€~‚}~€~€~}€~€€€~€~~€~€~}€~~€~€~€€~~€~~~~€€~€~€~~€€}€€}€€~€~€~~€}€~~~~€~~~€€~}€~~~~€~€}~€~~~~~}€~€~€~€€€~€~~~~~}~~~€~~€}}€~€€~€~~€~~€~~~€~~€~~~}€€}~~~€€~€~~~}€~~€€~~€}€~}€€}‚~~~~~€€~~€}~€~€~€~€~€~~}€~€€}€}€€€~~€~~~~€~€~€€~€~~~€€€~~~€~~€~€~€}~€~~€~€€€~~~€~~€€€~€~€~~}€~€€}~€~€~€€€~€~~€~€~~€~€~€€}}€~€~~€~~~€}€~€€~€~~}€~€€~€}}€‚}€~€}€€~€€~~~€€€~€~~€€~~€~€}~~€~€~~‚‚}€~€}~~€}€~€€€€}~~~€~€~€~~€~€€~}€€~€~~~€~€€€~€~~~€€~€~€€}€€}€~~~~~€}‚€€~€}~~‚~~~€~~€~‚~€}~~€~€€€~~~€~}€~€~~€~€€~€~€}€€}€~€~‚~€€~€}€~€€~~~~€~€~~‚~~€~~€}€€€€~~€}~€~€~€~€€~€~~~~~€}€€~€~€}‚~~~€}€}€}€~}~~€~€~~€~~~€~€€€~€}~€~€€~€~}€~~}~€~€~}€~€€~€}~€}~~€}~~~~~~~€~€~€}~~€~€~€€}€€~€~~€~€€€~€~€~~~~€~~~€~}€~~€‚~€}~~~€€~€€~~€~€}€€€‚~~€~~~‚€~~}€}€€~}~~€~€~~€~~€€~€~~€~~€~‚€€~~€~}}€€€€~}}~€~€~~~€~‚€€~~€~€€‚~~€~€~~}~~~€~~€~~€~€~€~~~€~~~~~~~~€~€~€~€~~~€~~~~€~~€€€~€€~€~€~€}€~~‚~~€~€~€~‚~~€‚}€~€~€~~~}€€~~€€€~€}~€~€~€}€~~€€}€~~~~‚~~~€~€€~€€‚~€}~~}€~€~~€~~€~~€~€€~€~€~~~€€€}}~~~€€~~~€~€~}~~€~€~€€}~€}‚€~~~~€€~~€~~~~~~€~~~~~€~€€~€~~€~€}~€~€}€}€€~€~€~€}~~€~~€~~€~~€~€€‚~€~€~€€€~€}€~€~€€~€~~€~~~€~~€~€~~}€~€€~€~~~€~~~~~~}€~€€~€~~~€~€}~€~€~€}~~€}€~€~~€~‚€~€~~€€€€~€}€~€~€€}€~€~‚€~~~~}€~€€€~€~~~€~€€€~~€}€~€€}€~~€}~€€~~~~€€~~€~~€~~€~~~~€~€€€~€~~€~€€€~}~~€~€~€€~€~€~‚~€~}~~~~€}€~€€~€~€~~€~€~‚~€~~~~~€~~€~€~~€€~}€~€€~€€€~€~€~€€€~~~€~~€~€€}~€}€~~~~~€~€}~€€‚~€~€~~~€~~€}~~~€}}~~‚~€€~}€~}€€}€~€~€€~~~€~€~~€}~€~€}€~€}€~~€~€€~}~~€~€~€€€€€~~~€~€€~€~~~€€€€~€~~~€~€‚}€€~}€~~~~€~€€€~€~~€~~~€‚~~~€~€}~€~€~€}€~‚~€~€~€~~~~‚}€~~~‚€~~€~€~€€~€~~€}~€€~~€~~€~€~€~~~€~~€~€~€}€~~€~€~~~}€€~€~}€~€~~~~~€~~~€€€€€~€~€~~~€€~~€~~~~€€€~~~€~€€}~~~~~~}€€~€~~€}€~€€~}€~~~~€~€€~~€~~€~€€~€€~€}€~‚€~€~}‚~~~€~€}~€~~~~€}~~€€€‚~~~~€~€€~€~€~€~€€~~€}€~~€‚~€~€~€}€~}~€~~€€€~€~~~~€~€}~~~~~€‚~€€~~}€€€€~€~~~€}€~€~€~~~€~€~€~~‚€~~€}~€€~€}€~€~}‚~~~€~€~€~‚€~€~~~~€~€€~~€~~€~€~€}~€€~~€~~~~‚~€~~€}}€€}€€}€~~~~€~€~€€€~€}€~~~€~~~€~€~~€~~~~}~€€€€~~~€~€€€~}~~~~~~€~€~}€~€}€~}€~€€~€~€~€~€}€€~}~€~€€~€€~~~~~€~€€~€~€~€~€€€€~€~~~€€€€~~~}~~€~€~€~€~~~€€~€~~~}€€~~€~€€~}€~~~‚€~~€~€}~~~€}€~€€€€~€~‚~€~~€~€~€~€~€€~~€~~€~~~€}€~€€€~€~~~€~€~~~~~}~€~€~€~€~€~€~€~~~~~€~€~~~€~€~~~~~~€~~€~€€}€~€~€€~~~~~€~€~€~~€€}€~~€~~€~€€~€~~€~‚€~€€~~€~€~€~}~‚~~€}€~€}~~~€~€€~€~~~€€~€}~€}~€~€~~~€~€€}}€~€}}~€~~~€~€€€}€~€}~€}€~€~~~€}€~~€}€~~~€~€~~~}~€~‚€~€}~~€~€~€€~€~€~€€~~~€~€}€€€~€~€~€~€€~€~~€~~€~}€~~€€~~€}€~~€~~€~~€}€€~€~~~~€€~~€~€~€€~~€~€€~€~~~~~€~~~~€~€~~€~~€€€€}€~~€~€€~€}~€}‚€€~~€~€~‚€€~~€~~€~€€€€~~~~~~~€~~~€~€~~~~€}~€~€€~€~€~~}€~~~€~~€€€~~~€~€€~~~€~‚~€€~€~€~‚€~~€~€€~~~~€}~~~‚~~€}€€~€~~~~€€~‚~€~~~€~€~€~~}€‚}€}€~€~€~~}€~€~~€€~€~€~~}€€~€~~~€~~€€~~~€~€€~€}€~€~~‚~~~€~€~€€~‚}€~€~€‚€€~€~~~€€€~€}~~~€~~€}~~€~~~€}€~€~€}~~€~€~€€€}€~~}~€}€}€}€€~€~€~~€€€~}}€~€~~€~~€~€~~}€~€€€~}€~€~€€}€~€~€€€~~~~~~~~~}€}€€~}€~~~€€~~€~~€€~~€~~€€~€~~~~€€~~~~~€~€€~~~‚~~€~€€~€€~~~~€~€€~}~~€~~€€‚~€}~€€~€~€}~€~€~€€~€}€~~~€~€~~€~~€~€}€~€}€€~~€~€‚}€~€~€}€~}€~€~€~€~€~~€€~€~€~~~~€~~~~~€€~€}~~€~€~€~€~€~€€~~~~‚~€€~€€~€~~~~€~€~€~€}~~€€}€~~€~~€}}€€~€}€~€~~€~€~€~€~~€~€€}~€~~€€‚~~€~€~€€~€~€~~~~€}€}€}€~~~€€~€~~~€~€~€~€}€~€~~€€€€~~~~}€~‚€~€~~~€~€€~€~}€~€€~€~~€~€~~€~€~€€~€~€~€}€€€~~€~€}~€}€€~€~}€€~‚}~€~€~€}}~~€€~}~€~€€~€~~€€}€~€€~€~€}€~~€~~~€~€€~~~~€~€€~€~~€~€~€€~€~€~€~€}~€~€€~€€}€~€~€~~~€€}~~~€€€‚~€~~~€~‚€€~€~~~€€€~€}~€~€€~~~~~~€€€~~~~€~€~€~€}€~€~€}‚€~~~}}~}}~€~€€~~€~}~€~€€~~€}€~~~€€}€~~~€€~€~€~~€~~€~€~~~€~~€€~€~~~~€€~~€~~‚€~€~€~~~‚~€‚~€~€~~€~‚~~€~€~‚€~~~~€~~~}€‚~~~€~~€€~~~€~~€}~€~‚€~~~}€~€€}~€€~~€~€~~~€~~~€~€~}~€€€~€~~€~€€€~}€~€~€~~€}€~€€~€}~~~€~€~~~~~~€~€~~€~~€€~€~~~€~€~~~€~~€€~~€~€~~€~~‚€€~€~€~~€€~€€~~}€~}€}€~~~}€~€}~€~~~€‚~€~~€€€}~€~€~€}€~€}~~~€}€€€~€~~€~€~~~~~€~~€~€~€~~~€~€~€~~€~~€€~€~€~~~~~~€‚~€~‚€€~~~~€~~€~€~~€~}€}€~~€~€~€€€~}~~~€~€€~€~€}€~€€~€~~~€~€~~~~€~€€€€}€~~€~€~€€}~~~€~€€~€~€~€~€€}€~~~€~€€~€~~€~€€€~€~}~~€~€~€€~~~~~€~€~‚€€~€~~~€€~~~}~€~€~~€~€}€€~€~}€~€€~}~~€~~~€€~€~€}~~€~€~€€€~~€~€~~€€~€~~~€~€€}€~}€€‚~€~~~€~€€€~~~~€~~€}€}€~~€~~~~€€~€~~~~‚€~~~€~~€€€~€~~€~~~€€~~€~€~~€}€€~~~~€}€}~~€}~~€€~€€‚~€~~€~€€€€€~}€}€€~€~~€}~€€~~~~€€~€€~~~~~~~€‚~~€€~€€}}~}€~€€€€€~~~€~€~}~}€~€~€~€}€€€€}€€~~€~€}~~}€~~~~€~~€}€~€€~€~€~~~~~€~~~~€}€€~€~€}€~€€~€~~~€~€€~€}‚}~~~€}€~}€~~€~~€~€~€€~€€~~}~~€~€~€~~€~~~}€~~€€~}~}€~€~~~~€~€~€}€}€€~}€~€~~~€€‚~€~€~€€~‚~~~€~}€~€~~~€€~€}~~~€~€€~€~~€~~€~€~€~~€~~€€~~€~}€~€~€‚~}~~€~€€€€~€~€~€~~~~€~€€~€€~€~€€}€~€~}~~~€}€€~€~~}€~€€€~€~~}€~€€€}€~~}~~€~€€€~€~€~~~€~€€€~€~~~€}€}€~~~€€}€~~€}~~€~~€~€~€~€€€~€~~€€€€€~€~€~€€~€~€€~€€~€~€~}~€~~€~~~€~€€~€~~€}~€€€~€~~~~€€~€~~}€~€~€~€~€~€‚~€~~€~€€‚~€}~}€~~~~€€€}~~}€~€~~~€~€~~€~€€~€€~€~€}€€~€~~~~€€€€‚~~~~€~~€€~~€~~€~€€~~€~€~€€~€~‚~~‚~€~€~€€~€~€}~~€~~‚€€€~~€~~~‚€~~€~~€€~€~€~€~€}€€}€~~€~~~€€€~~~~~€€€~€~~~€~€€€~€~~€~€€~€}€~~~€}~€~€€}€~~~€~~€}~~€€~~€~€~~€~~€}€€~~~~€~€~~€€~~~}€~~~€€€}€}~€~€~~~€~€~€~€~€~€}~~€~€}~€€€~€~~~~~~€€~€~€~~~~~€€~€~€~€~}€~€€~€€~€~~~€~€~€~‚€~~~~€~€~~~€~~€€€}€~€~€~€~~~~€€~€~~~~€~€~€~€~~~€~~~~‚}~~~€€~€~€~~€‚~€~~€€}€€}~~~€~€~€~~~‚~~€~€~€}€~€~~€~~€~~~~€~€}€€~€~€€}€~~€}}€€€€~€~€~€~~€~€€~€€~€~~}€~€€€~~~€€€~€~~~~~€}~€~€}€~€~~~~€~~€}€~~€~€€~~€~~~€€€~€~€~€€}€~~~~€~€€€~€~~€~~€‚~€~€€~€~€~~€€€€~~€~€~~€~~€~€~~~~€€~€~~€~€~€€~~~€~~~€€~€~€~~~€~€~~~~€~~€€€~}€~~€~€~€~€~}~~}€}~€~€~€€~€‚~~€€€€~~~€~€€~€}~€~€‚~€~~€}€~€~€~€~€~~~}€~~~~~€€~€}€~€}~~~€€~€}€~€}~~€}~€€~€~}~‚€~€~~€~}€}‚€~~€~~€~~€€~~~~}€~€~~€~€~~€~€~€€~€~~~€~~€~~~€~~€€~€~€~~€~~~€‚~€~€}€}‚}~€~€€~€}~€~~€€€€~€~~~€~€~€~~€~~€~~}}€~€~€~€€~}~€€~~€~~~~€~~~€}€~€~€~€~}€~€~€€€~~€~~~€~€}~~~€~€~€~€~€~€~~~€~€€€~€~~€~~€~~~€~€~€}€}~€}€~~~€€~€~~~~€~€~~€~~€€~~€}~|€~€}€}}~€~€}€~€~~‚€~~€€~€}€~~€€€€~~~€}€€~~€}€~€€~~~‚‚}~€€‚~€~€~€~€~~€~€€‚~~€~~~€}€~€~€~€€€~~€~~~€€~}€~~~~~€~€€€}€~~€‚~€~€~~€~~~~~€€€~€~~~€~‚~~€~€~€}€€~€~~€~€~€~~~~~~€~~€~€~~~~~~~~~‚€~~€~€~~€€€~€~~~€~~~€~€~€€~~€~€~€~€~~€}€~€~€€€~~~~~€€€~€~~€~€€~}€}€€~€~€~€€€~~~~€~€‚~~~~€~€€~~€~~€~€€~€~~€~€€~~~€~€€~€~€}€}~€~€€~€~~€~€€~}€~~€~€€~€~€~€~€~~~~€~€~€~}~~~~~€€€~~~€~~€~}€~~€€€~}€~~€~~~~~€€€~}~~€~‚~€~~€€}€~€~€~€€~}€~~€~~€€~€~€~}€~~€~€~€~~€~~€~~~~~€€€~€~~€~€~~€}~~€~€~€~€~€~~~€}€€~‚€~€}~~~€~~~€~~~~~€~€~~€~€€€~~€~~~€~~~€}€~~}~~~€€}€~~€}~€€€~€~~~€~€€€~€~~~~€~€~€~€~€~~~€}€€~€€~~€€€~€~€~€~€~€€~€~€~€}~~€}€}€~~~€~~€~€~€}~€~€€~~~~~~€~€€~€~€}€~€~€~~~€€€€~}€~~}€~~~~€€~€~€~€~€~~€€€~~~~€~€€€~}€€~~}€€~€}~€~~€€€~€~~~€~€€‚~~€~~€~€€~€~~~€€~€€~~€~€~~€~€€€}€~~~€€€~€~~~€~€€~~~€~€€~€~~~€~€€~€~~€~~€€~€~€~~€~~€~~~~‚~€~~€}~€€€~~~€€~€€~€~€~€~€~~€}€~€~~€~~~€€~~€~~~€~€€~€~€~€€}€~€~~€€€~€~€~}€~~€~~~~€~€~~~€~€€€~€~~~€€~€}}€~€€~€~}€~~€€~~€~~~€~€€€}}€~~}~~~€~€~~€€€}€~~~€~€~~~~~~}€~€~€~~~€~~€~€~‚€~~€~~~~~€~~~€~€}~~€}~€€€}~~€€~~~~~€~€~€€}€~~~~€~€~~~~€}€€~~~€~~€€€€~~~€~€€~€~~~€~€~€€€~€}~~€~€~~€~€~€~€€~~~~€~€}€~~~~~€}€€~~~€}}€€€~~€~€~€~~€~~~~‚}€€~€€~€~~€~~€€~~~€~€~~~~~}~€~€~~€~€€~€}€€€€€~€~~~€€~~~~€~~~~~€}€~~~€~€€€~€~€}€€~‚€~~~~€~€€~€~~~‚~~€~€}€~~}~€~€€~€~~~~€~~€€~~€~‚~€}}€€~€~€~~€~€€€~€~~~~~€~€~~€~€€€}~~€~€~€~‚~~~€~€}~€€€~~€~}€}~€~~~€~€~~€}~€€~€}~~€€~€€~~€}~~€~€€}€~~~€€~€~€~~€~}€~~€~~€€€€~~}€~€~€~~€~€~~}~€~€~€~~€~€}€~~€€~€~~~~€~~€€~~~€~~€~€€}€~~~€~~€~€€~~~~€~€€~€~~€~€~~~€~€}~~€~~€€~~‚‚~~~‚~}€~€~€~€~€}~~€~€€~€~€}€}€~€~~€~€€€~}€~~€~€~€~€~€~€€~€€~€~~€€~€~}~€~€~~~~€€~€}€~€}~~}€€~€}€‚~~€‚~€~€~€~~€~~€€€~€~~€~~}€~€}€€}~€~~}€~€~€€~€~€~€€~€€~€€~~€~~~€~€~~}~€~€~~€~€€€~~€~~~€~€€~€~~~€~‚}€~€€~€}~}~€}€~€~~€~~~~~~€€~€~~}~~€~€~€~~~€~€~€~~}€}€€~~~€~~€€~~}€}€~€}€}€~€~~~~€€~€~€~€~‚~€~€‚~€~~~€€€~€~~~}~~€}€~€~€~€~~€~€~€€}‚€~~~€~~~€}€~€}€}}€~€~‚~~~€~€€}€€€~€~~~~€€~~~€}~}~€€~€~~~€~€~€~~€~€~€}€~€~€~€€~~~€€~}~~€~~€~}€‚~€~~€~€~€€~~€~~€~}‚€~~~‚~~€~€}€~~€~€~€€}€~€~~€~~~€}€}~}€}~€~~~€~€‚€€~€~€~€€~‚€~~€€}~~~€€~€~~~~~€~~~€~~€~~~€~€€~~€~~~}€~€~€}€‚~€}€~~~~€€~~€~€}€€~€~~€€€~€~~€€~€}€~€~€~€~}€€~€~~~~€~€}€€€€}€~€~~~~€€~€~~~€~~~€~€€}~~~~€€}}€~€~€~~€~€€~€~}~~€~€}€~€}~~~€}€€~~~~€~~€~~€}€}€‚~€~~~~€~~~€~€€€~€~~€~€~€~}€€~~€~€~~€~€~~~€~€~~€~€€~€~~€~~~€}€€~€~€~€‚~~~€}€~€~‚~€€~€~~€~~‚€~€~~€€}€~~~€€}€~€~€}€~~€~}€}€€}~~~€~~€€€~€}€~~}€€€€€~~~~~€€~€}€~~€~~€}€~~~~~€€~~€~€€}~€}~€}~~€~~€‚€~~€~€~€~~~€‚~~}~}€€}€~~~€~~~~~~~~€~€€~€~€~~€€~€}€}€}€~€}€~~~€~€~€~~~‚}~€~€~€~~~~€~€€~€€~€~~~~~~}€~€‚~€}€~~€€~€~€~€~~~~€}€~~€€€‚~€~~~~€~€€~}€~~}€‚€€~€~~€€~€~~~€€~~€~~~}~~€~€‚€€~~~~€~~€€€}~~~~~€€~€~~€~~€€~€~‚}€~€~€~~€~~€€€€~€}€~~~~€~€€~€~~~€~~€~€}~€~€~~~~~€~~€€€~~~~€~~€~~~}~€~~€}€~~~~~€}€€~~~~~€€~~~~~€~€€~~€~~~~€~€~~~~~~€}‚€€~~€~~€~€€~€~~€}€~€€~€~€~~€€€}€~~~€€~€~}€~~~~~€~€€‚~€~~€~€}€~€€}€~€~}€}€€€~€~~€~€~€~€~€~€€~~~~~€}€}€€~~€~€~€~€}€€€€€}}~€~€€€~€~~€~€€}€€}}€~~~€‚~€~}}€~~~~€~€}€€€}€~~~€~€~€€€€~€~~€~€€€~~€~€~€€~€~€~~€~€€~€~€~}~~~€}€~€~€€}€~€~~~~€€€~~~~€~€€~€}~}€~€~~€~€}€€~€€~€}~€€€~€}€~~}€~‚~~~~€‚~~~€~€~€~€~~€~€~€}~€}€~~€}~~}€€€€~€~€~€~€€€€€~€~~~€~~€}€~€}€~‚~~€~€}€}€‚€}~€}€~€€~€~€~~~€~€~€}€~}‚~~~€~~€€~~€~€€~€~€~~~~~~€‚~€~}€~€~~€}€~~€~~~~€~€}€~~~~~€~€€~~€~€€€~€}~~~€~€€~€~~€}~€€}‚€~~€~~~€~€~€~€€~€~~~€~€~~~~€~}~}€~€~€~~€€~~€~~~€}€~€~}€~€}€~~‚~€~~~~~~€€~~~~}€}€‚~€~~~~€}€~~}~€~€~€~€€}~€~~~~€~€~€€~€~€~€~~~€~}€~€~€}€~~€~~~€~€~~€}€€~€~~~€~~€~€~€~€~~€~~€€€~€~}€~~€~~€~€~€~~~€€~~~~€~€€~~€~~~~~~€~~~€~€€~€~~€~~€~€~~~€~€~~~~~€~~€~€~~~€~~~~~€~€}~~€~~€~~~~€~€~€~~€~~€~~~€~~€€~‚~€€~€}€~}~€~€~~~€~€~}~~~€~€~€}€~€€~~‚~€~€~€~€€}€~~~€~€~~€~€~~~~€~€~€€~~€}~€~€}€~~~€~‚~€~€~~~€~~~€~€~€~~~€~€€~€~€}€~€€~~~~€~€~€~€}€~~€€~€~€~~~€€€~€~~~€~€~~~€~€€~}~€}€€~~~€}~}~€€~€~~~€€€€~€}~€‚€€~~€}~~€~~€~~€€~€~~€~~‚}~€~~€~~}€~€~€€€‚~€~~~€}€~~~~€~€~~€€~€}€~~~€€~~~€~€~}€~}}€~~€~€€~€}€~€~~~€~‚€~~}~~~€~€~~€~€~}~~€~€€€~€€~€~€€}€~€~€€~~€}€€~~€~~}€~~~~~€~€~~€~€~€~€~€}~~~~}€€~~€~~€~€~€€~€€~€€~~€€€}€}~€~}€€~€}~~~€~€€€~~€~~€~€€~~€}~~€~€~€~€~}~~~~€}€€~€~€}}~€~~€€€~~€~~~€€€~€~~~€~}€€€~€}€~}~€~€~~}~€}€~}€€~€~‚~~€€€€}€~~€}€~€~€~€~€}€}~€~€‚~~€~€~€~€~~~~~€~€~~~~~~€~~€€~€~}€~~€€~€~~€€€~€~~~€€~~~~€~~€~€~~€~€€€€~€~€~~€‚~~~~~~~~€~€€~~€}~€€~€€~€~€~€~~€~~~€~~€€€~~~€~~~~~€~€~~~€~~}€~€}€€~~€~€~~~€~€~~}€~~~€~€~~€~~€€€~~€~~€~€‚}€~~~€~~~~~~€~€~€}~~}€~€€~€~~€}~€€~€~€~~~€~€~~~~~}€~}€~€~€~€~€~~€}€~€}€~€~~‚}~€€€~~~€€~€~€~~~~~~~€}€~~~€~€€€€€~€~~}€~€~~€€~~€~~~€~€€‚~€~~~€~‚€€‚~~€~€}€€~€~€~~€~€€~~~€}€€~€~~~€}€}€~€€~€~€~‚~~~€~€€~€~~}~~€~~~~€~~€‚~€~~€~€€~€~€}€€}€~€~€~€~€~€~€~‚€~~€~~~€€~~€~~€€€~~€~€~€}€€~€€}€~~€~~~€~~€~~}}~€€~€~€}~~€~€€~€~~~€€~€}~~~€€~~€~€~~‚€€~€~€~~€€}€€}~~~~€€}€€}€~~€~~~€~€€~~€~~~€€}€€}€~€}€€~~€€~€~~~€~€~~€~€€}~}}~€}€}}~€€}~~€~~€~€€~~~€~‚€~~‚}€~€~€~}€~~~€~€~€~€~~~€~€~€}€~~~€€~€~~~~€~€~€~~€~~~€~~€~~~~~€€~€~}€€~€~€~€€~€~}~}~€~~~~~~~~}€€€€~€~€~~~€~€}~~~~}€}€€€~~~~€~~€}€€}€~€~~‚~~€~€€~€~~~~~~€€~~~~€€}€~~~€~€~€}~€~€€~€~~}€~€~~~€~€~}€~~€}€~€€}~€~€~~~€€}€~~€~€‚}€~}€€}€~€~}€€€~€}~~€~€€~€~€}~~€~€~~}~€}€€~€~~€~€~€€}~€~~~~~~}€~€}€~‚€~}~€‚€€~}~~}€~€~€~€€~€~~€}€€€‚~€~~€~€~€}~€}€~€~~€~~€€~}~€~}‚€€€~€~}€~€€~€~}€~€€‚~~€~‚€€~~€~~~€~~}€}~€}€}}}€€~~€~€~~~~}~~~€~~€€}~€~€~€€~€~~€~€~€~€~~~€~€~€~€€}€€~~}€~€}€}‚€~~~€}€~€~€~€~€~€~~~€~€~€~€}€~€€~€~~€~€~€€~€~~€~€€€~~~~~‚€€€~~€€~~~~~€~€}~~~€~€€‚~}€~~€~€€€~€~~~€~€~€~€~}€~€~}~€~~~~€~~€€€‚~€~€~€~}~€~~~~€~~~€~~~€€~‚€~~~‚€}~~€}€~€€€~~€~€~€€~€~€~~~~€}€€}‚€~€~~~~€~€€~~~~~€~€~~~~€~€~€~}}~€~~€~€‚~€~~~‚~~€}€€~€~€~~€~€~€€€~}€~}€~~€~~~€~~~€}€~€€~~~~~~€~~~~~€~€~€€}~~~€€€~~~€~€~€}~~~€}€€}€€~€€~€~€~~~~~€}€~‚€~~‚€€~~~€~€~€€~~~€~€~~~€€~€}~€~€€~~~€~€~~€€}€€~€~~~~~€€~~~€~~~€€~~}€~€€€~~€~~~€€‚~~~~~€€}€~~€~€~~€~€~€~~}~€~~~€~€~€€~€~€~€}~~€~€€~€~€~€~~€}€~€€~~~~€~~€~€€~}€~€~~€‚~~~€}€€}€~~~~€~~~}€€~€~~€~€~€~~~€~€~~~€‚~~€}~€}€}~~~~~€~~€~~€€€~€~~~€~€}€~~€€}~€~}~€~€~~€~€~~€}~~~~€}€}~}€~€~~~~€€~€~€}}€€~€~€~~~~€~€~€~~~‚~~~€}~~~€‚€€~}~€~~€~~~€~€~€~€~‚€€~€~~~~€~~€}‚€€~€~~€~€€€€~~€~€€€~~~€~~€€~€~€~€~€€}€~€~~~‚}~~~~€}€~€€~€~~€€~€~~€~‚€€€~€~~~~€€€~€~~~€~€€~}~€}€€~€}~€~€€~~~€~€~€~€~~€~€‚}€~€~€}€€}~‚~~~~€~€~~~€~~€€€~€~~~€€€~€~€}€€~€}€~}€~€~}}€~~~~~~‚}~€~~€~€}€~€€€~€~~~~€~~€€~~~~€~€€~€~€~~~€~€€~€}€€}€~€~}€~~€€€€€}~~€~}€~€~€~€~€~~€~€€~€}~€}‚€}~~€}}€~€~€~~‚~~~‚~€€~€~~€}€~~€~}~€~€€€~€~~€~€€~€~€~‚€€€}€~€~€~€~‚~~~€}€~€~€}‚~~~~€}€}€~‚€~€~~~~€~~€~~€~€~€~}€~€~€~~~€€€~~~~€~€~€~€~€~~~€}€~}~~€€~~€}~€~~~€~~€~€}~~~€~€€~~€}€€~~€}€~~~~€}€~€~~}~€~€~~€~€€~€}~~~€~~‚€~~~}€~€}€}€~~€€~~~~~€}€~€€‚~~€€~€~€€~~}€~€€~}€~~€~~€€€~€~~€~€~€€~€~€~€~~€~€~€~€~€~~€‚}€€}€~€}€~~€~€~€~~€~~€€€}€~~€~€~~~~€~‚€€€~€~€}~~~€€~~~€€}~€}€~~~~}~€~€~‚€~~€~€~~~€~~~~€€€€~}€~~€€}€~~~€~~~€~€~€~€~€~€~~€€~€~~~~‚€~€~~€‚~€~~}€~~€~€€~€~€~~~~€~~€~~}~~~~€~€€€~€~€~~~€}€~€}€€}‚}~~~~€~~~€~~~€~€~€€~€}€~~€~€~~€}€‚~~€~~€€€~€~~~€€~€~€~€}€~€~}‚~~~€~€~~€}~€€€~€~€~€€‚}€~~~€€€~€~~‚€~‚~€~€€~€~~~€~~€€~€~€~€~€~€~€€~€€~€~€~€~€}€~€€~~€~~~€}€~~€~€€~~}€€~€~€~~~€~€~~~€~~€€€~€~~€~~€~~€~€€~€~€}€€~€~€}€~‚€€€~}€€~€~~~‚€~~€~}~~~~~€~~€€~~~€}€~€~~€~€€€~~~~€~€~€}€~€}€~~~€}€}~~~€}€}€}€~~~~€~€}~}€~€~€~€~€~€€}€~~‚~€~~~~~~€‚~~€‚}€€~€~~~€~}}€~€€~€~~€~€€~~€}~€~~~}}€€~}~~}€~€€€}€~~€~€~~}~€~}€€~€€~~~~~~€~€~~~~~€~~€}€€~€~€}€~€~~€}€}€€‚~€~~~€~~~}~€~€~€~€~€€}€~~€~€~€~€~~~~€~€}€~~~~}€€~€~~~~€~€€~~~~~€~€~€€~€}~}€~€~€€}€~~}~~~‚~~€~€€}}€~~‚~€~€~€~~~€~€~€~€}€€€~€}~~€‚}€~~}€~~€~~€~‚€~~~~€~€€~~~€~€~€€~€~€~~~~~~€}}€~€}‚~€~€~€€~€~~‚~€}~~€~~~€~~€€€~€~~~~€€}€~~~€~€€}€~~€~~~€‚~€€~€~€~~‚€~~~€~~~€~~€€~€~~~~€€~€~~€~€€€~€~€}~~€~~€~€~€~€€~€€}€~~€‚~~€€}~~€€€~€~~€~~‚~~~€€€~€~~€~€€~€~~€€}€~€~~}€€~€~~€~€€~€~~€~€~€€~€~€}€~€~~~€€€‚~~~~€~€~€~~€~~~€~€}~~}€~~€}~€~€~~€‚~€}€€€~~€~€~~~~€~€€€€~€}}~€~€~}‚~~~~€~€~~€~~€€~€~€~€€~€~€~€~~~~€}~~€}€~€€€~€~€~~}€~€€€€~€~~~€€€~~~€~€~€~€~€~~~~€~€€~~€~~~~€~‚‚~~€~€~€~€~~~€€€~€}~€~€€~~€~~~~€€~€~}€€~~~~€€}€~€~€~~~~€~€€€~€~~€~€~€€}€~€~€~€~~~€}~€€~~~}€}~€€€€~~€~~€~~€}}~~€~€€}€~~~€~€~€~~‚€~~~€}€~~€}~~€~}€}€~~~~~~~‚~~~‚}€~€~€~€€‚~€~~}€~€€~~~~~€~€~~~~€~€}~~~}€~€€}€€}€~~}~€~~€~~~€~€~€€~~~~€€€~}}€~€‚~~~€€~€~}~€~~}€~€€€~€~~€~€~‚€~~~€~€€€~~~€~€€~~~€‚~€€~€~}~~~€~€~€~€~~€~~€~€~}~€€~~€~~~€~€‚~~€~}€€~}€~~€€€~€~€~€~‚€~€~‚‚~~€~€}€~~}€~~€~€~~€~€~~€~~~~€€~€~~€~€~€}€~~~~~~€~~~~}}€~€~‚~~~~}€~~€}€~€~€~€~€~€~~~€€€~€~~~~~€~€~€€~~€~~~€~€~~~}€~€€€€~€~~€~~~}€€~€€~€€~~}‚~€}€~~€}€~~~€~€€€~€~~€~‚€€}€~~€~€}~~~~~€}€~€~€}~~~€~€€~€~~~~~~~€}€€€~€~~~€~€‚~~‚~€~€€~€~€}€~~~}~~€~€~~~€~€‚~~~~~€€€~~~€~€~€~€~€~€€~€€}€~~~€~€~~€}~€€~~~~}~~€}€€}~‚€€€~}€~~€}€€~€}‚~~€~€}~~€~‚€~€}€~€~€~~‚€€}€~~€€~€~}€~€~~€~€~€€~}€~~€~€€€~€~€~€~}€~€~€}€~€~€~~€}~‚~~~~~€~€€€€‚~€}€€€€}€~€}~€€‚~€~€~~€~€~€€€}€}€~€€~€~€~€€~~~€~€~~€~~€~‚€~}€~€~~~~~~~~€~€€~€€~€~~€~€~€€~€€~~€~}€~~€}€‚~€€}€~€~€}~}€}~€€€€~€€~€}€}€~~€~‚€€~€~~~€~~~€~€}€€€~~~€}€~€€~€}€~}€‚~~€€~~}€~~€~€€~~€~€~~~~€~€~€~‚€~~~€~€~~€~€}€~€~~}€~~}~~€~€}€€~€~~~€~~€€}}~~~€~‚}€}€€~€~€~~}‚~~~~~€~€€~~€€}€~~~}€~€~€~~~~€~~€€~~~€~€€~~€}~€~€~~€~~~~€~€~€~~~€}~€~~€€~€~~€€~€}~€€~€~~€~~~€~}~~‚~~€€~€}~€~~€€~€~~€‚~€}~~~€‚€€€~~€~~€€}€}~}€~~~€€~€~€~~~~€~~€~~€}€€~~~~~‚~€~€~~€~€~€€~~€~~~€~€€€~€~~€~€€~€~~~€~€~~€€€~~€~€~€€~~€~€~€~~~~€~~€~~~€~~€€~€€}~}€~~~~€‚~€~~€}‚€~€~€~~~~~~~‚}~€~€‚~€~~~€~€~€€€~€~€~€~€~€~€~~~~€€~~~~€~€~€~€~~~~€~€€~~€~~~~~~~€€~€~€€~€€~€~€~~€~€€€€}~~~€€~€~~€~€€~€€~€~€~€~~~€~€~€}€~~~€€~€~‚~~~€~~~~~}€~€€€~€}€~~€}~€€~~~€}€~€~€~€~€~~~~€€~~~~€~€€€}€~~€~~€~~€~~€~~€}€~€~~}~€~~€~~~~~€€}€~€}€~~€€~~~~€€~‚~~~‚~€~€}€}~€€}~~€~€€~~~€}~€€€~~~€~~€€}€~€€}€~}€~~€€}€}€~~€}€~€€~€}€~~~~~€~€€~~~~€~€€~‚~€~~}€~€~~€~~~€€~€~~~€~€~~~~€€€~€€~€€~€€~€~~~€~€€€~€~~€€~€~~€}€€~€€}‚€~~€~€~€~~~€~€€~}€~~~€€€~€~}~~€€€~€~€~€~€}}€€}€~€~~~~€~€~€}€}~~€~€€~€}€}€~~€~~~€~€~~€~‚€€~€~~€~€€€~€~€~~~€~€€~€~~€~€€~€~€~€€~€~€€}~€~~~~€}€€~€}€~~€~€~~~€~€€~€~€~~€~€€}~€~€€~~~€~~‚~~€~~~~~~~€€~~~€~~~€~~€€~~€€~€~~‚~~~€~~€}€}~€€€~~~~€~€€~€~€~‚€€}~~€~€€€~€~€~~€~‚}€}~€€~€~~~}€€€~~~~~€‚}€~€~~~~€~}€€€~~€~€~€€~€}€~~€€~€~~€}‚€€~€~€~~~~€~€~€~}~~€~€~~€~~~~~€~€~€€}€~€~€~€~€~€~~€~~~€~€€€€~~~€~€~~€~~~€€€€~€}~~}€~}€~€€~~~€~€€€~~€~~€€~~€~€~~~~~}€~}€~~}€}€€€~~~€~€€~€~€~€~~~~~~€€~~~~€~€€~€~€}€~€~€}€€~~€~~}~€~~}‚€~€~}~€~}€~€~€€~}€~‚€€~€~~~€~€~€~~€~~~€€~€~~€}€~‚€€~€~~~€€~~€~€~}~€~€€~}~~}€€~~~~€~~€~~€~€€~€~~€~€‚€€~€~€}~€~~~€€€€~€}~~€~~~~€~€~€~~€}~€~~~~~€€~~€~}~~€~~€~€}€~~€‚~€€~}€€~~~€€}€~~~~~€~€}€€~‚~€~€~€€€€~}€~~~~‚~~€~€€~€€}~‚~~~€~}€€~€‚~€~€~€}~€~~€~€~€€~€~€~€€}€~}€€€€‚€~€~~€~~€~~~€~€}~€}~€~€~~}~€€€~€}€~~‚~~€}€~~€}~~€~€~}€~€~€~€€€~€}~~€~€€~~€~€~~~€~€€}€~€€}€~€}~~€~€€~~~~~€~€~~€€€~€~~~~€€€~€~€~~~~€~€~~€~~€}€€€~€~~€~€€€~}~~€~~~€}€€~~€~~~€€‚€~€~~~€€~€}~~€~€~~€~‚~~€€}€~€€~}€~~~€~€€~€~~€~~€~€~€€~~~€~~€~€~~~~€€€~€~€~€~‚€€~€~~~~~€}€~€~€~~€~€€~€~~~~€~~€~€~€‚~€~~~€~€~€‚~~€~€~~€~€~€€~€~~€~~€€~~~€}€}~}€~€~~~€~€~€€~€~‚€~~~~~€€~€€~~€}€~€~~~~~€~€€‚~€~€~€€~€~€~~€~~€~~~}€}€€~€~~~€€~~~€€~~€~~~€€~€€~€~~}€€€}€~€~€~~€€‚}€~~~~€~€~}~€€}€~~~€€€€}}€~~}€€€~€~~~€€~€~€~~€~€€~€~€~~€~~€€}€~€€~}~~€~~~€~€€~€€~€~€~€€~€}€}~€~}€~€€~€~€~€~€~€~€~~~}~€~€~€~€~~€€€~~€}~€~€€€‚€~~€~€€~~~~€~€~€~}€€~€~}€~}€~€~€~~~~€€~€~€~€~~~€~~€}€~~€~€~~€€}~~€~€~€~}€~~€€~€}€~€~€€€~€~€~€~~~~€~€~~€€~~~~~~~€€~€~€~~~~‚~€€~}€~€~~€€~€}€~€~~~~~~~~€~~~€€~€~~~€€~€~~~~~€‚~€~~€~}‚~~€~€}€~}€~€€€€€~€~€~~~~€~€€€€~€~~€€~~~€~~€€~€€}€~€~€~~~~~€}~€~~€}~~~€~€~€~~€~~€~€~€~€€~€~~‚€€~~€}~€~€~~€~~~€€}€~~}€~€€€‚~€~€~€~‚€~~~€€~~€~}€}~€‚~€~€~~~~€~~€~€~€~}€~~}~}€€~€~€~~~~€~~~~~€~€€~€~€~€~~~€~~€€~}~€~€€€~€~~}€€€€€~€~~~~€€€~€~~~€€€€€€~~}~€€€~€~~€~€~€€~€~~€~~~€~€~€}€~}~~~~€~€~~€€}€}~€~~€€€~€}~€€~€~~‚}€~~€€}€€~~€~€€€~€~~~~€}~€~€~€~~€€}€}~€€}~~~€~€€~€~€~€€~€}€~~€~~€€~€~~€€}€~€~€~~€€€€~€~€~€~€~€€~€~~€~€€~€€~€€}€€~~~€~€~€€~~~~~€}~€€€~€}€~€~€~€€}€€~€€~€~~~~€~€~~~}€€~€€}€~€~~~€~€‚}€}€~€}€€~€~~€~€~}~~€€~€~~€€~}€}~~~€€€€€~€~~~~€€~~€}~€~€~~€}€~€}}€~~}~~€~€}~~€~€~€€~€~~‚€~~€~€€~€~€}‚€€~~}€~€~€~€~~~€€~€~€€€~€~~~€€€€~€~~€~€~~€~~~~~€~€~€~€€~€~~~~€€€~€~€~~€}~€~€€~€~€~€€~€~€~~~~€€}€~€}€~€€€~€}~~}~~€}€~~€}€~€~€~€€~~€~~~€€~€~~~€~€~€~~€~€€~€~~~~€~~€~€€~€~€~€‚~€~~~~~€~}€~€~€~}€~~~€€~€}€~~~€~~€~€€€~€~~~€~€€€€~€}~€~€€€~~€~€~€€~~~~€€~€~~€~€~€~~~€€€~~€~€~~€~€~~€~}€€€€€~~~€}~‚€~~€}€~€~€€€~€~}€~€~€~~€}€€€~~~€~€€€€€~€~~~‚€€~~~~}€€~€~€~€~€~~€~~~~€~~€€}€~~€~€~€€~€~~~~€€~€~~€~€~}€}€~€~~~€€€~~~€€~~~€~~€~€€~€}€€~~€€~€~€~~~}~€~€€~~€~~~€~~€~~€‚~€~~€~€€~€~€~}~€€~~~~€~€~€}€€~€~€~~~~€€~€~~€~~~~~€~€~€€~€~€~~~~~€~€~~€~€~€€~€~~€~€€€~€~}€~}€~~~€~~€~~~€~~‚€~~~€~€~€~~€~€€€~€~~€}€€~~~€€€~€~~~€~€€€~€~~~€€~€~~€~€€€€~€~~€~€€€~~~€~€€~€~€~}~~€~~~€}€€~€~€}~€~€~~}€~€~€~~€~~~~€€~}€~~€}~€€~€€~€~€~€~~~€~€~€}€€€~€~~~~€~€€€~~~}~€~€€~~€€}€~€~€€€€~€~€~~€~‚€€~€~~~€}€€€}~~€~€~~€}€~€~~~~€~~~€}€~€}€‚~~~€~€~€~~‚~~€~€~€~~€~€€€€~}~~~€~€~€€}~€~~~}€~€€~€~~€~‚~€~€~€~€~~€‚~~€~~~~€~€~~~€~€~}~~€~€€‚~~~~€~~€€~€~~~€~~€}€~}€~~~~~€~€~~~‚~€~€€~€~~~~€€}€€~€~~~~~~~€~~~~~€€}€€€‚~€}€€~€~~€~}‚~~~€~€~€~~~€}€~~}~~€~€~€€}€~~~~~€~€~~}~€€~€~~~€~€~~~€~€€‚~€}~~€~€€~~~~€~€€€~~~~€}€~~€€~~~~€~}}~€~€~~~€~€€~~€~~€€~€~€~€€€€}€~~€~~€~~€~~~~€}€€‚~~€~~€~€~~€€€}~€~}‚~~~€€~€~~~€}~€~€~€~~~€~€€€~€~~~~~~~€~€~~~€}~€~€€}€~€€~‚~~~€€~€~~~~€~€€~€~~~€~€~~~}€~~€~€€€}~~~~~€~€~}~~€}€€~€}}}€~€~~~‚€€€~€}€~€~‚€~~€~~~€}~€€~€~€€~~~~€€~€~~‚~~€€~€~€~~€~~€~~€~€~~€~€€}€~~€€~€~~~€~€~€€~€€~€~~~~€~€~€}€€~€~€~~€€~€~~€~€~€~€€}€€~€}~~~€~€€~}€~‚~}~~€~€€~~€€}€~€~€~~~€~~~~€~€~}~~}€~~€~€~€€€~~~€~€~~~€~‚€€~€~€~~€~€~~}‚~~~€‚}€~~€€~}€~€€~€~€~€~~~}~€~~€~‚~€~€~€~€€€}€}€~€€}€~€~~~€~~€~‚~~‚~~€~€}€~~€}€~€€€~~€~~€€}€~€~~€€‚~€~~~€~~}~}~}~~€~€€‚~€}€~€}€~~€~€€~€~~~~~~~€€~~€~€€€€}~€~€~€~~€~€~€~~}€~~€}€}€€~€~~~~~€}€~€~‚€~~~€€€~€€~~€‚~€~}€~~~€~€~€~‚€€~€~€~€~~€~~€~€€~€~}€~€~€~€~€~~~€}€~€€~€~€~~~~€~€€~€~€~~€~€~€~€€~€€}~~€€€~€~€~~€~€}€€~€~~~€~€}~€~€~}~€}€~€~~~~~~}~€€€€~€~~~€~€~€€~€~€~}€~~€}~€€~€~~‚~~€~}~€€~€~~~~€~€€~}€~~€~~€~€~€~~‚~~~~}€€€~‚~~€~~€~€~€~~€~€€~~~~~~€~‚€~~‚}~€}~~€€~~~~€~€~€~~~€€}~€}~~€~€~~~}~€}€~~€€€~~~~€~€~€~€~~€~~~~~€~€‚~~~~€}€~€}€€€~€}€~~~€~~~€€€~€~~€~€}€~}€~€~€~~€~€€~~~~€~‚€~~€}€~~~€~~€~€~~€~€~~~€~€€€~~}€~€~€~}~~~€}}€~~€~}€€~€~~€~€~~€~~~~~}€~~~~€~‚~€~€~€~~~€~€€~}€}~~~‚~~€~~~€~}€}€€~€~€~€~~~€~~€€~~€~~~~~€~€~€}~~~€€~€€~€}€~€~€~€€€~}€~~~€~‚~€~€~€~~~~€~€€}}€~€~€~~~€~€~~€€~~~€~€~€€~€~~€~~€€~€~€€~~~€~~€€~~~~€}€~€€‚}€}~~~~€~‚€~~€~€~€€€~€~~~~~€€}€€}€€€~€~}}~~€~€~}~}~€}~€€€€~~~€~€}€~€}€~€~€~~~€~€~€~‚~€~€}€€€€~€~~€~€}~€~€€}‚~€~~~}€~€~~~‚~~~}~~~€~€€€}~€~}€~~€~€€€~}€~~}€~€~~~~€~€~~€~€~‚€~~€~€~€€~~€€€}€~~€~€~~~€~~€€€~€~€~€~€~€~€€~~€~~~€~€~~}~€}€}€~€}€~~~}}€~€~€~€‚}€}€~€€}~€~~~€~‚€€~~~~€~€}€~€}€~~~€}€~€~€}~~~~€~€~€~€€~€}€}~~‚~~~€~~~~~~‚€}€€~}€~€€~€}~~€~€~€€€~€}~€}~€~~~~€}€€~€~~€~~~€€~~€€~€}~~~~€~€~~~€~€€~€~€€€~}€€~€~€~~€~€~~~}€€~~~~€~€~€~€~‚€€€~€~~~}€~~~~€‚}€~~€~~~€}€€~~~€~~~~€}€€}€~~}€~€€€€~~~€~~€~€~€€}€}~~}€~€~€}~~€~~€~~~€}€~~~~€~€~€~~~€~€€€~€~~€}€€~€~}~€€~€~~€~€€~~€~€}€~€~~~~€~~~~€~€~€€~~€~€~€~€~€~~‚~€~~€~~‚~~~~~~€~~~€€~}~€~€~€~€€~€€~€~~€~€~~}€~€~~€€~€~~€}€~€€}~~}~€}€€}~~~~€€€‚~€€~‚~€}€~~€~€€€~€~€~€~€~€~€}~~~~€}€~~€~~}~~~€~~~~~€€~€~€~~€~~€€‚~€~~€€~€~~€€~~~€}~~~€~~€~}€~€€~~~~~€€~€}~€~~€€€~€~~€~€€~~~€~~€€~€~~~€€~€~~~~~~~€€€€~€~€~€~€~~~~~€€~€‚~€~~€~€~€‚~€~€~~}€€~~~€~~€~~€~~€~€€€~€~€~~€~~~~€~€~€~~~€}~€~€~€~~~€}~€€}€~~~~€€~€}€€~€}€€€~€~~~€~~€~}~}€~€}€€~€~~~€}~€~‚€~~~~€}€~€~€~€~~~€~€€~€~~}~€~~€~}€~€€€€~}~~€~€~€€~~€~~€~€~~~€€~€€}€~}~~€€~~€~‚~~€‚~€~€}€~€~~€€~€~~~€~~€€~€~~€~‚€~~~€~~€‚~~~€~€~~€‚~€}€€~€€~~~~€~}€€}€~€~~€~}€}‚~~~~~€~~~}€~€‚€~~~€€~€~~~€€€~~€~~€€~}€~€~€}€~€~€~€~~€~€~~~~~€€~€~~€€~€~~~~‚€€~~~~€~~€~~~~€€~€~~€~€€€~~~}€~€~€~~}~~€~~}€~‚€}~€€}€}~}€€~~}~~€~€~~~~~~~€‚~€~~€~~~€~€~~~~€}€~€~€~€~~€~~~€~€€~€~€~€~€~€~€}~~~~€}~€€€~€~~~€~~€~€~€~~€~~€€€~~€~~~€~€~€~~€€€~€~~€~~~~€~€~~~~~€‚~€€~€~€~€}~€~€~€}‚~~€~~~€~~€~€~€€~}€~~~€~~€~€~€~~~~€~€~~~~€}~€~€~~~~€€~€~~~~~~€€~}~~€~‚~€}€}~‚€~~~~~€€~€~€~~~}~€€€~€~~~~~€~€~€€~~€~~~}~€€~€~€~€~€€€~€}~€~€€~€~~~€€~}~~€€€~~€~~€~€}€€~~~~~€~~€€€~~~~€~€€}~~€~€€~~~~~€€~€~~~€~€~€€~~€~€~€~‚~~€€~~~€~~€~}€~~~~~€~€~€~€~€~~~€}€€~€~€~~€~€€€~€~€~€~€€~€~~€~€~~€~€~‚€~}€~€}€~€€~~€~~€~€€}}€~~~~€~€~~€~€}€~~~~€€~~~}~€~€}~€€~€~~€~€€€€~~€~€€~€~€~~€}€~~~~~€~€€€€€}€}€~€€}~~~€€~€~~~€}~~}~€~~~€~€€~€}~~~€~€€€}€~~~~€€}€~‚€~~~}~~€~€}€~€€~€~~}€~~€~€€~}€~~~~€~~€~~~€}}‚€}‚}~€~~€~€~€~~€€~~~~€~€€€~€~~€~€€~€~~€~}€€~€~~€€~€~~€}€~€}~}}€€~~~~€~€~€}€€~€~€~~€~~€€€€~€~~~~€~€€~€}€~€}€~~~~~~~€~~€€€~€~~€~~€~€~}~~€~€~€€~€~~€~€~}€€}€€~~~}€}€€~~~~~€~~~€~~€€~~~€}€€~€€€€}~~~~€~€€€~€~~€~~~~€~€€~€~~~€‚}~~€~~€€~€~~~€~€~€}€€~€€€~€~~~~€~~}€~~~~€~~€€€~~~€}~€€}}~€}~~€~€~~€~~~€~€~€~€€~~~~‚~~€}€€}€~€~~~€~€~€€~~~~€~~€~~}€€~~~~€~€€~€€~€~~}~~~€‚}€€~€}~~~€}~€€~€~~~~~~‚~~~€~€~€~~€~€~~~€}€~€~€~‚~~~€}€€~€~~~~}€~€€}€€~€~€~~~~€€€~€~~~~€~€~€~~~~~~€~€~€~~€€€~€~~~€}~‚€~€~~~€~€~€~~~~~~~€~€€€~€~~~€~€~€€~€~~~}~€~€~~~}~€~€~~~€€€~~~~€~€€€}€~€~~~~€€~~~~~€~€€~~€~€~~~~€~€€~}€~~~€}€~~€~~€‚~~~€~€}€~€~}€~€~~€~~€}€~€~~~~~~~~~€~€~€~€~}~~€}€~}€~€€~~~~€~€€~€~€~}}}€~€€€~~€}}€~~~€~~~€~€~~€~€~~~~‚€€€~~€~}€€‚}€~~~~~€~‚~€}~€}€~€}~}€~~€~~€~€€‚~}~€~~€€~~}~€€€€~€}~€~~€€~€~~€~€~€€}‚~~~~€}€~~€€€~€~~~€~€€}€~€~~~~€€€~€~~~~€€~€~~}€~~€€~€~~~€~€€€~~~~~€€~~€~~~~€€€~€~€~€~~~€}€~~€€}€~€~~~€~€€€€~€~~€~€€~~~€~~€~€~€€~}~~€~‚~€~~€}€~~~~€}€€~€~~~€€~~€~€~~€€~~€€~€}€~€~€~€€~€~~~€‚€€~~~€}€~€~~€~~~~~€}€€~€~~€}~€€~~€~}€~€€€‚~~€~~~€€~€~~€~€‚~€~€~€}€~~~~~~€€}€~~~~}~€}€~~€~€~~~~€€~€}~€~€~~~~€€~~€~~€~~€~€~€}€€~€~€~~€~~€€~€~€~~~€~~~~€~€€€~~€~~€}~€~€€‚~€~‚€~~‚~~~€€€~€~~€~~€~€~€~€€~}~~~~€€€~€~~€~€€€~€}~}€€}~~~€}€~€~€€}€€~}€~~~€~€~€€€~€~~~€~~€~~~‚~~€~€~€€€~~€~~}~€€‚~€~~~€~€}€~€~€€}}€~€}‚~~€~€~€€}€~~€~€~~}€~‚~€~~~€~~€€€~~~€}~€~~€~€€~€}~~€~~€~€}~~~}~~€€}~~}~€~~€~~€~€~€€~~~~~€€~€~~}~~€~€€~~€~~~~~€~€~€~€€~}€€€~€~~}€~~€€~€~~~‚€}€~~€~€~~€~€€€€‚~€~}€~‚€€~}€}€€~€~~~€}€~~€~~€€~€€~~€}~~~~~€~€€}€€}~~}€~€~~€~~€}€~€€€€~€~€~€€~~€~~€~€~€~€~€€€~€~~~€~‚~~€~€~€€~~€~~~€€~€~~~~€~€~€~~€€€}}~~€~~€}~€~€€€~~€~€~€~~€}~‚€€~‚~}€~~~~~€~€~~~€~€~€~~~€~€}~€~~€~~}~€~€~~€€~€}}~~~~‚~€~€~€€~€~€~~€€}€~€}~~€~€~~€~~€}~€}€€}€~~~~€€€€‚~€~‚~}€€~€~~€~€~€~€}~€}€~€~~~€~€€~€€€~€~~~~~€€€~~~~€}€~€~~~~~~€€€}€~~~~}€~€~~€~~€~€~€}~~~~~~€}~~€~€~€~}~~~‚~€}€~€‚~€}€~}~~~~€€}~€~}€~€€~€~~}~€~€€}~~~€~€~€~~€~~~€~€~€~~€€~€~€~~€}‚€~}~€~~}~€~€~~€€}€~€~€}~€}~~~€‚}€}~€~~~€~€~€€~€}€~€}€€€~}€~~}€€€}€~€~€~~€~€€€~€~~€}€~~~€~€~€}€~€~€~€€€~~}~€~€‚~€}~~€~€€~~€‚~~~€‚~€€‚~€~€~~~~€€€~~~€~~€€}€~€}~~~~€~€}€~~~€~€€€~€~}€~‚€}€~~}€~€~€~‚€€~}~~€~~~€}€~~~~~€~€€~€~~€}€€‚~€}~~€~€€~~~€€~€~€€}€}€~}€~€‚~€~€~€€€€~€~€}€~~~~~~€~€~€~€€}€~~~~€~€~~€~~~€}€€~€€}~~~€~€~€~~€~€€‚~€~€~}~€~~€€~€~}~~~€~€~€~~€~~€€€~~€~~€~~€€€~€~€~~€€}~€~€~€~~~€~€~€~~€~€}€~€~€~€~~~~€€}~€~~€€‚~€€~€~€~}‚‚}~~€}€}€~~~~€}~€€~€~~~€}€}€€~€~€~€~}~€~€€~€~~~€~€€€~~~€€~~~€‚~~~€~€~€€~~~‚~~€~€€~~€~€€}€~€~€~€€~~€~€~€}€~~~€~}€~€€€~€€~~€€}€€~~}€~~€€}€~~~~€~€€~€~~~€}~€€~}€~~€}€€~~€~‚€~~€€}€~€€~€~~€~€~€€}~~~€~~€|}~~€~~€~€~}~~‚}~€~€}€~~~€~€€~€~~~€}€€~€€~€~~~~€~€€}€~}}~€}‚~~~}€~€~€~€~~€~€~€~~~‚€~€~~~€~€€~€~~€€~~~~€€}~~~€}}~~~€~€~~~~€~~€~€}€~€€~€~~~€€€~€~~~€~€€€~€~~}~€~€€~~~~~€~€€}€~€~}€€~~€~~}~€~‚~€~€~€~€€~~€}€~~~~€~€~€~~€~~€€~~€~~€~~€€€~€~~}~€}€}~~€~~€}€€}€~€}~~~€}€€}€~€~~€€~€~~~~€~€}€~€~}€~‚€~~‚~~€~€€~€}~€~~€~~~~}€~€€€}}~~€~€€~€}~€}€}€~€~€€€~€~~~€~€€}€~€€~€€~€€}~€~€€~€~~€~€~~~€~€€}€}~€~~‚~~€~€}€~}~€€~~~~~~€~€~~~~€€~€~~}€~€€~€~€~~~~~~~€}€€€‚~€~€~€~€~€€~}~€~~~~~~~~€€€~}€€~€~~~€~€~€}€~€~‚~€‚~€~€~€~~€~€~~€€€~€}~~€~€€~~~€~€~~~~€€€~~€~€~~€}€€~~~~€~~~~‚~~€}€~€~€~~~~€}€~€~€~€}~~~€~~€€€}€}€~€€}~~€~€€~€~~€~~~~€~€~~€~~~~~€~€~~~~€€€€~~~~€€€~€~~~€~€€€‚~~~€~€~€€€€}€}~~€~€€~€~~~~~€}€~~€~~€~~‚€€€~€€~~~~~~€~€€€€~€~~~~~€~€€~€~~~}~€€~€}~}~~~~~}~€€~€~€~~€}€€€~~~~€~€~€~€~€€~~~~€€}€~€~€€~€~~€~~€~~€~€~~‚€~~~~€~€€€~~€~~€~€€€~€~~}~€€€~€~~€~€}€~~}€~€€~€~~~~€~~~‚~~€~€€~€~~€}€€}€}€~€~€~~~€~€~€€~~€~}€‚~~€}€}€€~€~€~~€~€~€~~€~~€~€€~€~~€}€€€~€~€~~~~~~€}€}}€}€~~‚}€€}€€~€}‚~~~€€}€€~€~€~~~€~€€€€‚~}~~}€€€}€~€~€~~~~€~€~€}~~}€}€€~€~€~~~€}}€~€}~}€~‚€~}€~~~€€€€~~€~~‚€~~~~~€}€~€€€~~€~~~~€~‚€~~~~~€€~}~~€~€~~~~~€~~~€~€€€€~~€€~€€~€~€~€~€~~~€~€}€}€~~~€‚~€€~‚€~~‚~€~€~€~€~~€~€~}€~€~€€}€~€~‚€~~~~€€‚~}€~~~€‚€~€}~€~~€‚~€}~~€~€‚~€~~€€~€~~‚~~€~~~~€~~~~€~€~€~~~€~€€}€~€~~~~~€€~€~~€~€~€~€€~€~~~~~€~€~€~€~~~€~~€~€~~€~~‚~~€~€~€€~€~€~}€~€€~€~~€~€€€}€~~€€}€~€}€€~~€~€~€€~~~~€~€€~~~~€~‚~~€€~€€~€~€~~~€~€€~€~€~~€~€~€~}}€~€}~€~~~}€}€~€}€}€~‚~~~~}~‚€~~€~~€€~€~~€}€€~€~€~~~€~€~~€}~~~~€~€~€~€~~~€~~€~€€~€~€~~€~~~~~€~€€€~€~€~~€~€€~€€~€~~~~~€~€~~€€~€~~~~€~€€~~€~€~€€}~€~~€~€}€€~€~~~€~€~€~€~€~~€}€€~€~€~~€€~€~€~€~€}~~~~~€}~~€~~€~€~~~€~~€€€€~€~€~€~€~~€~~€}€}€~€~€~€~~€€~~~~€~€€~€€}‚€~~€~~~~€€€~€~~~€~€~~~€‚~€~~€}~~€~€€€€€}~€~~~~~€€€~€~~~€}~~€}€~€~€€}~€~~~}€€}‚~~€~~€~€~~€}€~‚€€~€€~~€~€€~‚~~~€~€€~€€~}€~€~€}€~~~‚}~€~€~~~€~~~~€~€~€~€}€~€}€~~€~‚€€‚~€~~€€€~€~~€~~€}€~~~~€€€~€~~€~~‚€€~~~€€€~€}~~€~~~€}€}€~}€~‚~~€€~€~€€€~}€~~~€~€€~€~~€}~€~~€~€~}€~~~€~€~}€~~€~~~~€~~~€}~€€€~~€}~~€~~€~€~€~€}€€~€}~~~~€~€}€€}€~~~€}€€€~€~~~€~€€~~€~~}€~€~€~~~€~~~€~€~~€~€~€~€€}€€}€~~}~~~~€~€€~~~€~€~€~~~~€€€€~~}~~~€}€~€~€~€}€~€€€~~~~}€~€€€€~~~~~€€€~}€~~~~€~~€~€‚}€}~~€~€~€~~€~€}~~~€€‚~}€~€~~€‚~€~€€~~~~€~€€~}}~€~€~}€~€€€~€~~€€~}‚~~€~€~~~€~€~€~€}€}€}€~€~~€~~€€‚~€~€~~~~€€~€~€~€€~€~€~~€~€~~~}€~€~~€~~~~€~~€~~€~~~~€}}~€€€~~€~€~€~€€~~}€€€~€~€~€€~€~€}€~€€€~€~€}~€~€~€}€~€~€~€~~€~}€~€~€}~~€~€€~}~~}€~€€~€~€~€~€~~~€€€~€~~~€€€~€~~~€~€~€~~~}€~€~€~~€~~~€~€~€~~€~€€€~€~€~~€~~~}~~€~€~€€~€~~€~~€~€€~€~~~}~€~~~~~€~~€~€~€~‚€~~€}€~€~~€~}~€}~€~}€~€€~}€~‚~~€~€~~€€~€~~~€~€~€~~~~~€€~~~~~~€€}~€}€}~€}~~€~~~€€~~‚~~~€~~~€~€€~~€~~€~~€~€~}~€~}€~~€~€€~€~€~~}~€€}€~~~€~€€~~€~~~€~€~~€}~€~~€~~€~€~€~€~~~~€~~€~}€~~~€}€~€~€}‚~~~€}€~€~~}~€€€~€}~€~€€€€~}€}~€~~€~€~€}}€~~}€}~€~€}€~€~~~€~~~€~€~€‚~}€~€~~€}€}€}€~~€€}€}~}}€€€€~~€~€~~€~~~€‚~€€~€€~€}€€~~€~€~€€}‚~~€€~€€~€~~~€~€€~€~€~~~~€~€~~~~€€~~€~~€~~€€€~~€}~€~~€}€~}€~~€~€€€€~‚~€~~~~€~€€~~~~€~€}€~€€}€~€~~€~€€~~€~€€€~~~€~€~~~~~~€€~~€~€~~~~~€~€}€}€~~€~~€‚~€}€~€~}~~€~€€~~€~~€}€~~€~‚€~~~€€}€~€~€~~€~~€€€~€~~~~}€€~€~~~}€~€€~€~~€~€~€}~€~€€‚~~~~€€~~€~€~€}~€~€€€~~€~€~~~~€~~€}€€~~€~~~~€}~€~€~~~€~~€~€€~€~~~~€~€~}}~~‚€€~}€~~~‚€€~}€~~€~€~€~€}}~€}€€}€€~~}~‚€~€~‚€~~~€‚~€~€~€~}‚€€~€}€~€€}~~€~€}€€}€~~~€}€~€~€~€€€€~€~~€~€~~€€~€}€~€€~€~~~}~€~€~~€~~~€~€€~~€~~~€~€}€€~€~€~€‚}€~€~€}€~€~~~~€~~~‚€~~€~€~~}€~€~€~~€~€~€~~€€~€€}€~€~€}€~~€~~~€~€~€~~‚€~~~€~~€~€~€~~~€~€~€~€€~€~~~~€~€€}€~~}€~€€~~€~~~~}~€~~€~€~€~€~€~€~~~€~€€~€~~}~‚€~€~~€~€~€~~~~~€}€~€€€~€~~~‚~€€~€€~€~~€~~€~€€~€~~€~~€~€€}€€~€~~€}~€~€~~€~‚€€€~€~~€}€€~~~‚~~€}€€~€~€~€~~~‚}€~€~€~€€}~€~~€€‚~€~~~~€€~~~€~~~~~€~€~€€}€}€~~~€~€€€~€~~~€€€~€~~~~€€~€~}€~€€~€~€~~€~€€€~€}~~€~€~~~~€~~~€~€~€€~€~~~€€€~€~~~~~€}€~€~€~‚€~~€~~€€€~€~~€~€€~~€}~€}€~€€€~€~€~€~~€~€}€~€~~~€~€~€€~€~€~~~€~€~€€~~€~~~~~€~~~~€~€~~~€€}‚€~€~€€~€}~~€}€~~~€~~€~~€~€~‚~~€}€~€~~~€~~~€}€~€€~€~~~~€~~~~€~~~€~€~~~~€~€~‚~€~~€~€~~€~~€~€€€~€~~~€~€~€}€€~~~€~~€~€~€€~€~€~~~~~~~€~€€~~€~€~~~€~€~€~~‚~~€~€€~€‚~€}~~~€~€~~~~€~€}€}€~~~€~€€€~~€~€€}€‚€€€~€~~€}€~€~~~€~€~€~€~~€~‚€€~~€~€~~€~~~~~~~€€~~~~€~€€~€~~€~~€~~~€‚~€€~€~€€~€€€~€~~~€~€~~€}~€~€~€~€€€~~~~€€~€~€~€~~}~€~€}~€~~~~~€€~€~~€~€€~€~~€~€~€‚~€~€}€~~€~}€~~~~€}€€~~~~~‚~€€}€~€€~}€‚€€~€~~~€~€€~€~~}}€€~€~€~~€~€€€~~€~~~~€€~€~€~~~€€€~€}€~~~~~€~€‚~€}€~~€~~€~~€}~€€~~€€}~€~€~~€~€€€~~€~€}~€€~€~€~€~~€€~€}~~€~€€~~~~€€€}~~~‚€€~€~~€~€~~~~~~~€~~}€~€€~€~~}€~€~€~~~~~‚€€‚~€}€~~€€~€~€€€~€~€~~€~€€€}€~~€~€€€‚~€}~€}~€~~~€~€€~}~€~€‚~€€~~€~€~~~~~€}€}~}‚~€~€~~€~€€€~€€~~€~€~~}€~€~€€~€~~€~€€}€~€~~€~~€~~€~~~€€~€~€~~€~~€€~~€}~~~~€~€€~~€‚}€}€€}€}~~€‚~~€~~€~~€~~€~€~~€~}€~~€~‚~‚€€€}€~~~€}~€}€}~}~}~€~~€}~€€~€~€~€€~~€~‚~€€}~€}~€~€}~€}€€}~€~€}€€}€‚~~~~~€~€€~~~€~€€€€‚~€~~~€€‚~€~~€}~€~€~~~€€~~}€}€€€~~~€~€€~€~€~€€€€~~~€€€€~~€~~~~‚€}~}€~€~}~€€~~~~~~~€~~~€€~~€~€~€€~~~}€~€‚€~~~}€~~€~€€~~€~€~€€€~~~~€~€€~~~~€~€~€~€}~~~~€~€~€~€~}~~~}€~€~€~€~~€~€€~€~~€~€€~€~€~€€~}€~~~€€€~€}~€~~}~~~~~}€}€€~€}€~~~~€~}€~€~~€~~~~‚~}€~~~€~€~}€~~€€~€~€~€}~~‚}~€~€€}€‚€~~~€~€€€~~€~€~€€€~€~€~~~~~~‚~€~‚~€~€€~€~~€~‚€~}€~~~~€~€}‚~€~€~~~€~~~€~~€€~€~€}€€~~~~€~~€}€€~€}€~€€~~}€~€€~~€~~~~~€~}€€€~~~~€~~€€~€€~€~~€~~~~~€~€}€}€€~~~€€}€~€~}€}€~€€€~€€~~~€~€}€}€~~~€~€€~€~~€}€€~~~~€~€€~€~€~~‚}~}€}€€~€~€}€}€€}}~~€€~€~~~€~€~€~€~€~~~€~€~€€€~€}~~€~~€~€}}€~€~~~}~‚€€€€~€}~~~~~€}€~€~~€~‚}~~€~€~~€}~~€€€~€}}€~€€~€~~€~}€}‚€~€~~~~€~€€€~€~~~~€€~}€~}‚~~€~€€~€~}€}€€~€}€~~€€~‚~€~~€~~€~€~~~€€€~~€}€~€~€~€~€€~€~}€~€}~~€~€~~€}~€€~~€~~~~~‚~}€€~€~~~~€~€~€€}€~€~€~~€~€~€~~~€~€€€~€€~}€~‚€~~~~€€€€~~~€€~~€~€~~~€~€€€~€~€~€}‚€~~~€~~€~~}}~~~~€~€~€~~€~€€~~€~~~€€~€~€~€€~€~€€~~~~~€}€~~€~~~€~~€~}€~€~~€}~}€~~~~~€~€€€~€}~~~~‚€}€}€€~€~~~€~‚}€}€€~~~€~~€€€~€~~€}€€€~~~~€~€€€€~€~~€~~€€~~€~€~€~~~€~€€~€~€~}~~~€€~€~~‚~€~€~€€~€~‚~~~}€~€~~€~~€~€€€€~€}~€€~€€}€~€€}~~~~~~€€~€~~€~~€€~€~~€~}}~€~€}€€~~~}€~€~€€€}~~~€~€~€~‚~~~~~€~~~}€~€€~€€~€}€€~€~~€~~€~€€~€€~€~~}~€~€~€€~~€~~€~€~~€€~€~~~€~€~€~~€~~€~~€~€~~€}€~€}€~€~~~€~~€~€}€~~~~€~~€~~€€€€~~~€€€€~~~€~€€€€~~~€~~€€€}~~~‚€€~€~~€~~~€~€~€~~}€~€~€~€~~€~€€}€~€€€~~€~~~~€€€€~~€~€€}€~€}~€~~€~~€~~€~~~~€~€~€€~€~~~~€€~€~~€~€€€}~€}€~€~~€}~€€€~~€~~~}~€~€~~~€~€€€~~~€~~~~€}~}}~€€~~€}€~€~€~€~€~~~€~€~€~~‚‚~€~€€~€~~}€~€~~~~~~€~€‚~‚€€~}€~€€€€~~€}~~€~€~€‚~€~~~€€€~€~~}€~€€~€~~~€€€~~~€~€€€~€~}€}€~€~~€€~€~€~~~~€}€€~}€~~~€~~€~~€~€€}€}€~~€€~€€€~€}~€~~~~~~~~~€€€~~~~€~€€€€€~~~€}~€}€€~€~€~~~~~}~~~€~€}€€}~€~€~€~€}€€}€~€~}€~~€~~€~~~€}}€€}€~~~~€€‚}€~~~€~€~€~~}€~€€~€€}€~~~~€}€~€~€~~~€~€€~‚€~}~€€~~~~€~€€~€~€~€~€~€~~~~€~€~~~€~~~~~}~€~~€}€€~~€~~}€~~€~€~}€~€~~~€~€~€~€~€~~~€€~€~€~~€~€~~~€~€€~€€~€€~€~‚€~~~~€€~€~~~~~€}€~€€~€~~~€€~€}€~~€~€€€}€}€€~~€~~€~€€~€~~~~€}€}~€~~~€~€~€~~~€}~€~€€}€~~€~}~€}~}€~~€~~~~€~€€~~€~~~€€~}€~~~€€€}€~~~€€~€~~€}€€~€}€}€}€~€~~~~~€€~€}€~€~~€~~€~~€}€~€€~€~€~~€~~}~~~~~~~€~~~~~~€€~€~€~~~€}€€}~~~€~~€~€~~€~~~€‚~~~‚}€~€~~~€€~€~€~~€~€€‚~~€~€~€€~€~~}~€€~~€}~~€~€€~}€~~~€€}€~~€~€~€~~~€~€~~~€}€€€€~~~~€€~€}€~€~~~€~€~€}€€~€~}~~€€~€}~~€~€€€~}€~~~€€}€}~€€~€~~~€~€~€~€}€~~~~€~€~~~~~€€~~~~€~~€}€}~€~€€~€~€~€}€~€~~~€~~€~€€~~€~~~€~€~€~~€€~~~€~€€~€~~€~€~€~~€~€€€€~~~€~€}~€~€~€~~~€}€~~~~~€~€}€~€€~}€~€~€~€€}€~€~€~€~~~~~€~€€~€}€~~~€~~~~~~‚~€}€~€~€€~€€~~}~€~€}~€~~€}€}~~€~~~~€€€~~€}€‚~~~~~€~~~~€~€€~€€€€~€€}€€~~€~~€~€~€~€~~~~€~€}}~~~€€€€~~€~€~}€}€~~}~~~€‚~€€~~€~~~€}€€~€~€~~}€~€~~€~€~~€€~€~~~~~~€€~€€€~€~~~~€~€~€~€}€~€~~}€~€~~~~~~~~€~€~~~‚}~~€}€}~€~~}€~€€~€~~~}~€~€}€€~€}€~}€}€~~€}~€~€€~€}~~€~€~}~~~€~€~€€€~~~~~€~€~}‚€€~~~€~€€~~~}€~‚€~€~€}~€~~~€~€~€}€~€~€~~~}€~‚€~~~~€~~€€€~€~}}€~~€}€€€€}€~~~€~€~€~~~€~~~~~~€}€~€~€~~€~€~€~€€~~}~}~€~€€}€~}~€~~}~‚€€~€~~€€~~€~~~~}€~€}€~~~€}€€~€~~€€~€~~€~~~~~€~€€~€~€~}‚~€~}€€~€~~~~€~~€}€~~~~€~€~~€€~€}~€~~€€€~~~~€~€}}€~~}~~€~€}€~€~}€}€~€~€€~€~~€‚~€~~~~€€€~~€~}~~€€~~€~~€~€~€€~€~€€~~€€~€~~}€~€}€~€€~€~€~~~~~€~€~€~~~€}€~€€~}~~~~€€~~€~~€~€~€}~}€~€€~~~€~€€€~~~~~€€~~€~~€~€~€}~€}€}~~~€~~€‚~~~€~~~~€~‚~€€~~€~~~~€}€€}~€~€~€}€~€~~€~€€~€~~€~€~€€~~~~€€~€~~€~€~}~~~~€~€€‚‚}~€~€€~~€}~~€~~€~~€}~~~~€}€~~€€~~€~~€}€~€€€~€~~~€€~~~~~~€~~~€~€€~€~€~}€~€~~~~€~~~€~~€€€~€~€}€€}€~€~€‚~€~€~~~€~~€€~~~}€~~€€}~€~~€~€~~€~~~~~~€~€€€~€}€~}€€~~~€€~€~~€~€€€~~€~}~€~~€~~€~~€}~€€~~~~~€€‚~~€~~~~~~€‚}€~~€~€~~~~€~~€~€~€}~€€}€~}~€~€~~€€~~€~~~€€~€~€~€~€~€}~}€~€€‚~~~€~~€~~~~~€€~€~~€}€€~~~€~}€}~€€~€€}~~~€~€~€}~~~~€€}~€}~€~~€~~€~€~€~~~}€~~}~€~~€€}€~~}}~€}~~€€‚~€~~~~€~€€~~~€€~€~~€~€~€~}€~€~~~~~~€~€~€~}~~€}€~€€~€~}€€‚~~~€~€}€€~€~~~€~€~}€€}€~}€~€}€€~€~~~~€}€~€€}€~~~~~€~~~€~~€€‚~€€~€~€~€~~‚‚~~€~€€~€~€}~~€~~€~€~~~~€€}€~€€€€~}}€€}€}‚€€~~~€~‚€~€~€~~€~€€~€~~~€€~}€}€€~~€~€€~}€~~€~€~~~~~€~€~~~€~€~€~€~}€~€€~€~‚~~~~~}€}€€~~€~€}}€€~~~€~€}~~€~€}€~€~€~~€}~€~€€€€€~€~~~€}~€€~€~}€~~€~~~~€~~€}~€~~€‚~~€‚}€}€~€}€~}‚~€~€€~~~~}€}€~€~€~~€~‚€}~€~~€€€€~€~~~€~~€€~€~€~€€€~€~~~~‚~€€~€~~~€~€~€~~~}~€€~~€~}€€€~€~~€~€€€~€~€~€€~€~€~}€€~~€}€€~€}~~~~~~~~€~€~€~~~€~~~€}€~~~€~~~€}€~~~~€~€€~~€~~}~€}€~€}€~€~‚~~~€~~€~€~~~~~€~€~€~~~€~€€~~€~}~€€}~}€~€~€~~€~€~~~€~€€~~‚~€~€~€€~€€€~~~~~€~€~€}~~€€€}~~€~€€€~~~~€}~}~€~~€€~~~~~~€}€~€~€~‚~~}€€}~€~€~~€~€~€~~~€~€€~€~€~€€~}~~~~~~€~€€€~~~~€}€~~€~~}~€€€~€~€~~}€~€€~€~~~~€~‚€~€~€~€~€~~€}€€€~~~~~€~€€~€~~€}€}€~~~€~€~~}€~€€‚~~~~€€€}€~~€~€€~}€~}€€€€}€~~~€~€~€~€~€~€~~~€~~~~~€~€€~~~~~}~~~~€}€~€~€~~€~}€€~~€~~~€~~€€€~€~~~~€}€~~€~€~~€}~€~€~€}€}~€~~€~€€€~€~~~~€€~€~~€~€}€~€~€€~~€€~‚€~~}~~€~€€}€~~~€~€~~}~~€€~€~~€€~€~~}~~€~€€~‚€~€~~}€~~€€~€~€~}€~€€€€~€~~~€~€€~}€~~}‚€€~~}€~€€~€~€~€~‚‚}~€~~~€~€~€~~€€}€~€~}~~~~€‚~€}€~~~‚~~€€~€€~‚€~}~€~€~€~~€~~€€~~~~€~€~€€€€~€~~€~~€~€~€~€~€}~€}€~~~€}€€~}~~€}~€€}€~~€~€€~€~~~~€~€~€~~€}~€~€~€~}€~~~€}~€€}~€}€}~€~€€€~€}~~€~~€€‚€~€~€~~‚~~‚~€‚}~€~€}€€~~~~~‚€€~~~€~~€€€€~€~~~~€~~€~€€~€€~€~€~€~€~~€~~€~€~~~€~€€~€~€}€}~~~‚~~~~}€€}€~~~~~~€~€~‚~~~€~€}€€~€~€~}€~€~€~~~~}~€~€~~€~€€€~€~€~~~~€€€~€~~€~€€~€~€~~€}€~€}€~~~~‚~€~€}€}€~~}~€~€‚}€€~‚€~~~}€}€€€€~~€~€}€€~€~€‚€~€~~~~€~€~‚~~~~€~€~€~€€€~€}~~~‚€€~~€~~~€~€€~€~€}}€~€~~€€~~~~}€€~€€}€}~~~}~~~€~€~€€€~€~}€~€~€~€~~~~€~€}€~€~~~€}€~~€~€~~€~~~€~€€~~~~€‚~~~€~€€~€~~~~€~€€~}~€~€€~€€~€~~€~‚~€~€€~}~€~€€~€~~~€~€€€~~€~€€~€}€~~€~~€~~€‚}~€~€€}~€}€~~~~}€}~~~€~€~~~}~~€€~}~~~€~€€~€~~~~~~€}€~~~~~~€~€€~~€~€€}€~~~€}€~€€€€~€~~€~€}€~}~~€~€€}€~~~~€~€~€~€~~€‚}€€~€~€~€~~€~€}€~‚€~~~‚€~€~€~~€~~~~~€~~~€~€€~€~~€~€€~€}~~~€€€~~~~~€€~~€~€~€}~‚~~€‚~~€~€}~~~€~€€}€€~€~€€~€~}~~€~€~€‚~~~€~€~€~~~~€€~~~}~~~~~~}€~€€}€~€~~~€}€}€~€~}‚€}€~€~€€~€~~}€~~€|~~€~€~€~€~‚~~}€~€~~}€~€€€~~€~€}€€~€~€~~€~€€€‚~€~~€~‚€~~~~€€~€~~~~~~€‚~~€€~€~~€}€€}€}€~€}€~~€€€~~€}€~‚~~~~€~€~€~~~€~€€€~€~~~€~~~€~~~€€~~€~~~~€‚~€~~€~~}€~€~€~~~~€~~‚€€~~€~}~€€}~€~€~€~~}~€€~€€~€~~~‚~€}€~€~~~~}€~~~€~~~€~€}~~}€}€€~€~€~€€~€~€~~‚}~€€~~€~}~~~€~~~~~€~€}€~}€€~€~€~~€€‚~€~}€~~}~~€~€€}€~€~~~€~€€€~€~~~€~€~€€€~€~€€~~}€~~€€~~~€~€€~€~}€~€€~€~~€~‚€€~}~~€~€€~€~~}€~~~~~€~€~€~~~~€~€€}~~~€~~€~~€}~~€~€€~~~~€~€€~~€~~€~~€~€}€~~€~€~~~‚€~€~‚€~~€~~~€~€€‚~€~~€}€~€}€~€}€}~€}}~€~€~€~~€~~}€~~~€~~~~~€~€~€€~€~~€€~~~~~~~€}€€~€~€}~~€~~€~€~~€~~‚~~~€‚~€~€~€~‚~€~€~€€~€~€~€~€~€~‚€€~~~~€€~}~~€~~}€€}€~€~~~€~~~€~€~€~}~~€~€€€€~~}~€€€~~€~€~~~~€~€€~€~€~~~~€€‚~€~~€~~€€€€~~~~~~€€~~€~€~€~€€|€~~~~€}~€€€~~~~~~~€€€‚~€~~~~~}€~€}€~€~~~~‚}€}~€€€~€~~~~€€~~~€~~€~€~€~€}€~~~€~€€~€~€€~~€~~~€}€~~}€~~~}€}~~~~~€‚~~€~~~~~€~€~€€~~~~€~~~€€~€~~€~€~€~~~~~€}€~~€~}€~€~€~€~~~€~€~€€€~€}~~~€~€€~~€}€€~~~}€~€~€€}€~~~€}€}€€~€~€~~~~€~~~~€~€~€~~~€€€~~€~~~€}€~€€€~€~}€}€€}~€€~~~~~€€€~~~€~~~€€~}€~€€~~€~~~€~€€€~€~~€~~€~~~~~€~€~~~~~€}€~~~~€€€~~€~€~€€}€}‚~€~€~}€~€€€€~~€€~~~}~€€€~€}~}€~€€~~~~€~}€~€€€~~~€~~€€‚~}~~€~€€~€~~}€€~}€~~~‚~~~‚~~€~€~~~€~€~~~€~~€€~~~€‚~~€~€~€~€€‚~€~~~~~€€~€€~€~~~~~€€‚~€~~€€}€~€~€€€€~€~~~~€~€~~€~€~€~€€}€€~€~~~€~€€€€~€~}~~}~~~€€~~~~€~~~~~~€~€€~€~~~‚~€€€~€~~€~~€€~~€~~~€~€€€~~€~~~€€€€~~€~€€~€~€~~~~~~~~€~~€~~€~~€€€~€}€~~~~}€~€€~~~€~~€€~~€~~~€~€~}€~}€~€€~~}~~€€‚~~~~€€€€~~‚~~~}€~~€~€~€~~}~€~€€}‚~~~€€€~€~€~~~€~€€}€~~€~€~~~~~€}€}~~€~~‚~€~€~€~€~€~~~~€}~€€~€~~€~€€€€~‚~~~€~~~€~~€~€~~€~~~€~€€~€€~~€€€~€~~~~€~}~€€}~€}~~€~€}€~€~‚€}~€~€€}€~~~€~~~~~~~~~~~€~~~‚}€€~}~~€~€}€~€~€~}€~~€€~~€~~~~~~~€~€€~€~~€€€~€~€~€}€~~~~€}€€}€~~€~~~€~€€~€€~~€~€~~~~~€~€€€~€~‚€~~‚~€~€~€}€}€~}€~€}€~~€~~€~~~€€€~€}~€~€€~~~~€~€~€~~€~€~€}€~€}€~~}€~€~€€}~~~€~€€~~~€~~€€‚}€~€€~~~~€~€~€~~€~~€~~}€~€~~~~€}€€~€~€~€~€~€€~~~~~€€€~~}~~‚~~€~€€~€~€}€~~€~€€~€~~€€€}~~€~~€~€}€€}€~~~~€}€~€€~}‚}~}~}€}€‚~~~~~€~€€‚~~~€~€~€~€€~€}~~~€€~}~~~€~€~~€~€~}€‚~~~€~€~€€~€~€~€~~€~€€~~€~€~~~€~€}€~€~}~€~€~~€~€€~€~~~€~~€€~~€~}€~~€~~~~~~€~~€€~}~~~€~€€~~€~€~~€‚~~}€~~€~€}€}~€~~~€~€~€~€~‚€~€~~~€~€€}€€€~€~~€~€~€€}€~~€~€~~€~~€~~€~€~€~€€~€~~~~~~€~€€~€~~~~~~€€~€€}~€}~~€€€~€~~€~€~~€€~€€~~€~~~€~~€~~~€~€~€~~€~~€~~€~~~~€~€~€€~€}~~~~~€~€€~€~~~€~€~€~€~~€€~€~€~€€€~}€~~€€~~~€~€}€}€~€~€€€~€~~€~€~€~~~~~~}€€~~€€€~€~€~~€~€~~‚~~~€~€~~~~€}€€€€~€€}€~~‚€~~€€~~€~~~‚}~€~€~€~€€~€}~€~€€€€~€~~~€€~€}~€~€~€~}~}~€~€~€€}€~€~‚}~~€~~€€€~€~€~~€~}~~~€€~€~€€~€~€~~~€~€~€~€~€~~~~€€~€~€~€€€}~~€~~€€~~~~€~~€}€~~€~€€€~~€}€~€€~€~€~~~~~~€‚~€€~€€€~€~~~~€~€~€~€~}€~€~€€€€~€}~~€~€}€€~~€€}€~~€€~€~~€}~~‚~€~€€~€~~€~~€€}€€}€~~€~~~~€~‚€~€~~~€}€}€~€~€}~~€~€€~€~€~~}}~€~€~~‚~€}€}€~€€~€~~~€~€€~~}~~€~€~€~~~}€}€€‚~~~€~€€~~~~€€€~€~~~~€}~~~€~~~€€~€~~~€~€~~€~~}~€~~€~€~~~~‚~~€~€€~€~~~~€~€~€~~€~€~‚€€~~~~~~€~~€~€~€~€€~~€‚}~€~}€~~~€}€€~~€~€€€~€~~}~€€~€~}€~€€€~~~€~€€€~~€}€~~~~~~€~}€~€€€~€~~~}€€~€~€~~€~~~~‚~€~€€~€~€€~€~€~~~~€~€~~€~€~€~~~~~€€€}€~~~€~€€€~~€~~}€‚~€~~€~€~€}}€~€€~€~€}€~€}€~~}~€~~€€}~~€~€€€}€~~}~~~€€€~~€~~€~~€€€~~€}~€€~€}€~€€€€~~~}€~‚}€€€~€€~~€}‚€€~~~€~€}€~€}~}~~€€}€~~}€}€~€€~}~~~~€~~~€€~‚€~€~~}~€~€€~~~€€~€~€~€€~~€~~€~€~€}~€~‚€~€~~€~€€~€~€~~~€€~€~~€}€€€~~€~€~€~~€€}€~~~€€}€€~€~~‚€~€~€€~€~~‚€€~€~~€~~~~€~€€€~}€~~€~€~€€~€~€~€~}~~€€€~~€~~~~€€~€~€~€~€}€~~~€~~€~€~€€~€€~~~~€~€€~~~~€~~€~€~}€~~€}~€~€~~~~~€€~}~~€~€€~~€~~}~€€~€~~~~€~€~~€}~~~€‚~€~€~€}~~~~~€~€~€~~~~€~}~€€~~~~~€€€~€€}€~€€€~€~~~~~~€~~€~€~€}‚€€~€~}~‚€~~~€€€~€~€~~~€~€~€~€€€~~~€}€}€€~€}€€~~€~~~€~~€~~€~€€~€~~€~€€~€~}~€}~€~€}}€}€~~~€~€€€~~€}~~€~€~€~~~~€€€~~~€~~€~~€€~€~€~€}€€~~€~€€~€~~€~€€~€~€~€~€~‚€€~~€~€}€~~€~€€~€~€~~€~€€€€~€~€~~€~}€~€€~€~~~~€~€~€}€€‚~€}~€~~€}€}€~~}~€~€€~€~~~€~€~€~€€~€€€~€}~€€€€~€~~~€~€~~€~€€}€~~~€~€~€~€€~€€~€~~€~€~€~~€€~€~€~~~~€~~€~€~€~~€€€€~}~€~~€~~€~~€~~€€€~€~~~€€~€~}€~~€€~€~€~€~~€~€~€€~€~~~~~€€~~€}€~€€~€€}€~€~~€~€~€‚~€€}~~~~€~€€~€}€}€€~€}€~}€€~~~€}~€€~~~~€~€€}€~‚~€~}€~~~~€~~€~€~~~€~€€~~€~~~~€~€€~~~€~€~€~~€~€€~€~€~~€~€€€~€~€}€~~~~‚€~€~~€€~€~}~€€~€~~~~€~€€~€}~~~€~€~€}€~~}€~~~€}~€€~€~~~~€~~€~~€~€~€€~~€~~€~~€€€~~€€~‚€}€€~~~€€~€€~~~}€€~~~€~€~€€~€~€}~€}€~~€~€~€~~‚€‚~€~~€~€€€~~€~€~€}€~€€~€~~‚€~~€~~}€~€€€€€~€~~~€€~€~~}€~€‚~~~€~€~€~€€~€~~~€~‚~€€~€~~~}€~€€~€~~~€~€€€~€~~€}€€~~~~€}€€~€~€}‚~€~€~€€€~~€~€€~€~€~€€€€~€~~€€}~€~~€€€~€}€~~€~~~~}~}€~~~€~€~€~~€~€~€~€~~~}~~€}‚€~~€€}€~€~€€~~~~€~~€‚~€~~€~~€~~€~€€~~~~~€~€€€~~~~€€~~~~€~€€~}€€~€~€~~€}€€€~€~~~€~€€€~~~€~€~~‚~~€~€}~~~€~~€€€€~~~~€~€~~~~~~~€~€~€~~~€~~€~€~~€~€~~€}€~€~€€~€~€~~}€~€}€€~~~‚}€~€~€~€€}€~~€~€~~~€€}€~~~~€€}~~€~‚€€~€~~~€€~€€~~€€~€€~€~€~~~€‚~~€€~€}€~~~‚€~€~~€~~€€~€}€}~€~~~~€~€~€~€~~~€~€‚~€~€~€~€€€~~~}~€~€~€~€~€}€~€~~€~€~~~~€~€~~€€~~~}~~€}~€~€~€~~~}€~€€~€~~€~€€~€~€~~€€~~~~~}€~€~€~€€~~~~~€€~€~€~~‚}€}€€~~~€~€~€€€~~~€~€~€~~~€~€€}€~€~‚~}€~~€€~€~~~€~€‚~€~€€~€€~‚~~€‚}~}€~~~€~€€~€}~~€}€€}€~€~€~~~€}~~€€€~€~~~~€~€~~~~€~~~~€~€€~€}€~€€~€}~€~€~€€}€€~€}€~€~€~€€€~€~€€~€~~€~€~€~}~‚~~~~€~~€~€~€€€€€~€~}€~€€€~€~‚~~~~€~€€€~€~€~~~€~€€~~€~~~~€€‚~~~~~€~€‚~€€~€~€~}~~€~€~}€€€~~€€€}€~~€~~€€€~~€}~€€~€~€~‚€~~€}€~€~€~€~~€~€€€~€}~€~€€~}~~€}€€~€~~~~€‚}€}~€~€~~~€‚}~€~€~€~~€~~~€}€}€~€~~€~~~€~~€}~€~€~}~~€~€€€~~€~~€~€€~€~~}‚~€€€‚}€€~}~€~~~€~€~€~€~€~€~€€~~}~€~~€~€~}~~~€~€~€~~€~~~€~€€€€~~€~~€€~~€~€~€~€€~€~€~~~€~€~‚~~€~~~}~€€~}€~€~}}~€~}~€~~€~€}€~€~~€}€~€~€~~~€~€~~~}€~€~€€~‚€~}~€}€~€€€}€~~~~~~€}€~~€~~~€€~~~€~€€~€}€~~€~€~€€€€€~€~€~€~~€€€€~€~€~€€~€€~€€}€}€~€~~~~€€~~~€~€~€}€~€~‚€~~€~€€€€~€}~~€~~~~€~~}€~€~€€€~€}~~€~€€€~~~€~€~€€~~~}~€€~€~~€~€~€€~€~~€€~€~}~€€~}€~~€~€€~~~€~~€€~~€~€~€~€~€}€€~~~~~€~€~~~~~€~€}}€}~~}~}€€~€~~~~}€~~}€~~~€}€}€~€~€~€~€€~€€}~€€~€~~~€~€~€~~~€€€~€~~€~€}€~~}€~€€€~~~~€~€€€~€}}€~~‚~~~‚~~€~}€~€~~~}~€€~€~~€~~€~~€~€~€€~€~~~€~€€~€~~€~~~~€~~~~~€}~€~€}€}~}}~~~€}€~~€~€~~€~€€}}€~~€€~~~€~€€€~€~}~~~}~~~~€~€}€~€€€~€€~€~}€~~~~}}~~€€~~~€~~€~~‚~€~}€~~€~~€~€}€€~~€~~~€~€€}€~~~€€}~~€~€€€~€}~€~~}€‚~~€~€}}€~~‚~~~€}€€~€}€~~€~~~€~€~€~~~~€~€~~‚€~~€~~~€€}€~€}€~‚~~€~€}€€}€€~€~~~€~€€€€€~~~~€~€€}~€}€~~~~€~€~~~~€€€~€~~}€~€€€~€~~~€~€~~€€}€€~}€~~€~€€~€~~‚~}€€~€}€~~~€~€~€~€~}€~€~~~€~}~€~€€€~€~~~€€~~€~}~€€~€~~~~€€€}€~€~€~€€~€}~€~€€€€~~€~€€~~~~~€~€~~~€€€~~~€~}€}€~€}€~~€~~~~€~€€€€~~~€}€~€€~€~€}€~~~~€€€~€~}~€€~€}€€~~€~~~~~€~€€~€~~~€€~~~}€€~€~}€~€€~€~€~€~€~€€~€~~~€~~~€~€~€~€~~€~‚}€‚~€€~€€~€~~~€~€€}€~~€€~€~~~€~~€€~€~~~~€‚~~~€~~~~€~€}€~}€~€~~~€~~€€€~}€~~€}€~€~€}}~€€~~~~€~~~€~€}€~€~~~~€~€~€}€~~~€~€}~~€~€€~€€~€~~€~}€~€€~€~€~~~€~€€~~€~€~~~€~€€€~~~}€~}~€~€~€€~€}€€~€~~‚€~~€~€}~€€~~~‚~~~~}€€~€}~€~€€~€}€~€~€€~~€€~‚~~~~~~€~€}€€~~~€~€€€}~~~~€€~€}€€€~€~~~€~€~€~€~€~€~~€}~€€~€~€€~}€~~~‚€~~~~€}€}~€€~€‚~€}~~€~€~~}€~€~€~~~~€€~}~€‚}€~€}€€~€~~€~~€~~€~€~~~~€~€~€}€€~~€€€}€~~~~‚€~~}€~€~€~€~€~~€~~€~€€~~~€~~~€}€€}€~~~‚€~€~~€~€€~€}~~€€~~€~€~€€~~~~€~~‚€€~~~~€~€€~~€~€}€~~~€~€€‚~€}~~€~€~~€}€~~~€€€}~~€~~~~~~€}€~}€}~€€~€€}€}€~‚€~~~~~€}€~€~€~~~~€}€~~€€‚~€~€€~€}~}€~€~~€~~~€~~€~€~~~€}€€~~€~€}‚€€‚~€~€~€~€~~~~€~€~€~~~€~€‚~€~~€~‚€€~~€~€}~€}€€~€€~€€~~~‚~~€}€€~€€~€~€~€~~~€~€~~~~}€~~€~€~~~~~~€~€~€~€~}€~~~~~~€€}€~}€€~€}€~€€~€~€~}~€}€~€€~~~~~~€€~€~€~€€‚~€~}~€€~€~}‚€‚~~€~€}€~€~~~~~€€}€~€~€~~~€~€~€~~€~~€~€}~~‚€€~~€~~€~€}€€}€~~€~~~~€~€~€€~€~~~€~€€~~~~}€~~~€~~~‚~~€~~€~~~‚~~€}~€~€€€}€}~€}~€€€€~~~€~~€€€}~~€~~‚€}€~€}€}€}€~‚€~~~€~€~€~€~~}~}~€€€~€~~~€~‚€€~€}~~~€€~€~~€~€~‚~€~€~}€~€€€~€~~~€~~€€~€}~~€~€~€~~~~€€€€~€~€~}€€‚~~~€}~‚€‚~~€}€}€€~€~~€~~€~€~~~€~€~~~€}€~€‚}€~~€~€€~€~~€~€€~€~~~~}~~~€€}€}~€}€~~€~€}€~€~€~€}€€~€‚~€~~~€~~€~~~€}€~€}€~~€~€~€€~€~€~~~~€~€~~€€~€~}~~€~}€€~€~~€~€~€~~€~~€}€€€~€~€~~~~€~€~~~~€~~~~€~€€€~€~€~€€}~€}~‚~~~~€~€}€~~~€€€€‚~€~~€~~~€~‚€€€~€~~~€~€~€~~€€~€€~~~€~€}~~~~€}~€€€€}~~€~€~€~~~€~€~}€~~‚~~~~‚€~€~~€€~€~€~~€~€€~~~€~€~€~~~~€~~€~€~~~~€~~}€}€~~€~~€€~€~~~~~€~€€€€‚~€~€~€~€€€~€~~~~~}€~€€~€~~~~€~€€€}~~€}~€~~~€}€~€~€~€~€€~~~~€~€€‚~€~~}€}~}€~€~~~€~€€~€~€}€~~€~~~€}€}€€~~~}€~‚~€~~€~~€~€~€~~~€}€€}€~€~}€~€€€~~~€~€€‚~~~~€~€€~~€~~~€~‚~~~~€~~~€~~€€~€~~€~€€€€~~€~~€~~€€~€~€}~~~€~~€~~€~€~€~~€€~€~~~€~€~€}~€}€€~€~~€€€~€}~€~€€€~€~~}€~€}~€~€~}€~€}‚~€~€~€~€€€~€~€}€~~€€~€~~€~€€~€}€~€~~€~€~€€~~~~€€~€~~~~€~€~~€€}€~~€}‚~~~€~€}~~~€~€€~€~~~€~€~~~€~€~}~~€~€~~~€}€~€~~€}€}~€~~}~€}~€€~€~~€~~€}€~€€‚~€~~€~~€~€~€~€~€€~}~€€€€~€~~€~~€€~€}~€~€€~€}~~€}~~~}€}€~~~~~~€€~€€~€~~~~€~~€€~€~~€~€‚~~€~€}€}€~€}~~~~~€~€~€~~}€~€€~~~~€~€~~€}€~~~~~€~€}€~€~€~~€~€}€~€~~~~€~€~€}€‚~}€~€€€~€~~~~~€~~€~€~~~€}€}€~~}€€~€~€~~~~~€€€~€~~~~€€~€}‚€~~~€~~€€~~€}~~€~€€€}€~€~€~‚€~~€~~~€€‚~€~~~€~€€~~€~~~~€~~€~€~‚€~€~€~€~€~~~€~€€€‚}€~€~€€~~~~~~€~€~€~€~~€}€€}€€~~}‚~~~€~€~~~€}€~}€€€~€~€~}€~~~€€~~€~}~€€~€~~€~€€~~~€~€€~€~€~~€~€~€~~€~€~€}€~}€€~~‚~~~}€€~‚~~~~~€~€€~€~~€}€€€‚}€~~€~€€~€~~€€~~~€~~~~~€~€~~~‚~~€~~~€€~€~~€~~€~€~€~€~€~~€€‚~€~~€~€€~~~~~~~€€~€~~}€~~€€~€~€~~€~€€~~€}€~€~~€}€~~~€~€~€€~€€~~€~€}€~€~~€~€}€€}€€‚~~€~~~€}~€€€~}~~€€~€€~€~~€~~€~€€€‚~}~~€~~€€~}€}€}~€~€~€€~€~€€~~€~€€~~€~~~~€€~~‚€~~~~~€~€~€~€~~€~‚}€}~€€~€~~~~~€}€~€€~€~~~~€}€~~~€~~€€~~}~~~€‚~€~~~~€€€~~€~}€~€€€~€~~~€€~€~~€~€€€~€~~€~€€~€}~~€~€~€}€€~€~~~}~}€~€€€€€~€~~€~€€~~€~~~€€€€~~€~€~}‚€~~~€~~€~}€~€~€}€~€~€~}€~~~~~€~€~~€~~~‚€~}~~€~€€~€€~~€~€€~€€€~€~~~~€~~€}~‚~~~~€~€~€~€~€~€~~~~~€~~€€}€€}~}€~€}~€~€~~~€}€~€~€~€~~~€€}€~~~€€€‚~€}€~~~€~~€~€€~€}~€~€€~€~~~~~~~~~~~€}€~€~~~~‚}€~€~€€~€~}~~~~€€€€~€~~~€€~~}€~€€‚~€€~€~€€~€~€~€~~~€‚~€~~~~~~€~~€€~€~~€~€€~€}€~€~~€€€~€~~‚~~‚~€~€€~€}~~€~€€€~€~~€~€€‚~€~~€~€€~}~~‚‚~€}~€~€}€~~~~~~€}~~€€~~~€~~€€}€}€~~~~€~€€~~€}€~~€~€€~€~~~€~€€€~€~~~~~~€~€~€~~~‚~}€~€~€}€~~~}€~€~€~€~~~~€€€~€~~~€~€~~€~‚€€€~€}€~€~€~€~€~~€~~~€~€€€~~~~€~€€~€~~€~~‚€~~€~}€~~€~~~€~~}~~€~€€~€€€€~}€~~~€~~‚~‚~~€~€~~}~€€~~€~€~€}~~~€‚~~€‚~€~~€~€~€€€€~~~}€~€~€~~€~~~~€~~€~€~€€‚~€~~€~~€€~~€~~~~~~€~~€~€€}€~~~€~€€~€€~€~‚€~€}~~€~€~~€~~€~~‚~~€}~€€~€~~~~~~€~€~€€~~~€€~~€~~~€}€~€}€€}€€}~~~€~€€€~€~~~€€€~€€~€€~€}€~€~~€€€~€~~}€~~~~€~€~€~€~€~~~€~€~~€~€~€}~~€~~€€€~}~~€~€~}€~~~€€~€~~€~€~€}€~€~€€~€}~€~~€~€~~‚~~~~€~€€€~~~~€}€€€€~€~~€~€~~~~€~€€~~}€~‚€€~€~€~€€~}€~~€~~€~~€€€~‚}€~~~~€~€~€€~‚€~€~€~€€~~‚}~€~€~€~€~~~~~€}€}€~€~€}€~€}~}}€~€~~}~}}€€}€~€~€€~}€~€€~~~~€~€€~€~~€}~€€~€~~~~€~~€~}€~~€~€€€~~}~~~~~€~€~€~~€~~€€~~~}€~€€~€~~~~€€€‚~€}€~€€}€~~~€~€€}€~~~~€~€~}~€~~~~€~‚~€}€~€}€}€~€~}€€~€~€~€}~~€}€}~€~~€~~€~~€~€€}€~~~€€€~~~~~~€€~€}~~}~€€~€~~~€~€~~~‚~€~€~€€~€}€~€~€€~}~~~~€~€~}€~€€~~~€~€~€€€~€~€~~~~~€€~€~€~€~€}€~~€€}~~€~€~€~€~~€~‚€€~€~~€~~€~~€~€€~~~~€~€€€~~€}~~€}€~~€}€}€€~€}€~€~~~€~€~~~~€~~€~€~€~~~€}€~€~~€~~~€‚~€}€~~~~~~€€~€~~~€}€€~~~~~€~€}€~~~€}€€~€€~€~~~~~~‚€~~‚~~€‚~€~€~€~~€~€~~~~~€~€~€~€}€~€~~~€~€~€~~~€~€~€~€~€~€~~~€~€~~€€}~~€}€€~~~€~~~}€}€~~~~€}}€€€€~€~~}€€~€~€~~~€~}€€~€€}€~€~€~~~}}€€~~~~}‚€€}€~~~~€~€€~~€~€~~~€~€~€€~€~€~~~~€}€€€~€}€~~}€~€€}€~~~€~€€~€~€~~~€}€~~€~€}€€}€€~~~~€~€€€~~~~€~€€€€~~~€~€~€€}€~€}€~~~€}€~€~~€~‚€€~~€}~€€€~€~~~€~€€€~€~~~~~€~€~€~€~~~~€€~€}€~~~}€~€~~€~€~~€€~~~€~~€~~~€}€}}€~€~€~~€~€}€~~}€}~€€~~~}€~€~~~}€€}€€}€}~}€~~€~€~€~~€~‚€‚~~€~€~€~~~~€€€€€~€~~~€€}~~}‚~~€}~‚€}€~~€}€~~~€~€€~€~~~~€}€~~€€}€}~‚}~€~~€~€~€~€€~~~€~~~}€~€}€~€€€~~~€€€€}€~~€~‚~€€~~~~}‚~~€~~€~€€~~~~€}€~€~~~€€€~€~~~}€~~~‚}€€~€~~€}~€€€~€~~~}€€€€~~€~~€~€~€~‚€~€}€~~€~€€}~‚}€~~€}€~€€~~~~€€~€}€~€}‚€~~~€‚~€~€€~€}€~~€~~€~€€~~}~~~€~€€~}~€€~€~€~€}€~€~~~~~€~€}~€€€~€}~~‚€~~€~~~}~€~€€~€~€~~~€~€€~€~€~~€}€~~~€~~€~€~€~~€€~~~~€~€€~~€~€~€~€€~}€~€~~‚€~€~~€~€€~}€~€~~€€~}~€~€}€~€}€€}~€~€‚~€~€~~~~~€~~~€~~€~~€€€}~€~€~€~€~€~~€~~~€~€~€~~~~~€‚}~€~~€~€~~~€~€€~~€~~€}€€~~~~~€€€~~€~~~€~€~€}€~€~€~~~€€€~~~~€~~€~~~€~~€~~€€€~€~€~€~‚€€~~€}€~€~€€~}~€~€€}~€~€~€~~€~€~€~~~€‚~~€€~€}~~‚}~~€}~€~~€~~~~€€€€~~€€~€~€~€}~~€~~€~~€~€~~€~~~~}€~€€~€~~~~€€€~~€~~~~€‚~€~€}€~~€~‚}~~€}~€~~~~}~~~}~~~~€€~~~~~€~€~€~€}€}€€~€~}}~€€~~~~€~~€~~}€~€~€~€~€}~~}€~€~~€€~~~~€€€~€~€~€}€€€~€~€~€}~€~€~~€~~€€€~€~~~€~~}€~€}€~€~€€~€€~€€~~~€~~€}~€~~€~€€€}€~}€~~€~€~€€~~€}~~}‚~~~€~€~€~€~€~~~€€~~~~€~~€€~€€}€~~€~€~€~~€~€€~€€~€~€}€~~~~~€~€€~€€€~€}~€€€~€~~~~€}€~~~~~€€~€~~€~~~€~€~€}~€~~~‚~~~€~~~€€€~~~~~€~€€€~~€~~€~~~~}‚}~€~€~€€~‚€€~€~~~€~€€~~~~€~€~}€~€€~€€~€~~€€}€~~~‚}~~€}€€~€~~~€€‚~~~~~€‚~€~€}~~~€}€~~€~€}€~‚€€€‚~€~~€~€€€€~€~~~~€~~~€}€€~€~~}~€~~~~€~€~~€~€}€~€€~€}~€~~}~€€€~€~~~}€€~~€€~€~~~€~€~€~~~~€~~€}€~€~€}‚€~~~€~€~€€€~}€~€~€~€€}}~~~€~}~~}€~€‚~~€~€~~€€€~€}€~~€~€~~€~}~~~~€~€~€€}€~~~€~€~€~€~~~~€}€~€~€~€~€~~~~€~€€~~~}€~€}€~~€~€€~€}~€~€~€€€€~€}~€~~~~€}€~}€}€‚~}€~~~€~€~€~~~}€~€~€}‚~~€}€~€~~€~~€~€~~‚€€€~€~~~€~€~~€‚~~~€€}~~€~€~~~€€~~~}€~€}€~€€~€€~€~€~}~~~~€}€~€€~~~~~€~€€‚~€~~~€~€~€€~~€~€~~€~~€€}}€€~€€~~€~~}~€~€}}€}€~€~~~~€~‚~€}€~~~€~€€~€~~€~€€€€~~€~~€~~~€~‚€~~€~~€~€€€~~~€~€‚€}~}~€€~~~€~€€~€~€}}~}~€~€€~€€~}~~~~€€€~€~~€~~€€~~~~~€~~€~€~€}~~€~~~~~€~€€€~~€~€€~€€~~€}€~~~}€}€€~€€}€~}~~}€}€€~~€~~€~€€~~~~~€~‚~}€~~€~€€€~€~€~€~~~}€~}~~€~€€~~}€~€~~~~€~€€~~~~~€}€€~~~€~~‚~~€~~€~~}€~~~€~~‚€~~€~€~€}~‚€~~€~€~~~~~~€}€€}€~~~}~€€~€}€€€‚~~€~~~€}~~~~~€}€€~€}€~~~~€€}€~€~€~~€~€~}€~€€~€~~€}€€~~~€~~€€€~~~~€~~€}~~~€~~€~€~€~€~€~}€‚~~€~~€~€~€~~€€~~€~~~€~€~€~}€~€}€€~~~€~~€€}€}~}€~€~~€~€€~€~€~~~€~€}€~~~€~€€€~~~€~~~€~€€~~€~}€~€~~€~~‚~~€}€€~~€€~~€~€€~~€~€‚~~~~~~€~€~€}€~€}€~~€}€€€~~~€€~~~€~€~€€€~€}~~~€~€~€~~€~~}~‚~~€}€€~€~~}~‚~~€~€€~~~~~€~~€}€~€~€~~~€~€~~€€~€~€~}~~€}€€~€~€~€}€~€€~€~~~€~€~€~€~€€~€~€~~€~€~€~€€€~€~€~~~€~€~~€}~€}€~~€~~€€~~€~€~}}€~€€}€~~~}€~~~~€‚}~€€}€€}~~~€~~€~~~~€}€~€€}€€~€~€}~~~€}€€}€~‚~~~€€~~~€~~~€€~€}€~~~~~€}€~€~€€}€‚~€~~~€~~~~}€~€~€~~€~€~}€~}€~€~€€~€~~€~€~€~~~€~€~€~~~€~€~€~~€~€€~~~~~~€}€}~€}€~€~~€~€~~~~€~€~~€€}€€~€~~~€}~~€~~€}€~~€~€~€€~~~~~€~~€€}€€~€~~~€€€}~~~€~€€~~€~~‚€€€~~€~~€}~€~€€}€~€€~€~~~~€~€€€~€~~€€~}~€~‚€€€~~~€~€~€~€~€€~€~~}~€~€}~€~€€€~~~~€~€~~€~~€~€~€€~~€~}~€€~€~~~~€€~‚€~~‚~~€~‚€€~€~~€~€€€~}€~‚€~~~€€~~€€~€~}€}~}€}€€€€}~~€~€~€€~}€~€~‚€~~‚}€~€~€~€‚~~~€}€~~€~~~~€}€}€}€~~~€~€~~~~€~€~€~€€~‚€~~€~€~€}€}~~~~}€€€~~~~~€€~€~~€‚~~~€‚~~~€~€}€~~}~~€~~€€€‚~€~€~€€~~€~€~€~~~€~‚‚~‚€~~€~€~€}€~€~~€~€~€~~~€~€~}€~€~~~~€}€~€€€€~€~€}~€~~~~~€~~~~~€~€}€€~€€}€~€~~€~~€€~€}~€~~~~‚~€~€~~€}~~~€}€~€}~}‚}~~€~€~€~~~~€€~~~€}~€€‚~~€~}€~€}~€~€€~~~€~~€‚~€}}~}~~€€€~€}€~~€~~‚€€~}€}€€~€€~€€~€~€~~~€~€~~~~~~€€~€~~€}€€€~€~~€~€€€€~~~€~€€~€~~€~€€‚~€}€~~~€€~€~}€~€~~~}€~€~~}€~}~~€~€€~€~~~€~€~€~~€€~~~~€~~~€~€~€€€€~€}€~€~€€€~~~}€~€€~~€~~~~€€€~€~~~€€~€~€}~}~€~€~€~~}€~~€~~€~~~~~€€~€~€~€}€~€~~~€~€}€€~€~€€~~~~€~€€~€}~~€€~}€~~€~~~~~€€€~~€~~€~€}}‚€‚~€~~~}~‚€€~‚~~}~€~€~€~€~~}~€~€~~€~€~~€~€~~€}€~~€}~~€}~€~€~€~€~€~€€€€~€~€}€~~€~€€€~~€~~€~€€~}~~~}€~~€~€€~~€~€€~€~~~€}€€~~~€~€€~€~~€~€}€€~€}€~~~~}€€~€~€~~€~~€~€}‚~~€~~~}€~€€~€~~€~€€€~€~€~~~€~€€~~€~€~~€~~~€€~€~~~~~~€~€~€€~€€~}~~~€~€~€~€}€~~€€~~~€~€€€~€€}€~~€~~}€€€~~€~~€~~€~~€~€}€~~~€~€€~~‚€~€~€~€~€~€~~~~~€~}€}€~€~~~€€~€~€~~‚~~€}€}~€~~€~€€}€~~~~~~€€‚€~}~~€~€~€}€~€}‚}~€~€€€€}~€~€~€}€~€~€~~~€~€}€~€~€~€~€€~€~~~€~~€€~~€~~~€~~€}€€~‚€~€~‚~€~‚~€€~~~~€~€~€~~~‚~€}€}€€~~~~€~~€€~€}~€~~~~~~~€€~€~~}~€€~~~€}€€}€~€~€€~~€€}€€~€~€~~~~~~~€~~€~~~‚~€€~€~€~€}€~~~~€}€~€€~€~€~€€€~€}€~€€~}~~€}€}€~€€~€~€~~~€~~€€€~€~~€~€€}€€~€€~€~€~€~}€€~€~~~€~€€~€~~~€}€~€}~~~~€}~€~€~€€~€~~~€}~~}~€~~~€~~~~€~€€€~}~~~€~€€~€~€}€€~€~~€~~€~€~€~€~~€~€~~}~€€~€~€~~~€~€€~€}}€~€~€~€~~€~€€}€€~~€~~~~€}€€€~€~€~~€€~~~€~€€€~€~~~€~€}€~€~~€~€€~€~~~~€~€~€~€~€€~€~€~}~~€€~~€}€~€~~}~€}€}€~€~€}€~€~€~€~~€~€€‚~~~~~~€€~€~~~€€~~€~~€~€€~~~€‚~~}€€€~€~}€€~€€~€}€~~~~€~€~€~€~€€€‚‚~~~€~~}€~~€}~~€~~€~~~€}€€€~~~~€~€€€~€~~}‚€~€~~~~}€~€€~€~€~~€~~~~~€~€€~~€~~}€~€€~€}€}€~~‚€~~~~€~€~~€~€~~€~€~€€€~€~~~‚~€}€~~~~€~€}€€~€~~€€~€~~€~~€€~}~€~€€~€€}€~€~€€~€~€~~€~€€~€~~}~€€~€~~€}~€~€€‚~€~~€~€€~€~~€~€~~~~€~€€~€€}~€~~~~€€~€~€~€€€~€~~€~€€~€~~~€~€}€~~~€~€~€~~€~€€€~€}~€~~~}€€~€€~€}€~~€~~~€~~~€~€~€€~€€~€~~€}€~€€~~€~€€€€~~€~~~‚~~~€‚}€€}~€~~€~~€}€€~~~~~€~€~€}‚~~€~€~€~€~~~~€}~~€}}€€~€~~~}~~€‚~~~€}€}‚€~~~€}~€€~€~~}€~€~€}~~€~€~€~~~€}€€~€~~€~~~€~€€~€~~~€}€~~€~~~~~~€~€~€~~~~€€€~€~~~€€~€~~€}€~€~~~}€~€€~~~~~‚€‚}€~€~~~~~€~~~~~€}€€~€~~~€}€~€€€~€~~~~~€€‚}€~€€~€~€~€~€~€~~~~~€}€€~~~~€~€}€~€€~€~€~~~€~€~€~~€~€€€~~~}~€€€~€~~~€~€~€~~~€€€~€~~€~€~€~€~}~~€€€~~€~~~€}€~~~~~~~~€~~~~~~€~€€€}€€~€~€€~€~€~~€€€~~€~~€~€~~€~~~€~~€~€~€€~€}}€€}€~€~~€€}€~~~~~~~€~€~€~}€~~€€~€}€}€~€~~€€€~}~~€~~~€~€~~~~~€~€€~~}€~€}€~€~~~€€~~€}~~~€€€~~~~~~}€~€€~~~~~€~€€€~€~~}~€}~€~}~~~€€~€~€~€~€~}~€~€€~}€~~~~€~€~€~€~€~~~}€~€€~€~€}~~~~€~~€}€~~}~€~€~€~€€~€~~~}€}€€~€}€~~~€~‚€€~€~~~~€~€€~~€~€€~€~}€}€~~~~~~€~€€~~~~€~~€~€€~€}€~€}}€~€€~~‚~~€~~€~€€€}~~€€~€€}€~~~~~€€~~~€~~€}€~~€€€~~~€~€€~€~€~~€~€~~~~€~€~}~~~~€~€}~~€€€€~~€}€}€}€~}€~~€~~~~~‚~}€€}~€~€‚~€~~€~~€€~€~€~€~~~~€~€€~~~}~~€~€€~€~€~€~~€~~}€~~€~~~€~€€}~€~€}€~€}€~€~~€~~€~~~€‚~€€~€~}€~€€€}~€~€€~€€~€~€}€~€~€~~€~€~‚~~€~€~~~€~~€~}€~~~~€~€€€}~€~€~~€~€~~~€~}€~€~~€}~~€~€€€€‚€}€~~~~€~€~~~~€~€~€}€}€~€€~€~€~€~~‚€€€€~€~‚~€~€~~~~}}€~€€~~€}~€~~€€~}€~~~€~€€~~€~~~}€~€€~€~€~€‚}~€~€~~‚~~€~€~€}€€~~€~~€~~€€~€~€~€~~€~~€€~€~€~~€~€€}€€~€~~~}~€€~€~~}€~€~€~€€€~~€~~€~€~€~€~~€€~~€~~~€~€€~€}€~~~€~~~}~€€€€~€~~}€~~€~‚€~}€~~€~~~~}~€~€~€€€€~~€~}€~€~€~€€€~€~~~~€~€~~~~€~~~~€€~~€}€~€€}€€~€~~€}}€~~~~~~~~€~€€~€~€€}€~€~~€€~€~~~~€~~~€~€~~€~€~€~}€~€~~€~€~€~€}€~~~~€~€}€~~€~€~€€~€€}€€~€~~€€€~~€~~~~~€~}~€~€~~~€~€~€~€€~€~€}~€~~€~€€~€}€~~€€~~€~~€~~~}€~~€€~€€~€~€~~~~€€€€~~}~€~€‚~€€~€~~~~}€‚€€~€€~€~~~€~€€}€~~}~€}€~€~~~~~€€€‚~€~€~~€~~~€}€€~~€~~~€~~€‚~€€}}~~}€~€~~~~~~€~€€~~~€~~€~€€}€~€~€~€~~€~€~~~~~‚}~€~€€~€}~~€}€~€€~€}€~€~~€~~€~~~€}}~€€€~€~~~~€~€€~€€~~€€€~€~~€~~€€~~€~~~~}€€€€€~~~€~€~€€~€~}€~€~~~~€~~~~~€~€}~~€€€€~~~~€€~€~~‚€~~€~~~€~€€~€~~€~~€€~€~€€€€~}~~€~~€~~~€€}~}€~€~~~€}~€€€}€~~€€€~€~€~€~}‚~~~~€}€}€~€~~~€€€}~~~~€~€~€~€€~€~€~~~~€~€€~€~€~€~}€~€€€}€~~~~~€}€~€€~€}€€~‚€~€}€~€~€~}€}€~€~€€€~€~~€~€}~~€}~€~}€~€~€~~€~€~€~~~€€€~~€~}€~~€~€~€~~€~€~~‚~~€€~€€~€~~~€}€~~~~€~€~€€~€}~}~‚}€~€~}€€}~~€€}€}€~~}~~€€€~€€~€~€€~~€~~‚}~~€~~€~€~~~~€~€€}~~~}€€~~~€~€~€~€~€~~}~~€~€€€‚€~€~~~~€€~€~€}€€€€‚~~~€~€€€~€~~€~€~€~€~~€€~~~~€~€~€~~€~€€~~~€}~€~€€~‚€€}~~~~€~€€~€~‚~~€~€€~€~~€~}€€~€~€€€}~~€~€~~€}~~~~€€~€~~€~€~€~€€~~~€~~~~€€}‚~~~~~}~~€~~€~€}€~~€€}€~~}}~~€~€}~~€~€}~€€€~}€~~}€~€€~€}~~~€~~€}€€~€~€~‚€~~€~€~~€~~€~€~€~€~€~~€€~€~~~€~€~€~€}€~~~€~€€~~~€~~€~€~€~~~~€~~€~€~~~€~~}€~~€€}€~€€€~~~€€€}€~€~~}~~€~€€~€}~~~€~€~€~€€~~€~~}~~~‚~€}€€~~€~~~€}€€~€~~€€€~}€~}€~€€~€}~~~€~€~~~€~€€€~~€~~€€€~€~~~~}€€~€~€~~€~€€~~€~€~€~~~~€~~~€}€~~€~~€~€~€~~€~€~€~~€~€~€€~€~}€~€}€}~~~‚~~€~€}‚€~~~~€~€~€‚~€~€€~€}~~€€~€~€~~‚~~€~}€~€~~~~‚~~€~€~€~}€~~~€~~~€}€~~}€~~€}~€~€~€~‚€€~~~€~€€€~€~}€~€~€~€€~}~~~€~~€~€~~€~€~€~€~}€}~€~€~~€}~‚€~€~~€}€~~~€€~~€~~~€~€€‚~~~~€€~~~€}€~~~~}‚~}~€}€}~‚€€~~€}~€}€€}}~}€~~~€‚}€~~€~~~~€€~~€~~€~€€€~~}€~~€€~€~€~€~}~}€~~€€~€~~~€~€}€~~€~~~~€}€~€~€~~~€€€~€~}€€€€~€~~~~€~~€~~}‚~~€~€~€~€~€~}~}~€~~€~~~~€}€€}€~~~~€~€€~€}~€}€€€‚}~‚€~~‚~~~€€~~~€~~€€€~~~€~€€~~~€~€~~~~~~€€~~€~€~}€~‚~}‚~~}€~~€}~~€~€~€~~~€}€~~}~€~€~~€}€}€~~€€~~€~~~€~€€€~€~~€~~€~€~}~€~~€~€‚~€~€~~~€~€€€~€~~~~~~~~€~~€~~~€}€€~~€~~~€~€~€€~~€~€~~~€€~~~€~€€~€~~~€~€€}~~~€€€~€~~~~€~~~~€~€~€~€~~}~~~~‚€€‚}€~€~~€~~€€€~~€~}~~€€€~€~~€~}€~€~€~€~€~~~~€~€~€~~}€~€€~€~€}€}€~€€€€~€~~~€€€€~~€~~~~~~€}€~€~€~~~€}€~‚€€€€~}€~~~€~€€€~~}~€€~€}~€~€€~€~~~€€~~€~~~€~~€€~~€~~~€€~€~€~‚~~~~}~}€€~‚€~€~~~~~€~€€~~~€~~€€€€€‚~~€~}~€€~€~~~€~€€€~~€~€€~‚€~€~~~}€~€€€~~~~€~‚€€€~€~~€~~€~€~€~€}~~}~€}€~~~~~€~€~€~€~€~€~€~~€~~~~‚~€~€}€~€€~}‚~~~€~€~€€€~€€}~~~€~€€}€~€€}€€}‚€~€~€~~~~€~€€~~€}~~}€€}€~‚~~~~~€~~‚~~~€€}€€}€}~~~€€€}}~~€€}€~€~~~~€~€~~€~~‚}€~€}€€~~€~€~~~€~€€~~€€~€}~~€}€€~~~}€}€~€€€~~€~€~€~~€€~€}~€€~‚€~~~‚€€€~€}~€~€~€~€~€€~‚€}€~~~~€~€}~€~€~}~~€~€~€~~‚}~€}€}€€€~€~~€~~€~€€~€~~€~~}€~~~~~€~~€€€~~€~‚€€€~~~€~~€~€}€~€€~~~~€~€~~~€‚~~€~}}€~€~€~~~€~€~€~~~€~€~€~}€~€~€~~}€~€~~€~€~~}~~~~~~€‚~€~€}€}~~€}€~€}~~~~€~€~~~~~€~€€}€~€€}€~~~‚~~€~€€~€~~~}€}€€~~~~€~€~€€€~€~}€‚€~€~~€}€~€~~~}€~€~€‚}~€€}€~~}~€}€~~€~€~€~~~€~€€~~€~€}~€~~}‚~~€€}~}€€~‚€~~€~~€€~€~~€€~€~€~~~~€€~€}}~€€}€~€~~‚€}~~€~€€~~€~‚€€€}€~~~}‚~~~€~€~}~~€~€~€€€~~€~~~~‚€€€}€~~}€~€€~€~~~€~€€~€}€~~~~~€~~€~€~€€€~€~~€~€}€~€~€€~€~~}~€€€€€~€}~~~€€€~}€~€~€~€~~}€~~~~~}€~~€‚~€~€~€~€€€~€~~€~~€~‚€~}€}€~€~€}~~~€~€~~€€~~~€~}~~}€~€€~}€~~~~~€~€~€€~€~~~€~€~}€}~‚€~~~}~~€~€~~€‚€€€€~~~~}~€€€~€~~€€~€€~€~€~~€}~€~~~~~~€}€~~€~€~€€~€€~€~~€~‚€~€~~~€~€€~~€~€}€~~€~€~€~~€€~€~€~€}~~€~~~€~€€€~~€~~€€€€~~~~~‚~~‚~€‚~~~€~~€~€€€}€~~€~€~€~€~~~€~€}€€}~~~~€~€€€~€~~}€~€€~~€~€~€€~€~~~€~~€~}€~~€~~€€~€~~~~€€€~€}€}~}€~€~€€~€~€~~€€~€}€~~€~€~€€~~~~€€~€€~~€}€‚~€~~€}€€€€~€~~€~€~€€}€~€}€~}}~~€~€}~~~~€€~€~€~€~}~€~€~~€€~~~~€~€~~€~~~€~€~~~~~~~€~€€}~‚€€€~€~€~~€~~€}€~€}€€~‚}€~€}€~~~}€~€€}~~~~~~~€}~~~~€€~€~~€~€‚~€~€€~€~~~~€~~€}€}€}~€~~€€}€~~€~~~~€}€}€~€~€~~~~€}€~~€‚}}€~€~~~~€~€~‚€~€~~€}€~}€~~€~~€‚~€~€~~~~€~€~€€~~~€~€~~~€~~€€~~~~€~€€~€}~~~~€~€~~€~~~€~~~€}€~€~~€}€€~€~€~€~€€~~~€~€~€~€~€~€~~~~€~€~€}€~~~~~€€€~~~€}€~~€€~€~~~‚~€}€~€~€~}€~~€€€€€~~€~~€~~€€€~€~~€}€€~€~~€}€~~}‚~~~€~~~€€€~€~€~€€~~€~}€€‚~~€~~€~~€€€€~€~€~€~€~€~€~€}€~€}~~€~~€€~€~~‚}~€€~€~€€~€~~~~}~€~€}€}€}€€~€}€}€}‚€€~€~~~€~€~~~~}€~~~€~~€€€~~~€~€~}~~~€~€~~€~€‚~~€~€~€~€}€€~€~€€~€~~~~€~€€~€~}~€‚~€~~~~~€~€€€~€~~}€€~}€~~€~€~€€€~€~~~~€€~€~~~}~~~€~€€€~~~~€€~€~~~~€~~~~~€€}~~~€€}€~€~~~~€}€€€~€~~~~€~€€€‚~~~€~~€€~~€~}~€~€€~~€}€~€~~~€€~€~~~~€€‚~€~€€~€~~€~~~~‚~~€~€}€€~€€~~}€€~€~€~~~€}€~€€~~€~~€~€€€~~~~€~€~€}€~€~~€~€~~~~€~‚‚€€~€}~~€~~€~€~€~~}~~~€~€€~‚~~€~€~€~€€}€~}€~€€~€~€~~€~€€€€~}~~~€€}€€~€~~~~~~€}}€}€~~€~~~€~~~€~€~€}~€€}~~~~€€~}€€~€~}€}‚€~~~}€~€~}€~~€}~}€~€€€€~€~~~€€€~~}~}~€}€€}~}~~~€}€€~€~€~€~~€~€~€€~}€~~~€~€}~€}€}~‚~€}€}€~€€~€~~€~€~€€~~~€~~~~€€€~~~€~€~€~~€~€~€~~~€~€€‚~~~~€‚~~€~~€~~€€}€~~~~€~~~~~€~€~~~€~€€~€~~~€~~}€~~~~~€€~€~~~~‚~~~€~€€~€€}}}€~€€~~}~~€~€~€~€}~~€}€~€~€}~~~€~€€}€~€}~€~€~€~€~~~€€~€~€}~€}€~€€€~€~~~€~€~€~€~€~‚€~€~}‚~~€~~€~€~€~€~~~~€~~€€~€~~€~€~€~€~~~~€~€}€~€}~~~€€~€~€~~~~~~~€~~€~€}~~€€‚~}~€}~€}€~€~~~~~~~}€~~€~~€~€~~~‚~~€}€}€~€}€~~~~€~~~}€~€~€}~€~€~~€~~~~}~€~~~}~~~~€~€€~€~~~€€~€~€~€~€€€€~€~€~~‚€}~}~€~€~€~€~€~€~~~~€~€~€€~~}~~€~€~€€~}€~€}€€~€~€}~€€€~€~€~€~€€~~€~~}€~€€}€€€}€~~~€~€€~€~~~€€~€~€~€}~~~~}€~€~~~€~~~€}€~~~~€}€€€~€~€~€€~€€}€~€~~€~€~€€~€~€~~€€‚~}€~~}~€}~€~~€~~~€~€€€‚~~€~€}€€~~~~}€}€€~€~€~~~~‚~€}€~~€~€}€~€~}~~€~€~€~~€~€€}~€~€~€€~€~€~~€~~€€~€~€€~€~€~~€~~~~€€€~~~~~~€€€}~€€~€~€~€~€€~~€~~€~€~~~~}€~€~€}€~}~~€€~€~}~~~€~€}€€~~€~~€~‚€€~€~~€~€€€~~~}~€€€~€~~~€~€€‚~€~~~€€€~}€~~€~€~€~€}€€}~~~~~€~€~€€~€~€~~€~~~€~~€~~~~~€~~€~‚~~€|€€~~€}~~~€}€~€~€~€‚}~€~€~~€~€€€~}}~~€~€~~~€~€~€}}€~~€~€}€~€}€~~€~€€~€~}~}~€~€€~~~~~~~~€€~€~€€~~€~~~€€€~€~€~~€~€€~}~€}~€~~€~~€€€€~~€~~~~‚€€~€~~~€~€~€}~€~~€€‚~€~~€~~~~~€~€~€~€~€~€€~€~~€~€€~}~~~€€}€~~~~€~~€~~}~~~€~€€€‚~~€~€~€€}~€~~‚€~~€~€~~~~€~€~€€}}€~€€}€~~€€‚~€~€~~}€€€€~€~€}€~€€~€~~€~€~€~~~€~€~~~}€~€~€€€~}~~~€~€~€~€~‚~~~€~~€}~€€€~€~~€‚~~€~~€~€€~€~~~€€~€~~€~€€€€~~€~€~~€~€~‚€€}~~~~~€~€~}€~‚€€~~€~€}}€}€€~€~€~~~~‚~€~~~~~~€~€~~}~€~€~~~€~€~~}€~€€€€~~~~€€~~~}€}€€}~~€~‚~~~~€~€}€€}€}€~‚}~}€~~€~‚~‚~}€€~~€~}€~€€~~€~€~€~€€€€~€~€~~€€€~~€~~€}~€~~€~}€~€‚~€~~~~€~~€~~~~€~€~€}€~~~€}€€~€~}€~~€~€~€~€~~~€}€~€€~~~~}~€€~}~~~€~€}€€~€~~€}€~€~~€~~~~€}~€€~€~~~€€}€~}}€€~€~€~~€}€~‚~~€~~~}€~~€‚~‚€‚}~~€~~€€~~~€~€}€~~~‚~~€€}€~~~€€~€~€~~€‚~€~€~€~~€~~€€}~€~€€}€€~€~€~~~€€‚~€~~~~€€}€€~€€~€}€~~~~€~€~€€~€~€€~€~~}€~}‚€}~€~€~€~}€~~~~€~€}~€€€~€~~~~€}€‚~€~~~€~€€‚~€}€~€~€€~€~~~€}€€€~€~€~~€€~€}~€~~~~~€~€€~}€~~~€‚~~€~€‚}~€~~€~~~€~~€}}€~~~~}~}€~€~~}€~€~€~~€~}~€~€~‚~€~}~€€€~€~~~€~€€}~~~€€‚~€~€~€~~~~‚€~€~~€~€‚~€~~€€€€~€~€~~€~€€~€~€€}€€~€€€~~~€~€~€€~€}€€~€€€‚~}€~~€~€~€~~~~~€€~‚~~€~€~€~~€~~€~€}€~~€~€~€~~~€}‚~€~~~~~€~€~~~€‚~€~~~~€~€€}}€~€~~~~‚}€}~€~€~€€~€~}€~~~~€€‚~€~~€~~~~~}€€~~~~~~€~€~~€~~~€}€~‚‚~~}~€}€~€~€}€~~€€~€~~~€~€€~~€~~}~€€~€~~~~€~~‚€~~}~~€~€€€~€}~~~€}€€~~~~€~~~~~~€~€~€~€~}€~€~€~€~~€~~€~~€€~~€~€~€€€~€~~~~€€€~€~€~€~€~~~€~€~€~€}~~€~€€~~~€~€€~~€}€~~~~€€€}~~€~~‚€€€~~~€~‚~~~~€~~€}~~€€}€~~~~~~~€}€€}€~}€}€~€€}~~€€€~€~~€€~€~€}€€}€€}€}€~~~~‚€~€~~€~~€~€€}€~‚€~~~~€~€}}}€~€€~~€~€~~€€}€~€~€}€~}~}~~€~~€~€~€€~€~~~€~~€€~~~~~~€€~€~€~~~€~€€€~€~~~€~€}€~€~€€~~}€~~€~~~~€~€€€€€~€~~~€~€€~~~€~€€~~}}€~€}€~~€~~~~€~‚€~~€}€}€~€~~}€~~€€~~~~€€~€~~€~€€~€~€€~€€~€~€~~~~€~~€~~~€~€€‚~€~~€~€}~~€~~€€€~€~}€€~~€}~€~€~€}€~€~~~~€€~~~€~~~€~}€€€€~~€~€~€~€€~€}€~~~~€~€~~~€~~€€~€~~~~~€€~€~~€~€€€~€~~~~€~€~€~€€~€~~~~~~~€€€~~€~~~€~€~~~€}~€€~€~€€~€€~€~~~€}~€~~€~€}~€~€€~~~€~€€~}~€~€~€~~~~~}€}€€}€~€~~€~~€~€~€€~€}~~€~~€~€~~~~€~€~~~‚€‚~~€~€~€~€~€€~€}€~~}€€~€~}€~€~€}~~€~€~€~€~€}€~€~~}€€€€~€~€€~~~€~€‚~~~~~€~€~~€~~€~~€€~€~~~€€€~~€~~€~~€€~€~€~~€€€~€~~~~€~‚€~€~~€}€€€€~€~~~€~€~€~€€~}~~~€~‚‚€}€~€~€~~€€~€~€€~€~€~~~€~€~€~€€~~~€~~~~€€~€~~€~€~€}€€~€~€~€~~~€}€~€}€~€~~~~}€€€€~€}~~€}€€~€~€~~€~€}€~€€~}~€~~€~€~€~~~~~}~€~~€€~€~~~€~€~€~~}€~€~€~~€~€€}~€~~€€~€€}€~€}€~€~~~€€‚~€~€~~~€~~€}€€}€€~~}~€€~€}€~~~€~€€~€~€€~€~€~~€~€‚€€~~~€€~€~€~€~€€€~~}€€€~€~‚€~~~€~~€€€€~~€~~€~€€~€~€}€}‚€~}}€~€‚~€}~~€€}€}€~~€~~€}€€~€€~~€~~~~€~€€~€~€~‚€~~~~€~~~€€€}€}~~€~€}~€~€~~€~~~~~~€}€~€~~~~€~~~€€~€~€~€€}€€~~€~€~~~€€€~€~~€~‚~~~€~€~€€~}€~~€}‚€€~~‚~€~€~€~€}~~~~€€€~€~~€~~€~€~~€~€~€~€~~~~~~}~~~€~~~€}~€~€~~~€~~€€~~~~€€€~€~~~€€€~€~~~€~€€~€~~~€~€€€~~€~€~}€}~~~~~€~€~~€~€~€€€~€}€~~€~€€€~€}€}€~}€~~~€~~~€‚}€€~}€~~~€~€~€€~~€~~€~€~~€~~~~€€~€€}€~~~€‚~~€~~€~~~~~~€~€~€€~€~~~€~€€~€~}€~€~~€~€~~~~~~€~€}€€}€~€}~~€~~~€~€€€€~~~€~€~~€~€~€€€~~~€~€€‚~}€~€~€~€~€€€~~€~~€~~~~€~€}~€}~€~~~~€~€€~}~~~€~€€~€~~€~€€€~~~~~~‚€€€~€~€~€~€~~~~€~~€~€}€}€€~€~€€€~€~€~~€€€€~€~€€~~~}€€~€~€~~€€~~€~~~€~€~~~€~~}~€€~~€~€~€€€~~~€~€~€~€~~~€~~€}€~€€~€~€~€~€~~~~€€~€~~€~€}€~}€}€~€~~~~~€~€~~€€€€~~€~~~€}€€€~~€~€~€€€~‚~€~~~€~~‚~~~€‚~€~€~}€~~~~€~€€}€~€~~€~~~}€~€~€‚~€~€}€€~€~~€~€‚€€}€€~€€~~~~~€~€€~~~~~€~€~€~~‚~~~€‚~€~~~~€~€~€€~€~~~€€€€~€}~~~€€€€~~~€~~€~€€~€~€€}€~~€€~€~~~€€€~€}€~€}~~~~€€~€~€~€~€€~~~€~~€€}€~€}~~€~~~€~~~€~~~€€}~€~~€€~~€~€~€~€€~€~€€~€~~~~~€~€}€~~€}~€~€€€~€~~~~€€€}€~~~€~‚}€~€~~~€~~€~~€€~€~€}€€~}~~€}€~€~€}}}€~€€~~~€€}€~€€~€}€~€~~€‚~~}€~}€~€€€€~~€}~~~‚~~€~€~€€~~€~€~‚€€€€}€€~€~€€~€~~}€~€€€}€~€~€~€}€~~}€~~~~€~€~~~~~~€~~~€€~€~~~€~€~~~~€€€€€~~€~~€€€}~~€~€€€~€~€}~~~€‚~€~~~~€€€~}€~€~€€~~€~~€€~€~~}€~~€~~~}€€€~€}~~~€€€~~~€}€~€~~‚~~~€}€~€~~~}~€~~~~€€€~€~~~€~~€€}€~~~~~~€~~}€€‚~€~€€}€}€~~~~€€€}~~~~~~€~€~€€~€~~~€~~€~€€~~€€~~~~€~}€}~€€~€~~~€~€€~}€~~~€€~€~~~~€~€€€€~€~€~~~~€€~~~€€~~€}€}€~~~~~~~€~€~€~€~€‚}~€€~€~€~~€~€€€‚€~~~€~€€€~€~‚~~~€~~~€~~€€~~}€~€€€}~~€~~€€~€~~€~€€€~~~~€~~€~€~€€~~~€}€~€€~}~~€}€}€€}€~~~€~€~€€~€~~~€~€~~€~}€€~~€~~€~}€~~~€~~€~~~€~€€}€~~€~€€€~~€~€€€~~€~€}€€}€~~€~€€~€~~~~€~€~~€~€~€~€~~€~‚~~~€~€€}€~~€€~€~~€€~€~~~~€~‚~~}€~€~€}€}€}€~~~~€€}€~€~€~€~~€€}€€}€~~€~~€~~~€~€~€}€~€~€~~~}€~€~~€€€~~€~~€~€‚~€}~~€~~€~€~~}~€~€}€€~€~~€}~€~~€~~€}}€~€€€€€~~~}~€~€€~€}~~~€~€~€~~€€~€€~€~~€~~~€~€€~€~€~€~€€€~€~~~‚€~~‚~~€}~€}€€~€€~€~}€~€}€~€~€~~}~€€~~~€~€~€~€€~€}~~~€€~~~}€~€€}€€~€€~€€}~~~€~~€€€€~~€~€€€€~€}}€~€~~€~€€€}~~€~€€~~~~~€~€~~}€~€~}€~€€~}~~€~~€}~~€~€€€~€}€~~~~€€~~€~€€~€~~}€~€‚€~~~€~~~~~€€~€~}~~~}€€~€€~}‚€~€~~€}€~€€~€~~~€~€€~€~~€~€€~€}~€€~~€~€€~€}€~~€~€~~~~€‚~~€€€~~€~}€~€~€~€~€€‚~~~€~~€€€~€}~€~€€~€~€~~€~~€~~}~~~‚~~€~€~€~€~€~€~€€~}€~~€~€€}~€~€}€€~}€}‚~€~~~~€~€~~€~€€~€~~€~€~€~}~~€~€€}€~€~€~~€~€€~~~}}€€~€}€€€~€}~~€}€~~~€~€€~~€~~€}€~‚~~€~~€~~~€~€~€€}€~~€~€~€~~~€€€~€}}€~~€~~~€~€~~€~~€~€~€}€€~~€~€~€~€€€}~~€~~€€}€~€~€~€}~€}~~}~~€~}€~~€~€}€~~€~€~~}€~~€~~~€€~€}~~€~€€€€€~€~~~€€~~~€~€~}~€~‚~€€~€€~~€€~€~~€~€€€}€~}€~}}~€~€~~€~~~€~~€~€~€~€€~€~~~€~~€~€~€~}€~€€~€}~€€~€}~~€~~€}€~€€~~€~€}~€€€~}€~~~€~€€~€~~€~€€~€~~‚~~~~€}€~€~~€~~~€€€~€}€€~~€€€~€~~~€~€~€}€~~~~~€~€~€~€~€~€~€~€~€€~€€~~~~€€€~~~€~~€€~~~€~€~€~~€~€~€~€~€~€~€}~€€€€~€~~€€~~€}€€~~€~€€~~~€~}}€€~€~~€~€€~~€‚}€~€}€€~€~€~~~€~€}€~€}‚~~~€}€€}€~~€~~€~€}€}€€~€~€€€}~~€~€€€~~€~~~€~€~€~~~~€~€~€~~€}€~~~~~~€}€€~€€€~€~~~~}€~€~~~~~€€}~€~€~€}€~~~}€~€€~€}~€~~~~€~€€€~€€}€~€}€€~€~}~€~€~€~€~~€~€~€€~€~~~}~€€~~€~~€€~~~~~~€€~~~€~~€~~€}€~~~€~~~€~€~~~€~}~€}‚~~~€~€~~~~€~€~€~€~€€~€~€~~€}€~€€}~€~~~‚}~~€~€~~~€~€~€€€~~~€~€~€€€~€~~}€€~€€}€~~~~~€€€€~}€~~~~‚~~€}€~€~~~€~€}€€~€~€~~}€~€€~€~€}€€~€€}€}€~~~€}€~~€~€€~€~~€}~€~~€~€}€~~~€~€€€}€~€~€~~~€€€‚~€~~~€€~€~€~€~€~~~€~~€€~€~~€~€€€~~€~~}~€€‚€~~€~€~€~~~~€~€~€~~~€~€€€~~~€~€€€‚~~~€~€}€~€€~€~~~€~€~€~~~€~€~€}€~€~€€~€€€~€}€~~€~€~€€~~€}~~€€~€~~~€€~~}€~€~€~~€}€}€~}€}€~}‚€~~€~€}~€~€€~~~~€~€~‚€}~~€}€€~€}~~}~€~~€~€~€~€€~€€~‚€~~‚€‚~~€~€€€€€~€~~~€~€~€~€}~~~€~~€~€~~~}~€€€}€~}€€}€~€~€€€~~€~~~€~€~~}‚~~~€~€~~~€~€}~~€€~€~€~€€~€~~~€~€€€~€~~}€€~€~€~~~~~€~~€}‚~~‚}€~€€~€~‚~~€~~~€€~€~€~€€~}‚~~~~€€~€~~}€~~~~€~~‚€~~~~~~}}~€€~}~~~€~~~~~~€}€~€~~~€~~€€~~€~€~€~~~€€~~~~~€~~€~~~€}~€~}~~~€~€}€~€~€~~~~€~€~€€~€~€}€~~€}~€€~€~~€~€~€~€€~€~~~€~€~€€~€~€~~€~€~€~}€€€€~~€~~~~€~€~€€}€~€~~~~€~€}€~~}~€€€}€~~€~~~€~€€}€~~~~~€~~€}~~~€~€€~~~~~~€~€~€~~~€€~€~~€€~~}€}€€}€€~€~}€~€‚~€}€}€~€~~~€‚~€}€~~~~~€~€~~€~~€€€~~~~~€~€~~€€~~€€~~€€€~€~€}~~€~€~~€‚~~~€~~€~€~€€€~€~€~€€~€~€~€€~~~€}‚€€€~€~~€~~€~€~~€~~€€€€~€~}~€~~~~€€~~€~€~€~€}€}~€~~€~~€~~~€~€€~€~~€~€€~€~~~€}€€€~€~~~~€€~€~€~~€~€~€~€}€~€~€}~€}€€~€}}€~€€~}~~€~~€}€€~~€€}€~~~€‚~~~~~~~€~€}€~€~€~€~€~€€~}~~€}€~€€~€~€~~€}~€€~~€~~~€~€€~€~~}}€~€~€~~~~}~€€~€~~~~€‚€€~}€}~~€€~€~~€~€€~~~€~~‚~€~€€~~~~~€~€~€€~€€€}€~€~~€~~‚€€~€~~€~€€~~€~~€~~€~}€~~€€~~~€~~€€~€~~‚~~€~}€~}€~~~}€~‚€~€~~}~€€€~~~~~€~€~€€~€€€€}~~~€€€€~€~~}~~~~€~~~~€~~€}€~€~€~}€~~~€~€€~€~~~~€€~~~~~~~€~€€~€~€~€~€€€}€~€~‚}€~~~~€~€}€~}€€~€~€~€~€~~~€‚}~~€~€~~€~}€‚~€~~~~€~€€~}€~€~€~€€~€~€~}€~€~€~€€~€}€~~€}€~€€~~€‚~€€~~~€}€~~~~€~€€‚€~~€€}~€~€~€~€~€~~€~€~€€€€~€~~~€~€~€€€~€~}€€~}~€~~}}~€~~€~~~€€€€~~€~~€~€€‚~~~~€~€~~~€~~~€~€~~€~€~~~€}€~€‚~~€~€€~€~€}~€~‚€~€}€€}€~€€~€~€€~~€~‚~~~€‚~€€}~~€~€~~~~€€~€~~€~€€€~€}~€~€€€~~€~~€~~~€€€~€~~}€}€~€~€}}€€~‚~~~~~€~€}~€~€}€~€}~~€~€}€~~€~}~€}~€€‚€~€~€~‚€€‚~€~€~~~~€~~€~~€~~€~€~~~~~€~~€€}€~€~€€}€}~€~€~€~~~€~‚~€~~‚}~€}~~€}€}~~€}€€~€}€~€~€~}€€}€~}~~~€~€~€~~~}€~€~€~€~~~€€~~~€~~€}€~€~€~€€~~€~€~€~€}€~~~~€~€~€~}€~~~~€~~€~~~€€~€€}€~€}€~~€‚~~€~€~~€~€~€~€~~~~€€~~€~€~€~~~€€~€~~}€~€€~€~€~€~€€~€~€~~€~~~€}€~€~€€€~}~~~€~€€~€~~€€~~€}€~€€~€~€}€~~~‚}~€~€~€~~~€€}€~€~€~~€~~€~~€~€~~~€~€€~€~€}€~€~€~}€€~~‚~~}~~€€€~€}~~€~€~~~€€~~€~€€}€€}€~~~€}‚~€}€€}~€~~€}€~€~€}€~~~€}€€~€€~€~~€~~€~€~~€€~~}€~~€~~€~€~€~~€~€~~~~€~€~~~€~}€~€~~€~€~€€€~€~~}~€~€~€~€}~~~}~€}€~€~~‚~€~~€~~€}€~€€~€}€~€~€~~€€€€~€}~€~€€€~€}~€‚€€~~€~€~€€€~~~~~€}‚~€~€~€}~€€~€~~€~€€~€~€€~€~€~}€~€~~€€~~~€€}€~€}~~~€~€€€€~~€~€€~~~~€}€~~€~~~€€€€~€~~~€~€~€~~‚~€~}€~€€‚~~€}}~€~€~~€€~€}~~€}€~~€€~€}€€~€~€}‚~€~~~€~~~€~~~~~}€~€€~€}~~€~€~€~~~€‚~~~~€€~€~€~~€}€~~€}~~€~€€~€~€~~~~€}€~€‚~~‚}~~~€~€€~}€~~~€~€~~~~€€~€~~~€}€~€~€~~~~~~€}€€~~~}€~~€~€~€~€~~~~€~€€€‚~€~~~~~€~€}€~~‚~~~}€}€€~€}~~€~~~€~~€€~€}€~~€€~}€}~€~€€~€}}€~€€~~~€~~€~~€~€~€~~‚€~~€~€~€~~€€}}€€~€€}€~~€~€~~~~~€€~€~€~~€€~€~~~€~~}€~~~€~€€~~~~€~€~~€~~€~€~~}~€€~€~€~€~~~~~€€}€€~€}~~~~€~~€~€€€~€~€~~€~€~~€~~~€~€~€~~~~€~~€~~~~€~~€~€€~€~~€€~~~€~€~~~~~~€€€‚~€~~~€~€~€€~€€~€~€€€~~€~€~~€€~}~€~€~€~€€~€€~€~€~~€~~‚€~€~~~~~~€~~~€~~€€~€~€~}€~~€€€~€~~}€~€~€~~~~€~~€}€€€€~~€~€€~~~~€~~€}€~~€€}~€~€~~€~€€€€€}€~~~€}€€~€~~~~€~€~}~~~€€~}€€~€~€~~~€€€€~€~€~}~€€~€~~€~€~~€~€~~~~€~~€}~€~~€‚€€€€‚~€~€}€~€~~€~~€~~‚€~€}~€~€€€~€}€}~~€~~€~~~€~€~€~~€~€~€~€~€~~~}€€€~€~~}€~‚€€€~€~}€}}~€~€}€~~~€~~~€~~~€~~€~~€~}€~~€~~~€~~}€~€€€~€~~€~€€€~~€~‚~‚~~€~~~}~€~}€~~€~~€€~~€}€~€~€~}€~€€€~€~€~~€~~~€~€}~€€~€~~€~€}€€€~€}~~€}€€~€€}~€€~€~~~~~€€}€~~~~~~~€€€€~~~€~€€~~~~€~~€~€€~€~€}~~~€~€€~€~€~~~~~€€€~€~~~€~€~€~€€~~€~€~~~~€}~€~}€~~}~~€~~€€~~€~~~~€€~€~€~€€~€€~€~}€~~~€}€~€~€~~€~€€€}~€€~€~€~€€}€€~~€~~€~~~~~€~€€}~€~€}€}~€€~€~€~~~€}€~€~€~~€‚~€~~~€~€€~€~€~€~€~‚~€~€~€€~€€~€~~€~€~€€€~€}~}€€~€~€~€€€~€~~~€}€~€~~~€~€€}}~€~€~€}~€€~~~~~€~~€‚~€€~€~~€€€~~~~€~€€~~€~€€€~~~~~€€~}€~~€}€~€€~~~}€~€}€~}€~€€}€~~€~€~~~€€~~€~}~~~€~€}~~~~€€~€~~~€~~€€~}€~€~€~~€~~~€~~€€~~~€~€€~€~~€~€€~€~~€~€€~~~€~~€€~~€~~€~€~~~~€€~€~€~€~~~~€~€~€~~~~€~€€}€€}€~~~~€~~€~€€€}~€~€€€€~}€~€~~€€~€~~~‚~~€€‚~€~~€~€~€~€~€}€~€~€~~~€€‚~€€}€~€~~~~€~€~~~€~~€~}€}€~~~€}€€~€~€€€~€~~~}~€€€}€~~€~€~€~€~~~€}€~~€€}~€~€~~‚€~€~‚}~~€~€~‚€€~~€~~~€~~€~~~~~€€~€}€~€~~~~€~€}€}~~€~~€€~€}€~€€~~~~€~€~~‚~~~€~€}€€~~€~€}~~~€~€~~~~~€~€~~~€~€€~~~~€~€~€~~~~~~~€~~~€}~~€~€€~€€}€~}€~€~~~€}}€€€€~~€~~€~~€€}€~~~€~€~~~€~€~€~~~€~~€~€~€}€€~€~~~~~~€~€~€~~€~€~€€~€€~€~~~€~€€~€~~~€~€~~€~€€€~€~~€~~~~€‚~~~}€}€~€€~€~~~~€}€~~€~~€~€‚~~€}~~€}€~~€€~€~~€‚}€}€}€~€€~€~~}€}€€€€~}€~~€}€~€~~~€~‚~~~~€~€~}€~€€€}€~~}€~~}~€€~}~~~€€~~~~€~€€€€~~~€~€~€~€~€€~€~~€}€~€~~€~~~~~~€€€~€}~~~~€~€}€€~€~€€~€~~€~€}€}€}€}~~€€~~~~€~~€€}€~€~€~~€}€~€~€~~€~~€}~€€~~~}~€€~~~ \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..8523f5c --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,64 @@ +include_directories(${CMAKE_CURRENT_SOURCE_DIR}) + +set(horus_srcs + fsk.c + kiss_fft.c + kiss_fftr.c + mpdecode_core.c + H_256_768_22.c + golay23.c + phi0.c + horus_api.c + horus_l2.c +) + +add_library(horus SHARED ${horus_srcs}) +target_link_libraries(horus m) +set_target_properties(horus PROPERTIES + PUBLIC_HEADER horus_api.h +) +target_include_directories(horus INTERFACE + $ + $ +) +install(TARGETS horus EXPORT horus-config + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/horus +) + +install(EXPORT horus-config + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/horus +) +# Export libhab target for import into build trees of other projects. +export(TARGETS horus + FILE ${CMAKE_BINARY_DIR}/horus.cmake +) + +add_executable(fsk_mod fsk_mod.c) +target_link_libraries(fsk_mod m horus ${CMAKE_REQUIRED_LIBRARIES}) + +add_executable(fsk_demod fsk_demod.c modem_probe.c octave.c) +target_link_libraries(fsk_demod m horus ${CMAKE_REQUIRED_LIBRARIES}) + +add_executable(fsk_get_test_bits fsk_get_test_bits.c) +target_link_libraries(fsk_get_test_bits) + +add_executable(fsk_put_test_bits fsk_put_test_bits.c) +target_link_libraries(fsk_put_test_bits ${CMAKE_REQUIRED_LIBRARIES}) + +add_executable(drs232 drs232.c) +target_link_libraries(drs232 m horus ${CMAKE_REQUIRED_LIBRARIES}) + +add_executable(drs232_ldpc drs232_ldpc.c) +target_link_libraries(drs232_ldpc m horus ${CMAKE_REQUIRED_LIBRARIES}) + +add_definitions(-DINTERLEAVER -DSCRAMBLER -DRUN_TIME_TABLES) +add_executable(horus_gen_test_bits horus_gen_test_bits.c) +target_link_libraries(horus_gen_test_bits m horus) + +add_definitions(-DHORUS_L2_RX -DINTERLEAVER -DSCRAMBLER -DRUN_TIME_TABLES) +add_executable(horus_demod horus_demod.c horus_api.c horus_l2.c golay23.c fsk.c kiss_fft.c) +target_link_libraries(horus_demod m horus ${CMAKE_REQUIRED_LIBRARIES}) + diff --git a/src/H2064_516_sparse.h b/src/H2064_516_sparse.h new file mode 100644 index 0000000..d3d4797 --- /dev/null +++ b/src/H2064_516_sparse.h @@ -0,0 +1,33 @@ +/* + FILE....: ../src/H2064_516_sparse.h + + Static arrays for CML LDPC codec, generated + by test_ldpc_fsk.m:simple_ut(). + +*/ + +#define NUMBERPARITYBITS 516 +#define MAX_ROW_WEIGHT 12 +#define CODELENGTH 2580 +#define NUMBERROWSHCOLS 2064 +#define MAX_COL_WEIGHT 3 +#define DEC_TYPE 0 +#define MAX_ITER 10 + +#include + +uint16_t H_rows[] = { +870, 276, 110, 54, 226, 85, 59, 153, 31, 60, 46, 75, 139, 239, 56, 13, 30, 45, 63, 34, 54, 21, 77, 204, 441, 11, 297, 126, 148, 104, 269, 57, 369, 213, 117, 479, 53, 124, 405, 97, 42, 132, 67, 103, 389, 156, 237, 105, 418, 11, 60, 12, 195, 32, 11, 21, 10, 191, 176, 237, 140, 376, 115, 9, 149, 304, 129, 308, 234, 129, 453, 215, 176, 213, 151, 169, 41, 106, 421, 103, 83, 62, 124, 3, 574, 39, 31, 472, 69, 8, 40, 352, 62, 275, 74, 121, 125, 35, 83, 52, 21, 422, 229, 233, 62, 125, 181, 175, 28, 43, 113, 340, 71, 4, 40, 249, 134, 168, 97, 15, 26, 135, 104, 80, 206, 108, 307, 494, 358, 82, 159, 137, 19, 210, 6, 19, 65, 285, 45, 154, 276, 14, 137, 79, 241, 235, 116, 129, 84, 3, 122, 370, 132, 451, 77, 89, 262, 79, 170, 469, 24, 163, 128, 18, 120, 244, 8, 153, 151, 441, 95, 327, 284, 96, 84, 35, 61, 286, 20, 22, 68, 131, 106, 30, 280, 343, 99, 124, 262, 208, 277, 44, 349, 41, 10, 761, 39, 445, 165, 81, 393, 194, 18, 250, 589, 70, 307, 1, 365, 47, 4, 9, 283, 133, 90, 601, 117, 228, 212, 58, 420, 230, 142, 25, 57, 518, 88, 180, 24, 122, 379, 143, 33, 30, 140, 68, 150, 320, 55, 33, 132, 2, 22, 16, 272, 44, 264, 49, 174, 234, 86, 39, 10, 278, 177, 178, 20, 126, 18, 90, 6, 184, 158, 111, 246, 229, 221, 48, 267, 6, 172, 49, 291, 185, 67, 50, 157, 66, 32, 525, 257, 196, 260, 92, 72, 163, 144, 329, 134, 156, 47, 82, 49, 391, 26, 1, 88, 52, 56, 8, 111, 138, 219, 57, 447, 182, 263, 38, 98, 75, 36, 83, 245, 5, 419, 63, 12, 287, 603, 58, 507, 37, 2, 214, 539, 55, 53, 81, 186, 73, 85, 97, 91, 332, 123, 66, 188, 591, 158, 324, 88, 53, 214, 84, 389, 104, 271, 211, 7, 393, 281, 242, 119, 848, 705, 428, 50, 28, 52, 15, 5, 2, 230, 38, 76, 295, 217, 1, 56, 170, 145, 5, 72, 460, 203, 145, 211, 121, 68, 538, 44, 133, 87, 494, 325, 161, 781, 370, 51, 115, 262, 106, 614, 29, 220, 189, 224, 165, 17, 72, 46, 17, 64, 19, 447, 13, 9, 270, 4, 91, 471, 35, 23, 407, 34, 38, 82, 321, 112, 195, 651, 7, 43, 431, 249, 171, 196, 311, 15, 66, 16, 633, 37, 94, 102, 23, 3, 214, 252, 256, 173, 316, 125, 96, 341, 71, 73, 338, 256, 165, 140, 108, 471, 434, 137, 642, 172, 51, 113, 67, 172, 93, 23, 318, 514, 50, 118, 245, 169, 14, 64, 40, 859, 95, 308, 65, 93, 42, 339, 46, 7, 96, 142, 36, 131, 60, 13, 12, 25, 31, 183, 94, 43, 241, 162, 26, 232, 120, 128, 118, 89, 164, 51, 29, 127, 177, 180, 95, 332, 284, 32, 802, 452, 25, 382, 187, 892, 432, 162, 126, 587, 342, 205, 170, 255, 73, 605, 579, 398, 305, 58, 110, 178, 244, 306, 178, 166, 28, 368, 224, 582, 135, 420, 618, 264, 234, 346, 223, 439, 399, 150, 655, 242, 248, 750, 199, 242, 277, 112, 163, 545, 359, 487, 322, 570, 64, 402, 412, 252, 116, 147, 109, 27, 197, 204, 251, 282, 455, 118, 390, 225, 382, 215, 373, 554, 371, 568, 289, 225, 405, 160, 414, 290, 109, 524, 406, 344, 188, 385, 33, 791, 261, 171, 475, 100, 183, 156, 564, 78, 395, 144, 497, 334, 45, 167, 79, 27, 520, 239, 449, 138, 347, 667, 572, 61, 278, 136, 375, 231, 320, 167, 304, 389, 185, 171, 109, 468, 243, 206, 210, 305, 160, 682, 514, 433, 152, 375, 1064, 48, 522, 139, 98, 191, 557, 127, 189, 372, 54, 515, 406, 370, 950, 549, 352, 319, 27, 489, 440, 636, 941, 153, 102, 268, 120, 190, 719, 451, 175, 539, 477, 279, 474, 17, 232, 221, 476, 174, 415, 545, 357, 368, 149, 94, 409, 218, 76, 87, 136, 114, 245, 596, 408, 335, 246, 511, 560, 438, 298, 351, 91, 22, 813, 108, 546, 248, 218, 629, 212, 223, 569, 611, 93, 399, 185, 427, 260, 20, 111, 354, 187, 150, 702, 316, 666, 541, 227, 558, 486, 207, 450, 224, 568, 222, 341, 81, 222, 386, 441, 484, 159, 289, 142, 372, 534, 157, 78, 337, 522, 70, 293, 318, 161, 325, 74, 194, 797, 130, 128, 70, 386, 657, 611, 105, 456, 230, 100, 61, 274, 358, 135, 249, 236, 247, 264, 279, 123, 345, 59, 397, 645, 448, 80, 192, 149, 190, 564, 292, 508, 359, 202, 152, 459, 200, 446, 293, 512, 103, 154, 229, 492, 145, 256, 828, 55, 296, 133, 147, 314, 220, 190, 481, 208, 290, 198, 146, 100, 202, 259, 295, 16, 505, 251, 86, 375, 618, 266, 891, 166, 159, 269, 850, 127, 397, 759, 494, 141, 567, 339, 119, 336, 162, 98, 265, 770, 423, 380, 346, 116, 402, 101, 628, 623, 286, 309, 107, 453, 406, 496, 200, 865, 720, 429, 187, 107, 609, 439, 90, 48, 330, 59, 87, 632, 323, 219, 101, 865, 203, 14, 74, 466, 462, 160, 448, 168, 474, 980, 396, 148, 244, 904, 438, 198, 982, 601, 199, 119, 300, 240, 702, 241, 258, 192, 291, 227, 34, 698, 78, 107, 123, 89, 704, 114, 274, 461, 151, 115, 576, 323, 201, 468, 271, 231, 92, 592, 220, 909, 829, 243, 480, 466, 345, 763, 404, 356, 86, 110, 210, 688, 353, 271, 740, 226, 352, 247, 288, 758, 338, 426, 235, 405, 625, 155, 146, 475, 491, 189, 177, 216, 962, 503, 216, 726, 381, 219, 183, 102, 332, 113, 155, 440, 922, 450, 379, 294, 301, 36, 80, 75, 875, 462, 547, 69, 330, 186, 527, 92, 138, 157, 169, 69, 143, 401, 24, 283, 41, 37, 472, 309, 117, 747, 342, 251, 300, 182, 216, 202, 266, 192, 217, 302, 660, 360, 663, 130, 355, 367, 47, 1103, 519, 811, 586, 488, 983, 652, 303, 201, 759, 860, 416, 585, 268, 428, 928, 819, 821, 379, 340, 493, 260, 752, 599, 314, 182, 444, 612, 369, 692, 311, 523, 622, 335, 259, 499, 225, 526, 409, 188, 709, 356, 606, 777, 222, 541, 327, 201, 176, 551, 544, 1008, 372, 628, 181, 523, 549, 476, 464, 240, 593, 181, 254, 223, 305, 285, 595, 217, 887, 550, 552, 278, 381, 621, 517, 953, 538, 265, 581, 313, 540, 366, 626, 647, 511, 467, 508, 890, 63, 976, 275, 312, 885, 598, 254, 180, 687, 196, 398, 146, 675, 380, 101, 443, 122, 85, 531, 347, 463, 167, 536, 724, 710, 288, 351, 232, 387, 424, 650, 363, 544, 540, 248, 279, 121, 479, 267, 218, 445, 485, 240, 737, 692, 1017, 331, 716, 1130, 207, 602, 274, 750, 261, 572, 131, 435, 672, 253, 729, 542, 739, 1062, 731, 619, 328, 65, 769, 502, 898, 966, 158, 211, 289, 193, 314, 784, 533, 396, 567, 497, 280, 696, 348, 290, 383, 636, 526, 470, 622, 541, 411, 286, 378, 561, 374, 194, 349, 166, 143, 390, 697, 533, 570, 304, 615, 709, 476, 679, 454, 287, 114, 904, 535, 786, 270, 308, 828, 302, 506, 732, 626, 533, 584, 186, 456, 495, 350, 317, 672, 343, 315, 919, 367, 820, 548, 296, 614, 635, 209, 543, 350, 733, 239, 376, 287, 344, 470, 563, 607, 319, 323, 473, 428, 677, 212, 263, 386, 567, 435, 328, 616, 255, 729, 147, 320, 855, 267, 426, 261, 458, 977, 670, 173, 478, 366, 112, 71, 419, 968, 139, 606, 292, 275, 463, 344, 671, 810, 77, 465, 755, 579, 179, 353, 357, 442, 599, 354, 805, 453, 407, 193, 510, 285, 513, 583, 645, 325, 173, 621, 573, 423, 479, 912, 130, 300, 227, 184, 391, 293, 204, 673, 282, 371, 324, 313, 228, 334, 343, 655, 42, 532, 559, 658, 484, 921, 373, 944, 329, 184, 302, 861, 205, 414, 771, 606, 312, 652, 503, 413, 415, 238, 449, 781, 874, 586, 544, 402, 468, 525, 155, 845, 714, 295, 564, 197, 509, 863, 640, 209, 986, 808, 691, 317, 355, 789, 779, 281, 141, 594, 336, 105, 682, 360, 299, 559, 876, 608, 315, 401, 632, 480, 161, 577, 284, 657, 1012, 481, 330, 388, 1011, 524, 423, 1019, 812, 416, 168, 322, 258, 710, 703, 1027, 195, 447, 259, 633, 990, 710, 215, 410, 458, 760, 174, 312, 605, 269, 206, 617, 534, 554, 497, 296, 393, 236, 784, 483, 1189, 892, 602, 788, 709, 382, 831, 537, 695, 99, 563, 424, 759, 432, 281, 795, 319, 422, 684, 331, 866, 377, 638, 247, 501, 711, 463, 475, 631, 507, 310, 298, 252, 1059, 757, 364, 785, 410, 233, 411, 236, 487, 339, 341, 473, 1022, 527, 515, 700, 380, 388, 414, 253, 913, 466, 773, 238, 638, 335, 896, 298, 310, 658, 461, 207, 205, 550, 29, 425, 141, 76, 649, 442, 322, 832, 730, 307, 385, 401, 268, 301, 311, 306, 291, 364, 864, 560, 840, 199, 358, 385, 179, 1142, 520, 986, 600, 712, 1018, 661, 365, 237, 769, 953, 517, 605, 396, 459, 991, 867, 899, 415, 700, 556, 324, 788, 639, 778, 226, 743, 685, 706, 883, 362, 970, 785, 387, 376, 734, 392, 730, 448, 250, 731, 387, 665, 1015, 243, 812, 391, 795, 346, 588, 737, 1077, 874, 933, 412, 817, 585, 550, 491, 273, 640, 208, 542, 338, 436, 895, 694, 257, 899, 583, 629, 327, 815, 744, 573, 1226, 727, 272, 607, 331, 1050, 594, 754, 716, 515, 524, 695, 1086, 297, 1177, 400, 678, 1004, 648, 294, 555, 780, 316, 486, 689, 679, 430, 136, 717, 233, 400, 646, 383, 530, 263, 574, 749, 790, 336, 377, 409, 609, 499, 686, 518, 595, 601, 334, 531, 197, 485, 348, 424, 701, 579, 500, 1147, 797, 1085, 404, 738, 1200, 253, 714, 427, 756, 303, 610, 313, 1399, 770, 455, 732, 796, 824, 1230, 927, 929, 397, 276, 794, 741, 957, 1052, 1002, 213, 392, 566, 461, 832, 798, 433, 590, 723, 718, 755, 878, 446, 615, 669, 776, 608, 659, 565, 443, 457, 407, 577, 631, 255, 365, 399, 152, 766, 814, 556, 640, 1137, 1000, 767, 745, 733, 1194, 529, 238, 1034, 789, 1314, 436, 493, 853, 492, 654, 809, 885, 636, 596, 270, 848, 774, 364, 512, 832, 411, 516, 927, 700, 857, 588, 703, 756, 758, 315, 574, 810, 885, 416, 600, 690, 417, 501, 626, 707, 581, 377, 916, 660, 808, 587, 265, 395, 613, 906, 381, 661, 310, 799, 148, 632, 941, 750, 578, 277, 1065, 1242, 1018, 326, 551, 459, 134, 99, 510, 1097, 198, 673, 531, 450, 697, 394, 749, 948, 193, 664, 965, 818, 454, 419, 556, 721, 742, 473, 886, 647, 694, 209, 906, 433, 674, 620, 666, 464, 446, 634, 728, 430, 630, 990, 435, 371, 534, 394, 467, 928, 326, 723, 490, 816, 699, 490, 530, 384, 361, 772, 374, 554, 619, 672, 613, 924, 677, 1079, 404, 367, 337, 898, 228, 418, 844, 766, 317, 680, 690, 566, 680, 333, 726, 960, 942, 637, 607, 452, 664, 698, 235, 942, 736, 368, 584, 362, 650, 871, 683, 328, 1141, 988, 715, 915, 495, 1084, 919, 613, 179, 888, 355, 144, 1243, 655, 551, 582, 993, 730, 340, 548, 774, 643, 469, 651, 392, 843, 1196, 590, 573, 545, 1211, 593, 439, 1027, 869, 586, 442, 762, 502, 758, 822, 1048, 254, 628, 417, 683, 996, 752, 384, 725, 676, 842, 360, 374, 688, 353, 549, 661, 648, 584, 624, 348, 530, 250, 1135, 667, 1298, 1033, 623, 1102, 715, 594, 888, 871, 833, 321, 634, 491, 766, 505, 297, 1024, 388, 460, 707, 735, 1023, 444, 1098, 629, 505, 807, 581, 543, 687, 598, 337, 434, 806, 1111, 761, 521, 826, 547, 257, 434, 412, 688, 577, 363, 839, 1187, 1306, 648, 808, 504, 760, 429, 309, 916, 503, 777, 403, 1076, 512, 1127, 592, 351, 692, 711, 474, 587, 558, 487, 498, 326, 164, 902, 456, 471, 836, 748, 469, 480, 537, 553, 507, 347, 490, 498, 420, 1010, 598, 1022, 283, 362, 958, 553, 1156, 712, 1108, 718, 753, 1067, 681, 398, 483, 903, 956, 698, 612, 578, 489, 1294, 990, 920, 592, 1113, 862, 464, 1435, 835, 788, 280, 957, 795, 743, 1108, 425, 1026, 879, 488, 701, 931, 610, 741, 1061, 282, 830, 413, 983, 1159, 1067, 1071, 437, 843, 506, 610, 890, 1133, 1034, 954, 452, 925, 785, 836, 620, 597, 722, 258, 858, 342, 455, 927, 706, 299, 1104, 660, 811, 333, 1173, 878, 858, 1336, 816, 457, 948, 563, 1054, 678, 764, 733, 565, 555, 873, 1150, 485, 1303, 496, 796, 1218, 823, 634, 624, 878, 686, 684, 879, 1100, 454, 154, 1002, 357, 822, 676, 740, 578, 350, 1124, 834, 876, 500, 486, 426, 663, 529, 947, 656, 621, 823, 361, 615, 421, 585, 417, 538, 707, 656, 861, 1236, 831, 1087, 508, 768, 1269, 292, 786, 478, 1043, 593, 765, 408, 1439, 806, 528, 801, 912, 882, 1348, 1050, 1077, 528, 349, 996, 799, 976, 1265, 1100, 674, 470, 617, 540, 847, 862, 457, 757, 841, 973, 921, 969, 539, 646, 699, 959, 654, 670, 787, 872, 559, 744, 1276, 666, 273, 569, 833, 191, 775, 896, 576, 935, 1231, 1046, 923, 804, 949, 1201, 572, 303, 1162, 827, 1346, 897, 612, 937, 599, 675, 992, 930, 644, 1151, 301, 1103, 1086, 482, 831, 1130, 472, 753, 1007, 852, 1054, 635, 705, 955, 823, 425, 596, 962, 908, 445, 880, 867, 478, 509, 653, 775, 591, 510, 1055, 798, 1021, 740, 294, 427, 679, 973, 484, 686, 369, 836, 410, 802, 1245, 883, 649, 431, 1102, 1267, 1262, 557, 1092, 837, 164, 881, 726, 1120, 273, 697, 1097, 609, 708, 663, 838, 985, 552, 968, 1042, 1044, 483, 520, 691, 736, 756, 521, 895, 779, 914, 266, 1356, 548, 742, 964, 888, 481, 877, 685, 791, 437, 696, 991, 825, 643, 708, 969, 683, 1080, 1001, 1012, 617, 1030, 734, 792, 1069, 504, 394, 864, 595, 676, 782, 695, 837, 1154, 819, 1104, 437, 413, 383, 913, 627, 624, 987, 1394, 449, 839, 825, 1054, 1180, 378, 1211, 1090, 1114, 804, 897, 558, 1032, 746, 246, 1051, 870, 958, 725, 536, 702, 1035, 971, 356, 1195, 1061, 827, 1090, 526, 1092, 1250, 1025, 231, 947, 659, 272, 1284, 802, 826, 902, 1040, 870, 345, 658, 822, 715, 1012, 872, 575, 945, 1232, 805, 720, 580, 1215, 854, 603, 1074, 1056, 991, 528, 1218, 642, 1060, 1010, 1203, 288, 978, 884, 762, 1118, 763, 430, 786, 922, 928, 886, 529, 706, 403, 1104, 693, 868, 815, 670, 366, 546, 378, 1151, 901, 1522, 1107, 671, 1333, 745, 724, 1230, 1073, 911, 429, 646, 611, 889, 746, 403, 1032, 616, 637, 1382, 767, 1083, 451, 1212, 803, 1318, 849, 662, 955, 712, 971, 571, 496, 977, 1145, 1160, 931, 830, 580, 359, 805, 668, 770, 771, 390, 882, 1329, 1572, 851, 829, 535, 944, 535, 373, 930, 669, 828, 565, 1219, 620, 1308, 793, 361, 938, 859, 482, 946, 1186, 742, 591, 846, 221, 906, 641, 631, 1068, 780, 536, 517, 844, 652, 721, 552, 523, 627, 525, 1186, 944, 1039, 794, 498, 1076, 654, 1167, 856, 1264, 890, 768, 1225, 691, 729, 543, 936, 1016, 1210, 656, 604, 608, 1324, 1035, 1095, 639, 1311, 1281, 877, 1519, 923, 974, 431, 1057, 903, 809, 1137, 569, 1243, 1118, 880, 720, 1102, 1168, 821, 1193, 432, 999, 555, 1013, 1375, 1200, 1080, 495, 982, 519, 630, 1066, 1164, 1091, 1006, 1039, 943, 1195, 1103, 665, 894, 908, 329, 1081, 951, 641, 1060, 793, 719, 1232, 713, 847, 395, 1213, 1038, 1041, 1587, 984, 752, 1125, 929, 1095, 988, 940, 845, 603, 623, 875, 1158, 772, 1503, 506, 816, 1500, 1007, 638, 633, 936, 703, 704, 1173, 1171, 724, 175, 1051, 604, 1174, 682, 819, 854, 384, 1196, 1249, 1029, 509, 504, 537, 722, 571, 1121, 739, 838, 1027, 363, 743, 570, 818, 546, 721, 736, 842, 905, 1372, 932, 1178, 863, 840, 1334, 299, 855, 499, 1293, 1202, 1061, 689, 1516, 866, 614, 862, 955, 981, 1511, 1153, 1256, 768, 501, 1044, 1282, 985, 1455, 1235, 711, 1001, 627, 641, 889, 914, 644, 877, 913, 1149, 1138, 1188, 557, 871, 787, 1015, 727, 731, 868, 892, 560, 778, 1331, 1025, 318, 619, 864, 203, 911, 1052, 705, 1079, 1461, 1090, 994, 1023, 1050, 1535, 625, 999, 1344, 933, 1498, 1045, 939, 1249, 650, 910, 1294, 951, 649, 1163, 418, 1133, 1089, 493, 1116, 1309, 561, 857, 1073, 1112, 1223, 909, 807, 989, 1053, 997, 813, 976, 1074, 527, 1070, 966, 775, 511, 1004, 800, 717, 933, 1120, 900, 1389, 922, 684, 440, 704, 1106, 668, 767, 757, 847, 936, 835, 1293, 893, 895, 647, 1269, 1480, 1304, 782, 1166, 952, 566, 1124, 846, 1203, 354, 893, 1200, 952, 792, 667, 1164, 1003, 718, 1002, 1139, 1163, 1096, 685, 769, 1003, 977, 532, 1128, 905, 926, 443, 1405, 576, 835, 1116, 1145, 562, 1063, 737, 883, 639, 790, 1021, 967, 772, 995, 1165, 754, 1422, 1583, 1075, 997, 1082, 748, 827, 1197, 516, 465, 1451, 645, 879, 809, 739, 855, 1155, 948, 1117, 460, 465, 791, 1098, 693, 673, 1087, 1400, 532, 910, 829, 1171, 1214, 400, 1221, 1603, 1323, 834, 965, 787, 1045, 918, 589, 1074, 1171, 1116, 744, 905, 931, 1176, 1005, 589, 1238, 1107, 972, 1115, 600, 1181, 1609, 1105, 521, 1158, 1049, 306, 1389, 804, 963, 971, 1199, 917, 716, 668, 973, 998, 1174, 903, 590, 1130, 1472, 841, 811, 597, 1399, 956, 719, 1301, 1083, 1044, 622, 1446, 1097, 1206, 1119, 1345, 604, 1324, 920, 1129, 1340, 798, 444, 980, 997, 1232, 1087, 884, 1093, 422, 1135, 909, 1026, 1055, 824, 462, 678, 945, 1234, 1149, 1542, 1177, 675, 1421, 779, 1013, 1486, 1388, 1191, 514, 1219, 760, 974, 773, 477, 1190, 784, 674, 1428, 778, 1257, 477, 1252, 901, 1352, 1037, 1224, 970, 813, 1009, 1162, 519, 1088, 1157, 1409, 1182, 1089, 755, 438, 1076, 725, 869, 900, 436, 1148, 1421, 1588, 956, 978, 749, 950, 932, 516, 1046, 814, 865, 588, 1303, 713, 1614, 1024, 421, 959, 897, 518, 987, 1275, 765, 887, 893, 333, 925, 732, 635, 1169, 910, 1434, 575, 959, 653, 850, 728, 583, 1093, 542, 1316, 1031, 1059, 1122, 642, 1121, 891, 1209, 925, 1299, 896, 932, 1288, 934, 984, 580, 1113, 1413, 1224, 964, 643, 773, 1337, 1663, 1341, 657, 1357, 1473, 1292, 1551, 970, 1209, 792, 1339, 1141, 1140, 1320, 616, 1383, 1126, 980, 1014, 1146, 1245, 859, 1298, 513, 1182, 662, 1014, 1562, 1297, 1151, 502, 1139, 874, 1259, 1645, 1169, 1242, 1072, 1412, 1115, 1275, 1466, 1239, 1038, 1184, 458, 1094, 1440, 810, 1352, 1339, 830, 1354, 801, 848, 671, 1300, 1147, 1047, 1625, 1117, 1046, 1327, 1047, 1237, 1101, 1018, 1016, 745, 1066, 1132, 1221, 841, 1512, 522, 853, 1535, 1248, 975, 694, 1143, 824, 1009, 1185, 1288, 908, 200, 1308, 904, 1665, 687, 843, 943, 1199, 1198, 1379, 1168, 571, 789, 630, 846, 602, 1342, 1350, 995, 1114, 408, 1043, 1304, 945, 751, 793, 741, 1072, 1006, 1401, 1331, 1296, 1152, 856, 1337, 321, 881, 937, 1318, 1535, 1560, 806, 1696, 924, 625, 994, 1058, 996, 1649, 1183, 1442, 1118, 901, 1094, 1408, 1016, 1653, 1259, 800, 1317, 677, 815, 894, 1017, 1278, 957, 1109, 1284, 1321, 1220, 947, 1383, 860, 1220, 783, 873, 979, 1025, 1228, 1007, 1417, 1231, 735, 783, 872, 492, 1028, 1244, 852, 1144, 1645, 1172, 1088, 1110, 1204, 1622, 738, 1146, 1513, 1106, 1564, 1079, 1021, 1436, 776, 917, 1467, 1051, 814, 1217, 812, 1174, 1271, 863, 1187, 1461, 644, 1308, 1154, 1263, 1225, 1121, 867, 1110, 1157, 1139, 989, 1033, 1270, 1163, 1170, 1037, 880, 803, 1098, 807, 968, 1446, 1235, 1064, 1547, 979, 842, 500, 838, 1398, 939, 916, 953, 920, 946, 851, 1428, 1210, 960, 762, 1456, 1519, 1384, 898, 1361, 995, 1100, 1508, 856, 1284, 553, 1330, 1249, 1258, 1020, 764, 1165, 1179, 1047, 1056, 1285, 1266, 1286, 853, 1397, 1515, 987, 547, 1296, 1215, 965, 489, 1444, 800, 849, 1300, 1242, 662, 1085, 818, 918, 748, 954, 1024, 1022, 954, 1109, 1218, 821, 1431, 1587, 1315, 1081, 1140, 754, 943, 1371, 1003, 840, 1475, 722, 1081, 1033, 1216, 1254, 1175, 1122, 1203, 728, 488, 1189, 1377, 1136, 907, 1267, 1416, 751, 1169, 1101, 1289, 1241, 597, 1322, 1625, 1332, 961, 985, 915, 1128, 1069, 764, 1175, 1177, 1156, 889, 1075, 1088, 1251, 1031, 738, 1523, 1229, 994, 1489, 637, 1185, 1651, 1112, 680, 1608, 1197, 513, 1538, 978, 1040, 1000, 1432, 1030, 887, 833, 1057, 1094, 1565, 1190, 696, 1178, 1556, 1045, 1307, 1294, 1436, 1096, 747, 1485, 1128, 1430, 664, 1653, 1180, 1597, 1167, 1452, 776, 1341, 1305, 1142, 1418, 849, 562, 1247, 998, 1391, 1161, 941, 1387, 912, 1149, 1078, 1029, 1141, 1197, 582, 701, 961, 1423, 1195, 1674, 1205, 964, 1633, 929, 1127, 1571, 1581, 1291, 681, 1272, 781, 981, 783, 765, 1295, 974, 1015, 1516, 873, 1324, 482, 1262, 1371, 1648, 1101, 1240, 1115, 837, 1048, 1301, 763, 1260, 1229, 1426, 1316, 1208, 963, 1083, 1125, 992, 882, 1034, 467, 1176, 1429, 1610, 1452, 1376, 753, 1184, 1239, 777, 1291, 1264, 1223, 659, 1378, 797, 1632, 1071, 575, 1099, 926, 801, 1042, 1322, 1111, 1234, 1112, 979, 962, 993, 713, 1271, 1008, 1533, 653, 999, 746, 876, 751, 1123, 1319, 693, 1354, 1209, 1207, 1159, 1250, 1192, 1385, 1350, 952, 1543, 1020, 1067, 1632, 1119, 1635, 1165, 1161, 1483, 1347, 983, 669, 796, 1412, 1684, 1374, 886, 1468, 1479, 1594, 1781, 1113, 1274, 969, 1343, 1403, 1261, 1440, 681, 1424, 1216, 1207, 1210, 1172, 1325, 935, 1414, 1123, 1287, 1158, 1032, 1589, 1554, 1326, 562, 1313, 949, 1296, 1760, 1260, 1552, 1129, 1422, 1258, 1542, 1525, 1253, 1089, 1255, 1131, 1220, 1652, 869, 1410, 1351, 1266, 1518, 868, 884, 1302, 1486, 1362, 1185, 1652, 1172, 1205, 1388, 1479, 1270, 1224, 1297, 1138, 817, 1170, 1214, 1240, 1153, 1551, 817, 915, 1553, 1319, 1496, 717, 1194, 850, 1091, 1256, 1541, 1039, 561, 1358, 938, 1707, 1557, 1368, 1160, 1342, 1404, 1515, 1435, 727, 790, 1396, 854, 891, 1783, 1365, 1271, 1183, 1400, 1205, 1367, 1068, 794, 1006, 803, 1485, 1164, 1422, 1502, 1334, 1359, 1215, 1698, 1042, 1204, 1028, 1458, 1550, 1600, 1111, 1700, 1132, 992, 1134, 1430, 1049, 1731, 1323, 1555, 1228, 1456, 1099, 1545, 1091, 1685, 1445, 857, 1612, 735, 1126, 946, 1168, 1399, 1222, 1192, 1373, 1575, 1317, 1073, 1506, 1143, 1440, 1438, 1263, 1105, 1327, 1256, 1126, 1619, 1265, 924, 961, 1023, 866, 1070, 1437, 1132, 1487, 1675, 1333, 1423, 1182, 1295, 1683, 939, 1154, 1617, 1212, 1665, 1414, 1107, 1534, 1282, 1402, 1485, 1096, 1059, 1495, 981, 1235, 1381, 1017, 1240, 1534, 875, 1561, 1279, 1354, 1353, 1396, 1243, 1547, 1356, 1166, 1181, 1343, 1285, 1247, 1255, 1357, 975, 919, 1318, 988, 1477, 1521, 1358, 1206, 1549, 1146, 1117, 1305, 1019, 1406, 982, 942, 1014, 1075, 1004, 860, 1512, 1241, 1053, 858, 1620, 1527, 1415, 1251, 1497, 1108, 1166, 1667, 967, 1434, 665, 1335, 1313, 1406, 1283, 902, 1362, 1358, 1501, 1222, 1427, 1280, 1309, 984, 1647, 1573, 1449, 618, 1328, 1310, 1120, 844, 1739, 1424, 1246, 1474, 1561, 699, 1277, 826, 1386, 1257, 1227, 1056, 1189, 975, 1125, 1329, 917, 1464, 1784, 1405, 1152, 1153, 935, 1092, 1464, 1040, 907, 1592, 1428, 1136, 1063, 1420, 1390, 1251, 1217, 1268, 1143, 708, 1603, 1407, 1160, 1207, 1340, 1488, 998, 1315, 1344, 1300, 1365, 1134, 1401, 1629, 1366, 1008, 1013, 1211, 1179, 1188, 825, 1262, 1393, 1469, 1173, 1077, 1248, 1417, 1095, 907, 1654, 1320, 1065, 1598, 799, 1601, 1656, 1190, 714, 1754, 1595, 651, 1647, 1063, 1397, 1157, 1481, 1237, 1060, 1482, 1287, 1192, 1618, 1394, 1259, 1558, 1635, 1162, 1377, 1803, 1492, 1476, 774, 1626, 1420, 1504, 689, 1687, 1372, 1616, 1199, 1471, 934, 1342, 1351, 1261, 1442, 923, 723, 1361, 1084, 1450, 1233, 1011, 1389, 1338, 1186, 1340, 1110, 1327, 1225, 690, 1483, 1064, 1443, 1258, 1697, 1213, 966, 1687, 1161, 1314, 1605, 1877, 1477, 747, 1280, 1028, 1138, 820, 782, 1560, 1038, 1592, 1517, 894, 1586, 568, 1276, 1379, 1753, 1230, 1749, 1122, 1458, 1080, 1526, 1411, 1309, 1332, 1430, 1381, 1255, 1648, 1248, 1267, 1459, 914, 1085, 1184, 1180, 1459, 1629, 1463, 1378, 845, 1343, 1415, 1037, 1292, 1336, 1431, 734, 1426, 1193, 1688, 1279, 940, 1313, 1036, 1155, 1099, 1406, 1490, 1326, 1556, 1069, 1005, 1142, 1010, 1273, 1312, 1546, 761, 1624, 1065, 921, 1055, 1134, 1518, 839, 1435, 1234, 1244, 1238, 1297, 1254, 1494, 1484, 1145, 1604, 1404, 1289, 1645, 1131, 1658, 1198, 1392, 1557, 1667, 1082, 972, 918, 1432, 1701, 1637, 1312, 1579, 1680, 1864, 1825, 1194, 1457, 1370, 1411, 1479, 1398, 1510, 1049, 1447, 1576, 1252, 1290, 1360, 1679, 1070, 1506, 1699, 1359, 1204, 1222, 1818, 1596, 1363, 834, 1383, 1513, 1499, 1766, 1646, 1629, 1328, 1423, 1460, 1640, 1923, 1302, 1216, 1364, 1369, 1233, 1739, 1031, 1624, 1505, 1434, 1630, 1451, 1196, 1548, 1527, 1454, 1520, 1707, 1407, 1467, 1561, 1604, 1319, 1543, 1456, 1374, 881, 1453, 1323, 1735, 1246, 1660, 1381, 1188, 1709, 1391, 1532, 771, 1264, 851, 1219, 1322, 1639, 1144, 960, 1615, 1136, 1732, 1690, 1371, 1433, 1377, 1459, 1571, 1447, 1058, 1245, 1451, 1053, 949, 1894, 1531, 1305, 1253, 1493, 1303, 1380, 1581, 1330, 1082, 1036, 1541, 1520, 1437, 1585, 1359, 1425, 1410, 1857, 1465, 1239, 1208, 1585, 1642, 1807, 1743, 1710, 1167, 1135, 1465, 1513, 1175, 1759, 1524, 1655, 1348, 1471, 1150, 1581, 1917, 1694, 1545, 911, 1622, 852, 1348, 1191, 1261, 1410, 1491, 1237, 1401, 1822, 1325, 1457, 1668, 1236, 1449, 1698, 1270, 1392, 1418, 1486, 1133, 1797, 1503, 1041, 1198, 1392, 1041, 1632, 1621, 1311, 1638, 1832, 1364, 1452, 1499, 1472, 1913, 1295, 1208, 1766, 1369, 1780, 1541, 1462, 1545, 1336, 1569, 1693, 1385, 1276, 1547, 1266, 1338, 1505, 1029, 1493, 1670, 958, 1572, 1607, 1446, 1634, 1530, 1414, 1704, 1552, 1441, 1653, 1480, 1310, 1712, 1347, 1403, 1408, 951, 1360, 1213, 1562, 1710, 1419, 1528, 1589, 1443, 1345, 1636, 1071, 1637, 1026, 1644, 1030, 1638, 1221, 1119, 1570, 1712, 1253, 989, 1742, 1790, 1537, 1619, 1508, 1150, 1326, 1926, 1470, 1702, 940, 1733, 1362, 1429, 1299, 938, 1606, 1453, 1568, 1335, 1738, 1564, 1312, 1275, 1718, 1575, 1528, 937, 1491, 1415, 1179, 900, 1843, 1471, 1345, 1536, 1573, 930, 1301, 1020, 1482, 1412, 1274, 1105, 1347, 1344, 1764, 1729, 1062, 1563, 1843, 1532, 1228, 1302, 1273, 1397, 1591, 1391, 1052, 1662, 1470, 1181, 1425, 1427, 1578, 1263, 1395, 1292, 1317, 899, 1808, 1539, 1650, 1231, 1376, 1515, 1001, 1330, 1603, 1331, 1419, 1369, 1444, 1709, 1374, 1068, 1019, 1306, 1298, 1293, 1011, 1831, 1502, 1590, 1238, 1148, 1269, 1555, 1114, 1036, 1740, 1325, 1405, 1670, 1062, 1773, 1688, 1335, 1476, 1827, 1723, 820, 1748, 1072, 1536, 1398, 1732, 1587, 1400, 1529, 1355, 1304, 1651, 1722, 1268, 1673, 1800, 1178, 1503, 1847, 1656, 1497, 1595, 1689, 1576, 1740, 963, 1822, 1393, 1743, 1246, 1499, 1106, 1356, 1387, 1367, 1745, 1009, 780, 1458, 1206, 1673, 1250, 1662, 1611, 1555, 1193, 1353, 1597, 1559, 1445, 1187, 1677, 1155, 1464, 1497, 1713, 1357, 1450, 1696, 1257, 1339, 1685, 1894, 1615, 1733, 1315, 1364, 1363, 1418, 1123, 1738, 1445, 1620, 1660, 1156, 1599, 926, 1507, 1640, 1763, 1289, 1791, 1648, 1601, 1321, 1544, 1577, 1683, 1376, 1543, 1540, 1361, 1666, 1273, 1433, 1504, 993, 1265, 1288, 1454, 1482, 1736, 1481, 1439, 1286, 1467, 1461, 1474, 1510, 1489, 1681, 934, 1643, 1606, 1791, 1491, 1341, 1429, 1127, 1227, 1299, 1600, 1904, 1395, 1588, 1084, 1057, 1183, 1252, 1283, 1478, 1611, 1320, 1851, 1355, 1223, 1147, 1403, 1576, 1035, 1460, 1260, 1641, 1538, 1368, 1475, 1511, 1672, 1329, 1764, 1426, 1353, 1691, 1214, 1915, 1247, 1538, 1658, 1716, 1689, 1000, 986, 1884, 1975, 1730, 1899, 1623, 1834, 1981, 1952, 1473, 1490, 1529, 1557, 1748, 1544, 1617, 1720, 1690, 1667, 1630, 1641, 1678, 1750, 1367, 1525, 1786, 1447, 1395, 1390, 1826, 1598, 1427, 861, 1582, 1658, 1878, 1768, 1651, 1699, 1532, 1498, 1529, 1765, 1939, 1384, 1723, 1872, 1758, 1438, 1742, 1093, 1657, 1759, 1650, 1634, 1519, 1290, 1569, 1573, 1591, 1643, 1928, 1411, 1786, 1582, 1661, 1521, 1657, 1609, 1633, 972, 1468, 1644, 1776, 1388, 1692, 1409, 1278, 1812, 1631, 1873, 1310, 1272, 1109, 1333, 1522, 1722, 1612, 1048, 1741, 1674, 1755, 1711, 1568, 1437, 1484, 1567, 1746, 1583, 1148, 1307, 1570, 1314, 950, 1906, 1654, 1379, 1494, 1518, 1455, 1393, 1703, 1390, 1606, 1226, 1669, 1580, 1692, 1719, 1366, 1438, 1433, 1982, 1514, 1676, 1609, 1742, 1690, 1819, 1763, 1730, 1321, 1566, 2031, 1680, 1741, 1839, 1762, 1925, 1536, 1524, 1283, 1723, 1924, 1706, 1558, 1375, 1758, 1417, 1691, 1350, 1727, 1475, 1537, 1457, 1506, 1917, 1386, 1695, 1753, 1355, 1756, 1775, 1613, 1563, 1425, 1488, 1176, 1827, 1556, 1131, 1349, 1448, 1281, 1749, 1664, 1572, 1744, 1860, 1813, 1762, 1642, 1689, 1928, 1570, 1878, 1890, 1739, 1809, 1799, 1663, 1591, 1495, 1695, 1762, 1580, 1306, 1879, 1462, 1413, 1637, 1078, 1567, 1785, 1078, 1659, 1801, 1530, 1769, 1579, 1549, 1747, 1682, 1796, 1668, 1727, 1822, 1836, 1378, 1551, 1501, 1810, 1478, 1278, 1574, 1764, 1533, 1627, 1714, 1489, 1480, 1726, 1584, 1643, 1387, 1655, 1058, 1720, 1370, 1595, 1795, 1832, 1843, 1212, 1871, 1840, 1886, 1831, 1720, 1272, 1765, 1956, 1496, 1855, 1144, 1830, 1404, 1593, 1507, 967, 1768, 1671, 1842, 1469, 1829, 1593, 1621, 1516, 1763, 1612, 1982, 1124, 1613, 1715, 1375, 1311, 1844, 1509, 1448, 1542, 1660, 1005, 1490, 1408, 1620, 1707, 1277, 1568, 1373, 1887, 1827, 1778, 1510, 1782, 1886, 1537, 1424, 1402, 1282, 1496, 1681, 1649, 1286, 1858, 1566, 1622, 1972, 1562, 1868, 1316, 1754, 1725, 1559, 1086, 1873, 1594, 1792, 1351, 1579, 1889, 1043, 1380, 1789, 1588, 1481, 1487, 1650, 1717, 1602, 1413, 1226, 1370, 1368, 1346, 1493, 1902, 1554, 1713, 1564, 1244, 1432, 1597, 1328, 1285, 1828, 1484, 1466, 1719, 1550, 1909, 1854, 1582, 1596, 1903, 1751, 1530, 1905, 1227, 1771, 1605, 1807, 1777, 1738, 1592, 1460, 1507, 1708, 1745, 1385, 1686, 1869, 1277, 1517, 1867, 1776, 1846, 1809, 1803, 1674, 1748, 1191, 1837, 1420, 1754, 1274, 1644, 1201, 1366, 1450, 1402, 1757, 1140, 1500, 1465, 1509, 1793, 1352, 1804, 1702, 1560, 1431, 1549, 1679, 1769, 1615, 1229, 1740, 1775, 1534, 1498, 1757, 1416, 1567, 1711, 1360, 1472, 1705, 1923, 1782, 1746, 1767, 1575, 1531, 1628, 1772, 1868, 1771, 1628, 1719, 1287, 1623, 1900, 1709, 1703, 1840, 1382, 1841, 1808, 1860, 1788, 1652, 1687, 1810, 1488, 1661, 1867, 1476, 1785, 1646, 1468, 1611, 1159, 1492, 1291, 1463, 1716, 1778, 1669, 1448, 1539, 1633, 1511, 1523, 1672, 1821, 1718, 1349, 1875, 1659, 1835, 1558, 1520, 1670, 1639, 1540, 1885, 1779, 1972, 1531, 1874, 1627, 1202, 1639, 1553, 1540, 1539, 1646, 1439, 1856, 1444, 1279, 1241, 1952, 1701, 1280, 1616, 1332, 1692, 1664, 1373, 1781, 1733, 1995, 1571, 1777, 1593, 1578, 1869, 1233, 1916, 1504, 1849, 1704, 1729, 1896, 1953, 1449, 1899, 2007, 1744, 2003, 1875, 1935, 2016, 1993, 1527, 1788, 1734, 1726, 1823, 1636, 1619, 1734, 1755, 1829, 1773, 1799, 1700, 1947, 1938, 1647, 1789, 1550, 1396, 1590, 1964, 1951, 1634, 1066, 1856, 1717, 1988, 1791, 1664, 1977, 1544, 1715, 1563, 1801, 1988, 1725, 1815, 1921, 1897, 1442, 1831, 1217, 1752, 1866, 1861, 1659, 1706, 1724, 1678, 1714, 1724, 1958, 2036, 1487, 1978, 1657, 1997, 1800, 1895, 1708, 1811, 1678, 1705, 1962, 1927, 1699, 1694, 1625, 1501, 1844, 1686, 1958, 1614, 1307, 1129, 1407, 1683, 1835, 1800, 1152, 1793, 1879, 1820, 1747, 1598, 1922, 1553, 1768, 1811, 1838, 1290, 1953, 1781, 1610, 1626, 1936, 1751, 1665, 1584, 1823, 1816, 1758, 1932, 1454, 1793, 1436, 1817, 1675, 1697, 1927, 1655, 1546, 1677, 2003, 1666, 1735, 1811, 1808, 1813, 1834, 1850, 1821, 1565, 1975, 2045, 1816, 1809, 1951, 1862, 2048, 1911, 1686, 1441, 1878, 1976, 1865, 1906, 1608, 1871, 1469, 1803, 1932, 1798, 1862, 1881, 1577, 1802, 1979, 1455, 1977, 1820, 1495, 1816, 1907, 1784, 1774, 1789, 1743, 1533, 1830, 1684, 1201, 1548, 1566, 1334, 1776, 1724, 1752, 1880, 1908, 1863, 1898, 1925, 1693, 2033, 1799, 1910, 1893, 1928, 1833, 1841, 1706, 1801, 1599, 1737, 1934, 1688, 2035, 1885, 1796, 1807, 1881, 1419, 1901, 1948, 1137, 1685, 1848, 1624, 1829, 1868, 1630, 1819, 1772, 1946, 1787, 1805, 1941, 1854, 1554, 1722, 1729, 1877, 1863, 1736, 1626, 1918, 1631, 1628, 1986, 1616, 1679, 1820, 1869, 1756, 1662, 1876, 1380, 1815, 1914, 1680, 1956, 1870, 1947, 1421, 1886, 1936, 1911, 1918, 1728, 1346, 1769, 2021, 1601, 1912, 1548, 1835, 1502, 1605, 1927, 1372, 1865, 1673, 1891, 1494, 1882, 1779, 1814, 1940, 1806, 1759, 2011, 1441, 1623, 1846, 1514, 1663, 2033, 1552, 1819, 1574, 1850, 1671, 1702, 1757, 1756, 1836, 1384, 1980, 1640, 2038, 2006, 1794, 1805, 1785, 1955, 1580, 1930, 1583, 1526, 1523, 1833, 1725, 1462, 1883, 1682, 1794, 1995, 1892, 1874, 1349, 1818, 1730, 1604, 1170, 1890, 1777, 1806, 1701, 1589, 1911, 1254, 1526, 1942, 1825, 1514, 1966, 1780, 1864, 1671, 1817, 1677, 1443, 1855, 1569, 1922, 1934, 1712, 1931, 1765, 1888, 1463, 1627, 1505, 1492, 1870, 1590, 1565, 1922, 1698, 1956, 1985, 2006, 1635, 1931, 1899, 1600, 1973, 1268, 1823, 1710, 1867, 1916, 1804, 1642, 1466, 1767, 1832, 1996, 1672, 1824, 1921, 1924, 1838, 1904, 1908, 1861, 1960, 1998, 1728, 1760, 1394, 1993, 1546, 1974, 1525, 1847, 1202, 1613, 1453, 1602, 1826, 1875, 1594, 1596, 1753, 1970, 1478, 2055, 1853, 1713, 1474, 1797, 1682, 1943, 1745, 1830, 1814, 1897, 1621, 1817, 1802, 1617, 1649, 1978, 1500, 1483, 1804, 2040, 1983, 1775, 1893, 1636, 1896, 1774, 1784, 1903, 1782, 1783, 1852, 1894, 1770, 1924, 2020, 1926, 1929, 1714, 2009, 1989, 1865, 1898, 1737, 1945, 1847, 1696, 1767, 1907, 1715, 1849, 1967, 1694, 1747, 1337, 1608, 1363, 1676, 1734, 1859, 1755, 1470, 1584, 1957, 1919, 1528, 1788, 1900, 1741, 1508, 1971, 1749, 1937, 1970, 1941, 1794, 1693, 1721, 1991, 1915, 1997, 1824, 1942, 1996, 1236, 1669, 1887, 1654, 1982, 1898, 1761, 1883, 1700, 1521, 1681, 2011, 1751, 1281, 1684, 1607, 1845, 1860, 1524, 1844, 1901, 1999, 1760, 1940, 1705, 1736, 1987, 1721, 2033, 2024, 1990, 2047, 1965, 2018, 2044, 1473, 1920, 2030, 1968, 2045, 2025, 1995, 2054, 2017, 1559, 1876, 1891, 1871, 2013, 1949, 1821, 1892, 1834, 1946, 1778, 1880, 1864, 2042, 2016, 2026, 1945, 2031, 1574, 1853, 1980, 2034, 2056, 2012, 1912, 1812, 2031, 1836, 1992, 2058, 1941, 1814, 2007, 2051, 2048, 2044, 1880, 1926, 2047, 1761, 1839, 1365, 1772, 1986, 1985, 1905, 2060, 1909, 1857, 1944, 1826, 2000, 2050, 2023, 2020, 1931, 2023, 2043, 2005, 1967, 1872, 1907, 1944, 1981, 1965, 1999, 1711, 1916, 1517, 1958, 1954, 2023, 1961, 2064, 1798, 1577, 1930, 1896, 1859, 1382, 1987, 2039, 2037, 1787, 1666, 1984, 1602, 1933, 2008, 2057, 1338, 1976, 2038, 1971, 1950, 1954, 1991, 1828, 1695, 1845, 1873, 1889, 2037, 1641, 1961, 1731, 1884, 1881, 1914, 1978, 1783, 1925, 1882, 2010, 2062, 1846, 1921, 2029, 2046, 1910, 2026, 1953, 1607, 2063, 2059, 2000, 1884, 2008, 2014, 2052, 2015, 1848, 1716, 2003, 2036, 2006, 1932, 1973, 1976, 1522, 2028, 2059, 1917, 1947, 2027, 1954, 1964, 2059, 2035, 1999, 1910, 1893, 1877, 1933, 1934, 2019, 1858, 1990, 2037, 1876, 1903, 1792, 1966, 2025, 1509, 1853, 1908, 1837, 2044, 1914, 1938, 1913, 2004, 1824, 2047, 1856, 1938, 2032, 2022, 1870, 1912, 1779, 2039, 2049, 1761, 1983, 1950, 2054, 2002, 1959, 1848, 1919, 1790, 1993, 1967, 1900, 1718, 1897, 2019, 2051, 2053, 1838, 1930, 1918, 2015, 2036, 1904, 1962, 1890, 1852, 1845, 2009, 2050, 2004, 2032, 1883, 2057, 2028, 2040, 2056, 1851, 1737, 1939, 1872, 1939, 1975, 1988, 1676, 1919, 1994, 2019, 1984, 1885, 2005, 1812, 2008, 2040, 1957, 2028, 1842, 2032, 2039, 2062, 1828, 1992, 1746, 1841, 1980, 1940, 1994, 1416, 1937, 1866, 1996, 1866, 1929, 2013, 1815, 2064, 1959, 2012, 2022, 1735, 1727, 1950, 1981, 1991, 2043, 1929, 1920, 1578, 1859, 1960, 1949, 1852, 1955, 1966, 2018, 2063, 1656, 2055, 2041, 1969, 2046, 1905, 2017, 1726, 1943, 1717, 2009, 1802, 2062, 1750, 1675, 1990, 1963, 1795, 2061, 1998, 2042, 1770, 2049, 1862, 1668, 2056, 2000, 1987, 2002, 1797, 1882, 1963, 1512, 1708, 1949, 1901, 1935, 1997, 1971, 2017, 2054, 1920, 1691, 1585, 2001, 2005, 1963, 2015, 1933, 2026, 1909, 1913, 1704, 1798, 1962, 1610, 2024, 1969, 1810, 1994, 1703, 2055, 2021, 2030, 2024, 1986, 1906, 1825, 2002, 1770, 1855, 1837, 2014, 2010, 1849, 1697, 1661, 1863, 1935, 2052, 1957, 2058, 1937, 2061, 2035, 2045, 1984, 1888, 1965, 2058, 1854, 2007, 1842, 2060, 1888, 1989, 1599, 2014, 1638, 2027, 1731, 2012, 1891, 1936, 1614, 1618, 1806, 2030, 1586, 2057, 1968, 1974, 1477, 1959, 1840, 1973, 1970, 1955, 1951, 1998, 1985, 1892, 1818, 1874, 1961, 2046, 1989, 1960, 2041, 2049, 2001, 1948, 2048, 1983, 1944, 1790, 2042, 2051, 1992, 1923, 2041, 1952, 1972, 1945, 2029, 1948, 1974, 1943, 2038, 2050, 1942, 1968, 1805, 1977, 2004, 1752, 1787, 1915, 1732, 2063, 2021, 1766, 1946, 1618, 1858, 2025, 1857, 1773, 1895, 1833, 1887, 1744, 1979, 2010, 1850, 2061, 2016, 1780, 1586, 2027, 1969, 2034, 1979, 2018, 1813, 1839, 1902, 2013, 2011, 2052, 1851, 2029, 2064, 1386, 1750, 1902, 1771, 2034, 2001, 1795, 2053, 1792, 1631, 1964, 2053, 1796, 1409, 1774, 1721, 1889, 1879, 1728, 2020, 2043, 2060, 1895, 2022, 1861, 1786 +}; + +uint16_t H_cols[] = { +208, 242, 84, 114, 314, 135, 349, 90, 64, 57, 26, 52, 16, 142, 120, 244, 167, 164, 133, 179, 22, 180, 413, 161, 224, 121, 57, 22, 394, 17, 9, 54, 84, 20, 98, 311, 322, 308, 86, 91, 77, 41, 110, 192, 18, 11, 210, 133, 248, 276, 389, 100, 37, 4, 239, 15, 32, 15, 7, 10, 109, 82, 19, 50, 137, 278, 43, 181, 89, 206, 113, 285, 10, 95, 12, 180, 23, 93, 100, 124, 200, 130, 81, 149, 6, 251, 181, 227, 156, 215, 194, 284, 206, 177, 171, 174, 40, 136, 187, 89, 98, 156, 44, 30, 48, 78, 349, 126, 56, 3, 212, 43, 111, 183, 63, 54, 35, 63, 333, 158, 96, 100, 270, 38, 97, 4, 139, 163, 67, 251, 139, 42, 214, 117, 26, 98, 132, 105, 13, 61, 330, 223, 183, 95, 295, 95, 55, 29, 65, 35, 75, 130, 8, 98, 344, 46, 239, 155, 131, 75, 246, 3, 44, 260, 199, 21, 99, 118, 76, 8, 87, 271, 257, 171, 98, 44, 255, 17, 276, 91, 50, 21, 90, 262, 118, 208, 214, 35, 140, 159, 58, 277, 158, 180, 53, 93, 58, 264, 40, 98, 4, 284, 183, 24, 7, 123, 133, 57, 223, 124, 156, 202, 34, 324, 67, 452, 63, 123, 303, 303, 169, 40, 32, 24, 32, 5, 220, 218, 103, 222, 113, 111, 100, 30, 146, 266, 4, 195, 14, 55, 145, 37, 40, 18, 184, 188, 267, 38, 116, 35, 60, 53, 133, 58, 9, 296, 63, 57, 30, 17, 86, 157, 105, 29, 73, 285, 122, 9, 31, 199, 347, 73, 55, 135, 86, 2, 42, 67, 119, 21, 351, 35, 213, 173, 61, 176, 194, 109, 72, 77, 273, 133, 244, 90, 313, 220, 27, 192, 63, 299, 208, 202, 3, 66, 14, 19, 127, 68, 348, 246, 26, 87, 75, 20, 215, 93, 212, 180, 149, 114, 133, 48, 235, 17, 247, 257, 42, 149, 57, 363, 75, 334, 67, 97, 29, 109, 241, 59, 332, 15, 228, 6, 186, 81, 271, 31, 103, 122, 150, 105, 110, 92, 277, 213, 358, 37, 100, 129, 46, 367, 118, 26, 115, 211, 3, 77, 217, 23, 24, 145, 70, 48, 68, 179, 112, 30, 110, 177, 14, 97, 68, 66, 103, 105, 83, 231, 29, 383, 45, 64, 42, 32, 201, 269, 67, 9, 149, 3, 34, 86, 373, 51, 409, 130, 39, 80, 177, 118, 34, 248, 175, 50, 37, 76, 14, 7, 122, 49, 262, 27, 79, 102, 295, 113, 26, 111, 135, 10, 356, 97, 21, 2, 129, 451, 140, 60, 42, 191, 33, 152, 25, 279, 99, 22, 124, 168, 305, 34, 104, 224, 154, 50, 71, 97, 60, 209, 73, 57, 10, 322, 159, 375, 104, 17, 273, 374, 81, 121, 160, 157, 411, 88, 236, 166, 88, 53, 164, 135, 36, 375, 291, 211, 4, 233, 84, 94, 47, 29, 10, 306, 54, 183, 16, 128, 42, 86, 96, 488, 31, 109, 150, 42, 332, 110, 315, 44, 321, 82, 109, 235, 80, 212, 35, 128, 80, 215, 7, 115, 44, 102, 281, 86, 27, 79, 280, 33, 227, 142, 113, 104, 102, 281, 161, 238, 197, 106, 111, 72, 163, 76, 41, 58, 4, 46, 45, 122, 281, 219, 52, 53, 45, 66, 264, 69, 37, 16, 138, 221, 176, 176, 98, 42, 75, 92, 80, 158, 163, 71, 26, 49, 109, 108, 70, 85, 378, 186, 178, 9, 12, 4, 74, 25, 65, 207, 8, 339, 5, 45, 205, 163, 234, 14, 56, 77, 62, 185, 55, 89, 19, 228, 117, 113, 80, 9, 8, 38, 74, 10, 112, 32, 205, 8, 242, 142, 119, 26, 158, 28, 148, 54, 69, 28, 81, 91, 142, 78, 158, 49, 66, 45, 179, 249, 91, 90, 219, 153, 339, 90, 14, 56, 60, 392, 9, 162, 274, 102, 79, 89, 206, 114, 365, 2, 232, 172, 36, 8, 14, 317, 173, 65, 2, 37, 112, 273, 38, 179, 107, 244, 9, 173, 67, 141, 265, 156, 96, 102, 158, 77, 96, 331, 2, 102, 302, 94, 23, 93, 92, 408, 95, 229, 2, 25, 326, 62, 82, 166, 185, 7, 170, 15, 30, 216, 93, 94, 186, 24, 124, 268, 36, 108, 156, 448, 65, 134, 356, 79, 91, 165, 63, 30, 123, 56, 164, 97, 348, 262, 72, 294, 3, 33, 36, 143, 79, 31, 158, 124, 46, 131, 115, 103, 33, 280, 22, 69, 80, 343, 386, 295, 107, 39, 122, 18, 215, 78, 166, 136, 163, 222, 5, 405, 196, 253, 401, 78, 138, 184, 190, 131, 5, 141, 91, 84, 10, 210, 184, 171, 39, 20, 283, 92, 337, 257, 172, 160, 28, 134, 170, 18, 110, 108, 85, 21, 62, 122, 23, 10, 128, 161, 152, 156, 65, 249, 124, 191, 282, 139, 220, 238, 24, 60, 66, 41, 196, 185, 68, 72, 51, 121, 12, 218, 13, 101, 89, 93, 298, 293, 197, 201, 332, 36, 128, 160, 182, 42, 19, 53, 259, 116, 331, 131, 84, 125, 43, 285, 79, 112, 66, 66, 288, 93, 93, 158, 87, 104, 134, 131, 156, 58, 33, 6, 42, 16, 130, 182, 354, 141, 12, 65, 60, 1, 169, 175, 82, 44, 82, 108, 17, 69, 28, 29, 80, 145, 25, 66, 88, 14, 64, 290, 160, 46, 113, 1, 251, 55, 61, 185, 199, 153, 13, 237, 150, 269, 5, 100, 126, 243, 312, 56, 219, 203, 156, 144, 164, 161, 87, 236, 203, 10, 216, 13, 166, 239, 19, 141, 51, 284, 61, 11, 75, 205, 31, 128, 49, 2, 33, 5, 135, 100, 194, 78, 154, 245, 51, 321, 121, 160, 114, 74, 44, 113, 59, 259, 6, 49, 144, 6, 22, 214, 171, 98, 181, 225, 368, 8, 274, 154, 262, 234, 21, 19, 352, 9, 165, 20, 90, 85, 255, 367, 174, 29, 145, 43, 1, 3, 153, 10, 280, 77, 221, 12, 11, 142, 370, 143, 116, 145, 223, 330, 36, 9, 157, 99, 271, 88, 291, 49, 89, 47, 94, 394, 344, 305, 38, 30, 39, 6, 129, 1, 242, 268, 200, 298, 182, 297, 175, 27, 117, 135, 108, 246, 60, 38, 225, 48, 12, 124, 229, 55, 50, 311, 70, 133, 119, 151, 199, 73, 70, 98, 26, 76, 99, 154, 112, 76, 236, 273, 22, 109, 206, 61, 34, 146, 292, 132, 254, 42, 1, 121, 310, 33, 41, 49, 168, 226, 247, 459, 47, 211, 187, 41, 58, 8, 388, 359, 129, 83, 129, 190, 55, 189, 48, 258, 60, 58, 13, 205, 263, 232, 151, 96, 77, 31, 53, 64, 174, 197, 200, 25, 93, 191, 139, 217, 5, 117, 51, 212, 72, 28, 2, 236, 114, 320, 35, 106, 74, 28, 425, 282, 49, 132, 2, 82, 47, 143, 142, 100, 25, 79, 43, 24, 23, 399, 92, 97, 290, 31, 69, 109, 165, 83, 41, 98, 84, 195, 319, 347, 222, 37, 39, 104, 5, 196, 207, 47, 4, 223, 141, 32, 47, 81, 96, 31, 68, 101, 145, 177, 85, 129, 271, 334, 224, 36, 117, 56, 70, 410, 212, 87, 298, 361, 160, 164, 34, 19, 52, 66, 310, 4, 105, 40, 180, 137, 263, 37, 73, 237, 29, 135, 20, 7, 336, 197, 68, 2, 131, 28, 60, 88, 94, 58, 83, 38, 218, 7, 1, 71, 296, 149, 355, 146, 179, 64, 2, 418, 155, 127, 76, 348, 54, 83, 251, 48, 27, 185, 32, 84, 4, 89, 107, 360, 257, 29, 54, 318, 56, 95, 295, 51, 45, 47, 24, 256, 173, 92, 154, 63, 255, 321, 132, 76, 116, 92, 308, 20, 52, 178, 292, 87, 216, 275, 16, 152, 151, 165, 226, 276, 36, 1, 333, 30, 428, 17, 136, 11, 192, 45, 40, 34, 268, 68, 292, 54, 85, 120, 116, 206, 92, 99, 213, 91, 15, 14, 43, 112, 305, 319, 157, 136, 76, 25, 141, 95, 82, 11, 32, 41, 74, 49, 301, 122, 128, 338, 94, 129, 265, 71, 11, 109, 22, 328, 13, 105, 22, 196, 240, 198, 7, 146, 181, 115, 62, 61, 218, 64, 170, 222, 15, 99, 36, 31, 258, 69, 41, 56, 60, 129, 33, 103, 57, 21, 103, 127, 165, 13, 39, 328, 105, 228, 107, 120, 86, 98, 27, 54, 205, 167, 244, 74, 238, 38, 89, 5, 120, 329, 37, 37, 278, 24, 140, 118, 127, 203, 23, 106, 286, 243, 72, 152, 86, 61, 22, 11, 6, 34, 256, 269, 158, 175, 211, 317, 253, 50, 50, 27, 130, 454, 41, 250, 267, 144, 303, 11, 104, 63, 18, 124, 104, 58, 140, 25, 151, 58, 239, 286, 155, 217, 27, 182, 10, 398, 65, 190, 81, 69, 119, 78, 20, 136, 106, 51, 188, 200, 350, 303, 133, 53, 73, 15, 158, 262, 150, 192, 10, 289, 162, 362, 234, 232, 16, 225, 334, 294, 6, 105, 125, 68, 72, 176, 239, 20, 163, 353, 118, 117, 170, 90, 258, 50, 45, 88, 87, 128, 85, 4, 62, 34, 268, 258, 183, 25, 146, 85, 44, 133, 107, 140, 87, 64, 18, 70, 76, 95, 309, 147, 34, 308, 19, 237, 21, 217, 115, 49, 177, 201, 88, 149, 163, 5, 325, 455, 96, 52, 77, 24, 152, 130, 207, 67, 220, 36, 18, 48, 88, 40, 148, 179, 6, 155, 19, 138, 74, 39, 51, 198, 141, 142, 106, 103, 67, 111, 107, 186, 68, 37, 166, 28, 94, 289, 15, 126, 121, 43, 108, 117, 128, 406, 71, 333, 39, 38, 69, 313, 267, 17, 249, 40, 351, 40, 202, 138, 262, 105, 324, 75, 267, 123, 141, 156, 78, 112, 408, 97, 173, 91, 99, 239, 25, 376, 25, 254, 185, 157, 15, 61, 71, 113, 237, 237, 48, 29, 89, 1, 79, 41, 3, 24, 13, 187, 96, 52, 30, 137, 70, 82, 1, 47, 34, 444, 146, 63, 47, 59, 154, 115, 129, 298, 61, 3, 64, 85, 75, 244, 12, 47, 101, 103, 7, 169, 125, 213, 271, 378, 271, 100, 126, 134, 131, 31, 32, 16, 310, 222, 95, 12, 154, 89, 391, 205, 8, 27, 1, 85, 192, 85, 117, 140, 127, 132, 35, 31, 12, 263, 121, 6, 81, 65, 71, 78, 88, 140, 85, 227, 347, 68, 50, 7, 44, 215, 128, 26, 2, 96, 55, 66, 54, 22, 161, 258, 7, 13, 124, 101, 265, 21, 83, 233, 203, 274, 59, 354, 99, 59, 139, 13, 377, 107, 102, 23, 184, 32, 115, 61, 169, 320, 27, 171, 293, 57, 62, 46, 58, 147, 139, 235, 52, 46, 375, 46, 218, 319, 368, 61, 29, 174, 172, 83, 325, 29, 200, 198, 18, 303, 114, 173, 213, 35, 102, 20, 35, 211, 46, 180, 99, 301, 250, 208, 178, 93, 30, 76, 52, 165, 159, 372, 225, 278, 138, 136, 145, 231, 79, 44, 137, 50, 55, 119, 125, 39, 138, 101, 25, 166, 23, 192, 18, 39, 178, 116, 28, 178, 59, 188, 198, 16, 96, 46, 186, 108, 59, 255, 199, 258, 252, 88, 118, 134, 383, 150, 5, 139, 239, 228, 38, 227, 263, 43, 67, 175, 97, 188, 63, 147, 189, 17, 154, 62, 370, 219, 1, 198, 22, 56, 90, 318, 15, 20, 171, 45, 100, 30, 126, 131, 234, 11, 207, 254, 299, 349, 120, 196, 21, 26, 170, 114, 77, 8, 57, 190, 11, 214, 212, 345, 179, 225, 64, 114, 80, 185, 66, 138, 149, 43, 190, 127, 3, 3, 153, 222, 210, 11, 56, 104, 53, 153, 130, 56, 83, 71, 274, 95, 74, 121, 106, 173, 16, 114, 270, 33, 53, 267, 49, 332, 306, 68, 35, 28, 32, 213, 24, 113, 40, 18, 9, 89, 294, 250, 256, 70, 208, 291, 91, 82, 314, 39, 7, 181, 78, 13, 301, 405, 112, 316, 156, 393, 12, 110, 48, 73, 166, 39, 17, 132, 204, 104, 63, 62, 1, 45, 393, 5, 115, 47, 18, 248, 16, 272, 75, 317, 84, 70, 342, 207, 14, 191, 77, 154, 12, 107, 230, 132, 280, 42, 23, 147, 149, 17, 18, 8, 174, 73, 261, 197, 72, 4, 15, 34, 163, 159, 136, 12, 36, 196, 3, 40, 167, 71, 101, 111, 100, 237, 300, 32, 76, 9, 14, 137, 6, 53, 202, 71, 52, 148, 219, 17, 299, 41, 108, 48, 143, 65, 316, 133, 142, 92, 296, 323, 150, 211, 361, 261, 422, 167, 212, 195, 50, 317, 406, 372, 360, 314, 399, 203, 136, 211, 56, 195, 436, 229, 489, 295, 101, 109, 487, 184, 87, 279, 233, 399, 176, 470, 433, 364, 197, 115, 194, 314, 423, 246, 98, 401, 291, 268, 272, 357, 458, 298, 327, 21, 298, 299, 225, 220, 272, 51, 177, 93, 84, 403, 150, 336, 275, 236, 476, 243, 261, 373, 330, 248, 310, 365, 155, 240, 144, 276, 229, 292, 99, 175, 101, 317, 365, 297, 404, 260, 333, 417, 462, 434, 474, 444, 119, 309, 261, 260, 344, 435, 80, 123, 257, 183, 358, 197, 78, 16, 264, 260, 459, 195, 390, 147, 217, 467, 353, 165, 120, 151, 335, 83, 106, 28, 326, 252, 70, 298, 182, 153, 300, 260, 122, 111, 143, 302, 135, 235, 362, 236, 232, 287, 371, 309, 248, 248, 176, 215, 169, 183, 155, 140, 446, 91, 277, 263, 234, 126, 376, 335, 162, 490, 398, 182, 105, 378, 469, 159, 119, 457, 292, 249, 108, 59, 451, 20, 362, 228, 57, 306, 459, 301, 208, 329, 357, 82, 396, 279, 137, 396, 272, 202, 396, 282, 120, 308, 389, 287, 43, 311, 371, 59, 326, 125, 223, 190, 285, 134, 348, 219, 74, 343, 72, 455, 367, 179, 368, 395, 267, 227, 59, 225, 65, 21, 300, 310, 266, 259, 362, 168, 104, 69, 344, 417, 47, 335, 103, 126, 394, 41, 122, 166, 313, 265, 438, 118, 265, 204, 316, 439, 142, 90, 180, 440, 281, 392, 312, 210, 137, 189, 240, 247, 240, 320, 251, 157, 324, 208, 415, 245, 180, 262, 94, 141, 191, 110, 165, 165, 361, 61, 488, 378, 138, 178, 229, 396, 157, 168, 397, 266, 289, 240, 347, 299, 84, 451, 133, 391, 469, 324, 137, 116, 60, 365, 207, 200, 472, 450, 428, 330, 139, 159, 223, 217, 330, 245, 234, 238, 418, 391, 367, 308, 291, 304, 67, 244, 288, 382, 130, 461, 335, 118, 187, 334, 324, 441, 462, 112, 445, 59, 214, 230, 372, 44, 106, 167, 181, 211, 193, 148, 409, 264, 364, 353, 174, 263, 283, 406, 312, 349, 118, 455, 181, 259, 323, 175, 33, 152, 299, 141, 320, 314, 131, 62, 235, 335, 231, 340, 244, 425, 169, 311, 497, 241, 37, 436, 117, 184, 294, 157, 350, 301, 94, 162, 273, 13, 182, 101, 486, 341, 434, 322, 74, 144, 284, 139, 111, 403, 214, 52, 323, 327, 172, 227, 230, 208, 277, 221, 120, 409, 339, 123, 223, 252, 209, 237, 429, 295, 253, 35, 162, 454, 243, 199, 295, 385, 360, 241, 170, 390, 175, 402, 198, 288, 397, 275, 330, 267, 161, 341, 283, 193, 62, 258, 162, 254, 259, 374, 408, 415, 268, 54, 312, 424, 302, 342, 376, 172, 453, 214, 281, 379, 447, 170, 434, 230, 121, 423, 305, 441, 276, 244, 121, 110, 461, 323, 151, 309, 431, 202, 200, 329, 210, 352, 164, 503, 113, 126, 231, 152, 454, 311, 433, 86, 449, 130, 231, 262, 189, 290, 288, 429, 143, 311, 70, 226, 451, 277, 362, 134, 51, 81, 343, 171, 466, 149, 194, 310, 119, 315, 186, 300, 469, 349, 427, 123, 168, 117, 174, 144, 224, 116, 173, 198, 457, 287, 147, 65, 258, 272, 499, 315, 81, 186, 168, 341, 316, 190, 178, 291, 232, 280, 174, 260, 242, 226, 181, 120, 113, 138, 294, 106, 481, 287, 377, 104, 125, 383, 234, 369, 289, 348, 52, 389, 239, 219, 344, 378, 338, 418, 137, 363, 116, 207, 335, 449, 202, 358, 216, 134, 319, 100, 11, 265, 233, 172, 267, 45, 256, 23, 318, 221, 169, 245, 306, 281, 181, 289, 116, 173, 346, 327, 194, 205, 326, 345, 201, 111, 448, 366, 399, 293, 222, 170, 358, 442, 19, 187, 159, 456, 299, 206, 290, 169, 253, 412, 252, 202, 377, 331, 497, 203, 313, 115, 255, 373, 364, 237, 245, 291, 269, 342, 54, 218, 269, 373, 170, 256, 270, 213, 305, 288, 203, 315, 238, 87, 192, 334, 26, 127, 352, 240, 277, 114, 102, 432, 139, 332, 278, 128, 411, 91, 317, 296, 265, 343, 291, 217, 124, 350, 220, 242, 220, 62, 233, 300, 190, 393, 445, 513, 478, 346, 375, 131, 99, 272, 160, 355, 279, 112, 305, 107, 403, 336, 109, 322, 143, 371, 147, 204, 192, 308, 180, 279, 127, 194, 145, 239, 124, 288, 24, 177, 191, 433, 429, 308, 270, 136, 330, 73, 469, 302, 274, 221, 246, 393, 328, 431, 454, 391, 426, 269, 434, 329, 245, 149, 151, 338, 328, 299, 433, 374, 230, 202, 472, 177, 360, 402, 387, 316, 181, 418, 52, 198, 174, 20, 197, 110, 294, 268, 123, 151, 43, 87, 250, 237, 247, 233, 143, 367, 231, 339, 381, 141, 233, 355, 204, 225, 382, 208, 224, 206, 159, 87, 80, 275, 103, 365, 33, 374, 117, 145, 332, 368, 309, 297, 421, 63, 212, 213, 373, 107, 249, 247, 318, 242, 464, 312, 164, 240, 103, 328, 345, 262, 160, 209, 401, 325, 249, 186, 201, 112, 250, 262, 215, 70, 473, 170, 126, 143, 211, 313, 370, 183, 220, 174, 388, 346, 351, 182, 173, 48, 214, 370, 163, 92, 95, 228, 134, 461, 251, 398, 205, 282, 372, 363, 348, 83, 321, 175, 265, 160, 252, 479, 340, 257, 64, 285, 419, 369, 23, 196, 283, 286, 327, 97, 411, 331, 184, 297, 325, 284, 341, 245, 302, 294, 231, 247, 319, 404, 190, 180, 491, 441, 147, 303, 148, 291, 350, 471, 197, 396, 187, 92, 201, 269, 200, 264, 250, 338, 104, 470, 379, 248, 168, 271, 113, 146, 205, 267, 71, 296, 221, 385, 153, 347, 482, 252, 339, 453, 390, 289, 284, 229, 269, 263, 167, 27, 369, 80, 243, 432, 230, 153, 280, 397, 239, 380, 208, 244, 8, 72, 271, 354, 328, 233, 224, 297, 297, 204, 461, 190, 259, 151, 306, 375, 195, 189, 304, 155, 279, 232, 352, 123, 177, 339, 401, 493, 384, 376, 340, 38, 171, 79, 161, 78, 340, 293, 238, 465, 191, 435, 179, 244, 387, 184, 211, 307, 352, 342, 316, 196, 351, 353, 445, 69, 97, 368, 180, 274, 136, 275, 342, 189, 75, 395, 145, 147, 205, 185, 222, 218, 413, 297, 374, 144, 453, 372, 138, 302, 316, 237, 356, 46, 40, 339, 343, 184, 242, 125, 216, 345, 305, 477, 148, 214, 199, 303, 306, 123, 440, 404, 292, 210, 328, 350, 210, 337, 94, 309, 408, 151, 76, 276, 266, 325, 482, 155, 332, 254, 209, 321, 297, 243, 355, 259, 164, 221, 453, 361, 15, 338, 357, 289, 240, 149, 249, 263, 219, 447, 434, 261, 300, 159, 479, 342, 93, 213, 57, 141, 177, 335, 410, 315, 188, 166, 223, 307, 354, 492, 170, 187, 453, 195, 127, 349, 410, 151, 207, 130, 147, 216, 417, 439, 369, 83, 461, 326, 406, 381, 227, 126, 270, 258, 394, 108, 331, 228, 333, 72, 95, 209, 319, 351, 346, 379, 284, 392, 315, 191, 147, 463, 95, 486, 415, 167, 324, 377, 390, 375, 410, 92, 354, 106, 364, 106, 370, 132, 193, 396, 321, 134, 119, 393, 327, 195, 506, 30, 341, 253, 233, 82, 283, 55, 207, 301, 430, 167, 248, 163, 475, 77, 218, 124, 367, 176, 415, 426, 188, 380, 58, 488, 209, 170, 164, 354, 134, 212, 334, 255, 220, 349, 110, 288, 227, 350, 201, 406, 319, 442, 117, 330, 228, 148, 424, 267, 155, 452, 161, 345, 217, 474, 179, 208, 328, 367, 254, 173, 210, 259, 458, 296, 277, 206, 296, 162, 480, 430, 183, 202, 268, 263, 274, 312, 374, 96, 445, 66, 463, 321, 250, 204, 194, 129, 78, 342, 485, 289, 387, 67, 119, 256, 241, 341, 110, 215, 276, 226, 186, 276, 266, 198, 331, 455, 167, 232, 89, 355, 166, 336, 147, 397, 167, 260, 175, 282, 465, 265, 178, 453, 189, 132, 273, 202, 132, 209, 62, 400, 397, 114, 225, 299, 288, 259, 228, 149, 319, 160, 327, 406, 411, 217, 374, 286, 229, 236, 129, 232, 403, 266, 432, 189, 115, 338, 120, 342, 197, 248, 310, 269, 298, 79, 156, 453, 325, 468, 116, 246, 210, 438, 43, 256, 378, 294, 398, 84, 366, 122, 311, 174, 346, 377, 320, 111, 309, 243, 162, 329, 165, 307, 229, 266, 305, 267, 94, 230, 454, 131, 72, 50, 209, 199, 283, 329, 178, 400, 236, 388, 423, 127, 190, 287, 175, 477, 274, 314, 465, 389, 410, 350, 131, 263, 108, 201, 127, 130, 468, 59, 223, 148, 341, 336, 414, 235, 36, 288, 171, 405, 111, 395, 271, 122, 154, 150, 164, 403, 460, 374, 213, 208, 464, 310, 143, 356, 204, 81, 273, 314, 287, 380, 16, 410, 313, 385, 410, 406, 23, 240, 370, 373, 416, 355, 204, 176, 187, 329, 357, 292, 282, 384, 212, 273, 202, 262, 385, 198, 191, 402, 230, 266, 179, 389, 210, 165, 375, 261, 287, 302, 471, 250, 144, 284, 279, 277, 382, 118, 65, 126, 235, 158, 354, 150, 53, 331, 68, 280, 51, 219, 432, 90, 236, 213, 137, 289, 256, 366, 469, 484, 125, 289, 454, 49, 155, 392, 221, 181, 238, 137, 85, 222, 105, 228, 351, 380, 22, 379, 322, 409, 215, 234, 174, 275, 356, 182, 212, 272, 203, 194, 426, 215, 279, 234, 279, 388, 164, 318, 219, 205, 152, 74, 304, 242, 136, 440, 304, 466, 238, 347, 201, 373, 275, 325, 364, 362, 393, 103, 394, 365, 359, 338, 332, 322, 369, 270, 216, 363, 135, 353, 460, 157, 282, 402, 414, 393, 196, 403, 178, 294, 276, 193, 282, 217, 86, 234, 351, 433, 337, 64, 236, 184, 423, 64, 362, 241, 210, 247, 483, 298, 122, 191, 243, 245, 46, 458, 278, 447, 311, 326, 360, 71, 224, 354, 148, 360, 74, 6, 215, 290, 374, 313, 200, 185, 116, 133, 28, 224, 467, 357, 291, 473, 379, 388, 188, 246, 340, 67, 240, 144, 475, 314, 193, 179, 215, 150, 423, 360, 192, 102, 159, 127, 204, 154, 168, 423, 373, 172, 48, 140, 327, 292, 358, 221, 426, 154, 101, 331, 337, 235, 102, 251, 409, 238, 283, 151, 307, 278, 357, 247, 484, 229, 152, 69, 311, 241, 225, 388, 230, 140, 146, 370, 429, 26, 134, 466, 240, 372, 197, 389, 145, 136, 176, 187, 400, 264, 221, 366, 446, 311, 364, 186, 404, 363, 101, 243, 400, 120, 146, 389, 203, 190, 278, 300, 260, 196, 430, 106, 260, 367, 436, 222, 359, 433, 417, 184, 371, 301, 275, 336, 111, 428, 129, 304, 303, 73, 224, 449, 175, 255, 446, 326, 123, 315, 315, 223, 327, 161, 194, 97, 201, 309, 383, 407, 302, 326, 209, 324, 198, 356, 107, 88, 189, 276, 247, 144, 339, 320, 221, 169, 140, 226, 118, 379, 333, 69, 300, 262, 218, 265, 257, 251, 310, 27, 265, 227, 369, 220, 146, 412, 265, 272, 286, 286, 229, 283, 395, 209, 372, 290, 488, 293, 184, 360, 342, 194, 132, 313, 290, 448, 385, 162, 232, 31, 270, 271, 383, 318, 242, 251, 157, 79, 119, 421, 401, 178, 231, 152, 207, 55, 163, 274, 313, 125, 251, 256, 468, 385, 329, 227, 272, 317, 196, 427, 466, 96, 216, 449, 14, 441, 333, 484, 363, 383, 303, 155, 172, 188, 348, 169, 256, 199, 193, 188, 455, 86, 161, 235, 247, 288, 135, 344, 427, 381, 148, 261, 128, 193, 287, 221, 347, 155, 172, 204, 334, 255, 380, 189, 241, 277, 226, 448, 413, 81, 441, 223, 162, 429, 292, 205, 146, 439, 110, 114, 304, 261, 378, 88, 278, 386, 123, 226, 329, 165, 83, 295, 213, 408, 355, 414, 336, 440, 366, 409, 142, 153, 168, 128, 470, 266, 82, 280, 428, 250, 360, 238, 99, 53, 424, 176, 285, 263, 212, 268, 316, 377, 335, 387, 168, 144, 428, 326, 132, 232, 252, 300, 51, 146, 308, 371, 486, 279, 275, 370, 223, 33, 304, 296, 217, 442, 360, 280, 75, 354, 182, 139, 397, 236, 442, 361, 45, 233, 193, 479, 206, 153, 121, 299, 201, 255, 426, 318, 286, 54, 143, 302, 57, 148, 320, 231, 218, 377, 498, 206, 359, 238, 235, 379, 160, 391, 381, 261, 297, 277, 368, 362, 437, 409, 372, 270, 481, 300, 407, 253, 55, 488, 487, 470, 429, 431, 402, 259, 404, 257, 101, 243, 463, 487, 514, 496, 150, 358, 504, 234, 490, 511, 240, 415, 412, 484, 490, 416, 252, 472, 489, 478, 493, 381, 139, 480, 511, 362, 293, 466, 503, 359, 342, 142, 326, 369, 304, 320, 364, 486, 261, 105, 316, 471, 476, 430, 460, 379, 484, 253, 446, 400, 447, 373, 472, 490, 272, 401, 158, 471, 328, 417, 312, 344, 331, 429, 383, 341, 501, 361, 410, 480, 477, 492, 508, 482, 332, 336, 429, 310, 369, 460, 291, 346, 365, 392, 402, 452, 120, 430, 301, 419, 462, 406, 410, 342, 493, 500, 390, 498, 378, 230, 403, 188, 443, 258, 505, 499, 148, 508, 485, 241, 382, 289, 264, 182, 455, 481, 264, 451, 489, 483, 485, 365, 376, 447, 301, 382, 278, 237, 409, 285, 168, 292, 463, 290, 482, 339, 323, 376, 386, 495, 286, 502, 450, 322, 115, 390, 483, 370, 426, 461, 441, 406, 162, 73, 506, 256, 511, 507, 107, 498, 491, 323, 274, 478, 516, 337, 450, 304, 183, 502, 285, 249, 420, 427, 349, 386, 508, 353, 413, 500, 375, 304, 485, 410, 484, 306, 353, 431, 377, 239, 156, 438, 402, 499, 503, 200, 458, 419, 490, 230, 203, 397, 73, 436, 398, 326, 293, 363, 416, 497, 458, 250, 443, 460, 60, 476, 227, 392, 494, 352, 422, 383, 468, 344, 443, 199, 425, 417, 496, 452, 472, 396, 246, 449, 458, 395, 398, 283, 253, 391, 307, 268, 337, 501, 269, 499, 409, 408, 434, 365, 264, 407, 267, 150, 253, 254, 269, 185, 434, 306, 508, 510, 287, 347, 318, 439, 235, 307, 503, 281, 303, 468, 366, 415, 434, 480, 368, 497, 500, 504, 195, 188, 125, 502, 496, 475, 492, 481, 501, 407, 309, 302, 372, 442, 357, 464, 436, 249, 429, 493, 412, 340, 385, 489, 172, 353, 322, 477, 439, 509, 490, 311, 478, 364, 450, 448, 479, 372, 463, 495, 312, 269, 425, 341, 501, 415, 193, 225, 481, 437, 433, 281, 509, 428, 278, 509, 458, 506, 481, 509, 463, 504, 209, 415, 510, 347, 246, 388, 307, 237, 472, 407, 318, 228, 441, 417, 467, 469, 457, 515, 324, 402, 510, 254, 112, 470, 345, 463, 302, 378, 416, 312, 241, 381, 327, 94, 207, 335, 498, 343, 476, 427, 444, 351, 414, 186, 178, 457, 459, 460, 333, 471, 334, 389, 398, 327, 315, 504, 481, 437, 386, 431, 488, 442, 241, 356, 471, 402, 424, 433, 287, 459, 298, 463, 322, 458, 386, 464, 232, 492, 285, 441, 227, 292, 405, 377, 336, 466, 441, 513, 350, 276, 142, 492, 176, 404, 286, 437, 483, 474, 446, 291, 323, 474, 463, 414, 496, 231, 493, 491, 464, 484, 448, 191, 441, 258, 296, 497, 381, 484, 419, 318, 125, 222, 487, 516, 285, 502, 449, 294, 211, 384, 358, 451, 414, 509, 135, 241, 444, 392, 474, 469, 444, 203, 500, 282, 350, 286, 231, 478, 365, 465, 467, 472, 497, 484, 513, 513, 455, 242, 502, 385, 504, 358, 479, 390, 407, 416, 266, 330, 206, 412, 471, 496, 498, 380, 325, 159, 219, 504, 447, 340, 383, 416, 475, 373, 410, 486, 368, 501, 511, 413, 91, 278, 257, 486, 369, 506, 214, 402, 430, 348, 476, 333, 331, 441, 204, 187, 450, 194, 382, 224, 497, 411, 462, 252, 275, 457, 446, 415, 502, 413, 121, 515, 485, 476, 353, 381, 488, 480, 385, 425, 314, 224, 383, 506, 280, 515, 388, 422, 386, 396, 408, 329, 340, 371, 359, 138, 431, 200, 361, 393, 189, 436, 411, 319, 316, 478, 293, 390, 422, 414, 445, 232, 503, 397, 443, 296, 493, 374, 432, 430, 493, 206, 437, 477, 295, 352, 492, 509, 375, 214, 314, 430, 283, 467, 491, 350, 421, 499, 499, 511, 367, 125, 379, 482, 476, 505, 411, 446, 507, 390, 264, 290, 419, 460, 474, 414, 422, 317, 327, 437, 422, 404, 320, 416, 242, 362, 429, 366, 399, 438, 293, 245, 448, 461, 390, 415, 356, 482, 504, 284, 428, 378, 268, 400, 308, 468, 416, 393, 394, 405, 355, 408, 438, 323, 424, 401, 483, 516, 493, 362, 424, 372, 234, 515, 386, 382, 500, 314, 402, 425, 460, 456, 172, 501, 247, 495, 173, 492, 226, 476, 439, 346, 293, 353, 317, 435, 152, 487, 119, 348, 424, 499, 494, 495, 469, 251, 501, 401, 516, 308, 457, 280, 454, 440, 432, 470, 497, 399, 451, 344, 487, 432, 439, 516, 278, 461, 462, 313, 475, 386, 233, 396, 475, 439, 424, 495, 431, 434, 433, 436, 456, 403, 341, 423, 359, 296, 324, 309, 480, 508, 435, 144, 478, 401, 358, 287, 484, 512, 443, 367, 459, 452, 445, 468, 316, 271, 514, 388, 448, 474, 413, 307, 86, 293, 320, 433, 302, 394, 222, 414, 344, 456, 356, 475, 468, 456, 426, 494, 428, 339, 288, 494, 448, 270, 504, 507, 381, 405, 379, 498, 469, 489, 247, 354, 445, 500, 467, 217, 277, 385, 318, 513, 218, 253, 483, 249, 325, 161, 351, 505, 475, 440, 229, 412, 461, 371, 427, 377, 439, 338, 473, 500, 292, 167, 315, 230, 261, 464, 294, 407, 226, 406, 488, 426, 432, 515, 511, 421, 489, 439, 282, 515, 483, 325, 323, 462, 443, 491, 377, 384, 349, 491, 353, 226, 420, 495, 428, 409, 473, 461, 357, 473, 371, 343, 360, 398, 500, 465, 401, 319, 513, 483, 216, 405, 424, 473, 455, 516, 235, 476, 308, 248, 281, 482, 244, 481, 407, 345, 309, 506, 417, 485, 363, 320, 192, 470, 231, 513, 246, 299, 447, 467, 163, 510, 498, 337, 417, 491, 457, 422, 340, 422, 298, 273, 301, 447, 449, 356, 374, 436, 299, 225, 452, 468, 490, 403, 432, 387, 38, 277, 340, 514, 485, 355, 253, 400, 389, 460, 492, 356, 300, 400, 404, 404, 498, 369, 330, 273, 311, 248, 491, 126, 216, 495, 449, 505, 407, 380, 425, 246, 437, 153, 211, 256, 387, 515, 297, 507, 440, 480, 361, 412, 395, 431, 412, 371, 506, 435, 421, 462, 504, 483, 472, 436, 507, 370, 183, 485, 330, 389, 381, 473, 272, 449, 364, 192, 345, 312, 252, 333, 501, 388, 491, 246, 507, 393, 355, 358, 367, 417, 499, 81, 516, 494, 490, 228, 480, 367, 427, 387, 349, 510, 349, 411, 321, 449, 315, 307, 458, 490, 462, 323, 406, 452, 456, 357, 153, 359, 503, 375, 352, 385, 392, 442, 485, 260, 445, 423, 512, 410, 361, 396, 421, 514, 300, 412, 487, 489, 19, 352, 447, 347, 321, 400, 394, 284, 510, 508, 502, 281, 459, 177, 483, 388, 399, 379, 180, 186, 209, 502, 418, 326, 214, 432, 274, 401, 413, 512, 322, 264, 513, 239, 501, 464, 419, 259, 418, 306, 307, 319, 484, 512, 453, 363, 508, 454, 424, 450, 275, 270, 301, 260, 512, 161, 494, 323, 346, 189, 348, 376, 345, 464, 421, 381, 342, 464, 359, 455, 492, 470, 359, 505, 465, 343, 420, 435, 428, 510, 478, 193, 419, 380, 414, 181, 394, 266, 396, 491, 395, 192, 421, 404, 507, 456, 512, 251, 384, 442, 421, 334, 384, 317, 320, 391, 477, 171, 336, 273, 500, 446, 414, 340, 484, 306, 453, 445, 327, 405, 406, 506, 236, 491, 371, 508, 471, 446, 501, 290, 366, 507, 250, 394, 403, 458, 266, 509, 351, 493, 252, 510, 456, 176, 440, 419, 378, 506, 399, 442, 319, 514, 462, 275, 459, 378, 350, 226, 494, 430, 494, 394, 486, 442, 381, 233, 500, 504, 504, 308, 494, 366, 353, 469, 439, 463, 516, 109, 473, 473, 343, 383, 435, 282, 509, 420, 514, 333, 450, 307, 477, 375, 398, 466, 382, 479, 452, 283, 285, 495, 482, 425, 430, 505, 322, 444, 503, 497, 449, 486, 338, 440, 355, 488, 413, 352, 513, 331, 333, 506, 423, 183, 361, 474, 461, 409, 425, 411, 481, 397, 470, 332, 395, 343, 298, 159, 476, 512, 398, 444, 516, 505, 499, 397, 421, 271, 130, 424, 456, 270, 463, 431, 334, 397, 399, 509, 335, 341, 443, 392, 509, 338, 284, 468, 382, 477, 443, 331, 455, 445, 169, 296, 511, 491, 408, 427, 408, 318, 405, 182, 392, 390, 488, 219, 368, 369, 384, 372, 336, 399, 502, 515, 356, 486, 325, 293, 504, 162, 451, 295, 339, 220, 471, 421, 351, 433, 334, 392, 465, 303, 418, 306, 316, 515, 317, 438, 482, 454, 475, 370, 459, 496, 505, 384, 185, 172, 497, 171, 281, 400, 418, 499, 436, 391, 108, 468, 280, 422, 313, 467, 398, 464, 167, 254, 168, 448, 465, 505, 471, 312, 467, 418, 403, 374, 470, 459, 347, 468, 395, 425, 19, 472, 510, 456, 428, 495, 75, 255, 467, 465, 425, 512, 387, 426, 335, 453, 474, 487, 480, 462, 344, 511, 207, 309, 419, 419, 395, 424, 272, 346, 382, 460, 352, 169, 442, 476, 404, 473, 511, 330, 196, 334, 329, 438, 438, 503, 255, 481, 500, 420, 472, 509, 394, 450, 255, 472, 373, 365, 488, 305, 496, 418, 193, 368, 305, 508, 495, 494, 199, 420, 514, 450, 201, 496, 238, 264, 411, 358, 229, 287, 493, 346, 409, 489, 102, 480, 413, 435, 290, 317, 303, 348, 376, 314, 422, 297, 343, 250, 513, 466, 290, 289, 431, 503, 451, 516, 328, 305, 427, 361, 307, 469, 341, 476, 371, 489, 328, 355, 310, 437, 515, 402, 386, 403, 412, 357, 440, 486, 448, 399, 337, 514, 426, 478, 506, 462, 360, 466, 496, 279, 397, 479, 428, 505, 421, 461, 257, 437, 418, 315, 440, 498, 337, 387, 490, 437, 466, 220, 500, 479, 470, 218, 380, 431, 243, 396, 492, 443, 507, 373, 477, 395, 188, 496, 366, 457, 422, 336, 376, 450, 391, 494, 245, 384, 77, 44, 478, 438, 454, 407, 285, 508, 198, 457, 261, 322, 492, 482, 338, 512, 405, 420, 312, 464, 416, 80, 412, 249, 501, 412, 452, 505, 426, 379, 451, 479, 387, 137, 340, 507, 483, 459, 203, 453, 420, 358, 84, 499, 503, 408, 443, 350, 515, 200, 295, 376, 442, 369, 423, 346, 420, 445, 456, 465, 337, 475, 438, 258, 506, 377, 364, 185, 321, 305, 282, 509, 301, 321, 398, 456, 511, 465, 281, 516, 450, 435, 286, 416, 475, 254, 393, 469, 414, 429, 460, 389, 478, 492, 503, 453, 444, 393, 467, 294, 420, 157, 279, 513, 497, 204, 444, 514, 348, 459, 454, 270, 413, 440, 494, 434, 465, 505, 429, 384, 514, 466, 486, 475, 510, 436, 437, 434, 457, 516, 454, 473, 332, 433, 479, 499, 405, 482, 497, 503, 411, 351, 199, 380, 216, 420, 387, 426, 450, 404, 370, 447, 386, 452, 135, 253, 482, 416, 276, 171, 419, 420, 288, 241, 474, 391, 368, 488, 365, 400, 363, 354, 274, 415, 345, 376, 467, 138, 479, 295, 391, 382, 483, 444, 446, 390, 304, 510, 507, 385, 452, 216, 457, 472, 498, 438, 408, 388, 368, 498, 464, 462, 466, 508, 515, 321, 375, 337, 448, 273, 455, 435, 380, 354, 254, 242, 324, 489, 477, 245, 427, 195, 508, 187, 210, 328, 498, 145, 485, 304, 493, 392, 507, 324, 400, 419, 430, 439, 513, 432, 417, 496, 364, 474, 511, 493, 435, 487, 366, 364, 455, 384, 359, 195, 329, 263, 349, 248, 486, 371, 166, 257, 471, 339, 380, 357, 437, 441, 191, 443, 268, 197, 444, 306, 363, 160, 346, 345, 376, 401, 479, 195, 243, 514, 481, 489, 445, 432, 451, 460, 252, 443, 332, 283, 416, 502, 140, 164, 415, 359, 470, 90, 411, 425, 422, 352, 344, 501, 386, 335, 458, 449, 478, 480, 477, 487, 413, 444, 244, 157, 451, 423, 480, 297, 284, 495, 431, 384, 418, 363, 325, 245, 447, 313, 485, 436, 391, 357, 512, 490, 487, 417, 512, 324, 496, 366, 152, 452, 343, 361, 389, 254, 446, 471, 502, 399, 485, 395, 345, 474, 337, 481, 249, 510, 458, 514, 90, 362, 463, 347, 477, 257, 489, 405, 143, 259, 286, 495, 382, 224, 177, 446, 260, 427, 438, 434, 511, 187, 383, 423, 193, 430, 427, 447, 435, 487, 502, 338, 407, 323, 407, 387, 166, 512, 473, 310, 457, 490 +}; + +float input[] = { +-2.8588758611049867, -11.692946618257562, -2.0931111592429659, 11.110696212718175, 6.6118168080332342, 5.5228669775147967, -10.351976177615544, -6.2055936928533972, 15.766842028131405, 10.150684036103069, -8.459063190320423, 3.5621047687812557, -3.4741612771047636, 3.324748317571744, 8.996614205792751, -11.020291727957101, 12.081427681651697, -8.8928631203159583, -3.3519010114052263, 7.7902118547439443, 9.6608001848411806, -7.1066822779231593, -18.837368573809297, 6.7301895647238608, 6.7933629603091008, 5.9697810424393483, 8.344011991064086, 12.19791145343228, 9.4167774696594435, 7.423418316685729, 9.0291842080564226, 12.492983259925982, 7.1203329881309401, 9.8776999539720336, 7.3657220051725565, 5.4066464900536131, -12.553405951140983, -8.4918025628237199, -11.352365915823617, 14.756685666538061, -8.0938336502539876, -2.7071697789206022, -2.4795849849319289, 14.778716053676311, -12.149933491676437, -8.5931326392610909, -5.4147618905983697, 1.7095221079392837, -12.75286957597447, -6.560818125727109, 5.5288804134600262, -16.774264848727494, -10.397477377823613, -14.47470382199227, -12.095199384731899, -0.68504635593676977, 2.6623689185177528, 13.264791388391092, -15.654931986196731, 6.1276196890542334, 4.5068190091793028, -13.394637229913476, -6.9231832293793651, -12.113429033794846, 1.2142140703098925, 8.9363539352870394, -12.687063373304539, -3.3458614784673091, -3.4123481785186587, 17.559631253372945, 13.470764559481434, 5.3912902961422002, 8.0737946505557545, -12.755710856932868, -3.569697890412812, -6.2613535644882905, 0.068556269783912271, 6.2629797657916875, -9.2663011036090968, -4.4829975567184634, -9.6136989537403004, -8.7663852688801143, -13.974856274599134, 11.407302219619563, -10.302223327202944, -8.9771589068473983, -6.1388609170833384, 4.2370800072671333, 1.7760515525196516, -12.120232639630231, -12.958157445638765, 5.2985241644932541, -16.484657731002855, -6.3532421360393387, -9.0395804464700298, -7.2671128749847744, -12.616882711750195, -4.9350723080331012, -6.6905936282318637, 18.568407538602393, 12.530577696234687, -9.7889565176657243, -15.214958325061282, 7.215674131215513, -7.5394667988733808, 9.0137713371297465, 6.2553392643094785, 9.1953246360263154, -11.131787953429392, -5.4020937991353657, -4.0642543197135739, -0.44036236539366824, 8.0650609441874703, 0.85520780385748785, 7.2621337620159085, 0.29865166967486761, -9.2011814546979203, -10.330862011400864, -7.3191138151867943, -9.4852558149271111, 14.762260259194324, -5.0853268103463423, -11.2925794883785, 13.026909781206733, 7.9504343630905412, 10.148928930852414, -8.9032450603232327, 7.0914762951954913, 10.89340681888671, -12.705821222595254, 13.126012326275292, 9.4442919029362749, 5.0277440210736879, 0.21756213342494518, 12.710361373031621, 5.6453651213768019, -13.49634180382726, 6.4754225359227204, 9.6275804629486004, 5.8125840672452975, 9.7028326962213836, 6.1260130958734562, 3.3623596073706641, 10.736024757333299, 4.6569987032041826, -8.5021099021622799, -2.5832378575026125, 17.984880998940056, -13.974611077713172, -7.8550941092339874, -2.6917314432377575, 10.825283872831294, 11.217940706150642, 1.8301222470027103, 6.2062091666111812, -12.440863506480019, -19.955292055354317, -3.6699151522797462, 2.2154324244303956, -3.7363628672311142, -10.271027034445964, -9.2862432349117547, 9.7847963699436011, -5.9471830363214551, 11.139859339322513, -9.2599913694963618, 5.0422863933763367, -7.1141487133220043, 4.2177963601947308, 10.657785123505857, -5.7952000401674324, -6.826355874510365, 8.7268751949597245, -8.5906649209875745, 2.2758857640658201, -6.1665377492933358, -7.3104026599884433, -3.2424605164178031, 16.796591996286164, 15.671215006757382, -7.8445348658392806, 12.2589312976831, -2.5670307012079139, -11.537316744819945, -2.4858301794672331, 5.0542510171190438, -6.6860957990782133, -7.2619018024969462, -6.7329842279273242, -7.3146812058251234, 8.0821157274412183, 2.4005920765968378, 9.3157871935284753, -12.908851857280949, 5.2927115546650425, 9.9926730185778059, 3.9229860372333749, -5.5126846245121035, 12.313688019948762, 7.9681453222519041, 17.181368769149195, -8.962498225939207, -11.548950041024865, 12.014544817430894, 11.485639169870186, 11.939774664713912, -14.36069895314143, -11.812874687185857, 12.249194120883461, 4.8839501930831242, -10.540165871108648, -14.829380396239381, -6.4665012687326051, 4.7430459960995295, -7.1378949876943016, -15.357105375923917, 7.3351294975306445, -9.6095153441695373, 4.381145332149095, -9.2910048695861427, 4.894239034759102, 7.864879034656453, -8.3265429253416077, 10.497214061711553, -0.39338042557070996, -4.4611306847986816, 0.76940119561902198, 2.3535542193708272, 10.459438806533345, 9.4938186880252005, -6.4805717587307994, -13.457392617761585, -10.487085219177404, -9.8506932711478576, 11.274019685851906, -12.3031017274995, 8.3324030035106826, -2.3013116280481358, 8.3664075310158825, -10.402109920341072, -5.2924293563600742, -12.008098192077149, 10.992304106359162, -5.5591947469243506, -12.838234842015352, 8.1682577157065577, -6.4919177172949487, 13.568876091933316, 8.0352162745849594, 8.7834139460450125, -11.335870474093099, -10.790767171281415, -2.8875937626970223, 14.64505222675956, 11.436743007190451, -2.9337339836825955, -12.707240342338084, 16.661129912274529, -19.171798326126961, 12.280144746488103, 6.5975965145696174, -13.019719338217644, -3.4328503704209457, 4.822535491209953, -8.1340577921572415, 11.549182216506546, 9.6431724916100059, 5.5547407614902173, 15.019668995173307, -1.6514898426907461, 16.110709054474917, -10.9397931999944, 12.04576668183285, -8.4818868311872198, -6.103248438757908, 8.2975079067215702, 2.5480181038085412, 18.799878298920927, 16.231939791740228, -18.011602750805633, 3.7139764502467689, 12.751595841360283, -7.8718015936255812, -0.40802815212428428, -15.47812599016518, 3.2584854200798588, 14.976391986507007, 9.1367378814346782, 3.4155780056910059, -13.292285487599507, -12.855991908912157, 14.013291588644732, 9.6911017234399335, -5.8910196575740752, -2.2280612655108047, -11.219438047247786, -2.5955623953948517, -3.4460676112793136, 3.5682986120247073, -11.70300520092221, 11.99455548751415, 7.319096625369828, 8.400961847094683, 12.142806695044221, -3.6775894169196279, 8.3797255658565142, -12.156985373281584, -17.475193610019677, -14.228116929396922, 10.726007504360073, 15.267119384103992, 12.781072511062279, 8.0326533999697229, -17.51207194760946, -7.554034280962183, 10.066411068992132, 14.13799652436988, -6.7247334837075705, -11.112518294834185, -5.7326833292155523, 3.6877552031425131, 8.7105204152043516, 9.3857694378580963, 19.127569440965896, -3.8614826162666089, 7.9404471399280068, 6.3807591097483005, -6.8888859894612535, 10.317928637508684, 2.1736529765433783, 10.953222318849482, -7.6682531128958038, 5.0318286636058982, -6.9463690764775503, -3.0184853792276383, 9.6041512562391542, -0.88225262267439808, 6.4852292067129724, -2.3181001351577644, -13.197351056460056, -6.8047677874499586, 5.3843074707174692, 5.1196343577870644, -17.820822197855577, -12.257015718775355, 5.1913937352654651, -5.0162460867599536, 9.9461758050913041, -9.7414598652248081, 8.1378256819797858, 12.564281794378495, -5.6365288176451322, -9.1029468332924104, -5.6355130288814301, -13.719331548944416, -5.8613058178495017, -9.2573519867695815, 6.0620773131346706, 5.8947778726542905, 11.265652594812099, -11.760986024368906, -7.7447348268870124, 19.076436411627338, 14.505720191829832, -9.0750817120358054, -5.2025480400034789, -3.1960162333402482, -11.659437264119374, -7.9842387274926709, 8.5980388295231229, 14.858752059828165, 6.8639263237417376, 6.0631638589074024, 2.7093921939507379, -4.9581002755473795, 4.4179924464321392, -11.144868427484562, 12.546476704938177, 13.606433000436612, 4.0208619807458295, 6.2408832155761376, 3.0941528835943455, -11.347668662075096, 1.9313877794966201, 11.65105372954261, -14.681336156121709, 7.2969958167198605, 11.59264621157577, -8.831465763669156, -12.759130509205734, -9.0714254556796128, 8.9948895559776467, -8.3736028555285831, -13.115027308542444, -0.21628815052066303, 7.7132708674061705, 14.055053470061472, 13.370601410874029, 3.3283307501026052, -11.9653642849229, -5.6440590777489144, -4.2508984635752549, 13.005398229132568, -11.5296140873405, 11.286858942494266, 9.8110403874583074, -13.263569122014866, -6.4297799553106456, 7.9672918799786396, 2.1515462864377719, -8.490571668881163, 7.5548103934198929, -13.121628447449439, -5.7901204816768361, 7.5171762671769704, -5.4216710822831979, -0.95140907859749113, -5.6992105242986471, -0.91737830538166343, -8.2053563541920571, -4.9100295191078036, -8.650093905400162, 10.400080220873763, 7.2829351923330092, 5.3481291290736603, -9.5017802399357425, -9.8687523002255393, 11.82329840938681, -3.1919281246249707, -10.124868011353035, 6.8360355157042028, -14.032171223888698, 18.148403140529073, -9.5731633683674744, 4.0453611070899935, -4.114147796015585, -8.4912512496909898, -7.9968991599686872, 12.922672789580542, -6.7315939113482681, -16.414580925551139, 10.417406116722118, -9.5795995211441394, -7.974905790034116, -13.727944328842275, -15.024522822723423, 4.9026741637309703, -10.662764572620276, -19.122555879539242, 9.217115643469544, -2.9661166430929642, 13.154514394206242, 9.8788596316167272, 4.2669291411005252, 10.239868792823961, 0.50928446540137651, -6.9544644508051245, 2.9807945285095245, -8.2689690969205181, 3.5499295458600972, 12.732733620631645, 11.61935741986054, 8.4137329217700945, -13.703811206903364, 8.5347899814747166, 13.941804015126218, 11.213731601489895, 11.550008187296406, -10.885532785062049, -6.0320756476152395, -7.945602926688589, 18.178022024827495, 4.2378890109434684, -8.419937978328889, 14.273513193884424, -8.1801725060827586, 13.690183625733544, -17.518387733265431, -8.6392702216784656, -13.927446312699148, -8.651607062718659, -12.712917239643309, 15.009792996204254, 0.15853783962329626, -10.462310302523948, -12.535567399778486, 8.8192610919401329, 13.066656030822525, 18.005415525102343, -16.007576967175243, 11.052574245331391, -1.1810954342450888, -12.762633127175347, -11.427571726679494, -1.8068233566411038, -3.8651597939182674, 6.9028603232990591, -9.9188843352819767, -13.607089316301986, 5.8989769757503172, -10.266998033319117, 12.946619994251195, -7.3433271276853551, 13.594756446262442, -1.4802835189751626, 2.9459432512420887, 9.0127453411993006, 12.34274116102957, -0.99056567004691576, -1.0211228826859517, 10.87969885601588, -15.669877762479704, 16.01192464298973, 10.789218207135569, 6.1523737440350752, 10.844976713696601, -18.796538678004055, -7.3982730413954201, -6.5213519941388851, -18.571369340190397, -9.6913300045155282, 1.0175474995943568, -8.0705533615168754, 14.251221745808563, -14.054781652173469, -10.906074448438877, 9.9932114606110058, 9.2204934537976815, -11.102967677965665, -15.06146952578059, 11.282374133246716, -3.4111780254645643, 7.3857075662336609, 10.330601600777463, 5.6502615537426548, -7.2776853004382911, -12.041052757776699, -11.046289906579057, -2.8519140526114701, -14.358095698121817, 4.6207960341417813, -12.368837238636017, -7.2377430770905917, -7.1306536664479809, -10.374815173234571, 7.5287331560402384, -5.4660620697715716, -13.441122458297521, -6.5962962593129824, -8.4930653390556969, -5.473757203858737, -16.42318744504734, -7.678902139771755, -6.1724752873292612, 17.227224731420481, 2.7992443468423089, -11.010643413583562, -6.0460973993600238, -11.514094016830022, 7.2250024006000091, -7.8426213114387204, 10.647716150585898, 5.7539405508617296, 9.727218535739766, -10.217949794886991, -10.197658817694322, 1.4534950594678713, 12.10682632749001, -0.51088307163622715, 17.710760548825679, -7.7470194812395397, -24.372971692573486, -6.6052580469808717, 8.826482956514015, -6.7872955696686779, 3.6389619856040674, 9.9237321927880782, 12.100520790781362, -6.8842633676573595, 2.8844843405481937, 13.672108533544661, -5.6338295492883859, -7.1944131155704678, 6.9746870716875398, -8.2312590639291852, -10.25205738032861, 3.9564297173352139, -11.16342115946062, -8.4103856915642865, -3.86058459788803, 6.7693385059336668, -5.5093604081945458, 9.9112156966838256, -11.829917793796264, 12.06350448472004, -9.8908904770778552, -17.725516485129567, 5.0710728367340741, 2.3733785626266992, -12.373813495428958, -8.2010211819107539, -12.301300323962623, 10.576063861117305, -2.4429576335852246, -9.8126936984062763, 10.720987427999063, 5.3468144210345949, -7.436093608771988, -12.085562323273949, 9.616133130427178, -7.2337117418265358, 6.590012489497771, -12.933819456719151, 9.0992320680750058, -4.7115096872358144, -12.444448996962361, -9.2431835291508904, 8.9400870181220906, -14.84487535501597, 6.9572855730306786, 8.679259378600257, -11.728117564638417, 11.57774167266283, -11.089244669418909, 4.4545841055164113, -10.471036138424958, -7.9268850048012363, 10.006310688982033, 7.3307629546995496, -0.70086411051328346, 3.4399790497959652, 7.5780305602750353, 15.952535940468001, 1.1236075069228646, -10.56946563987197, -16.455271371728593, 14.943737550316991, 15.270538328279843, 1.8246123975329285, -11.861267836196021, -12.897409417413272, -8.0295182717849976, 2.5085092290718261, -2.997769928368061, 7.7106512520538253, -9.7986312114017196, 3.8597867083890951, 14.715042117673541, 3.6286772784703238, 4.6804229784596041, 10.468442660987332, 6.0309605373905297, -7.2836222700763322, 7.3372979832476464, -9.125874340732242, 12.431154776537063, -12.652059501141041, 8.520614267493885, -14.669291764198016, -5.4369263583494511, -6.9272239504642288, 14.411503339302335, -6.5090359387453871, -3.8249288367587844, 6.226877964919483, 5.4872378813688707, -12.071286274848809, -14.839631376528764, 14.929556186968613, -13.550466083272015, -17.79040452965922, 5.2176515285150078, -8.4073909354978511, 13.152357868676932, 11.880434179671278, -15.154722117187848, 3.3578570344364098, 3.7992951070371852, 12.544849221875657, 4.4664223998223864, -16.02563218730095, -16.858694781271584, 5.8423687431569373, 14.717494305248145, -6.3014233972716296, 7.8246512200173655, 0.2490959399462627, 10.09774947224876, 8.2302536611399972, -2.0230125836350608, -10.877543890130998, -10.315299910440396, -17.814418691884743, -4.7984509876179366, -10.569732541659832, 12.468245506360125, -8.1994351150315588, -8.4938440033843783, -15.646554844352739, 11.104862652426069, 5.4254710709054565, -7.075912451839514, -13.038488980503107, 8.6283602505517099, -0.1897762834069755, -15.926221800862628, -9.4620561439869952, 11.028601034997564, 6.2202218101379954, 13.01838761394424, 3.8814455959068872, -10.571348353520641, 9.3930545668475638, -7.4486485829571807, -15.896920034679038, -7.6634637506716583, -13.744383772875613, -16.289316553121051, 4.2240572521775093, -5.9728476753105495, 1.4435980912356212, -9.482201269588181, -7.1075995048298424, -8.4496788887326719, 5.5233585701859731, 8.8295065675835449, -6.8321409197770491, 14.622652588625614, 8.1030077299922656, -5.0997213512339847, 10.535820013561885, -11.687469584683409, 3.0547169868379771, 8.210959869395893, 10.201179428221021, -11.658463276051274, -13.563724058479169, 11.01039677555352, -7.1382476676607203, 14.955134349802455, -13.750666848543476, 10.162311270235616, 5.7884645703783697, 7.3371242692507819, -9.6841606635170585, 5.466449250298048, 8.4163518309029381, -7.1508542487337046, -6.6797959016182888, -4.7449989886325188, 2.4393509869405792, 8.654752655597532, 10.070879973393719, -13.17581052395726, 8.5470611298539545, 6.660259185215466, -6.0653871786400737, -6.5193717691612134, -12.615899043092323, 6.700881216282939, -4.8478946577189745, 5.1988868211607864, -12.549358461765644, -10.045744010088018, -12.380860324318006, -3.8616068170109248, -14.465705737907983, 0.4164829268257374, -17.143567612135136, 9.487366827722223, 12.652721901108753, 0.7645899772346989, -11.920812995054151, 5.348021509175628, 8.3879926788022008, -4.6246359904401313, 11.089899173175201, -3.8332542947304775, -13.36196018971258, 8.2464982273107097, 14.657515986404208, 10.904966172392774, 11.533578255944192, -13.982006985588614, -11.973821478795168, -16.592644946389242, 9.2836692767439004, -12.678645783087854, 10.730932446196368, 9.5849200107862327, 8.4498461340685918, -8.6907116625889529, 14.156816081594213, -2.5856081507256512, -9.2993749691896994, -3.6239666126178607, -1.8399557052395836, -9.9970546829752251, -11.017332480853435, -11.692178962270885, 6.3025733321249016, -16.175906955071767, -14.423994620868056, -14.689511946206805, -7.2353003125032167, -9.3660212630661839, -13.858073820033896, 4.7709918994882639, -6.7026088232668739, -10.527782639004828, 16.58828557927492, 15.050247187970289, -4.0564185563228934, -10.640020339068798, 5.0431846567205971, 10.934348304548614, 0.75988821460881439, -10.291366703091549, -13.942020188031572, 14.135017480152827, 11.151498767692816, -11.537353350061172, 10.343082453782436, 7.976541387752091, -3.5774431227145778, 6.7912849734238856, 1.8417106851238594, 8.8764923317563689, -14.359256236175909, -5.6171451890921933, 5.9817930874266256, 3.2031461221092781, -3.5231009274983971, -14.863876345356418, 13.612377512426715, -8.9030335281364348, 5.1285813990983709, 4.8771312118802621, -3.1813763041012044, -8.1658030154444532, 9.2635478384894121, -11.938316318486482, -10.581389864174858, -9.041740376889754, -11.289532586451648, 9.8541909326330934, -10.813754378648875, -10.992626098956032, -4.2128060145436059, -13.803513190675977, -3.4047166821717285, -14.699309096179331, -12.322199151029571, 1.9847013546589598, 3.443351936013523, -7.7412573332668169, -9.4014738152531816, -6.0936722951459252, 11.249057062872248, 5.3612317349290048, -6.0934505412619844, -10.329491262921293, -8.3782268065652321, 10.610705115588038, -7.7383153101209938, 8.5683043797354852, 9.5214421313463742, 9.4646448974772674, -15.945188235432587, 13.571842719150663, 9.1766386061343823, 3.9788060864638335, -16.400242920289237, -12.152955170027367, -11.743525499640301, -10.778431692576483, -9.560949750398839, -11.274506489189537, -10.497378072608422, -11.313774108583567, -8.6889440492171826, -16.999837953521492, 2.8463220500405759, -9.3414733746083147, 14.505309388696032, 7.2740770646355823, -15.216612609375215, -7.7754295642857443, -7.9668693810493751, -11.838336074962589, 9.3302243430363134, -6.1546909317578038, -11.643770269023584, -7.3067290482575826, -7.6586644572207598, 4.1554355791738411, 5.5784827988725025, -6.6788226812914591, -10.099712087346221, -6.812608788772855, -8.6942723276748133, -9.1414982497263626, -5.5404435688554674, 13.782301424897506, 6.4913332097552408, -14.843570407301076, 9.1090159582398744, -11.810479272023766, 10.734632284091132, 12.106233609286406, 1.2074129428018001, 9.05135706765188, 7.0513320487712221, 5.7063731455704252, 17.827025603920255, 8.2204534825947988, 6.859838386896449, -17.066087459633668, -10.546186910811119, 12.544407506754297, -10.501953033608231, 11.631217929282226, -7.3247345033456455, -0.30451282566541621, -8.8097804299616289, 12.580754884209387, -2.4535950387210703, 9.2528280654920945, -6.6762373246501507, 8.5487856314147361, -9.8862934311079176, -7.405954429775278, 11.460818356885351, 9.4241123506707218, -6.0650535086957591, 11.749931801221361, 13.45158323366806, 8.509266618399371, 3.0990921451133864, -11.845686618745093, 4.6809017476948664, -9.0788995203187035, -14.154172714949322, 11.436663871420148, -11.686823110591192, -10.466322347645878, -1.8093094588126659, -8.2842513297508678, 6.998530934794041, -2.8130875381789773, -4.7458503858358174, 14.892214325455083, -13.297630549395505, 14.137398522674463, -5.1741407656371132, 10.811880263388231, 7.6909240450423546, 1.2020066622797796, 8.3882554040760446, -13.296889605096078, -14.12122762385526, -0.86913405214011996, -1.7012640446050573, 12.135944269100591, 13.696947616128121, -4.5178290393967648, 11.379039879071998, -17.142332699109016, -6.2502893853176538, 14.551005043468933, -15.922443449630226, 7.9749887358427554, 7.5006183839537428, -10.731307185445075, 11.828405368248815, -11.242740313773945, 8.6857287401789396, -2.3357416563180076, -9.2522949403141723, 10.057172114119057, 4.2142804964077794, -7.25445812349398, -4.7859211707096279, 12.212717205630641, -0.68060465039856421, 8.3585750011161384, 9.4355684709667997, 5.8736217498953929, -10.357680904873, -15.182609723791906, -10.528438249903205, -10.728845332160351, 4.4271186570969041, -9.5459159618972773, 7.698786708464044, -5.7616256574906473, -6.74427916594568, 5.0713712230747952, 4.9757324493057258, -7.5822193975454732, 2.1521506074067127, 11.702619296651129, 2.475868836880037, -8.5152128927626887, -8.8176272081621523, -6.7396490012107382, -7.1103087325178862, -12.249044472908748, 5.7223187192045835, 6.0785970538718885, 13.311388408274434, -5.1967232459428514, 10.616058764924363, 4.1131834199366937, 9.1157637550044708, 5.0981827919094043, 3.9623438215809581, -5.1277684895200872, 10.717366089367347, -9.6119167010571456, -17.671933631733026, -0.93466484572541053, 9.4511618566836688, 0.51145591409598801, -7.4842698912260595, -12.965780155817985, -11.049283246505306, -9.4204398537725336, 14.713331608978752, 6.1294522089617445, 12.762571544243462, 4.2519976479727246, 11.581799865407062, 4.0540310044195316, 6.7583036711124178, -8.4596629969850596, -11.555561625120337, -13.223361797635503, -11.022881346403601, 7.820188150462851, 10.050313550691401, -2.8748772822692796, -3.975284267526737, 10.165011610963463, 8.361153496598952, 10.23454765876409, 6.9861352278001991, -14.063066120834387, 5.5703634980353156, 4.5720288674742182, -10.208336872812145, -3.8841964569917136, 15.871358616035476, -10.375333061106602, -17.028934392886523, 9.6095097993772214, 2.8612197492337277, 7.3984151374847418, 12.882442279479097, -3.8593872267618985, -3.3505651418910092, 9.1400352361857795, 3.4607159608677991, -11.802758101252648, 16.131696084668302, 4.3485520924992915, 4.9299693363247012, 10.20608409504235, 11.350181288635312, 0.71079817132091727, 7.1011529322063716, -9.9921413971440192, -5.8089676277937103, 21.431868331238753, -7.0747060210352215, 12.069527047899687, -9.4828998378865119, 10.122263948520756, -13.538606127789073, 9.6375976702501429, -4.4100604567201094, -11.99790766311845, -5.976372779813337, -8.272146596627568, -8.9450436886845743, 1.9542103075796229, -2.5876227697187235, -14.368094001362385, -2.985471188013614, -2.478307267502168, 2.7456040916726456, 12.581031236480218, -11.4758779722525, -15.599590155208737, -12.992869206559288, 9.953747866291776, -11.025999481843595, 9.7008748889831633, 9.4677048052865693, 6.0665148799454283, -11.021027787278838, 4.1148665510329865, 9.9715457939675805, -4.524015231428284, 18.833454602793879, 7.5018420072802252, 6.536477074456216, 10.39532612887518, -7.7192567198190574, -5.8633746049064728, -9.4739325485451946, -12.966876834521914, -4.8932353347242916, -7.50082678824488, 7.9240662467055403, 15.473285728117284, -7.874821177550495, 3.9913525758800343, -20.203393732375613, 13.177667766939793, -11.905585671112627, 8.76829420558043, -6.6904194950549218, -2.0990812946584643, 16.352167450942488, -8.6839871579774304, 0.65535704062993771, -9.0914298192610481, 6.226432112620512, 14.414606788199343, 5.3327990949329722, -9.2825422873145076, 5.2444348695624967, -13.52476436519694, -10.565017103537128, -7.9458267805510605, 6.2385267794539532, -10.620897086888419, -14.02491825647715, -17.249193736529822, 21.822546537373011, -14.525572761291961, -9.6352912168501117, 7.7923236942745477, -0.43905931375127905, -1.1677511335028592, 7.9195608711842009, -1.7261157613467151, 0.81574419315180335, -6.6258630940789853, 11.446710993602048, 10.423767215464459, 10.131515821910522, -4.0813762630157786, 5.3099875815632895, 15.005238483277349, 3.9458100113193013, 12.997541564501073, -13.401349640520106, 6.0898523220056484, 8.5430795315739463, -6.727566986421512, -6.0976964106078926, -1.5514248251358895, -6.9251342133096534, -5.0010498589221326, 19.36294632958224, -10.995748094036278, 6.8230876895289425, -8.9816761374312737, 19.252689002798032, 15.018231032342973, 0.75032883111291693, -10.512852145797988, 15.952636394768637, -13.876019658000088, 7.4282002133627536, -15.007337649734009, -20.867628639436518, -12.864466413292632, 12.282886216105501, 5.6117260976193588, 7.7243055425354985, 0.74537471606410499, -8.3753274103443793, 8.7297402808334041, -3.8752359373415373, -7.8660891683218042, -8.8027160564205786, 7.7988010166838881, -7.8129632889899385, -5.8353090570942738, 11.438552747844, -9.8854956847581263, 6.193488211617348, 5.7060858140643864, -5.8417400083956581, -7.1659403388854175, 8.8621684734697617, -13.828395956746165, 11.58722476958626, -8.7757625064865632, 9.7638601085689327, -13.63897121774294, 10.692146632523938, 9.1954815513953641, -9.7262358263602646, -3.0742135000084518, -11.831625275045802, 10.346151064081882, 13.860225574621548, 5.3434462647847401, -12.667486708061194, -7.6071393527596891, 10.497824234551809, 9.1398524858692305, -4.8312688599490299, -9.6866353191391568, -14.936854315955886, -4.5645292398393735, 10.306087472805107, 16.435616799434957, 9.7618939189542857, 7.3359442918945499, 5.4777235052650965, 12.827631906540597, -9.3557044067803972, -8.6207571310957753, -6.9067986860795303, 9.4266173165645881, 8.2700014055707438, -14.396299560527304, -9.1945433850102294, -5.0742673058143186, 5.9363570201246212, 9.1825801770474449, -14.26016478123667, -8.9647881473585791, -10.999991358949853, -5.2643587807317358, 17.966460043223208, 4.5038323715849113, -7.3643627119764705, -8.0021495622334466, -5.5012765171131761, -8.6385795076142866, 10.642859565399243, 16.418157809689014, -12.558310319227193, -5.6944436186565675, -16.620579134203229, 5.2993074909249556, -9.5535858720998252, -6.194850562303122, 7.9283758132069577, -4.3938243314441445, -16.08461551423154, -6.1053020627578558, -7.8156662613007883, -4.2010902685294225, -11.260598796472106, -17.361798229363732, 10.523477968271544, -9.2997205134904561, 4.7239785905440819, -16.55663724338849, 7.336212674126954, -6.9284736037251049, -5.9733477242286268, 16.958437027673817, -9.3688626284447736, 12.335069283139083, 4.4003768017589344, -9.6375650205771759, 4.3025216992304607, 8.1709809734149754, 6.0840979096543046, -1.7791701081822009, -9.7212268065403915, -6.3728373407996992, 9.4709301635928664, -9.8099415495718265, 10.216669472304444, -7.9089613940445638, 9.0133309428613888, 15.233159549099527, 14.443197589960937, 12.315849008505751, 15.22683390790605, -12.204208274855294, 8.0545420942912056, 11.261686524342778, -10.088714704911705, -14.758394330397744, -8.3506925495196622, -5.7190575904160488, -10.474095362096637, 6.7558531383042801, 10.839875782803038, 9.6223187492013871, 4.0011315315627671, 5.3452889051100145, 0.29628684358052387, 10.260560792716758, 10.010269925150098, 12.309818259037518, 8.3443036587520112, -5.4014577244395916, -12.309450717768483, 6.227119823086781, -0.90098300040336077, -5.9574142236058796, -6.5290358544134426, -7.443075641870017, 9.5718761708906559, 5.9045525168917088, -14.09287394192167, 8.537557668616758, -14.160598968888243, 5.8051719496039951, -6.239975019204187, 7.4524259174698209, -7.4731349725176219, -8.5239733925114809, 16.110254200184002, -10.257968713373153, 9.5898379203607735, 3.4675905258102322, 8.1300367938993361, 4.7762632339122959, -5.8974433337845085, -9.3140122423426206, 3.5847848816848376, -9.5355250106758724, 8.6839175133173008, -6.6948323819511488, 6.7933016290691377, -6.3800902026507824, 0.76093699061175468, 2.6435457529778015, 7.4138748481937027, 6.0247308500592567, 5.9280863177297123, -3.8920878288506016, -8.4621386416944677, -18.750651564949948, -7.6188990491921116, -2.1334205811758622, 8.7540093304816082, -9.8600851053842149, 16.342033110995256, -10.800872299968921, -13.998298573757474, -3.2934871871896396, 14.06180118603365, -9.271874228911658, -11.048285130582032, 6.1595626190926716, 8.0570216147192557, 0.66340001966893403, 6.5132884000227351, -5.4201122315987309, -9.7412562635013984, -7.0486139617141514, 16.981384687745692, -8.7022380510622721, 14.647877845477861, -8.0820055541788722, 7.2226523022245761, 5.3790569210687584, 13.728807132743302, 8.5317048523035623, -2.7316549253863927, 5.3846139594020226, 5.4103146460176523, -6.694268736004001, 8.7300406717059573, -13.347383859719848, -8.335174873152722, -10.945696086225201, -10.4875598953527, -6.2891459907155456, -9.3671321709341981, -11.585498988590738, 6.512870728010193, 6.33239714027453, 8.7682544573530521, -6.7439993019333704, 9.5026784978124166, -7.0246760343330656, 6.4372813340255446, 8.1945894173399711, 10.262887249545706, -7.5060931723177706, -14.674750300787338, -13.287289997793177, -8.4928309129257595, 7.4563888548291644, -4.5195874938690226, 8.5442291590063935, 9.7115273312730501, 15.092119744113154, -6.4263051953856785, 0.12831365323535676, 8.7640439297438597, -6.1460218943241305, -10.889755958467752, 13.67769695151666, 6.312988951937812, -13.227320725213115, -11.784825668882982, -7.6748667604861192, 7.7787450544407344, -9.3711259762266828, 13.023365017019263, -7.0200584128511876, 13.494925467734497, 4.2227722997626005, -13.760223253172747, 6.1777636365323456, 12.067306433588751, -9.9155428829691132, -6.5766064428842856, -15.151662906193899, 9.6988065214723864, -10.152731302282174, -8.5735676931961322, -9.9418795299730185, -6.2260760507460198, 9.447544122507308, -8.1319644337468215, -4.145324424570318, -3.5485961822808565, -13.467769122062073, -5.7514070303621585, 4.2372927865136871, 10.111694661148967, -7.4186471554037379, 11.430760000153063, 12.312843067890855, -12.810688665750249, -1.4448074235360808, 7.986361807585828, -1.7676683131382003, -14.521209725348982, -4.352705664193615, 18.914853195668275, -1.5113121651615482, -3.6397864185997131, -8.6196558356553385, 4.1199321080626019, -8.4888399293551817, 0.57614759104880209, -3.8170562650576274, 6.5118953364681147, 4.0953213386352472, -5.3421050165325257, -12.272356482934088, -3.0358640779517354, 4.2481637384966975, -2.7752337082527849, -8.0160326885318369, 9.5768553793879043, -1.8524775210440534, -11.009861394679287, 8.9742068648070266, 12.471334080830026, 9.9992644688047552, 8.0039800551702207, -8.7981872925635614, 6.6433407975833738, 6.5480704488332835, 7.2841246634294423, -6.3252439319780178, -6.0513426125451124, -6.3988334931556485, -17.469331458693546, -4.580254889517116, 8.9993454898016569, 3.2238207283793323, -7.7799510625287303, -13.803751678166556, 9.7121916487763045, -8.1746700971358059, -8.8126126733994941, -4.8155492973679186, -10.804453969532291, 7.0086143651800121, 3.1481410707654631, -12.810183673768677, 2.3362046780839187, 5.744619950986845, 3.8643342874084374, -13.249939418679734, 11.415744222471059, 12.554737671029878, 9.8333778447831257, 5.0957400772063437, -3.9991407502674661, 9.8345770583999279, -9.7368996360840274, -19.449417624721992, -7.5133274868764675, 6.0619042605430966, 7.197156700662827, -7.0063836107615485, -19.263860108465263, 13.028208109141358, 7.1331219897936977, 5.4720228485501652, -7.3579311406347925, 7.1801636071660138, 14.640572831964421, -3.8340913302192701, -3.3062445113231744, 17.400159670258972, -7.1681505547822413, -4.3542281808553351, -8.4546164816007607, 13.421193429578857, -14.905121149794782, 8.3143744117862095, 4.9730046756217972, 8.3532232015837344, -7.5969825424753346, 12.3177910080973, 8.7607875220531426, 8.5127047792303561, 3.5774587189097899, -9.6494548210828786, 7.5331539937229897, -7.4747114284701679, -8.6591660587053916, 7.3468316363038637, -3.622337543593344, 0.47384090625185044, -6.0463560480716252, 8.0499483448215017, 9.7022755442800293, -10.776004671468062, 8.3543427603924503, -5.5360568466131905, 6.0186808121336659, -7.3543970398820848, 9.2806086183805689, -12.230546104506987, 7.4673092848302733, 10.975472812952574, 6.7926415721593818, 4.8749321283736755, 9.5323516120815874, -3.0280886662753885, 5.5571898549900514, 10.226559964818154, -5.8034190385368811, 6.5444311969384019, -9.130374827280793, 15.819448485436817, 5.5538576215556326, 2.8637826501217618, 4.0706674231610558, 6.4597011042272623, -8.3735378854139135, -9.5667300995851061, -13.845901714228189, 12.714093428899416, -8.3628461969588557, 7.5987675327409425, 5.9272125723131186, 4.6950385206484189, -4.8195825770873233, -7.908711363482686, -6.0290697566338824, -8.6859336035752293, -4.5193059923378351, -4.5940077637319696, -4.3311584091869832, 5.3536488354562275, 1.9921280360174241, -9.4633153479117045, -6.6570051760469031, 14.208357863252012, 9.4845107231608647, -7.1832992233853066, -8.8475487049318655, -13.630287949249563, -6.0719107719352952, -14.274798405390152, -11.162105305503859, 13.054901490270078, 12.995371746588807, -13.146715820058548, 12.945646134893682, 3.0460739976722446, -12.155229015360904, 2.7412678887489506, 11.780611735174173, -5.3341954653614927, -10.032480770112713, -5.8447538785525053, 0.52725472542845364, 13.379456926012971, 9.6135830134952744, -1.944448284069229, 9.0502993001659355, -11.346127451101133, 4.2434870682337369, -9.5043367843183457, -2.9775157830606012, 5.4193649803215109, 5.9212605221007886, 6.8739591477125153, -9.3618138585411454, -11.34734301929147, -2.8580136600449677, 9.7314938797272301, 10.716957084696832, 2.261487615173849, -11.936472547545375, -11.596497065616539, 8.1683014049841454, -1.9741314291525349, -3.8079032870338203, -18.998387033650793, 14.785213606318443, -2.4675987407306512, -12.092457768834166, 8.3055089082183038, -9.8880041321383381, -12.17693749962149, -5.6119106856770609, 9.3346742365750952, 5.9978824704833622, 0.13754021975113387, -14.894732183908136, 14.747292229007831, -9.7097733323647439, 7.1041665937562009, 8.747982309638612, -1.1124715705618149, -1.3453533016361534, -7.2336827315963976, -3.3065754079116902, 10.610359888132521, 6.439770888743964, 11.42420401634142, 6.5388842458764689, -10.853598132676623, -15.353822721495742, -8.0675862924724751, 14.459019981256141, -12.566396596207603, 3.4205186262164231, 5.630487549883056, -8.073684341188935, 0.82126057392054652, 13.882060246971731, -11.094144048902541, -11.389801550560342, -10.3187260289045, 2.991571648758196, -6.4911734708363165, -11.245496138683489, 10.9851776336762, -13.130504876870628, 3.7733165504957942, 8.4076079303113911, 7.5529546967120051, 9.1048736341912768, 2.7287083950923141, -6.4019633593747214, -6.7703960792021753, -7.6283872602484184, -7.6359394699956251, -11.153289601654617, 4.0727793884727168, 8.3062884746691932, 15.72392064712384, 0.9811577968163786, -11.722310671012934, -11.342923130703641, 4.6538782013854689, -7.3739066993524025, -5.8947067956510093, 11.486762613574625, 12.413880145399126, 10.786268654735865, -14.830950842039924, -12.718664091764236, 11.838893611398694, 16.960744319691706, -0.90885433404131177, 11.805632469674961, 8.787147329142396, 7.4670599584679005, 13.783711428147573, 2.6889832573487715, 9.8277282208337393, -12.621979239155044, 11.900463485129047, 7.3974913674936378, 7.9790082301381764, -18.460977129782226, 9.6868989422260476, -7.4849707679692381, 2.791279213037106, 5.9072811103444005, 10.027746084723706, 5.481378194108391, 0.94657543605496242, 3.1638084348680802, -11.565804912112132, 8.1295825065418228, 6.2454385368905463, -8.7244225637155086, 9.2949740971114814, -15.413745662976126, -9.2767171742637053, 20.883637553321279, 2.1729042705598971, 5.2123425513190229, 11.260222333457566, 5.4759025599371576, 8.1537344500122764, -12.294121929916995, 8.802476739158374, -20.703918322925325, -9.4123075195898913, 14.838015503157582, 8.1809389421993437, -7.6381202529000944, 5.0731354695422288, -9.7523696522120105, -13.519239387616903, 7.7323479369959101, 12.148583040284464, 5.4807070910189717, 4.8696229713233139, 5.0087903276064836, 6.4402113569592467, 13.277426855835845, 9.6524651881369721, 10.826902095836219, 16.183489895274345, -9.6318043844967534, -1.373132442179763, -11.219593888898418, -15.004319828107285, 18.258393722812315, 3.7354456310459385, 8.0651749744359105, -6.5164044554554748, -12.565266643553137, -12.030885912645394, -8.5404810535779507, 12.314165209697041, 7.2947873166397219, -10.819275536058335, -8.0129408622894012, -3.8121662128657552, -7.6091124585846721, -8.4798365873122474, -3.9868453977970675, 11.38629202057937, 3.5714802941824, 2.9518831049273677, 6.3322250488086071, 11.580034774188221, 13.479927163429085, 2.0786137569475098, 7.9330224326080057, -3.6943001859225055, -3.2256160391289095, -12.811450358156192, 13.541505165687818, 2.6411149013180362, -6.3489619114245244, 13.373338952003571, 12.628299743258562, 1.0027687748564038, 9.2077227922659706, -13.768254699816865, 6.8324600540916247, -14.524379303203943, 9.2715316925285709, 8.7678396133255916, -7.7000840765938703, -7.6752994649649313, -6.9178464084480851, -2.824297046557938, -10.067962153214038, 9.8382780470022801, 9.8343360207768367, -10.442346656794413, -11.531825845771756, -5.6955603852302623, 7.9952115376447042, 7.2796481632297372, -3.9815702225402285, -13.888827599999129, -8.7028698626538308, -6.0635186121417952, -1.0917426165389645, -7.5444189349932813, -13.502585170286313, 5.3738984196649149, 5.1002418292985094, -2.2415640749653791, 8.3993581378656117, 17.872303247028064, -5.7930453662663712, -9.5610560588597515, 8.0594903059030294, 5.9955468570765671, -8.4016643820784811, 16.017479926774133, 12.457791465479348, 14.251050296430238, 13.550966058757862, -8.762120073439311, -19.568799520529904, 14.473633275887034, 4.7150108398434316, 17.622896812791758, 8.5532109821391256, -7.8861564007563967, 2.8018084587073706, 11.238281768369326, 19.036214400042667, -12.627994340787289, -3.229926146308185, -6.2106083456766665, -12.029815325633603, -12.732678066605525, 16.114114027765005, -8.8878875737603433, -9.1952288940063198, 2.9514348736209386, -14.875969949421576, 7.426537438524826, 4.0988218779588257, 5.1048469008081083, 8.3561664083509974, -7.1680838371486972, 0.079559302266173665, 7.234447616829998, 9.2153180384359938, 11.380502523658766, 3.7813665464468564, 9.3571471630839476, -5.6198950965916659, -2.6112846832626295, -13.074922193350705, 7.1458325396315745, -6.8553238201936848, 14.037347515845747, 6.1114574644258219, 2.6233447927944442, -6.6962191818230385, -15.054560815064955, -3.8509653059595634, 5.6193134186600444, 8.4632418525580135, 9.06084843255511, 8.7155312766304451, 14.146656363113056, 9.4485647712524159, -11.894790263269002, 6.3630883640874796, 6.0659222594215532, 9.3423771994935656, -11.56898779218068, -12.569317170483185, -3.1542401369229229, -14.317618053977442, -16.07713062656423, -13.866270731830225, 8.9731628045127234, -2.7568654754219311, 10.650056946180007, -0.38554919912492391, -19.636918428478758, -7.261084813408365, 18.261599502237281, 4.365909470450525, 9.4604701736004575, 9.3379768195852684, -5.9721332777841125, 1.8392337494849149, 12.236588220433115, 10.729755869202716, -5.0163355160529157, 7.8745146479874295, -12.210717308250283, 9.9053843786672573, 4.3176048616878999, -7.1321033170654076, 9.8376099896153644, 13.994875675654404, -11.800822210877568, -12.467732532409068, -4.8096053846346782, -15.806886200214143, -16.011053902031289, 3.3108259217896991, 9.3708906824355758, 4.9387906035182194, -7.2811664484622529, -7.2283659694812323, -4.3994107454794076, 13.986557692605393, 16.267589496305209, -12.5211237853249, -8.6162733581098614, 11.875897506788261, -5.7924040049014529, 9.60395357854315, -13.371234187638548, 7.4044876769030976, -9.9169764629346115, -11.960026798255779, -5.6929530819152605, -14.080996179546117, -4.9741440758010285, -7.2894457453898616, 1.7385165163304241, 10.659988023147882, -1.4616437274123262, -10.074637029156758, -17.086127613435742, 12.235716666711239, -7.9575522168496349, 5.807625236075423, -9.2779276010226894, -16.480345338445041, 9.5297786981975108, -12.287759229285887, -5.793455825490601, 11.046928184816098, 12.263531584491689, -15.868613864191206, 6.1089590101381299, 7.7043039642206841, 6.7725058819006509, 0.19765926454723443, -10.92190123421037, -8.6903416862217444, -3.604954070470813, 10.780882529813848, 7.6342821794581255, 1.819027960022801, 8.9622472070627612, -3.7731185676641705, 2.6511830669363676, -5.936256145443763, -3.5065708446633179, -1.6756694810431396, -9.4457045728120921, 5.1176087336867671, 9.0843869892318665, -4.9165468247185249, 9.6190501542416023, 5.7720688303614107, -8.8665231351704143, -16.776765049597191, 5.1935200585542409, -7.0317717992679913, 8.5952975711448651, 15.701379400382201, -5.1747900955843287, 6.644409479106538, -12.294043736596755, -15.483394542555223, -6.9161043885800755, -16.902160692468406, 13.140408586007654, 7.9585367038084494, -0.60142488467217781, -10.583573691246794, 7.6570812407643905, 10.488467203766263, -12.229594163883426, -12.105180821633089, -10.100333917660924, 10.582889173673999, -4.3524138084056574, 4.1598294177868027, -7.7208623056787218, 9.8373959423124191, -9.843437056863948, 9.2758547221503864, 13.917929858415311, 9.6348606573169207, 6.1603576344825903, 7.2761550553448275, -5.6132644264075031, 16.925921888188984, 13.099232943399601, -12.169951256692608, 8.0341465714582103, 9.5080586839310293, -8.9153040306547862, -6.2778930359354987, 0.65702865949253608, 6.1455975831103666, 3.4956736733487177, -13.101966614043903, -8.4917541060921486, -7.7703858331616402, 2.9540207920840338, -2.8250454453694225, 16.471572201031012, -8.3401753077338174, 8.5209392200398799, -8.4562622463700912, 5.3451445327350049, 8.3227551961577149, 9.5505384761710648, -9.6168853444985132, 7.8088619634040271, -10.010194534199005, 10.407541359870157, -12.730901681260953, 10.062237956980878, -8.301093581147164, -11.221782089013969, 5.0699226682185836, 6.8670809315755763, 9.5183305660198574, -12.477293633009369, -3.0829984725185011, 14.251075736126907, -0.50381312202666373, 1.3945668674871461, 4.4380349292124333, -8.4792849992484687, 15.740298722260704, 6.4916661990457039, 9.8781328856963952, 14.524311425947424, 8.623227064986775, 1.82594923740208, 8.1658888991281113, 19.519909829772214, -0.71626812905103776, 1.7182300090879543, -8.0056305624195137, 8.8667806307632393, -6.8903486607996696, 5.3931378831660304, -14.284745953661838, 11.800779205285183, 11.828892295047666, 11.579327959504184, 5.9644626407280574, -10.637566489206868, -6.3308930175168046, 10.362896991246821, -13.136681551103671, -10.69114929291889, -8.2804076555200332, -8.7620956793565572, -8.3349590113674843, 6.0390086996968186, -0.92206940007654714, 16.688147291793179, -7.7396944231238889, -10.556885976235911, -5.5034713893873217, 10.684323799177031, 10.164740010619706, -18.644906837500962, 7.8255279920941758, 7.1184183927575999, -8.5879829996361785, 10.058536284915368, -3.9577147638427337, -9.4390455070755355, -10.813502747434075, 3.1725069430189179, 14.646645070268773, -6.6958720302719321, 7.1891012020482057, 2.776770380964142, -5.3045752723276198, 11.024688310314966, -8.8716706651748609, -6.2182144207648875, 7.2174155723591822, 9.2363647659736916, -0.13811663085025644, -6.5095852199241193, 2.7850661520962201, 5.7288466875807895, 3.8404238060339386, -11.979694823507765, -8.1566218452888641, 8.4872181623141802, 4.0684730663558621, 9.433119896225687, 17.452359798566942, -9.1852211978356539, 3.7813711040017632, 13.687886395835575, 8.3110503099043083, -12.263855365231695, -0.29265821325473718, -5.7786710506977288, 0.32000221107421295, -13.152220176187292, -6.5995903240006717, -13.649334703564579, -7.5516513340805105, -15.16406327996164, -6.7664832291371457, 9.9511431024063146, -11.833825853245724, -11.726480937964023, -4.6960938337568416, 3.6909792826776235, -5.7241654435325771, 0.84009221550172219, 3.981445765587416, 8.3193977689219309, -14.855487044550641, -12.13768399449228, 8.2575189786919658, -12.482209307351347, 12.288265749008579, 12.92588605732125, -0.89651953932604156, -17.178851924529209, 13.465060130471429, -0.66179931634497746, -4.7361380949519907, -8.5915497494217874, 9.8633923545024036, -11.075503948766817, -11.521258634171812, -16.937563321814299, -8.4089961555477153, 10.316744468138424, 11.068755254870558, -12.812559137681774, -11.716000182253042, -10.794814834414403, -14.695829972179469, -5.7734367211811755, 19.281663549262714, -7.7079679114509911, 18.982133221850518, 6.7278265135517552, 9.4200950070653935, -5.0327780626629206, -1.1472749532062567, 8.9655615288611052, -10.289968622568939, -4.5317886320427014, -5.0717832150149214, -12.403158065152988, 16.054879478569319, 11.910769204629043, 8.8721630995550154, 12.946670225247273, -20.040326823281728, 15.061437997065909, 12.371159663686912, -5.2434241432319393, -6.539600733678907, 8.9759004731301122, 10.399696431036546, -9.7820158235043255, -1.8655127741351087, -7.2564512028104291, -9.2402317505484497, -15.743596514833451, 8.0518221334585913, 8.064389141916843, -5.1750464722524647, -1.2577099412771857, 11.088648050953193, 14.734664098438651, -8.7257834129372487, -4.9071340910761805, -7.2288497019818241, 11.368753439780507, 11.259515603467754, -0.9190234527098583, 10.508309728639846, 5.5014236641516137, -1.0062376510942861, 3.9510038373896794, -3.3772476520373296, -12.298064413396816, 1.1518807046710942, 9.8347990668982277, -9.6697877164226895, -5.1708006319540161, 10.90534178699129, 9.0780310964231923, -11.06717326378323, -10.193153698637712, 1.6370922062264599, -1.599701860652494, 7.4493340597532782, 10.079750519485344, 5.9817167134058051, -6.1883642950981734, -8.7859917448021054, 7.6925693496530796, -11.726693947959594, 1.5292664230077266, -3.7640503328337047, -9.2026303785959076, 8.3703384923817321, 9.2968574133785165, -9.0282964165522213, 14.082662142896044, 7.0391904432891064, -8.1892402659133481, -8.494960679412987, -8.3171594195215324, -4.1204583607408765, -12.464929795412097, -8.2800259108270922, 5.0158695467591343, 2.90504266938304, 5.5802620759772603, 9.6053945607379294, 7.4665086294967553, 7.2836197716168538, -6.0797636096551519, 5.9192672325212143, 4.3197502963078556, -2.5794586298505413, -8.3804827856018385, -5.7616389244014083, 7.5165636982133597, -3.7871806468757891, 2.6957388838195038, -3.0339814791522679, 7.7390014359139343, 1.0179611498135317, 0.57428282151728316, 9.2486809887277968, 8.9851820183067517, -12.322228892543235, 2.1846637256927366, -6.9268224211182101, -5.6465263096341207, -9.8609073169739414, -8.0437109222330996, -2.5924823061626299, 10.799267368908426, 9.5532367964485942, 2.1510949897407339, 0.72813586085734983, -7.6316236927774765, -6.6634161974825536, -7.6995131312161114, -2.6469146283491312, -7.8927242011683072, 7.9686594739655217, -8.0858268153723696, -11.113628935027652, -4.2312391545249435, 7.400536752330261, -15.878877108958942, 5.267992480772417, 11.16296673206628, -17.540164979801386, -14.801126830818111, -11.385201143366997, -14.508310090705075, 14.464207778841862, 11.215905228606482, 8.9532196390944634, 3.1058203222772014, 8.0753828772231113, 10.559485384240654, -8.2414912742823354, -11.714805939566189, 4.7281042573450431, 12.657353257890819, -6.3043093049399248, 5.067000914225444, -14.714628033981958, -7.7444814248447615, -2.5025562382741042, 13.564851064978582, -9.4328409951276662, 10.04126088038934, -10.570084081595921, 2.3444801610493466, 7.1831276221853866, 7.404162681313343, 1.1684082688282307, -8.8884680285241533, 1.9400943416397112, -13.196562462363692, -4.5705203572273359, 11.003636571194738, 11.468673888105736, -10.534610194739036, 4.4477979444487845, 7.3667611650061362, -12.044187016767467, -11.396051178941862, 3.9462512050906744, -12.988661501036244, 10.545881026800801, -8.0309289513402735, 9.9370741830104734, 13.654579804016825, 7.0469488853837321, -10.938942295813185, 5.1800344871423132, 10.882232153707738, 1.2710853105543087, -6.5661242949766816, 9.7776412282696459, 13.321850745505881, -8.1153422577009291, -2.2941713421233958, -8.7097542589155221, 2.2618606797252978, 3.1810406025700315, 4.829995467844082, -8.8230523342209999, -7.8350849175265527, -9.1156429568037076, -11.442019665347123, 2.2127249998070249, 18.018245968154236, 6.7919203279388967, 10.818120665998064, 15.957114328595093, 9.436472994391762, -15.0724442489973, 10.177531220212931, 8.7382348206500033, -7.4439716572652967, -10.135340539629416, -1.5478693068716267, -6.2520881203409369, 21.51870984833112, 6.7814496888686202, -5.4629593689724354, -1.0810664038442734, 11.680093350196586, -1.1684404824410481, -8.8192804660387161, 11.947180907432026, -11.865540708697406, -12.073158010228243, -9.3168616660647103, -10.855717378744718, 12.832277402471462, -15.233827235544979, 3.719489187613028, 12.974696537296685, -8.75959465422536, -2.4475947054420195, 11.313184053568827, 6.9182165488811229, 12.123675956468196, 9.6442923820443145, 10.799907622549545, 1.3696427348286129, 12.109212710737127, 2.6404947713803306, 9.5435762973738267, -5.4268755145327745, 10.974370356637689, 11.459181655827159, 10.228613791177938, -2.0376202581586202, 8.5519223504193267, -15.144108617549279, 10.208111627929036, -16.074632706297336, 9.535346082793712, 12.968894012265515, 4.2926497043948793, -7.6447760416419124, 7.3591604897068219, -6.294066487171917, 8.6661482650382133, 4.3524844886549072, -9.6284187314739373, -16.389868048898698, 14.370574991274481, -8.2963813089615268, 16.504114329831857, -8.4564658970066731, -6.3969858495492078, -7.0522130158545027, 16.328014713505098, 4.0676774938327931, -8.8805902890220576, -5.6438005548253818, 10.887856323753418, -13.497382772819085, -17.229682704447541, 10.177341730428909, -10.959196430060141, -15.892999214486872, -0.39312548358593402, 17.548662000796629, 8.138747505659067, -11.081466337015, 9.3549081143588229, -5.2668052531909293, 0.59145215464277101, 13.865804154173629, -6.7446135707105945, 10.591472647241186, -6.8775928522394087, 0.79035105716724385, -0.83434363179526505, 13.426811179256797, 13.480253964577903, 7.9579945693584886, 7.8687287842784803, -1.2711852125721312, -6.5831626138029433, -10.255988526378117, -9.3721646222445631, -4.5483019698635951, 12.654546996958775, -2.2845772848784054, -13.395748226685187, 10.227730333720137, -8.9275038607977386, 9.2096733075692399, -9.1994549499155589, -4.5768838702423018, 7.4336970353205523, 6.1990136188764922, 5.392562974045604, 6.8615159418299543, -9.9148725697134683, 10.272013543022926, -6.541146389868957, 6.1996539988491746, -8.5702789915391175, 6.0710850780527128, 0.41216255793753664, -6.8452494187073416, -7.3698306482120808, -4.3788198137924814, 5.254192997316685, 7.0651978737141468, -8.3496697717376325, -15.541186410630397, -13.361062248182593, 11.869712905857645, 8.8858662456220436, 2.315280646740792, 9.1370562156627635, 10.612212040886574, 15.723923545841364, 9.3000796832012966, -12.203790919241875, 9.5229433645020229, -11.332560886601259, -11.799762316157022, 8.6718707861873146, 3.4390494326490342, 10.948206478975262, 10.351083327208633, -2.3551385999606347, 3.6593868571158006, -10.912461508095474, 6.3601915796808566, 12.644105697007012, 8.0987317607631102, 6.8425116090817673, -7.8614337809266139, -16.777952262404956, -15.092829035089149, -10.867283176676434, 9.7617585972043095, 7.0699740006630494, -0.80345056050581032, 7.2341098943011026, -2.7901743760803868, -14.023920253719963, -8.6493250885626658, 12.119156062865828, -12.565363519164727, -6.6257256922764087, 9.9530063133378111, 6.2285641482405287, 8.5890710113124502, 10.901661163934543, 1.7011000225296526, 9.2328185698429888, -2.5151197107048353, -0.78814118951465995, -6.3782804075339934, 0.77016194990540299, 4.7860592575330942, -18.091131028655795, 6.6618347947308489, -4.5537746303503699, 12.906362988375243, 6.6637236513957019, 5.4194732758517778, -5.626683563346548, 4.8295291548347352, -11.904932030289029, 9.9944164460741938, -11.027348899069844, -0.014743410131345848, -7.3410368137184197, -12.558702052466645, -9.2966083471503538, -2.8582301845790048, 16.122229949617235, 6.0332133243788979, 9.4423884847579131, -6.7953848219405604, -8.640997496023326, 11.564755524473357, 7.7370575077503672, 11.178600690994582, 9.6609341268345741, -5.0924071871300569, 2.9472182219982841, 11.322674214116185, 17.636604816170465, -8.112421382991716, 5.7980976514734257, 10.587871354585735, -10.207529594090163, -13.012906685255201, 1.6439826301840548, 4.7959168408892552, -9.1817793609379343, 15.910744159295755, 11.988413488939839, 10.225499838967904, -2.1100999951643771, 7.7773391391119979, 4.2070274590049737, 3.1789918079199362, 11.389698381773869, -5.6797986359782069, -4.7261529062162424, -6.1926650154600731, 9.5097255166801595, -4.4005426737892748, 4.8284348550831577, -7.4035564503513553, -10.371755556185054, -11.138214834764621, -11.479591917367713, 7.3492465579271542, -8.6401023000535666, 2.4737379805053212, -8.4391176745455763, -3.5699286239866383, -8.1254703716775829, 11.948227614312263, 7.880462510583679, 1.8623842706739999, 7.3888689386136646, -1.2896033177393418, -8.2116493851785464, -9.0121076446113531, 2.6038276518722672, 7.9944375021940459, -4.3649859784435145, 5.1704186172538593, 7.7846827735959723, -0.51775021699396251, -13.814395914977867, 11.155615752700793, -4.0116122940272048 +}; + +char detected_data[] = { +0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1 +}; diff --git a/src/H2064_516_sparse_test.h b/src/H2064_516_sparse_test.h new file mode 100644 index 0000000..d3d4797 --- /dev/null +++ b/src/H2064_516_sparse_test.h @@ -0,0 +1,33 @@ +/* + FILE....: ../src/H2064_516_sparse.h + + Static arrays for CML LDPC codec, generated + by test_ldpc_fsk.m:simple_ut(). + +*/ + +#define NUMBERPARITYBITS 516 +#define MAX_ROW_WEIGHT 12 +#define CODELENGTH 2580 +#define NUMBERROWSHCOLS 2064 +#define MAX_COL_WEIGHT 3 +#define DEC_TYPE 0 +#define MAX_ITER 10 + +#include + +uint16_t H_rows[] = { +870, 276, 110, 54, 226, 85, 59, 153, 31, 60, 46, 75, 139, 239, 56, 13, 30, 45, 63, 34, 54, 21, 77, 204, 441, 11, 297, 126, 148, 104, 269, 57, 369, 213, 117, 479, 53, 124, 405, 97, 42, 132, 67, 103, 389, 156, 237, 105, 418, 11, 60, 12, 195, 32, 11, 21, 10, 191, 176, 237, 140, 376, 115, 9, 149, 304, 129, 308, 234, 129, 453, 215, 176, 213, 151, 169, 41, 106, 421, 103, 83, 62, 124, 3, 574, 39, 31, 472, 69, 8, 40, 352, 62, 275, 74, 121, 125, 35, 83, 52, 21, 422, 229, 233, 62, 125, 181, 175, 28, 43, 113, 340, 71, 4, 40, 249, 134, 168, 97, 15, 26, 135, 104, 80, 206, 108, 307, 494, 358, 82, 159, 137, 19, 210, 6, 19, 65, 285, 45, 154, 276, 14, 137, 79, 241, 235, 116, 129, 84, 3, 122, 370, 132, 451, 77, 89, 262, 79, 170, 469, 24, 163, 128, 18, 120, 244, 8, 153, 151, 441, 95, 327, 284, 96, 84, 35, 61, 286, 20, 22, 68, 131, 106, 30, 280, 343, 99, 124, 262, 208, 277, 44, 349, 41, 10, 761, 39, 445, 165, 81, 393, 194, 18, 250, 589, 70, 307, 1, 365, 47, 4, 9, 283, 133, 90, 601, 117, 228, 212, 58, 420, 230, 142, 25, 57, 518, 88, 180, 24, 122, 379, 143, 33, 30, 140, 68, 150, 320, 55, 33, 132, 2, 22, 16, 272, 44, 264, 49, 174, 234, 86, 39, 10, 278, 177, 178, 20, 126, 18, 90, 6, 184, 158, 111, 246, 229, 221, 48, 267, 6, 172, 49, 291, 185, 67, 50, 157, 66, 32, 525, 257, 196, 260, 92, 72, 163, 144, 329, 134, 156, 47, 82, 49, 391, 26, 1, 88, 52, 56, 8, 111, 138, 219, 57, 447, 182, 263, 38, 98, 75, 36, 83, 245, 5, 419, 63, 12, 287, 603, 58, 507, 37, 2, 214, 539, 55, 53, 81, 186, 73, 85, 97, 91, 332, 123, 66, 188, 591, 158, 324, 88, 53, 214, 84, 389, 104, 271, 211, 7, 393, 281, 242, 119, 848, 705, 428, 50, 28, 52, 15, 5, 2, 230, 38, 76, 295, 217, 1, 56, 170, 145, 5, 72, 460, 203, 145, 211, 121, 68, 538, 44, 133, 87, 494, 325, 161, 781, 370, 51, 115, 262, 106, 614, 29, 220, 189, 224, 165, 17, 72, 46, 17, 64, 19, 447, 13, 9, 270, 4, 91, 471, 35, 23, 407, 34, 38, 82, 321, 112, 195, 651, 7, 43, 431, 249, 171, 196, 311, 15, 66, 16, 633, 37, 94, 102, 23, 3, 214, 252, 256, 173, 316, 125, 96, 341, 71, 73, 338, 256, 165, 140, 108, 471, 434, 137, 642, 172, 51, 113, 67, 172, 93, 23, 318, 514, 50, 118, 245, 169, 14, 64, 40, 859, 95, 308, 65, 93, 42, 339, 46, 7, 96, 142, 36, 131, 60, 13, 12, 25, 31, 183, 94, 43, 241, 162, 26, 232, 120, 128, 118, 89, 164, 51, 29, 127, 177, 180, 95, 332, 284, 32, 802, 452, 25, 382, 187, 892, 432, 162, 126, 587, 342, 205, 170, 255, 73, 605, 579, 398, 305, 58, 110, 178, 244, 306, 178, 166, 28, 368, 224, 582, 135, 420, 618, 264, 234, 346, 223, 439, 399, 150, 655, 242, 248, 750, 199, 242, 277, 112, 163, 545, 359, 487, 322, 570, 64, 402, 412, 252, 116, 147, 109, 27, 197, 204, 251, 282, 455, 118, 390, 225, 382, 215, 373, 554, 371, 568, 289, 225, 405, 160, 414, 290, 109, 524, 406, 344, 188, 385, 33, 791, 261, 171, 475, 100, 183, 156, 564, 78, 395, 144, 497, 334, 45, 167, 79, 27, 520, 239, 449, 138, 347, 667, 572, 61, 278, 136, 375, 231, 320, 167, 304, 389, 185, 171, 109, 468, 243, 206, 210, 305, 160, 682, 514, 433, 152, 375, 1064, 48, 522, 139, 98, 191, 557, 127, 189, 372, 54, 515, 406, 370, 950, 549, 352, 319, 27, 489, 440, 636, 941, 153, 102, 268, 120, 190, 719, 451, 175, 539, 477, 279, 474, 17, 232, 221, 476, 174, 415, 545, 357, 368, 149, 94, 409, 218, 76, 87, 136, 114, 245, 596, 408, 335, 246, 511, 560, 438, 298, 351, 91, 22, 813, 108, 546, 248, 218, 629, 212, 223, 569, 611, 93, 399, 185, 427, 260, 20, 111, 354, 187, 150, 702, 316, 666, 541, 227, 558, 486, 207, 450, 224, 568, 222, 341, 81, 222, 386, 441, 484, 159, 289, 142, 372, 534, 157, 78, 337, 522, 70, 293, 318, 161, 325, 74, 194, 797, 130, 128, 70, 386, 657, 611, 105, 456, 230, 100, 61, 274, 358, 135, 249, 236, 247, 264, 279, 123, 345, 59, 397, 645, 448, 80, 192, 149, 190, 564, 292, 508, 359, 202, 152, 459, 200, 446, 293, 512, 103, 154, 229, 492, 145, 256, 828, 55, 296, 133, 147, 314, 220, 190, 481, 208, 290, 198, 146, 100, 202, 259, 295, 16, 505, 251, 86, 375, 618, 266, 891, 166, 159, 269, 850, 127, 397, 759, 494, 141, 567, 339, 119, 336, 162, 98, 265, 770, 423, 380, 346, 116, 402, 101, 628, 623, 286, 309, 107, 453, 406, 496, 200, 865, 720, 429, 187, 107, 609, 439, 90, 48, 330, 59, 87, 632, 323, 219, 101, 865, 203, 14, 74, 466, 462, 160, 448, 168, 474, 980, 396, 148, 244, 904, 438, 198, 982, 601, 199, 119, 300, 240, 702, 241, 258, 192, 291, 227, 34, 698, 78, 107, 123, 89, 704, 114, 274, 461, 151, 115, 576, 323, 201, 468, 271, 231, 92, 592, 220, 909, 829, 243, 480, 466, 345, 763, 404, 356, 86, 110, 210, 688, 353, 271, 740, 226, 352, 247, 288, 758, 338, 426, 235, 405, 625, 155, 146, 475, 491, 189, 177, 216, 962, 503, 216, 726, 381, 219, 183, 102, 332, 113, 155, 440, 922, 450, 379, 294, 301, 36, 80, 75, 875, 462, 547, 69, 330, 186, 527, 92, 138, 157, 169, 69, 143, 401, 24, 283, 41, 37, 472, 309, 117, 747, 342, 251, 300, 182, 216, 202, 266, 192, 217, 302, 660, 360, 663, 130, 355, 367, 47, 1103, 519, 811, 586, 488, 983, 652, 303, 201, 759, 860, 416, 585, 268, 428, 928, 819, 821, 379, 340, 493, 260, 752, 599, 314, 182, 444, 612, 369, 692, 311, 523, 622, 335, 259, 499, 225, 526, 409, 188, 709, 356, 606, 777, 222, 541, 327, 201, 176, 551, 544, 1008, 372, 628, 181, 523, 549, 476, 464, 240, 593, 181, 254, 223, 305, 285, 595, 217, 887, 550, 552, 278, 381, 621, 517, 953, 538, 265, 581, 313, 540, 366, 626, 647, 511, 467, 508, 890, 63, 976, 275, 312, 885, 598, 254, 180, 687, 196, 398, 146, 675, 380, 101, 443, 122, 85, 531, 347, 463, 167, 536, 724, 710, 288, 351, 232, 387, 424, 650, 363, 544, 540, 248, 279, 121, 479, 267, 218, 445, 485, 240, 737, 692, 1017, 331, 716, 1130, 207, 602, 274, 750, 261, 572, 131, 435, 672, 253, 729, 542, 739, 1062, 731, 619, 328, 65, 769, 502, 898, 966, 158, 211, 289, 193, 314, 784, 533, 396, 567, 497, 280, 696, 348, 290, 383, 636, 526, 470, 622, 541, 411, 286, 378, 561, 374, 194, 349, 166, 143, 390, 697, 533, 570, 304, 615, 709, 476, 679, 454, 287, 114, 904, 535, 786, 270, 308, 828, 302, 506, 732, 626, 533, 584, 186, 456, 495, 350, 317, 672, 343, 315, 919, 367, 820, 548, 296, 614, 635, 209, 543, 350, 733, 239, 376, 287, 344, 470, 563, 607, 319, 323, 473, 428, 677, 212, 263, 386, 567, 435, 328, 616, 255, 729, 147, 320, 855, 267, 426, 261, 458, 977, 670, 173, 478, 366, 112, 71, 419, 968, 139, 606, 292, 275, 463, 344, 671, 810, 77, 465, 755, 579, 179, 353, 357, 442, 599, 354, 805, 453, 407, 193, 510, 285, 513, 583, 645, 325, 173, 621, 573, 423, 479, 912, 130, 300, 227, 184, 391, 293, 204, 673, 282, 371, 324, 313, 228, 334, 343, 655, 42, 532, 559, 658, 484, 921, 373, 944, 329, 184, 302, 861, 205, 414, 771, 606, 312, 652, 503, 413, 415, 238, 449, 781, 874, 586, 544, 402, 468, 525, 155, 845, 714, 295, 564, 197, 509, 863, 640, 209, 986, 808, 691, 317, 355, 789, 779, 281, 141, 594, 336, 105, 682, 360, 299, 559, 876, 608, 315, 401, 632, 480, 161, 577, 284, 657, 1012, 481, 330, 388, 1011, 524, 423, 1019, 812, 416, 168, 322, 258, 710, 703, 1027, 195, 447, 259, 633, 990, 710, 215, 410, 458, 760, 174, 312, 605, 269, 206, 617, 534, 554, 497, 296, 393, 236, 784, 483, 1189, 892, 602, 788, 709, 382, 831, 537, 695, 99, 563, 424, 759, 432, 281, 795, 319, 422, 684, 331, 866, 377, 638, 247, 501, 711, 463, 475, 631, 507, 310, 298, 252, 1059, 757, 364, 785, 410, 233, 411, 236, 487, 339, 341, 473, 1022, 527, 515, 700, 380, 388, 414, 253, 913, 466, 773, 238, 638, 335, 896, 298, 310, 658, 461, 207, 205, 550, 29, 425, 141, 76, 649, 442, 322, 832, 730, 307, 385, 401, 268, 301, 311, 306, 291, 364, 864, 560, 840, 199, 358, 385, 179, 1142, 520, 986, 600, 712, 1018, 661, 365, 237, 769, 953, 517, 605, 396, 459, 991, 867, 899, 415, 700, 556, 324, 788, 639, 778, 226, 743, 685, 706, 883, 362, 970, 785, 387, 376, 734, 392, 730, 448, 250, 731, 387, 665, 1015, 243, 812, 391, 795, 346, 588, 737, 1077, 874, 933, 412, 817, 585, 550, 491, 273, 640, 208, 542, 338, 436, 895, 694, 257, 899, 583, 629, 327, 815, 744, 573, 1226, 727, 272, 607, 331, 1050, 594, 754, 716, 515, 524, 695, 1086, 297, 1177, 400, 678, 1004, 648, 294, 555, 780, 316, 486, 689, 679, 430, 136, 717, 233, 400, 646, 383, 530, 263, 574, 749, 790, 336, 377, 409, 609, 499, 686, 518, 595, 601, 334, 531, 197, 485, 348, 424, 701, 579, 500, 1147, 797, 1085, 404, 738, 1200, 253, 714, 427, 756, 303, 610, 313, 1399, 770, 455, 732, 796, 824, 1230, 927, 929, 397, 276, 794, 741, 957, 1052, 1002, 213, 392, 566, 461, 832, 798, 433, 590, 723, 718, 755, 878, 446, 615, 669, 776, 608, 659, 565, 443, 457, 407, 577, 631, 255, 365, 399, 152, 766, 814, 556, 640, 1137, 1000, 767, 745, 733, 1194, 529, 238, 1034, 789, 1314, 436, 493, 853, 492, 654, 809, 885, 636, 596, 270, 848, 774, 364, 512, 832, 411, 516, 927, 700, 857, 588, 703, 756, 758, 315, 574, 810, 885, 416, 600, 690, 417, 501, 626, 707, 581, 377, 916, 660, 808, 587, 265, 395, 613, 906, 381, 661, 310, 799, 148, 632, 941, 750, 578, 277, 1065, 1242, 1018, 326, 551, 459, 134, 99, 510, 1097, 198, 673, 531, 450, 697, 394, 749, 948, 193, 664, 965, 818, 454, 419, 556, 721, 742, 473, 886, 647, 694, 209, 906, 433, 674, 620, 666, 464, 446, 634, 728, 430, 630, 990, 435, 371, 534, 394, 467, 928, 326, 723, 490, 816, 699, 490, 530, 384, 361, 772, 374, 554, 619, 672, 613, 924, 677, 1079, 404, 367, 337, 898, 228, 418, 844, 766, 317, 680, 690, 566, 680, 333, 726, 960, 942, 637, 607, 452, 664, 698, 235, 942, 736, 368, 584, 362, 650, 871, 683, 328, 1141, 988, 715, 915, 495, 1084, 919, 613, 179, 888, 355, 144, 1243, 655, 551, 582, 993, 730, 340, 548, 774, 643, 469, 651, 392, 843, 1196, 590, 573, 545, 1211, 593, 439, 1027, 869, 586, 442, 762, 502, 758, 822, 1048, 254, 628, 417, 683, 996, 752, 384, 725, 676, 842, 360, 374, 688, 353, 549, 661, 648, 584, 624, 348, 530, 250, 1135, 667, 1298, 1033, 623, 1102, 715, 594, 888, 871, 833, 321, 634, 491, 766, 505, 297, 1024, 388, 460, 707, 735, 1023, 444, 1098, 629, 505, 807, 581, 543, 687, 598, 337, 434, 806, 1111, 761, 521, 826, 547, 257, 434, 412, 688, 577, 363, 839, 1187, 1306, 648, 808, 504, 760, 429, 309, 916, 503, 777, 403, 1076, 512, 1127, 592, 351, 692, 711, 474, 587, 558, 487, 498, 326, 164, 902, 456, 471, 836, 748, 469, 480, 537, 553, 507, 347, 490, 498, 420, 1010, 598, 1022, 283, 362, 958, 553, 1156, 712, 1108, 718, 753, 1067, 681, 398, 483, 903, 956, 698, 612, 578, 489, 1294, 990, 920, 592, 1113, 862, 464, 1435, 835, 788, 280, 957, 795, 743, 1108, 425, 1026, 879, 488, 701, 931, 610, 741, 1061, 282, 830, 413, 983, 1159, 1067, 1071, 437, 843, 506, 610, 890, 1133, 1034, 954, 452, 925, 785, 836, 620, 597, 722, 258, 858, 342, 455, 927, 706, 299, 1104, 660, 811, 333, 1173, 878, 858, 1336, 816, 457, 948, 563, 1054, 678, 764, 733, 565, 555, 873, 1150, 485, 1303, 496, 796, 1218, 823, 634, 624, 878, 686, 684, 879, 1100, 454, 154, 1002, 357, 822, 676, 740, 578, 350, 1124, 834, 876, 500, 486, 426, 663, 529, 947, 656, 621, 823, 361, 615, 421, 585, 417, 538, 707, 656, 861, 1236, 831, 1087, 508, 768, 1269, 292, 786, 478, 1043, 593, 765, 408, 1439, 806, 528, 801, 912, 882, 1348, 1050, 1077, 528, 349, 996, 799, 976, 1265, 1100, 674, 470, 617, 540, 847, 862, 457, 757, 841, 973, 921, 969, 539, 646, 699, 959, 654, 670, 787, 872, 559, 744, 1276, 666, 273, 569, 833, 191, 775, 896, 576, 935, 1231, 1046, 923, 804, 949, 1201, 572, 303, 1162, 827, 1346, 897, 612, 937, 599, 675, 992, 930, 644, 1151, 301, 1103, 1086, 482, 831, 1130, 472, 753, 1007, 852, 1054, 635, 705, 955, 823, 425, 596, 962, 908, 445, 880, 867, 478, 509, 653, 775, 591, 510, 1055, 798, 1021, 740, 294, 427, 679, 973, 484, 686, 369, 836, 410, 802, 1245, 883, 649, 431, 1102, 1267, 1262, 557, 1092, 837, 164, 881, 726, 1120, 273, 697, 1097, 609, 708, 663, 838, 985, 552, 968, 1042, 1044, 483, 520, 691, 736, 756, 521, 895, 779, 914, 266, 1356, 548, 742, 964, 888, 481, 877, 685, 791, 437, 696, 991, 825, 643, 708, 969, 683, 1080, 1001, 1012, 617, 1030, 734, 792, 1069, 504, 394, 864, 595, 676, 782, 695, 837, 1154, 819, 1104, 437, 413, 383, 913, 627, 624, 987, 1394, 449, 839, 825, 1054, 1180, 378, 1211, 1090, 1114, 804, 897, 558, 1032, 746, 246, 1051, 870, 958, 725, 536, 702, 1035, 971, 356, 1195, 1061, 827, 1090, 526, 1092, 1250, 1025, 231, 947, 659, 272, 1284, 802, 826, 902, 1040, 870, 345, 658, 822, 715, 1012, 872, 575, 945, 1232, 805, 720, 580, 1215, 854, 603, 1074, 1056, 991, 528, 1218, 642, 1060, 1010, 1203, 288, 978, 884, 762, 1118, 763, 430, 786, 922, 928, 886, 529, 706, 403, 1104, 693, 868, 815, 670, 366, 546, 378, 1151, 901, 1522, 1107, 671, 1333, 745, 724, 1230, 1073, 911, 429, 646, 611, 889, 746, 403, 1032, 616, 637, 1382, 767, 1083, 451, 1212, 803, 1318, 849, 662, 955, 712, 971, 571, 496, 977, 1145, 1160, 931, 830, 580, 359, 805, 668, 770, 771, 390, 882, 1329, 1572, 851, 829, 535, 944, 535, 373, 930, 669, 828, 565, 1219, 620, 1308, 793, 361, 938, 859, 482, 946, 1186, 742, 591, 846, 221, 906, 641, 631, 1068, 780, 536, 517, 844, 652, 721, 552, 523, 627, 525, 1186, 944, 1039, 794, 498, 1076, 654, 1167, 856, 1264, 890, 768, 1225, 691, 729, 543, 936, 1016, 1210, 656, 604, 608, 1324, 1035, 1095, 639, 1311, 1281, 877, 1519, 923, 974, 431, 1057, 903, 809, 1137, 569, 1243, 1118, 880, 720, 1102, 1168, 821, 1193, 432, 999, 555, 1013, 1375, 1200, 1080, 495, 982, 519, 630, 1066, 1164, 1091, 1006, 1039, 943, 1195, 1103, 665, 894, 908, 329, 1081, 951, 641, 1060, 793, 719, 1232, 713, 847, 395, 1213, 1038, 1041, 1587, 984, 752, 1125, 929, 1095, 988, 940, 845, 603, 623, 875, 1158, 772, 1503, 506, 816, 1500, 1007, 638, 633, 936, 703, 704, 1173, 1171, 724, 175, 1051, 604, 1174, 682, 819, 854, 384, 1196, 1249, 1029, 509, 504, 537, 722, 571, 1121, 739, 838, 1027, 363, 743, 570, 818, 546, 721, 736, 842, 905, 1372, 932, 1178, 863, 840, 1334, 299, 855, 499, 1293, 1202, 1061, 689, 1516, 866, 614, 862, 955, 981, 1511, 1153, 1256, 768, 501, 1044, 1282, 985, 1455, 1235, 711, 1001, 627, 641, 889, 914, 644, 877, 913, 1149, 1138, 1188, 557, 871, 787, 1015, 727, 731, 868, 892, 560, 778, 1331, 1025, 318, 619, 864, 203, 911, 1052, 705, 1079, 1461, 1090, 994, 1023, 1050, 1535, 625, 999, 1344, 933, 1498, 1045, 939, 1249, 650, 910, 1294, 951, 649, 1163, 418, 1133, 1089, 493, 1116, 1309, 561, 857, 1073, 1112, 1223, 909, 807, 989, 1053, 997, 813, 976, 1074, 527, 1070, 966, 775, 511, 1004, 800, 717, 933, 1120, 900, 1389, 922, 684, 440, 704, 1106, 668, 767, 757, 847, 936, 835, 1293, 893, 895, 647, 1269, 1480, 1304, 782, 1166, 952, 566, 1124, 846, 1203, 354, 893, 1200, 952, 792, 667, 1164, 1003, 718, 1002, 1139, 1163, 1096, 685, 769, 1003, 977, 532, 1128, 905, 926, 443, 1405, 576, 835, 1116, 1145, 562, 1063, 737, 883, 639, 790, 1021, 967, 772, 995, 1165, 754, 1422, 1583, 1075, 997, 1082, 748, 827, 1197, 516, 465, 1451, 645, 879, 809, 739, 855, 1155, 948, 1117, 460, 465, 791, 1098, 693, 673, 1087, 1400, 532, 910, 829, 1171, 1214, 400, 1221, 1603, 1323, 834, 965, 787, 1045, 918, 589, 1074, 1171, 1116, 744, 905, 931, 1176, 1005, 589, 1238, 1107, 972, 1115, 600, 1181, 1609, 1105, 521, 1158, 1049, 306, 1389, 804, 963, 971, 1199, 917, 716, 668, 973, 998, 1174, 903, 590, 1130, 1472, 841, 811, 597, 1399, 956, 719, 1301, 1083, 1044, 622, 1446, 1097, 1206, 1119, 1345, 604, 1324, 920, 1129, 1340, 798, 444, 980, 997, 1232, 1087, 884, 1093, 422, 1135, 909, 1026, 1055, 824, 462, 678, 945, 1234, 1149, 1542, 1177, 675, 1421, 779, 1013, 1486, 1388, 1191, 514, 1219, 760, 974, 773, 477, 1190, 784, 674, 1428, 778, 1257, 477, 1252, 901, 1352, 1037, 1224, 970, 813, 1009, 1162, 519, 1088, 1157, 1409, 1182, 1089, 755, 438, 1076, 725, 869, 900, 436, 1148, 1421, 1588, 956, 978, 749, 950, 932, 516, 1046, 814, 865, 588, 1303, 713, 1614, 1024, 421, 959, 897, 518, 987, 1275, 765, 887, 893, 333, 925, 732, 635, 1169, 910, 1434, 575, 959, 653, 850, 728, 583, 1093, 542, 1316, 1031, 1059, 1122, 642, 1121, 891, 1209, 925, 1299, 896, 932, 1288, 934, 984, 580, 1113, 1413, 1224, 964, 643, 773, 1337, 1663, 1341, 657, 1357, 1473, 1292, 1551, 970, 1209, 792, 1339, 1141, 1140, 1320, 616, 1383, 1126, 980, 1014, 1146, 1245, 859, 1298, 513, 1182, 662, 1014, 1562, 1297, 1151, 502, 1139, 874, 1259, 1645, 1169, 1242, 1072, 1412, 1115, 1275, 1466, 1239, 1038, 1184, 458, 1094, 1440, 810, 1352, 1339, 830, 1354, 801, 848, 671, 1300, 1147, 1047, 1625, 1117, 1046, 1327, 1047, 1237, 1101, 1018, 1016, 745, 1066, 1132, 1221, 841, 1512, 522, 853, 1535, 1248, 975, 694, 1143, 824, 1009, 1185, 1288, 908, 200, 1308, 904, 1665, 687, 843, 943, 1199, 1198, 1379, 1168, 571, 789, 630, 846, 602, 1342, 1350, 995, 1114, 408, 1043, 1304, 945, 751, 793, 741, 1072, 1006, 1401, 1331, 1296, 1152, 856, 1337, 321, 881, 937, 1318, 1535, 1560, 806, 1696, 924, 625, 994, 1058, 996, 1649, 1183, 1442, 1118, 901, 1094, 1408, 1016, 1653, 1259, 800, 1317, 677, 815, 894, 1017, 1278, 957, 1109, 1284, 1321, 1220, 947, 1383, 860, 1220, 783, 873, 979, 1025, 1228, 1007, 1417, 1231, 735, 783, 872, 492, 1028, 1244, 852, 1144, 1645, 1172, 1088, 1110, 1204, 1622, 738, 1146, 1513, 1106, 1564, 1079, 1021, 1436, 776, 917, 1467, 1051, 814, 1217, 812, 1174, 1271, 863, 1187, 1461, 644, 1308, 1154, 1263, 1225, 1121, 867, 1110, 1157, 1139, 989, 1033, 1270, 1163, 1170, 1037, 880, 803, 1098, 807, 968, 1446, 1235, 1064, 1547, 979, 842, 500, 838, 1398, 939, 916, 953, 920, 946, 851, 1428, 1210, 960, 762, 1456, 1519, 1384, 898, 1361, 995, 1100, 1508, 856, 1284, 553, 1330, 1249, 1258, 1020, 764, 1165, 1179, 1047, 1056, 1285, 1266, 1286, 853, 1397, 1515, 987, 547, 1296, 1215, 965, 489, 1444, 800, 849, 1300, 1242, 662, 1085, 818, 918, 748, 954, 1024, 1022, 954, 1109, 1218, 821, 1431, 1587, 1315, 1081, 1140, 754, 943, 1371, 1003, 840, 1475, 722, 1081, 1033, 1216, 1254, 1175, 1122, 1203, 728, 488, 1189, 1377, 1136, 907, 1267, 1416, 751, 1169, 1101, 1289, 1241, 597, 1322, 1625, 1332, 961, 985, 915, 1128, 1069, 764, 1175, 1177, 1156, 889, 1075, 1088, 1251, 1031, 738, 1523, 1229, 994, 1489, 637, 1185, 1651, 1112, 680, 1608, 1197, 513, 1538, 978, 1040, 1000, 1432, 1030, 887, 833, 1057, 1094, 1565, 1190, 696, 1178, 1556, 1045, 1307, 1294, 1436, 1096, 747, 1485, 1128, 1430, 664, 1653, 1180, 1597, 1167, 1452, 776, 1341, 1305, 1142, 1418, 849, 562, 1247, 998, 1391, 1161, 941, 1387, 912, 1149, 1078, 1029, 1141, 1197, 582, 701, 961, 1423, 1195, 1674, 1205, 964, 1633, 929, 1127, 1571, 1581, 1291, 681, 1272, 781, 981, 783, 765, 1295, 974, 1015, 1516, 873, 1324, 482, 1262, 1371, 1648, 1101, 1240, 1115, 837, 1048, 1301, 763, 1260, 1229, 1426, 1316, 1208, 963, 1083, 1125, 992, 882, 1034, 467, 1176, 1429, 1610, 1452, 1376, 753, 1184, 1239, 777, 1291, 1264, 1223, 659, 1378, 797, 1632, 1071, 575, 1099, 926, 801, 1042, 1322, 1111, 1234, 1112, 979, 962, 993, 713, 1271, 1008, 1533, 653, 999, 746, 876, 751, 1123, 1319, 693, 1354, 1209, 1207, 1159, 1250, 1192, 1385, 1350, 952, 1543, 1020, 1067, 1632, 1119, 1635, 1165, 1161, 1483, 1347, 983, 669, 796, 1412, 1684, 1374, 886, 1468, 1479, 1594, 1781, 1113, 1274, 969, 1343, 1403, 1261, 1440, 681, 1424, 1216, 1207, 1210, 1172, 1325, 935, 1414, 1123, 1287, 1158, 1032, 1589, 1554, 1326, 562, 1313, 949, 1296, 1760, 1260, 1552, 1129, 1422, 1258, 1542, 1525, 1253, 1089, 1255, 1131, 1220, 1652, 869, 1410, 1351, 1266, 1518, 868, 884, 1302, 1486, 1362, 1185, 1652, 1172, 1205, 1388, 1479, 1270, 1224, 1297, 1138, 817, 1170, 1214, 1240, 1153, 1551, 817, 915, 1553, 1319, 1496, 717, 1194, 850, 1091, 1256, 1541, 1039, 561, 1358, 938, 1707, 1557, 1368, 1160, 1342, 1404, 1515, 1435, 727, 790, 1396, 854, 891, 1783, 1365, 1271, 1183, 1400, 1205, 1367, 1068, 794, 1006, 803, 1485, 1164, 1422, 1502, 1334, 1359, 1215, 1698, 1042, 1204, 1028, 1458, 1550, 1600, 1111, 1700, 1132, 992, 1134, 1430, 1049, 1731, 1323, 1555, 1228, 1456, 1099, 1545, 1091, 1685, 1445, 857, 1612, 735, 1126, 946, 1168, 1399, 1222, 1192, 1373, 1575, 1317, 1073, 1506, 1143, 1440, 1438, 1263, 1105, 1327, 1256, 1126, 1619, 1265, 924, 961, 1023, 866, 1070, 1437, 1132, 1487, 1675, 1333, 1423, 1182, 1295, 1683, 939, 1154, 1617, 1212, 1665, 1414, 1107, 1534, 1282, 1402, 1485, 1096, 1059, 1495, 981, 1235, 1381, 1017, 1240, 1534, 875, 1561, 1279, 1354, 1353, 1396, 1243, 1547, 1356, 1166, 1181, 1343, 1285, 1247, 1255, 1357, 975, 919, 1318, 988, 1477, 1521, 1358, 1206, 1549, 1146, 1117, 1305, 1019, 1406, 982, 942, 1014, 1075, 1004, 860, 1512, 1241, 1053, 858, 1620, 1527, 1415, 1251, 1497, 1108, 1166, 1667, 967, 1434, 665, 1335, 1313, 1406, 1283, 902, 1362, 1358, 1501, 1222, 1427, 1280, 1309, 984, 1647, 1573, 1449, 618, 1328, 1310, 1120, 844, 1739, 1424, 1246, 1474, 1561, 699, 1277, 826, 1386, 1257, 1227, 1056, 1189, 975, 1125, 1329, 917, 1464, 1784, 1405, 1152, 1153, 935, 1092, 1464, 1040, 907, 1592, 1428, 1136, 1063, 1420, 1390, 1251, 1217, 1268, 1143, 708, 1603, 1407, 1160, 1207, 1340, 1488, 998, 1315, 1344, 1300, 1365, 1134, 1401, 1629, 1366, 1008, 1013, 1211, 1179, 1188, 825, 1262, 1393, 1469, 1173, 1077, 1248, 1417, 1095, 907, 1654, 1320, 1065, 1598, 799, 1601, 1656, 1190, 714, 1754, 1595, 651, 1647, 1063, 1397, 1157, 1481, 1237, 1060, 1482, 1287, 1192, 1618, 1394, 1259, 1558, 1635, 1162, 1377, 1803, 1492, 1476, 774, 1626, 1420, 1504, 689, 1687, 1372, 1616, 1199, 1471, 934, 1342, 1351, 1261, 1442, 923, 723, 1361, 1084, 1450, 1233, 1011, 1389, 1338, 1186, 1340, 1110, 1327, 1225, 690, 1483, 1064, 1443, 1258, 1697, 1213, 966, 1687, 1161, 1314, 1605, 1877, 1477, 747, 1280, 1028, 1138, 820, 782, 1560, 1038, 1592, 1517, 894, 1586, 568, 1276, 1379, 1753, 1230, 1749, 1122, 1458, 1080, 1526, 1411, 1309, 1332, 1430, 1381, 1255, 1648, 1248, 1267, 1459, 914, 1085, 1184, 1180, 1459, 1629, 1463, 1378, 845, 1343, 1415, 1037, 1292, 1336, 1431, 734, 1426, 1193, 1688, 1279, 940, 1313, 1036, 1155, 1099, 1406, 1490, 1326, 1556, 1069, 1005, 1142, 1010, 1273, 1312, 1546, 761, 1624, 1065, 921, 1055, 1134, 1518, 839, 1435, 1234, 1244, 1238, 1297, 1254, 1494, 1484, 1145, 1604, 1404, 1289, 1645, 1131, 1658, 1198, 1392, 1557, 1667, 1082, 972, 918, 1432, 1701, 1637, 1312, 1579, 1680, 1864, 1825, 1194, 1457, 1370, 1411, 1479, 1398, 1510, 1049, 1447, 1576, 1252, 1290, 1360, 1679, 1070, 1506, 1699, 1359, 1204, 1222, 1818, 1596, 1363, 834, 1383, 1513, 1499, 1766, 1646, 1629, 1328, 1423, 1460, 1640, 1923, 1302, 1216, 1364, 1369, 1233, 1739, 1031, 1624, 1505, 1434, 1630, 1451, 1196, 1548, 1527, 1454, 1520, 1707, 1407, 1467, 1561, 1604, 1319, 1543, 1456, 1374, 881, 1453, 1323, 1735, 1246, 1660, 1381, 1188, 1709, 1391, 1532, 771, 1264, 851, 1219, 1322, 1639, 1144, 960, 1615, 1136, 1732, 1690, 1371, 1433, 1377, 1459, 1571, 1447, 1058, 1245, 1451, 1053, 949, 1894, 1531, 1305, 1253, 1493, 1303, 1380, 1581, 1330, 1082, 1036, 1541, 1520, 1437, 1585, 1359, 1425, 1410, 1857, 1465, 1239, 1208, 1585, 1642, 1807, 1743, 1710, 1167, 1135, 1465, 1513, 1175, 1759, 1524, 1655, 1348, 1471, 1150, 1581, 1917, 1694, 1545, 911, 1622, 852, 1348, 1191, 1261, 1410, 1491, 1237, 1401, 1822, 1325, 1457, 1668, 1236, 1449, 1698, 1270, 1392, 1418, 1486, 1133, 1797, 1503, 1041, 1198, 1392, 1041, 1632, 1621, 1311, 1638, 1832, 1364, 1452, 1499, 1472, 1913, 1295, 1208, 1766, 1369, 1780, 1541, 1462, 1545, 1336, 1569, 1693, 1385, 1276, 1547, 1266, 1338, 1505, 1029, 1493, 1670, 958, 1572, 1607, 1446, 1634, 1530, 1414, 1704, 1552, 1441, 1653, 1480, 1310, 1712, 1347, 1403, 1408, 951, 1360, 1213, 1562, 1710, 1419, 1528, 1589, 1443, 1345, 1636, 1071, 1637, 1026, 1644, 1030, 1638, 1221, 1119, 1570, 1712, 1253, 989, 1742, 1790, 1537, 1619, 1508, 1150, 1326, 1926, 1470, 1702, 940, 1733, 1362, 1429, 1299, 938, 1606, 1453, 1568, 1335, 1738, 1564, 1312, 1275, 1718, 1575, 1528, 937, 1491, 1415, 1179, 900, 1843, 1471, 1345, 1536, 1573, 930, 1301, 1020, 1482, 1412, 1274, 1105, 1347, 1344, 1764, 1729, 1062, 1563, 1843, 1532, 1228, 1302, 1273, 1397, 1591, 1391, 1052, 1662, 1470, 1181, 1425, 1427, 1578, 1263, 1395, 1292, 1317, 899, 1808, 1539, 1650, 1231, 1376, 1515, 1001, 1330, 1603, 1331, 1419, 1369, 1444, 1709, 1374, 1068, 1019, 1306, 1298, 1293, 1011, 1831, 1502, 1590, 1238, 1148, 1269, 1555, 1114, 1036, 1740, 1325, 1405, 1670, 1062, 1773, 1688, 1335, 1476, 1827, 1723, 820, 1748, 1072, 1536, 1398, 1732, 1587, 1400, 1529, 1355, 1304, 1651, 1722, 1268, 1673, 1800, 1178, 1503, 1847, 1656, 1497, 1595, 1689, 1576, 1740, 963, 1822, 1393, 1743, 1246, 1499, 1106, 1356, 1387, 1367, 1745, 1009, 780, 1458, 1206, 1673, 1250, 1662, 1611, 1555, 1193, 1353, 1597, 1559, 1445, 1187, 1677, 1155, 1464, 1497, 1713, 1357, 1450, 1696, 1257, 1339, 1685, 1894, 1615, 1733, 1315, 1364, 1363, 1418, 1123, 1738, 1445, 1620, 1660, 1156, 1599, 926, 1507, 1640, 1763, 1289, 1791, 1648, 1601, 1321, 1544, 1577, 1683, 1376, 1543, 1540, 1361, 1666, 1273, 1433, 1504, 993, 1265, 1288, 1454, 1482, 1736, 1481, 1439, 1286, 1467, 1461, 1474, 1510, 1489, 1681, 934, 1643, 1606, 1791, 1491, 1341, 1429, 1127, 1227, 1299, 1600, 1904, 1395, 1588, 1084, 1057, 1183, 1252, 1283, 1478, 1611, 1320, 1851, 1355, 1223, 1147, 1403, 1576, 1035, 1460, 1260, 1641, 1538, 1368, 1475, 1511, 1672, 1329, 1764, 1426, 1353, 1691, 1214, 1915, 1247, 1538, 1658, 1716, 1689, 1000, 986, 1884, 1975, 1730, 1899, 1623, 1834, 1981, 1952, 1473, 1490, 1529, 1557, 1748, 1544, 1617, 1720, 1690, 1667, 1630, 1641, 1678, 1750, 1367, 1525, 1786, 1447, 1395, 1390, 1826, 1598, 1427, 861, 1582, 1658, 1878, 1768, 1651, 1699, 1532, 1498, 1529, 1765, 1939, 1384, 1723, 1872, 1758, 1438, 1742, 1093, 1657, 1759, 1650, 1634, 1519, 1290, 1569, 1573, 1591, 1643, 1928, 1411, 1786, 1582, 1661, 1521, 1657, 1609, 1633, 972, 1468, 1644, 1776, 1388, 1692, 1409, 1278, 1812, 1631, 1873, 1310, 1272, 1109, 1333, 1522, 1722, 1612, 1048, 1741, 1674, 1755, 1711, 1568, 1437, 1484, 1567, 1746, 1583, 1148, 1307, 1570, 1314, 950, 1906, 1654, 1379, 1494, 1518, 1455, 1393, 1703, 1390, 1606, 1226, 1669, 1580, 1692, 1719, 1366, 1438, 1433, 1982, 1514, 1676, 1609, 1742, 1690, 1819, 1763, 1730, 1321, 1566, 2031, 1680, 1741, 1839, 1762, 1925, 1536, 1524, 1283, 1723, 1924, 1706, 1558, 1375, 1758, 1417, 1691, 1350, 1727, 1475, 1537, 1457, 1506, 1917, 1386, 1695, 1753, 1355, 1756, 1775, 1613, 1563, 1425, 1488, 1176, 1827, 1556, 1131, 1349, 1448, 1281, 1749, 1664, 1572, 1744, 1860, 1813, 1762, 1642, 1689, 1928, 1570, 1878, 1890, 1739, 1809, 1799, 1663, 1591, 1495, 1695, 1762, 1580, 1306, 1879, 1462, 1413, 1637, 1078, 1567, 1785, 1078, 1659, 1801, 1530, 1769, 1579, 1549, 1747, 1682, 1796, 1668, 1727, 1822, 1836, 1378, 1551, 1501, 1810, 1478, 1278, 1574, 1764, 1533, 1627, 1714, 1489, 1480, 1726, 1584, 1643, 1387, 1655, 1058, 1720, 1370, 1595, 1795, 1832, 1843, 1212, 1871, 1840, 1886, 1831, 1720, 1272, 1765, 1956, 1496, 1855, 1144, 1830, 1404, 1593, 1507, 967, 1768, 1671, 1842, 1469, 1829, 1593, 1621, 1516, 1763, 1612, 1982, 1124, 1613, 1715, 1375, 1311, 1844, 1509, 1448, 1542, 1660, 1005, 1490, 1408, 1620, 1707, 1277, 1568, 1373, 1887, 1827, 1778, 1510, 1782, 1886, 1537, 1424, 1402, 1282, 1496, 1681, 1649, 1286, 1858, 1566, 1622, 1972, 1562, 1868, 1316, 1754, 1725, 1559, 1086, 1873, 1594, 1792, 1351, 1579, 1889, 1043, 1380, 1789, 1588, 1481, 1487, 1650, 1717, 1602, 1413, 1226, 1370, 1368, 1346, 1493, 1902, 1554, 1713, 1564, 1244, 1432, 1597, 1328, 1285, 1828, 1484, 1466, 1719, 1550, 1909, 1854, 1582, 1596, 1903, 1751, 1530, 1905, 1227, 1771, 1605, 1807, 1777, 1738, 1592, 1460, 1507, 1708, 1745, 1385, 1686, 1869, 1277, 1517, 1867, 1776, 1846, 1809, 1803, 1674, 1748, 1191, 1837, 1420, 1754, 1274, 1644, 1201, 1366, 1450, 1402, 1757, 1140, 1500, 1465, 1509, 1793, 1352, 1804, 1702, 1560, 1431, 1549, 1679, 1769, 1615, 1229, 1740, 1775, 1534, 1498, 1757, 1416, 1567, 1711, 1360, 1472, 1705, 1923, 1782, 1746, 1767, 1575, 1531, 1628, 1772, 1868, 1771, 1628, 1719, 1287, 1623, 1900, 1709, 1703, 1840, 1382, 1841, 1808, 1860, 1788, 1652, 1687, 1810, 1488, 1661, 1867, 1476, 1785, 1646, 1468, 1611, 1159, 1492, 1291, 1463, 1716, 1778, 1669, 1448, 1539, 1633, 1511, 1523, 1672, 1821, 1718, 1349, 1875, 1659, 1835, 1558, 1520, 1670, 1639, 1540, 1885, 1779, 1972, 1531, 1874, 1627, 1202, 1639, 1553, 1540, 1539, 1646, 1439, 1856, 1444, 1279, 1241, 1952, 1701, 1280, 1616, 1332, 1692, 1664, 1373, 1781, 1733, 1995, 1571, 1777, 1593, 1578, 1869, 1233, 1916, 1504, 1849, 1704, 1729, 1896, 1953, 1449, 1899, 2007, 1744, 2003, 1875, 1935, 2016, 1993, 1527, 1788, 1734, 1726, 1823, 1636, 1619, 1734, 1755, 1829, 1773, 1799, 1700, 1947, 1938, 1647, 1789, 1550, 1396, 1590, 1964, 1951, 1634, 1066, 1856, 1717, 1988, 1791, 1664, 1977, 1544, 1715, 1563, 1801, 1988, 1725, 1815, 1921, 1897, 1442, 1831, 1217, 1752, 1866, 1861, 1659, 1706, 1724, 1678, 1714, 1724, 1958, 2036, 1487, 1978, 1657, 1997, 1800, 1895, 1708, 1811, 1678, 1705, 1962, 1927, 1699, 1694, 1625, 1501, 1844, 1686, 1958, 1614, 1307, 1129, 1407, 1683, 1835, 1800, 1152, 1793, 1879, 1820, 1747, 1598, 1922, 1553, 1768, 1811, 1838, 1290, 1953, 1781, 1610, 1626, 1936, 1751, 1665, 1584, 1823, 1816, 1758, 1932, 1454, 1793, 1436, 1817, 1675, 1697, 1927, 1655, 1546, 1677, 2003, 1666, 1735, 1811, 1808, 1813, 1834, 1850, 1821, 1565, 1975, 2045, 1816, 1809, 1951, 1862, 2048, 1911, 1686, 1441, 1878, 1976, 1865, 1906, 1608, 1871, 1469, 1803, 1932, 1798, 1862, 1881, 1577, 1802, 1979, 1455, 1977, 1820, 1495, 1816, 1907, 1784, 1774, 1789, 1743, 1533, 1830, 1684, 1201, 1548, 1566, 1334, 1776, 1724, 1752, 1880, 1908, 1863, 1898, 1925, 1693, 2033, 1799, 1910, 1893, 1928, 1833, 1841, 1706, 1801, 1599, 1737, 1934, 1688, 2035, 1885, 1796, 1807, 1881, 1419, 1901, 1948, 1137, 1685, 1848, 1624, 1829, 1868, 1630, 1819, 1772, 1946, 1787, 1805, 1941, 1854, 1554, 1722, 1729, 1877, 1863, 1736, 1626, 1918, 1631, 1628, 1986, 1616, 1679, 1820, 1869, 1756, 1662, 1876, 1380, 1815, 1914, 1680, 1956, 1870, 1947, 1421, 1886, 1936, 1911, 1918, 1728, 1346, 1769, 2021, 1601, 1912, 1548, 1835, 1502, 1605, 1927, 1372, 1865, 1673, 1891, 1494, 1882, 1779, 1814, 1940, 1806, 1759, 2011, 1441, 1623, 1846, 1514, 1663, 2033, 1552, 1819, 1574, 1850, 1671, 1702, 1757, 1756, 1836, 1384, 1980, 1640, 2038, 2006, 1794, 1805, 1785, 1955, 1580, 1930, 1583, 1526, 1523, 1833, 1725, 1462, 1883, 1682, 1794, 1995, 1892, 1874, 1349, 1818, 1730, 1604, 1170, 1890, 1777, 1806, 1701, 1589, 1911, 1254, 1526, 1942, 1825, 1514, 1966, 1780, 1864, 1671, 1817, 1677, 1443, 1855, 1569, 1922, 1934, 1712, 1931, 1765, 1888, 1463, 1627, 1505, 1492, 1870, 1590, 1565, 1922, 1698, 1956, 1985, 2006, 1635, 1931, 1899, 1600, 1973, 1268, 1823, 1710, 1867, 1916, 1804, 1642, 1466, 1767, 1832, 1996, 1672, 1824, 1921, 1924, 1838, 1904, 1908, 1861, 1960, 1998, 1728, 1760, 1394, 1993, 1546, 1974, 1525, 1847, 1202, 1613, 1453, 1602, 1826, 1875, 1594, 1596, 1753, 1970, 1478, 2055, 1853, 1713, 1474, 1797, 1682, 1943, 1745, 1830, 1814, 1897, 1621, 1817, 1802, 1617, 1649, 1978, 1500, 1483, 1804, 2040, 1983, 1775, 1893, 1636, 1896, 1774, 1784, 1903, 1782, 1783, 1852, 1894, 1770, 1924, 2020, 1926, 1929, 1714, 2009, 1989, 1865, 1898, 1737, 1945, 1847, 1696, 1767, 1907, 1715, 1849, 1967, 1694, 1747, 1337, 1608, 1363, 1676, 1734, 1859, 1755, 1470, 1584, 1957, 1919, 1528, 1788, 1900, 1741, 1508, 1971, 1749, 1937, 1970, 1941, 1794, 1693, 1721, 1991, 1915, 1997, 1824, 1942, 1996, 1236, 1669, 1887, 1654, 1982, 1898, 1761, 1883, 1700, 1521, 1681, 2011, 1751, 1281, 1684, 1607, 1845, 1860, 1524, 1844, 1901, 1999, 1760, 1940, 1705, 1736, 1987, 1721, 2033, 2024, 1990, 2047, 1965, 2018, 2044, 1473, 1920, 2030, 1968, 2045, 2025, 1995, 2054, 2017, 1559, 1876, 1891, 1871, 2013, 1949, 1821, 1892, 1834, 1946, 1778, 1880, 1864, 2042, 2016, 2026, 1945, 2031, 1574, 1853, 1980, 2034, 2056, 2012, 1912, 1812, 2031, 1836, 1992, 2058, 1941, 1814, 2007, 2051, 2048, 2044, 1880, 1926, 2047, 1761, 1839, 1365, 1772, 1986, 1985, 1905, 2060, 1909, 1857, 1944, 1826, 2000, 2050, 2023, 2020, 1931, 2023, 2043, 2005, 1967, 1872, 1907, 1944, 1981, 1965, 1999, 1711, 1916, 1517, 1958, 1954, 2023, 1961, 2064, 1798, 1577, 1930, 1896, 1859, 1382, 1987, 2039, 2037, 1787, 1666, 1984, 1602, 1933, 2008, 2057, 1338, 1976, 2038, 1971, 1950, 1954, 1991, 1828, 1695, 1845, 1873, 1889, 2037, 1641, 1961, 1731, 1884, 1881, 1914, 1978, 1783, 1925, 1882, 2010, 2062, 1846, 1921, 2029, 2046, 1910, 2026, 1953, 1607, 2063, 2059, 2000, 1884, 2008, 2014, 2052, 2015, 1848, 1716, 2003, 2036, 2006, 1932, 1973, 1976, 1522, 2028, 2059, 1917, 1947, 2027, 1954, 1964, 2059, 2035, 1999, 1910, 1893, 1877, 1933, 1934, 2019, 1858, 1990, 2037, 1876, 1903, 1792, 1966, 2025, 1509, 1853, 1908, 1837, 2044, 1914, 1938, 1913, 2004, 1824, 2047, 1856, 1938, 2032, 2022, 1870, 1912, 1779, 2039, 2049, 1761, 1983, 1950, 2054, 2002, 1959, 1848, 1919, 1790, 1993, 1967, 1900, 1718, 1897, 2019, 2051, 2053, 1838, 1930, 1918, 2015, 2036, 1904, 1962, 1890, 1852, 1845, 2009, 2050, 2004, 2032, 1883, 2057, 2028, 2040, 2056, 1851, 1737, 1939, 1872, 1939, 1975, 1988, 1676, 1919, 1994, 2019, 1984, 1885, 2005, 1812, 2008, 2040, 1957, 2028, 1842, 2032, 2039, 2062, 1828, 1992, 1746, 1841, 1980, 1940, 1994, 1416, 1937, 1866, 1996, 1866, 1929, 2013, 1815, 2064, 1959, 2012, 2022, 1735, 1727, 1950, 1981, 1991, 2043, 1929, 1920, 1578, 1859, 1960, 1949, 1852, 1955, 1966, 2018, 2063, 1656, 2055, 2041, 1969, 2046, 1905, 2017, 1726, 1943, 1717, 2009, 1802, 2062, 1750, 1675, 1990, 1963, 1795, 2061, 1998, 2042, 1770, 2049, 1862, 1668, 2056, 2000, 1987, 2002, 1797, 1882, 1963, 1512, 1708, 1949, 1901, 1935, 1997, 1971, 2017, 2054, 1920, 1691, 1585, 2001, 2005, 1963, 2015, 1933, 2026, 1909, 1913, 1704, 1798, 1962, 1610, 2024, 1969, 1810, 1994, 1703, 2055, 2021, 2030, 2024, 1986, 1906, 1825, 2002, 1770, 1855, 1837, 2014, 2010, 1849, 1697, 1661, 1863, 1935, 2052, 1957, 2058, 1937, 2061, 2035, 2045, 1984, 1888, 1965, 2058, 1854, 2007, 1842, 2060, 1888, 1989, 1599, 2014, 1638, 2027, 1731, 2012, 1891, 1936, 1614, 1618, 1806, 2030, 1586, 2057, 1968, 1974, 1477, 1959, 1840, 1973, 1970, 1955, 1951, 1998, 1985, 1892, 1818, 1874, 1961, 2046, 1989, 1960, 2041, 2049, 2001, 1948, 2048, 1983, 1944, 1790, 2042, 2051, 1992, 1923, 2041, 1952, 1972, 1945, 2029, 1948, 1974, 1943, 2038, 2050, 1942, 1968, 1805, 1977, 2004, 1752, 1787, 1915, 1732, 2063, 2021, 1766, 1946, 1618, 1858, 2025, 1857, 1773, 1895, 1833, 1887, 1744, 1979, 2010, 1850, 2061, 2016, 1780, 1586, 2027, 1969, 2034, 1979, 2018, 1813, 1839, 1902, 2013, 2011, 2052, 1851, 2029, 2064, 1386, 1750, 1902, 1771, 2034, 2001, 1795, 2053, 1792, 1631, 1964, 2053, 1796, 1409, 1774, 1721, 1889, 1879, 1728, 2020, 2043, 2060, 1895, 2022, 1861, 1786 +}; + +uint16_t H_cols[] = { +208, 242, 84, 114, 314, 135, 349, 90, 64, 57, 26, 52, 16, 142, 120, 244, 167, 164, 133, 179, 22, 180, 413, 161, 224, 121, 57, 22, 394, 17, 9, 54, 84, 20, 98, 311, 322, 308, 86, 91, 77, 41, 110, 192, 18, 11, 210, 133, 248, 276, 389, 100, 37, 4, 239, 15, 32, 15, 7, 10, 109, 82, 19, 50, 137, 278, 43, 181, 89, 206, 113, 285, 10, 95, 12, 180, 23, 93, 100, 124, 200, 130, 81, 149, 6, 251, 181, 227, 156, 215, 194, 284, 206, 177, 171, 174, 40, 136, 187, 89, 98, 156, 44, 30, 48, 78, 349, 126, 56, 3, 212, 43, 111, 183, 63, 54, 35, 63, 333, 158, 96, 100, 270, 38, 97, 4, 139, 163, 67, 251, 139, 42, 214, 117, 26, 98, 132, 105, 13, 61, 330, 223, 183, 95, 295, 95, 55, 29, 65, 35, 75, 130, 8, 98, 344, 46, 239, 155, 131, 75, 246, 3, 44, 260, 199, 21, 99, 118, 76, 8, 87, 271, 257, 171, 98, 44, 255, 17, 276, 91, 50, 21, 90, 262, 118, 208, 214, 35, 140, 159, 58, 277, 158, 180, 53, 93, 58, 264, 40, 98, 4, 284, 183, 24, 7, 123, 133, 57, 223, 124, 156, 202, 34, 324, 67, 452, 63, 123, 303, 303, 169, 40, 32, 24, 32, 5, 220, 218, 103, 222, 113, 111, 100, 30, 146, 266, 4, 195, 14, 55, 145, 37, 40, 18, 184, 188, 267, 38, 116, 35, 60, 53, 133, 58, 9, 296, 63, 57, 30, 17, 86, 157, 105, 29, 73, 285, 122, 9, 31, 199, 347, 73, 55, 135, 86, 2, 42, 67, 119, 21, 351, 35, 213, 173, 61, 176, 194, 109, 72, 77, 273, 133, 244, 90, 313, 220, 27, 192, 63, 299, 208, 202, 3, 66, 14, 19, 127, 68, 348, 246, 26, 87, 75, 20, 215, 93, 212, 180, 149, 114, 133, 48, 235, 17, 247, 257, 42, 149, 57, 363, 75, 334, 67, 97, 29, 109, 241, 59, 332, 15, 228, 6, 186, 81, 271, 31, 103, 122, 150, 105, 110, 92, 277, 213, 358, 37, 100, 129, 46, 367, 118, 26, 115, 211, 3, 77, 217, 23, 24, 145, 70, 48, 68, 179, 112, 30, 110, 177, 14, 97, 68, 66, 103, 105, 83, 231, 29, 383, 45, 64, 42, 32, 201, 269, 67, 9, 149, 3, 34, 86, 373, 51, 409, 130, 39, 80, 177, 118, 34, 248, 175, 50, 37, 76, 14, 7, 122, 49, 262, 27, 79, 102, 295, 113, 26, 111, 135, 10, 356, 97, 21, 2, 129, 451, 140, 60, 42, 191, 33, 152, 25, 279, 99, 22, 124, 168, 305, 34, 104, 224, 154, 50, 71, 97, 60, 209, 73, 57, 10, 322, 159, 375, 104, 17, 273, 374, 81, 121, 160, 157, 411, 88, 236, 166, 88, 53, 164, 135, 36, 375, 291, 211, 4, 233, 84, 94, 47, 29, 10, 306, 54, 183, 16, 128, 42, 86, 96, 488, 31, 109, 150, 42, 332, 110, 315, 44, 321, 82, 109, 235, 80, 212, 35, 128, 80, 215, 7, 115, 44, 102, 281, 86, 27, 79, 280, 33, 227, 142, 113, 104, 102, 281, 161, 238, 197, 106, 111, 72, 163, 76, 41, 58, 4, 46, 45, 122, 281, 219, 52, 53, 45, 66, 264, 69, 37, 16, 138, 221, 176, 176, 98, 42, 75, 92, 80, 158, 163, 71, 26, 49, 109, 108, 70, 85, 378, 186, 178, 9, 12, 4, 74, 25, 65, 207, 8, 339, 5, 45, 205, 163, 234, 14, 56, 77, 62, 185, 55, 89, 19, 228, 117, 113, 80, 9, 8, 38, 74, 10, 112, 32, 205, 8, 242, 142, 119, 26, 158, 28, 148, 54, 69, 28, 81, 91, 142, 78, 158, 49, 66, 45, 179, 249, 91, 90, 219, 153, 339, 90, 14, 56, 60, 392, 9, 162, 274, 102, 79, 89, 206, 114, 365, 2, 232, 172, 36, 8, 14, 317, 173, 65, 2, 37, 112, 273, 38, 179, 107, 244, 9, 173, 67, 141, 265, 156, 96, 102, 158, 77, 96, 331, 2, 102, 302, 94, 23, 93, 92, 408, 95, 229, 2, 25, 326, 62, 82, 166, 185, 7, 170, 15, 30, 216, 93, 94, 186, 24, 124, 268, 36, 108, 156, 448, 65, 134, 356, 79, 91, 165, 63, 30, 123, 56, 164, 97, 348, 262, 72, 294, 3, 33, 36, 143, 79, 31, 158, 124, 46, 131, 115, 103, 33, 280, 22, 69, 80, 343, 386, 295, 107, 39, 122, 18, 215, 78, 166, 136, 163, 222, 5, 405, 196, 253, 401, 78, 138, 184, 190, 131, 5, 141, 91, 84, 10, 210, 184, 171, 39, 20, 283, 92, 337, 257, 172, 160, 28, 134, 170, 18, 110, 108, 85, 21, 62, 122, 23, 10, 128, 161, 152, 156, 65, 249, 124, 191, 282, 139, 220, 238, 24, 60, 66, 41, 196, 185, 68, 72, 51, 121, 12, 218, 13, 101, 89, 93, 298, 293, 197, 201, 332, 36, 128, 160, 182, 42, 19, 53, 259, 116, 331, 131, 84, 125, 43, 285, 79, 112, 66, 66, 288, 93, 93, 158, 87, 104, 134, 131, 156, 58, 33, 6, 42, 16, 130, 182, 354, 141, 12, 65, 60, 1, 169, 175, 82, 44, 82, 108, 17, 69, 28, 29, 80, 145, 25, 66, 88, 14, 64, 290, 160, 46, 113, 1, 251, 55, 61, 185, 199, 153, 13, 237, 150, 269, 5, 100, 126, 243, 312, 56, 219, 203, 156, 144, 164, 161, 87, 236, 203, 10, 216, 13, 166, 239, 19, 141, 51, 284, 61, 11, 75, 205, 31, 128, 49, 2, 33, 5, 135, 100, 194, 78, 154, 245, 51, 321, 121, 160, 114, 74, 44, 113, 59, 259, 6, 49, 144, 6, 22, 214, 171, 98, 181, 225, 368, 8, 274, 154, 262, 234, 21, 19, 352, 9, 165, 20, 90, 85, 255, 367, 174, 29, 145, 43, 1, 3, 153, 10, 280, 77, 221, 12, 11, 142, 370, 143, 116, 145, 223, 330, 36, 9, 157, 99, 271, 88, 291, 49, 89, 47, 94, 394, 344, 305, 38, 30, 39, 6, 129, 1, 242, 268, 200, 298, 182, 297, 175, 27, 117, 135, 108, 246, 60, 38, 225, 48, 12, 124, 229, 55, 50, 311, 70, 133, 119, 151, 199, 73, 70, 98, 26, 76, 99, 154, 112, 76, 236, 273, 22, 109, 206, 61, 34, 146, 292, 132, 254, 42, 1, 121, 310, 33, 41, 49, 168, 226, 247, 459, 47, 211, 187, 41, 58, 8, 388, 359, 129, 83, 129, 190, 55, 189, 48, 258, 60, 58, 13, 205, 263, 232, 151, 96, 77, 31, 53, 64, 174, 197, 200, 25, 93, 191, 139, 217, 5, 117, 51, 212, 72, 28, 2, 236, 114, 320, 35, 106, 74, 28, 425, 282, 49, 132, 2, 82, 47, 143, 142, 100, 25, 79, 43, 24, 23, 399, 92, 97, 290, 31, 69, 109, 165, 83, 41, 98, 84, 195, 319, 347, 222, 37, 39, 104, 5, 196, 207, 47, 4, 223, 141, 32, 47, 81, 96, 31, 68, 101, 145, 177, 85, 129, 271, 334, 224, 36, 117, 56, 70, 410, 212, 87, 298, 361, 160, 164, 34, 19, 52, 66, 310, 4, 105, 40, 180, 137, 263, 37, 73, 237, 29, 135, 20, 7, 336, 197, 68, 2, 131, 28, 60, 88, 94, 58, 83, 38, 218, 7, 1, 71, 296, 149, 355, 146, 179, 64, 2, 418, 155, 127, 76, 348, 54, 83, 251, 48, 27, 185, 32, 84, 4, 89, 107, 360, 257, 29, 54, 318, 56, 95, 295, 51, 45, 47, 24, 256, 173, 92, 154, 63, 255, 321, 132, 76, 116, 92, 308, 20, 52, 178, 292, 87, 216, 275, 16, 152, 151, 165, 226, 276, 36, 1, 333, 30, 428, 17, 136, 11, 192, 45, 40, 34, 268, 68, 292, 54, 85, 120, 116, 206, 92, 99, 213, 91, 15, 14, 43, 112, 305, 319, 157, 136, 76, 25, 141, 95, 82, 11, 32, 41, 74, 49, 301, 122, 128, 338, 94, 129, 265, 71, 11, 109, 22, 328, 13, 105, 22, 196, 240, 198, 7, 146, 181, 115, 62, 61, 218, 64, 170, 222, 15, 99, 36, 31, 258, 69, 41, 56, 60, 129, 33, 103, 57, 21, 103, 127, 165, 13, 39, 328, 105, 228, 107, 120, 86, 98, 27, 54, 205, 167, 244, 74, 238, 38, 89, 5, 120, 329, 37, 37, 278, 24, 140, 118, 127, 203, 23, 106, 286, 243, 72, 152, 86, 61, 22, 11, 6, 34, 256, 269, 158, 175, 211, 317, 253, 50, 50, 27, 130, 454, 41, 250, 267, 144, 303, 11, 104, 63, 18, 124, 104, 58, 140, 25, 151, 58, 239, 286, 155, 217, 27, 182, 10, 398, 65, 190, 81, 69, 119, 78, 20, 136, 106, 51, 188, 200, 350, 303, 133, 53, 73, 15, 158, 262, 150, 192, 10, 289, 162, 362, 234, 232, 16, 225, 334, 294, 6, 105, 125, 68, 72, 176, 239, 20, 163, 353, 118, 117, 170, 90, 258, 50, 45, 88, 87, 128, 85, 4, 62, 34, 268, 258, 183, 25, 146, 85, 44, 133, 107, 140, 87, 64, 18, 70, 76, 95, 309, 147, 34, 308, 19, 237, 21, 217, 115, 49, 177, 201, 88, 149, 163, 5, 325, 455, 96, 52, 77, 24, 152, 130, 207, 67, 220, 36, 18, 48, 88, 40, 148, 179, 6, 155, 19, 138, 74, 39, 51, 198, 141, 142, 106, 103, 67, 111, 107, 186, 68, 37, 166, 28, 94, 289, 15, 126, 121, 43, 108, 117, 128, 406, 71, 333, 39, 38, 69, 313, 267, 17, 249, 40, 351, 40, 202, 138, 262, 105, 324, 75, 267, 123, 141, 156, 78, 112, 408, 97, 173, 91, 99, 239, 25, 376, 25, 254, 185, 157, 15, 61, 71, 113, 237, 237, 48, 29, 89, 1, 79, 41, 3, 24, 13, 187, 96, 52, 30, 137, 70, 82, 1, 47, 34, 444, 146, 63, 47, 59, 154, 115, 129, 298, 61, 3, 64, 85, 75, 244, 12, 47, 101, 103, 7, 169, 125, 213, 271, 378, 271, 100, 126, 134, 131, 31, 32, 16, 310, 222, 95, 12, 154, 89, 391, 205, 8, 27, 1, 85, 192, 85, 117, 140, 127, 132, 35, 31, 12, 263, 121, 6, 81, 65, 71, 78, 88, 140, 85, 227, 347, 68, 50, 7, 44, 215, 128, 26, 2, 96, 55, 66, 54, 22, 161, 258, 7, 13, 124, 101, 265, 21, 83, 233, 203, 274, 59, 354, 99, 59, 139, 13, 377, 107, 102, 23, 184, 32, 115, 61, 169, 320, 27, 171, 293, 57, 62, 46, 58, 147, 139, 235, 52, 46, 375, 46, 218, 319, 368, 61, 29, 174, 172, 83, 325, 29, 200, 198, 18, 303, 114, 173, 213, 35, 102, 20, 35, 211, 46, 180, 99, 301, 250, 208, 178, 93, 30, 76, 52, 165, 159, 372, 225, 278, 138, 136, 145, 231, 79, 44, 137, 50, 55, 119, 125, 39, 138, 101, 25, 166, 23, 192, 18, 39, 178, 116, 28, 178, 59, 188, 198, 16, 96, 46, 186, 108, 59, 255, 199, 258, 252, 88, 118, 134, 383, 150, 5, 139, 239, 228, 38, 227, 263, 43, 67, 175, 97, 188, 63, 147, 189, 17, 154, 62, 370, 219, 1, 198, 22, 56, 90, 318, 15, 20, 171, 45, 100, 30, 126, 131, 234, 11, 207, 254, 299, 349, 120, 196, 21, 26, 170, 114, 77, 8, 57, 190, 11, 214, 212, 345, 179, 225, 64, 114, 80, 185, 66, 138, 149, 43, 190, 127, 3, 3, 153, 222, 210, 11, 56, 104, 53, 153, 130, 56, 83, 71, 274, 95, 74, 121, 106, 173, 16, 114, 270, 33, 53, 267, 49, 332, 306, 68, 35, 28, 32, 213, 24, 113, 40, 18, 9, 89, 294, 250, 256, 70, 208, 291, 91, 82, 314, 39, 7, 181, 78, 13, 301, 405, 112, 316, 156, 393, 12, 110, 48, 73, 166, 39, 17, 132, 204, 104, 63, 62, 1, 45, 393, 5, 115, 47, 18, 248, 16, 272, 75, 317, 84, 70, 342, 207, 14, 191, 77, 154, 12, 107, 230, 132, 280, 42, 23, 147, 149, 17, 18, 8, 174, 73, 261, 197, 72, 4, 15, 34, 163, 159, 136, 12, 36, 196, 3, 40, 167, 71, 101, 111, 100, 237, 300, 32, 76, 9, 14, 137, 6, 53, 202, 71, 52, 148, 219, 17, 299, 41, 108, 48, 143, 65, 316, 133, 142, 92, 296, 323, 150, 211, 361, 261, 422, 167, 212, 195, 50, 317, 406, 372, 360, 314, 399, 203, 136, 211, 56, 195, 436, 229, 489, 295, 101, 109, 487, 184, 87, 279, 233, 399, 176, 470, 433, 364, 197, 115, 194, 314, 423, 246, 98, 401, 291, 268, 272, 357, 458, 298, 327, 21, 298, 299, 225, 220, 272, 51, 177, 93, 84, 403, 150, 336, 275, 236, 476, 243, 261, 373, 330, 248, 310, 365, 155, 240, 144, 276, 229, 292, 99, 175, 101, 317, 365, 297, 404, 260, 333, 417, 462, 434, 474, 444, 119, 309, 261, 260, 344, 435, 80, 123, 257, 183, 358, 197, 78, 16, 264, 260, 459, 195, 390, 147, 217, 467, 353, 165, 120, 151, 335, 83, 106, 28, 326, 252, 70, 298, 182, 153, 300, 260, 122, 111, 143, 302, 135, 235, 362, 236, 232, 287, 371, 309, 248, 248, 176, 215, 169, 183, 155, 140, 446, 91, 277, 263, 234, 126, 376, 335, 162, 490, 398, 182, 105, 378, 469, 159, 119, 457, 292, 249, 108, 59, 451, 20, 362, 228, 57, 306, 459, 301, 208, 329, 357, 82, 396, 279, 137, 396, 272, 202, 396, 282, 120, 308, 389, 287, 43, 311, 371, 59, 326, 125, 223, 190, 285, 134, 348, 219, 74, 343, 72, 455, 367, 179, 368, 395, 267, 227, 59, 225, 65, 21, 300, 310, 266, 259, 362, 168, 104, 69, 344, 417, 47, 335, 103, 126, 394, 41, 122, 166, 313, 265, 438, 118, 265, 204, 316, 439, 142, 90, 180, 440, 281, 392, 312, 210, 137, 189, 240, 247, 240, 320, 251, 157, 324, 208, 415, 245, 180, 262, 94, 141, 191, 110, 165, 165, 361, 61, 488, 378, 138, 178, 229, 396, 157, 168, 397, 266, 289, 240, 347, 299, 84, 451, 133, 391, 469, 324, 137, 116, 60, 365, 207, 200, 472, 450, 428, 330, 139, 159, 223, 217, 330, 245, 234, 238, 418, 391, 367, 308, 291, 304, 67, 244, 288, 382, 130, 461, 335, 118, 187, 334, 324, 441, 462, 112, 445, 59, 214, 230, 372, 44, 106, 167, 181, 211, 193, 148, 409, 264, 364, 353, 174, 263, 283, 406, 312, 349, 118, 455, 181, 259, 323, 175, 33, 152, 299, 141, 320, 314, 131, 62, 235, 335, 231, 340, 244, 425, 169, 311, 497, 241, 37, 436, 117, 184, 294, 157, 350, 301, 94, 162, 273, 13, 182, 101, 486, 341, 434, 322, 74, 144, 284, 139, 111, 403, 214, 52, 323, 327, 172, 227, 230, 208, 277, 221, 120, 409, 339, 123, 223, 252, 209, 237, 429, 295, 253, 35, 162, 454, 243, 199, 295, 385, 360, 241, 170, 390, 175, 402, 198, 288, 397, 275, 330, 267, 161, 341, 283, 193, 62, 258, 162, 254, 259, 374, 408, 415, 268, 54, 312, 424, 302, 342, 376, 172, 453, 214, 281, 379, 447, 170, 434, 230, 121, 423, 305, 441, 276, 244, 121, 110, 461, 323, 151, 309, 431, 202, 200, 329, 210, 352, 164, 503, 113, 126, 231, 152, 454, 311, 433, 86, 449, 130, 231, 262, 189, 290, 288, 429, 143, 311, 70, 226, 451, 277, 362, 134, 51, 81, 343, 171, 466, 149, 194, 310, 119, 315, 186, 300, 469, 349, 427, 123, 168, 117, 174, 144, 224, 116, 173, 198, 457, 287, 147, 65, 258, 272, 499, 315, 81, 186, 168, 341, 316, 190, 178, 291, 232, 280, 174, 260, 242, 226, 181, 120, 113, 138, 294, 106, 481, 287, 377, 104, 125, 383, 234, 369, 289, 348, 52, 389, 239, 219, 344, 378, 338, 418, 137, 363, 116, 207, 335, 449, 202, 358, 216, 134, 319, 100, 11, 265, 233, 172, 267, 45, 256, 23, 318, 221, 169, 245, 306, 281, 181, 289, 116, 173, 346, 327, 194, 205, 326, 345, 201, 111, 448, 366, 399, 293, 222, 170, 358, 442, 19, 187, 159, 456, 299, 206, 290, 169, 253, 412, 252, 202, 377, 331, 497, 203, 313, 115, 255, 373, 364, 237, 245, 291, 269, 342, 54, 218, 269, 373, 170, 256, 270, 213, 305, 288, 203, 315, 238, 87, 192, 334, 26, 127, 352, 240, 277, 114, 102, 432, 139, 332, 278, 128, 411, 91, 317, 296, 265, 343, 291, 217, 124, 350, 220, 242, 220, 62, 233, 300, 190, 393, 445, 513, 478, 346, 375, 131, 99, 272, 160, 355, 279, 112, 305, 107, 403, 336, 109, 322, 143, 371, 147, 204, 192, 308, 180, 279, 127, 194, 145, 239, 124, 288, 24, 177, 191, 433, 429, 308, 270, 136, 330, 73, 469, 302, 274, 221, 246, 393, 328, 431, 454, 391, 426, 269, 434, 329, 245, 149, 151, 338, 328, 299, 433, 374, 230, 202, 472, 177, 360, 402, 387, 316, 181, 418, 52, 198, 174, 20, 197, 110, 294, 268, 123, 151, 43, 87, 250, 237, 247, 233, 143, 367, 231, 339, 381, 141, 233, 355, 204, 225, 382, 208, 224, 206, 159, 87, 80, 275, 103, 365, 33, 374, 117, 145, 332, 368, 309, 297, 421, 63, 212, 213, 373, 107, 249, 247, 318, 242, 464, 312, 164, 240, 103, 328, 345, 262, 160, 209, 401, 325, 249, 186, 201, 112, 250, 262, 215, 70, 473, 170, 126, 143, 211, 313, 370, 183, 220, 174, 388, 346, 351, 182, 173, 48, 214, 370, 163, 92, 95, 228, 134, 461, 251, 398, 205, 282, 372, 363, 348, 83, 321, 175, 265, 160, 252, 479, 340, 257, 64, 285, 419, 369, 23, 196, 283, 286, 327, 97, 411, 331, 184, 297, 325, 284, 341, 245, 302, 294, 231, 247, 319, 404, 190, 180, 491, 441, 147, 303, 148, 291, 350, 471, 197, 396, 187, 92, 201, 269, 200, 264, 250, 338, 104, 470, 379, 248, 168, 271, 113, 146, 205, 267, 71, 296, 221, 385, 153, 347, 482, 252, 339, 453, 390, 289, 284, 229, 269, 263, 167, 27, 369, 80, 243, 432, 230, 153, 280, 397, 239, 380, 208, 244, 8, 72, 271, 354, 328, 233, 224, 297, 297, 204, 461, 190, 259, 151, 306, 375, 195, 189, 304, 155, 279, 232, 352, 123, 177, 339, 401, 493, 384, 376, 340, 38, 171, 79, 161, 78, 340, 293, 238, 465, 191, 435, 179, 244, 387, 184, 211, 307, 352, 342, 316, 196, 351, 353, 445, 69, 97, 368, 180, 274, 136, 275, 342, 189, 75, 395, 145, 147, 205, 185, 222, 218, 413, 297, 374, 144, 453, 372, 138, 302, 316, 237, 356, 46, 40, 339, 343, 184, 242, 125, 216, 345, 305, 477, 148, 214, 199, 303, 306, 123, 440, 404, 292, 210, 328, 350, 210, 337, 94, 309, 408, 151, 76, 276, 266, 325, 482, 155, 332, 254, 209, 321, 297, 243, 355, 259, 164, 221, 453, 361, 15, 338, 357, 289, 240, 149, 249, 263, 219, 447, 434, 261, 300, 159, 479, 342, 93, 213, 57, 141, 177, 335, 410, 315, 188, 166, 223, 307, 354, 492, 170, 187, 453, 195, 127, 349, 410, 151, 207, 130, 147, 216, 417, 439, 369, 83, 461, 326, 406, 381, 227, 126, 270, 258, 394, 108, 331, 228, 333, 72, 95, 209, 319, 351, 346, 379, 284, 392, 315, 191, 147, 463, 95, 486, 415, 167, 324, 377, 390, 375, 410, 92, 354, 106, 364, 106, 370, 132, 193, 396, 321, 134, 119, 393, 327, 195, 506, 30, 341, 253, 233, 82, 283, 55, 207, 301, 430, 167, 248, 163, 475, 77, 218, 124, 367, 176, 415, 426, 188, 380, 58, 488, 209, 170, 164, 354, 134, 212, 334, 255, 220, 349, 110, 288, 227, 350, 201, 406, 319, 442, 117, 330, 228, 148, 424, 267, 155, 452, 161, 345, 217, 474, 179, 208, 328, 367, 254, 173, 210, 259, 458, 296, 277, 206, 296, 162, 480, 430, 183, 202, 268, 263, 274, 312, 374, 96, 445, 66, 463, 321, 250, 204, 194, 129, 78, 342, 485, 289, 387, 67, 119, 256, 241, 341, 110, 215, 276, 226, 186, 276, 266, 198, 331, 455, 167, 232, 89, 355, 166, 336, 147, 397, 167, 260, 175, 282, 465, 265, 178, 453, 189, 132, 273, 202, 132, 209, 62, 400, 397, 114, 225, 299, 288, 259, 228, 149, 319, 160, 327, 406, 411, 217, 374, 286, 229, 236, 129, 232, 403, 266, 432, 189, 115, 338, 120, 342, 197, 248, 310, 269, 298, 79, 156, 453, 325, 468, 116, 246, 210, 438, 43, 256, 378, 294, 398, 84, 366, 122, 311, 174, 346, 377, 320, 111, 309, 243, 162, 329, 165, 307, 229, 266, 305, 267, 94, 230, 454, 131, 72, 50, 209, 199, 283, 329, 178, 400, 236, 388, 423, 127, 190, 287, 175, 477, 274, 314, 465, 389, 410, 350, 131, 263, 108, 201, 127, 130, 468, 59, 223, 148, 341, 336, 414, 235, 36, 288, 171, 405, 111, 395, 271, 122, 154, 150, 164, 403, 460, 374, 213, 208, 464, 310, 143, 356, 204, 81, 273, 314, 287, 380, 16, 410, 313, 385, 410, 406, 23, 240, 370, 373, 416, 355, 204, 176, 187, 329, 357, 292, 282, 384, 212, 273, 202, 262, 385, 198, 191, 402, 230, 266, 179, 389, 210, 165, 375, 261, 287, 302, 471, 250, 144, 284, 279, 277, 382, 118, 65, 126, 235, 158, 354, 150, 53, 331, 68, 280, 51, 219, 432, 90, 236, 213, 137, 289, 256, 366, 469, 484, 125, 289, 454, 49, 155, 392, 221, 181, 238, 137, 85, 222, 105, 228, 351, 380, 22, 379, 322, 409, 215, 234, 174, 275, 356, 182, 212, 272, 203, 194, 426, 215, 279, 234, 279, 388, 164, 318, 219, 205, 152, 74, 304, 242, 136, 440, 304, 466, 238, 347, 201, 373, 275, 325, 364, 362, 393, 103, 394, 365, 359, 338, 332, 322, 369, 270, 216, 363, 135, 353, 460, 157, 282, 402, 414, 393, 196, 403, 178, 294, 276, 193, 282, 217, 86, 234, 351, 433, 337, 64, 236, 184, 423, 64, 362, 241, 210, 247, 483, 298, 122, 191, 243, 245, 46, 458, 278, 447, 311, 326, 360, 71, 224, 354, 148, 360, 74, 6, 215, 290, 374, 313, 200, 185, 116, 133, 28, 224, 467, 357, 291, 473, 379, 388, 188, 246, 340, 67, 240, 144, 475, 314, 193, 179, 215, 150, 423, 360, 192, 102, 159, 127, 204, 154, 168, 423, 373, 172, 48, 140, 327, 292, 358, 221, 426, 154, 101, 331, 337, 235, 102, 251, 409, 238, 283, 151, 307, 278, 357, 247, 484, 229, 152, 69, 311, 241, 225, 388, 230, 140, 146, 370, 429, 26, 134, 466, 240, 372, 197, 389, 145, 136, 176, 187, 400, 264, 221, 366, 446, 311, 364, 186, 404, 363, 101, 243, 400, 120, 146, 389, 203, 190, 278, 300, 260, 196, 430, 106, 260, 367, 436, 222, 359, 433, 417, 184, 371, 301, 275, 336, 111, 428, 129, 304, 303, 73, 224, 449, 175, 255, 446, 326, 123, 315, 315, 223, 327, 161, 194, 97, 201, 309, 383, 407, 302, 326, 209, 324, 198, 356, 107, 88, 189, 276, 247, 144, 339, 320, 221, 169, 140, 226, 118, 379, 333, 69, 300, 262, 218, 265, 257, 251, 310, 27, 265, 227, 369, 220, 146, 412, 265, 272, 286, 286, 229, 283, 395, 209, 372, 290, 488, 293, 184, 360, 342, 194, 132, 313, 290, 448, 385, 162, 232, 31, 270, 271, 383, 318, 242, 251, 157, 79, 119, 421, 401, 178, 231, 152, 207, 55, 163, 274, 313, 125, 251, 256, 468, 385, 329, 227, 272, 317, 196, 427, 466, 96, 216, 449, 14, 441, 333, 484, 363, 383, 303, 155, 172, 188, 348, 169, 256, 199, 193, 188, 455, 86, 161, 235, 247, 288, 135, 344, 427, 381, 148, 261, 128, 193, 287, 221, 347, 155, 172, 204, 334, 255, 380, 189, 241, 277, 226, 448, 413, 81, 441, 223, 162, 429, 292, 205, 146, 439, 110, 114, 304, 261, 378, 88, 278, 386, 123, 226, 329, 165, 83, 295, 213, 408, 355, 414, 336, 440, 366, 409, 142, 153, 168, 128, 470, 266, 82, 280, 428, 250, 360, 238, 99, 53, 424, 176, 285, 263, 212, 268, 316, 377, 335, 387, 168, 144, 428, 326, 132, 232, 252, 300, 51, 146, 308, 371, 486, 279, 275, 370, 223, 33, 304, 296, 217, 442, 360, 280, 75, 354, 182, 139, 397, 236, 442, 361, 45, 233, 193, 479, 206, 153, 121, 299, 201, 255, 426, 318, 286, 54, 143, 302, 57, 148, 320, 231, 218, 377, 498, 206, 359, 238, 235, 379, 160, 391, 381, 261, 297, 277, 368, 362, 437, 409, 372, 270, 481, 300, 407, 253, 55, 488, 487, 470, 429, 431, 402, 259, 404, 257, 101, 243, 463, 487, 514, 496, 150, 358, 504, 234, 490, 511, 240, 415, 412, 484, 490, 416, 252, 472, 489, 478, 493, 381, 139, 480, 511, 362, 293, 466, 503, 359, 342, 142, 326, 369, 304, 320, 364, 486, 261, 105, 316, 471, 476, 430, 460, 379, 484, 253, 446, 400, 447, 373, 472, 490, 272, 401, 158, 471, 328, 417, 312, 344, 331, 429, 383, 341, 501, 361, 410, 480, 477, 492, 508, 482, 332, 336, 429, 310, 369, 460, 291, 346, 365, 392, 402, 452, 120, 430, 301, 419, 462, 406, 410, 342, 493, 500, 390, 498, 378, 230, 403, 188, 443, 258, 505, 499, 148, 508, 485, 241, 382, 289, 264, 182, 455, 481, 264, 451, 489, 483, 485, 365, 376, 447, 301, 382, 278, 237, 409, 285, 168, 292, 463, 290, 482, 339, 323, 376, 386, 495, 286, 502, 450, 322, 115, 390, 483, 370, 426, 461, 441, 406, 162, 73, 506, 256, 511, 507, 107, 498, 491, 323, 274, 478, 516, 337, 450, 304, 183, 502, 285, 249, 420, 427, 349, 386, 508, 353, 413, 500, 375, 304, 485, 410, 484, 306, 353, 431, 377, 239, 156, 438, 402, 499, 503, 200, 458, 419, 490, 230, 203, 397, 73, 436, 398, 326, 293, 363, 416, 497, 458, 250, 443, 460, 60, 476, 227, 392, 494, 352, 422, 383, 468, 344, 443, 199, 425, 417, 496, 452, 472, 396, 246, 449, 458, 395, 398, 283, 253, 391, 307, 268, 337, 501, 269, 499, 409, 408, 434, 365, 264, 407, 267, 150, 253, 254, 269, 185, 434, 306, 508, 510, 287, 347, 318, 439, 235, 307, 503, 281, 303, 468, 366, 415, 434, 480, 368, 497, 500, 504, 195, 188, 125, 502, 496, 475, 492, 481, 501, 407, 309, 302, 372, 442, 357, 464, 436, 249, 429, 493, 412, 340, 385, 489, 172, 353, 322, 477, 439, 509, 490, 311, 478, 364, 450, 448, 479, 372, 463, 495, 312, 269, 425, 341, 501, 415, 193, 225, 481, 437, 433, 281, 509, 428, 278, 509, 458, 506, 481, 509, 463, 504, 209, 415, 510, 347, 246, 388, 307, 237, 472, 407, 318, 228, 441, 417, 467, 469, 457, 515, 324, 402, 510, 254, 112, 470, 345, 463, 302, 378, 416, 312, 241, 381, 327, 94, 207, 335, 498, 343, 476, 427, 444, 351, 414, 186, 178, 457, 459, 460, 333, 471, 334, 389, 398, 327, 315, 504, 481, 437, 386, 431, 488, 442, 241, 356, 471, 402, 424, 433, 287, 459, 298, 463, 322, 458, 386, 464, 232, 492, 285, 441, 227, 292, 405, 377, 336, 466, 441, 513, 350, 276, 142, 492, 176, 404, 286, 437, 483, 474, 446, 291, 323, 474, 463, 414, 496, 231, 493, 491, 464, 484, 448, 191, 441, 258, 296, 497, 381, 484, 419, 318, 125, 222, 487, 516, 285, 502, 449, 294, 211, 384, 358, 451, 414, 509, 135, 241, 444, 392, 474, 469, 444, 203, 500, 282, 350, 286, 231, 478, 365, 465, 467, 472, 497, 484, 513, 513, 455, 242, 502, 385, 504, 358, 479, 390, 407, 416, 266, 330, 206, 412, 471, 496, 498, 380, 325, 159, 219, 504, 447, 340, 383, 416, 475, 373, 410, 486, 368, 501, 511, 413, 91, 278, 257, 486, 369, 506, 214, 402, 430, 348, 476, 333, 331, 441, 204, 187, 450, 194, 382, 224, 497, 411, 462, 252, 275, 457, 446, 415, 502, 413, 121, 515, 485, 476, 353, 381, 488, 480, 385, 425, 314, 224, 383, 506, 280, 515, 388, 422, 386, 396, 408, 329, 340, 371, 359, 138, 431, 200, 361, 393, 189, 436, 411, 319, 316, 478, 293, 390, 422, 414, 445, 232, 503, 397, 443, 296, 493, 374, 432, 430, 493, 206, 437, 477, 295, 352, 492, 509, 375, 214, 314, 430, 283, 467, 491, 350, 421, 499, 499, 511, 367, 125, 379, 482, 476, 505, 411, 446, 507, 390, 264, 290, 419, 460, 474, 414, 422, 317, 327, 437, 422, 404, 320, 416, 242, 362, 429, 366, 399, 438, 293, 245, 448, 461, 390, 415, 356, 482, 504, 284, 428, 378, 268, 400, 308, 468, 416, 393, 394, 405, 355, 408, 438, 323, 424, 401, 483, 516, 493, 362, 424, 372, 234, 515, 386, 382, 500, 314, 402, 425, 460, 456, 172, 501, 247, 495, 173, 492, 226, 476, 439, 346, 293, 353, 317, 435, 152, 487, 119, 348, 424, 499, 494, 495, 469, 251, 501, 401, 516, 308, 457, 280, 454, 440, 432, 470, 497, 399, 451, 344, 487, 432, 439, 516, 278, 461, 462, 313, 475, 386, 233, 396, 475, 439, 424, 495, 431, 434, 433, 436, 456, 403, 341, 423, 359, 296, 324, 309, 480, 508, 435, 144, 478, 401, 358, 287, 484, 512, 443, 367, 459, 452, 445, 468, 316, 271, 514, 388, 448, 474, 413, 307, 86, 293, 320, 433, 302, 394, 222, 414, 344, 456, 356, 475, 468, 456, 426, 494, 428, 339, 288, 494, 448, 270, 504, 507, 381, 405, 379, 498, 469, 489, 247, 354, 445, 500, 467, 217, 277, 385, 318, 513, 218, 253, 483, 249, 325, 161, 351, 505, 475, 440, 229, 412, 461, 371, 427, 377, 439, 338, 473, 500, 292, 167, 315, 230, 261, 464, 294, 407, 226, 406, 488, 426, 432, 515, 511, 421, 489, 439, 282, 515, 483, 325, 323, 462, 443, 491, 377, 384, 349, 491, 353, 226, 420, 495, 428, 409, 473, 461, 357, 473, 371, 343, 360, 398, 500, 465, 401, 319, 513, 483, 216, 405, 424, 473, 455, 516, 235, 476, 308, 248, 281, 482, 244, 481, 407, 345, 309, 506, 417, 485, 363, 320, 192, 470, 231, 513, 246, 299, 447, 467, 163, 510, 498, 337, 417, 491, 457, 422, 340, 422, 298, 273, 301, 447, 449, 356, 374, 436, 299, 225, 452, 468, 490, 403, 432, 387, 38, 277, 340, 514, 485, 355, 253, 400, 389, 460, 492, 356, 300, 400, 404, 404, 498, 369, 330, 273, 311, 248, 491, 126, 216, 495, 449, 505, 407, 380, 425, 246, 437, 153, 211, 256, 387, 515, 297, 507, 440, 480, 361, 412, 395, 431, 412, 371, 506, 435, 421, 462, 504, 483, 472, 436, 507, 370, 183, 485, 330, 389, 381, 473, 272, 449, 364, 192, 345, 312, 252, 333, 501, 388, 491, 246, 507, 393, 355, 358, 367, 417, 499, 81, 516, 494, 490, 228, 480, 367, 427, 387, 349, 510, 349, 411, 321, 449, 315, 307, 458, 490, 462, 323, 406, 452, 456, 357, 153, 359, 503, 375, 352, 385, 392, 442, 485, 260, 445, 423, 512, 410, 361, 396, 421, 514, 300, 412, 487, 489, 19, 352, 447, 347, 321, 400, 394, 284, 510, 508, 502, 281, 459, 177, 483, 388, 399, 379, 180, 186, 209, 502, 418, 326, 214, 432, 274, 401, 413, 512, 322, 264, 513, 239, 501, 464, 419, 259, 418, 306, 307, 319, 484, 512, 453, 363, 508, 454, 424, 450, 275, 270, 301, 260, 512, 161, 494, 323, 346, 189, 348, 376, 345, 464, 421, 381, 342, 464, 359, 455, 492, 470, 359, 505, 465, 343, 420, 435, 428, 510, 478, 193, 419, 380, 414, 181, 394, 266, 396, 491, 395, 192, 421, 404, 507, 456, 512, 251, 384, 442, 421, 334, 384, 317, 320, 391, 477, 171, 336, 273, 500, 446, 414, 340, 484, 306, 453, 445, 327, 405, 406, 506, 236, 491, 371, 508, 471, 446, 501, 290, 366, 507, 250, 394, 403, 458, 266, 509, 351, 493, 252, 510, 456, 176, 440, 419, 378, 506, 399, 442, 319, 514, 462, 275, 459, 378, 350, 226, 494, 430, 494, 394, 486, 442, 381, 233, 500, 504, 504, 308, 494, 366, 353, 469, 439, 463, 516, 109, 473, 473, 343, 383, 435, 282, 509, 420, 514, 333, 450, 307, 477, 375, 398, 466, 382, 479, 452, 283, 285, 495, 482, 425, 430, 505, 322, 444, 503, 497, 449, 486, 338, 440, 355, 488, 413, 352, 513, 331, 333, 506, 423, 183, 361, 474, 461, 409, 425, 411, 481, 397, 470, 332, 395, 343, 298, 159, 476, 512, 398, 444, 516, 505, 499, 397, 421, 271, 130, 424, 456, 270, 463, 431, 334, 397, 399, 509, 335, 341, 443, 392, 509, 338, 284, 468, 382, 477, 443, 331, 455, 445, 169, 296, 511, 491, 408, 427, 408, 318, 405, 182, 392, 390, 488, 219, 368, 369, 384, 372, 336, 399, 502, 515, 356, 486, 325, 293, 504, 162, 451, 295, 339, 220, 471, 421, 351, 433, 334, 392, 465, 303, 418, 306, 316, 515, 317, 438, 482, 454, 475, 370, 459, 496, 505, 384, 185, 172, 497, 171, 281, 400, 418, 499, 436, 391, 108, 468, 280, 422, 313, 467, 398, 464, 167, 254, 168, 448, 465, 505, 471, 312, 467, 418, 403, 374, 470, 459, 347, 468, 395, 425, 19, 472, 510, 456, 428, 495, 75, 255, 467, 465, 425, 512, 387, 426, 335, 453, 474, 487, 480, 462, 344, 511, 207, 309, 419, 419, 395, 424, 272, 346, 382, 460, 352, 169, 442, 476, 404, 473, 511, 330, 196, 334, 329, 438, 438, 503, 255, 481, 500, 420, 472, 509, 394, 450, 255, 472, 373, 365, 488, 305, 496, 418, 193, 368, 305, 508, 495, 494, 199, 420, 514, 450, 201, 496, 238, 264, 411, 358, 229, 287, 493, 346, 409, 489, 102, 480, 413, 435, 290, 317, 303, 348, 376, 314, 422, 297, 343, 250, 513, 466, 290, 289, 431, 503, 451, 516, 328, 305, 427, 361, 307, 469, 341, 476, 371, 489, 328, 355, 310, 437, 515, 402, 386, 403, 412, 357, 440, 486, 448, 399, 337, 514, 426, 478, 506, 462, 360, 466, 496, 279, 397, 479, 428, 505, 421, 461, 257, 437, 418, 315, 440, 498, 337, 387, 490, 437, 466, 220, 500, 479, 470, 218, 380, 431, 243, 396, 492, 443, 507, 373, 477, 395, 188, 496, 366, 457, 422, 336, 376, 450, 391, 494, 245, 384, 77, 44, 478, 438, 454, 407, 285, 508, 198, 457, 261, 322, 492, 482, 338, 512, 405, 420, 312, 464, 416, 80, 412, 249, 501, 412, 452, 505, 426, 379, 451, 479, 387, 137, 340, 507, 483, 459, 203, 453, 420, 358, 84, 499, 503, 408, 443, 350, 515, 200, 295, 376, 442, 369, 423, 346, 420, 445, 456, 465, 337, 475, 438, 258, 506, 377, 364, 185, 321, 305, 282, 509, 301, 321, 398, 456, 511, 465, 281, 516, 450, 435, 286, 416, 475, 254, 393, 469, 414, 429, 460, 389, 478, 492, 503, 453, 444, 393, 467, 294, 420, 157, 279, 513, 497, 204, 444, 514, 348, 459, 454, 270, 413, 440, 494, 434, 465, 505, 429, 384, 514, 466, 486, 475, 510, 436, 437, 434, 457, 516, 454, 473, 332, 433, 479, 499, 405, 482, 497, 503, 411, 351, 199, 380, 216, 420, 387, 426, 450, 404, 370, 447, 386, 452, 135, 253, 482, 416, 276, 171, 419, 420, 288, 241, 474, 391, 368, 488, 365, 400, 363, 354, 274, 415, 345, 376, 467, 138, 479, 295, 391, 382, 483, 444, 446, 390, 304, 510, 507, 385, 452, 216, 457, 472, 498, 438, 408, 388, 368, 498, 464, 462, 466, 508, 515, 321, 375, 337, 448, 273, 455, 435, 380, 354, 254, 242, 324, 489, 477, 245, 427, 195, 508, 187, 210, 328, 498, 145, 485, 304, 493, 392, 507, 324, 400, 419, 430, 439, 513, 432, 417, 496, 364, 474, 511, 493, 435, 487, 366, 364, 455, 384, 359, 195, 329, 263, 349, 248, 486, 371, 166, 257, 471, 339, 380, 357, 437, 441, 191, 443, 268, 197, 444, 306, 363, 160, 346, 345, 376, 401, 479, 195, 243, 514, 481, 489, 445, 432, 451, 460, 252, 443, 332, 283, 416, 502, 140, 164, 415, 359, 470, 90, 411, 425, 422, 352, 344, 501, 386, 335, 458, 449, 478, 480, 477, 487, 413, 444, 244, 157, 451, 423, 480, 297, 284, 495, 431, 384, 418, 363, 325, 245, 447, 313, 485, 436, 391, 357, 512, 490, 487, 417, 512, 324, 496, 366, 152, 452, 343, 361, 389, 254, 446, 471, 502, 399, 485, 395, 345, 474, 337, 481, 249, 510, 458, 514, 90, 362, 463, 347, 477, 257, 489, 405, 143, 259, 286, 495, 382, 224, 177, 446, 260, 427, 438, 434, 511, 187, 383, 423, 193, 430, 427, 447, 435, 487, 502, 338, 407, 323, 407, 387, 166, 512, 473, 310, 457, 490 +}; + +float input[] = { +-2.8588758611049867, -11.692946618257562, -2.0931111592429659, 11.110696212718175, 6.6118168080332342, 5.5228669775147967, -10.351976177615544, -6.2055936928533972, 15.766842028131405, 10.150684036103069, -8.459063190320423, 3.5621047687812557, -3.4741612771047636, 3.324748317571744, 8.996614205792751, -11.020291727957101, 12.081427681651697, -8.8928631203159583, -3.3519010114052263, 7.7902118547439443, 9.6608001848411806, -7.1066822779231593, -18.837368573809297, 6.7301895647238608, 6.7933629603091008, 5.9697810424393483, 8.344011991064086, 12.19791145343228, 9.4167774696594435, 7.423418316685729, 9.0291842080564226, 12.492983259925982, 7.1203329881309401, 9.8776999539720336, 7.3657220051725565, 5.4066464900536131, -12.553405951140983, -8.4918025628237199, -11.352365915823617, 14.756685666538061, -8.0938336502539876, -2.7071697789206022, -2.4795849849319289, 14.778716053676311, -12.149933491676437, -8.5931326392610909, -5.4147618905983697, 1.7095221079392837, -12.75286957597447, -6.560818125727109, 5.5288804134600262, -16.774264848727494, -10.397477377823613, -14.47470382199227, -12.095199384731899, -0.68504635593676977, 2.6623689185177528, 13.264791388391092, -15.654931986196731, 6.1276196890542334, 4.5068190091793028, -13.394637229913476, -6.9231832293793651, -12.113429033794846, 1.2142140703098925, 8.9363539352870394, -12.687063373304539, -3.3458614784673091, -3.4123481785186587, 17.559631253372945, 13.470764559481434, 5.3912902961422002, 8.0737946505557545, -12.755710856932868, -3.569697890412812, -6.2613535644882905, 0.068556269783912271, 6.2629797657916875, -9.2663011036090968, -4.4829975567184634, -9.6136989537403004, -8.7663852688801143, -13.974856274599134, 11.407302219619563, -10.302223327202944, -8.9771589068473983, -6.1388609170833384, 4.2370800072671333, 1.7760515525196516, -12.120232639630231, -12.958157445638765, 5.2985241644932541, -16.484657731002855, -6.3532421360393387, -9.0395804464700298, -7.2671128749847744, -12.616882711750195, -4.9350723080331012, -6.6905936282318637, 18.568407538602393, 12.530577696234687, -9.7889565176657243, -15.214958325061282, 7.215674131215513, -7.5394667988733808, 9.0137713371297465, 6.2553392643094785, 9.1953246360263154, -11.131787953429392, -5.4020937991353657, -4.0642543197135739, -0.44036236539366824, 8.0650609441874703, 0.85520780385748785, 7.2621337620159085, 0.29865166967486761, -9.2011814546979203, -10.330862011400864, -7.3191138151867943, -9.4852558149271111, 14.762260259194324, -5.0853268103463423, -11.2925794883785, 13.026909781206733, 7.9504343630905412, 10.148928930852414, -8.9032450603232327, 7.0914762951954913, 10.89340681888671, -12.705821222595254, 13.126012326275292, 9.4442919029362749, 5.0277440210736879, 0.21756213342494518, 12.710361373031621, 5.6453651213768019, -13.49634180382726, 6.4754225359227204, 9.6275804629486004, 5.8125840672452975, 9.7028326962213836, 6.1260130958734562, 3.3623596073706641, 10.736024757333299, 4.6569987032041826, -8.5021099021622799, -2.5832378575026125, 17.984880998940056, -13.974611077713172, -7.8550941092339874, -2.6917314432377575, 10.825283872831294, 11.217940706150642, 1.8301222470027103, 6.2062091666111812, -12.440863506480019, -19.955292055354317, -3.6699151522797462, 2.2154324244303956, -3.7363628672311142, -10.271027034445964, -9.2862432349117547, 9.7847963699436011, -5.9471830363214551, 11.139859339322513, -9.2599913694963618, 5.0422863933763367, -7.1141487133220043, 4.2177963601947308, 10.657785123505857, -5.7952000401674324, -6.826355874510365, 8.7268751949597245, -8.5906649209875745, 2.2758857640658201, -6.1665377492933358, -7.3104026599884433, -3.2424605164178031, 16.796591996286164, 15.671215006757382, -7.8445348658392806, 12.2589312976831, -2.5670307012079139, -11.537316744819945, -2.4858301794672331, 5.0542510171190438, -6.6860957990782133, -7.2619018024969462, -6.7329842279273242, -7.3146812058251234, 8.0821157274412183, 2.4005920765968378, 9.3157871935284753, -12.908851857280949, 5.2927115546650425, 9.9926730185778059, 3.9229860372333749, -5.5126846245121035, 12.313688019948762, 7.9681453222519041, 17.181368769149195, -8.962498225939207, -11.548950041024865, 12.014544817430894, 11.485639169870186, 11.939774664713912, -14.36069895314143, -11.812874687185857, 12.249194120883461, 4.8839501930831242, -10.540165871108648, -14.829380396239381, -6.4665012687326051, 4.7430459960995295, -7.1378949876943016, -15.357105375923917, 7.3351294975306445, -9.6095153441695373, 4.381145332149095, -9.2910048695861427, 4.894239034759102, 7.864879034656453, -8.3265429253416077, 10.497214061711553, -0.39338042557070996, -4.4611306847986816, 0.76940119561902198, 2.3535542193708272, 10.459438806533345, 9.4938186880252005, -6.4805717587307994, -13.457392617761585, -10.487085219177404, -9.8506932711478576, 11.274019685851906, -12.3031017274995, 8.3324030035106826, -2.3013116280481358, 8.3664075310158825, -10.402109920341072, -5.2924293563600742, -12.008098192077149, 10.992304106359162, -5.5591947469243506, -12.838234842015352, 8.1682577157065577, -6.4919177172949487, 13.568876091933316, 8.0352162745849594, 8.7834139460450125, -11.335870474093099, -10.790767171281415, -2.8875937626970223, 14.64505222675956, 11.436743007190451, -2.9337339836825955, -12.707240342338084, 16.661129912274529, -19.171798326126961, 12.280144746488103, 6.5975965145696174, -13.019719338217644, -3.4328503704209457, 4.822535491209953, -8.1340577921572415, 11.549182216506546, 9.6431724916100059, 5.5547407614902173, 15.019668995173307, -1.6514898426907461, 16.110709054474917, -10.9397931999944, 12.04576668183285, -8.4818868311872198, -6.103248438757908, 8.2975079067215702, 2.5480181038085412, 18.799878298920927, 16.231939791740228, -18.011602750805633, 3.7139764502467689, 12.751595841360283, -7.8718015936255812, -0.40802815212428428, -15.47812599016518, 3.2584854200798588, 14.976391986507007, 9.1367378814346782, 3.4155780056910059, -13.292285487599507, -12.855991908912157, 14.013291588644732, 9.6911017234399335, -5.8910196575740752, -2.2280612655108047, -11.219438047247786, -2.5955623953948517, -3.4460676112793136, 3.5682986120247073, -11.70300520092221, 11.99455548751415, 7.319096625369828, 8.400961847094683, 12.142806695044221, -3.6775894169196279, 8.3797255658565142, -12.156985373281584, -17.475193610019677, -14.228116929396922, 10.726007504360073, 15.267119384103992, 12.781072511062279, 8.0326533999697229, -17.51207194760946, -7.554034280962183, 10.066411068992132, 14.13799652436988, -6.7247334837075705, -11.112518294834185, -5.7326833292155523, 3.6877552031425131, 8.7105204152043516, 9.3857694378580963, 19.127569440965896, -3.8614826162666089, 7.9404471399280068, 6.3807591097483005, -6.8888859894612535, 10.317928637508684, 2.1736529765433783, 10.953222318849482, -7.6682531128958038, 5.0318286636058982, -6.9463690764775503, -3.0184853792276383, 9.6041512562391542, -0.88225262267439808, 6.4852292067129724, -2.3181001351577644, -13.197351056460056, -6.8047677874499586, 5.3843074707174692, 5.1196343577870644, -17.820822197855577, -12.257015718775355, 5.1913937352654651, -5.0162460867599536, 9.9461758050913041, -9.7414598652248081, 8.1378256819797858, 12.564281794378495, -5.6365288176451322, -9.1029468332924104, -5.6355130288814301, -13.719331548944416, -5.8613058178495017, -9.2573519867695815, 6.0620773131346706, 5.8947778726542905, 11.265652594812099, -11.760986024368906, -7.7447348268870124, 19.076436411627338, 14.505720191829832, -9.0750817120358054, -5.2025480400034789, -3.1960162333402482, -11.659437264119374, -7.9842387274926709, 8.5980388295231229, 14.858752059828165, 6.8639263237417376, 6.0631638589074024, 2.7093921939507379, -4.9581002755473795, 4.4179924464321392, -11.144868427484562, 12.546476704938177, 13.606433000436612, 4.0208619807458295, 6.2408832155761376, 3.0941528835943455, -11.347668662075096, 1.9313877794966201, 11.65105372954261, -14.681336156121709, 7.2969958167198605, 11.59264621157577, -8.831465763669156, -12.759130509205734, -9.0714254556796128, 8.9948895559776467, -8.3736028555285831, -13.115027308542444, -0.21628815052066303, 7.7132708674061705, 14.055053470061472, 13.370601410874029, 3.3283307501026052, -11.9653642849229, -5.6440590777489144, -4.2508984635752549, 13.005398229132568, -11.5296140873405, 11.286858942494266, 9.8110403874583074, -13.263569122014866, -6.4297799553106456, 7.9672918799786396, 2.1515462864377719, -8.490571668881163, 7.5548103934198929, -13.121628447449439, -5.7901204816768361, 7.5171762671769704, -5.4216710822831979, -0.95140907859749113, -5.6992105242986471, -0.91737830538166343, -8.2053563541920571, -4.9100295191078036, -8.650093905400162, 10.400080220873763, 7.2829351923330092, 5.3481291290736603, -9.5017802399357425, -9.8687523002255393, 11.82329840938681, -3.1919281246249707, -10.124868011353035, 6.8360355157042028, -14.032171223888698, 18.148403140529073, -9.5731633683674744, 4.0453611070899935, -4.114147796015585, -8.4912512496909898, -7.9968991599686872, 12.922672789580542, -6.7315939113482681, -16.414580925551139, 10.417406116722118, -9.5795995211441394, -7.974905790034116, -13.727944328842275, -15.024522822723423, 4.9026741637309703, -10.662764572620276, -19.122555879539242, 9.217115643469544, -2.9661166430929642, 13.154514394206242, 9.8788596316167272, 4.2669291411005252, 10.239868792823961, 0.50928446540137651, -6.9544644508051245, 2.9807945285095245, -8.2689690969205181, 3.5499295458600972, 12.732733620631645, 11.61935741986054, 8.4137329217700945, -13.703811206903364, 8.5347899814747166, 13.941804015126218, 11.213731601489895, 11.550008187296406, -10.885532785062049, -6.0320756476152395, -7.945602926688589, 18.178022024827495, 4.2378890109434684, -8.419937978328889, 14.273513193884424, -8.1801725060827586, 13.690183625733544, -17.518387733265431, -8.6392702216784656, -13.927446312699148, -8.651607062718659, -12.712917239643309, 15.009792996204254, 0.15853783962329626, -10.462310302523948, -12.535567399778486, 8.8192610919401329, 13.066656030822525, 18.005415525102343, -16.007576967175243, 11.052574245331391, -1.1810954342450888, -12.762633127175347, -11.427571726679494, -1.8068233566411038, -3.8651597939182674, 6.9028603232990591, -9.9188843352819767, -13.607089316301986, 5.8989769757503172, -10.266998033319117, 12.946619994251195, -7.3433271276853551, 13.594756446262442, -1.4802835189751626, 2.9459432512420887, 9.0127453411993006, 12.34274116102957, -0.99056567004691576, -1.0211228826859517, 10.87969885601588, -15.669877762479704, 16.01192464298973, 10.789218207135569, 6.1523737440350752, 10.844976713696601, -18.796538678004055, -7.3982730413954201, -6.5213519941388851, -18.571369340190397, -9.6913300045155282, 1.0175474995943568, -8.0705533615168754, 14.251221745808563, -14.054781652173469, -10.906074448438877, 9.9932114606110058, 9.2204934537976815, -11.102967677965665, -15.06146952578059, 11.282374133246716, -3.4111780254645643, 7.3857075662336609, 10.330601600777463, 5.6502615537426548, -7.2776853004382911, -12.041052757776699, -11.046289906579057, -2.8519140526114701, -14.358095698121817, 4.6207960341417813, -12.368837238636017, -7.2377430770905917, -7.1306536664479809, -10.374815173234571, 7.5287331560402384, -5.4660620697715716, -13.441122458297521, -6.5962962593129824, -8.4930653390556969, -5.473757203858737, -16.42318744504734, -7.678902139771755, -6.1724752873292612, 17.227224731420481, 2.7992443468423089, -11.010643413583562, -6.0460973993600238, -11.514094016830022, 7.2250024006000091, -7.8426213114387204, 10.647716150585898, 5.7539405508617296, 9.727218535739766, -10.217949794886991, -10.197658817694322, 1.4534950594678713, 12.10682632749001, -0.51088307163622715, 17.710760548825679, -7.7470194812395397, -24.372971692573486, -6.6052580469808717, 8.826482956514015, -6.7872955696686779, 3.6389619856040674, 9.9237321927880782, 12.100520790781362, -6.8842633676573595, 2.8844843405481937, 13.672108533544661, -5.6338295492883859, -7.1944131155704678, 6.9746870716875398, -8.2312590639291852, -10.25205738032861, 3.9564297173352139, -11.16342115946062, -8.4103856915642865, -3.86058459788803, 6.7693385059336668, -5.5093604081945458, 9.9112156966838256, -11.829917793796264, 12.06350448472004, -9.8908904770778552, -17.725516485129567, 5.0710728367340741, 2.3733785626266992, -12.373813495428958, -8.2010211819107539, -12.301300323962623, 10.576063861117305, -2.4429576335852246, -9.8126936984062763, 10.720987427999063, 5.3468144210345949, -7.436093608771988, -12.085562323273949, 9.616133130427178, -7.2337117418265358, 6.590012489497771, -12.933819456719151, 9.0992320680750058, -4.7115096872358144, -12.444448996962361, -9.2431835291508904, 8.9400870181220906, -14.84487535501597, 6.9572855730306786, 8.679259378600257, -11.728117564638417, 11.57774167266283, -11.089244669418909, 4.4545841055164113, -10.471036138424958, -7.9268850048012363, 10.006310688982033, 7.3307629546995496, -0.70086411051328346, 3.4399790497959652, 7.5780305602750353, 15.952535940468001, 1.1236075069228646, -10.56946563987197, -16.455271371728593, 14.943737550316991, 15.270538328279843, 1.8246123975329285, -11.861267836196021, -12.897409417413272, -8.0295182717849976, 2.5085092290718261, -2.997769928368061, 7.7106512520538253, -9.7986312114017196, 3.8597867083890951, 14.715042117673541, 3.6286772784703238, 4.6804229784596041, 10.468442660987332, 6.0309605373905297, -7.2836222700763322, 7.3372979832476464, -9.125874340732242, 12.431154776537063, -12.652059501141041, 8.520614267493885, -14.669291764198016, -5.4369263583494511, -6.9272239504642288, 14.411503339302335, -6.5090359387453871, -3.8249288367587844, 6.226877964919483, 5.4872378813688707, -12.071286274848809, -14.839631376528764, 14.929556186968613, -13.550466083272015, -17.79040452965922, 5.2176515285150078, -8.4073909354978511, 13.152357868676932, 11.880434179671278, -15.154722117187848, 3.3578570344364098, 3.7992951070371852, 12.544849221875657, 4.4664223998223864, -16.02563218730095, -16.858694781271584, 5.8423687431569373, 14.717494305248145, -6.3014233972716296, 7.8246512200173655, 0.2490959399462627, 10.09774947224876, 8.2302536611399972, -2.0230125836350608, -10.877543890130998, -10.315299910440396, -17.814418691884743, -4.7984509876179366, -10.569732541659832, 12.468245506360125, -8.1994351150315588, -8.4938440033843783, -15.646554844352739, 11.104862652426069, 5.4254710709054565, -7.075912451839514, -13.038488980503107, 8.6283602505517099, -0.1897762834069755, -15.926221800862628, -9.4620561439869952, 11.028601034997564, 6.2202218101379954, 13.01838761394424, 3.8814455959068872, -10.571348353520641, 9.3930545668475638, -7.4486485829571807, -15.896920034679038, -7.6634637506716583, -13.744383772875613, -16.289316553121051, 4.2240572521775093, -5.9728476753105495, 1.4435980912356212, -9.482201269588181, -7.1075995048298424, -8.4496788887326719, 5.5233585701859731, 8.8295065675835449, -6.8321409197770491, 14.622652588625614, 8.1030077299922656, -5.0997213512339847, 10.535820013561885, -11.687469584683409, 3.0547169868379771, 8.210959869395893, 10.201179428221021, -11.658463276051274, -13.563724058479169, 11.01039677555352, -7.1382476676607203, 14.955134349802455, -13.750666848543476, 10.162311270235616, 5.7884645703783697, 7.3371242692507819, -9.6841606635170585, 5.466449250298048, 8.4163518309029381, -7.1508542487337046, -6.6797959016182888, -4.7449989886325188, 2.4393509869405792, 8.654752655597532, 10.070879973393719, -13.17581052395726, 8.5470611298539545, 6.660259185215466, -6.0653871786400737, -6.5193717691612134, -12.615899043092323, 6.700881216282939, -4.8478946577189745, 5.1988868211607864, -12.549358461765644, -10.045744010088018, -12.380860324318006, -3.8616068170109248, -14.465705737907983, 0.4164829268257374, -17.143567612135136, 9.487366827722223, 12.652721901108753, 0.7645899772346989, -11.920812995054151, 5.348021509175628, 8.3879926788022008, -4.6246359904401313, 11.089899173175201, -3.8332542947304775, -13.36196018971258, 8.2464982273107097, 14.657515986404208, 10.904966172392774, 11.533578255944192, -13.982006985588614, -11.973821478795168, -16.592644946389242, 9.2836692767439004, -12.678645783087854, 10.730932446196368, 9.5849200107862327, 8.4498461340685918, -8.6907116625889529, 14.156816081594213, -2.5856081507256512, -9.2993749691896994, -3.6239666126178607, -1.8399557052395836, -9.9970546829752251, -11.017332480853435, -11.692178962270885, 6.3025733321249016, -16.175906955071767, -14.423994620868056, -14.689511946206805, -7.2353003125032167, -9.3660212630661839, -13.858073820033896, 4.7709918994882639, -6.7026088232668739, -10.527782639004828, 16.58828557927492, 15.050247187970289, -4.0564185563228934, -10.640020339068798, 5.0431846567205971, 10.934348304548614, 0.75988821460881439, -10.291366703091549, -13.942020188031572, 14.135017480152827, 11.151498767692816, -11.537353350061172, 10.343082453782436, 7.976541387752091, -3.5774431227145778, 6.7912849734238856, 1.8417106851238594, 8.8764923317563689, -14.359256236175909, -5.6171451890921933, 5.9817930874266256, 3.2031461221092781, -3.5231009274983971, -14.863876345356418, 13.612377512426715, -8.9030335281364348, 5.1285813990983709, 4.8771312118802621, -3.1813763041012044, -8.1658030154444532, 9.2635478384894121, -11.938316318486482, -10.581389864174858, -9.041740376889754, -11.289532586451648, 9.8541909326330934, -10.813754378648875, -10.992626098956032, -4.2128060145436059, -13.803513190675977, -3.4047166821717285, -14.699309096179331, -12.322199151029571, 1.9847013546589598, 3.443351936013523, -7.7412573332668169, -9.4014738152531816, -6.0936722951459252, 11.249057062872248, 5.3612317349290048, -6.0934505412619844, -10.329491262921293, -8.3782268065652321, 10.610705115588038, -7.7383153101209938, 8.5683043797354852, 9.5214421313463742, 9.4646448974772674, -15.945188235432587, 13.571842719150663, 9.1766386061343823, 3.9788060864638335, -16.400242920289237, -12.152955170027367, -11.743525499640301, -10.778431692576483, -9.560949750398839, -11.274506489189537, -10.497378072608422, -11.313774108583567, -8.6889440492171826, -16.999837953521492, 2.8463220500405759, -9.3414733746083147, 14.505309388696032, 7.2740770646355823, -15.216612609375215, -7.7754295642857443, -7.9668693810493751, -11.838336074962589, 9.3302243430363134, -6.1546909317578038, -11.643770269023584, -7.3067290482575826, -7.6586644572207598, 4.1554355791738411, 5.5784827988725025, -6.6788226812914591, -10.099712087346221, -6.812608788772855, -8.6942723276748133, -9.1414982497263626, -5.5404435688554674, 13.782301424897506, 6.4913332097552408, -14.843570407301076, 9.1090159582398744, -11.810479272023766, 10.734632284091132, 12.106233609286406, 1.2074129428018001, 9.05135706765188, 7.0513320487712221, 5.7063731455704252, 17.827025603920255, 8.2204534825947988, 6.859838386896449, -17.066087459633668, -10.546186910811119, 12.544407506754297, -10.501953033608231, 11.631217929282226, -7.3247345033456455, -0.30451282566541621, -8.8097804299616289, 12.580754884209387, -2.4535950387210703, 9.2528280654920945, -6.6762373246501507, 8.5487856314147361, -9.8862934311079176, -7.405954429775278, 11.460818356885351, 9.4241123506707218, -6.0650535086957591, 11.749931801221361, 13.45158323366806, 8.509266618399371, 3.0990921451133864, -11.845686618745093, 4.6809017476948664, -9.0788995203187035, -14.154172714949322, 11.436663871420148, -11.686823110591192, -10.466322347645878, -1.8093094588126659, -8.2842513297508678, 6.998530934794041, -2.8130875381789773, -4.7458503858358174, 14.892214325455083, -13.297630549395505, 14.137398522674463, -5.1741407656371132, 10.811880263388231, 7.6909240450423546, 1.2020066622797796, 8.3882554040760446, -13.296889605096078, -14.12122762385526, -0.86913405214011996, -1.7012640446050573, 12.135944269100591, 13.696947616128121, -4.5178290393967648, 11.379039879071998, -17.142332699109016, -6.2502893853176538, 14.551005043468933, -15.922443449630226, 7.9749887358427554, 7.5006183839537428, -10.731307185445075, 11.828405368248815, -11.242740313773945, 8.6857287401789396, -2.3357416563180076, -9.2522949403141723, 10.057172114119057, 4.2142804964077794, -7.25445812349398, -4.7859211707096279, 12.212717205630641, -0.68060465039856421, 8.3585750011161384, 9.4355684709667997, 5.8736217498953929, -10.357680904873, -15.182609723791906, -10.528438249903205, -10.728845332160351, 4.4271186570969041, -9.5459159618972773, 7.698786708464044, -5.7616256574906473, -6.74427916594568, 5.0713712230747952, 4.9757324493057258, -7.5822193975454732, 2.1521506074067127, 11.702619296651129, 2.475868836880037, -8.5152128927626887, -8.8176272081621523, -6.7396490012107382, -7.1103087325178862, -12.249044472908748, 5.7223187192045835, 6.0785970538718885, 13.311388408274434, -5.1967232459428514, 10.616058764924363, 4.1131834199366937, 9.1157637550044708, 5.0981827919094043, 3.9623438215809581, -5.1277684895200872, 10.717366089367347, -9.6119167010571456, -17.671933631733026, -0.93466484572541053, 9.4511618566836688, 0.51145591409598801, -7.4842698912260595, -12.965780155817985, -11.049283246505306, -9.4204398537725336, 14.713331608978752, 6.1294522089617445, 12.762571544243462, 4.2519976479727246, 11.581799865407062, 4.0540310044195316, 6.7583036711124178, -8.4596629969850596, -11.555561625120337, -13.223361797635503, -11.022881346403601, 7.820188150462851, 10.050313550691401, -2.8748772822692796, -3.975284267526737, 10.165011610963463, 8.361153496598952, 10.23454765876409, 6.9861352278001991, -14.063066120834387, 5.5703634980353156, 4.5720288674742182, -10.208336872812145, -3.8841964569917136, 15.871358616035476, -10.375333061106602, -17.028934392886523, 9.6095097993772214, 2.8612197492337277, 7.3984151374847418, 12.882442279479097, -3.8593872267618985, -3.3505651418910092, 9.1400352361857795, 3.4607159608677991, -11.802758101252648, 16.131696084668302, 4.3485520924992915, 4.9299693363247012, 10.20608409504235, 11.350181288635312, 0.71079817132091727, 7.1011529322063716, -9.9921413971440192, -5.8089676277937103, 21.431868331238753, -7.0747060210352215, 12.069527047899687, -9.4828998378865119, 10.122263948520756, -13.538606127789073, 9.6375976702501429, -4.4100604567201094, -11.99790766311845, -5.976372779813337, -8.272146596627568, -8.9450436886845743, 1.9542103075796229, -2.5876227697187235, -14.368094001362385, -2.985471188013614, -2.478307267502168, 2.7456040916726456, 12.581031236480218, -11.4758779722525, -15.599590155208737, -12.992869206559288, 9.953747866291776, -11.025999481843595, 9.7008748889831633, 9.4677048052865693, 6.0665148799454283, -11.021027787278838, 4.1148665510329865, 9.9715457939675805, -4.524015231428284, 18.833454602793879, 7.5018420072802252, 6.536477074456216, 10.39532612887518, -7.7192567198190574, -5.8633746049064728, -9.4739325485451946, -12.966876834521914, -4.8932353347242916, -7.50082678824488, 7.9240662467055403, 15.473285728117284, -7.874821177550495, 3.9913525758800343, -20.203393732375613, 13.177667766939793, -11.905585671112627, 8.76829420558043, -6.6904194950549218, -2.0990812946584643, 16.352167450942488, -8.6839871579774304, 0.65535704062993771, -9.0914298192610481, 6.226432112620512, 14.414606788199343, 5.3327990949329722, -9.2825422873145076, 5.2444348695624967, -13.52476436519694, -10.565017103537128, -7.9458267805510605, 6.2385267794539532, -10.620897086888419, -14.02491825647715, -17.249193736529822, 21.822546537373011, -14.525572761291961, -9.6352912168501117, 7.7923236942745477, -0.43905931375127905, -1.1677511335028592, 7.9195608711842009, -1.7261157613467151, 0.81574419315180335, -6.6258630940789853, 11.446710993602048, 10.423767215464459, 10.131515821910522, -4.0813762630157786, 5.3099875815632895, 15.005238483277349, 3.9458100113193013, 12.997541564501073, -13.401349640520106, 6.0898523220056484, 8.5430795315739463, -6.727566986421512, -6.0976964106078926, -1.5514248251358895, -6.9251342133096534, -5.0010498589221326, 19.36294632958224, -10.995748094036278, 6.8230876895289425, -8.9816761374312737, 19.252689002798032, 15.018231032342973, 0.75032883111291693, -10.512852145797988, 15.952636394768637, -13.876019658000088, 7.4282002133627536, -15.007337649734009, -20.867628639436518, -12.864466413292632, 12.282886216105501, 5.6117260976193588, 7.7243055425354985, 0.74537471606410499, -8.3753274103443793, 8.7297402808334041, -3.8752359373415373, -7.8660891683218042, -8.8027160564205786, 7.7988010166838881, -7.8129632889899385, -5.8353090570942738, 11.438552747844, -9.8854956847581263, 6.193488211617348, 5.7060858140643864, -5.8417400083956581, -7.1659403388854175, 8.8621684734697617, -13.828395956746165, 11.58722476958626, -8.7757625064865632, 9.7638601085689327, -13.63897121774294, 10.692146632523938, 9.1954815513953641, -9.7262358263602646, -3.0742135000084518, -11.831625275045802, 10.346151064081882, 13.860225574621548, 5.3434462647847401, -12.667486708061194, -7.6071393527596891, 10.497824234551809, 9.1398524858692305, -4.8312688599490299, -9.6866353191391568, -14.936854315955886, -4.5645292398393735, 10.306087472805107, 16.435616799434957, 9.7618939189542857, 7.3359442918945499, 5.4777235052650965, 12.827631906540597, -9.3557044067803972, -8.6207571310957753, -6.9067986860795303, 9.4266173165645881, 8.2700014055707438, -14.396299560527304, -9.1945433850102294, -5.0742673058143186, 5.9363570201246212, 9.1825801770474449, -14.26016478123667, -8.9647881473585791, -10.999991358949853, -5.2643587807317358, 17.966460043223208, 4.5038323715849113, -7.3643627119764705, -8.0021495622334466, -5.5012765171131761, -8.6385795076142866, 10.642859565399243, 16.418157809689014, -12.558310319227193, -5.6944436186565675, -16.620579134203229, 5.2993074909249556, -9.5535858720998252, -6.194850562303122, 7.9283758132069577, -4.3938243314441445, -16.08461551423154, -6.1053020627578558, -7.8156662613007883, -4.2010902685294225, -11.260598796472106, -17.361798229363732, 10.523477968271544, -9.2997205134904561, 4.7239785905440819, -16.55663724338849, 7.336212674126954, -6.9284736037251049, -5.9733477242286268, 16.958437027673817, -9.3688626284447736, 12.335069283139083, 4.4003768017589344, -9.6375650205771759, 4.3025216992304607, 8.1709809734149754, 6.0840979096543046, -1.7791701081822009, -9.7212268065403915, -6.3728373407996992, 9.4709301635928664, -9.8099415495718265, 10.216669472304444, -7.9089613940445638, 9.0133309428613888, 15.233159549099527, 14.443197589960937, 12.315849008505751, 15.22683390790605, -12.204208274855294, 8.0545420942912056, 11.261686524342778, -10.088714704911705, -14.758394330397744, -8.3506925495196622, -5.7190575904160488, -10.474095362096637, 6.7558531383042801, 10.839875782803038, 9.6223187492013871, 4.0011315315627671, 5.3452889051100145, 0.29628684358052387, 10.260560792716758, 10.010269925150098, 12.309818259037518, 8.3443036587520112, -5.4014577244395916, -12.309450717768483, 6.227119823086781, -0.90098300040336077, -5.9574142236058796, -6.5290358544134426, -7.443075641870017, 9.5718761708906559, 5.9045525168917088, -14.09287394192167, 8.537557668616758, -14.160598968888243, 5.8051719496039951, -6.239975019204187, 7.4524259174698209, -7.4731349725176219, -8.5239733925114809, 16.110254200184002, -10.257968713373153, 9.5898379203607735, 3.4675905258102322, 8.1300367938993361, 4.7762632339122959, -5.8974433337845085, -9.3140122423426206, 3.5847848816848376, -9.5355250106758724, 8.6839175133173008, -6.6948323819511488, 6.7933016290691377, -6.3800902026507824, 0.76093699061175468, 2.6435457529778015, 7.4138748481937027, 6.0247308500592567, 5.9280863177297123, -3.8920878288506016, -8.4621386416944677, -18.750651564949948, -7.6188990491921116, -2.1334205811758622, 8.7540093304816082, -9.8600851053842149, 16.342033110995256, -10.800872299968921, -13.998298573757474, -3.2934871871896396, 14.06180118603365, -9.271874228911658, -11.048285130582032, 6.1595626190926716, 8.0570216147192557, 0.66340001966893403, 6.5132884000227351, -5.4201122315987309, -9.7412562635013984, -7.0486139617141514, 16.981384687745692, -8.7022380510622721, 14.647877845477861, -8.0820055541788722, 7.2226523022245761, 5.3790569210687584, 13.728807132743302, 8.5317048523035623, -2.7316549253863927, 5.3846139594020226, 5.4103146460176523, -6.694268736004001, 8.7300406717059573, -13.347383859719848, -8.335174873152722, -10.945696086225201, -10.4875598953527, -6.2891459907155456, -9.3671321709341981, -11.585498988590738, 6.512870728010193, 6.33239714027453, 8.7682544573530521, -6.7439993019333704, 9.5026784978124166, -7.0246760343330656, 6.4372813340255446, 8.1945894173399711, 10.262887249545706, -7.5060931723177706, -14.674750300787338, -13.287289997793177, -8.4928309129257595, 7.4563888548291644, -4.5195874938690226, 8.5442291590063935, 9.7115273312730501, 15.092119744113154, -6.4263051953856785, 0.12831365323535676, 8.7640439297438597, -6.1460218943241305, -10.889755958467752, 13.67769695151666, 6.312988951937812, -13.227320725213115, -11.784825668882982, -7.6748667604861192, 7.7787450544407344, -9.3711259762266828, 13.023365017019263, -7.0200584128511876, 13.494925467734497, 4.2227722997626005, -13.760223253172747, 6.1777636365323456, 12.067306433588751, -9.9155428829691132, -6.5766064428842856, -15.151662906193899, 9.6988065214723864, -10.152731302282174, -8.5735676931961322, -9.9418795299730185, -6.2260760507460198, 9.447544122507308, -8.1319644337468215, -4.145324424570318, -3.5485961822808565, -13.467769122062073, -5.7514070303621585, 4.2372927865136871, 10.111694661148967, -7.4186471554037379, 11.430760000153063, 12.312843067890855, -12.810688665750249, -1.4448074235360808, 7.986361807585828, -1.7676683131382003, -14.521209725348982, -4.352705664193615, 18.914853195668275, -1.5113121651615482, -3.6397864185997131, -8.6196558356553385, 4.1199321080626019, -8.4888399293551817, 0.57614759104880209, -3.8170562650576274, 6.5118953364681147, 4.0953213386352472, -5.3421050165325257, -12.272356482934088, -3.0358640779517354, 4.2481637384966975, -2.7752337082527849, -8.0160326885318369, 9.5768553793879043, -1.8524775210440534, -11.009861394679287, 8.9742068648070266, 12.471334080830026, 9.9992644688047552, 8.0039800551702207, -8.7981872925635614, 6.6433407975833738, 6.5480704488332835, 7.2841246634294423, -6.3252439319780178, -6.0513426125451124, -6.3988334931556485, -17.469331458693546, -4.580254889517116, 8.9993454898016569, 3.2238207283793323, -7.7799510625287303, -13.803751678166556, 9.7121916487763045, -8.1746700971358059, -8.8126126733994941, -4.8155492973679186, -10.804453969532291, 7.0086143651800121, 3.1481410707654631, -12.810183673768677, 2.3362046780839187, 5.744619950986845, 3.8643342874084374, -13.249939418679734, 11.415744222471059, 12.554737671029878, 9.8333778447831257, 5.0957400772063437, -3.9991407502674661, 9.8345770583999279, -9.7368996360840274, -19.449417624721992, -7.5133274868764675, 6.0619042605430966, 7.197156700662827, -7.0063836107615485, -19.263860108465263, 13.028208109141358, 7.1331219897936977, 5.4720228485501652, -7.3579311406347925, 7.1801636071660138, 14.640572831964421, -3.8340913302192701, -3.3062445113231744, 17.400159670258972, -7.1681505547822413, -4.3542281808553351, -8.4546164816007607, 13.421193429578857, -14.905121149794782, 8.3143744117862095, 4.9730046756217972, 8.3532232015837344, -7.5969825424753346, 12.3177910080973, 8.7607875220531426, 8.5127047792303561, 3.5774587189097899, -9.6494548210828786, 7.5331539937229897, -7.4747114284701679, -8.6591660587053916, 7.3468316363038637, -3.622337543593344, 0.47384090625185044, -6.0463560480716252, 8.0499483448215017, 9.7022755442800293, -10.776004671468062, 8.3543427603924503, -5.5360568466131905, 6.0186808121336659, -7.3543970398820848, 9.2806086183805689, -12.230546104506987, 7.4673092848302733, 10.975472812952574, 6.7926415721593818, 4.8749321283736755, 9.5323516120815874, -3.0280886662753885, 5.5571898549900514, 10.226559964818154, -5.8034190385368811, 6.5444311969384019, -9.130374827280793, 15.819448485436817, 5.5538576215556326, 2.8637826501217618, 4.0706674231610558, 6.4597011042272623, -8.3735378854139135, -9.5667300995851061, -13.845901714228189, 12.714093428899416, -8.3628461969588557, 7.5987675327409425, 5.9272125723131186, 4.6950385206484189, -4.8195825770873233, -7.908711363482686, -6.0290697566338824, -8.6859336035752293, -4.5193059923378351, -4.5940077637319696, -4.3311584091869832, 5.3536488354562275, 1.9921280360174241, -9.4633153479117045, -6.6570051760469031, 14.208357863252012, 9.4845107231608647, -7.1832992233853066, -8.8475487049318655, -13.630287949249563, -6.0719107719352952, -14.274798405390152, -11.162105305503859, 13.054901490270078, 12.995371746588807, -13.146715820058548, 12.945646134893682, 3.0460739976722446, -12.155229015360904, 2.7412678887489506, 11.780611735174173, -5.3341954653614927, -10.032480770112713, -5.8447538785525053, 0.52725472542845364, 13.379456926012971, 9.6135830134952744, -1.944448284069229, 9.0502993001659355, -11.346127451101133, 4.2434870682337369, -9.5043367843183457, -2.9775157830606012, 5.4193649803215109, 5.9212605221007886, 6.8739591477125153, -9.3618138585411454, -11.34734301929147, -2.8580136600449677, 9.7314938797272301, 10.716957084696832, 2.261487615173849, -11.936472547545375, -11.596497065616539, 8.1683014049841454, -1.9741314291525349, -3.8079032870338203, -18.998387033650793, 14.785213606318443, -2.4675987407306512, -12.092457768834166, 8.3055089082183038, -9.8880041321383381, -12.17693749962149, -5.6119106856770609, 9.3346742365750952, 5.9978824704833622, 0.13754021975113387, -14.894732183908136, 14.747292229007831, -9.7097733323647439, 7.1041665937562009, 8.747982309638612, -1.1124715705618149, -1.3453533016361534, -7.2336827315963976, -3.3065754079116902, 10.610359888132521, 6.439770888743964, 11.42420401634142, 6.5388842458764689, -10.853598132676623, -15.353822721495742, -8.0675862924724751, 14.459019981256141, -12.566396596207603, 3.4205186262164231, 5.630487549883056, -8.073684341188935, 0.82126057392054652, 13.882060246971731, -11.094144048902541, -11.389801550560342, -10.3187260289045, 2.991571648758196, -6.4911734708363165, -11.245496138683489, 10.9851776336762, -13.130504876870628, 3.7733165504957942, 8.4076079303113911, 7.5529546967120051, 9.1048736341912768, 2.7287083950923141, -6.4019633593747214, -6.7703960792021753, -7.6283872602484184, -7.6359394699956251, -11.153289601654617, 4.0727793884727168, 8.3062884746691932, 15.72392064712384, 0.9811577968163786, -11.722310671012934, -11.342923130703641, 4.6538782013854689, -7.3739066993524025, -5.8947067956510093, 11.486762613574625, 12.413880145399126, 10.786268654735865, -14.830950842039924, -12.718664091764236, 11.838893611398694, 16.960744319691706, -0.90885433404131177, 11.805632469674961, 8.787147329142396, 7.4670599584679005, 13.783711428147573, 2.6889832573487715, 9.8277282208337393, -12.621979239155044, 11.900463485129047, 7.3974913674936378, 7.9790082301381764, -18.460977129782226, 9.6868989422260476, -7.4849707679692381, 2.791279213037106, 5.9072811103444005, 10.027746084723706, 5.481378194108391, 0.94657543605496242, 3.1638084348680802, -11.565804912112132, 8.1295825065418228, 6.2454385368905463, -8.7244225637155086, 9.2949740971114814, -15.413745662976126, -9.2767171742637053, 20.883637553321279, 2.1729042705598971, 5.2123425513190229, 11.260222333457566, 5.4759025599371576, 8.1537344500122764, -12.294121929916995, 8.802476739158374, -20.703918322925325, -9.4123075195898913, 14.838015503157582, 8.1809389421993437, -7.6381202529000944, 5.0731354695422288, -9.7523696522120105, -13.519239387616903, 7.7323479369959101, 12.148583040284464, 5.4807070910189717, 4.8696229713233139, 5.0087903276064836, 6.4402113569592467, 13.277426855835845, 9.6524651881369721, 10.826902095836219, 16.183489895274345, -9.6318043844967534, -1.373132442179763, -11.219593888898418, -15.004319828107285, 18.258393722812315, 3.7354456310459385, 8.0651749744359105, -6.5164044554554748, -12.565266643553137, -12.030885912645394, -8.5404810535779507, 12.314165209697041, 7.2947873166397219, -10.819275536058335, -8.0129408622894012, -3.8121662128657552, -7.6091124585846721, -8.4798365873122474, -3.9868453977970675, 11.38629202057937, 3.5714802941824, 2.9518831049273677, 6.3322250488086071, 11.580034774188221, 13.479927163429085, 2.0786137569475098, 7.9330224326080057, -3.6943001859225055, -3.2256160391289095, -12.811450358156192, 13.541505165687818, 2.6411149013180362, -6.3489619114245244, 13.373338952003571, 12.628299743258562, 1.0027687748564038, 9.2077227922659706, -13.768254699816865, 6.8324600540916247, -14.524379303203943, 9.2715316925285709, 8.7678396133255916, -7.7000840765938703, -7.6752994649649313, -6.9178464084480851, -2.824297046557938, -10.067962153214038, 9.8382780470022801, 9.8343360207768367, -10.442346656794413, -11.531825845771756, -5.6955603852302623, 7.9952115376447042, 7.2796481632297372, -3.9815702225402285, -13.888827599999129, -8.7028698626538308, -6.0635186121417952, -1.0917426165389645, -7.5444189349932813, -13.502585170286313, 5.3738984196649149, 5.1002418292985094, -2.2415640749653791, 8.3993581378656117, 17.872303247028064, -5.7930453662663712, -9.5610560588597515, 8.0594903059030294, 5.9955468570765671, -8.4016643820784811, 16.017479926774133, 12.457791465479348, 14.251050296430238, 13.550966058757862, -8.762120073439311, -19.568799520529904, 14.473633275887034, 4.7150108398434316, 17.622896812791758, 8.5532109821391256, -7.8861564007563967, 2.8018084587073706, 11.238281768369326, 19.036214400042667, -12.627994340787289, -3.229926146308185, -6.2106083456766665, -12.029815325633603, -12.732678066605525, 16.114114027765005, -8.8878875737603433, -9.1952288940063198, 2.9514348736209386, -14.875969949421576, 7.426537438524826, 4.0988218779588257, 5.1048469008081083, 8.3561664083509974, -7.1680838371486972, 0.079559302266173665, 7.234447616829998, 9.2153180384359938, 11.380502523658766, 3.7813665464468564, 9.3571471630839476, -5.6198950965916659, -2.6112846832626295, -13.074922193350705, 7.1458325396315745, -6.8553238201936848, 14.037347515845747, 6.1114574644258219, 2.6233447927944442, -6.6962191818230385, -15.054560815064955, -3.8509653059595634, 5.6193134186600444, 8.4632418525580135, 9.06084843255511, 8.7155312766304451, 14.146656363113056, 9.4485647712524159, -11.894790263269002, 6.3630883640874796, 6.0659222594215532, 9.3423771994935656, -11.56898779218068, -12.569317170483185, -3.1542401369229229, -14.317618053977442, -16.07713062656423, -13.866270731830225, 8.9731628045127234, -2.7568654754219311, 10.650056946180007, -0.38554919912492391, -19.636918428478758, -7.261084813408365, 18.261599502237281, 4.365909470450525, 9.4604701736004575, 9.3379768195852684, -5.9721332777841125, 1.8392337494849149, 12.236588220433115, 10.729755869202716, -5.0163355160529157, 7.8745146479874295, -12.210717308250283, 9.9053843786672573, 4.3176048616878999, -7.1321033170654076, 9.8376099896153644, 13.994875675654404, -11.800822210877568, -12.467732532409068, -4.8096053846346782, -15.806886200214143, -16.011053902031289, 3.3108259217896991, 9.3708906824355758, 4.9387906035182194, -7.2811664484622529, -7.2283659694812323, -4.3994107454794076, 13.986557692605393, 16.267589496305209, -12.5211237853249, -8.6162733581098614, 11.875897506788261, -5.7924040049014529, 9.60395357854315, -13.371234187638548, 7.4044876769030976, -9.9169764629346115, -11.960026798255779, -5.6929530819152605, -14.080996179546117, -4.9741440758010285, -7.2894457453898616, 1.7385165163304241, 10.659988023147882, -1.4616437274123262, -10.074637029156758, -17.086127613435742, 12.235716666711239, -7.9575522168496349, 5.807625236075423, -9.2779276010226894, -16.480345338445041, 9.5297786981975108, -12.287759229285887, -5.793455825490601, 11.046928184816098, 12.263531584491689, -15.868613864191206, 6.1089590101381299, 7.7043039642206841, 6.7725058819006509, 0.19765926454723443, -10.92190123421037, -8.6903416862217444, -3.604954070470813, 10.780882529813848, 7.6342821794581255, 1.819027960022801, 8.9622472070627612, -3.7731185676641705, 2.6511830669363676, -5.936256145443763, -3.5065708446633179, -1.6756694810431396, -9.4457045728120921, 5.1176087336867671, 9.0843869892318665, -4.9165468247185249, 9.6190501542416023, 5.7720688303614107, -8.8665231351704143, -16.776765049597191, 5.1935200585542409, -7.0317717992679913, 8.5952975711448651, 15.701379400382201, -5.1747900955843287, 6.644409479106538, -12.294043736596755, -15.483394542555223, -6.9161043885800755, -16.902160692468406, 13.140408586007654, 7.9585367038084494, -0.60142488467217781, -10.583573691246794, 7.6570812407643905, 10.488467203766263, -12.229594163883426, -12.105180821633089, -10.100333917660924, 10.582889173673999, -4.3524138084056574, 4.1598294177868027, -7.7208623056787218, 9.8373959423124191, -9.843437056863948, 9.2758547221503864, 13.917929858415311, 9.6348606573169207, 6.1603576344825903, 7.2761550553448275, -5.6132644264075031, 16.925921888188984, 13.099232943399601, -12.169951256692608, 8.0341465714582103, 9.5080586839310293, -8.9153040306547862, -6.2778930359354987, 0.65702865949253608, 6.1455975831103666, 3.4956736733487177, -13.101966614043903, -8.4917541060921486, -7.7703858331616402, 2.9540207920840338, -2.8250454453694225, 16.471572201031012, -8.3401753077338174, 8.5209392200398799, -8.4562622463700912, 5.3451445327350049, 8.3227551961577149, 9.5505384761710648, -9.6168853444985132, 7.8088619634040271, -10.010194534199005, 10.407541359870157, -12.730901681260953, 10.062237956980878, -8.301093581147164, -11.221782089013969, 5.0699226682185836, 6.8670809315755763, 9.5183305660198574, -12.477293633009369, -3.0829984725185011, 14.251075736126907, -0.50381312202666373, 1.3945668674871461, 4.4380349292124333, -8.4792849992484687, 15.740298722260704, 6.4916661990457039, 9.8781328856963952, 14.524311425947424, 8.623227064986775, 1.82594923740208, 8.1658888991281113, 19.519909829772214, -0.71626812905103776, 1.7182300090879543, -8.0056305624195137, 8.8667806307632393, -6.8903486607996696, 5.3931378831660304, -14.284745953661838, 11.800779205285183, 11.828892295047666, 11.579327959504184, 5.9644626407280574, -10.637566489206868, -6.3308930175168046, 10.362896991246821, -13.136681551103671, -10.69114929291889, -8.2804076555200332, -8.7620956793565572, -8.3349590113674843, 6.0390086996968186, -0.92206940007654714, 16.688147291793179, -7.7396944231238889, -10.556885976235911, -5.5034713893873217, 10.684323799177031, 10.164740010619706, -18.644906837500962, 7.8255279920941758, 7.1184183927575999, -8.5879829996361785, 10.058536284915368, -3.9577147638427337, -9.4390455070755355, -10.813502747434075, 3.1725069430189179, 14.646645070268773, -6.6958720302719321, 7.1891012020482057, 2.776770380964142, -5.3045752723276198, 11.024688310314966, -8.8716706651748609, -6.2182144207648875, 7.2174155723591822, 9.2363647659736916, -0.13811663085025644, -6.5095852199241193, 2.7850661520962201, 5.7288466875807895, 3.8404238060339386, -11.979694823507765, -8.1566218452888641, 8.4872181623141802, 4.0684730663558621, 9.433119896225687, 17.452359798566942, -9.1852211978356539, 3.7813711040017632, 13.687886395835575, 8.3110503099043083, -12.263855365231695, -0.29265821325473718, -5.7786710506977288, 0.32000221107421295, -13.152220176187292, -6.5995903240006717, -13.649334703564579, -7.5516513340805105, -15.16406327996164, -6.7664832291371457, 9.9511431024063146, -11.833825853245724, -11.726480937964023, -4.6960938337568416, 3.6909792826776235, -5.7241654435325771, 0.84009221550172219, 3.981445765587416, 8.3193977689219309, -14.855487044550641, -12.13768399449228, 8.2575189786919658, -12.482209307351347, 12.288265749008579, 12.92588605732125, -0.89651953932604156, -17.178851924529209, 13.465060130471429, -0.66179931634497746, -4.7361380949519907, -8.5915497494217874, 9.8633923545024036, -11.075503948766817, -11.521258634171812, -16.937563321814299, -8.4089961555477153, 10.316744468138424, 11.068755254870558, -12.812559137681774, -11.716000182253042, -10.794814834414403, -14.695829972179469, -5.7734367211811755, 19.281663549262714, -7.7079679114509911, 18.982133221850518, 6.7278265135517552, 9.4200950070653935, -5.0327780626629206, -1.1472749532062567, 8.9655615288611052, -10.289968622568939, -4.5317886320427014, -5.0717832150149214, -12.403158065152988, 16.054879478569319, 11.910769204629043, 8.8721630995550154, 12.946670225247273, -20.040326823281728, 15.061437997065909, 12.371159663686912, -5.2434241432319393, -6.539600733678907, 8.9759004731301122, 10.399696431036546, -9.7820158235043255, -1.8655127741351087, -7.2564512028104291, -9.2402317505484497, -15.743596514833451, 8.0518221334585913, 8.064389141916843, -5.1750464722524647, -1.2577099412771857, 11.088648050953193, 14.734664098438651, -8.7257834129372487, -4.9071340910761805, -7.2288497019818241, 11.368753439780507, 11.259515603467754, -0.9190234527098583, 10.508309728639846, 5.5014236641516137, -1.0062376510942861, 3.9510038373896794, -3.3772476520373296, -12.298064413396816, 1.1518807046710942, 9.8347990668982277, -9.6697877164226895, -5.1708006319540161, 10.90534178699129, 9.0780310964231923, -11.06717326378323, -10.193153698637712, 1.6370922062264599, -1.599701860652494, 7.4493340597532782, 10.079750519485344, 5.9817167134058051, -6.1883642950981734, -8.7859917448021054, 7.6925693496530796, -11.726693947959594, 1.5292664230077266, -3.7640503328337047, -9.2026303785959076, 8.3703384923817321, 9.2968574133785165, -9.0282964165522213, 14.082662142896044, 7.0391904432891064, -8.1892402659133481, -8.494960679412987, -8.3171594195215324, -4.1204583607408765, -12.464929795412097, -8.2800259108270922, 5.0158695467591343, 2.90504266938304, 5.5802620759772603, 9.6053945607379294, 7.4665086294967553, 7.2836197716168538, -6.0797636096551519, 5.9192672325212143, 4.3197502963078556, -2.5794586298505413, -8.3804827856018385, -5.7616389244014083, 7.5165636982133597, -3.7871806468757891, 2.6957388838195038, -3.0339814791522679, 7.7390014359139343, 1.0179611498135317, 0.57428282151728316, 9.2486809887277968, 8.9851820183067517, -12.322228892543235, 2.1846637256927366, -6.9268224211182101, -5.6465263096341207, -9.8609073169739414, -8.0437109222330996, -2.5924823061626299, 10.799267368908426, 9.5532367964485942, 2.1510949897407339, 0.72813586085734983, -7.6316236927774765, -6.6634161974825536, -7.6995131312161114, -2.6469146283491312, -7.8927242011683072, 7.9686594739655217, -8.0858268153723696, -11.113628935027652, -4.2312391545249435, 7.400536752330261, -15.878877108958942, 5.267992480772417, 11.16296673206628, -17.540164979801386, -14.801126830818111, -11.385201143366997, -14.508310090705075, 14.464207778841862, 11.215905228606482, 8.9532196390944634, 3.1058203222772014, 8.0753828772231113, 10.559485384240654, -8.2414912742823354, -11.714805939566189, 4.7281042573450431, 12.657353257890819, -6.3043093049399248, 5.067000914225444, -14.714628033981958, -7.7444814248447615, -2.5025562382741042, 13.564851064978582, -9.4328409951276662, 10.04126088038934, -10.570084081595921, 2.3444801610493466, 7.1831276221853866, 7.404162681313343, 1.1684082688282307, -8.8884680285241533, 1.9400943416397112, -13.196562462363692, -4.5705203572273359, 11.003636571194738, 11.468673888105736, -10.534610194739036, 4.4477979444487845, 7.3667611650061362, -12.044187016767467, -11.396051178941862, 3.9462512050906744, -12.988661501036244, 10.545881026800801, -8.0309289513402735, 9.9370741830104734, 13.654579804016825, 7.0469488853837321, -10.938942295813185, 5.1800344871423132, 10.882232153707738, 1.2710853105543087, -6.5661242949766816, 9.7776412282696459, 13.321850745505881, -8.1153422577009291, -2.2941713421233958, -8.7097542589155221, 2.2618606797252978, 3.1810406025700315, 4.829995467844082, -8.8230523342209999, -7.8350849175265527, -9.1156429568037076, -11.442019665347123, 2.2127249998070249, 18.018245968154236, 6.7919203279388967, 10.818120665998064, 15.957114328595093, 9.436472994391762, -15.0724442489973, 10.177531220212931, 8.7382348206500033, -7.4439716572652967, -10.135340539629416, -1.5478693068716267, -6.2520881203409369, 21.51870984833112, 6.7814496888686202, -5.4629593689724354, -1.0810664038442734, 11.680093350196586, -1.1684404824410481, -8.8192804660387161, 11.947180907432026, -11.865540708697406, -12.073158010228243, -9.3168616660647103, -10.855717378744718, 12.832277402471462, -15.233827235544979, 3.719489187613028, 12.974696537296685, -8.75959465422536, -2.4475947054420195, 11.313184053568827, 6.9182165488811229, 12.123675956468196, 9.6442923820443145, 10.799907622549545, 1.3696427348286129, 12.109212710737127, 2.6404947713803306, 9.5435762973738267, -5.4268755145327745, 10.974370356637689, 11.459181655827159, 10.228613791177938, -2.0376202581586202, 8.5519223504193267, -15.144108617549279, 10.208111627929036, -16.074632706297336, 9.535346082793712, 12.968894012265515, 4.2926497043948793, -7.6447760416419124, 7.3591604897068219, -6.294066487171917, 8.6661482650382133, 4.3524844886549072, -9.6284187314739373, -16.389868048898698, 14.370574991274481, -8.2963813089615268, 16.504114329831857, -8.4564658970066731, -6.3969858495492078, -7.0522130158545027, 16.328014713505098, 4.0676774938327931, -8.8805902890220576, -5.6438005548253818, 10.887856323753418, -13.497382772819085, -17.229682704447541, 10.177341730428909, -10.959196430060141, -15.892999214486872, -0.39312548358593402, 17.548662000796629, 8.138747505659067, -11.081466337015, 9.3549081143588229, -5.2668052531909293, 0.59145215464277101, 13.865804154173629, -6.7446135707105945, 10.591472647241186, -6.8775928522394087, 0.79035105716724385, -0.83434363179526505, 13.426811179256797, 13.480253964577903, 7.9579945693584886, 7.8687287842784803, -1.2711852125721312, -6.5831626138029433, -10.255988526378117, -9.3721646222445631, -4.5483019698635951, 12.654546996958775, -2.2845772848784054, -13.395748226685187, 10.227730333720137, -8.9275038607977386, 9.2096733075692399, -9.1994549499155589, -4.5768838702423018, 7.4336970353205523, 6.1990136188764922, 5.392562974045604, 6.8615159418299543, -9.9148725697134683, 10.272013543022926, -6.541146389868957, 6.1996539988491746, -8.5702789915391175, 6.0710850780527128, 0.41216255793753664, -6.8452494187073416, -7.3698306482120808, -4.3788198137924814, 5.254192997316685, 7.0651978737141468, -8.3496697717376325, -15.541186410630397, -13.361062248182593, 11.869712905857645, 8.8858662456220436, 2.315280646740792, 9.1370562156627635, 10.612212040886574, 15.723923545841364, 9.3000796832012966, -12.203790919241875, 9.5229433645020229, -11.332560886601259, -11.799762316157022, 8.6718707861873146, 3.4390494326490342, 10.948206478975262, 10.351083327208633, -2.3551385999606347, 3.6593868571158006, -10.912461508095474, 6.3601915796808566, 12.644105697007012, 8.0987317607631102, 6.8425116090817673, -7.8614337809266139, -16.777952262404956, -15.092829035089149, -10.867283176676434, 9.7617585972043095, 7.0699740006630494, -0.80345056050581032, 7.2341098943011026, -2.7901743760803868, -14.023920253719963, -8.6493250885626658, 12.119156062865828, -12.565363519164727, -6.6257256922764087, 9.9530063133378111, 6.2285641482405287, 8.5890710113124502, 10.901661163934543, 1.7011000225296526, 9.2328185698429888, -2.5151197107048353, -0.78814118951465995, -6.3782804075339934, 0.77016194990540299, 4.7860592575330942, -18.091131028655795, 6.6618347947308489, -4.5537746303503699, 12.906362988375243, 6.6637236513957019, 5.4194732758517778, -5.626683563346548, 4.8295291548347352, -11.904932030289029, 9.9944164460741938, -11.027348899069844, -0.014743410131345848, -7.3410368137184197, -12.558702052466645, -9.2966083471503538, -2.8582301845790048, 16.122229949617235, 6.0332133243788979, 9.4423884847579131, -6.7953848219405604, -8.640997496023326, 11.564755524473357, 7.7370575077503672, 11.178600690994582, 9.6609341268345741, -5.0924071871300569, 2.9472182219982841, 11.322674214116185, 17.636604816170465, -8.112421382991716, 5.7980976514734257, 10.587871354585735, -10.207529594090163, -13.012906685255201, 1.6439826301840548, 4.7959168408892552, -9.1817793609379343, 15.910744159295755, 11.988413488939839, 10.225499838967904, -2.1100999951643771, 7.7773391391119979, 4.2070274590049737, 3.1789918079199362, 11.389698381773869, -5.6797986359782069, -4.7261529062162424, -6.1926650154600731, 9.5097255166801595, -4.4005426737892748, 4.8284348550831577, -7.4035564503513553, -10.371755556185054, -11.138214834764621, -11.479591917367713, 7.3492465579271542, -8.6401023000535666, 2.4737379805053212, -8.4391176745455763, -3.5699286239866383, -8.1254703716775829, 11.948227614312263, 7.880462510583679, 1.8623842706739999, 7.3888689386136646, -1.2896033177393418, -8.2116493851785464, -9.0121076446113531, 2.6038276518722672, 7.9944375021940459, -4.3649859784435145, 5.1704186172538593, 7.7846827735959723, -0.51775021699396251, -13.814395914977867, 11.155615752700793, -4.0116122940272048 +}; + +char detected_data[] = { +0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1 +}; diff --git a/src/H_128_384_23.c b/src/H_128_384_23.c new file mode 100644 index 0000000..6539295 --- /dev/null +++ b/src/H_128_384_23.c @@ -0,0 +1,22 @@ +/* + FILE....: H_128_384_23.c + + Static arrays for LDPC codec H_128_384_23, generated by ldpc_gen_c_h_file.m. +*/ + +#include +#include "H_128_384_23.h" + +const uint16_t H_128_384_23_H_rows[] = { +90, 34, 13, 29, 48, 14, 87, 63, 32, 85, 18, 61, 62, 6, 37, 9, 50, 51, 12, 91, 27, 28, 56, 10, 8, 92, 17, 13, 9, 3, 67, 54, 119, 51, 82, 7, 26, 20, 1, 60, 6, 12, 7, 87, 3, 2, 76, 47, 25, 26, 22, 16, 23, 17, 13, 46, 66, 24, 62, 41, 40, 64, 15, 28, 51, 93, 49, 25, 73, 31, 22, 33, 102, 61, 29, 42, 37, 30, 9, 45, 88, 54, 44, 63, 105, 44, 93, 10, 7, 8, 28, 20, 24, 47, 18, 44, 16, 4, 5, 11, 70, 4, 71, 6, 2, 19, 6, 13, 3, 63, 13, 60, 20, 12, 42, 68, 45, 11, 5, 7, 55, 22, 15, 10, 62, 19, 5, 15, 37, 28, 1, 33, 23, 39, 55, 78, 17, 58, 21, 67, 81, 83, 65, 7, 86, 30, 21, 71, 36, 18, 35, 17, 34, 77, 14, 11, 4, 31, 11, 69, 22, 61, 9, 38, 1, 32, 34, 21, 16, 26, 42, 39, 111, 53, 38, 40, 17, 8, 14, 9, 19, 78, 72, 4, 89, 15, 101, 56, 80, 23, 41, 23, 58, 39, 4, 84, 5, 32, 43, 37, 55, 59, 2, 71, 25, 71, 3, 65, 30, 3, 69, 30, 2, 29, 10, 81, 12, 1, 5, 40, 16, 46, 28, 20, 8, 74, 29, 47, 15, 29, 21, 56, 27, 61, 65, 33, 45, 65, 44, 31, 107, 2, 31, 1, 41, 36, 77, 83, 91, 14, 18, 82, 86, 27, 35, 10, 107, 39, 72, 74, 64, 18, 99, 123, 99, 89, 42, 121, 111, 68, 114, 84, 63, 96, 48, 98, 79, 32, 110, 48, 35, 102, 109, 67, 22, 85, 68, 66, 122, 114, 87, 70, 79, 65, 122, 124, 31, 77, 59, 109, 115, 19, 106, 75, 80, 38, 25, 108, 127, 36, 97, 49, 116, 97, 75, 121, 88, 83, 86, 41, 57, 99, 96, 112, 102, 40, 70, 39, 111, 95, 119, 78, 84, 53, 81, 54, 90, 59, 46, 76, 118, 82, 105, 77, 25, 26, 52, 95, 49, 52, 112, 85, 58, 75, 42, 26, 75, 47, 104, 8, 27, 62, 11, 23, 43, 82, 49, 116, 67, 24, 57, 108, 75, 38, 6, 45, 73, 81, 96, 53, 73, 79, 90, 43, 48, 74, 12, 35, 115, 126, 56, 94, 50, 125, 101, 117, 94, 95, 67, 84, 96, 34, 57, 118, 48, 94, 76, 64, 119, 83, 16, 100, 73, 128, 68, 73, 32, 120, 94, 69, 20, 103, 41, 24, 103, 68, 88, 87, 117, 106, 79, 43, 34, 38, 58, 52, 45, 90, 102, 19, 93, 57, 112, 82, 113, 49, 50, 24, 100, 50, 56, 98, 78, 74, 126, 66, 72, 101, 113, 72, 37, 92, 46, 92, 33, 55, 113, 36, 54, 61, 36, 98, 114, 104, 14, 76, 95, 72, 110, 58, 27, 125, 95, 70, 46, 109, 98, 85, 33, 103, 100, 60, 47, 120, 55, 43, 124, 30, 35, 97, 89, 53, 127, 97, 128, 81, 21, 85, 123, 60, 123, 64, 0, 0, 0, 103, 122, 91, 110, 0, 0, 0, 0, 0, 0, 90, 0, 112, 0, 0, 0, 0, 124, 109, 0, 59, 40, 0, 121, 92, 74, 0, 100, 80, 0, 0, 0, 80, 0, 97, 0, 0, 88, 101, 66, 0, 0, 60, 0, 110, 0, 102, 84, 0, 0, 119, 0, 0, 0, 104, 0, 0, 0, 0, 88, 99, 91, 0, 115, 0, 0, 107, 0, 63, 118, 122, 121, 91, 101, 116, 103, 116, 128, 0, 0, 126, 0, 0, 0, 0, 52, 107, 70, 0, 0, 0, 0, 123, 120, 93, 128, 117, 0, 0, 0, 0, 0, 69, 107, 104, 44, 89, 71, 0, 0, 0, 96, 0, 113, 0, 0, 0, 111, 0, 128, 0, 105, 0, 100, 0, 77, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 120, 104, 0, 0, 50, 0, 0, 0, 98, 124, 0, 0, 122, 94, 0, 0, 0, 92, 79, 52, 0, 0, 0, 120, 0, 109, 127, 0, 0, 0, 89, 0, 0, 111, 123, 53, 124, 78, 0, 0, 0, 117, 113, 110, 0, 114, 93, 0, 57, 87, 51, 0, 106, 62, 0, 108, 121, 0, 0, 0, 0, 116, 115, 59, 117, 86, 0, 0, 118, 0, 0, 0, 64, 66, 112, 127, 0, 0, 0, 125, 118, 0, 108, 0, 0, 0, 99, 115, 0, 114, 105, 76, 125, 108, 106, 80, 0, 105, 86, 0, 106, 0, 127, 0, 54, 0, 0, 0, 0, 51, 126, 0, 69, 126, 119 +}; + +const uint16_t H_128_384_23_H_cols[] = { +39, 46, 30, 98, 99, 14, 36, 25, 16, 24, 100, 19, 3, 6, 63, 52, 27, 6, 46, 38, 139, 29, 53, 58, 49, 37, 21, 22, 4, 78, 41, 9, 72, 2, 25, 54, 15, 50, 2, 25, 60, 11, 109, 83, 80, 56, 48, 5, 56, 17, 18, 89, 78, 32, 121, 23, 65, 97, 24, 40, 12, 13, 8, 5, 38, 32, 28, 14, 106, 36, 103, 3, 69, 4, 48, 47, 42, 76, 21, 32, 79, 35, 62, 16, 10, 63, 7, 41, 10, 1, 6, 26, 66, 136, 74, 18, 38, 20, 7, 31, 42, 26, 4, 58, 85, 47, 1, 52, 22, 7, 13, 16, 117, 15, 45, 57, 100, 73, 33, 97, 12, 5, 8, 21, 138, 84, 53, 81, 131, 105, 45, 102, 119, 41, 43, 90, 29, 88, 107, 42, 28, 155, 123, 97, 54, 11, 106, 92, 147, 51, 108, 93, 51, 50, 105, 64, 75, 146, 70, 22, 132, 146, 132, 149, 77, 118, 72, 61, 64, 76, 128, 86, 117, 83, 94, 19, 67, 137, 34, 91, 124, 80, 135, 135, 115, 138, 43, 46, 74, 59, 17, 62, 143, 43, 31, 31, 160, 71, 111, 183, 121, 29, 59, 84, 88, 136, 37, 36, 122, 86, 131, 51, 30, 145, 35, 61, 110, 14, 20, 28, 87, 141, 92, 67, 55, 150, 9, 127, 77, 50, 79, 103, 87, 174, 70, 116, 27, 23, 73, 68, 184, 34, 67, 78, 140, 85, 54, 142, 27, 33, 96, 40, 141, 134, 168, 99, 165, 203, 109, 157, 127, 104, 89, 104, 79, 124, 118, 114, 55, 179, 128, 155, 137, 95, 126, 113, 168, 71, 133, 114, 68, 90, 225, 91, 214, 209, 158, 161, 209, 153, 151, 212, 129, 164, 134, 70, 167, 99, 176, 96, 120, 207, 102, 24, 93, 146, 65, 94, 174, 82, 201, 188, 147, 179, 82, 112, 162, 106, 72, 152, 208, 57, 113, 116, 164, 91, 148, 201, 125, 130, 98, 151, 129, 179, 126, 49, 141, 110, 142, 77, 96, 207, 44, 63, 172, 81, 65, 159, 98, 150, 142, 115, 58, 196, 64, 156, 139, 69, 166, 108, 125, 194, 90, 197, 44, 48, 121, 95, 189, 187, 133, 80, 173, 148, 75, 162, 60, 39, 176, 151, 221, 199, 217, 123, 218, 213, 207, 184, 197, 107, 120, 178, 163, 215, 156, 131, 108, 219, 186, 169, 152, 150, 181, 165, 231, 122, 190, 168, 89, 100, 233, 130, 227, 212, 240, 166, 233, 167, 243, 215, 200, 175, 172, 176, 191, 115, 199, 109, 181, 222, 228, 129, 111, 191, 192, 161, 177, 213, 210, 195, 186, 193, 202, 236, 214, 125, 84, 214, 235, 200, 140, 159, 211, 101, 204, 204, 157, 198, 101, 220, 154, 182, 160, 189, 216, 188, 154, 144, 232, 240, 172, 81, 185, 127, 76, 206, 185, 155, 221, 123, 244, 216, 66, 193, 187, 73, 169, 143, 232, 236, 107, 224, 167, 185, 173, 187, 203, 217, 204, 112, 183, 210, 153, 165, 75, 74, 253, 178, 226, 252, 244, 158, 244, 242, 210, 195, 219, 119, 144, 225, 180, 256, 159, 217, 111, 250, 229, 221, 177, 251, 184, 224, 251, 161, 192, 192, 205, 170, 254, 223, 230, 242, 243, 198, 236, 177, 255, 246, 205, 178, 194, 220, 245, 171, 240, 239, 237, 229, 237, 149, 190, 194, 251, 180, 246, 246, 239, 232, 190, 224, 205, 254, 234, 195, 110, 256, 238, 215, 143, 170, 254, 228, 206, 222, 160, 226, 117, 233, 247, 197, 175, 237, 250, 252, 248, 196, 252, 253, 191, 171, 245, 182, 249, 208, 188, 163, 227, 145, 248, 231, 228, 235, 202, 183, 234, 218, 239, 242, 241, 235, 230, 223, 175, 216, 211, 231, 229, 203, 206, 222, 256, 238, 198, 154, 255, 241, 234, 255, 247, 249 +}; +const float H_128_384_23_input[] = { +8.1777347069716182, 11.068275286194897, -9.9432245045443768, 6.6551236271074705, -11.054406713179503, -6.2746575567318477, 7.667712136118686, -2.1922257574847572, -4.8237609670948771, -0.91390703117478189, -11.229258232572455, 1.4857476978815731, 7.3856830024986815, 3.1880549168643748, -10.120957869946404, -10.319425257629057, -11.41562435894356, -12.11927694936889, -9.0469458594649517, 1.7569887284523908, -15.442189230692762, 5.7626102302543432, -7.0612897764013622, 9.8291613428990949, 1.0767498658270371, 9.5856073387990453, 11.738497999320632, -9.0905799174312669, -10.470455080852828, -8.433744390991917, -6.9366856746970376, 13.26849350444494, 7.8070636674612741, -4.6173947833802247, 6.6456048779293422, -0.69263647534317907, -12.49898233313848, 6.6138981803938011, -8.6083023236151668, 15.453324493413819, 15.305896388638827, 7.1884007793243434, -11.740597845156534, 3.7308086480127889, 9.6831143382852893, -10.032320174440107, 11.654225085389784, 5.7804989851977071, -4.7479011487633347, -11.36114342348074, -17.928152449644944, -12.265345238363908, 6.9992004828247651, 15.49309559758461, -10.111696620390044, 0.1122734607649342, -6.6622427130187836, 7.4822113044655758, -7.925242660462505, 5.7467656046075231, -13.401166964099504, -4.1348089534205599, 11.264844498492213, -10.358928566579573, -11.216720153217402, 14.128765772663707, -8.5233957205111377, -9.1103725854592117, 8.0142532964098638, -7.9884310657121853, 0.99693987389979799, -5.1693918629280224, -5.910853810813621, -3.6608188686781928, -6.025229555630097, -2.5758396045091749, 9.9066305949783153, 7.1933649528504615, 8.0541830758014754, 8.8791162477659906, 0.57575820375628539, 2.0598054756647621, -8.003317244521222, 14.315603524511731, 2.1289431008644866, -5.4112513272825309, 7.2618834185352377, -1.9401082084404331, 1.9347336916334354, -12.845137950304331, 18.14330817252943, 11.181919275388029, -13.215961451165805, -8.3376488718859125, 5.3114228917827848, -1.1022969158236802, -2.7846572175961777, -5.463585670181291, 11.492094117831314, -9.302933959252556, 3.3836187096199208, -2.284430926840451, -6.7422039844055712, 10.381365097548491, 3.9262961005324533, -5.2088948529439607, 6.5600092667752907, -12.32451549929036, 4.0508533196564649, 5.0571676348437409, -11.185166289162519, 2.1177386611599283, 1.8632374264281581, -3.0822091330309846, -6.3222229034213875, 9.3955514224688184, 7.5722931465370769, 5.8225996467514722, -11.740091245560546, 13.254263914817818, 10.350606552441441, -4.13177276425861, -2.9055515270006325, -12.275811208362592, 8.7262807637046489, 15.135008327769862, 11.321536392571373, 8.9032604067202499, -5.0162115661089857, -14.366995833786691, 5.8386600312369596, -7.786480442774069, -6.4674600197472838, 11.857120505703504, 11.40089974300462, 9.6456350961814206, 10.130537941536021, 11.699256038881005, -9.7564228899680803, 6.9117571689497206, 15.519061294909973, -6.0315829647195756, -12.097752685154553, 7.7805475289904704, -3.5009655351727784, -12.041177029892658, 6.202834026684636, -9.8015631607525666, 4.1494330009823779, -6.7022057810013225, -8.5897779340618747, -9.6360264972515335, 10.84123650968198, 6.6247990317544909, -8.2231371184139075, 9.2100071306694851, 5.8410835705854502, -9.8465523730928517, 11.550853141012933, 5.2237637811204172, 9.5886545602619915, 8.821453189955804, 10.164314950855546, -6.9162895428275597, -0.99515705414423761, -0.65865377070546172, -2.0720548995423638, -5.751699051592162, 3.3929467907549795, -15.651761881817849, 1.7841459529791761, 9.8067737992082193, 6.5959941284543415, -10.685239406462571, -5.0988497681713829, 11.535671811791712, -3.927802400407173, -9.8136815011221472, 10.463904374444981, 5.2369943474980278, -8.1945701888074058, -2.2074976871592868, -8.2410254863031067, -4.4361001559281146, -6.4484841388698291, 1.1476091117261411, 11.112882158071999, 4.8437001578325232, -7.9066327077789147, -12.797171042579778, 2.645291305889935, -10.513340143073791, -12.409800836289598, 14.647264925728678, -19.259703981144938, 11.837338319296395, -6.8124685495313058, 14.84654495094942, -11.867943417980447, 0.69203449256735483, -11.334005258846348, -14.310695867992383, -8.5521372169311416, -9.1688793096132457, 10.658852517324213, -7.4665258542770596, -0.075811994975017297, -6.0426336621017649, -7.2574644956325169, 12.195709735388878, -17.383436877645277, 11.622429313846098, 5.378252971923124, 7.012775381030548, -4.0444207413344824, 8.2151802910712597, 4.2174063287231265, -6.729981147551837, 6.4674576686109555, 7.3123330030304334, -6.0528241694626495, 13.43295684538702, -13.555949927376236, -3.4182003647017063, 2.16132378213192, 2.9461768739000291, -11.945235376610468, 10.786189702655308, 7.5310740226051562, 5.5471972623473986, 7.9966645710875142, 5.8467489848587011, 7.6610398783261466, 5.0310549754371179, 16.758419583165288, -7.1449786726465687, -9.3396788084817839, -5.0111216924022326, 3.8386412346485246, 5.4135034207939734, -1.8528285666552722, 5.1834990236742877, 1.6555263358427816, 11.612276559812305, -7.8906144576045634, 3.3788212340025794, 8.6611514382956134, 11.303751771743098, -8.178134001542352, -7.7861242507141739, -8.550245641482018, 14.560198457183212, 11.522183354515889, -6.2092289934431744, 2.9318751685258069, 3.3176995571078498, -5.8676814992985786, -0.20142795940600339, -2.7548374956229265, -6.8234029820802586, -12.163878006280664, 3.7806635675811586, -11.384100861414165, 8.7968186354408893, 12.602745071995059, 3.9245275583051131, -12.485152199462473, 16.203610318578459, -12.778789390965139, 5.947784733269585, 0.043047146622793971, -0.21345058826177227, 12.056937533036457, -9.1293854677176682, -4.42743558791397, -10.992655730531101, 8.3327388706627676, -12.992478987886726, -3.9543911492643642, -13.441154463082384, -12.435765074796056, -4.8852471655352634, -7.5923950323705602, -6.1492824170455656, 6.6739203355868639, -6.8564402397588049, 3.8481202559130292, 14.631984071956355, -8.7012825984650899, 6.9912612052883354, 3.5901162162795877, 9.7901877081271138, 5.4898629984229474, -5.8299777300514934, 5.6636306567161858, -3.4376920400139075, -9.5457719463457877, 7.1553767994109512, -8.7053412847926559, 9.5704477634723055, -10.280820394571341, 3.9521533125794948, -7.3266725654275424, 5.6786044706323144, 2.3606102777279809, 20.130551498394631, 13.874264557291831, 12.159830089485711, -4.8906152168284516, 15.984498194925441, -5.7186401946137178, 4.8137170469596668, -8.3963626855772819, -9.2358887735950113, 9.0734539426016685, -10.212878735699499, -5.7678340864866833, 4.4358144111155111, -8.7975968699104854, -3.4765821930666503, 5.9968571181084371, -9.8666578506479876, 7.948328947816961, -1.6329791723432137, -3.2589625483304965, 10.914896850859009, -9.6348918992838577, 3.9496686667281429, -0.43212959079978708, -11.886061929354181, -1.4794363504765682, -9.6183831499867853, 11.240987817993659, 9.9687442031795293, -10.925260236125421, 7.2168938893916739, -9.8552762177525572, -6.0665742410640249, -8.6615748667952843, -5.7433849549057063, -1.3280443605766437, 14.868122965257667, 7.7231238473635413, -7.3390933241389398, -10.920255311404222, -10.528602925968642, 15.358601551553715, -14.526084973993848, 7.6509043363347669, 3.6093710598082187, -6.6960812909833365, 7.0890696432612419, -11.556058828365527, 4.4377032979213098, -10.573403540759278, 2.6061483340622646, -6.1581097570201413, 6.7641858643912744, -7.4602529589100861, -6.0927154714803962, 7.0513090242129932, 6.0680403349752927, -8.0201805767442647, 7.6143254699279739, 10.081541689232729, -4.2697255549172795, 6.8450884177449804, -9.3030886529899419, 10.329882427968109, 6.4188087024847098, -7.9299089583332165, 5.3570536587621191, 8.782347951713998, -11.005407014352345, -4.129815283417452, -15.281119948137995, -9.2865870557328929, -1.3434724280566799, 11.966880900034692, 12.566450377983358, -18.792935520852794, -0.68478067997372916, -10.126566557740903, 8.1631975996741382 +}; +const char H_128_384_23_detected_data[] = { +0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0 +}; diff --git a/src/H_128_384_23.h b/src/H_128_384_23.h new file mode 100644 index 0000000..c9bf4e7 --- /dev/null +++ b/src/H_128_384_23.h @@ -0,0 +1,19 @@ +/* + FILE....: H_128_384_23.h + + Static arrays for LDPC codec H_128_384_23, generated by ldpc_gen_c_h_file.m. +*/ + +#define H_128_384_23_NUMBERPARITYBITS 256 +#define H_128_384_23_MAX_ROW_WEIGHT 3 +#define H_128_384_23_CODELENGTH 384 +#define H_128_384_23_NUMBERROWSHCOLS 128 +#define H_128_384_23_MAX_COL_WEIGHT 5 +#define H_128_384_23_DEC_TYPE 0 +#define H_128_384_23_MAX_ITER 100 + +extern const uint16_t H_128_384_23_H_rows[]; +extern const uint16_t H_128_384_23_H_cols[]; +extern const float H_128_384_23_input[]; +extern const char H_128_384_23_detected_data[]; + diff --git a/src/H_256_768_22.c b/src/H_256_768_22.c new file mode 100644 index 0000000..5f3a3b9 --- /dev/null +++ b/src/H_256_768_22.c @@ -0,0 +1,22 @@ +/* + FILE....: H_256_768_22.c + + Static arrays for LDPC codec H_256_768_22, generated by ldpc_gen_c_h_file.m. +*/ + +#include +#include "H_256_768_22.h" + +const uint16_t H_256_768_22_H_rows[] = { +35, 7, 24, 203, 138, 29, 39, 28, 114, 79, 49, 43, 218, 92, 70, 192, 59, 1, 194, 129, 15, 5, 25, 62, 50, 28, 23, 119, 191, 112, 195, 18, 164, 117, 148, 82, 25, 120, 41, 100, 61, 4, 31, 7, 13, 135, 108, 128, 48, 45, 96, 201, 67, 17, 143, 42, 91, 44, 168, 49, 26, 38, 83, 169, 16, 86, 22, 25, 69, 42, 122, 94, 226, 145, 121, 242, 131, 165, 55, 81, 74, 5, 58, 46, 59, 32, 115, 139, 180, 6, 78, 20, 7, 135, 78, 88, 49, 28, 77, 158, 94, 125, 21, 152, 23, 7, 123, 160, 53, 11, 85, 82, 32, 60, 74, 65, 3, 13, 111, 143, 121, 46, 68, 121, 72, 177, 54, 166, 20, 130, 30, 139, 34, 151, 97, 47, 126, 1, 76, 72, 64, 32, 9, 125, 54, 114, 17, 82, 2, 30, 102, 29, 137, 2, 16, 206, 2, 27, 3, 13, 199, 123, 226, 20, 60, 221, 15, 53, 35, 93, 9, 124, 1, 109, 103, 73, 190, 51, 140, 90, 130, 57, 52, 225, 8, 47, 177, 66, 8, 112, 110, 62, 64, 104, 156, 33, 101, 26, 107, 60, 26, 196, 39, 34, 14, 54, 68, 17, 66, 5, 33, 104, 3, 214, 200, 35, 170, 51, 90, 113, 122, 8, 70, 65, 42, 80, 134, 157, 88, 19, 3, 98, 112, 19, 60, 119, 76, 18, 43, 232, 141, 175, 154, 118, 187, 182, 113, 37, 95, 169, 36, 17, 36, 64, 191, 51, 63, 24, 36, 21, 223, 27, 94, 142, 18, 22, 53, 45, 161, 81, 80, 68, 22, 169, 52, 109, 180, 61, 33, 121, 98, 118, 26, 96, 156, 101, 100, 73, 31, 87, 71, 20, 93, 132, 173, 1, 39, 151, 166, 106, 67, 87, 116, 196, 173, 56, 102, 120, 147, 30, 69, 137, 108, 21, 88, 84, 81, 48, 37, 102, 10, 86, 158, 78, 162, 39, 14, 144, 9, 91, 106, 96, 55, 6, 127, 135, 87, 163, 5, 25, 42, 56, 171, 225, 213, 99, 46, 133, 12, 194, 234, 159, 59, 55, 84, 10, 24, 40, 130, 228, 181, 186, 163, 72, 35, 115, 4, 149, 106, 19, 16, 67, 11, 8, 100, 144, 154, 27, 62, 37, 164, 2, 226, 11, 183, 48, 10, 176, 171, 197, 216, 155, 198, 44, 52, 75, 70, 74, 138, 184, 10, 96, 4, 99, 79, 208, 18, 62, 113, 167, 41, 38, 48, 40, 144, 97, 57, 134, 159, 211, 21, 146, 9, 83, 58, 51, 116, 32, 15, 50, 100, 6, 74, 31, 12, 19, 58, 78, 197, 162, 50, 11, 43, 89, 188, 132, 85, 94, 50, 65, 99, 66, 105, 69, 40, 157, 16, 97, 22, 63, 207, 72, 59, 142, 29, 76, 55, 206, 54, 136, 45, 40, 46, 41, 185, 6, 231, 13, 107, 208, 23, 173, 92, 145, 88, 144, 111, 119, 151, 68, 14, 129, 108, 89, 23, 36, 44, 47, 210, 4, 146, 89, 132, 111, 69, 57, 90, 117, 31, 14, 234, 183, 116, 214, 84, 249, 179, 209, 238, 47, 248, 227, 161, 125, 237, 220, 223, 237, 63, 200, 213, 240, 161, 212, 252, 250, 81, 214, 34, 159, 217, 184, 222, 240, 204, 147, 210, 211, 229, 133, 162, 185, 153, 249, 65, 15, 119, 204, 122, 161, 133, 138, 103, 204, 248, 38, 201, 173, 98, 181, 255, 73, 186, 73, 150, 189, 176, 128, 184, 101, 230, 56, 186, 160, 234, 205, 168, 243, 212, 205, 80, 147, 82, 93, 120, 214, 189, 195, 205, 141, 183, 152, 133, 255, 128, 174, 215, 229, 86, 160, 122, 206, 188, 165, 83, 246, 170, 85, 182, 219, 158, 118, 253, 104, 231, 220, 136, 191, 179, 79, 178, 166, 239, 116, 108, 167, 207, 221, 210, 207, 30, 158, 239, 209, 224, 199, 203, 142, 172, 67, 227, 75, 231, 34, 254, 145, 222, 240, 207, 107, 98, 168, 154, 233, 238, 33, 227, 236, 208, 241, 103, 141, 245, 190, 242, 128, 103, 232, 28, 159, 70, 197, 29, 155, 185, 218, 111, 188, 224, 252, 219, 164, 236, 163, 149, 241, 172, 219, 238, 216, 12, 156, 232, 217, 118, 136, 157, 247, 123, 230, 245, 202, 235, 217, 235, 64, 77, 95, 110, 140, 211, 254, 251, 235, 149, 253, 248, 226, 222, 256, 196, 170, 235, 152, 124, 168, 157, 127, 169, 184, 170, 71, 45, 247, 146, 120, 179, 176, 129, 249, 106, 251, 165, 199, 251, 220, 201, 224, 229, 194, 148, 220, 164, 193, 57, 183, 250, 52, 172, 180, 242, 175, 250, 91, 155, 187, 131, 61, 139, 252, 174, 107, 99, 77, 176, 179, 126, 192, 182, 125, 71, 124, 175, 202, 66, 178, 233, 105, 145, 140, 243, 135, 232, 85, 248, 153, 244, 115, 77, 216, 187, 139, 79, 171, 253, 204, 212, 156, 150, 218, 186, 86, 83, 198, 192, 151, 101, 127, 192, 58, 97, 208, 87, 188, 209, 137, 247, 136, 221, 154, 37, 199, 165, 126, 105, 12, 246, 187, 196, 242, 236, 256, 131, 213, 217, 230, 233, 105, 155, 198, 178, 203, 243, 228, 134, 123, 182, 49, 178, 222, 254, 244, 195, 225, 223, 193, 163, 141, 194, 252, 146, 237, 129, 76, 231, 92, 203, 177, 221, 117, 75, 197, 243, 27, 253, 92, 202, 215, 174, 228, 193, 254, 230, 239, 218, 80, 63, 223, 167, 109, 189, 228, 38, 149, 131, 210, 115, 241, 89, 193, 138, 250, 150, 171, 162, 113, 215, 185, 143, 172, 206, 245, 41, 209, 213, 216, 247, 148, 124, 44, 142, 117, 132, 127, 198, 255, 126, 110, 71, 177, 200, 175, 91, 152, 112, 212, 239, 249, 234, 140, 245, 167, 181, 104, 256, 241, 189, 244, 61, 200, 43, 148, 219, 143, 95, 174, 130, 114, 84, 244, 181, 137, 229, 95, 160, 215, 205, 24, 246, 53, 109, 251, 190, 236, 134, 153, 190, 150, 180, 227, 211, 237, 238, 153, 147, 93, 195, 201, 246, 166, 256, 56, 233, 114, 240, 202, 102, 75, 191, 225, 90, 110, 255, 224 +}; + +const uint16_t H_256_768_22_H_cols[] = { +18, 149, 117, 42, 22, 90, 2, 185, 143, 321, 110, 189, 45, 205, 21, 65, 54, 32, 230, 92, 103, 67, 27, 3, 23, 61, 158, 8, 6, 129, 43, 86, 154, 27, 1, 251, 248, 54, 7, 358, 39, 56, 12, 58, 50, 84, 8, 49, 11, 25, 178, 183, 109, 127, 79, 70, 182, 83, 17, 114, 41, 24, 17, 141, 43, 188, 53, 123, 69, 15, 230, 125, 60, 81, 140, 139, 99, 91, 10, 79, 25, 36, 63, 3, 106, 66, 290, 96, 407, 180, 57, 14, 82, 72, 206, 51, 135, 57, 271, 40, 68, 151, 51, 112, 286, 239, 148, 47, 174, 191, 119, 30, 220, 9, 87, 1, 34, 110, 28, 38, 75, 47, 107, 172, 12, 137, 226, 48, 20, 130, 77, 294, 38, 227, 46, 115, 153, 5, 88, 179, 88, 136, 55, 328, 74, 233, 34, 35, 183, 63, 134, 90, 41, 151, 172, 190, 195, 100, 28, 72, 11, 39, 182, 33, 78, 120, 124, 59, 64, 105, 302, 137, 56, 94, 242, 65, 126, 119, 5, 89, 58, 107, 89, 30, 40, 61, 245, 101, 64, 162, 29, 16, 252, 19, 31, 202, 170, 312, 134, 18, 52, 200, 4, 33, 74, 100, 125, 157, 6, 35, 36, 22, 19, 2, 95, 188, 29, 13, 108, 14, 126, 31, 15, 133, 184, 73, 10, 352, 37, 69, 113, 166, 152, 73, 201, 156, 13, 7, 121, 20, 158, 76, 76, 295, 161, 104, 196, 9, 4, 24, 211, 23, 111, 143, 59, 218, 138, 154, 159, 367, 82, 334, 44, 189, 171, 356, 373, 334, 118, 327, 44, 155, 147, 238, 234, 129, 260, 266, 105, 258, 37, 198, 262, 26, 152, 131, 289, 113, 196, 133, 169, 253, 319, 62, 203, 414, 411, 70, 239, 394, 231, 122, 136, 318, 60, 430, 218, 256, 168, 145, 333, 306, 253, 318, 85, 165, 266, 192, 257, 193, 116, 209, 138, 207, 311, 169, 279, 140, 62, 115, 379, 237, 205, 95, 118, 226, 80, 81, 103, 316, 111, 97, 302, 229, 444, 219, 262, 374, 170, 101, 249, 284, 319, 149, 346, 287, 197, 307, 159, 194, 333, 300, 199, 123, 276, 207, 175, 190, 247, 146, 296, 122, 378, 193, 45, 83, 121, 71, 162, 223, 102, 275, 316, 66, 237, 181, 265, 431, 49, 353, 94, 194, 312, 50, 132, 208, 160, 264, 120, 376, 144, 369, 80, 249, 213, 307, 298, 104, 294, 243, 263, 195, 225, 109, 168, 98, 21, 325, 338, 180, 102, 128, 397, 75, 227, 217, 343, 185, 295, 269, 260, 236, 187, 284, 117, 258, 361, 246, 254, 67, 173, 71, 264, 176, 85, 177, 116, 276, 364, 248, 86, 219, 380, 348, 161, 215, 55, 282, 135, 46, 78, 156, 128, 320, 132, 127, 209, 77, 342, 26, 386, 298, 192, 174, 179, 114, 166, 145, 261, 177, 344, 163, 139, 360, 96, 198, 141, 191, 285, 351, 203, 181, 16, 153, 131, 32, 184, 163, 289, 360, 199, 335, 232, 53, 42, 255, 240, 178, 214, 210, 92, 340, 173, 157, 213, 403, 210, 432, 93, 222, 329, 387, 384, 349, 160, 491, 167, 371, 208, 265, 370, 164, 314, 273, 481, 357, 68, 201, 378, 98, 171, 150, 434, 142, 211, 142, 216, 259, 329, 401, 297, 455, 421, 225, 443, 428, 268, 347, 186, 386, 97, 441, 256, 275, 267, 206, 354, 342, 417, 425, 353, 200, 278, 379, 395, 204, 224, 283, 301, 272, 454, 223, 291, 364, 176, 398, 396, 372, 272, 324, 301, 271, 270, 112, 311, 355, 292, 310, 321, 315, 494, 507, 330, 384, 293, 263, 463, 332, 416, 232, 404, 375, 286, 320, 165, 212, 346, 331, 270, 313, 398, 436, 487, 233, 409, 466, 366, 303, 430, 244, 236, 234, 124, 99, 197, 280, 144, 332, 335, 93, 371, 359, 341, 446, 91, 418, 290, 326, 324, 399, 267, 288, 241, 429, 417, 415, 287, 422, 309, 426, 368, 411, 314, 222, 484, 328, 347, 285, 228, 130, 352, 108, 48, 413, 363, 251, 241, 299, 410, 150, 250, 220, 389, 257, 305, 387, 281, 273, 376, 349, 235, 277, 451, 277, 385, 228, 416, 309, 299, 322, 399, 481, 255, 313, 389, 350, 361, 304, 390, 393, 242, 439, 245, 385, 350, 52, 87, 419, 147, 406, 323, 404, 420, 305, 345, 84, 415, 391, 202, 308, 186, 244, 327, 217, 363, 246, 362, 216, 155, 388, 247, 344, 373, 240, 345, 447, 212, 339, 370, 187, 392, 146, 406, 259, 351, 456, 420, 477, 325, 215, 238, 261, 243, 268, 303, 359, 434, 453, 296, 382, 231, 500, 339, 476, 106, 374, 423, 401, 442, 435, 478, 510, 429, 457, 252, 407, 436, 292, 421, 459, 495, 476, 340, 283, 382, 167, 465, 310, 509, 428, 279, 204, 365, 496, 380, 412, 326, 472, 474, 341, 459, 497, 471, 473, 498, 413, 356, 449, 426, 395, 478, 469, 467, 500, 506, 437, 463, 235, 457, 408, 460, 254, 450, 452, 372, 490, 505, 397, 437, 462, 288, 433, 506, 466, 297, 438, 405, 394, 317, 148, 424, 467, 447, 322, 337, 485, 502, 509, 441, 483, 494, 448, 472, 402, 458, 281, 451, 431, 315, 505, 175, 452, 453, 369, 479, 493, 479, 510, 504, 443, 414, 502, 405, 427, 508, 282, 488, 308, 280, 221, 354, 427, 278, 435, 432, 164, 492, 465, 403, 503, 348, 483, 336, 470, 470, 409, 300, 448, 366, 464, 462, 486, 484, 501, 493, 460, 402, 486, 489, 442, 492, 377, 392, 306, 456, 323, 419, 473, 269, 440, 365, 381, 331, 498, 450, 224, 274, 229, 412, 418, 482, 464, 440, 388, 438, 357, 274, 487, 469, 355, 512, 400, 475, 362, 336, 445, 455, 485, 507, 317, 408, 367, 495, 337, 439, 433, 330, 458, 496, 504, 375, 304, 475, 468, 461, 480, 422, 499, 489, 444, 423, 214, 474, 424, 343, 393, 461, 250, 377, 358, 396, 512, 508, 383, 488, 400, 471, 391, 477, 291, 501, 511, 221, 482, 490, 491, 445, 503, 454, 338, 381, 468, 449, 497, 425, 293, 446, 410, 480, 368, 383, 390, 511, 499 +}; +const float H_256_768_22_input[] = { +8.9323881489912722, -14.346922710565353, 7.9693390759559781, -5.575983146144643, -11.430007344507024, -11.797433382704103, -7.6498596597609545, -7.881023325143766, 4.7029642025464975, 5.490489593506263, 1.4577054829853482, 7.2204914066015347, -6.4495501165249394, 11.025143103007442, -9.6136273661905971, -1.6292633004367878, 20.082835454091001, -15.940623976141929, -2.9320120314706735, -4.3372895006030534, 5.8549869318024657, -7.8135927951559925, 4.4717025005955255, -7.1804626225242245, 8.8281745058367793, 3.457866082712139, -11.660964767047432, 15.344085170249253, -14.466810773633428, -10.293997562512834, -6.5294617860841004, 2.6337196833307024, -11.070543876657444, 5.7359108096272164, 9.0013294714941843, -9.1923366442599423, 8.3397116927192272, -7.3466443766727068, -7.0208885950279667, -9.8833064990274835, -11.070411858783441, 16.189201249627562, -6.6872549284064142, -11.752890503765991, 8.888774213749782, 6.0968391171951497, 4.6589995649358533, -13.575988817182116, 11.224485296177397, -10.220694397171258, -5.4572791361037458, 3.0379566142247696, -10.350052412180393, 10.682941155969285, -4.9736564167026174, 11.948298747287996, -9.0750233401887872, 8.9486285395989267, -8.0970017828965126, -6.5844009128903371, 8.5356201812866281, 6.8576026698255736, 3.5824292008949179, 6.386672876216724, -15.44333294899913, -14.723335707927411, -7.1535041654585925, 10.057507199075706, -6.9304518083413749, -13.454196499566493, -4.138927837975757, -9.8229530349333984, -4.7378733928678765, 9.7370721449903357, -11.850883212615898, 5.8425014756304456, -6.9027200123108363, 8.7507430345166597, -2.8432533600339798, 7.1365746925349614, -6.098608401582597, 10.486813349939659, -8.8989094853818393, 7.6668852841834365, 6.3748984557020911, -5.4320648642184377, 12.959555816131948, 6.6472990487222825, -4.5586715631096242, -10.121473995028611, 13.889214737960058, 7.8618812777297702, 0.65114006436468486, 5.6488480073158049, 5.572561535915213, 2.4203295039424271, 5.3724413783839795, 10.445189341740317, -15.231581540217265, 11.189031424930562, 13.490253048718506, -7.5847033262880901, 8.1341785315194368, 4.667483152501207, 10.057012188688605, -12.532915718955612, 17.831016306467532, -7.0233337748720057, -8.1477498232874108, 6.5993887776727203, -6.605350841986966, -7.0309413757967123, -0.87776810176011932, -7.9287494770117224, 5.1536577951126938, 0.56224938859050333, 7.7410604756629082, -10.567376193912894, -2.4437814999269047, -1.2455732716974919, -8.9878404597781163, -10.226284826932922, 4.5715929705982656, -1.3060897521729748, 9.6931031456180285, 6.3549868823010955, -7.6817147139176463, 8.4268904957327955, 0.72594931178019784, -4.9826196594501706, 8.5326984912532176, 2.0637319625971493, -4.2933223803232075, 8.0239298244286879, 1.7951957372413565, 0.084600427180267501, 9.4399601205840362, 10.396717221311645, 12.856923054222854, 3.3295462715836468, -7.6253580712992282, 4.4434471213207374, 6.3733997531278987, 5.4209913860102539, -5.9866755286453737, -7.0287078896424156, -9.2179437166191374, -11.790731307180192, 8.455859639343128, -8.3117274581248051, 13.838681948013669, 7.5475760198641648, -10.086023553300919, -11.224918245135393, -3.3058930832202531, -6.8195757099451129, 11.709166727746231, 11.710100491323546, -11.077873187765078, -10.227016885555694, -4.2941243793572408, 8.1424248467837987, 9.7722584940844754, 7.1104245309154912, 9.3804477382031415, -7.106685163129332, -7.2437598314289575, 11.947702093459393, -1.057260209023416, -6.765299028699161, 3.3425539547981304, 13.328906459054352, 4.4101064786390305, 1.8051901230395977, 11.535802590105595, 0.81386101415425482, -8.165348209826135, -8.5774987728328416, -6.0775939508580219, 2.5963421619843943, 6.3292406903055642, -8.4458269581431491, 8.7662642361276717, -5.819334215801403, -13.610981269704446, 5.0765800356900179, 8.6249353046138477, -4.9634433316247675, -3.9950013700332065, -7.6929117100191453, -6.3633253856519749, 0.83722518023775461, 10.425061034991041, 10.934194165601433, 10.580235622153944, -17.515337920449952, -1.537113005053216, 10.026745250979713, 18.991835102357538, -9.10384082546339, -13.768910919694958, 5.4796127108483343, -8.9244398152912101, -11.548649423930978, 15.611931291120561, -8.908049321272264, -11.715023369923955, -8.5067714993118528, 8.669606218924919, 8.6186685199527773, -0.30417248355831389, -14.992242521244618, -11.237143275747075, 15.47971006097473, 7.0259516978639338, 10.065037137491313, 7.8868287877920169, -12.78707872542274, 7.4550220422461217, -16.404346129675449, 13.30456637678888, 9.9512518647161254, 7.5942461140693247, 3.7624642178418926, 9.8925251212558027, 14.146774666880505, -6.8718384088583475, -3.9981741290451276, 9.4511470096099846, 11.953465594032014, -11.215529849347973, 15.45129835369298, -7.3274909872161418, -4.9654010419320853, 7.7259448497328904, 9.8641694370073871, 1.1150439872404596, -10.084099868296887, 12.049728969177872, 13.071957031320016, 6.9097309932538309, -0.39659296549442785, -2.9217410655323537, -9.5561149122145306, 4.3607269616443673, -7.3795521023764916, -11.702904880630188, -1.5433424172046679, 15.057989444533467, -1.2565455630730749, 8.9880357276703204, 6.1129770246307693, 11.328910534091127, -2.9309511311565144, 11.207912500256919, -5.7404867114420988, 5.9950024570017471, -5.7910643096127341, 5.4208744627397838, -4.5716714958282108, 8.1298949011896831, -11.711123662713085, -12.017719365072217, -9.7122748441533471, -6.6047630492267668, -14.567681472229127, 7.7859507737798745, -13.177213209080305, 1.409111307587259, -1.5011399595588764, 12.057098493693852, 6.4171185080762427, -11.634125892968456, 11.044794834453159, -14.65558507132892, 13.72196292983746, 11.040226522930523, 6.2584434572994629, 10.730689310638432, -4.618515034465152, -1.2143032307321182, -7.4189186448958875, -7.669206125358758, -9.1157167366336314, 4.9339345930796563, 8.3824960985509129, 9.5126664524245168, -4.4260649375190164, 3.6144449441325635, -10.893425304008998, 8.3182825177379076, 13.628768431834336, 7.1730917891722781, 10.087828497729179, -10.489116618742848, 3.8856613599836791, -15.602509765497121, 7.2487646720202497, 12.218582462579505, 0.49211467796430364, -0.066484718374747426, -8.4329617736870581, -3.0127430939186324, 5.8144883342823128, 8.6729115102941527, 6.121491141792947, 12.360054236262307, 13.543171514998027, 12.1058948920289, -12.808248849582228, 7.3365859144200227, 2.0678328559134647, -1.7234260199225477, -13.299836520520724, -14.789707963127125, 6.6006452928112296, -11.956138068501044, -8.8455623029732315, -2.9088913906661178, -9.2132364101435229, -5.8435384831621802, 5.8547803901805464, 8.8126231169253515, 5.5222906262970843, -10.39753464755324, -12.211638565038697, 17.292580458421533, -8.5876470036423616, 4.7678649428994673, -8.4226853315054129, 8.700249181036531, 12.952510035514349, -7.6833594373108234, -3.0202355585479235, 8.7526883579126586, 11.663176352140155, 11.981232949878732, 11.031377901823634, -9.9501241218952927, -15.089187715856323, -10.601089041749843, -6.388179627159027, -4.6793834219078603, 3.9045854726147744, 9.8861746042718845, 0.042855319175376341, 14.3414643477855, -10.407450105082846, 3.0336086321363265, 13.793872516546351, 8.0501940947932038, 4.5991785638040428, -7.9303874601996593, 14.049591025574657, 17.380262133125449, -7.8459793004203222, 8.705024309261562, 6.6262770303011473, -10.086319438204431, 11.047015628809582, -7.3582609209654937, 8.2545626149113698, -11.989564968227834, 2.5193529800955838, -13.244337020280915, 4.8502499826361731, 14.474602979942233, 6.9452935547158612, -7.0450024656821544, -10.212713949627561, 13.849620674538945, 9.6833988531870752, -5.9081325241866898, -10.018382284344064, -6.6229672412657683, 13.879028902842597, -14.33382686638503, 1.9643288191802857, 0.16885137143821174, 4.2277292060928415, 10.805548194765471, -2.4964830143581742, -13.101405042095365, -13.302619999785827, -5.9241726080344108, 14.467933324092012, -8.4591055199339298, -10.184465268318146, -19.503434376811896, -15.229997219469618, 4.8345001979789908, 8.0104662922364813, 4.4017092080658031, -10.231395640484859, 3.9727378370282236, 14.2026231360392, -8.4599285310056196, -12.215460236402727, 5.394330835754074, -7.3356861012337502, -3.6795675270857404, 8.0787223556775896, -9.3271996634056915, -7.4552893328088974, 6.4828043001554736, -5.9782833623900453, -1.9874116057406432, -7.5397619196439196, 6.0283880381663453, 7.1105241207440057, 10.966410901409223, -12.375355422502105, -13.997023100211885, 7.7681673568373251, 6.0215105845435861, -0.44409932549081066, 5.2745451861685329, -7.2390124351491778, 9.8045113653170404, -3.5483006663908347, 8.4455042050030151, 6.750717907091107, -9.4719350776568856, -10.118021370720959, 2.7210293880017544, 8.2387439951112835, -8.6980762983904132, -11.317194860133458, 14.906902369795306, 8.5196626788523204, -5.7269320734414473, -6.4873691363023527, 11.118139263369434, -5.131366585591298, -5.1884527453006095, 2.1617883533714988, -3.2189908119713868, 9.1103687701917888, 6.1325191653578388, 2.411217194453199, -3.9050656149976706, -7.7536941054127926, -11.37779012533324, 2.2663187424687767, -14.954242385161651, -11.78196073144464, -5.9162280171814157, -14.78759715146799, 4.6557410991557671, -5.9735521657583144, 6.6275285823558434, 3.1024480512797177, 10.06871404793227, -10.543486892529438, -4.7522704594310561, -0.61601641164246079, -7.6838548304456449, 15.87411724597454, -11.665450977940896, -4.4365872375343205, 3.8247335268174831, 6.5326004536991329, 12.435275476860919, 8.2570494940406931, -3.3808435906687064, -4.7552502897093776, 4.5050634114776189, 10.672688962977514, 12.075918776794476, 1.7986308060137437, 4.1923629883751303, 11.752733569678064, -10.339474897439999, -16.186126637379726, -10.796197122972746, -9.214305404692233, 13.497270712719919, -9.4453197440185637, -15.69391834232802, 12.700707467329744, 4.7024717561391816, -10.327031105585643, 3.8477541445369963, -5.4896217736139521, 8.0519776507030638, 5.0341370218785944, 6.0456145072449026, -10.710449576292405, -8.6533964520637863, -12.257979327405108, -12.078971121036197, -10.881473761466781, 14.147239535310518, -2.6328735032346162, -15.716779182806999, -9.4242407781207191, 8.1426142269915331, 8.1611227842517025, -3.6252335542783207, -9.8025397455364676, 12.763568770750853, -9.5331346940178729, 4.9974585644427902, 5.9879812547323237, -6.2951737225996656, -3.9498007698755808, 10.122100576790197, 6.6618355586974447, 4.6997313218613739, 8.1707413233409465, 12.216703169693357, -12.426888921432578, -11.146002828849364, 6.3741370321379085, 7.6566213756894941, 2.2128160251661328, -5.4585144064775051, 11.139007406371906, -0.057747253315553991, -5.7619887506088023, 11.559333388163129, -7.7967134901859065, 1.5414474492709742, 10.25242202166922, -2.4376317695445988, 2.4485328874029482, -5.2527291639016829, 6.6966144242231938, 10.1056403723797, 9.6715660466767641, 12.199837902638398, -9.9779918730035462, 7.0398600566727509, 13.235714186918685, 6.2264247221125624, 0.49429650260801106, 11.011555724458017, -10.232864614422217, 1.0779763774514628, 2.3155686395401807, 13.340589994791694, -1.4927270737348184, -6.3253956772331872, 11.17892183418669, 4.6804642104000935, 9.9681133942788716, -15.354347685766472, 12.132973558045073, 16.863099386593074, -16.254027114251262, 8.9259599464113109, 4.4137266569998239, 13.238368561676072, 7.7024856954025447, -14.55028063381018, 2.9997759568600673, 5.9324435315675945, 8.9709392409618971, 9.9626050864742304, 6.0433161763769014, -11.094500816935717, 5.0773121433888173, 8.8653918721034444, 13.358789208346618, -3.3614825528284049, -13.508375784100188, -9.738962524121586, -6.8429863842661831, 9.3377608423949319, 9.1681044258536648, 2.6799203842673007, -8.1054023029408491, 3.7516032358089029, -8.7628704110935036, -11.00085544248971, -5.7755226059613731, -0.22395652308977335, -6.5936781093194714, -10.208015637116542, -13.848721312194234, 9.876782398829647, 9.437177021184711, 13.967144290195598, -1.5603470410313784, -12.959548633651529, -13.772706675904137, 9.4983989705496406, 4.8575506841930132, -13.426339798518415, -6.8882549582242767, 10.020963852018646, 10.738289970141997, -3.5322181002015958, 8.9790411088584392, -4.3462795772567171, 18.871182150839772, 6.1273012327332719, -6.5695645965276261, -8.2641966395439947, 0.85103670621664851, -16.902729440065183, 8.2697379486332849, -13.872113727992556, 13.619190901125434, -12.016737280921415, 1.639362596352592, 7.9267314843757219, 9.5913300412571747, -7.091648374422606, 5.8969231337131776, -6.4726579518981842, -4.3486881710817249, -9.3821085024104374, 10.917473221565318, 2.0279974118340656, 11.063658410060127, 6.9102623370057179, 6.2072533209374354, 11.520596314303049, -1.5151713191609242, -6.5680763433887153, 16.444160798635387, -5.3791474454897958, -2.2789027240044306, -11.56354929134242, 12.427791285408714, 8.610090315178283, -4.0511067764443416, 7.8692225359304206, -6.7079554414922891, 5.3999766490636549, -8.3179099730168247, 3.6976737002905016, -17.552301172297032, 6.1364424779438496, -9.7751306565781455, 6.1931141049267051, 16.865997593208082, 3.7361395596034965, 3.8267814056050402, 10.269712544637359, -12.797853578296257, -11.480255281563355, -10.876303582685193, -5.4324292010775084, -6.498689183845423, -3.8053637987749771, 13.525521072484571, -9.0129342094166027, 12.475202758118572, 0.35156955969912357, -13.374269540997016, -10.783210983288953, 10.807251662994091, -12.38126506382245, -5.8440304046740765, 6.1261248782561006, 10.426389918103478, -10.251207974472264, 5.7090742604182871, -7.3918232768010466, 14.40018609866692, 10.516336495878081, 5.0907717527746268, -10.790845519857502, -10.344691466108914, -0.81606960094075376, 5.8009330688061373, -6.4523871686156467, -13.804096639962156, -3.8036780326942807, 4.4403995451427036, -6.0454707691007998, -4.457208611267375, -9.3857200039694799, -4.2448642066932596, 11.390356801037848, -11.880538676942361, 16.20974462472968, -8.1065692722381755, 0.10605368805162664, -4.0113679201569177, -3.6764938206674111, 7.1589548870717845, -14.894945704589089, 19.416913935254374, 10.455230095243721, 19.094980784068856, 12.749384013660427, -10.507945794429656, -8.6068528180875727, 6.4779699897920597, -7.4688822584989687, 11.422119526982375, 12.683635758259111, 6.9141103733570297, -3.4807019716082186, -1.0659446865294615, -5.5303642351312705, -8.4756723068747828, 6.5495058918879581, 17.01132173619504, -8.6901951713633352, 0.73205096704640338, 12.18517096248061, 9.6207253649723565, -0.11293013857241167, 14.416380598864535, -3.4842485223978721, 8.538043021108594, 7.9853181927735468, -0.17854963422944989, 15.297082129948347, -8.6558345268403372, -8.8359118745350518, 6.8797931777949346, -13.579058234606006, 5.6056971276091021, -4.7325737401807606, -10.043277228766703, -8.496193000774646, 13.208604057890039, -2.6125003977921626, -9.0028742948434246, -8.3466406676435714, 4.0100931584168364, 8.607156558507457, -9.0376712732526396, 11.431914424287775, -0.65772909230851129, 9.5881935247089132, 14.183768387632979, 1.0198498160186804, 12.12574599778624, -8.8946934403733184, 17.588496278735882, -1.8672309187831959, -10.261023592868218, -10.98895162511046, -2.7839860694432046, 8.6202133936627021, -2.9996428552260639, 12.935041261170362, 10.751931118319499, 9.6367189688985686, 10.40091951562113, -9.8677128130479659, -0.85076949696133808, -8.7094472775564959, -2.7363773372569646, -10.036127502962517, -3.494015934190208, -4.2404950010667983, 4.590562970442905, -11.458041901958747, 9.3378179645353931, 12.328201773184455, 4.9840870074452948, 12.800873263637309, -12.800832354798168, -8.3806105857214561, -7.1573424713736697, -3.454056906476644, -10.568266292992009, -3.1957929098569293, -12.197503600264985, 14.897621213566064, 4.3558337641415363 +}; +const char H_256_768_22_detected_data[] = { +0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0 +}; diff --git a/src/H_256_768_22.h b/src/H_256_768_22.h new file mode 100644 index 0000000..a92ce5c --- /dev/null +++ b/src/H_256_768_22.h @@ -0,0 +1,19 @@ +/* + FILE....: H_256_768_22.h + + Static arrays for LDPC codec H_256_768_22, generated by ldpc_gen_c_h_file.m. +*/ + +#define H_256_768_22_NUMBERPARITYBITS 512 +#define H_256_768_22_MAX_ROW_WEIGHT 2 +#define H_256_768_22_CODELENGTH 768 +#define H_256_768_22_NUMBERROWSHCOLS 256 +#define H_256_768_22_MAX_COL_WEIGHT 4 +#define H_256_768_22_DEC_TYPE 0 +#define H_256_768_22_MAX_ITER 100 + +extern const uint16_t H_256_768_22_H_rows[]; +extern const uint16_t H_256_768_22_H_cols[]; +extern const float H_256_768_22_input[]; +extern const char H_256_768_22_detected_data[]; + diff --git a/src/_kiss_fft_guts.h b/src/_kiss_fft_guts.h new file mode 100644 index 0000000..1c62a34 --- /dev/null +++ b/src/_kiss_fft_guts.h @@ -0,0 +1,164 @@ +/* +Copyright (c) 2003-2010, Mark Borgerding + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + * Neither the author nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* kiss_fft.h + defines kiss_fft_scalar as either short or a float type + and defines + typedef struct { kiss_fft_scalar r; kiss_fft_scalar i; }kiss_fft_cpx; */ +#include "kiss_fft.h" +#include + +#define MAXFACTORS 32 +/* e.g. an fft of length 128 has 4 factors + as far as kissfft is concerned + 4*4*4*2 + */ + +struct kiss_fft_state{ + int nfft; + int inverse; + int factors[2*MAXFACTORS]; + kiss_fft_cpx twiddles[1]; +}; + +/* + Explanation of macros dealing with complex math: + + C_MUL(m,a,b) : m = a*b + C_FIXDIV( c , div ) : if a fixed point impl., c /= div. noop otherwise + C_SUB( res, a,b) : res = a - b + C_SUBFROM( res , a) : res -= a + C_ADDTO( res , a) : res += a + * */ +#ifdef FIXED_POINT +#if (FIXED_POINT==32) +# define FRACBITS 31 +# define SAMPPROD int64_t +#define SAMP_MAX 2147483647 +#else +# define FRACBITS 15 +# define SAMPPROD int32_t +#define SAMP_MAX 32767 +#endif + +#define SAMP_MIN -SAMP_MAX + +#if defined(CHECK_OVERFLOW) +# define CHECK_OVERFLOW_OP(a,op,b) \ + if ( (SAMPPROD)(a) op (SAMPPROD)(b) > SAMP_MAX || (SAMPPROD)(a) op (SAMPPROD)(b) < SAMP_MIN ) { \ + fprintf(stderr,"WARNING:overflow @ " __FILE__ "(%d): (%d " #op" %d) = %ld\n",__LINE__,(a),(b),(SAMPPROD)(a) op (SAMPPROD)(b) ); } +#endif + + +# define smul(a,b) ( (SAMPPROD)(a)*(b) ) +# define sround( x ) (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS ) + +# define S_MUL(a,b) sround( smul(a,b) ) + +# define C_MUL(m,a,b) \ + do{ (m).r = sround( smul((a).r,(b).r) - smul((a).i,(b).i) ); \ + (m).i = sround( smul((a).r,(b).i) + smul((a).i,(b).r) ); }while(0) + +# define DIVSCALAR(x,k) \ + (x) = sround( smul( x, SAMP_MAX/k ) ) + +# define C_FIXDIV(c,div) \ + do { DIVSCALAR( (c).r , div); \ + DIVSCALAR( (c).i , div); }while (0) + +# define C_MULBYSCALAR( c, s ) \ + do{ (c).r = sround( smul( (c).r , s ) ) ;\ + (c).i = sround( smul( (c).i , s ) ) ; }while(0) + +#else /* not FIXED_POINT*/ + +# define S_MUL(a,b) ( (a)*(b) ) +#define C_MUL(m,a,b) \ + do{ (m).r = (a).r*(b).r - (a).i*(b).i;\ + (m).i = (a).r*(b).i + (a).i*(b).r; }while(0) +# define C_FIXDIV(c,div) /* NOOP */ +# define C_MULBYSCALAR( c, s ) \ + do{ (c).r *= (s);\ + (c).i *= (s); }while(0) +#endif + +#ifndef CHECK_OVERFLOW_OP +# define CHECK_OVERFLOW_OP(a,op,b) /* noop */ +#endif + +#define C_ADD( res, a,b)\ + do { \ + CHECK_OVERFLOW_OP((a).r,+,(b).r)\ + CHECK_OVERFLOW_OP((a).i,+,(b).i)\ + (res).r=(a).r+(b).r; (res).i=(a).i+(b).i; \ + }while(0) +#define C_SUB( res, a,b)\ + do { \ + CHECK_OVERFLOW_OP((a).r,-,(b).r)\ + CHECK_OVERFLOW_OP((a).i,-,(b).i)\ + (res).r=(a).r-(b).r; (res).i=(a).i-(b).i; \ + }while(0) +#define C_ADDTO( res , a)\ + do { \ + CHECK_OVERFLOW_OP((res).r,+,(a).r)\ + CHECK_OVERFLOW_OP((res).i,+,(a).i)\ + (res).r += (a).r; (res).i += (a).i;\ + }while(0) + +#define C_SUBFROM( res , a)\ + do {\ + CHECK_OVERFLOW_OP((res).r,-,(a).r)\ + CHECK_OVERFLOW_OP((res).i,-,(a).i)\ + (res).r -= (a).r; (res).i -= (a).i; \ + }while(0) + + +#ifdef FIXED_POINT +# define KISS_FFT_COS(phase) floorf(.5+SAMP_MAX * cosf (phase)) +# define KISS_FFT_SIN(phase) floorf(.5+SAMP_MAX * sinf (phase)) +# define HALF_OF(x) ((x)>>1) +#elif defined(USE_SIMD) +# define KISS_FFT_COS(phase) _mm_set1_ps( cosf(phase) ) +# define KISS_FFT_SIN(phase) _mm_set1_ps( sinf(phase) ) +# define HALF_OF(x) ((x)*_mm_set1_ps(.5)) +#else +# define KISS_FFT_COS(phase) (kiss_fft_scalar) cosf(phase) +# define KISS_FFT_SIN(phase) (kiss_fft_scalar) sinf(phase) +# define HALF_OF(x) ((x)*.5) +#endif + +#define kf_cexp(x,phase) \ + do{ \ + (x)->r = KISS_FFT_COS(phase);\ + (x)->i = KISS_FFT_SIN(phase);\ + }while(0) + + +/* a debugging function */ +#define pcpx(c)\ + fprintf(stderr,"%g + %gi\n",(double)((c)->r),(double)((c)->i) ) + + +#ifdef KISS_FFT_USE_ALLOCA +// define this to allow use of alloca instead of malloc for temporary buffers +// Temporary buffers are used in two case: +// 1. FFT sizes that have "bad" factors. i.e. not 2,3 and 5 +// 2. "in-place" FFTs. Notice the quotes, since kissfft does not really do an in-place transform. +#include +#define KISS_FFT_TMP_ALLOC(nbytes) alloca(nbytes) +#define KISS_FFT_TMP_FREE(ptr) +#else +#define KISS_FFT_TMP_ALLOC(nbytes) KISS_FFT_MALLOC(nbytes) +#define KISS_FFT_TMP_FREE(ptr) KISS_FFT_FREE(ptr) +#endif diff --git a/src/codec2_fdmdv.h b/src/codec2_fdmdv.h new file mode 100644 index 0000000..2b809d5 --- /dev/null +++ b/src/codec2_fdmdv.h @@ -0,0 +1,113 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: codec2_fdmdv.h + AUTHOR......: David Rowe + DATE CREATED: April 14 2012 + + A 1400 bit/s (nominal) Frequency Division Multiplexed Digital Voice + (FDMDV) modem. Used for digital audio over HF SSB. See + README_fdmdv.txt for more information, and fdmdv_mod.c and + fdmdv_demod.c for example usage. + + The name codec2_fdmdv.h is used to make it unique when "make + installed". + + References: + + [1] http://n1su.com/fdmdv/FDMDV_Docs_Rel_1_4b.pdf + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2012 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __FDMDV__ +#define __FDMDV__ + +#include "comp.h" +#include "modem_stats.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* set up the calling convention for DLL function import/export for + WIN32 cross compiling */ + +#ifdef __CODEC2_WIN32__ +#ifdef __CODEC2_BUILDING_DLL__ +#define CODEC2_WIN32SUPPORT __declspec(dllexport) __stdcall +#else +#define CODEC2_WIN32SUPPORT __declspec(dllimport) __stdcall +#endif +#else +#define CODEC2_WIN32SUPPORT +#endif + +#define FDMDV_NC 14 /* default number of data carriers */ +#define FDMDV_NC_MAX 20 /* maximum number of data carriers */ +#define FDMDV_BITS_PER_FRAME 28 /* 20ms frames, for nominal 1400 bit/s */ +#define FDMDV_NOM_SAMPLES_PER_FRAME 160 /* modulator output samples/frame and nominal demod samples/frame */ + /* at 8000 Hz sample rate */ +#define FDMDV_MAX_SAMPLES_PER_FRAME 200 /* max demod samples/frame, use this to allocate storage */ +#define FDMDV_SCALE 1000 /* suggested scaling for 16 bit shorts */ +#define FDMDV_FCENTRE 1500 /* Centre frequency, Nc/2 carriers below this, Nc/2 carriers above (Hz) */ + +/* 8 to 48 kHz sample rate conversion */ + +#define FDMDV_OS 2 /* oversampling rate */ +#define FDMDV_OS_TAPS_16K 48 /* number of OS filter taps at 16kHz */ +#define FDMDV_OS_TAPS_8K (FDMDV_OS_TAPS_16K/FDMDV_OS) /* number of OS filter taps at 8kHz */ + +/* FDMDV states and stats structures */ + +struct FDMDV; + +struct FDMDV * fdmdv_create(int Nc); +void fdmdv_destroy(struct FDMDV *fdmdv_state); +void fdmdv_use_old_qpsk_mapping(struct FDMDV *fdmdv_state); +int fdmdv_bits_per_frame(struct FDMDV *fdmdv_state); +float fdmdv_get_fsep(struct FDMDV *fdmdv_state); +void fdmdv_set_fsep(struct FDMDV *fdmdv_state, float fsep); + +void fdmdv_mod(struct FDMDV *fdmdv_state, COMP tx_fdm[], int tx_bits[], int *sync_bit); +void fdmdv_demod(struct FDMDV *fdmdv_state, int rx_bits[], int *reliable_sync_bit, COMP rx_fdm[], int *nin); + +void fdmdv_get_test_bits(struct FDMDV *fdmdv_state, int tx_bits[]); +int fdmdv_error_pattern_size(struct FDMDV *fdmdv_state); +void fdmdv_put_test_bits(struct FDMDV *f, int *sync, short error_pattern[], int *bit_errors, int *ntest_bits, int rx_bits[]); + +void fdmdv_get_demod_stats(struct FDMDV *fdmdv_state, struct MODEM_STATS *stats); + +void fdmdv_8_to_16(float out16k[], float in8k[], int n); +void fdmdv_8_to_16_short(short out16k[], short in8k[], int n); +void fdmdv_16_to_8(float out8k[], float in16k[], int n); +void fdmdv_16_to_8_short(short out8k[], short in16k[], int n); + +void fdmdv_freq_shift(COMP rx_fdm_fcorr[], COMP rx_fdm[], float foff, COMP *foff_phase_rect, int nin); + +/* debug/development function(s) */ + +void fdmdv_dump_osc_mags(struct FDMDV *f); +void fdmdv_simulate_channel(float *sig_pwr_av, COMP samples[], int nin, float target_snr); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/src/comp.h b/src/comp.h new file mode 100644 index 0000000..ffc20c1 --- /dev/null +++ b/src/comp.h @@ -0,0 +1,38 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: comp.h + AUTHOR......: David Rowe + DATE CREATED: 24/08/09 + + Complex number definition. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2009 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __COMP__ +#define __COMP__ + +/* Complex number */ + +typedef struct { + float real; + float imag; +} COMP; + +#endif diff --git a/src/comp_prim.h b/src/comp_prim.h new file mode 100644 index 0000000..d0f070a --- /dev/null +++ b/src/comp_prim.h @@ -0,0 +1,141 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: comp_prim.h + AUTHOR......: David Rowe + DATE CREATED: Marh 2015 + + Complex number maths primitives. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2015 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __COMP_PRIM__ +#define __COMP_PRIM__ + +/*---------------------------------------------------------------------------*\ + + FUNCTIONS + +\*---------------------------------------------------------------------------*/ + +inline static COMP cneg(COMP a) +{ + COMP res; + + res.real = -a.real; + res.imag = -a.imag; + + return res; +} + +inline static COMP cconj(COMP a) +{ + COMP res; + + res.real = a.real; + res.imag = -a.imag; + + return res; +} + +inline static COMP cmult(COMP a, COMP b) +{ + COMP res; + + res.real = a.real*b.real - a.imag*b.imag; + res.imag = a.real*b.imag + a.imag*b.real; + + return res; +} + +inline static COMP fcmult(float a, COMP b) +{ + COMP res; + + res.real = a*b.real; + res.imag = a*b.imag; + + return res; +} + +inline static COMP cadd(COMP a, COMP b) +{ + COMP res; + + res.real = a.real + b.real; + res.imag = a.imag + b.imag; + + return res; +} + +inline static float cabsolute(COMP a) +{ + return sqrtf((a.real * a.real) + (a.imag * a.imag) ); +} + +/* + * Euler's formula in a new convenient function + */ +inline static COMP comp_exp_j(float phi){ + COMP res; + res.real = cosf(phi); + res.imag = sinf(phi); + return res; +} + +/* + * Quick and easy complex 0 + */ +inline static COMP comp0(){ + COMP res; + res.real = 0; + res.imag = 0; + return res; +} + +/* + * Quick and easy complex subtract + */ +inline static COMP csub(COMP a, COMP b){ + COMP res; + res.real = a.real-b.real; + res.imag = a.imag-b.imag; + return res; +} + +/* + * Compare the magnitude of a and b. if |a|>|b|, return true, otw false. + * This needs no square roots + */ +inline static int comp_mag_gt(COMP a,COMP b){ + return ((a.real*a.real)+(a.imag*a.imag)) > ((b.real*b.real)+(b.imag*b.imag)); +} + +/* + * Normalize a complex number's magnitude to 1 + */ +inline static COMP comp_normalize(COMP a){ + COMP b; + float av = cabsolute(a); + b.real = a.real/av; + b.imag = a.imag/av; + return b; +} + +#endif diff --git a/src/debug_alloc.h b/src/debug_alloc.h new file mode 100644 index 0000000..62f0456 --- /dev/null +++ b/src/debug_alloc.h @@ -0,0 +1,61 @@ +/* debug_alloc.h + * + * Some macros which can report on malloc results. + * + * Enable with "-D DEBUG_ALLOC" + */ + +#ifndef DEBUG_ALLOC_H +#define DEBUG_ALLOC_H + +#include + +// Debug calls + +#ifdef CORTEX_M4 +extern char * __heap_end; +register char * sp asm ("sp"); +#endif + + static inline void * DEBUG_MALLOC(const char *func, size_t size) { + void *ptr = malloc(size); + fprintf(stderr, "MALLOC: %s %p %d", func, ptr, (int)size); +#ifdef CORTEX_M4 + + fprintf(stderr, " : sp %p ", sp); +#endif + if (!ptr) fprintf(stderr, " ** FAILED **"); + fprintf(stderr, "\n"); + return(ptr); + } + + static inline void * DEBUG_CALLOC(const char *func, size_t nmemb, size_t size) { + void *ptr = calloc(nmemb, size); + fprintf(stderr, "CALLOC: %s %p %d %d", func, ptr, (int)nmemb, (int)size); +#ifdef CORTEX_M4 + fprintf(stderr, " : sp %p ", sp); +#endif + if (!ptr) fprintf(stderr, " ** FAILED **"); + fprintf(stderr, "\n"); + return(ptr); + } + static inline void DEBUG_FREE(const char *func, void *ptr) { + free(ptr); + fprintf(stderr, "FREE: %s %p\n", func, ptr); + } + +#ifdef DEBUG_ALLOC + #define MALLOC(size) DEBUG_MALLOC(__func__, size) + #define CALLOC(nmemb, size) DEBUG_CALLOC(__func__, nmemb, size) + #define FREE(ptr) DEBUG_FREE(__func__, ptr) +#else //DEBUG_ALLOC +// Default to normal calls + #define MALLOC(size) malloc(size) + + #define CALLOC(nmemb, size) calloc(nmemb, size) + + #define FREE(ptr) free(ptr) + +#endif //DEBUG_ALLOC + +#endif //DEBUG_ALLOC_H diff --git a/src/drs232.c b/src/drs232.c new file mode 100644 index 0000000..92f65ca --- /dev/null +++ b/src/drs232.c @@ -0,0 +1,235 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: drs232.c + AUTHOR......: David Rowe + DATE CREATED: March 2016 + + Looks for a unique word in series of bits. When found, deframes a RS232 + encoded frame of bytes. Used for high bit rate Horus SSTV reception. + + Frame format: + + 16 bytes 0x55 - 0xabcdef01 UW - 256 bytes of payload - 2 bytes CRC + + Each byte is encoded as a 10 bit RS232 serial word: + + 0 LSB .... MSB 1 + + Building: + + $ gcc drs232.c -o drs232 -Wall + +\*---------------------------------------------------------------------------*/ + + +/* + Copyright (C) 2016 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include +#include +#include +#include +#include +#include + +/* states -----------------------------------------------*/ + +#define LOOK_FOR_UW 0 +#define COLLECT_PACKET 1 + +/* packet parameters */ + +#define UW_BYTES 4 +#define UW_BITS 40 +#define UW_ALLOWED_ERRORS 5 +#define BYTES_PER_PACKET 256 +#define CRC_BYTES 2 +#define BITS_PER_BYTE 10 +#define UNPACKED_PACKET_BYTES ((UW_BYTES+BYTES_PER_PACKET+CRC_BYTES)*BITS_PER_BYTE) + +/* UW pattern we look for, including start/stop bits */ + +uint8_t uw[] = { + /* 0xb 0xa */ + 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, + /* 0xd 0xc */ + 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, + /* 0xf 0xe */ + 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, + /* 0x1 0x0 */ + 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, +}; + + // from http://stackoverflow.com/questions/10564491/function-to-calculate-a-crc16-checksum + +unsigned short gen_crc16(unsigned char* data_p, int length){ + unsigned char x; + unsigned short crc = 0xFFFF; + + while (length--){ + x = crc >> 8 ^ *data_p++; + x ^= x>>4; + crc = (crc << 8) ^ ((unsigned short)(x << 12)) ^ ((unsigned short)(x <<5)) ^ ((unsigned short)x); + } + + return crc; +} + + +int main(int argc, char *argv[]) { + FILE *fin, *fout; + int state, next_state, i, j, k, ind, score, bits_read; + char bit; + uint8_t unpacked_packet[UNPACKED_PACKET_BYTES]; + uint8_t packet[BYTES_PER_PACKET+CRC_BYTES]; + uint8_t abyte; + uint16_t tx_checksum, rx_checksum; + int verbose, packet_errors, packets; + + if (argc < 3) { + fprintf(stderr, "usage: drs232 InputOneBitPerChar OutputPackets [-v[v]]\n"); + exit(1); + } + + if (strcmp(argv[1], "-") == 0) fin = stdin; + else if ( (fin = fopen(argv[1],"rb")) == NULL ) { + fprintf(stderr, "Error opening input file: %s: %s.\n", + argv[1], strerror(errno)); + exit(1); + } + + if (strcmp(argv[2], "-") == 0) fout = stdout; + else if ( (fout = fopen(argv[2],"wb")) == NULL ) { + fprintf(stderr, "Error opening output file: %s: %s.\n", + argv[2], strerror(errno)); + exit(1); + } + + verbose = 0; + if (argc > 3) { + if (strcmp(argv[3], "-v") == 0) { + verbose = 1; + } + if (strcmp(argv[3], "-vv") == 0) { + verbose = 2; + } + } + + state = LOOK_FOR_UW; + for(i=0; i (UW_BITS-UW_ALLOWED_ERRORS)) { + if (verbose == 2) { + fprintf(stderr,"UW found!\n"); + } + ind = UW_BITS; + next_state = COLLECT_PACKET; + } + } + + if (state == COLLECT_PACKET) { + unpacked_packet[ind++] = bit; + + if (ind == UNPACKED_PACKET_BYTES) { + + /* OK we have enough bits, remove RS232 sync bits and pack */ + + for(i=UW_BITS,k=0; i. +*/ + +#include +#include +#include +#include +#include +#include + +#include "mpdecode_core.h" + +/* Machine generated consts, H_rows, H_cols, test input/output data to + change LDPC code regenerate this file. */ + +#include "H2064_516_sparse.h" + +/* states -----------------------------------------------*/ + +#define LOOK_FOR_UW 0 +#define COLLECT_PACKET 1 + +/* packet parameters */ + +#define UW_BYTES 4 +#define UW_BITS 40 +#define UW_ALLOWED_ERRORS 5 +#define BYTES_PER_PACKET 256 +#define CRC_BYTES 2 +#define PARITY_BYTES 65 +#define BITS_PER_BYTE 10 +#define UNPACKED_PACKET_BYTES ((UW_BYTES+BYTES_PER_PACKET+CRC_BYTES)*BITS_PER_BYTE) +#define SYMBOLS_PER_PACKET (BYTES_PER_PACKET+CRC_BYTES+PARITY_BYTES)*BITS_PER_BYTE + +/* UW pattern we look for, including start/stop bits */ + +uint8_t uw[] = { + /* 0xb 0xa */ + 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, + /* 0xd 0xc */ + 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, + /* 0xf 0xe */ + 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, + /* 0x1 0x0 */ + 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, +}; + + +// from http://stackoverflow.com/questions/10564491/function-to-calculate-a-crc16-checksum + +unsigned short gen_crc16(unsigned char* data_p, int length){ + unsigned char x; + unsigned short crc = 0xFFFF; + + while (length--){ + x = crc >> 8 ^ *data_p++; + x ^= x>>4; + crc = (crc << 8) ^ ((unsigned short)(x << 12)) ^ ((unsigned short)(x <<5)) ^ ((unsigned short)x); + } + + return crc; +} + + +int main(int argc, char *argv[]) { + FILE *fin, *fout; + int state, next_state, i, j, k, ind, score, verbose; + float symbol; + uint8_t bit, bit_buffer[UW_BITS]; + double symbol_buf[SYMBOLS_PER_PACKET]; + double symbol_buf_no_rs232[SYMBOLS_PER_PACKET]; + float llr[SYMBOLS_PER_PACKET]; + uint8_t unpacked_packet[CODELENGTH]; + uint8_t packet[BYTES_PER_PACKET+CRC_BYTES]; + uint8_t abyte; + uint16_t tx_checksum, rx_checksum, packet_errors, packets; + int CodeLength, iter, parityCheckCount; + struct LDPC ldpc; + + assert(sizeof(uw) == UW_BITS); + + /* LDPC parameters */ + + CodeLength = CODELENGTH; /* length of entire codeword in bits */ + + /* set up LDPC code from include file constants */ + + ldpc.max_iter = MAX_ITER; + ldpc.dec_type = 0; + ldpc.q_scale_factor = 1; + ldpc.r_scale_factor = 1; + ldpc.CodeLength = CODELENGTH; + ldpc.NumberParityBits = NUMBERPARITYBITS; + ldpc.NumberRowsHcols = NUMBERROWSHCOLS; + ldpc.max_row_weight = MAX_ROW_WEIGHT; + ldpc.max_col_weight = MAX_COL_WEIGHT; + ldpc.H_rows = H_rows; + ldpc.H_cols = H_cols; + + /* process command line ----------------------------------------------*/ + + if (argc < 3) { + fprintf(stderr, "usage: drs232 InputOneSymbolPerFloat OutputPackets [-v[v]]\n"); + exit(1); + } + + if (strcmp(argv[1], "-") == 0) fin = stdin; + else if ( (fin = fopen(argv[1],"rb")) == NULL ) { + fprintf(stderr, "Error opening input file: %s: %s.\n", + argv[1], strerror(errno)); + exit(1); + } + + if (strcmp(argv[2], "-") == 0) fout = stdout; + else if ( (fout = fopen(argv[2],"wb")) == NULL ) { + fprintf(stderr, "Error opening output file: %s: %s.\n", + argv[2], strerror(errno)); + exit(1); + } + + verbose = 0; + if (argc > 3) { + if (strcmp(argv[3], "-v") == 0) { + verbose = 1; + } + if (strcmp(argv[3], "-vv") == 0) { + verbose = 2; + } + } + + state = LOOK_FOR_UW; + memset(bit_buffer,0, sizeof(bit_buffer)); + + packet_errors = packets = 0; + + while(fread(&symbol, sizeof(float), 1, fin) == 1) { + + /* make hard decision for purpose of UW detection */ + + bit = symbol < 0; + //printf("symbol; %f bit: %d\n", symbol, bit); + next_state = state; + if (state == LOOK_FOR_UW) { + + /* put latest input bit into sliding buffer */ + + for(i=0; i= (UW_BITS-UW_ALLOWED_ERRORS)) { + //fprintf(stderr,"UW found! score: %d\n verbose: %d\n", score, verbose); + ind = 0; + next_state = COLLECT_PACKET; + } + } + + if (state == COLLECT_PACKET) { + symbol_buf[ind++] = symbol; + + if (ind == SYMBOLS_PER_PACKET) { + + /* OK we have enough bits, remove RS232 sync symbols. + This is set up for bit<->byte ordering as per python + tx code */ + + for(i=0,k=0; i. +*/ + +/*---------------------------------------------------------------------------*\ + + DEFINES + +\*---------------------------------------------------------------------------*/ + +/* Define this to enable EbNodB estimate */ +/* This needs square roots, may take more cpu time than it's worth */ +#define EST_EBNO + +/* This is a flag to make the mod/demod allocate their memory on the stack instead of the heap */ +/* At large sample rates, there's not enough stack space to run the demod */ +#define DEMOD_ALLOC_STACK + +/* This is a flag for the freq. estimator to use a precomputed/rt computed hann window table + On platforms with slow cosf, this will produce a substantial speedup at the cost of a small + amount of memory +*/ +#define USE_HANN_TABLE + +/* This flag turns on run-time hann table generation. If USE_HANN_TABLE is unset, + this flag has no effect. If USE_HANN_TABLE is set and this flag is set, the + hann table will be allocated and generated when fsk_init or fsk_init_hbr is + called. If this flag is not set, a hann function table of size fsk->Ndft MUST + be provided. On small platforms, this can be used with a precomputed table to + save memory at the cost of flash space. +*/ +#define GENERATE_HANN_TABLE_RUNTIME + +/* Turn off table generation if on cortex M4 to save memory */ +#ifdef CORTEX_M4 +#undef USE_HANN_TABLE +#endif + +/*---------------------------------------------------------------------------*\ + + INCLUDES + +\*---------------------------------------------------------------------------*/ + +#include +#include +#include +#include + +#include "fsk.h" +#include "comp_prim.h" +#include "kiss_fftr.h" +#include "modem_probe.h" + +/*---------------------------------------------------------------------------*\ + + FUNCTIONS + +\*---------------------------------------------------------------------------*/ + +static void stats_init(struct FSK *fsk); + +#ifdef USE_HANN_TABLE +/* + This is used by fsk_create and fsk_create_hbr to generate a hann function + table +*/ +static void fsk_generate_hann_table(struct FSK* fsk){ + int Ndft = fsk->Ndft; + size_t i; + + for(i=0; ihann_table[i] = 0.5 - 0.5 * cosf(2.0 * M_PI * (float)i / (float) (Ndft-1)); + } +} +#endif + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fsk_create_core + AUTHOR......: Brady O'Brien + DATE CREATED: 7 January 2016 + + In this version of the demod the stdanard/hbr modes have been + largely combined at they shared so much common code. The + fsk_create/fsk_create_hbr function interface has been retained to + maximise compatability with existing applications. + +\*---------------------------------------------------------------------------*/ + +struct FSK * fsk_create_core(int Fs, int Rs, int M, int P, int Nsym, int tx_f1, int tx_fs) +{ + struct FSK *fsk; + int i; + + /* Check configuration validity */ + assert(Fs > 0 ); + assert(Rs > 0 ); + assert(tx_f1 > 0); + assert(tx_fs > 0); + assert(P > 0); + assert(Nsym > 0); + /* Ts (Fs/Rs) must be an integer */ + assert( (Fs%Rs) == 0 ); + /* Ts/P (Fs/Rs/P) must be an integer */ + assert( ((Fs/Rs)%P) == 0 ); + assert( M==2 || M==4); + + fsk = (struct FSK*) malloc(sizeof(struct FSK)); assert(fsk != NULL); + + // Need enough bins to with 10% of tone centre + float bin_width_Hz = 0.1*Rs; + float Ndft = (float)Fs/bin_width_Hz; + Ndft = pow(2.0, ceil(log2(Ndft))); + + /* Set constant config parameters */ + fsk->Fs = Fs; + fsk->Rs = Rs; + fsk->Ts = Fs/Rs; + fsk->burst_mode = 0; + fsk->P = P; + fsk->Nsym = Nsym; + fsk->N = fsk->Ts*fsk->Nsym; + fsk->Ndft = Ndft; + fsk->tc = 0.1; + fsk->Nmem = fsk->N+(2*fsk->Ts); + fsk->f1_tx = tx_f1; + fsk->fs_tx = tx_fs; + fsk->nin = fsk->N; + fsk->lock_nin = 0; + fsk->mode = M==2 ? MODE_2FSK : MODE_4FSK; + fsk->Nbits = M==2 ? fsk->Nsym : fsk->Nsym*2; + fsk->est_min = 0; + fsk->est_max = Fs; + fsk->est_space = 0.75*Rs; + + //printf("C.....: M: %d Fs: %d Rs: %d Ts: %d nsym: %d nbit: %d N: %d Ndft: %d fmin: %d fmax: %d\n", + // M, fsk->Fs, fsk->Rs, fsk->Ts, fsk->Nsym, fsk->Nbits, fsk->N, fsk->Ndft, fsk->est_min, fsk->est_max); + /* Set up rx state */ + for(i=0; iphi_c[i] = comp_exp_j(0); + fsk->f_dc = (COMP*)malloc(M*fsk->Nmem*sizeof(COMP)); assert(fsk->f_dc != NULL); + for(i=0; iNmem; i++) + fsk->f_dc[i] = comp0(); + + fsk->fft_cfg = kiss_fft_alloc(Ndft,0,NULL,NULL); assert(fsk->fft_cfg != NULL); + fsk->Sf = (float*)malloc(sizeof(float)*fsk->Ndft); assert(fsk->Sf != NULL); + + #ifdef USE_HANN_TABLE + #ifdef GENERATE_HANN_TABLE_RUNTIME + fsk->hann_table = (float*)malloc(sizeof(float)*fsk->Ndft); assert(fsk->hann_table != NULL); + fsk_generate_hann_table(fsk); + #else + fsk->hann_table = NULL; + #endif + #endif + + for(i=0;iSf[i] = 0; + + fsk->norm_rx_timing = 0; + + /* Set up tx state */ + fsk->tx_phase_c = comp_exp_j(0); + + /* Set up demod stats */ + fsk->EbNodB = 0; + + for( i=0; if_est[i] = 0; + + fsk->ppm = 0; + + fsk->stats = (struct MODEM_STATS*)malloc(sizeof(struct MODEM_STATS)); assert(fsk->stats != NULL); + stats_init(fsk); + fsk->normalise_eye = 1; + + return fsk; +} + +/*---------------------------------------------------------------------------* \ + + FUNCTION....: fsk_create + AUTHOR......: Brady O'Brien + DATE CREATED: 7 January 2016 + + Create and initialize an instance of the FSK modem. Returns a pointer + to the modem state/config struct. One modem config struct may be used + for both mod and demod. + +\*---------------------------------------------------------------------------*/ + +struct FSK * fsk_create(int Fs, int Rs, int M, int tx_f1, int tx_fs) { + return fsk_create_core(Fs, Rs, M, FSK_DEFAULT_P, FSK_DEFAULT_NSYM, tx_f1, tx_fs); +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fsk_create_hbr + AUTHOR......: Brady O'Brien + DATE CREATED: 11 February 2016 + + Alternate version of create allows user defined decimation P and + Nsym. In the current version of the demod it's simply an alias for + the default core function. + + P is the decimation rate, so the intermal demod processing happens + at Fs/P Hz. Nsym is the number of symbols we average demod + parameters like symbol timing over. + +\*---------------------------------------------------------------------------*/ + +struct FSK * fsk_create_hbr(int Fs, int Rs, int M, int P, int Nsym, int tx_f1, int tx_fs) { + return fsk_create_core(Fs, Rs, M, P, Nsym, tx_f1, tx_fs); +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fsk_destroy + AUTHOR......: Brady O'Brien + DATE CREATED: 11 February 2016 + + Call this to free all memory and shut down the modem. + +\*---------------------------------------------------------------------------*/ + +void fsk_destroy(struct FSK *fsk){ + free(fsk->f_dc); + free(fsk->fft_cfg); + free(fsk->stats); + free(fsk->hann_table); + free(fsk); +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fsk_mod + AUTHOR......: Brady O'Brien + DATE CREATED: 11 February 2016 + + FSK modulator function, real valued output samples. + +\*---------------------------------------------------------------------------*/ + +void fsk_mod(struct FSK *fsk,float fsk_out[],uint8_t tx_bits[]){ + COMP tx_phase_c = fsk->tx_phase_c; /* Current complex TX phase */ + int f1_tx = fsk->f1_tx; /* '0' frequency */ + int fs_tx = fsk->fs_tx; /* space between frequencies */ + int Ts = fsk->Ts; /* samples-per-symbol */ + int Fs = fsk->Fs; /* sample freq */ + int M = fsk->mode; + COMP dosc_f[M]; /* phase shift per sample */ + COMP dph; /* phase shift of current bit */ + size_t i,j,m,bit_i,sym; + + /* Init the per sample phase shift complex numbers */ + for( m=0; mNsym; i++){ + sym = 0; + /* Pack the symbol number from the bit stream */ + for( m=M; m>>=1; ){ + uint8_t bit = tx_bits[bit_i]; + bit = (bit==1)?1:0; + sym = (sym<<1)|bit; + bit_i++; + } + /* Look up symbol phase shift */ + dph = dosc_f[sym]; + /* Spin the oscillator for a symbol period */ + for(j=0; jtx_phase_c = tx_phase_c; + +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fsk_mod_c + AUTHOR......: Brady O'Brien + DATE CREATED: 11 February 2016 + + FSK modulator function, complex valued output samples. + +\*---------------------------------------------------------------------------*/ + +void fsk_mod_c(struct FSK *fsk,COMP fsk_out[],uint8_t tx_bits[]){ + COMP tx_phase_c = fsk->tx_phase_c; /* Current complex TX phase */ + int f1_tx = fsk->f1_tx; /* '0' frequency */ + int fs_tx = fsk->fs_tx; /* space between frequencies */ + int Ts = fsk->Ts; /* samples-per-symbol */ + int Fs = fsk->Fs; /* sample freq */ + int M = fsk->mode; + COMP dosc_f[M]; /* phase shift per sample */ + COMP dph; /* phase shift of current bit */ + size_t i,j,bit_i,sym; + int m; + + /* Init the per sample phase shift complex numbers */ + for( m=0; mNsym; i++){ + sym = 0; + /* Pack the symbol number from the bit stream */ + for( m=M; m>>=1; ){ + uint8_t bit = tx_bits[bit_i]; + bit = (bit==1)?1:0; + sym = (sym<<1)|bit; + bit_i++; + } + /* Look up symbol phase shift */ + dph = dosc_f[sym]; + /* Spin the oscillator for a symbol period */ + for(j=0; jtx_phase_c = tx_phase_c; + +} + + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fsk_mod_ext_vco + AUTHOR......: David Rowe + DATE CREATED: February 2018 + + Modulator that assume an external VCO. The output is a voltage + that changes for each symbol. + +\*---------------------------------------------------------------------------*/ + +void fsk_mod_ext_vco(struct FSK *fsk, float vco_out[], uint8_t tx_bits[]) { + int f1_tx = fsk->f1_tx; /* '0' frequency */ + int fs_tx = fsk->fs_tx; /* space between frequencies */ + int Ts = fsk->Ts; /* samples-per-symbol */ + int M = fsk->mode; + int i, j, m, sym, bit_i; + + bit_i = 0; + for(i=0; iNsym; i++) { + /* generate the symbol number from the bit stream, + e.g. 0,1 for 2FSK, 0,1,2,3 for 4FSK */ + + sym = 0; + + /* unpack the symbol number from the bit stream */ + + for( m=M; m>>=1; ){ + uint8_t bit = tx_bits[bit_i]; + bit = (bit==1)?1:0; + sym = (sym<<1)|bit; + bit_i++; + } + + /* + Map 'sym' to VCO frequency + Note: drive is inverted, a higher tone drives VCO voltage lower + */ + + //fprintf(stderr, "i: %d sym: %d freq: %f\n", i, sym, f1_tx + fs_tx*(float)sym); + for(j=0; jnin; +} + +/* + * Internal function to estimate the frequencies of the FSK tones. + * This is split off because it is fairly complicated, needs a bunch of memory, and probably + * takes more cycles than the rest of the demod. + * Parameters: + * fsk - FSK struct from demod containing FSK config + * fsk_in - block of samples in this demod cycles, must be nin long + * freqs - Array for the estimated frequencies + * M - number of frequency peaks to find + */ +void fsk_demod_freq_est(struct FSK *fsk, COMP fsk_in[], float *freqs, int M) { + int Ndft = fsk->Ndft; + int Fs = fsk->Fs; + int nin = fsk->nin; + size_t i,j; + float hann; + float max; + int imax; + kiss_fft_cfg fft_cfg = fsk->fft_cfg; + int freqi[M]; + int st,en,f_zero; + + /* Array to do complex FFT from using kiss_fft */ + #ifdef DEMOD_ALLOC_STACK + kiss_fft_cpx *fftin = (kiss_fft_cpx*)alloca(sizeof(kiss_fft_cpx)*Ndft); + kiss_fft_cpx *fftout = (kiss_fft_cpx*)alloca(sizeof(kiss_fft_cpx)*Ndft); + #else + kiss_fft_cpx *fftin = (kiss_fft_cpx*)malloc(sizeof(kiss_fft_cpx)*Ndft); + kiss_fft_cpx *fftout = (kiss_fft_cpx*)malloc(sizeof(kiss_fft_cpx)*Ndft); + #endif + + st = (fsk->est_min*Ndft)/Fs + Ndft/2; if (st < 0) st = 0; + en = (fsk->est_max*Ndft)/Fs + Ndft/2; if (en > Ndft) en = Ndft; + //fprintf(stderr, "min: %d max: %d st: %d en: %d\n", fsk->est_min, fsk->est_max, st, en); + + f_zero = (fsk->est_space*Ndft)/Fs; + + int numffts = floor((float)nin/(Ndft/2)) - 1; + for(j=0; jhann_table[i]; + #else + hann = 0.5 - 0.5 * cosf(2.0 * M_PI * (float)i / (float) (fft_samps-1)); + #endif + fftin[i].r = hann*fsk_in[i+a].real; + fftin[i].i = hann*fsk_in[i+a].imag; + } + + /* Do the FFT */ + kiss_fft(fft_cfg,fftin,fftout); + + /* FFT shift to put DC bin at Ndft/2 */ + kiss_fft_cpx tmp; + for(i=0; itc; + for(i=0; iSf[i] = (fsk->Sf[i]*(1-tc)) + (sqrtf(fftout[i].r)*tc); + fftout[i].i = fsk->Sf[i]; + } + } + + modem_probe_samp_f("t_Sf",fsk->Sf,Ndft); + + max = 0; + /* Find the M frequency peaks here */ + for(i=0; i max){ + max = fftout[j].i; + imax = j; + } + } + /* Blank out FMax +/-Fspace/2 */ + int f_min, f_max; + f_min = imax - f_zero; + f_min = f_min < 0 ? 0 : f_min; + f_max = imax + f_zero; + f_max = f_max > Ndft ? Ndft : f_max; + for(j=f_min; j= freqi[i-1]) i++; + else{ + j = freqi[i]; + freqi[i] = freqi[i-1]; + freqi[i-1] = j; + if(i>1) i--; + } + } + + /* Convert freqs from indices to frequencies */ + for(i=0; ifs_tx*Ndft/Fs)-1; + for(i=bin; i<=bin+2; i++) mask[i] = 1.0; + } + int len_mask = bin+2+1; + + #ifdef MODEMPROBE_ENABLE + modem_probe_samp_f("t_mask",mask,len_mask); + #endif + + /* drag mask over Sf, looking for peak in correlation */ + int b_max = st; float corr_max = 0.0; + float *Sf = fsk->Sf; + for (int b=st; b corr_max) { + corr_max = corr; + b_max = b; + } + } + float foff = (b_max-Ndft/2)*Fs/Ndft; + //fprintf(stderr, "fsk->fs_tx: %d\n",fsk->fs_tx); + for (int m=0; mf2_est[m] = foff + m*fsk->fs_tx; + #ifdef MODEMPROBE_ENABLE + modem_probe_samp_f("t_f2_est",fsk->f2_est,M); + #endif + + #ifndef DEMOD_ALLOC_STACK + free(fftin); + free(fftout); + #endif +} + +/* core demodulator function */ +void fsk_demod_core(struct FSK *fsk, uint8_t rx_bits[], float rx_sd[], COMP fsk_in[]){ + int N = fsk->N; + int Ts = fsk->Ts; + int Rs = fsk->Rs; + int Fs = fsk->Fs; + int nsym = fsk->Nsym; + int nin = fsk->nin; + int P = fsk->P; + int Nmem = fsk->Nmem; + int M = fsk->mode; + size_t i,j,m; + float ft1; + + COMP t[M]; /* complex number temps */ + COMP t_c; /* another complex temp */ + COMP *phi_c = fsk->phi_c; + COMP *f_dc = fsk->f_dc; + COMP phi_ft; + int nold = Nmem-nin; + + COMP dphift; + float rx_timing,norm_rx_timing,old_norm_rx_timing,d_norm_rx_timing,appm; + + float fc_avg,fc_tx; + float meanebno,stdebno,eye_max; + int neyesamp,neyeoffset; + + #ifdef MODEMPROBE_ENABLE + #define NMP_NAME 26 + char mp_name_tmp[NMP_NAME+1]; /* Temporary string for modem probe trace names */ + #endif + + /* Estimate tone frequencies */ + fsk_demod_freq_est(fsk,fsk_in,fsk->f_est,M); + #ifdef MODEMPROBE_ENABLE + modem_probe_samp_f("t_f_est",fsk->f_est,M); + #endif + float *f_est; + if (fsk->freq_est_type) + f_est = fsk->f2_est; + else + f_est = fsk->f_est; + + /* update filter (integrator) memory by shifting in nin samples */ + for(m=0; mnorm_rx_timing; + fsk->norm_rx_timing = norm_rx_timing; + + /* Estimate sample clock offset */ + d_norm_rx_timing = norm_rx_timing - old_norm_rx_timing; + + /* Filter out big jumps in due to nin change */ + if(fabsf(d_norm_rx_timing) < .2){ + appm = 1e6*d_norm_rx_timing/(float)nsym; + fsk->ppm = .9*fsk->ppm + .1*appm; + } + + /* Figure out how many samples are needed the next modem cycle */ + /* Unless we're in burst mode or nin locked */ + if(!fsk->burst_mode && !fsk->lock_nin) { + if(norm_rx_timing > 0.25) + fsk->nin = N+Ts/2; + else if(norm_rx_timing < -0.25) + fsk->nin = N-Ts/2; + else + fsk->nin = N; + } + + modem_probe_samp_f("t_norm_rx_timing",&(norm_rx_timing),1); + modem_probe_samp_i("t_nin",&(fsk->nin),1); + + /* Re-sample the integrators with linear interpolation magic */ + int low_sample = (int)floorf(rx_timing); + float fract = rx_timing - (float)low_sample; + int high_sample = (int)ceilf(rx_timing); + + /* Vars for finding the max-of-4 for each bit */ + float tmax[M]; + + #ifdef EST_EBNO + meanebno = 0; + stdebno = 0; + #endif + + /* FINALLY, THE BITS */ + /* also, resample fx_int */ + for(i=0; imax){ + max = tmax[m]; + sym = m; + } + if(tmax[m]>1; + } + } + + /* Produce soft decision symbols */ + if(rx_sd != NULL){ + /* Convert symbols from max^2 into max */ + for( m=0; m 0.0) { + stdebno = sqrt(stdebno); + } else { + stdebno = 0.0; + } + + fsk->EbNodB = -6+(20*log10f((1e-6+meanebno)/(1e-6+stdebno))); + #else + fsk->EbNodB = 1; + #endif + + /* Write some statistics to the stats struct */ + + /* Save clock offset in ppm */ + fsk->stats->clock_offset = fsk->ppm; + + /* Calculate and save SNR from EbNodB estimate */ + + fsk->stats->snr_est = .5*fsk->stats->snr_est + .5*fsk->EbNodB;//+ 10*log10f(((float)Rs)/((float)Rs*M)); + + /* Save rx timing */ + fsk->stats->rx_timing = (float)rx_timing; + + /* Estimate and save frequency offset */ + fc_avg = fc_tx = 0.0; + for(int m=0; mf1_tx + m*fsk->fs_tx)/M; + } + fsk->stats->foff = fc_tx-fc_avg; + + /* Take a sample for the eye diagrams ---------------------------------- */ + + /* due to oversample rate P, we have too many samples for eye + trace. So lets output a decimated version. We use 2P + as we want two symbols worth of samples in trace */ + + int neyesamp_dec = ceil(((float)P*2)/MODEM_STATS_EYE_IND_MAX); + neyesamp = (P*2)/neyesamp_dec; + assert(neyesamp <= MODEM_STATS_EYE_IND_MAX); + fsk->stats->neyesamp = neyesamp; + + neyeoffset = high_sample+1; + + int eye_traces = MODEM_STATS_ET_MAX/M; + int ind; + + fsk->stats->neyetr = fsk->mode*eye_traces; + for( i=0; iMODEM_STATS_EYE_IND_MAX advance through integrated + samples newamp_dec at a time so we dont overflow rx_eye[][] + */ + ind = 2*P*i + neyeoffset + j*neyesamp_dec; + assert((i*M+m) < MODEM_STATS_ET_MAX); + assert(ind < (nsym+1)*P); + fsk->stats->rx_eye[i*M+m][j] = cabsolute(f_int[m][ind]); + } + } + } + + if (fsk->normalise_eye) { + eye_max = 0; + /* Normalize eye to +/- 1 */ + for(i=0; istats->rx_eye[i][j])>eye_max) + eye_max = fabsf(fsk->stats->rx_eye[i][j]); + + for(i=0; istats->rx_eye[i][j] = fsk->stats->rx_eye[i][j]/eye_max; + } + + fsk->stats->nr = 0; + fsk->stats->Nc = 0; + + for(i=0; istats->f_est[i] = f_est[i]; + + /* Dump some internal samples */ + modem_probe_samp_f("t_EbNodB",&(fsk->EbNodB),1); + modem_probe_samp_f("t_ppm",&(fsk->ppm),1); + modem_probe_samp_f("t_rx_timing",&(rx_timing),1); +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: fsk_demod/fsk_demod_sd + AUTHOR......: Brady O'Brien + DATE CREATED: 11 February 2016 + + FSK demodulator functions: + + fsk_demod...: complex samples in, bits out + fsk_demos_sd: complex samples in, soft decision symbols out + +\*---------------------------------------------------------------------------*/ + +void fsk_demod(struct FSK *fsk, uint8_t rx_bits[], COMP fsk_in[]){ + fsk_demod_core(fsk,rx_bits,NULL,fsk_in); +} + +void fsk_demod_sd(struct FSK *fsk, float rx_sd[], COMP fsk_in[]){ + fsk_demod_core(fsk,NULL,rx_sd,fsk_in); +} + +/* make sure stats have known values in case monitoring process reads stats before they are set */ +static void stats_init(struct FSK *fsk) { + /* Take a sample for the eye diagrams */ + int i,j,m; + int P = fsk->P; + int M = fsk->mode; + + /* due to oversample rate P, we have too many samples for eye + trace. So lets output a decimated version */ + + /* asserts below as we found some problems over-running eye matrix */ + + /* TODO: refactor eye tracing code here and in fsk_demod */ + + int neyesamp_dec = ceil(((float)P*2)/MODEM_STATS_EYE_IND_MAX); + int neyesamp = (P*2)/neyesamp_dec; + assert(neyesamp <= MODEM_STATS_EYE_IND_MAX); + fsk->stats->neyesamp = neyesamp; + + int eye_traces = MODEM_STATS_ET_MAX/M; + + fsk->stats->neyetr = fsk->mode*eye_traces; + for(i=0; istats->rx_eye[i*M+m][j] = 0; + } + } + } + + fsk->stats->rx_timing = fsk->stats->snr_est = 0; + +} + + +/* Set the FSK modem into burst demod mode */ + +void fsk_enable_burst_mode(struct FSK *fsk){ + fsk->nin = fsk->N; + fsk->burst_mode = 1; +} + +void fsk_clear_estimators(struct FSK *fsk){ + int i; + /* Clear freq estimator state */ + for(i=0; i < (fsk->Ndft); i++){ + fsk->Sf[i] = 0; + } + /* Reset timing diff correction */ + fsk->nin = fsk->N; +} + +void fsk_get_demod_stats(struct FSK *fsk, struct MODEM_STATS *stats){ + /* copy from internal stats, note we can't overwrite stats completely + as it has other states rqd by caller, also we want a consistent + interface across modem types for the freedv_api. + */ + + stats->clock_offset = fsk->stats->clock_offset; + stats->snr_est = fsk->stats->snr_est; // TODO: make this SNR not Eb/No + stats->rx_timing = fsk->stats->rx_timing; + stats->foff = fsk->stats->foff; + + stats->neyesamp = fsk->stats->neyesamp; + stats->neyetr = fsk->stats->neyetr; + memcpy(stats->rx_eye, fsk->stats->rx_eye, sizeof(stats->rx_eye)); + memcpy(stats->f_est, fsk->stats->f_est, fsk->mode*sizeof(float)); + + /* these fields not used for FSK so set to something sensible */ + + stats->sync = 0; + stats->nr = fsk->stats->nr; + stats->Nc = fsk->stats->Nc; +} + +/* + * Set the minimum and maximum frequencies at which the freq. estimator can find tones + */ +void fsk_set_freq_est_limits(struct FSK *fsk, int est_min, int est_max){ + assert(fsk != NULL); + assert(est_min >= -fsk->Fs/2); + assert(est_max <= fsk->Fs/2); + assert(est_max > est_min); + fsk->est_min = est_min; + fsk->est_max = est_max; +} + +void fsk_stats_normalise_eye(struct FSK *fsk, int normalise_enable) { + assert(fsk != NULL); + fsk->normalise_eye = normalise_enable; +} + +void fsk_set_freq_est_alg(struct FSK *fsk, int est_type) { + assert(fsk != NULL); + fsk->freq_est_type = est_type; +} + + + + + + + diff --git a/src/fsk.h b/src/fsk.h new file mode 100644 index 0000000..c21ec33 --- /dev/null +++ b/src/fsk.h @@ -0,0 +1,207 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: fsk.h + AUTHOR......: Brady O'Brien + DATE CREATED: 6 January 2016 + + C Implementation of 2FSK/4FSK modulator/demodulator, based on octave/fsk_horus.m + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2016 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + + +#ifndef __C2FSK_H +#define __C2FSK_H + +#include +#include "comp.h" +#include "kiss_fftr.h" +#include "modem_stats.h" + +#define MODE_2FSK 2 +#define MODE_4FSK 4 + +#define MODE_M_MAX 4 + +#define FSK_SCALE 16383 + +/* default internal parameters */ +#define FSK_DEFAULT_P 8 +#define FSK_DEFAULT_NSYM 50 + +struct FSK { + /* Static parameters set up by fsk_init */ + int Ndft; /* freq offset est fft */ + int Fs; /* sample freq */ + int N; /* processing buffer size */ + int Rs; /* symbol rate */ + int Ts; /* samples per symbol */ + int Nmem; /* size of extra mem for timing adj */ + int P; /* oversample rate for timing est/adj */ + int Nsym; /* Number of symbols spat out in a processing frame */ + int Nbits; /* Number of bits spat out in a processing frame */ + int f1_tx; /* f1 for modulator */ + int fs_tx; /* Space between TX freqs for modulatosr */ + int mode; /* 2FSK or 4FSK */ + float tc; /* time constant for smoothing FFTs */ + int est_min; /* Minimum frequency for freq. estimator */ + int est_max; /* Maximum frequency for freq. estimaotr */ + int est_space; /* Minimum frequency spacing for freq. estimator */ + float* hann_table; /* Precomputed or runtime computed hann window table */ + + /* Parameters used by demod */ + float* Sf; /* Average of magnitude spectrum */ + COMP phi_c[MODE_M_MAX]; /* phase of each demod local oscillator */ + COMP *f_dc; /* down converted samples */ + + kiss_fft_cfg fft_cfg; /* Config for KISS FFT, used in freq est */ + float norm_rx_timing; /* Normalized RX timing */ + + + /* Parameters used by mod */ + COMP tx_phase_c; /* TX phase, but complex */ + + /* Statistics generated by demod */ + float EbNodB; /* Estimated EbNo in dB */ + float f_est[MODE_M_MAX]; /* Estimated frequencies (peak method) */ + float f2_est[MODE_M_MAX];/* Estimated frequencies (mask method) */ + int freq_est_type; /* which estimator to use */ + float ppm; /* Estimated PPM clock offset */ + + /* Parameters used by mod/demod and driving code */ + int nin; /* Number of samples to feed the next demod cycle */ + int burst_mode; /* enables/disables 'burst' mode */ + int lock_nin; /* locks nin during testing */ + + /* modem statistic struct */ + struct MODEM_STATS *stats; + int normalise_eye; /* enables/disables normalisation of eye diagram */ +}; + +/* + * Create an FSK config/state struct from a set of config parameters + * + * int Fs - Sample frequency + * int Rs - Symbol rate + * int tx_f1 - '0' frequency + * int tx_fs - frequency spacing + */ +struct FSK * fsk_create(int Fs, int Rs, int M, int tx_f1, int tx_fs); + +/* + * Create an FSK config/state struct from a set of config parameters + * + * int Fs - Sample frequency + * int Rs - Symbol rate + * int tx_f1 - '0' frequency + * int tx_fs - frequency spacing + */ +struct FSK * fsk_create_hbr(int Fs, int Rs, int M, int P, int Nsym, int tx_f1, int tx_fs); + +/* + * Set the minimum and maximum frequencies at which the freq. estimator can find tones + */ +void fsk_set_freq_est_limits(struct FSK *fsk,int fmin, int fmax); + +/* + * Clear the estimator states + */ +void fsk_clear_estimators(struct FSK *fsk); + +/* + * Fills MODEM_STATS struct with demod statistics + */ +void fsk_get_demod_stats(struct FSK *fsk, struct MODEM_STATS *stats); + +/* + * Destroy an FSK state struct and free it's memory + * + * struct FSK *fsk - FSK config/state struct to be destroyed + */ +void fsk_destroy(struct FSK *fsk); + +/* + * Modulates Nsym bits into N samples + * + * struct FSK *fsk - FSK config/state struct, set up by fsk_create + * float fsk_out[] - Buffer for N samples of modulated FSK + * uint8_t tx_bits[] - Buffer containing Nbits unpacked bits + */ +void fsk_mod(struct FSK *fsk, float fsk_out[], uint8_t tx_bits[]); + +/* + * Modulates Nsym bits into N samples + * + * struct FSK *fsk - FSK config/state struct, set up by fsk_create + * float fsk_out[] - Buffer for N samples of "voltage" used to modulate an external VCO + * uint8_t tx_bits[] - Buffer containing Nbits unpacked bits + */ +void fsk_mod_ext_vco(struct FSK *fsk, float vco_out[], uint8_t tx_bits[]); + +/* + * Modulates Nsym bits into N complex samples + * + * struct FSK *fsk - FSK config/state struct, set up by fsk_create + * comp fsk_out[] - Buffer for N samples of modulated FSK + * uint8_t tx_bits[] - Buffer containing Nbits unpacked bits + */ +void fsk_mod_c(struct FSK *fsk, COMP fsk_out[], uint8_t tx_bits[]); + + +/* + * Returns the number of samples needed for the next fsk_demod() cycle + * + * struct FSK *fsk - FSK config/state struct, set up by fsk_create + * returns - number of samples to be fed into fsk_demod next cycle + */ +uint32_t fsk_nin(struct FSK *fsk); + + +/* + * Demodulate some number of FSK samples. The number of samples to be + * demodulated can be found by calling fsk_nin(). + * + * struct FSK *fsk - FSK config/state struct, set up by fsk_create + * uint8_t rx_bits[] - Buffer for Nbits unpacked bits to be written + * float fsk_in[] - nin samples of modulated FSK + */ +void fsk_demod(struct FSK *fsk, uint8_t rx_bits[],COMP fsk_in[]); + +/* + * Demodulate some number of FSK samples. The number of samples to be + * demodulated can be found by calling fsk_nin(). + * + * struct FSK *fsk - FSK config/state struct, set up by fsk_create + * float rx_bits[] - Buffer for Nbits soft decision bits to be written + * float fsk_in[] - nin samples of modualted FSK + */ +void fsk_demod_sd(struct FSK *fsk, float rx_bits[],COMP fsk_in[]); + +/* enables/disables normalisation of eye diagram samples */ + +void fsk_stats_normalise_eye(struct FSK *fsk, int normalise_enable); + +/* Set the FSK modem into burst demod mode */ + +void fsk_enable_burst_mode(struct FSK *fsk); + +/* Set freq est algorithm 0: peak 1:mask */ +void fsk_set_freq_est_alg(struct FSK *fsk, int est_type); + +#endif diff --git a/src/fsk_demod.c b/src/fsk_demod.c new file mode 100644 index 0000000..f245822 --- /dev/null +++ b/src/fsk_demod.c @@ -0,0 +1,445 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: fsk_demod.c + AUTHOR......: Brady O'Brien + DATE CREATED: 8 January 2016 + + C test driver for fsk_demod in fsk.c. Reads in a stream of 32 bit cpu endian + floats and writes out the detected bits + + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2016 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#define TEST_FRAME_SIZE 100 /* must match fsk_get_test_bits.c */ + +#include +#include +#include +#include +#include +#include +#include + +#include "fsk.h" +#include "codec2_fdmdv.h" +#include "modem_stats.h" + +/* cleanly exit when we get a SIGTERM */ + +void sig_handler(int signo) +{ + if (signo == SIGTERM) { + exit(0); + } +} + +int main(int argc,char *argv[]){ + struct FSK *fsk; + struct MODEM_STATS stats; + int Fs,Rs,M,P,stats_ctr,stats_loop; + float loop_time; + int enable_stats = 0; + FILE *fin,*fout; + uint8_t *bitbuf = NULL; + int16_t *rawbuf; + COMP *modbuf; + float *sdbuf = NULL; + int i,j,Ndft; + int soft_dec_mode = 0; + stats_loop = 0; + int complex_input = 1, bytes_per_sample = 2; + int stats_rate = 8; + int testframe_mode = 0; + P = 8; /* default */ + M = 0; + int fsk_lower = 0; + int fsk_upper = 0; + int user_fsk_lower = 0; + int user_fsk_upper = 0; + int nsym = FSK_DEFAULT_NSYM; + int mask = 0; + int tx_tone_separation = 100; + + int o = 0; + int opt_idx = 0; + while( o != -1 ){ + static struct option long_opts[] = { + {"help", no_argument, 0, 'h'}, + {"conv", required_argument, 0, 'p'}, + {"cs16", no_argument, 0, 'c'}, + {"cu8", no_argument, 0, 'd'}, + {"fsk_lower", required_argument, 0, 'b'}, + {"fsk_upper", required_argument, 0, 'u'}, + {"stats", optional_argument, 0, 't'}, + {"soft-dec", no_argument, 0, 's'}, + {"testframes",no_argument, 0, 'f'}, + {"nsym", required_argument, 0, 'n'}, + {"mask", required_argument, 0, 'm'}, + {0, 0, 0, 0} + }; + + o = getopt_long(argc,argv,"fhlp:cdt::sb:u:m",long_opts,&opt_idx); + + switch(o){ + case 'c': + complex_input = 2; + bytes_per_sample = 2; + break; + case 'd': + complex_input = 2; + bytes_per_sample = 1; + break; + case 'f': + testframe_mode = 1; + break; + case 't': + enable_stats = 1; + if(optarg != NULL){ + stats_rate = atoi(optarg); + if(stats_rate == 0){ + stats_rate = 8; + } + } + break; + case 's': + soft_dec_mode = 1; + break; + case 'p': + P = atoi(optarg); + break; + case 'b': + if (optarg != NULL) { + fsk_lower = atoi(optarg); + user_fsk_lower = 1; + } + break; + case 'u': + if (optarg != NULL){ + fsk_upper = atoi(optarg); + user_fsk_upper = 1; + } + break; + case 'n': + if (optarg != NULL) { + nsym = atoi(optarg); + } + break; + case 'm': + mask = 1; + tx_tone_separation = atoi(optarg); + break; + case 'h': + case '?': + goto helpmsg; + break; + } + } + int dx = optind; + + if( (argc - dx) < 5){ + fprintf(stderr, "Too few arguments\n"); + goto helpmsg; + } + + if( (argc - dx) > 5) { + fprintf(stderr, "Too many arguments\n"); + helpmsg: + fprintf(stderr,"usage: %s [options] (2|4) SampleRate SymbolRate InputModemRawFile OutputFile\n",argv[0]); + fprintf(stderr," -c --cs16 The raw input file will be in complex signed 16 bit format.\n"); + fprintf(stderr," -d --cu8 The raw input file will be in complex unsigned 8 bit format.\n"); + fprintf(stderr," If neither -c nor -d are used, the input should be in signed 16 bit format.\n"); + fprintf(stderr," -f --testframes Testframe mode, prints stats to stderr when a testframe is detected, if -t (JSON) \n"); + fprintf(stderr," is enabled stats will be in JSON format\n"); + fprintf(stderr," -t[r] --stats=[r] Print out modem statistics to stderr in JSON.\n"); + fprintf(stderr," r, if provided, sets the number of modem frames between statistic printouts.\n"); + fprintf(stderr," -s --soft-dec The output file will be in a soft-decision format, with one 32-bit float per bit.\n"); + fprintf(stderr," If -s is not used, the output will be in a 1 byte-per-bit format.\n"); + fprintf(stderr," -p P The demod internals operate at a rate of Fs/P, default %d\n", FSK_DEFAULT_P); + fprintf(stderr," P must be divisible by the symbol rate. Smaller P values will result in faster\n"); + fprintf(stderr," processing but lower demodulation performance. Default %d\n", FSK_DEFAULT_P); + fprintf(stderr," --fsk_lower freq lower limit of freq estimator (default 0 for real input, -Fs/2 for complex input)\n"); + fprintf(stderr," --fsk_upper freq upper limit of freq estimator (default Fs/2)\n"); + fprintf(stderr," --nsym Nsym number of symbols used for estimators. Default %d\n", FSK_DEFAULT_NSYM); + fprintf(stderr," --mask TxFreqSpace Use \"mask\" freq estimator (default is \"peak\" estimator)\n"); + exit(1); + } + + /* Extract parameters */ + M = atoi(argv[dx]); + Fs = atoi(argv[dx + 1]); + Rs = atoi(argv[dx + 2]); + + if( (M!=2) && (M!=4) ){ + fprintf(stderr,"Mode %d is not valid. Mode must be 2 or 4.\n",M); + goto helpmsg; + } + + /* Open files */ + if(strcmp(argv[dx + 3],"-")==0){ + fin = stdin; + }else{ + fin = fopen(argv[dx + 3],"r"); + } + + if(strcmp(argv[dx + 4],"-")==0){ + fout = stdout; + }else{ + fout = fopen(argv[dx + 4],"w"); + } + + /* set up FSK */ + #define UNUSED 1000 + fsk = fsk_create_hbr(Fs,Rs,M,P,nsym,UNUSED,tx_tone_separation); + + /* set freq estimator limits */ + if (!user_fsk_lower) { + if (complex_input == 1) + fsk_lower = 0; + else + fsk_lower = -Fs/2; + } + if (!user_fsk_upper) { + fsk_upper = Fs/2; + } + fprintf(stderr,"Setting estimator limits to %d to %d Hz.\n", fsk_lower, fsk_upper); + fsk_set_freq_est_limits(fsk,fsk_lower,fsk_upper); + + fsk_set_freq_est_alg(fsk, mask); + + if(fin==NULL || fout==NULL || fsk==NULL){ + fprintf(stderr,"Couldn't open files\n"); + exit(1); + } + + /* set up testframe mode */ + + int testframecnt, bitcnt, biterr, testframe_detected; + uint8_t *bitbuf_tx = NULL, *bitbuf_rx = NULL; + if (testframe_mode) { + bitbuf_tx = (uint8_t*)malloc(sizeof(uint8_t)*TEST_FRAME_SIZE); assert(bitbuf_tx != NULL); + bitbuf_rx = (uint8_t*)malloc(sizeof(uint8_t)*TEST_FRAME_SIZE); assert(bitbuf_rx != NULL); + + /* Generate known tx frame from known seed */ + + srand(158324); + for(i=0; iNbits); assert(sdbuf != NULL); + }else{ + bitbuf = (uint8_t*)malloc(sizeof(uint8_t)*fsk->Nbits); assert(bitbuf != NULL); + } + rawbuf = (int16_t*)malloc(bytes_per_sample*(fsk->N+fsk->Ts*2)*complex_input); + modbuf = (COMP*)malloc(sizeof(COMP)*(fsk->N+fsk->Ts*2)); + + /* set up signal handler so we can terminate gracefully */ + + if (signal(SIGTERM, sig_handler) == SIG_ERR) { + printf("\ncan't catch SIGTERM\n"); + } + + /* Demodulate! */ + + while( fread(rawbuf,bytes_per_sample*complex_input,fsk_nin(fsk),fin) == fsk_nin(fsk) ){ + /* convert input to a buffer of floats. Note scaling isn't really necessary for FSK */ + + if (complex_input == 1) { + /* S16 real input */ + for(i=0;iNbits; j++) { + for(i=0; ippm); + float *f_est; + if (fsk->freq_est_type) + f_est = fsk->f2_est; + else + f_est = fsk->f_est; + fprintf(stderr," \"f1_est\":%.1f, \"f2_est\":%.1f",f_est[0],f_est[1]); + + /* Print 4FSK stats if in 4FSK mode */ + + if(fsk->mode == 4){ + fprintf(stderr,", \"f3_est\":%.1f, \"f4_est\":%.1f",f_est[2],f_est[3]); + } + + if (testframe_mode == 0) { + /* Print the eye diagram */ + + fprintf(stderr,",\t\"eye_diagram\":["); + for(i=0;iNdft/2; + for(i=0; iSf)[i]); + if(iNbits,fout); + }else{ + fwrite(bitbuf,sizeof(uint8_t),fsk->Nbits,fout); + } + + if(fin == stdin || fout == stdin){ + fflush(fin); + fflush(fout); + } + } /* while(fread ...... */ + + if (testframe_mode) { + free(bitbuf_tx); + free(bitbuf_rx); + } + + if(soft_dec_mode){ + free(sdbuf); + }else{ + free(bitbuf); + } + + free(rawbuf); + free(modbuf); + + fclose(fin); + fclose(fout); + fsk_destroy(fsk); + + return 0; +} + diff --git a/src/fsk_get_test_bits.c b/src/fsk_get_test_bits.c new file mode 100644 index 0000000..c9448b2 --- /dev/null +++ b/src/fsk_get_test_bits.c @@ -0,0 +1,96 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: fsk_get_test_bits.c + AUTHOR......: Brady O'Brien + DATE CREATED: January 2016 + + Generates a pseudorandom sequence of bits for testing of fsk_mod and fsk_demod + +\*---------------------------------------------------------------------------*/ + + +/* + Copyright (C) 2016 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + + +#include +#include +#include "fsk.h" + +#define TEST_FRAME_SIZE 100 /* arbitrary chice, repeats after this + many bits, sets frame size for rx + processing */ + +int main(int argc,char *argv[]){ + int bitcnt, framecnt; + int framesize = TEST_FRAME_SIZE; + int i; + FILE *fout; + uint8_t *bitbuf; + + if(argc < 3){ + fprintf(stderr,"usage: %s OutputBitsOnePerByte numBits [framesize]\n",argv[0]); + exit(1); + } + + if (argc == 4){ + framesize = atoi(argv[3]); + fprintf(stderr, "Using custom frame size of %d bits\n", framesize); + } + + /* Extract parameters */ + bitcnt = atoi(argv[2]); + framecnt = bitcnt/framesize; + if (framecnt == 0) { + fprintf(stderr,"Need a minimum of %d bits\n", framesize); + exit(1); + } + + if(strcmp(argv[1],"-")==0){ + fout = stdout; + }else{ + fout = fopen(argv[1],"w"); + } + + if(fout==NULL){ + fprintf(stderr,"Couldn't open output file: %s\n", argv[1]); + goto cleanup; + } + + /* allocate buffers for processing */ + bitbuf = (uint8_t*)alloca(sizeof(uint8_t)*framesize); + + /* Generate buffer of test frame bits from known seed */ + srand(158324); + for(i=0; i. +*/ + +#include +#include +#include +#include "fsk.h" +#include "codec2_fdmdv.h" + +int main(int argc,char *argv[]){ + struct FSK *fsk; + int Fs,Rs,f1,fs,M; + int i; + int p, user_p = 0; + FILE *fin,*fout; + uint8_t *bitbuf; + int16_t *rawbuf; + float *modbuf; + + char usage[] = "usage: %s [-p P] Mode SampleFreq SymbolFreq TxFreq1 TxFreqSpace InputOneBitPerCharFile OutputModRawFile\n"; + + int opt; + while ((opt = getopt(argc, argv, "p:")) != -1) { + switch (opt) { + case 'p': + p = atoi(optarg); + user_p = 1; + break; + default: + fprintf(stderr, usage, argv[0]); + exit(1); + } + } + + if (argc<8){ + fprintf(stderr, usage, argv[0]); + exit(1); + } + + /* Extract parameters */ + M = atoi(argv[optind++]); + Fs = atoi(argv[optind++]); + Rs = atoi(argv[optind++]); + f1 = atoi(argv[optind++]); + fs = atoi(argv[optind++]); + + if(strcmp(argv[optind],"-")==0){ + fin = stdin; + }else{ + fin = fopen(argv[optind],"r"); + } + optind++; + + if(strcmp(argv[optind],"-")==0){ + fout = stdout; + }else{ + fout = fopen(argv[optind],"w"); + } + + /* p is not actually used for the modulator, but we need to set it for fsk_create() to be happy */ + if (!user_p) + p = Fs/Rs; + + /* set up FSK */ + fsk = fsk_create_hbr(Fs,Rs,M,p,FSK_DEFAULT_NSYM,f1,fs); + + if(fin==NULL || fout==NULL || fsk==NULL){ + fprintf(stderr,"Couldn't open test vector files\n"); + goto cleanup; + } + + + /* allocate buffers for processing */ + bitbuf = (uint8_t*)malloc(sizeof(uint8_t)*fsk->Nbits); + rawbuf = (int16_t*)malloc(sizeof(int16_t)*fsk->N); + modbuf = (float*)malloc(sizeof(float)*fsk->N); + + /* Modulate! */ + while( fread(bitbuf,sizeof(uint8_t),fsk->Nbits,fin) == fsk->Nbits ){ + fsk_mod(fsk,modbuf,bitbuf); + for(i=0; iN; i++){ + rawbuf[i] = (int16_t)(modbuf[i]*(float)FDMDV_SCALE); + } + fwrite(rawbuf,sizeof(int16_t),fsk->N,fout); + + if(fin == stdin || fout == stdin){ + fflush(fin); + fflush(fout); + } + } + free(bitbuf); + free(rawbuf); + free(modbuf); + + cleanup: + fclose(fin); + fclose(fout); + fsk_destroy(fsk); + exit(0); +} diff --git a/src/fsk_put_test_bits.c b/src/fsk_put_test_bits.c new file mode 100644 index 0000000..e004994 --- /dev/null +++ b/src/fsk_put_test_bits.c @@ -0,0 +1,147 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: fsk_get_test_bits.c + AUTHOR......: Brady O'Brien + DATE CREATED: January 2016 + + Generates a pseudorandom sequence of bits for testing of fsk_mod and + fsk_demod. + +\*---------------------------------------------------------------------------*/ + + +/* + Copyright (C) 2016 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include +#include +#include +#include "fsk.h" + +#define TEST_FRAME_SIZE 100 /* must match fsk_get_test_bits.c */ + +#define VALID_PACKET_BER_THRESH 0.1 + +int main(int argc,char *argv[]){ + int bitcnt,biterr,i,errs,packetcnt; + int framesize = TEST_FRAME_SIZE; + float valid_packet_ber_thresh = VALID_PACKET_BER_THRESH; + int packet_pass_thresh = 0; + float ber_pass_thresh = 0; + FILE *fin; + uint8_t *bitbuf_tx, *bitbuf_rx, abit; + int verbose = 1; + + char usage[] = "usage: %s [-f frameSizeBits] [-t VaildFrameBERThreshold] [-b BERPass] [-p numPacketsPass] InputOneBitPerByte\n"; + + int opt; + while ((opt = getopt(argc, argv, "f:b:p:hqt:")) != -1) { + switch (opt) { + case 't': + valid_packet_ber_thresh = atof(optarg); + break; + case 'b': + ber_pass_thresh = atof(optarg); + break; + case 'p': + packet_pass_thresh = atoi(optarg); + break; + case 'f': + framesize = atoi(optarg); + break; + case 'q': + verbose = 0; + break; + case 'h': + default: + fprintf(stderr, usage, argv[0]); + exit(1); + } + } + if (argc == 1) { + fprintf(stderr, usage, argv[0]); + exit(1); + } + char *fname = argv[optind++]; + if ((strcmp(fname,"-")==0) || (argc<2)){ + fin = stdin; + } else { + fin = fopen(fname,"r"); + } + + if(fin==NULL){ + fprintf(stderr,"Couldn't open input file: %s\n", argv[1]); + exit(1); + } + + /* allocate buffers for processing */ + bitbuf_tx = (uint8_t*)alloca(sizeof(uint8_t)*framesize); + bitbuf_rx = (uint8_t*)alloca(sizeof(uint8_t)*framesize); + + /* Generate known tx frame from known seed */ + srand(158324); + for(i=0; i0){ + + /* update sliding window of input bits */ + + for(i=0; i= packet_pass_thresh) && (ber <= ber_pass_thresh)) { + fprintf(stderr,"PASS\n"); + return 0; + } + else { + fprintf(stderr,"FAIL\n"); + return 1; + } +} diff --git a/src/golay23.c b/src/golay23.c new file mode 100644 index 0000000..158a099 --- /dev/null +++ b/src/golay23.c @@ -0,0 +1,311 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: golay23.c + AUTHOR......: Tomas Härdin & David Rowe + DATE CREATED: 3 March 2013 + + To test: + + src$ gcc golay23.c -o golay23 -Wall -O3 -DGOLAY23_UNITTEST && ./golay23 + src$ gcc golay23.c -o golay23 -Wall -O3 -DGOLAY23_UNITTEST -DRUN_TIME_TABLES && ./golay23 + src$ gcc golay23.c -o golay23 -Wall -O3 -DGOLAY23_UNITTEST -DNO_TABLES && ./golay23 + + To generate tables: + src$ gcc golay23.c -o golay23 -Wall -O3 -DGOLAY23_MAKETABLES && ./golay23 + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2016 Tomas Härdin & David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not,see . +*/ + +#include + +#ifdef GOLAY23_MAKETABLES +#define RUN_TIME_TABLES +#endif + +#ifndef NO_TABLES +#ifdef RUN_TIME_TABLES +int static encoding_table[4096]; +int static decoding_table[2048]; +static int inited = 0; +#else +//default is to use precomputed tables +#include "golayenctable.h" +#include "golaydectable.h" +#endif +#endif + +//since we want to avoid bit-reversing inside syndrome() we bit-reverse the polynomial instead +#define GOLAY_POLYNOMIAL 0xC75 //AE3 reversed + +int golay23_syndrome(int c) { + //could probably be done slightly smarter, but works + int x; + for (x = 11; x >= 0; x--) { + if (c & ((1<<11) << x)) { + c ^= GOLAY_POLYNOMIAL << x; + } + } + return c; +} + +#ifdef __GNUC__ +#define popcount __builtin_popcount +#elif defined(__MSC_VER) +#include +#define popcount __popcnt +#else +static int popcount(unsigned int c) { + int ret = 0; + while (c) { + if (c & 1) { + ret++; + } + c >>= 1; + } + return ret; +} +#endif + +#if defined(NO_TABLES) || defined(RUN_TIME_TABLES) +static int golay23_encode_no_tables(int c) { + c <<= 11; + return golay23_syndrome(c) | c; +} +#endif + +#ifdef NO_TABLES +static int unrotate(unsigned int c, int x) { + return ((c << x) & 0x7FFFFF) | (c >> (23 - x)); +} + +static int golay23_decode_no_tables(int c) { + //TODO: optimize? + int x; + c = unrotate(c, 12); + + for (x = 0; x < 23; x++) { + int t; + int s = golay23_syndrome(c); + + if (popcount(s) <= 3) { + return unrotate(c ^ s, x) & 0xFFF; + } + + for (t = 0; t < 23; t++) { + int c2 = c ^ (1 << t); + int s = golay23_syndrome(c2); + + if (popcount(s) <= 2) { + return unrotate(c2 ^ s, x) & 0xFFF; + } + } + + //rotate + c = (c >> 1) | ((c & 1) << 22); + } + + //shouldn't reach here.. + assert("Something is wrong with golay23_decode_no_tables().."); + return c & 0xFFF; +} +#endif + +void golay23_init(void) { +#ifdef RUN_TIME_TABLES + int x, y, z; + inited = 1; + for (x = 0; x < 4096; x++) { + encoding_table[x] = golay23_encode_no_tables(x); + } + + decoding_table[0] = 0; + //1-bit errors + for (x = 0; x < 23; x++) { + int d = 1<= 0 && c <= 0xFFF); +#ifdef RUN_TIME_TABLES + assert(inited); +#endif + +#ifdef NO_TABLES + return golay23_encode_no_tables(c); +#else + return encoding_table[c]; +#endif +} + +int golay23_decode(int c) { + assert(c >= 0 && c <= 0x7FFFFF); +#ifdef RUN_TIME_TABLES + assert(inited); +#endif + +#ifdef NO_TABLES + //duplicate old golay23_decode()'s shift + return unrotate(golay23_decode_no_tables(c), 11); +#else + //message is shifted 11 places left in the return value + return c ^ decoding_table[golay23_syndrome(c)]; +#endif +} + +int golay23_count_errors(int recd_codeword, int corrected_codeword) { + return popcount(recd_codeword ^ corrected_codeword); +} + +/** + * Table generation and testing code below + */ + +#ifdef GOLAY23_MAKETABLES +#include + +int main() { + int x; + //generate and dump + golay23_init(); + + FILE *enc = fopen("golayenctable.h", "w"); + FILE *dec = fopen("golaydectable.h", "w"); + + fprintf(enc, "/* Generated by golay23.c -DGOLAY23_MAKETABLE */\n\ +\n\ +const int static encoding_table[]={\n"); + for (x = 0; x < 4096; x++) { + fprintf(enc, x < 4095 ? " 0x%x,\n" : " 0x%x\n", encoding_table[x]); + } + fprintf(enc, "};\n"); + + fprintf(dec, "/* Generated by golay23.c -DGOLAY23_MAKETABLE */\n\ +\n\ +const int static decoding_table[]={\n"); + for (x = 0; x < 2048; x++) { + fprintf(dec, x < 2047 ? " 0x%x,\n" : " 0x%x\n", decoding_table[x]); + } + fprintf(dec, "};\n"); + + fclose(enc); + fclose(dec); + + return 0; +} + +#elif defined(GOLAY23_UNITTEST) +#include +#include +#include + +int main() { + int c; + + golay23_init(); + + //keep track of whether every single codeword has been checked + char *checkmask = malloc(1<<23); + memset(checkmask, 0, 1<<23); + + //step through all possible messages + for (c = 0; c < (1<<12); c++) { + int g23 = golay23_encode(c); + int x,y,z; + checkmask[g23] = 1; + int c2 = golay23_decode(g23) >> 11; + + printf("%03x -> %06x %03x\n", c, g23, c2); + + if (c != c2) { + printf("Bad!\n"); + exit(1); + } + + //test the code by flipping every combination of one, two and three bits + for (x = 0; x < 23; x++) { + int flipped = g23 ^ (1<> 11; + if (c != c2) { + printf("Bad!\n"); + + exit(1); + } + } + + for (x = 0; x < 22; x++) { + for (y = x+1; y < 23; y++) { + int flipped = g23 ^ (1<> 11; + if (c != c2) { + printf("Bad!\n"); + + exit(1); + } + } + } + + for (x = 0; x < 21; x++) { + for (y = x+1; y < 22; y++) { + for (z = y+1; z < 23; z++) { + int flipped = g23 ^ (1<> 11; + if (c != c2) { + printf("Bad!\n"); + exit(1); + } + } + } + } + } + + //did we check every codeword? + for (c = 0; c < (1<<23); c++) { + if (checkmask[c] != 1) { + printf("%06x unchecked!\n", c); + exit(1); + } + } + + printf("Everything checks out\n"); + free(checkmask); + return 0; +} +#endif diff --git a/src/golay23.h b/src/golay23.h new file mode 100644 index 0000000..25502c6 --- /dev/null +++ b/src/golay23.h @@ -0,0 +1,45 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: golay23.h + AUTHOR......: David Rowe + DATE CREATED: 3 March 2013 + + Header file for Golay FEC. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2013 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __GOLAY23__ +#define __GOLAY23__ + +#ifdef __cplusplus +extern "C" { +#endif + +void golay23_init(void); +int golay23_encode(int data); +int golay23_decode(int received_codeword); +int golay23_count_errors(int recd_codeword, int corrected_codeword); +int golay23_syndrome(int c); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/golaydectable.h b/src/golaydectable.h new file mode 100644 index 0000000..b7dc4ff --- /dev/null +++ b/src/golaydectable.h @@ -0,0 +1,2052 @@ +/* Generated by golay23.c -DGOLAY23_MAKETABLE */ + +static const int decoding_table[]={ + 0x0, + 0x1, + 0x2, + 0x3, + 0x4, + 0x5, + 0x6, + 0x7, + 0x8, + 0x9, + 0xa, + 0xb, + 0xc, + 0xd, + 0xe, + 0x24020, + 0x10, + 0x11, + 0x12, + 0x13, + 0x14, + 0x15, + 0x16, + 0x412000, + 0x18, + 0x19, + 0x1a, + 0x180800, + 0x1c, + 0x200300, + 0x48040, + 0x1480, + 0x20, + 0x21, + 0x22, + 0x23, + 0x24, + 0x25, + 0x26, + 0x24008, + 0x28, + 0x29, + 0x2a, + 0x24004, + 0x2c, + 0x24002, + 0x24001, + 0x24000, + 0x30, + 0x31, + 0x32, + 0x8180, + 0x34, + 0xc40, + 0x301000, + 0xc0200, + 0x38, + 0x43000, + 0x400600, + 0x210040, + 0x90080, + 0x508000, + 0x2900, + 0x24010, + 0x40, + 0x41, + 0x42, + 0x43, + 0x44, + 0x45, + 0x46, + 0x280080, + 0x48, + 0x49, + 0x4a, + 0x2500, + 0x4c, + 0x111000, + 0x48010, + 0x400a00, + 0x50, + 0x51, + 0x52, + 0x21200, + 0x54, + 0xc20, + 0x48008, + 0x104100, + 0x58, + 0x404080, + 0x48004, + 0x210020, + 0x48002, + 0xa2000, + 0x48000, + 0x48001, + 0x60, + 0x61, + 0x62, + 0x540000, + 0x64, + 0xc10, + 0x10300, + 0xb000, + 0x68, + 0x88200, + 0x1880, + 0x210010, + 0x602000, + 0x40180, + 0x180400, + 0x24040, + 0x70, + 0xc04, + 0x86000, + 0x210008, + 0xc01, + 0xc00, + 0x420080, + 0xc02, + 0x120100, + 0x210002, + 0x210001, + 0x210000, + 0x5200, + 0xc08, + 0x48020, + 0x210004, + 0x80, + 0x81, + 0x82, + 0x83, + 0x84, + 0x85, + 0x86, + 0x280040, + 0x88, + 0x89, + 0x8a, + 0x50200, + 0x8c, + 0xa800, + 0x500100, + 0x1410, + 0x90, + 0x91, + 0x92, + 0x8120, + 0x94, + 0x160000, + 0x4a00, + 0x1408, + 0x98, + 0x404040, + 0x222000, + 0x1404, + 0x90020, + 0x1402, + 0x1401, + 0x1400, + 0xa0, + 0xa1, + 0xa2, + 0x8110, + 0xa4, + 0x401200, + 0x42400, + 0x110800, + 0xa8, + 0x300400, + 0x1840, + 0x482000, + 0x90010, + 0x40140, + 0x208200, + 0x24080, + 0xb0, + 0x8102, + 0x8101, + 0x8100, + 0x90008, + 0x206000, + 0x420040, + 0x8104, + 0x90004, + 0x20a00, + 0x144000, + 0x8108, + 0x90000, + 0x90001, + 0x90002, + 0x1420, + 0xc0, + 0xc1, + 0xc2, + 0x280004, + 0xc4, + 0x280002, + 0x280001, + 0x280000, + 0xc8, + 0x404010, + 0x1820, + 0x128000, + 0x20600, + 0x40120, + 0x16000, + 0x280008, + 0xd0, + 0x404008, + 0x110400, + 0x42800, + 0x3100, + 0x18200, + 0x420020, + 0x280010, + 0x404001, + 0x404000, + 0x80300, + 0x404002, + 0x300800, + 0x404004, + 0x48080, + 0x1440, + 0xe0, + 0x32000, + 0x1808, + 0x4600, + 0x10c000, + 0x40108, + 0x420010, + 0x280020, + 0x1802, + 0x40104, + 0x1800, + 0x1801, + 0x40101, + 0x40100, + 0x1804, + 0x40102, + 0x240200, + 0x181000, + 0x420004, + 0x8140, + 0x420002, + 0xc80, + 0x420000, + 0x420001, + 0xa400, + 0x404020, + 0x1810, + 0x210080, + 0x90040, + 0x40110, + 0x420008, + 0x102200, + 0x100, + 0x101, + 0x102, + 0x103, + 0x104, + 0x105, + 0x106, + 0x41800, + 0x108, + 0x109, + 0x10a, + 0x2440, + 0x10c, + 0x200210, + 0x500080, + 0x98000, + 0x110, + 0x111, + 0x112, + 0x80a0, + 0x114, + 0x200208, + 0xa0400, + 0x104040, + 0x118, + 0x200204, + 0x15000, + 0x460000, + 0x200201, + 0x200200, + 0x2820, + 0x200202, + 0x120, + 0x121, + 0x122, + 0x8090, + 0x124, + 0x182000, + 0x10240, + 0x600400, + 0x128, + 0x410800, + 0x2c0000, + 0x101200, + 0x9400, + 0x400c0, + 0x2810, + 0x24100, + 0x130, + 0x8082, + 0x8081, + 0x8080, + 0x444000, + 0x31000, + 0x2808, + 0x8084, + 0x120040, + 0x84400, + 0x2804, + 0x8088, + 0x2802, + 0x200220, + 0x2800, + 0x2801, + 0x140, + 0x141, + 0x142, + 0x2408, + 0x144, + 0x428000, + 0x10220, + 0x104010, + 0x148, + 0x2402, + 0x2401, + 0x2400, + 0x84800, + 0x400a0, + 0x221000, + 0x2404, + 0x150, + 0xd0000, + 0x600800, + 0x104004, + 0x3080, + 0x104002, + 0x104001, + 0x104000, + 0x120020, + 0x9800, + 0x80280, + 0x2410, + 0x410400, + 0x200240, + 0x48100, + 0x104008, + 0x160, + 0x205000, + 0x10204, + 0xa0800, + 0x10202, + 0x40088, + 0x10200, + 0x10201, + 0x120010, + 0x40084, + 0x40c000, + 0x2420, + 0x40081, + 0x40080, + 0x10208, + 0x40082, + 0x120008, + 0x402200, + 0x41400, + 0x80c0, + 0x288000, + 0xd00, + 0x10210, + 0x104020, + 0x120000, + 0x120001, + 0x120002, + 0x210100, + 0x120004, + 0x40090, + 0x2840, + 0x481000, + 0x180, + 0x181, + 0x182, + 0x8030, + 0x184, + 0x14400, + 0x500008, + 0x22200, + 0x188, + 0xa1000, + 0x500004, + 0x204800, + 0x500002, + 0x40060, + 0x500000, + 0x500001, + 0x190, + 0x8022, + 0x8021, + 0x8020, + 0x3040, + 0x480800, + 0x250000, + 0x8024, + 0x40c00, + 0x112000, + 0x80240, + 0x8028, + 0x2c000, + 0x200280, + 0x500010, + 0x1500, + 0x1a0, + 0x8012, + 0x8011, + 0x8010, + 0x220800, + 0x40048, + 0x85000, + 0x8014, + 0x6200, + 0x40044, + 0x30400, + 0x8018, + 0x40041, + 0x40040, + 0x500020, + 0x40042, + 0x8003, + 0x8002, + 0x8001, + 0x8000, + 0x100600, + 0x8006, + 0x8005, + 0x8004, + 0x601000, + 0x800a, + 0x8009, + 0x8008, + 0x90100, + 0x40050, + 0x2880, + 0x800c, + 0x1c0, + 0x100a00, + 0x64000, + 0x411000, + 0x3010, + 0x40028, + 0x8c00, + 0x280100, + 0x218000, + 0x40024, + 0x80210, + 0x2480, + 0x40021, + 0x40020, + 0x500040, + 0x40022, + 0x3004, + 0x220400, + 0x80208, + 0x8060, + 0x3000, + 0x3001, + 0x3002, + 0x104080, + 0x80202, + 0x404100, + 0x80200, + 0x80201, + 0x3008, + 0x40030, + 0x80204, + 0x30800, + 0x480400, + 0x4000c, + 0x302000, + 0x8050, + 0x40009, + 0x40008, + 0x10280, + 0x4000a, + 0x40005, + 0x40004, + 0x1900, + 0x40006, + 0x40001, + 0x40000, + 0x40003, + 0x40002, + 0x14800, + 0x8042, + 0x8041, + 0x8040, + 0x3020, + 0x40018, + 0x420100, + 0x8044, + 0x120080, + 0x40014, + 0x80220, + 0x8048, + 0x40011, + 0x40010, + 0x204400, + 0x40012, + 0x200, + 0x201, + 0x202, + 0x203, + 0x204, + 0x205, + 0x206, + 0x108400, + 0x208, + 0x209, + 0x20a, + 0x50080, + 0x20c, + 0x200110, + 0x83000, + 0x400840, + 0x210, + 0x211, + 0x212, + 0x21040, + 0x214, + 0x200108, + 0x4880, + 0xc0020, + 0x218, + 0x200104, + 0x400420, + 0xe000, + 0x200101, + 0x200100, + 0x130000, + 0x200102, + 0x220, + 0x221, + 0x222, + 0x202800, + 0x224, + 0x401080, + 0x10140, + 0xc0010, + 0x228, + 0x88040, + 0x400410, + 0x101100, + 0x140800, + 0x12400, + 0x208080, + 0x24200, + 0x230, + 0x114000, + 0x400408, + 0xc0004, + 0x2a000, + 0xc0002, + 0xc0001, + 0xc0000, + 0x400402, + 0x20880, + 0x400400, + 0x400401, + 0x5040, + 0x200120, + 0x400404, + 0xc0008, + 0x240, + 0x241, + 0x242, + 0x21010, + 0x244, + 0x46000, + 0x10120, + 0x400808, + 0x248, + 0x88020, + 0x304000, + 0x400804, + 0x20480, + 0x400802, + 0x400801, + 0x400800, + 0x250, + 0x21002, + 0x21001, + 0x21000, + 0x580000, + 0x18080, + 0x202400, + 0x21004, + 0x12800, + 0x140400, + 0x80180, + 0x21008, + 0x5020, + 0x200140, + 0x48200, + 0x400810, + 0x260, + 0x88008, + 0x10104, + 0x4480, + 0x10102, + 0x320000, + 0x10100, + 0x10101, + 0x88001, + 0x88000, + 0x62000, + 0x88002, + 0x5010, + 0x88004, + 0x10108, + 0x400820, + 0x240080, + 0x402100, + 0x108800, + 0x21020, + 0x5008, + 0xe00, + 0x10110, + 0xc0040, + 0x5004, + 0x88010, + 0x400440, + 0x210200, + 0x5000, + 0x5001, + 0x5002, + 0x102080, + 0x280, + 0x281, + 0x282, + 0x50008, + 0x284, + 0x401020, + 0x4810, + 0x22100, + 0x288, + 0x50002, + 0x50001, + 0x50000, + 0x20440, + 0x184000, + 0x208020, + 0x50004, + 0x290, + 0x82400, + 0x4804, + 0x700000, + 0x4802, + 0x18040, + 0x4800, + 0x4801, + 0x109000, + 0x20820, + 0x80140, + 0x50010, + 0x442000, + 0x200180, + 0x4808, + 0x1600, + 0x2a0, + 0x401004, + 0x1a0000, + 0x4440, + 0x401001, + 0x401000, + 0x208008, + 0x401002, + 0x6100, + 0x20810, + 0x208004, + 0x50020, + 0x208002, + 0x401008, + 0x208000, + 0x208001, + 0x240040, + 0x20808, + 0x13000, + 0x8300, + 0x100500, + 0x401010, + 0x4820, + 0xc0080, + 0x20801, + 0x20800, + 0x400480, + 0x20802, + 0x90200, + 0x20804, + 0x208010, + 0x102040, + 0x2c0, + 0x100900, + 0x40a000, + 0x4420, + 0x20408, + 0x18010, + 0x141000, + 0x280200, + 0x20404, + 0x203000, + 0x80110, + 0x50040, + 0x20400, + 0x20401, + 0x20402, + 0x400880, + 0x240020, + 0x18004, + 0x80108, + 0x21080, + 0x18001, + 0x18000, + 0x4840, + 0x18002, + 0x80102, + 0x404200, + 0x80100, + 0x80101, + 0x20410, + 0x18008, + 0x80104, + 0x102020, + 0x240010, + 0x4402, + 0x4401, + 0x4400, + 0x82800, + 0x401040, + 0x10180, + 0x4404, + 0x510000, + 0x88080, + 0x1a00, + 0x4408, + 0x20420, + 0x40300, + 0x208040, + 0x102010, + 0x240000, + 0x240001, + 0x240002, + 0x4410, + 0x240004, + 0x18020, + 0x420200, + 0x102008, + 0x240008, + 0x20840, + 0x80120, + 0x102004, + 0x5080, + 0x102002, + 0x102001, + 0x102000, + 0x300, + 0x301, + 0x302, + 0x484000, + 0x304, + 0x200018, + 0x10060, + 0x22080, + 0x308, + 0x200014, + 0x28800, + 0x101020, + 0x200011, + 0x200010, + 0x44400, + 0x200012, + 0x310, + 0x20000c, + 0x142000, + 0x10c00, + 0x200009, + 0x200008, + 0x409000, + 0x20000a, + 0x200005, + 0x200004, + 0x800c0, + 0x200006, + 0x200001, + 0x200000, + 0x200003, + 0x200002, + 0x320, + 0x60400, + 0x10044, + 0x101008, + 0x10042, + 0xc800, + 0x10040, + 0x10041, + 0x6080, + 0x101002, + 0x101001, + 0x101000, + 0x4a0000, + 0x200030, + 0x10048, + 0x101004, + 0x81800, + 0x402040, + 0x224000, + 0x8280, + 0x100480, + 0x200028, + 0x10050, + 0xc0100, + 0x58000, + 0x200024, + 0x400500, + 0x101010, + 0x200021, + 0x200020, + 0x2a00, + 0x200022, + 0x340, + 0x100880, + 0x10024, + 0x248000, + 0x10022, + 0x81400, + 0x10020, + 0x10021, + 0x441000, + 0x34000, + 0x80090, + 0x2600, + 0x10a000, + 0x200050, + 0x10028, + 0x400900, + 0xc400, + 0x402020, + 0x80088, + 0x21100, + 0x60800, + 0x200048, + 0x10030, + 0x104200, + 0x80082, + 0x200044, + 0x80080, + 0x80081, + 0x200041, + 0x200040, + 0x80084, + 0x200042, + 0x10006, + 0x402010, + 0x10004, + 0x10005, + 0x10002, + 0x10003, + 0x10000, + 0x10001, + 0x200c00, + 0x88100, + 0x1000c, + 0x101040, + 0x1000a, + 0x40280, + 0x10008, + 0x10009, + 0x402001, + 0x402000, + 0x10014, + 0x402002, + 0x10012, + 0x402004, + 0x10010, + 0x10011, + 0x120200, + 0x402008, + 0x800a0, + 0x44800, + 0x5100, + 0x200060, + 0x10018, + 0x28400, + 0x380, + 0x100840, + 0x201400, + 0x22004, + 0xc8000, + 0x22002, + 0x22001, + 0x22000, + 0x6020, + 0x408400, + 0x80050, + 0x50100, + 0x11800, + 0x200090, + 0x500200, + 0x22008, + 0x430000, + 0x45000, + 0x80048, + 0x8220, + 0x100420, + 0x200088, + 0x4900, + 0x22010, + 0x80042, + 0x200084, + 0x80040, + 0x80041, + 0x200081, + 0x200080, + 0x80044, + 0x200082, + 0x6008, + 0x290000, + 0x440800, + 0x8210, + 0x100410, + 0x401100, + 0x100c0, + 0x22020, + 0x6000, + 0x6001, + 0x6002, + 0x101080, + 0x6004, + 0x40240, + 0x208100, + 0x80c00, + 0x100404, + 0x8202, + 0x8201, + 0x8200, + 0x100400, + 0x100401, + 0x100402, + 0x8204, + 0x6010, + 0x20900, + 0x80060, + 0x8208, + 0x100408, + 0x2000a0, + 0x61000, + 0x414000, + 0x100801, + 0x100800, + 0x80018, + 0x100802, + 0x604000, + 0x100804, + 0x100a0, + 0x22040, + 0x80012, + 0x100808, + 0x80010, + 0x80011, + 0x20500, + 0x40220, + 0x80014, + 0xd000, + 0x8000a, + 0x100810, + 0x80008, + 0x80009, + 0x3200, + 0x18100, + 0x8000c, + 0x440400, + 0x80002, + 0x80003, + 0x80000, + 0x80001, + 0x80006, + 0x2000c0, + 0x80004, + 0x80005, + 0x29000, + 0x100820, + 0x10084, + 0x4500, + 0x10082, + 0x40208, + 0x10080, + 0x10081, + 0x6040, + 0x40204, + 0x80030, + 0x620000, + 0x40201, + 0x40200, + 0x10088, + 0x40202, + 0x240100, + 0x402080, + 0x80028, + 0x8240, + 0x100440, + 0xa4000, + 0x10090, + 0x201800, + 0x80022, + 0x11400, + 0x80020, + 0x80021, + 0x408800, + 0x40210, + 0x80024, + 0x102100, + 0x400, + 0x401, + 0x402, + 0x403, + 0x404, + 0x405, + 0x406, + 0x108200, + 0x408, + 0x409, + 0x40a, + 0x2140, + 0x40c, + 0x4c0000, + 0x210800, + 0x1090, + 0x410, + 0x411, + 0x412, + 0x244000, + 0x414, + 0x860, + 0xa0100, + 0x1088, + 0x418, + 0x38000, + 0x400220, + 0x1084, + 0x106000, + 0x1082, + 0x1081, + 0x1080, + 0x420, + 0x421, + 0x422, + 0x91000, + 0x424, + 0x850, + 0x42080, + 0x600100, + 0x428, + 0x300080, + 0x400210, + 0x48800, + 0x9100, + 0x12200, + 0x180040, + 0x24400, + 0x430, + 0x844, + 0x400208, + 0x122000, + 0x841, + 0x840, + 0x1c000, + 0x842, + 0x400202, + 0x84100, + 0x400200, + 0x400201, + 0x260000, + 0x848, + 0x400204, + 0x10a0, + 0x440, + 0x441, + 0x442, + 0x2108, + 0x444, + 0x830, + 0x405000, + 0x70000, + 0x448, + 0x2102, + 0x2101, + 0x2100, + 0x20280, + 0x20c000, + 0x180020, + 0x2104, + 0x450, + 0x824, + 0x110080, + 0x488000, + 0x821, + 0x820, + 0x202200, + 0x822, + 0x281000, + 0x140200, + 0x24800, + 0x2110, + 0x410100, + 0x828, + 0x48400, + 0x10c0, + 0x460, + 0x814, + 0x228000, + 0x4280, + 0x811, + 0x810, + 0x180008, + 0x812, + 0x54000, + 0x421000, + 0x180004, + 0x2120, + 0x180002, + 0x818, + 0x180000, + 0x180001, + 0x805, + 0x804, + 0x41100, + 0x806, + 0x801, + 0x800, + 0x803, + 0x802, + 0xa080, + 0x80c, + 0x400240, + 0x210400, + 0x809, + 0x808, + 0x180010, + 0x80a, + 0x480, + 0x481, + 0x482, + 0x420800, + 0x484, + 0x14100, + 0x42020, + 0x1018, + 0x488, + 0x300020, + 0x8c000, + 0x1014, + 0x20240, + 0x1012, + 0x1011, + 0x1010, + 0x490, + 0x82200, + 0x110040, + 0x100c, + 0x608000, + 0x100a, + 0x1009, + 0x1008, + 0x40900, + 0x1006, + 0x1005, + 0x1004, + 0x1003, + 0x1002, + 0x1001, + 0x1000, + 0x4a0, + 0x300008, + 0x42004, + 0x4240, + 0x42002, + 0xa8000, + 0x42000, + 0x42001, + 0x300001, + 0x300000, + 0x30100, + 0x300002, + 0x404800, + 0x300004, + 0x42008, + 0x1030, + 0x25000, + 0x450000, + 0x280800, + 0x8500, + 0x100300, + 0x8c0, + 0x42010, + 0x1028, + 0xa040, + 0x300010, + 0x400280, + 0x1024, + 0x90400, + 0x1022, + 0x1021, + 0x1020, + 0x4c0, + 0x49000, + 0x110010, + 0x4220, + 0x20208, + 0x502000, + 0x8900, + 0x280400, + 0x20204, + 0x90800, + 0x640000, + 0x2180, + 0x20200, + 0x20201, + 0x20202, + 0x1050, + 0x110002, + 0x220100, + 0x110000, + 0x110001, + 0xc4000, + 0x8a0, + 0x110004, + 0x1048, + 0xa020, + 0x404400, + 0x110008, + 0x1044, + 0x20210, + 0x1042, + 0x1041, + 0x1040, + 0x480100, + 0x4202, + 0x4201, + 0x4200, + 0x211000, + 0x890, + 0x42040, + 0x4204, + 0xa010, + 0x300040, + 0x1c00, + 0x4208, + 0x20220, + 0x40500, + 0x180080, + 0x418000, + 0xa008, + 0x884, + 0x110020, + 0x4210, + 0x881, + 0x880, + 0x420400, + 0x882, + 0xa000, + 0xa001, + 0xa002, + 0xe0000, + 0xa004, + 0x888, + 0x204100, + 0x1060, + 0x500, + 0x501, + 0x502, + 0x2048, + 0x504, + 0x14080, + 0xa0010, + 0x600020, + 0x508, + 0x2042, + 0x2041, + 0x2040, + 0x9020, + 0x120800, + 0x44200, + 0x2044, + 0x510, + 0x501000, + 0xa0004, + 0x10a00, + 0xa0002, + 0x4a000, + 0xa0000, + 0xa0001, + 0x40880, + 0x84020, + 0x308000, + 0x2050, + 0x410040, + 0x200600, + 0xa0008, + 0x1180, + 0x520, + 0x60200, + 0x104800, + 0x600004, + 0x9008, + 0x600002, + 0x600001, + 0x600000, + 0x9004, + 0x84010, + 0x30080, + 0x2060, + 0x9000, + 0x9001, + 0x9002, + 0x600008, + 0x212000, + 0x84008, + 0x41040, + 0x8480, + 0x100280, + 0x940, + 0xa0020, + 0x600010, + 0x84001, + 0x84000, + 0x400300, + 0x84002, + 0x9010, + 0x84004, + 0x2c00, + 0x150000, + 0x540, + 0x200a, + 0x2009, + 0x2008, + 0x340000, + 0x81200, + 0x8880, + 0x200c, + 0x2003, + 0x2002, + 0x2001, + 0x2000, + 0x410010, + 0x2006, + 0x2005, + 0x2004, + 0xc200, + 0x220080, + 0x41020, + 0x2018, + 0x410008, + 0x920, + 0xa0040, + 0x104400, + 0x410004, + 0x2012, + 0x2011, + 0x2010, + 0x410000, + 0x410001, + 0x410002, + 0x2014, + 0x480080, + 0x118000, + 0x41010, + 0x2028, + 0x26000, + 0x910, + 0x10600, + 0x600040, + 0x200a00, + 0x2022, + 0x2021, + 0x2020, + 0x9040, + 0x40480, + 0x180100, + 0x2024, + 0x41002, + 0x904, + 0x41000, + 0x41001, + 0x901, + 0x900, + 0x41004, + 0x902, + 0x120400, + 0x84040, + 0x41008, + 0x2030, + 0x410020, + 0x908, + 0x204080, + 0x28200, + 0x580, + 0x14004, + 0x201200, + 0x1c0000, + 0x14001, + 0x14000, + 0x8840, + 0x14002, + 0x40810, + 0x408200, + 0x30020, + 0x20c0, + 0x282000, + 0x14008, + 0x500400, + 0x1110, + 0x40808, + 0x220040, + 0x406000, + 0x8420, + 0x100220, + 0x14010, + 0xa0080, + 0x1108, + 0x40800, + 0x40801, + 0x40802, + 0x1104, + 0x40804, + 0x1102, + 0x1101, + 0x1100, + 0x480040, + 0x3800, + 0x30008, + 0x8410, + 0x100210, + 0x14020, + 0x42100, + 0x600080, + 0x30002, + 0x300100, + 0x30000, + 0x30001, + 0x9080, + 0x40440, + 0x30004, + 0x80a00, + 0x100204, + 0x8402, + 0x8401, + 0x8400, + 0x100200, + 0x100201, + 0x100202, + 0x8404, + 0x40820, + 0x84080, + 0x30010, + 0x8408, + 0x100208, + 0x422000, + 0x204040, + 0x1120, + 0x480020, + 0x220010, + 0x8804, + 0x2088, + 0x8802, + 0x14040, + 0x8800, + 0x8801, + 0x105000, + 0x2082, + 0x2081, + 0x2080, + 0x20300, + 0x40420, + 0x8808, + 0x2084, + 0x220001, + 0x220000, + 0x110100, + 0x220002, + 0x3400, + 0x220004, + 0x8810, + 0x440200, + 0x40840, + 0x220008, + 0x80600, + 0x2090, + 0x410080, + 0x188000, + 0x204020, + 0x1140, + 0x480000, + 0x480001, + 0x480002, + 0x4300, + 0x480004, + 0x40408, + 0x8820, + 0x121000, + 0x480008, + 0x40404, + 0x30040, + 0x20a0, + 0x40401, + 0x40400, + 0x204010, + 0x40402, + 0x480010, + 0x220020, + 0x41080, + 0x8440, + 0x100240, + 0x980, + 0x204008, + 0x92000, + 0xa100, + 0x11200, + 0x204004, + 0x500800, + 0x204002, + 0x40410, + 0x204000, + 0x204001, + 0x600, + 0x601, + 0x602, + 0x108004, + 0x604, + 0x108002, + 0x108001, + 0x108000, + 0x608, + 0x5800, + 0x400030, + 0x2a0000, + 0x200c0, + 0x12020, + 0x44100, + 0x108008, + 0x610, + 0x82080, + 0x400028, + 0x10900, + 0x51000, + 0x424000, + 0x202040, + 0x108010, + 0x400022, + 0x140040, + 0x400020, + 0x400021, + 0x88800, + 0x200500, + 0x400024, + 0x1280, + 0x620, + 0x60100, + 0x400018, + 0x40c0, + 0x284000, + 0x12008, + 0x21800, + 0x108020, + 0x400012, + 0x12004, + 0x400010, + 0x400011, + 0x12001, + 0x12000, + 0x400014, + 0x12002, + 0x40000a, + 0x209000, + 0x400008, + 0x400009, + 0x100180, + 0xa40, + 0x40000c, + 0xc0400, + 0x400002, + 0x400003, + 0x400000, + 0x400001, + 0x400006, + 0x12010, + 0x400004, + 0x400005, + 0x640, + 0x610000, + 0xc0800, + 0x40a0, + 0x20088, + 0x81100, + 0x202010, + 0x108040, + 0x20084, + 0x140010, + 0x19000, + 0x2300, + 0x20080, + 0x20081, + 0x20082, + 0x400c00, + 0xc100, + 0x140008, + 0x202004, + 0x21400, + 0x202002, + 0xa20, + 0x202000, + 0x202001, + 0x140001, + 0x140000, + 0x400060, + 0x140002, + 0x20090, + 0x140004, + 0x202008, + 0x94000, + 0x103000, + 0x4082, + 0x4081, + 0x4080, + 0x448000, + 0xa10, + 0x10500, + 0x4084, + 0x200900, + 0x88400, + 0x400050, + 0x4088, + 0x200a0, + 0x12040, + 0x180200, + 0x241000, + 0xb0000, + 0xa04, + 0x400048, + 0x4090, + 0xa01, + 0xa00, + 0x202020, + 0xa02, + 0x400042, + 0x140020, + 0x400040, + 0x400041, + 0x5400, + 0xa08, + 0x400044, + 0x28100, + 0x680, + 0x82010, + 0x201100, + 0x4060, + 0x20048, + 0x240800, + 0x490000, + 0x108080, + 0x20044, + 0x408100, + 0x102800, + 0x50400, + 0x20040, + 0x20041, + 0x20042, + 0x1210, + 0x82001, + 0x82000, + 0x68000, + 0x82002, + 0x100120, + 0x82004, + 0x4c00, + 0x1208, + 0x214000, + 0x82008, + 0x4000a0, + 0x1204, + 0x20050, + 0x1202, + 0x1201, + 0x1200, + 0x18800, + 0x4042, + 0x4041, + 0x4040, + 0x100110, + 0x401400, + 0x42200, + 0x4044, + 0xc1000, + 0x300200, + 0x400090, + 0x4048, + 0x20060, + 0x12080, + 0x208400, + 0x80900, + 0x100104, + 0x82020, + 0x400088, + 0x4050, + 0x100100, + 0x100101, + 0x100102, + 0x230000, + 0x400082, + 0x20c00, + 0x400080, + 0x400081, + 0x100108, + 0x4c000, + 0x400084, + 0x1220, + 0x2000c, + 0x4022, + 0x4021, + 0x4020, + 0x20008, + 0x20009, + 0x2000a, + 0x4024, + 0x20004, + 0x20005, + 0x20006, + 0x4028, + 0x20000, + 0x20001, + 0x20002, + 0x20003, + 0x401800, + 0x82040, + 0x110200, + 0x4030, + 0x20018, + 0x18400, + 0x202080, + 0x440100, + 0x20014, + 0x140080, + 0x80500, + 0x208800, + 0x20010, + 0x20011, + 0x20012, + 0x1240, + 0x4003, + 0x4002, + 0x4001, + 0x4000, + 0x20028, + 0x4006, + 0x4005, + 0x4004, + 0x20024, + 0x400a, + 0x4009, + 0x4008, + 0x20020, + 0x20021, + 0x20022, + 0x400c, + 0x240400, + 0x4012, + 0x4011, + 0x4010, + 0x100140, + 0xa80, + 0x89000, + 0x4014, + 0xa200, + 0x11100, + 0x4000c0, + 0x4018, + 0x20030, + 0x680000, + 0x50800, + 0x102400, + 0x700, + 0x60020, + 0x201080, + 0x10810, + 0x402800, + 0x81040, + 0x44008, + 0x108100, + 0x190000, + 0x408080, + 0x44004, + 0x2240, + 0x44002, + 0x200410, + 0x44000, + 0x44001, + 0xc040, + 0x10802, + 0x10801, + 0x10800, + 0x1000a0, + 0x200408, + 0xa0200, + 0x10804, + 0x23000, + 0x200404, + 0x400120, + 0x10808, + 0x200401, + 0x200400, + 0x44010, + 0x200402, + 0x60001, + 0x60000, + 0x8a000, + 0x60002, + 0x100090, + 0x60004, + 0x10440, + 0x600200, + 0x200840, + 0x60008, + 0x400110, + 0x101400, + 0x9200, + 0x12100, + 0x44020, + 0x80880, + 0x100084, + 0x60010, + 0x400108, + 0x10820, + 0x100080, + 0x100081, + 0x100082, + 0x7000, + 0x400102, + 0x84200, + 0x400100, + 0x400101, + 0x100088, + 0x200420, + 0x400104, + 0x28040, + 0xc010, + 0x81004, + 0x520000, + 0x2208, + 0x81001, + 0x81000, + 0x10420, + 0x81002, + 0x200820, + 0x2202, + 0x2201, + 0x2200, + 0x20180, + 0x81008, + 0x44040, + 0x2204, + 0xc000, + 0xc001, + 0xc002, + 0x10840, + 0xc004, + 0x81010, + 0x202100, + 0x440080, + 0xc008, + 0x140100, + 0x80480, + 0x2210, + 0x410200, + 0x200440, + 0x101800, + 0x28020, + 0x200808, + 0x60040, + 0x10404, + 0x4180, + 0x10402, + 0x81020, + 0x10400, + 0x10401, + 0x200800, + 0x200801, + 0x200802, + 0x2220, + 0x200804, + 0x504000, + 0x10408, + 0x28010, + 0xc020, + 0x402400, + 0x41200, + 0x380000, + 0x1000c0, + 0xb00, + 0x10410, + 0x28008, + 0x200810, + 0x11080, + 0x400140, + 0x28004, + 0xc2000, + 0x28002, + 0x28001, + 0x28000, + 0x201002, + 0x408008, + 0x201000, + 0x201001, + 0x100030, + 0x14200, + 0x201004, + 0x22400, + 0x408001, + 0x408000, + 0x201008, + 0x408002, + 0x20140, + 0x408004, + 0x44080, + 0x80820, + 0x100024, + 0x82100, + 0x201010, + 0x10880, + 0x100020, + 0x100021, + 0x100022, + 0x440040, + 0x40a00, + 0x408010, + 0x80440, + 0x124000, + 0x100028, + 0x200480, + 0x1a000, + 0x1300, + 0x100014, + 0x60080, + 0x201020, + 0x4140, + 0x100010, + 0x100011, + 0x100012, + 0x80808, + 0x6400, + 0x408020, + 0x30200, + 0x80804, + 0x100018, + 0x80802, + 0x80801, + 0x80800, + 0x100004, + 0x100005, + 0x100006, + 0x8600, + 0x100000, + 0x100001, + 0x100002, + 0x100003, + 0x10000c, + 0x11040, + 0x400180, + 0x242000, + 0x100008, + 0x100009, + 0x10000a, + 0x80810, + 0x52000, + 0x100c00, + 0x201040, + 0x4120, + 0x20108, + 0x81080, + 0x8a00, + 0x440010, + 0x20104, + 0x408040, + 0x80410, + 0x2280, + 0x20100, + 0x20101, + 0x20102, + 0x310000, + 0xc080, + 0x220200, + 0x80408, + 0x440004, + 0x100060, + 0x440002, + 0x440001, + 0x440000, + 0x80402, + 0x11020, + 0x80400, + 0x80401, + 0x20110, + 0x6800, + 0x80404, + 0x440008, + 0x480200, + 0x4102, + 0x4101, + 0x4100, + 0x100050, + 0x20a000, + 0x10480, + 0x4104, + 0x200880, + 0x11010, + 0x148000, + 0x4108, + 0x20120, + 0x40600, + 0x403000, + 0x80840, + 0x100044, + 0x11008, + 0x22800, + 0x4110, + 0x100040, + 0x100041, + 0x100042, + 0x440020, + 0x11001, + 0x11000, + 0x80420, + 0x11002, + 0x100048, + 0x11004, + 0x204200, + 0x28080 +}; diff --git a/src/golayenctable.h b/src/golayenctable.h new file mode 100644 index 0000000..1574652 --- /dev/null +++ b/src/golayenctable.h @@ -0,0 +1,4100 @@ +/* Generated by golay23.c -DGOLAY23_MAKETABLE */ + +static const int encoding_table[]={ + 0x0, + 0xc75, + 0x149f, + 0x18ea, + 0x254b, + 0x293e, + 0x31d4, + 0x3da1, + 0x46e3, + 0x4a96, + 0x527c, + 0x5e09, + 0x63a8, + 0x6fdd, + 0x7737, + 0x7b42, + 0x81b3, + 0x8dc6, + 0x952c, + 0x9959, + 0xa4f8, + 0xa88d, + 0xb067, + 0xbc12, + 0xc750, + 0xcb25, + 0xd3cf, + 0xdfba, + 0xe21b, + 0xee6e, + 0xf684, + 0xfaf1, + 0x10366, + 0x10f13, + 0x117f9, + 0x11b8c, + 0x1262d, + 0x12a58, + 0x132b2, + 0x13ec7, + 0x14585, + 0x149f0, + 0x1511a, + 0x15d6f, + 0x160ce, + 0x16cbb, + 0x17451, + 0x17824, + 0x182d5, + 0x18ea0, + 0x1964a, + 0x19a3f, + 0x1a79e, + 0x1abeb, + 0x1b301, + 0x1bf74, + 0x1c436, + 0x1c843, + 0x1d0a9, + 0x1dcdc, + 0x1e17d, + 0x1ed08, + 0x1f5e2, + 0x1f997, + 0x206cc, + 0x20ab9, + 0x21253, + 0x21e26, + 0x22387, + 0x22ff2, + 0x23718, + 0x23b6d, + 0x2402f, + 0x24c5a, + 0x254b0, + 0x258c5, + 0x26564, + 0x26911, + 0x271fb, + 0x27d8e, + 0x2877f, + 0x28b0a, + 0x293e0, + 0x29f95, + 0x2a234, + 0x2ae41, + 0x2b6ab, + 0x2bade, + 0x2c19c, + 0x2cde9, + 0x2d503, + 0x2d976, + 0x2e4d7, + 0x2e8a2, + 0x2f048, + 0x2fc3d, + 0x305aa, + 0x309df, + 0x31135, + 0x31d40, + 0x320e1, + 0x32c94, + 0x3347e, + 0x3380b, + 0x34349, + 0x34f3c, + 0x357d6, + 0x35ba3, + 0x36602, + 0x36a77, + 0x3729d, + 0x37ee8, + 0x38419, + 0x3886c, + 0x39086, + 0x39cf3, + 0x3a152, + 0x3ad27, + 0x3b5cd, + 0x3b9b8, + 0x3c2fa, + 0x3ce8f, + 0x3d665, + 0x3da10, + 0x3e7b1, + 0x3ebc4, + 0x3f32e, + 0x3ff5b, + 0x401ed, + 0x40d98, + 0x41572, + 0x41907, + 0x424a6, + 0x428d3, + 0x43039, + 0x43c4c, + 0x4470e, + 0x44b7b, + 0x45391, + 0x45fe4, + 0x46245, + 0x46e30, + 0x476da, + 0x47aaf, + 0x4805e, + 0x48c2b, + 0x494c1, + 0x498b4, + 0x4a515, + 0x4a960, + 0x4b18a, + 0x4bdff, + 0x4c6bd, + 0x4cac8, + 0x4d222, + 0x4de57, + 0x4e3f6, + 0x4ef83, + 0x4f769, + 0x4fb1c, + 0x5028b, + 0x50efe, + 0x51614, + 0x51a61, + 0x527c0, + 0x52bb5, + 0x5335f, + 0x53f2a, + 0x54468, + 0x5481d, + 0x550f7, + 0x55c82, + 0x56123, + 0x56d56, + 0x575bc, + 0x579c9, + 0x58338, + 0x58f4d, + 0x597a7, + 0x59bd2, + 0x5a673, + 0x5aa06, + 0x5b2ec, + 0x5be99, + 0x5c5db, + 0x5c9ae, + 0x5d144, + 0x5dd31, + 0x5e090, + 0x5ece5, + 0x5f40f, + 0x5f87a, + 0x60721, + 0x60b54, + 0x613be, + 0x61fcb, + 0x6226a, + 0x62e1f, + 0x636f5, + 0x63a80, + 0x641c2, + 0x64db7, + 0x6555d, + 0x65928, + 0x66489, + 0x668fc, + 0x67016, + 0x67c63, + 0x68692, + 0x68ae7, + 0x6920d, + 0x69e78, + 0x6a3d9, + 0x6afac, + 0x6b746, + 0x6bb33, + 0x6c071, + 0x6cc04, + 0x6d4ee, + 0x6d89b, + 0x6e53a, + 0x6e94f, + 0x6f1a5, + 0x6fdd0, + 0x70447, + 0x70832, + 0x710d8, + 0x71cad, + 0x7210c, + 0x72d79, + 0x73593, + 0x739e6, + 0x742a4, + 0x74ed1, + 0x7563b, + 0x75a4e, + 0x767ef, + 0x76b9a, + 0x77370, + 0x77f05, + 0x785f4, + 0x78981, + 0x7916b, + 0x79d1e, + 0x7a0bf, + 0x7acca, + 0x7b420, + 0x7b855, + 0x7c317, + 0x7cf62, + 0x7d788, + 0x7dbfd, + 0x7e65c, + 0x7ea29, + 0x7f2c3, + 0x7feb6, + 0x803da, + 0x80faf, + 0x81745, + 0x81b30, + 0x82691, + 0x82ae4, + 0x8320e, + 0x83e7b, + 0x84539, + 0x8494c, + 0x851a6, + 0x85dd3, + 0x86072, + 0x86c07, + 0x874ed, + 0x87898, + 0x88269, + 0x88e1c, + 0x896f6, + 0x89a83, + 0x8a722, + 0x8ab57, + 0x8b3bd, + 0x8bfc8, + 0x8c48a, + 0x8c8ff, + 0x8d015, + 0x8dc60, + 0x8e1c1, + 0x8edb4, + 0x8f55e, + 0x8f92b, + 0x900bc, + 0x90cc9, + 0x91423, + 0x91856, + 0x925f7, + 0x92982, + 0x93168, + 0x93d1d, + 0x9465f, + 0x94a2a, + 0x952c0, + 0x95eb5, + 0x96314, + 0x96f61, + 0x9778b, + 0x97bfe, + 0x9810f, + 0x98d7a, + 0x99590, + 0x999e5, + 0x9a444, + 0x9a831, + 0x9b0db, + 0x9bcae, + 0x9c7ec, + 0x9cb99, + 0x9d373, + 0x9df06, + 0x9e2a7, + 0x9eed2, + 0x9f638, + 0x9fa4d, + 0xa0516, + 0xa0963, + 0xa1189, + 0xa1dfc, + 0xa205d, + 0xa2c28, + 0xa34c2, + 0xa38b7, + 0xa43f5, + 0xa4f80, + 0xa576a, + 0xa5b1f, + 0xa66be, + 0xa6acb, + 0xa7221, + 0xa7e54, + 0xa84a5, + 0xa88d0, + 0xa903a, + 0xa9c4f, + 0xaa1ee, + 0xaad9b, + 0xab571, + 0xab904, + 0xac246, + 0xace33, + 0xad6d9, + 0xadaac, + 0xae70d, + 0xaeb78, + 0xaf392, + 0xaffe7, + 0xb0670, + 0xb0a05, + 0xb12ef, + 0xb1e9a, + 0xb233b, + 0xb2f4e, + 0xb37a4, + 0xb3bd1, + 0xb4093, + 0xb4ce6, + 0xb540c, + 0xb5879, + 0xb65d8, + 0xb69ad, + 0xb7147, + 0xb7d32, + 0xb87c3, + 0xb8bb6, + 0xb935c, + 0xb9f29, + 0xba288, + 0xbaefd, + 0xbb617, + 0xbba62, + 0xbc120, + 0xbcd55, + 0xbd5bf, + 0xbd9ca, + 0xbe46b, + 0xbe81e, + 0xbf0f4, + 0xbfc81, + 0xc0237, + 0xc0e42, + 0xc16a8, + 0xc1add, + 0xc277c, + 0xc2b09, + 0xc33e3, + 0xc3f96, + 0xc44d4, + 0xc48a1, + 0xc504b, + 0xc5c3e, + 0xc619f, + 0xc6dea, + 0xc7500, + 0xc7975, + 0xc8384, + 0xc8ff1, + 0xc971b, + 0xc9b6e, + 0xca6cf, + 0xcaaba, + 0xcb250, + 0xcbe25, + 0xcc567, + 0xcc912, + 0xcd1f8, + 0xcdd8d, + 0xce02c, + 0xcec59, + 0xcf4b3, + 0xcf8c6, + 0xd0151, + 0xd0d24, + 0xd15ce, + 0xd19bb, + 0xd241a, + 0xd286f, + 0xd3085, + 0xd3cf0, + 0xd47b2, + 0xd4bc7, + 0xd532d, + 0xd5f58, + 0xd62f9, + 0xd6e8c, + 0xd7666, + 0xd7a13, + 0xd80e2, + 0xd8c97, + 0xd947d, + 0xd9808, + 0xda5a9, + 0xda9dc, + 0xdb136, + 0xdbd43, + 0xdc601, + 0xdca74, + 0xdd29e, + 0xddeeb, + 0xde34a, + 0xdef3f, + 0xdf7d5, + 0xdfba0, + 0xe04fb, + 0xe088e, + 0xe1064, + 0xe1c11, + 0xe21b0, + 0xe2dc5, + 0xe352f, + 0xe395a, + 0xe4218, + 0xe4e6d, + 0xe5687, + 0xe5af2, + 0xe6753, + 0xe6b26, + 0xe73cc, + 0xe7fb9, + 0xe8548, + 0xe893d, + 0xe91d7, + 0xe9da2, + 0xea003, + 0xeac76, + 0xeb49c, + 0xeb8e9, + 0xec3ab, + 0xecfde, + 0xed734, + 0xedb41, + 0xee6e0, + 0xeea95, + 0xef27f, + 0xefe0a, + 0xf079d, + 0xf0be8, + 0xf1302, + 0xf1f77, + 0xf22d6, + 0xf2ea3, + 0xf3649, + 0xf3a3c, + 0xf417e, + 0xf4d0b, + 0xf55e1, + 0xf5994, + 0xf6435, + 0xf6840, + 0xf70aa, + 0xf7cdf, + 0xf862e, + 0xf8a5b, + 0xf92b1, + 0xf9ec4, + 0xfa365, + 0xfaf10, + 0xfb7fa, + 0xfbb8f, + 0xfc0cd, + 0xfccb8, + 0xfd452, + 0xfd827, + 0xfe586, + 0xfe9f3, + 0xff119, + 0xffd6c, + 0x1007b4, + 0x100bc1, + 0x10132b, + 0x101f5e, + 0x1022ff, + 0x102e8a, + 0x103660, + 0x103a15, + 0x104157, + 0x104d22, + 0x1055c8, + 0x1059bd, + 0x10641c, + 0x106869, + 0x107083, + 0x107cf6, + 0x108607, + 0x108a72, + 0x109298, + 0x109eed, + 0x10a34c, + 0x10af39, + 0x10b7d3, + 0x10bba6, + 0x10c0e4, + 0x10cc91, + 0x10d47b, + 0x10d80e, + 0x10e5af, + 0x10e9da, + 0x10f130, + 0x10fd45, + 0x1104d2, + 0x1108a7, + 0x11104d, + 0x111c38, + 0x112199, + 0x112dec, + 0x113506, + 0x113973, + 0x114231, + 0x114e44, + 0x1156ae, + 0x115adb, + 0x11677a, + 0x116b0f, + 0x1173e5, + 0x117f90, + 0x118561, + 0x118914, + 0x1191fe, + 0x119d8b, + 0x11a02a, + 0x11ac5f, + 0x11b4b5, + 0x11b8c0, + 0x11c382, + 0x11cff7, + 0x11d71d, + 0x11db68, + 0x11e6c9, + 0x11eabc, + 0x11f256, + 0x11fe23, + 0x120178, + 0x120d0d, + 0x1215e7, + 0x121992, + 0x122433, + 0x122846, + 0x1230ac, + 0x123cd9, + 0x12479b, + 0x124bee, + 0x125304, + 0x125f71, + 0x1262d0, + 0x126ea5, + 0x12764f, + 0x127a3a, + 0x1280cb, + 0x128cbe, + 0x129454, + 0x129821, + 0x12a580, + 0x12a9f5, + 0x12b11f, + 0x12bd6a, + 0x12c628, + 0x12ca5d, + 0x12d2b7, + 0x12dec2, + 0x12e363, + 0x12ef16, + 0x12f7fc, + 0x12fb89, + 0x13021e, + 0x130e6b, + 0x131681, + 0x131af4, + 0x132755, + 0x132b20, + 0x1333ca, + 0x133fbf, + 0x1344fd, + 0x134888, + 0x135062, + 0x135c17, + 0x1361b6, + 0x136dc3, + 0x137529, + 0x13795c, + 0x1383ad, + 0x138fd8, + 0x139732, + 0x139b47, + 0x13a6e6, + 0x13aa93, + 0x13b279, + 0x13be0c, + 0x13c54e, + 0x13c93b, + 0x13d1d1, + 0x13dda4, + 0x13e005, + 0x13ec70, + 0x13f49a, + 0x13f8ef, + 0x140659, + 0x140a2c, + 0x1412c6, + 0x141eb3, + 0x142312, + 0x142f67, + 0x14378d, + 0x143bf8, + 0x1440ba, + 0x144ccf, + 0x145425, + 0x145850, + 0x1465f1, + 0x146984, + 0x14716e, + 0x147d1b, + 0x1487ea, + 0x148b9f, + 0x149375, + 0x149f00, + 0x14a2a1, + 0x14aed4, + 0x14b63e, + 0x14ba4b, + 0x14c109, + 0x14cd7c, + 0x14d596, + 0x14d9e3, + 0x14e442, + 0x14e837, + 0x14f0dd, + 0x14fca8, + 0x15053f, + 0x15094a, + 0x1511a0, + 0x151dd5, + 0x152074, + 0x152c01, + 0x1534eb, + 0x15389e, + 0x1543dc, + 0x154fa9, + 0x155743, + 0x155b36, + 0x156697, + 0x156ae2, + 0x157208, + 0x157e7d, + 0x15848c, + 0x1588f9, + 0x159013, + 0x159c66, + 0x15a1c7, + 0x15adb2, + 0x15b558, + 0x15b92d, + 0x15c26f, + 0x15ce1a, + 0x15d6f0, + 0x15da85, + 0x15e724, + 0x15eb51, + 0x15f3bb, + 0x15ffce, + 0x160095, + 0x160ce0, + 0x16140a, + 0x16187f, + 0x1625de, + 0x1629ab, + 0x163141, + 0x163d34, + 0x164676, + 0x164a03, + 0x1652e9, + 0x165e9c, + 0x16633d, + 0x166f48, + 0x1677a2, + 0x167bd7, + 0x168126, + 0x168d53, + 0x1695b9, + 0x1699cc, + 0x16a46d, + 0x16a818, + 0x16b0f2, + 0x16bc87, + 0x16c7c5, + 0x16cbb0, + 0x16d35a, + 0x16df2f, + 0x16e28e, + 0x16eefb, + 0x16f611, + 0x16fa64, + 0x1703f3, + 0x170f86, + 0x17176c, + 0x171b19, + 0x1726b8, + 0x172acd, + 0x173227, + 0x173e52, + 0x174510, + 0x174965, + 0x17518f, + 0x175dfa, + 0x17605b, + 0x176c2e, + 0x1774c4, + 0x1778b1, + 0x178240, + 0x178e35, + 0x1796df, + 0x179aaa, + 0x17a70b, + 0x17ab7e, + 0x17b394, + 0x17bfe1, + 0x17c4a3, + 0x17c8d6, + 0x17d03c, + 0x17dc49, + 0x17e1e8, + 0x17ed9d, + 0x17f577, + 0x17f902, + 0x18046e, + 0x18081b, + 0x1810f1, + 0x181c84, + 0x182125, + 0x182d50, + 0x1835ba, + 0x1839cf, + 0x18428d, + 0x184ef8, + 0x185612, + 0x185a67, + 0x1867c6, + 0x186bb3, + 0x187359, + 0x187f2c, + 0x1885dd, + 0x1889a8, + 0x189142, + 0x189d37, + 0x18a096, + 0x18ace3, + 0x18b409, + 0x18b87c, + 0x18c33e, + 0x18cf4b, + 0x18d7a1, + 0x18dbd4, + 0x18e675, + 0x18ea00, + 0x18f2ea, + 0x18fe9f, + 0x190708, + 0x190b7d, + 0x191397, + 0x191fe2, + 0x192243, + 0x192e36, + 0x1936dc, + 0x193aa9, + 0x1941eb, + 0x194d9e, + 0x195574, + 0x195901, + 0x1964a0, + 0x1968d5, + 0x19703f, + 0x197c4a, + 0x1986bb, + 0x198ace, + 0x199224, + 0x199e51, + 0x19a3f0, + 0x19af85, + 0x19b76f, + 0x19bb1a, + 0x19c058, + 0x19cc2d, + 0x19d4c7, + 0x19d8b2, + 0x19e513, + 0x19e966, + 0x19f18c, + 0x19fdf9, + 0x1a02a2, + 0x1a0ed7, + 0x1a163d, + 0x1a1a48, + 0x1a27e9, + 0x1a2b9c, + 0x1a3376, + 0x1a3f03, + 0x1a4441, + 0x1a4834, + 0x1a50de, + 0x1a5cab, + 0x1a610a, + 0x1a6d7f, + 0x1a7595, + 0x1a79e0, + 0x1a8311, + 0x1a8f64, + 0x1a978e, + 0x1a9bfb, + 0x1aa65a, + 0x1aaa2f, + 0x1ab2c5, + 0x1abeb0, + 0x1ac5f2, + 0x1ac987, + 0x1ad16d, + 0x1add18, + 0x1ae0b9, + 0x1aeccc, + 0x1af426, + 0x1af853, + 0x1b01c4, + 0x1b0db1, + 0x1b155b, + 0x1b192e, + 0x1b248f, + 0x1b28fa, + 0x1b3010, + 0x1b3c65, + 0x1b4727, + 0x1b4b52, + 0x1b53b8, + 0x1b5fcd, + 0x1b626c, + 0x1b6e19, + 0x1b76f3, + 0x1b7a86, + 0x1b8077, + 0x1b8c02, + 0x1b94e8, + 0x1b989d, + 0x1ba53c, + 0x1ba949, + 0x1bb1a3, + 0x1bbdd6, + 0x1bc694, + 0x1bcae1, + 0x1bd20b, + 0x1bde7e, + 0x1be3df, + 0x1befaa, + 0x1bf740, + 0x1bfb35, + 0x1c0583, + 0x1c09f6, + 0x1c111c, + 0x1c1d69, + 0x1c20c8, + 0x1c2cbd, + 0x1c3457, + 0x1c3822, + 0x1c4360, + 0x1c4f15, + 0x1c57ff, + 0x1c5b8a, + 0x1c662b, + 0x1c6a5e, + 0x1c72b4, + 0x1c7ec1, + 0x1c8430, + 0x1c8845, + 0x1c90af, + 0x1c9cda, + 0x1ca17b, + 0x1cad0e, + 0x1cb5e4, + 0x1cb991, + 0x1cc2d3, + 0x1ccea6, + 0x1cd64c, + 0x1cda39, + 0x1ce798, + 0x1cebed, + 0x1cf307, + 0x1cff72, + 0x1d06e5, + 0x1d0a90, + 0x1d127a, + 0x1d1e0f, + 0x1d23ae, + 0x1d2fdb, + 0x1d3731, + 0x1d3b44, + 0x1d4006, + 0x1d4c73, + 0x1d5499, + 0x1d58ec, + 0x1d654d, + 0x1d6938, + 0x1d71d2, + 0x1d7da7, + 0x1d8756, + 0x1d8b23, + 0x1d93c9, + 0x1d9fbc, + 0x1da21d, + 0x1dae68, + 0x1db682, + 0x1dbaf7, + 0x1dc1b5, + 0x1dcdc0, + 0x1dd52a, + 0x1dd95f, + 0x1de4fe, + 0x1de88b, + 0x1df061, + 0x1dfc14, + 0x1e034f, + 0x1e0f3a, + 0x1e17d0, + 0x1e1ba5, + 0x1e2604, + 0x1e2a71, + 0x1e329b, + 0x1e3eee, + 0x1e45ac, + 0x1e49d9, + 0x1e5133, + 0x1e5d46, + 0x1e60e7, + 0x1e6c92, + 0x1e7478, + 0x1e780d, + 0x1e82fc, + 0x1e8e89, + 0x1e9663, + 0x1e9a16, + 0x1ea7b7, + 0x1eabc2, + 0x1eb328, + 0x1ebf5d, + 0x1ec41f, + 0x1ec86a, + 0x1ed080, + 0x1edcf5, + 0x1ee154, + 0x1eed21, + 0x1ef5cb, + 0x1ef9be, + 0x1f0029, + 0x1f0c5c, + 0x1f14b6, + 0x1f18c3, + 0x1f2562, + 0x1f2917, + 0x1f31fd, + 0x1f3d88, + 0x1f46ca, + 0x1f4abf, + 0x1f5255, + 0x1f5e20, + 0x1f6381, + 0x1f6ff4, + 0x1f771e, + 0x1f7b6b, + 0x1f819a, + 0x1f8def, + 0x1f9505, + 0x1f9970, + 0x1fa4d1, + 0x1fa8a4, + 0x1fb04e, + 0x1fbc3b, + 0x1fc779, + 0x1fcb0c, + 0x1fd3e6, + 0x1fdf93, + 0x1fe232, + 0x1fee47, + 0x1ff6ad, + 0x1ffad8, + 0x20031d, + 0x200f68, + 0x201782, + 0x201bf7, + 0x202656, + 0x202a23, + 0x2032c9, + 0x203ebc, + 0x2045fe, + 0x20498b, + 0x205161, + 0x205d14, + 0x2060b5, + 0x206cc0, + 0x20742a, + 0x20785f, + 0x2082ae, + 0x208edb, + 0x209631, + 0x209a44, + 0x20a7e5, + 0x20ab90, + 0x20b37a, + 0x20bf0f, + 0x20c44d, + 0x20c838, + 0x20d0d2, + 0x20dca7, + 0x20e106, + 0x20ed73, + 0x20f599, + 0x20f9ec, + 0x21007b, + 0x210c0e, + 0x2114e4, + 0x211891, + 0x212530, + 0x212945, + 0x2131af, + 0x213dda, + 0x214698, + 0x214aed, + 0x215207, + 0x215e72, + 0x2163d3, + 0x216fa6, + 0x21774c, + 0x217b39, + 0x2181c8, + 0x218dbd, + 0x219557, + 0x219922, + 0x21a483, + 0x21a8f6, + 0x21b01c, + 0x21bc69, + 0x21c72b, + 0x21cb5e, + 0x21d3b4, + 0x21dfc1, + 0x21e260, + 0x21ee15, + 0x21f6ff, + 0x21fa8a, + 0x2205d1, + 0x2209a4, + 0x22114e, + 0x221d3b, + 0x22209a, + 0x222cef, + 0x223405, + 0x223870, + 0x224332, + 0x224f47, + 0x2257ad, + 0x225bd8, + 0x226679, + 0x226a0c, + 0x2272e6, + 0x227e93, + 0x228462, + 0x228817, + 0x2290fd, + 0x229c88, + 0x22a129, + 0x22ad5c, + 0x22b5b6, + 0x22b9c3, + 0x22c281, + 0x22cef4, + 0x22d61e, + 0x22da6b, + 0x22e7ca, + 0x22ebbf, + 0x22f355, + 0x22ff20, + 0x2306b7, + 0x230ac2, + 0x231228, + 0x231e5d, + 0x2323fc, + 0x232f89, + 0x233763, + 0x233b16, + 0x234054, + 0x234c21, + 0x2354cb, + 0x2358be, + 0x23651f, + 0x23696a, + 0x237180, + 0x237df5, + 0x238704, + 0x238b71, + 0x23939b, + 0x239fee, + 0x23a24f, + 0x23ae3a, + 0x23b6d0, + 0x23baa5, + 0x23c1e7, + 0x23cd92, + 0x23d578, + 0x23d90d, + 0x23e4ac, + 0x23e8d9, + 0x23f033, + 0x23fc46, + 0x2402f0, + 0x240e85, + 0x24166f, + 0x241a1a, + 0x2427bb, + 0x242bce, + 0x243324, + 0x243f51, + 0x244413, + 0x244866, + 0x24508c, + 0x245cf9, + 0x246158, + 0x246d2d, + 0x2475c7, + 0x2479b2, + 0x248343, + 0x248f36, + 0x2497dc, + 0x249ba9, + 0x24a608, + 0x24aa7d, + 0x24b297, + 0x24bee2, + 0x24c5a0, + 0x24c9d5, + 0x24d13f, + 0x24dd4a, + 0x24e0eb, + 0x24ec9e, + 0x24f474, + 0x24f801, + 0x250196, + 0x250de3, + 0x251509, + 0x25197c, + 0x2524dd, + 0x2528a8, + 0x253042, + 0x253c37, + 0x254775, + 0x254b00, + 0x2553ea, + 0x255f9f, + 0x25623e, + 0x256e4b, + 0x2576a1, + 0x257ad4, + 0x258025, + 0x258c50, + 0x2594ba, + 0x2598cf, + 0x25a56e, + 0x25a91b, + 0x25b1f1, + 0x25bd84, + 0x25c6c6, + 0x25cab3, + 0x25d259, + 0x25de2c, + 0x25e38d, + 0x25eff8, + 0x25f712, + 0x25fb67, + 0x26043c, + 0x260849, + 0x2610a3, + 0x261cd6, + 0x262177, + 0x262d02, + 0x2635e8, + 0x26399d, + 0x2642df, + 0x264eaa, + 0x265640, + 0x265a35, + 0x266794, + 0x266be1, + 0x26730b, + 0x267f7e, + 0x26858f, + 0x2689fa, + 0x269110, + 0x269d65, + 0x26a0c4, + 0x26acb1, + 0x26b45b, + 0x26b82e, + 0x26c36c, + 0x26cf19, + 0x26d7f3, + 0x26db86, + 0x26e627, + 0x26ea52, + 0x26f2b8, + 0x26fecd, + 0x27075a, + 0x270b2f, + 0x2713c5, + 0x271fb0, + 0x272211, + 0x272e64, + 0x27368e, + 0x273afb, + 0x2741b9, + 0x274dcc, + 0x275526, + 0x275953, + 0x2764f2, + 0x276887, + 0x27706d, + 0x277c18, + 0x2786e9, + 0x278a9c, + 0x279276, + 0x279e03, + 0x27a3a2, + 0x27afd7, + 0x27b73d, + 0x27bb48, + 0x27c00a, + 0x27cc7f, + 0x27d495, + 0x27d8e0, + 0x27e541, + 0x27e934, + 0x27f1de, + 0x27fdab, + 0x2800c7, + 0x280cb2, + 0x281458, + 0x28182d, + 0x28258c, + 0x2829f9, + 0x283113, + 0x283d66, + 0x284624, + 0x284a51, + 0x2852bb, + 0x285ece, + 0x28636f, + 0x286f1a, + 0x2877f0, + 0x287b85, + 0x288174, + 0x288d01, + 0x2895eb, + 0x28999e, + 0x28a43f, + 0x28a84a, + 0x28b0a0, + 0x28bcd5, + 0x28c797, + 0x28cbe2, + 0x28d308, + 0x28df7d, + 0x28e2dc, + 0x28eea9, + 0x28f643, + 0x28fa36, + 0x2903a1, + 0x290fd4, + 0x29173e, + 0x291b4b, + 0x2926ea, + 0x292a9f, + 0x293275, + 0x293e00, + 0x294542, + 0x294937, + 0x2951dd, + 0x295da8, + 0x296009, + 0x296c7c, + 0x297496, + 0x2978e3, + 0x298212, + 0x298e67, + 0x29968d, + 0x299af8, + 0x29a759, + 0x29ab2c, + 0x29b3c6, + 0x29bfb3, + 0x29c4f1, + 0x29c884, + 0x29d06e, + 0x29dc1b, + 0x29e1ba, + 0x29edcf, + 0x29f525, + 0x29f950, + 0x2a060b, + 0x2a0a7e, + 0x2a1294, + 0x2a1ee1, + 0x2a2340, + 0x2a2f35, + 0x2a37df, + 0x2a3baa, + 0x2a40e8, + 0x2a4c9d, + 0x2a5477, + 0x2a5802, + 0x2a65a3, + 0x2a69d6, + 0x2a713c, + 0x2a7d49, + 0x2a87b8, + 0x2a8bcd, + 0x2a9327, + 0x2a9f52, + 0x2aa2f3, + 0x2aae86, + 0x2ab66c, + 0x2aba19, + 0x2ac15b, + 0x2acd2e, + 0x2ad5c4, + 0x2ad9b1, + 0x2ae410, + 0x2ae865, + 0x2af08f, + 0x2afcfa, + 0x2b056d, + 0x2b0918, + 0x2b11f2, + 0x2b1d87, + 0x2b2026, + 0x2b2c53, + 0x2b34b9, + 0x2b38cc, + 0x2b438e, + 0x2b4ffb, + 0x2b5711, + 0x2b5b64, + 0x2b66c5, + 0x2b6ab0, + 0x2b725a, + 0x2b7e2f, + 0x2b84de, + 0x2b88ab, + 0x2b9041, + 0x2b9c34, + 0x2ba195, + 0x2bade0, + 0x2bb50a, + 0x2bb97f, + 0x2bc23d, + 0x2bce48, + 0x2bd6a2, + 0x2bdad7, + 0x2be776, + 0x2beb03, + 0x2bf3e9, + 0x2bff9c, + 0x2c012a, + 0x2c0d5f, + 0x2c15b5, + 0x2c19c0, + 0x2c2461, + 0x2c2814, + 0x2c30fe, + 0x2c3c8b, + 0x2c47c9, + 0x2c4bbc, + 0x2c5356, + 0x2c5f23, + 0x2c6282, + 0x2c6ef7, + 0x2c761d, + 0x2c7a68, + 0x2c8099, + 0x2c8cec, + 0x2c9406, + 0x2c9873, + 0x2ca5d2, + 0x2ca9a7, + 0x2cb14d, + 0x2cbd38, + 0x2cc67a, + 0x2cca0f, + 0x2cd2e5, + 0x2cde90, + 0x2ce331, + 0x2cef44, + 0x2cf7ae, + 0x2cfbdb, + 0x2d024c, + 0x2d0e39, + 0x2d16d3, + 0x2d1aa6, + 0x2d2707, + 0x2d2b72, + 0x2d3398, + 0x2d3fed, + 0x2d44af, + 0x2d48da, + 0x2d5030, + 0x2d5c45, + 0x2d61e4, + 0x2d6d91, + 0x2d757b, + 0x2d790e, + 0x2d83ff, + 0x2d8f8a, + 0x2d9760, + 0x2d9b15, + 0x2da6b4, + 0x2daac1, + 0x2db22b, + 0x2dbe5e, + 0x2dc51c, + 0x2dc969, + 0x2dd183, + 0x2dddf6, + 0x2de057, + 0x2dec22, + 0x2df4c8, + 0x2df8bd, + 0x2e07e6, + 0x2e0b93, + 0x2e1379, + 0x2e1f0c, + 0x2e22ad, + 0x2e2ed8, + 0x2e3632, + 0x2e3a47, + 0x2e4105, + 0x2e4d70, + 0x2e559a, + 0x2e59ef, + 0x2e644e, + 0x2e683b, + 0x2e70d1, + 0x2e7ca4, + 0x2e8655, + 0x2e8a20, + 0x2e92ca, + 0x2e9ebf, + 0x2ea31e, + 0x2eaf6b, + 0x2eb781, + 0x2ebbf4, + 0x2ec0b6, + 0x2eccc3, + 0x2ed429, + 0x2ed85c, + 0x2ee5fd, + 0x2ee988, + 0x2ef162, + 0x2efd17, + 0x2f0480, + 0x2f08f5, + 0x2f101f, + 0x2f1c6a, + 0x2f21cb, + 0x2f2dbe, + 0x2f3554, + 0x2f3921, + 0x2f4263, + 0x2f4e16, + 0x2f56fc, + 0x2f5a89, + 0x2f6728, + 0x2f6b5d, + 0x2f73b7, + 0x2f7fc2, + 0x2f8533, + 0x2f8946, + 0x2f91ac, + 0x2f9dd9, + 0x2fa078, + 0x2fac0d, + 0x2fb4e7, + 0x2fb892, + 0x2fc3d0, + 0x2fcfa5, + 0x2fd74f, + 0x2fdb3a, + 0x2fe69b, + 0x2feaee, + 0x2ff204, + 0x2ffe71, + 0x3004a9, + 0x3008dc, + 0x301036, + 0x301c43, + 0x3021e2, + 0x302d97, + 0x30357d, + 0x303908, + 0x30424a, + 0x304e3f, + 0x3056d5, + 0x305aa0, + 0x306701, + 0x306b74, + 0x30739e, + 0x307feb, + 0x30851a, + 0x30896f, + 0x309185, + 0x309df0, + 0x30a051, + 0x30ac24, + 0x30b4ce, + 0x30b8bb, + 0x30c3f9, + 0x30cf8c, + 0x30d766, + 0x30db13, + 0x30e6b2, + 0x30eac7, + 0x30f22d, + 0x30fe58, + 0x3107cf, + 0x310bba, + 0x311350, + 0x311f25, + 0x312284, + 0x312ef1, + 0x31361b, + 0x313a6e, + 0x31412c, + 0x314d59, + 0x3155b3, + 0x3159c6, + 0x316467, + 0x316812, + 0x3170f8, + 0x317c8d, + 0x31867c, + 0x318a09, + 0x3192e3, + 0x319e96, + 0x31a337, + 0x31af42, + 0x31b7a8, + 0x31bbdd, + 0x31c09f, + 0x31ccea, + 0x31d400, + 0x31d875, + 0x31e5d4, + 0x31e9a1, + 0x31f14b, + 0x31fd3e, + 0x320265, + 0x320e10, + 0x3216fa, + 0x321a8f, + 0x32272e, + 0x322b5b, + 0x3233b1, + 0x323fc4, + 0x324486, + 0x3248f3, + 0x325019, + 0x325c6c, + 0x3261cd, + 0x326db8, + 0x327552, + 0x327927, + 0x3283d6, + 0x328fa3, + 0x329749, + 0x329b3c, + 0x32a69d, + 0x32aae8, + 0x32b202, + 0x32be77, + 0x32c535, + 0x32c940, + 0x32d1aa, + 0x32dddf, + 0x32e07e, + 0x32ec0b, + 0x32f4e1, + 0x32f894, + 0x330103, + 0x330d76, + 0x33159c, + 0x3319e9, + 0x332448, + 0x33283d, + 0x3330d7, + 0x333ca2, + 0x3347e0, + 0x334b95, + 0x33537f, + 0x335f0a, + 0x3362ab, + 0x336ede, + 0x337634, + 0x337a41, + 0x3380b0, + 0x338cc5, + 0x33942f, + 0x33985a, + 0x33a5fb, + 0x33a98e, + 0x33b164, + 0x33bd11, + 0x33c653, + 0x33ca26, + 0x33d2cc, + 0x33deb9, + 0x33e318, + 0x33ef6d, + 0x33f787, + 0x33fbf2, + 0x340544, + 0x340931, + 0x3411db, + 0x341dae, + 0x34200f, + 0x342c7a, + 0x343490, + 0x3438e5, + 0x3443a7, + 0x344fd2, + 0x345738, + 0x345b4d, + 0x3466ec, + 0x346a99, + 0x347273, + 0x347e06, + 0x3484f7, + 0x348882, + 0x349068, + 0x349c1d, + 0x34a1bc, + 0x34adc9, + 0x34b523, + 0x34b956, + 0x34c214, + 0x34ce61, + 0x34d68b, + 0x34dafe, + 0x34e75f, + 0x34eb2a, + 0x34f3c0, + 0x34ffb5, + 0x350622, + 0x350a57, + 0x3512bd, + 0x351ec8, + 0x352369, + 0x352f1c, + 0x3537f6, + 0x353b83, + 0x3540c1, + 0x354cb4, + 0x35545e, + 0x35582b, + 0x35658a, + 0x3569ff, + 0x357115, + 0x357d60, + 0x358791, + 0x358be4, + 0x35930e, + 0x359f7b, + 0x35a2da, + 0x35aeaf, + 0x35b645, + 0x35ba30, + 0x35c172, + 0x35cd07, + 0x35d5ed, + 0x35d998, + 0x35e439, + 0x35e84c, + 0x35f0a6, + 0x35fcd3, + 0x360388, + 0x360ffd, + 0x361717, + 0x361b62, + 0x3626c3, + 0x362ab6, + 0x36325c, + 0x363e29, + 0x36456b, + 0x36491e, + 0x3651f4, + 0x365d81, + 0x366020, + 0x366c55, + 0x3674bf, + 0x3678ca, + 0x36823b, + 0x368e4e, + 0x3696a4, + 0x369ad1, + 0x36a770, + 0x36ab05, + 0x36b3ef, + 0x36bf9a, + 0x36c4d8, + 0x36c8ad, + 0x36d047, + 0x36dc32, + 0x36e193, + 0x36ede6, + 0x36f50c, + 0x36f979, + 0x3700ee, + 0x370c9b, + 0x371471, + 0x371804, + 0x3725a5, + 0x3729d0, + 0x37313a, + 0x373d4f, + 0x37460d, + 0x374a78, + 0x375292, + 0x375ee7, + 0x376346, + 0x376f33, + 0x3777d9, + 0x377bac, + 0x37815d, + 0x378d28, + 0x3795c2, + 0x3799b7, + 0x37a416, + 0x37a863, + 0x37b089, + 0x37bcfc, + 0x37c7be, + 0x37cbcb, + 0x37d321, + 0x37df54, + 0x37e2f5, + 0x37ee80, + 0x37f66a, + 0x37fa1f, + 0x380773, + 0x380b06, + 0x3813ec, + 0x381f99, + 0x382238, + 0x382e4d, + 0x3836a7, + 0x383ad2, + 0x384190, + 0x384de5, + 0x38550f, + 0x38597a, + 0x3864db, + 0x3868ae, + 0x387044, + 0x387c31, + 0x3886c0, + 0x388ab5, + 0x38925f, + 0x389e2a, + 0x38a38b, + 0x38affe, + 0x38b714, + 0x38bb61, + 0x38c023, + 0x38cc56, + 0x38d4bc, + 0x38d8c9, + 0x38e568, + 0x38e91d, + 0x38f1f7, + 0x38fd82, + 0x390415, + 0x390860, + 0x39108a, + 0x391cff, + 0x39215e, + 0x392d2b, + 0x3935c1, + 0x3939b4, + 0x3942f6, + 0x394e83, + 0x395669, + 0x395a1c, + 0x3967bd, + 0x396bc8, + 0x397322, + 0x397f57, + 0x3985a6, + 0x3989d3, + 0x399139, + 0x399d4c, + 0x39a0ed, + 0x39ac98, + 0x39b472, + 0x39b807, + 0x39c345, + 0x39cf30, + 0x39d7da, + 0x39dbaf, + 0x39e60e, + 0x39ea7b, + 0x39f291, + 0x39fee4, + 0x3a01bf, + 0x3a0dca, + 0x3a1520, + 0x3a1955, + 0x3a24f4, + 0x3a2881, + 0x3a306b, + 0x3a3c1e, + 0x3a475c, + 0x3a4b29, + 0x3a53c3, + 0x3a5fb6, + 0x3a6217, + 0x3a6e62, + 0x3a7688, + 0x3a7afd, + 0x3a800c, + 0x3a8c79, + 0x3a9493, + 0x3a98e6, + 0x3aa547, + 0x3aa932, + 0x3ab1d8, + 0x3abdad, + 0x3ac6ef, + 0x3aca9a, + 0x3ad270, + 0x3ade05, + 0x3ae3a4, + 0x3aefd1, + 0x3af73b, + 0x3afb4e, + 0x3b02d9, + 0x3b0eac, + 0x3b1646, + 0x3b1a33, + 0x3b2792, + 0x3b2be7, + 0x3b330d, + 0x3b3f78, + 0x3b443a, + 0x3b484f, + 0x3b50a5, + 0x3b5cd0, + 0x3b6171, + 0x3b6d04, + 0x3b75ee, + 0x3b799b, + 0x3b836a, + 0x3b8f1f, + 0x3b97f5, + 0x3b9b80, + 0x3ba621, + 0x3baa54, + 0x3bb2be, + 0x3bbecb, + 0x3bc589, + 0x3bc9fc, + 0x3bd116, + 0x3bdd63, + 0x3be0c2, + 0x3becb7, + 0x3bf45d, + 0x3bf828, + 0x3c069e, + 0x3c0aeb, + 0x3c1201, + 0x3c1e74, + 0x3c23d5, + 0x3c2fa0, + 0x3c374a, + 0x3c3b3f, + 0x3c407d, + 0x3c4c08, + 0x3c54e2, + 0x3c5897, + 0x3c6536, + 0x3c6943, + 0x3c71a9, + 0x3c7ddc, + 0x3c872d, + 0x3c8b58, + 0x3c93b2, + 0x3c9fc7, + 0x3ca266, + 0x3cae13, + 0x3cb6f9, + 0x3cba8c, + 0x3cc1ce, + 0x3ccdbb, + 0x3cd551, + 0x3cd924, + 0x3ce485, + 0x3ce8f0, + 0x3cf01a, + 0x3cfc6f, + 0x3d05f8, + 0x3d098d, + 0x3d1167, + 0x3d1d12, + 0x3d20b3, + 0x3d2cc6, + 0x3d342c, + 0x3d3859, + 0x3d431b, + 0x3d4f6e, + 0x3d5784, + 0x3d5bf1, + 0x3d6650, + 0x3d6a25, + 0x3d72cf, + 0x3d7eba, + 0x3d844b, + 0x3d883e, + 0x3d90d4, + 0x3d9ca1, + 0x3da100, + 0x3dad75, + 0x3db59f, + 0x3db9ea, + 0x3dc2a8, + 0x3dcedd, + 0x3dd637, + 0x3dda42, + 0x3de7e3, + 0x3deb96, + 0x3df37c, + 0x3dff09, + 0x3e0052, + 0x3e0c27, + 0x3e14cd, + 0x3e18b8, + 0x3e2519, + 0x3e296c, + 0x3e3186, + 0x3e3df3, + 0x3e46b1, + 0x3e4ac4, + 0x3e522e, + 0x3e5e5b, + 0x3e63fa, + 0x3e6f8f, + 0x3e7765, + 0x3e7b10, + 0x3e81e1, + 0x3e8d94, + 0x3e957e, + 0x3e990b, + 0x3ea4aa, + 0x3ea8df, + 0x3eb035, + 0x3ebc40, + 0x3ec702, + 0x3ecb77, + 0x3ed39d, + 0x3edfe8, + 0x3ee249, + 0x3eee3c, + 0x3ef6d6, + 0x3efaa3, + 0x3f0334, + 0x3f0f41, + 0x3f17ab, + 0x3f1bde, + 0x3f267f, + 0x3f2a0a, + 0x3f32e0, + 0x3f3e95, + 0x3f45d7, + 0x3f49a2, + 0x3f5148, + 0x3f5d3d, + 0x3f609c, + 0x3f6ce9, + 0x3f7403, + 0x3f7876, + 0x3f8287, + 0x3f8ef2, + 0x3f9618, + 0x3f9a6d, + 0x3fa7cc, + 0x3fabb9, + 0x3fb353, + 0x3fbf26, + 0x3fc464, + 0x3fc811, + 0x3fd0fb, + 0x3fdc8e, + 0x3fe12f, + 0x3fed5a, + 0x3ff5b0, + 0x3ff9c5, + 0x40063a, + 0x400a4f, + 0x4012a5, + 0x401ed0, + 0x402371, + 0x402f04, + 0x4037ee, + 0x403b9b, + 0x4040d9, + 0x404cac, + 0x405446, + 0x405833, + 0x406592, + 0x4069e7, + 0x40710d, + 0x407d78, + 0x408789, + 0x408bfc, + 0x409316, + 0x409f63, + 0x40a2c2, + 0x40aeb7, + 0x40b65d, + 0x40ba28, + 0x40c16a, + 0x40cd1f, + 0x40d5f5, + 0x40d980, + 0x40e421, + 0x40e854, + 0x40f0be, + 0x40fccb, + 0x41055c, + 0x410929, + 0x4111c3, + 0x411db6, + 0x412017, + 0x412c62, + 0x413488, + 0x4138fd, + 0x4143bf, + 0x414fca, + 0x415720, + 0x415b55, + 0x4166f4, + 0x416a81, + 0x41726b, + 0x417e1e, + 0x4184ef, + 0x41889a, + 0x419070, + 0x419c05, + 0x41a1a4, + 0x41add1, + 0x41b53b, + 0x41b94e, + 0x41c20c, + 0x41ce79, + 0x41d693, + 0x41dae6, + 0x41e747, + 0x41eb32, + 0x41f3d8, + 0x41ffad, + 0x4200f6, + 0x420c83, + 0x421469, + 0x42181c, + 0x4225bd, + 0x4229c8, + 0x423122, + 0x423d57, + 0x424615, + 0x424a60, + 0x42528a, + 0x425eff, + 0x42635e, + 0x426f2b, + 0x4277c1, + 0x427bb4, + 0x428145, + 0x428d30, + 0x4295da, + 0x4299af, + 0x42a40e, + 0x42a87b, + 0x42b091, + 0x42bce4, + 0x42c7a6, + 0x42cbd3, + 0x42d339, + 0x42df4c, + 0x42e2ed, + 0x42ee98, + 0x42f672, + 0x42fa07, + 0x430390, + 0x430fe5, + 0x43170f, + 0x431b7a, + 0x4326db, + 0x432aae, + 0x433244, + 0x433e31, + 0x434573, + 0x434906, + 0x4351ec, + 0x435d99, + 0x436038, + 0x436c4d, + 0x4374a7, + 0x4378d2, + 0x438223, + 0x438e56, + 0x4396bc, + 0x439ac9, + 0x43a768, + 0x43ab1d, + 0x43b3f7, + 0x43bf82, + 0x43c4c0, + 0x43c8b5, + 0x43d05f, + 0x43dc2a, + 0x43e18b, + 0x43edfe, + 0x43f514, + 0x43f961, + 0x4407d7, + 0x440ba2, + 0x441348, + 0x441f3d, + 0x44229c, + 0x442ee9, + 0x443603, + 0x443a76, + 0x444134, + 0x444d41, + 0x4455ab, + 0x4459de, + 0x44647f, + 0x44680a, + 0x4470e0, + 0x447c95, + 0x448664, + 0x448a11, + 0x4492fb, + 0x449e8e, + 0x44a32f, + 0x44af5a, + 0x44b7b0, + 0x44bbc5, + 0x44c087, + 0x44ccf2, + 0x44d418, + 0x44d86d, + 0x44e5cc, + 0x44e9b9, + 0x44f153, + 0x44fd26, + 0x4504b1, + 0x4508c4, + 0x45102e, + 0x451c5b, + 0x4521fa, + 0x452d8f, + 0x453565, + 0x453910, + 0x454252, + 0x454e27, + 0x4556cd, + 0x455ab8, + 0x456719, + 0x456b6c, + 0x457386, + 0x457ff3, + 0x458502, + 0x458977, + 0x45919d, + 0x459de8, + 0x45a049, + 0x45ac3c, + 0x45b4d6, + 0x45b8a3, + 0x45c3e1, + 0x45cf94, + 0x45d77e, + 0x45db0b, + 0x45e6aa, + 0x45eadf, + 0x45f235, + 0x45fe40, + 0x46011b, + 0x460d6e, + 0x461584, + 0x4619f1, + 0x462450, + 0x462825, + 0x4630cf, + 0x463cba, + 0x4647f8, + 0x464b8d, + 0x465367, + 0x465f12, + 0x4662b3, + 0x466ec6, + 0x46762c, + 0x467a59, + 0x4680a8, + 0x468cdd, + 0x469437, + 0x469842, + 0x46a5e3, + 0x46a996, + 0x46b17c, + 0x46bd09, + 0x46c64b, + 0x46ca3e, + 0x46d2d4, + 0x46dea1, + 0x46e300, + 0x46ef75, + 0x46f79f, + 0x46fbea, + 0x47027d, + 0x470e08, + 0x4716e2, + 0x471a97, + 0x472736, + 0x472b43, + 0x4733a9, + 0x473fdc, + 0x47449e, + 0x4748eb, + 0x475001, + 0x475c74, + 0x4761d5, + 0x476da0, + 0x47754a, + 0x47793f, + 0x4783ce, + 0x478fbb, + 0x479751, + 0x479b24, + 0x47a685, + 0x47aaf0, + 0x47b21a, + 0x47be6f, + 0x47c52d, + 0x47c958, + 0x47d1b2, + 0x47ddc7, + 0x47e066, + 0x47ec13, + 0x47f4f9, + 0x47f88c, + 0x4805e0, + 0x480995, + 0x48117f, + 0x481d0a, + 0x4820ab, + 0x482cde, + 0x483434, + 0x483841, + 0x484303, + 0x484f76, + 0x48579c, + 0x485be9, + 0x486648, + 0x486a3d, + 0x4872d7, + 0x487ea2, + 0x488453, + 0x488826, + 0x4890cc, + 0x489cb9, + 0x48a118, + 0x48ad6d, + 0x48b587, + 0x48b9f2, + 0x48c2b0, + 0x48cec5, + 0x48d62f, + 0x48da5a, + 0x48e7fb, + 0x48eb8e, + 0x48f364, + 0x48ff11, + 0x490686, + 0x490af3, + 0x491219, + 0x491e6c, + 0x4923cd, + 0x492fb8, + 0x493752, + 0x493b27, + 0x494065, + 0x494c10, + 0x4954fa, + 0x49588f, + 0x49652e, + 0x49695b, + 0x4971b1, + 0x497dc4, + 0x498735, + 0x498b40, + 0x4993aa, + 0x499fdf, + 0x49a27e, + 0x49ae0b, + 0x49b6e1, + 0x49ba94, + 0x49c1d6, + 0x49cda3, + 0x49d549, + 0x49d93c, + 0x49e49d, + 0x49e8e8, + 0x49f002, + 0x49fc77, + 0x4a032c, + 0x4a0f59, + 0x4a17b3, + 0x4a1bc6, + 0x4a2667, + 0x4a2a12, + 0x4a32f8, + 0x4a3e8d, + 0x4a45cf, + 0x4a49ba, + 0x4a5150, + 0x4a5d25, + 0x4a6084, + 0x4a6cf1, + 0x4a741b, + 0x4a786e, + 0x4a829f, + 0x4a8eea, + 0x4a9600, + 0x4a9a75, + 0x4aa7d4, + 0x4aaba1, + 0x4ab34b, + 0x4abf3e, + 0x4ac47c, + 0x4ac809, + 0x4ad0e3, + 0x4adc96, + 0x4ae137, + 0x4aed42, + 0x4af5a8, + 0x4af9dd, + 0x4b004a, + 0x4b0c3f, + 0x4b14d5, + 0x4b18a0, + 0x4b2501, + 0x4b2974, + 0x4b319e, + 0x4b3deb, + 0x4b46a9, + 0x4b4adc, + 0x4b5236, + 0x4b5e43, + 0x4b63e2, + 0x4b6f97, + 0x4b777d, + 0x4b7b08, + 0x4b81f9, + 0x4b8d8c, + 0x4b9566, + 0x4b9913, + 0x4ba4b2, + 0x4ba8c7, + 0x4bb02d, + 0x4bbc58, + 0x4bc71a, + 0x4bcb6f, + 0x4bd385, + 0x4bdff0, + 0x4be251, + 0x4bee24, + 0x4bf6ce, + 0x4bfabb, + 0x4c040d, + 0x4c0878, + 0x4c1092, + 0x4c1ce7, + 0x4c2146, + 0x4c2d33, + 0x4c35d9, + 0x4c39ac, + 0x4c42ee, + 0x4c4e9b, + 0x4c5671, + 0x4c5a04, + 0x4c67a5, + 0x4c6bd0, + 0x4c733a, + 0x4c7f4f, + 0x4c85be, + 0x4c89cb, + 0x4c9121, + 0x4c9d54, + 0x4ca0f5, + 0x4cac80, + 0x4cb46a, + 0x4cb81f, + 0x4cc35d, + 0x4ccf28, + 0x4cd7c2, + 0x4cdbb7, + 0x4ce616, + 0x4cea63, + 0x4cf289, + 0x4cfefc, + 0x4d076b, + 0x4d0b1e, + 0x4d13f4, + 0x4d1f81, + 0x4d2220, + 0x4d2e55, + 0x4d36bf, + 0x4d3aca, + 0x4d4188, + 0x4d4dfd, + 0x4d5517, + 0x4d5962, + 0x4d64c3, + 0x4d68b6, + 0x4d705c, + 0x4d7c29, + 0x4d86d8, + 0x4d8aad, + 0x4d9247, + 0x4d9e32, + 0x4da393, + 0x4dafe6, + 0x4db70c, + 0x4dbb79, + 0x4dc03b, + 0x4dcc4e, + 0x4dd4a4, + 0x4dd8d1, + 0x4de570, + 0x4de905, + 0x4df1ef, + 0x4dfd9a, + 0x4e02c1, + 0x4e0eb4, + 0x4e165e, + 0x4e1a2b, + 0x4e278a, + 0x4e2bff, + 0x4e3315, + 0x4e3f60, + 0x4e4422, + 0x4e4857, + 0x4e50bd, + 0x4e5cc8, + 0x4e6169, + 0x4e6d1c, + 0x4e75f6, + 0x4e7983, + 0x4e8372, + 0x4e8f07, + 0x4e97ed, + 0x4e9b98, + 0x4ea639, + 0x4eaa4c, + 0x4eb2a6, + 0x4ebed3, + 0x4ec591, + 0x4ec9e4, + 0x4ed10e, + 0x4edd7b, + 0x4ee0da, + 0x4eecaf, + 0x4ef445, + 0x4ef830, + 0x4f01a7, + 0x4f0dd2, + 0x4f1538, + 0x4f194d, + 0x4f24ec, + 0x4f2899, + 0x4f3073, + 0x4f3c06, + 0x4f4744, + 0x4f4b31, + 0x4f53db, + 0x4f5fae, + 0x4f620f, + 0x4f6e7a, + 0x4f7690, + 0x4f7ae5, + 0x4f8014, + 0x4f8c61, + 0x4f948b, + 0x4f98fe, + 0x4fa55f, + 0x4fa92a, + 0x4fb1c0, + 0x4fbdb5, + 0x4fc6f7, + 0x4fca82, + 0x4fd268, + 0x4fde1d, + 0x4fe3bc, + 0x4fefc9, + 0x4ff723, + 0x4ffb56, + 0x50018e, + 0x500dfb, + 0x501511, + 0x501964, + 0x5024c5, + 0x5028b0, + 0x50305a, + 0x503c2f, + 0x50476d, + 0x504b18, + 0x5053f2, + 0x505f87, + 0x506226, + 0x506e53, + 0x5076b9, + 0x507acc, + 0x50803d, + 0x508c48, + 0x5094a2, + 0x5098d7, + 0x50a576, + 0x50a903, + 0x50b1e9, + 0x50bd9c, + 0x50c6de, + 0x50caab, + 0x50d241, + 0x50de34, + 0x50e395, + 0x50efe0, + 0x50f70a, + 0x50fb7f, + 0x5102e8, + 0x510e9d, + 0x511677, + 0x511a02, + 0x5127a3, + 0x512bd6, + 0x51333c, + 0x513f49, + 0x51440b, + 0x51487e, + 0x515094, + 0x515ce1, + 0x516140, + 0x516d35, + 0x5175df, + 0x5179aa, + 0x51835b, + 0x518f2e, + 0x5197c4, + 0x519bb1, + 0x51a610, + 0x51aa65, + 0x51b28f, + 0x51befa, + 0x51c5b8, + 0x51c9cd, + 0x51d127, + 0x51dd52, + 0x51e0f3, + 0x51ec86, + 0x51f46c, + 0x51f819, + 0x520742, + 0x520b37, + 0x5213dd, + 0x521fa8, + 0x522209, + 0x522e7c, + 0x523696, + 0x523ae3, + 0x5241a1, + 0x524dd4, + 0x52553e, + 0x52594b, + 0x5264ea, + 0x52689f, + 0x527075, + 0x527c00, + 0x5286f1, + 0x528a84, + 0x52926e, + 0x529e1b, + 0x52a3ba, + 0x52afcf, + 0x52b725, + 0x52bb50, + 0x52c012, + 0x52cc67, + 0x52d48d, + 0x52d8f8, + 0x52e559, + 0x52e92c, + 0x52f1c6, + 0x52fdb3, + 0x530424, + 0x530851, + 0x5310bb, + 0x531cce, + 0x53216f, + 0x532d1a, + 0x5335f0, + 0x533985, + 0x5342c7, + 0x534eb2, + 0x535658, + 0x535a2d, + 0x53678c, + 0x536bf9, + 0x537313, + 0x537f66, + 0x538597, + 0x5389e2, + 0x539108, + 0x539d7d, + 0x53a0dc, + 0x53aca9, + 0x53b443, + 0x53b836, + 0x53c374, + 0x53cf01, + 0x53d7eb, + 0x53db9e, + 0x53e63f, + 0x53ea4a, + 0x53f2a0, + 0x53fed5, + 0x540063, + 0x540c16, + 0x5414fc, + 0x541889, + 0x542528, + 0x54295d, + 0x5431b7, + 0x543dc2, + 0x544680, + 0x544af5, + 0x54521f, + 0x545e6a, + 0x5463cb, + 0x546fbe, + 0x547754, + 0x547b21, + 0x5481d0, + 0x548da5, + 0x54954f, + 0x54993a, + 0x54a49b, + 0x54a8ee, + 0x54b004, + 0x54bc71, + 0x54c733, + 0x54cb46, + 0x54d3ac, + 0x54dfd9, + 0x54e278, + 0x54ee0d, + 0x54f6e7, + 0x54fa92, + 0x550305, + 0x550f70, + 0x55179a, + 0x551bef, + 0x55264e, + 0x552a3b, + 0x5532d1, + 0x553ea4, + 0x5545e6, + 0x554993, + 0x555179, + 0x555d0c, + 0x5560ad, + 0x556cd8, + 0x557432, + 0x557847, + 0x5582b6, + 0x558ec3, + 0x559629, + 0x559a5c, + 0x55a7fd, + 0x55ab88, + 0x55b362, + 0x55bf17, + 0x55c455, + 0x55c820, + 0x55d0ca, + 0x55dcbf, + 0x55e11e, + 0x55ed6b, + 0x55f581, + 0x55f9f4, + 0x5606af, + 0x560ada, + 0x561230, + 0x561e45, + 0x5623e4, + 0x562f91, + 0x56377b, + 0x563b0e, + 0x56404c, + 0x564c39, + 0x5654d3, + 0x5658a6, + 0x566507, + 0x566972, + 0x567198, + 0x567ded, + 0x56871c, + 0x568b69, + 0x569383, + 0x569ff6, + 0x56a257, + 0x56ae22, + 0x56b6c8, + 0x56babd, + 0x56c1ff, + 0x56cd8a, + 0x56d560, + 0x56d915, + 0x56e4b4, + 0x56e8c1, + 0x56f02b, + 0x56fc5e, + 0x5705c9, + 0x5709bc, + 0x571156, + 0x571d23, + 0x572082, + 0x572cf7, + 0x57341d, + 0x573868, + 0x57432a, + 0x574f5f, + 0x5757b5, + 0x575bc0, + 0x576661, + 0x576a14, + 0x5772fe, + 0x577e8b, + 0x57847a, + 0x57880f, + 0x5790e5, + 0x579c90, + 0x57a131, + 0x57ad44, + 0x57b5ae, + 0x57b9db, + 0x57c299, + 0x57ceec, + 0x57d606, + 0x57da73, + 0x57e7d2, + 0x57eba7, + 0x57f34d, + 0x57ff38, + 0x580254, + 0x580e21, + 0x5816cb, + 0x581abe, + 0x58271f, + 0x582b6a, + 0x583380, + 0x583ff5, + 0x5844b7, + 0x5848c2, + 0x585028, + 0x585c5d, + 0x5861fc, + 0x586d89, + 0x587563, + 0x587916, + 0x5883e7, + 0x588f92, + 0x589778, + 0x589b0d, + 0x58a6ac, + 0x58aad9, + 0x58b233, + 0x58be46, + 0x58c504, + 0x58c971, + 0x58d19b, + 0x58ddee, + 0x58e04f, + 0x58ec3a, + 0x58f4d0, + 0x58f8a5, + 0x590132, + 0x590d47, + 0x5915ad, + 0x5919d8, + 0x592479, + 0x59280c, + 0x5930e6, + 0x593c93, + 0x5947d1, + 0x594ba4, + 0x59534e, + 0x595f3b, + 0x59629a, + 0x596eef, + 0x597605, + 0x597a70, + 0x598081, + 0x598cf4, + 0x59941e, + 0x59986b, + 0x59a5ca, + 0x59a9bf, + 0x59b155, + 0x59bd20, + 0x59c662, + 0x59ca17, + 0x59d2fd, + 0x59de88, + 0x59e329, + 0x59ef5c, + 0x59f7b6, + 0x59fbc3, + 0x5a0498, + 0x5a08ed, + 0x5a1007, + 0x5a1c72, + 0x5a21d3, + 0x5a2da6, + 0x5a354c, + 0x5a3939, + 0x5a427b, + 0x5a4e0e, + 0x5a56e4, + 0x5a5a91, + 0x5a6730, + 0x5a6b45, + 0x5a73af, + 0x5a7fda, + 0x5a852b, + 0x5a895e, + 0x5a91b4, + 0x5a9dc1, + 0x5aa060, + 0x5aac15, + 0x5ab4ff, + 0x5ab88a, + 0x5ac3c8, + 0x5acfbd, + 0x5ad757, + 0x5adb22, + 0x5ae683, + 0x5aeaf6, + 0x5af21c, + 0x5afe69, + 0x5b07fe, + 0x5b0b8b, + 0x5b1361, + 0x5b1f14, + 0x5b22b5, + 0x5b2ec0, + 0x5b362a, + 0x5b3a5f, + 0x5b411d, + 0x5b4d68, + 0x5b5582, + 0x5b59f7, + 0x5b6456, + 0x5b6823, + 0x5b70c9, + 0x5b7cbc, + 0x5b864d, + 0x5b8a38, + 0x5b92d2, + 0x5b9ea7, + 0x5ba306, + 0x5baf73, + 0x5bb799, + 0x5bbbec, + 0x5bc0ae, + 0x5bccdb, + 0x5bd431, + 0x5bd844, + 0x5be5e5, + 0x5be990, + 0x5bf17a, + 0x5bfd0f, + 0x5c03b9, + 0x5c0fcc, + 0x5c1726, + 0x5c1b53, + 0x5c26f2, + 0x5c2a87, + 0x5c326d, + 0x5c3e18, + 0x5c455a, + 0x5c492f, + 0x5c51c5, + 0x5c5db0, + 0x5c6011, + 0x5c6c64, + 0x5c748e, + 0x5c78fb, + 0x5c820a, + 0x5c8e7f, + 0x5c9695, + 0x5c9ae0, + 0x5ca741, + 0x5cab34, + 0x5cb3de, + 0x5cbfab, + 0x5cc4e9, + 0x5cc89c, + 0x5cd076, + 0x5cdc03, + 0x5ce1a2, + 0x5cedd7, + 0x5cf53d, + 0x5cf948, + 0x5d00df, + 0x5d0caa, + 0x5d1440, + 0x5d1835, + 0x5d2594, + 0x5d29e1, + 0x5d310b, + 0x5d3d7e, + 0x5d463c, + 0x5d4a49, + 0x5d52a3, + 0x5d5ed6, + 0x5d6377, + 0x5d6f02, + 0x5d77e8, + 0x5d7b9d, + 0x5d816c, + 0x5d8d19, + 0x5d95f3, + 0x5d9986, + 0x5da427, + 0x5da852, + 0x5db0b8, + 0x5dbccd, + 0x5dc78f, + 0x5dcbfa, + 0x5dd310, + 0x5ddf65, + 0x5de2c4, + 0x5deeb1, + 0x5df65b, + 0x5dfa2e, + 0x5e0575, + 0x5e0900, + 0x5e11ea, + 0x5e1d9f, + 0x5e203e, + 0x5e2c4b, + 0x5e34a1, + 0x5e38d4, + 0x5e4396, + 0x5e4fe3, + 0x5e5709, + 0x5e5b7c, + 0x5e66dd, + 0x5e6aa8, + 0x5e7242, + 0x5e7e37, + 0x5e84c6, + 0x5e88b3, + 0x5e9059, + 0x5e9c2c, + 0x5ea18d, + 0x5eadf8, + 0x5eb512, + 0x5eb967, + 0x5ec225, + 0x5ece50, + 0x5ed6ba, + 0x5edacf, + 0x5ee76e, + 0x5eeb1b, + 0x5ef3f1, + 0x5eff84, + 0x5f0613, + 0x5f0a66, + 0x5f128c, + 0x5f1ef9, + 0x5f2358, + 0x5f2f2d, + 0x5f37c7, + 0x5f3bb2, + 0x5f40f0, + 0x5f4c85, + 0x5f546f, + 0x5f581a, + 0x5f65bb, + 0x5f69ce, + 0x5f7124, + 0x5f7d51, + 0x5f87a0, + 0x5f8bd5, + 0x5f933f, + 0x5f9f4a, + 0x5fa2eb, + 0x5fae9e, + 0x5fb674, + 0x5fba01, + 0x5fc143, + 0x5fcd36, + 0x5fd5dc, + 0x5fd9a9, + 0x5fe408, + 0x5fe87d, + 0x5ff097, + 0x5ffce2, + 0x600527, + 0x600952, + 0x6011b8, + 0x601dcd, + 0x60206c, + 0x602c19, + 0x6034f3, + 0x603886, + 0x6043c4, + 0x604fb1, + 0x60575b, + 0x605b2e, + 0x60668f, + 0x606afa, + 0x607210, + 0x607e65, + 0x608494, + 0x6088e1, + 0x60900b, + 0x609c7e, + 0x60a1df, + 0x60adaa, + 0x60b540, + 0x60b935, + 0x60c277, + 0x60ce02, + 0x60d6e8, + 0x60da9d, + 0x60e73c, + 0x60eb49, + 0x60f3a3, + 0x60ffd6, + 0x610641, + 0x610a34, + 0x6112de, + 0x611eab, + 0x61230a, + 0x612f7f, + 0x613795, + 0x613be0, + 0x6140a2, + 0x614cd7, + 0x61543d, + 0x615848, + 0x6165e9, + 0x61699c, + 0x617176, + 0x617d03, + 0x6187f2, + 0x618b87, + 0x61936d, + 0x619f18, + 0x61a2b9, + 0x61aecc, + 0x61b626, + 0x61ba53, + 0x61c111, + 0x61cd64, + 0x61d58e, + 0x61d9fb, + 0x61e45a, + 0x61e82f, + 0x61f0c5, + 0x61fcb0, + 0x6203eb, + 0x620f9e, + 0x621774, + 0x621b01, + 0x6226a0, + 0x622ad5, + 0x62323f, + 0x623e4a, + 0x624508, + 0x62497d, + 0x625197, + 0x625de2, + 0x626043, + 0x626c36, + 0x6274dc, + 0x6278a9, + 0x628258, + 0x628e2d, + 0x6296c7, + 0x629ab2, + 0x62a713, + 0x62ab66, + 0x62b38c, + 0x62bff9, + 0x62c4bb, + 0x62c8ce, + 0x62d024, + 0x62dc51, + 0x62e1f0, + 0x62ed85, + 0x62f56f, + 0x62f91a, + 0x63008d, + 0x630cf8, + 0x631412, + 0x631867, + 0x6325c6, + 0x6329b3, + 0x633159, + 0x633d2c, + 0x63466e, + 0x634a1b, + 0x6352f1, + 0x635e84, + 0x636325, + 0x636f50, + 0x6377ba, + 0x637bcf, + 0x63813e, + 0x638d4b, + 0x6395a1, + 0x6399d4, + 0x63a475, + 0x63a800, + 0x63b0ea, + 0x63bc9f, + 0x63c7dd, + 0x63cba8, + 0x63d342, + 0x63df37, + 0x63e296, + 0x63eee3, + 0x63f609, + 0x63fa7c, + 0x6404ca, + 0x6408bf, + 0x641055, + 0x641c20, + 0x642181, + 0x642df4, + 0x64351e, + 0x64396b, + 0x644229, + 0x644e5c, + 0x6456b6, + 0x645ac3, + 0x646762, + 0x646b17, + 0x6473fd, + 0x647f88, + 0x648579, + 0x64890c, + 0x6491e6, + 0x649d93, + 0x64a032, + 0x64ac47, + 0x64b4ad, + 0x64b8d8, + 0x64c39a, + 0x64cfef, + 0x64d705, + 0x64db70, + 0x64e6d1, + 0x64eaa4, + 0x64f24e, + 0x64fe3b, + 0x6507ac, + 0x650bd9, + 0x651333, + 0x651f46, + 0x6522e7, + 0x652e92, + 0x653678, + 0x653a0d, + 0x65414f, + 0x654d3a, + 0x6555d0, + 0x6559a5, + 0x656404, + 0x656871, + 0x65709b, + 0x657cee, + 0x65861f, + 0x658a6a, + 0x659280, + 0x659ef5, + 0x65a354, + 0x65af21, + 0x65b7cb, + 0x65bbbe, + 0x65c0fc, + 0x65cc89, + 0x65d463, + 0x65d816, + 0x65e5b7, + 0x65e9c2, + 0x65f128, + 0x65fd5d, + 0x660206, + 0x660e73, + 0x661699, + 0x661aec, + 0x66274d, + 0x662b38, + 0x6633d2, + 0x663fa7, + 0x6644e5, + 0x664890, + 0x66507a, + 0x665c0f, + 0x6661ae, + 0x666ddb, + 0x667531, + 0x667944, + 0x6683b5, + 0x668fc0, + 0x66972a, + 0x669b5f, + 0x66a6fe, + 0x66aa8b, + 0x66b261, + 0x66be14, + 0x66c556, + 0x66c923, + 0x66d1c9, + 0x66ddbc, + 0x66e01d, + 0x66ec68, + 0x66f482, + 0x66f8f7, + 0x670160, + 0x670d15, + 0x6715ff, + 0x67198a, + 0x67242b, + 0x67285e, + 0x6730b4, + 0x673cc1, + 0x674783, + 0x674bf6, + 0x67531c, + 0x675f69, + 0x6762c8, + 0x676ebd, + 0x677657, + 0x677a22, + 0x6780d3, + 0x678ca6, + 0x67944c, + 0x679839, + 0x67a598, + 0x67a9ed, + 0x67b107, + 0x67bd72, + 0x67c630, + 0x67ca45, + 0x67d2af, + 0x67deda, + 0x67e37b, + 0x67ef0e, + 0x67f7e4, + 0x67fb91, + 0x6806fd, + 0x680a88, + 0x681262, + 0x681e17, + 0x6823b6, + 0x682fc3, + 0x683729, + 0x683b5c, + 0x68401e, + 0x684c6b, + 0x685481, + 0x6858f4, + 0x686555, + 0x686920, + 0x6871ca, + 0x687dbf, + 0x68874e, + 0x688b3b, + 0x6893d1, + 0x689fa4, + 0x68a205, + 0x68ae70, + 0x68b69a, + 0x68baef, + 0x68c1ad, + 0x68cdd8, + 0x68d532, + 0x68d947, + 0x68e4e6, + 0x68e893, + 0x68f079, + 0x68fc0c, + 0x69059b, + 0x6909ee, + 0x691104, + 0x691d71, + 0x6920d0, + 0x692ca5, + 0x69344f, + 0x69383a, + 0x694378, + 0x694f0d, + 0x6957e7, + 0x695b92, + 0x696633, + 0x696a46, + 0x6972ac, + 0x697ed9, + 0x698428, + 0x69885d, + 0x6990b7, + 0x699cc2, + 0x69a163, + 0x69ad16, + 0x69b5fc, + 0x69b989, + 0x69c2cb, + 0x69cebe, + 0x69d654, + 0x69da21, + 0x69e780, + 0x69ebf5, + 0x69f31f, + 0x69ff6a, + 0x6a0031, + 0x6a0c44, + 0x6a14ae, + 0x6a18db, + 0x6a257a, + 0x6a290f, + 0x6a31e5, + 0x6a3d90, + 0x6a46d2, + 0x6a4aa7, + 0x6a524d, + 0x6a5e38, + 0x6a6399, + 0x6a6fec, + 0x6a7706, + 0x6a7b73, + 0x6a8182, + 0x6a8df7, + 0x6a951d, + 0x6a9968, + 0x6aa4c9, + 0x6aa8bc, + 0x6ab056, + 0x6abc23, + 0x6ac761, + 0x6acb14, + 0x6ad3fe, + 0x6adf8b, + 0x6ae22a, + 0x6aee5f, + 0x6af6b5, + 0x6afac0, + 0x6b0357, + 0x6b0f22, + 0x6b17c8, + 0x6b1bbd, + 0x6b261c, + 0x6b2a69, + 0x6b3283, + 0x6b3ef6, + 0x6b45b4, + 0x6b49c1, + 0x6b512b, + 0x6b5d5e, + 0x6b60ff, + 0x6b6c8a, + 0x6b7460, + 0x6b7815, + 0x6b82e4, + 0x6b8e91, + 0x6b967b, + 0x6b9a0e, + 0x6ba7af, + 0x6babda, + 0x6bb330, + 0x6bbf45, + 0x6bc407, + 0x6bc872, + 0x6bd098, + 0x6bdced, + 0x6be14c, + 0x6bed39, + 0x6bf5d3, + 0x6bf9a6, + 0x6c0710, + 0x6c0b65, + 0x6c138f, + 0x6c1ffa, + 0x6c225b, + 0x6c2e2e, + 0x6c36c4, + 0x6c3ab1, + 0x6c41f3, + 0x6c4d86, + 0x6c556c, + 0x6c5919, + 0x6c64b8, + 0x6c68cd, + 0x6c7027, + 0x6c7c52, + 0x6c86a3, + 0x6c8ad6, + 0x6c923c, + 0x6c9e49, + 0x6ca3e8, + 0x6caf9d, + 0x6cb777, + 0x6cbb02, + 0x6cc040, + 0x6ccc35, + 0x6cd4df, + 0x6cd8aa, + 0x6ce50b, + 0x6ce97e, + 0x6cf194, + 0x6cfde1, + 0x6d0476, + 0x6d0803, + 0x6d10e9, + 0x6d1c9c, + 0x6d213d, + 0x6d2d48, + 0x6d35a2, + 0x6d39d7, + 0x6d4295, + 0x6d4ee0, + 0x6d560a, + 0x6d5a7f, + 0x6d67de, + 0x6d6bab, + 0x6d7341, + 0x6d7f34, + 0x6d85c5, + 0x6d89b0, + 0x6d915a, + 0x6d9d2f, + 0x6da08e, + 0x6dacfb, + 0x6db411, + 0x6db864, + 0x6dc326, + 0x6dcf53, + 0x6dd7b9, + 0x6ddbcc, + 0x6de66d, + 0x6dea18, + 0x6df2f2, + 0x6dfe87, + 0x6e01dc, + 0x6e0da9, + 0x6e1543, + 0x6e1936, + 0x6e2497, + 0x6e28e2, + 0x6e3008, + 0x6e3c7d, + 0x6e473f, + 0x6e4b4a, + 0x6e53a0, + 0x6e5fd5, + 0x6e6274, + 0x6e6e01, + 0x6e76eb, + 0x6e7a9e, + 0x6e806f, + 0x6e8c1a, + 0x6e94f0, + 0x6e9885, + 0x6ea524, + 0x6ea951, + 0x6eb1bb, + 0x6ebdce, + 0x6ec68c, + 0x6ecaf9, + 0x6ed213, + 0x6ede66, + 0x6ee3c7, + 0x6eefb2, + 0x6ef758, + 0x6efb2d, + 0x6f02ba, + 0x6f0ecf, + 0x6f1625, + 0x6f1a50, + 0x6f27f1, + 0x6f2b84, + 0x6f336e, + 0x6f3f1b, + 0x6f4459, + 0x6f482c, + 0x6f50c6, + 0x6f5cb3, + 0x6f6112, + 0x6f6d67, + 0x6f758d, + 0x6f79f8, + 0x6f8309, + 0x6f8f7c, + 0x6f9796, + 0x6f9be3, + 0x6fa642, + 0x6faa37, + 0x6fb2dd, + 0x6fbea8, + 0x6fc5ea, + 0x6fc99f, + 0x6fd175, + 0x6fdd00, + 0x6fe0a1, + 0x6fecd4, + 0x6ff43e, + 0x6ff84b, + 0x700293, + 0x700ee6, + 0x70160c, + 0x701a79, + 0x7027d8, + 0x702bad, + 0x703347, + 0x703f32, + 0x704470, + 0x704805, + 0x7050ef, + 0x705c9a, + 0x70613b, + 0x706d4e, + 0x7075a4, + 0x7079d1, + 0x708320, + 0x708f55, + 0x7097bf, + 0x709bca, + 0x70a66b, + 0x70aa1e, + 0x70b2f4, + 0x70be81, + 0x70c5c3, + 0x70c9b6, + 0x70d15c, + 0x70dd29, + 0x70e088, + 0x70ecfd, + 0x70f417, + 0x70f862, + 0x7101f5, + 0x710d80, + 0x71156a, + 0x71191f, + 0x7124be, + 0x7128cb, + 0x713021, + 0x713c54, + 0x714716, + 0x714b63, + 0x715389, + 0x715ffc, + 0x71625d, + 0x716e28, + 0x7176c2, + 0x717ab7, + 0x718046, + 0x718c33, + 0x7194d9, + 0x7198ac, + 0x71a50d, + 0x71a978, + 0x71b192, + 0x71bde7, + 0x71c6a5, + 0x71cad0, + 0x71d23a, + 0x71de4f, + 0x71e3ee, + 0x71ef9b, + 0x71f771, + 0x71fb04, + 0x72045f, + 0x72082a, + 0x7210c0, + 0x721cb5, + 0x722114, + 0x722d61, + 0x72358b, + 0x7239fe, + 0x7242bc, + 0x724ec9, + 0x725623, + 0x725a56, + 0x7267f7, + 0x726b82, + 0x727368, + 0x727f1d, + 0x7285ec, + 0x728999, + 0x729173, + 0x729d06, + 0x72a0a7, + 0x72acd2, + 0x72b438, + 0x72b84d, + 0x72c30f, + 0x72cf7a, + 0x72d790, + 0x72dbe5, + 0x72e644, + 0x72ea31, + 0x72f2db, + 0x72feae, + 0x730739, + 0x730b4c, + 0x7313a6, + 0x731fd3, + 0x732272, + 0x732e07, + 0x7336ed, + 0x733a98, + 0x7341da, + 0x734daf, + 0x735545, + 0x735930, + 0x736491, + 0x7368e4, + 0x73700e, + 0x737c7b, + 0x73868a, + 0x738aff, + 0x739215, + 0x739e60, + 0x73a3c1, + 0x73afb4, + 0x73b75e, + 0x73bb2b, + 0x73c069, + 0x73cc1c, + 0x73d4f6, + 0x73d883, + 0x73e522, + 0x73e957, + 0x73f1bd, + 0x73fdc8, + 0x74037e, + 0x740f0b, + 0x7417e1, + 0x741b94, + 0x742635, + 0x742a40, + 0x7432aa, + 0x743edf, + 0x74459d, + 0x7449e8, + 0x745102, + 0x745d77, + 0x7460d6, + 0x746ca3, + 0x747449, + 0x74783c, + 0x7482cd, + 0x748eb8, + 0x749652, + 0x749a27, + 0x74a786, + 0x74abf3, + 0x74b319, + 0x74bf6c, + 0x74c42e, + 0x74c85b, + 0x74d0b1, + 0x74dcc4, + 0x74e165, + 0x74ed10, + 0x74f5fa, + 0x74f98f, + 0x750018, + 0x750c6d, + 0x751487, + 0x7518f2, + 0x752553, + 0x752926, + 0x7531cc, + 0x753db9, + 0x7546fb, + 0x754a8e, + 0x755264, + 0x755e11, + 0x7563b0, + 0x756fc5, + 0x75772f, + 0x757b5a, + 0x7581ab, + 0x758dde, + 0x759534, + 0x759941, + 0x75a4e0, + 0x75a895, + 0x75b07f, + 0x75bc0a, + 0x75c748, + 0x75cb3d, + 0x75d3d7, + 0x75dfa2, + 0x75e203, + 0x75ee76, + 0x75f69c, + 0x75fae9, + 0x7605b2, + 0x7609c7, + 0x76112d, + 0x761d58, + 0x7620f9, + 0x762c8c, + 0x763466, + 0x763813, + 0x764351, + 0x764f24, + 0x7657ce, + 0x765bbb, + 0x76661a, + 0x766a6f, + 0x767285, + 0x767ef0, + 0x768401, + 0x768874, + 0x76909e, + 0x769ceb, + 0x76a14a, + 0x76ad3f, + 0x76b5d5, + 0x76b9a0, + 0x76c2e2, + 0x76ce97, + 0x76d67d, + 0x76da08, + 0x76e7a9, + 0x76ebdc, + 0x76f336, + 0x76ff43, + 0x7706d4, + 0x770aa1, + 0x77124b, + 0x771e3e, + 0x77239f, + 0x772fea, + 0x773700, + 0x773b75, + 0x774037, + 0x774c42, + 0x7754a8, + 0x7758dd, + 0x77657c, + 0x776909, + 0x7771e3, + 0x777d96, + 0x778767, + 0x778b12, + 0x7793f8, + 0x779f8d, + 0x77a22c, + 0x77ae59, + 0x77b6b3, + 0x77bac6, + 0x77c184, + 0x77cdf1, + 0x77d51b, + 0x77d96e, + 0x77e4cf, + 0x77e8ba, + 0x77f050, + 0x77fc25, + 0x780149, + 0x780d3c, + 0x7815d6, + 0x7819a3, + 0x782402, + 0x782877, + 0x78309d, + 0x783ce8, + 0x7847aa, + 0x784bdf, + 0x785335, + 0x785f40, + 0x7862e1, + 0x786e94, + 0x78767e, + 0x787a0b, + 0x7880fa, + 0x788c8f, + 0x789465, + 0x789810, + 0x78a5b1, + 0x78a9c4, + 0x78b12e, + 0x78bd5b, + 0x78c619, + 0x78ca6c, + 0x78d286, + 0x78def3, + 0x78e352, + 0x78ef27, + 0x78f7cd, + 0x78fbb8, + 0x79022f, + 0x790e5a, + 0x7916b0, + 0x791ac5, + 0x792764, + 0x792b11, + 0x7933fb, + 0x793f8e, + 0x7944cc, + 0x7948b9, + 0x795053, + 0x795c26, + 0x796187, + 0x796df2, + 0x797518, + 0x79796d, + 0x79839c, + 0x798fe9, + 0x799703, + 0x799b76, + 0x79a6d7, + 0x79aaa2, + 0x79b248, + 0x79be3d, + 0x79c57f, + 0x79c90a, + 0x79d1e0, + 0x79dd95, + 0x79e034, + 0x79ec41, + 0x79f4ab, + 0x79f8de, + 0x7a0785, + 0x7a0bf0, + 0x7a131a, + 0x7a1f6f, + 0x7a22ce, + 0x7a2ebb, + 0x7a3651, + 0x7a3a24, + 0x7a4166, + 0x7a4d13, + 0x7a55f9, + 0x7a598c, + 0x7a642d, + 0x7a6858, + 0x7a70b2, + 0x7a7cc7, + 0x7a8636, + 0x7a8a43, + 0x7a92a9, + 0x7a9edc, + 0x7aa37d, + 0x7aaf08, + 0x7ab7e2, + 0x7abb97, + 0x7ac0d5, + 0x7acca0, + 0x7ad44a, + 0x7ad83f, + 0x7ae59e, + 0x7ae9eb, + 0x7af101, + 0x7afd74, + 0x7b04e3, + 0x7b0896, + 0x7b107c, + 0x7b1c09, + 0x7b21a8, + 0x7b2ddd, + 0x7b3537, + 0x7b3942, + 0x7b4200, + 0x7b4e75, + 0x7b569f, + 0x7b5aea, + 0x7b674b, + 0x7b6b3e, + 0x7b73d4, + 0x7b7fa1, + 0x7b8550, + 0x7b8925, + 0x7b91cf, + 0x7b9dba, + 0x7ba01b, + 0x7bac6e, + 0x7bb484, + 0x7bb8f1, + 0x7bc3b3, + 0x7bcfc6, + 0x7bd72c, + 0x7bdb59, + 0x7be6f8, + 0x7bea8d, + 0x7bf267, + 0x7bfe12, + 0x7c00a4, + 0x7c0cd1, + 0x7c143b, + 0x7c184e, + 0x7c25ef, + 0x7c299a, + 0x7c3170, + 0x7c3d05, + 0x7c4647, + 0x7c4a32, + 0x7c52d8, + 0x7c5ead, + 0x7c630c, + 0x7c6f79, + 0x7c7793, + 0x7c7be6, + 0x7c8117, + 0x7c8d62, + 0x7c9588, + 0x7c99fd, + 0x7ca45c, + 0x7ca829, + 0x7cb0c3, + 0x7cbcb6, + 0x7cc7f4, + 0x7ccb81, + 0x7cd36b, + 0x7cdf1e, + 0x7ce2bf, + 0x7ceeca, + 0x7cf620, + 0x7cfa55, + 0x7d03c2, + 0x7d0fb7, + 0x7d175d, + 0x7d1b28, + 0x7d2689, + 0x7d2afc, + 0x7d3216, + 0x7d3e63, + 0x7d4521, + 0x7d4954, + 0x7d51be, + 0x7d5dcb, + 0x7d606a, + 0x7d6c1f, + 0x7d74f5, + 0x7d7880, + 0x7d8271, + 0x7d8e04, + 0x7d96ee, + 0x7d9a9b, + 0x7da73a, + 0x7dab4f, + 0x7db3a5, + 0x7dbfd0, + 0x7dc492, + 0x7dc8e7, + 0x7dd00d, + 0x7ddc78, + 0x7de1d9, + 0x7dedac, + 0x7df546, + 0x7df933, + 0x7e0668, + 0x7e0a1d, + 0x7e12f7, + 0x7e1e82, + 0x7e2323, + 0x7e2f56, + 0x7e37bc, + 0x7e3bc9, + 0x7e408b, + 0x7e4cfe, + 0x7e5414, + 0x7e5861, + 0x7e65c0, + 0x7e69b5, + 0x7e715f, + 0x7e7d2a, + 0x7e87db, + 0x7e8bae, + 0x7e9344, + 0x7e9f31, + 0x7ea290, + 0x7eaee5, + 0x7eb60f, + 0x7eba7a, + 0x7ec138, + 0x7ecd4d, + 0x7ed5a7, + 0x7ed9d2, + 0x7ee473, + 0x7ee806, + 0x7ef0ec, + 0x7efc99, + 0x7f050e, + 0x7f097b, + 0x7f1191, + 0x7f1de4, + 0x7f2045, + 0x7f2c30, + 0x7f34da, + 0x7f38af, + 0x7f43ed, + 0x7f4f98, + 0x7f5772, + 0x7f5b07, + 0x7f66a6, + 0x7f6ad3, + 0x7f7239, + 0x7f7e4c, + 0x7f84bd, + 0x7f88c8, + 0x7f9022, + 0x7f9c57, + 0x7fa1f6, + 0x7fad83, + 0x7fb569, + 0x7fb91c, + 0x7fc25e, + 0x7fce2b, + 0x7fd6c1, + 0x7fdab4, + 0x7fe715, + 0x7feb60, + 0x7ff38a, + 0x7fffff +}; diff --git a/src/horus_api.c b/src/horus_api.c new file mode 100644 index 0000000..38a1cd3 --- /dev/null +++ b/src/horus_api.c @@ -0,0 +1,516 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: horus_api.c + AUTHOR......: David Rowe + DATE CREATED: March 2018 + + Library of API functions that implement High Altitude Balloon (HAB) + telemetry modems and protocols for Project Horus. May also be useful for + other HAB projects. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2018 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include +#include +#include + +#include "horus_api.h" +#include "fsk.h" +#include "horus_l2.h" + +#define MAX_UW_LENGTH 100 +#define HORUS_API_VERSION 1 /* unique number that is bumped if API changes */ +#define HORUS_BINARY_NUM_BITS 360 /* fixed number of bytes in binary payload */ +#define HORUS_BINARY_NUM_PAYLOAD_BYTES 22 /* fixed number of bytes in binary payload */ + +struct horus { + int mode; + int verbose; + struct FSK *fsk; /* states for FSK modem */ + int Fs; /* sample rate in Hz */ + int mFSK; /* number of FSK tones */ + int Rs; /* symbol rate in Hz */ + int uw[MAX_UW_LENGTH]; /* unique word bits mapped to +/-1 */ + int uw_thresh; /* threshold for UW detection */ + int uw_len; /* length of unique word */ + int max_packet_len; /* max length of a telemetry packet */ + uint8_t *rx_bits; /* buffer of received bits */ + int rx_bits_len; /* length of rx_bits buffer */ + int crc_ok; /* most recent packet checksum results */ + int total_payload_bits; /* num bits rx-ed in last RTTY packet */ +}; + +/* Unique word for Horus RTTY 7 bit '$' character, 3 sync bits, + repeated 5 times */ + +int8_t uw_horus_rtty[] = { + 0,0,1,0,0,1,0,1,1,0, + 0,0,1,0,0,1,0,1,1,0, + 0,0,1,0,0,1,0,1,1,0, + 0,0,1,0,0,1,0,1,1,0, + 0,0,1,0,0,1,0,1,1,0 +}; + +/* Unique word for Horus Binary */ + +int8_t uw_horus_binary[] = { + 0,0,1,0,0,1,0,0, + 0,0,1,0,0,1,0,0 +}; + +struct horus *horus_open (int mode, int Rs) { + int i; + assert((mode == HORUS_MODE_RTTY) || (mode == HORUS_MODE_BINARY)); + + struct horus *hstates = (struct horus *)malloc(sizeof(struct horus)); + assert(hstates != NULL); + + hstates->Fs = 48000; hstates->Rs = Rs; hstates->verbose = 0; hstates->mode = mode; + + if (mode == HORUS_MODE_RTTY) { + hstates->mFSK = 2; + hstates->max_packet_len = 1000; + + /* map UW to make it easier to search for */ + + for (i=0; iuw[i] = 2*uw_horus_rtty[i] - 1; + } + hstates->uw_len = sizeof(uw_horus_rtty); + hstates->uw_thresh = sizeof(uw_horus_rtty) - 2; /* allow a few bit errors in UW detection */ + hstates->rx_bits_len = hstates->max_packet_len; + } + + if (mode == HORUS_MODE_BINARY) { + hstates->mFSK = 4; + hstates->max_packet_len = HORUS_BINARY_NUM_BITS; + for (i=0; iuw[i] = 2*uw_horus_binary[i] - 1; + } + hstates->uw_len = sizeof(uw_horus_binary); + hstates->uw_thresh = sizeof(uw_horus_binary) - 2; /* allow a few bit errors in UW detection */ + horus_l2_init(); + hstates->rx_bits_len = hstates->max_packet_len; + } + + hstates->fsk = fsk_create(hstates->Fs, hstates->Rs, hstates->mFSK, 1000, 2*hstates->Rs); + + /* allocate enough room for two packets so we know there will be + one complete packet if we find a UW at start */ + + hstates->rx_bits_len += hstates->fsk->Nbits; + hstates->rx_bits = (uint8_t*)malloc(hstates->rx_bits_len); + assert(hstates->rx_bits != NULL); + for(i=0; irx_bits_len; i++) { + hstates->rx_bits[i] = 0; + } + + hstates->crc_ok = 0; + hstates->total_payload_bits = 0; + + return hstates; +} + +void horus_close (struct horus *hstates) { + assert(hstates != NULL); + fsk_destroy(hstates->fsk); + free(hstates->rx_bits); + free(hstates); +} + +uint32_t horus_nin(struct horus *hstates) { + assert(hstates != NULL); + int nin = fsk_nin(hstates->fsk); + assert(nin <= horus_get_max_demod_in(hstates)); + return nin; +} + +int horus_find_uw(struct horus *hstates, int n) { + int i, j, corr, mx, mx_ind; + int rx_bits_mapped[n+hstates->uw_len]; + + /* map rx_bits to +/-1 for UW search */ + + for(i=0; iuw_len; i++) { + rx_bits_mapped[i] = 2*hstates->rx_bits[i] - 1; + } + + /* look for UW */ + + mx = 0; mx_ind = 0; + for(i=0; iuw_len; j++) { + corr += rx_bits_mapped[i+j]*hstates->uw[j]; + } + + /* peak pick maximum */ + + if (corr > mx) { + mx = corr; + mx_ind = i; + } + } + + if (hstates->verbose) { + fprintf(stderr, " horus_find_uw: mx_ind: %d mx: %d uw_thresh: %d n: %d\n", mx_ind, mx, hstates->uw_thresh, n); + } + + if (mx >= hstates->uw_thresh) { + return mx_ind; + } else { + return -1; + } +} + +int hex2int(char ch) { + if (ch >= '0' && ch <= '9') + return ch - '0'; + if (ch >= 'A' && ch <= 'F') + return ch - 'A' + 10; + if (ch >= 'a' && ch <= 'f') + return ch - 'a' + 10; + return -1; +} + + +int extract_horus_rtty(struct horus *hstates, char ascii_out[], int uw_loc) { + const int nfield = 7; /* 7 bit ASCII */ + const int npad = 3; /* 3 sync bits between characters */ + int st = uw_loc; /* first bit of first char */ + int en = hstates->max_packet_len - nfield; /* last bit of max length packet */ + + int i, j, endpacket, nout, crc_ok; + uint8_t char_dec; + char *pout, *ptx_crc; + uint16_t rx_crc, tx_crc; + + pout = ascii_out; nout = 0; crc_ok = 0; endpacket = 0; rx_crc = tx_crc = 0; + + for (i=st; irx_bits[i+j] <= 1); + char_dec |= hstates->rx_bits[i+j] * (1<verbose) { + fprintf(stderr, " extract_horus_rtty i: %4d 0x%02x %c ", i, char_dec, char_dec); + if ((nout % 6) == 0) { + fprintf(stderr, "\n"); + } + } + + /* if we find a '*' that's the end of the packet for RX CRC calculations */ + + if (!endpacket && (char_dec == 42)) { + endpacket = 1; + rx_crc = horus_l2_gen_crc16((uint8_t*)&ascii_out[5], nout-5); + ptx_crc = pout + 1; /* start of tx CRC */ + } + + /* build up output array, really only need up to tx crc but + may end up going further */ + + *pout++ = (char)char_dec; + nout++; + + } + + /* if we found the end of packet flag and have enough chars to compute checksum ... */ + + //fprintf(stderr, "\n\ntx CRC...\n"); + if (endpacket && (pout > (ptx_crc+3))) { + tx_crc = 0; + for(i=0; i<4; i++) { + tx_crc <<= 4; + tx_crc |= hex2int(ptx_crc[i]); + //fprintf(stderr, "ptx_crc[%d] %c 0x%02X tx_crc: 0x%04X\n", i, ptx_crc[i], hex2int(ptx_crc[i]), tx_crc); + } + crc_ok = (tx_crc == rx_crc); + *(ptx_crc+4) = 0; /* terminate ASCII string */ + + if (crc_ok) { + hstates->total_payload_bits = strlen(ascii_out)*7; + } + } + else { + *ascii_out = 0; + } + + if (hstates->verbose) { + fprintf(stderr, "\n endpacket: %d nout: %d tx_crc: 0x%04x rx_crc: 0x%04x\n", + endpacket, nout, tx_crc, rx_crc); + } + + /* make sure we don't overrun storage */ + + assert(nout <= horus_get_max_ascii_out_len(hstates)); + + hstates->crc_ok = crc_ok; + + return crc_ok; +} + + +int extract_horus_binary(struct horus *hstates, char hex_out[], int uw_loc) { + const int nfield = 8; /* 8 bit binary */ + int st = uw_loc; /* first bit of first char */ + int en = uw_loc + hstates->max_packet_len; /* last bit of max length packet */ + + int j, b, nout; + uint8_t rxpacket[hstates->max_packet_len]; + uint8_t rxbyte, *pout; + + /* convert bits to a packet of bytes */ + + pout = rxpacket; nout = 0; + + for (b=st; brx_bits[b+j] <= 1); + rxbyte <<= 1; + rxbyte |= hstates->rx_bits[b+j]; + } + + /* build up output array */ + + *pout++ = rxbyte; + nout++; + } + + if (hstates->verbose) { + fprintf(stderr, " extract_horus_binary nout: %d\n Received Packet before decoding:\n ", nout); + for (b=0; bverbose) { + fprintf(stderr, " extract_horus_binary crc_tx: %04X crc_rx: %04X\n", crc_tx, crc_rx); + } + + /* convert to ASCII string of hex characters */ + + hex_out[0] = 0; + char hex[3]; + for (b=0; bverbose) { + fprintf(stderr, " nout: %d Decoded Payload bytes:\n %s", nout, hex_out); + } + + /* With noise input to FSK demod we can get occasinal UW matches, + so a good idea to only pass on any packets that pass CRC */ + + hstates->crc_ok = (crc_tx == crc_rx); + if ( hstates->crc_ok) { + hstates->total_payload_bits += HORUS_BINARY_NUM_PAYLOAD_BYTES; + } + return hstates->crc_ok; +} + + +int horus_rx(struct horus *hstates, char ascii_out[], short demod_in[], int quadrature) { + int i, j, uw_loc, packet_detected; + + assert(hstates != NULL); + packet_detected = 0; + + int Nbits = hstates->fsk->Nbits; + int rx_bits_len = hstates->rx_bits_len; + + if (hstates->verbose) { + fprintf(stderr, " horus_rx max_packet_len: %d rx_bits_len: %d Nbits: %d nin: %d\n", + hstates->max_packet_len, rx_bits_len, Nbits, hstates->fsk->nin); + } + + /* shift buffer of bits to make room for new bits */ + + for(i=0,j=Nbits; jrx_bits[i] = hstates->rx_bits[j]; + } + + /* demodulate latest bits */ + + /* Note: allocating this array as an automatic variable caused OSX to + "Bus Error 10" (segfault), so lets malloc() it. */ + + COMP *demod_in_comp = (COMP*)malloc(sizeof(COMP)*hstates->fsk->nin); + + for (i=0; ifsk->nin; i++) { + if (quadrature) { + demod_in_comp[i].real = demod_in[i * 2]; + demod_in_comp[i].imag = demod_in[i * 2 + 1]; + } else { + demod_in_comp[i].real = demod_in[i]; + demod_in_comp[i].imag = 0; + } + } + fsk_demod(hstates->fsk, &hstates->rx_bits[rx_bits_len-Nbits], demod_in_comp); + free(demod_in_comp); + + /* UW search to see if we can find the start of a packet in the buffer */ + + if ((uw_loc = horus_find_uw(hstates, Nbits)) != -1) { + + if (hstates->verbose) { + fprintf(stderr, " horus_rx uw_loc: %d mode: %d\n", uw_loc, hstates->mode); + } + + /* OK we have found a unique word, and therefore the start of + a packet, so lets try to extract valid packets */ + + if (hstates->mode == HORUS_MODE_RTTY) { + packet_detected = extract_horus_rtty(hstates, ascii_out, uw_loc); + } + if (hstates->mode == HORUS_MODE_BINARY) { + packet_detected = extract_horus_binary(hstates, ascii_out, uw_loc); + //#define DUMP_BINARY_PACKET + #ifdef DUMP_BINARY_PACKET + FILE *f = fopen("packetbits.txt", "wt"); assert(f != NULL); + for(i=0; imax_packet_len; i++) { + fprintf(f,"%d ", hstates->rx_bits[uw_loc+i]); + } + fclose(f); + exit(0); + #endif + } + } + + return packet_detected; +} + +int horus_get_version(void) { + return HORUS_API_VERSION; +} + +int horus_get_mode(struct horus *hstates) { + assert(hstates != NULL); + return hstates->mode; +} + +int horus_get_Fs(struct horus *hstates) { + assert(hstates != NULL); + return hstates->Fs; +} + +int horus_get_mFSK(struct horus *hstates) { + assert(hstates != NULL); + return hstates->mFSK; +} + +int horus_get_max_demod_in(struct horus *hstates) { + /* copied from fsk_demod.c, a nicer fsk_max_nin function would be useful */ + return sizeof(short)*(hstates->fsk->N + hstates->fsk->Ts*2); +} + +int horus_get_max_ascii_out_len(struct horus *hstates) { + assert(hstates != NULL); + if (hstates->mode == HORUS_MODE_RTTY) { + return hstates->max_packet_len/10; /* 7 bit ASCII, plus 3 sync bits */ + } + if (hstates->mode == HORUS_MODE_BINARY) { + return (HORUS_BINARY_NUM_PAYLOAD_BYTES*2+1); /* Hexadecimal encoded */ + //return HORUS_BINARY_NUM_PAYLOAD_BYTES; + } + assert(0); /* should never get here */ + return 0; +} + +void horus_get_modem_stats(struct horus *hstates, int *sync, float *snr_est) { + struct MODEM_STATS stats; + assert(hstates != NULL); + + /* TODO set sync if UW found "recently", but WTF is recently? Maybe need a little state + machine to "blink" sync when we get a packet */ + + *sync = 0; + + /* SNR scaled from Eb/No est returned by FSK to SNR in 3000 Hz */ + + fsk_get_demod_stats(hstates->fsk, &stats); + *snr_est = stats.snr_est + 10*log10((float)hstates->Rs*log2(hstates->mFSK)/3000); +} + +void horus_get_modem_extended_stats (struct horus *hstates, struct MODEM_STATS *stats) { + int i; + + assert(hstates != NULL); + + fsk_get_demod_stats(hstates->fsk, stats); + if (hstates->verbose) { + fprintf(stderr, " horus_get_modem_extended_stats stats->snr_est: %f\n", stats->snr_est); + } + stats->snr_est = stats->snr_est + 10*log10((float)hstates->Rs*log2(hstates->mFSK)/3000); + + assert(hstates->mFSK <= MODEM_STATS_MAX_F_EST); + for (i=0; imFSK; i++) { + stats->f_est[i] = hstates->fsk->f_est[i]; + } +} + +void horus_set_verbose(struct horus *hstates, int verbose) { + assert(hstates != NULL); + hstates->verbose = verbose; +} + +int horus_crc_ok(struct horus *hstates) { + assert(hstates != NULL); + return hstates->crc_ok; +} + +int horus_get_total_payload_bits(struct horus *hstates) { + assert(hstates != NULL); + return hstates->total_payload_bits; +} + +void horus_set_total_payload_bits(struct horus *hstates, int val) { + assert(hstates != NULL); + hstates->total_payload_bits = val; +} + +void horus_set_freq_est_limits(struct horus *hstates, float fsk_lower, float fsk_upper) { + assert(hstates != NULL); + assert(fsk_upper > fsk_lower); + hstates->fsk->est_min = fsk_lower; + hstates->fsk->est_max = fsk_upper; +} diff --git a/src/horus_api.h b/src/horus_api.h new file mode 100644 index 0000000..ae712e7 --- /dev/null +++ b/src/horus_api.h @@ -0,0 +1,81 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: horus_api.h + AUTHOR......: David Rowe + DATE CREATED: March 2018 + + Library of API functions that implement High Altitude Balloon (HAB) + telemetry modems and protocols. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2018 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifdef __cplusplus + extern "C" { +#endif + +#ifndef __HORUS_API__ + +#include +#include "modem_stats.h" + +#define HORUS_MODE_BINARY 0 +#define HORUS_MODE_RTTY 1 + +struct horus; +struct MODEM_STATS; + +struct horus *horus_open (int mode, int Rs); +void horus_close (struct horus *hstates); + +/* call before horus_rx() to determine how many shorts to pass in */ + +uint32_t horus_nin (struct horus *hstates); + +/* returns 1 if ascii_out[] is valid */ + +int horus_rx (struct horus *hstates, char ascii_out[], short demod_in[], int quadrature); + +/* set verbose level */ + +void horus_set_verbose(struct horus *hstates, int verbose); + +/* functions to get information from API */ + +int horus_get_version (void); +int horus_get_mode (struct horus *hstates); +int horus_get_Fs (struct horus *hstates); +int horus_get_mFSK (struct horus *hstates); +void horus_get_modem_stats (struct horus *hstates, int *sync, float *snr_est); +void horus_get_modem_extended_stats (struct horus *hstates, struct MODEM_STATS *stats); +int horus_crc_ok (struct horus *hstates); +int horus_get_total_payload_bits (struct horus *hstates); +void horus_set_total_payload_bits (struct horus *hstates, int val); +void horus_set_freq_est_limits (struct horus *hstates, float fsk_lower, float fsk_upper); + +/* how much storage you need for demod_in[] and ascii_out[] */ + +int horus_get_max_demod_in (struct horus *hstates); +int horus_get_max_ascii_out_len (struct horus *hstates); + +#endif + +#ifdef __cplusplus +} +#endif diff --git a/src/horus_demod.c b/src/horus_demod.c new file mode 100644 index 0000000..b3d8af8 --- /dev/null +++ b/src/horus_demod.c @@ -0,0 +1,296 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: horus_demod.c + AUTHOR......: David Rowe + DATE CREATED: April 2018 + + Command line demo program for the Horus API, that exercises + horus_api.c using file input/output (can be stdin/stdout for real + time operation). Prints JSON stats, just like Brady's fsk_demod.c + + Can operate in Horus RTTY or Binary mode. + + Testing with a 8000Hz sample rate wave file: + + $ sox ~/Desktop/horus.wav -r 48000 -t raw - | ./horus_demod -m RTTY -v - /dev/null + + $ sox ~/Desktop/4FSK_binary_100Rb_8khzfs.wav -r 48000 -t raw - | ./horus_demod -m binary - - + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2018 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include +#include +#include +#include + +#include "horus_api.h" +#include "fsk.h" +#include "horus_l2.h" + +int main(int argc, char *argv[]) { + struct horus *hstates; + struct MODEM_STATS stats; + FILE *fin,*fout; + int i,j,Ndft,mode; + int stats_ctr,stats_loop, stats_rate, verbose, crc_results; + float loop_time; + int enable_stats = 0; + int quadrature = 0; + int fsk_lower = -1; + int fsk_upper = -1; + int Rs = 100; + + stats_loop = 0; + stats_rate = 8; + mode = -1; + verbose = crc_results = 0; + + int o = 0; + int opt_idx = 0; + while ( o != -1 ) { + static struct option long_opts[] = { + {"help", no_argument, 0, 'h'}, + {"mode", required_argument, 0, 'm'}, + {"rate", optional_argument, 0, 'r'}, + {"stats", optional_argument, 0, 't'}, + {"fsk_lower", optional_argument, 0, 'b'}, + {"fsk_upper", optional_argument, 0, 'u'}, + {0, 0, 0, 0} + }; + + o = getopt_long(argc,argv,"hvcqm:t::",long_opts,&opt_idx); + + switch(o) { + case 'm': + if ((strcmp(optarg, "RTTY") == 0) || (strcmp(optarg, "rtty") == 0)) { + mode = HORUS_MODE_RTTY; + } + if ((strcmp(optarg, "BINARY") == 0) || (strcmp(optarg, "binary") == 0)) { + mode = HORUS_MODE_BINARY; + } + if (mode == -1) { + fprintf(stderr, "use --mode RTTY or --mode binary\n"); + exit(1); + } + break; + case 't': + enable_stats = 1; + if (optarg != NULL){ + stats_rate = atoi(optarg); + if (stats_rate == 0) { + stats_rate = 8; + } + } + break; + case 'v': + verbose = 1; + break; + case 'c': + crc_results = 1; + break; + case 'h': + case '?': + goto helpmsg; + break; + case 'q': + quadrature = 1; + break; + case 'b': + if (optarg != NULL){ + fsk_lower = atoi(optarg); + } + break; + case 'u': + if (optarg != NULL){ + fsk_upper = atoi(optarg); + } + break; + case 'r': + if (optarg != NULL){ + Rs = atoi(optarg); + } + break; + break; + } + } + + int dx = optind; + + if( (argc - dx) < 2) { + fprintf(stderr, "Too few arguments\n"); + goto helpmsg; + } + + if( (argc - dx) > 5) { + fprintf(stderr, "Too many arguments\n"); + helpmsg: + fprintf(stderr,"usage: %s -m RTTY|binary [-q] [-v] [-c] [-t [r]] InputModemRawFile OutputAsciiFile\n",argv[0]); + fprintf(stderr,"\n"); + fprintf(stderr,"InputModemRawFile 48 kHz 16 bit shorts real modem signal from radio\n"); + fprintf(stderr," -m RTTY|binary\n"); + fprintf(stderr,"--mode=RTTY|binary RTTY or binary Horus protcols\n"); + fprintf(stderr,"--rate=[Rs] Modem baud rate. Default: 100\n"); + fprintf(stderr," -t[r] --stats=[r] Print out modem statistics to stderr in JSON.\n"); + fprintf(stderr," r, if provided, sets the number of modem frames\n" + " between statistic printouts\n"); + fprintf(stderr," -q use stereo (IQ) input\n"); + fprintf(stderr," -v verbose debug info\n"); + fprintf(stderr," -c display CRC results for each packet\n"); + exit(1); + } + + /* Open files */ + + if (verbose) { + fprintf(stderr, "mode: %d verbose: %d stats_loop: %d stats_rate: %d Rs: %d\n",mode, verbose, stats_loop, stats_rate, Rs); + } + if (strcmp(argv[dx],"-")==0) { + fin = stdin; + } else { + fin = fopen(argv[dx],"rb"); + } + + if (strcmp(argv[dx + 1],"-")==0) { + fout = stdout; + } else { + fout = fopen(argv[dx + 1],"w"); + } + + if ((fin==NULL) || (fout==NULL)) { + fprintf(stderr,"Couldn't open test vector files\n"); + exit(1); + } + + /* end command line processing */ + + hstates = horus_open(mode, Rs); + horus_set_verbose(hstates, verbose); + + if (hstates == NULL) { + fprintf(stderr, "Couldn't open Horus API\n"); + exit(1); + } + + if (enable_stats) { + loop_time = (float)horus_nin(hstates)/horus_get_Fs(hstates); + stats_loop = (int)(1.0/(stats_rate*loop_time)); + stats_ctr = 0; + } + + if((fsk_lower> 0) && (fsk_upper > fsk_lower)){ + horus_set_freq_est_limits(hstates, fsk_lower, fsk_upper); + fprintf(stderr,"Setting estimator limits to %d to %d Hz.\n",fsk_lower, fsk_upper); + } + + + int max_demod_in = horus_get_max_demod_in(hstates); + int hsize = quadrature ? 2 : 1; + short demod_in[max_demod_in * hsize]; + int max_ascii_out = horus_get_max_ascii_out_len(hstates); + char ascii_out[max_ascii_out]; + + /* Main loop ----------------------------------------------------------------------- */ + + while(fread(demod_in, hsize * sizeof(short), horus_nin(hstates), fin) == horus_nin(hstates)) { + + if (verbose) { + fprintf(stderr, "read nin %d\n", horus_nin(hstates)); + } + if (horus_rx(hstates, ascii_out, demod_in, quadrature)) { + fprintf(stdout, "%s", ascii_out); + if (crc_results) { + if (horus_crc_ok(hstates)) { + fprintf(stdout, " CRC OK"); + } else { + fprintf(stdout, " CRC BAD"); + } + } + fprintf(stdout, "\n"); + } + + if (enable_stats && stats_ctr <= 0) { + + horus_get_modem_extended_stats(hstates, &stats); + + /* Print standard 2FSK stats */ + + fprintf(stderr,"{\"EbNodB\": %2.2f,\t\"ppm\": %d,",stats.snr_est, (int)stats.clock_offset); + fprintf(stderr,"\t\"f1_est\":%.1f,\t\"f2_est\":%.1f",stats.f_est[0], stats.f_est[1]); + + /* Print 4FSK stats if in 4FSK mode */ + + if (horus_get_mFSK(hstates) == 4) { + fprintf(stderr,",\t\"f3_est\":%.1f,\t\"f4_est\":%.1f", stats.f_est[2], stats.f_est[3]); + } + + /* Print the eye diagram */ + + fprintf(stderr,",\t\"eye_diagram\":["); + for(i=0;ifsk->Ndft/2; + for(i=0; ifsk->fft_est)[i]); + if(i +#include +#include +#include +#include +#include + +#include "horus_l2.h" + +// TODO: Move these packet format definitions to somehwere common. + +/* Horus Mode 0 (Legacy 22-byte) Binary Packet */ +struct TBinaryPacket0 +{ + uint8_t PayloadID; + uint16_t Counter; + uint8_t Hours; + uint8_t Minutes; + uint8_t Seconds; + float Latitude; + float Longitude; + uint16_t Altitude; + uint8_t Speed; // Speed in Knots (1-255 knots) + uint8_t Sats; + int8_t Temp; // Twos Complement Temp value. + uint8_t BattVoltage; // 0 = 0.5v, 255 = 2.0V, linear steps in-between. + uint16_t Checksum; // CRC16-CCITT Checksum. +} __attribute__ ((packed)); + +/* Horus Mode 1 (32-byte) Binary Packet */ +struct TBinaryPacket1 +{ + uint16_t PayloadID; + uint16_t Counter; + uint8_t Hours; + uint8_t Minutes; + uint8_t Seconds; + float Latitude; + float Longitude; + uint16_t Altitude; + uint8_t Speed; // Speed in Knots (1-255 knots) + uint8_t Sats; + int8_t Temp; // Twos Complement Temp value. + uint8_t BattVoltage; // 0 = 0.5v, 255 = 2.0V, linear steps in-between. + uint8_t dummy1; // Dummy values for user-configurable section. + uint8_t dummy2; + uint8_t dummy3; + uint8_t dummy4; + uint8_t dummy5; + uint8_t dummy6; + uint8_t dummy7; + uint8_t dummy8; + uint8_t dummy9; + uint16_t Checksum; // CRC16-CCITT Checksum. +} __attribute__ ((packed)); + +/* Horus Mode 2 (16-byte) Binary Packet */ +struct TBinaryPacket2 +{ + uint8_t PayloadID; + uint8_t Counter; + uint16_t BiSeconds; + uint8_t LatitudeMSB; + uint16_t Latitude; + uint8_t LongitudeMSB; + uint16_t Longitude; + uint16_t Altitude; + uint8_t BattVoltage; // 0 = 0.5v, 255 = 2.0V, linear steps in-between. + uint8_t flags; // Dummy values for user-configurable section. + uint16_t Checksum; // CRC16-CCITT Checksum. +} __attribute__ ((packed)); + + + + +int main(int argc,char *argv[]) { + int i, framecnt; + int horus_mode = 0; + + char usage[] = "usage: %s horus_mode numFrames\nMode 0 = Legacy 22-byte Golay FEC\nMode 1 = 32-byte LDPC FEC\nMode 2 = 16-byte LDPC FEC\n"; + + if (argc < 3) { + fprintf(stderr, usage, argv[0]); + exit(1); + } + + horus_mode = atoi(argv[1]); + fprintf(stderr, "Using Horus Mode %d.\n", horus_mode); + + framecnt = atoi(argv[2]); + fprintf(stderr, "Generating %d frames.\n", framecnt); + + if(horus_mode == 0){ + int nbytes = sizeof(struct TBinaryPacket0); + struct TBinaryPacket0 input_payload; + int num_tx_data_bytes = horus_l2_get_num_tx_data_bytes(nbytes); + unsigned char tx[num_tx_data_bytes]; + + /* all zeros is nastiest sequence for demod before scrambling */ + + memset(&input_payload, 0, nbytes); + input_payload.Checksum = horus_l2_gen_crc16((unsigned char*)&input_payload, nbytes-2); + + horus_l2_encode_tx_packet(tx, (unsigned char*)&input_payload, nbytes); + + int b; + uint8_t tx_bit; + while(framecnt > 0){ + for(i=0; i> (7-b)) & 0x1; /* msb first */ + fwrite(&tx_bit,sizeof(uint8_t),1,stdout); + fflush(stdout); + } + } + framecnt -= 1; + } + + } else if(horus_mode == 1){ + // 32-Byte LDPC Encoded mode. + int nbytes = sizeof(struct TBinaryPacket1); + struct TBinaryPacket1 input_payload; + + // TODO: Add Calculation of expected number of TX bytes based on LDPC code. + int num_tx_data_bytes = nbytes; + unsigned char tx[num_tx_data_bytes]; + + /* all zeros is nastiest sequence for demod before scrambling */ + memset(&input_payload, 0, nbytes); + input_payload.Checksum = horus_l2_gen_crc16((unsigned char*)&input_payload, nbytes-2); + + + // TODO: Replaced with LDPC Encoding + memcpy(tx, (unsigned char*)&input_payload, nbytes); + + int b; + uint8_t tx_bit; + while(framecnt > 0){ + for(i=0; i> (7-b)) & 0x1; /* msb first */ + fwrite(&tx_bit,sizeof(uint8_t),1,stdout); + fflush(stdout); + } + } + framecnt -= 1; + } + } else if(horus_mode == 2){ + // 16-Byte LDPC Encoded mode. + int nbytes = sizeof(struct TBinaryPacket2); + struct TBinaryPacket2 input_payload; + + // TODO: Add Calculation of expected number of TX bytes based on LDPC code. + int num_tx_data_bytes = nbytes; + unsigned char tx[num_tx_data_bytes]; + + /* all zeros is nastiest sequence for demod before scrambling */ + memset(&input_payload, 0, nbytes); + input_payload.Checksum = horus_l2_gen_crc16((unsigned char*)&input_payload, nbytes-2); + + + // TODO: Replaced with LDPC Encoding + memcpy(tx, (unsigned char*)&input_payload, nbytes); + + int b; + uint8_t tx_bit; + while(framecnt > 0){ + for(i=0; i> (7-b)) & 0x1; /* msb first */ + fwrite(&tx_bit,sizeof(uint8_t),1,stdout); + fflush(stdout); + } + } + framecnt -= 1; + } + } else { + fprintf(stderr, "Unknown Mode!"); + } + + return 0; +} \ No newline at end of file diff --git a/src/horus_l2.c b/src/horus_l2.c new file mode 100644 index 0000000..78fa85a --- /dev/null +++ b/src/horus_l2.c @@ -0,0 +1,946 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: horus_l2.c + AUTHOR......: David Rowe + DATE CREATED: Dec 2015 + + Horus telemetry layer 2 processing. Takes an array of 8 bit payload + data, generates parity bits for a (23,12) Golay code, interleaves + data and parity bits, pre-pends a Unique Word for modem sync. + Caller is responsible for providing storage for output packet. + + 1/ Unit test on a PC: + + $ gcc horus_l2.c -o horus_l2 -Wall -DHORUS_L2_UNITTEST + $ ./horus_l2 + + test 0: 22 bytes of payload data BER: 0.00 errors: 0 + test 0: 22 bytes of payload data BER: 0.01 errors: 0 + test 0: 22 bytes of payload data BER: 0.05 errors: 0 + test 0: 22 bytes of payload data BER: 0.10 errors: 7 + + This indicates it's correcting all channel errors for 22 bytes of + payload data, at bit error rate (BER) of 0, 0.01, 0.05. It falls + over at a BER of 0.10 which is expected. + + 2/ To build with just the tx function, ie for linking with the payload + firmware: + + $ gcc horus_l2.c golay23.c -c -Wall + + By default the RX side is #ifdef-ed out, leaving the minimal amount + of code for tx. + + 3/ Generate some tx_bits as input for testing with fsk_horus: + + $ gcc horus_l2.c golay23.c -o horus_l2 -Wall -DGEN_TX_BITS -DSCRAMBLER -DINTERLEAVER + $ ./horus_l2 + $ more ../octave/horus_tx_bits_binary.txt + + 4/ Streaming test bits to stdout, for 'live' testing with fsk_mod and horus_demod: + + $ gcc horus_l2.c golay23.c -o horus_l2 -Wall -DGEN_TX_BITSTREAM -DSCRAMBLER -DINTERLEAVER + $ cp horus_l2 ../build/src/ + $ cd ../build/src/ + $ ./horus_l2 100 | ./fsk_mod 4 48000 100 750 250 - - | ./horus_demod -m binary - - + + 5/ Unit testing interleaver: + + $ gcc horus_l2.c golay23.c -o horus_l2 -Wall -DINTERLEAVER -DTEST_INTERLEAVER -DSCRAMBLER + + 6/ Compile for use as decoder called by fsk_horus.m and fsk_horus_stream.m: + + $ gcc horus_l2.c golay23.c -o horus_l2 -Wall -DDEC_RX_BITS -DHORUS_L2_RX + +\*---------------------------------------------------------------------------*/ + +#include +#include +#include +#include +#include +#include "horus_l2.h" +#include "golay23.h" + +#ifdef HORUS_L2_UNITTEST +#define HORUS_L2_RX +#endif + +static char uw[] = {'$','$'}; + +/* Function Prototypes ------------------------------------------------*/ + +#ifdef INTERLEAVER +static void interleave(unsigned char *inout, int nbytes, int dir); +#endif +#ifdef SCRAMBLER +static void scramble(unsigned char *inout, int nbytes); +#endif + +/* Functions ----------------------------------------------------------*/ + +/* + We are using a Golay (23,12) code which has a codeword 23 bits + long. The tx packet format is: + + | Unique Word | payload data bits | parity bits | + + This function works out how much storage the caller of + horus_l2_encode_tx_packet() will need to store the tx packet + */ + +int horus_l2_get_num_tx_data_bytes(int num_payload_data_bytes) { + int num_payload_data_bits, num_golay_codewords; + int num_tx_data_bits, num_tx_data_bytes; + + num_payload_data_bits = num_payload_data_bytes*8; + num_golay_codewords = num_payload_data_bits/12; + if (num_payload_data_bits % 12) /* round up to 12 bits, may mean some unused bits */ + num_golay_codewords++; + + num_tx_data_bits = sizeof(uw)*8 + num_payload_data_bits + num_golay_codewords*11; + num_tx_data_bytes = num_tx_data_bits/8; + if (num_tx_data_bits % 8) /* round up to nearest byte, may mean some unused bits */ + num_tx_data_bytes++; + + #ifdef DEBUG0 + fprintf(stderr, "\nnum_payload_data_bytes: %d\n", num_payload_data_bytes); + fprintf(stderr, "num_golay_codewords...: %d\n", num_golay_codewords); + fprintf(stderr, "num_tx_data_bits......: %d\n", num_tx_data_bits); + fprintf(stderr, "num_tx_data_bytes.....: %d\n\n", num_tx_data_bytes); + #endif + + return num_tx_data_bytes; +} + +void horus_l2_init(void) { + golay23_init(); +} + +/* + Takes an array of payload data bytes, prepends a unique word and appends + parity bits. + + The encoder will run on the payload on a small 8-bit uC. As we are + memory constrained so we do a lot of burrowing for bits out of + packed arrays, and don't use a LUT for Golay encoding. Hopefully it + will run fast enough. This was quite difficult to get going, + suspect there is a better way to write this. Oh well, have to start + somewhere. + */ + +int horus_l2_encode_tx_packet(unsigned char *output_tx_data, + unsigned char *input_payload_data, + int num_payload_data_bytes) +{ + int num_tx_data_bytes, num_payload_data_bits; + unsigned char *pout = output_tx_data; + int ninbit, ningolay, nparitybits; + int32_t ingolay, paritybyte, inbit, golayparity; + int ninbyte, shift, golayparitybit, i; + + num_tx_data_bytes = horus_l2_get_num_tx_data_bytes(num_payload_data_bytes); + memcpy(pout, uw, sizeof(uw)); pout += sizeof(uw); + memcpy(pout, input_payload_data, num_payload_data_bytes); pout += num_payload_data_bytes; + + /* Read input bits one at a time. Fill input Golay codeword. Find output Golay codeword. + Write this to parity bits. Write parity bytes when we have 8 parity bits. Bits are + written MSB first. */ + + num_payload_data_bits = num_payload_data_bytes*8; + ninbit = 0; + ingolay = 0; + ningolay = 0; + paritybyte = 0; + nparitybits = 0; + + while (ninbit < num_payload_data_bits) { + + /* extract input data bit */ + + ninbyte = ninbit/8; + shift = 7 - (ninbit % 8); + inbit = (input_payload_data[ninbyte] >> shift) & 0x1; + #ifdef DEBUG1 + fprintf(stderr, "inbit %d ninbyte: %d inbyte: 0x%02x inbit: %d\n", + ninbit, ninbyte, input_payload_data[ninbyte], inbit); + #endif + ninbit++; + + /* build up input golay codeword */ + + ingolay = ingolay | inbit; + ningolay++; + + /* when we get 12 bits do a Golay encode */ + + if (ningolay % 12) { + ingolay <<= 1; + } + else { + #ifdef DEBUG0 + fprintf(stderr, " ningolay: %d ingolay: 0x%04x\n", ningolay, ingolay); + #endif + golayparity = golay23_syndrome(ingolay<<11); + ingolay = 0; + + #ifdef DEBUG0 + fprintf(stderr, " golayparity: 0x%04x\n", golayparity); + #endif + + /* write parity bits to output data */ + + for (i=0; i<11; i++) { + golayparitybit = (golayparity >> (10-i)) & 0x1; + paritybyte = paritybyte | golayparitybit; + #ifdef DEBUG0 + fprintf(stderr, " i: %d golayparitybit: %d paritybyte: 0x%02x\n", + i, golayparitybit, paritybyte); + #endif + nparitybits++; + if (nparitybits % 8) { + paritybyte <<= 1; + } + else { + /* OK we have a full byte ready */ + *pout = paritybyte; + #ifdef DEBUG0 + fprintf(stderr," Write paritybyte: 0x%02x\n", paritybyte); + #endif + pout++; + paritybyte = 0; + } + } + } + } /* while(.... */ + + + /* Complete final Golay encode, we may have partially finished ingolay, paritybyte */ + + #ifdef DEBUG0 + fprintf(stderr, "finishing up .....\n"); + #endif + + if (ningolay % 12) { + ingolay >>= 1; + golayparity = golay23_syndrome(ingolay<<12); + #ifdef DEBUG0 + fprintf(stderr, " ningolay: %d ingolay: 0x%04x\n", ningolay, ingolay); + fprintf(stderr, " golayparity: 0x%04x\n", golayparity); + #endif + + /* write parity bits to output data */ + + for (i=0; i<11; i++) { + golayparitybit = (golayparity >> (10 - i)) & 0x1; + paritybyte = paritybyte | golayparitybit; + #ifdef DEBUG1 + fprintf(stderr, " i: %d golayparitybit: %d paritybyte: 0x%02x\n", + i, golayparitybit, paritybyte); + #endif + nparitybits++; + if (nparitybits % 8) { + paritybyte <<= 1; + } + else { + /* OK we have a full byte ready */ + *pout++ = (unsigned char)paritybyte; + #ifdef DEBUG0 + fprintf(stderr," Write paritybyte: 0x%02x\n", paritybyte); + #endif + paritybyte = 0; + } + } + } + + /* and final, partially complete, parity byte */ + + if (nparitybits % 8) { + paritybyte <<= 7 - (nparitybits % 8); // use MS bits first + *pout++ = (unsigned char)paritybyte; + #ifdef DEBUG0 + fprintf(stderr," Write last paritybyte: 0x%02x nparitybits: %d \n", paritybyte, nparitybits); + #endif + } + + #ifdef DEBUG0 + fprintf(stderr, "\npout - output_tx_data: %ld num_tx_data_bytes: %d\n", + pout - output_tx_data, num_tx_data_bytes); + #endif + assert(pout == (output_tx_data + num_tx_data_bytes)); + + /* optional interleaver - we dont interleave UW */ + + #ifdef INTERLEAVER + interleave(&output_tx_data[sizeof(uw)], num_tx_data_bytes-2, 0); + #endif + + /* optional scrambler to prevent long strings of the same symbol + which upsets the modem - we dont scramble UW */ + + #ifdef SCRAMBLER + scramble(&output_tx_data[sizeof(uw)], num_tx_data_bytes-2); + #endif + + return num_tx_data_bytes; +} + + +#ifdef HORUS_L2_RX +void horus_l2_decode_rx_packet(unsigned char *output_payload_data, + unsigned char *input_rx_data, + int num_payload_data_bytes) +{ + int num_payload_data_bits; + unsigned char *pout = output_payload_data; + unsigned char *pin = input_rx_data; + int ninbit, ingolay, ningolay, paritybyte, nparitybits; + int ninbyte, shift, inbit, golayparitybit, i, outbit, outbyte, noutbits, outdata; + #if defined(SCRAMBLER) || defined(INTERLEAVER) + int num_tx_data_bytes = horus_l2_get_num_tx_data_bytes(num_payload_data_bytes); + #endif + + /* optional scrambler and interleaver - we dont interleave UW */ + + #ifdef SCRAMBLER + scramble(&input_rx_data[sizeof(uw)], num_tx_data_bytes-2); + #endif + + #ifdef INTERLEAVER + interleave(&input_rx_data[sizeof(uw)], num_tx_data_bytes-2, 1); + #endif + + pin = input_rx_data + sizeof(uw) + num_payload_data_bytes; + + /* Read input data bits one at a time. When we have 12 read 11 parity bits. Golay decode. + Write decoded (output data) bits every time we have 8 of them. */ + + num_payload_data_bits = num_payload_data_bytes*8; + ninbit = 0; + ingolay = 0; + ningolay = 0; + nparitybits = 0; + paritybyte = *pin++; + #ifdef DEBUG0 + fprintf(stderr," Read paritybyte: 0x%02x\n", paritybyte); + #endif + pout = output_payload_data; + noutbits = 0; + outbyte = 0; + + while (ninbit < num_payload_data_bits) { + + /* extract input data bit */ + + ninbyte = ninbit/8 + sizeof(uw); + shift = 7 - (ninbit % 8); + inbit = (input_rx_data[ninbyte] >> shift) & 0x1; + #ifdef DEBUG1 + fprintf(stderr, "inbit %d ninbyte: %d inbyte: 0x%02x inbit: %d\n", + ninbit, ninbyte, input_rx_data[ninbyte], inbit); + #endif + ninbit++; + + /* build up golay codeword */ + + ingolay = ingolay | inbit; + ningolay++; + ingolay <<= 1; + + /* when we get 12 data bits start reading parity bits */ + + if ((ningolay % 12) == 0) { + #ifdef DEBUG0 + fprintf(stderr, " ningolay: %d ingolay: 0x%04x\n", ningolay, ingolay>>1); + #endif + for (i=0; i<11; i++) { + shift = 7 - (nparitybits % 8); + golayparitybit = (paritybyte >> shift) & 0x1; + ingolay |= golayparitybit; + if (i != 10) + ingolay <<=1; + nparitybits++; + if ((nparitybits % 8) == 0) { + /* OK grab a new byte */ + paritybyte = *pin++; + #ifdef DEBUG0 + fprintf(stderr," Read paritybyte: 0x%02x\n", paritybyte); + #endif + } + } + + #ifdef DEBUG0 + fprintf(stderr, " golay code word: 0x%04x\n", ingolay); + fprintf(stderr, " golay decode...: 0x%04x\n", golay23_decode(ingolay)); + #endif + + /* write decoded/error corrected bits to output payload data */ + + outdata = golay23_decode(ingolay) >> 11; + #ifdef DEBUG0 + fprintf(stderr, " outdata...: 0x%04x\n", outdata); + #endif + + for(i=0; i<12; i++) { + shift = 11 - i; + outbit = (outdata >> shift) & 0x1; + outbyte |= outbit; + noutbits++; + if (noutbits % 8) { + outbyte <<= 1; + } + else { + #ifdef DEBUG0 + fprintf(stderr, " output payload byte: 0x%02x\n", outbyte); + #endif + *pout++ = outbyte; + outbyte = 0; + } + } + + ingolay = 0; + } + } /* while(.... */ + + + #ifdef DEBUG0 + fprintf(stderr, "finishing up .....\n"); + #endif + + /* Complete final Golay decode */ + + int golayparity = 0; + if (ningolay % 12) { + for (i=0; i<11; i++) { + shift = 7 - (nparitybits % 8); + golayparitybit = (paritybyte >> shift) & 0x1; + golayparity |= golayparitybit; + if (i != 10) + golayparity <<=1; + nparitybits++; + if ((nparitybits % 8) == 0) { + /* OK grab a new byte */ + paritybyte = *pin++; + #ifdef DEBUG0 + fprintf(stderr," Read paritybyte: 0x%02x\n", paritybyte); + #endif + } + } + + ingolay >>= 1; + int codeword = (ingolay<<12) + golayparity; + #ifdef DEBUG0 + fprintf(stderr, " ningolay: %d ingolay: 0x%04x\n", ningolay, ingolay); + fprintf(stderr, " golay code word: 0x%04x\n", codeword); + fprintf(stderr, " golay decode...: 0x%04x\n", golay23_decode(codeword)); + #endif + + outdata = golay23_decode(codeword) >> 11; + #ifdef DEBUG0 + fprintf(stderr, " outdata...: 0x%04x\n", outdata); + fprintf(stderr, " num_payload_data_bits: %d noutbits: %d\n", num_payload_data_bits, noutbits); + #endif + + /* write final byte */ + + int ntogo = num_payload_data_bits - noutbits; + for(i=0; i> shift) & 0x1; + outbyte |= outbit; + noutbits++; + if (noutbits % 8) { + outbyte <<= 1; + } + else { + #ifdef DEBUG0 + fprintf(stderr, " output payload byte: 0x%02x\n", outbyte); + #endif + *pout++ = outbyte; + outbyte = 0; + } + } + } + + #ifdef DEBUG0 + fprintf(stderr, "\npin - output_payload_data: %ld num_payload_data_bytes: %d\n", + pout - output_payload_data, num_payload_data_bytes); + #endif + + assert(pout == (output_payload_data + num_payload_data_bytes)); + +} +#endif + +#ifdef INTERLEAVER + +uint16_t primes[] = { + 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, + 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, + 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, + 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, + 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, + 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, + 283, 293, 307, 311, 313, 317, 331, 337, 347 +}; + +void interleave(unsigned char *inout, int nbytes, int dir) +{ + /* note: to work on small uCs (e.g. AVR) needed to declare specific words sizes */ + uint16_t nbits = (uint16_t)nbytes*8; + uint32_t i, j, n, ibit, ibyte, ishift, jbyte, jshift; + uint32_t b; + unsigned char out[nbytes]; + + memset(out, 0, nbytes); + + /* b chosen to be co-prime with nbits, I'm cheating by just finding the + nearest prime to nbits. It also uses storage, is run on every call, + and has an upper limit. Oh Well, still seems to interleave OK. */ + i = 1; + uint16_t imax = sizeof(primes)/sizeof(uint16_t); + while ((primes[i] < nbits) && (i < imax)) + i++; + b = primes[i-1]; + + for(n=0; n> ishift) & 0x1; + + jbyte = j/8; + jshift = j%8; + + /* write jbit to ibit position */ + + out[jbyte] |= ibit << jshift; // replace with i-th bit + //out[ibyte] |= ibit << ishift; // replace with i-th bit + } + + memcpy(inout, out, nbytes); + + #ifdef DEBUG0 + printf("\nInterleaver Out:\n"); + for (i=0; i> 1) ^ (scrambler & 0x1); + + /* modify i-th bit by xor-ing with scrambler output sequence */ + + ibyte = i/8; + ishift = i%8; + ibit = (inout[ibyte] >> ishift) & 0x1; + ibits = ibit ^ scrambler_out; // xor ibit with scrambler output + + mask = 1 << ishift; + inout[ibyte] &= ~mask; // clear i-th bit + inout[ibyte] |= ibits << ishift; // set to scrambled value + + /* update scrambler */ + + scrambler >>= 1; + scrambler |= scrambler_out << 14; + + #ifdef DEBUG0 + printf("i: %02d ibyte: %d ishift: %d ibit: %d ibits: %d scrambler_out: %d\n", + i, ibyte, ishift, ibit, ibits, scrambler_out); + #endif + + } + + #ifdef DEBUG0 + printf("\nScrambler Out:\n"); + for (i=0; i>b) & 0x1; + } + + return nerr; +} + +/* unit test designed to run on a PC */ + +int main(void) { + printf("test 0: BER: 0.00 ...........: %d\n", test_sending_bytes(22, 0.00, 0)); + printf("test 1: BER: 0.01 ...........: %d\n", test_sending_bytes(22, 0.01, 0)); + printf("test 2: BER: 0.05 ...........: %d\n", test_sending_bytes(22, 0.05, 0)); + + /* we expect this always to fail, as chance of > 3 errors/codeword is high */ + + printf("test 3: BER: 0.10 ...........: %d\n", test_sending_bytes(22, 0.10, 0)); + + /* -DINTERLEAVER will make this puppy pass */ + + printf("test 4: 8 bit burst error....: %d\n", test_sending_bytes(22, 0.00, 1)); + + /* Insert 2 errors in every codeword, the maximum correction + capability of a Golay (23,12) code. note this one will fail + with -DINTERLEAVER, as we can't guarantee <= 3 errors per + codeword after interleaving */ + + printf("test 5: 1 error every 12 bits: %d\n", test_sending_bytes(22, 0.00, 2)); + return 0; +} +#endif + +/* Horus binary packet */ + +struct TBinaryPacket +{ + uint8_t PayloadID; + uint16_t Counter; + uint8_t Hours; + uint8_t Minutes; + uint8_t Seconds; + float Latitude; + float Longitude; + uint16_t Altitude; + uint8_t Speed; // Speed in Knots (1-255 knots) + uint8_t Sats; + int8_t Temp; // Twos Complement Temp value. + uint8_t BattVoltage; // 0 = 0.5v, 255 = 2.0V, linear steps in-between. + uint16_t Checksum; // CRC16-CCITT Checksum. +} __attribute__ ((packed)); + +#ifdef GEN_TX_BITS +/* generate a file of tx_bits to modulate using fsk_horus.m for modem simulations */ + +int main(void) { + int nbytes = sizeof(struct TBinaryPacket); + struct TBinaryPacket input_payload; + int num_tx_data_bytes = horus_l2_get_num_tx_data_bytes(nbytes); + unsigned char tx[num_tx_data_bytes]; + int i; + + /* all zeros is nastiest sequence for demod before scrambling */ + + memset(&input_payload, 0, nbytes); + input_payload.Checksum = horus_l2_gen_crc16((unsigned char*)&input_payload, nbytes-2); + + horus_l2_encode_tx_packet(tx, (unsigned char*)&input_payload, nbytes); + + FILE *f = fopen("../octave/horus_tx_bits_binary.txt","wt"); + assert(f != NULL); + int b, tx_bit; + for(i=0; i> (7-b)) & 0x1; /* msb first */ + fprintf(f,"%d ", tx_bit); + } + } + fclose(f); + for(i=0; i= 0){ + for(i=0; i> (7-b)) & 0x1; /* msb first */ + fwrite(&tx_bit,sizeof(uint8_t),1,stdout); + fflush(stdout); + } + } + framecnt -= 1; + } + + return 0; +} +#endif + +// from http://stackoverflow.com/questions/10564491/function-to-calculate-a-crc16-checksum + +unsigned short horus_l2_gen_crc16(unsigned char* data_p, unsigned char length) { + unsigned char x; + unsigned short crc = 0xFFFF; + + while (length--){ + x = crc >> 8 ^ *data_p++; + x ^= x>>4; + crc = (crc << 8) ^ ((unsigned short)(x << 12)) ^ ((unsigned short)(x <<5)) ^ ((unsigned short)x); + } + return crc; +} + diff --git a/src/horus_l2.h b/src/horus_l2.h new file mode 100644 index 0000000..6cb42ba --- /dev/null +++ b/src/horus_l2.h @@ -0,0 +1,30 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: horus_l2.h + AUTHOR......: David Rowe + DATE CREATED: Dec 2015 + +\*---------------------------------------------------------------------------*/ + +#ifndef __HORUS_L2__ +#define __HORUS_L2__ + +int horus_l2_get_num_tx_data_bytes(int num_payload_data_bytes); + +/* call this first */ + +void horus_l2_init(void); + +/* returns number of output bytes in output_tx_data */ + +int horus_l2_encode_tx_packet(unsigned char *output_tx_data, + unsigned char *input_payload_data, + int num_payload_data_bytes); + +void horus_l2_decode_rx_packet(unsigned char *output_payload_data, + unsigned char *input_rx_data, + int num_payload_data_bytes); + +unsigned short horus_l2_gen_crc16(unsigned char* data_p, unsigned char length); + +#endif diff --git a/src/kiss_fft.c b/src/kiss_fft.c new file mode 100644 index 0000000..05f7f27 --- /dev/null +++ b/src/kiss_fft.c @@ -0,0 +1,408 @@ +/* +Copyright (c) 2003-2010, Mark Borgerding + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + * Neither the author nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + + +#include "_kiss_fft_guts.h" +/* The guts header contains all the multiplication and addition macros that are defined for + fixed or floating point complex numbers. It also delares the kf_ internal functions. + */ + +static void kf_bfly2( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + int m + ) +{ + kiss_fft_cpx * Fout2; + kiss_fft_cpx * tw1 = st->twiddles; + kiss_fft_cpx t; + Fout2 = Fout + m; + do{ + C_FIXDIV(*Fout,2); C_FIXDIV(*Fout2,2); + + C_MUL (t, *Fout2 , *tw1); + tw1 += fstride; + C_SUB( *Fout2 , *Fout , t ); + C_ADDTO( *Fout , t ); + ++Fout2; + ++Fout; + }while (--m); +} + +static void kf_bfly4( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + const size_t m + ) +{ + kiss_fft_cpx *tw1,*tw2,*tw3; + kiss_fft_cpx scratch[6]; + size_t k=m; + const size_t m2=2*m; + const size_t m3=3*m; + + + tw3 = tw2 = tw1 = st->twiddles; + + do { + C_FIXDIV(*Fout,4); C_FIXDIV(Fout[m],4); C_FIXDIV(Fout[m2],4); C_FIXDIV(Fout[m3],4); + + C_MUL(scratch[0],Fout[m] , *tw1 ); + C_MUL(scratch[1],Fout[m2] , *tw2 ); + C_MUL(scratch[2],Fout[m3] , *tw3 ); + + C_SUB( scratch[5] , *Fout, scratch[1] ); + C_ADDTO(*Fout, scratch[1]); + C_ADD( scratch[3] , scratch[0] , scratch[2] ); + C_SUB( scratch[4] , scratch[0] , scratch[2] ); + C_SUB( Fout[m2], *Fout, scratch[3] ); + tw1 += fstride; + tw2 += fstride*2; + tw3 += fstride*3; + C_ADDTO( *Fout , scratch[3] ); + + if(st->inverse) { + Fout[m].r = scratch[5].r - scratch[4].i; + Fout[m].i = scratch[5].i + scratch[4].r; + Fout[m3].r = scratch[5].r + scratch[4].i; + Fout[m3].i = scratch[5].i - scratch[4].r; + }else{ + Fout[m].r = scratch[5].r + scratch[4].i; + Fout[m].i = scratch[5].i - scratch[4].r; + Fout[m3].r = scratch[5].r - scratch[4].i; + Fout[m3].i = scratch[5].i + scratch[4].r; + } + ++Fout; + }while(--k); +} + +static void kf_bfly3( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + size_t m + ) +{ + size_t k=m; + const size_t m2 = 2*m; + kiss_fft_cpx *tw1,*tw2; + kiss_fft_cpx scratch[5]; + kiss_fft_cpx epi3; + epi3 = st->twiddles[fstride*m]; + + tw1=tw2=st->twiddles; + + do{ + C_FIXDIV(*Fout,3); C_FIXDIV(Fout[m],3); C_FIXDIV(Fout[m2],3); + + C_MUL(scratch[1],Fout[m] , *tw1); + C_MUL(scratch[2],Fout[m2] , *tw2); + + C_ADD(scratch[3],scratch[1],scratch[2]); + C_SUB(scratch[0],scratch[1],scratch[2]); + tw1 += fstride; + tw2 += fstride*2; + + Fout[m].r = Fout->r - HALF_OF(scratch[3].r); + Fout[m].i = Fout->i - HALF_OF(scratch[3].i); + + C_MULBYSCALAR( scratch[0] , epi3.i ); + + C_ADDTO(*Fout,scratch[3]); + + Fout[m2].r = Fout[m].r + scratch[0].i; + Fout[m2].i = Fout[m].i - scratch[0].r; + + Fout[m].r -= scratch[0].i; + Fout[m].i += scratch[0].r; + + ++Fout; + }while(--k); +} + +static void kf_bfly5( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + int m + ) +{ + kiss_fft_cpx *Fout0,*Fout1,*Fout2,*Fout3,*Fout4; + int u; + kiss_fft_cpx scratch[13]; + kiss_fft_cpx * twiddles = st->twiddles; + kiss_fft_cpx *tw; + kiss_fft_cpx ya,yb; + ya = twiddles[fstride*m]; + yb = twiddles[fstride*2*m]; + + Fout0=Fout; + Fout1=Fout0+m; + Fout2=Fout0+2*m; + Fout3=Fout0+3*m; + Fout4=Fout0+4*m; + + tw=st->twiddles; + for ( u=0; ur += scratch[7].r + scratch[8].r; + Fout0->i += scratch[7].i + scratch[8].i; + + scratch[5].r = scratch[0].r + S_MUL(scratch[7].r,ya.r) + S_MUL(scratch[8].r,yb.r); + scratch[5].i = scratch[0].i + S_MUL(scratch[7].i,ya.r) + S_MUL(scratch[8].i,yb.r); + + scratch[6].r = S_MUL(scratch[10].i,ya.i) + S_MUL(scratch[9].i,yb.i); + scratch[6].i = -S_MUL(scratch[10].r,ya.i) - S_MUL(scratch[9].r,yb.i); + + C_SUB(*Fout1,scratch[5],scratch[6]); + C_ADD(*Fout4,scratch[5],scratch[6]); + + scratch[11].r = scratch[0].r + S_MUL(scratch[7].r,yb.r) + S_MUL(scratch[8].r,ya.r); + scratch[11].i = scratch[0].i + S_MUL(scratch[7].i,yb.r) + S_MUL(scratch[8].i,ya.r); + scratch[12].r = - S_MUL(scratch[10].i,yb.i) + S_MUL(scratch[9].i,ya.i); + scratch[12].i = S_MUL(scratch[10].r,yb.i) - S_MUL(scratch[9].r,ya.i); + + C_ADD(*Fout2,scratch[11],scratch[12]); + C_SUB(*Fout3,scratch[11],scratch[12]); + + ++Fout0;++Fout1;++Fout2;++Fout3;++Fout4; + } +} + +/* perform the butterfly for one stage of a mixed radix FFT */ +static void kf_bfly_generic( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + int m, + int p + ) +{ + int u,k,q1,q; + kiss_fft_cpx * twiddles = st->twiddles; + kiss_fft_cpx t; + int Norig = st->nfft; + + kiss_fft_cpx * scratch = (kiss_fft_cpx*)KISS_FFT_TMP_ALLOC(sizeof(kiss_fft_cpx)*p); + + for ( u=0; u=Norig) twidx-=Norig; + C_MUL(t,scratch[q] , twiddles[twidx] ); + C_ADDTO( Fout[ k ] ,t); + } + k += m; + } + } + KISS_FFT_TMP_FREE(scratch); +} + +static +void kf_work( + kiss_fft_cpx * Fout, + const kiss_fft_cpx * f, + const size_t fstride, + int in_stride, + int * factors, + const kiss_fft_cfg st + ) +{ + kiss_fft_cpx * Fout_beg=Fout; + const int p=*factors++; /* the radix */ + const int m=*factors++; /* stage's fft length/p */ + const kiss_fft_cpx * Fout_end = Fout + p*m; + +#ifdef _OPENMP + // use openmp extensions at the + // top-level (not recursive) + if (fstride==1 && p<=5) + { + int k; + + // execute the p different work units in different threads +# pragma omp parallel for + for (k=0;k floor_sqrt) + p = n; /* no more factors, skip to end */ + } + n /= p; + *facbuf++ = p; + *facbuf++ = n; + } while (n > 1); +} + +/* + * + * User-callable function to allocate all necessary storage space for the fft. + * + * The return value is a contiguous block of memory, allocated with malloc. As such, + * It can be freed with free(), rather than a kiss_fft-specific function. + * */ +kiss_fft_cfg kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem ) +{ + kiss_fft_cfg st=NULL; + size_t memneeded = sizeof(struct kiss_fft_state) + + sizeof(kiss_fft_cpx)*(nfft-1); /* twiddle factors*/ + + if ( lenmem==NULL ) { + st = ( kiss_fft_cfg)KISS_FFT_MALLOC( memneeded ); + }else{ + if (mem != NULL && *lenmem >= memneeded) + st = (kiss_fft_cfg)mem; + *lenmem = memneeded; + } + if (st) { + int i; + st->nfft=nfft; + st->inverse = inverse_fft; + + for (i=0;iinverse) + phase *= -1; + kf_cexp(st->twiddles+i, phase ); + } + + kf_factor(nfft,st->factors); + } + return st; +} + + +void kiss_fft_stride(kiss_fft_cfg st,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int in_stride) +{ + if (fin == fout) { + //NOTE: this is not really an in-place FFT algorithm. + //It just performs an out-of-place FFT into a temp buffer + kiss_fft_cpx * tmpbuf = (kiss_fft_cpx*)KISS_FFT_TMP_ALLOC( sizeof(kiss_fft_cpx)*st->nfft); + kf_work(tmpbuf,fin,1,in_stride, st->factors,st); + memcpy(fout,tmpbuf,sizeof(kiss_fft_cpx)*st->nfft); + KISS_FFT_TMP_FREE(tmpbuf); + }else{ + kf_work( fout, fin, 1,in_stride, st->factors,st ); + } +} + +void kiss_fft(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout) +{ + kiss_fft_stride(cfg,fin,fout,1); +} + + +void kiss_fft_cleanup(void) +{ + // nothing needed any more +} + +int kiss_fft_next_fast_size(int n) +{ + while(1) { + int m=n; + while ( (m%2) == 0 ) m/=2; + while ( (m%3) == 0 ) m/=3; + while ( (m%5) == 0 ) m/=5; + if (m<=1) + break; /* n is completely factorable by twos, threes, and fives */ + n++; + } + return n; +} diff --git a/src/kiss_fft.h b/src/kiss_fft.h new file mode 100644 index 0000000..c01722c --- /dev/null +++ b/src/kiss_fft.h @@ -0,0 +1,124 @@ +#ifndef KISS_FFT_H +#define KISS_FFT_H + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + ATTENTION! + If you would like a : + -- a utility that will handle the caching of fft objects + -- real-only (no imaginary time component ) FFT + -- a multi-dimensional FFT + -- a command-line utility to perform ffts + -- a command-line utility to perform fast-convolution filtering + + Then see kfc.h kiss_fftr.h kiss_fftnd.h fftutil.c kiss_fastfir.c + in the tools/ directory. +*/ + +#ifdef USE_SIMD +# include +# define kiss_fft_scalar __m128 +#define KISS_FFT_MALLOC(nbytes) _mm_malloc(nbytes,16) +#define KISS_FFT_FREE _mm_free +#else +#define KISS_FFT_MALLOC malloc +#define KISS_FFT_FREE free +#endif + + +#ifdef FIXED_POINT +#include +# if (FIXED_POINT == 32) +# define kiss_fft_scalar int32_t +# else +# define kiss_fft_scalar int16_t +# endif +#else +# ifndef kiss_fft_scalar +/* default is float */ +# define kiss_fft_scalar float +# endif +#endif + +typedef struct { + kiss_fft_scalar r; + kiss_fft_scalar i; +}kiss_fft_cpx; + +typedef struct kiss_fft_state* kiss_fft_cfg; + +/* + * kiss_fft_alloc + * + * Initialize a FFT (or IFFT) algorithm's cfg/state buffer. + * + * typical usage: kiss_fft_cfg mycfg=kiss_fft_alloc(1024,0,NULL,NULL); + * + * The return value from fft_alloc is a cfg buffer used internally + * by the fft routine or NULL. + * + * If lenmem is NULL, then kiss_fft_alloc will allocate a cfg buffer using malloc. + * The returned value should be free()d when done to avoid memory leaks. + * + * The state can be placed in a user supplied buffer 'mem': + * If lenmem is not NULL and mem is not NULL and *lenmem is large enough, + * then the function places the cfg in mem and the size used in *lenmem + * and returns mem. + * + * If lenmem is not NULL and ( mem is NULL or *lenmem is not large enough), + * then the function returns NULL and places the minimum cfg + * buffer size in *lenmem. + * */ + +kiss_fft_cfg kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem); + +/* + * kiss_fft(cfg,in_out_buf) + * + * Perform an FFT on a complex input buffer. + * for a forward FFT, + * fin should be f[0] , f[1] , ... ,f[nfft-1] + * fout will be F[0] , F[1] , ... ,F[nfft-1] + * Note that each element is complex and can be accessed like + f[k].r and f[k].i + * */ +void kiss_fft(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout); + +/* + A more generic version of the above function. It reads its input from every Nth sample. + * */ +void kiss_fft_stride(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int fin_stride); + +/* If kiss_fft_alloc allocated a buffer, it is one contiguous + buffer and can be simply free()d when no longer needed*/ +#define kiss_fft_free free + +/* + Cleans up some memory that gets managed internally. Not necessary to call, but it might clean up + your compiler output to call this before you exit. +*/ +void kiss_fft_cleanup(void); + + +/* + * Returns the smallest integer k, such that k>=n and k has only "fast" factors (2,3,5) + */ +int kiss_fft_next_fast_size(int n); + +/* for real ffts, we need an even size */ +#define kiss_fftr_next_fast_size_real(n) \ + (kiss_fft_next_fast_size( ((n)+1)>>1)<<1) + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/kiss_fftr.c b/src/kiss_fftr.c new file mode 100644 index 0000000..7cc0286 --- /dev/null +++ b/src/kiss_fftr.c @@ -0,0 +1,154 @@ +/* +Copyright (c) 2003-2004, Mark Borgerding + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + * Neither the author nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include "kiss_fftr.h" +#include "_kiss_fft_guts.h" +#include "assert.h" + +struct kiss_fftr_state{ + kiss_fft_cfg substate; + kiss_fft_cpx * tmpbuf; + kiss_fft_cpx * super_twiddles; +#ifdef USE_SIMD + void * pad; +#endif +}; + +kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem) +{ + int i; + kiss_fftr_cfg st = NULL; + size_t subsize, memneeded; + + if (nfft & 1) { + fprintf(stderr,"Real FFT optimization must be even.\n"); + return NULL; + } + nfft >>= 1; + + kiss_fft_alloc (nfft, inverse_fft, NULL, &subsize); + memneeded = sizeof(struct kiss_fftr_state) + subsize + sizeof(kiss_fft_cpx) * ( nfft * 3 / 2); + + if (lenmem == NULL) { + st = (kiss_fftr_cfg) KISS_FFT_MALLOC (memneeded); + } else { + if (*lenmem >= memneeded) + st = (kiss_fftr_cfg) mem; + *lenmem = memneeded; + } + if (!st) + return NULL; + + st->substate = (kiss_fft_cfg) (st + 1); /*just beyond kiss_fftr_state struct */ + st->tmpbuf = (kiss_fft_cpx *) (((char *) st->substate) + subsize); + st->super_twiddles = st->tmpbuf + nfft; + kiss_fft_alloc(nfft, inverse_fft, st->substate, &subsize); + + for (i = 0; i < nfft/2; ++i) { + float phase = + -3.14159265358979323846264338327 * ((float) (i+1) / nfft + .5); + if (inverse_fft) + phase *= -1; + kf_cexp (st->super_twiddles+i,phase); + } + return st; +} + +void kiss_fftr(kiss_fftr_cfg st,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata) +{ + /* input buffer timedata is stored row-wise */ + int k,ncfft; + kiss_fft_cpx fpnk,fpk,f1k,f2k,tw,tdc; + + assert(st->substate->inverse==0); + + ncfft = st->substate->nfft; + + /*perform the parallel fft of two real signals packed in real,imag*/ + kiss_fft( st->substate , (const kiss_fft_cpx*)timedata, st->tmpbuf ); + /* The real part of the DC element of the frequency spectrum in st->tmpbuf + * contains the sum of the even-numbered elements of the input time sequence + * The imag part is the sum of the odd-numbered elements + * + * The sum of tdc.r and tdc.i is the sum of the input time sequence. + * yielding DC of input time sequence + * The difference of tdc.r - tdc.i is the sum of the input (dot product) [1,-1,1,-1... + * yielding Nyquist bin of input time sequence + */ + + tdc.r = st->tmpbuf[0].r; + tdc.i = st->tmpbuf[0].i; + C_FIXDIV(tdc,2); + CHECK_OVERFLOW_OP(tdc.r ,+, tdc.i); + CHECK_OVERFLOW_OP(tdc.r ,-, tdc.i); + freqdata[0].r = tdc.r + tdc.i; + freqdata[ncfft].r = tdc.r - tdc.i; +#ifdef USE_SIMD + freqdata[ncfft].i = freqdata[0].i = _mm_set1_ps(0); +#else + freqdata[ncfft].i = freqdata[0].i = 0; +#endif + + for ( k=1;k <= ncfft/2 ; ++k ) { + fpk = st->tmpbuf[k]; + fpnk.r = st->tmpbuf[ncfft-k].r; + fpnk.i = - st->tmpbuf[ncfft-k].i; + C_FIXDIV(fpk,2); + C_FIXDIV(fpnk,2); + + C_ADD( f1k, fpk , fpnk ); + C_SUB( f2k, fpk , fpnk ); + C_MUL( tw , f2k , st->super_twiddles[k-1]); + + freqdata[k].r = HALF_OF(f1k.r + tw.r); + freqdata[k].i = HALF_OF(f1k.i + tw.i); + freqdata[ncfft-k].r = HALF_OF(f1k.r - tw.r); + freqdata[ncfft-k].i = HALF_OF(tw.i - f1k.i); + } +} + +void kiss_fftri(kiss_fftr_cfg st,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata) +{ + /* input buffer timedata is stored row-wise */ + int k, ncfft; + + assert(st->substate->inverse == 1); + + ncfft = st->substate->nfft; + + st->tmpbuf[0].r = freqdata[0].r + freqdata[ncfft].r; + st->tmpbuf[0].i = freqdata[0].r - freqdata[ncfft].r; + C_FIXDIV(st->tmpbuf[0],2); + + for (k = 1; k <= ncfft / 2; ++k) { + kiss_fft_cpx fk, fnkc, fek, fok, tmp; + fk = freqdata[k]; + fnkc.r = freqdata[ncfft - k].r; + fnkc.i = -freqdata[ncfft - k].i; + C_FIXDIV( fk , 2 ); + C_FIXDIV( fnkc , 2 ); + + C_ADD (fek, fk, fnkc); + C_SUB (tmp, fk, fnkc); + C_MUL (fok, tmp, st->super_twiddles[k-1]); + C_ADD (st->tmpbuf[k], fek, fok); + C_SUB (st->tmpbuf[ncfft - k], fek, fok); +#ifdef USE_SIMD + st->tmpbuf[ncfft - k].i *= _mm_set1_ps(-1.0); +#else + st->tmpbuf[ncfft - k].i *= -1; +#endif + } + kiss_fft (st->substate, st->tmpbuf, (kiss_fft_cpx *) timedata); +} diff --git a/src/kiss_fftr.h b/src/kiss_fftr.h new file mode 100644 index 0000000..72e5a57 --- /dev/null +++ b/src/kiss_fftr.h @@ -0,0 +1,46 @@ +#ifndef KISS_FTR_H +#define KISS_FTR_H + +#include "kiss_fft.h" +#ifdef __cplusplus +extern "C" { +#endif + + +/* + + Real optimized version can save about 45% cpu time vs. complex fft of a real seq. + + + + */ + +typedef struct kiss_fftr_state *kiss_fftr_cfg; + + +kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem); +/* + nfft must be even + + If you don't care to allocate space, use mem = lenmem = NULL +*/ + + +void kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata); +/* + input timedata has nfft scalar points + output freqdata has nfft/2+1 complex points +*/ + +void kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata); +/* + input freqdata has nfft/2+1 complex points + output timedata has nfft scalar points +*/ + +#define kiss_fftr_free free + +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/modem_probe.c b/src/modem_probe.c new file mode 100644 index 0000000..b4a6165 --- /dev/null +++ b/src/modem_probe.c @@ -0,0 +1,241 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: modem_probe.c + AUTHOR......: Brady O'Brien + DATE CREATED: 9 January 2016 + + Library to easily extract debug traces from modems during development and + verification + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2016 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include +#include +#include +#include +#include "comp.h" +#include "octave.h" + +#define TRACE_I 1 +#define TRACE_F 2 +#define TRACE_C 3 + + +typedef struct probe_trace_info_s probe_trace_info; +typedef struct datlink_s datlink; + +struct datlink_s{ + void * data; + size_t len; + datlink * next; +}; + +struct probe_trace_info_s{ + int type; + char name[255]; + datlink * data; + datlink * last; + probe_trace_info *next; +}; + +static char *run = NULL; +static char *mod = NULL; +static probe_trace_info *first_trace = NULL; + +/* Init the probing library */ +void modem_probe_init_int(char *modname, char *runname){ + mod = malloc((strlen(modname)+1)*sizeof(char)); + run = malloc((strlen(runname)+1)*sizeof(char)); + strcpy(run,runname); + strcpy(mod,modname); +} + +/* + * Gather the data stored in the linked list into a single blob, + * freeing links and buffers as it goes + */ +void * gather_data(datlink * d,size_t * len){ + size_t size = 0; + datlink * cur = d; + datlink * next; + while(cur!=NULL){ + size += d->len; + cur = cur->next; + } + cur = d; + size_t i = 0; + void * newbuf = malloc(size); + + while(cur!=NULL){ + memcpy(newbuf+i,cur->data,cur->len); + i += cur->len; + free(cur->data); + next = cur->next; + free(cur); + cur = next; + } + *len = size; + return newbuf; +} + +/* Dump all of the traces into a nice octave-able dump file */ +void modem_probe_close_int(){ + if(run==NULL) + return; + + probe_trace_info *cur,*next; + cur = first_trace; + FILE * dumpfile = fopen(run,"w"); + void * dbuf; + size_t len; + + while(cur != NULL){ + dbuf = gather_data(cur->data,&len); + switch(cur->type){ + case TRACE_I: + octave_save_int(dumpfile,cur->name,(int32_t*)dbuf,1,len/sizeof(int32_t)); + break; + case TRACE_F: + octave_save_float(dumpfile,cur->name,(float*)dbuf,1,len/sizeof(float),10); + break; + case TRACE_C: + octave_save_complex(dumpfile,cur->name,(COMP*)dbuf,1,len/sizeof(COMP),10); + break; + } + next = cur->next; + free(cur); + free(dbuf); + cur = next; + } + + fclose(dumpfile); + free(run); + free(mod); +} + +/* Look up or create a trace by name */ +probe_trace_info * modem_probe_get_trace(char * tracename){ + probe_trace_info *cur,*npti; + + /* Make sure probe session is open */ + if(run==NULL) + return NULL; + + cur = first_trace; + /* Walk through list, find trace with matching name */ + while(cur != NULL){ + /* We got one! */ + if(strcmp( cur->name, tracename) == 0){ + return cur; + } + cur = cur->next; + } + /* None found, open a new trace */ + + npti = (probe_trace_info *) malloc(sizeof(probe_trace_info)); + npti->next = first_trace; + npti->data = NULL; + npti->last = NULL; + strcpy(npti->name,tracename); + first_trace = npti; + + return npti; + +} + + +void modem_probe_samp_i_int(char * tracename,int32_t samp[],size_t cnt){ + probe_trace_info *pti; + datlink *ndat; + + pti = modem_probe_get_trace(tracename); + if(pti == NULL) + return; + + pti->type = TRACE_I; + + ndat = (datlink*) malloc(sizeof(datlink)); + ndat->data = malloc(sizeof(int32_t)*cnt); + + ndat->len = cnt*sizeof(int32_t); + ndat->next = NULL; + memcpy(ndat->data,(void*)&(samp[0]),sizeof(int32_t)*cnt); + + if(pti->last!=NULL){ + pti->last->next = ndat; + pti->last = ndat; + } else { + pti->data = ndat; + pti->last = ndat; + } + +} + +void modem_probe_samp_f_int(char * tracename,float samp[],size_t cnt){ + probe_trace_info *pti; + datlink *ndat; + + pti = modem_probe_get_trace(tracename); + if(pti == NULL) + return; + + pti->type = TRACE_F; + + ndat = (datlink*) malloc(sizeof(datlink)); + ndat->data = malloc(sizeof(float)*cnt); + + ndat->len = cnt*sizeof(float); + ndat->next = NULL; + memcpy(ndat->data,(void*)&(samp[0]),sizeof(float)*cnt); + + if(pti->last!=NULL){ + pti->last->next = ndat; + pti->last = ndat; + } else { + pti->data = ndat; + pti->last = ndat; + } +} + +void modem_probe_samp_c_int(char * tracename,COMP samp[],size_t cnt){ + probe_trace_info *pti; + datlink *ndat; + + pti = modem_probe_get_trace(tracename); + if(pti == NULL) + return; + + pti->type = TRACE_C; + + ndat = (datlink*) malloc(sizeof(datlink)); + ndat->data = malloc(sizeof(COMP)*cnt); + + ndat->len = cnt*sizeof(COMP); + ndat->next = NULL; + memcpy(ndat->data,(void*)&(samp[0]),sizeof(COMP)*cnt); + + if(pti->last!=NULL){ + pti->last->next = ndat; + pti->last = ndat; + } else { + pti->data = ndat; + pti->last = ndat; + } +} diff --git a/src/modem_probe.h b/src/modem_probe.h new file mode 100644 index 0000000..e038603 --- /dev/null +++ b/src/modem_probe.h @@ -0,0 +1,130 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: modem_probe.h + AUTHOR......: Brady O'Brien + DATE CREATED: 9 January 2016 + + Library to easily extract debug traces from modems during development + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2016 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#ifndef __MODEMPROBE_H +#define __MODEMPROBE_H + +#include +#include +#include +#include "comp.h" + +#ifdef MODEMPROBE_ENABLE + +/* Internal functions */ +void modem_probe_init_int(char *modname, char *runname); +void modem_probe_close_int(); + +void modem_probe_samp_i_int(char * tracename,int samp[],size_t cnt); +void modem_probe_samp_f_int(char * tracename,float samp[],size_t cnt); +void modem_probe_samp_c_int(char * tracename,COMP samp[],size_t cnt); + +/* + * Init the probe library. + * char *modname - Name of the modem under test + * char *runname - Name/path of the file data is dumped to + */ +static inline void modem_probe_init(char *modname,char *runname){ + modem_probe_init_int(modname,runname); +} + +/* + * Dump traces to a file and clean up + */ +static inline void modem_probe_close(){ + modem_probe_close_int(); +} + +/* + * Save some number of int samples to a named trace + * char *tracename - name of trace being saved to + * int samp[] - int samples + * size_t cnt - how many samples to save + */ +static inline void modem_probe_samp_i(char *tracename,int samp[],size_t cnt){ + modem_probe_samp_i_int(tracename,samp,cnt); +} + +/* + * Save some number of float samples to a named trace + * char *tracename - name of trace being saved to + * float samp[] - int samples + * size_t cnt - how many samples to save + */ +static inline void modem_probe_samp_f(char *tracename,float samp[],size_t cnt){ + modem_probe_samp_f_int(tracename,samp,cnt); +} + +/* + * Save some number of complex samples to a named trace + * char *tracename - name of trace being saved to + * COMP samp[] - int samples + * size_t cnt - how many samples to save + */ +static inline void modem_probe_samp_c(char *tracename,COMP samp[],size_t cnt){ + modem_probe_samp_c_int(tracename,samp,cnt); +} + +/* + * Save some number of complex samples to a named trace + * char *tracename - name of trace being saved to + * float complex samp[] - int samples + * size_t cnt - how many samples to save + */ +static inline void modem_probe_samp_cft(char *tracename,complex float samp[],size_t cnt){ + modem_probe_samp_c_int(tracename,(COMP*)samp,cnt); +} + +#else + +static inline void modem_probe_init(char *modname,char *runname){ + return; +} + +static inline void modem_probe_close(){ + return; +} + +static inline void modem_probe_samp_i(char *name,int samp[],size_t sampcnt){ + return; +} + +static inline void modem_probe_samp_f(char *name,float samp[],size_t cnt){ + return; +} + +static inline void modem_probe_samp_c(char *name,COMP samp[],size_t cnt){ + return; +} + +static inline void modem_probe_samp_cft(char *name,complex float samp[],size_t cnt){ + return; +} + +#endif + +#endif diff --git a/src/modem_stats.c b/src/modem_stats.c new file mode 100644 index 0000000..d212e2b --- /dev/null +++ b/src/modem_stats.c @@ -0,0 +1,123 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: modem_stats.c + AUTHOR......: David Rowe + DATE CREATED: June 2015 + + Common functions for returning demod stats from fdmdv and cohpsk modems. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2015 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include +#include +#include "modem_stats.h" +#include "codec2_fdmdv.h" + +void modem_stats_open(struct MODEM_STATS *f) +{ + int i; + + /* zero out all the stats */ + + memset(f, 0, sizeof(struct MODEM_STATS)); + + /* init the FFT */ + +#ifndef __EMBEDDED__ + for(i=0; i<2*MODEM_STATS_NSPEC; i++) + f->fft_buf[i] = 0.0; + f->fft_cfg = kiss_fft_alloc (2*MODEM_STATS_NSPEC, 0, NULL, NULL); + assert(f->fft_cfg != NULL); +#endif +} + +void modem_stats_close(struct MODEM_STATS *f) +{ +#ifndef __EMBEDDED__ + KISS_FFT_FREE(f->fft_cfg); +#endif +} + +/*---------------------------------------------------------------------------*\ + + FUNCTION....: modem_stats_get_rx_spectrum() + AUTHOR......: David Rowe + DATE CREATED: 9 June 2012 + + Returns the MODEM_STATS_NSPEC point magnitude spectrum of the rx signal in + dB. The spectral samples are scaled so that 0dB is the peak, a good + range for plotting is 0 to -40dB. + + Note only the real part of the complex input signal is used at + present. A complex variable is used for input for compatability + with the other rx signal procesing. + + Successive calls can be used to build up a waterfall or spectrogram + plot, by mapping the received levels to colours. + + The time-frequency resolution of the spectrum can be adjusted by varying + MODEM_STATS_NSPEC. Note that a 2* MODEM_STATS_NSPEC size FFT is reqd to get + MODEM_STATS_NSPEC output points. MODEM_STATS_NSPEC must be a power of 2. + + See octave/tget_spec.m for a demo real time spectral display using + Octave. This demo averages the output over time to get a smoother + display: + + av = 0.9*av + 0.1*mag_dB + +\*---------------------------------------------------------------------------*/ + +#ifndef __EMBEDDED__ +void modem_stats_get_rx_spectrum(struct MODEM_STATS *f, float mag_spec_dB[], COMP rx_fdm[], int nin) +{ + int i,j; + COMP fft_in[2*MODEM_STATS_NSPEC]; + COMP fft_out[2*MODEM_STATS_NSPEC]; + float full_scale_dB; + + /* update buffer of input samples */ + + for(i=0; i<2*MODEM_STATS_NSPEC-nin; i++) + f->fft_buf[i] = f->fft_buf[i+nin]; + for(j=0; jfft_buf[i] = rx_fdm[j].real; + assert(i == 2*MODEM_STATS_NSPEC); + + /* window and FFT */ + + for(i=0; i<2*MODEM_STATS_NSPEC; i++) { + fft_in[i].real = f->fft_buf[i] * (0.5 - 0.5*cosf((float)i*2.0*M_PI/(2*MODEM_STATS_NSPEC))); + fft_in[i].imag = 0.0; + } + + kiss_fft(f->fft_cfg, (kiss_fft_cpx *)fft_in, (kiss_fft_cpx *)fft_out); + + /* FFT scales up a signal of level 1 FDMDV_NSPEC */ + + full_scale_dB = 20*log10(MODEM_STATS_NSPEC*FDMDV_SCALE); + + /* scale and convert to dB */ + + for(i=0; i. +*/ + +#ifndef __MODEM_STATS__ +#define __MODEM_STATS__ + +#include "comp.h" +#include "kiss_fft.h" + +#ifdef __cplusplus + extern "C" { +#endif + +#define MODEM_STATS_NC_MAX 50 +#define MODEM_STATS_NR_MAX 8 +#define MODEM_STATS_ET_MAX 8 +#define MODEM_STATS_EYE_IND_MAX 160 +#define MODEM_STATS_NSPEC 512 +#define MODEM_STATS_MAX_F_HZ 4000 +#define MODEM_STATS_MAX_F_EST 4 + +struct MODEM_STATS { + int Nc; + float snr_est; /* estimated SNR of rx signal in dB (3 kHz noise BW) */ +#ifndef __EMBEDDED__ + COMP rx_symbols[MODEM_STATS_NR_MAX][MODEM_STATS_NC_MAX+1]; + /* latest received symbols, for scatter plot */ +#endif + int nr; /* number of rows in rx_symbols */ + int sync; /* demod sync state */ + float foff; /* estimated freq offset in Hz */ + float rx_timing; /* estimated optimum timing offset in samples */ + float clock_offset; /* Estimated tx/rx sample clock offset in ppm */ + float sync_metric; /* number between 0 and 1 indicating quality of sync */ + + /* eye diagram traces */ + /* Eye diagram plot -- first dim is trace number, second is the trace idx */ +#ifndef __EMBEDDED__ + float rx_eye[MODEM_STATS_ET_MAX][MODEM_STATS_EYE_IND_MAX]; + int neyetr; /* How many eye traces are plotted */ + int neyesamp; /* How many samples in the eye diagram */ + + /* optional for FSK modems - est tone freqs */ + + float f_est[MODEM_STATS_MAX_F_EST]; +#endif + + /* Buf for FFT/waterfall */ + +#ifndef __EMBEDDED__ + float fft_buf[2*MODEM_STATS_NSPEC]; + kiss_fft_cfg fft_cfg; +#endif +}; + +void modem_stats_open(struct MODEM_STATS *f); +void modem_stats_close(struct MODEM_STATS *f); +void modem_stats_get_rx_spectrum(struct MODEM_STATS *f, float mag_spec_dB[], COMP rx_fdm[], int nin); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/src/mpdecode_core.c b/src/mpdecode_core.c new file mode 100644 index 0000000..d840a28 --- /dev/null +++ b/src/mpdecode_core.c @@ -0,0 +1,709 @@ +/* + FILE...: mpdecode_core.c + AUTHOR.: Matthew C. Valenti, Rohit Iyer Seshadri, David Rowe + CREATED: Sep 2016 + + C-callable core functions moved from MpDecode.c, so they can be used for + Octave and C programs. +*/ + +#include +#include +#include +#include +#include +#include "mpdecode_core.h" +#ifndef USE_ORIGINAL_PHI0 +#include "phi0.h" +#endif + +#include "debug_alloc.h" + +#ifdef __EMBEDDED__ +#include "machdep.h" +#endif + +#define QPSK_CONSTELLATION_SIZE 4 +#define QPSK_BITS_PER_SYMBOL 2 + + +/* QPSK constellation for symbol likelihood calculations */ + +static COMP S_matrix[] = { + { 1.0f, 0.0f}, + { 0.0f, 1.0f}, + { 0.0f, -1.0f}, + {-1.0f, 0.0f} +}; + +// c_nodes will be an array of NumberParityBits of struct c_node +// Each c_node contains an array of c_sub_node elements +// This structure reduces the indexing caluclations in SumProduct() + +struct c_sub_node { // Order is important here to keep total size small. + uint16_t index; // Values from H_rows (except last 2 entries) + uint16_t socket; // The socket number at the v_node + float message; // modified during operation! +}; + +struct c_node { + int degree; // A count of elements in the following arrays + struct c_sub_node *subs; +}; + +// v_nodes will be an array of CodeLength of struct v_node + +struct v_sub_node { + uint16_t index; // the index of a c_node it is connected to + // Filled with values from H_cols (except last 2 entries) + uint16_t socket; // socket number at the c_node + float message; // Loaded with input data + // modified during operation! + uint8_t sign; // 1 if input is negative + // modified during operation! +}; + +struct v_node { + int degree; // A count of ??? + float initial_value; + struct v_sub_node *subs; +}; + +void encode(struct LDPC *ldpc, unsigned char ibits[], unsigned char pbits[]) { + unsigned int p, i, tmp, par, prev=0; + int ind; + uint16_t *H_rows = ldpc->H_rows; + + for (p=0; pNumberParityBits; p++) { + par = 0; + + for (i=0; imax_row_weight; i++) { + ind = H_rows[p + i*ldpc->NumberParityBits]; + par = par + ibits[ind-1]; + } + + tmp = par + prev; + + tmp &= 1; // only retain the lsb + prev = tmp; + pbits[p] = tmp; + } +} + +#ifdef USE_ORIGINAL_PHI0 +/* Phi function */ +static float phi0( + float x ) +{ + float z; + + if (x>10) + return( 0 ); + else if (x< 9.08e-5 ) + return( 10 ); + else if (x > 9) + return( 1.6881e-4 ); + /* return( 1.4970e-004 ); */ + else if (x > 8) + return( 4.5887e-4 ); + /* return( 4.0694e-004 ); */ + else if (x > 7) + return( 1.2473e-3 ); + /* return( 1.1062e-003 ); */ + else if (x > 6) + return( 3.3906e-3 ); + /* return( 3.0069e-003 ); */ + else if (x > 5) + return( 9.2168e-3 ); + /* return( 8.1736e-003 ); */ + else { + z = (float) exp(x); + return( (float) log( (z+1)/(z-1) ) ); + } +} +#endif + + +/* Values for linear approximation (DecoderType=5) */ + +#define AJIAN -0.24904163195436 +#define TJIAN 2.50681740420944 + +/* The linear-log-MAP algorithm */ + +static float max_star0( + float delta1, + float delta2 ) +{ + register float diff; + + diff = delta2 - delta1; + + if ( diff > TJIAN ) + return( delta2 ); + else if ( diff < -TJIAN ) + return( delta1 ); + else if ( diff > 0 ) + return( delta2 + AJIAN*(diff-TJIAN) ); + else + return( delta1 - AJIAN*(diff+TJIAN) ); +} + +void init_c_v_nodes(struct c_node *c_nodes, + int shift, + int NumberParityBits, + int max_row_weight, + uint16_t *H_rows, + int H1, + int CodeLength, + struct v_node *v_nodes, + int NumberRowsHcols, + uint16_t *H_cols, + int max_col_weight, + int dec_type, + float *input) +{ + int i, j, k, count, cnt, c_index, v_index; + + /* first determine the degree of each c-node */ + + if (shift ==0){ + for (i=0;i 0 ) { + count++; + } + } + c_nodes[i].degree = count; + if (H1){ + if (i==0){ + c_nodes[i].degree=count+1; + } + else{ + c_nodes[i].degree=count+2; + } + } + } + } + else{ + cnt=0; + for (i=0;i<(NumberParityBits/shift);i++) { + for (k=0;k 0 ) { + count++; + } + } + c_nodes[cnt].degree = count; + if ((i==0)||(i==(NumberParityBits/shift)-1)){ + c_nodes[cnt].degree=count+1; + } + else{ + c_nodes[cnt].degree=count+2; + } + cnt++; + } + } + } + + if (H1){ + + if (shift ==0){ + for (i=0;i0){ + cnt=0; + for (i=0;i<(NumberParityBits/shift);i++){ + + for (k =0;k 0 ) { + count++; + } + } + v_nodes[i].degree = count; + } + + for(i=CodeLength-NumberParityBits+shift;i 0 ) { + count++; + } + } + v_nodes[i].degree = count; + } + } + + if (shift>0){ + v_nodes[CodeLength-1].degree =v_nodes[CodeLength-1].degree+1; + } + + + /* set up v_nodes */ + + for (i=0;i=CodeLength-NumberParityBits+shift)){ + v_nodes[i].subs[j].index=i-(CodeLength-NumberParityBits+shift)+count; + if (shift ==0){ + count=count+1; + } + else{ + count=count+shift; + } + } else { + v_nodes[i].subs[j].index = (H_cols[i+j*NumberRowsHcols] - 1); + } + + /* search the connected c-node for the proper message value */ + for (c_index=0;c_indexindex ].subs[ cp->socket ]; + phi_sum += vp->message; + sign ^= vp->sign; + } + + if (sign==0) ssum++; + + for (i=0;iindex ].subs[ cp->socket ]; + if ( sign ^ vp->sign ) { + cp->message = -phi0( phi_sum - vp->message ); // *r_scale_factor; + } else + cp->message = phi0( phi_sum - vp->message ); // *r_scale_factor; + } + } + + /* update q */ + for (i=0;iindex ].subs[ vp->socket ].message; + } + + /* make hard decision */ + if (Qi < 0) { + DecodedBits[i] = 1; + } + + /* now subtract to get the extrinsic information */ + for (j=0;jindex ].subs[ vp->socket ].message; + + vp->message = phi0( fabs( temp_sum ) ); // *q_scale_factor; + if (temp_sum > 0) + vp->sign = 0; + else + vp->sign = 1; + } + } + + /* count data bit errors, assuming that it is systematic */ + for (i=0;imax_iter; + dec_type = ldpc->dec_type; + q_scale_factor = ldpc->q_scale_factor; + r_scale_factor = ldpc->r_scale_factor; + + CodeLength = ldpc->CodeLength; /* length of entire codeword */ + NumberParityBits = ldpc->NumberParityBits; + NumberRowsHcols = ldpc->NumberRowsHcols; + + char *DecodedBits = CALLOC( CodeLength, sizeof( char ) ); + assert(DecodedBits); + + /* derive some parameters */ + + shift = (NumberParityBits + NumberRowsHcols) - CodeLength; + if (NumberRowsHcols == CodeLength) { + H1=0; + shift=0; + } else { + H1=1; + } + + max_row_weight = ldpc->max_row_weight; + max_col_weight = ldpc->max_col_weight; + + /* initialize c-node and v-node structures */ + + c_nodes = CALLOC( NumberParityBits, sizeof( struct c_node ) ); + assert(c_nodes); + v_nodes = CALLOC( CodeLength, sizeof( struct v_node)); + assert(v_nodes); + + init_c_v_nodes(c_nodes, shift, NumberParityBits, max_row_weight, ldpc->H_rows, H1, CodeLength, + v_nodes, NumberRowsHcols, ldpc->H_cols, max_col_weight, dec_type, input); + + int DataLength = CodeLength - NumberParityBits; + int *data_int = CALLOC( DataLength, sizeof(int) ); + + /* need to clear these on each call */ + + for(i=0; i 0.0L) - (sd[i] < 0.0L); + x = (sd[i]/mean - sign); + sum += x; + sumsq += x*x; + } + estvar = (n * sumsq - sum * sum) / (n * (n - 1)); + //fprintf(stderr, "mean: %f var: %f\n", mean, estvar); + + estEsN0 = 1.0/(2.0L * estvar + 1E-3); + for(i=0; i> 1; + } + mask = 1 << (bps - 1); + + for (k=0;k> 1; + } + } + for (k=0;kmax_iter = %d\n", ldpc->max_iter); +fprintf(stderr, "ldpc->dec_type = %d\n", ldpc->dec_type); +fprintf(stderr, "ldpc->q_scale_factor = %d\n", ldpc->q_scale_factor); +fprintf(stderr, "ldpc->r_scale_factor = %d\n", ldpc->r_scale_factor); +fprintf(stderr, "ldpc->CodeLength = %d\n", ldpc->CodeLength); +fprintf(stderr, "ldpc->NumberParityBits = %d\n", ldpc->NumberParityBits); +fprintf(stderr, "ldpc->NumberRowsHcols = %d\n", ldpc->NumberRowsHcols); +fprintf(stderr, "ldpc->max_row_weight = %d\n", ldpc->max_row_weight); +fprintf(stderr, "ldpc->max_col_weight = %d\n", ldpc->max_col_weight); +fprintf(stderr, "ldpc->data_bits_per_frame = %d\n", ldpc->data_bits_per_frame); +fprintf(stderr, "ldpc->coded_bits_per_frame = %d\n", ldpc->coded_bits_per_frame); +fprintf(stderr, "ldpc->coded_syms_per_frame = %d\n", ldpc->coded_syms_per_frame); +} + +/* vi:set ts=4 et sts=4: */ diff --git a/src/mpdecode_core.h b/src/mpdecode_core.h new file mode 100644 index 0000000..0e15a0a --- /dev/null +++ b/src/mpdecode_core.h @@ -0,0 +1,54 @@ +/* + FILE...: mpdecode_core.h + AUTHOR.: David Rowe + CREATED: Sep 2016 + + C-callable core functions for MpDecode, so they can be used for + Octave and C programs. Also some convenience functions to help use + the C-callable LDPC decoder in C programs. +*/ + +#ifndef __MPDECODE_CORE__ +#define __MPDECODE_CORE__ + +#include + +#include "comp.h" + +struct LDPC { + int max_iter; + int dec_type; + int q_scale_factor; + int r_scale_factor; + int CodeLength; + int NumberParityBits; + int NumberRowsHcols; + int max_row_weight; + int max_col_weight; + + /* these two are fixed to code params */ + int ldpc_data_bits_per_frame; + int ldpc_coded_bits_per_frame; + + /* these three may vary if we don't use all data bits in code */ + int data_bits_per_frame; + int coded_bits_per_frame; + int coded_syms_per_frame; + + uint16_t *H_rows; + uint16_t *H_cols; +}; + +void encode(struct LDPC *ldpc, unsigned char ibits[], unsigned char pbits[]); + +int run_ldpc_decoder(struct LDPC *ldpc, uint8_t out_char[], float input[], int *parityCheckCount); + +void sd_to_llr(float llr[], double sd[], int n); +void Demod2D(float symbol_likelihood[], COMP r[], COMP S_matrix[], float EsNo, float fading[], float mean_amp, int number_symbols); +void Somap(float bit_likelihood[], float symbol_likelihood[], int number_symbols); +void symbols_to_llrs(float llr[], COMP rx_qpsk_symbols[], float rx_amps[], float EsNo, float mean_amp, int nsyms); + +void ldpc_print_info(struct LDPC *ldpc); + + +#endif diff --git a/src/mpdecode_core_test.c b/src/mpdecode_core_test.c new file mode 100644 index 0000000..7d21035 --- /dev/null +++ b/src/mpdecode_core_test.c @@ -0,0 +1,693 @@ +/* + FILE...: mpdecode_core.c + AUTHOR.: Matthew C. Valenti, Rohit Iyer Seshadri, David Rowe + CREATED: Sep 2016 + + C-callable core functions moved from MpDecode.c, so they can be used for + Octave and C programs. +*/ + +#include +#include +#include +#include +#include + +#include "mpdecode_core_test.h" +#ifndef USE_ORIGINAL_PHI0 +#include "phi0.h" +#endif + +#include "debug_alloc.h" + +#ifdef __EMBEDDED__ +#include "machdep.h" +#endif + +#define QPSK_CONSTELLATION_SIZE 4 +#define QPSK_BITS_PER_SYMBOL 2 + +/* QPSK constellation for symbol likelihood calculations */ + +static COMP S_matrix[] = { + { 1.0f, 0.0f}, + { 0.0f, 1.0f}, + { 0.0f, -1.0f}, + {-1.0f, 0.0f} +}; + +// c_nodes will be an array of NumberParityBits of struct c_node +// Each c_node contains an array of c_sub_node elements +// This structure reduces the indexing caluclations in SumProduct() + +struct c_sub_node { // Order is important here to keep total size small. + uint16_t index; // Values from H_rows (except last 2 entries) + uint16_t socket; // The socket number at the v_node + float message; // modified during operation! +}; + +struct c_node { + int degree; // A count of elements in the following arrays + struct c_sub_node *subs; +}; + +// v_nodes will be an array of CodeLength of struct v_node + +struct v_sub_node { + uint16_t index; // the index of a c_node it is connected to + // Filled with values from H_cols (except last 2 entries) + uint16_t socket; // socket number at the c_node + float message; // Loaded with input data + // modified during operation! + uint8_t sign; // 1 if input is negative + // modified during operation! +}; + +struct v_node { + int degree; // A count of ??? + float initial_value; + struct v_sub_node *subs; +}; + +void encode(struct LDPC *ldpc, unsigned char ibits[], unsigned char pbits[]) { + unsigned int p, i, tmp, par, prev=0; + int ind; + uint16_t *H_rows = ldpc->H_rows; + + for (p=0; pNumberParityBits; p++) { + par = 0; + + for (i=0; imax_row_weight; i++) { + ind = H_rows[p + i*ldpc->NumberParityBits]; + par = par + ibits[ind-1]; + } + + tmp = par + prev; + + tmp &= 1; // only retain the lsb + prev = tmp; + pbits[p] = tmp; + } +} + +#ifdef USE_ORIGINAL_PHI0 +/* Phi function */ +static float phi0( + float x ) +{ + float z; + + if (x>10) + return( 0 ); + else if (x< 9.08e-5 ) + return( 10 ); + else if (x > 9) + return( 1.6881e-4 ); + /* return( 1.4970e-004 ); */ + else if (x > 8) + return( 4.5887e-4 ); + /* return( 4.0694e-004 ); */ + else if (x > 7) + return( 1.2473e-3 ); + /* return( 1.1062e-003 ); */ + else if (x > 6) + return( 3.3906e-3 ); + /* return( 3.0069e-003 ); */ + else if (x > 5) + return( 9.2168e-3 ); + /* return( 8.1736e-003 ); */ + else { + z = (float) exp(x); + return( (float) log( (z+1)/(z-1) ) ); + } +} +#endif + + +/* Values for linear approximation (DecoderType=5) */ + + +#define AJIAN -0.24904163195436 +#define TJIAN 2.50681740420944 + +/* The linear-log-MAP algorithm */ + +static float max_star0( + float delta1, + float delta2 ) +{ + register float diff; + + diff = delta2 - delta1; + + if ( diff > TJIAN ) + return( delta2 ); + else if ( diff < -TJIAN ) + return( delta1 ); + else if ( diff > 0 ) + return( delta2 + AJIAN*(diff-TJIAN) ); + else + return( delta1 - AJIAN*(diff+TJIAN) ); +} + +void init_c_v_nodes(struct c_node *c_nodes, + int shift, + int NumberParityBits, + int max_row_weight, + uint16_t *H_rows, + int H1, + int CodeLength, + struct v_node *v_nodes, + int NumberRowsHcols, + uint16_t *H_cols, + int max_col_weight, + int dec_type, + float *input) +{ + int i, j, k, count, cnt, c_index, v_index; + + /* first determine the degree of each c-node */ + + if (shift ==0){ + for (i=0;i 0 ) { + count++; + } + } + c_nodes[i].degree = count; + if (H1){ + if (i==0){ + c_nodes[i].degree=count+1; + } + else{ + c_nodes[i].degree=count+2; + } + } + } + } + else{ + cnt=0; + for (i=0;i<(NumberParityBits/shift);i++) { + for (k=0;k 0 ) { + count++; + } + } + c_nodes[cnt].degree = count; + if ((i==0)||(i==(NumberParityBits/shift)-1)){ + c_nodes[cnt].degree=count+1; + } + else{ + c_nodes[cnt].degree=count+2; + } + cnt++; + } + } + } + + if (H1) { + + if (shift ==0){ + for (i=0;i0){ + cnt=0; + for (i=0;i<(NumberParityBits/shift);i++){ + + for (k =0;k 0 ) { + count++; + } + } + v_nodes[i].degree = count; + } + + for(i=CodeLength-NumberParityBits+shift;i 0 ) { + count++; + } + } + v_nodes[i].degree = count; + } + } + + if (shift>0){ + v_nodes[CodeLength-1].degree =v_nodes[CodeLength-1].degree+1; + } + + + /* set up v_nodes */ + + for (i=0;i=CodeLength-NumberParityBits+shift)){ + v_nodes[i].subs[j].index=i-(CodeLength-NumberParityBits+shift)+count; + if (shift ==0){ + count=count+1; + } + else{ + count=count+shift; + } + } else { + v_nodes[i].subs[j].index = (H_cols[i+j*NumberRowsHcols] - 1); + } + + /* search the connected c-node for the proper message value */ + for (c_index=0;c_indexindex ].subs[ cp->socket ]; + phi_sum += vp->message; + sign ^= vp->sign; + } + + if (sign==0) ssum++; + +//fprintf(stderr, " up-r: %d: sign=%d, phi_sum=%f\n", j, sign, (double)phi_sum); + + for (i=0;iindex ].subs[ cp->socket ]; + if ( sign ^ vp->sign ) { + cp->message = -phi0( phi_sum - vp->message ); // *r_scale_factor; + } else + cp->message = phi0( phi_sum - vp->message ); // *r_scale_factor; + } + } + + /* update q */ +//#ifdef __EMBEDDED__ +//PROFILE_SAMPLE_AND_LOG(ldpc_SP_upq, ldpc_SP_upr, "ldpc_SP_update_r"); +//#endif + for (i=0;iindex ].subs[ vp->socket ].message; + } + + /* make hard decision */ + if (Qi < 0) { + DecodedBits[i] = 1; + } + + /* now subtract to get the extrinsic information */ + for (j=0;jindex ].subs[ vp->socket ].message; + + vp->message = phi0( fabs( temp_sum ) ); // *q_scale_factor; + if (temp_sum > 0) + vp->sign = 0; + else + vp->sign = 1; + } + } +//#ifdef __EMBEDDED__ +//PROFILE_SAMPLE_AND_LOG(ldpc_SP_misc, ldpc_SP_upq, "ldpc_SP_update_q"); +//#endif + + /* count data bit errors, assuming that it is systematic */ + for (i=0;imax_iter; + q_scale_factor = ldpc->q_scale_factor; + r_scale_factor = ldpc->r_scale_factor; + + CodeLength = ldpc->CodeLength; /* length of entire codeword */ + NumberParityBits = ldpc->NumberParityBits; + NumberRowsHcols = ldpc->NumberRowsHcols; + + char *DecodedBits = CALLOC( CodeLength, sizeof( char ) ); + assert(DecodedBits); + + /* derive some parameters */ + + shift = (NumberParityBits + NumberRowsHcols) - CodeLength; + if (NumberRowsHcols == CodeLength) { + H1=0; + shift=0; + } else { + H1=1; + } + + /* initialize c-node and v-node structures */ + c_nodes = CALLOC( NumberParityBits, sizeof( struct c_node ) ); + assert(c_nodes); + v_nodes = CALLOC( CodeLength, sizeof( struct v_node)); + assert(v_nodes); + + init_c_v_nodes( c_nodes, shift, + NumberParityBits, ldpc->max_row_weight, ldpc->H_rows, H1, CodeLength, + v_nodes, NumberRowsHcols, ldpc->H_cols, ldpc->max_col_weight, ldpc->dec_type, + input); + + int DataLength = CodeLength - NumberParityBits; + int *data_int = CALLOC( DataLength, sizeof(int) ); + + /* Call function to do the actual decoding */ + + int iter = SumProduct(parityCheckCount, DecodedBits, c_nodes, v_nodes, + CodeLength, NumberParityBits, max_iter, + r_scale_factor, q_scale_factor, data_int); + + for (i=0; i 0.0L) - (sd[i] < 0.0L); + x = (sd[i]/mean - sign); + sum += x; + sumsq += x*x; + } + estvar = (n * sumsq - sum * sum) / (n * (n - 1)); + //fprintf(stderr, "mean: %f var: %f\n", mean, estvar); + + estEsN0 = 1.0/(2.0L * estvar + 1E-3); + for(i=0; i> 1; + } + mask = 1 << (bps - 1); + + for (k=0;k> 1; + } + } + for (k=0;k + +#include "comp.h" + +struct LDPC { + int max_iter; + int dec_type; + int q_scale_factor; + int r_scale_factor; + int CodeLength; + int NumberParityBits; + int NumberRowsHcols; + int max_row_weight; + int max_col_weight; + int data_bits_per_frame; + int coded_bits_per_frame; + int coded_syms_per_frame; + uint16_t *H_rows; + uint16_t *H_cols; +}; + +extern void ldpc_init(struct LDPC *ldpc, int *size_common); +extern void ldpc_free_mem(struct LDPC *ldpc); + +extern void encode(struct LDPC *ldpc, unsigned char ibits[], unsigned char pbits[]); + +int run_ldpc_decoder(struct LDPC *ldpc, uint8_t out_char[], float input[], int *parityCheckCount); +extern void ldpc_dump_nodes(struct LDPC *ldpc); + +extern void sd_to_llr(float llr[], double sd[], int n); + +extern void Demod2D(float symbol_likelihood[], COMP r[], COMP S_matrix[], float EsNo, float fading[], float mean_amp, int number_symbols); +extern void Somap(float bit_likelihood[], float symbol_likelihood[], int number_symbols); +extern void symbols_to_llrs(float llr[], COMP rx_qpsk_symbols[], float rx_amps[], float EsNo, float mean_amp, int nsyms); + +#endif diff --git a/src/octave.c b/src/octave.c new file mode 100644 index 0000000..18a8517 --- /dev/null +++ b/src/octave.c @@ -0,0 +1,143 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: octave.c + AUTHOR......: David Rowe + DATE CREATED: April 28 2012 + + Functions to save C arrays in GNU Octave matrix format. The output text + file can be directly read into Octave using "load filename". + +\*---------------------------------------------------------------------------*/ + + +/* + Copyright (C) 2012 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . + */ + +#include +#include + +#include "octave.h" + +#ifdef ARM_MATH_CM4 +#include "Trace.h" +#endif + +#define OCTAVE_BUFSIZE 2048 + + +void flush_buffer(FILE* f, char* buffer,size_t* buf_idx_ptr) +{ +#ifdef ARM_MATH_CM4 + trace_write(buffer,*buf_idx_ptr); +#else + fwrite(buffer,*buf_idx_ptr,1,f); +#endif + *buf_idx_ptr = 0; +} + +void handle_buffer(FILE* f, char* buffer,const size_t max_buf, size_t* buf_idx_ptr, size_t l) +{ + *buf_idx_ptr += l; + if (*buf_idx_ptr > max_buf - 64) + { + flush_buffer(f, buffer,buf_idx_ptr); + } +} + +signed int printf_buffer(FILE* f, char* buffer,const size_t max_buf, size_t* buf_idx_ptr, const char *pFormat, ...) +{ + va_list ap; + signed int rc; + + va_start(ap, pFormat); + rc = vsnprintf(&buffer[*buf_idx_ptr], max_buf - *buf_idx_ptr, pFormat, ap); + va_end(ap); + if (rc>0) + { + handle_buffer(f, buffer,max_buf,buf_idx_ptr,rc); + } + return rc; +} + + +void printf_header(FILE* f, char* buffer,const size_t max_buf, size_t* buf_idx_ptr, const char *name, const char *dtype, int rows, int cols, int isFloat) +{ +#ifdef ARM_MATH_CM4 + printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# hex: %s\n", isFloat?"true":"false"); +#endif + printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# name: %s\n", name); + printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# type: %s\n",dtype); + printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# rows: %d\n", rows); + printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# columns: %d\n", cols); +} +void octave_save_int(FILE *f, char name[], int data[], int rows, int cols) +{ + int r,c; + char buffer[OCTAVE_BUFSIZE]; + size_t buf_idx = 0; + + printf_header(f, buffer, OCTAVE_BUFSIZE, &buf_idx, name, "matrix", rows, cols, 0); + + for(r=0; r. +*/ + +#ifndef __OCTAVE__ +#define __OCTAVE__ + +#include "comp.h" + +void octave_save_int(FILE *f, char name[], int data[], int rows, int cols); +void octave_save_float(FILE *f, char name[], float data[], int rows, int cols, int col_len); +void octave_save_complex(FILE *f, char name[], COMP data[], int rows, int cols, int col_len); + +#endif diff --git a/src/phi0.c b/src/phi0.c new file mode 100644 index 0000000..f4a75e2 --- /dev/null +++ b/src/phi0.c @@ -0,0 +1,218 @@ + +// phi0.c +// +// An approximation of the function +// +// This file is generated by the gen_phi0 scritps +// Any changes should be made to that file, not this one + +#include + +#define SI16(f) ((int32_t)(f * (1<<16))) + +float phi0( float xf ) { + + int32_t x = SI16(xf); + + if (x >= SI16(10.0f)) return(0.0f); + else { + if (x >= SI16(5.0f)) { + int i = 19 - (x >> 15); + switch (i) { + case 0: return(0.000116589f); // (9.5) + case 1: return(0.000192223f); // (9.0) + case 2: return(0.000316923f); // (8.5) + case 3: return(0.000522517f); // (8.0) + case 4: return(0.000861485f); // (7.5) + case 5: return(0.001420349f); // (7.0) + case 6: return(0.002341760f); // (6.5) + case 7: return(0.003860913f); // (6.0) + case 8: return(0.006365583f); // (5.5) + case 9: return(0.010495133f); // (5.0) + } + } + else { + if (x >= SI16(1.0f)) { + int i = 79 - (x >> 12); + switch (i) { + case 0: return(0.013903889f); // (4.9375) + case 1: return(0.014800644f); // (4.8750) + case 2: return(0.015755242f); // (4.8125) + case 3: return(0.016771414f); // (4.7500) + case 4: return(0.017853133f); // (4.6875) + case 5: return(0.019004629f); // (4.6250) + case 6: return(0.020230403f); // (4.5625) + case 7: return(0.021535250f); // (4.5000) + case 8: return(0.022924272f); // (4.4375) + case 9: return(0.024402903f); // (4.3750) + case 10: return(0.025976926f); // (4.3125) + case 11: return(0.027652501f); // (4.2500) + case 12: return(0.029436184f); // (4.1875) + case 13: return(0.031334956f); // (4.1250) + case 14: return(0.033356250f); // (4.0625) + case 15: return(0.035507982f); // (4.0000) + case 16: return(0.037798579f); // (3.9375) + case 17: return(0.040237016f); // (3.8750) + case 18: return(0.042832850f); // (3.8125) + case 19: return(0.045596260f); // (3.7500) + case 20: return(0.048538086f); // (3.6875) + case 21: return(0.051669874f); // (3.6250) + case 22: return(0.055003924f); // (3.5625) + case 23: return(0.058553339f); // (3.5000) + case 24: return(0.062332076f); // (3.4375) + case 25: return(0.066355011f); // (3.3750) + case 26: return(0.070637993f); // (3.3125) + case 27: return(0.075197917f); // (3.2500) + case 28: return(0.080052790f); // (3.1875) + case 29: return(0.085221814f); // (3.1250) + case 30: return(0.090725463f); // (3.0625) + case 31: return(0.096585578f); // (3.0000) + case 32: return(0.102825462f); // (2.9375) + case 33: return(0.109469985f); // (2.8750) + case 34: return(0.116545700f); // (2.8125) + case 35: return(0.124080967f); // (2.7500) + case 36: return(0.132106091f); // (2.6875) + case 37: return(0.140653466f); // (2.6250) + case 38: return(0.149757747f); // (2.5625) + case 39: return(0.159456024f); // (2.5000) + case 40: return(0.169788027f); // (2.4375) + case 41: return(0.180796343f); // (2.3750) + case 42: return(0.192526667f); // (2.3125) + case 43: return(0.205028078f); // (2.2500) + case 44: return(0.218353351f); // (2.1875) + case 45: return(0.232559308f); // (2.1250) + case 46: return(0.247707218f); // (2.0625) + case 47: return(0.263863255f); // (2.0000) + case 48: return(0.281099022f); // (1.9375) + case 49: return(0.299492155f); // (1.8750) + case 50: return(0.319127030f); // (1.8125) + case 51: return(0.340095582f); // (1.7500) + case 52: return(0.362498271f); // (1.6875) + case 53: return(0.386445235f); // (1.6250) + case 54: return(0.412057648f); // (1.5625) + case 55: return(0.439469363f); // (1.5000) + case 56: return(0.468828902f); // (1.4375) + case 57: return(0.500301872f); // (1.3750) + case 58: return(0.534073947f); // (1.3125) + case 59: return(0.570354566f); // (1.2500) + case 60: return(0.609381573f); // (1.1875) + case 61: return(0.651427083f); // (1.1250) + case 62: return(0.696805010f); // (1.0625) + case 63: return(0.745880827f); // (1.0000) + } + } + else { + if (x > SI16(0.007812f)) { + if (x > SI16(0.088388f)) { + if (x > SI16(0.250000f)) { + if (x > SI16(0.500000f)) { + if (x > SI16(0.707107f)) { + return(0.922449644f); + } else { + return(1.241248638f); + } + } else { + if (x > SI16(0.353553f)) { + return(1.573515241f); + } else { + return(1.912825912f); + } + } + } else { + if (x > SI16(0.125000f)) { + if (x > SI16(0.176777f)) { + return(2.255740095f); + } else { + return(2.600476919f); + } + } else { + return(2.946130351f); + } + } + } else { + if (x > SI16(0.022097f)) { + if (x > SI16(0.044194f)) { + if (x > SI16(0.062500f)) { + return(3.292243417f); + } else { + return(3.638586634f); + } + } else { + if (x > SI16(0.031250f)) { + return(3.985045009f); + } else { + return(4.331560985f); + } + } + } else { + if (x > SI16(0.011049f)) { + if (x > SI16(0.015625f)) { + return(4.678105767f); + } else { + return(5.024664952f); + } + } else { + return(5.371231340f); + } + } + } + } else { + if (x > SI16(0.000691f)) { + if (x > SI16(0.001953f)) { + if (x > SI16(0.003906f)) { + if (x > SI16(0.005524f)) { + return(5.717801329f); + } else { + return(6.064373119f); + } + } else { + if (x > SI16(0.002762f)) { + return(6.410945809f); + } else { + return(6.757518949f); + } + } + } else { + if (x > SI16(0.000977f)) { + if (x > SI16(0.001381f)) { + return(7.104092314f); + } else { + return(7.450665792f); + } + } else { + return(7.797239326f); + } + } + } else { + if (x > SI16(0.000173f)) { + if (x > SI16(0.000345f)) { + if (x > SI16(0.000488f)) { + return(8.143812888f); + } else { + return(8.490386464f); + } + } else { + if (x > SI16(0.000244f)) { + return(8.836960047f); + } else { + return(9.183533634f); + } + } + } else { + if (x > SI16(0.000086f)) { + if (x > SI16(0.000122f)) { + return(9.530107222f); + } else { + return(9.876680812f); + } + } else { + return(10.000000000f); + } + } + } + } + } + } + } + return(10.0f); +} diff --git a/src/phi0.h b/src/phi0.h new file mode 100644 index 0000000..0fa71df --- /dev/null +++ b/src/phi0.h @@ -0,0 +1,7 @@ +// phi0.h +#ifndef PHI0_H +#define PHI0_H + +extern float phi0( float xf ); + +#endif

  • L;BM{sX4ycFO9G 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 }OwaPqe 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 literal 0 HcmV?d00001 diff --git a/samples/horusb_iq_s16.raw b/samples/horusb_iq_s16.raw new file mode 100644 index 0000000000000000000000000000000000000000..2e36638af66cdd2f7cad8acdeca1f98662206004 GIT binary patch literal 1049088 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 z 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