From b7e5da0a44e2b5d31ff0c0cdeceae33e18e01daa Mon Sep 17 00:00:00 2001 From: "LAPTOP-SB56SG4Q\\86185" Date: Tue, 29 Mar 2022 20:57:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=BC=80=E6=BA=90=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=9D=90=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JSD-8199-需求确认书V2.docx | Bin 0 -> 209123 bytes README.md | 5 +- lib/finekit-10.0.jar | Bin 0 -> 235895 bytes plugin.xml | 19 + .../third/party/jsdibjj/CustomGanttChart.java | 1154 +++++++++++++++++ .../third/party/jsdibjj/CustomGanttData.java | 51 + .../party/jsdibjj/CustomGanttDataFactory.java | 510 ++++++++ .../third/party/jsdibjj/CustomGanttType.java | 56 + .../third/party/jsdibjj/CustomGanttUI.java | 60 + .../plugin/third/party/jsdibjj/PieType.java | 20 + .../party/jsdibjj/UIComboBoxWithNone.java | 39 + .../third/party/jsdibjj/color/ColorUtils.java | 220 ++++ .../CustomGanttColumnFieldCollection.java | 135 ++ .../data/CustomGanttDataCellFieldsPane.java | 96 ++ .../data/CustomGanttDataSetFieldsPane.java | 99 ++ .../third/party/jsdibjj/sort/DataSort.java | 52 + .../jsdibjj/ui/ColorAnimationConfPane.java | 81 ++ .../jsdibjj/ui/ColorDateLineConfPane.java | 80 ++ .../jsdibjj/ui/ColorEmphasisConfPane.java | 81 ++ .../party/jsdibjj/ui/ColorGapConfPane.java | 45 + .../party/jsdibjj/ui/ColorSeriesConfPane.java | 298 +++++ .../party/jsdibjj/ui/ColorSettingPane.java | 47 + .../ui/CustomGanttShowSettingsPane.java | 118 ++ .../jsdibjj/ui/CustomGanttTitlePane.java | 162 +++ .../party/jsdibjj/ui/CustomGanttTypePane.java | 49 + .../jsdibjj/ui/DisplayScaleConfPane.java | 72 + .../third/party/jsdibjj/ui/YFontConfPane.java | 116 ++ .../third/party/jsdibjj/images/chart_icon.png | Bin 0 -> 292 bytes .../third/party/jsdibjj/images/chart_type.png | Bin 0 -> 555 bytes .../party/jsdibjj/images/chart_type_demo.png | Bin 0 -> 9198 bytes .../third/party/jsdibjj/images/gantt_type.png | Bin 0 -> 1374 bytes .../party/jsdibjj/web/customGanttPlus.css | 42 + .../jsdibjj/web/customGanttPlusWrapper.js | 876 +++++++++++++ .../party/jsdibjj/web/echarts-adapter.js | 7 + .../third/party/jsdibjj/web/echarts.min.js | 22 + 定制甘特图插件使用手册.pdf | Bin 0 -> 70417 bytes 36 files changed, 4611 insertions(+), 1 deletion(-) create mode 100644 JSD-8199-需求确认书V2.docx create mode 100644 lib/finekit-10.0.jar create mode 100644 plugin.xml create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttChart.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttData.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttDataFactory.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttType.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttUI.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/PieType.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/UIComboBoxWithNone.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/color/ColorUtils.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/data/CustomGanttColumnFieldCollection.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/data/CustomGanttDataCellFieldsPane.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/data/CustomGanttDataSetFieldsPane.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/sort/DataSort.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorAnimationConfPane.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorDateLineConfPane.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorEmphasisConfPane.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorGapConfPane.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorSeriesConfPane.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorSettingPane.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/ui/CustomGanttShowSettingsPane.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/ui/CustomGanttTitlePane.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/ui/CustomGanttTypePane.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/ui/DisplayScaleConfPane.java create mode 100644 src/main/java/com/fr/plugin/third/party/jsdibjj/ui/YFontConfPane.java create mode 100644 src/main/resources/com/fr/plugin/third/party/jsdibjj/images/chart_icon.png create mode 100644 src/main/resources/com/fr/plugin/third/party/jsdibjj/images/chart_type.png create mode 100644 src/main/resources/com/fr/plugin/third/party/jsdibjj/images/chart_type_demo.png create mode 100644 src/main/resources/com/fr/plugin/third/party/jsdibjj/images/gantt_type.png create mode 100644 src/main/resources/com/fr/plugin/third/party/jsdibjj/web/customGanttPlus.css create mode 100644 src/main/resources/com/fr/plugin/third/party/jsdibjj/web/customGanttPlusWrapper.js create mode 100644 src/main/resources/com/fr/plugin/third/party/jsdibjj/web/echarts-adapter.js create mode 100644 src/main/resources/com/fr/plugin/third/party/jsdibjj/web/echarts.min.js create mode 100644 定制甘特图插件使用手册.pdf diff --git a/JSD-8199-需求确认书V2.docx b/JSD-8199-需求确认书V2.docx new file mode 100644 index 0000000000000000000000000000000000000000..df988f93b9ffcc8619c13d23c24984e72ef9d496 GIT binary patch literal 209123 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

v1Z;D1voC=0r+UG! zorM-9t$>Zbs|we4I>OjNXfYbXbk#k0R}oykB?hG20Oz@IrV5Y|G`=)_X)E1aPsX@D z-Yqau`~3?s5*i_jgjOZQQRN1bI?o4cPB0gVS37*(@5D5 z>A+7KBWz^Rge&JdO2~59JXjjoX|8I=W<`o4d}I@eE0;PvW#OtBKlKYMx_=71O08e+ zDJP3MIg^0JXJK6ENhXVeJ#&M_XS2_bfR@b&7v1Vdi`2`EQdg^Xt^L`xWK0+ooH)ey8_80|E#_avmd(7{`w9k+b3HzUZUV@UYJhC7P?_`OtR$<^-L00Pt2n$2B zncElQ7g-gOgcg?Ly#Q{PUMthV0~+W@m=6*pYf#tOaIUTq<4VY`aVbrXjz^q3BTM-F zZL45z@6b_s+MB}yVPG_zPUpIjgCq5hVLyXs-ZfiCOngt@{yt@ql<9_Y zNg`a5Tg~$h%5=i1OH&}lgZe^b3{{MDN54Pon`)PWwFT|4B0-kKL`+??U3=S0Ys1V2 z464%Ht=1Z08={BAbtred!9EwdUU(#$t<1j~Ad6zH zZ&Hs@eTL|K@%>P-R-&SLMnlVV)?ighf)j#qfj>*=&Pz+JhXgN=1jr)<|B5h=;d|;p zzXCgjmyJ$m16Jnk#p^;Y#qj_GvhGpCNW<+~sUo?CF2Yx2CoEyEf8Y6JxKW&kr(G|9 zGCyp;@%8^GcKNe%McLfO)C#Chx>`o%&Y;I)?bolAyt63{!tD^YONlJu-y`Vvn zsj0{cQkVzHt$kY}5SAB&4n0B1wXsA}S8iX0?aD60eXH5Fzq>nC_YlZs6j;H0JC6D2 z=i76dHcUhhZS+NWgwykwbCh!@W9MkQ%-81*x1F@O*B(-ReYZD(uClb!Exns13=_>( z#GW?jt9{pr30xK9kSHU*IJ-@GeZQe!w>Hg+Nle(f8p`oYvy8$SnY{w{rs5a3XQ&Od z&dOS;9-kfIEFHBzR#~9K$GLQ}?n(H4_UbR)cg1a4Ur6*RDsQgVDgG2IUdkw*5MNP( z<5!=n;;x!tl}|&!_R^%M9PaqN00nQQoIyl5uY0GG^fwDdPRmNOTh=*J^HS;FFFOW| z2iBOS0#2ni$-tmlhs4}8cjd;?tcZ7FvJ(#b6BEGUv9B3`{S0DSb$SK-JSvrC&L%Hk zjyE4I&?kluBhw%$KJXn$$U(UJ)Y!O-scscpcd}k19L-J@1Lrd?;1;u7g3oKK3e@A( zopJ;v9DJ4a3scGPu|VPRA+$0<)e`d4gw2%qB9x~wDJv=M7?*uG0-c+n&|ff-!_c`^ zUW{iI-*kl#(SOWer1$Z9-!N-WFRl84B=lOR{HvTK?KOMm@z?`Kl|<(`M;QRblohTL zqoWEd)+)Wz5e)sZAdy+NhH_Zbv`SAk(e+$Ua@q}r<;H)Oam!}jxhgG7GB=b8IIhFl zpVh9gAy#XLz%iIqy(QPU?87;j6GTd5q0ti>`uIGj(6;(YgI7bHZ>u`nFV z64=Yydc6_8IV_r`7kMuaju;L6LFW)AO4^BJ4OqeMt}z(+I3cB#fSD%cBV^_BFApY- z+GBly#Kx|IaM1%}w()fwqCNbhj`edY&S#A8vfuG#i+sS33)vZrE;FP7xl1iHEtA?t z4|ou{Lhd@ca6Tk>fT9h!Ld$?bBl3jBqURC3!maSnKhMUwr}oegcZsPV7Tclo@Fs2y z<6C`syq>a{tz+9)cE$7^7qs#YZj=tth28$)G2Mn5va)tuFV%unsun+4RNoK z59NWuP##4uT80()xhkh7>*YHXY>8q(+6LdUmBk*tl%TnkT-u9ca|K~MTQwKm#h;7E zcbUKPg{O}>BK`_D%_{?!Y)~h1p#OJ9kv@E-#`R=N1fL=ZzpMNGQEB!^a@dd1fvB4i z(C$Ym@}E2s5k2}NxYJ`QZJi7A5=Q5nAwsz4Y0%pGhpwDcu(j6snqo@rN|bLkJTY!3 zpk5RkLrUR@uPzyy&WG9CQVw@!@1Q_*gqT6lUs2-RC|qTJZf{c30`fwBQ@bX~fRGP} zbmwQ5>RqlP1i#|Km4-}EFuy5Jj?BRfQG6>!D?=Ou7pNG&la(qvl_p3XK0)b=vOp8C zZJ1Zj5~MvE(bsioNn)BJ<(veXifm!T;(wVK=tJrMPE!A+SsjhZR}}rq>28AEd|2du zZqdB$Z6@@o+SlA)6e*ZFzONF`h;5fSCTKwb> zox5s+_$3-O%Qd$D-Gd*w=}$xs^0fSae12ClYGwOW4F=TrFw+;7`%A()_%C-8|N8jO z<0s>w{gk4?`qbI4N$EdpYyK!t`cG+*3ee3--Q3s|==9Szs93uqi=z1CNmea7-POih z_$@%flEGIJLBz~hKtsf^O_9{TxUkD>nyjp!k4TlJU}0y@ z!oq^R!z@S|QX6PCSD(9*CK`!1+9vGSBYYa@nBhbW$r~xLTy||jqSpp0ai@x9kAh{7 zw40B#GCx59jIAL7!w#1?B~qqyIKmby-`Q>&+(6f%mtbCG2hp9+baktK&Jc)!d?R`c5lk#3p=H!bs63Rz-&jV`{E_ zjksmU-~BqFDTqpA>gtrjz@(*NqSbl^Y&p(70zt^?=# zioucOb=`NlXqq;sb3L%Z8zSPZ)N6A z)e1*QK-E_pg?Vg3`UrQzcqjRrn1yMVqHtCF&Y+V<`njHz24(qqY5*~g=-{T?a^-4d zCTrFWg7{h`Cyb+zx`RGi6XMjhATD|k!|YE?oz(at4M0*|2d$kwCPNqATCPIQl$Wlx z`cdIwaJ*v#e|=g43X9LE@mO(=If9RB@6XO+Z!GF$7=K)#R# zwI}bR$Hswc%XMZyFRKaEoz&a3{Sl#J zA@bhq~e6f3jjav|{R0g3HEu*O}Khq-;=ZnC>I# z>bQ*#_x+t;vySWrY0#B9RKm!h2zMBw&LKt0JQ?FDA>C12c(f$Ayj*OKSdr6*oDFPu zQFLz^wyZuEd!iBM$L3)(r3$~VV~oLsL&&{CP+yJ1RP$doh^P$}`hSmrhR2Un`qcS8 zcPEr9q3H3K3}Q;URp93*COUe`ApYG?O8jJyzm&)%LVPvBWgFNq3Lg-M%y*J;p=6{8^ua)Fv?S}Q<@eY4_mp}DL{AZ9Y5IHF9yb#g zX;iHXlkK4t#|+2q^!e|nUkBMiUZ1e|(@2?{X`pn*V#uHlVv;Bzb+(|Wb$Rg%j~8`l zsh%oy6GP?#n^+;$OeEMEY(4!>Sewy0ow_Y>Qdn23>zxf!ODAE5D$!NU^zwJ%dmZ1( z1~u!^=_6^*5q>%EX&q+JvFGtD@~$?$Tl5+w9W~1Z*t-VbMQVu4k#g95@}dlI7`1gA z-IVRUI5g>eEpudl)zUBuZew#-+ahYUPrh8~Kf4UR3sh7iRaeCW$~}q)GpSI;lwNVz zw+J+T`gW92O=71;uTv;TWu^kYdb$tC3B$X2T)*c~W)q|rI;J(@F;hBi^#O1uBvUUO zGjGveQb+Huyf1t;5M98w&o!1i(eH!T~foLoiAW;{nb5x}C_y0aK>SEf$lECD}S=O8@KMy-;NJ# zuF|cpl(ok{O6R;9YA`)A{xfABa>hH{aHbb$8=S^qJdm_b_f`2@aXc!#Lbz_)+=OM5 zKJ~(2xWM#l38rw?_{6eCa$56OBGg32S%`I_P88t|cPKP-SNq|Byzxl+Ywk>0bu&6S zRQ0c;EM>}b$}VxAk0qpcUT;DTmMfX#ggJgD&g5=3kC;dwwm>7YH0>YwhNs}oC$N3! zONAb=7k%6h>J{{6sC7yWvq2nOQ)bbrB-D)w+`S-0;BI|NGa_~Xzv#PFkdm@lMM|gaa6^Yic2^cCY1ym%4d_ z_5k#~3J;4{&R;cZp|vFBFjkrv%Pgsfv5`L%5u3Y+F7|92*#;#MbXw&uU^s-@FtO$g zG00hP$HX?uJ5pxP8*zN~?r@y7XLudugK~x1zBESxS-laDxfQdZUQS=#N0_4_)2_Jm z5##b@{X511Qud9D6UYkP;m07IL$DhhK7B=sE6VHSc9JdmBR{1;^gd+#muVgQ5HL64 zT`ENO`Qp-~OZ#kqBeIKjl_o>efCH2&m&C^kNBq}F-n}Vg2Y|}=H@`g2)u`vYPd~ZW zd`~Jw`x_PdZz-p|p~cgSoUpCc)7zZMpLF_Ecq6y?qwq!+jExdSNK$J-=|Sg>z-cZy z&K6QZ{wEwm`;RSF;mBy#%`-h>>lGZL`{=+y7?w=m;hN)W__91fViHFUkBKLmv;wJ8HnztW70EB(epGDu&JdL}bTCIJ6UR)>*-eyn&I+Q;JhWe}!epAx zLL>iyy*6&^7M=^fDucN#E=wj~cnDfbKE{%yM00aQO&wcObJeH3d~@d;f4P2n$w|tChBVJVJn4qWQ$hQW*Y$r{ z+iLezF#A-xa z#^`ToY0qEpyeW-eg8>0O09bS)WYN`P9>0nB##(MgKL>jb*-%L?5qflW=i)25frgHz z_2s;VJ5`GD4O*shhhYN$YKIp1!Gq4wZ#gJloPkXMhXId)p^wyDm?Yt&EX4}x1Sn?;=(pGu z?FEf81M!mG25Wxv~!688*nxjY^uqVlZHOv{pD)Cxf7U}b^e&caqpW(tV`Op4h0V*0#mk3- z%b(&=;jSQ5wUSynYN_Lg0N3X6?RFMF*tZ$W$Cbq!g@LF-Il?GzX=2hRg=U#3@_jQ$K;-7~0-EF~lHOE|Oc!fXca2cCONrxU~L(a%!_ zWGaTM0Hwr3)X00{tESE^G0m`>EKfp>MZ( zjMp-v_`k_qhNNNIO%X{vxH_C6Wro(oKMzt-Duxg?O!wCqeE9Mn0XF$4tMMYSjG)Rb z7(rhodV`{R-o^{Ddg_hAkZjBG%OTGQmyqkXyM|^@)<#(J51+ z?q)W>g{u0x$I2!)@tzV-lZw0xi9riQc8=F6!?f(@VMY89(%2d*T`O;cxpljX&Qz{~ z?F%m)UMoqyemh|2u(T=Jwo-u9l6hwQpbk#DiAw{|aH9{eB73yDir@CIwlh8}4~Otc z8CFftV3djM#hZAhg6~K-N9y4`rhU0IM~k<|B!YG@!nrCj4boCOuXudP4jUhG{A3-V zIrn4rWWiX8-o#f=6MYI!e#di6j1Pk-H1E7PhJHFuNncb4BFByxoZZu3ls1fafx)FO zhJKi8+sZXuVa*#0AmJy|v9<|+ty5Kqqrj`h8^?9ijlsS~v`#xKvBH9AB>7;NykVS~ z6yJLWldUHuV3$)Eq7Xfjl~$6UkL6F#7*$qA8fDj97xh6pLtbmtc%u~D!CE|69|2hF zc9p9{IR>ii@elme27Kez4#9a6a*%1fa4mcbln; z2!ibjmwrkN$jwoy-+$u};23-G#$ez`&pA@c|Iu`x7FftNg6xozJ$B9!Ew_ z&u6djK{D1QA?wO50K**~kc?Iu6vokAd74Y32C%P(7KLG>Xy)MN-yciso{F^5-@z4_ zmL5ZnVy?TKCKDd(t;Aqodb@kx%?}B7y0LI^LFY1Wsf#D z@Hi&kEouHQ;x#>QmZf)`WS$SZ0%(rCiDDwsm@Dm_-qY*L-r=8@>0Npe-oM z!ldx-VPL*~ujlOfd7hwKq1^HUr3{cx!M-F5E){qC$!EAVv)U~jY-n|e$DVt5GVfr7UuP$F#i7 z7oS#_T+L0(RWu27F1D($OGPK*joF+=;x)ZfP`bPAcW=QaYT2Lj(zOZsO^ZIi&KU;F6`NYjsII*J5altftq;inF z{V8JvMf$4h1%b$ey~yd|A+M`IFRC2oi437qrd9@a_S0qut?Xq&p5@tw4euQ7q~Zbx?DKF8Gnhio3qEM`+=CCLAA> zkan7Zao`Dz1JVD#ai9!DHdJbYUoj=|@LV9aCMRylJYy?KyXZ`ysu?nribboFcd%a(pK zfT@XuC$5Gz56g&rNLlD5%bAV)d!iP-9L%f%7ekO1@F1V5jfcIfWE$nN(s`~+POh=} zHjBOByaErI&*}A~=ruo!z`W!>33!m-fFT!ExyP?w#!Rwzzy4fY4 za8Tf4l2fyK>NUUJILFWA>~^-ALQ9JZE##dXHj`@3hw@~oB-6)T#4Kdl^lZZ{>8;WB zxQ&}0lw^*Twbin7IjeGY94*1L^OzrqPGWbhoh zxQ0{3xB0ZodH6y!g5v+v5*Oq7jMa3HXB$7z$AK}FYM9D2cW6(Q#-Wh~$=+u`^UFBr zj$cwfZS&JmY6jWDYCRHk40(Cxch#@d2KIbena+{O-2xk1meGpoA*=@`P%HJ}m41Vq zGUcq5^;$I#xa<3jL{n%(UAV;QhisbdC@mM^)jMjiHl#;VjlKPeE$vtwQNI8Eb)_@a zx)ckHjK9DP|4wTA=j-a98A4T3#@z8gl!mx*;Oqr8r1lWl@96fL(j^q%OlFD=3^GAqJVh#+gX1?SP4=2VGg!T6(7r_vnZst#R@1X z_h}4bGon&IU{GIYB$2Awz)(j$U{MQu0-PVR&@zv^x`Bx`DY>prWGqf@&NY2Bf$G=? zP$;Ek?e#B0Dk`|$Z+74q1`UW|lKg*s?*Hpuy@G)Qko^a|rvKaM?QiGxe}5A+YP|TO z45NKklX^yVu!)dNN8aFHC$Y^X%!Y97SQ z?Z==gC^Q#w4w@r9^eu#-Pc=-=Foud(Eey_0(U-2sUtwG7s$Q~#%V1_G8}yJhx((aV zxxjDm`sCRNJKE1pu{U@(FE(FNu6b`>d{BJ+2mrMNWzV$%O9>uoIjmO1+<7IpL!}0j zz&n`=fe6jyxTxZLov9H@4ZSWKv!RB0oyH~(9ZYj9xoNDx6L-t+<{9P@0Rug5#S-7J zDXZyYd;QbW@+0@s<51>jjlc?w=J&%1A*5sk9a*e@TW!`Ac@PkPfjG+)B_EpI(nM zGicBg>?fROy6A`X%8Q19_%QPr%I#_~$0B}NofmVF;m_KWV91tJN|5s|+!XBgo+_jc z-CIE6EYM!9d;aA z35IvJf*zzI#DL3zt;%1C-HmVy@KkD!{Ak~434UyJ{0)b8ztwsjfJrWk$4F~JXHlqR zn6!WRsz9@346fcKu;0)jOyO>)lydhmh6}LTD)USIvSqMaH>NHxZ6Jo##uGnz zMMYQ6(A%W@JcF*wuwha_w8IV#Wkb$eGH+I9*Dq$0jtozQ_QYvhbkI5A@-P( zk;8aV{Ug#Ze**}3Q>%_&*B0Rb!O9oYZth(Y>?%sISwQ`gg7lX2s+p={OsD!DFty*mTKxU$6c51|iF| zK-^X(g}gmUQ_>oJNsY1qemB!S*hrN<{y49+1oOb6n$=1CQiNXBT| z-^4UGEkD4k9FWKhqY$y?X;m2M*K8muMY-phRzXc{NURYiP0rzjWP?cz8&@?-DQuUN z!Rv^sUW6#zWi94tjJA|#HsuAI+v{J*4A3~Jq&At%s|!qr6!Nc7tdUm2Q2!$QPL{z@7M^xEK%~{zduYreAHq&=a6z;b9Jt2RFnW!A8HY+9 z=x~b{p`q8e2${64yV3*oq2@#+bcHL1v3D+;r)_BMeBGiUN>9g2tbov7ni8(nk@)aQ zd}>E7nwZ;M5Vy@sci#!#5i|27ZKn)Bj{;xr*S!g%7WAwAT2wx$Mh=^45BnDV>y5g> zNHyt(r?fCv$_y3!s%~$ra5W*qY-~T%^4>%pCHzb*@my>T*o4stOs3OUcLYyo(F8AC zJkdVZ6Ras{jC-3KJt1{Bq$lgH=&#NlDa}b??6o&sY?PIQY~9d{pU8i@#y`dnZY3jW zm4q^1xF>*@TlQAANb>YUI>V2KnVnoRBe+k_yp>_NzVI>aVRZI#D|70_zCXvQ9byEu zh^}I#ByfYoIA9fQ5mit(h zCroohu>G#|pv&C!gu&En+3aWK@&p|oO4)0i=b9tgke03C-}PTTTymqR0|;HfF|(_-_xs9G5b)I%L;QkIvX-v}cseYR5a#&vt}7JKXLnf)K4oeh z@!Gv8isJSGoMWlO*fhCV7%jE*9!+*774!1yF!f2!U@Xe6jp7H%hqDqzS?t2wr~W^# z!Zeq|<|V52e+X?Zs-~Ihn1Gq8G0ZnCvSOr8tMz+TW1G}tAKoo8@N0f`EXO`vwMeb9 zNS$9~FfBLu5MZ4Ees)}BSYKo~x=K$IKhD%)olX#Mz@Px7DN_OGTpo-wY1*`6ZQ?!H z9BoQ5RpeghwHkD;OR>gT_rCtb`0usn<;6gn0?$s5b=0lZc2w>|Yr9 zolNwnl#rB=RtUVP7-kG+TLmQhgG29*>U*l-wyJn@X26eXEI~H{qhopp zVb@6Gj1>5fA*aXNVr4eW9|Mg~uTZ*_XG_&}yLR(ylOzrKx{6yT=)X>q^RF_bMoZJ% zla-j!v{svG`yCQx7lSF>W3fU6mgtZSQ%tmmDzuD;cig?j?L=7HC6t_zW$wfnj@>}> zQ(mwZ(90Ka#!h!!CaJKBDko_Jl`~XAX7bI`rjQ$pR9_&<2UnRZ;Op57A{!IsYi>hy z_eG5+QInq7uB0Pq;pdl4BlW=x`XZ&>aC=!yFik!X$c`R{`r{aIdT|dS7KFg%uM-Vq zN?%J=5K1A9hh>$g9GRWkicX=T;~U4Ds1MT^7D9XPGCKdTb{?<%iOn14j;%=YKDq|C zAgZ2AnbES#eq{Sd>7(+9TUVJKg~;t*&QQNwI~{wx^{_E!ZO+nNUUGDDY%u9ft5>!| zSKi!SJTjjEged07{p^a;%ew{?B?q$xCZxui1?c;}%cmcL6=$Q>nrO=%8p?))k{w6E zL_mQE9}AF2>9XAA;eY_dXQku#024j(_=tRv>rzX*Z+pcL313^`yu;$6+$39qL0lsZ zYd~s5{P?hqG4xx$eToKwU=SV}vmyqu2N`HRg%fY~?3uaN&q;Q7Px=P+Fa~IEBf>h3 zJ4=Y0Wh4fiW8SLeLgjc~S42N@5$Val7$RQnK(DT|5QxVAL7h8#o^N0}ye-is#s72* z{6x8VGndglAZUer$6bX8$S4W*{-*49ITz#EQ*vJh*?BEO>~$dDBH{Y+FWXezRbc2- zz=wntSjPWfB%HsqFiigD$RPCBWgU=T{@1FU*k8YK{4Y(risfGm*PYTSL>IS+ze)Le z#H~TF2>fD@Q6oswLt+~Y^JjmyW%Z?BT$;G3?Iie0c9-7#eKyS8Zf!tmqP%`EaetZS zc-iUL{I`MLm+@-~Finj_JMq4FaH8GnAW!5=X}4H^cp8MBu`iVtu|Mi@r7JCC$1q%2 zXQXYi%o&uLaGUU0EF;y;Cx=EfR$0qBrCUjT#RYZGwYwk(>rU7t1G#u|zvX3%o=!AB z;u>Bm(@FFjx@7T`@KH0aZxsgEjD~d!YUzky7-;H@T6-dO>v(RycbHO2aWPxcfm5tx%oau*=@i%ul-g-6FN z(>M3&CgH&@BBA2l>L3UQl=(rbefYBW-|=)r2rCUginA*@T;!ev(QqoQ8bQ48DX`XJ5P|~uxT&fn8>C+qjD;?zONbHLppKcY~7@m(2lt`6T1locRfb7<#h|S&d!& zezz_72FO5-{9deThuZD;Q`GN{A>=F=B`%`nv@RuXBf`kR8?P1qo=}d+nJSNDOC|+g zSRgfm%jCP|Nt=E>QozefSR_4-I)BFIo8S zAO3?6m8EQLJI{dV(~%q!QsYbuHgpDwSC}Ot0D4mnv+&hi$sa~Ra6ci%ttzjPco^cQ zJ~mgvYX|DO01<Fu&#WuT+QKpbpb{9*5 zFG+d<*&k>p7OfVOw=o;8uW>9znjItV+1GLCDGXR>=Q`}iXJ>kf(C4JjAY4(CN}Y-| zP5b`zVf8wx?F4vPI99=YYh~Ukmq#vQpda@w8YV-RH?D4bWgo4s&Mwyc%V{r>`RbF=O`_!C8rgh z0>^u8Z1 z0>VN|kS}y|KRzLsKB8Oc>5fP)(8fR*C+2`%Z?RbkbaTRTSNvX6@ z63Hm!?assIU3p{;H61&8Q5CO~?Z%Ah;_wxUKW}I(zKM1^v_1a|Yz!oHD0&y_%NI=` zshRtKE>Qk)#HO{ z*{i+HT(>jQp0d)eCZf0gTv4-woDXLxp7%mPU=T|z8xk-nYSa{z3b6%<7ufBLLD2{3 zfIGq-7AVwyPeCVkBMBHr^&$dz(1=`*Li3^Zmi*o_C3>z57$$z!0Z%#TLs4A&@Iuw= z!6& z=|=BxEAoV1iQVve>Gh(4uo`HFFsCl*F55x$A*3dsJiwht#gJS?x@^r(t;>mxr>$Wz zvl_X16Jy+S>dqhWT8~U%CR?tl>AkfGn9ayxfx1SeCNrjw%iv6zdvi@Dt%PMQ%# z?r_tYeudFLMT5VKC5DqEK4T=R4j^D4Abr}tkTjUapX1fdCEe<>5lbfl9u>xGT(2d5 zs1B0`r{e|6NFL6$nZi${pP=T&yl_^IA7ez>&$EKv4opkh8&|h{pJLq6+)RvS8&to2 zk1a4Yoh&>Cn9;2v7VIYlT(sC^v`6W;}5=4(ISoMa7=~5pJU!rfc3sVH!CMaMWw|DKQB5 zT+8yBFL1`NF6Fv&mgvO&44ukK+KBo`WKiB-b#VIH(Zg6H{+QCg>UVhwyyl&R;^4?o%B{B5>Qwj%oXSt1!uDIzsjxbbU(nAHH2Y1@ zYkNP4$#ABpoONLPoF)=O)80I)=7$2*SFJpY*p$SZ$Q~b}A!TG#RMs~lZtc7hgoEyz zf@=V3fd?_E)uzwh>hurJY9MDC(reLq@7?zTQqvw*T^SI*PQ>Q!;&F!e$1=KXM|jNW z!^ZvSsa~e@AdYNbJB~KxVQ>d|+Lf;OQMYLT))k5eJj_*JIikCcnOQ4Kl)z3J1oXTd zs;z)abUh$O4t1A$(*dGX>+55Yy|_wryUm*< zgH3}d{TF9)B)#0Z6Bdpg@rsgByf~Rq92CesX>;wVoDu4krrn(MW|uq!jRoX?vYnNh z57@uBE@jJW9PGuGl~^}b#Vyv*L>Hp9XoP2>MQ?S+*@s2jc^p`b)_yD+t-T5>2H$dF zSo~(M=8ffVM08l#Jp$n)RhZNhI5|Go3TT;Hr@}ob`ST5`;d^8i$3T0QKc>fx&vs-$ z|8W75`_mUbffJAW{lJd7O1I46pw_3hTkLYOa@%WSwaptQA@>CuLR{r!q|pKwE20Bi z(eb9!fGQjXa;{`MaeUWk*@b5%*Ca`6N~uNZvQ&Ds$D&I*i9u|`C}}eQD^z@K^2!p= zB^J)f$o|&8E_=9T!>fMj* zoCQBczZ3FG2<=L=+M8ZZ#%li z5Xbx;nFXfze|Uwd3ArI%^#*oS#0gS^Yg!-}h6#2>c4kV4U~N$I>=IV1?)N9I0Lq)o zu+?G}YJ__geP9m{w#|kZFGEYYk&zvWcN1cbWC*XYe=)hUGHESKX(GHuz!2nOL!Z7ea$K2nhikuc+oo;M6}9F-*AsiQ zZ(T|f7Z*Q5=K7Tqh6ub^-7oZyW|Nsu_^FxXlq7da#5#2|aM6O2P$-d)`DUKR| z_KaB!>z7?rKJh_^KiqveJGJsdDFt`oTd0gvV@GE-_u6Z;UPYg9+1@EcZPkg z#mnBNNKmD8q-E7E_cI-zR*&p$Kc4TJw?R50LZaWiHtBb;JPf?`ZvdlG z9*;f)hwy(n_x+N!PF&AQ2SI1eS>55gKqKwDOvNt5pKZ zens%x{Q>?=R$yohb>;rpr;x?=s)0s3UqV46KD*;VrH?$TM(fnPD=1~v!rd9)tBYC* zR|BHGKkko%L79Eu0Tc|khH`02TyB`GV9H|=tOC8AHtO*9onv)NURNVkHMgC06bG!o zcFWjQ7QZfAHJwLTs1`acDtcLiTCB?YBq|7E@ajG0hW5W>RV$l%XW5F1-pH*dm%ls! zZ1J7~TH`xcSmU^ze=gqjLlMu5@-eOtH!zInZA2~v<$Q=2_2|1Dd9=Sc-mqzBOUp@n z+vw1rw)(!8U)zY$XZBcib2~CBbc{VYWXjv)wpkcgBbOibr%jG=!t_?yMHz*(6B+&i z^|(|I)A_&{$hO1iAIA+12hAr9V-cvtx+EjE>=2TNR)@`^2m8@~hE$vy8p7fX)%tCZ z8W%a3XZR;nnHP@_?Y#dZ@f;isDXv1_xBJ1LCh3rYNk4@rhdzV=ks;`f<`-BYxASWv zhD3|K3^6($A&jiQg=$JLXRk>jHSB+oSTanJ7%gD^#>CPky~ASiNx-#@H3qTWp{q7R zsiz<_Hkco%8vS3EJ^tCX{5|&w8X5g%umj}pEBxJy#{KUc z{=fGxMT)%g{S1iSbcFsh2**7`Jwu^E7;I*F<@x|b_z zVbWTN@H7j_Q&-v3Pg|pZAM?*X)CNR{$|7ikUQ!yX+(S$~1&kCj)iNz{Mlq*RjUiVk z(VC*hI1{R(p74~|MHZm#FR((=kx2=9=r{!+~^248Xb$Cp>oC)>&jg~urnME zIvdvMNteuqHJmzDW{OmJ3&srz5={Sl*Dvy|unLa-v3=ze2%@;W+pROV^9L6HcNL4p z`Gh>5V*ZX@DUr*IVUbr6sYdum(=x^{%YpQl^Q-IZa*t)GV`rBSG%SOfLNV{_n0;lS;&P$wJA*^1wlOEJJ z9U5-49{U>o4$GFy9mq9wu5WEC`CG}A@pv;Hxkp>sGbqX__Qrqj}6aGva zv_)dPU+*td4SvUpSAW7SrAS(QherUI3_EuDmGH1DYdxA^`9e=Hmn};VbHXsk6IvTj zapVsXP)}AWZ*@8V?&VFC`{L?nKf1+C{hZr4&@tr#SThcBPxw@iwR_9~bn(r?jwrS5 z+BrRKdI~S8M(ID#fv};n6x&DYlu}M@*c6seH_;~ zV~FIk?zlvUBAcbSAl<(mnO7pcg3A3qL%WSA`2o-WFMN$>!@xmVU??R6A7u9brHBwT zbOiDijGX?qsPUKZ`%lR?DPC3@j1e(pd!=zvt11Vr(_L9G@K|t7sT5sa6rk&oV`CK6 zv>HE2^+6*a0Ojk)FO|9ZDwqc?t53$TZ>WspjEB%Z_PT&)XVQrU$#NXKDETMrej_UyTrNY9BeD6Xm5kV&#CSHq zX?vt(hHu1!-60t?Wr<}(F(R@YI*}}Vx`5#H<-Dc*O5I{Y$ErSB#|mq{{Pp)Orm=Af z5vi{tFXp^?|=1|TLgi+*Xs&Y4=v0?U=-4yKkU-oMr01E&GAOpi2Xmv{e zzx;=QDFY@+>(%N%xC9T5`#b&C5u7riiL`74fz=p6ddzL{6!B--tvd8t2YmP0)lQ^lSirK zopt9 zWJ_pNr|tl^mmB$2mvrAE2l3t}^3pEvguUE=XBx+7<`cjzCkWm2#)m9Hn;>@PP=SwP zPnd}Byx*OG?)e&tfRD-m<JZdWQ^c?SFp*e z86ii1k6e`JpudD9$R5G6ZKMvv`?(=#+D>2lMw5(x;$T|xxaa8Q0;$+rZ~#NpOVV%S z*I7B19QA5tI$BMi(lC?xpb|m_R)51>IU2L7YENTaAtO3An=mD7MbvR#TqgP)%^K`i z%YgxUM)kTFXqpAu9=#cK*>o{3Z;4sSMHBI){0vS}1WK%`+yoV}ubWCN4irv>-6Z|# z@#nj^C0schl-xB;G07_)W1DgHB`nmOZRDn!A#}O>Fr7H#m~G|S2U-2{*u0X1GDvoD zC}S~F)&#cP$;s<9D1=OajIy{}S?Sf9?cfWLS~2lmHE~3T zq(}h<4D4)$>5Rq{vZ%fT5>zJzfU=u4Qjbc-s5$hG#N`tByPu`d8F0nZO5`-dB~#<@ z>|)5g#pSULi6rqBT(>`j($PVyDGvhj=y$h$V|xh-V_&Vr;`PqI;M48x!QdYCY>HSl zDU%6s(Cq+9i%8_ZQDCuaQF4}($>XceVG~}CQY=yQ8-nGiLC=>OBR6a=m=COT$Eh$U zn;aL)FfAG=PewnU?t@~}MD?sVjEo#G4YTkXXXbB!YaN{-&G6)FDY90P(Xy(B5UpEJ z{cx}p)$gL??i1qXu!@hDDPKJgnVOOV3GV?_T6z6!P?!`k9W}vNho>DV&MHU`r<+4! zbugK`bPVVYs0iFojvGpiB<7&n*HnOxF|<5qoJh3bnk3vGe}-k<=z~=d*!;eVlXL@I z@)}xRonvPp+f&5a9%vTv(jIcX#$1$}H6tJ-+G}U(3LQ4~BH%}?X^uf$YgledTq*e3 z_>)MgF=?!5QN&6`78N;T=Q|2mYh}_(0hz~x%3i8T6j`Pg`i(Fae_xF8AMg^|agji|9$ott!ucI&rYek4@m>_E zx4WEJ|Kcby#2klMQ#pp1aO1=yEU+Aa@C8e80NkphvR47Aa-JF0N}NfU(UUuVO6J-L zKEp@_1g}4Ya|r2OY{>S88`}u(0t)?uSGG^%swYoEzOq>%G{rl4gd?P6G%TpNT%> zu{ubpZ%z70DJzLXOt@a$uOQ#QR3>&yt-xi0x8|2mP3+Wk9aOHWCM{^Xmi$>5nEJG@sFz#$6F9X!BLfs$$oSii;mNXnVz5U3uL*M}J-y_~62+8IS9GGz7b0sxUvGS+8nzfwL3w-!J4p3|+Le91ba7$)k6hnX_~fHn zL&zvF>x&PvJu==&`_D1+%Jja|$F>L!lwa2E2o(kPF`r|{@Jn@5B@D*sXL~D*ou(Z~@X%O#@*#IiPSOA9gAcYPLs4?Y{=B62*=9E~XBv=`j+&9vsLE7EXh z3;s{=n0%ZVBXYd&?9e@Q2Ba=<>hVqhng&iye}I7&D-4ksgB0i4pwSFP3@b?|0l6J= zWbE1-bNB| zX8n9#KllZeu`ALZiAd*p%o!vat^zwcS=B9!4UN0&dm&=Q30L^Nv#jup zLopKHh`yYj0pbg$m=ic(y(xJcPiRGc&5IH6F~tKpWvH29iVd0pcgX1WO?urT%bB|h zA$hJYTLAKhfQKz9{|_08%@E_3ta9J@^3QMOFWlpE3qL9WEoC=xGf=LF)8{-}}lrgX0^1=Y2i;WLSKTl%_+h7d#jk99lD zKTnKp5G!xb1pmDgTg6fTUIHwi(}3gP|F3vDroR_xKs=o^4iHb5P^jrD+c(-6G&{50>tc_q(@qr?4MiZeU|gVz<&6BP@HV)BH<_>(@kt-jkg|Uay$BN zZ*PFC^l>B5Gwkax34=I(JH+cSq3~7ET8)7pAD@J~5xy2U{>EP`b~5F%?`}~vsIZ2x z9&gZ5*1!|(c{G;^xbtILG&zpQC5@DtLKuy|C=bh0aPA@+Q&r%&0kMTtT0RM}4>4}sa1F!-Io6hbeItu?Chm0Z4f zQh1)weAm^u_#8^gV%&4irTc1WWR`;fx4ziUm;^~I;y_vLZxViacHb6PD*RT8DMwsGph`$(aBvdC9 znkh0De<}W96=(#q>8KQE{q&gzB8{{J@TxA9Cx@Ankww$plY@=o=6DQWpU9!VU5V zYo2Ne50z;P&1MTC@B;^})dJVjSC`0avD*a=14CB#LHTYm6q6c?44%B9`(FBs&sTNv z1&=2(rb16Qk6DN+dfO?<3-OFkvo?8WR&Brg|Jw1Ui>c|q~)M9%Vr)%wzJWhS1q)0 zS%!Tj3T4N}G$N7RMPn2OmNg4`C>RGxYHCw!`)lNW!_^Rdjd$UnAwM{&JH?l#}t3&IVVlls^l6LASaA{7X(1710$IWo0Iq0rcH(hgPPig7T$Uvcbb8^#E6F zrw^t_)4p8Ub`jX|7M~*`CG!$d*&x)mxX+}cUEpyTH>tIFyzUDGV*7ghj~&u`9%a`# z$Ih^>1&NCeJd7^gg2g-coWE*XVlSn;#UEi>?r`N!Aq0z&u?q%J zT10zo1NXn(bV>VPA^CUDhWge(Jk7>HVGanx@9UlS6Tfo5B0&6!NpMS_A+T1mnvJPy zJQzo|#9JcwkkJQYQ~oT%6i#jQW*ltf$8WQroSv zDTkuIYC_q#OR>0c>k^X!XN9$9Sl>pP@=yMFpa3|$Sl&g8^Dc8FYiIgCY)IK068~ZH zxN(1ZNEb1VC42$xrDI41>AIy>_w$nCj^vrSb909_H?oTa{(e_Yuw!K|lTw(6=t{Pp zseWis=cNR>*9b#=2LJb(eDx9$6jE`3L%Sx*2j4GeB~Lb2gqEw)BQr;qKZ}ILFLD-i z?`$dPww!9*PCC^0t?-ppwN9dqSg0MZ%tQ$`VRq!@rd;efDsh5zo^7R;2Mjfp5eI4~ zYROd%#>Xs!O*}53p~uz|C&4^UJd&tKQrX)z(IOgmt-_UVS4FBe?bYR>-)$cQ&-pDo zzy9PBd|5!6E5kcgey^%nI>nh1&K%Z3E&2%`MA9>H7*4CjmF91YRk?AkFKsE+w=hc7 z-+3pZsAjWH1bvu{k%Hxe&G&olyYo~mt#jRibW1++Wfr+Xr5>{O@z;;?K0OYokGv&j zK-aH)X4PL8>xLDMVB5Dp6w+inBCt@FV_6w1)UI~R!_VAu3~oBSbN7rC++U{{r zq&-Wdt+yEM88x;=c#?g)<`uTla0=lzZ9#XNahyQdW`kGvfZD#$YO9aCW$kMWARD|; zacw#H>dd*2wV5n9QY2gAUf|k^(jhqnn&7F4`ih-MB?6_BlFX2PO3(%rWLcj1y?6=Jdj+bg>d z23!lHm<(lMCbb6FcLw?R;<*KZIiInN5?Drx93cJ{XiE;MOl?4d&ND|~MGAhD-+ae% zWF8qPE6mThmkhD*XwzFa8L-Kh5fapr2JK+N!kneq_e} zhB5b&GBVR5(O+mEKEzGWIBR4V=#%RIb*@lgA!1+;DZEP();ewhrzF*w*d(Hj5Hp!9 z33VK4c-mY}G+xhbR(*%`EAza4nErxA@Q15@!hTDPJaH;3l`7CJyFJu*Xp#HtPX#xq zksi~9MA&2hLnJ5wB`2nt7?`)`D6KGqxImL9~MM zAsrc$WSPa}6Y9U0U~-vNzjJ_@KpmI~{v8VNzhnX-11BT1e~*b({Rbx2eH9S{rmTof z6^D8)mSS96Q3{-}h>a!KrO)pe>c~X1f6s)yzWpT8w}_c4GHW(wisOT9*pUrKB4G!d z?_k4mn)itFDx>@J{T<;;gj==Db#xEhLv^0g{5 z)l!-j10|#Tz)$5~BM3dX(ym!EtvPn7sXW5iYTWS@rTRkM^6fg79F8Twjyc>8&#*0y!Rc8;cO#I z?ZvDM=j9~wLR|XvrjuW=A`bJOh1=1N9foT|E)|N*8@ihH0V8<2TAp*PFZi$pA90d$ ziBZYsc-VAB+D+E|w3>5w967B`+UD)F=9YElO-4_;=ALUI_YVaY{p)t$p^M(e<03%DAFJ_0;)YRk20bg`;P5A{k&s|B=HZz=)>3_mvh$sa)PEbzJRzKutl0# zlB^!E0KLA@fii2-js9ULScex$=o+!~%8CQHZld_lGAP5eNPI}d1nWk`0M6))PWe5) zPR5l8n;Nq(=qI4sq&1DwJ!_*!Q%1(47kBq1;p6ZwC})n!MC>ti_6aAB2`BcBP%nZ- z;ZI42Fs+n&dm-9`MU*@9i01^bag9GeFhoB3RxBx?P6jB&K1l={h$TV-+{CZZ;eH77 zB9>rQpsqZ#cTAd|!|%UMh)l=AraohlJ;Grurk3Ceo>k4b$nS9eehv_-R7!4VVfUmk z%sIXPYK}W|q3soO)ixJrz$KcWV-PYo6MzJeDO94o7AKjoN}Gza10NiO9twQ5&<(4- z10AGj3huFDobmOerPy*21P~Y{3^`vT0 zsgZ4vb;2B@FCs4x4hh)gGp6Xeod)l}74X>Gy!WCAK;g@rk+j}v_i`8mE6YykH@ue& zfuHn0%i$(y#gJ(|x`sRPLJ~d-gr@hRM-^u}WyJh24dL}Txa)rrr^E`l^0d{Vbq}PF0$ItfkT070iWS zZl`a67Y!SO+4R9kYmhuZOeC} zIMsXTh;xvohtJJoF!xmEW6Z$H23S5G%}biqI`x8j6T<;hBLan~R&Fo>-RNPeLQ8*` zgy0CdVTD-!)x)|mXNOk-9;yW;s%z%+Z@^2!^!P&;i+}fC4)W+pM1Ib%iTX|jp^&^>xk`Y#| z2WO5d%o>Sk3(ZzR5Q~~&Z)9g3d8saz%)Vamo$>=z?*RfgYu42_aeuWzr!X>Wm3OuN z=+=8X`{U#8o!k${&4f5KK8i_f!ey|}4Bd!LN2if7+7i85yTzaYrHIA`+mkwCeQ2vT zZcrD+X}T{c_zfQK$@u$&aEMIpeR^Ieay4v7bvgWij*=eIDVpBRXhKB@{*#^~>16AP z)v_g%357~$&1Khbe<`<}TZuL*n1)I?SFRN=x(Dz;U6i(X3R2KX1_c^cro=Zs6&(8k z-d(y2FGVK|(TqE3q|or&QstK#)Wr^$r{Q#yn=X^i!Bej7gX-zP^!CyucncKD`LHwA z{)*qpyDRyJTSIX8tnP<;Y|j&r8BEC`pTiO|kbylYPcQmAmMALIxz(E^bZ1=s@{4F zE&OE`l39tFA3NbAUw(2pE7X;VyjBPy^+`!}2p}lfDfFU*BtYO}Ok|*`6%k?Py>cAt zV>5>cZuKhP&xri-^}}p?(wh2($p-%(8jV=Hu-D&>^)H-|Th zc*t^ACPxMbKO(4Dak40{(8mStA5(a%Lc`?$hqHH#t~}fNMyo0n8#_kDwry5y+qO}0 zDz4bJZQHhOTa~=KyU%l;b9(fB?;ZEUe~e^*Tx-p_=3MiKrG1+!9)m0Jno-`V<~CSP z7e{F6WaSHVD-E`ehzcDrPZH|XT%<0#`1Ww?I9mYWYe;x5pZO;=SnN8dL;9o{eG;dT z1!DCCIU}-r_)Bx8PtIbFKI_DKv4#caV2eWz?D17ke@QGJmcAiy6StpP-L^1jifR7-CewxHjt>7yQC5|j%*Mq?LRYF6pnGLF8 zZ^Rw~=a}oU9dD}tJMIy5QjPNKQvD0s@9>Vgbrof74LgC6EJ~d8*2#`nn48Rxw->A* zgimt4sA-E=U^J#j{1UzB1I(Iz#BMHX{Qv+m=8o9+T_wOGlja~SY`+h_zn_WsXS;x&|WsS^#!X>O#xG2N_CJ2^dWU1T5#m0Kdq% z^N?$K9>TV|-4n0$I67?JULqwX z%k?p16}0gMDx?^aU-L@2TFT7y)?x92(ey1%70G}G+0oeo31vJsp}*eJOww><3M&*# z1xT23l+d$9@TJB8Tyj)1I^B^2Gm(l~P1(#;BXvo)N_$Fd6q?Q{e(BRIAtJGBPNR-N zLibx(n8ZJWX)lZ@zuuG9u?q}6cbN5$pgEhr_fI)mU(vhF@YYL1@a;1oR5*W{6> zu8_fGagmc(>`LC&2a2BAyWc(YcP)P2L`2$Lr$=61^9_!&RqTM{RO$(JKg65BSx}c) zrx(jBoOJ?j2N>L?)yS6Gwh*mE25PzVUUC-ZQdKQ?j=&O@3XCvi`CULMJ#i_Pn}2LR z2zkvebdv5Q>~B(-P7JjU(G^9O?FV;LmSzURl5QTXxE`BLwxfmXJ%gTv9n|-QGEYE? zx*F4n0TJ2!GZzAIk1W_musm3>g`saJ*DNwWkzrl#=kV(F6TSMP{EX4q*F|nXGs_n= z>DmcAnD2e&+}@XtVYTe77tr@z*!PWVd$5?PztEqolwDDhJS^%n&v`6Ha=%0&u8oEE z-`Jdu6aE}Y6JwFJUPftP?8%QIEt&QF>1Pj#(g*iWu>9qj6i#@8NxSiSc&o(LN}9*_ z2HIvpm$Q=Ew;J55?F0aRhx}D_)UFY_TK5*;ebnWeVS#AW)E#BHv((rJyR|y_RQo+@ z8fg$ZTgUH|FHn`$j}(ItV}LB{r;l%hQQreM$>gA^8`A^K_3&?*s)xrzi$kh=r#QxqZDm!W1Y0T?r+GIoTEeYse7d?ho<1-kFcY0O_^9n4|5$1 z9NulZ#0h#MPhQ3sl+y*>H~bcvfsvz=pWGrYGH2v0(X+mp*#o!)3ru*ar0QtbFVE0T zF}_4h+O)_Xe&I8!!KHUi(wV7uE!}I<^6eUIfvcY%3Gdc^!liYIpL9g3twiu=REMp} z$Z;o6&T=hhWI@SXdE*;+nZ74R(*r8OJ|>FTpoRNoP2R$9TwK?-ubR+$BrYZ2eGisA zZ^&6F$P8w=tm^Y)iGP}nuqqH*n(#sL%i?whcD=FDm}N7tOp4AZlv!j?f8&OVC280G zfdB7yd1U~>6baZamjMaU|HL=?m+tkSR3o4;kAc0JzL7n!oVGR6a}@fY|NjLoQ9S)a zoaw!Q%90$Ef&fjfPP48&0RYO+AGbwJza{{Q{+@K~+*J&ud2)h!qHK2K#S{^}|E17l zRh%zNZ(PgCXfpBKahb->$?N0w@mUut3^A!`Gm?c1!hpihjB73d1G$z2H`&!vKeF4i zw&u;*;Tj+~X`gZFP}-HwO_}R?d^YWT7;_qj;xdOy8z+o@3nQn4vhG!l&(#e8S=BR5 zO^j58hN1qshw5Lwckos4vBt5_yg3Q*PBMuaP+)7Ny|mLYcUm$ndujMn&v@B6Y=Oq* zjlqTLLVOf0-pV?zid$R~V^#vE zs+H+mSbG9j>bBb|RTKRX9rS(#o~wMM&!eu$2~OrT_2ugnOj?GOwe;bd*n?B%Xqv$_ zCsIVG9E}N{d;QteT*SpbQe4?i1Jth#uH;U{?pQ6R0w6+&z4>G?WS^Qx79ed`6iG=n%q^K|3|6i+ zG+`2vAJiq^r4$hL{V=l1MclKqXAIIz)4B)Gk<@y;9wQf4^J zdl^Lv6Xs7ajkcV!8GJVcA&$r)C>LK5?vST8juqHMP7lG7h8?8!{Ivb4IIgs}c%QNU zJJhW4w0f6-!$A>XxRLx*ckw4$i&nwO+R)zZ-vv^jycUoYio$K(8Wc2T1)5NOJq_DX zzaBu`w~7G&4PVLeEPECq*3}lX@ivYlKJmwsT3Zz)(7cZq%I;iIvhEww@y1hzM^seQ z?e5{?<);k&$wB6|>#73-92c)R+sQ#MuBz-~z206D!TaPH3Xcg{>-s1R3ffs!2C9d+ z1e+T>qVZoLNF_|}$9zPCJ!GvJsFcga941R=uru^{P*(QY%}Hd|dqm6_mxmlIncAh6 znPjnweWGS5LOqV)#l}l!_Y-~K-N@OZZJ8MPqOZ4rLW!{IS-M~(7Q|(8;(a!(K$KoW zJDTS8VD&felvH2O{IY`=8@VWIjUSkvLHWz{@bDm9Jqi7d+-F}+vvIQgwSo>lBENg8 zNWkYZvS-b#oGE4$2e`m%`HYJpx(wlPyctsUPdkZ=vF|6P0|09^~lk_G3|&B>P*?OzXr2@d#QGwx+&b=HQH*xvtb47KL1%0 z&A`k7=srWM=j3Qg`v==zR?h+Wq+$O*-X(I)(m=o^&ZRY+JpxkXoTGSvZ7dB0WVER& zK2Z*e<3z=9${F!07E#B~AgG^y@LRbE2Bc)zus!`_9ySNdxUc8G_W_@RrpkSxIRQ)M zUAVqCzr+H0NVXnckiTrGq1u0;*2#OT5i8J)TxJr<-!=IhMk)!_tCCYlm<@sb#Gf#w zkuc(yAGhxp#DySXCis+5nl|e{Rvgfw6zxj}bBJfB2{dM#W0W zC)@>p0Ugo#C2JN6jASJR3Vw<_3Gx!fxm0Z_780lWYmvytHqu`kB)qmW zmKzN2XWUvP=3jRio3vEEY3=kK%Q*6{__7O>$z&L?0DMabJ}PmXYh8{KSHw0@V-5>GIFgY5&_<@Xc%cE&>eK03hoAp9T&8D`RM>=Vs&N_?MTI zOKV0Pb~==_Pq^e6hhF-SRqv_ z$CCm$FOr?~#^m)ix+Kb@gGdm!l5vrFtn?^w@p%K9#&uC7P;=Gj>1~KW?yFMu=}-3< zK!1m67O7RPWKON80Le9J+c~u+b8Mn+6Ep6}{V))l*Wr*pSe-=Xyj3&<@EC|qBsQ3} z?p#U)jYiJcGn!uxZAC0y4>2A;Ra`X)XX$%vNd~@_j8^S5d8c+FbA$vO{t8w4{z#B)}iQS(A+s;OL?7QDAz=O+!y zGWkPEA2>L(xk+w?f@Tadquew_aJm6~7r@>#35}EJ3U9ySY~4@zIu0{GR^HI&E&lqf zG&a==M`Vkmws*u_AHgj0@I?NKB%h}+NJKi^Yi3keFq--6$xxs`%sBj(q#|bQ5ri%R zL*3z;9(6C^P+y??%QC#mmGKF-kjra z;@()TvA(H#@TsRf;9;(;{fDR4AIhs5%}7^xz$7&e{CNJM&iLPh`M>&_e{cY4|I*(D zGDQB<#@;BpTN`N`7*-1cWJ!HF;v`pHETYh5PEh3%OmNxOGt@02a-jT+p22 zd4j9|*~9F^4WC;OD?$?s_eH=gNFHj_BGTLGOqe21nbK(|eo|I^pDHBbCoL2V4ExIw z*F<%&R}PmP9O#aI5cQ6H&}bhxMg@Wjqo)`tsJPQP^naIl=}z7}t-zch0qmwU{y#3g zqaKj|L~8}y085|-@}GCcpQ@MqhI+O@8B8L6L&HCRl(%u=|I@eruiKbVE_8UPV0vDl8mEqKeO=%p`ji2C3%$oxS~n*+r!*(mMJ*&{78T!j(6L;NQNdAI@ywN-S)nYa zO3pd>&MNvNETQJD5QbKsnqSg}LFmR%?}$QOqGF+Rbq4kg9Z9&5>P%`|UEKzq@I?%U z`+EU~>O$J@{2Ckf&~7p^;`KIaE}59oRb|5@u3kZgLAfKm+~x4s(5>u+QVz- zpM36w>o|ku60v$zN}jY2U(sH95pa0QOwf=KF5^3wLXKe zSavXNmg?{HLrFsoi>`rM4@Me2aWiV2$*Z{s_p$dF()aCN6Z2W+l`r+%9IDlynN~rl0kcsYi#x z=q${UI+C~Hmlr|sstapw1EPBW=`5$|6{!>fEUhkE;}>Yv1IiVKpAUpWaCYReM{ELj z2-PzDity!-LZ&$Uq$1+Dy|Cf4aCd>|O(IBN#2x7GVlAg|d9bG3bP)t$FPK-HG^uVe z&JfZIxvsl1givBTw+E%K4Eng%0`NGy@v_$h-bj6=AIWV+b;ZE5^uAgAcwkjyQpCcM zt=v6=mCs2`_J&#{{Pj1XXy!TTFRnn`oE`k9Ps;y4V&)$NV~K=}fTS0r{|uLM6$=OC zLxA^!x`&Y&tjLltUsHaN*o_gs9RxKb>naN3a#I66XiSO4aee!@^O9D|Rjb)Gn=Ci_rnkC zi7!Wei}$9zd|%Je_ZqY5;6&-d2@#RJ(Fdj>BDdL~Cxx!4yixeUc#Y+vbiXds*&|y1 z*s{revkKoF$fdIt=pKehiH^$p6g!{br~kE-9(_RO$t-yLY8Ey(PuI_vWZ612IP>O; zF{tk8{E&-laECU>6_>W^i2$CKJ~bnkW?HGa}F1Na6;&o4FGCQTl{V*M+=}l!&iQ& ziTs?&B-y)8yv^q+j)2^Yv`6C}U&UpWlvAmQ4hcilH>0dP34hwqZJ!m#P6TP*IE1{g zQD&h^@{@cP#aTt$1)E<7Ji$-%dp&gM@8o<)w`vJH%!Jd7TyMQ7b!YxPBFm7;NKpTCTUlSax3*X$B_)C?MG=&(yhP~tO~ z#-Eif+1S#n(8grJ8JFl&HWa&}cu{a97Rrr`|*%qQ&Zl!&7@XX?K5kjltE6*F%6=;$@f=YC4@F!NBYfDct^MZ z+6s4AU3L0r#VDWn`faZ9x0R8X3OPkscKfx)!ou-94nnL`lkw^IOP+8hik=`YOPDrt5J1AO|3AxjU=z_eEB1|QGt72rs_>2kC8mjAGP14H1Ym%*x=4vMhil&q)@puWC)gF2U_QWTfP-hM#zQ7;LT z%64iq?$||&SNM)|qqQP1nO`G$m8zvo(dWD;Pn_rv%ANUm2$WT^0i92ggE* zU1+qb%wZNuJKb%Iw(Y-x7E0M5`(0xS9h9@tclw=n5VvjhwfcGLt_x|eOgh?Y+VTW@^dP$7EVqg52KFL_GK!%n!X5{N{{_mm zaH|`CrF@^UYKKdxhJA6PoCcxygr9^|a ze_UH+N}eNZwxMJOzZHhla1w*REyleHSJj}I=Z|kc(Bx!P){R^tORpGMb^w--9d5d= zUp7J7Se+@{Xk5T(3WrF9CaE9olPwAF(>9rlaHI!QJ%d(Qm+dRJ#wSm2Okr< zSUc^Y%#VJHbM4ngTPvWT1fxi32QvAKVN7f9LC135gE zH_3DN3G_RvlE1REM#SH#b%c=dip4>0vM$LF5RUJig6-gQydO6R?Jo;|AOyB4rmBA5 zT@Bg6>9fT=J<6!Zz5F%*YWRq+=KW*car}j6Lib07l)s}MN03bRZ23?hyLnKpVj8rg zQfo+~?N6#g@mmZt9#WgcBX>KD+NUoc1Bvpm>-frQFHee;DOGqi-)PM`aDA&5SZlPOA6y zK7}r6m8-*~e|{xH!ZjJ*EfnYo{CXWL=;7*imqWW{KWCvRJKu~$sXb!a&M-L*%d}H) zD0WZ!H4?o8lGzc!ma!uvT_x?AHl7Jg1WB{-&=?8xQ z#E@jz0{tf$cT11rpp%qrwk+?U`B& zfWY*nk4-oak7PCdt#qW!s=QrPfC;K`o~4rfSem*{``=y2CU6GN418t&zpt{9 zp_!wNJ*~2yrIXQL(hClMbrsWyk#yYlt;TXPZRg1~=w6%wKE z7)ljoH%bf`B;vXlNHpZ~B{dpa8b20n!#Eg+uz9#Lj$_q17*}X>OJUXdbp>9G6CaKe5JZv7@ZAi(qXE1aNhZ(x)mvO9|SO=tj#tIO^~v4@f&;U)_1tqg^Cu(a(t zFn|WKGtQ0xm#p97Nr~J$Vl!^1@d?Mqn|9j?(k3nk)F=8%bmK$3CzU~Ycd`w?*yq=k z3Ydx@8PZH5BO6zJI?P0YY32Z3IW@{OM+^wJ`kP`ssbt(pgJ~t^h2k#$yA@KpyAN6S zmd$Ad+!Jf*FIV}9r+L+(%|c=U4T5*Wq00NfJJYqz;-FadT6EF``mvJ;i;{}vqSHAD zNEr7CI>UYig0XvJlPj9ib<#jhrsKG9j2;gmehKsv1}og~{4*K|BYzk6VKT_6wi43a zI!lA@Qxc;s&_MP|tI`&&`{4N@R3E;mU;>RBS(5xtBGd?C1Dul|5Q*5yC`v8Pk=9g* zr5H3cON8Js_kjwB^$X&klk~{$3 z;%RS_LzDx0*%g=@sOgTd1l)a?ic{g3n&8G$<=GF-Ab+)@OBk4I)^{kosl&F$xRagP zs2IdDmegeC^&fXE8AppFbn-F~Gcp;%W+(ej zj(~OAd?7VD=IZU0`faYsOI~t#rVwjF@rH5hc@#v>eLR(OdQB!{<%?#xY%EyKuX`2I zTGl@yS=t_WOn)&wGroXG5;A*4Fiqg4o+->uCTup-vps)p%8+1uF-}B37}^ZNW(}yHIDR?rM%E*+SdM?J~eq*NXx`a1|UmY z11;*o+)J@wY0Vg{MOZBjc?)#lCnL7R5e%SV-%2PuxnC_WNZ_k|=H106JvqV?%!Vf%osvB9-6KKQ_R$S zNJdpOsskFSYy9^Z0nL8N)KKLXL?wSaBcAcslt`IL!dATxP})L}yM%yF`lHumP*Myf z`)?`XkLJ|)-h+~jyy~d7KcN=3QG)zy9m-@4yVQ|$KKc5=9vQ1PRSqXnK5^Q-XKx8; z_Sr7=bzzu8PqYB%R8ylB-tk*!sKmmL93@a-OxhkPZAkCMTRKmy;5T^I5}AJA?SA>m zY}CSe* zku2lj)4|>CTpljcn}SJhYEes7j1`r5vQ3>bfoDSgu$hdey}1?#wQ&_wo#qWfJ&`@@sOOwp4>os!9(BB`gRV^rN5C&DRdM!{QP(fF>)j zUYlDfj_e63s48qHpOjQgm&DXoeEEr}B zkA|2J^by8d)^>V(8?2xP@;3)jQo&cncbu%)&cU14?hsl#sU|^DJhbiOFallO@q>r9 z3+hHqXF+^6*YZ>KSLiNH#t5(`DVClvqex@@O0Hp0J9WhTL=_R5FGtUO^GgH?hh<$N=z=;g6$;e> z**pL?zy{qql{8t(37mS#oSH4D=*=YZmOSn&PHwb+e4Q$WfSNAMXRLq$tAZc>hW>m; z=4H4d&lP3sm(^Aoess&djh5f=PRtC*)10~&~(%U1&zDE#GI zQT68tJvIGQz3pZP5nP79?o5oBNbjQ`Xo^GcJfn`G8+5~dvCRNw98|qxSC6i8HpA~e zP*h>Y8Yr`zy=Xj-f^KQ%RfJAOY)^N$c2>GCj}DTnFKs!Z;bAjHd$wRnJV2Q#IV$=L zKeH%kyQ^nEL6{UNY86?^kbgVvoF;`iYd21QIAtn3L}}kT4#AsPB@1b#&ptec66%6J zZ$K2rjd4A2|84ipmb>`Y;j?%lS}6H%1~EUA^55UeifxmF4Ww-$96Z7t*%hiUy}#%T+}$<5KtZnKKrz7n{69*l`(-d7SPIMKFQmAiP{D!x*YQ zh)rNF9sjDMV7b$H>U2*-9NxnIop346DRkGL52l!Jy_SnxbidO%eBx4VQ6Sz+bxjPAQp(4k5STgO@jZf zijy$wveF_l+A;uQu&%VQ!D}vJf72VWN6h4;`Cw-lCO43<<=PPL*M!IsG5dKf6S+%8 zLnKXHfPFW;S8OLaNgV=ZB)j6ZNTpF2B7r8oLRy-&`Ti zY{qVq1yvmPo^qtU9M}ko7;?(2pYj>ts^dQ_K9`2jg^f2Jga2tecP`EteOd|c~p7U z7P%Cf?1|r6)3UUEC7g++^%r%K?{~HQ7PsAzFIEp$4WjKO1XCx4nEa4KtGZ2cYC66$ zoQ?)f8W zmNb6y4f2cqh+MW`Fly5WUby`oS{sOEhUoa;Oi7WI=~wphnM{oh`MwX5DTAMi4qe{O zOZdk=>y9I=BygB;;9n9~@!2p{Y1z(dDC$M!rg8IEKM+ysvtF;0zsXAVuV^)`-hucG zV^H$azBNqWg>?Jm_WQtJ-#YTbMn1~YY;QcuQfzmK%<4VPcBbp!fv%CjkqSa<_m)@0 z!2fLs+7vR2NdRo-CV(IP|MTPR--X}A9gVF1YBb_yN2P%xZ`g@-*=BA4o=?(T>Q{jp z2xvrk5{THL?k@7IO+?OnMEk95_;y<$Ph@=@)JT5F4RxHHoUc>fo*nHVO?~`7V9%b> zpO#FHG|9_LEP{4pP4N?e^3a8z@@o0BSKtnKw1)D5g$iJo17k$J(s^}lrMIdp;D{!D zzy>eGlA_H1I_0iJREZ%?^yl!irl|(>xN!E9WCF$f+wu}A4=c-IHJMV+VEmXM#Vmo1 z`ny_ab~}pNZ_4J4DEy?P6_Oj}=54LT^Pb|Dt0`mjcLV4kx!i`$ocP!Tv;~wIWr+mM zUsaZSYyx34r?|N?yF<=on8>HDAC_$HpdR>3eljfIE-k^iEs;1hho^|)U{A7Tq_9_d zSc;ENr0y^NhOz$iL*|SKxY(+|DbxR@xBGL!|A2}78-wt_;#~Q1e@yfcyr4n9mXcv! zY|IHg_WWcKnsX%>2nc$uQ`8D#`^uU)F0@zSqc~m6PtfXE5rv zA0&AU8Kw|_Sv-A2V^DwL!uJtL>kic^kxq^y;iWNwv>46K#FX-Vz8zR#n{Y(XE?#qb zOst*-cPGF?HUC0t!7aXZ)`?pVqWBbb3sl&H9NgqXv_Ys$Q=HZi+k%Kt zvkdM8uRU{-t1!vX>u4~~1&TWqn9hOC)s{g53XiT+2O=vRpBcCPu^H3G@|zhDRe12k zJ81`Qw4W8Mz%uZGkxghTDxVFr@x;VaSo(|ph z<<}*A-#k~udk(17hm3?}4?6i+&?6%qK-$o6#2Z=?Oz|GdKuN-pn9eVeb_%sF)J*o} z?!O#GX-B^gN$!U->Sqs&wk+Gx1z6sS$B@_Qx1WoP>UTb@3rtE4 zS*D7*U)m8_({lYA`KtgsM35c0Eqy=~#y=VQ{9Ad!-r-M7&L08{|3d~7)3Y|TH2NzK zl`H%ydzfxzc?bn7j;t=>n-DgGq6&HcSqud-M_D)&Q%JyVgYA1wd~L%StY7CB$bdc& zye?6EV=IF+654OLXU%70>?Q-Jc)Xon;6DVLR6apl8*eMaIp6B`Xro%2Y{U6tCpK`R z+6!dOaGG4AJ0+z}`QFek66n?kqLc`Jn_c21)OB2^C#~8*j>()bA-sTJ9@=hMu1|It z0D{li%!-O3Ag~`ST|_n+jwh4z#*h{5g$pIz=HQPUP_K~hbgsJ`h+iZlaU$pLg@@ob zY?eqrek|g`Y2bV;t-cEnVwaui_nXqCF9w5Zb&)4h?nl5fv>ZD)IQElTtxuw0=WmSPmrAQI^=$% zqiRR_74v+1*63wILKwv5V)ae+=(4KaeIDLP2l7VtTNSbeOx!`i_Kho=1t1oxGU(ae z^=-=zvL>4F>gbY}()UI<{%eVzMAMxxuUb}hSmQ>Ik8f9svEZZ-p72gWfn)K}WbpCmo&j4HEhq43dQ2wV~BcC0S@>d#;_i_DK=J~ zWOp`h-aBI z8H82;?E*8Q0Tgg-y{gWTSdVeNgjSIlxAwy?>(UUVPO|Jo#*sQ#V|1nLFbUNrP$fY6 zBHCp9*=m!KaV4)q+T)j+!}1LGCL+{J;{}}c;7W(RKb^p7ORfndPu!za_b|rh%~%rUR-n;R7z&#nOiIG> zx~wg`9Ico~HXRrT8VVE9xo|f*JvIHl$!t&ZZWnuSL$(R3z?Z& zmVHu|eEuDC^#@>owjJv!;fsDF2{dya@yUclcBnwmrMt5-zs~OxK=IF$Abicn-|8|^ ze!(7<9W4NNqinE@hpVaYCUxLaEtLLoQEvc95_B>Si`Phe5h)z)qAMfFJBA)lQs+Q0ZD0`%jPbAE8; zuzXvk%P4LNyhL%FE5;por10*FqVV3?Ho^7ohUizLxjw!tq2p@lbIR0bU*t|Zo#Ww< z8gJG3bZ#`Y?d7km`9QEkEJDTLHD>q-;`2j8o5{O*Cf3{dqSINXp)Me&oYL}iy2EOI zU5IAEhQKGP^88T|5RRR7tISl93f`ZU7)a>@Pt_uJ2S%0w(T-%fxeLwku8tj%SRPkp zP{(3{Ws%e7DE8j7gWZm{dPI(yeNCO_>sQ+cYT6#Lnw(c0HJsdneojiXF1}eok->o( zafyhRa}Uj=lV?L1M;NX7<8_q=Y3^}vjnt|{NX~?KnX>P~VrghXdFIT%rzaW3?%Q$dfjEQ)3QP!A}JNof5llP?%ylp9u}g0+qveP63~n zQHE2YoSc)LzVfb>us?8_o3Sr_yQ>$+*a)I86{tZ_zAu z2Hf2br&!QoM0@{iL9KP#Y)j>4K%#Z}`1d$-N}+xRvPZ$B0h}4rzClG0w?2BcpL@NO zbpxFGw6=I5RnPfZpkLh zjpy2+FeX+Nu%Be@%US%M5Wr{9f92UjRY*9=o$jj5@6t}N&N>zYaI;CU8il-rr6g+x z)ybr3?I6ZU+TFM2OZN3bRn~0%W{{hJV+jR=9YJenEFf3Br{-Oc4N>H+`&EfoA|%O# zO?y0{>(0Ygb<2>4ZVc}dJ)SNdszcuiu$F(EoGDd`v=oQj^wCjU+tgs4{P~=eqzFr? zliUUkC+L*EX_@fVbmVIDMYj_yNkpUSQEJY%_<#)HJ69xNM0JyV)+BT+kyb}#oH zfXYl2Orz*ysb{~J!mKH(5>RIT1O_w>2)ktB>Lc`Bn4(>sKSVnf2e3I*VHK7*H|x56 z(VDH;rQ_yKIBedqt-Gs=D7S;%?2R^z$To6kq1t2(y?M&6Gafz>%Oxo+aUm~%4K;dgor8z=vS;Hcy}FXO%21Q@L~ukDo?kl=Q^pIs5I zzWpC?K0_Yv=&ox;id2PNKm@n%CPxV~JD_#;R#b~MrG|KF6fYU>J;%<~C^*J~Xi|^( zcXTVIW*`^NT9B*A!PkjjC7Ql0eMR0GX{eCdqyf>N+L?b)5$9Wa+L~gK!Vx&i7BUL4 z;fT*85G@8nXWPMHUxpB0%xI^%qzckbeY^TX@0+?_cr{3CdMKxf6%dzjwk?H#bb}In^F`pa`8jfj*2XZAEx*e*~D2uT|QDl;4e5V-a4R z7)abPJK6(@10q`B7lY{1s8Yly=@Ad7F~O!sweWaneutqC3^ql2pTO-P1{JYG1Y7(- z66T!NP6w0MPRf)1Hkz#HYdbDC88EzshP zkp3m*gLVhX5j4?t7-XxSO6>O$vbVvUk_O4~@jlsfTQQmyw3W=Ma9FUB^|H#%y5GFr z(MP=dqb7vhk3G1R~-iI!Elx9rKrUAbFm*dX=&PBn@iiaM+T!aBE?->3e z7yXC0jIfoSnWcb@p&OBalbI#ZSL0vr9V+7vt3oI~HNaDowbu67`q^4=|G(huZ`TBo4F~E`O;JI;4+rBx9MO z2Pgrbv$vHoU$&i*SYm8N10QFj{iOgrvfF~7@)cUei#QwRka87f>US)#`YA03(3vH*#4eCb^IubzoTA3;xV20T zCZ-t{NhzmvrSsBm7^A7Ewvrrjxy4`lcO;3(1YTIH$|fsnxqr>t)2}_58v1gP*mxvZ zFuBdQnAE{gJayw%swSK>pkW2)OI0pQ3$E^4kL!WeRP_e0w3wvC!5~TT$~eZdmkn!O zaP>B5zkQr@*?%@GIBgo9-M3%18UD4!Sd)v@s>73)P6?h?%YUdjl?=~u=sy8!zYvwO z7&h_t`L#c5Ew;!%q)X8uvnUp2^KW8Bn+_H(mPZ)FB!y=6gM{uV8w< zl%Ynu^_gmlh#xQsfM%d`oFpa_(8#m*rk4n~>5=#kvei zIx>%4yTyh`*S4HYh@@Vdo^Rf=GYGjjJ!;_%qj;kINoc!C=!5+sujf&*J+u%$Bagv$ zL4{wdR*%wq<+|zRR)WWndC!#ap|2qCx(aQfOp=`u+Q5jhuN`|a_^%KQj+W(*J&s;+ zUNQwflrNTeus=Z2=KKT8RFAk-(X#>zqgN@&U$15ih(ca_kh5}(OfBd>Ih7?FG{7eL z;*2@5Mvuja9XRn;Kk>1IjSA9H-n4`QWMR#Z@8G9Y+}||KX!N-(MF_B)t0z1wLm`EPq7&f%z1Jk`@l89ql)7 zy2YBewPCs?+(h-6G{-kFZ-jfgOC@jQ+H|W_eqR-ZZp$Q}pbMI9AnP}xVuo1vxnSB6 zwtkM#o5oY%m$yRH-b-h=P*FiO(^qNyI`Q&Lqo5aTJ$h3!Mx|ARmMeho?4?;3ImuC;QCLQc z6zCYEb_y`tW$}q?)T@5@8&_`G_B6K1tTh!@!=C1H#Y;UX3mH{E(bx7_OhSyt+M1|(i<2~*G+JZ3_C#mf^ zYV|$+_h{B@Hv!==RQmVUvHWhA^3bq~@qB~4W()5j)O1HP(dDqcz*al#OI?Cx?CbJ^ zQ5L(C0Cy#5rQF>Fv~yX4WtNQ)l*|%fHRO2azNSJTG=*qC_Z{8Z27Gr>8PrfyS>^P)Ew`LcKF|C~0v%V8O==a<{gaw=M;E=T;Ytx?F{Al~! zd+Cf_GZVRwin&ZyAd^vRW}i;jjw{5-QB$F-jLGW_1u_eC7kpv+wj?bk10 zkamI2?!pkcO%jv}08&U$x{@E25ZH>J@h=$`1e$jyVOzo)100zJM5F^`SD&-z1XT$Q z>p+RZ>4`k|E#mm^p+5wUa9-igyTWS0WE*18A91_|5oo*cjxcxyl0*VTXkmXtm~<$X z!^d(ANkqqah-v*F%FZ#ovTb|wRbj=pDt5A?3M#g3+qRuuu~o4vwpFoh+fIcQ_CELA zzBqmQ|8#%Y&$IT|HRc*~%rVFNdj}!%nq^94<~-1Ec+zrE3er~<3OxoNY_b;o_42n2 zg!Fv~4+KTJ28-7VM#So&l~V7SsH-GC*mxU0YdNKz3gDKg@#C5*W1*NgA{3V#y@QW$ z+e*nRjjsd&+auR*_AZV57X(&B=FOOqNyY`>U;p9)>iLBOw+Ga44g`ImG=EcPIGGr^ zI9fP+Fe?4?;a`HXsQ6Kk$PgXq$8J%C1N_1|HREUjmn##e|K%(&7C8g~MV!p|lEe1Y z(lCab(0mhC^)n{-2c!^=EZO-r%rWu7`^%fmh;u$azgMU$uyf>(gu(8i1a_`MXWMb? zG2r!J+y=!R%9<@|@JaXE{<%*Bkz~D^Y8JnViI57V&Jfl`;cg zD*?NYsaEMu1UJh4-_cuCE=Vqt5*|ieu)#_~I>ZTx&o6M^dv=3Q6PgdpXDBm!J;HLc zD723|x!pQ}kci#l$xK4IGfFhgS2{8t$v$kZ&SWCfiq7QP7vIE~8x-v+#o)EF9na^~ z5tWOIYZf)}1~Zw{(pFQ&J;$9XnA_)5aC)+aD`GDb`O*f24<~(sKhYLLFU3>?MT04D zKO&N>T}RlkVr#xTg`z*UX2kTeP>Zini+@GBjgkN!WEk9x^!|>BcqR99r5QdVpF0Y9 zw8I%w6aP}6B29X8GE1btX;B-DXKWRMJ$-4j?Vqk*SaY$O7UXAmyb8aT5ol-7;hzq- zJwoSg2ivLB;|wew>z>zWW`ndtzcQVEUY{{5`_$A?oxHzn55f-^Dd#@4{*}+bP!VSH z$9>NX==XOk;Sac(vWdI1n2D{4qXB4`@82syepC`%0J&WDOO*>7Q%pKEWE>eZbazmW zI|@3}Q8)4xM;p#=u(2uy-mcj(b(2kJ$HRT2e;u6;oEY-qjwHBY6rg zoeE#8uSpsGnECX(xL-OXuPiG8&LlBO!n(@YQMwq9t&N+5nU=IiwXQ+F+AwE~CQjqc zhPxq-YjL9XTFcdsD%;qf8#ee}v9OASXSzn>a>|9l&Tw% z`%MB1Czi#O&XJr0?NHkb(NkuSe877}J7^M{4zn4SBc(bzirgc;Ne6v1t|guHxySCQ zyNW4UX?%qJzpML+DmuUN&7COR>6-^XUO6jyVy$1}_B3_(CKhypaWZAHWpC-N~yU zI|uI$GA(5|N((Y63O^rPDKU{*^7fijNX7pF|}Oj#nG zsq~L**oyL~E?LTT^pqB_ThGsL%$=y%AK9e|aR=dBj-pO)9yEU?I48wE&0+kcCaBpz z@wm^LwARJaItnn+AMRmRrCaMM2oQrJ)N&8}0hOiU9vvT|qK>(s&m{eFiVL`H>JX7J z8*0prxL|=FoD9v?`hA#*JA$<{krr{zsxw`-z-@WaC_mWwf|`bBUr?RYJckd&TFes7 z6>_U%0tj(saD5*ilw<1n;U&6U@*L1b@DwX^qz5ZK8EnW{!C@lGsq=z(A4Q1TEKoxW z@jNXy9S&>G#?KifU|b?;w~>=ErS5Q#9>zkp3Ss(a2)~YvBmvA9geS&o9YSUn?8~PY zV;9<~;n-1zzh*_5bpA{@*oR@*>Oyar?ilab=nlMX<21ZX`x+wfe$m(mAiz}5X%=^s z3Z_qJN|LvwS@9)KDLh#vODHO(K5^WM2lTGT-fR&4_hL;VrsL`cE!1wfzfTONF1G(r z3o?rS^Wk5MHcC}P30)2Sje%tfz#0)cL=#TZ8yc;JnH>8$R2G8uBa=Dm>=>(%)hx^X zZI1aDG^2YT+MC3Y2u6=7tYmdfk8qXWFdnihzCz`R2W>1o0B{oN`L#};r;N*tn@lIU zhioLjHt4O-zPARnP(Ii_4n(qB~Zm|(b zUbVJ!(qa_fLDd^ZlG3GwdgqL;3p3@VCPr)vk&1>p$fjkdsA(?rCtKX_r^WtF?3mM#BT(>CM3S;mr}v>>Y!wxmkm0NjicRr;ZD4q2N{|v)JAKAa zhm|!?&YUaH!DJ6alb}7rW};oXw2j7*{o$V{LZV1Ab)dIS!BmoNTAhs|zAlTSx*hCA zIn`<_6cBG92A54Vw`1GRtCbxt)5f3v0)AL;L2quU%F1!J1jLZ}O*64|cZ>!mW8vls z*cOk}C$YwJFk@monTi2CBE<=%!J>!A(8poV6e-qMToK0-MU&Hiqciis1)wG-{+LgQ zHh?M&9#LuOo9tuRBhoHfZE!7E&xEyxq|>lac6++5hb4kNyKl-G{vdoCjM5N@#^gm~ zVJYxkA_ikv(M)|`qvoM#_F7Xjc#6Jk+gOBoZdNQ((NMfQ$J9b$9n*Y5T^3vVbN(eS zufbqZRH!Wrw3q-ATtB`bW?e&1LH_jS6PZ*GEHNygn(i{D+5h)fgx0iigtH8?1tiW3@Mn_VrgXfVZrpO<1)}q zxjmu`c0=i!x3c8%!y@Dt29>tK#s(Y>$C8)a@R+NbKsjaaaI5mF@X4!|a7KHb{uFb? zYm83QaTV_%I~DJ5m&4gz(RXv=J9-#bRZWcOFF89@f;f+C6kyBRJ8zGVoIKJB7Pe}2 z)>477q^DR$Kdkk{@;@n?xyzw#lzlgV$^xT8TIJFr)>8gCCqN6o#7lpg@fF|6dhGVP zifqpaia)G^((s_3xA<#9O=wrZ8HF_3^zzf*u5@B6rTym|=Fp8ofw{L-UcDG$**--# zYevL=)AyA+QQU<+%R*wg+IW1l@Hh@`3^!9%&cGkb*JC+;{fXON;jjC5-xTBaONWL8 zt&mf)mi9+^6btmkElo+#8w|fZlL*XkOM7d0e?I~6+VwO`7e*Na6sh`c4 zN~7)FR(li3T80t7DsoZ7m>1eQrVqF@8-`XtV>)q_raP=37})Hw179%shidv=^l?|@Ee(ZX?TVmZvk`&pT@hI$&$js_Pg0ems_VUxR~FjEF?t&XRu>s zTMl4J5U4I{T2_-%eo1QZ{5#Ig-^rWN^O_av8lLZJg((oRZz?R}sK@=8QlXSrwGzwvaV4ESJbE z_}=qdP-)KT$M1}JyS7bP4@cTu=GkI*HC;rXpfKf0r&Qdq8W_?WY!KY!zhauJ^Xm{E z$n#~8TxBj^=LO?xza!ZYSU|Aq7-g~JM3Pm9>nFAl&ai=-_&`>IWX{sr@ zd{a_Rvy9G|^NrK}`z5hsifzdF6?a~Mng9_C*O;t_f2*H`JegjJEyG<2qM?U615WbL z$*F?nFO~Y8Ph&=-Rin{e%Ne9shT(1jM${Dn?|&Ii>GkDNRRUFq5TMG1?r*9V8v`Rp zJ4TSfrm>5W^IydMQSvf!e~bc+s!?MKphK`x=)${KW7(mi1*XRG6Z>lqE7B$>R%mFx zr`Q9o|J0AuP75>YZk)A$_po!_;M3jwpuI%}jvzunes(HOO_f`&Yl47*01YqdH`Uf@ z6HTF-ziLS3eDD&MPKd?gge|T%#!&KO)m$sV!3tpgKnGM_$FQ~UN3L2JfDbG3I|S@; zRoa)^Gr8=A%JGO<{QmMVpxsKd85_3Mt;4MRwect5vL%)ni^9)&9I~mOsFL80)dTs;HBE*;2=(I~yxO2JT)X*A0kBy6nP>_o^#Bav&nvEs&c6ifqyjBAa z+%;ECn-hF~|K1Hlpp>sQD6bHGTS_$>YG8@gLuW!EBFf}(4|b2A)C8l1QbH2IhrN_3e=Ng+M}XwMP^yXA{?@cD%CKIF5^-I zX7LtGN-Nc2Gmug(C`yHT%Qh1xzdzTN0Dc5_mRB-cB-;KUg4xb2b)l&=x%s6}?)^BX z=MI6y(=+Xt^69Ie3WGa&vVa|4^lRz?M~>-uo*hP=bh6hoQO?6XSM^cT0oM~|zR3rx zPxJ{c`IX*NNdyn)YAm`ITzunEsy4oVIUWb{mk9nrOOgdG`MefHQXEnC&G8l|kQ~tP7{f104&iX_b|x(Y#q3C%rWZ zJ~>p)s}%?gUBc!~eU4Es8Qv||bT5~-J*(sSo0hn&#;@9*N^xR^T9AdB1;!Qv!iat1 zq%Cya`nr5=d8bnQckpKl+KN8s;dnT#S*fRItW=H20&`uRA>e)3(Qibd!lq4_Wis2S zlH*gip1?78{E}o~3q5ne;iieBzfkZ|U0?$krnA^W&Je}qkeKX7_XcpV%s5}DIhw6@ zf$Aeg|7SyDQH_XxB6W{fr3_uF4gL)8K-bhEit{}H-`!s*7@EY-BG;hM7=T)ff0vPr zP5ue9a&ZE&1m!@uBo)xZKRb&Fpc9omGVmdB0~JifR#(1^ zq@I)u{R=&76ae7?ld@Q>{i9mIAfX2iRtsHMajB?U$RMSMFhq^Xef;xUJ!?X@aIW#( zTuhPXf@EtUo=Xz@xl-@k`K0CdRqa>*T9w4?^!Dy8z3KE{? zYwLBg!U8rKtf$Ub^M&xV-&t5?&CKcm$#%~%nM}(XZ2IrGO-#c-;LKjo)XLg*6=JNF zs?^@B)Si`_unXGUf^V6bUK^;H_wQP5s|=bLzBxq_N|jlXrwhb~aJ6-G zlU24#HKv9Y3t=lBa_=@fbeC4uVaFSD8M0q-)2vb}(Mq>Edi|`K0o}%KSU=3@wy0 zPP#B}#_tZl#Rsl_Kt~cA_R@WHzz#`oc7!YQc&WhQEu___T$cLe(@g@=#3Y)D1=Ad) zU=bz^2W4ch#<~;&IQa-H?#8&y&=%xy`-qaQDkNJros56c?el?Bst5cV5;Q~Fg}w+4 zPFUXZnp>!k&BKY9;R)&hi+HiC*T{KREx4ptbg$90Qa@#daP8*j0};Ga4in*e1Lv3? zZptwSW;Z&tN|#cwrL0Xf@YE;;)Q~=2C8Bf|iqlf#ocE zqMNyVvQ=1=hY>6oq519(%Jt(ATihrdvjQAGx)~mN_-x2OHY4hS8}~nC-~_PX1t(nX zlt1l^LGHl2J1k5$qWH5g+G7UV+qye6dOKi(J3w`Cw3)BMb$QU(C*x24`pc>A!1Tl7 zAA3b1sPRYnH=DVUovkUO1t_gC${AXMHgnTIzZy{24>Zz?4t)PukAd7C_#h<>zg38b zCHe^uRZSR+_2QeRgS16@ZtA0YrL^{+jd*#OPr9ufP6yd6hwldk|1is*s7?`u)uOS+ zTVkpn1!$plhMvG579N26?IjPsM$d;ATz#EK*>8Q_;+ig=xpJ>kqu&G+;C5Gx#@fMd zcAU7aR@Qs0lA4s@aICd$D;E3E73FzN8*!L(2`skmcAhzH?&MZybp5OoX1`6;2>PM| z#gZs+G;$=tmcC`AKm8~WISe?Y;(n$k8|(*(mU}pG=lk6Yf3{dQ>QpGjkX7u>p%P?^ z`ADRUDgnhslzzCXKOMS96lQDAS>5*=Cp>LIDh5SFyAZiIRc1T|I@2CW4R)ZP>@PoF zDZ7jrLemBCLcI(5#o^6J)ph^C)EnOEAe`(BKZ~ zN7s(zL?=dG7?DJHoD|mL|7u<71H(LiL){NimoVb2oHPijR~eU|Lhn!QDf}v-iIC?m zu=7x;-B|hj{ z`G1%#cClb|{!<3c_=g-?(7;jH#PomLh$Sg$ff$k4JQpSwLZYJsq5%$!`6)KX16wAa zV7M4EM+o(4Cv8uPfMb>M&bxNR0&(vA+&B5ideUXYUt*Jo?hhvq@d^AI{a#)`p4}9L z2XVdhcphtw_Jg9hCU|Z&8O{&!7X5GNq#7HAL7ab2mJc>L(!)F4%JqEt;^&&*) z=6=A9I1LV;X=>F=hx$3dIIWcu8`h?z@8T$jwuff}fr@2ufe?v{J8{@Meyk51hlzu} zPeom2#CW@t3%-#`=#A7Ir+^w3W?|ax;8SUinoH}-zTVXKq zKP-!Ahb8t&Q1Bpu{j+i*fX>j(5nXNoS#9=@J}Kf?f!d`Mfh$dSbj>78pLs;wTh?E< zlIk_7b6I)lY|wQ%9jS{6%s6eT@9?V6fpcO()be~n*!qMbz2b&=Smv^p&7mP-J;)ly z=GvuxVxDdd_b}FxW0qVU%%aIFW7rEd2N~TAsE4Q?RNFKRc&{sVQDMHQAhpEzV&T+8 z18rjOv^Vm6H-trtu`MXuc-x(5OZ}x5z5lLPjXUoLL_zt-8?++D|0e(Zok0IjfECCH z{0~0mKM7WUh{^vGzf%|oYDR;uB_@y8xf(PZXa&|(AnQuX!nX4Kr<*JZQe}#hpHmBVHf#z} zX&bqk*wh1G|GjzGmezaEY2vZY z#PGtl$a-;}z>H{kZbFYF_#{(Snyj+Gi{EK@FfIt3iXUbB<$Y4n{F(G1odA`Nhg7^^ zJdw60vYT-4h_Qtc>1a)!PGOLWbbqItb_))JlS+xMP^efQzSa}6G!aD=>nius0H^%r zgTqHC`Oz+;s&~k8kLvHBCY_3v{DbIXhwtuR%B(`;yhjL7*3bi$S?d2^vHBA>_AjNv zznNoXGIp*e!gg-9{~5aqRUI`v5o}+I0_!E~0MX)xfn*XxR64i@%Op&C;-&fk5*TGE zHi9og>TS#8%j>a(eo=1_6Vu`yS3RR|0i{^J_=|j*w<;IEfFPAo+*WPhLFiSUMfw|eZ<4eeb{!u4HFp@i5cw=7 zZN-3UL02pdCsfmyW~&hohyfFE_@L2=N_FRzdy`&vf^-4el}7s;%m;3P(!OeWK^LUv}Ay{f|k=teeRHb z{h8D51hbu}fz?1X-~!#6leEkSXSh5$GubMXT*)%SUGT%~Oet{JUAGs;7-xb`A%2np zs-&2~ev-BHw9~>v1;;`KSh^JsB&oD)2BP*B5bjO;r1I8vpZ1VW-Rlg_Sk)V~S}bDF zS*drsAe24wcc%fFX@UQx5H%^gHqJl9G5&pDv3JFqqS;yE3$mOjcB^Z^u=K@ww7s z@vt^V2tJ(h1tZ+w;8sGbc!%=cs##=yHeyjIp>nGskC?!_b-1l{vFJO)-B5uj#VCTU z#&+kBZAyH7`lSH%QL0lfauz$&*RMi67Ik9u1*5xV-LR0!p7@283O~$=IxL-Ij%pD+ zI%mh=M&sEid`cmxlci(g(?)~~VVUWfNQllvi)lR$%=)qmZ2HpOG`|Gof7A3Bj8{Fr za#w5_PyfcoOU8g{QYqFb!+z!(v3B^IfF`&77xeH~$^^Hw&!{_*GhefgCqnkl7Kj(+ zc(j7XykY=YHj?)Yl#k+~p5It*RdEX+uHChr3!Ien0`@ya z=~7Ns#oB{NTa@2<6A@9p>Ir)zSc{Ncz9*dt#z*43LLKnuk8dnyiGRHw znsKXdipffEVeGzVnhNlg2qz%x{pN}!Hhjql$UqF}c0YIOd&rx2=JNF-656)rAmdyR z2-knw=ymd0g6m0$jwTh@l@s4FbG*g!)OZiac>#L7M1#F`$-Llj@M5+)Z#`1z4nS~b z6m&kqQc#zx!KffV<8kHFkpx+zPbQ9)z7Q1s;QR0fo7!N{WEf416{*A_BbRiA@&s)U zd;M2hF`D)-3rWx}!3NqT{s$2nsAl;$VNyjx$=<>ibV>QobKXBXPv{wtlGOXFjFl7= zuwfS==>ri_VKCQ$ATDH})kt#U!ebM6ock5@V}7LFq9&T%J-}|mtB!^7^$)TnK=5ZY z>^%a0Gl#Q7pL~a+X5pgnMBr!aF>D%k2P&Kuqr!ck#;nmjficpw+ktCAVU{?m*~4DR zr{YF<@Al9|Z))dwnDKtmYkAvw$s1{h6>CF!mysWC2~jhe6e;ix4Kpk#CVSmrv*9W2 zE`m6Pf!%Ca%L%x-+TnDPP69rtX2XITG*0|wfDU)m$-IxyD&Pdb8^85Fd&9fo7;6!( zhF9IU5&KBySN@x%E@|9csrAGuWjlASqpx49)o4pl7D~Vnc4XZ9fD2vuEp}1dD{R99 z)tEK4CN_rAQAc|yfkg)$cBD@ih=o6i2}*Tnai@jiF^PRqcCd(j2@Ta#Ql*}=T-Kid zQck}574VjWLL&e=KnVXoZVG?E{Xw2ApuPK_?ks;?D2rN{SR4NttHL-rsa<~Tf$SQ# z=~SDB1;4U35)x&&2?0Avl>R_@XCRGwP~#>AlZp z2OfSmV|#x9rn?wa3Dni?0ns98$S<(sVsOE4hlghI8E1U^5@t(xHqrYA*kEyZ^> zn6>36mu4}a?53b3QPnmGP_xpB(CX&N^?IR$O}aQI_a#C7KKt{Gc?le+A;G4Ny}Yzx z+^+C#{F?r|zWu}t$JtO3^BY#D=kk|X25af&RDt1sM$imta_+TXlkt-Hhi!XXDjQm# z?6CJwGL36pNX21$x#($hg97YU)uQhcfxid3Bc;L<=Fa6!OzEIM4}3_+dm6 znM9J(!>QhLtUnaOPmvW)b3s+B`1LGN76ya$!z!3cXvv7*lyH%LFO59z>yw_aHU?Sy z!M?X@QV`LS($Sh}aFz*D7SUztUBUE!!#5$1INj8(O#3OzbIkO_e5~(d9J?Rn6lVGM zmqr;XRtiB8Xf*&qtKskFRsXJ>Q;`sKadx(|{pWWYw<(J&fIjf^qcMG+I&%He(`6AR zjMMbSa%^!J49qdY$!m2b2b9@3vzAANZrp7i($qIg&xz_-|I?7RVRn$6!^Gv-+1u;G zGm^g@2TfNm!>CxY9Gw^4Ga({3KJ4C4t9%=+&t5P4qMzMRHlV-?E5CHdJk}5itCjK< zNVniUS-R(wj6aiouY2$$n>u;g&Tm(u2v3STkr-XoFMt*u&{W)~W(}zM)#^m3g_ouj zaN_VF@T%-sJjQ=-T`;~iC)3ou^s5|e-eXcdI*Xe4D{q{3Op*CQojk^p?iuGzg>37u zk$x~O3&em)YD(#By`vC^J?NA)zM-eHc=~(Hns7Hd@?>VIBoncm-^q*=_Iqd3V{D(( zFWOetf`#^u2Y=Opbtg!`)jvy?ZCM+ET}K4MFNnj{gW(P329t>Nm%yAR27xD{@~3B< zjkC*A4AG&D%qckpugoPObFB1vv1c%34~#I>S@x~?hNyI__LLUYIF6Qc)wt>z%$tuS zHY8MY4b8y0M&c@JA(9WGq)WRCXp8el{|3pLmxgaW3wUo3}(BE7cGLRAJMY=F6 zlEcY^B`ph;Ly9nAF%aa*L9>8_@iLy49Fz(8RP%f}yZZuzQuEMyr7TbSUo|Z|qUR@ha%R-nB-Js)mHVOR^={H6|%%u?JeP$;aCs; zVJ~VUHs{I;taFGo(6*WAxA4`hpxAMTnk*$Y(x2(74>*J%X{1bn&}2y|$DmcI&k(fq z+>Rgf5CV&eaGg#tS*89I>hUq3gh%cYw>`qO@Hw@MpW=|A5R?8#yEP|unemTbwT4(3 zbG4Z}62mS9yM?Bd%nRviqU(i_ZhboBj=k0AOS+m{#)j-4I-JOOPYw#ZHX_f5O7;sO zH6}FSL`oDLoKzhqXjUyR@kqm~`B$4Ks6OD1u4ZXr0x0pnE##?`h|EP zz`=FTVu$@`s+IR(i^^p4gJg8Wn%d4oy0i_~gH5GHdMr^}fiuI!X;ex(vLus&S(+r0-oWfdt>j5USj?V4YDlN+0;oXzxRL+!yy^1$TQEK$eEgh3_kyl zuxI-oVdx9C8a)J-A>33prf*pA?dCh=W9jBXZDA?b;UD1JEqB^D z;(lAU(TsXD)oZ8K(Kfzq++IqHbM$RSsaA)FelAG!=MyF^Rl9B18>go)jmUWttWLT( zbdPOoIwIOxOFCvCwTJ)?KvZBPHhF@G#o_ zOy1Fh*O0Q?QsYnZY@SgrnkjMXUEZiih}Qrq>=+?kH?Ukyl@4(ni^5y*s4%hNBlKRs|pX-Rl=0`GgNpzGnG~FGfW!gzNmyprm#Q0^9u$RC6P914m~@(?5!r zf9So1L5>VcCVy5lPXAWp7ph8m&5EM)NM>+wj07QnLw>SXl+65L?vc2IERLU(OTm90 zET(y+p2d+@yEmdJ!LD;hd3&mNg!zR*4@;+ZOYH76Gp>9o`gbXZ?ix_(;2tssit|1~?btfg87Hje+V53=WW_oV`2gx`jiTV6BtbaRA& z2s3o)denDCo7l~xG?y0np>pKA>QD4mYNd_+^eMs7Cx~VYlQU>;5bpl7gZC9e(4uyh}+RsC16@}}*%^oik4F9M}sl@Cg?i2_cuOVTFNr88u zAg%IPBtFC$Hh1h+uU|a#ksXQv`<*524g>*P%(d{MZ2DM~8_KdIEKO9=xh05_dI!Jy zHa;|{U*I-kl)q1# zbiD^XSTT-D>u{ZuXi?tXkHc0Hjk0IDZkRm9JgBpoXDSJVYbr4lsm9N4F(!Zu5$a8E z*zu&Gd4K^HokA}c_j|Sp-Q1Hrcjei?^h+rvNI`y2`Z6exwbz)|s9D~EIJ^Gf>KK?d zF?~EH;;clF?knM(5Kcy+>`gW{C|;6^X)2m3XD{1N_lt&gZ&RAST(pZ52Df#>nqL3&bpa6ZS%_ce8HBZTA2J5fZ*;dZ*ixEN*vOX zGq!e^rofoHnR&IcvM~P+Z{3CM;-IA%S$Djqqq&c^pZD8RHQhEv4OkUnkRK@KSP#8FJs4P#hZN4>aSxPhQH*28kX-)AWdBZJNeZJNoCrEk zhyg#pM`*L_AZbn5GzJiYxH6QfyP8obBrP{qcJNW7b-FL)50=O!e2h4&=xV{kMuO91 zi_PXAlN%X3066Gp4Kf9Z-Oo`pL0*;hwKl*y&CT@5$BJzuoZ_&91bKx9WX)gE4Wdzk zv~5bcl(ki0v<<8kPqE#{6NB-&Q)-&JA$4)A?1p=2iWieS+eje_3LRhsUsXN|IUSSN z!-O0d<}MU%C}WQ@3V-(M3AbXlV={h8BJLf2|7Kk5E(%KvEh+aB#Q^>bHS}6q;7A#9g-Lwz+l(_ zR5(v~e-g!yA*v$WNpWslvUTjSe#hVB2IOKfsC6UR|J@gtPx7L$VfH!mp8Pn}IS)5p1ga`S%V=o0g0*iJl9Fc;6H^tbji9*C7*jb7w8Qmma$f^}1B8LfsemLU&JVVDC?@qU}5!cKG+- z81NygT&!`{RF`$k76$L4Yhff{I-*Ow13baUX48JmLgo@8l{KtGS9{SoeX^jRLQD)*9spBGw_~N7L8!Ha z5qS!&O0E&KmQ*X!_4*5AV|)bFi5(P+Bhc@Es09AaocePDN?phip5195I~wQ{{>S-9+w%=%XR(vSl`Hzpb?_#YnN8T|cI zQTu0KGcVdMpIwnAP#J-1K-*)#r)QN6eeBDmWnb)eN6cwTX z=VI0z+KS9MpvJ+Y7!MACahs-~%7mjHgA{nnVIih+x14}E;UWGlgF4G3xZ|a z_tcC3u2Kg)kWg@(|E9@bD@Sp>e$WHRjfh#1%WzwVdJhhmJoGHVtIakIh z5q^G=EC@Jf8&qh85}-`aQR~()H56_p)DXeJ2uyfaB{6@|spQjg+(d5XW#N{8f_xrY zodt*RqRKPY8?43GekMIOkHAyS#eok0W;fJfnq1niNRg~ir~b+WBCF9=$F-zw{`co$ zlEIH62MUJ*D4Fs7-;>$DLt^qLc=*pDr~kkY|9QsDjH>~~1Q|GKBc3yrjERd0wUm=| z)$@VoB#>V)T%QV7k)7QkLduYo-J;)!NyTvMqdQgKG6H-e43gRA7d)VD_uH9Ss3m)likxY+#4) z6H;4ao_9^;CW6tdQkMx~m z#Q1Wx$M{2jvmPDmvUCVguG!t%%|6oXbw2S1Ci&A~)!b5jsoU`k`TzsqRJxlHwp4v_ z@E3yEUF8J$FHnrULGj}H|A>{6vm+?4{bws6Q~n=e@>wiG2u=p`>w@Ve9I(TlWi!7ty{Bw zpEkwEse>BdLXTk(U#H-fsY~s~sAi?dIbuV+D0R%SWy54a)J&|s7c!q0Ki~pVm5k*n zBP@zqmwTZmxo8&0Yn}Gxxmcg1e`0`H?s2V@Z^9o#^kbhS+K<2|?)C>f$9y%wHM#g! zL7qM$QPBq+)ojpGxDg96x_!9}7J7TS=0)U56NQJL*x;|?Jtn?mx?x1V$2X!hjSJS< zgu(QR<9vep%c_6u+;Ids{d`9Mdk3)pBvXk0gFE#P*w23p!YkCY+|WS%6xlT6c-9U` zDnks|##oBRS;qt^xS4pt2L3`w;Zc(`#N$L`3TcW46%>qMXdT|8Ujjt80zUFY5GjQW z4q*&B8w)dqenb1b3B!fM5JlbJGC)qM%bO49bq~B|zXpG9`XcFnwS~B%qIjLl*dEu| z$k-kC*bs03z9Yl!f0qickL&n>SQ|O^%3uHqvJQ;lDHc8lhWaB-_B=!ZxOxsV$j>Z=6KB$N)wVUx}fN5=StN#0#;##&j}2iIyoM)g!* zd<>%?DRqsbk--#Mk1a=2YZ=-yzvJ**QFQ`a=pb}!CE83yNMe}uBqLs-DE`++m3jDK zdDbKjE>X^va%<`1_&ihL5)Nv@af$>~9ONOOV{BN+tz*uI6x4hXsB_)L4oD&fI&$;u z@__~m$1Hr=;ep66<5QV+Dat&wCB~(prPh1acaavh9>XSA^rvdd{Yzp7aBi8#_DB}9 z%t$eLBVu(W)Ee1azE|#+4%8lsGZ?&$x~&pqoS)%MlgRp$h&l2~Yk3nBnQ^{TJY|F* zS0jtZnuYT*3-{{CRt%RKti|qNQLE9J)YzKPz#v2aLFpOoSFv zAUy%v$#)G@mO6x=!t?fjNjDdjmWT+^XnSeQ_o$`BA^>eBSn~Q7G8dSQxjl%6$wO2U zdYqHR+h-l)^Cs+h+w+*qLzq7I?>bVg8(< zyxW^@PM+WWRo#P>eGtD)Nci^Ia~ew+sqb^1J9nsUJ#-C@R^U-z(dRF}Ou<(m+tK?* zoALW-n|r1-DnFC=yU0XdN5~dYnZir39Z}t7q+(xekZ;X@)(sMGvS#`&7B9g`Onxi~ z*jw_}mc5xx$<5-GT7iaIQQ@j>Xu!bUrI{OQCIUl7RF&jn)EEbc7u>?bH$ z7zIeCQY#Zk*`yZC$9bv%KtL zG)34Wfy!=uFy+txaD|MvXjh8ko%oFi7rn0C9YV&N%TP_}BN-~xH;vxk+h|8#pe_B# z644KP}@%~h7gKI0YMU#cj6{khG9UE;~h6OVOKiu^{|0K)(Olz8M* z3BF<3SpGeC)~l2#!TCd239DH7n2w=!k4>*g(seUPVM1g;%zkb_-QLuDY+>ni%pHDm z3EL|Jhp6dp`5ZL6i}q!}Wg=2;DoV}b%+V0OwI;hE(oN}-IVz>gb{Y3@rbkH}4$*0a z)oVigom+)Kjt0voHn=+B;!Md~qwbRLzc;a__dQ>3kd7=9;qT|q{?APeWIJmM0*iXs zn~*X8S+C8j>bRl(F(ESU8h=g_qRHfqfkAFT1s57>QBj{OUQ@r6XqfA59dA)bzK-zx z@wUf_L)U#j1dAp`*E51p4&{1_0P79yJxFu&dqF@wo6Y%k&#klR{dc!4kAv6L_06}Z z-_-tSpPbM7Gzf@xGNKJK7HhzX8Vn$?Rsi8l(GgtDtdH2cj)@855QF3dP!xsRCY){> zmCwOO;k&SdD!>Ka)tVq*V6w4gJaL*!M4-WQ=y~Y0JuhQB46Po8@nNV|^+-ap+2|oI zHiBg1q(1!D=&M?j(FaH#LIUdMn}f)G_uTzd)&4I8D5-^?i&L}gK;Bi_j~I*B{e6NW z_}m*(G~C-@WZ=jH2}_(d;E(+ z*cjy$O^lB=R|Kd&=c*<9>JZmx-38L_Rug_8#p>_IO4RbDn*6}fQwDT z(uLE*)CWNVm2dLJhlNHG7euYU<<@nIZ>RVl+?BlIArcZ4a!8bCb1;} zplxj5f4nJ8sr$;J8*9E?y%+b0PG4v6oT>{PDZp-O+fp1Twm6qe{x!HgxWHhDKGsz2 zLtKrN$l7WY@8_d@lD0I+t9a%zn7bcmi zH1sn_ZSf_3&AItmo?7O^WkJ-QM&@ojTCEYYH&@j!hL&(^o-J`6%;b8kBN-HI8n0kt z$N5&2RE0-MviW|k5J$%txZmek!d&^lp0l7(&hi>n0?e*x8bs$mz?|h~4eyZCwk(Ok zX@C(NXJsR62uq2c%9@8Ak>nwrDs$a+aSm09N-XN>DCQ^RzaA-SId6T?Razi$C$K|q z!6zW2lPueHN3)BI6bcp{<}E2GC{-k(?pZNE_=qRN2ONkEqsW^CWQOvJ()J!jSI++I zV_reKDiI4cahDU+681hZw%XIGr*s#zI=0pcep{cpgy{@zls*z6a!2eLVd+V?Z*r%_~8-oqTe+%QD|Y#XfGp-jHwXg7Qnq zzgTwuMTb^5l z#r^;`u3|8(?nU?X#KtWG!Jh%0!p=<53HXoKLPpUK zzfq?xX~+Ee^y%b8^)evnFZJ@2&8_(7V@!>ej|T6qANL~sZfiw% zABT(*{$V9dIh0vD;7oE7*D$paDWx|oa_(PCB&>R81}Hc%KEF_<#a5|%>3{pnk)kyU z*A5GGh}Hq!bo`y%-@=X&M7OhZaWpaknS{Dn|6ALVsiY$Zx~S(N9ZH6bXb5l6TL_2c zb)Kz14#JHenCnYcBn^J}D9Qz4Is}k9nfz7Ki1hmLRYB&G?h~YLY5LgOcb11NmIvwk zhwSX1AKFE_#lYlzxO;EVzg+iJG;+7!R*%PW#7nM_2+`>kGxf!|C;^Nm6~i2tD&Um% z?+}S;$=A0saoK0i#q`&FlYD^dib8HdaFx{ck1%CW{_=5Ip(NwbbzQ_s)8)^$PdPM|)H2({0VU?oQB9z%yssl#X;) z!+9D4O4{1OW&{M{{``~fZUW(Ok32`Wb#A1jBpruRs9Hub$IGOdWUUg6?@c;0MHuxV z6?hCPd|L^umDV@p#xWZusng#KBlF5Z%H|DuOdb*kStxoLJ)64_1bFlEpot-zgYFbUY zt{5#7NYYqP12- zqPJrqF1Rt~?y~wkJ?sOuL}ImXZ%BREl_=Ts6ABv>d@FAmjec-8qCU;#lz$!EnxsXw zZ33P94?t~9kU7)`(0CT3se!Gdivh@4-X1irWnj$+>W?{t^k*jjL6V4H1r6^a1K)4W z7oB*rPhm>2poHz}(S>gZ@&X$^>lUsyh&F13wT0Uiss)0)<%Pl$DpboVTCrG$`B?NQ zmOVUtyrHUrB5*L$kN=Ea5WxIfsWRZ|BPgSGkB!bhTmfX9ASVm7ZX~ zZGTZKdQp#}Uj_qavXD86`EMEa{J=zieo#CT;`{BKz|8Lp;C7`FMrslm?94w*pCWZu zX7PkDLb&CyK-;$bh49~X9=>5KQy3`prJ(G>@He6Vr)KVtn+9=Z8EG{TUgkfSfWojW zDTrQ9Atm(b8Id$u>(eJaN4T9XivLB~I|f&xb#1#H+qP}nwr#6ptJAS<+vwOy$F^-d zouuRBti2z7@Ba34&U;doAE{NfDm5|Ym}B1eH4ym%Ss8bkF-lF4MHogd5pOjdfd2&b zi>`v^j}nUNIF(oEcRlL9zx{dw%?ls^GiB22fi>rw@JzE9v9Hifrwfs_Y8r~$l)_Fh z8qlbFTZ}nV&W-SrOm-B264gY}UhUMG$VidK8v7O}`ldV3PG?MCgSz~SdN#y9QWZbz z<9@o4S($)J#Y_{r5mg*tyg-U|a?Cy;hiZP!YILU_Js8$c<|DWjUDpNHz4lC^yOJ2I zlsdf9J|m-a$ZHo*>o|p4jeM44aWThjT$G4{i#bjuCDEu+BiJbKR(_iCIh~Skl|S0( z*2XiWPik(-e?!AfVg8fOxIY0SUSz9Z7)cD4DXF_d?AKLiFtOdQ{g+_avc?rQ)9g2% z+u<_CL1^atyUS$=^Wf9pl>4YygSyZ77gJ5Ir&Aq!U-061AOwK|YsBq3`n^Rn@=ubN zmk4Iu*ID>?hf=o*F^9tD9{~yO@*|@>=DEe3oP5_`)P8hX>KuQR!IuI1`R|07|D04a z4+nd|tN0&tE9BrH_UB*!7GkQ%*`okvR=!yZyH7%ZGMDZ$7@hQ{cu%lE(iTk~sa%rs z@MJS>!M47+b4&RfdZ{#FZ#F?N=5+~_5ZX-glD#?a-Ihn^>;7@7{g>uCr9oW$lsav( z-hFMXSWIa+G@4~oN;^I-Lr6eiXWsZ)so5ALN1W#4JvJ{Vr4_VnM01tj8Ne0`A zcZ&2$Xq*|522dRIk{zJna*??->+@o%h zAH6hyW|F6zrTmyIw+YcqKc z)Z6dweI{6KUUvbJtOp*dJ`}Q9Xz?AUK8rQ-wxkABeqiH%6HjfWKk|c^`;S!5Y_p2U z$4}g&8v6(woRmW>G}W2^su&JvFkIil~?8TF@vri|94_E2liaTHcp z)AzxzKZP^K2bk2#qtxu?aTHC-ZoJ$_GDImq=~uxv`rly*-u|+1Bx)zsU;vR|3y^30 z-RtB3y>I|FO#ol$pS1i*m2qViA;e2^4k+?oLQFJ+Fj`VWE*!Ty&9pwJc;InO+7&rF zY|PGdD3-(?iYFHO4a;O0fu7jV*EGXp}up zSoq0C#jvqR($mT6-(d19H^ zdCm72lyOh+5TPJ(>UOnC$HBg|RHk4qM-W@qDMrwFHL3|HMhT+OK#hFhT{%2*QVUuI zNuG_t9jI>K0m`r1V7Ip*0D45)`n;>#htk~j;ly&3=9?uuPMZBujaA9N`twqD^Ibo* z)+^W?GBQKHW&gQZE=B3=nWHcC)429XA%&SZyB)=E4KB6LMx4Dkm0I`s*?|76VWttB zjB?o!zJ`SLhtF`^Y+K>x7E>ePN0AKS3o9 zG<82=pW=IAb@!W46Ymsvo7kzoQsxNco(33^)QKWIDRt$j4;9iTjRZE?!)^I0R${$uZgklAU z1vnrpA<~nN_+E*TJQe~x(*N_6i6R6v+6Dw8I)EqT@BE9VfJbbGfA=K$w=ug~?H_bz zy8x}Q$nRnm1VLA&1wN_VNKjc3sh0t_6cPA=FS|>?y2&h$?w8g0xmCY0%NyX z0I~ymg;~jjgTb`#6rct7)KRXx{U@*kfStsR@3WGJyVr-WjR%4>z zP`;;CAIRdZTo=FqRD>b9`QT<;=+dIk_ia5PUcg0EKVm>R?TF4|2aVrYO83QEog6yJ$!wHR3fiN zdC5nDCfL?={j}GkslXocxB+ccDrR_6^6E?L>Ch7}c7u@I zHPt3oxLvgqI+I1zbTa#|k0q*W1)-v5m%h9P+wq0j5Bt-Ktcp+BI#K7sNw-WU-PSbp zR-X;XXLyI3l|hQMy}eX ztH!TSt2<&O5vro-k?Di@!AzZ-un#$B&{?JJUiszWY#O`DW_eduM_Ku^_Oh(^3folk zw*Y+B*H9tB1I~9-C33#p@e{VovVQ8e0$jS(iHaDr8~2n?X~Zh#Xbj8aSz1eejaQUC z1Z`BtL@c0GMw!A)Y(sbqs~qEZCL;m?(sSV4#Sd|#OUOYEuJ4)XhD2<{tzhGZ(7Aie zn+Bs7HFKSoml1b6c$s>IQY%o)r+)2%A)QhZ=8hyLbvbpEi(!4DIepnk&}6i`4YEO> z{(a1Ysmhk-)a??S?qPH4myqx%RNBO5=WqPDFKj&M3q(R1wbC8a!}8sEn{+tBW`bAR z;&#Z!`03Zw*6G(Bl$zU#2OVxdw@g#&*TAcHLx@L)93e(x?gmHo(+l+YRI-!ix!HB4$gX6)6z>@`Hawwuwsy= z2~|lsX})3?W#T2K#BY)*`2qcx*ae(k7{BiV(!32FX{^;deG^%CQ#{i-ToZpX&^*Gt z%_jD&p=esw`>1O=G@Ts-^Pfb;#(2%rZqHs}r__B&v5s`86E2ljQrjtBfT$v?S1@|J zXU2}&PSV_|jaDq59Y?k!Bx6Mf1{H5fj6h>UnfIneiCgw46S|cg@6(K?Mh2qLLY(dr z8A93Rb*ortpR}P#DCpRJYw^6l&Zr9PO(yO;{ z^7*+=8}eGNW&w`|53+SaAr7<6OHnLvSQ8WZwyqqKtP(ZKGMIh&TfbDw_f;ZLqqGta zOU%rYF2;abX=nNi=&& z(O~gf+9#(#|tGO+cSeUJ6o%q>~YbA&n3PLy)(Qh&0i# z3IO%%LGgjUL53pzQbf7hG_bfeZ{rvpyDK)SyN}Z+Sw`AaJPBpDb5(qy5i_ul&n^Ep*t2+l#8<0 z&n6KWN_43#$`hOtZTkgFvTUlYGq*ZMxd^@<7E*meg#fiJQ%zXIt>y%_h09C+{DCvk zgk8Z@EQFz!W{?lsEU#Lrpzptx1+~T*M-uJQVW&4|uw6G5wF72u-ja`+T+`#5aH>?T zL@=Si4Kd+RFA(2Rk$n&fbEHlcc<1}sEL6iXDw=+dF6OBfV$bRum^{7xFpinZGnjE) zV^CP23rW4CwJhej(EEz@YrjOO%qfnD06g$X-P@osR(>zrnw8bUr$~iCWuiEeEYrTn zXe<~CH}XfiuHc-^JM=6(P81d_CKpvYBIDHa;x-0JUy7yL{`%*nl#5+gLc%A8hSs@Z zh@Qff+Y4q|{!Ae@u6ND!w-aY^XS*HcUh4(wwfd>g@2{PH*I;&JCIaw`vO$5U_tX%( z5j1>g8qc}?O1frg5gxq`52c-+=)FVL%o=`EnZgRf^uYb2Td{~C?;p}kun=A1Cs?dl zrv?fUhNp_}_M?Q;Je8)!JZ68+uc~XMQxMhITM+uy@B1+s5NR$z&zA7V zqk1shr$Q7wc?^h+0g?2LivjY8_qr$v1no0GzEG)pr5d~^p4eP7bk&tPOKb|~+*Vwq zb}OWI?WFvO%2C&#sRQBU3E$AoGR4Mb?=(m7VOGt0C3w+G~0Hmg~0>aHkdOWR; z6D4jDi*t*+@7Cee_Q&(E01#)`HrWkf%?Kk3Bjy~eD0v+(vd(L|g zo>Zv6jhvpS7@wR zqfHv@Wykhz1XYJL&%8;3+&B6GgG_AV7H`aMDmR{1HiZs5Y?3gO)8tz1BIGPv2hUD& zh1Ng}sH0S9$*VP}R)1Y;)R0T2Fk43^Uywx_lUtw53hoICswJ$XTT#;pP(4aKa!!Y6 z*Q=P)=DM>wgO+pDaJ%60!#e&tQKM}Nr66ao`V97)Y*Ms|8Sm}3_Y;}aCe-)Z*r!)twg=%G5 zJ0iLuRk{zP_z1n^N_~n8)VXs_iGZgzjkmvP{Tw?I7!kRR`iX@1TI1x%!hG^?KcJ`HYSp(cZoYB+axa7ue~bX_#15cE_7E zHAO9>y+PVbhRKJGso$8qiS{ZuW>nio4PnIu;YGI(+giABXJ_hzEA>t@((NBZ+wEXL ze+%azBNh01MEQiarOX&!5M@B~1oy3Srv!4aD;kKyVw{Yv%h0N!B*&YW#)ZZMGZu2F z1#9-OlkbXiEx^DS#NFzUSO{8su*}tI_fZG=_Z!Eif$*o^$Z!SPa*ke!+-9)4;aGRG z?8YMZdT<99RR8Cz>ueI1jk>OiIy(k>B6<2~7`I&|<^ztUjuY42d)ItM@g$(L%`MMz z?dEjNupD$)<|}^l6xLnVZ}Q9^(J35K8Zg4s^*3tS)x4_((`oHD&4$w)obpm#pXEIY z*v0i_5p?Z6y_`t8z#sXs8~LW^ug=typQ_~9SN6WHAx*~dTFGAr*W3MvTqmhsqzjG5 zI$m><<+3o020Lz_{rkd#Enqe7_htPW1XDUo&c#>t3XKe`g)QiCJ%2KhIEjb*h%=d> z!P$u==!+H*GnE@JkF9rzh0lv@497M@5bYB26Dj@LvM428W7{UtEypE`nO&fhw0B1C zE8L5mU*GU2@uA@dirK>)hKyNGD|Y-AN8b8qZVi?1quCvNLrjbpmVF`krh2c(MR1il zA@M>HTKFKgec(X*f{*;{aIe=*Z1F38Bwd$(t`$2)sxAigT4*#hwU&ST+ceJ#Vpni< zk?cEurc*#aPcmnsQ`@eGdneBl-en3;Z5v4T^$tnDZTVI6Z@S16`FJy%SN5qCz72(+ z-yxp5x?nPEak5Va-%m&grFeT0jPXEPLx{F?sP%{S*#Qk{u@l2!VnJBhce%xx#Cf@I zsR1#9>QIa~#F4mU4=ZbjRy^D@OEhH1pfE?pBTHGo-`vy@+jhVO*dpNj1spK4&2|1b zhlbdJqKK%mKOFLua`$u>#SVP2x-&e7L&#ayMHtZWb{o#F2i2P;!tUBP93Il<2N2^e zXPn0n2M8Vta0qnAZP%~p`|reve32eI;0L{87wzZ?c5mlDK>T{I&QFjnka8R^@LB^m zBTrCPLir*?YGbYoR|ILAS#sS_`cdn6L^tqvKa`Bwy?}THR+E)&tm+tC?pyoSwrf4w(I7#XAX})mhdBr^eG79F z5FZbw(Cc37IpZ8wFw9W*V-Ab`S?H*KV_a;{OK)d#iteEVkfj9l1UV9i!ff>=Y#_Vj4S9AS_ANJD> zUmRcuNkxrh0&U@-LHE??TMbAQ>6<3$@su}<`)2K{=o@?i@47d9^tgo^#E6yS@Fa0e zZHCK2)5iLV+Vsp?Dr*b2O0ks>Nm0*_K7x71YxSkuO1ogHCymn&@Hh?XRalw@_lcmP4jM3;$pJsj3k%S_HiSs>@?Oz#T(*ictb!F@l?{W{XqunMNJk9tIf zkgNl3Tr0X`I_n69`_4ghAq+a5-VV8S5_`^BgIOQ3{QEaT&UaqosDO}bQs^(rl+yjo z1=-=S$eR9$)rQGIlyH@0Q-o8Y9ZA-gB26(Bw0n>TH|cqBE3iMG-T&uoRto503IeLE zMS%8YhX2dl=^sR$|4wQ7H@W3c<+QSy9pKXSuX=tHpwStw7~;1OZ!OIf3?joI(gH)? zt5#akLM3BaPEIaP$XySls67Xco}R6%#VdWuUkYzv-=eAflhmKt)Si`6_?#h#zNctP zqVa6<@oi4?Z}NHn_yZpJV1Gsb~2zLci(EWhuqEX@B`^lE{e#6IK;7uWj2Vm zTj{LGKTEqb$#YE&n1Tj z<=@?lX!<)~+XjL~C*bIrL|I5#8V`$U%qsz~JqQtrEgIy-EJ%tjyQm6x;}d@9Qmsr3 zJE^Atk7lPDnzyL_K*6}}!pI&j2RCNoqBdckNPkTaZKAKV!#5YkXDO?z8v}gWK`i-~9zP@YfS=&t)v3qi6P0yjpa<@6d zA0dc4(5G!ipN$sY%to#@sUn0Wi-j5_QcsEGTL~Mj!#mtg@b>Hfy zg|qKZTZ1Or>Xznen}QBPgRXv?Eqyc6ho;MR(-llmYrZSt5R$Y1hPrTfvjj<7RcM(H z(FHDz4$6*MlP#(VS8ReIoC_~6Q-KHjReL3XwRW=h<&%wDX6e!i zJ|3^F@d@{M{9F@04vNI)`)q`Z`^kE|pLd{eBPj8NSNF<&SA`78OgiUjA+THGa?$a) zMGlVBakog`xR+NUly9J07Cx^q5r`VPn8YNa%namw7+h|ugmLMfS_S;#$$-rAv8K_8 zuHftJj>}vqcGw)LOFj!ItdZMt4~!ms%W}nn{#J4?xAgy>YMhneO=zF=3C(7%a)Fz$DJpq za3B$8Cyr)^pij&qK~1ornhS_zmjVccB>RULi`C~K?X16B`3MVC5^J}MDXYrlBAGDJ z`N}Kfwn)Vg&Dn^a&R}E>hdYr+VSswZ??}{7Zj#q?$AqM8G?dEkGg2@xP2-{{l!z zIN7^8{NoTxPW-dGa)?DDD>+dkt5r6>rFM+mTm)JGjA(%*E@%a6lO$Bv=;9EYQKbu> z?NYHXZ4I?!FUXBz*lLqbn3l{yiurIu!?plRv){+d2gnzF!3Icp-i4!h_Sh!Rg2@^X zR|ss-U$*qEXNV5xfmc*K7A_M5VZW0Oj2EnNQAWDpkG>JZMY1N#z++K~!cfc4q0GcV`*YZeF)=R|{kt%$#bd=0oTc${vHoY<=Zo;R3CA z5E@%WTLhgMw8C!3qgyu%2;kh&m``) zQixHyUVGR0%sCgm7SxaZ7SwPo!s76H5ZOhTl=GRBIc-ILSYDF4gO1u*ZnXVq^y{&i+ad=s5(?h`Nw2;{ZPsm1^x@x3iBLW<-M@77fi8D z`P?E`af^K?-kbFO%g$f=Zk#pa34j9J=2@3U?3Cy9-su$rAOKI1$lEpOy!Xby z40q%#_QL!>w*Iu78RZ)co1r}aN@yieyNHaMN_G#IU3;78{O4yY^ zS(#ULmq(QUc6Z8PnIF$ecoy|idHiXr$)7>C%d1j@h%ometxbd>K5;)cQC$|LIF*tR z>gnjmr@nRgT;1p;Xj!htXk@?X3^}@@rhiJKV&VGvqG02TL&Oec@d-z9j}vJ?bxg~4 z-oz=|W1z{fH|eiSauqTG;UhjwVV|cV4rE*-)$gX6Y8*NH5erS%Efm;1YiEARnlts6 zk%fA_Lj?gOA9sKz5r3x-_`8t>s06G`{xhsiYTJN@g@_;Y>Q$PQwuvQju&lO3a39Gd zQrWz71{t%&5EU=yT`3i4Bu>CnjoHhHV z4zRx`Hm|IH+CSPo{?`9^f8+SVjeSmenNIMs5C(CuM0zd$5@|a0J(O)xpzjvvz_vaPMmEb$z2^?G?5-=p*?yIv?vb z2fgYr@iT{Mh0sy_Q3P;RcY*!wNZ=219M^VsX9=X2zvs9<*LI$Ma3Z@~i!IU)K>&*) z5n4alwQ1b{aN(7nFmj`3uuEVh(`l!yx3ZMp%&J%{oWTRasLppk&bUN}U9ntmq1xST zfAL&Qw$C5<=x5uG@@ZXb@P<+B)E*g(Li6F0WvohFaxQPypcP_VFl>_wo3#XMBSGU0 z-}09AEt79Ad%T(I?s9C>jcmDw_DOoxjuXu}II_l}=Fmxf|~A7YXnWJe7Ra( zOi={Y2I2maP!*?m_Dow2I~&?Plh7wrQ+0DzBnirRtZGtSzA=gpbF-RH#4vTv4hzx* zX}_$(6(+fYyozDmHQh%Hd-a1yTiLqjMrC@NtM`vO_Z6jKWIboP)T=5~_6N9-Lwy?w zKQ=kfTlIV0?_LsKJ}Hic+LvyLnC2*58$1Qru5v#vzXmLE<(#ZRjrhD2o$%?;t8*+z zG@ESg<9B7F&Hs`;K5>cN)-O;QeI+sWK<|zYrx>L><>nhFLHudN=m=q%MJQL8KFgcN z-P5B$3QH(&vS6Tk!yRpH_?_d1d{Q>a26Bo-`1kiL=>~FQ0kGN%HF@AxJ^ zg}-GJZJC!ZQ5LsA%swZLY= z29WGHM#g!HN>6gd(OFu9wYX8?z~)3dWl-PA`s5O`Nr|n*^sUA8p-C{5fu**+m_>`; zvcWq)>H^u#mDuDeFvsi(DBZsm2<0Z0@-VbBb4O5 z0rEjL?sU|N^N6U@o1U2Bvf$YKrj7((i;CIgxdS77A-nwUJ0(7Kb-ioI z>uwZoHNHrjiScOdikdb*L2PreFG+JKYPq`{X$YT@+7(8xlRmr1jjD|mk4St;!iIOl zDTn=>1}*6l>702k4@mwisS@;E{oAtnSCVJZ!wMO{!WutB0x-1B^1^(nu*<_q12+D| zY!L+Ks-eS-j-HN64>tF3bRh5#K7s`X8xi?X5WDC6BeSo4Mz>#QH&74O1xFri2b<-x zVXV+%qVyVl;IG@!IDhA2lis{T8M3Q-DN5PzM$*#j%Sa_6tjxy-1ttUsQN6_kr%(j> z%vjVhDx)S$iQ#(+YrMbW*-`MV%;I_Bu7g=@80&o-Jt|GOv|C}})i*KbuY*3kmh=%@ z^?v<8IDucAh&znN$a*!&B2iEx14slSN7^^d;+}6)9f@hD4+v_a{iguvSu_6A-Rtgo z-eM?tRZQKg2YB%8&)8#Jq3~`_gDCbv6!q{2Xn4ib&M)32B3RZzi^5g?;6~1?f>lDU z&SF-|biL~S>oe46QxyNRU=d_P&;|>b2mwIe!2AC(8GnqrF+f%LA7Q{Bi32GUDeFIr zPb!zz0D%BsqFlY(W(HaX~DR zCYawJgmMoH6K$Asf%@9Vtu}(=oHmxb^T*iSFW4)Zf-ac6WBNInpvU+RsRtV7|u`! zd?6#`PPm8Wz1DGPkoan?ti3E>K9pTc1FyN|;LYgR>Z|h@0*` zppjkpi%_gz?m)c^u;tSLr^w%BrvJC?>`(9XpRTiiF0N!{JsF%o7S}+P)V#HE!IHJ_ zZ7-$^EO=0fbeSr3QL%dX6Q^CtXwu}@tZcM5jTchY8;E;}g5igd3Jujz^%8v)W-eCiPSL6gMLT!dXRJ<>!yr^`n-Pq#` zkz%@Gt9fx5W#_ix&74tTY@!EU-9X&%M4*|%X1k+_FB=@SfTnMF$*Fe0O5(@{SjYUz z>Y>ii)8~ia>NOtAws?iqh^R9VCI+6Utx-{0$h6VM#NcPs2P#QF{-QjMJ%h24280$S z0LP2;Z^Fx;eTV%&yV5tpx@^SSDBLKt zLBdsXCIKxe3ajk-Y^Rn~O_s)mg@r~cVKljjiJ6k(;?ffHkln71#M)(>uS0-$gU7AM zOYiMOCVEQQ;R%2M&B~KiBq~GJ1Z4~0777$Z{EEa& zS__o{3hys7L+p_R%mBt8XnHkeeTpAw@=W)UX7TlEfko^Ts`Oi6??}P=@J$x`ew!8j-@`QI+0}x-H(CsX0bWD;Pvwj6xLV_ zlzJkE*IS=KTXXA;Ti`2G4;fQnste9QG$N+(q#NhSl&>t9nH!l03%+yp%}i_}Phc8D zbt7ZO8~s;Kyi$afqdT4QQpY{t31ViT?F4phm8n6SCk-2sM<}U}RXKvbGNvtt;d^D~ zsiUl)s3|m4wo#Dm8s!cRa-sxEQ?@B#n~(ppRu>DIeWJ@TmR||KYU#P#_^$p^hYc>` zDsx0vDnF+!ld81rh3c?wP{UIbx|zYFYV~qOTF#TYzfIHH1t}JpByBv77Nh^|&da%&9c?`k zgyV(!=A>Qez=UM5t$~B6U+`KXd`wR3Xq9Aj@B(15b-&6aVCiwMc8nNcJ8dl`O+QYi z@EM#49&ztQyNEPA)fg%i)}wSUN~}>gdnz?$0&1S)x8%AdWl@HVh`|(OTfZcd7eSRk znL}=cMw06ix58@3`d}i}%-(ZHn?oHz+V#kx@CWFSn;OjqkwLe~0q6GCL*@2IKpFI; zk|#kfec3K)_HObmFs8bCw^ho?E@xRv9KZnx-L)!`KAF!^B58eqZ>dV;Spr387CE6D|U zC4=?Ea3s`a-PH{<`qBw;eCr;jyD4%dxUCY*TNlY2%!SBRP4-xMP^tZ^F(pfJl#9+& zTt>d)0FDkzAv%QjMwUomMQm!|Kt|h1nhfT0%0t@Z7q9rEl8aY6NFen(%qm4eSejg6 zrO{pJN#40jh-&ur@&#=|bUtBfx?z-Cf2UW{z$ZQ)7RLu0P&fBZI9EKMvzRf4xCNIXtR`Pt-knNvG zDMb`oaNo2`f10Egs_;qN@kv|@0%5s3X7wbip$=;p9ABnsFXz5yr5pR0OM7LbR7@E_ zoa}t&@Nt*&I4GAVlReI^_CSyB{^)!1{`^aIbDM%YLlIEfyaec42>)9wl2Z709Ew)g zaYq$H{NPU2bHi&3L8J!;?jsihZ=+239w+ERh75^lw?*CnAVs*FXQ#`BMLg2@^$_I6 zdc|~0#vtVER}Nd``aY@=9BMAItZtr8h$c8&S5#JZS6sccd;57m-7$QL+5Lv3qeLZa zToR@=QRkq!VRVZgNgas|(*lX$y0m4!+W;8>Icvx?ZR~IBuBBso3m@se`Wrven|5n@ zKaiInbp(#51|SuMNXCv>>3jwZ_) z*dK4dS%bxbcG+ID#%d9-0f}3!f!DDYDs*H#Rb4FaC+oN2jFyRt!>J4n;cZ8Y&=-=# z{dBXIEyz*oYV6R3YKNG_nlMDoeVOHo(aM~j8fBJm6Xj$12W6irf?Jj99)z{*Tv94E zx?v?=Uw?FuSSz|sbA62LktM$iO7~L9i4&h4JP1ge^kLH>+||8r##HuZV<-C zT54sT_>GhIO!c%#sbe09Qn@D9Tib-5I_UaOVtIF(hiuT#$wRxWZ*|^tmG*f zYkv^i|H@zdmFQT2)LfO-v~I*vkWy+6>NW3M{!JN8%o#oiiPpt@Y z;8I3Y^g@=JS<+K`N#>f}15sHq+2OXUeH!br?Ht>K zLr2H!2V}sI8*6*vr#y4y^Cd^n6d4>pdb-Wd**Gj0&T|OH#ysu7nu;fFQ>Bj@NJ^n5 z%$k!ZYHriE+Ez@|+vi#;j>(h8+~ zbO1ijs|ac;l`5o&zNdf52$B|+7r9(gnnpR(1b&cg=qs$~BR#9bY>JY9f%pXy2$32$ zZ^WSTR1~m@*S5=r5RctI#M~*dt0M-@5K)8)!6Uyj^<|it)*J0}6GVruH5VQ*99ZWtGlB7m;hSOJ3snmTDo^C`ehpX$LN7VFk<6fOty%f=~WsiF~(cus;^n%zUMIPJ z@=c^0{PcSRbqGkrbz*cb%b%JvY#VmUJ&YSP_KfRQ0v`rGr5IECNbd>I>Ohp_$NAX; zrrthQXCN=mx9&^lE#mZR)6oE)p{VkSk2&!}&=WY>&X2dAUvfBGayVgmEaS=AlJ9}{ z@R=dWPdc|wK>i@kNyWTD%UkBW$wfi}xBzQ#xO3V1HpdbQH*J&VSxQ^vR9E|lmxkN6 zK(;Fp7jp= z6?D?4-yU$Kmk97+?NAeMZYc)Y&wOqKHQKqZT?6!hS3&lcuaJvo6yb@Epfpo|9;R=D3gJ zhgQS6cn*AzIv81szF^@w|DKL>tHXc~znaO~yU?h9YEz%E5N_d{;C}iG3O)Zr-hm%* z&HM%UCH`+GJfMp4A0NGM+@v(1*JkkaJw=^WW0Q5Y03>}-GYrVySOm^sbUuBBUTfx1 zoxBtUvz!mT9u>XM7Xs-{7Ak1ysXhIxw&Q)>qy4)}ydENUzNFeSBRDyXb9!yqsXA3= zJ|oIz9+8kaD<>LE>wMLMTsaA0gIgt8X%bmte1x_X^PI@yd;KX)w?4{raChC)sLJmG zBZM+$xLLQVx+9IlirK~56}SFMn7`L{g9LsN9$DkUUX-}ck2cxIl@TkEKgFi^&J#~I zo>@3f^w>#alBUNDw6R(|-yQghyioQ#*6sEW6Zil2D`j5r>!X)IL5g3f4}u>OhMIJ~ zW)ot$D3JWL(g&ItP;|9|E@L@6ynv!ip(7 zT0%!vnGO~n7W<>gsL!{qZlD`{IS8@^yv_j{U)xm=+kH3@PXke5JVwoE^Vob3Og}hG zb#7wl?xOy0gbE%4q~nG17k9P8#WU9vnyTBPeTvslw=+EZ@v@!=xA8a1WWv`6!<0{? z3;4x%A~~c4g`&432r<)`ZrIt*AKBhSvEW2`<)HmO4;9BcWDgKLBCbdTl@Ue7jbh{ zxG^8g8kIBwL8^d4xSuQGHts0RAmgeB$-UCdgSYhhh^kq!=u^QDJc+~nF-R+e_dZ~5uCAcr`t5~8%y3=<= zv^iW=x$ZU4Ks0W~HEO(!&m{ZHsTT2W*Tg!-{14b+Y%{-rQZ1COXWpv1)7_k5a4~!2 z&==HL3y++|HAdbmn^|JHCXB!4|e`OtPAmGl~S_ z#}YUePrsRS`YWR-JE-HqKn#jhN^h;CC^GpD>6Etq0okvb25l}!`VqXV*Qr|w4@ozI zy)lt*g8FxU%BT2H)uap+1*(hhRwbn!KXa~D{XSmL?Y}VWx4>TvKf~+xEYo%y-O@!~ zYx+#@L7)rNKb2<>47y#II0B_&>KVJF&zgyAVCosUB+sgeFJtPNxMa_|igRFY8oDIT z%89pNZW_B}&f1E*V{RI`q|WMzKVoj0xa7|IiX&k18Q#auiipQz@)_T!&F-_mZG;%0 zx{$}@j^yAg491Y}t=?L4-dphdX;soodw9f5p})OrKC0pVA)p z5TZdJt>rU0kej4hZ4X$4fdzj7f30+6S-qG1>P8I>O|?vT(b0pr97k8GJg;gS~Vvs^jHp8S#Al} zv`gLeOB}_zA56x?S`Q7nJSiiL+*iY*g3PadvFLzlocbi=RD=2(X~u8gLA0;;%Z0ZW z0Wi8M%f2cZ)rYvA!TCV_tXV=})w^3tV3B)Eq-^I-i;NGZR$js_4cKTwt>xlXxtxkhbDXOnmzjO2oV0AV9!7%CshNZ%^D7@=LLVy2qOdZ3qvPKt)A?j5w-<6%;S}%=wkH47wSukz-e*j~XYaW1=7(&YSqf+)E zr5#2q+?4lNJn8Oyfrox!?IynA-a_OI`sNSRNyQk}0=gxxN*L1GgNO{=&q?b5N&+n5 zC@VPV=ufH)OmPzhh>D-RvDm(A%qLYEu_8{; z{C-b%EzEH&SC**~8lVByvcvYGKzqQA6ra&5Dd$o|F0PD1RUV$YAS!2VOu>efl)))2 z$68EYqKu+d9{yuNRLj~}u07DHAd~PJ|2;BJU6SGI6=jTodGS#y@}Pe+2JXhS){ab)YLA?+T%RTVzEXZH0$&`=CrNCX)@+Pm6~L1+XTJr}PNr@FCz zYYZFSD%ZLxk(S5@eD>Cr6Qjh)N&M#4l{2Hv$V+^;)|1=X`9XRFhIUBr6W7^eqn1cM ze0`_7Wsx8Y+4yqu)4DGyN@FyXi}EkkecbJJlce6Y_`WNWv18`OKa+DJF7IjYXHaS* zr-H2-UoFEPXGE`xovsVv`2_WUCYe2*`Tggy2Te~(0T5)r08;KhfBw#|{nZ|TgfTNP zvolarp?7csI6<9UtjwH2{*OY+|BtV+HZqV_{4ZaF4)|}Th816*0NK9^pmB{L;D7o% zJdK@^t(mifk%<|Dilv#Ei@S(~dAO7OmTbd6VW$NS|wSB2}3+hvBIz?>mJ_AN#HV0j#+`%f{6F(nNV zwcsp}?;Y4<2t)Qf5Uwd0qmbC5hT{9Vny}{`^s#hj9GLvc0WAY|5<k z(AHEeE`rwVwud0>fiC~p6$ud}8lOpJ$x=QdZ!t?=$I@qK0dHYuX9$;0$01fpL+-o({g-}$Tnd)kvah6)TaixguPssWiK0)&S?2L# zZeI`qM-!|#qW3W-q+@bU{HE@P0XZHP(E$YRDcE!{nv%iVpEdN(T1ZZGo?MCM zcJa3*0pro>&Yc&~qbhCNwr$(CZD*x3>&EWhw@>$e`<;948}CO%j1fN<=A3KJ4=Tfju%^Q5 zQ2y-(3d83s<%VpJ^cQbWAx>Tq*jT)?y#l5ijbB$eVPZUe)3L%hi}VyuIExta`voQZ zEBgi1hiOJoFB-F|#Qk{EE4eCuj$E2$APko!U355d$+n_!mZdD(X$}{+^w)TkjDxDC zx!BiOXe2NNRVH6{l&~*Vq*Nr6*4|?BF5d=1y;nui-J%Lj|ETr~0){2RODSoI!@i>I zw~nL?f--ryXaty?>X1Z*aVgP*>(=UEI<-Xu)7~=3J43z;pDBOA+TxDne#yNOFI=Yb z1Uvp4y=f?G`u-X)}GJvDM(Ees3T2DS{V17U&c&>=%-7nP;At$ew#Jk zZlHdw)l}$*?R{G43GY)Glo3(RYtM<&3I9fDqui>2V}-!KA7e1S0^^B#HS}SgTKILD zLY_;qa{gyR+Jt6-Zl~pVHbJ)z}8S7S!-q5Vf^#-fQq2gvK zns_+^P#IBNL1q>sGgDfBW^^y!4B=02W>M~4IH#GCH?Wm!>*!rroDyrBd**{X0-z_J zn8eO@GwzTC+fkpKXkT&(^!6;mXQIA~&)i@Lnr}Eg0P5RjH6up-}J z5{H$ng=E+Gq~uB;+KmRnQ+AF!qGmPEP}5P8djsXAOWJX*;n&eGR|JpJ0h@1cnniFJ z4{+>$CRppav+;TPi4dz2!PY`#u?r&m1P?jb-t2zz9iiB6;W|)a1gHJyv|B^2?4e=> znmy*xJKXY2(%Z`BYo)s=EXTBW2=Y#g;;Q8~IFBLP1sS-x%#C}dcbgInm%~p1b_tB@ z5?#@Vf*8Z2b-=SLj?9*B$Fdhoc7pv9k2qgnb%|G*8u*C%$pba$g5Vs=eL_Vph(%p^ z1b2F&&8s7(!2c`8{}EL?_jDEC0k5zvz$=X6Z=&j-S}%6`rp9z~fUkem z){zR5w)6ae+FHW!tj(GnK?Bb_1}#p>fUdK#3`Cscr*BA(!-;u3?I~;2@|soH82%m< z86HvyHc~ev!H^5kcgloU`uz`+qx9qHZQZV~D*}`L;puobyG`MX92NSTgF)e3v|})V zJg5}y(=p{r@ECW|53vAFv=VVPtOt#`PMC`Lh(gXfAvc03$u&Vr^KjX84QhjPbT?Wo zW=Kf58bEBpnmSrU><%oHZ0w4$!nwdYL@lkTK}95!|CjaV$rhD$8+_vxBX^aNQqWUC z*fTa`!$^ zF(OIxj{ADIg^#I#>#c{p$57iYbCLEpr2&e_aA~mWQt%?0bIROb!NBd=HE%5e>gbxh zS9^HBTu9nOU7AT$wAGUFfciv1-cCe+C1#p9(B z*X=T@$u!UJSX$-y7(`QXIsJNdIS0g3`YZgtHheEQHAZp7JRbIQ5f4(AL@U7y++uYx ze&II~uc^RCwfr7QGkf&UH11pls+QS1AnSZPhh2nEaD$h^KSZ~BT_-xoqP@n>3b)1w z8siv~>&&!<6w>rTRqYa6s$uI*#6v%;ibL+9MbO86CDBBi3f8cH{9Ati;|L}A&ItUW zF_i!yvHYD$`JYGVzsyR6{;*+EHFq-m10nKfG6n!i=S2~=Boi>W2>GEXQ07?q`B_Q) z;+hb!=XaO~LhtjPu{h`FQtQ2H=|&EM$^nPfMga^KO&PUa2j5c6xl!+~ zx%R!myU@CLbhhijmpt}KCosTttwrF-0a?eBwM92UAmsa`3v{M9mK0Ne_#}@k2$ofQU9ii*_x<8}TJj zl_CvzzV-pe>7 zEof9&>8j^u@^_uUt9myZobe}H1zyuzC0AD03vhw?wPQ~4K@rfuk`P*GlM+8(n6;f6 zZ_e`Y9IKy-2_J#Jm&Fr;xq31JNw1r_YF2&Bs|3E|(@P37wXazJ3dETBfiU>ZyTZuH z4h))T>|#&!bU6WiF?GmIH=_3ve%~&p$gXO79L1355DsyTnJ&CS3h}ehW)^zA($#y3g$%Dk4<~(+r(^XQuN2iI}r;5RMpJ$ zsJ;TWz|O<_P%1bawz7DU@N(T>Tw{oqj7rQmZ*}5w$VIzxkjr{Y0oXU8kd8N{kkCd~ zz23;wBWW@I;H1=k)_tT(7${Tusl9u@-!P5res_kGXj(7pl!9v5i;*#!+A)EhSx0Sz zrqo$3BjQ3|Gr(K7Fu;?3vdox5Vf=!-H1?{yP2YVIz5-dfK8ff>ZHU*up`6HJ$p?9c z$o}em;SQrSbipt-#l!AfyNz_xiok!U+lc>d} zkLG~h?3H1eE`>*6Wn)s)ku3t5KCbN|#*$*}%-(p1>6zOr+t>YJNbs7~V?Wmw{K^0q zAeyaI7;02#dR#JK79IS{ol(7zIgf2XsI#}6-e{$icycL5AKNJ~2=-LaL7b1!rMba1RWaZeP3|X7Ucz1i@5h3X^n3YPVh(9Q&3le|0qD zX1-Ma@(pa)k2NlCk*wTioUyTdRfx{x-+w`OWIa=R00RO=1fYvU{x`YC$k@=_@eiMP z07=o>*5+TSCQxZzVO|bJJ2q2i)zvBpnT(ch#-4@h*R-Xv!b-d_dw8Chgx`);w>lHoRq zQ1!Y?8_q|FAsXH{`}iAj6IqsdJR%_=ey>SQYXl+^iVVEphzV=54wC|*^FYnJIJ8Vi zIlfvN=6L;9ck7r*Oov1^ZCfOBIhh_{y9R&6lC+m^Az zQ|J&-rR!dcyPOgUyq!JQom8llk9nL|;U^S}7d_e`yLOy2a+}rLpA=v|lIOJ|14WR~ zow15t($ZmNts@bF%vwItB=cuPdb`ZCHJftQUiUmpNsH&6$P{mqYOHk#cYH-p$4n$9 z)11vU1C3LewMR+c>C{~wY3@f*Lw4+OwI7!4s=ql04Mi;Bc_^9}o8+>%Lp=uKX&@A` z9ALK3NR}(W^W(po+X}$|``qD(wDVFRiD!L#ZYAJxq0sL87S!>eAMt$Zp9Kyf3^Z&9 zenjXT0aUHO0RPTkplKFOHa+u-IBN^hnJ0D%vy0r2DaiW?Lc-+?WPApL8#`qPpPvn9 zCDtQ^`%OzP&1?dp(*14%DV9TO=Jx{0s^oJ&M7)%tjtveQciX;GFk(m{u~fh)(`lmH zJ^FtZZDA}$=Y@cxO&)NWIR5q`Ihvc=(EWu3tYGU5;DQU6x3W$fTK_@I+Us;G`_$#@JG+NvOfYNk|%a7H(scK4Q*g8sv5Awxlg zkY26XU3Z)&e`pEw@W@K)6E0&`ME1VgEB#~vjaJ!~#r8GPKDxydnjnoDHwkZ?e`oN= zhR#muwL|x$;t#DxeSGYPr)S7-?3qsSE@UOMKv?U$^GWr*5Sm56zyc!dQYLZE%V@Il#UB>AZY4k+0~P1nleWiJok z{zJ*pEdbn@dZ)-ANhPB7aEDdJdZX4pIX9t8MIwK&X8C?E20v8XlyJ|Wq=gRI8Ru5Y zUITL|HbNmQte^jm{?WMSO)y-pNTHiKetKeq^{cB=!JKwbF}5QCFAlvLt^;Nn59;W# zx*NNMUdfYzEC_IJVklXBQmnA0^>#MUx=z_%NbjX+>_R3#acDt?>OFa_y$ca%aM?&_ z*Me9rT;X(0+bkC%QSYGn*x|^};Ze__X=lbVpF>*-m_u($*@D!f1(G#(x_uF^SH+$7 zA1Y2WA0&mB;RK;8m_p35L!pY!-nh{TbiW?2mQp)Q*-iPT8p!ae=7SC~#TtzpT5Ifk zMKI54&svP~clYpcf_i_O2SvWYfIG4$4Mp7Z4%1`{Oto*P`g@)E-f*YR&}~{|0(0cE zR?ObZ=OqU$S`;}Rpz@<5!mWygWyxvf*w?ncAXc=#Kn6a!$4NdCh8f91+y?PN$mO1# zv1cwN{oG(uYx_Lnl*-wJY%p*eJOZzouK65*gM3Re_`q&r98|HxRE1D2K)v5&tUBI@ zT`;SNZ|0}dM@1{u>}MH&{R;}8Ic@_M3UKU-0UwtC;jvSekaspWw3GtOrmw(dy(FuL2bYSN7d znoM`^{|D@zU6`*Asg1ycU;dFHzZb{wFm@l6X%2sWEUGA-J}=oQE*<=$P0X%kp4yaY7mO@b?agu zX7oSFx{u*TQSn24jfi%6-2FE@(P!$v!RHQ?=o8I0))JcSO9m#{naN>ink-q&*FQr3 z=be7MAcDmOEbI~B^WPW<0^<3f)@Vw`ZchJhwv`z3PfxTT%@R-qg>vLv(3F)uz*ZvK z2vUfWPx!1XrKOV`*wf+0o=plLBNf(Heq+ zh@FBme#Fx_lB?SzIVp07sD{7*<8z-8#x#nRPfps(mt7>jYcdKf#W{Z^Zxhv6bQQm% zcT3AN*gzZ;#BHSzQW!hr%rl{qUkN%Qw84rVqiXiKTyJ~91&R#2Or@rr^)b_ZIFsY~ zFCzN5Xj@lzfUfo>z?+Nf|NS8UgQ4_a%!U6goAC#O!RlZ9B&Bm10D<8%2yKaWT%?Dx z1VW<$#VN7ekBvMHff9)U;f3u&W_;z6c6HO^<<#;SB`yR@8UP6xb2HJ1`1!qV^C2U3 z^`*=4=z{Hdc)EJ~tJJPMSmp>7Q<;=NDg&}M2Ae%Do775+`A(8ABr>KHRtn>6lmzm8 z3Io064y%9T#Ty~D2X~n8K#ccbX9n_28uEA#-6*-vewSX0Ho%=$8_rr)xNdKqHoBFy z{b9|9@M4eQfV;nSKSMIkQy_5nPF|(chVD+BGm!4X-htO1+5lCj{9 z(q-6VBJ&KnYu$)#+27+NWLQC(_TB$zNb)mGu`k+d7@F`@H7mr8%no*=mOfY?+SGok z&-_8{L?kxW?BV+SPu##~T{{CWi36n%!wc*mPo3VHORkpA3dtgWMqWASJ|? z;J2zeGoYj)fTrD!6d9pU{RSc=+QO(4B@$UcA1~GZ@YT3s%+f$QfCY27Z!vGh0E1Iv z0VXpxB-yW+>fCu45elI2N5L~m(&kej35v%7Rd_J&A_Vg*hH51&;{i%EpVY9fyK1;Ld*Q- z=J(+*?s0XG1tymg2MzgwpC1@s`rWZA=QvE9kqTllp#n7eIZSdKW-v&$bma zppP^mf+4hsvzEJq(T7O>#G`N#okj>s-@s#_8Zg@>(%{X#Eeh$s4RFVLfxG15lXAlfWbV{y#a4QqsgjFy(lgtwIE3P$<3D6B){HkgXyUAIP zvRHI$Y5OYG|M8diTqx6B1{UBd6#}L*|DVY~f4T%^DxUv=)%q;@Msdm%t9KpR1mf%Jpb&fR^&uE5tCVXLWSXt5$_So_m9iuLScbyuxC>TFts~;o62xJ z8lJY@{>m&jP3SLz4o7ReYcM)!tYvSHx{Q;6tL19vPk?+yp{e6+7vH-+rvWyZRimO2 z#6`3H@KQC?D`!Rv7Uo)@tUW14>Nd$HOup7PR+RgVPf64knr6KGJiuMo9F!X}^yq7@bJFSen83b6ztM5Nc+0!s!VXj4SeO;xhT^oc&6(KctgR zgtl>wrC-+tJ+-pN+aA9i15_(_4Cev7Ve+JSRJyt*i#@TSeI7;VbsfMX{9hk zLT}Nd=Md$lH)TK1{H+}t3B0-+o{9XeoXBKvU9e`$rQRU0Sm0W61qw_c`*qfg_Gd?@ ztV+;esj4{z_V+Z5AW^R5ZA`%}Um>!5RW&BW~-!BS{e^! z^&06?Uc`%0pc+g@z}*lKId45DUqXYmFPErRue#l1yd znPlGe?F`R7$Bz4Tsav^}jDB{8j92q_t_b>nQ^dUAP z(BTH0xjsPo%lJ3p`~OJ|`Y%VSe-gqrY5*o)M@UDI^mfS9O!)KKYC86q1O zgf%c97!9|Iuc`4GujjBsNlR_H2s;A#OK-A{ktBhjy#Xz&G%sk902{B>omQ}3wz`v2 zGj|T%^)dN2cI(gQYHheQ=vA)iFv#zvq$)KJTT#dW2K2RS`Au`q4c4PGO{uysxM#EH zHYnnJGe#K|;QCS)OgRmDJmHhLw(rYco=VydnKg@+AFYe99`SNsNb3)|Gp|QzFH!Au zblvw94r!q1^2R?x2_?H67LeS2cT?SQC(+M}N6c%l&D0*fLJtMV7>9uj!TZ7`Fo^#a zU5i!mQE2`l@cDq>{VLYT_^S}BKhotMsP*gtELw}l>UII9+Cs=u!Zp4kISx|Ea%+G8 zax&YEDox+O+aphLV`VlsMFNp~;R9xF!3uOfr6MO{{zDL7g+3wg>d7C8-BT&0=j4;Q zy5e`s6L)Xp1vnZApAm`A2^f8B(6ZGvJGMG!ux=5C5v5VYu4>*wOv*y$s zUX8Y(P4o$6mGL7d*lN@bZMJ+OM*Qmaf0k`2!vUDlfY_%8Xng;jG{wK4MF45ZSl=38 z&+`v|G;w_!Bdb5>(3L9MirC5+K5(lC!~|+Nps?11YfGeFPH)DQUt{@&a=}UvNftx>cLRPWxJ%`$y}EZ&^;{CqNZbwxX>_nM=$q48Kn0&crO z6qZY^(IX@?>|{iQQPGt#6LPadK9E5~oqn2I(B&jnVHxHZPH<4ck0fh%U?5*%2Niy7 zm$0Iq+6v=z@v&J(n%of`fa(&MV=XdqZe!61b0Yf42@`6GSzK}0hz z6>mn1TsykV-2SkJlu6B$G2EQyiCRN!g|;i3(u#V|pbKM^)al;U$6hsaMds7wUaU3= z9}F*28A&4&6XF?URHOWmQ)Fo`9ePPT;VDS2pjTZz9MADt6LjgIvWwfY+gQ_t^GkWw zZpz7>Be)Wm1o;kM+C;BD^N+cE%x2At&(J0iCGDAgR$yC8=nX>hg=jJ_WMT02qHx1@ zg(jf2Jhr&V>|VuzYJW3$1w-VnpqO;QJrjrtrW1 zkX7D!CQw3dxxugQ$?BdC+lV{oF5&t1Rub<_8%G#k)O@_0>6Yb*R!FAH5e*92ksZlpqc~NSx(h=x|SGgG1J`q2Ags)kTJn@B) zF>Ft9-bpg%nh?^~1Ec~y_SV4q9GCrJ`Eoe$!YqB8cEAYvuHF&ht-qzkX_{q(k4q0I z>|R+5hpZ6K)WfdU`zG)0I>*kz#af=1ju7mP*h0{cbEz5nkS4u*!|J|z_Efv2F5caX zlrx3Yl#wnu10AcaVr$XuFd|*3pm+Cg4$Q{(ljxjNb$F=87EcJ%**hnYyHa$^zMv;m z%0HqSZ_7Q>7;o=NcjqfYAiuHJPS@LZw)C=JUOaIWVAAx$nXc>;H^#lVMQlt;t!}=; z;N=DTcs1Yh&@z4p&i|rI)Fy;LVXwXyHlQ488OK0U1F^{!t`PnCtMY0vg1u~b_ z@by#JN*1}ql7ASR>%E$&jqdI@xytxDw}lklVulIVn+36cm~)@?&WcB-9YJ;;jqHqb zw3RasYeo0edp$4IOiSQ5%*A(P4ZN3)EpRTGc-QwYz;4Ui;QtQ0|G&WQc$n!bss1$iX2w=lbfN%*|4i7Cv68ZV{0PIQ=DCOJ z0-*Tl+>p;J{yH#2;YFbm{h)o`6rf89G^hR7hoJzveh<8H#-<9~jxW!|#MI~0)3$l{ z58m!CJ9tx)F~LPJG?+3l>?}JG{JXKxczlR6oSO_^KR8l6K&XSEZDXj(bl44$@ws5h z>{9tm2$J6_N{6BG5KjQimI5Zyz5vKEm5eE*-63uSW(~J4S?hw;l{4g)3wGO!O!@3k z4%{IE^!ra6F&>ecLdGo)61g;wSnR3-P~YIrnBVCMs3E2WdFS=ySmfJt^x}fc^{qG! zuWY@Q1xh(zf?$*}&)65T?vc%?jK%ZSd<4=w6uIKN-I!Xw;Qo%*!a^_)m>t-}HSy!v z)&zd(Ap{qRAes2W(qW_zD<>f$Hw1-}llD~yu|%KMLv`75#F_|;oJT3dg>oFBu8bg~ zEnk1-7&obH_zo))wcJaDk39? zLMSDH5Z!E-=g*-p73|wpd-#F_wHvxX+5Tj{rS|yC=N_XBPb7RTBW@2~obar}B-Cdxc z_i_%aT9zHieav3uH*DQ!w4N6Zc5(l6Evjd;b1MKTKLP+k`@59?=d9br*1;O!m*!+_ zYU|)m_YWb)f4bTKb8!ll)fLxOFnCm1M<8k!2>4Hch>5AeP~x2Y1JEXrunZws*^MY# z#rq%v4#yY?yib0Q(49!)e=iO!$~-+N%{;Xob9&WQXBpzBm>o1oOb;<*6n@= z+kvwJtxPHNk1!A9WpYj#{P39Ag|@%p7Zs#7%RoOb@B^h5ouM5HhDwT2kPD`$m4fy+ z*6*Y?B=L*z6H`mPRU1MMdPPr)W$8q(%DZQ;_GopT~9PIs4OY8htP zHlsClM{BOEmUfNEeXJ5Ww-1uj{S76=euaTjM4^8;VPtQ*=``=PS(ItkH{06Tr!86G zKUvdkj*4NE7o|BqQ6$dJ^ZWHZ6XK5WNQMG6jTp`PK?$q&#f}29c?huQIl>hV*^dw zbeU0jhAfn(Yn&zhxK3ltu~I9k<~yh9$?s_a3@in_<>q7eEi%m^Ma*f4N*gYYzIj0_ zTw`^$ZARx_i^?BXF>MgPAF{|d9UMS0bs0yhMkB@Uo#qs^C$^$0XG2ryV&!|JD$l1e z+ooB_UUgcMOka1avk`q_OKuqZs6(#X<=)GW*OBp^CYhYdHzdTIRwQ(4R@|sn}Jl5PO&HB13H|&Rn*=Qx!7VU9l z&61Rz2z5ijvPs;cTVn@BQM#*^=ne)yi-R5Nh*d-30y<`>q^wFtwWWKC5sX?KG6JP7 z#?y7B(Wj|(N>=*myF=Xq=?8&KUm?%-Wu_c))Aer%Cr9i~7luwb*21Cf$#ChEC!m>& z55dB6;2CV4=&aQ=H><{g^oGmijo&82iR!V#b0If1P_bc zSw~$50#)~k8Pau8TSr`4uZ;}DjtdCPy64dPFPYke3((JN6|p<+t-gXRvf8ROd279t zlVuHtSz^8MX(L{d&Nle1Mft=baDTi|Fq3`EKk;aoGsiW_G1);h$s$8u&o?h^TlIoJ zC`*E!2%|?zHB3Mr;}dx69&Xr|-LpJ^Ozj)dK%V=q$i_q|P<`5vy*RxfYDlUGfH1Vn zIEM_d&0r5;!Tc1@y)Kh`P|1lIBQF^Tp0-|ton2wI`#JNzgJ1IYb=Ni*W=JPr)Q_A} z>8oXc-sYWn&Ga8gVmCdQ!C1RXR^#L&!~cN@a4N7#da zof}uJu+Uo;LKs^)v4Mf8Z^DR0*W`p4LdaJNXSYy6ZNTJ+-+2X@j(|gcc8U~B<=DTpnzOBnQ#}%xwBN9>W=8 z@=ZorR=sTX;#p z2PGjI`8lDnx460j>MG^6QG^+#DRQP=G&_|sHWV{*Sd)?@n<7D)oH}#%?tPE*gLoU? zzC+{FJd+XE?zzAITyymAzZeD5e>Y`D0f_xO!vB3P_%r^=Ihfo07Z0yc_01J~5cN|u zt}(X3-T;{^r9(==&xp$kk|Kd!+8%|gB`GrW;)_g<&bXy9uDR+(70hY4;Awc$Q~sfJ zn%{byf>0^45PUITpyM2;kxuc88<5VWscIQ(%*BV{d>jBf3;G1c7 zn}JkzjoTc6#wf(T6wvl?iPZzhP)xW!jwlfF2w6;zI%v@a**<%)AdZNdgVA^qaeA=v z{s^RM6!&U^F;ij>k(*NQ3wzZt{N6KxPeM=hEiz~{$&Dg+RuA&CI*#n#F_cg4PBPFe zQIWBS7--+<0)?;m8Xg-+labUo208jLjHx(2mE2rPt)s_o!d1#$Ct-w}skG|Okkk~d z1#;VAg0tkjWYG}@$@*=Bz;Htc@BBH+N*Y^-K&KJAdjGu?)wJ=bQO(qBSev;y&&FMf zb@sWGG3hS~Z7NR_f$@|oEnLj~0RHEy4YHRCZ@;jn!sheul zR(!rW$1T~*tLe)ty4FE#%@CGBoC6tCPZ+XVTu+@RQVd(R`3=<;-Q5-C2< z=A9NOe)%)F396QgJ*ZBxW`ye%6yV3e9 zs^rcQEaOi#H&{@WIab-CAD6XrgJlLLw5#n23W>BcF@^e(=DtB?wSi;pe5q?{mz%1V zZE@dA=Ll@3gchs2#J9Y&P(%)^-i zAjghN9eTBok6{YtBPOA1wK?)%HIBLwtle^4OB^xj$`vP)czJ2<=v&YBP$wT@#ydC1 zwz!tnCV%ilF_=U^(zUet$2wi5T)Ml&CeF}AyGPN6;yR*-8qZC>tIJv_1xt?}*2b~W z(&ihtRO$Ly5~cleOS%K`>YuAuskzq}ntB_qn6kr3_p*_s)ol}JbXuy#zpW-bUAt-= z_u2_aXyK(=s=mJm)ptfk18F)+u%ENL6jVneQgO?w5wTODxarle47U~8hif40I#~7 zCVcNP7Jlt-7E2?vc0{=ia_g+5U<@{caFhc9gY$wrB(lO{rw>lap{Bi|BZgaUT$mI< zWyi7Z4nwAyO*)}wZN5(x`JiqB@vB6!`UMK>n-l9dq^`vlZta^B>PMt2e~27F;fS@cc(> z4`Ej(T~R9LGwuBNCdeN_lt zCP7Bpi(xN1X`rXs<+s*ZhWf=uXp5`{q!gyW62kj(xGg``&>sIx%P%1AC~{~S&_{dR=x*#S}6gZ zSbryY^=Deux6!w9r!)G)CQ-)L$XEq{mUFWG6Uvh)Tl;+gFk5#VCBe#feg5i~3B?(i zX+WeFXqoWf*ovy^uxeP3_)bmL+XsJ>KQL-xUs->X@^m!0zFB=8E&C-o1zo%*d;i;T zM2z5vYC)M1b=DC4@oF7gAvI!`G7iaI8f zo~v&Fv=iz9gMhzlDf|meXk}|^ZbK*a$M?Swg@sDmfEfS^4{+gnQl*!_Zpahb!LQ{&=cxf$vC61344$YH~5mOju55g%W2 zz<9e8WM<|lIJ^_mwI*Orc(S^>w$eSc#zvF?%NvRxTUQ%gI-Y`SX>?Fl@C>7|>`ILP z8WYrT$88SO$mcW`I|SNxE%2DMY%Dvb0@%liLUxZH_;TKO-S*Z_*$-TixWu!@kKx}D z*|cgURc1)OG&)HhDWA^NvQXtkl`mZKgQw{~)KT}b6ht=qFV_zO8ffx+pz=vtpuD+g zOX202Y&K30i{FYVmT25^m40cBXl@&0$TT+T$aTdS_YIYyTNGED$k*kxe0-8r2MNM( zo3#8Qjrp#WLE|ngJjNS8r>G?#nO1fFVthU$Pm&F-Uhj6F+lbs!MJwb?wia$yPm5}? z+<1w@L=2^~vp!WcQ$#uquCF7>G7CN5lNU;+#>fysfGa8mV-P~{=GvI2;9R+sE=6s) zF#t7$X;RG|4)bwI7o~rW1g9KT)N>P34v|hH^e4r&tzCL3pZ zanmNd$B06O)z!#BlfH7JBD|g7r3R{rmD7N69Xa+ySG?sbjMxl@>=;9SF=IFyJ5&K> zg?(GHzzH!w`{}(F0OMofl$K&;6U=izA{UO|!C=*Wk(%olIgZ zv*rVU5`^{PO`ZVE$qW{AQ^>OpgD~=KoLn9qY;8l?q9{pwBa@ax-NSy%7JH}XPDy8E zKzqh}Qa#-AaC2e^%1UQABib2~CQKK|O-hD(mtRl{RZ&{c_ud$Exe;Rdy$Pzi zk75;;mqSBF@8&wczsFNIW4K7q$OX?KNH%BkwcuNssyH@ z*55M%Ry-t|ONx}^JlNZdxfbraP6##Pmah9q5+5V5QDs5WP^keN8VU>%s zHtZS&gw!yv{0%EKS`*t*kz;#c^`KEIv5Ee9?xY?b?(uy*QEuvEhA@Vp((>VqT)s>V zXj6mQ?|KKV1_;mVg5hNaMKD@kxW|!e@8dWP?yO#jLCfzJq-zf1g_$F>BMpHqYr*gS z)ZMPwQhCWfL|0=!TLtIR^2ub9VlUO-;T|JdwNLUJ*<9cVWG#6id!#oA(?!012=Dcb zqg+mP4E9zrIsK6C9bVhP1EUvzbh&p5xxj6MKEZMj#1M7ZcJ8Gu-c^fObEN<@80Hk} zaZ|UV3+t+mQ4+zP3VJ1Rcm5Dw;EqcDwr$jr{`wcK7O*cgV{Cv}R|kM?asEvc`rpOs ztpPLEKimbCC8YE{-2XRpiNur4Q59gO*nOAe$J6XpY8}Z#nlosOip^=5+W(;wrZwjZ@1XX613$cK$?#X6OXD( z=P}(H##F_PCqai0YDGyGkC!Q|0h#C_JBIrCI9Z`%b%NRHlzCBH5O>Plf7qw;W#|m1 zRUH>12p6?<;KQnxU~jksG0vzY&l_*a9dJ=dCNP6BH|i7!vtZrhAl7u&fL=~G?tWZ* zM6t=In|_-yX6gS(o>ViX)LT)+@KkZ{)wQQPC_Cjb>p<}N4$=Cv2eS>DG|8v-Ae=l= zBeoaoQbAJ+Y~7NgSH;~Z6(`2bRlfq+$!C$e*5ZQ&DzsQ#%4>c}Z&Xr8lCd<^UT2t2 zgnO}foF%R;srQ#Tu+F^tML5@-aJ!|q#T1q|rG&&wt_(yQ9_=zf4!2f{7KFal?k~KCjI&f{1X9<&{gUbb@vxzDdg` zhc?I1gt+0}(UXIZ~vJ}%^*n}lm414PmJK2(*9BpmRO`gk93&oSYQwrP{ zt*j(9GLyoWItH=L1-6|kJKbjyFM9yZj-(y6S+O><5v$KsTYIsK!q0x;F|e|mVMeKR zc(@!uApdCa2%&xb`m*v|5JAXCf7b>4GP5xUy*hSf(PVKejD*g(wK6^kv&44S-4>1@6d(2k+lb5iqrxg`U zUD4mFPy-6qZ)S^NpWyR&WaIuSsIE^+DRt^<3 z9HQC&Rbp_W8ND1pyfQ^Yq5$H?aja1Db2B?#aD_&N$3I~qEe+c^PJ%^wI>0RSZ8 z&pRo{Bim1p;B7MxBA62r8wrbX)8`i!BZr8jFd%s9BQ4Fbuok=j?Gp_d37GFEeqam6 z3a7rL>{FLl9N!=292o{|V)*NrE`V0}oMRIXEy`=Km|~#O#gVAKS{+OCrG?3RfQh91 z<9F3rhwoWjpH!r~vDks~>aB@B-_AAb(kzx7=WqJXk{a0?>xaO+e>fVajXC13tcJQn zCU4D%6LdRPR!^|F(p^C?KCs{K|CfYQ>~tYwq>|evWXJZaJy7sx4`KI{wm^@V!=(3h|cG=4Ztq|E6O|h6sMi4c-OzGZn(Wwr)6JZ5EcvLHkD*k9p z+_~_OS>q%%wl%52F)?Mt=x*H%N!xUoGptxB>`}}s3!BuQmkk7w$k*nFS7{d&CKXdW znR?lzm09r^`6v_j3hE91sM>>1t33@mUkMo|K{v5JZ?S%mtWk%#F~Z3Q5zP#@#2s@) z6pL>ES!ecRtRjt@+t8fJX^oS**VmV9Rg#(J(1&V!QJKm8jQdA#s>hie)$wdp2t3~g z3E6BjQ~;IMjI%}jogQhLE%f(m#Ibtfj{!WyI#sL@z3n9(w6C%G!D zXOU88wf__iuLcbCY@9k<%{EJ~a@TqAOr-+x>;ZH`uSUH`J;++F#8kh%@DlDwg}%yd zAZ_p!)kRQsZ{`ftA6^qwC8>4&9lUNM=V8;H2kW!)(Bm;6t@1g5(|MW3bpJ1Y3O?H| zIH!Pv!36Q;i^~7-p8cQL9@4fh#>#g8&hw~L)^z>D#)Z{|Xn2dXG+mIQ2zC%;I9DDB zR3i=zYdF^?lX=Cyr9qGNZU`}v1YbhN*SRo5b`Q2AbwINv zry$(Iohy)Ig3KN=Iq@}0V@sJ}7?$clp$*-jOn4~UBt=YIPr{x5D_0=N?yR8Q4-;Di>TDk~i%b0th zNSLByMKr3Mm60R91llez`jybjN*+cLq$1fNLgg&&2#V$ ztNjGzPl$-(<#U@(8%b958Ka4O=<9;$TwS!ys75DRN)9pDL_?{?91I2A<`VtMkzw^h z;NM}y%Dd=o=)zqR7}=T%?Ay(#BJ+kEpg7c>Ijabgr4H@y7#@n1m7=N?>EMe4nN^;+FoJ=H{3&lj&U2!F^8;aLm z6#Jc{7?U_u?1cI$hu=!fN*pS3hiap6hQXf!8W}kF`9-^=!!%xfx20>P`F*#T0YR{E zzzORX-ETuRH@^w`!Oj~MzNlEGd;-VZlKl)=?67%-fpmQI>m~SiJF_)Mp&xq1X7Tl5V$yIPV7A@!irEU#5 z4mB-e@0p>rA&8G90AETEbLzet&cy6*^Js4LfY60@A*XXHRteKD{r&OgT;v+AQ;#U? zx&eBwPAPme8%rR{cs@U^$Wgx7Pml`R7ye1Z49fioz04B)(a*4y{h`6l!c(jPKF#Bc zGG*yrly#a7`!rf09hBw*(=UVKJd4Sx5(iw*kxcr0kF3dGCe`$w-XRyK#h!9**9Z=y zMRzvPjQFDzE^e{B9EK0}2Ko6GZZRmp`H&8AOUL5vfnVExO8J~&*Su@P9L(49479Vy z$--X=oDupy_TTT2jl=G-d z@`a6W_D=Qe$vRC+Xz9*V=oZv-hg? zp7YdGPyH)Zv+Dkqi81Ci$M{`RMssl!Oa4OTOlt{%hSOyScwTHTrh)Gt##{;WRE^oA zqfYo%X+yZeopsM(GkI_;H<0((_#_p(P{Mnt)CQO~YO6kTKXLV}=D`OPSO~xK6Ze#7dv+KyuvW>@a`REN5lk&hnaH6Kl@s$OwCj2VEK_{es4I6+c zhc_H;{!RcpM*zGZnIqNZx9G_v81y3dPqU(Fr8}_if8l0mxtBFJ0JonruzXnW|Mm9!v*zeO_MqCeGm0pt z-`5^`Tyd(VMWN4h*ldz8>Q<3bb&z=$grQdJAb34CiA}hASIq9-RWCKqQw)AXSeAI% zw-qe!in|@&OmMct>0EnePES`I*L*Xt*6#OD6FVPYY6B?9`TAT@N@`t#^w?#hc9qHK za9S;igJ%{u=|Ec=O4C|{(SEjD@4|qpf<9pmuXyxs2t|DF+mfhk#65$6Ra?3jQE>Fc zjEFO2MGYL-0ze9lJbf*9$Hb)LQ@!m{aFRc7vK&M(9u1?P_Nh8+`C;FRAp#_DjMQlp zyEOB1J6*00UmfTkFj{D?x^p$Lv(Zu112Ew17MOC1%&-_z!0#4+Q(8oH#5lP) z2{hM~ih|>7c!aURaH7&?4S16ITJG7(C}DJ!kyGoavg&J=8fWkA8)iswRqLjHGX2>t zj0RfN*AI@3j=z@?I075HlVp7;=dWmQ8_K*p)!oRVbIu;d3Ga$Cu<59sUhdtPek#JF zqXn242`p|fXvc!2A0p}&kMUXG7>E?L`uX7)L>_4c`p%lP#sA!hHQtt=#WSH@75sTA zO98sw6H}@t7u-nv6F%D_=32~7xXw6PA6l#(muW&c7oDvFR?tCOv9{|MmqDWNd&~iC z(%6Ni)LzY(IeaiN@ug}q-H2nS(S_H~(RK?Fq`p&kGVkoQzNCJ07xdJ4zJ275LD>VS z(G-hmjSH=X3~DIXySnpKokAGb)`e_(-8}c7$L{!)j@B?FQa=QaB|XguhVknmV2uyq zG-5F64MJpzMvh<7?s$uNwhJ&(7ha#gPdt!Bvy3;t(abma6LFipM=f6B%TW(GXGlJZ z)&;QGC>k@2RCukTQ09xINl_b%vB(>sr@G>zv80wcl%wE2efvziq|YjauXp9 zGK|;DHSgT(*GEooa{u2?Be@{xx70CTQbIM6%v96t_c^|0F8P#EF# z^I-NqJqz{~2YrLaX9B*E=(JdyzIOYzDzX8?vI09@B=<$}Rr{vtsV*Dszy#BSiCHsN z{)JmI3+ypmr2Ue$=~dE0y=44er|#U8?H1FZGYRI;N4Wm98THGIN3E8uc00?Lz&zD9 z>q||otyxNE1MN+q@kJ6Ez=V5~0YY}Ph{dQXMT&;=bJpbH&gu1o@YL_M+Q&w-c7Y#h zH2Do0vaPTvC5uctS2?!KKQSa@u9onWypK@Tdh`@1SUT!uSX`;Sbo>Tra%#qIJfh(p z4nugdujq*wDY5Dz?wE3AE4%?^w#xB8MxPzb)AoeKYu5zIQI6BpzV*1ZcIY3Hn+|5% zd}YPoNoLpS0X+tLAi5<_o&^E0Gl>k+J&Z073#}FRJB!NKbkdzdI8mY=qM>5a1JD{( zPSm6)vZ1uVM zK>tMpkv?TK{(K2+)ubDlq2|%IkP~V>1M$A}uXTR!EyJnp+}SeN9midoa^5 zVd@JW8U<-k<}M*>cgD{8FxNPUO-7JJp(XEBdLS_z6o+HQl^UT(q1H(V-7U~Myc-$_ z5TT6q@_7@HSMLNQu)GbC?-?MyUXZ(lw0SM?V;5{ zyR8%KUr4(x(yp;@W!;ZD{Gj#8cQc6?BG2y}yJSUK}I6VEPSF za{h*$n7j0N;N9=>eaVafx5E{T78s3`@=R11okmIm_)RYK(Z*$Ii@0RIw_+3>(k>NC zPQq=H#!`abN;fK#XfmyH%CCjl6sYzfE|vtnXbb-SytGqn@j2d~sn9^NZ=OG7x5fJ# z{Or@!K24in^!=THWt^qmx7iP@|9<%SLtqnR<_}l{szQap9sfV5LjQnjiI|!hy4twN zyI7by{ljDJpWFRk28x9oOaOrNKsEqb0sBiP@wPx`2yq~674-S*aQa~Nrt8`k>N716 z-T=WD5Gypv1&2r)a<}_)a*flR9^e1t_9spNM60einz|6}fmN7vEBdZiKobaEAPW7I zO$P{bO?u=>n&wn@J&A~Aab=e=3Ooblv>NlBrVjRmKs; z^-BraM5-?85`sZRTU;jX%o1G}@>GN@90H#OR~D*rbY3gePT)SiQi@>l1L+B1d7(Ow z3Ob-H|>DS@@>%K){dL@5FXkDHD8Q!RR?r^_UTYW zkSdrpG@oJEl!UaGGpuoVrR7R=gt3ZEi5+X9qkc+7f95pbv3zTvJCCvAa_EuNMuyxm zR=#BiEoOWDJaR>}mn6qUrwU1APLr(OgtPd|eKFHHZvy>*Nh@Sa7I+J6H(hkSgXt2p zn~gb*&YH`YC!3MgQ3*wwl7Tf=Ve_F}hGa5XEPA})l)M5Tki@)K${Se6E6*5OHXgw^ zJMshsxfrW=LKaHpiZyN+HalA;nXKyJ^n~2*LyqQ#eKoAb2wP9iUucr(8&H&rGSdgg z%g{UUjj&wezh9F;4le=55mB%v{(`kkxvc>9n__@>Yd&F#AzrTK=mFn=03hRQJ0=LN z8Kk!3c8L;fE9L5}LT@nu;yKH(n93zlE?c@{|E8T$$O8b$wU0fa_JY(>Zq(Oo9i(ko zz{)d-0Xv3a9m0EWGPP>aFT0U);W$y?_t0Xby<5#1>8Y1!dIbe1>NEB|T!4PBy;Eus zr3&h4u=$6_5Lt!Pu#p}|eZ4jh><`l3bm2hmtrHe~%=h{IKt?|SrYLpUeubuNUBHBR zC8xe$Kb>+CTap1YYk~9Np!rIBF!1(5Fv+!(msZbGVnV3m6*O%nV z!!xdvp0RgopEonBuO4lBrsuTK~^Iho&81h@wl78ifG?SCK(Y$12J zL|_-*A78k_Z@90!cJoQ1=;Pe&JVbgv8r2fLB99sGAZECnXy1)?2E7y)3xiV4`W?LNvZeV@U94Yx*YLlJ7gmKl_RYc**Z6crt%r@`=4#tvO{70XT=AN>tDCWq2?9 zS$u~giu^)*GAp{`mqq3|z3`hjoK<8WbI>U3N*R?+I)!atm+%-Nyg||?7kR~=5t)(& ziP@H#B?MdvlN`^C$~Z*KHi<1%5nGh<2{cMEnz9PyrK116nE40vwz|WQU3NKqF-JcN z^7p?eN5p5HjQhZPf)(Iv?Ehx-`~M5k_-~BHh7zzLn-^4qP?L<9n3~u?g?`*ASsIb; zQ^g`>iiXC~h6#%#`d604tIy|={D;A6hT(kApZtzofN>KL&mrbW6S#pH*%xET1Aqc7*It5`g=3Oq zRf;P?^IzN&B7PdMnN~#W7%l3VDw=B1=^*^vLi$7Z$bMZ@bXx9|I$brnbG(#&rVUlk zidnWWvf5>U3=ooQCk%|lNUg;ly@Y&4uW-&u zU|c7$QLFhLAO2umU7RRGwnnhGxy1RQP3%NMSH=z@JK&S>@kZW^X)oNYpQs2a_)}-p z+Ov%Cr?XmUE7$wo6C8>hF}Y~DO6zalR3&Db=v&Cb`qdfU@p6ZlIyETOuN?Fz;CaO+ zY1{&82i9G(4WbinXo>?K0i@G8JDjPyS5)KXwK+?xKVT7bDDH^fR6vnuYew+IzmV>8 zj6K)oIZ1zLR(+_LR8_h~6Z`Kp(AT`9AnSeILeX``BSR8X-ZTG_daT9yqQ4@P8$rdZ zgHhA3tNBnSbE!ppmi2;GrCZY(szhzFWje8u}8 z>23cLf#x5vdPvjLM`a1^-Hv&Wj3pL?=!@_w9Ai4Ei~uBL7%7nzYq-RhFV;t7ee*5tR$y<7`28=Lb_KM&_?h-yiFouj2aTe|^eBueDINCH1={JOv zw|uq%$sIT`y~Zf?)XFet^_h!ZYu$*o@{!CiXXBw@(SJOkc`kp*S-D~34|;AV*y&|2 z`jr9+d@1>8CfMn7XY*kQVC-h-^xGXlxXowfzdIOt4xjw3l9BuC7TJ%!OMkSVq3DUm z(hslK{zg0Rl^ba{5cv(?AJO%La)96RxdG5ad1~8iJFJ~AMr=rqN=`o6YAV8>aT|ix zz}{G;s&GORWgor*D)!!)d@;m0P2*@)sW>2PA3!PpSXU9%&@g-+(majCS>Fl*Jy zW^1Aj7EVQJxztM?ZB4MM!c3ZA z6!R6kfQP?E(yfx}%!YuIB*@gpHe9s8(x{JzHO9D4K@WRmji-BpiI|%!$`3;W&VT8K z9Y9xh7<$T~LT=ZPzd4r>DCc|=a&tI8_NY;}GW-!Qq30NSQ~6VJqs{`~yCk`mXUD4k zN1CxmN~vA!koSOknwnrY5XAd4Xb}bUt9AehWz~n; zegjz?^-2+I{hkJH6z*!9JWH``#WZA_im{WV@%?W}Qj_=-meQOYR0A~vBJ%OQo7@z%+vH2Bgzkr|D73|=zY z6s$zi=-~0xtx`ZKt~{;=z|5_-hZ$1*Jd{c@EH|{GurF`KEu`3Jj}A!>cdbk282R4c z2v{dxo4sOkw|oZPdU;Fs2xP3(j6(1iK10Mje|RmpE$nA8#i67w<3Yg(W`8*>$AprS zQ)p!?FuxNy!)((Tn2;G3BQ+vNUV?*zgGPXmKa2R~-!9l!4Q`1p*`SfZQmUMKfqtUl zG$zX*vj_u5k7qxy;i?l-fl40RyM`Kz(=l|+#pRe6bMF`!WYOB$MA9$3!WyKvI@&`DfI=>$1@5iM!c1B ztc;AZ3Qeo#>f_S35{u#?)vb6Lb4gb%FRfVx7B8QcL#3XTrxz>HMI_&1m3+_c*Q^QAl;qy~jH_lITa?wyLyA?yZlGQS#A)eT()7^u!9pFwE zOwHA5Puy^Pw>It%WA^g;qT*=1kRol>tR9LDD!006xlT3vZAJIoYjYEw9c817%fxOQ z6Bp_FbELcLS*ehCd68n1`S~@%=FY748n$Zg4D{57kgkzav6kZrjb0==+ z-x#JtwCSz&^0Jg6OMb#4&VPNH!*hfg%3!iy;G@CEpulP<&%;~@IjD9p>O~GL+7eKu z9bxWz@k5y?TNOY_r_hw{9E3>ZB889i-wjHlT@LU+Dh`j?{`gUK^0i5S zdu?&f>z5}+bB(R;%qDAAFau+H-?-S8M-Hs#p5*{8YXO)5QE?vHiNKyt473A2f8`aY zo%;yhTkWBI>>?O-WIztkK5#?wwCTpT?6jZx1KvWUk85oMel-cacieDIDbG@k2>0gov?cE5>P z{W?(+&1IjETQTKT`DtYZLI2|C>F5pb%c7TH4%<)$m9vUemf+G&@5^8D3x_|Pf7%Rs zG}DA_NU0d1vGKvcX-uWFH431xSrh~4lDg2eEyM8|Lu9!j!KF)uAGD_;YX;) zaq08f47IP^@RDy*Tjh#*+WKZ+L&_XBFH58G^HtzQLt<@V!Z2V9w;eOGccLa_N?4(JM(pl;=-O z?z^)AFOl0)EnV>D2QQ7nO5pPIMzkYK9-w54ZFgdw;Ykx`Huh#UaVI4QbS^{$D>YIkAI&X%x32p8?Z~;>7tdVf;cN?n`g6dE(vTx%O_Umu z%tX#XOBO^M6uo&9+RlHPc^#^u$g_A?lrh*W(-c>52`R-Gy{6A8(%+R(I!Ndj(=UAl zQTvK6OGVv^Qq(P`zlG{`Q2u#Q{&wrrR0{^*x$E+%fxcE(`UA!;{VxRE-}m@3gI%z9 zuNGTfGObS?)Rl6#k}z#wuD>58ZFo~`AC=dJAnFQJhiZs?xBFi12YB=@vx={n{EUhx znyh4tZO23ISG7kD$8OykiXxRK(EZtZHNK>?WdA3w-<>Jq%0{y+)i-F6;XcEPO_g{goxG)wfqZl#=TqTjC6>X*YR(?7aD*USTZ&r zV_h2V^^J&@IDLN!hl;kkKL|DV_K7KJlabHtfo2qfXBgT7ol+Ru0SUbkSnEQOBgS&O z7Amk<(|!E+E5m=@bF$TOTS|cvb|z55{=25Of5&4qqZGP@X=MU94^fQvh03%dFG@2oy7T1~HLjr0OU{68B^!#>X_t2rChKhn@zATI z$;FI3$17TGI%U~SuV7F)%Lh!))B_Q7x2GkG&atwR)l7YeZSVl6jRGd*pN>ZTMHjTm8D(Mt@~8Iv-7{YJV1Dsool<5jwh z0h{3}N-J2*$yS+t_<~!-D*MD(E+Q^N+<`>j_z>245-j=g*I(3zVUvpq;5%`u^FwH2 z5sFeRuspc-sUNX<(5nPDAv+Knr++~C{+w8nD&m?*#rXiMRx5TKcA`~TdG0ZDn7;C5 zT4Yvn#OGdY=_kD#YLodv|9<0?W`!0%qJyM)i23;84q7IoqvQ6{zXCgvIQQh|9h=i% zTw+)|52v!GvLF-zcFr>%<<$HL{U{O&_RVM-7ACDk1NReUYSirKO{zPV$`Ss!lo5FS?S1fkD2Qd9e^H@x9BfJ01) zok%BIzE~nRKU^#%UtVH-CcpYokMLq*Meqo58M}VxVoo~7h-Q87AUD(IbCTo#@%l;t zvU2+^7K8@ql9NOBMCWNRCM>Py%hR6`JEHMa7fA8=b8(>fn>p-(dr`tM-++aqWhPMz z`V!cHi6ph6-L+ci_WlyNWK2pvHV{Tc_rsldG97{0j55h;&h9yfX6u;xkPfRk+6EvW zf}FvgE8WoVP)jrkqo-Z9(iApkUf!y*zDMA>dRUIs&8$@pp8o41*DBxCq|gXq2J2X_ zIXS+=NZB{3uJC(>lqi536wpv4!QPK&Se_w`_N}u7b|RjtB~!LPOWxSV*A8wUH=>+7 z->f;`4j=X;!gowH%ZZF-NAa$4YR!BLV*SU#j9`b`VOyHv^Vfy>mHx)2`cUTD7Fd`8 zE+I8HyF+&Y7(M^Rlqs*a{@uA}EuF~AQ7lRO`O~s?8eO;KRXI|$fgk%FdGC@N%-o#A zO~<)dF{T2HQG-UcQ{H}_TC^>h`SxX-@2*A7(y^k_k=X3{(~Oxm18&27Qx9OLzYzOH zA~O+YbfP0c+2E@r=IDmXBD^x+sjV(DR^z_jj%`=z)Hi>E-;evI6hI{dkv1>}a?fEb zNz`kf_IN|w%Sr1+3869UiI5DE>PXgm-6}})kr-^kk!8nxbSAjT77Hb74%Q4Mcy)ED;Eqn(Wg)zJ+!)EOQztSBDHj%+L%`qs@g#Un z3^BW~CXR!IulWt`l7?5zA?>skC8rlDUvLFP+%d{y+YN#9#An_zKnH?EKdgao=d)QQ zV0+|NnmF4vt@q0+>Zba3%%_4f6)w!*2~wt>gvrVrvObu!a9=^crUJSidkkTqF7f)Y z>QW}0@uG?xuQ@lk?+N^MwCVOxP`dyZdwUCi*~Q;57R&+)iT^lHdl zmchs(-~82EcpJc4xx_sG`(wlj!XA~$?rsci;q>`uAd@kaM*v|rNkfcxqm0KaUO9+i^QnuRDv!A>6e)>%Kk&(JwT|VQ8zmc#r23LSr_bSwx8Q^Jx zvO6db0Y0H1z-pLaP}I$?DD=T5OlK#hXR7hbFqWdsDjnQj2vvM@2rf z>tAFOy^Q9q|*%_o$ZaOgLy`izY{;Jw&^iSvEnpnW9ck z|H2A{D*Q>7|FbhkDo+8uIHCv@3ZWLwRnRm-1A1%AAV_hakmAgrN!4f<^qF#SZAuCA z=H_Z^>%OC*r<AQh){yDqzh^V_E3&zO17qtbe7-SM6{cGZ{m2*kHvsYPBG9 zp%NcGtfGZ*JgmcdTG4Z}HzdZ8`~0uroyvBRbPLinv9p2pe=y}cAO^}7F!j_P;Wl(( z=Za_QO2Evbp+Lv0DVZa(Z?P}8n%p6UBM6U?HptLzMUs9fHi9b}Gm;f8y&OccY4zZ> z7jC-4Q{bo`7-*()xp~ZNaX$a$JuGT0vPTg3k4*vY;lHC2d)V4A7~B7=FHu8QM$FR2 zR2GPHF#nemOR^%b{AWQ#U(gY}&k;fSbpsap!w%7Em^dgE1DI?U9liP1F}(G-=R5Vx zbvF>t1yKz!=vI)9k?Cvf*IjF|u`@01Am3Ig2_u_8nm{hTd}vrE=OEU1c-scKXFQPR z;Zo7fj0DH9uH>VzD1|3fhi&vzcH{=>dDV!8h%L&38|quIpmU)Lqwyi^$JH6;7s(B5 zsJRpyts!e|N-mHd=0-`84TNNGg|CJbEM{;~xzk6@pG6m?7xSiFlLBhla^)eTP*Jn9QF=$IfnJm8&@%+#?G8GHhp4#^j;d>*~MRo8IoUoYfDTem`z zw$sC!xThUwp;c3GL{}Zr|0|lDV|1DQGccXu1s2N@{!I!BghKp*g!u21RCxmU28r60 zT_Oo+`A$qN7#|mccgDz;}i#y~nR`Zb@3uG~11vA7fJE8A8o&DOdQd(83X}WdxOd|Jza^}+sjO>W!>W$9gjf`$nOVg3XyO=hUHk4AGEqazyxg++U zc)Bzf&1F@soApyr8LLz+SdCgsoCOLjC$`us$X7W`kg28N9a3maM|sb00vC>k3zY3f z5++-FXj`HqTsSvS(>%unz=B~lq9f#r)%$@!%C(7V-YOZ~H?vI<_Xg3YlmfEHa zsE<4^2UDSNvbeJZeTK?z^Wz&%RY|cOD_n#E?M}n{g~9Oqgiz7ZPJ>~fb%OlB5*nrY zO@oNQ<`*Xv7=*iMtLmed5c|SDQ~y*sFI!YL3=ypPfH9wa@3DRp`jQKy1 zCc3g$gE=TOVB3gEsyyH+|A=yRsX-QO+>H@Kx;xc=<1gF;Z;%AGj|IFkU@bemK-6Bh zLiTD7hFOsB;^xm23NU1iU>EFWd>e_Ao!RFnimMi81bKyatPBt~=5W&|iz#7%Mw96- zOF)&c{YLEy$@C1saqAT$m{0T*9=MwoJk;l9brFE|m1k%xV}=pzlZ}%qhL8VFT40EW z#>@*xt%Jneh&}j8W)=GmDQY~(SYreM3jPwR*gyla*w=`YY=k-ZAxfW?i8Dp?kil~} z;WnC#e#Z#yV!_yG>}5@Av{{evqo|~+vW8By+0xAK!zv!ErPhw%SM%tegt7yc z5M{VKV$d2_BY<>h#p5no;nLnA6g~_s-PB0b4AesH=R~dS^bOtJj;C4ai`go@{x8tw z*b$RI#zZiF{V%`LU{yb0xsPCbcE^Azgee`&W))f!~`**r!wDQa!aFzGsEhR1LB8g;l5k!%QQymV?gT4re1yqt^^6lacD!GL#)&}Ll zkFj7q(%W5vT>?{|2HoajG1AQJr+e?~jVCkz_m_9jULyR%_&xyl)$yJoOJo)8m1*4+ zlne!jN@x{3k?J+qqQp!KjWT6 z42Fq!jS5@iNo;AaEm;m{L@9U5uF4u+0iJ01uE|T}R?j(xW9&*Azs?U^mu3a!vzgOc zbAaFg-)Hf)J^NCl(}3J_$whW66Hj5-w_5>)Qoi8(rua@#f<-l?M!gQ1({Eh6)hCW6 z48G#D_6gvyIO-_hZTKz66@If50YVMda}DqPVX>5ar)s^x<_etkV=Ctb(}v*JD7xci=H3Y-xK4K_*wP~kZ z&=BIv8;`>&cShr&5I$*#$r1U$zOXKsQBjwB;^i*V+SthV&iS-u|MF>`)Dqt1cyyl> zYi#lzY*k%JX>@@TgHu}Ldjq2+p=U7Z0C5Dn36n?67@EFAHJ2?GdjTKKLlV?kqjsz8DlUlF?G>}ED2+c&+6?;I)7A#cqA@ILr?GX&2Vy#`S^5q zfvyf{g@M2jq1UMlJ7Lkl7J(*HdXFlsZnm32#>{JvG0rK3^GtEeTGERuFPOB)4-4tT z6zK3{f;U$&1ER&U+@7-~WayFU@lo0Dh}cqcVUkx-OfO&ybn~3sa9l+q!(KC^z30$$ zA`6FRGM<>5f0ou5c_^DC=&y>?T_`p#K}6&na=#P9}$?C3ZPZ z!Zdr2E3uW|TK~!`tX;0Qf&4){B}*Hdd=TZUZ!nUrB8XJPtVUC65M}r~SDHoU{b57_ zCk@lUxU31GUu)oCQNmATD_NCm037M@pQ39ag4HAQe+cGt$7cAvBuqiVU$AU z!zV~4DbGPH{5X3HtwP-8los`hJ{mxdAEioHzaBxTql^a(5joS*6HzgfFs%C2eC2Kh zwd$uIC!OnWfAL@-n)H9M10D>`$RHrpe-m7RG9Hk63uN89I9dLQb^fm~+ms^hvLS*Q z`ca36!wqPJgR2pe*4CmZQVjpWgPYj+<#V)b#&R@_FGzhAhmTIK2=L*5gIG@1@U{9#2@DW~b|or1aF{JOEc??*KR{>1sXzA5+2zN+_ z2VZ;>zRP0`MYfl5J4fZG&ruhw1})8E!X>*ZYrAQ)O?8(q!}2+o+AOISl&^E?xlA4jOSiL3Q0Ch*m79#?oa3o7sWge`MkNf*-lS{P)w#Agbf)3$P9}g4GO-)6004>Eu zn|YpPz8Y>xF?o7xJcym=^RCB8++2?L-CG8{e?bQPNh~HMT#_P6-7xI$um16e^v%w) z?#ozYtPOKz#9a1`^Xwigb8toZq5ffw3=3bIWoz&X;H81yl?| zM0#5+jT>Bws}p1ZaYM)lpos*|nb8mv>R_Zo^;7V^|&1#@q#`DY-yhuBxKiK74wpC+FVXGDs3XClc0*zSM5Kw(&sx z!7umBErv8G9HqBkQ}1KqgNyl^v+CX%HcM4a#fJ>190k8%saM1uNhw_5BSXAWEf`oc zxcYFGDS`3gJSJ+j?*Pts^3k(eU+UwH;HA5v1m_@Pbt8orD3^&$=7X_ENZwRMh z7Rr~L52kar1Sj5R)Hz^UdPg!9O2rr=#b{Iu!%h`D<}a$w zBv{AiQWIkHwvyg-T1-rlt|;NHRFzV<0kE6d=PXGV@n?71dA7u?7`#LFAt;*MJoOB zYA&54 zzD$l=-;@5YzjR0*3A}~ zi6LM5iJ>6A%#;&#rR?6xDjI2dJsx&r>o3zQ zwQ7qF=UIOL(tCP%d;SG%e<-n#A^LViOs*r!4$r%styhD95Jdv%MI zMsv2j53Kc##qDp>&kQ3M_LG)CvSn$so@U}da_cR!Z~4rJ`*o+7Hg&1un&nW-aK$*y zHRQqV;61No`(_}3)>-cK&LEd2@8@7zWXxb(pI6yET$s2OFW4cV-n>Nul3$GnId2n5 z@h6mPoM%g)f}G+~jO=Gw_P$z=oUyfC_ROisKJ5z<@^M7OcTeakTk1!SP)0GOl$)B8D4eVWaLTljQdPv`VL zmOm7{iv>49yME4rQvsU#9{UaMMGEDiLZhs(M7#xddjYaUAXZQdK{EoRa(F=AAo?dn zZu~C+FZ2b{dsMK_0MUA(uMq>VW}lpC@@(GFj~V4%Yvz69r{nGSV&yl|{Hnh!lMKxM=*j55E0bsP2SA?@K&FEM?oR8$h$1%#WDA+yV>w>V@@<6aqr&kIUSx`4~P z|HZm2#3aDT6nGd|0$11nc{AOALTi9-mh!--s;nXbG(p5q{5Rh*g41fry#~@SQ4-0c zG2&j8taL%Om9&6%mc+Nae>h0((ElXysQ>19?{+fP`Qvru0w;il6=pOq&ro`xIT{bA z1NN75nTb!IK~oGk>{^AxAxn~O*;}Rw^Fu*5X3SaPIUolUL4?#b7vJo_o70%XvCEbb<#e&`vX^BtoxLCQTqxgy!g!N!9WBbSJYF%4_Pm8>|`bYj3D!mL3?s{j_kszO|yj${~(86`-? z)=F5ke7rH@Y?6XU&Dvmyiw&cC{(X&WoIDFZ$BVNuOLWPO{pq+iWy*@Q3a8LLhyya+Rzot;0`<>${7p~ z(jLo99_Utel?=TOJc9sRMj5Gg6T)L1)&@s3Z~@`+F1=`=qM+(|zzp?OQQ0lybqL}Ys^i^gu_?$wh{Md zQ0{hlH|*?xk!0}?o$)j?*;#wD2|fqODaau(uHNAPvYjH~h0 zvk+b()mAiik=sL$kSo;{akHbIjn%F9w#n=pw#*lTG%kY)i;;=CRz0PHrRxdT9)co- zs(H~xj8DWR&iW!f48TuUE8#I!cM z&4KcCK7bjZm*fptcjFCOck>Ng${F3mkpdR;huh`xG4CEFz$Uc-IVbf{#iZ~HuM)tE z0F#OK=}>a`$&Rq(XqTU)aurkuV0gtroR9RCTQtqxYw$6B#gX@Mb_&mXTk6_Gx|FMn zPaMjft(72E(~NPnat2WE1eLX=G~du%grJr#`0-0X+H4#o_e} z3+w#{lxtTfIesY_6;Eo|+6N1nWuhK))XCje@z9{*XsdMiE1-}kadB8n!P?UWXZk2- z=N)wgf}$gK+|)a(0x|h0F8w>)^bO1^NoOe zNAg~H;WsysAXh@nZK1CKj}FjVl%c}24lNJJN5nH<+_eFNbBIFsjTBx?ydCL7@1Q(X zzd+5UWnb9qzV(s0^}|pKOv$`N)^?ng8cx|>!e893X9(x>`e{TFkx_ft(tGGQVQuKh z=y=r?w$&_+eBa!|j);$r<0vMDq9%tWvSML!2f<#7%XT9EkKDPmO@?bWqE%J&q zdaCk2lf#n_i&$nLD#_w#MbB!RpzJ33?xZr@O`pFvO|z*5-Km}1z)kS`%d zpTlTky=5ou@^UBaz&a*XMN_p82k@!e;y}y=yN201nBq`rSEu{I!twJv4Hi0%)Wp`F zp*SF=uXYjAXKn{0kNNdB55->zX~1j%0sfbG-ay{04lL^RxWrFZ0%|#V@W2$Vz zrfp&fz-YGV=f^_|)X$FVhx#u5#T16j6nsy>g0pEErJJFkRG~}-bA2csQ?DMM;Qlo1 z@@V60U?K8IvU1mnn0=n44HANIeS6!sm#^8^Yc7cS*a{qsXZ;19r;I+vha()*;x;a_ z+w^#uf-og)^*A|_*bCU7SgXA^cTQa_m(v2>4v*;9Q=d7GwkZzgc*kTjTN}g}Qb;E$ zB$3)+02Phiv0r=xReqhxlXfezezShKSX;m~tucttf1`xKGNB_2C8I?l5wA0h&Zz={ zXE6q4X46t1p=Q&Pm8*XPb=H>`QF>&w1`~@r)F5=f3aL%^-0YoVipkyW4#v{i?`hQr z7awY2(3R=huG0j1&{jV&$zLFgQq|A9;-)>doN#>nC8w3+vF>V8y zeb?d@vG^x9kE_8gZWK;C!_)jRd!*s+exip0w9UHiQIe3`kf`TD=-<_{zGQdyPy*duNv%oENFR{PB_0^3%Yh2nO^(kfyo z!=89j^8wlEKc+uttrv@=aX;ZD|Fo>!9RY`X1ia_r6xzpO_J+#+JPB!Pj~iAub6{0o zkxMi8(QJaCnhlG@piNm1`24DhY%Rh>XGY1mtuR?O`rd{a@$8f8?WoAmSANmV-JK zc~ubCW)&Lz1+6V(MUDiv%*3$sN62uj3Kk1^;TQ@5$?8m8l6fDa`k!*^_p?4IZwM$tT$dHNdT>^ z`AS3)s5xE#&!H?ldQ9jK1x(>nBW6omrQz*XHrS#!4Koy|i2lF9I?)tI>J(6@YN3-WrLakHE&u^aYAY5PALNSP32Sd zN%ecE4|j78eHb3&TX19!W?b4N6n8VlHE}&@DjM&Xfc?^I-dPpt!tx_3rLeoSML#qZ zaO??u4?nEium(`#MEKUHjs4D_4@6s{&-pApjr z4it?nZmz0sX}`ZR0iIQ6P9#UPyT87Y+HJ!JNkbb$vqF%6TqiJ^4Vu-1L?IQ@G^!x7 zf5&~VJRSid7LEkh>g*q9I9i3#)2&_pPBchl^4%INWrt3skQDNkXI!Wz4bcfneA%nL z>3b9l0NnJ!Aov$@5`$c0&>PJmRX)6ZR&}ckdMshpIDr=He%VKWAUO zL%zqI&xark8W(%7h`J#Sj|p@0@pCODsktWYD!TmNyfY!ZOKXD;k(-*fNrrOE;A0Rc zw(Yq$p1}V-&4=Ly=OG`3rGEd>bh`Dt;h2(k`ReN+|h@Y zgzww+5W&Y=4UI4DeaBJ)gZexb-^+vN3au`Ta_a$~?eRKy2-=qqR-&SF$+FOG~#}`c!|%>28uXXS#A2 zZDGFb^oZFfoVGNAHSoEwvA?4V);(WExM#qdqc{E87tq)_{L;_YB|k*2yZNs z-G(y3QM%7@U8)6GkRAsL>Yj zrE1yyXmN+mdB{YI8cc@GqEc&7brtOHLK5XIA%SE8Xe1JYsT_LBG~IZmgz_TyKLZ7^ z6cD%0l{PZd8jUcD=Y69-S8Z25XAaK;}nmCP}pp^zx8ib445i^8!de+b=`N!IL}a}(*Sca!P6brTqfz}D#>edb$cN2( zMCiLwhxc5X2i?tyGV8hfRja9>%^V{pYJn|oJ@@bp+Fv-ztE;Pymeo6#j(c}6_`n#i zxmZn!Atua(hXp#Bh3vgJVBz@^pCq)Rf|6eWaJbY%D}BG1b3KyYA9e#y z2v>Q(uq{X=sui8IHW~Yb@p~wnvl~K_CDmrjSy?w|Udgtf3OEAV;>6pms?(dP*1;Ir znDgjt&$UffYOJQVJQqilso&X%22aq3CNiW})6xa|^-Cw8RMNVoLH2*^dGef5(pToC zhsjpq*06{|U^(QMU+rDs*Cm!{sd=rQt5Q9n^54SE$!4@}vl z*MCxR=ql6i%0#FZY#XrpEadjl+T_@6ZHOL+EvPZ;gIh5q{2e#!EgTmL>@x>4ra$g&*8>vR zgFQX=2SLMKF=V#TK1_)>wPmOcU(oVb!hTnl=4ym%sA?Uw3c}hph;tsHHsT?fT=Ofi z!};lTJaLg#!1<0C9PNgMLS^nfOoOv1@v8Xvc{FMMh#DN;$Z?q-gLYqsW&Dh6Y=yoL z(`bR;p^>8|98CNS_GC0r@;YJ{4hdzXUq~o8{57|C=L0ecexZgzdN|9xFxau*O#TIR zzQ<@641KAlz`kxir^LbGf^pFV+_MeBv{obUMYJZd4h1SRz=X!&9K(<>S&pvoi0P&1 zxHI!!yXT_Fo|2Ult2SemaB=I0abz+ymv5?bcMK2Ls7`0UO=q8t*SOF8bky8(Xth05 z*AUs;_lYN@lpXTBZBwfr+v9S zK7f;YwA|=t!|V*J)tsh(tD z=0*N6un+&=2w40%1sMP_F8?KD@i&bn2_ZqiKkC~*1CP5wAcIsVHc{RS<;( zF#%9e1&k!DnBEypFz`068Rsf*^1PvBq%&aBUO?ZY?TC*-H&d=e4QvIsG%ioBqj8|V z>Bjrh>j~sfkYodf*x8w&6HKS^VdHP%ewfBmaIVIga}4yilyETE7tBuQXb#V;mZlM0 z=zUsbm*^9CQ#5MEwWq1z7q@zpGgBs;&bZW<85x%4=HTik$683yR|L#~C?nRvVym=> zimoE;i*pi;rtVX2lSNXxgAc?Z6yqc9-tD-)c78vZN_jLnGVP8I}&I_C=Mnd zQ@?Hk1`gIRu!sA|GJl7#Zx_5cV`pZdvfv$eioLU~QQk0>uN$@h#L-|nBm_1EeO9KJ zheN`Wo+k|zYaqH5Py@OeI4x>v8q3{_rV+LJ`EHMD0J3VQ4P=VSZXZ^LZSkL?aBHc~$9gILj9n$*xp;gSrnsm&vjS_Q&*K+j zujzM5iE>vuuWF_&H1#X1Dp1tEc=PG{6TFjm@cS-eZ44wHn4^Q>b&!!PL<1B_0K0Iq zM8*k07%D9P$6o-$6AKeDV!#Q45BN9vPgckO*tP#nrs9vPl(UsSy~y9cmBs&s_(+l; zk@yNdK@DEZkT9YAXir#-UzwKygaOzK)9 zy-2TQ*DL1~h3Xf%Vwqd2Yh2A~ZES*PvTMRaM`C;sbJInCAB8K+aMG>P)Gn*2pM1g^ZDw(Q|ta5t$v6#M%k(Ke^vsR;$ zynl45eGA956hKB;Tfp0YWf7g;_)kvPpy81~FxVDbke5A+SWLue+C>^`FmYO#2x zjBgr;@r|>m7d|WQhJWwi?Pl<7?jT~&aS333&D{%;9%{}CHhq;?W39w-!CayKRoa!G zC$cSSF>_7r%t{)Y{oo}#1xW(k_Xrm6C?E{wl)|ICVN+FEW;dW->3F2aVVCv7Lw+~j z)|ocXN{`I0MZxEg&F->sUH(u9&(qCm{F7OF*v zk=dD{xD=v8d^EhbELLGGv!#4X4`QvL+Q?O;IxAedwKqDVKc_u=!ic&EUz*q1u=%`s zka#H|@&%7Hxof6ZbNK8k_)JKoZN9iwgjS@BV68)hatSiZrz-Tp#gc-!;s$D&bObiJW;l7Y8s+TOOT>ijx-|d zvo{vRsVhj?>0>LW+{|hO>_u>;v%X@G>)4cCLN{m%&7wMlJe+AXoq%M~_z{vE>7phY z#gFD{oIJeV6*sAVq3{Bb%)ow16Yq4emt(f?TMS~(FUK7GIRcS;Qc?}W1*E@ar}HC_ zI-j!M!_>;*pP{mIi0m0T{xKa@=QWk$hE+H5!g*yqDT+Qe@xOXNSO}X6+l+Ua=7M)t;M}q;$5WasD zdtMdxbIHX)F+=GhtnwMDP>d;6Ge>rW|yqStT+jANlrnq5C8Z;sIAdc=a<$cKWN3!hz}fgdM%1(-f|1ZY~SAeo?v2C9na zZj{7Bl6#ePN{!j*n5DTnTn=O{{-Vu4 z;O>XRH*fy+mE8Xk#tX#@IY$vEM<8dpL_giN+G+B~h^Hm$_XsOLU3HFtmi_PfmUJF_ zI~eoPl2>zQ<;E_asD2#dDR=mE`hHs&L&KAfX_eGgY)@8>MRWF1wJicx992WzjtenU z6xx+`+60apKPRA>T-(Pxexv;RTCMja%B}_&CF;N^A^M-91OU7|{wqej$gM+<$M*Yl;8bQCk5A$#C?M?eyZ5R zFcT~Bc19u{hj(p~kysiW?fx2QI=ktaXZk*xsb7k8O7haDytqTPTN=qJ(nM@|4@k!g zzD_)P4w{td4qtw*Uc#pJnauyDYC4lUQoy-Z+MR^iYkDK5g{?X8Ju`gahCQK_Lr(i+ zWF5R&ml*b-<^J;dHQU~$r^lE^fw*zhyCSaB?(O>W@|9D(5qXph@0SdEgzc;g?nC-& z-6Wxi{6j6i0SFoa4q;hIU~26cHx(?*M}}nel?`)uIxSLyl6R7hg<+~AuX-X5m#e9r zlnl$ufB}hkgGZPl8tKdDGiDHz@!HJ3B<&b6;d1_0q|W(e$e!=^uOQ;j{CXh!1#H#t|y?3(OP= z^!l!PjJ>`70$2g}^(N8!O6BtjxdOJ4@+Oc1{kJC+0WB8WjK) zQ3z4#3_<}dm?FT4PS8JrG&1(-x^i*F*fM1n>ruB-2og za=hSr>^xt(yyW`?Y|5ix@r!c*SvHJwi;l#-?M42S}X3@%o|l2m~}giTnkq79B8@iVK-H)FjLX=o|0}KlTLDl zZFILu`z2rL@wRH`QW|D*x=z^J5s#yH-W_YvS!xN=Sf!NyMy#s2ZdJlM^lg0b0@7`L zhL2-c4?q%}NxtA5nfwy$Dss}l+Chx_1qzl~V5oC4=u{9<1DE%E^={(|d5_YBS?c=9 zYJt4+yQEQI)S2F3o=TndreSIXW>dTHaU=D_3rOXQtY(u2t%bSTA*6^#yHJ?8NF9`N zeOprz0j5Dk-J{MoFty-FOXMaa)Ee5Iv`9Q|@mO?W$KLAOCg%(84h-(2`Js)^QHLkN9rTZsu|&L!~<(i`pNi-t)k?`dO)Fa@DK zW}=t}GGmSq?^nhU_t9q1B=Aw!^}z^|E+OfVH?gXm>zW*CjBf5TQS2uygx8gbyZZem z=*jLFrBpA>)DNC@SJ~U2!j*s3@ywFpwx|VOh&G}BvySI~r}+TqJ)n6T@Cr@;$5!Ic zR3Y@wU;eq~UvrrgLEYGckqAWo$}jOl3&+d=(qfD>h@XOy1U2)Mc>466;Lr^ss?kW& zKFM#?uJ0+liH#C^_qhbqF~`MD&M{}0d&AQUUnU|a&sH2KvmHfVPILI)!R(Mu$sp|7 zF+mrPl{|P)Nrg^kg0%rMZ6sP;S+xzYBwIr5^XihZ%Fvl5AnCF`7m=dfA2T&J?@-2ElpdJYOj3=0vY zwZzcy8Ju#{5f)&7P~d4yXsF_$3w=%agu_`D`T8sD;s*5I3PhE#pRMJ^>jA4sTnj11 za?dwe8(YpY^mad4QwI$OKf_Dc0Nm)G$G#6DU+YB{0UI58(=fG8*%PB04nL%L4pmEx zf;h++)=NiC7V0_jhi<{_zu>8EnKVw2*xdw_gL!-tWK$WTD{eo#`F?~-Z>eUO;j_AC z1yao0A@lXp&99m>;Rjmx3TNQ(Ps1*Hu={EGxvI&F9=vA{9YwV#Oi^0cothwGOqQzz z@UXhiLxSL_*I_}*+#7WDR0-4m5v-tRJW6m+=pgfVWjWvv#YTZah~S`cL72`kY*$G? zpFS!W{W`P!U|?Ab%ZJrgXT#3FJ;^QYp)98e^1UT@l?-IV>;`#AzZOwdhL)IkAlL0% zIyV_o4sMu+MWx1M<(SuHI=e za)Nt;lf#xEWNv`UC9n^BpXw@B0x-eQj>tI!0A6YXBdI~-T`7(SK$n=~E4 z6#F`aw@f|wrfag_5HpA+>1W8FOjxJaZ&5w{WEs|t>Q+u$y>?uUe5~WnBqGVz(2q1D zWcQ>TuSsUGqUdnlhrpR@vk%jmq5AYd7mTKf@iI4`6eG{JIbWeyWUAyH(Awe-jH-q@1H>T?KihRx-hVs#g}ZEH?BY*<7F9Z?4%Jh16IkDBzl zdM;?y#^~+tENm#6gWhx3an9WR-pQn7yY}ISoT~xHC(vXXXFi^aPd&Wmz+xUb22nM#58J~xVuRJX zU<<<{cO+hv4Eq-OVH_eh@U2qV66IZX$0F|>Oz{d7)wNAd%akVFKL>uY(^IRuw)wV2 zf^x_?K{h&>l6L^i_w+Bathb{H0eryLj1gF_|I@|%AGz@F4wm#1`Y!s4e>1cESLIHU zACmzAveXV(nex6u?#|-Hn6X{Rv5}Ge62dSP(@L&27@1B>%DUwE^;oFo(n8Xg@K7ODh+p5j+!u}^C44xW@aBJBKIm!$bzmB?ZGtsCqhDL_*0tQ ztnV3L%@s2A6=Zt(@>CSVnk}-^hdqXXG3CAo!)_eqg6hWn5Wd49{n^-eHOj%Nv`B2( z$SGHouk=;gEKS?tq)(HapBAOTP;B)a8NDJadO!!*jBMJOjdFaE=J5m!;WZGKOCrP9 z+7GT4{vsZQHjUbE0(=R3VB^H`9~xyNV?*=5Syt;iJDJfN80-I?wjrnQ2;6izI0*uO z_YaLT!dC?$EKGzqiUD|12j+;gk77f6*+07lGe8`yp-Pw zqx>B(gGB*xRY>>BU^->ob(zU*dbo5+!1tNEC!fS%m=sBPv$rki6*f$|w4i$capLd+ z%Ye&9kzri95ZN|B25<}{TaCn5wZYq7I?_h@m_$B@%o@6BIIl;0|4f2!sdHCdmEIAP zZ7TqK&)q;Y+C0o&KFD5jZtRu@+8xeP9Gbg+*MtOZQLn~mhIB6LyRZFhs5X39Ci)h* zW?iM>GO?u4NI`UN*7G}V0+yi8TY+cvz~WhbIbhm=&Zu;bbwyzvfyMZqNir=M1Ur$P zOXE|Y#y8jOGpx*yQU{9Td^0z}95K;5X6B5*o5DWtJ^boxfcKp}i`#w14!a(pV#Q0BO=3e7cY! zinKfOdY$RT(8Xr^hN|cNif^j&0qY7y%K0zWc_$7+o+ zMCgq4ke2MMUo5$F7bIO=*LPvPE~$q?<~HjaAy^-u-#A3NgHI;GPskrvq%U4dA~`!u zRd+@Zs^TUThuFE=7%f3)>*y^Jtn0V215B-RsBWMLcJ+xpc=6?h<9|VUE!b6ym;!^B z9N1a`MV>zav0U^f`Zf;Ez$n$XGp83ZxB0ID&sotL*zjZWxZ+q+9#rlvxGI@&Ic>Pf zBN`Zlk_1zVz=jdDD;y2X(rJs{VVsE0fC00|=XVmmlHv^~A<^{p;>Xq__epmd+wPCI z8@QiLi>#5k?4jH?q!Fb*XJY~K0^$Sy!D}rEXJb@@31;OK6eT4kWok+_BtLN7PlgO(jMA!BuYDLAJKZ#XaX~_v~e@*cJMDb2Wy&3d_W&-HkQhUn)@YMZPVhD!cLDP zfLXg{^o0WOdOexnT(uNQnWI*T6(mg`UMN~s3SWXJx#jb~COdy+bJk*;%|4-obDoD+ zu>rRhcWON%RJEC;ETeIp`m-R~9+MNAp`=0A(C@_21chQ*J7SE-4?5YoV!JBZQ*EI( z__hBYD`Hcb+8A01gLlc{_2WU8YpNq!XQv9al;v-yW zwZjiGO&+cQ6Rrz>bEQcHJfA15`b&2QsNmt5#_cTr>$go)#ne4kyuFPHeo3u^jAYEQ z)Bv&ZL(YM$2@1?F62*u^<~=M+Ug@~Ku&SM)KWXR~;OjO9Y_1FM0%`dOZ{y@MOS6dU zrV-M9W0(sZJQD~I#1=xlJL$%Gx`+Fn$H%cHqLh$h(qOGZ1@jUsGTq&gzTy+J8U|t+ zCbk;{ zQYB+-p+qGVc|oWU6x=Y>gs6fnWc?6=-I+tJhs(sSo+8i68s;>SjeMi*uKc~CQp*Os zn;mS-85=oUQ}mxO*kuU)y`W#&L-P@b2muvz1#)n~cCE99p)BW~0fcktvn{v5-hC%G zUBY5j)~D;g>_wlRQ6o#f>@X#+weieDXmR4FU=u(|Hy`k~?^ewe@TX??CDj;55n5tf z_-{z4+LtP(Xte$w&S^2RH@A?EXt$}X^BF3!xxP;2tY*<4rlH5PNWnwp8SL>kwT&v~9@$qOBjmm-cL4xYP*U`__ck9H&@{cxqU*{8G#P2_WzJ#{u2{MSzJor!yRC2ZD1>C>-Nu~O;Z!-2&N4H zfwD&w77~tNON{*_VA(lq(Hd&TZ-EHYG)u^_eawKuj3TVLR@S+e;eDz|@T##E{`;4y zFTbx+cNH@;6qFFs4MU3KgSzK=BYnc(rQAZUDE!Gf2zv0fN)P4|JG>D6(FItG4sr+EU zYT>HqIu%;n$7|}dF#7WWBX+jJNP=MFED(7(ccE?&Z%FHu+LF*9O6hjU9ppMnk zC%%D7{M>3Dhcj0MM~I+lK7qO9(B}1s5iqHob%#JYx2RRMu~@vG*;w~{R>N?c;?#GHRzNxEtm(@3 z=V}Q_I?6Fok^bNMWMgU`MY`i=?tPSyd#hLDJ7`fJ z$xDe!EHqi9&KdHmQ||DpAqUhHwdr|i3fmGHO;RB}E0PxNsfBoGVE9b7=p>tJ>lbt5 zEcGLSwy9{7W-{ZUS~5loFL;E%n?1KzX~}1*r=aE*X%nveA}9OVR5l~cP8w>?7cVYs zz)kZlOCK--wOO}l>Az6$%dTE=)qWFZnHV_|V_#!->F`gi7R&A6&{0um>h>oV7s;r* zX>Hiv&ijx)uy+!NL^HLM5oUugIp!}8rz1gytMHK<9SCy(uL=#J~dJ46H zW?+n~ZRaw3ZpA~c#`vUmv%|&+jE{Ux#!<`lp&hlzgH=;jmb4QJsh5oke^(Q2YsWL$ zT~#$DoZu?oziJ^V*1xk_ju$$*qLjyoet1OtiT8pgC-nerSA)$WO$z*RCM9~+AgP@= z5BX73 z^6wa>f?QiGl3wtmo32aC?;Yh@J7PZ$1iFl$2lEE1mKBu-Kx7d^DP<8Oc>wodDHiC6 z;REQ1K2jNc||*;___U}oClw8)r`?TK?mg(VHzSlk|fSugWU8}B;DtX*yps5 z7fgviy#w$a7^tw??EG3gzCZch`{RIMSS3dNs@CX^YcXNmt|GuIJ6Gq>pbz95U7dx# z96w(*D5N1`2K!mFK`4_f17!kTy*9p0oI3T3n?C`J)qd&RzIVZJ_rlTfIh@0JVg@|v zIH+m({Y|XoY=?Bbkv>bTF_X+;54ctMK%vLY0Ti}jPhFx1m4%W~I&@Jj9M)N|-ppiT z$?~D2^7EEgC~OjPur)8h_LAnYZ2!w7`GcZ>us97}<0(bWFSW3w5y2)**W_#)xfNWr z2HhWe$bENer?=$=dX-bv;V#4jGze|9!@XKgI(z6tUgA#@GjY4c7PX;?1|ONaSa%m? z0?&O<*knUS`b-u|@LTjB7F?eXh|T``W>1TBMEmDzSav(LE3!g0+_Y{wfB*PPl@hhU zIjI1)8GOKV2mk-NO37L28ycJ0S^-aGf7XoujrEchCkbS|paxBmkWtF~N_-@i(-XER zi>6ZhY!HBoL@D@H;~{`KP+*eX;jGNJJVWGH9^ZGMSIH71f}g6J{Uz2E$JTo7<;BPE zFEt@>7-%$(>h_F5$|@67i)CsUCAip@@x*=(r(=cR9dYj)`136*c%{Fna=zzQ33@QE zMS-B{lr3Lz`ks)mnUL5m!{zyPsC<)2O0qCBl8uqt8l4wg#S&3j6M8?(45FH5lV2t- zd(Uc!g7^F)WbXWQY=Ibb@)KFs2@G9hL-Ss8L~f<4L(IVN^~+fq9F{}8fLj?Gncum; z8RNLP8SLjrB8ffzX1J|Vb?zfJh{y^tRE zlx$dfpqYJH-w*9)o}O4sNm(t?zGz4r_n|`Zu5;Jc(<}ZmUM!29PF&{9ruO&g3rG6U z7Sr3f22TT;FWGqF8Q+MvP;|_;8Z~s-=d2`l9wv{U_ybuYW136w$SYOMDVbja+mW*L z8<=h1D2~I6lw4sVG(-`+dTB9-)s}@v1hG6}??09e*dxt*5Ip$pu)>FGsuz8?>+hgV z4-+?Me)PEUPE$pd1%STnan7eeDAG}ylyc>cQ=B%k)u>V_sO6a{KzwE?lPasgf*b>) z%F!ywK!yU9xbnXV|9UpA((9jlqiZ3qsPN_ak`HrYt`SEQ$#txj`AO;OPd8-x@E3NT5gJhKYj;kMm z3^;-U9aCWfa61l=s+j%(WknhQ*mt)_j^Ljq*{YZtie*JoDiZ1g!&g>uDyxbf(HK+q z0JO^sgP-Y&(!rgjnL6>NttLt>WVdxxM`(()W)3#dILX{a<2MpBqgvF|idu>gn4IN3 z!`mSEYACaMWXudgc9q}*I+BM@*5R6tuz1%OY4gTDNn^rQX!{MuB^rJ%O)Xr^7VhyW zs7ECcoK#v2XQ8fK0+`Wr;Axu4glmhGfbOzGw1C(}O`w#`OVOP}A$O&PyLUFBh$s&G z`Bwt-!jk=pf@D?n`1I2g{*LI%+(hTylN!98A_LnjmC9B|n`^%d5`f|)N2hINNNIl} zeXw0R@@Qqaz+Hg72673W$sXqGBCesraEUk?1#ILGKyOGVRT8D9uni?K^ip;NpI_ht zGX3&_DSLwwr79_Dl|?-S+M+OplF~|^1J{Bi9bN&+(;W@Kado$q8l}UkoIY?@L2y{Q zKw;7|?j-^`>a;X^_o+mO>NGu1o#gjsi}p46N@lUa7l~nb;>>Qb z0XEywM)rIlvfw^EPEn?0*JjAV=28c#B9P7sDwjkcfG#%@AL_CvR<9Sb2YCz)N|liw z7;+?M{d7=E*FKO0Vo!(!@-rmsKc%4v_E3TYrV776YT-0VezJ1fj5agA?u2> zf9HiF#xyo7?_8OGTufGi8nP4W)yE~=s3@FbgniGkkh^U%tX8v-m(d9Cq2171){Z*C z6SrtEPCiP6s*?9NGffOko|lTSlg9EePWNzmSszbSe`ki)xxy_;wj=WV^3qgfRI~>ni8b3AZvIhlt4;seR~_P5>w7ETzXwvu2 zl$_)NP-`vqGdEUaN(*G9A7^^+F@)6N-E4`*M{Q zc|F+#N!4GFahBEUI+^Kt(RuFk@kj56l=~teK$A|P<$RayqGfouD#EkHR(eukQ=q4Z z1yH>bC+`xi->Nhx{eh>dA3>dSDcMa&v?BMO3;+0*ry?;QIbT+iq1;)u)x9eLCL6k4 zsx(`{SaH~9Fl@_A646G72_c~nR;f}?)yvj_EoW3yV9C9FnA_k(p4t$P)ges;8}T`Y zNZ>+(ZKeKJNk9X8rUKJO$UdYzxP)2iP@?_q`|I2E(=I>7o-MLT--SU>q*0_ctiG5q z(GRa=%bF;d(ADZxxiW~XN5!sHowUm#R*qDCJL)#H#ePR~%gh%3tBQj>8S4^_AH=&< zF!lMT@c3?545vK<#_d1`tNvz>e~2&*huXsxA~n9sb*RXOa&d`#aZpFa1#+nVTPA*@ zkr7zbVGPXqC>DDA@B~95*Id8b{xv2thvgUSUM0@+re|7iU!A$)_sI<=reoahSfwcH zd|KM(Ugz=x@+^C|hh@*_@17EOFqfSu>rv$wUJsX%vr&p*X z(YOOJ1PJ)4T!YGf3#q9&D{9AqY+QX|oIEa^!}0ZN=2VRH*g?1=aL?WIbU}dxFJ~ZT zR-bf#cQ%Ch0TPGzS zhp~XM$N(3`ffH*0hiX$uL}N32w}j%H?k6AFBYh#UJ1ql5uhX3G0!U00DO)8G~tp`2X>#L1z>C>=lT`3k@GZB z3m}!QaIq4Q-$AlMnT67%&yj78Q54vHw$IuT@yNm*0uPs^Hhsm*D|eL}98*)WZ3u_U z0UjL89T-fCib`Y2P@AWZhF&^T1EJ}cpBvhat)&KgJ~x2ZT-3SWVyQLBjM@ky8xRv8 z>}Qu!g4q|`$_&g^5?A%dZxk~x6<(XUq`g2`lAyS< zw+KL9*&PzSN~#I=B1mXi#;b2>psmLHx5%fo*gZYp1@e97_4nTer;uDBZH`x0l#=VHtkbH)oyv=Y9(~qb}ei0^GrW@lhDcmF< z%&F0!x^6z!H&dk9rF`OCS_cA;E{~6jMYp0HsG{*74JAgu?uw3=>xOUBoJJl4Dzv#_ zvq?O9b7~Hd02?UcG{c7_qxi9PQ6I`K$wz_0Wf@fDd#KL`;8ez$1@oDa^<9z~Vc$yu zSF?VSGZSHT^v@6V3xk{#hEYp4ThHUD&EhZ%I&s?QxQskuzg785>f5AtMFgjI;=_-4 zE(?zyEFJ?tr-Jr1@gA`+mWey$J77~?a)><(l*)@A$h<%3sBon|6wjG*fb*Q9+DH@+ z`PV1rK7NW}O>Q+_T8YI2=x^hC*JtKVVJxoG*rH%B%v7UH1vIfonV8YhTG;+Ft=ZI- zdqkP|WsYZ;$?!eo_Rb1U-VI5cpCR4~c7tURMC)D~j6OGHx_?q6tTfvy#)BY$N8~p; z(TX*$Bu~#ZXQWExnjDd4=*2j;0-o%TMSYms=*yXQ!zB&u=9z{dl=k7|L+ebEb%Yi< zP|KAsT*^V_EA!~PrPd8~1fUDLdpIu-;b7PBxpCR2q57cqiInNmT0K0G)91`VufsFv zdwZWNpW{`$qiwIjyZTfGd_2O4MOt9Q5N&Z?<482|^z+1a47N|@NdfH~g`=660X%f%URc3CYEs9Mv%r!AhyOTc!GqX zn()Q|4``M)*vKU1Xk*VHTWt-asEdwp`&G|<8HfZhFH9ryWIwVx%ofT;86bB>x z%>ng2ixoDC8#8DR#hZ^%6I=Kl}H6;^d7y=~%({oJ@1j~4t`m@E=#Xs2mWH&L^k z;-VW?8q*L&|&K)o1140UEB*dKu#J`W#}u-p33gm7-(hKX7U!aQCDQG@KH2Xk`F4J z6xaVl**gbkx^4fyv2EM7ZKq@7jcs*o+qRvK*|BYP?4)CNaI^M4d!PGTwN9OTtDdLo z{quQ8&4D@R7@uzrdYr!)sx8ml)l#t}Y3`wb7qEy#opgvyzGH(qhypx<6Il z8FzL6!2iz!qqmCc6~2T+nvta-R3`!ziP!P6??%qC?Gmi9ktak zeM|;r05XHyE{ZRsnj8ceM^F)rh`8xh_8{^qw@ zw_P6J6{&21%vn!PFYO>$@ z#;@&)2fR)Lz<;@aiQ9Ip_vX=xdv+rMzFo8n<5BI3xdtol*-hN}(H6ovWrFNs@LAc;8 zIP=aXC@>%>ScNhR%J7yAD_FOOc^$R+0wmZoC`hP!JyHD-L_^R&z;{mU>n%Q1XC#Qo zRk#O4pmq(wBv84wrnyH>dv^5>)``2_=Zfo=?Hkd3=8C$32LD;G!-?FqZukvR1JXMo zoIrTgs?yTZYGX@T$6z7azZq(6slbrz3|2zNCqSP+$YwSo-%Y%Te+l>}K{QEqtu>;n zmwRaU9D`rm04|KXrw@P6Bg3zWqOOn2T>n; z{|U-bBQKk<3uVNUNN;kbvUpv_MIeLedp$UV5ib-r;A~t(g+X;)n^H3PbLnXicaV&c zpn3)!y!lvv8Fl8S(2?YzOxyWdOhl64-`d_Dn~cBor?70MSO!Sm5K1LXGI&-+S4YRo zEyCIL&#ShG5@7^SRA!848}%aYQVgOQD=&)Gc8%o9pY@`GYyIG6Qc_z)@F0ET$g~r< z#NAiXJ~Li85x%8(nICmf&8NoYcfXegJV&m>bphQAgb^&OA=G`B_wJrqlQ(P{P41*N za+1SxO2$-ZL_R}@xRjM!nD?${0L#w%@1Sdp{ecO<_DqoT#m;R-(%TDFl7;d-b1i+C z7f>fnZt5k5W3%s}2Mf?n!i9OO8>n~ayGmnLho@PCR&G4V1E-5%MIThu)pcC-j~x#d z8s(&WF^VKh{8dRnjZ<9K(e6DB3|>Va{%LQMd~5P# zq+^w%&qs*gIUz~A`7aXh5lDy^h0zx8o6q?t8Q`a3M#hB8aTSlC+NPwCWaf{SqXEnr zWe(JiEL=Db&;31@P>}gxr?ZsiaWjOajO{IquD%hqG#OMH2oGMOUaJzRl+y}cTW7+- z#Y}4uFpMnIoG64~LVZav0u?*0Xx@=On1Z$ByU9ZBx;Z>b1ot>GXEF`rv#G7KH1l*u zgxpW(@Bw*(SU0bGgx&B37NYhY-5I5LOVPd zqk$4~Fs$xDcPA8{i+nCEEq$)(A!DxR{Ske~>U&;feIbHXqv;gQMpye}Y%Z-}F5#5N zN1BKWd36`pc;qwfUp{hCz{2AyGZvY+?3ZX^f3B&ixWOU7qdz+mS8Vc7yg)=<;(x{K z{5-5kRU132)+aP7skN23OCRPoY5gSez`k2=Z*N;)#wnBMYQQhCEKio3JHh}-y(HWA4Q77kk->ng-xPPBewW6~ygEC> zg(!_RDIeSMykMd~ur+Jm&fdqK=&Y<4gS`^o+Up%yCPGE2WdJL*{-}wW*oKf6luoo! ziiM^7Ou?G0zi_T!!ei$m(&L_3Ej2wlT;@XIMCL-Q919%|%w2OEHEG59Gi@@?U{M}z zZmP&^Ts?u;In(ReCf>Ewgh%*lVZ&>z2!a;}yYAlK5;G_%q?P}4hR~5H&F*)5no_!A zu8*19SRB;EFbE1@2&;5xoMVMz%3C8(iF(!f+t4D>m&$e~ZXC}FDD^ava!x~zsnc(U zWiB(RtMF0Z$#{?2cv}K()d^C<;PIv%El9DJb~PA*njKacU&%gmYRTk2PgcS^vy0`I z>O&cZHqz`Y42VY@%^fEA&(a;^V0Ut1CWX1Bqi^iK{!ky--kretATW?f&s!!YSNsFoKfeeUCR)sOOFTdO?4MEgp){aztqA3; z{7WvqRkKgf`kCfKyzi&gGv`}p=x6VWCfq04!u++tvpxK0(C5;%tG8$$CA&B3wn#b} zA{$HH5h@Y<_OMDMkbFK8j6g{QoVP40!mb>aJ-!lgHYbVKFHbTN5)=0$dqpn6c`*vm zDSSL>wgM>18%A9iUs+VU0utT$*xy+Za5eZ^_jA0;XR*vU`nxoh1?Ss~ zDV%~!!=W=r(NPza`cT9VER7PWi1@>)Bd;wSs?sa_o_4t5^^q2&u#GxGlN^48syJqn zm{}N=ehDE@7~%ByC%gfowlL+RK_;b%K_^xQZH8~Th>@HJb%Reyf2UIA5I`p|Qz4_* zRBWA0N8X_`E27?sCqR@jkxDqMYjLA?`ImK|D^*9J{18#9j9{7ERfr)(MOUhgfNA)K ztS?W862;yiMrVrq(MpjTafpM5d2F@Er#|sAc>&|AN>eC9v~$N`&=&4pOHmmji+X+yFTWW6kl7|>Bh=>c zHl5F|M9ZK)C?UTX;R)XZ^NuqerhzsmbSY~yFILnROag>VpK0VfRGMpN;Kg;oe!=aw zKqJDlw)vxH&wJc+7zGt=t~vsvK?}9U2zKMJ1ZqJd92sgW(}4?(AvzSs)P?2(9&#Mk z3xwxJLuz&19aEz7Uc{iSu{8@x0>i3M9*u&|mXuqBO0GHHNMB;w>J%odmZesoPKvdz zbT)gZ#G;Jwa|!{0m~l%9cWFQ%lA5`?$9b2YKcPH@vr2(%PZ43op zmgr`vLsFI`kCiBkQ4WU2ng#b)i#r*F`qfn`IOm*dir>84F~CMns~ei_Ii4=p;5B=y zYgU=F+?KQixzJnPC6m+_m!d56yH(ADTw$FtvK7wrOVhX2LR7Nq0 zs+k>JOYjxKteW{+O?S1eweQ@K*6pl$Jn{pTt=phg@cB!G|ZHc$SWF$tLCI~6iRSo9hPA^u|g7~8aC|O#$p*2~k zYeK(*+vd8kIU77qrs#$UD^4!~z1Tx|{JOWb09MRJ)G*Eo9#1zBNcbn6f-WL}2i@QV zE?JLMP?zHc)cDH5-hntdi7V+31SU9FSj)6%N!_JM_Y@H;UFyGO54nXz-wJxi4uXt#A7chehM>=LIFmy{O8@150 z&du19-Bpw=vNrIA5s(b|{(CknvItT+RbWA_p^0Xy$W9v+z)x~V{drQ0OUc+5;~i;D z-&ITvsJaJlKrgDU()wxUtOwhlh@7F=l12`v5?a-PYVxBI;^heyHcT*E-naZOQ*j&n z>h>*#>fx>&=<;}Rx3f~?icjTwtM8W{rK&nE`=$>dRfFbuzHl;sx6b0QwXC&V*YB?A zag>++z21Sdeo*Wuzy@ZbR=F;Bwm_c9M=6rnbFPfFG1^odZeodVUzr^-D7SaJhpa#| z0<2ZqV1-mG)#-1qKZxDky2=shzz=aHHYbqILh!C4r!=3dLDIk({YU5PEP z#qx@Z`Q6$eH_jFtQIX50pIG+84to|p>$>!6Ysz^i;^yc14;a|A=nut3WddIZj5cBY zVRq$s_=c!UIgC$e(*EM$U|Bb(T*2}vWh_4v zd9r@aPw9a3fiBTZT|N^EN|(%Tr%)#I;8j30zz5aY$%W2gP=LAlkHqH_f7Zaq4L?(s zNm1o=xq#D)P$;05vm_0UQr5OPyd8el6ds_H89(gtn4-fc_Bf5;BUyJ?B9Y+VZ_@_+ z2rL947veq;<9|)?O1?w!?PVuwUFGE>YRma#19DgN{*CGVb{_Wy(O5PPh#*l#Kx9U4 zO$(N=q|6M?Kdx`&^!E`<3-=4V$Z@f|tYz*=7~FAU$L6q_>GxP)hb@Gc9|?2c5*mtY z`x{JvSTyh<4$08)AvAOb_J8E4aQFaig60c=$qb=F3e~u%^6fhE$q*uK<-v670ODeXL{6oaJco6)DYnUoptH4*69b5_`Dg0<#Ou4DR z0BF9N89~qmN8BCMfhr9s6EWjT(i$S_-7OzX_bWiTNs=4sgcDR$n5*(`?r&^v#_;yrsI6_ z(+8%6T%~zO#)Ez}2ZZ}RxmDR=H+Hl>_Ij+^kh>ioP4JZ@Upu0lO)00JaR)wvH*c0u z{pN;5Kw=P1)8VjVi%Fq;OO?0W-FJpY*lF=y$zyf8+8 z5w^uX%w1pyWOC~r*=wTHQVf}$35R%-Q_?fUKEV95Xem1G{!fv8HGvBvIl5CsB%2V4 zP32`o=kp0g|IVf^!Xx~`ygOVP1%Gu%w8(fVXFMJVSShn1lM=}SuwANT<>~W#t~e2F zM9t|Mr{Mi>N*Sk)ctIhyxsydZhq>aL+H^XShGR;aG=>uaDwMKueLpzjf*j}tL5@+@ zL74)G9|v9tj)AJV#7rcm(XPmad5e{o6M_6ST~Lzjj2OdKvxF|>C_>E!khQnP;Q8R- z9ioFj*)!jvru?Fb_+$unxahY=N<=u27T}rE%<#wydh*0>nWlCQyhOWg2z*;uFfYw(w5vr%b_kzDW00gVC{hM#tRf)u3jr;$g{^-m@!Dmd=`;gjW zWCBX}4cDR5Zc^&!pHVpmDejW0&p>-L?@~9TATH@B=mLrB?|=(mU`rtb zx`vs0L7lrdFFaK%JdF$f&6rw7W`Uu{D&Nue!1~O+J45;Q)87E4D~wLSEVBuxNWZX$ zYw2gA1KheF{7+{7efyFpA7EeeTSrtMQ~K{HFZoNFteVvju=c3WDmx_EsPP=}qru&# z&MgE{;BiBNkou*m^~jeEP{;O^VdQU5qEMef($5-`LR|J({Z(Ve9(X}ZOi8~Gjsid_ zkr9(3!o2qifNmX045nqb-f1XS}$EdVqR5PW= zURj!jmSP!t0ab5q=RUlj5_q4eAEv_C4lyT&oHoaDy$9kBK3 z!1Sy_^Sjc){_O7c#m@VG52D{X(3&5`MX|p%StY=+|DeD5m>%3Pemw=j-7-;F?|nz! zaAK@?z|_p7!rF_6m7|Hak3d+0{30Snmv^C)&(Yy0Wff0bfBPN9iilx5iPXSN0 zglF3#b8q}OTNA~bwUMoC4C5jSx?YL6=G>8A(ALOW=Ha%h2?G=rH`~=u2^cl5jY-=) z!oy5hh8N`y%^^twFh>^1V$G%Swuv42WcQvKBK9}TRq^amcgv9E990*fa?{kbQ(G;8 za3FUQpMA9s6`x7UpIJ9#CVohbi-;u{(!lWyfc>&qw?{ComA5sO%+GL3pbskeB=~WI z2+cc&b&rS2(~5T@r^y&ixiHum0hecPmX?YfI2Bgl3e*B8afdVZl*hrghLLHbI!iuh zLMgsa06bL^G&?IOzr$pqI*9`uW2QY{6C9eB&v)=ns!`0y6mrCNo8D=;sXwekaj)fR%hSaPlz@H9vX`r?bUAjAH~^HEM)HnCU(()v zGxdY+Eu6z4(l(y7MKqu-a5)Nbd=O!kY`s9mrI%q2oWCEj+Xz#aG|(Xls&8b7piMq_ z*FU`9|0LmiZ2?C-S3e4*Gp> zVBOPYU=#I;cKr!}*S9JuO~`XuL>cFA;T4*~66zR(ot8>lPNJX;+kAFlx1OZs)R`^iF7bfweQVBAikQ_#k|2OC$~LMKh+N@oZG*qbu7?GZWYt z1|mlZ4W_VNCsPmXLnfnXBUWs<9nP3pg54hnnjvZNzpudeJ|u2KBLyS9#f{Zf|BTEU z1O5eqI{2GOd=pr0PhpknaX{S>(y)=&_sgGKh~SnDMVcA^I6dxk3cD3}~K#Gmz8pl02RbY_B?{9K`U z!~vL78;t%=e^gXT)$uU~7=+42->m(;<#=mZq{zJ_BtBv(PZ5d1IIvTitHL*H#oA8uq7UMK)%UX}c0E=0p zhL;8Du`yT-&W4gtxt~KcCm#@>q#&^J&wDv}+Hw9qbyPT7UX* z^B(7!`@KOMqW{5}HWnWk(OkNQ7Ff#PUHV9!S!zGwbH#++^4ni{+evSC1&*Wyy3uYFk&{TM0fv$3 zHj%~W?DZQ4ak{$BAdp+xIaaDMEGL^)EGCq+n8@;?R>{Zg+Z-F-f-QE;Z0j#|Q!ahP zO49xocdVq1r{DZHqGW+91&0cR$bYax3OqS(lY>XyO{xuyga0s7hc-91i3zE1+=B`W zsrWJ?!Zk-QL5>nqCgnFzk;=M=X0_nCV_zVz;la9Xk|8DH3mA>Uw^BE7rchDqSp=6p zytk~Wfln#zKa1$a%Ex+rLVx}W3hPg_d=XUh&2uRQwCb`(d(#vgSq4Pl^sQTFscEUe zGv3lW&ZNSdUlz|7E*AJUpK7C_&abI|oV58{#xlBYj$n*v@bpONjo{TPS-IL6hZ$>( za6YS#5a94+rl;mHveGFmcVU?+bWDBA1`7hH6R+krG;jPAg5w;a+Xsel+`;0Q)@>bW zLbGZ7?Ik$$#T-O%T6q$gxy9Qz4Or&mM3XGINbO+~73t_?+N+EOE4tO>ohT_Vqlyhi zm*)7X;I^W;l~&LZL~!30cl=hKnq?Vr-G%^D1i~}>M@CePIqEHfCpm2IdG)q0G4V;?5c(EaOcB`=zT_mYR`55&{CIxG*utB=q2R(E zo|%PQ)d0#?zET{x1GN48qzNGrbp;-gaAL1b!9Ch>E|HSLVPl2OEp%espKmx*y)09- zFts>U_d5q?^j$S_lO$2@$@g?yLtbDE8X6~b((Bk=afso=YCQ6ZZ()(+%>*famPc%L zXugt>fHGC@NEdGDE)NbZ1@sSz&>lHv6P37$Q;n9>pUFcL>1B=toQv7tChttp?`aO& zbOv zqWwK?jp$ngBpH9=Lm~1v=_7VlI9c8ZabxK*M&;;(F0sV}PCZj~D<*Vf!?V8y5bG8M z&GN5ShRm-Z^8Xj>$MNqb_%E!VEbdpAV$xu>^g`uL(L>S05G4DFYJJZth7wI=#Vihq zKx~#Z%a06sb92~tjR)y(Cttib>8nc_%ca0hCTDks0Na{fHHu2JJIQ0BcnG>5=VPnwZ=rTg;aFI)bj9&O63t$et1lv zU4QjuWT+)F+%>WR9;{LlVB@pCB<+Rz)KyDS=*^uMO&E+E<*Tq}MP;n8qo@C#swO}_ zR0po^q?aK?3b{3a8?awCB~)9cBP(fk+c08rY-4GAPA|hZIHs|q777^v`1sSihB7kl zWNas{E23K*F9U$E~#3Thn|xwww#!N18d)rEGY7OxZe z6GlM{?-}@wYB2hD$7qGPCEe7tg4xgaAses5s@@+T+x1ElyIJIo=JXt~NB5(UBq z(gh{LIzh*9KNwR=HZ|bpW6bh|k7D?f;V?SK6R)}(16&Y>dI!gyRycy!Fk=h9YfiRN zT21C}v0t!$Xlce$(lJbsnwa}Fg+-g4;Nl1! z^btcAYY$*n66LFA?{6K9#jXY$@x!e}+!nq`boVGxh2!xmD$?#y0_o0BV5fj9@P`i`+i!dxJK*^d?_RxgbA)0iVjl(l1xpjqFzvqV!{s5?5B%x zU_kAMl`R7*oApWFMGLp$)+2;}>+yb?1}YJYb?i9oXu>t!+ynY2R2l|@$?ScPkIsk= z489&r9PiGh-r)wrt*pFrDOcpo+QxOvz=!d~zq9_#K5uB8=0h=Cd2}s+O#n!{N-sl% z2VwnM_*_^PY+eM(^h=vokU)CJS{@P+3FACF_~r z-?XA06UsF- zRjke>5&2QfFU*Gs0@UWc;ch)fPLTuc+#d zz|VD34{E^lsDI&Ce8-vK-Ghk}&vQ(}a~qCaL#Lq!7Gd>W67w%GAP-%-h{Du3;k{&rN^XBQ<^vyI&7s_g9WnR5uko-h5#XC87OTG81ywT`8o zUA`}~v7Sp`v0Zl&;B4r{Y**hk)1vKY0i=dynK4Y!pOCw^;TM-ntL$N&Ut<|Xb?r6N zz0Sgoh*C8f*PE}i>J?QQFk!-v5Y;FxH0fUAq)IdJG6B|1ZH3*BZS2xxhgUF~0}nB} zWI~u8n~WyumIAr-HV;xtBwrgKz%%)fMP59wV%)k8&Jgt?m-H^P8))>GvReq4>d)ai zmvM0#YtGV5HM(KUv0$84cqtT*?7HZ6nkgvE!&&e>y`bPk=N)j+ykuIY^|}Mt#;n25 z(5<_~`UEcsd!1tu88Bi{jbNj6o2Qwr}IFlH_PQ-9bh1c6#*M@`*M$Df` zgc9#>t;eZR5p0r%*KP$EoQTxt51t=}?ylm}PGq%Cv|jmb4#Ow7K>#Fdvl#U#SdxE6 z?q*jlZ<1GP0TXt`rkB6faFfmu3!C(phl(<$#uX;Jwh|ev+j;JY!rWduu#FVRQta-% z`ozIn1!Uj81hdM;&#k?p5;U!Q45BKClA?la@J9LEk2T@%l?6sjNIOBsuvuX@H}s&_ z8&oU=xJwTonn3VMm!89n?(thCo%H?rIO;B@_l?+|bF>9dFkdv6|Kl$GTd(I4s!-Vg zeck7sHeA5EAuZ|AZLzr?*UP)#D?%Vi^AB=@rep;=Zz75{c!PR5sr+J+z#_2U1E`fC zT2o&Kv7|H&8>CO>_kLusJsnH2aEY9qk;I*04uqtQ!ueqf)R$r=WJ?xDR-q3npFYqL zP*%~!-1tESyOW23XR<*ZtMiO;;Gpkt_9&AoXcX9TZYd7)Y^|G^TH;nthUljw;qZLt z21BVM^$;*YjG=`I1)5*?;{ts(eR3C40@JrLegX;dU05;_p^MR((gMPM90^Ks2P$ie z&RqlXF%xF!IdKJMD&G&O6DMfAUeD^PZy{Su_q7hWTUhu;S`g?)EOyfZ*g0eKlZr*( z_-*<~Vp79@lgi}Sk0Ngy;cX`*{T#7<^GAt+e}h65RJuZb@J-#qD)_bU@^!6`L%q%( zF;iZKG>kTtTdKz6O8PM|Z>{PB<(lk?|Ez14c+1Fxp8cJg+_>%}vg}JgS@?Y>J<$19 zQLiK4kMt3-LkeX%J$nA-@5+hq1xVc9Us*8X>m~b#Y-nz3XX<2W%&6>Y_x0o7`H=U) zenkKR0s<96!41OA4FW*|;;3+*kEo&mdw8@LJ=;J#Ir}U%BWZlJ7hg3qEls;PEk!eR zbd)G9JFhA)HC;nBGrcTNGrl4(7bba9ZaJ*n$OH+fVqr#lQg-D@aa=~80bp!mXkust z1T2A(4-ZF2gaJw$Z(?K!`nO#En!`#^_Vv|QU++Jak^lL6d4P+t#eY8EG^QINPzWj5 zJb_Rc2G?50rfXOxrX*z;gr@V(X%Cre65N{$masRBg}|aD%f`*@*7WhELlB4#2{Ifc z8cKf%*O6E*QLoQFJ4N^S!hxpPLcNicSWd0>`vQ*ibrRkAfJqMh=gpL#SonMgyNI2d zCG4KhlU(L^NR-mT+SLr}1*fTJwFX@)%Va}?Xr>R_duTAoU-7b7z0F&V(*gERMIdm0 zaC`nX*F~(%%VzpD2_x_|3G+|rwtt3-{u59%RZnF@;!AIpy`M$Ga32LlO11~r7{)1U zzLcDp9Dxk%4q1+ihIsWBSjJk9R~M!lG0O3`EcPJ`h5JTY!=TcL@21DR)StWwjxDjHIS4Af1th zI{NylBYK2|!^CFXqn}7ni$+iR3=X2r%&v@ufx zMiF~H)0ErG-E!L*qGc!_>uX#?HuTt%7edr(qv1XBgQY`0Pi!aRlPg2v2JLp7rY;c@6Owd!T_;fALA~qnH+vqBB&zh}5Vp(;mG~?UYYS z>Q|i(jnD2K`??skb6C&2=jforsVXB+1OLiBJo2HoT(TO;E$2&%db;nAFdMiu#V6yF zW%>~TrHYiZ+JZm#-27kse)#R;)TA47QN>@IoWH|TQcOdw&}?SPE3Fs7b5D6MCr(E- zwm{(x=q*#Xn%LGG&UhH*axXVxI&+Pyba|l|V^dqv2Tp#574|G+4}Um|g$^=Q8z8&|^)7!CGW}i5;whZqn8nbCObb((sK^Xqk{z1_`2mC) zup9(r;xAMzm@rQ67dm-dH@b=**nu2~14Tx8nvn2K=7&^yIHDp_ETK>&imyyCr!iER zxG0Oa7_g4EN`DrO1K9#e2Y#ZVEwseviyU->BGoK4in}qH-5x8kupj>E#to3G(EGTPywQi-A>!nz2wg(^ zIMI9i9=p6@s39Oc&!j-+ zgkADHOzvNQ7ri-;n~1&tiqPp_yDpJ`$T9ybcKw@lU}kA*W5W1vN}7$Ut=+#sC8G8= zHm1fdmj4kyEQxPW7+}H*p0Ujof}-C8j$ic$W(*IhL{U9MYw+**bktpnv?!rJt z0sV{J{!xq%sHD&NxNdq7+AST0PruXFRYsNAR7-hMQQw6WyYy$`(qw`fMZ`}89`C!uNac}F( zmYiQUrTqt+{ukvb{Dtzgclr{K{O?{WMzK?2KnN*Y9uGH~I6yF8h%Zt%i2(|lc+OB5 zSjMjh&xG`tp(8utnU01GM!-K#q#7QaymQ{d+|8`y{mt_eh^dcClCTr|kp&L=l$$pe zGx%fdG&)}QrJWp3*6p!HOO1o?q!QyW|6XE+6~FE9rx6Nf7cpMiaNS~&Tfv;dDSK5r zdl%qp(G(R^z`?tHmy7)1sRw#k-#KgRvlEZ;p^+ipP>Abwg}c9es$9F1(p7`LCW1>$ zG1oe(_%Pj&M$Q!vE4w>D-}HnSRgTvYS0`{NPFQnm$el;y=5GTpUd|8-U|$=3&ac!- z{|{#R7n1LP;P}4GM8@*(IwwYDM)7L^`lFOyk1DE(>KV5Z!y>9fh-og_!P3S^moL08 zs0`4lC(*(>b-|F3^_dtke9~70`AM~(^}8}azA5eL=>4td$?RxkrfwVPBA-79MV%&H z#0SIOVWpoR7Cv;G8WEQ#VSWY9bwx$gythQ5&E;8&D?kx=mz!}R8bS2Ch7|G@^L^%} zj_-I*{6z0*C|@Lxy;JVzgEc-&a!2JA>tv_MD`VnrLY=`)Q9K`P?X8E$Xfu=B5#7)T ziBWxC#w*$&Wn&8HZ89F09tw#RTU{tGcy>NG1i?z>r| zEAw}E<4LhHFfoT*5%aiA+hZgODw=up1e?r|Dg41r-nHYRXt6^f^7T8feyk`=b6<;I zi*Cgd%u14M!|{xe;7-DFQdH zabBCc=VxNwCwlN|25{3@Znsxfi5g8DW6o?56Q6dW@~@OC_okZ7R_dZKyH8fDC-}G-)E@2i8{lz5>3ZJ2>K|rCPN(}1I{fOsuJ506kJhT zrP3U5CsYwcj808@?-~E+;e{H9gLLng$K`#USO1gO{cAaS*xE2^+S*9{i?#G$uPagh zm*fOL>M<}h8VLE}9HeR`)Hhd-YALje$l!RZb@A$QH4W4+>l^br;fcM_Xc7l3BA!SR zUq+v!5ENEs4sEWqA8&4+8?2-W0^97{VuN?l?W$pOcQNeBLs!8KmBN|M8`YoT>Vms&h$^{y*}XC|b`q!Pc}ShrvGainWQDVW)ifeYJ@P(YcO{rY>q zwIyEPMyakj#Ebh-LQ^QguwZIY%F5uDAhnwi19|#a{GJ0CM1Nmm_`>~=*NinDe}c+N zwo?N9AbtNvR+OGEys) zYAS2`{of%aM3G-{fCY$v9In?NlLHA3Q(2W$XO&&G6hnu(~`+@_tM(ghL0JosS#7fye^iS;mm zo71=OxS5K#q{@YVAy?x~LvG#64(gBTVX9R@4dOb@`)H+;TLFWMacOE^U^@q6S@7F1 zxIqSOtk37>KID5fEZGV2<8m6ZoAIb*+?A?DyWL`5Ui55&Vr{5Ni8>Q{DG8*fqe+iC8eO423z>4rgLUF36`^RXBfm+!2M+bYp6J z!u_f0O0ya3(!@NHOu$5HSSw>lzzikg7wmwe+|#I1P&9b_h!q#zwO z;A_ppph#G$%&xqv+HC@BH7uI$UBOG;y%uC$g)E`i)9_{n>m1se2K80x>&UV0UoZ(=8!c^v*M=1frOXuc^kz^fQ>n=50Bj{qAjj z?mnUyP#c^q^az8qjlWg-6B=pN1dVSa8I|^7)L6UpCK%ZLtIB>s;p*4hOcNOq{fRDjSaM%hC+`IuaD(OcS^0=Y6F%j`(id~Xa^oAmCg z(qZDUQBoKiLNPy8Pk-%4q<;7OOvx0E=r*@mC>0|{$T4|oX(`rnl14eB>n=Zp)gZo} zbETaUomS-tJz7$tkSOCT8{8gG^UJ&zSt+@Tu&5veiAOB}nUSqaOk#l6guQDR7v4Br zvc4FgRjCobaIGHcKFTU*z(Xeb`pE=;)lSQ*M^);k#HkcOQ()t>!Z8881X zBX=!TyTTI3>2y+=4;diZOu>hBgp||G>_8h2&E^`a<*aG?eDGyQol|_y*$fPOo%&b; zfKR?#2UXQ1zKSRJTB{^~5YGK{st>Ie(mtYc`y9n{ig7ZDpAE=v6z)BKT$Qnv+ z8fA=_$EU>Ee>piP9C=@$`qG}D-G(=LH$ zxKp^)RlHoHYdT$!tI_5lRK8nLn>gSUQquR~I*LY^sJiT_FSfl%hF4^>h_bC;zP6r5 z#%b<^qYb7wMc+|NhOK7)XDY%OA?Yc&>49iS9w^8VVSrjhI9vc*-Z2hV>~hGfYk`cwB6 z#w@>-A^&fjJv$e`7l_>HuN{n~@xL@}#iWJh6ea&1|4ULfl)uEuLO%n9i0F_IZlEF~ zaZn7uII+SA(m)lF7U*c0o09W8;Ow3cmUq^C3+nBn@>N<Nepr+sJ5XULliCR6s@xSdtK zvSiR3O}E``2q=i$z;EHx@J-@0A;&#`lFD{a&Eg>zFDa(-+%_9~0Vd;r9wzI_)>!Hn z)HVk1XU_;>cEF1zAQ&(AvQA>BONOR^gU+nQ7|r!64{3AM_b-F;p{3WFGh0f2x@(pw z2K40LB{n@xH7*DK_5pNQXMfABYRLSG?U1nbr1TAI#!1iF?Rr+i85wyAs}(WdMbZXWX&kjSFjm~?Ls8KPWLL^E<8hx z!Mq6qa?WuXKOEe-f~uW9>j@5sg}M_Pjc;+F2jt6ORikWuqmvv_fDWRBVlDg)Gl)W* z+Gh_C`~hr4MaAeA8m^XQcusJ+pb`rI4!S&DKZ;(j7FdI9lOx1f8v?KEKer|XGcbPu z-O)AG>f@*SzKquI!Q-2-@e zFc=Fp26HQBLbWVJ??>ksz(%c3%5#ozmT>7l8$jMBq(YO$pTX@s?L6JZI#IVR=nF!% zD-V-2+PG$=4{rVl;1Z7B%}3DWNUQ1nJe|3Y4m&|KZQV&BRDW`y2a z3RYURu0&ZgoN_yTsFuUmsJ4>&0DEeg8#b-!P~;QvtMWHTHRAk@_I!hhiVpkXx%G&Z z<%C;~5XxlZ`232SW+aZKj3ReHubcrPNXp02NB3Zbi>f)JJPx!bX(uOgko zWL!}34U4cWzV@H8=J2vfT}@uSD7(Q@JfVp8kOyCu3w6iUWWDSp)@m&1aH*}a8v!W+ zXjl+cc^UmFD$8J9$909TNcHcaxY|xi7psq4$?AWqQ(6Y%dCJHPleXHffdz1pUh@zXq{8fK!@D#kvxDW z&gv#Gm`f^w$S%6N#4%j789iohSAe>5NYS}zGI}@%f>9x$p@~B#LN`8>0Oc$yu8AP- z!S*dUg32Z#F*P)@ev`6)+z@$B=@Q1Y1_2$=t{ALFDiST&AWTA5_~wcNFb;>ZZW<@C z*`cmsu99NZxM=_8xWCF4?qbd?##h8C(Rh5{!*rAN_cnk*GP1)OjPGZuR9zCLIq%d zQhS26!bc2TW8Z>>+RIxgf0>0}@=96bd2z`y?|j6jmtKR@OI7L}9>3n_!Odgc{3^>U zyfxisL!W7`lp)b=B4sTe;#_%~fEr0zNXp;#o3!Y7nG+PUXwBglwfCk-KTX+TAdLon z#fV-Ye$v#)KDJKA*8(YnCJ|>jB)<&ogrt=4xU(mTpMqoqZ{5v%-=9a*v?BTz^)=*- zL*xNLyA1>4kh$E_(=KbAAb_OyBsm`rA_PlKCWu>qp#TGxeVAP4|KaQ%qbyOfZQ;tS z%&N4_O53(=+pe^2@3d{(Mx|}rwv8`O-@dnB_jlfVW4s@+#~%A%#M&!jVa~bW5s^LS zTV|W?Tj`?xQtjFkC%;A%N=DUaxoJg0VvVd zg-r)4b;SymSZ%rH=uTWZX_qxBsjcapXv|OQO{4ueeKS5=!Z6kXG%(_~f_|LJ&gmjA z9N_71Jbh2D?RHyqCV6y`j9u&7T%s>N#DGg+Zp4UmI0JtuIbn;we2VS*=Hoz{5`4P! zTkl&rFOYjKLS)}0ox11fM?hb&z3L0fEb8FhvTPP%=}Gn=5tvIejzX;1fL=q`@UK1Q zHSm`FOYR1@h?K|s!23JVNgOcSW&U6*Wc{q?oWw|-Y!3%NpuR4bVMJK zi%Ur#3#t^>CN8L4)aQRFqRCv0?{|C^voQb9BMSa!fH;kTosph{wH*zggTvRLIY)>8 z9#pMj`PBx3^O~Rmv$!^fB4eC_!vg*x;u{?VlFA5#02U;hEgQ>NVF8(^OBh8N9Gfz6 zw|PgAA(k^cc4xqIr{FEO+7Smg@B0Xj-X}p@s_pvJ z`72b1Nog%ap+O#74*2YY^o+#ywq3DJp>@k{2WijO#xob5hsxq6MuI%G z6`=KEOXZDiDCd`#vi3It3FB#T^C(9z7G{?z78fw6-a`^9f*^B`=HXzXAPptBxan{( zfybX|>I3whiPiW9$eTl|z4qudSMmc*E=0Q=?fRzVG}Q#;Mde2cicZE*AKV+TIpxNa zW`TaG`4AJ7Kqs zU%IxxG^fr|a;9C2IEe4;A+(#>l zcvFSUv?mxtf<=P_Z1`97|9se9El9z&WL%h{p30P9Y-Ce@0y+1IX1^k<&>>bsanhU> zlSduq_8^w6Y$iS3qv)c-j_>Z{e%oiY1SYvya%HUz>n*UFc@A($AoK=r^Z;oK{wP`3 zJkxri-s5iDc?Ij+Bxq))ZH`LS!Fz{t<*o^C?Xw1Z=WqKSpF`?t@B^d_W(Twf9L|fu zH4;IaBF91A;-{p>a4YI!DCDyU?hEK4b$2FsXx(E1?Ky&^XT8SWosQjU674TNS$<&2 zo(Odo2q8h+*@zu$Q9qe-LV%#VF0LND=x&Fudo;fptXqv>=>D{7tJ#9Ui?(_we6KlU z8?}Cm%;~v*P6aH)#f>>o5_MQe1YKWe({~QvE83)C39pu+fBf%APM!^PZD4PHzg25u1c;?0(DVL`g9FmEZFH^I;9Q})Tit1t z7=m4p9GSEo?AIs&#gXgljsxAmIic7N0<%hHH_Ok*#K+MD$pfAMHN(HAzGx9C!iAmL z@&OU&6$am<_6^VYMz6eJr#Y(zak}S_uBhVy)>(t_0o3g+b``~q!p#eM-z8PUFJpzZ z*WA{#Refjz61z)vgip8ARe|&IAK95mXildX)VFUmSpUbVE&sR@|6U~Wzuxl(6>tv? zN9@m!w0xRj9CMWgt99K+;naF5XIyLpE|I22|3*v)s8jQsg$}CmFg7Qj9YqjiLAZq8 z???`sanOzRdBEQV9Y}FpvRt+U{eEWpe0Y66#xh$fw|a6jXMI#{dVYLf?qNo8{?JWX z+Uj<~+S|sVfquL>;l{Z*+yml3)b94zcCkrj5kb4h1BG?BMS&q>JsF^*nL)eC z1@pJUQn?Dj6oBa5>SpIW={Im$3!_ih-628ZJnomo(kGU2y%yp;A4qb!g|hBE6Qanp z-KF5nG7Oq@yH@guXqu#3SX_VlLExp(-P8`Y<;v1IjpIuzZ2N}@Mn;rePG&~uyrzlh{mxyVZ zn=5u$>uQWoB@j~-et1xT4QUVA*4om>5`K20V4hn$UM>-W8$Uet55@%+Fw%E7{G9t^ zV5JJYI-X{MumJ^i#^U~PT~!%0&uQHeFa$zl;d@j1=7IvH(|LjhU@LoPPx2JTJm7gm z!iK9*WoWbMXq@3G)F5ao{Ri;)#*3K;(^tRH4&i#5<{CL1#Ligyd{y7vDQT*W5)#a@ z5AC{*H4<3{zHM{}{ljCz=0wT<;j@8RLLCYvC}BqVY6f%?F7rkBQG5ogJ9Ig!8Qo(N zS$Y(?t@QlNU+ZLOIr)0Rr+Z7k31isyT4AQteFvlBxa24br^d%SIbHK?oj8) zUAV!gDvdj;)l7UfKyNIY^x0ggBtC8$wvZMWn9N^O)AI~Y1Q4d>;+d^1C+*+nk^CNr z<4B3=np?}?7D&lD`wiJUIx1OPlFlav5d(UAXC5>c5?eN=5|fpL!C+7lk~nwj7@<0L zt%fq_uSZX9dN+vQt#|vIjTY3ns;gx;H>M&(jH;~}M%$GZAHYFF^1bpHWeq@sx@;IflAK+Bu8#4FCoaKWW4e!R} zB>;T6@({98(r)(>?|OTC<^E;;QgZRx*!h1lB(;N|*^ay4FoYKhT(-iL*>5pfxDR`6@Y{ zO;wX009^NarnM_%&|_#f#~}wAe5>9Aq%)IgP-K&|@&JMQG58Y-fijB4J(FoZGig!fb2iRgQSK90Dn}?gu8EGw0oB_q&q3`C+4bT|-4cb%S4KAPe`aQV)F52R@yXO^Z<+{_WgRlu-P5B~0e-YeGSseS zKkOY?CUr(7hItt1h#^1YNEbZA9gC-|&23b-)D(CM$Y_a(Xt8u?37@8mW5nocaaNvh z_VqwE*fdk~v&o*eS)5U29TwwHqVu%eZ5mD2j9=wp^ ze^FeqF&pcvNzxi*XTmRwfMNO_-JTpC=d@O4#9WO%5mKfJxxU@I$e2eV8~;QnmZjr2 zd~j7y)0q!M*>#fs1S@(Zov>s!@z%~neue=pto9c1#2LHo7=8pYSIE?mUVE>lPS!VD znZuR1XyT23=|p)M^@P0>PnOa$2PN?58D)VXr>Gus67feDyBA^Ui?|~7c3AmHJ}_tN zcV88Q+fmfFJ)w_<=Sq+9o_4vBQ3B1Y7O~rlBBw%`%|p5`1y6|aBpR}YVz7Ta;P$P% zZ~Vo=))Ioy&E4w6a%G9R*mMQty`auL`*L5spMKwBY&Dh^;A%PMR#Pq`V}*0ACeCLF zgw)gCU`ZF(Ux60thEV;A^sbLdCOO7_50>DAVnf2yU(8wAn zch|u-B;=X*Ob$|)nx3RACHJ8SVGpp_MM|NYxsk?M&J&)Q8ZJ`^Stb&W?^HNB0?5ch zPlaud1E%nc$NTFy2Ms*&5^Utaug6NAFjR)-aKy}YifY;ItlFrkoCpZiXA&;Q%JrM2}uT@&q^3MSnzh_Tr{{V?3`s2LU` z;Wt)J(!<=Mp$wep_!Fn6o=*~&_nD5~5R4&omdz}kBSg*eV6FxBF{%y$@jF_Og^fGFwYdg z+hqSOfk>&(2yQ+=;{yK$T>vchC^fd0?dW1Hx2$8y4#)S16lrWDi$JLQ_tF7XEJhK&e0JK}DdDyZ5h% zc@ab7vl!Q&6>TUQc3R|&WErpG?t;BID>JDSqW;DpmCN2&v0yzam8Fyipy4mpxA==T z$$dTfwwwC&>cYaSt;VG=;5v2T+o=au!xx2YR@I%O@JF9*y3V)EqqkqiKg6l4r76?z zNobY)fP?Fl$MV=g-GJ%~>980VfTa`0N%^d6p4jx$G9>v}YrfX96Gw zZJeYo&|aV{(geF!u>-0Dp2;896DUh?Y_no@!HkYyT$Rp@I7emaLb=H){ifCJ=;ICE zReq6FPWpgCtIuDlGP?fxxr%?T&>+CHX#)~3$oQ!?7SoxSB>w zsm*Zv4uCWT3$)k*!rHL=H}o&RvCkZp6aJ`ubHNKM1JI@S2f{$+0EmX{)xoquf~MxN zeZxO*nvoc>y|fmK@Tm=n3ot90UV z{QxTU5onGn-Im589)jl-{6lg@E4@RSSw!jWYxg7swM7KAql7hh>LS=oN0@iolx{7; z60}-u3@dB;AUDKKPI387=+&V1ruLcQnrx@vF}|Q_NlpDHp8cwj+KMNuxnK@wI!Eqx z>j0y+O5!?G^Stq*AxXy|E~~GlnWmE=R$?X{B?Ct5aPF#QVt08EQgJUms!YN5U;|>u*>h#DZ^T9>h_5exYKW6ji-_AR%Pj%AuQ5%Okgk zq$({s?4(Ie3RTy#Rm;*}6%iM3Z;7Uyq`)$%=vV;riac>Y2^C$Zaghc3w~&NPA=8XlZ&shdged~ntB z?sOlo^h!63h8o^F4U^3%sCWYNG8wU_Z%Gx*UMsI!dy0?VC{pSKkZI##8xjlmLw`j( z>{%}2UR(30$(m9R0L;yvr&j1#fIfMz%Qzv8bU9EBT3YKQIMu`TBYtM08EX*)CV0ow zdAR21xaIz4b*1;bNCOgsbS6bKT2zqN;Er`Vdi=Dr{RJ$>zC7guRY1VQSm{xf`%sFg z&4Mr2n(n-E|K=meGhkt~SJPLWq5OHfM6UBw?wKO!UNLE4O4Qf6dd%j{TOs=7I`w*L z4#z#xY9ulBHEn1bO++V183zUp;_fl1mJQIq7*XKp1nq<@0H6z*_5vWB-`c9dE4X09 zA<;#k8-ia$)%_`{1wTPai5p<5O+r+>;3*~-6k_meLDLb6(BEm4EaPt(!h3*pN$L9! zuG6{>bYa?;>9zhJOi%aUrq}ulgT^(x;8i|9BQA%u=|ReD^y?-FK|haQUJ6ORcelF3 zDcHhf^o%m}Q#>n`cL#P$1pdMbx*Irj-SFUIjqNd=!TxaP<_y+Hs{QWjn*3gwrZ;h4Q6p201!8L;UN+Z-%v%whZ-iNTk+jACTW%mPZow?D+24k^B>k zZZTCoowe**pHe8A*#^ERnRJG2IRJy5g0tso(GS@H;t^4%g_-C$UwZ>HgO<^2%nU-L zHvcRGw}zU2PT>gp2#rjTlTM=jBjJ>;MGlyHcBO_`u4Uiwv*>~Z+$qInSSEB5kv%`t ztEjL?a^i(y5@w{UhrGU*JGr7kjr8l*M8M6y2dx)cKjjOXL0N7HDzNpz{HGu_l@|Qb zn4=!>IolQR=4aKry%Uuu)p*;>)TWw<@20`az6+9^A8*R%hHYb4%}r~^3_N1UCVGCX zFUX|CRV^D;*%ls-5g{_CFtn>MWww`8LRRiX42OkG^e2-*g9ogVe@XMQOYAo4^d76D z#{TxT_6Z!vKE=Pg`MsF}Mdeo?;reUQ{!Kr@(ZS4u#=%a{%AQ8S%*w>VNWs#c-`ddi zzjY8I!ucS2XyJrDO&b~@P-M1x0-I^UGI`}}@TlGVk_T2|iDT>iRP48bIOEZ5_a~mm zKA~=1Cl}v=bVI#DXa%F-iVAD^tssfO^XjKsV$JrIiQC2{y!HdOg&~d7KhKOjnbks) zX%P$cNh&RSnRb)>m>hFdEnA$<)H3FQbV@DPsG3mX~P^0@# z^*FC+U#a*+PJYw6jM-drK2i|PW%>8L3qGHAmVE7b|7-o-;N$;g??RS(W)}aOeX9$( zgP`^o@Lhq3gQD*AAckAc#WThfBDbeP!fxgCg>0>$A9(-3x%>wkgBA=v=m;^l!?IMe zG9fWQPQ7+UB5l+73(Q0-Emc^da8RFczkGm)-@{l}z*<{^!R$vP&e$;X#lT>_MkKWF zu`viQS5D1{i-hw|=dWW6UC)VDlM?-q>qmrBf0ACMc|*H&dD#1_{gu~O$jIQeEpWrJ|2w^)H^ zdm7I!WwXY5e2Q=6qS{8%&gi-|%FqX7zjGnFFRt&_(PYJr?h(l|*yZKH|Vri1+w7 z>h|JeCk+m#`k*7U75_$B4UUiBY5ZhLJ4;S0euAj?nI0zDQqwgYg_h?`WEP|KlFk}@ zY@4gHs?sW|sV-)}wH7VRDhbM^tv?|$h)|K*)L0eas#c`@>E|Rzmo6JIgY17{Q2B>7 zIZm@9MGkY?46G}})mDYa2a}63zdW`wZ%iLqQSC1Bsfa)KG`rpR*}w*Mq!(ZluJ09} zR0q!rQsiV#z->Y|F-b+b{i$nL2WN2xVD;iq?L%6h+5jG5Q`7hJ1YgGv%V0G;8I6NQ z!l+;4;9e{GqH6u%A!D0SrmyG=u<>GF(( zNy01X*^L|`VuncvkDz$Up1>%`)z8`{I+Yk4kWHkeo5 z*R6vU*1_Z2B$Y*Q8hh}dM>*e(znS&9B!l(4#Cx=1EtUCppe$+Xn)!IRb8S8Qpn7mi zg%lz)3iWa7)78p^9flyQeD(zdv#vtoAXvoV5HA;U<}XXT$}UU0C+oRS3k02W;M7`d z-qVggaKYMFz1L?=*<+J)(GW-*l_)MzR&ITN*}KBSHt_W#MXeD6-6-1mt+)h)+#n2S z+1Sp`0eLExbf0blw~8)Q>7gfnYnan%cF0fPy`jJdWHIxhD0cX1EP?ef)t+_8zJ0$| z@ke~%5A#xPK!r0@ve6)y7VI~dzs4?cp(oc)0$hss9~Zj_kav%*Bbd%5e6&wg~Aj0|3ntXx;Z<9D{; z8}?jf&wF_qecC1P)^JB}F5l8W0#L9X`_vu8yopoDFk_N4pKY#gmIt5T|NZ7OJFxEF z`f`7*uUG!>@a2Dz$(8ji%nbGZA}a?;5SjoEfuOy_ zOR1ESOPzhT*cUHQqSXSvV@-!gclQMbmBsc?X4jRFdCdIN7Wa1l-U4J3AqU`wLBt|L zL)g)vn^}W@Io$Pwld>oP@6`;?Y#42EisG#Dv`b%&J@w0Q_+SZ7HBmzxa5YOh35_sc zCe;p|nJDoyFKLE1FSIVucI=17^Q^9*xbJXyC*epgL-pE+g8vav=RHBB`D3O;yvj&# zZgZ3xqv+_F<_PBbl*KioL!tY-e;Djk8;zT2`v6{e%^}k(P<0ezJuV3O>VI@DHG-2@ z^1q1R&tGCeB!6>b+8fxJ**MS$f1#%Y^sJop?EiUPDv7BesUUr5D@gIl{bClF0Y@W2 z!l=fVi}MjcL#)S?l{J_$oz`Lulu{~c#h~52PJaVX*4f5Hu#xb^1zy-od+~pWD5qX3 zsle(E>d9HRKej!#^_Km~e18V%B74iu!K}le-jQcmiJoK4XKasPV;dVi_tVr$#8=s? zCJiP+R@wKE>UV_B+6@BGq*j-26I+=*Av7@^HO~SgQjpI8SD4K%GeRN?aU|7nBBKK_ zt$`iYMH;xqvDL{|LjViYpIf1oWyai(y`{!r52F!T8qg=BNUmN}U78m25Kp-*I9YtQ z^9p=+F##FPjH?2_#x@#^BeN(|S`TXuUlS%e%o<;$9xvPB;*fu&N|lL-D@zShq(*%BpM_?p^uLbROGEuz%W3{@i7JnrmHnSvcm= zCEHKuYpVT2YD@Q%S8RIi2HL%MOnpGm)^Yx(e5`y8o>1Qs(qX9Bd-`$(Y`m&m!_50ELHeXjh=j^Bm4O8fmCD*pb4puJW=Mb+Sq=HH z_)yK*IA}S=hT#z;a^BV?TiXycLeQcJ0d1AZIKyMQ$j8WP2!T>53}Qe>!y!z2CDvFq zaQ=l2Ps#BvI|+VT&p>NX!$m~|Si}))Pz(FJ-4n z08I#}_Daaw)pEOC=XnanPR416392FTvW*{?r2erDZxqUS#eLWOY^2{mb*^aQ9h{e? z!m8?07>o~lF+!J>T4L-FMuyyVPn;BFLelN)_q&gD&+MvBV$eP#T4O}w?@I%q)keo;-@vyq&Dkg65Ip?hNOOxC1%%Q;1y8AM8H z)^)&l16@qmCpx?Bzzgos;s43oR=FT>i88>%0OktxUPS4$l@(9i3-w68h4+Gxaabcc znTETkKLk5`XDSZu#wJxdLYwF14dkT?_)QWYa7j%TbY(XmY``dMe#8nL+BGF;Dk||7 z^aCSAyGnh^FO84Up!kPc*)Q`W*yzh!AqtL8)T(RHc7;BUclma88ARm0EY`C0i0-+m zxLatGcj6D;%-d12waP?tOSxoKfD$DdNy1K5n8#UVc@KVuFsfp6DC>^Os^56XX{ znx0`v>vGx<@%eKxvWk{Q#2@w1s>p8?H=6|ba&|jX;7?BF_rUGw;HYq++z`QXeFSo( z%_xh8X|ht6N!M=f6vTX+67c zB)(>7u$DV#xv>deoUVVgI~Sv92=YoUcGQc8NZ>cGMoi0JzTu-Sz*{9UWAF#`ZlbJN zmYA&}%~0^erx#}_r&7{Ur#ymeISFu{h3OW)wD#R0l00e}Ud3q&UFCyU<$DmWyjU-H zV-`*i8Fo3I@-^hO2T$={pu-P7F41c|c;9ueK-;rc2^$hH+X@sl{tPPF6 zs8{w5dR7kqyzDJwSFOGjeu6$NJ(lv#5F7Vpv*Q(VK>bR7k%9%x1u;UD#FDQn*EUx( z4=7e5V79Kq&Q+#ULdtxaJksY!mWf=HnlT1Ka_>hFPR z*V5cO!3bg?0axYujnkP!^b5xo$DjmsXTwc%#*?ac?4XfAIS!h8$?|%vhqwWN`1VccjKmKUyepXF^Qq4u#7SYv?4aek<4P!RCW{{yQS&B#% zF5Jv$3@orV8Z`%ZebV!WRC-rj?OWeB@1$6K4Qh4^bh(!DQHqiyc!+U1^Tez^XftZx zY+m^DA4&-Fdr$2U;NQM^BK^J7{quSM>msTvZyWg#ejKTfTmK@=jzStj$FFO}T3=gjk2*}3Z@ z$r;bne6#0FKP)H8&79?f)=iodJ!mA!H$oB+m!>oAgzxnTb`K)LtqiHwnd%}>kA(-S zCr^Iv-xlvPL6%FTq0cgL)~$~1TV6)*re8Qpsk^b_EZN-4^^P1FM7q00hq?V)oKzuO zT~l848eug!a-FQbhar%N1H>b`=&HQ{>rpTmMnZ-#`^vMZp2IIGE7G`VKY`D+y`z#> zU4I`@Yq2t`G3jIE^4$YgYH^mP2KAkcD};_gSW;CSF3_YnJ*EoE7+DQEY(@%+bjfr2 zWA0i=QQbnyW(;#eHpt`{s$y;};{J>8Ie~1pQRDFFEVXQRuft+vwm^!DiT)t$$TN{` zfxiMBlfsRYz%kY5B~-~)F1vhC+ysi|lAdGtQ^V;2w5l;i?9>u{QqsPvO~GjB3W}#k zdZzmM8<&QXVR$-tb1jb-O$d##q~REb_~=*#%?i5HnjDw)@%sm`&|G?)S(9CS3H3;R z_*_WIYI=OlkkE*kcDG7sVb=p_vE7mZS9kLq6!f%^ z>l?~TyVb`vM;aAQw}Caw9(m{GB0z%N>(|wsM)%A4(C3IA&XP7sMk6E|?jMpU(P5)P z!F%DlZkTD_`u-t!9Vzm9*H}N8N#*@?u&}y-GgkNZpqic|>Iv6ZOIG92aW7 zsGpZL9gYW2TY~QC?P>J5HG5)ea_zxR;;R@K)e8NP7}|YCzI`{}cRX26*RCb0vl7S; zWL1=By6xyi1{92yVHDqFd!w#m0l4N*;9jNMCQmJ0g>6X=z8R0oe?S{26DRn>CSUPh20_dT?Ydc5#D>y{AukK|I^gzOPBWUr?AtArA1FET%V5 zZzG=C^2CtGRm!B+A2KOq*6^kh_4tIh?YsE04SQ0=aBaKi{Z_`dWCjHF;bEDmND-6H zrtThcC0eb)D>g+7!K(S1aV+m^C8;j!>uv=n9A{`xNbGKgKCYQ`Tf-FgH5qvaYOV=~ z!1C&Q*k%12Pj+)FsK!-li5c_U>@&eQv$y4v>?GGI;DqM+Ql1|#bc<{T(9ac1d5|oL zCVCH8EKO8{W8lZar#U4sT#}RfBqp>AMV~pBTrgUT&v8!Kd)V8OoSQ_G&^+Z(C7IAW9pFwpQKt-O-NG z{nU@ha3`oWVKZ2Atus%4*K1$$m~3M>_8u8_;T&a~Nif3i1Tm1QMvR<1T{mIJw4&4B zV;{f%MvV8_19yXPsBoAz zp@V0F7zd}qM%qoyP4HnzwE^Vn`V8y>2YcNVj(c^PkCY%pw68c3K~h>IEAJP%2OW?p z@XQ$RD;A(5p)FE;i-9jCF6oN?yB9>fNN%9O^s8I4|9y7qsg_?%T91e>RZvKQa3DeH zJ9J=ySh=!(OwVX46Qb%WZdhMDxFWNrz&!E=_Rafxs2z7xUVPRaa`En@6mb(QX56qU9tm!e> zMudOgF6lWgKO`Ni~}C3ZJ~{1z0|~n9TVW0a3Nd8sijwGAMG&cjZKa z7NKDgE)H#7P(`vOGD4vk#S~)jD+6TkRrf<^30K7>ir+8iy*nHFnB`7y^m=CvRFp!{c z6&7|%u5qL%_s_!{&{voc8idjp8)*-&2_{<)ajFzF-R+n=-l0Yo-A1bjHY{JW{xgXc ze2TD)ESiVO)tBGYRi=BuYC;&qBx{w!UwnkvG*ymrtPBHsZ zB3m8eL=DQzhAKMc3QpeemMYC@Ns%R2^Ig6}4&~^|-lJ%$7*o_Ir?N2xK z92Vp|T47k0SsHB5a1WnwwrzswEh{>UuAgWX;WhA4&vYZxbUXuK=bmu5dmlEnMM>K5*x5Zc$BlFp~K3K9FEz0X+gJ`koz-Q zg?|X~oRn8T8P`zH(&HV-fx+6}LTi~$N?SG*$6GfPHx3qP&A?zpF8xY*OkiU10SgBB zfJ}qXL@zKNz-9aV4~dPWm9aDOuZZ>eYyDkq?~B*{6{gDl_4$>?7@GZ6*!!QLDk4Tg z;yWGO;Afqug;ts8Q&(Q51s5707nwGMpDL0Z1Ww&*F$=jLvKu++mrAMZj-dvu zG8|%Z%GfST+}`f(J$4t4GH3jh&Gg-tYR8^_iY)h>aFIyBm+BG$5{Io0{BJGGIW?4L z@|IYyp-f{I7{jHw(8j}(y5x;x_?&g<9nm$>IKvq*wz(Z{h2gm7>RQAveN9ITX-79+ zQ?&c1S(zm>DezFVf<(>=*iHpw(eP{PT}tq|nnr{2kKgrN(Xh1udd;4XO;c>>Ui1&} zHn6nMcBCAuwoutr4ciM?#c2KSLS7baSR0%_z>vAmYl#;MD(H@gU?*$pd4MVHLy}pzpUEM;K8Z{{P}wjqT0+ zm902Cc$e`T=00de!rDSZ@3v9m*Yx!(vv2wY=d0_^gN4;hrhkgxg~r^m{DdGD3F3B0 z2YmAa)#m({l zSD6yki+9j{zwyn4662heWA@Kb6U|Y{bk^fWEFn$a6e;j;P`6SWH8`iuMaI{rJ6JBJ z$x}LwXhRqE_GQDG5a}v&T}3GFfsdCJcLAoV$et%skC>7Vr>5yJC>DI!L;d%>Z;VgP z;V*e-_y4OgrSxq6Wz39!8uQbaykG|u=`t0K#pOH*8IGB70JJs7mWRK4dWKoRyvLvg z-*)@^lk5P4K*zUG!p7q~@Agh0(%mUPUoECHqw1_~pk95cC;UOwZol6B@qWUH@*2?Y+ouQxNPVy#_LmN9K#owwdim93_bH z?C}l`>cEk>TzIY!pkCWL?7MU7N24*%wBR1ApI(b7@3MKA@rvkUvOjVt@^XGN?zwA^Mz%E1$uT8E61F5Pg5VLK1aoox1 zeQg`Ss6~CB-=*k|!4NM7Ks9ZYo}8d@3Wr~UG%`yr6;{_pS1X??sw`2SY0KwO8=5Ac zorX|uSn0vIsn-z#1wfT6q)RBGFqGxd5@;}ofdk4%ha>`ZaOG1q(mYy z6y*68e$tKyr1TWxG*wp|X2|@@*j0fHGTfX3P`|&D`@hy->`*BoMLsGqX<-^mJtre8 z8Ut%fYGXYsJ4Zb$YCRh>8so1zzqy$Mjm_8ZHg?uFMs^NnM)uId91y*sO@-p`#VQ1>E%mMWtz8I}#QyuM(APWg-@3sCO6JapN=WN*0n!LX@jpxw0M*2H%j z*OC;+3h9DfkFV7boE0har=w~C{fvp#y+O!)x8;h8@1MoEG7}g@k#2N(ALw;P~Mj5AY+FX zvXmMwv>~2aSjWWfmRh-rrJEo-qN{8fK&%> zqe3AC@b(i(U4M3pCrP=W^Jq}fw14!716RlpHJ#yNFiuh1?C+Wnx9-~|k|rtkyO3Zi z0dl(!pFzhidkrFi+@A>5eXnR2ouNqB#(5@=@81CCG=1UiC)dy&W5N%G9s3rw-88se zUgzIletH5kCNaTf^6V;Vj2-WIpMpT$e%b*3#GxVFB!Eyn@R%S2JWQ}A?O1|YRk~y^ z(Bs#lLMk`~-pCMIE~90gr*19bo>2y&V!DK-s)b%@gZMlE_R-eFA%m+!cFMGVngJE| ziH!mXXJVMeB&?KY;M{XC69$YBPDj|goax??K;Y4vK;T67&qbnKLBvt?RoA@q;Xk{+ zg8&;3UHw4cAner`b6{>Z{RI+69a{!j{^NAS5xAzCaFKl@g8DOp(5Nw}-RP%!sQn4s zh}{cl$7XhNk_7z=PVgUMGONr063@E46oSyKsXqvlcZtr?DQ&-?IoVnfqPAQ-%J0xZ zTiy`0UBJzogLmZ+*z(yn_z)mjed#9*Vwltl7quky0y}l4+!Hn%U-|Ue5Hj>jFSkAM zHT6Mxwn*ccat-6cU#c_C%=$jNiUCm{`l6csgPNsJAOOJVpPv|-W-KCj2-P%uTyWC< z8JVnO6y4Uuf1)%OA4OLd6XS8~nKenx$Ybq`zsJKsrS1JbkD-`Pr06$pL#amhCR+=& zY9`*s=|rFoI^~n}HA<9w+pcZD{B{2yFdi9$0};kAN;J?{mzMAUatZz$zyBXH7fM$4 zW^P7?|Hk!K9Q`Wif6Zpdm)dEyOqJgV1O`gauYd+&210>WEH%W-=j<~8QZNzy8Eb3E z;qyd6NE!l)+x4Y+m0SofMG@n)jh@BuxM7cL@cHt-OX34zWfIeE^j)nSt=X^aN4Gf! z3S)a^5~kUjWUqd5q?4hl4VuN`t@{IJr5}(A^QA-^75}o_1Mf;^6+U$W*cmjA_$8T2 zu6X5RLF^Zn0ot5j=aI^L(((hZmgV~f;=Fzsp3?2ApWX)1DvAF_BN&E9n}p=XJ=cci zHSh0skwS+Rs5&X+5t-a~(VNOmJ=!KDviVj{C{S#kWXh@@o@s|bPaH60x;+@Z#c}N3F|Lt?IORX?xqcl7-Glt!35t%!J<1*R^{OwjAFwPn>N1B5NrUge@#2?0z z$)p8x%ryWe#M5e~-Q?ziZMJli;>>IosL>i{T8H0*_3LXGnKT2Ajx8rkuPqE~H89LG zT#OUN=B+Ocq4Wh8Hj{{Ys>Q4mbO(wKA|;D?yyRSQlBBso;SOy{<+k55jQTOs_CJwW zBp)hwbpyHQC_Q^9lV%0-n+T8O4H6gF_@R5mR%8-Jbh^dM_N_(ZM>b>DgiaW)!N+D( zMF0!zg+pFHq$qO(vFM79(>-c!d|>ml#*Ls~?YM{6dDX6CgSv0w7`W1jxw zU8cBV()&y1Q0*&<{JQ}m|9Y48{-I$+qh#|1wJ`cGL8E^*4Wjbe5hC>~+7deVOf6@hxk!}Sad$=FeEP;6&$>*0G>!eV{JCjuoDwzJK{Bufq9&|Invn z<1b#%{yM6}uYjBR|LDO+|AY`Hx#d%?$;G0G!1kM}K2dS-b+=DC^X>!-unc;({vGMKo^8<`7 ztOWHBx>4iEaStF!P)dkB*!t<~oUWA>DOpI356`{D`8X>yoq0zr;r0C`>eo{xphMDf z3Lu&(;S7=r4rHz2Hew-S|7zkiC3Le56Fw5JDH-6ll2%4J{0N%W)-W*#RJnw4!Gd&1 zv$;-Qym$UV6>p^s-m5ldKapq3_d-VKPx{Duvp2YH<=_=P4zsM$#PbUc2xvTI8e8(; zqo}N}e;}k=K&lEQ%g+QW9l5;V;EI4RjFJVJ9CKa!_B)3y>t?`iNUN`x;z67~+<<^7 zc$jCBf{a-2B(530bt~2itzhGe&_q{RIQ-Hc9@PseH_yY#KqtXXmad}>hcAmABpnd- zZ)lf11)#xH^p6Z2DF1BnYCw=1Rj!CVxSs>0V7TulS1$`m#wICijDR&M!a8r$>x~@i zW@pg}e3ToV6{K(ltr|3Q1*Op~Q5XP95$4D!COrP5Od&7tzvcgB^P8`m`|p6K|8$Xm z30cTEd`V&d%i0O@QZkryaGui4V&GzAxCLE6B`lqaWe7#Y06_)YVr3$Ed{!CeAf^=; z6>aOB&r&X>ovts4u@W|oBHR&>hs&<3mluP<^TFgilaHqbBfRc>Z`+Rr3{})(=Z5J@ z64~_?ZWOSWV?l7rfR$qFeuwh2kO6Q82|WxsJ4xl&w@4_>a(mwnTJfTr_;9Kr(UJP} zV$Cdc^nSyPH^~-uyPDeX^rZyV?B@3buO^Szpxo=z#j^%={X^t-rCAt7;kP83y5=05 zMVAg_w~&?-dnz&{+Gq6=b05FP0cV0~Vs3cVb|i`5H4aCVo4Utq(U5Tzl&=|1B3YUB z#!88H3Xc`{?-yUwIw09j?yP8*QsAizGL1ty(GDl%_cEbou?hnt=5nZYJd8JBI|osI z7dKt~2m|Jr^rrA#M`c887fJ9A(NO}^iK*#c1`_G6X}rbUQE`0()M&?Aj?pz*ftu=f zj^WT-{sOzgfJ}$v>Gigt;K5zC;vPgnrc7uKPoVF7hx}I}g`y=Uvjsut)A40YtS=2W z;{Ux93mVy*nf$BZ6sY(QWhpL1;515#uXefLF90DQx}2b>Y}uZCE?EHpiTjCBEQmGQ zLOu_9Uoe5gYt z;Vs+Fth>=^G7v9bZfsC2wx_Qt4~Tp>5msaDfqB_hRkfuJKSWW+4%Z(G0EaY(DYO~n zpW%Zzg(;-l-NLzG7;|92Tjzfr|AHMPW{_w+=iqA&e;>VBCqBK9_uHN~T3BCZ%Lpn10dUHOM4O3KJ=udba9aBW+u8_RK|g<-OgrR#Zyrh?{knoNbhI z`pHLeWVVOp_ON3ZAz)zRfS!VCES7<=5!sjrb z-?;&T{I8z?J6sittxK`r+x_wQ(Io?gTmt#B?rby#Ibhh+ScvM|POM_c=};8Jr=A)? ziZr2{gB&!wFzLbfNpdH`Uy)#30@qd;vw2qqz^w0_vEvh>vFIVV;`#6(mu9S#)#FEz z2uDf^3}fa#&z9w1k(ayL$3fVHrH~?Fwh2eaK2ou3d1l=GD1gt4PJ4&{?+4&ZoW`2a zM?|~(SpQ2F`x8g<2c!S1or|NK3bOLOA7FtowOmy}fdS;3B0O!Q4*?^{oH%8P zetS}Bjk7pc>Bfq87~T~3>o3pw5o=+NH@haCo9!OV|Hxn4IIzeb%F-pdxFa7G1bs5BNcd4BlrRSg0k0XYK~MQNdErGWNt=Oh6YNgh{?GkJiYN8j>R zdhekEAFH?p^}Y+H@rv63r>zbvpyHk5-7ssF_ax*0_U-*MLHG+9j!<-zs`mW!58}^X z#UXsST4$>IzXQvo#7sH^$3`7R`&4itAQByA`&@7(3jsSoq&}(jd3));5a1eMu;2{Z zj%CV6?->Bw6Sh~(1X#%+RhuBa^c1~JYu`?3yv{UPqLI7`;v59+9QI+PqFjZ>IgxWx z(=L7{9CGnD08(c3I@5X`B8C>9z;U!!I0q(s! z8JRa)YK&L9`y=1ZFzgndB;&ZPWGFgj-J;>OoH5rPYZ&$_N;cT(NmfA@Ck*LO)BA*F zA@zjSvqoTX_~%1J8ANb|2`iS#i$+_eFxY=Fg1F4v=q9-w7&u$9-x7fP3W3)zj;Wx* z%fb*T?m$?Jg@>KeQ|?DzR?Rt}$OebvGj|<+#Oc!!96n_cxzpb$8{_m-VA{{H$Q94h&2^v;qr~#gPfq~P(h-GChsMe&}{>u*gXz-nSfT9#U5IzrNVjWM9j@?tNmF<;OVW2U7oIpi2> z4)v^-n=qf;nG>DFdq?`X3xlSE>u#Lswm>nM-&faJcTJR z%D1K-Dpg=y!boi~MKxKz)7=K1bIPZLBJ#CNScxBIfn<3*e~FEReUUPnA92zBqd*Y+ zpNoV4qW@&~udBMcjDd%pi}OdH{ZEO?Kd(oHin8=zf(Skn%O;W0I%j(!BE3jH4zUA4 z9I`m&G)ruA(nhU?#b)e3snLpHx1*sx1AOe;Yc({*FtdvYo5i zLvc7-lFT@zu=-WA1r)gPK)}LyrM}6?c38UmA^c83OUn=6A0Vm2+>EHxBRX|Mj4GW; zk)Muj193Gi5@$e0@F0n$C*?&(cNJ0!PKM%UW1s?jD>$lD>8;kAM_w%wa&oA0CqZ^8 z^q5*+>+SFE5#8Co4mXdx%L=P3FjD`u#?j}#Xe!OC^y{^n4TFj{epLbQ$N1jQDgQN% zsA$FnZyNpB+!y#KK)YQ_wz75spaNwQFjf*y@e1^l${0Usco1Z-rEb{k5@8{-3o^YV z)QVtp5j0Dkro72_ev6!_K(7|t!z7ju6lah-a{jGK>H-^|(g&7%AQTPFI82QH^*AU1P@0$8Lr7PHHQuz@J-g9z!;&>a;6h9V{-v8pjVPo?laSJB79ud}cBx%@f& zWyQ?Yoa((0#jr>2k9nzfrk$x92Up*I|AhI(_c<2G93$VCd>ts_*H08m6iSLTMv@gr z5lc~Q0In)oKI6y>JGD)nWJeJx>X@)_ebmn zg>joi!wJx`T4%MuwS64Loik$4WynbDoUmCsYMeYPvV|!{4_bFy$InV(8rzQ8fu(#qaH*F|B+S>U&563zoP|eL+-k3Zg&z8#*=2IS-w%=tN z&>$x3n?Xn`i$iLl9R|_9fRR>07%iO>B8Zx8)Bc2RjSKL)@_$Is-uC4NefBVTW`FF7M&A1Odb}!oA*MZ zN?YEM$`Y@ceTOuFMgUjm%ZB}Xm)B&xm5sEu(^j0-`YmGA&Z0ZZTPE*+xw1z{Ag%=n9a|yc7SRS8HObrJl zs|J`kN!n2Pp1NJBF*blsq(|#J`ui7q?#8f8T(!EVs+WuoCgDmdon{(R`-V(cwK)b_wi0mF-*xDFk2Y#q6i)-E-2XFu^U$8b( zBa1s^9oBdcF@##Q?^w*`b7FvtMJL!x;SxL`KpJ{vp{aRaHW1ukA+#}krwRHgP)-KQ zZL+3mf~pgL*nRVnr0L`lZ$buz>x4+FSb>v-tJwg^WTVls5Fv^|wgLazS)wo?BV6L| z_1apJ5D=-N*~e{<^}d$V72h3Vks#bW`(aI)mGTpG*^cAH?~dYa{?G$MtP~vD{xjWf zO5Sab>U{HO-YUaEBg8#KjDZ{I-<}RfW&W5j2A4a_!mjaOVI}$hG1C%EW7?bsy7fWyZB{h*be)^@$Si8MhuHBcko4Cg|92 zS~kqKT$sG}bMfvVe^aSam~CsL4l@S(`@wQ$YVZ(M5PiZyZ`XgX#p}_3(qw+*nu?E} z@ZSmD{}Hy#Kdim~;qUzsxc=pxk*KWor*}pZZ9`&Mh#FXpCCo69p&wc0BN5*06P{szrdiObMyF1bw}8^mK03wHK)!B&_X zMnePosPh zF^jO*rxe^;*Au8?ohD4N-@q%6eWy|*!4sO%+iufL_DX~x?Fo1n;r6&0n%kQnso_E= zHkChsM_*7{DaSjz&blXz@TP8u4Jo3*dB~y66z?c@vHIo@=tO{ip9Wj?;|lA{VLXklc~Lm zd2w`2t_m{x9rhp+9`&{y)TR**}QeL0ivi75)zp zbYKof2t0my+d|s+U`7!(q-3)N|K@G)&0-$%LhyASo&EmAAkHp?k}DkYRVz`c0;U2o z0Ng9J*sQ5KcF6-X?MCf>1~%MZybBoXuoF?79#kk-q+#6r0=^Hy<;% ziBT+3dSa4NT!K$Ccg5JSiJ$TWYLDM$1R)Ts^DBJ#HS08BLx9?tTN?-C^^@e=Ur5ZF z95iAlABVf(qto<1l9-kM;H=wNI63`ScvFLl*4H@&gx_!kxun`)B48p4{YhHQ;b`>r z3Zl>@f_V2QERm!#@eGou$9mUI*Sj!Ge9xfXH~5^FMGdr~7^XPPbz7WfQODq&gX-S$Ig|&7GJa7J2Ptc!+*Y1#Oj-o8YJ;rC2J)V0Rb!(?`dhc)gG@jx ztE<92)WZA`VQFdzRl&7~g1xn*E3L{p3vehuxv?c1ejR5(hr9c+ry#~-#rNHGxu`}k zGQ)4=Fex(9Qd=Z-1?g`I`dy3GDunhHYJSJB;(a^-3TC~}nS8xaWmNZgTuVn_D ztV`T`sz+iBmJOFpmwTj9tK1*c%($i&tEm}0Q(YCCIFKs{GTR&Dc^P1pT+~z&L7?x0 zy|V@q(ahuU|Hg2loU+R@^04OimPw z$W*^M;~a8keK3=0!mJ*s%1lo9l{r*sRtSkOG_F3bgv5sAf&_QyxIDBukgZp8H%kb{ z=a-69MZ7OKZ%QHaq~houir43Sb&-g2@?lr3F;>jU>CKI=n6qA(w_ATbFw5p(n-3rT zk9f4d_nUMwF>?9CYl~jW&G|o7yxNNw@)9bqku;VD7F#f>X&n^UJ}l|H0!ZLI3>Y>x zfC&O5D5|gqBZl?T9K{|jZko+zmQ8Yw)h4aOYYt1I8`@&E9#--s?*5E_8vo7b7yj!* zJG+qvn~}7|>sUHF^VNpeWXI74x6>ZKT?c3mEWYS82(`bWH(wZO^*{`A05Px~;}X43 zgE0fSF9icn;YJ?=zSNz=|E0Q@LmL$Kh!_VC@d_Wc&xndHWJwR94?QTFUi5~elLlBN zas!s7e4~P@7p{-miP!VhU2}jLk)<1{t&0$7Hn3_Zc1`Q81=tGRZhOuOJL-MzT)qy# z;)%vDa~BjWIlAs1xugSc=qP@8dvF()DDKgH!(+4Q>l9k2oF^@>t{C96q%W5AuoVoiRjZWdw9V^CDr8s8N8D6?8C zdo&MO0d!5#m|H2$;acP0Oz-Mzi;EnUSyZDxj~5 zHA*O`E<1^WI|i2@#kwK_$F=F~mZ9gheUIy7olycGyhmATB_YTSGq720HW(|){ezfm z7_&9TP8fi+YZwgT&ALt%4cwPD*Y_I5+ymVw@y#6MWNY@25jOm?uoY2k*hyP>rj24821w>d~C5Mf1^NQX8lF$T1yM%+s5O0xm#8qS<^R z-l_?XHSw7!{b`5O72C7>O%o>G!bQf9*@n6=!bLUm_y-UJ6i&;onbKHsH0Wx~#WLQ# zGx284I$1<$@MMk6+JbH#UEGI&Ro~Kq3+@wpzjPx9>&OJ-29L$>=#noGVq>yI38yfm z%&nYp$ccugB1v*pC`S453x;>^61(ae!>DPuq>Tge*oh+h?k|zqU`ywrX<9LL;%D!K zCFYt**-?x``nRApgGRW}NzGQW)SDgOq%N%;c;va`Fsph*kW@G2u-asEgG$yg*uo;Q z_=4C_=`EYl=`GwbtIXY109Bzo;?Fg}?2w&e!{=1@N2i}cee^f2{;y1#!79C8KlFd! zBbD#SSq)aPxYf)8NxMO$iykwzi zf}c^9!eMRpoKgAy*l}}Ta*O6dCKT4Fh{%1> zCtuWrr5|hT0iTVzc+Dy&-P=kR6BH3kLWXUV!frLZ!wv7sHL-q++mQLqPU8$q_B{Q3 zy3!|iEs-L`{waPc3Oh z=)`EHxkIP(CD8?^bS9e`O*>8#{f*C#(nYnB5%b+1s+?3J%xi?UoIEqmnAu`^L}JvF zriDf&h?z^epx$n<)if_lrtVqfkgerc6GyLoBa3?@+(B+?{+RHP2$5CVb?k)-iy{Ct1^*GEU9u@p(nt> z%BGbBs-Y{u1IrZ9DFhBk)dfYJ5G^dLepUM_pxom=;}XxZ6833EJj9OB zgNF1`MWicgI6br@^0LXP;XC`eP&ZsiRVI0=Uf<7rwHkq1>o~;{9f}s+ z-aM#zG<#`Q&vY|;9aluI9FAWwzS27Kaf!ppR5uhzQ@Zd|PW{Bo z8_eisGKcBPBLck#`3xY@^EPq0_hs0)(fDA4TB1X~#{3*n4pvImHjbRM~Wg)v)ji?w! zNyMNao?0%3)pXZZ4o(*DorW>Ru#ZXR5_n!4Hzh|IuqVnl#LH*c2>(W!4fa|Xc$!iU z%H#o>B_R}dAsBt(vI%4L3vbP5cU7wLAv_%p2(Vbbxwj za7s(?Ovv5%EV1?-1tzbUF*->b8|Bk)qBh@=&}?k&8G86(rmP##xDCAMuL?|fIpRGh zJXJzbvdGOUAV1>2C#&6jbqVU7FUPsE>GWSfF6jb7)ao+R<*NE=E2uCBucC zvZQK2TyV_(3;?ck6#o>u2YPrQ#>nrI_D4l@ujoK{<-eT*YgTxjj^S*#^G0V+SErEg;g0X+jm2l?cJ|==hj&E4Tak@A(peB>g&8+^r$DY zX-BGc$HOdMj;_$12@TSO8l^=iHAj?0$jV<`3))p#pwB*LN3AC!M{#d379b+)iE zp;t0-`o}2m-?dX@!j#jR2+B}4&X6sRppf+JZ5<0CzZR8mJ$M=mlpM0eDVc@uXIKTc z+0_jK>8yuV8&i%x)XMu&L=2ADoo+v3^vUZXhIVq81*I&rUCeK4niofHZC4j-{O`Xm z+&(pf=p}5^tW)-oS;tz(pU0fXc}v_Pjtr5wNj^&O5xyksGsk(6WXD6s`5-0t6UUM) z5Y30#Z~6C@Lw|TG=9oEJF8Tj7JeGukprVSgs(9_3Uo+eq%9=}@M*Uqm9k#hQ+1^r> zh8Cf+UVW)7nxjQzFCxs@ii)9mc>dtUv`6$s!Zw~HbI@xj!g4&-I6UVv=Z_OS-VbX%+X`ze!Yb?u>T=? zuZ!%`KiC3p?{xUfya##xnHR3PC&F4>oLg2{(a9cE?3B(s7t5zXKc)CsmLCkl+Fp>8vJXDgw1DI5bqZ}`y)@9tQG zVS$&C%30N4Y)roj#bp(Q@IaXO1`MtaifS*`t0XaZ+um#6JD=z}5Yb(xO=dh3!qk(6 zYb;`&dM+7Kpz@`-|80qf@O?$0v7fh~; zji$wT-{DG&3i`rONyToh0L$7C{?K?ooCurWo1+01bfu+8*(46m$^nmV=LFK`BR@e zH1l{;Y?wn=bc(Juzb}7|pNg6g`9eut!Za!7= zz!*K;vCDYNPEaGg!HRCT-E+cQWBpkren0r_zxN#vVQE1yK6;JzqQP!Zub5{?nJ3sLGOW;76se9ys1Ph$?379JvtBdVCWd?iwxG3VWpVP_+smjZ&V82gv*A5k=%;-htn8EK zX#Xg1p6Tk6Jp#U^YlS{yV3bv(Rd75YbiA8L*l|@03Gn9BNPXKNrT7ffempJdHd)tP zH|(Qzc@{iUZTtn`!#VaNWo-T7W47Y4zy@V0=QLEt$#egclRHD7L;uA;*zhjJfPony z^wktWD$!K`#g#Q;Wb>{=#Y^(JK%Xa``cB1mQD}|v$irn-b6Q zFtZ{H3=yRDRHWZmLFa@H(v$UF2;o))$1}>8oa2RS^*(d}`PI_;bY)0+o8^~Al5Z7M zMcPX+9ulh|@4qvSs!~i4(R^&%{6^U6C%h*d3fPpkw#v+j+hkXxDnqIXelB>PZ0r(F z+1)yM7RQCoIT2Ac`0JE%8ESGUH_6HN*W-kKg6Txy>?HfSyfDD4s)L}NKk5OV__Q0$5e#e&FYb!}TiQ(jH@*m!Bg(KPfs zhJ~FI8=rT`&}H6JI>J>1yqBTTh_l^Apx{SC4$55%eVrES$jRDVL@3tXXN{u9=?j9Z zAm&8N=0SV&bVjD@l-7LKvxg)*8PG&m9oCdpX6+TZxvasF87}istoe2Gg_6gUD`VTk z*bG3MJuCU5gbKSyy=dQvEU=MT&`^w^w=~9^ZjnSq&28ABu0h*srgZ#iur;65Owmdq z{*FNGcp2}uaiRcYtCDtqOP=7fX)cLKic4vhY6~-)4$|UW%0wlqhvcYEOS<*`5x+$^ z;_(l`Y4yCC?&|0W(JpZq(kslq6&Y9JZq?YF!}%V|*Fh}fWXw)bV7<02TcMaLO+Bvo z+k(uGWG|FNm*&D1bce9bHaKBl76#6ilNDj^cvUg0w->!`-#mPq=a?+q(`$~X*}0HU z9AaJsq~zW@&nc~+zB&owk9;uD(a9;xN$;>bKx}rpEaYtTqdzQ@Y`liQV(>Elj zf>#-ZYSA4&<&XN>kw_9|sQMPnh_9ZAe(yB1Pbw%ZbP9}1+KfqZ)f@{jw#cG62o6pl ztzEwXfvGp&8_C+&8-65t7de8FfqjoqmcNB}?)3kSr2_>(9##-Siu3hD?mJs9hJ$R= zGn@-m<3R8;0fR#A5#Pr?rftHF-=A{{+lDCg47+uW_s$;l7@rQmrs1_S!qcGHg_COj zk%vQEx_7^t-t&D_ICVOJs?7wIGv6zhDEY<_)dNJ>c?#0*3#%F2U$ zKt>Z$Q4|q-s?r(B^doqWWsUqX;DH##BJf$jLLu1m$_=4=y%SMn_}`ztB{;YehRld~ zrLZ&m+?jIuyu15=RtGn*;LsGtb~{2-QHXKZXdYgtos5=RAU& zYK=x2(rwWuRlb+n7uvj~(7>wD&FjcxFYr`Ap%5i%oqiO1OL44L^-G4E>ljr?z<~b5 zTmpr|h}NHB-Zl4HJBQ{p%ouyRaSdXF0U6j`Rq3M)^g4H5gDT`)x^qoKmm;;8GDN9@ z5OpA0?|KQ{gYHhHZGz%S*tx9xz7Z0*&KO;r#vCj5p6s9B(fvD$ij5Js(!!b0EWfRM13U z{(cVkfqFNf|A2Pbn*0L?|L=qtseC5)hlf1`v~;o~ssh+P94!Ggx}D7c%wXW~fP`?~ zdyz?Lzy-~UoMeRjuGTg_N!kYtKAtfvm9Cl=ws2zdAcJ@7Wzx;`ajNUX%eQ>@0~QLy zc4?#t9~DV~x2)b<8-$8op}ue!jE1M-K0cj>rc}ZTJajjVCak@@Xane^3$?Bt7%o0A z^Jo!BUlk?q1@T_ObihX-K1e2D6tOw!&Twwe(mS186Yrcm4P?5=OR*ORl5asL8Xga~ zoqjONQMP#Yht?_WQ{7w>>5cgkO9Wm}!4!F@0`(z@i9BYiTaZQ=?mKA`DO#~_)f2!F zy(tTeo1<7rc=@kzTB**Q2&Lh=oVnHxgap+@2=W^UQt8DP1mc%Idq^1}PAbz*a$h35 z9K5RNSDl(8)Rv>Wm(HuBh~i*+R)R4tx5R7{!`efXdCBAmW+z+5&fP5uRh-yfQDwcg z4@3iiLF9lLo!DgUL?3@18MC;NGeKJdSz)|T8DR7Mfp;>sTRIj3-}g+FFLA9i$nwfe z35gUO{k(XtD}DIN2wq&k-H^f=4g5}M{;6uN;B`*@6e#=%=o2otLt^1?9q{9LgD2tU z!ta{h_17$})04TW7H8}5)mQcALgbMZgUh1dQq)}3**(ppPVop0{gY2@F08nP=hi9H zB13;Wh~~{^YLwv+$-?gNBo2OC^G+!-EZ^<(fkiivW1z8<3H3pKhD&@ z5R8#u|5W9!OQ5qsUnSc8A|)vJ>Q_#Yh5<>hf^0M+0)X#??VE<9she<>Ch7`BM+)uv zg3o#*j(H`c_7av9oayy+*>RM?$$fXXv}E@w>6#{h#dPA900!NOGeL1AH!LmO107z6 zhGGBFgQ0H7XeJJ^&sjLo>o?nyVzO0sQ{q;FrkK>TRY#Huusk)SRWseM^c!4z6YhMr zuA=6^4*>nB&&*q{3LA#fgS|Au+rv2F2JT0 zvmU(rhf8mRW2i)+=UUZVUfM>;5Y@b$GEbfPy%V7^w^XZ z*+ukebNO&I*y*1FE9&Vw@NKa%RSAAwzB7^FeFB4B^F)x`QtV5{>(EWw&v;zU*K|7b9(KK;pnEgG+r$mq-Rx-V_ZXI;YLjzO|!hFUK%!Z(J<5aum`bbG5+CO+|JNCG3|(ImReU z6#4v?(!)AhJD=6a6zuyKj#ThTusqhs1lJq(0T7LB+d*W7f&(4cy+djY{40*FQ=I1z-1d+F>~wq3>169E z{*;822AV*8q7CiW0LXel^;x+#^X{cMs-WZ^`q`Oz1Y@|MG-j>O(g9T zrdPwu^m{r`S2ZhdNR?2_SeOy_Q4g@Su|t2b=Q zV+d-d%B8hhfEy*(C!n6s&{WVH4bl)>z)i@WiGx$j?D&Dy&wl7E*KHI-<5GZb9I49m z#rmH#PH)>Amk8v_t-`&=Gt%aY*HdOD{7P=Xq)nL~cW1CH1Tf20HXYIkL(yiUDX8lA zs~CUn+^sj-k&wUQ{4A8>8XRZ3IxAx(B5mwUZUPTdFc^FJduOxcdnHVIc(@g?2kFP2 z?iN{Yzk;K`p~9?PiYEy(Yh^L8{szo~sa1<7e^38*JSln(-K0kOmsbfG~N71P%*TGSOz)v+jyEwa7Eo<&0@F`N;!w7)bXz zayfAFV~(B(6B7RxBn^k&e7@0dC;es2FfruGHEaOUAe4ss<;2f6t5Jx1Nm_iILmEuB z23v!K;SuL_ZdcYa*`}lQf$${W6gg#|c)tl#L?xC_F1C>R3pVLrWai->oGnY|oDsSW zBDwl!>Y`mr_!(5CrmiYaaflVH&lr=T&bdD#p|OiOc<5DV`zmVUC~Q@lbJw z$f1RrE4M$bqTqkrx*LW*ZR>0+dALMH- zr{&GqQxBQJGV&U9Odllbe-5Qf5u8kmy;9s37ZB*1i^)%={OpAfFLUOx?gOZOv547V z_LK@o*4x@Muu11}9s@4Jnb*l1OP_fRFGdPt9mW&FGQ(pU$9QE!U`mswsJwQa}me|=0f;Zq1EXxdfB06CQenEu8al+JvCpSG+S-Nel)?(VRh7h9_as8}l z9WTksRL3U+#He8V$ve9+BbL@@P0SViA*i*^%<7cIim=~r6rPX{S$pWKZgVBZ74~sX zj@7CH#KO&xI^p}$0~<`D9DGj)dX=Q<@)6>_Km1{T_FGX zIj(`r-4MbT+{VA`Ju_YIKHkdfBCcQeqn0LOE=R#DOtt+x*V~Qx@ad)N&j7e znHfjK+%Y+)z&lb%rFaY}2YBu!eV%dzB*aB^za*FXDn>_I_pEFJgym|;B2gn>f1`(i zZ>l&OmkkSE0c2BtTKm3tU3+#er+Gu%?YbbNey0iKdrq469(Wezmq{WiFd&1q_zBmA zeylYCNbxUe_~W^W6_qn`BFmgbJ!$2FW7aQ0`%?m0Qm}%486o?lvZ94Z^Kfx(rN)j> zUqgl=6&+(1=;T6CfnVr%Gh{2lqQn(KG6EHM?35AK?wa-QUK86s+5QA^P^NV$Gb!_g zKX6m%K~2olEL3$GaIL&XDP=u{t1LMP%cN_N+ZaH7(5}%^dMbg{o*72(~N#Do+o zs%J~+OIMk=MFaFh(f0m>vA#T*Ux=yyD!Lj}|HK^0l}6Ub8iI?qZx>opB!iZ?e+I8m39nE- zWr%upl!!)vl_Zy(xmn_v{P1@cZ0F(Nd&|dpDyZ>ix>dsStX`Y62U za#us?0Hr1zp)6utGXXOs9D{KfLxFL0Wd};o$&95tQgJwyMKS%Xg`JfKQhoJ6Y`_Ss zfms0R*i;lFid0eCs2=2y6=ZOD>wwj4QxfiGHHXG&C2{8WFNPyY-U}6y>1u)GswM;- zLsA;5t&~6!NRG-KGGX~K6UAj%jS>yNGsa`lp;+Bbv`%^-VDUvr#s+0V9m!OVK^aGdjUR#S(brm89;PL6wq3qBZHL z%TZKs61fwh=t;TQkA2xi#+z&f&EG|oVWOenm;z1g58C$3=q$Ru&|R^F>e?>HgCWQ6 zblbeOzhS6$v(Ea1Y+(kk1fthl1?`~(XQXWHTE=5ZiQb2MpQCJ9K?r=PUMD**$)tLB z(fQs$Y={tN#sLBIf$PT}8WWc7N82+B=pWVgp`Xnc#&wu*=of`Fny^d9@fMC0b4g4!h3{IxG;x`dA(p77X9w`WSz?yS6ZHvq>tV7Qu4rrKb<8WCm1eE3S4*)e=eyWh^=GHHO* z(3P*>5L1&bkP-`{z%1i8-aZAdLX8oL)BS86HCWGIc;mC598u{$8bV+n7b4F8<55ah8~<55X2$%ZGX&haEo~kS-rm4AG?eW|28Kh0jtr*cxYJo{SS8V& zT$X(sLk|7&?K}S{N5vSp-6I2YrpKmRny=3{ZxD<;t&ds>dsPKTWyYXHo3dh-QMks9 z%ZNf}$j{jPS!!&}nl<@QcbxdN{+BypUMj=r=A9{}j}la0VONNnH)Z`u;GtoKI{`AP zWfrAeyi0kZ+)Lj?rbOJ*G8i&xzJCAo#mm&L=(WUgjQrPpXAZ|`i32T5wcn{s^FRQ-`rPQG4HeqZ^8^1~Th z!8Bp)7wmEy_LX9}A_Py|e9aZr7sdDQwXD~U0gSOp757tY6z5zlq1K$idwNuE)hf8b zwjO;JX@9|?e!jY`GWlSLOhWy=i_X95_&55 zA@#hf)EWYX73vLngH-N(y`LedvLv1F31D|5Q+*9-?7T<+DU>(9=EhJ%Xu-EOlt z8Ew+7f&G**PFGpKIxF7*Qp3g!3*W;9SWY2CYzmF!=j0^f(U0tK*mc z=TFd&%Hm1giFA$|_qzw)D)b6HrfrCAO!!~M6}ukUahlAVIeoTDy?o(|xTRfZq*34y z6E+1ZWHO!09!|pymcT2ERwaU~m~?6nQh!LCp4iIxbuPxvhm+s0pr>5dX}GM1+1~J& z*sR&3se>`^caP5{o?x^>M zQD{>WWG0-gdnx)KKZAP6)AMM~{J7nua2EjaD859CFp0mK*$(Gs8dIVYvzO`-Mm54H zZgXpQ{%IOFVZ!#6s)(`ARC|Di1w6a-8Rw3wv%B5j235~r#7#j#LD}H?RbYUQu7sk7 zvJa*C-myuYV8!=WFJU7U0RtuYMzx$Q^}>X34Xi7qHV<^&zOm)l6Xd{!<|0hi-X-(p zH}1}k+6(qy<2RgJlV7glDma#KhdldN0Eqy*k>!Q6q@~+PFehZO+b0mgyWGKOpux@} ze4{J?7W6AAr7qjJQYu_1>v*0T+Hn;o-nTZ-TJsu|E$H?rgV)(3d{qA-zjF#+i+X5H zqmwNH-&|RET|(^SNxlp?NU(0qcBwPwtX!jgGEZMyVt9PQ><^C^d%zLMEl6JA7l^!X zM75}rM?+~Ljo}%IMEQION0hL`8(?(PUP5|VPPPrQbne&rG+3bymsja!eB|6?YmFed;oq*t0WnwG8=qdj z4D@bjSqbrW3()y|N2X@(GPFHGEP%_L^ndqPZ3?)m$>;P zoZ%yq#U09mcm0P>6RPI!`4^SETv8U=`IC+V39fO)y(znzHw|1Ynaji5?_uE zeC62d)6W1WXug6j1JAeE^4s3OOlU1gD`4nDw;{Km=#($WIh6YX+M)Z=-CN{z* z*4BTDj{GxgD2_>i3L=z;N~$jLu=u;#@pXSz*^bL%}H^iC%4 z3HWd}49%1zI+iud!Dn620soV$jgpCAW&ULuy1GK4Ydd2st9Ru0FM`HYJkCsoo;~l> z;girhWJl7kxh)0d(@RKgUxb4!x5x^n@$BW;=V*xB%<`0DCc6j8aIuE&e4$jwzR;me zqH~eCeT}zb-bvgZZzbogrJIYTPW~Hync{f)fY;X9AK8HHxbN*A? z`=@!9EU3yn%H(eo8`h@_a^{Taj1h?`4$QBmBX?nXPRqigd`7+r+71LYbUO0aVf(K; zGt~3p%BWyS!qIF&OTDeiZ7^tT`{13cB7Ikuuc?dZ|9ub;28;_O{`lksAE{dW|Nhxk zZ2wSv`J>PlG%_;z0P}x5{nst{pn?8lq!W~=vMsp%OnVKTN+$K9X7UTxA$IK)MSK%6Zvr$(gz@kqvjT6hdH0Eshvm$Lg)gm%O^{(bN zVM&W=^pX-1z$TsWAZ=2pIepZaco*$>>P64^ai`-~Tcert z>q{TV0(R5=sfZ-a)bF3$4>^nPg>AV9y(5yFb_Lmu|5xL>NgVg*Helqux9*-8I$Genw5Y zuJCGULXFTq$)LV*`1Uh1A6vU0(vIrF2wGE5o!bKg?X>u5Fczd01B2 zwP$UQdhT#=t#dLTl$1Vd5mQ$;EUdeysVvvqu`9J-40{M#YWy6tOPSlzgc$WXqWh9_BE0?^MXWqhQit@)XI6-Ma3Iz?dETt-BpIG~18CmAP6VNB|){`rs}5 z;6c|*+huEnkZhwZusGr*Y^%u@=TDn)$Y95V!MS0dBpKDjJ z#y%_#kMsIXc5}jgkkV5o-En3Goyon2og>w(-O`)CLRXHy#3=SH7$t<-aHZUWTOiK# z`)>k9Pp@g|CZB?iT%Qc%A{Jjr)ie%~@_W=9dS?`I{t8JZFurY~3eZ?5pfOws3+RY_ zs55u1)dnN8%Mc-$2WFS{$*1#Ap>`Z@fh0DDp~UJ|--KMmW%!Ve$^Bn`stvD84&wkB z*3oKR(1#=vHc%ttWDr&{W5qG>evkut(_gG?Jp+{Bz@$X)ItiNME{hQq9==2YM zpOVRk=CRX%rXZ1jGN1J7S2e*utQ-BC86h_XP;^3a$U_{?;aN*1Pj|H4Kf#k0H9MT} zm;(KtIz2k@jl816CM63MdVl-Srv#2<*BgTY z(K;6%{kuS%f5J^aFyG>O!CL_&@BgBiL~vx7Li!Ozp+64r-=T~Cux*q2DlhjJ!?vK9 z2{{l(lpuLTQ~P~!MTO-4NdC}`=DupiRt98kf#u{HIMV63$(+t4YGic2@9-w=6?7tu zjUzUf7cE=77i({0)ZdxU#V8Edf-(^%5NLth+7^j!m}$W`BI_`Gs9XoX)~PaGqkw<` z7$<7X)0)}Zrj*D6+>n_Bs>o#$LoO86mY+Y=$A_qlI6{z__uPcmf~K{{QIi*M&wk5Z z-7@~a)~*B`>hAk1?Wv?>t&k+4ETKi&BRe5f8VtssomL^GQnb;oq$Jw4NkvFSDMCrw z_kGj;KX=BAx$|Aj`+NTLJoDE3zR!Hlx#ymHwtMcq8K39K+-LOh*S==<%Kd_$&YQ)t zy3(GX+x+63N0-T1=eem#?(O@Db6i2a)9^FvuD;m5#` zLv>5fx`;&1PE%ygz1lyjSJjvs^X>nZ+Gu@h&>q{!5-qfsY|x)N+Nh_Cw}ESjWWk3G zPg@=TB)L@O`G@@2S=k#`F{O(AN>U){qwpoW%&6nlH)rElRW6^JcB3lhfS= zD&`>DDW&4)f6u!iJ?4z<0 z&lr*S!#7Epe5-mrXRY?(9|HS6t#zwjc|rXx9`Z#65)Tv?57&)JG0X>!eA0X{eckL0rcR-a z6N3Yqd{^4^_l(mK`&vHgm)L;*wHXyRw+}5oxnQf|iI%xbvT`;Q=WckGz4%?fGvnp; z;=Igv=ICd~9D61edTxJuV169dGQ=_-IB!%)9z~9|N)tXWMJr4EUwc zczt2!_0&USPF1_U8&W-FNu}+>EasKuOx2gtKZDw2UM1Jul(|~Id;E_5h11c{QW>g^PEcc4DraaIzCYClTu!pNURJ#|_(|FB%JB``;=B<}MwjXlmqkt)B7f?baey>Qde>&Lo9 zONy%1H^|m(dNQzK#e@^rr2n*Bf4W+q8DWsy98}uhaq`(iYf2w)Kg$Yow>+!zuUdA) z_FnIHyO(cHw2NXj>D`1!?|NzFGO8~2@$U5~Lb^gn^oCXuqjC55_I-(NS=t|lJ;^`! z^W2r2PMM|gaV8pOj+@idZrmPiJz@9Us%i(@75zr8)3_HAZ?Smp$HvinFMTSqol?Zq zycL)@Oxf?okXwFj2e%AAsVvJhIV$(XbJV}B7kv`~f^&9Q>FhnD^=-(T-WsoN&h#-G z93e5-oVi(w3t!$ficGbz$ zI|FpTON?`Qk(S%Pe(4~~1P{ghk)kstT#7~JnH&BQ^-!Odkho%ZUf(_0vxbV6%8YoF zaVr;gi&Z_=ZWr4SJxg!q%Dl?mc`qGoKRSdf_n9}ar?bzni;|P>EdQ9>=eSG8<7;tB z($497k6kcLZt2%=(gAU8V^*fg3#a5|dyOXyTDx4+dG^qR3H^+-HmEt4RLV*Ayk9M@ zXltw(nzEjyrX29c&b{V0-{O>Z(*u>XkTAHIcb$w$~XyIbRArr=WKB=`p`&EV=#8 zNSi_{cg$?l=b6j**suiAk@p{70 zXT7}-{64jy|2fNB54H~JturK}#;LMe=Tr50ttPpiS_Zz(#aZQ& z2S#~ZKk|3De3?Ehbdq{}bR;ukybJt;XP@_Ndhc0pAzpRiTDM8*4#ou`AwkxwBbFWO zr#4%)U!MxuoQSm2H}gVM+Mi_VG%Nge`#NA>>4!ltMmFp}ZuKrTA~yNkyZD$GfB)%I zrc62hwh|RSJd&{sjHLPWvmmv zl_vJ?wOQt;)bJaQ)?#NKT^?xq{-9Te*mL!&4ci<~swesHd6W69!JQ0|y?qyw`X5gU61lqJOtZElSR%NEE~-aR|A;7dj1wN*FnjT!PeG4uHAzLGtk zd|b3*-|8{8o4;s`d3pTZi(I|iQ9JJBsnjx>E*@N!I$P&xx|dk+i%X-1TzGVJ)wm;K zQ?-t+(h$AyGJC&Dv7`1!u^R*4WJ#C9W3e_4x0q@}W**Di;Q6%imP$iP-ocCvu@dVY zZyua&zPwptbh$#spA0FrhcD}bj|SzRG<7&(Av@9Gg7J!l*;h|5UR$%><84hpFR9{B zNv12#-JkpZNP3Li%=3q*8(omnIrC#_Yi^BBsrY`2Hy*`-dmG<{CV?wa1#{iL7wvKtFBo``5Z?0@XmYJJOZ>*c3e+;}oL;*M6r{`8yQXCyhVe15@V z#DmL+tXCP9UUpOd{N;kp@il&l^D-Yu{Oeb0{Ud1XQq_mwJ)Ns2OiNj6zrJo*yEx0j zC(cW*eNg*R!>NtKmh70IKW%xVVOZ~x6(b+*q)cp>^F=V0xjxu)_CtOj|%*f9@kzu)%% zRdplmLASO(F$1!aw#?GY4|Z(UEHBW0Ga)OepO=|NuQ3aEj9XHpvF?{>ft=ODL9$k3 z(v$rcKVdxHy!-9Px`5)NODm0ndP`|0rKEqje><)za$n8D5iy%5CzhYr(d@b7cHXeL zX@isgqz@4*oQ58_Se;rH(fvZ$D#i=W+c7l%Tz>=E8P|>vruY6q7<(amjrTle4Bey4jN zUq=1>ndRet9M1dewLb0i^~)Drw;CzhA6fa%#r)>X6Eca}gR|KG7~Adbo!#kQ^wpnf zZ2o%g*a60{imBDwuL8gO8vj+d-o1YGdicwC=FyCw-yMxlO#WeSbnV>XoZ_OEK@xMH z75TqQcviIko&L^*SMJO9ADou-JaF+xfvXk=?{NB;3{Ip4B73qIR7raiIi;jR*C1zf z<@!C>?uw-c+vE=I+3auj(f#s_lhAe8cCkHc!Dii!4eKYcUOisdKK=Kj)phHZe9)hi z9;?sF7#0#0y#L&`8pH1`3y*!zd$45D&+hZZA}7Z@T9bZUdPDi70nejz!*hl}rM#Ru zVA62e%IGF7AIkjG_`mwK3L-@9;e{ndq| zw=w)3Pk)Pwj;{VT^26xVm|NyI9@TdLo>G#o=X@zmVdVa_&8Gr2BO4D#G(HI`J25r3 z`TA{zt1i2Gmqor`rBHR`-r!9aV?MWd9Q{15MPtK;ZOtli&3WP}OuLWE#QwB|4S04? zJA3<@Ii3U7%4lo+alBh8sM0I^c8;0tzV`O{eLik7 z*;C@ax24BonaR)0o1Yptj7i&~QSn16-5{a3Fk$r3-&+~#_pXTdKb-o;Ni*S{t){fa zzsccFC1W>l-feJH^Y7xciFYnO4^8pRyguj4@8`2TS{8(czdrM+CDhzatjfp8@*6XB zf&2382iv4J_LT|SHK@{u8o|*itMKJ+RU@P{1)tb zXr|tyylB9q?0x>l=AP#@c8>kJS3`Z+=}|MM9`RrNUQ*K6zj>g_{h1f%t`=F`{I_t# zO%<`>n{*Qc7dp2*Wj6mlCfD>LxZb8LxX*8sjkAWlS?x1p(ytiz;8y3k<#?=>-d-n5G>KAQ1S{%QPEsY>0S;U-#n+oYeK-w<8t zoTeqGRjODyw8rrDi$glHw@tn3w5EO;cuy)d=*`%QR@-kEL!1_^_+6VhKk~BPVI`S9 zh7F@$u2RYq$lpG^rh#C`@F%N-x|v;FXQl#0#4rX z{i3?#7u+O<|CcfXEQ)h~D1vBx7WgGffB1im?!4yx0RAGy`xo?UMaY2!lc$cIaDEU& zf#J$xAgToP#A~*Y$ed1PI^3~bST@HGg~f$_ zv;V-ZD!5}|M9XP#qhnVKV>kRi;dVT7K?je{b8$XM$`}3X;Cv#O=-4_fEZUdie9%I^A`C32!-9Y4g6kJ$6P=&~deaM$ zJ#W2X0-30q%Or(S@U(+-?&FREU*_TbhSLpmt@uI)geiRihwi6I4yKlS(%) zGTec(t$_;#0{fy>Iv9M7tf7N}EnPY!NsOUN5+wGum~;?w7{m`Mh$wWwBrPwvaI_%+ z78Eb<-aUSP1dSU$ODqzYSf)2EBRIk~5(Kny%+G`1`Wu4Dq=p266-EmnjRE{60pQ-H zL&pX#QC;x$f)e%XI2K0B%t(xxAUc@H0Oy^cfPYz)0Abpc4*U zd)e_phVBgsMAt?g7m5O8nSufi4)dqw0$&48BnbY@P-X-)8}g4uFiFMrZ6ygx#}*qu zh~Rq04eohrkZ^`S{p{dK->H$hj7L@7 z1*Q)?!RH?akE7E;Dq)bPyMW|uaq{B{ns+=5Zl}ikuVJvxKuQU6pon3xAaA%)iJ}G+ z!o=a@JVK4d2xSESmnnGN6%_l93H~V%TvGTj#|@&C8#69EECP>+1Vx6sD1Q2UCsQAdT-RiJ}=(LNGH$wZ<)ae;_Huo?}E zpyPugf@y%lt44F)ediyE;E!>g4I=&+mIL-^JRR5=E+cHWcc5!9?hEuBPzXz)T#s6J zMu@Sr(8@#}8Blni+{Cx=uQALBBow~R9sb{=Ik)WZFmNW6hw32XG3NamZrM+q0^vV# zg`;O2$7A(bj$7egZwGDToM+}aJA8uV`lLM2+uBV;L>5YYx)`}95aI|!4$hJVFnxmH zA$xKPfd`z`>w&@%DBs`%x(T`{3{)V5^va>(F*f$pKljk%xPLrN!X zQ}o1lUY{a33D?pWNaq9hTS1}lSv~{0B{&H*@XGq+{AY>XkpBzdM}U9SDaifgCLV`# zS%L)kUNdoKh583GxzCxHM6-f@nGxhPtltiFoeYC8h8b7q5`aH*6MGsFX`m_yd#R(T z7U-ep7mr}0WTy#7$g7Nr$egxGuY>?EQ#%?HoOF6)`FjwFCoEu?L*6Gh@g@l%iV zU1l-kqTE=%{>&(HiHy~Jz`O*~cn3yt0*?UVTf&0KcLxbhNX`ygW<@ZWcCZIUj$Ui3 zDIyB!b3iYZFmy#LB04)5vx10>*GtGRW#p4iy6ul|fccvScp4aby^GVyzRAZSDbS)_CsL=`7enHDN@6wIuS6#FF7Fd!PWsG8}YeIu9L9qNfWTJ`96< zkrLWQbg^=dha!0#(ivkY?UNI`wt8^eDIm5Gh?!%=eBAy=VsLCCEI63jmCmU>b7wt} zM6m&`q>J5!Bk5vg!-}L>0z-R*Kh=j7CJ9jhXeI9h((@D!of8*yY&#OK10k2=x0~iU zH$W-0!1EaJh@wgR;UgSbhzVHW6?{$L@&YQ0ccD;pSS?VQ2m{1bV}w5?75;jF2|Dlx zMNeb{**7FaQqR-i-7me+IofiVC)}A@1yU00JXy=#PMU2GX^bgnZ;2}C=$2ZUj`lp< zA(jRA!29GTZVmn)Ns&*}1GBo*BVgV300A2D$e?Mej}n3qXD`b<)CU$=1d^i@GZg+t zHC^r=QMPg*!Rat%_~LSi7n)k<(O8EF$Ot2%;yJM@`2gJ(zS{NyNTNaFlUAERPZEr2 z$2m~bj?f;dMzFFr)ugq1Cso)2sm(AteN2`zi|I)jdq=_si%%5K9aAge*R=XH2Z$jS zLzV&|9Pg8xcy0+j5iHCi7gn>Jo5Fq=K{jYO9tF)_Nd%{hg0#sAT)Sr9I0eAD7o>98 z&rNhlqak1kZx@2sq!PTb?6to-S)z#y8zn_u<;<}UIr~T z_6i+s*tR+LRdbjjI{29AFKG5{cz zF-WN_A|!V+$~-iNGBy#tvpG2e(6&I$8%K2AMnptACKjB25=z9omEr*sAlXCUA#fYl zFNcW8AO3Y#!$GHEkKT-19Vef{(2;Y?n?S2AfS3vCTCxbo2_1Wwo2{e;i_vmPwW21APsHT*S=NX9)BY}I=I5!QG_x(e3Bn09$PPEoV zg1aMn$+UAYoSC3R5YF&ExrwujgrmhD-H??bjD3CCgLVpwrK?6vthehP2OfI?)Y@Em zY@kKF=IDQCgm=Rln>4#DqHM;56d5jth(d)epI}fR!BwC9soxMu5PAiCaq}H_MmQco z0GxhCasoG+O7_Tt0hkEO2q(~bmX1J2zX#uSaTN86(<^VwDgpPk@Wr!yt13zYogo${ z96^_tkn=CH%>IosK+gt^!TCRXg&rPTS=8S7cGgE3Dlcr!uU;ck;CInz2*{CgorfhO)E5pnl4?>EL*2g*So@-Zf(FRF zmYxcS0{aF6a_AjJ&0+??JQEx$UI;mKn;zOFJUEQuD-8Ro6K6eN2sC7XeLN#IXd=?! z3kb|Z7_4BEFyDA(T94ftV*bzxY;zJs&A5FQy-$nJ9~6*_Cqd6ZwhT0AIl!x7c4T)O z5t`RhFv_%Qy zci0nhT#Ml7$N)+{Hz}%5z64m8plt!?v-}wmkJkXhy&#zqw|t4At22xpU7n|o@p=6X z5x1j3A|lK;+9#?D7u4%ep-y)|E`%?x(5!bvWd1mYSH^M(X0Sr(>R8K-@=Z{|4EsHp~ZdAeA2(`>~wamY?u_x%3N46cu*d1HF=0Ak^HPe#Ow$s*s=XATN^ic*PQRN3PFRYvE5Z4t%OG47q{_OR4K7L z+Q1MAVv-q-2dkp<57et^s}$4=UU> zh~U1cD#A{mk%gcX_t=RNuUkPRApnevyRQ}nC={JT$0KpTWOh`D$=9gsBe$@#fZGa+ zt&B~jjt&vq2Sq`aVQ71olG|=49()w<4Y4L9HbxlYc(8JU3Pu5fM*q zo7ejMychwp=>ucHjpvSO!clXv>ZHSUYvi&jm_Aq92(%^_(!%-J$byW7qs0lmsDmJ0 zhRwFE^cxj}i?VdYL61YgEa9d6vF5^Y!;KtfM1)0$lMne-@$l)rK)fg@!V`z|8T3Rt zYzW%Y>|$@R@2}58MM12eA)Ufk{0mFrXn>-#e5iG#aOd;nb{N2A&=GupWvVSDfldcY zx+z9s#ZSi9>8k@NH<%bxOhwj#+oe!`K2luMJD$7Uf(!##c$Qy0`2-~gjXWa;#HND) zr(y)<9q9=oWN*wuAPFjKDeIC`Dz|;&dH{x&1yaPPX*ndVfi47=C(StFQw>rS`cnhXT0YmKVL4jyxPl;v_E0-(*qDC<- z&fg|43N&NrdyI^tM9leX7YFUaa&W5_$j=34WE95V7I^iM6wf#!f(WAo*^>T5h=+U7E zb)W_fWO&VVpa4Y;9ko>szuIACOlFi-C`37M*g%)v5@`nq zYn;)+8uGPu{*jmSZL zIT;u`c0iAHy0M}Hkf|VNd}q6Qf+$cxCwx^g#@%Cy6nNzs)3A_`FzP0ww267I_klPZ z0eKRJx+j4QmAe518rjiJ<6`9$2D@YQof$)q?~MBcWVC_#IT)Fpkg^D>H(8|8l|P4# z8J`61|GAlJB6I-j=70-=4d zIB|zJHie!LrNg73r0lCW57qL@Kt1r%%#KtdC8ERY%=ySil2w%~vkpcvpRmg?HjN%1 z+#Zt=($y{ly=@d*N2Jl&6gkU{#x}~d`w|ET-&$}c0p-=dIVU$QSfNZ*2`86H zmE5~))vy$irjEvzq<99AUry-*6o{_B_;B5>oI@byHDJl{5LP~u2uWJ|W=G?6weJZt z{dI>z&Jzhct2o>8TPSHbKwX16HrO>et>6(zU=~OM54R$BQbO{zg`$>FSGXY(ZU-P2 z^%&b*$4|fv9tZWtXEARVkpRzhbI$zOpp!q8en)RsH`hJDw>Q{tJPY0j|5?zmvXe@7 zX`Qk?lwOtBWj%i4)Xl?%43enXY?^&kY?f88bl<(^}4=A37t9DgqnjjQ@F z_G4fS@xs?8u<(N8Cvz;&Ey-VWrRe*Ym-k)r4s-;}kw7(1xj5ZVa?!+lg3WQW2Hs*7Uyk_R#JF9BW$swb}4>R(eN9Eq+RGTLQu38!<#CYsBn zQ8A$>@ZgT|@bcLI4-dSEfX<(K#O4wcL#*IV* ze9aIjP3bsyLXNESAlMCcbJl}*#y#^_=(iJOosGSs@zHGz5I0bYVAC9l z6@!3NagZyn1U;S-(f9*3qy=>0S?NyIg^-1aL;^al1aqHLB0E6819f<&czx;5P++uJ zLU6lA@g)(Gb3z#ccG$~e*R&~xFt)n2FaTJM09Ns+tnn=o*B26V&XHpz0+irDt&kZ^ zz7(Ds{a%UW>j7-z&}r|9(CnxT3=;lqeaAaPf=eRVcbPX6xMl%7?jfFhBtnx1JoM2= zi`(5(hd|X$|;IKu$yt{{))kDdfbaL{Wp7X=Y+dKB$_8nst^SGjtpU&t7}OCMF#zZYN4dABu|= zrOg?%KSFgTOgXw24PU)`VQWE<2EThpYqqO01gfUK3|YArb-54^ZA^zPEIJB&JM`=T zg2Di;jq29?1PHu_VJKs(QV&Y@f&|!Zp0m3~DU`C8Yr~HKqB|feVTf~vQXraw?WM%) zxpc9T7fhlCXef?nGmMDGzCZ~*97Tz@!)|KeQLyB#P}aaVwO&gT@%X(ZtlN%@dQbv_ zrjU~Zf^8tz!OvGWBuxiVXaW29y8S+!l2pe9G&3174A=lmCqafeMJ*;2?SEZ1Tq9OdS1?qVo144svnfJ*}G=cm01yuxURf_Llx{;;jPpAREWsr7MQw zpxjHeqdOgR+lVI!)W2b^AuJW>2lZhFuv-DT$m$nJwv9x=0TMo54RIMSEH&6o>C$^m zxZh2r7syT(ig0+eD*>7-IKdsV!;(m3VW_u}C6#0~qG1f*K!NZQcK`$g6!^3yZi=$b zLBn0<=YYr&SlYNF)0<3Bh{C;SQ3W$+hObTj1yggEVC1a9;Rp^1S$@;tuxMY(h4DN8 zP-A~tFu^W@%|u~(>$rDn@T9@yy)@WahNqH3Q1QUo zD81bZRPgk6*nD9qbf&j@Igqn>vRKyy|?%!ub7gS^QJxH#Du2eTNFlv4R>Q#%;h zSWR5#4vM^}SBj3VDq1?jAUUuk!fT7$dq1>hilB@MFIs+zC!&)3YA1#-D~#IZ44<8JsvAhdAKV(A_4zLpmISBR zO_MiiZ&mnp7{E2LTaG0F9TlL1%jhGShX5JLlq3Wi9#9bALUDnR{kxi{=Rxu12;rG!DkVNK z#WaqBI*@lXRTJrqRXL?rP}LnTFBk-RuA!$w?*GYUwP@7gz6U{lQDqRQR(# z!JN#1oWOmr0eRbiz+3`>uUr2c0g5>3E6aIY5iIAA@Wl@}Kip0vz*jZK?<=A}H~aCr zG#`+k!WR$n@9&^R?>wMKfqc*<;_?L$iZ8evH9+Tn;8LNT!Xc9job@d1QX7EH1)<}n zxp5B>7sUjy^~3UIATL65xe~Jao~c=Pb0IwV0YTUpF2C?+ZesUbB6LUYhjJ)WMraI! z;w0^)11FwBS7P!5ColgYiZ1!{R@qkQL z299w;y`HYB?DV9)q#u+c7Y`L=e|{k)70wR5F}hKeGH%*(_xc+(U>#jmhR@^iVj?i7 zw(N-Rzyz^CMh~+|2|cCY>XelLI}SvS&!g&TA~f53vv=m5Ss?&Uap>*3v3nGXpV56p zIOx|ibfDPNcKjvf!znuU)25n=1%ig5FYYZK!C`uVyCET-p}Y+$oO1&Ui%B?(-cWaH z!yd5aYhe=2F{R#BLgbs=ftzyAMRjg*(rxS7`#hVW3l6FqtR-WNWbP$;l0;wY5*i6l zwEEKd!*L%bGEfwV&Sl~@UjH&3IY!6fz;G}Qw8!};nH;#k8^AZi)Z^tzzY016OwPL| zd|S`dL6DPEQd<(xK<#C?nfIuoq|xcrySUo0t)JGi^MEW5A(jd@Bjc(m(aqR*PEfA0 z-kI+AOn_t9nGleQ`gKZ7j(tNO+?jo@rwbbw@j(BBCP-Zl_TKQQt*nNU23-xB!dWSn zueE_@X%PsN1vJ*Oj-C!GK*Rm^T*aNuxsn5h#W`I>?!)$e_g)(fYqAjHA7yMhy4@y{ zLs5wxGYSohaxzXx{Z zaDQejb@8^uRkt51x@$mSFczDyzt4$~+*^FOXV)k>eKtU&yEIIg5vT#~QYO41!m>}T zF@k;I;4QSfQG(u5N+>~v$kiZP+>osONCfQ&3px#nDQbsC*#Wuc7LGI+(jO#2yf@0| zGZ7sOD+8Uh>o}Z6$+OJrg~>~S-@YIWJQm3KMnr|x=7&)6OUKTWL(E!0J zu;&jVG@1M3$Of4#?%f8|;+f(4qQw@(69f7;A5)au|AeC^^ad`USD{*Aw?rZ&H9-|n zB?GVe?1Xl9VtItD!yIinfaUR}*--8F{?lPpT&jf#1J5Bw^`s_)-szfw;)w|AEeO`= z!u}&*0O+zmycm58!fA>DbY`O7C}SUwZlOUp;?YGcX)7{UjRGPHAgLMHyjg*^3rWZ& z6ghmfGu(MI9v#sSZsxxOfuId&JzfE?6Qd`Jlo1BUckU4d7I3PGV&jm(@=`kl!+Hx} z+>UP=M5IKK1ygC6!gKGe(IC5iFcjR1rHd26Q9_2c{JKcRlq&WsNdf3l_~HRe`(Pqy zM=I9E7F=uHs#jjHIO9Q26|hNm9zw+ID7ul_EWu7)MGWo3Fd`bKQ7<2i;N8%<)#CkP|_on?Q4DRYs=Z@;VT}xPF4U+zV+U4PLpFea#5E zVuVx{C~+2i?wc!)+{BCWL}0f4=H4I6A9wDA))+|vE$AA!o~$Rh0TB`F RZr0uWV?;!LDuE + + com.fr.plugin.third.party.jsd8199 + + yes + 0.5 + 10.0 + 2019-01-01 + fr.open + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttChart.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttChart.java new file mode 100644 index 0000000..c99f0d4 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttChart.java @@ -0,0 +1,1154 @@ +package com.fr.plugin.third.party.jsdibjj; + +import com.fanruan.api.cal.FormulaKit; +import com.fanruan.api.log.LogKit; +import com.fanruan.api.report.chart.BaseChartWithData; +import com.fanruan.api.script.FineCanvas; +import com.fanruan.api.util.AssistKit; +import com.fanruan.api.util.IOKit; +import com.fanruan.api.util.StringKit; +import com.fr.base.BaseFormula; +import com.fr.base.chart.cross.FormulaProcessor; +import com.fr.chart.ChartWebParaProvider; +import com.fr.extended.chart.HyperLinkPara; +import com.fr.json.JSON; +import com.fr.json.JSONArray; +import com.fr.json.JSONFactory; +import com.fr.json.JSONObject; +import com.fr.plugin.third.party.jsdibjj.color.ColorUtils; +import com.fr.plugin.third.party.jsdibjj.data.CustomGanttColumnFieldCollection; +import com.fr.stable.serialize.SerializationUtils; +import com.fr.stable.xml.XMLPrintWriter; +import com.fr.stable.xml.XMLableReader; + +import java.awt.*; +import java.awt.image.BufferedImage; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + + +public class CustomGanttChart extends BaseChartWithData { + + private static final String ID = "CUSTOM_GANTT_CHART_JSD8199"; + + private BaseFormula titleFormula = FormulaKit.newFormula(StringKit.EMPTY); + + private int titleTextStyleColor = Color.BLACK.getRGB(); + private String titleTextStyleFontStyle = "normal"; + private String titleTextStyleFontWeight = "normal"; + private String titleTextStyleFontFamily = "sans-serif"; + private int titleTextStyleFontSize = 18; + private String titleLeft = "center"; + + + private int seriesNameTextStyleColor = Color.BLACK.getRGB(); + private String seriesNameTextStyleFontFamily = "sans-serif"; + private int seriesNameTextStyleFontSize = 18; + + private int yAxisAxisLabelColor = Color.BLACK.getRGB(); + private String yAxisAxisLabelFontStyle = "normal"; + private String yAxisAxisLabelFontWeight = "normal"; + private String yAxisAxisLabelFontFamily = "sans-serif"; + private int yAxisAxisLabelFontSize = 12; + + + private long minTimestampValue = 0; + private long maxTimestampValue = 0; + private long currentTimestampValue = 0; + private boolean currentTimeLineVisible = false; + + + private PieType pieType = PieType.PIE; + + private String legendPosition = "left"; + + private List colors = new ArrayList<>(); + + private boolean fillGapOption = false; + private int fillGapColor = Color.RED.getRGB(); + + private boolean currentTimeLineOption = true; + private int currentTimeLineColor = Color.RED.getRGB(); + private int currentTimeLineWidth = 2; + + private int displayScale = 100; + private int displayXScale = 100; + + private boolean animationOption = false; + + private String symbolType = "rect"; + private int symbolWidth = 2; + + private int emphasisBorderColor = Color.RED.getRGB(); + private int emphasisBorderWidth = 2; + private boolean emphasisOption = false; + + /** + * 按项目循环颜色 + */ + private boolean projectCycleColor = false; + + private boolean dataSort = false; + private int oddBackgroundColor = Color.WHITE.getRGB(); + private int evenBackgroundColor = Color.WHITE.getRGB(); + + public int getOddBackgroundColor() { + return oddBackgroundColor; + } + + public void setOddBackgroundColor(int oddBackgroundColor) { + this.oddBackgroundColor = oddBackgroundColor; + } + + public int getEvenBackgroundColor() { + return evenBackgroundColor; + } + + public void setEvenBackgroundColor(int evenBackgroundColor) { + this.evenBackgroundColor = evenBackgroundColor; + } + + public int getSeriesNameTextStyleColor() { + return seriesNameTextStyleColor; + } + + public void setSeriesNameTextStyleColor(int seriesNameTextStyleColor) { + this.seriesNameTextStyleColor = seriesNameTextStyleColor; + } + + public String getSeriesNameTextStyleFontFamily() { + return seriesNameTextStyleFontFamily; + } + + public void setSeriesNameTextStyleFontFamily(String seriesNameTextStyleFontFamily) { + this.seriesNameTextStyleFontFamily = seriesNameTextStyleFontFamily; + } + + public int getSeriesNameTextStyleFontSize() { + return seriesNameTextStyleFontSize; + } + + public void setSeriesNameTextStyleFontSize(int seriesNameTextStyleFontSize) { + this.seriesNameTextStyleFontSize = seriesNameTextStyleFontSize; + } + + public boolean isDataSort() { + return dataSort; + } + + public void setDataSort(boolean dataSort) { + this.dataSort = dataSort; + } + + public boolean isProjectCycleColor() { + return projectCycleColor; + } + + public void setProjectCycleColor(boolean projectCycleColor) { + this.projectCycleColor = projectCycleColor; + } + + public int getyAxisAxisLabelColor() { + return yAxisAxisLabelColor; + } + + public void setyAxisAxisLabelColor(int yAxisAxisLabelColor) { + this.yAxisAxisLabelColor = yAxisAxisLabelColor; + } + + public String getyAxisAxisLabelFontStyle() { + return yAxisAxisLabelFontStyle; + } + + public void setyAxisAxisLabelFontStyle(String yAxisAxisLabelFontStyle) { + this.yAxisAxisLabelFontStyle = yAxisAxisLabelFontStyle; + } + + public String getyAxisAxisLabelFontWeight() { + return yAxisAxisLabelFontWeight; + } + + public void setyAxisAxisLabelFontWeight(String yAxisAxisLabelFontWeight) { + this.yAxisAxisLabelFontWeight = yAxisAxisLabelFontWeight; + } + + public String getyAxisAxisLabelFontFamily() { + return yAxisAxisLabelFontFamily; + } + + public void setyAxisAxisLabelFontFamily(String yAxisAxisLabelFontFamily) { + this.yAxisAxisLabelFontFamily = yAxisAxisLabelFontFamily; + } + + public int getyAxisAxisLabelFontSize() { + return yAxisAxisLabelFontSize; + } + + public void setyAxisAxisLabelFontSize(int yAxisAxisLabelFontSize) { + this.yAxisAxisLabelFontSize = yAxisAxisLabelFontSize; + } + + public int getTitleTextStyleColor() { + return titleTextStyleColor; + } + + public void setTitleTextStyleColor(int titleTextStyleColor) { + this.titleTextStyleColor = titleTextStyleColor; + } + + public String getTitleTextStyleFontStyle() { + return titleTextStyleFontStyle; + } + + public void setTitleTextStyleFontStyle(String titleTextStyleFontStyle) { + this.titleTextStyleFontStyle = titleTextStyleFontStyle; + } + + public String getTitleTextStyleFontWeight() { + return titleTextStyleFontWeight; + } + + public void setTitleTextStyleFontWeight(String titleTextStyleFontWeight) { + this.titleTextStyleFontWeight = titleTextStyleFontWeight; + } + + public String getTitleTextStyleFontFamily() { + return titleTextStyleFontFamily; + } + + public void setTitleTextStyleFontFamily(String titleTextStyleFontFamily) { + this.titleTextStyleFontFamily = titleTextStyleFontFamily; + } + + public int getTitleTextStyleFontSize() { + return titleTextStyleFontSize; + } + + public void setTitleTextStyleFontSize(int titleTextStyleFontSize) { + this.titleTextStyleFontSize = titleTextStyleFontSize; + } + + public String getTitleLeft() { + return titleLeft; + } + + public void setTitleLeft(String titleLeft) { + this.titleLeft = titleLeft; + } + + public String getSymbolType() { + return symbolType; + } + + public void setSymbolType(String symbolType) { + this.symbolType = symbolType; + } + + public int getSymbolWidth() { + return symbolWidth; + } + + public void setSymbolWidth(int symbolWidth) { + this.symbolWidth = symbolWidth; + } + + public boolean isAnimationOption() { + return animationOption; + } + + public void setAnimationOption(boolean animationOption) { + this.animationOption = false; + } + + public int getEmphasisBorderColor() { + return emphasisBorderColor; + } + + public void setEmphasisBorderColor(int emphasisBorderColor) { + this.emphasisBorderColor = emphasisBorderColor; + } + + public int getEmphasisBorderWidth() { + return emphasisBorderWidth; + } + + public void setEmphasisBorderWidth(int emphasisBorderWidth) { + this.emphasisBorderWidth = emphasisBorderWidth; + } + + public boolean isEmphasisOption() { + return emphasisOption; + } + + public void setEmphasisOption(boolean emphasisOption) { + this.emphasisOption = emphasisOption; + } + + public int getDisplayScale() { + return displayScale; + } + + public void setDisplayScale(int scale) { + if (scale <= 0) { + scale = 0; + } + if (scale >= 100) { + scale = 100; + } + this.displayScale = scale; + } + + public int getDisplayXScale() { + return displayXScale; + } + + public void setDisplayXScale(int scale) { + if (scale <= 0) { + scale = 0; + } + if (scale >= 100) { + scale = 100; + } + this.displayXScale = scale; + } + + public boolean isFillGapOption() { + return fillGapOption; + } + + public void setFillGapOption(boolean fillGapOption) { + this.fillGapOption = false; + } + + public int getFillGapColor() { + return fillGapColor; + } + + public void setFillGapColor(int fillGapColor) { + this.fillGapColor = fillGapColor; + } + + public boolean isCurrentTimeLineOption() { + return currentTimeLineOption; + } + + public void setCurrentTimeLineOption(boolean currentTimeLineOption) { + this.currentTimeLineOption = currentTimeLineOption; + } + + public int getCurrentTimeLineColor() { + return currentTimeLineColor; + } + + public void setCurrentTimeLineColor(int currentTimeLineColor) { + this.currentTimeLineColor = currentTimeLineColor; + } + + public int getCurrentTimeLineWidth() { + return currentTimeLineWidth; + } + + public void setCurrentTimeLineWidth(int currentTimeLineWidth) { + this.currentTimeLineWidth = currentTimeLineWidth; + } + + public List getColors() { + List tempColors = new ArrayList<>(); + tempColors.add(getColorRGB(25, 79, 151)); + tempColors.add(getColorRGB(85, 85, 85)); + tempColors.add(getColorRGB(189, 107, 8)); + tempColors.add(getColorRGB(0, 104, 107)); + tempColors.add(getColorRGB(200, 45, 49)); + tempColors.add(getColorRGB(98, 91, 161)); + tempColors.add(getColorRGB(137, 137, 137)); + tempColors.add(getColorRGB(156, 152, 0)); + tempColors.add(getColorRGB(0, 127, 84)); + tempColors.add(getColorRGB(161, 149, 197)); + tempColors.add(getColorRGB(16, 54, 103)); + tempColors.add(getColorRGB(241, 146, 114)); + tempColors.add(getColorRGB(193, 140, 0)); + tempColors.add(getColorRGB(54, 54, 54)); + tempColors.add(getColorRGB(66, 111, 179)); + tempColors.add(getColorRGB(102, 191, 127)); + tempColors.add(getColorRGB(249, 205, 118)); + tempColors.add(getColorRGB(57, 40, 132)); + tempColors.add(getColorRGB(0, 174, 113)); + tempColors.add(getColorRGB(147, 170, 214)); + tempColors.add(getColorRGB(73, 7, 97)); + tempColors.add(getColorRGB(250, 241, 75)); + tempColors.add(getColorRGB(149, 83, 5)); + tempColors.add(getColorRGB(1, 98, 65)); + tempColors.add(getColorRGB(115, 136, 193)); + tempColors.add(getColorRGB(143, 30, 32)); + tempColors.add(getColorRGB(249, 205, 118)); + tempColors.add(getColorRGB(214, 155, 1)); + tempColors.add(getColorRGB(183, 183, 183)); + tempColors.add(getColorRGB(81, 31, 144)); + tempColors.add(getColorRGB(153, 208, 185)); + tempColors.add(getColorRGB(199, 195, 0)); + return tempColors; + } + + public void setColors(List colors) { + this.colors = colors; + } + + public PieType getPieType() { + return pieType; + } + + public void setPieType(PieType pieType) { + this.pieType = pieType; + } + + public BaseFormula getTitleFormula() { + return titleFormula; + } + + public void setTitleFormula(BaseFormula titleFormula) { + this.titleFormula = titleFormula; + } + + + public String getLegendPosition() { + return legendPosition; + } + + public void setLegendPosition(String legendPosition) { + this.legendPosition = legendPosition; + } + + + private int getColorRGB(int r, int g, int b) { + Color color = new Color(r, g, b); + return color.getRGB(); + } + + + @Override + protected Image designImage(int width, int height, int resolution, ChartWebParaProvider chartWebPara) { + return IOKit.readImageWithCache("com/fr/plugin/third/party/jsdibjj/images/gantt_type.png"); + } + + @Override + protected Image exportImage(int width, int height, int resolution, ChartWebParaProvider chartWebPara) { + BufferedImage bufferedImage = new BufferedImage(5, 5, BufferedImage.TYPE_INT_ARGB); + try { + FineCanvas canvas = new FineCanvas("/com/fr/plugin/demo/echarts-adapter.js", "/com/fr/plugin/demo/echarts.js"); + canvas.loadText("canvas.height = " + height, "canvas.width = " + width); + canvas.loadText("var myChart = echarts.init(canvas)"); + canvas.loadText("option = " + createAttributeConfig(chartWebPara).toString()); + canvas.loadText("myChart.setOption(option);"); + bufferedImage = canvas.paint(); + } catch (Exception ex) { + LogKit.error(ex.getMessage(), ex); + } + return bufferedImage; + } + + @Override + public CustomGanttChart clone() throws CloneNotSupportedException { + CustomGanttChart result = (CustomGanttChart) super.clone(); + if (getTitleFormula() != null) { + result.setTitleFormula(this.getTitleFormula().clone()); + } + + result.setTitleTextStyleColor(this.getTitleTextStyleColor()); + result.setTitleTextStyleFontStyle(this.getTitleTextStyleFontStyle()); + result.setTitleTextStyleFontWeight(this.getTitleTextStyleFontWeight()); + result.setTitleTextStyleFontFamily(this.getTitleTextStyleFontFamily()); + result.setTitleTextStyleFontSize(this.getTitleTextStyleFontSize()); + result.setTitleLeft(this.getTitleLeft()); + + result.setyAxisAxisLabelColor(this.getyAxisAxisLabelColor()); + result.setyAxisAxisLabelFontStyle(this.getyAxisAxisLabelFontStyle()); + result.setyAxisAxisLabelFontWeight(this.getyAxisAxisLabelFontWeight()); + result.setyAxisAxisLabelFontFamily(this.getyAxisAxisLabelFontFamily()); + result.setyAxisAxisLabelFontSize(this.getyAxisAxisLabelFontSize()); + + result.setPieType(this.getPieType()); + result.setLegendPosition(this.getLegendPosition()); + + result.setColors(this.getColors()); + + result.setFillGapOption(this.isFillGapOption()); + result.setFillGapColor(this.getFillGapColor()); + + result.setCurrentTimeLineOption(this.isCurrentTimeLineOption()); + result.setCurrentTimeLineColor(this.getCurrentTimeLineColor()); + result.setCurrentTimeLineWidth(this.getCurrentTimeLineWidth()); + + result.setDisplayScale(this.getDisplayScale()); + result.setDisplayXScale(this.getDisplayXScale()); + + result.setAnimationOption(this.isAnimationOption()); + result.setSymbolType(this.getSymbolType()); + result.setSymbolWidth(this.getSymbolWidth()); + + result.setEmphasisBorderColor(this.getEmphasisBorderColor()); + result.setEmphasisBorderWidth(this.getEmphasisBorderWidth()); + result.setEmphasisOption(this.isEmphasisOption()); + result.setProjectCycleColor(this.isProjectCycleColor()); + result.setDataSort(this.isDataSort()); + + + result.setSeriesNameTextStyleFontFamily(this.getSeriesNameTextStyleFontFamily()); + result.setSeriesNameTextStyleFontSize(this.getSeriesNameTextStyleFontSize()); + result.setSeriesNameTextStyleColor(this.getSeriesNameTextStyleColor()); + return result; + } + + @Override + public int hashCode() { + return super.hashCode() + AssistKit.hashCode(this.getTitleFormula(), this.getPieType(), this.getLegendPosition(), + this.getTitleTextStyleColor(), this.getTitleTextStyleFontStyle(), this.getTitleTextStyleFontWeight(), + this.getTitleTextStyleFontFamily(), this.getTitleTextStyleFontSize(), this.getTitleLeft(), + this.getyAxisAxisLabelColor(), this.getyAxisAxisLabelFontStyle(), this.getyAxisAxisLabelFontWeight(), this.getyAxisAxisLabelFontFamily(), this.getyAxisAxisLabelFontSize(), + this.getColors(), + this.isFillGapOption(), this.getFillGapColor(), + this.isCurrentTimeLineOption(), this.getCurrentTimeLineColor(), this.getCurrentTimeLineWidth(), + this.getDisplayScale(), this.getDisplayXScale(), + this.isAnimationOption(), this.getSymbolType(), this.getSymbolWidth(), + this.getSeriesNameTextStyleFontFamily(), this.getSeriesNameTextStyleFontSize(), this.getSeriesNameTextStyleColor(), + this.getEmphasisBorderColor(), this.getEmphasisBorderWidth(), this.isEmphasisOption(), this.isProjectCycleColor(), this.isDataSort()); + } + + @Override + public boolean equals(Object ob) { + return super.equals(ob) + && ob instanceof CustomGanttChart + && AssistKit.equals(this.getTitleFormula(), ((CustomGanttChart) ob).getTitleFormula()) + + && AssistKit.equals(this.getTitleTextStyleColor(), ((CustomGanttChart) ob).getTitleTextStyleColor()) + && AssistKit.equals(this.getTitleTextStyleFontStyle(), ((CustomGanttChart) ob).getTitleTextStyleFontStyle()) + && AssistKit.equals(this.getTitleTextStyleFontWeight(), ((CustomGanttChart) ob).getTitleTextStyleFontWeight()) + && AssistKit.equals(this.getTitleTextStyleFontFamily(), ((CustomGanttChart) ob).getTitleTextStyleFontFamily()) + && AssistKit.equals(this.getTitleTextStyleFontSize(), ((CustomGanttChart) ob).getTitleTextStyleFontSize()) + && AssistKit.equals(this.getTitleLeft(), ((CustomGanttChart) ob).getTitleLeft()) + + && AssistKit.equals(this.getyAxisAxisLabelColor(), ((CustomGanttChart) ob).getyAxisAxisLabelColor()) + && AssistKit.equals(this.getyAxisAxisLabelFontStyle(), ((CustomGanttChart) ob).getyAxisAxisLabelFontStyle()) + && AssistKit.equals(this.getyAxisAxisLabelFontWeight(), ((CustomGanttChart) ob).getyAxisAxisLabelFontWeight()) + && AssistKit.equals(this.getyAxisAxisLabelFontFamily(), ((CustomGanttChart) ob).getyAxisAxisLabelFontFamily()) + && AssistKit.equals(this.getyAxisAxisLabelFontSize(), ((CustomGanttChart) ob).getyAxisAxisLabelFontSize()) + + && AssistKit.equals(this.getPieType(), ((CustomGanttChart) ob).getPieType()) + && AssistKit.equals(this.getLegendPosition(), ((CustomGanttChart) ob).getLegendPosition()) + + && AssistKit.equals(this.isFillGapOption(), ((CustomGanttChart) ob).isFillGapOption()) + && AssistKit.equals(this.getFillGapColor(), ((CustomGanttChart) ob).getFillGapColor()) + + && AssistKit.equals(this.isCurrentTimeLineOption(), ((CustomGanttChart) ob).isCurrentTimeLineOption()) + && AssistKit.equals(this.getCurrentTimeLineColor(), ((CustomGanttChart) ob).getCurrentTimeLineColor()) + && AssistKit.equals(this.getCurrentTimeLineWidth(), ((CustomGanttChart) ob).getCurrentTimeLineWidth()) + + && AssistKit.equals(this.getDisplayScale(), ((CustomGanttChart) ob).getDisplayScale()) + && AssistKit.equals(this.getDisplayXScale(), ((CustomGanttChart) ob).getDisplayXScale()) + + && AssistKit.equals(this.isAnimationOption(), ((CustomGanttChart) ob).isAnimationOption()) + && AssistKit.equals(this.getSymbolType(), ((CustomGanttChart) ob).getSymbolType()) + && AssistKit.equals(this.getSymbolWidth(), ((CustomGanttChart) ob).getSymbolWidth()) + + && AssistKit.equals(this.getEmphasisBorderColor(), ((CustomGanttChart) ob).getEmphasisBorderColor()) + && AssistKit.equals(this.getEmphasisBorderWidth(), ((CustomGanttChart) ob).getEmphasisBorderWidth()) + && AssistKit.equals(this.isEmphasisOption(), ((CustomGanttChart) ob).isEmphasisOption()) + && AssistKit.equals(this.isProjectCycleColor(), ((CustomGanttChart) ob).isProjectCycleColor()) + && AssistKit.equals(this.isDataSort(), ((CustomGanttChart) ob).isDataSort()) + + && AssistKit.equals(this.getSeriesNameTextStyleFontFamily(), ((CustomGanttChart) ob).getSeriesNameTextStyleFontFamily()) + && AssistKit.equals(this.getSeriesNameTextStyleFontSize(), ((CustomGanttChart) ob).getSeriesNameTextStyleFontSize()) + && AssistKit.equals(this.getSeriesNameTextStyleColor(), ((CustomGanttChart) ob).getSeriesNameTextStyleColor()); + } + + @Override + public JSONObject createAttributeConfig(ChartWebParaProvider chartWebPara) { + JSONObject jsonObject = super.createAttributeConfig(chartWebPara); + CustomGanttColumnFieldCollection columnFieldCollection = getFieldCollection(CustomGanttColumnFieldCollection.class); + jsonObject.put("dataStatus", false); + List projectNames = CustomGanttDataFactory.createProjectNames(columnFieldCollection); + if (projectNames.size() <= 0) { + return jsonObject; + } + jsonObject.put("dataStatus", true); + + minTimestampValue = CustomGanttDataFactory.createMinTimestamp(columnFieldCollection); + maxTimestampValue = CustomGanttDataFactory.createMaxTimestamp(columnFieldCollection); + currentTimestampValue = System.currentTimeMillis(); + currentTimeLineVisible = false; + if ((currentTimestampValue >= minTimestampValue) && (currentTimestampValue <= maxTimestampValue)) { + currentTimeLineVisible = true; + } + JSONObject currentDateObject = JSONFactory.createJSON(JSON.OBJECT); + currentDateObject.put("visible", currentTimeLineVisible); + currentDateObject.put("value", currentTimestampValue); + + JSONObject dateLineObject = JSONFactory.createJSON(JSON.OBJECT); + dateLineObject.put("enable", isCurrentTimeLineOption()); + dateLineObject.put("color", CustomGanttDataFactory.rgbToHex(new Color(getCurrentTimeLineColor()))); + dateLineObject.put("width", getCurrentTimeLineWidth()); + dateLineObject.put("currentDate", currentTimestampValue); + dateLineObject.put("currentDateShow", CustomGanttDataFactory.timestampToDate(currentTimestampValue)); + + List datas = CustomGanttDataFactory.createData(columnFieldCollection); + List suspendedDatas = new ArrayList<>(); + createSeriesDataColor(datas, projectNames, suspendedDatas); + + CustomGanttData tempCustomGanttData; + int flag = 0; + + JSONArray categoriesData = JSONFactory.createJSON(JSON.ARRAY); + JSONArray suspendedValuesData = JSONFactory.createJSON(JSON.ARRAY); + String category = ""; + String suspendedFirstContent = ""; + for (int i = 0, max = projectNames.size() - 1; i <= max; i++) { + category = projectNames.get(i); + categoriesData.put(category); + } + + //从大到小排序,针对日期有重叠的,日期小的在上面,最后绘制图表 + //改成日期大的在上面 + Collections.sort(datas, new Comparator() { + @Override + public int compare(CustomGanttData o1, CustomGanttData o2) { + long diff = o1.beginDate - o2.beginDate; + if (diff > 0) { + return 1; + } else if (diff < 0) { + return -1; + } + return 0; + } + }); + //添加奇偶背景颜色 + if (isDataSort()) { + long minBeginDate = 0; + long maxEndDate = 0; + if (datas.size() >= 1) { + maxEndDate = datas.get(0).endDate; + minBeginDate = datas.get(datas.size() - 1).beginDate; + } + + for (int i = 0, max = projectNames.size() - 1; i <= max; i++) { + tempCustomGanttData = new CustomGanttData(); + tempCustomGanttData.index = i; + tempCustomGanttData.beginDate = minBeginDate; + tempCustomGanttData.endDate = maxEndDate; + tempCustomGanttData.showType = CustomGanttData.SHOW_TYPE_BACKGROUND; + if ((i % 2) == 0) { + tempCustomGanttData.completedColor = getOddBackgroundColor(); + } else { + tempCustomGanttData.completedColor = getEvenBackgroundColor(); + } + tempCustomGanttData.completedColorHex = CustomGanttDataFactory.rgbToHex(new Color(tempCustomGanttData.completedColor)); + datas.add(0, tempCustomGanttData); + } + } + + List milestoneDatas = CustomGanttDataFactory.createMilestoneDatas(columnFieldCollection); + datas.addAll(milestoneDatas); + + JSONArray seriesData = CustomGanttDataFactory.createJsonData(columnFieldCollection, datas, this); + JSONObject ganttDataJsonObject = JSONFactory.createJSON(JSON.OBJECT); + ganttDataJsonObject.put("categories", categoriesData); + ganttDataJsonObject.put("seriesData", seriesData); + ganttDataJsonObject.put("animationOption", isAnimationOption()); + ganttDataJsonObject.put("symbolType", getSymbolType()); + ganttDataJsonObject.put("symbolWidth", getSymbolWidth()); + ganttDataJsonObject.put("minDate", CustomGanttDataFactory.createMinTimestamp(columnFieldCollection)); + ganttDataJsonObject.put("maxDate", CustomGanttDataFactory.createMaxTimestamp(columnFieldCollection)); + ganttDataJsonObject.put("currentDate", currentDateObject); + ganttDataJsonObject.put("dateLine", dateLineObject); + ganttDataJsonObject.put("displayScale", (100 - getDisplayScale())); + ganttDataJsonObject.put("displayXScale", getDisplayXScale()); + + JSONArray linesData = createLinesData(datas); + ganttDataJsonObject.put("linesData", linesData); + + jsonObject.put("ganttData", ganttDataJsonObject); + + + JSONObject titleJson = new JSONObject(); + String ganttTitle = (String) getTitleFormula().getResult(); + if (StringKit.isEmpty(ganttTitle)) { + ganttTitle = ""; + } + titleJson.put("titleText", ganttTitle); + titleJson.put("titleTextStyleColor", CustomGanttDataFactory.rgbToHex(new Color(this.titleTextStyleColor))); + titleJson.put("titleTextStyleFontStyle", titleTextStyleFontStyle); + titleJson.put("titleTextStyleFontWeight", titleTextStyleFontWeight); + titleJson.put("titleTextStyleFontFamily", titleTextStyleFontFamily); + titleJson.put("titleTextStyleFontSize", titleTextStyleFontSize); + titleJson.put("titleLeft", titleLeft); + jsonObject.put("ganttTitle", titleJson); + + JSONObject seriesNameJson = new JSONObject(); + seriesNameJson.put("seriesNameTextStyleFontFamily", seriesNameTextStyleFontFamily); + seriesNameJson.put("seriesNameTextStyleFontSize", seriesNameTextStyleFontSize); + seriesNameJson.put("seriesNameTextStyleColor", CustomGanttDataFactory.rgbToHex(new Color(this.seriesNameTextStyleColor))); + jsonObject.put("seriesNameFont", seriesNameJson); + + JSONObject yAxisAxisLabelFontJson = new JSONObject(); + yAxisAxisLabelFontJson.put("yAxisAxisLabelColor", CustomGanttDataFactory.rgbToHex(new Color(this.yAxisAxisLabelColor))); + yAxisAxisLabelFontJson.put("yAxisAxisLabelFontStyle", yAxisAxisLabelFontStyle); + yAxisAxisLabelFontJson.put("yAxisAxisLabelFontWeight", yAxisAxisLabelFontWeight); + yAxisAxisLabelFontJson.put("yAxisAxisLabelFontFamily", yAxisAxisLabelFontFamily); + yAxisAxisLabelFontJson.put("yAxisAxisLabelFontSize", yAxisAxisLabelFontSize); + jsonObject.put("yAxisAxisLabelFont", yAxisAxisLabelFontJson); + + JSONObject fillGapJson = new JSONObject(); + fillGapJson.put("enable", this.fillGapOption); + fillGapJson.put("color", CustomGanttDataFactory.rgbToHex(new Color(this.fillGapColor))); + JSONArray flashingData = JSONFactory.createJSON(JSON.ARRAY); + if (isFillGapOption()) { + flashingData = CustomGanttDataFactory.createFlashingData(datas); + } + fillGapJson.put("flashingData", flashingData); + + jsonObject.put("fillGap", fillGapJson); + + //jsonObject.put("projectCycleColor", projectCycleColor); + jsonObject.put("projectCycleColor", true); + + JSONArray graphDatasConfJson = CustomGanttDataFactory.createMilestoneData(columnFieldCollection); + jsonObject.put("graphDatasConf", graphDatasConfJson); + return jsonObject; + } + + @Override + public void dealFormula(FormulaProcessor formulaProcessor) { + if (titleFormula != null) { + formulaProcessor.dealWith(titleFormula); + } + super.dealFormula(formulaProcessor); + } + + @Override + public String getID() { + return ID; + } + + @Override + public void readAttr(XMLableReader xmLableReader) { + super.readAttr(xmLableReader); + this.setPieType(PieType.parseInt(xmLableReader.getAttrAsInt("pieType", 0))); + this.setTitleFormula(FormulaKit.newFormula(xmLableReader.getAttrAsString("title", "新建图表标题"))); + + //private int seriesNameTextStyleColor = Color.BLACK.getRGB(); + //private String seriesNameTextStyleFontFamily = "sans-serif"; + //private int seriesNameTextStyleFontSize = 18; + this.setSeriesNameTextStyleColor(xmLableReader.getAttrAsInt("seriesNameTextStyleColor", Color.BLACK.getRGB())); + this.setSeriesNameTextStyleFontFamily(xmLableReader.getAttrAsString("seriesNameTextStyleFontFamily", "sans-serif")); + this.setSeriesNameTextStyleFontSize(xmLableReader.getAttrAsInt("seriesNameTextStyleFontSize", 18)); + + + this.setTitleTextStyleColor(xmLableReader.getAttrAsInt("titleTextStyleColor", Color.BLACK.getRGB())); + this.setTitleTextStyleFontStyle(xmLableReader.getAttrAsString("titleTextStyleFontStyle", "normal")); + this.setTitleTextStyleFontWeight(xmLableReader.getAttrAsString("titleTextStyleFontWeight", "normal")); + this.setTitleTextStyleFontFamily(xmLableReader.getAttrAsString("titleTextStyleFontFamily", "sans-serif")); + this.setTitleTextStyleFontSize(xmLableReader.getAttrAsInt("titleTextStyleFontSize", 18)); + this.setTitleLeft(xmLableReader.getAttrAsString("titleLeft", "center")); + + this.setyAxisAxisLabelColor(xmLableReader.getAttrAsInt("yAxisAxisLabelColor", Color.BLACK.getRGB())); + this.setyAxisAxisLabelFontStyle(xmLableReader.getAttrAsString("yAxisAxisLabelFontStyle", "normal")); + this.setyAxisAxisLabelFontWeight(xmLableReader.getAttrAsString("yAxisAxisLabelFontWeight", "normal")); + this.setyAxisAxisLabelFontFamily(xmLableReader.getAttrAsString("yAxisAxisLabelFontFamily", "sans-serif")); + this.setyAxisAxisLabelFontSize(xmLableReader.getAttrAsInt("yAxisAxisLabelFontSize", 12)); + + this.setLegendPosition(xmLableReader.getAttrAsString("legendPosition", StringKit.EMPTY)); + String colorContent = xmLableReader.getAttrAsString("colors", StringKit.EMPTY); + setColors(toColorList(colorContent)); + + this.setFillGapOption(xmLableReader.getAttrAsBoolean("fillGapOption", false)); + this.setFillGapColor(xmLableReader.getAttrAsInt("fillGapColor", Color.RED.getRGB())); + + this.setCurrentTimeLineOption(xmLableReader.getAttrAsBoolean("currentTimeLineOption", false)); + this.setCurrentTimeLineColor(xmLableReader.getAttrAsInt("currentTimeLineColor", Color.RED.getRGB())); + this.setCurrentTimeLineWidth(xmLableReader.getAttrAsInt("currentTimeLineWidth", 2)); + + this.setDisplayScale(xmLableReader.getAttrAsInt("displayScale", 100)); + this.setDisplayXScale(xmLableReader.getAttrAsInt("displayXScale", 100)); + + this.setAnimationOption(xmLableReader.getAttrAsBoolean("animationOption", false)); + this.setSymbolType(xmLableReader.getAttrAsString("symbolType", "rect")); + this.setSymbolWidth(xmLableReader.getAttrAsInt("symbolWidth", 2)); + + this.setEmphasisBorderColor(xmLableReader.getAttrAsInt("emphasisBorderColor", Color.RED.getRGB())); + this.setEmphasisBorderWidth(xmLableReader.getAttrAsInt("emphasisBorderWidth", 2)); + this.setEmphasisOption(xmLableReader.getAttrAsBoolean("emphasisOption", false)); + this.setProjectCycleColor(xmLableReader.getAttrAsBoolean("projectCycleColor", false)); + this.setDataSort(xmLableReader.getAttrAsBoolean("dataSort", false)); + + this.setOddBackgroundColor(xmLableReader.getAttrAsInt("oddBackgroundColor", Color.WHITE.getRGB())); + this.setEvenBackgroundColor(xmLableReader.getAttrAsInt("evenBackgroundColor", Color.WHITE.getRGB())); + } + + @Override + public void writeAttr(XMLPrintWriter xmlPrintWriter) { + super.writeAttr(xmlPrintWriter); + String colorContent = getColorContent(); + xmlPrintWriter.attr("pieType", pieType.ordinal()) + .attr("title", titleFormula.toString()) + + .attr("titleTextStyleColor", titleTextStyleColor) + .attr("titleTextStyleFontStyle", titleTextStyleFontStyle) + .attr("titleTextStyleFontWeight", titleTextStyleFontWeight) + .attr("titleTextStyleFontFamily", titleTextStyleFontFamily) + .attr("titleTextStyleFontSize", titleTextStyleFontSize) + .attr("titleLeft", titleLeft) + + .attr("yAxisAxisLabelColor", yAxisAxisLabelColor) + .attr("yAxisAxisLabelFontStyle", yAxisAxisLabelFontStyle) + .attr("yAxisAxisLabelFontWeight", yAxisAxisLabelFontWeight) + .attr("yAxisAxisLabelFontFamily", yAxisAxisLabelFontFamily) + .attr("yAxisAxisLabelFontSize", yAxisAxisLabelFontSize) + + .attr("legendPosition", legendPosition) + .attr("colors", colorContent) + .attr("fillGapOption", fillGapOption) + .attr("fillGapColor", fillGapColor) + .attr("currentTimeLineOption", currentTimeLineOption) + .attr("currentTimeLineColor", currentTimeLineColor) + .attr("currentTimeLineWidth", currentTimeLineWidth) + .attr("displayScale", displayScale) + .attr("displayXScale", displayXScale) + .attr("animationOption", animationOption) + .attr("symbolType", symbolType) + .attr("symbolWidth", symbolWidth) + .attr("emphasisBorderColor", emphasisBorderColor) + .attr("emphasisBorderWidth", emphasisBorderWidth) + .attr("emphasisOption", emphasisOption) + .attr("projectCycleColor", projectCycleColor) + .attr("dataSort", dataSort) + + .attr("seriesNameTextStyleColor", seriesNameTextStyleColor) + .attr("seriesNameTextStyleFontFamily", seriesNameTextStyleFontFamily) + .attr("seriesNameTextStyleFontSize", seriesNameTextStyleFontSize) + + .attr("oddBackgroundColor", oddBackgroundColor) + .attr("evenBackgroundColor", evenBackgroundColor) + + ; + + + } + + private JSONArray createLinesData(List ganttDatas) { + JSONArray datas = new JSONArray(); + if ((ganttDatas == null) || (ganttDatas.size() <= 0)) { + return datas; + } + + /* + { + coords: [ + [900, 600], + [1000, 300] + ], + lineStyle: { + color: 'red' + } + }*/ + + CustomGanttData tempGanttData; + JSONObject objJson; + JSONArray coordsJsonArray; + JSONArray coordsData0JsonArray; + JSONArray coordsData1JsonArray; + JSONObject lineStyleJson; + + long x0 = 0, x1 = 0; + int y = 0; + for (int i = 0, max = ganttDatas.size() - 1; i <= max; i++) { + tempGanttData = ganttDatas.get(i); + if (CustomGanttData.SHOW_TYPE_FILL.equalsIgnoreCase(tempGanttData.showType)) { + continue; + } + + x0 = tempGanttData.beginDate; + x1 = (long) ((tempGanttData.endDate - tempGanttData.beginDate) * tempGanttData.schedule) + tempGanttData.beginDate; + y = tempGanttData.index; + + coordsData0JsonArray = new JSONArray(); + coordsData0JsonArray.add(x0); + coordsData0JsonArray.add(y); + + coordsData1JsonArray = new JSONArray(); + coordsData1JsonArray.add(x1); + coordsData1JsonArray.add(y); + + coordsJsonArray = new JSONArray(); + coordsJsonArray.add(coordsData0JsonArray); + coordsJsonArray.add(coordsData1JsonArray); + + lineStyleJson = new JSONObject(); + lineStyleJson.put("color", tempGanttData.completedColorHex); + + objJson = new JSONObject(); + objJson.put("coords", coordsJsonArray); + objJson.put("lineStyle", lineStyleJson); + datas.add(objJson); + } + return datas; + } + + + private List toColorList(String content) { + List tempColors = new ArrayList<>(); + if (StringKit.isEmpty(content)) { + return tempColors; + } + content = content.trim(); + if (StringKit.isEmpty(content)) { + return tempColors; + } + String[] tempArray = content.split(","); + if ((tempArray == null) || (tempArray.length <= 0)) { + return tempColors; + } + String tempValue; + int tempColorValue; + for (int i = 0, max = tempArray.length - 1; i <= max; i++) { + tempValue = tempArray[i]; + tempColorValue = Integer.valueOf(tempValue); + tempColors.add(tempColorValue); + } + + return tempColors; + } + + private String getColorContent() { + if ((this.colors == null) || (this.colors.size() <= 0)) { + return ""; + } + + String content = ""; + for (int i = 0, max = this.colors.size() - 1; i <= max; i++) { + content = content + this.colors.get(i); + if (i < max) { + content = content + ","; + } + } + return content; + } + + + /** + * 生成进度颜色 + * + * @param datas + * @return + */ + private List createSeriesDataColor(List datas, List projectNames, List suspendedDatas) { + if ((datas == null) || (datas.size() <= 0)) { + return datas; + } + + if ((projectNames == null) || (projectNames.size() <= 0)) { + return datas; + } + + List> groups = new ArrayList<>(); + for (int i = 0, max = projectNames.size() - 1; i <= max; i++) { + groups.add(new ArrayList()); + } + + CustomGanttData ganttData; + for (int i = 0, max = datas.size() - 1; i <= max; i++) { + ganttData = datas.get(i); + groups.get(ganttData.index).add(ganttData); + } + + List colors = new ArrayList<>(); + List grayColors = new ArrayList<>(); + + List colorValues = getColors(); + Color color, grayColor; + for (int i = 0, max = colorValues.size() - 1; i <= max; i++) { + color = new Color(colorValues.get(i)); + colors.add(color); + grayColor = ColorUtils.toDark(color); + grayColors.add(grayColor); + } + + if (colors.size() <= 0) { + color = Color.blue; + colors.add(color); + grayColor = ColorUtils.toDark(color); + grayColors.add(grayColor); + } + + // Collections.reverse(colors); + int colorSize = colors.size(); + List ganttDatas; + int tempValue = 0, tempIndex = 0; + long tempPrevEndDate = 0; + List tempDatas = new ArrayList<>(); + List tempGapDatas = new ArrayList<>(); + List tempSeriesDatas = new ArrayList<>(); + CustomGanttData tempGanttData; + List tempColors = new ArrayList<>(); + Color tempColor; + CustomGanttData tempSeriesGanttData; + CustomGanttData tempSeriesGanttData1; + long diffMinValue = 24 * 60 * 60 * 1000L, diffValue = 0; + for (int i = 0, max = groups.size() - 1; i <= max; i++) { + ganttDatas = groups.get(i); + Collections.sort(ganttDatas, new Comparator() { + @Override + public int compare(CustomGanttData o1, CustomGanttData o2) { + long diff = o1.beginDate - o2.beginDate; + if (diff > 0) { + return 1; + } else if (diff < 0) { + return -1; + } + return 0; + } + }); + + tempValue = max - i; + tempIndex = tempValue % colorSize; + color = colors.get(tempIndex); + if (isProjectCycleColor()) { + tempColors = ColorUtils.getCycleColors(colors, ganttDatas.size()); + } else { + tempColors = ColorUtils.getGradientColors(color, ganttDatas.size()); + } + int fillGapColorValue = this.fillGapColor; + String fillGapColorHexValue = CustomGanttDataFactory.rgbToHex(new Color(this.fillGapColor)); + tempPrevEndDate = 0; + tempSeriesDatas.clear(); + for (int j = 0, jMax = ganttDatas.size() - 1; j <= jMax; j++) { + tempColor = tempColors.get(j); + ganttData = ganttDatas.get(j); + ganttData.completedColor = tempColor.getRGB(); + ganttData.completedColorHex = CustomGanttDataFactory.rgbToHex(tempColor); + ganttData.days = getDiffDays(ganttData); + tempSeriesGanttData = (CustomGanttData) SerializationUtils.clone(ganttData); + if (j == 0) { + tempSeriesDatas.add(tempSeriesGanttData); + } else { + tempSeriesGanttData1 = tempSeriesDatas.get(tempSeriesDatas.size() - 1); + if ((tempSeriesGanttData1.beginDate <= tempSeriesGanttData.beginDate) && (tempSeriesGanttData1.endDate >= tempSeriesGanttData.beginDate)) { + if (tempSeriesGanttData1.endDate < tempSeriesGanttData.endDate) { + tempSeriesGanttData1.endDate = tempSeriesGanttData.endDate; + } + } else { + tempSeriesDatas.add(tempSeriesGanttData); + } + } + } + + for (int j = 0, jMax = tempSeriesDatas.size() - 1; j <= jMax; j++) { + ganttData = tempSeriesDatas.get(j); + diffValue = ganttData.beginDate - tempPrevEndDate; + if ((isFillGapOption()) && (j >= 1) && (tempPrevEndDate > 0) && (tempPrevEndDate < ganttData.beginDate) && (diffValue > diffMinValue)) { + tempGanttData = new CustomGanttData(); + tempGanttData.index = ganttData.index; + tempGanttData.showType = CustomGanttData.SHOW_TYPE_FILL; + tempGanttData.beginDate = tempPrevEndDate; + tempGanttData.endDate = ganttData.beginDate; + tempGanttData.completedColor = fillGapColorValue; + tempGanttData.completedColorHex = fillGapColorHexValue; + tempGanttData.days = getDiffDays(tempGanttData); + tempGanttData.middleValue = (tempGanttData.endDate + tempGanttData.beginDate) / 2; + tempGanttData.beginDateShow = CustomGanttDataFactory.timestampToDate(tempGanttData.beginDate); + tempGanttData.endDateShow = CustomGanttDataFactory.timestampToDate(tempGanttData.endDate); + tempDatas.add(tempGanttData); + } + + if ((isFillGapOption()) && currentTimeLineVisible && (j == 0) && (currentTimestampValue < ganttData.beginDate) && ((ganttData.beginDate - currentTimestampValue) > diffMinValue)) { + tempGanttData = new CustomGanttData(); + tempGanttData.index = ganttData.index; + tempGanttData.showType = CustomGanttData.SHOW_TYPE_FILL; + tempGanttData.beginDate = currentTimestampValue; + tempGanttData.endDate = ganttData.beginDate; + tempGanttData.completedColor = fillGapColorValue; + tempGanttData.completedColorHex = fillGapColorHexValue; + tempGanttData.days = getDiffDays(tempGanttData); + tempGanttData.middleValue = (tempGanttData.endDate + tempGanttData.beginDate) / 2; + tempGanttData.beginDateShow = CustomGanttDataFactory.timestampToDate(tempGanttData.beginDate); + tempGanttData.endDateShow = CustomGanttDataFactory.timestampToDate(tempGanttData.endDate); + tempDatas.add(tempGanttData); + } + tempPrevEndDate = ganttData.endDate; + } + } + suspendedDatas.addAll(tempDatas); + datas.addAll(tempDatas); + return datas; + } + + private int getDiffDays(CustomGanttData ganttData) { + if (ganttData == null) { + return 0; + } + long diffMinValue = 24 * 60 * 60 * 1000L; + int days = (int) ((ganttData.endDate - ganttData.beginDate) / diffMinValue + 1); + return days; + } + + private static final HyperLinkPara categoryHyperLinkPara = new HyperLinkPara() { + @Override + public String getName() { + return "分类"; + } + + @Override + public String getFormulaContent() { + return "category"; + } + + @Override + public String[] getProps() { + return new String[]{"data", "category"}; + } + }; + + private static final HyperLinkPara seriesHyperLinkPara = new HyperLinkPara() { + @Override + public String getName() { + return "系列名"; + } + + @Override + public String getFormulaContent() { + return "series"; + } + + @Override + public String[] getProps() { + return new String[]{"data", "originalName"}; + } + }; + + private static final HyperLinkPara seriesValueHyperLinkPara = new HyperLinkPara() { + @Override + public String getName() { + return "系列名值"; + } + + @Override + public String getFormulaContent() { + return "seriesValue"; + } + + @Override + public String[] getProps() { + return new String[]{"data", "seriesValue"}; + } + }; + + @Override + protected HyperLinkPara[] hyperLinkParas() { + return new HyperLinkPara[]{ + categoryHyperLinkPara, + seriesHyperLinkPara, + seriesValueHyperLinkPara + }; + } + + +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttData.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttData.java new file mode 100644 index 0000000..1466e7f --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttData.java @@ -0,0 +1,51 @@ +package com.fr.plugin.third.party.jsdibjj; + +import java.io.Serializable; + +public class CustomGanttData implements Serializable, Cloneable { + public static String SHOW_TYPE_SERIES = "SERIES"; + public static String SHOW_TYPE_FILL = "FILL"; + public static String SHOW_TYPE_BACKGROUND = "BACKGROUND"; + public static String SHOW_TYPE_IMAGE = "IMAGE"; + + public int index = 0; + public long beginDate = 0; + public long endDate = 0; + + public String beginDateShow = ""; + public String endDateShow = ""; + + public long milestoneDate = 0; + public double schedule = 0; + public String scheduleShow = ""; + public String showName = ""; + public String category = ""; + public String originalName = ""; + public String seriesValue = ""; + public String milestoneInfo =""; + + /** + * 已完成颜色 + */ + public int completedColor = 0; + public String completedColorHex = ""; + /** + * 未完成颜色 + */ + public int incompleteColor = 0; + public String incompleteColorHex = ""; + + public long prevEndDate = 0; + public boolean visible = true; + public String showType = SHOW_TYPE_SERIES; + + public int days = 0; + + /*脱节的中间值,主要为脱节闪烁用的*/ + public long middleValue = 0; + + @Override + public String toString() { + return this.showName + ":" + this.beginDateShow + "-" + this.endDateShow; + } +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttDataFactory.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttDataFactory.java new file mode 100644 index 0000000..166c24a --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttDataFactory.java @@ -0,0 +1,510 @@ +package com.fr.plugin.third.party.jsdibjj; + +import com.fanruan.api.log.LogKit; +import com.fanruan.api.util.StringKit; +import com.fr.general.GeneralUtils; +import com.fr.json.JSON; +import com.fr.json.JSONArray; +import com.fr.json.JSONFactory; +import com.fr.json.JSONObject; +import com.fr.plugin.third.party.jsdibjj.data.CustomGanttColumnFieldCollection; + +import java.awt.*; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.List; + +public class CustomGanttDataFactory { + public static synchronized List createProjectNames(CustomGanttColumnFieldCollection dataSource) { + List projectList = new ArrayList<>(); + if (dataSource == null) { + return projectList; + } + List projectNames = dataSource.getProjectName().getValues(); + int size = projectNames.size(); + if (size <= 0) { + return projectList; + } + String tempValue; + Object tempObj; + + for (int i = 0, max = size - 1; i <= max; i++) { + tempObj = projectNames.get(i); + if (tempObj == null) { + tempValue = ""; + addNotRepeatingObj(tempValue, projectList); + continue; + } + tempValue = GeneralUtils.objectToString(tempObj); + addNotRepeatingObj(tempValue, projectList); + } + Collections.reverse(projectList); + return projectList; + } + + public static synchronized JSONArray createJsonData(CustomGanttColumnFieldCollection dataSource, CustomGanttChart ganttChartConf) { + List datas = createData(dataSource); + return createJsonData(dataSource, datas, ganttChartConf); + } + + + public static synchronized JSONArray createFlashingData(List datas) { + JSONArray jsonContent = JSONFactory.createJSON(JSON.ARRAY); + if ((datas == null) || (datas.size() <= 0)) { + return jsonContent; + } + JSONArray jsonArray; + CustomGanttData ganttData; + for (int i = 0, max = datas.size() - 1; i <= max; i++) { + ganttData = datas.get(i); + if (!StringKit.equals(ganttData.showType, CustomGanttData.SHOW_TYPE_FILL)) { + continue; + } + jsonArray = JSONFactory.createJSON(JSON.ARRAY); + jsonArray.put(ganttData.index); + jsonArray.put(ganttData.middleValue); + JSONObject valueJson = JSONFactory.createJSON(JSON.OBJECT); + valueJson.put("value", jsonArray); + jsonContent.put(valueJson); + } + return jsonContent; + } + + public static synchronized JSONArray createJsonData(CustomGanttColumnFieldCollection dataSource, List datas, CustomGanttChart ganttChartConf) { + JSONArray jsonContent = JSONFactory.createJSON(JSON.ARRAY); + if ((datas == null) || (datas.size() <= 0)) { + return jsonContent; + } + JSONObject jsonObject; + JSONArray jsonArray; + CustomGanttData ganttData; + + JSONObject emphasisJson = JSONFactory.createJSON(JSON.OBJECT); + if (ganttChartConf.isEmphasisOption()) { + JSONObject itemStyleJson = JSONFactory.createJSON(JSON.OBJECT); + itemStyleJson.put("borderColor", rgbToHex(new Color(ganttChartConf.getEmphasisBorderColor()))); + itemStyleJson.put("borderWidth", ganttChartConf.getEmphasisBorderWidth()); + itemStyleJson.put("borderType", "solid"); + //itemStyleJson.put("borderWidth",2); + emphasisJson.put("itemStyle", itemStyleJson); + } + /* + JSONObject itemStyleJson = JSONFactory.createJSON(JSON.OBJECT).put("normal", JSONFactory.createJSON(JSON.OBJECT).put("color", "#7b9ce1")); + JSONObject emphasisJson = JSONFactory.createJSON(JSON.OBJECT); + emphasisJson.put("borderColor", "red"); + emphasisJson.put("borderWidth", 20); + emphasisJson.put("borderType", "solid"); + itemStyleJson.put("","")*/ + + for (int i = 0, max = datas.size() - 1; i <= max; i++) { + ganttData = datas.get(i); + jsonObject = JSONFactory.createJSON(JSON.OBJECT); + jsonObject.put("category", ganttData.category); + jsonObject.put("name", ganttData.showName); + jsonObject.put("originalName", ganttData.originalName); + jsonObject.put("showType", ganttData.showType); + jsonObject.put("days", ganttData.days); + jsonObject.put("beginDateShow", ganttData.beginDateShow); + jsonObject.put("endDateShow", ganttData.endDateShow); + jsonObject.put("middleValue", ganttData.middleValue); + jsonObject.put("seriesValue", ganttData.seriesValue); + + jsonArray = JSONFactory.createJSON(JSON.ARRAY); + jsonArray.put(ganttData.index); + jsonArray.put(ganttData.beginDate); + jsonArray.put(ganttData.endDate); + jsonArray.put(ganttData.showName); + jsonArray.put(ganttData.milestoneDate); + jsonArray.put(ganttData.schedule); + jsonArray.put(ganttData.completedColorHex); + jsonArray.put(ganttData.incompleteColorHex); + jsonArray.put(ganttData.scheduleShow); + jsonArray.put(ganttData.showType); + jsonArray.put(ganttData.middleValue); + jsonArray.put(ganttData.seriesValue); + jsonObject.put("value", jsonArray); + jsonObject.put("itemStyle", JSONFactory.createJSON(JSON.OBJECT).put("normal", JSONFactory.createJSON(JSON.OBJECT).put("color", "#7b9ce1"))); + jsonObject.put("emphasis", emphasisJson); + jsonContent.put(jsonObject); + } + return jsonContent; + } + + public static synchronized long createMinTimestamp(CustomGanttColumnFieldCollection dataSource) { + List beginDates = dataSource.getBeginDate().getValues(); + int size = beginDates.size(); + if (size <= 0) { + return 0; + } + Calendar cal = Calendar.getInstance(); + cal.set(2999, 1, 1); + long minTimestamp = cal.getTimeInMillis(); + ; + long tempTimestamp = 0; + int count = 0; + for (int i = 0, max = size - 1; i <= max; i++) { + tempTimestamp = objectToTimestamp(beginDates.get(i)); + if (minTimestamp > tempTimestamp) { + minTimestamp = tempTimestamp; + count++; + } + } + if (count <= 0) { + return 0; + } + return minTimestamp; + } + + + public static synchronized long createMaxTimestamp(CustomGanttColumnFieldCollection dataSource) { + List endDates = dataSource.getEndDate().getValues(); + int size = endDates.size(); + if (size <= 0) { + return 0; + } + Calendar cal = Calendar.getInstance(); + cal.set(1000, 1, 1); + + long maxTimestamp = cal.getTimeInMillis(); + long tempTimestamp = 0; + int count = 0; + for (int i = 0, max = size - 1; i <= max; i++) { + tempTimestamp = objectToTimestamp(endDates.get(i)); + if (maxTimestamp < tempTimestamp) { + maxTimestamp = tempTimestamp; + count++; + } + } + if (count <= 0) { + return 0; + } + return maxTimestamp; + } + + public static synchronized List createData(CustomGanttColumnFieldCollection dataSource) { + List datas = new ArrayList<>(); + List projectList = createProjectNames(dataSource); + if (projectList.size() <= 0) { + return datas; + } + List projectNames = dataSource.getProjectName().getValues(); + List seriesNames = dataSource.getSeriesName().getValues(); + List seriesValues = dataSource.getSeriesValue().getValues(); + List beginDates = dataSource.getBeginDate().getValues(); + List endDates = dataSource.getEndDate().getValues(); + List schedules = dataSource.getSchedule().getValues(); + int size = projectNames.size(); + if (size <= 0) { + return datas; + } + String projectName, seriesName; + CustomGanttData ganttData; + for (int i = 0, max = size - 1; i <= max; i++) { + projectName = objectToString(projectNames.get(i)); + seriesName = objectToString(seriesNames.get(i)); + ganttData = new CustomGanttData(); + ganttData.category = projectName; + ganttData.index = getIndex(projectName, projectList); + ganttData.showName = createSeriesName(seriesName); + ganttData.originalName = seriesName; + ganttData.schedule = objectToRate(schedules.get(i)); + ganttData.scheduleShow = objectToRateShow(ganttData.schedule); + ganttData.beginDate = objectToTimestamp(beginDates.get(i)); + ganttData.endDate = objectToTimestamp(endDates.get(i)); + ganttData.beginDateShow = String.valueOf(beginDates.get(i)); + ganttData.endDateShow = String.valueOf(endDates.get(i)); + ganttData.seriesValue = String.valueOf(seriesValues.get(i)); + if ((ganttData.beginDate <= 0) || (ganttData.endDate <= 0)) { + LogKit.error("甘特图定制,解析开始时间或结束时间出错"); + return new ArrayList(); + } + datas.add(ganttData); + } + + return datas; + } + + + public static synchronized List createMilestoneDatas(CustomGanttColumnFieldCollection dataSource) { + List datas = new ArrayList<>(); + List projectList = createProjectNames(dataSource); + if (projectList.size() <= 0) { + return datas; + } + List projectNames = dataSource.getProjectName().getValues(); + List seriesNames = dataSource.getSeriesName().getValues(); + List seriesValues = dataSource.getSeriesValue().getValues(); + List beginDates = dataSource.getBeginDate().getValues(); + List endDates = dataSource.getEndDate().getValues(); + List schedules = dataSource.getSchedule().getValues(); + List milestoneDates = dataSource.getMilestoneDate().getValues(); + List milestoneIcons = dataSource.getMilestoneIcon().getValues(); + List milestoneInfos = dataSource.getMilestoneInfo().getValues(); + int size = projectNames.size(); + if (size <= 0) { + return datas; + } + + if (milestoneDates.size() <= 0) { + return datas; + } + + if (milestoneIcons.size() <= 0) { + return datas; + } + + String projectName, seriesName; + CustomGanttData ganttData; + String path; + for (int i = 0, max = size - 1; i <= max; i++) { + projectName = objectToString(projectNames.get(i)); + seriesName = objectToString(seriesNames.get(i)); + ganttData = new CustomGanttData(); + ganttData.category = projectName; + ganttData.index = getIndex(projectName, projectList); + ganttData.showName = createSeriesName(seriesName); + ganttData.originalName = seriesName; + ganttData.schedule = 0; + ganttData.scheduleShow = getIconPath(i, milestoneInfos); + ganttData.beginDate = objectToTimestamp(milestoneDates.get(i)); + ganttData.endDate = objectToTimestamp(milestoneDates.get(i)); + ganttData.beginDateShow = String.valueOf(milestoneDates.get(i));; + ganttData.endDateShow = ""; + path = getIconPath(i, milestoneIcons); + if (StringKit.isEmpty(path)) { + continue; + } + ganttData.seriesValue = path; + + if ((ganttData.beginDate <= 0) || (ganttData.endDate <= 0)) { + continue; + } + ganttData.showType = CustomGanttData.SHOW_TYPE_IMAGE; + datas.add(ganttData); + } + + return datas; + } + + public static synchronized JSONArray createMilestoneData(CustomGanttColumnFieldCollection dataSource) { + JSONArray dataArray = new JSONArray(); + + List projectList = createProjectNames(dataSource); + if (projectList.size() <= 0) { + return dataArray; + } + List projectNames = dataSource.getProjectName().getValues(); + List milestoneDates = dataSource.getMilestoneDate().getValues(); + List milestoneIcons = dataSource.getMilestoneIcon().getValues(); + int size = projectNames.size(); + if (size <= 0) { + return dataArray; + } + + if (milestoneDates.size() <= 0) { + return dataArray; + } + String projectName; + int x; + long y; + String type = ""; + String path = ""; + JSONObject milestoneJson; + for (int i = 0, max = size - 1; i <= max; i++) { + projectName = objectToString(projectNames.get(i)); + x = getIndex(projectName, projectList); + y = objectToTimestamp(milestoneDates.get(i)); + if (y <= 0) { + continue; + } + type = "diamond"; + path = getIconPath(i, milestoneIcons); + if (StringKit.isNotEmpty(path)) { + type = "image"; + } + milestoneJson = new JSONObject(); + milestoneJson.put("x", x); + milestoneJson.put("y", y); + milestoneJson.put("type", type); + milestoneJson.put("path", path); + dataArray.add(milestoneJson); + } + return dataArray; + } + + private static String getIconPath(int index, List icons) { + if (index < 0) { + return ""; + } + if ((icons == null) || (icons.size() <= 0) || (index >= icons.size())) { + return ""; + } + + String path = String.valueOf(icons.get(index)); + path = StringKit.trim(path); + if (StringKit.isEmpty(path)) { + return ""; + } + return path; + } + + + /** + * 针对echarts的bug处理,若系列名称有数字,有中文,会默认按数字处理,有中文会显示NaN,故在前面加中文处理 + * + * @param name + * @return + */ + private static String createSeriesName(String name) { + String tempName = name; + if (StringKit.isEmpty(name)) { + tempName = ""; + } + return "甘特图" + tempName; + } + + private static synchronized String objectToString(Object obj) { + String tempValue = GeneralUtils.objectToString(obj); + return tempValue; + } + + + private static ThreadLocal threadLocalFormat = new ThreadLocal() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyy-MM-dd"); + } + }; + + private static ThreadLocal threadLocalFormat1 = new ThreadLocal() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + } + }; + + public static synchronized String timestampToDate(long value) { + Date date = new Date(value); + return threadLocalFormat.get().format(date); + } + + /** + * 转为时间戳 + * + * @param obj + * @return + */ + private static synchronized long objectToTimestamp(Object obj) { + if (obj == null) { + return 0; + } + + Date tempDate = null; + if (obj instanceof Date) { + tempDate = (Date) obj; + return tempDate.getTime(); + } + + String tempValue = GeneralUtils.objectToString(obj); + if (StringKit.isEmpty(tempValue)) { + return 0; + } + int length = tempValue.length(); + try { + if (length == 10) { + tempDate = threadLocalFormat.get().parse(tempValue); + } else if (length == 19) { + tempDate = threadLocalFormat1.get().parse(tempValue); + } + } catch (Exception e) { + return 0; + } + if (tempDate != null) { + return tempDate.getTime(); + } + return 0; + } + + /** + * 转为0-1的四位小数 + * + * @param obj + * @return + */ + private static synchronized double objectToRate(Object obj) { + if (obj == null) { + return 0; + } + + double tempValue = 0; + if (obj instanceof Double) { + tempValue = (Double) obj; + } else { + String tempContent = objectToString(obj); + if (StringKit.isEmpty(tempContent)) { + return 0; + } + tempContent = tempContent.trim(); + if (StringKit.isEmpty(tempContent)) { + return 0; + } + tempValue = Double.valueOf(tempContent); + } + + if (tempValue <= 0) { + return 0; + } + + if (tempValue >= 1) { + return 1; + } + BigDecimal bigDecimal = new BigDecimal(String.valueOf(tempValue)); + tempValue = bigDecimal.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); + return tempValue; + } + + private static synchronized String objectToRateShow(double value) { + BigDecimal bigDecimal = new BigDecimal(String.valueOf(value)); + BigDecimal bigDecimal1 = new BigDecimal("100"); + String tempValue = bigDecimal.multiply(bigDecimal1).doubleValue() + "%"; + return tempValue; + } + + private static synchronized void addNotRepeatingObj(String value, List values) { + String tempValue = value; + if (StringKit.isEmpty(tempValue)) { + tempValue = ""; + } + if (values.contains(tempValue)) { + return; + } + values.add(tempValue); + } + + private static synchronized int getIndex(String value, List values) { + int index = values.indexOf(value); + return index; + } + + + public static String rgbToHex(Color color) { + if (color == null) { + return "#000000"; + } + String value = "#" + String.format("%02X", color.getRed()) + String.format("%02X", color.getGreen()) + String.format("%02X", color.getBlue()); + return value; + } + + + public static Color colorToGray(Color color) { + if (color == null) { + return new Color(0); + } + + int gray = (int) ((color.getRed() * 30 + color.getGreen() * 59 + color.getBlue() * 11 + 50) * 0.01); + return new Color(gray); + } + + +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttType.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttType.java new file mode 100644 index 0000000..51ad1e2 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttType.java @@ -0,0 +1,56 @@ +package com.fr.plugin.third.party.jsdibjj; + +import com.fanruan.api.report.chart.BaseChartType; +import com.fanruan.api.report.chart.BaseChartWithData; +import com.fr.intelli.record.Focus; +import com.fr.intelli.record.Original; +import com.fr.record.analyzer.EnableMetrics; + +@EnableMetrics +public class CustomGanttType extends BaseChartType { + + /** + * 该种图表所有的图表对象实例,比如柱形图就有堆积柱形图,百分比堆积柱形图等等 + * + * @return 所有的图表对象实例 + */ + @Focus(id = "com.fr.plugin.third.party.jsd8199", text = "plugin-jsd-8199", source = Original.PLUGIN) + public BaseChartWithData[] getChartTypes() { + return new BaseChartWithData[]{ + new CustomGanttChart() + }; + } + + /** + * 图表在web端展现时需要的JS文件 + * + * @return JS文件数组 + */ + public String[] getRequiredJS() { + return new String[]{ + "com/fr/plugin/third/party/jsdibjj/web/echarts.min.js", + "com/fr/plugin/third/party/jsdibjj/web/customGanttPlusWrapper.js" + }; + } + + /** + * 图表在web端展现时需要的CSS文件 + * + * @return CSS文件数组 + */ + public String[] getRequiredCss() { + return new String[]{ + "com/fr/plugin/third/party/jsdibjj/web/customGanttPlus.css" + }; + } + + /** + * JS对象名,该对象一般是一个函数,执行后会在给定的dom中绘制图表 + * + * @return JS对象名 + */ + public String getWrapperName() { + return "customGanttPlusWrapper"; + } + +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttUI.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttUI.java new file mode 100644 index 0000000..3771b31 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/CustomGanttUI.java @@ -0,0 +1,60 @@ +package com.fr.plugin.third.party.jsdibjj; + +import com.fanruan.api.design.chart.*; +import com.fr.design.gui.frpane.AttributeChangeListener; +import com.fr.plugin.third.party.jsdibjj.data.CustomGanttDataCellFieldsPane; +import com.fr.plugin.third.party.jsdibjj.data.CustomGanttDataSetFieldsPane; +import com.fr.plugin.third.party.jsdibjj.ui.CustomGanttShowSettingsPane; +import com.fr.plugin.third.party.jsdibjj.ui.CustomGanttTitlePane; +import com.fr.plugin.third.party.jsdibjj.ui.CustomGanttTypePane; + + +public class CustomGanttUI extends BaseChartTypeUI { + public String CHART_NAME = "甘特图定制"; + + @Override + public DefaultTypePane getPlotTypePane() { + return new CustomGanttTypePane(); + } + + @Override + public BaseDataPane getChartDataPane(AttributeChangeListener listener) { + return new BaseDataPane(listener) { + @Override + protected SingleDataPane createSingleDataPane() { + return new SingleDataPane(new CustomGanttDataSetFieldsPane(), + new CustomGanttDataCellFieldsPane() + ); + } + }; + } + + @Override + public BaseOtherPane[] getAttrPaneArray(AttributeChangeListener listener) { + return new BaseOtherPane[]{new CustomGanttTitlePane(), new CustomGanttShowSettingsPane(), new DefaultOtherPane()}; + } + + @Override + public String getIconPath() { + return "com/fr/plugin/third/party/jsdibjj/images/chart_icon.png"; + } + + @Override + public String getName() { + return CHART_NAME; + } + + @Override + public String[] getSubName() { + return new String[]{ + CHART_NAME + }; + } + + @Override + public String[] getDemoImagePath() { + return new String[]{ + "com/fr/plugin/third/party/jsdibjj/images/chart_type_demo.png" + }; + } +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/PieType.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/PieType.java new file mode 100644 index 0000000..2711406 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/PieType.java @@ -0,0 +1,20 @@ +package com.fr.plugin.third.party.jsdibjj; + +/** + * @author fr.open + * @version 10.0 + * Created by fr.open on 2019-09-05 + */ +public enum PieType { + PIE, + RING; + + public static PieType parseInt(int index) { + for (PieType type : PieType.values()) { + if (type.ordinal() == index) { + return type; + } + } + return PIE; + } +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/UIComboBoxWithNone.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/UIComboBoxWithNone.java new file mode 100644 index 0000000..5a82c69 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/UIComboBoxWithNone.java @@ -0,0 +1,39 @@ +package com.fr.plugin.third.party.jsdibjj; + + +import com.fanruan.api.design.ui.component.UIComboBox; +import com.fr.design.i18n.Toolkit; + +import java.util.List; + +public class UIComboBoxWithNone extends UIComboBox { + protected String getDefaultLocaleString() { + return Toolkit.i18nText("Fine-Design_Chart_Use_None"); + } + + public UIComboBoxWithNone() { + this.addDefaultItem(); + } + + public void refreshBoxItems(List var1) { + super.refreshBoxItems(var1); + this.addDefaultItem(); + } + + public void clearBoxItems() { + super.clearBoxItems(); + this.addDefaultItem(); + } + + private void addDefaultItem() { + this.addItem(this.getDefaultLocaleString()); + } + + public void setSelectedItem(Object var1) { + super.setSelectedItem(var1); + if (this.getSelectedIndex() == -1) { + super.setSelectedItem(this.getDefaultLocaleString()); + } + + } +} \ No newline at end of file diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/color/ColorUtils.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/color/ColorUtils.java new file mode 100644 index 0000000..61c1dd1 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/color/ColorUtils.java @@ -0,0 +1,220 @@ +package com.fr.plugin.third.party.jsdibjj.color; + + +import java.awt.Color; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class ColorUtils { + /** + * 颜色变暗 + * + * @param color + * @return + */ + public static Color toDark(Color color) { + if (color == null) { + return Color.black; + } + float[] hsb = rgb2hsb(color.getRed(), color.getGreen(), color.getBlue()); + float h = hsb[0]; + float s = hsb[1]; + float b = hsb[2]; + if (s >= 0.5) { + s = (float) (s - 0.5); + } else { + s = 0; + } + int[] rgb = hsb2rgb(h, s, b); + Color tempColor = new Color(rgb[0], rgb[2], rgb[2]); + return tempColor; + } + + public static float[] rgb2hsb(int rgbR, int rgbG, int rgbB) { + assert 0 <= rgbR && rgbR <= 255; + assert 0 <= rgbG && rgbG <= 255; + assert 0 <= rgbB && rgbB <= 255; + int[] rgb = new int[]{rgbR, rgbG, rgbB}; + Arrays.sort(rgb); + int max = rgb[2]; + int min = rgb[0]; + + float hsbB = max / 255.0f; + float hsbS = max == 0 ? 0 : (max - min) / (float) max; + + float hsbH = 0; + if (max == rgbR && rgbG >= rgbB) { + hsbH = (rgbG - rgbB) * 60f / (max - min) + 0; + } else if (max == rgbR && rgbG < rgbB) { + hsbH = (rgbG - rgbB) * 60f / (max - min) + 360; + } else if (max == rgbG) { + hsbH = (rgbB - rgbR) * 60f / (max - min) + 120; + } else if (max == rgbB) { + hsbH = (rgbR - rgbG) * 60f / (max - min) + 240; + } + + return new float[]{hsbH, hsbS, hsbB}; + } + + public static int[] hsb2rgb(float h, float s, float v) { + assert Float.compare(h, 0.0f) >= 0 && Float.compare(h, 360.0f) <= 0; + assert Float.compare(s, 0.0f) >= 0 && Float.compare(s, 1.0f) <= 0; + assert Float.compare(v, 0.0f) >= 0 && Float.compare(v, 1.0f) <= 0; + + float r = 0, g = 0, b = 0; + int i = (int) ((h / 60) % 6); + float f = (h / 60) - i; + float p = v * (1 - s); + float q = v * (1 - f * s); + float t = v * (1 - (1 - f) * s); + switch (i) { + case 0: + r = v; + g = t; + b = p; + break; + case 1: + r = q; + g = v; + b = p; + break; + case 2: + r = p; + g = v; + b = t; + break; + case 3: + r = p; + g = q; + b = v; + break; + case 4: + r = t; + g = p; + b = v; + break; + case 5: + r = v; + g = p; + b = q; + break; + default: + break; + } + return new int[]{(int) (r * 255.0), (int) (g * 255.0), + (int) (b * 255.0)}; + } + + /** + * 获取渐变颜色 当前颜色到 红绿蓝 渐变 + * + * @param color + * @param count + * @return + */ + public static List getGradientColors(Color color, int count) { + List colors = new ArrayList<>(); + if (count <= 0) { + return colors; + } + if (count <= 1) { + count = 1; + } + int max = count - 1; + if (color == null) { + for (int i = 0; i <= max; i++) { + colors.add(Color.black); + } + return colors; + } + if (count == 1) { + colors.add(color); + return colors; + } + + Color endColor = new Color(220, 220, 220); + endColor = Color.RED; + + int maxStep = Math.abs(Math.abs(color.getRGB()) - Math.abs(endColor.getRGB())); + int tempStep = Math.abs(Math.abs(color.getRGB()) - Math.abs(Color.GREEN.getRGB())); + if (tempStep >= maxStep) { + maxStep = tempStep; + endColor = Color.GREEN; + } + + tempStep = Math.abs(Math.abs(color.getRGB()) - Math.abs(Color.BLUE.getRGB())); + if (tempStep >= maxStep) { + maxStep = tempStep; + endColor = Color.BLUE; + } + endColor = new Color(220, 220, 220); + double redStep = (endColor.getRed() - color.getRed()) / (count + 1); + double greenStep = (endColor.getGreen() - color.getGreen()) / (count + 1); + double blueStep = (endColor.getBlue() - color.getBlue()) / (count + 1); + + int redValue = color.getRed(); + int greenValue = color.getGreen(); + int blueValue = color.getBlue(); + + double redTempValue = color.getRed(); + double greenTempValue = color.getGreen(); + double blueTempValue = color.getBlue(); + + Color tempColor = null; + for (int i = 0; i <= max; i++) { + if (redValue >= 255) { + redValue = 255; + } + if (greenValue >= 255) { + greenValue = 255; + } + if (blueValue >= 255) { + blueValue = 255; + } + tempColor = new Color(redValue, greenValue, blueValue); + colors.add(tempColor); + redTempValue = (redTempValue + redStep); + greenTempValue = (greenTempValue + greenStep); + blueTempValue = (blueTempValue + blueStep); + redValue = (int) redTempValue; + greenValue = (int) greenTempValue; + blueValue = (int) blueTempValue; + } + return colors; + } + + + /** + * 获取循环颜色 + * + * @param confColors + * @param count + * @return + */ + public static List getCycleColors(List confColors, int count) { + List colors = new ArrayList<>(); + if (count <= 0) { + return colors; + } + if (count <= 1) { + count = 1; + } + int max = count - 1; + if ((confColors == null) || (confColors.size() <= 0)) { + for (int i = 0; i <= max; i++) { + colors.add(Color.black); + } + return colors; + } + int size = confColors.size(); + int index = 0; + for (int i = 0; i <= max; i++) { + index = i % size; + colors.add(confColors.get(index)); + } + return colors; + } + + +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/data/CustomGanttColumnFieldCollection.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/data/CustomGanttColumnFieldCollection.java new file mode 100644 index 0000000..9d15db6 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/data/CustomGanttColumnFieldCollection.java @@ -0,0 +1,135 @@ +package com.fr.plugin.third.party.jsdibjj.data; + +import com.fanruan.api.report.chart.field.BaseColumnFieldCollection; +import com.fr.chartx.data.annotations.KeyField; +import com.fr.chartx.data.field.ColumnField; + + +public class CustomGanttColumnFieldCollection extends BaseColumnFieldCollection { + + + /** + * 项目名称 + */ + //@KeyField + private ColumnField projectName = new ColumnField(); + + + /** + * 系列值 + */ + // @KeyField + private ColumnField seriesValue = new ColumnField(); + + + /** + * 系列名称 + */ + //@KeyField + private ColumnField seriesName = new ColumnField(); + + /** + * 开始时间 + */ + private ColumnField beginDate = new ColumnField(); + /** + * 结束时间 + */ + private ColumnField endDate = new ColumnField(); + + /** + * 里程碑时间 + */ + private ColumnField milestoneDate = new ColumnField(); + + + /** + * 里程碑图片 + */ + private ColumnField milestoneIcon = new ColumnField(); + + + /** + * 里程碑信息 + */ + private ColumnField milestoneInfo = new ColumnField(); + + /** + * 进度 + */ + private ColumnField schedule = new ColumnField(); + + + public ColumnField getProjectName() { + return projectName; + } + + public void setProjectName(ColumnField projectName) { + this.projectName = projectName; + } + + + public ColumnField getSeriesValue() { + return seriesValue; + } + + public void setSeriesValue(ColumnField seriesValue) { + this.seriesValue = seriesValue; + } + + public ColumnField getSeriesName() { + return seriesName; + } + + public void setSeriesName(ColumnField seriesName) { + this.seriesName = seriesName; + } + + public ColumnField getBeginDate() { + return beginDate; + } + + public void setBeginDate(ColumnField beginDate) { + this.beginDate = beginDate; + } + + public ColumnField getEndDate() { + return endDate; + } + + public void setEndDate(ColumnField endDate) { + this.endDate = endDate; + } + + public ColumnField getMilestoneDate() { + return milestoneDate; + } + + public void setMilestoneDate(ColumnField milestoneDate) { + this.milestoneDate = milestoneDate; + } + + public ColumnField getSchedule() { + return schedule; + } + + public void setSchedule(ColumnField schedule) { + this.schedule = schedule; + } + + public ColumnField getMilestoneIcon() { + return milestoneIcon; + } + + public void setMilestoneIcon(ColumnField milestoneIcon) { + this.milestoneIcon = milestoneIcon; + } + + public ColumnField getMilestoneInfo() { + return milestoneInfo; + } + + public void setMilestoneInfo(ColumnField milestoneInfo) { + this.milestoneInfo = milestoneInfo; + } +} \ No newline at end of file diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/data/CustomGanttDataCellFieldsPane.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/data/CustomGanttDataCellFieldsPane.java new file mode 100644 index 0000000..a7d8b29 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/data/CustomGanttDataCellFieldsPane.java @@ -0,0 +1,96 @@ +package com.fr.plugin.third.party.jsdibjj.data; + +import com.fanruan.api.design.chart.field.BaseCellDataFieldsPane; +import com.fanruan.api.design.ui.component.formula.UIFormulaTextField; + +import java.awt.*; + +public class CustomGanttDataCellFieldsPane extends BaseCellDataFieldsPane { + private UIFormulaTextField projectNamePane; + private UIFormulaTextField seriesNamePane; + private UIFormulaTextField seriesValuePane; + private UIFormulaTextField beginDatePane; + private UIFormulaTextField endDatePane; + private UIFormulaTextField milestoneDatePane; + private UIFormulaTextField milestoneIconPane; + private UIFormulaTextField milestoneInfoPane; + private UIFormulaTextField schedulePane; + + public void initComponents() { + projectNamePane = new UIFormulaTextField(); + seriesNamePane = new UIFormulaTextField(); + seriesValuePane = new UIFormulaTextField(); + beginDatePane = new UIFormulaTextField(); + endDatePane = new UIFormulaTextField(); + milestoneDatePane = new UIFormulaTextField(); + milestoneIconPane = new UIFormulaTextField(); + milestoneInfoPane = new UIFormulaTextField(); + schedulePane = new UIFormulaTextField(); + super.initComponents(); + } + + @Override + protected String[] fieldLabels() { + return new String[]{ + "项目名称", "系列名称", "系列值", "开始时间", "结束时间", "里程碑时间", "里程碑图标", "里程碑信息", "进度" + }; + } + + @Override + protected Component[] fieldComponents() { + return new Component[]{ + projectNamePane, + seriesNamePane, + seriesValuePane, + beginDatePane, + endDatePane, + milestoneDatePane, + milestoneIconPane, + milestoneInfoPane, + schedulePane + }; + } + + @Override + protected UIFormulaTextField[] formulaPanes() { + return new UIFormulaTextField[]{ + projectNamePane, + seriesNamePane, + seriesValuePane, + beginDatePane, + endDatePane, + milestoneDatePane, + milestoneIconPane, + milestoneInfoPane, + schedulePane + }; + } + + @Override + public void populateBean(CustomGanttColumnFieldCollection dataConf) { + populateField(projectNamePane, dataConf.getProjectName()); + populateField(seriesNamePane, dataConf.getSeriesName()); + populateField(seriesValuePane, dataConf.getSeriesValue()); + populateField(beginDatePane, dataConf.getBeginDate()); + populateField(endDatePane, dataConf.getEndDate()); + populateField(milestoneDatePane, dataConf.getMilestoneDate()); + populateField(milestoneIconPane, dataConf.getMilestoneIcon()); + populateField(milestoneInfoPane, dataConf.getMilestoneInfo()); + populateField(schedulePane, dataConf.getSchedule()); + } + + @Override + public CustomGanttColumnFieldCollection updateBean() { + CustomGanttColumnFieldCollection dataConf = new CustomGanttColumnFieldCollection(); + updateField(projectNamePane, dataConf.getProjectName()); + updateField(seriesNamePane, dataConf.getSeriesName()); + updateField(seriesValuePane, dataConf.getSeriesValue()); + updateField(beginDatePane, dataConf.getBeginDate()); + updateField(endDatePane, dataConf.getEndDate()); + updateField(milestoneDatePane, dataConf.getMilestoneDate()); + updateField(milestoneIconPane, dataConf.getMilestoneIcon()); + updateField(milestoneInfoPane, dataConf.getMilestoneInfo()); + updateField(schedulePane, dataConf.getSchedule()); + return dataConf; + } +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/data/CustomGanttDataSetFieldsPane.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/data/CustomGanttDataSetFieldsPane.java new file mode 100644 index 0000000..a7078fa --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/data/CustomGanttDataSetFieldsPane.java @@ -0,0 +1,99 @@ +package com.fr.plugin.third.party.jsdibjj.data; + +import com.fanruan.api.design.chart.field.BaseDataSetFieldsPane; +import com.fanruan.api.design.ui.component.UIComboBox; +import com.fr.plugin.third.party.jsdibjj.UIComboBoxWithNone; +import com.fr.plugin.third.party.jsdibjj.data.CustomGanttColumnFieldCollection; + +import java.awt.*; + + +public class CustomGanttDataSetFieldsPane extends BaseDataSetFieldsPane { + private UIComboBoxWithNone projectNamePane; + private UIComboBoxWithNone seriesNamePane; + private UIComboBoxWithNone seriesValuePane; + private UIComboBoxWithNone beginDatePane; + private UIComboBoxWithNone endDatePane; + private UIComboBoxWithNone milestoneDatePane; + private UIComboBoxWithNone milestoneIconPane; + private UIComboBoxWithNone milestoneInfoPane; + private UIComboBoxWithNone schedulePane; + + public void initComponents() { + projectNamePane = new UIComboBoxWithNone(); + seriesNamePane = new UIComboBoxWithNone(); + seriesValuePane = new UIComboBoxWithNone(); + beginDatePane = new UIComboBoxWithNone(); + endDatePane = new UIComboBoxWithNone(); + milestoneDatePane = new UIComboBoxWithNone(); + milestoneIconPane = new UIComboBoxWithNone(); + milestoneInfoPane = new UIComboBoxWithNone(); + schedulePane = new UIComboBoxWithNone(); + super.initComponents(); + } + + @Override + protected String[] fieldLabels() { + return new String[]{ + "项目名称", "系列名称", "系列值", "开始时间", "结束时间", "里程碑时间", "里程碑图标", "里程碑信息", "进度" + }; + } + + @Override + protected Component[] fieldComponents() { + return new Component[]{ + projectNamePane, + seriesNamePane, + seriesValuePane, + beginDatePane, + endDatePane, + milestoneDatePane, + milestoneIconPane, + milestoneInfoPane, + schedulePane + }; + } + + @Override + protected UIComboBox[] filedComboBoxes() { + return new UIComboBox[]{ + projectNamePane, + seriesNamePane, + seriesValuePane, + beginDatePane, + endDatePane, + milestoneDatePane, + milestoneIconPane, + milestoneInfoPane, + schedulePane + }; + } + + @Override + public void populateBean(CustomGanttColumnFieldCollection dataConf) { + populateField(projectNamePane, dataConf.getProjectName()); + populateField(seriesNamePane, dataConf.getSeriesName()); + populateField(seriesValuePane, dataConf.getSeriesValue()); + populateField(beginDatePane, dataConf.getBeginDate()); + populateField(endDatePane, dataConf.getEndDate()); + populateField(milestoneDatePane, dataConf.getMilestoneDate()); + populateField(milestoneIconPane, dataConf.getMilestoneIcon()); + populateField(milestoneInfoPane, dataConf.getMilestoneInfo()); + populateField(schedulePane, dataConf.getSchedule()); + } + + @Override + public CustomGanttColumnFieldCollection updateBean() { + CustomGanttColumnFieldCollection dataConf = new CustomGanttColumnFieldCollection(); + updateField(projectNamePane, dataConf.getProjectName()); + updateField(seriesNamePane, dataConf.getSeriesName()); + updateField(seriesValuePane, dataConf.getSeriesValue()); + updateField(beginDatePane, dataConf.getBeginDate()); + updateField(endDatePane, dataConf.getEndDate()); + updateField(milestoneDatePane, dataConf.getMilestoneDate()); + updateField(milestoneIconPane, dataConf.getMilestoneIcon()); + updateField(milestoneInfoPane, dataConf.getMilestoneInfo()); + updateField(schedulePane, dataConf.getSchedule()); + return dataConf; + } +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/sort/DataSort.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/sort/DataSort.java new file mode 100644 index 0000000..725fd62 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/sort/DataSort.java @@ -0,0 +1,52 @@ +package com.fr.plugin.third.party.jsdibjj.sort; + +public class DataSort { + /** + * 原序号 + */ + private int index = 0; + /** + * 脱节天数 + */ + private int disconnectDays = 0; + /** + * 新序号 + */ + private int newIndex = 0; + + + private String projectName; + + + public int getIndex() { + return index; + } + + public void setIndex(int index) { + this.index = index; + } + + public int getDisconnectDays() { + return disconnectDays; + } + + public void setDisconnectDays(int days) { + this.disconnectDays = days; + } + + public int getNewIndex() { + return newIndex; + } + + public void setNewIndex(int newIndex) { + this.newIndex = newIndex; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorAnimationConfPane.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorAnimationConfPane.java new file mode 100644 index 0000000..b0ed0a6 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorAnimationConfPane.java @@ -0,0 +1,81 @@ +package com.fr.plugin.third.party.jsdibjj.ui; + +import com.fanruan.api.design.ui.component.UILabel; +import com.fanruan.api.design.ui.layout.TableLayoutKit; +import com.fr.design.dialog.BasicPane; +import com.fr.design.gui.icheckbox.UICheckBox; +import com.fr.design.gui.icombobox.UIComboBox; +import com.fr.design.gui.itextfield.UINumberField; +import com.fr.plugin.third.party.jsdibjj.CustomGanttChart; + +import javax.swing.*; +import java.awt.*; + + +/** + * 动画 + */ +public class ColorAnimationConfPane extends BasicPane { + private static String[] SYMBOL_TYPES = {"rect", "circle", "roundRect", "triangle", "diamond", "pin", "arrow"}; + private static String[] SYMBOL_TYPE_NAMES = {"矩形", "圆形", "圆角矩形", "三角形", "菱形", "弹头", "箭头"}; + private UICheckBox enableCheckBox; + private UIComboBox symbolTypesComboBox; + private UINumberField widthNumberField; + + + public ColorAnimationConfPane() { + this.initComponents(); + } + + protected void initComponents() { + this.setLayout(new BorderLayout()); + enableCheckBox = new UICheckBox("启用"); + + symbolTypesComboBox = new UIComboBox(SYMBOL_TYPE_NAMES); + symbolTypesComboBox.setSelectedIndex(0); + + widthNumberField = new UINumberField(5); + widthNumberField.setInteger(true); + widthNumberField.setValue(2); + + Component[][] components = new Component[][]{ + {enableCheckBox, null}, + {new UILabel("形状:"), symbolTypesComboBox}, + {new UILabel("宽度:"), widthNumberField} + }; + double p = TableLayoutKit.PREFERRED; + double[] rowSize = new double[]{p, p, p}; + double[] columnSize = new double[]{p, 100}; + JPanel settingsUI = TableLayoutKit.createTableLayoutPane(components, rowSize, columnSize); + this.add(settingsUI, BorderLayout.CENTER); + } + + protected String title4PopupWindow() { + return "color"; + } + + + public void populate(CustomGanttChart conf) { + enableCheckBox.setSelected(conf.isAnimationOption()); + widthNumberField.setValue(conf.getSymbolWidth()); + int index = getSymbolTypeIndex(conf.getSymbolType()); + symbolTypesComboBox.setSelectedIndex(index); + } + + public CustomGanttChart update() { + CustomGanttChart conf = new CustomGanttChart(); + conf.setAnimationOption(enableCheckBox.isSelected()); + conf.setSymbolType(SYMBOL_TYPES[symbolTypesComboBox.getSelectedIndex()]); + conf.setSymbolWidth((int) widthNumberField.getValue()); + return conf; + } + + private int getSymbolTypeIndex(String type) { + for (int i = 0, max = SYMBOL_TYPES.length - 1; i <= max; i++) { + if (SYMBOL_TYPES[i].equalsIgnoreCase(type)) { + return i; + } + } + return 0; + } +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorDateLineConfPane.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorDateLineConfPane.java new file mode 100644 index 0000000..e1ea5ac --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorDateLineConfPane.java @@ -0,0 +1,80 @@ +package com.fr.plugin.third.party.jsdibjj.ui; + +import com.fanruan.api.design.ui.component.UILabel; +import com.fanruan.api.design.ui.layout.TableLayoutKit; +import com.fr.design.dialog.BasicPane; +import com.fr.design.gui.icheckbox.UICheckBox; +import com.fr.design.gui.itextfield.UINumberField; +import com.fr.design.style.color.ColorSelectBox; +import com.fr.plugin.third.party.jsdibjj.CustomGanttChart; + +import javax.swing.*; +import java.awt.*; + + +/** + * 时间线配置 + */ +public class ColorDateLineConfPane extends BasicPane { + private UICheckBox enableCheckBox; + private ColorSelectBox colorSelectBox; + private UINumberField widthNumberField; + + + public ColorDateLineConfPane() { + this.initComponents(); + } + + protected void initComponents() { + this.setLayout(new BorderLayout()); + JPanel panel0 = new JPanel(); + panel0.setLayout(new FlowLayout(0, 0, 0)); + enableCheckBox = new UICheckBox("启用"); + colorSelectBox = new ColorSelectBox(100); + + panel0.add(enableCheckBox); + panel0.add(colorSelectBox); + + //JPanel panel1= new JPanel(); + //panel1.setLayout( new FlowLayout(0, 0, 0)); + + widthNumberField = new UINumberField(5); + widthNumberField.setInteger(true); + //panel1.add(new JLabel("宽度")); + //panel1.add(widthNumberField); + + //Box vBox = Box.createVerticalBox(); + //vBox.add(panel0); + //vBox.add(panel1); + Component[][] components = new Component[][]{ + {enableCheckBox, null}, + {new UILabel("颜色:"), colorSelectBox}, + {new UILabel("宽度:"), widthNumberField} + }; + double p = TableLayoutKit.PREFERRED; + double[] rowSize = new double[]{p, p, p}; + double[] columnSize = new double[]{p, 100}; + JPanel settingsUI = TableLayoutKit.createTableLayoutPane(components, rowSize, columnSize); + this.add(settingsUI, BorderLayout.CENTER); + } + + protected String title4PopupWindow() { + return "color"; + } + + public void populate(CustomGanttChart conf) { + enableCheckBox.setSelected(conf.isCurrentTimeLineOption()); + colorSelectBox.setSelectObject(new Color(conf.getCurrentTimeLineColor())); + widthNumberField.setValue(conf.getCurrentTimeLineWidth()); + } + + public CustomGanttChart update() { + CustomGanttChart conf = new CustomGanttChart(); + conf.setCurrentTimeLineOption(enableCheckBox.isSelected()); + conf.setCurrentTimeLineColor(colorSelectBox.getSelectObject().getRGB()); + conf.setCurrentTimeLineWidth((int) widthNumberField.getValue()); + return conf; + } + + +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorEmphasisConfPane.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorEmphasisConfPane.java new file mode 100644 index 0000000..264eb8b --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorEmphasisConfPane.java @@ -0,0 +1,81 @@ +package com.fr.plugin.third.party.jsdibjj.ui; + +import com.fanruan.api.design.ui.component.UILabel; +import com.fanruan.api.design.ui.layout.TableLayoutKit; +import com.fr.design.dialog.BasicPane; +import com.fr.design.gui.icheckbox.UICheckBox; +import com.fr.design.gui.itextfield.UINumberField; +import com.fr.design.style.color.ColorSelectBox; +import com.fr.plugin.third.party.jsdibjj.CustomGanttChart; + +import javax.swing.*; +import java.awt.*; + + +/** + * 时间线配置 + */ +public class ColorEmphasisConfPane extends BasicPane { + private UICheckBox enableCheckBox; + private ColorSelectBox colorSelectBox; + private UINumberField widthNumberField; + + + public ColorEmphasisConfPane() { + this.initComponents(); + } + + protected void initComponents() { + this.setLayout(new BorderLayout()); + JPanel panel0 = new JPanel(); + panel0.setLayout(new FlowLayout(0, 0, 0)); + enableCheckBox = new UICheckBox("启用"); + colorSelectBox = new ColorSelectBox(100); + + panel0.add(enableCheckBox); + panel0.add(colorSelectBox); + + //JPanel panel1= new JPanel(); + //panel1.setLayout( new FlowLayout(0, 0, 0)); + + widthNumberField = new UINumberField(5); + widthNumberField.setInteger(true); + //panel1.add(new JLabel("宽度")); + //panel1.add(widthNumberField); + + //Box vBox = Box.createVerticalBox(); + //vBox.add(panel0); + //vBox.add(panel1); + Component[][] components = new Component[][]{ + {enableCheckBox, null}, + {new UILabel("颜色:"), colorSelectBox}, + {new UILabel("宽度:"), widthNumberField} + }; + double p = TableLayoutKit.PREFERRED; + double[] rowSize = new double[]{p, p, p}; + double[] columnSize = new double[]{p, 100}; + JPanel settingsUI = TableLayoutKit.createTableLayoutPane(components, rowSize, columnSize); + this.add(settingsUI, BorderLayout.CENTER); + } + + protected String title4PopupWindow() { + return "color"; + } + + + public void populate(CustomGanttChart conf) { + enableCheckBox.setSelected(conf.isEmphasisOption()); + colorSelectBox.setSelectObject(new Color(conf.getEmphasisBorderColor())); + widthNumberField.setValue(conf.getEmphasisBorderWidth()); + } + + public CustomGanttChart update() { + CustomGanttChart conf = new CustomGanttChart(); + conf.setEmphasisOption(enableCheckBox.isSelected()); + conf.setEmphasisBorderColor(colorSelectBox.getSelectObject().getRGB()); + conf.setEmphasisBorderWidth((int) widthNumberField.getValue()); + return conf; + } + + +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorGapConfPane.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorGapConfPane.java new file mode 100644 index 0000000..75973d7 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorGapConfPane.java @@ -0,0 +1,45 @@ +package com.fr.plugin.third.party.jsdibjj.ui; + +import com.fr.design.dialog.BasicPane; +import com.fr.design.gui.icheckbox.UICheckBox; +import com.fr.design.style.color.ColorSelectBox; +import com.fr.plugin.third.party.jsdibjj.CustomGanttChart; + +import java.awt.*; + + //import com.fr.van.chart.designer.component.border.VanChartBorderPane; +public class ColorGapConfPane extends BasicPane { + private UICheckBox enableCheckBox; + private ColorSelectBox colorSelectBox; + + public ColorGapConfPane() { + this.initComponents(); + } + + protected void initComponents() { + this.setLayout(new FlowLayout(0, 0, 0)); + enableCheckBox = new UICheckBox("启用"); + colorSelectBox = new ColorSelectBox(100); + this.add(enableCheckBox); + this.add(colorSelectBox); + + } + + protected String title4PopupWindow() { + return "color"; + } + + public void populate(CustomGanttChart conf) { + enableCheckBox.setSelected(conf.isFillGapOption()); + colorSelectBox.setSelectObject(new Color(conf.getFillGapColor())); + } + + public CustomGanttChart update() { + CustomGanttChart conf = new CustomGanttChart(); + conf.setFillGapOption(enableCheckBox.isSelected()); + conf.setFillGapColor(colorSelectBox.getSelectObject().getRGB()); + return conf; + } + + +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorSeriesConfPane.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorSeriesConfPane.java new file mode 100644 index 0000000..e24ee5e --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorSeriesConfPane.java @@ -0,0 +1,298 @@ +package com.fr.plugin.third.party.jsdibjj.ui; + +import com.fr.base.BaseUtils; +import com.fr.design.constants.LayoutConstants; +import com.fr.design.dialog.BasicDialog; +import com.fr.design.dialog.BasicPane; +import com.fr.design.dialog.DialogActionAdapter; +import com.fr.design.dialog.FineJOptionPane; +import com.fr.design.gui.ibutton.UIButton; +import com.fr.design.gui.icheckbox.UICheckBox; +import com.fr.design.i18n.Toolkit; +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.style.color.ColorSelectBox; +import com.fr.design.utils.gui.GUICoreUtils; +import com.fr.plugin.third.party.jsdibjj.CustomGanttChart; + +import javax.swing.*; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.util.ArrayList; +import java.util.List; + + +/** + * 系列渐变颜色设置 + */ +public class ColorSeriesConfPane extends BasicPane { + private UICheckBox enableCheckBox; + private UICheckBox dataSortCheckBox; + private ColorSelectBox oddColorSelectBox; + private ColorSelectBox evenColorSelectBox; + private JList colorList; + private UIButton addButton; + private UIButton editButton; + private UIButton removeButton; + private UIButton moveUpButton; + private UIButton moveDownButton; + ActionListener addActionListener = new ActionListener() { + public void actionPerformed(ActionEvent var1) { + final ColorSettingPane var2 = new ColorSettingPane(); + BasicDialog var3 = var2.showSmallWindow(SwingUtilities.getWindowAncestor(ColorSeriesConfPane.this), new DialogActionAdapter() { + public void doOk() { + Color var1 = var2.update(); + if (var1 != null) { + DefaultListModel var2x = (DefaultListModel) ColorSeriesConfPane.this.colorList.getModel(); + var2x.addElement(var1); + int index = var2x.size() - 1; + ColorSeriesConfPane.this.colorList.setSelectedIndex(index); + } + } + }); + var3.setTitle("增加颜色..."); + var3.setVisible(true); + } + }; + ActionListener editActionListener = new ActionListener() { + public void actionPerformed(ActionEvent var1) { + ColorSeriesConfPane.this.editPrinterList(); + } + }; + ActionListener removeActionListener = new ActionListener() { + public void actionPerformed(ActionEvent var1) { + int var2 = ColorSeriesConfPane.this.colorList.getSelectedIndex(); + if (var2 != -1) { + int var3 = FineJOptionPane.showConfirmDialog(ColorSeriesConfPane.this, "你确实想删除选中的颜色吗?", Toolkit.i18nText("Fine-Design_Basic_Remove"), 2, 3); + if (var3 == 0) { + ((DefaultListModel) ColorSeriesConfPane.this.colorList.getModel()).remove(var2); + if (ColorSeriesConfPane.this.colorList.getModel().getSize() > 0) { + if (var2 < ColorSeriesConfPane.this.colorList.getModel().getSize()) { + ColorSeriesConfPane.this.colorList.setSelectedIndex(var2); + } else { + ColorSeriesConfPane.this.colorList.setSelectedIndex(ColorSeriesConfPane.this.colorList.getModel().getSize() - 1); + } + } + + ColorSeriesConfPane.this.checkButtonEnabled(); + } + + } + } + }; + ActionListener moveUpActionListener = new ActionListener() { + public void actionPerformed(ActionEvent var1) { + int var2 = ColorSeriesConfPane.this.colorList.getSelectedIndex(); + if (var2 > 0) { + DefaultListModel var3 = (DefaultListModel) ColorSeriesConfPane.this.colorList.getModel(); + Object var4 = var3.get(var2 - 1); + var3.set(var2 - 1, var3.get(var2)); + var3.set(var2, var4); + ColorSeriesConfPane.this.colorList.setSelectedIndex(var2 - 1); + ColorSeriesConfPane.this.checkButtonEnabled(); + } + + } + }; + ActionListener moveDownActionListener = new ActionListener() { + public void actionPerformed(ActionEvent var1) { + int var2 = ColorSeriesConfPane.this.colorList.getSelectedIndex(); + if (var2 != -1) { + if (var2 < ColorSeriesConfPane.this.colorList.getModel().getSize() - 1) { + DefaultListModel var3 = (DefaultListModel) ColorSeriesConfPane.this.colorList.getModel(); + Object var4 = var3.get(var2 + 1); + var3.set(var2 + 1, var3.get(var2)); + var3.set(var2, var4); + ColorSeriesConfPane.this.colorList.setSelectedIndex(var2 + 1); + ColorSeriesConfPane.this.checkButtonEnabled(); + } + + } + } + }; + ListSelectionListener printerSelectionListener = new ListSelectionListener() { + public void valueChanged(ListSelectionEvent var1) { + ColorSeriesConfPane.this.checkButtonEnabled(); + } + }; + MouseAdapter mouseClickedListener = new MouseAdapter() { + public void mouseClicked(MouseEvent var1) { + int var2 = var1.getClickCount(); + if (var2 >= 2) { + ColorSeriesConfPane.this.editPrinterList(); + } + + } + }; + + public class ColorRenderer extends JLabel implements ListCellRenderer { + @Override + public Component getListCellRendererComponent(JList list, + Object value, + int index, + boolean isSelected, + boolean cellHasFocus) { + if ((value != null) && (value instanceof Color)) { + Color color = (Color) value; + this.setOpaque(true); //此句是重点,设置背景颜色必须先将它设置为不透明的,因为默认是透明的。。。 + this.setText(" "); + this.setBackground(color); + } + return this; + } + } + + public ColorSeriesConfPane() { + this.initComponents(); + } + + protected void initComponents() { + this.setLayout(FRGUIPaneFactory.createBorderLayout()); + this.setBorder(BorderFactory.createEmptyBorder(6, 2, 4, 2)); + JToolBar var1 = new JToolBar(); + this.add(var1, BorderLayout.NORTH); + Dimension var2 = new Dimension(24, 24); + this.addButton = new UIButton(BaseUtils.readIcon("/com/fr/base/images/cell/control/add.png")); + this.addButton.addActionListener(this.addActionListener); + this.addButton.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_Add")); + this.addButton.setPreferredSize(var2); + this.editButton = new UIButton(BaseUtils.readIcon("/com/fr/design/images/control/edit.png")); + this.editButton.addActionListener(this.editActionListener); + this.editButton.setToolTipText(Toolkit.i18nText("Fine-Design_Report_Edit")); + this.editButton.setPreferredSize(var2); + this.removeButton = new UIButton(BaseUtils.readIcon("/com/fr/base/images/cell/control/remove.png")); + this.removeButton.addActionListener(this.removeActionListener); + this.removeButton.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_Remove")); + this.removeButton.setPreferredSize(var2); + this.moveUpButton = new UIButton(BaseUtils.readIcon("/com/fr/design/images/control/up.png")); + this.moveUpButton.addActionListener(this.moveUpActionListener); + this.moveUpButton.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_Utils_Move_Up")); + this.moveUpButton.setPreferredSize(var2); + this.moveDownButton = new UIButton(BaseUtils.readIcon("/com/fr/design/images/control/down.png")); + this.moveDownButton.addActionListener(this.moveDownActionListener); + this.moveDownButton.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_Utils_Move_Down")); + this.moveDownButton.setPreferredSize(var2); + var1.add(this.addButton); + var1.add(this.editButton); + var1.add(this.removeButton); + var1.add(this.moveUpButton); + var1.add(this.moveDownButton); + this.colorList = new JList(new DefaultListModel()); + this.colorList.addListSelectionListener(this.printerSelectionListener); + this.colorList.addMouseListener(this.mouseClickedListener); + this.colorList.setCellRenderer(new ColorRenderer()); + this.add(new JScrollPane(this.colorList), "Center"); + + enableCheckBox = new UICheckBox("按项目循环颜色"); + this.add(enableCheckBox, BorderLayout.SOUTH); + + //dataSortCheckBox = new UICheckBox("脱节天数排序"); + dataSortCheckBox = new UICheckBox("奇偶背景颜色"); + oddColorSelectBox = new ColorSelectBox(40); + evenColorSelectBox = new ColorSelectBox(40); + Component[] components_font = new Component[]{ + dataSortCheckBox, oddColorSelectBox, evenColorSelectBox + }; + //this.add(GUICoreUtils.createFlowPane(components_font, FlowLayout.LEFT, LayoutConstants.HGAP_SMALL), BorderLayout.SOUTH); + this.checkButtonEnabled(); + } + + protected String title4PopupWindow() { + return "printer"; + } + + private void checkButtonEnabled() { + this.editButton.setEnabled(false); + this.removeButton.setEnabled(false); + this.moveUpButton.setEnabled(false); + this.moveDownButton.setEnabled(false); + int var1 = this.colorList.getSelectedIndex(); + if (var1 >= 0) { + this.editButton.setEnabled(true); + this.removeButton.setEnabled(true); + if (var1 > 0) { + this.moveUpButton.setEnabled(true); + } + + if (var1 < this.colorList.getModel().getSize() - 1) { + this.moveDownButton.setEnabled(true); + } + } + + } + + public void editPrinterList() { + final int var1 = this.colorList.getSelectedIndex(); + final ColorSettingPane var2 = new ColorSettingPane(); + BasicDialog var3 = var2.showSmallWindow(SwingUtilities.getWindowAncestor(this), new DialogActionAdapter() { + public void doOk() { + Color var1x = var2.update(); + if (var1x != null) { + DefaultListModel var2x = (DefaultListModel) ColorSeriesConfPane.this.colorList.getModel(); + if (var1 < 0) { + var2x.addElement(var1x); + int index = var2x.size() - 1; + ColorSeriesConfPane.this.colorList.setSelectedIndex(index); + return; + } + var2x.remove(var1); + var2x.add(var1, var1x); + ColorSeriesConfPane.this.colorList.setSelectedIndex(var1); + } + + } + }); + var2.populate((Color) this.colorList.getSelectedValue()); + var3.setTitle("编辑颜色..."); + var3.setVisible(true); + } + + + public void populate(CustomGanttChart ob) { + populate(ob.getColors()); + enableCheckBox.setSelected(ob.isProjectCycleColor()); + dataSortCheckBox.setSelected(ob.isDataSort()); + oddColorSelectBox.setSelectObject(new Color(ob.getOddBackgroundColor())); + evenColorSelectBox.setSelectObject(new Color(ob.getEvenBackgroundColor())); + } + + private void populate(List colors) { + DefaultListModel var3 = (DefaultListModel) this.colorList.getModel(); + var3.removeAllElements(); + if ((colors == null) || (colors.size() <= 0)) { + return; + } + int size = colors.size(); + for (int i = 0, max = size - 1; i <= max; i++) { + var3.addElement(new Color(colors.get(i))); + } + if (size >= 1) { + this.colorList.setSelectedIndex(0); + } + } + + public void update(CustomGanttChart ob) { + ob.setColors(update()); + ob.setProjectCycleColor(enableCheckBox.isSelected()); + ob.setDataSort(dataSortCheckBox.isSelected()); + ob.setOddBackgroundColor(oddColorSelectBox.getSelectObject().getRGB()); + ob.setEvenBackgroundColor(evenColorSelectBox.getSelectObject().getRGB()); + } + + private List update() { + List var2 = new ArrayList(); + DefaultListModel var3 = (DefaultListModel) this.colorList.getModel(); + Color color; + for (int i = 0, max = var3.size() - 1; i <= max; i++) { + color = (Color) var3.get(i); + var2.add(color.getRGB()); + } + return var2; + } + + +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorSettingPane.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorSettingPane.java new file mode 100644 index 0000000..aab8663 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/ColorSettingPane.java @@ -0,0 +1,47 @@ +package com.fr.plugin.third.party.jsdibjj.ui; + +import com.fanruan.api.design.ui.component.UILabel; +import com.fr.design.dialog.BasicPane; +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.mainframe.backgroundpane.ColorBackgroundQuickPane; +import com.fr.design.style.color.NewColorSelectBox; + +import java.awt.*; + +public class ColorSettingPane extends BasicPane { + //private ColorBackgroundQuickPane colorBackgroundQuickPane; + private NewColorSelectBox colorBackgroundQuickPane; + + public ColorSettingPane() { + this.initComponents(); + } + + protected void initComponents() { + this.setLayout(FRGUIPaneFactory.createBorderLayout()); + colorBackgroundQuickPane = new NewColorSelectBox(100); + this.add(new UILabel("设置颜色"), BorderLayout.NORTH); + this.add(colorBackgroundQuickPane, BorderLayout.CENTER); + } + + public void checkValid() throws Exception { + + } + + protected boolean isShowHelpButton() { + return false; + } + + protected String title4PopupWindow() { + return "设置颜色"; + } + + public void populate(Color var1) { + //this.colorBackgroundQuickPane.populateColor(var1); + this.colorBackgroundQuickPane.setSelectObject(var1); + } + + public Color update() { + //return this.colorBackgroundQuickPane.updateColor(); + return this.colorBackgroundQuickPane.getSelectObject(); + } +} \ No newline at end of file diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/CustomGanttShowSettingsPane.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/CustomGanttShowSettingsPane.java new file mode 100644 index 0000000..198983f --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/CustomGanttShowSettingsPane.java @@ -0,0 +1,118 @@ +package com.fr.plugin.third.party.jsdibjj.ui; + +import com.fanruan.api.design.chart.BaseOtherPane; +import com.fanruan.api.design.ui.component.UITitledBorder; +import com.fr.plugin.third.party.jsdibjj.CustomGanttChart; +import com.fr.van.chart.designer.component.VanChartFillStylePane; +import com.fr.van.chart.designer.style.series.VanChartAbstractPlotSeriesPane; +import com.fr.design.style.color.ColorAdjustPane; + +import javax.swing.*; +import java.awt.*; + +public class CustomGanttShowSettingsPane extends BaseOtherPane { + private DisplayScaleConfPane displayScaleConfPane; + private ColorGapConfPane colorGapConfPane; + private ColorDateLineConfPane colorDateLineConfPane; + private ColorSeriesConfPane colorListPane; + private ColorAnimationConfPane colorAnimationConfPane; + private ColorEmphasisConfPane colorEmphasisConfPane; + private YFontConfPane yFontConfPane; + + + @Override + public void populate(CustomGanttChart ob) { + colorGapConfPane.populate(ob); + colorListPane.populate(ob); + colorDateLineConfPane.populate(ob); + displayScaleConfPane.populate(ob); + colorAnimationConfPane.populate(ob); + colorEmphasisConfPane.populate(ob); + yFontConfPane.populate(ob); + } + + @Override + public void update(CustomGanttChart ob) { + CustomGanttChart conf = colorGapConfPane.update(); + ob.setFillGapOption(conf.isFillGapOption()); + ob.setFillGapColor(conf.getFillGapColor()); + + colorListPane.update(ob); + //ob.setColors(colorListPane.update()); + + CustomGanttChart conf1 = colorDateLineConfPane.update(); + ob.setCurrentTimeLineOption(conf1.isCurrentTimeLineOption()); + ob.setCurrentTimeLineColor(conf1.getCurrentTimeLineColor()); + ob.setCurrentTimeLineWidth(conf1.getCurrentTimeLineWidth()); + + //ob.setDisplayScale(displayScaleConfPane.update()); + displayScaleConfPane.update(ob); + + CustomGanttChart conf2 = colorAnimationConfPane.update(); + ob.setAnimationOption(conf2.isAnimationOption()); + ob.setSymbolType(conf2.getSymbolType()); + ob.setSymbolWidth(conf2.getSymbolWidth()); + + CustomGanttChart conf3 = colorEmphasisConfPane.update(); + ob.setEmphasisOption(conf3.isEmphasisOption()); + ob.setEmphasisBorderColor(conf3.getEmphasisBorderColor()); + ob.setEmphasisBorderWidth(conf3.getEmphasisBorderWidth()); + + CustomGanttChart conf4 = yFontConfPane.update(); + ob.setyAxisAxisLabelColor(conf4.getyAxisAxisLabelColor()); + ob.setyAxisAxisLabelFontStyle(conf4.getyAxisAxisLabelFontStyle()); + ob.setyAxisAxisLabelFontWeight(conf4.getyAxisAxisLabelFontWeight()); + ob.setyAxisAxisLabelFontFamily(conf4.getyAxisAxisLabelFontFamily()); + ob.setyAxisAxisLabelFontSize(conf4.getyAxisAxisLabelFontSize()); + } + + @Override + protected JPanel createContentPane() { + JPanel panel = new JPanel(new BorderLayout(0, 6)); + displayScaleConfPane = new DisplayScaleConfPane(); + displayScaleConfPane.setBorder(UITitledBorder.createBorderWithTitle("显示比例")); + + colorGapConfPane = new ColorGapConfPane(); + colorGapConfPane.setBorder(UITitledBorder.createBorderWithTitle("填充空白颜色设置")); + + colorDateLineConfPane = new ColorDateLineConfPane(); + colorDateLineConfPane.setBorder(UITitledBorder.createBorderWithTitle("日期线设置")); + + colorAnimationConfPane = new ColorAnimationConfPane(); + colorAnimationConfPane.setBorder(UITitledBorder.createBorderWithTitle("动画设置")); + + colorEmphasisConfPane = new ColorEmphasisConfPane(); + colorEmphasisConfPane.setBorder(UITitledBorder.createBorderWithTitle("选中设置")); + + yFontConfPane = new YFontConfPane(); + yFontConfPane.setBorder(UITitledBorder.createBorderWithTitle("Y轴字体设置")); + + colorListPane = new ColorSeriesConfPane(); + colorListPane.setBorder(UITitledBorder.createBorderWithTitle("系列渐变颜色设置")); + JPanel gapPanel = new JPanel(); + gapPanel.setBorder(UITitledBorder.createBorderWithTitle("")); + + + JPanel settingsUI1 = new JPanel(new BorderLayout()); + settingsUI1.add(displayScaleConfPane, BorderLayout.NORTH); + //settingsUI1.add(colorGapConfPane, BorderLayout.CENTER); + + JPanel settingsUI2 = new JPanel(new BorderLayout()); + //settingsUI2.add(colorAnimationConfPane, BorderLayout.NORTH); + settingsUI2.add(colorEmphasisConfPane, BorderLayout.CENTER); + settingsUI2.add(yFontConfPane, BorderLayout.SOUTH); + + JPanel settingsUI = new JPanel(new BorderLayout()); + settingsUI.add(settingsUI1, BorderLayout.NORTH); + settingsUI.add(colorDateLineConfPane, BorderLayout.CENTER); + settingsUI.add(settingsUI2, BorderLayout.SOUTH); + panel.add(settingsUI, BorderLayout.NORTH); + //panel.add(colorListPane, BorderLayout.CENTER); + return panel; + } + + @Override + public String title4PopupWindow() { + return "显示"; + } +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/CustomGanttTitlePane.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/CustomGanttTitlePane.java new file mode 100644 index 0000000..59f7846 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/CustomGanttTitlePane.java @@ -0,0 +1,162 @@ +package com.fr.plugin.third.party.jsdibjj.ui; + +import com.fanruan.api.design.chart.BaseOtherPane; +import com.fanruan.api.design.ui.component.UICheckBox; +import com.fanruan.api.design.ui.component.UILabel; +import com.fanruan.api.design.ui.component.UITitledBorder; +import com.fanruan.api.design.ui.component.formula.UIFormulaTextField; +import com.fanruan.api.design.ui.layout.TableLayoutKit; +import com.fr.base.Utils; +import com.fr.design.gui.ibutton.UIColorButton; +import com.fr.design.gui.icombobox.UIComboBox; +import com.fr.plugin.third.party.jsdibjj.CustomGanttChart; + +import javax.swing.*; +import java.awt.*; +import java.util.Vector; + +public class CustomGanttTitlePane extends BaseOtherPane { + private UIFormulaTextField titleFormulaTextField; + private UIColorButton colorSelectPane; + private UICheckBox fontStyleCheckBox; + private UICheckBox fontWeightCheckBox; + private UIComboBox fontNameComboBox; + private UIComboBox fontSizeComboBox; + private UIComboBox leftComboBox; + + private UIComboBox fontNameSeriesNameComboBox; + private UIComboBox fontSizeSeriesNameComboBox; + private UIColorButton colorSelectSeriesNamePane; + + @Override + public void populate(CustomGanttChart ob) { + titleFormulaTextField.populateBean(ob.getTitleFormula().toString()); + + colorSelectPane.setColor(new Color(ob.getTitleTextStyleColor())); + colorSelectPane.repaint(); + if ("normal".equalsIgnoreCase(ob.getTitleTextStyleFontStyle())) { + fontStyleCheckBox.setSelected(false); + } else { + fontStyleCheckBox.setSelected(true); + } + if ("normal".equalsIgnoreCase(ob.getTitleTextStyleFontWeight())) { + fontWeightCheckBox.setSelected(false); + } else { + fontWeightCheckBox.setSelected(true); + } + fontNameComboBox.setSelectedItem(ob.getTitleTextStyleFontFamily()); + fontSizeComboBox.setSelectedItem(ob.getTitleTextStyleFontSize()); + + if ("left".equalsIgnoreCase(ob.getTitleLeft())) { + leftComboBox.setSelectedIndex(0); + } else if ("center".equalsIgnoreCase(ob.getTitleLeft())) { + leftComboBox.setSelectedIndex(1); + } else if ("right".equalsIgnoreCase(ob.getTitleLeft())) { + leftComboBox.setSelectedIndex(2); + } else { + leftComboBox.setSelectedIndex(1); + } + + + fontNameSeriesNameComboBox.setSelectedItem(ob.getSeriesNameTextStyleFontFamily()); + fontSizeSeriesNameComboBox.setSelectedItem(ob.getSeriesNameTextStyleFontSize()); + colorSelectSeriesNamePane.setColor(new Color(ob.getSeriesNameTextStyleColor())); + colorSelectSeriesNamePane.repaint(); + } + + @Override + public void update(CustomGanttChart ob) { + ob.getTitleFormula().setContent(titleFormulaTextField.updateBean()); + ob.setTitleTextStyleColor(colorSelectPane.getColor().getRGB()); + if (fontStyleCheckBox.isSelected()) { + ob.setTitleTextStyleFontStyle("italic"); + } else { + ob.setTitleTextStyleFontStyle("normal"); + } + + if (fontWeightCheckBox.isSelected()) { + ob.setTitleTextStyleFontWeight("bold"); + } else { + ob.setTitleTextStyleFontWeight("normal"); + } + ob.setTitleTextStyleFontFamily(String.valueOf(fontNameComboBox.getSelectedItem())); + ob.setTitleTextStyleFontSize((Integer) fontSizeComboBox.getSelectedItem()); + String leftValue = "center"; + String[] leftValues = {"left", "center", "right"}; + int index = leftComboBox.getSelectedIndex(); + if (index < 0) { + index = 1; + } + leftValue = leftValues[index]; + ob.setTitleLeft(leftValue); + + ob.setSeriesNameTextStyleFontFamily(String.valueOf(fontNameSeriesNameComboBox.getSelectedItem())); + ob.setSeriesNameTextStyleFontSize((Integer) fontSizeSeriesNameComboBox.getSelectedItem()); + ob.setSeriesNameTextStyleColor(colorSelectSeriesNamePane.getColor().getRGB()); + } + + @Override + protected JPanel createContentPane() { + JPanel panel = new JPanel(new BorderLayout(0, 6)); + titleFormulaTextField = new UIFormulaTextField(); + colorSelectPane = new UIColorButton(); + fontStyleCheckBox = new UICheckBox(); + fontWeightCheckBox = new UICheckBox(); + this.fontNameComboBox = new UIComboBox(Utils.getAvailableFontFamilyNames4Report()); + this.fontNameComboBox.setPreferredSize(new Dimension(144, 20)); + this.fontSizeComboBox = new UIComboBox(getFontSizes()); + this.fontSizeComboBox.setEditable(true); + leftComboBox = new UIComboBox(new String[]{"居左", "居中", "居右"}); + + Component[][] components = new Component[][]{ + {new UILabel(" 内容:"), titleFormulaTextField}, + {new UILabel(" 颜色:"), colorSelectPane}, + {new UILabel(" 斜体:"), fontStyleCheckBox}, + {new UILabel(" 加粗:"), fontWeightCheckBox}, + {new UILabel(" 字体:"), fontNameComboBox}, + {new UILabel(" 字体大小:"), fontSizeComboBox}, + {new UILabel(" 显示位置:"), leftComboBox} + }; + double p = TableLayoutKit.PREFERRED; + double[] rowSize = new double[]{p, p, p, p, p, p, p}; + double[] columnSize = new double[]{p, 120}; + JPanel settingsUI = TableLayoutKit.createTableLayoutPane(components, rowSize, columnSize); + settingsUI.setBorder(UITitledBorder.createBorderWithTitle("标题")); + + + this.fontNameSeriesNameComboBox = new UIComboBox(Utils.getAvailableFontFamilyNames4Report()); + this.fontNameSeriesNameComboBox.setPreferredSize(new Dimension(144, 20)); + this.fontSizeSeriesNameComboBox = new UIComboBox(getFontSizes()); + this.fontSizeSeriesNameComboBox.setEditable(true); + this.colorSelectSeriesNamePane = new UIColorButton(); + + Component[][] components1 = new Component[][]{ + //{new UILabel(" 字体:"), fontNameSeriesNameComboBox}, + {new UILabel(" 字体大小:"), fontSizeSeriesNameComboBox}, + //{new UILabel(" 颜色:"), colorSelectSeriesNamePane}, + }; + rowSize = new double[]{p, }; + JPanel settingsUI1 = TableLayoutKit.createTableLayoutPane(components1, rowSize, columnSize); + settingsUI1.setBorder(UITitledBorder.createBorderWithTitle("系列名称")); + panel.add(settingsUI, BorderLayout.NORTH); + panel.add(settingsUI1, BorderLayout.CENTER); + return panel; + } + + @Override + public String title4PopupWindow() { + return "字体"; + } + + + public static Vector getFontSizes() { + Vector var0 = new Vector(); + + for (int var1 = 1; var1 < 100; ++var1) { + var0.add(var1); + } + + return var0; + } + +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/CustomGanttTypePane.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/CustomGanttTypePane.java new file mode 100644 index 0000000..6a53a6d --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/CustomGanttTypePane.java @@ -0,0 +1,49 @@ +package com.fr.plugin.third.party.jsdibjj.ui; + +import com.fanruan.api.design.chart.DefaultTypePane; +import com.fr.plugin.third.party.jsdibjj.CustomGanttChart; + +import javax.swing.*; +import java.awt.*; + + +public class CustomGanttTypePane extends DefaultTypePane { + //private UIButtonGroup buttonGroup = new UIButtonGroup(new String[]{DesignKit.i18nText("Fine-Plugin_Legend_Right"), DesignKit.i18nText("Fine-Plugin_Legend_Left")}); + + @Override + protected String[] getTypeIconPath() { + return new String[]{ + "com/fr/plugin/third/party/jsdibjj/images/chart_type.png" + }; + } + + @Override + protected int getSelectIndexInChart(CustomGanttChart chart) { + return 0; + } + + @Override + protected void setSelectIndexInChart(CustomGanttChart chart, int index) { + //chart.setPieType(PieType.parseInt(index)); + } + + @Override + protected Component[][] getPaneComponents(JPanel typePane) { + return new Component[][]{ + new Component[]{typePane}, + //new Component[]{buttonGroup} + }; + } + + @Override + public void populateBean(CustomGanttChart ob) { + super.populateBean(ob); + // buttonGroup.setSelectedIndex(StringKit.equals("left", ob.getLegendPosition()) ? 0 : 1); + } + + @Override + public void updateBean(CustomGanttChart ob) { + super.updateBean(ob); + // ob.setLegendPosition(buttonGroup.getSelectedIndex() == 0 ? "left" : "right"); + } +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/DisplayScaleConfPane.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/DisplayScaleConfPane.java new file mode 100644 index 0000000..cef1bf3 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/DisplayScaleConfPane.java @@ -0,0 +1,72 @@ +package com.fr.plugin.third.party.jsdibjj.ui; + +import com.fanruan.api.design.ui.component.UILabel; +import com.fanruan.api.design.ui.layout.TableLayoutKit; +import com.fr.design.dialog.BasicPane; +import com.fr.design.gui.ispinner.UISpinner; +import com.fr.plugin.third.party.jsdibjj.CustomGanttChart; + +import javax.swing.*; +import java.awt.*; + +public class DisplayScaleConfPane extends BasicPane { + + private UISpinner scaleSpinner; + private UISpinner scaleXSpinner; + + public DisplayScaleConfPane() { + this.initComponents(); + } + + protected void initComponents() { + this.setLayout(new BorderLayout()); + scaleSpinner = new UISpinner(0, 100, 1, 100); + scaleXSpinner = new UISpinner(0, 100, 1, 100); + //this.add(new UILabel("Y轴比例:")); + //this.add(scaleSpinner); + Component[][] components = new Component[][]{ + {new UILabel("竖轴比例:"), scaleSpinner}, + {new UILabel("横轴比例:"), scaleXSpinner} + }; + double p = TableLayoutKit.PREFERRED; + double[] rowSize = new double[]{p, p}; + double[] columnSize = new double[]{p, 100}; + JPanel settingsUI = TableLayoutKit.createTableLayoutPane(components, rowSize, columnSize); + this.add(settingsUI, BorderLayout.CENTER); + } + + public void populate(CustomGanttChart ob) { + int yValue = ob.getDisplayScale(); + yValue = getValue(yValue); + int xValue = ob.getDisplayXScale(); + xValue = getValue(xValue); + scaleSpinner.setValue(yValue, true); + scaleXSpinner.setValue(xValue, true); + } + + private int getValue(int value) { + if (value <= 0) { + value = 0; + } + if (value >= 100) { + value = 100; + } + return value; + } + + + public void update(CustomGanttChart ob) { + int yValue = (int) scaleSpinner.getValue(); + yValue = getValue(yValue); + int xValue = (int) scaleXSpinner.getValue(); + xValue = getValue(xValue); + ob.setDisplayScale(yValue); + ob.setDisplayXScale(xValue); + } + + + @Override + protected String title4PopupWindow() { + return "显示比例"; + } +} diff --git a/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/YFontConfPane.java b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/YFontConfPane.java new file mode 100644 index 0000000..9432f02 --- /dev/null +++ b/src/main/java/com/fr/plugin/third/party/jsdibjj/ui/YFontConfPane.java @@ -0,0 +1,116 @@ +package com.fr.plugin.third.party.jsdibjj.ui; + +import com.fanruan.api.design.ui.component.UILabel; +import com.fanruan.api.design.ui.layout.TableLayoutKit; +import com.fr.base.Utils; +import com.fr.design.dialog.BasicPane; +import com.fr.design.gui.ibutton.UIColorButton; +import com.fr.design.gui.icheckbox.UICheckBox; +import com.fr.design.gui.icombobox.UIComboBox; +import com.fr.plugin.third.party.jsdibjj.CustomGanttChart; + +import javax.swing.*; +import java.awt.*; +import java.util.Vector; + + +/** + * 动画 + */ +public class YFontConfPane extends BasicPane { + private static String[] SYMBOL_TYPES = {"rect", "circle", "roundRect", "triangle", "diamond", "pin", "arrow"}; + private static String[] SYMBOL_TYPE_NAMES = {"矩形", "圆形", "圆角矩形", "三角形", "菱形", "弹头", "箭头"}; + private UIColorButton colorSelectPane; + private UICheckBox fontStyleCheckBox; + private UICheckBox fontWeightCheckBox; + private UIComboBox fontNameComboBox; + private UIComboBox fontSizeComboBox; + + + public YFontConfPane() { + this.initComponents(); + } + + protected void initComponents() { + this.setLayout(new BorderLayout()); + colorSelectPane = new UIColorButton(); + fontStyleCheckBox = new UICheckBox(); + fontWeightCheckBox = new UICheckBox(); + this.fontNameComboBox = new UIComboBox(Utils.getAvailableFontFamilyNames4Report()); + this.fontNameComboBox.setPreferredSize(new Dimension(144, 20)); + this.fontSizeComboBox = new UIComboBox(getFontSizes()); + this.fontSizeComboBox.setEditable(true); + Component[][] components = new Component[][]{ + {new UILabel(" 颜色:"), colorSelectPane}, + {new UILabel(" 斜体:"), fontStyleCheckBox}, + {new UILabel(" 加粗:"), fontWeightCheckBox}, + {new UILabel(" 字体:"), fontNameComboBox}, + {new UILabel(" 字体大小:"), fontSizeComboBox} + }; + double p = TableLayoutKit.PREFERRED; + double[] rowSize = new double[]{p, p, p, p, p}; + double[] columnSize = new double[]{p, 120}; + JPanel settingsUI = TableLayoutKit.createTableLayoutPane(components, rowSize, columnSize); + this.add(settingsUI, BorderLayout.CENTER); + } + + protected String title4PopupWindow() { + return "color"; + } + + + public void populate(CustomGanttChart ob) { + colorSelectPane.setColor(new Color(ob.getyAxisAxisLabelColor())); + colorSelectPane.repaint(); + if ("normal".equalsIgnoreCase(ob.getyAxisAxisLabelFontStyle())) { + fontStyleCheckBox.setSelected(false); + } else { + fontStyleCheckBox.setSelected(true); + } + if ("normal".equalsIgnoreCase(ob.getyAxisAxisLabelFontWeight())) { + fontWeightCheckBox.setSelected(false); + } else { + fontWeightCheckBox.setSelected(true); + } + fontNameComboBox.setSelectedItem(ob.getyAxisAxisLabelFontFamily()); + fontSizeComboBox.setSelectedItem(ob.getyAxisAxisLabelFontSize()); + } + + public CustomGanttChart update() { + CustomGanttChart ob = new CustomGanttChart(); + ob.setyAxisAxisLabelColor(colorSelectPane.getColor().getRGB()); + if (fontStyleCheckBox.isSelected()) { + ob.setyAxisAxisLabelFontStyle("italic"); + } else { + ob.setyAxisAxisLabelFontStyle("normal"); + } + + if (fontWeightCheckBox.isSelected()) { + ob.setyAxisAxisLabelFontWeight("bold"); + } else { + ob.setyAxisAxisLabelFontWeight("normal"); + } + ob.setyAxisAxisLabelFontFamily((String) fontNameComboBox.getSelectedItem()); + ob.setyAxisAxisLabelFontSize((Integer) fontSizeComboBox.getSelectedItem()); + return ob; + } + + private int getSymbolTypeIndex(String type) { + for (int i = 0, max = SYMBOL_TYPES.length - 1; i <= max; i++) { + if (SYMBOL_TYPES[i].equalsIgnoreCase(type)) { + return i; + } + } + return 0; + } + + public static Vector getFontSizes() { + Vector var0 = new Vector(); + + for (int var1 = 1; var1 < 100; ++var1) { + var0.add(var1); + } + + return var0; + } +} diff --git a/src/main/resources/com/fr/plugin/third/party/jsdibjj/images/chart_icon.png b/src/main/resources/com/fr/plugin/third/party/jsdibjj/images/chart_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..76e941020c2916b58d0b978f51e0cb2c1482ee0c GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!JVEijv*HQ$v^xRC7!U|ssI1~e`EFkfAaNT z_|Me;lk{20u!gO{q)PA4@BNAI<2NuWSQWgy|KBb6zf-6JLmQ()^qgn^Sf!hI_Wl3& z|9+O5Ae)ZG_xJzXvIW!^GnY6!G8}F=HbHI!9*>yzyJayA3%C;+ISzU4o#5cg zCc)-o(Y2C;&7rZI&wz*FCSR9R4x`%?Mg@j0uYf)7>sl;iTM~0h8m=;=Fnr=OyMBPd ik(q;$i}%NWd4}T|5B8lu7PbQD2?kGBKbLh*2~7Z%C1~yd literal 0 HcmV?d00001 diff --git a/src/main/resources/com/fr/plugin/third/party/jsdibjj/images/chart_type.png b/src/main/resources/com/fr/plugin/third/party/jsdibjj/images/chart_type.png new file mode 100644 index 0000000000000000000000000000000000000000..34666506bd2051fc19f74dc24a44a22d3307bf39 GIT binary patch literal 555 zcmV+`0@VG9P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0l-N_K~z{r?U$iT zgFzI)#b`7djs6)nqtR$I8U@3GVZ~sx7z~0I5rc>zXcCiPP%tPM6f6sd1;6i}{B}NB z*yg*t-G{LI!NJBpcE7!Q_uku-{Bw$6Dn&4rBACi#2)=YguAZG7-aFa7t$VLK-JcH= zNfJDNa0llg7GF_M2BCC87H{+O(S-7k@a9lu%YGHj#OW0zl$9MZ^zLLPF|*#vb1 zjyLv(lB?um2xdW&p6GEIn#3$f?h!%quu05<$Wb<$#w1AoalBlTrZEXpcwK-N=ebkamTjrH1vlwNcAju7WO!)A!c-DVRzaZIvk9Yp4A}*lVn}jwk;@QDc0ss#buzoMO zMg##VJ#J(-E_`W0g2)nSEy~nR{fj^);JFZ@1Qq_(>E@#rqZ)-dX3$L%RA^lYXhCK% t;1WS=K_13f1andZQz?R}6u~q^z5(r*H7kV248;Hd002ovPDHLkV1l{B@45g0 literal 0 HcmV?d00001 diff --git a/src/main/resources/com/fr/plugin/third/party/jsdibjj/images/chart_type_demo.png b/src/main/resources/com/fr/plugin/third/party/jsdibjj/images/chart_type_demo.png new file mode 100644 index 0000000000000000000000000000000000000000..c1aed215cb21c5f40d3f9094183c42d7cf10c230 GIT binary patch literal 9198 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 BEu{be literal 0 HcmV?d00001 diff --git a/src/main/resources/com/fr/plugin/third/party/jsdibjj/images/gantt_type.png b/src/main/resources/com/fr/plugin/third/party/jsdibjj/images/gantt_type.png new file mode 100644 index 0000000000000000000000000000000000000000..e82adaff72a0d0d956bb49503de409368afee866 GIT binary patch literal 1374 zcmeAS@N?(olHy`uVBq!ia0vp^Q-QdUgAGXDDSvnyNHG=%xjQkeJ16rJ$YDu$^mSxl z*x1kgCy^D%=PdAuEM{QfI}E~%$MaXD0M&f!ue@qN@LRRK1jzo;SR+hh4xUrPAfx9?7LI`uQAqf*NI(Fj;!A z7ER!Kq9A(0QENhThywdc2R@oge3tkAdUJ05zjt*zzW#f;zE(J|e%EE@^M3-cJ$(Q6>-Kl`>rJ26 z`F_9QS-Mx&KjX!zCX0;;-JQA#-?nT!7hb+uGj7i{zeyqL^&LB>U9YyeUYNcz$XrBN zj(bOakn2jXM=d{m=SsMER!7aP2z>Q7=;<4AQ?E<&x4W&1^$kCGSN&?1`H`kA-lC7@ z>7Nd|8Gd?$)>EnE<+eAIdJW&!IX}KKH&M#Enz!}p{HJH%?ajQOcXyZg|G%G0Q|oun z%A390d+RM;?e*(Qoy@=A=QhkqI`iem9esyY8Qg$Is7}b@IWA zze{)3@SV4fzx=tK^T(Q?qrL0BLgTs@-#=cm*w+7F%ANC*!qgk4YMC6}AinwjmhDw5 zFFm=l8n)E$@<#A{8s98yMCWGqr$7PP}*)hXT{_vEVx|LjWCAi{%(mr`J zRhB9(dBWFetrB`;dVQYZ&$mIUKV$vEK3(?cc>T@L%t0^on||`~hvu#`_2-6cUeexV zUUEvuQ8n|;)@SKcSWm^N&s-qfxxM4^!ToNJUx#R4{jquKx7i+|+@%SB+9bMJbEjrK zojT#jCfAIKS@XI@KCcL=e4{WUcJs2jxRs~a&xCzlop~;&$TxH9s%QTS{P$m~Z~l_~ zSmreEgcggS2ZsA5U;g*;ee&$jJ>S2c?|fe2w6aauKaw9LUq5+^}_#ump`|k&Lzi4)4Wc- f@3;@)-F+YI" + subStringByLength(params.data.beginDateShow, 0, 10) + "至" + subStringByLength(params.data.endDateShow, 0, 10); + } + }, + title: { + //text: option.ganttTitle, + //left: 'center' + text: option.ganttTitle.titleText, + left: option.ganttTitle.titleLeft, + //textAlign: 'center' + textStyle: { + color: option.ganttTitle.titleTextStyleColor, + fontStyle: option.ganttTitle.titleTextStyleFontStyle, + fontWeight: option.ganttTitle.titleTextStyleFontWeight, + fontFamily: option.ganttTitle.titleTextStyleFontFamily, + fontSize: option.ganttTitle.titleTextStyleFontSize + } + }, + dataZoom: [ + { + type: 'slider', + filterMode: 'weakFilter', + showDataShadow: false, + bottom: 0, + height: 10, + borderColor: 'transparent', + backgroundColor: '#e2e2e2', +// backgroundColor: '#ff0000', + handleIcon: 'M10.7,11.9H9.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z', // jshint ignore:line + handleSize: 20, + handleStyle: { + shadowBlur: 6, + shadowOffsetX: 1, + shadowOffsetY: 2, + shadowColor: '#aaa' + }, + labelFormatter: '' + }, { + type: 'inside', + filterMode: 'weakFilter' + }, { + type: 'slider', + yAxisIndex: 0, + zoomLock: true, + width: 10, + right: 10, + top: 0, + bottom: 20, + //start: 20, + start: option.ganttData.displayScale, + end: 100, + handleSize: 0, + showDetail: false, + }, { + type: 'inside', + id: 'insideY', + yAxisIndex: 0, + // start: 20, + start: option.ganttData.displayScale, + end: 100, + zoomOnMouseWheel: false, + moveOnMouseMove: true, + moveOnMouseWheel: true + }], + grid: { + //height: 300 + top: 5, + containLabel: true + }, + xAxis: { + min: option.ganttData.minDate, + max: option.ganttData.maxDate, + scale: true, + type: 'time', + position: 'top', + splitLine: { + lineStyle: { + color: ['#E9EDFF'] + } + }, + axisLine: { + show: false + }, + axisTick: { + lineStyle: { + color: '#929ABA' + } + }, + axisLabel: { + color: '#929ABA', + inside: false, + align: 'center', + formatter: getDateValueFormatter + } + }, + yAxis: { + data: option.ganttData.categories, + axisLabel: { + color: option.yAxisAxisLabelFont.yAxisAxisLabelColor, + fontStyle: option.yAxisAxisLabelFont.yAxisAxisLabelFontStyle, + fontWeight: option.yAxisAxisLabelFont.yAxisAxisLabelFontWeight, + fontFamily: option.yAxisAxisLabelFont.yAxisAxisLabelFontFamily, + fontSize: option.yAxisAxisLabelFont.yAxisAxisLabelFontSize + } + }, + series: [ + { + type: 'custom', + zlevel: 5, + markLine: dateLineWidthConf + }, + /*{ + type: 'lines', + polyline: true, + coordinateSystem: 'cartesian2d', + lineStyle: { + type: 'dashed', + width: 0, + //color: '#175064', + curveness: 0.3 + + }, + effect: { + show: true, + trailLength: 0.1, + symbol: 'rect', + //color: 'orange', + symbolSize: 2, + period: 2 + }, + data: option.ganttData.linesData, + zlevel: 10 + },*/ + { + type: 'custom', + renderItem: renderItem, + itemStyle: { + opacity: 0.8 + }, + encode: { + x: [1, 2], + y: 0 + }, + data: option.ganttData.seriesData, + zlevel: 20 + // markLine: dateLineWidthConf + } + ] + }; + + var chart = echarts.init(dom); + + //绑定点击触发超链函数 + chart.on('click', this.getLinkFun()); + chart.setOption(ganttOption, true); + //var tempOption = chart.getOption(); + //var symbolSizeValue = chart._api.size([0, 1])[1] * 0.6; + //var symbolSizeValue = chart._api.getHeight(); + + // rectHeight = rectHeight*0.5; + var periodValue = 2; + if (linesEnable == true) { + periodValue = 2; + } else { + periodValue = 0; + } + var ganttOption1 = { + tooltip: { + formatter: function (params) { + if (isStringEmpty(params.showType) && isStringEmpty(params.data.showType)) { + return ""; + } + var seriesName = params.name; + seriesName = getRealValue(seriesName); + var schedule = params.value[8]; + + if (params.data.showType == "BACKGROUND") { + return ""; + } + if (params.data.showType == "FILL") { + return ""; + } + if (params.data.showType == "IMAGE") { + return schedule + "
时间:" + subStringByLength(params.data.beginDateShow, 0, 10) + } + + return seriesName + "
" + '进度' + schedule + "
" + subStringByLength(params.data.beginDateShow, 0, 10) + "至" + subStringByLength(params.data.endDateShow, 0, 10); + } + }, + title: { + text: option.ganttTitle.titleText, + left: option.ganttTitle.titleLeft, + //textAlign: 'center' + textStyle: { + color: option.ganttTitle.titleTextStyleColor, + fontStyle: option.ganttTitle.titleTextStyleFontStyle, + fontWeight: option.ganttTitle.titleTextStyleFontWeight, + fontFamily: option.ganttTitle.titleTextStyleFontFamily, + fontSize: option.ganttTitle.titleTextStyleFontSize + } + }, + dataZoom: [ + { + type: 'slider', + filterMode: 'weakFilter', + showDataShadow: false, + bottom: 0, + height: 10, + borderColor: 'transparent', + backgroundColor: '#e2e2e2', +// backgroundColor: '#ff0000', + handleIcon: 'M10.7,11.9H9.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z', // jshint ignore:line + handleSize: 20, + handleStyle: { + shadowBlur: 6, + shadowOffsetX: 1, + shadowOffsetY: 2, + shadowColor: '#aaa' + }, + labelFormatter: '', + //start: 0, + //end: option.ganttData.displayXScale + start: option.ganttData.displayXScale, + end: 100 + }, { + type: 'inside', + filterMode: 'weakFilter' + }, { + type: 'slider', + yAxisIndex: 0, + zoomLock: true, + width: 10, + right: 10, + top: 70, + bottom: 20, + //start: 20, + start: option.ganttData.displayScale, + end: 100, + handleSize: 0, + showDetail: false, + }, { + type: 'inside', + id: 'insideY', + yAxisIndex: 0, + // start: 20, + start: option.ganttData.displayScale, + end: 100, + zoomOnMouseWheel: false, + moveOnMouseMove: true, + moveOnMouseWheel: true + }], + grid: { + //height: 300 + top: 5, + left: 5, + right: 30, + //bottom:5, + containLabel: true + }, + xAxis: { + min: option.ganttData.minDate, + max: option.ganttData.maxDate, + scale: true, + type: 'time', + position: 'top', + splitLine: { + lineStyle: { + color: ['#E9EDFF'] + } + }, + axisLine: { + show: false + }, + axisTick: { + lineStyle: { + color: '#929ABA' + } + }, + axisLabel: { + color: '#929ABA', + inside: false, + align: 'center', + formatter: getDateValueFormatter + } + }, + yAxis: { + data: option.ganttData.categories, + axisLabel: { + //backgroundColor:'red', + //height:2, + color: option.yAxisAxisLabelFont.yAxisAxisLabelColor, + fontStyle: option.yAxisAxisLabelFont.yAxisAxisLabelFontStyle, + fontWeight: option.yAxisAxisLabelFont.yAxisAxisLabelFontWeight, + fontFamily: option.yAxisAxisLabelFont.yAxisAxisLabelFontFamily, + fontSize: option.yAxisAxisLabelFont.yAxisAxisLabelFontSize, + formatter: function (value, index) { + //debugger; + var index = value.lastIndexOf("\n"); + if (index <= 0) { + return value; + } + var name = value.substring(0, index); + var name1 = value.substring(index + 1); + name1 = name1 || ''; + if (name1.length <= 0) { + return name; + } + if (option.fillGap.enable && (option.fillGap.enable == true)) { + return name + "\n" + "{suspendStyle|" + name1 + "}"; + } + return name; + }, + rich: { + suspendStyle: { + color: option.fillGap.color + } + } + } + }, + series: [ + { + type: 'custom', + zlevel: 0, + markLine: dateLineWidthConf + }, + { + type: 'lines', + polyline: true, + coordinateSystem: 'cartesian2d', + lineStyle: { + type: 'dashed', + //width: rectHeight, + width: 0, + //color: '#175064', + opacity: 0.3, + curveness: 0.3 + + }, + effect: { + show: true, + trailLength: 0.1, + //symbol: 'diamond', + //color: 'orange', + //symbolSize: [rectHeight,10], + symbol: option.ganttData.symbolType, + symbolSize: [rectHeight, option.ganttData.symbolWidth], + period: periodValue + //period: 0 + //constantSpeed: 20 + }, + data: option.ganttData.linesData, + zlevel: 10 + }, + { + type: 'custom', + renderItem: renderItem, + itemStyle: { + opacity: 0.8 + }, + encode: { + x: [1, 2], + y: 0 + }, + data: option.ganttData.seriesData, + zlevel: 20 + // markLine: dateLineWidthConf + }, { + type: 'graph', + layout: 'none', + coordinateSystem: 'cartesian2d', + symbolSize: 50, + label: { + show: false + }, + lineStyle: { + width: 0, + opacity: 1 + }, + data: graphDatas, + zlevel: 30 + + } + ] + }; + if (linesEnable) { + // chart.setOption(ganttOption1, true); + } + + chart.setOption(ganttOption1, true); + + chart.on('mouseover', function (params) { + //console.log(params); + }); + chart.on('click', function (params) { + console.log(params); + }); + + return chart; + }, + + _refresh: function (chart, option) { + chart.setOption(option); + }, + + _resize: function (chart) { + chart.resize(); + }, + + _emptyData: function (options) { + return options.series.data.length === 0; + } + }) +})(); \ No newline at end of file diff --git a/src/main/resources/com/fr/plugin/third/party/jsdibjj/web/echarts-adapter.js b/src/main/resources/com/fr/plugin/third/party/jsdibjj/web/echarts-adapter.js new file mode 100644 index 0000000..2aa0f20 --- /dev/null +++ b/src/main/resources/com/fr/plugin/third/party/jsdibjj/web/echarts-adapter.js @@ -0,0 +1,7 @@ +var document = { + createElement: function(element) { + if (element == 'canvas') { + return new Canvas(); + } + }, +}; diff --git a/src/main/resources/com/fr/plugin/third/party/jsdibjj/web/echarts.min.js b/src/main/resources/com/fr/plugin/third/party/jsdibjj/web/echarts.min.js new file mode 100644 index 0000000..4b25b97 --- /dev/null +++ b/src/main/resources/com/fr/plugin/third/party/jsdibjj/web/echarts.min.js @@ -0,0 +1,22 @@ + +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +*/ + + +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use strict";var e=2311,n=function(){return e++},v="object"==typeof wx&&"function"==typeof wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasSupported:!0,domSupported:!1}:"undefined"==typeof navigator?{browser:{},os:{},node:!0,worker:!1,canvasSupported:!0,svgSupported:!0,domSupported:!1}:function(t){var e={},i=t.match(/Firefox\/([\d.]+)/),n=t.match(/MSIE\s([\d.]+)/)||t.match(/Trident\/.+?rv:(([\d.]+))/),o=t.match(/Edge\/([\d.]+)/),a=/micromessenger/i.test(t);i&&(e.firefox=!0,e.version=i[1]);n&&(e.ie=!0,e.version=n[1]);o&&(e.edge=!0,e.version=o[1]);a&&(e.weChat=!0);return{browser:e,os:{},node:!1,canvasSupported:!!document.createElement("canvas").getContext,svgSupported:"undefined"!=typeof SVGRect,touchEventsSupported:"ontouchstart"in window&&!e.ie&&!e.edge,pointerEventsSupported:"onpointerdown"in window&&(e.edge||e.ie&&11<=e.version),domSupported:"undefined"!=typeof document}}(navigator.userAgent);var s={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},l={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},u=Object.prototype.toString,i=Array.prototype,r=i.forEach,h=i.filter,o=i.slice,c=i.map,d=i.reduce,a={};function f(t,e){"createCanvas"===t&&(g=null),a[t]=e}function k(t){if(null==t||"object"!=typeof t)return t;var e=t,i=u.call(t);if("[object Array]"===i){if(!$(t)){e=[];for(var n=0,o=t.length;n>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",n[l]+":0",o[u]+":0",n[1-l]+":auto",o[1-u]+":auto",""].join("!important;"),t.appendChild(r),i.push(r)}return i}(e,a),a,o);if(r)return r(t,i,n),!0}return!1}function zt(t){return"CANVAS"===t.nodeName.toUpperCase()}var Bt="undefined"!=typeof window&&!!window.addEventListener,Vt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Gt=[];function Ft(t,e,i,n){return i=i||{},n||!v.canvasSupported?Wt(t,e,i):v.browser.firefox&&null!=e.layerX&&e.layerX!==e.offsetX?(i.zrX=e.layerX,i.zrY=e.layerY):null!=e.offsetX?(i.zrX=e.offsetX,i.zrY=e.offsetY):Wt(t,e,i),i}function Wt(t,e,i){if(v.domSupported&&t.getBoundingClientRect){var n=e.clientX,o=e.clientY;if(zt(t)){var a=t.getBoundingClientRect();return i.zrX=n-a.left,void(i.zrY=o-a.top)}if(Et(Gt,t,n,o))return i.zrX=Gt[0],void(i.zrY=Gt[1])}i.zrX=i.zrY=0}function Ht(t){return t||window.event}function Zt(t,e,i){if(null!=(e=Ht(e)).zrX)return e;var n=e.type;if(n&&0<=n.indexOf("touch")){var o="touchend"!==n?e.targetTouches[0]:e.changedTouches[0];o&&Ft(t,o,e,i)}else Ft(t,e,e,i),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var a=e.button;return null==e.which&&void 0!==a&&Vt.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function Ut(t,e,i,n){Bt?t.addEventListener(e,i,n):t.attachEvent("on"+e,i)}var Xt=Bt?function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0}:function(t){t.returnValue=!1,t.cancelBubble=!0};function Yt(t){return 2===t.which||3===t.which}function jt(){this._track=[]}function qt(t){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1];return Math.sqrt(e*e+i*i)}jt.prototype={constructor:jt,recognize:function(t,e,i){return this._doTrack(t,e,i),this._recognize(t)},clear:function(){return this._track.length=0,this},_doTrack:function(t,e,i){var n=t.touches;if(n){for(var o={points:[],touches:[],target:e,event:t},a=0,r=n.length;an.getWidth()||i<0||i>n.getHeight()}te.prototype={constructor:te,setHandlerProxy:function(e){this.proxy&&this.proxy.dispose(),e&&(R(ee,function(t){e.on&&e.on(t,this[t],this)},this),e.handler=this),this.proxy=e},mousemove:function(t){var e=t.zrX,i=t.zrY,n=ne(this,e,i),o=this._hovered,a=o.target;a&&!a.__zr&&(a=(o=this.findHover(o.x,o.y)).target);var r=this._hovered=n?{x:e,y:i}:this.findHover(e,i),s=r.target,l=this.proxy;l.setCursor&&l.setCursor(s?s.cursor:"default"),a&&s!==a&&this.dispatchToElement(o,"mouseout",t),this.dispatchToElement(r,"mousemove",t),s&&s!==a&&this.dispatchToElement(r,"mouseover",t)},mouseout:function(t){var e=t.zrEventControl,i=t.zrIsToLocalDOM;"only_globalout"!==e&&this.dispatchToElement(this._hovered,"mouseout",t),"no_globalout"!==e&&(i||this.trigger("globalout",{type:"globalout",event:t}))},resize:function(t){this._hovered={}},dispatch:function(t,e){var i=this[t];i&&i.call(this,e)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},dispatchToElement:function(t,e,i){var n=(t=t||{}).target;if(!n||!n.silent){for(var o="on"+e,a=function(t,e,i){return{type:t,event:i,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:i.zrX,offsetY:i.zrY,gestureEvent:i.gestureEvent,pinchX:i.pinchX,pinchY:i.pinchY,pinchScale:i.pinchScale,wheelDelta:i.zrDelta,zrByTouch:i.zrByTouch,which:i.which,stop:Jt}}(e,t,i);n&&(n[o]&&(a.cancelBubble=n[o].call(n,a)),n.trigger(e,a),n=n.parent,!a.cancelBubble););a.cancelBubble||(this.trigger(e,a),this.painter&&this.painter.eachOtherLayer(function(t){"function"==typeof t[o]&&t[o].call(t,a),t.trigger&&t.trigger(e,a)}))}},findHover:function(t,e,i){for(var n=this.storage.getDisplayList(),o={x:t,y:e},a=n.length-1;0<=a;a--){var r;if(n[a]!==i&&!n[a].ignore&&(r=ie(n[a],t,e))&&(o.topTarget||(o.topTarget=n[a]),r!==$t)){o.target=n[a];break}}return o},processGesture:function(t,e){this._gestureMgr||(this._gestureMgr=new jt);var i=this._gestureMgr;"start"===e&&i.clear();var n=i.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if("end"===e&&i.clear(),n){var o=n.type;t.gestureEvent=o,this.dispatchToElement({target:n.target},o,n.event)}}},R(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(r){te.prototype[r]=function(t){var e,i,n=t.zrX,o=t.zrY,a=ne(this,n,o);if("mouseup"===r&&a||(i=(e=this.findHover(n,o)).target),"mousedown"===r)this._downEl=i,this._downPoint=[t.zrX,t.zrY],this._upEl=i;else if("mouseup"===r)this._upEl=i;else if("click"===r){if(this._downEl!==this._upEl||!this._downPoint||4=this._maxSize&&0>4|(3840&n)>>8,240&n|(240&n)>>4,15&n|(15&n)<<4,1),Ge(t,e),e):void Ee(e,0,0,0,1):7===o.length?0<=(n=parseInt(o.substr(1),16))&&n<=16777215?(Ee(e,(16711680&n)>>16,(65280&n)>>8,255&n,1),Ge(t,e),e):void Ee(e,0,0,0,1):void 0;var a=o.indexOf("("),r=o.indexOf(")");if(-1!==a&&r+1===o.length){var s=o.substr(0,a),l=o.substr(a+1,r-(a+1)).split(","),u=1;switch(s){case"rgba":if(4!==l.length)return void Ee(e,0,0,0,1);u=Ne(l.pop());case"rgb":return 3!==l.length?void Ee(e,0,0,0,1):(Ee(e,Pe(l[0]),Pe(l[1]),Pe(l[2]),u),Ge(t,e),e);case"hsla":return 4!==l.length?void Ee(e,0,0,0,1):(l[3]=Ne(l[3]),We(l,e),Ge(t,e),e);case"hsl":return 3!==l.length?void Ee(e,0,0,0,1):(We(l,e),Ge(t,e),e);default:return}}Ee(e,0,0,0,1)}}function We(t,e){var i=(parseFloat(t[0])%360+360)%360/360,n=Ne(t[1]),o=Ne(t[2]),a=o<=.5?o*(n+1):o+n-o*n,r=2*o-a;return Ee(e=e||[],Le(255*Oe(r,a,i+1/3)),Le(255*Oe(r,a,i)),Le(255*Oe(r,a,i-1/3)),1),4===t.length&&(e[3]=t[3]),e}function He(t,e){var i=Fe(t);if(i){for(var n=0;n<3;n++)i[n]=e<0?i[n]*(1-e)|0:(255-i[n])*e+i[n]|0,255e);i++);i=Math.min(i-1,u-2)}C=e;var n=g[(D=i)+1]-g[i];if(0!=n)if(S=(e-g[i])/n,l)if(I=m[i],M=m[0===i?i:i-1],T=m[u-2=i.x&&t<=i.x+i.width&&e>=i.y&&e<=i.y+i.height},clone:function(){return new Di(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},Di.create=function(t){return new Di(t.x,t.y,t.width,t.height)};var Ci=function(t){for(var e in t=t||{},_i.call(this,t),t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};Ci.prototype={constructor:Ci,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,i=0;i>>1])<0?l=a:s=1+a;var u=n-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;0>>1);0>>1);a(t,e[i+h])<0?l=h:r=h+1}return l}function Ei(p,g){var r,s,m=ki,l=0,v=[];function e(t){var e=r[t],i=s[t],n=r[t+1],o=s[t+1];s[t]=i+o,t===l-3&&(r[t+1]=r[t+2],s[t+1]=s[t+2]),l--;var a=Ri(p[n],p,e,i,0,g);e+=a,0!==(i-=a)&&0!==(o=Oi(p[e+i-1],p,n,o,o-1,g))&&(i<=o?function(t,e,i,n){var o=0;for(o=0;os[t+1])break;e(t)}},this.forceMergeRuns=function(){for(;1>=1;return t+e}(o);do{if((a=Pi(t,i,n,e))=e.maxIterations){t+=e.ellipsis;break}var s=0===r?bn(t,o,e.ascCharWidth,e.cnCharWidth):0f)return{lines:[],width:0,height:0};C.textWidth=pn(C.text,w);var S=x.textWidth,M=null==S||"auto"===S;if("string"==typeof S&&"%"===S.charAt(S.length-1))C.percentWidth=S,u.push(C),S=0;else{if(M){S=C.textWidth;var I=x.textBackgroundColor,T=I&&I.image;T&&sn(T=on(T))&&(S=Math.max(S,T.width*b/T.height))}var A=_?_[1]+_[3]:0;S+=A;var D=null!=d?d-v:null;null!=D&&Dn[0]){for(r=0;rt);r++);a=i[n[r]]}if(n.splice(r+1,0,t),!(i[t]=e).virtual)if(a){var l=a.dom;l.nextSibling?s.insertBefore(e.dom,l.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom)}else vi("Layer of zlevel "+t+" is not valid")},eachLayer:function(t,e){var i,n,o=this._zlevelList;for(n=0;n=a.length&&a.push({option:t})}}),a}function Zo(t){var r=Q();Ro(t,function(t,e){var i=t.exist;i&&r.set(i.id,t)}),Ro(t,function(t,e){var i=t.option;Y(!i||null==i.id||!r.get(i.id)||r.get(i.id)===t,"id duplicates: "+(i&&i.id)),i&&null!=i.id&&r.set(i.id,t),t.keyInfo||(t.keyInfo={})}),Ro(t,function(t,e){var i=t.exist,n=t.option,o=t.keyInfo;if(Eo(n)){if(o.name=null!=n.name?n.name+"":i?i.name:Bo+e,i)o.id=i.id;else if(null!=n.id)o.id=n.id+"";else for(var a=0;o.id="\0"+o.name+"\0"+a++,r.get(o.id););r.set(o.id,t)}})}function Uo(t){var e=t.name;return!(!e||!e.indexOf(Bo))}function Xo(t){return Eo(t)&&t.id&&0===(t.id+"").indexOf("\0_ec_\0")}function Yo(e,t){return null!=t.dataIndexInside?t.dataIndexInside:null!=t.dataIndex?L(t.dataIndex)?O(t.dataIndex,function(t){return e.indexOfRawIndex(t)}):e.indexOfRawIndex(t.dataIndex):null!=t.name?L(t.name)?O(t.name,function(t){return e.indexOfName(t)}):e.indexOfName(t.name):void 0}function jo(){var e="__\0ec_inner_"+qo+++"_"+Math.random().toFixed(5);return function(t){return t[e]||(t[e]={})}}var qo=0;function Ko(s,l,u){if(E(l)){var t={};t[l+"Index"]=0,l=t}var e=u&&u.defaultMainType;!e||$o(l,e+"Index")||$o(l,e+"Id")||$o(l,e+"Name")||(l[e+"Index"]=0);var h={};return Ro(l,function(t,e){t=l[e];if("dataIndex"!==e&&"dataIndexInside"!==e){var i=e.match(/^(\w+)(Index|Id|Name)$/)||[],n=i[1],o=(i[2]||"").toLowerCase();if(!(!n||!o||null==t||"index"===o&&"none"===t||u&&u.includeMainTypes&&_(u.includeMainTypes,n)<0)){var a={mainType:n};"index"===o&&"all"===t||(a[o]=t);var r=s.queryComponents(a);h[n+"Models"]=r,h[n+"Model"]=r[0]}}else h[e]=t}),h}function $o(t,e){return t&&t.hasOwnProperty(e)}function Jo(t,e,i){t.setAttribute?t.setAttribute(e,i):t[e]=i}function Qo(t){return"auto"===t?v.domSupported?"html":"richText":t||"html"}function ta(t,i){var n=Q(),o=[];return R(t,function(t){var e=i(t);(n.get(e)||(o.push(e),n.set(e,[]))).push(t)}),{keys:o,buckets:n}}var ea=".",ia="___EC__COMPONENT__CONTAINER___";function na(t){var e={main:"",sub:""};return t&&(t=t.split(ea),e.main=t[0]||"",e.sub=t[1]||""),e}function oa(t){(t.$constructor=t).extend=function(t){function e(){t.$constructor?t.$constructor.apply(this,arguments):i.apply(this,arguments)}var i=this;return P(e.prototype,t),e.extend=this.extend,e.superCall=sa,e.superApply=la,w(e,this),e.superClass=i,e}}var aa=0;function ra(t){var e=["__\0is_clz",aa++,Math.random().toFixed(3)].join("_");t.prototype[e]=!0,t.isInstance=function(t){return!(!t||!t[e])}}function sa(t,e){var i=U(arguments,2);return this.superClass.prototype[e].apply(t,i)}function la(t,e,i){return this.superClass.prototype[e].apply(t,i)}function ua(i,t){t=t||{};var o={};if(i.registerClass=function(t,e){if(e)if(function(t){Y(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t),'componentType "'+t+'" illegal')}(e),(e=na(e)).sub){if(e.sub!==ia){(function(t){var e=o[t.main];e&&e[ia]||((e=o[t.main]={})[ia]=!0);return e})(e)[e.sub]=t}}else o[e.main]=t;return t},i.getClass=function(t,e,i){var n=o[t];if(n&&n[ia]&&(n=e?n[e]:null),i&&!n)throw new Error(e?"Component "+t+"."+(e||"")+" not exists. Load it first.":t+".type should be specified.");return n},i.getClassesByMainType=function(t){t=na(t);var i=[],e=o[t.main];return e&&e[ia]?R(e,function(t,e){e!==ia&&i.push(t)}):i.push(e),i},i.hasClass=function(t){return t=na(t),!!o[t.main]},i.getAllClassMainTypes=function(){var i=[];return R(o,function(t,e){i.push(e)}),i},i.hasSubTypes=function(t){t=na(t);var e=o[t.main];return e&&e[ia]},i.parseClassType=na,t.registerWhenExtend){var n=i.extend;n&&(i.extend=function(t){var e=n.call(this,t);return i.registerClass(e,t.type)})}return i}function ha(s){for(var t=0;tthis._ux||or(e-this._yi)>this._uy||this._len<5;return this.addData(ja.L,t,e),this._ctx&&i&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),i&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,i,n,o,a){return this.addData(ja.C,t,e,i,n,o,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,i,n,o,a):this._ctx.bezierCurveTo(t,e,i,n,o,a)),this._xi=o,this._yi=a,this},quadraticCurveTo:function(t,e,i,n){return this.addData(ja.Q,t,e,i,n),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,i,n):this._ctx.quadraticCurveTo(t,e,i,n)),this._xi=i,this._yi=n,this},arc:function(t,e,i,n,o,a){return this.addData(ja.A,t,e,i,i,n,o-n,0,a?0:1),this._ctx&&this._ctx.arc(t,e,i,n,o,a),this._xi=er(o)*i+t,this._yi=ir(o)*i+e,this},arcTo:function(t,e,i,n,o){return this._ctx&&this._ctx.arcTo(t,e,i,n,o),this},rect:function(t,e,i,n){return this._ctx&&this._ctx.rect(t,e,i,n),this.addData(ja.R,t,e,i,n),this},closePath:function(){this.addData(ja.Z);var t=this._ctx,e=this._x0,i=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,i),t.closePath()),this._xi=e,this._yi=i,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t;for(var e=this._dashIdx=0,i=0;ie.length&&(this._expandData(),e=this.data);for(var i=0;il||or(r-o)>u||c===h-1)&&(t.lineTo(a,r),n=a,o=r);break;case ja.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case ja.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case ja.A:var f=s[c++],p=s[c++],g=s[c++],m=s[c++],v=s[c++],y=s[c++],x=s[c++],_=s[c++],w=m=yr[n=0]+t&&r<=yr[1]+t?h:0}if(a){l=n;n=cr(o),o=cr(l)}else n=cr(n),o=cr(o);oMath.PI/2&&p<1.5*Math.PI&&(h=-h),c+=h)}}return c}function Sr(t,e,i,n,o){for(var a=0,r=0,s=0,l=0,u=0,h=0;hMath.abs(a[1])?0=e[1])return i[1]}else{if(t>=e[0])return i[0];if(t<=e[1])return i[1]}else{if(t===e[0])return i[0];if(t===e[1])return i[1]}return(t-e[0])/o*a+i[0]}function El(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return"string"==typeof t?function(t){return t.replace(/^\s+|\s+$/g,"")}(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t}function zl(t,e,i){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),i?t:+t}function Bl(t){return t.sort(function(t,e){return t-e}),t}function Vl(t){if(t=+t,isNaN(t))return 0;for(var e=1,i=0;Math.round(t*e)/e!==t;)e*=10,i++;return i}function Gl(t){var e=t.toString(),i=e.indexOf("e");if(0h&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/o}var Hl=9007199254740991;function Zl(t){var e=2*Math.PI;return(t%e+e)%e}function Ul(t){return-Ol"'])/g,ou={"&":"&","<":"<",">":">",'"':""","'":"'"};function au(t){return null==t?"":(t+"").replace(nu,function(t,e){return ou[e]})}function ru(t,e){return"{"+t+(null==e?"":e)+"}"}var su=["a","b","c","d","e","f","g"];function lu(t,e,i){L(e)||(e=[e]);var n=e.length;if(!n)return"";for(var o=e[0].$vars||[],a=0;a':'':{renderMode:o,content:"{marker"+a+"|} ",style:{color:i}}:""}function cu(t,e){return"0000".substr(0,e-(t+="").length)+t}function du(t,e,i){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var n=Yl(e),o=i?"UTC":"",a=n["get"+o+"FullYear"](),r=n["get"+o+"Month"]()+1,s=n["get"+o+"Date"](),l=n["get"+o+"Hours"](),u=n["get"+o+"Minutes"](),h=n["get"+o+"Seconds"](),c=n["get"+o+"Milliseconds"]();return t=t.replace("MM",cu(r,2)).replace("M",r).replace("yyyy",a).replace("yy",a%100).replace("dd",cu(s,2)).replace("d",s).replace("hh",cu(l,2)).replace("h",l).replace("mm",cu(u,2)).replace("m",u).replace("ss",cu(h,2)).replace("s",h).replace("SSS",cu(c,3))}function fu(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}var pu=xn;function gu(t,e){if("_blank"===e||"blank"===e){var i=window.open();i.opener=null,i.location=t}else window.open(t,e)}var mu=(Object.freeze||Object)({addCommas:tu,toCamelCase:eu,normalizeCssArray:iu,encodeHTML:au,formatTpl:lu,formatTplSimple:uu,getTooltipMarker:hu,formatTime:du,capitalFirst:fu,truncateText:pu,getTextBoundingRect:function(t){return gn(t.text,t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich,t.truncate)},getTextRect:function(t,e,i,n,o,a,r,s){return gn(t,e,i,n,o,s,a,r)},windowOpen:gu}),vu=R,yu=["left","right","top","bottom","width","height"],xu=[["width","left","right"],["height","top","bottom"]];function _u(h,c,d,f,p){var g=0,m=0;null==f&&(f=1/0),null==p&&(p=1/0);var v=0;c.eachChild(function(t,e){var i,n,o=t.position,a=t.getBoundingRect(),r=c.childAt(e+1),s=r&&r.getBoundingRect();if("horizontal"===h){var l=a.width+(s?-s.x+a.x:0);v=f<(i=g+l)||t.newline?(g=0,i=l,m+=v+d,a.height):Math.max(v,a.height)}else{var u=a.height+(s?-s.y+a.y:0);v=p<(n=m+u)||t.newline?(g+=v+d,m=0,n=u,a.width):Math.max(v,a.width)}t.newline||(o[0]=g,o[1]=m,"horizontal"===h?g=i+d:m=n+d)})}var wu=_u;T(_u,"vertical"),T(_u,"horizontal");function bu(t,e,i){i=iu(i||0);var n=e.width,o=e.height,a=El(t.left,n),r=El(t.top,o),s=El(t.right,n),l=El(t.bottom,o),u=El(t.width,n),h=El(t.height,o),c=i[2]+i[0],d=i[1]+i[3],f=t.aspect;switch(isNaN(u)&&(u=n-s-d-a),isNaN(h)&&(h=o-l-c-r),null!=f&&(isNaN(u)&&isNaN(h)&&(n/oe)return t[n];return t[i-1]}(s,i):r;if((l=l||r)&&l.length){var u=l[o];return t&&(a[t]=u),n.colorIdx=(o+1)%l.length,u}}},zu="original",Bu="arrayRows",Vu="objectRows",Gu="keyedColumns",Fu="unknown",Wu="typedArray",Hu="column",Zu="row";function Uu(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===Gu?{}:[]),this.sourceFormat=t.sourceFormat||Fu,this.seriesLayoutBy=t.seriesLayoutBy||Hu,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&Q(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}Uu.seriesDataToSource=function(t){return new Uu({data:t,sourceFormat:V(t)?Wu:zu,fromDataset:!1})},ra(Uu);var Xu={Must:1,Might:2,Not:3},Yu=jo();function ju(t){var e=t.option,i=e.data,n=V(i)?Wu:zu,o=!1,a=e.seriesLayoutBy,r=e.sourceHeader,s=e.dimensions,l=Qu(t);if(l){var u=l.option;i=u.source,n=Yu(l).sourceFormat,o=!0,a=a||u.seriesLayoutBy,null==r&&(r=u.sourceHeader),s=s||u.dimensions}var h=function(t,e,i,n,o){if(!t)return{dimensionsDefine:qu(o)};var a,r;if(e===Bu)"auto"===n||null==n?Ku(function(t){null!=t&&"-"!==t&&(E(t)?null==r&&(r=1):r=0)},i,t,10):r=n?1:0,o||1!==r||(o=[],Ku(function(t,e){o[e]=null!=t?t:""},i,t)),a=o?o.length:i===Zu?t.length:t[0]?t[0].length:null;else if(e===Vu)o=o||function(t){var e,i=0;for(;i":"\n",f="richText"===c,p={},g=0;function i(t){return{renderMode:c,content:au(tu(t)),style:p}}var m=this.getData(),a=m.mapDimension("defaultedTooltip",!0),n=a.length,r=this.getRawValue(o),s=L(r),v=m.getItemVisual(o,"color");z(v)&&v.colorStops&&(v=(v.colorStops[0]||{}).color),v=v||"transparent";var l=(1":"",n=i+u.join(i||", ");return{renderMode:c,content:n,style:p}}(r):i(n?Hh(m,o,a[0]):s?r[0]:r)).content,u=d.seriesIndex+"at"+g,y=hu({color:v,type:"item",renderMode:c,markerId:u});p[u]=v,++g;var x=m.getName(o),_=this.name;Uo(this)||(_=""),_=_?au(_)+(h?": ":e):"";var w="string"==typeof y?y:y.content;return{html:h?w+_+l:_+w+(x?au(x)+": "+l:l),markers:p}},isAnimationEnabled:function(){if(v.node)return!1;var t=this.getShallow("animation");return t&&this.getData().count()>this.getShallow("animationThreshold")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,i){var n=this.ecModel,o=Eu.getColorFromPalette.call(this,t,e,i);return o=o||n.getColorFromPalette(t,e,i)},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});function lc(t){var e=t.name;Uo(t)||(t.name=function(t){var i=t.getRawData(),e=i.mapDimension("seriesName",!0),n=[];return R(e,function(t){var e=i.getDimensionInfo(t);e.displayName&&n.push(e.displayName)}),n.join(" ")}(t)||e)}function uc(t){return t.model.getRawData().count()}function hc(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),cc}function cc(t,e){e.outputData&&t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function dc(e,i){R(e.CHANGABLE_METHODS,function(t){e.wrapMethod(t,T(fc,i))})}function fc(t){var e=pc(t);e&&e.setOutputEnd(this.count())}function pc(t){var e=(t.ecModel||{}).scheduler,i=e&&e.getPipeline(t.uid);if(i){var n=i.currentTask;if(n){var o=n.agentStubMap;o&&(n=o.get(t.uid))}return n}}b(sc,Xh),b(sc,Eu);var gc=function(){this.group=new Ci,this.uid=Nl("viewComponent")};gc.prototype={constructor:gc,init:function(t,e){},render:function(t,e,i,n){},dispose:function(){},filterForExposedEvent:null};var mc=gc.prototype;mc.updateView=mc.updateLayout=mc.updateVisual=function(t,e,i,n){},oa(gc),ua(gc,{registerWhenExtend:!0});function vc(){var s=jo();return function(t){var e=s(t),i=t.pipelineContext,n=e.large,o=e.progressiveRender,a=e.large=i&&i.large,r=e.progressiveRender=i&&i.progressiveRender;return!!(n^a||o^r)&&"reset"}}var yc=jo(),xc=vc();function _c(){this.group=new Ci,this.uid=Nl("viewChart"),this.renderTask=Yh({plan:Mc,reset:Ic}),this.renderTask.context={view:this}}var wc=_c.prototype={type:"chart",init:function(t,e){},render:function(t,e,i,n){},highlight:function(t,e,i,n){Sc(t.getData(),n,"emphasis")},downplay:function(t,e,i,n){Sc(t.getData(),n,"normal")},remove:function(t,e){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};function bc(t,e,i){if(t&&(t.trigger(e,i),t.isGroup&&!Qs(t)))for(var n=0,o=t.childCount();nc?i+=p(g("data.partialData"),{displayCnt:c}):i+=g("data.allData");for(var r=[],s=0;si.blockIndex?i.step:null,a=n&&n.modDataCount;return{step:o,modBy:null!=a?Math.ceil(a/o):null,modDataCount:a}}},Bc.getPipeline=function(t){return this._pipelineMap.get(t)},Bc.updateStreamModes=function(t,e){var i=this._pipelineMap.get(t.uid),n=t.getData().count(),o=i.progressiveEnabled&&e.incrementalPrepareRender&&n>=i.threshold,a=t.get("large")&&n>=t.get("largeThreshold"),r="mod"===t.get("progressiveChunkMode")?n:null;t.pipelineContext=i.context={progressiveRender:o,modDataCount:r,large:a}},Bc.restorePipelines=function(t){var n=this,o=n._pipelineMap=Q();t.eachSeries(function(t){var e=t.getProgressive(),i=t.uid;o.set(i,{id:i,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:e&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(e||700),count:0}),Kc(n,t,t.dataTask)})},Bc.prepareStageTasks=function(){var i=this._stageTaskMap,n=this.ecInstance.getModel(),o=this.api;R(this._allHandlers,function(t){var e=i.get(t.uid)||i.set(t.uid,[]);t.reset&&function(n,o,t,a,r){var s=t.seriesTaskMap||(t.seriesTaskMap=Q()),e=o.seriesType,i=o.getTargetSeries;o.createOnAllSeries?a.eachRawSeries(l):e?a.eachRawSeriesByType(e,l):i&&i(a,r).each(l);function l(t){var e=t.uid,i=s.get(e)||s.set(e,Yh({plan:Uc,reset:Xc,count:qc}));i.context={model:t,ecModel:a,api:r,useClearVisual:o.isVisual&&!o.isLayout,plan:o.plan,reset:o.reset,scheduler:n},Kc(n,t,i)}var u=n._pipelineMap;s.each(function(t,e){u.get(e)||(t.dispose(),s.removeKey(e))})}(this,t,e,n,o),t.overallReset&&function(n,t,e,i,o){var a=e.overallTask=e.overallTask||Yh({reset:Fc});a.context={ecModel:i,api:o,overallReset:t.overallReset,scheduler:n};var r=a.agentStubMap=a.agentStubMap||Q(),s=t.seriesType,l=t.getTargetSeries,u=!0,h=t.modifyOutputEnd;s?i.eachRawSeriesByType(s,c):l?l(i,o).each(c):(u=!1,R(i.getSeries(),c));function c(t){var e=t.uid,i=r.get(e);i||(i=r.set(e,Yh({reset:Wc,onDirty:Zc})),a.dirty()),i.context={model:t,overallProgress:u,modifyOutputEnd:h},i.agent=a,i.__block=u,Kc(n,t,i)}var d=n._pipelineMap;r.each(function(t,e){d.get(e)||(t.dispose(),a.dirty(),r.removeKey(e))})}(this,t,e,n,o)},this)},Bc.prepareView=function(t,e,i,n){var o=t.renderTask,a=o.context;a.model=e,a.ecModel=i,a.api=n,o.__block=!t.incrementalPrepareRender,Kc(this,e,o)},Bc.performDataProcessorTasks=function(t,e){Vc(this,this._dataProcessorHandlers,t,e,{block:!0})},Bc.performVisualTasks=function(t,e,i){Vc(this,this._visualHandlers,t,e,i)},Bc.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},Bc.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})};var Gc=Bc.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)};function Fc(t){t.overallReset(t.ecModel,t.api,t.payload)}function Wc(t,e){return t.overallProgress&&Hc}function Hc(){this.agent.dirty(),this.getDownstream().dirty()}function Zc(){this.agent&&this.agent.dirty()}function Uc(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function Xc(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=Vo(t.reset(t.model,t.ecModel,t.api,t.payload));return 1'+t.dom+""}),p.painter.getSvgRoot().innerHTML=g,o.connectedBackgroundColor&&p.painter.setBackgroundColor(o.connectedBackgroundColor),p.refreshImmediately(),p.painter.toDataURL()}return o.connectedBackgroundColor&&p.add(new rs({shape:{x:0,y:0,width:t,height:e},style:{fill:o.connectedBackgroundColor}})),Td(f,function(t){var e=new Qn({style:{x:t.left*i-u,y:t.top*i-h,image:t.dom}});p.add(e)}),p.refreshImmediately(),n.toDataURL("image/"+(o&&o.type||"png"))}return this.getDataURL(o)}},zd.convertToPixel=T(Bd,"convertToPixel"),zd.convertFromPixel=T(Bd,"convertFromPixel"),zd.containPixel=function(t,o){var a;if(!this._disposed)return R(t=Ko(this._model,t),function(t,n){0<=n.indexOf("Models")&&R(t,function(t){var e=t.coordinateSystem;if(e&&e.containPoint)a|=!!e.containPoint(o);else if("seriesModels"===n){var i=this._chartsMap[t.__viewId];i&&i.containPoint&&(a|=i.containPoint(o,t))}},this)},this),!!a},zd.getVisual=function(t,e){var i=(t=Ko(this._model,t,{defaultMainType:"series"})).seriesModel.getData(),n=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?i.indexOfRawIndex(t.dataIndex):null;return null!=n?i.getItemVisual(n,e):i.getVisual(e)},zd.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},zd.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var Vd={prepareAndUpdate:function(t){Gd(this),Vd.update.call(this,t)},update:function(t){var e=this._model,i=this._api,n=this._zr,o=this._coordSysMgr,a=this._scheduler;if(e){a.restoreData(e,t),a.performSeriesTasks(e),o.create(e,i),a.performDataProcessorTasks(e,t),Wd(this,e),o.update(e,i),Yd(e),a.performVisualTasks(e,t),jd(this,e,i,t);var r=e.get("backgroundColor")||"transparent";if(v.canvasSupported)n.setBackgroundColor(r);else{var s=Fe(r);r=$e(s,"rgb"),0===s[3]&&(r="transparent")}Kd(e,i)}},updateTransform:function(o){var a=this._model,r=this,s=this._api;if(a){var l=[];a.eachComponent(function(t,e){var i=r.getViewOfComponentModel(e);if(i&&i.__alive)if(i.updateTransform){var n=i.updateTransform(e,a,s,o);n&&n.update&&l.push(i)}else l.push(i)});var n=Q();a.eachSeries(function(t){var e=r._chartsMap[t.__viewId];if(e.updateTransform){var i=e.updateTransform(t,a,s,o);i&&i.update&&n.set(t.uid,1)}else n.set(t.uid,1)}),Yd(a),this._scheduler.performVisualTasks(a,o,{setDirty:!0,dirtyMap:n}),qd(r,a,s,o,n),Kd(a,this._api)}},updateView:function(t){var e=this._model;e&&(_c.markUpdateMethod(t,"updateView"),Yd(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),jd(this,this._model,this._api,t),Kd(e,this._api))},updateVisual:function(t){Vd.update.call(this,t)},updateLayout:function(t){Vd.update.call(this,t)}};function Gd(t){var e=t._model,i=t._scheduler;i.restorePipelines(e),i.prepareStageTasks(),Xd(t,"component",e,i),Xd(t,"chart",e,i),i.plan()}function Fd(e,i,n,o,t){var a=e._model;if(o){var r={};r[o+"Id"]=n[o+"Id"],r[o+"Index"]=n[o+"Index"],r[o+"Name"]=n[o+"Name"];var s={mainType:o,query:r};t&&(s.subType=t);var l=n.excludeSeriesId;null!=l&&(l=Q(Vo(l))),a&&a.eachComponent(s,function(t){l&&null!=l.get(t.id)||u(e["series"===o?"_chartsMap":"_componentsMap"][t.__viewId])},e)}else Td(e._componentsViews.concat(e._chartsViews),u);function u(t){t&&t.__alive&&t[i]&&t[i](t.__model,a,e._api,n)}}function Wd(t,e){var i=t._chartsMap,n=t._scheduler;e.eachSeries(function(t){n.updateStreamModes(t,i[t.__viewId])})}function Hd(e,t){var i=e.type,n=e.escapeConnect,o=tf[i],a=o.actionInfo,r=(a.update||"update").split(":"),s=r.pop();r=null!=r[0]&&Cd(r[0]),this[kd]=!0;var l=[e],u=!1;e.batch&&(u=!0,l=O(e.batch,function(t){return(t=D(P({},t),e)).batch=null,t}));var h,c=[],d="highlight"===i||"downplay"===i;Td(l,function(t){(h=(h=o.action(t,this._model,this._api))||P({},t)).type=a.event||h.type,c.push(h),d?Fd(this,s,t,"series"):r&&Fd(this,s,t,r.main,r.sub)},this),"none"===s||d||r||(this[Pd]?(Gd(this),Vd.update.call(this,e),this[Pd]=!1):Vd[s].call(this,e)),h=u?{type:a.event||i,escapeConnect:n,batch:c}:c[0],this[kd]=!1,t||this._messageCenter.trigger(h.type,h)}function Zd(t){for(var e=this._pendingActions;e.length;){var i=e.shift();Hd.call(this,i,t)}}function Ud(t){t||this.trigger("updated")}function Xd(t,e,o,a){for(var r="component"===e,s=r?t._componentsViews:t._chartsViews,l=r?t._componentsMap:t._chartsMap,u=t._zr,h=t._api,i=0;it.get("hoverLayerThreshold")&&!v.node&&t.eachSeries(function(t){if(!t.preventUsingHoverLayer){var e=i._chartsMap[t.__viewId];e.__alive&&e.group.traverse(function(t){t.useHoverLayer=!0})}})}(n,t),Rc(n._zr.dom,t)}function Kd(e,i){Td(af,function(t){t(e,i)})}zd.resize=function(t){if(!this._disposed){this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var i=e.resetOption("media"),n=t&&t.silent;this[kd]=!0,i&&Gd(this),Vd.update.call(this),this[kd]=!1,Zd.call(this,n),Ud.call(this,n)}}},zd.showLoading=function(t,e){if(!this._disposed&&(Dd(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),lf[t])){var i=lf[t](this._api,e),n=this._zr;this._loadingFX=i,n.add(i)}},zd.hideLoading=function(){this._disposed||(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)},zd.makeActionFromEvent=function(t){var e=P({},t);return e.type=ef[t.type],e},zd.dispatchAction=function(t,e){this._disposed||(Dd(e)||(e={silent:!!e}),tf[t.type]&&this._model&&(this[kd]?this._pendingActions.push(t):(Hd.call(this,t,e.silent),e.flush?this._zr.flush(!0):!1!==e.flush&&v.browser.weChat&&this._throttledZrFlush(),Zd.call(this,e.silent),Ud.call(this,e.silent))))},zd.appendData=function(t){if(!this._disposed){var e=t.seriesIndex;this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0}},zd.on=Od("on",!1),zd.off=Od("off",!1),zd.one=Od("one",!1);var $d=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];function Jd(t,e){var i=t.get("z"),n=t.get("zlevel");e.group.traverse(function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=n&&(t.zlevel=n))})}function Qd(){this.eventInfo}zd._initEvents=function(){Td($d,function(u){function t(t){var e,i=this.getModel(),n=t.target;if("globalout"===u)e={};else if(n&&null!=n.dataIndex){var o=n.dataModel||i.getSeriesByIndex(n.seriesIndex);e=o&&o.getDataParams(n.dataIndex,n.dataType,n)||{}}else n&&n.eventData&&(e=P({},n.eventData));if(e){var a=e.componentType,r=e.componentIndex;"markLine"!==a&&"markPoint"!==a&&"markArea"!==a||(a="series",r=e.seriesIndex);var s=a&&null!=r&&i.getComponent(a,r),l=s&&this["series"===s.mainType?"_chartsMap":"_componentsMap"][s.__viewId];e.event=t,e.type=u,this._ecEventProcessor.eventInfo={targetEl:n,packedEvent:e,model:s,view:l},this.trigger(u,e)}}t.zrEventfulCallAtLast=!0,this._zr.on(u,t,this)},this),Td(ef,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},zd.isDisposed=function(){return this._disposed},zd.clear=function(){this._disposed||this.setOption({series:[]},!0)},zd.dispose=function(){if(!this._disposed){this._disposed=!0,Jo(this.getDom(),ff,"");var e=this._api,i=this._model;Td(this._componentsViews,function(t){t.dispose(i,e)}),Td(this._chartsViews,function(t){t.dispose(i,e)}),this._zr.dispose(),delete uf[this.id]}},b(Ed,Ct),Qd.prototype={constructor:Qd,normalizeQuery:function(t){var s={},l={},u={};if(E(t)){var e=Cd(t);s.mainType=e.main||null,s.subType=e.sub||null}else{var h=["Index","Name","Id"],c={name:1,dataIndex:1,dataType:1};R(t,function(t,e){for(var i=!1,n=0;nx[1]&&(x[1]=y)}e&&(this._nameList[d]=e[f])}this._rawCount=this._count=l,this._extent={},Kf(this)},jf._initDataFromProvider=function(t,e){if(!(e<=t)){for(var i,n=this._chunkSize,o=this._rawData,a=this._storage,r=this.dimensions,s=r.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=0;pM[1]&&(M[1]=S)}if(!o.pure){var I=u[v];if(m&&null==I)if(null!=m.name)u[v]=I=m.name;else if(null!=i){var T=r[i],A=a[T][y];if(A){I=A[x];var D=l[T].ordinalMeta;D&&D.categories.length&&(I=D.categories[I])}}var C=null==m?null:m.id;null==C&&null!=I&&(d[I]=d[I]||0,0=this._rawCount||t<0)return-1;if(!this._indices)return t;var e=this._indices,i=e[t];if(null!=i&&it))return a;o=a-1}}return-1},jf.indicesOfNearest=function(t,e,i){var n=[];if(!this._storage[t])return n;null==i&&(i=1/0);for(var o=1/0,a=-1,r=0,s=0,l=this.count();st[I][1])&&(M=!1)}M&&(a[r++]=this.getRawIndex(m))}return rw[1]&&(w[1]=_)}}}return o},jf.downSample=function(t,e,i,n){for(var o=ip(this,[t]),a=o._storage,r=[],s=Math.floor(1/e),l=a[t],u=this.count(),h=this._chunkSize,c=o._rawExtent[t],d=new(Hf(this))(u),f=0,p=0;pc[1]&&(c[1]=x),d[f++]=_}return o._count=f,o._indices=d,o.getRawIndex=Qf,o},jf.getItemModel=function(t){var e=this.hostModel;return new Cl(this.getRawDataItem(t),e,e&&e.ecModel)},jf.diff=function(e){var i=this;return new kf(e?e.getIndices():[],this.getIndices(),function(t){return tp(e,t)},function(t){return tp(i,t)})},jf.getVisual=function(t){var e=this._visual;return e&&e[t]},jf.setVisual=function(t,e){if(zf(t))for(var i in t)t.hasOwnProperty(i)&&this.setVisual(i,t[i]);else this._visual=this._visual||{},this._visual[t]=e},jf.setLayout=function(t,e){if(zf(t))for(var i in t)t.hasOwnProperty(i)&&this.setLayout(i,t[i]);else this._layout[t]=e},jf.getLayout=function(t){return this._layout[t]},jf.getItemLayout=function(t){return this._itemLayouts[t]},jf.setItemLayout=function(t,e,i){this._itemLayouts[t]=i?P(this._itemLayouts[t]||{},e):e},jf.clearItemLayouts=function(){this._itemLayouts.length=0},jf.getItemVisual=function(t,e,i){var n=this._itemVisuals[t],o=n&&n[e];return null!=o||i?o:this.getVisual(e)},jf.setItemVisual=function(t,e,i){var n=this._itemVisuals[t]||{},o=this.hasItemVisual;if(this._itemVisuals[t]=n,zf(e))for(var a in e)e.hasOwnProperty(a)&&(n[a]=e[a],o[a]=!0);else n[e]=i,o[e]=!0},jf.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};function ap(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType}function rp(t,e,i){Uu.isInstance(e)||(e=Uu.seriesDataToSource(e)),i=i||{},t=(t||[]).slice();for(var n=(i.dimsDef||[]).slice(),o=Q(),a=Q(),l=[],r=function(t,e,i,n){var o=Math.max(t.dimensionsDetectCount||1,e.length,i.length,n||0);return R(e,function(t){var e=t.dimsDef;e&&(o=Math.max(o,e.length))}),o}(e,t,n,i.dimCount),s=0;s=e[0]&&t<=e[1]},mp.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},mp.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},mp.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1])},mp.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},mp.prototype.getExtent=function(){return this._extent.slice()},mp.prototype.setExtent=function(t,e){var i=this._extent;isNaN(t)||(i[0]=t),isNaN(e)||(i[1]=e)},mp.prototype.isBlank=function(){return this._isBlank},mp.prototype.setBlank=function(t){this._isBlank=t},mp.prototype.getLabel=null,oa(mp),ua(mp,{registerWhenExtend:!0}),vp.createByAxisModel=function(t){var e=t.option,i=e.data,n=i&&O(i,_p);return new vp({categories:n,needCollect:!n,deduplication:!1!==e.dedplication})};var yp=vp.prototype;function xp(t){return t._map||(t._map=Q(t.categories))}function _p(t){return z(t)&&null!=t.value?t.value:t+""}yp.getOrdinal=function(t){return xp(this).get(t)},yp.parseAndCollect=function(t){var e,i=this._needCollect;if("string"!=typeof t&&!i)return t;if(i&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var n=xp(this);return null==(e=n.get(t))&&(i?(e=this.categories.length,this.categories[e]=t,n.set(t,e)):e=NaN),e};var wp=mp.prototype,bp=mp.extend({type:"ordinal",init:function(t,e){t&&!L(t)||(t=new vp({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return"string"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),wp.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return wp.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(wp.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,i=e[0];i<=e[1];)t.push(i),i++;return t},getLabel:function(t){if(!this.isBlank())return this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:et,niceExtent:et});bp.create=function(){return new bp};var Sp=zl;function Mp(t){return Gl(t)+2}function Ip(t,e,i){t[e]=Math.max(Math.min(t[e],i[1]),i[0])}function Tp(t,e){isFinite(t[0])||(t[0]=e[0]),isFinite(t[1])||(t[1]=e[1]),Ip(t,0,e),Ip(t,1,e),t[0]>t[1]&&(t[0]=t[1])}var Ap=zl,Dp=mp.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var i=this._extent;isNaN(t)||(i[0]=parseFloat(t)),isNaN(e)||(i[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),Dp.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Mp(t)},getTicks:function(t){var e=this._interval,i=this._extent,n=this._niceExtent,o=this._intervalPrecision,a=[];if(!e)return a;i[0]s&&(t?a.push(Ap(s+e,o)):a.push(i[1])),a},getMinorTicks:function(t){for(var e=this.getTicks(!0),i=[],n=this.getExtent(),o=1;on[0]&&h>>1;t[o][1]>1^-(1&s),l=l>>1^-(1&l),o=s+=o,a=l+=a,n.push([s/i,l/i])}return n}Ag.prototype={constructor:Ag,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,i=[e,e],n=[-e,-e],o=[],a=[],r=this.geometries,s=0;ss[1];d(e[0].coord,s[0])&&(n?e[0].coord=s[0]:e.shift());n&&d(s[0],e[0].coord)&&e.unshift({coord:s[0]});d(s[1],a.coord)&&(n?a.coord=s[1]:e.pop());n&&d(a.coord,s[1])&&e.push({coord:s[1]});function d(t,e){return t=zl(t),e=zl(e),c?en[0]&&(n[0]=a[0]),a[1]>n[1]&&(n[1]=a[1])}return{min:e?i:n,max:e?n:i}}var xm=Ar.extend({type:"ec-polyline",shape:{points:[],smooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},style:{fill:null,stroke:"#000"},brush:Xr(Ar.prototype.brush),buildPath:function(t,e){var i=e.points,n=0,o=i.length,a=ym(i,e.smoothConstraint);if(e.connectNulls){for(;0n)return!1;return!0}(a,e))){var r=e.mapDimension(a.dim),s={};return R(a.getViewLabels(),function(t){s[t.tickValue]=1}),function(t){return!s.hasOwnProperty(e.get(r,t))}}}}function Cm(t,e,i){if("cartesian2d"!==t.type)return bm(t,e,i);var n=t.getBaseAxis().isHorizontal(),o=wm(t,e,i);if(!i.get("clip",!0)){var a=o.shape,r=Math.max(a.width,a.height);n?(a.y-=r,a.height+=2*r):(a.x-=r,a.width+=2*r)}return o}_c.extend({type:"line",init:function(){var t=new Ci,e=new im;this.group.add(e.group),this._symbolDraw=e,this._lineGroup=t},render:function(t,e,i){var n=t.coordinateSystem,o=this.group,a=t.getData(),r=t.getModel("lineStyle"),s=t.getModel("areaStyle"),l=a.mapArray(a.getItemLayout),u="polar"===n.type,h=this._coordSys,c=this._symbolDraw,d=this._polyline,f=this._polygon,p=this._lineGroup,g=t.get("animation"),m=!s.isEmpty(),v=s.get("origin"),y=function(t,e,i){if(!i.valueDim)return[];for(var n=[],o=0,a=e.count();oh[c-1].coord&&(h.reverse(),d.reverse());var f=h[0].coord-10,p=h[c-1].coord+10,g=p-f;if(g<.001)return"transparent";R(h,function(t){t.offset=(t.coord-f)/g}),h.push({offset:c?h[c-1].offset:.5,color:d[1]||"transparent"}),h.unshift({offset:c?h[0].offset:.5,color:d[0]||"transparent"});var m=new gs(0,0,0,0,h,!0);return m[n]=f,m[n+"2"]=p,m}}}(a,n)||a.getVisual("color");d.useStyle(D(r.getLineStyle(),{fill:"none",stroke:M,lineJoin:"bevel"}));var I=t.get("smooth");if(I=Tm(t.get("smooth")),d.setShape({smooth:I,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")}),f){var T=a.getCalculationInfo("stackedOnSeries"),A=0;f.useStyle(D(s.getAreaStyle(),{fill:M,opacity:.7,lineJoin:"bevel"})),T&&(A=Tm(T.get("smooth"))),f.setShape({smooth:I,stackedOnSmooth:A,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")})}this._data=a,this._coordSys=n,this._stackedOnPoints=y,this._points=l,this._step=S,this._valueOrigin=v},dispose:function(){},highlight:function(t,e,i,n){var o=t.getData(),a=Yo(o,n);if(!(a instanceof Array)&&null!=a&&0<=a){var r=o.getItemGraphicEl(a);if(!r){var s=o.getItemLayout(a);if(!s)return;if(this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(s[0],s[1]))return;(r=new Xg(o,a)).position=s,r.setZ(t.get("zlevel"),t.get("z")),r.ignore=isNaN(s[0])||isNaN(s[1]),r.__temp=!0,o.setItemGraphicEl(a,r),r.stopSymbolAnimation(!0),this.group.add(r)}r.highlight()}else _c.prototype.highlight.call(this,t,e,i,n)},downplay:function(t,e,i,n){var o=t.getData(),a=Yo(o,n);if(null!=a&&0<=a){var r=o.getItemGraphicEl(a);r&&(r.__temp?(o.setItemGraphicEl(a,null),this.group.remove(r)):r.downplay())}else _c.prototype.downplay.call(this,t,e,i,n)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new xm({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e},_newPolygon:function(t,e){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new _m({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(i),this._polygon=i},_updateAnimation:function(t,e,i,n,o,a){var r=this._polyline,s=this._polygon,l=t.hostModel,u=function(t,e,i,n,o,a,r,s){for(var l=function(t,e){var i=[];return e.diff(t).add(function(t){i.push({cmd:"+",idx:t})}).update(function(t,e){i.push({cmd:"=",idx:e,idx1:t})}).remove(function(t){i.push({cmd:"-",idx:t})}).execute(),i}(t,e),u=[],h=[],c=[],d=[],f=[],p=[],g=[],m=sm(o,e,r),v=sm(a,t,s),y=0;ye&&(e=t[i]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,i=0;ie[1]&&e.reverse(),e},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},toLocalCoord:null,toGlobalCoord:null},w(zm,Gg);var Bm={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},Vm={};Vm.categoryAxis=m({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},Bm),Vm.valueAxis=m({boundaryGap:[0,0],splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#eee",width:1}}},Bm),Vm.timeAxis=D({scale:!0,min:"dataMin",max:"dataMax"},Vm.valueAxis),Vm.logAxis=D({scale:!0,logBase:10},Vm.valueAxis);function Gm(a,t,r,e){R(Fm,function(o){t.extend({type:a+"Axis."+o,mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,n=i?Iu(t):{};m(t,e.getTheme().get(o+"Axis")),m(t,this.getDefaultOption()),t.type=r(a,t),i&&Mu(t,n,i)},optionUpdated:function(){"category"===this.option.type&&(this.__ordinalMeta=vp.createByAxisModel(this))},getCategories:function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:p([{},Vm[o+"Axis"],e],!0)})}),ku.registerSubTypeDefaulter(a+"Axis",T(r,a))}var Fm=["value","category","time","log"],Wm=ku.extend({type:"cartesian2dAxis",axis:null,init:function(){Wm.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){Wm.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){Wm.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});function Hm(t,e){return e.type||(e.data?"category":"value")}m(Wm.prototype,dg);var Zm={offset:0};function Um(t,e){return t.getCoordSysModel()===e}function Xm(t,e,i){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,i),this.model=t}Gm("x",Wm,Hm,Zm),Gm("y",Wm,Hm,Zm),ku.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});var Ym=Xm.prototype;function jm(t,e,i,n){i.getAxesOnZeroOf=function(){return o?[o]:[]};var o,a=t[e],r=i.model,s=r.get("axisLine.onZero"),l=r.get("axisLine.onZeroAxisIndex");if(s){if(null!=l)qm(a[l])&&(o=a[l]);else for(var u in a)if(a.hasOwnProperty(u)&&qm(a[u])&&!n[h(a[u])]){o=a[u];break}o&&(n[h(o)]=!0)}function h(t){return t.dim+"_"+t.index}}function qm(t){return t&&"category"!==t.type&&"time"!==t.type&&function(t){var e=t.scale.getExtent(),i=e[0],n=e[1];return!(0u[1]?-1:1,c=["start"===a?u[0]-h*l:"end"===a?u[1]+h*l:(u[0]+u[1])/2,sv(a)?t.labelOffset+r*l:0],d=e.get("nameRotate");null!=d&&(d=d*tv/180),sv(a)?n=nv(t.rotation,null!=d?d:t.rotation,r):(n=function(t,e,i,n){var o,a,r=Zl(i-t.rotation),s=n[0]>n[1],l="start"===e&&!s||"start"!==e&&s;o=Ul(r-tv/2)?(a=l?"bottom":"top","center"):Ul(r-1.5*tv)?(a=l?"top":"bottom","center"):(a="middle",r<1.5*tv&&tv/2l[1]&&l.reverse(),(null==r||r>l[1])&&(r=l[1]),r=i.r0}}});var ny=Math.PI/180;function oy(o,t,e,i,n,a,r,s,l,u){function h(t,e,i){for(var n=t;nl+r);n++)if(o[n].y+=i,to[n].y+o[n].height)return void c(n,i/2);c(e-1,i/2)}function c(t,e){for(var i=t;0<=i&&!(o[i].y-eo[i-1].y+o[i-1].height));i--);}function d(t,e,i,n,o,a){for(var r=e?Number.MAX_VALUE:0,s=0,l=t.length;s=e?v.push(o[y]):m.push(o[y]);d(m,!1,t,e,i,n),d(v,!0,t,e,i,n)}function ay(t){return"center"===t.position}function ry(L,k,P,t,N,e){var O,R,E=L.getData(),z=[],B=!1,V=(L.get("minShowLabelAngle")||0)*ny;E.each(function(t){var e=E.getItemLayout(t),i=E.getItemModel(t),n=i.getModel("label"),o=n.get("position")||i.get("emphasis.label.position"),a=n.get("distanceToLabelLine"),r=n.get("alignTo"),s=El(n.get("margin"),P),l=n.get("bleedMargin"),u=n.getFont(),h=i.getModel("labelLine"),c=h.get("length");c=El(c,P);var d=h.get("length2");if(d=El(d,P),!(e.anglei[0]&&isFinite(h)&&isFinite(i[0]););else{var l=o.getTicks().length-1;c":"\n";return au(""===r?this.name:r)+s+O(a,function(t,e){var i=o.get(o.mapDimension(t.dim),n);return au(t.name+" : "+i)}).join(s)},getTooltipPosition:function(t){if(null!=t)for(var e=this.getData(),i=this.coordinateSystem,n=e.getValues(O(i.dimensions,function(t){return e.mapDimension(t)}),t,!0),o=0,a=n.length;o":"\n";return l.join(", ")+d+au(r+" : "+a)},getTooltipPosition:function(t){if(null!=t){var e=this.getData().getName(t),i=this.coordinateSystem,n=i.getRegion(e);return n&&i.dataToPoint(n.center)}},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},defaultOption:{zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},nameProperty:"name"}}),jv);var Ey="\0_ec_interaction_mutex";function zy(t,e){return!!By(t)[e]}function By(t){return t[Ey]||(t[Ey]={})}function Vy(i){this.pointerChecker,this._zr=i,this._opt={};var t=A,n=t(Gy,this),o=t(Fy,this),a=t(Wy,this),r=t(Hy,this),s=t(Zy,this);Ct.call(this),this.setPointerChecker=function(t){this.pointerChecker=t},this.enable=function(t,e){this.disable(),this._opt=D(k(e)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),null==t&&(t=!0),!0!==t&&"move"!==t&&"pan"!==t||(i.on("mousedown",n),i.on("mousemove",o),i.on("mouseup",a)),!0!==t&&"scale"!==t&&"zoom"!==t||(i.on("mousewheel",r),i.on("pinch",s))},this.disable=function(){i.off("mousedown",n),i.off("mousemove",o),i.off("mouseup",a),i.off("mousewheel",r),i.off("pinch",s)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}function Gy(t){if(!(Yt(t)||t.target&&t.target.draggable)){var e=t.offsetX,i=t.offsetY;this.pointerChecker&&this.pointerChecker(t,e,i)&&(this._x=e,this._y=i,this._dragging=!0)}}function Fy(t){if(this._dragging&&Yy("moveOnMouseMove",t,this._opt)&&"pinch"!==t.gestureEvent&&!zy(this._zr,"globalPan")){var e=t.offsetX,i=t.offsetY,n=this._x,o=this._y,a=e-n,r=i-o;this._x=e,this._y=i,this._opt.preventDefaultMouseMove&&Xt(t.event),Xy(this,"pan","moveOnMouseMove",t,{dx:a,dy:r,oldX:n,oldY:o,newX:e,newY:i})}}function Wy(t){Yt(t)||(this._dragging=!1)}function Hy(t){var e=Yy("zoomOnMouseWheel",t,this._opt),i=Yy("moveOnMouseWheel",t,this._opt),n=t.wheelDelta,o=Math.abs(n),a=t.offsetX,r=t.offsetY;if(0!==n&&(e||i)){if(e){var s=3e&&(e=n.height)}this.height=e+1},getNodeById:function(t){if(this.getId()===t)return this;for(var e=0,i=this.children,n=i.length;ei&&(i=t.depth)});var a=t.expandAndCollapse&&0<=t.initialTreeDepth?t.initialTreeDepth:i;return o.root.eachNode("preorder",function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=a}),o.data},getOrient:function(){var t=this.get("orient");return"horizontal"===t?t="LR":"vertical"===t&&(t="TB"),t},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},formatTooltip:function(t){for(var e=this.getData().tree,i=e.root.children[0],n=e.getNodeByDataIndex(t),o=n.getValue(),a=n.name;n&&n!==i;)a=n.parentNode.name+"."+a,n=n.parentNode;return au(a+(isNaN(o)||null==o?"":" : "+o))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderColor:"#c23531",borderWidth:1.5},label:{show:!0,color:"#555"},leaves:{label:{show:!0}},animationEasing:"linear",animationDuration:700,animationDurationUpdate:1e3}});var zx=Cs({shape:{parentPoint:[],childPoints:[],orient:"",forkPosition:""},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i=e.childPoints,n=i.length,o=e.parentPoint,a=i[0],r=i[n-1];if(1===n)return t.moveTo(o[0],o[1]),void t.lineTo(a[0],a[1]);var s=e.orient,l="TB"===s||"BT"===s?0:1,u=1-l,h=El(e.forkPosition,1),c=[];c[l]=o[l],c[u]=o[u]+(r[u]-o[u])*h,t.moveTo(o[0],o[1]),t.lineTo(c[0],c[1]),t.moveTo(a[0],a[1]),c[l]=a[l],t.lineTo(c[0],c[1]),c[l]=r[l],t.lineTo(c[0],c[1]),t.lineTo(r[0],r[1]);for(var d=1;dx.x)||(m-=Math.PI);var b=v?"left":"right",S=a.labelModel.get("rotate"),M=S*(Math.PI/180);g.setStyle({textPosition:a.labelModel.get("position")||b,textRotation:null==S?-m:M,textOrigin:"center",verticalAlign:"middle"})}!function(t,e,i,n,o,a,r,s,l){var u=l.edgeShape,h=n.__edge;if("curve"===u)e.parentNode&&e.parentNode!==i&&cl(h=h||(n.__edge=new ds({shape:Wx(l,o,o),style:D({opacity:0,strokeNoScale:!0},l.lineStyle)})),{shape:Wx(l,a,r),style:D({opacity:1},l.lineStyle)},t);else if("polyline"===u&&"orthogonal"===l.layout&&e!==i&&e.children&&0!==e.children.length&&!0===e.isExpand){for(var c=e.children,d=[],f=0;fh.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)});var d=u===h?1:r(u,h)/2,f=d-u.getLayout().x,p=0,g=0,m=0,v=0;if("radial"===n)p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),Hx(l,function(t){m=(t.getLayout().x+f)*p,v=(t.depth-1)*g;var e=Px(m,v);t.setLayout({x:e.x,y:e.y,rawX:m,rawY:v},!0)});else{var y=t.getOrient();"RL"===y||"LR"===y?(g=a/(h.getLayout().x+d+f),p=o/(c.depth-1||1),Hx(l,function(t){v=(t.getLayout().x+f)*g,m="LR"===y?(t.depth-1)*p:o-(t.depth-1)*p,t.setLayout({x:m,y:v},!0)})):"TB"!==y&&"BT"!==y||(p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),Hx(l,function(t){m=(t.getLayout().x+f)*p,v="TB"===y?(t.depth-1)*g:a-(t.depth-1)*g,t.setLayout({x:m,y:v},!0)}))}}}(t,e)})}),sc.extend({type:"series.treemap",layoutMode:"box",dependencies:["grid","polar"],preventUsingHoverLayer:!0,_viewRoot:null,defaultOption:{progressive:0,left:"center",top:"middle",right:null,bottom:null,width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.1024,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",borderColor:"rgba(255,255,255,0.7)",borderWidth:1,shadowColor:"rgba(150,150,150,1)",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:"#fff"}},emphasis:{textStyle:{}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",ellipsis:!0},upperLabel:{show:!1,position:[0,"50%"],height:20,color:"#fff",ellipsis:!0,verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],color:"#fff",ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(t,e){var i={name:t.name,children:t.data};!function i(t){var n=0;R(t.children,function(t){i(t);var e=t.value;L(e)&&(e=e[0]),n+=e});var e=t.value;L(e)&&(e=e[0]);null!=e&&!isNaN(e)||(e=n);e<0&&(e=0);L(t.value)?t.value[0]=e:t.value=e}(i);var n=t.levels||[],o=new Cl({itemStyle:this.designatedVisualItemStyle={}},this,e),a=O((n=t.levels=function(t,e){var n,i=e.get("color");if(!i)return;if(R(t=t||[],function(t){var e=new Cl(t),i=e.get("color");(e.get("itemStyle.color")||i&&"none"!==i)&&(n=!0)}),!n){(t[0]||(t[0]={})).color=i.slice()}return t}(n,e))||[],function(t){return new Cl(t,o,e)},this),r=Ax.createTree(i,this,function(t){t.wrapMethod("getItemModel",function(t,e){var i=r.getNodeByDataIndex(e),n=a[i.depth];return t.parentModel=n||o,t})});return r.data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=L(i)?tu(i[0]):tu(i);return au(e.getName(t)+": "+n)},getDataParams:function(t){var e=sc.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=Yx(i,this),e},setLayoutInfo:function(t){this.layoutInfo=this.layoutInfo||{},P(this.layoutInfo,t)},mapIdToIndex:function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=Q(),this._idIndexMapCount=0);var i=e.get(t);return null==i&&e.set(t,i=this._idIndexMapCount++),i},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)}});var jx=5;function qx(t){this.group=new Ci,t.add(this.group)}function Kx(t,e,i,n,o,a){var r=[[o?t:t-jx,e],[t+i,e],[t+i,e+n],[o?t:t-jx,e+n]];return a||r.splice(2,0,[t+i+jx,e+n/2]),o||r.push([t,e+n/2]),r}qx.prototype={constructor:qx,render:function(t,e,i,n){var o=t.getModel("breadcrumb"),a=this.group;if(a.removeAll(),o.get("show")&&i){var r=o.getModel("itemStyle"),s=r.getModel("textStyle"),l={pos:{left:o.get("left"),right:o.get("right"),top:o.get("top"),bottom:o.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:o.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(i,l,s),this._renderContent(t,l,r,s,n),Su(a,l.pos,l.box)}},_prepare:function(t,e,i){for(var n=t;n;n=n.parentNode){var o=n.getModel().get("name"),a=i.getTextRect(o),r=Math.max(a.width+16,e.emptyItemWidth);e.totalWidth+=r+8,e.renderList.push({node:n,text:o,width:r})}},_renderContent:function(t,e,i,n,o){for(var a,r,s=0,l=e.emptyItemWidth,u=t.get("breadcrumb.height"),h=function(t,e,i){var n=e.width,o=e.height,a=El(t.x,n),r=El(t.y,o),s=El(t.x2,n),l=El(t.y2,o);return(isNaN(a)||isNaN(parseFloat(t.x)))&&(a=0),(isNaN(s)||isNaN(parseFloat(t.x2)))&&(s=n),(isNaN(r)||isNaN(parseFloat(t.y)))&&(r=0),(isNaN(l)||isNaN(parseFloat(t.y2)))&&(l=o),i=iu(i||0),{width:Math.max(s-a-i[1]-i[3],0),height:Math.max(l-r-i[0]-i[2],0)}}(e.pos,e.box),c=e.totalWidth,d=e.renderList,f=d.length-1;0<=f;f--){var p=d[f],g=p.node,m=p.width,v=p.text;c>h.width&&(c-=m-l,m=l,v=null);var y=new Qr({shape:{points:Kx(s,0,m,u,f===d.length-1,0===f)},style:D(i.getItemStyle(),{lineJoin:"bevel",text:v,textFill:n.getTextColor(),textFont:n.getFont()}),z:10,onclick:T(o,g)});this.group.add(y),a=t,r=g,y.eventData={componentType:"series",componentSubType:"treemap",componentIndex:a.componentIndex,seriesIndex:a.componentIndex,seriesName:a.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:r&&r.dataIndex,name:r&&r.name},treePathInfo:r&&Yx(r,a)},s+=m+8}},remove:function(){this.group.removeAll()}};function $x(t){var e=s_(t);return e.stroke=e.fill=e.lineWidth=null,e}var Jx=A,Qx=Ci,t_=rs,e_=R,i_=["label"],n_=["emphasis","label"],o_=["upperLabel"],a_=["emphasis","upperLabel"],r_=10,s_=ha([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]);function l_(h,r,s,l,u,e,c,t,i,n){if(c){var d=c.getLayout(),o=h.getData();if(o.setItemGraphicEl(c.dataIndex,null),d&&d.isInView){var f=d.width,p=d.height,g=d.borderWidth,m=d.invisible,v=c.getRawIndex(),y=t&&t.getRawIndex(),a=c.viewChildren,x=d.upperHeight,_=a&&a.length,w=c.getModel("itemStyle"),b=c.getModel("emphasis.itemStyle"),S=L("nodeGroup",Qx);if(S){if(i.add(S),S.attr("position",[d.x||0,d.y||0]),S.__tmNodeWidth=f,S.__tmNodeHeight=p,d.isAboveViewRoot)return S;var M=c.getModel(),I=L("background",t_,n,1);if(I&&function(t,e,i){if(e.dataIndex=c.dataIndex,e.seriesIndex=h.seriesIndex,e.setShape({x:0,y:0,width:f,height:p}),m)A(e);else{e.invisible=!1;var n=c.getVisual("borderColor",!0),o=b.get("borderColor"),a=$x(w);a.fill=n;var r=s_(b);if(r.fill=o,i){var s=f-2*g;D(a,r,n,s,x,{x:g,y:0,width:s,height:x})}else a.text=r.text=null;e.setStyle(a),Us(e,r)}t.add(e)}(S,I,_&&d.upperLabelHeight),_)Qs(S)&&Js(S,!1),I&&(Js(I,!0),o.setItemGraphicEl(c.dataIndex,I));else{var T=L("content",t_,n,2);T&&function(t,e){e.dataIndex=c.dataIndex,e.seriesIndex=h.seriesIndex;var i=Math.max(f-2*g,0),n=Math.max(p-2*g,0);if(e.culling=!0,e.setShape({x:g,y:g,width:i,height:n}),m)A(e);else{e.invisible=!1;var o=c.getVisual("color",!0),a=$x(w);a.fill=o;var r=s_(b);D(a,r,o,i,n),e.setStyle(a),Us(e,r)}t.add(e)}(S,T),I&&Qs(I)&&Js(I,!1),Js(S,!0),o.setItemGraphicEl(c.dataIndex,S)}return S}}}function A(t){t.invisible||e.push(t)}function D(t,e,i,n,o,a){var r=M.get("name"),s=M.getModel(a?o_:i_),l=M.getModel(a?a_:n_),u=s.getShallow("show");el(t,e,s,l,{defaultText:u?r:null,autoColor:i,isRectText:!0,labelFetcher:h,labelDataIndex:c.dataIndex,labelProp:a?"upperLabel":"label"}),C(t,a,d),C(e,a,d),a&&(t.textRect=k(a)),t.truncate=u&&s.get("ellipsis")?{outerWidth:n,outerHeight:o,minChar:2}:null}function C(t,e,i){var n=t.text;if(!e&&i.isLeafRoot&&null!=n){var o=h.get("drillDownIcon",!0);t.text=o?o+" "+n:n}}function L(t,e,i,n){var o=null!=y&&s[t][y],a=u[t];return o?(s[t][y]=null,function(t,e,i){(t[v]={}).old="nodeGroup"===i?e.position.slice():P({},e.shape)}(a,o,t)):m||((o=new e({z:function(t,e){var i=t*r_+e;return(i-1)/i}(i,n)})).__tmDepth=i,function(t,e,i){var n=t[v]={},o=c.parentNode;if(o&&(!l||"drillDown"===l.direction)){var a=0,r=0,s=u.background[o.getRawIndex()];!l&&s&&s.old&&(a=s.old.width,r=s.old.height),n.old="nodeGroup"===i?[0,r]:{x:a,y:r,width:0,height:0}}n.fadein="nodeGroup"!==i}(a,0,o.__tmStorageName=t)),r[t][v]=o}}Cf({type:"treemap",init:function(t,e){this._containerGroup,this._storage={nodeGroup:[],background:[],content:[]},this._oldTree,this._breadcrumb,this._controller,this._state="ready"},render:function(t,e,i,n){if(!(_(e.findComponents({mainType:"series",subType:"treemap",query:n}),t)<0)){this.seriesModel=t,this.api=i,this.ecModel=e;var o=Zx(n,["treemapZoomToNode","treemapRootToNode"],t),a=n&&n.type,r=t.layoutInfo,s=!this._oldTree,l=this._storage,u="treemapRootToNode"===a&&o&&l?{rootNodeGroup:l.nodeGroup[o.node.getRawIndex()],direction:n.direction}:null,h=this._giveContainerGroup(r),c=this._doRender(h,t,u);s||a&&"treemapZoomToNode"!==a&&"treemapRootToNode"!==a?c.renderFinally():this._doAnimation(h,c,t,u),this._resetController(i),this._renderBreadcrumb(t,i,o)}},_giveContainerGroup:function(t){var e=this._containerGroup;return e||(e=this._containerGroup=new Qx,this._initEvents(e),this.group.add(e)),e.attr("position",[t.x,t.y]),e},_doRender:function(t,e,i){var n=e.getData().tree,o=this._oldTree,a={nodeGroup:[],background:[],content:[]},r={nodeGroup:[],background:[],content:[]},s=this._storage,l=[],c=T(l_,e,r,s,i,a,l);!function a(r,s,l,u,h){u?e_(s=r,function(t,e){t.isRemoved()||i(e,e)}):new kf(s,r,t,t).add(i).update(i).remove(T(i,null)).execute();function t(t){return t.getId()}function i(t,e){var i=null!=t?r[t]:null,n=null!=e?s[e]:null,o=c(i,n,l,h);o&&a(i&&i.viewChildren||[],n&&n.viewChildren||[],o,u,h+1)}}(n.root?[n.root]:[],o&&o.root?[o.root]:[],t,n===o||!o,0);var u,h,d=(h={nodeGroup:[],background:[],content:[]},(u=s)&&e_(u,function(t,e){var i=h[e];e_(t,function(t){t&&(i.push(t),t.__tmWillDelete=1)})}),h);return this._oldTree=n,this._storage=r,{lastsForAnimation:a,willDeleteEls:d,renderFinally:function(){e_(d,function(t){e_(t,function(t){t.parent&&t.parent.remove(t)})}),e_(l,function(t){t.invisible=!0,t.dirty()})}}},_doAnimation:function(t,a,e,s){if(e.get("animation")){var l=e.get("animationDurationUpdate"),u=e.get("animationEasing"),h=function(){var a,r=[],s={};return{add:function(t,e,i,n,o){return E(n)&&(o=n,n=0),!s[t.id]&&(s[t.id]=1,r.push({el:t,target:e,time:i,delay:n,easing:o}),!0)},done:function(t){return a=t,this},start:function(){for(var t=r.length,e=0,i=r.length;e=o.length||t===o[t.depth]){var i=E_(r,l,t,e,g,a);n(t,i,o,a)}})}else c=P_(l),t.setVisual("color",c)}(o,{},t.getViewRoot().getAncestors(),t)}};function k_(i,n,t){var o=P({},n),a=t.designatedVisualItemStyle;return R(["color","colorAlpha","colorSaturation"],function(t){a[t]=n[t];var e=i.get(t);(a[t]=null)!=e&&(o[t]=e)}),o}function P_(t){var e=N_(t,"color");if(e){var i=N_(t,"colorAlpha"),n=N_(t,"colorSaturation");return n&&(e=qe(e,null,null,n)),i&&(e=Ke(e,i)),e}}function N_(t,e){var i=t[e];if(null!=i&&"none"!==i)return i}function O_(t,e,i,n,o,a){if(a&&a.length){var r=R_(e,"color")||null!=o.color&&"none"!==o.color&&(R_(e,"colorAlpha")||R_(e,"colorSaturation"));if(r){var s=e.get("visualMin"),l=e.get("visualMax"),u=i.dataExtent.slice();null!=s&&su[1]&&(u[1]=l);var h=e.get("colorMappingBy"),c={type:r.name,dataExtent:u,visual:r.range};"color"!==c.type||"index"!==h&&"id"!==h?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var d=new g_(c);return d.__drColorMappingBy=h,d}}}function R_(t,e){var i=t.get(e);return D_(i)&&i.length?{name:e,range:i}:null}function E_(t,e,i,n,o,a){var r=P({},e);if(o){var s=o.type,l="color"===s&&o.__drColorMappingBy,u="index"===l?n:"id"===l?a.mapIdToIndex(i.getId()):i.getValue(t.get("visualDimension"));r[s]=o.mapValueToVisual(u)}return r}var z_=Math.max,B_=Math.min,V_=W,G_=R,F_=["itemStyle","borderWidth"],W_=["itemStyle","gapWidth"],H_=["upperLabel","show"],Z_=["upperLabel","height"],U_={seriesType:"treemap",reset:function(t,e,i,n){var o=i.getWidth(),a=i.getHeight(),r=t.option,s=bu(t.getBoxLayoutParams(),{width:i.getWidth(),height:i.getHeight()}),l=r.size||[],u=El(V_(s.width,l[0]),o),h=El(V_(s.height,l[1]),a),c=n&&n.type,d=Zx(n,["treemapZoomToNode","treemapRootToNode"],t),f="treemapRender"===c||"treemapMove"===c?n.rootRect:null,p=t.getViewRoot(),g=Ux(p);if("treemapMove"!==c){var m="treemapZoomToNode"===c?function(t,e,i,n,o){var a,r=(e||{}).node,s=[n,o];if(!r||r===i)return s;var l=n*o,u=l*t.option.zoomToNodeRatio;for(;a=r.parentNode;){for(var h=0,c=a.children,d=0,f=c.length;ds[1]&&(s[1]=e)})}else s=[NaN,NaN];return{sum:n,dataExtent:s}}(e,r,s);if(0===u.sum)return t.viewChildren=[];if(u.sum=function(t,e,i,n,o){if(!n)return i;for(var a=t.get("visibleMin"),r=o.length,s=r,l=r-1;0<=l;l--){var u=o["asc"===n?r-l-1:l].getValue();u/i*ei[l[r]])&&(h=i[l[r]]);for(var c=0,d=t.length;c "+d)),u++)}var f,p=i.get("coordinateSystem");if("cartesian2d"===p||"polar"===p)f=gp(t,i);else{var g=lh.get(p),m=g&&"view"!==g.type&&g.dimensions||[];_(m,"value")<0&&m.concat(["value"]);var v=lp(t,{coordDimensions:m});(f=new Yf(v,i)).initData(t)}var y=new Yf(["value"],i);return y.initData(l,s),o&&o(f,y),yx({mainData:f,struct:a,structAttr:"graph",datas:{node:f,edge:y},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a}var nw="--\x3e",ow=function(t){return t.get("autoCurveness")||null},aw=function(t,e){var i=ow(t),n=20,o=[];if("number"==typeof i)n=i;else if(L(i))return void(t.__curvenessList=i);n ")),o.value&&(l+=" : "+au(o.value)),l},_updateCategoriesData:function(){var t=O(this.option.categories||[],function(t){return null!=t.value?t:P({value:0},t)}),e=new Yf(["value"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray(function(t){return e.getItemModel(t,!0)})},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},isAnimationEnabled:function(){return dw.superCall(this,"isAnimationEnabled")&&!("force"===this.get("layout")&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{label:{show:!0}}}}),fw=ls.prototype,pw=ds.prototype;function gw(t){return isNaN(+t.cpx1)||isNaN(+t.cpy1)}var mw=Cs({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(t,e){this[gw(e)?"_buildPathLine":"_buildPathCurve"](t,e)},_buildPathLine:fw.buildPath,_buildPathCurve:pw.buildPath,pointAt:function(t){return this[gw(this.shape)?"_pointAtLine":"_pointAtCurve"](t)},_pointAtLine:fw.pointAt,_pointAtCurve:pw.pointAt,tangentAt:function(t){var e=this.shape,i=gw(e)?[e.x2-e.x1,e.y2-e.y1]:this._tangentAtCurve(t);return mt(i,i)},_tangentAtCurve:pw.tangentAt}),vw=["fromSymbol","toSymbol"];function yw(t){return"_"+t+"Type"}function xw(t,e,i){var n=e.getItemVisual(i,t);if(n&&"none"!==n){var o=e.getItemVisual(i,"color"),a=e.getItemVisual(i,t+"Size"),r=e.getItemVisual(i,t+"Rotate");L(a)||(a=[a,a]);var s=wg(n,-a[0]/2,-a[1]/2,a[0],a[1],o);return s.__specifiedRotation=null==r||isNaN(r)?void 0:+r*Math.PI/180||0,s.name=t,s}}function _w(t,e){t.x1=e[0][0],t.y1=e[0][1],t.x2=e[1][0],t.y2=e[1][1],t.percent=1;var i=e[2];i?(t.cpx1=i[0],t.cpy1=i[1]):(t.cpx1=NaN,t.cpy1=NaN)}function ww(t,e,i){Ci.call(this),this._createLine(t,e,i)}var bw=ww.prototype;function Sw(t){this._ctor=t||ww,this.group=new Ci}bw.beforeUpdate=function(){var t=this.childOfName("fromSymbol"),e=this.childOfName("toSymbol"),i=this.childOfName("label");if(t||e||!i.ignore){for(var n=1,o=this.parent;o;)o.scale&&(n/=o.scale[0]),o=o.parent;var a=this.childOfName("line");if(this.__dirty||a.__dirty){var r=a.shape.percent,s=a.pointAt(0),l=a.pointAt(r),u=ht([],l,s);if(mt(u,u),t){if(t.attr("position",s),null==(c=t.__specifiedRotation)){var h=a.tangentAt(0);t.attr("rotation",Math.PI/2-Math.atan2(h[1],h[0]))}else t.attr("rotation",c);t.attr("scale",[n*r,n*r])}if(e){var c;if(e.attr("position",l),null==(c=e.__specifiedRotation)){h=a.tangentAt(1);e.attr("rotation",-Math.PI/2-Math.atan2(h[1],h[0]))}else e.attr("rotation",c);e.attr("scale",[n*r,n*r])}if(!i.ignore){var d,f,p,g;i.attr("position",l);var m=i.__labelDistance,v=m[0]*n,y=m[1]*n,x=r/2,_=[(h=a.tangentAt(x))[1],-h[0]],w=a.pointAt(x);0<_[1]&&(_[0]=-_[0],_[1]=-_[1]);var b,S=h[0]<0?-1:1;if("start"!==i.__position&&"end"!==i.__position){var M=-Math.atan2(h[1],h[0]);l[0]=t&&(0===e?0:n[e-1][0])a&&(e[1-n]=e[n]+c.sign*a),e}function lb(t,e){var i=t[e]-t[1-e];return{span:Math.abs(i),sign:0o*(1-h[0])?(l="jump",r=s-o*(1-h[2])):0<=(r=s-o*h[1])&&(r=s-o*(1-h[1]))<=0&&(r=0),(r*=e.axisExpandWidth/u)?sb(r,n,a,"all"):l="none";else{o=n[1]-n[0];(n=[db(0,a[1]*s/o-o/2)])[1]=cb(a[1],n[0]+o),n[0]=n[1]-o}return{axisExpandWindow:n,behavior:l}}},lh.register("parallel",{create:function(n,o){var a=[];return n.eachComponent("parallel",function(t,e){var i=new vb(t,n,o);i.name="parallel_"+e,i.resize(t,o),(t.coordinateSystem=i).model=t,a.push(i)}),n.eachSeries(function(t){if("parallel"===t.get("coordinateSystem")){var e=n.queryComponents({mainType:"parallel",index:t.get("parallelIndex"),id:t.get("parallelId")})[0];t.coordinateSystem=e.coordinateSystem}}),a}});var xb=ku.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return ha([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},setActiveIntervals:function(t){var e=this.activeIntervals=k(t);if(e)for(var i=e.length-1;0<=i;i--)Bl(e[i])},getActiveState:function(t){var e=this.activeIntervals;if(!e.length)return"normal";if(null==t||isNaN(t))return"inactive";if(1===e.length){var i=e[0];if(i[0]<=t&&t<=i[1])return"active"}else for(var n=0,o=e.length;nn.getWidth()||i<0||i>n.getHeight()}(t,e)){var n=t._zr,o=t._covers,a=Fb(t,e,i);if(!t._dragging)for(var r=0;rf&&(f=m.depth),g.setLayout({depth:v?m.depth:c},!0),"vertical"===a?g.setLayout({dy:i},!0):g.setLayout({dx:i},!0);for(var y=0;y "))},preventIncremental:function(){return!!this.get("effect.show")},getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get("progressive"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get("progressiveThreshold"):t},defaultOption:{coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}}});function bM(t,e,i){Ci.call(this),this.add(this.createLine(t,e,i)),this._updateEffectSymbol(t,e)}var SM=bM.prototype;function MM(t,e,i){Ci.call(this),this._createPolyline(t,e,i)}SM.createLine=function(t,e,i){return new ww(t,e,i)},SM._updateEffectSymbol=function(t,e){var i=t.getItemModel(e).getModel("effect"),n=i.get("symbolSize"),o=i.get("symbol");L(n)||(n=[n,n]);var a=i.get("color")||t.getItemVisual(e,"color"),r=this.childAt(1);this._symbolType!==o&&(this.remove(r),(r=wg(o,-.5,-.5,1,1,a)).z2=100,r.culling=!0,this.add(r)),r&&(r.setStyle("shadowColor",a),r.setStyle(i.getItemStyle(["color"])),r.attr("scale",n),r.setColor(a),r.attr("scale",n),this._symbolType=o,this._symbolScale=n,this._updateEffectAnimation(t,i,e))},SM._updateEffectAnimation=function(e,t,i){var n=this.childAt(1);if(n){var o=this,a=e.getItemLayout(i),r=1e3*t.get("period"),s=t.get("loop"),l=t.get("constantSpeed"),u=W(t.get("delay"),function(t){return t/e.count()*r/3}),h="function"==typeof u;if(n.ignore=!0,this.updateAnimationPoints(n,a),0e);r++);r=Math.min(r-1,o-2)}wt(t.position,i[r],i[r+1],(e-n[r])/(n[r+1]-n[r]));var s=i[r+1][0]-i[r][0],l=i[r+1][1]-i[r][1];t.rotation=-Math.atan2(l,s)-Math.PI/2,this._lastFrame=r,this._lastFramePercent=e,t.ignore=!1}},w(TM,bM);var DM=Cs({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(t,e){var i=e.segs,n=e.curveness;if(e.polyline)for(var o=0;o=e[0]&&t<=e[1]}}(y,e.option.range):function(e,n,o){var i=e[1]-e[0],a=(n=O(n,function(t){return{interval:[(t.interval[0]-e[0])/i,(t.interval[1]-e[0])/i]}})).length,r=0;return function(t){for(var e=r;e=e.y&&t[1]<=e.y+e.height:i.contain(i.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},pointToData:function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t["horizontal"===e.orient?0:1]))]},dataToPoint:function(t){var e=this.getAxis(),i=this.getRect(),n=[],o="horizontal"===e.orient?0:1;return t instanceof Array&&(t=t[0]),n[o]=e.toGlobalCoord(e.dataToCoord(+t)),n[1-o]=0==o?i.y+i.height/2:i.x+i.width/2,n}}).dimensions});var sI=["axisLine","axisTickLabel","axisName"],lI=["splitArea","splitLine"],uI=mv.extend({type:"singleAxis",axisPointerClass:"SingleAxisPointer",render:function(e,t,i,n){var o=this.group;o.removeAll();var a=this._axisGroup;this._axisGroup=new Ci;var r=rI(e),s=new Qm(e,r);R(sI,s.add,s),o.add(this._axisGroup),o.add(s.getGroup()),R(lI,function(t){e.get(t+".show")&&this["_"+t](e)},this),ml(a,this._axisGroup,e),uI.superCall(this,"render",e,t,i,n)},remove:function(){bv(this)},_splitLine:function(t){var e=t.axis;if(!e.scale.isBlank()){var i=t.getModel("splitLine"),n=i.getModel("lineStyle"),o=n.get("width"),a=n.get("color");a=a instanceof Array?a:[a];for(var r=t.coordinateSystem.getRect(),s=e.isHorizontal(),l=[],u=0,h=e.getTicksCoords({tickModel:i}),c=[],d=[],f=0;fr)return!0;if(a){var s=fv(t).seriesDataCount,l=n.getExtent();return Math.abs(l[0]-l[1])/s>r}return!1},makeElOption:function(t,e,i,n,o){},createPointerEl:function(t,e,i,n){var o=e.pointer;if(o){var a=AI(t).pointerEl=new bl[o.type](DI(e.pointer));t.add(a)}},createLabelEl:function(t,e,i,n){if(e.label){var o=AI(t).labelEl=new rs(DI(e.label));t.add(o),PI(o,n)}},updatePointerEl:function(t,e,i){var n=AI(t).pointerEl;n&&e.pointer&&(n.setStyle(e.pointer.style),i(n,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,i,n){var o=AI(t).labelEl;o&&(o.setStyle(e.label.style),i(o,{shape:e.label.shape,position:e.label.position}),PI(o,n))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e,i=this._axisPointerModel,n=this._api.getZr(),o=this._handle,a=i.getModel("handle"),r=i.get("status");if(!a.get("show")||!r||"hide"===r)return o&&n.remove(o),void(this._handle=null);this._handle||(e=!0,o=this._handle=yl(a.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){Xt(t.event)},onmousedown:CI(this._onHandleDragMove,this,0,0),drift:CI(this._onHandleDragMove,this),ondragend:CI(this._onHandleDragEnd,this)}),n.add(o)),OI(o,i,!1);o.setStyle(a.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var s=a.get("size");L(s)||(s=[s,s]),o.attr("scale",[s[0]/2,s[1]/2]),kc(this,"_doDispatchAxisPointer",a.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,e)}},_moveHandleToValue:function(t,e){kI(this._axisPointerModel,!e&&this._moveAnimation,this._handle,NI(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var i=this._handle;if(i){this._dragging=!0;var n=this.updateHandleTransform(NI(i),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=n,i.stopAnimation(),i.attr(NI(n)),AI(i).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},_onHandleDragEnd:function(t){if(this._dragging=!1,this._handle){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),i=this._group,n=this._handle;e&&i&&(this._lastGraphicKey=null,i&&e.remove(i),n&&e.remove(n),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,i){return{x:t[i=i||0],y:t[1-i],width:e[i],height:e[1-i]}}}).constructor=LI);var HI=LI.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.grid,s=n.get("type"),l=ZI(r,a).getOtherAxis(a).getGlobalExtent(),u=a.toGlobalCoord(a.dataToCoord(e,!0));if(s&&"none"!==s){var h=RI(n),c=UI[s](a,u,l);c.style=h,t.graphicKey=c.type,t.pointer=c}VI(e,t,_v(r.model,i),i,n,o)},getHandleTransform:function(t,e,i){var n=_v(e.axis.grid.model,e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:BI(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.grid,r=o.getGlobalExtent(!0),s=ZI(a,o).getOtherAxis(o).getGlobalExtent(),l="x"===o.dim?0:1,u=t.position;u[l]+=e[l],u[l]=Math.min(r[1],u[l]),u[l]=Math.max(r[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];return{position:u,rotation:t.rotation,cursorPoint:c,tooltipOption:[{verticalAlign:"middle"},{align:"center"}][l]}}});function ZI(t,e){var i={};return i[e.dim+"AxisIndex"]=e.index,t.getCartesian(i)}var UI={line:function(t,e,i){return{type:"Line",subPixelOptimize:!0,shape:GI([e,i[0]],[e,i[1]],XI(t))}},shadow:function(t,e,i){var n=Math.max(1,t.getBandWidth()),o=i[1]-i[0];return{type:"Rect",shape:FI([e-n/2,i[0]],[n,o],XI(t))}}};function XI(t){return"x"===t.dim?0:1}mv.registerAxisPointerClass("CartesianAxisPointer",HI),yf(function(t){if(t){t.axisPointer&&0!==t.axisPointer.length||(t.axisPointer={});var e=t.axisPointer.link;e&&!L(e)&&(t.axisPointer.link=[e])}}),xf(Ld.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=cv(t,e)}),_f({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},function(t,e,i){var n=t.currTrigger,r=[t.x,t.y],o=t,a=t.dispatchAction||A(i.dispatchAction,i),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){xI(r)&&(r=cI({seriesIndex:o.seriesIndex,dataIndex:o.dataIndex},e).point);var l=xI(r),u=o.axesInfo,h=s.axesInfo,c="leave"===n||xI(r),d={},f={},p={list:[],map:{}},g={showPointer:fI(mI,f),showTooltip:fI(vI,p)};dI(s.coordSysMap,function(t,e){var a=l||t.containPoint(r);dI(s.coordSysAxesInfo[e],function(t,e){var i=t.axis,n=function(t,e){for(var i=0;i<(t||[]).length;i++){var n=t[i];if(e.axis.dim===n.axisDim&&e.axis.model.componentIndex===n.axisIndex)return n}}(u,t);if(!c&&a&&(!u||n)){var o=n&&n.value;null!=o||l||(o=i.pointToData(r)),null!=o&&gI(t,o,g,!1,d)}})});var m={};return dI(h,function(o,t){var a=o.linkGroup;a&&!f[t]&&dI(a.axesInfo,function(t,e){var i=f[e];if(t!==o&&i){var n=i.value;a.mapper&&(n=o.axis.scale.parse(a.mapper(n,yI(t),yI(o)))),m[o.key]=n}})}),dI(m,function(t,e){gI(h[e],t,g,!0,d)}),function(o,t,e){var a=e.axesInfo=[];dI(t,function(t,e){var i=t.axisPointerModel.option,n=o[e];n?(t.useHandle||(i.status="show"),i.value=n.value,i.seriesDataIndices=(n.payloadBatch||[]).slice()):t.useHandle||(i.status="hide"),"show"===i.status&&a.push({axisDim:t.axis.dim,axisIndex:t.axis.model.componentIndex,value:i.value})})}(f,h,d),function(t,e,i,n){if(xI(e)||!t.list.length)return n({type:"hideTip"});var o=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:i.tooltipOption,position:i.position,dataIndexInside:o.dataIndexInside,dataIndex:o.dataIndex,seriesIndex:o.seriesIndex,dataByCoordSys:t.list})}(p,r,t,a),function(t,e,i){var n=i.getZr(),o="axisPointerLastHighlights",a=pI(n)[o]||{},r=pI(n)[o]={};dI(t,function(t,e){var i=t.axisPointerModel.option;"show"===i.status&&dI(i.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;r[e]=t})});var s=[],l=[];R(a,function(t,e){r[e]||l.push(t)}),R(r,function(t,e){a[e]||s.push(t)}),l.length&&i.dispatchAction({type:"downplay",escapeConnect:!0,batch:l}),s.length&&i.dispatchAction({type:"highlight",escapeConnect:!0,batch:s})}(h,0,i),d}});var YI=["x","y"],jI=["width","height"],qI=LI.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.coordinateSystem,s=JI(r,1-$I(a)),l=r.dataToPoint(e)[0],u=n.get("type");if(u&&"none"!==u){var h=RI(n),c=KI[u](a,l,s);c.style=h,t.graphicKey=c.type,t.pointer=c}VI(e,t,rI(i),i,n,o)},getHandleTransform:function(t,e,i){var n=rI(e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:BI(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.coordinateSystem,r=$I(o),s=JI(a,r),l=t.position;l[r]+=e[r],l[r]=Math.min(s[1],l[r]),l[r]=Math.max(s[0],l[r]);var u=JI(a,1-r),h=(u[1]+u[0])/2,c=[h,h];return c[r]=l[r],{position:l,rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}}}),KI={line:function(t,e,i){return{type:"Line",subPixelOptimize:!0,shape:GI([e,i[0]],[e,i[1]],$I(t))}},shadow:function(t,e,i){var n=t.getBandWidth(),o=i[1]-i[0];return{type:"Rect",shape:FI([e-n/2,i[0]],[n,o],$I(t))}}};function $I(t){return t.isHorizontal()?0:1}function JI(t,e){var i=t.getRect();return[i[YI[e]],i[YI[e]]+i[jI[e]]]}mv.registerAxisPointerClass("SingleAxisPointer",qI),Af({type:"single"});var QI=sc.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(t){QI.superApply(this,"init",arguments),this.legendVisualProvider=new qv(A(this.getData,this),A(this.getRawData,this))},fixData:function(t){var e=t.length,i={},n=ta(t,function(t){return i.hasOwnProperty(t[0])||(i[t[0]]=-1),t[2]}),o=[];n.buckets.each(function(t,e){o.push({name:e,dataList:t})});for(var a=o.length,r=0;rMath.PI/2?"right":"left"):x&&"center"!==x?"left"===x?(f=u.r0+y,p>Math.PI/2&&(x="right")):"right"===x&&(f=u.r-y,p>Math.PI/2&&(x="left")):(f=(u.r+u.r0)/2,x="center"),d.attr("style",{text:l,textAlign:x,textVerticalAlign:M("verticalAlign")||"middle",opacity:M("opacity")});var _=f*g+u.cx,w=f*m+u.cy;d.attr("position",[_,w]);var b=M("rotate"),S=0;function M(t){var e=a.get(t);return null==e?o.get(t):e}"radial"===b?(S=-p)<-Math.PI/2&&(S+=Math.PI):"tangential"===b?(S=Math.PI/2-p)>Math.PI/2?S-=Math.PI:S<-Math.PI/2&&(S+=Math.PI):"number"==typeof b&&(S=b*Math.PI/180),d.attr("rotation",S)},sT._initEvents=function(t,e,i,n){t.off("mouseover").off("mouseout").off("emphasis").off("normal");function o(){r.onEmphasis(n)}function a(){r.onNormal()}var r=this;i.isAnimationEnabled()&&t.on("mouseover",o).on("mouseout",a).on("emphasis",o).on("normal",a).on("downplay",function(){r.onDownplay()}).on("highlight",function(){r.onHighlight()})},w(rT,Ci);_c.extend({type:"sunburst",init:function(){},render:function(o,a,t,e){var n=this;this.seriesModel=o,this.api=t,this.ecModel=a;var r=o.getData(),s=r.tree.root,i=o.getViewRoot(),l=this.group,u=o.get("renderLabelForZeroData"),h=[];i.eachNode(function(t){h.push(t)});var c=this._oldChildren||[];if(function(i,n){if(0===i.length&&0===n.length)return;function t(t){return t.getId()}function e(t,e){!function(t,e){u||!t||t.getValue()||(t=null);if(t!==s&&e!==s)if(e&&e.piece)t?(e.piece.updateData(!1,t,"normal",o,a),r.setItemGraphicEl(t.dataIndex,e.piece)):function(t){if(!t)return;t.piece&&(l.remove(t.piece),t.piece=null)}(e);else if(t){var i=new rT(t,o,a);l.add(i),r.setItemGraphicEl(t.dataIndex,i)}}(null==t?null:i[t],null==e?null:n[e])}new kf(n,i,t,t).add(e).update(e).remove(T(e,null)).execute()}(h,c),function(t,e){if(0=i.r0}}});var lT="sunburstRootToNode";_f({type:lT,update:"updateView"},function(o,t){t.eachComponent({mainType:"series",subType:"sunburst",query:o},function(t,e){var i=Zx(o,[lT],t);if(i){var n=t.getViewRoot();n&&(o.direction=Xx(n,i.node)?"rollUp":"drillDown"),t.resetViewRoot(i.node)}})});var uT="sunburstHighlight";_f({type:uT,update:"updateView"},function(n,t){t.eachComponent({mainType:"series",subType:"sunburst",query:n},function(t,e){var i=Zx(n,[uT],t);i&&(n.highlight=i.node)})});_f({type:"sunburstUnhighlight",update:"updateView"},function(i,t){t.eachComponent({mainType:"series",subType:"sunburst",query:i},function(t,e){i.unhighlight=!0})});var hT=Math.PI/180;function cT(t,e){if("function"==typeof e)return t.sort(e);var n="asc"===e;return t.sort(function(t,e){var i=(t.getValue()-e.getValue())*(n?1:-1);return 0==i?(t.dataIndex-e.dataIndex)*(n?-1:1):i})}function dT(a,r){return r=r||[0,0],O(["x","y"],function(t,e){var i=this.getAxis(t),n=r[e],o=a[e]/2;return"category"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(n-o)-i.dataToCoord(n+o))},this)}Sf(T(iy,"sunburst")),bf(T(function(t,e,C,i){e.eachSeriesByType(t,function(t){var e=t.get("center"),i=t.get("radius");L(i)||(i=[0,i]),L(e)||(e=[e,e]);var n=C.getWidth(),o=C.getHeight(),h=Math.min(n,o),c=El(e[0],n),d=El(e[1],o),f=El(i[0],h/2),a=El(i[1],h/2),r=-t.get("startAngle")*hT,p=t.get("minAngle")*hT,g=t.getData().tree.root,s=t.getViewRoot(),m=s.depth,l=t.get("sort");null!=l&&!function e(t,i){var n=t.children||[];t.children=cT(n,i);n.length&&R(t.children,function(t){e(t,i)})}(s,l);var u=0;R(s.children,function(t){isNaN(t.getValue())||u++});var v=s.getValue(),y=Math.PI/(v||u)*2,x=0t[1]&&t.reverse(),{coordSys:{type:"polar",cx:o.cx,cy:o.cy,r:t[1],r0:t[0]},api:{coord:A(function(t){var e=a.dataToRadius(t[0]),i=r.dataToAngle(t[1]),n=o.coordToPoint([e,i]);return n.push(e,i*Math.PI/180),n}),size:A(gT,o)}}},calendar:function(i){var t=i.getRect(),e=i.getRangeInfo();return{coordSys:{type:"calendar",x:t.x,y:t.y,width:t.width,height:t.height,cellWidth:i.getCellWidth(),cellHeight:i.getCellHeight(),rangeInfo:{start:e.start,end:e.end,weeks:e.weeks,dayCount:e.allDay}},api:{coord:function(t,e){return i.dataToPoint(t,e)}}}}};function ST(t,e,i,n,o){null==i[t]||o||(e[t]=i[t],i[t]=n[t])}function MT(a,r,e,t){var i=a.get("renderItem"),n=a.coordinateSystem,o={};n&&(o=n.prepareCustoms?n.prepareCustoms():bT[n.type](n));var s,l,u,h,c,d=D({getWidth:t.getWidth,getHeight:t.getHeight,getZr:t.getZr,getDevicePixelRatio:t.getDevicePixelRatio,value:function(t,e){return null==e&&(e=s),r.get(r.getDimension(t||0),e)},style:function(t,e){null==e&&(e=s),g(e);var i=l.getModel(vT).getItemStyle();null!=c&&(i.fill=c);var n=r.getItemVisual(e,"opacity");null!=n&&(i.opacity=n);var o=t?CT(t,u):u;return nl(i,o,null,{autoColor:c,isRectText:!0}),i.text=o.getShallow("show")?H(a.getFormattedLabel(e,"normal"),Ug(r,e)):null,t&<(i,t),i},styleEmphasis:function(t,e){null==e&&(e=s),g(e);var i=l.getModel(yT).getItemStyle(),n=t?CT(t,h):h;return nl(i,n,null,{isRectText:!0},!0),i.text=n.getShallow("show")?Z(a.getFormattedLabel(e,"emphasis"),a.getFormattedLabel(e,"normal"),Ug(r,e)):null,t&<(i,t),i},visual:function(t,e){return null==e&&(e=s),r.getItemVisual(e,t)},barLayout:function(t){if(n.getBaseAxis){return function(t){var e=[],i=t.axis;if("category"===i.type){for(var n=i.getBandWidth(),o=0;oe[1]&&e.reverse();var i=t.getExtent(),n=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:e[0],r:e[1],startAngle:-i[0]*n,endAngle:-i[1]*n,clockwise:t.inverse,contain:function(t,e){var i=t-this.cx,n=e-this.cy,o=i*i+n*n,a=this.r,r=this.r0;return o<=a*a&&r*r<=o}}}};var GT=ku.extend({type:"polarAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"polar",index:this.option.polarIndex,id:this.option.polarId})[0]}});m(GT.prototype,dg);var FT={splitNumber:5};function WT(t,e){return e.type||(e.data?"category":"value")}function HT(t,e){var i=this,n=i.getAngleAxis(),o=i.getRadiusAxis();if(n.scale.setExtent(1/0,-1/0),o.scale.setExtent(1/0,-1/0),t.eachSeries(function(t){if(t.coordinateSystem===i){var e=t.getData();R(e.mapDimension("radius",!0),function(t){o.scale.unionExtentFromData(e,pp(e,t))}),R(e.mapDimension("angle",!0),function(t){n.scale.unionExtentFromData(e,pp(e,t))})}}),rg(n.scale,n.model),rg(o.scale,o.model),"category"===n.type&&!n.onBand){var a=n.getExtent(),r=360/n.scale.count();n.inverse?a[1]+=r:a[1]-=r,n.setExtent(a[0],a[1])}}function ZT(t,e){if(t.type=e.get("type"),t.scale=sg(e),t.onBand=e.get("boundaryGap")&&"category"===t.type,t.inverse=e.get("inverse"),"angleAxis"===e.mainType){t.inverse^=e.get("clockwise");var i=e.get("startAngle");t.setExtent(i,i+(t.inverse?-360:360))}(e.axis=t).model=e}Gm("angle",GT,WT,{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}}),Gm("radius",GT,WT,FT),Tf({type:"polar",dependencies:["polarAxis","angleAxis"],coordinateSystem:null,findAxisModel:function(t){var e;return this.ecModel.eachComponent(t,function(t){t.getCoordSysModel()===this&&(e=t)},this),e},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"80%"}}),lh.register("polar",{dimensions:VT.prototype.dimensions,create:function(i,s){var l=[];return i.eachComponent("polar",function(t,e){var i=new VT(e);i.update=HT;var n=i.getRadiusAxis(),o=i.getAngleAxis(),a=t.findAxisModel("radiusAxis"),r=t.findAxisModel("angleAxis");ZT(n,a),ZT(o,r),function(t,e,i){var n=e.get("center"),o=i.getWidth(),a=i.getHeight();t.cx=El(n[0],o),t.cy=El(n[1],a);var r=t.getRadiusAxis(),s=Math.min(o,a)/2,l=e.get("radius");null==l?l=[0,"100%"]:L(l)||(l=[0,l]),l=[El(l[0],s),El(l[1],s)],r.inverse?r.setExtent(l[1],l[0]):r.setExtent(l[0],l[1])}(i,t,s),l.push(i),(t.coordinateSystem=i).model=t}),i.eachSeries(function(t){if("polar"===t.get("coordinateSystem")){var e=i.queryComponents({mainType:"polar",index:t.get("polarIndex"),id:t.get("polarId")})[0];t.coordinateSystem=e.coordinateSystem}}),l}});var UT=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function XT(t,e,i){e[1]>e[0]&&(e=e.slice().reverse());var n=t.coordToPoint([e[0],i]),o=t.coordToPoint([e[1],i]);return{x1:n[0],y1:n[1],x2:o[0],y2:o[1]}}function YT(t){return t.getRadiusAxis().inverse?0:1}function jT(t){var e=t[0],i=t[t.length-1];e&&i&&Math.abs(Math.abs(e.coord-i.coord)-360)<1e-4&&t.pop()}mv.extend({type:"angleAxis",axisPointerClass:"PolarAxisPointer",render:function(e,t){if(this.group.removeAll(),e.get("show")){var i=e.axis,n=i.polar,o=n.getRadiusAxis().getExtent(),a=i.getTicksCoords(),r=i.getMinorTicksCoords(),s=O(i.getViewLabels(),function(t){return(t=k(t)).coord=i.dataToCoord(t.tickValue),t});jT(s),jT(a),R(UT,function(t){!e.get(t+".show")||i.scale.isBlank()&&"axisLine"!==t||this["_"+t](e,n,a,r,o,s)},this)}},_axisLine:function(t,e,i,n,o){var a,r=t.getModel("axisLine.lineStyle"),s=YT(e),l=s?0:1;(a=0===o[l]?new Yr({shape:{cx:e.cx,cy:e.cy,r:o[s]},style:r.getLineStyle(),z2:1,silent:!0}):new Kr({shape:{cx:e.cx,cy:e.cy,r:o[s],r0:o[l]},style:r.getLineStyle(),z2:1,silent:!0})).style.fill=null,this.group.add(a)},_axisTick:function(t,e,i,n,o){var a=t.getModel("axisTick"),r=(a.get("inside")?-1:1)*a.get("length"),s=o[YT(e)],l=O(i,function(t){return new ls({shape:XT(e,[s,s+r],t.coord)})});this.group.add(Rs(l,{style:D(a.getModel("lineStyle").getLineStyle(),{stroke:t.get("axisLine.lineStyle.color")})}))},_minorTick:function(t,e,i,n,o){if(n.length){for(var a=t.getModel("axisTick"),r=t.getModel("minorTick"),s=(a.get("inside")?-1:1)*r.get("length"),l=o[YT(e)],u=[],h=0;hr?"left":"right",u=Math.abs(a[1]-s)/o<.3?"middle":a[1]>s?"top":"bottom";p&&p[n]&&p[n].textStyle&&(i=new Cl(p[n].textStyle,g,g.ecModel));var h=new Ur({silent:Qm.isLabelSilent(c)});this.group.add(h),nl(h.style,i,{x:a[0],y:a[1],textFill:i.getTextColor()||c.get("axisLine.lineStyle.color"),text:t.formattedLabel,textAlign:l,textVerticalAlign:u}),v&&(h.eventData=Qm.makeAxisEventDataBase(c),h.eventData.targetType="axisLabel",h.eventData.value=t.rawLabel)},this)},_splitLine:function(t,e,i,n,o){var a=t.getModel("splitLine").getModel("lineStyle"),r=a.get("color"),s=0;r=r instanceof Array?r:[r];for(var l=[],u=0;um?"left":"right",h=Math.abs(l[1]-v)/g<.3?"middle":l[1]>v?"top":"bottom"}return{position:l,align:u,verticalAlign:h}}(e,i,0,s,d))}});var JT={line:function(t,e,i,n,o){return"angle"===t.dim?{type:"Line",shape:GI(e.coordToPoint([n[0],i]),e.coordToPoint([n[1],i]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:i}}},shadow:function(t,e,i,n,o){var a=Math.max(1,t.getBandWidth()),r=Math.PI/180;return"angle"===t.dim?{type:"Sector",shape:WI(e.cx,e.cy,n[0],n[1],(-i-a/2)*r,(a/2-i)*r)}:{type:"Sector",shape:WI(e.cx,e.cy,i-a/2,i+a/2,0,2*Math.PI)}}};function QT(n,t){t.update="updateView",_f(t,function(t,e){var i={};return e.eachComponent({mainType:"geo",query:t},function(e){e[n](t.name),R(e.coordinateSystem.regions,function(t){i[t.name]=e.isSelected(t.name)||!1})}),{selected:i,name:t.name}})}mv.registerAxisPointerClass("PolarAxisPointer",$T),bf(T(function(t,e,i){var N={},O=function(t){var g={};R(t,function(t,e){var i=t.getData(),n=t.coordinateSystem,o=n.getBaseAxis(),a=RT(n,o),r=o.getExtent(),s="category"===o.type?o.getBandWidth():Math.abs(r[1]-r[0])/i.count(),l=g[a]||{bandWidth:s,remainedWidth:s,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},u=l.stacks;g[a]=l;var h=OT(t);u[h]||l.autoWidthCount++,u[h]=u[h]||{width:0,maxWidth:0};var c=El(t.get("barWidth"),s),d=El(t.get("barMaxWidth"),s),f=t.get("barGap"),p=t.get("barCategoryGap");c&&!u[h].width&&(c=Math.min(l.remainedWidth,c),u[h].width=c,l.remainedWidth-=c),d&&(u[h].maxWidth=d),null!=f&&(l.gap=f),null!=p&&(l.categoryGap=p)});var d={};return R(g,function(t,i){d[i]={};var e=t.stacks,n=t.bandWidth,o=El(t.categoryGap,n),a=El(t.gap,1),r=t.remainedWidth,s=t.autoWidthCount,l=(r-o)/(s+(s-1)*a);l=Math.max(l,0),R(e,function(t,e){var i=t.maxWidth;i&&i=n.start.time&&i.timea.end.time&&t.reverse(),t},_getRangeInfo:function(t){var e;(t=[this.getDateInfo(t[0]),this.getDateInfo(t[1])])[0].time>t[1].time&&(e=!0,t.reverse());var i=Math.floor(t[1].time/864e5)-Math.floor(t[0].time/864e5)+1,n=new Date(t[0].time),o=n.getDate(),a=t[1].date.getDate();n.setDate(o+i-1);var r=n.getDate();if(r!==a)for(var s=0n.weeks||0===t&&en.lweek)return!1;var o=7*(t-1)-n.fweek+e,a=new Date(n.start.time);return a.setDate(n.start.d+o),this.getDateInfo(a)}},tA.dimensions=tA.prototype.dimensions,tA.getDimensionsInfo=tA.prototype.getDimensionsInfo,tA.create=function(i,n){var o=[];return i.eachComponent("calendar",function(t){var e=new tA(t,i,n);o.push(e),t.coordinateSystem=e}),i.eachSeries(function(t){"calendar"===t.get("coordinateSystem")&&(t.coordinateSystem=o[t.get("calendarIndex")||0])}),o},lh.register("calendar",tA);var iA=ku.extend({type:"calendar",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},init:function(t,e,i,n){var o=Iu(t);iA.superApply(this,"init",arguments),nA(t,o)},mergeOption:function(t,e){iA.superApply(this,"mergeOption",arguments),nA(this.option,t)}});function nA(t,e){var i=t.cellSize;L(i)?1===i.length&&(i[1]=i[0]):i=t.cellSize=[i,i];var n=O([0,1],function(t){return function(t,e){return null!=t[xu[e][0]]||null!=t[xu[e][1]]&&null!=t[xu[e][2]]}(e,t)&&(i[t]="auto"),null!=i[t]&&"auto"!==i[t]});Mu(t,e,{type:"box",ignoreSize:n})}var oA={EN:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],CN:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},aA={EN:["S","M","T","W","T","F","S"],CN:["日","一","二","三","四","五","六"]};Af({type:"calendar",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(t,e,i){var n=this.group;n.removeAll();var o=t.coordinateSystem,a=o.getRangeInfo(),r=o.getOrient();this._renderDayRect(t,a,n),this._renderLines(t,a,r,n),this._renderYearText(t,a,r,n),this._renderMonthText(t,r,n),this._renderWeekText(t,a,r,n)},_renderDayRect:function(t,e,i){for(var n=t.coordinateSystem,o=t.getModel("itemStyle").getItemStyle(),a=n.getCellWidth(),r=n.getCellHeight(),s=e.start.time;s<=e.end.time;s=n.getNextNDay(s,1).time){var l=n.dataToRect([s],!1).tl,u=new rs({shape:{x:l[0],y:l[1],width:a,height:r},cursor:"default",style:o});i.add(u)}},_renderLines:function(i,t,n,o){var a=this,r=i.coordinateSystem,s=i.getModel("splitLine.lineStyle").getLineStyle(),l=i.get("splitLine.show"),e=s.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var u=t.start,h=0;u.time<=t.end.time;h++){d(u.formatedDate),0===h&&(u=r.getDateInfo(t.start.y+"-"+t.start.m));var c=u.date;c.setMonth(c.getMonth()+1),u=r.getDateInfo(c)}function d(t){a._firstDayOfMonth.push(r.getDateInfo(t)),a._firstDayPoints.push(r.dataToRect([t],!1).tl);var e=a._getLinePointsOfOneWeek(i,t,n);a._tlpoints.push(e[0]),a._blpoints.push(e[e.length-1]),l&&a._drawSplitline(e,s,o)}d(r.getNextNDay(t.end.time,1).formatedDate),l&&this._drawSplitline(a._getEdgesPoints(a._tlpoints,e,n),s,o),l&&this._drawSplitline(a._getEdgesPoints(a._blpoints,e,n),s,o)},_getEdgesPoints:function(t,e,i){var n=[t[0].slice(),t[t.length-1].slice()],o="horizontal"===i?0:1;return n[0][o]=n[0][o]-e/2,n[1][o]=n[1][o]+e/2,n},_drawSplitline:function(t,e,i){var n=new ts({z2:20,shape:{points:t},style:e});i.add(n)},_getLinePointsOfOneWeek:function(t,e,i){var n=t.coordinateSystem;e=n.getDateInfo(e);for(var o=[],a=0;a<7;a++){var r=n.getNextNDay(e.time,a),s=n.dataToRect([r.time],!1);o[2*r.day]=s.tl,o[2*r.day+1]=s["horizontal"===i?"bl":"tr"]}return o},_formatterLabel:function(t,e){return"string"==typeof t&&t?uu(t,e):"function"==typeof t?t(e):e.nameMap},_yearTextPositionControl:function(t,e,i,n,o){e=e.slice();var a=["center","bottom"];"bottom"===n?(e[1]+=o,a=["center","top"]):"left"===n?e[0]-=o:"right"===n?(e[0]+=o,a=["center","top"]):e[1]-=o;var r=0;return"left"!==n&&"right"!==n||(r=Math.PI/2),{rotation:r,position:e,style:{textAlign:a[0],textVerticalAlign:a[1]}}},_renderYearText:function(t,e,i,n){var o=t.getModel("yearLabel");if(o.get("show")){var a=o.get("margin"),r=o.get("position");r=r||("horizontal"!==i?"top":"left");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h="horizontal"===i?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},d=e.start.y;+e.end.y>+e.start.y&&(d=d+"-"+e.end.y);var f=o.get("formatter"),p={start:e.start.y,end:e.end.y,nameMap:d},g=this._formatterLabel(f,p),m=new Ur({z2:30});nl(m.style,o,{text:g}),m.attr(this._yearTextPositionControl(m,c[r],i,r,a)),n.add(m)}},_monthTextPositionControl:function(t,e,i,n,o){var a="left",r="top",s=t[0],l=t[1];return"horizontal"===i?(l+=o,e&&(a="center"),"start"===n&&(r="bottom")):(s+=o,e&&(r="middle"),"start"===n&&(a="right")),{x:s,y:l,textAlign:a,textVerticalAlign:r}},_renderMonthText:function(t,e,i){var n=t.getModel("monthLabel");if(n.get("show")){var o=n.get("nameMap"),a=n.get("margin"),r=n.get("position"),s=n.get("align"),l=[this._tlpoints,this._blpoints];E(o)&&(o=oA[o.toUpperCase()]||[]);var u="start"===r?0:1,h="horizontal"===e?0:1;a="start"===r?-a:a;for(var c="center"===s,d=0;dd.getHeight()&&(i.textPosition="top",a=!0);var r=a?-5-n.height:p+8;o+n.width/2>d.getWidth()?(i.textPosition=["100%",r],i.textAlign="right"):o-n.width/2<0&&(i.textPosition=[0,r],i.textAlign="left")}})}function t(t,e){var i,n=m[t],o=m[e],a=u[n],r=new Cl(a,h,h.ecModel);if(l&&null!=l.newTitle&&l.featureName===n&&(a.title=l.newTitle),n&&!o){if(function(t){return 0===t.indexOf("my")}(n))i={model:r,onclick:r.option.onclick,featureName:n};else{var s=fA(n);if(!s)return;i=new s(r,c,d)}g[n]=i}else{if(!(i=g[o]))return;i.model=r,i.ecModel=c,i.api=d}n||!o?r.get("show")&&!i.unusable?(function(o,a,t){var r=o.getModel("iconStyle"),s=o.getModel("emphasis.iconStyle"),e=a.getIcons?a.getIcons():o.get("icon"),l=o.get("title")||{};if("string"==typeof e){var i=e,n=l;l={},(e={})[t]=i,l[t]=n}var u=o.iconPaths={};R(e,function(t,e){var i=yl(t,{},{x:-p/2,y:-p/2,width:p,height:p});i.setStyle(r.getItemStyle()),i.hoverStyle=s.getItemStyle(),i.setStyle({text:l[e],textAlign:s.get("textAlign"),textBorderRadius:s.get("textBorderRadius"),textPadding:s.get("textPadding"),textFill:null});var n=h.getModel("tooltip");n&&n.get("show")&&i.attr("tooltip",P({content:l[e],formatter:n.get("formatter",!0)||function(){return l[e]},formatterParams:{componentType:"toolbox",name:e,title:l[e],$vars:["name","title"]},position:n.get("position",!0)||"bottom"},n.option)),$s(i),h.get("showTitle")&&(i.__title=l[e],i.on("mouseover",function(){var t=s.getItemStyle(),e="vertical"===h.get("orient")?null==h.get("right")?"right":"left":null==h.get("bottom")?"bottom":"top";i.setStyle({textFill:s.get("textFill")||t.fill||t.stroke||"#000",textBackgroundColor:s.get("textBackgroundColor"),textPosition:s.get("textPosition")||e})}).on("mouseout",function(){i.setStyle({textFill:null,textBackgroundColor:null})})),i.trigger(o.get("iconStatus."+e)||"normal"),f.add(i),i.on("click",A(a.onclick,a,c,d,e)),u[e]=i})}(r,i,n),r.setIconStatus=function(t,e){var i=this.option,n=this.iconPaths;i.iconStatus=i.iconStatus||{},i.iconStatus[t]=e,n[t]&&n[t].trigger(e)},i.render&&i.render(r,c,d,l)):i.remove&&i.remove(c,d):i.dispose&&i.dispose(c,d)}},updateView:function(t,e,i,n){R(this._features,function(t){t.updateView&&t.updateView(t.model,e,i,n)})},remove:function(e,i){R(this._features,function(t){t.remove&&t.remove(e,i)}),this.group.removeAll()},dispose:function(e,i){R(this._features,function(t){t.dispose&&t.dispose(e,i)})}});var mA=Oc.toolbox.saveAsImage;function vA(t){this.model=t}vA.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:mA.title,type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:mA.lang.slice()},vA.prototype.unusable=!v.canvasSupported,vA.prototype.onclick=function(t,e){var i=this.model,n=i.get("name")||t.get("title.0.text")||"echarts",o="svg"===e.getZr().painter.getType()?"svg":i.get("type",!0)||"png",a=e.getConnectedDataURL({type:o,backgroundColor:i.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",connectedBackgroundColor:i.get("connectedBackgroundColor"),excludeComponents:i.get("excludeComponents"),pixelRatio:i.get("pixelRatio")});if("function"!=typeof MouseEvent||v.browser.ie||v.browser.edge)if(window.navigator.msSaveOrOpenBlob){for(var r=atob(a.split(",")[1]),s=r.length,l=new Uint8Array(s);s--;)l[s]=r.charCodeAt(s);var u=new Blob([l]);window.navigator.msSaveOrOpenBlob(u,n+"."+o)}else{var h=i.get("lang"),c='';window.open().document.write(c)}else{var d=document.createElement("a");d.download=n+"."+o,d.target="_blank",d.href=a;var f=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});d.dispatchEvent(f)}},dA("saveAsImage",vA);var yA=Oc.toolbox.magicType,xA="__ec_magicType_stack__";function _A(t){this.model=t}_A.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:k(yA.title),option:{},seriesIndex:{}};var wA=_A.prototype;wA.getIcons=function(){var t=this.model,e=t.get("icon"),i={};return R(t.get("type"),function(t){e[t]&&(i[t]=e[t])}),i};var bA={line:function(t,e,i,n){if("bar"===t)return m({id:e,type:"line",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},n.get("option.line")||{},!0)},bar:function(t,e,i,n){if("line"===t)return m({id:e,type:"bar",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},n.get("option.bar")||{},!0)},stack:function(t,e,i,n){var o=i.get("stack")===xA;if("line"===t||"bar"===t)return n.setIconStatus("stack",o?"normal":"emphasis"),m({id:e,stack:o?"":xA},n.get("option.stack")||{},!0)}},SA=[["line","bar"],["stack"]];wA.onclick=function(u,t,h){var c=this.model,e=c.get("seriesIndex."+h);if(bA[h]){var i,d={series:[]};if(R(SA,function(t){0<=_(t,h)&&R(t,function(t){c.setIconStatus(t,"normal")})}),c.setIconStatus(h,"emphasis"),u.eachComponent({mainType:"series",query:null==e?null:{seriesIndex:e}},function(t){var e=t.subType,i=t.id,n=bA[h](e,i,t,c);n&&(D(n,t.option),d.series.push(n));var o=t.coordinateSystem;if(o&&"cartesian2d"===o.type&&("line"===h||"bar"===h)){var a=o.getAxesByScale("ordinal")[0];if(a){var r=a.dim+"Axis",s=u.queryComponents({mainType:r,index:t.get(name+"Index"),id:t.get(name+"Id")})[0].componentIndex;d[r]=d[r]||[];for(var l=0;l<=s;l++)d[r][s]=d[r][s]||{};d[r][s].boundaryGap="bar"===h}}}),"stack"===h)i=d.series&&d.series[0]&&d.series[0].stack===xA?m({stack:yA.title.tiled},yA.title):k(yA.title);t.dispatchAction({type:"changeMagicType",currentType:h,newOption:d,newTitle:i,featureName:"magicType"})}},_f({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(t,e){e.mergeOption(t.newOption)}),dA("magicType",_A);var MA=Oc.toolbox.dataView,IA=new Array(60).join("-"),TA="\t";function AA(t){var e=function(t){var o={},a=[],r=[];return t.eachRawSeries(function(t){var e=t.coordinateSystem;if(!e||"cartesian2d"!==e.type&&"polar"!==e.type)a.push(t);else{var i=e.getBaseAxis();if("category"===i.type){var n=i.dim+"_"+i.index;o[n]||(o[n]={categoryAxis:i,valueAxis:e.getOtherAxis(i),series:[]},r.push({axisDim:i.dim,axisIndex:i.index})),o[n].series.push(t)}else a.push(t)}}),{seriesGroupByCategoryAxis:o,other:a,meta:r}}(t);return{value:M([function(t){var h=[];return R(t,function(t,e){var i=t.categoryAxis,n=t.valueAxis.dim,o=[" "].concat(O(t.series,function(t){return t.name})),a=[i.model.getCategories()];R(t.series,function(t){var e=t.getRawData();a.push(t.getRawData().mapArray(e.mapDimension(n),function(t){return t}))});for(var r=[o.join(TA)],s=0;st[1]&&t.reverse(),t}function GA(t,e){return Ko(t,e,{includeMainTypes:EA})}BA.setOutputRanges=function(t,e){this.matchOutputRanges(t,e,function(t,e,i){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var n=ZA[t.brushType](0,i,e);t.__rangeOffset={offset:XA[t.brushType](n.values,t.range,[1,1]),xyMinMax:n.xyMinMax}}})},BA.matchOutputRanges=function(t,n,o){PA(t,function(i){var t=this.findTargetInfo(i,n);t&&!0!==t&&R(t.coordSyses,function(t){var e=ZA[i.brushType](1,t,i.range);o(i,e.values,t,n)})},this)},BA.setInputRanges=function(t,o){PA(t,function(t){var e=this.findTargetInfo(t,o);if(t.range=t.range||[],e&&!0!==e){t.panelId=e.panelId;var i=ZA[t.brushType](0,e.coordSys,t.coordRange),n=t.__rangeOffset;t.range=n?XA[t.brushType](i.values,n.offset,function(t,e){var i=jA(t),n=jA(e),o=[i[0]/n[0],i[1]/n[1]];return isNaN(o[0])&&(o[0]=1),isNaN(o[1])&&(o[1]=1),o}(i.xyMinMax,n.xyMinMax)):i.values}},this)},BA.makePanelOpts=function(i,n){return O(this._targetInfoList,function(t){var e=t.getPanelRect();return{panelId:t.panelId,defaultBrushType:n&&n(t),clipPath:hS(e),isTargetByCursor:dS(e,i,t.coordSysModel),getLinearBrushOtherExtent:cS(e)}})},BA.controlSeries=function(t,e,i){var n=this.findTargetInfo(t,i);return!0===n||n&&0<=NA(n.coordSyses,e.coordinateSystem)},BA.findTargetInfo=function(t,e){for(var i=this._targetInfoList,n=GA(e,t),o=0;on[1]&&(n[1]=e[1])})}),n[1]c[1];if(r&&!s&&!l)return!0;r&&(n=!0),s&&(e=!0),l&&(i=!0)}return n&&e&&i}):rD(h,function(t){if("empty"===o)i.setData(u=u.map(t,function(t){return function(t){return t>=c[0]&&t<=c[1]}(t)?t:NaN}));else{var e={};e[t]=c,u.selectRange(e)}}),rD(h,function(t){u.setApproximateExtent(c,t)}))})}}};var uD=R,hD=nD,cD=Tf({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(t,e,i){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var n=dD(t);this.settledOption=n,this.mergeDefaultAndTheme(t,i),this.doInit(n)},mergeOption:function(t){var e=dD(t);m(this.option,t,!0),m(this.settledOption,e,!0),this.doInit(e)},doInit:function(t){var i=this.option;v.canvasSupported||(i.realtime=!1),this._setDefaultThrottle(t),fD(this,t);var n=this.settledOption;uD([["start","startValue"],["end","endValue"]],function(t,e){"value"===this._rangePropMode[e]&&(i[t[0]]=n[t[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var r=this._axisProxies;this.eachTargetAxis(function(t,e,i,n){var o=this.dependentModels[t.axis][e],a=o.__dzAxisProxy||(o.__dzAxisProxy=new aD(t.name,e,this,n));r[t.name+"_"+e]=a},this)},_resetTarget:function(){var i=this.option,t=this._judgeAutoMode();hD(function(t){var e=t.axisIndex;i[e]=Vo(i[e])},this),"axisIndex"===t?this._autoSetAxisIndex():"orient"===t&&this._autoSetOrient()},_judgeAutoMode:function(){var e=this.option,i=!1;hD(function(t){null!=e[t.axisIndex]&&(i=!0)},this);var t=e.orient;return null==t&&i?"orient":i?void 0:(null==t&&(e.orient="horizontal"),"axisIndex")},_autoSetAxisIndex:function(){var a=!0,e=this.get("orient",!0),r=this.option,t=this.dependentModels;if(a){var i="vertical"===e?"y":"x";t[i+"Axis"].length?(r[i+"AxisIndex"]=[0],a=!1):uD(t.singleAxis,function(t){a&&t.get("orient",!0)===e&&(r.singleAxisIndex=[t.componentIndex],a=!1)})}a&&hD(function(t){if(a){var e=[],i=this.dependentModels[t.axis];if(i.length&&!e.length)for(var n=0,o=i.length;ne[0][1]&&(e[0][1]=a[0]),a[1]e[1][1]&&(e[1][1]=a[1])}return e&&eC(e)}};function eC(t){return new Di(t[0][0],t[1][0],t[0][1]-t[0][0],t[1][1]-t[1][0])}var iC=["#ddd"];Tf({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel","series"],defaultOption:{toolbox:null,brushLink:null,seriesIndex:"all",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(120,140,180,0.3)",borderColor:"rgba(120,140,180,0.8)"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(t,e){var i=this.option;e||WD(i,t,["inBrush","outOfBrush"]);var n=i.inBrush=i.inBrush||{};i.outOfBrush=i.outOfBrush||{color:iC},n.hasOwnProperty("liftZ")||(n.liftZ=5)},setAreas:function(t){t&&(this.areas=O(t,function(t){return nC(this.option,t)},this))},setBrushOption:function(t){this.brushOption=nC(this.option,t),this.brushType=this.brushOption.brushType}});function nC(t,e){return m({brushType:t.brushType,brushMode:t.brushMode,transformable:t.transformable,brushStyle:new Cl(t.brushStyle).getItemStyle(),removeOnClick:t.removeOnClick,z:t.z},e,!0)}function oC(t,e,i,n){n&&n.$from===t.id||this._brushController.setPanels(t.brushTargetManager.makePanelOpts(i)).enableBrush(t.brushOption).updateCovers(t.areas.slice())}Af({type:"brush",init:function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new Ob(e.getZr())).on("brush",A(this._onBrush,this)).mount()},render:function(t){return this.model=t,oC.apply(this,arguments)},updateTransform:function(t,e){return KD(e),oC.apply(this,arguments)},updateView:oC,dispose:function(){this._brushController.dispose()},_onBrush:function(t,e){var i=this.model.id;this.model.brushTargetManager.setOutputRanges(t,this.ecModel),e.isEnd&&!e.removeOnClick||this.api.dispatchAction({type:"brush",brushId:i,areas:k(t),$from:i}),e.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:i,areas:k(t),$from:i})}}),_f({type:"brush",event:"brush"},function(e,t){t.eachComponent({mainType:"brush",query:e},function(t){t.setAreas(e.areas)})}),_f({type:"brushSelect",event:"brushSelected",update:"none"},function(){}),_f({type:"brushEnd",event:"brushEnd",update:"none"},function(){});var aC=Oc.toolbox.brush;function rC(t,e,i){this.model=t,this.ecModel=e,this.api=i,this._brushType,this._brushMode}rC.defaultOption={show:!0,type:["rect","polygon","lineX","lineY","keep","clear"],icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:k(aC.title)};var sC=rC.prototype;sC.render=sC.updateView=function(e,t,i){var n,o,a;t.eachComponent({mainType:"brush"},function(t){n=t.brushType,o=t.brushOption.brushMode||"single",a|=t.areas.length}),this._brushType=n,this._brushMode=o,R(e.get("type",!0),function(t){e.setIconStatus(t,("keep"===t?"multiple"===o:"clear"===t?a:t===n)?"emphasis":"normal")})},sC.getIcons=function(){var t=this.model,e=t.get("icon",!0),i={};return R(t.get("type",!0),function(t){e[t]&&(i[t]=e[t])}),i},sC.onclick=function(t,e,i){var n=this._brushType,o=this._brushMode;"clear"===i?(e.dispatchAction({type:"axisAreaSelect",intervals:[]}),e.dispatchAction({type:"brush",command:"clear",areas:[]})):e.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===i?n:n!==i&&i,brushMode:"keep"===i?"multiple"===o?"single":"multiple":o}})},dA("brush",rC),yf(function(t,e){var i=t&&t.brush;if(L(i)||(i=i?[i]:[]),i.length){var n=[];R(i,function(t){var e=t.hasOwnProperty("toolbox")?t.toolbox:[];e instanceof Array&&(n=n.concat(e))});var o=t&&t.toolbox;L(o)&&(o=o[0]),o||(o={feature:{}},t.toolbox=[o]);var a=o.feature||(o.feature={}),r=a.brush||(a.brush={}),s=r.type||(r.type=[]);s.push.apply(s,n),function(i){var e={};R(i,function(t){e[t]=1}),i.length=0,R(e,function(t,e){i.push(e)})}(s),e&&!s.length&&s.push.apply(s,BD)}}),Tf({type:"title",layoutMode:{type:"box",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bolder",color:"#333"},subtextStyle:{color:"#aaa"}}}),Af({type:"title",render:function(t,e,i){if(this.group.removeAll(),t.get("show")){var n=this.group,o=t.getModel("textStyle"),a=t.getModel("subtextStyle"),r=t.get("textAlign"),s=H(t.get("textBaseline"),t.get("textVerticalAlign")),l=new Ur({style:nl({},o,{text:t.get("text"),textFill:o.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get("subtext"),c=new Ur({style:nl({},a,{text:h,textFill:a.getTextColor(),y:u.height+t.get("itemGap"),textVerticalAlign:"top"},{disableBox:!0}),z2:10}),d=t.get("link"),f=t.get("sublink"),p=t.get("triggerEvent",!0);l.silent=!d&&!p,c.silent=!f&&!p,d&&l.on("click",function(){gu(d,"_"+t.get("target"))}),f&&c.on("click",function(){gu(f,"_"+t.get("subtarget"))}),l.eventData=c.eventData=p?{componentType:"title",componentIndex:t.componentIndex}:null,n.add(l),h&&n.add(c);var g=n.getBoundingRect(),m=t.getBoxLayoutParams();m.width=g.width,m.height=g.height;var v=bu(m,{width:i.getWidth(),height:i.getHeight()},t.get("padding"));r||("middle"===(r=t.get("left")||t.get("right"))&&(r="center"),"right"===r?v.x+=v.width:"center"===r&&(v.x+=v.width/2)),s||("center"===(s=t.get("top")||t.get("bottom"))&&(s="middle"),"bottom"===s?v.y+=v.height:"middle"===s&&(v.y+=v.height/2),s=s||"top"),n.attr("position",[v.x,v.y]);var y={textAlign:r,textVerticalAlign:s};l.setStyle(y),c.setStyle(y),g=n.getBoundingRect();var x=v.margin,_=t.getItemStyle(["color","opacity"]);_.fill=t.get("backgroundColor");var w=new rs({shape:{x:g.x-x[3],y:g.y-x[0],width:g.width+x[1]+x[3],height:g.height+x[0]+x[2],r:t.get("borderRadius")},style:_,subPixelOptimize:!0,silent:!0});n.add(w)}}});function lC(t){var e=t.itemStyle||(t.itemStyle={}),i=e.emphasis||(e.emphasis={}),n=t.label||t.label||{},o=n.normal||(n.normal={}),a={normal:1,emphasis:1};R(n,function(t,e){a[e]||uC(o,e)||(o[e]=t)}),i.label&&!uC(n,"emphasis")&&(n.emphasis=i.label,delete i.label)}function uC(t,e){return t.hasOwnProperty(e)}ku.registerSubTypeDefaulter("timeline",function(){return"slider"}),_f({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(t,e){var i=e.getComponent("timeline");return i&&null!=t.currentIndex&&(i.setCurrentIndex(t.currentIndex),!i.get("loop",!0)&&i.isIndexMax()&&i.setPlayState(!1)),e.resetOption("timeline"),D({currentIndex:i.option.currentIndex},t)}),_f({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(t,e){var i=e.getComponent("timeline");i&&null!=t.playState&&i.setPlayState(t.playState)});var hC=ku.extend({type:"timeline",layoutMode:"box",defaultOption:{zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},init:function(t,e,i){this._data,this._names,this.mergeDefaultAndTheme(t,i),this._initData()},mergeOption:function(t){hC.superApply(this,"mergeOption",arguments),this._initData()},setCurrentIndex:function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(e<=t&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(t){this.option.autoPlay=!!t},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var t=this.option,e=t.data||[],i=t.axisType,o=this._names=[];if("category"===i){var a=[];R(e,function(t,e){var i,n=Wo(t);z(t)?(i=k(t)).value=e:i=e,a.push(i),E(n)||null!=n&&!isNaN(n)||(n=""),o.push(n+"")}),e=a}var n={category:"ordinal",time:"time"}[i]||"number";(this._data=new Yf([{name:"value",type:n}],this)).initData(e,o)},getData:function(){return this._data},getCategories:function(){if("category"===this.get("axisType"))return this._names.slice()}});b(hC.extend({type:"timeline.slider",defaultOption:{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"emptyCircle",symbolSize:10,lineStyle:{show:!0,width:2,color:"#304654"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#304654"},itemStyle:{color:"#304654",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:13,color:"#c23531",borderWidth:5,borderColor:"rgba(194,53,49, 0.5)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",prevIcon:"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{label:{show:!0,color:"#c23531"},itemStyle:{color:"#c23531"},controlStyle:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}}),Xh);function cC(t,e,i,n){Gg.call(this,t,e,i),this.type=n||"value",this.model=null}var dC=gc.extend({type:"timeline"});cC.prototype={constructor:cC,getLabelModel:function(){return this.model.getModel("label")},isHorizontal:function(){return"horizontal"===this.model.get("orient")}},w(cC,Gg);var fC=A,pC=R,gC=Math.PI;function mC(t,e,i,n,o,a){var r=e.get("color");o?(o.setColor(r),i.add(o),a&&a.onUpdate(o)):((o=wg(t.get("symbol"),-1,-1,2,2,r)).setStyle("strokeNoScale",!0),i.add(o),a&&a.onCreate(o));var s=e.getItemStyle(["color","symbol","symbolSize"]);o.setStyle(s),n=m({rectHover:!0,z2:100},n,!0);var l=t.get("symbolSize");(l=l instanceof Array?l.slice():[+l,+l])[0]/=2,l[1]/=2,n.scale=l;var u=t.get("symbolOffset");if(u){var h=n.position=n.position||[0,0];h[0]+=El(u[0],l[0]),h[1]+=El(u[1],l[1])}var c=t.get("symbolRotate");return n.rotation=(c||0)*Math.PI/180||0,o.attr(n),o.updateTransform(),o}function vC(t,e,i,n,o){if(!t.dragging){var a=n.getModel("checkpointStyle"),r=i.dataToCoord(n.getData().get(["value"],e));o||!a.get("animation",!0)?t.attr({position:[r,0]}):(t.stopAnimation(!0),t.animateTo({position:[r,0]},a.get("animationDuration",!0),a.get("animationEasing",!0)))}}dC.extend({type:"timeline.slider",init:function(t,e){this.api=e,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(e,t,i,n){if(this.model=e,this.api=i,this.ecModel=t,this.group.removeAll(),e.get("show",!0)){var o=this._layout(e,i),a=this._createGroup("mainGroup"),r=this._createGroup("labelGroup"),s=this._axis=this._createAxis(o,e);e.formatTooltip=function(t){return au(s.scale.getLabel(t))},pC(["AxisLine","AxisTick","Control","CurrentPointer"],function(t){this["_render"+t](o,a,s,e)},this),this._renderAxisLabel(o,r,s,e),this._position(o,e)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(t,e){var i=t.get("label.position"),n=t.get("orient"),o=function(t,e){return bu(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},t.get("padding"))}(t,e);null==i||"auto"===i?i="horizontal"===n?o.y+o.height/2n[1]&&(i=n[1]),i":"\n"),s&&(l+=xC(s),null!=a&&(l+=" : ")),null!=a&&(l+=xC(r)),l},getData:function(){return this._data},setData:function(t){this._data=t}});b(wC,Xh),wC.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});var bC=_;function SC(t,e,i,n,o,a){var r=[],s=fp(e,n)?e.getCalculationInfo("stackResultDimension"):n,l=LC(e,s,t),u=e.indicesOfNearest(s,l)[0];r[o]=e.get(i,u),r[a]=e.get(s,u);var h=e.get(n,u),c=Vl(e.get(n,u));return 0<=(c=Math.min(c,20))&&(r[a]=+r[a].toFixed(c)),[r,h]}var MC=T,IC={min:MC(SC,"min"),max:MC(SC,"max"),average:MC(SC,"average")};function TC(t,e){var i=t.getData(),n=t.coordinateSystem;if(e&&!function(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}(e)&&!L(e.coord)&&n){var o=n.dimensions,a=AC(e,i,n,t);if((e=k(e)).type&&IC[e.type]&&a.baseAxis&&a.valueAxis){var r=bC(o,a.baseAxis.dim),s=bC(o,a.valueAxis.dim),l=IC[e.type](i,a.baseDataDim,a.valueDataDim,r,s);e.coord=l[0],e.value=l[1]}else{for(var u=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],h=0;h<2;h++)IC[u[h]]&&(u[h]=LC(i,i.mapDimension(o[h]),u[h]));e.coord=u}}return e}function AC(t,e,i,n){var o={};return null!=t.valueIndex||null!=t.valueDim?(o.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,o.valueAxis=i.getAxis(function(t,e){var i=t.getData(),n=i.dimensions;e=i.getDimension(e);for(var o=0;oi[o],f=[-h.x,-h.y];e||(f[n]=s.position[n]);var p=[0,0],g=[-c.x,-c.y],m=H(t.get("pageButtonGap",!0),t.get("itemGap",!0));d&&("end"===t.get("pageButtonPosition",!0)?g[n]+=i[o]-c[o]:p[n]+=c[o]+m);g[1-n]+=h[a]/2-c[a]/2,s.attr("position",f),l.attr("position",p),u.attr("position",g);var v={x:0,y:0};if(v[o]=d?i[o]:h[o],v[a]=Math.max(h[a],c[a]),v[r]=Math.min(0,c[r]+g[1-n]),l.__rectSize=i[o],d){var y={x:0,y:0};y[o]=Math.max(i[o]-c[o]-m,0),y[a]=v[a],l.setClipPath(new rs({shape:y})),l.__rectSize=y[o]}else u.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var x=this._getPageInfo(t);return null!=x.pageIndex&&cl(s,{position:x.contentPosition},d&&t),this._updatePageInfoView(t,x),v},_pageGo:function(t,e,i){var n=this._getPageInfo(e)[t];null!=n&&i.dispatchAction({type:"legendScroll",scrollDataIndex:n,legendId:e.id})},_updatePageInfoView:function(n,o){var a=this._controllerGroup;R(["pagePrev","pageNext"],function(t){var e=null!=o[t+"DataIndex"],i=a.childOfName(t);i&&(i.setStyle("fill",e?n.get("pageIconColor",!0):n.get("pageIconInactiveColor",!0)),i.cursor=e?"pointer":"default")});var t=a.childOfName("pageText"),e=n.get("pageFormatter"),i=o.pageIndex,r=null!=i?i+1:0,s=o.pageCount;t&&e&&t.setStyle("text",E(e)?e.replace("{current}",r).replace("{total}",s):e({current:r,total:s}))},_getPageInfo:function(t){var e=t.get("scrollDataIndex",!0),i=this.getContentGroup(),n=this._containerGroup.__rectSize,o=t.getOrient().index,a=aL[o],r=rL[o],s=this._findTargetItemIndex(e),l=i.children(),u=l[s],h=l.length,c=h?1:0,d={contentPosition:i.position.slice(),pageCount:c,pageIndex:c-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!u)return d;var f=y(u);d.contentPosition[o]=-f.s;for(var p=s+1,g=f,m=f,v=null;p<=h;++p)(!(v=y(l[p]))&&m.e>g.s+n||v&&!x(v,g.s))&&(g=m.i>g.i?m:v)&&(null==d.pageNextDataIndex&&(d.pageNextDataIndex=g.i),++d.pageCount),m=v;for(p=s-1,g=f,m=f,v=null;-1<=p;--p)(v=y(l[p]))&&x(m,v.s)||!(g.i=e&&t.s<=e+n}},_findTargetItemIndex:function(n){return this._showController?(this.getContentGroup().eachChild(function(t,e){var i=t.__legendDataIndex;null==a&&null!=i&&(a=e),i===n&&(o=e)}),null!=o?o:a):0;var o,a}});_f("legendScroll","legendscroll",function(t,e){var i=t.scrollDataIndex;null!=i&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},function(t){t.setScrollDataIndex(i)})});cD.extend({type:"dataZoom.slider",layoutMode:"box",defaultOption:{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#2f4554",width:.5,opacity:.3},areaStyle:{color:"rgba(47,69,84,0.3)",opacity:.3}},borderColor:"#ddd",fillerColor:"rgba(167,183,204,0.4)",handleIcon:"M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z",handleSize:"100%",handleStyle:{color:"#a7b7cc"},labelPrecision:null,labelFormatter:null,showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#333"}}});var lL=rs,uL=Rl,hL=Bl,cL=A,dL=R,fL="horizontal",pL="vertical",gL=["line","bar","candlestick","scatter"],mL=pD.extend({type:"dataZoom.slider",init:function(t,e){this._displayables={},this._orient,this._range,this._handleEnds,this._size,this._handleWidth,this._handleHeight,this._location,this._dragging,this._dataShadowInfo,this.api=e},render:function(t,e,i,n){mL.superApply(this,"render",arguments),kc(this,"_dispatchZoomAction",this.dataZoomModel.get("throttle"),"fixRate"),this._orient=t.get("orient"),!1!==this.dataZoomModel.get("show")?(n&&"dataZoom"===n.type&&n.from===this.uid||this._buildView(),this._updateView()):this.group.removeAll()},remove:function(){mL.superApply(this,"remove",arguments),Pc(this,"_dispatchZoomAction")},dispose:function(){mL.superApply(this,"dispose",arguments),Pc(this,"_dispatchZoomAction")},_buildView:function(){var t=this.group;t.removeAll(),this._resetLocation(),this._resetInterval();var e=this._displayables.barGroup=new Ci;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},_resetLocation:function(){var t=this.dataZoomModel,e=this.api,i=this._findCoordRect(),n={width:e.getWidth(),height:e.getHeight()},o=this._orient===fL?{right:n.width-i.x-i.width,top:n.height-30-7,width:i.width,height:30}:{right:7,top:i.y,width:30,height:i.height},a=Iu(t.option);R(["right","top","width","height"],function(t){"ph"===a[t]&&(a[t]=o[t])});var r=bu(a,n,t.padding);this._location={x:r.x,y:r.y},this._size=[r.width,r.height],this._orient===pL&&this._size.reverse()},_positionGroup:function(){var t=this.group,e=this._location,i=this._orient,n=this.dataZoomModel.getFirstTargetAxisModel(),o=n&&n.get("inverse"),a=this._displayables.barGroup,r=(this._dataShadowInfo||{}).otherAxisInverse;a.attr(i!==fL||o?i===fL&&o?{scale:r?[-1,1]:[-1,-1]}:i!==pL||o?{scale:r?[-1,-1]:[-1,1],rotation:Math.PI/2}:{scale:r?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:r?[1,1]:[1,-1]});var s=t.getBoundingRect([a]);t.attr("position",[e.x-s.x,e.y-s.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var t=this.dataZoomModel,e=this._size,i=this._displayables.barGroup;i.add(new lL({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get("backgroundColor")},z2:-40})),i.add(new lL({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:"transparent"},z2:0,onclick:A(this._onClickPanelClick,this)}))},_renderDataShadow:function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(t){var e=this._size,i=t.series,n=i.getRawData(),o=i.getShadowDim?i.getShadowDim():t.otherDim;if(null!=o){var a=n.getDataExtent(o),r=.3*(a[1]-a[0]);a=[a[0]-r,a[1]+r];var s,l=[0,e[1]],u=[0,e[0]],h=[[e[0],0],[0,0]],c=[],d=u[1]/(n.count()-1),f=0,p=Math.round(n.count()/e[0]);n.each([o],function(t,e){if(0e[0]||i[1]<0||i[1]>e[1])){var n=this._handleEnds,o=(n[0]+n[1])/2,a=this._updateInterval("all",i[0]-o);this._updateView(),a&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var t=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:t[0],end:t[1]})},_findCoordRect:function(){var i;if(dL(this.getTargetCoordInfo(),function(t){if(!i&&t.length){var e=t[0].model.coordinateSystem;i=e.getRect&&e.getRect()}}),!i){var t=this.api.getWidth(),e=this.api.getHeight();i={x:.2*t,y:.2*e,width:.6*t,height:.6*e}}return i}});function vL(t){return"vertical"===t?"ns-resize":"ew-resize"}cD.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}});var yL="\0_ec_dataZoom_roams";function xL(t,n){var e=wL(t),o=n.dataZoomId,a=n.coordId;R(e,function(t,e){var i=t.dataZoomInfos;i[o]&&_(n.allCoordIds,a)<0&&(delete i[o],t.count--)}),bL(e);var i=e[a];i||((i=e[a]={coordId:a,dataZoomInfos:{},count:0}).controller=function(t,r){var e=new Vy(t.getZr());return R(["pan","zoom","scrollMove"],function(a){e.on(a,function(n){var o=[];R(r.dataZoomInfos,function(t){if(n.isAvailableBehavior(t.dataZoomModel.option)){var e=(t.getRange||{})[a],i=e&&e(r.controller,n);!t.dataZoomModel.get("disabled",!0)&&i&&o.push({dataZoomId:t.dataZoomId,start:i[0],end:i[1]})}}),o.length&&r.dispatchAction(o)})}),e}(t,i),i.dispatchAction=T(SL,t)),i.dataZoomInfos[o]||i.count++,i.dataZoomInfos[o]=n;var r=function(t){var n,o={type_true:2,type_move:1,type_false:0,type_undefined:-1},a=!0;return R(t,function(t){var e=t.dataZoomModel,i=!e.get("disabled",!0)&&(!e.get("zoomLock",!0)||"move");o["type_"+n]"],L(t)&&(t=t.slice(),n=!0),o=e?t:n?[u(t[0]),u(t[1])]:u(t),E(l)?l.replace("{value}",n?o[0]:o).replace("{value2}",n?o[1]:o):C(l)?n?l(t[0],t[1]):l(t):n?t[0]===s[0]?i[0]+" "+o[1]:t[1]===s[1]?i[1]+" "+o[0]:o[0]+" - "+o[1]:o;function u(t){return t===s[0]?"min":t===s[1]?"max":(+t).toFixed(Math.min(r,20))}},resetExtent:function(){var t=this.option,e=GL([t.min,t.max]);this._dataExtent=e},getDataDimension:function(t){var e=this.option.dimension,i=t.dimensions;if(null!=e||i.length){if(null!=e)return t.getDimension(e);for(var n=t.dimensions,o=n.length-1;0<=o;o--){var a=n[o];if(!t.getDimensionInfo(a).isCalculationCoord)return a}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){var t=this.ecModel,e=this.option,i={inRange:e.inRange,outOfRange:e.outOfRange},n=e.target||(e.target={}),o=e.controller||(e.controller={});m(n,i),m(o,i);var u=this.isCategory();function a(n){BL(e.color)&&!n.inRange&&(n.inRange={color:e.color.slice().reverse()}),n.inRange=n.inRange||{color:t.get("gradientColor")},VL(this.stateList,function(t){var e=n[t];if(E(e)){var i=OL(e,"active",u);i?(n[t]={},n[t][e]=i):delete n[t]}},this)}a.call(this,n),a.call(this,o),function(t,e,i){var n=t[e],o=t[i];n&&!o&&(o=t[i]={},VL(n,function(t,e){if(g_.isValidType(e)){var i=OL(e,"inactive",u);null!=i&&(o[e]=i,"color"!==e||o.hasOwnProperty("opacity")||o.hasOwnProperty("colorAlpha")||(o.opacity=[0,0]))}}))}.call(this,n,"inRange","outOfRange"),function(a){var r=(a.inRange||{}).symbol||(a.outOfRange||{}).symbol,s=(a.inRange||{}).symbolSize||(a.outOfRange||{}).symbolSize,l=this.get("inactiveColor");VL(this.stateList,function(t){var e=this.itemSize,i=a[t];null==(i=i||(a[t]={color:u?l:[l]})).symbol&&(i.symbol=r&&k(r)||(u?"roundRect":["roundRect"])),null==i.symbolSize&&(i.symbolSize=s&&k(s)||(u?e[0]:[e[0],e[0]])),i.symbol=EL(i.symbol,function(t){return"none"===t||"square"===t?"roundRect":t});var n=i.symbolSize;if(null!=n){var o=-1/0;zL(n,function(t){oe[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},completeVisualOption:function(){WL.prototype.completeVisualOption.apply(this,arguments),R(this.stateList,function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=0)},this)},setSelected:function(t){this.option.range=t.slice(),this._resetRange()},getSelected:function(){var t=this.getExtent(),e=Bl((this.get("range")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]=i[1]||t<=e[1])?"inRange":"outOfRange"},findTargetDataIndices:function(n){var o=[];return this.eachTargetSeries(function(t){var i=[],e=t.getData();e.each(this.getDataDimension(e),function(t,e){n[0]<=t&&t<=n[1]&&i.push(e)},this),o.push({seriesId:t.id,dataIndex:i})},this),o},getVisualMeta:function(i){var t=UL(this,"outOfRange",this.getExtent()),e=UL(this,"inRange",this.option.range.slice()),n=[];function o(t,e){n.push({value:t,color:i(t,e)})}for(var a=0,r=0,s=e.length,l=t.length;rt[1])break;i.push({color:this.getControllerVisual(a,"color",e),offset:o/100})}return i.push({color:this.getControllerVisual(t[1],"color",e),offset:1}),i},_createBarPoints:function(t,e){var i=this.visualMapModel.itemSize;return[[i[0]-e[0],t[0]],[i[0],t[0]],[i[0],t[1]],[i[0]-e[1],t[1]]]},_createBarGroup:function(t){var e=this._orient,i=this.visualMapModel.get("inverse");return new Ci("horizontal"!==e||i?"horizontal"===e&&i?{scale:"bottom"===t?[-1,1]:[1,1],rotation:-Math.PI/2}:"vertical"!==e||i?{scale:"left"===t?[1,1]:[-1,1]}:{scale:"left"===t?[1,-1]:[-1,-1]}:{scale:"bottom"===t?[1,1]:[-1,1],rotation:Math.PI/2})},_updateHandle:function(n,o){if(this._useHandle){var a=this._shapes,r=this.visualMapModel,s=a.handleThumbs,l=a.handleLabels;KL([0,1],function(t){var e=s[t];e.setStyle("fill",o.handlesColor[t]),e.position[1]=n[t];var i=pl(a.handleLabelPoints[t],fl(e,this.group));l[t].setStyle({x:i[0],y:i[1],text:r.formatValueText(this._dataInterval[t]),textVerticalAlign:"middle",textAlign:this._applyTransform("horizontal"===this._orient?0===t?"bottom":"top":"left",a.barGroup)})},this)}},_showIndicator:function(t,e,i,n){var o=this.visualMapModel,a=o.getExtent(),r=o.itemSize,s=[0,r[1]],l=qL(t,a,s,!0),u=this._shapes,h=u.indicator;if(h){h.position[1]=l,h.attr("invisible",!1),h.setShape("points",function(t,e,i,n){return t?[[0,-$L(e,JL(i,0))],[6,0],[0,$L(e,JL(n-i,0))]]:[[0,0],[5,-5],[5,5]]}(!!i,n,l,r[1]));var c=this.getControllerVisual(t,"color",{convertOpacityToAlpha:!0});h.setStyle("fill",c);var d=pl(u.indicatorLabelPoint,fl(h,this.group)),f=u.indicatorLabel;f.attr("invisible",!1);var p=this._applyTransform("left",u.barGroup),g=this._orient;f.setStyle({text:(i||"")+o.formatValueText(e),textVerticalAlign:"horizontal"===g?p:"middle",textAlign:"horizontal"===g?"center":p,x:d[0],y:d[1]})}},_enableHoverLinkToSeries:function(){var n=this;this._shapes.barGroup.on("mousemove",function(t){if(n._hovering=!0,!n._dragging){var e=n.visualMapModel.itemSize,i=n._applyTransform([t.offsetX,t.offsetY],n._shapes.barGroup,!0,!0);i[1]=$L(JL(0,i[1]),e[1]),n._doHoverLinkToSeries(i[1],0<=i[0]&&i[0]<=e[0])}}).on("mouseout",function(){n._hovering=!1,n._dragging||n._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),t.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(t,e){var i=this.visualMapModel,n=i.itemSize;if(i.option.hoverLink){var o=[0,n[1]],a=i.getExtent();t=$L(JL(o[0],t),o[1]);var r=function(t,e,i){var n=6,o=t.get("hoverLinkDataSize");o&&(n=qL(o,e,i,!0)/2);return n}(i,a,o),s=[t-r,t+r],l=qL(t,o,a,!0),u=[qL(s[0],o,a,!0),qL(s[1],o,a,!0)];s[0] ",r):this._showIndicator(l,l,"≈ ",r));var h=this._hoverLinkDataIndices,c=[];(e||ek(i))&&(c=this._hoverLinkDataIndices=i.findTargetDataIndices(u));var d=function(t,e){var i={},n={};return o(t||[],i),o(e||[],n,i),[a(i),a(n)];function o(t,e,i){for(var n=0,o=t.length;ni&&n([i,e[0]],"outOfRange"),n(e.slice()),i=e[1])},this),{stops:a,outerColors:r}}function n(t,e){var i=s.getRepresentValue({interval:t});e=e||s.getValueState(i);var n=o(i,e);t[0]===-1/0?r[0]=n:t[1]===1/0?r[1]=n:a.push({value:t[0],color:n},{value:t[1],color:n})}}}),ok={splitNumber:function(){var t=this.option,e=this._pieceList,i=Math.min(t.precision,20),n=this.getExtent(),o=t.splitNumber;o=Math.max(parseInt(o,10),1),t.splitNumber=o;for(var a=(n[1]-n[0])/o;+a.toFixed(i)!==a&&i<5;)i++;t.precision=i,a=+a.toFixed(i),t.minOpen&&e.push({interval:[-1/0,n[0]],close:[0,0]});for(var r=0,s=n[0];r","≥"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,i)},this)}};function ak(t,e){var i=t.inverse;("vertical"===t.orient?!i:i)&&e.reverse()}XL.extend({type:"visualMap.piecewise",doRender:function(){var a=this.group;a.removeAll();var r=this.visualMapModel,s=r.get("textGap"),t=r.textStyleModel,l=t.getFont(),u=t.getTextColor(),h=this._getItemAlign(),c=r.itemSize,e=this._getViewData(),i=e.endsText,d=W(r.get("showLabel",!0),!i);i&&this._renderEndsText(a,i[0],c,d,h),R(e.viewPieceList,function(t){var e=t.piece,i=new Ci;i.onclick=A(this._onItemClick,this,e),this._enableHoverLink(i,t.indexInModelPieceList);var n=r.getRepresentValue(e);if(this._createItemSymbol(i,n,[0,0,c[0],c[1]]),d){var o=this.visualMapModel.getValueState(n);i.add(new Ur({style:{x:"right"===h?-s:c[0]+s,y:c[1]/2,text:e.text,textVerticalAlign:"middle",textAlign:h,textFont:l,textFill:u,opacity:"outOfRange"===o?.5:1}}))}a.add(i)},this),i&&this._renderEndsText(a,i[1],c,d,h),wu(r.get("orient"),a,r.get("itemGap")),this.renderBackground(a),this.positionGroup(a)},_enableHoverLink:function(t,i){function e(t){var e=this.visualMapModel;e.option.hoverLink&&this.api.dispatchAction({type:t,batch:jL(e.findTargetDataIndices(i),e)})}t.on("mouseover",A(e,this,"highlight")).on("mouseout",A(e,this,"downplay"))},_getItemAlign:function(){var t=this.visualMapModel,e=t.option;if("vertical"===e.orient)return YL(t,this.api,t.itemSize);var i=e.align;return i&&"auto"!==i||(i="left"),i},_renderEndsText:function(t,e,i,n,o){if(e){var a=new Ci,r=this.visualMapModel.textStyleModel;a.add(new Ur({style:{x:n?"right"===o?i[0]:0:i[0]/2,y:i[1]/2,textVerticalAlign:"middle",textAlign:n?o:"center",text:e,textFont:r.getFont(),textFill:r.getTextColor()}})),t.add(a)}},_getViewData:function(){var t=this.visualMapModel,e=O(t.getPieceList(),function(t,e){return{piece:t,indexInModelPieceList:e}}),i=t.get("text"),n=t.get("orient"),o=t.get("inverse");return("horizontal"===n?o:!o)?e.reverse():i=i&&i.slice().reverse(),{viewPieceList:e,endsText:i}},_createItemSymbol:function(t,e,i){t.add(wg(this.getControllerVisual(e,"symbol"),i[0],i[1],i[2],i[3],this.getControllerVisual(e,"color")))},_onItemClick:function(t){var e=this.visualMapModel,i=e.option,n=k(i.selected),o=e.getSelectedMapKey(t);"single"===i.selectedMode?(n[o]=!0,R(n,function(t,e){n[e]=e===o})):n[o]=!n[o],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:n})}});yf(DL);var rk,sk="urn:schemas-microsoft-com:vml",lk="undefined"==typeof window?null:window,uk=!1,hk=lk&&lk.document;function ck(t){return rk(t)}if(hk&&!v.canvasSupported)try{hk.namespaces.zrvml||hk.namespaces.add("zrvml",sk),rk=function(t){return hk.createElement("')}}catch(t){rk=function(t){return hk.createElement("<"+t+' xmlns="'+sk+'" class="zrvml">')}}var dk,fk=rr.CMD,pk=Math.round,gk=Math.sqrt,mk=Math.abs,vk=Math.cos,yk=Math.sin,xk=Math.max;if(!v.canvasSupported){var _k=",",wk="progid:DXImageTransform.Microsoft",bk=21600,Sk=bk/2,Mk=function(t){t.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",t.coordsize=bk+","+bk,t.coordorigin="0,0"},Ik=function(t,e,i){return"rgb("+[t,e,i].join(",")+")"},Tk=function(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)},Ak=function(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)},Dk=function(t,e,i){return 1e5*(parseFloat(t)||0)+1e3*(parseFloat(e)||0)+i},Ck=Yn,Lk=function(t,e,i){var n=Fe(e);i=+i,isNaN(i)&&(i=1),n&&(t.color=Ik(n[0],n[1],n[2]),t.opacity=i*n[3])},kk=function(t,e,i,n){var o="fill"===e,a=t.getElementsByTagName(e)[0];null!=i[e]&&"none"!==i[e]&&(o||!o&&i.lineWidth)?(t[o?"filled":"stroked"]="true",i[e]instanceof cs&&Ak(t,a),a=a||ck(e),o?function(t,e,i){var n,o,a=e.fill;if(null!=a)if(a instanceof cs){var r,s=0,l=[0,0],u=0,h=1,c=i.getBoundingRect(),d=c.width,f=c.height;if("linear"===a.type){r="gradient";var p=i.transform,g=[a.x*d,a.y*f],m=[a.x2*d,a.y2*f];p&&(bt(g,g,p),bt(m,m,p));var v=m[0]-g[0],y=m[1]-g[1];(s=180*Math.atan2(v,y)/Math.PI)<0&&(s+=360),s<1e-6&&(s=0)}else{r="gradientradial";g=[a.x*d,a.y*f],p=i.transform;var x=i.scale,_=d,w=f;l=[(g[0]-c.x)/_,(g[1]-c.y)/w],p&&bt(g,g,p),_/=x[0]*bk,w/=x[1]*bk;var b=xk(_,w);u=0/b,h=2*a.r/b-u}var S=a.colorStops.slice();S.sort(function(t,e){return t.offset-e.offset});for(var M=S.length,I=[],T=[],A=0;A=c&&d<=i+1){for(var n=[],o=0;o=c&&d<=o+1)return _P(h,e.components,u,l);p[t]=e}else p[t]=void 0}var s;f++}for(;f<=e;){var r=a();if(r)return r}},pushComponent:function(t,e,i){var n=t[t.length-1];n&&n.added===e&&n.removed===i?t[t.length-1]={count:n.count+1,added:e,removed:i}:t.push({count:1,added:e,removed:i})},extractCommon:function(t,e,i,n){for(var o=e.length,a=i.length,r=t.newPos,s=r-n,l=0;r+1\n\r<"))}},R(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","pathToImage"],function(t){OP.prototype[t]=function(t){return function(){vi('In SVG mode painter not support method "'+t+'"')}}(t)}),Po("svg",OP),t.version="4.9.0",t.dependencies={zrender:"4.3.2"},t.PRIORITY=Ld,t.init=function(t,e,i){var n=mf(t);if(n)return n;var o=new Ed(t,e,i);return o.id="ec_"+cf++,uf[o.id]=o,Jo(t,ff,o.id),function(n){var o="__connectUpdateStatus";function a(t,e){for(var i=0;iS}5Mv`Nn`_*3$s4b%hb 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 literal 0 HcmV?d00001