From 625bcdc7089991c8b26efbd13bf92b99052000cb Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Mon, 9 Sep 2024 17:38:23 +0200 Subject: [PATCH 1/3] update --- package-lock.json | 16 ++++++++-------- package.json | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3722564..1e8902b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "MIT", "devDependencies": { - "@abaplint/monaco": "^2.113.6", + "@abaplint/monaco": "^2.113.7", "@abaplint/runtime": "^2.10.17", "@abaplint/transpiler": "^2.10.17", "@abaplint/transpiler-cli": "^2.10.17", @@ -36,9 +36,9 @@ } }, "node_modules/@abaplint/core": { - "version": "2.113.6", - "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.113.6.tgz", - "integrity": "sha512-jctPSwZAqlY5pmxaqf3xZRRmadvGwpZY51rXPplaWPjxKP6jm3ZcRfOTZfYUvKRSk0Nq28rSGiE9Y9kOKeKJbw==", + "version": "2.113.7", + "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.113.7.tgz", + "integrity": "sha512-vyHV/A9DJOi+/9TUknMg94BR9ivHVpiQZ2ox5FiVlj4rJ5eaTZqHvZ+rvFFjI66ADt158gGIvu1+tiIIsUXqzA==", "dev": true, "dependencies": { "fast-xml-parser": "^4.5.0", @@ -53,12 +53,12 @@ } }, "node_modules/@abaplint/monaco": { - "version": "2.113.6", - "resolved": "https://registry.npmjs.org/@abaplint/monaco/-/monaco-2.113.6.tgz", - "integrity": "sha512-2N1jQtP3lXJJFIWN1IjrT39mkxOgTEOoMoh74yx4HBFo3qzzbMnMUWhpjyqYWYOAeyvGE9pXVB9U6krxOJIuqg==", + "version": "2.113.7", + "resolved": "https://registry.npmjs.org/@abaplint/monaco/-/monaco-2.113.7.tgz", + "integrity": "sha512-+wo/d5IVSMFuvTiwDZeq8ZYqt77M83AsTNcc6VaVCvpUdHKFnA/Boqb9LffDMMPHu+rI/8rc9TR1yyqb0fHtxQ==", "dev": true, "dependencies": { - "@abaplint/core": "^2.113.6" + "@abaplint/core": "^2.113.7" }, "funding": { "url": "https://github.com/sponsors/larshp" diff --git a/package.json b/package.json index 41ade9b..f09b41c 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "author": "", "license": "MIT", "devDependencies": { - "@abaplint/monaco": "^2.113.6", + "@abaplint/monaco": "^2.113.7", "@abaplint/runtime": "^2.10.17", "@abaplint/transpiler": "^2.10.17", "@abaplint/transpiler-cli": "^2.10.17", From de2762ce5ab4089b214b9ab5084406f44470fb52 Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Mon, 9 Sep 2024 17:43:52 +0200 Subject: [PATCH 2/3] wip --- abap.mjs | 2 +- examples.mjs | 2 +- public/zcl_excel_demo1.xlsx | Bin 6330 -> 6331 bytes public/zcl_excel_demo2.xlsx | Bin 6820 -> 6821 bytes 4 files changed, 2 insertions(+), 2 deletions(-) diff --git a/abap.mjs b/abap.mjs index bfd5d99..2aec27c 100644 --- a/abap.mjs +++ b/abap.mjs @@ -37,7 +37,7 @@ for (let i = 1; i < 10; i++) { const contents = fs.readFileSync("abap2xlsx-demos/src/demo00" + i + "/zcl_excel_demo" + i + ".clas.abap", "utf-8").toString("utf-8"); add("zcl_excel_demo" + i + ".clas.abap", contents); } catch { - break; + continue; } } diff --git a/examples.mjs b/examples.mjs index 0350636..a6af9ab 100644 --- a/examples.mjs +++ b/examples.mjs @@ -7,7 +7,7 @@ console.log("Running examples.mjs"); for (let i = 1; i < 10; i++) { const className = "ZCL_EXCEL_DEMO" + i; if (abap.Classes[className] === undefined) { - break; + continue; } const excel = await abap.Classes[className].zif_excel_demo_output$run(); diff --git a/public/zcl_excel_demo1.xlsx b/public/zcl_excel_demo1.xlsx index 5bd3bdac8d8aff7d29b2e5134baad71bbeefafb3..c999ef16d51df0957438d3f6d4dd176f6957cef9 100644 GIT binary patch delta 429 zcmV;e0aE_DF}pFaIRphCqgCWQlRg9=e@??N5QeW3d7s!xOHrfL6_2u_2+<-CJIkK7 z7V$&2A?evza3rpPlD26ox?(&3H{Wf3%XY2$~eV>PmEh*%lJE6e*?}4 z8DRy12^JV`gt6_6Xs;B!Q`!$#wgSO1l%PNdkJBW@M>c>{{%k{=^hhPc*1}oz5O#F! zWd~MOl~jWk%?L^H>->Jvt{O|-T#5sth2S}Nz=Cn~c`xSG!j+$%PK0MDJYK^jdj zlXR4j7U`FpJD1Fdxe;@lh76#v$F;05CtEjRpdOApcYgD zmIafs1sszS7b*d-lRXze0Uwio7d!!Zle-r>0dkY}7eNAr5tE=18j}HU`uc00000fc&;v delta 428 zcmV;d0aO0FF}g9ZIRphuj#aullRg9=e{RAs5QeW3d7sz`6$mQ?^+8vqstTx8ca}YX z)%YRXZNk~Q=#hGbDgi=JS#>-AH{WE2|lV-sXgU(g0>-8im~TgP|PRBg05A$HcqkN6XQ16GXBmse}FSW zhFC#hf(3>fVQf1iIw%G2l=j1wtw3-LB`DCr<1|U}i4EYCzu3?wJyOZAvv3hTh8UkVY4y zBpoKCMf&CD&L#6f3%XY2$~eV>PmEh*%lJE6e*;bl z8DRy12^JV`gt6_6Xs;B!Q`!$#wgSO1l%PNdk7+{jkqzLKKikkIJyOZAwQv?agdJUb z*@0D6CDlcXri4)ZI=^4EtHx3{m*RkmT=0xLV8OWJc`xSG#$+$%PK0MDJYK^k3L zCUlgL7U`FpJD1Fdxe;j4zf=4IP)h>@le!ohlj0Z}v&#j#5(PaxYP&p> ziWpP@l#|~WM**#qCmBEi9g}DoJOOx>S{A{s>j43lUYHU_>I00000 Dcg?PO delta 408 zcmV;J0cZZDHKaALHv|Psj#aullRN|;e{RAs5QeW3d7sz`6$mQ?^+8vqstTx8ca}YX z)%YRXZNk~Q=#hGbDgi=JS#>-AH{WE2|lV-sXgU(g0>-8im~TgP|PRBg05A$HcqkN6XQ16GXBmse}FSW zhFC#hf(3>fVQf1iIw%G2l=j1wtw3-LB`DCr<1|U}i4EYCzu3?wJyOZAvv3hTh8UkVY4y zBpoKCMf&CD&L#6 Date: Mon, 9 Sep 2024 18:47:34 +0200 Subject: [PATCH 3/3] more demos --- package-lock.json | 26 +++++++++++++------------- package.json | 6 +++--- public/zcl_excel_demo1.xlsx | Bin 6331 -> 6330 bytes public/zcl_excel_demo2.xlsx | Bin 6821 -> 6820 bytes public/zcl_excel_demo4.xlsx | Bin 0 -> 9105 bytes public/zcl_excel_demo5.xlsx | Bin 0 -> 5801 bytes public/zcl_excel_demo6.xlsx | Bin 0 -> 5796 bytes public/zcl_excel_demo7.xlsx | Bin 0 -> 6738 bytes public/zcl_excel_demo8.xlsx | Bin 0 -> 5864 bytes 9 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 public/zcl_excel_demo4.xlsx create mode 100644 public/zcl_excel_demo5.xlsx create mode 100644 public/zcl_excel_demo6.xlsx create mode 100644 public/zcl_excel_demo7.xlsx create mode 100644 public/zcl_excel_demo8.xlsx diff --git a/package-lock.json b/package-lock.json index 1e8902b..6ecd0de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,9 +10,9 @@ "license": "MIT", "devDependencies": { "@abaplint/monaco": "^2.113.7", - "@abaplint/runtime": "^2.10.17", - "@abaplint/transpiler": "^2.10.17", - "@abaplint/transpiler-cli": "^2.10.17", + "@abaplint/runtime": "^2.10.18", + "@abaplint/transpiler": "^2.10.18", + "@abaplint/transpiler-cli": "^2.10.18", "assert": "^2.1.0", "browserify-zlib": "^0.2.0", "buffer": "^6.0.3", @@ -65,9 +65,9 @@ } }, "node_modules/@abaplint/runtime": { - "version": "2.10.17", - "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.10.17.tgz", - "integrity": "sha512-zSfMaFAhpdYaCI2Ve2MqUaMZxiSHhntlwIq0MK7EO02ZBpnqP23rF+IsWbQyvoFnNGiqTIrTjaBYchvOM0W2qA==", + "version": "2.10.18", + "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.10.18.tgz", + "integrity": "sha512-7x7pxlVWn9uliURr4zyarlEeKNneuucdEt9GjZmbXRgAwbaIZjt48eHyFn/iGjnbtQ638dBkm2p4SVTkw9GwqQ==", "dev": true, "dependencies": { "temporal-polyfill": "^0.2.5" @@ -77,12 +77,12 @@ } }, "node_modules/@abaplint/transpiler": { - "version": "2.10.17", - "resolved": "https://registry.npmjs.org/@abaplint/transpiler/-/transpiler-2.10.17.tgz", - "integrity": "sha512-AWwCyk0eOUj0ldcDzMFwfMKFgLvO/hHR3nT1HY01H9XZ5Liq8mDpMU7sAhXzR6MlaSMG0FtGmthErJYn07/KdQ==", + "version": "2.10.18", + "resolved": "https://registry.npmjs.org/@abaplint/transpiler/-/transpiler-2.10.18.tgz", + "integrity": "sha512-5X0669N/QGDjhg+VoE3xs29p0nIaOnXf2vt14bPzT0+3cFKuZSCnGLwRDY2zGDACbvLVm08JYVmz9CyUEyYKlA==", "dev": true, "dependencies": { - "@abaplint/core": "^2.113.6", + "@abaplint/core": "^2.113.7", "source-map": "^0.7.4" }, "funding": { @@ -90,9 +90,9 @@ } }, "node_modules/@abaplint/transpiler-cli": { - "version": "2.10.17", - "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.10.17.tgz", - "integrity": "sha512-AUu+ChqPI834zmS2N8qnElbvUlA/dhWnrjpPLr6x6LjJOVsQ12W6/JDLAwECofttXBhzPBeWTxGwt6PRnFKIyQ==", + "version": "2.10.18", + "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.10.18.tgz", + "integrity": "sha512-IL7PN4Iuoei5hEqRYA4MZuscjYTxIZXPkb1LYPOyr6z7D5rsRkk83eZr2VzwspU5dvdLgTyG7WRoecgP7PKLpQ==", "dev": true, "bin": { "abap_transpile": "abap_transpile" diff --git a/package.json b/package.json index f09b41c..5e847d4 100644 --- a/package.json +++ b/package.json @@ -17,9 +17,9 @@ "license": "MIT", "devDependencies": { "@abaplint/monaco": "^2.113.7", - "@abaplint/runtime": "^2.10.17", - "@abaplint/transpiler": "^2.10.17", - "@abaplint/transpiler-cli": "^2.10.17", + "@abaplint/runtime": "^2.10.18", + "@abaplint/transpiler": "^2.10.18", + "@abaplint/transpiler-cli": "^2.10.18", "assert": "^2.1.0", "browserify-zlib": "^0.2.0", "buffer": "^6.0.3", diff --git a/public/zcl_excel_demo1.xlsx b/public/zcl_excel_demo1.xlsx index c999ef16d51df0957438d3f6d4dd176f6957cef9..662c97c4e73979552171596b53e01a7adbe56c4a 100644 GIT binary patch delta 428 zcmV;d0aO0FF}g9ZIRphD41N1MlRg9=e{RAs5QeW3c^}&eh>9o#^+8vqstTx8ca}YX z)%YRXZNk~Q=#hGbDgi=JSyl4N|2N-wM*jKw&Zo61qfc;N8a+V?rYMShU|O)!XqccK zcr-0?ZZmEiJUL^*1qnW?RjGZ(?F4N@uo)qqZ$UASjRjq+a&4Sq!DHh##4`TQe>Ol; zN=HONV1flk8ewcZBRVJr@09k#m90Q<0wpNW!IK0hb2V zz3jlMs&F-E(Uj7Jyv`pM?WnQT&89e@A{RX44p=a*SS@DHkJs~API{LOAi#4cZIDJ6 zS2!7A+9LhyX3r(_VQz$6OAt4^KA!GxmLKNdw*e8=US|6#kIBp6_HKEPij=0qn2uvQ zUM8b#*qpbf{aO7O9KRx(H0uBv<2u81t1K4`#Y1N7E}S1 zllB%z0j`ri7eE0XlYbXH0eF+V7dirQ50j1$7LyJbDguNNlc5nBlNA;ali3sy3jhEB W000000002WlYbaC2GbP)0001TbGC{A delta 429 zcmV;e0aE_DF}pFaIRphCqgCWQlRg9=e@??N5QeW3d7s!xOHrfL6_2u_2+<-CJIkK7 z7V$&2A?evza3rpPlD26ox?(&3H{Wf3%XY2$~eV>PmEh*%lJE6e*?}4 z8DRy12^JV`gt6_6Xs;B!Q`!$#wgSO1l%PNdkJBW@M>c>{{%k{=^hhPc*1}oz5O#F! zWd~MOl~jWk%?L^H>->Jvt{O|-T#5sth2S}Nz=Cn~c`xSG!j+$%PK0MDJYK^jdj zlXR4j7U`FpJD1Fdxe;@lh76#v$F;05CtEjRpdOApcYgD zmIafs1sszS7b*d-lRXze0Uwio7d!!Zle-r>0dkY}7eNAr5tE=18j}HU`uc00000fc&;v diff --git a/public/zcl_excel_demo2.xlsx b/public/zcl_excel_demo2.xlsx index 43b63546b715d78761d0bb7bc5158e992a33ede4..141b2335b19cb04c24e7bc8108fa502d94a6cf87 100644 GIT binary patch delta 408 zcmV;J0cZZDHKaALHv|PB41N1MlRN|;e{RAs5QeW3c^}&eh>9o#^+8vqstTx8ca}YX z)%YRXZNk~Q=#hGbDgi=JSyl4N|2N-wM*jKw&Zo61qfc;N8a+V?rYMShU|O)!XqccK zcr-0?ZZmEiJUL^*1qnW?RjGZ(?F4N@uo)qqZ$UASjRjq+a&4Sq!DHh##4`TQe>Ol; zN=HONV1flk8ewcZBRVJr@09k#m90Q<0wpNW!IK0hb2V zz3jlMs&F-E(Uj7Jyv`pM?WnQT&89e@A{RX44p=a*SS@DHkJs~API{LOAi#4cZIDJ6 zS2!7A+9LhyX3r(_VQz$6OAt4^KA!GxmLKNdw*e8=US|6#kIBp6_HKEPij=0qn2uvQ zUM8b#*qpbf{aO7O9KRxyBHdi;}{yV%mum<1t1K4`#Y11 z7*qk1li(Of0j!fK89)IXlW7?|0e6$889D(Oli?Xb0eX`o8btvMlW7_@2E7*m0000J CGP3^w delta 409 zcmV;K0cQTBHKjGMHv|PeJZiff3%XY2$~eV>PmEh*%lJE6e*;bl z8DRy12^JV`gt6_6Xs;B!Q`!$#wgSO1l%PNdk7+{jkqzLKKikkIJyOZAwQv?agdJUb z*@0D6CDlcXri4)ZI=^4EtHx3{m*RkmT=0xLV8OWJc`xSG#$+$%PK0MDJYK^k3L zCUlgL7U`FpJD1Fdxe;j4zf=4IP)h>@le!ohlj0Z}v&#j#5(PaxYP&p> ziWpP@l#|~WM**#qCmBEi9g}DoJOOx>S{A{s>j43lUYHU_>I00000 Dcg?PO diff --git a/public/zcl_excel_demo4.xlsx b/public/zcl_excel_demo4.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..15161b0f85ba65aa651bc4df239ee9b35517649f GIT binary patch literal 9105 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 literal 0 HcmV?d00001 diff --git a/public/zcl_excel_demo6.xlsx b/public/zcl_excel_demo6.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..06becb5cc1123da609f4720e66436c618f1c965f GIT binary patch literal 5796 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 x9|nB1?S^Lf&-8zlVUb3ZltxOrk)@-U%5Xpbl z^M8KwfB&8{^PZWr_s*RA%)HNi@2DuCpaKB^044xE`AjQsI#)#t2>@6@1ptT;XZ58V z>>=j%kQW*rj^4o>`_QbLb#@)}m1%sf^m{d`ms&QrSbokWW~Yfrv= zl%Xt{bU>sXtZItkcJ7<+UfriXa~Iz}p0L{h`npv@K%)0_WsCh)+0mIg(dE7j=5eH; z##b+(F-s4o+UL?41Zc8%Fo=tM#~nL=_KgY^tO`;N9A58HO*l+ zQd%VRO(yndz^;L42=#+fTJ{&F&kf(tcYR@@z&%u&z={aXk>9pO88IM4v54nn5Qj0Q zHSx<=;B5|{yAd^?L@TvuVQwUk2JNgQE`2x!RgMrW-!Q-qT8b99kY;>!DxazRRfZI- z#MEVk{36Hz02X3=;cRXT=3xK1FBwx(M&ZInTPl*C;ZDC7inddgVqY(nPr@0x`82LG z#*{{c0xPPM7#|CjHlYyf^x1F*n{Q*2gDWrkv7{Pab}Pmyy)D<5 z97+Vz9~+Dh`iKe4R(eInfBS@)Sr{+;BZV~;1c90i5}4EM6vT95Pl)oh%8?i^tIB2Ula_vw6<8dzS1V~fmh-Z3Sj3l-K*<;Y(m7m$|e2?SA0dX zNU0q&luBi?MpWey`9^JQtSw4O7Md)k58Otv#8}U0R-xF&(m3)oH?Y+?d2^G{Ge||^ zgi+aVC8>7jtR{=$Y$Dj#BGRyu2`U9pUs_qQ>j|E0qr7|@;>C_ z+GPQ3(!Exm)WuHNFZRBFJ(7A|*&=D8Tv3!Zl}>kjj8~uj|4(Z1-=j2xaEb9E)6x4uA@Q|E+cBeyMFudNYEvU6Bi>jS!aZk z&{yKcGi5QKzGj!@Wa<^%si0+^hGFO|AA>}-tk9q<;l$tr$)kXqLM~&x&wa;DT(;+j z?v3?2>_@`GJ!ly`^kTT$Ehv9i202bLM;K8V4@6}M{#_YU2WRu&rTJ%~$e0EdX+*|q z2=|9Qlnxi)W%ZiX>%^N0%CR(Ui>XDHpUo@S3fsF}^j;9-P+ zN#mH#tjto9DK6w_rM2o~3}E z1AJw<^w1OAtKJEU0k4nRQ4MBz(|P9N)UvCE6Zn#&3y>gSNmeP|1Y19LzW(M|owVt$ zVvB?urEA_}n_HIr{d*Vmnh6&s27YFF|ExNC!eZ|n-N1nv&)d(|iWT(u1 zreY?FjgWeb(+45`F!N-vJFdp{QuhYLgeP@vCw#Yme}2>V!zJ3^Qu84}D}PQ0MF^?M z5u>{;$L|@z&B58m#KFPlr`*41hggx99pd@n5@Z%8;UZyS+bxSE_D+nKQbG#HhwHjF_EfS1n(Rs4r00sGceRtz4Q#!tPA)?_+SmFRZ4Ikacd^Lf zUGYsX#4MPJ#9u7@Wc$nfiqj}tD*diupf~wO+^4-4q&_E3Dfj;t1{aKJB!&h6xRCvB zR|sJsR_1o*zxP}}W!XzsaF~>($|fOhRi3} z&4;b&WQvbgZRLtPhyd+S=)^g;KRBg8mHfN|C39HWay6+V)ljW+0_p}9KV1uOr{-=A zXb(S;VwARKmI<**^o|G#F;kQwUnvKPPPfZZ;B#?4k_%y!UMFl+uUZNrTj*pOytz9`;ZtTn*)^KS?;gStTxnGe^4Wgt6@ah1d?qXu~+cgpZH)CdN~O`R<`O)`}d3-B+xFub(cy}+~< zlhb;x0V~{mcNwEV81U(tGn^s_Dz7-T$H@B*)IjqgoPwom(Lj0RL)^p z6r&{s<1RM2mZ}zgeRtD+w}nWtg}AwVDTU?IXvCm%#J|6zl_1WwX|DKdo4-TJS3BPi zQ?}Y?$o-_m*~GJWdXf8GpNC?kE8xnFL_8RK=h!b)(lrfon>gVwBRdQV(AAP2)*0oC zTg1kpJ|tXW=M>Zc?v3(rldjX`Fg!SgU$;7(ovh5UMumm6@*xe>r-ps&pU}V?i-FeN zIgIju0DEiNA1ce=_ee0F@=b?HV#oxnwj@8K4arr)iefkVIKpv9nj32S?X@50TS5u! z_vvx8l9U!A&d9JC(GXw~%5F-;?9$*J&crAiX)Oq)k`8hwaiGm=gXUv(Q>nB}^0}o4 zt)bx!xSz{JFRsH|TCRXsCtD4cc+Jko30v3KB3v%pi_Si>xu*x@CmSo%01G?eMN zIWOA~Tk?RVW`WBrR*2+7hkV-pxEzR$DBz?@eddYkU{cjnc2f#T2p80z4`nn6Rz8o5;)* z6%)Hb^s*uw+nI1huUxXw@}qjBbAiGLAtnFFHi3zmoG-Y(mlOz=1ec(@pEBB=B)T_&S z!R^*&_4jZTHJ)zqbe702nF1xKSKj!wF|Bw|nuyF7yv}{t8Iz25z6g2u+Sq z*yJ7+g*Q#vJDZYF{i{H)F^XOE0Zq8>a6*^WdJB=Wd!lsSQ$kYi?13qOrL4sFl_uwz zJ7F^(>P(H#e_;GQ-v&r{K4U}l{4>Oc_q!4Oy9GtQReFh78U&U;+yKPvbz4)gV#s3+ z=Aqv0)2r?-54nCDKP#Y5BBEBRVrDwFTmRkzZzILy`1r)Y4!xw8@tmf__$|j{8aiov zRP9Nc04((B2~CHq?T%R@vZ}{^5+vFB>g4ZndGWB|BiMS?lQz^H?dP;OL$oAWQW1Ki z4+pd~z}7|&i?4i1VRq&L!!Q9G9w&cy4Pkj3Nk)U$^)GYVuOMQ}LrqSR*yw1|hxjkv zL@<%E`Z3L|MlKKUZ?kF=n!}Jiaq5n%KB`qFP6rod(2?PeVa{>)hGX}x%bsLEks}a7 z|6%H?J+#2mZ%RTY%$jJfCv&sZbAK=)iL2FX2TYS)LyYZA^NI}(rG@y1Tv87zY%Ei* z4W*>u+TRT?q$je=3Ut0O0&q77X#QH3$E4QtEACbDa2B z#94SDw&OTeaOlV2DIRj_)y?{lwQK79uV8(uvV-x zQlF=Il>PL++?KusUT~o|nQMQ0>}k$ORhwCv`s7k$s}g!xEAKG*rWE?jSY8s7hb2Bg zF^&PC4q+w`4*NnewVtZT)xJ;0q@}(%lARy zp|LfhR+w(!=QMo;^__Hhd1B@%m#xm6^bW~uv-t}`fpu-UCN9vmr{dmy;WxAMPS2=x z`OZ|a^i*R%xI5vj?6C6;Jlkk7*ROT3O1Xj3tJfU1WYu3w@v3&b2B+H&)mhD(-5Yg7 znO2EC$jr<*F6p6YcjZZnxENf{Uh}L^Z;+0ANwD9b5pT6M5wh)qb=UJm%#SbIr^Vcd z%Q9oKxacOe#_%BAACC2|1@L!?b3#F%2@oY_LX`ODiW^~8z*ff2=4R>;XKQ=QUzLs= zkx+ia2}EBi;t^>Dk~$i{1{niFF+mTwD&N0NW~Qs6DJ2z7!HQlZjz|tn&JQ$Syg1rC zxbVJlbgSGNVY#2Rmm547=|_O9IRKtNiS;^*L|OR3{#vqfi_X1P^<^zRsxl4 zJ9hK!+R8V>QrAlb!;D(c{k|a4w?uO!*}Nsg9!c*6UeGFZ8#-6%)a3_P*$zZ;Q=mEkjFz|&%rKqz)?SCYs!W#@T+!*z=h#z=QX6Amf`jQlfwIT zFsMyMbQh7(khP{_HaAazAPT`d)E8NyG4)9xHkn zdxg;XOgUs*o86~+Ak&#F-{4b!mqvq5LU^t#nHIZL^+3KeS%JZBf0un7WZ($s(k=bA zFR3!Sdq7}5rjdRtDw1K9Gq{T^m5RdMeKwC}{iR$u{^GvsXjulKb7Ao#~AeHR~DaP#-QEr3r3|PpHJg!sE!1-Svf&J@9VYd0Phfsx4;HxF zC<5=%TqhoJE}v*27knS;Z9o#VtFpMXIdCK z9#zkDSNB{IZOm2JM40fy(U0bKy^}?mtKrm2Q>|wFGx-$}HmZ&jKTWAUCOm8Ax2`ma zmXL(%Mc;8--7X?)Vi9fqwdcZ<$aimK&n6&wQ+G3*oa+@1ry*Z^x-htAzHH`Pnbk=5b%RBc*36d1k=9>;;cmAQ`dr;RotJ+9CI} zSz3m>_P2x7Mb&)dE|*{=P95Ikw#`1LBaPdfAZ2Up|}C2wuy+3Q4#F>A3STKLX-=NPDk$-0p+7*VioMWPbZzhZGEll#-gk z>;=1v>OI9$_Ag2oCs#l`I4q!)X(5tg@(MUKW!KXJb!^$cLlS>;pTF2rNBPH)Jo9`Q z<_f_At3hDyZtSJ$!!o8j9to_h7SC5xa>M;wccL$?J&1hBzV%O<>I_wt#XvyTIh z=Z};{J_}3#P&u(tGtlO&upK~I^SmAr@@;dv<7M8$$%=8q61K?S6Q+micMyrr&oUZi zyEXjA0m?IOQh$$q$0bN4=kO>l`$)XZ;BZ`eHug?i?C~hWyLaKHwH7!-2(}&&Rk%@ZcrS5AgL%IAp?K4 z{{If!5x4!X-+x5!w+U{?#DCDi2%qt<(D*j+cB=XZ7=wtIZfC5w(YKSoKWG-jXM=yx z|CZQbU%9sc~`DMkOqb2|#UO>lcP^M~L*_Ai2euWfFFZyWYM zU=M_U|LN`ivG2E`w~gQ*=ySxP>c4E^ZHC)E=nq2%A|yvJ{Jiu35>%bP6(p97Hy0000Q044cCGk+#eSrY*OSU~~+@ZtaJN!Zys zo7p-WsC(F(Iq9>z+gO*yKUeDH#0jpz^N1j=W7W>gXJynYL?YrmqpjLWG|#v6ZJUX-3rj(qZ}$H{6I&#G*E>dg|Q1oc5W!2BLyk` z(*iQHTX_Gs?|L-HNOj>u?f~&HIjx;9Jf&Wi-gMeqMLtDLLPnZ3knH>b))s%A+2H zw5aU2nHXOIyZXYR6jT*7>;@(;UwxSGo?{`yI#QfOj||I|-?j#h>f-^;<2mU?YZ=m- zpU8j2-W<7f!*4l_QEb&j+ejV@-dRapDmas?9>rb0rLR3`Em`0~fcR-wzfk^5h7|O~ z)Ma@1g%AM%bokT2(ahS3gZ<~dY+O+Z$c2HtR3ZuCPJa-Fyi=26+aOU$#2L0J6W0}M zLMcRs9^FNVgN{U#P>g=|VkCpjuc_J2l^5k$T$NraO`o@nH=mI{CIH{%OtO2wHbv%s zA%4MQrTQdN3Ffqi8plGS4m47%m>_xH;B>m|_rYfVk+wYnhV!*#x6a_ z7H7q2rDDRDw6{KPvN+tUxg5b~!x#BLx|Cq%YndnJZ7CF zJ6@|X;!3s&QNB3%u-f>Eu#@u-OY?=BYb_!lSTzG*1)nXWN9=Xn3Y1Ak**>1d8rl1DC#UPsLe5Xa}&=qSXu0p zK`CG*>GRG-T^1oUAcn#%1dX<)A#zN>YQ|{PZJ3_6l)rJG&7E#j@so5T@)el;k#qUl zkD}Ts_s{agE;fPz;75TC2x|3}i^PetCDB?BwR_@Yy@FI(rOu{tFrMaZDLB$sK7~fd zRGq~>-DXf2nFMe$@rRl4pATEP56m^ zI3!%WP!jR!Z*f^prdYw64qoPI9La|A(TjbO78r8Hn;fDN|Mup#n9B(JYyWXGm-Xe5 zdsBlp`!~UnUgQiOIuR_bR^Z>tAjXO33c{7~fGdOhPi0K(9L;`9^WQ>|F(X%^9tBnx z90;eDj1b*r^@8elVMBs*K_>07pAqGu`9)jddp{PvS4qBa!UQsSKi(H^f0m^Yuo9X{ zX`jxl#8Q?iDqwG+x$(tRLC?Jg>VJy(a3yIQFZqo?LT8 z&Ag!mL|`7EgeF&o^n(ACpsr)|MA})|af)Rqr0f|2h?x0ZW>cpF!74tiUEZxK>p4m; zfiGx@+7rX8!66$J))2j;5<>sB>%zsMbypKJ=ru<-Ab}r5QZ3qCyMF9=b7KD~Y13WV z8UZU>$EazvI91YtG!~2G{j7l2W+-1C)kV9p4#05ft~)r?Go=g7h3YDYIW6 zGUJ0IB_3n;I};W_o(}cI)w%xAxs_wYmbkGIyg#r%zv)--1NrYz^C4tc|11Y3@KBS& zpYGNizbk^9ouiepot@RsaR06jV4>HYqBubnAHN{ffbmt4D&{{sq+B3I@QkxBh?vud zIoA^KtCr(b%CWxTVp7LEAUyC9+_*ZnYJO;n z9zGJ5#!=csj7Mfqy{=2060X$T`xph(2&_T2o6!x&pC-R`R(Z_TkNyq}mJ^zx2r>ZRLh{?L z;DK?rFtaiHedqcamc8WXcC*qry{!Yr2be{ubc1O4GoG|IyIqy@1pLu`boFDxq4Nng z^WkgSnWAGgTX~{(LIgHIT2YSe0*91r#Q^Uh@myB6JPnE{RV0htH}!*yUvBuhQ}eb4 zwML#wFi2W5ONCk`dPjzankq<$%ZmWu9j%Ach>f!F>FP0XVp=4 zC3AhR-P~rRAwQu@#&_t^p(aGl;gC!4tO`_PRvm6?IH(iEQa7aakHcB5?-ZsKfiK98Eai(Ho5zbXNs+ShKmlKWo z)Qqm{n-%Wr6q2qSPoskI<+(}-#)q=B`diO!zXVv_Rhh5Veg%LsJT%F&3SwASJ&SH$ zikuLFwb<-hp;B`A{Vj)gVCGj)Q!F&=K>b;?|Nsx#P4o886f$}DSicxW3R!eB#c_{qSeI`(*McKyAh z=s>F4cP0a2(og!Cp2d^D?KDmdovi&_Rv6lj;3{T8wi|OCX}=@Moo#*MAHewzPYmNj zdK`^7xw()dVl6~ClpqPXn-U3K8oI}s7;Pn~=}fMujo3vPWVPC;@mS47A}y12c8RJj zETR$XYo+kjO+;(!HNo}iRwD?z#ql^{>*i(x)OvlHN5;c&|IXc(AE`jeySawtdHl|fLuqI>E-+&h}yl2Ybz zk9K0?F-8M;l)SUE2lVrz5M%M^RYd4@8?B=QxM$6=6*kt;N+x%BiOH7A2L*;RJvZm2 z8^L8%EOiT9reFc0f=>Cg{Rvq)HvBi`YFHTb>^U)(AL^s>K|KRTjwyJ@p2)r-synaN zu=EN1>n4Zz2{~-`o+}EuKUegTQ32_BFAm&lm3ixvSeFKz8?s`B_AQ(roL^swz!qV} zmtPytvQ@m!COns8D}0<^Fq+7icl4#R>o&cQ>;VpFb1_D4v=V$P9h|hTzn{p=7#$1V zz<>QQ2g4C>MYl@47*wtn}pVbK(6NELS+ zmlN;Bu{zYi)NM8S715U+v+0M4)0VcZ6NI>$^%_#zW=UcS?+c!!!jyW`b{f>Ayx$bTuxEN45V{3#iOO7?`aIsb@u|Is zWZsmO@2$$h^sa-v#>sY31~p(hBMIFW>#g{X?unB5GI+$?IfK&xkhIwOO0y&6UO2=< zjj`$FchtY@El#sH9~kcWs6YS!`?nGO(}JQ@W?#>768s=MUD{08E1z(#B8TpZAFCn; ztf??g9qCHGkIao~UYrW?RrSm2i-sgUfEGBJ8=4QVPse1e56xJ93m;~&A~sDSKsyp6 zW~$-sTZ*KxEq1KjUxz@69=k%_QEbqzqg4&+X706C34N%Vh;m6o^EH`|y5m;*W)yX!hDD2h}Jy2}$V> zb4@KsOfx28x;uO%T&#g_V0*QpDko{z&N+E_+-!$9R~UU=^KvL8ICW~^fW|n;T4f(C z-#}($M8#OjSEBv5{M3)sExyyPR1B1W@-&|IHcpC*u)_V==_F+BowZv(6_fns@Ub02 z+_jV&nM+;&sfbHSJ5mfSb{X1BkMc79?1<4r!F3mw)I#7hzkWz>>h+`Ju~VVfSuigd zOxE3d4CPU0@nr9Q6Gj*i>-Bp;N$8EA6kj##oXjJ-r3k%q0A z_xU&r81njAIqB?@*Pw+90zviddB!f;YcitV{Smj&d50Gdb@(n+&~;V7 z1?~=*D?98wgD*B(&GbIoS)|-%)2Y=RwPrQkNbst3`a7jt57%4Fn?4wG1I{Re4>B_| zj>~$fSwO@?l}px^gA6$#+W@o6>l;R0n$m6qJ5 z*1bB22!x@(Zw34K?_`37r4wn$9i~2}Y8V`lYnb7qM_eE}Wp{ zlDFiU6VIp_xBIp_n$gdBb)lGYbotEV=|e#>-|kaKqTO#Uz4e;B_N@F`u2y-r;iQ%a(folLDJHe|`dgqBXR&95^eMF2 z_u?)QTN)Q1WsDr2pJ%MuR?tEM_z+9tqh+Y*y0kUd6^xOYg#5GIbjGuNx#|4ryy#fs z#>b(axJbc?nMou@m|tJ@BYrZTid41(s#zJIloY-n?xMWTsCEU%X2 zU)?JoGc=MR|LTx4EwqSIhp@`?+}k#<8i|ZW3YkSwA%|chWQ4LxaXTp;ufkYQHxcb4 z?bBn&tV~BWYSQp{_MGn3IV!=W5dW!@sjiPhq_pWcYY1;2oSs!Bl#@+0`8c~Pe{z%+Vzx>DARAWYo&n%(*+g(HT4;)@d2z&aIG&i3bugeyWg)jkhUe>@0@ixmp50MO@8< z2~>FZQ^xIi(3!^OF?SIoJ{k1HTaW6h7ZjctyosH zdJx2&6OZL^9p&@E6?a9BshfRuF5VK4hyC!g{-re>50mi~l_}$IVUG&|3#2+*Ze3|)Q^#5%q?!xcR*ni;f z;icvOpSbVx+#N~(@Km7u;<-DZ-X*x(WBnm`gz<~upB>j-@Lh-h173g|{!cUbuixK= z-gS;Y&~|vM_isLOm*H+L{=-lOU){kOe!lttROY)ZchAfpmKX4i^xrK1dV-XnBf}&8 Rb8(6e7=tGc!cQLr{0A&a7x4f9 literal 0 HcmV?d00001